summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-12-18 06:05:55 +0000
committerDavid Robillard <d@drobilla.net>2007-12-18 06:05:55 +0000
commit35fc31a1de83f59d9b00e92e8e7111865983e378 (patch)
tree2e6a8b2954e27f3fd3186a34e5dbcc2fdcbae208 /libs
parent0e31c565916508ceb8cb9511299e8439193b8dd1 (diff)
Remove ancient/unused flowcanvas and libglademm from repository.
Update libraries to latest stable released version (except gnomecanvasmm, which is strangely packaged...). Fixes building (at least here). git-svn-id: svn://localhost/ardour2/trunk@2790 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/cairomm/ChangeLog240
-rw-r--r--libs/cairomm/MSVC/Makefile.am3
-rw-r--r--libs/cairomm/MSVC/Makefile.in (renamed from libs/glibmm2/MSVC_Net2003/Makefile.in)81
-rw-r--r--libs/cairomm/MSVC/README12
-rw-r--r--libs/cairomm/MSVC/blank.cpp (renamed from libs/glibmm2/MSVC_Net2003/blank.cpp)0
-rw-r--r--libs/cairomm/MSVC/cairomm.sln73
-rw-r--r--libs/cairomm/MSVC/cairomm/Makefile.am5
-rw-r--r--libs/cairomm/MSVC/cairomm/Makefile.in350
-rw-r--r--libs/cairomm/MSVC/cairomm/cairomm.rc (renamed from libs/glibmm2/MSVC_Net2003/glibmm/glibmm.rc)144
-rw-r--r--libs/cairomm/MSVC/cairomm/cairomm.rc.in72
-rw-r--r--libs/cairomm/MSVC/cairomm/cairomm.vcproj310
-rw-r--r--libs/cairomm/MSVC/examples/Makefile.am1
-rw-r--r--libs/cairomm/MSVC/examples/Makefile.in (renamed from libs/glibmm2/MSVC_Net2003/tests/Makefile.in)79
-rw-r--r--libs/cairomm/MSVC/examples/pdf-surface/Makefile.am1
-rw-r--r--libs/cairomm/MSVC/examples/pdf-surface/Makefile.in (renamed from libs/glibmm2/MSVC_Net2003/examples/thread/Makefile.in)79
-rw-r--r--[-rwxr-xr-x]libs/cairomm/MSVC/examples/pdf-surface/pdf-surface.vcproj (renamed from libs/glibmm2/MSVC_Net2003/examples/dispatcher/dispatcher.vcproj)426
-rw-r--r--libs/cairomm/MSVC/examples/png_file/Makefile.am1
-rw-r--r--libs/cairomm/MSVC/examples/png_file/Makefile.in (renamed from libs/glibmm2/MSVC_Net2003/examples/markup/Makefile.in)79
-rw-r--r--[-rwxr-xr-x]libs/cairomm/MSVC/examples/png_file/png_file.vcproj (renamed from libs/glibmm2/MSVC_Net2003/examples/markup/markup.vcproj)425
-rw-r--r--libs/cairomm/MSVC/examples/ps-surface/Makefile.am1
-rw-r--r--libs/cairomm/MSVC/examples/ps-surface/Makefile.in (renamed from libs/glibmm2/MSVC_Net2003/examples/options/Makefile.in)79
-rw-r--r--[-rwxr-xr-x]libs/cairomm/MSVC/examples/ps-surface/ps-surface.vcproj (renamed from libs/glibmm2/MSVC_Net2003/examples/options/options.vcproj)426
-rw-r--r--libs/cairomm/MSVC/examples/svg-surface/Makefile.am1
-rw-r--r--libs/cairomm/MSVC/examples/svg-surface/Makefile.in340
-rw-r--r--[-rwxr-xr-x]libs/cairomm/MSVC/examples/svg-surface/svg-surface.vcproj (renamed from libs/glibmm2/MSVC_Net2003/examples/thread/thread.vcproj)425
-rw-r--r--libs/cairomm/MSVC/examples/text-rotate/Makefile.am1
-rw-r--r--libs/cairomm/MSVC/examples/text-rotate/Makefile.in340
-rw-r--r--libs/cairomm/MSVC/examples/text-rotate/text-rotate.vcproj213
-rw-r--r--libs/cairomm/MSVC/gendef/Makefile.am (renamed from libs/glibmm2/MSVC_Net2003/gendef/Makefile.am)0
-rw-r--r--libs/cairomm/MSVC/gendef/Makefile.in (renamed from libs/glibmm2/MSVC_Net2003/gendef/Makefile.in)77
-rw-r--r--[-rwxr-xr-x]libs/cairomm/MSVC/gendef/gendef.cc (renamed from libs/glibmm2/MSVC_Net2003/gendef/gendef.cc)0
-rw-r--r--[-rwxr-xr-x]libs/cairomm/MSVC/gendef/gendef.vcproj (renamed from libs/glibmm2/MSVC_Net2003/gendef/gendef.vcproj)412
-rw-r--r--libs/cairomm/Makefile.am14
-rw-r--r--libs/cairomm/Makefile.in49
-rw-r--r--libs/cairomm/NEWS26
-rw-r--r--libs/cairomm/aclocal.m4586
-rw-r--r--libs/cairomm/cairomm/Makefile.am4
-rw-r--r--libs/cairomm/cairomm/Makefile.in85
-rw-r--r--libs/cairomm/cairomm/cairommconfig.h.in73
-rw-r--r--libs/cairomm/cairomm/context.cc148
-rw-r--r--libs/cairomm/cairomm/context.h47
-rw-r--r--libs/cairomm/cairomm/enums.h5
-rw-r--r--libs/cairomm/cairomm/pattern.cc67
-rw-r--r--libs/cairomm/cairomm/pattern.h103
-rw-r--r--libs/cairomm/cairomm/private.cc25
-rw-r--r--libs/cairomm/cairomm/private.h4
-rw-r--r--libs/cairomm/cairomm/quartz_surface.cc60
-rw-r--r--libs/cairomm/cairomm/quartz_surface.h88
-rw-r--r--libs/cairomm/cairomm/refptr.h34
-rw-r--r--libs/cairomm/cairomm/scaledfont.h3
-rw-r--r--libs/cairomm/cairomm/surface.h1
-rwxr-xr-x[-rw-r--r--]libs/cairomm/config.guess78
-rwxr-xr-x[-rw-r--r--]libs/cairomm/config.sub109
-rwxr-xr-x[-rw-r--r--]libs/cairomm/configure8862
-rw-r--r--libs/cairomm/configure.in51
-rwxr-xr-x[-rw-r--r--]libs/cairomm/depcomp0
-rwxr-xr-x[-rw-r--r--]libs/cairomm/install-sh458
-rw-r--r--libs/cairomm/ltmain.sh233
-rw-r--r--libs/cairomm/m4/ax_boost_base.m4198
-rw-r--r--libs/cairomm/m4/ax_boost_unit_test_framework.m4138
-rw-r--r--libs/cairomm/m4/reduced.m420
-rwxr-xr-x[-rw-r--r--]libs/cairomm/missing210
-rw-r--r--libs/cairomm/mkinstalldirs40
-rw-r--r--libs/cairomm/tests/Makefile.am19
-rw-r--r--libs/cairomm/tests/Makefile.in (renamed from libs/glibmm2/examples/child_watch/Makefile.in)247
-rw-r--r--libs/cairomm/tests/test-context.cc349
-rw-r--r--libs/flowcanvas/AUTHORS4
-rw-r--r--libs/flowcanvas/ChangeLog1
-rw-r--r--libs/flowcanvas/Doxyfile1153
-rw-r--r--libs/flowcanvas/NEWS4
-rw-r--r--libs/flowcanvas/README1
-rw-r--r--libs/flowcanvas/SConscript47
-rw-r--r--libs/flowcanvas/doc/port_offsets.diabin1324 -> 0 bytes
-rw-r--r--libs/flowcanvas/flowcanvas/Connection.h72
-rw-r--r--libs/flowcanvas/flowcanvas/FlowCanvas.h152
-rw-r--r--libs/flowcanvas/flowcanvas/Module.h128
-rw-r--r--libs/flowcanvas/flowcanvas/Port.h102
-rw-r--r--libs/flowcanvas/src/Connection.cpp679
-rw-r--r--libs/flowcanvas/src/FlowCanvas.cpp884
-rw-r--r--libs/flowcanvas/src/Module.cpp472
-rw-r--r--libs/flowcanvas/src/Port.cpp189
-rw-r--r--libs/glibmm2/ChangeLog367
-rw-r--r--libs/glibmm2/INSTALL50
-rw-r--r--libs/glibmm2/MSVC_Net2003/Makefile507
-rw-r--r--libs/glibmm2/MSVC_Net2003/Makefile.am3
-rw-r--r--libs/glibmm2/MSVC_Net2003/README13
-rw-r--r--libs/glibmm2/MSVC_Net2003/examples/Makefile506
-rw-r--r--libs/glibmm2/MSVC_Net2003/examples/Makefile.am3
-rw-r--r--libs/glibmm2/MSVC_Net2003/examples/dispatcher/Makefile349
-rw-r--r--libs/glibmm2/MSVC_Net2003/examples/dispatcher/Makefile.am1
-rw-r--r--libs/glibmm2/MSVC_Net2003/examples/dispatcher2/Makefile349
-rw-r--r--libs/glibmm2/MSVC_Net2003/examples/dispatcher2/Makefile.am1
-rw-r--r--libs/glibmm2/MSVC_Net2003/examples/markup/Makefile349
-rw-r--r--libs/glibmm2/MSVC_Net2003/examples/markup/Makefile.am1
-rw-r--r--libs/glibmm2/MSVC_Net2003/examples/options/Makefile349
-rw-r--r--libs/glibmm2/MSVC_Net2003/examples/options/Makefile.am1
-rw-r--r--libs/glibmm2/MSVC_Net2003/examples/thread/Makefile349
-rw-r--r--libs/glibmm2/MSVC_Net2003/examples/thread/Makefile.am1
-rw-r--r--libs/glibmm2/MSVC_Net2003/examples/thread_pool/Makefile349
-rw-r--r--libs/glibmm2/MSVC_Net2003/examples/thread_pool/Makefile.am1
-rw-r--r--libs/glibmm2/MSVC_Net2003/gendef/Makefile349
-rwxr-xr-xlibs/glibmm2/MSVC_Net2003/glibmm.sln89
-rw-r--r--libs/glibmm2/MSVC_Net2003/glibmm/Makefile366
-rwxr-xr-xlibs/glibmm2/MSVC_Net2003/glibmm/glibmm.vcproj612
-rw-r--r--libs/glibmm2/MSVC_Net2003/glibmm/glibmmconfig.h91
-rw-r--r--libs/glibmm2/MSVC_Net2003/tests/Makefile506
-rw-r--r--libs/glibmm2/MSVC_Net2003/tests/Makefile.am4
-rw-r--r--libs/glibmm2/MSVC_Net2003/tests/glibmm_value/Makefile349
-rw-r--r--libs/glibmm2/MSVC_Net2003/tests/glibmm_value/Makefile.am1
-rw-r--r--libs/glibmm2/MSVC_Net2003/tests/glibmm_value/Makefile.in349
-rw-r--r--libs/glibmm2/Makefile.in146
-rw-r--r--libs/glibmm2/NEWS117
-rw-r--r--libs/glibmm2/aclocal.m4197
-rw-r--r--libs/glibmm2/config.h6
-rw-r--r--libs/glibmm2/config.log1285
-rw-r--r--libs/glibmm2/config.status1319
-rw-r--r--[-rwxr-xr-x]libs/glibmm2/configure8376
-rw-r--r--libs/glibmm2/configure.in8
-rw-r--r--libs/glibmm2/docs/Makefile.am34
-rw-r--r--libs/glibmm2/docs/Makefile_web.am_fragment8
-rw-r--r--libs/glibmm2/docs/images/Makefile.am16
-rw-r--r--libs/glibmm2/docs/images/Makefile.in398
-rw-r--r--libs/glibmm2/docs/images/gtkmm_logo.gifbin4416 -> 0 bytes
-rw-r--r--libs/glibmm2/docs/images/top.gifbin260 -> 0 bytes
-rw-r--r--libs/glibmm2/docs/internal/Makefile.am10
-rw-r--r--libs/glibmm2/docs/internal/documentation_generation.txt41
-rw-r--r--libs/glibmm2/docs/internal/gmmproc_internals.txt135
-rw-r--r--libs/glibmm2/docs/internal/gtk_entry.diabin2467 -> 0 bytes
-rw-r--r--libs/glibmm2/docs/internal/using_gmmproc.txt323
-rw-r--r--libs/glibmm2/docs/reference/Doxyfile.in1090
-rw-r--r--libs/glibmm2/docs/reference/Makefile.am71
-rw-r--r--libs/glibmm2/docs/reference/Makefile.in457
-rw-r--r--libs/glibmm2/docs/reference/README6
-rw-r--r--libs/glibmm2/docs/reference/beautify_docs.pl81
-rwxr-xr-xlibs/glibmm2/docs/reference/beautify_docs.pl.in81
-rw-r--r--libs/glibmm2/docs/reference/glibmm_footer.html_fragment5
-rw-r--r--libs/glibmm2/docs/reference/glibmm_header.html_fragment20
-rw-r--r--libs/glibmm2/examples/Makefile.am21
-rw-r--r--libs/glibmm2/examples/Makefile.am_fragment40
-rw-r--r--libs/glibmm2/examples/README1
-rw-r--r--libs/glibmm2/examples/child_watch/Makefile.am11
-rw-r--r--libs/glibmm2/examples/child_watch/main.cc69
-rw-r--r--libs/glibmm2/examples/iochannel_stream/Makefile.am11
-rw-r--r--libs/glibmm2/examples/iochannel_stream/fdstream.cc402
-rw-r--r--libs/glibmm2/examples/iochannel_stream/fdstream.h121
-rw-r--r--libs/glibmm2/examples/iochannel_stream/main.cc102
-rw-r--r--libs/glibmm2/examples/markup/parser.cc176
-rw-r--r--libs/glibmm2/examples/markup/test.xml73
-rw-r--r--libs/glibmm2/examples/thread/Makefile.am19
-rw-r--r--libs/glibmm2/examples/thread/Makefile.in523
-rw-r--r--libs/glibmm2/examples/thread/dispatcher.cc197
-rw-r--r--libs/glibmm2/examples/thread/dispatcher2.cc232
-rw-r--r--libs/glibmm2/examples/thread/thread.cc113
-rw-r--r--libs/glibmm2/examples/thread/threadpool.cc49
-rw-r--r--libs/glibmm2/glib/Makefile609
-rw-r--r--libs/glibmm2/glib/Makefile.in156
-rw-r--r--libs/glibmm2/glib/glibmm-2.4.pc2
-rw-r--r--libs/glibmm2/glib/glibmm.h3
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/class.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/containers.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/convert.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/date.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/debug.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/dispatcher.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/error.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/exception.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/exceptionhandler.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/fileutils.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/init.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/interface.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/iochannel.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/keyfile.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/main.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/markup.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/miscutils.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/module.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/object.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/objectbase.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/optioncontext.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/optionentry.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/optiongroup.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/pattern.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/property.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/propertyproxy.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/propertyproxy_base.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/quark.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/random.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/shell.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/signalproxy.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/signalproxy_connectionnode.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/spawn.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/streamiochannel.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/stringutils.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/thread.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/threadpool.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/timer.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/timeval.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/unicode.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/ustring.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/utility.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/value.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/value_basictypes.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/value_custom.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/wrap.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/.deps/wrap_init.Plo1
-rw-r--r--libs/glibmm2/glib/glibmm/Makefile908
-rw-r--r--libs/glibmm2/glib/glibmm/Makefile.in210
-rw-r--r--libs/glibmm2/glib/glibmm/arrayhandle.h2
-rw-r--r--libs/glibmm2/glib/glibmm/class.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/class.h2
-rw-r--r--libs/glibmm2/glib/glibmm/containerhandle_shared.h2
-rw-r--r--libs/glibmm2/glib/glibmm/containers.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/containers.h2
-rw-r--r--libs/glibmm2/glib/glibmm/date.cc7
-rw-r--r--libs/glibmm2/glib/glibmm/date.h7
-rw-r--r--libs/glibmm2/glib/glibmm/debug.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/debug.h2
-rw-r--r--libs/glibmm2/glib/glibmm/dispatcher.cc321
-rw-r--r--libs/glibmm2/glib/glibmm/dispatcher.h13
-rw-r--r--libs/glibmm2/glib/glibmm/error.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/error.h2
-rw-r--r--libs/glibmm2/glib/glibmm/exception.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/exception.h2
-rw-r--r--libs/glibmm2/glib/glibmm/exceptionhandler.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/exceptionhandler.h2
-rw-r--r--libs/glibmm2/glib/glibmm/fileutils.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/helperlist.h6
-rw-r--r--libs/glibmm2/glib/glibmm/i18n.h2
-rw-r--r--libs/glibmm2/glib/glibmm/init.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/init.h2
-rw-r--r--libs/glibmm2/glib/glibmm/interface.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/interface.h2
-rw-r--r--libs/glibmm2/glib/glibmm/iochannel.cc6
-rw-r--r--libs/glibmm2/glib/glibmm/iochannel.h13
-rw-r--r--libs/glibmm2/glib/glibmm/keyfile.cc85
-rw-r--r--libs/glibmm2/glib/glibmm/keyfile.h191
-rw-r--r--libs/glibmm2/glib/glibmm/listhandle.h2
-rw-r--r--libs/glibmm2/glib/glibmm/main.cc26
-rw-r--r--libs/glibmm2/glib/glibmm/main.h48
-rw-r--r--libs/glibmm2/glib/glibmm/markup.h9
-rw-r--r--libs/glibmm2/glib/glibmm/miscutils.cc155
-rw-r--r--libs/glibmm2/glib/glibmm/miscutils.h26
-rw-r--r--libs/glibmm2/glib/glibmm/object.cc22
-rw-r--r--libs/glibmm2/glib/glibmm/object.h54
-rw-r--r--libs/glibmm2/glib/glibmm/objectbase.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/objectbase.h37
-rw-r--r--libs/glibmm2/glib/glibmm/optioncontext.cc68
-rw-r--r--libs/glibmm2/glib/glibmm/optioncontext.h74
-rw-r--r--libs/glibmm2/glib/glibmm/optiongroup.cc198
-rw-r--r--libs/glibmm2/glib/glibmm/optiongroup.h29
-rw-r--r--libs/glibmm2/glib/glibmm/pattern.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/pattern.h2
-rw-r--r--libs/glibmm2/glib/glibmm/private/Makefile451
-rw-r--r--libs/glibmm2/glib/glibmm/private/Makefile.in118
-rw-r--r--libs/glibmm2/glib/glibmm/private/regex_p.h8
-rw-r--r--libs/glibmm2/glib/glibmm/property.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/property.h2
-rw-r--r--libs/glibmm2/glib/glibmm/propertyproxy.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/propertyproxy.h2
-rw-r--r--libs/glibmm2/glib/glibmm/propertyproxy_base.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/propertyproxy_base.h2
-rw-r--r--libs/glibmm2/glib/glibmm/quark.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/quark.h2
-rw-r--r--libs/glibmm2/glib/glibmm/random.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/random.h2
-rw-r--r--libs/glibmm2/glib/glibmm/refptr.h2
-rw-r--r--libs/glibmm2/glib/glibmm/regex.cc451
-rw-r--r--libs/glibmm2/glib/glibmm/regex.h676
-rw-r--r--libs/glibmm2/glib/glibmm/sarray.h2
-rw-r--r--libs/glibmm2/glib/glibmm/shell.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/signalproxy.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/signalproxy_connectionnode.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/signalproxy_connectionnode.h11
-rw-r--r--libs/glibmm2/glib/glibmm/slisthandle.h2
-rw-r--r--libs/glibmm2/glib/glibmm/streamiochannel.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/streamiochannel.h2
-rw-r--r--libs/glibmm2/glib/glibmm/stringutils.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/stringutils.h2
-rw-r--r--libs/glibmm2/glib/glibmm/thread.h6
-rw-r--r--libs/glibmm2/glib/glibmm/threadpool.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/threadpool.h2
-rw-r--r--libs/glibmm2/glib/glibmm/timer.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/timer.h2
-rw-r--r--libs/glibmm2/glib/glibmm/timeval.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/timeval.h2
-rw-r--r--libs/glibmm2/glib/glibmm/unicode.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/unicode.h9
-rw-r--r--libs/glibmm2/glib/glibmm/ustring.cc111
-rw-r--r--libs/glibmm2/glib/glibmm/ustring.h4
-rw-r--r--libs/glibmm2/glib/glibmm/utility.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/utility.h6
-rw-r--r--libs/glibmm2/glib/glibmm/value.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/value.h2
-rw-r--r--libs/glibmm2/glib/glibmm/value_custom.cc2
-rw-r--r--libs/glibmm2/glib/glibmm/value_custom.h8
-rw-r--r--libs/glibmm2/glib/glibmm/wrap.cc116
-rw-r--r--libs/glibmm2/glib/glibmm/wrap.h50
-rw-r--r--libs/glibmm2/glib/glibmm/wrap_init.cc3
-rw-r--r--libs/glibmm2/glib/glibmm/wrap_init.h2
-rw-r--r--libs/glibmm2/glib/glibmmconfig.h10
-rw-r--r--libs/glibmm2/glib/glibmmconfig.h.in2
-rw-r--r--libs/glibmm2/glib/src/Makefile424
-rw-r--r--libs/glibmm2/glib/src/Makefile.in108
-rw-r--r--libs/glibmm2/glib/src/Makefile_list_of_hg.am_fragment2
-rw-r--r--libs/glibmm2/glib/src/date.ccg8
-rw-r--r--libs/glibmm2/glib/src/date.hg8
-rw-r--r--libs/glibmm2/glib/src/fileutils.ccg2
-rw-r--r--libs/glibmm2/glib/src/glib_docs.xml8459
-rw-r--r--libs/glibmm2/glib/src/glib_docs_override.xml149
-rw-r--r--libs/glibmm2/glib/src/glib_enums.defs340
-rw-r--r--libs/glibmm2/glib/src/glib_functions.defs5055
-rw-r--r--libs/glibmm2/glib/src/iochannel.hg4
-rw-r--r--libs/glibmm2/glib/src/keyfile.ccg60
-rw-r--r--libs/glibmm2/glib/src/keyfile.hg119
-rw-r--r--libs/glibmm2/glib/src/optioncontext.ccg42
-rw-r--r--libs/glibmm2/glib/src/optioncontext.hg26
-rw-r--r--libs/glibmm2/glib/src/optiongroup.ccg198
-rw-r--r--libs/glibmm2/glib/src/optiongroup.hg31
-rw-r--r--libs/glibmm2/glib/src/regex.ccg204
-rw-r--r--libs/glibmm2/glib/src/regex.hg209
-rw-r--r--libs/glibmm2/glib/src/shell.ccg2
-rw-r--r--libs/glibmm2/glib/src/unicode.ccg2
-rw-r--r--libs/glibmm2/glib/src/value_basictypes.cc.m42
-rw-r--r--libs/glibmm2/glib/src/value_basictypes.h.m42
-rw-r--r--libs/glibmm2/glib/stamp-h21
-rw-r--r--libs/glibmm2/libtool7520
-rw-r--r--libs/glibmm2/scripts/Makefile387
-rw-r--r--libs/glibmm2/scripts/Makefile.am8
-rw-r--r--libs/glibmm2/scripts/Makefile.in387
-rw-r--r--libs/glibmm2/scripts/README1
-rw-r--r--libs/glibmm2/scripts/cxx.m4364
-rw-r--r--libs/glibmm2/scripts/cxx_std.m4195
-rw-r--r--libs/glibmm2/scripts/docgen.m475
-rw-r--r--libs/glibmm2/scripts/glibmm_check_perl.m454
-rw-r--r--libs/glibmm2/scripts/reduced.m4106
-rw-r--r--libs/glibmm2/scripts/sun.m415
-rw-r--r--libs/glibmm2/stamp-h11
-rw-r--r--libs/glibmm2/tests/Makefile.in137
-rw-r--r--libs/glibmm2/tests/glibmm_value/Makefile.in133
-rw-r--r--libs/glibmm2/tools/Makefile558
-rw-r--r--libs/glibmm2/tools/Makefile.am11
-rw-r--r--libs/glibmm2/tools/Makefile_list_of_sources.am_fragment5
-rw-r--r--libs/glibmm2/tools/enum.pl233
-rw-r--r--libs/glibmm2/tools/extra_defs_gen/.deps/generate_defs_glib.Po1
-rw-r--r--libs/glibmm2/tools/extra_defs_gen/.deps/generate_extra_defs.Plo1
-rw-r--r--libs/glibmm2/tools/extra_defs_gen/Makefile562
-rw-r--r--libs/glibmm2/tools/extra_defs_gen/Makefile.am29
-rw-r--r--libs/glibmm2/tools/extra_defs_gen/Makefile.in562
-rw-r--r--libs/glibmm2/tools/extra_defs_gen/generate_defs_glib.cc34
-rw-r--r--libs/glibmm2/tools/extra_defs_gen/generate_extra_defs.cc217
-rw-r--r--libs/glibmm2/tools/generate_wrap_init.pl392
-rw-r--r--libs/glibmm2/tools/generate_wrap_init.pl.in392
-rw-r--r--libs/glibmm2/tools/gmmproc239
-rw-r--r--libs/glibmm2/tools/gmmproc.in239
-rw-r--r--libs/glibmm2/tools/m4/Makefile441
-rw-r--r--libs/glibmm2/tools/m4/Makefile_list_of_sources.am_fragment8
-rw-r--r--libs/glibmm2/tools/m4/base.m4424
-rw-r--r--libs/glibmm2/tools/m4/class_boxedtype.m4215
-rw-r--r--libs/glibmm2/tools/m4/class_boxedtype_static.m4169
-rw-r--r--libs/glibmm2/tools/m4/class_generic.m454
-rw-r--r--libs/glibmm2/tools/m4/class_gobject.m4240
-rw-r--r--libs/glibmm2/tools/m4/class_gtkobject.m4225
-rw-r--r--libs/glibmm2/tools/m4/class_interface.m4264
-rw-r--r--libs/glibmm2/tools/m4/class_opaque_copyable.m4181
-rw-r--r--libs/glibmm2/tools/m4/class_opaque_refcounted.m4172
-rw-r--r--libs/glibmm2/tools/m4/class_shared.m4221
-rw-r--r--libs/glibmm2/tools/m4/compare.m4118
-rw-r--r--libs/glibmm2/tools/m4/convert_base.m471
-rw-r--r--libs/glibmm2/tools/m4/convert_glib.m464
-rw-r--r--libs/glibmm2/tools/m4/ctor.m464
-rw-r--r--libs/glibmm2/tools/m4/doc.m43
-rw-r--r--libs/glibmm2/tools/m4/enum.m4101
-rw-r--r--libs/glibmm2/tools/m4/gerror.m4102
-rw-r--r--libs/glibmm2/tools/m4/list.m4230
-rw-r--r--libs/glibmm2/tools/m4/member.m4132
-rw-r--r--libs/glibmm2/tools/m4/method.m4108
-rw-r--r--libs/glibmm2/tools/m4/property.m440
-rw-r--r--libs/glibmm2/tools/m4/signal.m4267
-rw-r--r--libs/glibmm2/tools/m4/vfunc.m4145
-rw-r--r--libs/glibmm2/tools/pm/DocsParser.pm490
-rw-r--r--libs/glibmm2/tools/pm/Enum.pm246
-rw-r--r--libs/glibmm2/tools/pm/Function.pm351
-rw-r--r--libs/glibmm2/tools/pm/FunctionBase.pm217
-rw-r--r--libs/glibmm2/tools/pm/GtkDefs.pm635
-rw-r--r--libs/glibmm2/tools/pm/Makefile434
-rw-r--r--libs/glibmm2/tools/pm/Makefile.am10
-rw-r--r--libs/glibmm2/tools/pm/Makefile_list_of_sources.am_fragment2
-rw-r--r--libs/glibmm2/tools/pm/Object.pm72
-rw-r--r--libs/glibmm2/tools/pm/Output.pm928
-rw-r--r--libs/glibmm2/tools/pm/Property.pm119
-rw-r--r--libs/glibmm2/tools/pm/Util.pm113
-rw-r--r--libs/glibmm2/tools/pm/WrapParser.pm1343
-rw-r--r--libs/gtkmm2/ChangeLog852
-rw-r--r--libs/gtkmm2/INSTALL234
-rw-r--r--libs/gtkmm2/MSVC_Net2003/Makefile.am3
-rw-r--r--libs/gtkmm2/MSVC_Net2003/Makefile.in516
-rw-r--r--libs/gtkmm2/MSVC_Net2003/README13
-rw-r--r--libs/gtkmm2/MSVC_Net2003/atkmm/Makefile.am3
-rw-r--r--libs/gtkmm2/MSVC_Net2003/atkmm/Makefile.in (renamed from libs/glibmm2/docs/internal/Makefile.in)175
-rw-r--r--libs/gtkmm2/MSVC_Net2003/atkmm/atkmm.rc72
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/atkmm/atkmm.rc.in (renamed from libs/glibmm2/MSVC_Net2003/glibmm/glibmm.rc.in)12
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/atkmm/atkmm.vcproj377
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/blank.cpp11
-rw-r--r--libs/gtkmm2/MSVC_Net2003/demos/Makefile.am1
-rw-r--r--libs/gtkmm2/MSVC_Net2003/demos/Makefile.in515
-rw-r--r--libs/gtkmm2/MSVC_Net2003/demos/gtk-demo/Makefile.am1
-rw-r--r--libs/gtkmm2/MSVC_Net2003/demos/gtk-demo/Makefile.in356
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/demos/gtk-demo/gtk-demo.vcproj315
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/Makefile.am3
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/Makefile.in (renamed from libs/glibmm2/MSVC_Net2003/examples/Makefile.in)178
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/arrow/Makefile.am1
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/arrow/Makefile.in (renamed from libs/glibmm2/MSVC_Net2003/examples/dispatcher/Makefile.in)149
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/examples/arrow/arrow.vcproj (renamed from libs/glibmm2/MSVC_Net2003/examples/dispatcher2/dispatcher2.vcproj)28
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/calendar/Makefile.am1
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/calendar/Makefile.in356
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/examples/calendar/calendar.vcproj214
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_popup/Makefile.am1
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_popup/Makefile.in356
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_popup/cellrenderercustom_popup.vcproj238
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_toggle/Makefile.am1
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_toggle/Makefile.in356
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_toggle/cellrenderercustom_toggle.vcproj214
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/direction/Makefile.am1
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/direction/Makefile.in356
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/examples/direction/direction.vcproj214
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/dnd/Makefile.am1
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/dnd/Makefile.in356
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/examples/dnd/dnd.vcproj226
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/exception/Makefile.am1
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/exception/Makefile.in356
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/examples/exception/exception.vcproj214
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/gdk/Makefile.am1
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/gdk/Makefile.in356
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/examples/gdk/gdk.vcproj214
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/printing/Makefile.am1
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/printing/Makefile.in356
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/examples/printing/printing.vcproj231
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/rulers/Makefile.am1
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/rulers/Makefile.in356
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/examples/rulers/rulers.vcproj214
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/statusbar/Makefile.am1
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/statusbar/Makefile.in356
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/examples/statusbar/statusbar.vcproj214
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/stock/Makefile.am1
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/stock/Makefile.in356
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/examples/stock/stock.vcproj214
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/tictactoe/Makefile.am1
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/tictactoe/Makefile.in356
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/examples/tictactoe/tictactoe.vcproj (renamed from libs/glibmm2/MSVC_Net2003/tests/glibmm_value/glibmm_value.vcproj)31
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/treemodelcustom/Makefile.am1
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/treemodelcustom/Makefile.in356
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/examples/treemodelcustom/treemodelcustom.vcproj230
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/window/Makefile.am1
-rw-r--r--libs/gtkmm2/MSVC_Net2003/examples/window/Makefile.in356
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/examples/window/window.vcproj214
-rw-r--r--libs/gtkmm2/MSVC_Net2003/gdkmm/Makefile.am (renamed from libs/glibmm2/MSVC_Net2003/glibmm/Makefile.am)11
-rw-r--r--libs/gtkmm2/MSVC_Net2003/gdkmm/Makefile.in (renamed from libs/glibmm2/MSVC_Net2003/glibmm/Makefile.in)165
-rw-r--r--libs/gtkmm2/MSVC_Net2003/gdkmm/gdkmm.rc72
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/gdkmm/gdkmm.rc.in72
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/gdkmm/gdkmm.vcproj437
-rw-r--r--libs/gtkmm2/MSVC_Net2003/gdkmm/gdkmmconfig.h (renamed from libs/gtkmm2/gdk/gdkmmconfig.h)2
-rw-r--r--libs/gtkmm2/MSVC_Net2003/gendef/Makefile.am2
-rw-r--r--libs/gtkmm2/MSVC_Net2003/gendef/Makefile.in356
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/gendef/gendef.cc94
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/gendef/gendef.vcproj (renamed from libs/glibmm2/MSVC_Net2003/examples/thread_pool/thread_pool.vcproj)416
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/gtkmm.sln251
-rw-r--r--libs/gtkmm2/MSVC_Net2003/gtkmm/Makefile.am13
-rw-r--r--libs/gtkmm2/MSVC_Net2003/gtkmm/Makefile.in (renamed from libs/glibmm2/MSVC_Net2003/examples/dispatcher2/Makefile.in)178
-rw-r--r--libs/gtkmm2/MSVC_Net2003/gtkmm/gtkmm.rc72
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/gtkmm/gtkmm.rc.in72
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/gtkmm/gtkmm.vcproj1561
-rw-r--r--libs/gtkmm2/MSVC_Net2003/gtkmm/gtkmmconfig.h (renamed from libs/gtkmm2/gtk/gtkmmconfig.h)6
-rw-r--r--libs/gtkmm2/MSVC_Net2003/pangomm/Makefile.am3
-rw-r--r--libs/gtkmm2/MSVC_Net2003/pangomm/Makefile.in (renamed from libs/glibmm2/MSVC_Net2003/examples/thread_pool/Makefile.in)167
-rw-r--r--libs/gtkmm2/MSVC_Net2003/pangomm/pangomm.rc72
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/pangomm/pangomm.rc.in72
-rwxr-xr-xlibs/gtkmm2/MSVC_Net2003/pangomm/pangomm.vcproj430
-rw-r--r--libs/gtkmm2/Makefile.am69
-rw-r--r--libs/gtkmm2/Makefile.in736
-rw-r--r--libs/gtkmm2/NEWS2530
-rw-r--r--libs/gtkmm2/PORTING5
-rw-r--r--libs/gtkmm2/README3
-rw-r--r--libs/gtkmm2/README.SUN88
-rw-r--r--libs/gtkmm2/README.win3269
-rw-r--r--libs/gtkmm2/aclocal.m47519
-rw-r--r--libs/gtkmm2/atk/.cvsignore1
-rw-r--r--libs/gtkmm2/atk/Makefile.am14
-rw-r--r--libs/gtkmm2/atk/Makefile.in576
-rw-r--r--libs/gtkmm2/atk/README0
-rw-r--r--libs/gtkmm2/atk/atkmm-1.6.pc.in11
-rw-r--r--libs/gtkmm2/atk/atkmm/.cvsignore1
-rw-r--r--libs/gtkmm2/atk/atkmm/Makefile.am31
-rw-r--r--libs/gtkmm2/atk/atkmm/Makefile.in782
-rw-r--r--libs/gtkmm2/atk/atkmm/action.cc284
-rw-r--r--libs/gtkmm2/atk/atkmm/action.h13
-rw-r--r--libs/gtkmm2/atk/atkmm/component.cc617
-rw-r--r--libs/gtkmm2/atk/atkmm/component.h13
-rw-r--r--libs/gtkmm2/atk/atkmm/document.cc96
-rw-r--r--libs/gtkmm2/atk/atkmm/document.h13
-rw-r--r--libs/gtkmm2/atk/atkmm/editabletext.cc337
-rw-r--r--libs/gtkmm2/atk/atkmm/editabletext.h13
-rw-r--r--libs/gtkmm2/atk/atkmm/hyperlink.cc419
-rw-r--r--libs/gtkmm2/atk/atkmm/hyperlink.h11
-rw-r--r--libs/gtkmm2/atk/atkmm/hypertext.cc186
-rw-r--r--libs/gtkmm2/atk/atkmm/hypertext.h17
-rw-r--r--libs/gtkmm2/atk/atkmm/image.cc192
-rw-r--r--libs/gtkmm2/atk/atkmm/image.h13
-rw-r--r--libs/gtkmm2/atk/atkmm/implementor.cc49
-rw-r--r--libs/gtkmm2/atk/atkmm/implementor.h13
-rw-r--r--libs/gtkmm2/atk/atkmm/noopobject.h7
-rw-r--r--libs/gtkmm2/atk/atkmm/object.cc258
-rw-r--r--libs/gtkmm2/atk/atkmm/object.h31
-rw-r--r--libs/gtkmm2/atk/atkmm/objectaccessible.h7
-rw-r--r--libs/gtkmm2/atk/atkmm/private/Makefile.am14
-rw-r--r--libs/gtkmm2/atk/atkmm/private/Makefile.in (renamed from libs/glibmm2/tools/pm/Makefile.in)260
-rw-r--r--libs/gtkmm2/atk/atkmm/relation.h7
-rw-r--r--libs/gtkmm2/atk/atkmm/relationset.cc3
-rw-r--r--libs/gtkmm2/atk/atkmm/relationset.h7
-rw-r--r--libs/gtkmm2/atk/atkmm/selection.cc374
-rw-r--r--libs/gtkmm2/atk/atkmm/selection.h17
-rw-r--r--libs/gtkmm2/atk/atkmm/stateset.cc3
-rw-r--r--libs/gtkmm2/atk/atkmm/stateset.h7
-rw-r--r--libs/gtkmm2/atk/atkmm/streamablecontent.cc143
-rw-r--r--libs/gtkmm2/atk/atkmm/streamablecontent.h13
-rw-r--r--libs/gtkmm2/atk/atkmm/table.cc1728
-rw-r--r--libs/gtkmm2/atk/atkmm/table.h43
-rw-r--r--libs/gtkmm2/atk/atkmm/text.cc974
-rw-r--r--libs/gtkmm2/atk/atkmm/text.h29
-rw-r--r--libs/gtkmm2/atk/atkmm/value.cc193
-rw-r--r--libs/gtkmm2/atk/atkmm/value.h13
-rw-r--r--libs/gtkmm2/atk/src/Makefile.am14
-rw-r--r--libs/gtkmm2/atk/src/Makefile.in463
-rw-r--r--libs/gtkmm2/atk/src/Makefile_list_of_hg.am_fragment12
-rw-r--r--libs/gtkmm2/atk/src/action.ccg22
-rw-r--r--libs/gtkmm2/atk/src/action.hg71
-rw-r--r--libs/gtkmm2/atk/src/atk.defs4
-rw-r--r--libs/gtkmm2/atk/src/atk_docs.xml4049
-rw-r--r--libs/gtkmm2/atk/src/atk_docs_override.xml117
-rw-r--r--libs/gtkmm2/atk/src/atk_enums.defs263
-rw-r--r--libs/gtkmm2/atk/src/atk_methods.defs2284
-rw-r--r--libs/gtkmm2/atk/src/atk_signals.defs390
-rw-r--r--libs/gtkmm2/atk/src/atk_vfuncs.defs855
-rw-r--r--libs/gtkmm2/atk/src/component.ccg23
-rw-r--r--libs/gtkmm2/atk/src/component.hg91
-rw-r--r--libs/gtkmm2/atk/src/document.ccg30
-rw-r--r--libs/gtkmm2/atk/src/document.hg55
-rw-r--r--libs/gtkmm2/atk/src/editabletext.ccg23
-rw-r--r--libs/gtkmm2/atk/src/editabletext.hg67
-rw-r--r--libs/gtkmm2/atk/src/hyperlink.ccg30
-rw-r--r--libs/gtkmm2/atk/src/hyperlink.hg81
-rw-r--r--libs/gtkmm2/atk/src/hypertext.ccg30
-rw-r--r--libs/gtkmm2/atk/src/hypertext.hg61
-rw-r--r--libs/gtkmm2/atk/src/image.ccg23
-rw-r--r--libs/gtkmm2/atk/src/image.hg66
-rw-r--r--libs/gtkmm2/atk/src/implementor.ccg23
-rw-r--r--libs/gtkmm2/atk/src/implementor.hg45
-rw-r--r--libs/gtkmm2/atk/src/noopobject.ccg22
-rw-r--r--libs/gtkmm2/atk/src/noopobject.hg71
-rw-r--r--libs/gtkmm2/atk/src/object.ccg61
-rw-r--r--libs/gtkmm2/atk/src/object.hg105
-rw-r--r--libs/gtkmm2/atk/src/objectaccessible.ccg23
-rw-r--r--libs/gtkmm2/atk/src/objectaccessible.hg46
-rw-r--r--libs/gtkmm2/atk/src/relation.ccg54
-rw-r--r--libs/gtkmm2/atk/src/relation.hg59
-rw-r--r--libs/gtkmm2/atk/src/relationset.ccg23
-rw-r--r--libs/gtkmm2/atk/src/relationset.hg52
-rw-r--r--libs/gtkmm2/atk/src/selection.ccg23
-rw-r--r--libs/gtkmm2/atk/src/selection.hg71
-rw-r--r--libs/gtkmm2/atk/src/stateset.ccg40
-rw-r--r--libs/gtkmm2/atk/src/stateset.hg60
-rw-r--r--libs/gtkmm2/atk/src/streamablecontent.ccg30
-rw-r--r--libs/gtkmm2/atk/src/streamablecontent.hg56
-rw-r--r--libs/gtkmm2/atk/src/table.ccg45
-rw-r--r--libs/gtkmm2/atk/src/table.hg142
-rw-r--r--libs/gtkmm2/atk/src/text.ccg111
-rw-r--r--libs/gtkmm2/atk/src/text.hg194
-rw-r--r--libs/gtkmm2/atk/src/value.ccg22
-rw-r--r--libs/gtkmm2/atk/src/value.hg58
-rwxr-xr-xlibs/gtkmm2/autogen.sh114
-rw-r--r--libs/gtkmm2/build_shared/Makefile_build.am_fragment52
-rw-r--r--libs/gtkmm2/build_shared/Makefile_build_gensrc.am_fragment86
-rw-r--r--libs/gtkmm2/build_shared/Makefile_conditional.am_fragment0
-rw-r--r--libs/gtkmm2/build_shared/Makefile_gensrc.am_fragment67
-rw-r--r--libs/gtkmm2/config.h.in7
-rwxr-xr-xlibs/gtkmm2/configure23746
-rw-r--r--libs/gtkmm2/configure.in589
-rw-r--r--libs/gtkmm2/gdk/.DS_Storebin6148 -> 0 bytes
-rw-r--r--libs/gtkmm2/gdk/.cvsignore1
-rw-r--r--libs/gtkmm2/gdk/Makefile.am13
-rw-r--r--libs/gtkmm2/gdk/Makefile.in617
-rw-r--r--libs/gtkmm2/gdk/README1
-rw-r--r--libs/gtkmm2/gdk/gdkmm-2.4.pc.in11
-rw-r--r--libs/gtkmm2/gdk/gdkmm/.cvsignore1
-rw-r--r--libs/gtkmm2/gdk/gdkmm/Makefile.am31
-rw-r--r--libs/gtkmm2/gdk/gdkmm/Makefile.in794
-rw-r--r--libs/gtkmm2/gdk/gdkmm/README1
-rw-r--r--libs/gtkmm2/gdk/gdkmm/color.h13
-rw-r--r--libs/gtkmm2/gdk/gdkmm/colormap.h17
-rw-r--r--libs/gtkmm2/gdk/gdkmm/cursor.h23
-rw-r--r--libs/gtkmm2/gdk/gdkmm/device.cc3
-rw-r--r--libs/gtkmm2/gdk/gdkmm/device.h7
-rw-r--r--libs/gtkmm2/gdk/gdkmm/display.cc61
-rw-r--r--libs/gtkmm2/gdk/gdkmm/display.h89
-rw-r--r--libs/gtkmm2/gdk/gdkmm/displaymanager.cc43
-rw-r--r--libs/gtkmm2/gdk/gdkmm/displaymanager.h13
-rw-r--r--libs/gtkmm2/gdk/gdkmm/dragcontext.cc28
-rw-r--r--libs/gtkmm2/gdk/gdkmm/dragcontext.h11
-rw-r--r--libs/gtkmm2/gdk/gdkmm/drawable.cc3
-rw-r--r--libs/gtkmm2/gdk/gdkmm/drawable.h13
-rw-r--r--libs/gtkmm2/gdk/gdkmm/event.h27
-rw-r--r--libs/gtkmm2/gdk/gdkmm/gc.cc3
-rw-r--r--libs/gtkmm2/gdk/gdkmm/gc.h7
-rw-r--r--libs/gtkmm2/gdk/gdkmm/general.cc35
-rw-r--r--libs/gtkmm2/gdk/gdkmm/general.h70
-rw-r--r--libs/gtkmm2/gdk/gdkmm/image.h7
-rw-r--r--libs/gtkmm2/gdk/gdkmm/pixbuf.cc83
-rw-r--r--libs/gtkmm2/gdk/gdkmm/pixbuf.h270
-rw-r--r--libs/gtkmm2/gdk/gdkmm/pixbufanimation.h7
-rw-r--r--libs/gtkmm2/gdk/gdkmm/pixbufanimationiter.h7
-rw-r--r--libs/gtkmm2/gdk/gdkmm/pixbufformat.h24
-rw-r--r--libs/gtkmm2/gdk/gdkmm/pixbufloader.cc132
-rw-r--r--libs/gtkmm2/gdk/gdkmm/pixbufloader.h31
-rw-r--r--libs/gtkmm2/gdk/gdkmm/pixmap.cc3
-rw-r--r--libs/gtkmm2/gdk/gdkmm/pixmap.h7
-rw-r--r--libs/gtkmm2/gdk/gdkmm/private/Makefile.am14
-rw-r--r--libs/gtkmm2/gdk/gdkmm/private/Makefile.in491
-rw-r--r--libs/gtkmm2/gdk/gdkmm/region.h40
-rw-r--r--libs/gtkmm2/gdk/gdkmm/screen.cc89
-rw-r--r--libs/gtkmm2/gdk/gdkmm/screen.h114
-rw-r--r--libs/gtkmm2/gdk/gdkmm/types.h6
-rw-r--r--libs/gtkmm2/gdk/gdkmm/visual.cc3
-rw-r--r--libs/gtkmm2/gdk/gdkmm/visual.h7
-rw-r--r--libs/gtkmm2/gdk/gdkmm/window.cc45
-rw-r--r--libs/gtkmm2/gdk/gdkmm/window.h208
-rw-r--r--libs/gtkmm2/gdk/gdkmmconfig.h.in9
-rw-r--r--libs/gtkmm2/gdk/src/Makefile.am11
-rw-r--r--libs/gtkmm2/gdk/src/Makefile.in464
-rw-r--r--libs/gtkmm2/gdk/src/Makefile_list_of_hg.am_fragment13
-rw-r--r--libs/gtkmm2/gdk/src/README5
-rw-r--r--libs/gtkmm2/gdk/src/bitmap.ccg44
-rw-r--r--libs/gtkmm2/gdk/src/bitmap.hg60
-rw-r--r--libs/gtkmm2/gdk/src/color.ccg213
-rw-r--r--libs/gtkmm2/gdk/src/color.hg186
-rw-r--r--libs/gtkmm2/gdk/src/colormap.ccg51
-rw-r--r--libs/gtkmm2/gdk/src/colormap.hg85
-rw-r--r--libs/gtkmm2/gdk/src/cursor.ccg59
-rw-r--r--libs/gtkmm2/gdk/src/cursor.hg62
-rw-r--r--libs/gtkmm2/gdk/src/device.ccg28
-rw-r--r--libs/gtkmm2/gdk/src/device.hg83
-rw-r--r--libs/gtkmm2/gdk/src/display.ccg114
-rw-r--r--libs/gtkmm2/gdk/src/display.hg200
-rw-r--r--libs/gtkmm2/gdk/src/displaymanager.ccg (renamed from libs/libglademm/libglademm.h)20
-rw-r--r--libs/gtkmm2/gdk/src/displaymanager.hg65
-rw-r--r--libs/gtkmm2/gdk/src/dragcontext.ccg49
-rw-r--r--libs/gtkmm2/gdk/src/dragcontext.hg132
-rw-r--r--libs/gtkmm2/gdk/src/drawable.ccg64
-rw-r--r--libs/gtkmm2/gdk/src/drawable.hg175
-rw-r--r--libs/gtkmm2/gdk/src/event.ccg34
-rw-r--r--libs/gtkmm2/gdk/src/event.hg88
-rw-r--r--libs/gtkmm2/gdk/src/gc.ccg41
-rw-r--r--libs/gtkmm2/gdk/src/gc.hg102
-rw-r--r--libs/gtkmm2/gdk/src/gdk.defs7
-rw-r--r--libs/gtkmm2/gdk/src/gdk_docs.xml16345
-rw-r--r--libs/gtkmm2/gdk/src/gdk_docs_override.xml605
-rw-r--r--libs/gtkmm2/gdk/src/gdk_enums.defs777
-rw-r--r--libs/gtkmm2/gdk/src/gdk_extra.defs103
-rw-r--r--libs/gtkmm2/gdk/src/gdk_methods.defs6167
-rw-r--r--libs/gtkmm2/gdk/src/gdk_pixbuf.defs1041
-rw-r--r--libs/gtkmm2/gdk/src/gdk_pixbuf_enums.defs95
-rw-r--r--libs/gtkmm2/gdk/src/gdk_signals.defs167
-rw-r--r--libs/gtkmm2/gdk/src/image.ccg32
-rw-r--r--libs/gtkmm2/gdk/src/image.hg91
-rw-r--r--libs/gtkmm2/gdk/src/pixbuf.ccg291
-rw-r--r--libs/gtkmm2/gdk/src/pixbuf.hg622
-rw-r--r--libs/gtkmm2/gdk/src/pixbufanimation.ccg36
-rw-r--r--libs/gtkmm2/gdk/src/pixbufanimation.hg52
-rw-r--r--libs/gtkmm2/gdk/src/pixbufanimationiter.ccg23
-rw-r--r--libs/gtkmm2/gdk/src/pixbufanimationiter.hg41
-rw-r--r--libs/gtkmm2/gdk/src/pixbufformat.ccg58
-rw-r--r--libs/gtkmm2/gdk/src/pixbufformat.hg65
-rw-r--r--libs/gtkmm2/gdk/src/pixbufloader.ccg60
-rw-r--r--libs/gtkmm2/gdk/src/pixbufloader.hg173
-rw-r--r--libs/gtkmm2/gdk/src/pixmap.ccg204
-rw-r--r--libs/gtkmm2/gdk/src/pixmap.hg120
-rw-r--r--libs/gtkmm2/gdk/src/rectangle.ccg65
-rw-r--r--libs/gtkmm2/gdk/src/rectangle.hg57
-rw-r--r--libs/gtkmm2/gdk/src/region.ccg60
-rw-r--r--libs/gtkmm2/gdk/src/region.hg73
-rw-r--r--libs/gtkmm2/gdk/src/rgbcmap.ccg54
-rw-r--r--libs/gtkmm2/gdk/src/rgbcmap.hg65
-rw-r--r--libs/gtkmm2/gdk/src/screen.ccg34
-rw-r--r--libs/gtkmm2/gdk/src/screen.hg142
-rw-r--r--libs/gtkmm2/gdk/src/types.ccg73
-rw-r--r--libs/gtkmm2/gdk/src/types.hg147
-rw-r--r--libs/gtkmm2/gdk/src/visual.ccg (renamed from libs/libglademm/libglademm/init.h)19
-rw-r--r--libs/gtkmm2/gdk/src/visual.hg82
-rw-r--r--libs/gtkmm2/gdk/src/window.ccg81
-rw-r--r--libs/gtkmm2/gdk/src/window.hg256
-rw-r--r--libs/gtkmm2/gtk/.cvsignore1
-rw-r--r--libs/gtkmm2/gtk/Makefile.am13
-rw-r--r--libs/gtkmm2/gtk/Makefile.in (renamed from libs/glibmm2/tools/Makefile.in)353
-rw-r--r--libs/gtkmm2/gtk/README6
-rw-r--r--libs/gtkmm2/gtk/gtkmm-2.4.pc.in11
-rw-r--r--libs/gtkmm2/gtk/gtkmm.h3
-rw-r--r--libs/gtkmm2/gtk/gtkmm/.cvsignore1
-rw-r--r--libs/gtkmm2/gtk/gtkmm/Makefile.am42
-rw-r--r--libs/gtkmm2/gtk/gtkmm/Makefile.in1066
-rw-r--r--libs/gtkmm2/gtk/gtkmm/aboutdialog.cc35
-rw-r--r--libs/gtkmm2/gtk/gtkmm/aboutdialog.h105
-rw-r--r--libs/gtkmm2/gtk/gtkmm/accelgroup.cc46
-rw-r--r--libs/gtkmm2/gtk/gtkmm/accelgroup.h15
-rw-r--r--libs/gtkmm2/gtk/gtkmm/accellabel.cc8
-rw-r--r--libs/gtkmm2/gtk/gtkmm/accellabel.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/action.cc247
-rw-r--r--libs/gtkmm2/gtk/gtkmm/action.h94
-rw-r--r--libs/gtkmm2/gtk/gtkmm/actiongroup.cc5
-rw-r--r--libs/gtkmm2/gtk/gtkmm/actiongroup.h41
-rw-r--r--libs/gtkmm2/gtk/gtkmm/adjustment.cc91
-rw-r--r--libs/gtkmm2/gtk/gtkmm/adjustment.h15
-rw-r--r--libs/gtkmm2/gtk/gtkmm/alignment.cc10
-rw-r--r--libs/gtkmm2/gtk/gtkmm/alignment.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/arrow.cc5
-rw-r--r--libs/gtkmm2/gtk/gtkmm/arrow.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/aspectframe.cc10
-rw-r--r--libs/gtkmm2/gtk/gtkmm/aspectframe.h8
-rw-r--r--libs/gtkmm2/gtk/gtkmm/assistant.cc175
-rw-r--r--libs/gtkmm2/gtk/gtkmm/assistant.h185
-rw-r--r--libs/gtkmm2/gtk/gtkmm/bin.cc3
-rw-r--r--libs/gtkmm2/gtk/gtkmm/bin.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/box.cc13
-rw-r--r--libs/gtkmm2/gtk/gtkmm/box.h81
-rw-r--r--libs/gtkmm2/gtk/gtkmm/builder.cc356
-rw-r--r--libs/gtkmm2/gtk/gtkmm/builder.h401
-rw-r--r--libs/gtkmm2/gtk/gtkmm/button.cc271
-rw-r--r--libs/gtkmm2/gtk/gtkmm/button.h55
-rw-r--r--libs/gtkmm2/gtk/gtkmm/buttonbox.cc10
-rw-r--r--libs/gtkmm2/gtk/gtkmm/buttonbox.h23
-rw-r--r--libs/gtkmm2/gtk/gtkmm/calendar.cc317
-rw-r--r--libs/gtkmm2/gtk/gtkmm/calendar.h51
-rw-r--r--libs/gtkmm2/gtk/gtkmm/celleditable.cc136
-rw-r--r--libs/gtkmm2/gtk/gtkmm/celleditable.h33
-rw-r--r--libs/gtkmm2/gtk/gtkmm/celllayout.cc300
-rw-r--r--libs/gtkmm2/gtk/gtkmm/celllayout.h31
-rw-r--r--libs/gtkmm2/gtk/gtkmm/cellrenderer.cc236
-rw-r--r--libs/gtkmm2/gtk/gtkmm/cellrenderer.h63
-rw-r--r--libs/gtkmm2/gtk/gtkmm/cellrendereraccel.cc89
-rw-r--r--libs/gtkmm2/gtk/gtkmm/cellrendereraccel.h22
-rw-r--r--libs/gtkmm2/gtk/gtkmm/cellrenderercombo.cc3
-rw-r--r--libs/gtkmm2/gtk/gtkmm/cellrenderercombo.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/cellrendererpixbuf.cc3
-rw-r--r--libs/gtkmm2/gtk/gtkmm/cellrendererpixbuf.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/cellrendererprogress.cc45
-rw-r--r--libs/gtkmm2/gtk/gtkmm/cellrendererprogress.h68
-rw-r--r--libs/gtkmm2/gtk/gtkmm/cellrendererspin.cc3
-rw-r--r--libs/gtkmm2/gtk/gtkmm/cellrendererspin.h23
-rw-r--r--libs/gtkmm2/gtk/gtkmm/cellrenderertext.cc46
-rw-r--r--libs/gtkmm2/gtk/gtkmm/cellrenderertext.h15
-rw-r--r--libs/gtkmm2/gtk/gtkmm/cellrenderertoggle.cc46
-rw-r--r--libs/gtkmm2/gtk/gtkmm/cellrenderertoggle.h18
-rw-r--r--libs/gtkmm2/gtk/gtkmm/cellview.cc13
-rw-r--r--libs/gtkmm2/gtk/gtkmm/cellview.h15
-rw-r--r--libs/gtkmm2/gtk/gtkmm/checkbutton.cc56
-rw-r--r--libs/gtkmm2/gtk/gtkmm/checkbutton.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/checkmenuitem.cc99
-rw-r--r--libs/gtkmm2/gtk/gtkmm/checkmenuitem.h18
-rw-r--r--libs/gtkmm2/gtk/gtkmm/clipboard.h53
-rw-r--r--libs/gtkmm2/gtk/gtkmm/colorbutton.cc51
-rw-r--r--libs/gtkmm2/gtk/gtkmm/colorbutton.h15
-rw-r--r--libs/gtkmm2/gtk/gtkmm/colorselection.cc54
-rw-r--r--libs/gtkmm2/gtk/gtkmm/colorselection.h22
-rw-r--r--libs/gtkmm2/gtk/gtkmm/combo.cc224
-rw-r--r--libs/gtkmm2/gtk/gtkmm/combo.h47
-rw-r--r--libs/gtkmm2/gtk/gtkmm/combobox.cc51
-rw-r--r--libs/gtkmm2/gtk/gtkmm/combobox.h59
-rw-r--r--libs/gtkmm2/gtk/gtkmm/comboboxentry.cc13
-rw-r--r--libs/gtkmm2/gtk/gtkmm/comboboxentry.h13
-rw-r--r--libs/gtkmm2/gtk/gtkmm/container.cc370
-rw-r--r--libs/gtkmm2/gtk/gtkmm/container.h78
-rw-r--r--libs/gtkmm2/gtk/gtkmm/curve.cc49
-rw-r--r--libs/gtkmm2/gtk/gtkmm/curve.h18
-rw-r--r--libs/gtkmm2/gtk/gtkmm/dialog.cc56
-rw-r--r--libs/gtkmm2/gtk/gtkmm/dialog.h49
-rw-r--r--libs/gtkmm2/gtk/gtkmm/drawingarea.cc3
-rw-r--r--libs/gtkmm2/gtk/gtkmm/drawingarea.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/editable.cc464
-rw-r--r--libs/gtkmm2/gtk/gtkmm/editable.h21
-rw-r--r--libs/gtkmm2/gtk/gtkmm/entry.cc152
-rw-r--r--libs/gtkmm2/gtk/gtkmm/entry.h100
-rw-r--r--libs/gtkmm2/gtk/gtkmm/entrycompletion.cc153
-rw-r--r--libs/gtkmm2/gtk/gtkmm/entrycompletion.h148
-rw-r--r--libs/gtkmm2/gtk/gtkmm/enums.h11
-rw-r--r--libs/gtkmm2/gtk/gtkmm/eventbox.cc3
-rw-r--r--libs/gtkmm2/gtk/gtkmm/eventbox.h16
-rw-r--r--libs/gtkmm2/gtk/gtkmm/expander.cc8
-rw-r--r--libs/gtkmm2/gtk/gtkmm/expander.h18
-rw-r--r--libs/gtkmm2/gtk/gtkmm/filechooser.cc2
-rw-r--r--libs/gtkmm2/gtk/gtkmm/filechooser.h94
-rw-r--r--libs/gtkmm2/gtk/gtkmm/filechooserbutton.cc20
-rw-r--r--libs/gtkmm2/gtk/gtkmm/filechooserbutton.h24
-rw-r--r--libs/gtkmm2/gtk/gtkmm/filechooserdialog.cc20
-rw-r--r--libs/gtkmm2/gtk/gtkmm/filechooserdialog.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/filechooserwidget.cc13
-rw-r--r--libs/gtkmm2/gtk/gtkmm/filechooserwidget.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/filefilter.cc3
-rw-r--r--libs/gtkmm2/gtk/gtkmm/filefilter.h23
-rw-r--r--libs/gtkmm2/gtk/gtkmm/fileselection.cc10
-rw-r--r--libs/gtkmm2/gtk/gtkmm/fileselection.h13
-rw-r--r--libs/gtkmm2/gtk/gtkmm/fixed.cc3
-rw-r--r--libs/gtkmm2/gtk/gtkmm/fixed.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/fontbutton.cc51
-rw-r--r--libs/gtkmm2/gtk/gtkmm/fontbutton.h21
-rw-r--r--libs/gtkmm2/gtk/gtkmm/fontselection.cc11
-rw-r--r--libs/gtkmm2/gtk/gtkmm/fontselection.h40
-rw-r--r--libs/gtkmm2/gtk/gtkmm/frame.cc56
-rw-r--r--libs/gtkmm2/gtk/gtkmm/frame.h15
-rw-r--r--libs/gtkmm2/gtk/gtkmm/handlebox.cc89
-rw-r--r--libs/gtkmm2/gtk/gtkmm/handlebox.h15
-rw-r--r--libs/gtkmm2/gtk/gtkmm/iconfactory.cc3
-rw-r--r--libs/gtkmm2/gtk/gtkmm/iconfactory.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/iconinfo.cc5
-rw-r--r--libs/gtkmm2/gtk/gtkmm/iconinfo.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/iconset.h8
-rw-r--r--libs/gtkmm2/gtk/gtkmm/iconsource.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/icontheme.cc58
-rw-r--r--libs/gtkmm2/gtk/gtkmm/icontheme.h57
-rw-r--r--libs/gtkmm2/gtk/gtkmm/iconview.cc216
-rw-r--r--libs/gtkmm2/gtk/gtkmm/iconview.h197
-rw-r--r--libs/gtkmm2/gtk/gtkmm/image.cc38
-rw-r--r--libs/gtkmm2/gtk/gtkmm/image.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/imagemenuitem.cc18
-rw-r--r--libs/gtkmm2/gtk/gtkmm/imagemenuitem.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/inputdialog.cc89
-rw-r--r--libs/gtkmm2/gtk/gtkmm/inputdialog.h23
-rw-r--r--libs/gtkmm2/gtk/gtkmm/invisible.cc8
-rw-r--r--libs/gtkmm2/gtk/gtkmm/invisible.h11
-rw-r--r--libs/gtkmm2/gtk/gtkmm/item.cc132
-rw-r--r--libs/gtkmm2/gtk/gtkmm/item.h19
-rw-r--r--libs/gtkmm2/gtk/gtkmm/label.cc63
-rw-r--r--libs/gtkmm2/gtk/gtkmm/label.h92
-rw-r--r--libs/gtkmm2/gtk/gtkmm/layout.cc53
-rw-r--r--libs/gtkmm2/gtk/gtkmm/layout.h11
-rw-r--r--libs/gtkmm2/gtk/gtkmm/linkbutton.cc62
-rw-r--r--libs/gtkmm2/gtk/gtkmm/linkbutton.h51
-rw-r--r--libs/gtkmm2/gtk/gtkmm/liststore.cc8
-rw-r--r--libs/gtkmm2/gtk/gtkmm/liststore.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/menu.cc3
-rw-r--r--libs/gtkmm2/gtk/gtkmm/menu.h16
-rw-r--r--libs/gtkmm2/gtk/gtkmm/menubar.cc5
-rw-r--r--libs/gtkmm2/gtk/gtkmm/menubar.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/menuitem.cc193
-rw-r--r--libs/gtkmm2/gtk/gtkmm/menuitem.h33
-rw-r--r--libs/gtkmm2/gtk/gtkmm/menushell.cc161
-rw-r--r--libs/gtkmm2/gtk/gtkmm/menushell.h25
-rw-r--r--libs/gtkmm2/gtk/gtkmm/menutoolbutton.cc65
-rw-r--r--libs/gtkmm2/gtk/gtkmm/menutoolbutton.h37
-rw-r--r--libs/gtkmm2/gtk/gtkmm/messagedialog.cc10
-rw-r--r--libs/gtkmm2/gtk/gtkmm/messagedialog.h12
-rw-r--r--libs/gtkmm2/gtk/gtkmm/misc.cc3
-rw-r--r--libs/gtkmm2/gtk/gtkmm/misc.h14
-rw-r--r--libs/gtkmm2/gtk/gtkmm/notebook.cc94
-rw-r--r--libs/gtkmm2/gtk/gtkmm/notebook.h197
-rw-r--r--libs/gtkmm2/gtk/gtkmm/object.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/optionmenu.cc48
-rw-r--r--libs/gtkmm2/gtk/gtkmm/optionmenu.h19
-rw-r--r--libs/gtkmm2/gtk/gtkmm/pagesetup.cc38
-rw-r--r--libs/gtkmm2/gtk/gtkmm/pagesetup.h152
-rw-r--r--libs/gtkmm2/gtk/gtkmm/pagesetupunixdialog.cc10
-rw-r--r--libs/gtkmm2/gtk/gtkmm/pagesetupunixdialog.h39
-rw-r--r--libs/gtkmm2/gtk/gtkmm/paned.cc9
-rw-r--r--libs/gtkmm2/gtk/gtkmm/paned.h21
-rw-r--r--libs/gtkmm2/gtk/gtkmm/papersize.cc23
-rw-r--r--libs/gtkmm2/gtk/gtkmm/papersize.h105
-rw-r--r--libs/gtkmm2/gtk/gtkmm/plug.cc58
-rw-r--r--libs/gtkmm2/gtk/gtkmm/plug.h11
-rw-r--r--libs/gtkmm2/gtk/gtkmm/printcontext.h87
-rw-r--r--libs/gtkmm2/gtk/gtkmm/printer.cc74
-rw-r--r--libs/gtkmm2/gtk/gtkmm/printer.h203
-rw-r--r--libs/gtkmm2/gtk/gtkmm/printjob.cc63
-rw-r--r--libs/gtkmm2/gtk/gtkmm/printjob.h169
-rw-r--r--libs/gtkmm2/gtk/gtkmm/printoperation.cc430
-rw-r--r--libs/gtkmm2/gtk/gtkmm/printoperation.h269
-rw-r--r--libs/gtkmm2/gtk/gtkmm/printoperationpreview.cc231
-rw-r--r--libs/gtkmm2/gtk/gtkmm/printoperationpreview.h46
-rw-r--r--libs/gtkmm2/gtk/gtkmm/printsettings.cc38
-rw-r--r--libs/gtkmm2/gtk/gtkmm/printsettings.h373
-rw-r--r--libs/gtkmm2/gtk/gtkmm/printunixdialog.cc10
-rw-r--r--libs/gtkmm2/gtk/gtkmm/printunixdialog.h81
-rw-r--r--libs/gtkmm2/gtk/gtkmm/private/Makefile.am14
-rw-r--r--libs/gtkmm2/gtk/gtkmm/private/Makefile.in521
-rw-r--r--libs/gtkmm2/gtk/gtkmm/private/builder_p.h (renamed from libs/libglademm/libglademm/private/xml_p.h)33
-rw-r--r--libs/gtkmm2/gtk/gtkmm/private/menuitem_p.h2
-rw-r--r--libs/gtkmm2/gtk/gtkmm/private/recentaction_p.h51
-rw-r--r--libs/gtkmm2/gtk/gtkmm/private/scalebutton_p.h52
-rw-r--r--libs/gtkmm2/gtk/gtkmm/private/spinbutton_p.h2
-rw-r--r--libs/gtkmm2/gtk/gtkmm/private/tooltip_p.h51
-rw-r--r--libs/gtkmm2/gtk/gtkmm/private/tooltips_p.h3
-rw-r--r--libs/gtkmm2/gtk/gtkmm/private/volumebutton_p.h51
-rw-r--r--libs/gtkmm2/gtk/gtkmm/progressbar.cc3
-rw-r--r--libs/gtkmm2/gtk/gtkmm/progressbar.h14
-rw-r--r--libs/gtkmm2/gtk/gtkmm/radioaction.cc53
-rw-r--r--libs/gtkmm2/gtk/gtkmm/radioaction.h54
-rw-r--r--libs/gtkmm2/gtk/gtkmm/radiobutton.cc63
-rw-r--r--libs/gtkmm2/gtk/gtkmm/radiobutton.h11
-rw-r--r--libs/gtkmm2/gtk/gtkmm/radiomenuitem.cc53
-rw-r--r--libs/gtkmm2/gtk/gtkmm/radiomenuitem.h13
-rw-r--r--libs/gtkmm2/gtk/gtkmm/radiotoolbutton.cc3
-rw-r--r--libs/gtkmm2/gtk/gtkmm/radiotoolbutton.h9
-rw-r--r--libs/gtkmm2/gtk/gtkmm/range.cc252
-rw-r--r--libs/gtkmm2/gtk/gtkmm/range.h176
-rw-r--r--libs/gtkmm2/gtk/gtkmm/rc.cc3
-rw-r--r--libs/gtkmm2/gtk/gtkmm/rc.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/recentaction.cc216
-rw-r--r--libs/gtkmm2/gtk/gtkmm/recentaction.h206
-rw-r--r--libs/gtkmm2/gtk/gtkmm/recentchooser.cc336
-rw-r--r--libs/gtkmm2/gtk/gtkmm/recentchooser.h225
-rw-r--r--libs/gtkmm2/gtk/gtkmm/recentchooserdialog.cc20
-rw-r--r--libs/gtkmm2/gtk/gtkmm/recentchooserdialog.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/recentchoosermenu.cc8
-rw-r--r--libs/gtkmm2/gtk/gtkmm/recentchoosermenu.h20
-rw-r--r--libs/gtkmm2/gtk/gtkmm/recentchooserwidget.cc8
-rw-r--r--libs/gtkmm2/gtk/gtkmm/recentchooserwidget.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/recentfilter.cc3
-rw-r--r--libs/gtkmm2/gtk/gtkmm/recentfilter.h66
-rw-r--r--libs/gtkmm2/gtk/gtkmm/recentinfo.h142
-rw-r--r--libs/gtkmm2/gtk/gtkmm/recentmanager.cc73
-rw-r--r--libs/gtkmm2/gtk/gtkmm/recentmanager.h165
-rw-r--r--libs/gtkmm2/gtk/gtkmm/ruler.cc105
-rw-r--r--libs/gtkmm2/gtk/gtkmm/ruler.h21
-rw-r--r--libs/gtkmm2/gtk/gtkmm/scale.cc123
-rw-r--r--libs/gtkmm2/gtk/gtkmm/scale.h53
-rw-r--r--libs/gtkmm2/gtk/gtkmm/scalebutton.cc325
-rw-r--r--libs/gtkmm2/gtk/gtkmm/scalebutton.h264
-rw-r--r--libs/gtkmm2/gtk/gtkmm/scrollbar.cc20
-rw-r--r--libs/gtkmm2/gtk/gtkmm/scrollbar.h21
-rw-r--r--libs/gtkmm2/gtk/gtkmm/scrolledwindow.cc8
-rw-r--r--libs/gtkmm2/gtk/gtkmm/scrolledwindow.h42
-rw-r--r--libs/gtkmm2/gtk/gtkmm/selectiondata.cc22
-rw-r--r--libs/gtkmm2/gtk/gtkmm/selectiondata.h27
-rw-r--r--libs/gtkmm2/gtk/gtkmm/separator.cc9
-rw-r--r--libs/gtkmm2/gtk/gtkmm/separator.h21
-rw-r--r--libs/gtkmm2/gtk/gtkmm/separatormenuitem.cc3
-rw-r--r--libs/gtkmm2/gtk/gtkmm/separatormenuitem.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/separatortoolitem.cc3
-rw-r--r--libs/gtkmm2/gtk/gtkmm/separatortoolitem.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/settings.cc336
-rw-r--r--libs/gtkmm2/gtk/gtkmm/settings.h499
-rw-r--r--libs/gtkmm2/gtk/gtkmm/sizegroup.cc5
-rw-r--r--libs/gtkmm2/gtk/gtkmm/sizegroup.h28
-rw-r--r--libs/gtkmm2/gtk/gtkmm/socket.cc88
-rw-r--r--libs/gtkmm2/gtk/gtkmm/socket.h15
-rw-r--r--libs/gtkmm2/gtk/gtkmm/spinbutton.cc150
-rw-r--r--libs/gtkmm2/gtk/gtkmm/spinbutton.h37
-rw-r--r--libs/gtkmm2/gtk/gtkmm/statusbar.cc89
-rw-r--r--libs/gtkmm2/gtk/gtkmm/statusbar.h35
-rw-r--r--libs/gtkmm2/gtk/gtkmm/statusicon.cc139
-rw-r--r--libs/gtkmm2/gtk/gtkmm/statusicon.h199
-rw-r--r--libs/gtkmm2/gtk/gtkmm/stock.cc2
-rw-r--r--libs/gtkmm2/gtk/gtkmm/stock.h6
-rw-r--r--libs/gtkmm2/gtk/gtkmm/stockitem.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/style.cc1441
-rw-r--r--libs/gtkmm2/gtk/gtkmm/style.h87
-rw-r--r--libs/gtkmm2/gtk/gtkmm/table.cc5
-rw-r--r--libs/gtkmm2/gtk/gtkmm/table.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/targetlist.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/tearoffmenuitem.cc3
-rw-r--r--libs/gtkmm2/gtk/gtkmm/tearoffmenuitem.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/textattributes.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/textbuffer.cc568
-rw-r--r--libs/gtkmm2/gtk/gtkmm/textbuffer.h307
-rw-r--r--libs/gtkmm2/gtk/gtkmm/textchildanchor.cc3
-rw-r--r--libs/gtkmm2/gtk/gtkmm/textchildanchor.h7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/textiter.h156
-rw-r--r--libs/gtkmm2/gtk/gtkmm/textmark.cc23
-rw-r--r--libs/gtkmm2/gtk/gtkmm/textmark.h84
-rw-r--r--libs/gtkmm2/gtk/gtkmm/texttag.cc99
-rw-r--r--libs/gtkmm2/gtk/gtkmm/texttag.h82
-rw-r--r--libs/gtkmm2/gtk/gtkmm/texttagtable.cc132
-rw-r--r--libs/gtkmm2/gtk/gtkmm/texttagtable.h21
-rw-r--r--libs/gtkmm2/gtk/gtkmm/textview.cc180
-rw-r--r--libs/gtkmm2/gtk/gtkmm/textview.h92
-rw-r--r--libs/gtkmm2/gtk/gtkmm/toggleaction.cc51
-rw-r--r--libs/gtkmm2/gtk/gtkmm/toggleaction.h28
-rw-r--r--libs/gtkmm2/gtk/gtkmm/togglebutton.cc56
-rw-r--r--libs/gtkmm2/gtk/gtkmm/togglebutton.h13
-rw-r--r--libs/gtkmm2/gtk/gtkmm/toggletoolbutton.cc51
-rw-r--r--libs/gtkmm2/gtk/gtkmm/toggletoolbutton.h13
-rw-r--r--libs/gtkmm2/gtk/gtkmm/toolbar.cc154
-rw-r--r--libs/gtkmm2/gtk/gtkmm/toolbar.h90
-rw-r--r--libs/gtkmm2/gtk/gtkmm/toolbutton.cc56
-rw-r--r--libs/gtkmm2/gtk/gtkmm/toolbutton.h32
-rw-r--r--libs/gtkmm2/gtk/gtkmm/toolitem.cc185
-rw-r--r--libs/gtkmm2/gtk/gtkmm/toolitem.h146
-rw-r--r--libs/gtkmm2/gtk/gtkmm/tooltip.cc181
-rw-r--r--libs/gtkmm2/gtk/gtkmm/tooltip.h238
-rw-r--r--libs/gtkmm2/gtk/gtkmm/tooltips.cc7
-rw-r--r--libs/gtkmm2/gtk/gtkmm/tooltips.h20
-rw-r--r--libs/gtkmm2/gtk/gtkmm/treedragdest.cc96
-rw-r--r--libs/gtkmm2/gtk/gtkmm/treedragdest.h13
-rw-r--r--libs/gtkmm2/gtk/gtkmm/treedragsource.cc96
-rw-r--r--libs/gtkmm2/gtk/gtkmm/treedragsource.h13
-rw-r--r--libs/gtkmm2/gtk/gtkmm/treemodel.cc596
-rw-r--r--libs/gtkmm2/gtk/gtkmm/treemodel.h53
-rw-r--r--libs/gtkmm2/gtk/gtkmm/treemodelcolumn.h6
-rw-r--r--libs/gtkmm2/gtk/gtkmm/treemodelfilter.cc10
-rw-r--r--libs/gtkmm2/gtk/gtkmm/treemodelfilter.h19
-rw-r--r--libs/gtkmm2/gtk/gtkmm/treemodelsort.cc5
-rw-r--r--libs/gtkmm2/gtk/gtkmm/treemodelsort.h11
-rw-r--r--libs/gtkmm2/gtk/gtkmm/treepath.h21
-rw-r--r--libs/gtkmm2/gtk/gtkmm/treerowreference.h25
-rw-r--r--libs/gtkmm2/gtk/gtkmm/treeselection.cc43
-rw-r--r--libs/gtkmm2/gtk/gtkmm/treeselection.h22
-rw-r--r--libs/gtkmm2/gtk/gtkmm/treesortable.cc331
-rw-r--r--libs/gtkmm2/gtk/gtkmm/treesortable.h27
-rw-r--r--libs/gtkmm2/gtk/gtkmm/treestore.cc8
-rw-r--r--libs/gtkmm2/gtk/gtkmm/treestore.h13
-rw-r--r--libs/gtkmm2/gtk/gtkmm/treeview.cc474
-rw-r--r--libs/gtkmm2/gtk/gtkmm/treeview.h407
-rw-r--r--libs/gtkmm2/gtk/gtkmm/treeviewcolumn.cc56
-rw-r--r--libs/gtkmm2/gtk/gtkmm/treeviewcolumn.h52
-rw-r--r--libs/gtkmm2/gtk/gtkmm/uimanager.cc89
-rw-r--r--libs/gtkmm2/gtk/gtkmm/uimanager.h202
-rw-r--r--libs/gtkmm2/gtk/gtkmm/viewport.cc48
-rw-r--r--libs/gtkmm2/gtk/gtkmm/viewport.h19
-rw-r--r--libs/gtkmm2/gtk/gtkmm/volumebutton.cc155
-rw-r--r--libs/gtkmm2/gtk/gtkmm/volumebutton.h142
-rw-r--r--libs/gtkmm2/gtk/gtkmm/widget.cc2688
-rw-r--r--libs/gtkmm2/gtk/gtkmm/widget.h774
-rw-r--r--libs/gtkmm2/gtk/gtkmm/window.cc169
-rw-r--r--libs/gtkmm2/gtk/gtkmm/window.h226
-rw-r--r--libs/gtkmm2/gtk/gtkmm/wrap_init.cc35
-rw-r--r--libs/gtkmm2/gtk/gtkmmconfig.h.in49
-rw-r--r--libs/gtkmm2/gtk/src/Makefile.am11
-rw-r--r--libs/gtkmm2/gtk/src/Makefile.in494
-rw-r--r--libs/gtkmm2/gtk/src/Makefile_list_of_hg.am_fragment43
-rw-r--r--libs/gtkmm2/gtk/src/README3
-rw-r--r--libs/gtkmm2/gtk/src/aboutdialog.ccg84
-rw-r--r--libs/gtkmm2/gtk/src/aboutdialog.hg135
-rw-r--r--libs/gtkmm2/gtk/src/accelgroup.ccg58
-rw-r--r--libs/gtkmm2/gtk/src/accelgroup.hg120
-rw-r--r--libs/gtkmm2/gtk/src/accellabel.ccg46
-rw-r--r--libs/gtkmm2/gtk/src/accellabel.hg68
-rw-r--r--libs/gtkmm2/gtk/src/action.ccg61
-rw-r--r--libs/gtkmm2/gtk/src/action.hg154
-rw-r--r--libs/gtkmm2/gtk/src/actiongroup.ccg110
-rw-r--r--libs/gtkmm2/gtk/src/actiongroup.hg132
-rw-r--r--libs/gtkmm2/gtk/src/adjustment.ccg66
-rw-r--r--libs/gtkmm2/gtk/src/adjustment.hg132
-rw-r--r--libs/gtkmm2/gtk/src/alignment.ccg30
-rw-r--r--libs/gtkmm2/gtk/src/alignment.hg85
-rw-r--r--libs/gtkmm2/gtk/src/arrow.ccg46
-rw-r--r--libs/gtkmm2/gtk/src/arrow.hg66
-rw-r--r--libs/gtkmm2/gtk/src/aspectframe.ccg23
-rw-r--r--libs/gtkmm2/gtk/src/aspectframe.hg104
-rw-r--r--libs/gtkmm2/gtk/src/assistant.ccg70
-rw-r--r--libs/gtkmm2/gtk/src/assistant.hg88
-rw-r--r--libs/gtkmm2/gtk/src/bin.ccg127
-rw-r--r--libs/gtkmm2/gtk/src/bin.hg133
-rw-r--r--libs/gtkmm2/gtk/src/box.ccg125
-rw-r--r--libs/gtkmm2/gtk/src/box.hg267
-rw-r--r--libs/gtkmm2/gtk/src/builder.ccg129
-rw-r--r--libs/gtkmm2/gtk/src/builder.hg212
-rw-r--r--libs/gtkmm2/gtk/src/button.ccg43
-rw-r--r--libs/gtkmm2/gtk/src/button.hg126
-rw-r--r--libs/gtkmm2/gtk/src/buttonbox.ccg46
-rw-r--r--libs/gtkmm2/gtk/src/buttonbox.hg106
-rw-r--r--libs/gtkmm2/gtk/src/calendar.ccg42
-rw-r--r--libs/gtkmm2/gtk/src/calendar.hg90
-rw-r--r--libs/gtkmm2/gtk/src/celleditable.ccg22
-rw-r--r--libs/gtkmm2/gtk/src/celleditable.hg56
-rw-r--r--libs/gtkmm2/gtk/src/celllayout.ccg81
-rw-r--r--libs/gtkmm2/gtk/src/celllayout.hg111
-rw-r--r--libs/gtkmm2/gtk/src/cellrenderer.ccg46
-rw-r--r--libs/gtkmm2/gtk/src/cellrenderer.hg211
-rw-r--r--libs/gtkmm2/gtk/src/cellrendereraccel.ccg36
-rw-r--r--libs/gtkmm2/gtk/src/cellrendereraccel.hg64
-rw-r--r--libs/gtkmm2/gtk/src/cellrenderercombo.ccg40
-rw-r--r--libs/gtkmm2/gtk/src/cellrenderercombo.hg62
-rw-r--r--libs/gtkmm2/gtk/src/cellrendererpixbuf.ccg39
-rw-r--r--libs/gtkmm2/gtk/src/cellrendererpixbuf.hg63
-rw-r--r--libs/gtkmm2/gtk/src/cellrendererprogress.ccg42
-rw-r--r--libs/gtkmm2/gtk/src/cellrendererprogress.hg53
-rw-r--r--libs/gtkmm2/gtk/src/cellrendererspin.ccg30
-rw-r--r--libs/gtkmm2/gtk/src/cellrendererspin.hg61
-rw-r--r--libs/gtkmm2/gtk/src/cellrenderertext.ccg45
-rw-r--r--libs/gtkmm2/gtk/src/cellrenderertext.hg102
-rw-r--r--libs/gtkmm2/gtk/src/cellrenderertoggle.ccg (renamed from libs/glibmm2/tools/extra_defs_gen/generate_extra_defs.h)31
-rw-r--r--libs/gtkmm2/gtk/src/cellrenderertoggle.hg69
-rw-r--r--libs/gtkmm2/gtk/src/cellview.ccg72
-rw-r--r--libs/gtkmm2/gtk/src/cellview.hg88
-rw-r--r--libs/gtkmm2/gtk/src/checkbutton.ccg34
-rw-r--r--libs/gtkmm2/gtk/src/checkbutton.hg74
-rw-r--r--libs/gtkmm2/gtk/src/checkmenuitem.ccg38
-rw-r--r--libs/gtkmm2/gtk/src/checkmenuitem.hg78
-rw-r--r--libs/gtkmm2/gtk/src/clipboard.ccg360
-rw-r--r--libs/gtkmm2/gtk/src/clipboard.hg283
-rw-r--r--libs/gtkmm2/gtk/src/colorbutton.ccg39
-rw-r--r--libs/gtkmm2/gtk/src/colorbutton.hg102
-rw-r--r--libs/gtkmm2/gtk/src/colorselection.ccg144
-rw-r--r--libs/gtkmm2/gtk/src/colorselection.hg101
-rw-r--r--libs/gtkmm2/gtk/src/combo.ccg129
-rw-r--r--libs/gtkmm2/gtk/src/combo.hg203
-rw-r--r--libs/gtkmm2/gtk/src/combobox.ccg87
-rw-r--r--libs/gtkmm2/gtk/src/combobox.hg158
-rw-r--r--libs/gtkmm2/gtk/src/comboboxentry.ccg42
-rw-r--r--libs/gtkmm2/gtk/src/comboboxentry.hg87
-rw-r--r--libs/gtkmm2/gtk/src/container.ccg256
-rw-r--r--libs/gtkmm2/gtk/src/container.hg204
-rw-r--r--libs/gtkmm2/gtk/src/curve.ccg43
-rw-r--r--libs/gtkmm2/gtk/src/curve.hg80
-rw-r--r--libs/gtkmm2/gtk/src/dialog.ccg53
-rw-r--r--libs/gtkmm2/gtk/src/dialog.hg126
-rw-r--r--libs/gtkmm2/gtk/src/drawingarea.ccg24
-rw-r--r--libs/gtkmm2/gtk/src/drawingarea.hg44
-rw-r--r--libs/gtkmm2/gtk/src/editable.ccg22
-rw-r--r--libs/gtkmm2/gtk/src/editable.hg135
-rw-r--r--libs/gtkmm2/gtk/src/entry.ccg24
-rw-r--r--libs/gtkmm2/gtk/src/entry.hg135
-rw-r--r--libs/gtkmm2/gtk/src/entrycompletion.ccg328
-rw-r--r--libs/gtkmm2/gtk/src/entrycompletion.hg217
-rw-r--r--libs/gtkmm2/gtk/src/enums.ccg56
-rw-r--r--libs/gtkmm2/gtk/src/enums.hg170
-rw-r--r--libs/gtkmm2/gtk/src/eventbox.ccg23
-rw-r--r--libs/gtkmm2/gtk/src/eventbox.hg57
-rw-r--r--libs/gtkmm2/gtk/src/expander.ccg34
-rw-r--r--libs/gtkmm2/gtk/src/expander.hg116
-rw-r--r--libs/gtkmm2/gtk/src/filechooser.ccg24
-rw-r--r--libs/gtkmm2/gtk/src/filechooser.hg238
-rw-r--r--libs/gtkmm2/gtk/src/filechooserbutton.ccg (renamed from libs/libglademm/libglademm/wrap_init.h)25
-rw-r--r--libs/gtkmm2/gtk/src/filechooserbutton.hg101
-rw-r--r--libs/gtkmm2/gtk/src/filechooserdialog.ccg56
-rw-r--r--libs/gtkmm2/gtk/src/filechooserdialog.hg53
-rw-r--r--libs/gtkmm2/gtk/src/filechooserwidget.ccg30
-rw-r--r--libs/gtkmm2/gtk/src/filechooserwidget.hg64
-rw-r--r--libs/gtkmm2/gtk/src/filefilter.ccg73
-rw-r--r--libs/gtkmm2/gtk/src/filefilter.hg88
-rw-r--r--libs/gtkmm2/gtk/src/fileselection.ccg37
-rw-r--r--libs/gtkmm2/gtk/src/fileselection.hg103
-rw-r--r--libs/gtkmm2/gtk/src/fixed.ccg28
-rw-r--r--libs/gtkmm2/gtk/src/fixed.hg56
-rw-r--r--libs/gtkmm2/gtk/src/fontbutton.ccg30
-rw-r--r--libs/gtkmm2/gtk/src/fontbutton.hg72
-rw-r--r--libs/gtkmm2/gtk/src/fontselection.ccg25
-rw-r--r--libs/gtkmm2/gtk/src/fontselection.hg100
-rw-r--r--libs/gtkmm2/gtk/src/frame.ccg32
-rw-r--r--libs/gtkmm2/gtk/src/frame.hg89
-rw-r--r--libs/gtkmm2/gtk/src/gtk.defs6
-rw-r--r--libs/gtkmm2/gtk/src/gtk_docs.xml61479
-rw-r--r--libs/gtkmm2/gtk/src/gtk_docs_override.xml2831
-rw-r--r--libs/gtkmm2/gtk/src/gtk_enums.defs1509
-rw-r--r--libs/gtkmm2/gtk/src/gtk_methods.defs32810
-rw-r--r--libs/gtkmm2/gtk/src/gtk_other.defs422
-rw-r--r--libs/gtkmm2/gtk/src/gtk_signals.defs39166
-rw-r--r--libs/gtkmm2/gtk/src/gtk_vfuncs.defs1156
-rw-r--r--libs/gtkmm2/gtk/src/handlebox.ccg50
-rw-r--r--libs/gtkmm2/gtk/src/handlebox.hg74
-rw-r--r--libs/gtkmm2/gtk/src/iconfactory.ccg61
-rw-r--r--libs/gtkmm2/gtk/src/iconfactory.hg50
-rw-r--r--libs/gtkmm2/gtk/src/iconinfo.ccg45
-rw-r--r--libs/gtkmm2/gtk/src/iconinfo.hg50
-rw-r--r--libs/gtkmm2/gtk/src/iconset.ccg52
-rw-r--r--libs/gtkmm2/gtk/src/iconset.hg64
-rw-r--r--libs/gtkmm2/gtk/src/iconsource.ccg23
-rw-r--r--libs/gtkmm2/gtk/src/iconsource.hg62
-rw-r--r--libs/gtkmm2/gtk/src/icontheme.ccg53
-rw-r--r--libs/gtkmm2/gtk/src/icontheme.hg86
-rw-r--r--libs/gtkmm2/gtk/src/iconview.ccg239
-rw-r--r--libs/gtkmm2/gtk/src/iconview.hg412
-rw-r--r--libs/gtkmm2/gtk/src/image.ccg107
-rw-r--r--libs/gtkmm2/gtk/src/image.hg119
-rw-r--r--libs/gtkmm2/gtk/src/imagemenuitem.ccg69
-rw-r--r--libs/gtkmm2/gtk/src/imagemenuitem.hg56
-rw-r--r--libs/gtkmm2/gtk/src/inputdialog.ccg27
-rw-r--r--libs/gtkmm2/gtk/src/inputdialog.hg73
-rw-r--r--libs/gtkmm2/gtk/src/invisible.ccg30
-rw-r--r--libs/gtkmm2/gtk/src/invisible.hg47
-rw-r--r--libs/gtkmm2/gtk/src/item.ccg25
-rw-r--r--libs/gtkmm2/gtk/src/item.hg57
-rw-r--r--libs/gtkmm2/gtk/src/label.ccg57
-rw-r--r--libs/gtkmm2/gtk/src/label.hg164
-rw-r--r--libs/gtkmm2/gtk/src/layout.ccg75
-rw-r--r--libs/gtkmm2/gtk/src/layout.hg87
-rw-r--r--libs/gtkmm2/gtk/src/linkbutton.ccg75
-rw-r--r--libs/gtkmm2/gtk/src/linkbutton.hg83
-rw-r--r--libs/gtkmm2/gtk/src/liststore.ccg131
-rw-r--r--libs/gtkmm2/gtk/src/liststore.hg150
-rw-r--r--libs/gtkmm2/gtk/src/main.ccg557
-rw-r--r--libs/gtkmm2/gtk/src/main.hg275
-rw-r--r--libs/gtkmm2/gtk/src/menu.ccg101
-rw-r--r--libs/gtkmm2/gtk/src/menu.hg139
-rw-r--r--libs/gtkmm2/gtk/src/menubar.ccg49
-rw-r--r--libs/gtkmm2/gtk/src/menubar.hg51
-rw-r--r--libs/gtkmm2/gtk/src/menuitem.ccg113
-rw-r--r--libs/gtkmm2/gtk/src/menuitem.hg94
-rw-r--r--libs/gtkmm2/gtk/src/menushell.ccg201
-rw-r--r--libs/gtkmm2/gtk/src/menushell.hg164
-rw-r--r--libs/gtkmm2/gtk/src/menutoolbutton.ccg43
-rw-r--r--libs/gtkmm2/gtk/src/menutoolbutton.hg86
-rw-r--r--libs/gtkmm2/gtk/src/messagedialog.ccg71
-rw-r--r--libs/gtkmm2/gtk/src/messagedialog.hg88
-rw-r--r--libs/gtkmm2/gtk/src/misc.ccg29
-rw-r--r--libs/gtkmm2/gtk/src/misc.hg61
-rw-r--r--libs/gtkmm2/gtk/src/notebook.ccg471
-rw-r--r--libs/gtkmm2/gtk/src/notebook.hg456
-rw-r--r--libs/gtkmm2/gtk/src/object.ccg316
-rw-r--r--libs/gtkmm2/gtk/src/object.hg114
-rw-r--r--libs/gtkmm2/gtk/src/optionmenu.ccg68
-rw-r--r--libs/gtkmm2/gtk/src/optionmenu.hg67
-rw-r--r--libs/gtkmm2/gtk/src/pagesetup.ccg29
-rw-r--r--libs/gtkmm2/gtk/src/pagesetup.hg107
-rw-r--r--libs/gtkmm2/gtk/src/pagesetupunixdialog.ccg37
-rw-r--r--libs/gtkmm2/gtk/src/pagesetupunixdialog.hg60
-rw-r--r--libs/gtkmm2/gtk/src/paned.ccg47
-rw-r--r--libs/gtkmm2/gtk/src/paned.hg130
-rw-r--r--libs/gtkmm2/gtk/src/papersize.ccg74
-rw-r--r--libs/gtkmm2/gtk/src/papersize.hg108
-rw-r--r--libs/gtkmm2/gtk/src/plug.ccg50
-rw-r--r--libs/gtkmm2/gtk/src/plug.hg43
-rw-r--r--libs/gtkmm2/gtk/src/printcontext.ccg24
-rw-r--r--libs/gtkmm2/gtk/src/printcontext.hg77
-rw-r--r--libs/gtkmm2/gtk/src/printer.ccg71
-rw-r--r--libs/gtkmm2/gtk/src/printer.hg125
-rw-r--r--libs/gtkmm2/gtk/src/printjob.ccg70
-rw-r--r--libs/gtkmm2/gtk/src/printjob.hg102
-rw-r--r--libs/gtkmm2/gtk/src/printoperation.ccg113
-rw-r--r--libs/gtkmm2/gtk/src/printoperation.hg200
-rw-r--r--libs/gtkmm2/gtk/src/printoperationpreview.ccg19
-rw-r--r--libs/gtkmm2/gtk/src/printoperationpreview.hg59
-rw-r--r--libs/gtkmm2/gtk/src/printsettings.ccg141
-rw-r--r--libs/gtkmm2/gtk/src/printsettings.hg233
-rw-r--r--libs/gtkmm2/gtk/src/printunixdialog.ccg44
-rw-r--r--libs/gtkmm2/gtk/src/printunixdialog.hg85
-rw-r--r--libs/gtkmm2/gtk/src/progressbar.ccg24
-rw-r--r--libs/gtkmm2/gtk/src/progressbar.hg98
-rw-r--r--libs/gtkmm2/gtk/src/radioaction.ccg57
-rw-r--r--libs/gtkmm2/gtk/src/radioaction.hg77
-rw-r--r--libs/gtkmm2/gtk/src/radiobutton.ccg69
-rw-r--r--libs/gtkmm2/gtk/src/radiobutton.hg87
-rw-r--r--libs/gtkmm2/gtk/src/radiomenuitem.ccg63
-rw-r--r--libs/gtkmm2/gtk/src/radiomenuitem.hg71
-rw-r--r--libs/gtkmm2/gtk/src/radiotoolbutton.ccg68
-rw-r--r--libs/gtkmm2/gtk/src/radiotoolbutton.hg107
-rw-r--r--libs/gtkmm2/gtk/src/range.ccg34
-rw-r--r--libs/gtkmm2/gtk/src/range.hg114
-rw-r--r--libs/gtkmm2/gtk/src/rc.ccg177
-rw-r--r--libs/gtkmm2/gtk/src/rc.hg209
-rw-r--r--libs/gtkmm2/gtk/src/recentaction.ccg34
-rw-r--r--libs/gtkmm2/gtk/src/recentaction.hg78
-rw-r--r--libs/gtkmm2/gtk/src/recentchooser.ccg75
-rw-r--r--libs/gtkmm2/gtk/src/recentchooser.hg167
-rw-r--r--libs/gtkmm2/gtk/src/recentchooserdialog.ccg51
-rw-r--r--libs/gtkmm2/gtk/src/recentchooserdialog.hg60
-rw-r--r--libs/gtkmm2/gtk/src/recentchoosermenu.ccg23
-rw-r--r--libs/gtkmm2/gtk/src/recentchoosermenu.hg56
-rw-r--r--libs/gtkmm2/gtk/src/recentchooserwidget.ccg23
-rw-r--r--libs/gtkmm2/gtk/src/recentchooserwidget.hg51
-rw-r--r--libs/gtkmm2/gtk/src/recentfilter.ccg90
-rw-r--r--libs/gtkmm2/gtk/src/recentfilter.hg105
-rw-r--r--libs/gtkmm2/gtk/src/recentinfo.ccg51
-rw-r--r--libs/gtkmm2/gtk/src/recentinfo.hg112
-rw-r--r--libs/gtkmm2/gtk/src/recentmanager.ccg49
-rw-r--r--libs/gtkmm2/gtk/src/recentmanager.hg144
-rw-r--r--libs/gtkmm2/gtk/src/ruler.ccg43
-rw-r--r--libs/gtkmm2/gtk/src/ruler.hg115
-rw-r--r--libs/gtkmm2/gtk/src/scale.ccg107
-rw-r--r--libs/gtkmm2/gtk/src/scale.hg171
-rw-r--r--libs/gtkmm2/gtk/src/scalebutton.ccg30
-rw-r--r--libs/gtkmm2/gtk/src/scalebutton.hg68
-rw-r--r--libs/gtkmm2/gtk/src/scrollbar.ccg68
-rw-r--r--libs/gtkmm2/gtk/src/scrollbar.hg97
-rw-r--r--libs/gtkmm2/gtk/src/scrolledwindow.ccg54
-rw-r--r--libs/gtkmm2/gtk/src/scrolledwindow.hg110
-rw-r--r--libs/gtkmm2/gtk/src/selectiondata.ccg94
-rw-r--r--libs/gtkmm2/gtk/src/selectiondata.hg117
-rw-r--r--libs/gtkmm2/gtk/src/separator.ccg25
-rw-r--r--libs/gtkmm2/gtk/src/separator.hg74
-rw-r--r--libs/gtkmm2/gtk/src/separatormenuitem.ccg23
-rw-r--r--libs/gtkmm2/gtk/src/separatormenuitem.hg44
-rw-r--r--libs/gtkmm2/gtk/src/separatortoolitem.ccg29
-rw-r--r--libs/gtkmm2/gtk/src/separatortoolitem.hg48
-rw-r--r--libs/gtkmm2/gtk/src/settings.ccg30
-rw-r--r--libs/gtkmm2/gtk/src/settings.hg117
-rw-r--r--libs/gtkmm2/gtk/src/sizegroup.ccg34
-rw-r--r--libs/gtkmm2/gtk/src/sizegroup.hg78
-rw-r--r--libs/gtkmm2/gtk/src/socket.ccg22
-rw-r--r--libs/gtkmm2/gtk/src/socket.hg91
-rw-r--r--libs/gtkmm2/gtk/src/spinbutton.ccg38
-rw-r--r--libs/gtkmm2/gtk/src/spinbutton.hg129
-rw-r--r--libs/gtkmm2/gtk/src/statusbar.ccg39
-rw-r--r--libs/gtkmm2/gtk/src/statusbar.hg62
-rw-r--r--libs/gtkmm2/gtk/src/statusicon.ccg57
-rw-r--r--libs/gtkmm2/gtk/src/statusicon.hg178
-rw-r--r--libs/gtkmm2/gtk/src/stockitem.ccg59
-rw-r--r--libs/gtkmm2/gtk/src/stockitem.hg54
-rw-r--r--libs/gtkmm2/gtk/src/style.ccg233
-rw-r--r--libs/gtkmm2/gtk/src/style.hg591
-rw-r--r--libs/gtkmm2/gtk/src/table.ccg120
-rw-r--r--libs/gtkmm2/gtk/src/table.hg179
-rw-r--r--libs/gtkmm2/gtk/src/targetlist.ccg32
-rw-r--r--libs/gtkmm2/gtk/src/targetlist.hg44
-rw-r--r--libs/gtkmm2/gtk/src/tearoffmenuitem.ccg33
-rw-r--r--libs/gtkmm2/gtk/src/tearoffmenuitem.hg47
-rw-r--r--libs/gtkmm2/gtk/src/textattributes.ccg24
-rw-r--r--libs/gtkmm2/gtk/src/textattributes.hg41
-rw-r--r--libs/gtkmm2/gtk/src/textbuffer.ccg600
-rw-r--r--libs/gtkmm2/gtk/src/textbuffer.hg604
-rw-r--r--libs/gtkmm2/gtk/src/textchildanchor.ccg23
-rw-r--r--libs/gtkmm2/gtk/src/textchildanchor.hg62
-rw-r--r--libs/gtkmm2/gtk/src/textiter.ccg75
-rw-r--r--libs/gtkmm2/gtk/src/textiter.hg367
-rw-r--r--libs/gtkmm2/gtk/src/textmark.ccg45
-rw-r--r--libs/gtkmm2/gtk/src/textmark.hg143
-rw-r--r--libs/gtkmm2/gtk/src/texttag.ccg25
-rw-r--r--libs/gtkmm2/gtk/src/texttag.hg143
-rw-r--r--libs/gtkmm2/gtk/src/texttagtable.ccg50
-rw-r--r--libs/gtkmm2/gtk/src/texttagtable.hg69
-rw-r--r--libs/gtkmm2/gtk/src/textview.ccg73
-rw-r--r--libs/gtkmm2/gtk/src/textview.hg235
-rw-r--r--libs/gtkmm2/gtk/src/toggleaction.ccg46
-rw-r--r--libs/gtkmm2/gtk/src/toggleaction.hg63
-rw-r--r--libs/gtkmm2/gtk/src/togglebutton.ccg39
-rw-r--r--libs/gtkmm2/gtk/src/togglebutton.hg83
-rw-r--r--libs/gtkmm2/gtk/src/toggletoolbutton.ccg43
-rw-r--r--libs/gtkmm2/gtk/src/toggletoolbutton.hg76
-rw-r--r--libs/gtkmm2/gtk/src/toolbar.ccg104
-rw-r--r--libs/gtkmm2/gtk/src/toolbar.hg156
-rw-r--r--libs/gtkmm2/gtk/src/toolbutton.ccg36
-rw-r--r--libs/gtkmm2/gtk/src/toolbutton.hg98
-rw-r--r--libs/gtkmm2/gtk/src/toolitem.ccg39
-rw-r--r--libs/gtkmm2/gtk/src/toolitem.hg148
-rw-r--r--libs/gtkmm2/gtk/src/tooltip.ccg30
-rw-r--r--libs/gtkmm2/gtk/src/tooltip.hg92
-rw-r--r--libs/gtkmm2/gtk/src/tooltips.ccg41
-rw-r--r--libs/gtkmm2/gtk/src/tooltips.hg69
-rw-r--r--libs/gtkmm2/gtk/src/treedragdest.ccg24
-rw-r--r--libs/gtkmm2/gtk/src/treedragdest.hg60
-rw-r--r--libs/gtkmm2/gtk/src/treedragsource.ccg91
-rw-r--r--libs/gtkmm2/gtk/src/treedragsource.hg74
-rw-r--r--libs/gtkmm2/gtk/src/treeiter.ccg355
-rw-r--r--libs/gtkmm2/gtk/src/treeiter.hg473
-rw-r--r--libs/gtkmm2/gtk/src/treemodel.ccg657
-rw-r--r--libs/gtkmm2/gtk/src/treemodel.hg429
-rw-r--r--libs/gtkmm2/gtk/src/treemodelfilter.ccg160
-rw-r--r--libs/gtkmm2/gtk/src/treemodelfilter.hg135
-rw-r--r--libs/gtkmm2/gtk/src/treemodelsort.ccg70
-rw-r--r--libs/gtkmm2/gtk/src/treemodelsort.hg95
-rw-r--r--libs/gtkmm2/gtk/src/treepath.ccg148
-rw-r--r--libs/gtkmm2/gtk/src/treepath.hg229
-rw-r--r--libs/gtkmm2/gtk/src/treerowreference.ccg38
-rw-r--r--libs/gtkmm2/gtk/src/treerowreference.hg54
-rw-r--r--libs/gtkmm2/gtk/src/treeselection.ccg200
-rw-r--r--libs/gtkmm2/gtk/src/treeselection.hg210
-rw-r--r--libs/gtkmm2/gtk/src/treesortable.ccg94
-rw-r--r--libs/gtkmm2/gtk/src/treesortable.hg124
-rw-r--r--libs/gtkmm2/gtk/src/treestore.ccg140
-rw-r--r--libs/gtkmm2/gtk/src/treestore.hg166
-rw-r--r--libs/gtkmm2/gtk/src/treeview.ccg494
-rw-r--r--libs/gtkmm2/gtk/src/treeview.hg1284
-rw-r--r--libs/gtkmm2/gtk/src/treeviewcolumn.ccg120
-rw-r--r--libs/gtkmm2/gtk/src/treeviewcolumn.hg287
-rw-r--r--libs/gtkmm2/gtk/src/uimanager.ccg56
-rw-r--r--libs/gtkmm2/gtk/src/uimanager.hg314
-rw-r--r--libs/gtkmm2/gtk/src/viewport.ccg25
-rw-r--r--libs/gtkmm2/gtk/src/viewport.hg79
-rw-r--r--libs/gtkmm2/gtk/src/volumebutton.ccg30
-rw-r--r--libs/gtkmm2/gtk/src/volumebutton.hg54
-rw-r--r--libs/gtkmm2/gtk/src/widget.ccg584
-rw-r--r--libs/gtkmm2/gtk/src/widget.hg962
-rw-r--r--libs/gtkmm2/gtk/src/window.ccg206
-rw-r--r--libs/gtkmm2/gtk/src/window.hg368
-rw-r--r--libs/gtkmm2/pango/.cvsignore1
-rw-r--r--libs/gtkmm2/pango/Makefile.am10
-rw-r--r--libs/gtkmm2/pango/Makefile.in (renamed from libs/glibmm2/docs/Makefile.in)284
-rw-r--r--libs/gtkmm2/pango/README0
-rw-r--r--libs/gtkmm2/pango/pangomm-1.4.pc.in11
-rw-r--r--libs/gtkmm2/pango/pangomm/.cvsignore1
-rw-r--r--libs/gtkmm2/pango/pangomm/Makefile.am31
-rw-r--r--libs/gtkmm2/pango/pangomm/Makefile.in791
-rw-r--r--libs/gtkmm2/pango/pangomm/attributes.h12
-rw-r--r--libs/gtkmm2/pango/pangomm/attriter.h6
-rw-r--r--libs/gtkmm2/pango/pangomm/attrlist.h18
-rw-r--r--libs/gtkmm2/pango/pangomm/cairofontmap.cc7
-rw-r--r--libs/gtkmm2/pango/pangomm/cairofontmap.h23
-rw-r--r--libs/gtkmm2/pango/pangomm/color.cc5
-rw-r--r--libs/gtkmm2/pango/pangomm/color.h8
-rw-r--r--libs/gtkmm2/pango/pangomm/context.cc34
-rw-r--r--libs/gtkmm2/pango/pangomm/context.h124
-rw-r--r--libs/gtkmm2/pango/pangomm/coverage.h8
-rw-r--r--libs/gtkmm2/pango/pangomm/font.h22
-rw-r--r--libs/gtkmm2/pango/pangomm/fontdescription.cc16
-rw-r--r--libs/gtkmm2/pango/pangomm/fontdescription.h109
-rw-r--r--libs/gtkmm2/pango/pangomm/fontface.cc5
-rw-r--r--libs/gtkmm2/pango/pangomm/fontface.h18
-rw-r--r--libs/gtkmm2/pango/pangomm/fontfamily.h9
-rw-r--r--libs/gtkmm2/pango/pangomm/fontmap.h7
-rw-r--r--libs/gtkmm2/pango/pangomm/fontmetrics.h19
-rw-r--r--libs/gtkmm2/pango/pangomm/fontset.h12
-rw-r--r--libs/gtkmm2/pango/pangomm/glyph.h2
-rw-r--r--libs/gtkmm2/pango/pangomm/glyphstring.cc5
-rw-r--r--libs/gtkmm2/pango/pangomm/glyphstring.h23
-rw-r--r--libs/gtkmm2/pango/pangomm/item.h13
-rw-r--r--libs/gtkmm2/pango/pangomm/language.h35
-rw-r--r--libs/gtkmm2/pango/pangomm/layout.cc19
-rw-r--r--libs/gtkmm2/pango/pangomm/layout.h185
-rw-r--r--libs/gtkmm2/pango/pangomm/layoutiter.h30
-rw-r--r--libs/gtkmm2/pango/pangomm/layoutline.h9
-rw-r--r--libs/gtkmm2/pango/pangomm/private/Makefile.am11
-rw-r--r--libs/gtkmm2/pango/pangomm/private/Makefile.in491
-rw-r--r--libs/gtkmm2/pango/pangomm/renderer.h35
-rw-r--r--libs/gtkmm2/pango/pangomm/tabarray.h12
-rw-r--r--libs/gtkmm2/pango/src/Makefile.am16
-rw-r--r--libs/gtkmm2/pango/src/Makefile.in464
-rw-r--r--libs/gtkmm2/pango/src/Makefile_list_of_hg.am_fragment15
-rw-r--r--libs/gtkmm2/pango/src/attributes.ccg351
-rw-r--r--libs/gtkmm2/pango/src/attributes.hg508
-rw-r--r--libs/gtkmm2/pango/src/attriter.ccg151
-rw-r--r--libs/gtkmm2/pango/src/attriter.hg114
-rw-r--r--libs/gtkmm2/pango/src/attrlist.ccg75
-rw-r--r--libs/gtkmm2/pango/src/attrlist.hg89
-rw-r--r--libs/gtkmm2/pango/src/cairofontmap.ccg30
-rw-r--r--libs/gtkmm2/pango/src/cairofontmap.hg56
-rw-r--r--libs/gtkmm2/pango/src/color.ccg33
-rw-r--r--libs/gtkmm2/pango/src/color.hg72
-rw-r--r--libs/gtkmm2/pango/src/context.ccg83
-rw-r--r--libs/gtkmm2/pango/src/context.hg173
-rw-r--r--libs/gtkmm2/pango/src/coverage.ccg35
-rw-r--r--libs/gtkmm2/pango/src/coverage.hg60
-rw-r--r--libs/gtkmm2/pango/src/font.ccg50
-rw-r--r--libs/gtkmm2/pango/src/font.hg89
-rw-r--r--libs/gtkmm2/pango/src/fontdescription.ccg35
-rw-r--r--libs/gtkmm2/pango/src/fontdescription.hg100
-rw-r--r--libs/gtkmm2/pango/src/fontface.ccg38
-rw-r--r--libs/gtkmm2/pango/src/fontface.hg60
-rw-r--r--libs/gtkmm2/pango/src/fontfamily.ccg38
-rw-r--r--libs/gtkmm2/pango/src/fontfamily.hg68
-rw-r--r--libs/gtkmm2/pango/src/fontmap.ccg41
-rw-r--r--libs/gtkmm2/pango/src/fontmap.hg59
-rw-r--r--libs/gtkmm2/pango/src/fontmetrics.ccg (renamed from libs/libglademm/libglademm/init.cc)18
-rw-r--r--libs/gtkmm2/pango/src/fontmetrics.hg48
-rw-r--r--libs/gtkmm2/pango/src/fontset.ccg53
-rw-r--r--libs/gtkmm2/pango/src/fontset.hg60
-rw-r--r--libs/gtkmm2/pango/src/glyph.ccg87
-rw-r--r--libs/gtkmm2/pango/src/glyph.hg195
-rw-r--r--libs/gtkmm2/pango/src/glyphstring.ccg90
-rw-r--r--libs/gtkmm2/pango/src/glyphstring.hg131
-rw-r--r--libs/gtkmm2/pango/src/item.ccg124
-rw-r--r--libs/gtkmm2/pango/src/item.hg182
-rw-r--r--libs/gtkmm2/pango/src/language.ccg65
-rw-r--r--libs/gtkmm2/pango/src/language.hg56
-rw-r--r--libs/gtkmm2/pango/src/layout.ccg132
-rw-r--r--libs/gtkmm2/pango/src/layout.hg248
-rw-r--r--libs/gtkmm2/pango/src/layoutiter.ccg112
-rw-r--r--libs/gtkmm2/pango/src/layoutiter.hg135
-rw-r--r--libs/gtkmm2/pango/src/layoutline.ccg81
-rw-r--r--libs/gtkmm2/pango/src/layoutline.hg151
-rw-r--r--libs/gtkmm2/pango/src/layoutrun.ccg49
-rw-r--r--libs/gtkmm2/pango/src/layoutrun.hg74
-rw-r--r--libs/gtkmm2/pango/src/pango.defs5
-rw-r--r--libs/gtkmm2/pango/src/pango_docs.xml11737
-rw-r--r--libs/gtkmm2/pango/src/pango_docs_override.xml372
-rw-r--r--libs/gtkmm2/pango/src/pango_enums.defs322
-rw-r--r--libs/gtkmm2/pango/src/pango_methods.defs5248
-rw-r--r--libs/gtkmm2/pango/src/pango_vfuncs.defs17
-rw-r--r--libs/gtkmm2/pango/src/rectangle.ccg65
-rw-r--r--libs/gtkmm2/pango/src/rectangle.hg145
-rw-r--r--libs/gtkmm2/pango/src/renderer.ccg41
-rw-r--r--libs/gtkmm2/pango/src/renderer.hg75
-rw-r--r--libs/gtkmm2/pango/src/tabarray.ccg76
-rw-r--r--libs/gtkmm2/pango/src/tabarray.hg67
-rw-r--r--libs/gtkmm2/scripts/Makefile.am4
-rw-r--r--libs/gtkmm2/scripts/Makefile.in359
-rw-r--r--libs/gtkmm2/scripts/README2
-rwxr-xr-x[-rw-r--r--]libs/gtkmm2/scripts/config.guess (renamed from libs/glibmm2/scripts/config.guess)0
-rwxr-xr-x[-rw-r--r--]libs/gtkmm2/scripts/config.sub (renamed from libs/glibmm2/scripts/config.sub)0
-rwxr-xr-x[-rw-r--r--]libs/gtkmm2/scripts/depcomp (renamed from libs/glibmm2/scripts/depcomp)64
-rw-r--r--libs/gtkmm2/scripts/docgen.m418
-rwxr-xr-x[-rw-r--r--]libs/gtkmm2/scripts/install-sh (renamed from libs/glibmm2/scripts/install-sh)348
-rw-r--r--libs/gtkmm2/scripts/ltmain.sh (renamed from libs/glibmm2/scripts/ltmain.sh)0
-rw-r--r--libs/gtkmm2/scripts/macros.m4 (renamed from libs/glibmm2/scripts/macros.m4)31
-rwxr-xr-x[-rw-r--r--]libs/gtkmm2/scripts/missing (renamed from libs/glibmm2/scripts/missing)61
-rw-r--r--libs/gtkmm2/scripts/reduced.m442
-rw-r--r--libs/gtkmm2/tests/Makefile.am8
-rw-r--r--libs/gtkmm2/tests/Makefile.am_fragment22
-rw-r--r--libs/gtkmm2/tests/Makefile.in522
-rw-r--r--libs/gtkmm2/tests/child_widget/Makefile.am (renamed from libs/glibmm2/examples/markup/Makefile.am)6
-rw-r--r--libs/gtkmm2/tests/child_widget/Makefile.in (renamed from libs/glibmm2/examples/iochannel_stream/Makefile.in)239
-rw-r--r--libs/gtkmm2/tests/child_widget/main.cc30
-rw-r--r--libs/gtkmm2/tests/child_widget/testwindow.cc35
-rw-r--r--libs/gtkmm2/tests/child_widget/testwindow.h39
-rw-r--r--libs/gtkmm2/tests/child_widget2/Makefile.am6
-rw-r--r--libs/gtkmm2/tests/child_widget2/Makefile.in481
-rw-r--r--libs/gtkmm2/tests/child_widget2/main.cc29
-rw-r--r--libs/gtkmm2/tests/child_widget_managed/Makefile.am (renamed from libs/glibmm2/examples/options/Makefile.am)4
-rw-r--r--libs/gtkmm2/tests/child_widget_managed/Makefile.in (renamed from libs/glibmm2/examples/markup/Makefile.in)228
-rw-r--r--libs/gtkmm2/tests/child_widget_managed/main.cc52
-rw-r--r--libs/gtkmm2/tests/delete_cpp_child/Makefile.am6
-rw-r--r--libs/gtkmm2/tests/delete_cpp_child/Makefile.in481
-rw-r--r--libs/gtkmm2/tests/delete_cpp_child/main.cc57
-rw-r--r--libs/gtkmm2/tests/dialog/Makefile.am6
-rw-r--r--libs/gtkmm2/tests/dialog/Makefile.in481
-rw-r--r--libs/gtkmm2/tests/dialog/main.cc57
-rw-r--r--libs/gtkmm2/tests/dialog_deletethis/Makefile.am6
-rw-r--r--libs/gtkmm2/tests/dialog_deletethis/Makefile.in481
-rw-r--r--libs/gtkmm2/tests/dialog_deletethis/main.cc53
-rw-r--r--libs/gtkmm2/tests/main_with_options/Makefile.am6
-rw-r--r--libs/gtkmm2/tests/main_with_options/Makefile.in (renamed from libs/glibmm2/examples/options/Makefile.in)225
-rw-r--r--libs/gtkmm2/tests/main_with_options/main.cc (renamed from libs/glibmm2/examples/options/main.cc)80
-rw-r--r--libs/gtkmm2/tests/menu_destruction/Makefile.am6
-rw-r--r--libs/gtkmm2/tests/menu_destruction/Makefile.in481
-rw-r--r--libs/gtkmm2/tests/menu_destruction/main.cc84
-rw-r--r--libs/gtkmm2/tests/property_notification/Makefile.am6
-rw-r--r--libs/gtkmm2/tests/property_notification/Makefile.in481
-rw-r--r--libs/gtkmm2/tests/property_notification/main.cc43
-rw-r--r--libs/gtkmm2/tests/refcount_dialog/Makefile.am6
-rw-r--r--libs/gtkmm2/tests/refcount_dialog/Makefile.in481
-rw-r--r--libs/gtkmm2/tests/refcount_dialog/main.cc60
-rw-r--r--libs/gtkmm2/tests/scrolledwindow/Makefile.am6
-rw-r--r--libs/gtkmm2/tests/scrolledwindow/Makefile.in481
-rw-r--r--libs/gtkmm2/tests/scrolledwindow/main.cc65
-rw-r--r--libs/gtkmm2/tests/wrap_existing/Makefile.am6
-rw-r--r--libs/gtkmm2/tests/wrap_existing/Makefile.in481
-rw-r--r--libs/gtkmm2/tests/wrap_existing/main.cc38
-rw-r--r--libs/gtkmm2/tools/Makefile0
-rw-r--r--libs/gtkmm2/tools/Makefile.am9
-rw-r--r--libs/gtkmm2/tools/Makefile.in (renamed from libs/glibmm2/examples/Makefile.in)214
-rw-r--r--libs/gtkmm2/tools/Makefile_list_of_sources.am_fragment2
-rw-r--r--libs/gtkmm2/tools/README (renamed from libs/glibmm2/tools/README)0
-rw-r--r--libs/gtkmm2/tools/TODO (renamed from libs/glibmm2/tools/TODO)0
-rw-r--r--libs/gtkmm2/tools/extra_defs_gen/Makefile.am8
-rw-r--r--libs/gtkmm2/tools/extra_defs_gen/Makefile.in469
-rw-r--r--libs/gtkmm2/tools/extra_defs_gen/generate_defs_gtk.cc225
-rw-r--r--libs/gtkmm2/tools/m4/Makefile.am (renamed from libs/glibmm2/tools/m4/Makefile.am)2
-rw-r--r--libs/gtkmm2/tools/m4/Makefile.in (renamed from libs/glibmm2/tools/m4/Makefile.in)157
-rw-r--r--libs/gtkmm2/tools/m4/Makefile_list_of_sources.am_fragment3
-rw-r--r--libs/gtkmm2/tools/m4/convert.m4 (renamed from libs/glibmm2/tools/m4/convert.m4)2
-rw-r--r--libs/gtkmm2/tools/m4/convert_atk.m4 (renamed from libs/glibmm2/tools/m4/convert_atk.m4)12
-rw-r--r--libs/gtkmm2/tools/m4/convert_gdk.m4 (renamed from libs/glibmm2/tools/m4/convert_gdk.m4)55
-rw-r--r--libs/gtkmm2/tools/m4/convert_gtk.m4 (renamed from libs/glibmm2/tools/m4/convert_gtk.m4)256
-rw-r--r--libs/gtkmm2/tools/m4/convert_gtkmm.m4 (renamed from libs/glibmm2/tools/m4/convert_gtkmm.m4)2
-rw-r--r--libs/gtkmm2/tools/m4/convert_pango.m4 (renamed from libs/glibmm2/tools/m4/convert_pango.m4)27
-rw-r--r--libs/libglademm/AUTHORS2
-rw-r--r--libs/libglademm/COPYING504
-rw-r--r--libs/libglademm/ChangeLog361
-rw-r--r--libs/libglademm/NEWS95
-rw-r--r--libs/libglademm/SConscript25
-rw-r--r--libs/libglademm/libglademm/variablesmap.cc199
-rw-r--r--libs/libglademm/libglademm/variablesmap.h96
-rw-r--r--libs/libglademm/libglademm/wrap_init.cc50
-rw-r--r--libs/libglademm/libglademm/xml.cc343
-rw-r--r--libs/libglademm/libglademm/xml.h348
-rw-r--r--libs/libglademm/libglademmconfig.h15
1550 files changed, 362190 insertions, 72886 deletions
diff --git a/libs/cairomm/ChangeLog b/libs/cairomm/ChangeLog
index c78ed89c0a..baaa1449e3 100644
--- a/libs/cairomm/ChangeLog
+++ b/libs/cairomm/ChangeLog
@@ -1,3 +1,243 @@
+== 1.4.6 ==
+
+2007-11-10 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * docs/reference/Doxyfile.in: update doxygen config file since my version of
+ doxygen now complains that there are obsolete config keys
+
+2007-11-10 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * NEWS: update news for 1.4.6 release
+ * configure.in: bumped version
+
+2007-08-13 Murray Cumming <murrayc@murrayc.com>
+
+ * cairomm/context.cc: Add #include <cairomm/quartz_surface.h>
+ to fix the build on MacOS. Thanks to Elias N (Bug #11972).
+
+== 1.4.4 ==
+
+2007-07-21 Murray Cumming <murrayc@murrayc.com>
+
+ * m4/reduced.m4: Added, containing CAIROMM_ARG_ENABLE_API_EXCEPTIONS().
+ * configure.in: Use CAIROMM_ARG_ENABLE_API_EXCEPTIONS() to add a
+ --enable-api-exceptions=yes/no option.
+ Used to generate a cairomm/cairommconfig.h config file, which
+ defines (or not) CAIROMM_EXCEPTIONS_ENABLED.
+ * cairomm/cairommconfig.h.in: Added, used to generate cairommconfig.h
+ * cairomm/private.cc:
+ * cairomm/private.h: Use ifdef to replace throw_exception() with an empty
+ implementation when exceptions are disabled.
+ This allows cairomm to be built when using CXXFLAGS=-fno-exceptions.
+
+2007-07-14 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * configure.in: post-release version number bump
+
+=== 1.4.2 ===
+
+2007-07-14 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * NEWS: updated for 1.4.2 release
+ * configure.in: bumped version to 1.4.2
+
+2007-06-14 Dave Beckett <dave@dajobe.org>
+
+ * configure.in: Update the GENERIC_LIBRARY_VERSION correctly
+ Was: 1:0:0 in 1.2.4
+ current: interfaces were added, increment to 2
+ revision: set to zero since current was incremented
+ age: increment since interfaces were added
+ Changed to: 2:0:1
+
+2007-06-14 Murray Cumming <murrayc@murrayc.com>
+
+ * cairomm/refptr.h: Added RefPtr(object, refcount) constructor
+ for use in cast_*(), so that the casted RefPtr shares the same
+ refcount, avoiding an early deletion. I do not like making
+ this constructor public, but I do not see another way.
+
+=== 1.4.0 ===
+
+2007-07-12 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * Makefile.am: add doc-publish target and make release-publish depend on
+ this. This automatically uploads the new API documentation on release
+ * docs/reference/Makefile.am: upload the html documentation and a tarball of
+ the documentation to the cairographics.org site
+
+2007-07-12 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * docs/reference/Makefile.am: hacky workaround to get distcheck to pass
+
+2007-07-10 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * NEWS: Update NEWS for release
+ * configure.in: bump version for release
+
+2007-07-10 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * cairomm/context.cc: add ability to use dynamic casting with the return
+ values from more functions, including:
+ Context::get_target()
+ Context::get_target() const
+ Context::get_source()
+ Context::get_source() const
+ Context::get_group_target()
+ Context::get_group_target() const
+ Context::pop_group()
+ * tests/test-context.cc: a few additional tests to verify the const /
+ non-const versions both work with dynamic casting.
+
+2007-07-10 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * docs/reference/cairomm.css: Improve the documentation style a little bit
+ to make it more readable
+ * docs/reference/Doxyfile.in: build the reference doc for the new
+ QuartzSurface class
+
+2007-07-10 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * cairomm/context.cc:
+ * cairomm/context.h: add alternate API for set_dash() which takes a
+ std::vector argument instead of the slightly unexpected std::valarray
+ argument
+ * tests/test-context.cc: test that both API work correctly and compile
+ correctly without any problems
+
+2007-07-04 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * tests/test-context.cc: add some tests for matrix transformations and
+ user-to-device coordinate mappings. The matrix transformation 'test' does
+ nothing more than call the functions to excercise them a bit, but it's
+ causing an unexpected exception to be triggered when calling
+ Context::set_matrix(). The odd thing is that exception.what() results in
+ 'success' being printed. This requires further investigation
+ Also used BOOST_CHECK_EQUAL in most places instead of BOOST_CHECK to get
+ more meaningful failure messages.
+
+2007-07-04 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * cairomm/private.cc: add missing 'break;' on the I/O error case statement
+
+2007-07-04 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * cairomm/context.cc: when getting the source pattern of a Cairo::Context,
+ check which type of Pattern it is so that we create the correct C++ wrapper.
+ Without this, RefPtr<>::cast_dynamic() doesn't seem to work as we would
+ expect it to.
+ * tests/test-context.cc: improve the Context::get_source() /
+ Context::set_source () tests now that dynamic casting works correctly
+
+2007-07-04 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * examples/pdf-surface/main.cc:
+ * examples/png_file/main.cc:
+ * examples/ps-surface/main.cc:
+ * examples/svg-surface/main.cc:
+ * examples/text-rotate/text-rotate.cc:
+ * tests/test-context.cc: fix a bunch of minor compile errors when compiling
+ with -Werror
+
+2007-07-04 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * configure.in: enable extra compiler warnings and -Werror if the
+ CAIROMM_DEVEL environment variable is set to 'on'. This caught the
+ following mistake.
+ * cairomm/pattern.cc: forgot to return the ColorStop vector
+
+2007-07-04 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * cairomm/context.cc: fix a FIXME to match the style of
+ ScaledFont::glyph_extents since MSVC (and possibly other compilers) complain
+ when allocating an array on the stack and the size of the array is not a
+ compile-time constante
+
+2007-04-16 Hugo Vincent <hugo.vincent@gmail.com>
+
+ * Added QuartzSurface for MacOS X (when cairo is built with Quartz support),
+ similar to the existing Win32Surface and XlibSurface. These allow use of
+ platform-specific features and data structures.
+
+2007-03-23 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * Makefile.am:
+ * autogen.sh:
+ * configure.in:
+ * m4/ax_boost_base.m4:
+ * m4/ax_boost_unit_test_framework.m4: Add some basic test infrastructure.
+ It's disabled by default, and must be explicitly enabled by passing
+ --enable-tests to configure (or by setting the CAIROMM_DEVEL environment
+ variable to "on"). It uses the boost unit test framework, but this should
+ not be required unless you've explicitly enabled tests. If tests are
+ enabled, you can easily run them with 'make check'
+ * tests/Makefile.am:
+ * tests/test-context.cc: added the beginning of a test for Cairo::Context.
+ Most of these tests are really very interesting. Basically what I'm trying
+ to do is a) test some basic behaviors, and b) excercise the functionality a
+ little bit. One of the tests currently fails due to a RefPtr::cast_dynamic
+ failure, so I have to see what's going on there.
+
+2007-03-22 Murray Cumming <murrayc@murrayc@murrayc.com>
+
+ * cairomm/enums.h: Restored FORMAT_RGB16_565 and marked it as deprecated.
+ Note that CAIRO_FORMAT_RGB16_565 has not really been removed from cairo.
+ It has just moved from the enum to a #define in cairo-deprecated.
+ * cairomm/context.cc:
+ * cairomm/context.h: Made get_dash() const.
+ Renamed clip_extents() to get_clip_extents(), to match the other get_*_extents() methods
+ (in Context, if not in other classes), and made it const.
+ Made copy_clip_rectangle_list() const.
+ * cairomm/pattern.cc:
+ * cairomm/pattern.h: Make the RadialGradient::get_radial_circles(), LinearGradient::get_linear_points(),
+ and Gradient::get_color_stops() methods const.
+ Added a non-const method overload of get_surface().
+ Correc the get_color_stops() implementation to match the declaration.
+
+2007-03-22 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * cairomm/context.cc: Minor comment cleanups
+ * cairomm/pattern.cc: get the gradient stops by reference parameter instead
+ of returning by value. This saves an extra copy of the vector.
+
+2007-03-21 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * cairomm/context.cc:
+ * cairomm/context.h:
+ * cairomm/enums.h:
+ * cairomm/pattern.cc:
+ * cairomm/pattern.h:
+ * configure.in: Add initial support for new cairo 1.4.x API. It will
+ probably still need quite a bit of work, but I wanted to commit what I have
+ now so that it doesn't keep sitting in my working directory.
+ (Extra note from Murray:
+ This was:
+ - Pattern::create_rgba() - a new method overload with 4 args, including alpha.
+ - SurfacePattern::get_surface()
+ - Gradient::get_color_stops() (with a new ColorStop struct)
+ - LinearGradient::get_linear_points()
+ - RadialGradient::get_radial_circles()
+ - Context::clip_extents()
+ - Context::copy_clip_rectangle_list()
+ - Context::get_dash()
+ - SURFACE_TYPE_OS2 was added
+ - FORMAT_RGB16_565 was removed (but that is not allowed, so I'll fix that.)
+
+2007-02-01 Jonathon Jongsma <jonathon.jongsma@gmail.com>
+
+ * configure.in: Fixes for building on Cygwin from
+ yselkowitz@users.sourceforge.net. Closes bug #9726
+
+2007-01-28 Jonathon Jongsma <jonathon.jongsma@gmail.com>
+
+ * configure.in: bump rev to 1.2.5
+
+2007-01-28 Jonathon Jongsma <jonathon.jongsma@gmail.com>
+
+ * docs/reference/Doxyfile.in: fixes building the cairomm documentation where
+ builddir != srcdir. Patch from yselkowitz@users.sourceforge.net for bug
+ #9727
+
1.2.4:
2007-01-17 Jonathon Jongsma <jonathon.jongsma@gmail.com>
diff --git a/libs/cairomm/MSVC/Makefile.am b/libs/cairomm/MSVC/Makefile.am
new file mode 100644
index 0000000000..976d5a51aa
--- /dev/null
+++ b/libs/cairomm/MSVC/Makefile.am
@@ -0,0 +1,3 @@
+SUBDIRS = gendef cairomm examples
+
+EXTRA_DIST = blank.cpp cairomm.sln README
diff --git a/libs/glibmm2/MSVC_Net2003/Makefile.in b/libs/cairomm/MSVC/Makefile.in
index 89e7e1cf87..0176016440 100644
--- a/libs/glibmm2/MSVC_Net2003/Makefile.in
+++ b/libs/cairomm/MSVC/Makefile.in
@@ -35,21 +35,16 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-subdir = MSVC_Net2003
+subdir = MSVC
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
+ $(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
+ $(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
+CONFIG_HEADER = $(top_builddir)/cairomm/cairommconfig.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
@@ -72,7 +67,14 @@ AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
+AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
+AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
AWK = @AWK@
+BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_LDFLAGS = @BOOST_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
+CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
+CAIROMM_LIBS = @CAIROMM_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -85,9 +87,10 @@ CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
-DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
@@ -96,34 +99,22 @@ EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
-GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
-GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
-GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
+GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
+GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
+GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
+GENERIC_VERSION = @GENERIC_VERSION@
+GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
-M4 = @M4@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
@@ -136,25 +127,18 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@@ -171,33 +155,40 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
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@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-SUBDIRS = gendef glibmm examples tests
-EXTRA_DIST = blank.cpp glibmm.sln README
+SUBDIRS = gendef cairomm examples
+EXTRA_DIST = blank.cpp cairomm.sln README
all: all-recursive
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -206,9 +197,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC/Makefile'; \
cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu MSVC_Net2003/Makefile
+ $(AUTOMAKE) --gnu MSVC/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -222,9 +213,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(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)
+$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
mostlyclean-libtool:
diff --git a/libs/cairomm/MSVC/README b/libs/cairomm/MSVC/README
new file mode 100644
index 0000000000..81886cdb70
--- /dev/null
+++ b/libs/cairomm/MSVC/README
@@ -0,0 +1,12 @@
+Building cairomm-1.0 with Visual Studio .NET 2005
+
+* You will need Visual Studio .NET 2005 (MSVC 8.0). Earlier versions of the compiler, including 6.0 and 7.0 might also work but have not been tested.
+* Install the latest Win32 GTK+ Development Environment from the Glade for Windows project, http://gladewin32.sourceforge.net.
+* Add libsigc++ to the include and lib paths in Visual Studio.
+* Load the cairomm/MSVC3/cairomm.sln solution.
+* Build the entire solution.
+* Run the tests.
+
+Cedric Gustin
+08/18/2006
+
diff --git a/libs/glibmm2/MSVC_Net2003/blank.cpp b/libs/cairomm/MSVC/blank.cpp
index 98feb66329..98feb66329 100644
--- a/libs/glibmm2/MSVC_Net2003/blank.cpp
+++ b/libs/cairomm/MSVC/blank.cpp
diff --git a/libs/cairomm/MSVC/cairomm.sln b/libs/cairomm/MSVC/cairomm.sln
new file mode 100644
index 0000000000..ebedfae590
--- /dev/null
+++ b/libs/cairomm/MSVC/cairomm.sln
@@ -0,0 +1,73 @@
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual C++ Express 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gendef", "gendef\gendef.vcproj", "{07324745-C9BE-4D65-B08A-9C88188C0C28}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cairomm-1.0", "cairomm\cairomm.vcproj", "{58B2B53C-C4FF-47FD-817B-095E45B7F7D4}"
+ ProjectSection(ProjectDependencies) = postProject
+ {07324745-C9BE-4D65-B08A-9C88188C0C28} = {07324745-C9BE-4D65-B08A-9C88188C0C28}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_pdf-surface", "examples\pdf-surface\pdf-surface.vcproj", "{129ECC08-6D30-4884-B824-4AF96EF0A45C}"
+ ProjectSection(ProjectDependencies) = postProject
+ {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_png_file", "examples\png_file\png_file.vcproj", "{45EEED29-0231-45C6-9682-CAB2E042C51E}"
+ ProjectSection(ProjectDependencies) = postProject
+ {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_ps-surface", "examples\ps-surface\ps-surface.vcproj", "{CAE46373-7375-4607-AAB7-0EBA8F0E5B55}"
+ ProjectSection(ProjectDependencies) = postProject
+ {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_svg-surface", "examples\svg-surface\svg-surface.vcproj", "{BCA44D2B-1832-41F5-9EE9-FE1F709EE584}"
+ ProjectSection(ProjectDependencies) = postProject
+ {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_text-rotate", "examples\text-rotate\text-rotate.vcproj", "{F4D455E4-464D-49CC-A120-DB9B8AE0207E}"
+ ProjectSection(ProjectDependencies) = postProject
+ {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {07324745-C9BE-4D65-B08A-9C88188C0C28}.Debug|Win32.ActiveCfg = Debug|Win32
+ {07324745-C9BE-4D65-B08A-9C88188C0C28}.Debug|Win32.Build.0 = Debug|Win32
+ {07324745-C9BE-4D65-B08A-9C88188C0C28}.Release|Win32.ActiveCfg = Release|Win32
+ {07324745-C9BE-4D65-B08A-9C88188C0C28}.Release|Win32.Build.0 = Release|Win32
+ {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Debug|Win32.ActiveCfg = Debug|Win32
+ {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Debug|Win32.Build.0 = Debug|Win32
+ {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Release|Win32.ActiveCfg = Release|Win32
+ {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Release|Win32.Build.0 = Release|Win32
+ {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Debug|Win32.Build.0 = Debug|Win32
+ {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Release|Win32.ActiveCfg = Release|Win32
+ {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Release|Win32.Build.0 = Release|Win32
+ {45EEED29-0231-45C6-9682-CAB2E042C51E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {45EEED29-0231-45C6-9682-CAB2E042C51E}.Debug|Win32.Build.0 = Debug|Win32
+ {45EEED29-0231-45C6-9682-CAB2E042C51E}.Release|Win32.ActiveCfg = Release|Win32
+ {45EEED29-0231-45C6-9682-CAB2E042C51E}.Release|Win32.Build.0 = Release|Win32
+ {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Debug|Win32.ActiveCfg = Debug|Win32
+ {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Debug|Win32.Build.0 = Debug|Win32
+ {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Release|Win32.ActiveCfg = Release|Win32
+ {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Release|Win32.Build.0 = Release|Win32
+ {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Debug|Win32.ActiveCfg = Debug|Win32
+ {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Debug|Win32.Build.0 = Debug|Win32
+ {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Release|Win32.ActiveCfg = Release|Win32
+ {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Release|Win32.Build.0 = Release|Win32
+ {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Debug|Win32.Build.0 = Debug|Win32
+ {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Release|Win32.ActiveCfg = Release|Win32
+ {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/libs/cairomm/MSVC/cairomm/Makefile.am b/libs/cairomm/MSVC/cairomm/Makefile.am
new file mode 100644
index 0000000000..b0c0ced3ed
--- /dev/null
+++ b/libs/cairomm/MSVC/cairomm/Makefile.am
@@ -0,0 +1,5 @@
+BUILT_SOURCES = cairomm.rc
+
+MAINTAINERCLEANFILES = $(built_sources)
+
+EXTRA_DIST = cairomm.vcproj cairomm.rc
diff --git a/libs/cairomm/MSVC/cairomm/Makefile.in b/libs/cairomm/MSVC/cairomm/Makefile.in
new file mode 100644
index 0000000000..a30d8d2a98
--- /dev/null
+++ b/libs/cairomm/MSVC/cairomm/Makefile.in
@@ -0,0 +1,350 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 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@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+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 = MSVC/cairomm
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(srcdir)/cairomm.rc.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
+ $(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
+ $(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/cairomm/cairommconfig.h
+CONFIG_CLEAN_FILES = cairomm.rc
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
+AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
+AWK = @AWK@
+BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_LDFLAGS = @BOOST_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
+CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
+CAIROMM_LIBS = @CAIROMM_LIBS@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
+GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
+GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
+GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
+GENERIC_VERSION = @GENERIC_VERSION@
+GREP = @GREP@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OS_WIN32_FALSE = @OS_WIN32_FALSE@
+OS_WIN32_TRUE = @OS_WIN32_TRUE@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
+PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+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@
+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@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+BUILT_SOURCES = cairomm.rc
+MAINTAINERCLEANFILES = $(built_sources)
+EXTRA_DIST = cairomm.vcproj cairomm.rc
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC/cairomm/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu MSVC/cairomm/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: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+cairomm.rc: $(top_builddir)/config.status $(srcdir)/cairomm.rc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) 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)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+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-info-am
+
+.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-exec install-exec-am \
+ install-info install-info-am install-man 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-info-am
+
+# 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:
diff --git a/libs/glibmm2/MSVC_Net2003/glibmm/glibmm.rc b/libs/cairomm/MSVC/cairomm/cairomm.rc
index 0b0fd41a3e..925e3109f9 100644
--- a/libs/glibmm2/MSVC_Net2003/glibmm/glibmm.rc
+++ b/libs/cairomm/MSVC/cairomm/cairomm.rc
@@ -1,72 +1,72 @@
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-
-#include "afxres.h"
-
-#undef APSTUDIO_READONLY_SYMBOLS
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,13,3,1
- PRODUCTVERSION 2,13,3,1
- FILEFLAGSMASK 0x17L
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "CompanyName", "The glibmm development team (see AUTHORS)"
- VALUE "FileDescription", "The official C++ wrapper for glib"
- VALUE "FileVersion", "2.13.3"
- VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)"
- VALUE "OriginalFilename", "glibmm-2.4"
- VALUE "ProductName", "glibmm"
- VALUE "ProductVersion", "2.13.3"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // English (U.S.) resources
-
-#ifndef APSTUDIO_INVOKED
-
-#endif // not APSTUDIO_INVOKED
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+
+#include "afxres.h"
+
+#undef APSTUDIO_READONLY_SYMBOLS
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,4,6,1
+ PRODUCTVERSION 1,4,6,1
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "CompanyName", "The cairomm development team (see AUTHORS)"
+ VALUE "FileDescription", "The official C++ wrapper for cairo"
+ VALUE "FileVersion", "1.4.6"
+ VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)"
+ VALUE "OriginalFilename", "cairomm-1.0"
+ VALUE "ProductName", "cairomm"
+ VALUE "ProductVersion", "1.4.6"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
+
+#endif // English (U.S.) resources
+
+#ifndef APSTUDIO_INVOKED
+
+#endif // not APSTUDIO_INVOKED
diff --git a/libs/cairomm/MSVC/cairomm/cairomm.rc.in b/libs/cairomm/MSVC/cairomm/cairomm.rc.in
new file mode 100644
index 0000000000..8c968cf05d
--- /dev/null
+++ b/libs/cairomm/MSVC/cairomm/cairomm.rc.in
@@ -0,0 +1,72 @@
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+
+#include "afxres.h"
+
+#undef APSTUDIO_READONLY_SYMBOLS
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION @GENERIC_MAJOR_VERSION@,@GENERIC_MINOR_VERSION@,@GENERIC_MICRO_VERSION@,1
+ PRODUCTVERSION @GENERIC_MAJOR_VERSION@,@GENERIC_MINOR_VERSION@,@GENERIC_MICRO_VERSION@,1
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "CompanyName", "The cairomm development team (see AUTHORS)"
+ VALUE "FileDescription", "The official C++ wrapper for cairo"
+ VALUE "FileVersion", "@VERSION@"
+ VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)"
+ VALUE "OriginalFilename", "cairomm-1.0"
+ VALUE "ProductName", "cairomm"
+ VALUE "ProductVersion", "@VERSION@"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
+
+#endif // English (U.S.) resources
+
+#ifndef APSTUDIO_INVOKED
+
+#endif // not APSTUDIO_INVOKED
diff --git a/libs/cairomm/MSVC/cairomm/cairomm.vcproj b/libs/cairomm/MSVC/cairomm/cairomm.vcproj
new file mode 100644
index 0000000000..ff0136d63b
--- /dev/null
+++ b/libs/cairomm/MSVC/cairomm/cairomm.vcproj
@@ -0,0 +1,310 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="cairomm-1.0"
+ ProjectGUID="{58B2B53C-C4FF-47FD-817B-095E45B7F7D4}"
+ RootNamespace="glibmm"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=".;../.."
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;GLIBMM_BUILD"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ Description="Generate cairomm def file"
+ CommandLine="$(SolutionDir)gendef\$(ConfigurationName)\gendef $(ConfigurationName)\$(InputName).def $(TargetFileName) $(IntDir)\*.obj"
+ ExcludedFromBuild="false"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="cairo.lib"
+ OutputFile="$(OutDir)/$(ProjectName)d.dll"
+ GenerateManifest="true"
+ ModuleDefinitionFile="$(ConfigurationName)\$(InputName).def"
+ GenerateDebugInformation="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=".;../.."
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;GLIBMM_BUILD"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ Description="Generate cairomm def file"
+ CommandLine="$(SolutionDir)gendef\$(ConfigurationName)\gendef $(ConfigurationName)\$(InputName).def $(TargetFileName) $(IntDir)\*.obj"
+ ExcludedFromBuild="false"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="cairo.lib"
+ GenerateManifest="true"
+ ModuleDefinitionFile="$(ConfigurationName)\$(InputName).def"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\context.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\exception.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\fontface.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\fontoptions.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\path.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\pattern.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\private.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\scaledfont.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\surface.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\win32_surface.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\xlib_surface.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\..\cairomm\cairomm.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\context.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\enums.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\exception.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\fontface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\fontoptions.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\path.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\pattern.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\private.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\refptr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\scaledfont.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\surface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\win32_surface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cairomm\xlib_surface.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ <File
+ RelativePath=".\cairomm.rc"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/cairomm/MSVC/examples/Makefile.am b/libs/cairomm/MSVC/examples/Makefile.am
new file mode 100644
index 0000000000..a436d388b3
--- /dev/null
+++ b/libs/cairomm/MSVC/examples/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = pdf-surface png_file ps-surface svg-surface text-rotate
diff --git a/libs/glibmm2/MSVC_Net2003/tests/Makefile.in b/libs/cairomm/MSVC/examples/Makefile.in
index 127f00901c..0035f00efb 100644
--- a/libs/glibmm2/MSVC_Net2003/tests/Makefile.in
+++ b/libs/cairomm/MSVC/examples/Makefile.in
@@ -35,21 +35,16 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-subdir = MSVC_Net2003/tests
+subdir = MSVC/examples
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
+ $(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
+ $(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
+CONFIG_HEADER = $(top_builddir)/cairomm/cairommconfig.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
@@ -72,7 +67,14 @@ AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
+AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
+AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
AWK = @AWK@
+BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_LDFLAGS = @BOOST_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
+CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
+CAIROMM_LIBS = @CAIROMM_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -85,9 +87,10 @@ CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
-DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
@@ -96,34 +99,22 @@ EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
-GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
-GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
-GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
+GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
+GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
+GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
+GENERIC_VERSION = @GENERIC_VERSION@
+GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
-M4 = @M4@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
@@ -136,25 +127,18 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@@ -171,32 +155,39 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
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@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-SUBDIRS = glibmm_value
+SUBDIRS = pdf-surface png_file ps-surface svg-surface text-rotate
all: all-recursive
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -205,9 +196,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/tests/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC/examples/Makefile'; \
cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu MSVC_Net2003/tests/Makefile
+ $(AUTOMAKE) --gnu MSVC/examples/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -221,9 +212,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(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)
+$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
mostlyclean-libtool:
diff --git a/libs/cairomm/MSVC/examples/pdf-surface/Makefile.am b/libs/cairomm/MSVC/examples/pdf-surface/Makefile.am
new file mode 100644
index 0000000000..e94dba186c
--- /dev/null
+++ b/libs/cairomm/MSVC/examples/pdf-surface/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = pdf-surface.vcproj
diff --git a/libs/glibmm2/MSVC_Net2003/examples/thread/Makefile.in b/libs/cairomm/MSVC/examples/pdf-surface/Makefile.in
index 80f04d6b25..2e03ccee59 100644
--- a/libs/glibmm2/MSVC_Net2003/examples/thread/Makefile.in
+++ b/libs/cairomm/MSVC/examples/pdf-surface/Makefile.in
@@ -35,21 +35,16 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-subdir = MSVC_Net2003/examples/thread
+subdir = MSVC/examples/pdf-surface
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
+ $(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
+ $(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
+CONFIG_HEADER = $(top_builddir)/cairomm/cairommconfig.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
@@ -63,7 +58,14 @@ AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
+AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
+AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
AWK = @AWK@
+BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_LDFLAGS = @BOOST_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
+CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
+CAIROMM_LIBS = @CAIROMM_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -76,9 +78,10 @@ CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
-DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
@@ -87,34 +90,22 @@ EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
-GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
-GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
-GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
+GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
+GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
+GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
+GENERIC_VERSION = @GENERIC_VERSION@
+GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
-M4 = @M4@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
@@ -127,25 +118,18 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@@ -162,32 +146,39 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
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@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-EXTRA_DIST = thread.vcproj
+EXTRA_DIST = pdf-surface.vcproj
all: all-am
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -196,9 +187,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/thread/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC/examples/pdf-surface/Makefile'; \
cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu MSVC_Net2003/examples/thread/Makefile
+ $(AUTOMAKE) --gnu MSVC/examples/pdf-surface/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -212,9 +203,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(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)
+$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
mostlyclean-libtool:
diff --git a/libs/glibmm2/MSVC_Net2003/examples/dispatcher/dispatcher.vcproj b/libs/cairomm/MSVC/examples/pdf-surface/pdf-surface.vcproj
index 16006f62bf..4b33ff71da 100755..100644
--- a/libs/glibmm2/MSVC_Net2003/examples/dispatcher/dispatcher.vcproj
+++ b/libs/cairomm/MSVC/examples/pdf-surface/pdf-surface.vcproj
@@ -1,213 +1,213 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="examples_dispatcher"
- ProjectGUID="{129ECC08-6D30-4884-B824-4AF96EF0A45C}"
- RootNamespace="examples_dispatcher"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\glib&quot;"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="gthread-2.0.lib sigc-2.0d.lib"
- OutputFile="$(OutDir)/dispatcher.exe"
- LinkIncremental="2"
- GenerateManifest="true"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\glib&quot;"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="gthread-2.0.lib sigc-2.0.lib"
- OutputFile="$(OutDir)/dispatcher.exe"
- LinkIncremental="1"
- GenerateManifest="true"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\..\blank.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\examples\thread\dispatcher.cc"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="examples_pdf-surface"
+ ProjectGUID="{129ECC08-6D30-4884-B824-4AF96EF0A45C}"
+ RootNamespace="examples_dispatcher"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="&quot;$(SolutionDir)\..&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="cairo.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="2"
+ GenerateManifest="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(SolutionDir)\..&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="cairo.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="1"
+ GenerateManifest="true"
+ GenerateDebugInformation="false"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\pdf-surface\main.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/cairomm/MSVC/examples/png_file/Makefile.am b/libs/cairomm/MSVC/examples/png_file/Makefile.am
new file mode 100644
index 0000000000..41f7722c22
--- /dev/null
+++ b/libs/cairomm/MSVC/examples/png_file/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = png_file.vcproj
diff --git a/libs/glibmm2/MSVC_Net2003/examples/markup/Makefile.in b/libs/cairomm/MSVC/examples/png_file/Makefile.in
index 16304801c6..595d6525ce 100644
--- a/libs/glibmm2/MSVC_Net2003/examples/markup/Makefile.in
+++ b/libs/cairomm/MSVC/examples/png_file/Makefile.in
@@ -35,21 +35,16 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-subdir = MSVC_Net2003/examples/markup
+subdir = MSVC/examples/png_file
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
+ $(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
+ $(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
+CONFIG_HEADER = $(top_builddir)/cairomm/cairommconfig.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
@@ -63,7 +58,14 @@ AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
+AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
+AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
AWK = @AWK@
+BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_LDFLAGS = @BOOST_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
+CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
+CAIROMM_LIBS = @CAIROMM_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -76,9 +78,10 @@ CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
-DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
@@ -87,34 +90,22 @@ EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
-GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
-GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
-GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
+GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
+GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
+GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
+GENERIC_VERSION = @GENERIC_VERSION@
+GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
-M4 = @M4@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
@@ -127,25 +118,18 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@@ -162,32 +146,39 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
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@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-EXTRA_DIST = markup.vcproj
+EXTRA_DIST = png_file.vcproj
all: all-am
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -196,9 +187,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/markup/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC/examples/png_file/Makefile'; \
cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu MSVC_Net2003/examples/markup/Makefile
+ $(AUTOMAKE) --gnu MSVC/examples/png_file/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -212,9 +203,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(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)
+$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
mostlyclean-libtool:
diff --git a/libs/glibmm2/MSVC_Net2003/examples/markup/markup.vcproj b/libs/cairomm/MSVC/examples/png_file/png_file.vcproj
index 4d2bdc5d9a..364ddc377f 100755..100644
--- a/libs/glibmm2/MSVC_Net2003/examples/markup/markup.vcproj
+++ b/libs/cairomm/MSVC/examples/png_file/png_file.vcproj
@@ -1,212 +1,213 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="examples_markup"
- ProjectGUID="{6300FCFA-97F1-4967-802E-E354D95DB0EB}"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\glib&quot;"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="glib-2.0.lib"
- OutputFile="$(OutDir)/markup.exe"
- LinkIncremental="2"
- GenerateManifest="true"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\glib&quot;"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="glib-2.0.lib"
- OutputFile="$(OutDir)/markup.exe"
- LinkIncremental="1"
- GenerateManifest="true"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\..\blank.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\examples\markup\parser.cc"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="examples_png_file"
+ ProjectGUID="{45EEED29-0231-45C6-9682-CAB2E042C51E}"
+ RootNamespace="examples_dispatcher"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="&quot;$(SolutionDir)\..&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="cairo.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="2"
+ GenerateManifest="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(SolutionDir)\..&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="cairo.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="1"
+ GenerateManifest="true"
+ GenerateDebugInformation="false"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\png_file\main.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/cairomm/MSVC/examples/ps-surface/Makefile.am b/libs/cairomm/MSVC/examples/ps-surface/Makefile.am
new file mode 100644
index 0000000000..d827e579d9
--- /dev/null
+++ b/libs/cairomm/MSVC/examples/ps-surface/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = ps-surface.vcproj
diff --git a/libs/glibmm2/MSVC_Net2003/examples/options/Makefile.in b/libs/cairomm/MSVC/examples/ps-surface/Makefile.in
index fa7a7d7420..07beebac98 100644
--- a/libs/glibmm2/MSVC_Net2003/examples/options/Makefile.in
+++ b/libs/cairomm/MSVC/examples/ps-surface/Makefile.in
@@ -35,21 +35,16 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-subdir = MSVC_Net2003/examples/options
+subdir = MSVC/examples/ps-surface
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
+ $(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
+ $(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
+CONFIG_HEADER = $(top_builddir)/cairomm/cairommconfig.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
@@ -63,7 +58,14 @@ AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
+AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
+AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
AWK = @AWK@
+BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_LDFLAGS = @BOOST_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
+CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
+CAIROMM_LIBS = @CAIROMM_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -76,9 +78,10 @@ CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
-DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
@@ -87,34 +90,22 @@ EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
-GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
-GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
-GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
+GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
+GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
+GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
+GENERIC_VERSION = @GENERIC_VERSION@
+GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
-M4 = @M4@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
@@ -127,25 +118,18 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@@ -162,32 +146,39 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
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@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-EXTRA_DIST = options.vcproj
+EXTRA_DIST = ps-surface.vcproj
all: all-am
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -196,9 +187,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/options/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC/examples/ps-surface/Makefile'; \
cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu MSVC_Net2003/examples/options/Makefile
+ $(AUTOMAKE) --gnu MSVC/examples/ps-surface/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -212,9 +203,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(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)
+$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
mostlyclean-libtool:
diff --git a/libs/glibmm2/MSVC_Net2003/examples/options/options.vcproj b/libs/cairomm/MSVC/examples/ps-surface/ps-surface.vcproj
index 8a9ff95935..5100f8f6f1 100755..100644
--- a/libs/glibmm2/MSVC_Net2003/examples/options/options.vcproj
+++ b/libs/cairomm/MSVC/examples/ps-surface/ps-surface.vcproj
@@ -1,213 +1,213 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="examples_options"
- ProjectGUID="{46962B9A-C5E9-4863-9408-97514D63F420}"
- RootNamespace="examples_dispatcher"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\glib&quot;"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="gthread-2.0.lib sigc-2.0d.lib"
- OutputFile="$(OutDir)/options.exe"
- LinkIncremental="2"
- GenerateManifest="true"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\glib&quot;"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="gthread-2.0.lib sigc-2.0.lib"
- OutputFile="$(OutDir)/options.exe"
- LinkIncremental="1"
- GenerateManifest="true"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\..\blank.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\examples\options\main.cc"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="examples_ps-surface"
+ ProjectGUID="{CAE46373-7375-4607-AAB7-0EBA8F0E5B55}"
+ RootNamespace="examples_dispatcher"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="&quot;$(SolutionDir)\..&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="cairo.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="2"
+ GenerateManifest="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(SolutionDir)\..&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="cairo.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="1"
+ GenerateManifest="true"
+ GenerateDebugInformation="false"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\ps-surface\main.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/cairomm/MSVC/examples/svg-surface/Makefile.am b/libs/cairomm/MSVC/examples/svg-surface/Makefile.am
new file mode 100644
index 0000000000..4ce523efe4
--- /dev/null
+++ b/libs/cairomm/MSVC/examples/svg-surface/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = svg-surface.vcproj
diff --git a/libs/cairomm/MSVC/examples/svg-surface/Makefile.in b/libs/cairomm/MSVC/examples/svg-surface/Makefile.in
new file mode 100644
index 0000000000..0783ac304c
--- /dev/null
+++ b/libs/cairomm/MSVC/examples/svg-surface/Makefile.in
@@ -0,0 +1,340 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 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@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+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 = MSVC/examples/svg-surface
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
+ $(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
+ $(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/cairomm/cairommconfig.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
+AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
+AWK = @AWK@
+BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_LDFLAGS = @BOOST_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
+CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
+CAIROMM_LIBS = @CAIROMM_LIBS@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
+GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
+GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
+GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
+GENERIC_VERSION = @GENERIC_VERSION@
+GREP = @GREP@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OS_WIN32_FALSE = @OS_WIN32_FALSE@
+OS_WIN32_TRUE = @OS_WIN32_TRUE@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
+PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+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@
+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@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+EXTRA_DIST = svg-surface.vcproj
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC/examples/svg-surface/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu MSVC/examples/svg-surface/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: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+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-info-am
+
+.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-exec install-exec-am \
+ install-info install-info-am install-man 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-info-am
+
+# 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:
diff --git a/libs/glibmm2/MSVC_Net2003/examples/thread/thread.vcproj b/libs/cairomm/MSVC/examples/svg-surface/svg-surface.vcproj
index bf48104080..439783303b 100755..100644
--- a/libs/glibmm2/MSVC_Net2003/examples/thread/thread.vcproj
+++ b/libs/cairomm/MSVC/examples/svg-surface/svg-surface.vcproj
@@ -1,212 +1,213 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="examples_thread"
- ProjectGUID="{5357AB2B-A5F9-463C-92D8-00357CCC3ECE}"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\glib&quot;"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="gthread-2.0.lib sigc-2.0d.lib"
- OutputFile="$(OutDir)/thread.exe"
- LinkIncremental="2"
- GenerateManifest="true"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\glib&quot;"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="gthread-2.0.lib sigc-2.0.lib"
- OutputFile="$(OutDir)/thread.exe"
- LinkIncremental="1"
- GenerateManifest="true"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\..\blank.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\examples\thread\thread.cc"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="examples_svg-surface"
+ ProjectGUID="{BCA44D2B-1832-41F5-9EE9-FE1F709EE584}"
+ RootNamespace="examples_dispatcher"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="&quot;$(SolutionDir)\..&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="cairo.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="2"
+ GenerateManifest="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(SolutionDir)\..&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="cairo.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="1"
+ GenerateManifest="true"
+ GenerateDebugInformation="false"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\svg-surface\main.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/cairomm/MSVC/examples/text-rotate/Makefile.am b/libs/cairomm/MSVC/examples/text-rotate/Makefile.am
new file mode 100644
index 0000000000..6eb15e42cd
--- /dev/null
+++ b/libs/cairomm/MSVC/examples/text-rotate/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = text-rotate.vcproj
diff --git a/libs/cairomm/MSVC/examples/text-rotate/Makefile.in b/libs/cairomm/MSVC/examples/text-rotate/Makefile.in
new file mode 100644
index 0000000000..c3e98ba68f
--- /dev/null
+++ b/libs/cairomm/MSVC/examples/text-rotate/Makefile.in
@@ -0,0 +1,340 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 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@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+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 = MSVC/examples/text-rotate
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
+ $(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
+ $(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/cairomm/cairommconfig.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
+AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
+AWK = @AWK@
+BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_LDFLAGS = @BOOST_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
+CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
+CAIROMM_LIBS = @CAIROMM_LIBS@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
+GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
+GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
+GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
+GENERIC_VERSION = @GENERIC_VERSION@
+GREP = @GREP@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OS_WIN32_FALSE = @OS_WIN32_FALSE@
+OS_WIN32_TRUE = @OS_WIN32_TRUE@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
+PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+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@
+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@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+EXTRA_DIST = text-rotate.vcproj
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC/examples/text-rotate/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu MSVC/examples/text-rotate/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: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+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-info-am
+
+.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-exec install-exec-am \
+ install-info install-info-am install-man 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-info-am
+
+# 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:
diff --git a/libs/cairomm/MSVC/examples/text-rotate/text-rotate.vcproj b/libs/cairomm/MSVC/examples/text-rotate/text-rotate.vcproj
new file mode 100644
index 0000000000..ec6bc5041a
--- /dev/null
+++ b/libs/cairomm/MSVC/examples/text-rotate/text-rotate.vcproj
@@ -0,0 +1,213 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="examples_text-rotate"
+ ProjectGUID="{F4D455E4-464D-49CC-A120-DB9B8AE0207E}"
+ RootNamespace="examples_dispatcher"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="&quot;$(SolutionDir)\..&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="cairo.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="2"
+ GenerateManifest="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(SolutionDir)\..&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="cairo.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="1"
+ GenerateManifest="true"
+ GenerateDebugInformation="false"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\text-rotate\text-rotate.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/glibmm2/MSVC_Net2003/gendef/Makefile.am b/libs/cairomm/MSVC/gendef/Makefile.am
index 3a435c34a2..3a435c34a2 100644
--- a/libs/glibmm2/MSVC_Net2003/gendef/Makefile.am
+++ b/libs/cairomm/MSVC/gendef/Makefile.am
diff --git a/libs/glibmm2/MSVC_Net2003/gendef/Makefile.in b/libs/cairomm/MSVC/gendef/Makefile.in
index 1fd363bf4f..7e2688b6dd 100644
--- a/libs/glibmm2/MSVC_Net2003/gendef/Makefile.in
+++ b/libs/cairomm/MSVC/gendef/Makefile.in
@@ -35,21 +35,16 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-subdir = MSVC_Net2003/gendef
+subdir = MSVC/gendef
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
+ $(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
+ $(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
+CONFIG_HEADER = $(top_builddir)/cairomm/cairommconfig.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
@@ -63,7 +58,14 @@ AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
+AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
+AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
AWK = @AWK@
+BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_LDFLAGS = @BOOST_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
+CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
+CAIROMM_LIBS = @CAIROMM_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -76,9 +78,10 @@ CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
-DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
@@ -87,34 +90,22 @@ EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
-GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
-GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
-GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
+GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
+GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
+GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
+GENERIC_VERSION = @GENERIC_VERSION@
+GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
-M4 = @M4@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
@@ -127,25 +118,18 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@@ -162,23 +146,30 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
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@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
@@ -187,7 +178,7 @@ EXTRA_DIST = gendef.vcproj gendef.cc
all: all-am
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -196,9 +187,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/gendef/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC/gendef/Makefile'; \
cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu MSVC_Net2003/gendef/Makefile
+ $(AUTOMAKE) --gnu MSVC/gendef/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -212,9 +203,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(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)
+$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
mostlyclean-libtool:
diff --git a/libs/glibmm2/MSVC_Net2003/gendef/gendef.cc b/libs/cairomm/MSVC/gendef/gendef.cc
index cf665604ae..cf665604ae 100755..100644
--- a/libs/glibmm2/MSVC_Net2003/gendef/gendef.cc
+++ b/libs/cairomm/MSVC/gendef/gendef.cc
diff --git a/libs/glibmm2/MSVC_Net2003/gendef/gendef.vcproj b/libs/cairomm/MSVC/gendef/gendef.vcproj
index f1a1bf7ecb..fb05b48598 100755..100644
--- a/libs/glibmm2/MSVC_Net2003/gendef/gendef.vcproj
+++ b/libs/cairomm/MSVC/gendef/gendef.vcproj
@@ -1,206 +1,206 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="gendef"
- ProjectGUID="{07324745-C9BE-4D65-B08A-9C88188C0C28}"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/gendef.exe"
- LinkIncremental="2"
- GenerateManifest="true"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="0"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/gendef.exe"
- LinkIncremental="1"
- GenerateManifest="true"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\blank.cpp"
- >
- </File>
- <File
- RelativePath=".\gendef.cc"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="gendef"
+ ProjectGUID="{07324745-C9BE-4D65-B08A-9C88188C0C28}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/gendef.exe"
+ LinkIncremental="2"
+ GenerateManifest="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/gendef.exe"
+ LinkIncremental="1"
+ GenerateManifest="false"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\gendef.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/cairomm/Makefile.am b/libs/cairomm/Makefile.am
index 9387b03b6f..8d5ce0ec61 100644
--- a/libs/cairomm/Makefile.am
+++ b/libs/cairomm/Makefile.am
@@ -1,7 +1,8 @@
## Process this file with automake to produce Makefile.in
-SUBDIRS = cairomm examples MSVC $(DOCS_SUBDIR)
+SUBDIRS = cairomm examples MSVC $(DOCS_SUBDIR) tests
#docs examples
+ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = MAINTAINERS cairomm-1.0.pc.in
@@ -23,7 +24,7 @@ RELEASE_UPLOAD_BASE = /srv/cairo.freedesktop.org/www
RELEASE_UPLOAD_DIR = $(RELEASE_UPLOAD_BASE)/releases
RELEASE_URL_BASE = http://cairographics.org/releases
RELEASE_ANNOUNCE_LIST = cairo-announce@cairographics.org (and CC gnome-announce-list@gnome.org)
-CVS = cvs
+GIT = $(top_srcdir)/missing --run git
#MANUAL_DATED = cairo-manual-`date +%Y%m%d`
#MANUAL_TAR_FILE = $(MANUAL_DATED).tar.gz
@@ -52,7 +53,7 @@ release-verify-newer:
@echo -n "Checking that no $(VERSION) release already exists..."
@ssh $(RELEASE_UPLOAD_HOST) test ! -e $(RELEASE_UPLOAD_DIR)/$(tar_file) \
|| (echo "Ouch." && echo "Found: $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)/$(tar_file)" \
- && echo "Are you sure you have an updated CVS checkout?" \
+ && echo "Are you sure you have an updated git checkout?" \
&& echo "This should never happen." \
&& false)
@echo "Good."
@@ -74,9 +75,12 @@ release-upload: release-check $(tar_file) $(sha1_file) $(gpg_file)
scp $(tar_file) $(sha1_file) $(gpg_file) $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)
mv $(tar_file) $(sha1_file) $(gpg_file) releases
ssh $(RELEASE_UPLOAD_HOST) "rm -f $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-[0-9]* && ln -s $(tar_file) $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-$(VERSION)"
- $(CVS) tag RELEASE_$(GENERIC_MAJOR_VERSION)_$(GENERIC_MINOR_VERSION)_$(GENERIC_MICRO_VERSION)
+ $(GIT) tag -s -m "$(PACKAGE) release $(VERSION)" v$(VERSION)
-release-publish: release-upload releases/$(sha1_file)
+doc-publish:
+ (cd docs/reference && $(MAKE) $(AM_MAKEFLAGS) publish)
+
+release-publish: release-upload doc-publish releases/$(sha1_file)
@echo ""
@echo "Please send an announcement to $(RELEASE_ANNOUNCE_LIST)"
@echo "including the following:"
diff --git a/libs/cairomm/Makefile.in b/libs/cairomm/Makefile.in
index 92c7a4106b..e1361e3ad7 100644
--- a/libs/cairomm/Makefile.in
+++ b/libs/cairomm/Makefile.in
@@ -39,16 +39,18 @@ host_triplet = @host@
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/cairomm-1.0.pc.in \
$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
- config.guess config.sub depcomp install-sh ltmain.sh missing \
- mkinstalldirs
+ config.guess config.sub depcomp install-sh ltmain.sh missing
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
+ $(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
+ $(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno configure.status.lineno
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/cairomm/cairommconfig.h
CONFIG_CLEAN_FILES = cairomm-1.0.pc
SOURCES =
DIST_SOURCES =
@@ -89,7 +91,12 @@ AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
+AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
+AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
AWK = @AWK@
+BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_LDFLAGS = @BOOST_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
CAIROMM_LIBS = @CAIROMM_LIBS@
CC = @CC@
@@ -121,6 +128,7 @@ GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
GENERIC_VERSION = @GENERIC_VERSION@
+GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -134,6 +142,8 @@ LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
+OS_WIN32_FALSE = @OS_WIN32_FALSE@
+OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -145,20 +155,14 @@ PKG_CONFIG = @PKG_CONFIG@
PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@@ -175,29 +179,37 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
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@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-SUBDIRS = cairomm examples MSVC $(DOCS_SUBDIR)
+SUBDIRS = cairomm examples MSVC $(DOCS_SUBDIR) tests
#docs examples
+ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = MAINTAINERS cairomm-1.0.pc.in
DIST_SUBDIRS = $(SUBDIRS)
@@ -216,7 +228,7 @@ RELEASE_UPLOAD_BASE = /srv/cairo.freedesktop.org/www
RELEASE_UPLOAD_DIR = $(RELEASE_UPLOAD_BASE)/releases
RELEASE_URL_BASE = http://cairographics.org/releases
RELEASE_ANNOUNCE_LIST = cairo-announce@cairographics.org (and CC gnome-announce-list@gnome.org)
-CVS = cvs
+GIT = $(top_srcdir)/missing --run git
#MANUAL_DATED = cairo-manual-`date +%Y%m%d`
#MANUAL_TAR_FILE = $(MANUAL_DATED).tar.gz
@@ -425,7 +437,7 @@ distclean-tags:
distdir: $(DISTFILES)
$(am__remove_distdir)
mkdir $(distdir)
- $(mkdir_p) $(distdir)/. $(distdir)/MSVC/cairomm $(distdir)/docs/reference
+ $(mkdir_p) $(distdir)/. $(distdir)/MSVC/cairomm $(distdir)/docs/reference $(distdir)/m4
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
@@ -684,7 +696,7 @@ release-verify-newer:
@echo -n "Checking that no $(VERSION) release already exists..."
@ssh $(RELEASE_UPLOAD_HOST) test ! -e $(RELEASE_UPLOAD_DIR)/$(tar_file) \
|| (echo "Ouch." && echo "Found: $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)/$(tar_file)" \
- && echo "Are you sure you have an updated CVS checkout?" \
+ && echo "Are you sure you have an updated git checkout?" \
&& echo "This should never happen." \
&& false)
@echo "Good."
@@ -706,9 +718,12 @@ release-upload: release-check $(tar_file) $(sha1_file) $(gpg_file)
scp $(tar_file) $(sha1_file) $(gpg_file) $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)
mv $(tar_file) $(sha1_file) $(gpg_file) releases
ssh $(RELEASE_UPLOAD_HOST) "rm -f $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-[0-9]* && ln -s $(tar_file) $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-$(VERSION)"
- $(CVS) tag RELEASE_$(GENERIC_MAJOR_VERSION)_$(GENERIC_MINOR_VERSION)_$(GENERIC_MICRO_VERSION)
+ $(GIT) tag -s -m "$(PACKAGE) release $(VERSION)" v$(VERSION)
-release-publish: release-upload releases/$(sha1_file)
+doc-publish:
+ (cd docs/reference && $(MAKE) $(AM_MAKEFLAGS) publish)
+
+release-publish: release-upload doc-publish releases/$(sha1_file)
@echo ""
@echo "Please send an announcement to $(RELEASE_ANNOUNCE_LIST)"
@echo "including the following:"
diff --git a/libs/cairomm/NEWS b/libs/cairomm/NEWS
index f30a2c5a9e..a6cd00118f 100644
--- a/libs/cairomm/NEWS
+++ b/libs/cairomm/NEWS
@@ -1,3 +1,29 @@
+1.4.6:
+
+ * Bugfixes:
+ - Bug #11972: Cannot build cairomm with Quartz enabled
+
+1.4.4:
+
+ * Added the --enable-api-exceptions=yes/no configure option, to allow
+ cairomm to build when exceptions are disabled. For instance, when using
+ CXXFLAGS=-fno-exceptions with g++.
+
+1.4.2:
+
+ * Bugfixes:
+ - Bug #11596: Fixed broken shared library versioning (Dave Beckett)
+ - Bug #8511: RefPtr: refcounting broken with cast_*() methods (Murray
+ Cumming)
+
+1.4.0:
+
+ * Wrapped new API added in cairo 1.4
+ * Added support for Quartz surfaces
+ * ability to use dynamic casting for surfaces and patterns returned from
+ Context::get_target(), Context::get_source(), etc.
+ * Various build and bug fixes
+
1.2.4:
* Fixed an error that prevented Cairo::RefPtr<>::cast_static() and
diff --git a/libs/cairomm/aclocal.m4 b/libs/cairomm/aclocal.m4
index 115e43d89c..6753636ee0 100644
--- a/libs/cairomm/aclocal.m4
+++ b/libs/cairomm/aclocal.m4
@@ -13,7 +13,7 @@
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-# serial 48 Debian 1.5.22-2 AC_PROG_LIBTOOL
+# serial 51 Debian 1.5.24-1ubuntu1 AC_PROG_LIBTOOL
# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
@@ -176,7 +176,7 @@ test -z "$STRIP" && STRIP=:
test -z "$ac_objext" && ac_objext=o
# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
old_postinstall_cmds='chmod 644 $oldlib'
old_postuninstall_cmds=
@@ -263,8 +263,9 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
# Check for compiler boilerplate output or warnings with
# the simple compiler test code.
AC_DEFUN([_LT_COMPILER_BOILERPLATE],
-[ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
$rm conftest*
@@ -276,8 +277,9 @@ $rm conftest*
# Check for linker boilerplate output or warnings with
# the simple link test code.
AC_DEFUN([_LT_LINKER_BOILERPLATE],
-[ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
$rm conftest*
@@ -293,12 +295,20 @@ $rm conftest*
# If we don't find anything, use the default library path according
# to the aix ld manual.
AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
-[AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi],[])
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi],[])
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
])# _LT_AC_SYS_LIBPATH_AIX
@@ -529,13 +539,17 @@ ia64-*-hpux*)
rm -rf conftest*
;;
-x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
case `/usr/bin/file conftest.o` in
*32-bit*)
case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
x86_64-*linux*)
LD="${LD-ld} -m elf_i386"
;;
@@ -552,6 +566,9 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
;;
*64-bit*)
case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
@@ -623,7 +640,7 @@ AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
AC_CACHE_CHECK([$1], [$2],
[$2=no
ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$3"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
@@ -664,11 +681,12 @@ fi
# ------------------------------------------------------------
# Check whether the given compiler option works
AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
-[AC_CACHE_CHECK([$1], [$2],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
[$2=no
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $3"
- printf "$lt_simple_link_test_code" > conftest.$ac_ext
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
# The linker can only warn and ignore the option if not recognized
# So say no if there are warnings
@@ -782,24 +800,27 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
fi
;;
*)
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
= "XX$teststring") >/dev/null 2>&1 &&
- new_result=`expr "X$teststring" : ".*" 2>&1` &&
- lt_cv_sys_max_cmd_len=$new_result &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- teststring=
- # Add a significant safety factor because C++ compilers can tack on massive
- # amounts of additional arguments before passing them to the linker.
- # It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ new_result=`expr "X$teststring" : ".*" 2>&1` &&
+ lt_cv_sys_max_cmd_len=$new_result &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on massive
+ # amounts of additional arguments before passing them to the linker.
+ # It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
;;
esac
])
@@ -1026,7 +1047,8 @@ fi
# ---------------------------------
# Check to see if options -c and -o are simultaneously supported by compiler
AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
-[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
[_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
[_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
@@ -1034,7 +1056,7 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
mkdir conftest
cd conftest
mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-o out/conftest2.$ac_objext"
# Insert the option either (1) after the last *FLAGS variable, or
@@ -1174,6 +1196,7 @@ else
darwin*)
if test -n "$STRIP" ; then
striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
@@ -1191,7 +1214,8 @@ fi
# -----------------------------
# PORTME Fill in your ld.so characteristics
AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
-[AC_MSG_CHECKING([dynamic linker characteristics])
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -1205,20 +1229,58 @@ shlibpath_overrides_runpath=unknown
version_type=none
dynamic_linker="$host_os ld.so"
sys_lib_dlsearch_path_spec="/lib /usr/lib"
+m4_if($1,[],[
if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+ case $host_os in
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
# if the path contains ";" then we assume it to be the separator
# otherwise default to the standard path separator (i.e. ":") - it is
# assumed that no part of a normal pathname contains ";" but that should
# okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
fi
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+ if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+ sys_lib_search_path_spec=`echo $lt_search_path_spec`
else
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
+fi])
need_lib_prefix=unknown
hardcode_into_libs=no
@@ -1375,12 +1437,8 @@ darwin* | rhapsody*)
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
+ m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
;;
@@ -1397,18 +1455,6 @@ freebsd1*)
dynamic_linker=no
;;
-kfreebsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
@@ -1446,7 +1492,7 @@ freebsd* | dragonfly*)
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
- freebsd*) # from 4.6 on
+ *) # from 4.6 on, and DragonFly
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
;;
@@ -1509,7 +1555,7 @@ hpux9* | hpux10* | hpux11*)
postinstall_cmds='chmod 555 $lib'
;;
-interix3*)
+interix[[3-9]]*)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -1564,7 +1610,7 @@ linux*oldld* | linux*aout* | linux*coff*)
;;
# This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -1580,7 +1626,7 @@ linux*)
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
@@ -1605,18 +1651,6 @@ netbsdelf*-gnu)
dynamic_linker='NetBSD ld.elf_so'
;;
-knetbsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -1698,6 +1732,10 @@ osf3* | osf4* | osf5*)
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
;;
+rdos*)
+ dynamic_linker=no
+ ;;
+
solaris*)
version_type=linux
need_lib_prefix=no
@@ -1803,7 +1841,8 @@ fi
# _LT_AC_TAGCONFIG
# ----------------
AC_DEFUN([_LT_AC_TAGCONFIG],
-[AC_ARG_WITH([tags],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_ARG_WITH([tags],
[AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
[include additional configurations @<:@automatic@:>@])],
[tagnames="$withval"])
@@ -2064,7 +2103,7 @@ m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
# AC_PATH_TOOL_PREFIX
# -------------------
-# find a file program which can recognise shared library
+# find a file program which can recognize shared library
AC_DEFUN([AC_PATH_TOOL_PREFIX],
[AC_REQUIRE([AC_PROG_EGREP])dnl
AC_MSG_CHECKING([for $1])
@@ -2127,7 +2166,7 @@ fi
# AC_PATH_MAGIC
# -------------
-# find a file program which can recognise a shared library
+# find a file program which can recognize a shared library
AC_DEFUN([AC_PATH_MAGIC],
[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
if test -z "$lt_cv_path_MAGIC_CMD"; then
@@ -2274,7 +2313,7 @@ esac
# how to check for library dependencies
# -- PORTME fill in with the dynamic library characteristics
AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
-[AC_CACHE_CHECK([how to recognise dependent libraries],
+[AC_CACHE_CHECK([how to recognize dependent libraries],
lt_cv_deplibs_check_method,
[lt_cv_file_magic_cmd='$MAGIC_CMD'
lt_cv_file_magic_test_file=
@@ -2313,16 +2352,22 @@ cygwin*)
mingw* | pw32*)
# Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump'.
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ if ( file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
;;
darwin* | rhapsody*)
lt_cv_deplibs_check_method=pass_all
;;
-freebsd* | kfreebsd*-gnu | dragonfly*)
+freebsd* | dragonfly*)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
case $host_cpu in
i*86 )
@@ -2360,7 +2405,7 @@ hpux10.20* | hpux11*)
esac
;;
-interix3*)
+interix[[3-9]]*)
# PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
;;
@@ -2376,11 +2421,11 @@ irix5* | irix6* | nonstopux*)
;;
# This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
lt_cv_deplibs_check_method=pass_all
;;
-netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
else
@@ -2410,6 +2455,10 @@ osf3* | osf4* | osf5*)
lt_cv_deplibs_check_method=pass_all
;;
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
solaris*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -2462,7 +2511,7 @@ AC_DEFUN([AC_PROG_NM],
lt_cv_path_NM="$NM"
else
lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
lt_nm_to_check="$lt_nm_to_check nm"
fi
for lt_tmp_nm in $lt_nm_to_check; do
@@ -2678,10 +2727,10 @@ objext=o
_LT_AC_TAGVAR(objext, $1)=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+lt_simple_compile_test_code="int some_variable = 0;"
# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}\n'
+lt_simple_link_test_code='int main(){return(0);}'
_LT_AC_SYS_COMPILER
@@ -2783,10 +2832,10 @@ objext=o
_LT_AC_TAGVAR(objext, $1)=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+lt_simple_compile_test_code="int some_variable = 0;"
# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n'
+lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
_LT_AC_SYS_COMPILER
@@ -2932,7 +2981,7 @@ case $host_os in
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ :
else
# We have old collect2
_LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
@@ -3091,10 +3140,10 @@ case $host_os in
case $cc_basename in
xlc*)
output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
;;
*)
@@ -3128,7 +3177,7 @@ case $host_os in
freebsd-elf*)
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
;;
- freebsd* | kfreebsd*-gnu | dragonfly*)
+ freebsd* | dragonfly*)
# FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
# conventions
_LT_AC_TAGVAR(ld_shlibs, $1)=yes
@@ -3177,9 +3226,7 @@ case $host_os in
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
case $host_cpu in
- hppa*64*|ia64*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
- ;;
+ hppa*64*|ia64*) ;;
*)
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
;;
@@ -3247,7 +3294,7 @@ case $host_os in
;;
esac
;;
- interix3*)
+ interix[[3-9]]*)
_LT_AC_TAGVAR(hardcode_direct, $1)=no
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
@@ -3287,7 +3334,7 @@ case $host_os in
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
;;
- linux*)
+ linux* | k*bsd*-gnu)
case $cc_basename in
KCC*)
# Kuck and Associates, Inc. (KAI) C++ Compiler
@@ -3367,6 +3414,29 @@ case $host_os in
# dependencies.
output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
esac
;;
lynxos*)
@@ -3389,7 +3459,7 @@ case $host_os in
;;
esac
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
wlarc=
@@ -3405,16 +3475,20 @@ case $host_os in
_LT_AC_TAGVAR(ld_shlibs, $1)=no
;;
openbsd*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ if test -f /usr/libexec/ld.so; then
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd='echo'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
fi
- output_verbose_link_cmd='echo'
;;
osf3*)
case $cc_basename in
@@ -3576,15 +3650,10 @@ case $host_os in
case $host_os in
solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
*)
- # The C++ compiler is used as linker so we must use $wl
- # flag to pass the commands to the underlying system
- # linker. We must also pass each convience library through
- # to the system linker between allextract/defaultextract.
- # The C++ compiler will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl.
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
;;
esac
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
@@ -3631,6 +3700,12 @@ case $host_os in
fi
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
fi
;;
esac
@@ -3874,7 +3949,7 @@ $rm -f confest.$objext
# PORTME: override above test on systems where it is broken
ifelse([$1],[CXX],
[case $host_os in
-interix3*)
+interix[[3-9]]*)
# Interix 3.5 installs completely hosed .la files for C++, so rather than
# hack all around it, let's just trust "g++" to DTRT.
_LT_AC_TAGVAR(predep_objects,$1)=
@@ -3882,13 +3957,46 @@ interix3*)
_LT_AC_TAGVAR(postdeps,$1)=
;;
+linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ #
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
solaris*)
case $cc_basename in
CC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
# Adding this requires a known-good setup of shared libraries for
# Sun compiler versions before 5.6, else PIC objects from an old
# archive will be linked into the output, leading to subtle bugs.
- _LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun'
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
;;
esac
;;
@@ -3937,10 +4045,17 @@ objext=o
_LT_AC_TAGVAR(objext, $1)=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code=" subroutine t\n return\n end\n"
+lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
# Code to be used in simple link tests
-lt_simple_link_test_code=" program t\n end\n"
+lt_simple_link_test_code="\
+ program t
+ end
+"
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
_LT_AC_SYS_COMPILER
@@ -4019,10 +4134,10 @@ objext=o
_LT_AC_TAGVAR(objext, $1)=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}\n"
+lt_simple_compile_test_code="class foo {}"
# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n'
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
_LT_AC_SYS_COMPILER
@@ -4075,7 +4190,7 @@ objext=o
_LT_AC_TAGVAR(objext, $1)=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
# Code to be used in simple link tests
lt_simple_link_test_code="$lt_simple_compile_test_code"
@@ -4164,6 +4279,7 @@ if test -f "$ltmain"; then
_LT_AC_TAGVAR(module_cmds, $1) \
_LT_AC_TAGVAR(module_expsym_cmds, $1) \
_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
+ _LT_AC_TAGVAR(fix_srcfile_path, $1) \
_LT_AC_TAGVAR(exclude_expsyms, $1) \
_LT_AC_TAGVAR(include_expsyms, $1); do
@@ -4210,7 +4326,7 @@ ifelse([$1], [],
# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
# Free Software Foundation, Inc.
#
# This file is part of GNU Libtool:
@@ -4535,7 +4651,7 @@ sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)"
+fix_srcfile_path=$lt_fix_srcfile_path
# Set to yes if exported symbols are required.
always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
@@ -4618,6 +4734,7 @@ fi
# ---------------------------------
AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
[AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([LT_AC_PROG_SED])
AC_REQUIRE([AC_PROG_NM])
AC_REQUIRE([AC_OBJEXT])
# Check for command to grab the raw symbol name followed by C symbol from nm.
@@ -4654,7 +4771,7 @@ hpux*) # Its linker distinguishes data from code symbols
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
;;
-linux*)
+linux* | k*bsd*-gnu)
if test "$host_cpu" = ia64; then
symcode='[[ABCDGIRSTW]]'
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
@@ -4844,12 +4961,14 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
# like `-m68040'.
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | os2* | pw32*)
+ mingw* | cygwin* | os2* | pw32*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
;;
darwin* | rhapsody*)
@@ -4861,7 +4980,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
# DJGPP does not support shared libraries at all
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
;;
- interix3*)
+ interix[[3-9]]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
;;
@@ -4927,7 +5046,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
;;
esac
;;
- freebsd* | kfreebsd*-gnu | dragonfly*)
+ freebsd* | dragonfly*)
# FreeBSD uses GNU C++
;;
hpux9* | hpux10* | hpux11*)
@@ -4970,7 +5089,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
;;
esac
;;
- linux*)
+ linux* | k*bsd*-gnu)
case $cc_basename in
KCC*)
# KAI C++ Compiler
@@ -4997,6 +5116,14 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ esac
;;
esac
;;
@@ -5013,7 +5140,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
;;
esac
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
;;
osf3* | osf4* | osf5*)
case $cc_basename in
@@ -5117,13 +5244,15 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
;;
@@ -5133,7 +5262,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
;;
- interix3*)
+ interix[[3-9]]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
;;
@@ -5191,7 +5320,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
esac
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
@@ -5224,7 +5353,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
- linux*)
+ linux* | k*bsd*-gnu)
case $cc_basename in
icc* | ecc*)
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
@@ -5243,6 +5372,22 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
# All Alpha code is PIC.
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C 5.9
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ ;;
+ *Sun\ F*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=''
+ ;;
+ esac
+ ;;
esac
;;
@@ -5252,6 +5397,10 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
+ rdos*)
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
solaris*)
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
@@ -5346,7 +5495,8 @@ AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
# ------------------------------------
# See if the linker supports building shared libraries.
AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
-[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
ifelse([$1],[CXX],[
_LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
case $host_os in
@@ -5363,12 +5513,9 @@ ifelse([$1],[CXX],[
_LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
;;
cygwin* | mingw*)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
;;
- kfreebsd*-gnu)
- _LT_AC_TAGVAR(link_all_deplibs, $1)=no
- ;;
- linux*)
+ linux* | k*bsd*-gnu)
_LT_AC_TAGVAR(link_all_deplibs, $1)=no
;;
*)
@@ -5508,7 +5655,7 @@ EOF
_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
_LT_AC_TAGVAR(always_export_symbols, $1)=no
_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
@@ -5526,7 +5673,7 @@ EOF
fi
;;
- interix3*)
+ interix[[3-9]]*)
_LT_AC_TAGVAR(hardcode_direct, $1)=no
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
@@ -5541,7 +5688,7 @@ EOF
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
- linux*)
+ gnu* | linux* | k*bsd*-gnu)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
tmp_addflag=
case $cc_basename,$host_cpu in
@@ -5559,13 +5706,22 @@ EOF
ifc* | ifort*) # Intel Fortran compiler
tmp_addflag=' -nofor_main' ;;
esac
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ *)
+ tmp_sharedflag='-shared' ;;
+ esac
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
if test $supports_anon_versioning = yes; then
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
$echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
fi
_LT_AC_TAGVAR(link_all_deplibs, $1)=no
else
@@ -5573,7 +5729,7 @@ EOF
fi
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
@@ -5606,7 +5762,7 @@ EOF
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
case `$LD -v 2>&1` in
- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
_LT_AC_TAGVAR(ld_shlibs, $1)=no
cat <<_LT_EOF 1>&2
@@ -5725,7 +5881,7 @@ _LT_EOF
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ :
else
# We have old collect2
_LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
@@ -5818,7 +5974,7 @@ _LT_EOF
# The linker will automatically build a .lib file if we build a DLL.
_LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
# FIXME: Should let the user specify the lib program.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
_LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
;;
@@ -5860,10 +6016,10 @@ _LT_EOF
case $cc_basename in
xlc*)
output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
;;
*)
@@ -5909,15 +6065,6 @@ _LT_EOF
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
-
- # GNU/kFreeBSD uses gcc -shared to do shared libraries.
- kfreebsd*-gnu)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(link_all_deplibs, $1)=no
- ;;
hpux9*)
if test "$GCC" = yes; then
@@ -6014,7 +6161,7 @@ _LT_EOF
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
@@ -6034,24 +6181,28 @@ _LT_EOF
;;
openbsd*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ if test -f /usr/libexec/ld.so; then
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ else
+ case $host_os in
+ openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
else
- case $host_os in
- openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- ;;
- esac
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
fi
;;
@@ -6110,17 +6261,16 @@ _LT_EOF
case $host_os in
solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
*)
- # The compiler driver will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl, iff we do not link with $LD.
- # Luckily, gcc supports the same syntax we need for Sun Studio.
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- case $wlarc in
- '')
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
- *)
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- esac ;;
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
esac
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
;;
@@ -6177,7 +6327,7 @@ _LT_EOF
fi
;;
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*)
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
_LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -6252,7 +6402,7 @@ x|xyes)
# to ld, don't add -lc before -lgcc.
AC_MSG_CHECKING([whether -lc should be explicitly linked in])
$rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
soname=conftest
@@ -6355,6 +6505,30 @@ AC_DEFUN([LT_AC_PROG_RC],
[AC_CHECK_TOOL(RC, windres, no)
])
+
+# Cheap backport of AS_EXECUTABLE_P and required macros
+# from Autoconf 2.59; we should not use $as_executable_p directly.
+
+# _AS_TEST_PREPARE
+# ----------------
+m4_ifndef([_AS_TEST_PREPARE],
+[m4_defun([_AS_TEST_PREPARE],
+[if test -x / >/dev/null 2>&1; then
+ as_executable_p='test -x'
+else
+ as_executable_p='test -f'
+fi
+])])# _AS_TEST_PREPARE
+
+# AS_EXECUTABLE_P
+# ---------------
+# Check whether a file is executable.
+m4_ifndef([AS_EXECUTABLE_P],
+[m4_defun([AS_EXECUTABLE_P],
+[AS_REQUIRE([_AS_TEST_PREPARE])dnl
+$as_executable_p $1[]dnl
+])])# AS_EXECUTABLE_P
+
# NOTE: This macro has been submitted for inclusion into #
# GNU Autoconf as AC_PROG_SED. When it is available in #
# a released version of Autoconf we should remove this #
@@ -6375,12 +6549,13 @@ do
test -z "$as_dir" && as_dir=.
for lt_ac_prog in sed gsed; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+ if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then
lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
fi
done
done
done
+IFS=$as_save_IFS
lt_ac_max=0
lt_ac_count=0
# Add /usr/xpg4/bin/sed as it is typically found on Solaris
@@ -6413,6 +6588,7 @@ for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
done
])
SED=$lt_cv_path_SED
+AC_SUBST([SED])
AC_MSG_RESULT([$SED])
])
@@ -6554,7 +6730,8 @@ installed software in a non-standard prefix.
_PKG_TEXT
])],
- [$4])
+ [AC_MSG_RESULT([no])
+ $4])
elif test $pkg_failed = untried; then
ifelse([$4], , [AC_MSG_FAILURE(dnl
[The pkg-config script could not be found or is too old. Make sure it
@@ -6563,7 +6740,7 @@ path to pkg-config.
_PKG_TEXT
-To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.])],
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
[$4])
else
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
@@ -6902,6 +7079,18 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
])
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 8
+
+# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
+AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
+
# Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
@@ -7410,3 +7599,6 @@ AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
+m4_include([m4/ax_boost_base.m4])
+m4_include([m4/ax_boost_unit_test_framework.m4])
+m4_include([m4/reduced.m4])
diff --git a/libs/cairomm/cairomm/Makefile.am b/libs/cairomm/cairomm/Makefile.am
index 35be9846a3..d4de9bdcbb 100644
--- a/libs/cairomm/cairomm/Makefile.am
+++ b/libs/cairomm/cairomm/Makefile.am
@@ -2,9 +2,9 @@ SUBDIRS =
INCLUDES = -I$(top_srcdir) @CAIROMM_CFLAGS@
-h_sources_public = cairomm.h context.h enums.h fontface.h fontoptions.h path.h pattern.h surface.h xlib_surface.h win32_surface.h exception.h refptr.h scaledfont.h
+h_sources_public = cairomm.h context.h enums.h fontface.h fontoptions.h path.h pattern.h quartz_surface.h surface.h xlib_surface.h win32_surface.h exception.h refptr.h scaledfont.h
h_sources_private = private.h
-cc_sources = context.cc fontface.cc fontoptions.cc path.cc pattern.cc surface.cc xlib_surface.cc win32_surface.cc exception.cc scaledfont.cc
+cc_sources = context.cc fontface.cc fontoptions.cc path.cc pattern.cc quartz_surface.cc surface.cc xlib_surface.cc win32_surface.cc exception.cc scaledfont.cc
cc_sources_private = private.cc
# Support for DLL on cygwin/mingw using libtool > 1.4
diff --git a/libs/cairomm/cairomm/Makefile.in b/libs/cairomm/cairomm/Makefile.in
index 6f7466b01d..e1ef6c5f23 100644
--- a/libs/cairomm/cairomm/Makefile.in
+++ b/libs/cairomm/cairomm/Makefile.in
@@ -39,12 +39,15 @@ build_triplet = @build@
host_triplet = @host@
subdir = cairomm
DIST_COMMON = $(library_include_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in
+ $(srcdir)/Makefile.in $(srcdir)/cairommconfig.h.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
+ $(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
+ $(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = cairommconfig.h
CONFIG_CLEAN_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
@@ -58,14 +61,14 @@ libLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(lib_LTLIBRARIES)
libcairomm_1_0_la_DEPENDENCIES =
am__objects_1 = context.lo fontface.lo fontoptions.lo path.lo \
- pattern.lo surface.lo xlib_surface.lo win32_surface.lo \
- exception.lo scaledfont.lo
+ pattern.lo quartz_surface.lo surface.lo xlib_surface.lo \
+ win32_surface.lo exception.lo scaledfont.lo
am__objects_2 =
am__objects_3 = private.lo
am_libcairomm_1_0_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
$(am__objects_2) $(am__objects_3)
libcairomm_1_0_la_OBJECTS = $(am_libcairomm_1_0_la_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir)
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
@@ -107,7 +110,12 @@ AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
+AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
+AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
AWK = @AWK@
+BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_LDFLAGS = @BOOST_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
CAIROMM_LIBS = @CAIROMM_LIBS@
CC = @CC@
@@ -139,6 +147,7 @@ GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
GENERIC_VERSION = @GENERIC_VERSION@
+GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -152,6 +161,8 @@ LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
+OS_WIN32_FALSE = @OS_WIN32_FALSE@
+OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -163,20 +174,14 @@ PKG_CONFIG = @PKG_CONFIG@
PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@@ -193,32 +198,39 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
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@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
SUBDIRS =
INCLUDES = -I$(top_srcdir) @CAIROMM_CFLAGS@
-h_sources_public = cairomm.h context.h enums.h fontface.h fontoptions.h path.h pattern.h surface.h xlib_surface.h win32_surface.h exception.h refptr.h scaledfont.h
+h_sources_public = cairomm.h context.h enums.h fontface.h fontoptions.h path.h pattern.h quartz_surface.h surface.h xlib_surface.h win32_surface.h exception.h refptr.h scaledfont.h
h_sources_private = private.h
-cc_sources = context.cc fontface.cc fontoptions.cc path.cc pattern.cc surface.cc xlib_surface.cc win32_surface.cc exception.cc scaledfont.cc
+cc_sources = context.cc fontface.cc fontoptions.cc path.cc pattern.cc quartz_surface.cc surface.cc xlib_surface.cc win32_surface.cc exception.cc scaledfont.cc
cc_sources_private = private.cc
@PLATFORM_WIN32_FALSE@win32_dlls_ldflags =
@@ -232,7 +244,8 @@ libcairomm_1_0_la_SOURCES = $(cc_sources) $(h_sources_public) $(h_sources_privat
# Install the headers:
library_includedir = $(includedir)/cairomm-1.0/cairomm
library_include_HEADERS = $(h_sources_public)
-all: all-recursive
+all: cairommconfig.h
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
.SUFFIXES: .cc .lo .o .obj
@@ -265,6 +278,23 @@ $(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+cairommconfig.h: stamp-h1
+ @if test ! -f $@; then \
+ rm -f stamp-h1; \
+ $(MAKE) stamp-h1; \
+ else :; fi
+
+stamp-h1: $(srcdir)/cairommconfig.h.in $(top_builddir)/config.status
+ @rm -f stamp-h1
+ cd $(top_builddir) && $(SHELL) ./config.status cairomm/cairommconfig.h
+$(srcdir)/cairommconfig.h.in: $(am__configure_deps)
+ cd $(top_srcdir) && $(AUTOHEADER)
+ rm -f stamp-h1
+ touch $@
+
+distclean-hdr:
+ -rm -f cairommconfig.h stamp-h1
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
@@ -308,6 +338,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/path.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pattern.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/private.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quartz_surface.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scaledfont.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/surface.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win32_surface.Plo@am__quote@
@@ -442,7 +473,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
mkid -fID $$unique
tags: TAGS
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+TAGS: tags-recursive $(HEADERS) $(SOURCES) cairommconfig.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
@@ -459,7 +490,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ list='$(SOURCES) $(HEADERS) cairommconfig.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
@@ -471,11 +502,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$tags $$unique; \
fi
ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) cairommconfig.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ list='$(SOURCES) $(HEADERS) cairommconfig.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
@@ -537,7 +568,7 @@ distdir: $(DISTFILES)
done
check-am: all-am
check: check-recursive
-all-am: Makefile $(LTLIBRARIES) $(HEADERS)
+all-am: Makefile $(LTLIBRARIES) $(HEADERS) cairommconfig.h
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(library_includedir)"; do \
@@ -576,7 +607,7 @@ distclean: distclean-recursive
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
+ distclean-hdr distclean-libtool distclean-tags
dvi: dvi-recursive
@@ -624,11 +655,11 @@ uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
clean clean-generic clean-libLTLIBRARIES clean-libtool \
clean-recursive ctags ctags-recursive distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-libLTLIBRARIES \
+ distclean-compile distclean-generic distclean-hdr \
+ distclean-libtool distclean-recursive distclean-tags distdir \
+ dvi dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-exec install-exec-am \
+ install-info install-info-am install-libLTLIBRARIES \
install-library_includeHEADERS install-man install-strip \
installcheck installcheck-am installdirs installdirs-am \
maintainer-clean maintainer-clean-generic \
diff --git a/libs/cairomm/cairomm/cairommconfig.h.in b/libs/cairomm/cairomm/cairommconfig.h.in
new file mode 100644
index 0000000000..f1c7895bff
--- /dev/null
+++ b/libs/cairomm/cairomm/cairommconfig.h.in
@@ -0,0 +1,73 @@
+/* cairomm/cairommconfig.h.in. Generated from configure.in by autoheader. */
+
+/* Defined when the --enable-api-exceptions configure argument was given */
+#undef CAIROMM_EXCEPTIONS_ENABLED
+
+/* define if the Boost library is available */
+#undef HAVE_BOOST
+
+/* define if the Boost::Unit_Test_Framework library is available */
+#undef HAVE_BOOST_UNIT_TEST_FRAMEWORK
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the <list> header file. */
+#undef HAVE_LIST
+
+/* Define to 1 if you have the <map> header file. */
+#undef HAVE_MAP
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <string> header file. */
+#undef HAVE_STRING
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Version number of package */
+#undef VERSION
diff --git a/libs/cairomm/cairomm/context.cc b/libs/cairomm/cairomm/context.cc
index 5f502c5f57..a4b60e914d 100644
--- a/libs/cairomm/cairomm/context.cc
+++ b/libs/cairomm/cairomm/context.cc
@@ -18,6 +18,10 @@
#include <cairomm/context.h>
#include <cairomm/private.h>
+#include <cairomm/surface.h>
+#include <cairomm/win32_surface.h>
+#include <cairomm/xlib_surface.h>
+#include <cairomm/quartz_surface.h>
/* M_PI is defined in math.h in the case of Microsoft Visual C++ */
#if defined(_MSC_VER)
@@ -151,6 +155,12 @@ void Context::set_dash(std::valarray<double>& dashes, double offset)
check_object_status_and_throw_exception(*this);
}
+void Context::set_dash(std::vector<double>& dashes, double offset)
+{
+ cairo_set_dash(m_cobject, &dashes[0], dashes.size(), offset);
+ check_object_status_and_throw_exception(*this);
+}
+
void Context::unset_dash()
{
cairo_set_dash(m_cobject, NULL, 0, 0.0);
@@ -405,9 +415,35 @@ void Context::clip_preserve()
check_object_status_and_throw_exception(*this);
}
+void Context::get_clip_extents(double& x1, double& y1, double& x2, double& y2) const
+{
+ cairo_clip_extents(const_cast<cairo_t*>(m_cobject), &x1, &y1, &x2, &y2);
+ check_object_status_and_throw_exception(*this);
+}
+
+void Context::copy_clip_rectangle_list(std::vector<Rectangle>& rectangles) const
+{
+ cairo_rectangle_list_t* c_list = 0;
+ // It would be nice if the cairo interface didn't copy it into a C array first
+ // and just let us do the copying...
+ c_list = cairo_copy_clip_rectangle_list(const_cast<cairo_t*>(m_cobject));
+ // the rectangle list contains a status field that we need to check and the
+ // cairo context also has a status that we need to check
+ // FIXME: do we want to throw an exception if the clip can't be represented by
+ // rectangles? or do we just want to return an empty list?
+ check_status_and_throw_exception(c_list->status);
+ check_object_status_and_throw_exception(*this);
+ // copy the C array into the passed C++ list
+ rectangles.assign(c_list->rectangles,
+ c_list->rectangles + c_list->num_rectangles);
+ // free the memory allocated to the C array since we've copied it into a
+ // standard C++ container
+ cairo_rectangle_list_destroy(c_list);
+}
+
void Context::select_font_face(const std::string& family, FontSlant slant, FontWeight weight)
{
- cairo_select_font_face (m_cobject, family.c_str(),
+ cairo_select_font_face(m_cobject, family.c_str(),
static_cast<cairo_font_slant_t>(slant),
static_cast<cairo_font_weight_t>(weight));
check_object_status_and_throw_exception(*this);
@@ -506,18 +542,40 @@ Operator Context::get_operator() const
return result;
}
+static RefPtr<Pattern> get_pattern_wrapper (cairo_pattern_t* pattern)
+{
+ cairo_pattern_type_t pattern_type = cairo_pattern_get_type (pattern);
+ switch (pattern_type)
+ {
+ case CAIRO_PATTERN_TYPE_SOLID:
+ return RefPtr<SolidPattern>(new SolidPattern(pattern, false /* does not have reference */));
+ break;
+ case CAIRO_PATTERN_TYPE_SURFACE:
+ return RefPtr<SurfacePattern>(new SurfacePattern(pattern, false /* does not have reference */));
+ break;
+ case CAIRO_PATTERN_TYPE_LINEAR:
+ return RefPtr<LinearGradient>(new LinearGradient(pattern, false /* does not have reference */));
+ break;
+ case CAIRO_PATTERN_TYPE_RADIAL:
+ return RefPtr<RadialGradient>(new RadialGradient(pattern, false /* does not have reference */));
+ break;
+ default:
+ return RefPtr<Pattern>(new Pattern(pattern, false /* does not have reference */));
+ }
+}
+
RefPtr<Pattern> Context::get_source()
{
cairo_pattern_t* pattern = cairo_get_source(m_cobject);
check_object_status_and_throw_exception(*this);
- return RefPtr<Pattern>(new Pattern(pattern, false /* does not have reference */));
+ return get_pattern_wrapper (pattern);
}
RefPtr<const Pattern> Context::get_source() const
{
cairo_pattern_t* pattern = cairo_get_source(m_cobject);
check_object_status_and_throw_exception(*this);
- return RefPtr<const Pattern>(new Pattern(pattern, false /* does not have reference */));
+ return RefPtr<const Pattern>::cast_const (get_pattern_wrapper (pattern));
}
double Context::get_tolerance() const
@@ -575,24 +633,92 @@ double Context::get_miter_limit() const
return result;
}
+void
+Context::get_dash(std::vector<double>& dashes, double& offset) const
+{
+ // Allocate this array dynamically because some compilers complain about
+ // allocating arrays on the stack when the array size isn't a compile-time
+ // constant...
+ const int cnt = cairo_get_dash_count(m_cobject);
+ double* dash_array = new double[cnt];
+ cairo_get_dash(const_cast<cairo_t*>(m_cobject), dash_array, &offset);
+ check_object_status_and_throw_exception(*this);
+ dashes.assign(dash_array, dash_array + cnt);
+ delete[] dash_array;
+}
+
void Context::get_matrix(Matrix& matrix)
{
cairo_get_matrix(m_cobject, &matrix);
check_object_status_and_throw_exception(*this);
}
+static
+RefPtr<Surface> get_surface_wrapper (cairo_surface_t* surface)
+{
+ cairo_surface_type_t surface_type = cairo_surface_get_type (surface);
+ switch (surface_type)
+ {
+ case CAIRO_SURFACE_TYPE_IMAGE:
+ return RefPtr<ImageSurface>(new ImageSurface(surface, false /* does not have reference */));
+ break;
+#if CAIRO_HAS_PDF_SURFACE
+ case CAIRO_SURFACE_TYPE_PDF:
+ return RefPtr<PdfSurface>(new PdfSurface(surface, false /* does not have reference */));
+ break;
+#endif
+#if CAIRO_HAS_PS_SURFACE
+ case CAIRO_SURFACE_TYPE_PS:
+ return RefPtr<PsSurface>(new PsSurface(surface, false /* does not have reference */));
+ break;
+#endif
+#if CAIRO_HAS_XLIB_SURFACE
+ case CAIRO_SURFACE_TYPE_XLIB:
+ return RefPtr<XlibSurface>(new XlibSurface(surface, false /* does not have reference */));
+ break;
+#endif
+#if CAIRO_HAS_GLITZ_SURFACE
+ case CAIRO_SURFACE_TYPE_GLITZ:
+ return RefPtr<GlitzSurface>(new GlitzSurface(surface, false /* does not have reference */));
+ break;
+#endif
+#if CAIRO_HAS_QUARTZ_SURFACE
+ case CAIRO_SURFACE_TYPE_QUARTZ:
+ return RefPtr<QuartzSurface>(new QuartzSurface(surface, false /* does not have reference */));
+ break;
+#endif
+#if CAIRO_HAS_WIN32_SURFACE
+ case CAIRO_SURFACE_TYPE_WIN32:
+ return RefPtr<Win32Surface>(new Win32Surface(surface, false /* does not have reference */));
+ break;
+#endif
+#if CAIRO_HAS_SVG_SURFACE
+ case CAIRO_SURFACE_TYPE_SVG:
+ return RefPtr<SvgSurface>(new SvgSurface(surface, false /* does not have reference */));
+ break;
+#endif
+ // the following surfaces are not directly supported in cairomm yet
+ case CAIRO_SURFACE_TYPE_DIRECTFB:
+ case CAIRO_SURFACE_TYPE_OS2:
+ case CAIRO_SURFACE_TYPE_BEOS:
+ case CAIRO_SURFACE_TYPE_XCB:
+ default:
+ return RefPtr<Surface>(new Surface(surface, false /* does not have reference */));
+ }
+}
+
RefPtr<Surface> Context::get_target()
{
cairo_surface_t* surface = cairo_get_target(const_cast<cairo_t*>(m_cobject));
check_object_status_and_throw_exception(*this);
- return RefPtr<Surface>(new Surface(surface, false /* does not have reference */));
+ return get_surface_wrapper (surface);
}
RefPtr<const Surface> Context::get_target() const
{
cairo_surface_t* surface = cairo_get_target(const_cast<cairo_t*>(m_cobject));
check_object_status_and_throw_exception(*this);
- return RefPtr<const Surface>(new Surface(surface, false /* does not have reference */));
+ return RefPtr<const Surface>::cast_const (get_surface_wrapper (surface));
}
Path* Context::copy_path() const
@@ -631,7 +757,7 @@ RefPtr<Pattern> Context::pop_group()
{
cairo_pattern_t* pattern = cairo_pop_group(m_cobject);
check_object_status_and_throw_exception(*this);
- return RefPtr<Pattern>(new Pattern(pattern));
+ return get_pattern_wrapper(pattern);
}
void Context::pop_group_to_source()
@@ -644,24 +770,26 @@ RefPtr<Surface> Context::get_group_target()
{
cairo_surface_t* surface = cairo_get_group_target(m_cobject);
// surface can be NULL if you're not between push/pop group calls
- if (surface == NULL)
+ if(!surface)
{
// FIXME: is this really the right way to handle this?
throw_exception(CAIRO_STATUS_NULL_POINTER);
}
- return RefPtr<Surface>(new Surface(surface, false));
+
+ return get_surface_wrapper(surface);
}
RefPtr<const Surface> Context::get_group_target() const
{
cairo_surface_t* surface = cairo_get_group_target(m_cobject);
// surface can be NULL if you're not between push/pop group calls
- if (surface == NULL)
+ if(!surface)
{
// FIXME: is this really the right way to handle this?
throw_exception(CAIRO_STATUS_NULL_POINTER);
}
- return RefPtr<const Surface>(new Surface(surface, false));
+
+ return get_surface_wrapper(surface);
}
} //namespace Cairo
diff --git a/libs/cairomm/cairomm/context.h b/libs/cairomm/cairomm/context.h
index dcd3d833a6..6c47e3bd23 100644
--- a/libs/cairomm/cairomm/context.h
+++ b/libs/cairomm/cairomm/context.h
@@ -19,6 +19,8 @@
#ifndef __CAIROMM_CONTEXT_H
#define __CAIROMM_CONTEXT_H
+#include <vector>
+#include <utility>
#include <cairomm/surface.h>
#include <cairomm/fontface.h>
#include <cairomm/pattern.h>
@@ -35,6 +37,7 @@ typedef cairo_glyph_t Glyph; //A simple struct.
typedef cairo_font_extents_t FontExtents; //A simple struct.
typedef cairo_text_extents_t TextExtents; //A simple struct.
typedef cairo_matrix_t Matrix; //A simple struct. //TODO: Derive and add operator[] and operator. matrix multiplication?
+typedef cairo_rectangle_t Rectangle;
/** Context is the main class used to draw in cairomm.
* In the simplest case, create a Context with its target Surface, set its
@@ -232,6 +235,11 @@ public:
*/
void set_line_join(LineJoin line_join);
+ /**
+ * Alternate version of set_dash(). You'll probably want to use the one that
+ * takes a std::vector argument instead.
+ */
+ void set_dash(std::valarray<double>& dashes, double offset);
/** Sets the dash pattern to be used by stroke(). A dash pattern is specified
* by dashes, an array of positive values. Each value provides the user-space
* length of altenate "on" and "off" portions of the stroke. The offset
@@ -249,7 +257,7 @@ public:
*
* @exception
*/
- void set_dash(std::valarray<double>& dashes, double offset);
+ void set_dash(std::vector<double>& dashes, double offset);
/** This function disables a dash pattern that was set with set_dash()
*/
@@ -668,6 +676,30 @@ public:
* @sa set_fill_rule()
*/
void clip_preserve();
+
+ /**
+ * Computes a bounding box in user coordinates covering the area inside the
+ * current clip.
+ *
+ * @param x1 left of the resulting extents
+ * @param y1 top of the resulting extents
+ * @param x2 right of the resulting extents
+ * @param y2 bottom of the resulting extents
+ *
+ * @since 1.4
+ **/
+ void get_clip_extents(double& x1, double& y1, double& x2, double& y2) const;
+
+ /**
+ * Returns the current clip region as a list of rectangles in user coordinates.
+ *
+ * This function will throw an exception if the clip region cannot be
+ * represented as a list of user-space rectangles.
+ *
+ * @Since 1.4
+ **/
+ void copy_clip_rectangle_list(std::vector<Rectangle>& rectangles) const;
+
void select_font_face(const std::string& family, FontSlant slant, FontWeight weight);
void set_font_size(double size);
void set_font_matrix(const Matrix& matrix);
@@ -737,6 +769,17 @@ public:
*/
double get_miter_limit() const;
+ /**
+ * Gets the current dash array and offset.
+ *
+ * @param dashes return value for the dash array
+ * @param offset return value for the current dash offset
+ *
+ * Since: 1.4
+ **/
+ void get_dash(std::vector<double>& dashes, double& offset) const;
+
+
/** Stores the current transformation matrix (CTM) into matrix.
*
* @param matrix return value for the matrix
@@ -754,7 +797,7 @@ public:
* @exception
*/
RefPtr<const Surface> get_target() const;
-
+
//TODO: Copy or reference-count a Path somethow instead of asking the caller to delete it?
/** Creates a copy of the current path and returns it to the user.
*
diff --git a/libs/cairomm/cairomm/enums.h b/libs/cairomm/cairomm/enums.h
index e2023ed265..349d9781b3 100644
--- a/libs/cairomm/cairomm/enums.h
+++ b/libs/cairomm/cairomm/enums.h
@@ -111,7 +111,7 @@ typedef enum
FORMAT_RGB24 = CAIRO_FORMAT_RGB24,
FORMAT_A8 = CAIRO_FORMAT_A8,
FORMAT_A1 = CAIRO_FORMAT_A1,
- FORMAT_RGB16_565 = CAIRO_FORMAT_RGB16_565
+ FORMAT_RGB16_565 = CAIRO_FORMAT_RGB16_565 /* @< @deprecated This format value is deprecated. It has never been properly implemented in cairo and is unnecessary. */
} Format;
@@ -175,7 +175,8 @@ typedef enum
SURFACE_TYPE_WIN32 = CAIRO_SURFACE_TYPE_WIN32,
SURFACE_TYPE_BEOS = CAIRO_SURFACE_TYPE_BEOS,
SURFACE_TYPE_DIRECTFB = CAIRO_SURFACE_TYPE_DIRECTFB,
- SURFACE_TYPE_SVG = CAIRO_SURFACE_TYPE_SVG
+ SURFACE_TYPE_SVG = CAIRO_SURFACE_TYPE_SVG,
+ SURFACE_TYPE_OS2 = CAIRO_SURFACE_TYPE_OS2
} SurfaceType;
typedef enum
diff --git a/libs/cairomm/cairomm/pattern.cc b/libs/cairomm/cairomm/pattern.cc
index 27638cd400..420ed824d1 100644
--- a/libs/cairomm/cairomm/pattern.cc
+++ b/libs/cairomm/cairomm/pattern.cc
@@ -77,6 +77,14 @@ SolidPattern::SolidPattern(cairo_pattern_t* cobject, bool has_reference)
: Pattern(cobject, has_reference)
{
}
+void
+SolidPattern::get_rgba(double& red, double& green,
+ double& blue, double& alpha) const
+{
+ // ignore the return value since we know that this is a solid color pattern
+ cairo_pattern_get_rgba(m_cobject, &red, &green, &blue, &alpha);
+ check_object_status_and_throw_exception(*this);
+}
SolidPattern::~SolidPattern()
{
@@ -103,6 +111,22 @@ SurfacePattern::SurfacePattern(const RefPtr<Surface>& surface)
check_object_status_and_throw_exception(*this);
}
+RefPtr<Surface>
+SurfacePattern::get_surface()
+{
+ cairo_surface_t* surface = 0;
+ // we can ignore the return value since we know this is a surface pattern
+ cairo_pattern_get_surface(const_cast<cairo_pattern_t*>(m_cobject), &surface);
+ check_object_status_and_throw_exception(*this);
+ return RefPtr<Surface>(new Surface(surface, false /* does not have reference */));
+}
+
+RefPtr<const Surface>
+SurfacePattern::get_surface() const
+{
+ return const_cast<SurfacePattern*>(this)->get_surface();
+}
+
RefPtr<SurfacePattern> SurfacePattern::create(const RefPtr<Surface>& surface)
{
return RefPtr<SurfacePattern>(new SurfacePattern(surface));
@@ -170,6 +194,26 @@ void Gradient::add_color_stop_rgba(double offset, double red, double green, doub
check_object_status_and_throw_exception(*this);
}
+std::vector<ColorStop>
+Gradient::get_color_stops() const
+{
+ std::vector<ColorStop> stops;
+
+ int num_stops = 0;
+ // we can ignore the return value since we know this is a gradient pattern
+ cairo_pattern_get_color_stop_count(m_cobject, &num_stops);
+ // since we know the total number of stops, we can avoid re-allocation with
+ // each addition to the vector by pre-allocating the required number
+ stops.reserve(num_stops);
+ for(int i = 0; i < num_stops; ++i)
+ {
+ ColorStop stop;
+ cairo_pattern_get_color_stop_rgba(m_cobject, i, &stop.offset, &stop.red,
+ &stop.green, &stop.blue, &stop.alpha);
+ stops.push_back(stop);
+ }
+ return stops;
+}
LinearGradient::LinearGradient(double x0, double y0, double x1, double y1)
@@ -178,6 +222,17 @@ LinearGradient::LinearGradient(double x0, double y0, double x1, double y1)
check_object_status_and_throw_exception(*this);
}
+void
+LinearGradient::get_linear_points(double &x0, double &y0,
+ double &x1, double &y1) const
+{
+ // ignore the return value since we know that this is a linear gradient
+ // pattern
+ cairo_pattern_get_linear_points(m_cobject, &x0, &y0, &x1, &y1);
+ check_object_status_and_throw_exception(*this);
+}
+
+
RefPtr<LinearGradient> LinearGradient::create(double x0, double y0, double x1, double y1)
{
return RefPtr<LinearGradient>(new LinearGradient(x0, y0, x1, y1));
@@ -199,6 +254,18 @@ RadialGradient::RadialGradient(double cx0, double cy0, double radius0, double cx
check_object_status_and_throw_exception(*this);
}
+void
+RadialGradient::get_radial_circles(double& x0, double& y0, double& r0,
+ double& x1, double& y1, double& r1) const
+{
+ // ignore the return value since we know that this is a radial gradient
+ // pattern
+ cairo_pattern_get_radial_circles(const_cast<cairo_pattern_t*>(m_cobject),
+ &x0, &y0, &r0, &x1, &y1, &r1);
+ check_object_status_and_throw_exception(*this);
+}
+
+
RefPtr<RadialGradient> RadialGradient::create(double cx0, double cy0, double radius0, double cx1, double cy1, double radius1)
{
return RefPtr<RadialGradient>(new RadialGradient(cx0, cy0, radius0, cx1, cy1, radius1));
diff --git a/libs/cairomm/cairomm/pattern.h b/libs/cairomm/cairomm/pattern.h
index 2624d7a5d9..e56d38339e 100644
--- a/libs/cairomm/cairomm/pattern.h
+++ b/libs/cairomm/cairomm/pattern.h
@@ -26,6 +26,11 @@
namespace Cairo
{
+struct ColorStop
+{
+ double offset;
+ double red, green, blue, alpha;
+};
/**
* This is a reference-counted object that should be used via Cairo::RefPtr.
@@ -83,8 +88,25 @@ public:
*/
explicit SolidPattern(cairo_pattern_t* cobject, bool has_reference = false);
+ /**
+ * Gets the solid color for a solid color pattern.
+ *
+ * @param red return value for red component of color
+ * @param green return value for green component of color
+ * @param blue return value for blue component of color
+ * @param alpha return value for alpha component of color
+ *
+ * @since 1.4
+ **/
+ void get_rgba (double& red, double& green,
+ double& blue, double& alpha) const;
+
+ //TODO: Documentation
static RefPtr<SolidPattern> create_rgb(double red, double green, double blue);
- static RefPtr<SolidPattern> create_rgba(double red, double green, double blue, double alpha);
+
+ //TODO: Documentation
+ static RefPtr<SolidPattern> create_rgba(double red, double green,
+ double blue, double alpha);
//TODO?: SolidPattern(cairo_pattern_t *target);
virtual ~SolidPattern();
@@ -106,6 +128,19 @@ public:
*/
explicit SurfacePattern(cairo_pattern_t* cobject, bool has_reference = false);
+ /**
+ * Gets the surface associated with this pattern
+ *
+ * @since 1.4
+ **/
+ RefPtr<const Surface> get_surface () const;
+
+ /**
+ * Gets the surface associated with this pattern
+ *
+ * @since 1.4
+ **/
+ RefPtr<Surface> get_surface ();
virtual ~SurfacePattern();
@@ -134,9 +169,47 @@ public:
virtual ~Gradient();
+ /**
+ * Adds an opaque color stop to a gradient pattern. The offset
+ * specifies the location along the gradient's control vector. For
+ * example, a linear gradient's control vector is from (x0,y0) to
+ * (x1,y1) while a radial gradient's control vector is from any point
+ * on the start circle to the corresponding point on the end circle.
+ *
+ * The color is specified in the same way as in Context::set_source_rgb().
+ *
+ * @param offset an offset in the range [0.0 .. 1.0]
+ * @param red red component of color
+ * @param green green component of color
+ * @param blue blue component of color
+ **/
void add_color_stop_rgb(double offset, double red, double green, double blue);
+
+ /**
+ * Adds a translucent color stop to a gradient pattern. The offset
+ * specifies the location along the gradient's control vector. For
+ * example, a linear gradient's control vector is from (x0,y0) to
+ * (x1,y1) while a radial gradient's control vector is from any point
+ * on the start circle to the corresponding point on the end circle.
+ *
+ * The color is specified in the same way as in Context::set_source_rgba().
+ *
+ * @param offset an offset in the range [0.0 .. 1.0]
+ * @param red red component of color
+ * @param green green component of color
+ * @param blue blue component of color
+ * @param alpha alpha component of color
+ */
void add_color_stop_rgba(double offset, double red, double green, double blue, double alpha);
+ /*
+ * Gets the color stops and offsets for this Gradient
+ *
+ * @since 1.4
+ */
+ std::vector<ColorStop> get_color_stops() const;
+
+
protected:
Gradient();
};
@@ -155,6 +228,19 @@ public:
*/
explicit LinearGradient(cairo_pattern_t* cobject, bool has_reference = false);
+ /**
+ * @param x0 return value for the x coordinate of the first point
+ * @param y0 return value for the y coordinate of the first point
+ * @param x1 return value for the x coordinate of the second point
+ * @param y1 return value for the y coordinate of the second point
+ *
+ * Gets the gradient endpoints for a linear gradient.
+ *
+ * @since 1.4
+ **/
+ void get_linear_points(double &x0, double &y0,
+ double &x1, double &y1) const;
+
//TODO?: LinearGradient(cairo_pattern_t *target);
virtual ~LinearGradient();
@@ -175,6 +261,21 @@ public:
*/
explicit RadialGradient(cairo_pattern_t* cobject, bool has_reference = false);
+ /**
+ * @param x0 return value for the x coordinate of the center of the first (inner) circle
+ * @param y0 return value for the y coordinate of the center of the first (inner) circle
+ * @param r0 return value for the radius of the first (inner) circle
+ * @param x1 return value for the x coordinate of the center of the second (outer) circle
+ * @param y1 return value for the y coordinate of the center of the second (outer) circle
+ * @param r1 return value for the radius of the second (outer) circle
+ *
+ * Gets the gradient endpoint circles for a radial gradient, each
+ * specified as a center coordinate and a radius.
+ *
+ * @since 1.4
+ **/
+ void get_radial_circles(double& x0, double& y0, double& r0,
+ double& x1, double& y1, double& r1) const;
//TODO?: RadialGradient(cairo_pattern_t *target);
virtual ~RadialGradient();
diff --git a/libs/cairomm/cairomm/private.cc b/libs/cairomm/cairomm/private.cc
index 68d09f9562..d71f0dfa2c 100644
--- a/libs/cairomm/cairomm/private.cc
+++ b/libs/cairomm/cairomm/private.cc
@@ -16,6 +16,7 @@
* 02110-1301, USA.
*/
+//#include <cairommconfig.h> //For CAIROMM_EXCEPTIONS_ENABLED
#include <cairomm/private.h>
#include <cairomm/exception.h>
#include <stdexcept>
@@ -24,6 +25,7 @@
namespace Cairo
{
+#ifdef CAIROMM_EXCEPTIONS_ENABLED
void throw_exception(ErrorStatus status)
{
switch(status)
@@ -55,21 +57,28 @@ void throw_exception(ErrorStatus status)
throw Cairo::logic_error(status);
break;
- // Other
+ // Other
case CAIRO_STATUS_READ_ERROR:
case CAIRO_STATUS_WRITE_ERROR:
- {
- //The Cairo language binding advice suggests that these are stream errors
- //that should be mapped to their C++ equivalents.
- const char* error_message = cairo_status_to_string(status);
- throw std::ios_base::failure( error_message ? error_message : std::string() );
- }
-
+ {
+ //The Cairo language binding advice suggests that these are stream errors
+ //that should be mapped to their C++ equivalents.
+ const char* error_message = cairo_status_to_string(status);
+ throw std::ios_base::failure( error_message ? error_message : std::string() );
+ }
+ break;
+
default:
throw Cairo::logic_error(status);
break;
}
}
+#else
+void throw_exception(ErrorStatus /* status */)
+{
+ //Do nothing. The application should call get_status() instead.
+}
+#endif //CAIROMM_EXCEPTIONS_ENABLED
} //namespace Cairo
diff --git a/libs/cairomm/cairomm/private.h b/libs/cairomm/cairomm/private.h
index 7b18c5bc21..6b911b558a 100644
--- a/libs/cairomm/cairomm/private.h
+++ b/libs/cairomm/cairomm/private.h
@@ -23,10 +23,11 @@
#include <cairomm/exception.h>
#include <string>
-
+#ifndef DOXYGEN_IGNORE_THIS
namespace Cairo
{
+/// Throws the appropriate exception, if exceptions are enabled.
void throw_exception(ErrorStatus status);
//We inline this because it is called so often.
@@ -44,6 +45,7 @@ void check_object_status_and_throw_exception(const T& object)
}
} // namespace Cairo
+#endif //DOXYGEN_IGNORE_THIS
#endif //__CAIROMM_PRIVATE_H
diff --git a/libs/cairomm/cairomm/quartz_surface.cc b/libs/cairomm/cairomm/quartz_surface.cc
new file mode 100644
index 0000000000..b5000c6f1b
--- /dev/null
+++ b/libs/cairomm/cairomm/quartz_surface.cc
@@ -0,0 +1,60 @@
+/* Copyright (C) 2007 The cairomm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
+
+#include <cairomm/quartz_surface.h>
+#include <cairomm/private.h>
+
+namespace Cairo
+{
+
+#ifdef CAIRO_HAS_QUARTZ_SURFACE
+
+QuartzSurface::QuartzSurface(cairo_surface_t* cobject, bool has_reference) :
+ Surface(cobject, has_reference)
+{}
+
+QuartzSurface::~QuartzSurface()
+{
+ // surface is destroyed in base class
+}
+
+CGContextRef QuartzSurface::get_cg_context() const
+{
+ return cairo_quartz_surface_get_cg_context(m_cobject);
+}
+
+RefPtr<QuartzSurface> QuartzSurface::create(CGContextRef cg_context, int width, int height)
+{
+ cairo_surface_t* cobject = cairo_quartz_surface_create_for_cg_context(cg_context,
+ width, height);
+ check_status_and_throw_exception(cairo_surface_status(cobject));
+ return RefPtr<QuartzSurface>(new QuartzSurface(cobject, true /* has reference */));
+}
+
+RefPtr<QuartzSurface> QuartzSurface::create(Format format, int width, int height)
+{
+ cairo_surface_t* cobject = cairo_quartz_surface_create((cairo_format_t)format, width, height);
+ check_status_and_throw_exception(cairo_surface_status(cobject));
+ return RefPtr<QuartzSurface>(new QuartzSurface(cobject, true /* has reference */));
+}
+
+#endif // CAIRO_HAS_QUARTZ_SURFACE
+
+} //namespace Cairo
+
+// vim: ts=2 sw=2 et
diff --git a/libs/cairomm/cairomm/quartz_surface.h b/libs/cairomm/cairomm/quartz_surface.h
new file mode 100644
index 0000000000..246a45a1b8
--- /dev/null
+++ b/libs/cairomm/cairomm/quartz_surface.h
@@ -0,0 +1,88 @@
+/* Copyright (C) 2007 The cairomm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
+
+#ifndef __CAIROMM_QUARTZ_SURFACE_H
+#define __CAIROMM_QUARTZ_SURFACE_H
+
+#include <cairomm/surface.h>
+
+#ifdef CAIRO_HAS_QUARTZ_SURFACE
+#include <cairo-quartz.h>
+#endif
+
+namespace Cairo
+{
+
+#ifdef CAIRO_HAS_QUARTZ_SURFACE
+
+/** A QuartzSurface provides a way to render within Apple Mac OS X. If you
+ * want to draw to the screen within a Mac OS X application, you
+ * should use this Surface type.
+ *
+ * @note For this Surface to be available, cairo must have been compiled with
+ * (native) Quartz support (requires Cairo > 1.4.0)
+ */
+class QuartzSurface : public Surface
+{
+public:
+
+ /** Create a C++ wrapper for the C instance. This C++ instance should then be
+ * given to a RefPtr.
+ *
+ * @param cobject The C instance.
+ * @param has_reference whether we already have a reference. Otherwise, the
+ * constructor will take an extra reference.
+ */
+ explicit QuartzSurface(cairo_surface_t* cobject, bool has_reference = false);
+ virtual ~QuartzSurface();
+
+ /** Returns the CGContextRef associated with this surface, or NULL if none. Also
+ * returns NULL if the surface is not a Quartz surface.
+ *
+ * @return CGContextRef or NULL if no CGContextRef available.
+ */
+ CGContextRef get_cg_context() const;
+
+ /** Creates a cairo surface that targets the given CGContext.
+ *
+ * @param cg_context the CGContext to create a surface for
+ * @return the newly created surface
+ */
+ static RefPtr<QuartzSurface> create(CGContextRef cg_context, int width, int height);
+
+ /** Creates a device-independent-bitmap surface not associated with any
+ * particular existing surface or device context. The created bitmap will be
+ * unititialized.
+ *
+ * @param format format of pixels in the surface to create
+ * @param width width of the surface, in pixels
+ * @param height height of the surface, in pixels
+ * @return the newly created surface
+ */
+ static RefPtr<QuartzSurface> create(Format format, int width, int height);
+
+};
+
+#endif // CAIRO_HAS_QUARTZ_SURFACE
+
+
+} // namespace Cairo
+
+#endif //__CAIROMM_QUARTZ_SURFACE_H
+
+// vim: ts=2 sw=2 et
diff --git a/libs/cairomm/cairomm/refptr.h b/libs/cairomm/cairomm/refptr.h
index c346fe0001..90b8240192 100644
--- a/libs/cairomm/cairomm/refptr.h
+++ b/libs/cairomm/cairomm/refptr.h
@@ -2,7 +2,7 @@
#ifndef _cairo_REFPTR_H
#define _cairo_REFPTR_H
-/* $Id: refptr.h,v 1.6 2006/09/27 18:38:57 murrayc Exp $ */
+/* $Id: refptr.h,v 1.6 2006-09-27 18:38:57 murrayc Exp $ */
/* Copyright 2005 The cairomm Development Team
*
@@ -64,6 +64,9 @@ public:
*/
explicit inline RefPtr(T_CppObject* pCppObject);
+ /// For use only in the internal implementation of sharedptr.
+ explicit inline RefPtr(T_CppObject* pCppObject, int* refcount);
+
/** Copy constructor
*
* This increments the shared reference count.
@@ -227,6 +230,17 @@ RefPtr<T_CppObject>::RefPtr(T_CppObject* pCppObject)
}
}
+//Used by cast_*() implementations:
+template <class T_CppObject> inline
+RefPtr<T_CppObject>::RefPtr(T_CppObject* pCppObject, int* refcount)
+:
+ pCppObject_(pCppObject),
+ pCppRefcount_(refcount)
+{
+ if(pCppObject_ && pCppRefcount_)
+ ++(*pCppRefcount_);
+}
+
template <class T_CppObject> inline
RefPtr<T_CppObject>::RefPtr(const RefPtr<T_CppObject>& src)
:
@@ -342,10 +356,10 @@ RefPtr<T_CppObject> RefPtr<T_CppObject>::cast_dynamic(const RefPtr<T_CastFrom>&
{
T_CppObject *const pCppObject = dynamic_cast<T_CppObject*>(src.operator->());
- if(pCppObject && src.refcount_())
- ++(*(src.refcount_()));
-
- return RefPtr<T_CppObject>(pCppObject); //TODO: Does an unnecessary extra reference() on the C object.
+ if(pCppObject) //Check whether dynamic_cast<> succeeded so we don't pass a null object with a used refcount:
+ return RefPtr<T_CppObject>(pCppObject, src.refcount_());
+ else
+ return RefPtr<T_CppObject>();
}
template <class T_CppObject>
@@ -355,10 +369,7 @@ RefPtr<T_CppObject> RefPtr<T_CppObject>::cast_static(const RefPtr<T_CastFrom>& s
{
T_CppObject *const pCppObject = static_cast<T_CppObject*>(src.operator->());
- if(pCppObject && src.refcount_())
- ++(*(src.refcount_()));
-
- return RefPtr<T_CppObject>(pCppObject); //TODO: Does an unnecessary extra reference() on the C object.
+ return RefPtr<T_CppObject>(pCppObject, src.refcount_());
}
template <class T_CppObject>
@@ -368,10 +379,7 @@ RefPtr<T_CppObject> RefPtr<T_CppObject>::cast_const(const RefPtr<T_CastFrom>& sr
{
T_CppObject *const pCppObject = const_cast<T_CppObject*>(src.operator->());
- if(pCppObject && src.refcount_())
- ++(*(src.refcount_()));
-
- return RefPtr<T_CppObject>(pCppObject); //TODO: Does an unnecessary extra reference() on the C object.
+ return RefPtr<T_CppObject>(pCppObject, src.refcount_());
}
#endif /* DOXYGEN_IGNORE_THIS */
diff --git a/libs/cairomm/cairomm/scaledfont.h b/libs/cairomm/cairomm/scaledfont.h
index 9ad077c7d5..2648054605 100644
--- a/libs/cairomm/cairomm/scaledfont.h
+++ b/libs/cairomm/cairomm/scaledfont.h
@@ -77,9 +77,11 @@ public:
static RefPtr<ScaledFont> create(FontFace& font_face, const Matrix& font_matrix,
const Matrix& ctm, const FontOptions& options);
+ //TODO: This should really be get_extents().
/** Gets the metrics for a ScaledFont */
void extents(FontExtents& extents) const;
+ //TODO: This should really be get_text_extents().
/** Gets the extents for a string of text. The extents describe a user-space
* rectangle that encloses the "inked" portion of the text drawn at the origin
* (0,0) (as it would be drawn by Context::show_text() if the cairo graphics
@@ -102,6 +104,7 @@ public:
*/
void text_extents(const std::string& utf8, TextExtents& extents) const;
+ //TODO: This should really be get_glyph_extents().
/** Gets the extents for an array of glyphs. The extents describe a user-space
* rectangle that encloses the "inked" portion of the glyphs, (as they would
* be drawn by Context::show_glyphs() if the cairo graphics state were set to the
diff --git a/libs/cairomm/cairomm/surface.h b/libs/cairomm/cairomm/surface.h
index 001f754a79..15f0f9b092 100644
--- a/libs/cairomm/cairomm/surface.h
+++ b/libs/cairomm/cairomm/surface.h
@@ -28,6 +28,7 @@
//See xlib_surface.h for XlibSurface.
//See win32_surface.h for Win32Surface.
+//See quartz_surface.h for QuartzSurface (Mac OS X).
#ifdef CAIRO_HAS_PDF_SURFACE
#include <cairo-pdf.h>
diff --git a/libs/cairomm/config.guess b/libs/cairomm/config.guess
index ad5281e66e..0f0fe712ae 100644..100755
--- a/libs/cairomm/config.guess
+++ b/libs/cairomm/config.guess
@@ -1,9 +1,10 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+# Inc.
-timestamp='2005-08-03'
+timestamp='2007-03-06'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -106,7 +107,7 @@ set_cc_for_build='
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
@@ -160,6 +161,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
@@ -206,8 +208,11 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:ekkoBSD:*:*)
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
exit ;;
+ *:SolidBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ exit ;;
macppc:MirBSD:*:*)
- echo powerppc-unknown-mirbsd${UNAME_RELEASE}
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
exit ;;
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
@@ -764,12 +769,19 @@ EOF
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit ;;
*:FreeBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ case ${UNAME_MACHINE} in
+ pc98)
+ echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ amd64)
+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ *)
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ esac
exit ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
exit ;;
- i*:MINGW*:*)
+ *:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
i*:windows32*:*)
@@ -779,9 +791,15 @@ EOF
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
exit ;;
- x86:Interix*:[34]*)
- echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
- exit ;;
+ *:Interix*:[3456]*)
+ case ${UNAME_MACHINE} in
+ x86)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+ EM64T | authenticamd)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ esac ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
exit ;;
@@ -817,6 +835,9 @@ EOF
arm*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
cris:Linux:*:*)
echo cris-axis-linux-gnu
exit ;;
@@ -851,7 +872,11 @@ EOF
#endif
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^CPU/{
+ s: ::g
+ p
+ }'`"
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
mips64:Linux:*:*)
@@ -870,7 +895,11 @@ EOF
#endif
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^CPU/{
+ s: ::g
+ p
+ }'`"
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
or32:Linux:*:*)
@@ -919,9 +948,15 @@ EOF
sparc:Linux:*:* | sparc64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-gnu
+ exit ;;
x86_64:Linux:*:*)
echo x86_64-unknown-linux-gnu
exit ;;
+ xtensa:Linux:*:*)
+ echo xtensa-unknown-linux-gnu
+ exit ;;
i*86:Linux:*:*)
# The BFD linker knows what the default object file format is, so
# first see if it will tell us. cd to the root directory to prevent
@@ -964,7 +999,7 @@ EOF
LIBC=gnulibc1
# endif
#else
- #ifdef __INTEL_COMPILER
+ #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
LIBC=gnu
#else
LIBC=gnuaout
@@ -974,7 +1009,11 @@ EOF
LIBC=dietlibc
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^LIBC/{
+ s: ::g
+ p
+ }'`"
test x"${LIBC}" != x && {
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
exit
@@ -1176,6 +1215,15 @@ EOF
SX-6:SUPER-UX:*:*)
echo sx6-nec-superux${UNAME_RELEASE}
exit ;;
+ SX-7:SUPER-UX:*:*)
+ echo sx7-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8:SUPER-UX:*:*)
+ echo sx8-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8R:SUPER-UX:*:*)
+ echo sx8r-nec-superux${UNAME_RELEASE}
+ exit ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
exit ;;
@@ -1185,7 +1233,6 @@ EOF
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
case $UNAME_PROCESSOR in
- *86) UNAME_PROCESSOR=i686 ;;
unknown) UNAME_PROCESSOR=powerpc ;;
esac
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
@@ -1264,6 +1311,9 @@ EOF
i*86:skyos:*:*)
echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
exit ;;
+ i*86:rdos:*:*)
+ echo ${UNAME_MACHINE}-pc-rdos
+ exit ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
diff --git a/libs/cairomm/config.sub b/libs/cairomm/config.sub
index 1c366dfde9..5defff65a6 100644..100755
--- a/libs/cairomm/config.sub
+++ b/libs/cairomm/config.sub
@@ -1,9 +1,10 @@
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+# Inc.
-timestamp='2005-07-08'
+timestamp='2007-01-18'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -119,8 +120,9 @@ esac
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
- nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
- kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
@@ -171,6 +173,10 @@ case $os in
-hiux*)
os=-hiuxwe2
;;
+ -sco6)
+ os=-sco5v6
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
-sco5)
os=-sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@@ -187,6 +193,10 @@ case $os in
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
+ -sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
-sco*)
os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@@ -231,15 +241,16 @@ case $basic_machine in
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
| bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
- | fr30 | frv \
+ | fido | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
- | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | mcore | mep \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
@@ -257,28 +268,27 @@ case $basic_machine in
| mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
- | ms1 \
+ | mt \
| msp430 \
+ | nios | nios2 \
| ns16k | ns32k \
| or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
- | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
- | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
- | sparcv8 | sparcv9 | sparcv9b \
- | strongarm \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu | strongarm \
| tahoe | thumb | tic4x | tic80 | tron \
| v850 | v850e \
| we32k \
- | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
+ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
| z8k)
basic_machine=$basic_machine-unknown
;;
- m32c)
- basic_machine=$basic_machine-unknown
- ;;
m6811 | m68hc11 | m6812 | m68hc12)
# Motorola 68HC11/12.
basic_machine=$basic_machine-unknown
@@ -286,6 +296,9 @@ case $basic_machine in
;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
;;
+ ms1)
+ basic_machine=mt-unknown
+ ;;
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
@@ -305,18 +318,18 @@ case $basic_machine in
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* \
+ | avr-* | avr32-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
| clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
- | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
- | m32r-* | m32rle-* \
+ | m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | maxq-* | mcore-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
@@ -336,31 +349,30 @@ case $basic_machine in
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipstx39-* | mipstx39el-* \
| mmix-* \
- | ms1-* \
+ | mt-* \
| msp430-* \
+ | nios-* | nios2-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
| romp-* | rs6000-* \
- | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
| tahoe-* | thumb-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tron-* \
| v850-* | v850e-* | vax-* \
| we32k-* \
- | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
| xstormy16-* | xtensa-* \
| ymp-* \
| z8k-*)
;;
- m32c-*)
- ;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd)
@@ -696,6 +708,9 @@ case $basic_machine in
basic_machine=i386-pc
os=-msdos
;;
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ ;;
mvs)
basic_machine=i370-ibm
os=-mvs
@@ -803,6 +818,12 @@ case $basic_machine in
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc
;;
@@ -859,6 +880,10 @@ case $basic_machine in
basic_machine=i586-unknown
os=-pw32
;;
+ rdos)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
rom68k)
basic_machine=m68k-rom68k
os=-coff
@@ -885,6 +910,10 @@ case $basic_machine in
sb1el)
basic_machine=mipsisa64sb1el-unknown
;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=-elf
+ ;;
sei)
basic_machine=mips-sei
os=-seiux
@@ -896,6 +925,9 @@ case $basic_machine in
basic_machine=sh-hitachi
os=-hms
;;
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
sh64)
basic_machine=sh64-unknown
;;
@@ -1101,7 +1133,7 @@ case $basic_machine in
sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown
;;
- sparc | sparcv8 | sparcv9 | sparcv9b)
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
basic_machine=sparc-sun
;;
cydra)
@@ -1174,21 +1206,23 @@ case $os in
| -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -openbsd* | -solidbsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku*)
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1340,6 +1374,12 @@ else
# system, and we'll never get to this point.
case $basic_machine in
+ score-*)
+ os=-elf
+ ;;
+ spu-*)
+ os=-elf
+ ;;
*-acorn)
os=-riscix1.2
;;
@@ -1349,9 +1389,9 @@ case $basic_machine in
arm*-semi)
os=-aout
;;
- c4x-* | tic4x-*)
- os=-coff
- ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
# This must come before the *-dec entry.
pdp10-*)
os=-tops20
@@ -1377,6 +1417,9 @@ case $basic_machine in
m68*-cisco)
os=-aout
;;
+ mep-*)
+ os=-elf
+ ;;
mips*-cisco)
os=-elf
;;
diff --git a/libs/cairomm/configure b/libs/cairomm/configure
index 46e0fc25db..421eb11d58 100644..100755
--- a/libs/cairomm/configure
+++ b/libs/cairomm/configure
@@ -1,25 +1,54 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59.
+# Generated by GNU Autoconf 2.61.
#
-# Copyright (C) 2003 Free Software Foundation, Inc.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## --------------------- ##
## M4sh Initialization. ##
## --------------------- ##
-# Be Bourne compatible
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
# Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
fi
-DUALCASE=1; export DUALCASE # for MKS sh
# Support unset when possible.
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
@@ -29,8 +58,43 @@ else
fi
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
PS1='$ '
PS2='> '
PS4='+ '
@@ -44,18 +108,19 @@ do
if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
eval $as_var=C; export $as_var
else
- $as_unset $as_var
+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
fi
done
# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
@@ -63,157 +128,388 @@ fi
# Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+# CDPATH.
+$as_unset CDPATH
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
+if test "x$CONFIG_SHELL" = x; then
+ if (eval ":") 2>/dev/null; then
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+
+ if test $as_have_required = yes && (eval ":
+(as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
fi
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=\$LINENO
+ as_lineno_2=\$LINENO
+ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+ :
+else
+ as_candidate_shells=
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
+ case $as_dir in
/*)
- if ("$as_dir/$as_base" -c '
+ for as_base in sh bash ksh sh5; do
+ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+ done;;
+ esac
+done
+IFS=$as_save_IFS
+
+
+ for as_shell in $as_candidate_shells $SHELL; do
+ # Try only shells that exist, to save several forks.
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+_ASEOF
+}; then
+ CONFIG_SHELL=$as_shell
+ as_have_required=yes
+ if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+(as_func_return () {
+ (exit $1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
as_lineno_1=$LINENO
as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+ break
+fi
+
+fi
+
+ done
+
+ if test "x$CONFIG_SHELL" != x; then
+ for as_var in BASH_ENV ENV
+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ done
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+ if test $as_have_required = no; then
+ echo This script requires a shell more modern than all the
+ echo shells that I found on your system. Please install a
+ echo modern shell, or manually run the script under such a
+ echo shell if you do have one.
+ { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+ echo No shell found that supports shell functions.
+ echo Please tell autoconf@gnu.org about your system,
+ echo including any error possibly output before this
+ echo message
+}
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
# Create $as_me.lineno as a copy of $as_myself, but with $LINENO
# uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
# (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
+ s/-\n.*//
' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
+ chmod +x "$as_me.lineno" ||
{ echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
# Exit status is that of the last command.
exit
}
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
esac
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir
+fi
echo >conf$$.file
if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -p'
fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
if mkdir -p . 2>/dev/null; then
as_mkdir_p=:
@@ -222,7 +518,28 @@ else
as_mkdir_p=false
fi
-as_executable_p="test -f"
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -231,15 +548,6 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
# Check that we are running under the correct shell.
@@ -395,29 +703,26 @@ tagnames=${tagnames+${tagnames},}CXX
tagnames=${tagnames+${tagnames},}F77
+exec 7<&0 </dev/null 6>&1
+
# Name of the host.
# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-exec 6>&1
-
#
# Initializations.
#
ac_default_prefix=/usr/local
+ac_clean_files=
ac_config_libobj_dir=.
+LIBOBJS=
cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=
SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete. It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
# Identity of this package.
PACKAGE_NAME=
PACKAGE_TARNAME=
@@ -429,42 +734,185 @@ ac_unique_file="cairomm/cairomm.h"
# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
-#if HAVE_SYS_TYPES_H
+#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
-#if HAVE_SYS_STAT_H
+#ifdef HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
-#if STDC_HEADERS
+#ifdef STDC_HEADERS
# include <stdlib.h>
# include <stddef.h>
#else
-# if HAVE_STDLIB_H
+# ifdef HAVE_STDLIB_H
# include <stdlib.h>
# endif
#endif
-#if HAVE_STRING_H
-# if !STDC_HEADERS && HAVE_MEMORY_H
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# include <memory.h>
# endif
# include <string.h>
#endif
-#if HAVE_STRINGS_H
+#ifdef HAVE_STRINGS_H
# include <strings.h>
#endif
-#if HAVE_INTTYPES_H
+#ifdef HAVE_INTTYPES_H
# include <inttypes.h>
-#else
-# if HAVE_STDINT_H
-# include <stdint.h>
-# endif
#endif
-#if HAVE_UNISTD_H
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS GENERIC_MAJOR_VERSION GENERIC_MINOR_VERSION GENERIC_MICRO_VERSION GENERIC_VERSION GENERIC_LIBRARY_VERSION INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS ac_ct_CC CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB DLLTOOL ac_ct_DLLTOOL AS ac_ct_AS OBJDUMP ac_ct_OBJDUMP CPP F77 FFLAGS ac_ct_F77 LIBTOOL PLATFORM_WIN32_TRUE PLATFORM_WIN32_FALSE PKG_CONFIG ac_pt_PKG_CONFIG CAIROMM_CFLAGS CAIROMM_LIBS DOXYGEN DOT DOCS_SUBDIR LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL
+PATH_SEPARATOR
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+GENERIC_MAJOR_VERSION
+GENERIC_MINOR_VERSION
+GENERIC_MICRO_VERSION
+GENERIC_VERSION
+GENERIC_LIBRARY_VERSION
+INSTALL_PROGRAM
+INSTALL_SCRIPT
+INSTALL_DATA
+CYGPATH_W
+PACKAGE
+VERSION
+ACLOCAL
+AUTOCONF
+AUTOMAKE
+AUTOHEADER
+MAKEINFO
+install_sh
+STRIP
+INSTALL_STRIP_PROGRAM
+mkdir_p
+AWK
+SET_MAKE
+am__leading_dot
+AMTAR
+am__tar
+am__untar
+CXX
+CXXFLAGS
+LDFLAGS
+CPPFLAGS
+ac_ct_CXX
+EXEEXT
+OBJEXT
+DEPDIR
+am__include
+am__quote
+AMDEP_TRUE
+AMDEP_FALSE
+AMDEPBACKSLASH
+CXXDEPMODE
+am__fastdepCXX_TRUE
+am__fastdepCXX_FALSE
+CXXCPP
+build
+build_cpu
+build_vendor
+build_os
+host
+host_cpu
+host_vendor
+host_os
+CC
+CFLAGS
+ac_ct_CC
+CCDEPMODE
+am__fastdepCC_TRUE
+am__fastdepCC_FALSE
+SED
+GREP
+EGREP
+LN_S
+ECHO
+AR
+RANLIB
+DLLTOOL
+AS
+OBJDUMP
+CPP
+F77
+FFLAGS
+ac_ct_F77
+LIBTOOL
+PLATFORM_WIN32_TRUE
+PLATFORM_WIN32_FALSE
+OS_WIN32_TRUE
+OS_WIN32_FALSE
+PKG_CONFIG
+CAIROMM_CFLAGS
+CAIROMM_LIBS
+BOOST_CPPFLAGS
+BOOST_LDFLAGS
+BOOST_UNIT_TEST_FRAMEWORK_LIB
+AUTOTESTS_TRUE
+AUTOTESTS_FALSE
+DOXYGEN
+DOT
+DOCS_SUBDIR
+LIBOBJS
+LTLIBOBJS'
ac_subst_files=''
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CXX
+CXXFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CCC
+CXXCPP
+CC
+CFLAGS
+CPP
+F77
+FFLAGS
+PKG_CONFIG
+CAIROMM_CFLAGS
+CAIROMM_LIBS'
+
# Initialize some variables set by options.
ac_init_help=
@@ -491,34 +939,48 @@ x_libraries=NONE
# and all the variables that are supposed to be based on exec_prefix
# by default will actually change.
# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
includedir='${prefix}/include'
oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
+docdir='${datarootdir}/doc/${PACKAGE}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
ac_prev=
+ac_dashdash=
for ac_option
do
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
+ eval $ac_prev=\$ac_option
ac_prev=
continue
fi
- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+ case $ac_option in
+ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *) ac_optarg=yes ;;
+ esac
# Accept the important Cygnus configure options, so we can diagnose typos.
- case $ac_option in
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
-bindir | --bindir | --bindi | --bind | --bin | --bi)
ac_prev=bindir ;;
@@ -540,33 +1002,45 @@ do
--config-cache | -C)
cache_file=config.cache ;;
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ -datadir | --datadir | --datadi | --datad)
ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
datadir=$ac_optarg ;;
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
-disable-* | --disable-*)
ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
{ echo "$as_me: error: invalid feature name: $ac_feature" >&2
{ (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- eval "enable_$ac_feature=no" ;;
+ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+ eval enable_$ac_feature=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
-enable-* | --enable-*)
ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
{ echo "$as_me: error: invalid feature name: $ac_feature" >&2
{ (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_$ac_feature='$ac_optarg'" ;;
+ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+ eval enable_$ac_feature=\$ac_optarg ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
@@ -593,6 +1067,12 @@ do
-host=* | --host=* | --hos=* | --ho=*)
host_alias=$ac_optarg ;;
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
-includedir | --includedir | --includedi | --included | --include \
| --includ | --inclu | --incl | --inc)
ac_prev=includedir ;;
@@ -617,13 +1097,16 @@ do
| --libexe=* | --libex=* | --libe=*)
libexecdir=$ac_optarg ;;
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
-localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
+ | --localstate | --localstat | --localsta | --localst | --locals)
ac_prev=localstatedir ;;
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
localstatedir=$ac_optarg ;;
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
@@ -688,6 +1171,16 @@ do
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name=$ac_optarg ;;
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
@@ -740,24 +1233,20 @@ do
-with-* | --with-*)
ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
{ echo "$as_me: error: invalid package name: $ac_package" >&2
{ (exit 1); exit 1; }; }
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "with_$ac_package='$ac_optarg'" ;;
+ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+ eval with_$ac_package=\$ac_optarg ;;
-without-* | --without-*)
ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
{ echo "$as_me: error: invalid package name: $ac_package" >&2
{ (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/-/_/g'`
- eval "with_$ac_package=no" ;;
+ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+ eval with_$ac_package=no ;;
--x)
# Obsolete; use --with-x.
@@ -788,8 +1277,7 @@ Try \`$0 --help' for more information." >&2
expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
{ echo "$as_me: error: invalid variable name: $ac_envvar" >&2
{ (exit 1); exit 1; }; }
- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
- eval "$ac_envvar='$ac_optarg'"
+ eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
*)
@@ -809,27 +1297,19 @@ if test -n "$ac_prev"; then
{ (exit 1); exit 1; }; }
fi
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
- localstatedir libdir includedir oldincludedir infodir mandir
+# Be sure to have absolute directory names.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
do
- eval ac_val=$`echo $ac_var`
+ eval ac_val=\$$ac_var
case $ac_val in
- [\\/$]* | ?:[\\/]* ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
+ { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; }
done
# There might be people who depend on the old broken behavior: `$host'
@@ -856,106 +1336,76 @@ test -n "$host_alias" && ac_tool_prefix=$host_alias-
test "$silent" = yes && exec 6>/dev/null
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ { echo "$as_me: error: Working directory cannot be determined" >&2
+ { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ { echo "$as_me: error: pwd does not report name of working directory" >&2
+ { (exit 1); exit 1; }; }
+
+
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_confdir=`(dirname "$0") 2>/dev/null ||
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$0" ||
$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$0" : 'X\(//\)[^/]' \| \
X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$0" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
+ if test ! -r "$srcdir/$ac_unique_file"; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
- { (exit 1); exit 1; }; }
- else
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
{ (exit 1); exit 1; }; }
- fi
fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
- { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
{ (exit 1); exit 1; }; }
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-ac_env_CXX_set=${CXX+set}
-ac_env_CXX_value=$CXX
-ac_cv_env_CXX_set=${CXX+set}
-ac_cv_env_CXX_value=$CXX
-ac_env_CXXFLAGS_set=${CXXFLAGS+set}
-ac_env_CXXFLAGS_value=$CXXFLAGS
-ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set}
-ac_cv_env_CXXFLAGS_value=$CXXFLAGS
-ac_env_LDFLAGS_set=${LDFLAGS+set}
-ac_env_LDFLAGS_value=$LDFLAGS
-ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
-ac_cv_env_LDFLAGS_value=$LDFLAGS
-ac_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_env_CPPFLAGS_value=$CPPFLAGS
-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_cv_env_CPPFLAGS_value=$CPPFLAGS
-ac_env_CXXCPP_set=${CXXCPP+set}
-ac_env_CXXCPP_value=$CXXCPP
-ac_cv_env_CXXCPP_set=${CXXCPP+set}
-ac_cv_env_CXXCPP_value=$CXXCPP
-ac_env_CC_set=${CC+set}
-ac_env_CC_value=$CC
-ac_cv_env_CC_set=${CC+set}
-ac_cv_env_CC_value=$CC
-ac_env_CFLAGS_set=${CFLAGS+set}
-ac_env_CFLAGS_value=$CFLAGS
-ac_cv_env_CFLAGS_set=${CFLAGS+set}
-ac_cv_env_CFLAGS_value=$CFLAGS
-ac_env_CPP_set=${CPP+set}
-ac_env_CPP_value=$CPP
-ac_cv_env_CPP_set=${CPP+set}
-ac_cv_env_CPP_value=$CPP
-ac_env_F77_set=${F77+set}
-ac_env_F77_value=$F77
-ac_cv_env_F77_set=${F77+set}
-ac_cv_env_F77_value=$F77
-ac_env_FFLAGS_set=${FFLAGS+set}
-ac_env_FFLAGS_value=$FFLAGS
-ac_cv_env_FFLAGS_set=${FFLAGS+set}
-ac_cv_env_FFLAGS_value=$FFLAGS
-ac_env_PKG_CONFIG_set=${PKG_CONFIG+set}
-ac_env_PKG_CONFIG_value=$PKG_CONFIG
-ac_cv_env_PKG_CONFIG_set=${PKG_CONFIG+set}
-ac_cv_env_PKG_CONFIG_value=$PKG_CONFIG
-ac_env_CAIROMM_CFLAGS_set=${CAIROMM_CFLAGS+set}
-ac_env_CAIROMM_CFLAGS_value=$CAIROMM_CFLAGS
-ac_cv_env_CAIROMM_CFLAGS_set=${CAIROMM_CFLAGS+set}
-ac_cv_env_CAIROMM_CFLAGS_value=$CAIROMM_CFLAGS
-ac_env_CAIROMM_LIBS_set=${CAIROMM_LIBS+set}
-ac_env_CAIROMM_LIBS_value=$CAIROMM_LIBS
-ac_cv_env_CAIROMM_LIBS_set=${CAIROMM_LIBS+set}
-ac_cv_env_CAIROMM_LIBS_value=$CAIROMM_LIBS
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
#
# Report the --help message.
@@ -984,9 +1434,6 @@ Configuration:
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or \`..']
-_ACEOF
-
- cat <<_ACEOF
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[$ac_default_prefix]
@@ -1004,15 +1451,22 @@ Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data [PREFIX/share]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
- --infodir=DIR info documentation [PREFIX/info]
- --mandir=DIR man documentation [PREFIX/man]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
_ACEOF
cat <<\_ACEOF
@@ -1037,13 +1491,14 @@ Optional Features:
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--disable-dependency-tracking speeds up one-time build
--enable-dependency-tracking do not reject slow dependency extractors
- --enable-shared[=PKGS]
- build shared libraries [default=yes]
- --enable-static[=PKGS]
- build static libraries [default=yes]
+ --enable-shared[=PKGS] build shared libraries [default=yes]
+ --enable-static[=PKGS] build static libraries [default=yes]
--enable-fast-install[=PKGS]
optimize for fast installation [default=yes]
--disable-libtool-lock avoid locking (might break parallel builds)
+ --enable-tests=yes|no enable automated tests (default is no)
+ --enable-api-exceptions Build exceptions API.
+ [default=yes]
--enable-docs build the included docs [default=yes]
Optional Packages:
@@ -1052,16 +1507,23 @@ Optional Packages:
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-pic try to use only PIC/non-PIC objects [default=use
both]
- --with-tags[=TAGS]
- include additional configurations [automatic]
+ --with-tags[=TAGS] include additional configurations [automatic]
+ --with-boost[=DIR] use boost (default is No) - it is possible to
+ specify the root directory for boost (optional)
+ --with-boost-unit-test-framework[=special-lib]
+ use the Unit_Test_Framework library from boost - it
+ is possible to specify a certain library for the
+ linker e.g.
+ --with-boost-unit-test-framework=boost_unit_test_framework-gcc
Some influential environment variables:
CXX C++ compiler command
CXXFLAGS C++ compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
- CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
- headers in a nonstandard directory <include dir>
+ LIBS libraries to pass to the linker, e.g. -l<library>
+ CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
CXXCPP C++ preprocessor
CC C compiler command
CFLAGS C compiler flags
@@ -1078,118 +1540,86 @@ Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
_ACEOF
+ac_status=$?
fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
- ac_popdir=`pwd`
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d $ac_dir || continue
+ test -d "$ac_dir" || continue
ac_builddir=.
-if test "$ac_dir" != .; then
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
case $srcdir in
- .) # No --srcdir option. We are building in place.
+ .) # We are building in place.
ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
- cd $ac_dir
- # Check for guested configure; otherwise get Cygnus style configure.
- if test -f $ac_srcdir/configure.gnu; then
- echo
- $SHELL $ac_srcdir/configure.gnu --help=recursive
- elif test -f $ac_srcdir/configure; then
- echo
- $SHELL $ac_srcdir/configure --help=recursive
- elif test -f $ac_srcdir/configure.ac ||
- test -f $ac_srcdir/configure.in; then
- echo
- $ac_configure --help
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
else
echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi
- cd "$ac_popdir"
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
done
fi
-test -n "$ac_init_help" && exit 0
+test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
+configure
+generated by GNU Autoconf 2.61
-Copyright (C) 2003 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
- exit 0
+ exit
fi
-exec 5>config.log
-cat >&5 <<_ACEOF
+cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by $as_me, which was
-generated by GNU Autoconf 2.59. Invocation command line was
+generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
_ACEOF
+exec 5>>config.log
{
cat <<_ASUNAME
## --------- ##
@@ -1208,7 +1638,7 @@ uname -v = `(uname -v) 2>/dev/null || echo unknown`
/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
@@ -1222,6 +1652,7 @@ do
test -z "$as_dir" && as_dir=.
echo "PATH: $as_dir"
done
+IFS=$as_save_IFS
} >&5
@@ -1243,7 +1674,6 @@ _ACEOF
ac_configure_args=
ac_configure_args0=
ac_configure_args1=
-ac_sep=
ac_must_keep_next=false
for ac_pass in 1 2
do
@@ -1254,7 +1684,7 @@ do
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
continue ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ *\'*)
ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
@@ -1276,9 +1706,7 @@ do
-* ) ac_must_keep_next=true ;;
esac
fi
- ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
- # Get rid of the leading space.
- ac_sep=" "
+ ac_configure_args="$ac_configure_args '$ac_arg'"
;;
esac
done
@@ -1289,8 +1717,8 @@ $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_
# When interrupted or exit'd, cleanup temporary files, and complete
# config.log. We remove comments because anyway the quotes in there
# would cause problems or look ugly.
-# WARNING: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
trap 'exit_status=$?
# Save into config.log some information that might help in debugging.
{
@@ -1303,20 +1731,34 @@ trap 'exit_status=$?
_ASBOX
echo
# The following way of writing the cache mishandles newlines in values,
-{
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
(set) 2>&1 |
- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
sed -n \
- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
- ;;
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
*)
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
- esac;
-}
+ esac |
+ sort
+)
echo
cat <<\_ASBOX
@@ -1327,22 +1769,28 @@ _ASBOX
echo
for ac_var in $ac_subst_vars
do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ echo "$ac_var='\''$ac_val'\''"
done | sort
echo
if test -n "$ac_subst_files"; then
cat <<\_ASBOX
-## ------------- ##
-## Output files. ##
-## ------------- ##
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
_ASBOX
echo
for ac_var in $ac_subst_files
do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ echo "$ac_var='\''$ac_val'\''"
done | sort
echo
fi
@@ -1354,26 +1802,24 @@ _ASBOX
## ----------- ##
_ASBOX
echo
- sed "/^$/d" confdefs.h | sort
+ cat confdefs.h
echo
fi
test "$ac_signal" != 0 &&
echo "$as_me: caught signal $ac_signal"
echo "$as_me: exit $exit_status"
} >&5
- rm -f core *.core &&
- rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
exit $exit_status
- ' 0
+' 0
for ac_signal in 1 2 13 15; do
trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
done
ac_signal=0
# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >confdefs.h
+rm -f -r conftest* confdefs.h
# Predefined preprocessor variables.
@@ -1404,14 +1850,17 @@ _ACEOF
# Let the site file select an alternate cache file if it wants to.
# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
+if test -n "$CONFIG_SITE"; then
+ set x "$CONFIG_SITE"
+elif test "x$prefix" != xNONE; then
+ set x "$prefix/share/config.site" "$prefix/etc/config.site"
+else
+ set x "$ac_default_prefix/share/config.site" \
+ "$ac_default_prefix/etc/config.site"
fi
-for ac_site_file in $CONFIG_SITE; do
+shift
+for ac_site_file
+do
if test -r "$ac_site_file"; then
{ echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
echo "$as_me: loading site script $ac_site_file" >&6;}
@@ -1427,8 +1876,8 @@ if test -r "$cache_file"; then
{ echo "$as_me:$LINENO: loading cache $cache_file" >&5
echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
- [\\/]* | ?:[\\/]* ) . $cache_file;;
- *) . ./$cache_file;;
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
esac
fi
else
@@ -1440,12 +1889,11 @@ fi
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
-for ac_var in `(set) 2>&1 |
- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+for ac_var in $ac_precious_vars; do
eval ac_old_set=\$ac_cv_env_${ac_var}_set
eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val="\$ac_cv_env_${ac_var}_value"
- eval ac_new_val="\$ac_env_${ac_var}_value"
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
case $ac_old_set,$ac_new_set in
set,)
{ echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
@@ -1470,8 +1918,7 @@ echo "$as_me: current value: $ac_new_val" >&2;}
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
@@ -1488,12 +1935,6 @@ echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start ov
{ (exit 1); exit 1; }; }
fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
@@ -1510,13 +1951,18 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
#release versioning
GENERIC_MAJOR_VERSION=1
-GENERIC_MINOR_VERSION=2
-GENERIC_MICRO_VERSION=4
+GENERIC_MINOR_VERSION=4
+GENERIC_MICRO_VERSION=6
GENERIC_VERSION=$GENERIC_MAJOR_VERSION.$GENERIC_MINOR_VERSION.$GENERIC_MICRO_VERSION
@@ -1524,7 +1970,7 @@ GENERIC_VERSION=$GENERIC_MAJOR_VERSION.$GENERIC_MINOR_VERSION.$GENERIC_MICRO_VER
#shared library versioning
-GENERIC_LIBRARY_VERSION=1:0:0
+GENERIC_LIBRARY_VERSION=2:0:1
# | | |
# +------+ | +---+
# | | |
@@ -1541,32 +1987,37 @@ GENERIC_LIBRARY_VERSION=1:0:0
VERSION=$GENERIC_VERSION
-
am__api_version="1.9"
ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+ if test -f "$ac_dir/install-sh"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install-sh -c"
break
- elif test -f $ac_dir/install.sh; then
+ elif test -f "$ac_dir/install.sh"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install.sh -c"
break
- elif test -f $ac_dir/shtool; then
+ elif test -f "$ac_dir/shtool"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/shtool install -c"
break
fi
done
if test -z "$ac_aux_dir"; then
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
-echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
+ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
{ (exit 1); exit 1; }; }
fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
@@ -1581,8 +2032,8 @@ ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
if test -z "$INSTALL"; then
if test "${ac_cv_path_install+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -1604,7 +2055,7 @@ case $as_dir/ in
# by default.
for ac_prog in ginstall scoinst install; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
if test $ac_prog = install &&
grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
@@ -1623,21 +2074,22 @@ case $as_dir/ in
;;
esac
done
+IFS=$as_save_IFS
fi
if test "${ac_cv_path_install+set}" = set; then
INSTALL=$ac_cv_path_install
else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
# break other packages using the cache if that directory is
- # removed, or if the path is relative.
+ # removed, or if the value is a relative name.
INSTALL=$ac_install_sh
fi
fi
-echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6
+{ echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6; }
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
@@ -1647,8 +2099,8 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
# Just in case
sleep 1
echo timestamp > conftest.file
@@ -1690,20 +2142,20 @@ echo "$as_me: error: newly created file is older than distributed files!
Check your system clock" >&2;}
{ (exit 1); exit 1; }; }
fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
test "$program_prefix" != NONE &&
- program_transform_name="s,^,$program_prefix,;$program_transform_name"
+ program_transform_name="s&^&$program_prefix&;$program_transform_name"
# Use a double $ so make ignores it.
test "$program_suffix" != NONE &&
- program_transform_name="s,\$,$program_suffix,;$program_transform_name"
+ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
# Double any \ or $. echo might interpret backslashes.
# By default was `s,x,x', remove it if useless.
cat <<\_ACEOF >conftest.sed
s/[\\$]/&&/g;s/;s,x,x,$//
_ACEOF
program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm conftest.sed
+rm -f conftest.sed
# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`
@@ -1755,8 +2207,8 @@ for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_AWK+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -1769,54 +2221,57 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AWK="$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
- echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6
+ { echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$AWK" && break
done
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
+set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
all:
- @echo 'ac_maketemp="$(MAKE)"'
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
rm -f conftest.make
fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
SET_MAKE=
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
SET_MAKE="MAKE=${MAKE-make}"
fi
@@ -1887,8 +2342,8 @@ if test "$cross_compiling" != no; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_STRIP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -1901,32 +2356,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
- echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
+ { echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_STRIP"; then
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -1939,27 +2396,41 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_STRIP="strip"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
- echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- STRIP=$ac_ct_STRIP
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
else
STRIP="$ac_cv_prog_STRIP"
fi
@@ -1980,18 +2451,25 @@ am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-ac_ext=cc
+ac_config_headers="$ac_config_headers cairomm/cairommconfig.h"
+
+
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+if test -z "$CXX"; then
+ if test -n "$CCC"; then
+ CXX=$CCC
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_CXX+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2004,36 +2482,38 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
CXX=$ac_cv_prog_CXX
if test -n "$CXX"; then
- echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6
+ { echo "$as_me:$LINENO: result: $CXX" >&5
+echo "${ECHO_T}$CXX" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$CXX" && break
done
fi
if test -z "$CXX"; then
ac_ct_CXX=$CXX
- for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2046,49 +2526,79 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CXX="$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
if test -n "$ac_ct_CXX"; then
- echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+echo "${ECHO_T}$ac_ct_CXX" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$ac_ct_CXX" && break
done
-test -n "$ac_ct_CXX" || ac_ct_CXX="g++"
- CXX=$ac_ct_CXX
+ if test "x$ac_ct_CXX" = x; then
+ CXX="g++"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CXX=$ac_ct_CXX
+ fi
fi
-
+ fi
+fi
# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C++ compiler version" >&5
+echo "$as_me:$LINENO: checking for C++ compiler version" >&5
ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
@@ -2113,47 +2623,77 @@ ac_clean_files="$ac_clean_files a.out a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
-echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5
-echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5
+echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6; }
ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
- (eval $ac_link_default) 2>&5
+#
+# List of possible output files, starting from the most likely.
+# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
+# only as a last resort. b.out is created by i960 compilers.
+ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
+#
+# The IRIX 6 linker writes into existing files which may not be
+# executable, retaining their permissions. Remove them first so a
+# subsequent execution test works.
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { (ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link_default") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
- # Find the output, starting from the most likely. This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-# resort.
-
-# Be careful to initialize this variable, since it used to be cached.
-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
-ac_cv_exeext=
-# b.out is created by i960 compilers.
-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
- ;;
- conftest.$ac_ext )
- # This is the source file.
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
;;
[ab].out )
# We found the default executable, but exeext='' is most
# certainly right.
break;;
*.* )
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- # FIXME: I believe we export ac_cv_exeext for Libtool,
- # but it would be cool to find out if it's true. Does anybody
- # maintain Libtool? --akim.
- export ac_cv_exeext
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
break;;
* )
break;;
esac
done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
else
+ ac_file=''
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6; }
+if test -z "$ac_file"; then
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
@@ -2165,19 +2705,21 @@ See \`config.log' for more details." >&2;}
fi
ac_exeext=$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6
-# Check the compiler produces executables we can run. If not, either
+# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5
-echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5
+echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6; }
# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
# If not cross compiling, check that we can run a simple program.
if test "$cross_compiling" != yes; then
if { ac_try='./$ac_file'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -2196,22 +2738,27 @@ See \`config.log' for more details." >&2;}
fi
fi
fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
rm -f a.out a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
-# Check the compiler produces executables we can run. If not, either
+# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6
-
-echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6; }
+
+{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
@@ -2222,9 +2769,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
for ac_file in conftest.exe conftest conftest.*; do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
*.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- export ac_cv_exeext
break;;
* ) break;;
esac
@@ -2238,14 +2784,14 @@ See \`config.log' for more details." >&2;}
fi
rm -f conftest$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6; }
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
-echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
if test "${ac_cv_objext+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2265,14 +2811,20 @@ main ()
}
_ACEOF
rm -f conftest.o conftest.obj
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
- for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
*) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
break;;
esac
@@ -2290,12 +2842,12 @@ fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6; }
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
-echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2318,49 +2870,49 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_compiler_gnu=no
+ ac_compiler_gnu=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
fi
-echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
GXX=`test $ac_compiler_gnu = yes && echo yes`
ac_test_CXXFLAGS=${CXXFLAGS+set}
ac_save_CXXFLAGS=$CXXFLAGS
-CXXFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
if test "${ac_cv_prog_cxx_g+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- cat >conftest.$ac_ext <<_ACEOF
+ ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+ ac_cxx_werror_flag=yes
+ ac_cv_prog_cxx_g=no
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -2376,156 +2928,133 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_prog_cxx_g=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_prog_cxx_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6
-if test "$ac_test_CXXFLAGS" = set; then
- CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
- if test "$GXX" = yes; then
- CXXFLAGS="-g -O2"
- else
- CXXFLAGS="-g"
- fi
-else
- if test "$GXX" = yes; then
- CXXFLAGS="-O2"
- else
- CXXFLAGS=
- fi
-fi
-for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
+ CXXFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
+
int
main ()
{
-exit (42);
+
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
:
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-$ac_declaration
+
int
main ()
{
-exit (42);
+
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cxx_g=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+ if test "$GXX" = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-g"
+ fi
+else
+ if test "$GXX" = yes; then
+ CXXFLAGS="-O2"
+ else
+ CXXFLAGS=
+ fi
+fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -2533,7 +3062,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
DEPDIR="${am__leading_dot}deps"
- ac_config_commands="$ac_config_commands depfiles"
+ac_config_commands="$ac_config_commands depfiles"
am_make=${MAKE-make}
@@ -2543,8 +3072,8 @@ am__doit:
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
-echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
am__include="#"
am__quote=
_am_result=none
@@ -2571,15 +3100,15 @@ if test "$am__include" = "#"; then
fi
-echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_am_result" >&6
+{ echo "$as_me:$LINENO: result: $_am_result" >&5
+echo "${ECHO_T}$_am_result" >&6; }
rm -f confinc confmf
-# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
+# Check whether --enable-dependency-tracking was given.
if test "${enable_dependency_tracking+set}" = set; then
- enableval="$enable_dependency_tracking"
+ enableval=$enable_dependency_tracking;
+fi
-fi;
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
@@ -2599,8 +3128,8 @@ fi
depcc="$CXX" am_compiler_list=
-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2689,8 +3218,8 @@ else
fi
fi
-echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6
+{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; }
CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
@@ -2706,13 +3235,13 @@ else
fi
-ac_ext=cc
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
+echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; }
if test -z "$CXXCPP"; then
if test "${ac_cv_prog_CXXCPP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -2742,24 +3271,22 @@ cat >>conftest.$ac_ext <<_ACEOF
#endif
Syntax error
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
:
else
echo "$as_me: failed program was:" >&5
@@ -2768,9 +3295,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
continue
fi
+
rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether non-existent headers
+ # OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -2780,24 +3308,22 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
# Broken: success on invalid input.
continue
else
@@ -2808,6 +3334,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_preproc_ok=:
break
fi
+
rm -f conftest.err conftest.$ac_ext
done
@@ -2825,8 +3352,8 @@ fi
else
ac_cv_prog_CXXCPP=$CXXCPP
fi
-echo "$as_me:$LINENO: result: $CXXCPP" >&5
-echo "${ECHO_T}$CXXCPP" >&6
+{ echo "$as_me:$LINENO: result: $CXXCPP" >&5
+echo "${ECHO_T}$CXXCPP" >&6; }
ac_preproc_ok=false
for ac_cxx_preproc_warn_flag in '' yes
do
@@ -2849,24 +3376,22 @@ cat >>conftest.$ac_ext <<_ACEOF
#endif
Syntax error
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
:
else
echo "$as_me: failed program was:" >&5
@@ -2875,9 +3400,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
continue
fi
+
rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether non-existent headers
+ # OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -2887,24 +3413,22 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
# Broken: success on invalid input.
continue
else
@@ -2915,6 +3439,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_preproc_ok=:
break
fi
+
rm -f conftest.err conftest.$ac_ext
done
@@ -2936,7 +3461,7 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-ac_ext=cc
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -2955,8 +3480,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
if test -z "$INSTALL"; then
if test "${ac_cv_path_install+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -2978,7 +3503,7 @@ case $as_dir/ in
# by default.
for ac_prog in ginstall scoinst install; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
if test $ac_prog = install &&
grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
@@ -2997,21 +3522,22 @@ case $as_dir/ in
;;
esac
done
+IFS=$as_save_IFS
fi
if test "${ac_cv_path_install+set}" = set; then
INSTALL=$ac_cv_path_install
else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
# break other packages using the cache if that directory is
- # removed, or if the path is relative.
+ # removed, or if the value is a relative name.
INSTALL=$ac_install_sh
fi
fi
-echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6
+{ echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6; }
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
@@ -3023,10 +3549,9 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-# Check whether --enable-shared or --disable-shared was given.
+# Check whether --enable-shared was given.
if test "${enable_shared+set}" = set; then
- enableval="$enable_shared"
- p=${PACKAGE-default}
+ enableval=$enable_shared; p=${PACKAGE-default}
case $enableval in
yes) enable_shared=yes ;;
no) enable_shared=no ;;
@@ -3045,12 +3570,12 @@ if test "${enable_shared+set}" = set; then
esac
else
enable_shared=yes
-fi;
+fi
+
-# Check whether --enable-static or --disable-static was given.
+# Check whether --enable-static was given.
if test "${enable_static+set}" = set; then
- enableval="$enable_static"
- p=${PACKAGE-default}
+ enableval=$enable_static; p=${PACKAGE-default}
case $enableval in
yes) enable_static=yes ;;
no) enable_static=no ;;
@@ -3069,12 +3594,12 @@ if test "${enable_static+set}" = set; then
esac
else
enable_static=yes
-fi;
+fi
+
-# Check whether --enable-fast-install or --disable-fast-install was given.
+# Check whether --enable-fast-install was given.
if test "${enable_fast_install+set}" = set; then
- enableval="$enable_fast_install"
- p=${PACKAGE-default}
+ enableval=$enable_fast_install; p=${PACKAGE-default}
case $enableval in
yes) enable_fast_install=yes ;;
no) enable_fast_install=no ;;
@@ -3093,60 +3618,90 @@ if test "${enable_fast_install+set}" = set; then
esac
else
enable_fast_install=yes
-fi;
+fi
+
# Make sure we can run config.sub.
-$ac_config_sub sun4 >/dev/null 2>&1 ||
- { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
-echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
{ (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
if test "${ac_cv_build+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- ac_cv_build_alias=$build_alias
-test -z "$ac_cv_build_alias" &&
- ac_cv_build_alias=`$ac_config_guess`
-test -z "$ac_cv_build_alias" &&
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
{ { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
{ (exit 1); exit 1; }; }
-ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
-echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+echo "$as_me: error: invalid value of canonical build" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
build=$ac_cv_build
-build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
if test "${ac_cv_host+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- ac_cv_host_alias=$host_alias
-test -z "$ac_cv_host_alias" &&
- ac_cv_host_alias=$ac_cv_build_alias
-ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
{ (exit 1); exit 1; }; }
+fi
fi
-echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+echo "$as_me: error: invalid value of canonical host" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
host=$ac_cv_host
-host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
ac_ext=c
@@ -3157,8 +3712,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3171,32 +3726,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3209,36 +3766,51 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="gcc"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- CC=$ac_ct_CC
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
else
CC="$ac_cv_prog_CC"
fi
if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3251,74 +3823,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- CC=$ac_ct_CC
-else
- CC="$ac_cv_prog_CC"
-fi
+ fi
fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3332,7 +3864,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
@@ -3343,6 +3875,7 @@ do
fi
done
done
+IFS=$as_save_IFS
if test $ac_prog_rejected = yes; then
# We found a bogon in the path, so make sure we never use it.
@@ -3360,22 +3893,23 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
- for ac_prog in cl
+ for ac_prog in cl.exe
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3388,36 +3922,38 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$CC" && break
done
fi
if test -z "$CC"; then
ac_ct_CC=$CC
- for ac_prog in cl
+ for ac_prog in cl.exe
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3430,29 +3966,45 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$ac_ct_CC" && break
done
- CC=$ac_ct_CC
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
fi
fi
@@ -3465,27 +4017,41 @@ See \`config.log' for more details." >&2;}
{ (exit 1); exit 1; }; }
# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C compiler version" >&5
+echo "$as_me:$LINENO: checking for C compiler version" >&5
ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
if test "${ac_cv_c_compiler_gnu+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3508,49 +4074,49 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_compiler_gnu=no
+ ac_compiler_gnu=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
GCC=`test $ac_compiler_gnu = yes && echo yes`
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
-CFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
if test "${ac_cv_prog_cc_g+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- cat >conftest.$ac_ext <<_ACEOF
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -3566,37 +4132,118 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_g=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ CFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_prog_cc_g=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_prog_cc_g=no
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
if test "$ac_test_CFLAGS" = set; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
@@ -3612,12 +4259,12 @@ else
CFLAGS=
fi
fi
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
+{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- ac_cv_prog_cc_stdc=no
+ ac_cv_prog_cc_c89=no
ac_save_CC=$CC
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -3651,12 +4298,17 @@ static char *f (char * (*g) (char **, int), char **p, ...)
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not '\xHH' hex character constants.
These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std1 is added to get
+ as 'x'. The following induces an error, until -std is added to get
proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std1. */
+ that's true only with -std. */
int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
int test (int i, double x);
struct s1 {int (*f) (int a);};
struct s2 {int (*f) (double a);};
@@ -3671,202 +4323,58 @@ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
return 0;
}
_ACEOF
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX -qlanglvl=ansi
-# Ultrix and OSF/1 -std1
-# HP-UX 10.20 and later -Ae
-# HP-UX older versions -Aa -D_HPUX_SOURCE
-# SVR4 -Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
do
CC="$ac_save_CC $ac_arg"
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_stdc=$ac_arg
-break
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_c89=$ac_arg
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext
+
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
done
-rm -f conftest.$ac_ext conftest.$ac_objext
+rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
-
-case "x$ac_cv_prog_cc_stdc" in
- x|xno)
- echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6; } ;;
+ xno)
+ { echo "$as_me:$LINENO: result: unsupported" >&5
+echo "${ECHO_T}unsupported" >&6; } ;;
*)
- echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
- CC="$CC $ac_cv_prog_cc_stdc" ;;
+ CC="$CC $ac_cv_prog_cc_c89"
+ { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
esac
-# Some people use a C++ compiler to compile C. Since we use `exit',
-# in C++ we need to declare it. In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
- choke me
-#endif
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
-fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_ext=cc
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -3874,8 +4382,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
depcc="$CC" am_compiler_list=
-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3964,8 +4472,8 @@ else
fi
fi
-echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
+{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
@@ -3981,8 +4489,8 @@ else
fi
-echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; }
if test "${lt_cv_path_SED+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3995,12 +4503,13 @@ do
test -z "$as_dir" && as_dir=.
for lt_ac_prog in sed gsed; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+ if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then
lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
fi
done
done
done
+IFS=$as_save_IFS
lt_ac_max=0
lt_ac_count=0
# Add /usr/xpg4/bin/sed as it is typically found on Solaris
@@ -4035,37 +4544,185 @@ done
fi
SED=$lt_cv_path_SED
-echo "$as_me:$LINENO: result: $SED" >&5
-echo "${ECHO_T}$SED" >&6
-echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6
-if test "${ac_cv_prog_egrep+set}" = set; then
+{ echo "$as_me:$LINENO: result: $SED" >&5
+echo "${ECHO_T}$SED" >&6; }
+
+{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ # Extract the first word of "grep ggrep" to use in msg output
+if test -z "$GREP"; then
+set dummy grep ggrep; ac_prog_name=$2
+if test "${ac_cv_path_GREP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_path_GREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+ # Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+ $ac_path_GREP_found && break 3
+ done
+done
+
+done
+IFS=$as_save_IFS
+
+
+fi
+
+GREP="$ac_cv_path_GREP"
+if test -z "$GREP"; then
+ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ # Extract the first word of "egrep" to use in msg output
+if test -z "$EGREP"; then
+set dummy egrep; ac_prog_name=$2
+if test "${ac_cv_path_EGREP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- if echo a | (grep -E '(a|b)') >/dev/null 2>&1
- then ac_cv_prog_egrep='grep -E'
- else ac_cv_prog_egrep='egrep'
+ ac_path_EGREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+ # Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+ $ac_path_EGREP_found && break 3
+ done
+done
+
+done
+IFS=$as_save_IFS
+
+
+fi
+
+EGREP="$ac_cv_path_EGREP"
+if test -z "$EGREP"; then
+ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+
+ fi
fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
-echo "${ECHO_T}$ac_cv_prog_egrep" >&6
- EGREP=$ac_cv_prog_egrep
+{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
+# Check whether --with-gnu-ld was given.
if test "${with_gnu_ld+set}" = set; then
- withval="$with_gnu_ld"
- test "$withval" = no || with_gnu_ld=yes
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
else
with_gnu_ld=no
-fi;
+fi
+
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
- echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -4094,11 +4751,11 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
;;
esac
elif test "$with_gnu_ld" = yes; then
- echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
else
- echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
fi
if test "${lt_cv_path_LD+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -4131,17 +4788,17 @@ fi
LD="$lt_cv_path_LD"
if test -n "$LD"; then
- echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
+ { echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
{ (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
if test "${lt_cv_prog_gnu_ld+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4155,20 +4812,20 @@ case `$LD -v 2>&1 </dev/null` in
;;
esac
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld
-echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; }
if test "${lt_cv_ld_reload_flag+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
lt_cv_ld_reload_flag='-r'
fi
-echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; }
reload_flag=$lt_cv_ld_reload_flag
case $reload_flag in
"" | " "*) ;;
@@ -4185,8 +4842,8 @@ case $host_os in
;;
esac
-echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
-echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
+echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; }
if test "${lt_cv_path_NM+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4234,23 +4891,23 @@ else
test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
fi
fi
-echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
-echo "${ECHO_T}$lt_cv_path_NM" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
+echo "${ECHO_T}$lt_cv_path_NM" >&6; }
NM="$lt_cv_path_NM"
-echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
+echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
LN_S=$as_ln_s
if test "$LN_S" = "ln -s"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
else
- echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6
+ { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+echo "${ECHO_T}no, using $LN_S" >&6; }
fi
-echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5
-echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
+echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; }
if test "${lt_cv_deplibs_check_method+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4291,16 +4948,22 @@ cygwin*)
mingw* | pw32*)
# Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump'.
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ if ( file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
;;
darwin* | rhapsody*)
lt_cv_deplibs_check_method=pass_all
;;
-freebsd* | kfreebsd*-gnu | dragonfly*)
+freebsd* | dragonfly*)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
case $host_cpu in
i*86 )
@@ -4338,7 +5001,7 @@ hpux10.20* | hpux11*)
esac
;;
-interix3*)
+interix[3-9]*)
# PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
;;
@@ -4354,11 +5017,11 @@ irix5* | irix6* | nonstopux*)
;;
# This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
lt_cv_deplibs_check_method=pass_all
;;
-netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
else
@@ -4388,6 +5051,10 @@ osf3* | osf4* | osf5*)
lt_cv_deplibs_check_method=pass_all
;;
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
solaris*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -4425,8 +5092,8 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
esac
fi
-echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; }
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -4444,11 +5111,11 @@ LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
compiler=$CC
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+# Check whether --enable-libtool-lock was given.
if test "${enable_libtool_lock+set}" = set; then
- enableval="$enable_libtool_lock"
+ enableval=$enable_libtool_lock;
+fi
-fi;
test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
# Some flags need to be propagated to the compiler or linker for good
@@ -4475,7 +5142,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 4478 "configure"' > conftest.$ac_ext
+ echo '#line 5145 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -4510,7 +5177,8 @@ ia64-*-hpux*)
rm -rf conftest*
;;
-x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
@@ -4521,6 +5189,9 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
case `/usr/bin/file conftest.o` in
*32-bit*)
case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
x86_64-*linux*)
LD="${LD-ld} -m elf_i386"
;;
@@ -4537,6 +5208,9 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
;;
*64-bit*)
case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
@@ -4560,8 +5234,8 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
- echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
-echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
+echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; }
if test "${lt_cv_cc_needs_belf+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4587,34 +5261,32 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
lt_cv_cc_needs_belf=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-lt_cv_cc_needs_belf=no
+ lt_cv_cc_needs_belf=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -4623,8 +5295,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
fi
-echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
+echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; }
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
CFLAGS="$SAVE_CFLAGS"
@@ -4654,8 +5326,8 @@ sparc*-*solaris*)
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_DLLTOOL+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4668,32 +5340,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
DLLTOOL=$ac_cv_prog_DLLTOOL
if test -n "$DLLTOOL"; then
- echo "$as_me:$LINENO: result: $DLLTOOL" >&5
-echo "${ECHO_T}$DLLTOOL" >&6
+ { echo "$as_me:$LINENO: result: $DLLTOOL" >&5
+echo "${ECHO_T}$DLLTOOL" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_DLLTOOL"; then
ac_ct_DLLTOOL=$DLLTOOL
# Extract the first word of "dlltool", so it can be a program name with args.
set dummy dlltool; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4706,27 +5380,41 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_DLLTOOL="dlltool"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_DLLTOOL" && ac_cv_prog_ac_ct_DLLTOOL="false"
fi
fi
ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
if test -n "$ac_ct_DLLTOOL"; then
- echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5
-echo "${ECHO_T}$ac_ct_DLLTOOL" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5
+echo "${ECHO_T}$ac_ct_DLLTOOL" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- DLLTOOL=$ac_ct_DLLTOOL
+ if test "x$ac_ct_DLLTOOL" = x; then
+ DLLTOOL="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ DLLTOOL=$ac_ct_DLLTOOL
+ fi
else
DLLTOOL="$ac_cv_prog_DLLTOOL"
fi
@@ -4734,8 +5422,8 @@ fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
set dummy ${ac_tool_prefix}as; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_AS+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4748,32 +5436,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AS="${ac_tool_prefix}as"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
AS=$ac_cv_prog_AS
if test -n "$AS"; then
- echo "$as_me:$LINENO: result: $AS" >&5
-echo "${ECHO_T}$AS" >&6
+ { echo "$as_me:$LINENO: result: $AS" >&5
+echo "${ECHO_T}$AS" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_AS"; then
ac_ct_AS=$AS
# Extract the first word of "as", so it can be a program name with args.
set dummy as; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_AS+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4786,27 +5476,41 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_AS="as"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_AS" && ac_cv_prog_ac_ct_AS="false"
fi
fi
ac_ct_AS=$ac_cv_prog_ac_ct_AS
if test -n "$ac_ct_AS"; then
- echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
-echo "${ECHO_T}$ac_ct_AS" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
+echo "${ECHO_T}$ac_ct_AS" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- AS=$ac_ct_AS
+ if test "x$ac_ct_AS" = x; then
+ AS="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ AS=$ac_ct_AS
+ fi
else
AS="$ac_cv_prog_AS"
fi
@@ -4814,8 +5518,8 @@ fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
set dummy ${ac_tool_prefix}objdump; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_OBJDUMP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4828,32 +5532,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
OBJDUMP=$ac_cv_prog_OBJDUMP
if test -n "$OBJDUMP"; then
- echo "$as_me:$LINENO: result: $OBJDUMP" >&5
-echo "${ECHO_T}$OBJDUMP" >&6
+ { echo "$as_me:$LINENO: result: $OBJDUMP" >&5
+echo "${ECHO_T}$OBJDUMP" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_OBJDUMP"; then
ac_ct_OBJDUMP=$OBJDUMP
# Extract the first word of "objdump", so it can be a program name with args.
set dummy objdump; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4866,27 +5572,41 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_OBJDUMP="objdump"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_OBJDUMP" && ac_cv_prog_ac_ct_OBJDUMP="false"
fi
fi
ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
if test -n "$ac_ct_OBJDUMP"; then
- echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
-echo "${ECHO_T}$ac_ct_OBJDUMP" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
+echo "${ECHO_T}$ac_ct_OBJDUMP" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- OBJDUMP=$ac_ct_OBJDUMP
+ if test "x$ac_ct_OBJDUMP" = x; then
+ OBJDUMP="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ OBJDUMP=$ac_ct_OBJDUMP
+ fi
else
OBJDUMP="$ac_cv_prog_OBJDUMP"
fi
@@ -4903,8 +5623,8 @@ ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -4938,24 +5658,22 @@ cat >>conftest.$ac_ext <<_ACEOF
#endif
Syntax error
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
:
else
echo "$as_me: failed program was:" >&5
@@ -4964,9 +5682,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
continue
fi
+
rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether non-existent headers
+ # OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -4976,24 +5695,22 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
# Broken: success on invalid input.
continue
else
@@ -5004,6 +5721,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_preproc_ok=:
break
fi
+
rm -f conftest.err conftest.$ac_ext
done
@@ -5021,8 +5739,8 @@ fi
else
ac_cv_prog_CPP=$CPP
fi
-echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6
+{ echo "$as_me:$LINENO: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6; }
ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
@@ -5045,24 +5763,22 @@ cat >>conftest.$ac_ext <<_ACEOF
#endif
Syntax error
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
:
else
echo "$as_me: failed program was:" >&5
@@ -5071,9 +5787,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
continue
fi
+
rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether non-existent headers
+ # OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -5083,24 +5800,22 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
# Broken: success on invalid input.
continue
else
@@ -5111,6 +5826,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_preproc_ok=:
break
fi
+
rm -f conftest.err conftest.$ac_ext
done
@@ -5133,8 +5849,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
if test "${ac_cv_header_stdc+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5158,34 +5874,31 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_header_stdc=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_header_stdc=no
+ ac_cv_header_stdc=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
@@ -5241,6 +5954,7 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ctype.h>
+#include <stdlib.h>
#if ((' ' & 0x0FF) == 0x020)
# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
@@ -5260,18 +5974,27 @@ main ()
for (i = 0; i < 256; i++)
if (XOR (islower (i), ISLOWER (i))
|| toupper (i) != TOUPPER (i))
- exit(2);
- exit (0);
+ return 2;
+ return 0;
}
_ACEOF
rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -5284,12 +6007,14 @@ sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
ac_cv_header_stdc=no
fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
+
+
fi
fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
if test $ac_cv_header_stdc = yes; then
cat >>confdefs.h <<\_ACEOF
@@ -5312,9 +6037,9 @@ for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
inttypes.h stdint.h unistd.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
@@ -5328,37 +6053,35 @@ $ac_includes_default
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
eval "$as_ac_Header=yes"
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-eval "$as_ac_Header=no"
+ eval "$as_ac_Header=no"
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
if test `eval echo '${'$as_ac_Header'}'` = yes; then
cat >>confdefs.h <<_ACEOF
#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
@@ -5373,18 +6096,19 @@ done
for ac_header in dlfcn.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
else
# Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -5395,40 +6119,37 @@ $ac_includes_default
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_header_compiler=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_header_compiler=no
+ ac_header_compiler=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -5437,24 +6158,22 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <$ac_header>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
ac_header_preproc=yes
else
echo "$as_me: failed program was:" >&5
@@ -5462,9 +6181,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_header_preproc=no
fi
+
rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
# So? What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -5488,25 +6208,19 @@ echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\
echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
{ echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists. ##
-## ------------------------------------------ ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
+
;;
esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
eval "$as_ac_Header=\$ac_header_preproc"
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
fi
if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -5523,13 +6237,13 @@ done
if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
(test "X$CXX" != "Xg++"))) ; then
- ac_ext=cc
+ ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
+echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; }
if test -z "$CXXCPP"; then
if test "${ac_cv_prog_CXXCPP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -5559,24 +6273,22 @@ cat >>conftest.$ac_ext <<_ACEOF
#endif
Syntax error
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
:
else
echo "$as_me: failed program was:" >&5
@@ -5585,9 +6297,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
continue
fi
+
rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether non-existent headers
+ # OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -5597,24 +6310,22 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
# Broken: success on invalid input.
continue
else
@@ -5625,6 +6336,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_preproc_ok=:
break
fi
+
rm -f conftest.err conftest.$ac_ext
done
@@ -5642,8 +6354,8 @@ fi
else
ac_cv_prog_CXXCPP=$CXXCPP
fi
-echo "$as_me:$LINENO: result: $CXXCPP" >&5
-echo "${ECHO_T}$CXXCPP" >&6
+{ echo "$as_me:$LINENO: result: $CXXCPP" >&5
+echo "${ECHO_T}$CXXCPP" >&6; }
ac_preproc_ok=false
for ac_cxx_preproc_warn_flag in '' yes
do
@@ -5666,24 +6378,22 @@ cat >>conftest.$ac_ext <<_ACEOF
#endif
Syntax error
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
:
else
echo "$as_me: failed program was:" >&5
@@ -5692,9 +6402,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
continue
fi
+
rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether non-existent headers
+ # OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -5704,24 +6415,22 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
# Broken: success on invalid input.
continue
else
@@ -5732,6 +6441,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_preproc_ok=:
break
fi
+
rm -f conftest.err conftest.$ac_ext
done
@@ -5747,7 +6457,7 @@ See \`config.log' for more details." >&2;}
{ (exit 1); exit 1; }; }
fi
-ac_ext=cc
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -5761,12 +6471,12 @@ ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_f77_compiler_gnu
if test -n "$ac_tool_prefix"; then
- for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
+ for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_F77+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5779,36 +6489,38 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_F77="$ac_tool_prefix$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
F77=$ac_cv_prog_F77
if test -n "$F77"; then
- echo "$as_me:$LINENO: result: $F77" >&5
-echo "${ECHO_T}$F77" >&6
+ { echo "$as_me:$LINENO: result: $F77" >&5
+echo "${ECHO_T}$F77" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$F77" && break
done
fi
if test -z "$F77"; then
ac_ct_F77=$F77
- for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
+ for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5821,48 +6533,78 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_F77="$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
ac_ct_F77=$ac_cv_prog_ac_ct_F77
if test -n "$ac_ct_F77"; then
- echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
-echo "${ECHO_T}$ac_ct_F77" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
+echo "${ECHO_T}$ac_ct_F77" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$ac_ct_F77" && break
done
- F77=$ac_ct_F77
+ if test "x$ac_ct_F77" = x; then
+ F77=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ F77=$ac_ct_F77
+ fi
fi
# Provide some information about the compiler.
-echo "$as_me:5851:" \
- "checking for Fortran 77 compiler version" >&5
+echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5
ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
@@ -5872,8 +6614,8 @@ rm -f a.out
# input file. (Note that this only needs to work for GNU compilers.)
ac_save_ext=$ac_ext
ac_ext=F
-echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; }
if test "${ac_cv_f77_compiler_gnu+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5886,45 +6628,42 @@ else
end
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_f77_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_compiler_gnu=no
+ ac_compiler_gnu=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_f77_compiler_gnu=$ac_compiler_gnu
fi
-echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; }
ac_ext=$ac_save_ext
ac_test_FFLAGS=${FFLAGS+set}
ac_save_FFLAGS=$FFLAGS
FFLAGS=
-echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
-echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
+echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; }
if test "${ac_cv_prog_f77_g+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5935,38 +6674,35 @@ cat >conftest.$ac_ext <<_ACEOF
end
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_f77_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_prog_f77_g=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_prog_f77_g=no
+ ac_cv_prog_f77_g=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
-echo "${ECHO_T}$ac_cv_prog_f77_g" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
+echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; }
if test "$ac_test_FFLAGS" = set; then
FFLAGS=$ac_save_FFLAGS
elif test $ac_cv_prog_f77_g = yes; then
@@ -5984,7 +6720,7 @@ else
fi
G77=`test $ac_compiler_gnu = yes && echo yes`
-ac_ext=cc
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -5995,8 +6731,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
# find the maximum length of command line arguments
-echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
-echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
+echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; }
if test "${lt_cv_sys_max_cmd_len+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6080,43 +6816,47 @@ else
fi
;;
*)
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
= "XX$teststring") >/dev/null 2>&1 &&
- new_result=`expr "X$teststring" : ".*" 2>&1` &&
- lt_cv_sys_max_cmd_len=$new_result &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- teststring=
- # Add a significant safety factor because C++ compilers can tack on massive
- # amounts of additional arguments before passing them to the linker.
- # It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ new_result=`expr "X$teststring" : ".*" 2>&1` &&
+ lt_cv_sys_max_cmd_len=$new_result &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on massive
+ # amounts of additional arguments before passing them to the linker.
+ # It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
;;
esac
fi
if test -n $lt_cv_sys_max_cmd_len ; then
- echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
-echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6
+ { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
+echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; }
else
- echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6
+ { echo "$as_me:$LINENO: result: none" >&5
+echo "${ECHO_T}none" >&6; }
fi
+
# Check for command to grab the raw symbol name followed by C symbol from nm.
-echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
-echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
+echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; }
if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6151,7 +6891,7 @@ hpux*) # Its linker distinguishes data from code symbols
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
;;
-linux*)
+linux* | k*bsd*-gnu)
if test "$host_cpu" = ia64; then
symcode='[ABCDGIRSTW]'
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
@@ -6320,15 +7060,15 @@ if test -z "$lt_cv_sys_global_symbol_pipe"; then
lt_cv_sys_global_symbol_to_cdecl=
fi
if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6
+ { echo "$as_me:$LINENO: result: failed" >&5
+echo "${ECHO_T}failed" >&6; }
else
- echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6
+ { echo "$as_me:$LINENO: result: ok" >&5
+echo "${ECHO_T}ok" >&6; }
fi
-echo "$as_me:$LINENO: checking for objdir" >&5
-echo $ECHO_N "checking for objdir... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for objdir" >&5
+echo $ECHO_N "checking for objdir... $ECHO_C" >&6; }
if test "${lt_cv_objdir+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6342,8 +7082,8 @@ else
fi
rmdir .libs 2>/dev/null
fi
-echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
-echo "${ECHO_T}$lt_cv_objdir" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
+echo "${ECHO_T}$lt_cv_objdir" >&6; }
objdir=$lt_cv_objdir
@@ -6394,8 +7134,8 @@ with_gnu_ld="$lt_cv_prog_gnu_ld"
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
set dummy ${ac_tool_prefix}ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_AR+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6408,32 +7148,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AR="${ac_tool_prefix}ar"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
AR=$ac_cv_prog_AR
if test -n "$AR"; then
- echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6
+ { echo "$as_me:$LINENO: result: $AR" >&5
+echo "${ECHO_T}$AR" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_AR"; then
ac_ct_AR=$AR
# Extract the first word of "ar", so it can be a program name with args.
set dummy ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6446,27 +7188,41 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_AR="ar"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="false"
fi
fi
ac_ct_AR=$ac_cv_prog_ac_ct_AR
if test -n "$ac_ct_AR"; then
- echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
+echo "${ECHO_T}$ac_ct_AR" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- AR=$ac_ct_AR
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
else
AR="$ac_cv_prog_AR"
fi
@@ -6474,8 +7230,8 @@ fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_RANLIB+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6488,32 +7244,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
RANLIB=$ac_cv_prog_RANLIB
if test -n "$RANLIB"; then
- echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
+ { echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_RANLIB"; then
ac_ct_RANLIB=$RANLIB
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6526,27 +7284,41 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_RANLIB="ranlib"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
fi
fi
ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
if test -n "$ac_ct_RANLIB"; then
- echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- RANLIB=$ac_ct_RANLIB
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
else
RANLIB="$ac_cv_prog_RANLIB"
fi
@@ -6554,8 +7326,8 @@ fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_STRIP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6568,32 +7340,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
- echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
+ { echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_STRIP"; then
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6606,27 +7380,41 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_STRIP="strip"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
- echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- STRIP=$ac_ct_STRIP
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
else
STRIP="$ac_cv_prog_STRIP"
fi
@@ -6654,7 +7442,7 @@ test -z "$STRIP" && STRIP=:
test -z "$ac_objext" && ac_objext=o
# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
old_postinstall_cmds='chmod 644 $oldlib'
old_postuninstall_cmds=
@@ -6685,8 +7473,8 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
case $deplibs_check_method in
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
-echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; }
if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6738,17 +7526,17 @@ fi
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if test -n "$MAGIC_CMD"; then
- echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
+ { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
- echo "$as_me:$LINENO: checking for file" >&5
-echo $ECHO_N "checking for file... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for file" >&5
+echo $ECHO_N "checking for file... $ECHO_C" >&6; }
if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6800,11 +7588,11 @@ fi
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if test -n "$MAGIC_CMD"; then
- echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
+ { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
else
@@ -6819,21 +7607,21 @@ esac
enable_dlopen=no
enable_win32_dll=yes
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+# Check whether --enable-libtool-lock was given.
if test "${enable_libtool_lock+set}" = set; then
- enableval="$enable_libtool_lock"
+ enableval=$enable_libtool_lock;
+fi
-fi;
test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-# Check whether --with-pic or --without-pic was given.
+# Check whether --with-pic was given.
if test "${with_pic+set}" = set; then
- withval="$with_pic"
- pic_mode="$withval"
+ withval=$with_pic; pic_mode="$withval"
else
pic_mode=default
-fi;
+fi
+
test -z "$pic_mode" && pic_mode=default
# Use C for the default configuration in the libtool script
@@ -6854,10 +7642,10 @@ objext=o
objext=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+lt_simple_compile_test_code="int some_variable = 0;"
# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}\n'
+lt_simple_link_test_code='int main(){return(0);}'
# If no C compiler was specified, use CC.
@@ -6872,13 +7660,13 @@ compiler=$CC
# save warnings/boilerplate of simple test code
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
$rm conftest*
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
$rm conftest*
@@ -6891,14 +7679,14 @@ if test "$GCC" = yes; then
lt_prog_compiler_no_builtin_flag=' -fno-builtin'
-echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
lt_cv_prog_compiler_rtti_exceptions=no
ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-fno-rtti -fno-exceptions"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
@@ -6909,11 +7697,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:6912: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7700: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:6916: \$? = $ac_status" >&5
+ echo "$as_me:7704: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -6926,8 +7714,8 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
@@ -6941,8 +7729,8 @@ lt_prog_compiler_wl=
lt_prog_compiler_pic=
lt_prog_compiler_static=
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
@@ -6964,13 +7752,15 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
lt_prog_compiler_pic='-DDLL_EXPORT'
;;
@@ -6980,7 +7770,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_pic='-fno-common'
;;
- interix3*)
+ interix[3-9]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
;;
@@ -7038,7 +7828,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
lt_prog_compiler_pic='-DDLL_EXPORT'
@@ -7071,7 +7861,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_static='-Bstatic'
;;
- linux*)
+ linux* | k*bsd*-gnu)
case $cc_basename in
icc* | ecc*)
lt_prog_compiler_wl='-Wl,'
@@ -7090,6 +7880,22 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
# All Alpha code is PIC.
lt_prog_compiler_static='-non_shared'
;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C 5.9
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl='-Wl,'
+ ;;
+ *Sun\ F*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl=''
+ ;;
+ esac
+ ;;
esac
;;
@@ -7099,6 +7905,10 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_static='-non_shared'
;;
+ rdos*)
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
solaris*)
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
@@ -7151,22 +7961,22 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic"; then
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; }
if test "${lt_prog_compiler_pic_works+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
lt_prog_compiler_pic_works=no
ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
@@ -7177,11 +7987,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7180: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7990: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7184: \$? = $ac_status" >&5
+ echo "$as_me:7994: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -7194,8 +8004,8 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; }
if test x"$lt_prog_compiler_pic_works" = xyes; then
case $lt_prog_compiler_pic in
@@ -7222,15 +8032,15 @@ esac
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
if test "${lt_prog_compiler_static_works+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
lt_prog_compiler_static_works=no
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- printf "$lt_simple_link_test_code" > conftest.$ac_ext
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
# The linker can only warn and ignore the option if not recognized
# So say no if there are warnings
@@ -7250,8 +8060,8 @@ else
LDFLAGS="$save_LDFLAGS"
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; }
if test x"$lt_prog_compiler_static_works" = xyes; then
:
@@ -7260,8 +8070,8 @@ else
fi
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
if test "${lt_cv_prog_compiler_c_o+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -7270,7 +8080,7 @@ else
mkdir conftest
cd conftest
mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-o out/conftest2.$ac_objext"
# Insert the option either (1) after the last *FLAGS variable, or
@@ -7281,11 +8091,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7284: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:8094: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:7288: \$? = $ac_status" >&5
+ echo "$as_me:8098: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -7307,23 +8117,23 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+ { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
if test "$hard_links" = no; then
{ echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
@@ -7333,8 +8143,8 @@ else
need_locks=no
fi
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
runpath_var=
allow_undefined_flag=
@@ -7477,7 +8287,7 @@ EOF
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
@@ -7495,7 +8305,7 @@ EOF
fi
;;
- interix3*)
+ interix[3-9]*)
hardcode_direct=no
hardcode_shlibpath_var=no
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
@@ -7510,7 +8320,7 @@ EOF
archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
- linux*)
+ gnu* | linux* | k*bsd*-gnu)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
tmp_addflag=
case $cc_basename,$host_cpu in
@@ -7528,13 +8338,22 @@ EOF
ifc* | ifort*) # Intel Fortran compiler
tmp_addflag=' -nofor_main' ;;
esac
- archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ *)
+ tmp_sharedflag='-shared' ;;
+ esac
+ archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
if test $supports_anon_versioning = yes; then
archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
$echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
fi
link_all_deplibs=no
else
@@ -7542,7 +8361,7 @@ EOF
fi
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
@@ -7694,7 +8513,7 @@ _LT_EOF
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
- hardcode_direct=yes
+ :
else
# We have old collect2
hardcode_direct=unsupported
@@ -7750,38 +8569,44 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -7810,38 +8635,44 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -7887,7 +8718,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# The linker will automatically build a .lib file if we build a DLL.
old_archive_From_new_cmds='true'
# FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
+ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
fix_srcfile_path='`cygpath -w "$srcfile"`'
enable_shared_with_static_runtimes=yes
;;
@@ -7929,10 +8760,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
case $cc_basename in
xlc*)
output_verbose_link_cmd='echo'
- archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
;;
*)
@@ -7979,15 +8810,6 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hardcode_shlibpath_var=no
;;
- # GNU/kFreeBSD uses gcc -shared to do shared libraries.
- kfreebsd*-gnu)
- archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- link_all_deplibs=no
- ;;
-
hpux9*)
if test "$GCC" = yes; then
archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
@@ -8083,7 +8905,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
link_all_deplibs=yes
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
@@ -8103,24 +8925,28 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
openbsd*)
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ else
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
+ ld_shlibs=no
fi
;;
@@ -8179,17 +9005,16 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
case $host_os in
solaris2.[0-5] | solaris2.[0-5].*) ;;
*)
- # The compiler driver will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl, iff we do not link with $LD.
- # Luckily, gcc supports the same syntax we need for Sun Studio.
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- case $wlarc in
- '')
- whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
- *)
- whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- esac ;;
+ if test "$GCC" = yes; then
+ whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
esac
link_all_deplibs=yes
;;
@@ -8246,7 +9071,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
fi
;;
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
no_undefined_flag='${wl}-z,text'
archive_cmds_need_lc=no
hardcode_shlibpath_var=no
@@ -8299,8 +9124,8 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
esac
fi
-echo "$as_me:$LINENO: result: $ld_shlibs" >&5
-echo "${ECHO_T}$ld_shlibs" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+echo "${ECHO_T}$ld_shlibs" >&6; }
test "$ld_shlibs" = no && can_build_shared=no
#
@@ -8320,10 +9145,10 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
$rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
@@ -8358,16 +9183,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
-echo "${ECHO_T}$archive_cmds_need_lc" >&6
+ { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
+echo "${ECHO_T}$archive_cmds_need_lc" >&6; }
;;
esac
fi
;;
esac
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -8381,17 +9206,55 @@ shlibpath_overrides_runpath=unknown
version_type=none
dynamic_linker="$host_os ld.so"
sys_lib_dlsearch_path_spec="/lib /usr/lib"
+
if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+ case $host_os in
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
# if the path contains ";" then we assume it to be the separator
# otherwise default to the standard path separator (i.e. ":") - it is
# assumed that no part of a normal pathname contains ";" but that should
# okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
fi
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[lt_foo]++; }
+ if (lt_freq[lt_foo] == 1) { print lt_foo; }
+}'`
+ sys_lib_search_path_spec=`echo $lt_search_path_spec`
else
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
fi
@@ -8551,12 +9414,8 @@ darwin* | rhapsody*)
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
+
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
;;
@@ -8573,18 +9432,6 @@ freebsd1*)
dynamic_linker=no
;;
-kfreebsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
@@ -8622,7 +9469,7 @@ freebsd* | dragonfly*)
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
- freebsd*) # from 4.6 on
+ *) # from 4.6 on, and DragonFly
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
;;
@@ -8685,7 +9532,7 @@ hpux9* | hpux10* | hpux11*)
postinstall_cmds='chmod 555 $lib'
;;
-interix3*)
+interix[3-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -8740,7 +9587,7 @@ linux*oldld* | linux*aout* | linux*coff*)
;;
# This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -8756,7 +9603,7 @@ linux*)
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
@@ -8781,18 +9628,6 @@ netbsdelf*-gnu)
dynamic_linker='NetBSD ld.elf_so'
;;
-knetbsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -8874,6 +9709,10 @@ osf3* | osf4* | osf5*)
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
;;
+rdos*)
+ dynamic_linker=no
+ ;;
+
solaris*)
version_type=linux
need_lib_prefix=no
@@ -8966,8 +9805,8 @@ uts4*)
dynamic_linker=no
;;
esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
@@ -8975,8 +9814,8 @@ if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
hardcode_action=
if test -n "$hardcode_libdir_flag_spec" || \
test -n "$runpath_var" || \
@@ -9000,8 +9839,8 @@ else
# directories.
hardcode_action=unsupported
fi
-echo "$as_me:$LINENO: result: $hardcode_action" >&5
-echo "${ECHO_T}$hardcode_action" >&6
+{ echo "$as_me:$LINENO: result: $hardcode_action" >&5
+echo "${ECHO_T}$hardcode_action" >&6; }
if test "$hardcode_action" = relink; then
# Fast installation is not supported
@@ -9014,29 +9853,30 @@ fi
striplib=
old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; }
if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
else
# FIXME - insert some real tests, host_os isn't really good enough
case $host_os in
darwin*)
if test -n "$STRIP" ; then
striplib="$STRIP -x"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ old_striplib="$STRIP -S"
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
;;
*)
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
;;
esac
fi
@@ -9068,8 +9908,8 @@ else
darwin*)
# if libdl is installed we need to link against it
- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
if test "${ac_cv_lib_dl_dlopen+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -9082,55 +9922,53 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char dlopen ();
int
main ()
{
-dlopen ();
+return dlopen ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
ac_cv_lib_dl_dlopen=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_dl_dlopen=no
+ ac_cv_lib_dl_dlopen=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
if test $ac_cv_lib_dl_dlopen = yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
else
@@ -9144,8 +9982,8 @@ fi
;;
*)
- echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for shl_load" >&5
+echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; }
if test "${ac_cv_func_shl_load+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -9172,72 +10010,64 @@ cat >>conftest.$ac_ext <<_ACEOF
#undef shl_load
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
-{
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char shl_load ();
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
-#if defined (__stub_shl_load) || defined (__stub___shl_load)
+#if defined __stub_shl_load || defined __stub___shl_load
choke me
-#else
-char (*f) () = shl_load;
-#endif
-#ifdef __cplusplus
-}
#endif
int
main ()
{
-return f != shl_load;
+return shl_load ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
ac_cv_func_shl_load=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_func_shl_load=no
+ ac_cv_func_shl_load=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+echo "${ECHO_T}$ac_cv_func_shl_load" >&6; }
if test $ac_cv_func_shl_load = yes; then
lt_cv_dlopen="shl_load"
else
- echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; }
if test "${ac_cv_lib_dld_shl_load+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -9250,60 +10080,58 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char shl_load ();
int
main ()
{
-shl_load ();
+return shl_load ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
ac_cv_lib_dld_shl_load=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_dld_shl_load=no
+ ac_cv_lib_dld_shl_load=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; }
if test $ac_cv_lib_dld_shl_load = yes; then
lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
else
- echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for dlopen" >&5
+echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; }
if test "${ac_cv_func_dlopen+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -9330,72 +10158,64 @@ cat >>conftest.$ac_ext <<_ACEOF
#undef dlopen
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
-{
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char dlopen ();
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
-#if defined (__stub_dlopen) || defined (__stub___dlopen)
+#if defined __stub_dlopen || defined __stub___dlopen
choke me
-#else
-char (*f) () = dlopen;
-#endif
-#ifdef __cplusplus
-}
#endif
int
main ()
{
-return f != dlopen;
+return dlopen ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
ac_cv_func_dlopen=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_func_dlopen=no
+ ac_cv_func_dlopen=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+echo "${ECHO_T}$ac_cv_func_dlopen" >&6; }
if test $ac_cv_func_dlopen = yes; then
lt_cv_dlopen="dlopen"
else
- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
if test "${ac_cv_lib_dl_dlopen+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -9408,60 +10228,58 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char dlopen ();
int
main ()
{
-dlopen ();
+return dlopen ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
ac_cv_lib_dl_dlopen=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_dl_dlopen=no
+ ac_cv_lib_dl_dlopen=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
if test $ac_cv_lib_dl_dlopen = yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
else
- echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; }
if test "${ac_cv_lib_svld_dlopen+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -9474,60 +10292,58 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char dlopen ();
int
main ()
{
-dlopen ();
+return dlopen ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
ac_cv_lib_svld_dlopen=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_svld_dlopen=no
+ ac_cv_lib_svld_dlopen=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; }
if test $ac_cv_lib_svld_dlopen = yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
else
- echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; }
if test "${ac_cv_lib_dld_dld_link+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -9540,55 +10356,53 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char dld_link ();
int
main ()
{
-dld_link ();
+return dld_link ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
ac_cv_lib_dld_dld_link=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_dld_dld_link=no
+ ac_cv_lib_dld_dld_link=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; }
if test $ac_cv_lib_dld_dld_link = yes; then
lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
fi
@@ -9628,8 +10442,8 @@ fi
save_LIBS="$LIBS"
LIBS="$lt_cv_dlopen_libs $LIBS"
- echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; }
if test "${lt_cv_dlopen_self+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -9639,7 +10453,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 9642 "configure"
+#line 10456 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -9723,13 +10537,13 @@ rm -fr conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self" >&6; }
if test "x$lt_cv_dlopen_self" = xyes; then
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; }
if test "${lt_cv_dlopen_self_static+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -9739,7 +10553,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 9742 "configure"
+#line 10556 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -9823,8 +10637,8 @@ rm -fr conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; }
fi
CPPFLAGS="$save_CPPFLAGS"
@@ -9846,13 +10660,13 @@ fi
# Report which library types will actually be built
-echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6
+{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
+echo "${ECHO_T}$can_build_shared" >&6; }
-echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
test "$can_build_shared" = "no" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
@@ -9872,15 +10686,15 @@ aix4* | aix5*)
fi
;;
esac
-echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6
+{ echo "$as_me:$LINENO: result: $enable_shared" >&5
+echo "${ECHO_T}$enable_shared" >&6; }
-echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
# Make sure either enable_shared or enable_static is yes.
test "$enable_shared" = yes || enable_static=yes
-echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6
+{ echo "$as_me:$LINENO: result: $enable_static" >&5
+echo "${ECHO_T}$enable_static" >&6; }
# The else clause should only fire when bootstrapping the
# libtool distribution, otherwise you forgot to ship ltmain.sh
@@ -9937,6 +10751,7 @@ if test -f "$ltmain"; then
module_cmds \
module_expsym_cmds \
lt_cv_prog_compiler_c_o \
+ fix_srcfile_path \
exclude_expsyms \
include_expsyms; do
@@ -9981,7 +10796,7 @@ echo "$as_me: creating $ofile" >&6;}
# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
# Free Software Foundation, Inc.
#
# This file is part of GNU Libtool:
@@ -10305,7 +11120,7 @@ sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path"
+fix_srcfile_path=$lt_fix_srcfile_path
# Set to yes if exported symbols are required.
always_export_symbols=$always_export_symbols
@@ -10363,7 +11178,7 @@ else
fi
-ac_ext=cc
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -10372,11 +11187,11 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
CC="$lt_save_CC"
-# Check whether --with-tags or --without-tags was given.
+# Check whether --with-tags was given.
if test "${with_tags+set}" = set; then
- withval="$with_tags"
- tagnames="$withval"
-fi;
+ withval=$with_tags; tagnames="$withval"
+fi
+
if test -f "$ltmain" && test -n "$tagnames"; then
if test ! -f "${ofile}"; then
@@ -10430,7 +11245,7 @@ echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
(test "X$CXX" != "Xg++"))) ; then
- ac_ext=cc
+ ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -10474,10 +11289,10 @@ objext=o
objext_CXX=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+lt_simple_compile_test_code="int some_variable = 0;"
# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n'
+lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
@@ -10493,13 +11308,13 @@ compiler=$CC
# save warnings/boilerplate of simple test code
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
$rm conftest*
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
$rm conftest*
@@ -10549,18 +11364,18 @@ if test "$GXX" = yes; then
# Set up default GNU C++ configuration
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
+# Check whether --with-gnu-ld was given.
if test "${with_gnu_ld+set}" = set; then
- withval="$with_gnu_ld"
- test "$withval" = no || with_gnu_ld=yes
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
else
with_gnu_ld=no
-fi;
+fi
+
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
- echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -10589,11 +11404,11 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
;;
esac
elif test "$with_gnu_ld" = yes; then
- echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
else
- echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
fi
if test "${lt_cv_path_LD+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -10626,17 +11441,17 @@ fi
LD="$lt_cv_path_LD"
if test -n "$LD"; then
- echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
+ { echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
{ (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
if test "${lt_cv_prog_gnu_ld+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -10650,8 +11465,8 @@ case `$LD -v 2>&1 </dev/null` in
;;
esac
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld
@@ -10701,8 +11516,8 @@ else
fi
# PORTME: fill in a description of your system's C++ link characteristics
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
ld_shlibs_CXX=yes
case $host_os in
aix3*)
@@ -10758,7 +11573,7 @@ case $host_os in
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
- hardcode_direct_CXX=yes
+ :
else
# We have old collect2
hardcode_direct_CXX=unsupported
@@ -10814,38 +11629,44 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -10875,38 +11696,44 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -11017,10 +11844,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
case $cc_basename in
xlc*)
output_verbose_link_cmd='echo'
- archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
;;
*)
@@ -11054,7 +11881,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
freebsd-elf*)
archive_cmds_need_lc_CXX=no
;;
- freebsd* | kfreebsd*-gnu | dragonfly*)
+ freebsd* | dragonfly*)
# FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
# conventions
ld_shlibs_CXX=yes
@@ -11103,9 +11930,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hardcode_libdir_separator_CXX=:
case $host_cpu in
- hppa*64*|ia64*)
- hardcode_libdir_flag_spec_ld_CXX='+b $libdir'
- ;;
+ hppa*64*|ia64*) ;;
*)
export_dynamic_flag_spec_CXX='${wl}-E'
;;
@@ -11173,7 +11998,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
esac
;;
- interix3*)
+ interix[3-9]*)
hardcode_direct_CXX=no
hardcode_shlibpath_var_CXX=no
hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
@@ -11213,7 +12038,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator_CXX=:
;;
- linux*)
+ linux* | k*bsd*-gnu)
case $cc_basename in
KCC*)
# Kuck and Associates, Inc. (KAI) C++ Compiler
@@ -11293,6 +12118,29 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# dependencies.
output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ no_undefined_flag_CXX=' -zdefs'
+ archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
esac
;;
lynxos*)
@@ -11315,7 +12163,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
esac
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
wlarc=
@@ -11331,16 +12179,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
ld_shlibs_CXX=no
;;
openbsd*)
- hardcode_direct_CXX=yes
- hardcode_shlibpath_var_CXX=no
- archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- export_dynamic_flag_spec_CXX='${wl}-E'
- whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct_CXX=yes
+ hardcode_shlibpath_var_CXX=no
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd='echo'
+ else
+ ld_shlibs_CXX=no
fi
- output_verbose_link_cmd='echo'
;;
osf3*)
case $cc_basename in
@@ -11502,15 +12354,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
case $host_os in
solaris2.[0-5] | solaris2.[0-5].*) ;;
*)
- # The C++ compiler is used as linker so we must use $wl
- # flag to pass the commands to the underlying system
- # linker. We must also pass each convience library through
- # to the system linker between allextract/defaultextract.
- # The C++ compiler will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl.
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
+ whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
;;
esac
link_all_deplibs_CXX=yes
@@ -11557,6 +12404,12 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
fi
hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
fi
;;
esac
@@ -11637,8 +12490,8 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
ld_shlibs_CXX=no
;;
esac
-echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
test "$ld_shlibs_CXX" = no && can_build_shared=no
GCC_CXX="$GXX"
@@ -11748,7 +12601,7 @@ $rm -f confest.$objext
# PORTME: override above test on systems where it is broken
case $host_os in
-interix3*)
+interix[3-9]*)
# Interix 3.5 installs completely hosed .la files for C++, so rather than
# hack all around it, let's just trust "g++" to DTRT.
predep_objects_CXX=
@@ -11756,13 +12609,46 @@ interix3*)
postdeps_CXX=
;;
+linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ #
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+ if test "$solaris_use_stlport4" != yes; then
+ postdeps_CXX='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
solaris*)
case $cc_basename in
CC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
# Adding this requires a known-good setup of shared libraries for
# Sun compiler versions before 5.6, else PIC objects from an old
# archive will be linked into the output, leading to subtle bugs.
- postdeps_CXX='-lCstd -lCrun'
+ if test "$solaris_use_stlport4" != yes; then
+ postdeps_CXX='-library=Cstd -library=Crun'
+ fi
;;
esac
;;
@@ -11777,8 +12663,8 @@ lt_prog_compiler_wl_CXX=
lt_prog_compiler_pic_CXX=
lt_prog_compiler_static_CXX=
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
# C++ specific cases for pic, static, wl, etc.
if test "$GXX" = yes; then
@@ -11799,12 +12685,14 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
# like `-m68040'.
lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | os2* | pw32*)
+ mingw* | cygwin* | os2* | pw32*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
;;
darwin* | rhapsody*)
@@ -11816,7 +12704,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
# DJGPP does not support shared libraries at all
lt_prog_compiler_pic_CXX=
;;
- interix3*)
+ interix[3-9]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
;;
@@ -11882,7 +12770,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
;;
esac
;;
- freebsd* | kfreebsd*-gnu | dragonfly*)
+ freebsd* | dragonfly*)
# FreeBSD uses GNU C++
;;
hpux9* | hpux10* | hpux11*)
@@ -11925,7 +12813,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
;;
esac
;;
- linux*)
+ linux* | k*bsd*-gnu)
case $cc_basename in
KCC*)
# KAI C++ Compiler
@@ -11952,6 +12840,14 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_static_CXX='-non_shared'
;;
*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ lt_prog_compiler_wl_CXX='-Qoption ld '
+ ;;
+ esac
;;
esac
;;
@@ -11968,7 +12864,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
;;
esac
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
;;
osf3* | osf4* | osf5*)
case $cc_basename in
@@ -12051,22 +12947,22 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic_CXX"; then
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; }
if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
lt_prog_compiler_pic_works_CXX=no
ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
@@ -12077,11 +12973,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12080: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12976: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:12084: \$? = $ac_status" >&5
+ echo "$as_me:12980: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -12094,8 +12990,8 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; }
if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then
case $lt_prog_compiler_pic_CXX in
@@ -12122,15 +13018,15 @@ esac
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
if test "${lt_prog_compiler_static_works_CXX+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
lt_prog_compiler_static_works_CXX=no
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- printf "$lt_simple_link_test_code" > conftest.$ac_ext
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
# The linker can only warn and ignore the option if not recognized
# So say no if there are warnings
@@ -12150,8 +13046,8 @@ else
LDFLAGS="$save_LDFLAGS"
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; }
if test x"$lt_prog_compiler_static_works_CXX" = xyes; then
:
@@ -12160,8 +13056,8 @@ else
fi
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -12170,7 +13066,7 @@ else
mkdir conftest
cd conftest
mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-o out/conftest2.$ac_objext"
# Insert the option either (1) after the last *FLAGS variable, or
@@ -12181,11 +13077,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12184: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13080: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:12188: \$? = $ac_status" >&5
+ echo "$as_me:13084: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -12207,23 +13103,23 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+ { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
if test "$hard_links" = no; then
{ echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
@@ -12233,8 +13129,8 @@ else
need_locks=no
fi
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
case $host_os in
@@ -12251,12 +13147,9 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
export_symbols_cmds_CXX="$ltdll_cmds"
;;
cygwin* | mingw*)
- export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
- kfreebsd*-gnu)
- link_all_deplibs_CXX=no
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
;;
- linux*)
+ linux* | k*bsd*-gnu)
link_all_deplibs_CXX=no
;;
*)
@@ -12264,8 +13157,8 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
;;
esac
-echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
test "$ld_shlibs_CXX" = no && can_build_shared=no
#
@@ -12285,10 +13178,10 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
$rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
@@ -12323,16 +13216,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6
+ { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; }
;;
esac
fi
;;
esac
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -12346,20 +13239,7 @@ shlibpath_overrides_runpath=unknown
version_type=none
dynamic_linker="$host_os ld.so"
sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
+
need_lib_prefix=unknown
hardcode_into_libs=no
@@ -12516,12 +13396,7 @@ darwin* | rhapsody*)
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
+
sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
;;
@@ -12538,18 +13413,6 @@ freebsd1*)
dynamic_linker=no
;;
-kfreebsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
@@ -12587,7 +13450,7 @@ freebsd* | dragonfly*)
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
- freebsd*) # from 4.6 on
+ *) # from 4.6 on, and DragonFly
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
;;
@@ -12650,7 +13513,7 @@ hpux9* | hpux10* | hpux11*)
postinstall_cmds='chmod 555 $lib'
;;
-interix3*)
+interix[3-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -12705,7 +13568,7 @@ linux*oldld* | linux*aout* | linux*coff*)
;;
# This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -12721,7 +13584,7 @@ linux*)
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
@@ -12746,18 +13609,6 @@ netbsdelf*-gnu)
dynamic_linker='NetBSD ld.elf_so'
;;
-knetbsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -12839,6 +13690,10 @@ osf3* | osf4* | osf5*)
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
;;
+rdos*)
+ dynamic_linker=no
+ ;;
+
solaris*)
version_type=linux
need_lib_prefix=no
@@ -12931,8 +13786,8 @@ uts4*)
dynamic_linker=no
;;
esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
@@ -12940,8 +13795,8 @@ if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
hardcode_action_CXX=
if test -n "$hardcode_libdir_flag_spec_CXX" || \
test -n "$runpath_var_CXX" || \
@@ -12965,8 +13820,8 @@ else
# directories.
hardcode_action_CXX=unsupported
fi
-echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
-echo "${ECHO_T}$hardcode_action_CXX" >&6
+{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
+echo "${ECHO_T}$hardcode_action_CXX" >&6; }
if test "$hardcode_action_CXX" = relink; then
# Fast installation is not supported
@@ -13033,6 +13888,7 @@ if test -f "$ltmain"; then
module_cmds_CXX \
module_expsym_cmds_CXX \
lt_cv_prog_compiler_c_o_CXX \
+ fix_srcfile_path_CXX \
exclude_expsyms_CXX \
include_expsyms_CXX; do
@@ -13353,7 +14209,7 @@ sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_CXX"
+fix_srcfile_path=$lt_fix_srcfile_path
# Set to yes if exported symbols are required.
always_export_symbols=$always_export_symbols_CXX
@@ -13386,7 +14242,7 @@ else
fi
-ac_ext=cc
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -13444,10 +14300,17 @@ objext=o
objext_F77=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code=" subroutine t\n return\n end\n"
+lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
# Code to be used in simple link tests
-lt_simple_link_test_code=" program t\n end\n"
+lt_simple_link_test_code="\
+ program t
+ end
+"
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
@@ -13463,13 +14326,13 @@ compiler=$CC
# save warnings/boilerplate of simple test code
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
$rm conftest*
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
$rm conftest*
@@ -13491,13 +14354,13 @@ done
cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6
+{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
+echo "${ECHO_T}$can_build_shared" >&6; }
-echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
test "$can_build_shared" = "no" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
@@ -13516,15 +14379,15 @@ aix4* | aix5*)
fi
;;
esac
-echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6
+{ echo "$as_me:$LINENO: result: $enable_shared" >&5
+echo "${ECHO_T}$enable_shared" >&6; }
-echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
# Make sure either enable_shared or enable_static is yes.
test "$enable_shared" = yes || enable_static=yes
-echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6
+{ echo "$as_me:$LINENO: result: $enable_static" >&5
+echo "${ECHO_T}$enable_static" >&6; }
GCC_F77="$G77"
LD_F77="$LD"
@@ -13533,8 +14396,8 @@ lt_prog_compiler_wl_F77=
lt_prog_compiler_pic_F77=
lt_prog_compiler_static_F77=
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
if test "$GCC" = yes; then
lt_prog_compiler_wl_F77='-Wl,'
@@ -13556,13 +14419,15 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4'
;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
lt_prog_compiler_pic_F77='-DDLL_EXPORT'
;;
@@ -13572,7 +14437,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_pic_F77='-fno-common'
;;
- interix3*)
+ interix[3-9]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
;;
@@ -13630,7 +14495,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
lt_prog_compiler_pic_F77='-DDLL_EXPORT'
@@ -13663,7 +14528,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_static_F77='-Bstatic'
;;
- linux*)
+ linux* | k*bsd*-gnu)
case $cc_basename in
icc* | ecc*)
lt_prog_compiler_wl_F77='-Wl,'
@@ -13682,6 +14547,22 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
# All Alpha code is PIC.
lt_prog_compiler_static_F77='-non_shared'
;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C 5.9
+ lt_prog_compiler_pic_F77='-KPIC'
+ lt_prog_compiler_static_F77='-Bstatic'
+ lt_prog_compiler_wl_F77='-Wl,'
+ ;;
+ *Sun\ F*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ lt_prog_compiler_pic_F77='-KPIC'
+ lt_prog_compiler_static_F77='-Bstatic'
+ lt_prog_compiler_wl_F77=''
+ ;;
+ esac
+ ;;
esac
;;
@@ -13691,6 +14572,10 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_static_F77='-non_shared'
;;
+ rdos*)
+ lt_prog_compiler_static_F77='-non_shared'
+ ;;
+
solaris*)
lt_prog_compiler_pic_F77='-KPIC'
lt_prog_compiler_static_F77='-Bstatic'
@@ -13743,22 +14628,22 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic_F77"; then
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; }
if test "${lt_prog_compiler_pic_works_F77+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
lt_prog_compiler_pic_works_F77=no
ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic_F77"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
@@ -13769,11 +14654,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13772: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14657: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:13776: \$? = $ac_status" >&5
+ echo "$as_me:14661: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -13786,8 +14671,8 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; }
if test x"$lt_prog_compiler_pic_works_F77" = xyes; then
case $lt_prog_compiler_pic_F77 in
@@ -13814,15 +14699,15 @@ esac
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
if test "${lt_prog_compiler_static_works_F77+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
lt_prog_compiler_static_works_F77=no
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- printf "$lt_simple_link_test_code" > conftest.$ac_ext
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
# The linker can only warn and ignore the option if not recognized
# So say no if there are warnings
@@ -13842,8 +14727,8 @@ else
LDFLAGS="$save_LDFLAGS"
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; }
if test x"$lt_prog_compiler_static_works_F77" = xyes; then
:
@@ -13852,8 +14737,8 @@ else
fi
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -13862,7 +14747,7 @@ else
mkdir conftest
cd conftest
mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-o out/conftest2.$ac_objext"
# Insert the option either (1) after the last *FLAGS variable, or
@@ -13873,11 +14758,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13876: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14761: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:13880: \$? = $ac_status" >&5
+ echo "$as_me:14765: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -13899,23 +14784,23 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+ { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
if test "$hard_links" = no; then
{ echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
@@ -13925,8 +14810,8 @@ else
need_locks=no
fi
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
runpath_var=
allow_undefined_flag_F77=
@@ -14069,7 +14954,7 @@ EOF
allow_undefined_flag_F77=unsupported
always_export_symbols_F77=no
enable_shared_with_static_runtimes_F77=yes
- export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+ export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
@@ -14087,7 +14972,7 @@ EOF
fi
;;
- interix3*)
+ interix[3-9]*)
hardcode_direct_F77=no
hardcode_shlibpath_var_F77=no
hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
@@ -14102,7 +14987,7 @@ EOF
archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
- linux*)
+ gnu* | linux* | k*bsd*-gnu)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
tmp_addflag=
case $cc_basename,$host_cpu in
@@ -14120,13 +15005,22 @@ EOF
ifc* | ifort*) # Intel Fortran compiler
tmp_addflag=' -nofor_main' ;;
esac
- archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ *)
+ tmp_sharedflag='-shared' ;;
+ esac
+ archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
if test $supports_anon_versioning = yes; then
archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
$echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
fi
link_all_deplibs_F77=no
else
@@ -14134,7 +15028,7 @@ EOF
fi
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
@@ -14286,7 +15180,7 @@ _LT_EOF
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
- hardcode_direct_F77=yes
+ :
else
# We have old collect2
hardcode_direct_F77=unsupported
@@ -14332,38 +15226,44 @@ _LT_EOF
end
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+ (exit $ac_status); } && {
+ test -z "$ac_f77_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -14382,38 +15282,44 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
end
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+ (exit $ac_status); } && {
+ test -z "$ac_f77_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -14459,7 +15365,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# The linker will automatically build a .lib file if we build a DLL.
old_archive_From_new_cmds_F77='true'
# FIXME: Should let the user specify the lib program.
- old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs'
+ old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs'
fix_srcfile_path_F77='`cygpath -w "$srcfile"`'
enable_shared_with_static_runtimes_F77=yes
;;
@@ -14501,10 +15407,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
case $cc_basename in
xlc*)
output_verbose_link_cmd='echo'
- archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
;;
*)
@@ -14551,15 +15457,6 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hardcode_shlibpath_var_F77=no
;;
- # GNU/kFreeBSD uses gcc -shared to do shared libraries.
- kfreebsd*-gnu)
- archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- link_all_deplibs_F77=no
- ;;
-
hpux9*)
if test "$GCC" = yes; then
archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
@@ -14655,7 +15552,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
link_all_deplibs_F77=yes
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
@@ -14675,24 +15572,28 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
openbsd*)
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_F77='${wl}-E'
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct_F77=yes
+ hardcode_shlibpath_var_F77=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_F77='${wl}-E'
+ else
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec_F77='-R$libdir'
+ ;;
+ *)
+ archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_F77='-R$libdir'
- ;;
- *)
- archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
- ;;
- esac
+ ld_shlibs_F77=no
fi
;;
@@ -14751,17 +15652,16 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
case $host_os in
solaris2.[0-5] | solaris2.[0-5].*) ;;
*)
- # The compiler driver will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl, iff we do not link with $LD.
- # Luckily, gcc supports the same syntax we need for Sun Studio.
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- case $wlarc in
- '')
- whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;;
- *)
- whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- esac ;;
+ if test "$GCC" = yes; then
+ whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
esac
link_all_deplibs_F77=yes
;;
@@ -14818,7 +15718,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
fi
;;
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
no_undefined_flag_F77='${wl}-z,text'
archive_cmds_need_lc_F77=no
hardcode_shlibpath_var_F77=no
@@ -14871,8 +15771,8 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
esac
fi
-echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
-echo "${ECHO_T}$ld_shlibs_F77" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
+echo "${ECHO_T}$ld_shlibs_F77" >&6; }
test "$ld_shlibs_F77" = no && can_build_shared=no
#
@@ -14892,10 +15792,10 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
$rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
@@ -14930,16 +15830,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6
+ { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; }
;;
esac
fi
;;
esac
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -14953,20 +15853,7 @@ shlibpath_overrides_runpath=unknown
version_type=none
dynamic_linker="$host_os ld.so"
sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
+
need_lib_prefix=unknown
hardcode_into_libs=no
@@ -15123,12 +16010,7 @@ darwin* | rhapsody*)
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
+
sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
;;
@@ -15145,18 +16027,6 @@ freebsd1*)
dynamic_linker=no
;;
-kfreebsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
@@ -15194,7 +16064,7 @@ freebsd* | dragonfly*)
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
- freebsd*) # from 4.6 on
+ *) # from 4.6 on, and DragonFly
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
;;
@@ -15257,7 +16127,7 @@ hpux9* | hpux10* | hpux11*)
postinstall_cmds='chmod 555 $lib'
;;
-interix3*)
+interix[3-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -15312,7 +16182,7 @@ linux*oldld* | linux*aout* | linux*coff*)
;;
# This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -15328,7 +16198,7 @@ linux*)
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
@@ -15353,18 +16223,6 @@ netbsdelf*-gnu)
dynamic_linker='NetBSD ld.elf_so'
;;
-knetbsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -15446,6 +16304,10 @@ osf3* | osf4* | osf5*)
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
;;
+rdos*)
+ dynamic_linker=no
+ ;;
+
solaris*)
version_type=linux
need_lib_prefix=no
@@ -15538,8 +16400,8 @@ uts4*)
dynamic_linker=no
;;
esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
@@ -15547,8 +16409,8 @@ if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
hardcode_action_F77=
if test -n "$hardcode_libdir_flag_spec_F77" || \
test -n "$runpath_var_F77" || \
@@ -15572,8 +16434,8 @@ else
# directories.
hardcode_action_F77=unsupported
fi
-echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
-echo "${ECHO_T}$hardcode_action_F77" >&6
+{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
+echo "${ECHO_T}$hardcode_action_F77" >&6; }
if test "$hardcode_action_F77" = relink; then
# Fast installation is not supported
@@ -15640,6 +16502,7 @@ if test -f "$ltmain"; then
module_cmds_F77 \
module_expsym_cmds_F77 \
lt_cv_prog_compiler_c_o_F77 \
+ fix_srcfile_path_F77 \
exclude_expsyms_F77 \
include_expsyms_F77; do
@@ -15960,7 +16823,7 @@ sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_F77"
+fix_srcfile_path=$lt_fix_srcfile_path
# Set to yes if exported symbols are required.
always_export_symbols=$always_export_symbols_F77
@@ -15993,7 +16856,7 @@ else
fi
-ac_ext=cc
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -16010,7 +16873,6 @@ CC="$lt_save_CC"
if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
-
# Source file extension for Java test sources.
ac_ext=java
@@ -16019,10 +16881,10 @@ objext=o
objext_GCJ=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}\n"
+lt_simple_compile_test_code="class foo {}"
# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n'
+lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }'
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
@@ -16038,13 +16900,13 @@ compiler=$CC
# save warnings/boilerplate of simple test code
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
$rm conftest*
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
$rm conftest*
@@ -16078,14 +16940,14 @@ if test "$GCC" = yes; then
lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
-echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
lt_cv_prog_compiler_rtti_exceptions=no
ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-fno-rtti -fno-exceptions"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
@@ -16096,11 +16958,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16099: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16961: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16103: \$? = $ac_status" >&5
+ echo "$as_me:16965: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -16113,8 +16975,8 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
@@ -16128,8 +16990,8 @@ lt_prog_compiler_wl_GCJ=
lt_prog_compiler_pic_GCJ=
lt_prog_compiler_static_GCJ=
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
if test "$GCC" = yes; then
lt_prog_compiler_wl_GCJ='-Wl,'
@@ -16151,13 +17013,15 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4'
;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
;;
@@ -16167,7 +17031,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_pic_GCJ='-fno-common'
;;
- interix3*)
+ interix[3-9]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
;;
@@ -16225,7 +17089,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
@@ -16258,7 +17122,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_static_GCJ='-Bstatic'
;;
- linux*)
+ linux* | k*bsd*-gnu)
case $cc_basename in
icc* | ecc*)
lt_prog_compiler_wl_GCJ='-Wl,'
@@ -16277,6 +17141,22 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
# All Alpha code is PIC.
lt_prog_compiler_static_GCJ='-non_shared'
;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C 5.9
+ lt_prog_compiler_pic_GCJ='-KPIC'
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ ;;
+ *Sun\ F*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ lt_prog_compiler_pic_GCJ='-KPIC'
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ lt_prog_compiler_wl_GCJ=''
+ ;;
+ esac
+ ;;
esac
;;
@@ -16286,6 +17166,10 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_static_GCJ='-non_shared'
;;
+ rdos*)
+ lt_prog_compiler_static_GCJ='-non_shared'
+ ;;
+
solaris*)
lt_prog_compiler_pic_GCJ='-KPIC'
lt_prog_compiler_static_GCJ='-Bstatic'
@@ -16338,22 +17222,22 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic_GCJ"; then
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; }
if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
lt_prog_compiler_pic_works_GCJ=no
ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
@@ -16364,11 +17248,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16367: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17251: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16371: \$? = $ac_status" >&5
+ echo "$as_me:17255: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -16381,8 +17265,8 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; }
if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then
case $lt_prog_compiler_pic_GCJ in
@@ -16409,15 +17293,15 @@ esac
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
lt_prog_compiler_static_works_GCJ=no
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- printf "$lt_simple_link_test_code" > conftest.$ac_ext
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
# The linker can only warn and ignore the option if not recognized
# So say no if there are warnings
@@ -16437,8 +17321,8 @@ else
LDFLAGS="$save_LDFLAGS"
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; }
if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then
:
@@ -16447,8 +17331,8 @@ else
fi
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -16457,7 +17341,7 @@ else
mkdir conftest
cd conftest
mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-o out/conftest2.$ac_objext"
# Insert the option either (1) after the last *FLAGS variable, or
@@ -16468,11 +17352,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16471: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17355: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:16475: \$? = $ac_status" >&5
+ echo "$as_me:17359: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -16494,23 +17378,23 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+ { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
if test "$hard_links" = no; then
{ echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
@@ -16520,8 +17404,8 @@ else
need_locks=no
fi
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
runpath_var=
allow_undefined_flag_GCJ=
@@ -16664,7 +17548,7 @@ EOF
allow_undefined_flag_GCJ=unsupported
always_export_symbols_GCJ=no
enable_shared_with_static_runtimes_GCJ=yes
- export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+ export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
@@ -16682,7 +17566,7 @@ EOF
fi
;;
- interix3*)
+ interix[3-9]*)
hardcode_direct_GCJ=no
hardcode_shlibpath_var_GCJ=no
hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
@@ -16697,7 +17581,7 @@ EOF
archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
- linux*)
+ gnu* | linux* | k*bsd*-gnu)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
tmp_addflag=
case $cc_basename,$host_cpu in
@@ -16715,13 +17599,22 @@ EOF
ifc* | ifort*) # Intel Fortran compiler
tmp_addflag=' -nofor_main' ;;
esac
- archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ *)
+ tmp_sharedflag='-shared' ;;
+ esac
+ archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
if test $supports_anon_versioning = yes; then
archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
$echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
fi
link_all_deplibs_GCJ=no
else
@@ -16729,7 +17622,7 @@ EOF
fi
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
@@ -16881,7 +17774,7 @@ _LT_EOF
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
- hardcode_direct_GCJ=yes
+ :
else
# We have old collect2
hardcode_direct_GCJ=unsupported
@@ -16937,38 +17830,44 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -16997,38 +17896,44 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -17074,7 +17979,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# The linker will automatically build a .lib file if we build a DLL.
old_archive_From_new_cmds_GCJ='true'
# FIXME: Should let the user specify the lib program.
- old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs'
+ old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs'
fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`'
enable_shared_with_static_runtimes_GCJ=yes
;;
@@ -17116,10 +18021,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
case $cc_basename in
xlc*)
output_verbose_link_cmd='echo'
- archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
;;
*)
@@ -17166,15 +18071,6 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hardcode_shlibpath_var_GCJ=no
;;
- # GNU/kFreeBSD uses gcc -shared to do shared libraries.
- kfreebsd*-gnu)
- archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- link_all_deplibs_GCJ=no
- ;;
-
hpux9*)
if test "$GCC" = yes; then
archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
@@ -17270,7 +18166,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
link_all_deplibs_GCJ=yes
;;
- netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
@@ -17290,24 +18186,28 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
openbsd*)
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_GCJ='${wl}-E'
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct_GCJ=yes
+ hardcode_shlibpath_var_GCJ=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_GCJ='${wl}-E'
+ else
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec_GCJ='-R$libdir'
+ ;;
+ *)
+ archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- ;;
- *)
- archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
- ;;
- esac
+ ld_shlibs_GCJ=no
fi
;;
@@ -17366,17 +18266,16 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
case $host_os in
solaris2.[0-5] | solaris2.[0-5].*) ;;
*)
- # The compiler driver will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl, iff we do not link with $LD.
- # Luckily, gcc supports the same syntax we need for Sun Studio.
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- case $wlarc in
- '')
- whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;;
- *)
- whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- esac ;;
+ if test "$GCC" = yes; then
+ whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
esac
link_all_deplibs_GCJ=yes
;;
@@ -17433,7 +18332,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
fi
;;
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
no_undefined_flag_GCJ='${wl}-z,text'
archive_cmds_need_lc_GCJ=no
hardcode_shlibpath_var_GCJ=no
@@ -17486,8 +18385,8 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
esac
fi
-echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
-echo "${ECHO_T}$ld_shlibs_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
+echo "${ECHO_T}$ld_shlibs_GCJ" >&6; }
test "$ld_shlibs_GCJ" = no && can_build_shared=no
#
@@ -17507,10 +18406,10 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
$rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
@@ -17545,16 +18444,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6
+ { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; }
;;
esac
fi
;;
esac
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -17568,20 +18467,7 @@ shlibpath_overrides_runpath=unknown
version_type=none
dynamic_linker="$host_os ld.so"
sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
+
need_lib_prefix=unknown
hardcode_into_libs=no
@@ -17738,12 +18624,7 @@ darwin* | rhapsody*)
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
+
sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
;;
@@ -17760,18 +18641,6 @@ freebsd1*)
dynamic_linker=no
;;
-kfreebsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
@@ -17809,7 +18678,7 @@ freebsd* | dragonfly*)
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
- freebsd*) # from 4.6 on
+ *) # from 4.6 on, and DragonFly
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
;;
@@ -17872,7 +18741,7 @@ hpux9* | hpux10* | hpux11*)
postinstall_cmds='chmod 555 $lib'
;;
-interix3*)
+interix[3-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -17927,7 +18796,7 @@ linux*oldld* | linux*aout* | linux*coff*)
;;
# This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -17943,7 +18812,7 @@ linux*)
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
@@ -17968,18 +18837,6 @@ netbsdelf*-gnu)
dynamic_linker='NetBSD ld.elf_so'
;;
-knetbsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -18061,6 +18918,10 @@ osf3* | osf4* | osf5*)
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
;;
+rdos*)
+ dynamic_linker=no
+ ;;
+
solaris*)
version_type=linux
need_lib_prefix=no
@@ -18153,8 +19014,8 @@ uts4*)
dynamic_linker=no
;;
esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
@@ -18162,8 +19023,8 @@ if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
hardcode_action_GCJ=
if test -n "$hardcode_libdir_flag_spec_GCJ" || \
test -n "$runpath_var_GCJ" || \
@@ -18187,8 +19048,8 @@ else
# directories.
hardcode_action_GCJ=unsupported
fi
-echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
-echo "${ECHO_T}$hardcode_action_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
+echo "${ECHO_T}$hardcode_action_GCJ" >&6; }
if test "$hardcode_action_GCJ" = relink; then
# Fast installation is not supported
@@ -18255,6 +19116,7 @@ if test -f "$ltmain"; then
module_cmds_GCJ \
module_expsym_cmds_GCJ \
lt_cv_prog_compiler_c_o_GCJ \
+ fix_srcfile_path_GCJ \
exclude_expsyms_GCJ \
include_expsyms_GCJ; do
@@ -18575,7 +19437,7 @@ sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_GCJ"
+fix_srcfile_path=$lt_fix_srcfile_path
# Set to yes if exported symbols are required.
always_export_symbols=$always_export_symbols_GCJ
@@ -18608,7 +19470,7 @@ else
fi
-ac_ext=cc
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -18624,7 +19486,6 @@ CC="$lt_save_CC"
RC)
-
# Source file extension for RC test sources.
ac_ext=rc
@@ -18633,7 +19494,7 @@ objext=o
objext_RC=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
# Code to be used in simple link tests
lt_simple_link_test_code="$lt_simple_compile_test_code"
@@ -18652,13 +19513,13 @@ compiler=$CC
# save warnings/boilerplate of simple test code
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
$rm conftest*
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
$rm conftest*
@@ -18736,6 +19597,7 @@ if test -f "$ltmain"; then
module_cmds_RC \
module_expsym_cmds_RC \
lt_cv_prog_compiler_c_o_RC \
+ fix_srcfile_path_RC \
exclude_expsyms_RC \
include_expsyms_RC; do
@@ -19056,7 +19918,7 @@ sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_RC"
+fix_srcfile_path=$lt_fix_srcfile_path
# Set to yes if exported symbols are required.
always_export_symbols=$always_export_symbols_RC
@@ -19089,7 +19951,7 @@ else
fi
-ac_ext=cc
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -19156,8 +20018,8 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-echo "$as_me:$LINENO: checking for some Win32 platform" >&5
-echo $ECHO_N "checking for some Win32 platform... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for some Win32 platform" >&5
+echo $ECHO_N "checking for some Win32 platform... $ECHO_C" >&6; }
case "$host" in
*-*-mingw*|*-*-cygwin*)
platform_win32=yes
@@ -19166,8 +20028,8 @@ case "$host" in
platform_win32=no
;;
esac
-echo "$as_me:$LINENO: result: $platform_win32" >&5
-echo "${ECHO_T}$platform_win32" >&6
+{ echo "$as_me:$LINENO: result: $platform_win32" >&5
+echo "${ECHO_T}$platform_win32" >&6; }
if test "$platform_win32" = "yes"; then
@@ -19179,15 +20041,38 @@ else
fi
+{ echo "$as_me:$LINENO: checking for native Win32" >&5
+echo $ECHO_N "checking for native Win32... $ECHO_C" >&6; }
+case "$host" in
+ *-*-mingw*)
+ os_win32=yes
+ ;;
+ *)
+ os_win32=no
+ ;;
+esac
+{ echo "$as_me:$LINENO: result: $os_win32" >&5
+echo "${ECHO_T}$os_win32" >&6; }
+
+
+if test "$os_win32" = "yes"; then
+ OS_WIN32_TRUE=
+ OS_WIN32_FALSE='#'
+else
+ OS_WIN32_TRUE='#'
+ OS_WIN32_FALSE=
+fi
+
+
# Ensure MSVC-compatible struct packing convention is used when
# compiling for Win32 with gcc.
# What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
# gcc2 uses "-fnative-struct".
-if test x"$platform_win32" = xyes; then
+if test x"$os_win32" = xyes; then
if test x"$GCC" = xyes; then
msnative_struct=''
- echo "$as_me:$LINENO: checking how to get MSVC-compatible struct packing" >&5
-echo $ECHO_N "checking how to get MSVC-compatible struct packing... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking how to get MSVC-compatible struct packing" >&5
+echo $ECHO_N "checking how to get MSVC-compatible struct packing... $ECHO_C" >&6; }
if test -z "$ac_cv_prog_CC"; then
our_gcc="$CC"
else
@@ -19206,14 +20091,14 @@ echo $ECHO_N "checking how to get MSVC-compatible struct packing... $ECHO_C" >&6
;;
esac
if test x"$msnative_struct" = x ; then
- echo "$as_me:$LINENO: result: no way" >&5
-echo "${ECHO_T}no way" >&6
+ { echo "$as_me:$LINENO: result: no way" >&5
+echo "${ECHO_T}no way" >&6; }
{ echo "$as_me:$LINENO: WARNING: produced libraries might be incompatible with MSVC-compiled code" >&5
echo "$as_me: WARNING: produced libraries might be incompatible with MSVC-compiled code" >&2;}
else
CXXFLAGS="$CXXFLAGS $msnative_struct"
- echo "$as_me:$LINENO: result: ${msnative_struct}" >&5
-echo "${ECHO_T}${msnative_struct}" >&6
+ { echo "$as_me:$LINENO: result: ${msnative_struct}" >&5
+echo "${ECHO_T}${msnative_struct}" >&6; }
fi
fi
fi
@@ -19225,18 +20110,19 @@ fi
for ac_header in string list map
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
else
# Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -19247,40 +20133,37 @@ $ac_includes_default
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_header_compiler=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_header_compiler=no
+ ac_header_compiler=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -19289,24 +20172,22 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <$ac_header>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
ac_header_preproc=yes
else
echo "$as_me: failed program was:" >&5
@@ -19314,9 +20195,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_header_preproc=no
fi
+
rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
# So? What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
@@ -19340,25 +20222,19 @@ echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\
echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
{ echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists. ##
-## ------------------------------------------ ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
+
;;
esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
eval "$as_ac_Header=\$ac_header_preproc"
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
fi
if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -19379,8 +20255,8 @@ if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -19395,34 +20271,35 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
;;
esac
fi
PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-
if test -n "$PKG_CONFIG"; then
- echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
-echo "${ECHO_T}$PKG_CONFIG" >&6
+ { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+echo "${ECHO_T}$PKG_CONFIG" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_path_PKG_CONFIG"; then
ac_pt_PKG_CONFIG=$PKG_CONFIG
# Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -19437,28 +20314,42 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
;;
esac
fi
ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
-
if test -n "$ac_pt_PKG_CONFIG"; then
- echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
-echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6
+ { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
+echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- PKG_CONFIG=$ac_pt_PKG_CONFIG
+ if test "x$ac_pt_PKG_CONFIG" = x; then
+ PKG_CONFIG=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ PKG_CONFIG=$ac_pt_PKG_CONFIG
+ fi
else
PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
fi
@@ -19466,34 +20357,34 @@ fi
fi
if test -n "$PKG_CONFIG"; then
_pkg_min_version=0.9.0
- echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
-echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
+echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
PKG_CONFIG=""
fi
fi
pkg_failed=no
-echo "$as_me:$LINENO: checking for CAIROMM" >&5
-echo $ECHO_N "checking for CAIROMM... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for CAIROMM" >&5
+echo $ECHO_N "checking for CAIROMM... $ECHO_C" >&6; }
if test -n "$PKG_CONFIG"; then
if test -n "$CAIROMM_CFLAGS"; then
pkg_cv_CAIROMM_CFLAGS="$CAIROMM_CFLAGS"
else
if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo >= 1.2.0\"") >&5
- ($PKG_CONFIG --exists --print-errors "cairo >= 1.2.0") 2>&5
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo >= 1.4\"") >&5
+ ($PKG_CONFIG --exists --print-errors "cairo >= 1.4") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
- pkg_cv_CAIROMM_CFLAGS=`$PKG_CONFIG --cflags "cairo >= 1.2.0" 2>/dev/null`
+ pkg_cv_CAIROMM_CFLAGS=`$PKG_CONFIG --cflags "cairo >= 1.4" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -19506,12 +20397,12 @@ if test -n "$PKG_CONFIG"; then
pkg_cv_CAIROMM_LIBS="$CAIROMM_LIBS"
else
if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo >= 1.2.0\"") >&5
- ($PKG_CONFIG --exists --print-errors "cairo >= 1.2.0") 2>&5
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo >= 1.4\"") >&5
+ ($PKG_CONFIG --exists --print-errors "cairo >= 1.4") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
- pkg_cv_CAIROMM_LIBS=`$PKG_CONFIG --libs "cairo >= 1.2.0" 2>/dev/null`
+ pkg_cv_CAIROMM_LIBS=`$PKG_CONFIG --libs "cairo >= 1.4" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -19530,14 +20421,14 @@ else
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- CAIROMM_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "cairo >= 1.2.0"`
+ CAIROMM_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "cairo >= 1.4"`
else
- CAIROMM_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "cairo >= 1.2.0"`
+ CAIROMM_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "cairo >= 1.4"`
fi
# Put the nasty error message in config.log where it belongs
echo "$CAIROMM_PKG_ERRORS" >&5
- { { echo "$as_me:$LINENO: error: Package requirements (cairo >= 1.2.0) were not met:
+ { { echo "$as_me:$LINENO: error: Package requirements (cairo >= 1.4) were not met:
$CAIROMM_PKG_ERRORS
@@ -19548,7 +20439,7 @@ Alternatively, you may set the environment variables CAIROMM_CFLAGS
and CAIROMM_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
" >&5
-echo "$as_me: error: Package requirements (cairo >= 1.2.0) were not met:
+echo "$as_me: error: Package requirements (cairo >= 1.4) were not met:
$CAIROMM_PKG_ERRORS
@@ -19569,7 +20460,7 @@ Alternatively, you may set the environment variables CAIROMM_CFLAGS
and CAIROMM_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
-To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
See \`config.log' for more details." >&5
echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
@@ -19579,32 +20470,634 @@ Alternatively, you may set the environment variables CAIROMM_CFLAGS
and CAIROMM_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
-To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
See \`config.log' for more details." >&2;}
{ (exit 1); exit 1; }; }
else
CAIROMM_CFLAGS=$pkg_cv_CAIROMM_CFLAGS
CAIROMM_LIBS=$pkg_cv_CAIROMM_LIBS
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
:
fi
+# Check whether --enable-tests was given.
+if test "${enable_tests+set}" = set; then
+ enableval=$enable_tests; ENABLE_TESTS=$enableval
+else
+ ENABLE_TESTS=no
+fi
+
+if test x$CAIROMM_DEVEL = xon ; then
+ ENABLE_TESTS=yes
+fi
+
+if test x$ENABLE_TESTS = xyes ; then
+
+
+# Check whether --with-boost was given.
+if test "${with_boost+set}" = set; then
+ withval=$with_boost;
+ if test "$withval" = "no"; then
+ want_boost="no"
+ elif test "$withval" = "yes"; then
+ want_boost="yes"
+ ac_boost_path=""
+ else
+ want_boost="yes"
+ ac_boost_path="$withval"
+ fi
+
+else
+ want_boost="yes"
+fi
+
+
+if test "x$want_boost" = "xyes"; then
+ boost_lib_version_req=1.33.1
+ boost_lib_version_req_shorten=`expr $boost_lib_version_req : '\([0-9]*\.[0-9]*\)'`
+ boost_lib_version_req_major=`expr $boost_lib_version_req : '\([0-9]*\)'`
+ boost_lib_version_req_minor=`expr $boost_lib_version_req : '[0-9]*\.\([0-9]*\)'`
+ boost_lib_version_req_sub_minor=`expr $boost_lib_version_req : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
+ if test "x$boost_lib_version_req_sub_minor" = "x" ; then
+ boost_lib_version_req_sub_minor="0"
+ fi
+ WANT_BOOST_VERSION=`expr $boost_lib_version_req_major \* 100000 \+ $boost_lib_version_req_minor \* 100 \+ $boost_lib_version_req_sub_minor`
+ { echo "$as_me:$LINENO: checking for boostlib >= $boost_lib_version_req" >&5
+echo $ECHO_N "checking for boostlib >= $boost_lib_version_req... $ECHO_C" >&6; }
+ succeeded=no
+
+ if test "$ac_boost_path" != ""; then
+ BOOST_LDFLAGS="-L$ac_boost_path/lib"
+ BOOST_CPPFLAGS="-I$ac_boost_path/include"
+ else
+ for ac_boost_path_tmp in /usr /usr/local /opt ; do
+ if test -d "$ac_boost_path_tmp/include/boost" && test -r "$ac_boost_path_tmp/include/boost"; then
+ BOOST_LDFLAGS="-L$ac_boost_path_tmp/lib"
+ BOOST_CPPFLAGS="-I$ac_boost_path_tmp/include"
+ break;
+ fi
+ done
+ fi
+
+ CPPFLAGS_SAVED="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+ export CPPFLAGS
+
+ LDFLAGS_SAVED="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
+ export LDFLAGS
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+ #include <boost/version.hpp>
+
+int
+main ()
+{
+
+ #if BOOST_VERSION >= $WANT_BOOST_VERSION
+ // Everything is okay
+ #else
+ # error Boost version is too old
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ succeeded=yes
+ found_system=yes
+
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+
+
+ if test "x$succeeded" != "xyes"; then
+ _version=0
+ if test "$ac_boost_path" != ""; then
+ BOOST_LDFLAGS="-L$ac_boost_path/lib"
+ if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
+ for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
+ _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
+ V_CHECK=`expr $_version_tmp \> $_version`
+ if test "$V_CHECK" = "1" ; then
+ _version=$_version_tmp
+ fi
+ VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
+ BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE"
+ done
+ fi
+ else
+ for ac_boost_path in /usr /usr/local /opt ; do
+ if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
+ for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
+ _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
+ V_CHECK=`expr $_version_tmp \> $_version`
+ if test "$V_CHECK" = "1" ; then
+ _version=$_version_tmp
+ best_path=$ac_boost_path
+ fi
+ done
+ fi
+ done
+
+ VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
+ BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE"
+ BOOST_LDFLAGS="-L$best_path/lib"
+
+ if test "x$BOOST_ROOT" != "x"; then
+ if test -d "$BOOST_ROOT" && test -r "$BOOST_ROOT" && test -d "$BOOST_ROOT/stage/lib" && test -r "$BOOST_ROOT/stage/lib"; then
+ version_dir=`expr //$BOOST_ROOT : '.*/\(.*\)'`
+ stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'`
+ stage_version_shorten=`expr $stage_version : '\([0-9]*\.[0-9]*\)'`
+ V_CHECK=`expr $stage_version_shorten \>\= $_version`
+ if test "$V_CHECK" = "1" ; then
+ { echo "$as_me:$LINENO: We will use a staged boost library from $BOOST_ROOT" >&5
+echo "$as_me: We will use a staged boost library from $BOOST_ROOT" >&6;}
+ BOOST_CPPFLAGS="-I$BOOST_ROOT"
+ BOOST_LDFLAGS="-L$BOOST_ROOT/stage/lib"
+ fi
+ fi
+ fi
+ fi
+
+ CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+ export CPPFLAGS
+ LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
+ export LDFLAGS
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+ #include <boost/version.hpp>
+
+int
+main ()
+{
+
+ #if BOOST_VERSION >= $WANT_BOOST_VERSION
+ // Everything is okay
+ #else
+ # error Boost version is too old
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ succeeded=yes
+ found_system=yes
+
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ fi
+
+ if test "$succeeded" != "yes" ; then
+ if test "$_version" = "0" ; then
+ { { echo "$as_me:$LINENO: error: We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation." >&5
+echo "$as_me: error: We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation." >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ { echo "$as_me:$LINENO: Your boost libraries seems to old (version $_version)." >&5
+echo "$as_me: Your boost libraries seems to old (version $_version)." >&6;}
+ fi
+ else
+
+
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_BOOST
+_ACEOF
+
+ fi
+
+ CPPFLAGS="$CPPFLAGS_SAVED"
+ LDFLAGS="$LDFLAGS_SAVED"
+fi
+
+
+
+
+# Check whether --with-boost-unit-test-framework was given.
+if test "${with_boost_unit_test_framework+set}" = set; then
+ withval=$with_boost_unit_test_framework;
+ if test "$withval" = "no"; then
+ want_boost="no"
+ elif test "$withval" = "yes"; then
+ want_boost="yes"
+ ax_boost_user_unit_test_framework_lib=""
+ else
+ want_boost="yes"
+ ax_boost_user_unit_test_framework_lib="$withval"
+ fi
+
+else
+ want_boost="yes"
+
+fi
+
+
+ if test "x$want_boost" = "xyes"; then
+
+ CPPFLAGS_SAVED="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+ export CPPFLAGS
+
+ LDFLAGS_SAVED="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
+ export LDFLAGS
+
+ { echo "$as_me:$LINENO: checking whether the Boost::Unit_Test_Framework library is available" >&5
+echo $ECHO_N "checking whether the Boost::Unit_Test_Framework library is available... $ECHO_C" >&6; }
+if test "${ax_cv_boost_unit_test_framework+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <boost/test/unit_test.hpp>
+int
+main ()
+{
+using boost::unit_test::test_suite;
+ test_suite* test= BOOST_TEST_SUITE( "Unit test example 1" ); return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ax_cv_boost_unit_test_framework=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ax_cv_boost_unit_test_framework=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+fi
+{ echo "$as_me:$LINENO: result: $ax_cv_boost_unit_test_framework" >&5
+echo "${ECHO_T}$ax_cv_boost_unit_test_framework" >&6; }
+ if test "x$ax_cv_boost_unit_test_framework" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_BOOST_UNIT_TEST_FRAMEWORK
+_ACEOF
+
+ BN=boost_unit_test_framework
+ if test "x$ax_boost_user_unit_test_framework_lib" = "x"; then
+ saved_ldflags="${LDFLAGS}"
+ for ax_lib in $BN $BN-$CC $BN-$CC-mt $BN-$CC-mt-s $BN-$CC-s \
+ lib$BN lib$BN-$CC lib$BN-$CC-mt lib$BN-$CC-mt-s lib$BN-$CC-s \
+ $BN-mgw $BN-mgw $BN-mgw-mt $BN-mgw-mt-s $BN-mgw-s ; do
+ LDFLAGS="${LDFLAGS} -l$ax_lib"
+ { echo "$as_me:$LINENO: checking Boost::UnitTestFramework library linkage" >&5
+echo $ECHO_N "checking Boost::UnitTestFramework library linkage... $ECHO_C" >&6; }
+if test "${ax_cv_boost_unit_test_framework_link+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <boost/test/unit_test.hpp>
+ using boost::unit_test::test_suite;
+ test_suite* init_unit_test_suite( int argc, char * argv[] ) {
+ test_suite* test= BOOST_TEST_SUITE( "Unit test example 1" );
+ return test;
+ }
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ link_unit_test_framework="yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ link_unit_test_framework="no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+fi
+{ echo "$as_me:$LINENO: result: $ax_cv_boost_unit_test_framework_link" >&5
+echo "${ECHO_T}$ax_cv_boost_unit_test_framework_link" >&6; }
+ LDFLAGS="${saved_ldflags}"
+
+ if test "x$link_unit_test_framework" = "xyes"; then
+ BOOST_UNIT_TEST_FRAMEWORK_LIB="-l$ax_lib"
+
+ break
+ fi
+ done
+ else
+ saved_ldflags="${LDFLAGS}"
+ for ax_lib in $ax_boost_user_unit_test_framework_lib $BN-$ax_boost_user_unit_test_framework_lib; do
+ LDFLAGS="${LDFLAGS} -l$ax_lib"
+ { echo "$as_me:$LINENO: checking Boost::UnitTestFramework library linkage" >&5
+echo $ECHO_N "checking Boost::UnitTestFramework library linkage... $ECHO_C" >&6; }
+if test "${ax_cv_boost_unit_test_framework_link+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <boost/test/unit_test.hpp>
+ using boost::unit_test::test_suite;
+ test_suite* init_unit_test_suite( int argc, char * argv[] ) {
+ test_suite* test= BOOST_TEST_SUITE( "Unit test example 1" );
+ return test;
+ }
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ link_unit_test_framework="yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ link_unit_test_framework="no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+fi
+{ echo "$as_me:$LINENO: result: $ax_cv_boost_unit_test_framework_link" >&5
+echo "${ECHO_T}$ax_cv_boost_unit_test_framework_link" >&6; }
+ LDFLAGS="${saved_ldflags}"
+ if test "x$link_unit_test_framework" = "xyes"; then
+ BOOST_UNIT_TEST_FRAMEWORK_LIB="-l$ax_lib"
+
+ break
+ fi
+ done
+ fi
+ if test "x$link_unit_test_framework" = "xno"; then
+ { { echo "$as_me:$LINENO: error: Could not link against $ax_lib !" >&5
+echo "$as_me: error: Could not link against $ax_lib !" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ fi
+
+ CPPFLAGS="$CPPFLAGS_SAVED"
+ LDFLAGS="$LDFLAGS_SAVED"
+ fi
+
+{ echo "$as_me:$LINENO: support of automated tests enabled" >&5
+echo "$as_me: support of automated tests enabled" >&6;}
+else
+ { echo "$as_me:$LINENO: disabled support of automated tests" >&5
+echo "$as_me: disabled support of automated tests" >&6;}
+fi
+
+
+if test x$ENABLE_TESTS = xyes; then
+ AUTOTESTS_TRUE=
+ AUTOTESTS_FALSE='#'
+else
+ AUTOTESTS_TRUE='#'
+ AUTOTESTS_FALSE=
+fi
+
+
+if test "x$CAIROMM_DEVEL" = "xon" ; then
+ CXXFLAGS="$CXXFLAGS -Wall -g -Werror -Wextra"
+fi
-DOCS_SUBDIR="" # Check whether --enable-docs or --disable-docs was given.
-if test "${enable_docs+set}" = set; then
- enableval="$enable_docs"
+ # Check whether --enable-api-exceptions was given.
+if test "${enable_api_exceptions+set}" = set; then
+ enableval=$enable_api_exceptions; cairomm_enable_api_exceptions="$enableval"
+else
+ cairomm_enable_api_exceptions='yes'
+fi
+
+
+ if test "x$cairomm_enable_api_exceptions" = "xyes"; then
+ {
+
+cat >>confdefs.h <<\_ACEOF
+#define CAIROMM_EXCEPTIONS_ENABLED 1
+_ACEOF
+
+ }
+ fi
+
+
+DOCS_SUBDIR="" # Check whether --enable-docs was given.
+if test "${enable_docs+set}" = set; then
+ enableval=$enable_docs;
else
enable_docs=yes
-fi;
+fi
+
if test "x$enable_docs" = "xyes"; then
for ac_prog in doxygen
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_DOXYGEN+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -19617,25 +21110,27 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_DOXYGEN="$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
DOXYGEN=$ac_cv_prog_DOXYGEN
if test -n "$DOXYGEN"; then
- echo "$as_me:$LINENO: result: $DOXYGEN" >&5
-echo "${ECHO_T}$DOXYGEN" >&6
+ { echo "$as_me:$LINENO: result: $DOXYGEN" >&5
+echo "${ECHO_T}$DOXYGEN" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$DOXYGEN" && break
done
test -n "$DOXYGEN" || DOXYGEN="no"
@@ -19648,8 +21143,8 @@ echo "$as_me: WARNING: Doxygen not found, documentation will not be rebuilt" >&2
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_DOT+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -19662,25 +21157,27 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_DOT="$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
DOT=$ac_cv_prog_DOT
if test -n "$DOT"; then
- echo "$as_me:$LINENO: result: $DOT" >&5
-echo "${ECHO_T}$DOT" >&6
+ { echo "$as_me:$LINENO: result: $DOT" >&5
+echo "${ECHO_T}$DOT" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$DOT" && break
done
test -n "$DOT" || DOT="no"
@@ -19692,16 +21189,16 @@ echo "$as_me: WARNING: graphviz / dot not found, documentation graphs will not b
fi
DOCS_SUBDIR="docs"
- ac_config_files="$ac_config_files docs/Makefile docs/reference/Makefile docs/reference/Doxyfile"
+ ac_config_files="$ac_config_files docs/Makefile docs/reference/Makefile docs/reference/Doxyfile"
fi
- ac_config_files="$ac_config_files Makefile cairomm/Makefile examples/Makefile examples/png_file/Makefile examples/pdf-surface/Makefile examples/ps-surface/Makefile examples/svg-surface/Makefile examples/text-rotate/Makefile cairomm-1.0.pc"
+ac_config_files="$ac_config_files Makefile cairomm/Makefile examples/Makefile examples/png_file/Makefile examples/pdf-surface/Makefile examples/ps-surface/Makefile examples/svg-surface/Makefile examples/text-rotate/Makefile tests/Makefile cairomm-1.0.pc"
- ac_config_files="$ac_config_files MSVC/Makefile MSVC/gendef/Makefile MSVC/cairomm/Makefile MSVC/cairomm/cairomm.rc MSVC/examples/Makefile MSVC/examples/pdf-surface/Makefile MSVC/examples/png_file/Makefile MSVC/examples/ps-surface/Makefile MSVC/examples/svg-surface/Makefile MSVC/examples/text-rotate/Makefile"
+ac_config_files="$ac_config_files MSVC/Makefile MSVC/gendef/Makefile MSVC/cairomm/Makefile MSVC/cairomm/cairomm.rc MSVC/examples/Makefile MSVC/examples/pdf-surface/Makefile MSVC/examples/png_file/Makefile MSVC/examples/ps-surface/Makefile MSVC/examples/svg-surface/Makefile MSVC/examples/text-rotate/Makefile"
cat >confcache <<\_ACEOF
@@ -19722,39 +21219,58 @@ _ACEOF
# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
+# So, we kill variables containing newlines.
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
-{
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+
(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
# `set' does not quote correctly, so add quotes (double-quote
# substitution turns \\\\ into \\, and sed turns \\ into \).
sed -n \
"s/'/'\\\\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;;
+ ;; #(
*)
# `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
- esac;
-} |
+ esac |
+ sort
+) |
sed '
+ /^ac_cv_env_/b end
t clear
- : clear
+ :clear
s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
t end
- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
- if test -w $cache_file; then
- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ test "x$cache_file" != "x/dev/null" &&
+ { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
cat confcache >$cache_file
else
- echo "not updating unwritable cache $cache_file"
+ { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
fi
fi
rm -f confcache
@@ -19763,63 +21279,18 @@ test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[ ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[ ]*$//;
-}'
-fi
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-#
-# If the first sed substitution is executed (which looks for macros that
-# take arguments), then we branch to the quote section. Otherwise,
-# look for a macro that doesn't take arguments.
-cat >confdef2opt.sed <<\_ACEOF
-t clear
-: clear
-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g
-t quote
-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g
-t quote
-d
-: quote
-s,[ `~#$^&*(){}\\|;'"<>?],\\&,g
-s,\[,\\&,g
-s,\],\\&,g
-s,\$,$$,g
-p
-_ACEOF
-# We use echo to avoid assuming a particular line-breaking character.
-# The extra dot is to prevent the shell from consuming trailing
-# line-breaks from the sub-command output. A line-break within
-# single-quotes doesn't work because, if this script is created in a
-# platform that uses two characters for line-breaks (e.g., DOS), tr
-# would break.
-ac_LF_and_DOT=`echo; echo .`
-DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
-rm -f confdef2opt.sed
-
+DEFS=-DHAVE_CONFIG_H
ac_libobjs=
ac_ltlibobjs=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
- ac_i=`echo "$ac_i" |
- sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
- # 2. Add them.
- ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
- ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
done
LIBOBJS=$ac_libobjs
@@ -19854,6 +21325,20 @@ echo "$as_me: error: conditional \"PLATFORM_WIN32\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
+if test -z "${OS_WIN32_TRUE}" && test -z "${OS_WIN32_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"OS_WIN32\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"OS_WIN32\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${AUTOTESTS_TRUE}" && test -z "${AUTOTESTS_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"AUTOTESTS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"AUTOTESTS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
: ${CONFIG_STATUS=./config.status}
ac_clean_files_save=$ac_clean_files
@@ -19878,17 +21363,45 @@ cat >>$CONFIG_STATUS <<\_ACEOF
## M4sh Initialization. ##
## --------------------- ##
-# Be Bourne compatible
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
# Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
fi
-DUALCASE=1; export DUALCASE # for MKS sh
# Support unset when possible.
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
@@ -19898,8 +21411,43 @@ else
fi
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
PS1='$ '
PS2='> '
PS4='+ '
@@ -19913,18 +21461,19 @@ do
if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
eval $as_var=C; export $as_var
else
- $as_unset $as_var
+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
fi
done
# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
@@ -19932,159 +21481,120 @@ fi
# Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
+# CDPATH.
+$as_unset CDPATH
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
as_lineno_1=$LINENO
as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
# Create $as_me.lineno as a copy of $as_myself, but with $LINENO
# uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
# (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
+ s/-\n.*//
' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+ chmod +x "$as_me.lineno" ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
# Exit status is that of the last command.
exit
}
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
esac
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir
+fi
echo >conf$$.file
if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -p'
fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
if mkdir -p . 2>/dev/null; then
as_mkdir_p=:
@@ -20093,7 +21603,28 @@ else
as_mkdir_p=false
fi
-as_executable_p="test -f"
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -20102,31 +21633,14 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
exec 6>&1
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# Save the log message, to keep $[0] and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling. Logging --version etc. is OK.
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
+# values after options handling.
+ac_log="
This file was extended by $as_me, which was
-generated by GNU Autoconf 2.59. Invocation command line was
+generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -20134,30 +21648,20 @@ generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_COMMANDS = $CONFIG_COMMANDS
$ $0 $@
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
# Files that config.status was made for.
-if test -n "$ac_config_files"; then
- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_headers"; then
- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_links"; then
- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
-if test -n "$ac_config_commands"; then
- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
+_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF
-
ac_cs_usage="\
\`$as_me' instantiates files from templates according to the
current configuration.
@@ -20165,33 +21669,40 @@ current configuration.
Usage: $0 [OPTIONS] [FILE]...
-h, --help print this help, then exit
- -V, --version print version number, then exit
+ -V, --version print version number and configuration settings, then exit
-q, --quiet do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
--file=FILE[:TEMPLATE]
instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
Configuration files:
$config_files
+Configuration headers:
+$config_headers
+
Configuration commands:
$config_commands
Report bugs to <bug-autoconf@gnu.org>."
-_ACEOF
+_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
config.status
-configured by $0, generated by GNU Autoconf 2.59,
- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.61,
+ with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-Copyright (C) 2003 Free Software Foundation, Inc.
+Copyright (C) 2006 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
-INSTALL="$INSTALL"
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF
@@ -20202,39 +21713,24 @@ while test $# != 0
do
case $1 in
--*=*)
- ac_option=`expr "x$1" : 'x\([^=]*\)='`
- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
ac_shift=:
;;
- -*)
+ *)
ac_option=$1
ac_optarg=$2
ac_shift=shift
;;
- *) # This is not an option, so the user has probably given explicit
- # arguments.
- ac_option=$1
- ac_need_defaults=false;;
esac
case $ac_option in
# Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
- --version | --vers* | -V )
- echo "$ac_cs_version"; exit 0 ;;
- --he | --h)
- # Conflict between --help and --header
- { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; };;
- --help | --hel | -h )
- echo "$ac_cs_usage"; exit 0 ;;
- --debug | --d* | -d )
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ echo "$ac_cs_version"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
@@ -20244,18 +21740,24 @@ Try \`$0 --help' for more information." >&2;}
$ac_shift
CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+ { echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;
# This is an error.
- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
+ -*) { echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
{ (exit 1); exit 1; }; } ;;
- *) ac_config_targets="$ac_config_targets $1" ;;
+ *) ac_config_targets="$ac_config_targets $1"
+ ac_need_defaults=false ;;
esac
shift
@@ -20271,576 +21773,731 @@ fi
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
if \$ac_cs_recheck; then
- echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+ CONFIG_SHELL=$SHELL
+ export CONFIG_SHELL
+ exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
fi
_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ echo "$ac_log"
+} >&5
+_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
#
-# INIT-COMMANDS section.
+# INIT-COMMANDS
#
-
AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
_ACEOF
-
-
cat >>$CONFIG_STATUS <<\_ACEOF
+
+# Handling of arguments.
for ac_config_target in $ac_config_targets
do
- case "$ac_config_target" in
- # Handling of arguments.
- "docs/Makefile" ) CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;;
- "docs/reference/Makefile" ) CONFIG_FILES="$CONFIG_FILES docs/reference/Makefile" ;;
- "docs/reference/Doxyfile" ) CONFIG_FILES="$CONFIG_FILES docs/reference/Doxyfile" ;;
- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "cairomm/Makefile" ) CONFIG_FILES="$CONFIG_FILES cairomm/Makefile" ;;
- "examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
- "examples/png_file/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/png_file/Makefile" ;;
- "examples/pdf-surface/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/pdf-surface/Makefile" ;;
- "examples/ps-surface/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/ps-surface/Makefile" ;;
- "examples/svg-surface/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/svg-surface/Makefile" ;;
- "examples/text-rotate/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/text-rotate/Makefile" ;;
- "cairomm-1.0.pc" ) CONFIG_FILES="$CONFIG_FILES cairomm-1.0.pc" ;;
- "MSVC/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC/Makefile" ;;
- "MSVC/gendef/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC/gendef/Makefile" ;;
- "MSVC/cairomm/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC/cairomm/Makefile" ;;
- "MSVC/cairomm/cairomm.rc" ) CONFIG_FILES="$CONFIG_FILES MSVC/cairomm/cairomm.rc" ;;
- "MSVC/examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC/examples/Makefile" ;;
- "MSVC/examples/pdf-surface/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC/examples/pdf-surface/Makefile" ;;
- "MSVC/examples/png_file/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC/examples/png_file/Makefile" ;;
- "MSVC/examples/ps-surface/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC/examples/ps-surface/Makefile" ;;
- "MSVC/examples/svg-surface/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC/examples/svg-surface/Makefile" ;;
- "MSVC/examples/text-rotate/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC/examples/text-rotate/Makefile" ;;
- "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ case $ac_config_target in
+ "cairomm/cairommconfig.h") CONFIG_HEADERS="$CONFIG_HEADERS cairomm/cairommconfig.h" ;;
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "docs/Makefile") CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;;
+ "docs/reference/Makefile") CONFIG_FILES="$CONFIG_FILES docs/reference/Makefile" ;;
+ "docs/reference/Doxyfile") CONFIG_FILES="$CONFIG_FILES docs/reference/Doxyfile" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "cairomm/Makefile") CONFIG_FILES="$CONFIG_FILES cairomm/Makefile" ;;
+ "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
+ "examples/png_file/Makefile") CONFIG_FILES="$CONFIG_FILES examples/png_file/Makefile" ;;
+ "examples/pdf-surface/Makefile") CONFIG_FILES="$CONFIG_FILES examples/pdf-surface/Makefile" ;;
+ "examples/ps-surface/Makefile") CONFIG_FILES="$CONFIG_FILES examples/ps-surface/Makefile" ;;
+ "examples/svg-surface/Makefile") CONFIG_FILES="$CONFIG_FILES examples/svg-surface/Makefile" ;;
+ "examples/text-rotate/Makefile") CONFIG_FILES="$CONFIG_FILES examples/text-rotate/Makefile" ;;
+ "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
+ "cairomm-1.0.pc") CONFIG_FILES="$CONFIG_FILES cairomm-1.0.pc" ;;
+ "MSVC/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC/Makefile" ;;
+ "MSVC/gendef/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC/gendef/Makefile" ;;
+ "MSVC/cairomm/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC/cairomm/Makefile" ;;
+ "MSVC/cairomm/cairomm.rc") CONFIG_FILES="$CONFIG_FILES MSVC/cairomm/cairomm.rc" ;;
+ "MSVC/examples/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC/examples/Makefile" ;;
+ "MSVC/examples/pdf-surface/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC/examples/pdf-surface/Makefile" ;;
+ "MSVC/examples/png_file/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC/examples/png_file/Makefile" ;;
+ "MSVC/examples/ps-surface/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC/examples/ps-surface/Makefile" ;;
+ "MSVC/examples/svg-surface/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC/examples/svg-surface/Makefile" ;;
+ "MSVC/examples/text-rotate/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC/examples/text-rotate/Makefile" ;;
+
*) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
{ (exit 1); exit 1; }; };;
esac
done
+
# If the user did not use the arguments to specify the items to instantiate,
# then the envvar interface is used. Set only those that are not.
# We use the long form for the default assignment because of an extremely
# bizarre bug on SunOS 4.1.3.
if $ac_need_defaults; then
test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
fi
# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason to put it here, and in addition,
+# simply because there is no reason against having it here, and in addition,
# creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ tmp=
+ trap 'exit_status=$?
+ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
trap '{ (exit 1); exit 1; }' 1 2 13 15
}
-
# Create a (secure) tmp directory for tmp files.
{
- tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
test -n "$tmp" && test -d "$tmp"
} ||
{
- tmp=./confstat$$-$RANDOM
- (umask 077 && mkdir $tmp)
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
} ||
{
echo "$me: cannot create a temporary directory in ." >&2
{ (exit 1); exit 1; }
}
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-
#
-# CONFIG_FILES section.
+# Set up the sed scripts for CONFIG_FILES section.
#
# No need to generate the scripts if there are no CONFIG_FILES.
# This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
- # Protect against being on the right side of a sed subst in config.status.
- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s,@SHELL@,$SHELL,;t t
-s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s,@exec_prefix@,$exec_prefix,;t t
-s,@prefix@,$prefix,;t t
-s,@program_transform_name@,$program_transform_name,;t t
-s,@bindir@,$bindir,;t t
-s,@sbindir@,$sbindir,;t t
-s,@libexecdir@,$libexecdir,;t t
-s,@datadir@,$datadir,;t t
-s,@sysconfdir@,$sysconfdir,;t t
-s,@sharedstatedir@,$sharedstatedir,;t t
-s,@localstatedir@,$localstatedir,;t t
-s,@libdir@,$libdir,;t t
-s,@includedir@,$includedir,;t t
-s,@oldincludedir@,$oldincludedir,;t t
-s,@infodir@,$infodir,;t t
-s,@mandir@,$mandir,;t t
-s,@build_alias@,$build_alias,;t t
-s,@host_alias@,$host_alias,;t t
-s,@target_alias@,$target_alias,;t t
-s,@DEFS@,$DEFS,;t t
-s,@ECHO_C@,$ECHO_C,;t t
-s,@ECHO_N@,$ECHO_N,;t t
-s,@ECHO_T@,$ECHO_T,;t t
-s,@LIBS@,$LIBS,;t t
-s,@GENERIC_MAJOR_VERSION@,$GENERIC_MAJOR_VERSION,;t t
-s,@GENERIC_MINOR_VERSION@,$GENERIC_MINOR_VERSION,;t t
-s,@GENERIC_MICRO_VERSION@,$GENERIC_MICRO_VERSION,;t t
-s,@GENERIC_VERSION@,$GENERIC_VERSION,;t t
-s,@GENERIC_LIBRARY_VERSION@,$GENERIC_LIBRARY_VERSION,;t t
-s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
-s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
-s,@INSTALL_DATA@,$INSTALL_DATA,;t t
-s,@CYGPATH_W@,$CYGPATH_W,;t t
-s,@PACKAGE@,$PACKAGE,;t t
-s,@VERSION@,$VERSION,;t t
-s,@ACLOCAL@,$ACLOCAL,;t t
-s,@AUTOCONF@,$AUTOCONF,;t t
-s,@AUTOMAKE@,$AUTOMAKE,;t t
-s,@AUTOHEADER@,$AUTOHEADER,;t t
-s,@MAKEINFO@,$MAKEINFO,;t t
-s,@install_sh@,$install_sh,;t t
-s,@STRIP@,$STRIP,;t t
-s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
-s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
-s,@mkdir_p@,$mkdir_p,;t t
-s,@AWK@,$AWK,;t t
-s,@SET_MAKE@,$SET_MAKE,;t t
-s,@am__leading_dot@,$am__leading_dot,;t t
-s,@AMTAR@,$AMTAR,;t t
-s,@am__tar@,$am__tar,;t t
-s,@am__untar@,$am__untar,;t t
-s,@CXX@,$CXX,;t t
-s,@CXXFLAGS@,$CXXFLAGS,;t t
-s,@LDFLAGS@,$LDFLAGS,;t t
-s,@CPPFLAGS@,$CPPFLAGS,;t t
-s,@ac_ct_CXX@,$ac_ct_CXX,;t t
-s,@EXEEXT@,$EXEEXT,;t t
-s,@OBJEXT@,$OBJEXT,;t t
-s,@DEPDIR@,$DEPDIR,;t t
-s,@am__include@,$am__include,;t t
-s,@am__quote@,$am__quote,;t t
-s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t
-s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t
-s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
-s,@CXXDEPMODE@,$CXXDEPMODE,;t t
-s,@am__fastdepCXX_TRUE@,$am__fastdepCXX_TRUE,;t t
-s,@am__fastdepCXX_FALSE@,$am__fastdepCXX_FALSE,;t t
-s,@CXXCPP@,$CXXCPP,;t t
-s,@build@,$build,;t t
-s,@build_cpu@,$build_cpu,;t t
-s,@build_vendor@,$build_vendor,;t t
-s,@build_os@,$build_os,;t t
-s,@host@,$host,;t t
-s,@host_cpu@,$host_cpu,;t t
-s,@host_vendor@,$host_vendor,;t t
-s,@host_os@,$host_os,;t t
-s,@CC@,$CC,;t t
-s,@CFLAGS@,$CFLAGS,;t t
-s,@ac_ct_CC@,$ac_ct_CC,;t t
-s,@CCDEPMODE@,$CCDEPMODE,;t t
-s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t
-s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t
-s,@EGREP@,$EGREP,;t t
-s,@LN_S@,$LN_S,;t t
-s,@ECHO@,$ECHO,;t t
-s,@AR@,$AR,;t t
-s,@ac_ct_AR@,$ac_ct_AR,;t t
-s,@RANLIB@,$RANLIB,;t t
-s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
-s,@DLLTOOL@,$DLLTOOL,;t t
-s,@ac_ct_DLLTOOL@,$ac_ct_DLLTOOL,;t t
-s,@AS@,$AS,;t t
-s,@ac_ct_AS@,$ac_ct_AS,;t t
-s,@OBJDUMP@,$OBJDUMP,;t t
-s,@ac_ct_OBJDUMP@,$ac_ct_OBJDUMP,;t t
-s,@CPP@,$CPP,;t t
-s,@F77@,$F77,;t t
-s,@FFLAGS@,$FFLAGS,;t t
-s,@ac_ct_F77@,$ac_ct_F77,;t t
-s,@LIBTOOL@,$LIBTOOL,;t t
-s,@PLATFORM_WIN32_TRUE@,$PLATFORM_WIN32_TRUE,;t t
-s,@PLATFORM_WIN32_FALSE@,$PLATFORM_WIN32_FALSE,;t t
-s,@PKG_CONFIG@,$PKG_CONFIG,;t t
-s,@ac_pt_PKG_CONFIG@,$ac_pt_PKG_CONFIG,;t t
-s,@CAIROMM_CFLAGS@,$CAIROMM_CFLAGS,;t t
-s,@CAIROMM_LIBS@,$CAIROMM_LIBS,;t t
-s,@DOXYGEN@,$DOXYGEN,;t t
-s,@DOT@,$DOT,;t t
-s,@DOCS_SUBDIR@,$DOCS_SUBDIR,;t t
-s,@LIBOBJS@,$LIBOBJS,;t t
-s,@LTLIBOBJS@,$LTLIBOBJS,;t t
-CEOF
+if test -n "$CONFIG_FILES"; then
_ACEOF
- cat >>$CONFIG_STATUS <<\_ACEOF
- # Split the substitutions into bite-sized pieces for seds with
- # small command number limits, like on Digital OSF/1 and HP-UX.
- ac_max_sed_lines=48
- ac_sed_frag=1 # Number of current file.
- ac_beg=1 # First line for current file.
- ac_end=$ac_max_sed_lines # Line after last line for current file.
- ac_more_lines=:
- ac_sed_cmds=
- while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- else
- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- fi
- if test ! -s $tmp/subs.frag; then
- ac_more_lines=false
- else
- # The purpose of the label and of the branching condition is to
- # speed up the sed processing (if there are no `@' at all, there
- # is no need to browse any of the substitutions).
- # These are the two extra sed commands mentioned above.
- (echo ':t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
- fi
- ac_sed_frag=`expr $ac_sed_frag + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_lines`
- fi
- done
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ cat >conf$$subs.sed <<_ACEOF
+SHELL!$SHELL$ac_delim
+PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
+PACKAGE_NAME!$PACKAGE_NAME$ac_delim
+PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
+PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
+PACKAGE_STRING!$PACKAGE_STRING$ac_delim
+PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
+exec_prefix!$exec_prefix$ac_delim
+prefix!$prefix$ac_delim
+program_transform_name!$program_transform_name$ac_delim
+bindir!$bindir$ac_delim
+sbindir!$sbindir$ac_delim
+libexecdir!$libexecdir$ac_delim
+datarootdir!$datarootdir$ac_delim
+datadir!$datadir$ac_delim
+sysconfdir!$sysconfdir$ac_delim
+sharedstatedir!$sharedstatedir$ac_delim
+localstatedir!$localstatedir$ac_delim
+includedir!$includedir$ac_delim
+oldincludedir!$oldincludedir$ac_delim
+docdir!$docdir$ac_delim
+infodir!$infodir$ac_delim
+htmldir!$htmldir$ac_delim
+dvidir!$dvidir$ac_delim
+pdfdir!$pdfdir$ac_delim
+psdir!$psdir$ac_delim
+libdir!$libdir$ac_delim
+localedir!$localedir$ac_delim
+mandir!$mandir$ac_delim
+DEFS!$DEFS$ac_delim
+ECHO_C!$ECHO_C$ac_delim
+ECHO_N!$ECHO_N$ac_delim
+ECHO_T!$ECHO_T$ac_delim
+LIBS!$LIBS$ac_delim
+build_alias!$build_alias$ac_delim
+host_alias!$host_alias$ac_delim
+target_alias!$target_alias$ac_delim
+GENERIC_MAJOR_VERSION!$GENERIC_MAJOR_VERSION$ac_delim
+GENERIC_MINOR_VERSION!$GENERIC_MINOR_VERSION$ac_delim
+GENERIC_MICRO_VERSION!$GENERIC_MICRO_VERSION$ac_delim
+GENERIC_VERSION!$GENERIC_VERSION$ac_delim
+GENERIC_LIBRARY_VERSION!$GENERIC_LIBRARY_VERSION$ac_delim
+INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
+INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
+INSTALL_DATA!$INSTALL_DATA$ac_delim
+CYGPATH_W!$CYGPATH_W$ac_delim
+PACKAGE!$PACKAGE$ac_delim
+VERSION!$VERSION$ac_delim
+ACLOCAL!$ACLOCAL$ac_delim
+AUTOCONF!$AUTOCONF$ac_delim
+AUTOMAKE!$AUTOMAKE$ac_delim
+AUTOHEADER!$AUTOHEADER$ac_delim
+MAKEINFO!$MAKEINFO$ac_delim
+install_sh!$install_sh$ac_delim
+STRIP!$STRIP$ac_delim
+INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
+mkdir_p!$mkdir_p$ac_delim
+AWK!$AWK$ac_delim
+SET_MAKE!$SET_MAKE$ac_delim
+am__leading_dot!$am__leading_dot$ac_delim
+AMTAR!$AMTAR$ac_delim
+am__tar!$am__tar$ac_delim
+am__untar!$am__untar$ac_delim
+CXX!$CXX$ac_delim
+CXXFLAGS!$CXXFLAGS$ac_delim
+LDFLAGS!$LDFLAGS$ac_delim
+CPPFLAGS!$CPPFLAGS$ac_delim
+ac_ct_CXX!$ac_ct_CXX$ac_delim
+EXEEXT!$EXEEXT$ac_delim
+OBJEXT!$OBJEXT$ac_delim
+DEPDIR!$DEPDIR$ac_delim
+am__include!$am__include$ac_delim
+am__quote!$am__quote$ac_delim
+AMDEP_TRUE!$AMDEP_TRUE$ac_delim
+AMDEP_FALSE!$AMDEP_FALSE$ac_delim
+AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
+CXXDEPMODE!$CXXDEPMODE$ac_delim
+am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim
+am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim
+CXXCPP!$CXXCPP$ac_delim
+build!$build$ac_delim
+build_cpu!$build_cpu$ac_delim
+build_vendor!$build_vendor$ac_delim
+build_os!$build_os$ac_delim
+host!$host$ac_delim
+host_cpu!$host_cpu$ac_delim
+host_vendor!$host_vendor$ac_delim
+host_os!$host_os$ac_delim
+CC!$CC$ac_delim
+CFLAGS!$CFLAGS$ac_delim
+ac_ct_CC!$ac_ct_CC$ac_delim
+CCDEPMODE!$CCDEPMODE$ac_delim
+am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
+am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
+SED!$SED$ac_delim
+GREP!$GREP$ac_delim
+EGREP!$EGREP$ac_delim
+_ACEOF
+
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
+ break
+ elif $ac_last_try; then
+ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
-fi # test -n "$CONFIG_FILES"
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+ ac_eof=`expr $ac_eof + 1`
+fi
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+CEOF$ac_eof
+_ACEOF
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ cat >conf$$subs.sed <<_ACEOF
+LN_S!$LN_S$ac_delim
+ECHO!$ECHO$ac_delim
+AR!$AR$ac_delim
+RANLIB!$RANLIB$ac_delim
+DLLTOOL!$DLLTOOL$ac_delim
+AS!$AS$ac_delim
+OBJDUMP!$OBJDUMP$ac_delim
+CPP!$CPP$ac_delim
+F77!$F77$ac_delim
+FFLAGS!$FFLAGS$ac_delim
+ac_ct_F77!$ac_ct_F77$ac_delim
+LIBTOOL!$LIBTOOL$ac_delim
+PLATFORM_WIN32_TRUE!$PLATFORM_WIN32_TRUE$ac_delim
+PLATFORM_WIN32_FALSE!$PLATFORM_WIN32_FALSE$ac_delim
+OS_WIN32_TRUE!$OS_WIN32_TRUE$ac_delim
+OS_WIN32_FALSE!$OS_WIN32_FALSE$ac_delim
+PKG_CONFIG!$PKG_CONFIG$ac_delim
+CAIROMM_CFLAGS!$CAIROMM_CFLAGS$ac_delim
+CAIROMM_LIBS!$CAIROMM_LIBS$ac_delim
+BOOST_CPPFLAGS!$BOOST_CPPFLAGS$ac_delim
+BOOST_LDFLAGS!$BOOST_LDFLAGS$ac_delim
+BOOST_UNIT_TEST_FRAMEWORK_LIB!$BOOST_UNIT_TEST_FRAMEWORK_LIB$ac_delim
+AUTOTESTS_TRUE!$AUTOTESTS_TRUE$ac_delim
+AUTOTESTS_FALSE!$AUTOTESTS_FALSE$ac_delim
+DOXYGEN!$DOXYGEN$ac_delim
+DOT!$DOT$ac_delim
+DOCS_SUBDIR!$DOCS_SUBDIR$ac_delim
+LIBOBJS!$LIBOBJS$ac_delim
+LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
+
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 29; then
+ break
+ elif $ac_last_try; then
+ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+ ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+:end
+s/|#_!!_#|//g
+CEOF$ac_eof
+_ACEOF
+
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[ ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
+fi # test -n "$CONFIG_FILES"
+
+
+for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+ { (exit 1); exit 1; }; };;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+ ac_file_inputs="$ac_file_inputs $ac_f"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input="Generated from "`IFS=:
+ echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ fi
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$tmp/stdin";;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$ac_file" : 'X\(//\)[^/]' \| \
X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir="$ac_dir"
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
{ (exit 1); exit 1; }; }; }
-
ac_builddir=.
-if test "$ac_dir" != .; then
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
case $srcdir in
- .) # No --srcdir option. We are building in place.
+ .) # We are building in place.
ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
case $INSTALL in
[\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
esac
+_ACEOF
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- configure_input=
- else
- configure_input="$ac_file. "
- fi
- configure_input=$configure_input"Generated from `echo $ac_file_in |
- sed 's,.*/,,'` by configure."
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
+case `sed -n '/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+' $ac_file_inputs` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF
sed "$ac_vpsub
$extrasub
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s,@configure_input@,$configure_input,;t t
-s,@srcdir@,$ac_srcdir,;t t
-s,@abs_srcdir@,$ac_abs_srcdir,;t t
-s,@top_srcdir@,$ac_top_srcdir,;t t
-s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s,@builddir@,$ac_builddir,;t t
-s,@abs_builddir@,$ac_abs_builddir,;t t
-s,@top_builddir@,$ac_top_builddir,;t t
-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
-s,@INSTALL@,$ac_INSTALL,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
- rm -f $tmp/stdin
- if test x"$ac_file" != x-; then
- mv $tmp/out $ac_file
- else
- cat $tmp/out
- rm -f $tmp/out
- fi
-
-done
+s&@configure_input@&$configure_input&;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+$ac_datarootdir_hack
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+ { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&5
+echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&2;}
+
+ rm -f "$tmp/stdin"
+ case $ac_file in
+ -) cat "$tmp/out"; rm -f "$tmp/out";;
+ *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
+ esac
+ ;;
+ :H)
+ #
+ # CONFIG_HEADER
+ #
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-#
-# CONFIG_COMMANDS section.
-#
-for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
- ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
- ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
-$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_dest" : 'X\(//\)[^/]' \| \
- X"$ac_dest" : 'X\(//\)$' \| \
- X"$ac_dest" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_dest" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
+# Transform confdefs.h into a sed script `conftest.defines', that
+# substitutes the proper values into config.h.in to produce config.h.
+rm -f conftest.defines conftest.tail
+# First, append a space to every undef/define line, to ease matching.
+echo 's/$/ /' >conftest.defines
+# Then, protect against being on the right side of a sed subst, or in
+# an unquoted here document, in config.status. If some macros were
+# called several times there might be several #defines for the same
+# symbol, which is useless. But do not sort them, since the last
+# AC_DEFINE must be honored.
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
+# NAME is the cpp macro being defined, VALUE is the value it is being given.
+# PARAMS is the parameter list in the macro definition--in most cases, it's
+# just an empty string.
+ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*'
+ac_dB='\\)[ (].*,\\1define\\2'
+ac_dC=' '
+ac_dD=' ,'
+
+uniq confdefs.h |
+ sed -n '
+ t rset
+ :rset
+ s/^[ ]*#[ ]*define[ ][ ]*//
+ t ok
+ d
+ :ok
+ s/[\\&,]/\\&/g
+ s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
+ s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
+ ' >>conftest.defines
+
+# Remove the space that was appended to ease matching.
+# Then replace #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+# (The regexp can be short, since the line contains either #define or #undef.)
+echo 's/ $//
+s,^[ #]*u.*,/* & */,' >>conftest.defines
+
+# Break up conftest.defines:
+ac_max_sed_lines=50
+
+# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1"
+# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2"
+# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1"
+# et cetera.
+ac_in='$ac_file_inputs'
+ac_out='"$tmp/out1"'
+ac_nxt='"$tmp/out2"'
+
+while :
+do
+ # Write a here document:
+ cat >>$CONFIG_STATUS <<_ACEOF
+ # First, check the format of the line:
+ cat >"\$tmp/defines.sed" <<\\CEOF
+/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def
+/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def
+b
+:def
+_ACEOF
+ sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
+ ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
+ sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
+ grep . conftest.tail >/dev/null || break
+ rm -f conftest.defines
+ mv conftest.tail conftest.defines
+done
+rm -f conftest.defines conftest.tail
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
+echo "ac_result=$ac_in" >>$CONFIG_STATUS
+cat >>$CONFIG_STATUS <<\_ACEOF
+ if test x"$ac_file" != x-; then
+ echo "/* $configure_input */" >"$tmp/config.h"
+ cat "$ac_result" >>"$tmp/config.h"
+ if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
+ { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
+ rm -f $ac_file
+ mv "$tmp/config.h" $ac_file
+ fi
+ else
+ echo "/* $configure_input */"
+ cat "$ac_result"
+ fi
+ rm -f "$tmp/out12"
+# Compute $ac_file's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $ac_file | $ac_file:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $ac_file" >`$as_dirname -- $ac_file ||
+$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X$ac_file : 'X\(//\)[^/]' \| \
+ X$ac_file : 'X\(//\)$' \| \
+ X$ac_file : 'X\(/\)' \| . 2>/dev/null ||
+echo X$ac_file |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
+ :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5
+echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
- { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
-echo "$as_me: executing $ac_dest commands" >&6;}
- case $ac_dest in
- depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
+ case $ac_file$ac_mode in
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
@@ -20850,18 +22507,29 @@ echo "$as_me: executing $ac_dest commands" >&6;}
# each Makefile.in and add a new line on top of each file to say so.
# So let's grep whole file.
if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
- dirpart=`(dirname "$mf") 2>/dev/null ||
+ dirpart=`$as_dirname -- "$mf" ||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$mf" : 'X\(//\)[^/]' \| \
X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
else
continue
fi
@@ -20883,53 +22551,79 @@ echo X"$mf" |
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
- fdir=`(dirname "$file") 2>/dev/null ||
+ fdir=`$as_dirname -- "$file" ||
$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$file" : 'X\(//\)[^/]' \| \
X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p $dirpart/$fdir
- else
- as_dir=$dirpart/$fdir
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir=$dirpart/$fdir
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
-echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
{ (exit 1); exit 1; }; }; }
-
# echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file"
done
done
;;
+
esac
-done
-_ACEOF
+done # for ac_tag
-cat >>$CONFIG_STATUS <<\_ACEOF
{ (exit 0); exit 0; }
_ACEOF
diff --git a/libs/cairomm/configure.in b/libs/cairomm/configure.in
index 0c985ea89a..46f9785ee3 100644
--- a/libs/cairomm/configure.in
+++ b/libs/cairomm/configure.in
@@ -2,8 +2,8 @@ AC_INIT(cairomm/cairomm.h)
#release versioning
GENERIC_MAJOR_VERSION=1
-GENERIC_MINOR_VERSION=2
-GENERIC_MICRO_VERSION=4
+GENERIC_MINOR_VERSION=4
+GENERIC_MICRO_VERSION=6
GENERIC_VERSION=$GENERIC_MAJOR_VERSION.$GENERIC_MINOR_VERSION.$GENERIC_MICRO_VERSION
AC_SUBST(GENERIC_MAJOR_VERSION)
AC_SUBST(GENERIC_MINOR_VERSION)
@@ -11,7 +11,7 @@ AC_SUBST(GENERIC_MICRO_VERSION)
AC_SUBST(GENERIC_VERSION)
#shared library versioning
-GENERIC_LIBRARY_VERSION=1:0:0
+GENERIC_LIBRARY_VERSION=2:0:1
# | | |
# +------+ | +---+
# | | |
@@ -28,9 +28,10 @@ AC_SUBST(GENERIC_LIBRARY_VERSION)
VERSION=$GENERIC_VERSION
-
AM_INIT_AUTOMAKE(cairomm, $GENERIC_VERSION)
+AM_CONFIG_HEADER(cairomm/cairommconfig.h)
+
AC_PROG_CXX
AC_PROG_CXXCPP
AC_LANG_CPLUSPLUS
@@ -52,11 +53,23 @@ esac
AC_MSG_RESULT([$platform_win32])
AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
+AC_MSG_CHECKING([for native Win32])
+case "$host" in
+ *-*-mingw*)
+ os_win32=yes
+ ;;
+ *)
+ os_win32=no
+ ;;
+esac
+AC_MSG_RESULT([$os_win32])
+AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
+
# Ensure MSVC-compatible struct packing convention is used when
# compiling for Win32 with gcc.
# What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
# gcc2 uses "-fnative-struct".
-if test x"$platform_win32" = xyes; then
+if test x"$os_win32" = xyes; then
if test x"$GCC" = xyes; then
msnative_struct=''
AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
@@ -89,8 +102,32 @@ fi
AC_CHECK_HEADERS(string list map, , exit)
-PKG_CHECK_MODULES(CAIROMM, cairo >= 1.2.0)
+PKG_CHECK_MODULES(CAIROMM, cairo >= 1.4)
+AC_ARG_ENABLE(tests,
+ AC_HELP_STRING([--enable-tests=yes|no],
+ [enable automated tests (default is no)]),
+ ENABLE_TESTS=$enableval,
+ ENABLE_TESTS=no)
+if test x$CAIROMM_DEVEL = xon ; then
+ ENABLE_TESTS=yes
+fi
+
+if test x$ENABLE_TESTS = xyes ; then
+AX_BOOST_BASE([1.33.1])
+AX_BOOST_UNIT_TEST_FRAMEWORK
+AC_MSG_NOTICE(support of automated tests enabled)
+else
+ AC_MSG_NOTICE(disabled support of automated tests)
+fi
+AM_CONDITIONAL(AUTOTESTS, test x$ENABLE_TESTS = xyes)
+
+dnl enable compiler warnings when the CAIROMM_DEVEL environment variable is set to 'on'
+if test "x$CAIROMM_DEVEL" = "xon" ; then
+ CXXFLAGS="$CXXFLAGS -Wall -g -Werror -Wextra"
+fi
+
+CAIROMM_ARG_ENABLE_API_EXCEPTIONS()
dnl Check whether to build the documentation directory
DOCS_SUBDIR="" dnl set DOCS_SUBDIR initially blank
@@ -131,6 +168,8 @@ AC_CONFIG_FILES(
examples/svg-surface/Makefile
examples/text-rotate/Makefile
+ tests/Makefile
+
cairomm-1.0.pc
)
diff --git a/libs/cairomm/depcomp b/libs/cairomm/depcomp
index 04701da536..04701da536 100644..100755
--- a/libs/cairomm/depcomp
+++ b/libs/cairomm/depcomp
diff --git a/libs/cairomm/install-sh b/libs/cairomm/install-sh
index d4744f0c70..4d4a9519ea 100644..100755
--- a/libs/cairomm/install-sh
+++ b/libs/cairomm/install-sh
@@ -1,7 +1,8 @@
#!/bin/sh
-#
# install - install a program, script, or datafile
-#
+
+scriptversion=2005-05-14.22
+
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
@@ -41,13 +42,11 @@
# from scratch. It can only install one file at a time, a restriction
# shared with many OS's install programs.
-
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
-
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
@@ -59,211 +58,266 @@ stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
+chowncmd=
+chgrpcmd=
+stripcmd=
rmcmd="$rmprog -f"
mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd="$cpprog"
- shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd="$stripprog"
- shift
- continue;;
-
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
- shift
- continue;;
-
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- shift
- continue;;
-
- *) if [ x"$src" = x ]
- then
- src=$1
- else
- # this colon is to work around a 386BSD /bin/sh bug
- :
- dst=$1
- fi
- shift
- continue;;
- esac
-done
-
-if [ x"$src" = x ]
-then
- echo "install: no input file specified"
- exit 1
-else
- true
-fi
-
-if [ x"$dir_arg" != x ]; then
- dst=$src
- src=""
-
- if [ -d $dst ]; then
- instcmd=:
- chmodcmd=""
- else
- instcmd=mkdir
- fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
-
- if [ -f $src -o -d $src ]
- then
- true
- else
- echo "install: $src does not exist"
- exit 1
- fi
-
- if [ x"$dst" = x ]
- then
- echo "install: no destination specified"
- exit 1
- else
- true
- fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
- if [ -d $dst ]
- then
- dst="$dst"/`basename $src`
- else
- true
- fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-# this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
- pathcomp="${pathcomp}${1}"
+src=
+dst=
+dir_arg=
+dstarg=
+no_target_directory=
+
+usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+ or: $0 [OPTION]... SRCFILES... DIRECTORY
+ or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+ or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+-c (ignored)
+-d create directories instead of installing files.
+-g GROUP $chgrpprog installed files to GROUP.
+-m MODE $chmodprog installed files to MODE.
+-o USER $chownprog installed files to USER.
+-s $stripprog installed files.
+-t DIRECTORY install into DIRECTORY.
+-T report an error if DSTFILE is a directory.
+--help display this help and exit.
+--version display version info and exit.
+
+Environment variables override the default commands:
+ CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
+"
+
+while test -n "$1"; do
+ case $1 in
+ -c) shift
+ continue;;
+
+ -d) dir_arg=true
+ shift
+ continue;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift
+ shift
+ continue;;
+
+ --help) echo "$usage"; exit $?;;
+
+ -m) chmodcmd="$chmodprog $2"
+ shift
+ shift
+ continue;;
+
+ -o) chowncmd="$chownprog $2"
+ shift
+ shift
+ continue;;
+
+ -s) stripcmd=$stripprog
+ shift
+ continue;;
+
+ -t) dstarg=$2
shift
+ shift
+ continue;;
- if [ ! -d "${pathcomp}" ] ;
- then
- $mkdirprog "${pathcomp}"
- else
- true
- fi
-
- pathcomp="${pathcomp}/"
+ -T) no_target_directory=true
+ shift
+ continue;;
+
+ --version) echo "$0 $scriptversion"; exit $?;;
+
+ *) # When -d is used, all remaining arguments are directories to create.
+ # When -t is used, the destination is already specified.
+ test -n "$dir_arg$dstarg" && break
+ # Otherwise, the last argument is the destination. Remove it from $@.
+ for arg
+ do
+ if test -n "$dstarg"; then
+ # $@ is not empty: it contains at least $arg.
+ set fnord "$@" "$dstarg"
+ shift # fnord
+ fi
+ shift # arg
+ dstarg=$arg
+ done
+ break;;
+ esac
done
-fi
-
-if [ x"$dir_arg" != x ]
-then
- $doit $instcmd $dst &&
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
- if [ x"$transformarg" = x ]
- then
- dstfile=`basename $dst`
- else
- dstfile=`basename $dst $transformbasename |
- sed $transformarg`$transformbasename
- fi
-
-# don't allow the sed command to completely eliminate the filename
-
- if [ x"$dstfile" = x ]
- then
- dstfile=`basename $dst`
- else
- true
- fi
-
-# Make a temp file name in the proper directory.
-
- dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
- $doit $instcmd $src $dsttmp &&
-
- trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing. If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
- $doit $rmcmd -f $dstdir/$dstfile &&
- $doit $mvcmd $dsttmp $dstdir/$dstfile
+if test -z "$1"; then
+ if test -z "$dir_arg"; then
+ echo "$0: no input file specified." >&2
+ exit 1
+ fi
+ # It's OK to call `install-sh -d' without argument.
+ # This can happen when creating conditional directories.
+ exit 0
+fi
-fi &&
+for src
+do
+ # Protect names starting with `-'.
+ case $src in
+ -*) src=./$src ;;
+ esac
+
+ if test -n "$dir_arg"; then
+ dst=$src
+ src=
+
+ if test -d "$dst"; then
+ mkdircmd=:
+ chmodcmd=
+ else
+ mkdircmd=$mkdirprog
+ fi
+ else
+ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+ # might cause directories to be created, which would be especially bad
+ # if $src (and thus $dsttmp) contains '*'.
+ if test ! -f "$src" && test ! -d "$src"; then
+ echo "$0: $src does not exist." >&2
+ exit 1
+ fi
+
+ if test -z "$dstarg"; then
+ echo "$0: no destination specified." >&2
+ exit 1
+ fi
+
+ dst=$dstarg
+ # Protect names starting with `-'.
+ case $dst in
+ -*) dst=./$dst ;;
+ esac
+ # If destination is a directory, append the input filename; won't work
+ # if double slashes aren't ignored.
+ if test -d "$dst"; then
+ if test -n "$no_target_directory"; then
+ echo "$0: $dstarg: Is a directory" >&2
+ exit 1
+ fi
+ dst=$dst/`basename "$src"`
+ fi
+ fi
+
+ # This sed command emulates the dirname command.
+ dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
+
+ # Make sure that the destination directory exists.
+
+ # Skip lots of stat calls in the usual case.
+ if test ! -d "$dstdir"; then
+ defaultIFS='
+ '
+ IFS="${IFS-$defaultIFS}"
+
+ oIFS=$IFS
+ # Some sh's can't handle IFS=/ for some reason.
+ IFS='%'
+ set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+ shift
+ IFS=$oIFS
+
+ pathcomp=
+
+ while test $# -ne 0 ; do
+ pathcomp=$pathcomp$1
+ shift
+ if test ! -d "$pathcomp"; then
+ $mkdirprog "$pathcomp"
+ # mkdir can fail with a `File exist' error in case several
+ # install-sh are creating the directory concurrently. This
+ # is OK.
+ test -d "$pathcomp" || exit
+ fi
+ pathcomp=$pathcomp/
+ done
+ fi
+
+ if test -n "$dir_arg"; then
+ $doit $mkdircmd "$dst" \
+ && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
+ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
+ && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
+ && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
+
+ else
+ dstfile=`basename "$dst"`
+
+ # Make a couple of temp file names in the proper directory.
+ dsttmp=$dstdir/_inst.$$_
+ rmtmp=$dstdir/_rm.$$_
+
+ # Trap to clean up those temp files at exit.
+ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+ trap '(exit $?); exit' 1 2 13 15
+
+ # Copy the file name to the temp name.
+ $doit $cpprog "$src" "$dsttmp" &&
+
+ # and set any options; do chmod last to preserve setuid bits.
+ #
+ # If any of these fail, we abort the whole thing. If we want to
+ # ignore errors from any of these, just make sure not to ignore
+ # errors from the above "$doit $cpprog $src $dsttmp" command.
+ #
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
+ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
+ && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
+ && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
+
+ # Now rename the file to the real destination.
+ { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
+ || {
+ # The rename failed, perhaps because mv can't rename something else
+ # to itself, or perhaps because mv is so ancient that it does not
+ # support -f.
+
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ if test -f "$dstdir/$dstfile"; then
+ $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
+ || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
+ || {
+ echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
+ (exit 1); exit 1
+ }
+ else
+ :
+ fi
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
+ }
+ }
+ fi || { (exit 1); exit 1; }
+done
-exit 0
+# The final little trick to "correctly" pass the exit status to the exit trap.
+{
+ (exit 0); exit 0
+}
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/libs/cairomm/ltmain.sh b/libs/cairomm/ltmain.sh
index 8fc56db8fc..2160ef7b98 100644
--- a/libs/cairomm/ltmain.sh
+++ b/libs/cairomm/ltmain.sh
@@ -1,8 +1,8 @@
# ltmain.sh - Provide generalized library-building support services.
# NOTE: Changing this file will not affect anything until you rerun configure.
#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
+# 2007 Free Software Foundation, Inc.
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
# This program is free software; you can redistribute it and/or modify
@@ -43,14 +43,22 @@ EXIT_FAILURE=1
PROGRAM=ltmain.sh
PACKAGE=libtool
-VERSION="1.5.22 Debian 1.5.22-2"
-TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes.
-if test -n "${ZSH_VERSION+set}" ; then
+VERSION="1.5.24 Debian 1.5.24-1ubuntu1"
+TIMESTAMP=" (1.1220.2.456 2007/06/24 02:25:32)"
+
+# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
# Check that we have a working $echo.
if test "X$1" = X--no-reexec; then
@@ -105,12 +113,14 @@ esac
# These must not be set unconditionally because not all systems understand
# e.g. LANG=C (notably SCO).
# We save the old values to restore during execute mode.
-if test "${LC_ALL+set}" = set; then
- save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
-fi
-if test "${LANG+set}" = set; then
- save_LANG="$LANG"; LANG=C; export LANG
-fi
+for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+do
+ eval "if test \"\${$lt_var+set}\" = set; then
+ save_$lt_var=\$$lt_var
+ $lt_var=C
+ export $lt_var
+ fi"
+done
# Make sure IFS has a sensible default
lt_nl='
@@ -136,6 +146,8 @@ duplicate_deps=no
preserve_args=
lo2o="s/\\.lo\$/.${objext}/"
o2lo="s/\\.${objext}\$/.lo/"
+extracted_archives=
+extracted_serial=0
#####################################
# Shell function definitions:
@@ -196,7 +208,13 @@ func_win32_libid ()
if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
$EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
win32_nmres=`eval $NM -f posix -A $1 | \
- $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
+ $SED -n -e '1,100{
+ / I /{
+ s,.*,import,
+ p
+ q
+ }
+ }'`
case $win32_nmres in
import*) win32_libid_type="x86 archive import";;
*) win32_libid_type="x86 archive static";;
@@ -327,7 +345,17 @@ func_extract_archives ()
*) my_xabs=`pwd`"/$my_xlib" ;;
esac
my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
- my_xdir="$my_gentop/$my_xlib"
+ my_xlib_u=$my_xlib
+ while :; do
+ case " $extracted_archives " in
+ *" $my_xlib_u "*)
+ extracted_serial=`expr $extracted_serial + 1`
+ my_xlib_u=lt$extracted_serial-$my_xlib ;;
+ *) break ;;
+ esac
+ done
+ extracted_archives="$extracted_archives $my_xlib_u"
+ my_xdir="$my_gentop/$my_xlib_u"
$show "${rm}r $my_xdir"
$run ${rm}r "$my_xdir"
@@ -454,11 +482,12 @@ do
;;
--version)
- $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
- $echo
- $echo "Copyright (C) 2005 Free Software Foundation, Inc."
- $echo "This is free software; see the source for copying conditions. There is NO"
- $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+ echo "\
+$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP
+
+Copyright (C) 2007 Free Software Foundation, Inc.
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
exit $?
;;
@@ -755,9 +784,10 @@ if test -z "$show_help"; then
*.class) xform=class ;;
*.cpp) xform=cpp ;;
*.cxx) xform=cxx ;;
- *.f90) xform=f90 ;;
+ *.[fF][09]?) xform=[fF][09]. ;;
*.for) xform=for ;;
*.java) xform=java ;;
+ *.obj) xform=obj ;;
esac
libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
@@ -1138,8 +1168,9 @@ EOF
for arg
do
case $arg in
- -all-static | -static)
- if test "X$arg" = "X-all-static"; then
+ -all-static | -static | -static-libtool-libs)
+ case $arg in
+ -all-static)
if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
$echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
fi
@@ -1147,12 +1178,20 @@ EOF
dlopen_self=$dlopen_self_static
fi
prefer_static_libs=yes
- else
+ ;;
+ -static)
if test -z "$pic_flag" && test -n "$link_static_flag"; then
dlopen_self=$dlopen_self_static
fi
prefer_static_libs=built
- fi
+ ;;
+ -static-libtool-libs)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ esac
build_libtool_libs=no
build_old_libs=yes
break
@@ -1600,7 +1639,7 @@ EOF
continue
;;
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
compiler_flags="$compiler_flags $arg"
compile_command="$compile_command $arg"
finalize_command="$finalize_command $arg"
@@ -1620,10 +1659,11 @@ EOF
# -m* pass through architecture-specific compiler args for GCC
# -m*, -t[45]*, -txscale* pass through architecture-specific
# compiler args for GCC
- # -pg pass through profiling flag for GCC
+ # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
+ # -F/path gives path to uninstalled frameworks, gcc on darwin
# @file GCC response files
- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \
- -t[45]*|-txscale*|@*)
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
# Unknown arguments in both finalize_command and compile_command need
# to be aesthetically quoted because they are evaled later.
@@ -1651,9 +1691,9 @@ EOF
-no-install)
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*)
# The PATH hackery in wrapper scripts is required on Windows
- # in order for the loader to find any dlls it needs.
+ # and Darwin in order for the loader to find any dlls it needs.
$echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
$echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
fast_install=no
@@ -1712,7 +1752,7 @@ EOF
continue
;;
- -static)
+ -static | -static-libtool-libs)
# The effects of -static are defined in a previous loop.
# We used to do the same as -all-static on platforms that
# didn't have a PIC flag, but the assumption that the effects
@@ -2097,7 +2137,7 @@ EOF
lib=
found=no
case $deplib in
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
if test "$linkmode,$pass" = "prog,link"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
@@ -2493,7 +2533,9 @@ EOF
if test "$linkmode,$pass" = "prog,link"; then
if test -n "$library_names" &&
- { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
+ { { test "$prefer_static_libs" = no ||
+ test "$prefer_static_libs,$installed" = "built,yes"; } ||
+ test -z "$old_library"; }; then
# We need to hardcode the library path
if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
# Make sure the rpath contains only unique directories.
@@ -3189,7 +3231,7 @@ EOF
# which has an extra 1 added just for fun
#
case $version_type in
- darwin|linux|osf|windows)
+ darwin|linux|osf|windows|none)
current=`expr $number_major + $number_minor`
age="$number_minor"
revision="$number_revision"
@@ -3200,9 +3242,10 @@ EOF
age="0"
;;
irix|nonstopux)
- current=`expr $number_major + $number_minor - 1`
+ current=`expr $number_major + $number_minor`
age="$number_minor"
revision="$number_minor"
+ lt_irix_increment=no
;;
*)
$echo "$modename: unknown library version type \`$version_type'" 1>&2
@@ -3266,7 +3309,8 @@ EOF
versuffix="$major.$age.$revision"
# Darwin ld doesn't like 0 for these options...
minor_current=`expr $current + 1`
- verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+ xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
;;
freebsd-aout)
@@ -3280,8 +3324,11 @@ EOF
;;
irix | nonstopux)
- major=`expr $current - $age + 1`
-
+ if test "X$lt_irix_increment" = "Xno"; then
+ major=`expr $current - $age`
+ else
+ major=`expr $current - $age + 1`
+ fi
case $version_type in
nonstopux) verstring_prefix=nonstopux ;;
*) verstring_prefix=sgi ;;
@@ -3418,11 +3465,11 @@ EOF
fi
# Eliminate all temporary directories.
- for path in $notinst_path; do
- lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
- deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
- dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
- done
+ #for path in $notinst_path; do
+ # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
+ # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
+ # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
+ #done
if test -n "$xrpath"; then
# If the user specified any rpath flags, then add them.
@@ -3523,13 +3570,12 @@ EOF
int main() { return 0; }
EOF
$rm conftest
- $LTCC $LTCFLAGS -o conftest conftest.c $deplibs
- if test "$?" -eq 0 ; then
+ if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
ldd_output=`ldd conftest`
for i in $deplibs; do
name=`expr $i : '-l\(.*\)'`
# If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" -ne "0"; then
+ if test "$name" != "" && test "$name" != "0"; then
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
case " $predeps $postdeps " in
*" $i "*)
@@ -3568,9 +3614,7 @@ EOF
# If $name is empty we are operating on a -L argument.
if test "$name" != "" && test "$name" != "0"; then
$rm conftest
- $LTCC $LTCFLAGS -o conftest conftest.c $i
- # Did it work?
- if test "$?" -eq 0 ; then
+ if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
ldd_output=`ldd conftest`
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
case " $predeps $postdeps " in
@@ -3602,7 +3646,7 @@ EOF
droppeddeps=yes
$echo
$echo "*** Warning! Library $i is needed by this library but I was not able to"
- $echo "*** make it link in! You will probably need to install it or some"
+ $echo "*** make it link in! You will probably need to install it or some"
$echo "*** library that it depends on before this library will be fully"
$echo "*** functional. Installing it before continuing would be even better."
fi
@@ -3888,7 +3932,10 @@ EOF
test -n "$hardcode_libdirs"; then
libdir="$hardcode_libdirs"
if test -n "$hardcode_libdir_flag_spec_ld"; then
- eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
+ case $archive_cmds in
+ *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;;
+ *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;;
+ esac
else
eval dep_rpath=\"$hardcode_libdir_flag_spec\"
fi
@@ -4247,12 +4294,14 @@ EOF
reload_conv_objs=
gentop=
# reload_cmds runs $LD directly, so let us get rid of
- # -Wl from whole_archive_flag_spec
+ # -Wl from whole_archive_flag_spec and hope we can get by with
+ # turning comma into space..
wl=
if test -n "$convenience"; then
if test -n "$whole_archive_flag_spec"; then
- eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
+ eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+ reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
else
gentop="$output_objdir/${obj}x"
generated="$generated $gentop"
@@ -4700,16 +4749,16 @@ static const void *lt_preloaded_setup() {
case $host in
*cygwin* | *mingw* )
if test -f "$output_objdir/${outputname}.def" ; then
- compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
+ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
else
- compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
fi
;;
* )
- compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
;;
esac
;;
@@ -4724,13 +4773,13 @@ static const void *lt_preloaded_setup() {
# really was required.
# Nullify the symbol file.
- compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
+ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
fi
if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
# Replace the output file specification.
- compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP`
link_command="$compile_command$compile_rpath"
# We have no uninstalled library dependencies, so finalize right now.
@@ -4817,7 +4866,7 @@ static const void *lt_preloaded_setup() {
if test "$fast_install" != no; then
link_command="$finalize_var$compile_command$finalize_rpath"
if test "$fast_install" = yes; then
- relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+ relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP`
else
# fast_install is set to needless
relink_command=
@@ -4854,7 +4903,7 @@ static const void *lt_preloaded_setup() {
fi
done
relink_command="(cd `pwd`; $relink_command)"
- relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+ relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
fi
# Quote $echo for shipping.
@@ -5261,6 +5310,20 @@ EOF
Xsed='${SED} -e 1s/^X//'
sed_quote_subst='$sed_quote_subst'
+# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
@@ -5403,7 +5466,7 @@ else
;;
esac
$echo >> $output "\
- \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
+ \$echo \"\$0: cannot exec \$program \$*\"
exit $EXIT_FAILURE
fi
else
@@ -5589,7 +5652,7 @@ fi\
done
# Quote the link command for shipping.
relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
- relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+ relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
if test "$hardcode_automatic" = yes ; then
relink_command=
fi
@@ -5934,9 +5997,9 @@ relink_command=\"$relink_command\""
if test -n "$inst_prefix_dir"; then
# Stick the inst_prefix_dir data into the link command.
- relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+ relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP`
else
- relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
+ relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP`
fi
$echo "$modename: warning: relinking \`$file'" 1>&2
@@ -6145,7 +6208,7 @@ relink_command=\"$relink_command\""
file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
outputname="$tmpdir/$file"
# Replace the output file specification.
- relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+ relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP`
$show "$relink_command"
if $run eval "$relink_command"; then :
@@ -6356,8 +6419,10 @@ relink_command=\"$relink_command\""
if test -f "$dir/$objdir/$dlname"; then
dir="$dir/$objdir"
else
- $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
- exit $EXIT_FAILURE
+ if test ! -f "$dir/$dlname"; then
+ $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
+ exit $EXIT_FAILURE
+ fi
fi
;;
@@ -6421,12 +6486,12 @@ relink_command=\"$relink_command\""
fi
# Restore saved environment variables
- if test "${save_LC_ALL+set}" = set; then
- LC_ALL="$save_LC_ALL"; export LC_ALL
- fi
- if test "${save_LANG+set}" = set; then
- LANG="$save_LANG"; export LANG
- fi
+ for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+ do
+ eval "if test \"\${save_$lt_var+set}\" = set; then
+ $lt_var=\$save_$lt_var; export $lt_var
+ fi"
+ done
# Now prepare to actually exec the command.
exec_cmd="\$cmd$args"
@@ -6783,9 +6848,9 @@ The following components of LINK-COMMAND are treated specially:
-dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
-export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-export-symbols SYMFILE
- try to export only the symbols listed in SYMFILE
+ try to export only the symbols listed in SYMFILE
-export-symbols-regex REGEX
- try to export only the symbols matching REGEX
+ try to export only the symbols matching REGEX
-LLIBDIR search LIBDIR for required installed libraries
-lNAME OUTPUT-FILE requires the installed library libNAME
-module build a library that can dlopened
@@ -6799,9 +6864,11 @@ The following components of LINK-COMMAND are treated specially:
-release RELEASE specify package release information
-rpath LIBDIR the created library will eventually be installed in LIBDIR
-R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
- -static do not do any dynamic linking of libtool libraries
+ -static do not do any dynamic linking of uninstalled libtool libraries
+ -static-libtool-libs
+ do not do any dynamic linking of libtool libraries
-version-info CURRENT[:REVISION[:AGE]]
- specify library version info [each variable defaults to 0]
+ specify library version info [each variable defaults to 0]
All other options (arguments beginning with \`-') are ignored.
diff --git a/libs/cairomm/m4/ax_boost_base.m4 b/libs/cairomm/m4/ax_boost_base.m4
new file mode 100644
index 0000000000..575a51ef6b
--- /dev/null
+++ b/libs/cairomm/m4/ax_boost_base.m4
@@ -0,0 +1,198 @@
+##### http://autoconf-archive.cryp.to/ax_boost_base.html
+#
+# SYNOPSIS
+#
+# AX_BOOST_BASE([MINIMUM-VERSION])
+#
+# DESCRIPTION
+#
+# Test for the Boost C++ libraries of a particular version (or newer)
+#
+# If no path to the installed boost library is given the macro
+# searchs under /usr, /usr/local, and /opt, and evaluates the
+# $BOOST_ROOT environment variable. Further documentation is
+# available at <http://randspringer.de/boost/index.html>.
+#
+# This macro calls:
+#
+# AC_SUBST(BOOST_CPPFLAGS) / AC_SUBST(BOOST_LDFLAGS)
+#
+# And sets:
+#
+# HAVE_BOOST
+#
+# LAST MODIFICATION
+#
+# 2006-12-28
+#
+# COPYLEFT
+#
+# Copyright (c) 2006 Thomas Porschberg <thomas@randspringer.de>
+#
+# Copying and distribution of this file, with or without
+# modification, are permitted in any medium without royalty provided
+# the copyright notice and this notice are preserved.
+
+AC_DEFUN([AX_BOOST_BASE],
+[
+AC_ARG_WITH([boost],
+ AS_HELP_STRING([--with-boost@<:@=DIR@:>@], [use boost (default is No) - it is possible to specify the root directory for boost (optional)]),
+ [
+ if test "$withval" = "no"; then
+ want_boost="no"
+ elif test "$withval" = "yes"; then
+ want_boost="yes"
+ ac_boost_path=""
+ else
+ want_boost="yes"
+ ac_boost_path="$withval"
+ fi
+ ],
+ [want_boost="yes"])
+
+if test "x$want_boost" = "xyes"; then
+ boost_lib_version_req=ifelse([$1], ,1.20.0,$1)
+ boost_lib_version_req_shorten=`expr $boost_lib_version_req : '\([[0-9]]*\.[[0-9]]*\)'`
+ boost_lib_version_req_major=`expr $boost_lib_version_req : '\([[0-9]]*\)'`
+ boost_lib_version_req_minor=`expr $boost_lib_version_req : '[[0-9]]*\.\([[0-9]]*\)'`
+ boost_lib_version_req_sub_minor=`expr $boost_lib_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
+ if test "x$boost_lib_version_req_sub_minor" = "x" ; then
+ boost_lib_version_req_sub_minor="0"
+ fi
+ WANT_BOOST_VERSION=`expr $boost_lib_version_req_major \* 100000 \+ $boost_lib_version_req_minor \* 100 \+ $boost_lib_version_req_sub_minor`
+ AC_MSG_CHECKING(for boostlib >= $boost_lib_version_req)
+ succeeded=no
+
+ dnl first we check the system location for boost libraries
+ dnl this location ist chosen if boost libraries are installed with the --layout=system option
+ dnl or if you install boost with RPM
+ if test "$ac_boost_path" != ""; then
+ BOOST_LDFLAGS="-L$ac_boost_path/lib"
+ BOOST_CPPFLAGS="-I$ac_boost_path/include"
+ else
+ for ac_boost_path_tmp in /usr /usr/local /opt ; do
+ if test -d "$ac_boost_path_tmp/include/boost" && test -r "$ac_boost_path_tmp/include/boost"; then
+ BOOST_LDFLAGS="-L$ac_boost_path_tmp/lib"
+ BOOST_CPPFLAGS="-I$ac_boost_path_tmp/include"
+ break;
+ fi
+ done
+ fi
+
+ CPPFLAGS_SAVED="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+ export CPPFLAGS
+
+ LDFLAGS_SAVED="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
+ export LDFLAGS
+
+ AC_LANG_PUSH(C++)
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ @%:@include <boost/version.hpp>
+ ]], [[
+ #if BOOST_VERSION >= $WANT_BOOST_VERSION
+ // Everything is okay
+ #else
+ # error Boost version is too old
+ #endif
+ ]])],[
+ AC_MSG_RESULT(yes)
+ succeeded=yes
+ found_system=yes
+ ],[
+ ])
+ AC_LANG_POP([C++])
+
+
+
+ dnl if we found no boost with system layout we search for boost libraries
+ dnl built and installed without the --layout=system option or for a staged(not installed) version
+ if test "x$succeeded" != "xyes"; then
+ _version=0
+ if test "$ac_boost_path" != ""; then
+ BOOST_LDFLAGS="-L$ac_boost_path/lib"
+ if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
+ for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
+ _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
+ V_CHECK=`expr $_version_tmp \> $_version`
+ if test "$V_CHECK" = "1" ; then
+ _version=$_version_tmp
+ fi
+ VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
+ BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE"
+ done
+ fi
+ else
+ for ac_boost_path in /usr /usr/local /opt ; do
+ if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
+ for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
+ _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
+ V_CHECK=`expr $_version_tmp \> $_version`
+ if test "$V_CHECK" = "1" ; then
+ _version=$_version_tmp
+ best_path=$ac_boost_path
+ fi
+ done
+ fi
+ done
+
+ VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
+ BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE"
+ BOOST_LDFLAGS="-L$best_path/lib"
+
+ if test "x$BOOST_ROOT" != "x"; then
+ if test -d "$BOOST_ROOT" && test -r "$BOOST_ROOT" && test -d "$BOOST_ROOT/stage/lib" && test -r "$BOOST_ROOT/stage/lib"; then
+ version_dir=`expr //$BOOST_ROOT : '.*/\(.*\)'`
+ stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'`
+ stage_version_shorten=`expr $stage_version : '\([[0-9]]*\.[[0-9]]*\)'`
+ V_CHECK=`expr $stage_version_shorten \>\= $_version`
+ if test "$V_CHECK" = "1" ; then
+ AC_MSG_NOTICE(We will use a staged boost library from $BOOST_ROOT)
+ BOOST_CPPFLAGS="-I$BOOST_ROOT"
+ BOOST_LDFLAGS="-L$BOOST_ROOT/stage/lib"
+ fi
+ fi
+ fi
+ fi
+
+ CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+ export CPPFLAGS
+ LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
+ export LDFLAGS
+
+ AC_LANG_PUSH(C++)
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ @%:@include <boost/version.hpp>
+ ]], [[
+ #if BOOST_VERSION >= $WANT_BOOST_VERSION
+ // Everything is okay
+ #else
+ # error Boost version is too old
+ #endif
+ ]])],[
+ AC_MSG_RESULT(yes)
+ succeeded=yes
+ found_system=yes
+ ],[
+ ])
+ AC_LANG_POP([C++])
+ fi
+
+ if test "$succeeded" != "yes" ; then
+ if test "$_version" = "0" ; then
+ AC_MSG_ERROR([[We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.]])
+ else
+ AC_MSG_NOTICE([Your boost libraries seems to old (version $_version).])
+ fi
+ else
+ AC_SUBST(BOOST_CPPFLAGS)
+ AC_SUBST(BOOST_LDFLAGS)
+ AC_DEFINE(HAVE_BOOST,,[define if the Boost library is available])
+ fi
+
+ CPPFLAGS="$CPPFLAGS_SAVED"
+ LDFLAGS="$LDFLAGS_SAVED"
+fi
+
+])
diff --git a/libs/cairomm/m4/ax_boost_unit_test_framework.m4 b/libs/cairomm/m4/ax_boost_unit_test_framework.m4
new file mode 100644
index 0000000000..11e5d8d5a3
--- /dev/null
+++ b/libs/cairomm/m4/ax_boost_unit_test_framework.m4
@@ -0,0 +1,138 @@
+##### http://autoconf-archive.cryp.to/ax_boost_unit_test_framework.html
+#
+# SYNOPSIS
+#
+# AX_BOOST_UNIT_TEST_FRAMEWORK
+#
+# DESCRIPTION
+#
+# Test for Unit_Test_Framework library from the Boost C++ libraries.
+# The macro requires a preceding call to AX_BOOST_BASE. Further
+# documentation is available at
+# <http://randspringer.de/boost/index.html>.
+#
+# This macro calls:
+#
+# AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB)
+#
+# And sets:
+#
+# HAVE_BOOST_UNIT_TEST_FRAMEWORK
+#
+# LAST MODIFICATION
+#
+# 2006-12-28
+#
+# COPYLEFT
+#
+# Copyright (c) 2006 Thomas Porschberg <thomas@randspringer.de>
+#
+# Copying and distribution of this file, with or without
+# modification, are permitted in any medium without royalty provided
+# the copyright notice and this notice are preserved.
+
+AC_DEFUN([AX_BOOST_UNIT_TEST_FRAMEWORK],
+[
+ AC_ARG_WITH([boost-unit-test-framework],
+ AS_HELP_STRING([--with-boost-unit-test-framework@<:@=special-lib@:>@],
+ [use the Unit_Test_Framework library from boost - it is possible to specify a certain library for the linker
+ e.g. --with-boost-unit-test-framework=boost_unit_test_framework-gcc ]),
+ [
+ if test "$withval" = "no"; then
+ want_boost="no"
+ elif test "$withval" = "yes"; then
+ want_boost="yes"
+ ax_boost_user_unit_test_framework_lib=""
+ else
+ want_boost="yes"
+ ax_boost_user_unit_test_framework_lib="$withval"
+ fi
+ ],
+ [want_boost="yes"]
+ )
+
+ if test "x$want_boost" = "xyes"; then
+ AC_REQUIRE([AC_PROG_CC])
+ CPPFLAGS_SAVED="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+ export CPPFLAGS
+
+ LDFLAGS_SAVED="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
+ export LDFLAGS
+
+ AC_CACHE_CHECK(whether the Boost::Unit_Test_Framework library is available,
+ ax_cv_boost_unit_test_framework,
+ [AC_LANG_PUSH([C++])
+ AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[@%:@include <boost/test/unit_test.hpp>]],
+ [[using boost::unit_test::test_suite;
+ test_suite* test= BOOST_TEST_SUITE( "Unit test example 1" ); return 0;]]),
+ ax_cv_boost_unit_test_framework=yes, ax_cv_boost_unit_test_framework=no)
+ AC_LANG_POP([C++])
+ ])
+ if test "x$ax_cv_boost_unit_test_framework" = "xyes"; then
+ AC_DEFINE(HAVE_BOOST_UNIT_TEST_FRAMEWORK,,[define if the Boost::Unit_Test_Framework library is available])
+ BN=boost_unit_test_framework
+ if test "x$ax_boost_user_unit_test_framework_lib" = "x"; then
+ saved_ldflags="${LDFLAGS}"
+ for ax_lib in $BN $BN-$CC $BN-$CC-mt $BN-$CC-mt-s $BN-$CC-s \
+ lib$BN lib$BN-$CC lib$BN-$CC-mt lib$BN-$CC-mt-s lib$BN-$CC-s \
+ $BN-mgw $BN-mgw $BN-mgw-mt $BN-mgw-mt-s $BN-mgw-s ; do
+ LDFLAGS="${LDFLAGS} -l$ax_lib"
+ AC_CACHE_CHECK(Boost::UnitTestFramework library linkage,
+ ax_cv_boost_unit_test_framework_link,
+ [AC_LANG_PUSH([C++])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/test/unit_test.hpp>
+ using boost::unit_test::test_suite;
+ test_suite* init_unit_test_suite( int argc, char * argv[] ) {
+ test_suite* test= BOOST_TEST_SUITE( "Unit test example 1" );
+ return test;
+ }
+ ]],
+ [[ return 0;]])],
+ link_unit_test_framework="yes",link_unit_test_framework="no")
+ AC_LANG_POP([C++])
+ ])
+ LDFLAGS="${saved_ldflags}"
+
+ if test "x$link_unit_test_framework" = "xyes"; then
+ BOOST_UNIT_TEST_FRAMEWORK_LIB="-l$ax_lib"
+ AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB)
+ break
+ fi
+ done
+ else
+ saved_ldflags="${LDFLAGS}"
+ for ax_lib in $ax_boost_user_unit_test_framework_lib $BN-$ax_boost_user_unit_test_framework_lib; do
+ LDFLAGS="${LDFLAGS} -l$ax_lib"
+ AC_CACHE_CHECK(Boost::UnitTestFramework library linkage,
+ ax_cv_boost_unit_test_framework_link,
+ [AC_LANG_PUSH([C++])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/test/unit_test.hpp>
+ using boost::unit_test::test_suite;
+ test_suite* init_unit_test_suite( int argc, char * argv[] ) {
+ test_suite* test= BOOST_TEST_SUITE( "Unit test example 1" );
+ return test;
+ }
+ ]],
+ [[ return 0;]])],
+ link_unit_test_framework="yes",link_unit_test_framework="no")
+ AC_LANG_POP([C++])
+ ])
+ LDFLAGS="${saved_ldflags}"
+ if test "x$link_unit_test_framework" = "xyes"; then
+ BOOST_UNIT_TEST_FRAMEWORK_LIB="-l$ax_lib"
+ AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB)
+ break
+ fi
+ done
+ fi
+ if test "x$link_unit_test_framework" = "xno"; then
+ AC_MSG_ERROR(Could not link against $ax_lib !)
+ fi
+ fi
+
+ CPPFLAGS="$CPPFLAGS_SAVED"
+ LDFLAGS="$LDFLAGS_SAVED"
+ fi
+])
diff --git a/libs/cairomm/m4/reduced.m4 b/libs/cairomm/m4/reduced.m4
new file mode 100644
index 0000000000..5a941fc148
--- /dev/null
+++ b/libs/cairomm/m4/reduced.m4
@@ -0,0 +1,20 @@
+## CAIROMM_ARG_ENABLE_API_EXCEPTIONS()
+##
+## Provide the --enable-api-exceptions configure argument, enabled
+## by default.
+##
+AC_DEFUN([CAIROMM_ARG_ENABLE_API_EXCEPTIONS],
+[
+ AC_ARG_ENABLE([api-exceptions],
+ [ --enable-api-exceptions Build exceptions API.
+ [[default=yes]]],
+ [cairomm_enable_api_exceptions="$enableval"],
+ [cairomm_enable_api_exceptions='yes'])
+
+ if test "x$cairomm_enable_api_exceptions" = "xyes"; then
+ {
+ AC_DEFINE([CAIROMM_EXCEPTIONS_ENABLED],[1], [Defined when the --enable-api-exceptions configure argument was given])
+ }
+ fi
+])
+
diff --git a/libs/cairomm/missing b/libs/cairomm/missing
index 22e101ab1b..894e786e16 100644..100755
--- a/libs/cairomm/missing
+++ b/libs/cairomm/missing
@@ -1,7 +1,11 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-# Copyright (C) 1996, 1997, 2001, 2002 Free Software Foundation, Inc.
-# Franc,ois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+scriptversion=2005-06-08.21
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,23 +19,47 @@
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
fi
+run=:
+
# In the cases where this matters, `missing' is being run in the
# srcdir already.
-if test -f configure.in; then
+if test -f configure.ac; then
configure_ac=configure.ac
else
configure_ac=configure.in
fi
+msg="missing on your system"
+
case "$1" in
+--run)
+ # Try to run requested program, and just exit if it succeeds.
+ run=
+ shift
+ "$@" && exit 0
+ # Exit code 63 means version mismatch. This often happens
+ # when the user try to use an ancient version of a tool on
+ # a file that requires a minimum version. In this case we
+ # we should proceed has if the program had been absent, or
+ # if --run hadn't been passed.
+ if test $? = 63; then
+ run=:
+ msg="probably too old"
+ fi
+ ;;
-h|--h|--he|--hel|--help)
echo "\
@@ -43,6 +71,7 @@ error status if there is no known handling for PROGRAM.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
+ --run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
aclocal touch file \`aclocal.m4'
@@ -51,13 +80,19 @@ Supported PROGRAM values:
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
+ help2man touch the output file
lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file
- yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
+ tar try tar, gnutar, gtar, then tar without non-portable flags
+ yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Send bug reports to <bug-automake@gnu.org>."
+ exit $?
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
- echo "missing - GNU libit 0.0"
+ echo "missing $scriptversion (GNU Automake)"
+ exit $?
;;
-*)
@@ -66,10 +101,45 @@ Supported PROGRAM values:
exit 1
;;
+esac
+
+# Now exit if we have it, but it failed. Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).
+case "$1" in
+ lex|yacc)
+ # Not GNU programs, they don't have --version.
+ ;;
+
+ tar)
+ if test -n "$run"; then
+ echo 1>&2 "ERROR: \`tar' requires --run"
+ exit 1
+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+ exit 1
+ fi
+ ;;
+
+ *)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+ # Could not run --version or --help. This is probably someone
+ # running `$TOOL --version' or `$TOOL --help' to check whether
+ # $TOOL exists and not knowing $TOOL uses missing.
+ exit 1
+ fi
+ ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case "$1" in
aclocal*)
echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`acinclude.m4' or \`$configure_ac'. You might want
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`acinclude.m4' or \`${configure_ac}'. You might want
to install the \`Automake' and \`Perl' packages. Grab them from
any GNU archive site."
touch aclocal.m4
@@ -77,8 +147,8 @@ WARNING: \`$1' is missing on your system. You should only need it if
autoconf)
echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`$configure_ac'. You might want to install the
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`${configure_ac}'. You might want to install the
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
archive site."
touch configure
@@ -86,11 +156,11 @@ WARNING: \`$1' is missing on your system. You should only need it if
autoheader)
echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`acconfig.h' or \`$configure_ac'. You might want
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`acconfig.h' or \`${configure_ac}'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site."
- files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' $configure_ac`
+ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
@@ -105,8 +175,8 @@ WARNING: \`$1' is missing on your system. You should only need it if
automake*)
echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`Makefile.am', \`acinclude.m4' or \`$configure_ac'.
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site."
find . -type f -name Makefile.am -print |
@@ -114,9 +184,32 @@ WARNING: \`$1' is missing on your system. You should only need it if
while read f; do touch "$f"; done
;;
+ autom4te)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+ You might have modified some files without having the
+ proper tools for further handling them.
+ You can get \`$1' as part of \`Autoconf' from any GNU
+ archive site."
+
+ file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
+ test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+ if test -f "$file"; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo "#! /bin/sh"
+ echo "# Created by GNU Automake missing as a replacement of"
+ echo "# $ $@"
+ echo "exit 0"
+ chmod +x $file
+ exit 1
+ fi
+ ;;
+
bison|yacc)
echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
+WARNING: \`$1' $msg. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
@@ -146,7 +239,7 @@ WARNING: \`$1' is missing on your system. You should only need it if
lex|flex)
echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
+WARNING: \`$1' is $msg. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
@@ -167,28 +260,90 @@ WARNING: \`$1' is missing on your system. You should only need it if
fi
;;
+ help2man)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a dependency of a manual page. You may need the
+ \`Help2man' package in order for those modifications to take
+ effect. You can get \`Help2man' from any GNU archive site."
+
+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ if test -z "$file"; then
+ file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
+ fi
+ if [ -f "$file" ]; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo ".ab help2man is required to generate this page"
+ exit 1
+ fi
+ ;;
+
makeinfo)
echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
+WARNING: \`$1' is $msg. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy \`make' (AIX,
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
+ # The file to touch is that specified with -o ...
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
- file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
+ # ... or it is the one specified with @setfilename ...
+ infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+ file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
+ # ... or it is derived from the source name (dir/f.texi becomes f.info)
+ test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
fi
+ # If the file does not exist, the user really needs makeinfo;
+ # let's fail without touching anything.
+ test -f $file || exit 1
touch $file
;;
+ tar)
+ shift
+
+ # We have already tried tar in the generic part.
+ # Look for gnutar/gtar before invocation to avoid ugly error
+ # messages.
+ if (gnutar --version > /dev/null 2>&1); then
+ gnutar "$@" && exit 0
+ fi
+ if (gtar --version > /dev/null 2>&1); then
+ gtar "$@" && exit 0
+ fi
+ firstarg="$1"
+ if shift; then
+ case "$firstarg" in
+ *o*)
+ firstarg=`echo "$firstarg" | sed s/o//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ case "$firstarg" in
+ *h*)
+ firstarg=`echo "$firstarg" | sed s/h//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ fi
+
+ echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+ You may want to install GNU tar or Free paxutils, or check the
+ command line arguments."
+ exit 1
+ ;;
+
*)
echo 1>&2 "\
-WARNING: \`$1' is needed, and you do not seem to have it handy on your
- system. You might have modified some files without having the
+WARNING: \`$1' is needed, and is $msg.
+ You might have modified some files without having the
proper tools for further handling them. Check the \`README' file,
- it often tells you about the needed prerequirements for installing
+ it often tells you about the needed prerequisites for installing
this package. You may also peek at any GNU archive site, in case
some other package would contain this missing \`$1' program."
exit 1
@@ -196,3 +351,10 @@ WARNING: \`$1' is needed, and you do not seem to have it handy on your
esac
exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/libs/cairomm/mkinstalldirs b/libs/cairomm/mkinstalldirs
deleted file mode 100644
index 4f58503ea4..0000000000
--- a/libs/cairomm/mkinstalldirs
+++ /dev/null
@@ -1,40 +0,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman <friedman@prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain
-
-# $Id: mkinstalldirs,v 1.13 1999/01/05 03:18:55 bje Exp $
-
-errstatus=0
-
-for file
-do
- set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
- shift
-
- pathcomp=
- for d
- do
- pathcomp="$pathcomp$d"
- case "$pathcomp" in
- -* ) pathcomp=./$pathcomp ;;
- esac
-
- if test ! -d "$pathcomp"; then
- echo "mkdir $pathcomp"
-
- mkdir "$pathcomp" || lasterr=$?
-
- if test ! -d "$pathcomp"; then
- errstatus=$lasterr
- fi
- fi
-
- pathcomp="$pathcomp/"
- done
-done
-
-exit $errstatus
-
-# mkinstalldirs ends here
diff --git a/libs/cairomm/tests/Makefile.am b/libs/cairomm/tests/Makefile.am
new file mode 100644
index 0000000000..366ccfee51
--- /dev/null
+++ b/libs/cairomm/tests/Makefile.am
@@ -0,0 +1,19 @@
+if AUTOTESTS
+
+# build automated 'tests'
+noinst_PROGRAMS = test-context
+test_context_SOURCES=test-context.cc
+TESTS=test-context
+
+else
+
+#don't build anything
+TESTS=
+
+endif
+
+#Where to find the header files needed by the source files:
+INCLUDES = -I$(top_srcdir) @CAIROMM_CFLAGS@
+
+#The libraries that the executable needs to link against:
+LIBS = $(top_builddir)/cairomm/libcairomm-1.0.la @LIBS@ @CAIROMM_LIBS@ @BOOST_UNIT_TEST_FRAMEWORK_LIB@
diff --git a/libs/glibmm2/examples/child_watch/Makefile.in b/libs/cairomm/tests/Makefile.in
index 234736252f..0d386a5960 100644
--- a/libs/glibmm2/examples/child_watch/Makefile.in
+++ b/libs/cairomm/tests/Makefile.in
@@ -20,7 +20,7 @@ VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
+top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
@@ -36,30 +36,25 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/examples/Makefile.am_fragment
-@OS_WIN32_FALSE@noinst_PROGRAMS = child_watch$(EXEEXT)
-subdir = examples/child_watch
+@AUTOTESTS_TRUE@noinst_PROGRAMS = test-context$(EXEEXT)
+subdir = tests
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
+ $(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
+ $(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
+CONFIG_HEADER = $(top_builddir)/cairomm/cairommconfig.h
CONFIG_CLEAN_FILES =
PROGRAMS = $(noinst_PROGRAMS)
-am__child_watch_SOURCES_DIST = main.cc
-@OS_WIN32_FALSE@am_child_watch_OBJECTS = main.$(OBJEXT)
-child_watch_OBJECTS = $(am_child_watch_OBJECTS)
-child_watch_LDADD = $(LDADD)
-depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
+am__test_context_SOURCES_DIST = test-context.cc
+@AUTOTESTS_TRUE@am_test_context_OBJECTS = test-context.$(OBJEXT)
+test_context_OBJECTS = $(am_test_context_OBJECTS)
+test_context_LDADD = $(LDADD)
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/cairomm
+depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
@@ -69,8 +64,8 @@ LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(child_watch_SOURCES)
-DIST_SOURCES = $(am__child_watch_SOURCES_DIST)
+SOURCES = $(test_context_SOURCES)
+DIST_SOURCES = $(am__test_context_SOURCES_DIST)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -83,7 +78,14 @@ AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
+AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
+AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
AWK = @AWK@
+BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
+BOOST_LDFLAGS = @BOOST_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
+CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
+CAIROMM_LIBS = @CAIROMM_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -96,9 +98,10 @@ CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
-DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
@@ -107,34 +110,24 @@ EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
-GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
-GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
-GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
+GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
+GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
+GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
+GENERIC_VERSION = @GENERIC_VERSION@
+GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
LIBOBJS = @LIBOBJS@
-LIBS = $(local_glibmm_lib) $(GLIBMM_LIBS)
+
+#The libraries that the executable needs to link against:
+LIBS = $(top_builddir)/cairomm/libcairomm-1.0.la @LIBS@ @CAIROMM_LIBS@ @BOOST_UNIT_TEST_FRAMEWORK_LIB@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
-M4 = @M4@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
@@ -147,25 +140,18 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@@ -182,40 +168,47 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
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@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-local_glibmm_lib = $(top_builddir)/glib/glibmm/libglibmm-2.4.la
-all_includes = -I$(top_builddir)/glib -I$(top_srcdir)/glib \
- $(GLIBMM_CFLAGS) $(DISABLE_DEPRECATED_CFLAGS) $(DISABLE_DEPRECATED_API_CFLAGS)
-
-DEFAULT_INCLUDES =
-INCLUDES = -I. -I$(srcdir) $(strip $(all_includes))
-glibmm_docdir = $(datadir)/doc/glibmm-2.4
-@OS_WIN32_FALSE@child_watch_SOURCES = main.cc
+@AUTOTESTS_TRUE@test_context_SOURCES = test-context.cc
+
+#don't build anything
+@AUTOTESTS_FALSE@TESTS =
+@AUTOTESTS_TRUE@TESTS = test-context
+
+#Where to find the header files needed by the source files:
+INCLUDES = -I$(top_srcdir) @CAIROMM_CFLAGS@
all: all-am
.SUFFIXES:
.SUFFIXES: .cc .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/Makefile.am_fragment $(am__configure_deps)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -224,9 +217,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/child_watch/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \
cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/child_watch/Makefile
+ $(AUTOMAKE) --gnu tests/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -240,9 +233,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(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)
+$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
clean-noinstPROGRAMS:
@@ -251,9 +244,9 @@ clean-noinstPROGRAMS:
echo " rm -f $$p $$f"; \
rm -f $$p $$f ; \
done
-child_watch$(EXEEXT): $(child_watch_OBJECTS) $(child_watch_DEPENDENCIES)
- @rm -f child_watch$(EXEEXT)
- $(CXXLINK) $(child_watch_LDFLAGS) $(child_watch_OBJECTS) $(child_watch_LDADD) $(LIBS)
+test-context$(EXEEXT): $(test_context_OBJECTS) $(test_context_DEPENDENCIES)
+ @rm -f test-context$(EXEEXT)
+ $(CXXLINK) $(test_context_LDFLAGS) $(test_context_OBJECTS) $(test_context_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -261,7 +254,7 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-context.Po@am__quote@
.cc.o:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@@ -342,8 +335,80 @@ GTAGS:
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list='$(TESTS)'; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *" $$tst "*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *" $$tst "*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ echo "SKIP: $$tst"; \
+ fi; \
+ done; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="All $$all tests passed"; \
+ else \
+ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all tests failed"; \
+ else \
+ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ skipped="($$skip tests were not run)"; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/../../examples
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
@@ -371,6 +436,7 @@ distdir: $(DISTFILES)
fi; \
done
check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: check-am
all-am: Makefile $(PROGRAMS)
installdirs:
@@ -419,7 +485,7 @@ info: info-am
info-am:
-install-data-am: install-data-local
+install-data-am:
install-exec-am:
@@ -447,47 +513,20 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am uninstall-local
+uninstall-am: uninstall-info-am
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile 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-data-local install-exec install-exec-am install-info \
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-generic clean-libtool clean-noinstPROGRAMS ctags \
+ distclean distclean-compile 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-exec install-exec-am install-info \
install-info-am install-man install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am uninstall-local
-
-
-install-example-src:
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(glibmm_docdir)/$(subdir)
- for p in $(srcdir)/*.cc $(srcdir)/*.h; do \
- if test -f $$p; then \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(INSTALL_DATA) $$p $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f"; \
- $(INSTALL_DATA) $$p $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f; \
- fi; \
- done
-
-uninstall-example-src:
- @$(NORMAL_UNINSTALL)
- for p in $(srcdir)/*.cc $(srcdir)/*.h; do \
- if test -f $$p; then \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " rm -f $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f"; \
- rm -f $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f; \
- fi; \
- done
-
-install-data-local: install-example-src
-
-uninstall-local: uninstall-example-src
+ tags uninstall uninstall-am uninstall-info-am
-.PHONY: install-example-src uninstall-example-src
# 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:
diff --git a/libs/cairomm/tests/test-context.cc b/libs/cairomm/tests/test-context.cc
new file mode 100644
index 0000000000..9cfaec2f01
--- /dev/null
+++ b/libs/cairomm/tests/test-context.cc
@@ -0,0 +1,349 @@
+// vim: ts=2 sw=2 et
+/*
+ * These tests are of limited usefulness. In fact, you might even say that
+ * they're not really tests at all. But I felt that it would be useful to have
+ * some basic usage of most functions just to verify that things compile and
+ * work generally
+ */
+
+#include <cfloat>
+#include <boost/test/unit_test.hpp>
+#include <boost/test/test_tools.hpp>
+#include <boost/test/floating_point_comparison.hpp>
+using namespace boost::unit_test;
+#include <cairomm/context.h>
+
+#define CREATE_CONTEXT(varname) \
+ Cairo::RefPtr<Cairo::Surface> surf = Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, 10, 10); \
+ Cairo::RefPtr<Cairo::Context> cr = Cairo::Context::create(surf);
+
+void
+test_dashes ()
+{
+ CREATE_CONTEXT(cr);
+ std::valarray<double> dash_array(4);
+ dash_array[0] = 0.1;
+ dash_array[1] = 0.2;
+ dash_array[2] = 0.04;
+ dash_array[3] = 0.31;
+ cr->set_dash(dash_array, 0.54);
+
+ std::vector<double> get_array;
+ double get_offset;
+ cr->get_dash (get_array, get_offset);
+ BOOST_CHECK_EQUAL (dash_array[0], get_array[0]);
+ BOOST_CHECK_EQUAL (dash_array[1], get_array[1]);
+ BOOST_CHECK_EQUAL (dash_array[2], get_array[2]);
+ BOOST_CHECK_EQUAL (dash_array[3], get_array[3]);
+ BOOST_CHECK_EQUAL (0.54, get_offset);
+
+ std::vector<double> dash_vect(4);
+ dash_vect[0] = 0.5;
+ dash_vect[1] = 0.25;
+ dash_vect[2] = 0.93;
+ dash_vect[3] = 1.31;
+ cr->set_dash(dash_vect, 0.4);
+
+ cr->get_dash (get_array, get_offset);
+ BOOST_CHECK_EQUAL (dash_vect[0], get_array[0]);
+ BOOST_CHECK_EQUAL (dash_vect[1], get_array[1]);
+ BOOST_CHECK_EQUAL (dash_vect[2], get_array[2]);
+ BOOST_CHECK_EQUAL (dash_vect[3], get_array[3]);
+ BOOST_CHECK_EQUAL (0.4, get_offset);
+
+ cr->unset_dash ();
+ cr->get_dash (get_array, get_offset);
+ BOOST_CHECK (get_array.empty ());
+}
+
+void
+test_save_restore ()
+{
+ CREATE_CONTEXT(cr);
+ cr->set_line_width (2.3);
+ cr->save ();
+ cr->set_line_width (4.0);
+ BOOST_CHECK_EQUAL (4.0, cr->get_line_width ());
+ cr->restore ();
+ BOOST_CHECK_EQUAL (2.3, cr->get_line_width ());
+}
+
+void
+test_operator ()
+{
+ CREATE_CONTEXT(cr);
+ cr->set_operator (Cairo::OPERATOR_ATOP);
+ BOOST_CHECK_EQUAL (Cairo::OPERATOR_ATOP, cr->get_operator ());
+ cr->set_operator (Cairo::OPERATOR_CLEAR);
+ BOOST_CHECK_EQUAL (Cairo::OPERATOR_CLEAR, cr->get_operator ());
+}
+
+void
+test_source ()
+{
+ CREATE_CONTEXT(cr);
+ Cairo::RefPtr<Cairo::Pattern> solid_pattern =
+ Cairo::SolidPattern::create_rgb (1.0, 0.5, 0.25);
+ Cairo::RefPtr<Cairo::Pattern> gradient_pattern =
+ Cairo::LinearGradient::create (0.0, 0.0, 1.0, 1.0);
+
+ cr->set_source (solid_pattern);
+ {
+ Cairo::RefPtr<Cairo::SolidPattern> retrieved_solid =
+ Cairo::RefPtr<Cairo::SolidPattern>::cast_dynamic(cr->get_source ());
+ BOOST_REQUIRE (retrieved_solid);
+ double r, g, b, a;
+ retrieved_solid->get_rgba (r, g, b, a);
+ BOOST_CHECK_EQUAL (1.0, r);
+ BOOST_CHECK_EQUAL (0.5, g);
+ BOOST_CHECK_EQUAL (0.25, b);
+
+ // now try for const objects..
+ Cairo::RefPtr<const Cairo::Context> cr2 = cr;
+ Cairo::RefPtr<const Cairo::SolidPattern> retrieved_solid2 =
+ Cairo::RefPtr<const Cairo::SolidPattern>::cast_dynamic(cr2->get_source ());
+ BOOST_REQUIRE (retrieved_solid2);
+ }
+
+ cr->set_source (gradient_pattern);
+ {
+ Cairo::RefPtr<Cairo::LinearGradient> retrieved_linear =
+ Cairo::RefPtr<Cairo::LinearGradient>::cast_dynamic(cr->get_source ());
+ BOOST_REQUIRE (retrieved_linear);
+ double x0, x1, y0, y1;
+ retrieved_linear->get_linear_points (x0, y0, x1, y1);
+ BOOST_CHECK_EQUAL (0.0, x0);
+ BOOST_CHECK_EQUAL (0.0, y0);
+ BOOST_CHECK_EQUAL (1.0, x1);
+ BOOST_CHECK_EQUAL (1.0, y1);
+ }
+
+ cr->set_source_rgb (1.0, 0.5, 0.25);
+ {
+ Cairo::RefPtr<Cairo::SolidPattern> solid =
+ Cairo::RefPtr<Cairo::SolidPattern>::cast_dynamic(cr->get_source ());
+ BOOST_REQUIRE (solid);
+ double rx, gx, bx, ax;
+ solid->get_rgba (rx, gx, bx, ax);
+ BOOST_CHECK_EQUAL (1.0, rx);
+ BOOST_CHECK_EQUAL (0.5, gx);
+ BOOST_CHECK_EQUAL (0.25, bx);
+ }
+ cr->set_source_rgba (0.1, 0.3, 0.5, 0.7);
+ {
+ Cairo::RefPtr<Cairo::SolidPattern> solid =
+ Cairo::RefPtr<Cairo::SolidPattern>::cast_dynamic(cr->get_source ());
+ BOOST_REQUIRE (solid);
+ double rx, gx, bx, ax;
+ solid->get_rgba (rx, gx, bx, ax);
+ BOOST_CHECK_EQUAL (0.1, rx);
+ BOOST_CHECK_EQUAL (0.3, gx);
+ BOOST_CHECK_EQUAL (0.5, bx);
+ BOOST_CHECK_EQUAL (0.7, ax);
+ }
+}
+
+void
+test_tolerance ()
+{
+ CREATE_CONTEXT(cr);
+ cr->set_tolerance (3.0);
+ BOOST_CHECK_EQUAL (3.0, cr->get_tolerance ());
+}
+
+void
+test_antialias ()
+{
+ CREATE_CONTEXT(cr);
+ cr->set_antialias (Cairo::ANTIALIAS_GRAY);
+ BOOST_CHECK_EQUAL (Cairo::ANTIALIAS_GRAY, cr->get_antialias ());
+
+ cr->set_antialias (Cairo::ANTIALIAS_SUBPIXEL);
+ BOOST_CHECK_EQUAL (Cairo::ANTIALIAS_SUBPIXEL, cr->get_antialias ());
+}
+
+void
+test_fill_rule ()
+{
+ CREATE_CONTEXT(cr);
+ cr->set_fill_rule (Cairo::FILL_RULE_EVEN_ODD);
+ BOOST_CHECK_EQUAL (Cairo::FILL_RULE_EVEN_ODD, cr->get_fill_rule ());
+ cr->set_fill_rule (Cairo::FILL_RULE_WINDING);
+ BOOST_CHECK_EQUAL (Cairo::FILL_RULE_WINDING, cr->get_fill_rule ());
+}
+
+void
+test_line_width ()
+{
+ CREATE_CONTEXT(cr);
+ cr->set_line_width (1.0);
+ BOOST_CHECK_EQUAL (1.0, cr->get_line_width ());
+ cr->set_line_width (4.0);
+ BOOST_CHECK_EQUAL (4.0, cr->get_line_width ());
+}
+
+void
+test_line_cap ()
+{
+ CREATE_CONTEXT(cr);
+ cr->set_line_cap (Cairo::LINE_CAP_BUTT);
+ BOOST_CHECK_EQUAL (Cairo::LINE_CAP_BUTT, cr->get_line_cap ());
+ cr->set_line_cap (Cairo::LINE_CAP_ROUND);
+ BOOST_CHECK_EQUAL (Cairo::LINE_CAP_ROUND, cr->get_line_cap ());
+}
+
+void
+test_line_join ()
+{
+ CREATE_CONTEXT(cr);
+ cr->set_line_join (Cairo::LINE_JOIN_BEVEL);
+ BOOST_CHECK_EQUAL (Cairo::LINE_JOIN_BEVEL, cr->get_line_join ());
+ cr->set_line_join (Cairo::LINE_JOIN_MITER);
+ BOOST_CHECK_EQUAL (Cairo::LINE_JOIN_MITER, cr->get_line_join ());
+}
+
+void
+test_miter_limit ()
+{
+ CREATE_CONTEXT (cr);
+ cr->set_miter_limit (1.3);
+ BOOST_CHECK_EQUAL (1.3, cr->get_miter_limit ());
+ cr->set_miter_limit (4.12);
+ BOOST_CHECK_EQUAL (4.12, cr->get_miter_limit ());
+}
+
+void
+test_matrix ()
+{
+ // just excercise the functionality
+ CREATE_CONTEXT (cr);
+ Cairo::Matrix matrix;
+ cairo_matrix_init (&matrix, 1.0, 0.1, 0.1, 1.0, 1.5, 1.5);
+ cr->transform(matrix);
+ cairo_matrix_init (&matrix, 1.0, -0.1, -0.1, 1.0, 1.5, 1.5);
+ cr->set_matrix(matrix);
+ cr->set_identity_matrix ();
+ cr->get_matrix (matrix);
+}
+
+void
+test_user_device ()
+{
+ // scale / transform a context, and then verify that user-to-device and
+ // device-to-user things work.
+ CREATE_CONTEXT (cr);
+ cr->scale (2.3, 2.3);
+ double x = 1.8, y = 1.8;
+ cr->user_to_device (x, y);
+ // x = (0.0 + x) * 2.3 => 1.8 * 2.3 = 5.29
+ BOOST_CHECK_EQUAL (4.14, x);
+ BOOST_CHECK_EQUAL (4.14, y);
+ cr->device_to_user (x, y);
+ BOOST_CHECK_EQUAL (1.8, x);
+ BOOST_CHECK_EQUAL (1.8, y);
+ cr->translate (0.5, 0.5);
+ cr->user_to_device (x, y);
+ // x = (0.5 + x) * 2.3 => 2.3 * 2.3 = 5.29
+ BOOST_CHECK_CLOSE (5.29, x, FLT_EPSILON);
+ BOOST_CHECK_CLOSE (5.29, y, FLT_EPSILON);
+}
+
+void
+test_draw ()
+{
+ CREATE_CONTEXT (cr);
+ // just call a bunch of drawing functions to excercise them a bit. There's no
+ // rhyme or reason to this, don't expect it to draw anything interesting.
+ cr->begin_new_path ();
+ cr->move_to (1.0, 1.0);
+ cr->line_to (2.0, 2.0);
+ cr->curve_to (0.5, 0.5, 0.5, 0.5, 1.0, 1.0);
+ cr->arc (1.5, 0.5, 0.5, 0, 2 * M_PI);
+ cr->stroke ();
+ cr->arc_negative (1.5, 0.5, 0.5, 0, 2 * M_PI);
+ cr->rel_move_to (0.1, 0.1);
+ cr->rel_line_to (0.5, -0.5);
+ cr->rel_curve_to (0.5, 0.5, 0.5, 0.5, 1.0, 1.0);
+ cr->rectangle (0.0, 0.0, 1.0, 1.0);
+ cr->close_path ();
+ cr->paint ();
+}
+
+void
+test_clip ()
+{
+ CREATE_CONTEXT (cr);
+ cr->rectangle (0.0, 0.0, 1.0, 1.0);
+ cr->clip ();
+ double x1, y1, x2, y2;
+ cr->get_clip_extents (x1, y1, x2, y2);
+ BOOST_CHECK (x1 == 0.0);
+ BOOST_CHECK (y1 == 0.0);
+ BOOST_CHECK (x2 == 1.0);
+ BOOST_CHECK (y2 == 1.0);
+}
+
+void
+test_current_point ()
+{
+ CREATE_CONTEXT (cr);
+ cr->move_to (2.0, 3.0);
+ double x, y;
+ cr->get_current_point (x, y);
+ BOOST_CHECK (x == 2.0);
+ BOOST_CHECK (y == 3.0);
+}
+
+void
+test_target ()
+{
+ Cairo::RefPtr<Cairo::Surface> surf = Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, 10, 10); \
+ Cairo::RefPtr<Cairo::Context> cr = Cairo::Context::create(surf);
+
+ Cairo::RefPtr<Cairo::ImageSurface> target_surface =
+ Cairo::RefPtr<Cairo::ImageSurface>::cast_dynamic(cr->get_target ());
+ Cairo::RefPtr<Cairo::PdfSurface> bad_surface =
+ Cairo::RefPtr<Cairo::PdfSurface>::cast_dynamic(cr->get_target ());
+ BOOST_CHECK (target_surface);
+ BOOST_CHECK (!bad_surface);
+
+ // now check for const objects...
+ Cairo::RefPtr<const Cairo::Context> cr2 = Cairo::Context::create(surf);
+
+ Cairo::RefPtr<const Cairo::ImageSurface> target_surface2 =
+ Cairo::RefPtr<const Cairo::ImageSurface>::cast_dynamic(cr2->get_target ());
+ Cairo::RefPtr<const Cairo::PdfSurface> bad_surface2 =
+ Cairo::RefPtr<const Cairo::PdfSurface>::cast_dynamic(cr2->get_target ());
+ BOOST_CHECK (target_surface2);
+ BOOST_CHECK (!bad_surface2);
+
+}
+
+test_suite*
+init_unit_test_suite(int argc, char* argv[])
+{
+ // compile even with -Werror
+ if (argc && argv) {}
+
+ test_suite* test= BOOST_TEST_SUITE( "Cairo::Context Tests" );
+
+ test->add (BOOST_TEST_CASE (&test_dashes));
+ test->add (BOOST_TEST_CASE (&test_save_restore));
+ test->add (BOOST_TEST_CASE (&test_operator));
+ test->add (BOOST_TEST_CASE (&test_source));
+ test->add (BOOST_TEST_CASE (&test_tolerance));
+ test->add (BOOST_TEST_CASE (&test_antialias));
+ test->add (BOOST_TEST_CASE (&test_fill_rule));
+ test->add (BOOST_TEST_CASE (&test_line_width));
+ test->add (BOOST_TEST_CASE (&test_line_cap));
+ test->add (BOOST_TEST_CASE (&test_line_join));
+ test->add (BOOST_TEST_CASE (&test_miter_limit));
+ test->add (BOOST_TEST_CASE (&test_matrix));
+ test->add (BOOST_TEST_CASE (&test_user_device));
+ test->add (BOOST_TEST_CASE (&test_draw));
+ test->add (BOOST_TEST_CASE (&test_clip));
+ test->add (BOOST_TEST_CASE (&test_current_point));
+ test->add (BOOST_TEST_CASE (&test_target));
+
+ return test;
+}
diff --git a/libs/flowcanvas/AUTHORS b/libs/flowcanvas/AUTHORS
deleted file mode 100644
index d4d803bdf4..0000000000
--- a/libs/flowcanvas/AUTHORS
+++ /dev/null
@@ -1,4 +0,0 @@
-Author:
-
-Dave Robillard <drobilla@connect.carleton.ca>
-
diff --git a/libs/flowcanvas/ChangeLog b/libs/flowcanvas/ChangeLog
deleted file mode 100644
index c37c459862..0000000000
--- a/libs/flowcanvas/ChangeLog
+++ /dev/null
@@ -1 +0,0 @@
-Changes? What changes?
diff --git a/libs/flowcanvas/Doxyfile b/libs/flowcanvas/Doxyfile
deleted file mode 100644
index 1e6b267b9b..0000000000
--- a/libs/flowcanvas/Doxyfile
+++ /dev/null
@@ -1,1153 +0,0 @@
-# Doxyfile 1.3.8
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-# TAG = value [value, ...]
-# For lists items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
-
-PROJECT_NAME = FlowCanvas
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER = 0.0.1
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY = doc
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-# 4096 sub-directories (in 2 levels) under the output directory of each output
-# format and will distribute the generated files over these directories.
-# Enabling this option can be useful when feeding doxygen a huge amount of source
-# files, where putting all generated files in the same directory would otherwise
-# cause performance problems for the file system.
-
-CREATE_SUBDIRS = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish,
-# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese,
-# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian,
-# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish,
-# Swedish, and Ukrainian.
-
-OUTPUT_LANGUAGE = English
-
-# This tag can be used to specify the encoding used in the generated output.
-# The encoding is not always determined by the language that is chosen,
-# but also whether or not the output is meant for Windows or non-Windows users.
-# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES
-# forces the Windows encoding (this is the default for the Windows binary),
-# whereas setting the tag to NO uses a Unix-style encoding (the default for
-# all platforms other than Windows).
-
-USE_WINDOWS_ENCODING = NO
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator
-# that is used to form the text in various listings. Each string
-# in this list, if found as the leading text of the brief description, will be
-# stripped from the text and the result after processing the whole list, is used
-# as the annotated text. Otherwise, the brief description is used as-is. If left
-# blank, the following values are used ("$name" is automatically replaced with the
-# name of the entity): "The $name class" "The $name widget" "The $name file"
-# "is" "provides" "specifies" "contains" "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF =
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
-# members of a class in the documentation of that class as if those members were
-# ordinary class members. Constructors, destructors and assignment operators of
-# the base classes will not be shown.
-
-INLINE_INHERITED_MEMB = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES = YES
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the
-# path to strip.
-
-STRIP_FROM_PATH =
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-# the path mentioned in the documentation of a class, which tells
-# the reader which header file to include in order to use a class.
-# If left blank only the name of the header file containing the class
-# definition is used. Otherwise one should specify the include paths that
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful is your file systems
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like the Qt-style comments (thus requiring an
-# explicit @brief command for a brief description.
-
-JAVADOC_AUTOBRIEF = YES
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the DETAILS_AT_TOP tag is set to YES then Doxygen
-# will output the detailed description near the top, like JavaDoc.
-# If set to NO, the detailed description appears after the member
-# documentation.
-
-DETAILS_AT_TOP = NO
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# re-implements.
-
-INHERIT_DOCS = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE = 4
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
-# only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
-# only. Doxygen will then generate output that is more tailored for Java.
-# For instance, namespaces will be presented as packages, qualified scopes
-# will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
-
-SUBGROUPING = YES
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE = YES
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC = NO
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES = YES
-
-# This flag is only useful for Objective-C code. When set to YES local
-# methods, which are defined in the implementation section but not in
-# the interface are included in the documentation.
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS = NO
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES = YES
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS = NO
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-# brief documentation of file, namespace and class members alphabetically
-# by member name. If set to NO (the default) the members will appear in
-# declaration order.
-
-SORT_BRIEF_DOCS = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-# sorted by fully-qualified names, including namespaces. If set to
-# NO (the default), the class list will be sorted only by class name,
-# not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME = YES
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
-GENERATE_TODOLIST = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
-GENERATE_BUGLIST = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or define consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and defines in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED = NO
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some
-# parameters in a documented function, or documenting parameters that
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR = YES
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text.
-
-WARN_FORMAT = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT = src flowcanvas
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
-# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm
-
-FILE_PATTERNS =
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE = NO
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE =
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories
-# that are symbolic links (a Unix filesystem feature) are excluded from the input.
-
-EXCLUDE_SYMLINKS = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories.
-
-EXCLUDE_PATTERNS =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS =
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output. If FILTER_PATTERNS is specified, this tag will be
-# ignored.
-
-INPUT_FILTER =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis. Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match. The filters are a list of the form:
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
-# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
-# is applied to all files.
-
-FILTER_PATTERNS =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-# Note: To get rid of all source code in the generated output, make sure also
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES (the default)
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = YES
-
-# If the REFERENCES_RELATION tag is set to YES (the default)
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION = YES
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX = NO
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
-GENERATE_HTML = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header.
-
-HTML_HEADER =
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER =
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet. Note that doxygen will try to copy
-# the style sheet file to the HTML output directory, so don't put your own
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET =
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS = YES
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
-# written to the html output directory.
-
-CHM_FILE =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND = NO
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX = NO
-
-# This tag can be used to set the number of enum values (range [1..20])
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE = 4
-
-# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
-# generated containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
-# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
-# probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
-TREEVIEW_WIDTH = 250
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked. If left blank `latex' will be used as the default command name.
-
-LATEX_CMD_NAME = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
-# default command name.
-
-MAKEINDEX_CMD_NAME = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, a4wide, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS = NO
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX = NO
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-# include the index chapters (such as File Index, Compound Index, etc.)
-# in the output.
-
-LATEX_HIDE_INDICES = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimized for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-
-GENERATE_RTF = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assignments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE =
-
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation.
-
-GENERATE_XML = NO
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_SCHEMA =
-
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_DTD =
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
-# dump the program listings (including syntax highlighting
-# and cross-referencing information) to the XML output. Note that
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will
-# generate a Perl module file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_PERLMOD = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-# nicely formatted so it can be parsed by a human reader. This is useful
-# if you want to understand what is going on. On the other hand, if this
-# tag is set to NO the size of the Perl module output will be much smaller
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY = YES
-
-# The names of the make variables in the generated doxyrules.make file
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-# This is useful so different doxyrules.make files included by the same
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_PREDEFINED tags.
-
-EXPAND_ONLY_PREDEF = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed.
-
-PREDEFINED =
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all function-like macros that are alone
-# on a line, have an all uppercase name, and do not end with a semicolon. Such
-# function macros are typically used for boiler-plate code, and will confuse the
-# parser if not removed.
-
-SKIP_FUNCTION_MACROS = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles.
-# Optionally an initial location of the external documentation
-# can be added for each tagfile. The format of a tag file without
-# this location is as follows:
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where "loc1" and "loc2" can be relative or absolute paths or
-# URLs. If a location is present for each tag, the installdox tool
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE =
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
-# be listed.
-
-EXTERNAL_GROUPS = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or
-# super classes. Setting the tag to NO turns the diagrams off. Note that this
-# option is superseded by the HAVE_DOT option below. This is only a fallback. It is
-# recommended to install and use dot, since it yields more powerful graphs.
-
-CLASS_DIAGRAMS = YES
-
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT = YES
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-
-UML_LOOK = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
-
-INCLUDE_GRAPH = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH = YES
-
-# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will
-# generate a call dependency graph for every global function or class method.
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable call graphs for selected
-# functions only using the \callgraph command.
-
-CALL_GRAPH = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. Possible values are png, jpg, or gif
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT = png
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-
-DOT_PATH =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
-
-DOTFILE_DIRS =
-
-# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
-
-MAX_DOT_GRAPH_WIDTH = 1024
-
-# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
-
-MAX_DOT_GRAPH_HEIGHT = 1024
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
-# graphs generated by dot. A depth value of 3 means that only nodes reachable
-# from the root by following a path via at most 3 edges will be shown. Nodes that
-# lay further from the root node will be omitted. Note that setting this option to
-# 1 or 2 may greatly reduce the computation time needed for large code bases. Also
-# note that a graph may be further truncated if the graph's image dimensions are
-# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT).
-# If 0 is used for the depth value (the default), the graph is not depth-constrained.
-
-MAX_DOT_GRAPH_DEPTH = 0
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermediate dot files that are used to generate
-# the various graphs.
-
-DOT_CLEANUP = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine
-#---------------------------------------------------------------------------
-
-# The SEARCHENGINE tag specifies whether or not a search engine should be
-# used. If set to NO the values of all tags below this one will be ignored.
-
-SEARCHENGINE = NO
diff --git a/libs/flowcanvas/NEWS b/libs/flowcanvas/NEWS
deleted file mode 100644
index bc0da0a6d4..0000000000
--- a/libs/flowcanvas/NEWS
+++ /dev/null
@@ -1,4 +0,0 @@
-LibFlowCanvas NEWS file
-
-0.0.1:
- * Initial release, forked out of Om and Patchage codebases
diff --git a/libs/flowcanvas/README b/libs/flowcanvas/README
deleted file mode 100644
index 57cd0f2605..0000000000
--- a/libs/flowcanvas/README
+++ /dev/null
@@ -1 +0,0 @@
-A Gtkmm/Gnomecanvasmm widget for modular dataflow environments
diff --git a/libs/flowcanvas/SConscript b/libs/flowcanvas/SConscript
deleted file mode 100644
index 18b061ef82..0000000000
--- a/libs/flowcanvas/SConscript
+++ /dev/null
@@ -1,47 +0,0 @@
-# -*- python -*-
-
-import os
-import os.path
-import glob
-
-Import('env final_prefix install_prefix libraries')
-
-flowcanvas = env.Copy()
-flowcanvas.Merge ([
- libraries['sigc2'],
- libraries['gtk2'],
- libraries['glibmm2'],
- libraries['pangomm'],
- libraries['atkmm'],
- libraries['gdkmm2'],
- libraries['gtkmm2'],
- libraries['libgnomecanvas2'],
- libraries['libgnomecanvasmm']
- ])
-
-#
-# this defines the version number of libflowcanvas
-#
-
-domain = 'libflowcanvas'
-
-flowcanvas.Append(DOMAIN=domain,MAJOR=0,MINOR=0,MICRO=1)
-flowcanvas.Append(CXXFLAGS="-DFLOWCANVAS_AA")
-
-flowcanvas_files = Split("""
-src/Connection.cpp
-src/FlowCanvas.cpp
-src/Module.cpp
-src/Port.cpp
-""")
-
-libflowcanvas = flowcanvas.SharedLibrary('flowcanvas', flowcanvas_files)
-
-Default(libflowcanvas)
-
-env.Alias('install', env.Install(os.path.join(install_prefix, env['LIBDIR'], 'ardour2'), libflowcanvas))
-
-env.Alias('tarball', env.Distribute (env['DISTTREE'],
- ['SConscript'] +
- flowcanvas_files +
- glob.glob('flowcanvas/*.h')))
diff --git a/libs/flowcanvas/doc/port_offsets.dia b/libs/flowcanvas/doc/port_offsets.dia
deleted file mode 100644
index d50cd45fb0..0000000000
--- a/libs/flowcanvas/doc/port_offsets.dia
+++ /dev/null
Binary files differ
diff --git a/libs/flowcanvas/flowcanvas/Connection.h b/libs/flowcanvas/flowcanvas/Connection.h
deleted file mode 100644
index 9d50288a98..0000000000
--- a/libs/flowcanvas/flowcanvas/Connection.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* This file is part of FlowCanvas. Copyright (C) 2005 Dave Robillard.
- *
- * FlowCanvas is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at your option) any later
- * version.
- *
- * FlowCanvas is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-
-#ifndef CONNECTION_H
-#define CONNECTION_H
-
-#include <libgnomecanvasmm.h>
-#include <libgnomecanvasmm/bpath.h>
-#include <libgnomecanvasmm/path-def.h>
-#include <list>
-#include "Port.h"
-
-using std::list;
-
-namespace LibFlowCanvas {
-
-class FlowCanvas;
-
-
-/** A connection between two ports.
- *
- * \ingroup FlowCanvas
- */
-class Connection : public Gnome::Canvas::Bpath
-{
-public:
- Connection(FlowCanvas* patch_bay, Port* source_port, Port* dest_port);
- virtual ~Connection();
-
- void update_location();
- void disconnect();
- void hilite(bool b);
-
- bool selected() { return m_selected; }
- void selected(bool b);
-
- void source_port(Port* p) { m_source_port = p; }
- const Port* source_port() const { return m_source_port; }
- void dest_port(Port* p) { m_dest_port = p; }
- const Port* dest_port() const { return m_dest_port; }
-
-private:
- FlowCanvas* m_patch_bay;
- Port* m_source_port;
- Port* m_dest_port;
- int m_colour;
- bool m_selected;
-
- //Glib::RefPtr<Gnome::Canvas::PathDef> m_path;
- GnomeCanvasPathDef* m_path;
-};
-
-typedef list<Connection*> ConnectionList;
-
-
-} // namespace LibFlowCanvas
-
-#endif // CONNECTION_H
diff --git a/libs/flowcanvas/flowcanvas/FlowCanvas.h b/libs/flowcanvas/flowcanvas/FlowCanvas.h
deleted file mode 100644
index ab6c85f410..0000000000
--- a/libs/flowcanvas/flowcanvas/FlowCanvas.h
+++ /dev/null
@@ -1,152 +0,0 @@
-/* This file is part of FlowCanvas. Copyright (C) 2005 Dave Robillard.
- *
- * FlowCanvas is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at your option) any later
- * version.
- *
- * FlowCanvas is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-
-#ifndef FLOWCANVAS_H
-#define FLOWCANVAS_H
-
-#include <string>
-#include <list>
-#include <libgnomecanvasmm.h>
-#include "Connection.h"
-#include "Module.h"
-
-using std::string;
-using std::list;
-
-
-/** FlowCanvas namespace, everything is defined under this.
- *
- * \ingroup FlowCanvas
- */
-namespace LibFlowCanvas {
-
-class Port;
-class Module;
-
-
-/** \defgroup FlowCanvas Canvas widget for dataflow systems.
- *
- * A generic dataflow widget using libgnomecanvas. It's used by Om and
- * Patchage, but could be used by anyone.
- */
-
-
-/** The canvas widget.
- *
- * Applications must override some virtual methods to make the widget actually
- * do anything (ie connect).
- *
- * \ingroup FlowCanvas
- */
-#ifdef FLOWCANVAS_AA
-class FlowCanvas : public Gnome::Canvas::CanvasAA
-#else
-class FlowCanvas : public Gnome::Canvas::Canvas
-#endif // FLOWCANVAS_AA
-{
-public:
- FlowCanvas(double width, double height);
- virtual ~FlowCanvas();
-
- void destroy();
-
- void add_module(Module* m);
- void remove_module(const string& name);
-
- void add_connection(const string& mod1_name, const string& port1_name, const string& mod2_name, const string& port2_name);
- bool remove_connection(const string& mod1_name, const string& port1_name, const string& mod2_name, const string& port2_name);
-
- void add_connection(Port* port1, Port* port2);
- bool remove_connection(Port* port1, Port* port2);
-
- Module* find_module(const string& name);
- Port* find_port(const string& module_name, const string& port_name);
-
- void rename_module(const string& old_name, const string& new_name);
-
- void set_default_placement(Module* m);
-
- float zoom() { return m_zoom; }
- void zoom(float pix_per_unit);
-
- double width() const { return m_width; }
- double height() const { return m_height; }
-
- void clear_selection();
- void select_module(Module* m);
- void unselect_module(Module* m);
-
- ModuleMap& modules() { return m_modules; }
- list<Module*>& selected_modules() { return m_selected_modules; }
- list<Connection*>& selected_connections() { return m_selected_connections; }
-
- /** Dash applied to selected items.
- * Always animating, set a rect's property_dash() to this and it
- * will automagically do the rubber band thing. */
- ArtVpathDash* const select_dash() { return m_select_dash; }
-
- virtual bool port_event(GdkEvent* event, Port* port);
-
- /** Make a connection. Should be overridden by an implementation to do something. */
- virtual void connect(const Port* const port1, const Port* const port2) = 0;
-
- /** Disconnect two ports. Should be overridden by an implementation to do something */
- virtual void disconnect(const Port* const port1, const Port* const port2) = 0;
-
-protected:
- ModuleMap m_modules; ///< All modules on this canvas
- ConnectionList m_connections; ///< All connections on this canvas
- list<Module*> m_selected_modules; ///< All currently selected modules
- list<Connection*> m_selected_connections; ///< All currently selected connections
-
- virtual bool canvas_event(GdkEvent* event) { return false; }
-
-private:
- Connection* get_connection(const Port* port1, const Port* port2);
- void remove_connection(Connection* c);
- void selected_port(Port* p);
- Port* selected_port() { return m_selected_port; }
- bool are_connected(const Port* port1, const Port* port2);
- Port* get_port_at(double x, double y);
-
- //bool scroll_drag_handler(GdkEvent* event);
- virtual bool select_drag_handler(GdkEvent* event);
- virtual bool connection_drag_handler(GdkEvent* event);
-
- void ports_joined(Port* port1, Port* port2);
- bool animate_selected();
-
- Port* m_selected_port; ///< Selected port (hilited red from clicking once)
- Port* m_connect_port; ///< Port for which a connection is being made (if applicable)
-
- float m_zoom; ///< Current zoom level
- double m_width;
- double m_height;
-
- enum DragState { NOT_DRAGGING, CONNECTION, SCROLL, SELECT };
- DragState m_drag_state;
-
- Gnome::Canvas::Rect m_base_rect; ///< Background
-
- Gnome::Canvas::Rect* m_select_rect; ///< Rectangle for drag selection
- ArtVpathDash* m_select_dash; ///< Animated selection dash style
-};
-
-
-} // namespace LibFlowCanvas
-
-#endif // FLOWCANVAS_H
diff --git a/libs/flowcanvas/flowcanvas/Module.h b/libs/flowcanvas/flowcanvas/Module.h
deleted file mode 100644
index 8f4d516610..0000000000
--- a/libs/flowcanvas/flowcanvas/Module.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/* This file is part of FlowCanvas. Copyright (C) 2005 Dave Robillard.
- *
- * FlowCanvas is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at your option) any later
- * version.
- *
- * FlowCanvas is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-
-#ifndef MODULE_H
-#define MODULE_H
-
-#include <string>
-#include <map>
-#include <libgnomecanvasmm.h>
-#include "Port.h"
-
-using std::string; using std::multimap;
-
-namespace LibFlowCanvas {
-
-class FlowCanvas;
-
-
-/** A module on the canvas.
- *
- * \ingroup FlowCanvas
- */
-class Module : public Gnome::Canvas::Group
-{
-public:
- Module(FlowCanvas* patch_bay, const string& name, double x=0, double y=0);
- virtual ~Module();
-
- inline Port* const port(const string& port_name) const;
-
- void add_port(Port* port, bool resize=true);
- void remove_port(const string& port_name, bool resize = true);
- //virtual void add_port(const string& port_name, bool is_input, int colour, bool resize = true);
-
- void zoom(float z);
- void resize();
-
- void move(double dx, double dy);
- virtual void move_to(double x, double y);
-
- bool is_within(const Gnome::Canvas::Rect* const rect);
-
- virtual void load_location() {}
- virtual void store_location() {}
- virtual void on_double_click() {}
- virtual void show_menu(GdkEventButton*) {}
-
- // For connection drawing
- double port_connection_point_offset(Port* port);
- double port_connection_points_range();
-
- double width() { return m_width; }
- void width(double w);
- double height() { return m_height; }
- void height(double h);
-
- void hilite(bool b);
- void selected(bool b);
- bool selected() const { return m_selected; }
-
- virtual void name(const string& n);
- const string& name() const { return m_name; }
-
- FlowCanvas* patch_bay() const { return m_patch_bay; }
- int num_ports() const { return m_ports.size(); }
- int base_colour() const { return 0x1F2A3CFF; }
- PortList& ports() { return m_ports; }
- double border_width() const { return m_border_width; }
- void border_width(double w);
-
- Gnome::Canvas::Rect* rect() { return &m_module_box; }
- Gnome::Canvas::Text* title() { return &m_canvas_title; }
-
-protected:
-
- bool module_event(GdkEvent* event);
-
- double m_border_width;
- double m_width;
- double m_height;
- string m_name;
- bool m_selected;
-
- FlowCanvas* m_patch_bay;
- PortList m_ports;
-
- Gnome::Canvas::Rect m_module_box;
- Gnome::Canvas::Text m_canvas_title;
-};
-
-
-typedef multimap<string,Module*> ModuleMap;
-
-
-
-/** Find a port on this module.
- *
- * Profiling has shown this to be performance critical, hence the inlining.
- * Making this faster would be a very good idea - better data structure?
- */
-inline Port* const
-Module::port(const string& port_name) const
-{
- for (PortList::const_iterator i = m_ports.begin(); i != m_ports.end(); ++i)
- if ((*i)->name() == port_name)
- return (*i);
- return NULL;
-}
-
-
-
-} // namespace LibFlowCanvas
-
-#endif // MODULE_H
diff --git a/libs/flowcanvas/flowcanvas/Port.h b/libs/flowcanvas/flowcanvas/Port.h
deleted file mode 100644
index 69f2c426c3..0000000000
--- a/libs/flowcanvas/flowcanvas/Port.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/* This file is part of FlowCanvas. Copyright (C) 2005 Dave Robillard.
- *
- * FlowCanvas is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at your option) any later
- * version.
- *
- * FlowCanvas is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-
-#ifndef PORT_H
-#define PORT_H
-
-#include <string>
-#include <list>
-#include <libgnomecanvasmm.h>
-
-using std::string; using std::list;
-
-namespace LibFlowCanvas {
-
-class Connection;
-class Module;
-
-
-static const int PORT_LABEL_SIZE = 8000; // in thousandths of a point
-
-
-/** A port on a module on the canvas.
- *
- * This is a group that contains both the label and rectangle for a port.
- *
- * \ingroup FlowCanvas
- */
-class Port : public Gnome::Canvas::Group
-{
-public:
- Port(Module* module, const string& name, bool is_input, int colour);
- virtual ~Port() {};
-
- void add_connection(Connection* c) { m_connections.push_back(c); }
- void remove_connection(Connection* c);
- void move_connections();
- void raise_connections();
- void disconnect_all();
-
- Gnome::Art::Point connection_coords();
-
- void hilite(bool b);
- void zoom(float z);
-
- void popup_menu(guint button, guint32 activate_time) {
- m_menu.popup(button, activate_time);
- }
-
- Module* module() const { return m_module; }
- list<Connection*>& connections() { return m_connections; }
- Gnome::Canvas::Rect* rect() { return &m_rect; }
- Gnome::Canvas::Text* label() { return &m_label; }
- bool is_input() const { return m_is_input; }
- bool is_output() const { return !m_is_input; }
- int colour() const { return m_colour; }
- double border_width() const { return m_border_width; }
- void border_width(double w);
-
- const string& name() const { return m_name; }
- virtual void name(const string& n);
-
- double width() const { return m_width; }
- void width(double w);
-
- double height() const { return m_height; }
-
-protected:
- Module* m_module;
- string m_name;
- bool m_is_input;
- double m_width;
- double m_height;
- double m_border_width;
- int m_colour;
-
- list<Connection*> m_connections; // needed for dragging
-
- Gnome::Canvas::Text m_label;
- Gnome::Canvas::Rect m_rect;
- Gtk::Menu m_menu;
-};
-
-
-typedef list<Port*> PortList;
-
-} // namespace LibFlowCanvas
-
-#endif // PORT_H
diff --git a/libs/flowcanvas/src/Connection.cpp b/libs/flowcanvas/src/Connection.cpp
deleted file mode 100644
index d792545a05..0000000000
--- a/libs/flowcanvas/src/Connection.cpp
+++ /dev/null
@@ -1,679 +0,0 @@
-/* This file is part of FlowCanvas. Copyright (C) 2005 Dave Robillard.
- *
- * FlowCanvas is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at your option) any later
- * version.
- *
- * FlowCanvas is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "flowcanvas/Connection.h"
-#include <cassert>
-#include <math.h>
-#include <libgnomecanvasmm/libgnomecanvasmm.h>
-#include "flowcanvas/FlowCanvas.h"
-
-// FIXME: remove
-#include <iostream>
-using std::cerr; using std::endl;
-
-namespace LibFlowCanvas {
-
-
-Connection::Connection(FlowCanvas* patch_bay, Port* source_port, Port* dest_port)
-: Gnome::Canvas::Bpath(*patch_bay->root()),
- m_patch_bay(patch_bay),
- m_source_port(source_port),
- m_dest_port(dest_port),
- m_selected(false),
-// m_path(Gnome::Canvas::PathDef::create())
- m_path(gnome_canvas_path_def_new())
-{
- assert(m_source_port->is_output());
- assert(m_dest_port->is_input());
-
- m_colour = m_source_port->colour() + 0x44444400;
- property_width_units() = 1.0;
- property_outline_color_rgba() = m_colour;
- property_cap_style() = (Gdk::CapStyle)GDK_CAP_ROUND;
-
- update_location();
-}
-
-
-Connection::~Connection()
-{
- if (m_selected) {
- for (list<Connection*>::iterator c = m_patch_bay->selected_connections().begin();
- c != m_patch_bay->selected_connections().end(); ++c)
- {
- if ((*c) == this) {
- m_patch_bay->selected_connections().erase(c);
- break;
- }
- }
- }
-}
-
-
-#undef MIN
-#define MIN(x,y) (((x) < (y)) ? (x) : (y))
-
-#undef MAX
-#define MAX(x,y) (((x) > (y)) ? (x) : (y))
-
-#if 0
-/** Updates the connection's location to match it's source/dest ports.
- *
- * This is used when modules are dragged, to keep the connections attached
- * to their ports.
- *
- * You are not expected to understand this.
- */
-void
-Connection::update_location()
-{
- const double src_x = m_source_port->connection_coords().get_x();
- const double src_y = m_source_port->connection_coords().get_y();
- const double dst_x = m_dest_port->connection_coords().get_x();
- const double dst_y = m_dest_port->connection_coords().get_y();
-
- const double src_mod_x = m_source_port->module()->property_x();
- const double src_mod_y = m_source_port->module()->property_y();
- const double src_mod_w = m_source_port->module()->width();
- const double src_mod_h = m_source_port->module()->height();
- const double dst_mod_x = m_dest_port->module()->property_x();
- const double dst_mod_y = m_dest_port->module()->property_y();
- const double dst_mod_w = m_dest_port->module()->width();
- const double dst_mod_h = m_dest_port->module()->height();
-
- // Y Modifier (-1 if src module is below dst module)
- double y_mod = (src_y < dst_y) ? 1.0 : -1.0;
-
- // Added in various places to keep things parallel
- /*double src_port_offset = src_y - src_mod_y - src_title_h;
- double dst_port_offset = dst_y - dst_mod_y - dst_title_h;
- if (y_mod < 0.0) {
- src_port_offset = src_mod_y + src_mod_h - src_y;
- dst_port_offset = dst_mod_y + dst_mod_h - dst_y;
- }*/
- double src_port_offset = m_source_port->module()->port_connection_point_offset(m_source_port);
- double src_offset_range = m_source_port->module()->port_connection_points_range();
- double dst_port_offset = m_dest_port->module()->port_connection_point_offset(m_dest_port);
- double dst_offset_range = m_dest_port->module()->port_connection_points_range();
-
- /*
- double smallest_offset = (src_port_offset < dst_port_offset)
- ? src_port_offset : dst_port_offset;
-
- double smallest_offset_range = (src_port_offset < dst_port_offset)
- ? m_source_port->module()->port_connection_points_range()
- : m_dest_port->module()->port_connection_points_range();
- */
- double smallest_offset = (src_offset_range < dst_offset_range)
- ? src_port_offset : dst_port_offset;
-
- double smallest_offset_range = (src_offset_range < dst_offset_range)
- ? m_source_port->module()->port_connection_points_range()
- : m_dest_port->module()->port_connection_points_range();
-
- //double largest_offset_range = (src_offset_range > dst_offset_range)
- // ? m_source_port->module()->port_connection_points_range()
- // : m_dest_port->module()->port_connection_points_range();
-
- double x_dist = fabs(dst_x - src_x);
- double y_dist = fabs(dst_y - src_y);
-
- // Vertical distance between modules
- double y_mod_dist = dst_mod_y - src_mod_y - src_mod_h;
- if (dst_y < src_y)
- y_mod_dist = src_mod_y - dst_mod_y - dst_mod_h;
- if (y_mod_dist < 1.0)
- y_mod_dist = 1.0;
-
- // Horizontal distance between modules
- double x_mod_dist = dst_mod_x - src_mod_x - src_mod_w;
- if (src_x > dst_x + src_mod_w)
- x_mod_dist = src_mod_x - dst_mod_x - dst_mod_w;
- if (x_mod_dist < 1.0)
- x_mod_dist = 1.0;
-
- double tallest_mod_h = m_source_port->module()->height();
- if (m_dest_port->module()->height() > tallest_mod_h)
- tallest_mod_h = m_dest_port->module()->height();
-
- double src_x1, src_y1, src_x2, src_y2, join_x, join_y; // Path 1
- double dst_x2, dst_y2, dst_x1, dst_y1; // Path 2
-
- src_x1 = src_y1 = src_x2 = src_y2 = join_x = join_y = dst_x2 = dst_y2 = dst_x1 = dst_y1 = 0.0;
-
- static const double join_range = 15.0;
-
- double src_offset = (src_y < dst_y)
- ? src_port_offset : src_offset_range - src_port_offset;
- double dst_offset = (src_y < dst_y)
- ? dst_port_offset : dst_offset_range - dst_port_offset;
-
-
- // Wrap around connections
- if (dst_x < src_x && y_mod_dist < join_range*3.0) {
-
- static const double module_padding = 20.0;
-
- // FIXME: completely different meanings in this case than the normal case
- // (this one is better though)
- smallest_offset = (src_offset_range < dst_offset_range)
- ? src_offset : dst_offset;
-
- // Limit straight out distance
- if (x_dist > 60.0)
- x_dist = 60.0;
- if (x_dist < 80.0 && y_dist > 40.0)
- x_dist = 80.0;
-
- // Calculate join point
- join_x = dst_mod_x + dst_mod_w + x_mod_dist/2.0;
- join_y = (src_y < dst_y)
- ? MIN(src_mod_y, dst_mod_y)
- : MAX(src_mod_y + src_mod_h, dst_mod_y + dst_mod_h);
- join_y -= (smallest_offset/smallest_offset_range*join_range + module_padding) * y_mod;
-
- if (join_x > src_mod_x)
- join_x = src_mod_x;
-
- // Path 1 (src_x, src_y) -> (join_x, join_y)
- src_x1 = src_x + x_dist/5.0 + src_offset/src_offset_range*join_range;
- src_y1 = src_y - (x_dist/3.0 + src_offset) * y_mod;
- src_x2 = src_x + x_dist/3.0 + src_offset/src_offset_range*join_range;
- src_y2 = join_y;
-
- // Path 2, (join_x, join_y) -> (dst_x, dst_y)
- dst_x1 = MIN(dst_x, src_mod_x) - x_dist/5.0 - dst_offset/dst_offset_range*join_range;
- dst_y1 = MIN(dst_y, src_mod_y + src_mod_h) - (x_dist/3.0 + dst_offset) * y_mod;
- dst_x2 = MIN(dst_x, src_mod_x) - x_dist/3.0 - dst_offset/dst_offset_range*join_range;
- dst_y2 = join_y;
-
-
- // Curve through connections and normal (left->right) connections
- // (These two cases are continuous)
- } else {
- /* The trick with this one is to define each curve's points exclusively in terms
- * of the join point (ie nothing about the other module), and choose the join point
- * cleverly */
-
- // Calculate join point
- double ratio = (x_dist - y_dist) / (y_dist + x_dist);
- join_x = (src_x + dst_x)/2.0;
- join_y = (src_y + dst_y)/2.0;
-
- // Vertical centre point between the modules
- join_y = (src_y < dst_y)
- ? (dst_mod_y - (dst_mod_y - (src_mod_y + src_mod_h)) / 2.0)
- : (src_mod_y - (src_mod_y - (dst_mod_y + dst_mod_h)) / 2.0);
-
- join_y -= (smallest_offset / smallest_offset_range * join_range) - join_range/2.0;
-
- // Interpolate between (src_x < dst_x) case and (src_y == dst_y) case
- if (src_x < dst_x && x_dist > y_dist) {
- join_y *= (1.0-ratio);
- join_y += (src_y + dst_y)/2.0 * ratio;
- }
-
- if (src_x < dst_x) {
- join_y += ((smallest_offset/smallest_offset_range)) * join_range * (1.0-fabs(ratio));
- join_x -= ((smallest_offset/smallest_offset_range)) * join_range * (1.0-fabs(ratio)) * y_mod;
- }
-
- //cerr << "ratio: " << ratio << endl;
-
- // Curve through connections
- if (dst_x < src_x) {
- double src_x_offset = fabs(src_x - join_x)/8.0 + src_offset_range - src_offset/src_offset_range*join_range;
- double dst_x_offset = fabs(dst_x - join_x)/8.0 + dst_offset_range + dst_offset/dst_offset_range*join_range;
- double src_y_offset = fabs(src_y - join_y)/4.0 + src_offset/src_offset_range*(src_offset_range+join_range)/2.0;
- double dst_y_offset = fabs(dst_y - join_y)/2.0 + (dst_offset_range-dst_offset)/dst_offset_range*(dst_offset_range+join_range)/2.0;
-
- // Path 1 (src_x, src_y) -> (join_x, join_y)
- src_x1 = src_x + src_x_offset;
- src_y1 = join_y - src_y_offset * y_mod;
- src_x2 = src_x + src_x_offset;
- src_y2 = join_y;
-
- // Path 2, (join_x, join_y) -> (dst_x, dst_y)
- dst_x1 = dst_x - dst_x_offset;
- dst_y1 = join_y + dst_y_offset * y_mod;
- dst_x2 = dst_x - dst_x_offset;
- dst_y2 = join_y;
-
- // Normal connections
- } else {
- double src_x_offset = fabs(src_x - join_x)/8.0 + src_offset_range - src_offset/src_offset_range*join_range;
- double dst_x_offset = fabs(dst_x - join_x)/8.0 + dst_offset_range + dst_offset/dst_offset_range*join_range;
- double src_y_offset = fabs(src_y - join_y)/4.0 + src_offset/src_offset_range*(src_offset_range+join_range)/2.0;
- double dst_y_offset = fabs(dst_y - join_y)/2.0 + (dst_offset_range-dst_offset)/dst_offset_range*(dst_offset_range+join_range)/2.0;
-
- // Path 1 (src_x, src_y) -> (join_x, join_y)
- src_x1 = src_x + src_x_offset;
- // Interpolate from curve through case
- if (x_dist < y_dist) {
- // Smooth transition from (src_y) to (join_y - src_y_offset * y_mod)
- src_y1 = (src_y * (1.0-fabs(ratio))) + ((join_y - src_y_offset * y_mod) * -ratio);
- // Smooth transition from (join_x + src_offset_range/4.0 * -ratio) to (src_x + src_x_offset)
- src_x2 = (join_x + src_offset_range/4.0 * -ratio)*(1.0-fabs(ratio)) + (src_x + src_x_offset)*-ratio;
- } else {
- src_y1 = src_y;
- src_x2 = join_x + src_offset_range/4.0 * -ratio;
- }
- src_y2 = join_y - src_y_offset*(1.0-fabs(ratio)) * y_mod;
-
- // Path 2, (join_x, join_y) -> (dst_x, dst_y)
- dst_x1 = dst_x - dst_x_offset;
- dst_y1 = dst_y;
- // Interpolate from curve through case
- if (x_dist < y_dist) {
- // Smooth transition from (dst_y) to (join_y - dst_y_offset * y_mod)
- dst_y1 = (dst_y * (1.0-fabs(ratio))) + ((join_y + dst_y_offset * y_mod) * -ratio);
- // Smooth transition from (join_x + dst_offset_range/4.0 * -ratio) to (dst_x + dst_x_offset)
- dst_x2 = (join_x - dst_offset_range/4.0 * -ratio)*(1.0-fabs(ratio)) + (dst_x - dst_x_offset)*-ratio;
- } else {
- dst_y1 = dst_y;
- dst_x2 = join_x - dst_offset_range/4.0 * -ratio;
- }
- dst_y2 = join_y + dst_y_offset*(1.0-fabs(ratio)) * y_mod;
- }
- /*
- } else {
- double src_x_offset = fabs(src_x - join_x)/4.0 + src_offset_range*2.0 - src_offset;
- double dst_x_offset = fabs(dst_x - join_x)/4.0 + dst_offset + dst_offset_range;
- double y_offset = fabs(join_y - src_y)/2.0;
-
- // Path 1 (src_x, src_y) -> (join_x, join_y)
- src_x1 = src_x + src_x_offset/2.0;
- src_y1 = src_y;
- if (x_dist < y_dist)
- src_x2 = join_x + src_x_offset * -ratio;
- else
- src_x2 = join_x + src_offset_range/4.0 * -ratio;
- src_y2 = join_y - y_offset*(1.0-fabs(ratio)) * y_mod;
-
- // Path 2, (join_x, join_y) -> (dst_x, dst_y)
- dst_x1 = dst_x - dst_x_offset/2.0;
- dst_y1 = dst_y;
- if (x_dist < y_dist)
- dst_x2 = join_x - dst_x_offset * -ratio;
- else
- dst_x2 = join_x - dst_x_offset/4.0 * -ratio;
- dst_y2 = join_y + y_offset*(1.0-fabs(ratio)) * y_mod;
- }*/
- }
-
- /*
- cerr << "src_x1: " << src_x1 << endl;
- cerr << "src_y1: " << src_y1 << endl;
- cerr << "src_x2: " << src_x2 << endl;
- cerr << "src_y2: " << src_x2 << endl;
- cerr << "join_x: " << join_x << endl;
- cerr << "join_y: " << join_y << endl;
- cerr << "dst_x1: " << dst_x1 << endl;
- cerr << "dst_y1: " << dst_y1 << endl;
- cerr << "dst_x2: " << dst_x2 << endl;
- cerr << "dst_y2: " << dst_x2 << endl << endl;
- */
-
- m_path->reset();
-
- //m_path->moveto(0,0);
-
-
- m_path->moveto(src_x, src_y);
- //m_path->lineto(join_x, join_y);
- m_path->curveto(src_x1, src_y1, src_x2, src_y2, join_x, join_y);
- m_path->curveto(dst_x2, dst_y2, dst_x1, dst_y1, dst_x, dst_y);
- set_bpath(m_path);
-}
-#endif
-
-
-/** Updates the path of the connection to match it's ports if they've moved.
- */
-void
-Connection::update_location()
-{
- const double src_x = m_source_port->connection_coords().get_x();
- const double src_y = m_source_port->connection_coords().get_y();
- const double dst_x = m_dest_port->connection_coords().get_x();
- const double dst_y = m_dest_port->connection_coords().get_y();
-
- const double src_mod_x = m_source_port->module()->property_x();
- const double src_mod_y = m_source_port->module()->property_y();
- const double src_mod_w = m_source_port->module()->width();
- const double src_mod_h = m_source_port->module()->height();
- const double dst_mod_x = m_dest_port->module()->property_x();
- const double dst_mod_y = m_dest_port->module()->property_y();
- const double dst_mod_w = m_dest_port->module()->width();
- const double dst_mod_h = m_dest_port->module()->height();
-
- // Vertical distance between modules
- double y_mod_dist = dst_mod_y - src_mod_y - src_mod_h;
- if (dst_y < src_y)
- y_mod_dist = src_mod_y - dst_mod_y - dst_mod_h;
- if (y_mod_dist < 1.0)
- y_mod_dist = 1.0;
-
- // Horizontal distance between modules
- double x_mod_dist = dst_mod_x - src_mod_x - src_mod_w;
- if (src_x > dst_x + src_mod_w)
- x_mod_dist = src_mod_x - dst_mod_x - dst_mod_w;
- if (x_mod_dist < 1.0)
- x_mod_dist = 1.0;
-
- // Y Modifier (-1 if src module is below dst module)
- double y_mod = (src_y < dst_y) ? 1.0 : -1.0;
-
- double x_dist = fabsl(src_x - dst_x);
- double y_dist = fabsl(src_y - dst_y);
-
- double src_port_offset = m_source_port->module()->port_connection_point_offset(m_source_port);
- double src_offset_range = m_source_port->module()->port_connection_points_range();
- double dst_port_offset = m_dest_port->module()->port_connection_point_offset(m_dest_port);
- double dst_offset_range = m_dest_port->module()->port_connection_points_range();
-
- double smallest_offset = (src_offset_range < dst_offset_range)
- ? src_port_offset : dst_port_offset;
-
- double smallest_offset_range = (src_offset_range < dst_offset_range)
- ? m_source_port->module()->port_connection_points_range()
- : m_dest_port->module()->port_connection_points_range();
-
- double tallest_module_height = m_source_port->module()->height();
- if (m_dest_port->module()->height() > tallest_module_height)
- tallest_module_height = m_dest_port->module()->height();
-
- double src_x1, src_y1, src_x2, src_y2, join_x, join_y; // Path 1
- double dst_x2, dst_y2, dst_x1, dst_y1; // Path 2
- src_x1 = src_y1 = src_x2 = src_y2 = join_x = join_y = dst_x2 = dst_y2 = dst_x1 = dst_y1 = 0.0;
-
- double join_range = 20.0;
-
- double src_offset = (src_y < dst_y)
- ? src_port_offset : src_offset_range - src_port_offset;
- double dst_offset = (src_y < dst_y)
- ? dst_port_offset : dst_offset_range - dst_port_offset;
-
- // Wrap around connections
- if ((src_x > dst_x)
- && y_mod_dist < join_range*3.0
- && ((dst_x > src_mod_x+src_mod_w+join_range*2.0) || src_x > dst_x)
- && (! ((src_mod_y + src_mod_h < dst_mod_y - join_range*3.0) || (dst_mod_y + dst_mod_h < src_mod_h - join_range*3.0)))) {
- //|| (dst_x < src_x)) {
-
- static const double module_padding = 20.0;
-
- // FIXME: completely different meanings in this case than the normal case
- // (this one is better though)
- smallest_offset = (src_offset_range < dst_offset_range)
- ? src_offset : dst_offset;
-
- // Limit straight out distance
- if (x_dist > 60.0)
- x_dist = 60.0;
- if (x_dist < 80.0 && y_dist > 40.0)
- x_dist = 80.0;
-
- // Calculate join point
- join_x = dst_mod_x + dst_mod_w + x_mod_dist/2.0;
- join_y = (src_y < dst_y)
- ? MIN(src_mod_y, dst_mod_y)
- : MAX(src_mod_y + src_mod_h, dst_mod_y + dst_mod_h);
- join_y -= (smallest_offset/smallest_offset_range*join_range + module_padding) * y_mod;
-
- if (join_x > src_mod_x)
- join_x = src_mod_x;
-
- // Path 1 (src_x, src_y) -> (join_x, join_y)
- src_x1 = src_x + x_dist/5.0 + src_offset/src_offset_range*join_range;
- src_y1 = src_y - (x_dist/3.0 + src_offset) * y_mod;
- src_x2 = src_x + x_dist/3.0 + src_offset/src_offset_range*join_range;
- src_y2 = join_y;
-
- // Path 2, (join_x, join_y) -> (dst_x, dst_y)
- dst_x1 = MIN(dst_x, src_mod_x) - x_dist/5.0 - dst_offset/dst_offset_range*join_range;
- dst_y1 = MIN(dst_y, src_mod_y + src_mod_h) - (x_dist/3.0 + dst_offset) * y_mod;
- dst_x2 = MIN(dst_x, src_mod_x) - x_dist/3.0 - dst_offset/dst_offset_range*join_range;
- dst_y2 = join_y;
-
-
- // Curve through connections
- } else if (dst_x < src_x) {
-
- join_range = MIN(join_range, smallest_offset_range);
-
- // Calculate join point
- double ratio = (x_dist - y_dist) / (y_dist + x_dist);
- join_x = (src_x + dst_x)/2.0;
- join_y = (src_y + dst_y)/2.0;
-
- // Vertical centre point between the modules
- join_y = (src_y < dst_y)
- ? (dst_mod_y - (dst_mod_y - (src_mod_y + src_mod_h)) / 2.0)
- : (src_mod_y - (src_mod_y - (dst_mod_y + dst_mod_h)) / 2.0);
-
- join_y -= (smallest_offset / smallest_offset_range * join_range) - join_range/2.0;
-
- // Interpolate between (src_x < dst_x) case and (src_y == dst_y) case
- if (src_x < dst_x && x_dist > y_dist) {
- join_y *= (1.0-ratio);
- join_y += (src_y + dst_y)/2.0 * ratio;
- }
-
- if (src_x < dst_x) {
- join_y += ((smallest_offset/smallest_offset_range)) * join_range * (1.0-fabs(ratio));
- join_x -= ((smallest_offset/smallest_offset_range)) * join_range * (1.0-fabs(ratio)) * y_mod;
- }
-
- //cerr << "ratio: " << ratio << endl;
-
- double src_x_offset = fabs(src_x - join_x)/8.0 + MAX(src_offset_range,join_range) - src_offset/src_offset_range*join_range;
- double dst_x_offset = fabs(dst_x - join_x)/8.0 + MAX(dst_offset_range,join_range) + dst_offset/dst_offset_range*join_range;
- double src_y_offset = fabs(src_y - join_y)/4.0 + src_offset/src_offset_range*(src_offset_range+join_range)/2.0;
- double dst_y_offset = fabs(dst_y - join_y)/4.0 + (dst_offset_range-dst_offset)/dst_offset_range*(dst_offset_range+join_range)/2.0;
-
- // Path 1 (src_x, src_y) -> (join_x, join_y)
- src_x1 = src_x + src_x_offset;
- src_y1 = join_y - src_y_offset * y_mod;
- src_x2 = src_x + src_x_offset;
- src_y2 = join_y;
-
- // Path 2, (join_x, join_y) -> (dst_x, dst_y)
- dst_x1 = dst_x - dst_x_offset;
- dst_y1 = join_y + dst_y_offset * y_mod;
- dst_x2 = dst_x - dst_x_offset;
- dst_y2 = join_y;
-
-
- // In between curve through and normal connections
-/* } else if (x_dist < y_dist && src_mod_y + src_mod_h < dst_mod_y) {
- // Calculate join point
- double ratio = (x_dist - y_dist) / (y_dist + x_dist);
- join_x = (src_x + dst_x)/2.0;
- join_y = (src_y + dst_y)/2.0;
-
- // Vertical centre point between the modules
- join_y = (src_y < dst_y)
- ? (dst_mod_y - (dst_mod_y - (src_mod_y + src_mod_h)) / 2.0)
- : (src_mod_y - (src_mod_y - (dst_mod_y + dst_mod_h)) / 2.0);
-
- join_y -= (smallest_offset / smallest_offset_range * join_range) - join_range/2.0;
-
- // Interpolate between (src_x < dst_x) case and (src_y == dst_y) case
- if (src_x < dst_x && x_dist > y_dist) {
- join_y *= (1.0-ratio);
- join_y += (src_y + dst_y)/2.0 * ratio;
- }
-
- if (src_x < dst_x) {
- join_y += ((smallest_offset/smallest_offset_range)) * join_range * (1.0-fabs(ratio));
- join_x -= ((smallest_offset/smallest_offset_range)) * join_range * (1.0-fabs(ratio)) * y_mod;
- }
- double src_x_offset = fabs(src_x - join_x)/8.0 + src_offset_range - src_offset/src_offset_range*join_range;
- double dst_x_offset = fabs(dst_x - join_x)/8.0 + dst_offset_range + dst_offset/dst_offset_range*join_range;
- double src_y_offset = fabs(src_y - join_y)/4.0 + src_offset/src_offset_range*(src_offset_range+join_range)/2.0;
- double dst_y_offset = fabs(dst_y - join_y)/2.0 + (dst_offset_range-dst_offset)/dst_offset_range*(dst_offset_range+join_range)/2.0;
-
- // Path 1 (src_x, src_y) -> (join_x, join_y)
- src_x1 = src_x + src_x_offset;
- // Interpolate from curve through case
- if (x_dist < y_dist) {
- // Smooth transition from (src_y) to (join_y - src_y_offset * y_mod)
- src_y1 = (src_y * (1.0-fabs(ratio))) + ((join_y - src_y_offset * y_mod) * -ratio);
- // Smooth transition from (join_x + src_offset_range/4.0 * -ratio) to (src_x + src_x_offset)
- src_x2 = (join_x + src_offset_range/4.0 * -ratio)*(1.0-fabs(ratio)) + (src_x + src_x_offset)*-ratio;
- } else {
- src_y1 = src_y;
- src_x2 = join_x + src_offset_range/4.0 * -ratio;
- }
- src_y2 = join_y - src_y_offset*(1.0-fabs(ratio)) * y_mod;
-
- // Path 2, (join_x, join_y) -> (dst_x, dst_y)
- dst_x1 = dst_x - dst_x_offset;
- dst_y1 = dst_y;
- // Interpolate from curve through case
- if (x_dist < y_dist) {
- // Smooth transition from (dst_y) to (join_y - dst_y_offset * y_mod)
- dst_y1 = (dst_y * (1.0-fabs(ratio))) + ((join_y + dst_y_offset * y_mod) * -ratio);
- // Smooth transition from (join_x + dst_offset_range/4.0 * -ratio) to (dst_x + dst_x_offset)
- dst_x2 = (join_x - dst_offset_range/4.0 * -ratio)*(1.0-fabs(ratio)) + (dst_x - dst_x_offset)*-ratio;
- } else {
- dst_y1 = dst_y;
- dst_x2 = join_x - dst_offset_range/4.0 * -ratio;
- }
- dst_y2 = join_y + dst_y_offset*(1.0-fabs(ratio)) * y_mod;
-*/
-
- // "Normal" connections
- } else {
-
- join_x = (src_x + dst_x)/2.0;
- join_y = (src_y + dst_y)/2.0;
-#if 0
- join_range = MIN(join_range, x_dist/2.0);
-
-
-
- /************ Find join point **************/
-
- //const double join_range = 15.0;
- //const double join_range = MIN(smallest_offset_range, x_dist/2.0);
- //const double join_range = MIN(30.0, x_dist/2.0);
-
- // Calculate join point
- double ratio = (x_dist - y_dist) / (y_dist + x_dist);
-
- cerr << "ratio: " << ratio << endl;
-
- /* if (MAX(x_dist, y_dist) > smallest_offset_range * 2.0) {
- // Vertical centre point between the modules
- join_y = (src_y < dst_y)
- ? (dst_mod_y - (dst_mod_y - (src_mod_y + src_mod_h)) / 2.0)
- : (src_mod_y - (src_mod_y - (dst_mod_y + dst_mod_h)) / 2.0);
-
- join_y -= (smallest_offset / smallest_offset_range * join_range) - join_range/2.0;
-
- // Interpolate between (src_x < dst_x) case and (src_y == dst_y) case
- if (src_x < dst_x && x_dist > y_dist) {
- join_y *= (1.0-ratio);
- join_y += (src_y + dst_y)/2.0 * ratio;
- }
- }*/
-
- if (src_x < dst_x) {
- // join_y += ((smallest_offset/smallest_offset_range)) * join_range * (1.0-fabs(ratio));
- join_x -= ((smallest_offset/smallest_offset_range)) * join_range * (1.0-fabs(ratio)) * y_mod;
- join_x += join_range/2.0 * (1.0-fabs(ratio)); // center
- }
-#endif
-
- /*************************************************/
-
-
- // Path 1 (src_x, src_y) -> (join_x, join_y)
- // Control point 1
- src_x1 = src_x + fabs(join_x - src_x) / 2.0;
- src_y1 = src_y;
- // Control point 2
- src_x2 = join_x - fabs(join_x - src_x) / 4.0;
- src_y2 = join_y - fabs(join_y - src_y) / 2.0 * y_mod;
-
- // Path 2, (join_x, join_y) -> (dst_x, dst_y)
- // Control point 1
- dst_x1 = dst_x - fabs(join_x - dst_x) / 2.0;
- dst_y1 = dst_y;
- // Control point 2
- dst_x2 = join_x + fabs(join_x - dst_x) / 4.0;
- dst_y2 = join_y + fabs(join_y - dst_y) / 2.0 * y_mod;
- }
-
- // This was broken in libgnomecanvasmm with GTK 2.8. Nice work, guys.
- /*
- m_path->reset();
- m_path->moveto(src_x, src_y);
- m_path->curveto(src_x1, src_y1, src_x2, src_y2, join_x, join_y);
- m_path->curveto(dst_x2, dst_y2, dst_x1, dst_y1, dst_x, dst_y);
- set_bpath(m_path);
- */
-
- // Work around it w/ the C API
- gnome_canvas_path_def_reset(m_path);
- gnome_canvas_path_def_moveto(m_path, src_x, src_y);
- gnome_canvas_path_def_curveto(m_path, src_x1, src_y1, src_x2, src_y2, join_x, join_y);
- gnome_canvas_path_def_curveto(m_path, dst_x2, dst_y2, dst_x1, dst_y1, dst_x, dst_y);
-
- GnomeCanvasBpath* c_obj = gobj();
- gnome_canvas_item_set(GNOME_CANVAS_ITEM(c_obj), "bpath", m_path, NULL);
-}
-
-
-/** Removes the reference to this connection contained in the ports.
- *
- * Must be called before destroying a connection.
- */
-void
-Connection::disconnect()
-{
- m_source_port->remove_connection(this);
- m_dest_port->remove_connection(this);
- m_source_port = NULL;
- m_dest_port = NULL;
-}
-
-
-void
-Connection::hilite(bool b)
-{
- if (b)
- property_outline_color_rgba() = 0xFF0000FF;
- else
- property_outline_color_rgba() = m_colour;
-}
-
-
-void
-Connection::selected(bool selected)
-{
- m_selected = selected;
- if (selected)
- property_dash() = m_patch_bay->select_dash();
- else
- property_dash() = NULL;
-}
-
-
-} // namespace LibFlowCanvas
-
diff --git a/libs/flowcanvas/src/FlowCanvas.cpp b/libs/flowcanvas/src/FlowCanvas.cpp
deleted file mode 100644
index 0410450a71..0000000000
--- a/libs/flowcanvas/src/FlowCanvas.cpp
+++ /dev/null
@@ -1,884 +0,0 @@
-/* This file is part of FlowCanvas. Copyright (C) 2005 Dave Robillard.
- *
- * FlowCanvas is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at your option) any later
- * version.
- *
- * FlowCanvas is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-
-#include "flowcanvas/FlowCanvas.h"
-#include <cassert>
-#include <map>
-#include <iostream>
-#include <cmath>
-#include "flowcanvas/Port.h"
-#include "flowcanvas/Module.h"
-
-using std::cerr; using std::cout; using std::endl;
-
-namespace LibFlowCanvas {
-
-
-FlowCanvas::FlowCanvas(double width, double height)
-: m_selected_port(NULL),
- m_connect_port(NULL),
- m_zoom(1.0),
- m_width(width),
- m_height(height),
- m_drag_state(NOT_DRAGGING),
- m_base_rect(*root(), 0, 0, width, height),
- m_select_rect(NULL),
- m_select_dash(NULL)
-{
- set_scroll_region(0.0, 0.0, width, height);
- set_center_scroll_region(true);
-
- m_base_rect.property_fill_color_rgba() = 0x000000FF;
- m_base_rect.show();
- //m_base_rect.signal_event().connect(sigc::mem_fun(this, &FlowCanvas::scroll_drag_handler));
- m_base_rect.signal_event().connect(sigc::mem_fun(this, &FlowCanvas::select_drag_handler));
- m_base_rect.signal_event().connect(sigc::mem_fun(this, &FlowCanvas::connection_drag_handler));
- m_base_rect.signal_event().connect(sigc::mem_fun(this, &FlowCanvas::canvas_event));
-
- set_dither(Gdk::RGB_DITHER_NORMAL); // NONE or NORMAL or MAX
-
- // Dash style for selected modules and selection box
- m_select_dash = new ArtVpathDash();
- m_select_dash->n_dash = 2;
- m_select_dash->dash = art_new(double, 2);
- m_select_dash->dash[0] = 5;
- m_select_dash->dash[1] = 5;
-
- Glib::signal_timeout().connect(
- sigc::mem_fun(this, &FlowCanvas::animate_selected), 150);
-}
-
-
-FlowCanvas::~FlowCanvas()
-{
- destroy();
-}
-
-
-void
-FlowCanvas::zoom(float pix_per_unit)
-{
- // Round to .25
- m_zoom = static_cast<int>(pix_per_unit*4) / 4.0;
- if (m_zoom < 0.25)
- m_zoom = 0.25;
-
- set_pixels_per_unit(m_zoom);
-
- for (ModuleMap::iterator m = m_modules.begin(); m != m_modules.end(); ++m)
- (*m).second->zoom(m_zoom);
-}
-
-
-void
-FlowCanvas::clear_selection()
-{
- for (list<Module*>::iterator m = m_selected_modules.begin(); m != m_selected_modules.end(); ++m)
- (*m)->selected(false);
-
- for (list<Connection*>::iterator c = m_selected_connections.begin(); c != m_selected_connections.end(); ++c)
- (*c)->selected(false);
-
- m_selected_modules.clear();
- m_selected_connections.clear();
-}
-
-
-/** Add a module to the current selection, and automagically select any connections
- * between selected modules */
-void
-FlowCanvas::select_module(Module* m)
-{
- assert(! m->selected());
-
- m_selected_modules.push_back(m);
-
- Connection* c;
- for (ConnectionList::iterator i = m_connections.begin(); i != m_connections.end(); ++i) {
- c = (*i);
- if ( !c->selected()) {
- if (c->source_port()->module() == m && c->dest_port()->module()->selected()) {
- c->selected(true);
- m_selected_connections.push_back(c);
- } else if (c->dest_port()->module() == m && c->source_port()->module()->selected()) {
- c->selected(true);
- m_selected_connections.push_back(c);
- }
- }
- }
-
- m->selected(true);
-}
-
-
-void
-FlowCanvas::unselect_module(Module* m)
-{
- assert(m->selected());
-
- // Remove any connections that aren't selected anymore because this module isn't
- Connection* c;
- for (ConnectionList::iterator i = m_selected_connections.begin(); i != m_selected_connections.end();) {
- c = (*i);
- if (c->selected()
- && ((c->source_port()->module() == m && c->dest_port()->module()->selected())
- || c->dest_port()->module() == m && c->source_port()->module()->selected()))
- {
- c->selected(false);
- i = m_selected_connections.erase(i);
- } else {
- ++i;
- }
- }
-
- // Remove the module
- for (list<Module*>::iterator i = m_selected_modules.begin(); i != m_selected_modules.end(); ++i) {
- if ((*i) == m) {
- m_selected_modules.erase(i);
- break;
- }
- }
-
- m->selected(false);
-}
-
-
-/** Removes all ports and connections and modules.
- */
-void
-FlowCanvas::destroy()
-{
- for (ModuleMap::iterator m = m_modules.begin(); m != m_modules.end(); ++m)
- delete (*m).second;
- for (ConnectionList::iterator c = m_connections.begin(); c != m_connections.end(); ++c)
- delete (*c);
-
- m_modules.clear();
- m_connections.clear();
-
- m_selected_port = NULL;
- m_connect_port = NULL;
-}
-
-
-void
-FlowCanvas::selected_port(Port* p)
-{
- if (m_selected_port != NULL)
- m_selected_port->rect()->property_fill_color_rgba() = m_selected_port->colour(); // "turn off" the old one
-
- m_selected_port = p;
-
- if (p != NULL)
- m_selected_port->rect()->property_fill_color() = "red";
-}
-
-
-Module*
-FlowCanvas::find_module(const string& name)
-{
- ModuleMap::iterator m = m_modules.find(name);
-
- if (m != m_modules.end())
- return (*m).second;
- else
- return NULL;
-}
-
-
-/** Sets the passed module's location to a reasonable default.
- */
-void
-FlowCanvas::set_default_placement(Module* m)
-{
- assert(m != NULL);
-
- // Simple cascade. This will get more clever in the future.
- double x = ((m_width / 2.0) + (m_modules.size() * 25));
- double y = ((m_height / 2.0) + (m_modules.size() * 25));
-
- m->move_to(x, y);
-}
-
-
-void
-FlowCanvas::add_module(Module* m)
-{
- assert(m != NULL);
- std::pair<string, Module*> p(m->name(), m);
- m_modules.insert(p);
-}
-
-
-void
-FlowCanvas::remove_module(const string& name)
-{
- ModuleMap::iterator m = m_modules.find(name);
-
- if (m != m_modules.end()) {
- delete (*m).second;
- m_modules.erase(m);
- } else {
- cerr << "[FlowCanvas::remove_module] Unable to find module!" << endl;
- }
-}
-
-
-Port*
-FlowCanvas::find_port(const string& node_name, const string& port_name)
-{
- Module* module = NULL;
- Port* port = NULL;
-
- for (ModuleMap::iterator i = m_modules.begin(); i != m_modules.end(); ++i) {
- module = (*i).second;
- port = module->port(port_name);
- if (module->name() == node_name && port != NULL)
- return port;
- }
-
- cerr << "[FlowCanvas::find_port] Failed to find port " <<
- node_name << ":" << port_name << endl;
-
- return NULL;
-}
-
-
-void
-FlowCanvas::rename_module(const string& old_name, const string& new_name)
-{
- Module* module = NULL;
-
- for (ModuleMap::iterator i = m_modules.begin(); i != m_modules.end(); ++i) {
- module = (*i).second;
- assert(module != NULL);
- if (module->name() == old_name) {
- m_modules.erase(i);
- module->name(new_name);
- add_module(module);
- return;
- }
- }
-
- cerr << "[FlowCanvas::rename_module] Failed to find module " <<
- old_name << endl;
-}
-
-
-/** Add a connection.
- */
-void
-FlowCanvas::add_connection(const string& node1_name, const string& port1_name,
- const string& node2_name, const string& port2_name)
-{
- Port* port1 = find_port(node1_name, port1_name);
- Port* port2 = find_port(node2_name, port2_name);
-
- if (port1 == NULL) {
- cerr << "Unable to find port " << node1_name << ":" << port1_name
- << " to make connection." << endl;
- } else if (port2 == NULL) {
- cerr << "Unable to find port " << node2_name << ":" << port2_name
- << " to make connection." << endl;
- } else {
- add_connection(port1, port2);
- }
-}
-
-
-bool
-FlowCanvas::remove_connection(Port* port1, Port* port2)
-{
- assert(port1 != NULL);
- assert(port2 != NULL);
-
- Connection* c = get_connection(port1, port2);
- if (c == NULL) {
- cerr << "Couldn't find connection.\n";
- return false;
- } else {
- remove_connection(c);
- return true;
- }
-}
-
-
-/** Remove a connection.
- *
- * Returns whether or not the connection was found (and removed).
- */
-bool
-FlowCanvas::remove_connection(const string& mod1_name, const string& port1_name, const string& mod2_name, const string& port2_name)
-{
- Connection* c = get_connection(find_port(mod1_name, port1_name),
- find_port(mod2_name, port2_name));
- if (c == NULL) {
- cerr << "Couldn't find connection.\n";
- return false;
- } else {
- remove_connection(c);
- return true;
- }
-}
-
-
-bool
-FlowCanvas::are_connected(const Port* port1, const Port* port2)
-{
- assert(port1 != NULL);
- assert(port2 != NULL);
-
- ConnectionList::const_iterator c;
- const Connection* connection;
-
-
- for (c = m_connections.begin(); c != m_connections.end(); ++c) {
- connection = *c;
- if (connection->source_port() == port1 && connection->dest_port() == port2)
- return true;
- if (connection->source_port() == port2 && connection->dest_port() == port1)
- return true;
- }
-
- return false;
-}
-
-
-Connection*
-FlowCanvas::get_connection(const Port* port1, const Port* port2)
-{
- assert(port1 != NULL);
- assert(port2 != NULL);
-
- for (ConnectionList::iterator i = m_connections.begin(); i != m_connections.end(); ++i) {
- if ( (*i)->source_port() == port1 && (*i)->dest_port() == port2 )
- return *i;
- else if ( (*i)->dest_port() == port1 && (*i)->source_port() == port2 )
- return *i;
- }
-
- return NULL;
-}
-
-
-void
-FlowCanvas::add_connection(Port* port1, Port* port2)
-{
- assert(port1->is_input() != port2->is_input());
- assert(port1->is_output() != port2->is_output());
- Port* src_port = NULL;
- Port* dst_port = NULL;
- if (port1->is_output() && port2->is_input()) {
- src_port = port1;
- dst_port = port2;
- } else {
- src_port = port2;
- dst_port = port1;
- }
-
- // Create (graphical) connection object
- if (get_connection(port1, port2) == NULL) {
- Connection* c = new Connection(this, src_port, dst_port);
- port1->add_connection(c);
- port2->add_connection(c);
- m_connections.push_back(c);
- }
-}
-
-
-void
-FlowCanvas::remove_connection(Connection* connection)
-{
- assert(connection != NULL);
-
- ConnectionList::iterator i = find(m_connections.begin(), m_connections.end(), connection);
- Connection* c = *i;
-
- c->disconnect();
- m_connections.erase(i);
- delete c;
-}
-
-
-/** Called when two ports are 'toggled' (connected or disconnected)
- */
-void
-FlowCanvas::ports_joined(Port* port1, Port* port2)
-{
- assert(port1 != NULL);
- assert(port2 != NULL);
-
- port1->hilite(false);
- port2->hilite(false);
-
- string src_mod_name, dst_mod_name, src_port_name, dst_port_name;
-
- Port* src_port = NULL;
- Port* dst_port = NULL;
-
- if (port2->is_input() && ! port1->is_input()) {
- src_port = port1;
- dst_port = port2;
- } else if ( ! port2->is_input() && port1->is_input()) {
- src_port = port2;
- dst_port = port1;
- } else {
- return;
- }
-
- if (are_connected(src_port, dst_port))
- disconnect(src_port, dst_port);
- else
- connect(src_port, dst_port);
-}
-
-
-/** Event handler for ports.
- *
- * These events can't be handled in the Port class because they have to do with
- * connections etc. which deal with multiple ports (ie m_selected_port). Ports
- * pass their events on to this function to get around this.
- */
-bool
-FlowCanvas::port_event(GdkEvent* event, Port* port)
-{
- static bool port_dragging = false;
- bool handled = true;
-
- switch (event->type) {
-
- case GDK_BUTTON_PRESS:
- if (event->button.button == 1) {
- port_dragging = true;
- } else if (event->button.button == 3) {
- m_selected_port = port;
- port->popup_menu(event->button.button, event->button.time);
- } else {
- handled = false;
- }
- break;
-
- case GDK_BUTTON_RELEASE:
- if (port_dragging) {
- if (m_connect_port == NULL) {
- selected_port(port);
- m_connect_port = port;
- } else {
- ports_joined(port, m_connect_port);
- m_connect_port = NULL;
- selected_port(NULL);
- }
- port_dragging = false;
- } else {
- handled = false;
- }
- break;
-
- case GDK_ENTER_NOTIFY:
- if (port != m_selected_port)
- port->hilite(true);
- break;
-
- case GDK_LEAVE_NOTIFY:
- if (port_dragging) {
- m_drag_state = CONNECTION;
- m_connect_port = port;
-
- m_base_rect.grab(GDK_POINTER_MOTION_MASK | GDK_BUTTON_RELEASE_MASK,
- Gdk::Cursor(Gdk::CROSSHAIR), event->button.time);
-
- port_dragging = false;
- } else {
- if (port != m_selected_port)
- port->hilite(false);
- }
- break;
-
- default:
- handled = false;
- }
-
- return handled;
-}
-
-
-/*
-bool
-FlowCanvas::canvas_event(GdkEvent* event)
-{
- if (m_connection_dragging) {
- return connection_drag_handler(event);
- } else if (m_scroll_dragging) {
- return scroll_drag_handler(event);
- } else if (event->type == GDK_BUTTON_PRESS && event->button.button == 2) {
- get_scroll_offsets(m_scroll_offset_x, m_scroll_offset_y);
- //double x, y;
- //window_to_world(event->button.x, event->button.y, x, y);
- //w2c(x, y, m_scroll_origin_x, m_scroll_origin_y);
- m_scroll_origin_x = event->button.x;
- m_scroll_origin_y = event->button.y;
- //root()->w2i(m_scroll_origin_x, m_scroll_origin_y);
- //window_to_world(event->button.x, event->button.y, x, y);
- //w2c(x, y, m_scroll_origin_x, m_scroll_origin_y);
- m_scroll_dragging = true;
- }
- return false;
-}
-*/
-
-
-/* I can not get this to work for the life of me.
- * Man I hate gnomecanvas.
-bool
-FlowCanvas::scroll_drag_handler(GdkEvent* event)
-{
-
- bool handled = true;
-
- static int original_scroll_x = 0;
- static int original_scroll_y = 0;
- static double origin_x = 0;
- static double origin_y = 0;
- static double x_offset = 0;
- static double y_offset = 0;
- static double scroll_offset_x = 0;
- static double scroll_offset_y = 0;
- static double last_x = 0;
- static double last_y = 0;
-
- bool first_motion = true;
-
- if (event->type == GDK_BUTTON_PRESS && event->button.button == 2) {
- m_base_rect.grab(GDK_POINTER_MOTION_MASK | GDK_BUTTON_RELEASE_MASK | GDK_BUTTON_PRESS_MASK,
- Gdk::Cursor(Gdk::FLEUR), event->button.time);
- get_scroll_offsets(original_scroll_x, original_scroll_y);
- scroll_offset_x = original_scroll_x;
- scroll_offset_y = original_scroll_y;
- origin_x = event->button.x;
- origin_y = event->button.y;
- last_x = origin_x;
- last_y = origin_y;
- first_motion = true;
- m_scroll_dragging = true;
-
- } else if (event->type == GDK_MOTION_NOTIFY && m_scroll_dragging) {
- // These are world-relative coordinates
- double x = event->motion.x_root;
- double y = event->motion.y_root;
-
- //c2w(x, y, x, y);
- //world_to_window(x, y, x, y);
- //window_to_world(event->button.x, event->button.y, x, y);
- //w2c(x, y, x, y);
-
- x_offset += last_x - x;//x + original_scroll_x;
- y_offset += last_y - y;// + original_scroll_y;
-
- //cerr << "Coord: (" << x << "," << y << ")\n";
- //cerr << "Offset: (" << x_offset << "," << y_offset << ")\n";
-
- int temp_x;
- int temp_y;
- w2c(lrint(x_offset), lrint(y_offset),
- temp_x, temp_y);
- scroll_offset_x += temp_x;
- scroll_offset_y += temp_y;
- scroll_to(scroll_offset_x,
- scroll_offset_y);
- last_x = x;
- last_y = y;
- } else if (event->type == GDK_BUTTON_RELEASE && m_scroll_dragging) {
- m_base_rect.ungrab(event->button.time);
- m_scroll_dragging = false;
- } else {
- handled = false;
- }
-
- return handled;
- return false;
-}
-*/
-
-
-bool
-FlowCanvas::select_drag_handler(GdkEvent* event)
-{
- Module* module = NULL;
-
- if (event->type == GDK_BUTTON_PRESS && event->button.button == 1) {
- assert(m_select_rect == NULL);
- m_drag_state = SELECT;
- if ( !(event->button.state & GDK_CONTROL_MASK))
- clear_selection();
- m_select_rect = new Gnome::Canvas::Rect(*root(),
- event->button.x, event->button.y, event->button.x, event->button.y);
- m_select_rect->property_fill_color_rgba() = 0x273344FF;
- m_select_rect->property_outline_color_rgba() = 0xEEEEFFFF;
- m_select_rect->lower_to_bottom();
- m_base_rect.lower_to_bottom();
- return true;
- } else if (event->type == GDK_MOTION_NOTIFY && m_drag_state == SELECT) {
- assert(m_select_rect != NULL);
- m_select_rect->property_x2() = event->button.x;
- m_select_rect->property_y2() = event->button.y;
- return true;
- } else if (event->type == GDK_BUTTON_RELEASE && m_drag_state == SELECT) {
- // Select all modules within rect
- for (ModuleMap::iterator i = m_modules.begin(); i != m_modules.end(); ++i) {
- module = (*i).second;
- if (module->is_within(m_select_rect)) {
- if (module->selected())
- unselect_module(module);
- else
- select_module(module);
- }
- }
-
- delete m_select_rect;
- m_select_rect = NULL;
- m_drag_state = NOT_DRAGGING;
- return true;
- }
- return false;
-}
-
-
-/** Updates m_select_dash for rotation effect, and updates any
- * selected item's borders (and the selection rectangle).
- */
-bool
-FlowCanvas::animate_selected()
-{
- static int i = 10;
-
- if (--i == 0)
- i = 10;
-
- m_select_dash->offset = i;
-
- if (m_select_rect != NULL)
- m_select_rect->property_dash() = m_select_dash;
-
- for (list<Module*>::iterator m = m_selected_modules.begin(); m != m_selected_modules.end(); ++m)
- (*m)->rect()->property_dash() = m_select_dash;
-
- for (list<Connection*>::iterator c = m_selected_connections.begin(); c != m_selected_connections.end(); ++c)
- (*c)->property_dash() = m_select_dash;
-
- return true;
-}
-
-
-bool
-FlowCanvas::connection_drag_handler(GdkEvent* event)
-{
- bool handled = true;
-
- // These are invisible, just used for making connections (while dragging)
- static Module* drag_module = NULL;
- static Port* drag_port = NULL;
-
- static Connection* drag_connection = NULL;
- static Port* snapped_port = NULL;
-
- static bool snapped = false;
-
- if (event->type == GDK_BUTTON_PRESS && event->button.button == 2) {
- m_drag_state = SCROLL;
- } else if (event->type == GDK_MOTION_NOTIFY && m_drag_state == CONNECTION) {
- double x = event->button.x, y = event->button.y;
- root()->w2i(x, y);
-
- if (drag_connection == NULL) { // Havn't created the connection yet
- assert(drag_port == NULL);
- assert(m_connect_port != NULL);
-
- drag_module = new Module(this, "");
- bool drag_port_is_input = true;
- if (m_connect_port->is_input())
- drag_port_is_input = false;
-
- drag_port = new Port(drag_module, "", drag_port_is_input, m_connect_port->colour());
- drag_module->add_port(drag_port);
-
- //drag_port->hide();
- drag_module->hide();
-
- drag_module->move_to(x, y);
-
- drag_port->property_x() = 0;
- drag_port->property_y() = 0;
- drag_port->rect()->property_x2() = 1;
- drag_port->rect()->property_y2() = 1;
- if (drag_port_is_input)
- drag_connection = new Connection(this, m_connect_port, drag_port);
- else
- drag_connection = new Connection(this, drag_port, m_connect_port);
-
- drag_connection->update_location();
- //drag_connection->property_line_style() = Gdk::LINE_DOUBLE_DASH;
- //drag_connection->property_last_arrowhead() = true;
- }
-
- if (snapped) {
- if (drag_connection != NULL) drag_connection->hide();
- Port* p = get_port_at(x, y);
- if (drag_connection != NULL) drag_connection->show();
- if (p != NULL) {
- if (p != m_selected_port) {
- if (snapped_port != NULL)
- snapped_port->hilite(false);
- p->hilite(true);
- snapped_port = p;
- }
- drag_module->property_x() = p->module()->property_x().get_value();
- drag_module->rect()->property_x2() = p->module()->rect()->property_x2().get_value();
- drag_module->property_y() = p->module()->property_y().get_value();
- drag_module->rect()->property_y2() = p->module()->rect()->property_y2().get_value();
- drag_port->property_x() = p->property_x().get_value();
- drag_port->property_y() = p->property_y().get_value();
- } else { // off the port now, unsnap
- if (snapped_port != NULL)
- snapped_port->hilite(false);
- snapped_port = NULL;
- snapped = false;
- drag_module->property_x() = x;
- drag_module->property_y() = y;
- drag_port->property_x() = 0;
- drag_port->property_y() = 0;
- drag_port->rect()->property_x2() = 1;
- drag_port->rect()->property_y2() = 1;
- }
- drag_connection->update_location();
- } else { // not snapped to a port
- assert(drag_module != NULL);
- assert(drag_port != NULL);
- assert(m_connect_port != NULL);
-
- // "Snap" to port, if we're on a port and it's the right direction
- if (drag_connection != NULL) drag_connection->hide();
- Port* p = get_port_at(x, y);
- if (drag_connection != NULL) drag_connection->show();
- if (p != NULL && p->is_input() != m_connect_port->is_input()) {
- p->hilite(true);
- snapped_port = p;
- snapped = true;
- // Make drag module and port exactly the same size/loc as the snapped
- drag_module->move_to(p->module()->property_x().get_value(), p->module()->property_y().get_value());
- drag_module->width(p->module()->width());
- drag_module->height(p->module()->height());
- drag_port->property_x() = p->property_x().get_value();
- drag_port->property_y() = p->property_y().get_value();
- // Make the drag port as wide as the snapped port so the connection coords are the same
- drag_port->rect()->property_x2() = p->rect()->property_x2().get_value();
- drag_port->rect()->property_y2() = p->rect()->property_y2().get_value();
- } else {
- drag_module->property_x() = x;
- drag_module->property_y() = y;
- }
- drag_connection->update_location();
- }
- } else if (event->type == GDK_BUTTON_RELEASE && m_drag_state == CONNECTION) {
- m_base_rect.ungrab(event->button.time);
-
- double x = event->button.x;
- double y = event->button.y;
- m_base_rect.i2w(x, y);
-
- if (drag_connection != NULL) drag_connection->hide();
- Port* p = get_port_at(x, y);
- if (drag_connection != NULL) drag_connection->show();
-
- if (p != NULL) {
- if (p == m_connect_port) { // drag ended on same port it started on
- if (m_selected_port == NULL) { // no active port, just activate (hilite) it
- selected_port(m_connect_port);
- } else { // there is already an active port, connect it with this one
- if (m_selected_port != m_connect_port)
- ports_joined(m_selected_port, m_connect_port);
- selected_port(NULL);
- m_connect_port = NULL;
- snapped_port = NULL;
- }
- } else { // drag ended on different port
- //p->hilite(false);
- ports_joined(m_connect_port, p);
- selected_port(NULL);
- m_connect_port = NULL;
- snapped_port = NULL;
- }
- }
-
- // Clean up dragging stuff
- if (m_connect_port != NULL)
- m_connect_port->hilite(false);
-
- m_drag_state = NOT_DRAGGING;
- delete drag_connection;
- drag_connection = NULL;
- //delete drag_port;
- drag_port = NULL;
- delete drag_module; // deletes drag_port
- drag_module = NULL;
- snapped_port = NULL;
- } else {
- handled = false;
- }
-
- return handled;
-}
-
-
-Port*
-FlowCanvas::get_port_at(double x, double y)
-{
- Gnome::Canvas::Item* item = get_item_at(x, y);
- if (item == NULL) return NULL;
-
- Port* p = NULL;
- // Loop through every port and see if the item at these coordinates is that port
- // yes, this is disgusting ;)
- for (ModuleMap::iterator i = m_modules.begin(); i != m_modules.end(); ++i) {
- for (PortList::iterator j = (*i).second->ports().begin(); j != (*i).second->ports().end(); ++j) {
- p = (*j);
-
- if ((Gnome::Canvas::Item*)p == item
- || (Gnome::Canvas::Item*)(p->rect()) == item
- || (Gnome::Canvas::Item*)(p->label()) == item) {
- return p;
- }
- }
- }
- return NULL;
-}
-
-/*
-void
-FlowCanvas::port_menu_disconnect_all()
-{
- Connection* c = NULL;
- list<Connection*> temp_list = m_selected_port->connections();
- for (list<Connection*>::iterator i = temp_list.begin(); i != temp_list.end(); ++i) {
- c = *i;
- disconnect(c->source_port(), c->dest_port());
- }
-
- selected_port(NULL);
-}
-*/
-
-} // namespace LibFlowCanvas
diff --git a/libs/flowcanvas/src/Module.cpp b/libs/flowcanvas/src/Module.cpp
deleted file mode 100644
index 14f9e3eda6..0000000000
--- a/libs/flowcanvas/src/Module.cpp
+++ /dev/null
@@ -1,472 +0,0 @@
-/* This file is part of FlowCanvas. Copyright (C) 2005 Dave Robillard.
- *
- * FlowCanvas is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at your option) any later
- * version.
- *
- * FlowCanvas is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-
-#include "flowcanvas/Module.h"
-#include "flowcanvas/FlowCanvas.h"
-#include <functional>
-#include <list>
-#include <cstdlib>
-#include <cassert>
-#include <cmath>
-
-using std::string;
-
-namespace LibFlowCanvas {
-
-static const int MODULE_FILL_COLOUR = 0x122A3CFF;
-static const int MODULE_OUTLINE_COLOUR = 0x8899AAFF;
-static const int MODULE_TITLE_COLOUR = 0xDDEEFFFF;
-
-Module::Module(FlowCanvas* patch_bay, const string& name, double x, double y)
-: Gnome::Canvas::Group(*patch_bay->root(), x, y),
- m_name(name),
- m_selected(false),
- m_patch_bay(patch_bay),
- m_module_box(*this, 0, 0, 0, 0), // w, h set later
- m_canvas_title(*this, 0, 6, name) // x set later
-{
- assert(m_patch_bay != NULL);
-
- m_module_box.property_fill_color_rgba() = MODULE_FILL_COLOUR;
-
- m_module_box.property_outline_color_rgba() = MODULE_OUTLINE_COLOUR;
- m_module_box.property_join_style() = Gdk::JOIN_ROUND;
- border_width(1.0);
-
- m_canvas_title.property_size_set() = true;
- m_canvas_title.property_size() = 10000;
- m_canvas_title.property_weight_set() = true;
- m_canvas_title.property_weight() = 400;
- m_canvas_title.property_fill_color_rgba() = MODULE_TITLE_COLOUR;
-
- width(m_canvas_title.property_text_width() + 6.0);
- height(m_canvas_title.property_text_height() + 2.0);
- m_canvas_title.property_x() = m_width/2.0;
-
- signal_event().connect(sigc::mem_fun(this, &Module::module_event));
-}
-
-
-Module::~Module()
-{
- if (m_selected) {
- for (list<Module*>::iterator i = m_patch_bay->selected_modules().begin();
- i != m_patch_bay->selected_modules().end(); ++i)
- {
- if ((*i) == this) {
- m_patch_bay->selected_modules().erase(i);
- break;
- }
- }
- }
- for (PortList::iterator p = m_ports.begin(); p != m_ports.end(); ++p)
- delete (*p);
-}
-
-/** Set the border width of the module.
- *
- * Do NOT directly set the width_units property on the rect, use this function.
- */
-void
-Module::border_width(double w)
-{
- m_border_width = w;
- m_module_box.property_width_units() = w;
-}
-
-
-bool
-Module::module_event(GdkEvent* event)
-{
- assert(event != NULL);
-
- static double x, y;
- static double drag_start_x, drag_start_y;
- double module_x, module_y; // FIXME: bad name, actually mouse click loc
- static bool dragging = false;
- bool handled = true;
-
- module_x = event->button.x;
- module_y = event->button.y;
-
- property_parent().get_value()->w2i(module_x, module_y);
-
- switch (event->type) {
-
- case GDK_2BUTTON_PRESS:
- on_double_click();
- handled = true;
- break;
-
- case GDK_BUTTON_PRESS:
- if (event->button.button == 1) {
- x = module_x;
- y = module_y;
- // Set these so we can tell on a button release if a drag actually
- // happened (if not, it's just a click)
- drag_start_x = x;
- drag_start_y = y;
- grab(GDK_POINTER_MOTION_MASK | GDK_BUTTON_RELEASE_MASK | GDK_BUTTON_PRESS_MASK,
- Gdk::Cursor(Gdk::FLEUR),
- event->button.time);
- dragging = true;
- } else if (event->button.button == 2) {
- on_double_click();
- handled = true;
- } else if (event->button.button == 3) {
- show_menu(&event->button);
- } else {
- handled = false;
- }
- break;
-
- case GDK_MOTION_NOTIFY:
- if ((dragging && (event->motion.state & GDK_BUTTON1_MASK))) {
- double new_x = module_x;
- double new_y = module_y;
-
- // Move any other selected modules if we're selected
- if (m_selected) {
- for (list<Module*>::iterator i = m_patch_bay->selected_modules().begin();
- i != m_patch_bay->selected_modules().end(); ++i)
- {
- (*i)->move(new_x - x, new_y - y);
- }
- } else {
- move(new_x - x, new_y - y);
- }
-
- x = new_x;
- y = new_y;
- } else {
- handled = false;
- }
- break;
-
- case GDK_BUTTON_RELEASE:
- if (dragging) {
- ungrab(event->button.time);
- dragging = false;
- if (module_x != drag_start_x || module_y != drag_start_y) {// dragged
- store_location();
- } else { // just a click
- if (m_selected) {
- m_patch_bay->unselect_module(this);
- assert(!m_selected);
- } else {
- if ( !(event->button.state & GDK_CONTROL_MASK))
- m_patch_bay->clear_selection();
- m_patch_bay->select_module(this);
- assert(m_selected);
- }
- }
- } else {
- handled = false;
- }
- break;
-
- case GDK_ENTER_NOTIFY:
- hilite(true);
- raise_to_top();
- for (PortList::iterator p = m_ports.begin(); p != m_ports.end(); ++p)
- (*p)->raise_connections();
- break;
-
- case GDK_LEAVE_NOTIFY:
- hilite(false);
- break;
-
- default:
- handled = false;
- }
-
- return handled;
-}
-
-
-void
-Module::zoom(float z)
-{
- m_canvas_title.property_size() = static_cast<int>(roundf(10000.0f * z));
- for (PortList::iterator p = m_ports.begin(); p != m_ports.end(); ++p)
- (*p)->zoom(z);
-}
-
-
-void
-Module::hilite(bool b)
-{
- if (b) {
- m_module_box.property_fill_color_rgba() = 0x223553FF;
- } else {
- m_module_box.property_fill_color_rgba() = MODULE_FILL_COLOUR;
- }
-}
-
-
-void
-Module::selected(bool selected)
-{
- m_selected = selected;
- if (selected) {
- m_module_box.property_fill_color_rgba() = 0x223553FF;
- m_module_box.property_outline_color_rgba() = 0xEEEEFFFF;
- m_module_box.property_dash() = m_patch_bay->select_dash();
- m_canvas_title.property_fill_color_rgba() = 0xEEEEFFFF;
- //for (PortList::iterator p = m_ports.begin(); p != m_ports.end(); ++p)
- // (*p)->rect()->property_outline_color_rgba() = 0xEEEEFFFF;
- } else {
- m_module_box.property_fill_color_rgba() = MODULE_FILL_COLOUR;
- m_module_box.property_outline_color_rgba() = MODULE_OUTLINE_COLOUR;
- m_module_box.property_dash() = NULL;
- m_canvas_title.property_fill_color_rgba() = MODULE_TITLE_COLOUR;
- //for (PortList::iterator p = m_ports.begin(); p != m_ports.end(); ++p)
- // (*p)->rect()->property_outline_color_rgba() = 0x8899AAFF;
- }
-}
-
-
-bool
-Module::is_within(const Gnome::Canvas::Rect* const rect)
-{
- const double x1 = rect->property_x1();
- const double y1 = rect->property_y1();
- const double x2 = rect->property_x2();
- const double y2 = rect->property_y2();
-
- if (x1 < x2 && y1 < y2) {
- return (property_x() > x1
- && property_y() > y1
- && property_x() + width() < x2
- && property_y() + height() < y2);
- } else if (x2 < x1 && y2 < y1) {
- return (property_x() > x2
- && property_y() > y2
- && property_x() + width() < x1
- && property_y() + height() < y1);
- } else if (x1 < x2 && y2 < y1) {
- return (property_x() > x1
- && property_y() > y2
- && property_x() + width() < x2
- && property_y() + height() < y1);
- } else if (x2 < x1 && y1 < y2) {
- return (property_x() > x2
- && property_y() > y1
- && property_x() + width() < x1
- && property_y() + height() < y2);
- } else {
- return false;
- }
-}
-
-
-void
-Module::remove_port(const string& port_name, bool resize_to_fit)
-{
- for (PortList::iterator i = m_ports.begin(); i != m_ports.end(); ++i) {
- if ((*i)->name() == port_name) {
- delete (*i);
- i = m_ports.erase(i);
- }
- }
-
- if (resize_to_fit)
- resize();
-}
-
-
-void
-Module::width(double w)
-{
- m_width = w;
- m_module_box.property_x2() = m_module_box.property_x1() + w;
-}
-
-
-void
-Module::height(double h)
-{
- m_height = h;
- m_module_box.property_y2() = m_module_box.property_y1() + h;
-}
-
-
-/** Overloaded Group::move to update connection paths and keep module on the canvas */
-void
-Module::move(double dx, double dy)
-{
- double new_x = property_x() + dx;
- double new_y = property_y() + dy;
-
- if (new_x < 0) dx = property_x() * -1;
- else if (new_x + m_width > m_patch_bay->width()) dx = m_patch_bay->width() - property_x() - m_width;
-
- if (new_y < 0) dy = property_y() * -1;
- else if (new_y + m_height > m_patch_bay->height()) dy = m_patch_bay->height() - property_y() - m_height;
-
- Gnome::Canvas::Group::move(dx, dy);
-
- // Deal with moving the connection lines
- for (PortList::iterator p = ports().begin(); p != ports().end(); ++p)
- (*p)->move_connections();
-}
-
-
-/** Move to the specified absolute coordinate on the canvas */
-void
-Module::move_to(double x, double y)
-{
- if (x < 0) x = 0;
- if (y < 0) y = 0;
- if (x + m_width > m_patch_bay->width()) x = m_patch_bay->width() - m_width;
- if (y + m_height > m_patch_bay->height()) y = m_patch_bay->height() - m_height;
-
- // Man, not many things left to try to get the damn things to move! :)
- property_x() = x;
- property_y() = y;
- move(0, 0);
- // Deal with moving the connection lines
- for (PortList::iterator p = ports().begin(); p != ports().end(); ++p)
- (*p)->move_connections();
-}
-
-
-void
-Module::name(const string& n)
-{
- m_name = n;
- m_canvas_title.property_text() = m_name;
- resize();
-}
-
-/*
-void
-Module::add_port(const string& port_name, bool is_input, int colour, bool resize_to_fit)
-{
- Port* port = new Port(this, port_name, is_input, colour);
-
- port->signal_event().connect(
- sigc::bind<Port*>(sigc::mem_fun(m_patch_bay, &FlowCanvas::port_event), port));
-
- add_port(port, resize_to_fit);
-}
-*/
-
-void
-Module::add_port(Port* port, bool resize_to_fit)
-{
- m_ports.push_back(port);
-
- if (resize_to_fit)
- resize();
-}
-
-
-/** Resize the module to fit its contents best.
- */
-void
-Module::resize()
-{
- double widest_in = 0.0;
- double widest_out = 0.0;
-
- Port* p = NULL;
-
- // Find widest in/out ports
- for (PortList::iterator i = m_ports.begin(); i != m_ports.end(); ++i) {
- p = (*i);
- if (p->is_input() && p->width() > widest_in)
- widest_in = p->width();
- else if (p->is_output() && p->width() > widest_out)
- widest_out = p->width();
- }
-
- // Make sure module is wide enough for ports
- if (widest_in > widest_out)
- width(widest_in + 5.0 + border_width()*2.0);
- else
- width(widest_out + 5.0 + border_width()*2.0);
-
- // Make sure module is wide enough for title
- if (m_canvas_title.property_text_width() + 6.0 > m_width)
- width(m_canvas_title.property_text_width() + 6.0);
-
- // Set height to contain ports and title
- double height_base = m_canvas_title.property_text_height() + 2;
- double h = height_base;
- if (m_ports.size() > 0)
- h += m_ports.size() * ((*m_ports.begin())->height()+2.0);
- height(h);
-
- // Move ports to appropriate locations
-
- double y;
- int i = 0;
- for (PortList::iterator pi = m_ports.begin(); pi != m_ports.end(); ++pi, ++i) {
- Port* p = (*pi);
-
- y = height_base + (i * (p->height() + 2.0));
- if (p->is_input()) {
- p->width(widest_in);
- p->property_x() = 1.0;//border_width();
- p->property_y() = y;
- } else {
- p->width(widest_out);
- p->property_x() = m_width - p->width() - 1.0;//p->border_width();
- p->property_y() = y;
- }
- }
-
- // Center title
- m_canvas_title.property_x() = m_width/2.0;
-
- // Update connection locations if we've moved/resized
- for (PortList::iterator pi = m_ports.begin(); pi != m_ports.end(); ++pi, ++i) {
- (*pi)->move_connections();
- }
-
- // Make things actually move to their new locations (?!)
- move(0, 0);
-}
-
-
-/** Port offset, for connection drawing. See doc/port_offsets.dia */
-double
-Module::port_connection_point_offset(Port* port)
-{
- assert(port->module() == this);
- assert(ports().size() > 0);
-
- return (port->connection_coords().get_y()
- - m_ports.front()->connection_coords().get_y());
-}
-
-
-/** Range of port offsets, for connection drawing. See doc/port_offsets.dia */
-double
-Module::port_connection_points_range()
-{
- assert(m_ports.size() > 0);
-
- double ret = fabs(m_ports.back()->connection_coords().get_y()
- - m_ports.front()->connection_coords().get_y());
-
- return (ret < 1.0) ? 1.0 : ret;
-}
-
-
-} // namespace LibFlowCanvas
diff --git a/libs/flowcanvas/src/Port.cpp b/libs/flowcanvas/src/Port.cpp
deleted file mode 100644
index 8310b484c3..0000000000
--- a/libs/flowcanvas/src/Port.cpp
+++ /dev/null
@@ -1,189 +0,0 @@
-/* This file is part of FlowCanvas. Copyright (C) 2005 Dave Robillard.
- *
- * FlowCanvas is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at your option) any later
- * version.
- *
- * FlowCanvas is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-
-#include <libgnomecanvasmm/libgnomecanvasmm.h>
-#include "flowcanvas/Port.h"
-#include "flowcanvas/Module.h"
-#include "flowcanvas/FlowCanvas.h"
-
-namespace LibFlowCanvas {
-
-
-Port::Port(Module* module, const string& name, bool is_input, int color)
-: Gnome::Canvas::Group(*module, 0, 0),
- m_module(module),
- m_name(name),
- m_is_input(is_input),
- m_colour(color),
- m_label(*this, 1, 1, m_name),
- m_rect(*this, 0, 0, 0, 0)
-{
- m_menu.items().push_back(Gtk::Menu_Helpers::MenuElem(
- "Disconnect All", sigc::mem_fun(this, &Port::disconnect_all)));
-
- m_rect.property_fill_color_rgba() = color;
-
- // Make rectangle pretty
- //m_rect.property_outline_color_rgba() = 0x8899AAFF;
- m_rect.property_outline_color_rgba() = color;
- m_rect.property_join_style() = Gdk::JOIN_MITER;
- border_width(1.0);
-
- // Make label pretty
- m_label.property_size() = PORT_LABEL_SIZE;
- m_label.property_fill_color_rgba() = 0xFFFFFFFF;
- m_label.property_weight() = 200;
-
- m_width = m_label.property_text_width() + 4.0;
- m_height = m_label.property_text_height();
-
- // Place everything
- m_rect.property_x1() = 0;
- m_rect.property_y1() = 0;
- m_rect.property_x2() = m_width;
- m_rect.property_y2() = m_height;
- m_label.property_x() = m_label.property_text_width() / 2 + 1;
- m_label.property_y() = m_height / 2;
-
- m_label.raise_to_top();
-
-}
-
-
-/** Set the border width of the port's rectangle.
- *
- * Do NOT directly set the width_units property on the rect, use this function.
- */
-void
-Port::border_width(double w)
-{
- m_border_width = w;
- m_rect.property_width_units() = w;
-}
-
-
-void
-Port::name(const string& n)
-{
- m_name = n;
-
- // Reposition label
- m_label.property_text() = m_name;
- m_width = m_label.property_text_width() + 4.0;
- m_height = m_label.property_text_height();
- m_rect.property_x2() = m_width;
- m_rect.property_y2() = m_height;
- m_label.property_x() = m_label.property_text_width() / 2 + 1;
- m_label.property_y() = m_height / 2;
-
- m_module->resize();
-}
-
-
-void
-Port::zoom(float z)
-{
- m_label.property_size() = static_cast<int>(8000 * z);
-}
-
-
-/** Update the location of all connections to/from this port if this port has moved */
-void
-Port::move_connections()
-{
- for (list<Connection*>::iterator i = m_connections.begin(); i != m_connections.end(); i++) {
- ((Connection*)(*i))->update_location();
- }
-}
-
-
-void
-Port::remove_connection(Connection* c)
-{
- m_connections.erase(
- find(m_connections.begin(), m_connections.end(), c)
- );
-}
-
-
-void
-Port::disconnect_all()
-{
- Connection* c = NULL;
- list<Connection*> temp_list = m_connections;
- for (list<Connection*>::iterator i = temp_list.begin(); i != temp_list.end(); ++i) {
- c = *i;
- m_module->patch_bay()->disconnect(c->source_port(), c->dest_port());
- }
-}
-
-
-void
-Port::hilite(bool b)
-{
- m_module->hilite(b);
-
- for (list<Connection*>::iterator i = m_connections.begin(); i != m_connections.end(); ++i) {
- (*i)->hilite(b);
- if (b)
- (*i)->raise_to_top();
- }
-
- if (b) {
- raise_to_top();
- m_rect.raise_to_top();
- m_label.raise_to_top();
- m_rect.property_fill_color_rgba() = m_colour + 0x33333300;
- } else {
- m_rect.property_fill_color_rgba() = m_colour;
- }
-}
-
-
-void
-Port::raise_connections()
-{
- for (list<Connection*>::iterator i = m_connections.begin(); i != m_connections.end(); ++i) {
- (*i)->raise_to_top();
- }
-}
-
-
-// Returns the world-relative coordinates of where a connection line
-// should attach
-Gnome::Art::Point
-Port::connection_coords()
-{
- double x = (is_input()) ? m_rect.property_x1()-1.0 : m_rect.property_x2()+1.0;
- double y = m_rect.property_y1() + m_height / 2;
-
- i2w(x, y); // convert to world-relative coords
-
- return Gnome::Art::Point(x, y);
-}
-
-
-void
-Port::width(double w)
-{
- double diff = w - m_width;
- m_rect.property_x2() = m_rect.property_x2() + diff;
- m_width = w;
-}
-
-
-} // namespace LibFlowCanvas
diff --git a/libs/glibmm2/ChangeLog b/libs/glibmm2/ChangeLog
index 2862d348ff..af229af44e 100644
--- a/libs/glibmm2/ChangeLog
+++ b/libs/glibmm2/ChangeLog
@@ -1,3 +1,370 @@
+2.14.2:
+
+2007-10-22 Murray Cumming <murrayc@murrayc.com>
+
+ * Merged this change from 2007-03-03 from the glibmm-2-12 branch, which was
+ missing from this branch:
+ * configure.in:
+ * glib/glibmmconfig.h.in:
+ * glib/src/date.ccg:
+ * glib/src/date.hg:
+ * scripts/Makefile.am:
+ * scripts/c_std.m4: Added a test for the case that time_t is equivalent to
+ guint32, as seems to be the case on NetBSD-4.99.6/amd64, so we can ifdef-out
+ the (deprecated, anyway) Glib::Date::set_time(GTime) method when necessary, because
+ GTime is also equivalent to guint32.
+ Bug #386990.
+
+2007-10-12 Armin Burgmeier <armin@openismus.com>
+
+ * tools/m4/base.m4: Added a new section called SECTION_HEADER_FIRST
+ that within the header file that is before any generated code (apart
+ from the include guards) and a _CONFIGINCLUDE macro that includes a
+ file within this section. This is intended to be used with
+ g*mmconfig.h so the *_DISABLE_DEPRECATED define is set for deprecated
+ classes also when included from other code.
+
+2.14.1:
+
+2007-09-29 Rémi Cardona <remi@gentoo.org>
+
+ * configure.in:
+ increase the minimum glib requirements.
+ Bug #481566.
+
+2007-10-02 Murray Cumming <murrayc@murrayc.com>
+
+ * glib/glibmm/wrap.cc:
+ * glib/glibmm/wrap.h: Replaced wrap_create_new_wrapper()
+ (introduced by the last commit) with wrap_create_new_wrapper(),
+ allowing us to check that the parent GType actually implements
+ the interface. This allows us to return a parent known type
+ if it implements the wanted interface.
+
+2007-09-25 Murray Cumming <murrayc@murrayc.com>
+
+ * glib/glibmm/wrap.cc:
+ * glib/glibmm/wrap.h: Added wrap_auto_interface<>(), which should
+ be used by wrap() specializations for interfaces, so we create
+ instances of the interface even if the derived C type is unknown to
+ us.
+ * glib/glibmm/signalproxy_connectionnode.h: Do not wrap.h from here
+ unnecessarily, to allow us to include objectbase.h in wrap.h,
+ needed by the new templated method.
+ * tools/m4/class_interface.m4: Use wrap_auto_interface<>()
+ instead of wrap_auto() for interfaces.
+
+2.14.0:
+
+2007-09-06 Daniel Elstner <danielk@openismus.com>
+
+ * glib/src/regex.{ccg,hg} (Regex): Some cosmetic cleanup. Also
+ replace C-style casts in default argument values with static_cast<>.
+ (escape_string): Wrap missing function.
+ (match_full): Rename to and add as overloads of match().
+ (match_all_full): Rename to and add as overloads of match_all().
+ (split_full): Rename to and add as overloads of split().
+
+ This has freeze-break approval from the release team.
+
+2007-08-16 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * docs/reference/glibmm_footer.html_fragment,
+ docs/reference/glibmm_header.html_fragment: added <div> to doxygen header
+ and footer to make it easier to integrate with library.gnome.org, per a
+ request by Frederic Peters
+
+2.13.9:
+
+2007-07-28 Murray Cumming <murrayc@murrayc.com>
+
+ * glib/src/keyfile.hg:
+ * glib/src/keyfile.ccg: Added a set_double() without the group_name
+ parameter, because the C function can take NULL.
+ * glib/src/glib_docs_override.xml: Corrected the documnentation for
+ g_keyfile_set/get_double() to mention 2.14, instead of 2.12,
+ because we only added these to glibmm in 2.14.
+ * glib/src/regex.hg: Correct the since documentation to be 2.14
+ not 2.12.
+ * glib/src/iochannel.hg: read(): Corrected a parameter name to
+ match the generated documentation.
+ * glib/glibmm/miscutils.h: Fixed typos in the use of newin2p14.
+
+2007-07-28 Murray Cumming <murrayc@murrayc.com>
+
+ * docs/Makefile_web.am_fragment: Corrected the rsync options, to
+ match those used by gtkmm, to fix the examples upload.
+ * glib/src/glib_docs.xml: Regenerated from the C documentation.
+
+2007-07-14 Murray Cumming <murrayc@murrayc.com>
+
+ * glib/src/keyfile.ccg:
+ * glib/src/keyfile.hg: Added get_double(), set_double(), get_double_list()
+ and set_double_list().
+
+2.13.8:
+
+2007-07-07 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * glib/src/optioncontext.ccg:
+ * glib/src/optioncontext.hg: add some new API that was added in glib 2.12,
+ including get/set_summary(), get/set_description(), set_translation_domain(),
+ and set_translate_func().
+ * glib/src/glib_docs.xml: Regenerated with docextract_to_xml.py
+ * glib/src/glib_docs_override.xml: override docs for the new functions so
+ that they say that they were introduced in glibmm 2.14 instead of 2.12
+
+2007-07-02 Johannes Schmid <johannes.schmid@openismus.com>
+
+ * glib/src/regex.hg:
+ Added class documentation
+
+2007-07-02 Murray Cumming <murrayc@murrayc.com>
+
+ * tools/pm/DocsParser.pm: convert_tags_to_doxygen():
+ Handle newin markers for 2.12 and a few after that.
+ * docs/reference/Doxyfile.in: Added ALIASES for newin2p12 and
+ a few more.
+
+2.13.7:
+
+2007-06-22 Murray Cumming <murrayc@murrayc.com>
+
+ * glib/glibmm/main.cc:
+ * glib/glibmm/main.h: Added SignalTimeout::connect_seconds()
+ as an equivalent for g_timeout_add_seconds() and took the improved
+ documentation from glib.
+
+ * glib/glibmm/miscutils.cc:
+ * glib/glibmm/miscutils.h: Added get_user_special_dir(), though we
+ should maybe wrap the enum.
+ Reimplemented many of the functions with the
+ convert_return_gchar_ptr_to_stdstring() and
+ convert_const_gchar_ptr_to_stdstring() functions to simplify them
+ and make them handle NULLs properly.
+
+2007-06-22 Murray Cumming <murrayc@murrayc.com>
+
+ * glib/src/regex.ccg:
+ * glib/src/regex.hg: Added a create() method, and added some
+ more default parameter values to the methods.
+
+ * configure.in:
+ * examples/Makefile.am:
+ * examples/regex/main.cc: Added a very simple example.
+
+ * glib/glibmm/value_custom.h: Put header guards around this, though
+ this should never be included directly anyway.
+
+2.13.6:
+
+2007-06-17 Murray Cumming <murrayc@murrayc.com>
+
+ * glib/src/regex.hg:
+ * glib/src/matchinfo.hg: Removed API that uses GMatchInfo, until we
+ wrap this properly, probably as a C++ iterator. This will avoid this
+ API accidentally being released as stable sometime.
+
+2007-06-12 Murray Cumming <murrayc@murrayc.com>
+
+ * glib/src/glib_enums.defs: Regenerated with enums.pl
+ * glib/src/glib_functions.defs: Regenerated with h2defs.py
+
+ * glib/src/Makefile_list_of_hg.am_fragment:
+ * tools/m4/convert_glib.m4:
+ * glib/src/matchinfo.ccg:
+ * glib/src/matchinfo.hg:
+ * glib/src/regex.ccg:
+ * glib/src/regex.hg: Added the RegEx and MatchInfo classes.
+ These need some examples to test them. The MatchInfo class is
+ probably particularly broken at the moment. See the TODO comments.
+
+ * glib/glibmm.h: Added regex.h
+
+2007-05-14 Murray Cumming <murrayc@murrayc.com>
+
+ * tools/m4/class_boxedtype.m4:
+ * tools/m4/class_gobject.m4:
+ * tools/m4/class_gtkobject.m4:
+ * tools/m4/class_interface.m4:
+ * tools/m4/class_opaque_copyable.m4:
+ * tools/m4/class_opaque_refcounted.m4: Explicitly mention Glib::wrap()
+ in the documentation for generated Glib::wrap() functions, because doxygen
+ does not show their namespace.
+
+2007-05-04 Murray Cumming <murrayc@murrayc.com>
+
+ * tools/pm/Function.pm: When generating example prototypes for
+ signal handlers, prefix them with on_my_, to avoid confusion with
+ similarly named functions and with on_*() default signal handlers.
+
+2.13.5:
+
+2007-04-30 Johannes Schmid <johannes.schmid@openismus.com>
+
+ * tools/generate_wrap_init.pl.in:
+ * tools/m4/class_gtkobject.m4:
+ Use _IS_DEPRECATED instead of _CLASS_DEPRECATED because
+ the latter confuses gmmproc.
+ We cannot just use _DEPRECATED because it will result
+ in incorrect handling of for example
+ #ifndef GTKMM_DISABLE_DEPRECATED
+
+2007-04-24 Yselkowitz <yselkowitz@users.sourceforge.net>
+
+ * scripts/macros.m4: Check for both m4 and M4 in the GNU m4 output,
+ to fix the build on some platforms.
+ Bug #423990
+
+2.13.4:
+
+2007-04-11 Armin Burgmeier <armin@openismus.com>
+
+ * tools/pm/WrapParser.pm: Added peek_token() function which only
+ returns the next token without removing it from the tokens array.
+ Parse '/**' as a separate token and handle it in a special way so that
+ when the final '*/' is encountered and _WRAP_SIGNAL follows, the
+ comment is not terminated but continued by that automatically
+ generated doxygen comment.
+
+ * tools/pm/Output.pm: Added a merge_doxygen_comment_with_previous
+ parameter in output_wrap_sig_decl(). If it is nonzero, the function
+ assumes that there is already a comment open and continues to use it
+ instead of opening a new comment by removing the leading '/**' from
+ what get_refdoc_comment() returns. Bug #378810.
+
+2007-04-06 Johannes Schmid <johannes.schmid@openismus.com>
+
+ * tools/generate_wrap_init.pl.in:
+ Use _CLASS_DEPRECATE instead of just _DEPRECATE to
+ known whether a whole class should be avoided in wrap_init.
+ Otherwise every .hg file containing deprecated methods
+ might get ignored. (Fixes Gtk::TextBuffer bug in maemo)
+
+2007-03-19 Bradley Bell <btb@debian.org>
+
+ * glib/glibmm/helperlist.h: Change variable name to avoid
+ warnings about a shadowed member.
+ Bug #420316.
+
+2007-03-19 Bradley Bell <btb@debian.org>
+
+ * glib/glibmm/utility.h: remove g_free prototype, include gmem.h
+ instead, to avoid a warning about a redundant declaration.
+ Bug #420339.
+
+2007-03-17 Armin Burgmeier <armin@openismus.com>
+
+ * tools/m4/signal.m4:
+ * tools/m4/vfunc.m4:
+ Use static_cast in vfuncs and signal handlers to cast the
+ wrapper object to ObjectBase*. This is enough to check whether the object is
+ from a derived type or not. A slow dynamic_cast has only to be performed if it
+ is derived, and the C++ vfunc needs to be called.
+ * glib/glibmm/objectbase.h: This requires ObjectBase::is_derived_ to be public,
+ because it is called on a ObjectBase* rather than the actual type.
+ This causes a slight speed up of vfuncs and default signal handler invokation.
+
+ Also added commented-out inline versions of ObjectBase::_get_current_wrapper() and
+ ObjectBase::is_derived(), which could be used in the generated code if we find
+ that this has significant performance benefits. Note that these methods must be
+ additional to the non-inline methods, because inline methods are not usually exported in the
+ shared library.
+
+2007-02-10 Murray Cumming <murrayc@murrayc.com>
+
+ * examples/options/main.cc: Use a default value, to show that it
+ can be done.
+ (This change, from 2006-03-30 was restored after being accidentally lost on Apr 12 2006)
+
+2007-02-10 Armin Burgmeier <armin@arbur.net>
+
+ * glib/src/optiongroup.ccg: default_c_arg(): Set the initial
+ value of the C argument to the value the C++ argument has, to avoid
+ that glibmm resets arguments to zero that were not given on the
+ command line.
+ (This change, from 2006-03-30 was restored after being accidentally lost on Apr 12 2006)
+
+2007-01-28 Daniel Elstner <daniel.kitta@gmail.com>
+
+ * tools/m4/ctor.m4: If the argument list is empty, call the non-
+ varargs overload of the Glib::ConstructParams constructor instead
+ of using an empty varargs list. This mistake was exposed thanks
+ to the recent addition of G_GNUC_NULL_TERMINATED to the varargs
+ constructor declaration. Fortunately it was harmless in this case.
+ Also use the opportunity to clean up the M4 code and prefix builtin
+ M4 macros with m4_, so that we may get rid of the unprefixed macros
+ altogether some day.
+
+Thu, 25 Jan 2007 23:13:05 +0100 Dodji Seketeli
+
+ * tools/m4/base.m4:
+ prefix the builting mkstemp with 'm4' because otherwise,
+ m4 1.4.8 recognizes it as a builtin macro and expands it, leading
+ to compilation errors on some distros.
+ This should fix #397167. Thanks to Daniel Elstner for spotting this.
+
+2007-01-20 Daniel Elstner <daniel.kitta@gmail.com>
+
+ * glib/glibmm/dispatcher.{cc,h}: Early spring cleaning. Also add
+ a paragraph about Dispatcher on win32 to the documentation.
+ (DispatchNotifyData): Remove the 'tag' member from the struct that
+ was always set to 0xdeadbeef in order to detect memory corruption.
+ This is pointless, as we already check the DispatchNotifier pointer
+ sent across the pipe, which is a far better indicator of corruption
+ anyway.
+ (warn_failed_pipe_io): Remove the err_no parameter and retrieve
+ errno respectively GetLastError() within the function instead.
+ (DispatchNotifier::conn_io_handler_): Remove, as we now inherit
+ from sigc::trackable. I verified that this doesn't cause problems
+ with threading in this particular case.
+ (DispatchNotifier::DispatchNotifier): If creating the pipe failed
+ and exceptions are disabled, call at least warn_failed_pipe_io()
+ instead of doing nothing at all.
+ (DispatchNotifier::*): Rework the win32 implementation so that it
+ matches more closely the Dispatcher semantics on Unix. This still
+ needs testing by someone on win32, though. So far I only verified
+ that it compiles with dummy definitions of the win32 API. Also,
+ I accidentally located the real cause of the race condition Cedric
+ experienced in bug #109966. It was a bug in my patch, rather than
+ in the example code.
+
+ * examples/thread/dispatcher.cc: Cleanup. In particular, get rid
+ of the Glib::RefPtr<> abuse with non-Glib::Object types. I don't
+ believe we endorse such usage officially, so it shouldn't be in
+ the examples.
+
+2007-01-20 Daniel Elstner <daniel.kitta@gmail.com>
+
+ * glib/glibmm/miscutils.cc: Clean up the code a bit.
+ (get_application_name): Remove the code that checked the string for
+ valid UTF-8, and attempted conversion if not valid. I must have
+ been on crack when I wrote this, as the combination of conditions
+ that would cause the string to be invalid UTF-8 is quite unlikely.
+ If this is a valid concern at all, it should be filed as a GLib bug
+ and not worked around in glibmm.
+ (build_filename(const std::string&, const std::string&)): Just call
+ the plain g_build_filename() instead of building a temporary array
+ and passing that via ArrayHandle to the build_filename() overload
+ for containers.
+ (build_path): Remove the already deactivated custom implementation
+ from the time before g_build_pathv() was added to GLib.
+
+ * glib/glibmm/object.{cc,h}: Improve/fix a couple of comments.
+ (ConstructParams::ConstructParams): Add G_GNUC_NULL_TERMINATED
+ function attribute to make the compiler complain if the variadic
+ argument list is not terminated by a NULL pointer.
+
+ * glib/glibmm/ustring.{cc,h} (utf8_find_last_of): Avoid applying
+ bitwise logical operators directly to (possibly signed) operands
+ of char type. In order to avoid relying on implementation-defined
+ behavior, make sure that the operands are of unsigned integer type.
+ (ustring::is_ascii): Likewise,
+ (ustring_Iterator<T>::operator--): Likewise.
+ (get_unichar_from_std_iterator): De-obfuscate this highly optimized
+ piece of code, as the current stable release of GCC (4.1.2-pre on
+ my system) generates better assembler output without the voodoo.
+
2.13.3:
2006-11-28 Daniel Elstner <danielk@openismus.com>
diff --git a/libs/glibmm2/INSTALL b/libs/glibmm2/INSTALL
index 23e5f25d0e..5458714e1e 100644
--- a/libs/glibmm2/INSTALL
+++ b/libs/glibmm2/INSTALL
@@ -1,8 +1,8 @@
Installation Instructions
*************************
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
-Software Foundation, Inc.
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
+2006 Free Software Foundation, Inc.
This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
@@ -10,7 +10,10 @@ unlimited permission to copy, distribute and modify it.
Basic Installation
==================
-These are generic installation instructions.
+Briefly, the shell commands `./configure; make; make install' should
+configure, build, and install this package. The following
+more-detailed instructions are generic; see the `README' file for
+instructions specific to this package.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
@@ -23,9 +26,9 @@ debugging `configure').
It can also use an optional file (typically called `config.cache'
and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring. (Caching is
+the results of its tests to speed up reconfiguring. Caching is
disabled by default to prevent problems with accidental use of stale
-cache files.)
+cache files.
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
@@ -35,20 +38,17 @@ some point `config.cache' contains results you don't want to keep, you
may remove or edit it.
The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'. You only need
-`configure.ac' if you want to change it or regenerate `configure' using
-a newer version of `autoconf'.
+`configure' by a program called `autoconf'. You need `configure.ac' if
+you want to change it or regenerate `configure' using a newer version
+of `autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
- `./configure' to configure the package for your system. If you're
- using `csh' on an old version of System V, you might need to type
- `sh ./configure' instead to prevent `csh' from trying to execute
- `configure' itself.
+ `./configure' to configure the package for your system.
- Running `configure' takes awhile. While running, it prints some
- messages telling which features it is checking for.
+ Running `configure' might take a while. While running, it prints
+ some messages telling which features it is checking for.
2. Type `make' to compile the package.
@@ -78,7 +78,7 @@ details on some of the pertinent environment variables.
by setting variables in the command line or in the environment. Here
is an example:
- ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
+ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
*Note Defining Variables::, for more details.
@@ -87,17 +87,15 @@ Compiling For Multiple Architectures
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
-own directory. To do this, you must use a version of `make' that
-supports the `VPATH' variable, such as GNU `make'. `cd' to the
+own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
- If you have to use a `make' that does not support the `VPATH'
-variable, you have to compile the package for one architecture at a
-time in the source code directory. After you have installed the
-package for one architecture, use `make distclean' before reconfiguring
-for another architecture.
+ With a non-GNU `make', it is safer to compile the package for one
+architecture at a time in the source code directory. After you have
+installed the package for one architecture, use `make distclean' before
+reconfiguring for another architecture.
Installation Names
==================
@@ -190,12 +188,12 @@ them in the `configure' command line, using `VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc
causes the specified `gcc' to be used as the C compiler (unless it is
-overridden in the site shell script). Here is a another example:
+overridden in the site shell script).
- /bin/bash ./configure CONFIG_SHELL=/bin/bash
+Unfortunately, this technique does not work for `CONFIG_SHELL' due to
+an Autoconf bug. Until the bug is fixed you can use this workaround:
-Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
-configuration-related scripts to be executed by `/bin/bash'.
+ CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
`configure' Invocation
======================
diff --git a/libs/glibmm2/MSVC_Net2003/Makefile b/libs/glibmm2/MSVC_Net2003/Makefile
deleted file mode 100644
index 9e94b9c52b..0000000000
--- a/libs/glibmm2/MSVC_Net2003/Makefile
+++ /dev/null
@@ -1,507 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# MSVC_Net2003/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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.
-
-
-srcdir = .
-top_srcdir = ..
-
-pkgdatadir = $(datadir)/glibmm
-pkglibdir = $(libdir)/glibmm
-pkgincludedir = $(includedir)/glibmm
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-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 = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-subdir = MSVC_Net2003
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run aclocal-1.9 -I ./scripts
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run tar
-AR = ar
-AS = as
-AUTOCONF = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run autoconf
-AUTOHEADER = :
-AUTOMAKE = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS =
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2 -Wall -Wno-long-long
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-DISABLE_DEPRECATED_API_CFLAGS =
-DISABLE_DEPRECATED_CFLAGS =
-DLLTOOL = dlltool
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-GLIBMM_CFLAGS = -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GLIBMM_LIBS = -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
-GLIBMM_MAJOR_VERSION = 2
-GLIBMM_MICRO_VERSION = 3
-GLIBMM_MINOR_VERSION = 13
-GLIBMM_RELEASE = 2.13
-GLIBMM_VERSION = 2.13.3
-GTHREAD_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GTHREAD_LIBS = -pthread -lgthread-2.0 -lrt -lglib-2.0
-GTKMMPROC_MERGECDOCS =
-GTKMM_DOXYGEN_INPUT = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/glib/glibmm/
-GTKMM_FALSE_FALSE =
-GTKMM_FALSE_TRUE = #
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBGLIBMM_SO_VERSION = 1:24:0
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-M4 = m4
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run makeinfo
-OBJDUMP = objdump
-OBJEXT = o
-OS_WIN32_FALSE =
-OS_WIN32_TRUE = #
-PACKAGE = glibmm
-PACKAGE_BUGREPORT =
-PACKAGE_NAME =
-PACKAGE_STRING =
-PACKAGE_TARNAME =
-PACKAGE_VERSION =
-PATH_SEPARATOR = :
-PERL_PATH = /usr/bin/perl
-PKG_CONFIG = /usr/bin/pkg-config
-PLATFORM_WIN32_FALSE =
-PLATFORM_WIN32_TRUE = #
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.13.3
-ac_ct_AR = ar
-ac_ct_AS =
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_DLLTOOL =
-ac_ct_F77 =
-ac_ct_OBJDUMP =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-ac_pt_PKG_CONFIG = /usr/bin/pkg-config
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target_alias =
-SUBDIRS = gendef glibmm examples tests
-EXTRA_DIST = blank.cpp glibmm.sln README
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu MSVC_Net2003/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: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# 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):
- @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; \
- (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"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @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; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- 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 || \
- tags="$$tags $$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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- 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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && 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)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-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)
-
-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-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-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-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive \
- mostlyclean mostlyclean-generic mostlyclean-libtool \
- mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-info-am
-
-# 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:
diff --git a/libs/glibmm2/MSVC_Net2003/Makefile.am b/libs/glibmm2/MSVC_Net2003/Makefile.am
deleted file mode 100644
index 11f3ce0f3d..0000000000
--- a/libs/glibmm2/MSVC_Net2003/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-SUBDIRS = gendef glibmm examples tests
-
-EXTRA_DIST = blank.cpp glibmm.sln README
diff --git a/libs/glibmm2/MSVC_Net2003/README b/libs/glibmm2/MSVC_Net2003/README
deleted file mode 100644
index a269667c1e..0000000000
--- a/libs/glibmm2/MSVC_Net2003/README
+++ /dev/null
@@ -1,13 +0,0 @@
-Building glibmm-2.4 with Visual Studio .NET 2003
-
-* You will need Visual Studio .NET 2003 (MSVC 7.1). Earlier versions of the compiler, including 6.0 and 7.0 will not work.
-* Install the latest Win32 GTK+ Development Environment from the Glade for Windows project, http://gladewin32.sourceforge.net.
-* Build libsigc++ 2.0.6 or later from source, http://sourceforge.net/project/showfiles.php?group_id=1970&package_id=76644.
-* Add libsigc++ to the include and lib paths in Visual Studio.
-* Load the glibmm/MSVC_Net2003/glibmm.sln solution.
-* Build the entire solution.
-* Run the tests.
-
-Timothy M. Shead
-10/19/2004
-
diff --git a/libs/glibmm2/MSVC_Net2003/examples/Makefile b/libs/glibmm2/MSVC_Net2003/examples/Makefile
deleted file mode 100644
index f5d67112e3..0000000000
--- a/libs/glibmm2/MSVC_Net2003/examples/Makefile
+++ /dev/null
@@ -1,506 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# MSVC_Net2003/examples/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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.
-
-
-srcdir = .
-top_srcdir = ../..
-
-pkgdatadir = $(datadir)/glibmm
-pkglibdir = $(libdir)/glibmm
-pkgincludedir = $(includedir)/glibmm
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-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 = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-subdir = MSVC_Net2003/examples
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run aclocal-1.9 -I ./scripts
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run tar
-AR = ar
-AS = as
-AUTOCONF = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run autoconf
-AUTOHEADER = :
-AUTOMAKE = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS =
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2 -Wall -Wno-long-long
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-DISABLE_DEPRECATED_API_CFLAGS =
-DISABLE_DEPRECATED_CFLAGS =
-DLLTOOL = dlltool
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-GLIBMM_CFLAGS = -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GLIBMM_LIBS = -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
-GLIBMM_MAJOR_VERSION = 2
-GLIBMM_MICRO_VERSION = 3
-GLIBMM_MINOR_VERSION = 13
-GLIBMM_RELEASE = 2.13
-GLIBMM_VERSION = 2.13.3
-GTHREAD_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GTHREAD_LIBS = -pthread -lgthread-2.0 -lrt -lglib-2.0
-GTKMMPROC_MERGECDOCS =
-GTKMM_DOXYGEN_INPUT = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/glib/glibmm/
-GTKMM_FALSE_FALSE =
-GTKMM_FALSE_TRUE = #
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBGLIBMM_SO_VERSION = 1:24:0
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-M4 = m4
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run makeinfo
-OBJDUMP = objdump
-OBJEXT = o
-OS_WIN32_FALSE =
-OS_WIN32_TRUE = #
-PACKAGE = glibmm
-PACKAGE_BUGREPORT =
-PACKAGE_NAME =
-PACKAGE_STRING =
-PACKAGE_TARNAME =
-PACKAGE_VERSION =
-PATH_SEPARATOR = :
-PERL_PATH = /usr/bin/perl
-PKG_CONFIG = /usr/bin/pkg-config
-PLATFORM_WIN32_FALSE =
-PLATFORM_WIN32_TRUE = #
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.13.3
-ac_ct_AR = ar
-ac_ct_AS =
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_DLLTOOL =
-ac_ct_F77 =
-ac_ct_OBJDUMP =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-ac_pt_PKG_CONFIG = /usr/bin/pkg-config
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target_alias =
-SUBDIRS = dispatcher dispatcher2 markup options thread thread_pool
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu MSVC_Net2003/examples/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: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# 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):
- @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; \
- (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"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @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; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- 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 || \
- tags="$$tags $$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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- 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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && 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)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-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)
-
-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-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-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-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive \
- mostlyclean mostlyclean-generic mostlyclean-libtool \
- mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-info-am
-
-# 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:
diff --git a/libs/glibmm2/MSVC_Net2003/examples/Makefile.am b/libs/glibmm2/MSVC_Net2003/examples/Makefile.am
deleted file mode 100644
index 7e882e1d6d..0000000000
--- a/libs/glibmm2/MSVC_Net2003/examples/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-SUBDIRS = dispatcher dispatcher2 markup options thread thread_pool
-
-
diff --git a/libs/glibmm2/MSVC_Net2003/examples/dispatcher/Makefile b/libs/glibmm2/MSVC_Net2003/examples/dispatcher/Makefile
deleted file mode 100644
index f8893d9b60..0000000000
--- a/libs/glibmm2/MSVC_Net2003/examples/dispatcher/Makefile
+++ /dev/null
@@ -1,349 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# MSVC_Net2003/examples/dispatcher/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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.
-
-
-srcdir = .
-top_srcdir = ../../..
-
-pkgdatadir = $(datadir)/glibmm
-pkglibdir = $(libdir)/glibmm
-pkgincludedir = $(includedir)/glibmm
-top_builddir = ../../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-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 = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-subdir = MSVC_Net2003/examples/dispatcher
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run aclocal-1.9 -I ./scripts
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run tar
-AR = ar
-AS = as
-AUTOCONF = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run autoconf
-AUTOHEADER = :
-AUTOMAKE = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS =
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2 -Wall -Wno-long-long
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-DISABLE_DEPRECATED_API_CFLAGS =
-DISABLE_DEPRECATED_CFLAGS =
-DLLTOOL = dlltool
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-GLIBMM_CFLAGS = -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GLIBMM_LIBS = -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
-GLIBMM_MAJOR_VERSION = 2
-GLIBMM_MICRO_VERSION = 3
-GLIBMM_MINOR_VERSION = 13
-GLIBMM_RELEASE = 2.13
-GLIBMM_VERSION = 2.13.3
-GTHREAD_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GTHREAD_LIBS = -pthread -lgthread-2.0 -lrt -lglib-2.0
-GTKMMPROC_MERGECDOCS =
-GTKMM_DOXYGEN_INPUT = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/glib/glibmm/
-GTKMM_FALSE_FALSE =
-GTKMM_FALSE_TRUE = #
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBGLIBMM_SO_VERSION = 1:24:0
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-M4 = m4
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run makeinfo
-OBJDUMP = objdump
-OBJEXT = o
-OS_WIN32_FALSE =
-OS_WIN32_TRUE = #
-PACKAGE = glibmm
-PACKAGE_BUGREPORT =
-PACKAGE_NAME =
-PACKAGE_STRING =
-PACKAGE_TARNAME =
-PACKAGE_VERSION =
-PATH_SEPARATOR = :
-PERL_PATH = /usr/bin/perl
-PKG_CONFIG = /usr/bin/pkg-config
-PLATFORM_WIN32_FALSE =
-PLATFORM_WIN32_TRUE = #
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.13.3
-ac_ct_AR = ar
-ac_ct_AS =
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_DLLTOOL =
-ac_ct_F77 =
-ac_ct_OBJDUMP =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-ac_pt_PKG_CONFIG = /usr/bin/pkg-config
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target_alias =
-EXTRA_DIST = dispatcher.vcproj
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/dispatcher/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu MSVC_Net2003/examples/dispatcher/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: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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
-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:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-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-info-am
-
-.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-exec install-exec-am \
- install-info install-info-am install-man 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-info-am
-
-# 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:
diff --git a/libs/glibmm2/MSVC_Net2003/examples/dispatcher/Makefile.am b/libs/glibmm2/MSVC_Net2003/examples/dispatcher/Makefile.am
deleted file mode 100644
index b73bc99c90..0000000000
--- a/libs/glibmm2/MSVC_Net2003/examples/dispatcher/Makefile.am
+++ /dev/null
@@ -1 +0,0 @@
-EXTRA_DIST = dispatcher.vcproj
diff --git a/libs/glibmm2/MSVC_Net2003/examples/dispatcher2/Makefile b/libs/glibmm2/MSVC_Net2003/examples/dispatcher2/Makefile
deleted file mode 100644
index a8949a08e4..0000000000
--- a/libs/glibmm2/MSVC_Net2003/examples/dispatcher2/Makefile
+++ /dev/null
@@ -1,349 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# MSVC_Net2003/examples/dispatcher2/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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.
-
-
-srcdir = .
-top_srcdir = ../../..
-
-pkgdatadir = $(datadir)/glibmm
-pkglibdir = $(libdir)/glibmm
-pkgincludedir = $(includedir)/glibmm
-top_builddir = ../../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-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 = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-subdir = MSVC_Net2003/examples/dispatcher2
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run aclocal-1.9 -I ./scripts
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run tar
-AR = ar
-AS = as
-AUTOCONF = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run autoconf
-AUTOHEADER = :
-AUTOMAKE = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS =
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2 -Wall -Wno-long-long
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-DISABLE_DEPRECATED_API_CFLAGS =
-DISABLE_DEPRECATED_CFLAGS =
-DLLTOOL = dlltool
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-GLIBMM_CFLAGS = -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GLIBMM_LIBS = -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
-GLIBMM_MAJOR_VERSION = 2
-GLIBMM_MICRO_VERSION = 3
-GLIBMM_MINOR_VERSION = 13
-GLIBMM_RELEASE = 2.13
-GLIBMM_VERSION = 2.13.3
-GTHREAD_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GTHREAD_LIBS = -pthread -lgthread-2.0 -lrt -lglib-2.0
-GTKMMPROC_MERGECDOCS =
-GTKMM_DOXYGEN_INPUT = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/glib/glibmm/
-GTKMM_FALSE_FALSE =
-GTKMM_FALSE_TRUE = #
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBGLIBMM_SO_VERSION = 1:24:0
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-M4 = m4
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run makeinfo
-OBJDUMP = objdump
-OBJEXT = o
-OS_WIN32_FALSE =
-OS_WIN32_TRUE = #
-PACKAGE = glibmm
-PACKAGE_BUGREPORT =
-PACKAGE_NAME =
-PACKAGE_STRING =
-PACKAGE_TARNAME =
-PACKAGE_VERSION =
-PATH_SEPARATOR = :
-PERL_PATH = /usr/bin/perl
-PKG_CONFIG = /usr/bin/pkg-config
-PLATFORM_WIN32_FALSE =
-PLATFORM_WIN32_TRUE = #
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.13.3
-ac_ct_AR = ar
-ac_ct_AS =
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_DLLTOOL =
-ac_ct_F77 =
-ac_ct_OBJDUMP =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-ac_pt_PKG_CONFIG = /usr/bin/pkg-config
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target_alias =
-EXTRA_DIST = dispatcher2.vcproj
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/dispatcher2/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu MSVC_Net2003/examples/dispatcher2/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: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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
-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:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-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-info-am
-
-.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-exec install-exec-am \
- install-info install-info-am install-man 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-info-am
-
-# 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:
diff --git a/libs/glibmm2/MSVC_Net2003/examples/dispatcher2/Makefile.am b/libs/glibmm2/MSVC_Net2003/examples/dispatcher2/Makefile.am
deleted file mode 100644
index 8aafacb7cd..0000000000
--- a/libs/glibmm2/MSVC_Net2003/examples/dispatcher2/Makefile.am
+++ /dev/null
@@ -1 +0,0 @@
-EXTRA_DIST = dispatcher2.vcproj
diff --git a/libs/glibmm2/MSVC_Net2003/examples/markup/Makefile b/libs/glibmm2/MSVC_Net2003/examples/markup/Makefile
deleted file mode 100644
index 99b9236b48..0000000000
--- a/libs/glibmm2/MSVC_Net2003/examples/markup/Makefile
+++ /dev/null
@@ -1,349 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# MSVC_Net2003/examples/markup/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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.
-
-
-srcdir = .
-top_srcdir = ../../..
-
-pkgdatadir = $(datadir)/glibmm
-pkglibdir = $(libdir)/glibmm
-pkgincludedir = $(includedir)/glibmm
-top_builddir = ../../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-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 = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-subdir = MSVC_Net2003/examples/markup
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run aclocal-1.9 -I ./scripts
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run tar
-AR = ar
-AS = as
-AUTOCONF = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run autoconf
-AUTOHEADER = :
-AUTOMAKE = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS =
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2 -Wall -Wno-long-long
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-DISABLE_DEPRECATED_API_CFLAGS =
-DISABLE_DEPRECATED_CFLAGS =
-DLLTOOL = dlltool
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-GLIBMM_CFLAGS = -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GLIBMM_LIBS = -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
-GLIBMM_MAJOR_VERSION = 2
-GLIBMM_MICRO_VERSION = 3
-GLIBMM_MINOR_VERSION = 13
-GLIBMM_RELEASE = 2.13
-GLIBMM_VERSION = 2.13.3
-GTHREAD_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GTHREAD_LIBS = -pthread -lgthread-2.0 -lrt -lglib-2.0
-GTKMMPROC_MERGECDOCS =
-GTKMM_DOXYGEN_INPUT = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/glib/glibmm/
-GTKMM_FALSE_FALSE =
-GTKMM_FALSE_TRUE = #
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBGLIBMM_SO_VERSION = 1:24:0
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-M4 = m4
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run makeinfo
-OBJDUMP = objdump
-OBJEXT = o
-OS_WIN32_FALSE =
-OS_WIN32_TRUE = #
-PACKAGE = glibmm
-PACKAGE_BUGREPORT =
-PACKAGE_NAME =
-PACKAGE_STRING =
-PACKAGE_TARNAME =
-PACKAGE_VERSION =
-PATH_SEPARATOR = :
-PERL_PATH = /usr/bin/perl
-PKG_CONFIG = /usr/bin/pkg-config
-PLATFORM_WIN32_FALSE =
-PLATFORM_WIN32_TRUE = #
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.13.3
-ac_ct_AR = ar
-ac_ct_AS =
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_DLLTOOL =
-ac_ct_F77 =
-ac_ct_OBJDUMP =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-ac_pt_PKG_CONFIG = /usr/bin/pkg-config
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target_alias =
-EXTRA_DIST = markup.vcproj
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/markup/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu MSVC_Net2003/examples/markup/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: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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
-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:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-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-info-am
-
-.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-exec install-exec-am \
- install-info install-info-am install-man 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-info-am
-
-# 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:
diff --git a/libs/glibmm2/MSVC_Net2003/examples/markup/Makefile.am b/libs/glibmm2/MSVC_Net2003/examples/markup/Makefile.am
deleted file mode 100644
index de7bc5f71f..0000000000
--- a/libs/glibmm2/MSVC_Net2003/examples/markup/Makefile.am
+++ /dev/null
@@ -1 +0,0 @@
-EXTRA_DIST = markup.vcproj
diff --git a/libs/glibmm2/MSVC_Net2003/examples/options/Makefile b/libs/glibmm2/MSVC_Net2003/examples/options/Makefile
deleted file mode 100644
index 75d80fa4cd..0000000000
--- a/libs/glibmm2/MSVC_Net2003/examples/options/Makefile
+++ /dev/null
@@ -1,349 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# MSVC_Net2003/examples/options/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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.
-
-
-srcdir = .
-top_srcdir = ../../..
-
-pkgdatadir = $(datadir)/glibmm
-pkglibdir = $(libdir)/glibmm
-pkgincludedir = $(includedir)/glibmm
-top_builddir = ../../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-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 = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-subdir = MSVC_Net2003/examples/options
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run aclocal-1.9 -I ./scripts
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run tar
-AR = ar
-AS = as
-AUTOCONF = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run autoconf
-AUTOHEADER = :
-AUTOMAKE = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS =
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2 -Wall -Wno-long-long
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-DISABLE_DEPRECATED_API_CFLAGS =
-DISABLE_DEPRECATED_CFLAGS =
-DLLTOOL = dlltool
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-GLIBMM_CFLAGS = -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GLIBMM_LIBS = -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
-GLIBMM_MAJOR_VERSION = 2
-GLIBMM_MICRO_VERSION = 3
-GLIBMM_MINOR_VERSION = 13
-GLIBMM_RELEASE = 2.13
-GLIBMM_VERSION = 2.13.3
-GTHREAD_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GTHREAD_LIBS = -pthread -lgthread-2.0 -lrt -lglib-2.0
-GTKMMPROC_MERGECDOCS =
-GTKMM_DOXYGEN_INPUT = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/glib/glibmm/
-GTKMM_FALSE_FALSE =
-GTKMM_FALSE_TRUE = #
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBGLIBMM_SO_VERSION = 1:24:0
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-M4 = m4
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run makeinfo
-OBJDUMP = objdump
-OBJEXT = o
-OS_WIN32_FALSE =
-OS_WIN32_TRUE = #
-PACKAGE = glibmm
-PACKAGE_BUGREPORT =
-PACKAGE_NAME =
-PACKAGE_STRING =
-PACKAGE_TARNAME =
-PACKAGE_VERSION =
-PATH_SEPARATOR = :
-PERL_PATH = /usr/bin/perl
-PKG_CONFIG = /usr/bin/pkg-config
-PLATFORM_WIN32_FALSE =
-PLATFORM_WIN32_TRUE = #
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.13.3
-ac_ct_AR = ar
-ac_ct_AS =
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_DLLTOOL =
-ac_ct_F77 =
-ac_ct_OBJDUMP =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-ac_pt_PKG_CONFIG = /usr/bin/pkg-config
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target_alias =
-EXTRA_DIST = options.vcproj
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/options/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu MSVC_Net2003/examples/options/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: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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
-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:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-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-info-am
-
-.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-exec install-exec-am \
- install-info install-info-am install-man 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-info-am
-
-# 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:
diff --git a/libs/glibmm2/MSVC_Net2003/examples/options/Makefile.am b/libs/glibmm2/MSVC_Net2003/examples/options/Makefile.am
deleted file mode 100644
index 91d27e519e..0000000000
--- a/libs/glibmm2/MSVC_Net2003/examples/options/Makefile.am
+++ /dev/null
@@ -1 +0,0 @@
-EXTRA_DIST = options.vcproj
diff --git a/libs/glibmm2/MSVC_Net2003/examples/thread/Makefile b/libs/glibmm2/MSVC_Net2003/examples/thread/Makefile
deleted file mode 100644
index 7d711f08f8..0000000000
--- a/libs/glibmm2/MSVC_Net2003/examples/thread/Makefile
+++ /dev/null
@@ -1,349 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# MSVC_Net2003/examples/thread/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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.
-
-
-srcdir = .
-top_srcdir = ../../..
-
-pkgdatadir = $(datadir)/glibmm
-pkglibdir = $(libdir)/glibmm
-pkgincludedir = $(includedir)/glibmm
-top_builddir = ../../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-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 = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-subdir = MSVC_Net2003/examples/thread
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run aclocal-1.9 -I ./scripts
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run tar
-AR = ar
-AS = as
-AUTOCONF = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run autoconf
-AUTOHEADER = :
-AUTOMAKE = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS =
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2 -Wall -Wno-long-long
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-DISABLE_DEPRECATED_API_CFLAGS =
-DISABLE_DEPRECATED_CFLAGS =
-DLLTOOL = dlltool
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-GLIBMM_CFLAGS = -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GLIBMM_LIBS = -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
-GLIBMM_MAJOR_VERSION = 2
-GLIBMM_MICRO_VERSION = 3
-GLIBMM_MINOR_VERSION = 13
-GLIBMM_RELEASE = 2.13
-GLIBMM_VERSION = 2.13.3
-GTHREAD_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GTHREAD_LIBS = -pthread -lgthread-2.0 -lrt -lglib-2.0
-GTKMMPROC_MERGECDOCS =
-GTKMM_DOXYGEN_INPUT = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/glib/glibmm/
-GTKMM_FALSE_FALSE =
-GTKMM_FALSE_TRUE = #
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBGLIBMM_SO_VERSION = 1:24:0
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-M4 = m4
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run makeinfo
-OBJDUMP = objdump
-OBJEXT = o
-OS_WIN32_FALSE =
-OS_WIN32_TRUE = #
-PACKAGE = glibmm
-PACKAGE_BUGREPORT =
-PACKAGE_NAME =
-PACKAGE_STRING =
-PACKAGE_TARNAME =
-PACKAGE_VERSION =
-PATH_SEPARATOR = :
-PERL_PATH = /usr/bin/perl
-PKG_CONFIG = /usr/bin/pkg-config
-PLATFORM_WIN32_FALSE =
-PLATFORM_WIN32_TRUE = #
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.13.3
-ac_ct_AR = ar
-ac_ct_AS =
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_DLLTOOL =
-ac_ct_F77 =
-ac_ct_OBJDUMP =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-ac_pt_PKG_CONFIG = /usr/bin/pkg-config
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target_alias =
-EXTRA_DIST = thread.vcproj
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/thread/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu MSVC_Net2003/examples/thread/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: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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
-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:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-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-info-am
-
-.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-exec install-exec-am \
- install-info install-info-am install-man 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-info-am
-
-# 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:
diff --git a/libs/glibmm2/MSVC_Net2003/examples/thread/Makefile.am b/libs/glibmm2/MSVC_Net2003/examples/thread/Makefile.am
deleted file mode 100644
index 93a41289f9..0000000000
--- a/libs/glibmm2/MSVC_Net2003/examples/thread/Makefile.am
+++ /dev/null
@@ -1 +0,0 @@
-EXTRA_DIST = thread.vcproj
diff --git a/libs/glibmm2/MSVC_Net2003/examples/thread_pool/Makefile b/libs/glibmm2/MSVC_Net2003/examples/thread_pool/Makefile
deleted file mode 100644
index c5b139a852..0000000000
--- a/libs/glibmm2/MSVC_Net2003/examples/thread_pool/Makefile
+++ /dev/null
@@ -1,349 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# MSVC_Net2003/examples/thread_pool/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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.
-
-
-srcdir = .
-top_srcdir = ../../..
-
-pkgdatadir = $(datadir)/glibmm
-pkglibdir = $(libdir)/glibmm
-pkgincludedir = $(includedir)/glibmm
-top_builddir = ../../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-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 = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-subdir = MSVC_Net2003/examples/thread_pool
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run aclocal-1.9 -I ./scripts
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run tar
-AR = ar
-AS = as
-AUTOCONF = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run autoconf
-AUTOHEADER = :
-AUTOMAKE = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS =
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2 -Wall -Wno-long-long
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-DISABLE_DEPRECATED_API_CFLAGS =
-DISABLE_DEPRECATED_CFLAGS =
-DLLTOOL = dlltool
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-GLIBMM_CFLAGS = -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GLIBMM_LIBS = -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
-GLIBMM_MAJOR_VERSION = 2
-GLIBMM_MICRO_VERSION = 3
-GLIBMM_MINOR_VERSION = 13
-GLIBMM_RELEASE = 2.13
-GLIBMM_VERSION = 2.13.3
-GTHREAD_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GTHREAD_LIBS = -pthread -lgthread-2.0 -lrt -lglib-2.0
-GTKMMPROC_MERGECDOCS =
-GTKMM_DOXYGEN_INPUT = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/glib/glibmm/
-GTKMM_FALSE_FALSE =
-GTKMM_FALSE_TRUE = #
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBGLIBMM_SO_VERSION = 1:24:0
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-M4 = m4
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run makeinfo
-OBJDUMP = objdump
-OBJEXT = o
-OS_WIN32_FALSE =
-OS_WIN32_TRUE = #
-PACKAGE = glibmm
-PACKAGE_BUGREPORT =
-PACKAGE_NAME =
-PACKAGE_STRING =
-PACKAGE_TARNAME =
-PACKAGE_VERSION =
-PATH_SEPARATOR = :
-PERL_PATH = /usr/bin/perl
-PKG_CONFIG = /usr/bin/pkg-config
-PLATFORM_WIN32_FALSE =
-PLATFORM_WIN32_TRUE = #
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.13.3
-ac_ct_AR = ar
-ac_ct_AS =
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_DLLTOOL =
-ac_ct_F77 =
-ac_ct_OBJDUMP =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-ac_pt_PKG_CONFIG = /usr/bin/pkg-config
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target_alias =
-EXTRA_DIST = thread_pool.vcproj
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/thread_pool/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu MSVC_Net2003/examples/thread_pool/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: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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
-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:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-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-info-am
-
-.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-exec install-exec-am \
- install-info install-info-am install-man 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-info-am
-
-# 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:
diff --git a/libs/glibmm2/MSVC_Net2003/examples/thread_pool/Makefile.am b/libs/glibmm2/MSVC_Net2003/examples/thread_pool/Makefile.am
deleted file mode 100644
index b0759e7c7d..0000000000
--- a/libs/glibmm2/MSVC_Net2003/examples/thread_pool/Makefile.am
+++ /dev/null
@@ -1 +0,0 @@
-EXTRA_DIST = thread_pool.vcproj
diff --git a/libs/glibmm2/MSVC_Net2003/gendef/Makefile b/libs/glibmm2/MSVC_Net2003/gendef/Makefile
deleted file mode 100644
index b2d05ceccf..0000000000
--- a/libs/glibmm2/MSVC_Net2003/gendef/Makefile
+++ /dev/null
@@ -1,349 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# MSVC_Net2003/gendef/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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.
-
-
-srcdir = .
-top_srcdir = ../..
-
-pkgdatadir = $(datadir)/glibmm
-pkglibdir = $(libdir)/glibmm
-pkgincludedir = $(includedir)/glibmm
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-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 = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-subdir = MSVC_Net2003/gendef
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run aclocal-1.9 -I ./scripts
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run tar
-AR = ar
-AS = as
-AUTOCONF = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run autoconf
-AUTOHEADER = :
-AUTOMAKE = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS =
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2 -Wall -Wno-long-long
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-DISABLE_DEPRECATED_API_CFLAGS =
-DISABLE_DEPRECATED_CFLAGS =
-DLLTOOL = dlltool
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-GLIBMM_CFLAGS = -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GLIBMM_LIBS = -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
-GLIBMM_MAJOR_VERSION = 2
-GLIBMM_MICRO_VERSION = 3
-GLIBMM_MINOR_VERSION = 13
-GLIBMM_RELEASE = 2.13
-GLIBMM_VERSION = 2.13.3
-GTHREAD_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GTHREAD_LIBS = -pthread -lgthread-2.0 -lrt -lglib-2.0
-GTKMMPROC_MERGECDOCS =
-GTKMM_DOXYGEN_INPUT = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/glib/glibmm/
-GTKMM_FALSE_FALSE =
-GTKMM_FALSE_TRUE = #
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBGLIBMM_SO_VERSION = 1:24:0
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-M4 = m4
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run makeinfo
-OBJDUMP = objdump
-OBJEXT = o
-OS_WIN32_FALSE =
-OS_WIN32_TRUE = #
-PACKAGE = glibmm
-PACKAGE_BUGREPORT =
-PACKAGE_NAME =
-PACKAGE_STRING =
-PACKAGE_TARNAME =
-PACKAGE_VERSION =
-PATH_SEPARATOR = :
-PERL_PATH = /usr/bin/perl
-PKG_CONFIG = /usr/bin/pkg-config
-PLATFORM_WIN32_FALSE =
-PLATFORM_WIN32_TRUE = #
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.13.3
-ac_ct_AR = ar
-ac_ct_AS =
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_DLLTOOL =
-ac_ct_F77 =
-ac_ct_OBJDUMP =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-ac_pt_PKG_CONFIG = /usr/bin/pkg-config
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target_alias =
-EXTRA_DIST = gendef.vcproj gendef.cc
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/gendef/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu MSVC_Net2003/gendef/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: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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
-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:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-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-info-am
-
-.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-exec install-exec-am \
- install-info install-info-am install-man 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-info-am
-
-# 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:
diff --git a/libs/glibmm2/MSVC_Net2003/glibmm.sln b/libs/glibmm2/MSVC_Net2003/glibmm.sln
deleted file mode 100755
index 486f5112e1..0000000000
--- a/libs/glibmm2/MSVC_Net2003/glibmm.sln
+++ /dev/null
@@ -1,89 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glibmm-2.4", "glibmm\glibmm.vcproj", "{58B2B53C-C4FF-47FD-817B-095E45B7F7D4}"
- ProjectSection(ProjectDependencies) = postProject
- {07324745-C9BE-4D65-B08A-9C88188C0C28} = {07324745-C9BE-4D65-B08A-9C88188C0C28}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gendef", "gendef\gendef.vcproj", "{07324745-C9BE-4D65-B08A-9C88188C0C28}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_markup", "examples\markup\markup.vcproj", "{6300FCFA-97F1-4967-802E-E354D95DB0EB}"
- ProjectSection(ProjectDependencies) = postProject
- {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tests_glibmm_value", "tests\glibmm_value\glibmm_value.vcproj", "{22277003-3228-486E-A6A8-994B8B13AF30}"
- ProjectSection(ProjectDependencies) = postProject
- {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_thread", "examples\thread\thread.vcproj", "{5357AB2B-A5F9-463C-92D8-00357CCC3ECE}"
- ProjectSection(ProjectDependencies) = postProject
- {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_thread_pool", "examples\thread_pool\thread_pool.vcproj", "{962484DB-2111-48A4-BEF0-194433719D0D}"
- ProjectSection(ProjectDependencies) = postProject
- {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_dispatcher", "examples\dispatcher\dispatcher.vcproj", "{129ECC08-6D30-4884-B824-4AF96EF0A45C}"
- ProjectSection(ProjectDependencies) = postProject
- {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_dispatcher2", "examples\dispatcher2\dispatcher2.vcproj", "{18A82706-B645-4DF5-AB09-06B90128BAC5}"
- ProjectSection(ProjectDependencies) = postProject
- {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_options", "examples\options\options.vcproj", "{46962B9A-C5E9-4863-9408-97514D63F420}"
- ProjectSection(ProjectDependencies) = postProject
- {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Debug|Win32.ActiveCfg = Debug|Win32
- {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Debug|Win32.Build.0 = Debug|Win32
- {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Release|Win32.ActiveCfg = Release|Win32
- {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Release|Win32.Build.0 = Release|Win32
- {07324745-C9BE-4D65-B08A-9C88188C0C28}.Debug|Win32.ActiveCfg = Debug|Win32
- {07324745-C9BE-4D65-B08A-9C88188C0C28}.Debug|Win32.Build.0 = Debug|Win32
- {07324745-C9BE-4D65-B08A-9C88188C0C28}.Release|Win32.ActiveCfg = Release|Win32
- {07324745-C9BE-4D65-B08A-9C88188C0C28}.Release|Win32.Build.0 = Release|Win32
- {6300FCFA-97F1-4967-802E-E354D95DB0EB}.Debug|Win32.ActiveCfg = Debug|Win32
- {6300FCFA-97F1-4967-802E-E354D95DB0EB}.Debug|Win32.Build.0 = Debug|Win32
- {6300FCFA-97F1-4967-802E-E354D95DB0EB}.Release|Win32.ActiveCfg = Release|Win32
- {6300FCFA-97F1-4967-802E-E354D95DB0EB}.Release|Win32.Build.0 = Release|Win32
- {22277003-3228-486E-A6A8-994B8B13AF30}.Debug|Win32.ActiveCfg = Debug|Win32
- {22277003-3228-486E-A6A8-994B8B13AF30}.Debug|Win32.Build.0 = Debug|Win32
- {22277003-3228-486E-A6A8-994B8B13AF30}.Release|Win32.ActiveCfg = Release|Win32
- {22277003-3228-486E-A6A8-994B8B13AF30}.Release|Win32.Build.0 = Release|Win32
- {5357AB2B-A5F9-463C-92D8-00357CCC3ECE}.Debug|Win32.ActiveCfg = Debug|Win32
- {5357AB2B-A5F9-463C-92D8-00357CCC3ECE}.Debug|Win32.Build.0 = Debug|Win32
- {5357AB2B-A5F9-463C-92D8-00357CCC3ECE}.Release|Win32.ActiveCfg = Release|Win32
- {5357AB2B-A5F9-463C-92D8-00357CCC3ECE}.Release|Win32.Build.0 = Release|Win32
- {962484DB-2111-48A4-BEF0-194433719D0D}.Debug|Win32.ActiveCfg = Debug|Win32
- {962484DB-2111-48A4-BEF0-194433719D0D}.Debug|Win32.Build.0 = Debug|Win32
- {962484DB-2111-48A4-BEF0-194433719D0D}.Release|Win32.ActiveCfg = Release|Win32
- {962484DB-2111-48A4-BEF0-194433719D0D}.Release|Win32.Build.0 = Release|Win32
- {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Debug|Win32.ActiveCfg = Debug|Win32
- {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Debug|Win32.Build.0 = Debug|Win32
- {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Release|Win32.ActiveCfg = Release|Win32
- {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Release|Win32.Build.0 = Release|Win32
- {18A82706-B645-4DF5-AB09-06B90128BAC5}.Debug|Win32.ActiveCfg = Debug|Win32
- {18A82706-B645-4DF5-AB09-06B90128BAC5}.Debug|Win32.Build.0 = Debug|Win32
- {18A82706-B645-4DF5-AB09-06B90128BAC5}.Release|Win32.ActiveCfg = Release|Win32
- {18A82706-B645-4DF5-AB09-06B90128BAC5}.Release|Win32.Build.0 = Release|Win32
- {46962B9A-C5E9-4863-9408-97514D63F420}.Debug|Win32.ActiveCfg = Debug|Win32
- {46962B9A-C5E9-4863-9408-97514D63F420}.Release|Win32.ActiveCfg = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/libs/glibmm2/MSVC_Net2003/glibmm/Makefile b/libs/glibmm2/MSVC_Net2003/glibmm/Makefile
deleted file mode 100644
index b32a820893..0000000000
--- a/libs/glibmm2/MSVC_Net2003/glibmm/Makefile
+++ /dev/null
@@ -1,366 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# MSVC_Net2003/glibmm/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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.
-
-
-srcdir = .
-top_srcdir = ../..
-
-pkgdatadir = $(datadir)/glibmm
-pkglibdir = $(libdir)/glibmm
-pkgincludedir = $(includedir)/glibmm
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-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 = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-subdir = MSVC_Net2003/glibmm
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/glibmm.rc.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES = glibmm.rc
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run aclocal-1.9 -I ./scripts
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run tar
-AR = ar
-AS = as
-AUTOCONF = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run autoconf
-AUTOHEADER = :
-AUTOMAKE = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS =
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2 -Wall -Wno-long-long
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-DISABLE_DEPRECATED_API_CFLAGS =
-DISABLE_DEPRECATED_CFLAGS =
-DLLTOOL = dlltool
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-GLIBMM_CFLAGS = -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GLIBMM_LIBS = -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
-GLIBMM_MAJOR_VERSION = 2
-GLIBMM_MICRO_VERSION = 3
-GLIBMM_MINOR_VERSION = 13
-GLIBMM_RELEASE = 2.13
-GLIBMM_VERSION = 2.13.3
-GTHREAD_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GTHREAD_LIBS = -pthread -lgthread-2.0 -lrt -lglib-2.0
-GTKMMPROC_MERGECDOCS =
-GTKMM_DOXYGEN_INPUT = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/glib/glibmm/
-GTKMM_FALSE_FALSE =
-GTKMM_FALSE_TRUE = #
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBGLIBMM_SO_VERSION = 1:24:0
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-M4 = m4
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run makeinfo
-OBJDUMP = objdump
-OBJEXT = o
-OS_WIN32_FALSE =
-OS_WIN32_TRUE = #
-PACKAGE = glibmm
-PACKAGE_BUGREPORT =
-PACKAGE_NAME =
-PACKAGE_STRING =
-PACKAGE_TARNAME =
-PACKAGE_VERSION =
-PATH_SEPARATOR = :
-PERL_PATH = /usr/bin/perl
-PKG_CONFIG = /usr/bin/pkg-config
-PLATFORM_WIN32_FALSE =
-PLATFORM_WIN32_TRUE = #
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.13.3
-ac_ct_AR = ar
-ac_ct_AS =
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_DLLTOOL =
-ac_ct_F77 =
-ac_ct_OBJDUMP =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-ac_pt_PKG_CONFIG = /usr/bin/pkg-config
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target_alias =
-BUILT_SOURCES = glibmmconfig.h glibmm.rc
-MAINTAINERCLEANFILES = $(built_sources)
-EXTRA_DIST = glibmmconfig.h glibmm.vcproj glibmm.rc
-all: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/glibmm/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu MSVC_Net2003/glibmm/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: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-glibmm.rc: $(top_builddir)/config.status $(srcdir)/glibmm.rc.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) check-am
-all-am: Makefile
-installdirs:
-install: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) 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)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
- -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
- -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-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-info-am
-
-.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-exec install-exec-am \
- install-info install-info-am install-man 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-info-am
-
-
-# Copy config file generated by the configure script. Dependency is
-# wht respect to the .h.in file, to prevent an error with 'make distcheck'.
-# See http://sources.redhat.com/automake/automake.html#distcleancheck
-
-glibmmconfig.h: $(top_srcdir)/glib/glibmmconfig.h.in $(top_srcdir)/configure.in
- cp -f $(top_builddir)/glib/glibmmconfig.h $@
-# 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:
diff --git a/libs/glibmm2/MSVC_Net2003/glibmm/glibmm.vcproj b/libs/glibmm2/MSVC_Net2003/glibmm/glibmm.vcproj
deleted file mode 100755
index 561b422134..0000000000
--- a/libs/glibmm2/MSVC_Net2003/glibmm/glibmm.vcproj
+++ /dev/null
@@ -1,612 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="glibmm-2.4"
- ProjectGUID="{58B2B53C-C4FF-47FD-817B-095E45B7F7D4}"
- RootNamespace="glibmm"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/vd2"
- Optimization="0"
- AdditionalIncludeDirectories=".;../../glib"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;GLIBMM_BUILD"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- Description="Generate glibmm def file"
- CommandLine="$(SolutionDir)gendef\$(ConfigurationName)\gendef $(ConfigurationName)\$(InputName).def $(TargetFileName) $(IntDir)\*.obj"
- ExcludedFromBuild="false"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="glib-2.0.lib gobject-2.0.lib gmodule-2.0.lib sigc-2.0d.lib"
- OutputFile="$(OutDir)/$(ProjectName)d.dll"
- GenerateManifest="true"
- ModuleDefinitionFile="$(ConfigurationName)\$(InputName).def"
- GenerateDebugInformation="true"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/vd2"
- AdditionalIncludeDirectories=".;../../glib"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;GLIBMM_BUILD"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- Description="Generate glibmm def file"
- CommandLine="$(SolutionDir)gendef\$(ConfigurationName)\gendef $(ConfigurationName)\$(InputName).def $(TargetFileName) $(IntDir)\*.obj"
- ExcludedFromBuild="false"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="glib-2.0.lib gobject-2.0.lib gmodule-2.0.lib sigc-2.0.lib"
- GenerateManifest="true"
- ModuleDefinitionFile="$(ConfigurationName)\$(InputName).def"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\blank.cpp"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\class.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\containers.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\convert.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\date.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\debug.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\dispatcher.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\error.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\exception.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\exceptionhandler.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\fileutils.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\init.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\interface.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\iochannel.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\main.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\markup.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\miscutils.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\module.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\object.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\objectbase.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\optioncontext.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\optionentry.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\optiongroup.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\pattern.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\property.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\propertyproxy.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\propertyproxy_base.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\quark.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\random.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\shell.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\signalproxy.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\signalproxy_connectionnode.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\spawn.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\streamiochannel.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\stringutils.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\thread.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\threadpool.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\timer.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\timeval.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\unicode.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\ustring.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\utility.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\value.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\value_basictypes.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\value_custom.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\wrap.cc"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\wrap_init.cc"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\..\glib\glibmm\arrayhandle.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\class.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\containerhandle_shared.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\containers.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\convert.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\date.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\debug.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\dispatcher.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\error.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\exception.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\exceptionhandler.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\fileutils.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\helperlist.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\i18n-lib.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\i18n.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\init.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\interface.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\iochannel.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\listhandle.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\main.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\markup.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\miscutils.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\module.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\object.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\objectbase.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\optioncontext.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\optionentry.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\optiongroup.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\pattern.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\property.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\propertyproxy.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\propertyproxy_base.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\quark.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\random.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\refptr.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\shell.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\signalproxy.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\signalproxy_connectionnode.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\slisthandle.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\spawn.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\streamiochannel.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\stringutils.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\thread.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\threadpool.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\timer.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\timeval.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\unicode.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\ustring.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\utility.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\value.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\value_basictypes.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\value_custom.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\wrap.h"
- >
- </File>
- <File
- RelativePath="..\..\glib\glibmm\wrap_init.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath=".\glibmm.rc"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/libs/glibmm2/MSVC_Net2003/glibmm/glibmmconfig.h b/libs/glibmm2/MSVC_Net2003/glibmm/glibmmconfig.h
deleted file mode 100644
index 7cf16ed623..0000000000
--- a/libs/glibmm2/MSVC_Net2003/glibmm/glibmmconfig.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/* glib/glibmmconfig.h. Generated by configure. */
-#ifndef _GLIBMM_CONFIG_H
-#define _GLIBMM_CONFIG_H 1
-
-/* version numbers */
-#define GLIBMM_MAJOR_VERSION 2
-#define GLIBMM_MINOR_VERSION 13
-#define GLIBMM_MICRO_VERSION 3
-
-// detect common platforms
-#if defined(_WIN32)
-// Win32 compilers have a lot of varation
-#if defined(_MSC_VER)
-#define GLIBMM_MSC
-#define GLIBMM_WIN32
-#define GLIBMM_DLL
-#elif defined(__CYGWIN__)
-#define GLIBMM_CONFIGURE
-#elif defined(__MINGW32__)
-#define GLIBMM_WIN32
-#define GLIBMM_DLL
-#define GLIBMM_CONFIGURE
-#else
-//AIX clR compiler complains about this even though it doesn't get this far:
-//#warning "Unknown architecture (send me gcc --dumpspecs or equiv)"
-#endif
-#else
-#define GLIBMM_CONFIGURE
-#endif /* _WIN32 */
-
-#ifdef GLIBMM_CONFIGURE
-/* #undef GLIBMM_CXX_HAVE_MUTABLE */
-/* #undef GLIBMM_CXX_HAVE_NAMESPACES */
-//#undef GLIBMM_CXX_GAUB
-//#undef GLIBMM_CXX_AMBIGUOUS_TEMPLATES
-#define GLIBMM_HAVE_NAMESPACE_STD 1
-#define GLIBMM_HAVE_STD_ITERATOR_TRAITS 1
-/* #undef GLIBMM_HAVE_SUN_REVERSE_ITERATOR */
-#define GLIBMM_HAVE_TEMPLATE_SEQUENCE_CTORS 1
-#define GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS 1
-/* #undef GLIBMM_COMPILER_SUN_FORTE */
-/* #undef GLIBMM_DEBUG_REFCOUNTING */
-#define GLIBMM_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION 1
-#define GLIBMM_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS 1
-#define GLIBMM_CAN_USE_NAMESPACES_INSIDE_EXTERNC 1
-#define GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS 1
-#define GLIBMM_PROPERTIES_ENABLED 1
-#define GLIBMM_VFUNCS_ENABLED 1
-#define GLIBMM_EXCEPTIONS_ENABLED 1
-#define GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED 1
-#endif
-
-#ifdef GLIBMM_MSC
- #define GLIBMM_CXX_HAVE_MUTABLE 1
- #define GLIBMM_CXX_HAVE_NAMESPACES 1
- #define GLIBMM_HAVE_NAMESPACE_STD 1
- #define GLIBMM_HAVE_STD_ITERATOR_TRAITS 1
- #define GLIBMM_HAVE_TEMPLATE_SEQUENCE_CTORS 1
- #define GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS 1
- #define GLIBMM_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION 1
- #define GLIBMM_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS 1
- #define GLIBMM_CAN_USE_NAMESPACES_INSIDE_EXTERNC 1
- #define GLIBMM_PROPERTIES_ENABLED 1
- #define GLIBMM_VFUNCS_ENABLED 1
- #define GLIBMM_EXCEPTIONS_ENABLED 1
- #define GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED 1
- #pragma warning (disable: 4786 4355 4800 4181)
-#endif
-
-#ifndef GLIBMM_HAVE_NAMESPACE_STD
-# define GLIBMM_USING_STD(Symbol) namespace std { using ::Symbol; }
-#else
-# define GLIBMM_USING_STD(Symbol) /* empty */
-#endif
-
-#ifdef GLIBMM_DLL
- #if defined(GLIBMM_BUILD) && defined(_WINDLL)
- /* Do not dllexport as it is handled by gendef on MSVC */
- #define GLIBMM_API
- #elif !defined(GLIBMM_BUILD)
- #define GLIBMM_API __declspec(dllimport)
- #else
- /* Build a static library */
- #define GLIBMM_API
- #endif /* GLIBMM_BUILD - _WINDLL */
-#else
- #define GLIBMM_API
-#endif /* GLIBMM_DLL */
-
-#endif /* _GLIBMM_CONFIG_H */
-
diff --git a/libs/glibmm2/MSVC_Net2003/tests/Makefile b/libs/glibmm2/MSVC_Net2003/tests/Makefile
deleted file mode 100644
index 9f23a37abb..0000000000
--- a/libs/glibmm2/MSVC_Net2003/tests/Makefile
+++ /dev/null
@@ -1,506 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# MSVC_Net2003/tests/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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.
-
-
-srcdir = .
-top_srcdir = ../..
-
-pkgdatadir = $(datadir)/glibmm
-pkglibdir = $(libdir)/glibmm
-pkgincludedir = $(includedir)/glibmm
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-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 = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-subdir = MSVC_Net2003/tests
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run aclocal-1.9 -I ./scripts
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run tar
-AR = ar
-AS = as
-AUTOCONF = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run autoconf
-AUTOHEADER = :
-AUTOMAKE = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS =
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2 -Wall -Wno-long-long
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-DISABLE_DEPRECATED_API_CFLAGS =
-DISABLE_DEPRECATED_CFLAGS =
-DLLTOOL = dlltool
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-GLIBMM_CFLAGS = -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GLIBMM_LIBS = -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
-GLIBMM_MAJOR_VERSION = 2
-GLIBMM_MICRO_VERSION = 3
-GLIBMM_MINOR_VERSION = 13
-GLIBMM_RELEASE = 2.13
-GLIBMM_VERSION = 2.13.3
-GTHREAD_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GTHREAD_LIBS = -pthread -lgthread-2.0 -lrt -lglib-2.0
-GTKMMPROC_MERGECDOCS =
-GTKMM_DOXYGEN_INPUT = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/glib/glibmm/
-GTKMM_FALSE_FALSE =
-GTKMM_FALSE_TRUE = #
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBGLIBMM_SO_VERSION = 1:24:0
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-M4 = m4
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run makeinfo
-OBJDUMP = objdump
-OBJEXT = o
-OS_WIN32_FALSE =
-OS_WIN32_TRUE = #
-PACKAGE = glibmm
-PACKAGE_BUGREPORT =
-PACKAGE_NAME =
-PACKAGE_STRING =
-PACKAGE_TARNAME =
-PACKAGE_VERSION =
-PATH_SEPARATOR = :
-PERL_PATH = /usr/bin/perl
-PKG_CONFIG = /usr/bin/pkg-config
-PLATFORM_WIN32_FALSE =
-PLATFORM_WIN32_TRUE = #
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.13.3
-ac_ct_AR = ar
-ac_ct_AS =
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_DLLTOOL =
-ac_ct_F77 =
-ac_ct_OBJDUMP =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-ac_pt_PKG_CONFIG = /usr/bin/pkg-config
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target_alias =
-SUBDIRS = glibmm_value
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/tests/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu MSVC_Net2003/tests/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: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# 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):
- @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; \
- (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"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @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; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- 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 || \
- tags="$$tags $$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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- 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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && 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)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-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)
-
-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-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-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-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive \
- mostlyclean mostlyclean-generic mostlyclean-libtool \
- mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-info-am
-
-# 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:
diff --git a/libs/glibmm2/MSVC_Net2003/tests/Makefile.am b/libs/glibmm2/MSVC_Net2003/tests/Makefile.am
deleted file mode 100644
index 4b7007dd4b..0000000000
--- a/libs/glibmm2/MSVC_Net2003/tests/Makefile.am
+++ /dev/null
@@ -1,4 +0,0 @@
-SUBDIRS = glibmm_value
-
-
-
diff --git a/libs/glibmm2/MSVC_Net2003/tests/glibmm_value/Makefile b/libs/glibmm2/MSVC_Net2003/tests/glibmm_value/Makefile
deleted file mode 100644
index 66c2d744b6..0000000000
--- a/libs/glibmm2/MSVC_Net2003/tests/glibmm_value/Makefile
+++ /dev/null
@@ -1,349 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# MSVC_Net2003/tests/glibmm_value/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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.
-
-
-srcdir = .
-top_srcdir = ../../..
-
-pkgdatadir = $(datadir)/glibmm
-pkglibdir = $(libdir)/glibmm
-pkgincludedir = $(includedir)/glibmm
-top_builddir = ../../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-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 = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-subdir = MSVC_Net2003/tests/glibmm_value
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run aclocal-1.9 -I ./scripts
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run tar
-AR = ar
-AS = as
-AUTOCONF = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run autoconf
-AUTOHEADER = :
-AUTOMAKE = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS =
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2 -Wall -Wno-long-long
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-DISABLE_DEPRECATED_API_CFLAGS =
-DISABLE_DEPRECATED_CFLAGS =
-DLLTOOL = dlltool
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-GLIBMM_CFLAGS = -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GLIBMM_LIBS = -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
-GLIBMM_MAJOR_VERSION = 2
-GLIBMM_MICRO_VERSION = 3
-GLIBMM_MINOR_VERSION = 13
-GLIBMM_RELEASE = 2.13
-GLIBMM_VERSION = 2.13.3
-GTHREAD_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GTHREAD_LIBS = -pthread -lgthread-2.0 -lrt -lglib-2.0
-GTKMMPROC_MERGECDOCS =
-GTKMM_DOXYGEN_INPUT = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/glib/glibmm/
-GTKMM_FALSE_FALSE =
-GTKMM_FALSE_TRUE = #
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBGLIBMM_SO_VERSION = 1:24:0
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-M4 = m4
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run makeinfo
-OBJDUMP = objdump
-OBJEXT = o
-OS_WIN32_FALSE =
-OS_WIN32_TRUE = #
-PACKAGE = glibmm
-PACKAGE_BUGREPORT =
-PACKAGE_NAME =
-PACKAGE_STRING =
-PACKAGE_TARNAME =
-PACKAGE_VERSION =
-PATH_SEPARATOR = :
-PERL_PATH = /usr/bin/perl
-PKG_CONFIG = /usr/bin/pkg-config
-PLATFORM_WIN32_FALSE =
-PLATFORM_WIN32_TRUE = #
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.13.3
-ac_ct_AR = ar
-ac_ct_AS =
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_DLLTOOL =
-ac_ct_F77 =
-ac_ct_OBJDUMP =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-ac_pt_PKG_CONFIG = /usr/bin/pkg-config
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target_alias =
-EXTRA_DIST = glibmm_value.vcproj
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/tests/glibmm_value/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu MSVC_Net2003/tests/glibmm_value/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: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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
-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:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-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-info-am
-
-.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-exec install-exec-am \
- install-info install-info-am install-man 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-info-am
-
-# 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:
diff --git a/libs/glibmm2/MSVC_Net2003/tests/glibmm_value/Makefile.am b/libs/glibmm2/MSVC_Net2003/tests/glibmm_value/Makefile.am
deleted file mode 100644
index d4f2850731..0000000000
--- a/libs/glibmm2/MSVC_Net2003/tests/glibmm_value/Makefile.am
+++ /dev/null
@@ -1 +0,0 @@
-EXTRA_DIST = glibmm_value.vcproj
diff --git a/libs/glibmm2/MSVC_Net2003/tests/glibmm_value/Makefile.in b/libs/glibmm2/MSVC_Net2003/tests/glibmm_value/Makefile.in
deleted file mode 100644
index 4f55df7d7d..0000000000
--- a/libs/glibmm2/MSVC_Net2003/tests/glibmm_value/Makefile.in
+++ /dev/null
@@ -1,349 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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 = MSVC_Net2003/tests/glibmm_value
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
-DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
-DLLTOOL = @DLLTOOL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
-GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
-GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
-GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-M4 = @M4@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL_PATH = @PERL_PATH@
-PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-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@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-EXTRA_DIST = glibmm_value.vcproj
-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 \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/tests/glibmm_value/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu MSVC_Net2003/tests/glibmm_value/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
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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
-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:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-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-info-am
-
-.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-exec install-exec-am \
- install-info install-info-am install-man 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-info-am
-
-# 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:
diff --git a/libs/glibmm2/Makefile.in b/libs/glibmm2/Makefile.in
index a6edbd4478..42dac0e7ef 100644
--- a/libs/glibmm2/Makefile.in
+++ b/libs/glibmm2/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 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.
@@ -13,15 +13,11 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = .
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -42,8 +38,8 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
ChangeLog INSTALL NEWS
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/scripts/c_std.m4 \
+ $(top_srcdir)/scripts/cxx.m4 $(top_srcdir)/scripts/cxx_std.m4 \
$(top_srcdir)/scripts/docgen.m4 \
$(top_srcdir)/scripts/glibmm_check_perl.m4 \
$(top_srcdir)/scripts/macros.m4 \
@@ -52,7 +48,7 @@ am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno configure.status.lineno
+ configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h $(top_builddir)/glib/glibmmconfig.h
CONFIG_CLEAN_FILES =
@@ -60,10 +56,13 @@ SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-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
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -78,8 +77,6 @@ GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
@@ -117,12 +114,12 @@ GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
GLIBMM_RELEASE = @GLIBMM_RELEASE@
GLIBMM_VERSION = @GLIBMM_VERSION@
+GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -136,13 +133,10 @@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@
MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -152,27 +146,18 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
+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_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -184,28 +169,39 @@ 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@
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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
ACLOCAL_AMFLAGS = -I scripts
SUBDIRS = tools glib examples docs scripts tests MSVC_Net2003
DIST_SUBDIRS = $(SUBDIRS)
@@ -220,7 +216,7 @@ web_host = gtkmm.org
web_path_gtkmm = /home/murrayc/gtkmm.org/docs/glibmm-2.4/
#web_path_gtkmm = /home/groups/g/gt/gtkmm/htdocs/docs/glibmm-2.4/
web_path_docs = $(web_path_gtkmm)docs/
-rsync_args = -vz --rsh ssh --delete --delete-after
+rsync_args = -vz --rsh ssh
gtkmm_docdir = $(datadir)/doc/glibmm-2.4/docs
doc_tarball_files = \
docs/images/*.gif \
@@ -267,7 +263,7 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
config.h: stamp-h1
@if test ! -f $@; then \
rm -f stamp-h1; \
- $(MAKE) stamp-h1; \
+ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
else :; fi
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@@ -289,7 +285,6 @@ clean-libtool:
distclean-libtool:
-rm -f libtool
-uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
@@ -322,8 +317,7 @@ $(RECURSIVE_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
+$(RECURSIVE_CLEAN_TARGETS):
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
@@ -425,24 +419,22 @@ distclean-tags:
distdir: $(DISTFILES)
$(am__remove_distdir)
- mkdir $(distdir)
- $(mkdir_p) $(distdir)/MSVC_Net2003/glibmm $(distdir)/build_shared $(distdir)/docs $(distdir)/docs/reference $(distdir)/glib $(distdir)/scripts $(distdir)/tools
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ test -d $(distdir) || mkdir $(distdir)
+ @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; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -456,7 +448,7 @@ distdir: $(DISTFILES)
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
@@ -464,6 +456,8 @@ distdir: $(DISTFILES)
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
@@ -474,7 +468,7 @@ distdir: $(DISTFILES)
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir)
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
@@ -549,7 +543,7 @@ distcheck: dist
$(am__remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
- sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
@cd $(distuninstallcheck_dir) \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
@@ -619,12 +613,20 @@ info-am:
install-data-am:
+install-dvi: install-dvi-recursive
+
install-exec-am:
+install-html: install-html-recursive
+
install-info: install-info-recursive
install-man:
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -645,24 +647,26 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-info-am
+uninstall-am:
-uninstall-info: uninstall-info-recursive
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am all-local \
- am--refresh check check-am clean clean-generic clean-libtool \
- clean-recursive ctags ctags-recursive dist dist-all dist-bzip2 \
- dist-gzip dist-hook dist-shar dist-tarZ dist-zip distcheck \
- distclean distclean-generic distclean-hdr distclean-libtool \
- distclean-recursive distclean-tags distcleancheck distdir \
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am all-local am--refresh check check-am clean \
+ clean-generic clean-libtool ctags ctags-recursive dist \
+ dist-all dist-bzip2 dist-gzip dist-hook dist-shar dist-tarZ \
+ dist-zip distcheck distclean distclean-generic distclean-hdr \
+ distclean-libtool distclean-tags distcleancheck distdir \
distuninstallcheck dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
+ 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 installcheck installcheck-am installdirs \
installdirs-am maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
- tags tags-recursive uninstall uninstall-am uninstall-info-am
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-recursive uninstall uninstall-am
all-local:
diff --git a/libs/glibmm2/NEWS b/libs/glibmm2/NEWS
index ec811b31ed..c65cc36191 100644
--- a/libs/glibmm2/NEWS
+++ b/libs/glibmm2/NEWS
@@ -1,5 +1,121 @@
+2.14.2:
+
+* Build: Hopefully fix the build on NetBSD-4.99.6/amd64.
+ Bug #386990. (was already in 2.12.7) (Murray Cumming)
+* gmmproc: Added support for the new _CONFIGINCLUDE() macro.
+ (Armin Burgmeier)
+
+2.14.1:
+
+* Glib::wrap(): Don't fail when wrapping an interface that
+ is implemented by an unrecognized type.
+ gmmproc-generated code now uses the new wrap_auto_interface(),
+ so newly-generated source code will require this latest glibmm
+ version.
+* Increase version number check for glib.
+ (Rémi Cardona)
+
+2.14:
+
+Changes sinze 2.12:
+
+* New Regex class, allowing string searching with regular expressions.
+ (Murray Cumming, Daniel Elstner)
+* New KeyFile class.
+ (Rob Page, Jonathan Jongsma, Murray Cumming)
+* Main: Added SignalTimeout::connect_seconds().
+ (Murray Cumming)
+* OptionContext: Added get/set_summary(), get/set_description(),
+ set_translation_domain() and set_translate_func().
+ (Jonathan Jongsma)
+* Added Glib::get_user_special_dir(), get_user_data_dir(),
+ get_user_config_dir(), and get_user_cache_dir().
+ (Jonathan Jongsma, Murray Cumming)
+* Improved documentation.
+ (Johannes Schmid, Jonathan Jongsma, Ralf Stephan)
+
+2.14.0:
+
+* Regex:
+ - Add escape_string().
+ - match_full(): Rename to match().
+ - match_all_full(): Rename to match_all().
+ - split_full(): Rename to split().
+
+2.13.9:
+
+* KeyFile: Added Added get_double(), set_double(), get_double_list()
+ and set_double_list().
+ (Murray Cumming)
+
+2.13.8:
+
+* OptionContext: Added get/set_summary(), get/set_description(), set_translation_domain(),
+ and set_translate_func().
+ (Jonathon Jongsma)
+* Documenation:
+ Added RegEx class documentation. (Johannes Schmid)
+ Show new API in 2.14.
+
+2.13.7:
+
+* Regex: Added a create() method and added default parameter values.
+ Added a simple example.
+* Added SignalTimeout::connect_seconds(), in addition to the existing
+ SignalTimeout::connect(), as a wrapper of g_timeout_add_seconds().
+ Improveed the documentation.
+* Added get_user_special_dir().
+ (Murray Cumming)
+
+2.13.6:
+
+* Added Glib::Regex, an API for doing regular expression search/matching.
+ This is not fully wrapped yet, but the simple versions of the API are there.
+ We need to write an example for this.
+ (Murray Cumming)
+
+2.13.5:
+
+* Correctly ifdef-out initialization of deprecated classes.
+ (Johannes Schmid, Openismus)
+* Build: Cope with newer m4 versions. (Yselkowitz)
+
+2.13.4:
+
+* Correct initialization when using --disable-deprecated for reduced code-size
+ on embedded devices. (Johannes Schmid, Openismus)
+* Glib::ObjectBase::is_derived_() is now public, though it is still only for
+ internal use. This allows us to do some optimization of default signal handlers and
+ vfuncs.
+ (Armin Burgmeier, Openismus)
+* Options: Don't overwrite default arguments. This change was lost in
+ March 2006, but now it is back.
+ (Armin Burgmeier)
+* Dispatcher: Several minor implementation improvements. (Daniel Elstner)
+* ustring: Minor improvements. (Daniel Elstner)
+* Documentation: Actually use the signals documentation again.
+ (Armin Burgmeier, Openismus)
+* Build:
+ - Fix code generation when using the latest m4, and functions named
+ mkstemp, as experienced on Ubuntu Feisty.
+ Bug #397167 (Dodji Seketeli, Daniel Elstner)
+ - helperlist.h: Avoid warnings about a shadowed member.
+ Bug #420316 from Bradley Bell.
+ - utility.h: Avoid a warning about a redundant declaration.
+ Bug #420339 from Bradley Bell.
+
2.13.3:
+
+* Glib::ObjectBase::is_derived_() is now public, though it is still only for
+ internal use. This allows us to do some optimization of default signal handlers and
+ vfuncs.
+ (Armin Burgmeier, Openismus)
+* Build:
+ - helperlist.h: Avoid warnings about a shadowed member.
+ Bug #420316 from Bradley Bell.
+ - utility.h: Avoid a warning about a redundant declaration.
+ Bug #420339 from Bradley Bell.
* gmmproc improvements:
- gmmproc: Allow () in property and signal docuemntation.
- gmmproc: Do not try to remove a common prefix from the
@@ -7,7 +123,6 @@
- enum.pl: Allow whitespace in front of an enum typedef.
(Daniel Elstner)
- enum.pl: Fix an infinite loop.
-
* ObjectBase: Added connect_property_changed(),
as an alternative to use when the property proxies are not
available because GLIBMM_PROPERTIES_ENABLED is not defined.
diff --git a/libs/glibmm2/aclocal.m4 b/libs/glibmm2/aclocal.m4
index 3010e9d14d..315dca8abb 100644
--- a/libs/glibmm2/aclocal.m4
+++ b/libs/glibmm2/aclocal.m4
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
+# generated automatically by aclocal 1.10 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005 Free Software Foundation, Inc.
+# 2005, 2006 Free Software Foundation, Inc.
# This file 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.
@@ -11,7 +11,12 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
-# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
+m4_if(m4_PACKAGE_VERSION, [2.60],,
+[m4_fatal([this file was generated for autoconf 2.60.
+You have another version of autoconf. If you want to use that,
+you should regenerate the build system entirely.], [63])])
+
+# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -21,14 +26,29 @@
# ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been
# generated from the m4 files accompanying Automake X.Y.
-AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.10'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.10], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
# AM_SET_CURRENT_AUTOMAKE_VERSION
# -------------------------------
-# Call AM_AUTOMAKE_VERSION so it can be traced.
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
- [AM_AUTOMAKE_VERSION([1.9.6])])
+[AM_AUTOMAKE_VERSION([1.10])dnl
+_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
@@ -85,14 +105,14 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
# Free Software Foundation, Inc.
#
# This file 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.
-# serial 7
+# serial 8
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
@@ -101,8 +121,10 @@ AC_DEFUN([AM_CONDITIONAL],
[AC_PREREQ(2.52)dnl
ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])
-AC_SUBST([$1_FALSE])
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
if $2; then
$1_TRUE=
$1_FALSE='#'
@@ -116,15 +138,14 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
# Free Software Foundation, Inc.
#
# This file 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.
-# serial 8
+# serial 9
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
@@ -152,6 +173,7 @@ AC_REQUIRE([AM_DEP_TRACK])dnl
ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
[$1], CXX, [depcc="$CXX" am_compiler_list=],
[$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], UPC, [depcc="$UPC" am_compiler_list=],
[$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
[depcc="$$1" am_compiler_list=])
@@ -217,6 +239,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
$SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
>/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
@@ -269,7 +292,8 @@ if test "x$enable_dependency_tracking" != xno; then
AMDEPBACKSLASH='\'
fi
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
])
# Generate code to set up dependency tracking. -*- Autoconf -*-
@@ -294,8 +318,9 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
- # So let's grep whole file.
- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
dirpart=`AS_DIRNAME("$mf")`
else
continue
@@ -354,8 +379,8 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -378,16 +403,20 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.58])dnl
+[AC_PREREQ([2.60])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
AC_REQUIRE([AC_PROG_INSTALL])dnl
-# test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" &&
- test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+ fi
fi
# test whether we have cygpath
@@ -407,6 +436,9 @@ m4_ifval([$2],
AC_SUBST([PACKAGE], [$1])dnl
AC_SUBST([VERSION], [$2])],
[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
@@ -442,6 +474,10 @@ AC_PROVIDE_IFELSE([AC_PROG_CXX],
[_AM_DEPENDENCIES(CXX)],
[define([AC_PROG_CXX],
defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES(OBJC)],
+ [define([AC_PROG_OBJC],
+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
])
])
@@ -477,7 +513,7 @@ echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
# Define $install_sh.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"$am_aux_dir/install-sh"}
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
AC_SUBST(install_sh)])
# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
@@ -584,14 +620,14 @@ rm -f confinc confmf
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
# Free Software Foundation, Inc.
#
# This file 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.
-# serial 4
+# serial 5
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
@@ -607,6 +643,7 @@ AC_SUBST($1)])
# If it does, set am_missing_run to use it, otherwise, to nothing.
AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
# Use eval to expand $SHELL
if eval "$MISSING --run true"; then
@@ -617,7 +654,7 @@ else
fi
])
-# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -625,60 +662,23 @@ fi
# AM_PROG_MKDIR_P
# ---------------
-# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
-#
-# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
-# created by `make install' are always world readable, even if the
-# installer happens to have an overly restrictive umask (e.g. 077).
-# This was a mistake. There are at least two reasons why we must not
-# use `-m 0755':
-# - it causes special bits like SGID to be ignored,
-# - it may be too restrictive (some setups expect 775 directories).
-#
-# Do not use -m 0755 and let people choose whatever they expect by
-# setting umask.
-#
-# We cannot accept any implementation of `mkdir' that recognizes `-p'.
-# Some implementations (such as Solaris 8's) are not thread-safe: if a
-# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
-# concurrently, both version can detect that a/ is missing, but only
-# one can create it and the other will error out. Consequently we
-# restrict ourselves to GNU make (using the --version option ensures
-# this.)
+# Check for `mkdir -p'.
AC_DEFUN([AM_PROG_MKDIR_P],
-[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
- # We used to keeping the `.' as first argument, in order to
- # allow $(mkdir_p) to be used without argument. As in
- # $(mkdir_p) $(somedir)
- # where $(somedir) is conditionally defined. However this is wrong
- # for two reasons:
- # 1. if the package is installed by a user who cannot write `.'
- # make install will fail,
- # 2. the above comment should most certainly read
- # $(mkdir_p) $(DESTDIR)$(somedir)
- # so it does not work when $(somedir) is undefined and
- # $(DESTDIR) is not.
- # To support the latter case, we have to write
- # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
- # so the `.' trick is pointless.
- mkdir_p='mkdir -p --'
-else
- # On NextStep and OpenStep, the `mkdir' command does not
- # recognize any option. It will interpret all options as
- # directories to create, and then abort because `.' already
- # exists.
- for d in ./-p ./--version;
- do
- test -d $d && rmdir $d
- done
- # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
- if test -f "$ac_aux_dir/mkinstalldirs"; then
- mkdir_p='$(mkinstalldirs)'
- else
- mkdir_p='$(install_sh) -d'
- fi
-fi
-AC_SUBST([mkdir_p])])
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+ [[\\/$]]* | ?:[[\\/]]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
# Helper functions for option handling. -*- Autoconf -*-
@@ -790,9 +790,21 @@ dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
if test "$cross_compiling" != no; then
AC_CHECK_TOOL([STRIP], [strip], :)
fi
-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
+# Copyright (C) 2006 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
# Check how to create a tarball. -*- Autoconf -*-
# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
@@ -2456,10 +2468,27 @@ linux*)
# before this can be enabled.
hardcode_into_libs=yes
+ # find out which ABI we are using
+ libsuff=
+ case "$host_cpu" in
+ x86_64*|s390x*|powerpc64*)
+ echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *64-bit*)
+ libsuff=64
+ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+ esac
+
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -7404,7 +7433,8 @@ installed software in a non-standard prefix.
_PKG_TEXT
])],
- [$4])
+ [AC_MSG_RESULT([no])
+ $4])
elif test $pkg_failed = untried; then
ifelse([$4], , [AC_MSG_FAILURE(dnl
[The pkg-config script could not be found or is too old. Make sure it
@@ -7423,6 +7453,7 @@ else
fi[]dnl
])# PKG_CHECK_MODULES
+m4_include([scripts/c_std.m4])
m4_include([scripts/cxx.m4])
m4_include([scripts/cxx_std.m4])
m4_include([scripts/docgen.m4])
diff --git a/libs/glibmm2/config.h b/libs/glibmm2/config.h
deleted file mode 100644
index 499aed41b4..0000000000
--- a/libs/glibmm2/config.h
+++ /dev/null
@@ -1,6 +0,0 @@
-/* config.h. Generated by configure. */
-
-#define HAVE_FLOCKFILE 1
-#define HAVE_FUNLOCKFILE 1
-/* #undef GETC_UNLOCKED */
-#define HAVE_MKFIFO 1
diff --git a/libs/glibmm2/config.log b/libs/glibmm2/config.log
deleted file mode 100644
index c02b9381fb..0000000000
--- a/libs/glibmm2/config.log
+++ /dev/null
@@ -1,1285 +0,0 @@
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by configure, which was
-generated by GNU Autoconf 2.59. Invocation command line was
-
- $ ./configure
-
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = houllier
-uname -m = i686
-uname -r = 2.6.20-16-lowlatency
-uname -s = Linux
-uname -v = #2 SMP PREEMPT Sun Sep 23 19:54:02 UTC 2007
-
-/usr/bin/uname -p = unknown
-/bin/uname -X = unknown
-
-/bin/arch = i686
-/usr/bin/arch -k = unknown
-/usr/convex/getsysinfo = unknown
-hostinfo = unknown
-/bin/machine = unknown
-/usr/bin/oslevel = unknown
-/bin/universe = unknown
-
-PATH: /home/carl/bin
-PATH: /usr/local/sbin
-PATH: /usr/local/bin
-PATH: /usr/sbin
-PATH: /usr/bin
-PATH: /sbin
-PATH: /bin
-PATH: /usr/games
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-configure:1629: checking for a BSD-compatible install
-configure:1684: result: /usr/bin/install -c
-configure:1695: checking whether build environment is sane
-configure:1738: result: yes
-configure:1803: checking for gawk
-configure:1832: result: no
-configure:1803: checking for mawk
-configure:1819: found /usr/bin/mawk
-configure:1829: result: mawk
-configure:1839: checking whether make sets $(MAKE)
-configure:1859: result: yes
-configure:2030: checking whether to enable maintainer-specific portions of Makefiles
-configure:2039: result: no
-configure:2116: checking for gcc
-configure:2132: found /usr/bin/gcc
-configure:2142: result: gcc
-configure:2386: checking for C compiler version
-configure:2389: gcc --version </dev/null >&5
-gcc (GCC) 4.1.2 (Ubuntu 4.1.2-0ubuntu4)
-Copyright (C) 2006 Free Software Foundation, Inc.
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-configure:2392: $? = 0
-configure:2394: gcc -v </dev/null >&5
-Using built-in specs.
-Target: i486-linux-gnu
-Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu
-Thread model: posix
-gcc version 4.1.2 (Ubuntu 4.1.2-0ubuntu4)
-configure:2397: $? = 0
-configure:2399: gcc -V </dev/null >&5
-gcc: '-V' option must have argument
-configure:2402: $? = 1
-configure:2425: checking for C compiler default output file name
-configure:2428: gcc conftest.c >&5
-configure:2431: $? = 0
-configure:2477: result: a.out
-configure:2482: checking whether the C compiler works
-configure:2488: ./a.out
-configure:2491: $? = 0
-configure:2508: result: yes
-configure:2515: checking whether we are cross compiling
-configure:2517: result: no
-configure:2520: checking for suffix of executables
-configure:2522: gcc -o conftest conftest.c >&5
-configure:2525: $? = 0
-configure:2550: result:
-configure:2556: checking for suffix of object files
-configure:2577: gcc -c conftest.c >&5
-configure:2580: $? = 0
-configure:2602: result: o
-configure:2606: checking whether we are using the GNU C compiler
-configure:2630: gcc -c conftest.c >&5
-configure:2636: $? = 0
-configure:2640: test -z
- || test ! -s conftest.err
-configure:2643: $? = 0
-configure:2646: test -s conftest.o
-configure:2649: $? = 0
-configure:2662: result: yes
-configure:2668: checking whether gcc accepts -g
-configure:2689: gcc -c -g conftest.c >&5
-configure:2695: $? = 0
-configure:2699: test -z
- || test ! -s conftest.err
-configure:2702: $? = 0
-configure:2705: test -s conftest.o
-configure:2708: $? = 0
-configure:2719: result: yes
-configure:2736: checking for gcc option to accept ANSI C
-configure:2806: gcc -c -g -O2 conftest.c >&5
-configure:2812: $? = 0
-configure:2816: test -z
- || test ! -s conftest.err
-configure:2819: $? = 0
-configure:2822: test -s conftest.o
-configure:2825: $? = 0
-configure:2843: result: none needed
-configure:2861: gcc -c -g -O2 conftest.c >&5
-conftest.c:2: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'me'
-configure:2867: $? = 1
-configure: failed program was:
-| #ifndef __cplusplus
-| choke me
-| #endif
-configure:3011: checking for style of include used by make
-configure:3039: result: GNU
-configure:3067: checking dependency style of gcc
-configure:3157: result: gcc3
-configure:3179: checking how to run the C preprocessor
-configure:3214: gcc -E conftest.c
-configure:3220: $? = 0
-configure:3252: gcc -E conftest.c
-conftest.c:14:28: error: ac_nonexistent.h: No such file or directory
-configure:3258: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME ""
-| #define PACKAGE_TARNAME ""
-| #define PACKAGE_VERSION ""
-| #define PACKAGE_STRING ""
-| #define PACKAGE_BUGREPORT ""
-| #define GLIBMM_MAJOR_VERSION 2
-| #define GLIBMM_MINOR_VERSION 13
-| #define GLIBMM_MICRO_VERSION 3
-| #define PACKAGE "glibmm"
-| #define VERSION "2.13.3"
-| /* end confdefs.h. */
-| #include <ac_nonexistent.h>
-configure:3297: result: gcc -E
-configure:3321: gcc -E conftest.c
-configure:3327: $? = 0
-configure:3359: gcc -E conftest.c
-conftest.c:14:28: error: ac_nonexistent.h: No such file or directory
-configure:3365: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME ""
-| #define PACKAGE_TARNAME ""
-| #define PACKAGE_VERSION ""
-| #define PACKAGE_STRING ""
-| #define PACKAGE_BUGREPORT ""
-| #define GLIBMM_MAJOR_VERSION 2
-| #define GLIBMM_MINOR_VERSION 13
-| #define GLIBMM_MICRO_VERSION 3
-| #define PACKAGE "glibmm"
-| #define VERSION "2.13.3"
-| /* end confdefs.h. */
-| #include <ac_nonexistent.h>
-configure:3408: checking whether make sets $(MAKE)
-configure:3428: result: yes
-configure:3443: checking build system type
-configure:3461: result: i686-pc-linux-gnu
-configure:3469: checking host system type
-configure:3483: result: i686-pc-linux-gnu
-configure:3492: checking for some Win32 platform
-configure:3502: result: no
-configure:3515: checking for native Win32
-configure:3525: result: no
-configure:3613: checking for a sed that does not truncate output
-configure:3667: result: /bin/sed
-configure:3670: checking for egrep
-configure:3680: result: grep -E
-configure:3696: checking for ld used by gcc
-configure:3763: result: /usr/bin/ld
-configure:3772: checking if the linker (/usr/bin/ld) is GNU ld
-configure:3787: result: yes
-configure:3792: checking for /usr/bin/ld option to reload object files
-configure:3799: result: -r
-configure:3817: checking for BSD-compatible nm
-configure:3866: result: /usr/bin/nm -B
-configure:3870: checking whether ln -s works
-configure:3874: result: yes
-configure:3881: checking how to recognise dependent libraries
-configure:4057: result: pass_all
-configure:4532: checking for ANSI C header files
-configure:4557: gcc -c -g -O2 conftest.c >&5
-configure:4563: $? = 0
-configure:4567: test -z
- || test ! -s conftest.err
-configure:4570: $? = 0
-configure:4573: test -s conftest.o
-configure:4576: $? = 0
-configure:4665: gcc -o conftest -g -O2 conftest.c >&5
-conftest.c: In function 'main':
-conftest.c:31: warning: incompatible implicit declaration of built-in function 'exit'
-configure:4668: $? = 0
-configure:4670: ./conftest
-configure:4673: $? = 0
-configure:4688: result: yes
-configure:4712: checking for sys/types.h
-configure:4728: gcc -c -g -O2 conftest.c >&5
-configure:4734: $? = 0
-configure:4738: test -z
- || test ! -s conftest.err
-configure:4741: $? = 0
-configure:4744: test -s conftest.o
-configure:4747: $? = 0
-configure:4758: result: yes
-configure:4712: checking for sys/stat.h
-configure:4728: gcc -c -g -O2 conftest.c >&5
-configure:4734: $? = 0
-configure:4738: test -z
- || test ! -s conftest.err
-configure:4741: $? = 0
-configure:4744: test -s conftest.o
-configure:4747: $? = 0
-configure:4758: result: yes
-configure:4712: checking for stdlib.h
-configure:4728: gcc -c -g -O2 conftest.c >&5
-configure:4734: $? = 0
-configure:4738: test -z
- || test ! -s conftest.err
-configure:4741: $? = 0
-configure:4744: test -s conftest.o
-configure:4747: $? = 0
-configure:4758: result: yes
-configure:4712: checking for string.h
-configure:4728: gcc -c -g -O2 conftest.c >&5
-configure:4734: $? = 0
-configure:4738: test -z
- || test ! -s conftest.err
-configure:4741: $? = 0
-configure:4744: test -s conftest.o
-configure:4747: $? = 0
-configure:4758: result: yes
-configure:4712: checking for memory.h
-configure:4728: gcc -c -g -O2 conftest.c >&5
-configure:4734: $? = 0
-configure:4738: test -z
- || test ! -s conftest.err
-configure:4741: $? = 0
-configure:4744: test -s conftest.o
-configure:4747: $? = 0
-configure:4758: result: yes
-configure:4712: checking for strings.h
-configure:4728: gcc -c -g -O2 conftest.c >&5
-configure:4734: $? = 0
-configure:4738: test -z
- || test ! -s conftest.err
-configure:4741: $? = 0
-configure:4744: test -s conftest.o
-configure:4747: $? = 0
-configure:4758: result: yes
-configure:4712: checking for inttypes.h
-configure:4728: gcc -c -g -O2 conftest.c >&5
-configure:4734: $? = 0
-configure:4738: test -z
- || test ! -s conftest.err
-configure:4741: $? = 0
-configure:4744: test -s conftest.o
-configure:4747: $? = 0
-configure:4758: result: yes
-configure:4712: checking for stdint.h
-configure:4728: gcc -c -g -O2 conftest.c >&5
-configure:4734: $? = 0
-configure:4738: test -z
- || test ! -s conftest.err
-configure:4741: $? = 0
-configure:4744: test -s conftest.o
-configure:4747: $? = 0
-configure:4758: result: yes
-configure:4712: checking for unistd.h
-configure:4728: gcc -c -g -O2 conftest.c >&5
-configure:4734: $? = 0
-configure:4738: test -z
- || test ! -s conftest.err
-configure:4741: $? = 0
-configure:4744: test -s conftest.o
-configure:4747: $? = 0
-configure:4758: result: yes
-configure:4784: checking dlfcn.h usability
-configure:4796: gcc -c -g -O2 conftest.c >&5
-configure:4802: $? = 0
-configure:4806: test -z
- || test ! -s conftest.err
-configure:4809: $? = 0
-configure:4812: test -s conftest.o
-configure:4815: $? = 0
-configure:4825: result: yes
-configure:4829: checking dlfcn.h presence
-configure:4839: gcc -E conftest.c
-configure:4845: $? = 0
-configure:4865: result: yes
-configure:4900: checking for dlfcn.h
-configure:4907: result: yes
-configure:4972: checking for g++
-configure:4988: found /usr/bin/g++
-configure:4998: result: g++
-configure:5014: checking for C++ compiler version
-configure:5017: g++ --version </dev/null >&5
-g++ (GCC) 4.1.2 (Ubuntu 4.1.2-0ubuntu4)
-Copyright (C) 2006 Free Software Foundation, Inc.
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-configure:5020: $? = 0
-configure:5022: g++ -v </dev/null >&5
-Using built-in specs.
-Target: i486-linux-gnu
-Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu
-Thread model: posix
-gcc version 4.1.2 (Ubuntu 4.1.2-0ubuntu4)
-configure:5025: $? = 0
-configure:5027: g++ -V </dev/null >&5
-g++: '-V' option must have argument
-configure:5030: $? = 1
-configure:5033: checking whether we are using the GNU C++ compiler
-configure:5057: g++ -c conftest.cc >&5
-configure:5063: $? = 0
-configure:5067: test -z
- || test ! -s conftest.err
-configure:5070: $? = 0
-configure:5073: test -s conftest.o
-configure:5076: $? = 0
-configure:5089: result: yes
-configure:5095: checking whether g++ accepts -g
-configure:5116: g++ -c -g conftest.cc >&5
-configure:5122: $? = 0
-configure:5126: test -z
- || test ! -s conftest.err
-configure:5129: $? = 0
-configure:5132: test -s conftest.o
-configure:5135: $? = 0
-configure:5146: result: yes
-configure:5188: g++ -c -g -O2 conftest.cc >&5
-configure:5194: $? = 0
-configure:5198: test -z
- || test ! -s conftest.err
-configure:5201: $? = 0
-configure:5204: test -s conftest.o
-configure:5207: $? = 0
-configure:5233: g++ -c -g -O2 conftest.cc >&5
-conftest.cc: In function 'int main()':
-conftest.cc:29: error: 'exit' was not declared in this scope
-configure:5239: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME ""
-| #define PACKAGE_TARNAME ""
-| #define PACKAGE_VERSION ""
-| #define PACKAGE_STRING ""
-| #define PACKAGE_BUGREPORT ""
-| #define GLIBMM_MAJOR_VERSION 2
-| #define GLIBMM_MINOR_VERSION 13
-| #define GLIBMM_MICRO_VERSION 3
-| #define PACKAGE "glibmm"
-| #define VERSION "2.13.3"
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_DLFCN_H 1
-| /* end confdefs.h. */
-|
-| int
-| main ()
-| {
-| exit (42);
-| ;
-| return 0;
-| }
-configure:5188: g++ -c -g -O2 conftest.cc >&5
-configure:5194: $? = 0
-configure:5198: test -z
- || test ! -s conftest.err
-configure:5201: $? = 0
-configure:5204: test -s conftest.o
-configure:5207: $? = 0
-configure:5233: g++ -c -g -O2 conftest.cc >&5
-configure:5239: $? = 0
-configure:5243: test -z
- || test ! -s conftest.err
-configure:5246: $? = 0
-configure:5249: test -s conftest.o
-configure:5252: $? = 0
-configure:5277: checking dependency style of g++
-configure:5367: result: gcc3
-configure:5394: checking how to run the C++ preprocessor
-configure:5425: g++ -E conftest.cc
-configure:5431: $? = 0
-configure:5463: g++ -E conftest.cc
-conftest.cc:28:28: error: ac_nonexistent.h: No such file or directory
-configure:5469: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME ""
-| #define PACKAGE_TARNAME ""
-| #define PACKAGE_VERSION ""
-| #define PACKAGE_STRING ""
-| #define PACKAGE_BUGREPORT ""
-| #define GLIBMM_MAJOR_VERSION 2
-| #define GLIBMM_MINOR_VERSION 13
-| #define GLIBMM_MICRO_VERSION 3
-| #define PACKAGE "glibmm"
-| #define VERSION "2.13.3"
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_DLFCN_H 1
-| #ifdef __cplusplus
-| extern "C" void std::exit (int) throw (); using std::exit;
-| #endif
-| /* end confdefs.h. */
-| #include <ac_nonexistent.h>
-configure:5508: result: g++ -E
-configure:5532: g++ -E conftest.cc
-configure:5538: $? = 0
-configure:5570: g++ -E conftest.cc
-conftest.cc:28:28: error: ac_nonexistent.h: No such file or directory
-configure:5576: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME ""
-| #define PACKAGE_TARNAME ""
-| #define PACKAGE_VERSION ""
-| #define PACKAGE_STRING ""
-| #define PACKAGE_BUGREPORT ""
-| #define GLIBMM_MAJOR_VERSION 2
-| #define GLIBMM_MINOR_VERSION 13
-| #define GLIBMM_MICRO_VERSION 3
-| #define PACKAGE "glibmm"
-| #define VERSION "2.13.3"
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_DLFCN_H 1
-| #ifdef __cplusplus
-| extern "C" void std::exit (int) throw (); using std::exit;
-| #endif
-| /* end confdefs.h. */
-| #include <ac_nonexistent.h>
-configure:5673: checking for g77
-configure:5702: result: no
-configure:5673: checking for f77
-configure:5702: result: no
-configure:5673: checking for xlf
-configure:5702: result: no
-configure:5673: checking for frt
-configure:5702: result: no
-configure:5673: checking for pgf77
-configure:5702: result: no
-configure:5673: checking for fort77
-configure:5702: result: no
-configure:5673: checking for fl32
-configure:5702: result: no
-configure:5673: checking for af77
-configure:5702: result: no
-configure:5673: checking for f90
-configure:5702: result: no
-configure:5673: checking for xlf90
-configure:5702: result: no
-configure:5673: checking for pgf90
-configure:5702: result: no
-configure:5673: checking for epcf90
-configure:5702: result: no
-configure:5673: checking for f95
-configure:5702: result: no
-configure:5673: checking for fort
-configure:5702: result: no
-configure:5673: checking for xlf95
-configure:5702: result: no
-configure:5673: checking for ifc
-configure:5702: result: no
-configure:5673: checking for efc
-configure:5702: result: no
-configure:5673: checking for pgf95
-configure:5702: result: no
-configure:5673: checking for lf95
-configure:5702: result: no
-configure:5673: checking for gfortran
-configure:5702: result: no
-configure:5714: checking for Fortran 77 compiler version
-configure:5717: --version </dev/null >&5
-./configure: line 5718: --version: command not found
-configure:5720: $? = 127
-configure:5722: -v </dev/null >&5
-./configure: line 5723: -v: command not found
-configure:5725: $? = 127
-configure:5727: -V </dev/null >&5
-./configure: line 5728: -V: command not found
-configure:5730: $? = 127
-configure:5738: checking whether we are using the GNU Fortran 77 compiler
-configure:5752: -c conftest.F >&5
-./configure: line 5753: -c: command not found
-configure:5758: $? = 127
-configure: failed program was:
-| program main
-| #ifndef __GNUC__
-| choke me
-| #endif
-|
-| end
-configure:5784: result: no
-configure:5790: checking whether accepts -g
-configure:5802: -c -g conftest.f >&5
-./configure: line 5803: -c: command not found
-configure:5808: $? = 127
-configure: failed program was:
-| program main
-|
-| end
-configure:5833: result: no
-configure:5863: checking the maximum length of command line arguments
-configure:5972: result: 32768
-configure:5983: checking command to parse /usr/bin/nm -B output from gcc object
-configure:6088: gcc -c -g -O2 conftest.c >&5
-configure:6091: $? = 0
-configure:6095: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' \> conftest.nm
-configure:6098: $? = 0
-configure:6150: gcc -o conftest -g -O2 conftest.c conftstm.o >&5
-configure:6153: $? = 0
-configure:6191: result: ok
-configure:6195: checking for objdir
-configure:6210: result: .libs
-configure:6300: checking for ar
-configure:6316: found /usr/bin/ar
-configure:6327: result: ar
-configure:6380: checking for ranlib
-configure:6396: found /usr/bin/ranlib
-configure:6407: result: ranlib
-configure:6460: checking for strip
-configure:6476: found /usr/bin/strip
-configure:6487: result: strip
-configure:6759: checking if gcc supports -fno-rtti -fno-exceptions
-configure:6777: gcc -c -g -O2 -fno-rtti -fno-exceptions conftest.c >&5
-cc1: warning: command line option "-fno-rtti" is valid for C++/ObjC++ but not for C
-configure:6781: $? = 0
-configure:6794: result: no
-configure:6809: checking for gcc option to produce PIC
-configure:7019: result: -fPIC
-configure:7027: checking if gcc PIC flag -fPIC works
-configure:7045: gcc -c -g -O2 -fPIC -DPIC conftest.c >&5
-configure:7049: $? = 0
-configure:7062: result: yes
-configure:7090: checking if gcc static flag -static works
-configure:7118: result: yes
-configure:7128: checking if gcc supports -c -o file.o
-configure:7149: gcc -c -g -O2 -o out/conftest2.o conftest.c >&5
-configure:7153: $? = 0
-configure:7175: result: yes
-configure:7201: checking whether the gcc linker (/usr/bin/ld) supports shared libraries
-configure:8159: result: yes
-configure:8180: checking whether -lc should be explicitly linked in
-configure:8185: gcc -c -g -O2 conftest.c >&5
-configure:8188: $? = 0
-configure:8203: gcc -shared conftest.o -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| grep -lc \>/dev/null 2\>\&1
-configure:8206: $? = 0
-configure:8218: result: no
-configure:8226: checking dynamic linker characteristics
-configure:8814: result: GNU/Linux ld.so
-configure:8823: checking how to hardcode library paths into programs
-configure:8848: result: immediate
-configure:8862: checking whether stripping libraries is possible
-configure:8867: result: yes
-configure:9701: checking if libtool supports shared libraries
-configure:9703: result: yes
-configure:9706: checking whether to build shared libraries
-configure:9727: result: yes
-configure:9730: checking whether to build static libraries
-configure:9734: result: no
-configure:9826: creating libtool
-configure:10414: checking for ld used by g++
-configure:10481: result: /usr/bin/ld
-configure:10490: checking if the linker (/usr/bin/ld) is GNU ld
-configure:10505: result: yes
-configure:10556: checking whether the g++ linker (/usr/bin/ld) supports shared libraries
-configure:11494: result: yes
-configure:11512: g++ -c -g -O2 conftest.cpp >&5
-configure:11515: $? = 0
-configure:11634: checking for g++ option to produce PIC
-configure:11908: result: -fPIC
-configure:11916: checking if g++ PIC flag -fPIC works
-configure:11934: g++ -c -g -O2 -fPIC -DPIC conftest.cpp >&5
-configure:11938: $? = 0
-configure:11951: result: yes
-configure:11979: checking if g++ static flag -static works
-configure:12007: result: yes
-configure:12017: checking if g++ supports -c -o file.o
-configure:12038: g++ -c -g -O2 -o out/conftest2.o conftest.cpp >&5
-configure:12042: $? = 0
-configure:12064: result: yes
-configure:12090: checking whether the g++ linker (/usr/bin/ld) supports shared libraries
-configure:12115: result: yes
-configure:12182: checking dynamic linker characteristics
-configure:12770: result: GNU/Linux ld.so
-configure:12779: checking how to hardcode library paths into programs
-configure:12804: result: immediate
-configure:18960: checking for gm4
-configure:18989: result: no
-configure:18960: checking for m4
-configure:18976: found /usr/bin/m4
-configure:18986: result: m4
-configure:18999: checking whether m4 is GNU m4
-configure:19005: result: no
-configure:19019: checking whether make is GNU Make
-configure:19022: result: yes
-configure:19044: checking for perl
-configure:19062: found /usr/bin/perl
-configure:19074: result: /usr/bin/perl
-configure:19088: checking whether Perl is new enough
-configure:19098: result: yes
-configure:19136: checking for flockfile
-configure:19193: gcc -o conftest -g -O2 conftest.c >&5
-configure:19199: $? = 0
-configure:19203: test -z
- || test ! -s conftest.err
-configure:19206: $? = 0
-configure:19209: test -s conftest
-configure:19212: $? = 0
-configure:19224: result: yes
-configure:19136: checking for funlockfile
-configure:19193: gcc -o conftest -g -O2 conftest.c >&5
-configure:19199: $? = 0
-configure:19203: test -z
- || test ! -s conftest.err
-configure:19206: $? = 0
-configure:19209: test -s conftest
-configure:19212: $? = 0
-configure:19224: result: yes
-configure:19136: checking for getc_unlocked
-configure:19193: gcc -o conftest -g -O2 conftest.c >&5
-configure:19199: $? = 0
-configure:19203: test -z
- || test ! -s conftest.err
-configure:19206: $? = 0
-configure:19209: test -s conftest
-configure:19212: $? = 0
-configure:19224: result: yes
-configure:19136: checking for mkfifo
-configure:19193: gcc -o conftest -g -O2 conftest.c >&5
-configure:19199: $? = 0
-configure:19203: test -z
- || test ! -s conftest.err
-configure:19206: $? = 0
-configure:19209: test -s conftest
-configure:19212: $? = 0
-configure:19224: result: yes
-configure:19289: checking for pkg-config
-configure:19307: found /usr/bin/pkg-config
-configure:19319: result: /usr/bin/pkg-config
-configure:19334: checking pkg-config is at least version 0.9.0
-configure:19337: result: yes
-configure:19348: checking for GLIBMM
-configure:19356: $PKG_CONFIG --exists --print-errors "sigc++-2.0 >= ${gtkmm_min_sigc_version} glib-2.0 >= ${gtkmm_min_glib_version} gobject-2.0 >= ${gtkmm_min_glib_version} gmodule-2.0 >= ${gtkmm_min_glib_version}"
-configure:19359: $? = 0
-configure:19374: $PKG_CONFIG --exists --print-errors "sigc++-2.0 >= ${gtkmm_min_sigc_version} glib-2.0 >= ${gtkmm_min_glib_version} gobject-2.0 >= ${gtkmm_min_glib_version} gmodule-2.0 >= ${gtkmm_min_glib_version}"
-configure:19377: $? = 0
-configure:19453: result: yes
-configure:19463: checking for GTHREAD
-configure:19471: $PKG_CONFIG --exists --print-errors "gthread-2.0 >= ${gtkmm_min_glib_version}"
-configure:19474: $? = 0
-configure:19489: $PKG_CONFIG --exists --print-errors "gthread-2.0 >= ${gtkmm_min_glib_version}"
-configure:19492: $? = 0
-configure:19526: result: yes
-configure:19631: checking for C++ compiler version
-configure:19634: g++ --version </dev/null >&5
-g++ (GCC) 4.1.2 (Ubuntu 4.1.2-0ubuntu4)
-Copyright (C) 2006 Free Software Foundation, Inc.
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-configure:19637: $? = 0
-configure:19639: g++ -v </dev/null >&5
-Using built-in specs.
-Target: i486-linux-gnu
-Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu
-Thread model: posix
-gcc version 4.1.2 (Ubuntu 4.1.2-0ubuntu4)
-configure:19642: $? = 0
-configure:19644: g++ -V </dev/null >&5
-g++: '-V' option must have argument
-configure:19647: $? = 1
-configure:19650: checking whether we are using the GNU C++ compiler
-configure:19706: result: yes
-configure:19712: checking whether g++ accepts -g
-configure:19763: result: yes
-configure:19805: g++ -c -g -O2 conftest.cc >&5
-configure:19811: $? = 0
-configure:19815: test -z
- || test ! -s conftest.err
-configure:19818: $? = 0
-configure:19821: test -s conftest.o
-configure:19824: $? = 0
-configure:19850: g++ -c -g -O2 conftest.cc >&5
-configure:19856: $? = 0
-configure:19860: test -z
- || test ! -s conftest.err
-configure:19863: $? = 0
-configure:19866: test -s conftest.o
-configure:19869: $? = 0
-configure:19894: checking dependency style of g++
-configure:19984: result: gcc3
-configure:20003: checking whether we are using SUN CC compiler
-configure:20009: g++ -V 2>&1
-configure:20012: $? = 1
-configure:20020: result: no
-configure:20081: checking if C++ compiler supports bool
-configure:20105: g++ -c -g -O2 conftest.cc >&5
-configure:20111: $? = 0
-configure:20115: test -z
- || test ! -s conftest.err
-configure:20118: $? = 0
-configure:20121: test -s conftest.o
-configure:20124: $? = 0
-configure:20128: result: yes
-configure:20146: checking if C++ compiler supports namespaces
-configure:20170: g++ -c -g -O2 conftest.cc >&5
-configure:20176: $? = 0
-configure:20180: test -z
- || test ! -s conftest.err
-configure:20183: $? = 0
-configure:20186: test -s conftest.o
-configure:20189: $? = 0
-configure:20193: result: yes
-configure:20211: checking if C++ compiler supports mutable
-configure:20236: g++ -c -g -O2 conftest.cc >&5
-configure:20242: $? = 0
-configure:20246: test -z
- || test ! -s conftest.err
-configure:20249: $? = 0
-configure:20252: test -s conftest.o
-configure:20255: $? = 0
-configure:20259: result: yes
-configure:20277: checking if C++ environment provides all required features
-configure:20286: result: yes
-configure:20290: checking whether C++ library symbols are declared in namespace std
-configure:20325: g++ -c -g -O2 conftest.cc >&5
-configure:20331: $? = 0
-configure:20335: test -z
- || test ! -s conftest.err
-configure:20338: $? = 0
-configure:20341: test -s conftest.o
-configure:20344: $? = 0
-configure:20357: result: yes
-configure:20373: checking whether the C++ library supports std::iterator_traits
-configure:20402: g++ -c -g -O2 conftest.cc >&5
-configure:20408: $? = 0
-configure:20412: test -z
- || test ! -s conftest.err
-configure:20415: $? = 0
-configure:20418: test -s conftest.o
-configure:20421: $? = 0
-configure:20434: result: yes
-configure:20450: checking for non-standard Sun libCstd reverse_iterator
-configure:20479: g++ -c -g -O2 conftest.cc >&5
-conftest.cc: In function 'int main()':
-conftest.cc:44: error: wrong number of template arguments (6, should be 1)
-/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/bits/stl_iterator.h:92: error: provided for 'template<class _Iterator> class std::reverse_iterator'
-conftest.cc:44: error: invalid type in declaration before ';' token
-configure:20485: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME ""
-| #define PACKAGE_TARNAME ""
-| #define PACKAGE_VERSION ""
-| #define PACKAGE_STRING ""
-| #define PACKAGE_BUGREPORT ""
-| #define GLIBMM_MAJOR_VERSION 2
-| #define GLIBMM_MINOR_VERSION 13
-| #define GLIBMM_MICRO_VERSION 3
-| #define PACKAGE "glibmm"
-| #define VERSION "2.13.3"
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_DLFCN_H 1
-| #ifdef __cplusplus
-| extern "C" void std::exit (int) throw (); using std::exit;
-| #endif
-| #define HAVE_FLOCKFILE 1
-| #define HAVE_FUNLOCKFILE 1
-| #define HAVE_GETC_UNLOCKED 1
-| #define HAVE_MKFIFO 1
-| #define GLIBMM_HAVE_NAMESPACE_STD 1
-| #define GLIBMM_HAVE_STD_ITERATOR_TRAITS 1
-| /* end confdefs.h. */
-|
-| #include <iterator>
-| #ifdef GLIBMM_HAVE_NAMESPACE_STD
-| using namespace std;
-| #endif
-|
-| int
-| main ()
-| {
-|
-| typedef reverse_iterator<char*,random_access_iterator_tag,char,char&,char*,int> ReverseIter;
-|
-| ;
-| return 0;
-| }
-configure:20511: result: no
-configure:20527: checking whether STL containers have templated sequence constructors
-configure:20562: g++ -c -g -O2 conftest.cc >&5
-configure:20568: $? = 0
-configure:20572: test -z
- || test ! -s conftest.err
-configure:20575: $? = 0
-configure:20578: test -s conftest.o
-configure:20581: $? = 0
-configure:20594: result: yes
-configure:20608: checking if C++ compiler allows member functions to refer to member templates
-configure:20658: g++ -c -g -O2 conftest.cc >&5
-configure:20664: $? = 0
-configure:20668: test -z
- || test ! -s conftest.err
-configure:20671: $? = 0
-configure:20674: test -s conftest.o
-configure:20677: $? = 0
-configure:20686: result: yes
-configure:20708: checking whether the compiler finds it ambiguous to have both const and non-const template specializations
-configure:20767: g++ -c -g -O2 conftest.cc >&5
-configure:20773: $? = 0
-configure:20777: test -z
- || test ! -s conftest.err
-configure:20780: $? = 0
-configure:20783: test -s conftest.o
-configure:20786: $? = 0
-configure:20799: result: yes
-configure:20813: checking whether the compiler allows us to define a template that uses dynamic_cast<> with an object whose type is not yet defined
-configure:20854: g++ -c -g -O2 conftest.cc >&5
-configure:20860: $? = 0
-configure:20864: test -z
- || test ! -s conftest.err
-configure:20867: $? = 0
-configure:20870: test -s conftest.o
-configure:20873: $? = 0
-configure:20886: result: yes
-configure:20900: checking whether the the compilerallows us to use a non-extern "C" function for an extern "C" function pointer.
-configure:20939: g++ -c -g -O2 conftest.cc >&5
-configure:20945: $? = 0
-configure:20949: test -z
- || test ! -s conftest.err
-configure:20952: $? = 0
-configure:20955: test -s conftest.o
-configure:20958: $? = 0
-configure:20971: result: yes
-configure:20985: checking whether the compiler uses namespace declarations inside extern "C" blocks.
-configure:21038: g++ -c -g -O2 conftest.cc >&5
-configure:21044: $? = 0
-configure:21048: test -z
- || test ! -s conftest.err
-configure:21051: $? = 0
-configure:21054: test -s conftest.o
-configure:21057: $? = 0
-configure:21070: result: yes
-configure:21086: checking whether the compiler allows a static member variable to be initialized inline to std::string::npos
-configure:21121: g++ -c -g -O2 conftest.cc >&5
-configure:21127: $? = 0
-configure:21131: test -z
- || test ! -s conftest.err
-configure:21134: $? = 0
-configure:21137: test -s conftest.o
-configure:21140: $? = 0
-configure:21153: result: yes
-configure:21187: checking whether to merge C reference docs into generated headers
-configure:21198: result: no
-configure:21283: checking for compiler warning flags to use
-configure:21328: result: -Wall -Wno-long-long
-configure:21359: WARNING: Deprecated API will be built, for backwards-compatibility.
-configure:21629: creating ./config.status
-
-## ---------------------- ##
-## Running config.status. ##
-## ---------------------- ##
-
-This file was extended by config.status, which was
-generated by GNU Autoconf 2.59. Invocation command line was
-
- CONFIG_FILES =
- CONFIG_HEADERS =
- CONFIG_LINKS =
- CONFIG_COMMANDS =
- $ ./config.status
-
-on houllier
-
-config.status:787: creating Makefile
-config.status:787: creating glib/Makefile
-config.status:787: creating glib/glibmm-2.4.pc
-config.status:787: creating glib/src/Makefile
-config.status:787: creating glib/glibmm/Makefile
-config.status:787: creating glib/glibmm/private/Makefile
-config.status:787: creating tools/Makefile
-config.status:787: creating tools/gmmproc
-config.status:787: creating tools/generate_wrap_init.pl
-config.status:787: creating tools/m4/Makefile
-config.status:787: creating tools/pm/Makefile
-config.status:787: creating tools/extra_defs_gen/Makefile
-config.status:787: creating tests/Makefile
-config.status:787: creating tests/glibmm_value/Makefile
-config.status:787: creating examples/Makefile
-config.status:787: creating examples/markup/Makefile
-config.status:787: creating examples/options/Makefile
-config.status:787: creating examples/thread/Makefile
-config.status:787: creating examples/iochannel_stream/Makefile
-config.status:787: creating examples/child_watch/Makefile
-config.status:787: creating scripts/Makefile
-config.status:787: creating docs/Makefile
-config.status:787: creating docs/images/Makefile
-config.status:787: creating docs/reference/Makefile
-config.status:787: creating docs/reference/Doxyfile
-config.status:787: creating docs/reference/beautify_docs.pl
-config.status:787: creating docs/internal/Makefile
-config.status:787: creating MSVC_Net2003/Makefile
-config.status:787: creating MSVC_Net2003/gendef/Makefile
-config.status:787: creating MSVC_Net2003/glibmm/Makefile
-config.status:787: creating MSVC_Net2003/glibmm/glibmm.rc
-config.status:787: creating MSVC_Net2003/examples/Makefile
-config.status:787: creating MSVC_Net2003/examples/dispatcher/Makefile
-config.status:787: creating MSVC_Net2003/examples/dispatcher2/Makefile
-config.status:787: creating MSVC_Net2003/examples/markup/Makefile
-config.status:787: creating MSVC_Net2003/examples/options/Makefile
-config.status:787: creating MSVC_Net2003/examples/thread/Makefile
-config.status:787: creating MSVC_Net2003/examples/thread_pool/Makefile
-config.status:787: creating MSVC_Net2003/tests/Makefile
-config.status:787: creating MSVC_Net2003/tests/glibmm_value/Makefile
-config.status:891: creating config.h
-config.status:1048: config.h is unchanged
-config.status:891: creating glib/glibmmconfig.h
-config.status:1228: executing depfiles commands
-
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-
-ac_cv_build=i686-pc-linux-gnu
-ac_cv_build_alias=i686-pc-linux-gnu
-ac_cv_c_compiler_gnu=yes
-ac_cv_cxx_compiler_gnu=yes
-ac_cv_env_CC_set=
-ac_cv_env_CC_value=
-ac_cv_env_CFLAGS_set=
-ac_cv_env_CFLAGS_value=
-ac_cv_env_CPPFLAGS_set=
-ac_cv_env_CPPFLAGS_value=
-ac_cv_env_CPP_set=
-ac_cv_env_CPP_value=
-ac_cv_env_CXXCPP_set=
-ac_cv_env_CXXCPP_value=
-ac_cv_env_CXXFLAGS_set=
-ac_cv_env_CXXFLAGS_value=
-ac_cv_env_CXX_set=
-ac_cv_env_CXX_value=
-ac_cv_env_F77_set=
-ac_cv_env_F77_value=
-ac_cv_env_FFLAGS_set=
-ac_cv_env_FFLAGS_value=
-ac_cv_env_GLIBMM_CFLAGS_set=
-ac_cv_env_GLIBMM_CFLAGS_value=
-ac_cv_env_GLIBMM_LIBS_set=
-ac_cv_env_GLIBMM_LIBS_value=
-ac_cv_env_GTHREAD_CFLAGS_set=
-ac_cv_env_GTHREAD_CFLAGS_value=
-ac_cv_env_GTHREAD_LIBS_set=
-ac_cv_env_GTHREAD_LIBS_value=
-ac_cv_env_LDFLAGS_set=
-ac_cv_env_LDFLAGS_value=
-ac_cv_env_PKG_CONFIG_set=
-ac_cv_env_PKG_CONFIG_value=
-ac_cv_env_build_alias_set=
-ac_cv_env_build_alias_value=
-ac_cv_env_host_alias_set=
-ac_cv_env_host_alias_value=
-ac_cv_env_target_alias_set=
-ac_cv_env_target_alias_value=
-ac_cv_exeext=
-ac_cv_f77_compiler_gnu=no
-ac_cv_func_flockfile=yes
-ac_cv_func_funlockfile=yes
-ac_cv_func_getc_unlocked=yes
-ac_cv_func_mkfifo=yes
-ac_cv_header_dlfcn_h=yes
-ac_cv_header_inttypes_h=yes
-ac_cv_header_memory_h=yes
-ac_cv_header_stdc=yes
-ac_cv_header_stdint_h=yes
-ac_cv_header_stdlib_h=yes
-ac_cv_header_string_h=yes
-ac_cv_header_strings_h=yes
-ac_cv_header_sys_stat_h=yes
-ac_cv_header_sys_types_h=yes
-ac_cv_header_unistd_h=yes
-ac_cv_host=i686-pc-linux-gnu
-ac_cv_host_alias=i686-pc-linux-gnu
-ac_cv_objext=o
-ac_cv_path_PERL_PATH=/usr/bin/perl
-ac_cv_path_ac_pt_PKG_CONFIG=/usr/bin/pkg-config
-ac_cv_path_install='/usr/bin/install -c'
-ac_cv_prog_AWK=mawk
-ac_cv_prog_CPP='gcc -E'
-ac_cv_prog_CXXCPP='g++ -E'
-ac_cv_prog_M4=m4
-ac_cv_prog_ac_ct_AR=ar
-ac_cv_prog_ac_ct_CC=gcc
-ac_cv_prog_ac_ct_CXX=g++
-ac_cv_prog_ac_ct_RANLIB=ranlib
-ac_cv_prog_ac_ct_STRIP=strip
-ac_cv_prog_cc_g=yes
-ac_cv_prog_cc_stdc=
-ac_cv_prog_cxx_g=yes
-ac_cv_prog_egrep='grep -E'
-ac_cv_prog_f77_g=no
-ac_cv_prog_make_make_set=yes
-ac_cv_prog_sun_cxx=no
-am_cv_CC_dependencies_compiler_type=gcc3
-am_cv_CXX_dependencies_compiler_type=gcc3
-glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks=yes
-glibmm_cv_cxx_can_disambiguate_const_template_specializations=yes
-glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition=yes
-glibmm_cv_cxx_can_use_namespaces_inside_externc=yes
-glibmm_cv_perl_version_5_6_0=yes
-gtkmm_cv_cxx_has_allows_static_inline_npos=yes
-gtkmm_cv_cxx_has_namespace_std=yes
-gtkmm_cv_cxx_has_std_iterator_traits=yes
-gtkmm_cv_cxx_has_sun_reverse_iterator=no
-gtkmm_cv_cxx_has_template_sequence_ctors=yes
-lt_cv_deplibs_check_method=pass_all
-lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_ld_reload_flag=-r
-lt_cv_objdir=.libs
-lt_cv_path_LD=/usr/bin/ld
-lt_cv_path_LDCXX=/usr/bin/ld
-lt_cv_path_NM='/usr/bin/nm -B'
-lt_cv_path_SED=/bin/sed
-lt_cv_prog_compiler_c_o=yes
-lt_cv_prog_compiler_c_o_CXX=yes
-lt_cv_prog_compiler_rtti_exceptions=no
-lt_cv_prog_gnu_ld=yes
-lt_cv_prog_gnu_ldcxx=yes
-lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'''
-lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\) $/ {\"\1\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \([^ ]*\) \([^ ]*\)$/ {"\2", (lt_ptr) \&\2},/p'\'''
-lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^. .* \(.*\)$/extern int \1;/p'\'''
-lt_cv_sys_max_cmd_len=32768
-lt_lt_cv_prog_compiler_c_o='"yes"'
-lt_lt_cv_prog_compiler_c_o_CXX='"yes"'
-lt_lt_cv_sys_global_symbol_pipe='"sed -n -e '\''s/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'\''"'
-lt_lt_cv_sys_global_symbol_to_c_name_address='"sed -n -e '\''s/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'\''"'
-lt_lt_cv_sys_global_symbol_to_cdecl='"sed -n -e '\''s/^. .* \\(.*\\)\$/extern int \\1;/p'\''"'
-pkg_cv_GLIBMM_CFLAGS='-I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include '
-pkg_cv_GLIBMM_LIBS='-Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 '
-pkg_cv_GTHREAD_CFLAGS='-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include '
-pkg_cv_GTHREAD_LIBS='-pthread -lgthread-2.0 -lrt -lglib-2.0 '
-
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-
-ACLOCAL='${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run aclocal-1.9 -I ./scripts'
-AMDEPBACKSLASH='\'
-AMDEP_FALSE='#'
-AMDEP_TRUE=''
-AMTAR='${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run tar'
-AR='ar'
-AS='as'
-AUTOCONF='${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run autoconf'
-AUTOHEADER=':'
-AUTOMAKE='${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run automake-1.9'
-AWK='mawk'
-CC='gcc'
-CCDEPMODE='depmode=gcc3'
-CFLAGS='-g -O2'
-CPP='gcc -E'
-CPPFLAGS=''
-CXX='g++'
-CXXCPP='g++ -E'
-CXXDEPMODE='depmode=gcc3'
-CXXFLAGS='-g -O2 -Wall -Wno-long-long'
-CYGPATH_W='echo'
-DEFS='-DHAVE_CONFIG_H'
-DEPDIR='.deps'
-DISABLE_DEPRECATED_API_CFLAGS=''
-DISABLE_DEPRECATED_CFLAGS=''
-DLLTOOL='dlltool'
-ECHO='echo'
-ECHO_C=''
-ECHO_N='-n'
-ECHO_T=''
-EGREP='grep -E'
-EXEEXT=''
-F77=''
-FFLAGS=''
-GLIBMM_CFLAGS='-I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include '
-GLIBMM_LIBS='-Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 '
-GLIBMM_MAJOR_VERSION='2'
-GLIBMM_MICRO_VERSION='3'
-GLIBMM_MINOR_VERSION='13'
-GLIBMM_RELEASE='2.13'
-GLIBMM_VERSION='2.13.3'
-GTHREAD_CFLAGS='-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include '
-GTHREAD_LIBS='-pthread -lgthread-2.0 -lrt -lglib-2.0 '
-GTKMMPROC_MERGECDOCS=''
-GTKMM_DOXYGEN_INPUT=' /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/glib/glibmm/'
-GTKMM_FALSE_FALSE=''
-GTKMM_FALSE_TRUE='#'
-INSTALL_DATA='${INSTALL} -m 644'
-INSTALL_PROGRAM='${INSTALL}'
-INSTALL_SCRIPT='${INSTALL}'
-INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s'
-LDFLAGS=''
-LIBGLIBMM_SO_VERSION='1:24:0'
-LIBOBJS=''
-LIBS=''
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-LN_S='ln -s'
-LTLIBOBJS=''
-M4='m4'
-MAINT='#'
-MAINTAINER_MODE_FALSE=''
-MAINTAINER_MODE_TRUE='#'
-MAKEINFO='${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run makeinfo'
-OBJDUMP='objdump'
-OBJEXT='o'
-OS_WIN32_FALSE=''
-OS_WIN32_TRUE='#'
-PACKAGE='glibmm'
-PACKAGE_BUGREPORT=''
-PACKAGE_NAME=''
-PACKAGE_STRING=''
-PACKAGE_TARNAME=''
-PACKAGE_VERSION=''
-PATH_SEPARATOR=':'
-PERL_PATH='/usr/bin/perl'
-PKG_CONFIG='/usr/bin/pkg-config'
-PLATFORM_WIN32_FALSE=''
-PLATFORM_WIN32_TRUE='#'
-RANLIB='ranlib'
-SET_MAKE=''
-SHELL='/bin/bash'
-STRIP='strip'
-VERSION='2.13.3'
-ac_ct_AR='ar'
-ac_ct_AS=''
-ac_ct_CC='gcc'
-ac_ct_CXX='g++'
-ac_ct_DLLTOOL=''
-ac_ct_F77=''
-ac_ct_OBJDUMP=''
-ac_ct_RANLIB='ranlib'
-ac_ct_STRIP='strip'
-ac_pt_PKG_CONFIG='/usr/bin/pkg-config'
-am__fastdepCC_FALSE='#'
-am__fastdepCC_TRUE=''
-am__fastdepCXX_FALSE='#'
-am__fastdepCXX_TRUE=''
-am__include='include'
-am__leading_dot='.'
-am__quote=''
-am__tar='${AMTAR} chof - "$$tardir"'
-am__untar='${AMTAR} xf -'
-bindir='${exec_prefix}/bin'
-build='i686-pc-linux-gnu'
-build_alias=''
-build_cpu='i686'
-build_os='linux-gnu'
-build_vendor='pc'
-datadir='${prefix}/share'
-exec_prefix='${prefix}'
-host='i686-pc-linux-gnu'
-host_alias=''
-host_cpu='i686'
-host_os='linux-gnu'
-host_vendor='pc'
-includedir='${prefix}/include'
-infodir='${prefix}/info'
-install_sh='/home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/install-sh'
-libdir='${exec_prefix}/lib'
-libexecdir='${exec_prefix}/libexec'
-localstatedir='${prefix}/var'
-mandir='${prefix}/man'
-mkdir_p='mkdir -p --'
-oldincludedir='/usr/include'
-prefix='/usr/local'
-program_transform_name='s,x,x,'
-sbindir='${exec_prefix}/sbin'
-sharedstatedir='${prefix}/com'
-sysconfdir='${prefix}/etc'
-target_alias=''
-
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-
-#define GLIBMM_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS 1
-#define GLIBMM_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION 1
-#define GLIBMM_CAN_USE_NAMESPACES_INSIDE_EXTERNC 1
-#define GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED 1
-#define GLIBMM_EXCEPTIONS_ENABLED 1
-#define GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS 1
-#define GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS 1
-#define GLIBMM_HAVE_NAMESPACE_STD 1
-#define GLIBMM_HAVE_STD_ITERATOR_TRAITS 1
-#define GLIBMM_HAVE_TEMPLATE_SEQUENCE_CTORS 1
-#define GLIBMM_MAJOR_VERSION 2
-#define GLIBMM_MEMBER_FUNCTIONS_MEMBER_TEMPLATES 1
-#define GLIBMM_MICRO_VERSION 3
-#define GLIBMM_MINOR_VERSION 13
-#define GLIBMM_PROPERTIES_ENABLED 1
-#define GLIBMM_VFUNCS_ENABLED 1
-#define HAVE_DLFCN_H 1
-#define HAVE_FLOCKFILE 1
-#define HAVE_FUNLOCKFILE 1
-#define HAVE_GETC_UNLOCKED 1
-#define HAVE_INTTYPES_H 1
-#define HAVE_MEMORY_H 1
-#define HAVE_MKFIFO 1
-#define HAVE_STDINT_H 1
-#define HAVE_STDLIB_H 1
-#define HAVE_STRINGS_H 1
-#define HAVE_STRING_H 1
-#define HAVE_SYS_STAT_H 1
-#define HAVE_SYS_TYPES_H 1
-#define HAVE_UNISTD_H 1
-#define PACKAGE "glibmm"
-#define PACKAGE_BUGREPORT ""
-#define PACKAGE_NAME ""
-#define PACKAGE_STRING ""
-#define PACKAGE_TARNAME ""
-#define PACKAGE_VERSION ""
-#define STDC_HEADERS 1
-#define VERSION "2.13.3"
-#endif
-#ifdef __cplusplus
-extern "C" void std::exit (int) throw (); using std::exit;
-
-configure: exit 0
diff --git a/libs/glibmm2/config.status b/libs/glibmm2/config.status
deleted file mode 100644
index 443f453f22..0000000000
--- a/libs/glibmm2/config.status
+++ /dev/null
@@ -1,1319 +0,0 @@
-#! /bin/bash
-# Generated by configure.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-SHELL=${CONFIG_SHELL-/bin/bash}
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_executable_p="test -f"
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-exec 6>&1
-
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling. Logging --version etc. is OK.
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
-This file was extended by $as_me, which was
-generated by GNU Autoconf 2.59. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
-config_files=" Makefile glib/Makefile glib/glibmm-2.4.pc glib/src/Makefile glib/glibmm/Makefile glib/glibmm/private/Makefile tools/Makefile tools/gmmproc tools/generate_wrap_init.pl tools/m4/Makefile tools/pm/Makefile tools/extra_defs_gen/Makefile tests/Makefile tests/glibmm_value/Makefile examples/Makefile examples/markup/Makefile examples/options/Makefile examples/thread/Makefile examples/iochannel_stream/Makefile examples/child_watch/Makefile scripts/Makefile docs/Makefile docs/images/Makefile docs/reference/Makefile docs/reference/Doxyfile docs/reference/beautify_docs.pl docs/internal/Makefile MSVC_Net2003/Makefile MSVC_Net2003/gendef/Makefile MSVC_Net2003/glibmm/Makefile MSVC_Net2003/glibmm/glibmm.rc MSVC_Net2003/examples/Makefile MSVC_Net2003/examples/dispatcher/Makefile MSVC_Net2003/examples/dispatcher2/Makefile MSVC_Net2003/examples/markup/Makefile MSVC_Net2003/examples/options/Makefile MSVC_Net2003/examples/thread/Makefile MSVC_Net2003/examples/thread_pool/Makefile MSVC_Net2003/tests/Makefile MSVC_Net2003/tests/glibmm_value/Makefile"
-config_headers=" config.h glib/glibmmconfig.h"
-config_commands=" depfiles"
-
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
-
-Usage: $0 [OPTIONS] [FILE]...
-
- -h, --help print this help, then exit
- -V, --version print version number, then exit
- -q, --quiet do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to <bug-autoconf@gnu.org>."
-ac_cs_version="\
-config.status
-configured by ./configure, generated by GNU Autoconf 2.59,
- with options \"\"
-
-Copyright (C) 2003 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-srcdir=.
-INSTALL="/usr/bin/install -c"
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=*)
- ac_option=`expr "x$1" : 'x\([^=]*\)='`
- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- -*)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- *) # This is not an option, so the user has probably given explicit
- # arguments.
- ac_option=$1
- ac_need_defaults=false;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --vers* | -V )
- echo "$ac_cs_version"; exit 0 ;;
- --he | --h)
- # Conflict between --help and --header
- { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; };;
- --help | --hel | -h )
- echo "$ac_cs_usage"; exit 0 ;;
- --debug | --d* | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
- ac_need_defaults=false;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; } ;;
-
- *) ac_config_targets="$ac_config_targets $1" ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-if $ac_cs_recheck; then
- echo "running /bin/bash ./configure " $ac_configure_extra_args " --no-create --no-recursion" >&6
- exec /bin/bash ./configure $ac_configure_extra_args --no-create --no-recursion
-fi
-
-#
-# INIT-COMMANDS section.
-#
-
-AMDEP_TRUE="" ac_aux_dir="scripts"
-
-for ac_config_target in $ac_config_targets
-do
- case "$ac_config_target" in
- # Handling of arguments.
- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "glib/Makefile" ) CONFIG_FILES="$CONFIG_FILES glib/Makefile" ;;
- "glib/glibmm-2.4.pc" ) CONFIG_FILES="$CONFIG_FILES glib/glibmm-2.4.pc" ;;
- "glib/src/Makefile" ) CONFIG_FILES="$CONFIG_FILES glib/src/Makefile" ;;
- "glib/glibmm/Makefile" ) CONFIG_FILES="$CONFIG_FILES glib/glibmm/Makefile" ;;
- "glib/glibmm/private/Makefile" ) CONFIG_FILES="$CONFIG_FILES glib/glibmm/private/Makefile" ;;
- "tools/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;;
- "tools/gmmproc" ) CONFIG_FILES="$CONFIG_FILES tools/gmmproc" ;;
- "tools/generate_wrap_init.pl" ) CONFIG_FILES="$CONFIG_FILES tools/generate_wrap_init.pl" ;;
- "tools/m4/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/m4/Makefile" ;;
- "tools/pm/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/pm/Makefile" ;;
- "tools/extra_defs_gen/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/extra_defs_gen/Makefile" ;;
- "tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
- "tests/glibmm_value/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/glibmm_value/Makefile" ;;
- "examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
- "examples/markup/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/markup/Makefile" ;;
- "examples/options/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/options/Makefile" ;;
- "examples/thread/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/thread/Makefile" ;;
- "examples/iochannel_stream/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/iochannel_stream/Makefile" ;;
- "examples/child_watch/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/child_watch/Makefile" ;;
- "scripts/Makefile" ) CONFIG_FILES="$CONFIG_FILES scripts/Makefile" ;;
- "docs/Makefile" ) CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;;
- "docs/images/Makefile" ) CONFIG_FILES="$CONFIG_FILES docs/images/Makefile" ;;
- "docs/reference/Makefile" ) CONFIG_FILES="$CONFIG_FILES docs/reference/Makefile" ;;
- "docs/reference/Doxyfile" ) CONFIG_FILES="$CONFIG_FILES docs/reference/Doxyfile" ;;
- "docs/reference/beautify_docs.pl" ) CONFIG_FILES="$CONFIG_FILES docs/reference/beautify_docs.pl" ;;
- "docs/internal/Makefile" ) CONFIG_FILES="$CONFIG_FILES docs/internal/Makefile" ;;
- "MSVC_Net2003/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/Makefile" ;;
- "MSVC_Net2003/gendef/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/gendef/Makefile" ;;
- "MSVC_Net2003/glibmm/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/glibmm/Makefile" ;;
- "MSVC_Net2003/glibmm/glibmm.rc" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/glibmm/glibmm.rc" ;;
- "MSVC_Net2003/examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/Makefile" ;;
- "MSVC_Net2003/examples/dispatcher/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/dispatcher/Makefile" ;;
- "MSVC_Net2003/examples/dispatcher2/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/dispatcher2/Makefile" ;;
- "MSVC_Net2003/examples/markup/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/markup/Makefile" ;;
- "MSVC_Net2003/examples/options/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/options/Makefile" ;;
- "MSVC_Net2003/examples/thread/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/thread/Makefile" ;;
- "MSVC_Net2003/examples/thread_pool/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/thread_pool/Makefile" ;;
- "MSVC_Net2003/tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/tests/Makefile" ;;
- "MSVC_Net2003/tests/glibmm_value/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/tests/glibmm_value/Makefile" ;;
- "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
- "glib/glibmmconfig.h" ) CONFIG_HEADERS="$CONFIG_HEADERS glib/glibmmconfig.h" ;;
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason to put it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
-$debug ||
-{
- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
- trap '{ (exit 1); exit 1; }' 1 2 13 15
-}
-
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
-} ||
-{
- tmp=./confstat$$-$RANDOM
- (umask 077 && mkdir $tmp)
-} ||
-{
- echo "$me: cannot create a temporary directory in ." >&2
- { (exit 1); exit 1; }
-}
-
-
-#
-# CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "$CONFIG_FILES"; then
- # Protect against being on the right side of a sed subst in config.status.
- sed 's/,@/@@/; s/@,/@@/; s/,;t t$/@;t t/; /@;t t$/s/[\\&,]/\\&/g;
- s/@@/,@/; s/@@/@,/; s/@;t t$/,;t t/' >$tmp/subs.sed <<\CEOF
-s,@SHELL@,/bin/bash,;t t
-s,@PATH_SEPARATOR@,:,;t t
-s,@PACKAGE_NAME@,,;t t
-s,@PACKAGE_TARNAME@,,;t t
-s,@PACKAGE_VERSION@,,;t t
-s,@PACKAGE_STRING@,,;t t
-s,@PACKAGE_BUGREPORT@,,;t t
-s,@exec_prefix@,${prefix},;t t
-s,@prefix@,/usr/local,;t t
-s,@program_transform_name@,s,x,x,,;t t
-s,@bindir@,${exec_prefix}/bin,;t t
-s,@sbindir@,${exec_prefix}/sbin,;t t
-s,@libexecdir@,${exec_prefix}/libexec,;t t
-s,@datadir@,${prefix}/share,;t t
-s,@sysconfdir@,${prefix}/etc,;t t
-s,@sharedstatedir@,${prefix}/com,;t t
-s,@localstatedir@,${prefix}/var,;t t
-s,@libdir@,${exec_prefix}/lib,;t t
-s,@includedir@,${prefix}/include,;t t
-s,@oldincludedir@,/usr/include,;t t
-s,@infodir@,${prefix}/info,;t t
-s,@mandir@,${prefix}/man,;t t
-s,@build_alias@,,;t t
-s,@host_alias@,,;t t
-s,@target_alias@,,;t t
-s,@DEFS@,-DHAVE_CONFIG_H,;t t
-s,@ECHO_C@,,;t t
-s,@ECHO_N@,-n,;t t
-s,@ECHO_T@,,;t t
-s,@LIBS@,,;t t
-s,@GLIBMM_MAJOR_VERSION@,2,;t t
-s,@GLIBMM_MINOR_VERSION@,13,;t t
-s,@GLIBMM_MICRO_VERSION@,3,;t t
-s,@GLIBMM_VERSION@,2.13.3,;t t
-s,@GLIBMM_RELEASE@,2.13,;t t
-s,@LIBGLIBMM_SO_VERSION@,1:24:0,;t t
-s,@INSTALL_PROGRAM@,${INSTALL},;t t
-s,@INSTALL_SCRIPT@,${INSTALL},;t t
-s,@INSTALL_DATA@,${INSTALL} -m 644,;t t
-s,@CYGPATH_W@,echo,;t t
-s,@PACKAGE@,glibmm,;t t
-s,@VERSION@,2.13.3,;t t
-s,@ACLOCAL@,${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run aclocal-1.9 -I ./scripts,;t t
-s,@AUTOCONF@,${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run autoconf,;t t
-s,@AUTOMAKE@,${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run automake-1.9,;t t
-s,@AUTOHEADER@,:,;t t
-s,@MAKEINFO@,${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run makeinfo,;t t
-s,@install_sh@,/home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/install-sh,;t t
-s,@STRIP@,strip,;t t
-s,@ac_ct_STRIP@,strip,;t t
-s,@INSTALL_STRIP_PROGRAM@,${SHELL} $(install_sh) -c -s,;t t
-s,@mkdir_p@,mkdir -p --,;t t
-s,@AWK@,mawk,;t t
-s,@SET_MAKE@,,;t t
-s,@am__leading_dot@,.,;t t
-s,@AMTAR@,${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run tar,;t t
-s,@am__tar@,${AMTAR} chof - "$$tardir",;t t
-s,@am__untar@,${AMTAR} xf -,;t t
-s,@MAINTAINER_MODE_TRUE@,#,;t t
-s,@MAINTAINER_MODE_FALSE@,,;t t
-s,@MAINT@,#,;t t
-s,@CC@,gcc,;t t
-s,@CFLAGS@,-g -O2,;t t
-s,@LDFLAGS@,,;t t
-s,@CPPFLAGS@,,;t t
-s,@ac_ct_CC@,gcc,;t t
-s,@EXEEXT@,,;t t
-s,@OBJEXT@,o,;t t
-s,@DEPDIR@,.deps,;t t
-s,@am__include@,include,;t t
-s,@am__quote@,,;t t
-s,@AMDEP_TRUE@,,;t t
-s,@AMDEP_FALSE@,#,;t t
-s,@AMDEPBACKSLASH@,\,;t t
-s,@CCDEPMODE@,depmode=gcc3,;t t
-s,@am__fastdepCC_TRUE@,,;t t
-s,@am__fastdepCC_FALSE@,#,;t t
-s,@CPP@,gcc -E,;t t
-s,@build@,i686-pc-linux-gnu,;t t
-s,@build_cpu@,i686,;t t
-s,@build_vendor@,pc,;t t
-s,@build_os@,linux-gnu,;t t
-s,@host@,i686-pc-linux-gnu,;t t
-s,@host_cpu@,i686,;t t
-s,@host_vendor@,pc,;t t
-s,@host_os@,linux-gnu,;t t
-s,@PLATFORM_WIN32_TRUE@,#,;t t
-s,@PLATFORM_WIN32_FALSE@,,;t t
-s,@OS_WIN32_TRUE@,#,;t t
-s,@OS_WIN32_FALSE@,,;t t
-s,@EGREP@,grep -E,;t t
-s,@LN_S@,ln -s,;t t
-s,@ECHO@,echo,;t t
-s,@AR@,ar,;t t
-s,@ac_ct_AR@,ar,;t t
-s,@RANLIB@,ranlib,;t t
-s,@ac_ct_RANLIB@,ranlib,;t t
-s,@DLLTOOL@,dlltool,;t t
-s,@ac_ct_DLLTOOL@,,;t t
-s,@AS@,as,;t t
-s,@ac_ct_AS@,,;t t
-s,@OBJDUMP@,objdump,;t t
-s,@ac_ct_OBJDUMP@,,;t t
-s,@CXX@,g++,;t t
-s,@CXXFLAGS@,-g -O2 -Wall -Wno-long-long,;t t
-s,@ac_ct_CXX@,g++,;t t
-s,@CXXDEPMODE@,depmode=gcc3,;t t
-s,@am__fastdepCXX_TRUE@,,;t t
-s,@am__fastdepCXX_FALSE@,#,;t t
-s,@CXXCPP@,g++ -E,;t t
-s,@F77@,,;t t
-s,@FFLAGS@,,;t t
-s,@ac_ct_F77@,,;t t
-s,@LIBTOOL@,$(SHELL) $(top_builddir)/libtool,;t t
-s,@M4@,m4,;t t
-s,@PERL_PATH@,/usr/bin/perl,;t t
-s,@PKG_CONFIG@,/usr/bin/pkg-config,;t t
-s,@ac_pt_PKG_CONFIG@,/usr/bin/pkg-config,;t t
-s,@GLIBMM_CFLAGS@,-I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ,;t t
-s,@GLIBMM_LIBS@,-Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 ,;t t
-s,@GTHREAD_CFLAGS@,-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ,;t t
-s,@GTHREAD_LIBS@,-pthread -lgthread-2.0 -lrt -lglib-2.0 ,;t t
-s,@GTKMM_DOXYGEN_INPUT@, /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/glib/glibmm/,;t t
-s,@GTKMMPROC_MERGECDOCS@,,;t t
-s,@DISABLE_DEPRECATED_CFLAGS@,,;t t
-s,@DISABLE_DEPRECATED_API_CFLAGS@,,;t t
-s,@GTKMM_FALSE_TRUE@,#,;t t
-s,@GTKMM_FALSE_FALSE@,,;t t
-s,@LIBOBJS@,,;t t
-s,@LTLIBOBJS@,,;t t
-CEOF
-
- # Split the substitutions into bite-sized pieces for seds with
- # small command number limits, like on Digital OSF/1 and HP-UX.
- ac_max_sed_lines=48
- ac_sed_frag=1 # Number of current file.
- ac_beg=1 # First line for current file.
- ac_end=$ac_max_sed_lines # Line after last line for current file.
- ac_more_lines=:
- ac_sed_cmds=
- while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- else
- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- fi
- if test ! -s $tmp/subs.frag; then
- ac_more_lines=false
- else
- # The purpose of the label and of the branching condition is to
- # speed up the sed processing (if there are no `@' at all, there
- # is no need to browse any of the substitutions).
- # These are the two extra sed commands mentioned above.
- (echo ':t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
- fi
- ac_sed_frag=`expr $ac_sed_frag + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_lines`
- fi
- done
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
- fi
-fi # test -n "$CONFIG_FILES"
-
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
- esac
-
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- configure_input=
- else
- configure_input="$ac_file. "
- fi
- configure_input=$configure_input"Generated from `echo $ac_file_in |
- sed 's,.*/,,'` by configure."
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
- sed "/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[ ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[ ]*$//;
-}
-
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s,@configure_input@,$configure_input,;t t
-s,@srcdir@,$ac_srcdir,;t t
-s,@abs_srcdir@,$ac_abs_srcdir,;t t
-s,@top_srcdir@,$ac_top_srcdir,;t t
-s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s,@builddir@,$ac_builddir,;t t
-s,@abs_builddir@,$ac_abs_builddir,;t t
-s,@top_builddir@,$ac_top_builddir,;t t
-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
-s,@INSTALL@,$ac_INSTALL,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
- rm -f $tmp/stdin
- if test x"$ac_file" != x-; then
- mv $tmp/out $ac_file
- else
- cat $tmp/out
- rm -f $tmp/out
- fi
-
-done
-
-#
-# CONFIG_HEADER section.
-#
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-ac_dB='[ ].*$,\1#\2'
-ac_dC=' '
-ac_dD=',;t'
-# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_uB='$,\1#\2define\3'
-ac_uC=' '
-ac_uD=',;t'
-
-for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- # Do quote $f, to prevent DOS paths from being IFS'd.
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
- # Remove the trailing spaces.
- sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
-
- # Handle all the #define templates only if necessary.
- if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then
- # If there are no defines, we may have an empty if/fi
- :
- cat >$tmp/defines.sed <<CEOF
-/^[ ]*#[ ]*define/!b
-t clr
-: clr
-${ac_dA}PACKAGE_NAME${ac_dB}PACKAGE_NAME${ac_dC}""${ac_dD}
-${ac_dA}PACKAGE_TARNAME${ac_dB}PACKAGE_TARNAME${ac_dC}""${ac_dD}
-${ac_dA}PACKAGE_VERSION${ac_dB}PACKAGE_VERSION${ac_dC}""${ac_dD}
-${ac_dA}PACKAGE_STRING${ac_dB}PACKAGE_STRING${ac_dC}""${ac_dD}
-${ac_dA}PACKAGE_BUGREPORT${ac_dB}PACKAGE_BUGREPORT${ac_dC}""${ac_dD}
-${ac_dA}GLIBMM_MAJOR_VERSION${ac_dB}GLIBMM_MAJOR_VERSION${ac_dC}2${ac_dD}
-${ac_dA}GLIBMM_MINOR_VERSION${ac_dB}GLIBMM_MINOR_VERSION${ac_dC}13${ac_dD}
-${ac_dA}GLIBMM_MICRO_VERSION${ac_dB}GLIBMM_MICRO_VERSION${ac_dC}3${ac_dD}
-${ac_dA}PACKAGE${ac_dB}PACKAGE${ac_dC}"glibmm"${ac_dD}
-${ac_dA}VERSION${ac_dB}VERSION${ac_dC}"2.13.3"${ac_dD}
-${ac_dA}STDC_HEADERS${ac_dB}STDC_HEADERS${ac_dC}1${ac_dD}
-${ac_dA}HAVE_SYS_TYPES_H${ac_dB}HAVE_SYS_TYPES_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_SYS_STAT_H${ac_dB}HAVE_SYS_STAT_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_STDLIB_H${ac_dB}HAVE_STDLIB_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_STRING_H${ac_dB}HAVE_STRING_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_MEMORY_H${ac_dB}HAVE_MEMORY_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_STRINGS_H${ac_dB}HAVE_STRINGS_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_INTTYPES_H${ac_dB}HAVE_INTTYPES_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_STDINT_H${ac_dB}HAVE_STDINT_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_UNISTD_H${ac_dB}HAVE_UNISTD_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_DLFCN_H${ac_dB}HAVE_DLFCN_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_FLOCKFILE${ac_dB}HAVE_FLOCKFILE${ac_dC}1${ac_dD}
-${ac_dA}HAVE_FUNLOCKFILE${ac_dB}HAVE_FUNLOCKFILE${ac_dC}1${ac_dD}
-${ac_dA}HAVE_GETC_UNLOCKED${ac_dB}HAVE_GETC_UNLOCKED${ac_dC}1${ac_dD}
-${ac_dA}HAVE_MKFIFO${ac_dB}HAVE_MKFIFO${ac_dC}1${ac_dD}
-${ac_dA}GLIBMM_HAVE_NAMESPACE_STD${ac_dB}GLIBMM_HAVE_NAMESPACE_STD${ac_dC}1${ac_dD}
-${ac_dA}GLIBMM_HAVE_STD_ITERATOR_TRAITS${ac_dB}GLIBMM_HAVE_STD_ITERATOR_TRAITS${ac_dC}1${ac_dD}
-${ac_dA}GLIBMM_HAVE_TEMPLATE_SEQUENCE_CTORS${ac_dB}GLIBMM_HAVE_TEMPLATE_SEQUENCE_CTORS${ac_dC}1${ac_dD}
-${ac_dA}GLIBMM_MEMBER_FUNCTIONS_MEMBER_TEMPLATES${ac_dB}GLIBMM_MEMBER_FUNCTIONS_MEMBER_TEMPLATES${ac_dC}1${ac_dD}
-${ac_dA}GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS${ac_dB}GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS${ac_dC}1${ac_dD}
-${ac_dA}GLIBMM_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION${ac_dB}GLIBMM_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION${ac_dC}1${ac_dD}
-${ac_dA}GLIBMM_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS${ac_dB}GLIBMM_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS${ac_dC}1${ac_dD}
-${ac_dA}GLIBMM_CAN_USE_NAMESPACES_INSIDE_EXTERNC${ac_dB}GLIBMM_CAN_USE_NAMESPACES_INSIDE_EXTERNC${ac_dC}1${ac_dD}
-${ac_dA}GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS${ac_dB}GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS${ac_dC}1${ac_dD}
-${ac_dA}GLIBMM_EXCEPTIONS_ENABLED${ac_dB}GLIBMM_EXCEPTIONS_ENABLED${ac_dC}1${ac_dD}
-${ac_dA}GLIBMM_PROPERTIES_ENABLED${ac_dB}GLIBMM_PROPERTIES_ENABLED${ac_dC}1${ac_dD}
-${ac_dA}GLIBMM_VFUNCS_ENABLED${ac_dB}GLIBMM_VFUNCS_ENABLED${ac_dC}1${ac_dD}
-${ac_dA}GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED${ac_dB}GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED${ac_dC}1${ac_dD}
-CEOF
- sed -f $tmp/defines.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-
- fi # grep
-
- # Handle all the #undef templates
- cat >$tmp/undefs.sed <<CEOF
-/^[ ]*#[ ]*undef/!b
-t clr
-: clr
-${ac_uA}PACKAGE_NAME${ac_uB}PACKAGE_NAME${ac_uC}""${ac_uD}
-${ac_uA}PACKAGE_TARNAME${ac_uB}PACKAGE_TARNAME${ac_uC}""${ac_uD}
-${ac_uA}PACKAGE_VERSION${ac_uB}PACKAGE_VERSION${ac_uC}""${ac_uD}
-${ac_uA}PACKAGE_STRING${ac_uB}PACKAGE_STRING${ac_uC}""${ac_uD}
-${ac_uA}PACKAGE_BUGREPORT${ac_uB}PACKAGE_BUGREPORT${ac_uC}""${ac_uD}
-${ac_uA}GLIBMM_MAJOR_VERSION${ac_uB}GLIBMM_MAJOR_VERSION${ac_uC}2${ac_uD}
-${ac_uA}GLIBMM_MINOR_VERSION${ac_uB}GLIBMM_MINOR_VERSION${ac_uC}13${ac_uD}
-${ac_uA}GLIBMM_MICRO_VERSION${ac_uB}GLIBMM_MICRO_VERSION${ac_uC}3${ac_uD}
-${ac_uA}PACKAGE${ac_uB}PACKAGE${ac_uC}"glibmm"${ac_uD}
-${ac_uA}VERSION${ac_uB}VERSION${ac_uC}"2.13.3"${ac_uD}
-${ac_uA}STDC_HEADERS${ac_uB}STDC_HEADERS${ac_uC}1${ac_uD}
-${ac_uA}HAVE_SYS_TYPES_H${ac_uB}HAVE_SYS_TYPES_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_SYS_STAT_H${ac_uB}HAVE_SYS_STAT_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_STDLIB_H${ac_uB}HAVE_STDLIB_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_STRING_H${ac_uB}HAVE_STRING_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_MEMORY_H${ac_uB}HAVE_MEMORY_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_STRINGS_H${ac_uB}HAVE_STRINGS_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_INTTYPES_H${ac_uB}HAVE_INTTYPES_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_STDINT_H${ac_uB}HAVE_STDINT_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_UNISTD_H${ac_uB}HAVE_UNISTD_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_DLFCN_H${ac_uB}HAVE_DLFCN_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_FLOCKFILE${ac_uB}HAVE_FLOCKFILE${ac_uC}1${ac_uD}
-${ac_uA}HAVE_FUNLOCKFILE${ac_uB}HAVE_FUNLOCKFILE${ac_uC}1${ac_uD}
-${ac_uA}HAVE_GETC_UNLOCKED${ac_uB}HAVE_GETC_UNLOCKED${ac_uC}1${ac_uD}
-${ac_uA}HAVE_MKFIFO${ac_uB}HAVE_MKFIFO${ac_uC}1${ac_uD}
-${ac_uA}GLIBMM_HAVE_NAMESPACE_STD${ac_uB}GLIBMM_HAVE_NAMESPACE_STD${ac_uC}1${ac_uD}
-${ac_uA}GLIBMM_HAVE_STD_ITERATOR_TRAITS${ac_uB}GLIBMM_HAVE_STD_ITERATOR_TRAITS${ac_uC}1${ac_uD}
-${ac_uA}GLIBMM_HAVE_TEMPLATE_SEQUENCE_CTORS${ac_uB}GLIBMM_HAVE_TEMPLATE_SEQUENCE_CTORS${ac_uC}1${ac_uD}
-${ac_uA}GLIBMM_MEMBER_FUNCTIONS_MEMBER_TEMPLATES${ac_uB}GLIBMM_MEMBER_FUNCTIONS_MEMBER_TEMPLATES${ac_uC}1${ac_uD}
-${ac_uA}GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS${ac_uB}GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS${ac_uC}1${ac_uD}
-${ac_uA}GLIBMM_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION${ac_uB}GLIBMM_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION${ac_uC}1${ac_uD}
-${ac_uA}GLIBMM_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS${ac_uB}GLIBMM_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS${ac_uC}1${ac_uD}
-${ac_uA}GLIBMM_CAN_USE_NAMESPACES_INSIDE_EXTERNC${ac_uB}GLIBMM_CAN_USE_NAMESPACES_INSIDE_EXTERNC${ac_uC}1${ac_uD}
-${ac_uA}GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS${ac_uB}GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS${ac_uC}1${ac_uD}
-${ac_uA}GLIBMM_EXCEPTIONS_ENABLED${ac_uB}GLIBMM_EXCEPTIONS_ENABLED${ac_uC}1${ac_uD}
-${ac_uA}GLIBMM_PROPERTIES_ENABLED${ac_uB}GLIBMM_PROPERTIES_ENABLED${ac_uC}1${ac_uD}
-${ac_uA}GLIBMM_VFUNCS_ENABLED${ac_uB}GLIBMM_VFUNCS_ENABLED${ac_uC}1${ac_uD}
-${ac_uA}GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED${ac_uB}GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED${ac_uC}1${ac_uD}
-CEOF
- sed -f $tmp/undefs.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-
- cat >$tmp/undefs.sed <<CEOF
-/^[ ]*#[ ]*undef/!b
-t clr
-: clr
-s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
-CEOF
- sed -f $tmp/undefs.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- echo "/* Generated by configure. */" >$tmp/config.h
- else
- echo "/* $ac_file. Generated by configure. */" >$tmp/config.h
- fi
- cat $tmp/in >>$tmp/config.h
- rm -f $tmp/in
- if test x"$ac_file" != x-; then
- if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
- { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-echo "$as_me: $ac_file is unchanged" >&6;}
- else
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- rm -f $ac_file
- mv $tmp/config.h $ac_file
- fi
- else
- cat $tmp/config.h
- rm -f $tmp/config.h
- fi
-# Compute $ac_file's index in $config_headers.
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $ac_file | $ac_file:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
-$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X$ac_file : 'X\(//\)[^/]' \| \
- X$ac_file : 'X\(//\)$' \| \
- X$ac_file : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X$ac_file |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`/stamp-h$_am_stamp_count
-done
-
-#
-# CONFIG_COMMANDS section.
-#
-for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
- ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
- ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
-$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_dest" : 'X\(//\)[^/]' \| \
- X"$ac_dest" : 'X\(//\)$' \| \
- X"$ac_dest" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_dest" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
-
- { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
-echo "$as_me: executing $ac_dest commands" >&6;}
- case $ac_dest in
- depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # So let's grep whole file.
- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
- dirpart=`(dirname "$mf") 2>/dev/null ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`(dirname "$file") 2>/dev/null ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p $dirpart/$fdir
- else
- as_dir=$dirpart/$fdir
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
-echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
- { (exit 1); exit 1; }; }; }
-
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
-done
- ;;
- esac
-done
-
-{ (exit 0); exit 0; }
diff --git a/libs/glibmm2/configure b/libs/glibmm2/configure
index fe22ab05df..3d074a173d 100755..100644
--- a/libs/glibmm2/configure
+++ b/libs/glibmm2/configure
@@ -1,8 +1,9 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59.
+# Generated by GNU Autoconf 2.60.
#
-# Copyright (C) 2003 Free Software Foundation, Inc.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## --------------------- ##
@@ -16,11 +17,35 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
# Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
# Support unset when possible.
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
as_unset=unset
@@ -29,8 +54,43 @@ else
fi
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
PS1='$ '
PS2='> '
PS4='+ '
@@ -44,18 +104,19 @@ do
if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
eval $as_var=C; export $as_var
else
- $as_unset $as_var
+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
fi
done
# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
@@ -63,157 +124,386 @@ fi
# Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+# CDPATH.
+$as_unset CDPATH
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
+if test "x$CONFIG_SHELL" = x; then
+ if (eval ":") 2>/dev/null; then
+ as_have_required=yes
+else
+ as_have_required=no
fi
+ if test $as_have_required = yes && (eval ":
+(as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=\$LINENO
+ as_lineno_2=\$LINENO
+ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+ :
+else
+ as_candidate_shells=
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+for as_dir in /usr/bin/posix$PATH_SEPARATOR/bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
+ case $as_dir in
/*)
- if ("$as_dir/$as_base" -c '
+ for as_base in sh bash ksh sh5; do
+ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+ done;;
+ esac
+done
+IFS=$as_save_IFS
+
+
+ for as_shell in $as_candidate_shells $SHELL; do
+ # Try only shells that exist, to save several forks.
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { ("$as_shell") 2> /dev/null <<\_ASEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+:
+_ASEOF
+}; then
+ CONFIG_SHELL=$as_shell
+ as_have_required=yes
+ if { "$as_shell" 2> /dev/null <<\_ASEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+:
+(as_func_return () {
+ (exit $1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
as_lineno_1=$LINENO
as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+ break
+fi
+
+fi
+
+ done
+
+ if test "x$CONFIG_SHELL" != x; then
+ for as_var in BASH_ENV ENV
+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ done
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+ if test $as_have_required = no; then
+ echo This script requires a shell more modern than all the
+ echo shells that I found on your system. Please install a
+ echo modern shell, or manually run the script under such a
+ echo shell if you do have one.
+ { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+ echo No shell found that supports shell functions.
+ echo Please tell autoconf@gnu.org about your system,
+ echo including any error possibly output before this
+ echo message
+}
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
# Create $as_me.lineno as a copy of $as_myself, but with $LINENO
# uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
# (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
+ s/-\n.*//
' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
+ chmod +x "$as_me.lineno" ||
{ echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
# Exit status is that of the last command.
exit
}
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
esac
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir
+fi
echo >conf$$.file
if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -p'
fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
if mkdir -p . 2>/dev/null; then
as_mkdir_p=:
@@ -222,7 +512,19 @@ else
as_mkdir_p=false
fi
-as_executable_p="test -f"
+# Find out whether ``test -x'' works. Don't use a zero-byte file, as
+# systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ as_executable_p="test -x"
+else
+ as_executable_p=:
+fi
+rm -f conf$$.file
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -231,15 +533,6 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
# Check that we are running under the correct shell.
@@ -395,29 +688,26 @@ tagnames=${tagnames+${tagnames},}CXX
tagnames=${tagnames+${tagnames},}F77
+exec 7<&0 </dev/null 6>&1
+
# Name of the host.
# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-exec 6>&1
-
#
# Initializations.
#
ac_default_prefix=/usr/local
+ac_clean_files=
ac_config_libobj_dir=.
+LIBOBJS=
cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=
SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete. It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
# Identity of this package.
PACKAGE_NAME=
PACKAGE_TARNAME=
@@ -454,17 +744,167 @@ ac_includes_default="\
#endif
#if HAVE_INTTYPES_H
# include <inttypes.h>
-#else
-# if HAVE_STDINT_H
-# include <stdint.h>
-# endif
+#endif
+#if HAVE_STDINT_H
+# include <stdint.h>
#endif
#if HAVE_UNISTD_H
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS GLIBMM_MAJOR_VERSION GLIBMM_MINOR_VERSION GLIBMM_MICRO_VERSION GLIBMM_VERSION GLIBMM_RELEASE LIBGLIBMM_SO_VERSION INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP build build_cpu build_vendor build_os host host_cpu host_vendor host_os PLATFORM_WIN32_TRUE PLATFORM_WIN32_FALSE OS_WIN32_TRUE OS_WIN32_FALSE EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB DLLTOOL ac_ct_DLLTOOL AS ac_ct_AS OBJDUMP ac_ct_OBJDUMP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL M4 PERL_PATH PKG_CONFIG ac_pt_PKG_CONFIG GLIBMM_CFLAGS GLIBMM_LIBS GTHREAD_CFLAGS GTHREAD_LIBS GTKMM_DOXYGEN_INPUT GTKMMPROC_MERGECDOCS DISABLE_DEPRECATED_CFLAGS DISABLE_DEPRECATED_API_CFLAGS GTKMM_FALSE_TRUE GTKMM_FALSE_FALSE LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL
+PATH_SEPARATOR
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+GLIBMM_MAJOR_VERSION
+GLIBMM_MINOR_VERSION
+GLIBMM_MICRO_VERSION
+GLIBMM_VERSION
+GLIBMM_RELEASE
+LIBGLIBMM_SO_VERSION
+INSTALL_PROGRAM
+INSTALL_SCRIPT
+INSTALL_DATA
+am__isrc
+CYGPATH_W
+PACKAGE
+VERSION
+ACLOCAL
+AUTOCONF
+AUTOMAKE
+AUTOHEADER
+MAKEINFO
+install_sh
+STRIP
+INSTALL_STRIP_PROGRAM
+mkdir_p
+AWK
+SET_MAKE
+am__leading_dot
+AMTAR
+am__tar
+am__untar
+MAINTAINER_MODE_TRUE
+MAINTAINER_MODE_FALSE
+MAINT
+CC
+CFLAGS
+LDFLAGS
+CPPFLAGS
+ac_ct_CC
+EXEEXT
+OBJEXT
+DEPDIR
+am__include
+am__quote
+AMDEP_TRUE
+AMDEP_FALSE
+AMDEPBACKSLASH
+CCDEPMODE
+am__fastdepCC_TRUE
+am__fastdepCC_FALSE
+CPP
+build
+build_cpu
+build_vendor
+build_os
+host
+host_cpu
+host_vendor
+host_os
+PLATFORM_WIN32_TRUE
+PLATFORM_WIN32_FALSE
+OS_WIN32_TRUE
+OS_WIN32_FALSE
+GREP
+EGREP
+LN_S
+ECHO
+AR
+RANLIB
+DLLTOOL
+AS
+OBJDUMP
+CXX
+CXXFLAGS
+ac_ct_CXX
+CXXDEPMODE
+am__fastdepCXX_TRUE
+am__fastdepCXX_FALSE
+CXXCPP
+F77
+FFLAGS
+ac_ct_F77
+LIBTOOL
+M4
+PERL_PATH
+PKG_CONFIG
+GLIBMM_CFLAGS
+GLIBMM_LIBS
+GTHREAD_CFLAGS
+GTHREAD_LIBS
+GTKMM_DOXYGEN_INPUT
+GTKMMPROC_MERGECDOCS
+DISABLE_DEPRECATED_CFLAGS
+DISABLE_DEPRECATED_API_CFLAGS
+GTKMM_FALSE_TRUE
+GTKMM_FALSE_FALSE
+LIBOBJS
+LTLIBOBJS'
ac_subst_files=''
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+CPPFLAGS
+CPP
+CXX
+CXXFLAGS
+CCC
+CXXCPP
+F77
+FFLAGS
+PKG_CONFIG
+GLIBMM_CFLAGS
+GLIBMM_LIBS
+GTHREAD_CFLAGS
+GTHREAD_LIBS'
+
# Initialize some variables set by options.
ac_init_help=
@@ -491,34 +931,48 @@ x_libraries=NONE
# and all the variables that are supposed to be based on exec_prefix
# by default will actually change.
# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
includedir='${prefix}/include'
oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
+docdir='${datarootdir}/doc/${PACKAGE}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
ac_prev=
+ac_dashdash=
for ac_option
do
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
+ eval $ac_prev=\$ac_option
ac_prev=
continue
fi
- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+ case $ac_option in
+ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *) ac_optarg=yes ;;
+ esac
# Accept the important Cygnus configure options, so we can diagnose typos.
- case $ac_option in
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
-bindir | --bindir | --bindi | --bind | --bin | --bi)
ac_prev=bindir ;;
@@ -540,12 +994,18 @@ do
--config-cache | -C)
cache_file=config.cache ;;
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ -datadir | --datadir | --datadi | --datad)
ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
datadir=$ac_optarg ;;
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
-disable-* | --disable-*)
ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
@@ -553,7 +1013,17 @@ do
{ echo "$as_me: error: invalid feature name: $ac_feature" >&2
{ (exit 1); exit 1; }; }
ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- eval "enable_$ac_feature=no" ;;
+ eval enable_$ac_feature=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
-enable-* | --enable-*)
ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
@@ -562,11 +1032,7 @@ do
{ echo "$as_me: error: invalid feature name: $ac_feature" >&2
{ (exit 1); exit 1; }; }
ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_$ac_feature='$ac_optarg'" ;;
+ eval enable_$ac_feature=\$ac_optarg ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
@@ -593,6 +1059,12 @@ do
-host=* | --host=* | --hos=* | --ho=*)
host_alias=$ac_optarg ;;
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
-includedir | --includedir | --includedi | --included | --include \
| --includ | --inclu | --incl | --inc)
ac_prev=includedir ;;
@@ -617,13 +1089,16 @@ do
| --libexe=* | --libex=* | --libe=*)
libexecdir=$ac_optarg ;;
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
-localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
+ | --localstate | --localstat | --localsta | --localst | --locals)
ac_prev=localstatedir ;;
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
localstatedir=$ac_optarg ;;
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
@@ -688,6 +1163,16 @@ do
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name=$ac_optarg ;;
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
@@ -744,11 +1229,7 @@ do
{ echo "$as_me: error: invalid package name: $ac_package" >&2
{ (exit 1); exit 1; }; }
ac_package=`echo $ac_package| sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "with_$ac_package='$ac_optarg'" ;;
+ eval with_$ac_package=\$ac_optarg ;;
-without-* | --without-*)
ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
@@ -757,7 +1238,7 @@ do
{ echo "$as_me: error: invalid package name: $ac_package" >&2
{ (exit 1); exit 1; }; }
ac_package=`echo $ac_package | sed 's/-/_/g'`
- eval "with_$ac_package=no" ;;
+ eval with_$ac_package=no ;;
--x)
# Obsolete; use --with-x.
@@ -788,8 +1269,7 @@ Try \`$0 --help' for more information." >&2
expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
{ echo "$as_me: error: invalid variable name: $ac_envvar" >&2
{ (exit 1); exit 1; }; }
- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
- eval "$ac_envvar='$ac_optarg'"
+ eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
*)
@@ -809,27 +1289,19 @@ if test -n "$ac_prev"; then
{ (exit 1); exit 1; }; }
fi
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
+# Be sure to have absolute directory names.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
do
- eval ac_val=$`echo $ac_var`
+ eval ac_val=\$$ac_var
case $ac_val in
- [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
- localstatedir libdir includedir oldincludedir infodir mandir
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
+ { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; }
done
# There might be people who depend on the old broken behavior: `$host'
@@ -856,114 +1328,76 @@ test -n "$host_alias" && ac_tool_prefix=$host_alias-
test "$silent" = yes && exec 6>/dev/null
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ { echo "$as_me: error: Working directory cannot be determined" >&2
+ { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ { echo "$as_me: error: pwd does not report name of working directory" >&2
+ { (exit 1); exit 1; }; }
+
+
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_confdir=`(dirname "$0") 2>/dev/null ||
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$0" ||
$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$0" : 'X\(//\)[^/]' \| \
X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$0" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
+ if test ! -r "$srcdir/$ac_unique_file"; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
{ (exit 1); exit 1; }; }
- else
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
- { (exit 1); exit 1; }; }
- fi
fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
- { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
{ (exit 1); exit 1; }; }
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-ac_env_CC_set=${CC+set}
-ac_env_CC_value=$CC
-ac_cv_env_CC_set=${CC+set}
-ac_cv_env_CC_value=$CC
-ac_env_CFLAGS_set=${CFLAGS+set}
-ac_env_CFLAGS_value=$CFLAGS
-ac_cv_env_CFLAGS_set=${CFLAGS+set}
-ac_cv_env_CFLAGS_value=$CFLAGS
-ac_env_LDFLAGS_set=${LDFLAGS+set}
-ac_env_LDFLAGS_value=$LDFLAGS
-ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
-ac_cv_env_LDFLAGS_value=$LDFLAGS
-ac_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_env_CPPFLAGS_value=$CPPFLAGS
-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_cv_env_CPPFLAGS_value=$CPPFLAGS
-ac_env_CPP_set=${CPP+set}
-ac_env_CPP_value=$CPP
-ac_cv_env_CPP_set=${CPP+set}
-ac_cv_env_CPP_value=$CPP
-ac_env_CXX_set=${CXX+set}
-ac_env_CXX_value=$CXX
-ac_cv_env_CXX_set=${CXX+set}
-ac_cv_env_CXX_value=$CXX
-ac_env_CXXFLAGS_set=${CXXFLAGS+set}
-ac_env_CXXFLAGS_value=$CXXFLAGS
-ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set}
-ac_cv_env_CXXFLAGS_value=$CXXFLAGS
-ac_env_CXXCPP_set=${CXXCPP+set}
-ac_env_CXXCPP_value=$CXXCPP
-ac_cv_env_CXXCPP_set=${CXXCPP+set}
-ac_cv_env_CXXCPP_value=$CXXCPP
-ac_env_F77_set=${F77+set}
-ac_env_F77_value=$F77
-ac_cv_env_F77_set=${F77+set}
-ac_cv_env_F77_value=$F77
-ac_env_FFLAGS_set=${FFLAGS+set}
-ac_env_FFLAGS_value=$FFLAGS
-ac_cv_env_FFLAGS_set=${FFLAGS+set}
-ac_cv_env_FFLAGS_value=$FFLAGS
-ac_env_PKG_CONFIG_set=${PKG_CONFIG+set}
-ac_env_PKG_CONFIG_value=$PKG_CONFIG
-ac_cv_env_PKG_CONFIG_set=${PKG_CONFIG+set}
-ac_cv_env_PKG_CONFIG_value=$PKG_CONFIG
-ac_env_GLIBMM_CFLAGS_set=${GLIBMM_CFLAGS+set}
-ac_env_GLIBMM_CFLAGS_value=$GLIBMM_CFLAGS
-ac_cv_env_GLIBMM_CFLAGS_set=${GLIBMM_CFLAGS+set}
-ac_cv_env_GLIBMM_CFLAGS_value=$GLIBMM_CFLAGS
-ac_env_GLIBMM_LIBS_set=${GLIBMM_LIBS+set}
-ac_env_GLIBMM_LIBS_value=$GLIBMM_LIBS
-ac_cv_env_GLIBMM_LIBS_set=${GLIBMM_LIBS+set}
-ac_cv_env_GLIBMM_LIBS_value=$GLIBMM_LIBS
-ac_env_GTHREAD_CFLAGS_set=${GTHREAD_CFLAGS+set}
-ac_env_GTHREAD_CFLAGS_value=$GTHREAD_CFLAGS
-ac_cv_env_GTHREAD_CFLAGS_set=${GTHREAD_CFLAGS+set}
-ac_cv_env_GTHREAD_CFLAGS_value=$GTHREAD_CFLAGS
-ac_env_GTHREAD_LIBS_set=${GTHREAD_LIBS+set}
-ac_env_GTHREAD_LIBS_value=$GTHREAD_LIBS
-ac_cv_env_GTHREAD_LIBS_set=${GTHREAD_LIBS+set}
-ac_cv_env_GTHREAD_LIBS_value=$GTHREAD_LIBS
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
#
# Report the --help message.
@@ -992,9 +1426,6 @@ Configuration:
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or \`..']
-_ACEOF
-
- cat <<_ACEOF
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[$ac_default_prefix]
@@ -1012,15 +1443,22 @@ Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data [PREFIX/share]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
- --infodir=DIR info documentation [PREFIX/info]
- --mandir=DIR man documentation [PREFIX/man]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
_ACEOF
cat <<\_ACEOF
@@ -1047,10 +1485,8 @@ Optional Features:
(and sometimes confusing) to the casual installer
--disable-dependency-tracking speeds up one-time build
--enable-dependency-tracking do not reject slow dependency extractors
- --enable-static[=PKGS]
- build static libraries [default=no]
- --enable-shared[=PKGS]
- build shared libraries [default=yes]
+ --enable-static[=PKGS] build static libraries [default=no]
+ --enable-shared[=PKGS] build shared libraries [default=yes]
--enable-fast-install[=PKGS]
optimize for fast installation [default=yes]
--disable-libtool-lock avoid locking (might break parallel builds)
@@ -1079,16 +1515,15 @@ Optional Packages:
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-pic try to use only PIC/non-PIC objects [default=use
both]
- --with-tags[=TAGS]
- include additional configurations [automatic]
+ --with-tags[=TAGS] include additional configurations [automatic]
Some influential environment variables:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
- CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
- headers in a nonstandard directory <include dir>
+ CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
CPP C preprocessor
CXX C++ compiler command
CXXFLAGS C++ compiler flags
@@ -1108,118 +1543,86 @@ Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
_ACEOF
+ac_status=$?
fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
- ac_popdir=`pwd`
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d $ac_dir || continue
+ test -d "$ac_dir" || continue
ac_builddir=.
-if test "$ac_dir" != .; then
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
case $srcdir in
- .) # No --srcdir option. We are building in place.
+ .) # We are building in place.
ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
- cd $ac_dir
- # Check for guested configure; otherwise get Cygnus style configure.
- if test -f $ac_srcdir/configure.gnu; then
- echo
- $SHELL $ac_srcdir/configure.gnu --help=recursive
- elif test -f $ac_srcdir/configure; then
- echo
- $SHELL $ac_srcdir/configure --help=recursive
- elif test -f $ac_srcdir/configure.ac ||
- test -f $ac_srcdir/configure.in; then
- echo
- $ac_configure --help
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
else
echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi
- cd $ac_popdir
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
done
fi
-test -n "$ac_init_help" && exit 0
+test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
+configure
+generated by GNU Autoconf 2.60
-Copyright (C) 2003 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
- exit 0
+ exit
fi
-exec 5>config.log
-cat >&5 <<_ACEOF
+cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by $as_me, which was
-generated by GNU Autoconf 2.59. Invocation command line was
+generated by GNU Autoconf 2.60. Invocation command line was
$ $0 $@
_ACEOF
+exec 5>>config.log
{
cat <<_ASUNAME
## --------- ##
@@ -1238,7 +1641,7 @@ uname -v = `(uname -v) 2>/dev/null || echo unknown`
/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
@@ -1252,6 +1655,7 @@ do
test -z "$as_dir" && as_dir=.
echo "PATH: $as_dir"
done
+IFS=$as_save_IFS
} >&5
@@ -1273,7 +1677,6 @@ _ACEOF
ac_configure_args=
ac_configure_args0=
ac_configure_args1=
-ac_sep=
ac_must_keep_next=false
for ac_pass in 1 2
do
@@ -1284,7 +1687,7 @@ do
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
continue ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ *\'*)
ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
@@ -1306,9 +1709,7 @@ do
-* ) ac_must_keep_next=true ;;
esac
fi
- ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
- # Get rid of the leading space.
- ac_sep=" "
+ ac_configure_args="$ac_configure_args '$ac_arg'"
;;
esac
done
@@ -1319,8 +1720,8 @@ $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_
# When interrupted or exit'd, cleanup temporary files, and complete
# config.log. We remove comments because anyway the quotes in there
# would cause problems or look ugly.
-# WARNING: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
trap 'exit_status=$?
# Save into config.log some information that might help in debugging.
{
@@ -1333,20 +1734,34 @@ trap 'exit_status=$?
_ASBOX
echo
# The following way of writing the cache mishandles newlines in values,
-{
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
(set) 2>&1 |
- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
sed -n \
- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
- ;;
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
*)
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
- esac;
-}
+ esac |
+ sort
+)
echo
cat <<\_ASBOX
@@ -1357,22 +1772,28 @@ _ASBOX
echo
for ac_var in $ac_subst_vars
do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ echo "$ac_var='\''$ac_val'\''"
done | sort
echo
if test -n "$ac_subst_files"; then
cat <<\_ASBOX
-## ------------- ##
-## Output files. ##
-## ------------- ##
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
_ASBOX
echo
for ac_var in $ac_subst_files
do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ echo "$ac_var='\''$ac_val'\''"
done | sort
echo
fi
@@ -1384,26 +1805,24 @@ _ASBOX
## ----------- ##
_ASBOX
echo
- sed "/^$/d" confdefs.h | sort
+ cat confdefs.h
echo
fi
test "$ac_signal" != 0 &&
echo "$as_me: caught signal $ac_signal"
echo "$as_me: exit $exit_status"
} >&5
- rm -f core *.core &&
- rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
exit $exit_status
- ' 0
+' 0
for ac_signal in 1 2 13 15; do
trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
done
ac_signal=0
# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >confdefs.h
+rm -f -r conftest* confdefs.h
# Predefined preprocessor variables.
@@ -1434,14 +1853,17 @@ _ACEOF
# Let the site file select an alternate cache file if it wants to.
# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
+if test -n "$CONFIG_SITE"; then
+ set x "$CONFIG_SITE"
+elif test "x$prefix" != xNONE; then
+ set x "$prefix/share/config.site" "$prefix/etc/config.site"
+else
+ set x "$ac_default_prefix/share/config.site" \
+ "$ac_default_prefix/etc/config.site"
fi
-for ac_site_file in $CONFIG_SITE; do
+shift
+for ac_site_file
+do
if test -r "$ac_site_file"; then
{ echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
echo "$as_me: loading site script $ac_site_file" >&6;}
@@ -1457,8 +1879,8 @@ if test -r "$cache_file"; then
{ echo "$as_me:$LINENO: loading cache $cache_file" >&5
echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
- [\\/]* | ?:[\\/]* ) . $cache_file;;
- *) . ./$cache_file;;
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
esac
fi
else
@@ -1470,12 +1892,11 @@ fi
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
-for ac_var in `(set) 2>&1 |
- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+for ac_var in $ac_precious_vars; do
eval ac_old_set=\$ac_cv_env_${ac_var}_set
eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val="\$ac_cv_env_${ac_var}_value"
- eval ac_new_val="\$ac_env_${ac_var}_value"
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
case $ac_old_set,$ac_new_set in
set,)
{ echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
@@ -1500,8 +1921,7 @@ echo "$as_me: current value: $ac_new_val" >&2;}
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
@@ -1518,12 +1938,6 @@ echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start ov
{ (exit 1); exit 1; }; }
fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
@@ -1540,6 +1954,11 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
@@ -1548,8 +1967,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Version and initialization
#########################################################################
GLIBMM_MAJOR_VERSION=2
-GLIBMM_MINOR_VERSION=13
-GLIBMM_MICRO_VERSION=3
+GLIBMM_MINOR_VERSION=14
+GLIBMM_MICRO_VERSION=2
GLIBMM_VERSION=$GLIBMM_MAJOR_VERSION.$GLIBMM_MINOR_VERSION.$GLIBMM_MICRO_VERSION
GLIBMM_RELEASE=$GLIBMM_MAJOR_VERSION.$GLIBMM_MINOR_VERSION
@@ -1584,35 +2003,42 @@ LIBGLIBMM_SO_VERSION=1:24:0
ac_aux_dir=
-for ac_dir in scripts $srcdir/scripts; do
- if test -f $ac_dir/install-sh; then
+for ac_dir in scripts "$srcdir"/scripts; do
+ if test -f "$ac_dir/install-sh"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install-sh -c"
break
- elif test -f $ac_dir/install.sh; then
+ elif test -f "$ac_dir/install.sh"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install.sh -c"
break
- elif test -f $ac_dir/shtool; then
+ elif test -f "$ac_dir/shtool"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/shtool install -c"
break
fi
done
if test -z "$ac_aux_dir"; then
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in scripts $srcdir/scripts" >&5
-echo "$as_me: error: cannot find install-sh or install.sh in scripts $srcdir/scripts" >&2;}
+ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in scripts \"$srcdir\"/scripts" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in scripts \"$srcdir\"/scripts" >&2;}
{ (exit 1); exit 1; }; }
fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
VERSION=$GLIBMM_VERSION
PACKAGE=glibmm
-am__api_version="1.9"
+am__api_version='1.10'
+
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
# incompatible versions:
@@ -1626,8 +2052,8 @@ am__api_version="1.9"
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
if test -z "$INSTALL"; then
if test "${ac_cv_path_install+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -1649,7 +2075,7 @@ case $as_dir/ in
# by default.
for ac_prog in ginstall scoinst install; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; }; then
if test $ac_prog = install &&
grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
@@ -1668,21 +2094,22 @@ case $as_dir/ in
;;
esac
done
+IFS=$as_save_IFS
fi
if test "${ac_cv_path_install+set}" = set; then
INSTALL=$ac_cv_path_install
else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
# break other packages using the cache if that directory is
- # removed, or if the path is relative.
+ # removed, or if the value is a relative name.
INSTALL=$ac_install_sh
fi
fi
-echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6
+{ echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6; }
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
@@ -1692,8 +2119,8 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
# Just in case
sleep 1
echo timestamp > conftest.file
@@ -1735,20 +2162,20 @@ echo "$as_me: error: newly created file is older than distributed files!
Check your system clock" >&2;}
{ (exit 1); exit 1; }; }
fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
test "$program_prefix" != NONE &&
- program_transform_name="s,^,$program_prefix,;$program_transform_name"
+ program_transform_name="s&^&$program_prefix&;$program_transform_name"
# Use a double $ so make ignores it.
test "$program_suffix" != NONE &&
- program_transform_name="s,\$,$program_suffix,;$program_transform_name"
+ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
# Double any \ or $. echo might interpret backslashes.
# By default was `s,x,x', remove it if useless.
cat <<\_ACEOF >conftest.sed
s/[\\$]/&&/g;s/;s,x,x,$//
_ACEOF
program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm conftest.sed
+rm -f conftest.sed
# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`
@@ -1763,45 +2190,60 @@ else
echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
fi
-if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
- # We used to keeping the `.' as first argument, in order to
- # allow $(mkdir_p) to be used without argument. As in
- # $(mkdir_p) $(somedir)
- # where $(somedir) is conditionally defined. However this is wrong
- # for two reasons:
- # 1. if the package is installed by a user who cannot write `.'
- # make install will fail,
- # 2. the above comment should most certainly read
- # $(mkdir_p) $(DESTDIR)$(somedir)
- # so it does not work when $(somedir) is undefined and
- # $(DESTDIR) is not.
- # To support the latter case, we have to write
- # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
- # so the `.' trick is pointless.
- mkdir_p='mkdir -p --'
-else
- # On NextStep and OpenStep, the `mkdir' command does not
- # recognize any option. It will interpret all options as
- # directories to create, and then abort because `.' already
- # exists.
- for d in ./-p ./--version;
- do
- test -d $d && rmdir $d
- done
- # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
- if test -f "$ac_aux_dir/mkinstalldirs"; then
- mkdir_p='$(mkinstalldirs)'
+{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
+echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; }
+if test -z "$MKDIR_P"; then
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in mkdir gmkdir; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+ 'mkdir (GNU coreutils) '* | \
+ 'mkdir (coreutils) '* | \
+ 'mkdir (fileutils) '4.1*)
+ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+ break 3;;
+ esac
+ done
+ done
+done
+IFS=$as_save_IFS
+
+fi
+
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ MKDIR_P="$ac_cv_path_mkdir -p"
else
- mkdir_p='$(install_sh) -d'
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for MKDIR_P within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ test -d ./--version && rmdir ./--version
+ MKDIR_P="$ac_install_sh -d"
fi
fi
+{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5
+echo "${ECHO_T}$MKDIR_P" >&6; }
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+ [\\/$]* | ?:[\\/]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_AWK+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -1814,54 +2256,57 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AWK="$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
- echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6
+ { echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$AWK" && break
done
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
+set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
all:
- @echo 'ac_maketemp="$(MAKE)"'
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
rm -f conftest.make
fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
SET_MAKE=
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
SET_MAKE="MAKE=${MAKE-make}"
fi
@@ -1874,12 +2319,16 @@ else
fi
rmdir .tst 2>/dev/null
-# test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" &&
- test -f $srcdir/config.status; then
- { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ am__isrc=' -I$(srcdir)'
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
{ (exit 1); exit 1; }; }
+ fi
fi
# test whether we have cygpath
@@ -1922,7 +2371,7 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-install_sh=${install_sh-"$am_aux_dir/install-sh"}
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
# Installed binaries are usually stripped using `strip' when the user
# run `make install-strip'. However `strip' might not be the right
@@ -1932,8 +2381,8 @@ if test "$cross_compiling" != no; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_STRIP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -1946,32 +2395,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
- echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
+ { echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_STRIP"; then
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -1984,33 +2435,47 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_STRIP="strip"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
- echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- STRIP=$ac_ct_STRIP
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
else
STRIP="$ac_cv_prog_STRIP"
fi
fi
-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
@@ -2025,22 +2490,20 @@ am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
- ac_config_headers="$ac_config_headers config.h glib/glibmmconfig.h"
+ac_config_headers="$ac_config_headers config.h glib/glibmmconfig.h"
-echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
-echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
- # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; }
+ # Check whether --enable-maintainer-mode was given.
if test "${enable_maintainer_mode+set}" = set; then
- enableval="$enable_maintainer_mode"
- USE_MAINTAINER_MODE=$enableval
+ enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
else
USE_MAINTAINER_MODE=no
-fi;
- echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
-echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
-
+fi
-if test $USE_MAINTAINER_MODE = yes; then
+ { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
+echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; }
+ if test $USE_MAINTAINER_MODE = yes; then
MAINTAINER_MODE_TRUE=
MAINTAINER_MODE_FALSE='#'
else
@@ -2075,8 +2538,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2089,32 +2552,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2127,36 +2592,51 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="gcc"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- CC=$ac_ct_CC
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
else
CC="$ac_cv_prog_CC"
fi
if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2169,74 +2649,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- CC=$ac_ct_CC
-else
- CC="$ac_cv_prog_CC"
-fi
+ fi
fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2250,7 +2690,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
@@ -2261,6 +2701,7 @@ do
fi
done
done
+IFS=$as_save_IFS
if test $ac_prog_rejected = yes; then
# We found a bogon in the path, so make sure we never use it.
@@ -2278,22 +2719,23 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
- for ac_prog in cl
+ for ac_prog in cl.exe
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2306,36 +2748,38 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$CC" && break
done
fi
if test -z "$CC"; then
ac_ct_CC=$CC
- for ac_prog in cl
+ for ac_prog in cl.exe
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2348,29 +2792,45 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$ac_ct_CC" && break
done
- CC=$ac_ct_CC
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
fi
fi
@@ -2383,21 +2843,35 @@ See \`config.log' for more details." >&2;}
{ (exit 1); exit 1; }; }
# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C compiler version" >&5
+echo "$as_me:$LINENO: checking for C compiler version" >&5
ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
@@ -2422,46 +2896,70 @@ ac_clean_files="$ac_clean_files a.out a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
-echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
- (eval $ac_link_default) 2>&5
+#
+# List of possible output files, starting from the most likely.
+# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
+# only as a last resort. b.out is created by i960 compilers.
+ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
+#
+# The IRIX 6 linker writes into existing files which may not be
+# executable, retaining their permissions. Remove them first so a
+# subsequent execution test works.
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { (ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link_default") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
- # Find the output, starting from the most likely. This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-# resort.
-
-# Be careful to initialize this variable, since it used to be cached.
-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
-ac_cv_exeext=
-# b.out is created by i960 compilers.
-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files
do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
- ;;
- conftest.$ac_ext )
- # This is the source file.
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
;;
[ab].out )
# We found the default executable, but exeext='' is most
# certainly right.
break;;
*.* )
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- # FIXME: I believe we export ac_cv_exeext for Libtool,
- # but it would be cool to find out if it's true. Does anybody
- # maintain Libtool? --akim.
- export ac_cv_exeext
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
break;;
* )
break;;
esac
done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
@@ -2474,19 +2972,23 @@ See \`config.log' for more details." >&2;}
fi
ac_exeext=$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6
+{ echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6; }
-# Check the compiler produces executables we can run. If not, either
+# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
# If not cross compiling, check that we can run a simple program.
if test "$cross_compiling" != yes; then
if { ac_try='./$ac_file'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -2505,22 +3007,27 @@ See \`config.log' for more details." >&2;}
fi
fi
fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
rm -f a.out a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
-# Check the compiler produces executables we can run. If not, either
+# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6
-
-echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6; }
+
+{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
@@ -2531,9 +3038,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
for ac_file in conftest.exe conftest conftest.*; do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
*.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- export ac_cv_exeext
break;;
* ) break;;
esac
@@ -2547,14 +3053,14 @@ See \`config.log' for more details." >&2;}
fi
rm -f conftest$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6; }
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
-echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
if test "${ac_cv_objext+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2574,14 +3080,20 @@ main ()
}
_ACEOF
rm -f conftest.o conftest.obj
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
- for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
*) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
break;;
esac
@@ -2599,12 +3111,12 @@ fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6; }
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
if test "${ac_cv_c_compiler_gnu+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2627,24 +3139,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -2653,24 +3177,28 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_compiler_gnu=no
+ ac_compiler_gnu=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
GCC=`test $ac_compiler_gnu = yes && echo yes`
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
-CFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
if test "${ac_cv_prog_cc_g+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- cat >conftest.$ac_ext <<_ACEOF
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -2686,24 +3214,147 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_prog_cc_g=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ CFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -2712,12 +3363,20 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_prog_cc_g=no
+
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
if test "$ac_test_CFLAGS" = set; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
@@ -2733,12 +3392,12 @@ else
CFLAGS=
fi
fi
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
+{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- ac_cv_prog_cc_stdc=no
+ ac_cv_prog_cc_c89=no
ac_save_CC=$CC
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -2772,12 +3431,17 @@ static char *f (char * (*g) (char **, int), char **p, ...)
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not '\xHH' hex character constants.
These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std1 is added to get
+ as 'x'. The following induces an error, until -std is added to get
proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std1. */
+ that's true only with -std. */
int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
int test (int i, double x);
struct s1 {int (*f) (int a);};
struct s2 {int (*f) (double a);};
@@ -2792,205 +3456,74 @@ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
return 0;
}
_ACEOF
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX -qlanglvl=ansi
-# Ultrix and OSF/1 -std1
-# HP-UX 10.20 and later -Ae
-# HP-UX older versions -Aa -D_HPUX_SOURCE
-# SVR4 -Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
do
CC="$ac_save_CC $ac_arg"
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- ac_cv_prog_cc_stdc=$ac_arg
-break
+ ac_cv_prog_cc_c89=$ac_arg
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext
+
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
done
-rm -f conftest.$ac_ext conftest.$ac_objext
+rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
-
-case "x$ac_cv_prog_cc_stdc" in
- x|xno)
- echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6; } ;;
+ xno)
+ { echo "$as_me:$LINENO: result: unsupported" >&5
+echo "${ECHO_T}unsupported" >&6; } ;;
*)
- echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
- CC="$CC $ac_cv_prog_cc_stdc" ;;
+ CC="$CC $ac_cv_prog_cc_c89"
+ { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
esac
-# Some people use a C++ compiler to compile C. Since we use `exit',
-# in C++ we need to declare it. In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
- choke me
-#endif
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
-fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -2998,7 +3531,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
DEPDIR="${am__leading_dot}deps"
- ac_config_commands="$ac_config_commands depfiles"
+ac_config_commands="$ac_config_commands depfiles"
am_make=${MAKE-make}
@@ -3008,8 +3541,8 @@ am__doit:
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
-echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
am__include="#"
am__quote=
_am_result=none
@@ -3036,22 +3569,20 @@ if test "$am__include" = "#"; then
fi
-echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_am_result" >&6
+{ echo "$as_me:$LINENO: result: $_am_result" >&5
+echo "${ECHO_T}$_am_result" >&6; }
rm -f confinc confmf
-# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
+# Check whether --enable-dependency-tracking was given.
if test "${enable_dependency_tracking+set}" = set; then
- enableval="$enable_dependency_tracking"
+ enableval=$enable_dependency_tracking;
+fi
-fi;
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
fi
-
-
-if test "x$enable_dependency_tracking" != xno; then
+ if test "x$enable_dependency_tracking" != xno; then
AMDEP_TRUE=
AMDEP_FALSE='#'
else
@@ -3061,11 +3592,10 @@ fi
-
depcc="$CC" am_compiler_list=
-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3129,6 +3659,7 @@ else
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
$SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
>/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
@@ -3154,13 +3685,11 @@ else
fi
fi
-echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
+{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
-
-if
+ if
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
am__fastdepCC_TRUE=
@@ -3176,8 +3705,8 @@ ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -3211,8 +3740,13 @@ cat >>conftest.$ac_ext <<_ACEOF
#endif
Syntax error
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
@@ -3237,9 +3771,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
continue
fi
+
rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether non-existent headers
+ # OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -3249,8 +3784,13 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
@@ -3277,6 +3817,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_preproc_ok=:
break
fi
+
rm -f conftest.err conftest.$ac_ext
done
@@ -3294,8 +3835,8 @@ fi
else
ac_cv_prog_CPP=$CPP
fi
-echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6
+{ echo "$as_me:$LINENO: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6; }
ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
@@ -3318,8 +3859,13 @@ cat >>conftest.$ac_ext <<_ACEOF
#endif
Syntax error
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
@@ -3344,9 +3890,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
continue
fi
+
rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether non-existent headers
+ # OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -3356,8 +3903,13 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
@@ -3384,6 +3936,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_preproc_ok=:
break
fi
+
rm -f conftest.err conftest.$ac_ext
done
@@ -3405,92 +3958,122 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
+set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
all:
- @echo 'ac_maketemp="$(MAKE)"'
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
rm -f conftest.make
fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
SET_MAKE=
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
SET_MAKE="MAKE=${MAKE-make}"
fi
# Make sure we can run config.sub.
-$ac_config_sub sun4 >/dev/null 2>&1 ||
- { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
-echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
{ (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
if test "${ac_cv_build+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- ac_cv_build_alias=$build_alias
-test -z "$ac_cv_build_alias" &&
- ac_cv_build_alias=`$ac_config_guess`
-test -z "$ac_cv_build_alias" &&
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
{ { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
{ (exit 1); exit 1; }; }
-ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
-echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+echo "$as_me: error: invalid value of canonical build" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
build=$ac_cv_build
-build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
if test "${ac_cv_host+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- ac_cv_host_alias=$host_alias
-test -z "$ac_cv_host_alias" &&
- ac_cv_host_alias=$ac_cv_build_alias
-ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
{ (exit 1); exit 1; }; }
+fi
fi
-echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+echo "$as_me: error: invalid value of canonical host" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
host=$ac_cv_host
-host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-
-echo "$as_me:$LINENO: checking for some Win32 platform" >&5
-echo $ECHO_N "checking for some Win32 platform... $ECHO_C" >&6
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+
+{ echo "$as_me:$LINENO: checking for some Win32 platform" >&5
+echo $ECHO_N "checking for some Win32 platform... $ECHO_C" >&6; }
case "$host" in
*-*-mingw*|*-*-cygwin*)
platform_win32=yes
@@ -3499,11 +4082,9 @@ case "$host" in
platform_win32=no
;;
esac
-echo "$as_me:$LINENO: result: $platform_win32" >&5
-echo "${ECHO_T}$platform_win32" >&6
-
-
-if test "$platform_win32" = "yes"; then
+{ echo "$as_me:$LINENO: result: $platform_win32" >&5
+echo "${ECHO_T}$platform_win32" >&6; }
+ if test "$platform_win32" = "yes"; then
PLATFORM_WIN32_TRUE=
PLATFORM_WIN32_FALSE='#'
else
@@ -3512,8 +4093,8 @@ else
fi
-echo "$as_me:$LINENO: checking for native Win32" >&5
-echo $ECHO_N "checking for native Win32... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for native Win32" >&5
+echo $ECHO_N "checking for native Win32... $ECHO_C" >&6; }
case "$host" in
*-*-mingw*)
os_win32=yes
@@ -3522,11 +4103,9 @@ case "$host" in
os_win32=no
;;
esac
-echo "$as_me:$LINENO: result: $os_win32" >&5
-echo "${ECHO_T}$os_win32" >&6
-
-
-if test "$os_win32" = "yes"; then
+{ echo "$as_me:$LINENO: result: $os_win32" >&5
+echo "${ECHO_T}$os_win32" >&6; }
+ if test "$os_win32" = "yes"; then
OS_WIN32_TRUE=
OS_WIN32_FALSE='#'
else
@@ -3535,10 +4114,9 @@ else
fi
-# Check whether --enable-static or --disable-static was given.
+# Check whether --enable-static was given.
if test "${enable_static+set}" = set; then
- enableval="$enable_static"
- p=${PACKAGE-default}
+ enableval=$enable_static; p=${PACKAGE-default}
case $enableval in
yes) enable_static=yes ;;
no) enable_static=no ;;
@@ -3557,15 +4135,15 @@ if test "${enable_static+set}" = set; then
esac
else
enable_static=no
-fi;
+fi
+
-# Check whether --enable-shared or --disable-shared was given.
+# Check whether --enable-shared was given.
if test "${enable_shared+set}" = set; then
- enableval="$enable_shared"
- p=${PACKAGE-default}
+ enableval=$enable_shared; p=${PACKAGE-default}
case $enableval in
yes) enable_shared=yes ;;
no) enable_shared=no ;;
@@ -3584,12 +4162,12 @@ if test "${enable_shared+set}" = set; then
esac
else
enable_shared=yes
-fi;
+fi
+
-# Check whether --enable-fast-install or --disable-fast-install was given.
+# Check whether --enable-fast-install was given.
if test "${enable_fast_install+set}" = set; then
- enableval="$enable_fast_install"
- p=${PACKAGE-default}
+ enableval=$enable_fast_install; p=${PACKAGE-default}
case $enableval in
yes) enable_fast_install=yes ;;
no) enable_fast_install=no ;;
@@ -3608,10 +4186,11 @@ if test "${enable_fast_install+set}" = set; then
esac
else
enable_fast_install=yes
-fi;
+fi
-echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6
+
+{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; }
if test "${lt_cv_path_SED+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3664,37 +4243,184 @@ done
fi
SED=$lt_cv_path_SED
-echo "$as_me:$LINENO: result: $SED" >&5
-echo "${ECHO_T}$SED" >&6
+{ echo "$as_me:$LINENO: result: $SED" >&5
+echo "${ECHO_T}$SED" >&6; }
+
+{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ # Extract the first word of "grep ggrep" to use in msg output
+if test -z "$GREP"; then
+set dummy grep ggrep; ac_prog_name=$2
+if test "${ac_cv_path_GREP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_path_GREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_executable_p "$ac_path_GREP"; } || continue
+ # Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+ $ac_path_GREP_found && break 3
+ done
+done
+
+done
+IFS=$as_save_IFS
+
+
+fi
+
+GREP="$ac_cv_path_GREP"
+if test -z "$GREP"; then
+ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
-echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6
-if test "${ac_cv_prog_egrep+set}" = set; then
+{ echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- if echo a | (grep -E '(a|b)') >/dev/null 2>&1
- then ac_cv_prog_egrep='grep -E'
- else ac_cv_prog_egrep='egrep'
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ # Extract the first word of "egrep" to use in msg output
+if test -z "$EGREP"; then
+set dummy egrep; ac_prog_name=$2
+if test "${ac_cv_path_EGREP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_path_EGREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_executable_p "$ac_path_EGREP"; } || continue
+ # Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+ $ac_path_EGREP_found && break 3
+ done
+done
+
+done
+IFS=$as_save_IFS
+
+
fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
-echo "${ECHO_T}$ac_cv_prog_egrep" >&6
- EGREP=$ac_cv_prog_egrep
+EGREP="$ac_cv_path_EGREP"
+if test -z "$EGREP"; then
+ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
+
+ fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+
+# Check whether --with-gnu-ld was given.
if test "${with_gnu_ld+set}" = set; then
- withval="$with_gnu_ld"
- test "$withval" = no || with_gnu_ld=yes
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
else
with_gnu_ld=no
-fi;
+fi
+
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
- echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -3723,11 +4449,11 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
;;
esac
elif test "$with_gnu_ld" = yes; then
- echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
else
- echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
fi
if test "${lt_cv_path_LD+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -3760,17 +4486,17 @@ fi
LD="$lt_cv_path_LD"
if test -n "$LD"; then
- echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
+ { echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
{ (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
if test "${lt_cv_prog_gnu_ld+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3784,20 +4510,20 @@ case `$LD -v 2>&1 </dev/null` in
;;
esac
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld
-echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; }
if test "${lt_cv_ld_reload_flag+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
lt_cv_ld_reload_flag='-r'
fi
-echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; }
reload_flag=$lt_cv_ld_reload_flag
case $reload_flag in
"" | " "*) ;;
@@ -3814,8 +4540,8 @@ case $host_os in
;;
esac
-echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
-echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
+echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; }
if test "${lt_cv_path_NM+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3863,23 +4589,23 @@ else
test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
fi
fi
-echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
-echo "${ECHO_T}$lt_cv_path_NM" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
+echo "${ECHO_T}$lt_cv_path_NM" >&6; }
NM="$lt_cv_path_NM"
-echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
+echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
LN_S=$as_ln_s
if test "$LN_S" = "ln -s"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
else
- echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6
+ { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+echo "${ECHO_T}no, using $LN_S" >&6; }
fi
-echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5
-echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5
+echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6; }
if test "${lt_cv_deplibs_check_method+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4054,8 +4780,8 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
esac
fi
-echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; }
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -4073,11 +4799,11 @@ LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
compiler=$CC
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+# Check whether --enable-libtool-lock was given.
if test "${enable_libtool_lock+set}" = set; then
- enableval="$enable_libtool_lock"
+ enableval=$enable_libtool_lock;
+fi
-fi;
test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
# Some flags need to be propagated to the compiler or linker for good
@@ -4104,7 +4830,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 4107 "configure"' > conftest.$ac_ext
+ echo '#line 4833 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -4189,8 +4915,8 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
- echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
-echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
+echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; }
if test "${lt_cv_cc_needs_belf+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4216,24 +4942,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -4242,9 +4980,10 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-lt_cv_cc_needs_belf=no
+ lt_cv_cc_needs_belf=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -4253,8 +4992,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
fi
-echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
+echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; }
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
CFLAGS="$SAVE_CFLAGS"
@@ -4284,8 +5023,8 @@ sparc*-*solaris*)
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_DLLTOOL+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4298,32 +5037,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
DLLTOOL=$ac_cv_prog_DLLTOOL
if test -n "$DLLTOOL"; then
- echo "$as_me:$LINENO: result: $DLLTOOL" >&5
-echo "${ECHO_T}$DLLTOOL" >&6
+ { echo "$as_me:$LINENO: result: $DLLTOOL" >&5
+echo "${ECHO_T}$DLLTOOL" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_DLLTOOL"; then
ac_ct_DLLTOOL=$DLLTOOL
# Extract the first word of "dlltool", so it can be a program name with args.
set dummy dlltool; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4336,27 +5077,41 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_DLLTOOL="dlltool"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_DLLTOOL" && ac_cv_prog_ac_ct_DLLTOOL="false"
fi
fi
ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
if test -n "$ac_ct_DLLTOOL"; then
- echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5
-echo "${ECHO_T}$ac_ct_DLLTOOL" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5
+echo "${ECHO_T}$ac_ct_DLLTOOL" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- DLLTOOL=$ac_ct_DLLTOOL
+ if test "x$ac_ct_DLLTOOL" = x; then
+ DLLTOOL="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ DLLTOOL=$ac_ct_DLLTOOL
+ fi
else
DLLTOOL="$ac_cv_prog_DLLTOOL"
fi
@@ -4364,8 +5119,8 @@ fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
set dummy ${ac_tool_prefix}as; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_AS+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4378,32 +5133,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AS="${ac_tool_prefix}as"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
AS=$ac_cv_prog_AS
if test -n "$AS"; then
- echo "$as_me:$LINENO: result: $AS" >&5
-echo "${ECHO_T}$AS" >&6
+ { echo "$as_me:$LINENO: result: $AS" >&5
+echo "${ECHO_T}$AS" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_AS"; then
ac_ct_AS=$AS
# Extract the first word of "as", so it can be a program name with args.
set dummy as; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_AS+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4416,27 +5173,41 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_AS="as"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_AS" && ac_cv_prog_ac_ct_AS="false"
fi
fi
ac_ct_AS=$ac_cv_prog_ac_ct_AS
if test -n "$ac_ct_AS"; then
- echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
-echo "${ECHO_T}$ac_ct_AS" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
+echo "${ECHO_T}$ac_ct_AS" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- AS=$ac_ct_AS
+ if test "x$ac_ct_AS" = x; then
+ AS="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ AS=$ac_ct_AS
+ fi
else
AS="$ac_cv_prog_AS"
fi
@@ -4444,8 +5215,8 @@ fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
set dummy ${ac_tool_prefix}objdump; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_OBJDUMP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4458,32 +5229,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
OBJDUMP=$ac_cv_prog_OBJDUMP
if test -n "$OBJDUMP"; then
- echo "$as_me:$LINENO: result: $OBJDUMP" >&5
-echo "${ECHO_T}$OBJDUMP" >&6
+ { echo "$as_me:$LINENO: result: $OBJDUMP" >&5
+echo "${ECHO_T}$OBJDUMP" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_OBJDUMP"; then
ac_ct_OBJDUMP=$OBJDUMP
# Extract the first word of "objdump", so it can be a program name with args.
set dummy objdump; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4496,27 +5269,41 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_OBJDUMP="objdump"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_OBJDUMP" && ac_cv_prog_ac_ct_OBJDUMP="false"
fi
fi
ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
if test -n "$ac_ct_OBJDUMP"; then
- echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
-echo "${ECHO_T}$ac_ct_OBJDUMP" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
+echo "${ECHO_T}$ac_ct_OBJDUMP" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- OBJDUMP=$ac_ct_OBJDUMP
+ if test "x$ac_ct_OBJDUMP" = x; then
+ OBJDUMP="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ OBJDUMP=$ac_ct_OBJDUMP
+ fi
else
OBJDUMP="$ac_cv_prog_OBJDUMP"
fi
@@ -4529,8 +5316,8 @@ need_locks="$enable_libtool_lock"
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
if test "${ac_cv_header_stdc+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4554,24 +5341,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -4580,9 +5379,10 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_header_stdc=no
+ ac_cv_header_stdc=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
@@ -4638,6 +5438,7 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ctype.h>
+#include <stdlib.h>
#if ((' ' & 0x0FF) == 0x020)
# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
@@ -4657,18 +5458,27 @@ main ()
for (i = 0; i < 256; i++)
if (XOR (islower (i), ISLOWER (i))
|| toupper (i) != TOUPPER (i))
- exit(2);
- exit (0);
+ return 2;
+ return 0;
}
_ACEOF
rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -4681,12 +5491,14 @@ sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
ac_cv_header_stdc=no
fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
+
+
fi
fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
if test $ac_cv_header_stdc = yes; then
cat >>confdefs.h <<\_ACEOF
@@ -4709,9 +5521,9 @@ for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
inttypes.h stdint.h unistd.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
@@ -4725,24 +5537,36 @@ $ac_includes_default
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -4751,12 +5575,14 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-eval "$as_ac_Header=no"
+ eval "$as_ac_Header=no"
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
if test `eval echo '${'$as_ac_Header'}'` = yes; then
cat >>confdefs.h <<_ACEOF
#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
@@ -4771,18 +5597,19 @@ done
for ac_header in dlfcn.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
else
# Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -4793,24 +5620,36 @@ $ac_includes_default
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -4819,15 +5658,16 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_header_compiler=no
+ ac_header_compiler=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -4836,8 +5676,13 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <$ac_header>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
@@ -4861,9 +5706,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_header_preproc=no
fi
+
rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
# So? What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -4887,25 +5733,19 @@ echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\
echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
{ echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists. ##
-## ------------------------------------------ ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
+
;;
esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
eval "$as_ac_Header=\$ac_header_preproc"
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
fi
if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -4917,18 +5757,22 @@ fi
done
-ac_ext=cc
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+if test -z "$CXX"; then
+ if test -n "$CCC"; then
+ CXX=$CCC
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_CXX+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4941,36 +5785,38 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
CXX=$ac_cv_prog_CXX
if test -n "$CXX"; then
- echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6
+ { echo "$as_me:$LINENO: result: $CXX" >&5
+echo "${ECHO_T}$CXX" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$CXX" && break
done
fi
if test -z "$CXX"; then
ac_ct_CXX=$CXX
- for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -4983,55 +5829,85 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CXX="$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
if test -n "$ac_ct_CXX"; then
- echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+echo "${ECHO_T}$ac_ct_CXX" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$ac_ct_CXX" && break
done
-test -n "$ac_ct_CXX" || ac_ct_CXX="g++"
- CXX=$ac_ct_CXX
+ if test "x$ac_ct_CXX" = x; then
+ CXX="g++"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CXX=$ac_ct_CXX
+ fi
fi
-
+ fi
+fi
# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C++ compiler version" >&5
+echo "$as_me:$LINENO: checking for C++ compiler version" >&5
ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5054,24 +5930,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -5080,24 +5968,28 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_compiler_gnu=no
+ ac_compiler_gnu=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
fi
-echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
GXX=`test $ac_compiler_gnu = yes && echo yes`
ac_test_CXXFLAGS=${CXXFLAGS+set}
ac_save_CXXFLAGS=$CXXFLAGS
-CXXFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
if test "${ac_cv_prog_cxx_g+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- cat >conftest.$ac_ext <<_ACEOF
+ ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+ ac_cxx_werror_flag=yes
+ ac_cv_prog_cxx_g=no
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -5113,24 +6005,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -5139,70 +6043,53 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_prog_cxx_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6
-if test "$ac_test_CXXFLAGS" = set; then
- CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
- if test "$GXX" = yes; then
- CXXFLAGS="-g -O2"
- else
- CXXFLAGS="-g"
- fi
-else
- if test "$GXX" = yes; then
- CXXFLAGS="-O2"
- else
- CXXFLAGS=
- fi
-fi
-for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
+ CXXFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
+
int
main ()
{
-exit (42);
+
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -5211,62 +6098,92 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-$ac_declaration
+
int
main ()
{
-exit (42);
+
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- break
+ ac_cv_prog_cxx_g=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-ac_ext=cc
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+ if test "$GXX" = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-g"
+ fi
+else
+ if test "$GXX" = yes; then
+ CXXFLAGS="-O2"
+ else
+ CXXFLAGS=
+ fi
+fi
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -5274,8 +6191,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
depcc="$CXX" am_compiler_list=
-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5339,6 +6256,7 @@ else
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
$SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
>/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
@@ -5364,13 +6282,11 @@ else
fi
fi
-echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6
+{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; }
CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
-
-
-if
+ if
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
am__fastdepCXX_TRUE=
@@ -5386,13 +6302,13 @@ fi
if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
(test "X$CXX" != "Xg++"))) ; then
- ac_ext=cc
+ ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
+echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; }
if test -z "$CXXCPP"; then
if test "${ac_cv_prog_CXXCPP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -5422,8 +6338,13 @@ cat >>conftest.$ac_ext <<_ACEOF
#endif
Syntax error
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
@@ -5448,9 +6369,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
continue
fi
+
rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether non-existent headers
+ # OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -5460,8 +6382,13 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
@@ -5488,6 +6415,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_preproc_ok=:
break
fi
+
rm -f conftest.err conftest.$ac_ext
done
@@ -5505,8 +6433,8 @@ fi
else
ac_cv_prog_CXXCPP=$CXXCPP
fi
-echo "$as_me:$LINENO: result: $CXXCPP" >&5
-echo "${ECHO_T}$CXXCPP" >&6
+{ echo "$as_me:$LINENO: result: $CXXCPP" >&5
+echo "${ECHO_T}$CXXCPP" >&6; }
ac_preproc_ok=false
for ac_cxx_preproc_warn_flag in '' yes
do
@@ -5529,8 +6457,13 @@ cat >>conftest.$ac_ext <<_ACEOF
#endif
Syntax error
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
@@ -5555,9 +6488,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
continue
fi
+
rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether non-existent headers
+ # OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -5567,8 +6501,13 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
@@ -5595,6 +6534,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_preproc_ok=:
break
fi
+
rm -f conftest.err conftest.$ac_ext
done
@@ -5610,7 +6550,7 @@ See \`config.log' for more details." >&2;}
{ (exit 1); exit 1; }; }
fi
-ac_ext=cc
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -5624,12 +6564,12 @@ ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_f77_compiler_gnu
if test -n "$ac_tool_prefix"; then
- for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
+ for ac_prog in g77 f77 xlf frt pgf77 cf77 fort77 fl32 af77 f90 xlf90 pgf90 pghpf epcf90 gfortran g95 f95 fort xlf95 ifort ifc efc pgf95 lf95 ftn
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_F77+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5642,36 +6582,38 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_F77="$ac_tool_prefix$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
F77=$ac_cv_prog_F77
if test -n "$F77"; then
- echo "$as_me:$LINENO: result: $F77" >&5
-echo "${ECHO_T}$F77" >&6
+ { echo "$as_me:$LINENO: result: $F77" >&5
+echo "${ECHO_T}$F77" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$F77" && break
done
fi
if test -z "$F77"; then
ac_ct_F77=$F77
- for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
+ for ac_prog in g77 f77 xlf frt pgf77 cf77 fort77 fl32 af77 f90 xlf90 pgf90 pghpf epcf90 gfortran g95 f95 fort xlf95 ifort ifc efc pgf95 lf95 ftn
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5684,48 +6626,78 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_F77="$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
ac_ct_F77=$ac_cv_prog_ac_ct_F77
if test -n "$ac_ct_F77"; then
- echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
-echo "${ECHO_T}$ac_ct_F77" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
+echo "${ECHO_T}$ac_ct_F77" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$ac_ct_F77" && break
done
- F77=$ac_ct_F77
+ if test "x$ac_ct_F77" = x; then
+ F77=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ F77=$ac_ct_F77
+ fi
fi
# Provide some information about the compiler.
-echo "$as_me:5714:" \
- "checking for Fortran 77 compiler version" >&5
+echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5
ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
@@ -5735,8 +6707,8 @@ rm -f a.out
# input file. (Note that this only needs to work for GNU compilers.)
ac_save_ext=$ac_ext
ac_ext=F
-echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; }
if test "${ac_cv_f77_compiler_gnu+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5749,24 +6721,36 @@ else
end
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -5775,20 +6759,21 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_compiler_gnu=no
+ ac_compiler_gnu=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_f77_compiler_gnu=$ac_compiler_gnu
fi
-echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; }
ac_ext=$ac_save_ext
ac_test_FFLAGS=${FFLAGS+set}
ac_save_FFLAGS=$FFLAGS
FFLAGS=
-echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
-echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
+echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; }
if test "${ac_cv_prog_f77_g+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5799,24 +6784,36 @@ cat >conftest.$ac_ext <<_ACEOF
end
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -5825,13 +6822,14 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_prog_f77_g=no
+ ac_cv_prog_f77_g=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
-echo "${ECHO_T}$ac_cv_prog_f77_g" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
+echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; }
if test "$ac_test_FFLAGS" = set; then
FFLAGS=$ac_save_FFLAGS
elif test $ac_cv_prog_f77_g = yes; then
@@ -5860,8 +6858,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
# find the maximum length of command line arguments
-echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
-echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
+echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; }
if test "${lt_cv_sys_max_cmd_len+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -5969,19 +6967,19 @@ else
fi
if test -n $lt_cv_sys_max_cmd_len ; then
- echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
-echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6
+ { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
+echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; }
else
- echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6
+ { echo "$as_me:$LINENO: result: none" >&5
+echo "${ECHO_T}none" >&6; }
fi
# Check for command to grab the raw symbol name followed by C symbol from nm.
-echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
-echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
+echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; }
if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6185,15 +7183,15 @@ if test -z "$lt_cv_sys_global_symbol_pipe"; then
lt_cv_sys_global_symbol_to_cdecl=
fi
if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6
+ { echo "$as_me:$LINENO: result: failed" >&5
+echo "${ECHO_T}failed" >&6; }
else
- echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6
+ { echo "$as_me:$LINENO: result: ok" >&5
+echo "${ECHO_T}ok" >&6; }
fi
-echo "$as_me:$LINENO: checking for objdir" >&5
-echo $ECHO_N "checking for objdir... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for objdir" >&5
+echo $ECHO_N "checking for objdir... $ECHO_C" >&6; }
if test "${lt_cv_objdir+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6207,8 +7205,8 @@ else
fi
rmdir .libs 2>/dev/null
fi
-echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
-echo "${ECHO_T}$lt_cv_objdir" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
+echo "${ECHO_T}$lt_cv_objdir" >&6; }
objdir=$lt_cv_objdir
@@ -6259,8 +7257,8 @@ with_gnu_ld="$lt_cv_prog_gnu_ld"
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
set dummy ${ac_tool_prefix}ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_AR+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6273,32 +7271,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AR="${ac_tool_prefix}ar"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
AR=$ac_cv_prog_AR
if test -n "$AR"; then
- echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6
+ { echo "$as_me:$LINENO: result: $AR" >&5
+echo "${ECHO_T}$AR" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_AR"; then
ac_ct_AR=$AR
# Extract the first word of "ar", so it can be a program name with args.
set dummy ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6311,27 +7311,41 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_AR="ar"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="false"
fi
fi
ac_ct_AR=$ac_cv_prog_ac_ct_AR
if test -n "$ac_ct_AR"; then
- echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
+echo "${ECHO_T}$ac_ct_AR" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- AR=$ac_ct_AR
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
else
AR="$ac_cv_prog_AR"
fi
@@ -6339,8 +7353,8 @@ fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_RANLIB+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6353,32 +7367,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
RANLIB=$ac_cv_prog_RANLIB
if test -n "$RANLIB"; then
- echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
+ { echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_RANLIB"; then
ac_ct_RANLIB=$RANLIB
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6391,27 +7407,41 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_RANLIB="ranlib"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
fi
fi
ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
if test -n "$ac_ct_RANLIB"; then
- echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- RANLIB=$ac_ct_RANLIB
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
else
RANLIB="$ac_cv_prog_RANLIB"
fi
@@ -6419,8 +7449,8 @@ fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_STRIP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6433,32 +7463,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
- echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
+ { echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_STRIP"; then
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6471,27 +7503,41 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_STRIP="strip"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
- echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- STRIP=$ac_ct_STRIP
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
else
STRIP="$ac_cv_prog_STRIP"
fi
@@ -6550,8 +7596,8 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
case $deplibs_check_method in
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
-echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; }
if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6603,17 +7649,17 @@ fi
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if test -n "$MAGIC_CMD"; then
- echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
+ { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
- echo "$as_me:$LINENO: checking for file" >&5
-echo $ECHO_N "checking for file... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for file" >&5
+echo $ECHO_N "checking for file... $ECHO_C" >&6; }
if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6665,11 +7711,11 @@ fi
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if test -n "$MAGIC_CMD"; then
- echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
+ { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
else
@@ -6684,21 +7730,21 @@ esac
enable_dlopen=no
enable_win32_dll=yes
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+# Check whether --enable-libtool-lock was given.
if test "${enable_libtool_lock+set}" = set; then
- enableval="$enable_libtool_lock"
+ enableval=$enable_libtool_lock;
+fi
-fi;
test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-# Check whether --with-pic or --without-pic was given.
+# Check whether --with-pic was given.
if test "${with_pic+set}" = set; then
- withval="$with_pic"
- pic_mode="$withval"
+ withval=$with_pic; pic_mode="$withval"
else
pic_mode=default
-fi;
+fi
+
test -z "$pic_mode" && pic_mode=default
# Use C for the default configuration in the libtool script
@@ -6756,8 +7802,8 @@ if test "$GCC" = yes; then
lt_prog_compiler_no_builtin_flag=' -fno-builtin'
-echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -6774,11 +7820,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:6777: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7823: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:6781: \$? = $ac_status" >&5
+ echo "$as_me:7827: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -6791,8 +7837,8 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
@@ -6806,8 +7852,8 @@ lt_prog_compiler_wl=
lt_prog_compiler_pic=
lt_prog_compiler_static=
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
@@ -7016,16 +8062,16 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic"; then
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; }
if test "${lt_prog_compiler_pic_works+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -7042,11 +8088,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7045: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:8091: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7049: \$? = $ac_status" >&5
+ echo "$as_me:8095: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -7059,8 +8105,8 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; }
if test x"$lt_prog_compiler_pic_works" = xyes; then
case $lt_prog_compiler_pic in
@@ -7087,8 +8133,8 @@ esac
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
if test "${lt_prog_compiler_static_works+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -7115,8 +8161,8 @@ else
LDFLAGS="$save_LDFLAGS"
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; }
if test x"$lt_prog_compiler_static_works" = xyes; then
:
@@ -7125,8 +8171,8 @@ else
fi
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
if test "${lt_cv_prog_compiler_c_o+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -7146,11 +8192,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7149: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:8195: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:7153: \$? = $ac_status" >&5
+ echo "$as_me:8199: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -7172,23 +8218,23 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+ { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
if test "$hard_links" = no; then
{ echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
@@ -7198,8 +8244,8 @@ else
need_locks=no
fi
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
runpath_var=
allow_undefined_flag=
@@ -7614,24 +8660,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -7645,8 +8703,10 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -7675,24 +8735,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -7706,8 +8778,10 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -8156,8 +9230,8 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
esac
fi
-echo "$as_me:$LINENO: result: $ld_shlibs" >&5
-echo "${ECHO_T}$ld_shlibs" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+echo "${ECHO_T}$ld_shlibs" >&6; }
test "$ld_shlibs" = no && can_build_shared=no
#
@@ -8177,8 +9251,8 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
$rm conftest*
printf "$lt_simple_compile_test_code" > conftest.$ac_ext
@@ -8215,16 +9289,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
-echo "${ECHO_T}$archive_cmds_need_lc" >&6
+ { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
+echo "${ECHO_T}$archive_cmds_need_lc" >&6; }
;;
esac
fi
;;
esac
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -8611,10 +9685,31 @@ linux*)
# before this can be enabled.
hardcode_into_libs=yes
+ # find out which ABI we are using
+ libsuff=
+ case "$host_cpu" in
+ x86_64*|s390x*|powerpc64*)
+ echo '#line 9692 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *64-bit*)
+ libsuff=64
+ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+ esac
+
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -8811,8 +9906,8 @@ uts4*)
dynamic_linker=no
;;
esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
@@ -8820,8 +9915,8 @@ if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
hardcode_action=
if test -n "$hardcode_libdir_flag_spec" || \
test -n "$runpath_var" || \
@@ -8845,8 +9940,8 @@ else
# directories.
hardcode_action=unsupported
fi
-echo "$as_me:$LINENO: result: $hardcode_action" >&5
-echo "${ECHO_T}$hardcode_action" >&6
+{ echo "$as_me:$LINENO: result: $hardcode_action" >&5
+echo "${ECHO_T}$hardcode_action" >&6; }
if test "$hardcode_action" = relink; then
# Fast installation is not supported
@@ -8859,29 +9954,29 @@ fi
striplib=
old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; }
if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
else
# FIXME - insert some real tests, host_os isn't really good enough
case $host_os in
darwin*)
if test -n "$STRIP" ; then
striplib="$STRIP -x"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
;;
*)
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
;;
esac
fi
@@ -8913,8 +10008,8 @@ else
darwin*)
# if libdl is installed we need to link against it
- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
if test "${ac_cv_lib_dl_dlopen+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -8927,40 +10022,52 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char dlopen ();
int
main ()
{
-dlopen ();
+return dlopen ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -8969,14 +10076,15 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_dl_dlopen=no
+ ac_cv_lib_dl_dlopen=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
if test $ac_cv_lib_dl_dlopen = yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
else
@@ -8990,8 +10098,8 @@ fi
;;
*)
- echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for shl_load" >&5
+echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; }
if test "${ac_cv_func_shl_load+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -9018,53 +10126,59 @@ cat >>conftest.$ac_ext <<_ACEOF
#undef shl_load
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
-{
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char shl_load ();
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
-#if defined (__stub_shl_load) || defined (__stub___shl_load)
+#if defined __stub_shl_load || defined __stub___shl_load
choke me
-#else
-char (*f) () = shl_load;
-#endif
-#ifdef __cplusplus
-}
#endif
int
main ()
{
-return f != shl_load;
+return shl_load ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -9073,18 +10187,19 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_func_shl_load=no
+ ac_cv_func_shl_load=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+echo "${ECHO_T}$ac_cv_func_shl_load" >&6; }
if test $ac_cv_func_shl_load = yes; then
lt_cv_dlopen="shl_load"
else
- echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; }
if test "${ac_cv_lib_dld_shl_load+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -9097,40 +10212,52 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char shl_load ();
int
main ()
{
-shl_load ();
+return shl_load ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -9139,19 +10266,20 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_dld_shl_load=no
+ ac_cv_lib_dld_shl_load=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; }
if test $ac_cv_lib_dld_shl_load = yes; then
lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
else
- echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for dlopen" >&5
+echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; }
if test "${ac_cv_func_dlopen+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -9178,53 +10306,59 @@ cat >>conftest.$ac_ext <<_ACEOF
#undef dlopen
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
-{
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char dlopen ();
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
-#if defined (__stub_dlopen) || defined (__stub___dlopen)
+#if defined __stub_dlopen || defined __stub___dlopen
choke me
-#else
-char (*f) () = dlopen;
-#endif
-#ifdef __cplusplus
-}
#endif
int
main ()
{
-return f != dlopen;
+return dlopen ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -9233,18 +10367,19 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_func_dlopen=no
+ ac_cv_func_dlopen=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+echo "${ECHO_T}$ac_cv_func_dlopen" >&6; }
if test $ac_cv_func_dlopen = yes; then
lt_cv_dlopen="dlopen"
else
- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
if test "${ac_cv_lib_dl_dlopen+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -9257,40 +10392,52 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char dlopen ();
int
main ()
{
-dlopen ();
+return dlopen ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -9299,19 +10446,20 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_dl_dlopen=no
+ ac_cv_lib_dl_dlopen=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
if test $ac_cv_lib_dl_dlopen = yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
else
- echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; }
if test "${ac_cv_lib_svld_dlopen+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -9324,40 +10472,52 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char dlopen ();
int
main ()
{
-dlopen ();
+return dlopen ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -9366,19 +10526,20 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_svld_dlopen=no
+ ac_cv_lib_svld_dlopen=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; }
if test $ac_cv_lib_svld_dlopen = yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
else
- echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; }
if test "${ac_cv_lib_dld_dld_link+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -9391,40 +10552,52 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char dld_link ();
int
main ()
{
-dld_link ();
+return dld_link ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -9433,14 +10606,15 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_dld_dld_link=no
+ ac_cv_lib_dld_dld_link=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; }
if test $ac_cv_lib_dld_dld_link = yes; then
lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
fi
@@ -9480,8 +10654,8 @@ fi
save_LIBS="$LIBS"
LIBS="$lt_cv_dlopen_libs $LIBS"
- echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; }
if test "${lt_cv_dlopen_self+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -9491,7 +10665,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 9494 "configure"
+#line 10668 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -9575,13 +10749,13 @@ rm -fr conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self" >&6; }
if test "x$lt_cv_dlopen_self" = xyes; then
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; }
if test "${lt_cv_dlopen_self_static+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -9591,7 +10765,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 9594 "configure"
+#line 10768 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -9675,8 +10849,8 @@ rm -fr conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; }
fi
CPPFLAGS="$save_CPPFLAGS"
@@ -9698,13 +10872,13 @@ fi
# Report which library types will actually be built
-echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6
+{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
+echo "${ECHO_T}$can_build_shared" >&6; }
-echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
test "$can_build_shared" = "no" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
@@ -9724,15 +10898,15 @@ aix4* | aix5*)
fi
;;
esac
-echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6
+{ echo "$as_me:$LINENO: result: $enable_shared" >&5
+echo "${ECHO_T}$enable_shared" >&6; }
-echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
# Make sure either enable_shared or enable_static is yes.
test "$enable_shared" = yes || enable_static=yes
-echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6
+{ echo "$as_me:$LINENO: result: $enable_static" >&5
+echo "${ECHO_T}$enable_static" >&6; }
# The else clause should only fire when bootstrapping the
# libtool distribution, otherwise you forgot to ship ltmain.sh
@@ -10224,11 +11398,11 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
CC="$lt_save_CC"
-# Check whether --with-tags or --without-tags was given.
+# Check whether --with-tags was given.
if test "${with_tags+set}" = set; then
- withval="$with_tags"
- tagnames="$withval"
-fi;
+ withval=$with_tags; tagnames="$withval"
+fi
+
if test -f "$ltmain" && test -n "$tagnames"; then
if test ! -f "${ofile}"; then
@@ -10282,7 +11456,7 @@ echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
(test "X$CXX" != "Xg++"))) ; then
- ac_ext=cc
+ ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -10401,18 +11575,18 @@ if test "$GXX" = yes; then
# Set up default GNU C++ configuration
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
+# Check whether --with-gnu-ld was given.
if test "${with_gnu_ld+set}" = set; then
- withval="$with_gnu_ld"
- test "$withval" = no || with_gnu_ld=yes
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
else
with_gnu_ld=no
-fi;
+fi
+
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
- echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -10441,11 +11615,11 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
;;
esac
elif test "$with_gnu_ld" = yes; then
- echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
else
- echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
fi
if test "${lt_cv_path_LD+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -10478,17 +11652,17 @@ fi
LD="$lt_cv_path_LD"
if test -n "$LD"; then
- echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
+ { echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
{ (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
if test "${lt_cv_prog_gnu_ld+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -10502,8 +11676,8 @@ case `$LD -v 2>&1 </dev/null` in
;;
esac
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld
@@ -10553,8 +11727,8 @@ else
fi
# PORTME: fill in a description of your system's C++ link characteristics
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
ld_shlibs_CXX=yes
case $host_os in
aix3*)
@@ -10666,24 +11840,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -10697,8 +11883,10 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -10728,24 +11916,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -10759,8 +11959,10 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -11491,8 +12693,8 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
ld_shlibs_CXX=no
;;
esac
-echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
test "$ld_shlibs_CXX" = no && can_build_shared=no
GCC_CXX="$GXX"
@@ -11631,8 +12833,8 @@ lt_prog_compiler_wl_CXX=
lt_prog_compiler_pic_CXX=
lt_prog_compiler_static_CXX=
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
# C++ specific cases for pic, static, wl, etc.
if test "$GXX" = yes; then
@@ -11905,16 +13107,16 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic_CXX"; then
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; }
if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -11931,11 +13133,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:11934: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13136: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:11938: \$? = $ac_status" >&5
+ echo "$as_me:13140: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -11948,8 +13150,8 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; }
if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then
case $lt_prog_compiler_pic_CXX in
@@ -11976,8 +13178,8 @@ esac
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
if test "${lt_prog_compiler_static_works_CXX+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -12004,8 +13206,8 @@ else
LDFLAGS="$save_LDFLAGS"
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; }
if test x"$lt_prog_compiler_static_works_CXX" = xyes; then
:
@@ -12014,8 +13216,8 @@ else
fi
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -12035,11 +13237,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12038: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13240: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:12042: \$? = $ac_status" >&5
+ echo "$as_me:13244: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -12061,23 +13263,23 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+ { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
if test "$hard_links" = no; then
{ echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
@@ -12087,8 +13289,8 @@ else
need_locks=no
fi
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
case $host_os in
@@ -12112,8 +13314,8 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
;;
esac
-echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
test "$ld_shlibs_CXX" = no && can_build_shared=no
#
@@ -12133,8 +13335,8 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
$rm conftest*
printf "$lt_simple_compile_test_code" > conftest.$ac_ext
@@ -12171,16 +13373,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6
+ { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; }
;;
esac
fi
;;
esac
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -12567,10 +13769,31 @@ linux*)
# before this can be enabled.
hardcode_into_libs=yes
+ # find out which ABI we are using
+ libsuff=
+ case "$host_cpu" in
+ x86_64*|s390x*|powerpc64*)
+ echo '#line 13776 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *64-bit*)
+ libsuff=64
+ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+ esac
+
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -12767,8 +13990,8 @@ uts4*)
dynamic_linker=no
;;
esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
@@ -12776,8 +13999,8 @@ if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
hardcode_action_CXX=
if test -n "$hardcode_libdir_flag_spec_CXX" || \
test -n "$runpath_var_CXX" || \
@@ -12801,8 +14024,8 @@ else
# directories.
hardcode_action_CXX=unsupported
fi
-echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
-echo "${ECHO_T}$hardcode_action_CXX" >&6
+{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
+echo "${ECHO_T}$hardcode_action_CXX" >&6; }
if test "$hardcode_action_CXX" = relink; then
# Fast installation is not supported
@@ -13327,13 +14550,13 @@ done
cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6
+{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
+echo "${ECHO_T}$can_build_shared" >&6; }
-echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
test "$can_build_shared" = "no" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
@@ -13352,15 +14575,15 @@ aix4* | aix5*)
fi
;;
esac
-echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6
+{ echo "$as_me:$LINENO: result: $enable_shared" >&5
+echo "${ECHO_T}$enable_shared" >&6; }
-echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
# Make sure either enable_shared or enable_static is yes.
test "$enable_shared" = yes || enable_static=yes
-echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6
+{ echo "$as_me:$LINENO: result: $enable_static" >&5
+echo "${ECHO_T}$enable_static" >&6; }
GCC_F77="$G77"
LD_F77="$LD"
@@ -13369,8 +14592,8 @@ lt_prog_compiler_wl_F77=
lt_prog_compiler_pic_F77=
lt_prog_compiler_static_F77=
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
if test "$GCC" = yes; then
lt_prog_compiler_wl_F77='-Wl,'
@@ -13579,16 +14802,16 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic_F77"; then
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; }
if test "${lt_prog_compiler_pic_works_F77+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -13605,11 +14828,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13608: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14831: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:13612: \$? = $ac_status" >&5
+ echo "$as_me:14835: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -13622,8 +14845,8 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; }
if test x"$lt_prog_compiler_pic_works_F77" = xyes; then
case $lt_prog_compiler_pic_F77 in
@@ -13650,8 +14873,8 @@ esac
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
if test "${lt_prog_compiler_static_works_F77+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -13678,8 +14901,8 @@ else
LDFLAGS="$save_LDFLAGS"
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; }
if test x"$lt_prog_compiler_static_works_F77" = xyes; then
:
@@ -13688,8 +14911,8 @@ else
fi
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -13709,11 +14932,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13712: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14935: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:13716: \$? = $ac_status" >&5
+ echo "$as_me:14939: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -13735,23 +14958,23 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+ { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
if test "$hard_links" = no; then
{ echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
@@ -13761,8 +14984,8 @@ else
need_locks=no
fi
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
runpath_var=
allow_undefined_flag_F77=
@@ -14167,24 +15390,36 @@ _LT_EOF
end
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -14198,8 +15433,10 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -14218,24 +15455,36 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
end
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -14249,8 +15498,10 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -14699,8 +15950,8 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
esac
fi
-echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
-echo "${ECHO_T}$ld_shlibs_F77" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
+echo "${ECHO_T}$ld_shlibs_F77" >&6; }
test "$ld_shlibs_F77" = no && can_build_shared=no
#
@@ -14720,8 +15971,8 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
$rm conftest*
printf "$lt_simple_compile_test_code" > conftest.$ac_ext
@@ -14758,16 +16009,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6
+ { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; }
;;
esac
fi
;;
esac
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -15154,10 +16405,31 @@ linux*)
# before this can be enabled.
hardcode_into_libs=yes
+ # find out which ABI we are using
+ libsuff=
+ case "$host_cpu" in
+ x86_64*|s390x*|powerpc64*)
+ echo '#line 16412 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *64-bit*)
+ libsuff=64
+ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+ esac
+
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -15354,8 +16626,8 @@ uts4*)
dynamic_linker=no
;;
esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
@@ -15363,8 +16635,8 @@ if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
hardcode_action_F77=
if test -n "$hardcode_libdir_flag_spec_F77" || \
test -n "$runpath_var_F77" || \
@@ -15388,8 +16660,8 @@ else
# directories.
hardcode_action_F77=unsupported
fi
-echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
-echo "${ECHO_T}$hardcode_action_F77" >&6
+{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
+echo "${ECHO_T}$hardcode_action_F77" >&6; }
if test "$hardcode_action_F77" = relink; then
# Fast installation is not supported
@@ -15826,7 +17098,6 @@ CC="$lt_save_CC"
if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
-
# Source file extension for Java test sources.
ac_ext=java
@@ -15894,8 +17165,8 @@ if test "$GCC" = yes; then
lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
-echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -15912,11 +17183,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:15915: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17186: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:15919: \$? = $ac_status" >&5
+ echo "$as_me:17190: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -15929,8 +17200,8 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
@@ -15944,8 +17215,8 @@ lt_prog_compiler_wl_GCJ=
lt_prog_compiler_pic_GCJ=
lt_prog_compiler_static_GCJ=
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
if test "$GCC" = yes; then
lt_prog_compiler_wl_GCJ='-Wl,'
@@ -16154,16 +17425,16 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic_GCJ"; then
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; }
if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -16180,11 +17451,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16183: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17454: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16187: \$? = $ac_status" >&5
+ echo "$as_me:17458: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -16197,8 +17468,8 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; }
if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then
case $lt_prog_compiler_pic_GCJ in
@@ -16225,8 +17496,8 @@ esac
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -16253,8 +17524,8 @@ else
LDFLAGS="$save_LDFLAGS"
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; }
if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then
:
@@ -16263,8 +17534,8 @@ else
fi
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -16284,11 +17555,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16287: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17558: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:16291: \$? = $ac_status" >&5
+ echo "$as_me:17562: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -16310,23 +17581,23 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+ { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
if test "$hard_links" = no; then
{ echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
@@ -16336,8 +17607,8 @@ else
need_locks=no
fi
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
runpath_var=
allow_undefined_flag_GCJ=
@@ -16752,24 +18023,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -16783,8 +18066,10 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -16813,24 +18098,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -16844,8 +18141,10 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -17294,8 +18593,8 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
esac
fi
-echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
-echo "${ECHO_T}$ld_shlibs_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
+echo "${ECHO_T}$ld_shlibs_GCJ" >&6; }
test "$ld_shlibs_GCJ" = no && can_build_shared=no
#
@@ -17315,8 +18614,8 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
$rm conftest*
printf "$lt_simple_compile_test_code" > conftest.$ac_ext
@@ -17353,16 +18652,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6
+ { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; }
;;
esac
fi
;;
esac
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -17749,10 +19048,31 @@ linux*)
# before this can be enabled.
hardcode_into_libs=yes
+ # find out which ABI we are using
+ libsuff=
+ case "$host_cpu" in
+ x86_64*|s390x*|powerpc64*)
+ echo '#line 19055 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *64-bit*)
+ libsuff=64
+ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+ esac
+
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -17949,8 +19269,8 @@ uts4*)
dynamic_linker=no
;;
esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
@@ -17958,8 +19278,8 @@ if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
hardcode_action_GCJ=
if test -n "$hardcode_libdir_flag_spec_GCJ" || \
test -n "$runpath_var_GCJ" || \
@@ -17983,8 +19303,8 @@ else
# directories.
hardcode_action_GCJ=unsupported
fi
-echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
-echo "${ECHO_T}$hardcode_action_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
+echo "${ECHO_T}$hardcode_action_GCJ" >&6; }
if test "$hardcode_action_GCJ" = relink; then
# Fast installation is not supported
@@ -18420,7 +19740,6 @@ CC="$lt_save_CC"
RC)
-
# Source file extension for RC test sources.
ac_ext=rc
@@ -18957,8 +20276,8 @@ for ac_prog in gm4 m4
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_M4+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -18971,39 +20290,41 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_M4="$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
M4=$ac_cv_prog_M4
if test -n "$M4"; then
- echo "$as_me:$LINENO: result: $M4" >&5
-echo "${ECHO_T}$M4" >&6
+ { echo "$as_me:$LINENO: result: $M4" >&5
+echo "${ECHO_T}$M4" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$M4" && break
done
test -n "$M4" || M4="m4"
if test "$M4" = "m4"; then
- echo "$as_me:$LINENO: checking whether m4 is GNU m4" >&5
-echo $ECHO_N "checking whether m4 is GNU m4... $ECHO_C" >&6
- if $M4 --version </dev/null 2>/dev/null | grep '^GNU m4 ' >/dev/null ; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { echo "$as_me:$LINENO: checking whether m4 is GNU m4" >&5
+echo $ECHO_N "checking whether m4 is GNU m4... $ECHO_C" >&6; }
+ if $M4 --version </dev/null 2>/dev/null | grep '^GNU Mm4 ' >/dev/null ; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
if test "$host_vendor" = "sun"; then
{ { echo "$as_me:$LINENO: error: SUN m4 does not work for building gtkmm.
Please install GNU m4." >&5
@@ -19016,14 +20337,14 @@ fi
-echo "$as_me:$LINENO: checking whether make is GNU Make" >&5
-echo $ECHO_N "checking whether make is GNU Make... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether make is GNU Make" >&5
+echo $ECHO_N "checking whether make is GNU Make... $ECHO_C" >&6; }
if ${MAKE-make} --version 2>/dev/null | grep '^GNU Make ' >/dev/null ; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
if test "$host_vendor" = "sun" ; then
{ { echo "$as_me:$LINENO: error: SUN make does not work for building gtkmm.
Please install GNU make." >&5
@@ -19041,8 +20362,8 @@ fi
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_path_PERL_PATH+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -19057,27 +20378,28 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_PERL_PATH="$as_dir/$ac_word$ac_exec_ext"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
;;
esac
fi
PERL_PATH=$ac_cv_path_PERL_PATH
-
if test -n "$PERL_PATH"; then
- echo "$as_me:$LINENO: result: $PERL_PATH" >&5
-echo "${ECHO_T}$PERL_PATH" >&6
+ { echo "$as_me:$LINENO: result: $PERL_PATH" >&5
+echo "${ECHO_T}$PERL_PATH" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$PERL_PATH" && break
done
test -n "$PERL_PATH" || PERL_PATH="not found"
@@ -19085,8 +20407,8 @@ test -n "$PERL_PATH" || PERL_PATH="not found"
if test "x$PERL_PATH" != "xnot found"; then
{
- echo "$as_me:$LINENO: checking whether Perl is new enough" >&5
-echo $ECHO_N "checking whether Perl is new enough... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether Perl is new enough" >&5
+echo $ECHO_N "checking whether Perl is new enough... $ECHO_C" >&6; }
if test "${glibmm_cv_perl_version_5_6_0+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -19095,8 +20417,8 @@ else
"$PERL_PATH" -e "require v5.6.0; exit 0;" >/dev/null 2>&1 && glibmm_cv_perl_version_5_6_0=yes
fi
-echo "$as_me:$LINENO: result: $glibmm_cv_perl_version_5_6_0" >&5
-echo "${ECHO_T}$glibmm_cv_perl_version_5_6_0" >&6
+{ echo "$as_me:$LINENO: result: $glibmm_cv_perl_version_5_6_0" >&5
+echo "${ECHO_T}$glibmm_cv_perl_version_5_6_0" >&6; }
test "x${glibmm_cv_perl_version_5_6_0}" = xyes && glibmm_perl_result=yes
}
else
@@ -19133,9 +20455,9 @@ echo "$as_me: error:
for ac_func in flockfile funlockfile getc_unlocked mkfifo
do
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
@@ -19161,53 +20483,59 @@ cat >>conftest.$ac_ext <<_ACEOF
#undef $ac_func
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
-{
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char $ac_func ();
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
#endif
int
main ()
{
-return f != $ac_func;
+return $ac_func ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -19216,13 +20544,15 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-eval "$as_ac_var=no"
+ eval "$as_ac_var=no"
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
if test `eval echo '${'$as_ac_var'}'` = yes; then
cat >>confdefs.h <<_ACEOF
#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -19236,7 +20566,7 @@ done
# Dependancy checks
#########################################################################
gtkmm_min_sigc_version=2.0.0
-gtkmm_min_glib_version=2.9.0
+gtkmm_min_glib_version=2.14.0
@@ -19244,8 +20574,8 @@ if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -19260,34 +20590,35 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
;;
esac
fi
PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-
if test -n "$PKG_CONFIG"; then
- echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
-echo "${ECHO_T}$PKG_CONFIG" >&6
+ { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+echo "${ECHO_T}$PKG_CONFIG" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
fi
if test -z "$ac_cv_path_PKG_CONFIG"; then
ac_pt_PKG_CONFIG=$PKG_CONFIG
# Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -19302,28 +20633,42 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
;;
esac
fi
ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
-
if test -n "$ac_pt_PKG_CONFIG"; then
- echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
-echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6
+ { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
+echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- PKG_CONFIG=$ac_pt_PKG_CONFIG
+ if test "x$ac_pt_PKG_CONFIG" = x; then
+ PKG_CONFIG=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ PKG_CONFIG=$ac_pt_PKG_CONFIG
+ fi
else
PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
fi
@@ -19331,22 +20676,22 @@ fi
fi
if test -n "$PKG_CONFIG"; then
_pkg_min_version=0.9.0
- echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
-echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
+echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
PKG_CONFIG=""
fi
fi
pkg_failed=no
-echo "$as_me:$LINENO: checking for GLIBMM" >&5
-echo $ECHO_N "checking for GLIBMM... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for GLIBMM" >&5
+echo $ECHO_N "checking for GLIBMM... $ECHO_C" >&6; }
if test -n "$PKG_CONFIG"; then
if test -n "$GLIBMM_CFLAGS"; then
@@ -19450,8 +20795,8 @@ See \`config.log' for more details." >&2;}
else
GLIBMM_CFLAGS=$pkg_cv_GLIBMM_CFLAGS
GLIBMM_LIBS=$pkg_cv_GLIBMM_LIBS
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
:
fi
@@ -19460,8 +20805,8 @@ fi
# gthread isn't a requirement, but we should use its CFLAGS if available.
pkg_failed=no
-echo "$as_me:$LINENO: checking for GTHREAD" >&5
-echo $ECHO_N "checking for GTHREAD... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for GTHREAD" >&5
+echo $ECHO_N "checking for GTHREAD... $ECHO_C" >&6; }
if test -n "$PKG_CONFIG"; then
if test -n "$GTHREAD_CFLAGS"; then
@@ -19517,14 +20862,16 @@ fi
# Put the nasty error message in config.log where it belongs
echo "$GTHREAD_PKG_ERRORS" >&5
- GTHREAD_CFLAGS=''; GTHREAD_LIBS=''
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ GTHREAD_CFLAGS=''; GTHREAD_LIBS=''
elif test $pkg_failed = untried; then
GTHREAD_CFLAGS=''; GTHREAD_LIBS=''
else
GTHREAD_CFLAGS=$pkg_cv_GTHREAD_CFLAGS
GTHREAD_LIBS=$pkg_cv_GTHREAD_LIBS
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
:
fi
@@ -19534,18 +20881,22 @@ fi
#########################################################################
# C++ checks
#########################################################################
-ac_ext=cc
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+if test -z "$CXX"; then
+ if test -n "$CCC"; then
+ CXX=$CCC
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_CXX+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -19558,36 +20909,38 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
CXX=$ac_cv_prog_CXX
if test -n "$CXX"; then
- echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6
+ { echo "$as_me:$LINENO: result: $CXX" >&5
+echo "${ECHO_T}$CXX" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$CXX" && break
done
fi
if test -z "$CXX"; then
ac_ct_CXX=$CXX
- for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -19600,55 +20953,85 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CXX="$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
if test -n "$ac_ct_CXX"; then
- echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6
+ { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+echo "${ECHO_T}$ac_ct_CXX" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
+
test -n "$ac_ct_CXX" && break
done
-test -n "$ac_ct_CXX" || ac_ct_CXX="g++"
- CXX=$ac_ct_CXX
+ if test "x$ac_ct_CXX" = x; then
+ CXX="g++"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CXX=$ac_ct_CXX
+ fi
fi
-
+ fi
+fi
# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C++ compiler version" >&5
+echo "$as_me:$LINENO: checking for C++ compiler version" >&5
ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -19671,24 +21054,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -19697,24 +21092,28 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_compiler_gnu=no
+ ac_compiler_gnu=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
fi
-echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
GXX=`test $ac_compiler_gnu = yes && echo yes`
ac_test_CXXFLAGS=${CXXFLAGS+set}
ac_save_CXXFLAGS=$CXXFLAGS
-CXXFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
if test "${ac_cv_prog_cxx_g+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- cat >conftest.$ac_ext <<_ACEOF
+ ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+ ac_cxx_werror_flag=yes
+ ac_cv_prog_cxx_g=no
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -19730,24 +21129,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -19756,70 +21167,53 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_prog_cxx_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6
-if test "$ac_test_CXXFLAGS" = set; then
- CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
- if test "$GXX" = yes; then
- CXXFLAGS="-g -O2"
- else
- CXXFLAGS="-g"
- fi
-else
- if test "$GXX" = yes; then
- CXXFLAGS="-O2"
- else
- CXXFLAGS=
- fi
-fi
-for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
+ CXXFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
+
int
main ()
{
-exit (42);
+
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -19828,61 +21222,91 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-$ac_declaration
+
int
main ()
{
-exit (42);
+
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- break
+ ac_cv_prog_cxx_g=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+ if test "$GXX" = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-g"
+ fi
+else
+ if test "$GXX" = yes; then
+ CXXFLAGS="-O2"
+ else
+ CXXFLAGS=
+ fi
+fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -19891,8 +21315,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
depcc="$CXX" am_compiler_list=
-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -19956,6 +21380,7 @@ else
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
$SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
>/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
@@ -19981,13 +21406,11 @@ else
fi
fi
-echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6
+{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; }
CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
-
-
-if
+ if
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
am__fastdepCXX_TRUE=
@@ -20000,8 +21423,8 @@ fi
# Check for the SUN Forte compiler, and define GLIBMM_COMPILER_SUN_FORTE in the header.
-echo "$as_me:$LINENO: checking whether we are using SUN CC compiler" >&5
-echo $ECHO_N "checking whether we are using SUN CC compiler... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether we are using SUN CC compiler" >&5
+echo $ECHO_N "checking whether we are using SUN CC compiler... $ECHO_C" >&6; }
if test "${ac_cv_prog_sun_cxx+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -20017,8 +21440,8 @@ else
fi
fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_sun_cxx" >&5
-echo "${ECHO_T}$ac_cv_prog_sun_cxx" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_sun_cxx" >&5
+echo "${ECHO_T}$ac_cv_prog_sun_cxx" >&6; }
if test "x${ac_cv_prog_sun_cxx}" = "xyes"; then
{
@@ -20038,8 +21461,8 @@ _ACEOF
if test x"$os_win32" = xyes; then
if test x"$GCC" = xyes -a x"$GXX" = xyes; then
msnative_struct=''
- echo "$as_me:$LINENO: checking how to get MSVC-compatible struct packing" >&5
-echo $ECHO_N "checking how to get MSVC-compatible struct packing... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking how to get MSVC-compatible struct packing" >&5
+echo $ECHO_N "checking how to get MSVC-compatible struct packing... $ECHO_C" >&6; }
if test -z "$ac_cv_prog_CC"; then
our_gcc="$CC"
else
@@ -20058,19 +21481,19 @@ echo $ECHO_N "checking how to get MSVC-compatible struct packing... $ECHO_C" >&6
;;
esac
if test x"$msnative_struct" = x ; then
- echo "$as_me:$LINENO: result: no way" >&5
-echo "${ECHO_T}no way" >&6
+ { echo "$as_me:$LINENO: result: no way" >&5
+echo "${ECHO_T}no way" >&6; }
{ echo "$as_me:$LINENO: WARNING: produced libraries might be incompatible with MSVC-compiled code" >&5
echo "$as_me: WARNING: produced libraries might be incompatible with MSVC-compiled code" >&2;}
else
CXXFLAGS="$CXXFLAGS $msnative_struct"
- echo "$as_me:$LINENO: result: ${msnative_struct}" >&5
-echo "${ECHO_T}${msnative_struct}" >&6
+ { echo "$as_me:$LINENO: result: ${msnative_struct}" >&5
+echo "${ECHO_T}${msnative_struct}" >&6; }
fi
fi
fi
-ac_ext=cc
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -20078,8 +21501,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-echo "$as_me:$LINENO: checking if C++ compiler supports bool" >&5
-echo $ECHO_N "checking if C++ compiler supports bool... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if C++ compiler supports bool" >&5
+echo $ECHO_N "checking if C++ compiler supports bool... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -20102,31 +21525,43 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cxx_bool=yes
- echo "$as_me:$LINENO: result: $ac_cxx_bool" >&5
-echo "${ECHO_T}$ac_cxx_bool" >&6
+ { echo "$as_me:$LINENO: result: $ac_cxx_bool" >&5
+echo "${ECHO_T}$ac_cxx_bool" >&6; }
else
@@ -20135,16 +21570,17 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_cxx_bool=no
- echo "$as_me:$LINENO: result: $ac_cxx_bool" >&5
-echo "${ECHO_T}$ac_cxx_bool" >&6
+ { echo "$as_me:$LINENO: result: $ac_cxx_bool" >&5
+echo "${ECHO_T}$ac_cxx_bool" >&6; }
config_error=yes
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: checking if C++ compiler supports namespaces" >&5
-echo $ECHO_N "checking if C++ compiler supports namespaces... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if C++ compiler supports namespaces" >&5
+echo $ECHO_N "checking if C++ compiler supports namespaces... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -20167,31 +21603,43 @@ A a;
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cxx_namespaces=yes
- echo "$as_me:$LINENO: result: $ac_cxx_namespaces" >&5
-echo "${ECHO_T}$ac_cxx_namespaces" >&6
+ { echo "$as_me:$LINENO: result: $ac_cxx_namespaces" >&5
+echo "${ECHO_T}$ac_cxx_namespaces" >&6; }
else
@@ -20200,16 +21648,17 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_cxx_namespaces=no
- echo "$as_me:$LINENO: result: $ac_cxx_namespaces" >&5
-echo "${ECHO_T}$ac_cxx_namespaces" >&6
+ { echo "$as_me:$LINENO: result: $ac_cxx_namespaces" >&5
+echo "${ECHO_T}$ac_cxx_namespaces" >&6; }
config_error=yes
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: checking if C++ compiler supports mutable" >&5
-echo $ECHO_N "checking if C++ compiler supports mutable... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if C++ compiler supports mutable" >&5
+echo $ECHO_N "checking if C++ compiler supports mutable... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -20233,31 +21682,43 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cxx_mutable=yes
- echo "$as_me:$LINENO: result: $ac_cxx_mutable" >&5
-echo "${ECHO_T}$ac_cxx_mutable" >&6
+ { echo "$as_me:$LINENO: result: $ac_cxx_mutable" >&5
+echo "${ECHO_T}$ac_cxx_mutable" >&6; }
else
@@ -20266,29 +21727,30 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_cxx_mutable=no
- echo "$as_me:$LINENO: result: $ac_cxx_mutable" >&5
-echo "${ECHO_T}$ac_cxx_mutable" >&6
+ { echo "$as_me:$LINENO: result: $ac_cxx_mutable" >&5
+echo "${ECHO_T}$ac_cxx_mutable" >&6; }
config_error=yes
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: checking if C++ environment provides all required features" >&5
-echo $ECHO_N "checking if C++ environment provides all required features... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if C++ environment provides all required features" >&5
+echo $ECHO_N "checking if C++ environment provides all required features... $ECHO_C" >&6; }
if test "x$config_error" = xyes ; then
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
{ { echo "$as_me:$LINENO: error: Your compiler is not powerful enough to compile gtkmm. If it should be, see config.log for more information of why it failed." >&5
echo "$as_me: error: Your compiler is not powerful enough to compile gtkmm. If it should be, see config.log for more information of why it failed." >&2;}
{ (exit 1); exit 1; }; }
fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
- echo "$as_me:$LINENO: checking whether C++ library symbols are declared in namespace std" >&5
-echo $ECHO_N "checking whether C++ library symbols are declared in namespace std... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether C++ library symbols are declared in namespace std" >&5
+echo $ECHO_N "checking whether C++ library symbols are declared in namespace std... $ECHO_C" >&6; }
if test "${gtkmm_cv_cxx_has_namespace_std+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -20322,24 +21784,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -20348,14 +21822,15 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-gtkmm_cv_cxx_has_namespace_std="no"
+ gtkmm_cv_cxx_has_namespace_std="no"
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $gtkmm_cv_cxx_has_namespace_std" >&5
-echo "${ECHO_T}$gtkmm_cv_cxx_has_namespace_std" >&6
+{ echo "$as_me:$LINENO: result: $gtkmm_cv_cxx_has_namespace_std" >&5
+echo "${ECHO_T}$gtkmm_cv_cxx_has_namespace_std" >&6; }
if test "x${gtkmm_cv_cxx_has_namespace_std}" = "xyes"; then
{
@@ -20370,8 +21845,8 @@ _ACEOF
- echo "$as_me:$LINENO: checking whether the C++ library supports std::iterator_traits" >&5
-echo $ECHO_N "checking whether the C++ library supports std::iterator_traits... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether the C++ library supports std::iterator_traits" >&5
+echo $ECHO_N "checking whether the C++ library supports std::iterator_traits... $ECHO_C" >&6; }
if test "${gtkmm_cv_cxx_has_std_iterator_traits+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -20399,24 +21874,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -20425,14 +21912,15 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-gtkmm_cv_cxx_has_std_iterator_traits="no"
+ gtkmm_cv_cxx_has_std_iterator_traits="no"
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $gtkmm_cv_cxx_has_std_iterator_traits" >&5
-echo "${ECHO_T}$gtkmm_cv_cxx_has_std_iterator_traits" >&6
+{ echo "$as_me:$LINENO: result: $gtkmm_cv_cxx_has_std_iterator_traits" >&5
+echo "${ECHO_T}$gtkmm_cv_cxx_has_std_iterator_traits" >&6; }
if test "x${gtkmm_cv_cxx_has_std_iterator_traits}" = "xyes"; then
{
@@ -20447,8 +21935,8 @@ _ACEOF
- echo "$as_me:$LINENO: checking for non-standard Sun libCstd reverse_iterator" >&5
-echo $ECHO_N "checking for non-standard Sun libCstd reverse_iterator... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for non-standard Sun libCstd reverse_iterator" >&5
+echo $ECHO_N "checking for non-standard Sun libCstd reverse_iterator... $ECHO_C" >&6; }
if test "${gtkmm_cv_cxx_has_sun_reverse_iterator+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -20476,24 +21964,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -20502,14 +22002,15 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-gtkmm_cv_cxx_has_sun_reverse_iterator="no"
+ gtkmm_cv_cxx_has_sun_reverse_iterator="no"
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $gtkmm_cv_cxx_has_sun_reverse_iterator" >&5
-echo "${ECHO_T}$gtkmm_cv_cxx_has_sun_reverse_iterator" >&6
+{ echo "$as_me:$LINENO: result: $gtkmm_cv_cxx_has_sun_reverse_iterator" >&5
+echo "${ECHO_T}$gtkmm_cv_cxx_has_sun_reverse_iterator" >&6; }
if test "x${gtkmm_cv_cxx_has_sun_reverse_iterator}" = "xyes"; then
{
@@ -20524,8 +22025,8 @@ _ACEOF
- echo "$as_me:$LINENO: checking whether STL containers have templated sequence constructors" >&5
-echo $ECHO_N "checking whether STL containers have templated sequence constructors... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether STL containers have templated sequence constructors" >&5
+echo $ECHO_N "checking whether STL containers have templated sequence constructors... $ECHO_C" >&6; }
if test "${gtkmm_cv_cxx_has_template_sequence_ctors+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -20559,24 +22060,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -20585,14 +22098,15 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-gtkmm_cv_cxx_has_template_sequence_ctors="no"
+ gtkmm_cv_cxx_has_template_sequence_ctors="no"
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $gtkmm_cv_cxx_has_template_sequence_ctors" >&5
-echo "${ECHO_T}$gtkmm_cv_cxx_has_template_sequence_ctors" >&6
+{ echo "$as_me:$LINENO: result: $gtkmm_cv_cxx_has_template_sequence_ctors" >&5
+echo "${ECHO_T}$gtkmm_cv_cxx_has_template_sequence_ctors" >&6; }
if test "x${gtkmm_cv_cxx_has_template_sequence_ctors}" = "xyes"; then
{
@@ -20605,8 +22119,8 @@ _ACEOF
fi
-echo "$as_me:$LINENO: checking if C++ compiler allows member functions to refer to member templates" >&5
-echo $ECHO_N "checking if C++ compiler allows member functions to refer to member templates... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if C++ compiler allows member functions to refer to member templates" >&5
+echo $ECHO_N "checking if C++ compiler allows member functions to refer to member templates... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -20655,24 +22169,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -20683,8 +22209,8 @@ cat >>confdefs.h <<\_ACEOF
#define GLIBMM_MEMBER_FUNCTIONS_MEMBER_TEMPLATES 1
_ACEOF
- echo "$as_me:$LINENO: result: $glibmm_cxx_member_functions_member_templates" >&5
-echo "${ECHO_T}$glibmm_cxx_member_functions_member_templates" >&6
+ { echo "$as_me:$LINENO: result: $glibmm_cxx_member_functions_member_templates" >&5
+echo "${ECHO_T}$glibmm_cxx_member_functions_member_templates" >&6; }
else
echo "$as_me: failed program was:" >&5
@@ -20696,17 +22222,18 @@ sed 's/^/| /' conftest.$ac_ext >&5
#define GLIBMM_MEMBER_FUNCTIONS_MEMBER_TEMPLATES 0
_ACEOF
- echo "$as_me:$LINENO: result: $glibmm_cxx_member_functions_member_templates" >&5
-echo "${ECHO_T}$glibmm_cxx_member_functions_member_templates" >&6
+ { echo "$as_me:$LINENO: result: $glibmm_cxx_member_functions_member_templates" >&5
+echo "${ECHO_T}$glibmm_cxx_member_functions_member_templates" >&6; }
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- echo "$as_me:$LINENO: checking whether the compiler finds it ambiguous to have both const and non-const template specializations" >&5
-echo $ECHO_N "checking whether the compiler finds it ambiguous to have both const and non-const template specializations... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether the compiler finds it ambiguous to have both const and non-const template specializations" >&5
+echo $ECHO_N "checking whether the compiler finds it ambiguous to have both const and non-const template specializations... $ECHO_C" >&6; }
if test "${glibmm_cv_cxx_can_disambiguate_const_template_specializations+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -20764,24 +22291,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -20790,14 +22329,15 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-glibmm_cv_cxx_can_disambiguate_const_template_specializations="no"
+ glibmm_cv_cxx_can_disambiguate_const_template_specializations="no"
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $glibmm_cv_cxx_can_disambiguate_const_template_specializations" >&5
-echo "${ECHO_T}$glibmm_cv_cxx_can_disambiguate_const_template_specializations" >&6
+{ echo "$as_me:$LINENO: result: $glibmm_cv_cxx_can_disambiguate_const_template_specializations" >&5
+echo "${ECHO_T}$glibmm_cv_cxx_can_disambiguate_const_template_specializations" >&6; }
if test "x${glibmm_cv_cxx_can_disambiguate_const_template_specializations}" = "xyes"; then
{
@@ -20810,8 +22350,8 @@ _ACEOF
fi
- echo "$as_me:$LINENO: checking whether the compiler allows us to define a template that uses dynamic_cast<> with an object whose type is not yet defined" >&5
-echo $ECHO_N "checking whether the compiler allows us to define a template that uses dynamic_cast<> with an object whose type is not yet defined... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether the compiler allows us to define a template that uses dynamic_cast<> with an object whose type is not yet defined" >&5
+echo $ECHO_N "checking whether the compiler allows us to define a template that uses dynamic_cast<> with an object whose type is not yet defined... $ECHO_C" >&6; }
if test "${glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -20851,24 +22391,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -20877,14 +22429,15 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition="no"
+ glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition="no"
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition" >&5
-echo "${ECHO_T}$glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition" >&6
+{ echo "$as_me:$LINENO: result: $glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition" >&5
+echo "${ECHO_T}$glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition" >&6; }
if test "x${glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition}" = "xyes"; then
{
@@ -20897,8 +22450,8 @@ _ACEOF
fi
- echo "$as_me:$LINENO: checking whether the the compilerallows us to use a non-extern \"C\" function for an extern \"C\" function pointer." >&5
-echo $ECHO_N "checking whether the the compilerallows us to use a non-extern \"C\" function for an extern \"C\" function pointer.... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether the the compilerallows us to use a non-extern \"C\" function for an extern \"C\" function pointer." >&5
+echo $ECHO_N "checking whether the the compilerallows us to use a non-extern \"C\" function for an extern \"C\" function pointer.... $ECHO_C" >&6; }
if test "${glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -20936,24 +22489,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -20962,14 +22527,15 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks="no"
+ glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks="no"
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks" >&5
-echo "${ECHO_T}$glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks" >&6
+{ echo "$as_me:$LINENO: result: $glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks" >&5
+echo "${ECHO_T}$glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks" >&6; }
if test "x${glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks}" = "xyes"; then
{
@@ -20982,8 +22548,8 @@ _ACEOF
fi
- echo "$as_me:$LINENO: checking whether the compiler uses namespace declarations inside extern \"C\" blocks." >&5
-echo $ECHO_N "checking whether the compiler uses namespace declarations inside extern \"C\" blocks.... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether the compiler uses namespace declarations inside extern \"C\" blocks." >&5
+echo $ECHO_N "checking whether the compiler uses namespace declarations inside extern \"C\" blocks.... $ECHO_C" >&6; }
if test "${glibmm_cv_cxx_can_use_namespaces_inside_externc+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -21035,24 +22601,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -21061,14 +22639,15 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-glibmm_cv_cxx_can_use_namespaces_inside_externc="no"
+ glibmm_cv_cxx_can_use_namespaces_inside_externc="no"
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $glibmm_cv_cxx_can_use_namespaces_inside_externc" >&5
-echo "${ECHO_T}$glibmm_cv_cxx_can_use_namespaces_inside_externc" >&6
+{ echo "$as_me:$LINENO: result: $glibmm_cv_cxx_can_use_namespaces_inside_externc" >&5
+echo "${ECHO_T}$glibmm_cv_cxx_can_use_namespaces_inside_externc" >&6; }
if test "x${glibmm_cv_cxx_can_use_namespaces_inside_externc}" = "xyes"; then
{
@@ -21083,8 +22662,8 @@ _ACEOF
- echo "$as_me:$LINENO: checking whether the compiler allows a static member variable to be initialized inline to std::string::npos" >&5
-echo $ECHO_N "checking whether the compiler allows a static member variable to be initialized inline to std::string::npos... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether the compiler allows a static member variable to be initialized inline to std::string::npos" >&5
+echo $ECHO_N "checking whether the compiler allows a static member variable to be initialized inline to std::string::npos... $ECHO_C" >&6; }
if test "${gtkmm_cv_cxx_has_allows_static_inline_npos+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -21118,24 +22697,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
@@ -21144,14 +22735,15 @@ else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-gtkmm_cv_cxx_has_allows_static_inline_npos="no"
+ gtkmm_cv_cxx_has_allows_static_inline_npos="no"
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $gtkmm_cv_cxx_has_allows_static_inline_npos" >&5
-echo "${ECHO_T}$gtkmm_cv_cxx_has_allows_static_inline_npos" >&6
+{ echo "$as_me:$LINENO: result: $gtkmm_cv_cxx_has_allows_static_inline_npos" >&5
+echo "${ECHO_T}$gtkmm_cv_cxx_has_allows_static_inline_npos" >&6; }
if test "x${gtkmm_cv_cxx_has_allows_static_inline_npos}" = "xyes"; then
{
@@ -21164,6 +22756,99 @@ _ACEOF
fi
+ { echo "$as_me:$LINENO: checking whether time_t is not equivalent to gint32, meaning that it can be used for a method overload" >&5
+echo $ECHO_N "checking whether time_t is not equivalent to gint32, meaning that it can be used for a method overload... $ECHO_C" >&6; }
+if test "${gtkmm_cv_c_std_time_t_is_not_int32+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+ #include <time.h>
+
+int
+main ()
+{
+
+ typedef signed int gint32;
+ class Test
+ {
+ void something(gint32 val)
+ {}
+
+ void something(time_t val)
+ {}
+ };
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ gtkmm_cv_c_std_time_t_is_not_int32="yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ gtkmm_cv_c_std_time_t_is_not_int32="no"
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ echo "$as_me:$LINENO: result: $gtkmm_cv_c_std_time_t_is_not_int32" >&5
+echo "${ECHO_T}$gtkmm_cv_c_std_time_t_is_not_int32" >&6; }
+
+ if test "x${gtkmm_cv_c_std_time_t_is_not_int32}" = "xyes"; then
+ {
+
+cat >>confdefs.h <<\_ACEOF
+#define GLIBMM_HAVE_C_STD_TIME_T_IS_NOT_INT32 1
+_ACEOF
+
+ }
+ fi
+
+
# Create a list of input directories for Doxygen.
@@ -21184,19 +22869,19 @@ done
-echo "$as_me:$LINENO: checking whether to merge C reference docs into generated headers" >&5
-echo $ECHO_N "checking whether to merge C reference docs into generated headers... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to merge C reference docs into generated headers" >&5
+echo $ECHO_N "checking whether to merge C reference docs into generated headers... $ECHO_C" >&6; }
-# Check whether --enable-fulldocs or --disable-fulldocs was given.
+# Check whether --enable-fulldocs was given.
if test "${enable_fulldocs+set}" = set; then
- enableval="$enable_fulldocs"
- gtkmm_enable_fulldocs=$enableval
+ enableval=$enable_fulldocs; gtkmm_enable_fulldocs=$enableval
else
gtkmm_enable_fulldocs=$USE_MAINTAINER_MODE
-fi;
+fi
+
-echo "$as_me:$LINENO: result: ${gtkmm_enable_fulldocs}" >&5
-echo "${ECHO_T}${gtkmm_enable_fulldocs}" >&6
+{ echo "$as_me:$LINENO: result: ${gtkmm_enable_fulldocs}" >&5
+echo "${ECHO_T}${gtkmm_enable_fulldocs}" >&6; }
GTKMMPROC_MERGECDOCS=
@@ -21219,8 +22904,8 @@ echo "$as_me: WARNING:
}
fi
- echo "$as_me:$LINENO: checking whether the XML::Parser module is available" >&5
-echo $ECHO_N "checking whether the XML::Parser module is available... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking whether the XML::Parser module is available" >&5
+echo $ECHO_N "checking whether the XML::Parser module is available... $ECHO_C" >&6; }
if test "${gtkmm_cv_have_xml_parser+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -21229,8 +22914,8 @@ else
"$PERL_PATH" -e 'use strict; use XML::Parser; exit 0;' >&5 2>&5 && gtkmm_cv_have_xml_parser=yes
fi
-echo "$as_me:$LINENO: result: $gtkmm_cv_have_xml_parser" >&5
-echo "${ECHO_T}$gtkmm_cv_have_xml_parser" >&6
+{ echo "$as_me:$LINENO: result: $gtkmm_cv_have_xml_parser" >&5
+echo "${ECHO_T}$gtkmm_cv_have_xml_parser" >&6; }
if test "x$gtkmm_cv_have_xml_parser" = xno; then
{
@@ -21251,13 +22936,13 @@ fi
# Check whether --enable-debug-refcounting was given.
- # Check whether --enable-debug-refcounting or --disable-debug-refcounting was given.
+ # Check whether --enable-debug-refcounting was given.
if test "${enable_debug_refcounting+set}" = set; then
- enableval="$enable_debug_refcounting"
- glibmm_debug_refcounting="$enableval"
+ enableval=$enable_debug_refcounting; glibmm_debug_refcounting="$enableval"
else
glibmm_debug_refcounting='no'
-fi;
+fi
+
if test "x$glibmm_debug_refcounting" = "xyes"; then
{
@@ -21272,16 +22957,16 @@ _ACEOF
# Evaluate the --enable-warnings=level option.
- # Check whether --enable-warnings or --disable-warnings was given.
+ # Check whether --enable-warnings was given.
if test "${enable_warnings+set}" = set; then
- enableval="$enable_warnings"
- gtkmm_enable_warnings="$enableval"
+ enableval=$enable_warnings; gtkmm_enable_warnings="$enableval"
else
gtkmm_enable_warnings='minimum'
-fi;
+fi
+
- echo "$as_me:$LINENO: checking for compiler warning flags to use" >&5
-echo $ECHO_N "checking for compiler warning flags to use... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for compiler warning flags to use" >&5
+echo $ECHO_N "checking for compiler warning flags to use... $ECHO_C" >&6; }
gtkmm_warning_flags=''
@@ -21325,18 +23010,18 @@ echo $ECHO_N "checking for compiler warning flags to use... $ECHO_C" >&6
gtkmm_use_flags='none'
fi
- echo "$as_me:$LINENO: result: $gtkmm_use_flags" >&5
-echo "${ECHO_T}$gtkmm_use_flags" >&6
+ { echo "$as_me:$LINENO: result: $gtkmm_use_flags" >&5
+echo "${ECHO_T}$gtkmm_use_flags" >&6; }
# Add an --enable-use-deprecations configure option:
-# Check whether --enable-deprecations or --disable-deprecations was given.
+# Check whether --enable-deprecations was given.
if test "${enable_deprecations+set}" = set; then
- enableval="$enable_deprecations"
-
+ enableval=$enable_deprecations;
else
enable_deprecations=no
-fi;
+fi
+
if test "x$enable_use_deprecations" = "xyes"; then
DISABLE_DEPRECATED_CFLAGS="-DG_DISABLE_DEPRECATED"
@@ -21346,13 +23031,13 @@ fi
#Offer the ability to omit some API from the library,
#to reduce the code size:
- # Check whether --enable-deprecated-api or --disable-deprecated-api was given.
+ # Check whether --enable-deprecated-api was given.
if test "${enable_deprecated_api+set}" = set; then
- enableval="$enable_deprecated_api"
- glibmm_enable_api_deprecated="$enableval"
+ enableval=$enable_deprecated_api; glibmm_enable_api_deprecated="$enableval"
else
glibmm_enable_api_deprecated='yes'
-fi;
+fi
+
if test "x$glibmm_enable_api_deprecated" = "xyes"; then
{
@@ -21369,13 +23054,13 @@ echo "$as_me: WARNING: Deprecated API will not be built, breaking backwards-comp
fi
- # Check whether --enable-api-exceptions or --disable-api-exceptions was given.
+ # Check whether --enable-api-exceptions was given.
if test "${enable_api_exceptions+set}" = set; then
- enableval="$enable_api_exceptions"
- glibmm_enable_api_exceptions="$enableval"
+ enableval=$enable_api_exceptions; glibmm_enable_api_exceptions="$enableval"
else
glibmm_enable_api_exceptions='yes'
-fi;
+fi
+
if test "x$glibmm_enable_api_exceptions" = "xyes"; then
{
@@ -21388,13 +23073,13 @@ _ACEOF
fi
- # Check whether --enable-api-properties or --disable-api-properties was given.
+ # Check whether --enable-api-properties was given.
if test "${enable_api_properties+set}" = set; then
- enableval="$enable_api_properties"
- glibmm_enable_api_properties="$enableval"
+ enableval=$enable_api_properties; glibmm_enable_api_properties="$enableval"
else
glibmm_enable_api_properties='yes'
-fi;
+fi
+
if test "x$glibmm_enable_api_properties" = "xyes"; then
{
@@ -21407,13 +23092,13 @@ _ACEOF
fi
- # Check whether --enable-api-vfuncs or --disable-api-vfuncs was given.
+ # Check whether --enable-api-vfuncs was given.
if test "${enable_api_vfuncs+set}" = set; then
- enableval="$enable_api_vfuncs"
- glibmm_enable_api_vfuncs="$enableval"
+ enableval=$enable_api_vfuncs; glibmm_enable_api_vfuncs="$enableval"
else
glibmm_enable_api_vfuncs='yes'
-fi;
+fi
+
if test "x$glibmm_enable_api_vfuncs" = "xyes"; then
{
@@ -21429,13 +23114,13 @@ _ACEOF
# Offer the ability to omit some API from the library,
# to reduce the code size:
- # Check whether --enable-api-default-signal-handlers or --disable-api-default-signal-handlers was given.
+ # Check whether --enable-api-default-signal-handlers was given.
if test "${enable_api_default_signal_handlers+set}" = set; then
- enableval="$enable_api_default_signal_handlers"
- glibmm_enable_api_default_signal_handlers="$enableval"
+ enableval=$enable_api_default_signal_handlers; glibmm_enable_api_default_signal_handlers="$enableval"
else
glibmm_enable_api_default_signal_handlers='yes'
-fi;
+fi
+
if test "x$glibmm_enable_api_default_signal_handlers" = "xyes"; then
{
@@ -21450,9 +23135,7 @@ _ACEOF
# Dummy conditional just to make automake-1.4 happy.
# We need an always-false condition in docs/Makefile.am.
-
-
-if false; then
+ if false; then
GTKMM_FALSE_TRUE=
GTKMM_FALSE_FALSE='#'
else
@@ -21466,13 +23149,13 @@ fi
AUTOHEADER=':'
- ac_config_files="$ac_config_files Makefile glib/Makefile glib/glibmm-2.4.pc glib/src/Makefile glib/glibmm/Makefile glib/glibmm/private/Makefile tools/Makefile tools/gmmproc tools/generate_wrap_init.pl tools/m4/Makefile tools/pm/Makefile tools/extra_defs_gen/Makefile"
+ac_config_files="$ac_config_files Makefile glib/Makefile glib/glibmm-2.4.pc glib/src/Makefile glib/glibmm/Makefile glib/glibmm/private/Makefile tools/Makefile tools/gmmproc tools/generate_wrap_init.pl tools/m4/Makefile tools/pm/Makefile tools/extra_defs_gen/Makefile"
- ac_config_files="$ac_config_files tests/Makefile tests/glibmm_value/Makefile examples/Makefile examples/markup/Makefile examples/options/Makefile examples/thread/Makefile examples/iochannel_stream/Makefile examples/child_watch/Makefile scripts/Makefile docs/Makefile docs/images/Makefile docs/reference/Makefile docs/reference/Doxyfile docs/reference/beautify_docs.pl docs/internal/Makefile"
+ac_config_files="$ac_config_files tests/Makefile tests/glibmm_value/Makefile examples/Makefile examples/markup/Makefile examples/options/Makefile examples/thread/Makefile examples/iochannel_stream/Makefile examples/child_watch/Makefile examples/regex/Makefile scripts/Makefile docs/Makefile docs/images/Makefile docs/reference/Makefile docs/reference/Doxyfile docs/reference/beautify_docs.pl docs/internal/Makefile"
- ac_config_files="$ac_config_files MSVC_Net2003/Makefile MSVC_Net2003/gendef/Makefile MSVC_Net2003/glibmm/Makefile MSVC_Net2003/glibmm/glibmm.rc MSVC_Net2003/examples/Makefile MSVC_Net2003/examples/dispatcher/Makefile MSVC_Net2003/examples/dispatcher2/Makefile MSVC_Net2003/examples/markup/Makefile MSVC_Net2003/examples/options/Makefile MSVC_Net2003/examples/thread/Makefile MSVC_Net2003/examples/thread_pool/Makefile MSVC_Net2003/tests/Makefile MSVC_Net2003/tests/glibmm_value/Makefile"
+ac_config_files="$ac_config_files MSVC_Net2003/Makefile MSVC_Net2003/gendef/Makefile MSVC_Net2003/glibmm/Makefile MSVC_Net2003/glibmm/glibmm.rc MSVC_Net2003/examples/Makefile MSVC_Net2003/examples/dispatcher/Makefile MSVC_Net2003/examples/dispatcher2/Makefile MSVC_Net2003/examples/markup/Makefile MSVC_Net2003/examples/options/Makefile MSVC_Net2003/examples/thread/Makefile MSVC_Net2003/examples/thread_pool/Makefile MSVC_Net2003/tests/Makefile MSVC_Net2003/tests/glibmm_value/Makefile"
cat >confcache <<\_ACEOF
@@ -21493,39 +23176,58 @@ _ACEOF
# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
+# So, we kill variables containing newlines.
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
-{
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+
(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
# `set' does not quote correctly, so add quotes (double-quote
# substitution turns \\\\ into \\, and sed turns \\ into \).
sed -n \
"s/'/'\\\\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;;
+ ;; #(
*)
# `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
- esac;
-} |
+ esac |
+ sort
+) |
sed '
+ /^ac_cv_env_/b end
t clear
- : clear
+ :clear
s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
t end
- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
- if test -w $cache_file; then
- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ test "x$cache_file" != "x/dev/null" &&
+ { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
cat confcache >$cache_file
else
- echo "not updating unwritable cache $cache_file"
+ { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
fi
fi
rm -f confcache
@@ -21534,32 +23236,18 @@ test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[ ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[ ]*$//;
-}'
-fi
-
DEFS=-DHAVE_CONFIG_H
ac_libobjs=
ac_ltlibobjs=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
- ac_i=`echo "$ac_i" |
- sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
- # 2. Add them.
- ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
- ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
done
LIBOBJS=$ac_libobjs
@@ -21653,11 +23341,35 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
# Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
# Support unset when possible.
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
as_unset=unset
@@ -21666,8 +23378,43 @@ else
fi
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
PS1='$ '
PS2='> '
PS4='+ '
@@ -21681,18 +23428,19 @@ do
if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
eval $as_var=C; export $as_var
else
- $as_unset $as_var
+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
fi
done
# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
@@ -21700,159 +23448,120 @@ fi
# Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
+# CDPATH.
+$as_unset CDPATH
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
as_lineno_1=$LINENO
as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
# Create $as_me.lineno as a copy of $as_myself, but with $LINENO
# uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
# (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
+ s/-\n.*//
' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+ chmod +x "$as_me.lineno" ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
# Exit status is that of the last command.
exit
}
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
esac
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir
+fi
echo >conf$$.file
if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -p'
fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
if mkdir -p . 2>/dev/null; then
as_mkdir_p=:
@@ -21861,7 +23570,19 @@ else
as_mkdir_p=false
fi
-as_executable_p="test -f"
+# Find out whether ``test -x'' works. Don't use a zero-byte file, as
+# systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ as_executable_p="test -x"
+else
+ as_executable_p=:
+fi
+rm -f conf$$.file
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -21870,31 +23591,14 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
exec 6>&1
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# Save the log message, to keep $[0] and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling. Logging --version etc. is OK.
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
+# values after options handling.
+ac_log="
This file was extended by $as_me, which was
-generated by GNU Autoconf 2.59. Invocation command line was
+generated by GNU Autoconf 2.60. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -21902,30 +23606,20 @@ generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_COMMANDS = $CONFIG_COMMANDS
$ $0 $@
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
# Files that config.status was made for.
-if test -n "$ac_config_files"; then
- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_headers"; then
- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
-if test -n "$ac_config_links"; then
- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_commands"; then
- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
+_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF
-
ac_cs_usage="\
\`$as_me' instantiates files from templates according to the
current configuration.
@@ -21952,19 +23646,22 @@ Configuration commands:
$config_commands
Report bugs to <bug-autoconf@gnu.org>."
-_ACEOF
+_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
config.status
-configured by $0, generated by GNU Autoconf 2.59,
- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.60,
+ with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-Copyright (C) 2003 Free Software Foundation, Inc.
+Copyright (C) 2006 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
-INSTALL="$INSTALL"
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF
@@ -21975,39 +23672,24 @@ while test $# != 0
do
case $1 in
--*=*)
- ac_option=`expr "x$1" : 'x\([^=]*\)='`
- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
ac_shift=:
;;
- -*)
+ *)
ac_option=$1
ac_optarg=$2
ac_shift=shift
;;
- *) # This is not an option, so the user has probably given explicit
- # arguments.
- ac_option=$1
- ac_need_defaults=false;;
esac
case $ac_option in
# Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
- --version | --vers* | -V )
- echo "$ac_cs_version"; exit 0 ;;
- --he | --h)
- # Conflict between --help and --header
- { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; };;
- --help | --hel | -h )
- echo "$ac_cs_usage"; exit 0 ;;
- --debug | --d* | -d )
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ echo "$ac_cs_version"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
@@ -22017,18 +23699,24 @@ Try \`$0 --help' for more information." >&2;}
$ac_shift
CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+ { echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;
# This is an error.
- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
+ -*) { echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
{ (exit 1); exit 1; }; } ;;
- *) ac_config_targets="$ac_config_targets $1" ;;
+ *) ac_config_targets="$ac_config_targets $1"
+ ac_need_defaults=false ;;
esac
shift
@@ -22044,77 +23732,90 @@ fi
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
if \$ac_cs_recheck; then
- echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+ CONFIG_SHELL=$SHELL
+ export CONFIG_SHELL
+ exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
fi
_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ echo "$ac_log"
+} >&5
+_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
#
-# INIT-COMMANDS section.
+# INIT-COMMANDS
#
-
AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
_ACEOF
-
-
cat >>$CONFIG_STATUS <<\_ACEOF
+
+# Handling of arguments.
for ac_config_target in $ac_config_targets
do
- case "$ac_config_target" in
- # Handling of arguments.
- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "glib/Makefile" ) CONFIG_FILES="$CONFIG_FILES glib/Makefile" ;;
- "glib/glibmm-2.4.pc" ) CONFIG_FILES="$CONFIG_FILES glib/glibmm-2.4.pc" ;;
- "glib/src/Makefile" ) CONFIG_FILES="$CONFIG_FILES glib/src/Makefile" ;;
- "glib/glibmm/Makefile" ) CONFIG_FILES="$CONFIG_FILES glib/glibmm/Makefile" ;;
- "glib/glibmm/private/Makefile" ) CONFIG_FILES="$CONFIG_FILES glib/glibmm/private/Makefile" ;;
- "tools/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;;
- "tools/gmmproc" ) CONFIG_FILES="$CONFIG_FILES tools/gmmproc" ;;
- "tools/generate_wrap_init.pl" ) CONFIG_FILES="$CONFIG_FILES tools/generate_wrap_init.pl" ;;
- "tools/m4/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/m4/Makefile" ;;
- "tools/pm/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/pm/Makefile" ;;
- "tools/extra_defs_gen/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/extra_defs_gen/Makefile" ;;
- "tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
- "tests/glibmm_value/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/glibmm_value/Makefile" ;;
- "examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
- "examples/markup/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/markup/Makefile" ;;
- "examples/options/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/options/Makefile" ;;
- "examples/thread/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/thread/Makefile" ;;
- "examples/iochannel_stream/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/iochannel_stream/Makefile" ;;
- "examples/child_watch/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/child_watch/Makefile" ;;
- "scripts/Makefile" ) CONFIG_FILES="$CONFIG_FILES scripts/Makefile" ;;
- "docs/Makefile" ) CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;;
- "docs/images/Makefile" ) CONFIG_FILES="$CONFIG_FILES docs/images/Makefile" ;;
- "docs/reference/Makefile" ) CONFIG_FILES="$CONFIG_FILES docs/reference/Makefile" ;;
- "docs/reference/Doxyfile" ) CONFIG_FILES="$CONFIG_FILES docs/reference/Doxyfile" ;;
- "docs/reference/beautify_docs.pl" ) CONFIG_FILES="$CONFIG_FILES docs/reference/beautify_docs.pl" ;;
- "docs/internal/Makefile" ) CONFIG_FILES="$CONFIG_FILES docs/internal/Makefile" ;;
- "MSVC_Net2003/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/Makefile" ;;
- "MSVC_Net2003/gendef/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/gendef/Makefile" ;;
- "MSVC_Net2003/glibmm/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/glibmm/Makefile" ;;
- "MSVC_Net2003/glibmm/glibmm.rc" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/glibmm/glibmm.rc" ;;
- "MSVC_Net2003/examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/Makefile" ;;
- "MSVC_Net2003/examples/dispatcher/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/dispatcher/Makefile" ;;
- "MSVC_Net2003/examples/dispatcher2/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/dispatcher2/Makefile" ;;
- "MSVC_Net2003/examples/markup/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/markup/Makefile" ;;
- "MSVC_Net2003/examples/options/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/options/Makefile" ;;
- "MSVC_Net2003/examples/thread/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/thread/Makefile" ;;
- "MSVC_Net2003/examples/thread_pool/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/thread_pool/Makefile" ;;
- "MSVC_Net2003/tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/tests/Makefile" ;;
- "MSVC_Net2003/tests/glibmm_value/Makefile" ) CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/tests/glibmm_value/Makefile" ;;
- "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
- "glib/glibmmconfig.h" ) CONFIG_HEADERS="$CONFIG_HEADERS glib/glibmmconfig.h" ;;
+ case $ac_config_target in
+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ "glib/glibmmconfig.h") CONFIG_HEADERS="$CONFIG_HEADERS glib/glibmmconfig.h" ;;
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "glib/Makefile") CONFIG_FILES="$CONFIG_FILES glib/Makefile" ;;
+ "glib/glibmm-2.4.pc") CONFIG_FILES="$CONFIG_FILES glib/glibmm-2.4.pc" ;;
+ "glib/src/Makefile") CONFIG_FILES="$CONFIG_FILES glib/src/Makefile" ;;
+ "glib/glibmm/Makefile") CONFIG_FILES="$CONFIG_FILES glib/glibmm/Makefile" ;;
+ "glib/glibmm/private/Makefile") CONFIG_FILES="$CONFIG_FILES glib/glibmm/private/Makefile" ;;
+ "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;;
+ "tools/gmmproc") CONFIG_FILES="$CONFIG_FILES tools/gmmproc" ;;
+ "tools/generate_wrap_init.pl") CONFIG_FILES="$CONFIG_FILES tools/generate_wrap_init.pl" ;;
+ "tools/m4/Makefile") CONFIG_FILES="$CONFIG_FILES tools/m4/Makefile" ;;
+ "tools/pm/Makefile") CONFIG_FILES="$CONFIG_FILES tools/pm/Makefile" ;;
+ "tools/extra_defs_gen/Makefile") CONFIG_FILES="$CONFIG_FILES tools/extra_defs_gen/Makefile" ;;
+ "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
+ "tests/glibmm_value/Makefile") CONFIG_FILES="$CONFIG_FILES tests/glibmm_value/Makefile" ;;
+ "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
+ "examples/markup/Makefile") CONFIG_FILES="$CONFIG_FILES examples/markup/Makefile" ;;
+ "examples/options/Makefile") CONFIG_FILES="$CONFIG_FILES examples/options/Makefile" ;;
+ "examples/thread/Makefile") CONFIG_FILES="$CONFIG_FILES examples/thread/Makefile" ;;
+ "examples/iochannel_stream/Makefile") CONFIG_FILES="$CONFIG_FILES examples/iochannel_stream/Makefile" ;;
+ "examples/child_watch/Makefile") CONFIG_FILES="$CONFIG_FILES examples/child_watch/Makefile" ;;
+ "examples/regex/Makefile") CONFIG_FILES="$CONFIG_FILES examples/regex/Makefile" ;;
+ "scripts/Makefile") CONFIG_FILES="$CONFIG_FILES scripts/Makefile" ;;
+ "docs/Makefile") CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;;
+ "docs/images/Makefile") CONFIG_FILES="$CONFIG_FILES docs/images/Makefile" ;;
+ "docs/reference/Makefile") CONFIG_FILES="$CONFIG_FILES docs/reference/Makefile" ;;
+ "docs/reference/Doxyfile") CONFIG_FILES="$CONFIG_FILES docs/reference/Doxyfile" ;;
+ "docs/reference/beautify_docs.pl") CONFIG_FILES="$CONFIG_FILES docs/reference/beautify_docs.pl" ;;
+ "docs/internal/Makefile") CONFIG_FILES="$CONFIG_FILES docs/internal/Makefile" ;;
+ "MSVC_Net2003/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/Makefile" ;;
+ "MSVC_Net2003/gendef/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/gendef/Makefile" ;;
+ "MSVC_Net2003/glibmm/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/glibmm/Makefile" ;;
+ "MSVC_Net2003/glibmm/glibmm.rc") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/glibmm/glibmm.rc" ;;
+ "MSVC_Net2003/examples/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/Makefile" ;;
+ "MSVC_Net2003/examples/dispatcher/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/dispatcher/Makefile" ;;
+ "MSVC_Net2003/examples/dispatcher2/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/dispatcher2/Makefile" ;;
+ "MSVC_Net2003/examples/markup/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/markup/Makefile" ;;
+ "MSVC_Net2003/examples/options/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/options/Makefile" ;;
+ "MSVC_Net2003/examples/thread/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/thread/Makefile" ;;
+ "MSVC_Net2003/examples/thread_pool/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/thread_pool/Makefile" ;;
+ "MSVC_Net2003/tests/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/tests/Makefile" ;;
+ "MSVC_Net2003/tests/glibmm_value/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/tests/glibmm_value/Makefile" ;;
+
*) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
{ (exit 1); exit 1; }; };;
esac
done
+
# If the user did not use the arguments to specify the items to instantiate,
# then the envvar interface is used. Set only those that are not.
# We use the long form for the default assignment because of an extremely
@@ -22126,633 +23827,624 @@ if $ac_need_defaults; then
fi
# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason to put it here, and in addition,
+# simply because there is no reason against having it here, and in addition,
# creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ tmp=
+ trap 'exit_status=$?
+ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
trap '{ (exit 1); exit 1; }' 1 2 13 15
}
-
# Create a (secure) tmp directory for tmp files.
{
- tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
test -n "$tmp" && test -d "$tmp"
} ||
{
- tmp=./confstat$$-$RANDOM
- (umask 077 && mkdir $tmp)
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
} ||
{
echo "$me: cannot create a temporary directory in ." >&2
{ (exit 1); exit 1; }
}
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-
#
-# CONFIG_FILES section.
+# Set up the sed scripts for CONFIG_FILES section.
#
# No need to generate the scripts if there are no CONFIG_FILES.
# This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
- # Protect against being on the right side of a sed subst in config.status.
- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s,@SHELL@,$SHELL,;t t
-s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s,@exec_prefix@,$exec_prefix,;t t
-s,@prefix@,$prefix,;t t
-s,@program_transform_name@,$program_transform_name,;t t
-s,@bindir@,$bindir,;t t
-s,@sbindir@,$sbindir,;t t
-s,@libexecdir@,$libexecdir,;t t
-s,@datadir@,$datadir,;t t
-s,@sysconfdir@,$sysconfdir,;t t
-s,@sharedstatedir@,$sharedstatedir,;t t
-s,@localstatedir@,$localstatedir,;t t
-s,@libdir@,$libdir,;t t
-s,@includedir@,$includedir,;t t
-s,@oldincludedir@,$oldincludedir,;t t
-s,@infodir@,$infodir,;t t
-s,@mandir@,$mandir,;t t
-s,@build_alias@,$build_alias,;t t
-s,@host_alias@,$host_alias,;t t
-s,@target_alias@,$target_alias,;t t
-s,@DEFS@,$DEFS,;t t
-s,@ECHO_C@,$ECHO_C,;t t
-s,@ECHO_N@,$ECHO_N,;t t
-s,@ECHO_T@,$ECHO_T,;t t
-s,@LIBS@,$LIBS,;t t
-s,@GLIBMM_MAJOR_VERSION@,$GLIBMM_MAJOR_VERSION,;t t
-s,@GLIBMM_MINOR_VERSION@,$GLIBMM_MINOR_VERSION,;t t
-s,@GLIBMM_MICRO_VERSION@,$GLIBMM_MICRO_VERSION,;t t
-s,@GLIBMM_VERSION@,$GLIBMM_VERSION,;t t
-s,@GLIBMM_RELEASE@,$GLIBMM_RELEASE,;t t
-s,@LIBGLIBMM_SO_VERSION@,$LIBGLIBMM_SO_VERSION,;t t
-s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
-s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
-s,@INSTALL_DATA@,$INSTALL_DATA,;t t
-s,@CYGPATH_W@,$CYGPATH_W,;t t
-s,@PACKAGE@,$PACKAGE,;t t
-s,@VERSION@,$VERSION,;t t
-s,@ACLOCAL@,$ACLOCAL,;t t
-s,@AUTOCONF@,$AUTOCONF,;t t
-s,@AUTOMAKE@,$AUTOMAKE,;t t
-s,@AUTOHEADER@,$AUTOHEADER,;t t
-s,@MAKEINFO@,$MAKEINFO,;t t
-s,@install_sh@,$install_sh,;t t
-s,@STRIP@,$STRIP,;t t
-s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
-s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
-s,@mkdir_p@,$mkdir_p,;t t
-s,@AWK@,$AWK,;t t
-s,@SET_MAKE@,$SET_MAKE,;t t
-s,@am__leading_dot@,$am__leading_dot,;t t
-s,@AMTAR@,$AMTAR,;t t
-s,@am__tar@,$am__tar,;t t
-s,@am__untar@,$am__untar,;t t
-s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
-s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
-s,@MAINT@,$MAINT,;t t
-s,@CC@,$CC,;t t
-s,@CFLAGS@,$CFLAGS,;t t
-s,@LDFLAGS@,$LDFLAGS,;t t
-s,@CPPFLAGS@,$CPPFLAGS,;t t
-s,@ac_ct_CC@,$ac_ct_CC,;t t
-s,@EXEEXT@,$EXEEXT,;t t
-s,@OBJEXT@,$OBJEXT,;t t
-s,@DEPDIR@,$DEPDIR,;t t
-s,@am__include@,$am__include,;t t
-s,@am__quote@,$am__quote,;t t
-s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t
-s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t
-s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
-s,@CCDEPMODE@,$CCDEPMODE,;t t
-s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t
-s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t
-s,@CPP@,$CPP,;t t
-s,@build@,$build,;t t
-s,@build_cpu@,$build_cpu,;t t
-s,@build_vendor@,$build_vendor,;t t
-s,@build_os@,$build_os,;t t
-s,@host@,$host,;t t
-s,@host_cpu@,$host_cpu,;t t
-s,@host_vendor@,$host_vendor,;t t
-s,@host_os@,$host_os,;t t
-s,@PLATFORM_WIN32_TRUE@,$PLATFORM_WIN32_TRUE,;t t
-s,@PLATFORM_WIN32_FALSE@,$PLATFORM_WIN32_FALSE,;t t
-s,@OS_WIN32_TRUE@,$OS_WIN32_TRUE,;t t
-s,@OS_WIN32_FALSE@,$OS_WIN32_FALSE,;t t
-s,@EGREP@,$EGREP,;t t
-s,@LN_S@,$LN_S,;t t
-s,@ECHO@,$ECHO,;t t
-s,@AR@,$AR,;t t
-s,@ac_ct_AR@,$ac_ct_AR,;t t
-s,@RANLIB@,$RANLIB,;t t
-s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
-s,@DLLTOOL@,$DLLTOOL,;t t
-s,@ac_ct_DLLTOOL@,$ac_ct_DLLTOOL,;t t
-s,@AS@,$AS,;t t
-s,@ac_ct_AS@,$ac_ct_AS,;t t
-s,@OBJDUMP@,$OBJDUMP,;t t
-s,@ac_ct_OBJDUMP@,$ac_ct_OBJDUMP,;t t
-s,@CXX@,$CXX,;t t
-s,@CXXFLAGS@,$CXXFLAGS,;t t
-s,@ac_ct_CXX@,$ac_ct_CXX,;t t
-s,@CXXDEPMODE@,$CXXDEPMODE,;t t
-s,@am__fastdepCXX_TRUE@,$am__fastdepCXX_TRUE,;t t
-s,@am__fastdepCXX_FALSE@,$am__fastdepCXX_FALSE,;t t
-s,@CXXCPP@,$CXXCPP,;t t
-s,@F77@,$F77,;t t
-s,@FFLAGS@,$FFLAGS,;t t
-s,@ac_ct_F77@,$ac_ct_F77,;t t
-s,@LIBTOOL@,$LIBTOOL,;t t
-s,@M4@,$M4,;t t
-s,@PERL_PATH@,$PERL_PATH,;t t
-s,@PKG_CONFIG@,$PKG_CONFIG,;t t
-s,@ac_pt_PKG_CONFIG@,$ac_pt_PKG_CONFIG,;t t
-s,@GLIBMM_CFLAGS@,$GLIBMM_CFLAGS,;t t
-s,@GLIBMM_LIBS@,$GLIBMM_LIBS,;t t
-s,@GTHREAD_CFLAGS@,$GTHREAD_CFLAGS,;t t
-s,@GTHREAD_LIBS@,$GTHREAD_LIBS,;t t
-s,@GTKMM_DOXYGEN_INPUT@,$GTKMM_DOXYGEN_INPUT,;t t
-s,@GTKMMPROC_MERGECDOCS@,$GTKMMPROC_MERGECDOCS,;t t
-s,@DISABLE_DEPRECATED_CFLAGS@,$DISABLE_DEPRECATED_CFLAGS,;t t
-s,@DISABLE_DEPRECATED_API_CFLAGS@,$DISABLE_DEPRECATED_API_CFLAGS,;t t
-s,@GTKMM_FALSE_TRUE@,$GTKMM_FALSE_TRUE,;t t
-s,@GTKMM_FALSE_FALSE@,$GTKMM_FALSE_FALSE,;t t
-s,@LIBOBJS@,$LIBOBJS,;t t
-s,@LTLIBOBJS@,$LTLIBOBJS,;t t
-CEOF
+if test -n "$CONFIG_FILES"; then
_ACEOF
- cat >>$CONFIG_STATUS <<\_ACEOF
- # Split the substitutions into bite-sized pieces for seds with
- # small command number limits, like on Digital OSF/1 and HP-UX.
- ac_max_sed_lines=48
- ac_sed_frag=1 # Number of current file.
- ac_beg=1 # First line for current file.
- ac_end=$ac_max_sed_lines # Line after last line for current file.
- ac_more_lines=:
- ac_sed_cmds=
- while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- else
- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- fi
- if test ! -s $tmp/subs.frag; then
- ac_more_lines=false
- else
- # The purpose of the label and of the branching condition is to
- # speed up the sed processing (if there are no `@' at all, there
- # is no need to browse any of the substitutions).
- # These are the two extra sed commands mentioned above.
- (echo ':t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
- fi
- ac_sed_frag=`expr $ac_sed_frag + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_lines`
- fi
- done
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ cat >conf$$subs.sed <<_ACEOF
+SHELL!$SHELL$ac_delim
+PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
+PACKAGE_NAME!$PACKAGE_NAME$ac_delim
+PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
+PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
+PACKAGE_STRING!$PACKAGE_STRING$ac_delim
+PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
+exec_prefix!$exec_prefix$ac_delim
+prefix!$prefix$ac_delim
+program_transform_name!$program_transform_name$ac_delim
+bindir!$bindir$ac_delim
+sbindir!$sbindir$ac_delim
+libexecdir!$libexecdir$ac_delim
+datarootdir!$datarootdir$ac_delim
+datadir!$datadir$ac_delim
+sysconfdir!$sysconfdir$ac_delim
+sharedstatedir!$sharedstatedir$ac_delim
+localstatedir!$localstatedir$ac_delim
+includedir!$includedir$ac_delim
+oldincludedir!$oldincludedir$ac_delim
+docdir!$docdir$ac_delim
+infodir!$infodir$ac_delim
+htmldir!$htmldir$ac_delim
+dvidir!$dvidir$ac_delim
+pdfdir!$pdfdir$ac_delim
+psdir!$psdir$ac_delim
+libdir!$libdir$ac_delim
+localedir!$localedir$ac_delim
+mandir!$mandir$ac_delim
+DEFS!$DEFS$ac_delim
+ECHO_C!$ECHO_C$ac_delim
+ECHO_N!$ECHO_N$ac_delim
+ECHO_T!$ECHO_T$ac_delim
+LIBS!$LIBS$ac_delim
+build_alias!$build_alias$ac_delim
+host_alias!$host_alias$ac_delim
+target_alias!$target_alias$ac_delim
+GLIBMM_MAJOR_VERSION!$GLIBMM_MAJOR_VERSION$ac_delim
+GLIBMM_MINOR_VERSION!$GLIBMM_MINOR_VERSION$ac_delim
+GLIBMM_MICRO_VERSION!$GLIBMM_MICRO_VERSION$ac_delim
+GLIBMM_VERSION!$GLIBMM_VERSION$ac_delim
+GLIBMM_RELEASE!$GLIBMM_RELEASE$ac_delim
+LIBGLIBMM_SO_VERSION!$LIBGLIBMM_SO_VERSION$ac_delim
+INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
+INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
+INSTALL_DATA!$INSTALL_DATA$ac_delim
+am__isrc!$am__isrc$ac_delim
+CYGPATH_W!$CYGPATH_W$ac_delim
+PACKAGE!$PACKAGE$ac_delim
+VERSION!$VERSION$ac_delim
+ACLOCAL!$ACLOCAL$ac_delim
+AUTOCONF!$AUTOCONF$ac_delim
+AUTOMAKE!$AUTOMAKE$ac_delim
+AUTOHEADER!$AUTOHEADER$ac_delim
+MAKEINFO!$MAKEINFO$ac_delim
+install_sh!$install_sh$ac_delim
+STRIP!$STRIP$ac_delim
+INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
+mkdir_p!$mkdir_p$ac_delim
+AWK!$AWK$ac_delim
+SET_MAKE!$SET_MAKE$ac_delim
+am__leading_dot!$am__leading_dot$ac_delim
+AMTAR!$AMTAR$ac_delim
+am__tar!$am__tar$ac_delim
+am__untar!$am__untar$ac_delim
+MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim
+MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim
+MAINT!$MAINT$ac_delim
+CC!$CC$ac_delim
+CFLAGS!$CFLAGS$ac_delim
+LDFLAGS!$LDFLAGS$ac_delim
+CPPFLAGS!$CPPFLAGS$ac_delim
+ac_ct_CC!$ac_ct_CC$ac_delim
+EXEEXT!$EXEEXT$ac_delim
+OBJEXT!$OBJEXT$ac_delim
+DEPDIR!$DEPDIR$ac_delim
+am__include!$am__include$ac_delim
+am__quote!$am__quote$ac_delim
+AMDEP_TRUE!$AMDEP_TRUE$ac_delim
+AMDEP_FALSE!$AMDEP_FALSE$ac_delim
+AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
+CCDEPMODE!$CCDEPMODE$ac_delim
+am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
+am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
+CPP!$CPP$ac_delim
+build!$build$ac_delim
+build_cpu!$build_cpu$ac_delim
+build_vendor!$build_vendor$ac_delim
+build_os!$build_os$ac_delim
+host!$host$ac_delim
+host_cpu!$host_cpu$ac_delim
+host_vendor!$host_vendor$ac_delim
+host_os!$host_os$ac_delim
+PLATFORM_WIN32_TRUE!$PLATFORM_WIN32_TRUE$ac_delim
+PLATFORM_WIN32_FALSE!$PLATFORM_WIN32_FALSE$ac_delim
+OS_WIN32_TRUE!$OS_WIN32_TRUE$ac_delim
+OS_WIN32_FALSE!$OS_WIN32_FALSE$ac_delim
+_ACEOF
+
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
+ break
+ elif $ac_last_try; then
+ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
-fi # test -n "$CONFIG_FILES"
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+ ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+CEOF$ac_eof
+_ACEOF
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ cat >conf$$subs.sed <<_ACEOF
+GREP!$GREP$ac_delim
+EGREP!$EGREP$ac_delim
+LN_S!$LN_S$ac_delim
+ECHO!$ECHO$ac_delim
+AR!$AR$ac_delim
+RANLIB!$RANLIB$ac_delim
+DLLTOOL!$DLLTOOL$ac_delim
+AS!$AS$ac_delim
+OBJDUMP!$OBJDUMP$ac_delim
+CXX!$CXX$ac_delim
+CXXFLAGS!$CXXFLAGS$ac_delim
+ac_ct_CXX!$ac_ct_CXX$ac_delim
+CXXDEPMODE!$CXXDEPMODE$ac_delim
+am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim
+am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim
+CXXCPP!$CXXCPP$ac_delim
+F77!$F77$ac_delim
+FFLAGS!$FFLAGS$ac_delim
+ac_ct_F77!$ac_ct_F77$ac_delim
+LIBTOOL!$LIBTOOL$ac_delim
+M4!$M4$ac_delim
+PERL_PATH!$PERL_PATH$ac_delim
+PKG_CONFIG!$PKG_CONFIG$ac_delim
+GLIBMM_CFLAGS!$GLIBMM_CFLAGS$ac_delim
+GLIBMM_LIBS!$GLIBMM_LIBS$ac_delim
+GTHREAD_CFLAGS!$GTHREAD_CFLAGS$ac_delim
+GTHREAD_LIBS!$GTHREAD_LIBS$ac_delim
+GTKMM_DOXYGEN_INPUT!$GTKMM_DOXYGEN_INPUT$ac_delim
+GTKMMPROC_MERGECDOCS!$GTKMMPROC_MERGECDOCS$ac_delim
+DISABLE_DEPRECATED_CFLAGS!$DISABLE_DEPRECATED_CFLAGS$ac_delim
+DISABLE_DEPRECATED_API_CFLAGS!$DISABLE_DEPRECATED_API_CFLAGS$ac_delim
+GTKMM_FALSE_TRUE!$GTKMM_FALSE_TRUE$ac_delim
+GTKMM_FALSE_FALSE!$GTKMM_FALSE_FALSE$ac_delim
+LIBOBJS!$LIBOBJS$ac_delim
+LTLIBOBJS!$LTLIBOBJS$ac_delim
+_ACEOF
+
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 35; then
+ break
+ elif $ac_last_try; then
+ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+ ac_eof=`expr $ac_eof + 1`
+fi
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+:end
+s/|#_!!_#|//g
+CEOF$ac_eof
_ACEOF
+
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[ ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
+fi # test -n "$CONFIG_FILES"
+
+
+for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+ { (exit 1); exit 1; }; };;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+ ac_file_inputs="$ac_file_inputs $ac_f"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input="Generated from "`IFS=:
+ echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ fi
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$tmp/stdin";;
+ esac
+ ;;
esac
- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+ ac_dir=`$as_dirname -- "$ac_file" ||
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$ac_file" : 'X\(//\)[^/]' \| \
X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir="$ac_dir"
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
{ (exit 1); exit 1; }; }; }
-
ac_builddir=.
-if test "$ac_dir" != .; then
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
case $srcdir in
- .) # No --srcdir option. We are building in place.
+ .) # We are building in place.
ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
case $INSTALL in
[\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+ esac
+ ac_MKDIR_P=$MKDIR_P
+ case $MKDIR_P in
+ [\\/$]* | ?:[\\/]* ) ;;
+ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
esac
+_ACEOF
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- configure_input=
- else
- configure_input="$ac_file. "
- fi
- configure_input=$configure_input"Generated from `echo $ac_file_in |
- sed 's,.*/,,'` by configure."
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+
+case `sed -n '/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+' $ac_file_inputs` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF
sed "$ac_vpsub
$extrasub
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s,@configure_input@,$configure_input,;t t
-s,@srcdir@,$ac_srcdir,;t t
-s,@abs_srcdir@,$ac_abs_srcdir,;t t
-s,@top_srcdir@,$ac_top_srcdir,;t t
-s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s,@builddir@,$ac_builddir,;t t
-s,@abs_builddir@,$ac_abs_builddir,;t t
-s,@top_builddir@,$ac_top_builddir,;t t
-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
-s,@INSTALL@,$ac_INSTALL,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
- rm -f $tmp/stdin
- if test x"$ac_file" != x-; then
- mv $tmp/out $ac_file
- else
- cat $tmp/out
- rm -f $tmp/out
- fi
-
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_HEADER section.
-#
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-ac_dB='[ ].*$,\1#\2'
-ac_dC=' '
-ac_dD=',;t'
-# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_uB='$,\1#\2define\3'
-ac_uC=' '
-ac_uD=',;t'
-
-for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+s&@configure_input@&$configure_input&;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+ { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&5
+echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&2;}
+
+ rm -f "$tmp/stdin"
case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
+ -) cat "$tmp/out"; rm -f "$tmp/out";;
+ *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
esac
-
- test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- # Do quote $f, to prevent DOS paths from being IFS'd.
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
- # Remove the trailing spaces.
- sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
-
+ ;;
+ :H)
+ #
+ # CONFIG_HEADER
+ #
_ACEOF
-# Transform confdefs.h into two sed scripts, `conftest.defines' and
-# `conftest.undefs', that substitutes the proper values into
-# config.h.in to produce config.h. The first handles `#define'
-# templates, and the second `#undef' templates.
-# And first: Protect against being on the right side of a sed subst in
-# config.status. Protect against being in an unquoted here document
-# in config.status.
-rm -f conftest.defines conftest.undefs
-# Using a here document instead of a string reduces the quoting nightmare.
-# Putting comments in sed scripts is not portable.
-#
-# `end' is used to avoid that the second main sed command (meant for
-# 0-ary CPP macros) applies to n-ary macro definitions.
-# See the Autoconf documentation for `clear'.
-cat >confdef2sed.sed <<\_ACEOF
-s/[\\&,]/\\&/g
-s,[\\$`],\\&,g
-t clear
-: clear
-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
-t end
-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
-: end
-_ACEOF
-# If some macros were called several times there might be several times
-# the same #defines, which is useless. Nevertheless, we may not want to
-# sort them, since we want the *last* AC-DEFINE to be honored.
-uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
-sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
-rm -f confdef2sed.sed
-
-# This sed command replaces #undef with comments. This is necessary, for
+# Transform confdefs.h into a sed script `conftest.defines', that
+# substitutes the proper values into config.h.in to produce config.h.
+rm -f conftest.defines conftest.tail
+# First, append a space to every undef/define line, to ease matching.
+echo 's/$/ /' >conftest.defines
+# Then, protect against being on the right side of a sed subst, or in
+# an unquoted here document, in config.status. If some macros were
+# called several times there might be several #defines for the same
+# symbol, which is useless. But do not sort them, since the last
+# AC_DEFINE must be honored.
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
+# NAME is the cpp macro being defined, VALUE is the value it is being given.
+# PARAMS is the parameter list in the macro definition--in most cases, it's
+# just an empty string.
+ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*'
+ac_dB='\\)[ (].*,\\1define\\2'
+ac_dC=' '
+ac_dD=' ,'
+
+uniq confdefs.h |
+ sed -n '
+ t rset
+ :rset
+ s/^[ ]*#[ ]*define[ ][ ]*//
+ t ok
+ d
+ :ok
+ s/[\\&,]/\\&/g
+ s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
+ s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
+ ' >>conftest.defines
+
+# Remove the space that was appended to ease matching.
+# Then replace #undef with comments. This is necessary, for
# example, in the case of _POSIX_SOURCE, which is predefined and required
# on some systems where configure will not decide to define it.
-cat >>conftest.undefs <<\_ACEOF
-s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
-_ACEOF
-
-# Break up conftest.defines because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
-echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
-echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
-echo ' :' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.defines >/dev/null
+# (The regexp can be short, since the line contains either #define or #undef.)
+echo 's/ $//
+s,^[ #]*u.*,/* & */,' >>conftest.defines
+
+# Break up conftest.defines:
+ac_max_sed_lines=50
+
+# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1"
+# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2"
+# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1"
+# et cetera.
+ac_in='$ac_file_inputs'
+ac_out='"$tmp/out1"'
+ac_nxt='"$tmp/out2"'
+
+while :
do
- # Write a limited-size here document to $tmp/defines.sed.
- echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#define' lines.
- echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+ # Write a here document:
+ cat >>$CONFIG_STATUS <<_ACEOF
+ # First, check the format of the line:
+ cat >"\$tmp/defines.sed" <<\\CEOF
+/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def
+/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def
+b
+:def
+_ACEOF
+ sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
echo 'CEOF
- sed -f $tmp/defines.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+ sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
+ ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
+ sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
+ grep . conftest.tail >/dev/null || break
rm -f conftest.defines
mv conftest.tail conftest.defines
done
-rm -f conftest.defines
-echo ' fi # grep' >>$CONFIG_STATUS
-echo >>$CONFIG_STATUS
-
-# Break up conftest.undefs because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.undefs >/dev/null
-do
- # Write a limited-size here document to $tmp/undefs.sed.
- echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#undef'
- echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $tmp/undefs.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
- rm -f conftest.undefs
- mv conftest.tail conftest.undefs
-done
-rm -f conftest.undefs
+rm -f conftest.defines conftest.tail
+echo "ac_result=$ac_in" >>$CONFIG_STATUS
cat >>$CONFIG_STATUS <<\_ACEOF
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- echo "/* Generated by configure. */" >$tmp/config.h
- else
- echo "/* $ac_file. Generated by configure. */" >$tmp/config.h
- fi
- cat $tmp/in >>$tmp/config.h
- rm -f $tmp/in
if test x"$ac_file" != x-; then
- if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
+ echo "/* $configure_input */" >"$tmp/config.h"
+ cat "$ac_result" >>"$tmp/config.h"
+ if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
{ echo "$as_me:$LINENO: $ac_file is unchanged" >&5
echo "$as_me: $ac_file is unchanged" >&6;}
else
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
rm -f $ac_file
- mv $tmp/config.h $ac_file
+ mv "$tmp/config.h" $ac_file
fi
else
- cat $tmp/config.h
- rm -f $tmp/config.h
+ echo "/* $configure_input */"
+ cat "$ac_result"
fi
+ rm -f "$tmp/out12"
# Compute $ac_file's index in $config_headers.
_am_stamp_count=1
for _am_header in $config_headers :; do
@@ -22763,135 +24455,39 @@ for _am_header in $config_headers :; do
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac
done
-echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
+echo "timestamp for $ac_file" >`$as_dirname -- $ac_file ||
$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X$ac_file : 'X\(//\)[^/]' \| \
X$ac_file : 'X\(//\)$' \| \
- X$ac_file : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X$ac_file : 'X\(/\)' \| . 2>/dev/null ||
echo X$ac_file |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`/stamp-h$_am_stamp_count
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_COMMANDS section.
-#
-for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
- ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
- ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
-$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_dest" : 'X\(//\)[^/]' \| \
- X"$ac_dest" : 'X\(//\)$' \| \
- X"$ac_dest" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_dest" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
+ :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5
+echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
- { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
-echo "$as_me: executing $ac_dest commands" >&6;}
- case $ac_dest in
- depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
+ case $ac_file$ac_mode in
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
@@ -22899,20 +24495,32 @@ echo "$as_me: executing $ac_dest commands" >&6;}
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
- # So let's grep whole file.
- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
- dirpart=`(dirname "$mf") 2>/dev/null ||
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
+ dirpart=`$as_dirname -- "$mf" ||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$mf" : 'X\(//\)[^/]' \| \
X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
else
continue
fi
@@ -22934,53 +24542,79 @@ echo X"$mf" |
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
- fdir=`(dirname "$file") 2>/dev/null ||
+ fdir=`$as_dirname -- "$file" ||
$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$file" : 'X\(//\)[^/]' \| \
X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p $dirpart/$fdir
- else
- as_dir=$dirpart/$fdir
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir=$dirpart/$fdir
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
-echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
{ (exit 1); exit 1; }; }; }
-
# echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file"
done
done
;;
+
esac
-done
-_ACEOF
+done # for ac_tag
-cat >>$CONFIG_STATUS <<\_ACEOF
{ (exit 0); exit 0; }
_ACEOF
diff --git a/libs/glibmm2/configure.in b/libs/glibmm2/configure.in
index 90218e1f7a..f9103dbeba 100644
--- a/libs/glibmm2/configure.in
+++ b/libs/glibmm2/configure.in
@@ -18,8 +18,8 @@ AC_PREREQ(2.50)
# Version and initialization
#########################################################################
GLIBMM_MAJOR_VERSION=2
-GLIBMM_MINOR_VERSION=13
-GLIBMM_MICRO_VERSION=3
+GLIBMM_MINOR_VERSION=14
+GLIBMM_MICRO_VERSION=2
GLIBMM_VERSION=$GLIBMM_MAJOR_VERSION.$GLIBMM_MINOR_VERSION.$GLIBMM_MICRO_VERSION
GLIBMM_RELEASE=$GLIBMM_MAJOR_VERSION.$GLIBMM_MINOR_VERSION
AC_DEFINE_UNQUOTED([GLIBMM_MAJOR_VERSION], $GLIBMM_MAJOR_VERSION, [Major Version])
@@ -120,7 +120,7 @@ AC_CHECK_FUNCS([flockfile funlockfile getc_unlocked mkfifo])
# Dependancy checks
#########################################################################
gtkmm_min_sigc_version=2.0.0
-gtkmm_min_glib_version=2.9.0
+gtkmm_min_glib_version=2.14.0
PKG_CHECK_MODULES(GLIBMM, sigc++-2.0 >= ${gtkmm_min_sigc_version} glib-2.0 >= ${gtkmm_min_glib_version} gobject-2.0 >= ${gtkmm_min_glib_version} gmodule-2.0 >= ${gtkmm_min_glib_version})
AC_SUBST(GLIBMM_CFLAGS)
@@ -198,6 +198,7 @@ GLIBMM_CXX_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION()
GLIBMM_CXX_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS()
GLIBMM_CXX_CAN_USE_NAMESPACES_INSIDE_EXTERNC()
GLIBMM_CXX_ALLOWS_STATIC_INLINE_NPOS()
+GLIBMM_C_STD_TIME_T_IS_NOT_INT32()
# Create a list of input directories for Doxygen.
@@ -271,6 +272,7 @@ AC_CONFIG_FILES([
examples/thread/Makefile
examples/iochannel_stream/Makefile
examples/child_watch/Makefile
+ examples/regex/Makefile
scripts/Makefile
diff --git a/libs/glibmm2/docs/Makefile.am b/libs/glibmm2/docs/Makefile.am
deleted file mode 100644
index 556283f3bc..0000000000
--- a/libs/glibmm2/docs/Makefile.am
+++ /dev/null
@@ -1,34 +0,0 @@
-## Copyright (c) 2001
-## The gtkmm development team.
-
-SUBDIRS = images reference internal
-
-EXTRA_DIST = Makefile_web.am_fragment
-
-gtkmm_doc_DATA =
-
-include $(top_srcdir)/docs/Makefile_web.am_fragment
-
-# Post to the website.
-
-post-html-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) post-html); \
- done
-
-post-html-local:
- scp $$SSH_OPT $^ $$USER@$(web_host):$(web_path_docs)
-
-post-html: post-html-recursive post-html-local
-
-doc-clean-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) doc-clean); \
- done
-
-doc-clean: doc-clean-recursive
-
-doc-rebuild: doc-clean all
-
-.PHONY: post-html post-html-local post-html-recursive doc-clean doc-clean-recursive doc-rebuild
-
diff --git a/libs/glibmm2/docs/Makefile_web.am_fragment b/libs/glibmm2/docs/Makefile_web.am_fragment
deleted file mode 100644
index 14ecd2aa55..0000000000
--- a/libs/glibmm2/docs/Makefile_web.am_fragment
+++ /dev/null
@@ -1,8 +0,0 @@
-web_host = gtkmm.org
-web_path_gtkmm = /home/murrayc/gtkmm.org/docs/glibmm-2.4/
-#web_path_gtkmm = /home/groups/g/gt/gtkmm/htdocs/docs/glibmm-2.4/
-web_path_docs = $(web_path_gtkmm)docs/
-rsync_args = -vz --rsh ssh --delete --delete-after
-
-gtkmm_docdir = $(datadir)/doc/glibmm-2.4/docs
-
diff --git a/libs/glibmm2/docs/images/Makefile.am b/libs/glibmm2/docs/images/Makefile.am
deleted file mode 100644
index 6bbfd7a44b..0000000000
--- a/libs/glibmm2/docs/images/Makefile.am
+++ /dev/null
@@ -1,16 +0,0 @@
-
-EXTRA_DIST = gtkmm_logo.gif top.gif
-
-# Post to the website.
-include $(top_srcdir)/docs/Makefile_web.am_fragment
-
-imagesdir = $(gtkmm_docdir)/images
-images_DATA = gtkmm_logo.gif top.gif
-
-post-html: gtkmm_logo.gif top.gif
- rsync $(rsync_args) $^ $$USER@$(web_host):$(web_path_docs)images/
-
-doc-clean:
-
-.PHONY: post-html doc-clean
-
diff --git a/libs/glibmm2/docs/images/Makefile.in b/libs/glibmm2/docs/images/Makefile.in
deleted file mode 100644
index b2d35be468..0000000000
--- a/libs/glibmm2/docs/images/Makefile.in
+++ /dev/null
@@ -1,398 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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 \
- $(top_srcdir)/docs/Makefile_web.am_fragment
-subdir = docs/images
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
-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 = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(imagesdir)"
-imagesDATA_INSTALL = $(INSTALL_DATA)
-DATA = $(images_DATA)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
-DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
-DLLTOOL = @DLLTOOL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
-GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
-GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
-GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-M4 = @M4@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL_PATH = @PERL_PATH@
-PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-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@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-EXTRA_DIST = gtkmm_logo.gif top.gif
-web_host = gtkmm.org
-web_path_gtkmm = /home/murrayc/gtkmm.org/docs/glibmm-2.4/
-#web_path_gtkmm = /home/groups/g/gt/gtkmm/htdocs/docs/glibmm-2.4/
-web_path_docs = $(web_path_gtkmm)docs/
-rsync_args = -vz --rsh ssh --delete --delete-after
-gtkmm_docdir = $(datadir)/doc/glibmm-2.4/docs
-
-# Post to the website.
-imagesdir = $(gtkmm_docdir)/images
-images_DATA = gtkmm_logo.gif top.gif
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/docs/Makefile_web.am_fragment $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/images/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu docs/images/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
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-imagesDATA: $(images_DATA)
- @$(NORMAL_INSTALL)
- test -z "$(imagesdir)" || $(mkdir_p) "$(DESTDIR)$(imagesdir)"
- @list='$(images_DATA)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(imagesDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(imagesdir)/$$f'"; \
- $(imagesDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(imagesdir)/$$f"; \
- done
-
-uninstall-imagesDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(images_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(imagesdir)/$$f'"; \
- rm -f "$(DESTDIR)$(imagesdir)/$$f"; \
- done
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/../../docs
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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)$(imagesdir)"; 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)
-
-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 distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am: install-imagesDATA
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-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-imagesDATA uninstall-info-am
-
-.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-exec install-exec-am \
- install-imagesDATA install-info install-info-am install-man \
- 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-imagesDATA uninstall-info-am
-
-
-post-html: gtkmm_logo.gif top.gif
- rsync $(rsync_args) $^ $$USER@$(web_host):$(web_path_docs)images/
-
-doc-clean:
-
-.PHONY: post-html doc-clean
-# 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:
diff --git a/libs/glibmm2/docs/images/gtkmm_logo.gif b/libs/glibmm2/docs/images/gtkmm_logo.gif
deleted file mode 100644
index 30b502c4f4..0000000000
--- a/libs/glibmm2/docs/images/gtkmm_logo.gif
+++ /dev/null
Binary files differ
diff --git a/libs/glibmm2/docs/images/top.gif b/libs/glibmm2/docs/images/top.gif
deleted file mode 100644
index 85d395c5b4..0000000000
--- a/libs/glibmm2/docs/images/top.gif
+++ /dev/null
Binary files differ
diff --git a/libs/glibmm2/docs/internal/Makefile.am b/libs/glibmm2/docs/internal/Makefile.am
deleted file mode 100644
index 7281296fbf..0000000000
--- a/libs/glibmm2/docs/internal/Makefile.am
+++ /dev/null
@@ -1,10 +0,0 @@
-
-EXTRA_DIST = gtk_entry.dia \
- documentation_generation.txt gmmproc_internals.txt using_gmmproc.txt
-
-post-html:
-
-doc-clean:
-
-.PHONY: post-html doc-clean
-
diff --git a/libs/glibmm2/docs/internal/documentation_generation.txt b/libs/glibmm2/docs/internal/documentation_generation.txt
deleted file mode 100644
index df94dfbcef..0000000000
--- a/libs/glibmm2/docs/internal/documentation_generation.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-*** Reference documentation.
-- Type "make" in docs/reference to generate HTML docs
- from the source code.
-- We use Doxygen.
- Doxygen comments: Use either
-
- /// This does something.
- void something()
-
- or
-
- /** This does something
- * It does it like so.
- * @param foo The foo to be somethinged.
- */
- void something(Foo& foo);
-
- Rememeber to actually look at the documentation before adding these
- comments to the .hg files. It might not be necessary because
- gtkmmproc might do it for you - see the next section.
-
-- Reuse of GTK+ documentation:
- When gtkmmproc generates the .h/.cc files from the .hg/.ccg files,
- it inserts doxygen comments based on the gtk-doc comments in the
- GTK+ source code.
- gtkmmproc does this by looking at gtk/src/gtk_docs.xml, which is
- generated occasionally by the pygtk/codegen/docextract_to_xml.py
- python script, in the gnome-python cvs module.
-
-- Overriding the GTK documentation:
- Sometimes the GTK documentation for a functoin is not appropriate
- for the gtkmm method that wraps it. If so, you should add a
- section to gtk/src/gtk_docs_override.xml
-
-
-*** Book
-- The "Programming with gtkmmproc" book is in DocBook XML 4 format.
-- Type make in docs/tutorial to build the HTML.
-
-
-
diff --git a/libs/glibmm2/docs/internal/gmmproc_internals.txt b/libs/glibmm2/docs/internal/gmmproc_internals.txt
deleted file mode 100644
index bd4e71a695..0000000000
--- a/libs/glibmm2/docs/internal/gmmproc_internals.txt
+++ /dev/null
@@ -1,135 +0,0 @@
-How it works
-------------
-Gtkmmproc is a 3 pass process.
-1. Parse .hg/.ccg files and generate meta m4 macros in a tmp file (e.g. gtkmmproc5466.g1)
-2. run m4 to expand macro text (to get e.g. (e.g. gtkmmproc5466.g2)
-3. snip file into pieces. (.h .private_h, .cc)
-
-1.
-The first pass is to escape anything which may cause problems
-with m4 processing of a file. This pass is performed in perl.
-It also implements meta macros which are macros in which
-a C++ declaration must be broken into an argument list.
-Commands marked with <meta> are implmented at this
-level.
-
-TODO: <meta> ? Is this still true? murrayc
-
-At this point there is a file (e.g. /tmp/gtkmmproc5466.g1)
-which contains text and m4 code. This m4 code is our m4
-macros which will be expanded in the next pass.
-
-2.
-The second pass does both expansion and rearrangement of
-code. The entire file including both the .hg headers and the
-.ccg source files are processed as one piece. This is because
-some macros expand into multiple sections. Commands marked
-with <m4> are implemented at this level.
-
-3.
-The third pass is to take the M4 output and snip it into
-the actually header and implementation files for use.
-There are no commands which communicate directly with this layer,
-though any raw C++ code from the .hg/.ccg files will of course be
-carried through to here.
-
-All macros are in capitals and are proceed by an underscore.
-
-
-Output files
--------------
-
-gtkmmproc generates 3 output files. One is the header for inclusion
-in user code. The other is the implementation including implementing
-all the macro built functions. The last is a private header. The
-private header contains all the functions which are necessary to
-derive a C object in the gtk+ object system from this widget.
-The private header is not for user consumption.
-
-
-Sectioning
------------
-
-Much of the magic of gtkmmproc happens at the m4 level.
-This includes sectioning. Sectioning is method in which a macro
-can create pieces of text after or before the expansion of the
-macro. Sectioning is done with the m4 divert command.
-The macros _SECTION(), _PUSH() and _POP() are used to
-control what section is being writen.
-
-It is important to understand how the sections of a class
-are assembled.
-
-Example:
-
- something.hg:
- #include <foo.h>
-
- namespace Gtk {
-
- class SomeThing
- {
- WRAP_CLASS(...)
- public:
- // my methods
- void do();
- };
- }
-
- something.cmm:
- void Gtk::SomeThing::do() {}
-
-This will be broken up into the following sections
-<<>> represents a include section. * marks macro expansions.
-(Names don't match current code look at m4 file to see what current
-name is.)
-
- something.h:
-* #ifndef SOMETHING_H
-* #define SOMETHING_H
- #include <foo.h>
- <<FORWARD>>
- namespace Gtk {
- class SomeThing {
- {
-* public:
-* typedef ...
-* ....
- public:
- // my methods
- void do();
-
- <<IMPL>>
- };
-
- }
- #endif
-
- something.cc:
- void Gtk::SomeThing::do() {}
-
-* void gtkmm_something_init_type(
-* ....
- <<METHOD>>
- <<SIGNAL>>
- <<MEMBER>>
-
- something_p.h:
-* class SomeThing_Class {
- <<PRIVATE>>
-* };
-
-
-If you, for example, need to place something in PRIVATE for this
-class, you would do
-
- class SomeThing {
- ....
- _SECTION(PRIVATE)
- my stuff
- _SECTION(CLASS)
- }
-
-
-In order to improve clarity the m4 template is expanded into
-multiple files, one for each type of macro processed.
diff --git a/libs/glibmm2/docs/internal/gtk_entry.dia b/libs/glibmm2/docs/internal/gtk_entry.dia
deleted file mode 100644
index a08ddffe51..0000000000
--- a/libs/glibmm2/docs/internal/gtk_entry.dia
+++ /dev/null
Binary files differ
diff --git a/libs/glibmm2/docs/internal/using_gmmproc.txt b/libs/glibmm2/docs/internal/using_gmmproc.txt
deleted file mode 100644
index 78d1f10d3e..0000000000
--- a/libs/glibmm2/docs/internal/using_gmmproc.txt
+++ /dev/null
@@ -1,323 +0,0 @@
-
-Command Summary
-==================
- #m4 (meta) one line m4 escape
- #m4begin (meta) multi line m4 escape
- #m4end (meta) end of multi line escape
- _CTOR_CAST (class) implement the cast constructor automatically
- _CTOR_DEFAULT (class) implement a constructor taking no arguments
- _DTOR (class) implement the dtor automatically
- _MEMBER (class) implement a member
- _POP (base) save current section and switch to another
- _PINCLUDE (base) specify the parents private header name
- _PUSH (base) restore current section
- _SECTION (base) change sections
- _WRAP (meta) wrap various C types
- _DEFS (meta) load a defs file
- _IGNORE (?) tells gtkmmproc not to complain this function not wrapped
- _CLASS_GOBJECT (meta) derive from GObject
- _CLASS_GTKOBJECT (meta) derive from GtkObject
-
-
-M4 macro escaping <meta>
------------------
-At times it is useful to be able to issue commands directly to
-m4 preprocessor underneith gtkmmproc. However, for safety
-the single quote and backtick were hiden. Thus you must
-enter a special environment to be about to issue m4 commands
-without interpretation.
-
-single line m4 statements are any line proceed with a #m4.
- #m4 don't eat my `backticks'
-
-Multiline m4 statements can be done with #m4begin/#m4end
-
- #m4begin
- define(`convert', `dnl
- gtkmm_convert($1,$2->obj);
- ')
- #m4end
-
-_DEFS (module name, definition filename)
-----------------------------------------
-Takes two arguments, a module name (e.g., gtkmm, gnomemm, ...) and the
-filename of an API definition file sans ".defs" extension.
-
-Debugging
----------
-If you see m4 errors, you can set the GTKMMPROC_DEBUG environment variable like so:
-# export GTKMMPROC_DEBUG=1
-This will ensure that the intermediate m4 files are not deleted, so that you can examine them.
-
-
-_WRAP_METHOD( C++ declaration, C function name )
-------------------------------------------------
-
-e.g. From entry.hg:
-_WRAP_METHOD(void set_text(const string &text),gtk_entry_set_text)
-
-The C function (e.g. gtk_entry_set_text) is described in gtk/src/gtk.defs,
-which is generated automatically by the h2defs.py script from pygtk. (see below)
-
-There are some optional extra arguments:
-refreturn: Do an extra reference() on the return value, in case the C function does not provide a reference.
-deprecated: Puts the generated code in #ifdef blocks.
-constversion: Just call the non-const version of the same function, instead of generating almost duplicate code.
-
-_WRAP_METHOD_DOCS_ONLY( C function name )
-------------------------------------------------
-
-e.g. From treestore.hg:
-_WRAP_METHOD_DOCS_ONLY(gtk_list_store_insert)
-
-Linke _WRAP_METHOD_DOCS_ONLY(), but only outputs the doxygen documentation comments, based on
-the gtk_docs.xml and gtk_docs_override.xml files. Use this when you must hand-code the method,
-but you want to use the documentation that would be generated if the method was generated.
-
-_WRAP_SIGNAL( C++ handler declaration, "signal name" )
-------------------------------------------------------
-
-e.g. From button.hg:
-_WRAP_SIGNAL(void clicked(),"clicked")
-
-Signals are function pointers in the GTK Class struct, with a
-corresponding enum value. and a gtk_signal_new.
-
-from gtkbutton.h:
-
-struct _GtkButtonClass
-{
-  GtkBinClass        parent_class;
- 
-  void (* pressed)  (GtkButton *button);
-  void (* released) (GtkButton *button);
-  void (* clicked)  (GtkButton *button);
-  ...
-};
-
-from gtkbutton.c:
-
-enum {
-  PRESSED,
-  RELEASED,
-  CLICKED,
-  ENTER,
-  LEAVE,
-  ACTIVATE,
-  LAST_SIGNAL
-};
-
-and
-
-button_signals[CLICKED] =
-    gtk_signal_new ("clicked",
-                    GTK_RUN_FIRST | GTK_RUN_ACTION,
-                    GTK_CLASS_TYPE (object_class),
-                    GTK_SIGNAL_OFFSET (GtkButtonClass, clicked),
-                    gtk_marshal_VOID__VOID,
-    GTK_TYPE_NONE, 0);
-
-
-The signals are described in gtk_signals.defs using the define-signal
-command. This file was created by the tools/extra_defs_gen utility.
-You might need to modify the defs slightly.
-
-You might find a similarly named method. Just wrap it separately as a
-method, and don't worry about the names clashing.
-e.g _WRAP_METHOD(void clicked(), gtk_button_clicked)
-
-
-_MEMBER_GET(gtkmm name, gtk+ name, C++ type, C type)
-----------------------------------------------------
-
-e.g. from window.hg:
-_MEMBER_GET(window_type, type, GtkWindowType, GtkWindowType)
-
-In GTK+, you're sometimes supposed to read from an object data field directly.
-This macro creates a get_*() method for use with C++.
-
-
-_MEMBER_SET(gtkmm name, gtk+ name, C++ type, C type)
-----------------------------------------------------
-
-e.g. from buttonbox.hg:
-_MEMBER_SET(child_min_width, child_min_width, int, gint)
-
-In GTK+, you're sometimes supposed to write to an object data field directly.
-This macro creates a set_*() method for use with C++.
-
-
-_MEMBER_GET_PTR(gtkmm name, gtk+ name, C++ pointer type, C pointer type)
-------------------------------------------------------------------------
-
-e.g. from progress.hg:
-_MEMBER_GET_PTR(adjustment, adjustment, Gtk::Adjustment*, GtkAdjustment*)
-
-Similar to _MEMBER_GET(), but this macro create two access methods:
-A non-const method that returns a pointer to a writable object, and
-a const method returning a pointer to a read-only object.
-
-
-_MEMBER_GET_GOBJECT(gtkmm name, gtk+ name, C++ type, C pointer type)
---------------------------------------------------------------------
-
-e.g. from window.hg:
-_MEMBER_GET_GOBJECT(frame, frame, Gdk::Window, GdkWindow*)
-
-Similar to _MEMBER_GET_PTR(), this macro creates two access methods.
-The difference is that the return types will actually be
-Glib::RefPtr<C++ type> and Glib::RefPtr<const C++ type>.
-
-Also, the methods call object->reference() before
-returning it to the caller.
-
-
-_WRAP_PROPERTY("property name", C++ type)
------------------------------------------
-
-e.g. From Widget.hg:
-_WRAP_PROPERTY("name", Glib::ustring)
-
-The properties are described in gtk_signals.defs using the
-define-property command. This file was created by the
-tools/extra_defs_gen utility. You might need to modify the defs
-slightly.
-
-Properties have enum values in the .c file. e.g from gtkwidget.c:
-
-enum {
- PROP_0,
- PROP_NAME,
- PROP_PARENT,
-...
-
-These enums are used in a call to g_object_class_install_property().
-e.g. from gtkwidget.c:
-
- g_object_class_install_property (gobject_class,
- PROP_NAME,
- g_param_spec_string ("name",
- _("Widget name"),
- _("The name of the widget"),
- NULL,
- G_PARAM_READWRITE));
-
-This sometimes shows the type of the property, but sometimes you
-need to look for the use of the property enum to see what type
-of values are being used with it. For instance, from gtkwidget.c:
-
-static void
-gtk_widget_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
- GtkWidget *widget;
-
- widget = GTK_WIDGET (object);
-
- switch (prop_id)
- {
- gint *eventp;
- GdkExtensionMode *modep;
-
- case PROP_NAME:
- if (widget->name)
-...
-
-By looking at GtkWidget::name you can see the type.
-
-The defs file also shows the types of the properties, but
-when the type is an enum, flag, or object, it doesn't show
-the exact type.
-
-
-_WRAP_VFUNC( C++ declaration, vfunc C name )
---------------------------------------------
-
-e.g. From checkbutton.hg:
-_WRAP_VFUNC(void draw_indicator(GdkRectangle* area),"draw_indicator")
-
-These are quite unusual, but you'll probably find one or two. They
-are function pointers in the GTK Class struct, which have no
-gtk_signal_new().
-
-For instance, from gtkcheckbutton.h:
-
-struct _GtkCheckButtonClass
-{
-  GtkToggleButtonClass parent_class;
-
-  void (* draw_indicator) (GtkCheckButton *check_button,
-   GdkRectangle   *area);
-};
-
-And from gtkcheckbutton.c:
-
-class->draw_indicator = gtk_real_check_button_draw_indicator;
-
-The virtual functions are described in gtk_vfuncs.defs using the
-define-vfunc command. This file was created manually so you will
-need to add a section to it for each new virtual function that you find.
-
-
-_CLASS_GOBJECT( C++ class, C class, C casting macro, C++ base class, C base class )
------------------------------------------------------------------------------------
-
-e.g. From accelgroup.hg:
-_CLASS_GOBJECT(AccelGroup, GtkAccelGroup, GTK_ACCEL_GROUP,Glib::Object,GObject)
-
-FIXME (2002-09-18 chrisime) text goes here.
-
-
-_CLASS_GTKOBJECT( C++ class, C class, C casting macro, C++ base class, C base class )
--------------------------------------------------------------------------------------
-
-e.g. From button.hg:
-_CLASS_GTKOBJECT(Button,GtkButton,GTK_BUTTON,Gtk::Bin,GtkBin)
-
-Button is the class which derives from Gtk::Bin in gtkmm.
-GtkButton is the class which derives from GtkBin in gtk+.
-GTK_BUTTON is the casting macro in gtk+:
-
-GtkWidget *button;
-... GTK_BUTTON (button);
-
-
-Boxed Types:
-----------------------
-
-_CLASS_BOXEDTYPE()
-For non-GObject structs, registed with g_boxed_type_register_static().
-For example, Gdk::Color.
-
-_CLASS_BOXEDTYPE_STATIC()
-For simple assignable structs like GdkRectangle. Similar to _CLASS_BOXEDTYPE,
-but the C struct is not allocated dynamically.
-
-_CLASS_OPAQUE_COPYABLE()
-For opaque structs with corresponding copy/free functions.
-Very similar to _CLASS_BOXEDTYPE, but without a get_type() method.
-
-_CLASS_OPAQUE_REFCOUNTED()
-For reference-counted opaque structs. The C++ wrappers can not be
-instantiated and can only be used with Glib::RefPtr<>.
-
-_CLASS_GENERIC()
-To wrap structs which don't fit into any specialized category. Currently,
-it is only needed to wrap PangoLayoutIter.
-
-
-Re-generating the gtk_methods.defs interface definition files.
-------------------------------------------------------
-
-Use h2defs.py from the pygtk module in gnome cvs. e.g.:
-
-./h2def.py /gnome/head/cvs/gtk+/gtk/*.h > gtk_methods.defs
-
-The tools/enums.pl script works in the same way.
-
-Use your tools/extra_defs_gen utility to generate the .defs for the signals and properties.
-
-
-
diff --git a/libs/glibmm2/docs/reference/Doxyfile.in b/libs/glibmm2/docs/reference/Doxyfile.in
deleted file mode 100644
index a153812b1e..0000000000
--- a/libs/glibmm2/docs/reference/Doxyfile.in
+++ /dev/null
@@ -1,1090 +0,0 @@
-# Doxyfile 1.3.4
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-# TAG = value [value, ...]
-# For lists items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
-
-PROJECT_NAME = "glibmm 2.4"
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER =
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY =
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch,
-# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en
-# (Japanese with English messages), Korean, Norwegian, Polish, Portuguese,
-# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
-
-OUTPUT_LANGUAGE = English
-
-# This tag can be used to specify the encoding used in the generated output.
-# The encoding is not always determined by the language that is chosen,
-# but also whether or not the output is meant for Windows or non-Windows users.
-# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES
-# forces the Windows encoding (this is the default for the Windows binary),
-# whereas setting the tag to NO uses a Unix-style encoding (the default for
-# all platforms other than Windows).
-
-USE_WINDOWS_ENCODING = NO
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF = YES
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
-# members of a class in the documentation of that class as if those members were
-# ordinary class members. Constructors, destructors and assignment operators of
-# the base classes will not be shown.
-
-INLINE_INHERITED_MEMB = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. It is allowed to use relative paths in the argument list.
-
-STRIP_FROM_PATH =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful is your file systems
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like the Qt-style comments (thus requiring an
-# explict @brief command for a brief description.
-
-JAVADOC_AUTOBRIEF = YES
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the DETAILS_AT_TOP tag is set to YES then Doxygen
-# will output the detailed description near the top, like JavaDoc.
-# If set to NO, the detailed description appears after the member
-# documentation.
-
-DETAILS_AT_TOP = NO
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# reimplements.
-
-INHERIT_DOCS = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE = 8
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES = "newin2p2=\xrefitem newin2p2s \"Since glibmm 2.2\" \"New API since glibmm 2.2\""
-ALIASES += "newin2p4=\xrefitem newin2p4s \"Since glibmm 2.4\" \"New API since glibmm 2.4\""
-ALIASES += "newin2p6=\xrefitem newin2p6s \"Since glibmm 2.6\" \"New API since glibmm 2.6\""
-ALIASES += "newin2p8=\xrefitem newin2p8s \"Since glibmm 2.8\" \"New API since glibmm 2.8\""
-ALIASES += "newin2p10=\xrefitem newin2p10s \"Since glibmm 2.10\" \"New API since glibmm 2.10\""
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
-# only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
-# only. Doxygen will then generate output that is more tailored for Java.
-# For instance, namespaces will be presented as packages, qualified scopes
-# will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
-
-SUBGROUPING = YES
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC = YES
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES = YES
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS = NO
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# users are advised to set this option to NO.
-
-CASE_SENSE_NAMES = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES = NO
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS = YES
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
-GENERATE_TODOLIST = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
-GENERATE_BUGLIST = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or define consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and defines in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some
-# parameters in a documented function, or documenting parameters that
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR = YES
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text.
-
-WARN_FORMAT = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT = @GTKMM_DOXYGEN_INPUT@
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
-# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc
-
-FILE_PATTERNS = *.h
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE = NO
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE =
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories
-# that are symbolic links (a Unix filesystem feature) are excluded from the input.
-
-EXCLUDE_SYMLINKS = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories.
-
-EXCLUDE_PATTERNS = */wrap_init.h
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH = @top_srcdir@/examples
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS = *.h \
- *.cc
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE = YES
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH = $(DOXYGEN_IMAGE_PATH)
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output.
-
-INPUT_FILTER =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-
-SOURCE_BROWSER = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS = NO
-
-# If the REFERENCED_BY_RELATION tag is set to YES (the default)
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = YES
-
-# If the REFERENCES_RELATION tag is set to YES (the default)
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION = YES
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX = YES
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
-GENERATE_HTML = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header.
-
-HTML_HEADER = glibmm_header.html_fragment
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER = glibmm_footer.html_fragment
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet
-
-HTML_STYLESHEET =
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS = YES
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
-# written to the html output dir.
-
-CHM_FILE =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND = NO
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX = YES
-
-# This tag can be used to set the number of enum values (range [1..20])
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE = 1
-
-# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
-# generated containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
-# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
-# probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
-TREEVIEW_WIDTH = 250
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked. If left blank `latex' will be used as the default command name.
-
-LATEX_CMD_NAME = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
-# default command name.
-
-MAKEINDEX_CMD_NAME = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, a4wide, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS = NO
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX = NO
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-# include the index chapters (such as File Index, Compound Index, etc.)
-# in the output.
-
-LATEX_HIDE_INDICES = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimised for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-
-GENERATE_RTF = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assigments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE =
-
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_XML = NO
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_SCHEMA =
-
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_DTD =
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will
-# generate a Perl module file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_PERLMOD = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-# nicely formatted so it can be parsed by a human reader. This is useful
-# if you want to understand what is going on. On the other hand, if this
-# tag is set to NO the size of the Perl module output will be much smaller
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY = YES
-
-# The names of the make variables in the generated doxyrules.make file
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-# This is useful so different doxyrules.make files included by the same
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION = YES
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_PREDEFINED tags.
-
-EXPAND_ONLY_PREDEF = YES
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES = NO
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed.
-
-PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS \
- GTKMM_USING_STD(x)= \
- GTKMM_API \
- GTKMM_ATKMM_ENABLED \
- GLIBMM_VFUNCS_ENABLED \
- GLIBMM_PROPERTIES_ENABLED \
- GLIBMM_EXCEPTIONS_ENABLED \
- GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all function-like macros that are alone
-# on a line, have an all uppercase name, and do not end with a semicolon. Such
-# function macros are typically used for boiler-plate code, and will confuse the
-# parser if not removed.
-
-SKIP_FUNCTION_MACROS = YES
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles.
-# Optionally an initial location of the external documentation
-# can be added for each tagfile. The format of a tag file without
-# this location is as follows:
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where "loc1" and "loc2" can be relative or absolute paths or
-# URLs. If a location is present for each tag, the installdox tool
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES = "libstdc++.tag.xml = http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen"
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE = glibmm_doxygen_tags
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS = YES
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
-# be listed.
-
-EXTERNAL_GROUPS = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH = @PERL_PATH@
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or
-# super classes. Setting the tag to NO turns the diagrams off. Note that this
-# option is superceded by the HAVE_DOT option below. This is only a fallback. It is
-# recommended to install and use dot, since it yields more powerful graphs.
-
-CLASS_DIAGRAMS = YES
-
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS = NO
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT = YES
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH = NO
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-# collaboration diagrams in a style similiar to the OMG's Unified Modeling
-# Language.
-
-UML_LOOK = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
-
-INCLUDE_GRAPH = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH = NO
-
-# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will
-# generate a call dependency graph for every global function or class method.
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable call graphs for selected
-# functions only using the \callgraph command.
-
-CALL_GRAPH = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. Possible values are png, jpg, or gif
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT = png
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-
-DOT_PATH =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
-
-DOTFILE_DIRS =
-
-# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
-
-MAX_DOT_GRAPH_WIDTH = 1024
-
-# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
-
-MAX_DOT_GRAPH_HEIGHT = 1024
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
-# graphs generated by dot. A depth value of 3 means that only nodes reachable
-# from the root by following a path via at most 3 edges will be shown. Nodes that
-# lay further from the root node will be omitted. Note that setting this option to
-# 1 or 2 may greatly reduce the computation time needed for large code bases. Also
-# note that a graph may be further truncated if the graph's image dimensions are
-# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT).
-# If 0 is used for the depth value (the default), the graph is not depth-constrained.
-
-MAX_DOT_GRAPH_DEPTH = 0
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermediate dot files that are used to generate
-# the various graphs.
-
-DOT_CLEANUP = YES
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-# The SEARCHENGINE tag specifies whether or not a search engine should be
-# used. If set to NO the values of all tags below this one will be ignored.
-
-SEARCHENGINE = NO
diff --git a/libs/glibmm2/docs/reference/Makefile.am b/libs/glibmm2/docs/reference/Makefile.am
deleted file mode 100644
index ba5a0b8bcc..0000000000
--- a/libs/glibmm2/docs/reference/Makefile.am
+++ /dev/null
@@ -1,71 +0,0 @@
-doxygen_configfile = Doxyfile
-doxygen_configfile_source = $(srcdir)/Doxyfile.in
-beautify_docs_source = $(srcdir)/beautify_docs.pl.in
-beautify_docs = $(srcdir)/beautify_docs.pl
-
-include $(top_srcdir)/docs/Makefile_web.am_fragment
-web_path_reference = $(web_path_docs)reference
-
-EXTRA_DIST = README Doxyfile.in \
- glibmm_header.html_fragment glibmm_footer.html_fragment beautify_docs.pl \
- html glibmm_doxygen_tags libstdc++.tag.xml
-#Ideally, libstdc++.tag.xml would be installed by gcc, instead of being copied into every project.
-
-html/index.html: $(doxygen_configfile_source) $(beautify_docs_source) $(top_srcdir)/glib/glibmm/*.h
- -rm -rf html
- image_path=""; \
- dir="`pkg-config --silence-errors --variable=prefix gtk+-2.0`/share/gtk-doc/html/gtk"; \
- test -d "$$dir" && image_path="$$dir"; \
- dir="$(top_srcdir)/../gtk+/gtk/stock-icons"; \
- test -d "$$dir" && image_path="$$image_path $$dir"; \
- DOXYGEN_IMAGE_PATH="$${DOXYGEN_IMAGE_PATH:=$$image_path}" doxygen $(doxygen_configfile)
- $(PERL_PATH) $(beautify_docs) html
-
-
-glibmm-reference-html.tar.gz: html/index.html
- tar cf - html | gzip -c --best >$@
-
-glibmm-reference-html.tar.bz2: html/index.html
- tar cf - html | bzip2 -c >$@
-
-post-html: html/index.html
- rsync $(rsync_args) -r html/ $$USER@$(web_host):$(web_path_reference)/html/
-
-doc-clean:
- -rm -rf html
- -rm -f glibmm_doxygen_tags
- -rm -f glibmm-reference-html.tar.gz glibmm-reference-html.tar.bz2
-
-referencedir = $(gtkmm_docdir)/reference/html
-
-install-reference: html/index.html
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(referencedir)
- @dir='$(<D)'; for p in $$dir/*.html $$dir/*.css $$dir/*.png $$dir/*.dot ; do \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(INSTALL_DATA) $$p $(DESTDIR)$(referencedir)/$$f"; \
- $(INSTALL_DATA) $$p $(DESTDIR)$(referencedir)/$$f; \
- done
-
-uninstall-reference: html/index.html
- @$(NORMAL_UNINSTALL)
- @dir='$(<D)'; for p in $$dir/*.html $$dir/*.css $$dir/*.png $$dir/*.dot ; do \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " rm -f $(DESTDIR)$(referencedir)/$$f"; \
- rm -f $(DESTDIR)$(referencedir)/$$f; \
- done
-
-# Install beautify_docs.pl, next to gmmproc.
-gmmproc_bin_SCRIPTS = $(beautify_docs)
-gmmproc_bindir = $(libdir)/glibmm-2.4/proc
-
-all-local: html/index.html
-
-install-data-local: install-reference
-
-uninstall-local: uninstall-reference
-
-maintainer-clean-local: doc-clean
-
-.PHONY: post-html doc-clean install-reference uninstall-reference
-
diff --git a/libs/glibmm2/docs/reference/Makefile.in b/libs/glibmm2/docs/reference/Makefile.in
deleted file mode 100644
index eaab91296d..0000000000
--- a/libs/glibmm2/docs/reference/Makefile.in
+++ /dev/null
@@ -1,457 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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 = README $(srcdir)/Doxyfile.in $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/beautify_docs.pl.in \
- $(top_srcdir)/docs/Makefile_web.am_fragment
-subdir = docs/reference
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES = Doxyfile beautify_docs.pl
-am__installdirs = "$(DESTDIR)$(gmmproc_bindir)"
-gmmproc_binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
-SCRIPTS = $(gmmproc_bin_SCRIPTS)
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
-DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
-DLLTOOL = @DLLTOOL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
-GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
-GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
-GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-M4 = @M4@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL_PATH = @PERL_PATH@
-PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-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@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-doxygen_configfile = Doxyfile
-doxygen_configfile_source = $(srcdir)/Doxyfile.in
-beautify_docs_source = $(srcdir)/beautify_docs.pl.in
-beautify_docs = $(srcdir)/beautify_docs.pl
-web_host = gtkmm.org
-web_path_gtkmm = /home/murrayc/gtkmm.org/docs/glibmm-2.4/
-#web_path_gtkmm = /home/groups/g/gt/gtkmm/htdocs/docs/glibmm-2.4/
-web_path_docs = $(web_path_gtkmm)docs/
-rsync_args = -vz --rsh ssh --delete --delete-after
-gtkmm_docdir = $(datadir)/doc/glibmm-2.4/docs
-web_path_reference = $(web_path_docs)reference
-EXTRA_DIST = README Doxyfile.in \
- glibmm_header.html_fragment glibmm_footer.html_fragment beautify_docs.pl \
- html glibmm_doxygen_tags libstdc++.tag.xml
-
-referencedir = $(gtkmm_docdir)/reference/html
-
-# Install beautify_docs.pl, next to gmmproc.
-gmmproc_bin_SCRIPTS = $(beautify_docs)
-gmmproc_bindir = $(libdir)/glibmm-2.4/proc
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/docs/Makefile_web.am_fragment $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/reference/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu docs/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
-Doxyfile: $(top_builddir)/config.status $(srcdir)/Doxyfile.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-beautify_docs.pl: $(top_builddir)/config.status $(srcdir)/beautify_docs.pl.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-install-gmmproc_binSCRIPTS: $(gmmproc_bin_SCRIPTS)
- @$(NORMAL_INSTALL)
- test -z "$(gmmproc_bindir)" || $(mkdir_p) "$(DESTDIR)$(gmmproc_bindir)"
- @list='$(gmmproc_bin_SCRIPTS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- if test -f $$d$$p; then \
- f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
- echo " $(gmmproc_binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(gmmproc_bindir)/$$f'"; \
- $(gmmproc_binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(gmmproc_bindir)/$$f"; \
- else :; fi; \
- done
-
-uninstall-gmmproc_binSCRIPTS:
- @$(NORMAL_UNINSTALL)
- @list='$(gmmproc_bin_SCRIPTS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
- echo " rm -f '$(DESTDIR)$(gmmproc_bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(gmmproc_bindir)/$$f"; \
- done
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/../../docs
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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 $(SCRIPTS) all-local
-installdirs:
- for dir in "$(DESTDIR)$(gmmproc_bindir)"; 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)
-
-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 distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am: install-data-local install-gmmproc_binSCRIPTS
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-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-gmmproc_binSCRIPTS uninstall-info-am \
- uninstall-local
-
-.PHONY: all all-am all-local 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-data-local \
- install-exec install-exec-am install-gmmproc_binSCRIPTS \
- install-info install-info-am install-man 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-gmmproc_binSCRIPTS \
- uninstall-info-am uninstall-local
-
-#Ideally, libstdc++.tag.xml would be installed by gcc, instead of being copied into every project.
-
-html/index.html: $(doxygen_configfile_source) $(beautify_docs_source) $(top_srcdir)/glib/glibmm/*.h
- -rm -rf html
- image_path=""; \
- dir="`pkg-config --silence-errors --variable=prefix gtk+-2.0`/share/gtk-doc/html/gtk"; \
- test -d "$$dir" && image_path="$$dir"; \
- dir="$(top_srcdir)/../gtk+/gtk/stock-icons"; \
- test -d "$$dir" && image_path="$$image_path $$dir"; \
- DOXYGEN_IMAGE_PATH="$${DOXYGEN_IMAGE_PATH:=$$image_path}" doxygen $(doxygen_configfile)
- $(PERL_PATH) $(beautify_docs) html
-
-glibmm-reference-html.tar.gz: html/index.html
- tar cf - html | gzip -c --best >$@
-
-glibmm-reference-html.tar.bz2: html/index.html
- tar cf - html | bzip2 -c >$@
-
-post-html: html/index.html
- rsync $(rsync_args) -r html/ $$USER@$(web_host):$(web_path_reference)/html/
-
-doc-clean:
- -rm -rf html
- -rm -f glibmm_doxygen_tags
- -rm -f glibmm-reference-html.tar.gz glibmm-reference-html.tar.bz2
-
-install-reference: html/index.html
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(referencedir)
- @dir='$(<D)'; for p in $$dir/*.html $$dir/*.css $$dir/*.png $$dir/*.dot ; do \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(INSTALL_DATA) $$p $(DESTDIR)$(referencedir)/$$f"; \
- $(INSTALL_DATA) $$p $(DESTDIR)$(referencedir)/$$f; \
- done
-
-uninstall-reference: html/index.html
- @$(NORMAL_UNINSTALL)
- @dir='$(<D)'; for p in $$dir/*.html $$dir/*.css $$dir/*.png $$dir/*.dot ; do \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " rm -f $(DESTDIR)$(referencedir)/$$f"; \
- rm -f $(DESTDIR)$(referencedir)/$$f; \
- done
-
-all-local: html/index.html
-
-install-data-local: install-reference
-
-uninstall-local: uninstall-reference
-
-maintainer-clean-local: doc-clean
-
-.PHONY: post-html doc-clean install-reference uninstall-reference
-# 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:
diff --git a/libs/glibmm2/docs/reference/README b/libs/glibmm2/docs/reference/README
deleted file mode 100644
index 16ea69bc46..0000000000
--- a/libs/glibmm2/docs/reference/README
+++ /dev/null
@@ -1,6 +0,0 @@
-You need to have doxygen installed.
-
-make targets:
-
-all: builds the reference documentation
-post-html: uploads it to the web site.
diff --git a/libs/glibmm2/docs/reference/beautify_docs.pl b/libs/glibmm2/docs/reference/beautify_docs.pl
deleted file mode 100644
index 172bd9c3c3..0000000000
--- a/libs/glibmm2/docs/reference/beautify_docs.pl
+++ /dev/null
@@ -1,81 +0,0 @@
-#! /usr/bin/perl
-#
-# docs/reference/beautify_docs.pl. Generated from beautify_docs.pl.in by configure.
-#
-
-#sub main()
-{
- my $directory = ".";
- $directory = $ARGV[0] unless scalar(@ARGV) == 0;
- print "processing directory $directory...\n" unless $directory =~ /^\.?$/;
-
- foreach(`find "$directory" -type f -name '*.html'`)
- {
- chomp;
- /([^\/]+)$/;
- print "processing $1...\n";
- &process($_);
- }
-
- exit 0;
-}
-
-sub process($)
-{
- my ($file) = @_;
- my @outbuf;
-
- open(FILE, '<', $file);
-
- while(<FILE>)
- {
- if(/<a class="el"/)
- {
- # return value
- s/ &amp;&nbsp;/&amp;&nbsp;/;
- s/ \*&nbsp;/*&nbsp;/;
-
- # arg list
- s/ &amp;/&amp;/g;
- s/&amp;\b/&amp; /g;
- s/ \*/*/g;
- s/\*\b/* /g;
-
- # templates
- s/\btemplate&lt;\b/template &lt;/;
- while(s/(.*&lt;) +(.+) +(&gt;.*)/$1$2$3/) {}
- }
- elsif(/<td class="md(|name)"/)
- {
- # left parenthesis
- s/\(&nbsp;/(/;
-
- # return value
- s/ &amp; /&amp; /g;
- s/ \* /* /g;
-
- # arg list
- s/ &amp;&nbsp;/&amp;&nbsp;/g;
- s/ \*&nbsp;/*&nbsp;/g;
-
- # templates
- s/\btemplate&lt;\b/template &lt;/;
- while(s/(.*&lt;) +(.+) +(&gt;.*)/$1$2$3/) {}
- }
- else
- {
- # template decls
- s/^(|<h\d>)template&lt;\b/$1template &lt;/;
- }
-
- push(@outbuf, $_);
- }
-
- open(FILE, '>', $file);
-
- # write the whole buffer back
- print FILE "$_" foreach(@outbuf);
-
- close(FILE);
-}
-
diff --git a/libs/glibmm2/docs/reference/beautify_docs.pl.in b/libs/glibmm2/docs/reference/beautify_docs.pl.in
deleted file mode 100755
index 28df9e11af..0000000000
--- a/libs/glibmm2/docs/reference/beautify_docs.pl.in
+++ /dev/null
@@ -1,81 +0,0 @@
-#! @PERL_PATH@
-#
-# @configure_input@
-#
-
-#sub main()
-{
- my $directory = ".";
- $directory = $ARGV[0] unless scalar(@ARGV) == 0;
- print "processing directory $directory...\n" unless $directory =~ /^\.?$/;
-
- foreach(`find "$directory" -type f -name '*.html'`)
- {
- chomp;
- /([^\/]+)$/;
- print "processing $1...\n";
- &process($_);
- }
-
- exit 0;
-}
-
-sub process($)
-{
- my ($file) = @_;
- my @outbuf;
-
- open(FILE, '<', $file);
-
- while(<FILE>)
- {
- if(/<a class="el"/)
- {
- # return value
- s/ &amp;&nbsp;/&amp;&nbsp;/;
- s/ \*&nbsp;/*&nbsp;/;
-
- # arg list
- s/ &amp;/&amp;/g;
- s/&amp;\b/&amp; /g;
- s/ \*/*/g;
- s/\*\b/* /g;
-
- # templates
- s/\btemplate&lt;\b/template &lt;/;
- while(s/(.*&lt;) +(.+) +(&gt;.*)/$1$2$3/) {}
- }
- elsif(/<td class="md(|name)"/)
- {
- # left parenthesis
- s/\(&nbsp;/(/;
-
- # return value
- s/ &amp; /&amp; /g;
- s/ \* /* /g;
-
- # arg list
- s/ &amp;&nbsp;/&amp;&nbsp;/g;
- s/ \*&nbsp;/*&nbsp;/g;
-
- # templates
- s/\btemplate&lt;\b/template &lt;/;
- while(s/(.*&lt;) +(.+) +(&gt;.*)/$1$2$3/) {}
- }
- else
- {
- # template decls
- s/^(|<h\d>)template&lt;\b/$1template &lt;/;
- }
-
- push(@outbuf, $_);
- }
-
- open(FILE, '>', $file);
-
- # write the whole buffer back
- print FILE "$_" foreach(@outbuf);
-
- close(FILE);
-}
-
diff --git a/libs/glibmm2/docs/reference/glibmm_footer.html_fragment b/libs/glibmm2/docs/reference/glibmm_footer.html_fragment
deleted file mode 100644
index d66fd995fe..0000000000
--- a/libs/glibmm2/docs/reference/glibmm_footer.html_fragment
+++ /dev/null
@@ -1,5 +0,0 @@
-<hr><address><small>
-Generated for $projectname by <a href="http://www.doxygen.org/index.html">
-Doxygen</a> $doxygenversion &copy;&nbsp;1997-2001</small></address>
-</body>
-</html>
diff --git a/libs/glibmm2/docs/reference/glibmm_header.html_fragment b/libs/glibmm2/docs/reference/glibmm_header.html_fragment
deleted file mode 100644
index d6e842076f..0000000000
--- a/libs/glibmm2/docs/reference/glibmm_header.html_fragment
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>$title</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head>
-<body bgcolor="#ffffff">
-<table border="0" width="100%">
-<tr>
- <td width="10%" height="40"><img src="../../images/gtkmm_logo.gif" alt="logo" border="0" width="100%" height="100%"/></td>
- <td width="90%" height="40"><img src="../../images/top.gif" alt="top" width="100%" height="40"/></td>
-</tr>
-</table>
-<center>
- <a class="qindex" href="../../../../gtkmm-2.4/docs/index.html">Main Page</a> &nbsp;
- <a href="../../../../gtkmm-2.4/docs/reference/html/group__Widgets.html">Widgets</a> &nbsp;
- <a class="qindex" href="namespaces.html">glibmm Namespaces</a> &nbsp;
- <a href="../../../../gtkmm-2.4/docs/tutorial/html/index.html"> Book</a> &nbsp;
-</center>
-<hr width="100%"/>
-
diff --git a/libs/glibmm2/examples/Makefile.am b/libs/glibmm2/examples/Makefile.am
deleted file mode 100644
index 79d9c73a9c..0000000000
--- a/libs/glibmm2/examples/Makefile.am
+++ /dev/null
@@ -1,21 +0,0 @@
-example_dirs = markup options thread iochannel_stream child_watch
-
-# These use gtkmm stuff:
-# thread
-
-SUBDIRS = $(example_dirs)
-EXTRA_DIST = README Makefile.am_fragment
-
-#Web upload:
-include $(top_srcdir)/docs/Makefile_web.am_fragment
-
-web_path = $(web_path_gtkmm)examples
-
-#rsync --cvs-exclude ignores *.o and anything in .cvsignore and some more:
-rsync_options = -vzr --rsh ssh --cvs-exclude --delete-excluded --exclude=.libs --exclude=.deps --exclude=core --exclude=.cvsignore --exclude=a.out --exclude=Makefile --exclude=Makefile.in
-
-post-html:
- rsync $(rsync_options) $(example_dirs) $$USER@$(web_host):$(web_path)
-
-.PHONY: post-html
-
diff --git a/libs/glibmm2/examples/Makefile.am_fragment b/libs/glibmm2/examples/Makefile.am_fragment
deleted file mode 100644
index 83433390c6..0000000000
--- a/libs/glibmm2/examples/Makefile.am_fragment
+++ /dev/null
@@ -1,40 +0,0 @@
-
-local_glibmm_lib = $(top_builddir)/glib/glibmm/libglibmm-2.4.la
-
-LIBS = $(local_glibmm_lib) $(GLIBMM_LIBS)
-
-all_includes = -I$(top_builddir)/glib -I$(top_srcdir)/glib \
- $(GLIBMM_CFLAGS) $(DISABLE_DEPRECATED_CFLAGS) $(DISABLE_DEPRECATED_API_CFLAGS)
-
-DEFS = @DEFS@
-DEFAULT_INCLUDES =
-INCLUDES = -I. -I$(srcdir) $(strip $(all_includes))
-
-glibmm_docdir = $(datadir)/doc/glibmm-2.4
-
-install-example-src:
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(glibmm_docdir)/$(subdir)
- for p in $(srcdir)/*.cc $(srcdir)/*.h; do \
- if test -f $$p; then \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(INSTALL_DATA) $$p $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f"; \
- $(INSTALL_DATA) $$p $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f; \
- fi; \
- done
-
-uninstall-example-src:
- @$(NORMAL_UNINSTALL)
- for p in $(srcdir)/*.cc $(srcdir)/*.h; do \
- if test -f $$p; then \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " rm -f $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f"; \
- rm -f $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f; \
- fi; \
- done
-
-install-data-local: install-example-src
-
-uninstall-local: uninstall-example-src
-
-.PHONY: install-example-src uninstall-example-src
diff --git a/libs/glibmm2/examples/README b/libs/glibmm2/examples/README
deleted file mode 100644
index 8b13789179..0000000000
--- a/libs/glibmm2/examples/README
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/libs/glibmm2/examples/child_watch/Makefile.am b/libs/glibmm2/examples/child_watch/Makefile.am
deleted file mode 100644
index b819ac2e37..0000000000
--- a/libs/glibmm2/examples/child_watch/Makefile.am
+++ /dev/null
@@ -1,11 +0,0 @@
-include $(top_srcdir)/examples/Makefile.am_fragment
-
-# fork() does not work on win32
-if OS_WIN32
-else
-
-#Build the executable, but don't install it.
-noinst_PROGRAMS = child_watch
-child_watch_SOURCES = main.cc
-
-endif
diff --git a/libs/glibmm2/examples/child_watch/main.cc b/libs/glibmm2/examples/child_watch/main.cc
deleted file mode 100644
index 5c0e793a64..0000000000
--- a/libs/glibmm2/examples/child_watch/main.cc
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Copyright (C) 2005 The glibmm Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#include <glibmm.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <iostream>
-
-using namespace std;
-
-class ChildWatch : public sigc::trackable
-{
-public:
- ChildWatch(const Glib::RefPtr<Glib::MainLoop>& mainLoop)
- : m_mainLoop(mainLoop)
- {}
-
- void on_child_exited(GPid pid,int status);
- void run(); // fork a child and call signal_child_watch
-
-private:
- Glib::RefPtr<Glib::MainLoop> m_mainLoop;
-};
-
-void ChildWatch::run()
-{
- GPid pid = fork();
-
- if(pid==0)
- {
- sleep(5);
- exit(0);
- }
-
- std:: cout << "Child " << pid << " created" << std::endl;
-
- Glib::signal_child_watch().connect(sigc::mem_fun(*this, &ChildWatch::on_child_exited), pid);
-}
-
-void ChildWatch::on_child_exited(GPid pid, int status)
-{
- std::cout << "Child " << pid << " exited with status " << status << std::endl;
- m_mainLoop->quit();
-}
-
-int main()
-{
- Glib::RefPtr<Glib::MainLoop> mainLoop = Glib::MainLoop::create();
-
- ChildWatch cwatch(mainLoop);
- cwatch.run();
- mainLoop->run();
-
- return 0;
-}
diff --git a/libs/glibmm2/examples/iochannel_stream/Makefile.am b/libs/glibmm2/examples/iochannel_stream/Makefile.am
deleted file mode 100644
index 8c877e9be1..0000000000
--- a/libs/glibmm2/examples/iochannel_stream/Makefile.am
+++ /dev/null
@@ -1,11 +0,0 @@
-include $(top_srcdir)/examples/Makefile.am_fragment
-
-#Build the executable, but don't install it.
-
-# Don't build natively (mingw32) on win32 as mkfifo is
-# not supported (TODO: implement with CreateNamedPipe).
-if OS_WIN32
-else
-noinst_PROGRAMS = example
-example_SOURCES = main.cc fdstream.h fdstream.cc
-endif
diff --git a/libs/glibmm2/examples/iochannel_stream/fdstream.cc b/libs/glibmm2/examples/iochannel_stream/fdstream.cc
deleted file mode 100644
index bc46a3db45..0000000000
--- a/libs/glibmm2/examples/iochannel_stream/fdstream.cc
+++ /dev/null
@@ -1,402 +0,0 @@
-/* Copyright (C) 2004 The glibmm Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#include "fdstream.h"
-
-#include <glibmm/main.h>
-
-fdstreambuf::fdstreambuf()
-{
- reset();
-}
-
-fdstreambuf::fdstreambuf(int fd, bool manage)
-{
- create_iochannel(fd, manage);
-}
-
-fdstreambuf::~fdstreambuf()
-{
- sync();
-}
-
-void fdstreambuf::reset()
-{
- setg(putback_buffer + 1, putback_buffer + 1, putback_buffer + 1);
- error_condition.error = false;
-}
-
-void fdstreambuf::create_iochannel(int fd, bool manage)
-{
- sync();
- reset();
-
- if(fd >= 0)
- {
- iochannel_ = Glib::IOChannel::create_from_fd(fd);
-
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- iochannel_->set_encoding("");
- #else
- std::auto_ptr<Glib::Error> ex;
- iochannel_->set_encoding("", ex);
- #endif //GLIBMM_EXCEPTIONS_ENABLED
-
- iochannel_->set_buffered(true);
- iochannel_->set_close_on_unref(manage);
- }
-}
-
-void fdstreambuf::detach_fd()
-{
- iochannel_->set_close_on_unref(false);
-}
-
-void fdstreambuf::connect(const sigc::slot<bool, Glib::IOCondition>& callback,
- Glib::IOCondition condition)
-{
- Glib::signal_io().connect(callback, iochannel_, condition);
-}
-
-fdstream_error fdstreambuf::get_error() const
-{
- return error_condition;
-}
-
-// the standard requires sync to return 0 for success and -1 for error
-int fdstreambuf::sync()
-{
- if (!iochannel_)
- return -1;
-
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try
- {
- iochannel_->flush();
- }
- catch(Glib::IOChannelError& io_error)
- {
- error_condition.error = true;
- error_condition.code = io_error.code();
- return -1;
- }
- #else
- std::auto_ptr<Glib::Error> io_error;
- iochannel_->flush(io_error);
- if(io_error.get())
- {
- error_condition.error = true;
- error_condition.code = (Glib::IOChannelError::Code)io_error->code();
- return -1;
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
-
- return 0;
-}
-
-void fdstreambuf::close_iochannel()
-{
- iochannel_->set_close_on_unref(false);
- reset();
-
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try
- {
- iochannel_->close(true);
- }
- catch(Glib::IOChannelError& io_error)
- {
- error_condition.error = true;
- error_condition.code = io_error.code();
- }
- #else
- std::auto_ptr<Glib::Error> io_error;
- iochannel_->close(true, io_error);
- if(io_error.get())
- {
- error_condition.error = true;
- error_condition.code = (Glib::IOChannelError::Code)io_error->code();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
-
-}
-
-// the standard requires this to return either the character
-// written on overflow or traits_type::eof() (= EOF with char_type == char)
-fdstreambuf::traits_type::int_type fdstreambuf::overflow(int_type c)
-{
- if(!traits_type::eq_int_type(c, traits_type::eof()))
- {
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try
- {
- gsize result = 0;
- char write_char = c;
- iochannel_->write(&write_char, 1, result);
- }
- catch(Glib::IOChannelError& io_error)
- {
- error_condition.error = true;
- error_condition.code = io_error.code();
- return traits_type::eof();
- }
- #else
- std::auto_ptr<Glib::Error> io_error;
- gsize result = 0;
- char write_char = c;
- iochannel_->write(&write_char, 1, result, io_error);
- if(io_error.get())
- {
- error_condition.error = true;
- error_condition.code = (Glib::IOChannelError::Code)io_error->code();
- return traits_type::eof();;
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- }
- return traits_type::not_eof(c);
-}
-
-// the standard requires this to return the number of characters written
-// (which will be 0 for stream failure - it is not correct to return EOF)
-std::streamsize fdstreambuf::xsputn(const char* source, std::streamsize num)
-{
- gsize result = 0;
-
- // the documentation for Glib::IOChannel indicates that Glib::IOChannel::write()
- // will only do a short write in the event of stream failure, so there is no
- // need to check result and have a second bite (byte) at it as would be
- // necessary with Unix write()
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try
- {
- iochannel_->write(source, num, result);
- }
- catch(Glib::IOChannelError& io_error)
- {
- error_condition.error = true;
- error_condition.code = io_error.code();
- result = 0;
- }
- #else
- std::auto_ptr<Glib::Error> io_error;
- iochannel_->write(source, num, result, io_error);
- if(io_error.get())
- {
- error_condition.error = true;
- error_condition.code = (Glib::IOChannelError::Code)io_error->code();
- result = 0;
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
-
- return result;
-}
-
-// the standard requires this to return the first character available
-// on underflow or traits_type::eof() (= EOF with char_type == char)
-fdstreambuf::traits_type::int_type fdstreambuf::underflow()
-{
- if(gptr() < egptr())
- return traits_type::to_int_type(*gptr());
-
- // copy the character in bump position (if any) to putback position
- if(gptr() - eback())
- *putback_buffer = *(gptr() - 1);
-
- // now insert a character into the bump position
- gsize result = 0;
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try
- {
- iochannel_->read(putback_buffer + 1, 1, result);
- }
- catch(Glib::IOChannelError& io_error)
- {
- error_condition.error = true;
- error_condition.code = io_error.code();
- return traits_type::eof();
- }
- #else
- std::auto_ptr<Glib::Error> io_error;
- iochannel_->read(putback_buffer + 1, 1, result, io_error);
- if(io_error.get())
- {
- error_condition.error = true;
- error_condition.code = (Glib::IOChannelError::Code)io_error->code();
- return traits_type::eof();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
-
- // some other error - is this possible? In case it is, cater for it
- if (result == 0)
- return traits_type::eof();
-
- // reset buffer pointers
- setg(putback_buffer,
- putback_buffer + 1,
- putback_buffer + 2);
-
- // return character in bump/peek position
- return traits_type::to_int_type(*gptr()); // == *(putback_buffer + 1)
-}
-
-// the standard requires this to return the number of characters fetched
-// (which will be 0 for stream failure - it is not correct to return EOF)
-std::streamsize fdstreambuf::xsgetn(char* dest, std::streamsize num)
-{
- std::streamsize chars_read = 0;
-
- // available would normally be 0, but could be up to 2 if there
- // have been putbacks or a peek and a putback
- std::streamsize available = egptr() - gptr();
-
- // if num is less than or equal to the characters already in the
- // putback buffer, extract from buffer
- if (num <= available)
- {
- traits_type::copy(dest, gptr(), num);
- gbump(num);
- chars_read = num;
- }
- else
- {
- // first copy out putback buffer
- if (available)
- {
- traits_type::copy(dest, gptr(), available);
- chars_read = available;
- }
-
- // read up to everything else we need with Glib::IOChannel::read()
- gsize result = 0;
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try
- {
- #else
- std::auto_ptr<Glib::Error> io_error;
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- do
- {
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- iochannel_->read(dest + chars_read,
- num - chars_read,
- result);
- #else
- iochannel_->read(dest + chars_read,
- num - chars_read,
- result, io_error);
- #endif //GLIBMM_EXCEPTIONS_ENABLED
-
- if (result > 0)
- chars_read += result;
- }
- while (result > 0 && result < static_cast<gsize>(num - chars_read));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(Glib::IOChannelError& io_error)
- #else
- if(io_error.get())
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- {
- error_condition.error = true;
-
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- error_condition.code = io_error.code();
- #else
- error_condition.code = (Glib::IOChannelError::Code)io_error->code();
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- return chars_read;
- }
-
- if(chars_read)
- {
- // now mimic extraction of all characters by sbumpc() by putting
- // two characters into the buffer (if available) and resetting the
- // buffer pointers
- int putback_count = 0;
- if(chars_read >= 2)
- {
- *putback_buffer = *(dest + (chars_read - 2));
- putback_count = 2;
- }
- else
- { // if we have reached here then we have only fetched
- // one character and it must have been read with
- // Glib::IOChannel::read() and not taken from the
- // putback buffer - otherwise we would have ended
- // at the first if block in this method
- // - and this also means that gptr() == egptr()
- if(gptr() - eback())
- {
- *putback_buffer = *(gptr() - 1);
- putback_count = 2;
- }
- else putback_count = 1;
- }
-
- *(putback_buffer + 1) = *(dest + (chars_read - 1));
-
- // reset buffer pointers
- this->setg(putback_buffer + (2 - putback_count),
- putback_buffer + 2,
- putback_buffer + 2);
- }
- }
- return chars_read;
-}
-
-fdstream::fdstream(int fd, bool manage)
-: std::istream(0),
- std::ostream(0),
- buf(fd, manage)
-{
- std::istream::rdbuf(&buf);
- std::ostream::rdbuf(&buf);
-}
-
-fdstream::fdstream()
-: std::istream(0),
- std::ostream(0)
-{
- std::istream::rdbuf(&buf);
- std::ostream::rdbuf(&buf);
-}
-
-void fdstream::attach(int fd, bool manage)
-{
- buf.create_iochannel(fd, manage);
-}
-
-void fdstream::detach()
-{
- buf.detach_fd();
-}
-
-void fdstream::close()
-{
- buf.close_iochannel();
-}
-
-void fdstream::connect(const sigc::slot<bool, Glib::IOCondition>& callback,
- Glib::IOCondition condition)
-{
- buf.connect(callback, condition);
-}
-
-fdstream_error fdstream::get_error() const
-{
- return buf.get_error();
-}
diff --git a/libs/glibmm2/examples/iochannel_stream/fdstream.h b/libs/glibmm2/examples/iochannel_stream/fdstream.h
deleted file mode 100644
index 3dad22f126..0000000000
--- a/libs/glibmm2/examples/iochannel_stream/fdstream.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/* Copyright (C) 2004 The glibmm Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * The fdstream/fdstreambuf example classes provide a streambuffer
- * interface for Glib::IOChannel, so that standard iostreams can be
- * used with fifos, pipes and sockets, with safe temporary files
- * opened with mkstemp() and with files opened with other system
- * functions such as Unix open().
- *
- * It does not make use of the Glib::IOChannel automatic charset code
- * conversion facilities (which when enabled will convert from UTF-8
- * to the locale codeset when writing out, and vice-versa when reading
- * in). Such automatic codeset conversion is usually undesirable as
- * it makes the target file unportable - a file written out in the
- * locale charset can only be used by those expecting the same locale
- * codeset. It is also unnecessary as the <<() and >>() operators for
- * Glib::ustring already carry out this codeset conversion (to avoid
- * this use Glib::ustring::raw() when writing out to a stream via
- * operator <<(), and read in via a std::string object with operator
- * >>()).
- *
- * If an automatic codeset conversion option is thought to be
- * valuable, it would be possible to provide this by having a read
- * buffer in fdstreambuf large enough to take and putback six bytes
- * (the largest space occupied by a UTF-8 character). This would
- * require rewriting fdstreambuf::underflow(), but in compensation
- * fdstreambuf::xsgetn() could be omitted, as if a read buffer were
- * provided then std::streambuf::xsgetn() would be adequate for the
- * purpose by itself.
- *
- * A serious implementation would probably also provide separate
- * read-only ifdstream classes and write-only ofdstream classes, as
- * fdstream provides both read and write facilities.
-*/
-
-
-#ifndef GLIBMMEXAMPLE_FDSTREAM_H
-#define GLIBMMEXAMPLE_FDSTREAM_H
-
-#include <istream>
-#include <ostream>
-#include <streambuf>
-#include <glibmm/iochannel.h>
-
-struct fdstream_error
-{
- bool error;
- Glib::IOChannelError::Code code;
-};
-
-class fdstreambuf: public std::streambuf
-{
-public:
- fdstreambuf(int fd, bool manage);
- fdstreambuf();
- ~fdstreambuf();
-
- void create_iochannel(int fd, bool manage);
- void detach_fd();
- void close_iochannel();
- void connect(const sigc::slot<bool, Glib::IOCondition>& callback, Glib::IOCondition condition);
- fdstream_error get_error() const;
-
-protected:
- virtual int_type underflow();
- virtual std::streamsize xsgetn(char* dest, std::streamsize num);
- virtual int sync();
- virtual int_type overflow(int_type c);
- virtual std::streamsize xsputn(const char* source, std::streamsize num);
-
-private:
- Glib::RefPtr<Glib::IOChannel> iochannel_;
- fdstream_error error_condition;
-
- // putback_buffer does not do any buffering: it reserves one character
- // for putback and one character for a peek() and/or for bumping
- // with sbumpc/uflow()
- char putback_buffer[2];
-
- void reset();
-};
-
-class fdstream :
- public std::istream,
- public std::ostream
-{
-public:
-
- explicit fdstream(int fd, bool manage = true);
- fdstream();
-
- // If fdstream is managing a file descriptor, attaching a new
- // one will close the old one - call detach() to unmanage it
- void attach(int fd, bool manage = true);
- void detach();
-
- void close();
- void connect(const sigc::slot<bool, Glib::IOCondition>& callback,
- Glib::IOCondition condition);
- fdstream_error get_error() const;
-
-private:
- fdstreambuf buf;
-};
-
-#endif /*GLIBMMEXAMPLE_FDSTREAM_H*/
diff --git a/libs/glibmm2/examples/iochannel_stream/main.cc b/libs/glibmm2/examples/iochannel_stream/main.cc
deleted file mode 100644
index 873f989cc5..0000000000
--- a/libs/glibmm2/examples/iochannel_stream/main.cc
+++ /dev/null
@@ -1,102 +0,0 @@
-/* Copyright (C) 2004 The glibmm Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#include <glibmm.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <limits.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <iostream>
-#include <string>
-
-#include "fdstream.h"
-
-fdstream input_stream;
-Glib::RefPtr<Glib::MainLoop> mainloop;
-
-/*
- send to the fifo with:
- echo "Hello" > testfifo
-
- quit the program with:
- echo "Q" > testfifo
-*/
-
-// this will be our signal handler for read operations
-// it will print out the message sent to the fifo
-// and quit the program if the message was, or began
-// with, 'Q'
-bool MyCallback(Glib::IOCondition io_condition)
-{
- if ((io_condition & Glib::IO_IN) == 0)
- {
- std::cerr << "Invalid fifo response" << std::endl;
- }
- else
- {
- // stream for stdout (does the same as std::cout
- // - this is an example of using fdstream for output)
- fdstream out(1, false);
- std::string text;
- input_stream >> text;
- out << text << std::endl;
-
- if (text[0] == 'Q')
- mainloop->quit();
- }
-
- return true;
-}
-
-
-int main( /* int argc, char *argv[] */)
-{
- Glib::init();
-
- // the usual Glib::Main object
- mainloop = Glib::MainLoop::create();
-
- if(access("testfifo", F_OK) == -1)
- {
- // fifo doesn't exit - create it
- if (mkfifo("testfifo", 0666) != 0)
- {
- std::cerr << "error creating fifo" << std::endl;
- return -1;
- }
- }
-
- int read_fd = open("testfifo", O_RDONLY);
- if(read_fd == -1)
- {
- std::cerr << "error opening fifo" << std::endl;
- return -1;
- }
-
- input_stream.attach(read_fd);
- input_stream.connect(sigc::ptr_fun(MyCallback), Glib::IO_IN);
-
- // and last but not least - run the application main loop
- mainloop->run();
-
- // now remove the temporary fifo
- if(unlink("testfifo"))
- std::cerr << "error removing fifo" << std::endl;
-
- return 0;
-}
diff --git a/libs/glibmm2/examples/markup/parser.cc b/libs/glibmm2/examples/markup/parser.cc
deleted file mode 100644
index c9286f6c0b..0000000000
--- a/libs/glibmm2/examples/markup/parser.cc
+++ /dev/null
@@ -1,176 +0,0 @@
-/* Copyright (C) 2002 The gtkmm Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#include <glibmm.h>
-#include <iomanip>
-#include <iostream>
-
-
-namespace
-{
-
-#ifndef GLIBMM_EXCEPTIONS_ENABLED
-//This is an alternative, to use when we have disabled exceptions:
-std::auto_ptr<Glib::Error> processing_error;
-#endif //GLIBMM_EXCEPTIONS_ENABLED
-
-void file_get_contents(const std::string& filename, Glib::ustring& contents)
-{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- const Glib::RefPtr<Glib::IOChannel> channel = Glib::IOChannel::create_from_file(filename, "r");
- channel->read_to_end(contents);
- #else
- const Glib::RefPtr<Glib::IOChannel> channel = Glib::IOChannel::create_from_file(filename, "r", processing_error);
- channel->read_to_end(contents, processing_error);
- #endif //GLIBMM_EXCEPTIONS_ENABLED
-}
-
-Glib::ustring trim_whitespace(const Glib::ustring& text)
-{
- Glib::ustring::const_iterator pbegin (text.begin());
- Glib::ustring::const_iterator pend (text.end());
-
- while(pbegin != pend && Glib::Unicode::isspace(*pbegin))
- ++pbegin;
-
- Glib::ustring::const_iterator temp (pend);
-
- while(pbegin != temp && Glib::Unicode::isspace(*--temp))
- pend = temp;
-
- return Glib::ustring(pbegin, pend);
-}
-
-
-class DumpParser : public Glib::Markup::Parser
-{
-public:
- DumpParser();
- virtual ~DumpParser();
-
-protected:
- virtual void on_start_element(Glib::Markup::ParseContext& context,
- const Glib::ustring& element_name,
- const AttributeMap& attributes);
-
- virtual void on_end_element(Glib::Markup::ParseContext& context,
- const Glib::ustring& element_name);
-
- virtual void on_text(Glib::Markup::ParseContext& context, const Glib::ustring& text);
-
-private:
- int parse_depth_;
-
- void indent();
-};
-
-DumpParser::DumpParser()
-:
- parse_depth_ (0)
-{}
-
-DumpParser::~DumpParser()
-{}
-
-void DumpParser::on_start_element(Glib::Markup::ParseContext&,
- const Glib::ustring& element_name,
- const AttributeMap& attributes)
-{
- indent();
- std::cout << '<' << element_name;
-
- for(AttributeMap::const_iterator p = attributes.begin(); p != attributes.end(); ++p)
- {
- std::cout << ' ' << p->first << "=\"" << p->second << '"';
- }
-
- std::cout << ">\n";
-
- ++parse_depth_;
-}
-
-void DumpParser::on_end_element(Glib::Markup::ParseContext&, const Glib::ustring& element_name)
-{
- --parse_depth_;
-
- indent();
- std::cout << "</" << element_name << ">\n";
-}
-
-void DumpParser::on_text(Glib::Markup::ParseContext&, const Glib::ustring& text)
-{
- const Glib::ustring trimmed_text = trim_whitespace(text);
-
- if(!trimmed_text.empty())
- {
- indent();
- std::cout << trimmed_text << '\n';
- }
-}
-
-void DumpParser::indent()
-{
- if(parse_depth_ > 0)
- {
- std::cout << std::setw(4 * parse_depth_)
- /* gcc 2.95.3 doesn't like this: << std::right */
- << ' ';
- }
-}
-
-} // anonymous namespace
-
-
-int main(int argc, char** argv)
-{
- if(argc < 2)
- {
- std::cerr << "Usage: parser filename\n";
- return 1;
- }
-
- DumpParser parser;
- Glib::Markup::ParseContext context (parser);
-
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- Glib::ustring contents;
- file_get_contents(argv[1], contents);
-
- context.parse(contents);
- context.end_parse();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(const Glib::Error& error)
- {
- std::cerr << argv[1] << ": " << error.what() << std::endl;
- return 1;
- }
- #else
- if(processing_error.get())
- {
- std::cerr << argv[1] << ": " << processing_error->what() << std::endl;
- return 1;
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
-
-
- return 0;
-}
-
diff --git a/libs/glibmm2/examples/markup/test.xml b/libs/glibmm2/examples/markup/test.xml
deleted file mode 100644
index 890f08cc37..0000000000
--- a/libs/glibmm2/examples/markup/test.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
-<glade-interface>
-
-<widget class="GtkDialog" id="DialogBasic">
- <property name="title" translatable="yes">basic libglademm example</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_NONE</property>
- <property name="modal">False</property>
- <property name="resizable">True</property>
- <property name="destroy_with_parent">False</property>
- <property name="has_separator">True</property>
-
- <child internal-child="vbox">
- <widget class="GtkVBox" id="dialog-vbox2">
- <property name="border_width">2</property>
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="dialog-action_area2">
- <property name="border_width">5</property>
- <property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
- <property name="spacing">10</property>
-
- <child>
- <widget class="GtkButton" id="quit_button">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-quit</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="response_id">0</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label1">
- <property name="visible">True</property>
- <property name="label" translatable="yes">This is a basic libglademm example</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
-
-</glade-interface>
diff --git a/libs/glibmm2/examples/thread/Makefile.am b/libs/glibmm2/examples/thread/Makefile.am
deleted file mode 100644
index 4360557086..0000000000
--- a/libs/glibmm2/examples/thread/Makefile.am
+++ /dev/null
@@ -1,19 +0,0 @@
-include $(top_srcdir)/examples/Makefile.am_fragment
-
-INCLUDES += $(GTHREAD_CFLAGS)
-
-## Build the executable, but don't install it.
-noinst_PROGRAMS = dispatcher dispatcher2 thread threadpool
-
-dispatcher_SOURCES = dispatcher.cc
-dispatcher_LDFLAGS = $(GTHREAD_LIBS)
-
-dispatcher2_SOURCES = dispatcher2.cc
-dispatcher2_LDFLAGS = $(GTHREAD_LIBS)
-
-thread_SOURCES = thread.cc
-thread_LDFLAGS = $(GTHREAD_LIBS)
-
-threadpool_SOURCES = threadpool.cc
-threadpool_LDFLAGS = $(GTHREAD_LIBS)
-
diff --git a/libs/glibmm2/examples/thread/Makefile.in b/libs/glibmm2/examples/thread/Makefile.in
deleted file mode 100644
index d4b6a2aef7..0000000000
--- a/libs/glibmm2/examples/thread/Makefile.in
+++ /dev/null
@@ -1,523 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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 \
- $(top_srcdir)/examples/Makefile.am_fragment
-noinst_PROGRAMS = dispatcher$(EXEEXT) dispatcher2$(EXEEXT) \
- thread$(EXEEXT) threadpool$(EXEEXT)
-subdir = examples/thread
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-am_dispatcher_OBJECTS = dispatcher.$(OBJEXT)
-dispatcher_OBJECTS = $(am_dispatcher_OBJECTS)
-dispatcher_LDADD = $(LDADD)
-am_dispatcher2_OBJECTS = dispatcher2.$(OBJEXT)
-dispatcher2_OBJECTS = $(am_dispatcher2_OBJECTS)
-dispatcher2_LDADD = $(LDADD)
-am_thread_OBJECTS = thread.$(OBJEXT)
-thread_OBJECTS = $(am_thread_OBJECTS)
-thread_LDADD = $(LDADD)
-am_threadpool_OBJECTS = threadpool.$(OBJEXT)
-threadpool_OBJECTS = $(am_threadpool_OBJECTS)
-threadpool_LDADD = $(LDADD)
-depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
-am__depfiles_maybe = depfiles
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(dispatcher_SOURCES) $(dispatcher2_SOURCES) \
- $(thread_SOURCES) $(threadpool_SOURCES)
-DIST_SOURCES = $(dispatcher_SOURCES) $(dispatcher2_SOURCES) \
- $(thread_SOURCES) $(threadpool_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
-DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
-DLLTOOL = @DLLTOOL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
-GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
-GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
-GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
-LIBOBJS = @LIBOBJS@
-LIBS = $(local_glibmm_lib) $(GLIBMM_LIBS)
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-M4 = @M4@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL_PATH = @PERL_PATH@
-PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-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@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-local_glibmm_lib = $(top_builddir)/glib/glibmm/libglibmm-2.4.la
-all_includes = -I$(top_builddir)/glib -I$(top_srcdir)/glib \
- $(GLIBMM_CFLAGS) $(DISABLE_DEPRECATED_CFLAGS) $(DISABLE_DEPRECATED_API_CFLAGS)
-
-DEFAULT_INCLUDES =
-INCLUDES = -I. -I$(srcdir) $(strip $(all_includes)) $(GTHREAD_CFLAGS)
-glibmm_docdir = $(datadir)/doc/glibmm-2.4
-dispatcher_SOURCES = dispatcher.cc
-dispatcher_LDFLAGS = $(GTHREAD_LIBS)
-dispatcher2_SOURCES = dispatcher2.cc
-dispatcher2_LDFLAGS = $(GTHREAD_LIBS)
-thread_SOURCES = thread.cc
-thread_LDFLAGS = $(GTHREAD_LIBS)
-threadpool_SOURCES = threadpool.cc
-threadpool_LDFLAGS = $(GTHREAD_LIBS)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cc .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/examples/Makefile.am_fragment $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/thread/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/thread/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
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-dispatcher$(EXEEXT): $(dispatcher_OBJECTS) $(dispatcher_DEPENDENCIES)
- @rm -f dispatcher$(EXEEXT)
- $(CXXLINK) $(dispatcher_LDFLAGS) $(dispatcher_OBJECTS) $(dispatcher_LDADD) $(LIBS)
-dispatcher2$(EXEEXT): $(dispatcher2_OBJECTS) $(dispatcher2_DEPENDENCIES)
- @rm -f dispatcher2$(EXEEXT)
- $(CXXLINK) $(dispatcher2_LDFLAGS) $(dispatcher2_OBJECTS) $(dispatcher2_LDADD) $(LIBS)
-thread$(EXEEXT): $(thread_OBJECTS) $(thread_DEPENDENCIES)
- @rm -f thread$(EXEEXT)
- $(CXXLINK) $(thread_LDFLAGS) $(thread_OBJECTS) $(thread_LDADD) $(LIBS)
-threadpool$(EXEEXT): $(threadpool_OBJECTS) $(threadpool_DEPENDENCIES)
- @rm -f threadpool$(EXEEXT)
- $(CXXLINK) $(threadpool_LDFLAGS) $(threadpool_OBJECTS) $(threadpool_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dispatcher.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dispatcher2.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/thread.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threadpool.Po@am__quote@
-
-.cc.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cc.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- 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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- 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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/../../examples
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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 $(PROGRAMS)
-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:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-noinstPROGRAMS \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am: install-data-local
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am uninstall-local
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile 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-data-local install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am uninstall-local
-
-
-install-example-src:
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(glibmm_docdir)/$(subdir)
- for p in $(srcdir)/*.cc $(srcdir)/*.h; do \
- if test -f $$p; then \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(INSTALL_DATA) $$p $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f"; \
- $(INSTALL_DATA) $$p $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f; \
- fi; \
- done
-
-uninstall-example-src:
- @$(NORMAL_UNINSTALL)
- for p in $(srcdir)/*.cc $(srcdir)/*.h; do \
- if test -f $$p; then \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " rm -f $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f"; \
- rm -f $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f; \
- fi; \
- done
-
-install-data-local: install-example-src
-
-uninstall-local: uninstall-example-src
-
-.PHONY: install-example-src uninstall-example-src
-# 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:
diff --git a/libs/glibmm2/examples/thread/dispatcher.cc b/libs/glibmm2/examples/thread/dispatcher.cc
deleted file mode 100644
index ca74d05db9..0000000000
--- a/libs/glibmm2/examples/thread/dispatcher.cc
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * Glib::Dispatcher example -- cross thread signalling
- * by Daniel Elstner <daniel.elstner@gmx.net>
- *
- * modified to only use glibmm
- * by J. Abelardo Gutierrez <jabelardo@cantv.net>
- *
- * Copyright (c) 2002-2003 Free Software Foundation
- */
-
-#include <glibmm.h>
-
-#include <algorithm>
-#include <functional>
-#include <iostream>
-#include <list>
-#include <memory>
-
-
-namespace
-{
-
-class ThreadProgress : public sigc::trackable
-{
-public:
- explicit ThreadProgress(int id);
- virtual ~ThreadProgress();
-
- void launch();
- void join();
-
- sigc::signal<void>& signal_finished();
- int id() const;
-
- virtual void reference() const { ++ref_count_; }
- virtual void unreference() const { if (!(--ref_count_)) delete this; }
-
-private:
- Glib::Thread* thread_;
- int id_;
- unsigned int progress_;
- Glib::Dispatcher signal_increment_;
- sigc::signal<void> signal_finished_;
-
- void progress_increment();
- void thread_function();
-
- mutable int ref_count_;
-
-};
-
-class Application : public sigc::trackable
-{
-public:
- Application();
- virtual ~Application();
-
- void launch_threads();
- void run();
-
-private:
- Glib::RefPtr<Glib::MainLoop> main_loop_;
- std::list<ThreadProgress*> progress_list_;
- std::list<Glib::RefPtr<ThreadProgress> > progress_ref_list_;
-
- void on_progress_finished(ThreadProgress* thread_progress);
-};
-
-
-ThreadProgress::ThreadProgress(int id)
-:
- thread_ (0),
- id_ (id),
- progress_ (0),
- ref_count_(0)
-{
- // Increment the reference count
- reference();
- // Connect to the cross-thread signal.
- signal_increment_.connect(sigc::mem_fun(*this, &ThreadProgress::progress_increment));
-}
-
-ThreadProgress::~ThreadProgress()
-{}
-
-void ThreadProgress::launch()
-{
- // Create a joinable thread.
- thread_ = Glib::Thread::create(sigc::mem_fun(*this, &ThreadProgress::thread_function), true);
-}
-
-void ThreadProgress::join()
-{
- thread_->join();
-}
-
-sigc::signal<void>& ThreadProgress::signal_finished()
-{
- return signal_finished_;
-}
-
-int ThreadProgress::id() const
-{
- return id_;
-}
-
-void ThreadProgress::progress_increment()
-{
- // Use an integer because floating point arithmetic is inaccurate --
- // we want to finish *exactly* after the 100th increment.
- ++progress_;
-
- std::cout << "Thread " << id_ << ": " << progress_ << '%' << std::endl;
-
- if(progress_ >= 100)
- signal_finished_();
-}
-
-void ThreadProgress::thread_function()
-{
- Glib::Rand rand;
- int usecs = 5000;
-
- for(int i = 0; i < 100; ++i)
- {
- usecs = rand.get_int_range(std::max(0, usecs - 1000 - i), std::min(20000, usecs + 1000 + i));
- Glib::usleep(usecs);
-
- // Tell the main thread to increment the progress value.
- signal_increment_();
- }
-}
-
-Application::Application()
-:
- main_loop_ (Glib::MainLoop::create())
-{
- std::cout << "Thread Dispatcher Example." << std::endl;
-
- for(int i = 1; i <= 5; ++i)
- {
- ThreadProgress* progress=new ThreadProgress(i);
- progress_list_.push_back(progress);
- progress_ref_list_.push_back(Glib::RefPtr<ThreadProgress>(progress));
-
- progress->signal_finished().connect(
- sigc::bind<1>(sigc::mem_fun(*this, &Application::on_progress_finished), progress));
- }
-}
-
-Application::~Application()
-{
-}
-
-void Application::launch_threads()
-{
- std::for_each(progress_list_.begin(), progress_list_.end(),
- std::mem_fun(&ThreadProgress::launch));
-}
-
-void Application::run()
-{
- main_loop_->run();
-}
-
-void Application::on_progress_finished(ThreadProgress* thread_progress)
-{
- {
- progress_list_.remove(thread_progress);
- thread_progress->join();
-
- std::cout << "Thread " << thread_progress->id()
- << ": finished." << std::endl;
- }
-
- if(progress_list_.empty())
- main_loop_->quit();
-}
-
-} // anonymous namespace
-
-
-int main(int, char**)
-{
- Glib::thread_init();
-
- Application application;
-
- // Install a one-shot idle handler to launch the threads
- Glib::signal_idle().connect(
- sigc::bind_return(sigc::mem_fun(application, &Application::launch_threads), false));
-
- application.run();
-
- return 0;
-}
-
diff --git a/libs/glibmm2/examples/thread/dispatcher2.cc b/libs/glibmm2/examples/thread/dispatcher2.cc
deleted file mode 100644
index fd7379e39c..0000000000
--- a/libs/glibmm2/examples/thread/dispatcher2.cc
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * original Glib::Dispatcher example -- cross thread signalling
- * by Daniel Elstner <daniel.elstner@gmx.net>
- *
- * Modified by Stephan Puchegger <stephan.puchegger@ap.univie.ac.at>
- * to contain 2 mainloops in 2 different threads, that communicate
- * via cross thread signalling in both directions. The timer thread
- * sends the UI thread a cross thread signal every second, which in turn
- * updates the label stating how many seconds have passed since the start
- * of the program.
- *
- * Modified by J. Abelardo Gutierrez <jabelardo@cantv.net>
- * to cast all gtkmm out and make it glimm only
- *
- * Note: This example is special stuff that's seldomly needed by the
- * vast majority of applications. Don't bother working out what this
- * code does unless you know for sure you need 2 main loops running in
- * 2 distinct main contexts.
- *
- * Copyright (c) 2002-2003 Free Software Foundation
- */
-
-#include <glibmm.h>
-#include <sstream>
-#include <iostream>
-
-
-namespace
-{
-Glib::RefPtr<Glib::MainLoop> main_loop;
-
-class ThreadTimer : public sigc::trackable
-{
-public:
- ThreadTimer();
- ~ThreadTimer();
-
- void launch();
- void signal_finished_emit();
- void print() const;
-
- typedef sigc::signal<void> type_signal_end;
- static type_signal_end& signal_end();
-
-private:
- unsigned int time_;
- Glib::Dispatcher signal_increment_;
- Glib::Dispatcher* signal_finished_ptr_;
-
- Glib::Mutex startup_mutex_;
- Glib::Cond startup_cond_;
- Glib::Thread* thread_;
-
- static type_signal_end signal_end_;
-
- void timer_increment();
- bool timeout_handler();
- static void finished_handler(Glib::RefPtr<Glib::MainLoop> mainloop);
- void thread_function();
-};
-
-//TODO: Rename to avoid confusion with Glib::Dispatcher. murrayc
-class Dispatcher : public sigc::trackable
-{
-public:
- Dispatcher();
-
- void launch_thread();
- void end();
-
-private:
- ThreadTimer* timer_;
-};
-
-ThreadTimer::ThreadTimer()
-:
- time_ (0),
- // Create a new dispatcher that is attached to the default main context,
- signal_increment_ (),
- // This pointer will be initialized later by the 2nd thread.
- signal_finished_ptr_ (NULL)
-{
- // Connect the cross-thread signal.
- signal_increment_.connect(sigc::mem_fun(*this, &ThreadTimer::timer_increment));
-}
-
-ThreadTimer::~ThreadTimer()
-{}
-
-void ThreadTimer::launch()
-{
- // Unfortunately, the thread creation has to be fully synchronized in
- // order to access the Dispatcher object instantiated by the 2nd thread.
- // So, let's do some kind of hand-shake using a mutex and a condition
- // variable.
- Glib::Mutex::Lock lock (startup_mutex_);
-
- // Create a joinable thread -- it needs to be joined, otherwise it's a memory leak.
- thread_ = Glib::Thread::create(
- sigc::mem_fun(*this, &ThreadTimer::thread_function), true);
-
- // Wait for the 2nd thread's startup notification.
- while(signal_finished_ptr_ == NULL)
- startup_cond_.wait(startup_mutex_);
-}
-
-void ThreadTimer::signal_finished_emit()
-{
- // Cause the 2nd thread's main loop to quit.
- signal_finished_ptr_->emit();
-
- // wait for the thread to join
- if(thread_ != NULL)
- thread_->join();
-
- signal_finished_ptr_ = NULL;
-}
-
-void ThreadTimer::print() const
-{
- std::cout << time_ << " seconds since start" << std::endl;
-}
-
-sigc::signal< void >& ThreadTimer::signal_end()
-{
- return signal_end_;
-}
-
-void ThreadTimer::timer_increment()
-{
- // another second has passed since the start of the program
- ++time_;
- print();
-
- if(time_ >= 10)
- signal_finished_emit();
-}
-
-// static
-void ThreadTimer::finished_handler(Glib::RefPtr<Glib::MainLoop> mainloop)
-{
- // quit the timer thread mainloop
- mainloop->quit();
- std::cout << "timer thread mainloop finished" << std::endl;
- ThreadTimer::signal_end().emit();
-}
-
-bool ThreadTimer::timeout_handler()
-{
- // inform the printing thread that another second has passed
- signal_increment_();
-
- // this timer should stay alive
- return true;
-}
-
-void ThreadTimer::thread_function()
-{
- // create a new Main Context
- Glib::RefPtr<Glib::MainContext> context = Glib::MainContext::create();
- // create a new Main Loop
- Glib::RefPtr<Glib::MainLoop> mainloop = Glib::MainLoop::create(context, true);
-
- // attach a timeout handler, that is called every second, to the
- // newly created MainContext
- context->signal_timeout().connect(sigc::mem_fun(*this, &ThreadTimer::timeout_handler), 1000);
-
- // We need to lock while creating the Dispatcher instance,
- // in order to ensure memory visibility.
- Glib::Mutex::Lock lock (startup_mutex_);
-
- // create a new dispatcher, that is connected to the newly
- // created MainContext
- Glib::Dispatcher signal_finished (context);
-
- signal_finished.connect(sigc::bind(sigc::ptr_fun(&ThreadTimer::finished_handler), mainloop));
-
- signal_finished_ptr_ = &signal_finished;
-
- // Tell the launcher thread that everything is in place now.
- startup_cond_.signal();
- lock.release();
-
- // start the mainloop
- mainloop->run();
-}
-
-// initialize static member:
-ThreadTimer::type_signal_end ThreadTimer::signal_end_;
-
-Dispatcher::Dispatcher()
-:
- timer_ (NULL)
-{
- std::cout << "Thread Dispatcher Example #2" << std::endl;
-
- timer_ = new ThreadTimer();
- timer_->signal_end().connect(sigc::mem_fun(*this, &Dispatcher::end));
- timer_->print();
-}
-
-void Dispatcher::launch_thread()
-{
- // launch the timer thread
- timer_->launch();
-}
-
-void Dispatcher::end()
-{
- // quit the main mainloop
- main_loop->quit();
-}
-
-} // anonymous namespace
-
-
-int main(int, char**)
-{
- Glib::thread_init();
- main_loop = Glib::MainLoop::create();
-
- Dispatcher dispatcher;
-
- // Install a one-shot idle handler to launch the threads
- Glib::signal_idle().connect(
- sigc::bind_return(sigc::mem_fun(dispatcher, &Dispatcher::launch_thread), false));
-
- main_loop->run();
-
- return 0;
-}
-
diff --git a/libs/glibmm2/examples/thread/thread.cc b/libs/glibmm2/examples/thread/thread.cc
deleted file mode 100644
index d1882069dd..0000000000
--- a/libs/glibmm2/examples/thread/thread.cc
+++ /dev/null
@@ -1,113 +0,0 @@
-
-#include <iostream>
-#include <queue>
-#include <glibmm/random.h>
-#include <glibmm/thread.h>
-#include <glibmm/timer.h>
-
-
-namespace
-{
-
-class MessageQueue : public sigc::trackable
-{
-public:
- MessageQueue();
- ~MessageQueue();
-
- void producer();
- void consumer();
-
-private:
- Glib::Mutex mutex_;
- Glib::Cond cond_push_;
- Glib::Cond cond_pop_;
- std::queue<int> queue_;
-};
-
-
-MessageQueue::MessageQueue()
-{}
-
-MessageQueue::~MessageQueue()
-{}
-
-void MessageQueue::producer()
-{
- Glib::Rand rand (1234);
-
- for(int i = 0; i < 200; ++i)
- {
- {
- Glib::Mutex::Lock lock (mutex_);
-
- while(queue_.size() >= 64)
- cond_pop_.wait(mutex_);
-
- queue_.push(i);
- std::cout << '*';
- std::cout.flush();
-
- cond_push_.signal();
- }
-
- if(rand.get_bool())
- continue;
-
- Glib::usleep(rand.get_int_range(0, 100000));
- }
-}
-
-void MessageQueue::consumer()
-{
- Glib::Rand rand (4567);
-
- for(;;)
- {
- {
- Glib::Mutex::Lock lock (mutex_);
-
- while(queue_.empty())
- cond_push_.wait(mutex_);
-
- const int i = queue_.front();
- queue_.pop();
- std::cout << "\x08 \x08";
- std::cout.flush();
-
- cond_pop_.signal();
-
- if(i >= 199)
- break;
- }
-
- if(rand.get_bool())
- continue;
-
- Glib::usleep(rand.get_int_range(10000, 200000));
- }
-}
-
-}
-
-
-int main(int, char**)
-{
- Glib::thread_init();
-
- MessageQueue queue;
-
- Glib::Thread *const producer = Glib::Thread::create(
- sigc::mem_fun(queue, &MessageQueue::producer), true);
-
- Glib::Thread *const consumer = Glib::Thread::create(
- sigc::mem_fun(queue, &MessageQueue::consumer), true);
-
- producer->join();
- consumer->join();
-
- std::cout << std::endl;
-
- return 0;
-}
-
diff --git a/libs/glibmm2/examples/thread/threadpool.cc b/libs/glibmm2/examples/thread/threadpool.cc
deleted file mode 100644
index 8b36277d04..0000000000
--- a/libs/glibmm2/examples/thread/threadpool.cc
+++ /dev/null
@@ -1,49 +0,0 @@
-
-#include <iostream>
-#include <glibmm/random.h>
-#include <glibmm/thread.h>
-#include <glibmm/threadpool.h>
-#include <glibmm/timer.h>
-
-
-namespace
-{
-
-Glib::StaticMutex mutex = GLIBMM_STATIC_MUTEX_INIT;
-
-void print_char(char c)
-{
- Glib::Rand rand;
-
- for(int i = 0; i < 100; ++i)
- {
- {
- Glib::Mutex::Lock lock (mutex);
- std::cout << c;
- std::cout.flush();
- }
- Glib::usleep(rand.get_int_range(10000, 100000));
- }
-}
-
-} // anonymous namespace
-
-
-int main(int, char**)
-{
- Glib::thread_init();
-
- Glib::ThreadPool pool (10);
-
- for(char c = 'a'; c <= 'z'; ++c)
- {
- pool.push(sigc::bind<1>(sigc::ptr_fun(&print_char), c));
- }
-
- pool.shutdown();
-
- std::cout << std::endl;
-
- return 0;
-}
-
diff --git a/libs/glibmm2/glib/Makefile b/libs/glibmm2/glib/Makefile
deleted file mode 100644
index 2839f31952..0000000000
--- a/libs/glibmm2/glib/Makefile
+++ /dev/null
@@ -1,609 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# glib/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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.
-
-
-
-
-srcdir = .
-top_srcdir = ..
-
-pkgdatadir = $(datadir)/glibmm
-pkglibdir = $(libdir)/glibmm
-pkgincludedir = $(includedir)/glibmm
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-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 = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-subdir = glib
-DIST_COMMON = README $(glibmm_include_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/glibmm-2.4.pc.in \
- $(srcdir)/glibmmconfig.h.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h glibmmconfig.h
-CONFIG_CLEAN_FILES = glibmm-2.4.pc
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-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 = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(glibmm_configdir)" \
- "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(glibmm_includedir)"
-glibmm_configDATA_INSTALL = $(INSTALL_DATA)
-pkgconfigDATA_INSTALL = $(INSTALL_DATA)
-DATA = $(glibmm_config_DATA) $(pkgconfig_DATA)
-glibmm_includeHEADERS_INSTALL = $(INSTALL_HEADER)
-HEADERS = $(glibmm_include_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run aclocal-1.9 -I ./scripts
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run tar
-AR = ar
-AS = as
-AUTOCONF = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run autoconf
-AUTOHEADER = :
-AUTOMAKE = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS =
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2 -Wall -Wno-long-long
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-DISABLE_DEPRECATED_API_CFLAGS =
-DISABLE_DEPRECATED_CFLAGS =
-DLLTOOL = dlltool
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-GLIBMM_CFLAGS = -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GLIBMM_LIBS = -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
-GLIBMM_MAJOR_VERSION = 2
-GLIBMM_MICRO_VERSION = 3
-GLIBMM_MINOR_VERSION = 13
-GLIBMM_RELEASE = 2.13
-GLIBMM_VERSION = 2.13.3
-GTHREAD_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GTHREAD_LIBS = -pthread -lgthread-2.0 -lrt -lglib-2.0
-GTKMMPROC_MERGECDOCS =
-GTKMM_DOXYGEN_INPUT = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/glib/glibmm/
-GTKMM_FALSE_FALSE =
-GTKMM_FALSE_TRUE = #
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBGLIBMM_SO_VERSION = 1:24:0
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-M4 = m4
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run makeinfo
-OBJDUMP = objdump
-OBJEXT = o
-OS_WIN32_FALSE =
-OS_WIN32_TRUE = #
-PACKAGE = glibmm
-PACKAGE_BUGREPORT =
-PACKAGE_NAME =
-PACKAGE_STRING =
-PACKAGE_TARNAME =
-PACKAGE_VERSION =
-PATH_SEPARATOR = :
-PERL_PATH = /usr/bin/perl
-PKG_CONFIG = /usr/bin/pkg-config
-PLATFORM_WIN32_FALSE =
-PLATFORM_WIN32_TRUE = #
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.13.3
-ac_ct_AR = ar
-ac_ct_AS =
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_DLLTOOL =
-ac_ct_F77 =
-ac_ct_OBJDUMP =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-ac_pt_PKG_CONFIG = /usr/bin/pkg-config
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target_alias =
-SUBDIRS = src glibmm
-EXTRA_DIST = README glibmmconfig.h.in glibmm-2.4.pc.in
-glibmm_includedir = $(includedir)/glibmm-2.4
-glibmm_include_HEADERS = glibmm.h
-glibmm_configdir = $(libdir)/glibmm-2.4/include
-glibmm_config_DATA = glibmmconfig.h
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = glibmm-2.4.pc
-all: glibmmconfig.h
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu glib/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu glib/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: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-glibmmconfig.h: stamp-h2
- @if test ! -f $@; then \
- rm -f stamp-h2; \
- $(MAKE) stamp-h2; \
- else :; fi
-
-stamp-h2: $(srcdir)/glibmmconfig.h.in $(top_builddir)/config.status
- @rm -f stamp-h2
- cd $(top_builddir) && $(SHELL) ./config.status glib/glibmmconfig.h
-$(srcdir)/glibmmconfig.h.in: # $(am__configure_deps)
- cd $(top_srcdir) && $(AUTOHEADER)
- rm -f stamp-h2
- touch $@
-
-distclean-hdr:
- -rm -f glibmmconfig.h stamp-h2
-glibmm-2.4.pc: $(top_builddir)/config.status $(srcdir)/glibmm-2.4.pc.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-glibmm_configDATA: $(glibmm_config_DATA)
- @$(NORMAL_INSTALL)
- test -z "$(glibmm_configdir)" || $(mkdir_p) "$(DESTDIR)$(glibmm_configdir)"
- @list='$(glibmm_config_DATA)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(glibmm_configDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(glibmm_configdir)/$$f'"; \
- $(glibmm_configDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(glibmm_configdir)/$$f"; \
- done
-
-uninstall-glibmm_configDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(glibmm_config_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(glibmm_configdir)/$$f'"; \
- rm -f "$(DESTDIR)$(glibmm_configdir)/$$f"; \
- done
-install-pkgconfigDATA: $(pkgconfig_DATA)
- @$(NORMAL_INSTALL)
- test -z "$(pkgconfigdir)" || $(mkdir_p) "$(DESTDIR)$(pkgconfigdir)"
- @list='$(pkgconfig_DATA)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
- $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
- done
-
-uninstall-pkgconfigDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(pkgconfig_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
- done
-install-glibmm_includeHEADERS: $(glibmm_include_HEADERS)
- @$(NORMAL_INSTALL)
- test -z "$(glibmm_includedir)" || $(mkdir_p) "$(DESTDIR)$(glibmm_includedir)"
- @list='$(glibmm_include_HEADERS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(glibmm_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(glibmm_includedir)/$$f'"; \
- $(glibmm_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(glibmm_includedir)/$$f"; \
- done
-
-uninstall-glibmm_includeHEADERS:
- @$(NORMAL_UNINSTALL)
- @list='$(glibmm_include_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(glibmm_includedir)/$$f'"; \
- rm -f "$(DESTDIR)$(glibmm_includedir)/$$f"; \
- done
-
-# 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):
- @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; \
- (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"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @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; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) glibmmconfig.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- 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 || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) glibmmconfig.h.in $(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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) glibmmconfig.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) glibmmconfig.h.in $(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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && 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)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(DATA) $(HEADERS) glibmmconfig.h
-installdirs: installdirs-recursive
-installdirs-am:
- for dir in "$(DESTDIR)$(glibmm_configdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(glibmm_includedir)"; 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)
-
-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-hdr \
- distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-glibmm_configDATA \
- install-glibmm_includeHEADERS install-pkgconfigDATA
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-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-glibmm_configDATA \
- uninstall-glibmm_includeHEADERS uninstall-info-am \
- uninstall-pkgconfigDATA
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-hdr \
- distclean-libtool distclean-recursive distclean-tags distdir \
- dvi dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-exec install-exec-am \
- install-glibmm_configDATA install-glibmm_includeHEADERS \
- install-info install-info-am install-man install-pkgconfigDATA \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
- tags tags-recursive uninstall uninstall-am \
- uninstall-glibmm_configDATA uninstall-glibmm_includeHEADERS \
- uninstall-info-am uninstall-pkgconfigDATA
-
-# 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:
diff --git a/libs/glibmm2/glib/Makefile.in b/libs/glibmm2/glib/Makefile.in
index 7962637034..8eda5aef52 100644
--- a/libs/glibmm2/glib/Makefile.in
+++ b/libs/glibmm2/glib/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 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.
@@ -15,15 +15,11 @@
@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -42,8 +38,8 @@ DIST_COMMON = README $(glibmm_include_HEADERS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/glibmm-2.4.pc.in \
$(srcdir)/glibmmconfig.h.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/scripts/c_std.m4 \
+ $(top_srcdir)/scripts/cxx.m4 $(top_srcdir)/scripts/cxx_std.m4 \
$(top_srcdir)/scripts/docgen.m4 \
$(top_srcdir)/scripts/glibmm_check_perl.m4 \
$(top_srcdir)/scripts/macros.m4 \
@@ -58,10 +54,11 @@ SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-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/||"`;; \
@@ -75,13 +72,13 @@ pkgconfigDATA_INSTALL = $(INSTALL_DATA)
DATA = $(glibmm_config_DATA) $(pkgconfig_DATA)
glibmm_includeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(glibmm_include_HEADERS)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
@@ -119,12 +116,12 @@ GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
GLIBMM_RELEASE = @GLIBMM_RELEASE@
GLIBMM_VERSION = @GLIBMM_VERSION@
+GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -138,13 +135,10 @@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@
MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -154,27 +148,18 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
+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_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -186,28 +171,39 @@ 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@
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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
SUBDIRS = src glibmm
EXTRA_DIST = README glibmmconfig.h.in glibmm-2.4.pc.in
glibmm_includedir = $(includedir)/glibmm-2.4
@@ -253,7 +249,7 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
glibmmconfig.h: stamp-h2
@if test ! -f $@; then \
rm -f stamp-h2; \
- $(MAKE) stamp-h2; \
+ $(MAKE) $(AM_MAKEFLAGS) stamp-h2; \
else :; fi
stamp-h2: $(srcdir)/glibmmconfig.h.in $(top_builddir)/config.status
@@ -274,13 +270,9 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
install-glibmm_configDATA: $(glibmm_config_DATA)
@$(NORMAL_INSTALL)
- test -z "$(glibmm_configdir)" || $(mkdir_p) "$(DESTDIR)$(glibmm_configdir)"
+ test -z "$(glibmm_configdir)" || $(MKDIR_P) "$(DESTDIR)$(glibmm_configdir)"
@list='$(glibmm_config_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
@@ -297,7 +289,7 @@ uninstall-glibmm_configDATA:
done
install-pkgconfigDATA: $(pkgconfig_DATA)
@$(NORMAL_INSTALL)
- test -z "$(pkgconfigdir)" || $(mkdir_p) "$(DESTDIR)$(pkgconfigdir)"
+ test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
@list='$(pkgconfig_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
@@ -314,7 +306,7 @@ uninstall-pkgconfigDATA:
done
install-glibmm_includeHEADERS: $(glibmm_include_HEADERS)
@$(NORMAL_INSTALL)
- test -z "$(glibmm_includedir)" || $(mkdir_p) "$(DESTDIR)$(glibmm_includedir)"
+ test -z "$(glibmm_includedir)" || $(MKDIR_P) "$(DESTDIR)$(glibmm_includedir)"
@list='$(glibmm_include_HEADERS)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
@@ -361,8 +353,7 @@ $(RECURSIVE_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
+$(RECURSIVE_CLEAN_TARGETS):
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
@@ -463,22 +454,21 @@ 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)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @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; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -492,7 +482,7 @@ distdir: $(DISTFILES)
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
@@ -500,6 +490,8 @@ distdir: $(DISTFILES)
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
@@ -510,7 +502,7 @@ all-am: Makefile $(DATA) $(HEADERS) glibmmconfig.h
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(glibmm_configdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(glibmm_includedir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
install-exec: install-exec-recursive
@@ -542,8 +534,7 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-hdr \
- distclean-libtool distclean-tags
+distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
dvi: dvi-recursive
@@ -558,12 +549,20 @@ info-am:
install-data-am: install-glibmm_configDATA \
install-glibmm_includeHEADERS install-pkgconfigDATA
+install-dvi: install-dvi-recursive
+
install-exec-am:
+install-html: install-html-recursive
+
install-info: install-info-recursive
install-man:
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -583,26 +582,27 @@ ps: ps-recursive
ps-am:
uninstall-am: uninstall-glibmm_configDATA \
- uninstall-glibmm_includeHEADERS uninstall-info-am \
- uninstall-pkgconfigDATA
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-hdr \
- distclean-libtool distclean-recursive distclean-tags distdir \
- dvi dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-exec install-exec-am \
- install-glibmm_configDATA install-glibmm_includeHEADERS \
- install-info install-info-am install-man install-pkgconfigDATA \
+ uninstall-glibmm_includeHEADERS uninstall-pkgconfigDATA
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.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-hdr distclean-libtool distclean-tags 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-glibmm_configDATA \
+ install-glibmm_includeHEADERS install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-pkgconfigDATA install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
installdirs-am maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
- tags tags-recursive uninstall uninstall-am \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-recursive uninstall uninstall-am \
uninstall-glibmm_configDATA uninstall-glibmm_includeHEADERS \
- uninstall-info-am uninstall-pkgconfigDATA
+ uninstall-pkgconfigDATA
# 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.
diff --git a/libs/glibmm2/glib/glibmm-2.4.pc b/libs/glibmm2/glib/glibmm-2.4.pc
index 61cc46ca19..c50ae1e78b 100644
--- a/libs/glibmm2/glib/glibmm-2.4.pc
+++ b/libs/glibmm2/glib/glibmm-2.4.pc
@@ -6,6 +6,6 @@ includedir=${prefix}/include
Name: GLibmm
Description: C++ wrapper for GLib
Requires: gobject-2.0 sigc++-2.0
-Version: 2.13.3
+Version: 2.14.2
Libs: -L${libdir} -lglibmm-2.4
Cflags: -I${includedir}/glibmm-2.4 -I${libdir}/glibmm-2.4/include
diff --git a/libs/glibmm2/glib/glibmm.h b/libs/glibmm2/glib/glibmm.h
index f7bd36512b..af82e057d4 100644
--- a/libs/glibmm2/glib/glibmm.h
+++ b/libs/glibmm2/glib/glibmm.h
@@ -1,4 +1,4 @@
-/* $Id: glibmm.h,v 1.5 2006/09/19 20:36:41 murrayc Exp $ */
+/* $Id: glibmm.h 417 2007-06-12 13:38:39Z murrayc $ */
/* glibmm - a C++ wrapper for the GLib toolkit
*
@@ -54,6 +54,7 @@
#include <glibmm/propertyproxy.h>
#include <glibmm/quark.h>
#include <glibmm/random.h>
+#include <glibmm/regex.h>
#include <glibmm/refptr.h>
#include <glibmm/shell.h>
#include <glibmm/signalproxy_connectionnode.h>
diff --git a/libs/glibmm2/glib/glibmm/.deps/class.Plo b/libs/glibmm2/glib/glibmm/.deps/class.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/class.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/containers.Plo b/libs/glibmm2/glib/glibmm/.deps/containers.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/containers.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/convert.Plo b/libs/glibmm2/glib/glibmm/.deps/convert.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/convert.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/date.Plo b/libs/glibmm2/glib/glibmm/.deps/date.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/date.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/debug.Plo b/libs/glibmm2/glib/glibmm/.deps/debug.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/debug.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/dispatcher.Plo b/libs/glibmm2/glib/glibmm/.deps/dispatcher.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/dispatcher.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/error.Plo b/libs/glibmm2/glib/glibmm/.deps/error.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/error.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/exception.Plo b/libs/glibmm2/glib/glibmm/.deps/exception.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/exception.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/exceptionhandler.Plo b/libs/glibmm2/glib/glibmm/.deps/exceptionhandler.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/exceptionhandler.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/fileutils.Plo b/libs/glibmm2/glib/glibmm/.deps/fileutils.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/fileutils.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/init.Plo b/libs/glibmm2/glib/glibmm/.deps/init.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/init.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/interface.Plo b/libs/glibmm2/glib/glibmm/.deps/interface.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/interface.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/iochannel.Plo b/libs/glibmm2/glib/glibmm/.deps/iochannel.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/iochannel.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/keyfile.Plo b/libs/glibmm2/glib/glibmm/.deps/keyfile.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/keyfile.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/main.Plo b/libs/glibmm2/glib/glibmm/.deps/main.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/main.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/markup.Plo b/libs/glibmm2/glib/glibmm/.deps/markup.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/markup.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/miscutils.Plo b/libs/glibmm2/glib/glibmm/.deps/miscutils.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/miscutils.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/module.Plo b/libs/glibmm2/glib/glibmm/.deps/module.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/module.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/object.Plo b/libs/glibmm2/glib/glibmm/.deps/object.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/object.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/objectbase.Plo b/libs/glibmm2/glib/glibmm/.deps/objectbase.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/objectbase.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/optioncontext.Plo b/libs/glibmm2/glib/glibmm/.deps/optioncontext.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/optioncontext.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/optionentry.Plo b/libs/glibmm2/glib/glibmm/.deps/optionentry.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/optionentry.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/optiongroup.Plo b/libs/glibmm2/glib/glibmm/.deps/optiongroup.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/optiongroup.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/pattern.Plo b/libs/glibmm2/glib/glibmm/.deps/pattern.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/pattern.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/property.Plo b/libs/glibmm2/glib/glibmm/.deps/property.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/property.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/propertyproxy.Plo b/libs/glibmm2/glib/glibmm/.deps/propertyproxy.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/propertyproxy.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/propertyproxy_base.Plo b/libs/glibmm2/glib/glibmm/.deps/propertyproxy_base.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/propertyproxy_base.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/quark.Plo b/libs/glibmm2/glib/glibmm/.deps/quark.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/quark.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/random.Plo b/libs/glibmm2/glib/glibmm/.deps/random.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/random.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/shell.Plo b/libs/glibmm2/glib/glibmm/.deps/shell.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/shell.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/signalproxy.Plo b/libs/glibmm2/glib/glibmm/.deps/signalproxy.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/signalproxy.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/signalproxy_connectionnode.Plo b/libs/glibmm2/glib/glibmm/.deps/signalproxy_connectionnode.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/signalproxy_connectionnode.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/spawn.Plo b/libs/glibmm2/glib/glibmm/.deps/spawn.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/spawn.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/streamiochannel.Plo b/libs/glibmm2/glib/glibmm/.deps/streamiochannel.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/streamiochannel.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/stringutils.Plo b/libs/glibmm2/glib/glibmm/.deps/stringutils.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/stringutils.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/thread.Plo b/libs/glibmm2/glib/glibmm/.deps/thread.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/thread.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/threadpool.Plo b/libs/glibmm2/glib/glibmm/.deps/threadpool.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/threadpool.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/timer.Plo b/libs/glibmm2/glib/glibmm/.deps/timer.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/timer.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/timeval.Plo b/libs/glibmm2/glib/glibmm/.deps/timeval.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/timeval.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/unicode.Plo b/libs/glibmm2/glib/glibmm/.deps/unicode.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/unicode.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/ustring.Plo b/libs/glibmm2/glib/glibmm/.deps/ustring.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/ustring.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/utility.Plo b/libs/glibmm2/glib/glibmm/.deps/utility.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/utility.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/value.Plo b/libs/glibmm2/glib/glibmm/.deps/value.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/value.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/value_basictypes.Plo b/libs/glibmm2/glib/glibmm/.deps/value_basictypes.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/value_basictypes.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/value_custom.Plo b/libs/glibmm2/glib/glibmm/.deps/value_custom.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/value_custom.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/wrap.Plo b/libs/glibmm2/glib/glibmm/.deps/wrap.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/wrap.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/.deps/wrap_init.Plo b/libs/glibmm2/glib/glibmm/.deps/wrap_init.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/glib/glibmm/.deps/wrap_init.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/glib/glibmm/Makefile b/libs/glibmm2/glib/glibmm/Makefile
deleted file mode 100644
index 99bc990a73..0000000000
--- a/libs/glibmm2/glib/glibmm/Makefile
+++ /dev/null
@@ -1,908 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# glib/glibmm/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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.
-
-
-
-
-srcdir = .
-top_srcdir = ../..
-
-pkgdatadir = $(datadir)/glibmm
-pkglibdir = $(libdir)/glibmm
-pkgincludedir = $(includedir)/glibmm
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-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 = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-DIST_COMMON = $(am__sublib_include_HEADERS_DIST) \
- $(srcdir)/../src/Makefile_list_of_hg.am_fragment \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/build_shared/Makefile_build.am_fragment \
- $(top_srcdir)/build_shared/Makefile_build_extra.am_fragment \
- $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment \
- $(top_srcdir)/build_shared/Makefile_gensrc_platform.am_fragment
-subdir = glib/glibmm
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
-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 = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(libdir)" \
- "$(DESTDIR)$(sublib_includedir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(lib_LTLIBRARIES)
-am__DEPENDENCIES_1 =
-libglibmm_2_4_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am__libglibmm_2_4_la_SOURCES_DIST = convert.cc date.cc fileutils.cc \
- iochannel.cc keyfile.cc markup.cc module.cc optioncontext.cc \
- optionentry.cc optiongroup.cc shell.cc spawn.cc thread.cc \
- unicode.cc wrap_init.cc value_basictypes.cc class.cc \
- containers.cc debug.cc dispatcher.cc error.cc exception.cc \
- exceptionhandler.cc init.cc interface.cc main.cc miscutils.cc \
- object.cc objectbase.cc pattern.cc property.cc \
- propertyproxy.cc propertyproxy_base.cc quark.cc random.cc \
- signalproxy.cc signalproxy_connectionnode.cc \
- streamiochannel.cc stringutils.cc threadpool.cc timer.cc \
- timeval.cc ustring.cc utility.cc value.cc value_custom.cc \
- wrap.cc
-am__objects_1 = convert.lo date.lo fileutils.lo iochannel.lo \
- keyfile.lo markup.lo module.lo optioncontext.lo optionentry.lo \
- optiongroup.lo shell.lo spawn.lo thread.lo unicode.lo
-am__objects_2 = $(am__objects_1) wrap_init.lo value_basictypes.lo
-am__objects_3 = class.lo containers.lo debug.lo dispatcher.lo error.lo \
- exception.lo exceptionhandler.lo init.lo interface.lo main.lo \
- miscutils.lo object.lo objectbase.lo pattern.lo property.lo \
- propertyproxy.lo propertyproxy_base.lo quark.lo random.lo \
- signalproxy.lo signalproxy_connectionnode.lo \
- streamiochannel.lo stringutils.lo threadpool.lo timer.lo \
- timeval.lo ustring.lo utility.lo value.lo value_custom.lo \
- wrap.lo
-am__objects_4 =
-am__objects_5 = $(am__objects_3) $(am__objects_4)
-#am__objects_5 = $(am__objects_3) $(am__objects_4)
-am__objects_6 = $(am__objects_5)
-am__objects_7 = $(am__objects_2) $(am__objects_6)
-am__objects_8 = $(am__objects_4)
-am__objects_9 = $(am__objects_8)
-am_libglibmm_2_4_la_OBJECTS = $(am__objects_7) \
- $(am__objects_9)
-#am_libglibmm_2_4_la_OBJECTS = $(am__objects_7) \
-# $(am__objects_9)
-libglibmm_2_4_la_OBJECTS = $(am_libglibmm_2_4_la_OBJECTS)
-depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
-am__depfiles_maybe = depfiles
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libglibmm_2_4_la_SOURCES)
-DIST_SOURCES = $(am__libglibmm_2_4_la_SOURCES_DIST)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-am__sublib_include_HEADERS_DIST = convert.h date.h fileutils.h \
- iochannel.h keyfile.h markup.h module.h optioncontext.h \
- optionentry.h optiongroup.h shell.h spawn.h thread.h unicode.h \
- signalproxy.h value_basictypes.h arrayhandle.h class.h \
- containerhandle_shared.h containers.h debug.h dispatcher.h \
- error.h exception.h exceptionhandler.h helperlist.h init.h \
- i18n.h interface.h listhandle.h main.h miscutils.h object.h \
- objectbase.h pattern.h property.h propertyproxy.h \
- propertyproxy_base.h quark.h random.h refptr.h sarray.h \
- signalproxy_connectionnode.h slisthandle.h streamiochannel.h \
- stringutils.h threadpool.h timer.h timeval.h ustring.h \
- utility.h value.h value_custom.h wrap.h wrap_init.h
-sublib_includeHEADERS_INSTALL = $(INSTALL_HEADER)
-HEADERS = $(sublib_include_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-ACLOCAL = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run aclocal-1.9 -I ./scripts
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run tar
-AR = ar
-AS = as
-AUTOCONF = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run autoconf
-AUTOHEADER = :
-AUTOMAKE = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS =
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2 -Wall -Wno-long-long
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H $(strip $(extra_defines))
-DEPDIR = .deps
-DISABLE_DEPRECATED_API_CFLAGS =
-DISABLE_DEPRECATED_CFLAGS =
-DLLTOOL = dlltool
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-GLIBMM_CFLAGS = -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GLIBMM_LIBS = -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
-GLIBMM_MAJOR_VERSION = 2
-GLIBMM_MICRO_VERSION = 3
-GLIBMM_MINOR_VERSION = 13
-GLIBMM_RELEASE = 2.13
-GLIBMM_VERSION = 2.13.3
-GTHREAD_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GTHREAD_LIBS = -pthread -lgthread-2.0 -lrt -lglib-2.0
-GTKMMPROC_MERGECDOCS =
-GTKMM_DOXYGEN_INPUT = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/glib/glibmm/
-GTKMM_FALSE_FALSE =
-GTKMM_FALSE_TRUE = #
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBGLIBMM_SO_VERSION = 1:24:0
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-M4 = m4
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run makeinfo
-OBJDUMP = objdump
-OBJEXT = o
-OS_WIN32_FALSE =
-OS_WIN32_TRUE = #
-PACKAGE = glibmm
-PACKAGE_BUGREPORT =
-PACKAGE_NAME =
-PACKAGE_STRING =
-PACKAGE_TARNAME =
-PACKAGE_VERSION =
-PATH_SEPARATOR = :
-PERL_PATH = /usr/bin/perl
-PKG_CONFIG = /usr/bin/pkg-config
-PLATFORM_WIN32_FALSE =
-PLATFORM_WIN32_TRUE = #
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.13.3
-ac_ct_AR = ar
-ac_ct_AS =
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_DLLTOOL =
-ac_ct_F77 =
-ac_ct_OBJDUMP =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-ac_pt_PKG_CONFIG = /usr/bin/pkg-config
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target_alias =
-SUBDIRS = private
-sublib_name = glibmm
-sublib_libname = glibmm-2.4
-sublib_namespace = Glib
-sublib_cflags = $(GLIBMM_CFLAGS)
-sublib_files_extra_posix_cc =
-sublib_files_extra_win32_cc =
-sublib_files_extra_general_cc = \
- class.cc \
- containers.cc \
- debug.cc \
- dispatcher.cc \
- error.cc \
- exception.cc \
- exceptionhandler.cc \
- init.cc \
- interface.cc \
- main.cc \
- miscutils.cc \
- object.cc \
- objectbase.cc \
- pattern.cc \
- property.cc \
- propertyproxy.cc \
- propertyproxy_base.cc \
- quark.cc \
- random.cc \
- signalproxy.cc \
- signalproxy_connectionnode.cc \
- streamiochannel.cc \
- stringutils.cc \
- threadpool.cc \
- timer.cc \
- timeval.cc \
- ustring.cc \
- utility.cc \
- value.cc \
- value_custom.cc \
- wrap.cc
-
-sublib_files_extra_posix_h =
-sublib_files_extra_win32_h =
-sublib_files_extra_general_h = \
- arrayhandle.h \
- class.h \
- containerhandle_shared.h \
- containers.h \
- debug.h \
- dispatcher.h \
- error.h \
- exception.h \
- exceptionhandler.h \
- helperlist.h \
- init.h \
- i18n.h \
- interface.h \
- iochannel.h \
- keyfile.h \
- listhandle.h \
- main.h \
- miscutils.h \
- object.h \
- objectbase.h \
- pattern.h \
- property.h \
- propertyproxy.h \
- propertyproxy_base.h \
- quark.h \
- random.h \
- refptr.h \
- sarray.h \
- signalproxy_connectionnode.h \
- slisthandle.h \
- streamiochannel.h \
- stringutils.h \
- threadpool.h \
- timer.h \
- timeval.h \
- ustring.h \
- utility.h \
- value.h \
- value_custom.h \
- wrap.h
-
-files_posix_hg =
-files_win32_hg =
-files_general_hg = convert.hg date.hg fileutils.hg iochannel.hg keyfile.hg markup.hg module.hg optioncontext.hg optionentry.hg optiongroup.hg shell.hg spawn.hg thread.hg unicode.hg
-files_all_hg = $(files_general_hg) $(files_posix_hg) $(files_win32_hg)
-files_hg = $(files_general_hg) $(files_posix_hg)
-#files_hg = $(files_general_hg) $(files_win32_hg)
-files_built_general_cc = $(files_general_hg:.hg=.cc) wrap_init.cc \
- value_basictypes.cc
-files_built_general_h = $(files_general_hg:.hg=.h) signalproxy.h \
- value_basictypes.h
-files_built_posix_cc = $(files_posix_hg:.hg=.cc)
-files_built_posix_h = $(files_posix_hg:.hg=.h)
-files_built_win32_cc = $(files_win32_hg:.hg=.cc)
-files_built_win32_h = $(files_win32_hg:.hg=.h)
-files_built_all_cc = $(files_built_general_cc) \
- $(files_built_posix_cc) \
- $(files_built_win32_cc)
-
-files_built_all_h = $(files_built_general_h) \
- $(files_built_posix_h) \
- $(files_built_win32_h)
-
-files_extra_cc_tmp = $(sublib_files_extra_general_cc) $(sublib_files_extra_posix_cc)
-#files_extra_cc_tmp = $(sublib_files_extra_general_cc) $(sublib_files_extra_win32_cc)
-files_extra_h_tmp = $(sublib_files_extra_general_h) $(sublib_files_extra_posix_h)
-#files_extra_h_tmp = $(sublib_files_extra_general_h) $(sublib_files_extra_win32_h)
-files_extra_cc = $(files_extra_cc_tmp)
-files_extra_h = $(files_extra_h_tmp) wrap_init.h
-files_extra_all_cc = $(sublib_files_extra_general_cc) $(sublib_files_extra_posix_cc) $(sublib_files_extra_win32_cc)
-files_extra_all_h = $(sublib_files_extra_general_h) \
- $(sublib_files_extra_posix_h) $(sublib_files_extra_win32_h) \
- wrap_init.h
-files_all_general_cc = $(files_built_general_cc) $(files_extra_cc)
-files_all_posix_cc = $(files_built_posix_cc)
-files_all_win32_cc = $(files_built_win32_cc)
-extra_win32_defines =
-
-# Support for DLL on mingw using libtool > 1.4
-# When creating DLLs on win32, we need to explicitly add a few extra
-# libraries at link time to resolve symbols (remember a dll is like an
-# executable).
-#extra_win32_defines = \
-# -D$(shell echo $(sublib_name) | tr [:lower:] [:upper:])_BUILD
-
-no_undefined =
-#no_undefined = -no-undefined -Wl,--export-all-symbols
-win32_dlls_extra_libs =
-#win32_dlls_extra_libs = $(sublib_win32_dlls_libs)
-common_ldflags = -version-info $(LIBGLIBMM_SO_VERSION) $(no_undefined)
-all_includes = -I$(top_builddir)/glib -I$(top_srcdir)/glib \
- $(sublib_cflags) $(GTHREAD_CFLAGS)
-
-extra_defines = -DG_LOG_DOMAIN=\"$(sublib_name)\" $(extra_win32_defines) \
- $(DISABLE_DEPRECATED_CFLAGS) $(DISABLE_DEPRECATED_API_CFLAGS)
-
-dist_sources = $(files_built_all_cc) $(files_extra_all_cc) \
- $(files_built_all_h) $(files_extra_all_h)
-
-DISTFILES = $(DIST_COMMON) $(dist_sources) $(TEXINFOS) $(EXTRA_DIST)
-DEFAULT_INCLUDES =
-INCLUDES = $(strip $(all_includes))
-sublib_includedir = $(includedir)/$(sublib_libname)/$(sublib_name)
-sublib_include_HEADERS = $(files_built_general_h) \
- $(files_built_posix_h) \
- $(files_extra_h)
-
-#sublib_include_HEADERS = $(files_built_general_h) \
-# $(files_built_win32_h) \
-# $(files_extra_h)
-
-lib_LTLIBRARIES = libglibmm-2.4.la
-libglibmm_2_4_la_SOURCES = $(files_all_general_cc) $(files_all_posix_cc)
-#libglibmm_2_4_la_SOURCES = $(files_all_general_cc) $(files_all_win32_cc)
-libglibmm_2_4_la_LDFLAGS = $(common_ldflags)
-libglibmm_2_4_la_LIBADD = $(GLIBMM_LIBS)
-all: all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .cc .lo .o .obj
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment $(srcdir)/../src/Makefile_list_of_hg.am_fragment $(top_srcdir)/build_shared/Makefile_gensrc_platform.am_fragment $(top_srcdir)/build_shared/Makefile_build_extra.am_fragment $(top_srcdir)/build_shared/Makefile_build.am_fragment $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu glib/glibmm/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu glib/glibmm/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: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
- else :; fi; \
- done
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
- $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libglibmm-2.4.la: $(libglibmm_2_4_la_OBJECTS) $(libglibmm_2_4_la_DEPENDENCIES)
- $(CXXLINK) -rpath $(libdir) $(libglibmm_2_4_la_LDFLAGS) $(libglibmm_2_4_la_OBJECTS) $(libglibmm_2_4_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-include ./$(DEPDIR)/class.Plo
-include ./$(DEPDIR)/containers.Plo
-include ./$(DEPDIR)/convert.Plo
-include ./$(DEPDIR)/date.Plo
-include ./$(DEPDIR)/debug.Plo
-include ./$(DEPDIR)/dispatcher.Plo
-include ./$(DEPDIR)/error.Plo
-include ./$(DEPDIR)/exception.Plo
-include ./$(DEPDIR)/exceptionhandler.Plo
-include ./$(DEPDIR)/fileutils.Plo
-include ./$(DEPDIR)/init.Plo
-include ./$(DEPDIR)/interface.Plo
-include ./$(DEPDIR)/iochannel.Plo
-include ./$(DEPDIR)/keyfile.Plo
-include ./$(DEPDIR)/main.Plo
-include ./$(DEPDIR)/markup.Plo
-include ./$(DEPDIR)/miscutils.Plo
-include ./$(DEPDIR)/module.Plo
-include ./$(DEPDIR)/object.Plo
-include ./$(DEPDIR)/objectbase.Plo
-include ./$(DEPDIR)/optioncontext.Plo
-include ./$(DEPDIR)/optionentry.Plo
-include ./$(DEPDIR)/optiongroup.Plo
-include ./$(DEPDIR)/pattern.Plo
-include ./$(DEPDIR)/property.Plo
-include ./$(DEPDIR)/propertyproxy.Plo
-include ./$(DEPDIR)/propertyproxy_base.Plo
-include ./$(DEPDIR)/quark.Plo
-include ./$(DEPDIR)/random.Plo
-include ./$(DEPDIR)/shell.Plo
-include ./$(DEPDIR)/signalproxy.Plo
-include ./$(DEPDIR)/signalproxy_connectionnode.Plo
-include ./$(DEPDIR)/spawn.Plo
-include ./$(DEPDIR)/streamiochannel.Plo
-include ./$(DEPDIR)/stringutils.Plo
-include ./$(DEPDIR)/thread.Plo
-include ./$(DEPDIR)/threadpool.Plo
-include ./$(DEPDIR)/timer.Plo
-include ./$(DEPDIR)/timeval.Plo
-include ./$(DEPDIR)/unicode.Plo
-include ./$(DEPDIR)/ustring.Plo
-include ./$(DEPDIR)/utility.Plo
-include ./$(DEPDIR)/value.Plo
-include ./$(DEPDIR)/value_basictypes.Plo
-include ./$(DEPDIR)/value_custom.Plo
-include ./$(DEPDIR)/wrap.Plo
-include ./$(DEPDIR)/wrap_init.Plo
-
-.cc.o:
- if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-# source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
-# $(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
- if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-# source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
-# $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cc.lo:
- if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-# source='$<' object='$@' libtool=yes \
-# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
-# $(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-sublib_includeHEADERS: $(sublib_include_HEADERS)
- @$(NORMAL_INSTALL)
- test -z "$(sublib_includedir)" || $(mkdir_p) "$(DESTDIR)$(sublib_includedir)"
- @list='$(sublib_include_HEADERS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(sublib_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(sublib_includedir)/$$f'"; \
- $(sublib_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(sublib_includedir)/$$f"; \
- done
-
-uninstall-sublib_includeHEADERS:
- @$(NORMAL_UNINSTALL)
- @list='$(sublib_include_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(sublib_includedir)/$$f'"; \
- rm -f "$(DESTDIR)$(sublib_includedir)/$$f"; \
- done
-
-# 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):
- @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; \
- (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"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @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; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- 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 || \
- tags="$$tags $$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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- 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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/../../build_shared $(distdir)/../src
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(LTLIBRARIES) $(HEADERS)
-installdirs: installdirs-recursive
-installdirs-am:
- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(sublib_includedir)"; 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)
-
-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-libLTLIBRARIES clean-libtool \
- mostlyclean-am
-
-distclean: distclean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-sublib_includeHEADERS
-
-install-exec-am: install-libLTLIBRARIES
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic \
- maintainer-clean-local
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \
- uninstall-sublib_includeHEADERS
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libLTLIBRARIES clean-libtool \
- clean-recursive ctags ctags-recursive distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-libLTLIBRARIES install-man \
- install-strip install-sublib_includeHEADERS installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic maintainer-clean-local \
- maintainer-clean-recursive mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
- pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
- uninstall-info-am uninstall-libLTLIBRARIES \
- uninstall-sublib_includeHEADERS
-
-
-maintainer-clean-local:
- (cd $(srcdir) && rm -f $(files_built_all_cc) $(files_built_all_h))
-
-cvsignore:
- ( \
- echo ".deps"; \
- echo ".libs"; \
- echo "*.la"; \
- echo "*.lo"; \
- echo "Makefile"; \
- echo "Makefile.in"; \
- echo; \
- list='$(strip $(files_built_all_cc) $(files_built_all_h))'; \
- for file in $$list; do \
- echo "$$file"; \
- done \
- ) >$(srcdir)/.cvsignore
- ( \
- echo "Makefile"; \
- echo "Makefile.in"; \
- echo; \
- list='$(strip $(files_all_hg:.hg=_p.h))'; \
- for file in $$list; do \
- echo "$$file"; \
- done \
- ) >$(srcdir)/private/.cvsignore
-
-.PHONY: cvsignore
-# 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:
diff --git a/libs/glibmm2/glib/glibmm/Makefile.in b/libs/glibmm2/glib/glibmm/Makefile.in
index 6d659914d4..a4cac1958e 100644
--- a/libs/glibmm2/glib/glibmm/Makefile.in
+++ b/libs/glibmm2/glib/glibmm/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 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.
@@ -15,15 +15,11 @@
@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -46,8 +42,8 @@ DIST_COMMON = $(am__sublib_include_HEADERS_DIST) \
$(top_srcdir)/build_shared/Makefile_gensrc_platform.am_fragment
subdir = glib/glibmm
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/scripts/c_std.m4 \
+ $(top_srcdir)/scripts/cxx.m4 $(top_srcdir)/scripts/cxx_std.m4 \
$(top_srcdir)/scripts/docgen.m4 \
$(top_srcdir)/scripts/glibmm_check_perl.m4 \
$(top_srcdir)/scripts/macros.m4 \
@@ -73,8 +69,8 @@ am__DEPENDENCIES_1 =
libglibmm_2_4_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
am__libglibmm_2_4_la_SOURCES_DIST = convert.cc date.cc fileutils.cc \
iochannel.cc keyfile.cc markup.cc module.cc optioncontext.cc \
- optionentry.cc optiongroup.cc shell.cc spawn.cc thread.cc \
- unicode.cc wrap_init.cc value_basictypes.cc class.cc \
+ optionentry.cc optiongroup.cc regex.cc shell.cc spawn.cc \
+ thread.cc unicode.cc wrap_init.cc value_basictypes.cc class.cc \
containers.cc debug.cc dispatcher.cc error.cc exception.cc \
exceptionhandler.cc init.cc interface.cc main.cc miscutils.cc \
object.cc objectbase.cc pattern.cc property.cc \
@@ -85,7 +81,7 @@ am__libglibmm_2_4_la_SOURCES_DIST = convert.cc date.cc fileutils.cc \
wrap.cc
am__objects_1 = convert.lo date.lo fileutils.lo iochannel.lo \
keyfile.lo markup.lo module.lo optioncontext.lo optionentry.lo \
- optiongroup.lo shell.lo spawn.lo thread.lo unicode.lo
+ optiongroup.lo regex.lo shell.lo spawn.lo thread.lo unicode.lo
am__objects_2 = $(am__objects_1) wrap_init.lo value_basictypes.lo
am__objects_3 = class.lo containers.lo debug.lo dispatcher.lo error.lo \
exception.lo exceptionhandler.lo init.lo interface.lo main.lo \
@@ -107,44 +103,49 @@ am__objects_9 = $(am__objects_8)
@OS_WIN32_TRUE@am_libglibmm_2_4_la_OBJECTS = $(am__objects_7) \
@OS_WIN32_TRUE@ $(am__objects_9)
libglibmm_2_4_la_OBJECTS = $(am_libglibmm_2_4_la_OBJECTS)
+libglibmm_2_4_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(libglibmm_2_4_la_LDFLAGS) $(LDFLAGS) -o $@
depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
SOURCES = $(libglibmm_2_4_la_SOURCES)
DIST_SOURCES = $(am__libglibmm_2_4_la_SOURCES_DIST)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-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__sublib_include_HEADERS_DIST = convert.h date.h fileutils.h \
iochannel.h keyfile.h markup.h module.h optioncontext.h \
- optionentry.h optiongroup.h shell.h spawn.h thread.h unicode.h \
- signalproxy.h value_basictypes.h arrayhandle.h class.h \
- containerhandle_shared.h containers.h debug.h dispatcher.h \
- error.h exception.h exceptionhandler.h helperlist.h init.h \
- i18n.h interface.h listhandle.h main.h miscutils.h object.h \
- objectbase.h pattern.h property.h propertyproxy.h \
- propertyproxy_base.h quark.h random.h refptr.h sarray.h \
- signalproxy_connectionnode.h slisthandle.h streamiochannel.h \
- stringutils.h threadpool.h timer.h timeval.h ustring.h \
- utility.h value.h value_custom.h wrap.h wrap_init.h
+ optionentry.h optiongroup.h regex.h shell.h spawn.h thread.h \
+ unicode.h signalproxy.h value_basictypes.h arrayhandle.h \
+ class.h containerhandle_shared.h containers.h debug.h \
+ dispatcher.h error.h exception.h exceptionhandler.h \
+ helperlist.h init.h i18n.h interface.h listhandle.h main.h \
+ miscutils.h object.h objectbase.h pattern.h property.h \
+ propertyproxy.h propertyproxy_base.h quark.h random.h refptr.h \
+ sarray.h signalproxy_connectionnode.h slisthandle.h \
+ streamiochannel.h stringutils.h threadpool.h timer.h timeval.h \
+ ustring.h utility.h value.h value_custom.h wrap.h wrap_init.h
sublib_includeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(sublib_include_HEADERS)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
@@ -182,12 +183,12 @@ GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
GLIBMM_RELEASE = @GLIBMM_RELEASE@
GLIBMM_VERSION = @GLIBMM_VERSION@
+GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -201,13 +202,10 @@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@
MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -217,27 +215,18 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
+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_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -249,28 +238,39 @@ 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@
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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
SUBDIRS = private
sublib_name = glibmm
sublib_libname = glibmm-2.4
@@ -357,7 +357,7 @@ sublib_files_extra_general_h = \
files_posix_hg =
files_win32_hg =
-files_general_hg = convert.hg date.hg fileutils.hg iochannel.hg keyfile.hg markup.hg module.hg optioncontext.hg optionentry.hg optiongroup.hg shell.hg spawn.hg thread.hg unicode.hg
+files_general_hg = convert.hg date.hg fileutils.hg iochannel.hg keyfile.hg markup.hg module.hg optioncontext.hg optionentry.hg optiongroup.hg regex.hg shell.hg spawn.hg thread.hg unicode.hg
files_all_hg = $(files_general_hg) $(files_posix_hg) $(files_win32_hg)
@OS_WIN32_FALSE@files_hg = $(files_general_hg) $(files_posix_hg)
@OS_WIN32_TRUE@files_hg = $(files_general_hg) $(files_win32_hg)
@@ -465,7 +465,7 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
+ test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f=$(am__strip_dir) \
@@ -476,7 +476,7 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
@@ -491,7 +491,7 @@ clean-libLTLIBRARIES:
rm -f "$${dir}/so_locations"; \
done
libglibmm-2.4.la: $(libglibmm_2_4_la_OBJECTS) $(libglibmm_2_4_la_DEPENDENCIES)
- $(CXXLINK) -rpath $(libdir) $(libglibmm_2_4_la_LDFLAGS) $(libglibmm_2_4_la_OBJECTS) $(libglibmm_2_4_la_LIBADD) $(LIBS)
+ $(libglibmm_2_4_la_LINK) -rpath $(libdir) $(libglibmm_2_4_la_OBJECTS) $(libglibmm_2_4_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -528,6 +528,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/propertyproxy_base.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quark.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/random.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shell.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signalproxy.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signalproxy_connectionnode.Plo@am__quote@
@@ -548,22 +549,22 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrap_init.Plo@am__quote@
.cc.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
.cc.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cc.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
@@ -573,13 +574,9 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
install-sublib_includeHEADERS: $(sublib_include_HEADERS)
@$(NORMAL_INSTALL)
- test -z "$(sublib_includedir)" || $(mkdir_p) "$(DESTDIR)$(sublib_includedir)"
+ test -z "$(sublib_includedir)" || $(MKDIR_P) "$(DESTDIR)$(sublib_includedir)"
@list='$(sublib_include_HEADERS)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
@@ -626,8 +623,7 @@ $(RECURSIVE_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
+$(RECURSIVE_CLEAN_TARGETS):
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
@@ -728,23 +724,21 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/../../build_shared $(distdir)/../src
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @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; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -758,7 +752,7 @@ distdir: $(DISTFILES)
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
@@ -766,6 +760,8 @@ distdir: $(DISTFILES)
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
@@ -776,7 +772,7 @@ all-am: Makefile $(LTLIBRARIES) $(HEADERS)
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(sublib_includedir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
install-exec: install-exec-recursive
@@ -811,7 +807,7 @@ distclean: distclean-recursive
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
+ distclean-tags
dvi: dvi-recursive
@@ -825,12 +821,20 @@ info-am:
install-data-am: install-sublib_includeHEADERS
+install-dvi: install-dvi-recursive
+
install-exec-am: install-libLTLIBRARIES
+install-html: install-html-recursive
+
install-info: install-info-recursive
install-man:
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -852,27 +856,27 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \
- uninstall-sublib_includeHEADERS
+uninstall-am: uninstall-libLTLIBRARIES uninstall-sublib_includeHEADERS
-uninstall-info: uninstall-info-recursive
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libLTLIBRARIES clean-libtool \
- clean-recursive ctags ctags-recursive distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am check check-am clean clean-generic \
+ clean-libLTLIBRARIES clean-libtool ctags ctags-recursive \
+ distclean distclean-compile 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-exec install-exec-am install-info \
- install-info-am install-libLTLIBRARIES install-man \
- install-strip install-sublib_includeHEADERS installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic maintainer-clean-local \
- maintainer-clean-recursive mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-libLTLIBRARIES install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ install-sublib_includeHEADERS installcheck installcheck-am \
+ installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic maintainer-clean-local mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
- uninstall-info-am uninstall-libLTLIBRARIES \
- uninstall-sublib_includeHEADERS
+ uninstall-libLTLIBRARIES uninstall-sublib_includeHEADERS
maintainer-clean-local:
diff --git a/libs/glibmm2/glib/glibmm/arrayhandle.h b/libs/glibmm2/glib/glibmm/arrayhandle.h
index 2c346bf884..ab6bda9259 100644
--- a/libs/glibmm2/glib/glibmm/arrayhandle.h
+++ b/libs/glibmm2/glib/glibmm/arrayhandle.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_ARRAYHANDLE_H
#define _GLIBMM_ARRAYHANDLE_H
-/* $Id: arrayhandle.h,v 1.3 2003/04/21 17:39:41 murrayc Exp $ */
+/* $Id: arrayhandle.h 32 2003-04-21 17:39:41Z murrayc $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/class.cc b/libs/glibmm2/glib/glibmm/class.cc
index 21021ab63b..0606f431bb 100644
--- a/libs/glibmm2/glib/glibmm/class.cc
+++ b/libs/glibmm2/glib/glibmm/class.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: class.cc,v 1.7 2006/10/04 12:04:05 murrayc Exp $ */
+/* $Id: class.cc 336 2006-10-04 12:06:14Z murrayc $ */
/* Copyright (C) 1998-2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/class.h b/libs/glibmm2/glib/glibmm/class.h
index 9e4e38402e..96b58b5653 100644
--- a/libs/glibmm2/glib/glibmm/class.h
+++ b/libs/glibmm2/glib/glibmm/class.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_CLASS_H
#define _GLIBMM_CLASS_H
-/* $Id: class.h,v 1.6 2006/05/12 08:08:43 murrayc Exp $ */
+/* $Id: class.h 291 2006-05-12 08:08:45Z murrayc $ */
/* Copyright 2001 Free Software Foundation
* Copyright (C) 1998-2002 The gtkmm Development Team
diff --git a/libs/glibmm2/glib/glibmm/containerhandle_shared.h b/libs/glibmm2/glib/glibmm/containerhandle_shared.h
index 94c1ea7550..9f31a30dc3 100644
--- a/libs/glibmm2/glib/glibmm/containerhandle_shared.h
+++ b/libs/glibmm2/glib/glibmm/containerhandle_shared.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_CONTAINERHANDLE_SHARED_H
#define _GLIBMM_CONTAINERHANDLE_SHARED_H
-/* $Id: containerhandle_shared.h,v 1.12 2006/09/19 20:36:42 murrayc Exp $ */
+/* $Id: containerhandle_shared.h 322 2006-09-19 20:36:43Z murrayc $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/containers.cc b/libs/glibmm2/glib/glibmm/containers.cc
index 98b2d3dfc6..29f5b9aa0b 100644
--- a/libs/glibmm2/glib/glibmm/containers.cc
+++ b/libs/glibmm2/glib/glibmm/containers.cc
@@ -1,6 +1,6 @@
// -*- c++ -*-
-/* $Id: containers.cc,v 1.1.1.1 2003/01/07 16:58:44 murrayc Exp $ */
+/* $Id: containers.cc 2 2003-01-07 16:59:16Z murrayc $ */
/* containers.h
*
diff --git a/libs/glibmm2/glib/glibmm/containers.h b/libs/glibmm2/glib/glibmm/containers.h
index 5e92889f1f..6736e0ecc7 100644
--- a/libs/glibmm2/glib/glibmm/containers.h
+++ b/libs/glibmm2/glib/glibmm/containers.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_CONTAINERS_H
#define _GLIBMM_CONTAINERS_H
-/* $Id: containers.h,v 1.7 2005/11/23 07:22:43 murrayc Exp $ */
+/* $Id: containers.h 229 2005-11-23 07:22:43Z murrayc $ */
/* containers.h
*
diff --git a/libs/glibmm2/glib/glibmm/date.cc b/libs/glibmm2/glib/glibmm/date.cc
index 26ed7309ec..331402dd4b 100644
--- a/libs/glibmm2/glib/glibmm/date.cc
+++ b/libs/glibmm2/glib/glibmm/date.cc
@@ -71,13 +71,20 @@ void Date::set_parse(const Glib::ustring& str)
g_date_set_parse(&gobject_, str.c_str());
}
+
#ifndef GLIBMM_DISABLE_DEPRECATED
+
+//Avoid a build problem in the case that time_t is equivalent to guint32 (GTime is also guint32)
+//That would make the set_time() method overload impossible.
+#ifdef GLIBMM_HAVE_C_STD_TIME_T_IS_NOT_INT32
void Date::set_time(GTime time)
{
//This method, and the C function that it wraps, are deprecated.
g_date_set_time(&gobject_, time);
}
+#endif //GLIBMM_HAVE_C_STD_TIME_T_IS_NOT_INT32
+
#endif // GLIBMM_DISABLE_DEPRECATED
diff --git a/libs/glibmm2/glib/glibmm/date.h b/libs/glibmm2/glib/glibmm/date.h
index 93eacbde62..1efdcd6b62 100644
--- a/libs/glibmm2/glib/glibmm/date.h
+++ b/libs/glibmm2/glib/glibmm/date.h
@@ -119,8 +119,13 @@ enum DMY
*/
void set_parse (const Glib::ustring& str);
+
#ifndef GLIBMM_DISABLE_DEPRECATED
+
+ //Avoid a build problem in the case that time_t is equivalent to guint32 (GTime is also guint32)
+ //That would make the set_time() method overload impossible.
+ #ifdef GLIBMM_HAVE_C_STD_TIME_T_IS_NOT_INT32
/** Sets the value of a date from a GTime (time_t) value.
*
* @param time GTime value to set.
@@ -128,6 +133,8 @@ enum DMY
* @deprecated Please use set_time(time_t) or set_time(const GTimeVal&).
*/
void set_time(GTime time);
+ #endif //GLIBMM_HAVE_C_STD_TIME_T_IS_NOT_INT32
+
#endif // GLIBMM_DISABLE_DEPRECATED
diff --git a/libs/glibmm2/glib/glibmm/debug.cc b/libs/glibmm2/glib/glibmm/debug.cc
index 5164fbf82d..65f3c18719 100644
--- a/libs/glibmm2/glib/glibmm/debug.cc
+++ b/libs/glibmm2/glib/glibmm/debug.cc
@@ -1,4 +1,4 @@
-/* $Id: debug.cc,v 1.1.1.1 2003/01/07 16:58:44 murrayc Exp $ */
+/* $Id: debug.cc 2 2003-01-07 16:59:16Z murrayc $ */
/* Copyright 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/debug.h b/libs/glibmm2/glib/glibmm/debug.h
index d61945dbf6..2e7698b17d 100644
--- a/libs/glibmm2/glib/glibmm/debug.h
+++ b/libs/glibmm2/glib/glibmm/debug.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_DEBUG_H
#define _GLIBMM_DEBUG_H
-/* $Id: debug.h,v 1.2 2003/01/22 12:08:52 murrayc Exp $ */
+/* $Id: debug.h 17 2003-01-22 12:09:02Z murrayc $ */
/* Copyright 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/dispatcher.cc b/libs/glibmm2/glib/glibmm/dispatcher.cc
index f5883e69d6..4cf57b6384 100644
--- a/libs/glibmm2/glib/glibmm/dispatcher.cc
+++ b/libs/glibmm2/glib/glibmm/dispatcher.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: dispatcher.cc,v 1.13 2006/05/12 08:08:43 murrayc Exp $ */
+/* $Id: dispatcher.cc 370 2007-01-20 10:53:28Z daniel $ */
/* Copyright 2002 The gtkmm Development Team
*
@@ -28,83 +28,76 @@
#include <fcntl.h>
#include <glib.h>
-#ifndef G_OS_WIN32
-#include <unistd.h>
-
-#if defined(_tru64) //TODO: Use the real define
-//EINTR is not defined on Tru64
-//I have tried including these
-//#include <sys/types.h>
-//#include <sys/statvfs.h>
-//#include <signal.h>
- #ifndef EINTR
- #define EINTR 0
- #endif
-#endif
-
+#ifdef G_OS_WIN32
+# include <windows.h>
+# include <io.h>
+# include <direct.h>
+# include <list>
#else
-#include <windows.h>
-#include <io.h>
-#include <direct.h>
-#include <list>
-#endif /* G_OS_WIN32 */
+# include <unistd.h>
+#endif
+// EINTR is not defined on Tru64. I have tried including these:
+// #include <sys/types.h>
+// #include <sys/statvfs.h>
+// #include <signal.h>
+// danielk: I think someone should just do a grep on a Tru64 box. Googling
+// for "tru64 EINTR" returns lots of hits telling me that handling EINTR is
+// actually a requirement on Tru64. So it must exist.
+#if defined(_tru64) && !defined(EINTR)
+# define EINTR 0 /* TODO: should use the real define */
+#endif
namespace
{
struct DispatchNotifyData
{
- unsigned long tag;
Glib::Dispatcher* dispatcher;
Glib::DispatchNotifier* notifier;
DispatchNotifyData()
- : tag (0), dispatcher (0), notifier (0) {}
+ : dispatcher (0), notifier (0) {}
- DispatchNotifyData(unsigned long tag_, Glib::Dispatcher* dispatcher_, Glib::DispatchNotifier* notifier_)
- : tag (tag_), dispatcher (dispatcher_), notifier (notifier_) {}
+ DispatchNotifyData(Glib::Dispatcher* d, Glib::DispatchNotifier* n)
+ : dispatcher (d), notifier (n) {}
};
-static void warn_failed_pipe_io(const char* what, int err_no)
+static void warn_failed_pipe_io(const char* what)
{
#ifdef G_OS_WIN32
- const char *const message = g_win32_error_message(err_no);
+ const char *const message = g_win32_error_message(GetLastError());
#else
- const char *const message = g_strerror(err_no);
+ const char *const message = g_strerror(errno);
#endif
g_critical("Error in inter-thread communication: %s() failed: %s", what, message);
}
-#ifndef G_OS_WIN32
-/*
- * Try to set the close-on-exec flag of the file descriptor,
- * so that it won't be leaked if a new process is spawned.
- */
-static void fd_set_close_on_exec(int fd)
-{
- const int flags = fcntl(fd, F_GETFD, 0);
- g_return_if_fail(flags >= 0);
-
- fcntl(fd, F_SETFD, flags | FD_CLOEXEC);
-}
-#endif /* !G_OS_WIN32 */
-
-/*
- * One word: paranoia.
- */
#ifdef G_OS_WIN32
+
static void fd_close_and_invalidate(HANDLE& fd)
{
if(fd != 0)
{
if(!CloseHandle(fd))
- warn_failed_pipe_io("CloseHandle", GetLastError());
+ warn_failed_pipe_io("CloseHandle");
fd = 0;
}
}
#else /* !G_OS_WIN32 */
+/*
+ * Set the close-on-exec flag on the file descriptor,
+ * so that it won't be leaked if a new process is spawned.
+ */
+static void fd_set_close_on_exec(int fd)
+{
+ const int flags = fcntl(fd, F_GETFD, 0);
+
+ if(flags < 0 || fcntl(fd, F_SETFD, unsigned(flags) | FD_CLOEXEC) < 0)
+ warn_failed_pipe_io("fcntl");
+}
+
static void fd_close_and_invalidate(int& fd)
{
if(fd >= 0)
@@ -113,10 +106,10 @@ static void fd_close_and_invalidate(int& fd)
do
result = close(fd);
- while(result < 0 && errno == EINTR);
+ while(G_UNLIKELY(result < 0) && errno == EINTR);
- if(result < 0)
- warn_failed_pipe_io("close", errno);
+ if(G_UNLIKELY(result < 0))
+ warn_failed_pipe_io("close");
fd = -1;
}
@@ -125,7 +118,6 @@ static void fd_close_and_invalidate(int& fd)
} // anonymous namespace
-
namespace Glib
{
@@ -147,17 +139,16 @@ protected:
private:
static Glib::StaticPrivate<DispatchNotifier> thread_specific_instance_;
- Glib::RefPtr<MainContext> context_;
- int ref_count_;
+ long ref_count_;
+ Glib::RefPtr<MainContext> context_;
#ifdef G_OS_WIN32
- HANDLE fd_receiver_;
Glib::Mutex mutex_;
std::list<DispatchNotifyData> notify_queue_;
+ HANDLE fd_receiver_;
#else
- int fd_receiver_;
- int fd_sender_;
-#endif /* !G_OS_WIN32 */
- sigc::connection conn_io_handler_;
+ int fd_receiver_;
+ int fd_sender_;
+#endif
void create_pipe();
bool pipe_io_handler(Glib::IOCondition condition);
@@ -167,20 +158,20 @@ private:
DispatchNotifier& operator=(const DispatchNotifier&);
};
-
/**** Glib::DispatchNotifier ***********************************************/
+// static
Glib::StaticPrivate<DispatchNotifier>
DispatchNotifier::thread_specific_instance_ = GLIBMM_STATIC_PRIVATE_INIT;
DispatchNotifier::DispatchNotifier(const Glib::RefPtr<MainContext>& context)
:
- context_ (context),
ref_count_ (0),
+ context_ (context),
#ifdef G_OS_WIN32
- fd_receiver_ (0),
mutex_ (),
- notify_queue_ ()
+ notify_queue_ (),
+ fd_receiver_ (0)
#else
fd_receiver_ (-1),
fd_sender_ (-1)
@@ -188,76 +179,86 @@ DispatchNotifier::DispatchNotifier(const Glib::RefPtr<MainContext>& context)
{
create_pipe();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+#if defined(GLIBMM_EXCEPTIONS_ENABLED)
try
+#elif defined(G_OS_WIN32)
+ if(fd_receiver_)
+#else
+ if(fd_receiver_ >= 0)
+#endif
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
#ifdef G_OS_WIN32
- conn_io_handler_ = context_->signal_io().connect(
- sigc::mem_fun(*this, &DispatchNotifier::pipe_io_handler),
- GPOINTER_TO_INT(fd_receiver_), Glib::IO_IN);
-#else /* !G_OS_WIN32 */
- conn_io_handler_ = context_->signal_io().connect(
- sigc::mem_fun(*this, &DispatchNotifier::pipe_io_handler),
- fd_receiver_, Glib::IO_IN);
-#endif /* !G_OS_WIN32 */
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ const int fd = GPOINTER_TO_INT(fd_receiver_);
+#else
+ const int fd = fd_receiver_;
+#endif
+ context_->signal_io().connect(sigc::mem_fun(*this, &DispatchNotifier::pipe_io_handler),
+ fd, Glib::IO_IN);
}
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
catch(...)
{
-#ifndef G_OS_WIN32
+# ifndef G_OS_WIN32
fd_close_and_invalidate(fd_sender_);
-#endif /* !G_OS_WIN32 */
+# endif
fd_close_and_invalidate(fd_receiver_);
throw;
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
+#endif /* GLIBMM_EXCEPTIONS_ENABLED */
}
DispatchNotifier::~DispatchNotifier()
{
- // Disconnect manually because we don't inherit from sigc::trackable
- conn_io_handler_.disconnect();
-
#ifndef G_OS_WIN32
fd_close_and_invalidate(fd_sender_);
-#endif /* !G_OS_WIN32 */
+#endif
fd_close_and_invalidate(fd_receiver_);
}
void DispatchNotifier::create_pipe()
{
#ifdef G_OS_WIN32
- // On Win32 we are using synchronization object instead of pipe
- // thus storing its handle as fd_receiver_.
- fd_receiver_ = CreateEvent(0, FALSE, FALSE, 0);
- if(!fd_receiver_)
+ // On Win32, create a synchronization object instead of a pipe and store
+ // its handle as fd_receiver_. Use a manual-reset event object, so that
+ // we can closely match the behavior on Unix in pipe_io_handler().
+ const HANDLE event = CreateEvent(0, TRUE, FALSE, 0);
+
+ if(!event)
{
-#ifdef GLIBMM_EXCEPTIONS_ENABLED
+# ifdef GLIBMM_EXCEPTIONS_ENABLED
GError* const error = g_error_new(G_FILE_ERROR, G_FILE_ERROR_FAILED,
"Failed to create event for inter-thread communication: %s",
g_win32_error_message(GetLastError()));
throw Glib::FileError(error);
-#else
- return; //TODO: Provide an alternative to the exception.
-#endif //GLIBMM_EXCEPTIONS_ENABLED
+# else
+ warn_failed_pipe_io("CreateEvent"); // TODO: see below
+ return;
+# endif
}
+ fd_receiver_ = event;
+
#else /* !G_OS_WIN32 */
+
int filedes[2] = { -1, -1 };
if(pipe(filedes) < 0)
{
-#ifdef GLIBMM_EXCEPTIONS_ENABLED
+# ifdef GLIBMM_EXCEPTIONS_ENABLED
GError* const error = g_error_new(G_FILE_ERROR, g_file_error_from_errno(errno),
"Failed to create pipe for inter-thread communication: %s",
g_strerror(errno));
throw Glib::FileError(error);
-#else
- return; //TODO: Provide an alternative to the exception.
-#endif //GLIBMM_EXCEPTIONS_ENABLED
+# else
+ // TODO: Provide an alternative to the exception. This is not trivial
+ // from within a constructor, though. One possibility would be to add
+ // a Glib::Dispatcher::valid() method which returns whether construction
+ // was successful.
+ warn_failed_pipe_io("pipe");
+ return;
+# endif
}
fd_set_close_on_exec(filedes[0]);
@@ -265,6 +266,7 @@ void DispatchNotifier::create_pipe()
fd_receiver_ = filedes[0];
fd_sender_ = filedes[1];
+
#endif /* !G_OS_WIN32 */
}
@@ -301,7 +303,7 @@ void DispatchNotifier::unreference_instance(DispatchNotifier* notifier)
{
g_return_if_fail(instance->ref_count_ == 0); // could be < 0 if messed up
- // This will cause deletion of the notifier object.
+ // This causes deletion of the notifier object.
thread_specific_instance_.set(0);
}
}
@@ -310,121 +312,121 @@ void DispatchNotifier::send_notification(Dispatcher* dispatcher)
{
#ifdef G_OS_WIN32
{
- Glib::Mutex::Lock lock (mutex_);
- notify_queue_.push_back(DispatchNotifyData(0xdeadbeef, dispatcher, this));
- }
+ const Mutex::Lock lock (mutex_);
- // Send notification event to GUI-thread.
- if(!SetEvent(fd_receiver_))
- {
- warn_failed_pipe_io("SetEvent", GetLastError());
- return;
+ const bool was_empty = notify_queue_.empty();
+ notify_queue_.push_back(DispatchNotifyData(dispatcher, this));
+
+ if(was_empty)
+ {
+ // The event will stay in signaled state until it is reset
+ // in pipe_io_handler() after processing the last queued event.
+ if(!SetEvent(fd_receiver_))
+ warn_failed_pipe_io("SetEvent");
+ }
}
#else /* !G_OS_WIN32 */
- DispatchNotifyData data (0xdeadbeef, dispatcher, this);
+
+ DispatchNotifyData data (dispatcher, this);
gssize n_written;
do
n_written = write(fd_sender_, &data, sizeof(data));
- while(n_written < 0 && errno == EINTR);
+ while(G_UNLIKELY(n_written < 0) && errno == EINTR);
- if(n_written < 0)
- {
- warn_failed_pipe_io("write", errno);
- return;
- }
-
- // All data must be written in a single call to write(), otherwise we can't
+ // All data must be written in a single call to write(), otherwise we cannot
// guarantee reentrancy since another thread might be scheduled between two
- // write() calls. The manpage is a bit unclear about this -- but I hope
- // it's safe to assume immediate success for the tiny amount of data we're
- // writing.
- g_return_if_fail(n_written == sizeof(data));
+ // write() calls. From the glibc manual:
+ //
+ // "Reading or writing pipe data is atomic if the size of data written is not
+ // greater than PIPE_BUF. This means that the data transfer seems to be an
+ // instantaneous unit, in that nothing else in the system can observe a state
+ // in which it is partially complete. Atomic I/O may not begin right away (it
+ // may need to wait for buffer space or for data), but once it does begin it
+ // finishes immediately."
+ //
+ // The minimum value allowed by POSIX for PIPE_BUF is 512, so we are on safe
+ // grounds here.
+
+ if(G_UNLIKELY(n_written != sizeof(data)))
+ warn_failed_pipe_io("write");
+
#endif /* !G_OS_WIN32 */
}
bool DispatchNotifier::pipe_io_handler(Glib::IOCondition)
{
-#ifdef G_OS_WIN32
DispatchNotifyData data;
- for(;;)
+#ifdef G_OS_WIN32
{
- {
- Glib::Mutex::Lock lock (mutex_);
+ const Mutex::Lock lock (mutex_);
- if(notify_queue_.empty())
- break;
+ // Should never be empty at this point, but let's allow for bogus
+ // notifications with no data available anyway; just to be safe.
+ if(notify_queue_.empty())
+ {
+ if(!ResetEvent(fd_receiver_))
+ warn_failed_pipe_io("ResetEvent");
- data = notify_queue_.front();
- notify_queue_.pop_front();
+ return true;
}
- g_return_val_if_fail(data.tag == 0xdeadbeef, true);
- g_return_val_if_fail(data.notifier == this, true);
+ data = notify_queue_.front();
+ notify_queue_.pop_front();
- // Actually, we wouldn't need the try/catch block because the Glib::Source
- // C callback already does it for us. However, we do it anyway because the
- // default return value is 'false', which is not what we want.
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- data.dispatcher->signal_();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ // Handle only a single event with each invocation of the I/O handler,
+ // and reset to nonsignaled state only after the last event in the queue
+ // has been processed. This matches the behavior on Unix.
+ if(notify_queue_.empty())
{
- Glib::exception_handlers_invoke();
+ if(!ResetEvent(fd_receiver_))
+ warn_failed_pipe_io("ResetEvent");
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
#else /* !G_OS_WIN32 */
- DispatchNotifyData data;
- gsize n_read = 0;
- do
- {
- void * const buffer = reinterpret_cast<guint8*>(&data) + n_read;
- const gssize result = read(fd_receiver_, buffer, sizeof(data) - n_read);
+ gssize n_read;
- if(result < 0)
- {
- if(errno == EINTR)
- continue;
+ do
+ n_read = read(fd_receiver_, &data, sizeof(data));
+ while(G_UNLIKELY(n_read < 0) && errno == EINTR);
- warn_failed_pipe_io("read", errno);
- return true;
- }
+ // Pipe I/O of a block size not greater than PIPE_BUF should be atomic.
+ // See the comment on atomicity in send_notification() for details.
+ if(G_UNLIKELY(n_read != sizeof(data)))
+ {
+ // Should probably never be zero, but for safety let's allow for bogus
+ // notifications when no data is actually available. Although in fact
+ // the read() should block in that case.
+ if(n_read != 0)
+ warn_failed_pipe_io("read");
- n_read += result;
+ return true;
}
- while(n_read < sizeof(data));
+#endif /* !G_OS_WIN32 */
- g_return_val_if_fail(data.tag == 0xdeadbeef, true);
- g_return_val_if_fail(data.notifier == this, true);
+ g_return_val_if_fail(data.notifier == this, true);
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
// Actually, we wouldn't need the try/catch block because the Glib::Source
// C callback already does it for us. However, we do it anyway because the
// default return value is 'false', which is not what we want.
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
try
+#endif
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
data.dispatcher->signal_(); // emit
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
}
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
catch(...)
{
Glib::exception_handlers_invoke();
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
-#endif /* !G_OS_WIN32 */
+#endif
return true;
}
-
/**** Glib::Dispatcher *****************************************************/
Dispatcher::Dispatcher()
@@ -451,7 +453,7 @@ void Dispatcher::emit()
void Dispatcher::operator()()
{
- emit();
+ notifier_->send_notification(this);
}
sigc::connection Dispatcher::connect(const sigc::slot<void>& slot)
@@ -460,4 +462,3 @@ sigc::connection Dispatcher::connect(const sigc::slot<void>& slot)
}
} // namespace Glib
-
diff --git a/libs/glibmm2/glib/glibmm/dispatcher.h b/libs/glibmm2/glib/glibmm/dispatcher.h
index ab350f02d7..4f638d7992 100644
--- a/libs/glibmm2/glib/glibmm/dispatcher.h
+++ b/libs/glibmm2/glib/glibmm/dispatcher.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_DISPATCHER_H
#define _GLIBMM_DISPATCHER_H
-/* $Id: dispatcher.h,v 1.4 2006/05/12 08:08:43 murrayc Exp $ */
+/* $Id: dispatcher.h 370 2007-01-20 10:53:28Z daniel $ */
/* Copyright 2002 The gtkmm Development Team
*
@@ -24,7 +24,6 @@
#include <sigc++/sigc++.h>
#include <glibmm/main.h>
-
namespace Glib
{
@@ -59,6 +58,14 @@ class DispatchNotifier;
* @li All Dispatcher instances of a receiver thread share the same pipe. That
* is, if you use Glib::Dispatcher only to notify the GUI thread, only one pipe
* is created no matter how many Dispatcher objects you have.
+ *
+ * Using Glib::Dispatcher on Windows:
+ *
+ * Glib::Dispatcher also works on win32-based systems. Unfortunately though,
+ * the implementation cannot use a pipe on win32 and therefore does have to
+ * lock a mutex on emission, too. However, the impact on performance is
+ * likely minor and the notification still happens asynchronously. Apart
+ * from the additional lock the behavior matches the Unix implementation.
*/
class Dispatcher
{
@@ -98,6 +105,4 @@ private:
} // namespace Glib
-
#endif /* _GLIBMM_DISPATCHER_H */
-
diff --git a/libs/glibmm2/glib/glibmm/error.cc b/libs/glibmm2/glib/glibmm/error.cc
index cc3ba7583a..bbde5f589b 100644
--- a/libs/glibmm2/glib/glibmm/error.cc
+++ b/libs/glibmm2/glib/glibmm/error.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: error.cc,v 1.4 2006/05/12 08:08:43 murrayc Exp $ */
+/* $Id: error.cc 291 2006-05-12 08:08:45Z murrayc $ */
/* error.cc
*
diff --git a/libs/glibmm2/glib/glibmm/error.h b/libs/glibmm2/glib/glibmm/error.h
index 653f7d4619..48472996d4 100644
--- a/libs/glibmm2/glib/glibmm/error.h
+++ b/libs/glibmm2/glib/glibmm/error.h
@@ -1,7 +1,7 @@
// -*- c++ -*-
#ifndef _GLIBMM_ERROR_H
#define _GLIBMM_ERROR_H
-/* $Id: error.h,v 1.3 2006/10/04 12:04:05 murrayc Exp $ */
+/* $Id: error.h 336 2006-10-04 12:06:14Z murrayc $ */
/* Copyright 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/exception.cc b/libs/glibmm2/glib/glibmm/exception.cc
index 255affbace..875c891c31 100644
--- a/libs/glibmm2/glib/glibmm/exception.cc
+++ b/libs/glibmm2/glib/glibmm/exception.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: exception.cc,v 1.1.1.1 2003/01/07 16:58:45 murrayc Exp $ */
+/* $Id: exception.cc 2 2003-01-07 16:59:16Z murrayc $ */
/* exception.cc
*
diff --git a/libs/glibmm2/glib/glibmm/exception.h b/libs/glibmm2/glib/glibmm/exception.h
index ce55cdc81c..757ebe80ca 100644
--- a/libs/glibmm2/glib/glibmm/exception.h
+++ b/libs/glibmm2/glib/glibmm/exception.h
@@ -1,7 +1,7 @@
// -*- c++ -*-
#ifndef _GLIBMM_EXCEPTION_H
#define _GLIBMM_EXCEPTION_H
-/* $Id: exception.h,v 1.1.1.1 2003/01/07 16:58:45 murrayc Exp $ */
+/* $Id: exception.h 2 2003-01-07 16:59:16Z murrayc $ */
/* exception.h
*
diff --git a/libs/glibmm2/glib/glibmm/exceptionhandler.cc b/libs/glibmm2/glib/glibmm/exceptionhandler.cc
index 0bf1cbd6df..6f4184b9ed 100644
--- a/libs/glibmm2/glib/glibmm/exceptionhandler.cc
+++ b/libs/glibmm2/glib/glibmm/exceptionhandler.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: exceptionhandler.cc,v 1.5 2006/05/12 08:08:43 murrayc Exp $ */
+/* $Id: exceptionhandler.cc 291 2006-05-12 08:08:45Z murrayc $ */
/* exceptionhandler.cc
*
diff --git a/libs/glibmm2/glib/glibmm/exceptionhandler.h b/libs/glibmm2/glib/glibmm/exceptionhandler.h
index af617fab7f..dcf5dc1f95 100644
--- a/libs/glibmm2/glib/glibmm/exceptionhandler.h
+++ b/libs/glibmm2/glib/glibmm/exceptionhandler.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_EXCEPTIONHANDLER_H
#define _GLIBMM_EXCEPTIONHANDLER_H
-/* $Id: exceptionhandler.h,v 1.3 2006/05/12 08:08:43 murrayc Exp $ */
+/* $Id: exceptionhandler.h 291 2006-05-12 08:08:45Z murrayc $ */
/* exceptionhandler.h
*
diff --git a/libs/glibmm2/glib/glibmm/fileutils.cc b/libs/glibmm2/glib/glibmm/fileutils.cc
index 6a79444819..38850871a0 100644
--- a/libs/glibmm2/glib/glibmm/fileutils.cc
+++ b/libs/glibmm2/glib/glibmm/fileutils.cc
@@ -5,7 +5,7 @@
#include <glibmm/private/fileutils_p.h>
// -*- c++ -*-
-/* $Id: fileutils.ccg,v 1.1.1.1 2003/01/07 16:58:25 murrayc Exp $ */
+/* $Id: fileutils.ccg,v 1.1 2003/01/07 16:58:25 murrayc Exp $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/helperlist.h b/libs/glibmm2/glib/glibmm/helperlist.h
index 71990ced74..b5b91ab9f2 100644
--- a/libs/glibmm2/glib/glibmm/helperlist.h
+++ b/libs/glibmm2/glib/glibmm/helperlist.h
@@ -1,7 +1,7 @@
// -*- c++ -*-
#ifndef _GLIBMM_HELPERLIST_H
#define _GLIBMM_HELPERLIST_H
-/* $Id: helperlist.h,v 1.1.1.1 2003/01/07 16:58:46 murrayc Exp $ */
+/* $Id: helperlist.h 386 2007-03-23 17:31:16Z murrayc $ */
/* helperlist.h
*
@@ -36,8 +36,8 @@ public:
: gparent_(0)
{}
- HelperList(GObject* gparent)
- : gparent_(gparent)
+ HelperList(GObject* gp) //We use gp instead of gparent because that can cause warnings about a shadowed member.
+ : gparent_(gp)
{}
virtual ~HelperList()
diff --git a/libs/glibmm2/glib/glibmm/i18n.h b/libs/glibmm2/glib/glibmm/i18n.h
index e0dfc11c66..04ce3cbbaa 100644
--- a/libs/glibmm2/glib/glibmm/i18n.h
+++ b/libs/glibmm2/glib/glibmm/i18n.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_I18N_H
#define _GLIBMM_I18N_H
-/* $Id: i18n.h,v 1.1 2004/03/02 23:29:56 murrayc Exp $ */
+/* $Id: i18n.h 77 2004-03-02 23:29:57Z murrayc $ */
/* Copyright 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/init.cc b/libs/glibmm2/glib/glibmm/init.cc
index bda5bcc636..6956663ffc 100644
--- a/libs/glibmm2/glib/glibmm/init.cc
+++ b/libs/glibmm2/glib/glibmm/init.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: init.cc,v 1.1 2003/11/03 09:27:31 murrayc Exp $ */
+/* $Id: init.cc 54 2003-11-03 09:27:33Z murrayc $ */
/* Copyright (C) 2003 The glibmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/init.h b/libs/glibmm2/glib/glibmm/init.h
index d1ddd11410..21405e7801 100644
--- a/libs/glibmm2/glib/glibmm/init.h
+++ b/libs/glibmm2/glib/glibmm/init.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_INIT_H
#define _GLIBMM_INIT_H
-/* $Id: init.h,v 1.1 2003/11/03 09:27:31 murrayc Exp $ */
+/* $Id: init.h 54 2003-11-03 09:27:33Z murrayc $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/interface.cc b/libs/glibmm2/glib/glibmm/interface.cc
index 4db73f354f..ecb925a103 100644
--- a/libs/glibmm2/glib/glibmm/interface.cc
+++ b/libs/glibmm2/glib/glibmm/interface.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: interface.cc,v 1.3 2005/03/07 15:42:20 murrayc Exp $ */
+/* $Id: interface.cc 209 2005-03-07 15:42:20Z murrayc $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/interface.h b/libs/glibmm2/glib/glibmm/interface.h
index b0ee8088eb..103c940983 100644
--- a/libs/glibmm2/glib/glibmm/interface.h
+++ b/libs/glibmm2/glib/glibmm/interface.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_INTERFACE_H
#define _GLIBMM_INTERFACE_H
-/* $Id: interface.h,v 1.1.1.1 2003/01/07 16:58:46 murrayc Exp $ */
+/* $Id: interface.h 2 2003-01-07 16:59:16Z murrayc $ */
/* Copyright 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/iochannel.cc b/libs/glibmm2/glib/glibmm/iochannel.cc
index 7a2f086f8d..a1b3fda339 100644
--- a/libs/glibmm2/glib/glibmm/iochannel.cc
+++ b/libs/glibmm2/glib/glibmm/iochannel.cc
@@ -684,13 +684,13 @@ namespace Glib
#ifdef GLIBMM_EXCEPTIONS_ENABLED
-IOStatus IOChannel::read(gunichar& unichar)
+IOStatus IOChannel::read(gunichar& thechar)
#else
-IOStatus IOChannel::read(gunichar& unichar, std::auto_ptr<Glib::Error>& error)
+IOStatus IOChannel::read(gunichar& thechar, std::auto_ptr<Glib::Error>& error)
#endif //GLIBMM_EXCEPTIONS_ENABLED
{
GError* gerror = 0;
- IOStatus retvalue = ((IOStatus)(g_io_channel_read_unichar(gobj(), &(unichar), &(gerror))));
+ IOStatus retvalue = ((IOStatus)(g_io_channel_read_unichar(gobj(), &(thechar), &(gerror))));
#ifdef GLIBMM_EXCEPTIONS_ENABLED
if(gerror)
::Glib::Error::throw_exception(gerror);
diff --git a/libs/glibmm2/glib/glibmm/iochannel.h b/libs/glibmm2/glib/glibmm/iochannel.h
index 5ecc5cf8c1..0891a78977 100644
--- a/libs/glibmm2/glib/glibmm/iochannel.h
+++ b/libs/glibmm2/glib/glibmm/iochannel.h
@@ -263,7 +263,7 @@ public:
#endif /* defined(G_OS_WIN32) || defined(DOXYGEN_SHOULD_SKIP_THIS) */
/** Read a single UCS-4 character.
- * @retval unichar The Unicode character.
+ * @retval thechar The Unicode character.
* @return The status of the operation.
* @throw Glib::IOChannelError
* @throw Glib::ConvertError
@@ -276,9 +276,9 @@ public:
* @return A G::IOStatus.
*/
#ifdef GLIBMM_EXCEPTIONS_ENABLED
- IOStatus read(gunichar& unichar);
+ IOStatus read(gunichar& thechar);
#else
- IOStatus read(gunichar& unichar, std::auto_ptr<Glib::Error>& error);
+ IOStatus read(gunichar& thechar, std::auto_ptr<Glib::Error>& error);
#endif //GLIBMM_EXCEPTIONS_ENABLED
@@ -601,7 +601,7 @@ public:
* @return The buffering status of the channel.
*/
- /** Returns whether @a channel is buffered.
+ /** Return Value: <tt>true</tt> if the @a channel is buffered.
* @return <tt>true</tt> if the @a channel is buffered.
*/
bool get_buffered() const;
@@ -628,10 +628,7 @@ public:
* IOChannel object.
*/
- /** Returns whether the file/socket/whatever associated with @a channel
- * will be closed when @a channel receives its final unref and is
- * destroyed. The default value of this is <tt>true</tt> for channels created
- * by g_io_channel_new_file(), and <tt>false</tt> for all other channels.
+ /** Return value: Whether the channel will be closed on the final unref of
* @return Whether the channel will be closed on the final unref of
* the GIOChannel data structure.
*/
diff --git a/libs/glibmm2/glib/glibmm/keyfile.cc b/libs/glibmm2/glib/glibmm/keyfile.cc
index 541f1e9bfc..8fad136602 100644
--- a/libs/glibmm2/glib/glibmm/keyfile.cc
+++ b/libs/glibmm2/glib/glibmm/keyfile.cc
@@ -98,14 +98,51 @@ Glib::ustring KeyFile::get_locale_string(const Glib::ustring& group_name, const
return retvalue;
}
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
int KeyFile::get_integer(const Glib::ustring& key) const
+#else
+int KeyFile::get_integer(const Glib::ustring& key, std::auto_ptr<Glib::Error>& error) const
+#endif //GLIBMM_EXCEPTIONS_ENABLED
{
- GError *error = 0;
- int retvalue = g_key_file_get_integer(const_cast<GKeyFile*>(gobj()), 0, key.c_str(), &(error));
- if(error) ::Glib::Error::throw_exception(error);
+ GError* gerror = 0;
+ int retvalue = g_key_file_get_integer(const_cast<GKeyFile*>(gobj()), NULL, key.c_str(), &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
return retvalue;
}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+double KeyFile::get_double(const Glib::ustring& key) const
+#else
+double KeyFile::get_double(const Glib::ustring& key, std::auto_ptr<Glib::Error>& error) const
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ double retvalue = g_key_file_get_double(const_cast<GKeyFile*>(gobj()), NULL, key.c_str(), &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+void KeyFile::set_double(const Glib::ustring& key, double value)
+{
+ g_key_file_set_double(gobj(), 0, key.c_str(), value);
+}
+
+
Glib::ArrayHandle<Glib::ustring> KeyFile::get_string_list(const Glib::ustring& group_name, const Glib::ustring& key) const
{
gchar** string_list = 0;
@@ -150,6 +187,17 @@ Glib::ArrayHandle<int> KeyFile::get_integer_list(const Glib::ustring& group_name
return Glib::ArrayHandle<int>(integer_list, length_of_list, Glib::OWNERSHIP_DEEP);
}
+Glib::ArrayHandle<double> KeyFile::get_double_list(const Glib::ustring& group_name, const Glib::ustring& key) const
+{
+ gdouble* integer_list = 0;
+ gsize length_of_list = 0;
+ GError* error = 0;
+ integer_list = g_key_file_get_double_list(const_cast<GKeyFile*>(gobj()), group_name.c_str(), key.c_str(), &length_of_list, &error);
+ if(error)
+ Glib::Error::throw_exception(error);
+ return Glib::ArrayHandle<double>(integer_list, length_of_list, Glib::OWNERSHIP_DEEP);
+}
+
void KeyFile::set_string_list(const Glib::ustring& group_name, const Glib::ustring& key, const Glib::ArrayHandle<Glib::ustring>& list)
{
gsize length_of_list = list.size();
@@ -168,6 +216,12 @@ void KeyFile::set_integer_list(const Glib::ustring& group_name, const Glib::ustr
g_key_file_set_integer_list(gobj(), group_name.c_str(), key.c_str(), const_cast<int*>(list.data()), length_of_list);
}
+void KeyFile::set_double_list(const Glib::ustring& group_name, const Glib::ustring& key, Glib::ArrayHandle<double>& list)
+{
+ gsize length_of_list = list.size();
+ g_key_file_set_double_list(gobj(), group_name.c_str(), key.c_str(), const_cast<double*>(list.data()), length_of_list);
+}
+
void KeyFile::set_boolean_list(const Glib::ustring& group_name, const Glib::ustring& key, Glib::ArrayHandle<bool>& list)
{
gsize length_of_list = list.size();
@@ -395,6 +449,31 @@ int KeyFile::get_integer(const Glib::ustring& group_name, const Glib::ustring& k
}
#ifdef GLIBMM_EXCEPTIONS_ENABLED
+double KeyFile::get_double(const Glib::ustring& group_name, const Glib::ustring& key) const
+#else
+double KeyFile::get_double(const Glib::ustring& group_name, const Glib::ustring& key, std::auto_ptr<Glib::Error>& error) const
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ double retvalue = g_key_file_get_double(const_cast<GKeyFile*>(gobj()), group_name.c_str(), key.c_str(), &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+
+}
+
+void KeyFile::set_double(const Glib::ustring& group_name, const Glib::ustring& key, double value)
+{
+g_key_file_set_double(gobj(), group_name.c_str(), key.c_str(), value);
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
Glib::ustring KeyFile::get_comment(const Glib::ustring& group_name, const Glib::ustring& key) const
#else
Glib::ustring KeyFile::get_comment(const Glib::ustring& group_name, const Glib::ustring& key, std::auto_ptr<Glib::Error>& error) const
diff --git a/libs/glibmm2/glib/glibmm/keyfile.h b/libs/glibmm2/glib/glibmm/keyfile.h
index 3625578a70..1c94b466fb 100644
--- a/libs/glibmm2/glib/glibmm/keyfile.h
+++ b/libs/glibmm2/glib/glibmm/keyfile.h
@@ -84,9 +84,9 @@ inline KeyFileFlags& operator^=(KeyFileFlags& lhs, KeyFileFlags rhs)
{ return (lhs = static_cast<KeyFileFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
- /** Exception class for KeyFile errors.
- */
- class KeyFileError : public Glib::Error
+/** Exception class for KeyFile errors.
+ */
+class KeyFileError : public Glib::Error
{
public:
enum Code
@@ -118,6 +118,61 @@ private:
};
+/** This class lets you parse, edit or create files containing groups of key-value pairs, which we call key files
+ * for lack of a better name. Several freedesktop.org specifications use key files now, e.g the Desktop Entry
+ * Specification and the Icon Theme Specification.
+ *
+ * The syntax of key files is described in detail in the Desktop Entry Specification, here is a quick summary: Key
+ * files consists of groups of key-value pairs, interspersed with comments.
+ *
+ * @code
+ * # this is just an example
+ * # there can be comments before the first group
+ *
+ * [First Group]
+ *
+ * Name=Key File Example\tthis value shows\nescaping
+ *
+ * # localized strings are stored in multiple key-value pairs
+ * Welcome=Hello
+ * Welcome[de]=Hallo
+ * Welcome[fr]=Bonjour
+ * Welcome[it]=Ciao
+ *
+ * [Another Group]
+ *
+ * Numbers=2;20;-200;0
+ *
+ * Booleans=true;false;true;true
+ * @endcode
+ *
+ * Lines beginning with a '#' and blank lines are considered comments.
+ *
+ * Groups are started by a header line containing the group name enclosed in '[' and ']', and ended implicitly by
+ * the start of the next group or the end of the file. Each key-value pair must be contained in a group.
+ *
+ * Key-value pairs generally have the form key=value, with the exception of localized strings, which have the form
+ * key[locale]=value. Space before and after the '=' character are ignored. Newline, tab, carriage return and
+ * backslash characters in value are escaped as \n, \t, \r, and \\, respectively. To preserve leading spaces in
+ * values, these can also be escaped as \s.
+ *
+ * Key files can store strings (possibly with localized variants), integers, booleans and lists of these. Lists are
+ * separated by a separator character, typically ';' or ','. To use the list separator character in a value in a
+ * list, it has to be escaped by prefixing it with a backslash.
+ *
+ * This syntax is obviously inspired by the .ini files commonly met on Windows, but there are some important
+ * differences:
+ * - .ini files use the ';' character to begin comments, key files use the '#' character.
+ * - Key files allow only comments before the first group.
+ * - Key files are always encoded in UTF-8.
+ * - Key and Group names are case-sensitive, for example a group called [GROUP] is a different group from [group].
+ *
+ * Note that in contrast to the Desktop Entry Specification, groups in key files may contain the same key multiple
+ * times; the last entry wins. Key files may also contain multiple groups with the same name; they are merged
+ * together. Another difference is that keys and group names in key files are not restricted to ASCII characters.
+ *
+ * @newin2p14
+ */
class KeyFile
{
public:
@@ -178,6 +233,16 @@ public:
bool load_from_data(const Glib::ustring& data, KeyFileFlags flags = Glib::KEY_FILE_NONE);
+ //TODO:
+ /*
+ gboolean g_key_file_load_from_dirs (GKeyFile *key_file,
+ const gchar *file,
+ const gchar **search_dirs,
+ gchar **full_path,
+ GKeyFileFlags flags,
+ GError **error);
+ */
+
/** Looks for a KeyFile named @a file in the paths returned from
* g_get_user_data_dir() and g_get_system_data_dirs() and loads them
* into the keyfile object, placing the full path to the file in
@@ -198,7 +263,7 @@ public:
Glib::ustring to_data();
- /** Returns the name of the start group of the file.
+ /** Return value: The start group of the key file.
* @return The start group of the key file.
*
* @newin2p6.
@@ -243,12 +308,7 @@ public:
#endif //GLIBMM_EXCEPTIONS_ENABLED
- /** Returns the value associated with @a key under @a group_name .
- *
- * In the event the key cannot be found, <tt>0</tt> is returned and
- * @a error is set to G::KEY_FILE_ERROR_KEY_NOT_FOUND. In the
- * event that the @a group_name cannot be found, <tt>0</tt> is returned
- * and @a error is set to G::KEY_FILE_ERROR_GROUP_NOT_FOUND.
+ /** Return value: a newly allocated string or <tt>0</tt> if the specified
* @param group_name A group name.
* @param key A key.
* @param error Return location for a G::Error, or <tt>0</tt>.
@@ -264,12 +324,7 @@ public:
#endif //GLIBMM_EXCEPTIONS_ENABLED
- /** Returns the value associated with @a key under @a group_name .
- *
- * In the event the key cannot be found, <tt>0</tt> is returned and
- * @a error is set to G::KEY_FILE_ERROR_KEY_NOT_FOUND. In the
- * event that the @a group_name cannot be found, <tt>0</tt> is returned
- * and @a error is set to G::KEY_FILE_ERROR_GROUP_NOT_FOUND.
+ /** Return value: a newly allocated string or <tt>0</tt> if the specified
* @param group_name A group name.
* @param key A key.
* @param error Return location for a G::Error, or <tt>0</tt>.
@@ -291,14 +346,7 @@ public:
Glib::ustring get_locale_string(const Glib::ustring& group_name, const Glib::ustring& key) const;
- /** Returns the value associated with @a key under @a group_name
- * translated in the given @a locale if available. If @a locale is
- * <tt>0</tt> then the current locale is assumed.
- *
- * If @a key cannot be found then <tt>0</tt> is returned and @a error is set to
- * G::KEY_FILE_ERROR_KEY_NOT_FOUND. If the value associated
- * with @a key cannot be interpreted or no suitable translation can
- * be found then the untranslated value is returned.
+ /** Return value: a newly allocated string or <tt>0</tt> if the specified
* @param group_name A group name.
* @param key A key.
* @param locale A locale or <tt>0</tt>.
@@ -315,18 +363,13 @@ public:
#endif //GLIBMM_EXCEPTIONS_ENABLED
- /** Returns the value associated with @a key under @a group_name as a
- * boolean.
- *
- * If @a key cannot be found then the return value is undefined and
- * @a error is set to G::KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if
- * the value associated with @a key cannot be interpreted as a boolean
- * then the return value is also undefined and @a error is set to
- * G::KEY_FILE_ERROR_INVALID_VALUE.
+ /** Return value: the value associated with the key as a boolean, or
* @param group_name A group name.
* @param key A key.
* @param error Return location for a G::Error.
- * @return The value associated with the key as a boolean
+ * @return The value associated with the key as a boolean, or
+ * <tt>false</tt> if the key was not found or could not be parsed.
+ *
* @newin2p6.
*/
#ifdef GLIBMM_EXCEPTIONS_ENABLED
@@ -345,18 +388,12 @@ public:
int get_integer(const Glib::ustring& key) const;
- /** Returns the value associated with @a key under @a group_name as an
- * integer. If @a group_name is <tt>0</tt>, the start_group is used.
- *
- * If @a key cannot be found then the return value is undefined and
- * @a error is set to G::KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if
- * the value associated with @a key cannot be interpreted as an integer
- * then the return value is also undefined and @a error is set to
- * G::KEY_FILE_ERROR_INVALID_VALUE.
+ /** Return value: the value associated with the key as an integer, or
* @param group_name A group name.
* @param key A key.
* @param error Return location for a G::Error.
- * @return The value associated with the key as an integer.
+ * @return The value associated with the key as an integer, or
+ * 0 if the key was not found or could not be parsed.
*
* @newin2p6.
*/
@@ -367,6 +404,52 @@ public:
#endif //GLIBMM_EXCEPTIONS_ENABLED
+ /** Gets the value in the first group, under @a key, interpreting it as
+ * a double.
+ * @param key The name of the key
+ * @return The value of @a key as an double
+ * @throws Glib::KeyFileError
+ *
+ * @newin2p14
+ */
+ double get_double(const Glib::ustring& key) const;
+
+
+ /** Return value: the value associated with the key as a double, or
+ * @param group_name A group name.
+ * @param key A key.
+ * @param error Return location for a G::Error.
+ * @return The value associated with the key as a double, or
+ * 0.0 if the key was not found or could not be parsed.
+ *
+ * @newin2p14.
+ */
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ double get_double(const Glib::ustring& group_name, const Glib::ustring& key) const;
+#else
+ double get_double(const Glib::ustring& group_name, const Glib::ustring& key, std::auto_ptr<Glib::Error>& error) const;
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+
+ /** Associates a new double value with @a key under @a group_name .
+ * If @a key cannot be found then it is created.
+ *
+ * @newin2p14
+ * @param group_name A group name.
+ * @param key A key.
+ * @param value An double value.
+ */
+ void set_double(const Glib::ustring& group_name, const Glib::ustring& key, double value);
+
+ /** Associates a new double value with @a key under the start group.
+ * If @a key cannot be found then it is created.
+ *
+ * @newin2p12
+ * @param key A key.
+ * @param value An double value.
+ */
+ void set_double(const Glib::ustring& key, double value);
+
/** Returns the values associated with @a key under @a group_name
* @param group_name The name of a group
* @param key The name of a key
@@ -414,6 +497,15 @@ public:
Glib::ArrayHandle<int> get_integer_list(const Glib::ustring& group_name, const Glib::ustring& key) const;
+ /** Returns the values associated with @a key under @a group_name
+ * @param group_name The name of a group
+ * @param key The name of a key
+ * @return A list of doubles
+ * @throws Glib::KeyFileError
+ */
+ Glib::ArrayHandle<double> get_double_list(const Glib::ustring& group_name, const Glib::ustring& key) const;
+
+
/** Get comment from top of file
* @return The comment
*/
@@ -530,7 +622,7 @@ public:
/** Sets a list of booleans for the @a key under @a group_name.
- * If either the @a key or @a group_name cannot be found they are created
+ * If either the @a key or @a group_name cannot be found they are created.
* @param group_name The name of a group
* @param key The name of a key
* @param list A list holding object of type bool
@@ -539,7 +631,7 @@ public:
/** Sets a list of integers for the @a key under @a group_name.
- * If either the @a key or @a group_name cannot be found they are created
+ * If either the @a key or @a group_name cannot be found they are created.
* @param group_name The name of a group
* @param key The name of a key
* @param list A list holding object of type int
@@ -547,6 +639,17 @@ public:
void set_integer_list(const Glib::ustring& group_name, const Glib::ustring& key, Glib::ArrayHandle<int>& list);
+ /** Sets a list of doubles for the @a key under @a group_name.
+ * If either the @a key or @a group_name cannot be found they are created.
+ * @param group_name The name of a group
+ * @param key The name of a key
+ * @param list A list holding object of type int
+ *
+ * @newin2p14
+ */
+ void set_double_list(const Glib::ustring& group_name, const Glib::ustring& key, Glib::ArrayHandle<double>& list);
+
+
/** Places @a comment at the start of the file, before the first group.
* @param comment The Comment
*/
diff --git a/libs/glibmm2/glib/glibmm/listhandle.h b/libs/glibmm2/glib/glibmm/listhandle.h
index 2f26eb9ab7..650944e7e1 100644
--- a/libs/glibmm2/glib/glibmm/listhandle.h
+++ b/libs/glibmm2/glib/glibmm/listhandle.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_LISTHANDLE_H
#define _GLIBMM_LISTHANDLE_H
-/* $Id: listhandle.h,v 1.3 2003/04/21 17:39:41 murrayc Exp $ */
+/* $Id: listhandle.h 32 2003-04-21 17:39:41Z murrayc $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/main.cc b/libs/glibmm2/glib/glibmm/main.cc
index 0075b49fd6..3ae43e3a4a 100644
--- a/libs/glibmm2/glib/glibmm/main.cc
+++ b/libs/glibmm2/glib/glibmm/main.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: main.cc,v 1.11 2006/05/12 08:08:43 murrayc Exp $ */
+/* $Id: main.cc 420 2007-06-22 15:29:58Z murrayc $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
@@ -288,6 +288,7 @@ SignalTimeout::SignalTimeout(GMainContext* context)
context_ (context)
{}
+/* Note that this is our equivalent of g_timeout_add(). */
sigc::connection SignalTimeout::connect(const sigc::slot<bool>& slot,
unsigned int interval, int priority)
{
@@ -310,6 +311,29 @@ sigc::connection SignalTimeout::connect(const sigc::slot<bool>& slot,
return connection;
}
+/* Note that this is our equivalent of g_timeout_add_seconds(). */
+sigc::connection SignalTimeout::connect_seconds(const sigc::slot<bool>& slot,
+ unsigned int interval, int priority)
+{
+ SourceConnectionNode *const conn_node = new SourceConnectionNode(slot);
+ const sigc::connection connection (*conn_node->get_slot());
+
+ GSource *const source = g_timeout_source_new_seconds(interval);
+
+ if(priority != G_PRIORITY_DEFAULT)
+ g_source_set_priority(source, priority);
+
+ g_source_set_callback(
+ source, &glibmm_source_callback, conn_node,
+ &SourceConnectionNode::destroy_notify_callback);
+
+ g_source_attach(source, context_);
+ g_source_unref(source); // GMainContext holds a reference
+
+ conn_node->install(source);
+ return connection;
+}
+
SignalTimeout signal_timeout()
{
return SignalTimeout(0); // 0 means default context
diff --git a/libs/glibmm2/glib/glibmm/main.h b/libs/glibmm2/glib/glibmm/main.h
index 1bd1be0c86..c4fe1ad19a 100644
--- a/libs/glibmm2/glib/glibmm/main.h
+++ b/libs/glibmm2/glib/glibmm/main.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_MAIN_H
#define _GLIBMM_MAIN_H
-/* $Id: main.h,v 1.9 2005/03/14 15:22:13 murrayc Exp $ */
+/* $Id: main.h 420 2007-06-22 15:29:58Z murrayc $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
@@ -166,6 +166,18 @@ public:
#endif
/** Connects a timeout handler.
+ *
+ * Note that timeout functions may be delayed, due to the processing of other
+ * event sources. Thus they should not be relied on for precise timing.
+ * After each call to the timeout function, the time of the next
+ * timeout is recalculated based on the current time and the given interval
+ * (it does not try to 'catch up' time lost in delays).
+ *
+ * If you want to have a timer in the "seconds" range and do not care
+ * about the exact time of the first call of the timer, use the
+ * connect_seconds() function; this function allows for more
+ * optimizations and more efficient system power usage.
+ *
* @code
* Glib::signal_timeout().connect(sigc::ptr_fun(&timeout_handler), 1000);
* @endcode
@@ -175,13 +187,45 @@ public:
* timeout_source->connect(sigc::ptr_fun(&timeout_handler));
* timeout_source->attach(Glib::MainContext::get_default());
* @endcode
- * @param slot A slot to call when @a interval elapsed.
+ * @param slot A slot to call when @a interval has elapsed.
* @param interval The timeout in milliseconds.
* @param priority The priority of the new event source.
* @return A connection handle, which can be used to disconnect the handler.
*/
sigc::connection connect(const sigc::slot<bool>& slot, unsigned int interval,
int priority = PRIORITY_DEFAULT);
+
+
+ /** Connects a timeout handler with whole second granularity.
+ *
+ * Unlike connect(), this operates at whole second granularity.
+ * The initial starting point of the timer is determined by the implementation
+ * and the implementation is expected to group multiple timers together so that
+ * they fire all at the same time.
+ *
+ * To allow this grouping, the @a interval to the first timer is rounded
+ * and can deviate up to one second from the specified interval.
+ * Subsequent timer iterations will generally run at the specified interval.
+ *
+ * @code
+ * Glib::signal_timeout().connect(sigc::ptr_fun(&timeout_handler), 1000);
+ * @endcode
+ * is equivalent to:
+ * @code
+ * const Glib::RefPtr<Glib::TimeoutSource> timeout_source = Glib::TimeoutSource::create(1000);
+ * timeout_source->connectseconds(sigc::ptr_fun(&timeout_handler));
+ * timeout_source->attach(Glib::MainContext::get_default());
+ * @endcode
+ * @param slot A slot to call when @a interval has elapsed.
+ * @param interval The timeout in seconds.
+ * @param priority The priority of the new event source.
+ * @return A connection handle, which can be used to disconnect the handler.
+ *
+ * @newin2p14
+ */
+ sigc::connection connect_seconds(const sigc::slot<bool>& slot, unsigned int interval,
+ int priority = PRIORITY_DEFAULT);
+
private:
GMainContext* context_;
diff --git a/libs/glibmm2/glib/glibmm/markup.h b/libs/glibmm2/glib/glibmm/markup.h
index 0ae7e68ffc..b3885cdfcf 100644
--- a/libs/glibmm2/glib/glibmm/markup.h
+++ b/libs/glibmm2/glib/glibmm/markup.h
@@ -153,11 +153,13 @@ typedef Glib::MarkupError Error;
Glib::ustring escape_text(const Glib::ustring& text);
-/** @addtogroup glibmmEnums Enums and Flags */
-
/** There are no flags right now. Pass <tt>Glib::Markup::ParseFlags(0)</tt> for
* the flags argument to all functions (this should be the default argument
* anyway).
+ */
+/** @addtogroup glibmmEnums Enums and Flags */
+
+/**
* @ingroup glibmmEnums
* @par Bitwise operators:
* <tt>%ParseFlags operator|(ParseFlags, ParseFlags)</tt><br>
@@ -170,7 +172,8 @@ Glib::ustring escape_text(const Glib::ustring& text);
*/
enum ParseFlags
{
- DO_NOT_USE_THIS_UNSUPPORTED_FLAG = 1 << 0
+ DO_NOT_USE_THIS_UNSUPPORTED_FLAG = 1 << 0,
+ TREAT_CDATA_AS_TEXT = 1 << 1
};
/** @ingroup glibmmEnums */
diff --git a/libs/glibmm2/glib/glibmm/miscutils.cc b/libs/glibmm2/glib/glibmm/miscutils.cc
index 57fa6ebb68..eb0ff01b09 100644
--- a/libs/glibmm2/glib/glibmm/miscutils.cc
+++ b/libs/glibmm2/glib/glibmm/miscutils.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: miscutils.cc,v 1.6 2006/09/10 14:38:53 jjongsma Exp $ */
+/* $Id: miscutils.cc 420 2007-06-22 15:29:58Z murrayc $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
@@ -31,22 +31,7 @@ namespace Glib
Glib::ustring get_application_name()
{
- if(const char *const application_name = g_get_application_name())
- {
- // Lets be a bit more strict than the original GLib function and ensure
- // we always return valid UTF-8. gtkmm coders surely won't expect invalid
- // UTF-8 in a Glib::ustring returned by a glibmm function.
-
- if(g_utf8_validate(application_name, -1, 0))
- return Glib::ustring(application_name);
-
- char *const appname_utf8 = g_filename_to_utf8(application_name, -1, 0, 0, 0);
- g_return_val_if_fail(appname_utf8 != 0, "");
-
- return Glib::ustring(ScopedPtr<char>(appname_utf8).get());
- }
-
- return Glib::ustring();
+ return convert_const_gchar_ptr_to_ustring (g_get_application_name());
}
void set_application_name(const Glib::ustring& application_name)
@@ -56,8 +41,7 @@ void set_application_name(const Glib::ustring& application_name)
std::string get_prgname()
{
- const char *const prgname = g_get_prgname();
- return (prgname) ? std::string(prgname) : std::string();
+ return convert_const_gchar_ptr_to_stdstring(g_get_prgname());
}
void set_prgname(const std::string& prgname)
@@ -69,13 +53,12 @@ std::string getenv(const std::string& variable, bool& found)
{
const char *const value = g_getenv(variable.c_str());
found = (value != 0);
- return (value) ? std::string(value) : std::string();
+ return convert_const_gchar_ptr_to_stdstring(value);
}
std::string getenv(const std::string& variable)
{
- const char *const value = g_getenv(variable.c_str());
- return (value) ? std::string(value) : std::string();
+ return convert_const_gchar_ptr_to_stdstring(g_getenv(variable.c_str()));
}
bool setenv(const std::string& variable, const std::string& value, bool overwrite)
@@ -90,175 +73,89 @@ void unsetenv(const std::string& variable)
std::string get_user_name()
{
- return std::string(g_get_user_name());
+ return convert_const_gchar_ptr_to_stdstring(g_get_user_name());
}
std::string get_real_name()
{
- return std::string(g_get_real_name());
+ return convert_const_gchar_ptr_to_stdstring(g_get_real_name());
}
std::string get_home_dir()
{
- const char *const value = g_get_home_dir();
- return (value) ? std::string(value) : std::string();
+ return convert_const_gchar_ptr_to_stdstring(g_get_home_dir());
}
std::string get_tmp_dir()
{
- return std::string(g_get_tmp_dir());
+ return convert_const_gchar_ptr_to_stdstring(g_get_tmp_dir());
}
std::string get_current_dir()
{
- const ScopedPtr<char> buf (g_get_current_dir());
- return std::string(buf.get());
+ return convert_return_gchar_ptr_to_stdstring(g_get_current_dir());
+}
+
+std::string get_user_special_dir(GUserDirectory directory)
+{
+ return convert_const_gchar_ptr_to_stdstring(g_get_user_special_dir(directory));
}
std::string get_user_data_dir()
{
- return std::string(g_get_user_data_dir());
+ return convert_const_gchar_ptr_to_stdstring(g_get_user_data_dir());
}
std::string get_user_config_dir()
{
- return std::string(g_get_user_config_dir());
+ return convert_const_gchar_ptr_to_stdstring(g_get_user_config_dir());
}
std::string get_user_cache_dir()
{
- return std::string(g_get_user_cache_dir());
+ return convert_const_gchar_ptr_to_stdstring(g_get_user_cache_dir());
}
bool path_is_absolute(const std::string& filename)
{
- return g_path_is_absolute(filename.c_str());
+ return (g_path_is_absolute(filename.c_str()) != 0);
}
std::string path_skip_root(const std::string& filename)
{
// g_path_skip_root() returns a pointer _into_ the argument string,
// or NULL if there was no root component.
-
- if(const char *const ptr = g_path_skip_root(filename.c_str()))
- return std::string(ptr);
- else
- return std::string();
+ return convert_const_gchar_ptr_to_stdstring(g_path_skip_root(filename.c_str()));
}
std::string path_get_basename(const std::string& filename)
{
- const ScopedPtr<char> buf (g_path_get_basename(filename.c_str()));
- return std::string(buf.get());
+ return convert_return_gchar_ptr_to_stdstring(g_path_get_basename(filename.c_str()));
}
std::string path_get_dirname(const std::string& filename)
{
- const ScopedPtr<char> buf (g_path_get_dirname(filename.c_str()));
- return std::string(buf.get());
+ return convert_return_gchar_ptr_to_stdstring(g_path_get_dirname(filename.c_str()));
}
std::string build_filename(const Glib::ArrayHandle<std::string>& elements)
{
- return Glib::convert_return_gchar_ptr_to_stdstring( g_build_filenamev(const_cast<char**>(elements.data())) );
-
+ return convert_return_gchar_ptr_to_stdstring(g_build_filenamev(const_cast<char**>(elements.data())));
}
std::string build_filename(const std::string& elem1, const std::string& elem2)
{
- const char *const elements[] = { elem1.c_str(), elem2.c_str(), 0 };
- return build_filename(elements);
+ return convert_return_gchar_ptr_to_stdstring(g_build_filename(elem1.c_str(), elem2.c_str(), static_cast<char*>(0)));
}
std::string build_path(const std::string& separator, const Glib::ArrayHandle<std::string>& elements)
{
- return Glib::convert_return_gchar_ptr_to_stdstring( g_build_pathv(separator.c_str(), const_cast<char**>(elements.data())) );
-
-/* Yes, this reimplements the functionality of g_build_path() -- because
- * it takes a varargs list, and calling it several times would result
- * in different behaviour.
- */
- /*
- std::string result;
- result.reserve(256); //TODO: Explain why this magic number is useful. murrayc
-
- const char *const sep = separator.c_str();
- const size_t seplen = separator.length();
-
- bool is_first = true;
- bool have_leading = false;
- const char* single_element = 0;
- const char* last_trailing = 0;
-
- const char *const *const elements_begin = elements.data();
- const char *const *const elements_end = elements_begin + elements.size();
-
- for(const char *const * pelement = elements_begin; pelement != elements_end; ++pelement)
- {
- const char* start = *pelement;
-
- if(*start == '\0')
- continue; // ignore empty elements
-
- if(seplen != 0)
- {
- while(strncmp(start, sep, seplen) == 0)
- start += seplen;
- }
-
- const char* end = start + strlen(start);
-
- if(seplen != 0)
- {
- while(end >= start + seplen && strncmp(end - seplen, sep, seplen) == 0)
- end -= seplen;
-
- last_trailing = end;
-
- while(last_trailing >= *pelement + seplen && strncmp(last_trailing - seplen, sep, seplen) == 0)
- last_trailing -= seplen;
-
- if(!have_leading)
- {
- // If the leading and trailing separator strings are in the
- // same element and overlap, the result is exactly that element.
- //
- if(last_trailing <= start)
- single_element = *pelement;
-
- result.append(*pelement, start);
- have_leading = true;
- }
- else
- single_element = 0;
- }
-
- if(end == start)
- continue;
-
- if(!is_first)
- result += separator;
-
- result.append(start, end);
- is_first = false;
- }
-
- if(single_element)
- result = single_element;
- else if(last_trailing)
- result += last_trailing;
-
- return result;
- */
+ return convert_return_gchar_ptr_to_stdstring(g_build_pathv(separator.c_str(), const_cast<char**>(elements.data())));
}
std::string find_program_in_path(const std::string& program)
{
- if(char *const buf = g_find_program_in_path(program.c_str()))
- return std::string(ScopedPtr<char>(buf).get());
- else
- return std::string();
+ return convert_return_gchar_ptr_to_stdstring(g_find_program_in_path(program.c_str()));
}
} // namespace Glib
-
diff --git a/libs/glibmm2/glib/glibmm/miscutils.h b/libs/glibmm2/glib/glibmm/miscutils.h
index 27658b54bb..3861c3772f 100644
--- a/libs/glibmm2/glib/glibmm/miscutils.h
+++ b/libs/glibmm2/glib/glibmm/miscutils.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_MISCUTILS_H
#define _GLIBMM_MISCUTILS_H
-/* $Id: miscutils.h,v 1.5 2006/09/10 14:38:53 jjongsma Exp $ */
+/* $Id: miscutils.h 428 2007-07-29 12:43:29Z murrayc $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
@@ -154,13 +154,31 @@ std::string get_tmp_dir();
*/
std::string get_current_dir();
+//TODO: We could create a C++ enum to wrap the C GUserDirectory enum,
+//but we would have to either be very careful, or define the enum
+//values in terms of the C enums anyway.
+/** Returns the full path of a special directory using its logical id.
+ *
+ * On Unix this is done using the XDG special user directories.
+ *
+ * Depending on the platform, the user might be able to change the path
+ * of the special directory without requiring the session to restart; GLib
+ * will not reflect any change once the special directories are loaded.
+ *
+ * Return value: the path to the specified special directory.
+ * @param directory Te logical id of special directory
+ *
+ * @newin2p14
+ */
+std::string get_user_special_dir(GUserDirectory directory);
+
/** Returns a base directory in which to access application data such as icons
* that is customized for a particular user.
*
* On UNIX platforms this is determined using the mechanisms described in the
* XDG Base Directory Specification
*
- * @since glibmm 2.14
+ * @newin2p14
*/
std::string get_user_data_dir();
@@ -170,7 +188,7 @@ std::string get_user_data_dir();
* On UNIX platforms this is determined using the mechanisms described in the
* XDG Base Directory Specification
*
- * @since glibmm 2.14
+ * @newin2p14
*/
std::string get_user_config_dir();
@@ -180,7 +198,7 @@ std::string get_user_config_dir();
* On UNIX platforms this is determined using the mechanisms described in the
* XDG Base Directory Specification
*
- * @since glibmm 2.14
+ * @newin2p14
*/
std::string get_user_cache_dir();
diff --git a/libs/glibmm2/glib/glibmm/object.cc b/libs/glibmm2/glib/glibmm/object.cc
index 9a9c82b7ec..8f616200a7 100644
--- a/libs/glibmm2/glib/glibmm/object.cc
+++ b/libs/glibmm2/glib/glibmm/object.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: object.cc,v 1.6 2004/06/20 03:41:20 daniel Exp $ */
+/* $Id: object.cc 369 2007-01-20 10:19:33Z daniel $ */
/* Copyright 1998-2002 The gtkmm Development Team
*
@@ -28,8 +28,6 @@
#include <cstdarg>
-#include <cstring>
-
//Weak references:
//I'm not sure what the point of these are apart from being a hacky way out of circular references,
//but maybe we could make it easier to use them by making a Java Reference Object -style class like so:
@@ -59,10 +57,15 @@ ConstructParams::ConstructParams(const Glib::Class& glibmm_class_)
parameters (0)
{}
-/* The implementation is mostly copied from gobject.c, with some minor tweaks.
+/*
+ * The implementation is mostly copied from gobject.c, with some minor tweaks.
* Basically, it looks up each property name to get its GType, and then uses
* G_VALUE_COLLECT() to store the varargs argument in a GValue of the correct
* type.
+ *
+ * Note that the property name arguments are assumed to be static string
+ * literals. No attempt is made to copy the string content. This is no
+ * different from g_object_new().
*/
ConstructParams::ConstructParams(const Glib::Class& glibmm_class_,
const char* first_property_name, ...)
@@ -89,7 +92,7 @@ ConstructParams::ConstructParams(const Glib::Class& glibmm_class_,
if(!pspec)
{
g_warning("Glib::ConstructParams::ConstructParams(): "
- "object class `%s' has no property named `%s'",
+ "object class \"%s\" has no property named \"%s\"",
g_type_name(glibmm_class.get_type()), name);
break;
}
@@ -131,7 +134,7 @@ ConstructParams::~ConstructParams()
}
/*
- * Some compilers require the existance of a copy constructor in certain
+ * Some compilers require the existence of a copy constructor in certain
* usage contexts. This implementation is fully functional, but unlikely
* to be ever actually called due to optimization.
*/
@@ -196,13 +199,10 @@ Object::Object()
if(custom_type_name_ && !is_anonymous_custom_())
{
object_class_.init();
- object_type = object_class_.clone_custom_type(custom_type_name_); //A type that is derived from GObject.
+ // This creates a type that is derived (indirectly) from GObject.
+ object_type = object_class_.clone_custom_type(custom_type_name_);
}
- // Create a new GObject with the specified array of construct properties.
- // This works with custom types too, since those inherit the properties of
- // their base class.
-
void *const new_object = g_object_newv(object_type, 0, 0);
// Connect the GObject and Glib::Object instances.
diff --git a/libs/glibmm2/glib/glibmm/object.h b/libs/glibmm2/glib/glibmm/object.h
index 6a06848b66..a44300d464 100644
--- a/libs/glibmm2/glib/glibmm/object.h
+++ b/libs/glibmm2/glib/glibmm/object.h
@@ -1,7 +1,7 @@
// -*- c++ -*-
#ifndef _GLIBMM_OBJECT_H
#define _GLIBMM_OBJECT_H
-/* $Id: object.h,v 1.14 2006/06/19 20:43:42 murrayc Exp $ */
+/* $Id: object.h 369 2007-01-20 10:19:33Z daniel $ */
/* Copyright 2002 The gtkmm Development Team
*
@@ -23,15 +23,16 @@
//X11 defines DestroyNotify and some other non-prefixed stuff, and it's too late to change that now,
//so let's give people a clue about the compilation errors that they will see:
#ifdef DestroyNotify
- #error "X11/Xlib.h seems to have been included before this header. Due to some commonly-named macros in X11/Xlib.h, it may only be included after any glibmm, gdkmm, or gtkmm headers."
-#endif //DestroyNotify
+# error "X11/Xlib.h seems to have been included before this header. Due to some commonly-named macros in X11/Xlib.h, it may only be included after any glibmm, gdkmm, or gtkmm headers."
+#endif
+#include <glib/gmacros.h> /* for G_GNUC_NULL_TERMINATED */
#include <glibmm/objectbase.h>
#include <glibmm/wrap.h>
#include <glibmm/quark.h>
#include <glibmm/refptr.h>
#include <glibmm/utility.h> /* Could be private, but that would be tedious. */
-#include <glibmm/containerhandle_shared.h> //Because its specializations may be here.
+#include <glibmm/containerhandle_shared.h> /* Because its specializations may be here. */
#include <glibmm/value.h>
#include <glibmmconfig.h>
@@ -60,7 +61,7 @@ class GSigConnectionNode;
* involved, since g_object_new() is just a wrapper around g_object_newv()
* as well.
*
- * The advantage of an auxilary ConstructParams object over g_object_new()
+ * The advantage of an auxiliary ConstructParams object over g_object_new()
* is that the actual construction is always done in the Glib::Object ctor.
* This allows for neat tricks like easy creation of derived custom types,
* without adding special support to each ctor of every class.
@@ -76,16 +77,18 @@ public:
GParameter* parameters;
explicit ConstructParams(const Glib::Class& glibmm_class_);
- ConstructParams(const Glib::Class& glibmm_class_, const char* first_property_name, ...);
+ ConstructParams(const Glib::Class& glibmm_class_, const char* first_property_name, ...)
+ G_GNUC_NULL_TERMINATED; // warn if called without a trailing NULL pointer
~ConstructParams();
- // This is only used by the C++ compiler (since g++ 3.4) to create temporary instances.
- // Apparently the compiler will actually optimize away the use of this.
- // See bug #132300.
+ // The copy constructor is semantically required by the C++ compiler
+ // (since g++ 3.4) to be able to create temporary instances, depending
+ // on the usage context. Apparently the compiler will actually optimize
+ // away the copy, though. See bug #132300.
ConstructParams(const ConstructParams& other);
private:
- // noncopyable
+ // no copy assignment
ConstructParams& operator=(const ConstructParams&);
};
@@ -158,7 +161,7 @@ private:
//For some (proably, more spec-compliant) compilers, these specializations must
//be next to the objects that they use.
#ifndef GLIBMM_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION
-#ifndef DOXYGEN_SHOULD_SKIP_THIS /* hide the specializations */
+# ifndef DOXYGEN_SHOULD_SKIP_THIS /* hide the specializations */
namespace Container_Helpers
{
@@ -174,9 +177,9 @@ struct TypeTraits< Glib::RefPtr<T> >
typedef typename T::BaseObjectType * CType;
typedef typename T::BaseObjectType * CTypeNonConst;
- static CType to_c_type (const CppType& ptr) { return Glib::unwrap(ptr); }
- static CType to_c_type (CType ptr) { return ptr; }
- static CppType to_cpp_type (CType ptr)
+ static CType to_c_type (const CppType& ptr) { return Glib::unwrap(ptr); }
+ static CType to_c_type (CType ptr) { return ptr; }
+ static CppType to_cpp_type(CType ptr)
{
//return Glib::wrap(ptr, true);
@@ -189,7 +192,7 @@ struct TypeTraits< Glib::RefPtr<T> >
//We use dynamic_cast<> in case of multiple inheritance.
}
- static void release_c_type (CType ptr)
+ static void release_c_type(CType ptr)
{
GLIBMM_DEBUG_UNREFERENCE(0, ptr);
g_object_unref(ptr);
@@ -197,7 +200,7 @@ struct TypeTraits< Glib::RefPtr<T> >
};
//This confuses the SUN Forte compiler, so we ifdef it out:
-#ifdef GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS
+# ifdef GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS
/** Partial specialization for pointers to const GObject instances.
* @ingroup ContHelpers
@@ -210,9 +213,9 @@ struct TypeTraits< Glib::RefPtr<const T> >
typedef const typename T::BaseObjectType * CType;
typedef typename T::BaseObjectType * CTypeNonConst;
- static CType to_c_type (const CppType& ptr) { return Glib::unwrap(ptr); }
- static CType to_c_type (CType ptr) { return ptr; }
- static CppType to_cpp_type (CType ptr)
+ static CType to_c_type (const CppType& ptr) { return Glib::unwrap(ptr); }
+ static CType to_c_type (CType ptr) { return ptr; }
+ static CppType to_cpp_type(CType ptr)
{
//return Glib::wrap(ptr, true);
@@ -225,14 +228,14 @@ struct TypeTraits< Glib::RefPtr<const T> >
//We use dynamic_cast<> in case of multiple inheritance.
}
- static void release_c_type (CType ptr)
+ static void release_c_type (CType ptr)
{
GLIBMM_DEBUG_UNREFERENCE(0, ptr);
g_object_unref(const_cast<CTypeNonConst>(ptr));
}
};
-#endif //GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS
+# endif /* GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS */
} //namespace Container_Helpers
@@ -261,7 +264,7 @@ public:
};
//The SUN Forte Compiler has a problem with this:
-#ifdef GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS
+# ifdef GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS
/** Partial specialization for RefPtr<> to const Glib::Object.
* @ingroup glibmmValue
@@ -278,11 +281,10 @@ public:
void set(const CppType& data) { set_object(const_cast<T*>(data.operator->())); }
CppType get() const { return Glib::RefPtr<T>::cast_dynamic(get_object_copy()); }
};
-#endif //GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS
-
+# endif /* GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS */
-#endif //DOXYGEN_SHOULD_SKIP_THIS
-#endif //GLIBMM_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION
+# endif /* DOXYGEN_SHOULD_SKIP_THIS */
+#endif /* GLIBMM_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION */
} // namespace Glib
diff --git a/libs/glibmm2/glib/glibmm/objectbase.cc b/libs/glibmm2/glib/glibmm/objectbase.cc
index fb0a61a164..237c41fed3 100644
--- a/libs/glibmm2/glib/glibmm/objectbase.cc
+++ b/libs/glibmm2/glib/glibmm/objectbase.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: objectbase.cc,v 1.8 2006/11/10 02:24:49 murrayc Exp $ */
+/* $Id: objectbase.cc 337 2006-11-10 02:24:49Z murrayc $ */
/* Copyright 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/objectbase.h b/libs/glibmm2/glib/glibmm/objectbase.h
index a4bf9a526c..623726bd7f 100644
--- a/libs/glibmm2/glib/glibmm/objectbase.h
+++ b/libs/glibmm2/glib/glibmm/objectbase.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_OBJECTBASE_H
#define _GLIBMM_OBJECTBASE_H
-/* $Id: objectbase.h,v 1.13 2006/11/10 02:24:49 murrayc Exp $ */
+/* $Id: objectbase.h 385 2007-03-23 17:23:42Z murrayc $ */
/* Copyright 2002 The gtkmm Development Team
*
@@ -25,6 +25,7 @@
#include <glibmm/propertyproxy.h>
#include <glibmm/ustring.h>
#include <glibmm/value.h>
+#include <glibmm/quark.h>
#include <sigc++/trackable.h>
#include <typeinfo>
#include <glibmmconfig.h>
@@ -134,7 +135,24 @@ public:
GObject* gobj_copy() const;
#ifndef DOXYGEN_SHOULD_SKIP_THIS
- static ObjectBase* _get_current_wrapper(GObject* object);
+
+ /// This is for use by gtkmm wrappers only, and not by applications.
+ static ObjectBase* _get_current_wrapper(GObject* object); //We keep this non-inline version, to preserve ABI.
+
+ // This is commented-out because it's not clear yet whether it's a worthwhile optimization.
+ /// This is for use by gtkmm wrappers only, and not by applications.
+ //
+ //inline static ObjectBase* _get_current_wrapper_inline(GObject* object)
+ //{
+ // // This is what g_object_get_qdata does internally. However,
+ // // g_object_get_qdata does an addition G_IS_OBJECT(object) check that
+ // // needs three times as much time as the actual lookup.
+ // if(object)
+ // return static_cast<ObjectBase*>(g_datalist_id_get_data(&object->qdata, Glib::quark_));
+ // else
+ // return 0;
+ //}
+
bool _cpp_destruction_is_in_progress() const;
#endif //DOXYGEN_SHOULD_SKIP_THIS
@@ -146,8 +164,21 @@ protected:
bool cpp_destruction_in_progress_;
bool is_anonymous_custom_() const;
- bool is_derived_() const;
+public: // is_derived_() must be public, so that overridden vfuncs and signal handlers can call it via ObjectBase.
+
+ /// This is for use by gtkmm wrappers only, and not by applications.
+ bool is_derived_() const; //We keep this non-inline version, to preserve ABI.
+
+ //This is commented-out because it's not clear yet whether it's a worthwhile optimization.
+ //
+ /// This is for use by gtkmm wrappers only, and not by applications.
+ //inline bool is_derived_inline_() const
+ //{
+ // return (custom_type_name_ != 0);
+ //}
+
+protected:
static void destroy_notify_callback_(void* data);
virtual void destroy_notify_();
diff --git a/libs/glibmm2/glib/glibmm/optioncontext.cc b/libs/glibmm2/glib/glibmm/optioncontext.cc
index 64d9468f2a..df6408fc40 100644
--- a/libs/glibmm2/glib/glibmm/optioncontext.cc
+++ b/libs/glibmm2/glib/glibmm/optioncontext.cc
@@ -25,11 +25,41 @@
*/
#include <glibmm/utility.h>
+#include <glibmm/exceptionhandler.h>
#include <glib/goption.h>
namespace Glib
{
+ namespace Private
+ {
+ static const gchar* SignalProxy_translate_gtk_callback (const gchar* str, gpointer data)
+ {
+ Glib::ustring translated_str;
+ Glib::OptionContext::SlotTranslate* the_slot =
+ static_cast<Glib::OptionContext::SlotTranslate*>(data);
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+ translated_str = (*the_slot)(str);
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+ return translated_str.c_str ();
+ }
+
+ static void SignalProxy_translate_gtk_callback_destroy (gpointer data)
+ {
+ delete static_cast<Glib::OptionContext::SlotTranslate*>(data);
+ }
+
+ } //namespace Private
OptionContext::OptionContext(const Glib::ustring& parameter_string)
: gobject_( g_option_context_new(parameter_string.c_str()) ),
@@ -74,9 +104,18 @@ OptionGroup OptionContext::get_main_group() const
*/
-
-} // namespace Glib
+void OptionContext::set_translate_func (const SlotTranslate& slot)
+{
+ //Create a copy of the slot. A pointer to this will be passed through the callback's data parameter.
+ //It will be deleted when SignalProxy_translate_gtk_callback_destroy() is called.
+ SlotTranslate* slot_copy = new SlotTranslate(slot);
+ g_option_context_set_translate_func(
+ gobj(), &Private::SignalProxy_translate_gtk_callback, slot_copy,
+ &Private::SignalProxy_translate_gtk_callback_destroy);
+}
+
+} // namespace Glib
namespace
{
@@ -156,6 +195,31 @@ bool OptionContext::parse(int& argc, char**& argv, std::auto_ptr<Glib::Error>& e
}
+void OptionContext::set_summary(const Glib::ustring& summary)
+{
+g_option_context_set_summary(gobj(), summary.c_str());
+}
+
+Glib::ustring OptionContext::get_summary() const
+{
+ return Glib::convert_const_gchar_ptr_to_ustring(g_option_context_get_summary(const_cast<GOptionContext*>(gobj())));
+}
+
+void OptionContext::set_description(const Glib::ustring& description)
+{
+g_option_context_set_description(gobj(), description.c_str());
+}
+
+Glib::ustring OptionContext::get_description() const
+{
+ return Glib::convert_const_gchar_ptr_to_ustring(g_option_context_get_description(const_cast<GOptionContext*>(gobj())));
+}
+
+void OptionContext::set_translation_domain(const Glib::ustring& domain)
+{
+g_option_context_set_translation_domain(gobj(), domain.c_str());
+}
+
} // namespace Glib
diff --git a/libs/glibmm2/glib/glibmm/optioncontext.h b/libs/glibmm2/glib/glibmm/optioncontext.h
index ee645eb66b..cf159bdc1f 100644
--- a/libs/glibmm2/glib/glibmm/optioncontext.h
+++ b/libs/glibmm2/glib/glibmm/optioncontext.h
@@ -27,6 +27,7 @@
#include <glibmm/optionentry.h>
#include <glibmm/optiongroup.h>
#include <glibmm/error.h>
+#include <sigc++/signal.h>
#ifndef DOXYGEN_SHOULD_SKIP_THIS
extern "C" { typedef struct _GOptionContext GOptionContext; }
@@ -103,8 +104,7 @@ public:
*/
void set_help_enabled(bool help_enabled = true);
- /** Returns whether automatic &lt;option&gt;--help&lt;/option&gt; generation
- * is turned on for @a context . See g_option_context_set_help_enabled().
+ /** Returns: <tt>true</tt> if automatic help generation is turned on.
* @return <tt>true</tt> if automatic help generation is turned on.
*
* @newin2p6.
@@ -125,8 +125,7 @@ public:
*/
void set_ignore_unknown_options(bool ignore_unknown = true);
- /** Returns whether unknown options are ignored or not. See
- * g_option_context_set_ignore_unknown_options().
+ /** Returns: <tt>true</tt> if unknown options are ignored.
* @return <tt>true</tt> if unknown options are ignored.
*
* @newin2p6.
@@ -151,6 +150,11 @@ public:
* @a argv array contains one of the recognized help options,
* this function will produce help output to stdout and
* call <tt>exit (0)</tt>.
+ *
+ * Note that function depends on the
+ * current locale for
+ * automatic character set conversion of string and filename
+ * arguments.
* @param argc A pointer to the number of command line arguments.
* @param argv A pointer to the array of command line arguments.
* @param error A return location for errors.
@@ -195,6 +199,68 @@ public:
GOptionContext* gobj() { return gobject_; }
const GOptionContext* gobj() const { return gobject_; }
+
+ /** Adds a string to be displayed in --help output before the list of options. This
+ * is typically a summary of the program functionality.
+ *
+ * Note that the summary is translated (see set_translate_func(),
+ * set_translation_domain()).
+ *
+ * @newin2p14
+ */
+ void set_summary(const Glib::ustring& summary);
+
+ /** Returns: the summary
+ * See set_summary() for more information
+ * @return The summary
+ *
+ * @newin2p14.
+ */
+ Glib::ustring get_summary() const;
+
+ /** Adds a string to be displayed in --help output after the list of
+ * options. This text often includes a bug reporting address.
+ *
+ * Note that the summary is translated (see set_translate_func()).
+ *
+ * @newin2p14
+ */
+ void set_description(const Glib::ustring& description);
+
+ /** Returns: the description
+ * See set_description() for more information
+ * @return The description
+ *
+ * @newin2p14.
+ */
+ Glib::ustring get_description() const;
+
+
+ /** A convenience function to use gettext() for translating
+ * user-visible strings.
+ *
+ * @newin2p14
+ */
+ void set_translation_domain(const Glib::ustring& domain);
+
+ /**
+ * This function is used to translate user-visible strings, for --help output.
+ * The function takes an untranslated string and returns a translated string
+ */
+ typedef sigc::slot<Glib::ustring, const Glib::ustring&> SlotTranslate;
+
+ /**
+ * Sets the function which is used to translate user-visible
+ * strings, for --help output. Different groups can use different functions.
+ *
+ * If you are using gettext(), you only need to set the translation domain,
+ * see set_translation_domain().
+ *
+ * @newin2p14
+ */
+ void set_translate_func (const SlotTranslate& slot);
+
+
protected:
GOptionContext* gobject_;
diff --git a/libs/glibmm2/glib/glibmm/optiongroup.cc b/libs/glibmm2/glib/glibmm/optiongroup.cc
index 42d61fe42a..01ac81d0db 100644
--- a/libs/glibmm2/glib/glibmm/optiongroup.cc
+++ b/libs/glibmm2/glib/glibmm/optiongroup.cc
@@ -5,7 +5,7 @@
#include <glibmm/private/optiongroup_p.h>
// -*- c++ -*-
-/* $Id: optiongroup.ccg,v 1.17 2006/01/28 12:09:22 murrayc Exp $ */
+/* $Id: optiongroup.ccg,v 1.15.4.3 2006/03/30 12:19:58 murrayc Exp $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
@@ -28,6 +28,7 @@
#include <glibmm/optioncontext.h>
#include <glibmm/utility.h>
//#include <glibmm/containers.h>
+#include <glib/gmem.h> // g_malloc
#include <glib/goption.h>
namespace Glib
@@ -43,7 +44,7 @@ static gboolean g_callback_pre_parse(GOptionContext* context, GOptionGroup* /* g
{
OptionContext cppContext(context, false /* take_ownership */);
//OptionGroup cppGroup(group, true /* take_copy */); //Maybe this should be option_group.
-
+
OptionGroup* option_group = static_cast<OptionGroup*>(data);
if(option_group)
return option_group->on_pre_parse(cppContext, *option_group);
@@ -55,7 +56,7 @@ static gboolean g_callback_post_parse(GOptionContext* context, GOptionGroup* /*
{
OptionContext cppContext(context, false /* take_ownership */);
//OptionGroup cppGroup(group, true /* take_copy */); //Maybe this should be option_group.
-
+
OptionGroup* option_group = static_cast<OptionGroup*>(data);
if(option_group)
{
@@ -69,7 +70,7 @@ static void g_callback_error(GOptionContext* context, GOptionGroup* /* group */,
{
OptionContext cppContext(context, false /* take_ownership */);
//OptionGroup cppGroup(group); //Maybe this should be option_group.
-
+
OptionGroup* option_group = static_cast<OptionGroup*>(data);
if(option_group)
return option_group->on_error(cppContext, *option_group);
@@ -105,7 +106,7 @@ OptionGroup::~OptionGroup()
CppOptionEntry& cpp_entry = iter->second;
cpp_entry.release_c_arg();
}
-
+
if(has_ownership_)
{
g_option_group_free(gobj());
@@ -116,15 +117,15 @@ OptionGroup::~OptionGroup()
void OptionGroup::add_entry(const OptionEntry& entry)
{
//It does not copy the entry, so it needs to live as long as the group.
-
+
//g_option_group_add_entries takes an array, with the last item in the array having a null long_name.
//Hopefully this will be properly documented eventually - see bug #
-
+
//Create a temporary array, just so we can give the correct thing to g_option_group_add_entries:
GOptionEntry array[2];
array[0] = *(entry.gobj()); //Copy contents.
GLIBMM_INITIALIZE_STRUCT(array[1], GOptionEntry);
-
+
g_option_group_add_entries(gobj(), array);
}
@@ -163,10 +164,11 @@ void OptionGroup::add_entry_with_wrapper(const OptionEntry& entry, GOptionArg ar
const Glib::ustring name = entry.get_long_name();
type_map_entries::iterator iterFind = map_entries_.find(name);
if( iterFind == map_entries_.end() ) //If we have not added this entry already
- {
+ {
CppOptionEntry cppEntry;
cppEntry.carg_type_ = arg_type;
cppEntry.allocate_c_arg();
+ cppEntry.set_c_arg_default(cpp_arg);
cppEntry.cpparg_ = cpp_arg;
@@ -177,36 +179,35 @@ void OptionGroup::add_entry_with_wrapper(const OptionEntry& entry, GOptionArg ar
cppEntry.entry_->gobj()->arg = arg_type;
cppEntry.entry_->gobj()->arg_data = cppEntry.carg_;
-
+
//Remember the C++/C mapping so that we can use it later:
map_entries_[name] = cppEntry;
add_entry(*(cppEntry.entry_));
}
}
-
+
bool OptionGroup::on_pre_parse(OptionContext& /* context */, OptionGroup& /* group */)
{
-
return true;
}
bool OptionGroup::on_post_parse(OptionContext& /* context */, OptionGroup& /* group */)
{
//Call this at the start of overrides.
-
+
//TODO: Maybe put this in the C callback:
-
+
//The C args have now been given values by GOption.
//Convert C values to C++ values:
-
+
for(type_map_entries::iterator iter = map_entries_.begin(); iter != map_entries_.end(); ++iter)
{
CppOptionEntry& cpp_entry = iter->second;
cpp_entry.convert_c_to_cpp();
}
-
+
return true;
}
@@ -218,20 +219,24 @@ void OptionGroup::on_error(OptionContext& /* context */, OptionGroup& /* group *
OptionGroup::CppOptionEntry::CppOptionEntry()
: carg_type_(G_OPTION_ARG_NONE), carg_(0), cpparg_(0), entry_(0)
{}
-
+
void OptionGroup::CppOptionEntry::allocate_c_arg()
{
//Create an instance of the appropriate C type.
//This will be destroyed in the OptionGroup destructor.
+ //
+ //We must also call set_c_arg_default() to give these C types the specified defaults based on the C++-typed arguments.
switch(carg_type_)
{
case G_OPTION_ARG_STRING: //The char* will be for UTF8 strins.
case G_OPTION_ARG_FILENAME: //The char* will be for strings in the current locale's encoding.
{
char** typed_arg = new char*;
- *typed_arg = 0; //The C code will allocate a char* and put it here, for us to g_free() later.
+ //The C code will allocate a char* and put it here, for us to g_free() later.
+ //Alternatively, set_c_arg_default() might allocate a char*, and the C code might or might not free and replace that.
+ *typed_arg = 0;
carg_ = typed_arg;
-
+
break;
}
case G_OPTION_ARG_INT:
@@ -239,7 +244,7 @@ void OptionGroup::CppOptionEntry::allocate_c_arg()
int* typed_arg = new int;
*typed_arg = 0;
carg_ = typed_arg;
-
+
break;
}
case G_OPTION_ARG_STRING_ARRAY:
@@ -248,7 +253,7 @@ void OptionGroup::CppOptionEntry::allocate_c_arg()
char*** typed_arg = new char**;
*typed_arg = 0;
carg_ = typed_arg;
-
+
break;
}
case G_OPTION_ARG_NONE: /* Actually a boolean. */
@@ -256,7 +261,88 @@ void OptionGroup::CppOptionEntry::allocate_c_arg()
gboolean* typed_arg = new gboolean;
*typed_arg = 0;
carg_ = typed_arg;
-
+
+ break;
+ }
+ default:
+ {
+ break;
+ }
+ }
+}
+
+void OptionGroup::CppOptionEntry::set_c_arg_default(void* cpp_arg)
+{
+ switch(carg_type_)
+ {
+ case G_OPTION_ARG_INT:
+ {
+ *static_cast<int*>(carg_) = *static_cast<int*>(cpp_arg);
+ break;
+ }
+ case G_OPTION_ARG_NONE:
+ {
+ *static_cast<gboolean*>(carg_) = *static_cast<bool*>(cpp_arg);
+ break;
+ }
+ case G_OPTION_ARG_STRING:
+ {
+ Glib::ustring* typed_cpp_arg = static_cast<Glib::ustring*>(cpp_arg);
+ if(typed_cpp_arg && !typed_cpp_arg->empty())
+ {
+ const char** typed_c_arg = static_cast<const char**>(carg_);
+ *typed_c_arg = g_strdup(typed_cpp_arg->c_str()); //Freed in release_c_arg().
+ }
+ break;
+ }
+ case G_OPTION_ARG_FILENAME:
+ {
+ std::string* typed_cpp_arg = static_cast<std::string*>(cpp_arg);
+ if(typed_cpp_arg && !typed_cpp_arg->empty())
+ {
+ const char** typed_c_arg = static_cast<const char**>(carg_);
+ *typed_c_arg = g_strdup(typed_cpp_arg->c_str()); //Freed in release_c_arg().
+ }
+ break;
+ }
+ case G_OPTION_ARG_STRING_ARRAY:
+ {
+ std::vector<Glib::ustring>* typed_cpp_arg = static_cast<std::vector<Glib::ustring>*>(cpp_arg);
+ if(typed_cpp_arg)
+ {
+ std::vector<Glib::ustring>& vec = *typed_cpp_arg;
+ const char** array = static_cast<const char**>( g_malloc(sizeof(gchar*) * (vec.size() + 1)) );
+
+ for(std::vector<Glib::ustring>::size_type i = 0; i < vec.size(); ++i)
+ {
+ array[i] = g_strdup( vec[i].c_str() );
+ }
+
+ array[vec.size()] = 0;
+
+ const char*** typed_c_arg = static_cast<const char***>(carg_);
+ *typed_c_arg = array;
+ }
+ break;
+ }
+ case G_OPTION_ARG_FILENAME_ARRAY:
+ {
+ std::vector<std::string>* typed_cpp_arg = static_cast<std::vector<std::string>*>(cpp_arg);
+ if(typed_cpp_arg)
+ {
+ std::vector<std::string>& vec = *typed_cpp_arg;
+ const char** array = static_cast<const char**>( g_malloc(sizeof(gchar*) * (vec.size() + 1)) );
+
+ for(std::vector<Glib::ustring>::size_type i = 0; i < vec.size(); ++i)
+ {
+ array[i] = g_strdup( vec[i].c_str() );
+ }
+
+ array[vec.size()] = 0;
+
+ const char*** typed_c_arg = static_cast<const char***>(carg_);
+ *typed_c_arg = array;
+ }
break;
}
default:
@@ -277,15 +363,15 @@ void OptionGroup::CppOptionEntry::release_c_arg()
case G_OPTION_ARG_STRING:
case G_OPTION_ARG_FILENAME:
{
- char** typed_arg = (char**)carg_;
+ char** typed_arg = static_cast<char**>(carg_);
g_free(*typed_arg); //Free the char* string at type_arg, which was allocated by the C code.
delete typed_arg; //Delete the char** that we allocated in allocate_c_arg;
-
+
break;
}
case G_OPTION_ARG_INT:
{
- int* typed_arg = (int*)carg_;
+ int* typed_arg = static_cast<int*>(carg_);
delete typed_arg;
break;
@@ -298,23 +384,23 @@ void OptionGroup::CppOptionEntry::release_c_arg()
}
case G_OPTION_ARG_NONE: /* Actually a boolean. */
{
- gboolean* typed_arg = (gboolean*)carg_;
+ gboolean* typed_arg = static_cast<gboolean*>(carg_);
delete typed_arg;
break;
}
default:
{
- /* TODO:
- G_OPTION_ARG_CALLBACK,
-*/
+ /* TODO:
+ G_OPTION_ARG_CALLBACK,
+ */
break;
}
}
-
+
carg_ = 0;
}
-
+
if(entry_)
delete entry_;
}
@@ -325,44 +411,44 @@ void OptionGroup::CppOptionEntry::convert_c_to_cpp()
{
case G_OPTION_ARG_STRING:
{
- char** typed_arg = (char**)carg_;
- Glib::ustring* typed_cpp_arg = (Glib::ustring*)cpparg_;
+ char** typed_arg = static_cast<char**>(carg_);
+ Glib::ustring* typed_cpp_arg = static_cast<Glib::ustring*>(cpparg_);
if(typed_arg && typed_cpp_arg)
{
char* pch = *typed_arg;
(*typed_cpp_arg) = Glib::convert_const_gchar_ptr_to_ustring(pch);
-
+
break;
}
}
case G_OPTION_ARG_FILENAME:
{
- char** typed_arg = (char**)carg_;
- std::string* typed_cpp_arg = (std::string*)cpparg_;
+ char** typed_arg = static_cast<char**>(carg_);
+ std::string* typed_cpp_arg = static_cast<std::string*>(cpparg_);
if(typed_arg && typed_cpp_arg)
{
char* pch = *typed_arg;
(*typed_cpp_arg) = Glib::convert_const_gchar_ptr_to_stdstring(pch);
-
+
break;
}
}
case G_OPTION_ARG_INT:
{
- *((int*)cpparg_) = *((int*)carg_);
+ *((int*)cpparg_) = *(static_cast<int*>(carg_));
break;
}
case G_OPTION_ARG_STRING_ARRAY:
{
- char*** typed_arg = (char***)carg_;
- vecustrings* typed_cpp_arg = (vecustrings*)cpparg_;
+ char*** typed_arg = static_cast<char***>(carg_);
+ vecustrings* typed_cpp_arg = static_cast<vecustrings*>(cpparg_);
if(typed_arg && typed_cpp_arg)
{
typed_cpp_arg->clear();
-
+
//The C array seems to be null-terminated.
//Glib::StringArrayHandle array_handle(*typed_arg, Glib::OWNERSHIP_NONE);
-
+
//The SUN Forte compiler complains about this:
// "optiongroup.cc", line 354: Error: Cannot assign Glib::ArrayHandle<Glib::ustring,
// Glib::Container_Helpers::TypeTraits<Glib::ustring>> to std::vector<Glib::ustring> without
@@ -375,14 +461,14 @@ void OptionGroup::CppOptionEntry::convert_c_to_cpp()
// cxx: Error: ../../glib/glibmm/containerhandle_shared.h, line 149: the operand
// of a pointer dynamic_cast must be a pointer to a complete class type
// return dynamic_cast<CppType>(Glib::wrap_auto(cobj, false /* take_copy */));
-
+
//for(Glib::StringArrayHandle::iterator iter = array_handle.begin(); iter != array_handle.end(); ++iter)
//{
// typed_cpp_arg->push_back(*iter);
//}
-
+
//So we do this:
-
+
char** char_array_next = *typed_arg;
while(char_array_next && *char_array_next)
{
@@ -390,19 +476,19 @@ void OptionGroup::CppOptionEntry::convert_c_to_cpp()
++char_array_next;
}
}
-
+
break;
}
case G_OPTION_ARG_FILENAME_ARRAY:
{
- char*** typed_arg = (char***)carg_;
- vecustrings* typed_cpp_arg = (vecustrings*)cpparg_;
+ char*** typed_arg = static_cast<char***>(carg_);
+ vecustrings* typed_cpp_arg = static_cast<vecustrings*>(cpparg_);
if(typed_arg && typed_cpp_arg)
{
typed_cpp_arg->clear();
-
+
//See comments above about the SUN Forte and Tru64 compilers.
-
+
char** char_array_next = *typed_arg;
while(char_array_next && *char_array_next)
{
@@ -410,20 +496,20 @@ void OptionGroup::CppOptionEntry::convert_c_to_cpp()
++char_array_next;
}
}
-
+
break;
}
case G_OPTION_ARG_NONE: /* Actually a boolean. */
{
- *((bool*)cpparg_) = *((gboolean*)carg_);
+ *(static_cast<bool*>(cpparg_)) = *(static_cast<gboolean*>(carg_));
break;
}
default:
{
/* TODO:
- G_OPTION_ARG_CALLBACK,
- */
- break;
+ G_OPTION_ARG_CALLBACK,
+ */
+ break;
}
}
}
@@ -433,7 +519,7 @@ GOptionGroup* OptionGroup::gobj_give_ownership()
has_ownership_ = false;
return gobj();
}
-
+
} // namespace Glib
diff --git a/libs/glibmm2/glib/glibmm/optiongroup.h b/libs/glibmm2/glib/glibmm/optiongroup.h
index b3419ba13f..57340fefdf 100644
--- a/libs/glibmm2/glib/glibmm/optiongroup.h
+++ b/libs/glibmm2/glib/glibmm/optiongroup.h
@@ -4,7 +4,7 @@
#define _GLIBMM_OPTIONGROUP_H
-/* $Id: optiongroup.hg,v 1.10 2005/01/10 17:42:17 murrayc Exp $ */
+/* $Id: optiongroup.hg,v 1.10.4.1 2006/03/30 12:19:58 murrayc Exp $ */
/* Copyright (C) 2004 The glibmm Development Team
*
@@ -72,20 +72,20 @@ public:
virtual bool on_post_parse(OptionContext& context, OptionGroup& group);
virtual void on_error(OptionContext& context, OptionGroup& group);
-
+
void add_entry(const OptionEntry& entry);
-
+
typedef std::vector<Glib::ustring> vecustrings;
typedef std::vector<std::string> vecstrings;
-
+
void add_entry(const OptionEntry& entry, bool& arg);
void add_entry(const OptionEntry& entry, int& arg);
void add_entry(const OptionEntry& entry, Glib::ustring& arg);
void add_entry_filename(const OptionEntry& entry, std::string& arg);
void add_entry(const OptionEntry& entry, vecustrings& arg);
void add_entry_filename(const OptionEntry& entry, vecstrings& arg);
-
+
/* TODO:
void g_option_group_set_translate_func (GOptionGroup *group,
GTranslateFunc func,
@@ -100,36 +100,41 @@ void g_option_group_set_translate_func (GOptionGroup *group,
* @param domain The domain to use.
*/
void set_translation_domain(const Glib::ustring& domain);
-
+
GOptionGroup* gobj() { return gobject_; }
const GOptionGroup* gobj() const { return gobject_; }
GOptionGroup* gobj_give_ownership();
-
+
protected:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ /** This is not public API. It is an implementation detail.
+ */
class CppOptionEntry
{
public:
CppOptionEntry();
-
+
void allocate_c_arg();
+ void set_c_arg_default(void* cpp_arg);
void convert_c_to_cpp();
void release_c_arg();
-
+
GOptionArg carg_type_;
void* carg_;
void* cpparg_;
OptionEntry* entry_;
};
-
+
void add_entry_with_wrapper(const OptionEntry& entry, GOptionArg arg_type, void* cpp_arg);
-
+
//Map of entry names to CppOptionEntry:
typedef std::map<Glib::ustring, CppOptionEntry> type_map_entries;
type_map_entries map_entries_;
-
+
GOptionGroup* gobject_;
bool has_ownership_; //Whether the gobject_ belongs to this C++ instance.
+#endif //DOXYGEN_SHOULD_SKIP_THIS
};
diff --git a/libs/glibmm2/glib/glibmm/pattern.cc b/libs/glibmm2/glib/glibmm/pattern.cc
index b512661d57..28168620bb 100644
--- a/libs/glibmm2/glib/glibmm/pattern.cc
+++ b/libs/glibmm2/glib/glibmm/pattern.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: pattern.cc,v 1.1.1.1 2003/01/07 16:58:51 murrayc Exp $ */
+/* $Id: pattern.cc 2 2003-01-07 16:59:16Z murrayc $ */
/* pattern.cc
*
diff --git a/libs/glibmm2/glib/glibmm/pattern.h b/libs/glibmm2/glib/glibmm/pattern.h
index 9f595bd6d1..32d05feea0 100644
--- a/libs/glibmm2/glib/glibmm/pattern.h
+++ b/libs/glibmm2/glib/glibmm/pattern.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_PATTERN_H
#define _GLIBMM_PATTERN_H
-/* $Id: pattern.h,v 1.1.1.1 2003/01/07 16:58:51 murrayc Exp $ */
+/* $Id: pattern.h 2 2003-01-07 16:59:16Z murrayc $ */
/* pattern.h
*
diff --git a/libs/glibmm2/glib/glibmm/private/Makefile b/libs/glibmm2/glib/glibmm/private/Makefile
deleted file mode 100644
index e4541862bd..0000000000
--- a/libs/glibmm2/glib/glibmm/private/Makefile
+++ /dev/null
@@ -1,451 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# glib/glibmm/private/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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.
-
-
-
-srcdir = .
-top_srcdir = ../../..
-
-pkgdatadir = $(datadir)/glibmm
-pkglibdir = $(libdir)/glibmm
-pkgincludedir = $(includedir)/glibmm
-top_builddir = ../../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-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 = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-DIST_COMMON = $(am__private_include_HEADERS_DIST) \
- $(srcdir)/../../src/Makefile_list_of_hg.am_fragment \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/build_shared/Makefile_gensrc_platform.am_fragment
-subdir = glib/glibmm/private
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-am__private_include_HEADERS_DIST = convert_p.h date_p.h fileutils_p.h \
- iochannel_p.h keyfile_p.h markup_p.h module_p.h \
- optioncontext_p.h optionentry_p.h optiongroup_p.h shell_p.h \
- spawn_p.h thread_p.h unicode_p.h interface_p.h object_p.h
-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 = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(private_includedir)"
-private_includeHEADERS_INSTALL = $(INSTALL_HEADER)
-HEADERS = $(private_include_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-ACLOCAL = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run aclocal-1.9 -I ./scripts
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run tar
-AR = ar
-AS = as
-AUTOCONF = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run autoconf
-AUTOHEADER = :
-AUTOMAKE = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS =
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2 -Wall -Wno-long-long
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-DISABLE_DEPRECATED_API_CFLAGS =
-DISABLE_DEPRECATED_CFLAGS =
-DLLTOOL = dlltool
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-GLIBMM_CFLAGS = -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GLIBMM_LIBS = -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
-GLIBMM_MAJOR_VERSION = 2
-GLIBMM_MICRO_VERSION = 3
-GLIBMM_MINOR_VERSION = 13
-GLIBMM_RELEASE = 2.13
-GLIBMM_VERSION = 2.13.3
-GTHREAD_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GTHREAD_LIBS = -pthread -lgthread-2.0 -lrt -lglib-2.0
-GTKMMPROC_MERGECDOCS =
-GTKMM_DOXYGEN_INPUT = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/glib/glibmm/
-GTKMM_FALSE_FALSE =
-GTKMM_FALSE_TRUE = #
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBGLIBMM_SO_VERSION = 1:24:0
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-M4 = m4
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run makeinfo
-OBJDUMP = objdump
-OBJEXT = o
-OS_WIN32_FALSE =
-OS_WIN32_TRUE = #
-PACKAGE = glibmm
-PACKAGE_BUGREPORT =
-PACKAGE_NAME =
-PACKAGE_STRING =
-PACKAGE_TARNAME =
-PACKAGE_VERSION =
-PATH_SEPARATOR = :
-PERL_PATH = /usr/bin/perl
-PKG_CONFIG = /usr/bin/pkg-config
-PLATFORM_WIN32_FALSE =
-PLATFORM_WIN32_TRUE = #
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.13.3
-ac_ct_AR = ar
-ac_ct_AS =
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_DLLTOOL =
-ac_ct_F77 =
-ac_ct_OBJDUMP =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-ac_pt_PKG_CONFIG = /usr/bin/pkg-config
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target_alias =
-files_posix_hg =
-files_win32_hg =
-files_general_hg = convert.hg date.hg fileutils.hg iochannel.hg keyfile.hg markup.hg module.hg optioncontext.hg optionentry.hg optiongroup.hg shell.hg spawn.hg thread.hg unicode.hg
-files_all_hg = $(files_general_hg) $(files_posix_hg) $(files_win32_hg)
-files_hg = $(files_general_hg) $(files_posix_hg)
-#files_hg = $(files_general_hg) $(files_win32_hg)
-files_built_h = $(files_hg:.hg=_p.h)
-files_built_all_h = $(files_all_hg:.hg=_p.h)
-files_extra_h = interface_p.h object_p.h
-files_extra_all_h = interface_p.h object_p.h
-dist_sources = $(files_built_all_h) $(files_extra_all_h)
-DISTFILES = $(DIST_COMMON) $(dist_sources)
-private_includedir = $(includedir)/glibmm-2.4/glibmm/private
-private_include_HEADERS = $(files_built_h) $(files_extra_h)
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(srcdir)/../../src/Makefile_list_of_hg.am_fragment $(top_srcdir)/build_shared/Makefile_gensrc_platform.am_fragment $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu glib/glibmm/private/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu glib/glibmm/private/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: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-private_includeHEADERS: $(private_include_HEADERS)
- @$(NORMAL_INSTALL)
- test -z "$(private_includedir)" || $(mkdir_p) "$(DESTDIR)$(private_includedir)"
- @list='$(private_include_HEADERS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(private_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(private_includedir)/$$f'"; \
- $(private_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(private_includedir)/$$f"; \
- done
-
-uninstall-private_includeHEADERS:
- @$(NORMAL_UNINSTALL)
- @list='$(private_include_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(private_includedir)/$$f'"; \
- rm -f "$(DESTDIR)$(private_includedir)/$$f"; \
- 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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- 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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- 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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/../../../build_shared $(distdir)/../../src
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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 $(HEADERS)
-installdirs:
- for dir in "$(DESTDIR)$(private_includedir)"; 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)
-
-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 distclean-libtool \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am: install-private_includeHEADERS
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-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-info-am uninstall-private_includeHEADERS
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool ctags 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-exec install-exec-am install-info \
- install-info-am install-man install-private_includeHEADERS \
- 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 tags uninstall \
- uninstall-am uninstall-info-am \
- uninstall-private_includeHEADERS
-
-
-maintainer-clean-local:
- (cd $(srcdir) && rm -f $(files_built_h))
-# 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:
diff --git a/libs/glibmm2/glib/glibmm/private/Makefile.in b/libs/glibmm2/glib/glibmm/private/Makefile.in
index d747694b8c..cccb5742c1 100644
--- a/libs/glibmm2/glib/glibmm/private/Makefile.in
+++ b/libs/glibmm2/glib/glibmm/private/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 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.
@@ -14,15 +14,11 @@
@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -42,8 +38,8 @@ DIST_COMMON = $(am__private_include_HEADERS_DIST) \
$(top_srcdir)/build_shared/Makefile_gensrc_platform.am_fragment
subdir = glib/glibmm/private
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/scripts/c_std.m4 \
+ $(top_srcdir)/scripts/cxx.m4 $(top_srcdir)/scripts/cxx_std.m4 \
$(top_srcdir)/scripts/docgen.m4 \
$(top_srcdir)/scripts/glibmm_check_perl.m4 \
$(top_srcdir)/scripts/macros.m4 \
@@ -59,8 +55,9 @@ SOURCES =
DIST_SOURCES =
am__private_include_HEADERS_DIST = convert_p.h date_p.h fileutils_p.h \
iochannel_p.h keyfile_p.h markup_p.h module_p.h \
- optioncontext_p.h optionentry_p.h optiongroup_p.h shell_p.h \
- spawn_p.h thread_p.h unicode_p.h interface_p.h object_p.h
+ optioncontext_p.h optionentry_p.h optiongroup_p.h regex_p.h \
+ shell_p.h spawn_p.h thread_p.h unicode_p.h interface_p.h \
+ object_p.h
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -73,8 +70,6 @@ HEADERS = $(private_include_HEADERS)
ETAGS = etags
CTAGS = ctags
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
@@ -112,12 +107,12 @@ GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
GLIBMM_RELEASE = @GLIBMM_RELEASE@
GLIBMM_VERSION = @GLIBMM_VERSION@
+GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -131,13 +126,10 @@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@
MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -147,27 +139,18 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
+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_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -179,31 +162,42 @@ 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@
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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
files_posix_hg =
files_win32_hg =
-files_general_hg = convert.hg date.hg fileutils.hg iochannel.hg keyfile.hg markup.hg module.hg optioncontext.hg optionentry.hg optiongroup.hg shell.hg spawn.hg thread.hg unicode.hg
+files_general_hg = convert.hg date.hg fileutils.hg iochannel.hg keyfile.hg markup.hg module.hg optioncontext.hg optionentry.hg optiongroup.hg regex.hg shell.hg spawn.hg thread.hg unicode.hg
files_all_hg = $(files_general_hg) $(files_posix_hg) $(files_win32_hg)
@OS_WIN32_FALSE@files_hg = $(files_general_hg) $(files_posix_hg)
@OS_WIN32_TRUE@files_hg = $(files_general_hg) $(files_win32_hg)
@@ -253,13 +247,9 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
install-private_includeHEADERS: $(private_include_HEADERS)
@$(NORMAL_INSTALL)
- test -z "$(private_includedir)" || $(mkdir_p) "$(DESTDIR)$(private_includedir)"
+ test -z "$(private_includedir)" || $(MKDIR_P) "$(DESTDIR)$(private_includedir)"
@list='$(private_include_HEADERS)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
@@ -324,23 +314,21 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/../../../build_shared $(distdir)/../../src
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @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; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -356,7 +344,7 @@ check: check-am
all-am: Makefile $(HEADERS)
installdirs:
for dir in "$(DESTDIR)$(private_includedir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
@@ -388,8 +376,7 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-am
@@ -403,12 +390,20 @@ info-am:
install-data-am: install-private_includeHEADERS
+install-dvi: install-dvi-am
+
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
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -428,20 +423,23 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am uninstall-private_includeHEADERS
+uninstall-am: uninstall-private_includeHEADERS
+
+.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-libtool ctags 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-exec install-exec-am install-info \
- install-info-am install-man install-private_includeHEADERS \
+ 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-private_includeHEADERS 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 tags uninstall \
- uninstall-am uninstall-info-am \
- uninstall-private_includeHEADERS
+ uninstall-am uninstall-private_includeHEADERS
maintainer-clean-local:
diff --git a/libs/glibmm2/glib/glibmm/private/regex_p.h b/libs/glibmm2/glib/glibmm/private/regex_p.h
new file mode 100644
index 0000000000..7f85ec2d1b
--- /dev/null
+++ b/libs/glibmm2/glib/glibmm/private/regex_p.h
@@ -0,0 +1,8 @@
+// -*- c++ -*-
+// Generated by gtkmmproc -- DO NOT MODIFY!
+#ifndef _GLIBMM_REGEX_P_H
+#define _GLIBMM_REGEX_P_H
+
+
+#endif /* _GLIBMM_REGEX_P_H */
+
diff --git a/libs/glibmm2/glib/glibmm/property.cc b/libs/glibmm2/glib/glibmm/property.cc
index 4504e88f03..955b3ad6e2 100644
--- a/libs/glibmm2/glib/glibmm/property.cc
+++ b/libs/glibmm2/glib/glibmm/property.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: property.cc,v 1.3 2006/05/12 08:08:43 murrayc Exp $ */
+/* $Id: property.cc 291 2006-05-12 08:08:45Z murrayc $ */
/* Copyright 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/property.h b/libs/glibmm2/glib/glibmm/property.h
index cb99454313..16122cb9a1 100644
--- a/libs/glibmm2/glib/glibmm/property.h
+++ b/libs/glibmm2/glib/glibmm/property.h
@@ -1,7 +1,7 @@
// -*- c++ -*-
#ifndef _GLIBMM_PROPERTY_H
#define _GLIBMM_PROPERTY_H
-/* $Id: property.h,v 1.6 2006/05/12 08:08:43 murrayc Exp $ */
+/* $Id: property.h 291 2006-05-12 08:08:45Z murrayc $ */
/* Copyright 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/propertyproxy.cc b/libs/glibmm2/glib/glibmm/propertyproxy.cc
index 9945780453..e9dad3c630 100644
--- a/libs/glibmm2/glib/glibmm/propertyproxy.cc
+++ b/libs/glibmm2/glib/glibmm/propertyproxy.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: propertyproxy.cc,v 1.1.1.1 2003/01/07 16:58:51 murrayc Exp $ */
+/* $Id: propertyproxy.cc 2 2003-01-07 16:59:16Z murrayc $ */
/* propertyproxy.cc
*
diff --git a/libs/glibmm2/glib/glibmm/propertyproxy.h b/libs/glibmm2/glib/glibmm/propertyproxy.h
index ed1538b575..5f1aa18f4a 100644
--- a/libs/glibmm2/glib/glibmm/propertyproxy.h
+++ b/libs/glibmm2/glib/glibmm/propertyproxy.h
@@ -1,7 +1,7 @@
// -*- c++ -*-
#ifndef _GLIBMM_PROPERTYPROXY_H
#define _GLIBMM_PROPERTYPROXY_H
-/* $Id: propertyproxy.h,v 1.5 2006/05/12 08:08:43 murrayc Exp $ */
+/* $Id: propertyproxy.h 291 2006-05-12 08:08:45Z murrayc $ */
/* propertyproxy.h
*
diff --git a/libs/glibmm2/glib/glibmm/propertyproxy_base.cc b/libs/glibmm2/glib/glibmm/propertyproxy_base.cc
index 39f30b2073..960cc0210e 100644
--- a/libs/glibmm2/glib/glibmm/propertyproxy_base.cc
+++ b/libs/glibmm2/glib/glibmm/propertyproxy_base.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: propertyproxy_base.cc,v 1.7 2006/11/28 12:59:19 murrayc Exp $ */
+/* $Id: propertyproxy_base.cc 354 2006-11-28 12:59:19Z murrayc $ */
/* propertyproxy_base.h
*
diff --git a/libs/glibmm2/glib/glibmm/propertyproxy_base.h b/libs/glibmm2/glib/glibmm/propertyproxy_base.h
index 3f45d0b977..4706b2f167 100644
--- a/libs/glibmm2/glib/glibmm/propertyproxy_base.h
+++ b/libs/glibmm2/glib/glibmm/propertyproxy_base.h
@@ -1,7 +1,7 @@
// -*- c++ -*-
#ifndef _GLIBMM_PROPERTYPROXY_BASE_H
#define _GLIBMM_PROPERTYPROXY_BASE_H
-/* $Id: propertyproxy_base.h,v 1.7 2006/11/10 02:24:49 murrayc Exp $ */
+/* $Id: propertyproxy_base.h 337 2006-11-10 02:24:49Z murrayc $ */
/* propertyproxy_base.h
*
diff --git a/libs/glibmm2/glib/glibmm/quark.cc b/libs/glibmm2/glib/glibmm/quark.cc
index 8e2a06cdfd..d674942f67 100644
--- a/libs/glibmm2/glib/glibmm/quark.cc
+++ b/libs/glibmm2/glib/glibmm/quark.cc
@@ -1,4 +1,4 @@
-/* $Id: quark.cc,v 1.1.1.1 2003/01/07 16:58:52 murrayc Exp $ */
+/* $Id: quark.cc 2 2003-01-07 16:59:16Z murrayc $ */
/* quark.cc
*
diff --git a/libs/glibmm2/glib/glibmm/quark.h b/libs/glibmm2/glib/glibmm/quark.h
index 53ac126bf0..c128ac77a6 100644
--- a/libs/glibmm2/glib/glibmm/quark.h
+++ b/libs/glibmm2/glib/glibmm/quark.h
@@ -1,7 +1,7 @@
// -*- c++ -*-
#ifndef _GLIBMM_QUARK_H
#define _GLIBMM_QUARK_H
-/* $Id: quark.h,v 1.1.1.1 2003/01/07 16:58:52 murrayc Exp $ */
+/* $Id: quark.h 2 2003-01-07 16:59:16Z murrayc $ */
/* quark.h
*
diff --git a/libs/glibmm2/glib/glibmm/random.cc b/libs/glibmm2/glib/glibmm/random.cc
index e159646bcd..c91981bc13 100644
--- a/libs/glibmm2/glib/glibmm/random.cc
+++ b/libs/glibmm2/glib/glibmm/random.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: random.cc,v 1.1.1.1 2003/01/07 16:58:52 murrayc Exp $ */
+/* $Id: random.cc 2 2003-01-07 16:59:16Z murrayc $ */
/* random.cc
*
diff --git a/libs/glibmm2/glib/glibmm/random.h b/libs/glibmm2/glib/glibmm/random.h
index f5187e131a..711d23b28e 100644
--- a/libs/glibmm2/glib/glibmm/random.h
+++ b/libs/glibmm2/glib/glibmm/random.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_RANDOM_H
#define _GLIBMM_RANDOM_H
-/* $Id: random.h,v 1.1.1.1 2003/01/07 16:58:52 murrayc Exp $ */
+/* $Id: random.h 2 2003-01-07 16:59:16Z murrayc $ */
/* random.h
*
diff --git a/libs/glibmm2/glib/glibmm/refptr.h b/libs/glibmm2/glib/glibmm/refptr.h
index 4b246213af..a9e74ace8a 100644
--- a/libs/glibmm2/glib/glibmm/refptr.h
+++ b/libs/glibmm2/glib/glibmm/refptr.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_REFPTR_H
#define _GLIBMM_REFPTR_H
-/* $Id: refptr.h,v 1.4 2005/04/07 08:28:46 murrayc Exp $ */
+/* $Id: refptr.h 216 2005-04-07 08:28:46Z murrayc $ */
/* Copyright 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/regex.cc b/libs/glibmm2/glib/glibmm/regex.cc
new file mode 100644
index 0000000000..8cc257ec60
--- /dev/null
+++ b/libs/glibmm2/glib/glibmm/regex.cc
@@ -0,0 +1,451 @@
+// Generated by gtkmmproc -- DO NOT MODIFY!
+
+
+#include <glibmm/regex.h>
+#include <glibmm/private/regex_p.h>
+
+/* Copyright (C) 2007 The glibmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/utility.h>
+
+namespace Glib
+{
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+Glib::RefPtr<Glib::Regex> Regex::create(const Glib::ustring& pattern,
+ RegexCompileFlags compile_options,
+ RegexMatchFlags match_options)
+#else
+Glib::RefPtr<Glib::Regex> Regex::create(const Glib::ustring& pattern,
+ RegexCompileFlags compile_options,
+ RegexMatchFlags match_options,
+ std::auto_ptr<Glib::Error>& error)
+#endif /* GLIBMM_EXCEPTIONS_ENABLED */
+{
+ GError* gerror = 0;
+ GRegex* regex = g_regex_new(pattern.c_str(), (GRegexCompileFlags)compile_options,
+ (GRegexMatchFlags)match_options, &gerror);
+
+ if(gerror)
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ Glib::Error::throw_exception(gerror);
+#else
+ error = Glib::Error::throw_exception(gerror);
+#endif
+ return Glib::wrap(regex);
+}
+
+// static
+Glib::ustring Regex::escape_string(const Glib::ustring& string)
+{
+ const Glib::ScopedPtr<char> buf (g_regex_escape_string(string.raw().c_str(),
+ string.raw().size()));
+ return Glib::ustring(buf.get());
+}
+
+bool Regex::match(const Glib::ustring& string, RegexMatchFlags match_options)
+{
+ return g_regex_match(gobj(), string.c_str(), (GRegexMatchFlags)(match_options), 0);
+}
+
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+bool Regex::match(const Glib::ustring& string, int start_position, RegexMatchFlags match_options)
+#else
+bool Regex::match(const Glib::ustring& string, int start_position, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ bool retvalue = g_regex_match_full(gobj(), string.c_str(), -1, start_position, ((GRegexMatchFlags)(match_options)), 0, &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+bool Regex::match(const Glib::ustring& string, gssize string_len, int start_position, RegexMatchFlags match_options)
+#else
+bool Regex::match(const Glib::ustring& string, gssize string_len, int start_position, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ bool retvalue = g_regex_match_full(gobj(), string.c_str(), string_len, start_position, ((GRegexMatchFlags)(match_options)), 0, &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+
+bool Regex::match_all(const Glib::ustring& string, RegexMatchFlags match_options)
+{
+ return g_regex_match_all(gobj(), string.c_str(), ((GRegexMatchFlags)(match_options)), 0);
+}
+
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+bool Regex::match_all(const Glib::ustring& string, int start_position, RegexMatchFlags match_options)
+#else
+bool Regex::match_all(const Glib::ustring& string, int start_position, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ bool retvalue = g_regex_match_all_full(gobj(), string.c_str(), -1, start_position, ((GRegexMatchFlags)(match_options)), 0, &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+bool Regex::match_all(const Glib::ustring& string, gssize string_len, int start_position, RegexMatchFlags match_options)
+#else
+bool Regex::match_all(const Glib::ustring& string, gssize string_len, int start_position, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ bool retvalue = g_regex_match_all_full(gobj(), string.c_str(), string_len, start_position, ((GRegexMatchFlags)(match_options)), 0, &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+Glib::ustring Regex::replace(const Glib::ustring& string, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options)
+#else
+Glib::ustring Regex::replace(const Glib::ustring& string, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ Glib::ustring retvalue = Glib::convert_return_gchar_ptr_to_ustring(g_regex_replace(gobj(), string.c_str(), -1, start_position, replacement.c_str(), ((GRegexMatchFlags)(match_options)), &(gerror)));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+Glib::ustring Regex::replace_literal(const Glib::ustring& string, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options)
+#else
+Glib::ustring Regex::replace_literal(const Glib::ustring& string, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ Glib::ustring retvalue = Glib::convert_return_gchar_ptr_to_ustring(g_regex_replace_literal(gobj(), string.c_str(), -1, start_position, replacement.c_str(), ((GRegexMatchFlags)(match_options)), &(gerror)));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+Glib::StringArrayHandle Regex::split(const Glib::ustring& string, int start_position, RegexMatchFlags match_options, int max_tokens) const
+#else
+Glib::StringArrayHandle Regex::split(const Glib::ustring& string, int start_position, RegexMatchFlags match_options, int max_tokens, std::auto_ptr<Glib::Error>& error) const
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ Glib::StringArrayHandle retvalue = Glib::StringArrayHandle(g_regex_split_full(const_cast<GRegex*>(gobj()), string.c_str(), -1, start_position, ((GRegexMatchFlags)(match_options)), max_tokens, &(gerror)), Glib::OWNERSHIP_DEEP);
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+} // namespace Glib
+
+namespace
+{
+} // anonymous namespace
+
+
+Glib::RegexError::RegexError(Glib::RegexError::Code error_code, const Glib::ustring& error_message)
+:
+ Glib::Error (G_REGEX_ERROR, error_code, error_message)
+{}
+
+Glib::RegexError::RegexError(GError* gobject)
+:
+ Glib::Error (gobject)
+{}
+
+Glib::RegexError::Code Glib::RegexError::code() const
+{
+ return static_cast<Code>(Glib::Error::code());
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+void Glib::RegexError::throw_func(GError* gobject)
+{
+ throw Glib::RegexError(gobject);
+}
+#else
+//When not using exceptions, we just pass the Exception object around without throwing it:
+std::auto_ptr<Glib::Error> Glib::RegexError::throw_func(GError* gobject)
+{
+ return std::auto_ptr<Glib::Error>(new Glib::RegexError(gobject));
+}
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+
+/* Why reinterpret_cast<Regex*>(gobject) is needed:
+ *
+ * A Regex instance is in fact always a GRegex instance.
+ * Unfortunately, GRegex cannot be a member of Regex,
+ * because it is an opaque struct. Also, the C interface does not provide
+ * any hooks to install a destroy notification handler, thus we cannot
+ * wrap it dynamically either.
+ *
+ * The cast works because Regex does not have any member data, and
+ * it is impossible to derive from it. This is ensured by not implementing
+ * the (protected) default constructor. The ctor is protected rather than
+ * private just to avoid a compile warning.
+ */
+
+namespace Glib
+{
+
+Glib::RefPtr<Glib::Regex> wrap(GRegex* object, bool take_copy)
+{
+ if(take_copy && object)
+ g_regex_ref(object);
+
+ // See the comment at the top of this file, if you want to know why the cast works.
+ return Glib::RefPtr<Glib::Regex>(reinterpret_cast<Glib::Regex*>(object));
+}
+
+} // namespace Glib
+
+
+namespace Glib
+{
+
+
+void Regex::reference() const
+{
+ // See the comment at the top of this file, if you want to know why the cast works.
+ g_regex_ref(reinterpret_cast<GRegex*>(const_cast<Regex*>(this)));
+}
+
+void Regex::unreference() const
+{
+ // See the comment at the top of this file, if you want to know why the cast works.
+ g_regex_unref(reinterpret_cast<GRegex*>(const_cast<Regex*>(this)));
+}
+
+GRegex* Regex::gobj()
+{
+ // See the comment at the top of this file, if you want to know why the cast works.
+ return reinterpret_cast<GRegex*>(this);
+}
+
+const GRegex* Regex::gobj() const
+{
+ // See the comment at the top of this file, if you want to know why the cast works.
+ return reinterpret_cast<const GRegex*>(this);
+}
+
+GRegex* Regex::gobj_copy() const
+{
+ // See the comment at the top of this file, if you want to know why the cast works.
+ GRegex *const gobject = reinterpret_cast<GRegex*>(const_cast<Regex*>(this));
+ g_regex_ref(gobject);
+ return gobject;
+}
+
+
+Glib::ustring Regex::get_pattern() const
+{
+ return Glib::convert_const_gchar_ptr_to_ustring(g_regex_get_pattern(const_cast<GRegex*>(gobj())));
+}
+
+int Regex::get_max_backref() const
+{
+ return g_regex_get_max_backref(const_cast<GRegex*>(gobj()));
+}
+
+int Regex::get_capture_count() const
+{
+ return g_regex_get_capture_count(const_cast<GRegex*>(gobj()));
+}
+
+int Regex::get_string_number(const Glib::ustring& name) const
+{
+ return g_regex_get_string_number(const_cast<GRegex*>(gobj()), name.c_str());
+}
+
+bool Regex::match_simple(const Glib::ustring& pattern, const Glib::ustring& string, RegexCompileFlags compile_options, RegexMatchFlags match_options)
+{
+ return g_regex_match_simple(pattern.c_str(), string.c_str(), ((GRegexCompileFlags)(compile_options)), ((GRegexMatchFlags)(match_options)));
+}
+
+
+Glib::StringArrayHandle Regex::split_simple(const Glib::ustring& pattern, const Glib::ustring& string, RegexCompileFlags compile_options, RegexMatchFlags match_options)
+{
+ return Glib::StringArrayHandle(g_regex_split_simple(pattern.c_str(), string.c_str(), ((GRegexCompileFlags)(compile_options)), ((GRegexMatchFlags)(match_options))), Glib::OWNERSHIP_DEEP);
+}
+
+
+Glib::StringArrayHandle Regex::split(const Glib::ustring& string, RegexMatchFlags match_options)
+{
+ return Glib::StringArrayHandle(g_regex_split(gobj(), string.c_str(), ((GRegexMatchFlags)(match_options))), Glib::OWNERSHIP_DEEP);
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+Glib::StringArrayHandle Regex::split(const gchar* string, gssize string_len, int start_position, RegexMatchFlags match_options, int max_tokens) const
+#else
+Glib::StringArrayHandle Regex::split(const gchar* string, gssize string_len, int start_position, RegexMatchFlags match_options, int max_tokens, std::auto_ptr<Glib::Error>& error) const
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ Glib::StringArrayHandle retvalue = Glib::StringArrayHandle(g_regex_split_full(const_cast<GRegex*>(gobj()), string, string_len, start_position, ((GRegexMatchFlags)(match_options)), max_tokens, &(gerror)), Glib::OWNERSHIP_DEEP);
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+Glib::ustring Regex::replace(const gchar* string, gssize string_len, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options)
+#else
+Glib::ustring Regex::replace(const gchar* string, gssize string_len, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ Glib::ustring retvalue = Glib::convert_return_gchar_ptr_to_ustring(g_regex_replace(gobj(), string, string_len, start_position, replacement.c_str(), ((GRegexMatchFlags)(match_options)), &(gerror)));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+Glib::ustring Regex::replace_literal(const gchar * string, gssize string_len, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options)
+#else
+Glib::ustring Regex::replace_literal(const gchar * string, gssize string_len, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ Glib::ustring retvalue = Glib::convert_return_gchar_ptr_to_ustring(g_regex_replace_literal(gobj(), string, string_len, start_position, replacement.c_str(), ((GRegexMatchFlags)(match_options)), &(gerror)));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+Glib::ustring Regex::replace_eval(const Glib::ustring& string, gssize string_len, int start_position, RegexMatchFlags match_options, GRegexEvalCallback eval, gpointer user_data)
+#else
+Glib::ustring Regex::replace_eval(const Glib::ustring& string, gssize string_len, int start_position, RegexMatchFlags match_options, GRegexEvalCallback eval, gpointer user_data, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ Glib::ustring retvalue = Glib::convert_return_gchar_ptr_to_ustring(g_regex_replace_eval(gobj(), string.c_str(), string_len, start_position, ((GRegexMatchFlags)(match_options)), eval, user_data, &(gerror)));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+bool Regex::check_replacement(const Glib::ustring& replacement, gboolean* has_references)
+#else
+bool Regex::check_replacement(const Glib::ustring& replacement, gboolean* has_references, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ bool retvalue = g_regex_check_replacement(replacement.c_str(), has_references, &(gerror));
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+
+} // namespace Glib
+
+
diff --git a/libs/glibmm2/glib/glibmm/regex.h b/libs/glibmm2/glib/glibmm/regex.h
new file mode 100644
index 0000000000..a9f6276e81
--- /dev/null
+++ b/libs/glibmm2/glib/glibmm/regex.h
@@ -0,0 +1,676 @@
+// -*- c++ -*-
+// Generated by gtkmmproc -- DO NOT MODIFY!
+#ifndef _GLIBMM_REGEX_H
+#define _GLIBMM_REGEX_H
+
+
+/* Copyright (C) 2007 The glibmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+#include <glibmm/refptr.h>
+#include <glibmm/ustring.h>
+#include <glibmm/error.h>
+#include <glibmm/arrayhandle.h>
+#include <glib/gregex.h>
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+typedef struct _GRegex GRegex;
+#endif
+
+namespace Glib
+{
+
+/** @addtogroup glibmmEnums Enums and Flags */
+
+/**
+ * @ingroup glibmmEnums
+ * @par Bitwise operators:
+ * <tt>%RegexCompileFlags operator|(RegexCompileFlags, RegexCompileFlags)</tt><br>
+ * <tt>%RegexCompileFlags operator&(RegexCompileFlags, RegexCompileFlags)</tt><br>
+ * <tt>%RegexCompileFlags operator^(RegexCompileFlags, RegexCompileFlags)</tt><br>
+ * <tt>%RegexCompileFlags operator~(RegexCompileFlags)</tt><br>
+ * <tt>%RegexCompileFlags& operator|=(RegexCompileFlags&, RegexCompileFlags)</tt><br>
+ * <tt>%RegexCompileFlags& operator&=(RegexCompileFlags&, RegexCompileFlags)</tt><br>
+ * <tt>%RegexCompileFlags& operator^=(RegexCompileFlags&, RegexCompileFlags)</tt><br>
+ */
+enum RegexCompileFlags
+{
+ REGEX_CASELESS = 1 << 0,
+ REGEX_MULTILINE = 1 << 1,
+ REGEX_DOTALL = 1 << 2,
+ REGEX_EXTENDED = 1 << 3,
+ REGEX_ANCHORED = 1 << 4,
+ REGEX_DOLLAR_ENDONLY = 1 << 5,
+ REGEX_UNGREEDY = 1 << 9,
+ REGEX_RAW = 1 << 11,
+ REGEX_NO_AUTO_CAPTURE = 1 << 12,
+ REGEX_OPTIMIZE = 1 << 13,
+ REGEX_DUPNAMES = 1 << 19,
+ REGEX_NEWLINE_CR = 1 << 20,
+ REGEX_NEWLINE_LF = 1 << 21,
+ REGEX_NEWLINE_CRLF = 0x100000
+};
+
+/** @ingroup glibmmEnums */
+inline RegexCompileFlags operator|(RegexCompileFlags lhs, RegexCompileFlags rhs)
+ { return static_cast<RegexCompileFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
+
+/** @ingroup glibmmEnums */
+inline RegexCompileFlags operator&(RegexCompileFlags lhs, RegexCompileFlags rhs)
+ { return static_cast<RegexCompileFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
+
+/** @ingroup glibmmEnums */
+inline RegexCompileFlags operator^(RegexCompileFlags lhs, RegexCompileFlags rhs)
+ { return static_cast<RegexCompileFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
+
+/** @ingroup glibmmEnums */
+inline RegexCompileFlags operator~(RegexCompileFlags flags)
+ { return static_cast<RegexCompileFlags>(~static_cast<unsigned>(flags)); }
+
+/** @ingroup glibmmEnums */
+inline RegexCompileFlags& operator|=(RegexCompileFlags& lhs, RegexCompileFlags rhs)
+ { return (lhs = static_cast<RegexCompileFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
+
+/** @ingroup glibmmEnums */
+inline RegexCompileFlags& operator&=(RegexCompileFlags& lhs, RegexCompileFlags rhs)
+ { return (lhs = static_cast<RegexCompileFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
+
+/** @ingroup glibmmEnums */
+inline RegexCompileFlags& operator^=(RegexCompileFlags& lhs, RegexCompileFlags rhs)
+ { return (lhs = static_cast<RegexCompileFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
+
+
+/**
+ * @ingroup glibmmEnums
+ * @par Bitwise operators:
+ * <tt>%RegexMatchFlags operator|(RegexMatchFlags, RegexMatchFlags)</tt><br>
+ * <tt>%RegexMatchFlags operator&(RegexMatchFlags, RegexMatchFlags)</tt><br>
+ * <tt>%RegexMatchFlags operator^(RegexMatchFlags, RegexMatchFlags)</tt><br>
+ * <tt>%RegexMatchFlags operator~(RegexMatchFlags)</tt><br>
+ * <tt>%RegexMatchFlags& operator|=(RegexMatchFlags&, RegexMatchFlags)</tt><br>
+ * <tt>%RegexMatchFlags& operator&=(RegexMatchFlags&, RegexMatchFlags)</tt><br>
+ * <tt>%RegexMatchFlags& operator^=(RegexMatchFlags&, RegexMatchFlags)</tt><br>
+ */
+enum RegexMatchFlags
+{
+ REGEX_MATCH_ANCHORED = 1 << 4,
+ REGEX_MATCH_NOTBOL = 1 << 7,
+ REGEX_MATCH_NOTEOL = 1 << 8,
+ REGEX_MATCH_NOTEMPTY = 1 << 10,
+ REGEX_MATCH_PARTIAL = 1 << 15,
+ REGEX_MATCH_NEWLINE_CR = 1 << 20,
+ REGEX_MATCH_NEWLINE_LF = 1 << 21,
+ REGEX_MATCH_NEWLINE_CRLF = 0x100000,
+ REGEX_MATCH_NEWLINE_ANY = 1 << 22
+};
+
+/** @ingroup glibmmEnums */
+inline RegexMatchFlags operator|(RegexMatchFlags lhs, RegexMatchFlags rhs)
+ { return static_cast<RegexMatchFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
+
+/** @ingroup glibmmEnums */
+inline RegexMatchFlags operator&(RegexMatchFlags lhs, RegexMatchFlags rhs)
+ { return static_cast<RegexMatchFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
+
+/** @ingroup glibmmEnums */
+inline RegexMatchFlags operator^(RegexMatchFlags lhs, RegexMatchFlags rhs)
+ { return static_cast<RegexMatchFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
+
+/** @ingroup glibmmEnums */
+inline RegexMatchFlags operator~(RegexMatchFlags flags)
+ { return static_cast<RegexMatchFlags>(~static_cast<unsigned>(flags)); }
+
+/** @ingroup glibmmEnums */
+inline RegexMatchFlags& operator|=(RegexMatchFlags& lhs, RegexMatchFlags rhs)
+ { return (lhs = static_cast<RegexMatchFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
+
+/** @ingroup glibmmEnums */
+inline RegexMatchFlags& operator&=(RegexMatchFlags& lhs, RegexMatchFlags rhs)
+ { return (lhs = static_cast<RegexMatchFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
+
+/** @ingroup glibmmEnums */
+inline RegexMatchFlags& operator^=(RegexMatchFlags& lhs, RegexMatchFlags rhs)
+ { return (lhs = static_cast<RegexMatchFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
+
+
+/** Exception class for Regex
+ */
+class RegexError : public Glib::Error
+{
+public:
+ enum Code
+ {
+ COMPILE,
+ OPTIMIZE,
+ REPLACE,
+ MATCH
+ };
+
+ RegexError(Code error_code, const Glib::ustring& error_message);
+ explicit RegexError(GError* gobject);
+ Code code() const;
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+private:
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ static void throw_func(GError* gobject);
+#else
+ //When not using exceptions, we just pass the Exception object around without throwing it:
+ static std::auto_ptr<Glib::Error> throw_func(GError* gobject);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ friend void wrap_init(); // uses throw_func()
+#endif
+};
+
+
+/** Perl-compatible regular expressions - matches strings against regular expressions.
+ *
+ * The Glib::Regex functions implement regular expression pattern matching using
+ * syntax and semantics similar to Perl regular expression.
+ *
+ * Some functions accept a start_position argument, setting it differs from just
+ * passing over a shortened string and setting REGEX_MATCH_NOTBOL in the case
+ * of a pattern that begins with any kind of lookbehind assertion. For example,
+ * consider the pattern "\Biss\B" which finds occurrences of "iss" in the middle
+ * of words. ("\B" matches only if the current position in the subject is not a
+ * word boundary.) When applied to the string "Mississipi" from the fourth byte,
+ * namely "issipi", it does not match, because "\B" is always false at the
+ * start of the subject, which is deemed to be a word boundary. However, if
+ * the entire string is passed , but with start_position set to 4, it finds the
+ * second occurrence of "iss" because it is able to look behind the starting point
+ * to discover that it is preceded by a letter.
+ *
+ * Note that, unless you set the REGEX_RAW flag, all the strings passed to these
+ * functions must be encoded in UTF-8. The lengths and the positions inside the
+ * strings are in bytes and not in characters, so, for instance,
+ * "\xc3\xa0" (i.e. "à") is two bytes long but it is treated as a single
+ * character. If you set REGEX_RAW the strings can be non-valid UTF-8 strings
+ * and a byte is treated as a character, so "\xc3\xa0" is two bytes and
+ * two characters long.
+ *
+ * When matching a pattern, "\n" matches only against a "\n" character in the
+ * string, and "\r" matches only a "\r" character. To match any newline sequence
+ * use "\R". This particular group matches either the two-character sequence
+ * CR + LF ("\r\n"), or one of the single characters LF (linefeed, U+000A, "\n"),
+ * VT (vertical tab, U+000B, "\v"), FF (formfeed, U+000C, "\f"), CR (carriage
+ * return, U+000D, "\r"), NEL (next line, U+0085), LS (line separator, U+2028),
+ * or PS (paragraph separator, U+2029).
+ *
+ * The behaviour of the dot, circumflex, and dollar metacharacters are affected
+ * by newline characters, the default is to recognize any newline character (the
+ * same characters recognized by "\R"). This can be changed with REGEX_NEWLINE_CR,
+ * REGEX_NEWLINE_LF and REGEX_NEWLINE_CRLF compile options, and with
+ * REGEX_MATCH_NEWLINE_ANY, REGEX_MATCH_NEWLINE_CR, REGEX_MATCH_NEWLINE_LF
+ * and REGEX_MATCH_NEWLINE_CRLF match options. These settings are also
+ * relevant when compiling a pattern if REGEX_EXTENDED is set, and an unescaped
+ * "#" outside a character class is encountered. This indicates a comment that
+ * lasts until after the next newline.
+ *
+ * Creating and manipulating the same Glib::Regex class from different threads is
+ * not a problem as Glib::Regex does not modify its internal state between creation and
+ * destruction, on the other hand Glib::MatchInfo is not threadsafe.
+ *
+ * The regular expressions low level functionalities are obtained through the
+ * excellent PCRE library written by Philip Hazel.
+ *
+ * @newin2p14
+ */
+class Regex
+{
+ public:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ typedef Regex CppObjectType;
+ typedef GRegex BaseObjectType;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+ // For use with Glib::RefPtr<> only.
+ void reference() const;
+ void unreference() const;
+
+ ///Provides access to the underlying C instance.
+ GRegex* gobj();
+
+ ///Provides access to the underlying C instance.
+ const GRegex* gobj() const;
+
+ ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
+ GRegex* gobj_copy() const;
+
+protected:
+ // Do not derive this. Glib::Regex can neither be constructed nor deleted.
+ Regex();
+ void operator delete(void*, size_t);
+
+private:
+ // noncopyable
+ Regex(const Regex&);
+ Regex& operator=(const Regex&);
+
+
+public:
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ static Glib::RefPtr<Glib::Regex> create(const Glib::ustring& pattern, RegexCompileFlags compile_options = static_cast<RegexCompileFlags>(0), RegexMatchFlags match_options = static_cast<RegexMatchFlags>(0));
+#else
+ static Glib::RefPtr<Glib::Regex> create(const Glib::ustring& pattern, RegexCompileFlags compile_options = static_cast<RegexCompileFlags>(0), RegexMatchFlags match_options = static_cast<RegexMatchFlags>(0), std::auto_ptr<Glib::Error>& error);
+#endif /* !GLIBMM_EXCEPTIONS_ENABLED */
+
+
+ /** Gets the pattern string associated with @a regex , i.e.\ a copy of
+ * the string passed to g_regex_new().
+ * @return The pattern of @a regex
+ *
+ * @newin2p14.
+ */
+ Glib::ustring get_pattern() const;
+
+ /** Returns: the number of the highest back reference
+ * @return The number of the highest back reference
+ *
+ * @newin2p14.
+ */
+ int get_max_backref() const;
+
+ /** Returns: the number of capturing subpatterns
+ * @return The number of capturing subpatterns
+ *
+ * @newin2p14.
+ */
+ int get_capture_count() const;
+
+ /** Retrieves the number of the subexpression named @a name .
+ * @param name Name of the subexpression.
+ * @return The number of the subexpression or -1 if @a name
+ * does not exists
+ *
+ * @newin2p14.
+ */
+ int get_string_number(const Glib::ustring& name) const;
+
+ static Glib::ustring escape_string(const Glib::ustring& string);
+
+
+ /** Scans for a match in @a string for @a pattern .
+ *
+ * This function is equivalent to g_regex_match() but it does not
+ * require to compile the pattern with g_regex_new(), avoiding some
+ * lines of code when you need just to do a match without extracting
+ * substrings, capture counts, and so on.
+ *
+ * If this function is to be called on the same @a pattern more than
+ * once, it's more efficient to compile the pattern once with
+ * g_regex_new() and then use g_regex_match().
+ * @param pattern The regular expression.
+ * @param string The string to scan for matches.
+ * @param compile_options Compile options for the regular expression.
+ * @param match_options Match options.
+ * @return <tt>true</tt> is the string matched, <tt>false</tt> otherwise
+ *
+ * @newin2p14.
+ */
+ static bool match_simple(const Glib::ustring& pattern, const Glib::ustring& string, RegexCompileFlags compile_options = static_cast<RegexCompileFlags>(0), RegexMatchFlags match_options = static_cast<RegexMatchFlags>(0));
+
+ //TODO: _WRAP_METHOD(bool match(const Glib::ustring& string, RegexMatchFlags match_options = (RegexMatchFlags)0, GMatchInfo **match_info = 0), g_regex_match)
+ bool match(const Glib::ustring& string, RegexMatchFlags match_options = static_cast<RegexMatchFlags>(0));
+
+ //TODO: Wrap GMatchInfo as an iterator:
+ //_WRAP_METHOD(bool match_full(const gchar* string, gssize string_len, int start_position, RegexMatchFlags match_options = (RegexMatchFlags)0, GMatchInfo** match_info = 0), g_regex_match_full, errthrow)
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ bool match(const Glib::ustring& string, int start_position, RegexMatchFlags match_options);
+#else
+ bool match(const Glib::ustring& string, int start_position, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error);
+#endif /* !GLIBMM_EXCEPTIONS_ENABLED */
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ bool match(const Glib::ustring& string, gssize string_len, int start_position, RegexMatchFlags match_options);
+#else
+ bool match(const Glib::ustring& string, gssize string_len, int start_position, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error);
+#endif /* !GLIBMM_EXCEPTIONS_ENABLED */
+
+ //TODO: _WRAP_METHOD(bool match_all(const Glib::ustring& string, RegexMatchFlags match_options = (RegexMatchFlags)0, GMatchInfo ** match_info = 0), g_regex_match_all)
+ bool match_all(const Glib::ustring& string, RegexMatchFlags match_options = static_cast<RegexMatchFlags>(0));
+
+ //TODO: _WRAP_METHOD(bool match_all_full(const gchar* string, gssize string_len, int start_position, RegexMatchFlags match_options = (RegexMatchFlags)0, GMatchInfo** match_info = 0), g_regex_match_all_full, errthrow)
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ bool match_all(const Glib::ustring& string, int start_position, RegexMatchFlags match_options);
+#else
+ bool match_all(const Glib::ustring& string, int start_position, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error);
+#endif /* !GLIBMM_EXCEPTIONS_ENABLED */
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ bool match_all(const Glib::ustring& string, gssize string_len, int start_position, RegexMatchFlags match_options);
+#else
+ bool match_all(const Glib::ustring& string, gssize string_len, int start_position, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error);
+#endif /* !GLIBMM_EXCEPTIONS_ENABLED */
+
+
+ /** Breaks the string on the pattern, and returns an array of
+ * the tokens. If the pattern contains capturing parentheses,
+ * then the text for each of the substrings will also be returned.
+ * If the pattern does not match anywhere in the string, then the
+ * whole string is returned as the first token.
+ *
+ * This function is equivalent to g_regex_split() but it does
+ * not require to compile the pattern with g_regex_new(), avoiding
+ * some lines of code when you need just to do a split without
+ * extracting substrings, capture counts, and so on.
+ *
+ * If this function is to be called on the same @a pattern more than
+ * once, it's more efficient to compile the pattern once with
+ * g_regex_new() and then use g_regex_split().
+ *
+ * As a special case, the result of splitting the empty string ""
+ * is an empty vector, not a vector containing a single string.
+ * The reason for this special case is that being able to represent
+ * a empty vector is typically more useful than consistent handling
+ * of empty elements. If you do need to represent empty elements,
+ * you'll need to check for the empty string before calling this
+ * function.
+ *
+ * A pattern that can match empty strings splits @a string into
+ * separate characters wherever it matches the empty string between
+ * characters. For example splitting "ab c" using as a separator
+ * "\s*", you will get "a", "b" and "c".
+ * @param pattern The regular expression.
+ * @param string The string to scan for matches.
+ * @param compile_options Compile options for the regular expression.
+ * @param match_options Match options.
+ * @return A <tt>0</tt>-terminated gchar ** array. Free it using g_strfreev()
+ *
+ * @newin2p14.
+ */
+ static Glib::StringArrayHandle split_simple(const Glib::ustring& pattern, const Glib::ustring& string, RegexCompileFlags compile_options = static_cast<RegexCompileFlags>(0), RegexMatchFlags match_options = static_cast<RegexMatchFlags>(0));
+
+ /** Breaks the string on the pattern, and returns an array of the tokens.
+ * If the pattern contains capturing parentheses, then the text for each
+ * of the substrings will also be returned. If the pattern does not match
+ * anywhere in the string, then the whole string is returned as the first
+ * token.
+ *
+ * As a special case, the result of splitting the empty string "" is an
+ * empty vector, not a vector containing a single string. The reason for
+ * this special case is that being able to represent a empty vector is
+ * typically more useful than consistent handling of empty elements. If
+ * you do need to represent empty elements, you'll need to check for the
+ * empty string before calling this function.
+ *
+ * A pattern that can match empty strings splits @a string into separate
+ * characters wherever it matches the empty string between characters.
+ * For example splitting "ab c" using as a separator "\s*", you will get
+ * "a", "b" and "c".
+ * @param string The string to split with the pattern.
+ * @param match_options Match time option flags.
+ * @return A <tt>0</tt>-terminated gchar ** array. Free it using g_strfreev()
+ *
+ * @newin2p14.
+ */
+ Glib::StringArrayHandle split(const Glib::ustring& string, RegexMatchFlags match_options = static_cast<RegexMatchFlags>(0));
+
+
+ /** Breaks the string on the pattern, and returns an array of the tokens.
+ * If the pattern contains capturing parentheses, then the text for each
+ * of the substrings will also be returned. If the pattern does not match
+ * anywhere in the string, then the whole string is returned as the first
+ * token.
+ *
+ * As a special case, the result of splitting the empty string "" is an
+ * empty vector, not a vector containing a single string. The reason for
+ * this special case is that being able to represent a empty vector is
+ * typically more useful than consistent handling of empty elements. If
+ * you do need to represent empty elements, you'll need to check for the
+ * empty string before calling this function.
+ *
+ * A pattern that can match empty strings splits @a string into separate
+ * characters wherever it matches the empty string between characters.
+ * For example splitting "ab c" using as a separator "\s*", you will get
+ * "a", "b" and "c".
+ *
+ * Setting @a start_position differs from just passing over a shortened
+ * string and setting G::REGEX_MATCH_NOTBOL in the case of a pattern
+ * that begins with any kind of lookbehind assertion, such as "\b".
+ * @param string The string to split with the pattern.
+ * @param string_len The length of @a string , or -1 if @a string is nul-terminated.
+ * @param start_position Starting index of the string to match.
+ * @param match_options Match time option flags.
+ * @param max_tokens The maximum number of tokens to split @a string into.
+ * If this is less than 1, the string is split completely.
+ * @param error Return location for a G::Error.
+ * @return A <tt>0</tt>-terminated gchar ** array. Free it using g_strfreev()
+ *
+ * @newin2p14.
+ */
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ Glib::StringArrayHandle split(const gchar* string, gssize string_len, int start_position, RegexMatchFlags match_options = static_cast<RegexMatchFlags>(0), int max_tokens = 0) const;
+#else
+ Glib::StringArrayHandle split(const gchar* string, gssize string_len, int start_position, RegexMatchFlags match_options, int max_tokens, std::auto_ptr<Glib::Error>& error) const;
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ Glib::StringArrayHandle split(const Glib::ustring& string, int start_position, RegexMatchFlags match_options, int max_tokens) const;
+#else
+ Glib::StringArrayHandle split(const Glib::ustring& string, int start_position, RegexMatchFlags match_options, int max_tokens, std::auto_ptr<Glib::Error>& error) const;
+#endif /* !GLIBMM_EXCEPTIONS_ENABLED */
+
+
+ /** Replaces all occurances of the pattern in @a regex with the
+ * replacement text. Backreferences of the form '\number' or
+ * '\g&lt;number&gt;' in the replacement text are interpolated by the
+ * number-th captured subexpression of the match, '\g&lt;name&gt;' refers
+ * to the captured subexpression with the given name. '\0' refers to the
+ * complete match, but '\0' followed by a number is the octal representation
+ * of a character. To include a literal '\' in the replacement, write '\\'.
+ * There are also escapes that changes the case of the following text:
+ *
+ * &lt;variablelist&gt;
+ * &lt;varlistentry&gt;&lt;term&gt;\l&lt;/term&gt;
+ * &lt;listitem&gt;
+ * Convert to lower case the next character
+ * &lt;/listitem&gt;
+ * &lt;/varlistentry&gt;
+ * &lt;varlistentry&gt;&lt;term&gt;\u&lt;/term&gt;
+ * &lt;listitem&gt;
+ * Convert to upper case the next character
+ * &lt;/listitem&gt;
+ * &lt;/varlistentry&gt;
+ * &lt;varlistentry&gt;&lt;term&gt;\L&lt;/term&gt;
+ * &lt;listitem&gt;
+ * Convert to lower case till \E
+ * &lt;/listitem&gt;
+ * &lt;/varlistentry&gt;
+ * &lt;varlistentry&gt;&lt;term&gt;\U&lt;/term&gt;
+ * &lt;listitem&gt;
+ * Convert to upper case till \E
+ * &lt;/listitem&gt;
+ * &lt;/varlistentry&gt;
+ * &lt;varlistentry&gt;&lt;term&gt;\E&lt;/term&gt;
+ * &lt;listitem&gt;
+ * End case modification
+ * &lt;/listitem&gt;
+ * &lt;/varlistentry&gt;
+ * &lt;/variablelist&gt;
+ *
+ * If you do not need to use backreferences use g_regex_replace_literal().
+ *
+ * The @a replacement string must be UTF-8 encoded even if G::REGEX_RAW was
+ * passed to g_regex_new(). If you want to use not UTF-8 encoded stings
+ * you can use g_regex_replace_literal().
+ *
+ * Setting @a start_position differs from just passing over a shortened
+ * string and setting G::REGEX_MATCH_NOTBOL in the case of a pattern that
+ * begins with any kind of lookbehind assertion, such as "\b".
+ * @param string The string to perform matches against.
+ * @param string_len The length of @a string , or -1 if @a string is nul-terminated.
+ * @param start_position Starting index of the string to match.
+ * @param replacement Text to replace each match with.
+ * @param match_options Options for the match.
+ * @param error Location to store the error occuring, or <tt>0</tt> to ignore errors.
+ * @return A newly allocated string containing the replacements
+ *
+ * @newin2p14.
+ */
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ Glib::ustring replace(const gchar* string, gssize string_len, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options = static_cast<RegexMatchFlags>(0));
+#else
+ Glib::ustring replace(const gchar* string, gssize string_len, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ Glib::ustring replace(const Glib::ustring& string, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options);
+#else
+ Glib::ustring replace(const Glib::ustring& string, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error);
+#endif /* !GLIBMM_EXCEPTIONS_ENABLED */
+
+
+ /** Replaces all occurances of the pattern in @a regex with the
+ * replacement text. @a replacement is replaced literally, to
+ * include backreferences use g_regex_replace().
+ *
+ * Setting @a start_position differs from just passing over a
+ * shortened string and setting G::REGEX_MATCH_NOTBOL in the
+ * case of a pattern that begins with any kind of lookbehind
+ * assertion, such as "\b".
+ * @param string The string to perform matches against.
+ * @param string_len The length of @a string , or -1 if @a string is nul-terminated.
+ * @param start_position Starting index of the string to match.
+ * @param replacement Text to replace each match with.
+ * @param match_options Options for the match.
+ * @param error Location to store the error occuring, or <tt>0</tt> to ignore errors.
+ * @return A newly allocated string containing the replacements
+ *
+ * @newin2p14.
+ */
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ Glib::ustring replace_literal(const gchar *string, gssize string_len, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options = static_cast<RegexMatchFlags>(0));
+#else
+ Glib::ustring replace_literal(const gchar * string, gssize string_len, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ Glib::ustring replace_literal(const Glib::ustring& string, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options);
+#else
+ Glib::ustring replace_literal(const Glib::ustring& string, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error);
+#endif /* !GLIBMM_EXCEPTIONS_ENABLED */
+
+
+ /** Replaces occurances of the pattern in regex with the output of
+ * @a eval for that occurance.
+ *
+ * Setting @a start_position differs from just passing over a shortened
+ * string and setting G::REGEX_MATCH_NOTBOL in the case of a pattern
+ * that begins with any kind of lookbehind assertion, such as "\b".
+ * @param string String to perform matches against.
+ * @param string_len The length of @a string , or -1 if @a string is nul-terminated.
+ * @param start_position Starting index of the string to match.
+ * @param match_options Options for the match.
+ * @param eval A function to call for each match.
+ * @param user_data User data to pass to the function.
+ * @param error Location to store the error occuring, or <tt>0</tt> to ignore errors.
+ * @return A newly allocated string containing the replacements
+ *
+ * @newin2p14.
+ */
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ Glib::ustring replace_eval(const Glib::ustring& string, gssize string_len, int start_position, RegexMatchFlags match_options, GRegexEvalCallback eval, gpointer user_data);
+#else
+ Glib::ustring replace_eval(const Glib::ustring& string, gssize string_len, int start_position, RegexMatchFlags match_options, GRegexEvalCallback eval, gpointer user_data, std::auto_ptr<Glib::Error>& error);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+
+ /** Checks whether @a replacement is a valid replacement string
+ * (see g_regex_replace()), i.e.\ that all escape sequences in
+ * it are valid.
+ *
+ * If @a has_references is not <tt>0</tt> then @a replacement is checked
+ * for pattern references. For instance, replacement text 'foo<tt>\\n</tt>'
+ * does not contain references and may be evaluated without information
+ * about actual match, but '\0\1' (whole match followed by first
+ * subpattern) requires valid G::MatchInfo object.
+ * @param replacement The replacement string.
+ * @param has_references Location to store information about
+ * references in @a replacement or <tt>0</tt>.
+ * @param error Location to store error.
+ * @return Whether @a replacement is a valid replacement string
+ *
+ * @newin2p14.
+ */
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ static bool check_replacement(const Glib::ustring& replacement, gboolean* has_references);
+#else
+ static bool check_replacement(const Glib::ustring& replacement, gboolean* has_references, std::auto_ptr<Glib::Error>& error);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+
+/* Match info */
+/*
+GRegex *g_match_info_get_regex (const GMatchInfo *match_info);
+const gchar *g_match_info_get_string (const GMatchInfo *match_info);
+
+void g_match_info_free (GMatchInfo *match_info);
+ _WRAP_METHOD(bool g_match_info_next (GMatchInfo *match_info,
+ GError **error);
+ _WRAP_METHOD(bool g_match_info_matches (const GMatchInfo *match_info);
+ _WRAP_METHOD(int g_match_info_get_match_count (const GMatchInfo *match_info);
+ _WRAP_METHOD(bool g_match_info_is_partial_match (const GMatchInfo *match_info);
+Glib::ustring g_match_info_expand_references(const GMatchInfo *match_info,
+ Glib::ustring& string_to_expand,
+ GError **error);
+Glib::ustring g_match_info_fetch (const GMatchInfo *match_info,
+ int match_num);
+ _WRAP_METHOD(bool g_match_info_fetch_pos (const GMatchInfo *match_info,
+ int match_num,
+ int *start_pos,
+ int *end_pos);
+Glib::ustring g_match_info_fetch_named (const GMatchInfo *match_info,
+ Glib::ustring& name);
+ _WRAP_METHOD(bool g_match_info_fetch_named_pos (const GMatchInfo *match_info,
+ Glib::ustring& name,
+ int *start_pos,
+ int *end_pos);
+gchar **g_match_info_fetch_all (const GMatchInfo *match_info);
+*/
+
+
+};
+
+} // namespace Glib
+
+
+namespace Glib
+{
+
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
+ * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
+ * @result A C++ instance that wraps this C instance.
+ *
+ * @relates Glib::Regex
+ */
+ Glib::RefPtr<Glib::Regex> wrap(GRegex* object, bool take_copy = false);
+
+} // namespace Glib
+
+
+#endif /* _GLIBMM_REGEX_H */
+
diff --git a/libs/glibmm2/glib/glibmm/sarray.h b/libs/glibmm2/glib/glibmm/sarray.h
index b6f24d3a4f..c9720b5028 100644
--- a/libs/glibmm2/glib/glibmm/sarray.h
+++ b/libs/glibmm2/glib/glibmm/sarray.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_SARRAY_H
#define _GLIBMM_SARRAY_H
-/* $Id: sarray.h,v 1.1.1.1 2003/01/07 16:58:53 murrayc Exp $ */
+/* $Id: sarray.h 2 2003-01-07 16:59:16Z murrayc $ */
/* array.h
*
diff --git a/libs/glibmm2/glib/glibmm/shell.cc b/libs/glibmm2/glib/glibmm/shell.cc
index 52c6a47451..e20304aa0b 100644
--- a/libs/glibmm2/glib/glibmm/shell.cc
+++ b/libs/glibmm2/glib/glibmm/shell.cc
@@ -5,7 +5,7 @@
#include <glibmm/private/shell_p.h>
// -*- c++ -*-
-/* $Id: shell.ccg,v 1.1.1.1 2003/01/07 16:58:38 murrayc Exp $ */
+/* $Id: shell.ccg,v 1.1 2003/01/07 16:58:38 murrayc Exp $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/signalproxy.cc b/libs/glibmm2/glib/glibmm/signalproxy.cc
index 1f95436fb0..49e35c550e 100644
--- a/libs/glibmm2/glib/glibmm/signalproxy.cc
+++ b/libs/glibmm2/glib/glibmm/signalproxy.cc
@@ -1,6 +1,6 @@
// -*- c++ -*-
-/* $Id: signalproxy.cc,v 1.3 2006/05/12 08:08:43 murrayc Exp $ */
+/* $Id: signalproxy.cc 291 2006-05-12 08:08:45Z murrayc $ */
/* signalproxy.cc
*
diff --git a/libs/glibmm2/glib/glibmm/signalproxy_connectionnode.cc b/libs/glibmm2/glib/glibmm/signalproxy_connectionnode.cc
index 19604d92c0..9311fad3b9 100644
--- a/libs/glibmm2/glib/glibmm/signalproxy_connectionnode.cc
+++ b/libs/glibmm2/glib/glibmm/signalproxy_connectionnode.cc
@@ -1,6 +1,6 @@
// -*- c++ -*-
-/* $Id: signalproxy_connectionnode.cc,v 1.6 2004/10/07 16:02:01 philipl Exp $ */
+/* $Id: signalproxy_connectionnode.cc 137 2004-10-07 16:02:01Z philipl $ */
/* signalproxy_connectionnode.cc
*
diff --git a/libs/glibmm2/glib/glibmm/signalproxy_connectionnode.h b/libs/glibmm2/glib/glibmm/signalproxy_connectionnode.h
index ea55824e78..7d0faa3ca2 100644
--- a/libs/glibmm2/glib/glibmm/signalproxy_connectionnode.h
+++ b/libs/glibmm2/glib/glibmm/signalproxy_connectionnode.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_SIGNALPROXY_CONNECTIONNODE_H
#define _GLIBMM_SIGNALPROXY_CONNECTIONNODE_H
-/* $Id: signalproxy_connectionnode.h,v 1.6 2004/12/18 23:52:44 murrayc Exp $ */
+/* $Id: signalproxy_connectionnode.h 446 2007-09-26 15:10:44Z murrayc $ */
/* signalproxy_connectionnode.h
*
@@ -24,13 +24,18 @@
*/
#include <sigc++/sigc++.h>
-#include <glibmm/wrap.h>
+#include <glib/gtypes.h>
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
typedef struct _GObject GObject;
+typedef struct _GClosure GClosure;
+#endif //DOXYGEN_SHOULD_SKIP_THIS
namespace Glib
{
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
/** SignalProxyConnectionNode is a connection node for use with SignalProxy.
* It lives between the layer of Gtk+ and libsigc++.
* It is very much an internal class.
@@ -63,6 +68,8 @@ protected:
GObject* object_;
};
+#endif //DOXYGEN_SHOULD_SKIP_THIS
+
} /* namespace Glib */
diff --git a/libs/glibmm2/glib/glibmm/slisthandle.h b/libs/glibmm2/glib/glibmm/slisthandle.h
index 6e3f1671d1..0806e7be21 100644
--- a/libs/glibmm2/glib/glibmm/slisthandle.h
+++ b/libs/glibmm2/glib/glibmm/slisthandle.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_SLISTHANDLE_H
#define _GLIBMM_SLISTHANDLE_H
-/* $Id: slisthandle.h,v 1.3 2003/04/21 17:39:41 murrayc Exp $ */
+/* $Id: slisthandle.h 32 2003-04-21 17:39:41Z murrayc $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/streamiochannel.cc b/libs/glibmm2/glib/glibmm/streamiochannel.cc
index f87b9ae83b..db7f45aabc 100644
--- a/libs/glibmm2/glib/glibmm/streamiochannel.cc
+++ b/libs/glibmm2/glib/glibmm/streamiochannel.cc
@@ -1,4 +1,4 @@
-/* $Id: streamiochannel.cc,v 1.3 2006/05/12 08:08:43 murrayc Exp $ */
+/* $Id: streamiochannel.cc 291 2006-05-12 08:08:45Z murrayc $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/streamiochannel.h b/libs/glibmm2/glib/glibmm/streamiochannel.h
index f1c807eb6b..65c6972598 100644
--- a/libs/glibmm2/glib/glibmm/streamiochannel.h
+++ b/libs/glibmm2/glib/glibmm/streamiochannel.h
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: streamiochannel.h,v 1.2 2003/01/22 12:08:52 murrayc Exp $ */
+/* $Id: streamiochannel.h 17 2003-01-22 12:09:02Z murrayc $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/stringutils.cc b/libs/glibmm2/glib/glibmm/stringutils.cc
index df47a993c8..6cf0137b54 100644
--- a/libs/glibmm2/glib/glibmm/stringutils.cc
+++ b/libs/glibmm2/glib/glibmm/stringutils.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: stringutils.cc,v 1.3 2006/05/12 08:08:43 murrayc Exp $ */
+/* $Id: stringutils.cc 291 2006-05-12 08:08:45Z murrayc $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/stringutils.h b/libs/glibmm2/glib/glibmm/stringutils.h
index 2e1fd52832..aa32e755e3 100644
--- a/libs/glibmm2/glib/glibmm/stringutils.h
+++ b/libs/glibmm2/glib/glibmm/stringutils.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_STRINGUTILS_H
#define _GLIBMM_STRINGUTILS_H
-/* $Id: stringutils.h,v 1.2 2004/06/07 17:26:39 daniel Exp $ */
+/* $Id: stringutils.h 116 2004-06-07 17:26:39Z daniel $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/thread.h b/libs/glibmm2/glib/glibmm/thread.h
index fed779fc47..456d16850d 100644
--- a/libs/glibmm2/glib/glibmm/thread.h
+++ b/libs/glibmm2/glib/glibmm/thread.h
@@ -70,14 +70,16 @@ enum { THREAD_PRIORITY_NORMAL = GLIBMM_MACRO_DEFINITION_THREAD_PRIORITY_NORMAL }
namespace Glib
{
-/** @addtogroup glibmmEnums Enums and Flags */
-
/** Specifies the priority of a thread.
* @note It is not guaranteed, that threads with different priorities really
* behave accordingly. On some systems (e.g. Linux) only <tt>root</tt> can
* increase priorities. On other systems (e.g. Solaris) there doesn't seem to
* be different scheduling for different priorities. All in all try to avoid
* being dependent on priorities.
+ */
+/** @addtogroup glibmmEnums Enums and Flags */
+
+/**
* @ingroup glibmmEnums
*/
enum ThreadPriority
diff --git a/libs/glibmm2/glib/glibmm/threadpool.cc b/libs/glibmm2/glib/glibmm/threadpool.cc
index 459d975cbb..f6ccfe055b 100644
--- a/libs/glibmm2/glib/glibmm/threadpool.cc
+++ b/libs/glibmm2/glib/glibmm/threadpool.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: threadpool.cc,v 1.6 2006/05/12 08:08:43 murrayc Exp $ */
+/* $Id: threadpool.cc 291 2006-05-12 08:08:45Z murrayc $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/threadpool.h b/libs/glibmm2/glib/glibmm/threadpool.h
index e332fa2b81..10a1209566 100644
--- a/libs/glibmm2/glib/glibmm/threadpool.h
+++ b/libs/glibmm2/glib/glibmm/threadpool.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_THREADPOOL_H
#define _GLIBMM_THREADPOOL_H
-/* $Id: threadpool.h,v 1.2 2004/02/10 14:26:04 murrayc Exp $ */
+/* $Id: threadpool.h 72 2004-02-10 14:26:07Z murrayc $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/timer.cc b/libs/glibmm2/glib/glibmm/timer.cc
index df7985d97e..754431bf85 100644
--- a/libs/glibmm2/glib/glibmm/timer.cc
+++ b/libs/glibmm2/glib/glibmm/timer.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: timer.cc,v 1.1.1.1 2003/01/07 16:58:56 murrayc Exp $ */
+/* $Id: timer.cc 2 2003-01-07 16:59:16Z murrayc $ */
/* timer.cc
*
diff --git a/libs/glibmm2/glib/glibmm/timer.h b/libs/glibmm2/glib/glibmm/timer.h
index 54bd8bd8f2..b80f9ef8b7 100644
--- a/libs/glibmm2/glib/glibmm/timer.h
+++ b/libs/glibmm2/glib/glibmm/timer.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_TIMER_H
#define _GLIBMM_TIMER_H
-/* $Id: timer.h,v 1.1.1.1 2003/01/07 16:58:56 murrayc Exp $ */
+/* $Id: timer.h 2 2003-01-07 16:59:16Z murrayc $ */
/* timer.h
*
diff --git a/libs/glibmm2/glib/glibmm/timeval.cc b/libs/glibmm2/glib/glibmm/timeval.cc
index 835af84fa5..61882138f1 100644
--- a/libs/glibmm2/glib/glibmm/timeval.cc
+++ b/libs/glibmm2/glib/glibmm/timeval.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: timeval.cc,v 1.1.1.1 2003/01/07 16:58:56 murrayc Exp $ */
+/* $Id: timeval.cc 2 2003-01-07 16:59:16Z murrayc $ */
/* timeval.cc
*
diff --git a/libs/glibmm2/glib/glibmm/timeval.h b/libs/glibmm2/glib/glibmm/timeval.h
index 256202ecbc..1988a01ad4 100644
--- a/libs/glibmm2/glib/glibmm/timeval.h
+++ b/libs/glibmm2/glib/glibmm/timeval.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_TIMEVAL_H
#define _GLIBMM_TIMEVAL_H
-/* $Id: timeval.h,v 1.1.1.1 2003/01/07 16:58:56 murrayc Exp $ */
+/* $Id: timeval.h 2 2003-01-07 16:59:16Z murrayc $ */
/* timeval.h
*
diff --git a/libs/glibmm2/glib/glibmm/unicode.cc b/libs/glibmm2/glib/glibmm/unicode.cc
index 63ba67b1d2..a1e506049b 100644
--- a/libs/glibmm2/glib/glibmm/unicode.cc
+++ b/libs/glibmm2/glib/glibmm/unicode.cc
@@ -5,7 +5,7 @@
#include <glibmm/private/unicode_p.h>
// -*- c++ -*-
-/* $Id: unicode.ccg,v 1.1.1.1 2003/01/07 16:58:42 murrayc Exp $ */
+/* $Id: unicode.ccg,v 1.1 2003/01/07 16:58:42 murrayc Exp $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/unicode.h b/libs/glibmm2/glib/glibmm/unicode.h
index 07f3c75891..f43559e11b 100644
--- a/libs/glibmm2/glib/glibmm/unicode.h
+++ b/libs/glibmm2/glib/glibmm/unicode.h
@@ -128,7 +128,12 @@ enum UnicodeBreakType
UNICODE_BREAK_AMBIGUOUS,
UNICODE_BREAK_UNKNOWN,
UNICODE_BREAK_NEXT_LINE,
- UNICODE_BREAK_WORD_JOINER
+ UNICODE_BREAK_WORD_JOINER,
+ UNICODE_BREAK_HANGUL_L_JAMO,
+ UNICODE_BREAK_HANGUL_V_JAMO,
+ UNICODE_BREAK_HANGUL_T_JAMO,
+ UNICODE_BREAK_HANGUL_LV_SYLLABLE,
+ UNICODE_BREAK_HANGUL_LVT_SYLLABLE
};
@@ -193,7 +198,7 @@ inline AsciiType& operator^=(AsciiType& lhs, AsciiType rhs)
enum NormalizeMode
{
NORMALIZE_DEFAULT,
- NORMALIZE_NFD = NORMALIZE_DEFAULT,
+ NORMALIZE_NFD,
NORMALIZE_DEFAULT_COMPOSE,
NORMALIZE_NFC = NORMALIZE_DEFAULT_COMPOSE,
NORMALIZE_ALL,
diff --git a/libs/glibmm2/glib/glibmm/ustring.cc b/libs/glibmm2/glib/glibmm/ustring.cc
index 9fabc0c1f6..f7bf3bcf0a 100644
--- a/libs/glibmm2/glib/glibmm/ustring.cc
+++ b/libs/glibmm2/glib/glibmm/ustring.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: ustring.cc,v 1.7 2006/05/12 08:08:43 murrayc Exp $ */
+/* $Id: ustring.cc 369 2007-01-20 10:19:33Z daniel $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
@@ -54,8 +54,8 @@ struct UnicharToUtf8
// std::string will do that for us.
// First overload: stop on '\0' character.
-//
-static ustring::size_type utf8_byte_offset(const char* str, ustring::size_type offset)
+static
+ustring::size_type utf8_byte_offset(const char* str, ustring::size_type offset)
{
if(offset == ustring::npos)
return ustring::npos;
@@ -77,8 +77,8 @@ static ustring::size_type utf8_byte_offset(const char* str, ustring::size_type o
}
// Second overload: stop when reaching maxlen.
-//
-static ustring::size_type utf8_byte_offset(const char* str, ustring::size_type offset,
+static
+ustring::size_type utf8_byte_offset(const char* str, ustring::size_type offset,
ustring::size_type maxlen)
{
if(offset == ustring::npos)
@@ -139,8 +139,8 @@ ustring::size_type utf8_char_offset(const std::string& str, ustring::size_type o
// Helper to implement ustring::find_first_of() and find_first_not_of().
// Returns the UTF-8 character offset, or ustring::npos if not found.
-//
-static ustring::size_type utf8_find_first_of(const std::string& str, ustring::size_type offset,
+static
+ustring::size_type utf8_find_first_of(const std::string& str, ustring::size_type offset,
const char* utf8_match, long utf8_match_size,
bool find_not_of)
{
@@ -175,8 +175,8 @@ static ustring::size_type utf8_find_first_of(const std::string& str, ustring::si
// Helper to implement ustring::find_last_of() and find_last_not_of().
// Returns the UTF-8 character offset, or ustring::npos if not found.
-//
-static ustring::size_type utf8_find_last_of(const std::string& str, ustring::size_type offset,
+static
+ustring::size_type utf8_find_last_of(const std::string& str, ustring::size_type offset,
const char* utf8_match, long utf8_match_size,
bool find_not_of)
{
@@ -197,7 +197,9 @@ static ustring::size_type utf8_find_last_of(const std::string& str, ustring::siz
while(pstr > str_begin)
{
// Move to previous character.
- do --pstr; while((*pstr & '\xC0') == '\x80');
+ do
+ --pstr;
+ while((static_cast<unsigned char>(*pstr) & 0xC0u) == 0x80);
const gunichar *const pfound = std::find(match_begin, match_end, g_utf8_get_char(pstr));
@@ -220,36 +222,44 @@ namespace Glib
const ustring::size_type ustring::npos = std::string::npos;
#endif
-// We need our own version of g_utf8_get_char(), because the std::string
-// iterator is not necessarily a plain pointer (it's in fact not in GCC's
-// libstdc++-v3). Copying the UTF-8 data into a temporary buffer isn't an
-// option since this operation is quite time critical. The implementation
-// is quite different from g_utf8_get_char() -- both more generic and faster.
-//
-// By looking at the first byte of a UTF-8 character one can determine the
-// number of bytes used. GLib offers the g_utf8_skip[] array for this purpose,
-// but accessing this global variable would introduce a function call to fetch
-// the Global Offset Table, plus two levels of indirection in order to read the
-// value. Even worse, fetching the GOT is always done right at the start of
-// the function instead of the branch that actually uses the variable.
-//
-// Fortunately, there's a better way to get the byte count. As this table
-// shows, there's a nice regular pattern in the UTF-8 encoding scheme:
-//
-// 0x00000000 - 0x0000007F: 0xxxxxxx
-// 0x00000080 - 0x000007FF: 110xxxxx 10xxxxxx
-// 0x00000800 - 0x0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx
-// 0x00010000 - 0x001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
-// 0x00200000 - 0x03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
-// 0x04000000 - 0x7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
-//
-// Except for the single byte case, the number of leading 1-bits equals the
-// byte count. All that is needed is to shift the first byte to the left
-// until bit 7 becomes 0. Naturally, doing so requires a loop -- but since
-// we already have one, no additional cost is introduced. This shifting can
-// further be combined with the computation of the bitmask needed to eliminate
-// the leading length bits, thus saving yet another register.
-//
+/*
+ * We need our own version of g_utf8_get_char(), because the std::string
+ * iterator is not necessarily a plain pointer (it's in fact not in GCC's
+ * libstdc++-v3). Copying the UTF-8 data into a temporary buffer isn't an
+ * option since this operation is quite time critical. The implementation
+ * is quite different from g_utf8_get_char() -- both more generic and likely
+ * faster.
+ *
+ * By looking at the first byte of a UTF-8 character one can determine the
+ * number of bytes used. GLib offers the g_utf8_skip[] array for this purpose,
+ * but accessing this global variable would, on IA32 at least, introduce
+ * a function call to fetch the Global Offset Table, plus two levels of
+ * indirection in order to read the value. Even worse, fetching the GOT is
+ * always done right at the start of the function instead of the branch that
+ * actually uses the variable.
+ *
+ * Fortunately, there's a better way to get the byte count. As this table
+ * shows, there's a nice regular pattern in the UTF-8 encoding scheme:
+ *
+ * 0x00000000 - 0x0000007F: 0xxxxxxx
+ * 0x00000080 - 0x000007FF: 110xxxxx 10xxxxxx
+ * 0x00000800 - 0x0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx
+ * 0x00010000 - 0x001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
+ * 0x00200000 - 0x03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
+ * 0x04000000 - 0x7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
+ *
+ * Except for the single byte case, the number of leading 1-bits equals the
+ * byte count. All that is needed is to shift the first byte to the left
+ * until bit 7 becomes 0. Naturally, doing so requires a loop -- but since
+ * we already have one, no additional cost is introduced. This shifting can
+ * further be combined with the computation of the bitmask needed to eliminate
+ * the leading length bits, thus saving yet another register.
+ *
+ * Note: If you change this code, it is advisable to also review what the
+ * compiler makes of it in the assembler output. Except for some pointless
+ * register moves, the generated code is sufficiently close to the optimum
+ * with GCC 4.1.2 on x86_64.
+ */
gunichar get_unichar_from_std_iterator(std::string::const_iterator pos)
{
unsigned int result = static_cast<unsigned char>(*pos);
@@ -258,21 +268,16 @@ gunichar get_unichar_from_std_iterator(std::string::const_iterator pos)
{
unsigned int mask = 0x40;
- // This loop may look somewhat strange, but this happens to be the
- // one variant g++ 3.3 generates optimum code for. (In particular,
- // the unconditional break avoids counterproductive loop alignment.)
- for(++pos;; ++pos)
+ do
{
- mask <<= 5;
- const unsigned int c = static_cast<unsigned char>(*pos);
- result = (result << 6) + c - 0x80;
-
- if((result & mask) != 0)
- continue;
- break;
+ result <<= 6;
+ const unsigned int c = static_cast<unsigned char>(*++pos);
+ mask <<= 5;
+ result += c - 0x80;
}
+ while((result & mask) != 0);
- result &= --mask;
+ result &= mask - 1;
}
return result;
@@ -1125,7 +1130,7 @@ bool ustring::is_ascii() const
for(; p != pend; ++p)
{
- if((*p & '\x80') != 0)
+ if((static_cast<unsigned char>(*p) & 0x80u) != 0)
return false;
}
diff --git a/libs/glibmm2/glib/glibmm/ustring.h b/libs/glibmm2/glib/glibmm/ustring.h
index 86ff170552..06c97c7633 100644
--- a/libs/glibmm2/glib/glibmm/ustring.h
+++ b/libs/glibmm2/glib/glibmm/ustring.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_USTRING_H
#define _GLIBMM_USTRING_H
-/* $Id: ustring.h,v 1.15 2006/09/19 20:48:15 murrayc Exp $ */
+/* $Id: ustring.h 369 2007-01-20 10:19:33Z daniel $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
@@ -729,7 +729,7 @@ const ustring_Iterator<T> ustring_Iterator<T>::operator++(int)
template <class T> inline
ustring_Iterator<T>& ustring_Iterator<T>::operator--()
{
- do --pos_; while((*pos_ & '\xC0') == '\x80');
+ do --pos_; while((static_cast<unsigned char>(*pos_) & 0xC0u) == 0x80);
return *this;
}
diff --git a/libs/glibmm2/glib/glibmm/utility.cc b/libs/glibmm2/glib/glibmm/utility.cc
index c523b2880a..d23e46458c 100644
--- a/libs/glibmm2/glib/glibmm/utility.cc
+++ b/libs/glibmm2/glib/glibmm/utility.cc
@@ -1,6 +1,6 @@
// -*- c++ -*-
-/* $Id: utility.cc,v 1.1.1.1 2003/01/07 16:58:59 murrayc Exp $ */
+/* $Id: utility.cc 2 2003-01-07 16:59:16Z murrayc $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/utility.h b/libs/glibmm2/glib/glibmm/utility.h
index ce541a8d11..fa5c0dcfc1 100644
--- a/libs/glibmm2/glib/glibmm/utility.h
+++ b/libs/glibmm2/glib/glibmm/utility.h
@@ -1,7 +1,7 @@
// -*- c++ -*-
#ifndef _GLIBMM_UTILITY_H
#define _GLIBMM_UTILITY_H
-/* $Id: utility.h,v 1.2 2003/01/21 12:43:26 murrayc Exp $ */
+/* $Id: utility.h 386 2007-03-23 17:31:16Z murrayc $ */
/* Copyright 2002 The gtkmm Development Team
*
@@ -21,14 +21,12 @@
*/
#include <glib/gmacros.h>
+#include <glib/gmem.h>
#include <glibmm/ustring.h>
#ifndef DOXYGEN_SHOULD_SKIP_THIS
-extern "C" void g_free(void*);
-
-
/* Occasionally, a struct variable has to be initialized after its definition,
* i.e. when using structs as class member data. For convenience, the macro
* GLIBMM_INITIALIZE_STRUCT(Var, Type) is provided. It even avoids creating
diff --git a/libs/glibmm2/glib/glibmm/value.cc b/libs/glibmm2/glib/glibmm/value.cc
index 620498c4aa..63aff5f4d0 100644
--- a/libs/glibmm2/glib/glibmm/value.cc
+++ b/libs/glibmm2/glib/glibmm/value.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: value.cc,v 1.4 2006/05/14 12:12:41 murrayc Exp $ */
+/* $Id: value.cc 292 2006-05-14 12:12:41Z murrayc $ */
/* Copyright 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/value.h b/libs/glibmm2/glib/glibmm/value.h
index c729d32b1b..12d611bc91 100644
--- a/libs/glibmm2/glib/glibmm/value.h
+++ b/libs/glibmm2/glib/glibmm/value.h
@@ -1,7 +1,7 @@
// -*- c++ -*-
#ifndef _GLIBMM_VALUE_H
#define _GLIBMM_VALUE_H
-/* $Id: value.h,v 1.11 2006/05/14 12:12:41 murrayc Exp $ */
+/* $Id: value.h 292 2006-05-14 12:12:41Z murrayc $ */
/* Copyright 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/value_custom.cc b/libs/glibmm2/glib/glibmm/value_custom.cc
index 0cf99da781..09919f4a6b 100644
--- a/libs/glibmm2/glib/glibmm/value_custom.cc
+++ b/libs/glibmm2/glib/glibmm/value_custom.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: value_custom.cc,v 1.7 2006/04/12 08:12:11 murrayc Exp $ */
+/* $Id: value_custom.cc 260 2006-04-12 08:12:12Z murrayc $ */
/* Copyright 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/glibmm/value_custom.h b/libs/glibmm2/glib/glibmm/value_custom.h
index 70f4c3f021..b08c591051 100644
--- a/libs/glibmm2/glib/glibmm/value_custom.h
+++ b/libs/glibmm2/glib/glibmm/value_custom.h
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: value_custom.h,v 1.8 2005/01/21 19:26:04 murrayc Exp $ */
+/* $Id: value_custom.h 419 2007-06-22 14:43:53Z murrayc $ */
/* Copyright 2002 The gtkmm Development Team
*
@@ -18,6 +18,9 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+#ifndef _GLIBMM_VALUE_CUSTOM_H
+#define _GLIBMM_VALUE_CUSTOM_H
+
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#ifndef _GLIBMM_VALUE_H_INCLUDE_VALUE_CUSTOM_H
#error "glibmm/value_custom.h cannot be included directly"
@@ -287,3 +290,6 @@ void Value<T>::value_copy_func(const GValue* src_value, GValue* dest_value)
} // namespace Glib
+#endif //_GLIBMM_VALUE_CUSTOM_H
+
+
diff --git a/libs/glibmm2/glib/glibmm/wrap.cc b/libs/glibmm2/glib/glibmm/wrap.cc
index 54e1507ceb..49a1e15c79 100644
--- a/libs/glibmm2/glib/glibmm/wrap.cc
+++ b/libs/glibmm2/glib/glibmm/wrap.cc
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: wrap.cc,v 1.3 2005/01/06 17:42:56 murrayc Exp $ */
+/* $Id: wrap.cc 447 2007-10-03 09:51:41Z murrayc $ */
/* wrap.cc
*
@@ -45,36 +45,6 @@ typedef std::vector<Glib::WrapNewFunction> WrapFuncTable;
static WrapFuncTable* wrap_func_table = 0;
-
-static Glib::ObjectBase* create_new_wrapper(GObject* object)
-{
- g_return_val_if_fail(wrap_func_table != 0, 0);
-
- bool gtkmm_wrapper_already_deleted = (bool)g_object_get_qdata((GObject*)object, Glib::quark_cpp_wrapper_deleted_);
- if(gtkmm_wrapper_already_deleted)
- {
- g_warning("Glib::create_new_wrapper: Attempted to create a 2nd C++ wrapper for a C instance whose C++ wrapper has been deleted.");
- return 0;
- }
-
- // Traverse upwards through the inheritance hierarchy
- // to find the most-specialized wrap_new() for this GType.
- //
- for(GType type = G_OBJECT_TYPE(object); type != 0; type = g_type_parent(type))
- {
- // Look up the wrap table index stored in the type's static data.
- // If a wrap_new() has been registered for the type then call it.
- //
- if(const gpointer idx = g_type_get_qdata(type, Glib::quark_))
- {
- const Glib::WrapNewFunction func = (*wrap_func_table)[GPOINTER_TO_UINT(idx)];
- return (*func)(object);
- }
- }
-
- return 0;
-}
-
} // anonymous namespace
@@ -120,6 +90,85 @@ void wrap_register(GType type, WrapNewFunction func)
g_type_set_qdata(type, Glib::quark_, GUINT_TO_POINTER(idx));
}
+
+static Glib::ObjectBase* wrap_create_new_wrapper(GObject* object)
+{
+ g_return_val_if_fail(wrap_func_table != 0, 0);
+
+ const bool gtkmm_wrapper_already_deleted = (bool)g_object_get_qdata((GObject*)object, Glib::quark_cpp_wrapper_deleted_);
+ if(gtkmm_wrapper_already_deleted)
+ {
+ g_warning("Glib::wrap_create_new_wrapper: Attempted to create a 2nd C++ wrapper for a C instance whose C++ wrapper has been deleted.");
+ return 0;
+ }
+
+ // Traverse upwards through the inheritance hierarchy
+ // to find the most-specialized wrap_new() for this GType.
+ //
+ for(GType type = G_OBJECT_TYPE(object); type != 0; type = g_type_parent(type))
+ {
+ // Look up the wrap table index stored in the type's static data.
+ // If a wrap_new() has been registered for the type then call it.
+ //
+ if(const gpointer idx = g_type_get_qdata(type, Glib::quark_))
+ {
+ const Glib::WrapNewFunction func = (*wrap_func_table)[GPOINTER_TO_UINT(idx)];
+ return (*func)(object);
+ }
+ }
+
+ return 0;
+}
+
+static gboolean gtype_wraps_interface(GType implementer_type, GType interface_type)
+{
+ guint n_ifaces = 0;
+ GType *ifaces = g_type_interfaces (implementer_type, &n_ifaces);
+
+ gboolean found = FALSE;
+ while (n_ifaces-- && !found)
+ {
+ found = (ifaces[n_ifaces] == interface_type);
+ }
+
+ g_free (ifaces);
+
+ return found;
+}
+
+Glib::ObjectBase* wrap_create_new_wrapper_for_interface(GObject* object, GType interface_gtype)
+{
+ g_return_val_if_fail(wrap_func_table != 0, 0);
+
+ const bool gtkmm_wrapper_already_deleted = (bool)g_object_get_qdata((GObject*)object, Glib::quark_cpp_wrapper_deleted_);
+ if(gtkmm_wrapper_already_deleted)
+ {
+ g_warning("Glib::wrap_create_new_wrapper: Attempted to create a 2nd C++ wrapper for a C instance whose C++ wrapper has been deleted.");
+ return 0;
+ }
+
+ // Traverse upwards through the inheritance hierarchy
+ // to find the most-specialized wrap_new() for this GType.
+ //
+ for(GType type = G_OBJECT_TYPE(object); type != 0; type = g_type_parent(type))
+ {
+ // Look up the wrap table index stored in the type's static data.
+ // If a wrap_new() has been registered for the type then call it.
+ // But only if the type implements the interface,
+ // so that the C++ instance is likely to inherit from the appropriate class too.
+ //
+ const gpointer idx = g_type_get_qdata(type, Glib::quark_);
+ if(idx && gtype_wraps_interface(type, interface_gtype))
+ {
+ const Glib::WrapNewFunction func = (*wrap_func_table)[GPOINTER_TO_UINT(idx)];
+ return (*func)(object);
+ }
+ }
+
+ return 0;
+}
+
+
// This is a factory function that converts any type to
// its C++ wrapper instance by looking up a wrap_new() function in a map.
//
@@ -129,13 +178,12 @@ ObjectBase* wrap_auto(GObject* object, bool take_copy)
return 0;
// Look up current C++ wrapper instance:
- ObjectBase* pCppObject =
- static_cast<ObjectBase*>(g_object_get_qdata(object, Glib::quark_));
+ ObjectBase* pCppObject = ObjectBase::_get_current_wrapper(object);
if(!pCppObject)
{
// There's not already a wrapper: generate a new C++ instance.
- pCppObject = create_new_wrapper(object);
+ pCppObject = wrap_create_new_wrapper(object);
if(!pCppObject)
{
diff --git a/libs/glibmm2/glib/glibmm/wrap.h b/libs/glibmm2/glib/glibmm/wrap.h
index 7bbd705fc2..83aae3c880 100644
--- a/libs/glibmm2/glib/glibmm/wrap.h
+++ b/libs/glibmm2/glib/glibmm/wrap.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_WRAP_H
#define _GLIBMM_WRAP_H
-/* $Id: wrap.h,v 1.2 2003/01/27 16:14:36 murrayc Exp $ */
+/* $Id: wrap.h 447 2007-10-03 09:51:41Z murrayc $ */
/* Copyright (C) 1998-2002 The gtkmm Development Team
*
@@ -23,11 +23,13 @@
#include <glib-object.h>
#include <glibmm/refptr.h>
-
+#include <glibmm/objectbase.h>
namespace Glib
{
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
class ObjectBase;
class Object;
@@ -46,6 +48,50 @@ void wrap_register(GType type, WrapNewFunction func);
// or automatically generate a new wrapper if there's none.
Glib::ObjectBase* wrap_auto(GObject* object, bool take_copy = false);
+/** Create a C++ instance of a known C++ type that is mostly closely associated with the GType of the C object.
+ * @param object The C object which should be placed in a new C++ instance.
+ * @param interface_gtype The returned instance will implement this interface. Otherwise it will be NULL.
+ */
+Glib::ObjectBase* wrap_create_new_wrapper_for_interface(GObject* object, GType interface_gtype);
+
+// Return the current C++ wrapper instance of the GObject,
+// or automatically generate a new wrapper if there's none.
+template<class TInterface>
+TInterface* wrap_auto_interface(GObject* object, bool take_copy = false)
+{
+ if(!object)
+ return 0;
+
+ // Look up current C++ wrapper instance:
+ ObjectBase* pCppObject = ObjectBase::_get_current_wrapper(object);
+
+ if(!pCppObject)
+ {
+ // There's not already a wrapper: generate a new C++ instance.
+ // We use exact_type_only=true avoid creating Glib::Object for interfaces of unknown implementation,
+ // because we do not want a C++ object that does not dynamic_cast to the expected interface type.
+ pCppObject = wrap_create_new_wrapper_for_interface(object, TInterface::get_base_type());
+ }
+
+ //If no exact wrapper was created,
+ //create an instance of the interface,
+ //so we at least get the expected type:
+ TInterface* result = 0;
+ if(pCppObject)
+ result = dynamic_cast<TInterface*>(pCppObject);
+ else
+ result = new TInterface((typename TInterface::BaseObjectType*)object);
+
+ // take_copy=true is used where the GTK+ function doesn't do
+ // an extra ref for us, and always for plain struct members.
+ if(take_copy && result)
+ result->reference();
+
+ return result;
+}
+
+#endif //DOXYGEN_SHOULD_SKIP_THIS
+
// Get a C++ instance that wraps the C instance.
// This always returns the same C++ instance for the same C instance.
// Each wrapper has it's own override of Glib::wrap().
diff --git a/libs/glibmm2/glib/glibmm/wrap_init.cc b/libs/glibmm2/glib/glibmm/wrap_init.cc
index b6799993f1..f1eafb8f09 100644
--- a/libs/glibmm2/glib/glibmm/wrap_init.cc
+++ b/libs/glibmm2/glib/glibmm/wrap_init.cc
@@ -22,6 +22,7 @@
#include "optioncontext.h"
#include "optionentry.h"
#include "optiongroup.h"
+#include "regex.h"
#include "shell.h"
#include "spawn.h"
#include "thread.h"
@@ -41,6 +42,7 @@ GQuark g_io_channel_error_quark(void);
GQuark g_key_file_error_quark(void);
GQuark g_markup_error_quark(void);
GQuark g_option_error_quark(void);
+GQuark g_regex_error_quark(void);
GQuark g_shell_error_quark(void);
GQuark g_spawn_error_quark(void);
GQuark g_thread_error_quark(void);
@@ -61,6 +63,7 @@ void wrap_init()
Glib::Error::register_domain(g_key_file_error_quark(), &Glib::KeyFileError::throw_func);
Glib::Error::register_domain(g_markup_error_quark(), &Glib::MarkupError::throw_func);
Glib::Error::register_domain(g_option_error_quark(), &Glib::OptionError::throw_func);
+ Glib::Error::register_domain(g_regex_error_quark(), &Glib::RegexError::throw_func);
Glib::Error::register_domain(g_shell_error_quark(), &Glib::ShellError::throw_func);
Glib::Error::register_domain(g_spawn_error_quark(), &Glib::SpawnError::throw_func);
Glib::Error::register_domain(g_thread_error_quark(), &Glib::ThreadError::throw_func);
diff --git a/libs/glibmm2/glib/glibmm/wrap_init.h b/libs/glibmm2/glib/glibmm/wrap_init.h
index fbdc4e0853..cd5dd0dfa0 100644
--- a/libs/glibmm2/glib/glibmm/wrap_init.h
+++ b/libs/glibmm2/glib/glibmm/wrap_init.h
@@ -2,7 +2,7 @@
#ifndef _GLIBMM_WRAP_INIT_H
#define _GLIBMM_WRAP_INIT_H
-/* $Id: wrap_init.h,v 1.1.1.1 2003/01/07 16:59:01 murrayc Exp $ */
+/* $Id: wrap_init.h 2 2003-01-07 16:59:16Z murrayc $ */
/* wrap_init.h
*
diff --git a/libs/glibmm2/glib/glibmmconfig.h b/libs/glibmm2/glib/glibmmconfig.h
index 7cf16ed623..4e4bfa308f 100644
--- a/libs/glibmm2/glib/glibmmconfig.h
+++ b/libs/glibmm2/glib/glibmmconfig.h
@@ -1,11 +1,11 @@
-/* glib/glibmmconfig.h. Generated by configure. */
+/* glib/glibmmconfig.h. Generated from glibmmconfig.h.in by configure. */
#ifndef _GLIBMM_CONFIG_H
#define _GLIBMM_CONFIG_H 1
/* version numbers */
#define GLIBMM_MAJOR_VERSION 2
-#define GLIBMM_MINOR_VERSION 13
-#define GLIBMM_MICRO_VERSION 3
+#define GLIBMM_MINOR_VERSION 14
+#define GLIBMM_MICRO_VERSION 2
// detect common platforms
#if defined(_WIN32)
@@ -38,6 +38,7 @@
/* #undef GLIBMM_HAVE_SUN_REVERSE_ITERATOR */
#define GLIBMM_HAVE_TEMPLATE_SEQUENCE_CTORS 1
#define GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS 1
+#define GLIBMM_HAVE_C_STD_TIME_T_IS_NOT_INT32 1
/* #undef GLIBMM_COMPILER_SUN_FORTE */
/* #undef GLIBMM_DEBUG_REFCOUNTING */
#define GLIBMM_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION 1
@@ -57,6 +58,7 @@
#define GLIBMM_HAVE_STD_ITERATOR_TRAITS 1
#define GLIBMM_HAVE_TEMPLATE_SEQUENCE_CTORS 1
#define GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS 1
+ #define GLIBMM_HAVE_C_STD_TIME_T_IS_NOT_INT32 1
#define GLIBMM_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION 1
#define GLIBMM_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS 1
#define GLIBMM_CAN_USE_NAMESPACES_INSIDE_EXTERNC 1
@@ -76,7 +78,7 @@
#ifdef GLIBMM_DLL
#if defined(GLIBMM_BUILD) && defined(_WINDLL)
/* Do not dllexport as it is handled by gendef on MSVC */
- #define GLIBMM_API
+ #define GLIBMM_API
#elif !defined(GLIBMM_BUILD)
#define GLIBMM_API __declspec(dllimport)
#else
diff --git a/libs/glibmm2/glib/glibmmconfig.h.in b/libs/glibmm2/glib/glibmmconfig.h.in
index da7a98da7f..8a971fe5b3 100644
--- a/libs/glibmm2/glib/glibmmconfig.h.in
+++ b/libs/glibmm2/glib/glibmmconfig.h.in
@@ -37,6 +37,7 @@
#undef GLIBMM_HAVE_SUN_REVERSE_ITERATOR
#undef GLIBMM_HAVE_TEMPLATE_SEQUENCE_CTORS
#undef GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS
+#undef GLIBMM_HAVE_C_STD_TIME_T_IS_NOT_INT32
#undef GLIBMM_COMPILER_SUN_FORTE
#undef GLIBMM_DEBUG_REFCOUNTING
#undef GLIBMM_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION
@@ -56,6 +57,7 @@
#define GLIBMM_HAVE_STD_ITERATOR_TRAITS 1
#define GLIBMM_HAVE_TEMPLATE_SEQUENCE_CTORS 2
#define GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS 1
+ #define GLIBMM_HAVE_C_STD_TIME_T_IS_NOT_INT32 1
#define GLIBMM_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION 1
#define GLIBMM_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS 1
#define GLIBMM_CAN_USE_NAMESPACES_INSIDE_EXTERNC 1
diff --git a/libs/glibmm2/glib/src/Makefile b/libs/glibmm2/glib/src/Makefile
deleted file mode 100644
index a12e24aba8..0000000000
--- a/libs/glibmm2/glib/src/Makefile
+++ /dev/null
@@ -1,424 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# glib/src/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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.
-
-
-srcdir = .
-top_srcdir = ../..
-
-pkgdatadir = $(datadir)/glibmm
-pkglibdir = $(libdir)/glibmm
-pkgincludedir = $(includedir)/glibmm
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-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 = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/Makefile_list_of_hg.am_fragment \
- $(top_srcdir)/build_shared/Makefile_gensrc.am_fragment \
- $(top_srcdir)/build_shared/Makefile_gensrc_platform.am_fragment \
- $(top_srcdir)/tools/Makefile_list_of_sources.am_fragment \
- $(top_srcdir)/tools/m4/Makefile_list_of_sources.am_fragment \
- $(top_srcdir)/tools/pm/Makefile_list_of_sources.am_fragment
-subdir = glib/src
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run aclocal-1.9 -I ./scripts
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run tar
-AR = ar
-AS = as
-AUTOCONF = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run autoconf
-AUTOHEADER = :
-AUTOMAKE = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS =
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2 -Wall -Wno-long-long
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-DISABLE_DEPRECATED_API_CFLAGS =
-DISABLE_DEPRECATED_CFLAGS =
-DLLTOOL = dlltool
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-GLIBMM_CFLAGS = -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GLIBMM_LIBS = -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
-GLIBMM_MAJOR_VERSION = 2
-GLIBMM_MICRO_VERSION = 3
-GLIBMM_MINOR_VERSION = 13
-GLIBMM_RELEASE = 2.13
-GLIBMM_VERSION = 2.13.3
-GTHREAD_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GTHREAD_LIBS = -pthread -lgthread-2.0 -lrt -lglib-2.0
-GTKMMPROC_MERGECDOCS =
-GTKMM_DOXYGEN_INPUT = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/glib/glibmm/
-GTKMM_FALSE_FALSE =
-GTKMM_FALSE_TRUE = #
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBGLIBMM_SO_VERSION = 1:24:0
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-M4 = m4
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run makeinfo
-OBJDUMP = objdump
-OBJEXT = o
-OS_WIN32_FALSE =
-OS_WIN32_TRUE = #
-PACKAGE = glibmm
-PACKAGE_BUGREPORT =
-PACKAGE_NAME =
-PACKAGE_STRING =
-PACKAGE_TARNAME =
-PACKAGE_VERSION =
-PATH_SEPARATOR = :
-PERL_PATH = /usr/bin/perl
-PKG_CONFIG = /usr/bin/pkg-config
-PLATFORM_WIN32_FALSE =
-PLATFORM_WIN32_TRUE = #
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.13.3
-ac_ct_AR = ar
-ac_ct_AS =
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_DLLTOOL =
-ac_ct_F77 =
-ac_ct_OBJDUMP =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-ac_pt_PKG_CONFIG = /usr/bin/pkg-config
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target_alias =
-sublib_name = glibmm
-sublib_namespace = Glib
-files_defs = glib.defs glib_enums.defs glib_functions.defs gobject.defs gobject_enums.defs gobject_functions.defs gmodule_enums.defs gmodule_functions.defs glib_docs.xml glib_docs_override.xml
-tools_dir_m4 = $(top_srcdir)/tools/m4
-tools_dir_pm = $(top_srcdir)/tools/pm
-gensrc_destdir = $(srcdir)/../$(sublib_name)
-stamp_dir = $(srcdir)/.stamps
-files_tools_m4 = base.m4 class_shared.m4 class_boxedtype.m4 class_boxedtype_static.m4 \
- class_generic.m4 class_gobject.m4 class_gtkobject.m4 \
- class_interface.m4 class_opaque_refcounted.m4 class_opaque_copyable.m4 \
- gerror.m4 \
- compare.m4 convert.m4 convert_base.m4 convert_gtkmm.m4 convert_atk.m4 convert_gdk.m4 \
- convert_glib.m4 convert_gtk.m4 convert_pango.m4 ctor.m4 doc.m4 enum.m4 list.m4 member.m4 \
- method.m4 property.m4 signal.m4 vfunc.m4
-
-files_tools_pm = DocsParser.pm GtkDefs.pm Enum.pm Function.pm FunctionBase.pm Object.pm Output.pm Property.pm Util.pm WrapParser.pm
-files_tools_genwrap = generate_wrap_init.pl
-files_tools_perl = $(files_tools_genwrap) gmmproc.in
-tools_m4 = $(files_tools_m4:%.m4=$(tools_dir_m4)/%.m4)
-tools_pm = $(files_tools_pm:%.pm=$(tools_dir_pm)/%.pm)
-files_posix_hg =
-files_win32_hg =
-files_general_hg = convert.hg date.hg fileutils.hg iochannel.hg keyfile.hg markup.hg module.hg optioncontext.hg optionentry.hg optiongroup.hg shell.hg spawn.hg thread.hg unicode.hg
-files_all_hg = $(files_general_hg) $(files_posix_hg) $(files_win32_hg)
-files_hg = $(files_general_hg) $(files_posix_hg)
-#files_hg = $(files_general_hg) $(files_win32_hg)
-files_all_ccg = $(files_all_hg:%.hg=%.ccg)
-files_h = $(files_all_hg:%.hg=$(gensrc_destdir)/%.h)
-files_cc = $(files_all_hg:%.hg=$(gensrc_destdir)/%.cc)
-files_stamp = $(files_all_hg:%.hg=$(stamp_dir)/stamp-%) \
- $(glibmm_files_m4:%.m4=$(gensrc_destdir)/%)
-gmmproc_in = $(top_srcdir)/tools/gmmproc.in
-gmmproc_path = $(top_builddir)/tools/gmmproc
-gmmproc_args = -I $(tools_dir_m4) --defs $(srcdir)
-run_gmmproc = $(PERL_PATH) -I$(tools_dir_pm) $(gmmproc_path) $(gmmproc_args)
-gen_wrap_init_in = $(top_srcdir)/tools/generate_wrap_init.pl.in
-gen_wrap_init_path = $(top_builddir)/tools/generate_wrap_init.pl
-gen_wrap_init_args = --namespace=$(sublib_namespace)
-run_gen_wrap_init = $(PERL_PATH) $(gen_wrap_init_path) $(gen_wrap_init_args)
-EXTRA_DIST = Makefile_list_of_hg.am_fragment $(files_defs) \
- $(files_all_hg) $(files_all_ccg) $(glibmm_files_m4) \
- template.macros.m4
-glibmm_files_m4 = signalproxy.h.m4 value_basictypes.cc.m4 value_basictypes.h.m4
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(top_srcdir)/build_shared/Makefile_gensrc.am_fragment $(top_srcdir)/tools/Makefile_list_of_sources.am_fragment $(top_srcdir)/tools/m4/Makefile_list_of_sources.am_fragment $(top_srcdir)/tools/pm/Makefile_list_of_sources.am_fragment $(srcdir)/Makefile_list_of_hg.am_fragment $(top_srcdir)/build_shared/Makefile_gensrc_platform.am_fragment $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu glib/src/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu glib/src/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: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/../../build_shared $(distdir)/../../tools $(distdir)/../../tools/m4 $(distdir)/../../tools/pm
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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-local:
-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:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-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-info-am
-
-.PHONY: all all-am all-local 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-exec \
- install-exec-am install-info install-info-am install-man \
- 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-info-am
-
-
-$(stamp_dir)/stamp-%: %.hg %.ccg $(gmmproc_in) $(tools_m4) $(tools_pm) $(files_defs)
- $(run_gmmproc) $(notdir $*) $(srcdir) $(gensrc_destdir)
- @echo 'timestamp' >$@
-
-$(gensrc_destdir)/wrap_init.cc: $(gen_wrap_init_in) $(files_all_hg)
- $(run_gen_wrap_init) $(files_all_hg:%.hg=$(srcdir)/%.hg) >$@
-
-create-stamp-dir:
- @(test -d $(stamp_dir) || mkdir $(stamp_dir))
-
-#all-local: create-stamp-dir $(files_stamp) $(gensrc_destdir)/wrap_init.cc
-
-maintainer-clean-local:
- rm -rf $(stamp_dir)
-
-.PHONY: create-stamp-dir
-
-$(gensrc_destdir)/%.cc: %.cc.m4 template.macros.m4
- $(M4) -I$(srcdir) $< >$@
-
-$(gensrc_destdir)/%.h: %.h.m4 template.macros.m4
- $(M4) -I$(srcdir) $< >$@
-# 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:
diff --git a/libs/glibmm2/glib/src/Makefile.in b/libs/glibmm2/glib/src/Makefile.in
index 04b587c100..c43e26c1f7 100644
--- a/libs/glibmm2/glib/src/Makefile.in
+++ b/libs/glibmm2/glib/src/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 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.
@@ -13,15 +13,11 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -44,8 +40,8 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/tools/pm/Makefile_list_of_sources.am_fragment
subdir = glib/src
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/scripts/c_std.m4 \
+ $(top_srcdir)/scripts/cxx.m4 $(top_srcdir)/scripts/cxx_std.m4 \
$(top_srcdir)/scripts/docgen.m4 \
$(top_srcdir)/scripts/glibmm_check_perl.m4 \
$(top_srcdir)/scripts/macros.m4 \
@@ -61,8 +57,6 @@ SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
@@ -100,12 +94,12 @@ GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
GLIBMM_RELEASE = @GLIBMM_RELEASE@
GLIBMM_VERSION = @GLIBMM_VERSION@
+GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -119,13 +113,10 @@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@
MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -135,27 +126,18 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
+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_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -167,28 +149,39 @@ 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@
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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
sublib_name = glibmm
sublib_namespace = Glib
files_defs = glib.defs glib_enums.defs glib_functions.defs gobject.defs gobject_enums.defs gobject_functions.defs gmodule_enums.defs gmodule_functions.defs glib_docs.xml glib_docs_override.xml
@@ -211,7 +204,7 @@ tools_m4 = $(files_tools_m4:%.m4=$(tools_dir_m4)/%.m4)
tools_pm = $(files_tools_pm:%.pm=$(tools_dir_pm)/%.pm)
files_posix_hg =
files_win32_hg =
-files_general_hg = convert.hg date.hg fileutils.hg iochannel.hg keyfile.hg markup.hg module.hg optioncontext.hg optionentry.hg optiongroup.hg shell.hg spawn.hg thread.hg unicode.hg
+files_general_hg = convert.hg date.hg fileutils.hg iochannel.hg keyfile.hg markup.hg module.hg optioncontext.hg optionentry.hg optiongroup.hg regex.hg shell.hg spawn.hg thread.hg unicode.hg
files_all_hg = $(files_general_hg) $(files_posix_hg) $(files_win32_hg)
@OS_WIN32_FALSE@files_hg = $(files_general_hg) $(files_posix_hg)
@OS_WIN32_TRUE@files_hg = $(files_general_hg) $(files_win32_hg)
@@ -270,10 +263,6 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
tags: TAGS
TAGS:
@@ -282,23 +271,21 @@ CTAGS:
distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/../../build_shared $(distdir)/../../tools $(distdir)/../../tools/m4 $(distdir)/../../tools/pm
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @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; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -344,7 +331,7 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
+distclean-am: clean-am distclean-generic
dvi: dvi-am
@@ -358,12 +345,20 @@ info-am:
install-data-am:
+install-dvi: install-dvi-am
+
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
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -383,18 +378,21 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
+uninstall-am:
+
+.MAKE: install-am install-strip
.PHONY: all all-am all-local 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-exec \
- install-exec-am install-info install-info-am install-man \
+ 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 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-info-am
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
$(stamp_dir)/stamp-%: %.hg %.ccg $(gmmproc_in) $(tools_m4) $(tools_pm) $(files_defs)
diff --git a/libs/glibmm2/glib/src/Makefile_list_of_hg.am_fragment b/libs/glibmm2/glib/src/Makefile_list_of_hg.am_fragment
index 469614d82c..4cc446def7 100644
--- a/libs/glibmm2/glib/src/Makefile_list_of_hg.am_fragment
+++ b/libs/glibmm2/glib/src/Makefile_list_of_hg.am_fragment
@@ -5,4 +5,4 @@
files_posix_hg =
files_win32_hg =
-files_general_hg = convert.hg date.hg fileutils.hg iochannel.hg keyfile.hg markup.hg module.hg optioncontext.hg optionentry.hg optiongroup.hg shell.hg spawn.hg thread.hg unicode.hg
+files_general_hg = convert.hg date.hg fileutils.hg iochannel.hg keyfile.hg markup.hg module.hg optioncontext.hg optionentry.hg optiongroup.hg regex.hg shell.hg spawn.hg thread.hg unicode.hg
diff --git a/libs/glibmm2/glib/src/date.ccg b/libs/glibmm2/glib/src/date.ccg
index ca7bc50d9c..8f66c8e8f8 100644
--- a/libs/glibmm2/glib/src/date.ccg
+++ b/libs/glibmm2/glib/src/date.ccg
@@ -65,14 +65,22 @@ void Date::set_parse(const Glib::ustring& str)
g_date_set_parse(&gobject_, str.c_str());
}
+
_DEPRECATE_IFDEF_START
+
+//Avoid a build problem in the case that time_t is equivalent to guint32 (GTime is also guint32)
+//That would make the set_time() method overload impossible.
+#ifdef GLIBMM_HAVE_C_STD_TIME_T_IS_NOT_INT32
void Date::set_time(GTime time)
{
//This method, and the C function that it wraps, are deprecated.
g_date_set_time(&gobject_, time);
}
+#endif //GLIBMM_HAVE_C_STD_TIME_T_IS_NOT_INT32
+
_DEPRECATE_IFDEF_END
+
void Date::set_time(time_t timet)
{
g_date_set_time_t(&gobject_, timet);
diff --git a/libs/glibmm2/glib/src/date.hg b/libs/glibmm2/glib/src/date.hg
index 1f6b4eef28..9d04a29719 100644
--- a/libs/glibmm2/glib/src/date.hg
+++ b/libs/glibmm2/glib/src/date.hg
@@ -70,7 +70,12 @@ public:
*/
void set_parse (const Glib::ustring& str);
+
_DEPRECATE_IFDEF_START
+
+ //Avoid a build problem in the case that time_t is equivalent to guint32 (GTime is also guint32)
+ //That would make the set_time() method overload impossible.
+ #ifdef GLIBMM_HAVE_C_STD_TIME_T_IS_NOT_INT32
/** Sets the value of a date from a GTime (time_t) value.
*
* @param time GTime value to set.
@@ -78,8 +83,11 @@ public:
* @deprecated Please use set_time(time_t) or set_time(const GTimeVal&).
*/
void set_time(GTime time);
+ #endif //GLIBMM_HAVE_C_STD_TIME_T_IS_NOT_INT32
+
_DEPRECATE_IFDEF_END
+
/** Sets the value of a date from a <type>time_t</type> value.
*
* @param timet time_t value to set
diff --git a/libs/glibmm2/glib/src/fileutils.ccg b/libs/glibmm2/glib/src/fileutils.ccg
index e7b63f96c6..84df93f952 100644
--- a/libs/glibmm2/glib/src/fileutils.ccg
+++ b/libs/glibmm2/glib/src/fileutils.ccg
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: fileutils.ccg,v 1.1.1.1 2003/01/07 16:58:25 murrayc Exp $ */
+/* $Id: fileutils.ccg,v 1.1 2003/01/07 16:58:25 murrayc Exp $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/src/glib_docs.xml b/libs/glibmm2/glib/src/glib_docs.xml
index e6bb3a528c..e013376865 100644
--- a/libs/glibmm2/glib/src/glib_docs.xml
+++ b/libs/glibmm2/glib/src/glib_docs.xml
@@ -2,18 +2,18 @@
<function name="g_str_hash">
<description>
Converts a string to a hash value.
-It can be passed to g_hash_table_new() as the @hash_func parameter,
-when using strings as keys in a #GHashTable.
+It can be passed to g_hash_table_new() as the @hash_func
+parameter, when using strings as keys in a #GHashTable.
</description>
<parameters>
<parameter name="v">
-<parameter_description> a string key.
+<parameter_description> a string key
</parameter_description>
</parameter>
</parameters>
-<return> a hash value corresponding to the key.
+<return> a hash value corresponding to the key
</return>
</function>
@@ -37,8 +37,8 @@ strcasecmp() function on platforms which support it.
<return> 0 if the strings match, a negative value if @s1 &amp;lt; @s2,
or a positive value if @s1 &amp;gt; @s2.
-Deprecated: See g_strncasecmp() for a discussion of why this function is
-deprecated and how to replace it.
+Deprecated:2.2: See g_strncasecmp() for a discussion of why this function
+is deprecated and how to replace it.
</return>
</function>
@@ -161,8 +161,7 @@ moves @src into *@dest. *@dest must be %NULL.
<function name="g_thread_pool_get_num_threads">
<description>
-Returns the number of threads currently running in @pool.
-
+Return value: the number of threads currently running
</description>
<parameters>
@@ -175,29 +174,39 @@ Returns the number of threads currently running in @pool.
</return>
</function>
-<function name="g_key_file_remove_group">
+<function name="g_bookmark_file_get_applications">
<description>
-Removes the specified group, @group_name,
-from the key file.
+Retrieves the names of the applications that have registered the
+bookmark for @uri.
+
+In the event the URI cannot be found, %NULL is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
-Since: 2.6
</description>
<parameters>
-<parameter name="key_file">
-<parameter_description> a #GKeyFile
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
</parameter_description>
</parameter>
-<parameter name="group_name">
-<parameter_description> a group name
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> return location of the length of the returned list, or %NULL
</parameter_description>
</parameter>
<parameter name="error">
-<parameter_description> return location for a #GError or %NULL
+<parameter_description> return location for a #GError, or %NULL
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> a newly allocated %NULL-terminated array of strings.
+Use g_strfreev() to free it.
+
+Since: 2.12
+</return>
</function>
<function name="g_io_channel_close">
@@ -206,7 +215,7 @@ Close an IO channel. Any pending data to be written will be
flushed, ignoring errors. The channel will not be freed until the
last reference is dropped using g_io_channel_unref().
-Deprecated: Use g_io_channel_shutdown() instead.
+Deprecated:2.2: Use g_io_channel_shutdown() instead.
</description>
<parameters>
@@ -218,6 +227,140 @@ Deprecated: Use g_io_channel_shutdown() instead.
<return></return>
</function>
+<function name="g_string_equal">
+<description>
+Compares two strings for equality, returning %TRUE if they are equal.
+For use with #GHashTable.
+
+
+</description>
+<parameters>
+<parameter name="v">
+<parameter_description> a #GString
+</parameter_description>
+</parameter>
+<parameter name="v2">
+<parameter_description> another #GString
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if they strings are the same length and contain the
+same bytes
+</return>
+</function>
+
+<function name="g_bookmark_file_get_is_private">
+<description>
+Gets whether the private flag of the bookmark for @uri is set.
+
+In the event the URI cannot be found, %FALSE is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the
+event that the private flag cannot be found, %FALSE is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_INVALID_VALUE.
+
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the private flag is set, %FALSE otherwise.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="g_main_current_source">
+<description>
+Return value: The currently firing source or %NULL.
+
+</description>
+<parameters>
+</parameters>
+<return> The currently firing source or %NULL.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="g_intern_string">
+<description>
+Returns: a canonical representation for the string
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> a string
+</parameter_description>
+</parameter>
+</parameters>
+<return> a canonical representation for the string
+
+Since: 2.10
+</return>
+</function>
+
+<function name="g_key_file_set_double_list">
+<description>
+Associates a list of double values with @key under
+@group_name. If @key cannot be found then it is created.
+If @group_name is %NULL the start group is used.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="key_file">
+<parameter_description> a #GKeyFile
+</parameter_description>
+</parameter>
+<parameter name="group_name">
+<parameter_description> a group name
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+<parameter name="list">
+<parameter_description> an array of double values
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> number of double values in @list
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_sequence_iter_get_position">
+<description>
+Return value: the position of @iter
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GSequenceIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> the position of @iter
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_source_new">
<description>
Creates a new #GSource structure. The size is specified to
@@ -320,6 +463,25 @@ one of the #GMarkupParser functions.
<return></return>
</function>
+<function name="g_string_chunk_new">
+<description>
+Creates a new #GStringChunk.
+
+
+</description>
+<parameters>
+<parameter name="size">
+<parameter_description> the default size of the blocks of memory which are
+allocated to store the strings. If a particular string
+is larger than this default size, a larger block of
+memory will be allocated for it.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GStringChunk
+</return>
+</function>
+
<function name="g_utf8_normalize">
<description>
Converts a string into canonical form, standardizing
@@ -370,6 +532,33 @@ normalized form of @str.
</return>
</function>
+<function name="g_match_info_next">
+<description>
+Scans for the next match using the same parameters of the previous
+call to g_regex_match_full() or g_regex_match() that returned
+@match_info.
+
+The match is done on the string passed to the match function, so you
+cannot free it before calling this function.
+
+
+</description>
+<parameters>
+<parameter name="match_info">
+<parameter_description> a #GMatchInfo structure
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store the error occuring, or %NULL to ignore errors
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE is the string matched, %FALSE otherwise
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_qsort_with_data">
<description>
This is just like the standard C qsort() function, but
@@ -402,6 +591,26 @@ the comparison routine accepts a user data argument.
<return></return>
</function>
+<function name="g_dir_read_name">
+<description>
+Retrieves the name of the next entry in the directory. The &apos;.&apos; and
+&apos;..&apos; entries are omitted. On Windows, the returned name is in
+UTF-8. On Unix, it is in the on-disk encoding.
+
+
+</description>
+<parameters>
+<parameter name="dir">
+<parameter_description> a #GDir* created by g_dir_open()
+</parameter_description>
+</parameter>
+</parameters>
+<return> The entry&apos;s name or %NULL if there are no
+more entries. The return value is owned by GLib and
+must not be modified or freed.
+</return>
+</function>
+
<function name="g_main_context_wakeup">
<description>
If @context is currently waiting in a poll(), interrupt
@@ -501,6 +710,44 @@ was large enough.
</return>
</function>
+<function name="g_match_info_fetch">
+<description>
+Retrieves the text matching the @match_num&amp;lt;!-- --&amp;gt;&apos;th capturing
+parentheses. 0 is the full text of the match, 1 is the first paren
+set, 2 the second, and so on.
+
+If @match_num is a valid sub pattern but it didn&apos;t match anything
+(e.g. sub pattern 1, matching &quot;b&quot; against &quot;(a)?b&quot;) then an empty
+string is returned.
+
+If the match was obtained using the DFA algorithm, that is using
+g_regex_match_all() or g_regex_match_all_full(), the retrieved
+string is not that of a set of parentheses but that of a matched
+substring. Substrings are matched in reverse order of length, so
+0 is the longest match.
+
+The string is fetched from the string passed to the match function,
+so you cannot call this function after freeing the string.
+
+
+</description>
+<parameters>
+<parameter name="match_info">
+<parameter_description> #GMatchInfo structure
+</parameter_description>
+</parameter>
+<parameter name="match_num">
+<parameter_description> number of the sub expression
+</parameter_description>
+</parameter>
+</parameters>
+<return> The matched substring, or %NULL if an error occurred.
+You have to free the string yourself
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_main_context_ref">
<description>
Increases the reference count on a #GMainContext object by one.
@@ -546,15 +793,7 @@ or when displaying an application&apos;s name in the task list.
<description>
Tries to become the owner of the specified context.
If some other context is the owner of the context,
-returns %FALSE immediately. Ownership is properly
-recursive: the owner can require ownership again
-and will release ownership when g_main_context_release()
-is called as many times as g_main_context_acquire().
-
-You must be the owner of a context before you
-can call g_main_context_prepare(), g_main_context_query(),
-g_main_context_check(), g_main_context_dispatch().
-
+Return value: %TRUE if the operation succeeded, and
</description>
<parameters>
@@ -568,6 +807,23 @@ this thread is now the owner of @context.
</return>
</function>
+<function name="g_match_info_get_string">
+<description>
+Returns: the string searched with @match_info
+
+</description>
+<parameters>
+<parameter name="match_info">
+<parameter_description> a #GMatchInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> the string searched with @match_info
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_file_set_contents">
<description>
Writes all of @contents to a file named @filename, with good error checking.
@@ -652,7 +908,7 @@ range btweeen #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE.
</parameter_description>
</parameter>
</parameters>
-<return> the id of the event source.
+<return> the ID (greater than 0) of the event source.
</return>
</function>
@@ -671,15 +927,31 @@ will return the first entry again.
<return></return>
</function>
-<function name="g_get_system_config_dirs">
+<function name="g_hash_table_get_keys">
<description>
-Returns an ordered list of base directories in which to access
-system-wide configuration information.
+Retrieves every key inside @hash_table. The returned data is valid
+until @hash_table is modified.
-On UNIX platforms this is determined using the mechanisms described in
-the &amp;lt;ulink url=&quot;http://www.freedesktop.org/Standards/basedir-spec&quot;&amp;gt;
-XDG Base Directory Specification&amp;lt;/ulink&amp;gt;
+</description>
+<parameters>
+<parameter name="hash_table">
+<parameter_description> a #GHashTable
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GList containing all the keys inside the hash
+table. The content of the list is owned by the hash table and
+should not be modified or freed. Use g_list_free() when done
+using the list.
+
+Since: 2.14
+</return>
+</function>
+
+<function name="g_get_system_config_dirs">
+<description>
+Return value: a %NULL-terminated array of strings owned by GLib that must
</description>
<parameters>
@@ -819,9 +1091,7 @@ Since: 2.6
<function name="g_rand_double">
<description>
-Returns the next random #gdouble from @rand_ equally distributed over
-the range [0..1).
-
+Return value: A random number.
</description>
<parameters>
@@ -966,6 +1236,26 @@ If @c is not an uppercase or lowercase character,
</return>
</function>
+<function name="g_sequence_new">
+<description>
+Creates a new GSequence. The @data_destroy function, if non-%NULL will
+be called on all items when the sequence is destroyed and on items that
+are removed from the sequence.
+
+
+</description>
+<parameters>
+<parameter name="data_destroy">
+<parameter_description> a #GDestroyNotify function, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GSequence
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_main_loop_unref">
<description>
Decreases the reference count on a #GMainLoop object by one. If
@@ -981,21 +1271,38 @@ the result is zero, free the loop and free all associated memory.
<return></return>
</function>
-<function name="g_async_queue_unref_and_unlock">
+<function name="g_key_file_get_integer_list">
<description>
-Decreases the reference count of the asynchronous @queue by 1 and
-releases the lock. This function must be called while holding the
-@queue&apos;s lock. If the reference count went to 0, the @queue will be
-destroyed and the memory allocated will be freed.
+Return value: the values associated with the key as a list of
</description>
<parameters>
-<parameter name="queue">
-<parameter_description> a #GAsyncQueue.
+<parameter name="key_file">
+<parameter_description> a #GKeyFile
+</parameter_description>
+</parameter>
+<parameter name="group_name">
+<parameter_description> a group name
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the number of integers returned
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> the values associated with the key as a list of
+integers, or %NULL if the key was not found or could not be parsed.
+
+Since: 2.6
+</return>
</function>
<function name="g_file_error_from_errno">
@@ -1047,6 +1354,81 @@ the first one found will be returned.
</return>
</function>
+<function name="g_bookmark_file_load_from_data_dirs">
+<description>
+This function looks for a desktop bookmark file named @file in the
+paths returned from g_get_user_data_dir() and g_get_system_data_dirs(),
+loads the file into @bookmark and returns the file&apos;s full path in
+@full_path. If the file could not be loaded then an %error is
+set to either a #GFileError or #GBookmarkFileError.
+
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="file">
+<parameter_description> a relative path to a filename to open and parse
+</parameter_description>
+</parameter>
+<parameter name="full_path">
+<parameter_description> return location for a string containing the full path
+of the file, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a key file could be loaded, %FALSE othewise
+
+Since: 2.12
+</return>
+</function>
+
+<function name="g_base64_decode_step">
+<description>
+Incrementally decode a sequence of binary data from its Base-64 stringified
+representation. By calling this function multiple times you can convert
+data in chunks to avoid having to have the full encoded data in memory.
+
+The output buffer must be large enough to fit all the data that will
+be written to it. Since base64 encodes 3 bytes in 4 chars you need
+at least: @len * 3 / 4 bytes.
+
+
+</description>
+<parameters>
+<parameter name="in">
+<parameter_description> binary input data
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> max length of @in data to decode
+</parameter_description>
+</parameter>
+<parameter name="out">
+<parameter_description> output buffer
+</parameter_description>
+</parameter>
+<parameter name="state">
+<parameter_description> Saved state between steps, initialize to 0
+</parameter_description>
+</parameter>
+<parameter name="save">
+<parameter_description> Saved state between steps, initialize to 0
+</parameter_description>
+</parameter>
+</parameters>
+<return> The number of bytes of output that was written
+
+Since: 2.12
+</return>
+</function>
+
<function name="g_convert">
<description>
Converts a string from one character set to another.
@@ -1108,6 +1490,34 @@ g_free(). Otherwise %NULL and @error will be set.
</return>
</function>
+<function name="g_sequence_range_get_midpoint">
+<description>
+Finds an iterator somewhere in the range (@begin, @end). This
+iterator will be close to the middle of the range, but is not
+guaranteed to be &amp;lt;emphasis&amp;gt;exactly&amp;lt;/emphasis&amp;gt; in the middle.
+
+The @begin and @end iterators must both point to the same sequence and
+@begin must come before or be equal to @end in the sequence.
+
+
+</description>
+<parameters>
+<parameter name="begin">
+<parameter_description> a #GSequenceIter
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> a #GSequenceIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> A #GSequenceIter pointing somewhere in the
+(@begin, @end) range.
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_main_context_add_poll">
<description>
Adds a file descriptor to the set of file descriptors polled for
@@ -1158,8 +1568,7 @@ Since: 2.6
<function name="g_option_context_get_main_group">
<description>
-Returns a pointer to the main group of @context.
-
+Return value: the main group of @context, or %NULL if @context doesn&apos;t
</description>
<parameters>
@@ -1221,35 +1630,40 @@ the string in place.)
</return>
</function>
-<function name="g_tree_search">
+<function name="g_bookmark_file_get_groups">
<description>
-Searches a #GTree using @search_func.
+Retrieves the list of group names of the bookmark for @uri.
-The @search_func is called with a pointer to the key of a key/value pair in the tree,
-and the passed in @user_data. If @search_func returns 0 for a key/value pair, then
-g_tree_search_func() will return the value of that pair. If @search_func returns -1,
-searching will proceed among the key/value pairs that have a smaller key; if @search_func
-returns 1, searching will proceed among the key/value pairs that have a larger key.
+In the event the URI cannot be found, %NULL is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
+
+The returned array is %NULL terminated, so @length may optionally
+be %NULL.
</description>
<parameters>
-<parameter name="tree">
-<parameter_description> a #GTree.
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
</parameter_description>
</parameter>
-<parameter name="search_func">
-<parameter_description> a function used to search the #GTree.
+<parameter name="uri">
+<parameter_description> a valid URI
</parameter_description>
</parameter>
-<parameter name="user_data">
-<parameter_description> the data passed as the second argument to the @search_func
-function.
+<parameter name="length">
+<parameter_description> return location for the length of the returned string, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
</parameter_description>
</parameter>
</parameters>
-<return> the value corresponding to the found key, or %NULL if the key
-was not found.
+<return> a newly allocated %NULL-terminated array of group names.
+Use g_strfreev() to free it.
+
+Since: 2.12
</return>
</function>
@@ -1331,30 +1745,29 @@ Since: 2.4
<function name="g_str_equal">
<description>
-Compares two strings and returns %TRUE if they are equal.
-It can be passed to g_hash_table_new() as the @key_equal_func
-parameter, when using strings as keys in a #GHashTable.
+Compares two strings for byte-by-byte equality and returns %TRUE
+if they are equal. It can be passed to g_hash_table_new() as the
+@key_equal_func parameter, when using strings as keys in a #GHashTable.
</description>
<parameters>
<parameter name="v1">
-<parameter_description> a key.
+<parameter_description> a key
</parameter_description>
</parameter>
<parameter name="v2">
-<parameter_description> a key to compare with @v1.
+<parameter_description> a key to compare with @v1
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the two keys match.
+<return> %TRUE if the two keys match
</return>
</function>
<function name="g_key_file_get_start_group">
<description>
-Returns the name of the start group of the file.
-
+Return value: The start group of the key file.
</description>
<parameters>
@@ -1394,11 +1807,12 @@ not found.
<function name="g_hash_table_destroy">
<description>
-Destroys the #GHashTable. If keys and/or values are dynamically
-allocated, you should either free them first or create the #GHashTable
-using g_hash_table_new_full(). In the latter case the destroy functions
-you supplied will be called on all keys and values before destroying
-the #GHashTable.
+Destroys all keys and values in the #GHashTable and decrements its
+reference count by 1. If keys and/or values are dynamically allocated,
+you should either free them first or create the #GHashTable with destroy
+notifiers using g_hash_table_new_full(). In the latter case the destroy
+functions you supplied will be called on all keys and values during the
+destruction phase.
</description>
<parameters>
@@ -1410,39 +1824,127 @@ the #GHashTable.
<return></return>
</function>
-<function name="g_tree_height">
+<function name="g_key_file_get_double">
<description>
-Gets the height of a #GTree.
+Return value: the value associated with the key as a double, or
-If the #GTree contains no nodes, the height is 0.
-If the #GTree contains only one root node the height is 1.
-If the root node has children the height is 2, etc.
+</description>
+<parameters>
+<parameter name="key_file">
+<parameter_description> a #GKeyFile
+</parameter_description>
+</parameter>
+<parameter name="group_name">
+<parameter_description> a group name
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError
+</parameter_description>
+</parameter>
+</parameters>
+<return> the value associated with the key as a double, or
+0.0 if the key was not found or could not be parsed.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="g_bookmark_file_has_item">
+<description>
+Looks whether the desktop bookmark has an item with its URI set to @uri.
</description>
<parameters>
-<parameter name="tree">
-<parameter_description> a #GTree.
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
</parameter_description>
</parameter>
</parameters>
-<return> the height of the #GTree.
+<return> %TRUE if @uri is inside @bookmark, %FALSE otherwise
+
+Since: 2.12
</return>
</function>
-<function name="g_get_user_data_dir">
+<function name="g_thread_pool_get_max_idle_time">
<description>
-Returns a base directory in which to access application data such
-as icons that is customized for a particular user.
+This function will return the maximum @interval that a thread will
+wait in the thread pool for new tasks before being stopped.
-On UNIX platforms this is determined using the mechanisms described in
-the &amp;lt;ulink url=&quot;http://www.freedesktop.org/Standards/basedir-spec&quot;&amp;gt;
-XDG Base Directory Specification&amp;lt;/ulink&amp;gt;
+If this function returns 0, threads waiting in the thread pool for
+new work are not stopped.
</description>
<parameters>
</parameters>
+<return> the maximum @interval to wait for new tasks in the
+thread pool before stopping the thread (1/1000ths of a second).
+
+Since: 2.10
+</return>
+</function>
+
+<function name="g_async_queue_ref">
+<description>
+Increases the reference count of the asynchronous @queue by 1. You
+do not need to hold the lock to call this function.
+
+
+</description>
+<parameters>
+<parameter name="queue">
+<parameter_description> a #GAsyncQueue.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the @queue that was passed in (since 2.6)
+</return>
+</function>
+
+<function name="g_string_erase">
+<description>
+Removes @len bytes from a #GString, starting at position @pos.
+The rest of the #GString is shifted down to fill the gap.
+
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> a #GString
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> the position of the content to remove
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> the number of bytes to remove, or -1 to remove all
+following bytes
+</parameter_description>
+</parameter>
+</parameters>
+<return> @string
+</return>
+</function>
+
+<function name="g_get_user_data_dir">
+<description>
+Return value: a string owned by GLib that must not be modified
+
+</description>
+<parameters>
+</parameters>
<return> a string owned by GLib that must not be modified
or freed.
Since: 2.6
@@ -1458,6 +1960,10 @@ Unlike the BSD strcasecmp() function, this only recognizes standard
ASCII letters and ignores the locale, treating all non-ASCII
characters as if they are not letters.
+The same warning as in g_ascii_strcasecmp() applies: Use this
+function only on strings known to be in encodings where bytes
+corresponding to ASCII letters always represent themselves.
+
</description>
<parameters>
@@ -1474,10 +1980,8 @@ characters as if they are not letters.
</parameter_description>
</parameter>
</parameters>
-<return> an integer less than, equal to, or greater than zero
-if the first @n bytes of @s1 is found, respectively,
-to be less than, to match, or to be greater than the
-first @n bytes of @s2.
+<return> 0 if the strings match, a negative value if @s1 &amp;lt; @s2,
+or a positive value if @s1 &amp;gt; @s2.
</return>
</function>
@@ -1497,6 +2001,25 @@ memory will be destroyed.
<return></return>
</function>
+<function name="g_hash_table_ref">
+<description>
+Atomically increments the reference count of @hash_table by one.
+This function is MT-safe and may be called from any thread.
+
+
+</description>
+<parameters>
+<parameter name="hash_table">
+<parameter_description> a valid #GHashTable.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the passed in #GHashTable.
+
+Since: 2.10
+</return>
+</function>
+
<function name="g_main_loop_run">
<description>
Runs a main loop until g_main_loop_quit() is called on the loop.
@@ -1564,8 +2087,8 @@ Converts a string to lower case.
</parameters>
<return> the string
-Deprecated: This function is totally broken for the reasons discussed in
-the g_strncasecmp() docs - use g_ascii_strdown() or g_utf8_strdown()
+Deprecated:2.2: This function is totally broken for the reasons discussed
+in the g_strncasecmp() docs - use g_ascii_strdown() or g_utf8_strdown()
instead.
</return>
</function>
@@ -1601,6 +2124,23 @@ Since: 2.4
</return>
</function>
+<function name="g_regex_get_capture_count">
+<description>
+Returns: the number of capturing subpatterns
+
+</description>
+<parameters>
+<parameter name="regex">
+<parameter_description> a #GRegex
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of capturing subpatterns
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_option_group_set_error_hook">
<description>
Associates a function with @group which will be called
@@ -1654,7 +2194,7 @@ processed. Note however, that no thread of this pool is
interrupted, while processing a task. Instead at least all still
running threads can finish their tasks before the @pool is freed.
-If @wait is %TRUE, the functions does not return before all tasks
+If @wait_ is %TRUE, the functions does not return before all tasks
to be processed (dependent on @immediate, whether all or only the
currently running) are ready. Otherwise the function returns immediately.
@@ -1670,7 +2210,7 @@ After calling this function @pool must not be used anymore.
<parameter_description> should @pool shut down immediately?
</parameter_description>
</parameter>
-<parameter name="wait">
+<parameter name="wait_">
<parameter_description> should the function wait for all tasks to be finished?
</parameter_description>
</parameter>
@@ -1678,16 +2218,33 @@ After calling this function @pool must not be used anymore.
<return></return>
</function>
-<function name="g_thread_pool_stop_unused_threads">
+<function name="g_bookmark_file_get_modified">
<description>
-Stops all currently unused threads. This does not change the
-maximal number of unused threads. This function can be used to
-regularly stop all unused threads e.g. from g_timeout_add().
+Gets the time when the bookmark for @uri was last modified.
+
+In the event the URI cannot be found, -1 is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
+
</description>
<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
</parameters>
-<return></return>
+<return> a timestamp
+
+Since: 2.12
+</return>
</function>
<function name="g_utf8_prev_char">
@@ -1767,7 +2324,9 @@ or %NULL, if none.
<function name="g_filename_from_utf8">
<description>
Converts a string from UTF-8 to the encoding GLib uses for
-filenames. Note that on Windows GLib uses UTF-8 for filenames.
+filenames. Note that on Windows GLib uses UTF-8 for filenames;
+on other platforms, this function indirectly depends on the
+&amp;lt;link linkend=&quot;setlocale&quot;&amp;gt;current locale&amp;lt;/link&amp;gt;.
</description>
@@ -1885,8 +2444,7 @@ g_hash_table_lookup_extended().
<function name="g_random_double_range">
<description>
-Returns a random #gdouble equally distributed over the range [@begin..@end).
-
+Return value: A random number.
</description>
<parameters>
@@ -1922,41 +2480,158 @@ also be negative to decrease the value of @time_.
<return></return>
</function>
-<function name="g_rename">
+<function name="g_key_file_set_double">
<description>
-A wrapper for the POSIX rename() function. The rename() function
-renames a file, moving it between directories if required.
+Associates a new double value with @key under @group_name.
+If @key cannot be found then it is created. If @group_name
+is %NULL, the start group is used.
-See your C library manual for more details about how rename() works
-on your system. Note in particular that on Windows, it is in
-general not possible to rename a file if a file with the new name
-already exists. Also it is not possible in general to rename an
-open file.
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="key_file">
+<parameter_description> a #GKeyFile
+</parameter_description>
+</parameter>
+<parameter name="group_name">
+<parameter_description> a group name
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> an double value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_base64_encode">
+<description>
+Encode a sequence of binary data into its Base-64 stringified
+representation.
</description>
<parameters>
-<parameter name="oldfilename">
-<parameter_description> a pathname in the GLib file name encoding (UTF-8 on Windows)
+<parameter name="data">
+<parameter_description> the binary data to encode
</parameter_description>
</parameter>
-<parameter name="newfilename">
+<parameter name="len">
+<parameter_description> the length of @data
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated, zero-terminated Base-64 encoded
+string representing @data.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="g_mkdir_with_parents">
+<description>
+Create a directory if it doesn&apos;t already exist. Create intermediate
+parent directories as needed, too.
+
+
+</description>
+<parameters>
+<parameter name="pathname">
<parameter_description> a pathname in the GLib file name encoding
</parameter_description>
</parameter>
+<parameter name="mode">
+<parameter_description> permissions to use for newly created directories
+</parameter_description>
+</parameter>
</parameters>
-<return> 0 if the renaming succeeded, -1 if an error occurred
+<return> 0 if the directory already exists, or was successfully
+created. Returns -1 if an error occurred, with errno set.
+
+Since: 2.8
+</return>
+</function>
+
+<function name="g_option_context_new">
+<description>
+Creates a new option context.
+
+The @parameter_string can serve multiple purposes. It can be used
+to add descriptions for &quot;rest&quot; arguments, which are not parsed by
+the #GOptionContext, typically something like &quot;FILES&quot; or
+&quot;FILE1 FILE2...&quot;. If you are using #G_OPTION_REMAINING for
+collecting &quot;rest&quot; arguments, GLib handles this automatically by
+using the @arg_description of the corresponding #GOptionEntry in
+the usage summary.
+
+Another usage is to give a short summary of the program
+functionality, like &quot; - frob the strings&quot;, which will be displayed
+in the same line as the usage. For a longer description of the
+program functionality that should be displayed as a paragraph
+below the usage line, use g_option_context_set_summary().
+
+Note that the @parameter_string is translated (see
+g_option_context_set_translate_func()).
+
+
+</description>
+<parameters>
+<parameter name="parameter_string">
+<parameter_description> a string which is displayed in
+the first line of &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt; output, after the
+usage summary
+&amp;lt;literal&amp;gt;&amp;lt;replaceable&amp;gt;programname&amp;lt;/replaceable&amp;gt; [OPTION...]&amp;lt;/literal&amp;gt;
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly created #GOptionContext, which must be
+freed with g_option_context_free() after use.
Since: 2.6
</return>
</function>
+<function name="g_io_channel_write_unichar">
+<description>
+This function cannot be called on a channel with %NULL encoding.
+
+
+</description>
+<parameters>
+<parameter name="channel">
+<parameter_description> a #GIOChannel
+</parameter_description>
+</parameter>
+<parameter name="thechar">
+<parameter_description> a character
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> A location to return an error of type #GConvertError
+or #GIOChannelError
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GIOStatus
+</return>
+</function>
+
<function name="g_child_watch_add">
<description>
-Sets a function to be called when the child indicated by @pid exits, at a
-default priority, #G_PRIORITY_DEFAULT.
+Sets a function to be called when the child indicated by @pid
+exits, at a default priority, #G_PRIORITY_DEFAULT.
+
+If you obtain @pid from g_spawn_async() or g_spawn_async_with_pipes()
+you will need to pass #G_SPAWN_DO_NOT_REAP_CHILD as flag to
+the spawn function for the child watching to work.
-Note that on platforms where #GPid must be explicitely closed
+Note that on platforms where #GPid must be explicitly closed
(see g_spawn_close_pid()) @pid must not be closed while the
source is still active. Typically, you will want to call
g_spawn_close_pid() in the callback function for the source.
@@ -1979,63 +2654,56 @@ GLib supports only a single callback per process id.
</parameter_description>
</parameter>
</parameters>
-<return> the id of event source.
+<return> the ID (greater than 0) of the event source.
Since: 2.4
</return>
</function>
-<function name="g_ascii_formatd">
+<function name="g_async_queue_length_unlocked">
<description>
-Converts a #gdouble to a string, using the &apos;.&apos; as
-decimal point. To format the number you pass in
-a printf()-style format string. Allowed conversion
-specifiers are &apos;e&apos;, &apos;E&apos;, &apos;f&apos;, &apos;F&apos;, &apos;g&apos; and &apos;G&apos;.
-
-If you just want to want to serialize the value into a
-string, use g_ascii_dtostr().
-
+Return value: the length of the @queue.
</description>
<parameters>
-<parameter name="buffer">
-<parameter_description> A buffer to place the resulting string in
-</parameter_description>
-</parameter>
-<parameter name="buf_len">
-<parameter_description> The length of the buffer.
-</parameter_description>
-</parameter>
-<parameter name="format">
-<parameter_description> The printf()-style format to use for the
-code to use for converting.
-</parameter_description>
-</parameter>
-<parameter name="d">
-<parameter_description> The #gdouble to convert
+<parameter name="queue">
+<parameter_description> a #GAsyncQueue.
</parameter_description>
</parameter>
</parameters>
-<return> The pointer to the buffer with the converted string.
+<return> the length of the @queue.
</return>
</function>
-<function name="g_io_channel_set_buffer_size">
+<function name="g_string_chunk_insert">
<description>
-Sets the buffer size.
+Adds a copy of @string to the #GStringChunk.
+It returns a pointer to the new copy of the string
+in the #GStringChunk. The characters in the string
+can be changed, if necessary, though you should not
+change anything after the end of the string.
+
+Unlike g_string_chunk_insert_const(), this function
+does not check for duplicates. Also strings added
+with g_string_chunk_insert() will not be searched
+by g_string_chunk_insert_const() when looking for
+duplicates.
+
</description>
<parameters>
-<parameter name="channel">
-<parameter_description> a #GIOChannel
+<parameter name="chunk">
+<parameter_description> a #GStringChunk
</parameter_description>
</parameter>
-<parameter name="size">
-<parameter_description> the size of the buffer. 0 == pick a good size
+<parameter name="string">
+<parameter_description> the string to add
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> a pointer to the copy of @string within
+the #GStringChunk
+</return>
</function>
<function name="g_find_program_in_path">
@@ -2070,38 +2738,19 @@ full name including the type suffix.
</return>
</function>
-<function name="g_hash_table_new_full">
+<function name="g_error_free">
<description>
-Creates a new #GHashTable like g_hash_table_new() and allows to specify
-functions to free the memory allocated for the key and value that get
-called when removing the entry from the #GHashTable.
+Frees a #GError and associated resources.
</description>
<parameters>
-<parameter name="hash_func">
-<parameter_description> a function to create a hash value from a key.
-</parameter_description>
-</parameter>
-<parameter name="key_equal_func">
-<parameter_description> a function to check two keys for equality.
-</parameter_description>
-</parameter>
-<parameter name="key_destroy_func">
-<parameter_description> a function to free the memory allocated for the key
-used when removing the entry from the #GHashTable or %NULL if you
-don&apos;t want to supply such a function.
-</parameter_description>
-</parameter>
-<parameter name="value_destroy_func">
-<parameter_description> a function to free the memory allocated for the
-value used when removing the entry from the #GHashTable or %NULL if
-you don&apos;t want to supply such a function.
+<parameter name="error">
+<parameter_description> a #GError
</parameter_description>
</parameter>
</parameters>
-<return> a new #GHashTable.
-</return>
+<return></return>
</function>
<function name="g_idle_add">
@@ -2109,9 +2758,7 @@ you don&apos;t want to supply such a function.
Adds a function to be called whenever there are no higher priority
events pending to the default main loop. The function is given the
default idle priority, #G_PRIORITY_DEFAULT_IDLE. If the function
-returns %FALSE it is automatically removed from the list of event
-sources and will not be called again.
-
+Return value: the ID (greater than 0) of the event source.
</description>
<parameters>
@@ -2124,14 +2771,37 @@ sources and will not be called again.
</parameter_description>
</parameter>
</parameters>
-<return> the id of the event source.
+<return> the ID (greater than 0) of the event source.
</return>
</function>
-<function name="g_random_double">
+<function name="g_string_append_printf">
<description>
-Returns a random #gdouble equally distributed over the range [0..1).
+Appends a formatted string onto the end of a #GString.
+This function is is similar to g_string_printf() except
+that the text is appended to the #GString.
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> a #GString
+</parameter_description>
+</parameter>
+<parameter name="format">
+<parameter_description> the string format. See the printf() documentation
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> the parameters to insert into the format string
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+<function name="g_random_double">
+<description>
+Return value: A random number.
</description>
<parameters>
@@ -2180,22 +2850,119 @@ Since: 2.4
</return>
</function>
-<function name="g_key_file_new">
+<function name="g_utf8_find_prev_char">
<description>
-Creates a new empty #GKeyFile object. Use g_key_file_load_from_file(),
-g_key_file_load_from_data() or g_key_file_load_from_data_dirs() to
-read an existing key file.
+Given a position @p with a UTF-8 encoded string @str, find the start
+of the previous UTF-8 character starting before @p. Returns %NULL if no
+UTF-8 characters are present in @str before @p.
+
+@p does not have to be at the beginning of a UTF-8 character. No check
+is made to see if the character found is actually valid other than
+it starts with an appropriate byte.
+
+
+</description>
+<parameters>
+<parameter name="str">
+<parameter_description> pointer to the beginning of a UTF-8 encoded string
+</parameter_description>
+</parameter>
+<parameter name="p">
+<parameter_description> pointer to some position within @str
+</parameter_description>
+</parameter>
+</parameters>
+<return> a pointer to the found character or %NULL.
+</return>
+</function>
+
+<function name="g_sequence_search_iter">
+<description>
+Like g_sequence_search(), but uses
+a #GSequenceIterCompareFunc instead of a #GCompareDataFunc as
+the compare function.
</description>
<parameters>
+<parameter name="seq">
+<parameter_description> a #GSequence
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data for the new item
+</parameter_description>
+</parameter>
+<parameter name="iter_cmp">
+<parameter_description> the #GSequenceIterCompare function used to compare iterators
+in the sequence. It is called with two iterators pointing into @seq.
+It should return 0 if the iterators are equal, a negative value if the
+first iterator comes before the second, and a positive value if the
+second iterator comes before the first.
+</parameter_description>
+</parameter>
+<parameter name="cmp_data">
+<parameter_description> user data passed to @iter_cmp
+</parameter_description>
+</parameter>
</parameters>
-<return> an empty #GKeyFile.
+<return> a #GSequenceIter pointing to the position in @seq
+where @data would have been inserted according to @iter_cmp and @cmp_data.
-Since: 2.6
+Since: 2.14
</return>
</function>
+<function name="g_sequence_move">
+<description>
+Moves the item pointed to by @src to the position indicated by @dest.
+After calling this function @dest will point to the position immediately
+after @src. It is allowed for @src and @dest to point into different
+sequences.
+
+Since: 2.14
+
+</description>
+<parameters>
+<parameter name="src">
+<parameter_description> a #GSequenceIter pointing to the item to move
+</parameter_description>
+</parameter>
+<parameter name="dest">
+<parameter_description> a #GSequenceIter pointing to the position to which
+the item is moved.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_string_vprintf">
+<description>
+Writes a formatted string into a #GString.
+This function is similar to g_string_printf() except that
+the arguments to the format string are passed as a va_list.
+
+Since: 2.14
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> a #GString
+</parameter_description>
+</parameter>
+<parameter name="format">
+<parameter_description> the string format. See the printf() documentation
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> the parameters to insert into the format string
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="g_main_context_unref">
<description>
Decreases the reference count on a #GMainContext object by one. If
@@ -2222,10 +2989,118 @@ Gets the names of all variables set in the environment.
<return> a %NULL-terminated list of strings which must be freed
with g_strfreev().
+Programs that want to be portable to Windows should typically use
+this function and g_getenv() instead of using the environ array
+from the C library directly. On Windows, the strings in the environ
+array are in system codepage encoding, while in most of the typical
+use cases for environment variables in GLib-using programs you want
+the UTF-8 encoding that this function and g_getenv() provide.
+
Since: 2.8
</return>
</function>
+<function name="g_timeout_add_seconds">
+<description>
+Sets a function to be called at regular intervals with the default
+priority, #G_PRIORITY_DEFAULT. The function is called repeatedly until
+it returns %FALSE, at which point the timeout is automatically destroyed
+and the function will not be called again.
+
+See g_timeout_add_seconds_full() for the differences between
+g_timeout_add() and g_timeout_add_seconds().
+
+
+</description>
+<parameters>
+<parameter name="interval">
+<parameter_description> the time between calls to the function, in seconds
+</parameter_description>
+</parameter>
+<parameter name="function">
+<parameter_description> function to call
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to pass to @function
+</parameter_description>
+</parameter>
+</parameters>
+<return> the ID (greater than 0) of the event source.
+
+Since: 2.14
+</return>
+</function>
+
+<function name="g_bookmark_file_set_added">
+<description>
+Sets the time the bookmark for @uri was added into @bookmark.
+
+If no bookmark for @uri is found then it is created.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="added">
+<parameter_description> a timestamp or -1 to use the current time
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_sequence_set">
+<description>
+Changes the data for the item pointed to by @iter to be @data. If
+the sequence has a data destroy function associated with it, that
+function is called on the existing data that @iter pointed to.
+
+Since: 2.14
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GSequenceIter
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> new data for the item
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_main_context_is_owner">
+<description>
+Determines whether this thread holds the (recursive)
+ownership of this #GMaincontext. This is useful to
+know before waiting on another thread that may be
+blocking to get ownership of @context.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GMainContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if current thread is owner of @context.
+
+Since: 2.10
+</return>
+</function>
+
<function name="g_random_int">
<description>
Return a random #guint32 equally distributed over the range
@@ -2295,6 +3170,23 @@ calling the key and value destroy functions.
</return>
</function>
+<function name="g_sequence_get_length">
+<description>
+Return value: the length of @seq
+
+</description>
+<parameters>
+<parameter name="seq">
+<parameter_description> a #GSequence
+</parameter_description>
+</parameter>
+</parameters>
+<return> the length of @seq
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_source_set_callback_indirect">
<description>
Sets the callback function storing the data as a refcounted callback
@@ -2323,24 +3215,49 @@ and getting the callback and data
<return></return>
</function>
-<function name="g_option_context_new">
+<function name="g_date_set_time">
<description>
-Creates a new option context.
+Sets the value of a date from a #GTime value.
+@Deprecated:2.10: Use g_date_set_time_t() instead.
</description>
<parameters>
-<parameter name="parameter_string">
-<parameter_description> a string which is displayed in
-the first line of &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt; output, after
-&amp;lt;literal&amp;gt;&amp;lt;replaceable&amp;gt;programname&amp;lt;/replaceable&amp;gt; [OPTION...]&amp;lt;/literal&amp;gt;
+<parameter name="date">
+<parameter_description> a #GDate.
+</parameter_description>
+</parameter>
+<parameter name="time_">
+<parameter_description> #GTime value to set.
</parameter_description>
</parameter>
</parameters>
-<return> a newly created #GOptionContext, which must be
-freed with g_option_context_free() after use.
+<return></return>
+</function>
-Since: 2.6
+<function name="g_string_new_len">
+<description>
+Creates a new #GString with @len bytes of the @init buffer.
+Because a length is provided, @init need not be nul-terminated,
+and can contain embedded nul bytes.
+
+Since this function does not stop at nul bytes, it is the caller&apos;s
+responsibility to ensure that @init has at least @len addressable
+bytes.
+
+
+</description>
+<parameters>
+<parameter name="init">
+<parameter_description> initial contents of the string
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> length of @init to use
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GString
</return>
</function>
@@ -2393,6 +3310,22 @@ Since: 2.8
</return>
</function>
+<function name="g_match_info_free">
+<description>
+Frees all the memory associated with the #GMatchInfo structure.
+
+Since: 2.14
+
+</description>
+<parameters>
+<parameter name="match_info">
+<parameter_description> a #GMatchInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="g_key_file_has_group">
<description>
Looks whether the key file has the group @group_name.
@@ -2415,32 +3348,34 @@ Since: 2.6
</return>
</function>
-<function name="g_memmove">
+<function name="g_strndup">
<description>
-Copies a block of memory @len bytes long, from @src to @dest.
-The source and destination areas may overlap.
+Duplicates the first @n bytes of a string, returning a newly-allocated
+buffer @n + 1 bytes long which will always be nul-terminated.
+If @str is less than @n bytes long the buffer is padded with nuls.
+If @str is %NULL it returns %NULL.
+The returned value should be freed when no longer needed.
+
+&amp;lt;note&amp;gt;&amp;lt;para&amp;gt;
+To copy a number of characters from a UTF-8 encoded string, use
+g_utf8_strncpy() instead.
+&amp;lt;/para&amp;gt;&amp;lt;/note&amp;gt;
-In order to use this function, you must include
-&amp;lt;filename&amp;gt;string.h&amp;lt;/filename&amp;gt; yourself, because this macro will
-typically simply resolve to memmove() and GLib does not include
-&amp;lt;filename&amp;gt;string.h&amp;lt;/filename&amp;gt; for you.
</description>
<parameters>
-<parameter name="dest">
-<parameter_description> the destination address to copy the bytes to.
-</parameter_description>
-</parameter>
-<parameter name="src">
-<parameter_description> the source address to copy the bytes from.
+<parameter name="str">
+<parameter_description> the string to duplicate
</parameter_description>
</parameter>
-<parameter name="len">
-<parameter_description> the number of bytes to copy.
+<parameter name="n">
+<parameter_description> the maximum number of bytes to copy from @str
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> a newly-allocated buffer containing the first @n bytes
+of @str, nul-terminated
+</return>
</function>
<function name="g_queue_pop_head">
@@ -2462,8 +3397,7 @@ is empty.
<function name="g_queue_peek_head">
<description>
-Returns the first element of the queue.
-
+Returns: the data of the first element in the queue, or %NULL if the queue
</description>
<parameters>
@@ -2507,6 +3441,93 @@ Since: 2.6
<return></return>
</function>
+<function name="g_regex_replace">
+<description>
+Replaces all occurances of the pattern in @regex with the
+replacement text. Backreferences of the form &apos;\number&apos; or
+&apos;\g&amp;lt;number&amp;gt;&apos; in the replacement text are interpolated by the
+number-th captured subexpression of the match, &apos;\g&amp;lt;name&amp;gt;&apos; refers
+to the captured subexpression with the given name. &apos;\0&apos; refers to the
+complete match, but &apos;\0&apos; followed by a number is the octal representation
+of a character. To include a literal &apos;\&apos; in the replacement, write &apos;\\&apos;.
+There are also escapes that changes the case of the following text:
+
+&amp;lt;variablelist&amp;gt;
+&amp;lt;varlistentry&amp;gt;&amp;lt;term&amp;gt;\l&amp;lt;/term&amp;gt;
+&amp;lt;listitem&amp;gt;
+&amp;lt;para&amp;gt;Convert to lower case the next character&amp;lt;/para&amp;gt;
+&amp;lt;/listitem&amp;gt;
+&amp;lt;/varlistentry&amp;gt;
+&amp;lt;varlistentry&amp;gt;&amp;lt;term&amp;gt;\u&amp;lt;/term&amp;gt;
+&amp;lt;listitem&amp;gt;
+&amp;lt;para&amp;gt;Convert to upper case the next character&amp;lt;/para&amp;gt;
+&amp;lt;/listitem&amp;gt;
+&amp;lt;/varlistentry&amp;gt;
+&amp;lt;varlistentry&amp;gt;&amp;lt;term&amp;gt;\L&amp;lt;/term&amp;gt;
+&amp;lt;listitem&amp;gt;
+&amp;lt;para&amp;gt;Convert to lower case till \E&amp;lt;/para&amp;gt;
+&amp;lt;/listitem&amp;gt;
+&amp;lt;/varlistentry&amp;gt;
+&amp;lt;varlistentry&amp;gt;&amp;lt;term&amp;gt;\U&amp;lt;/term&amp;gt;
+&amp;lt;listitem&amp;gt;
+&amp;lt;para&amp;gt;Convert to upper case till \E&amp;lt;/para&amp;gt;
+&amp;lt;/listitem&amp;gt;
+&amp;lt;/varlistentry&amp;gt;
+&amp;lt;varlistentry&amp;gt;&amp;lt;term&amp;gt;\E&amp;lt;/term&amp;gt;
+&amp;lt;listitem&amp;gt;
+&amp;lt;para&amp;gt;End case modification&amp;lt;/para&amp;gt;
+&amp;lt;/listitem&amp;gt;
+&amp;lt;/varlistentry&amp;gt;
+&amp;lt;/variablelist&amp;gt;
+
+If you do not need to use backreferences use g_regex_replace_literal().
+
+The @replacement string must be UTF-8 encoded even if #G_REGEX_RAW was
+passed to g_regex_new(). If you want to use not UTF-8 encoded stings
+you can use g_regex_replace_literal().
+
+Setting @start_position differs from just passing over a shortened
+string and setting #G_REGEX_MATCH_NOTBOL in the case of a pattern that
+begins with any kind of lookbehind assertion, such as &quot;\b&quot;.
+
+
+</description>
+<parameters>
+<parameter name="regex">
+<parameter_description> a #GRegex structure
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> the string to perform matches against
+</parameter_description>
+</parameter>
+<parameter name="string_len">
+<parameter_description> the length of @string, or -1 if @string is nul-terminated
+</parameter_description>
+</parameter>
+<parameter name="start_position">
+<parameter_description> starting index of the string to match
+</parameter_description>
+</parameter>
+<parameter name="replacement">
+<parameter_description> text to replace each match with
+</parameter_description>
+</parameter>
+<parameter name="match_options">
+<parameter_description> options for the match
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store the error occuring, or %NULL to ignore errors
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated string containing the replacements
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_io_channel_set_flags">
<description>
Sets the (writeable) flags in @channel to (@flags &amp; %G_IO_CHANNEL_SET_MASK).
@@ -2531,35 +3552,74 @@ Sets the (writeable) flags in @channel to (@flags &amp; %G_IO_CHANNEL_SET_MASK).
</return>
</function>
-<function name="g_markup_parse_context_new">
+<function name="g_bookmark_file_add_application">
<description>
-Creates a new parse context. A parse context is used to parse
-marked-up documents. You can feed any number of documents into
-a context, as long as no errors occur; once an error occurs,
-the parse context can&apos;t continue to parse text (you have to free it
-and create a new parse context).
+Adds the application with @name and @exec to the list of
+applications that have registered a bookmark for @uri into
+@bookmark.
+Every bookmark inside a #GBookmarkFile must have at least an
+application registered. Each application must provide a name, a
+command line useful for launching the bookmark, the number of times
+the bookmark has been registered by the application and the last
+time the application registered this bookmark.
+
+If @name is %NULL, the name of the application will be the
+same returned by g_get_application(); if @exec is %NULL, the
+command line will be a composition of the program name as
+returned by g_get_prgname() and the &quot;%u&quot; modifier, which will be
+expanded to the bookmark&apos;s URI.
+
+This function will automatically take care of updating the
+registrations count and timestamping in case an application
+with the same @name had already registered a bookmark for
+@uri inside @bookmark.
+
+If no bookmark for @uri is found, one is created.
+
+Since: 2.12
</description>
<parameters>
-<parameter name="parser">
-<parameter_description> a #GMarkupParser
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
</parameter_description>
</parameter>
-<parameter name="flags">
-<parameter_description> one or more #GMarkupParseFlags
+<parameter name="uri">
+<parameter_description> a valid URI
</parameter_description>
</parameter>
-<parameter name="user_data">
-<parameter_description> user data to pass to #GMarkupParser functions
+<parameter name="name">
+<parameter_description> the name of the application registering the bookmark
+or %NULL
</parameter_description>
</parameter>
-<parameter name="user_data_dnotify">
-<parameter_description> user data destroy notifier called when the parse context is freed
+<parameter name="exec">
+<parameter_description> command line to be used to launch the bookmark or %NULL
</parameter_description>
</parameter>
</parameters>
-<return> a new #GMarkupParseContext
+<return></return>
+</function>
+
+<function name="g_unichar_get_script">
+<description>
+Looks up the #GUnicodeScript for a particular character (as defined
+by Unicode Standard Annex #24). No check is made for @ch being a
+valid Unicode character; if you pass in invalid character, the
+result is undefined.
+
+
+</description>
+<parameters>
+<parameter name="ch">
+<parameter_description> a Unicode character
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GUnicodeScript for the character.
+
+Since: 2.14
</return>
</function>
@@ -2594,6 +3654,61 @@ Closes the directory and deallocates all related resources.
<return></return>
</function>
+<function name="g_string_append_len">
+<description>
+Appends @len bytes of @val to @string. Because @len is
+provided, @val may contain embedded nuls and need not
+be nul-terminated.
+
+Since this function does not stop at nul bytes, it is
+the caller&apos;s responsibility to ensure that @val has at
+least @len addressable bytes.
+
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> a #GString
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> bytes to append
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> number of bytes of @val to use
+</parameter_description>
+</parameter>
+</parameters>
+<return> @string
+</return>
+</function>
+
+<function name="g_option_context_get_help">
+<description>
+Returns: A newly allocated string containing the help text
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GOptionContext
+</parameter_description>
+</parameter>
+<parameter name="main_help">
+<parameter_description> if %TRUE, only include the main group
+</parameter_description>
+</parameter>
+<parameter name="group">
+<parameter_description> the #GOptionGroup to create help for, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly allocated string containing the help text
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_queue_push_nth">
<description>
Inserts a new element into @queue at the given position
@@ -2664,6 +3779,58 @@ with g_utf8_get_char().
</return>
</function>
+<function name="g_base64_encode_step">
+<description>
+Incrementally encode a sequence of binary data into it&apos;s Base-64 stringified
+representation. By calling this function multiple times you can convert
+data in chunks to avoid having to have the full encoded data in memory.
+
+When all of the data has been converted you must call
+g_base64_encode_close() to flush the saved state.
+
+The output buffer must be large enough to fit all the data that will
+be written to it. Due to the way base64 encodes you will need
+at least: @len * 4 / 3 + 6 bytes. If you enable line-breaking you will
+need at least: @len * 4 / 3 + @len * 4 / (3 * 72) + 7 bytes.
+
+@break_lines is typically used when putting base64-encoded data in emails.
+It breaks the lines at 72 columns instead of putting all of the text on
+the same line. This avoids problems with long lines in the email system.
+
+
+</description>
+<parameters>
+<parameter name="in">
+<parameter_description> the binary data to encode
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> the length of @in
+</parameter_description>
+</parameter>
+<parameter name="break_lines">
+<parameter_description> whether to break long lines
+</parameter_description>
+</parameter>
+<parameter name="out">
+<parameter_description> pointer to destination buffer
+</parameter_description>
+</parameter>
+<parameter name="state">
+<parameter_description> Saved state between steps, initialize to 0
+</parameter_description>
+</parameter>
+<parameter name="save">
+<parameter_description> Saved state between steps, initialize to 0
+</parameter_description>
+</parameter>
+</parameters>
+<return> The number of bytes of output that was written
+
+Since: 2.12
+</return>
+</function>
+
<function name="g_main_context_new">
<description>
Creates a new #GMainContext strcuture
@@ -2723,59 +3890,69 @@ was large enough.
</return>
</function>
-<function name="g_thread_pool_new">
+<function name="g_time_val_from_iso8601">
<description>
-This function creates a new thread pool.
+Converts a string containing an ISO 8601 encoded date and time
+to a #GTimeVal and puts it into @time_.
-Whenever you call g_thread_pool_push(), either a new thread is
-created or an unused one is reused. At most @max_threads threads
-are running concurrently for this thread pool. @max_threads = -1
-allows unlimited threads to be created for this thread pool. The
-newly created or reused thread now executes the function @func with
-the two arguments. The first one is the parameter to
-g_thread_pool_push() and the second one is @user_data.
-The parameter @exclusive determines, whether the thread pool owns
-all threads exclusive or whether the threads are shared
-globally. If @exclusive is %TRUE, @max_threads threads are started
-immediately and they will run exclusively for this thread pool until
-it is destroyed by g_thread_pool_free(). If @exclusive is %FALSE,
-threads are created, when needed and shared between all
-non-exclusive thread pools. This implies that @max_threads may not
-be -1 for exclusive thread pools.
+</description>
+<parameters>
+<parameter name="iso_date">
+<parameter_description> a ISO 8601 encoded date string
+</parameter_description>
+</parameter>
+<parameter name="time_">
+<parameter_description> a #GTimeVal
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the conversion was successful.
-@error can be %NULL to ignore errors, or non-%NULL to report
-errors. An error can only occur when @exclusive is set to %TRUE and
-not all @max_threads threads could be created.
+Since: 2.12
+</return>
+</function>
+
+<function name="g_ascii_strup">
+<description>
+Converts all lower case ASCII letters to upper case ASCII letters.
</description>
<parameters>
-<parameter name="func">
-<parameter_description> a function to execute in the threads of the new thread pool
-</parameter_description>
-</parameter>
-<parameter name="user_data">
-<parameter_description> user data that is handed over to @func every time it
-is called
+<parameter name="str">
+<parameter_description> a string.
</parameter_description>
</parameter>
-<parameter name="max_threads">
-<parameter_description> the maximal number of threads to execute concurrently in
-the new thread pool, -1 means no limit
+<parameter name="len">
+<parameter_description> length of @str in bytes, or -1 if @str is nul-terminated.
</parameter_description>
</parameter>
-<parameter name="exclusive">
-<parameter_description> should this thread pool be exclusive?
+</parameters>
+<return> a newly allocated string, with all the lower case
+characters in @str converted to upper case, with
+semantics that exactly match g_ascii_toupper(). (Note
+that this is unlike the old g_strup(), which modified
+the string in place.)
+</return>
+</function>
+
+<function name="g_async_queue_push">
+<description>
+Pushes the @data into the @queue. @data must not be %NULL.
+
+</description>
+<parameters>
+<parameter name="queue">
+<parameter_description> a #GAsyncQueue.
</parameter_description>
</parameter>
-<parameter name="error">
-<parameter_description> return location for error
+<parameter name="data">
+<parameter_description> @data to push into the @queue.
</parameter_description>
</parameter>
</parameters>
-<return> the new #GThreadPool
-</return>
+<return></return>
</function>
<function name="g_strtod">
@@ -2811,42 +3988,57 @@ the last character used in the conversion.
<function name="g_get_system_data_dirs">
<description>
-Returns an ordered list of base directories in which to access
-system-wide application data.
+Return value: a %NULL-terminated array of strings owned by GLib that must
-On UNIX platforms this is determined using the mechanisms described in
-the &amp;lt;ulink url=&quot;http://www.freedesktop.org/Standards/basedir-spec&quot;&amp;gt;
-XDG Base Directory Specification&amp;lt;/ulink&amp;gt;
-
-On Windows the first elements in the list are the Application Data
-and Documents folders for All Users. (These can be determined only
-on Windows 2000 or later and are not present in the list on other
-Windows versions.) See documentation for CSIDL_COMMON_APPDATA and
-CSIDL_COMMON_DOCUMENTS.
+</description>
+<parameters>
+</parameters>
+<return> a %NULL-terminated array of strings owned by GLib that must
+not be modified or freed.
+Since: 2.6
+</return>
+</function>
-Then follows the &quot;share&quot; subfolder in the installation folder for
-the package containing the DLL that calls this function, if it can
-be determined.
+<function name="g_sequence_iter_compare">
+<description>
+Return value: A negative number if @a comes before @b, 0 if they are
-Finally the list contains the &quot;share&quot; subfolder in the installation
-folder for GLib, and in the installation folder for the package the
-application&apos;s .exe file belongs to.
+</description>
+<parameters>
+<parameter name="a">
+<parameter_description> a #GSequenceIter
+</parameter_description>
+</parameter>
+<parameter name="b">
+<parameter_description> a #GSequenceIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> A negative number if @a comes before @b, 0 if they are
+equal, and a positive number if @a comes after @b.
-The installation folders above are determined by looking up the
-folder where the module (DLL or EXE) in question is located. If the
-folder&apos;s name is &quot;bin&quot;, its parent is used, otherwise the folder
-itself.
+Since: 2.14
+</return>
+</function>
-Note that on Windows the returned list can vary depending on where
-this function is called.
+<function name="g_string_prepend">
+<description>
+Adds a string on to the start of a #GString,
+expanding it if necessary.
</description>
<parameters>
+<parameter name="string">
+<parameter_description> a #GString
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> the string to prepend on the start of @string
+</parameter_description>
+</parameter>
</parameters>
-<return> a %NULL-terminated array of strings owned by GLib that must
-not be modified or freed.
-Since: 2.6
+<return> @string
</return>
</function>
@@ -2884,9 +4076,7 @@ to the string.
<function name="g_option_context_get_ignore_unknown_options">
<description>
-Returns whether unknown options are ignored or not. See
-g_option_context_set_ignore_unknown_options().
-
+Returns: %TRUE if unknown options are ignored.
</description>
<parameters>
@@ -2901,11 +4091,79 @@ Since: 2.6
</return>
</function>
+<function name="g_regex_split_full">
+<description>
+Breaks the string on the pattern, and returns an array of the tokens.
+If the pattern contains capturing parentheses, then the text for each
+of the substrings will also be returned. If the pattern does not match
+anywhere in the string, then the whole string is returned as the first
+token.
+
+As a special case, the result of splitting the empty string &quot;&quot; is an
+empty vector, not a vector containing a single string. The reason for
+this special case is that being able to represent a empty vector is
+typically more useful than consistent handling of empty elements. If
+you do need to represent empty elements, you&apos;ll need to check for the
+empty string before calling this function.
+
+A pattern that can match empty strings splits @string into separate
+characters wherever it matches the empty string between characters.
+For example splitting &quot;ab c&quot; using as a separator &quot;\s*&quot;, you will get
+&quot;a&quot;, &quot;b&quot; and &quot;c&quot;.
+
+Setting @start_position differs from just passing over a shortened
+string and setting #G_REGEX_MATCH_NOTBOL in the case of a pattern
+that begins with any kind of lookbehind assertion, such as &quot;\b&quot;.
+
+
+</description>
+<parameters>
+<parameter name="regex">
+<parameter_description> a #GRegex structure
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> the string to split with the pattern
+</parameter_description>
+</parameter>
+<parameter name="string_len">
+<parameter_description> the length of @string, or -1 if @string is nul-terminated
+</parameter_description>
+</parameter>
+<parameter name="start_position">
+<parameter_description> starting index of the string to match
+</parameter_description>
+</parameter>
+<parameter name="match_options">
+<parameter_description> match time option flags
+</parameter_description>
+</parameter>
+<parameter name="max_tokens">
+<parameter_description> the maximum number of tokens to split @string into.
+If this is less than 1, the string is split completely
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError
+</parameter_description>
+</parameter>
+</parameters>
+<return> a %NULL-terminated gchar ** array. Free it using g_strfreev()
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_utf8_offset_to_pointer">
<description>
Converts from an integer character offset to a pointer to a position
within the string.
+Since 2.10, this function allows to pass a negative @offset to
+step backwards. It is usually worth stepping backwards from the end
+instead of forwards if @offset is in the last fourth of the string,
+since moving forward is about 3 times faster than moving backward.
+
</description>
<parameters>
@@ -2943,15 +4201,7 @@ owned by GLib and must not be freed.
<function name="g_key_file_get_locale_string">
<description>
-Returns the value associated with @key under @group_name
-translated in the given @locale if available. If @locale is
-%NULL then the current locale is assumed.
-
-If @key cannot be found then %NULL is returned and @error is set to
-#G_KEY_FILE_ERROR_KEY_NOT_FOUND. If the value associated
-with @key cannot be interpreted or no suitable translation can
-be found then the untranslated value is returned.
-
+Return value: a newly allocated string or %NULL if the specified
</description>
<parameters>
@@ -2983,30 +4233,53 @@ Since: 2.6
</return>
</function>
-<function name="g_strstr_len">
+<function name="g_sequence_insert_before">
<description>
-Searches the string @haystack for the first occurrence
-of the string @needle, limiting the length of the search
-to @haystack_len.
+Inserts a new item just before the item pointed to by @iter.
</description>
<parameters>
-<parameter name="haystack">
-<parameter_description> a string.
+<parameter name="iter">
+<parameter_description> a #GSequenceIter
</parameter_description>
</parameter>
-<parameter name="haystack_len">
-<parameter_description> the maximum length of @haystack.
+<parameter name="data">
+<parameter_description> the data for the new item
</parameter_description>
</parameter>
-<parameter name="needle">
-<parameter_description> the string to search for.
+</parameters>
+<return> an iterator pointing to the new item
+
+Since: 2.14
+</return>
+</function>
+
+<function name="g_bookmark_file_load_from_file">
+<description>
+Loads a desktop bookmark file into an empty #GBookmarkFile structure.
+If the file could not be loaded then @error is set to either a #GFileError
+or #GBookmarkFileError.
+
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> an empty #GBookmarkFile struct
+</parameter_description>
+</parameter>
+<parameter name="filename">
+<parameter_description> the path of a filename to load, in the GLib file name encoding
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
</parameter_description>
</parameter>
</parameters>
-<return> a pointer to the found occurrence, or
-%NULL if not found.
+<return> %TRUE if a desktop bookmark file could be loaded
+
+Since: 2.12
</return>
</function>
@@ -3040,6 +4313,36 @@ Since: 2.8
</return>
</function>
+<function name="g_match_info_fetch_named">
+<description>
+Retrieves the text matching the capturing parentheses named @name.
+
+If @name is a valid sub pattern name but it didn&apos;t match anything
+(e.g. sub pattern &quot;X&quot;, matching &quot;b&quot; against &quot;(?P&amp;lt;X&amp;gt;a)?b&quot;)
+then an empty string is returned.
+
+The string is fetched from the string passed to the match function,
+so you cannot call this function after freeing the string.
+
+
+</description>
+<parameters>
+<parameter name="match_info">
+<parameter_description> #GMatchInfo structure
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> name of the subexpression
+</parameter_description>
+</parameter>
+</parameters>
+<return> The matched substring, or %NULL if an error occurred.
+You have to free the string yourself
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_unichar_isxdigit">
<description>
Determines if a character is a hexidecimal digit.
@@ -3056,6 +4359,38 @@ Determines if a character is a hexidecimal digit.
</return>
</function>
+<function name="g_markup_parse_context_new">
+<description>
+Creates a new parse context. A parse context is used to parse
+marked-up documents. You can feed any number of documents into
+a context, as long as no errors occur; once an error occurs,
+the parse context can&apos;t continue to parse text (you have to free it
+and create a new parse context).
+
+
+</description>
+<parameters>
+<parameter name="parser">
+<parameter_description> a #GMarkupParser
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> one or more #GMarkupParseFlags
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data to pass to #GMarkupParser functions
+</parameter_description>
+</parameter>
+<parameter name="user_data_dnotify">
+<parameter_description> user data destroy notifier called when the parse context is freed
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GMarkupParseContext
+</return>
+</function>
+
<function name="g_key_file_set_boolean">
<description>
Associates a new boolean value with @key under @group_name.
@@ -3085,62 +4420,74 @@ Since: 2.6
<return></return>
</function>
-<function name="g_int_hash">
+<function name="g_string_chunk_clear">
<description>
-Converts a pointer to a #gint to a hash value.
-It can be passed to g_hash_table_new() as the @hash_func parameter,
-when using pointers to integers values as keys in a #GHashTable.
+Frees all strings contained within the #GStringChunk.
+After calling g_string_chunk_clear() it is not safe to
+access any of the strings which were contained within it.
+Since: 2.14
</description>
<parameters>
-<parameter name="v">
-<parameter_description> a pointer to a #gint key
+<parameter name="chunk">
+<parameter_description> a #GStringChunk
</parameter_description>
</parameter>
</parameters>
-<return> a hash value corresponding to the key.
-</return>
+<return></return>
</function>
-<function name="g_ucs4_to_utf8">
+<function name="g_bookmark_file_add_group">
<description>
-Convert a string from a 32-bit fixed width representation as UCS-4.
-to UTF-8. The result will be terminated with a 0 byte.
+Adds @group to the list of groups to which the bookmark for @uri
+belongs to.
+
+If no bookmark for @uri is found then it is created.
+Since: 2.12
</description>
<parameters>
-<parameter name="str">
-<parameter_description> a UCS-4 encoded string
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
</parameter_description>
</parameter>
-<parameter name="len">
-<parameter_description> the maximum length of @str to use. If @len &amp;lt; 0, then
-the string is terminated with a 0 character.
+<parameter name="uri">
+<parameter_description> a valid URI
</parameter_description>
</parameter>
-<parameter name="items_read">
-<parameter_description> location to store number of characters read read, or %NULL.
+<parameter name="group">
+<parameter_description> the group name to be added
</parameter_description>
</parameter>
-<parameter name="items_written">
-<parameter_description> location to store number of bytes written or %NULL.
-The value here stored does not include the trailing 0
-byte.
+</parameters>
+<return></return>
+</function>
+
+<function name="g_bookmark_file_remove_item">
+<description>
+Removes the bookmark for @uri from the bookmark file @bookmark.
+
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
</parameter_description>
</parameter>
<parameter name="error">
-<parameter_description> location to store the error occuring, or %NULL to ignore
-errors. Any of the errors in #GConvertError other than
-%G_CONVERT_ERROR_NO_CONVERSION may occur.
+<parameter_description> return location for a #GError, or %NULL
</parameter_description>
</parameter>
</parameters>
-<return> a pointer to a newly allocated UTF-8 string.
-This value must be freed with g_free(). If an
-error occurs, %NULL will be returned and
-@error set.
+<return> %TRUE if the bookmark was removed successfully.
+
+Since: 2.12
</return>
</function>
@@ -3180,9 +4527,31 @@ Since: 2.4
</return>
</function>
+<function name="g_sequence_prepend">
+<description>
+Adds a new item to the front of @seq
+
+
+</description>
+<parameters>
+<parameter name="seq">
+<parameter_description> a #GSequence
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> the data for the new item
+</parameter_description>
+</parameter>
+</parameters>
+<return> an iterator pointing to the new item
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_utf8_to_utf16">
<description>
-Convert a string from UTF-8 to UTF-16. A 0 word will be
+Convert a string from UTF-8 to UTF-16. A 0 character will be
added to the result after the converted text.
@@ -3193,8 +4562,8 @@ added to the result after the converted text.
</parameter_description>
</parameter>
<parameter name="len">
-<parameter_description> the maximum length of @str to use. If @len &amp;lt; 0, then
-the string is nul-terminated.
+<parameter_description> the maximum length (number of characters) of @str to use.
+If @len &amp;lt; 0, then the string is nul-terminated.
</parameter_description>
</parameter>
<parameter name="items_read">
@@ -3206,9 +4575,9 @@ invalid input is stored here.
</parameter_description>
</parameter>
<parameter name="items_written">
-<parameter_description> location to store number of words written, or %NULL.
-The value stored here does not include the trailing
-0 word.
+<parameter_description> location to store number of &amp;lt;type&amp;gt;gunichar2&amp;lt;/type&amp;gt; written,
+or %NULL.
+The value stored here does not include the trailing 0.
</parameter_description>
</parameter>
<parameter name="error">
@@ -3251,10 +4620,37 @@ the number of elements in @queue, the link is added to the end of
<return></return>
</function>
-<function name="g_queue_peek_tail">
+<function name="g_thread_foreach">
<description>
-Returns the last element of the queue.
+Call @thread_func on all existing #GThread structures. Note that
+threads may decide to exit while @thread_func is running, so
+without intimate knowledge about the lifetime of foreign threads,
+@thread_func shouldn&apos;t access the GThread* pointer passed in as
+first argument. However, @thread_func will not be called for threads
+which are known to have exited already.
+Due to thread lifetime checks, this function has an execution complexity
+which is quadratic in the number of existing threads.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="thread_func">
+<parameter_description> function to call for all GThread structures
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> second argument to @thread_func
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_queue_peek_tail">
+<description>
+Returns: the data of the last element in the queue, or %NULL if the queue
</description>
<parameters>
@@ -3306,10 +4702,14 @@ hold the lock to call this function.
<function name="g_child_watch_add_full">
<description>
-Sets a function to be called when the child indicated by @pid exits, at a
-default priority, #G_PRIORITY_DEFAULT.
+Sets a function to be called when the child indicated by @pid
+exits, at the priority @priority.
+
+If you obtain @pid from g_spawn_async() or g_spawn_async_with_pipes()
+you will need to pass #G_SPAWN_DO_NOT_REAP_CHILD as flag to
+the spawn function for the child watching to work.
-Note that on platforms where #GPid must be explicitely closed
+Note that on platforms where #GPid must be explicitly closed
(see g_spawn_close_pid()) @pid must not be closed while the
source is still active. Typically, you will want to call
g_spawn_close_pid() in the callback function for the source.
@@ -3341,12 +4741,64 @@ range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE.
</parameter_description>
</parameter>
</parameters>
-<return> the id of event source.
+<return> the ID (greater than 0) of the event source.
Since: 2.4
</return>
</function>
+<function name="g_key_file_get_double_list">
+<description>
+Return value: the values associated with the key as a list of
+
+</description>
+<parameters>
+<parameter name="key_file">
+<parameter_description> a #GKeyFile
+</parameter_description>
+</parameter>
+<parameter name="group_name">
+<parameter_description> a group name
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the number of doubles returned
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError
+</parameter_description>
+</parameter>
+</parameters>
+<return> the values associated with the key as a list of
+doubles, or %NULL if the key was not found or could not be parsed.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="g_sequence_iter_prev">
+<description>
+Return value: a #GSequenceIter pointing to the previous position before
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GSequenceIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GSequenceIter pointing to the previous position before
+@iter.
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_option_context_free">
<description>
Frees context and all the groups which have been
@@ -3389,7 +4841,7 @@ file).
</parameters>
<return> %G_IO_ERROR_NONE if the operation was successful.
-Deprecated: Use g_io_channel_seek_position() instead.
+Deprecated:2.2: Use g_io_channel_seek_position() instead.
</return>
</function>
@@ -3419,11 +4871,8 @@ converted to lowercase.
<function name="g_stat">
<description>
-A wrapper for the POSIX stat() function. The stat() function
-returns information about a file.
-
-See the C library manual for more details about stat().
-
+A wrapper for the POSIX stat() function. The stat() function
+Returns: 0 if the information was successfully retrieved, -1 if an error
</description>
<parameters>
@@ -3444,22 +4893,66 @@ Since: 2.6
</return>
</function>
-<function name="g_filename_display_basename">
+<function name="g_match_info_get_match_count">
<description>
-Returns the display basename for the particular filename, guaranteed
-to be valid UTF-8. The display name might not be identical to the filename,
-for instance there might be problems converting it to UTF-8, and some files
-can be translated in the display
+Retrieves the number of matched substrings (including substring 0,
+that is the whole matched text), so 1 is returned if the pattern
+has no substrings in it and 0 is returned if the match failed.
-You must pass the whole absolute pathname to this functions so that
-translation of well known locations can be done.
+If the last match was obtained using the DFA algorithm, that is
+using g_regex_match_all() or g_regex_match_all_full(), the retrieved
+count is not that of the number of capturing parentheses but that of
+the number of matched substrings.
-This function is preferred over g_filename_display_name() if you know the
-whole path, as it allows translation.
+
+</description>
+<parameters>
+<parameter name="match_info">
+<parameter_description> a #GMatchInfo structure
+</parameter_description>
+</parameter>
+</parameters>
+<return> Number of matched substrings, or -1 if an error occurred
+
+Since: 2.14
+</return>
+</function>
+
+<function name="g_mkstemp">
+<description>
+Opens a temporary file. See the mkstemp() documentation
+on most UNIX-like systems.
+
+The parameter is a string that should follow the rules for
+mkstemp() templates, i.e. contain the string &quot;XXXXXX&quot;.
+g_mkstemp() is slightly more flexible than mkstemp()
+in that the sequence does not have to occur at the very end of the
+template. The X string will
+be modified to form the name of a file that didn&apos;t exist.
+The string should be in the GLib file name encoding. Most importantly,
+on Windows it should be in UTF-8.
</description>
<parameters>
+<parameter name="tmpl">
+<parameter_description> template filename
+</parameter_description>
+</parameter>
+</parameters>
+<return> A file handle (as from open()) to the file
+opened for reading and writing. The file is opened in binary mode
+on platforms where there is a difference. The file handle should be
+closed with close(). In case of errors, -1 is returned.
+</return>
+</function>
+
+<function name="g_filename_display_basename">
+<description>
+Return value: a newly allocated string containing
+
+</description>
+<parameters>
<parameter name="filename">
<parameter_description> an absolute pathname in the GLib file name encoding
</parameter_description>
@@ -3472,6 +4965,33 @@ Since: 2.6
</return>
</function>
+<function name="g_bookmark_file_to_file">
+<description>
+This function outputs @bookmark into a file. The write process is
+guaranteed to be atomic by using g_file_set_contents() internally.
+
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="filename">
+<parameter_description> path of the output file
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the file was successfully written.
+
+Since: 2.12
+</return>
+</function>
+
<function name="g_datalist_set_flags">
<description>
Turns on flag values for a data list. This function is used
@@ -3481,6 +5001,8 @@ not generally useful except in circumstances where space
is very tight. (It is used in the base #GObject type, for
example.)
+Since: 2.8
+
</description>
<parameters>
<parameter name="datalist">
@@ -3512,11 +5034,7 @@ being validated otherwise).
Note that g_utf8_validate() returns %FALSE if @max_len is
positive and NUL is met before @max_len bytes have been read.
-Returns %TRUE if all of @str was valid. Many GLib and GTK+
-routines &amp;lt;emphasis&amp;gt;require&amp;lt;/emphasis&amp;gt; valid UTF-8 as input;
-so data read from a file or the network should be checked
-with g_utf8_validate() before doing anything else with it.
-
+Return value: %TRUE if the text was valid UTF-8
</description>
<parameters>
@@ -3542,6 +5060,8 @@ with g_utf8_validate() before doing anything else with it.
Creates a new cache bucket, inserts it into the cache and
increments the cache size.
+This assumes ownership of @key.
+
</description>
<parameters>
@@ -3558,23 +5078,28 @@ increments the cache size.
</return>
</function>
-<function name="g_tree_new">
+<function name="g_timeout_source_new_seconds">
<description>
-Creates a new #GTree.
+Creates a new timeout source.
+
+The source will not initially be associated with any #GMainContext
+and must be added to one with g_source_attach() before it will be
+executed.
+
+The scheduling granularity/accuracy of this timeout source will be
+in seconds.
</description>
<parameters>
-<parameter name="key_compare_func">
-<parameter_description> the function used to order the nodes in the #GTree.
-It should return values similar to the standard strcmp() function -
-0 if the two arguments are equal, a negative value if the first argument
-comes before the second, or a positive value if the first argument comes
-after the second.
+<parameter name="interval">
+<parameter_description> the timeout interval in seconds
</parameter_description>
</parameter>
</parameters>
-<return> a new #GTree.
+<return> the newly-created timeout source
+
+Since: 2.14
</return>
</function>
@@ -3583,9 +5108,13 @@ after the second.
Converts a string into a collation key that can be compared
with other collation keys produced by the same function using
strcmp().
+
The results of comparing the collation keys of two strings
-with strcmp() will always be the same as
-comparing the two original keys with g_utf8_collate().
+with strcmp() will always be the same as comparing the two
+original keys with g_utf8_collate().
+
+Note that this function depends on the
+&amp;lt;link linkend=&quot;setlocale&quot;&amp;gt;current locale&amp;lt;/link&amp;gt;.
</description>
@@ -3604,20 +5133,56 @@ be freed with g_free() when you are done with it.
</return>
</function>
-<function name="g_key_file_get_integer">
+<function name="g_async_queue_timed_pop_unlocked">
<description>
-Returns the value associated with @key under @group_name as an
-integer. If @group_name is %NULL, the start_group is used.
+Pops data from the @queue. If no data is received before @end_time,
+%NULL is returned. This function must be called while holding the
+@queue&apos;s lock.
-If @key cannot be found then the return value is undefined and
-@error is set to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if
-the value associated with @key cannot be interpreted as an integer
-then the return value is also undefined and @error is set to
-#G_KEY_FILE_ERROR_INVALID_VALUE.
+To easily calculate @end_time a combination of g_get_current_time()
+and g_time_val_add() can be used.
</description>
<parameters>
+<parameter name="queue">
+<parameter_description> a #GAsyncQueue.
+</parameter_description>
+</parameter>
+<parameter name="end_time">
+<parameter_description> a #GTimeVal, determining the final time.
+</parameter_description>
+</parameter>
+</parameters>
+<return> data from the queue or %NULL, when no data is
+received before @end_time.
+</return>
+</function>
+
+<function name="g_io_channel_set_buffer_size">
+<description>
+Sets the buffer size.
+
+</description>
+<parameters>
+<parameter name="channel">
+<parameter_description> a #GIOChannel
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size of the buffer. 0 == pick a good size
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_key_file_get_integer">
+<description>
+Return value: the value associated with the key as an integer, or
+
+</description>
+<parameters>
<parameter name="key_file">
<parameter_description> a #GKeyFile
</parameter_description>
@@ -3635,7 +5200,8 @@ then the return value is also undefined and @error is set to
</parameter_description>
</parameter>
</parameters>
-<return> the value associated with the key as an integer.
+<return> the value associated with the key as an integer, or
+0 if the key was not found or could not be parsed.
Since: 2.6
</return>
@@ -3650,13 +5216,14 @@ out from right to left. For instance, &quot;(&quot; would become its mirror imag
If @ch has the Unicode mirrored property and there is another unicode
character that typically has a glyph that is the mirror image of @ch&apos;s
-glyph, puts that character in the address pointed to by @mirrored_ch.
+glyph and @mirrored_ch is set, it puts that character in the address
+pointed to by @mirrored_ch. Otherwise the original character is put.
</description>
<parameters>
<parameter name="ch">
-<parameter_description> a unicode character
+<parameter_description> a Unicode character
</parameter_description>
</parameter>
<parameter name="mirrored_ch">
@@ -3664,8 +5231,7 @@ glyph, puts that character in the address pointed to by @mirrored_ch.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if @ch has a mirrored character and @mirrored_ch is
-filled in, %FALSE otherwise
+<return> %TRUE if @ch has a mirrored character, %FALSE otherwise
Since: 2.4
</return>
@@ -3706,6 +5272,24 @@ be a relative path.
</return>
</function>
+<function name="g_unichar_combining_class">
+<description>
+Determines the canonical combining class of a Unicode character.
+
+
+</description>
+<parameters>
+<parameter name="uc">
+<parameter_description> a Unicode character
+</parameter_description>
+</parameter>
+</parameters>
+<return> the combining class of the character
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_convert_with_iconv">
<description>
Converts a string from one character set to another.
@@ -3788,6 +5372,27 @@ on a %NULL value, g_strdupv() simply returns %NULL.
</return>
</function>
+<function name="g_string_append">
+<description>
+Adds a string onto the end of a #GString, expanding
+it if necessary.
+
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> a #GString
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> the string to append onto the end of @string
+</parameter_description>
+</parameter>
+</parameters>
+<return> @string
+</return>
+</function>
+
<function name="g_ascii_dtostr">
<description>
Converts a #gdouble to a string, using the &apos;.&apos; as
@@ -3819,6 +5424,46 @@ be larger than @G_ASCII_DTOSTR_BUF_SIZE bytes.
</return>
</function>
+<function name="g_bookmark_file_get_size">
+<description>
+Gets the number of bookmarks inside @bookmark.
+
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of bookmarks
+
+Since: 2.12
+</return>
+</function>
+
+<function name="g_bookmark_file_get_uris">
+<description>
+Return value: a newly allocated %NULL-terminated array of strings.
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> return location for the number of returned URIs, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated %NULL-terminated array of strings.
+Use g_strfreev() to free it.
+
+Since: 2.12
+</return>
+</function>
+
<function name="glib_check_version">
<description>
Checks that the GLib library in use is compatible with the
@@ -3844,11 +5489,11 @@ version @required_major.required_minor.@required_micro
</parameter_description>
</parameter>
<parameter name="required_minor">
-<parameter_description> the required major version.
+<parameter_description> the required minor version.
</parameter_description>
</parameter>
<parameter name="required_micro">
-<parameter_description> the required major version.
+<parameter_description> the required micro version.
</parameter_description>
</parameter>
</parameters>
@@ -3887,7 +5532,7 @@ Writes data to a #GIOChannel.
</parameters>
<return> %G_IO_ERROR_NONE if the operation was successful.
-Deprecated: Use g_io_channel_write_chars() instead.
+Deprecated:2.2: Use g_io_channel_write_chars() instead.
</return>
</function>
@@ -3929,6 +5574,42 @@ Since: 2.6
</return>
</function>
+<function name="g_sequence_insert_sorted_iter">
+<description>
+Like g_sequence_insert_sorted(), but uses
+a #GSequenceIterCompareFunc instead of a #GCompareDataFunc as
+the compare function.
+
+
+</description>
+<parameters>
+<parameter name="seq">
+<parameter_description> a #GSequence
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data for the new item
+</parameter_description>
+</parameter>
+<parameter name="iter_cmp">
+<parameter_description> the #GSequenceItercompare used to compare iterators in the
+sequence. It is called with two iterators pointing into @seq. It should
+return 0 if the iterators are equal, a negative value if the first
+iterator comes before the second, and a positive value if the second
+iterator comes before the first.
+</parameter_description>
+</parameter>
+<parameter name="cmp_data">
+<parameter_description> user data passed to @cmp_func
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GSequenceIter pointing to the new item
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_main_context_find_source_by_user_data">
<description>
Finds a source with the given user data for the callback. If
@@ -3970,6 +5651,22 @@ more than one element.
<return></return>
</function>
+<function name="g_string_hash">
+<description>
+Creates a hash code for @str; for use with #GHashTable.
+
+
+</description>
+<parameters>
+<parameter name="str">
+<parameter_description> a string to hash
+</parameter_description>
+</parameter>
+</parameters>
+<return> hash code for @str
+</return>
+</function>
+
<function name="g_vsprintf">
<description>
An implementation of the standard vsprintf() function which supports
@@ -4016,49 +5713,48 @@ available immediately.
</return>
</function>
-<function name="g_spawn_async">
+<function name="g_unichar_iscntrl">
<description>
-See g_spawn_async_with_pipes() for a full description; this function
-simply calls the g_spawn_async_with_pipes() without any pipes.
+Determines whether a character is a control character.
+Given some UTF-8 text, obtain a character value with
+g_utf8_get_char().
</description>
<parameters>
-<parameter name="working_directory">
-<parameter_description> child&apos;s current working directory, or %NULL to inherit parent&apos;s
-</parameter_description>
-</parameter>
-<parameter name="argv">
-<parameter_description> child&apos;s argument vector
-</parameter_description>
-</parameter>
-<parameter name="envp">
-<parameter_description> child&apos;s environment, or %NULL to inherit parent&apos;s
-</parameter_description>
-</parameter>
-<parameter name="flags">
-<parameter_description> flags from #GSpawnFlags
-</parameter_description>
-</parameter>
-<parameter name="child_setup">
-<parameter_description> function to run in the child just before exec()
+<parameter name="c">
+<parameter_description> a Unicode character
</parameter_description>
</parameter>
-<parameter name="user_data">
-<parameter_description> user data for @child_setup
+</parameters>
+<return> %TRUE if @c is a control character
+</return>
+</function>
+
+<function name="g_string_sprintfa">
+<description>
+Appends a formatted string onto the end of a #GString.
+This function is is similar to g_string_sprintf() except that
+the text is appended to the #GString.
+
+Deprecated: This function has been renamed to g_string_append_printf()
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> a #GString
</parameter_description>
</parameter>
-<parameter name="child_pid">
-<parameter_description> return location for child process ID, or %NULL
+<parameter name="format">
+<parameter_description> the string format. See the sprintf() documentation
</parameter_description>
</parameter>
-<parameter name="error">
-<parameter_description> return location for error
+<parameter name="Varargs">
+<parameter_description> the parameters to insert into the format string
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE on success, %FALSE if error is set
-</return>
+<return></return>
</function>
<function name="g_win32_locale_filename_from_utf8">
@@ -4162,8 +5858,7 @@ be %NULL. A new #GError is created and assigned to *@err.
<function name="g_queue_peek_head_link">
<description>
-Returns the first link in @queue
-
+Return value: the first link in @queue, or %NULL if @queue is empty
</description>
<parameters>
@@ -4178,19 +5873,41 @@ Since: 2.4
</return>
</function>
-<function name="g_random_set_seed">
+<function name="g_child_watch_source_new">
<description>
-Sets the seed for the global random number generator, which is used
-by the &amp;lt;function&amp;gt;g_random_*&amp;lt;/function&amp;gt; functions, to @seed.
+Creates a new child_watch source.
+
+The source will not initially be associated with any #GMainContext
+and must be added to one with g_source_attach() before it will be
+executed.
+
+Note that child watch sources can only be used in conjunction with
+&amp;lt;literal&amp;gt;g_spawn...&amp;lt;/literal&amp;gt; when the %G_SPAWN_DO_NOT_REAP_CHILD
+flag is used.
+
+Note that on platforms where #GPid must be explicitly closed
+(see g_spawn_close_pid()) @pid must not be closed while the
+source is still active. Typically, you will want to call
+g_spawn_close_pid() in the callback function for the source.
+
+Note further that using g_child_watch_source_new() is not
+compatible with calling &amp;lt;literal&amp;gt;waitpid(-1)&amp;lt;/literal&amp;gt; in
+the application. Calling waitpid() for individual pids will
+still work fine.
+
</description>
<parameters>
-<parameter name="seed">
-<parameter_description> a value to reinitialize the global random number generator.
+<parameter name="pid">
+<parameter_description> process id of a child process to watch. On Windows, a HANDLE
+for the process to watch (which actually doesn&apos;t have to be a child).
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> the newly-created child watch source
+
+Since: 2.4
+</return>
</function>
<function name="g_option_group_new">
@@ -4252,8 +5969,7 @@ Since: 2.8
<function name="g_thread_pool_get_max_unused_threads">
<description>
-Returns the maximal allowed number of unused threads.
-
+Return value: the maximal number of unused threads
</description>
<parameters>
@@ -4321,11 +6037,15 @@ have a default priority of %G_PRIORITY_DEFAULT.
<function name="g_string_chunk_insert_len">
<description>
-Adds a copy of the first @len bytes of @string to the #GStringChunk. The
-copy is nul-terminated.
+Adds a copy of the first @len bytes of @string to the #GStringChunk.
+The copy is nul-terminated.
+
+Since this function does not stop at nul bytes, it is the caller&apos;s
+responsibility to ensure that @string has at least @len addressable
+bytes.
-The characters in the string can be changed, if necessary, though you
-should not change anything after the end of the string.
+The characters in the returned string can be changed, if necessary,
+though you should not change anything after the end of the string.
</description>
@@ -4340,7 +6060,7 @@ should not change anything after the end of the string.
</parameter>
<parameter name="len">
<parameter_description> number of bytes of @string to insert, or -1 to insert a
-nul-terminated string.
+nul-terminated string
</parameter_description>
</parameter>
</parameters>
@@ -4350,6 +6070,78 @@ Since: 2.4
</return>
</function>
+<function name="g_sequence_sort_changed_iter">
+<description>
+Like g_sequence_sort_changed(), but uses
+a #GSequenceIterCompareFunc instead of a #GCompareDataFunc as
+the compare function.
+
+Since: 2.14
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GSequenceIter
+</parameter_description>
+</parameter>
+<parameter name="iter_cmp">
+<parameter_description> the #GSequenceItercompare used to compare iterators in the
+sequence. It is called with two iterators pointing into @seq. It should
+return 0 if the iterators are equal, a negative value if the first
+iterator comes before the second, and a positive value if the second
+iterator comes before the first.
+</parameter_description>
+</parameter>
+<parameter name="cmp_data">
+<parameter_description> user data passed to @cmp_func
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_ascii_strtoull">
+<description>
+Converts a string to a #guint64 value.
+This function behaves like the standard strtoull() function
+does in the C locale. It does this without actually
+changing the current locale, since that would not be
+thread-safe.
+
+This function is typically used when reading configuration
+files or other non-user input that should be locale independent.
+To handle input from the user you should normally use the
+locale-sensitive system strtoull() function.
+
+If the correct value would cause overflow, %G_MAXUINT64
+is returned, and %ERANGE is stored in %errno. If the base is
+outside the valid range, zero is returned, and %EINVAL is stored
+in %errno. If the string conversion fails, zero is returned, and
+@endptr returns @nptr (if @endptr is non-%NULL).
+
+
+</description>
+<parameters>
+<parameter name="nptr">
+<parameter_description> the string to convert to a numeric value.
+</parameter_description>
+</parameter>
+<parameter name="endptr">
+<parameter_description> if non-%NULL, it returns the character after
+the last character used in the conversion.
+</parameter_description>
+</parameter>
+<parameter name="base">
+<parameter_description> to be used for the conversion, 2..36 or 0
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #guint64 value or zero on error.
+
+Since: 2.2
+</return>
+</function>
+
<function name="g_unichar_isdefined">
<description>
Determines if a given character is assigned in the Unicode
@@ -4392,17 +6184,35 @@ Since: 2.4
</return>
</function>
-<function name="g_key_file_get_boolean">
+<function name="g_bookmark_file_set_is_private">
<description>
-Returns the value associated with @key under @group_name as a
-boolean.
+Sets the private flag of the bookmark for @uri.
-If @key cannot be found then the return value is undefined and
-@error is set to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if
-the value associated with @key cannot be interpreted as a boolean
-then the return value is also undefined and @error is set to
-#G_KEY_FILE_ERROR_INVALID_VALUE.
+If a bookmark for @uri cannot be found then it is created.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="is_private">
+<parameter_description> %TRUE if the bookmark should be marked as private
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+<function name="g_key_file_get_boolean">
+<description>
+Return value: the value associated with the key as a boolean, or
</description>
<parameters>
@@ -4423,17 +6233,60 @@ then the return value is also undefined and @error is set to
</parameter_description>
</parameter>
</parameters>
-<return> the value associated with the key as a boolean
+<return> the value associated with the key as a boolean, or
+%FALSE if the key was not found or could not be parsed.
+
Since: 2.6
</return>
</function>
-<function name="g_path_is_absolute">
+<function name="g_async_queue_sort">
<description>
-Returns %TRUE if the given @file_name is an absolute file name,
-i.e. it contains a full path from the root directory such as &quot;/usr/local&quot;
-on UNIX or &quot;C:\windows&quot; on Windows systems.
+Sorts @queue using @func.
+
+This function will lock @queue before it sorts the queue and unlock
+it when it is finished.
+
+If you were sorting a list of priority numbers to make sure the
+lowest priority would be at the top of the queue, you could use:
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+gint32 id1;
+gint32 id2;
+
+id1 = GPOINTER_TO_INT (element1);
+id2 = GPOINTER_TO_INT (element2);
+
+return (id1 &amp;gt; id2 ? +1 : id1 == id2 ? 0 : -1);
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="queue">
+<parameter_description> a #GAsyncQueue
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> the #GCompareDataFunc is used to sort @queue. This
+function is passed two elements of the @queue. The function
+should return 0 if they are equal, a negative value if the
+first element should be higher in the @queue or a positive
+value if the first element should be lower in the @queue than
+the second element.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data passed to @func
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+<function name="g_path_is_absolute">
+<description>
+Returns: %TRUE if @file_name is an absolute path.
</description>
<parameters>
@@ -4446,6 +6299,67 @@ on UNIX or &quot;C:\windows&quot; on Windows systems.
</return>
</function>
+<function name="g_string_prepend_len">
+<description>
+Prepends @len bytes of @val to @string.
+Because @len is provided, @val may contain
+embedded nuls and need not be nul-terminated.
+
+Since this function does not stop at nul bytes,
+it is the caller&apos;s responsibility to ensure that
+@val has at least @len addressable bytes.
+
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> a #GString
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> bytes to prepend
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> number of bytes in @val to prepend
+</parameter_description>
+</parameter>
+</parameters>
+<return> @string
+</return>
+</function>
+
+<function name="g_string_overwrite_len">
+<description>
+Overwrites part of a string, lengthening it if necessary.
+This function will work with embedded nuls.
+
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> a #GString
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> the position at which to start overwriting
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> the string that will overwrite the @string starting at @pos
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> the number of bytes to write from @val
+</parameter_description>
+</parameter>
+</parameters>
+<return> @string
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_main_loop_is_running">
<description>
Checks to see if the main loop is currently being run via g_main_loop_run().
@@ -4462,9 +6376,52 @@ Checks to see if the main loop is currently being run via g_main_loop_run().
</return>
</function>
+<function name="g_bookmark_file_get_title">
+<description>
+Return value: a newly allocated string or %NULL if the specified
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI or %NULL
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated string or %NULL if the specified
+URI cannot be found.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="g_string_new">
+<description>
+Creates a new #GString, initialized with the given string.
+
+
+</description>
+<parameters>
+<parameter name="init">
+<parameter_description> the initial text to copy into the string
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GString
+</return>
+</function>
+
<function name="g_filename_to_uri">
<description>
-Converts an absolute filename to an escaped ASCII-encoded URI.
+Converts an absolute filename to an escaped ASCII-encoded URI, with the path
+component following Section 3.3. of RFC 2396.
</description>
@@ -4504,9 +6461,9 @@ Converts a #GString to lowercase.
</parameters>
<return> the #GString.
-Deprecated: This function uses the locale-specific tolower() function,
-which is almost never the right thing. Use g_string_ascii_down() or
-g_utf8_strdown() instead.
+Deprecated:2.2: This function uses the locale-specific
+tolower() function, which is almost never the right thing.
+Use g_string_ascii_down() or g_utf8_strdown() instead.
</return>
</function>
@@ -4524,47 +6481,51 @@ Converts a string to upper case.
</parameters>
<return> the string
-Deprecated: This function is totally broken for the reasons discussed in
-the g_strncasecmp() docs - use g_ascii_strup() or g_utf8_strup() instead.
+Deprecated:2.2: This function is totally broken for the reasons discussed
+in the g_strncasecmp() docs - use g_ascii_strup() or g_utf8_strup() instead.
</return>
</function>
-<function name="g_tree_steal">
+<function name="g_date_get_iso8601_week_of_year">
<description>
-Removes a key and its associated value from a #GTree without calling
-the key and value destroy functions.
-
-If the key does not exist in the #GTree, the function does nothing.
-
+Returns: ISO 8601 week number of the year.
</description>
<parameters>
-<parameter name="tree">
-<parameter_description> a #GTree.
-</parameter_description>
-</parameter>
-<parameter name="key">
-<parameter_description> the key to remove.
+<parameter name="date">
+<parameter_description> a valid #GDate
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the key was found (prior to 2.8, this function returned nothing)
+<return> ISO 8601 week number of the year.
+
+Since: 2.6
</return>
</function>
<function name="g_win32_get_package_installation_directory">
<description>
Try to determine the installation directory for a software package.
-Typically used by GNU software packages.
@package should be a short identifier for the package. Typically it
is the same identifier as used for
-&amp;lt;literal&amp;gt;GETTEXT_PACKAGE&amp;lt;/literal&amp;gt; in software configured according
-to GNU standards. The function first looks in the Windows Registry
-for the value &amp;lt;literal&amp;gt;&amp;num;InstallationDirectory&amp;lt;/literal&amp;gt; in the key
+&amp;lt;literal&amp;gt;GETTEXT_PACKAGE&amp;lt;/literal&amp;gt; in software configured using GNU
+autotools. The function first looks in the Windows Registry for the
+value &amp;lt;literal&amp;gt;&amp;num;InstallationDirectory&amp;lt;/literal&amp;gt; in the key
&amp;lt;literal&amp;gt;&amp;num;HKLM\Software\@package&amp;lt;/literal&amp;gt;, and if that value
exists and is a string, returns that.
+It is strongly recommended that packagers of GLib-using libraries
+for Windows do not store installation paths in the Registry to be
+used by this function as that interfers with having several
+parallel installations of the library. Parallel installations of
+different versions of some GLib-using library, or GLib itself,
+might well be desirable for various reasons.
+
+For the same reason it is recommeded to always pass %NULL as
+@package to this function, to avoid the temptation to use the
+Registry.
+
If @package is %NULL, or the above value isn&apos;t found in the
Registry, but @dll_name is non-%NULL, it should name a DLL loaded
into the current process. Typically that would be the name of the
@@ -4598,29 +6559,21 @@ needed any longer.
</return>
</function>
-<function name="g_option_context_get_help_enabled">
+<function name="g_thread_pool_stop_unused_threads">
<description>
-Returns whether automatic &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt; generation
-is turned on for @context. See g_option_context_set_help_enabled().
-
+Stops all currently unused threads. This does not change the
+maximal number of unused threads. This function can be used to
+regularly stop all unused threads e.g. from g_timeout_add().
</description>
<parameters>
-<parameter name="context">
-<parameter_description> a #GOptionContext
-</parameter_description>
-</parameter>
</parameters>
-<return> %TRUE if automatic help generation is turned on.
-
-Since: 2.6
-</return>
+<return></return>
</function>
<function name="g_hash_table_size">
<description>
-Returns the number of elements contained in the #GHashTable.
-
+Return value: the number of key/value pairs in the #GHashTable.
</description>
<parameters>
@@ -4677,6 +6630,55 @@ Gets the priority of a source.
</return>
</function>
+<function name="g_regex_replace_literal">
+<description>
+Replaces all occurances of the pattern in @regex with the
+replacement text. @replacement is replaced literally, to
+include backreferences use g_regex_replace().
+
+Setting @start_position differs from just passing over a
+shortened string and setting #G_REGEX_MATCH_NOTBOL in the
+case of a pattern that begins with any kind of lookbehind
+assertion, such as &quot;\b&quot;.
+
+
+</description>
+<parameters>
+<parameter name="regex">
+<parameter_description> a #GRegex structure
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> the string to perform matches against
+</parameter_description>
+</parameter>
+<parameter name="string_len">
+<parameter_description> the length of @string, or -1 if @string is nul-terminated
+</parameter_description>
+</parameter>
+<parameter name="start_position">
+<parameter_description> starting index of the string to match
+</parameter_description>
+</parameter>
+<parameter name="replacement">
+<parameter_description> text to replace each match with
+</parameter_description>
+</parameter>
+<parameter name="match_options">
+<parameter_description> options for the match
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store the error occuring, or %NULL to ignore errors
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated string containing the replacements
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_queue_find">
<description>
Finds the first link in @queue which contains @data.
@@ -4699,6 +6701,58 @@ Since: 2.4
</return>
</function>
+<function name="g_bookmark_file_new">
+<description>
+Creates a new empty #GBookmarkFile object.
+
+Use g_bookmark_file_load_from_file(), g_bookmark_file_load_from_data()
+or g_bookmark_file_load_from_data_dirs() to read an existing bookmark
+file.
+
+
+</description>
+<parameters>
+</parameters>
+<return> an empty #GBookmarkFile
+
+Since: 2.12
+</return>
+</function>
+
+<function name="g_bookmark_file_has_application">
+<description>
+Checks whether the bookmark for @uri inside @bookmark has been
+registered by application @name.
+
+In the event the URI cannot be found, %FALSE is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
+
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> the name of the application
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the application @name was found
+
+Since: 2.12
+</return>
+</function>
+
<function name="g_queue_pop_nth_link">
<description>
Removes and returns the link at the given position.
@@ -4760,44 +6814,41 @@ available.
</return>
</function>
-<function name="g_key_file_get_integer_list">
+<function name="g_async_queue_unref_and_unlock">
<description>
-Returns the values associated with @key under @group_name as
-integers.
-
-If @key cannot be found then the return value is undefined and
-@error is set to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if
-the values associated with @key cannot be interpreted as integers
-then the return value is also undefined and @error is set to
-#G_KEY_FILE_ERROR_INVALID_VALUE.
+Decreases the reference count of the asynchronous @queue by 1 and
+releases the lock. This function must be called while holding the
+@queue&apos;s lock. If the reference count went to 0, the @queue will be
+destroyed and the memory allocated will be freed.
+@Deprecated: Since 2.8, reference counting is done atomically
+so g_async_queue_unref() can be used regardless of the @queue&apos;s
+lock.
</description>
<parameters>
-<parameter name="key_file">
-<parameter_description> a #GKeyFile
-</parameter_description>
-</parameter>
-<parameter name="group_name">
-<parameter_description> a group name
-</parameter_description>
-</parameter>
-<parameter name="key">
-<parameter_description> a key
-</parameter_description>
-</parameter>
-<parameter name="length">
-<parameter_description> the number of integers returned
+<parameter name="queue">
+<parameter_description> a #GAsyncQueue.
</parameter_description>
</parameter>
-<parameter name="error">
-<parameter_description> return location for a #GError
+</parameters>
+<return></return>
+</function>
+
+<function name="g_option_context_get_description">
+<description>
+Returns: the description
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GOptionContext
</parameter_description>
</parameter>
</parameters>
-<return> the values associated with the key as a integer
+<return> the description
-Since: 2.6
+Since: 2.12
</return>
</function>
@@ -4824,6 +6875,59 @@ without having to repeatedly scan for the end.
</return>
</function>
+<function name="g_string_insert_c">
+<description>
+Inserts a byte into a #GString, expanding it if necessary.
+
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> a #GString
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> the position to insert the byte
+</parameter_description>
+</parameter>
+<parameter name="c">
+<parameter_description> the byte to insert
+</parameter_description>
+</parameter>
+</parameters>
+<return> @string
+</return>
+</function>
+
+<function name="g_bookmark_file_get_added">
+<description>
+Gets the time the bookmark for @uri was added to @bookmark
+
+In the event the URI cannot be found, -1 is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
+
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a timestamp
+
+Since: 2.12
+</return>
+</function>
+
<function name="g_io_channel_shutdown">
<description>
Close an IO channel. Any pending data to be written will be
@@ -4852,7 +6956,7 @@ last reference is dropped using g_io_channel_unref().
<function name="g_ucs4_to_utf16">
<description>
-Convert a string from UCS-4 to UTF-16. A 0 word will be
+Convert a string from UCS-4 to UTF-16. A 0 character will be
added to the result after the converted text.
@@ -4863,8 +6967,8 @@ added to the result after the converted text.
</parameter_description>
</parameter>
<parameter name="len">
-<parameter_description> the maximum length of @str to use. If @len &amp;lt; 0, then
-the string is terminated with a 0 character.
+<parameter_description> the maximum length (number of characters) of @str to use.
+If @len &amp;lt; 0, then the string is terminated with a 0 character.
</parameter_description>
</parameter>
<parameter name="items_read">
@@ -4874,9 +6978,9 @@ is stored here.
</parameter_description>
</parameter>
<parameter name="items_written">
-<parameter_description> location to store number of words written, or %NULL.
-The value stored here does not include the trailing
-0 word.
+<parameter_description> location to store number of &amp;lt;type&amp;gt;gunichar2&amp;lt;/type&amp;gt;
+written, or %NULL. The value stored here does not
+include the trailing 0.
</parameter_description>
</parameter>
<parameter name="error">
@@ -4895,8 +6999,7 @@ error occurs, %NULL will be returned and
<function name="g_thread_pool_unprocessed">
<description>
-Returns the number of tasks still unprocessed in @pool.
-
+Return value: the number of unprocessed tasks
</description>
<parameters>
@@ -4925,32 +7028,32 @@ threads.
<return></return>
</function>
-<function name="g_mkstemp">
+<function name="g_bookmark_file_set_description">
<description>
-Opens a temporary file. See the mkstemp() documentation
-on most UNIX-like systems. This is a portability wrapper, which simply calls
-mkstemp() on systems that have it, and implements
-it in GLib otherwise.
+Sets @description as the description of the bookmark for @uri.
-The parameter is a string that should match the rules for
-mkstemp(), i.e. end in &quot;XXXXXX&quot;. The X string will
-be modified to form the name of a file that didn&apos;t exist.
-The string should be in the GLib file name encoding. Most importantly,
-on Windows it should be in UTF-8.
+If @uri is %NULL, the description of @bookmark is set.
+If a bookmark for @uri cannot be found then it is created.
+
+Since: 2.12
</description>
<parameters>
-<parameter name="tmpl">
-<parameter_description> template filename
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI or %NULL
+</parameter_description>
+</parameter>
+<parameter name="description">
+<parameter_description> a string
</parameter_description>
</parameter>
</parameters>
-<return> A file handle (as from open()) to the file
-opened for reading and writing. The file is opened in binary mode
-on platforms where there is a difference. The file handle should be
-closed with close(). In case of errors, -1 is returned.
-</return>
+<return></return>
</function>
<function name="g_utf8_get_char_validated">
@@ -4968,14 +7071,16 @@ overlong encodings of valid characters.
</parameter_description>
</parameter>
<parameter name="max_len">
-<parameter_description> the maximum number of bytes to read, or -1, for no maximum.
+<parameter_description> the maximum number of bytes to read, or -1, for no maximum or
+if @p is nul-terminated
</parameter_description>
</parameter>
</parameters>
<return> the resulting character. If @p points to a partial
sequence at the end of a string that could begin a valid
-character, returns (gunichar)-2; otherwise, if @p does not point
-to a valid UTF-8 encoded Unicode character, returns (gunichar)-1.
+character (or if @max_len is zero), returns (gunichar)-2;
+otherwise, if @p does not point to a valid UTF-8 encoded
+Unicode character, returns (gunichar)-1.
</return>
</function>
@@ -5036,6 +7141,88 @@ using that function. If you supplied a @key_destroy_func when creating the
<return></return>
</function>
+<function name="g_source_remove">
+<description>
+Removes the source with the given id from the default main context.
+The id of
+a #GSource is given by g_source_get_id(), or will be returned by the
+functions g_source_attach(), g_idle_add(), g_idle_add_full(),
+g_timeout_add(), g_timeout_add_full(), g_child_watch_add(),
+g_child_watch_add_full(), g_io_add_watch(), and g_io_add_watch_full().
+
+See also g_source_destroy().
+
+
+</description>
+<parameters>
+<parameter name="tag">
+<parameter_description> the ID of the source to remove.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the source was found and removed.
+</return>
+</function>
+
+<function name="g_timeout_add_seconds_full">
+<description>
+Sets a function to be called at regular intervals, with @priority.
+The function is called repeatedly until it returns %FALSE, at which
+point the timeout is automatically destroyed and the function will
+not be called again.
+
+Unlike g_timeout_add(), this function operates at whole second granularity.
+The initial starting point of the timer is determined by the implementation
+and the implementation is expected to group multiple timers together so that
+they fire all at the same time.
+To allow this grouping, the @interval to the first timer is rounded
+and can deviate up to one second from the specified interval.
+Subsequent timer iterations will generally run at the specified interval.
+
+Note that timeout functions may be delayed, due to the processing of other
+event sources. Thus they should not be relied on for precise timing.
+After each call to the timeout function, the time of the next
+timeout is recalculated based on the current time and the given @interval
+
+If you want timing more precise than whole seconds, use g_timeout_add()
+instead.
+
+The grouping of timers to fire at the same time results in a more power
+and CPU efficient behavior so if your timer is in multiples of seconds
+and you don&apos;t require the first timer exactly one second from now, the
+use of g_timeout_add_seconds() is preferred over g_timeout_add().
+
+
+</description>
+<parameters>
+<parameter name="priority">
+<parameter_description> the priority of the timeout source. Typically this will be in
+the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH.
+</parameter_description>
+</parameter>
+<parameter name="interval">
+<parameter_description> the time between calls to the function, in seconds
+</parameter_description>
+</parameter>
+<parameter name="function">
+<parameter_description> function to call
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to pass to @function
+</parameter_description>
+</parameter>
+<parameter name="notify">
+<parameter_description> function to call when the timeout is removed, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> the ID (greater than 0) of the event source.
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_queue_insert_sorted">
<description>
Inserts @data into @queue using @func to determine the new position.
@@ -5057,7 +7244,7 @@ Since: 2.4
called with two elements of the @queue and @user_data. It should
return 0 if the elements are equal, a negative value if the first
element comes before the second, and a positive value if the second
-element comes after the first.
+element comes before the first.
</parameter_description>
</parameter>
<parameter name="user_data">
@@ -5068,15 +7255,34 @@ element comes after the first.
<return></return>
</function>
-<function name="g_get_user_config_dir">
+<function name="g_string_insert">
<description>
-Returns a base directory in which to store user-specific application
-configuration information such as user preferences and settings.
+Inserts a copy of a string into a #GString,
+expanding it if necessary.
+
-On UNIX platforms this is determined using the mechanisms described in
-the &amp;lt;ulink url=&quot;http://www.freedesktop.org/Standards/basedir-spec&quot;&amp;gt;
-XDG Base Directory Specification&amp;lt;/ulink&amp;gt;
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> a #GString
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> the position to insert the copy of the string
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> the string to insert
+</parameter_description>
+</parameter>
+</parameters>
+<return> @string
+</return>
+</function>
+<function name="g_get_user_config_dir">
+<description>
+Return value: a string owned by GLib that must not be modified
</description>
<parameters>
@@ -5151,9 +7357,7 @@ Since: 2.6
<function name="g_strv_length">
<description>
-Returns the length of the given %NULL-terminated
-string array @str_array.
-
+Return value: length of @str_array.
</description>
<parameters>
@@ -5170,8 +7374,7 @@ Since: 2.6
<function name="g_queue_link_index">
<description>
-Returns the position of @link_ in @queue.
-
+Return value: The position of @link_, or -1 if the link is
</description>
<parameters>
@@ -5191,20 +7394,21 @@ Since: 2.4
</return>
</function>
-<function name="g_main_context_get_poll_func">
+<function name="g_spawn_close_pid">
<description>
-Gets the poll function set by g_main_context_set_poll_func().
-
+On some platforms, notably WIN32, the #GPid type represents a resource
+which must be closed to prevent resource leaking. g_spawn_close_pid()
+is provided for this purpose. It should be used on all platforms, even
+though it doesn&apos;t do anything under UNIX.
</description>
<parameters>
-<parameter name="context">
-<parameter_description> a #GMainContext
+<parameter name="pid">
+<parameter_description> The process identifier to close
</parameter_description>
</parameter>
</parameters>
-<return> the poll function
-</return>
+<return></return>
</function>
<function name="g_iconv_open">
@@ -5267,13 +7471,40 @@ Since: 2.6
<return></return>
</function>
-<function name="g_io_channel_get_close_on_unref">
+<function name="g_bookmark_file_set_groups">
<description>
-Returns whether the file/socket/whatever associated with @channel
-will be closed when @channel receives its final unref and is
-destroyed. The default value of this is %TRUE for channels created
-by g_io_channel_new_file (), and %FALSE for all other channels.
+Sets a list of group names for the item with URI @uri. Each previously
+set group name list is removed.
+If @uri cannot be found then an item for it is created.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> an item&apos;s URI
+</parameter_description>
+</parameter>
+<parameter name="groups">
+<parameter_description> an array of group names, or %NULL to remove all groups
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> number of group name values in @groups
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_io_channel_get_close_on_unref">
+<description>
+Return value: Whether the channel will be closed on the final unref of
</description>
<parameters>
@@ -5289,10 +7520,7 @@ the GIOChannel data structure.
<function name="g_key_file_get_groups">
<description>
-Returns all groups in the key file loaded with @key_file. The
-array of returned groups will be %NULL-terminated, so @length may
-optionally be %NULL.
-
+Return value: a newly-allocated %NULL-terminated array of strings.
</description>
<parameters>
@@ -5331,7 +7559,8 @@ Increases the reference count on a source by one.
<description>
Converts a string which is in the encoding used by GLib for
filenames into a UTF-8 string. Note that on Windows GLib uses UTF-8
-for filenames.
+for filenames; on other platforms, this function indirectly depends on
+the &amp;lt;link linkend=&quot;setlocale&quot;&amp;gt;current locale&amp;lt;/link&amp;gt;.
</description>
@@ -5393,6 +7622,52 @@ of the string @needle.
</return>
</function>
+<function name="g_match_info_get_regex">
+<description>
+Returns: #GRegex object used in @match_info
+
+</description>
+<parameters>
+<parameter name="match_info">
+<parameter_description> a #GMatchInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> #GRegex object used in @match_info
+
+Since: 2.14
+</return>
+</function>
+
+<function name="g_sequence_foreach_range">
+<description>
+Calls @func for each item in the range (@begin, @end) passing
+@user_data to the function.
+
+Since: 2.14
+
+</description>
+<parameters>
+<parameter name="begin">
+<parameter_description> a #GSequenceIter
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> a #GSequenceIter
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> a #GFunc
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data passed to @func
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="g_main_context_wait">
<description>
Tries to become the owner of the specified context,
@@ -5422,58 +7697,74 @@ this thread is now the owner of @context.
</return>
</function>
-<function name="g_source_set_can_recurse">
+<function name="g_date_set_time_t">
<description>
-Sets whether a source can be called recursively. If @can_recurse is
-%TRUE, then while the source is being dispatched then this source
-will be processed normally. Otherwise, all processing of this
-source is blocked until the dispatch function returns.
+Sets the value of a date from a &amp;lt;type&amp;gt;time_t&amp;lt;/type&amp;gt; value.
+
+To set the value of a date to the current day, you could write:
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+g_date_set_time_t (date, time (NULL));
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+Since: 2.10
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a #GSource
+<parameter name="date">
+<parameter_description> a #GDate
</parameter_description>
</parameter>
-<parameter name="can_recurse">
-<parameter_description> whether recursion is allowed for this source
+<parameter name="timet">
+<parameter_description> &amp;lt;type&amp;gt;time_t&amp;lt;/type&amp;gt; value to set
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="g_io_channel_error_quark">
+<function name="g_key_file_set_comment">
<description>
+Places a comment above @key from @group_name.
+@group_name. If @key is %NULL then @comment will
+be written above @group_name. If both @key
+and @group_name are NULL, then @comment will
+be written above the first group in the file.
+
+Since: 2.6
</description>
<parameters>
+<parameter name="key_file">
+<parameter_description> a #GKeyFile
+</parameter_description>
+</parameter>
+<parameter name="group_name">
+<parameter_description> a group name, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+<parameter name="comment">
+<parameter_description> a comment
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError
+</parameter_description>
+</parameter>
</parameters>
-<return> The quark used as %G_IO_CHANNEL_ERROR
-</return>
+<return></return>
</function>
-<function name="g_printf">
+<function name="g_io_channel_error_quark">
<description>
-An implementation of the standard printf() function which supports
-positional parameters, as specified in the Single Unix Specification.
-
</description>
<parameters>
-<parameter name="format">
-<parameter_description> a standard printf() format string, but notice
-&amp;lt;link linkend=&quot;string-precision&quot;&amp;gt;string precision pitfalls&amp;lt;/link&amp;gt;.
-</parameter_description>
-</parameter>
-<parameter name="Varargs">
-<parameter_description> the arguments to insert in the output.
-</parameter_description>
-</parameter>
</parameters>
-<return> the number of characters printed.
-
-Since: 2.2
+<return> The quark used as %G_IO_CHANNEL_ERROR
</return>
</function>
@@ -5560,15 +7851,15 @@ to the string.
</description>
<parameters>
<parameter name="string">
-<parameter_description> a #GString.
+<parameter_description> a #GString
</parameter_description>
</parameter>
<parameter name="wc">
-<parameter_description> a Unicode character.
+<parameter_description> a Unicode character
</parameter_description>
</parameter>
</parameters>
-<return> @string.
+<return> @string
</return>
</function>
@@ -5600,11 +7891,51 @@ Since: 2.4
<return></return>
</function>
+<function name="g_regex_match_simple">
+<description>
+Scans for a match in @string for @pattern.
+
+This function is equivalent to g_regex_match() but it does not
+require to compile the pattern with g_regex_new(), avoiding some
+lines of code when you need just to do a match without extracting
+substrings, capture counts, and so on.
+
+If this function is to be called on the same @pattern more than
+once, it&apos;s more efficient to compile the pattern once with
+g_regex_new() and then use g_regex_match().
+
+
+</description>
+<parameters>
+<parameter name="pattern">
+<parameter_description> the regular expression
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> the string to scan for matches
+</parameter_description>
+</parameter>
+<parameter name="compile_options">
+<parameter_description> compile options for the regular expression
+</parameter_description>
+</parameter>
+<parameter name="match_options">
+<parameter_description> match options
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE is the string matched, %FALSE otherwise
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_locale_to_utf8">
<description>
Converts a string which is in the encoding used for strings by
the C runtime (usually the same as that used by the operating
-system) in the current locale into a UTF-8 string.
+system) in the &amp;lt;link linkend=&quot;setlocale&quot;&amp;gt;current locale&amp;lt;/link&amp;gt; into a
+UTF-8 string.
</description>
@@ -5647,13 +7978,7 @@ errors. Any of the errors in #GConvertError may occur.
<function name="g_key_file_get_string">
<description>
-Returns the value associated with @key under @group_name.
-
-In the event the key cannot be found, %NULL is returned and
-@error is set to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. In the
-event that the @group_name cannot be found, %NULL is returned
-and @error is set to #G_KEY_FILE_ERROR_GROUP_NOT_FOUND.
-
+Return value: a newly allocated string or %NULL if the specified
</description>
<parameters>
@@ -5700,6 +8025,80 @@ this source.
<return></return>
</function>
+<function name="g_regex_match_all_full">
+<description>
+Using the standard algorithm for regular expression matching only
+the longest match in the string is retrieved, it is not possibile
+to obtain all the available matches. For instance matching
+&quot;&amp;lt;a&amp;gt; &amp;lt;b&amp;gt; &amp;lt;c&amp;gt;&quot; against the pattern &quot;&amp;lt;.*&amp;gt;&quot;
+you get &quot;&amp;lt;a&amp;gt; &amp;lt;b&amp;gt; &amp;lt;c&amp;gt;&quot;.
+
+This function uses a different algorithm (called DFA, i.e. deterministic
+finite automaton), so it can retrieve all the possible matches, all
+starting at the same point in the string. For instance matching
+&quot;&amp;lt;a&amp;gt; &amp;lt;b&amp;gt; &amp;lt;c&amp;gt;&quot; against the pattern &quot;&amp;lt;.*&amp;gt;&quot;
+you would obtain three matches: &quot;&amp;lt;a&amp;gt; &amp;lt;b&amp;gt; &amp;lt;c&amp;gt;&quot;,
+&quot;&amp;lt;a&amp;gt; &amp;lt;b&amp;gt;&quot; and &quot;&amp;lt;a&amp;gt;&quot;.
+
+The number of matched strings is retrieved using
+g_match_info_get_match_count(). To obtain the matched strings and
+their position you can use, respectively, g_match_info_fetch() and
+g_match_info_fetch_pos(). Note that the strings are returned in
+reverse order of length; that is, the longest matching string is
+given first.
+
+Note that the DFA algorithm is slower than the standard one and it
+is not able to capture substrings, so backreferences do not work.
+
+Setting @start_position differs from just passing over a shortened
+string and setting #G_REGEX_MATCH_NOTBOL in the case of a pattern
+that begins with any kind of lookbehind assertion, such as &quot;\b&quot;.
+
+A #GMatchInfo structure, used to get information on the match, is
+stored in @match_info if not %NULL. Note that if @match_info is
+not %NULL then it is created even if the function returns %FALSE,
+i.e. you must free it regardless if regular expression actually
+matched.
+
+
+</description>
+<parameters>
+<parameter name="regex">
+<parameter_description> a #GRegex structure from g_regex_new()
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> the string to scan for matches
+</parameter_description>
+</parameter>
+<parameter name="string_len">
+<parameter_description> the length of @string, or -1 if @string is nul-terminated
+</parameter_description>
+</parameter>
+<parameter name="start_position">
+<parameter_description> starting index of the string to match
+</parameter_description>
+</parameter>
+<parameter name="match_options">
+<parameter_description> match options
+</parameter_description>
+</parameter>
+<parameter name="match_info">
+<parameter_description> pointer to location where to store the #GMatchInfo,
+or %NULL if you do not need it
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store the error occuring, or %NULL to ignore errors
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE is the string matched, %FALSE otherwise
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_get_real_name">
<description>
Gets the real name of the user. This usually comes from the user&apos;s entry
@@ -5731,99 +8130,122 @@ If called on a %NULL value, g_strfreev() simply returns.
<return></return>
</function>
-<function name="g_vfprintf">
+<function name="g_string_append_c">
<description>
-An implementation of the standard fprintf() function which supports
-positional parameters, as specified in the Single Unix Specification.
+Adds a byte onto the end of a #GString, expanding
+it if necessary.
</description>
<parameters>
-<parameter name="file">
-<parameter_description> the stream to write to.
-</parameter_description>
-</parameter>
-<parameter name="format">
-<parameter_description> a standard printf() format string, but notice
-&amp;lt;link linkend=&quot;string-precision&quot;&amp;gt;string precision pitfalls&amp;lt;/link&amp;gt;.
+<parameter name="string">
+<parameter_description> a #GString
</parameter_description>
</parameter>
-<parameter name="args">
-<parameter_description> the list of arguments to insert in the output.
+<parameter name="c">
+<parameter_description> the byte to append onto the end of @string
</parameter_description>
</parameter>
</parameters>
-<return> the number of characters printed.
-
-Since: 2.2
+<return> @string
</return>
</function>
-<function name="g_ascii_xdigit_value">
+<function name="g_key_file_set_value">
<description>
-Determines the numeric value of a character as a hexidecimal
-digit. Differs from g_unichar_xdigit_value() because it takes
-a char, so there&apos;s no worry about sign extension if characters
-are signed.
+Associates a new value with @key under @group_name. If @key
+cannot be found then it is created. If @group_name cannot be
+found then it is created.
+Since: 2.6
</description>
<parameters>
-<parameter name="c">
-<parameter_description> an ASCII character.
+<parameter name="key_file">
+<parameter_description> a #GKeyFile
+</parameter_description>
+</parameter>
+<parameter name="group_name">
+<parameter_description> a group name
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> a string
</parameter_description>
</parameter>
</parameters>
-<return> If @c is a hex digit (according to
-g_ascii_isxdigit()), its numeric value. Otherwise, -1.
-</return>
+<return></return>
</function>
-<function name="g_ascii_strtod">
+<function name="g_nullify_pointer">
<description>
-Converts a string to a #gdouble value.
-This function behaves like the standard strtod() function
-does in the C locale. It does this without actually
-changing the current locale, since that would not be
-thread-safe.
-
-This function is typically used when reading configuration
-files or other non-user input that should be locale independent.
-To handle input from the user you should normally use the
-locale-sensitive system strtod() function.
-
-To convert from a #gdouble to a string in a locale-insensitive
-way, use g_ascii_dtostr().
+Set the pointer at the specified location to %NULL.
-If the correct value would cause overflow, plus or minus %HUGE_VAL
-is returned (according to the sign of the value), and %ERANGE is
-stored in %errno. If the correct value would cause underflow,
-zero is returned and %ERANGE is stored in %errno.
+</description>
+<parameters>
+<parameter name="nullify_location">
+<parameter_description> the memory address of the pointer.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
-This function resets %errno before calling strtod() so that
-you can reliably detect overflow and underflow.
+<function name="g_key_file_set_integer_list">
+<description>
+Associates a list of integer values with @key under
+@group_name. If @key cannot be found then it is created.
+Since: 2.6
</description>
<parameters>
-<parameter name="nptr">
-<parameter_description> the string to convert to a numeric value.
+<parameter name="key_file">
+<parameter_description> a #GKeyFile
</parameter_description>
</parameter>
-<parameter name="endptr">
-<parameter_description> if non-%NULL, it returns the character after
-the last character used in the conversion.
+<parameter name="group_name">
+<parameter_description> a group name
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+<parameter name="list">
+<parameter_description> an array of integer values
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> number of integer values in @list
</parameter_description>
</parameter>
</parameters>
-<return> the #gdouble value.
+<return></return>
+</function>
+
+<function name="g_path_skip_root">
+<description>
+Returns: a pointer into @file_name after the root component.
+
+</description>
+<parameters>
+<parameter name="file_name">
+<parameter_description> a file name.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a pointer into @file_name after the root component.
</return>
</function>
<function name="g_utf8_strlen">
<description>
-Returns the length of the string in characters.
-
+Return value: the length of the string in characters
</description>
<parameters>
@@ -5894,6 +8316,27 @@ Dispatches all pending sources.
<return></return>
</function>
+<function name="g_sequence_swap">
+<description>
+Swaps the items pointed to by @a and @b. It is allowed for @a and @b
+to point into difference sequences.
+
+Since: 2.14
+
+</description>
+<parameters>
+<parameter name="a">
+<parameter_description> a #GSequenceIter
+</parameter_description>
+</parameter>
+<parameter name="b">
+<parameter_description> a #GSequenceIter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="g_path_get_basename">
<description>
Gets the last component of the filename. If @file_name ends with a
@@ -5935,6 +8378,46 @@ Since: 2.4
<return></return>
</function>
+<function name="g_async_queue_push_sorted_unlocked">
+<description>
+Inserts @data into @queue using @func to determine the new
+position.
+
+This function requires that the @queue is sorted before pushing on
+new elements.
+
+This function is called while holding the @queue&apos;s lock.
+
+For an example of @func see g_async_queue_sort().
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="queue">
+<parameter_description> a #GAsyncQueue
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> the @data to push into the @queue
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> the #GCompareDataFunc is used to sort @queue. This function
+is passed two elements of the @queue. The function should return
+0 if they are equal, a negative value if the first element
+should be higher in the @queue or a positive value if the first
+element should be lower in the @queue than the second element.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data passed to @func.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="g_option_context_set_help_enabled">
<description>
Enables or disables automatic generation of &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt;
@@ -5959,32 +8442,32 @@ Since: 2.6
<return></return>
</function>
-<function name="g_utf8_strrchr">
+<function name="g_string_sprintf">
<description>
-Find the rightmost occurrence of the given ISO10646 character
-in a UTF-8 encoded string, while limiting the search to @len bytes.
-If @len is -1, allow unbounded search.
+Writes a formatted string into a #GString.
+This is similar to the standard sprintf() function,
+except that the #GString buffer automatically expands
+to contain the results. The previous contents of the
+#GString are destroyed.
+Deprecated: This function has been renamed to g_string_printf().
</description>
<parameters>
-<parameter name="p">
-<parameter_description> a nul-terminated UTF-8 encoded string
+<parameter name="string">
+<parameter_description> a #GString
</parameter_description>
</parameter>
-<parameter name="len">
-<parameter_description> the maximum length of @p
+<parameter name="format">
+<parameter_description> the string format. See the sprintf() documentation
</parameter_description>
</parameter>
-<parameter name="c">
-<parameter_description> a ISO10646 character
+<parameter name="Varargs">
+<parameter_description> the parameters to insert into the format string
</parameter_description>
</parameter>
</parameters>
-<return> %NULL if the string does not contain the character,
-otherwise, a pointer to the start of the rightmost occurrence of the
-character in the string.
-</return>
+<return></return>
</function>
<function name="g_key_file_free">
@@ -6007,7 +8490,7 @@ Since: 2.6
<description>
Calls the given function for each node in the #GTree.
-Deprecated: The order of a balanced tree is somewhat arbitrary. If you
+Deprecated:2.2: The order of a balanced tree is somewhat arbitrary. If you
just want to visit all nodes in sorted order, use g_tree_foreach()
instead. If you really need to visit nodes in a different order, consider
using an &amp;lt;link linkend=&quot;glib-N-ary-Trees&quot;&amp;gt;N-ary Tree&amp;lt;/link&amp;gt;.
@@ -6036,11 +8519,35 @@ function returns %TRUE, the traversal is stopped.
<return></return>
</function>
-<function name="g_rand_int_range">
+<function name="g_string_overwrite">
<description>
-Returns the next random #gint32 from @rand_ equally distributed over
-the range [@begin..@end-1].
+Overwrites part of a string, lengthening it if necessary.
+
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> a #GString
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> the position at which to start overwriting
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> the string that will overwrite the @string starting at @pos
+</parameter_description>
+</parameter>
+</parameters>
+<return> @string
+Since: 2.14
+</return>
+</function>
+
+<function name="g_rand_int_range">
+<description>
+Return value: A random number.
</description>
<parameters>
@@ -6075,18 +8582,19 @@ used in the GLib API is always UTF-8 and said environment variables
have no effect.
&amp;lt;envar&amp;gt;G_FILENAME_ENCODING&amp;lt;/envar&amp;gt; may be set to a comma-separated list
-of character set names. The special token &quot;@locale&quot; is taken to mean the
-character set for the current locale. If &amp;lt;envar&amp;gt;G_FILENAME_ENCODING&amp;lt;/envar&amp;gt;
-is not set, but &amp;lt;envar&amp;gt;G_BROKEN_FILENAMES&amp;lt;/envar&amp;gt; is, the character set of
-the current locale is taken as the filename encoding. If neither environment
-variable is set, UTF-8 is taken as the filename encoding, but the character
+of character set names. The special token &quot;&amp;commat;locale&quot; is taken to
+mean the character set for the &amp;lt;link linkend=&quot;setlocale&quot;&amp;gt;current
+locale&amp;lt;/link&amp;gt;. If &amp;lt;envar&amp;gt;G_FILENAME_ENCODING&amp;lt;/envar&amp;gt; is not set, but
+&amp;lt;envar&amp;gt;G_BROKEN_FILENAMES&amp;lt;/envar&amp;gt; is, the character set of the current
+locale is taken as the filename encoding. If neither environment variable
+is set, UTF-8 is taken as the filename encoding, but the character
set of the current locale is also put in the list of encodings.
The returned @charsets belong to GLib and must not be freed.
Note that on Unix, regardless of the locale character set or
-&amp;lt;envar&amp;gt;G_FILENAME_ENCODING&amp;lt;/envar&amp;gt; value, the actual file names present on a
-system might be in any random encoding or just gibberish.
+&amp;lt;envar&amp;gt;G_FILENAME_ENCODING&amp;lt;/envar&amp;gt; value, the actual file names present
+on a system might be in any random encoding or just gibberish.
</description>
@@ -6102,6 +8610,25 @@ Since: 2.6
</return>
</function>
+<function name="g_regex_get_pattern">
+<description>
+Gets the pattern string associated with @regex, i.e. a copy of
+the string passed to g_regex_new().
+
+
+</description>
+<parameters>
+<parameter name="regex">
+<parameter_description> a #GRegex structure
+</parameter_description>
+</parameter>
+</parameters>
+<return> the pattern of @regex
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_source_get_current_time">
<description>
Gets the &quot;current time&quot; to be used when checking
@@ -6143,10 +8670,26 @@ function must be called while holding the @queue&apos;s lock.
<return></return>
</function>
-<function name="g_queue_peek_tail_link">
+<function name="g_regex_get_max_backref">
<description>
-Returns the last link @queue.
+Returns: the number of the highest back reference
+</description>
+<parameters>
+<parameter name="regex">
+<parameter_description> a #GRegex
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of the highest back reference
+
+Since: 2.14
+</return>
+</function>
+
+<function name="g_queue_peek_tail_link">
+<description>
+Return value: the last link in @queue, or %NULL if @queue is empty
</description>
<parameters>
@@ -6211,6 +8754,111 @@ of the separator are ignored.
</return>
</function>
+<function name="g_ascii_xdigit_value">
+<description>
+Determines the numeric value of a character as a hexidecimal
+digit. Differs from g_unichar_xdigit_value() because it takes
+a char, so there&apos;s no worry about sign extension if characters
+are signed.
+
+
+</description>
+<parameters>
+<parameter name="c">
+<parameter_description> an ASCII character.
+</parameter_description>
+</parameter>
+</parameters>
+<return> If @c is a hex digit (according to
+g_ascii_isxdigit()), its numeric value. Otherwise, -1.
+</return>
+</function>
+
+<function name="g_bookmark_file_get_description">
+<description>
+Retrieves the description of the bookmark for @uri.
+
+In the event the URI cannot be found, %NULL is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
+
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated string or %NULL if the specified
+URI cannot be found.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="g_sequence_free">
+<description>
+Frees the memory allocated for @seq. If @seq has a data destroy
+function associated with it, that function is called on all items in
+@seq.
+
+Since: 2.14
+
+</description>
+<parameters>
+<parameter name="seq">
+<parameter_description> a #GSequence
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_random_set_seed">
+<description>
+Sets the seed for the global random number generator, which is used
+by the &amp;lt;function&amp;gt;g_random_*&amp;lt;/function&amp;gt; functions, to @seed.
+
+</description>
+<parameters>
+<parameter name="seed">
+<parameter_description> a value to reinitialize the global random number generator.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_sequence_append">
+<description>
+Adds a new item to the end of @seq.
+
+
+</description>
+<parameters>
+<parameter name="seq">
+<parameter_description> a #GSequencePointer
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> the data for the new item
+</parameter_description>
+</parameter>
+</parameters>
+<return> an iterator pointing to the new item
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_source_set_priority">
<description>
Sets the priority of a source. While the main loop is being
@@ -6231,13 +8879,111 @@ at a higher (numerically smaller) priority are ready to be dispatched.
<return></return>
</function>
+<function name="g_regex_split_simple">
+<description>
+Breaks the string on the pattern, and returns an array of
+the tokens. If the pattern contains capturing parentheses,
+then the text for each of the substrings will also be returned.
+If the pattern does not match anywhere in the string, then the
+whole string is returned as the first token.
+
+This function is equivalent to g_regex_split() but it does
+not require to compile the pattern with g_regex_new(), avoiding
+some lines of code when you need just to do a split without
+extracting substrings, capture counts, and so on.
+
+If this function is to be called on the same @pattern more than
+once, it&apos;s more efficient to compile the pattern once with
+g_regex_new() and then use g_regex_split().
+
+As a special case, the result of splitting the empty string &quot;&quot;
+is an empty vector, not a vector containing a single string.
+The reason for this special case is that being able to represent
+a empty vector is typically more useful than consistent handling
+of empty elements. If you do need to represent empty elements,
+you&apos;ll need to check for the empty string before calling this
+function.
+
+A pattern that can match empty strings splits @string into
+separate characters wherever it matches the empty string between
+characters. For example splitting &quot;ab c&quot; using as a separator
+&quot;\s*&quot;, you will get &quot;a&quot;, &quot;b&quot; and &quot;c&quot;.
+
+
+</description>
+<parameters>
+<parameter name="pattern">
+<parameter_description> the regular expression
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> the string to scan for matches
+</parameter_description>
+</parameter>
+<parameter name="compile_options">
+<parameter_description> compile options for the regular expression
+</parameter_description>
+</parameter>
+<parameter name="match_options">
+<parameter_description> match options
+</parameter_description>
+</parameter>
+</parameters>
+<return> a %NULL-terminated gchar ** array. Free it using g_strfreev()
+
+Since: 2.14
+</return>
+</function>
+
+<function name="g_sequence_foreach">
+<description>
+Calls @func for each item in the sequence passing @user_data
+to the function.
+
+Since: 2.14
+
+</description>
+<parameters>
+<parameter name="seq">
+<parameter_description> a #GSequence
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> the function to call for each item in @seq
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data passed to @func
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_hash_table_steal_all">
+<description>
+Removes all keys and their associated values from a #GHashTable
+without calling the key and value destroy functions.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="hash_table">
+<parameter_description> a #GHashTable.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="g_file_open_tmp">
<description>
Opens a file for writing in the preferred directory for temporary
files (as returned by g_get_tmp_dir()).
-@tmpl should be a string in the GLib file name encoding ending with
-six &apos;X&apos; characters, as the parameter to g_mkstemp() (or mkstemp()).
+@tmpl should be a string in the GLib file name encoding containing
+a sequence of six &apos;X&apos; characters, as the parameter to g_mkstemp().
However, unlike these functions, the template should only be a
basename, no directory components are allowed. If template is
%NULL, a default template is used.
@@ -6253,7 +8999,8 @@ The returned name is in the GLib file name encoding.
</description>
<parameters>
<parameter name="tmpl">
-<parameter_description> Template for file name, as in g_mkstemp(), basename only
+<parameter_description> Template for file name, as in g_mkstemp(), basename only,
+or %NULL, to a default template
</parameter_description>
</parameter>
<parameter name="name_used">
@@ -6294,10 +9041,7 @@ polled for a particular context.
<function name="g_source_get_id">
<description>
-Returns the numeric ID for a particular source. The ID of a source
-is unique within a particular main loop context. The reverse
-mapping from ID to source is done by g_main_context_find_source_by_id().
-
+Return value: the ID (greater than 0) for the source
</description>
<parameters>
@@ -6306,17 +9050,13 @@ mapping from ID to source is done by g_main_context_find_source_by_id().
</parameter_description>
</parameter>
</parameters>
-<return> the ID for the source
+<return> the ID (greater than 0) for the source
</return>
</function>
<function name="g_mapped_file_get_contents">
<description>
-Returns the contents of a #GMappedFile.
-
-Note that the contents may not be zero-terminated,
-even if the #GMappedFile is backed by a text file.
-
+Returns: the contents of @file.
</description>
<parameters>
@@ -6355,7 +9095,7 @@ parameter, when using pointers as keys in a #GHashTable.
<function name="g_hash_table_new">
<description>
-Creates a new #GHashTable.
+Creates a new #GHashTable with a reference count of 1.
</description>
@@ -6398,66 +9138,91 @@ Gets the number of nodes in a #GTree.
</return>
</function>
-<function name="g_win32_getlocale">
+<function name="g_bookmark_file_load_from_data">
<description>
-The setlocale() function in the Microsoft C library uses locale
-names of the form &quot;English_United States.1252&quot; etc. We want the
-UNIXish standard form &quot;en_US&quot;, &quot;zh_TW&quot; etc. This function gets the
-current thread locale from Windows - without any encoding info -
-and returns it as a string of the above form for use in forming
-file names etc. The returned string should be deallocated with
-g_free().
+Loads a bookmark file from memory into an empty #GBookmarkFile
+structure. If the object cannot be created then @error is set to a
+#GBookmarkFileError.
</description>
<parameters>
+<parameter name="bookmark">
+<parameter_description> an empty #GBookmarkFile struct
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> desktop bookmarks loaded in memory
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the length of @data in bytes
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
</parameters>
-<return> newly-allocated locale name.
+<return> %TRUE if a desktop bookmark could be loaded.
+
+Since: 2.12
</return>
</function>
-<function name="g_tree_new_with_data">
+<function name="g_option_context_set_translation_domain">
<description>
-Creates a new #GTree with a comparison function that accepts user data.
-See g_tree_new() for more details.
+A convenience function to use gettext() for translating
+user-visible strings.
+Since: 2.12
</description>
<parameters>
-<parameter name="key_compare_func">
-<parameter_description> qsort()-style comparison function.
+<parameter name="context">
+<parameter_description> a #GOptionContext
</parameter_description>
</parameter>
-<parameter name="key_compare_data">
-<parameter_description> data to pass to comparison function.
+<parameter name="domain">
+<parameter_description> the domain to use
</parameter_description>
</parameter>
</parameters>
-<return> a new #GTree.
-</return>
+<return></return>
</function>
-<function name="g_getenv">
+<function name="g_win32_getlocale">
<description>
-Returns the value of an environment variable. The name and value
-are in the GLib file name encoding. On UNIX, this means the actual
-bytes which might or might not be in some consistent character set
-and encoding. On Windows, it is in UTF-8. On Windows, in case the
-environment variable&apos;s value contains references to other
-environment variables, they are expanded.
+The setlocale() function in the Microsoft C library uses locale
+names of the form &quot;English_United States.1252&quot; etc. We want the
+UNIXish standard form &quot;en_US&quot;, &quot;zh_TW&quot; etc. This function gets the
+current thread locale from Windows - without any encoding info -
+and returns it as a string of the above form for use in forming
+file names etc. The returned string should be deallocated with
+g_free().
</description>
<parameters>
-<parameter name="variable">
-<parameter_description> the environment variable to get, in the GLib file name encoding.
+</parameters>
+<return> newly-allocated locale name.
+</return>
+</function>
+
+<function name="g_sequence_iter_get_sequence">
+<description>
+Return value: the #GSequence that @iter points into.
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GSequenceIter
</parameter_description>
</parameter>
</parameters>
-<return> the value of the environment variable, or %NULL if
-the environment variable is not found. The returned string may be
-overwritten by the next call to g_getenv(), g_setenv() or
-g_unsetenv().
+<return> the #GSequence that @iter points into.
+
+Since: 2.14
</return>
</function>
@@ -6478,27 +9243,31 @@ Since: 2.2
</return>
</function>
-<function name="g_mkdir_with_parents">
+<function name="g_rename">
<description>
-Create a directory if it doesn&apos;t already exist. Create intermediate
-parent directories as needed, too.
+A wrapper for the POSIX rename() function. The rename() function
+renames a file, moving it between directories if required.
+
+See your C library manual for more details about how rename() works
+on your system. Note in particular that on Win9x it is not possible
+to rename a file if a file with the new name already exists. Also
+it is not possible in general on Windows to rename an open file.
</description>
<parameters>
-<parameter name="pathname">
-<parameter_description> a pathname in the GLib file name encoding
+<parameter name="oldfilename">
+<parameter_description> a pathname in the GLib file name encoding (UTF-8 on Windows)
</parameter_description>
</parameter>
-<parameter name="mode">
-<parameter_description> permissions to use for newly created directories
+<parameter name="newfilename">
+<parameter_description> a pathname in the GLib file name encoding
</parameter_description>
</parameter>
</parameters>
-<return> 0 if the directory already exists, or was successfully
-created. Returns -1 if an error occurred, with errno set.
+<return> 0 if the renaming succeeded, -1 if an error occurred
-Since: 2.8
+Since: 2.6
</return>
</function>
@@ -6630,6 +9399,43 @@ g_unichar_isdigit()), its numeric value. Otherwise, -1.
</return>
</function>
+<function name="g_bookmark_file_remove_application">
+<description>
+Removes application registered with @name from the list of applications
+that have registered a bookmark for @uri inside @bookmark.
+
+In the event the URI cannot be found, %FALSE is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
+In the event that no application with name @app_name has registered
+a bookmark for @uri, %FALSE is returned and error is set to
+#G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED.
+
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> the name of the application
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the application was successfully removed.
+
+Since: 2.12
+</return>
+</function>
+
<function name="g_ptr_array_foreach">
<description>
Calls a function for each element of a #GPtrArray.
@@ -6654,6 +9460,30 @@ Since: 2.4
<return></return>
</function>
+<function name="g_string_assign">
+<description>
+Copies the bytes from a string into a #GString,
+destroying any previous contents. It is rather like
+the standard strcpy() function, except that you do not
+have to worry about having enough space to copy the string.
+
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> the destination #GString. Its current contents
+are destroyed.
+</parameter_description>
+</parameter>
+<parameter name="rval">
+<parameter_description> the string to copy into @string
+</parameter_description>
+</parameter>
+</parameters>
+<return> @string
+</return>
+</function>
+
<function name="g_option_context_set_main_group">
<description>
Sets a #GOptionGroup as main group of the @context.
@@ -6716,8 +9546,7 @@ codes are those in the #GFileError enumeration. In the error case,
<function name="g_thread_pool_get_num_unused_threads">
<description>
-Returns the number of currently unused threads.
-
+Return value: the number of currently unused threads
</description>
<parameters>
@@ -6726,22 +9555,24 @@ Returns the number of currently unused threads.
</return>
</function>
-<function name="g_async_queue_push">
+<function name="g_string_truncate">
<description>
-Pushes the @data into the @queue. @data must not be %NULL.
+Cuts off the end of the GString, leaving the first @len bytes.
+
</description>
<parameters>
-<parameter name="queue">
-<parameter_description> a #GAsyncQueue.
+<parameter name="string">
+<parameter_description> a #GString
</parameter_description>
</parameter>
-<parameter name="data">
-<parameter_description> @data to push into the @queue.
+<parameter name="len">
+<parameter_description> the new size of @string
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> @string
+</return>
</function>
<function name="g_key_file_set_string">
@@ -6776,15 +9607,7 @@ Since: 2.6
<function name="g_key_file_get_boolean_list">
<description>
-Returns the values associated with @key under @group_name as
-booleans. If @group_name is %NULL, the start_group is used.
-
-If @key cannot be found then the return value is undefined and
-@error is set to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if
-the values associated with @key cannot be interpreted as booleans
-then the return value is also undefined and @error is set to
-#G_KEY_FILE_ERROR_INVALID_VALUE.
-
+Return value: the values associated with the key as a list of
</description>
<parameters>
@@ -6809,7 +9632,8 @@ then the return value is also undefined and @error is set to
</parameter_description>
</parameter>
</parameters>
-<return> the values associated with the key as a boolean
+<return> the values associated with the key as a list of
+booleans, or %NULL if the key was not found or could not be parsed.
Since: 2.6
</return>
@@ -6842,21 +9666,97 @@ Since: 2.6
</return>
</function>
-<function name="g_unichar_iscntrl">
+<function name="g_error_copy">
<description>
-Determines whether a character is a control character.
-Given some UTF-8 text, obtain a character value with
-g_utf8_get_char().
+Makes a copy of @error.
</description>
<parameters>
-<parameter name="c">
-<parameter_description> a Unicode character
+<parameter name="error">
+<parameter_description> a #GError
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if @c is a control character
+<return> a new #GError
+</return>
+</function>
+
+<function name="g_match_info_fetch_named_pos">
+<description>
+Retrieves the position of the capturing parentheses named @name.
+
+If @name is a valid sub pattern name but it didn&apos;t match anything
+(e.g. sub pattern &quot;X&quot;, matching &quot;b&quot; against &quot;(?P&amp;lt;X&amp;gt;a)?b&quot;)
+then @start_pos and @end_pos are set to -1 and %TRUE is returned.
+
+
+</description>
+<parameters>
+<parameter name="match_info">
+<parameter_description> #GMatchInfo structure
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> name of the subexpression
+</parameter_description>
+</parameter>
+<parameter name="start_pos">
+<parameter_description> pointer to location where to store the start position
+</parameter_description>
+</parameter>
+<parameter name="end_pos">
+<parameter_description> pointer to location where to store the end position
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the position was fetched, %FALSE otherwise. If
+the position cannot be fetched, @start_pos and @end_pos are left
+unchanged
+
+Since: 2.14
+</return>
+</function>
+
+<function name="g_regex_split">
+<description>
+Breaks the string on the pattern, and returns an array of the tokens.
+If the pattern contains capturing parentheses, then the text for each
+of the substrings will also be returned. If the pattern does not match
+anywhere in the string, then the whole string is returned as the first
+token.
+
+As a special case, the result of splitting the empty string &quot;&quot; is an
+empty vector, not a vector containing a single string. The reason for
+this special case is that being able to represent a empty vector is
+typically more useful than consistent handling of empty elements. If
+you do need to represent empty elements, you&apos;ll need to check for the
+empty string before calling this function.
+
+A pattern that can match empty strings splits @string into separate
+characters wherever it matches the empty string between characters.
+For example splitting &quot;ab c&quot; using as a separator &quot;\s*&quot;, you will get
+&quot;a&quot;, &quot;b&quot; and &quot;c&quot;.
+
+
+</description>
+<parameters>
+<parameter name="regex">
+<parameter_description> a #GRegex structure
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> the string to split with the pattern
+</parameter_description>
+</parameter>
+<parameter name="match_options">
+<parameter_description> match time option flags
+</parameter_description>
+</parameter>
+</parameters>
+<return> a %NULL-terminated gchar ** array. Free it using g_strfreev()
+
+Since: 2.14
</return>
</function>
@@ -6923,28 +9823,50 @@ Reads data from a #GIOChannel.
</parameters>
<return> %G_IO_ERROR_NONE if the operation was successful.
-Deprecated: Use g_io_channel_read_chars() instead.
+Deprecated:2.2: Use g_io_channel_read_chars() instead.
</return>
</function>
-<function name="g_utf8_pointer_to_offset">
+<function name="g_ucs4_to_utf8">
<description>
-Converts from a pointer to position within a string to a integer
-character offset.
+Convert a string from a 32-bit fixed width representation as UCS-4.
+to UTF-8. The result will be terminated with a 0 byte.
</description>
<parameters>
<parameter name="str">
-<parameter_description> a UTF-8 encoded string
+<parameter_description> a UCS-4 encoded string
</parameter_description>
</parameter>
-<parameter name="pos">
-<parameter_description> a pointer to a position within @str
+<parameter name="len">
+<parameter_description> the maximum length (number of characters) of @str to use.
+If @len &amp;lt; 0, then the string is terminated with a 0 character.
+</parameter_description>
+</parameter>
+<parameter name="items_read">
+<parameter_description> location to store number of characters read, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="items_written">
+<parameter_description> location to store number of bytes written or %NULL.
+The value here stored does not include the trailing 0
+byte.
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store the error occuring, or %NULL to ignore
+errors. Any of the errors in #GConvertError other than
+%G_CONVERT_ERROR_NO_CONVERSION may occur.
</parameter_description>
</parameter>
</parameters>
-<return> the resulting character offset
+<return> a pointer to a newly allocated UTF-8 string.
+This value must be freed with g_free(). If an
+error occurs, %NULL will be returned and
+@error set. In that case, @items_read will be
+set to the position of the first invalid input
+character.
</return>
</function>
@@ -7001,32 +9923,65 @@ to the type of source you are using.
<return></return>
</function>
-<function name="g_source_remove">
+<function name="g_sequence_sort_iter">
<description>
-Removes the source with the given id from the default main context. The id of
-a #GSource is given by g_source_get_id(), or will be returned by the
-functions g_source_attach(), g_idle_add(), g_idle_add_full(),
-g_timeout_add(), g_timeout_add_full(), g_child_watch_add(),
-g_child_watch_add_full(), g_io_add_watch(), and g_io_add_watch_full().
+Like g_sequence_sort(), but uses a #GSequenceIterCompareFunc instead
+of a GCompareDataFunc as the compare function
-See also g_source_destroy().
+Since: 2.14
+
+</description>
+<parameters>
+<parameter name="seq">
+<parameter_description> a #GSequence
+</parameter_description>
+</parameter>
+<parameter name="cmp_func">
+<parameter_description> the #GSequenceItercompare used to compare iterators in the
+sequence. It is called with two iterators pointing into @seq. It should
+return 0 if the iterators are equal, a negative value if the first
+iterator comes before the second, and a positive value if the second
+iterator comes before the first.
+</parameter_description>
+</parameter>
+<parameter name="cmp_data">
+<parameter_description> user data passed to @cmp_func
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_bookmark_file_to_data">
+<description>
+This function outputs @bookmark as a string.
</description>
<parameters>
-<parameter name="tag">
-<parameter_description> the id of the source to remove.
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> return location for the length of the returned string, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the source was found and removed.
+<return> a newly allocated string holding
+the contents of the #GBookmarkFile
+
+Since: 2.12
</return>
</function>
<function name="g_main_loop_get_context">
<description>
-Returns the #GMainContext of @loop.
-
+Return value: the #GMainContext of @loop
</description>
<parameters>
@@ -7080,36 +10035,21 @@ converted to uppercase.
</return>
</function>
-<function name="g_key_file_set_comment">
+<function name="g_source_set_can_recurse">
<description>
-Places a comment above @key from @group_name.
-@group_name. If @key is %NULL then @comment will
-be written above @group_name. If both @key
-and @group_name are NULL, then @comment will
-be written above the first group in the file.
-
-Since: 2.6
+Sets whether a source can be called recursively. If @can_recurse is
+%TRUE, then while the source is being dispatched then this source
+will be processed normally. Otherwise, all processing of this
+source is blocked until the dispatch function returns.
</description>
<parameters>
-<parameter name="key_file">
-<parameter_description> a #GKeyFile
-</parameter_description>
-</parameter>
-<parameter name="group_name">
-<parameter_description> a group name, or %NULL
-</parameter_description>
-</parameter>
-<parameter name="key">
-<parameter_description> a key
-</parameter_description>
-</parameter>
-<parameter name="comment">
-<parameter_description> a comment
+<parameter name="source">
+<parameter_description> a #GSource
</parameter_description>
</parameter>
-<parameter name="error">
-<parameter_description> return location for a #GError
+<parameter name="can_recurse">
+<parameter_description> whether recursion is allowed for this source
</parameter_description>
</parameter>
</parameters>
@@ -7147,32 +10087,27 @@ g_io_channel_set_encoding () for details.
</return>
</function>
-<function name="g_io_channel_new_file">
+<function name="g_printf">
<description>
-Open a file @filename as a #GIOChannel using mode @mode. This
-channel will be closed when the last reference to it is dropped,
-so there is no need to call g_io_channel_close() (though doing
-so will not cause problems, as long as no attempt is made to
-access the channel after it is closed).
+An implementation of the standard printf() function which supports
+positional parameters, as specified in the Single Unix Specification.
</description>
<parameters>
-<parameter name="filename">
-<parameter_description> A string containing the name of a file.
-</parameter_description>
-</parameter>
-<parameter name="mode">
-<parameter_description> One of &quot;r&quot;, &quot;w&quot;, &quot;a&quot;, &quot;r+&quot;, &quot;w+&quot;, &quot;a+&quot;. These have
-the same meaning as in fopen().
+<parameter name="format">
+<parameter_description> a standard printf() format string, but notice
+&amp;lt;link linkend=&quot;string-precision&quot;&amp;gt;string precision pitfalls&amp;lt;/link&amp;gt;.
</parameter_description>
</parameter>
-<parameter name="error">
-<parameter_description> A location to return an error of type %G_FILE_ERROR.
+<parameter name="Varargs">
+<parameter_description> the arguments to insert in the output.
</parameter_description>
</parameter>
</parameters>
-<return> A #GIOChannel on success, %NULL on failure.
+<return> the number of characters printed.
+
+Since: 2.2
</return>
</function>
@@ -7202,6 +10137,23 @@ Since: 2.4
<return></return>
</function>
+<function name="g_queue_clear">
+<description>
+Removes all the elements in @queue. If queue elements contain
+dynamically-allocated memory, they should be freed first.
+
+Since: 2.14
+
+</description>
+<parameters>
+<parameter name="queue">
+<parameter_description> a #GQueue
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="g_setenv">
<description>
Sets an environment variable. Both the variable&apos;s name and value
@@ -7234,6 +10186,57 @@ Since: 2.4
</return>
</function>
+<function name="g_regex_replace_eval">
+<description>
+Replaces occurances of the pattern in regex with the output of
+@eval for that occurance.
+
+Setting @start_position differs from just passing over a shortened
+string and setting #G_REGEX_MATCH_NOTBOL in the case of a pattern
+that begins with any kind of lookbehind assertion, such as &quot;\b&quot;.
+
+
+</description>
+<parameters>
+<parameter name="regex">
+<parameter_description> a #GRegex structure from g_regex_new()
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> string to perform matches against
+</parameter_description>
+</parameter>
+<parameter name="string_len">
+<parameter_description> the length of @string, or -1 if @string is nul-terminated
+</parameter_description>
+</parameter>
+<parameter name="start_position">
+<parameter_description> starting index of the string to match
+</parameter_description>
+</parameter>
+<parameter name="match_options">
+<parameter_description> options for the match
+</parameter_description>
+</parameter>
+<parameter name="eval">
+<parameter_description> a function to call for each match
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data to pass to the function
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store the error occuring, or %NULL to ignore errors
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated string containing the replacements
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_hash_table_lookup_extended">
<description>
Looks up a key in the #GHashTable, returning the original key and the
@@ -7265,10 +10268,44 @@ for example before calling g_hash_table_remove().
</return>
</function>
+<function name="g_bookmark_file_get_mime_type">
+<description>
+Retrieves the MIME type of the resource pointed by @uri.
+
+In the event the URI cannot be found, %NULL is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the
+event that the MIME type cannot be found, %NULL is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_INVALID_VALUE.
+
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated string or %NULL if the specified
+URI cannot be found.
+
+Since: 2.12
+</return>
+</function>
+
<function name="g_datalist_unset_flags">
<description>
Turns off flag values for a data list. See g_datalist_unset_flags()
+Since: 2.8
+
</description>
<parameters>
<parameter name="datalist">
@@ -7299,6 +10336,9 @@ insignificant, thus producing the ordering &quot;event.c&quot; &quot;eventgenera
would like to treat numbers intelligently so that &quot;file1&quot; &quot;file10&quot; &quot;file5&quot;
is sorted as &quot;file1&quot; &quot;file5&quot; &quot;file10&quot;.
+Note that this function depends on the
+&amp;lt;link linkend=&quot;setlocale&quot;&amp;gt;current locale&amp;lt;/link&amp;gt;.
+
</description>
<parameters>
@@ -7384,6 +10424,68 @@ g_free(). Otherwise %NULL and @error will be set.
</return>
</function>
+<function name="g_sequence_move_range">
+<description>
+Inserts the (@begin, @end) range at the destination pointed to by ptr.
+The @begin and @end iters must point into the same sequence. It is
+allowed for @dest to point to a different sequence than the one pointed
+into by @begin and @end.
+
+If @dest is NULL, the range indicated by @begin and @end is
+removed from the sequence. If @dest iter points to a place within
+the (@begin, @end) range, the range does not move.
+
+Since: 2.14
+
+</description>
+<parameters>
+<parameter name="dest">
+<parameter_description> a #GSequenceIter
+</parameter_description>
+</parameter>
+<parameter name="begin">
+<parameter_description> a #GSequenceIter
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> a #GSequenceIter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_bookmark_file_set_modified">
+<description>
+Sets the last time the bookmark for @uri was last modified.
+
+If no bookmark for @uri is found then it is created.
+
+The &quot;modified&quot; time should only be set when the bookmark&apos;s meta-data
+was actually changed. Every function of #GBookmarkFile that
+modifies a bookmark also changes the modification time, except for
+g_bookmark_file_set_visited().
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="modified">
+<parameter_description> a timestamp or -1 to use the current time
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="g_strrstr_len">
<description>
Searches the string @haystack for the last occurrence
@@ -7411,6 +10513,24 @@ to @haystack_len.
</return>
</function>
+<function name="g_getenv">
+<description>
+Return value: the value of the environment variable, or %NULL if
+
+</description>
+<parameters>
+<parameter name="variable">
+<parameter_description> the environment variable to get, in the GLib file name encoding.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the value of the environment variable, or %NULL if
+the environment variable is not found. The returned string may be
+overwritten by the next call to g_getenv(), g_setenv() or
+g_unsetenv().
+</return>
+</function>
+
<function name="g_main_context_release">
<description>
Releases ownership of a context previously acquired by this thread
@@ -7442,14 +10562,13 @@ Converts all upper case ASCII letters to lower case ASCII letters.
</parameters>
<return> passed-in @string pointer, with all the upper case
characters converted to lower case in place, with
-semantics that exactly match g_ascii_tolower.
+semantics that exactly match g_ascii_tolower().
</return>
</function>
<function name="g_queue_peek_nth">
<description>
-Returns the @n&apos;th element of @queue.
-
+Return value: The data for the @n&apos;th element of @queue, or %NULL if @n is
</description>
<parameters>
@@ -7469,6 +10588,44 @@ Since: 2.4
</return>
</function>
+<function name="g_bookmark_file_get_icon">
+<description>
+Gets the icon of the bookmark for @uri.
+
+In the event the URI cannot be found, %FALSE is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
+
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="href">
+<parameter_description> return location for the icon&apos;s location or %NULL
+</parameter_description>
+</parameter>
+<parameter name="mime_type">
+<parameter_description> return location for the icon&apos;s MIME type or %NULL
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the icon for the bookmark for the URI was found.
+You should free the returned strings.
+
+Since: 2.12
+</return>
+</function>
+
<function name="g_io_channel_flush">
<description>
Flushes the write buffer for the GIOChannel.
@@ -7513,28 +10670,96 @@ Since: 2.2
</return>
</function>
-<function name="g_queue_delete_link">
+<function name="g_bookmark_file_set_mime_type">
<description>
-Removes @link_ from @queue and frees it.
+Sets @mime_type as the MIME type of the bookmark for @uri.
-@link_ must be part of @queue.
+If a bookmark for @uri cannot be found then it is created.
-Since: 2.4
+Since: 2.12
</description>
<parameters>
-<parameter name="queue">
-<parameter_description> a #GQueue
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
</parameter_description>
</parameter>
-<parameter name="link_">
-<parameter_description> a #GList link that &amp;lt;emphasis&amp;gt;must&amp;lt;/emphasis&amp;gt; be part of @queue
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="mime_type">
+<parameter_description> a MIME type
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
+<function name="g_regex_match">
+<description>
+Scans for a match in string for the pattern in @regex.
+The @match_options are combined with the match options specified
+when the @regex structure was created, letting you have more
+flexibility in reusing #GRegex structures.
+
+A #GMatchInfo structure, used to get information on the match,
+is stored in @match_info if not %NULL. Note that if @match_info
+is not %NULL then it is created even if the function returns %FALSE,
+i.e. you must free it regardless if regular expression actually matched.
+
+To retrieve all the non-overlapping matches of the pattern in
+string you can use g_match_info_next().
+
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+static void
+print_uppercase_words (const gchar *string)
+{
+/&amp;ast; Print all uppercase-only words. &amp;ast;/
+GRegex *regex;
+GMatchInfo *match_info;
+&amp;nbsp;
+regex = g_regex_new (&quot;[A-Z]+&quot;, 0, 0, NULL);
+g_regex_match (regex, string, 0, &amp;amp;match_info);
+while (g_match_info_matches (match_info))
+{
+gchar *word = g_match_info_fetch (match_info, 0);
+g_print (&quot;Found: %s\n&quot;, word);
+g_free (word);
+g_match_info_next (match_info, NULL);
+}
+g_match_info_free (match_info);
+g_regex_unref (regex);
+}
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+
+</description>
+<parameters>
+<parameter name="regex">
+<parameter_description> a #GRegex structure from g_regex_new()
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> the string to scan for matches
+</parameter_description>
+</parameter>
+<parameter name="match_options">
+<parameter_description> match options
+</parameter_description>
+</parameter>
+<parameter name="match_info">
+<parameter_description> pointer to location where to store the #GMatchInfo,
+or %NULL if you do not need it
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE is the string matched, %FALSE otherwise
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_rand_set_seed">
<description>
Sets the seed for the random number generator #GRand to @seed.
@@ -7585,6 +10810,27 @@ Since: 2.6
<return></return>
</function>
+<function name="g_unichar_istitle">
+<description>
+Determines if a character is titlecase. Some characters in
+Unicode which are composites, such as the DZ digraph
+have three case variants instead of just two. The titlecase
+form is used at the beginning of a word where only the
+first letter is capitalized. The titlecase form of the DZ
+digraph is U+01F2 LATIN CAPITAL LETTTER D WITH SMALL LETTER Z.
+
+
+</description>
+<parameters>
+<parameter name="c">
+<parameter_description> a Unicode character
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the character is titlecase
+</return>
+</function>
+
<function name="g_main_loop_ref">
<description>
Increases the reference count on a #GMainLoop object by one.
@@ -7603,12 +10849,7 @@ Increases the reference count on a #GMainLoop object by one.
<function name="g_key_file_get_keys">
<description>
-Returns all keys for the group name @group_name. The array of
-returned keys will be %NULL-terminated, so @length may
-optionally be %NULL. In the event that the @group_name cannot
-be found, %NULL is returned and @error is set to
-#G_KEY_FILE_ERROR_GROUP_NOT_FOUND.
-
+Return value: a newly-allocated %NULL-terminated array of
</description>
<parameters>
@@ -7636,6 +10877,41 @@ Since: 2.6
</return>
</function>
+<function name="g_bookmark_file_move_item">
+<description>
+Changes the URI of a bookmark item from @old_uri to @new_uri. Any
+existing bookmark for @new_uri will be overwritten. If @new_uri is
+%NULL, then the bookmark is removed.
+
+In the event the URI cannot be found, %FALSE is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
+
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="old_uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="new_uri">
+<parameter_description> a valid URI, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the URI was successfully changed
+
+Since: 2.12
+</return>
+</function>
+
<function name="g_open">
<description>
A wrapper for the POSIX open() function. The open() function is
@@ -7670,6 +10946,32 @@ Since: 2.6
</return>
</function>
+<function name="g_unichar_ismark">
+<description>
+Determines whether a character is a mark (non-spacing mark,
+combining mark, or enclosing mark in Unicode speak).
+Given some UTF-8 text, obtain a character value
+with g_utf8_get_char().
+
+Note: in most cases where isalpha characters are allowed,
+ismark characters should be allowed to as they are essential
+for writing most European languages as well as many non-Latin
+scripts.
+
+
+</description>
+<parameters>
+<parameter name="c">
+<parameter_description> a Unicode character
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @c is a mark character
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_mem_is_system_malloc">
<description>
Checks whether the allocator used by g_malloc() is the system&apos;s
@@ -7688,6 +10990,60 @@ A different allocator can be set using g_mem_set_vtable().
</return>
</function>
+<function name="g_bookmark_file_get_app_info">
+<description>
+Gets the registration informations of @app_name for the bookmark for
+@uri. See g_bookmark_file_set_app_info() for more informations about
+the returned data.
+
+The string returned in @app_exec must be freed.
+
+In the event the URI cannot be found, %FALSE is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the
+event that no application with name @app_name has registered a bookmark
+for @uri, %FALSE is returned and error is set to
+#G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. In the event that unquoting
+the command line fails, an error of the #G_SHELL_ERROR domain is
+set and %FALSE is returned.
+
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> an application&apos;s name
+</parameter_description>
+</parameter>
+<parameter name="exec">
+<parameter_description> location for the command line of the application, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> return location for the registration count, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="stamp">
+<parameter_description> return location for the last registration time, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE on success.
+
+Since: 2.12
+</return>
+</function>
+
<function name="g_str_has_prefix">
<description>
Looks whether the string @str begins with @prefix.
@@ -7710,10 +11066,54 @@ Since: 2.2
</return>
</function>
+<function name="g_match_info_fetch_pos">
+<description>
+Retrieves the position of the @match_num&amp;lt;!-- --&amp;gt;&apos;th capturing
+parentheses. 0 is the full text of the match, 1 is the first
+paren set, 2 the second, and so on.
+
+If @match_num is a valid sub pattern but it didn&apos;t match anything
+(e.g. sub pattern 1, matching &quot;b&quot; against &quot;(a)?b&quot;) then @start_pos
+and @end_pos are set to -1 and %TRUE is returned.
+
+If the match was obtained using the DFA algorithm, that is using
+g_regex_match_all() or g_regex_match_all_full(), the retrieved
+position is not that of a set of parentheses but that of a matched
+substring. Substrings are matched in reverse order of length, so
+0 is the longest match.
+
+
+</description>
+<parameters>
+<parameter name="match_info">
+<parameter_description> #GMatchInfo structure
+</parameter_description>
+</parameter>
+<parameter name="match_num">
+<parameter_description> number of the sub expression
+</parameter_description>
+</parameter>
+<parameter name="start_pos">
+<parameter_description> pointer to location where to store the start position
+</parameter_description>
+</parameter>
+<parameter name="end_pos">
+<parameter_description> pointer to location where to store the end position
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the position was fetched, %FALSE otherwise. If
+the position cannot be fetched, @start_pos and @end_pos are left
+unchanged
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_parse_debug_string">
<description>
-Parses a string containing debugging options separated
-by &apos;:&apos; into a %guint containing bit flags. This is used
+Parses a string containing debugging options
+into a %guint containing bit flags. This is used
within GDK and GTK+ to parse the debug options passed on the
command line or through environment variables.
@@ -7721,8 +11121,8 @@ command line or through environment variables.
</description>
<parameters>
<parameter name="string">
-<parameter_description> a list of debug options separated by &apos;:&apos; or &quot;all&quot;
-to set all flags.
+<parameter_description> a list of debug options separated by colons, spaces, or
+commas; or the string &quot;all&quot; to set all flags.
</parameter_description>
</parameter>
<parameter name="keys">
@@ -7795,21 +11195,53 @@ is empty.
</return>
</function>
-<function name="g_unichar_islower">
+<function name="g_utf16_to_utf8">
<description>
-Determines whether a character is a lowercase letter.
-Given some UTF-8 text, obtain a character value with
-g_utf8_get_char().
+Convert a string from UTF-16 to UTF-8. The result will be
+terminated with a 0 byte.
+
+Note that the input is expected to be already in native endianness,
+an initial byte-order-mark character is not handled specially.
+g_convert() can be used to convert a byte buffer of UTF-16 data of
+ambiguous endianess.
</description>
<parameters>
-<parameter name="c">
-<parameter_description> a Unicode character
+<parameter name="str">
+<parameter_description> a UTF-16 encoded string
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> the maximum length (number of &amp;lt;type&amp;gt;gunichar2&amp;lt;/type&amp;gt;) of @str to use.
+If @len &amp;lt; 0, then the string is terminated with a 0 character.
+</parameter_description>
+</parameter>
+<parameter name="items_read">
+<parameter_description> location to store number of words read, or %NULL.
+If %NULL, then %G_CONVERT_ERROR_PARTIAL_INPUT will be
+returned in case @str contains a trailing partial
+character. If an error occurs then the index of the
+invalid input is stored here.
+</parameter_description>
+</parameter>
+<parameter name="items_written">
+<parameter_description> location to store number of bytes written, or %NULL.
+The value stored here does not include the trailing
+0 byte.
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store the error occuring, or %NULL to ignore
+errors. Any of the errors in #GConvertError other than
+%G_CONVERT_ERROR_NO_CONVERSION may occur.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if @c is a lowercase letter
+<return> a pointer to a newly allocated UTF-8 string.
+This value must be freed with g_free(). If an
+error occurs, %NULL will be returned and
+@error set.
</return>
</function>
@@ -7837,6 +11269,71 @@ Since: 2.2
</return>
</function>
+<function name="g_bookmark_file_set_icon">
+<description>
+Sets the icon for the bookmark for @uri. If @href is %NULL, unsets
+the currently set icon.
+
+If no bookmark for @uri is found it is created.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="href">
+<parameter_description> the URI of the icon for the bookmark, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="mime_type">
+<parameter_description> the MIME type of the icon for the bookmark
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_bookmark_file_has_group">
+<description>
+Checks whether @group appears in the list of groups to which
+the bookmark for @uri belongs to.
+
+In the event the URI cannot be found, %FALSE is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
+
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="group">
+<parameter_description> the group name to be searched
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @group was found.
+
+Since: 2.12
+</return>
+</function>
+
<function name="g_rand_new">
<description>
Creates a new random number generator initialized with a seed taken
@@ -7856,7 +11353,16 @@ the current time (as a fallback).
Calls the given function for key/value pairs in the #GHashTable until
@predicate returns %TRUE. The function is passed the key and value of
each pair, and the given @user_data parameter. The hash table may not
-be modified while iterating over it (you can&apos;t add/remove items).
+be modified while iterating over it (you can&apos;t add/remove items).
+
+Note, that hash tables are really only optimized for forward lookups,
+i.e. g_hash_table_lookup().
+So code that frequently issues g_hash_table_find() or
+g_hash_table_foreach() (e.g. in the order of once per every entry in a
+hash table) should probably be reworked to use additional or different
+data structures for reverse lookups (keep in mind that an O(n) find/foreach
+operation issued for all n values in a hash table ends up needing O(n*n)
+operations).
</description>
@@ -7874,40 +11380,70 @@ be modified while iterating over it (you can&apos;t add/remove items).
</parameter_description>
</parameter>
</parameters>
-<return> The value of the first key/value pair is returned, for which
-func evaluates to %TRUE. If no pair with the requested property is found,
+<return> The value of the first key/value pair is returned, for which
+func evaluates to %TRUE. If no pair with the requested property is found,
%NULL is returned.
Since: 2.4
</return>
</function>
-<function name="g_get_prgname">
+<function name="g_sequence_get">
<description>
-Gets the name of the program. This name should &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt;
-be localized, contrast with g_get_application_name().
-(If you are using GDK or GTK+ the program name is set in gdk_init(),
-which is called by gtk_init(). The program name is found by taking
-the last component of &amp;lt;literal&amp;gt;argv[0]&amp;lt;/literal&amp;gt;.)
-
+Return value: the data that @iter points to
</description>
<parameters>
+<parameter name="iter">
+<parameter_description> a #GSequenceIter
+</parameter_description>
+</parameter>
</parameters>
-<return> the name of the program. The returned string belongs
-to GLib and must not be modified or freed.
+<return> the data that @iter points to
+
+Since: 2.14
</return>
</function>
-<function name="g_get_user_cache_dir">
+<function name="g_sequence_insert_sorted">
<description>
-Returns a base directory in which to store non-essential, cached
-data specific to particular user.
+Inserts @data into @sequence using @func to determine the new position.
+The sequence must already be sorted according to @cmp_func; otherwise the
+new position of @data is undefined.
-On UNIX platforms this is determined using the mechanisms described in
-the &amp;lt;ulink url=&quot;http://www.freedesktop.org/Standards/basedir-spec&quot;&amp;gt;
-XDG Base Directory Specification&amp;lt;/ulink&amp;gt;
+</description>
+<parameters>
+<parameter name="seq">
+<parameter_description> a #GSequence
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> the data to insert
+</parameter_description>
+</parameter>
+<parameter name="cmp_func">
+<parameter_description> the #GCompareDataFunc used to compare items in the sequence. It
+is called with two items of the @seq and @user_data. It should
+return 0 if the items are equal, a negative value if the first
+item comes before the second, and a positive value if the second
+item comes before the first.
+</parameter_description>
+</parameter>
+<parameter name="cmp_data">
+<parameter_description> user data passed to @cmp_func.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GSequenceIter pointing to the new item.
+
+Since: 2.14
+</return>
+</function>
+
+<function name="g_get_user_cache_dir">
+<description>
+Return value: a string owned by GLib that must not be modified
</description>
<parameters>
@@ -7944,36 +11480,96 @@ semantics for what constitutes the &quot;current&quot; line number other than
<return></return>
</function>
-<function name="g_key_file_set_value">
+<function name="g_sequence_iter_next">
<description>
-Associates a new value with @key under @group_name. If @key
-cannot be found then it is created. If @group_name cannot be
-found then it is created.
+Return value: a #GSequenceIter pointing to the next position after @iter.
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GSequenceIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GSequenceIter pointing to the next position after @iter.
+
+Since: 2.14
+</return>
+</function>
+
+<function name="g_io_channel_new_file">
+<description>
+Open a file @filename as a #GIOChannel using mode @mode. This
+channel will be closed when the last reference to it is dropped,
+so there is no need to call g_io_channel_close() (though doing
+so will not cause problems, as long as no attempt is made to
+access the channel after it is closed).
-Since: 2.6
</description>
<parameters>
-<parameter name="key_file">
-<parameter_description> a #GKeyFile
+<parameter name="filename">
+<parameter_description> A string containing the name of a file.
</parameter_description>
</parameter>
-<parameter name="group_name">
-<parameter_description> a group name
+<parameter name="mode">
+<parameter_description> One of &quot;r&quot;, &quot;w&quot;, &quot;a&quot;, &quot;r+&quot;, &quot;w+&quot;, &quot;a+&quot;. These have
+the same meaning as in fopen().
</parameter_description>
</parameter>
-<parameter name="key">
-<parameter_description> a key
+<parameter name="error">
+<parameter_description> A location to return an error of type %G_FILE_ERROR.
</parameter_description>
</parameter>
-<parameter name="value">
-<parameter_description> a string
+</parameters>
+<return> A #GIOChannel on success, %NULL on failure.
+</return>
+</function>
+
+<function name="g_thread_pool_set_max_idle_time">
+<description>
+This function will set the maximum @interval that a thread waiting
+in the pool for new tasks can be idle for before being
+stopped. This function is similar to calling
+g_thread_pool_stop_unused_threads() on a regular timeout, except,
+this is done on a per thread basis.
+
+By setting @interval to 0, idle threads will not be stopped.
+
+This function makes use of g_async_queue_timed_pop () using
+@interval.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="interval">
+<parameter_description> the maximum @interval (1/1000ths of a second) a thread
+can be idle.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
+<function name="g_int_hash">
+<description>
+Converts a pointer to a #gint to a hash value.
+It can be passed to g_hash_table_new() as the @hash_func parameter,
+when using pointers to integers values as keys in a #GHashTable.
+
+
+</description>
+<parameters>
+<parameter name="v">
+<parameter_description> a pointer to a #gint key
+</parameter_description>
+</parameter>
+</parameters>
+<return> a hash value corresponding to the key.
+</return>
+</function>
+
<function name="g_main_loop_new">
<description>
Creates a new #GMainLoop structure.
@@ -7996,64 +11592,69 @@ is not very important since calling g_main_loop_run() will set this to
</return>
</function>
-<function name="g_io_channel_get_flags">
+<function name="g_source_get_can_recurse">
<description>
-Gets the current flags for a #GIOChannel, including read-only
-flags such as %G_IO_FLAG_IS_READABLE.
-
-The values of the flags %G_IO_FLAG_IS_READABLE and %G_IO_FLAG_IS_WRITEABLE
-are cached for internal use by the channel when it is created.
-If they should change at some later point (e.g. partial shutdown
-of a socket with the UNIX shutdown() function), the user
-should immediately call g_io_channel_get_flags () to update
-the internal values of these flags.
+Checks whether a source is allowed to be called recursively.
+see g_source_set_can_recurse().
</description>
<parameters>
-<parameter name="channel">
-<parameter_description> a #GIOChannel
+<parameter name="source">
+<parameter_description> a #GSource
</parameter_description>
</parameter>
</parameters>
-<return> the flags which are set on the channel
+<return> whether recursion is allowed.
</return>
</function>
-<function name="g_key_file_load_from_file">
+<function name="g_sequence_iter_is_begin">
<description>
-Loads a key file into an empty #GKeyFile structure.
-If the file could not be loaded then %error is set to
-either a #GFileError or #GKeyFileError.
-
+Return value: whether @iter is the begin iterator
</description>
<parameters>
-<parameter name="key_file">
-<parameter_description> an empty #GKeyFile struct
+<parameter name="iter">
+<parameter_description> a #GSequenceIter
</parameter_description>
</parameter>
-<parameter name="file">
-<parameter_description> the path of a filename to load, in the GLib file name encoding
+</parameters>
+<return> whether @iter is the begin iterator
+
+Since: 2.14
+</return>
+</function>
+
+<function name="g_string_printf">
+<description>
+Writes a formatted string into a #GString.
+This is similar to the standard sprintf() function,
+except that the #GString buffer automatically expands
+to contain the results. The previous contents of the
+#GString are destroyed.
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> a #GString
</parameter_description>
</parameter>
-<parameter name="flags">
-<parameter_description> flags from #GKeyFileFlags
+<parameter name="format">
+<parameter_description> the string format. See the printf() documentation
</parameter_description>
</parameter>
-<parameter name="error">
-<parameter_description> return location for a #GError, or %NULL
+<parameter name="Varargs">
+<parameter_description> the parameters to insert into the format string
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if a key file could be loaded, %FALSE othewise
-Since: 2.6
-</return>
+<return></return>
</function>
<function name="g_utf8_strchr">
<description>
-Finds the leftmost occurrence of the given ISO10646 character
+Finds the leftmost occurrence of the given Unicode character
in a UTF-8 encoded string, while limiting the search to @len bytes.
If @len is -1, allow unbounded search.
@@ -8069,7 +11670,7 @@ If @len is -1, allow unbounded search.
</parameter_description>
</parameter>
<parameter name="c">
-<parameter_description> a ISO10646 character
+<parameter_description> a Unicode character
</parameter_description>
</parameter>
</parameters>
@@ -8081,11 +11682,7 @@ the character in the string.
<function name="g_win32_get_package_installation_subdirectory">
<description>
-Returns a newly-allocated string containing the path of the
-subdirectory @subdir in the return value from calling
-g_win32_get_package_installation_directory() with the @package and
-@dll_name parameters.
-
+Returns: a string containing the complete path to @subdir inside
</description>
<parameters>
@@ -8109,15 +11706,43 @@ value should be freed with g_free() when no longer needed.
</return>
</function>
-<function name="g_key_file_get_string_list">
+<function name="g_sequence_search">
<description>
-Returns the values associated with @key under @group_name.
+Return value: an #GSequenceIter pointing to the position where @data
+
+</description>
+<parameters>
+<parameter name="seq">
+<parameter_description> a #GSequence
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data for the new item
+</parameter_description>
+</parameter>
+<parameter name="cmp_func">
+<parameter_description> the #GCompareDataFunc used to compare items in the sequence. It
+is called with two items of the @seq and @user_data. It should
+return 0 if the items are equal, a negative value if the first
+item comes before the second, and a positive value if the second
+item comes before the first.
+</parameter_description>
+</parameter>
+<parameter name="cmp_data">
+<parameter_description> user data passed to @cmp_func.
+</parameter_description>
+</parameter>
+</parameters>
+<return> an #GSequenceIter pointing to the position where @data
+would have been inserted according to @cmp_func and @cmp_data.
-In the event the key cannot be found, %NULL is returned and
-@error is set to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. In the
-event that the @group_name cannot be found, %NULL is returned
-and @error is set to #G_KEY_FILE_ERROR_GROUP_NOT_FOUND.
+Since: 2.14
+</return>
+</function>
+<function name="g_key_file_get_string_list">
+<description>
+Return value: a %NULL-terminated string array or %NULL if the specified
</description>
<parameters>
@@ -8149,40 +11774,40 @@ Since: 2.6
</return>
</function>
-<function name="g_dir_read_name">
+<function name="g_regex_unref">
<description>
-Retrieves the name of the next entry in the directory. The &apos;.&apos; and
-&apos;..&apos; entries are omitted. On Windows, the returned name is in
-UTF-8. On Unix, it is in the on-disk encoding.
+Decreases reference count of @regex by 1. When reference count drops
+to zero, it frees all the memory associated with the regex structure.
+Since: 2.14
</description>
<parameters>
-<parameter name="dir">
-<parameter_description> a #GDir* created by g_dir_open()
+<parameter name="regex">
+<parameter_description> a #GRegex
</parameter_description>
</parameter>
</parameters>
-<return> The entry&apos;s name or %NULL if there are no
-more entries. The return value is owned by GLib and
-must not be modified or freed.
-</return>
+<return></return>
</function>
-<function name="g_async_queue_ref">
+<function name="g_tree_height">
<description>
-Increases the reference count of the asynchronous @queue by 1. You
-do not need to hold the lock to call this function.
+Gets the height of a #GTree.
+
+If the #GTree contains no nodes, the height is 0.
+If the #GTree contains only one root node the height is 1.
+If the root node has children the height is 2, etc.
</description>
<parameters>
-<parameter name="queue">
-<parameter_description> a #GAsyncQueue.
+<parameter name="tree">
+<parameter_description> a #GTree.
</parameter_description>
</parameter>
</parameters>
-<return> the @queue that was passed in (since 2.6)
+<return> the height of the #GTree.
</return>
</function>
@@ -8237,6 +11862,55 @@ consistent on a machine. On Windows, it is always UTF-8.
</return>
</function>
+<function name="g_match_info_is_partial_match">
+<description>
+Usually if the string passed to g_regex_match*() matches as far as
+it goes, but is too short to match the entire pattern, %FALSE is
+returned. There are circumstances where it might be helpful to
+distinguish this case from other cases in which there is no match.
+
+Consider, for example, an application where a human is required to
+type in data for a field with specific formatting requirements. An
+example might be a date in the form ddmmmyy, defined by the pattern
+&quot;^\d?\d(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\d\d$&quot;.
+If the application sees the user’s keystrokes one by one, and can
+check that what has been typed so far is potentially valid, it is
+able to raise an error as soon as a mistake is made.
+
+GRegex supports the concept of partial matching by means of the
+#G_REGEX_MATCH_PARTIAL flag. When this is set the return code for
+g_regex_match() or g_regex_match_full() is, as usual, %TRUE
+for a complete match, %FALSE otherwise. But, when these functions
+return %FALSE, you can check if the match was partial calling
+g_match_info_is_partial_match().
+
+When using partial matching you cannot use g_match_info_fetch*().
+
+Because of the way certain internal optimizations are implemented
+the partial matching algorithm cannot be used with all patterns.
+So repeated single characters such as &quot;a{2,4}&quot; and repeated single
+meta-sequences such as &quot;\d+&quot; are not permitted if the maximum number
+of occurrences is greater than one. Optional items such as &quot;\d?&quot;
+(where the maximum is one) are permitted. Quantifiers with any values
+are permitted after parentheses, so the invalid examples above can be
+coded thus &quot;(a){2,4}&quot; and &quot;(\d)+&quot;. If #G_REGEX_MATCH_PARTIAL is set
+for a pattern that does not conform to the restrictions, matching
+functions return an error.
+
+
+</description>
+<parameters>
+<parameter name="match_info">
+<parameter_description> a #GMatchInfo structure
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the match was partial, %FALSE otherwise
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_main_loop_quit">
<description>
Stops a #GMainLoop from running. Any calls to g_main_loop_run()
@@ -8252,43 +11926,50 @@ for the loop will return.
<return></return>
</function>
-<function name="g_key_file_set_integer_list">
+<function name="g_ascii_strtod">
<description>
-Associates a list of integer values with @key under
-@group_name. If @key cannot be found then it is created.
+Converts a string to a #gdouble value.
+This function behaves like the standard strtod() function
+does in the C locale. It does this without actually
+changing the current locale, since that would not be
+thread-safe.
+
+This function is typically used when reading configuration
+files or other non-user input that should be locale independent.
+To handle input from the user you should normally use the
+locale-sensitive system strtod() function.
+
+To convert from a #gdouble to a string in a locale-insensitive
+way, use g_ascii_dtostr().
+
+If the correct value would cause overflow, plus or minus %HUGE_VAL
+is returned (according to the sign of the value), and %ERANGE is
+stored in %errno. If the correct value would cause underflow,
+zero is returned and %ERANGE is stored in %errno.
+
+This function resets %errno before calling strtod() so that
+you can reliably detect overflow and underflow.
-Since: 2.6
</description>
<parameters>
-<parameter name="key_file">
-<parameter_description> a #GKeyFile
-</parameter_description>
-</parameter>
-<parameter name="group_name">
-<parameter_description> a group name
-</parameter_description>
-</parameter>
-<parameter name="key">
-<parameter_description> a key
-</parameter_description>
-</parameter>
-<parameter name="list">
-<parameter_description> an array of integer values
+<parameter name="nptr">
+<parameter_description> the string to convert to a numeric value.
</parameter_description>
</parameter>
-<parameter name="length">
-<parameter_description> number of integer values in @list
+<parameter name="endptr">
+<parameter_description> if non-%NULL, it returns the character after
+the last character used in the conversion.
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> the #gdouble value.
+</return>
</function>
<function name="g_queue_peek_nth_link">
<description>
-Returns the link at the given position
-
+Return value: The link at the @n&apos;th position, or %NULL if @n is off the
</description>
<parameters>
@@ -8316,7 +11997,7 @@ Converts a single character to UTF-8.
</description>
<parameters>
<parameter name="c">
-<parameter_description> a ISO10646 character code
+<parameter_description> a Unicode character code
</parameter_description>
</parameter>
<parameter name="outbuf">
@@ -8330,6 +12011,41 @@ and nothing will be written to @outbuf.
</return>
</function>
+<function name="g_match_info_fetch_all">
+<description>
+Bundles up pointers to each of the matching substrings from a match
+and stores them in an array of gchar pointers. The first element in
+the returned array is the match number 0, i.e. the entire matched
+text.
+
+If a sub pattern didn&apos;t match anything (e.g. sub pattern 1, matching
+&quot;b&quot; against &quot;(a)?b&quot;) then an empty string is inserted.
+
+If the last match was obtained using the DFA algorithm, that is using
+g_regex_match_all() or g_regex_match_all_full(), the retrieved
+strings are not that matched by sets of parentheses but that of the
+matched substring. Substrings are matched in reverse order of length,
+so the first one is the longest match.
+
+The strings are fetched from the string passed to the match function,
+so you cannot call this function after freeing the string.
+
+
+</description>
+<parameters>
+<parameter name="match_info">
+<parameter_description> a #GMatchInfo structure
+</parameter_description>
+</parameter>
+</parameters>
+<return> a %NULL-terminated array of gchar * pointers. It must be
+freed using g_strfreev(). If the previous match failed %NULL is
+returned
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_iconv_close">
<description>
Same as the standard UNIX routine iconv_close(), but
@@ -8357,6 +12073,10 @@ more convenient than the raw iconv wrappers.
<description>
Increases the reference count of the asynchronous @queue by 1.
+@Deprecated: Since 2.8, reference counting is done atomically
+so g_async_queue_ref() can be used regardless of the @queue&apos;s
+lock.
+
</description>
<parameters>
<parameter name="queue">
@@ -8398,6 +12118,39 @@ case independent form of @str.
</return>
</function>
+<function name="g_ascii_strcasecmp">
+<description>
+Compare two strings, ignoring the case of ASCII characters.
+
+Unlike the BSD strcasecmp() function, this only recognizes standard
+ASCII letters and ignores the locale, treating all non-ASCII
+bytes as if they are not letters.
+
+This function should be used only on strings that are known to be
+in encodings where the bytes corresponding to ASCII letters always
+represent themselves. This includes UTF-8 and the ISO-8859-*
+charsets, but not for instance double-byte encodings like the
+Windows Codepage 932, where the trailing bytes of double-byte
+characters include all ASCII letters. If you compare two CP932
+strings using this function, you will get false matches.
+
+
+</description>
+<parameters>
+<parameter name="s1">
+<parameter_description> string to compare with @s2.
+</parameter_description>
+</parameter>
+<parameter name="s2">
+<parameter_description> string to compare with @s1.
+</parameter_description>
+</parameter>
+</parameters>
+<return> 0 if the strings match, a negative value if @s1 &amp;lt; @s2,
+or a positive value if @s1 &amp;gt; @s2.
+</return>
+</function>
+
<function name="g_utf8_get_char">
<description>
Converts a sequence of bytes encoded as UTF-8 to a Unicode character.
@@ -8440,10 +12193,7 @@ g_utf8_get_char().
<function name="g_main_context_default">
<description>
-Returns the default main context. This is the main context used
-for main loop functions when a main loop is not explicitly
-specified.
-
+Return value: the default main context.
</description>
<parameters>
@@ -8452,6 +12202,22 @@ specified.
</return>
</function>
+<function name="g_string_chunk_free">
+<description>
+Frees all memory allocated by the #GStringChunk.
+After calling g_string_chunk_free() it is not safe to
+access any of the strings which were contained within it.
+
+</description>
+<parameters>
+<parameter name="chunk">
+<parameter_description> a #GStringChunk
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="g_ascii_toupper">
<description>
Convert a character to ASCII upper case.
@@ -8478,19 +12244,24 @@ If @c is not an ASCII lower case letter,
</return>
</function>
-<function name="g_queue_is_empty">
+<function name="g_shell_quote">
<description>
-Returns %TRUE if the queue is empty.
+Quotes a string so that the shell (/bin/sh) will interpret the
+quoted string to mean @unquoted_string. If you pass a filename to
+the shell, for example, you should first quote it with this
+function. The return value must be freed with g_free(). The
+quoting style used is undefined (single or double quotes may be
+used).
</description>
<parameters>
-<parameter name="queue">
-<parameter_description> a #GQueue.
+<parameter name="unquoted_string">
+<parameter_description> a literal string
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the queue is empty.
+<return> quoted string
</return>
</function>
@@ -8575,6 +12346,112 @@ always, string-&amp;gt;str[string-&amp;gt;len] will be a nul byte.)
</return>
</function>
+<function name="g_bookmark_file_remove_group">
+<description>
+Removes @group from the list of groups to which the bookmark
+for @uri belongs to.
+
+In the event the URI cannot be found, %FALSE is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
+In the event no group was defined, %FALSE is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_INVALID_VALUE.
+
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="group">
+<parameter_description> the group name to be removed
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @group was successfully removed.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="g_bookmark_file_set_app_info">
+<description>
+Sets the meta-data of application @name inside the list of
+applications that have registered a bookmark for @uri inside
+@bookmark.
+
+You should rarely use this function; use g_bookmark_file_add_application()
+and g_bookmark_file_remove_application() instead.
+
+@name can be any UTF-8 encoded string used to identify an
+application.
+@exec can have one of these two modifiers: &quot;%f&quot;, which will
+be expanded as the local file name retrieved from the bookmark&apos;s
+URI; &quot;%u&quot;, which will be expanded as the bookmark&apos;s URI.
+The expansion is done automatically when retrieving the stored
+command line using the g_bookmark_file_get_app_info() function.
+@count is the number of times the application has registered the
+bookmark; if is &amp;lt; 0, the current registration count will be increased
+by one, if is 0, the application with @name will be removed from
+the list of registered applications.
+@stamp is the Unix time of the last registration; if it is -1, the
+current time will be used.
+
+If you try to remove an application by setting its registration count to
+zero, and no bookmark for @uri is found, %FALSE is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND; similarly,
+in the event that no application @name has registered a bookmark
+for @uri, %FALSE is returned and error is set to
+#G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. Otherwise, if no bookmark
+for @uri is found, one is created.
+
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> an application&apos;s name
+</parameter_description>
+</parameter>
+<parameter name="exec">
+<parameter_description> an application&apos;s command line
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> the number of registrations done for this application
+</parameter_description>
+</parameter>
+<parameter name="stamp">
+<parameter_description> the time of the last registration for this application
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the application&apos;s meta-data was successfully
+changed.
+
+Since: 2.12
+</return>
+</function>
+
<function name="g_strsplit_set">
<description>
Splits @string into a number of tokens not containing any of the characters
@@ -8626,7 +12503,7 @@ Since: 2.4
<function name="g_main_context_find_source_by_id">
<description>
-Finds a #GSource given a pair of context and ID
+Finds a #GSource given a pair of context and ID.
</description>
@@ -8636,7 +12513,7 @@ Finds a #GSource given a pair of context and ID
</parameter_description>
</parameter>
<parameter name="source_id">
-<parameter_description> the source ID, as returned by g_source_get_id()
+<parameter_description> the source ID, as returned by g_source_get_id().
</parameter_description>
</parameter>
</parameters>
@@ -8672,6 +12549,24 @@ Since: 2.6
</return>
</function>
+<function name="g_match_info_matches">
+<description>
+Returns: %TRUE if the previous match operation succeeded,
+
+</description>
+<parameters>
+<parameter name="match_info">
+<parameter_description> a #GMatchInfo structure
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the previous match operation succeeded,
+%FALSE otherwise
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_main_context_prepare">
<description>
Prepares to poll sources within a main loop. The resulting information
@@ -8695,6 +12590,68 @@ prior to polling.
</return>
</function>
+<function name="g_key_file_load_from_dirs">
+<description>
+This function looks for a key file named @file in the paths
+specified in @search_dirs, loads the file into @key_file and
+Return value: %TRUE if a key file could be loaded, %FALSE othewise
+
+</description>
+<parameters>
+<parameter name="key_file">
+<parameter_description> an empty #GKeyFile struct
+</parameter_description>
+</parameter>
+<parameter name="file">
+<parameter_description> a relative path to a filename to open and parse
+</parameter_description>
+</parameter>
+<parameter name="search_dirs">
+<parameter_description> %NULL-terminated array of directories to search
+</parameter_description>
+</parameter>
+<parameter name="full_path">
+<parameter_description> return location for a string containing the full path
+of the file, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags from #GKeyFileFlags
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a key file could be loaded, %FALSE othewise
+
+Since: 2.14
+</return>
+</function>
+
+<function name="g_hash_table_get_values">
+<description>
+Retrieves every value inside @hash_table. The returned data is
+valid until @hash_table is modified.
+
+
+</description>
+<parameters>
+<parameter name="hash_table">
+<parameter_description> a #GHashTable
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GList containing all the values inside the hash
+table. The content of the list is owned by the hash table and
+should not be modified or freed. Use g_list_free() when done
+using the list.
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_option_group_set_translate_func">
<description>
Sets the function which is used to translate user-visible
@@ -8729,29 +12686,24 @@ Since: 2.6
<return></return>
</function>
-<function name="g_async_queue_timed_pop_unlocked">
+<function name="g_strnfill">
<description>
-Pops data from the @queue. If no data is received before @end_time,
-%NULL is returned. This function must be called while holding the
-@queue&apos;s lock.
-
-To easily calculate @end_time a combination of g_get_current_time()
-and g_time_val_add() can be used.
+Creates a new string @length bytes long filled with @fill_char.
+The returned string should be freed when no longer needed.
</description>
<parameters>
-<parameter name="queue">
-<parameter_description> a #GAsyncQueue.
+<parameter name="length">
+<parameter_description> the length of the new string
</parameter_description>
</parameter>
-<parameter name="end_time">
-<parameter_description> a #GTimeVal, determining the final time.
+<parameter name="fill_char">
+<parameter_description> the byte to fill the string with
</parameter_description>
</parameter>
</parameters>
-<return> data from the queue or %NULL, when no data is
-received before @end_time.
+<return> a newly-allocated string filled the @fill_char
</return>
</function>
@@ -8913,6 +12865,43 @@ Since: 2.6
</return>
</function>
+<function name="g_thread_pool_set_sort_function">
+<description>
+Sets the function used to sort the list of tasks. This allows the
+tasks to be processed by a priority determined by @func, and not
+just in the order in which they were added to the pool.
+
+Note, if the maximum number of threads is more than 1, the order
+that threads are executed can not be guranteed 100%. Threads are
+scheduled by the operating system and are executed at random. It
+cannot be assumed that threads are executed in the order they are
+created.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="pool">
+<parameter_description> a #GThreadPool
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> the #GCompareDataFunc used to sort the list of tasks.
+This function is passed two tasks. It should return
+0 if the order in which they are handled does not matter,
+a negative value if the first task should be processed before
+the second or a positive value if the second task should be
+processed first.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data passed to @func.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="g_creat">
<description>
A wrapper for the POSIX creat() function. The creat() function is
@@ -8977,8 +12966,8 @@ terminated with a 0 character.
</parameter_description>
</parameter>
<parameter name="len">
-<parameter_description> the maximum length of @str to use. If @len &amp;lt; 0, then
-the string is terminated with a 0 character.
+<parameter_description> the maximum length (number of &amp;lt;type&amp;gt;gunichar2&amp;lt;/type&amp;gt;) of @str to use.
+If @len &amp;lt; 0, then the string is terminated with a 0 character.
</parameter_description>
</parameter>
<parameter name="items_read">
@@ -9038,6 +13027,36 @@ so that the distance from the root to every leaf is as small as possible.
<return></return>
</function>
+<function name="g_base64_encode_close">
+<description>
+Flush the status from a sequence of calls to g_base64_encode_step().
+
+
+</description>
+<parameters>
+<parameter name="break_lines">
+<parameter_description> whether to break long lines
+</parameter_description>
+</parameter>
+<parameter name="out">
+<parameter_description> pointer to destination buffer
+</parameter_description>
+</parameter>
+<parameter name="state">
+<parameter_description> Saved state from g_base64_encode_step()
+</parameter_description>
+</parameter>
+<parameter name="save">
+<parameter_description> Saved state from g_base64_encode_step()
+</parameter_description>
+</parameter>
+</parameters>
+<return> The number of bytes of output that was written
+
+Since: 2.12
+</return>
+</function>
+
<function name="g_async_queue_unlock">
<description>
Releases the queue&apos;s lock.
@@ -9075,6 +13094,25 @@ descriptor to watch.
<return></return>
</function>
+<function name="g_hash_table_unref">
+<description>
+Atomically decrements the reference count of @hash_table by one.
+If the reference count drops to 0, all keys and values will be
+destroyed, and all memory allocated by the hash table is released.
+This function is MT-safe and may be called from any thread.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="hash_table">
+<parameter_description> a valid #GHashTable.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="g_rand_new_with_seed">
<description>
Creates a new random number generator initialized with @seed.
@@ -9091,6 +13129,23 @@ Creates a new random number generator initialized with @seed.
</return>
</function>
+<function name="g_sequence_iter_is_end">
+<description>
+Return value: Whether @iter is the end iterator.
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GSequenceIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> Whether @iter is the end iterator.
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_queue_pop_tail_link">
<description>
Removes the last element of the queue.
@@ -9108,22 +13163,45 @@ is empty.
</return>
</function>
-<function name="g_path_skip_root">
+<function name="g_async_queue_push_sorted">
<description>
-Returns a pointer into @file_name after the root component, i.e. after
-the &quot;/&quot; in UNIX or &quot;C:\&quot; under Windows. If @file_name is not an absolute
-path it returns %NULL.
+Inserts @data into @queue using @func to determine the new
+position.
+
+This function requires that the @queue is sorted before pushing on
+new elements.
+
+This function will lock @queue before it sorts the queue and unlock
+it when it is finished.
+For an example of @func see g_async_queue_sort().
+
+Since: 2.10
</description>
<parameters>
-<parameter name="file_name">
-<parameter_description> a file name.
+<parameter name="queue">
+<parameter_description> a #GAsyncQueue
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> the @data to push into the @queue
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> the #GCompareDataFunc is used to sort @queue. This function
+is passed two elements of the @queue. The function should return
+0 if they are equal, a negative value if the first element
+should be higher in the @queue or a positive value if the first
+element should be lower in the @queue than the second element.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data passed to @func.
</parameter_description>
</parameter>
</parameters>
-<return> a pointer into @file_name after the root component.
-</return>
+<return></return>
</function>
<function name="g_unichar_xdigit_value">
@@ -9144,22 +13222,36 @@ g_unichar_isxdigit()), its numeric value. Otherwise, -1.
</return>
</function>
-<function name="g_win32_get_windows_version">
+<function name="g_string_append_vprintf">
<description>
-Returns version information for the Windows operating system the
-code is running on. See MSDN documentation for the GetVersion()
-function. To summarize, the most significant bit is one on Win9x,
-and zero on NT-based systems. The least significant byte is 4 on
-Windows NT 4, 5 on Windows XP. Software that needs really detailled
-version and feature information should use Win32 API like
-GetVersionEx() and VerifyVersionInfo().
+Appends a formatted string onto the end of a #GString.
+This function is is similar to g_string_append_printf()
+except that the arguments to the format string are passed
+as a va_list.
-If there is an environment variable &amp;lt;envar&amp;gt;G_WIN32_PRETEND_WIN9X&amp;lt;/envar&amp;gt;
-defined (with any value), this function always returns a version
-code for Windows 9x. This is mainly an internal debugging aid for
-GTK+ and GLib developers, to be able to check the code paths for
-Windows 9x.
+Since: 2.14
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> a #GString
+</parameter_description>
+</parameter>
+<parameter name="format">
+<parameter_description> the string format. See the printf() documentation
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> the list of arguments to insert in the output
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+<function name="g_win32_get_windows_version">
+<description>
+Returns: The version information.
</description>
<parameters>
@@ -9233,29 +13325,47 @@ filename, or %NULL on an error.
</return>
</function>
-<function name="g_async_queue_timed_pop">
+<function name="g_option_context_get_help_enabled">
<description>
-Pops data from the @queue. If no data is received before @end_time,
-%NULL is returned.
+Returns: %TRUE if automatic help generation is turned on.
-To easily calculate @end_time a combination of g_get_current_time()
-and g_time_val_add() can be used.
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GOptionContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if automatic help generation is turned on.
+Since: 2.6
+</return>
+</function>
+
+<function name="g_option_context_set_description">
+<description>
+Adds a string to be displayed in &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt; output
+after the list of options. This text often includes a bug reporting
+address.
+
+Note that the summary is translated (see
+g_option_context_set_translate_func()).
+
+Since: 2.12
</description>
<parameters>
-<parameter name="queue">
-<parameter_description> a #GAsyncQueue.
+<parameter name="context">
+<parameter_description> a #GOptionContext
</parameter_description>
</parameter>
-<parameter name="end_time">
-<parameter_description> a #GTimeVal, determining the final time.
+<parameter name="description">
+<parameter_description> a string to be shown in &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt; output
+after the list of options, or %NULL
</parameter_description>
</parameter>
</parameters>
-<return> data from the queue or %NULL, when no data is
-received before @end_time.
-</return>
+<return></return>
</function>
<function name="g_set_prgname">
@@ -9322,12 +13432,30 @@ course the name of the program to execute. By default, the name of
the program must be a full path; the &amp;lt;envar&amp;gt;PATH&amp;lt;/envar&amp;gt; shell variable
will only be searched if you pass the %G_SPAWN_SEARCH_PATH flag.
-On Windows, the low-level child process creation API
-(CreateProcess())doesn&apos;t use argument vectors,
+On Windows, note that all the string or string vector arguments to
+this function and the other g_spawn*() functions are in UTF-8, the
+GLib file name encoding. Unicode characters that are not part of
+the system codepage passed in argument vectors will be correctly
+available in the spawned program only if it uses wide character API
+to retrieve its command line. For C programs built with Microsoft&apos;s
+tools it is enough to make the program have a wmain() instead of
+main(). wmain() has a wide character argument vector as parameter.
+
+At least currently, mingw doesn&apos;t support wmain(), so if you use
+mingw to develop the spawned program, it will have to call the
+undocumented function __wgetmainargs() to get the wide character
+argument vector and environment. See gspawn-win32-helper.c in the
+GLib sources or init.c in the mingw runtime sources for a prototype
+for that function. Alternatively, you can retrieve the Win32 system
+level wide character command line passed to the spawned program
+using the GetCommandLineW() function.
+
+On Windows the low-level child process creation API
+&amp;lt;function&amp;gt;CreateProcess()&amp;lt;/function&amp;gt; doesn&apos;t use argument vectors,
but a command line. The C runtime library&apos;s
&amp;lt;function&amp;gt;spawn*()&amp;lt;/function&amp;gt; family of functions (which
g_spawn_async_with_pipes() eventually calls) paste the argument
-vector elements into a command line, and the C runtime startup code
+vector elements together into a command line, and the C runtime startup code
does a corresponding reconstruction of an argument vector from the
command line, to be passed to main(). Complications arise when you have
argument vector elements that contain spaces of double quotes. The
@@ -9385,22 +13513,22 @@ exec(). That is, @child_setup is called just
before calling exec() in the child. Obviously
actions taken in this function will only affect the child, not the
parent. On Windows, there is no separate fork() and exec()
-functionality. Child processes are created and run right away with
-one API call, CreateProcess(). @child_setup is
+functionality. Child processes are created and run with
+a single API call, CreateProcess(). @child_setup is
called in the parent process just before creating the child
process. You should carefully consider what you do in @child_setup
if you intend your software to be portable to Windows.
If non-%NULL, @child_pid will on Unix be filled with the child&apos;s
process ID. You can use the process ID to send signals to the
-child, or to waitpid() if you specified the
+child, or to use g_child_watch_add() (or waitpid()) if you specified the
%G_SPAWN_DO_NOT_REAP_CHILD flag. On Windows, @child_pid will be
filled with a handle to the child process only if you specified the
%G_SPAWN_DO_NOT_REAP_CHILD flag. You can then access the child
process using the Win32 API, for example wait for its termination
with the &amp;lt;function&amp;gt;WaitFor*()&amp;lt;/function&amp;gt; functions, or examine its
exit code with GetExitCodeProcess(). You should close the handle
-with CloseHandle() when you no longer need it.
+with CloseHandle() or g_spawn_close_pid() when you no longer need it.
If non-%NULL, the @standard_input, @standard_output, @standard_error
locations will be filled with file descriptors for writing to the child&apos;s
@@ -9409,14 +13537,16 @@ The caller of g_spawn_async_with_pipes() must close these file descriptors
when they are no longer in use. If these parameters are %NULL, the corresponding
pipe won&apos;t be created.
-If @standard_input is NULL, the child&apos;s standard input is attached to /dev/null
-unless %G_SPAWN_CHILD_INHERITS_STDIN is set.
+If @standard_input is NULL, the child&apos;s standard input is attached to
+/dev/null unless %G_SPAWN_CHILD_INHERITS_STDIN is set.
-If @standard_error is NULL, the child&apos;s standard error goes to the same location
-as the parent&apos;s standard error unless %G_SPAWN_STDERR_TO_DEV_NULL is set.
+If @standard_error is NULL, the child&apos;s standard error goes to the same
+location as the parent&apos;s standard error unless %G_SPAWN_STDERR_TO_DEV_NULL
+is set.
-If @standard_output is NULL, the child&apos;s standard output goes to the same location
-as the parent&apos;s standard output unless %G_SPAWN_STDOUT_TO_DEV_NULL is set.
+If @standard_output is NULL, the child&apos;s standard output goes to the same
+location as the parent&apos;s standard output unless %G_SPAWN_STDOUT_TO_DEV_NULL
+is set.
@error can be %NULL to ignore errors, or non-%NULL to report errors.
If an error is set, the function returns %FALSE. Errors
@@ -9431,19 +13561,26 @@ and @standard_error will not be filled with valid values.
If @child_pid is not %NULL and an error does not occur then the returned
pid must be closed using g_spawn_close_pid().
+&amp;lt;note&amp;gt;&amp;lt;para&amp;gt;
+If you are writing a GTK+ application, and the program you
+are spawning is a graphical application, too, then you may
+want to use gdk_spawn_on_screen_with_pipes() instead to ensure that
+the spawned program opens its windows no the right screen.
+&amp;lt;/para&amp;gt;&amp;lt;/note&amp;gt;
+
</description>
<parameters>
<parameter name="working_directory">
-<parameter_description> child&apos;s current working directory, or %NULL to inherit parent&apos;s
+<parameter_description> child&apos;s current working directory, or %NULL to inherit parent&apos;s, in the GLib file name encoding
</parameter_description>
</parameter>
<parameter name="argv">
-<parameter_description> child&apos;s argument vector
+<parameter_description> child&apos;s argument vector, in the GLib file name encoding
</parameter_description>
</parameter>
<parameter name="envp">
-<parameter_description> child&apos;s environment, or %NULL to inherit parent&apos;s
+<parameter_description> child&apos;s environment, or %NULL to inherit parent&apos;s, in the GLib file name encoding
</parameter_description>
</parameter>
<parameter name="flags">
@@ -9483,31 +13620,83 @@ pid must be closed using g_spawn_close_pid().
</return>
</function>
-<function name="g_io_channel_write_unichar">
+<function name="g_sequence_get_iter_at_pos">
<description>
-This function cannot be called on a channel with %NULL encoding.
-
+Return value: The #GSequenceIter at position @pos
</description>
<parameters>
-<parameter name="channel">
-<parameter_description> a #GIOChannel
+<parameter name="seq">
+<parameter_description> a #GSequence
</parameter_description>
</parameter>
-<parameter name="thechar">
-<parameter_description> a character
+<parameter name="pos">
+<parameter_description> a position in @seq, or -1 for the end.
</parameter_description>
</parameter>
-<parameter name="error">
-<parameter_description> A location to return an error of type #GConvertError
-or #GIOChannelError
+</parameters>
+<return> The #GSequenceIter at position @pos
+
+Since: 2.14
+</return>
+</function>
+
+<function name="g_utf8_pointer_to_offset">
+<description>
+Converts from a pointer to position within a string to a integer
+character offset.
+
+Since 2.10, this function allows @pos to be before @str, and returns
+a negative offset in this case.
+
+
+</description>
+<parameters>
+<parameter name="str">
+<parameter_description> a UTF-8 encoded string
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> a pointer to a position within @str
</parameter_description>
</parameter>
</parameters>
-<return> a #GIOStatus
+<return> the resulting character offset
</return>
</function>
+<function name="g_bookmark_file_set_visited">
+<description>
+Sets the time the bookmark for @uri was last visited.
+
+If no bookmark for @uri is found then it is created.
+
+The &quot;visited&quot; time should only be set if the bookmark was launched,
+either using the command line retrieved by g_bookmark_file_get_app_info()
+or by the default application for the bookmark&apos;s MIME type, retrieved
+using g_bookmark_file_get_mime_type(). Changing the &quot;visited&quot; time
+does not affect the &quot;modified&quot; time.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="visited">
+<parameter_description> a timestamp or -1 to use the current time
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="g_rand_copy">
<description>
Copies a #GRand into a new one with the same exact state as before.
@@ -9538,8 +13727,9 @@ waitpid(); standard UNIX macros such as WIFEXITED() and WEXITSTATUS()
must be used to evaluate the exit status. If an error occurs, no data is
returned in @standard_output, @standard_error, or @exit_status.
-This function calls g_spawn_async_with_pipes() internally; see that function
-for full details on the other parameters.
+This function calls g_spawn_async_with_pipes() internally; see that
+function for full details on the other parameters and details on
+how these functions work on Windows.
</description>
@@ -9591,8 +13781,7 @@ for full details on the other parameters.
<function name="g_queue_index">
<description>
-Returns the position of the first element in @queue which contains @data.
-
+Return value: The position of the first element in @queue which contains @data, or -1 if no element in @queue contains @data.
</description>
<parameters>
@@ -9611,53 +13800,31 @@ Since: 2.4
</return>
</function>
-<function name="g_utf16_to_utf8">
+<function name="g_utf8_strrchr">
<description>
-Convert a string from UTF-16 to UTF-8. The result will be
-terminated with a 0 byte.
-
-Note that the input is expected to be already in native endianness,
-an initial byte-order-mark character is not handled specially.
-g_convert() can be used to convert a byte buffer of UTF-16 data of
-ambiguous endianess.
+Find the rightmost occurrence of the given Unicode character
+in a UTF-8 encoded string, while limiting the search to @len bytes.
+If @len is -1, allow unbounded search.
</description>
<parameters>
-<parameter name="str">
-<parameter_description> a UTF-16 encoded string
+<parameter name="p">
+<parameter_description> a nul-terminated UTF-8 encoded string
</parameter_description>
</parameter>
<parameter name="len">
-<parameter_description> the maximum length of @str to use. If @len &amp;lt; 0, then
-the string is terminated with a 0 character.
-</parameter_description>
-</parameter>
-<parameter name="items_read">
-<parameter_description> location to store number of words read, or %NULL.
-If %NULL, then %G_CONVERT_ERROR_PARTIAL_INPUT will be
-returned in case @str contains a trailing partial
-character. If an error occurs then the index of the
-invalid input is stored here.
-</parameter_description>
-</parameter>
-<parameter name="items_written">
-<parameter_description> location to store number of bytes written, or %NULL.
-The value stored here does not include the trailing
-0 byte.
+<parameter_description> the maximum length of @p
</parameter_description>
</parameter>
-<parameter name="error">
-<parameter_description> location to store the error occuring, or %NULL to ignore
-errors. Any of the errors in #GConvertError other than
-%G_CONVERT_ERROR_NO_CONVERSION may occur.
+<parameter name="c">
+<parameter_description> a Unicode character
</parameter_description>
</parameter>
</parameters>
-<return> a pointer to a newly allocated UTF-8 string.
-This value must be freed with g_free(). If an
-error occurs, %NULL will be returned and
-@error set.
+<return> %NULL if the string does not contain the character,
+otherwise, a pointer to the start of the rightmost occurrence of the
+character in the string.
</return>
</function>
@@ -9703,6 +13870,23 @@ calls g_error_free() on *@err and sets *@err to %NULL.
<return></return>
</function>
+<function name="g_sequence_get_end_iter">
+<description>
+Return value: the end iterator for @seq
+
+</description>
+<parameters>
+<parameter name="seq">
+<parameter_description> a #GSequence
+</parameter_description>
+</parameter>
+</parameters>
+<return> the end iterator for @seq
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_ascii_tolower">
<description>
Convert a character to ASCII lower case.
@@ -9731,8 +13915,7 @@ If @c is not an ASCII upper case letter,
<function name="g_queue_get_length">
<description>
-Returns the number of items in @queue.
-
+Return value: The number of items in @queue.
</description>
<parameters>
@@ -9801,9 +13984,7 @@ Since: 2.2
<function name="g_random_int_range">
<description>
-Returns a random #gint32 equally distributed over the range
-[@begin..@end-1].
-
+Return value: A random number.
</description>
<parameters>
@@ -9834,6 +14015,8 @@ See g_datalist_set_flags().
</parameter>
</parameters>
<return> the flags of the datalist
+
+Since: 2.8
</return>
</function>
@@ -9880,7 +14063,7 @@ It returns a pointer into the given file name string.
</parameters>
<return> the name of the file without any leading directory components.
-Deprecated: Use g_path_get_basename() instead, but notice that
+Deprecated:2.2: Use g_path_get_basename() instead, but notice that
g_path_get_basename() allocates new memory for the returned string, unlike
this function which returns a pointer into the argument.
</return>
@@ -9914,8 +14097,7 @@ Since: 2.6
<function name="g_io_channel_get_buffered">
<description>
-Returns whether @channel is buffered.
-
+Return Value: %TRUE if the @channel is buffered.
</description>
<parameters>
@@ -9928,47 +14110,75 @@ Returns whether @channel is buffered.
</return>
</function>
-<function name="g_locale_from_utf8">
+<function name="g_io_channel_read_to_end">
<description>
-Converts a string from UTF-8 to the encoding used for strings by
-the C runtime (usually the same as that used by the operating
-system) in the current locale.
+Reads all the remaining data from the file.
</description>
<parameters>
-<parameter name="utf8string">
-<parameter_description> a UTF-8 encoded string
+<parameter name="channel">
+<parameter_description> a #GIOChannel
</parameter_description>
</parameter>
-<parameter name="len">
-<parameter_description> the length of the string, or -1 if the string is
-nul-terminated&amp;lt;footnoteref linkend=&quot;nul-unsafe&quot;/&amp;gt;.
+<parameter name="str_return">
+<parameter_description> Location to store a pointer to a string holding
+the remaining data in the #GIOChannel. This data should
+be freed with g_free() when no longer needed. This
+data is terminated by an extra nul character, but there
+may be other nuls in the intervening data.
</parameter_description>
</parameter>
-<parameter name="bytes_read">
-<parameter_description> location to store the number of bytes in the
-input string that were successfully converted, or %NULL.
-Even if the conversion was successful, this may be
-less than @len if there were partial characters
-at the end of the input. If the error
-#G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value
-stored will the byte offset after the last valid
-input sequence.
+<parameter name="length">
+<parameter_description> Location to store length of the data
</parameter_description>
</parameter>
-<parameter name="bytes_written">
-<parameter_description> the number of bytes stored in the output buffer (not
-including the terminating nul).
+<parameter name="error">
+<parameter_description> A location to return an error of type #GConvertError
+or #GIOChannelError
</parameter_description>
</parameter>
-<parameter name="error">
-<parameter_description> location to store the error occuring, or %NULL to ignore
-errors. Any of the errors in #GConvertError may occur.
+</parameters>
+<return> %G_IO_STATUS_NORMAL on success.
+This function never returns %G_IO_STATUS_EOF.
+</return>
+</function>
+
+<function name="g_sequence_remove">
+<description>
+Removes the item pointed to by @iter. It is an error to pass the
+end iterator to this function.
+
+If the sequnce has a data destroy function associated with it, this
+function is called on the data for the removed item.
+
+Since: 2.14
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GSequenceIter
</parameter_description>
</parameter>
</parameters>
-<return> The converted string, or %NULL on an error.
+<return></return>
+</function>
+
+<function name="g_unichar_islower">
+<description>
+Determines whether a character is a lowercase letter.
+Given some UTF-8 text, obtain a character value with
+g_utf8_get_char().
+
+
+</description>
+<parameters>
+<parameter name="c">
+<parameter_description> a Unicode character
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @c is a lowercase letter
</return>
</function>
@@ -9993,8 +14203,7 @@ available immediately.
<function name="g_main_depth">
<description>
-Return value: The main loop recursion level in the current thread
-
+Returns the depth of the stack of calls to
</description>
<parameters>
@@ -10112,22 +14321,21 @@ there is more work to do.
</return>
</function>
-<function name="g_key_file_set_list_separator">
+<function name="g_hash_table_remove_all">
<description>
-Sets the character which is used to separate
-values in lists. Typically &apos;;&apos; or &apos;,&apos; are used
-as separators. The default list separator is &apos;;&apos;.
+Removes all keys and their associated values from a #GHashTable.
-Since: 2.6
+If the #GHashTable was created using g_hash_table_new_full(), the keys
+and values are freed using the supplied destroy functions, otherwise you
+have to make sure that any dynamically allocated values are freed
+yourself.
+
+Since: 2.12
</description>
<parameters>
-<parameter name="key_file">
-<parameter_description> a #GKeyFile
-</parameter_description>
-</parameter>
-<parameter name="separator">
-<parameter_description> the separator
+<parameter name="hash_table">
+<parameter_description> a #GHashTable
</parameter_description>
</parameter>
</parameters>
@@ -10136,9 +14344,7 @@ Since: 2.6
<function name="g_rand_double_range">
<description>
-Returns the next random #gdouble from @rand_ equally distributed over
-the range [@begin..@end).
-
+Return value: A random number.
</description>
<parameters>
@@ -10196,19 +14402,17 @@ Converts a #GString to uppercase.
</parameter_description>
</parameter>
</parameters>
-<return> the #GString
+<return> @string
-Deprecated: This function uses the locale-specific toupper() function,
-which is almost never the right thing. Use g_string_ascii_up() or
-g_utf8_strup() instead.
+Deprecated:2.2: This function uses the locale-specific
+toupper() function, which is almost never the right thing.
+Use g_string_ascii_up() or g_utf8_strup() instead.
</return>
</function>
<function name="g_error_matches">
<description>
-Returns %TRUE if @error matches @domain and @code, %FALSE
-otherwise.
-
+Return value: whether @error has @domain and @code
</description>
<parameters>
@@ -10229,6 +14433,26 @@ otherwise.
</return>
</function>
+<function name="g_string_sized_new">
+<description>
+Creates a new #GString, with enough space for @dfl_size
+bytes. This is useful if you are going to add a lot of
+text to the string and don&apos;t want it to be reallocated
+too often.
+
+
+</description>
+<parameters>
+<parameter name="dfl_size">
+<parameter_description> the default size of the space allocated to
+hold the string
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GString
+</return>
+</function>
+
<function name="_glib_get_locale_dir">
<description>
Return the path to the lib\locale subfolder of the GLib
@@ -10244,13 +14468,17 @@ interface.
<function name="g_filename_display_name">
<description>
-Converts a filename into a valid UTF-8 string. The
-conversion is not necessarily reversible, so you
-should keep the original around and use the return
-value of this function only for display purposes.
-Unlike g_filename_to_utf8(), the result is guaranteed
-to be non-NULL even if the filename actually isn&apos;t in the GLib
-file name encoding.
+Converts a filename into a valid UTF-8 string. The conversion is
+not necessarily reversible, so you should keep the original around
+and use the return value of this function only for display purposes.
+Unlike g_filename_to_utf8(), the result is guaranteed to be non-%NULL
+even if the filename actually isn&apos;t in the GLib file name encoding.
+
+If GLib can not make sense of the encoding of @filename, as a last resort it
+replaces unknown characters with U+FFFD, the Unicode replacement character.
+You can search the result for the UTF-8 encoding of this character (which is
+&quot;\357\277\275&quot; in octal notation) to find out if @filename was in an invalid
+encoding.
If you know the whole pathname of the file you should use
g_filename_display_basename(), since that allows location-based
@@ -10390,43 +14618,74 @@ to do.
<return></return>
</function>
-<function name="g_io_channel_read_line">
+<function name="g_regex_ref">
<description>
-Reads a line, including the terminating character(s),
-from a #GIOChannel into a newly-allocated string.
-@str_return will contain allocated memory if the return
-is %G_IO_STATUS_NORMAL.
+Increases reference count of @regex by 1.
</description>
<parameters>
-<parameter name="channel">
-<parameter_description> a #GIOChannel
+<parameter name="regex">
+<parameter_description> a #GRegex
</parameter_description>
</parameter>
-<parameter name="str_return">
-<parameter_description> The line read from the #GIOChannel, including the
-line terminator. This data should be freed with g_free()
-when no longer needed. This is a nul-terminated string.
-If a @length of zero is returned, this will be %NULL instead.
+</parameters>
+<return> @regex
+
+Since: 2.14
+</return>
+</function>
+
+<function name="g_string_prepend_c">
+<description>
+Adds a byte onto the start of a #GString,
+expanding it if necessary.
+
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> a #GString
</parameter_description>
</parameter>
-<parameter name="length">
-<parameter_description> location to store length of the read data, or %NULL
+<parameter name="c">
+<parameter_description> the byte to prepend on the start of the #GString
</parameter_description>
</parameter>
-<parameter name="terminator_pos">
-<parameter_description> location to store position of line terminator, or %NULL
+</parameters>
+<return> @string
+</return>
+</function>
+
+<function name="g_sequence_sort_changed">
+<description>
+Moves the data pointed to a new position as indicated by @cmp_func. This
+function should be called for items in a sequence already sorted according
+to @cmp_func whenever some aspect of an item changes so that @cmp_func
+may return different values for that item.
+
+Since: 2.14
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> A #GSequenceIter
</parameter_description>
</parameter>
-<parameter name="error">
-<parameter_description> A location to return an error of type #GConvertError
-or #GIOChannelError
+<parameter name="cmp_func">
+<parameter_description> the #GCompareDataFunc used to compare items in the sequence. It
+is called with two items of the @seq and @user_data. It should
+return 0 if the items are equal, a negative value if the first
+item comes before the second, and a positive value if the second
+item comes before the first.
+</parameter_description>
+</parameter>
+<parameter name="cmp_data">
+<parameter_description> user data passed to @cmp_func.
</parameter_description>
</parameter>
</parameters>
-<return> the status of the operation.
-</return>
+<return></return>
</function>
<function name="g_strip_context">
@@ -10489,23 +14748,73 @@ of records that need to be stored.
<function name="g_get_home_dir">
<description>
-Gets the current user&apos;s home directory.
+Gets the current user&apos;s home directory as defined in the
+password database.
Note that in contrast to traditional UNIX tools, this function
prefers &amp;lt;filename&amp;gt;passwd&amp;lt;/filename&amp;gt; entries over the &amp;lt;envar&amp;gt;HOME&amp;lt;/envar&amp;gt;
-environment variable.
+environment variable.
+
+One of the reasons for this decision is that applications in many
+cases need special handling to deal with the case where
+&amp;lt;envar&amp;gt;HOME&amp;lt;/envar&amp;gt; is
+&amp;lt;simplelist&amp;gt;
+&amp;lt;member&amp;gt;Not owned by the user&amp;lt;/member&amp;gt;
+&amp;lt;member&amp;gt;Not writeable&amp;lt;/member&amp;gt;
+&amp;lt;member&amp;gt;Not even readable&amp;lt;/member&amp;gt;
+&amp;lt;/simplelist&amp;gt;
+Since applications are in general &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt; written
+to deal with these situations it was considered better to make
+g_get_homedir() not pay attention to &amp;lt;envar&amp;gt;HOME&amp;lt;/envar&amp;gt; and to
+return the real home directory for the user. If applications
+want to pay attention to &amp;lt;envar&amp;gt;HOME&amp;lt;/envar&amp;gt;, they can do:
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+const char *homedir = g_getenv (&quot;HOME&quot;);
+if (!homedir)
+homedir = g_get_homedir (&amp;lt;!-- --&amp;gt;);
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
</description>
<parameters>
</parameters>
-<return> the current user&apos;s home directory.
+<return> the current user&apos;s home directory
</return>
</function>
+<function name="g_memmove">
+<description>
+Copies a block of memory @len bytes long, from @src to @dest.
+The source and destination areas may overlap.
+
+In order to use this function, you must include
+&amp;lt;filename&amp;gt;string.h&amp;lt;/filename&amp;gt; yourself, because this macro will
+typically simply resolve to memmove() and GLib does not include
+&amp;lt;filename&amp;gt;string.h&amp;lt;/filename&amp;gt; for you.
+
+</description>
+<parameters>
+<parameter name="dest">
+<parameter_description> the destination address to copy the bytes to.
+</parameter_description>
+</parameter>
+<parameter name="src">
+<parameter_description> the source address to copy the bytes from.
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> the number of bytes to copy.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="g_queue_free">
<description>
-Frees the memory allocated for the #GQueue.
+Frees the memory allocated for the #GQueue. Only call this function if
+@queue was created with g_queue_new(). If queue elements contain
+dynamically-allocated memory, they should be freed first.
</description>
<parameters>
@@ -10517,6 +14826,31 @@ Frees the memory allocated for the #GQueue.
<return></return>
</function>
+<function name="g_match_info_expand_references">
+<description>
+Returns: the expanded string, or %NULL if an error occurred
+
+</description>
+<parameters>
+<parameter name="match_info">
+<parameter_description> a #GMatchInfo or %NULL
+</parameter_description>
+</parameter>
+<parameter name="string_to_expand">
+<parameter_description> the string to expand
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store the error occuring, or %NULL to ignore errors
+</parameter_description>
+</parameter>
+</parameters>
+<return> the expanded string, or %NULL if an error occurred
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_key_file_load_from_data">
<description>
Loads a key file from memory into an empty #GKeyFile structure. If
@@ -10566,19 +14900,13 @@ Converts all lower case ASCII letters to upper case ASCII letters.
</parameters>
<return> passed-in @string pointer, with all the lower case
characters converted to upper case in place, with
-semantics that exactly match g_ascii_toupper.
+semantics that exactly match g_ascii_toupper().
</return>
</function>
<function name="g_key_file_get_value">
<description>
-Returns the value associated with @key under @group_name.
-
-In the event the key cannot be found, %NULL is returned and
-@error is set to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. In the
-event that the @group_name cannot be found, %NULL is returned
-and @error is set to #G_KEY_FILE_ERROR_GROUP_NOT_FOUND.
-
+Return value: a newly allocated string or %NULL if the specified
</description>
<parameters>
@@ -10631,8 +14959,7 @@ for example if elements are still open.
<function name="g_thread_pool_get_max_threads">
<description>
-Returns the maximal number of threads for @pool.
-
+Return value: the maximal number of threads
</description>
<parameters>
@@ -10689,6 +15016,38 @@ loop with an external event loop.
<return></return>
</function>
+<function name="g_regex_new">
+<description>
+Compiles the regular expression to an internal form, and does
+the initial setup of the #GRegex structure.
+
+
+</description>
+<parameters>
+<parameter name="pattern">
+<parameter_description> the regular expression
+</parameter_description>
+</parameter>
+<parameter name="compile_options">
+<parameter_description> compile options for the regular expression
+</parameter_description>
+</parameter>
+<parameter name="match_options">
+<parameter_description> match options for the regular expression
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GRegex structure. Call g_regex_unref() when you
+are done with it
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_queue_pop_tail">
<description>
Removes the last element of the queue.
@@ -10725,8 +15084,8 @@ timeout is recalculated based on the current time and the given interval
</description>
<parameters>
<parameter name="priority">
-<parameter_description> the priority of the idle source. Typically this will be in the
-range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE.
+<parameter_description> the priority of the timeout source. Typically this will be in
+the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH.
</parameter_description>
</parameter>
<parameter name="interval">
@@ -10743,11 +15102,76 @@ range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE.
</parameter_description>
</parameter>
<parameter name="notify">
-<parameter_description> function to call when the idle is removed, or %NULL
+<parameter_description> function to call when the timeout is removed, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> the ID (greater than 0) of the event source.
+</return>
+</function>
+
+<function name="g_source_is_destroyed">
+<description>
+Return value: %TRUE if the source has been destroyed
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a #GSource
</parameter_description>
</parameter>
</parameters>
-<return> the id of event source.
+<return> %TRUE if the source has been destroyed
+
+Since: 2.12
+</return>
+</function>
+
+<function name="g_date_set_time_val">
+<description>
+Sets the value of a date from a #GTimeVal value. Note that the
+@tv_usec member is ignored, because #GDate can&apos;t make use of the
+additional precision.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="date">
+<parameter_description> a #GDate
+</parameter_description>
+</parameter>
+<parameter name="timeval">
+<parameter_description> #GTimeVal value to set
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_unichar_iszerowidth">
+<description>
+Determines if a given character typically takes zero width when rendered.
+The return value is %TRUE for all non-spacing and enclosing marks
+(e.g., combining accents), format characters, zero-width
+space, but not U+00AD SOFT HYPHEN.
+
+A typical use of this function is with one of g_unichar_iswide() or
+g_unichar_iswide_cjk() to determine the number of cells a string occupies
+when displayed on a grid display (terminals). However, note that not all
+terminals support zero-width rendering of zero-width marks.
+
+
+</description>
+<parameters>
+<parameter name="c">
+<parameter_description> a Unicode character
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the character has zero width
+
+Since: 2.14
</return>
</function>
@@ -10779,50 +15203,67 @@ utility functions with it.)
</return>
</function>
-<function name="g_file_test">
+<function name="g_regex_check_replacement">
<description>
-Returns %TRUE if any of the tests in the bitfield @test are
-%TRUE. For example, &amp;lt;literal&amp;gt;(G_FILE_TEST_EXISTS |
-G_FILE_TEST_IS_DIR)&amp;lt;/literal&amp;gt; will return %TRUE if the file exists;
-the check whether it&apos;s a directory doesn&apos;t matter since the existence
-test is %TRUE. With the current set of available tests, there&apos;s no point
-passing in more than one test at a time.
+Checks whether @replacement is a valid replacement string
+(see g_regex_replace()), i.e. that all escape sequences in
+it are valid.
-Apart from %G_FILE_TEST_IS_SYMLINK all tests follow symbolic links,
-so for a symbolic link to a regular file g_file_test() will return
-%TRUE for both %G_FILE_TEST_IS_SYMLINK and %G_FILE_TEST_IS_REGULAR.
+If @has_references is not %NULL then @replacement is checked
+for pattern references. For instance, replacement text &apos;foo\n&apos;
+does not contain references and may be evaluated without information
+about actual match, but &apos;\0\1&apos; (whole match followed by first
+subpattern) requires valid #GMatchInfo object.
-Note, that for a dangling symbolic link g_file_test() will return
-%TRUE for %G_FILE_TEST_IS_SYMLINK and %FALSE for all other flags.
-You should never use g_file_test() to test whether it is safe
-to perform an operation, because there is always the possibility
-of the condition changing before you actually perform the operation.
-For example, you might think you could use %G_FILE_TEST_IS_SYMLINK
-to know whether it is is safe to write to a file without being
-tricked into writing into a different location. It doesn&apos;t work!
+</description>
+<parameters>
+<parameter name="replacement">
+<parameter_description> the replacement string
+</parameter_description>
+</parameter>
+<parameter name="has_references">
+<parameter_description> location to store information about
+references in @replacement or %NULL
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store error
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @replacement is a valid replacement string
-&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
-/&amp;ast; DON&apos;T DO THIS &amp;ast;/
-if (!g_file_test (filename, G_FILE_TEST_IS_SYMLINK)) {
-fd = g_open (filename, O_WRONLY);
-/&amp;ast; write to fd &amp;ast;/
-}
-&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+Since: 2.14
+</return>
+</function>
-Another thing to note is that %G_FILE_TEST_EXISTS and
-%G_FILE_TEST_IS_EXECUTABLE are implemented using the access()
-system call. This usually doesn&apos;t matter, but if your program
-is setuid or setgid it means that these tests will give you
-the answer for the real user ID and group ID, rather than the
-effective user ID and group ID.
+<function name="g_base64_decode">
+<description>
+Decode a sequence of Base-64 encoded text into binary data
-On Windows, there are no symlinks, so testing for
-%G_FILE_TEST_IS_SYMLINK will always return %FALSE. Testing for
-%G_FILE_TEST_IS_EXECUTABLE will just check that the file exists and
-its name indicates that it is executable, checking for well-known
-extensions and those listed in the %PATHEXT environment variable.
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> zero-terminated string with base64 text to decode
+</parameter_description>
+</parameter>
+<parameter name="out_len">
+<parameter_description> The length of the decoded data is written here
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated buffer containing the binary data
+that @text represents
+
+Since: 2.12
+</return>
+</function>
+
+<function name="g_file_test">
+<description>
+Return value: whether a test was %TRUE
</description>
<parameters>
@@ -10839,29 +15280,97 @@ extensions and those listed in the %PATHEXT environment variable.
</return>
</function>
-<function name="g_async_queue_length_unlocked">
+<function name="g_strstr_len">
<description>
-Returns the length of the queue, negative values mean waiting
-threads, positive values mean available entries in the
-@queue. Actually this function returns the number of data items in
-the queue minus the number of waiting threads. Thus a return value
-of 0 could mean &apos;n&apos; entries in the queue and &apos;n&apos; thread waiting.
-That can happen due to locking of the queue or due to
-scheduling. This function must be called while holding the @queue&apos;s
-lock.
+Searches the string @haystack for the first occurrence
+of the string @needle, limiting the length of the search
+to @haystack_len.
</description>
<parameters>
-<parameter name="queue">
-<parameter_description> a #GAsyncQueue.
+<parameter name="haystack">
+<parameter_description> a string.
+</parameter_description>
+</parameter>
+<parameter name="haystack_len">
+<parameter_description> the maximum length of @haystack.
+</parameter_description>
+</parameter>
+<parameter name="needle">
+<parameter_description> the string to search for.
</parameter_description>
</parameter>
</parameters>
-<return> the length of the @queue.
+<return> a pointer to the found occurrence, or
+%NULL if not found.
</return>
</function>
+<function name="g_ascii_formatd">
+<description>
+Converts a #gdouble to a string, using the &apos;.&apos; as
+decimal point. To format the number you pass in
+a printf()-style format string. Allowed conversion
+specifiers are &apos;e&apos;, &apos;E&apos;, &apos;f&apos;, &apos;F&apos;, &apos;g&apos; and &apos;G&apos;.
+
+If you just want to want to serialize the value into a
+string, use g_ascii_dtostr().
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> A buffer to place the resulting string in
+</parameter_description>
+</parameter>
+<parameter name="buf_len">
+<parameter_description> The length of the buffer.
+</parameter_description>
+</parameter>
+<parameter name="format">
+<parameter_description> The printf()-style format to use for the
+code to use for converting.
+</parameter_description>
+</parameter>
+<parameter name="d">
+<parameter_description> The #gdouble to convert
+</parameter_description>
+</parameter>
+</parameters>
+<return> The pointer to the buffer with the converted string.
+</return>
+</function>
+
+<function name="g_bookmark_file_set_title">
+<description>
+Sets @title as the title of the bookmark for @uri inside the
+bookmark file @bookmark.
+
+If @uri is %NULL, the title of @bookmark is set.
+
+If a bookmark for @uri cannot be found then it is created.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI or %NULL
+</parameter_description>
+</parameter>
+<parameter name="title">
+<parameter_description> a UTF-8 encoded string
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="g_thread_pool_set_max_threads">
<description>
Sets the maximal allowed number of threads for @pool. A value of -1
@@ -10943,7 +15452,7 @@ is fairly complex.)
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if @c is a punctuation character
+<return> %TRUE if @c is a space character
</return>
</function>
@@ -10993,19 +15502,89 @@ error occurs, %NULL will be returned and
</return>
</function>
-<function name="g_error_copy">
+<function name="g_tree_search">
<description>
-Makes a copy of @error.
+Searches a #GTree using @search_func.
+
+The @search_func is called with a pointer to the key of a key/value pair in
+the tree, and the passed in @user_data. If @search_func returns 0 for a
+key/value pair, then g_tree_search_func() will return the value of that
+pair. If @search_func returns -1, searching will proceed among the
+key/value pairs that have a smaller key; if @search_func returns 1,
+searching will proceed among the key/value pairs that have a larger key.
</description>
<parameters>
-<parameter name="error">
-<parameter_description> a #GError
+<parameter name="tree">
+<parameter_description> a #GTree.
+</parameter_description>
+</parameter>
+<parameter name="search_func">
+<parameter_description> a function used to search the #GTree.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> the data passed as the second argument to the @search_func
+function.
</parameter_description>
</parameter>
</parameters>
-<return> a new #GError
+<return> the value corresponding to the found key, or %NULL if the key
+was not found.
+</return>
+</function>
+
+<function name="g_get_prgname">
+<description>
+Gets the name of the program. This name should &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt;
+be localized, contrast with g_get_application_name().
+(If you are using GDK or GTK+ the program name is set in gdk_init(),
+which is called by gtk_init(). The program name is found by taking
+the last component of &amp;lt;literal&amp;gt;argv[0]&amp;lt;/literal&amp;gt;.)
+
+
+</description>
+<parameters>
+</parameters>
+<return> the name of the program. The returned string belongs
+to GLib and must not be modified or freed.
+</return>
+</function>
+
+<function name="g_string_insert_len">
+<description>
+Inserts @len bytes of @val into @string at @pos.
+Because @len is provided, @val may contain embedded
+nuls and need not be nul-terminated. If @pos is -1,
+bytes are inserted at the end of the string.
+
+Since this function does not stop at nul bytes, it is
+the caller&apos;s responsibility to ensure that @val has at
+least @len addressable bytes.
+
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> a #GString
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> position in @string where insertion should
+happen, or -1 for at the end
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> bytes to insert
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> number of bytes of @val to insert
+</parameter_description>
+</parameter>
+</parameters>
+<return> @string
</return>
</function>
@@ -11039,27 +15618,58 @@ so that the distance from the root to every leaf is as small as possible.
<return></return>
</function>
-<function name="g_ascii_strup">
+<function name="g_thread_pool_new">
<description>
-Converts all lower case ASCII letters to upper case ASCII letters.
+This function creates a new thread pool.
+
+Whenever you call g_thread_pool_push(), either a new thread is
+created or an unused one is reused. At most @max_threads threads
+are running concurrently for this thread pool. @max_threads = -1
+allows unlimited threads to be created for this thread pool. The
+newly created or reused thread now executes the function @func with
+the two arguments. The first one is the parameter to
+g_thread_pool_push() and the second one is @user_data.
+
+The parameter @exclusive determines, whether the thread pool owns
+all threads exclusive or whether the threads are shared
+globally. If @exclusive is %TRUE, @max_threads threads are started
+immediately and they will run exclusively for this thread pool until
+it is destroyed by g_thread_pool_free(). If @exclusive is %FALSE,
+threads are created, when needed and shared between all
+non-exclusive thread pools. This implies that @max_threads may not
+be -1 for exclusive thread pools.
+
+@error can be %NULL to ignore errors, or non-%NULL to report
+errors. An error can only occur when @exclusive is set to %TRUE and
+not all @max_threads threads could be created.
</description>
<parameters>
-<parameter name="str">
-<parameter_description> a string.
+<parameter name="func">
+<parameter_description> a function to execute in the threads of the new thread pool
</parameter_description>
</parameter>
-<parameter name="len">
-<parameter_description> length of @str in bytes, or -1 if @str is nul-terminated.
+<parameter name="user_data">
+<parameter_description> user data that is handed over to @func every time it
+is called
+</parameter_description>
+</parameter>
+<parameter name="max_threads">
+<parameter_description> the maximal number of threads to execute concurrently in
+the new thread pool, -1 means no limit
+</parameter_description>
+</parameter>
+<parameter name="exclusive">
+<parameter_description> should this thread pool be exclusive?
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for error
</parameter_description>
</parameter>
</parameters>
-<return> a newly allocated string, with all the lower case
-characters in @str converted to upper case, with
-semantics that exactly match g_ascii_toupper(). (Note
-that this is unlike the old g_strup(), which modified
-the string in place.)
+<return> the new #GThreadPool
</return>
</function>
@@ -11080,7 +15690,36 @@ that context.
</parameter_description>
</parameter>
</parameters>
-<return> the ID for the source within the #GMainContext
+<return> the ID (greater than 0) for the source within the
+#GMainContext.
+</return>
+</function>
+
+<function name="g_vfprintf">
+<description>
+An implementation of the standard fprintf() function which supports
+positional parameters, as specified in the Single Unix Specification.
+
+
+</description>
+<parameters>
+<parameter name="file">
+<parameter_description> the stream to write to.
+</parameter_description>
+</parameter>
+<parameter name="format">
+<parameter_description> a standard printf() format string, but notice
+&amp;lt;link linkend=&quot;string-precision&quot;&amp;gt;string precision pitfalls&amp;lt;/link&amp;gt;.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> the list of arguments to insert in the output.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of characters printed.
+
+Since: 2.2
</return>
</function>
@@ -11172,7 +15811,8 @@ If the key does not exist in the #GTree, the function does nothing.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the key was found (prior to 2.8, this function returned nothing)
+<return> %TRUE if the key was found (prior to 2.8, this function returned
+nothing)
</return>
</function>
@@ -11215,6 +15855,35 @@ Creates a new asynchronous queue with the initial reference count of 1.
<description>
Specifies a function to be called at normal program termination.
+Since GLib 2.8.2, on Windows g_atexit() actually is a preprocessor
+macro that maps to a call to the atexit() function in the C
+library. This means that in case the code that calls g_atexit(),
+i.e. atexit(), is in a DLL, the function will be called when the
+DLL is detached from the program. This typically makes more sense
+than that the function is called when the GLib DLL is detached,
+which happened earlier when g_atexit() was a function in the GLib
+DLL.
+
+The behaviour of atexit() in the context of dynamically loaded
+modules is not formally specified and varies wildly.
+
+On POSIX systems, calling g_atexit() (or atexit()) in a dynamically
+loaded module which is unloaded before the program terminates might
+well cause a crash at program exit.
+
+Some POSIX systems implement atexit() like Windows, and have each
+dynamically loaded module maintain an own atexit chain that is
+called when the module is unloaded.
+
+On other POSIX systems, before a dynamically loaded module is
+unloaded, the registered atexit functions (if any) residing in that
+module are called, regardless where the code that registered them
+resided. This is presumably the most robust approach.
+
+As can be seen from the above, for portability it&apos;s best to avoid
+calling g_atexit() (or atexit()) except in the main executable of a
+program.
+
</description>
<parameters>
<parameter name="func">
@@ -11228,11 +15897,11 @@ Specifies a function to be called at normal program termination.
<function name="g_utf8_collate">
<description>
Compares two strings for ordering using the linguistically
-correct rules for the current locale. When sorting a large
-number of strings, it will be significantly faster to
-obtain collation keys with g_utf8_collate_key() and
-compare the keys with strcmp() when
-sorting instead of sorting the original strings.
+correct rules for the &amp;lt;link linkend=&quot;setlocale&quot;&amp;gt;current locale&amp;lt;/link&amp;gt;.
+When sorting a large number of strings, it will be significantly
+faster to obtain collation keys with g_utf8_collate_key() and
+compare the keys with strcmp() when sorting instead of sorting
+the original strings.
</description>
@@ -11251,6 +15920,83 @@ sorting instead of sorting the original strings.
</return>
</function>
+<function name="g_spawn_async">
+<description>
+See g_spawn_async_with_pipes() for a full description; this function
+simply calls the g_spawn_async_with_pipes() without any pipes.
+
+&amp;lt;note&amp;gt;&amp;lt;para&amp;gt;
+If you are writing a GTK+ application, and the program you
+are spawning is a graphical application, too, then you may
+want to use gdk_spawn_on_screen() instead to ensure that
+the spawned program opens its windows on the right screen.
+&amp;lt;/para&amp;gt;&amp;lt;/note&amp;gt;
+
+
+</description>
+<parameters>
+<parameter name="working_directory">
+<parameter_description> child&apos;s current working directory, or %NULL to inherit parent&apos;s
+</parameter_description>
+</parameter>
+<parameter name="argv">
+<parameter_description> child&apos;s argument vector
+</parameter_description>
+</parameter>
+<parameter name="envp">
+<parameter_description> child&apos;s environment, or %NULL to inherit parent&apos;s
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags from #GSpawnFlags
+</parameter_description>
+</parameter>
+<parameter name="child_setup">
+<parameter_description> function to run in the child just before exec()
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data for @child_setup
+</parameter_description>
+</parameter>
+<parameter name="child_pid">
+<parameter_description> return location for child process ID, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for error
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE on success, %FALSE if error is set
+</return>
+</function>
+
+<function name="g_async_queue_timed_pop">
+<description>
+Pops data from the @queue. If no data is received before @end_time,
+%NULL is returned.
+
+To easily calculate @end_time a combination of g_get_current_time()
+and g_time_val_add() can be used.
+
+
+</description>
+<parameters>
+<parameter name="queue">
+<parameter_description> a #GAsyncQueue.
+</parameter_description>
+</parameter>
+<parameter name="end_time">
+<parameter_description> a #GTimeVal, determining the final time.
+</parameter_description>
+</parameter>
+</parameters>
+<return> data from the queue or %NULL, when no data is
+received before @end_time.
+</return>
+</function>
+
<function name="g_uri_list_extract_uris">
<description>
Splits an URI list conforming to the text/uri-list
@@ -11273,43 +16019,32 @@ Since: 2.6
</return>
</function>
-<function name="g_ascii_strtoull">
+<function name="g_hash_table_insert">
<description>
-Converts a string to a #guint64 value.
-This function behaves like the standard strtoull() function
-does in the C locale. It does this without actually
-changing the current locale, since that would not be
-thread-safe.
-
-This function is typically used when reading configuration
-files or other non-user input that should be locale independent.
-To handle input from the user you should normally use the
-locale-sensitive system strtoull() function.
-
-If the correct value would cause overflow, %G_MAXUINT64
-is returned, and %ERANGE is stored in %errno.
+Inserts a new key and value into a #GHashTable.
+If the key already exists in the #GHashTable its current value is replaced
+with the new value. If you supplied a @value_destroy_func when creating the
+#GHashTable, the old value is freed using that function. If you supplied
+a @key_destroy_func when creating the #GHashTable, the passed key is freed
+using that function.
</description>
<parameters>
-<parameter name="nptr">
-<parameter_description> the string to convert to a numeric value.
+<parameter name="hash_table">
+<parameter_description> a #GHashTable.
</parameter_description>
</parameter>
-<parameter name="endptr">
-<parameter_description> if non-%NULL, it returns the character after
-the last character used in the conversion.
+<parameter name="key">
+<parameter_description> a key to insert.
</parameter_description>
</parameter>
-<parameter name="base">
-<parameter_description> to be used for the conversion, 2..36 or 0
+<parameter name="value">
+<parameter_description> the value to associate with the key.
</parameter_description>
</parameter>
</parameters>
-<return> the #guint64 value.
-
-Since: 2.2
-</return>
+<return></return>
</function>
<function name="g_source_remove_by_user_data">
@@ -11330,22 +16065,27 @@ data, only one will be destroyed.
</return>
</function>
-<function name="g_date_get_iso8601_week_of_year">
+<function name="g_tree_steal">
<description>
-Returns the week of the year, where weeks are interpreted according
-to ISO 8601.
+Removes a key and its associated value from a #GTree without calling
+the key and value destroy functions.
+
+If the key does not exist in the #GTree, the function does nothing.
</description>
<parameters>
-<parameter name="date">
-<parameter_description> a valid #GDate
+<parameter name="tree">
+<parameter_description> a #GTree.
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> the key to remove.
</parameter_description>
</parameter>
</parameters>
-<return> ISO 8601 week number of the year.
-
-Since: 2.6
+<return> %TRUE if the key was found (prior to 2.8, this function returned
+nothing)
</return>
</function>
@@ -11449,21 +16189,75 @@ don&apos;t want to supply such a function.
</return>
</function>
-<function name="g_spawn_close_pid">
+<function name="g_main_context_get_poll_func">
<description>
-On some platforms, notably WIN32, the #GPid type represents a resource
-which must be closed to prevent resource leaking. g_spawn_close_pid()
-is provided for this purpose. It should be used on all platforms, even
-though it doesn&apos;t do anything under UNIX.
+Gets the poll function set by g_main_context_set_poll_func().
+
</description>
<parameters>
-<parameter name="pid">
-<parameter_description> The process identifier to close
+<parameter name="context">
+<parameter_description> a #GMainContext
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> the poll function
+</return>
+</function>
+
+<function name="g_string_chunk_insert_const">
+<description>
+Adds a copy of @string to the #GStringChunk, unless the same
+string has already been added to the #GStringChunk with
+g_string_chunk_insert_const().
+
+This function is useful if you need to copy a large number
+of strings but do not want to waste space storing duplicates.
+But you must remember that there may be several pointers to
+the same string, and so any changes made to the strings
+should be done very carefully.
+
+Note that g_string_chunk_insert_const() will not return a
+pointer to a string added with g_string_chunk_insert(), even
+if they do match.
+
+
+</description>
+<parameters>
+<parameter name="chunk">
+<parameter_description> a #GStringChunk
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> the string to add
+</parameter_description>
+</parameter>
+</parameters>
+<return> a pointer to the new or existing copy of @string
+within the #GStringChunk
+</return>
+</function>
+
+<function name="g_string_free">
+<description>
+Frees the memory allocated for the #GString.
+If @free_segment is %TRUE it also frees the character data.
+
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> a #GString
+</parameter_description>
+</parameter>
+<parameter name="free_segment">
+<parameter_description> if %TRUE the actual character data is freed as well
+</parameter_description>
+</parameter>
+</parameters>
+<return> the character data of @string
+(i.e. %NULL if @free_segment is %TRUE)
+</return>
</function>
<function name="g_unichar_toupper">
@@ -11484,6 +16278,29 @@ or has no upper case equivalent @c is returned unchanged.
</return>
</function>
+<function name="g_sequence_remove_range">
+<description>
+Removes all items in the (@begin, @end) range.
+
+If the sequence has a data destroy function associated with it, this
+function is called on the data for the removed items.
+
+Since: 2.14
+
+</description>
+<parameters>
+<parameter name="begin">
+<parameter_description> a #GSequenceIter
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> a #GSequenceIter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="g_io_channel_set_line_term">
<description>
This sets the string that #GIOChannel uses to determine
@@ -11521,7 +16338,9 @@ positional parameters, as specified in the Single Unix Specification.
</description>
<parameters>
<parameter name="string">
-<parameter_description> the buffer to hold the output.
+<parameter_description> A pointer to a memory buffer to contain the resulting string. It
+is up to the caller to ensure that the allocated buffer is large
+enough to hold the formatted result
</parameter_description>
</parameter>
<parameter name="format">
@@ -11566,7 +16385,7 @@ characters of the strings.
<return> 0 if the strings match, a negative value if @s1 &amp;lt; @s2,
or a positive value if @s1 &amp;gt; @s2.
-Deprecated: The problem with g_strncasecmp() is that it does the
+Deprecated:2.2: The problem with g_strncasecmp() is that it does the
comparison by calling toupper()/tolower(). These functions are
locale-specific and operate on single bytes. However, it is impossible
to handle things correctly from an I18N standpoint by operating on
@@ -11603,6 +16422,23 @@ Computes the canonical decomposition of a Unicode character.
</return>
</function>
+<function name="g_sequence_get_begin_iter">
+<description>
+Return value: the begin iterator for @seq.
+
+</description>
+<parameters>
+<parameter name="seq">
+<parameter_description> a #GSequence
+</parameter_description>
+</parameter>
+</parameters>
+<return> the begin iterator for @seq.
+
+Since: 2.14
+</return>
+</function>
+
<function name="iconv_cache_bucket_expire">
<description>
Expires a single cache bucket @bucket. This should only ever be
@@ -11626,44 +16462,55 @@ search for it ourselves.
<return></return>
</function>
-<function name="g_child_watch_source_new">
+<function name="g_tree_new_with_data">
<description>
-Creates a new child_watch source.
+Creates a new #GTree with a comparison function that accepts user data.
+See g_tree_new() for more details.
-The source will not initially be associated with any #GMainContext
-and must be added to one with g_source_attach() before it will be
-executed.
-Note that on platforms where #GPid must be explicitely closed
-(see g_spawn_close_pid()) @pid must not be closed while the
-source is still active. Typically, you will want to call
-g_spawn_close_pid() in the callback function for the source.
+</description>
+<parameters>
+<parameter name="key_compare_func">
+<parameter_description> qsort()-style comparison function.
+</parameter_description>
+</parameter>
+<parameter name="key_compare_data">
+<parameter_description> data to pass to comparison function.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GTree.
+</return>
+</function>
-Note further that using g_child_watch_source_new() is not
-compatible with calling &amp;lt;literal&amp;gt;waitpid(-1)&amp;lt;/literal&amp;gt; in
-the application. Calling waitpid() for individual pids will
-still work fine.
+<function name="g_key_file_remove_group">
+<description>
+Removes the specified group, @group_name,
+from the key file.
+Since: 2.6
</description>
<parameters>
-<parameter name="pid">
-<parameter_description> process id of a child process to watch. On Windows, a HANDLE
-for the process to watch (which actually doesn&apos;t have to be a child).
+<parameter name="key_file">
+<parameter_description> a #GKeyFile
+</parameter_description>
+</parameter>
+<parameter name="group_name">
+<parameter_description> a group name
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError or %NULL
</parameter_description>
</parameter>
</parameters>
-<return> the newly-created child watch source
-
-Since: 2.4
-</return>
+<return></return>
</function>
<function name="g_rand_int">
<description>
-Returns the next random #guint32 from @rand_ equally distributed over
-the range [0..2^32-1].
-
+Return value: A random number.
</description>
<parameters>
@@ -11676,6 +16523,67 @@ the range [0..2^32-1].
</return>
</function>
+<function name="g_unichar_iswide_cjk">
+<description>
+Determines if a character is typically rendered in a double-width
+cell under legacy East Asian locales. If a character is wide according to
+g_unichar_iswide(), then it is also reported wide with this function, but
+the converse is not necessarily true. See the
+&amp;lt;ulink url=&quot;http://www.unicode.org/reports/tr11/&quot;&amp;gt;Unicode Standard
+Annex #11&amp;lt;/ulink&amp;gt; for details.
+
+
+</description>
+<parameters>
+<parameter name="c">
+<parameter_description> a Unicode character
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the character is wide in legacy East Asian locales
+
+Since: 2.12
+</return>
+</function>
+
+<function name="g_option_context_set_translate_func">
+<description>
+Sets the function which is used to translate the contexts
+user-visible strings, for &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt; output.
+If @func is %NULL, strings are not translated.
+
+Note that option groups have their own translation functions,
+this function only affects the @parameter_string (see g_option_context_new()),
+the summary (see g_option_context_set_summary()) and the description
+(see g_option_context_set_description()).
+
+If you are using gettext(), you only need to set the translation
+domain, see g_context_group_set_translation_domain().
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GOptionContext
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> the #GTranslateFunc, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> user data to pass to @func, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="destroy_notify">
+<parameter_description> a function which gets called to free @data, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="g_io_channel_get_buffer_condition">
<description>
This function returns a #GIOCondition depending on whether there
@@ -11704,6 +16612,9 @@ be modified while iterating over it (you can&apos;t add/remove
items). To remove all items matching a predicate, use
g_hash_table_foreach_remove().
+See g_hash_table_find() for performance caveats for linear
+order searches in contrast to g_hash_table_lookup().
+
</description>
<parameters>
<parameter name="hash_table">
@@ -11724,16 +16635,7 @@ g_hash_table_foreach_remove().
<function name="g_key_file_get_locale_string_list">
<description>
-Returns the values associated with @key under @group_name
-translated in the given @locale if available. If @locale is
-%NULL then the current locale is assumed.
-
-If @key cannot be found then %NULL is returned and @error is set to
-#G_KEY_FILE_ERROR_KEY_NOT_FOUND. If the values associated
-with @key cannot be interpreted or no suitable translations
-can be found then the untranslated values are returned.
-The returned array is %NULL-terminated, so @length may optionally be %NULL.
-
+Return value: a newly allocated %NULL-terminated string array
</description>
<parameters>
@@ -11770,20 +16672,98 @@ Since: 2.6
</return>
</function>
-<function name="g_nullify_pointer">
+<function name="g_async_queue_sort_unlocked">
<description>
-Set the pointer at the specified location to %NULL.
+Sorts @queue using @func.
+
+This function is called while holding the @queue&apos;s lock.
+
+Since: 2.10
</description>
<parameters>
-<parameter name="nullify_location">
-<parameter_description> the memory address of the pointer.
+<parameter name="queue">
+<parameter_description> a #GAsyncQueue
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> the #GCompareDataFunc is used to sort @queue. This
+function is passed two elements of the @queue. The function
+should return 0 if they are equal, a negative value if the
+first element should be higher in the @queue or a positive
+value if the first element should be lower in the @queue than
+the second element.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data passed to @func
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
+<function name="g_io_channel_read_line">
+<description>
+Reads a line, including the terminating character(s),
+from a #GIOChannel into a newly-allocated string.
+@str_return will contain allocated memory if the return
+is %G_IO_STATUS_NORMAL.
+
+
+</description>
+<parameters>
+<parameter name="channel">
+<parameter_description> a #GIOChannel
+</parameter_description>
+</parameter>
+<parameter name="str_return">
+<parameter_description> The line read from the #GIOChannel, including the
+line terminator. This data should be freed with g_free()
+when no longer needed. This is a nul-terminated string.
+If a @length of zero is returned, this will be %NULL instead.
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> location to store length of the read data, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="terminator_pos">
+<parameter_description> location to store position of line terminator, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> A location to return an error of type #GConvertError
+or #GIOChannelError
+</parameter_description>
+</parameter>
+</parameters>
+<return> the status of the operation.
+</return>
+</function>
+
+<function name="g_sequence_iter_move">
+<description>
+Return value: a #GSequenceIter which is @delta positions away from @iter.
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GSequenceIter
+</parameter_description>
+</parameter>
+<parameter name="delta">
+<parameter_description> A positive or negative number indicating how many positions away
+from @iter the returned #GSequenceIter will be.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GSequenceIter which is @delta positions away from @iter.
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_key_file_set_locale_string">
<description>
Associates a string value for @key and @locale under
@@ -11832,7 +16812,7 @@ into the string at the given position.
</parameter>
<parameter name="pos">
<parameter_description> the position at which to insert character, or -1 to
-append at the end of the string.
+append at the end of the string
</parameter_description>
</parameter>
<parameter name="wc">
@@ -11844,13 +16824,120 @@ append at the end of the string.
</return>
</function>
+<function name="g_bookmark_file_free">
+<description>
+Frees a #GBookmarkFile.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_regex_match_full">
+<description>
+Scans for a match in string for the pattern in @regex.
+The @match_options are combined with the match options specified
+when the @regex structure was created, letting you have more
+flexibility in reusing #GRegex structures.
+
+Setting @start_position differs from just passing over a shortened
+string and setting #G_REGEX_MATCH_NOTBOL in the case of a pattern
+that begins with any kind of lookbehind assertion, such as &quot;\b&quot;.
+
+A #GMatchInfo structure, used to get information on the match, is
+stored in @match_info if not %NULL. Note that if @match_info is
+not %NULL then it is created even if the function returns %FALSE,
+i.e. you must free it regardless if regular expression actually
+matched.
+
+@string is not copied and is used in #GMatchInfo internally. If
+you use any #GMatchInfo method (except g_match_info_free()) after
+freeing or modifying @string then the behaviour is undefined.
+
+To retrieve all the non-overlapping matches of the pattern in
+string you can use g_match_info_next().
+
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+static void
+print_uppercase_words (const gchar *string)
+{
+/&amp;ast; Print all uppercase-only words. &amp;ast;/
+GRegex *regex;
+GMatchInfo *match_info;
+GError *error = NULL;
+&amp;nbsp;
+regex = g_regex_new (&quot;[A-Z]+&quot;, 0, 0, NULL);
+g_regex_match_full (regex, string, -1, 0, 0, &amp;amp;match_info, &amp;amp;error);
+while (g_match_info_matches (match_info))
+{
+gchar *word = g_match_info_fetch (match_info, 0);
+g_print (&quot;Found: %s\n&quot;, word);
+g_free (word);
+g_match_info_next (match_info, &amp;amp;error);
+}
+g_match_info_free (match_info);
+g_regex_unref (regex);
+if (error != NULL)
+{
+g_printerr (&quot;Error while matching: %s\n&quot;, error-&amp;gt;message);
+g_error_free (error);
+}
+}
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+
+</description>
+<parameters>
+<parameter name="regex">
+<parameter_description> a #GRegex structure from g_regex_new()
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> the string to scan for matches
+</parameter_description>
+</parameter>
+<parameter name="string_len">
+<parameter_description> the length of @string, or -1 if @string is nul-terminated
+</parameter_description>
+</parameter>
+<parameter name="start_position">
+<parameter_description> starting index of the string to match
+</parameter_description>
+</parameter>
+<parameter name="match_options">
+<parameter_description> match options
+</parameter_description>
+</parameter>
+<parameter name="match_info">
+<parameter_description> pointer to location where to store the #GMatchInfo,
+or %NULL if you do not need it
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store the error occuring, or %NULL to ignore errors
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE is the string matched, %FALSE otherwise
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_get_charset">
<description>
-Obtains the character set for the current locale; you might use
-this character set as an argument to g_convert(), to convert from
-the current locale&apos;s encoding to some other encoding. (Frequently
-g_locale_to_utf8() and g_locale_from_utf8() are nice shortcuts,
-though.)
+Obtains the character set for the &amp;lt;link linkend=&quot;setlocale&quot;&amp;gt;current
+locale&amp;lt;/link&amp;gt;; you might use this character set as an argument to
+g_convert(), to convert from the current locale&apos;s encoding to some
+other encoding. (Frequently g_locale_to_utf8() and g_locale_from_utf8()
+are nice shortcuts, though.)
The return value is %TRUE if the locale&apos;s encoding is UTF-8, in that
case you can perhaps avoid calling g_convert().
@@ -11923,11 +17010,11 @@ of line endings and attribute values.
</parameter_description>
</parameter>
<parameter name="length">
-<parameter_description> length of @text in bytes
+<parameter_description> length of @text in bytes, or -1 if the text is nul-terminated
</parameter_description>
</parameter>
</parameters>
-<return> escaped text
+<return> a newly allocated string with the escaped text
</return>
</function>
@@ -11951,6 +17038,11 @@ If automatic &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt; support is enab
this function will produce help output to stdout and
call &amp;lt;literal&amp;gt;exit (0)&amp;lt;/literal&amp;gt;.
+Note that function depends on the
+&amp;lt;link linkend=&quot;setlocale&quot;&amp;gt;current locale&amp;lt;/link&amp;gt; for
+automatic character set conversion of string and filename
+arguments.
+
</description>
<parameters>
@@ -11959,11 +17051,11 @@ call &amp;lt;literal&amp;gt;exit (0)&amp;lt;/literal&amp;gt;.
</parameter_description>
</parameter>
<parameter name="argc">
-<parameter_description> a pointer to the number of command line arguments.
+<parameter_description> a pointer to the number of command line arguments
</parameter_description>
</parameter>
<parameter name="argv">
-<parameter_description> a pointer to the array of command line arguments.
+<parameter_description> a pointer to the array of command line arguments
</parameter_description>
</parameter>
<parameter name="error">
@@ -11978,6 +17070,23 @@ Since: 2.6
</return>
</function>
+<function name="g_intern_static_string">
+<description>
+Returns: a canonical representation for the string
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> a static string
+</parameter_description>
+</parameter>
+</parameters>
+<return> a canonical representation for the string
+
+Since: 2.10
+</return>
+</function>
+
<function name="g_strsplit">
<description>
Splits a string into a maximum of @max_tokens pieces, using the given
@@ -12015,40 +17124,53 @@ g_strfreev() to free it.
</return>
</function>
-<function name="g_shell_quote">
+<function name="g_queue_is_empty">
<description>
-Quotes a string so that the shell (/bin/sh) will interpret the
-quoted string to mean @unquoted_string. If you pass a filename to
-the shell, for example, you should first quote it with this
-function. The return value must be freed with g_free(). The
-quoting style used is undefined (single or double quotes may be
-used).
-
+Returns: %TRUE if the queue is empty.
</description>
<parameters>
-<parameter name="unquoted_string">
-<parameter_description> a literal string
+<parameter name="queue">
+<parameter_description> a #GQueue.
</parameter_description>
</parameter>
</parameters>
-<return> quoted string
+<return> %TRUE if the queue is empty.
</return>
</function>
-<function name="g_error_free">
+<function name="g_hash_table_new_full">
<description>
-Frees a #GError and associated resources.
+Creates a new #GHashTable like g_hash_table_new() with a reference count
+of 1 and allows to specify functions to free the memory allocated for the
+key and value that get called when removing the entry from the #GHashTable.
</description>
<parameters>
-<parameter name="error">
-<parameter_description> a #GError
+<parameter name="hash_func">
+<parameter_description> a function to create a hash value from a key.
+</parameter_description>
+</parameter>
+<parameter name="key_equal_func">
+<parameter_description> a function to check two keys for equality.
+</parameter_description>
+</parameter>
+<parameter name="key_destroy_func">
+<parameter_description> a function to free the memory allocated for the key
+used when removing the entry from the #GHashTable or %NULL if you
+don&apos;t want to supply such a function.
+</parameter_description>
+</parameter>
+<parameter name="value_destroy_func">
+<parameter_description> a function to free the memory allocated for the
+value used when removing the entry from the #GHashTable or %NULL if
+you don&apos;t want to supply such a function.
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> a new #GHashTable.
+</return>
</function>
<function name="g_remove">
@@ -12065,6 +17187,11 @@ thus works for both files and directories. Note however, that on
Windows, it is in general not possible to remove a file that is
open to some process, or mapped into memory.
+If this function fails on Windows you can&apos;t infer too much from the
+errno value. rmdir() is tried regardless of what caused remove() to
+fail. Any errno value set by remove() will be overwritten by that
+set by rmdir().
+
</description>
<parameters>
@@ -12080,6 +17207,29 @@ Since: 2.6
</return>
</function>
+<function name="g_regex_get_string_number">
+<description>
+Retrieves the number of the subexpression named @name.
+
+
+</description>
+<parameters>
+<parameter name="regex">
+<parameter_description> #GRegex structure
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> name of the subexpression
+</parameter_description>
+</parameter>
+</parameters>
+<return> The number of the subexpression or -1 if @name
+does not exists
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_main_context_check">
<description>
Passes the results of polling back to the main loop.
@@ -12125,7 +17275,9 @@ it would be returned by waitpid(); standard UNIX macros such as WIFEXITED()
and WEXITSTATUS() must be used to evaluate the exit status.
On Windows, please note the implications of g_shell_parse_argv()
-parsing @command_line. Space is a separator, and backslashes are
+parsing @command_line. Parsing is done according to Unix shell rules, not
+Windows command interpreter rules.
+Space is a separator, and backslashes are
special. Thus you cannot simply pass a @command_line containing
canonical Windows paths, like &quot;c:\\program files\\app\\app.exe&quot;, as
the backslashes will be eaten, and the space will act as a
@@ -12160,6 +17312,59 @@ separator. You need to enclose such paths with single quotes, like
</return>
</function>
+<function name="g_sequence_sort">
+<description>
+Sorts @seq using @cmp_func.
+
+Since: 2.14
+
+</description>
+<parameters>
+<parameter name="seq">
+<parameter_description> a #GSequence
+</parameter_description>
+</parameter>
+<parameter name="cmp_func">
+<parameter_description> the #GCompareDataFunc used to sort @seq. This function is
+passed two items of @seq and should return 0 if they are equal,
+a negative value fi the first comes before the second, and a
+positive value if the second comes before the first.
+</parameter_description>
+</parameter>
+<parameter name="cmp_data">
+<parameter_description> user data passed to @cmp_func
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_option_context_set_summary">
+<description>
+Adds a string to be displayed in &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt; output
+before the list of options. This is typically a summary of the
+program functionality.
+
+Note that the summary is translated (see
+g_option_context_set_translate_func(), g_option_context_set_translation_domain()).
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GOptionContext
+</parameter_description>
+</parameter>
+<parameter name="summary">
+<parameter_description> a string to be shown in &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt; output
+before the list of options, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="g_build_filenamev">
<description>
Behaves exactly like g_build_filename(), but takes the path elements
@@ -12223,116 +17428,113 @@ or #GIOChannelError
</return>
</function>
-<function name="g_source_get_can_recurse">
+<function name="g_io_channel_get_flags">
<description>
-Checks whether a source is allowed to be called recursively.
-see g_source_set_can_recurse().
+Gets the current flags for a #GIOChannel, including read-only
+flags such as %G_IO_FLAG_IS_READABLE.
+
+The values of the flags %G_IO_FLAG_IS_READABLE and %G_IO_FLAG_IS_WRITEABLE
+are cached for internal use by the channel when it is created.
+If they should change at some later point (e.g. partial shutdown
+of a socket with the UNIX shutdown() function), the user
+should immediately call g_io_channel_get_flags () to update
+the internal values of these flags.
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a #GSource
+<parameter name="channel">
+<parameter_description> a #GIOChannel
</parameter_description>
</parameter>
</parameters>
-<return> whether recursion is allowed.
+<return> the flags which are set on the channel
</return>
</function>
-<function name="g_io_channel_read_to_end">
+<function name="g_locale_from_utf8">
<description>
-Reads all the remaining data from the file.
+Converts a string from UTF-8 to the encoding used for strings by
+the C runtime (usually the same as that used by the operating
+system) in the &amp;lt;link linkend=&quot;setlocale&quot;&amp;gt;current locale&amp;lt;/link&amp;gt;.
</description>
<parameters>
-<parameter name="channel">
-<parameter_description> a #GIOChannel
+<parameter name="utf8string">
+<parameter_description> a UTF-8 encoded string
</parameter_description>
</parameter>
-<parameter name="str_return">
-<parameter_description> Location to store a pointer to a string holding
-the remaining data in the #GIOChannel. This data should
-be freed with g_free() when no longer needed. This
-data is terminated by an extra nul character, but there
-may be other nuls in the intervening data.
+<parameter name="len">
+<parameter_description> the length of the string, or -1 if the string is
+nul-terminated&amp;lt;footnoteref linkend=&quot;nul-unsafe&quot;/&amp;gt;.
</parameter_description>
</parameter>
-<parameter name="length">
-<parameter_description> Location to store length of the data
+<parameter name="bytes_read">
+<parameter_description> location to store the number of bytes in the
+input string that were successfully converted, or %NULL.
+Even if the conversion was successful, this may be
+less than @len if there were partial characters
+at the end of the input. If the error
+#G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value
+stored will the byte offset after the last valid
+input sequence.
+</parameter_description>
+</parameter>
+<parameter name="bytes_written">
+<parameter_description> the number of bytes stored in the output buffer (not
+including the terminating nul).
</parameter_description>
</parameter>
<parameter name="error">
-<parameter_description> A location to return an error of type #GConvertError
-or #GIOChannelError
+<parameter_description> location to store the error occuring, or %NULL to ignore
+errors. Any of the errors in #GConvertError may occur.
</parameter_description>
</parameter>
</parameters>
-<return> %G_IO_STATUS_NORMAL on success.
-This function never returns %G_IO_STATUS_EOF.
+<return> The converted string, or %NULL on an error.
</return>
</function>
-<function name="g_io_channel_set_buffered">
+<function name="g_key_file_set_list_separator">
<description>
-The buffering state can only be set if the channel&apos;s encoding
-is %NULL. For any other encoding, the channel must be buffered.
-
-A buffered channel can only be set unbuffered if the channel&apos;s
-internal buffers have been flushed. Newly created channels or
-channels which have returned %G_IO_STATUS_EOF
-not require such a flush. For write-only channels, a call to
-g_io_channel_flush () is sufficient. For all other channels,
-the buffers may be flushed by a call to g_io_channel_seek_position ().
-This includes the possibility of seeking with seek type %G_SEEK_CUR
-and an offset of zero. Note that this means that socket-based
-channels cannot be set unbuffered once they have had data
-read from them.
-
-On unbuffered channels, it is safe to mix read and write
-calls from the new and old APIs, if this is necessary for
-maintaining old code.
+Sets the character which is used to separate
+values in lists. Typically &apos;;&apos; or &apos;,&apos; are used
+as separators. The default list separator is &apos;;&apos;.
-The default state of the channel is buffered.
+Since: 2.6
</description>
<parameters>
-<parameter name="channel">
-<parameter_description> a #GIOChannel
+<parameter name="key_file">
+<parameter_description> a #GKeyFile
</parameter_description>
</parameter>
-<parameter name="buffered">
-<parameter_description> whether to set the channel buffered or unbuffered
+<parameter name="separator">
+<parameter_description> the separator
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="g_ascii_strcasecmp">
+<function name="g_tree_new">
<description>
-Compare two strings, ignoring the case of ASCII characters.
-
-Unlike the BSD strcasecmp() function, this only recognizes standard
-ASCII letters and ignores the locale, treating all non-ASCII
-characters as if they are not letters.
+Creates a new #GTree.
</description>
<parameters>
-<parameter name="s1">
-<parameter_description> string to compare with @s2.
-</parameter_description>
-</parameter>
-<parameter name="s2">
-<parameter_description> string to compare with @s1.
+<parameter name="key_compare_func">
+<parameter_description> the function used to order the nodes in the #GTree.
+It should return values similar to the standard strcmp() function -
+0 if the two arguments are equal, a negative value if the first argument
+comes before the second, or a positive value if the first argument comes
+after the second.
</parameter_description>
</parameter>
</parameters>
-<return> an integer less than, equal to, or greater than
-zero if @s1 is found, respectively, to be less than,
-to match, or to be greater than @s2.
+<return> a new #GTree.
</return>
</function>
@@ -12350,6 +17552,11 @@ After each call to the timeout function, the time of the next
timeout is recalculated based on the current time and the given interval
(it does not try to &apos;catch up&apos; time lost in delays).
+If you want to have a timer in the &quot;seconds&quot; range and do not care
+about the exact time of the first call of the timer, use the
+g_timeout_add_seconds() function; this function allows for more
+optimizations and more efficient system power usage.
+
</description>
<parameters>
@@ -12367,14 +17574,13 @@ timeout is recalculated based on the current time and the given interval
</parameter_description>
</parameter>
</parameters>
-<return> the id of event source.
+<return> the ID (greater than 0) of the event source.
</return>
</function>
<function name="g_mapped_file_get_length">
<description>
-Returns the length of the contents of a #GMappedFile.
-
+Returns: the length of the contents of @file.
</description>
<parameters>
@@ -12389,28 +17595,72 @@ Since: 2.8
</return>
</function>
-<function name="g_hash_table_insert">
+<function name="g_key_file_load_from_file">
<description>
-Inserts a new key and value into a #GHashTable.
+Loads a key file into an empty #GKeyFile structure.
+If the file could not be loaded then %error is set to
+either a #GFileError or #GKeyFileError.
-If the key already exists in the #GHashTable its current value is replaced
-with the new value. If you supplied a @value_destroy_func when creating the
-#GHashTable, the old value is freed using that function. If you supplied
-a @key_destroy_func when creating the #GHashTable, the passed key is freed
-using that function.
</description>
<parameters>
-<parameter name="hash_table">
-<parameter_description> a #GHashTable.
+<parameter name="key_file">
+<parameter_description> an empty #GKeyFile struct
</parameter_description>
</parameter>
-<parameter name="key">
-<parameter_description> a key to insert.
+<parameter name="file">
+<parameter_description> the path of a filename to load, in the GLib file name encoding
</parameter_description>
</parameter>
-<parameter name="value">
-<parameter_description> the value to associate with the key.
+<parameter name="flags">
+<parameter_description> flags from #GKeyFileFlags
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a key file could be loaded, %FALSE othewise
+Since: 2.6
+</return>
+</function>
+
+<function name="g_queue_init">
+<description>
+A statically-allocated #GQueue must be initialized with this function
+before it can be used. Alternatively you can initialize it with
+#G_QUEUE_INIT. It is not necessary to initialize queues created with
+g_queue_new().
+
+Since: 2.14
+
+</description>
+<parameters>
+<parameter name="queue">
+<parameter_description> an uninitialized #GQueue
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_queue_delete_link">
+<description>
+Removes @link_ from @queue and frees it.
+
+@link_ must be part of @queue.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="queue">
+<parameter_description> a #GQueue
+</parameter_description>
+</parameter>
+<parameter name="link_">
+<parameter_description> a #GList link that &amp;lt;emphasis&amp;gt;must&amp;lt;/emphasis&amp;gt; be part of @queue
</parameter_description>
</parameter>
</parameters>
@@ -12435,14 +17685,7 @@ Since: 2.4
<function name="g_async_queue_length">
<description>
-Returns the length of the queue, negative values mean waiting
-threads, positive values mean available entries in the
-@queue. Actually this function returns the number of data items in
-the queue minus the number of waiting threads. Thus a return value
-of 0 could mean &apos;n&apos; entries in the queue and &apos;n&apos; thread waiting.
-That can happen due to locking of the queue or due to
-scheduling.
-
+Return value: the length of the @queue.
</description>
<parameters>
@@ -12455,6 +17698,76 @@ scheduling.
</return>
</function>
+<function name="g_ascii_strtoll">
+<description>
+Converts a string to a #gint64 value.
+This function behaves like the standard strtoll() function
+does in the C locale. It does this without actually
+changing the current locale, since that would not be
+thread-safe.
+
+This function is typically used when reading configuration
+files or other non-user input that should be locale independent.
+To handle input from the user you should normally use the
+locale-sensitive system strtoll() function.
+
+If the correct value would cause overflow, %G_MAXINT64 or %G_MININT64
+is returned, and %ERANGE is stored in %errno. If the base is
+outside the valid range, zero is returned, and %EINVAL is stored
+in %errno. If the string conversion fails, zero is returned, and
+@endptr returns @nptr (if @endptr is non-%NULL).
+
+
+</description>
+<parameters>
+<parameter name="nptr">
+<parameter_description> the string to convert to a numeric value.
+</parameter_description>
+</parameter>
+<parameter name="endptr">
+<parameter_description> if non-%NULL, it returns the character after
+the last character used in the conversion.
+</parameter_description>
+</parameter>
+<parameter name="base">
+<parameter_description> to be used for the conversion, 2..36 or 0
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #gint64 value or zero on error.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="g_regex_escape_string">
+<description>
+Escapes the special characters used for regular expressions
+in @string, for instance &quot;a.b*c&quot; becomes &quot;a\.b\*c&quot;. This
+function is useful to dynamically generate regular expressions.
+
+@string can contain nul characters that are replaced with &quot;\0&quot;,
+in this case remember to specify the correct length of @string
+in @length.
+
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> the string to escape
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the length of @string, or -1 if @string is nul-terminated
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated escaped string
+
+Since: 2.14
+</return>
+</function>
+
<function name="g_io_channel_read_unichar">
<description>
This function cannot be called on a channel with %NULL encoding.
@@ -12484,6 +17797,7 @@ or #GIOChannelError
<description>
A wrapper for the POSIX mkdir() function. The mkdir() function
attempts to create a directory with the given name and permissions.
+The mode argument is ignored on Windows.
See the C library manual for more details about mkdir().
@@ -12506,24 +17820,119 @@ Since: 2.6
</return>
</function>
-<function name="g_unichar_istitle">
+<function name="g_option_context_get_summary">
<description>
-Determines if a character is titlecase. Some characters in
-Unicode which are composites, such as the DZ digraph
-have three case variants instead of just two. The titlecase
-form is used at the beginning of a word where only the
-first letter is capitalized. The titlecase form of the DZ
-digraph is U+01F2 LATIN CAPITAL LETTTER D WITH SMALL LETTER Z.
+Returns: the summary
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GOptionContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> the summary
+
+Since: 2.12
+</return>
+</function>
+
+<function name="g_time_val_to_iso8601">
+<description>
+Converts @time_ into a ISO 8601 encoded string, relative to the
+Coordinated Universal Time (UTC).
</description>
<parameters>
-<parameter name="c">
-<parameter_description> a Unicode character
+<parameter name="time_">
+<parameter_description> a #GTimeVal
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the character is titlecase
+<return> a newly allocated string containing a ISO 8601 date
+
+Since: 2.12
+</return>
+</function>
+
+<function name="g_get_user_special_dir">
+<description>
+Return value: the path to the specified special directory, or %NULL
+
+</description>
+<parameters>
+<parameter name="directory">
+<parameter_description> the logical id of special directory
+</parameter_description>
+</parameter>
+</parameters>
+<return> the path to the specified special directory, or %NULL
+if the logical id was not found. The returned string is owned by
+GLib and should not be modified or freed.
+
+Since: 2.14
+</return>
+</function>
+
+<function name="g_source_set_funcs">
+<description>
+Sets the source functions (can be used to override
+default implementations) of an unattached source.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a #GSource
+</parameter_description>
+</parameter>
+<parameter name="funcs">
+<parameter_description> the new #GSourceFuncs
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_regex_match_all">
+<description>
+Using the standard algorithm for regular expression matching only
+the longest match in the string is retrieved. This function uses
+a different algorithm so it can retrieve all the possible matches.
+For more documentation see g_regex_match_all_full().
+
+A #GMatchInfo structure, used to get information on the match, is
+stored in @match_info if not %NULL. Note that if @match_info is
+not %NULL then it is created even if the function returns %FALSE,
+i.e. you must free it regardless if regular expression actually
+matched.
+
+
+</description>
+<parameters>
+<parameter name="regex">
+<parameter_description> a #GRegex structure from g_regex_new()
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> the string to scan for matches
+</parameter_description>
+</parameter>
+<parameter name="match_options">
+<parameter_description> match options
+</parameter_description>
+</parameter>
+<parameter name="match_info">
+<parameter_description> pointer to location where to store the #GMatchInfo,
+or %NULL if you do not need it
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE is the string matched, %FALSE otherwise
+
+Since: 2.14
</return>
</function>
@@ -12586,29 +17995,85 @@ Since: 2.4
<return></return>
</function>
-<function name="g_utf8_find_prev_char">
+<function name="g_bookmark_file_get_visited">
<description>
-Given a position @p with a UTF-8 encoded string @str, find the start
-of the previous UTF-8 character starting before @p. Returns %NULL if no
-UTF-8 characters are present in @p before @str.
+Gets the time the bookmark for @uri was last visited.
-@p does not have to be at the beginning of a UTF-8 character. No check
-is made to see if the character found is actually valid other than
-it starts with an appropriate byte.
+In the event the URI cannot be found, -1 is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
</description>
<parameters>
-<parameter name="str">
-<parameter_description> pointer to the beginning of a UTF-8 encoded string
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
</parameter_description>
</parameter>
-<parameter name="p">
-<parameter_description> pointer to some position within @str
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
</parameter_description>
</parameter>
</parameters>
-<return> a pointer to the found character or %NULL.
+<return> a timestamp.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="g_io_channel_set_buffered">
+<description>
+The buffering state can only be set if the channel&apos;s encoding
+is %NULL. For any other encoding, the channel must be buffered.
+
+A buffered channel can only be set unbuffered if the channel&apos;s
+internal buffers have been flushed. Newly created channels or
+channels which have returned %G_IO_STATUS_EOF
+not require such a flush. For write-only channels, a call to
+g_io_channel_flush () is sufficient. For all other channels,
+the buffers may be flushed by a call to g_io_channel_seek_position ().
+This includes the possibility of seeking with seek type %G_SEEK_CUR
+and an offset of zero. Note that this means that socket-based
+channels cannot be set unbuffered once they have had data
+read from them.
+
+On unbuffered channels, it is safe to mix read and write
+calls from the new and old APIs, if this is necessary for
+maintaining old code.
+
+The default state of the channel is buffered.
+
+</description>
+<parameters>
+<parameter name="channel">
+<parameter_description> a #GIOChannel
+</parameter_description>
+</parameter>
+<parameter name="buffered">
+<parameter_description> whether to set the channel buffered or unbuffered
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_key_file_new">
+<description>
+Creates a new empty #GKeyFile object. Use
+g_key_file_load_from_file(), g_key_file_load_from_data(),
+g_key_file_load_from_dirs() or g_key_file_load_from_data_dirs() to
+read an existing key file.
+
+
+</description>
+<parameters>
+</parameters>
+<return> an empty #GKeyFile.
+
+Since: 2.6
</return>
</function>
diff --git a/libs/glibmm2/glib/src/glib_docs_override.xml b/libs/glibmm2/glib/src/glib_docs_override.xml
index 093d936b96..3ad6b3a584 100644
--- a/libs/glibmm2/glib/src/glib_docs_override.xml
+++ b/libs/glibmm2/glib/src/glib_docs_override.xml
@@ -1,2 +1,151 @@
<root>
+ <function name="g_option_context_set_summary">
+ <description>
+ Adds a string to be displayed in --help output before the list of options. This
+ is typically a summary of the program functionality.
+
+ Note that the summary is translated (see set_translate_func(),
+ set_translation_domain()).
+
+ Since: 2.14
+
+ </description>
+ <parameters>
+ <parameter name="summary">
+ <parameter_description> a string to be shown in --help output before the list of
+ options
+ </parameter_description>
+ </parameter>
+ </parameters>
+ <return></return>
+ </function>
+
+ <function name="g_option_context_get_summary">
+ <description>
+ Returns: the summary
+ See set_summary() for more information
+
+ </description>
+ <parameters>
+ </parameters>
+ <return> the summary
+
+ Since: 2.14
+ </return>
+ </function>
+
+ <function name="g_option_context_set_description">
+ <description>
+ Adds a string to be displayed in --help output after the list of
+ options. This text often includes a bug reporting address.
+
+ Note that the summary is translated (see set_translate_func()).
+
+ Since: 2.14
+
+ </description>
+ <parameters>
+ <parameter name="description">
+ <parameter_description> a string to be shown in --help output
+ after the list of options
+ </parameter_description>
+ </parameter>
+ </parameters>
+ <return></return>
+ </function>
+
+ <function name="g_option_context_get_description">
+ <description>
+ Returns: the description
+ See set_description() for more information
+
+ </description>
+ <parameters>
+ </parameters>
+ <return> the description
+
+ Since: 2.14
+ </return>
+ </function>
+
+ <function name="g_option_context_set_translation_domain">
+ <description>
+ A convenience function to use gettext() for translating
+ user-visible strings.
+
+ Since: 2.14
+
+ </description>
+ <parameters>
+ <parameter name="domain">
+ <parameter_description> the domain to use
+ </parameter_description>
+ </parameter>
+ </parameters>
+ <return></return>
+ </function>
+
+
+<function name="g_key_file_get_double">
+<description>
+Return value: the value associated with the key as a double, or
+
+</description>
+<parameters>
+<parameter name="key_file">
+<parameter_description> a #GKeyFile
+</parameter_description>
+</parameter>
+<parameter name="group_name">
+<parameter_description> a group name
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError
+</parameter_description>
+</parameter>
+</parameters>
+<return> the value associated with the key as a double, or
+0.0 if the key was not found or could not be parsed.
+
+Since: 2.14
+</return>
+</function>
+
+
+<function name="g_key_file_set_double">
+<description>
+Associates a new double value with @key under @group_name.
+If @key cannot be found then it is created.
+
+Since: 2.14
+
+</description>
+<parameters>
+<parameter name="key_file">
+<parameter_description> a #GKeyFile
+</parameter_description>
+</parameter>
+<parameter name="group_name">
+<parameter_description> a group name
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> an double value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+
</root>
+
diff --git a/libs/glibmm2/glib/src/glib_enums.defs b/libs/glibmm2/glib/src/glib_enums.defs
index 3a379676c0..46b366fb1c 100644
--- a/libs/glibmm2/glib/src/glib_enums.defs
+++ b/libs/glibmm2/glib/src/glib_enums.defs
@@ -1,15 +1,21 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gbsearcharray.h
+;; From /opt/gnome218/include/glib-2.0/glib/gbookmarkfile.h
-(define-flags-extended BSearchArrayFlags
+(define-enum-extended BookmarkFileError
(in-module "G")
- (c-name "GBSearchArrayFlags")
+ (c-name "GBookmarkFileError")
(values
- '("align-power2" "G_BSEARCH_ARRAY_ALIGN_POWER2" "1 << 0")
- '("auto-shrink" "G_BSEARCH_ARRAY_AUTO_SHRINK" "1 << 1")
+ '("invalid-uri" "G_BOOKMARK_FILE_ERROR_INVALID_URI" "0")
+ '("invalid-value" "G_BOOKMARK_FILE_ERROR_INVALID_VALUE" "1")
+ '("app-not-registered" "G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED" "2")
+ '("uri-not-found" "G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND" "3")
+ '("read" "G_BOOKMARK_FILE_ERROR_READ" "4")
+ '("unknown-encoding" "G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING" "5")
+ '("write" "G_BOOKMARK_FILE_ERROR_WRITE" "6")
+ '("file-not-found" "G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND" "7")
)
)
-;; From /home/murrayc/cvs/gnome212/glib/glib/gconvert.h
+;; From /opt/gnome218/include/glib-2.0/glib/gconvert.h
(define-enum-extended ConvertError
(in-module "G")
@@ -24,7 +30,7 @@
)
)
-;; From /home/murrayc/cvs/gnome212/glib/glib/gdate.h
+;; From /opt/gnome218/include/glib-2.0/glib/gdate.h
(define-enum-extended DateDMY
(in-module "G")
@@ -71,17 +77,7 @@
)
)
-;; From /home/murrayc/cvs/gnome212/glib/glib/gdebug.h
-
-(define-flags-extended DebugFlag
- (in-module "G")
- (c-name "GDebugFlag")
- (values
- '("s" "G_DEBUG_FATAL_WARNINGS" "1 << 0")
- )
-)
-
-;; From /home/murrayc/cvs/gnome212/glib/glib/gfileutils.h
+;; From /opt/gnome218/include/glib-2.0/glib/gfileutils.h
(define-enum-extended FileError
(in-module "G")
@@ -127,7 +123,7 @@
)
)
-;; From /home/murrayc/cvs/gnome212/glib/glib/ghook.h
+;; From /opt/gnome218/include/glib-2.0/glib/ghook.h
(define-flags-extended HookFlagMask
(in-module "G")
@@ -139,7 +135,7 @@
)
)
-;; From /home/murrayc/cvs/gnome212/glib/glib/giochannel.h
+;; From /opt/gnome218/include/glib-2.0/glib/giochannel.h
(define-enum-extended IOError
(in-module "G")
@@ -210,7 +206,7 @@
)
)
-;; From /home/murrayc/cvs/gnome212/glib/glib/gkeyfile.h
+;; From /opt/gnome218/include/glib-2.0/glib/gkeyfile.h
(define-enum-extended KeyFileError
(in-module "G")
@@ -235,7 +231,7 @@
)
)
-;; From /home/murrayc/cvs/gnome212/glib/glib/gmarkup.h
+;; From /opt/gnome218/include/glib-2.0/glib/gmarkup.h
(define-enum-extended MarkupError
(in-module "G")
@@ -254,11 +250,12 @@
(in-module "G")
(c-name "GMarkupParseFlags")
(values
- '("g" "G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG" "1 << 0")
+ '("do-not-use-this-unsupported-flag" "G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG" "1 << 0")
+ '("treat-cdata-as-text" "G_MARKUP_TREAT_CDATA_AS_TEXT" "1 << 1")
)
)
-;; From /home/murrayc/cvs/gnome212/glib/glib/gmessages.h
+;; From /opt/gnome218/include/glib-2.0/glib/gmessages.h
(define-flags-extended LogLevelFlags
(in-module "G")
@@ -276,7 +273,7 @@
)
)
-;; From /home/murrayc/cvs/gnome212/glib/glib/gnode.h
+;; From /opt/gnome218/include/glib-2.0/glib/gnode.h
(define-flags-extended TraverseFlags
(in-module "G")
@@ -302,7 +299,7 @@
)
)
-;; From /home/murrayc/cvs/gnome212/glib/glib/goption.h
+;; From /opt/gnome218/include/glib-2.0/glib/goption.h
(define-flags-extended OptionFlags
(in-module "G")
@@ -329,6 +326,8 @@
'("filename" "G_OPTION_ARG_FILENAME" "4")
'("string-array" "G_OPTION_ARG_STRING_ARRAY" "5")
'("filename-array" "G_OPTION_ARG_FILENAME_ARRAY" "6")
+ '("double" "G_OPTION_ARG_DOUBLE" "7")
+ '("int64" "G_OPTION_ARG_INT64" "8")
)
)
@@ -342,7 +341,57 @@
)
)
-;; From /home/murrayc/cvs/gnome212/glib/glib/gscanner.h
+;; From /opt/gnome218/include/glib-2.0/glib/gregex.h
+
+(define-enum-extended RegexError
+ (in-module "G")
+ (c-name "GRegexError")
+ (values
+ '("compile" "G_REGEX_ERROR_COMPILE" "0")
+ '("optimize" "G_REGEX_ERROR_OPTIMIZE" "1")
+ '("replace" "G_REGEX_ERROR_REPLACE" "2")
+ '("match" "G_REGEX_ERROR_MATCH" "3")
+ )
+)
+
+(define-flags-extended RegexCompileFlags
+ (in-module "G")
+ (c-name "GRegexCompileFlags")
+ (values
+ '("caseless" "G_REGEX_CASELESS" "1 << 0")
+ '("multiline" "G_REGEX_MULTILINE" "1 << 1")
+ '("dotall" "G_REGEX_DOTALL" "1 << 2")
+ '("extended" "G_REGEX_EXTENDED" "1 << 3")
+ '("anchored" "G_REGEX_ANCHORED" "1 << 4")
+ '("dollar-endonly" "G_REGEX_DOLLAR_ENDONLY" "1 << 5")
+ '("ungreedy" "G_REGEX_UNGREEDY" "1 << 9")
+ '("raw" "G_REGEX_RAW" "1 << 11")
+ '("no-auto-capture" "G_REGEX_NO_AUTO_CAPTURE" "1 << 12")
+ '("optimize" "G_REGEX_OPTIMIZE" "1 << 13")
+ '("dupnames" "G_REGEX_DUPNAMES" "1 << 19")
+ '("newline-cr" "G_REGEX_NEWLINE_CR" "1 << 20")
+ '("newline-lf" "G_REGEX_NEWLINE_LF" "1 << 21")
+ '("newline-crlf" "G_REGEX_NEWLINE_CRLF" "0x100000")
+ )
+)
+
+(define-flags-extended RegexMatchFlags
+ (in-module "G")
+ (c-name "GRegexMatchFlags")
+ (values
+ '("anchored" "G_REGEX_MATCH_ANCHORED" "1 << 4")
+ '("notbol" "G_REGEX_MATCH_NOTBOL" "1 << 7")
+ '("noteol" "G_REGEX_MATCH_NOTEOL" "1 << 8")
+ '("notempty" "G_REGEX_MATCH_NOTEMPTY" "1 << 10")
+ '("partial" "G_REGEX_MATCH_PARTIAL" "1 << 15")
+ '("newline-cr" "G_REGEX_MATCH_NEWLINE_CR" "1 << 20")
+ '("newline-lf" "G_REGEX_MATCH_NEWLINE_LF" "1 << 21")
+ '("newline-crlf" "G_REGEX_MATCH_NEWLINE_CRLF" "0x100000")
+ '("newline-any" "G_REGEX_MATCH_NEWLINE_ANY" "1 << 22")
+ )
+)
+
+;; From /opt/gnome218/include/glib-2.0/glib/gscanner.h
(define-enum-extended ErrorType
(in-module "G")
@@ -359,38 +408,7 @@
)
)
-(define-enum-extended TokenType
- (in-module "G")
- (c-name "GTokenType")
- (values
- '("eof" "G_TOKEN_EOF" "0")
- '("left-paren" "G_TOKEN_LEFT_PAREN" "'gmmproc_cannot_handle_quoted_left_bracket'")
- '("right-paren" "G_TOKEN_RIGHT_PAREN" "'gmmproc_cannot_handle_quoted_right_bracket'")
- '("left-curly" "G_TOKEN_LEFT_CURLY" "'{'")
- '("right-curly" "G_TOKEN_RIGHT_CURLY" "']'")
- '("left-brace" "G_TOKEN_LEFT_BRACE" "'['")
- '("right-brace" "G_TOKEN_RIGHT_BRACE" "']'")
- '("equal-sign" "G_TOKEN_EQUAL_SIGN" "'='")
- '("comma" "G_TOKEN_COMMA" "','")
- '("none" "G_TOKEN_NONE" "256")
- '("error" "G_TOKEN_ERROR" "257")
- '("char" "G_TOKEN_CHAR" "258")
- '("binary" "G_TOKEN_BINARY" "259")
- '("octal" "G_TOKEN_OCTAL" "260")
- '("int" "G_TOKEN_INT" "261")
- '("hex" "G_TOKEN_HEX" "262")
- '("float" "G_TOKEN_FLOAT" "263")
- '("string" "G_TOKEN_STRING" "264")
- '("symbol" "G_TOKEN_SYMBOL" "265")
- '("identifier" "G_TOKEN_IDENTIFIER" "266")
- '("identifier-null" "G_TOKEN_IDENTIFIER_NULL" "267")
- '("comment-single" "G_TOKEN_COMMENT_SINGLE" "268")
- '("comment-multi" "G_TOKEN_COMMENT_MULTI" "269")
- '("last" "G_TOKEN_LAST" "270")
- )
-)
-
-;; From /home/murrayc/cvs/gnome212/glib/glib/gshell.h
+;; From /opt/gnome218/include/glib-2.0/glib/gshell.h
(define-enum-extended ShellError
(in-module "G")
@@ -402,7 +420,22 @@
)
)
-;; From /home/murrayc/cvs/gnome212/glib/glib/gspawn.h
+;; From /opt/gnome218/include/glib-2.0/glib/gslice.h
+
+(define-enum-extended SliceConfig
+ (in-module "G")
+ (c-name "GSliceConfig")
+ (values
+ '("always-malloc" "G_SLICE_CONFIG_ALWAYS_MALLOC" "1")
+ '("bypass-magazines" "G_SLICE_CONFIG_BYPASS_MAGAZINES" "2")
+ '("working-set-msecs" "G_SLICE_CONFIG_WORKING_SET_MSECS" "3")
+ '("color-increment" "G_SLICE_CONFIG_COLOR_INCREMENT" "4")
+ '("chunk-sizes" "G_SLICE_CONFIG_CHUNK_SIZES" "5")
+ '("contention-counter" "G_SLICE_CONFIG_CONTENTION_COUNTER" "6")
+ )
+)
+
+;; From /opt/gnome218/include/glib-2.0/glib/gspawn.h
(define-enum-extended SpawnError
(in-module "G")
@@ -444,7 +477,7 @@
)
)
-;; From /home/murrayc/cvs/gnome212/glib/glib/gstrfuncs.h
+;; From /opt/gnome218/include/glib-2.0/glib/gstrfuncs.h
(define-flags-extended AsciiType
(in-module "G")
@@ -464,7 +497,7 @@
)
)
-;; From /home/murrayc/cvs/gnome212/glib/glib/gthread.h
+;; From /opt/gnome218/include/glib-2.0/glib/gthread.h
(define-enum-extended ThreadError
(in-module "G")
@@ -495,7 +528,7 @@
)
)
-;; From /home/murrayc/cvs/gnome212/glib/glib/gunicode.h
+;; From /opt/gnome218/include/glib-2.0/glib/gunicode.h
(define-enum-extended UnicodeType
(in-module "G")
@@ -569,6 +602,86 @@
'("unknown" "G_UNICODE_BREAK_UNKNOWN" "28")
'("next-line" "G_UNICODE_BREAK_NEXT_LINE" "29")
'("word-joiner" "G_UNICODE_BREAK_WORD_JOINER" "30")
+ '("hangul-l-jamo" "G_UNICODE_BREAK_HANGUL_L_JAMO" "31")
+ '("hangul-v-jamo" "G_UNICODE_BREAK_HANGUL_V_JAMO" "32")
+ '("hangul-t-jamo" "G_UNICODE_BREAK_HANGUL_T_JAMO" "33")
+ '("hangul-lv-syllable" "G_UNICODE_BREAK_HANGUL_LV_SYLLABLE" "34")
+ '("hangul-lvt-syllable" "G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE" "35")
+ )
+)
+
+(define-enum-extended UnicodeScript
+ (in-module "G")
+ (c-name "GUnicodeScript")
+ (values
+ '("invalid-code" "G_UNICODE_SCRIPT_INVALID_CODE" "-1")
+ '("common" "G_UNICODE_SCRIPT_COMMON" "0")
+ '("inherited" "G_UNICODE_SCRIPT_INHERITED" "1")
+ '("arabic" "G_UNICODE_SCRIPT_ARABIC" "2")
+ '("armenian" "G_UNICODE_SCRIPT_ARMENIAN" "3")
+ '("bengali" "G_UNICODE_SCRIPT_BENGALI" "4")
+ '("bopomofo" "G_UNICODE_SCRIPT_BOPOMOFO" "5")
+ '("cherokee" "G_UNICODE_SCRIPT_CHEROKEE" "6")
+ '("coptic" "G_UNICODE_SCRIPT_COPTIC" "7")
+ '("cyrillic" "G_UNICODE_SCRIPT_CYRILLIC" "8")
+ '("deseret" "G_UNICODE_SCRIPT_DESERET" "9")
+ '("devanagari" "G_UNICODE_SCRIPT_DEVANAGARI" "10")
+ '("ethiopic" "G_UNICODE_SCRIPT_ETHIOPIC" "11")
+ '("georgian" "G_UNICODE_SCRIPT_GEORGIAN" "12")
+ '("gothic" "G_UNICODE_SCRIPT_GOTHIC" "13")
+ '("greek" "G_UNICODE_SCRIPT_GREEK" "14")
+ '("gujarati" "G_UNICODE_SCRIPT_GUJARATI" "15")
+ '("gurmukhi" "G_UNICODE_SCRIPT_GURMUKHI" "16")
+ '("han" "G_UNICODE_SCRIPT_HAN" "17")
+ '("hangul" "G_UNICODE_SCRIPT_HANGUL" "18")
+ '("hebrew" "G_UNICODE_SCRIPT_HEBREW" "19")
+ '("hiragana" "G_UNICODE_SCRIPT_HIRAGANA" "20")
+ '("kannada" "G_UNICODE_SCRIPT_KANNADA" "21")
+ '("katakana" "G_UNICODE_SCRIPT_KATAKANA" "22")
+ '("khmer" "G_UNICODE_SCRIPT_KHMER" "23")
+ '("lao" "G_UNICODE_SCRIPT_LAO" "24")
+ '("latin" "G_UNICODE_SCRIPT_LATIN" "25")
+ '("malayalam" "G_UNICODE_SCRIPT_MALAYALAM" "26")
+ '("mongolian" "G_UNICODE_SCRIPT_MONGOLIAN" "27")
+ '("myanmar" "G_UNICODE_SCRIPT_MYANMAR" "28")
+ '("ogham" "G_UNICODE_SCRIPT_OGHAM" "29")
+ '("old-italic" "G_UNICODE_SCRIPT_OLD_ITALIC" "30")
+ '("oriya" "G_UNICODE_SCRIPT_ORIYA" "31")
+ '("runic" "G_UNICODE_SCRIPT_RUNIC" "32")
+ '("sinhala" "G_UNICODE_SCRIPT_SINHALA" "33")
+ '("syriac" "G_UNICODE_SCRIPT_SYRIAC" "34")
+ '("tamil" "G_UNICODE_SCRIPT_TAMIL" "35")
+ '("telugu" "G_UNICODE_SCRIPT_TELUGU" "36")
+ '("thaana" "G_UNICODE_SCRIPT_THAANA" "37")
+ '("thai" "G_UNICODE_SCRIPT_THAI" "38")
+ '("tibetan" "G_UNICODE_SCRIPT_TIBETAN" "39")
+ '("canadian-aboriginal" "G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL" "40")
+ '("yi" "G_UNICODE_SCRIPT_YI" "41")
+ '("tagalog" "G_UNICODE_SCRIPT_TAGALOG" "42")
+ '("hanunoo" "G_UNICODE_SCRIPT_HANUNOO" "43")
+ '("buhid" "G_UNICODE_SCRIPT_BUHID" "44")
+ '("tagbanwa" "G_UNICODE_SCRIPT_TAGBANWA" "45")
+ '("braille" "G_UNICODE_SCRIPT_BRAILLE" "46")
+ '("cypriot" "G_UNICODE_SCRIPT_CYPRIOT" "47")
+ '("limbu" "G_UNICODE_SCRIPT_LIMBU" "48")
+ '("osmanya" "G_UNICODE_SCRIPT_OSMANYA" "49")
+ '("shavian" "G_UNICODE_SCRIPT_SHAVIAN" "50")
+ '("linear-b" "G_UNICODE_SCRIPT_LINEAR_B" "51")
+ '("tai-le" "G_UNICODE_SCRIPT_TAI_LE" "52")
+ '("ugaritic" "G_UNICODE_SCRIPT_UGARITIC" "53")
+ '("new-tai-lue" "G_UNICODE_SCRIPT_NEW_TAI_LUE" "54")
+ '("buginese" "G_UNICODE_SCRIPT_BUGINESE" "55")
+ '("glagolitic" "G_UNICODE_SCRIPT_GLAGOLITIC" "56")
+ '("tifinagh" "G_UNICODE_SCRIPT_TIFINAGH" "57")
+ '("syloti-nagri" "G_UNICODE_SCRIPT_SYLOTI_NAGRI" "58")
+ '("old-persian" "G_UNICODE_SCRIPT_OLD_PERSIAN" "59")
+ '("kharoshthi" "G_UNICODE_SCRIPT_KHAROSHTHI" "60")
+ '("unknown" "G_UNICODE_SCRIPT_UNKNOWN" "61")
+ '("balinese" "G_UNICODE_SCRIPT_BALINESE" "62")
+ '("cuneiform" "G_UNICODE_SCRIPT_CUNEIFORM" "63")
+ '("phoenician" "G_UNICODE_SCRIPT_PHOENICIAN" "64")
+ '("phags-pa" "G_UNICODE_SCRIPT_PHAGS_PA" "65")
+ '("nko" "G_UNICODE_SCRIPT_NKO" "66")
)
)
@@ -577,7 +690,7 @@
(c-name "GNormalizeMode")
(values
'("default" "G_NORMALIZE_DEFAULT" "0")
- '("nfd" "G_NORMALIZE_NFD" "0")
+ '("nfd" "G_NORMALIZE_NFD" "#error")
'("default-compose" "G_NORMALIZE_DEFAULT_COMPOSE" "1")
'("nfc" "G_NORMALIZE_NFC" "1")
'("all" "G_NORMALIZE_ALL" "2")
@@ -587,96 +700,21 @@
)
)
-;; From /home/murrayc/cvs/gnome212/glib/gobject/gparam.h
-
-(define-flags-extended ParamFlags
- (in-module "G")
- (c-name "GParamFlags")
- (values
- '("readable" "G_PARAM_READABLE" "1 << 0")
- '("writable" "G_PARAM_WRITABLE" "1 << 1")
- '("construct" "G_PARAM_CONSTRUCT" "1 << 2")
- '("construct-only" "G_PARAM_CONSTRUCT_ONLY" "1 << 3")
- '("lax-validation" "G_PARAM_LAX_VALIDATION" "1 << 4")
- '("static-name" "G_PARAM_STATIC_NAME" "1 << 5")
- '("static-blurb" "G_PARAM_STATIC_BLURB" "1 << 7")
- )
-)
-
-;; From /home/murrayc/cvs/gnome212/glib/gobject/gsignal.h
-
-(define-flags-extended SignalFlags
- (in-module "G")
- (c-name "GSignalFlags")
- (values
- '("run-first" "G_SIGNAL_RUN_FIRST" "1 << 0")
- '("run-last" "G_SIGNAL_RUN_LAST" "1 << 1")
- '("run-cleanup" "G_SIGNAL_RUN_CLEANUP" "1 << 2")
- '("no-recurse" "G_SIGNAL_NO_RECURSE" "1 << 3")
- '("detailed" "G_SIGNAL_DETAILED" "1 << 4")
- '("action" "G_SIGNAL_ACTION" "1 << 5")
- '("no-hooks" "G_SIGNAL_NO_HOOKS" "1 << 6")
- )
-)
-
-(define-flags-extended ConnectFlags
- (in-module "G")
- (c-name "GConnectFlags")
- (values
- '("after" "G_CONNECT_AFTER" "1 << 0")
- '("swapped" "G_CONNECT_SWAPPED" "1 << 1")
- )
-)
-
-(define-flags-extended SignalMatchType
- (in-module "G")
- (c-name "GSignalMatchType")
- (values
- '("id" "G_SIGNAL_MATCH_ID" "1 << 0")
- '("detail" "G_SIGNAL_MATCH_DETAIL" "1 << 1")
- '("closure" "G_SIGNAL_MATCH_CLOSURE" "1 << 2")
- '("func" "G_SIGNAL_MATCH_FUNC" "1 << 3")
- '("data" "G_SIGNAL_MATCH_DATA" "1 << 4")
- '("unblocked" "G_SIGNAL_MATCH_UNBLOCKED" "1 << 5")
- )
-)
-
-;; From /home/murrayc/cvs/gnome212/glib/gobject/gtype.h
-
-(define-flags-extended TypeDebugFlags
- (in-module "G")
- (c-name "GTypeDebugFlags")
- (values
- '("none" "G_TYPE_DEBUG_NONE" "0")
- '("objects" "G_TYPE_DEBUG_OBJECTS" "1 << 0")
- '("signals" "G_TYPE_DEBUG_SIGNALS" "1 << 1")
- '("mask" "G_TYPE_DEBUG_MASK" "0x03")
- )
-)
-
-(define-enum-extended TypeFundamentalFlags
- (in-module "G")
- (c-name "GTypeFundamentalFlags")
- (values
- )
-)
-
-(define-enum-extended TypeFlags
- (in-module "G")
- (c-name "GTypeFlags")
- (values
- )
-)
-
-;; From /home/murrayc/cvs/gnome212/glib/gmodule/gmodule.h
+;; From /opt/gnome218/include/glib-2.0/glib/gutils.h
-(define-flags-extended ModuleFlags
+(define-enum-extended UserDirectory
(in-module "G")
- (c-name "GModuleFlags")
+ (c-name "GUserDirectory")
(values
- '("lazy" "G_MODULE_BIND_LAZY" "1 << 0")
- '("local" "G_MODULE_BIND_LOCAL" "1 << 1")
- '("mask" "G_MODULE_BIND_MASK" "0x03")
+ '("directory-desktop" "G_USER_DIRECTORY_DESKTOP" "0")
+ '("directory-documents" "G_USER_DIRECTORY_DOCUMENTS" "1")
+ '("directory-download" "G_USER_DIRECTORY_DOWNLOAD" "2")
+ '("directory-music" "G_USER_DIRECTORY_MUSIC" "3")
+ '("directory-pictures" "G_USER_DIRECTORY_PICTURES" "4")
+ '("directory-public-share" "G_USER_DIRECTORY_PUBLIC_SHARE" "5")
+ '("directory-templates" "G_USER_DIRECTORY_TEMPLATES" "6")
+ '("directory-videos" "G_USER_DIRECTORY_VIDEOS" "7")
+ '("n-directories" "G_USER_N_DIRECTORIES" "8")
)
)
diff --git a/libs/glibmm2/glib/src/glib_functions.defs b/libs/glibmm2/glib/src/glib_functions.defs
index 58f949a2e6..c3c64fe72a 100644
--- a/libs/glibmm2/glib/src/glib_functions.defs
+++ b/libs/glibmm2/glib/src/glib_functions.defs
@@ -1,20 +1,23 @@
;; -*- scheme -*-
; object definitions ...
-(define-object Module
- (in-module "GType")
- (parent "GObject")
- (c-name "GTypeModule")
- (gtype-id "G_TYPE_TYPE_MODULE")
-)
+;; Enumerations and flags ...
-(define-object Plugin
- (in-module "GType")
- (c-name "GTypePlugin")
- (gtype-id "G_TYPE_TYPE_PLUGIN")
+(define-enum FileError
+ (in-module "GBookmark")
+ (c-name "GBookmarkFileError")
+ (gtype-id "G_TYPE_BOOKMARK_FILE_ERROR")
+ (values
+ '("invalid-uri" "G_BOOKMARK_FILE_ERROR_INVALID_URI")
+ '("invalid-value" "G_BOOKMARK_FILE_ERROR_INVALID_VALUE")
+ '("app-not-registered" "G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED")
+ '("uri-not-found" "G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND")
+ '("read" "G_BOOKMARK_FILE_ERROR_READ")
+ '("unknown-encoding" "G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING")
+ '("write" "G_BOOKMARK_FILE_ERROR_WRITE")
+ '("file-not-found" "G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND")
+ )
)
-;; Enumerations and flags ...
-
(define-flags ArrayFlags
(in-module "GBSearch")
(c-name "GBSearchArrayFlags")
@@ -92,7 +95,8 @@
(c-name "GDebugFlag")
(gtype-id "G_TYPE_DEBUG_FLAG")
(values
- '("s" "G_DEBUG_FATAL_WARNINGS")
+ '("warnings" "G_DEBUG_FATAL_WARNINGS")
+ '("criticals" "G_DEBUG_FATAL_CRITICALS")
)
)
@@ -279,7 +283,8 @@
(c-name "GMarkupParseFlags")
(gtype-id "G_TYPE_MARKUP_PARSE_FLAGS")
(values
- '("g" "G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG")
+ '("do-not-use-this-unsupported-flag" "G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG")
+ '("treat-cdata-as-text" "G_MARKUP_TREAT_CDATA_AS_TEXT")
)
)
@@ -353,6 +358,8 @@
'("filename" "G_OPTION_ARG_FILENAME")
'("string-array" "G_OPTION_ARG_STRING_ARRAY")
'("filename-array" "G_OPTION_ARG_FILENAME_ARRAY")
+ '("double" "G_OPTION_ARG_DOUBLE")
+ '("int64" "G_OPTION_ARG_INT64")
)
)
@@ -367,6 +374,57 @@
)
)
+(define-enum Error
+ (in-module "GRegex")
+ (c-name "GRegexError")
+ (gtype-id "G_TYPE_REGEX_ERROR")
+ (values
+ '("compile" "G_REGEX_ERROR_COMPILE")
+ '("optimize" "G_REGEX_ERROR_OPTIMIZE")
+ '("replace" "G_REGEX_ERROR_REPLACE")
+ '("match" "G_REGEX_ERROR_MATCH")
+ )
+)
+
+(define-flags CompileFlags
+ (in-module "GRegex")
+ (c-name "GRegexCompileFlags")
+ (gtype-id "G_TYPE_REGEX_COMPILE_FLAGS")
+ (values
+ '("caseless" "G_REGEX_CASELESS")
+ '("multiline" "G_REGEX_MULTILINE")
+ '("dotall" "G_REGEX_DOTALL")
+ '("extended" "G_REGEX_EXTENDED")
+ '("anchored" "G_REGEX_ANCHORED")
+ '("dollar-endonly" "G_REGEX_DOLLAR_ENDONLY")
+ '("ungreedy" "G_REGEX_UNGREEDY")
+ '("raw" "G_REGEX_RAW")
+ '("no-auto-capture" "G_REGEX_NO_AUTO_CAPTURE")
+ '("optimize" "G_REGEX_OPTIMIZE")
+ '("dupnames" "G_REGEX_DUPNAMES")
+ '("newline-cr" "G_REGEX_NEWLINE_CR")
+ '("newline-lf" "G_REGEX_NEWLINE_LF")
+ '("newline-crlf" "G_REGEX_NEWLINE_CRLF")
+ )
+)
+
+(define-flags MatchFlags
+ (in-module "GRegex")
+ (c-name "GRegexMatchFlags")
+ (gtype-id "G_TYPE_REGEX_MATCH_FLAGS")
+ (values
+ '("anchored" "G_REGEX_MATCH_ANCHORED")
+ '("notbol" "G_REGEX_MATCH_NOTBOL")
+ '("noteol" "G_REGEX_MATCH_NOTEOL")
+ '("notempty" "G_REGEX_MATCH_NOTEMPTY")
+ '("partial" "G_REGEX_MATCH_PARTIAL")
+ '("newline-cr" "G_REGEX_MATCH_NEWLINE_CR")
+ '("newline-lf" "G_REGEX_MATCH_NEWLINE_LF")
+ '("newline-crlf" "G_REGEX_MATCH_NEWLINE_CRLF")
+ '("newline-any" "G_REGEX_MATCH_NEWLINE_ANY")
+ )
+)
+
(define-enum Type
(in-module "GError")
(c-name "GErrorType")
@@ -394,6 +452,20 @@
)
)
+(define-enum Config
+ (in-module "GSlice")
+ (c-name "GSliceConfig")
+ (gtype-id "G_TYPE_SLICE_CONFIG")
+ (values
+ '("always-malloc" "G_SLICE_CONFIG_ALWAYS_MALLOC")
+ '("bypass-magazines" "G_SLICE_CONFIG_BYPASS_MAGAZINES")
+ '("working-set-msecs" "G_SLICE_CONFIG_WORKING_SET_MSECS")
+ '("color-increment" "G_SLICE_CONFIG_COLOR_INCREMENT")
+ '("chunk-sizes" "G_SLICE_CONFIG_CHUNK_SIZES")
+ '("contention-counter" "G_SLICE_CONFIG_CONTENTION_COUNTER")
+ )
+)
+
(define-enum Error
(in-module "GSpawn")
(c-name "GSpawnError")
@@ -562,6 +634,87 @@
'("unknown" "G_UNICODE_BREAK_UNKNOWN")
'("next-line" "G_UNICODE_BREAK_NEXT_LINE")
'("word-joiner" "G_UNICODE_BREAK_WORD_JOINER")
+ '("hangul-l-jamo" "G_UNICODE_BREAK_HANGUL_L_JAMO")
+ '("hangul-v-jamo" "G_UNICODE_BREAK_HANGUL_V_JAMO")
+ '("hangul-t-jamo" "G_UNICODE_BREAK_HANGUL_T_JAMO")
+ '("hangul-lv-syllable" "G_UNICODE_BREAK_HANGUL_LV_SYLLABLE")
+ '("hangul-lvt-syllable" "G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE")
+ )
+)
+
+(define-enum Script
+ (in-module "GUnicode")
+ (c-name "GUnicodeScript")
+ (gtype-id "G_TYPE_UNICODE_SCRIPT")
+ (values
+ '("invalid-code" "G_UNICODE_SCRIPT_INVALID_CODE")
+ '("common" "G_UNICODE_SCRIPT_COMMON")
+ '("inherited" "G_UNICODE_SCRIPT_INHERITED")
+ '("arabic" "G_UNICODE_SCRIPT_ARABIC")
+ '("armenian" "G_UNICODE_SCRIPT_ARMENIAN")
+ '("bengali" "G_UNICODE_SCRIPT_BENGALI")
+ '("bopomofo" "G_UNICODE_SCRIPT_BOPOMOFO")
+ '("cherokee" "G_UNICODE_SCRIPT_CHEROKEE")
+ '("coptic" "G_UNICODE_SCRIPT_COPTIC")
+ '("cyrillic" "G_UNICODE_SCRIPT_CYRILLIC")
+ '("deseret" "G_UNICODE_SCRIPT_DESERET")
+ '("devanagari" "G_UNICODE_SCRIPT_DEVANAGARI")
+ '("ethiopic" "G_UNICODE_SCRIPT_ETHIOPIC")
+ '("georgian" "G_UNICODE_SCRIPT_GEORGIAN")
+ '("gothic" "G_UNICODE_SCRIPT_GOTHIC")
+ '("greek" "G_UNICODE_SCRIPT_GREEK")
+ '("gujarati" "G_UNICODE_SCRIPT_GUJARATI")
+ '("gurmukhi" "G_UNICODE_SCRIPT_GURMUKHI")
+ '("han" "G_UNICODE_SCRIPT_HAN")
+ '("hangul" "G_UNICODE_SCRIPT_HANGUL")
+ '("hebrew" "G_UNICODE_SCRIPT_HEBREW")
+ '("hiragana" "G_UNICODE_SCRIPT_HIRAGANA")
+ '("kannada" "G_UNICODE_SCRIPT_KANNADA")
+ '("katakana" "G_UNICODE_SCRIPT_KATAKANA")
+ '("khmer" "G_UNICODE_SCRIPT_KHMER")
+ '("lao" "G_UNICODE_SCRIPT_LAO")
+ '("latin" "G_UNICODE_SCRIPT_LATIN")
+ '("malayalam" "G_UNICODE_SCRIPT_MALAYALAM")
+ '("mongolian" "G_UNICODE_SCRIPT_MONGOLIAN")
+ '("myanmar" "G_UNICODE_SCRIPT_MYANMAR")
+ '("ogham" "G_UNICODE_SCRIPT_OGHAM")
+ '("old-italic" "G_UNICODE_SCRIPT_OLD_ITALIC")
+ '("oriya" "G_UNICODE_SCRIPT_ORIYA")
+ '("runic" "G_UNICODE_SCRIPT_RUNIC")
+ '("sinhala" "G_UNICODE_SCRIPT_SINHALA")
+ '("syriac" "G_UNICODE_SCRIPT_SYRIAC")
+ '("tamil" "G_UNICODE_SCRIPT_TAMIL")
+ '("telugu" "G_UNICODE_SCRIPT_TELUGU")
+ '("thaana" "G_UNICODE_SCRIPT_THAANA")
+ '("thai" "G_UNICODE_SCRIPT_THAI")
+ '("tibetan" "G_UNICODE_SCRIPT_TIBETAN")
+ '("canadian-aboriginal" "G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL")
+ '("yi" "G_UNICODE_SCRIPT_YI")
+ '("tagalog" "G_UNICODE_SCRIPT_TAGALOG")
+ '("hanunoo" "G_UNICODE_SCRIPT_HANUNOO")
+ '("buhid" "G_UNICODE_SCRIPT_BUHID")
+ '("tagbanwa" "G_UNICODE_SCRIPT_TAGBANWA")
+ '("braille" "G_UNICODE_SCRIPT_BRAILLE")
+ '("cypriot" "G_UNICODE_SCRIPT_CYPRIOT")
+ '("limbu" "G_UNICODE_SCRIPT_LIMBU")
+ '("osmanya" "G_UNICODE_SCRIPT_OSMANYA")
+ '("shavian" "G_UNICODE_SCRIPT_SHAVIAN")
+ '("linear-b" "G_UNICODE_SCRIPT_LINEAR_B")
+ '("tai-le" "G_UNICODE_SCRIPT_TAI_LE")
+ '("ugaritic" "G_UNICODE_SCRIPT_UGARITIC")
+ '("new-tai-lue" "G_UNICODE_SCRIPT_NEW_TAI_LUE")
+ '("buginese" "G_UNICODE_SCRIPT_BUGINESE")
+ '("glagolitic" "G_UNICODE_SCRIPT_GLAGOLITIC")
+ '("tifinagh" "G_UNICODE_SCRIPT_TIFINAGH")
+ '("syloti-nagri" "G_UNICODE_SCRIPT_SYLOTI_NAGRI")
+ '("old-persian" "G_UNICODE_SCRIPT_OLD_PERSIAN")
+ '("kharoshthi" "G_UNICODE_SCRIPT_KHAROSHTHI")
+ '("unknown" "G_UNICODE_SCRIPT_UNKNOWN")
+ '("balinese" "G_UNICODE_SCRIPT_BALINESE")
+ '("cuneiform" "G_UNICODE_SCRIPT_CUNEIFORM")
+ '("phoenician" "G_UNICODE_SCRIPT_PHOENICIAN")
+ '("phags-pa" "G_UNICODE_SCRIPT_PHAGS_PA")
+ '("nko" "G_UNICODE_SCRIPT_NKO")
)
)
@@ -581,113 +734,29 @@
)
)
-(define-flags Flags
- (in-module "GParam")
- (c-name "GParamFlags")
- (gtype-id "G_TYPE_PARAM_FLAGS")
+(define-enum Directory
+ (in-module "GUser")
+ (c-name "GUserDirectory")
+ (gtype-id "G_TYPE_USER_DIRECTORY")
(values
- '("g-param-readable" "G_PARAM_READABLE")
- '("g-param-writable" "G_PARAM_WRITABLE")
- '("g-param-construct" "G_PARAM_CONSTRUCT")
- '("g-param-construct-only" "G_PARAM_CONSTRUCT_ONLY")
- '("g-param-lax-validation" "G_PARAM_LAX_VALIDATION")
- '("g-param-static-name" "G_PARAM_STATIC_NAME")
- '("#ifndef" "#ifndef")
- '("#endif" "#endif")
- '("g-param-static-blurb" "G_PARAM_STATIC_BLURB")
+ '("directory-desktop" "G_USER_DIRECTORY_DESKTOP")
+ '("directory-documents" "G_USER_DIRECTORY_DOCUMENTS")
+ '("directory-download" "G_USER_DIRECTORY_DOWNLOAD")
+ '("directory-music" "G_USER_DIRECTORY_MUSIC")
+ '("directory-pictures" "G_USER_DIRECTORY_PICTURES")
+ '("directory-public-share" "G_USER_DIRECTORY_PUBLIC_SHARE")
+ '("directory-templates" "G_USER_DIRECTORY_TEMPLATES")
+ '("directory-videos" "G_USER_DIRECTORY_VIDEOS")
+ '("n-directories" "G_USER_N_DIRECTORIES")
)
)
-(define-flags Flags
- (in-module "GSignal")
- (c-name "GSignalFlags")
- (gtype-id "G_TYPE_SIGNAL_FLAGS")
- (values
- '("run-first" "G_SIGNAL_RUN_FIRST")
- '("run-last" "G_SIGNAL_RUN_LAST")
- '("run-cleanup" "G_SIGNAL_RUN_CLEANUP")
- '("no-recurse" "G_SIGNAL_NO_RECURSE")
- '("detailed" "G_SIGNAL_DETAILED")
- '("action" "G_SIGNAL_ACTION")
- '("no-hooks" "G_SIGNAL_NO_HOOKS")
- )
-)
-(define-flags Flags
- (in-module "GConnect")
- (c-name "GConnectFlags")
- (gtype-id "G_TYPE_CONNECT_FLAGS")
- (values
- '("after" "G_CONNECT_AFTER")
- '("swapped" "G_CONNECT_SWAPPED")
- )
-)
+;; From galias.h
-(define-flags MatchType
- (in-module "GSignal")
- (c-name "GSignalMatchType")
- (gtype-id "G_TYPE_SIGNAL_MATCH_TYPE")
- (values
- '("id" "G_SIGNAL_MATCH_ID")
- '("detail" "G_SIGNAL_MATCH_DETAIL")
- '("closure" "G_SIGNAL_MATCH_CLOSURE")
- '("func" "G_SIGNAL_MATCH_FUNC")
- '("data" "G_SIGNAL_MATCH_DATA")
- '("unblocked" "G_SIGNAL_MATCH_UNBLOCKED")
- )
-)
-(define-flags DebugFlags
- (in-module "GType")
- (c-name "GTypeDebugFlags")
- (gtype-id "G_TYPE_TYPE_DEBUG_FLAGS")
- (values
- '("none" "G_TYPE_DEBUG_NONE")
- '("objects" "G_TYPE_DEBUG_OBJECTS")
- '("signals" "G_TYPE_DEBUG_SIGNALS")
- '("mask" "G_TYPE_DEBUG_MASK")
- )
-)
-(define-flags FundamentalFlags
- (in-module "GType")
- (c-name "GTypeFundamentalFlags")
- (gtype-id "G_TYPE_TYPE_FUNDAMENTAL_FLAGS")
- (values
- '("classed" "G_TYPE_FLAG_CLASSED")
- '("instantiatable" "G_TYPE_FLAG_INSTANTIATABLE")
- '("derivable" "G_TYPE_FLAG_DERIVABLE")
- '("deep-derivable" "G_TYPE_FLAG_DEEP_DERIVABLE")
- )
-)
-
-(define-flags Flags
- (in-module "GType")
- (c-name "GTypeFlags")
- (gtype-id "G_TYPE_TYPE_FLAGS")
- (values
- '("abstract" "G_TYPE_FLAG_ABSTRACT")
- '("value-abstract" "G_TYPE_FLAG_VALUE_ABSTRACT")
- )
-)
-
-(define-flags Flags
- (in-module "GModule")
- (c-name "GModuleFlags")
- (gtype-id "G_TYPE_MODULE_FLAGS")
- (values
- '("lazy" "G_MODULE_BIND_LAZY")
- '("local" "G_MODULE_BIND_LOCAL")
- '("mask" "G_MODULE_BIND_MASK")
- )
-)
-
-
-;; From /home/murrayc/cvs/gnome212/glib/glib/galias.h
-
-
-
-;; From /home/murrayc/cvs/gnome212/glib/glib/galloca.h
+;; From galloca.h
(define-function alloca
(c-name "alloca")
@@ -698,7 +767,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/garray.h
+;; From garray.h
(define-function g_array_new
(c-name "g_array_new")
@@ -1038,7 +1107,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gasyncqueue.h
+;; From gasyncqueue.h
(define-function g_async_queue_new
(c-name "g_async_queue_new")
@@ -1100,6 +1169,28 @@
)
)
+(define-method push_sorted
+ (of-object "GAsyncQueue")
+ (c-name "g_async_queue_push_sorted")
+ (return-type "none")
+ (parameters
+ '("gpointer" "data")
+ '("GCompareDataFunc" "func")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method push_sorted_unlocked
+ (of-object "GAsyncQueue")
+ (c-name "g_async_queue_push_sorted_unlocked")
+ (return-type "none")
+ (parameters
+ '("gpointer" "data")
+ '("GCompareDataFunc" "func")
+ '("gpointer" "user_data")
+ )
+)
+
(define-method pop
(of-object "GAsyncQueue")
(c-name "g_async_queue_pop")
@@ -1154,15 +1245,35 @@
(return-type "gint")
)
+(define-method sort
+ (of-object "GAsyncQueue")
+ (c-name "g_async_queue_sort")
+ (return-type "none")
+ (parameters
+ '("GCompareDataFunc" "func")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method sort_unlocked
+ (of-object "GAsyncQueue")
+ (c-name "g_async_queue_sort_unlocked")
+ (return-type "none")
+ (parameters
+ '("GCompareDataFunc" "func")
+ '("gpointer" "user_data")
+ )
+)
+
-;; From /home/murrayc/cvs/gnome212/glib/glib/gatomic.h
+;; From gatomic.h
(define-function g_atomic_int_exchange_and_add
(c-name "g_atomic_int_exchange_and_add")
(return-type "gint")
(parameters
- '("gint*" "atomic")
+ '("volatile-gint*" "atomic")
'("gint" "val")
)
)
@@ -1171,7 +1282,7 @@
(c-name "g_atomic_int_add")
(return-type "none")
(parameters
- '("gint*" "atomic")
+ '("volatile-gint*" "atomic")
'("gint" "val")
)
)
@@ -1180,7 +1291,7 @@
(c-name "g_atomic_int_compare_and_exchange")
(return-type "gboolean")
(parameters
- '("gint*" "atomic")
+ '("volatile-gint*" "atomic")
'("gint" "oldval")
'("gint" "newval")
)
@@ -1190,7 +1301,7 @@
(c-name "g_atomic_pointer_compare_and_exchange")
(return-type "gboolean")
(parameters
- '("gpointer*" "atomic")
+ '("volatile-gpointer*" "atomic")
'("gpointer" "oldval")
'("gpointer" "newval")
)
@@ -1200,7 +1311,16 @@
(c-name "g_atomic_int_get")
(return-type "gint")
(parameters
- '("gint*" "atomic")
+ '("volatile-gint*" "atomic")
+ )
+)
+
+(define-function g_atomic_int_set
+ (c-name "g_atomic_int_set")
+ (return-type "none")
+ (parameters
+ '("volatile-gint*" "atomic")
+ '("gint" "newval")
)
)
@@ -1208,13 +1328,22 @@
(c-name "g_atomic_pointer_get")
(return-type "gpointer")
(parameters
- '("gpointer*" "atomic")
+ '("volatile-gpointer*" "atomic")
+ )
+)
+
+(define-function g_atomic_pointer_set
+ (c-name "g_atomic_pointer_set")
+ (return-type "none")
+ (parameters
+ '("volatile-gpointer*" "atomic")
+ '("gpointer" "newval")
)
)
-;; From /home/murrayc/cvs/gnome212/glib/glib/gbacktrace.h
+;; From gbacktrace.h
(define-function g_on_error_query
(c-name "g_on_error_query")
@@ -1234,7 +1363,472 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gbsearcharray.h
+;; From gbase64.h
+
+(define-function g_base64_encode_step
+ (c-name "g_base64_encode_step")
+ (return-type "gsize")
+ (parameters
+ '("const-guchar*" "in")
+ '("gsize" "len")
+ '("gboolean" "break_lines")
+ '("gchar*" "out")
+ '("gint*" "state")
+ '("gint*" "save")
+ )
+)
+
+(define-function g_base64_encode_close
+ (c-name "g_base64_encode_close")
+ (return-type "gsize")
+ (parameters
+ '("gboolean" "break_lines")
+ '("gchar*" "out")
+ '("gint*" "state")
+ '("gint*" "save")
+ )
+)
+
+(define-function g_base64_encode
+ (c-name "g_base64_encode")
+ (return-type "gchar*")
+ (parameters
+ '("const-guchar*" "data")
+ '("gsize" "len")
+ )
+)
+
+(define-function g_base64_decode_step
+ (c-name "g_base64_decode_step")
+ (return-type "gsize")
+ (parameters
+ '("const-gchar*" "in")
+ '("gsize" "len")
+ '("guchar*" "out")
+ '("gint*" "state")
+ '("guint*" "save")
+ )
+)
+
+(define-function g_base64_decode
+ (c-name "g_base64_decode")
+ (return-type "guchar*")
+ (parameters
+ '("const-gchar*" "text")
+ '("gsize*" "out_len")
+ )
+)
+
+
+
+;; From gbookmarkfile.h
+
+(define-function g_bookmark_file_error_quark
+ (c-name "g_bookmark_file_error_quark")
+ (return-type "GQuark")
+)
+
+(define-function g_bookmark_file_new
+ (c-name "g_bookmark_file_new")
+ (is-constructor-of "GBookmarkFile")
+ (return-type "GBookmarkFile*")
+)
+
+(define-method free
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_free")
+ (return-type "none")
+)
+
+(define-method load_from_file
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_load_from_file")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "filename")
+ '("GError**" "error")
+ )
+)
+
+(define-method load_from_data
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_load_from_data")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "data")
+ '("gsize" "length")
+ '("GError**" "error")
+ )
+)
+
+(define-method load_from_data_dirs
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_load_from_data_dirs")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "file")
+ '("gchar**" "full_path")
+ '("GError**" "error")
+ )
+)
+
+(define-method to_data
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_to_data")
+ (return-type "gchar*")
+ (parameters
+ '("gsize*" "length")
+ '("GError**" "error")
+ )
+)
+
+(define-method to_file
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_to_file")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "filename")
+ '("GError**" "error")
+ )
+)
+
+(define-method set_title
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_set_title")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "uri")
+ '("const-gchar*" "title")
+ )
+)
+
+(define-method get_title
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_get_title")
+ (return-type "gchar*")
+ (parameters
+ '("const-gchar*" "uri")
+ '("GError**" "error")
+ )
+)
+
+(define-method set_description
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_set_description")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "uri")
+ '("const-gchar*" "description")
+ )
+)
+
+(define-method get_description
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_get_description")
+ (return-type "gchar*")
+ (parameters
+ '("const-gchar*" "uri")
+ '("GError**" "error")
+ )
+)
+
+(define-method set_mime_type
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_set_mime_type")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "uri")
+ '("const-gchar*" "mime_type")
+ )
+)
+
+(define-method get_mime_type
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_get_mime_type")
+ (return-type "gchar*")
+ (parameters
+ '("const-gchar*" "uri")
+ '("GError**" "error")
+ )
+)
+
+(define-method set_groups
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_set_groups")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "uri")
+ '("const-gchar**" "groups")
+ '("gsize" "length")
+ )
+)
+
+(define-method add_group
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_add_group")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "uri")
+ '("const-gchar*" "group")
+ )
+)
+
+(define-method has_group
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_has_group")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri")
+ '("const-gchar*" "group")
+ '("GError**" "error")
+ )
+)
+
+(define-method get_groups
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_get_groups")
+ (return-type "gchar**")
+ (parameters
+ '("const-gchar*" "uri")
+ '("gsize*" "length")
+ '("GError**" "error")
+ )
+)
+
+(define-method add_application
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_add_application")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "uri")
+ '("const-gchar*" "name")
+ '("const-gchar*" "exec")
+ )
+)
+
+(define-method has_application
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_has_application")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri")
+ '("const-gchar*" "name")
+ '("GError**" "error")
+ )
+)
+
+(define-method get_applications
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_get_applications")
+ (return-type "gchar**")
+ (parameters
+ '("const-gchar*" "uri")
+ '("gsize*" "length")
+ '("GError**" "error")
+ )
+)
+
+(define-method set_app_info
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_set_app_info")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri")
+ '("const-gchar*" "name")
+ '("const-gchar*" "exec")
+ '("gint" "count")
+ '("time_t" "stamp")
+ '("GError**" "error")
+ )
+)
+
+(define-method get_app_info
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_get_app_info")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri")
+ '("const-gchar*" "name")
+ '("gchar**" "exec")
+ '("guint*" "count")
+ '("time_t*" "stamp")
+ '("GError**" "error")
+ )
+)
+
+(define-method set_is_private
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_set_is_private")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "uri")
+ '("gboolean" "is_private")
+ )
+)
+
+(define-method get_is_private
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_get_is_private")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri")
+ '("GError**" "error")
+ )
+)
+
+(define-method set_icon
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_set_icon")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "uri")
+ '("const-gchar*" "href")
+ '("const-gchar*" "mime_type")
+ )
+)
+
+(define-method get_icon
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_get_icon")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri")
+ '("gchar**" "href")
+ '("gchar**" "mime_type")
+ '("GError**" "error")
+ )
+)
+
+(define-method set_added
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_set_added")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "uri")
+ '("time_t" "added")
+ )
+)
+
+(define-method get_added
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_get_added")
+ (return-type "time_t")
+ (parameters
+ '("const-gchar*" "uri")
+ '("GError**" "error")
+ )
+)
+
+(define-method set_modified
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_set_modified")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "uri")
+ '("time_t" "modified")
+ )
+)
+
+(define-method get_modified
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_get_modified")
+ (return-type "time_t")
+ (parameters
+ '("const-gchar*" "uri")
+ '("GError**" "error")
+ )
+)
+
+(define-method set_visited
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_set_visited")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "uri")
+ '("time_t" "visited")
+ )
+)
+
+(define-method get_visited
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_get_visited")
+ (return-type "time_t")
+ (parameters
+ '("const-gchar*" "uri")
+ '("GError**" "error")
+ )
+)
+
+(define-method has_item
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_has_item")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri")
+ )
+)
+
+(define-method get_size
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_get_size")
+ (return-type "gint")
+)
+
+(define-method get_uris
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_get_uris")
+ (return-type "gchar**")
+ (parameters
+ '("gsize*" "length")
+ )
+)
+
+(define-method remove_group
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_remove_group")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri")
+ '("const-gchar*" "group")
+ '("GError**" "error")
+ )
+)
+
+(define-method remove_application
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_remove_application")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri")
+ '("const-gchar*" "name")
+ '("GError**" "error")
+ )
+)
+
+(define-method remove_item
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_remove_item")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri")
+ '("GError**" "error")
+ )
+)
+
+(define-method move_item
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_move_item")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "old_uri")
+ '("const-gchar*" "new_uri")
+ '("GError**" "error")
+ )
+)
+
+
+
+;; From gbsearcharray.h
(define-function if
(c-name "if")
@@ -1254,7 +1848,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gcache.h
+;; From gcache.h
(define-function g_cache_new
(c-name "g_cache_new")
@@ -1317,7 +1911,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gcompletion.h
+;; From gcompletion.h
(define-function g_completion_new
(c-name "g_completion_new")
@@ -1389,7 +1983,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gconvert.h
+;; From gconvert.h
(define-function g_convert_error_quark
(c-name "g_convert_error_quark")
@@ -1405,17 +1999,6 @@
)
)
-(define-function g_iconv
- (c-name "g_iconv")
- (return-type "size_t")
- (parameters
- '("gchar**" "inbuf")
- '("gsize*" "inbytes_left")
- '("gchar**" "outbuf")
- '("gsize*" "outbytes_left")
- )
-)
-
(define-method close
(of-object "GIConv")
(c-name "g_iconv_close")
@@ -1566,7 +2149,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gdataset.h
+;; From gdataset.h
(define-function g_datalist_init
(c-name "g_datalist_init")
@@ -1698,11 +2281,11 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gdatasetprivate.h
+;; From gdatasetprivate.h
-;; From /home/murrayc/cvs/gnome212/glib/glib/gdate.h
+;; From gdate.h
(define-function g_date_new
(c-name "g_date_new")
@@ -1862,6 +2445,24 @@
)
)
+(define-method set_time_t
+ (of-object "GDate")
+ (c-name "g_date_set_time_t")
+ (return-type "none")
+ (parameters
+ '("time_t" "timet")
+ )
+)
+
+(define-method set_time_val
+ (of-object "GDate")
+ (c-name "g_date_set_time_val")
+ (return-type "none")
+ (parameters
+ '("GTimeVal*" "timeval")
+ )
+)
+
(define-method set_time
(of-object "GDate")
(c-name "g_date_set_time")
@@ -2076,11 +2677,11 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gdebug.h
+;; From gdebug.h
-;; From /home/murrayc/cvs/gnome212/glib/glib/gdir.h
+;; From gdir.h
(define-function g_dir_open
(c-name "g_dir_open")
@@ -2112,7 +2713,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gerror.h
+;; From gerror.h
(define-function g_error_new
(c-name "g_error_new")
@@ -2189,7 +2790,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gfileutils.h
+;; From gfileutils.h
(define-function g_file_error_quark
(c-name "g_file_error_quark")
@@ -2309,7 +2910,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/ghash.h
+;; From ghash.h
(define-function g_hash_table_new
(c-name "g_hash_table_new")
@@ -2367,6 +2968,12 @@
)
)
+(define-method remove_all
+ (of-object "GHashTable")
+ (c-name "g_hash_table_remove_all")
+ (return-type "none")
+)
+
(define-method steal
(of-object "GHashTable")
(c-name "g_hash_table_steal")
@@ -2376,6 +2983,12 @@
)
)
+(define-method steal_all
+ (of-object "GHashTable")
+ (c-name "g_hash_table_steal_all")
+ (return-type "none")
+)
+
(define-method lookup
(of-object "GHashTable")
(c-name "g_hash_table_lookup")
@@ -2442,6 +3055,30 @@
(return-type "guint")
)
+(define-method get_keys
+ (of-object "GHashTable")
+ (c-name "g_hash_table_get_keys")
+ (return-type "GList*")
+)
+
+(define-method get_values
+ (of-object "GHashTable")
+ (c-name "g_hash_table_get_values")
+ (return-type "GList*")
+)
+
+(define-method ref
+ (of-object "GHashTable")
+ (c-name "g_hash_table_ref")
+ (return-type "GHashTable*")
+)
+
+(define-method unref
+ (of-object "GHashTable")
+ (c-name "g_hash_table_unref")
+ (return-type "none")
+)
+
(define-function g_str_equal
(c-name "g_str_equal")
(return-type "gboolean")
@@ -2495,7 +3132,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/ghook.h
+;; From ghook.h
(define-method init
(of-object "GHookList")
@@ -2715,15 +3352,15 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gi18n.h
+;; From gi18n.h
-;; From /home/murrayc/cvs/gnome212/glib/glib/gi18n-lib.h
+;; From gi18n-lib.h
-;; From /home/murrayc/cvs/gnome212/glib/glib/giochannel.h
+;; From giochannel.h
(define-method init
(of-object "GIOChannel")
@@ -3114,7 +3751,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gkeyfile.h
+;; From gkeyfile.h
(define-function g_key_file_error_quark
(c-name "g_key_file_error_quark")
@@ -3165,6 +3802,19 @@
)
)
+(define-method load_from_dirs
+ (of-object "GKeyFile")
+ (c-name "g_key_file_load_from_dirs")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "file")
+ '("const-gchar**" "search_dirs")
+ '("gchar**" "full_path")
+ '("GKeyFileFlags" "flags")
+ '("GError**" "error")
+ )
+)
+
(define-method load_from_data_dirs
(of-object "GKeyFile")
(c-name "g_key_file_load_from_data_dirs")
@@ -3345,6 +3995,28 @@
)
)
+(define-method get_double
+ (of-object "GKeyFile")
+ (c-name "g_key_file_get_double")
+ (return-type "gdouble")
+ (parameters
+ '("const-gchar*" "group_name")
+ '("const-gchar*" "key")
+ '("GError**" "error")
+ )
+)
+
+(define-method set_double
+ (of-object "GKeyFile")
+ (c-name "g_key_file_set_double")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "group_name")
+ '("const-gchar*" "key")
+ '("gdouble" "value")
+ )
+)
+
(define-method get_string_list
(of-object "GKeyFile")
(c-name "g_key_file_get_string_list")
@@ -3431,6 +4103,30 @@
)
)
+(define-method set_double_list
+ (of-object "GKeyFile")
+ (c-name "g_key_file_set_double_list")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "group_name")
+ '("const-gchar*" "key")
+ '("gdouble[]" "list")
+ '("gsize" "length")
+ )
+)
+
+(define-method get_double_list
+ (of-object "GKeyFile")
+ (c-name "g_key_file_get_double_list")
+ (return-type "gdouble*")
+ (parameters
+ '("const-gchar*" "group_name")
+ '("const-gchar*" "key")
+ '("gsize*" "length")
+ '("GError**" "error")
+ )
+)
+
(define-method set_integer_list
(of-object "GKeyFile")
(c-name "g_key_file_set_integer_list")
@@ -3500,32 +4196,19 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/glib.h
-
-
+;; From glib.h
-;; From /home/murrayc/cvs/gnome212/glib/glib/glibintl.h
+;; From glibintl.h
-;; From /home/murrayc/cvs/gnome212/glib/glib/glib-object.h
+;; From glib-object.h
-;; From /home/murrayc/cvs/gnome212/glib/glib/glist.h
-(define-function g_list_push_allocator
- (c-name "g_list_push_allocator")
- (return-type "none")
- (parameters
- '("GAllocator*" "allocator")
- )
-)
-(define-function g_list_pop_allocator
- (c-name "g_list_pop_allocator")
- (return-type "none")
-)
+;; From glist.h
(define-function g_list_alloc
(c-name "g_list_alloc")
@@ -3582,6 +4265,17 @@
)
)
+(define-method insert_sorted_with_data
+ (of-object "GList")
+ (c-name "g_list_insert_sorted_with_data")
+ (return-type "GList*")
+ (parameters
+ '("gpointer" "data")
+ '("GCompareDataFunc" "func")
+ '("gpointer" "user_data")
+ )
+)
+
(define-method insert_before
(of-object "GList")
(c-name "g_list_insert_before")
@@ -3760,13 +4454,26 @@
)
)
+(define-function g_list_push_allocator
+ (c-name "g_list_push_allocator")
+ (return-type "none")
+ (parameters
+ '("gpointer" "allocator")
+ )
+)
+
+(define-function g_list_pop_allocator
+ (c-name "g_list_pop_allocator")
+ (return-type "none")
+)
+
-;; From /home/murrayc/cvs/gnome212/glib/glib/gmacros.h
+;; From gmacros.h
-;; From /home/murrayc/cvs/gnome212/glib/glib/gmain.h
+;; From gmain.h
(define-function g_main_context_new
(c-name "g_main_context_new")
@@ -3852,6 +4559,12 @@
(return-type "none")
)
+(define-method is_owner
+ (of-object "GMainContext")
+ (c-name "g_main_context_is_owner")
+ (return-type "gboolean")
+)
+
(define-method wait
(of-object "GMainContext")
(c-name "g_main_context_wait")
@@ -3936,7 +4649,12 @@
(define-function g_main_depth
(c-name "g_main_depth")
- (return-type "int")
+ (return-type "gint")
+)
+
+(define-function g_main_current_source
+ (c-name "g_main_current_source")
+ (return-type "GSource*")
)
(define-function g_main_loop_new
@@ -4075,6 +4793,21 @@
)
)
+(define-method set_funcs
+ (of-object "GSource")
+ (c-name "g_source_set_funcs")
+ (return-type "none")
+ (parameters
+ '("GSourceFuncs*" "funcs")
+ )
+)
+
+(define-method is_destroyed
+ (of-object "GSource")
+ (c-name "g_source_is_destroyed")
+ (return-type "gboolean")
+)
+
(define-method set_callback_indirect
(of-object "GSource")
(c-name "g_source_set_callback_indirect")
@@ -4136,6 +4869,14 @@
)
)
+(define-function g_timeout_source_new_seconds
+ (c-name "g_timeout_source_new_seconds")
+ (return-type "GSource*")
+ (parameters
+ '("guint" "interval")
+ )
+)
+
(define-function g_get_current_time
(c-name "g_get_current_time")
(return-type "none")
@@ -4191,6 +4932,16 @@
)
)
+(define-function g_timeout_add_seconds
+ (c-name "g_timeout_add_seconds")
+ (return-type "guint")
+ (parameters
+ '("guint" "interval")
+ '("GSourceFunc" "function")
+ '("gpointer" "data")
+ )
+)
+
(define-function g_child_watch_add_full
(c-name "g_child_watch_add_full")
(return-type "guint")
@@ -4243,7 +4994,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gmappedfile.h
+;; From gmappedfile.h
(define-function g_mapped_file_new
(c-name "g_mapped_file_new")
@@ -4276,7 +5027,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gmarkup.h
+;; From gmarkup.h
(define-function g_markup_error_quark
(c-name "g_markup_error_quark")
@@ -4366,7 +5117,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gmem.h
+;; From gmem.h
(define-function g_malloc
(c-name "g_malloc")
@@ -4529,7 +5280,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gmessages.h
+;; From gmessages.h
(define-function g_printf_string_upper_bound
(c-name "g_printf_string_upper_bound")
@@ -4668,20 +5419,11 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gnode.h
+;; From gmirroringtable.h
-(define-function g_node_push_allocator
- (c-name "g_node_push_allocator")
- (return-type "none")
- (parameters
- '("GAllocator*" "allocator")
- )
-)
-(define-function g_node_pop_allocator
- (c-name "g_node_pop_allocator")
- (return-type "none")
-)
+
+;; From gnode.h
(define-function g_node_new
(c-name "g_node_new")
@@ -4897,9 +5639,22 @@
(return-type "GNode*")
)
+(define-function g_node_push_allocator
+ (c-name "g_node_push_allocator")
+ (return-type "none")
+ (parameters
+ '("gpointer" "dummy")
+ )
+)
+
+(define-function g_node_pop_allocator
+ (c-name "g_node_pop_allocator")
+ (return-type "none")
+)
+
-;; From /home/murrayc/cvs/gnome212/glib/glib/goption.h
+;; From goption.h
(define-function g_option_error_quark
(c-name "g_option_error_quark")
@@ -4915,6 +5670,36 @@
)
)
+(define-method set_summary
+ (of-object "GOptionContext")
+ (c-name "g_option_context_set_summary")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "summary")
+ )
+)
+
+(define-method get_summary
+ (of-object "GOptionContext")
+ (c-name "g_option_context_get_summary")
+ (return-type "const-gchar*")
+)
+
+(define-method set_description
+ (of-object "GOptionContext")
+ (c-name "g_option_context_set_description")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "description")
+ )
+)
+
+(define-method get_description
+ (of-object "GOptionContext")
+ (c-name "g_option_context_get_description")
+ (return-type "const-gchar*")
+)
+
(define-method free
(of-object "GOptionContext")
(c-name "g_option_context_free")
@@ -4972,6 +5757,26 @@
)
)
+(define-method set_translate_func
+ (of-object "GOptionContext")
+ (c-name "g_option_context_set_translate_func")
+ (return-type "none")
+ (parameters
+ '("GTranslateFunc" "func")
+ '("gpointer" "data")
+ '("GDestroyNotify" "destroy_notify")
+ )
+)
+
+(define-method set_translation_domain
+ (of-object "GOptionContext")
+ (c-name "g_option_context_set_translation_domain")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "domain")
+ )
+)
+
(define-method add_group
(of-object "GOptionContext")
(c-name "g_option_context_add_group")
@@ -4996,6 +5801,16 @@
(return-type "GOptionGroup*")
)
+(define-method get_help
+ (of-object "GOptionContext")
+ (c-name "g_option_context_get_help")
+ (return-type "gchar*")
+ (parameters
+ '("gboolean" "main_help")
+ '("GOptionGroup*" "group")
+ )
+)
+
(define-function g_option_group_new
(c-name "g_option_group_new")
(is-constructor-of "GOptionGroup")
@@ -5065,7 +5880,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gpattern.h
+;; From gpattern.h
(define-function g_pattern_spec_new
(c-name "g_pattern_spec_new")
@@ -5122,7 +5937,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gprimes.h
+;; From gprimes.h
(define-function g_spaced_primes_closest
(c-name "g_spaced_primes_closest")
@@ -5134,7 +5949,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gprintf.h
+;; From gprintf.h
(define-function g_printf
(c-name "g_printf")
@@ -5165,17 +5980,6 @@
(varargs #t)
)
-(define-function g_snprintf
- (c-name "g_snprintf")
- (return-type "gint")
- (parameters
- '("gchar*" "string")
- '("gulong" "n")
- '("gchar-const*" "format")
- )
- (varargs #t)
-)
-
(define-function g_vprintf
(c-name "g_vprintf")
(return-type "gint")
@@ -5205,17 +6009,6 @@
)
)
-(define-function g_vsnprintf
- (c-name "g_vsnprintf")
- (return-type "gint")
- (parameters
- '("gchar*" "string")
- '("gulong" "n")
- '("gchar-const*" "format")
- '("va_list" "args")
- )
-)
-
(define-function g_vasprintf
(c-name "g_vasprintf")
(return-type "gint")
@@ -5228,11 +6021,11 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gprintfint.h
+;; From gprintfint.h
-;; From /home/murrayc/cvs/gnome212/glib/glib/gqsort.h
+;; From gqsort.h
(define-function g_qsort_with_data
(c-name "g_qsort_with_data")
@@ -5248,7 +6041,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gquark.h
+;; From gquark.h
(define-function g_quark_try_string
(c-name "g_quark_try_string")
@@ -5280,9 +6073,25 @@
(return-type "const-gchar*")
)
+(define-function g_intern_string
+ (c-name "g_intern_string")
+ (return-type "const-gchar*")
+ (parameters
+ '("const-gchar*" "string")
+ )
+)
+
+(define-function g_intern_static_string
+ (c-name "g_intern_static_string")
+ (return-type "const-gchar*")
+ (parameters
+ '("const-gchar*" "string")
+ )
+)
-;; From /home/murrayc/cvs/gnome212/glib/glib/gqueue.h
+
+;; From gqueue.h
(define-function g_queue_new
(c-name "g_queue_new")
@@ -5296,6 +6105,18 @@
(return-type "none")
)
+(define-method init
+ (of-object "GQueue")
+ (c-name "g_queue_init")
+ (return-type "none")
+)
+
+(define-method clear
+ (of-object "GQueue")
+ (c-name "g_queue_clear")
+ (return-type "none")
+)
+
(define-method is_empty
(of-object "GQueue")
(c-name "g_queue_is_empty")
@@ -5586,7 +6407,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/grand.h
+;; From grand.h
(define-function g_rand_new_with_seed
(c-name "g_rand_new_with_seed")
@@ -5712,7 +6533,326 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/grel.h
+;; From gregex.h
+
+(define-function g_regex_error_quark
+ (c-name "g_regex_error_quark")
+ (return-type "GQuark")
+)
+
+(define-function g_regex_new
+ (c-name "g_regex_new")
+ (is-constructor-of "GRegex")
+ (return-type "GRegex*")
+ (parameters
+ '("const-gchar*" "pattern")
+ '("GRegexCompileFlags" "compile_options")
+ '("GRegexMatchFlags" "match_options")
+ '("GError**" "error")
+ )
+)
+
+(define-method ref
+ (of-object "GRegex")
+ (c-name "g_regex_ref")
+ (return-type "GRegex*")
+)
+
+(define-method unref
+ (of-object "GRegex")
+ (c-name "g_regex_unref")
+ (return-type "none")
+)
+
+(define-method get_pattern
+ (of-object "GRegex")
+ (c-name "g_regex_get_pattern")
+ (return-type "const-gchar*")
+)
+
+(define-method get_max_backref
+ (of-object "GRegex")
+ (c-name "g_regex_get_max_backref")
+ (return-type "gint")
+)
+
+(define-method get_capture_count
+ (of-object "GRegex")
+ (c-name "g_regex_get_capture_count")
+ (return-type "gint")
+)
+
+(define-method get_string_number
+ (of-object "GRegex")
+ (c-name "g_regex_get_string_number")
+ (return-type "gint")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-function g_regex_escape_string
+ (c-name "g_regex_escape_string")
+ (return-type "gchar*")
+ (parameters
+ '("const-gchar*" "string")
+ '("gint" "length")
+ )
+)
+
+(define-function g_regex_match_simple
+ (c-name "g_regex_match_simple")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "pattern")
+ '("const-gchar*" "string")
+ '("GRegexCompileFlags" "compile_options")
+ '("GRegexMatchFlags" "match_options")
+ )
+)
+
+(define-method match
+ (of-object "GRegex")
+ (c-name "g_regex_match")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "string")
+ '("GRegexMatchFlags" "match_options")
+ '("GMatchInfo**" "match_info")
+ )
+)
+
+(define-method match_full
+ (of-object "GRegex")
+ (c-name "g_regex_match_full")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "string")
+ '("gssize" "string_len")
+ '("gint" "start_position")
+ '("GRegexMatchFlags" "match_options")
+ '("GMatchInfo**" "match_info")
+ '("GError**" "error")
+ )
+)
+
+(define-method match_all
+ (of-object "GRegex")
+ (c-name "g_regex_match_all")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "string")
+ '("GRegexMatchFlags" "match_options")
+ '("GMatchInfo**" "match_info")
+ )
+)
+
+(define-method match_all_full
+ (of-object "GRegex")
+ (c-name "g_regex_match_all_full")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "string")
+ '("gssize" "string_len")
+ '("gint" "start_position")
+ '("GRegexMatchFlags" "match_options")
+ '("GMatchInfo**" "match_info")
+ '("GError**" "error")
+ )
+)
+
+(define-function g_regex_split_simple
+ (c-name "g_regex_split_simple")
+ (return-type "gchar**")
+ (parameters
+ '("const-gchar*" "pattern")
+ '("const-gchar*" "string")
+ '("GRegexCompileFlags" "compile_options")
+ '("GRegexMatchFlags" "match_options")
+ )
+)
+
+(define-method split
+ (of-object "GRegex")
+ (c-name "g_regex_split")
+ (return-type "gchar**")
+ (parameters
+ '("const-gchar*" "string")
+ '("GRegexMatchFlags" "match_options")
+ )
+)
+
+(define-method split_full
+ (of-object "GRegex")
+ (c-name "g_regex_split_full")
+ (return-type "gchar**")
+ (parameters
+ '("const-gchar*" "string")
+ '("gssize" "string_len")
+ '("gint" "start_position")
+ '("GRegexMatchFlags" "match_options")
+ '("gint" "max_tokens")
+ '("GError**" "error")
+ )
+)
+
+(define-method replace
+ (of-object "GRegex")
+ (c-name "g_regex_replace")
+ (return-type "gchar*")
+ (parameters
+ '("const-gchar*" "string")
+ '("gssize" "string_len")
+ '("gint" "start_position")
+ '("const-gchar*" "replacement")
+ '("GRegexMatchFlags" "match_options")
+ '("GError**" "error")
+ )
+)
+
+(define-method replace_literal
+ (of-object "GRegex")
+ (c-name "g_regex_replace_literal")
+ (return-type "gchar*")
+ (parameters
+ '("const-gchar*" "string")
+ '("gssize" "string_len")
+ '("gint" "start_position")
+ '("const-gchar*" "replacement")
+ '("GRegexMatchFlags" "match_options")
+ '("GError**" "error")
+ )
+)
+
+(define-method replace_eval
+ (of-object "GRegex")
+ (c-name "g_regex_replace_eval")
+ (return-type "gchar*")
+ (parameters
+ '("const-gchar*" "string")
+ '("gssize" "string_len")
+ '("gint" "start_position")
+ '("GRegexMatchFlags" "match_options")
+ '("GRegexEvalCallback" "eval")
+ '("gpointer" "user_data")
+ '("GError**" "error")
+ )
+)
+
+(define-function g_regex_check_replacement
+ (c-name "g_regex_check_replacement")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "replacement")
+ '("gboolean*" "has_references")
+ '("GError**" "error")
+ )
+)
+
+(define-method get_regex
+ (of-object "GMatchInfo")
+ (c-name "g_match_info_get_regex")
+ (return-type "GRegex*")
+)
+
+(define-method get_string
+ (of-object "GMatchInfo")
+ (c-name "g_match_info_get_string")
+ (return-type "const-gchar*")
+)
+
+(define-method free
+ (of-object "GMatchInfo")
+ (c-name "g_match_info_free")
+ (return-type "none")
+)
+
+(define-method next
+ (of-object "GMatchInfo")
+ (c-name "g_match_info_next")
+ (return-type "gboolean")
+ (parameters
+ '("GError**" "error")
+ )
+)
+
+(define-method matches
+ (of-object "GMatchInfo")
+ (c-name "g_match_info_matches")
+ (return-type "gboolean")
+)
+
+(define-method get_match_count
+ (of-object "GMatchInfo")
+ (c-name "g_match_info_get_match_count")
+ (return-type "gint")
+)
+
+(define-method is_partial_match
+ (of-object "GMatchInfo")
+ (c-name "g_match_info_is_partial_match")
+ (return-type "gboolean")
+)
+
+(define-method expand_references
+ (of-object "GMatchInfo")
+ (c-name "g_match_info_expand_references")
+ (return-type "gchar*")
+ (parameters
+ '("const-gchar*" "string_to_expand")
+ '("GError**" "error")
+ )
+)
+
+(define-method fetch
+ (of-object "GMatchInfo")
+ (c-name "g_match_info_fetch")
+ (return-type "gchar*")
+ (parameters
+ '("gint" "match_num")
+ )
+)
+
+(define-method fetch_pos
+ (of-object "GMatchInfo")
+ (c-name "g_match_info_fetch_pos")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "match_num")
+ '("gint*" "start_pos")
+ '("gint*" "end_pos")
+ )
+)
+
+(define-method fetch_named
+ (of-object "GMatchInfo")
+ (c-name "g_match_info_fetch_named")
+ (return-type "gchar*")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method fetch_named_pos
+ (of-object "GMatchInfo")
+ (c-name "g_match_info_fetch_named_pos")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "name")
+ '("gint*" "start_pos")
+ '("gint*" "end_pos")
+ )
+)
+
+(define-method fetch_all
+ (of-object "GMatchInfo")
+ (c-name "g_match_info_fetch_all")
+ (return-type "gchar**")
+)
+
+
+
+;; From grel.h
(define-function g_relation_new
(c-name "g_relation_new")
@@ -5812,7 +6952,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gscanner.h
+;; From gscanner.h
(define-function g_scanner_new
(c-name "g_scanner_new")
@@ -5992,7 +7132,314 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gshell.h
+;; From gscripttable.h
+
+
+
+;; From gsequence.h
+
+(define-function g_sequence_new
+ (c-name "g_sequence_new")
+ (is-constructor-of "GSequence")
+ (return-type "GSequence*")
+ (parameters
+ '("GDestroyNotify" "data_destroy")
+ )
+)
+
+(define-method free
+ (of-object "GSequence")
+ (c-name "g_sequence_free")
+ (return-type "none")
+)
+
+(define-method get_length
+ (of-object "GSequence")
+ (c-name "g_sequence_get_length")
+ (return-type "gint")
+)
+
+(define-method foreach
+ (of-object "GSequence")
+ (c-name "g_sequence_foreach")
+ (return-type "none")
+ (parameters
+ '("GFunc" "func")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-function g_sequence_foreach_range
+ (c-name "g_sequence_foreach_range")
+ (return-type "none")
+ (parameters
+ '("GSequenceIter*" "begin")
+ '("GSequenceIter*" "end")
+ '("GFunc" "func")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method sort
+ (of-object "GSequence")
+ (c-name "g_sequence_sort")
+ (return-type "none")
+ (parameters
+ '("GCompareDataFunc" "cmp_func")
+ '("gpointer" "cmp_data")
+ )
+)
+
+(define-method sort_iter
+ (of-object "GSequence")
+ (c-name "g_sequence_sort_iter")
+ (return-type "none")
+ (parameters
+ '("GSequenceIterCompareFunc" "cmp_func")
+ '("gpointer" "cmp_data")
+ )
+)
+
+(define-method get_begin_iter
+ (of-object "GSequence")
+ (c-name "g_sequence_get_begin_iter")
+ (return-type "GSequenceIter*")
+)
+
+(define-method get_end_iter
+ (of-object "GSequence")
+ (c-name "g_sequence_get_end_iter")
+ (return-type "GSequenceIter*")
+)
+
+(define-method get_iter_at_pos
+ (of-object "GSequence")
+ (c-name "g_sequence_get_iter_at_pos")
+ (return-type "GSequenceIter*")
+ (parameters
+ '("gint" "pos")
+ )
+)
+
+(define-method append
+ (of-object "GSequence")
+ (c-name "g_sequence_append")
+ (return-type "GSequenceIter*")
+ (parameters
+ '("gpointer" "data")
+ )
+)
+
+(define-method prepend
+ (of-object "GSequence")
+ (c-name "g_sequence_prepend")
+ (return-type "GSequenceIter*")
+ (parameters
+ '("gpointer" "data")
+ )
+)
+
+(define-function g_sequence_insert_before
+ (c-name "g_sequence_insert_before")
+ (return-type "GSequenceIter*")
+ (parameters
+ '("GSequenceIter*" "iter")
+ '("gpointer" "data")
+ )
+)
+
+(define-function g_sequence_move
+ (c-name "g_sequence_move")
+ (return-type "none")
+ (parameters
+ '("GSequenceIter*" "src")
+ '("GSequenceIter*" "dest")
+ )
+)
+
+(define-function g_sequence_swap
+ (c-name "g_sequence_swap")
+ (return-type "none")
+ (parameters
+ '("GSequenceIter*" "a")
+ '("GSequenceIter*" "b")
+ )
+)
+
+(define-method insert_sorted
+ (of-object "GSequence")
+ (c-name "g_sequence_insert_sorted")
+ (return-type "GSequenceIter*")
+ (parameters
+ '("gpointer" "data")
+ '("GCompareDataFunc" "cmp_func")
+ '("gpointer" "cmp_data")
+ )
+)
+
+(define-method insert_sorted_iter
+ (of-object "GSequence")
+ (c-name "g_sequence_insert_sorted_iter")
+ (return-type "GSequenceIter*")
+ (parameters
+ '("gpointer" "data")
+ '("GSequenceIterCompareFunc" "iter_cmp")
+ '("gpointer" "cmp_data")
+ )
+)
+
+(define-function g_sequence_sort_changed
+ (c-name "g_sequence_sort_changed")
+ (return-type "none")
+ (parameters
+ '("GSequenceIter*" "iter")
+ '("GCompareDataFunc" "cmp_func")
+ '("gpointer" "cmp_data")
+ )
+)
+
+(define-function g_sequence_sort_changed_iter
+ (c-name "g_sequence_sort_changed_iter")
+ (return-type "none")
+ (parameters
+ '("GSequenceIter*" "iter")
+ '("GSequenceIterCompareFunc" "iter_cmp")
+ '("gpointer" "cmp_data")
+ )
+)
+
+(define-function g_sequence_remove
+ (c-name "g_sequence_remove")
+ (return-type "none")
+ (parameters
+ '("GSequenceIter*" "iter")
+ )
+)
+
+(define-function g_sequence_remove_range
+ (c-name "g_sequence_remove_range")
+ (return-type "none")
+ (parameters
+ '("GSequenceIter*" "begin")
+ '("GSequenceIter*" "end")
+ )
+)
+
+(define-function g_sequence_move_range
+ (c-name "g_sequence_move_range")
+ (return-type "none")
+ (parameters
+ '("GSequenceIter*" "dest")
+ '("GSequenceIter*" "begin")
+ '("GSequenceIter*" "end")
+ )
+)
+
+(define-method search
+ (of-object "GSequence")
+ (c-name "g_sequence_search")
+ (return-type "GSequenceIter*")
+ (parameters
+ '("gpointer" "data")
+ '("GCompareDataFunc" "cmp_func")
+ '("gpointer" "cmp_data")
+ )
+)
+
+(define-method search_iter
+ (of-object "GSequence")
+ (c-name "g_sequence_search_iter")
+ (return-type "GSequenceIter*")
+ (parameters
+ '("gpointer" "data")
+ '("GSequenceIterCompareFunc" "iter_cmp")
+ '("gpointer" "cmp_data")
+ )
+)
+
+(define-function g_sequence_get
+ (c-name "g_sequence_get")
+ (return-type "gpointer")
+ (parameters
+ '("GSequenceIter*" "iter")
+ )
+)
+
+(define-function g_sequence_set
+ (c-name "g_sequence_set")
+ (return-type "none")
+ (parameters
+ '("GSequenceIter*" "iter")
+ '("gpointer" "data")
+ )
+)
+
+(define-method is_begin
+ (of-object "GSequenceIter")
+ (c-name "g_sequence_iter_is_begin")
+ (return-type "gboolean")
+)
+
+(define-method is_end
+ (of-object "GSequenceIter")
+ (c-name "g_sequence_iter_is_end")
+ (return-type "gboolean")
+)
+
+(define-method next
+ (of-object "GSequenceIter")
+ (c-name "g_sequence_iter_next")
+ (return-type "GSequenceIter*")
+)
+
+(define-method prev
+ (of-object "GSequenceIter")
+ (c-name "g_sequence_iter_prev")
+ (return-type "GSequenceIter*")
+)
+
+(define-method get_position
+ (of-object "GSequenceIter")
+ (c-name "g_sequence_iter_get_position")
+ (return-type "gint")
+)
+
+(define-method move
+ (of-object "GSequenceIter")
+ (c-name "g_sequence_iter_move")
+ (return-type "GSequenceIter*")
+ (parameters
+ '("gint" "delta")
+ )
+)
+
+(define-method get_sequence
+ (of-object "GSequenceIter")
+ (c-name "g_sequence_iter_get_sequence")
+ (return-type "GSequence*")
+)
+
+(define-method compare
+ (of-object "GSequenceIter")
+ (c-name "g_sequence_iter_compare")
+ (return-type "gint")
+ (parameters
+ '("GSequenceIter*" "b")
+ )
+)
+
+(define-function g_sequence_range_get_midpoint
+ (c-name "g_sequence_range_get_midpoint")
+ (return-type "GSequenceIter*")
+ (parameters
+ '("GSequenceIter*" "begin")
+ '("GSequenceIter*" "end")
+ )
+)
+
+
+
+;; From gshell.h
(define-function g_shell_error_quark
(c-name "g_shell_error_quark")
@@ -6029,21 +7476,74 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gslist.h
+;; From gslice.h
-(define-function g_slist_push_allocator
- (c-name "g_slist_push_allocator")
+(define-function g_slice_alloc
+ (c-name "g_slice_alloc")
+ (return-type "gpointer")
+ (parameters
+ '("gsize" "block_size")
+ )
+)
+
+(define-function g_slice_alloc0
+ (c-name "g_slice_alloc0")
+ (return-type "gpointer")
+ (parameters
+ '("gsize" "block_size")
+ )
+)
+
+(define-function g_slice_free1
+ (c-name "g_slice_free1")
(return-type "none")
(parameters
- '("GAllocator*" "allocator")
+ '("gsize" "block_size")
+ '("gpointer" "mem_block")
)
)
-(define-function g_slist_pop_allocator
- (c-name "g_slist_pop_allocator")
+(define-function g_slice_free_chain_with_offset
+ (c-name "g_slice_free_chain_with_offset")
(return-type "none")
+ (parameters
+ '("gsize" "block_size")
+ '("gpointer" "mem_chain")
+ '("gsize" "next_offset")
+ )
+)
+
+(define-function g_slice_set_config
+ (c-name "g_slice_set_config")
+ (return-type "none")
+ (parameters
+ '("GSliceConfig" "ckey")
+ '("gint64" "value")
+ )
+)
+
+(define-function g_slice_get_config
+ (c-name "g_slice_get_config")
+ (return-type "gint64")
+ (parameters
+ '("GSliceConfig" "ckey")
+ )
+)
+
+(define-function g_slice_get_config_state
+ (c-name "g_slice_get_config_state")
+ (return-type "gint64*")
+ (parameters
+ '("GSliceConfig" "ckey")
+ '("gint64" "address")
+ '("guint*" "n_values")
+ )
)
+
+
+;; From gslist.h
+
(define-function g_slist_alloc
(c-name "g_slist_alloc")
(return-type "GSList*")
@@ -6099,6 +7599,17 @@
)
)
+(define-method insert_sorted_with_data
+ (of-object "GSList")
+ (c-name "g_slist_insert_sorted_with_data")
+ (return-type "GSList*")
+ (parameters
+ '("gpointer" "data")
+ '("GCompareDataFunc" "func")
+ '("gpointer" "user_data")
+ )
+)
+
(define-method insert_before
(of-object "GSList")
(c-name "g_slist_insert_before")
@@ -6262,9 +7773,22 @@
)
)
+(define-function g_slist_push_allocator
+ (c-name "g_slist_push_allocator")
+ (return-type "none")
+ (parameters
+ '("gpointer" "dummy")
+ )
+)
+
+(define-function g_slist_pop_allocator
+ (c-name "g_slist_pop_allocator")
+ (return-type "none")
+)
-;; From /home/murrayc/cvs/gnome212/glib/glib/gspawn.h
+
+;; From gspawn.h
(define-function g_spawn_error_quark
(c-name "g_spawn_error_quark")
@@ -6352,7 +7876,40 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gstdio.h
+;; From gstdio.h
+
+(define-function g_access
+ (c-name "g_access")
+ (return-type "int")
+ (parameters
+ '("const-gchar*" "filename")
+ '("int" "mode")
+ )
+)
+
+(define-function g_chdir
+ (c-name "g_chdir")
+ (return-type "int")
+ (parameters
+ '("const-gchar*" "path")
+ )
+)
+
+(define-function g_unlink
+ (c-name "g_unlink")
+ (return-type "int")
+ (parameters
+ '("const-gchar*" "filename")
+ )
+)
+
+(define-function g_rmdir
+ (c-name "g_rmdir")
+ (return-type "int")
+ (parameters
+ '("const-gchar*" "filename")
+ )
+)
(define-function g_access
(c-name "g_access")
@@ -6480,7 +8037,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gstrfuncs.h
+;; From gstrfuncs.h
(define-function g_ascii_tolower
(c-name "g_ascii_tolower")
@@ -6653,6 +8210,16 @@
)
)
+(define-function g_ascii_strtoll
+ (c-name "g_ascii_strtoll")
+ (return-type "gint64")
+ (parameters
+ '("const-gchar*" "nptr")
+ '("gchar**" "endptr")
+ '("guint" "base")
+ )
+)
+
(define-function g_ascii_dtostr
(c-name "g_ascii_dtostr")
(return-type "gchar*")
@@ -6923,7 +8490,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gstring.h
+;; From gstring.h
(define-function g_string_chunk_new
(c-name "g_string_chunk_new")
@@ -6940,6 +8507,12 @@
(return-type "none")
)
+(define-method clear
+ (of-object "GStringChunk")
+ (c-name "g_string_chunk_clear")
+ (return-type "none")
+)
+
(define-method insert
(of-object "GStringChunk")
(c-name "g_string_chunk_insert")
@@ -7202,7 +8775,15 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gthread.h
+;; From gthread.h
+
+(define-function guint64
+ (c-name "guint64")
+ (return-type "GLIB_VAR")
+ (parameters
+ '("*" "g_thread_gettime")
+ )
+)
(define-function g_thread_init
(c-name "g_thread_init")
@@ -7403,6 +8984,15 @@
(return-type "none")
)
+(define-function g_thread_foreach
+ (c-name "g_thread_foreach")
+ (return-type "none")
+ (parameters
+ '("GFunc" "thread_func")
+ '("gpointer" "user_data")
+ )
+)
+
(define-method impl
(of-object "GOnce")
(c-name "g_once_impl")
@@ -7415,16 +9005,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gthreadinit.h
-
-(define-function g_thread_init_glib
- (c-name "g_thread_init_glib")
- (return-type "none")
-)
-
-
-
-;; From /home/murrayc/cvs/gnome212/glib/glib/gthreadpool.h
+;; From gthreadpool.h
(define-function g_thread_pool_new
(c-name "g_thread_pool_new")
@@ -7483,7 +9064,7 @@
(return-type "none")
(parameters
'("gboolean" "immediate")
- '("gboolean" "wait")
+ '("gboolean" "wait_")
)
)
@@ -7510,9 +9091,41 @@
(return-type "none")
)
+(define-method set_sort_function
+ (of-object "GThreadPool")
+ (c-name "g_thread_pool_set_sort_function")
+ (return-type "none")
+ (parameters
+ '("GCompareDataFunc" "func")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-function g_thread_pool_set_max_idle_time
+ (c-name "g_thread_pool_set_max_idle_time")
+ (return-type "none")
+ (parameters
+ '("guint" "interval")
+ )
+)
+
+(define-function g_thread_pool_get_max_idle_time
+ (c-name "g_thread_pool_get_max_idle_time")
+ (return-type "guint")
+)
-;; From /home/murrayc/cvs/gnome212/glib/glib/gtimer.h
+
+;; From gthreadprivate.h
+
+(define-function g_thread_init_glib
+ (c-name "g_thread_init_glib")
+ (return-type "none")
+)
+
+
+
+;; From gtimer.h
(define-function g_timer_new
(c-name "g_timer_new")
@@ -7576,9 +9189,24 @@
)
)
+(define-function g_time_val_from_iso8601
+ (c-name "g_time_val_from_iso8601")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "iso_date")
+ '("GTimeVal*" "time_")
+ )
+)
+
+(define-method to_iso8601
+ (of-object "GTimeVal")
+ (c-name "g_time_val_to_iso8601")
+ (return-type "gchar*")
+)
+
-;; From /home/murrayc/cvs/gnome212/glib/glib/gtree.h
+;; From gtree.h
(define-function g_tree_new
(c-name "g_tree_new")
@@ -7718,19 +9346,19 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gtypes.h
+;; From gtypes.h
-;; From /home/murrayc/cvs/gnome212/glib/glib/gunibreak.h
+;; From gunibreak.h
-;; From /home/murrayc/cvs/gnome212/glib/glib/gunichartables.h
+;; From gunichartables.h
-;; From /home/murrayc/cvs/gnome212/glib/glib/gunicode.h
+;; From gunicode.h
(define-function g_get_charset
(c-name "g_get_charset")
@@ -7824,6 +9452,24 @@
(return-type "gboolean")
)
+(define-method iswide_cjk
+ (of-object "gunichar")
+ (c-name "g_unichar_iswide_cjk")
+ (return-type "gboolean")
+)
+
+(define-method iszerowidth
+ (of-object "gunichar")
+ (c-name "g_unichar_iszerowidth")
+ (return-type "gboolean")
+)
+
+(define-method ismark
+ (of-object "gunichar")
+ (c-name "g_unichar_ismark")
+ (return-type "gboolean")
+)
+
(define-method toupper
(of-object "gunichar")
(c-name "g_unichar_toupper")
@@ -8173,21 +9819,27 @@
)
)
+(define-method get_script
+ (of-object "gunichar")
+ (c-name "g_unichar_get_script")
+ (return-type "GUnicodeScript")
+)
+
-;; From /home/murrayc/cvs/gnome212/glib/glib/gunicodeprivate.h
+;; From gunicodeprivate.h
-;; From /home/murrayc/cvs/gnome212/glib/glib/gunicomp.h
+;; From gunicomp.h
-;; From /home/murrayc/cvs/gnome212/glib/glib/gunidecomp.h
+;; From gunidecomp.h
-;; From /home/murrayc/cvs/gnome212/glib/glib/gutils.h
+;; From gutils.h
(define-function g_get_user_name
(c-name "g_get_user_name")
@@ -8255,6 +9907,14 @@
(return-type "const-gchar*")
)
+(define-function g_get_user_special_dir
+ (c-name "g_get_user_special_dir")
+ (return-type "const-gchar*")
+ (parameters
+ '("GUserDirectory" "directory")
+ )
+)
+
(define-function g_parse_debug_string
(c-name "g_parse_debug_string")
(return-type "guint")
@@ -8399,7 +10059,7 @@
-;; From /home/murrayc/cvs/gnome212/glib/glib/gwin32.h
+;; From gwin32.h
(define-function g_win32_ftruncate
(c-name "g_win32_ftruncate")
@@ -8427,8 +10087,8 @@
(c-name "g_win32_get_package_installation_directory")
(return-type "gchar*")
(parameters
- '("gchar*" "package")
- '("gchar*" "dll_name")
+ '("const-gchar*" "package")
+ '("const-gchar*" "dll_name")
)
)
@@ -8436,9 +10096,9 @@
(c-name "g_win32_get_package_installation_subdirectory")
(return-type "gchar*")
(parameters
- '("gchar*" "package")
- '("gchar*" "dll_name")
- '("gchar*" "subdir")
+ '("const-gchar*" "package")
+ '("const-gchar*" "dll_name")
+ '("const-gchar*" "subdir")
)
)
@@ -8456,2880 +10116,3 @@
)
-
-;; From /home/murrayc/cvs/gnome212/glib/gobject/gboxed.h
-
-(define-function g_boxed_copy
- (c-name "g_boxed_copy")
- (return-type "gpointer")
- (parameters
- '("GType" "boxed_type")
- '("gconstpointer" "src_boxed")
- )
-)
-
-(define-function g_boxed_free
- (c-name "g_boxed_free")
- (return-type "none")
- (parameters
- '("GType" "boxed_type")
- '("gpointer" "boxed")
- )
-)
-
-(define-method set_boxed
- (of-object "GValue")
- (c-name "g_value_set_boxed")
- (return-type "none")
- (parameters
- '("gconstpointer" "v_boxed")
- )
-)
-
-(define-method set_static_boxed
- (of-object "GValue")
- (c-name "g_value_set_static_boxed")
- (return-type "none")
- (parameters
- '("gconstpointer" "v_boxed")
- )
-)
-
-(define-method get_boxed
- (of-object "GValue")
- (c-name "g_value_get_boxed")
- (return-type "gpointer")
-)
-
-(define-method dup_boxed
- (of-object "GValue")
- (c-name "g_value_dup_boxed")
- (return-type "gpointer")
-)
-
-(define-function g_boxed_type_register_static
- (c-name "g_boxed_type_register_static")
- (return-type "GType")
- (parameters
- '("const-gchar*" "name")
- '("GBoxedCopyFunc" "boxed_copy")
- '("GBoxedFreeFunc" "boxed_free")
- )
-)
-
-(define-method take_boxed
- (of-object "GValue")
- (c-name "g_value_take_boxed")
- (return-type "none")
- (parameters
- '("gconstpointer" "v_boxed")
- )
-)
-
-(define-method set_boxed_take_ownership
- (of-object "GValue")
- (c-name "g_value_set_boxed_take_ownership")
- (return-type "none")
- (parameters
- '("gconstpointer" "v_boxed")
- )
-)
-
-(define-function g_closure_get_type
- (c-name "g_closure_get_type")
- (return-type "GType")
-)
-
-(define-function g_value_get_type
- (c-name "g_value_get_type")
- (return-type "GType")
-)
-
-(define-function g_value_array_get_type
- (c-name "g_value_array_get_type")
- (return-type "GType")
-)
-
-(define-function g_date_get_type
- (c-name "g_date_get_type")
- (return-type "GType")
-)
-
-(define-function g_strv_get_type
- (c-name "g_strv_get_type")
- (return-type "GType")
-)
-
-(define-function g_gstring_get_type
- (c-name "g_gstring_get_type")
- (return-type "GType")
-)
-
-
-
-;; From /home/murrayc/cvs/gnome212/glib/gobject/gclosure.h
-
-(define-function g_cclosure_new
- (c-name "g_cclosure_new")
- (is-constructor-of "GCclosure")
- (return-type "GClosure*")
- (parameters
- '("GCallback" "callback_func")
- '("gpointer" "user_data")
- '("GClosureNotify" "destroy_data")
- )
-)
-
-(define-function g_cclosure_new_swap
- (c-name "g_cclosure_new_swap")
- (return-type "GClosure*")
- (parameters
- '("GCallback" "callback_func")
- '("gpointer" "user_data")
- '("GClosureNotify" "destroy_data")
- )
-)
-
-(define-function g_signal_type_cclosure_new
- (c-name "g_signal_type_cclosure_new")
- (is-constructor-of "GSignalTypeCclosure")
- (return-type "GClosure*")
- (parameters
- '("GType" "itype")
- '("guint" "struct_offset")
- )
-)
-
-(define-method ref
- (of-object "GClosure")
- (c-name "g_closure_ref")
- (return-type "GClosure*")
-)
-
-(define-method sink
- (of-object "GClosure")
- (c-name "g_closure_sink")
- (return-type "none")
-)
-
-(define-method unref
- (of-object "GClosure")
- (c-name "g_closure_unref")
- (return-type "none")
-)
-
-(define-function g_closure_new_simple
- (c-name "g_closure_new_simple")
- (return-type "GClosure*")
- (parameters
- '("guint" "sizeof_closure")
- '("gpointer" "data")
- )
-)
-
-(define-method add_finalize_notifier
- (of-object "GClosure")
- (c-name "g_closure_add_finalize_notifier")
- (return-type "none")
- (parameters
- '("gpointer" "notify_data")
- '("GClosureNotify" "notify_func")
- )
-)
-
-(define-method remove_finalize_notifier
- (of-object "GClosure")
- (c-name "g_closure_remove_finalize_notifier")
- (return-type "none")
- (parameters
- '("gpointer" "notify_data")
- '("GClosureNotify" "notify_func")
- )
-)
-
-(define-method add_invalidate_notifier
- (of-object "GClosure")
- (c-name "g_closure_add_invalidate_notifier")
- (return-type "none")
- (parameters
- '("gpointer" "notify_data")
- '("GClosureNotify" "notify_func")
- )
-)
-
-(define-method remove_invalidate_notifier
- (of-object "GClosure")
- (c-name "g_closure_remove_invalidate_notifier")
- (return-type "none")
- (parameters
- '("gpointer" "notify_data")
- '("GClosureNotify" "notify_func")
- )
-)
-
-(define-method add_marshal_guards
- (of-object "GClosure")
- (c-name "g_closure_add_marshal_guards")
- (return-type "none")
- (parameters
- '("gpointer" "pre_marshal_data")
- '("GClosureNotify" "pre_marshal_notify")
- '("gpointer" "post_marshal_data")
- '("GClosureNotify" "post_marshal_notify")
- )
-)
-
-(define-method set_marshal
- (of-object "GClosure")
- (c-name "g_closure_set_marshal")
- (return-type "none")
- (parameters
- '("GClosureMarshal" "marshal")
- )
-)
-
-(define-method set_meta_marshal
- (of-object "GClosure")
- (c-name "g_closure_set_meta_marshal")
- (return-type "none")
- (parameters
- '("gpointer" "marshal_data")
- '("GClosureMarshal" "meta_marshal")
- )
-)
-
-(define-method invalidate
- (of-object "GClosure")
- (c-name "g_closure_invalidate")
- (return-type "none")
-)
-
-(define-method invoke
- (of-object "GClosure")
- (c-name "g_closure_invoke")
- (return-type "none")
- (parameters
- '("GValue*" "return_value")
- '("guint" "n_param_values")
- '("const-GValue*" "param_values")
- '("gpointer" "invocation_hint")
- )
-)
-
-
-
-;; From /home/murrayc/cvs/gnome212/glib/gobject/genums.h
-
-(define-function g_enum_get_value
- (c-name "g_enum_get_value")
- (return-type "GEnumValue*")
- (parameters
- '("GEnumClass*" "enum_class")
- '("gint" "value")
- )
-)
-
-(define-function g_enum_get_value_by_name
- (c-name "g_enum_get_value_by_name")
- (return-type "GEnumValue*")
- (parameters
- '("GEnumClass*" "enum_class")
- '("const-gchar*" "name")
- )
-)
-
-(define-function g_enum_get_value_by_nick
- (c-name "g_enum_get_value_by_nick")
- (return-type "GEnumValue*")
- (parameters
- '("GEnumClass*" "enum_class")
- '("const-gchar*" "nick")
- )
-)
-
-(define-function g_flags_get_first_value
- (c-name "g_flags_get_first_value")
- (return-type "GFlagsValue*")
- (parameters
- '("GFlagsClass*" "flags_class")
- '("guint" "value")
- )
-)
-
-(define-function g_flags_get_value_by_name
- (c-name "g_flags_get_value_by_name")
- (return-type "GFlagsValue*")
- (parameters
- '("GFlagsClass*" "flags_class")
- '("const-gchar*" "name")
- )
-)
-
-(define-function g_flags_get_value_by_nick
- (c-name "g_flags_get_value_by_nick")
- (return-type "GFlagsValue*")
- (parameters
- '("GFlagsClass*" "flags_class")
- '("const-gchar*" "nick")
- )
-)
-
-(define-method set_enum
- (of-object "GValue")
- (c-name "g_value_set_enum")
- (return-type "none")
- (parameters
- '("gint" "v_enum")
- )
-)
-
-(define-method get_enum
- (of-object "GValue")
- (c-name "g_value_get_enum")
- (return-type "gint")
-)
-
-(define-method set_flags
- (of-object "GValue")
- (c-name "g_value_set_flags")
- (return-type "none")
- (parameters
- '("guint" "v_flags")
- )
-)
-
-(define-method get_flags
- (of-object "GValue")
- (c-name "g_value_get_flags")
- (return-type "guint")
-)
-
-(define-function g_enum_register_static
- (c-name "g_enum_register_static")
- (return-type "GType")
- (parameters
- '("const-gchar*" "name")
- '("const-GEnumValue*" "const_static_values")
- )
-)
-
-(define-function g_flags_register_static
- (c-name "g_flags_register_static")
- (return-type "GType")
- (parameters
- '("const-gchar*" "name")
- '("const-GFlagsValue*" "const_static_values")
- )
-)
-
-(define-function g_enum_complete_type_info
- (c-name "g_enum_complete_type_info")
- (return-type "none")
- (parameters
- '("GType" "g_enum_type")
- '("GTypeInfo*" "info")
- '("const-GEnumValue*" "const_values")
- )
-)
-
-(define-function g_flags_complete_type_info
- (c-name "g_flags_complete_type_info")
- (return-type "none")
- (parameters
- '("GType" "g_flags_type")
- '("GTypeInfo*" "info")
- '("const-GFlagsValue*" "const_values")
- )
-)
-
-
-
-;; From /home/murrayc/cvs/gnome212/glib/gobject/gmarshal.h
-
-
-
-;; From /home/murrayc/cvs/gnome212/glib/gobject/gobjectalias.h
-
-
-
-;; From /home/murrayc/cvs/gnome212/glib/gobject/gobject.h
-
-(define-method install_property
- (of-object "GObjectClass")
- (c-name "g_object_class_install_property")
- (return-type "none")
- (parameters
- '("guint" "property_id")
- '("GParamSpec*" "pspec")
- )
-)
-
-(define-method find_property
- (of-object "GObjectClass")
- (c-name "g_object_class_find_property")
- (return-type "GParamSpec*")
- (parameters
- '("const-gchar*" "property_name")
- )
-)
-
-(define-method list_properties
- (of-object "GObjectClass")
- (c-name "g_object_class_list_properties")
- (return-type "GParamSpec**")
- (parameters
- '("guint*" "n_properties")
- )
-)
-
-(define-method override_property
- (of-object "GObjectClass")
- (c-name "g_object_class_override_property")
- (return-type "none")
- (parameters
- '("guint" "property_id")
- '("const-gchar*" "name")
- )
-)
-
-(define-function g_object_interface_install_property
- (c-name "g_object_interface_install_property")
- (return-type "none")
- (parameters
- '("gpointer" "g_iface")
- '("GParamSpec*" "pspec")
- )
-)
-
-(define-function g_object_interface_find_property
- (c-name "g_object_interface_find_property")
- (return-type "GParamSpec*")
- (parameters
- '("gpointer" "g_iface")
- '("const-gchar*" "property_name")
- )
-)
-
-(define-function g_object_interface_list_properties
- (c-name "g_object_interface_list_properties")
- (return-type "GParamSpec**")
- (parameters
- '("gpointer" "g_iface")
- '("guint*" "n_properties_p")
- )
-)
-
-(define-function g_object_new
- (c-name "g_object_new")
- (return-type "gpointer")
- (parameters
- '("GType" "object_type")
- '("const-gchar*" "first_property_name")
- )
- (varargs #t)
-)
-
-(define-function g_object_newv
- (c-name "g_object_newv")
- (return-type "gpointer")
- (parameters
- '("GType" "object_type")
- '("guint" "n_parameters")
- '("GParameter*" "parameters")
- )
-)
-
-(define-function g_object_new_valist
- (c-name "g_object_new_valist")
- (return-type "GObject*")
- (parameters
- '("GType" "object_type")
- '("const-gchar*" "first_property_name")
- '("va_list" "var_args")
- )
-)
-
-(define-function g_object_set
- (c-name "g_object_set")
- (return-type "none")
- (parameters
- '("gpointer" "object")
- '("const-gchar*" "first_property_name")
- )
- (varargs #t)
-)
-
-(define-function g_object_get
- (c-name "g_object_get")
- (return-type "none")
- (parameters
- '("gpointer" "object")
- '("const-gchar*" "first_property_name")
- )
- (varargs #t)
-)
-
-(define-function g_object_connect
- (c-name "g_object_connect")
- (return-type "gpointer")
- (parameters
- '("gpointer" "object")
- '("const-gchar*" "signal_spec")
- )
- (varargs #t)
-)
-
-(define-function g_object_disconnect
- (c-name "g_object_disconnect")
- (return-type "none")
- (parameters
- '("gpointer" "object")
- '("const-gchar*" "signal_spec")
- )
- (varargs #t)
-)
-
-(define-method set_valist
- (of-object "GObject")
- (c-name "g_object_set_valist")
- (return-type "none")
- (parameters
- '("const-gchar*" "first_property_name")
- '("va_list" "var_args")
- )
-)
-
-(define-method get_valist
- (of-object "GObject")
- (c-name "g_object_get_valist")
- (return-type "none")
- (parameters
- '("const-gchar*" "first_property_name")
- '("va_list" "var_args")
- )
-)
-
-(define-method set_property
- (of-object "GObject")
- (c-name "g_object_set_property")
- (return-type "none")
- (parameters
- '("const-gchar*" "property_name")
- '("const-GValue*" "value")
- )
-)
-
-(define-method get_property
- (of-object "GObject")
- (c-name "g_object_get_property")
- (return-type "none")
- (parameters
- '("const-gchar*" "property_name")
- '("GValue*" "value")
- )
-)
-
-(define-method freeze_notify
- (of-object "GObject")
- (c-name "g_object_freeze_notify")
- (return-type "none")
-)
-
-(define-method notify
- (of-object "GObject")
- (c-name "g_object_notify")
- (return-type "none")
- (parameters
- '("const-gchar*" "property_name")
- )
-)
-
-(define-method thaw_notify
- (of-object "GObject")
- (c-name "g_object_thaw_notify")
- (return-type "none")
-)
-
-(define-function g_object_ref
- (c-name "g_object_ref")
- (return-type "gpointer")
- (parameters
- '("gpointer" "object")
- )
-)
-
-(define-function g_object_unref
- (c-name "g_object_unref")
- (return-type "none")
- (parameters
- '("gpointer" "object")
- )
-)
-
-(define-method weak_ref
- (of-object "GObject")
- (c-name "g_object_weak_ref")
- (return-type "none")
- (parameters
- '("GWeakNotify" "notify")
- '("gpointer" "data")
- )
-)
-
-(define-method weak_unref
- (of-object "GObject")
- (c-name "g_object_weak_unref")
- (return-type "none")
- (parameters
- '("GWeakNotify" "notify")
- '("gpointer" "data")
- )
-)
-
-(define-method add_weak_pointer
- (of-object "GObject")
- (c-name "g_object_add_weak_pointer")
- (return-type "none")
- (parameters
- '("gpointer*" "weak_pointer_location")
- )
-)
-
-(define-method remove_weak_pointer
- (of-object "GObject")
- (c-name "g_object_remove_weak_pointer")
- (return-type "none")
- (parameters
- '("gpointer*" "weak_pointer_location")
- )
-)
-
-(define-method add_toggle_ref
- (of-object "GObject")
- (c-name "g_object_add_toggle_ref")
- (return-type "none")
- (parameters
- '("GToggleNotify" "notify")
- '("gpointer" "data")
- )
-)
-
-(define-method remove_toggle_ref
- (of-object "GObject")
- (c-name "g_object_remove_toggle_ref")
- (return-type "none")
- (parameters
- '("GToggleNotify" "notify")
- '("gpointer" "data")
- )
-)
-
-(define-method get_qdata
- (of-object "GObject")
- (c-name "g_object_get_qdata")
- (return-type "gpointer")
- (parameters
- '("GQuark" "quark")
- )
-)
-
-(define-method set_qdata
- (of-object "GObject")
- (c-name "g_object_set_qdata")
- (return-type "none")
- (parameters
- '("GQuark" "quark")
- '("gpointer" "data")
- )
-)
-
-(define-method set_qdata_full
- (of-object "GObject")
- (c-name "g_object_set_qdata_full")
- (return-type "none")
- (parameters
- '("GQuark" "quark")
- '("gpointer" "data")
- '("GDestroyNotify" "destroy")
- )
-)
-
-(define-method steal_qdata
- (of-object "GObject")
- (c-name "g_object_steal_qdata")
- (return-type "gpointer")
- (parameters
- '("GQuark" "quark")
- )
-)
-
-(define-method get_data
- (of-object "GObject")
- (c-name "g_object_get_data")
- (return-type "gpointer")
- (parameters
- '("const-gchar*" "key")
- )
-)
-
-(define-method set_data
- (of-object "GObject")
- (c-name "g_object_set_data")
- (return-type "none")
- (parameters
- '("const-gchar*" "key")
- '("gpointer" "data")
- )
-)
-
-(define-method set_data_full
- (of-object "GObject")
- (c-name "g_object_set_data_full")
- (return-type "none")
- (parameters
- '("const-gchar*" "key")
- '("gpointer" "data")
- '("GDestroyNotify" "destroy")
- )
-)
-
-(define-method steal_data
- (of-object "GObject")
- (c-name "g_object_steal_data")
- (return-type "gpointer")
- (parameters
- '("const-gchar*" "key")
- )
-)
-
-(define-method watch_closure
- (of-object "GObject")
- (c-name "g_object_watch_closure")
- (return-type "none")
- (parameters
- '("GClosure*" "closure")
- )
-)
-
-(define-function g_cclosure_new_object
- (c-name "g_cclosure_new_object")
- (return-type "GClosure*")
- (parameters
- '("GCallback" "callback_func")
- '("GObject*" "object")
- )
-)
-
-(define-function g_cclosure_new_object_swap
- (c-name "g_cclosure_new_object_swap")
- (return-type "GClosure*")
- (parameters
- '("GCallback" "callback_func")
- '("GObject*" "object")
- )
-)
-
-(define-function g_closure_new_object
- (c-name "g_closure_new_object")
- (return-type "GClosure*")
- (parameters
- '("guint" "sizeof_closure")
- '("GObject*" "object")
- )
-)
-
-(define-method set_object
- (of-object "GValue")
- (c-name "g_value_set_object")
- (return-type "none")
- (parameters
- '("gpointer" "v_object")
- )
-)
-
-(define-method get_object
- (of-object "GValue")
- (c-name "g_value_get_object")
- (return-type "gpointer")
-)
-
-(define-method dup_object
- (of-object "GValue")
- (c-name "g_value_dup_object")
- (return-type "GObject*")
-)
-
-(define-function g_signal_connect_object
- (c-name "g_signal_connect_object")
- (return-type "gulong")
- (parameters
- '("gpointer" "instance")
- '("const-gchar*" "detailed_signal")
- '("GCallback" "c_handler")
- '("gpointer" "gobject")
- '("GConnectFlags" "connect_flags")
- )
-)
-
-(define-method run_dispose
- (of-object "GObject")
- (c-name "g_object_run_dispose")
- (return-type "none")
-)
-
-(define-method take_object
- (of-object "GValue")
- (c-name "g_value_take_object")
- (return-type "none")
- (parameters
- '("gpointer" "v_object")
- )
-)
-
-(define-method set_object_take_ownership
- (of-object "GValue")
- (c-name "g_value_set_object_take_ownership")
- (return-type "none")
- (parameters
- '("gpointer" "v_object")
- )
-)
-
-
-
-;; From /home/murrayc/cvs/gnome212/glib/gobject/gparam.h
-
-(define-method ref
- (of-object "GParamSpec")
- (c-name "g_param_spec_ref")
- (return-type "GParamSpec*")
-)
-
-(define-method unref
- (of-object "GParamSpec")
- (c-name "g_param_spec_unref")
- (return-type "none")
-)
-
-(define-method sink
- (of-object "GParamSpec")
- (c-name "g_param_spec_sink")
- (return-type "none")
-)
-
-(define-method get_qdata
- (of-object "GParamSpec")
- (c-name "g_param_spec_get_qdata")
- (return-type "gpointer")
- (parameters
- '("GQuark" "quark")
- )
-)
-
-(define-method set_qdata
- (of-object "GParamSpec")
- (c-name "g_param_spec_set_qdata")
- (return-type "none")
- (parameters
- '("GQuark" "quark")
- '("gpointer" "data")
- )
-)
-
-(define-method set_qdata_full
- (of-object "GParamSpec")
- (c-name "g_param_spec_set_qdata_full")
- (return-type "none")
- (parameters
- '("GQuark" "quark")
- '("gpointer" "data")
- '("GDestroyNotify" "destroy")
- )
-)
-
-(define-method steal_qdata
- (of-object "GParamSpec")
- (c-name "g_param_spec_steal_qdata")
- (return-type "gpointer")
- (parameters
- '("GQuark" "quark")
- )
-)
-
-(define-method get_redirect_target
- (of-object "GParamSpec")
- (c-name "g_param_spec_get_redirect_target")
- (return-type "GParamSpec*")
-)
-
-(define-function g_param_value_set_default
- (c-name "g_param_value_set_default")
- (return-type "none")
- (parameters
- '("GParamSpec*" "pspec")
- '("GValue*" "value")
- )
-)
-
-(define-function g_param_value_defaults
- (c-name "g_param_value_defaults")
- (return-type "gboolean")
- (parameters
- '("GParamSpec*" "pspec")
- '("GValue*" "value")
- )
-)
-
-(define-function g_param_value_validate
- (c-name "g_param_value_validate")
- (return-type "gboolean")
- (parameters
- '("GParamSpec*" "pspec")
- '("GValue*" "value")
- )
-)
-
-(define-function g_param_value_convert
- (c-name "g_param_value_convert")
- (return-type "gboolean")
- (parameters
- '("GParamSpec*" "pspec")
- '("const-GValue*" "src_value")
- '("GValue*" "dest_value")
- '("gboolean" "strict_validation")
- )
-)
-
-(define-function g_param_values_cmp
- (c-name "g_param_values_cmp")
- (return-type "gint")
- (parameters
- '("GParamSpec*" "pspec")
- '("const-GValue*" "value1")
- '("const-GValue*" "value2")
- )
-)
-
-(define-method get_name
- (of-object "GParamSpec")
- (c-name "g_param_spec_get_name")
- (return-type "const-gchar*")
-)
-
-(define-method get_nick
- (of-object "GParamSpec")
- (c-name "g_param_spec_get_nick")
- (return-type "const-gchar*")
-)
-
-(define-method get_blurb
- (of-object "GParamSpec")
- (c-name "g_param_spec_get_blurb")
- (return-type "const-gchar*")
-)
-
-(define-method set_param
- (of-object "GValue")
- (c-name "g_value_set_param")
- (return-type "none")
- (parameters
- '("GParamSpec*" "param")
- )
-)
-
-(define-method get_param
- (of-object "GValue")
- (c-name "g_value_get_param")
- (return-type "GParamSpec*")
-)
-
-(define-method dup_param
- (of-object "GValue")
- (c-name "g_value_dup_param")
- (return-type "GParamSpec*")
-)
-
-(define-method take_param
- (of-object "GValue")
- (c-name "g_value_take_param")
- (return-type "none")
- (parameters
- '("GParamSpec*" "param")
- )
-)
-
-(define-method set_param_take_ownership
- (of-object "GValue")
- (c-name "g_value_set_param_take_ownership")
- (return-type "none")
- (parameters
- '("GParamSpec*" "param")
- )
-)
-
-(define-function g_param_type_register_static
- (c-name "g_param_type_register_static")
- (return-type "GType")
- (parameters
- '("const-gchar*" "name")
- '("const-GParamSpecTypeInfo*" "pspec_info")
- )
-)
-
-(define-function g_param_spec_internal
- (c-name "g_param_spec_internal")
- (return-type "gpointer")
- (parameters
- '("GType" "param_type")
- '("const-gchar*" "name")
- '("const-gchar*" "nick")
- '("const-gchar*" "blurb")
- '("GParamFlags" "flags")
- )
-)
-
-(define-function g_param_spec_pool_new
- (c-name "g_param_spec_pool_new")
- (is-constructor-of "GParamSpecPool")
- (return-type "GParamSpecPool*")
- (parameters
- '("gboolean" "type_prefixing")
- )
-)
-
-(define-method insert
- (of-object "GParamSpecPool")
- (c-name "g_param_spec_pool_insert")
- (return-type "none")
- (parameters
- '("GParamSpec*" "pspec")
- '("GType" "owner_type")
- )
-)
-
-(define-method remove
- (of-object "GParamSpecPool")
- (c-name "g_param_spec_pool_remove")
- (return-type "none")
- (parameters
- '("GParamSpec*" "pspec")
- )
-)
-
-(define-method lookup
- (of-object "GParamSpecPool")
- (c-name "g_param_spec_pool_lookup")
- (return-type "GParamSpec*")
- (parameters
- '("const-gchar*" "param_name")
- '("GType" "owner_type")
- '("gboolean" "walk_ancestors")
- )
-)
-
-(define-method list_owned
- (of-object "GParamSpecPool")
- (c-name "g_param_spec_pool_list_owned")
- (return-type "GList*")
- (parameters
- '("GType" "owner_type")
- )
-)
-
-(define-method list
- (of-object "GParamSpecPool")
- (c-name "g_param_spec_pool_list")
- (return-type "GParamSpec**")
- (parameters
- '("GType" "owner_type")
- '("guint*" "n_pspecs_p")
- )
-)
-
-
-
-;; From /home/murrayc/cvs/gnome212/glib/gobject/gparamspecs.h
-
-(define-function g_param_spec_char
- (c-name "g_param_spec_char")
- (return-type "GParamSpec*")
- (parameters
- '("const-gchar*" "name")
- '("const-gchar*" "nick")
- '("const-gchar*" "blurb")
- '("gint8" "minimum")
- '("gint8" "maximum")
- '("gint8" "default_value")
- '("GParamFlags" "flags")
- )
-)
-
-(define-function g_param_spec_uchar
- (c-name "g_param_spec_uchar")
- (return-type "GParamSpec*")
- (parameters
- '("const-gchar*" "name")
- '("const-gchar*" "nick")
- '("const-gchar*" "blurb")
- '("guint8" "minimum")
- '("guint8" "maximum")
- '("guint8" "default_value")
- '("GParamFlags" "flags")
- )
-)
-
-(define-function g_param_spec_boolean
- (c-name "g_param_spec_boolean")
- (return-type "GParamSpec*")
- (parameters
- '("const-gchar*" "name")
- '("const-gchar*" "nick")
- '("const-gchar*" "blurb")
- '("gboolean" "default_value")
- '("GParamFlags" "flags")
- )
-)
-
-(define-function g_param_spec_int
- (c-name "g_param_spec_int")
- (return-type "GParamSpec*")
- (parameters
- '("const-gchar*" "name")
- '("const-gchar*" "nick")
- '("const-gchar*" "blurb")
- '("gint" "minimum")
- '("gint" "maximum")
- '("gint" "default_value")
- '("GParamFlags" "flags")
- )
-)
-
-(define-function g_param_spec_uint
- (c-name "g_param_spec_uint")
- (return-type "GParamSpec*")
- (parameters
- '("const-gchar*" "name")
- '("const-gchar*" "nick")
- '("const-gchar*" "blurb")
- '("guint" "minimum")
- '("guint" "maximum")
- '("guint" "default_value")
- '("GParamFlags" "flags")
- )
-)
-
-(define-function g_param_spec_long
- (c-name "g_param_spec_long")
- (return-type "GParamSpec*")
- (parameters
- '("const-gchar*" "name")
- '("const-gchar*" "nick")
- '("const-gchar*" "blurb")
- '("glong" "minimum")
- '("glong" "maximum")
- '("glong" "default_value")
- '("GParamFlags" "flags")
- )
-)
-
-(define-function g_param_spec_ulong
- (c-name "g_param_spec_ulong")
- (return-type "GParamSpec*")
- (parameters
- '("const-gchar*" "name")
- '("const-gchar*" "nick")
- '("const-gchar*" "blurb")
- '("gulong" "minimum")
- '("gulong" "maximum")
- '("gulong" "default_value")
- '("GParamFlags" "flags")
- )
-)
-
-(define-function g_param_spec_int64
- (c-name "g_param_spec_int64")
- (return-type "GParamSpec*")
- (parameters
- '("const-gchar*" "name")
- '("const-gchar*" "nick")
- '("const-gchar*" "blurb")
- '("gint64" "minimum")
- '("gint64" "maximum")
- '("gint64" "default_value")
- '("GParamFlags" "flags")
- )
-)
-
-(define-function g_param_spec_uint64
- (c-name "g_param_spec_uint64")
- (return-type "GParamSpec*")
- (parameters
- '("const-gchar*" "name")
- '("const-gchar*" "nick")
- '("const-gchar*" "blurb")
- '("guint64" "minimum")
- '("guint64" "maximum")
- '("guint64" "default_value")
- '("GParamFlags" "flags")
- )
-)
-
-(define-function g_param_spec_unichar
- (c-name "g_param_spec_unichar")
- (return-type "GParamSpec*")
- (parameters
- '("const-gchar*" "name")
- '("const-gchar*" "nick")
- '("const-gchar*" "blurb")
- '("gunichar" "default_value")
- '("GParamFlags" "flags")
- )
-)
-
-(define-function g_param_spec_enum
- (c-name "g_param_spec_enum")
- (return-type "GParamSpec*")
- (parameters
- '("const-gchar*" "name")
- '("const-gchar*" "nick")
- '("const-gchar*" "blurb")
- '("GType" "enum_type")
- '("gint" "default_value")
- '("GParamFlags" "flags")
- )
-)
-
-(define-function g_param_spec_flags
- (c-name "g_param_spec_flags")
- (return-type "GParamSpec*")
- (parameters
- '("const-gchar*" "name")
- '("const-gchar*" "nick")
- '("const-gchar*" "blurb")
- '("GType" "flags_type")
- '("guint" "default_value")
- '("GParamFlags" "flags")
- )
-)
-
-(define-function g_param_spec_float
- (c-name "g_param_spec_float")
- (return-type "GParamSpec*")
- (parameters
- '("const-gchar*" "name")
- '("const-gchar*" "nick")
- '("const-gchar*" "blurb")
- '("gfloat" "minimum")
- '("gfloat" "maximum")
- '("gfloat" "default_value")
- '("GParamFlags" "flags")
- )
-)
-
-(define-function g_param_spec_double
- (c-name "g_param_spec_double")
- (return-type "GParamSpec*")
- (parameters
- '("const-gchar*" "name")
- '("const-gchar*" "nick")
- '("const-gchar*" "blurb")
- '("gdouble" "minimum")
- '("gdouble" "maximum")
- '("gdouble" "default_value")
- '("GParamFlags" "flags")
- )
-)
-
-(define-function g_param_spec_string
- (c-name "g_param_spec_string")
- (return-type "GParamSpec*")
- (parameters
- '("const-gchar*" "name")
- '("const-gchar*" "nick")
- '("const-gchar*" "blurb")
- '("const-gchar*" "default_value")
- '("GParamFlags" "flags")
- )
-)
-
-(define-function g_param_spec_param
- (c-name "g_param_spec_param")
- (return-type "GParamSpec*")
- (parameters
- '("const-gchar*" "name")
- '("const-gchar*" "nick")
- '("const-gchar*" "blurb")
- '("GType" "param_type")
- '("GParamFlags" "flags")
- )
-)
-
-(define-function g_param_spec_boxed
- (c-name "g_param_spec_boxed")
- (return-type "GParamSpec*")
- (parameters
- '("const-gchar*" "name")
- '("const-gchar*" "nick")
- '("const-gchar*" "blurb")
- '("GType" "boxed_type")
- '("GParamFlags" "flags")
- )
-)
-
-(define-function g_param_spec_pointer
- (c-name "g_param_spec_pointer")
- (return-type "GParamSpec*")
- (parameters
- '("const-gchar*" "name")
- '("const-gchar*" "nick")
- '("const-gchar*" "blurb")
- '("GParamFlags" "flags")
- )
-)
-
-(define-function g_param_spec_value_array
- (c-name "g_param_spec_value_array")
- (return-type "GParamSpec*")
- (parameters
- '("const-gchar*" "name")
- '("const-gchar*" "nick")
- '("const-gchar*" "blurb")
- '("GParamSpec*" "element_spec")
- '("GParamFlags" "flags")
- )
-)
-
-(define-function g_param_spec_object
- (c-name "g_param_spec_object")
- (return-type "GParamSpec*")
- (parameters
- '("const-gchar*" "name")
- '("const-gchar*" "nick")
- '("const-gchar*" "blurb")
- '("GType" "object_type")
- '("GParamFlags" "flags")
- )
-)
-
-(define-function g_param_spec_override
- (c-name "g_param_spec_override")
- (return-type "GParamSpec*")
- (parameters
- '("const-gchar*" "name")
- '("GParamSpec*" "overridden")
- )
-)
-
-
-
-;; From /home/murrayc/cvs/gnome212/glib/gobject/gsignal.h
-
-(define-function g_signal_newv
- (c-name "g_signal_newv")
- (return-type "guint")
- (parameters
- '("const-gchar*" "signal_name")
- '("GType" "itype")
- '("GSignalFlags" "signal_flags")
- '("GClosure*" "class_closure")
- '("GSignalAccumulator" "accumulator")
- '("gpointer" "accu_data")
- '("GSignalCMarshaller" "c_marshaller")
- '("GType" "return_type")
- '("guint" "n_params")
- '("GType*" "param_types")
- )
-)
-
-(define-function g_signal_new_valist
- (c-name "g_signal_new_valist")
- (return-type "guint")
- (parameters
- '("const-gchar*" "signal_name")
- '("GType" "itype")
- '("GSignalFlags" "signal_flags")
- '("GClosure*" "class_closure")
- '("GSignalAccumulator" "accumulator")
- '("gpointer" "accu_data")
- '("GSignalCMarshaller" "c_marshaller")
- '("GType" "return_type")
- '("guint" "n_params")
- '("va_list" "args")
- )
-)
-
-(define-function g_signal_new
- (c-name "g_signal_new")
- (return-type "guint")
- (parameters
- '("const-gchar*" "signal_name")
- '("GType" "itype")
- '("GSignalFlags" "signal_flags")
- '("guint" "class_offset")
- '("GSignalAccumulator" "accumulator")
- '("gpointer" "accu_data")
- '("GSignalCMarshaller" "c_marshaller")
- '("GType" "return_type")
- '("guint" "n_params")
- )
- (varargs #t)
-)
-
-(define-function g_signal_emitv
- (c-name "g_signal_emitv")
- (return-type "none")
- (parameters
- '("const-GValue*" "instance_and_params")
- '("guint" "signal_id")
- '("GQuark" "detail")
- '("GValue*" "return_value")
- )
-)
-
-(define-function g_signal_emit_valist
- (c-name "g_signal_emit_valist")
- (return-type "none")
- (parameters
- '("gpointer" "instance")
- '("guint" "signal_id")
- '("GQuark" "detail")
- '("va_list" "var_args")
- )
-)
-
-(define-function g_signal_emit
- (c-name "g_signal_emit")
- (return-type "none")
- (parameters
- '("gpointer" "instance")
- '("guint" "signal_id")
- '("GQuark" "detail")
- )
- (varargs #t)
-)
-
-(define-function g_signal_emit_by_name
- (c-name "g_signal_emit_by_name")
- (return-type "none")
- (parameters
- '("gpointer" "instance")
- '("const-gchar*" "detailed_signal")
- )
- (varargs #t)
-)
-
-(define-function g_signal_lookup
- (c-name "g_signal_lookup")
- (return-type "guint")
- (parameters
- '("const-gchar*" "name")
- '("GType" "itype")
- )
-)
-
-(define-function g_signal_name
- (c-name "g_signal_name")
- (return-type "const-gchar*")
- (parameters
- '("guint" "signal_id")
- )
-)
-
-(define-function g_signal_query
- (c-name "g_signal_query")
- (return-type "none")
- (parameters
- '("guint" "signal_id")
- '("GSignalQuery*" "query")
- )
-)
-
-(define-function g_signal_list_ids
- (c-name "g_signal_list_ids")
- (return-type "guint*")
- (parameters
- '("GType" "itype")
- '("guint*" "n_ids")
- )
-)
-
-(define-function g_signal_parse_name
- (c-name "g_signal_parse_name")
- (return-type "gboolean")
- (parameters
- '("const-gchar*" "detailed_signal")
- '("GType" "itype")
- '("guint*" "signal_id_p")
- '("GQuark*" "detail_p")
- '("gboolean" "force_detail_quark")
- )
-)
-
-(define-function g_signal_get_invocation_hint
- (c-name "g_signal_get_invocation_hint")
- (return-type "GSignalInvocationHint*")
- (parameters
- '("gpointer" "instance")
- )
-)
-
-(define-function g_signal_stop_emission
- (c-name "g_signal_stop_emission")
- (return-type "none")
- (parameters
- '("gpointer" "instance")
- '("guint" "signal_id")
- '("GQuark" "detail")
- )
-)
-
-(define-function g_signal_stop_emission_by_name
- (c-name "g_signal_stop_emission_by_name")
- (return-type "none")
- (parameters
- '("gpointer" "instance")
- '("const-gchar*" "detailed_signal")
- )
-)
-
-(define-function g_signal_add_emission_hook
- (c-name "g_signal_add_emission_hook")
- (return-type "gulong")
- (parameters
- '("guint" "signal_id")
- '("GQuark" "detail")
- '("GSignalEmissionHook" "hook_func")
- '("gpointer" "hook_data")
- '("GDestroyNotify" "data_destroy")
- )
-)
-
-(define-function g_signal_remove_emission_hook
- (c-name "g_signal_remove_emission_hook")
- (return-type "none")
- (parameters
- '("guint" "signal_id")
- '("gulong" "hook_id")
- )
-)
-
-(define-function g_signal_has_handler_pending
- (c-name "g_signal_has_handler_pending")
- (return-type "gboolean")
- (parameters
- '("gpointer" "instance")
- '("guint" "signal_id")
- '("GQuark" "detail")
- '("gboolean" "may_be_blocked")
- )
-)
-
-(define-function g_signal_connect_closure_by_id
- (c-name "g_signal_connect_closure_by_id")
- (return-type "gulong")
- (parameters
- '("gpointer" "instance")
- '("guint" "signal_id")
- '("GQuark" "detail")
- '("GClosure*" "closure")
- '("gboolean" "after")
- )
-)
-
-(define-function g_signal_connect_closure
- (c-name "g_signal_connect_closure")
- (return-type "gulong")
- (parameters
- '("gpointer" "instance")
- '("const-gchar*" "detailed_signal")
- '("GClosure*" "closure")
- '("gboolean" "after")
- )
-)
-
-(define-function g_signal_connect_data
- (c-name "g_signal_connect_data")
- (return-type "gulong")
- (parameters
- '("gpointer" "instance")
- '("const-gchar*" "detailed_signal")
- '("GCallback" "c_handler")
- '("gpointer" "data")
- '("GClosureNotify" "destroy_data")
- '("GConnectFlags" "connect_flags")
- )
-)
-
-(define-function g_signal_handler_block
- (c-name "g_signal_handler_block")
- (return-type "none")
- (parameters
- '("gpointer" "instance")
- '("gulong" "handler_id")
- )
-)
-
-(define-function g_signal_handler_unblock
- (c-name "g_signal_handler_unblock")
- (return-type "none")
- (parameters
- '("gpointer" "instance")
- '("gulong" "handler_id")
- )
-)
-
-(define-function g_signal_handler_disconnect
- (c-name "g_signal_handler_disconnect")
- (return-type "none")
- (parameters
- '("gpointer" "instance")
- '("gulong" "handler_id")
- )
-)
-
-(define-function g_signal_handler_is_connected
- (c-name "g_signal_handler_is_connected")
- (return-type "gboolean")
- (parameters
- '("gpointer" "instance")
- '("gulong" "handler_id")
- )
-)
-
-(define-function g_signal_handler_find
- (c-name "g_signal_handler_find")
- (return-type "gulong")
- (parameters
- '("gpointer" "instance")
- '("GSignalMatchType" "mask")
- '("guint" "signal_id")
- '("GQuark" "detail")
- '("GClosure*" "closure")
- '("gpointer" "func")
- '("gpointer" "data")
- )
-)
-
-(define-function g_signal_handlers_block_matched
- (c-name "g_signal_handlers_block_matched")
- (return-type "guint")
- (parameters
- '("gpointer" "instance")
- '("GSignalMatchType" "mask")
- '("guint" "signal_id")
- '("GQuark" "detail")
- '("GClosure*" "closure")
- '("gpointer" "func")
- '("gpointer" "data")
- )
-)
-
-(define-function g_signal_handlers_unblock_matched
- (c-name "g_signal_handlers_unblock_matched")
- (return-type "guint")
- (parameters
- '("gpointer" "instance")
- '("GSignalMatchType" "mask")
- '("guint" "signal_id")
- '("GQuark" "detail")
- '("GClosure*" "closure")
- '("gpointer" "func")
- '("gpointer" "data")
- )
-)
-
-(define-function g_signal_handlers_disconnect_matched
- (c-name "g_signal_handlers_disconnect_matched")
- (return-type "guint")
- (parameters
- '("gpointer" "instance")
- '("GSignalMatchType" "mask")
- '("guint" "signal_id")
- '("GQuark" "detail")
- '("GClosure*" "closure")
- '("gpointer" "func")
- '("gpointer" "data")
- )
-)
-
-(define-function g_signal_override_class_closure
- (c-name "g_signal_override_class_closure")
- (return-type "none")
- (parameters
- '("guint" "signal_id")
- '("GType" "instance_type")
- '("GClosure*" "class_closure")
- )
-)
-
-(define-function g_signal_chain_from_overridden
- (c-name "g_signal_chain_from_overridden")
- (return-type "none")
- (parameters
- '("const-GValue*" "instance_and_params")
- '("GValue*" "return_value")
- )
-)
-
-(define-function g_signal_accumulator_true_handled
- (c-name "g_signal_accumulator_true_handled")
- (return-type "gboolean")
- (parameters
- '("GSignalInvocationHint*" "ihint")
- '("GValue*" "return_accu")
- '("const-GValue*" "handler_return")
- '("gpointer" "dummy")
- )
-)
-
-(define-function g_signal_handlers_destroy
- (c-name "g_signal_handlers_destroy")
- (return-type "none")
- (parameters
- '("gpointer" "instance")
- )
-)
-
-
-
-;; From /home/murrayc/cvs/gnome212/glib/gobject/gsourceclosure.h
-
-(define-method set_closure
- (of-object "GSource")
- (c-name "g_source_set_closure")
- (return-type "none")
- (parameters
- '("GClosure*" "closure")
- )
-)
-
-(define-function g_io_channel_get_type
- (c-name "g_io_channel_get_type")
- (return-type "GType")
-)
-
-(define-function g_io_condition_get_type
- (c-name "g_io_condition_get_type")
- (return-type "GType")
-)
-
-
-
-;; From /home/murrayc/cvs/gnome212/glib/gobject/gtype.h
-
-(define-function g_type_init
- (c-name "g_type_init")
- (return-type "none")
-)
-
-(define-function g_type_init_with_debug_flags
- (c-name "g_type_init_with_debug_flags")
- (return-type "none")
- (parameters
- '("GTypeDebugFlags" "debug_flags")
- )
-)
-
-(define-method name
- (of-object "GType")
- (c-name "g_type_name")
- (return-type "const-gchar*")
-)
-
-(define-method qname
- (of-object "GType")
- (c-name "g_type_qname")
- (return-type "GQuark")
-)
-
-(define-function g_type_from_name
- (c-name "g_type_from_name")
- (return-type "GType")
- (parameters
- '("const-gchar*" "name")
- )
-)
-
-(define-method parent
- (of-object "GType")
- (c-name "g_type_parent")
- (return-type "GType")
-)
-
-(define-method depth
- (of-object "GType")
- (c-name "g_type_depth")
- (return-type "guint")
-)
-
-(define-method next_base
- (of-object "GType")
- (c-name "g_type_next_base")
- (return-type "GType")
- (parameters
- '("GType" "root_type")
- )
-)
-
-(define-method is_a
- (of-object "GType")
- (c-name "g_type_is_a")
- (return-type "gboolean")
- (parameters
- '("GType" "is_a_type")
- )
-)
-
-(define-method class_ref
- (of-object "GType")
- (c-name "g_type_class_ref")
- (return-type "gpointer")
-)
-
-(define-method class_peek
- (of-object "GType")
- (c-name "g_type_class_peek")
- (return-type "gpointer")
-)
-
-(define-method class_peek_static
- (of-object "GType")
- (c-name "g_type_class_peek_static")
- (return-type "gpointer")
-)
-
-(define-function g_type_class_unref
- (c-name "g_type_class_unref")
- (return-type "none")
- (parameters
- '("gpointer" "g_class")
- )
-)
-
-(define-function g_type_class_peek_parent
- (c-name "g_type_class_peek_parent")
- (return-type "gpointer")
- (parameters
- '("gpointer" "g_class")
- )
-)
-
-(define-function g_type_interface_peek
- (c-name "g_type_interface_peek")
- (return-type "gpointer")
- (parameters
- '("gpointer" "instance_class")
- '("GType" "iface_type")
- )
-)
-
-(define-function g_type_interface_peek_parent
- (c-name "g_type_interface_peek_parent")
- (return-type "gpointer")
- (parameters
- '("gpointer" "g_iface")
- )
-)
-
-(define-method default_interface_ref
- (of-object "GType")
- (c-name "g_type_default_interface_ref")
- (return-type "gpointer")
-)
-
-(define-method default_interface_peek
- (of-object "GType")
- (c-name "g_type_default_interface_peek")
- (return-type "gpointer")
-)
-
-(define-function g_type_default_interface_unref
- (c-name "g_type_default_interface_unref")
- (return-type "none")
- (parameters
- '("gpointer" "g_iface")
- )
-)
-
-(define-method children
- (of-object "GType")
- (c-name "g_type_children")
- (return-type "GType*")
- (parameters
- '("guint*" "n_children")
- )
-)
-
-(define-method interfaces
- (of-object "GType")
- (c-name "g_type_interfaces")
- (return-type "GType*")
- (parameters
- '("guint*" "n_interfaces")
- )
-)
-
-(define-method set_qdata
- (of-object "GType")
- (c-name "g_type_set_qdata")
- (return-type "none")
- (parameters
- '("GQuark" "quark")
- '("gpointer" "data")
- )
-)
-
-(define-method get_qdata
- (of-object "GType")
- (c-name "g_type_get_qdata")
- (return-type "gpointer")
- (parameters
- '("GQuark" "quark")
- )
-)
-
-(define-method query
- (of-object "GType")
- (c-name "g_type_query")
- (return-type "none")
- (parameters
- '("GTypeQuery*" "query")
- )
-)
-
-(define-method register_static
- (of-object "GType")
- (c-name "g_type_register_static")
- (return-type "GType")
- (parameters
- '("const-gchar*" "type_name")
- '("const-GTypeInfo*" "info")
- '("GTypeFlags" "flags")
- )
-)
-
-(define-method register_dynamic
- (of-object "GType")
- (c-name "g_type_register_dynamic")
- (return-type "GType")
- (parameters
- '("const-gchar*" "type_name")
- '("GTypePlugin*" "plugin")
- '("GTypeFlags" "flags")
- )
-)
-
-(define-method register_fundamental
- (of-object "GType")
- (c-name "g_type_register_fundamental")
- (return-type "GType")
- (parameters
- '("const-gchar*" "type_name")
- '("const-GTypeInfo*" "info")
- '("const-GTypeFundamentalInfo*" "finfo")
- '("GTypeFlags" "flags")
- )
-)
-
-(define-method add_interface_static
- (of-object "GType")
- (c-name "g_type_add_interface_static")
- (return-type "none")
- (parameters
- '("GType" "interface_type")
- '("const-GInterfaceInfo*" "info")
- )
-)
-
-(define-method add_interface_dynamic
- (of-object "GType")
- (c-name "g_type_add_interface_dynamic")
- (return-type "none")
- (parameters
- '("GType" "interface_type")
- '("GTypePlugin*" "plugin")
- )
-)
-
-(define-method interface_add_prerequisite
- (of-object "GType")
- (c-name "g_type_interface_add_prerequisite")
- (return-type "none")
- (parameters
- '("GType" "prerequisite_type")
- )
-)
-
-(define-method interface_prerequisites
- (of-object "GType")
- (c-name "g_type_interface_prerequisites")
- (return-type "GType*")
- (parameters
- '("guint*" "n_prerequisites")
- )
-)
-
-(define-function g_type_class_add_private
- (c-name "g_type_class_add_private")
- (return-type "none")
- (parameters
- '("gpointer" "g_class")
- '("gsize" "private_size")
- )
-)
-
-(define-method get_private
- (of-object "GTypeInstance")
- (c-name "g_type_instance_get_private")
- (return-type "gpointer")
- (parameters
- '("GType" "private_type")
- )
-)
-
-(define-method get_plugin
- (of-object "GType")
- (c-name "g_type_get_plugin")
- (return-type "GTypePlugin*")
-)
-
-(define-method interface_get_plugin
- (of-object "GType")
- (c-name "g_type_interface_get_plugin")
- (return-type "GTypePlugin*")
- (parameters
- '("GType" "interface_type")
- )
-)
-
-(define-function g_type_fundamental_next
- (c-name "g_type_fundamental_next")
- (return-type "GType")
-)
-
-(define-method fundamental
- (of-object "GType")
- (c-name "g_type_fundamental")
- (return-type "GType")
-)
-
-(define-method create_instance
- (of-object "GType")
- (c-name "g_type_create_instance")
- (return-type "GTypeInstance*")
-)
-
-(define-function g_type_free_instance
- (c-name "g_type_free_instance")
- (return-type "none")
- (parameters
- '("GTypeInstance*" "instance")
- )
-)
-
-(define-function g_type_add_class_cache_func
- (c-name "g_type_add_class_cache_func")
- (return-type "none")
- (parameters
- '("gpointer" "cache_data")
- '("GTypeClassCacheFunc" "cache_func")
- )
-)
-
-(define-function g_type_remove_class_cache_func
- (c-name "g_type_remove_class_cache_func")
- (return-type "none")
- (parameters
- '("gpointer" "cache_data")
- '("GTypeClassCacheFunc" "cache_func")
- )
-)
-
-(define-function g_type_class_unref_uncached
- (c-name "g_type_class_unref_uncached")
- (return-type "none")
- (parameters
- '("gpointer" "g_class")
- )
-)
-
-(define-function g_type_add_interface_check
- (c-name "g_type_add_interface_check")
- (return-type "none")
- (parameters
- '("gpointer" "check_data")
- '("GTypeInterfaceCheckFunc" "check_func")
- )
-)
-
-(define-function g_type_remove_interface_check
- (c-name "g_type_remove_interface_check")
- (return-type "none")
- (parameters
- '("gpointer" "check_data")
- '("GTypeInterfaceCheckFunc" "check_func")
- )
-)
-
-(define-method value_table_peek
- (of-object "GType")
- (c-name "g_type_value_table_peek")
- (return-type "GTypeValueTable*")
-)
-
-(define-function g_type_check_instance
- (c-name "g_type_check_instance")
- (return-type "gboolean")
- (parameters
- '("GTypeInstance*" "instance")
- )
-)
-
-(define-function g_type_check_instance_cast
- (c-name "g_type_check_instance_cast")
- (return-type "GTypeInstance*")
- (parameters
- '("GTypeInstance*" "instance")
- '("GType" "iface_type")
- )
-)
-
-(define-function g_type_check_instance_is_a
- (c-name "g_type_check_instance_is_a")
- (return-type "gboolean")
- (parameters
- '("GTypeInstance*" "instance")
- '("GType" "iface_type")
- )
-)
-
-(define-function g_type_check_class_cast
- (c-name "g_type_check_class_cast")
- (return-type "GTypeClass*")
- (parameters
- '("GTypeClass*" "g_class")
- '("GType" "is_a_type")
- )
-)
-
-(define-function g_type_check_class_is_a
- (c-name "g_type_check_class_is_a")
- (return-type "gboolean")
- (parameters
- '("GTypeClass*" "g_class")
- '("GType" "is_a_type")
- )
-)
-
-(define-method check_is_value_type
- (of-object "GType")
- (c-name "g_type_check_is_value_type")
- (return-type "gboolean")
-)
-
-(define-function g_type_check_value
- (c-name "g_type_check_value")
- (return-type "gboolean")
- (parameters
- '("GValue*" "value")
- )
-)
-
-(define-function g_type_check_value_holds
- (c-name "g_type_check_value_holds")
- (return-type "gboolean")
- (parameters
- '("GValue*" "value")
- '("GType" "type")
- )
-)
-
-(define-method test_flags
- (of-object "GType")
- (c-name "g_type_test_flags")
- (return-type "gboolean")
- (parameters
- '("guint" "flags")
- )
-)
-
-(define-function g_type_name_from_instance
- (c-name "g_type_name_from_instance")
- (return-type "const-gchar*")
- (parameters
- '("GTypeInstance*" "instance")
- )
-)
-
-(define-function g_type_name_from_class
- (c-name "g_type_name_from_class")
- (return-type "const-gchar*")
- (parameters
- '("GTypeClass*" "g_class")
- )
-)
-
-(define-function g_value_c_init
- (c-name "g_value_c_init")
- (return-type "none")
-)
-
-(define-function g_value_types_init
- (c-name "g_value_types_init")
- (return-type "none")
-)
-
-(define-function g_enum_types_init
- (c-name "g_enum_types_init")
- (return-type "none")
-)
-
-(define-function g_param_type_init
- (c-name "g_param_type_init")
- (return-type "none")
-)
-
-(define-function g_boxed_type_init
- (c-name "g_boxed_type_init")
- (return-type "none")
-)
-
-(define-function g_object_type_init
- (c-name "g_object_type_init")
- (return-type "none")
-)
-
-(define-function g_param_spec_types_init
- (c-name "g_param_spec_types_init")
- (return-type "none")
-)
-
-(define-function g_value_transforms_init
- (c-name "g_value_transforms_init")
- (return-type "none")
-)
-
-(define-function g_signal_init
- (c-name "g_signal_init")
- (return-type "none")
-)
-
-
-
-;; From /home/murrayc/cvs/gnome212/glib/gobject/gtypemodule.h
-
-(define-function g_type_module_get_type
- (c-name "g_type_module_get_type")
- (return-type "GType")
-)
-
-(define-method use
- (of-object "GTypeModule")
- (c-name "g_type_module_use")
- (return-type "gboolean")
-)
-
-(define-method unuse
- (of-object "GTypeModule")
- (c-name "g_type_module_unuse")
- (return-type "none")
-)
-
-(define-method set_name
- (of-object "GTypeModule")
- (c-name "g_type_module_set_name")
- (return-type "none")
- (parameters
- '("const-gchar*" "name")
- )
-)
-
-(define-method register_type
- (of-object "GTypeModule")
- (c-name "g_type_module_register_type")
- (return-type "GType")
- (parameters
- '("GType" "parent_type")
- '("const-gchar*" "type_name")
- '("const-GTypeInfo*" "type_info")
- '("GTypeFlags" "flags")
- )
-)
-
-(define-method add_interface
- (of-object "GTypeModule")
- (c-name "g_type_module_add_interface")
- (return-type "none")
- (parameters
- '("GType" "instance_type")
- '("GType" "interface_type")
- '("const-GInterfaceInfo*" "interface_info")
- )
-)
-
-(define-method register_enum
- (of-object "GTypeModule")
- (c-name "g_type_module_register_enum")
- (return-type "GType")
- (parameters
- '("const-gchar*" "name")
- '("const-GEnumValue*" "const_static_values")
- )
-)
-
-(define-method register_flags
- (of-object "GTypeModule")
- (c-name "g_type_module_register_flags")
- (return-type "GType")
- (parameters
- '("const-gchar*" "name")
- '("const-GFlagsValue*" "const_static_values")
- )
-)
-
-
-
-;; From /home/murrayc/cvs/gnome212/glib/gobject/gtypeplugin.h
-
-(define-function g_type_plugin_get_type
- (c-name "g_type_plugin_get_type")
- (return-type "GType")
-)
-
-(define-method use
- (of-object "GTypePlugin")
- (c-name "g_type_plugin_use")
- (return-type "none")
-)
-
-(define-method unuse
- (of-object "GTypePlugin")
- (c-name "g_type_plugin_unuse")
- (return-type "none")
-)
-
-(define-method complete_type_info
- (of-object "GTypePlugin")
- (c-name "g_type_plugin_complete_type_info")
- (return-type "none")
- (parameters
- '("GType" "g_type")
- '("GTypeInfo*" "info")
- '("GTypeValueTable*" "value_table")
- )
-)
-
-(define-method complete_interface_info
- (of-object "GTypePlugin")
- (c-name "g_type_plugin_complete_interface_info")
- (return-type "none")
- (parameters
- '("GType" "instance_type")
- '("GType" "interface_type")
- '("GInterfaceInfo*" "info")
- )
-)
-
-
-
-;; From /home/murrayc/cvs/gnome212/glib/gobject/gvaluearray.h
-
-(define-method get_nth
- (of-object "GValueArray")
- (c-name "g_value_array_get_nth")
- (return-type "GValue*")
- (parameters
- '("guint" "index_")
- )
-)
-
-(define-function g_value_array_new
- (c-name "g_value_array_new")
- (is-constructor-of "GValueArray")
- (return-type "GValueArray*")
- (parameters
- '("guint" "n_prealloced")
- )
-)
-
-(define-method free
- (of-object "GValueArray")
- (c-name "g_value_array_free")
- (return-type "none")
-)
-
-(define-method copy
- (of-object "GValueArray")
- (c-name "g_value_array_copy")
- (return-type "GValueArray*")
-)
-
-(define-method prepend
- (of-object "GValueArray")
- (c-name "g_value_array_prepend")
- (return-type "GValueArray*")
- (parameters
- '("const-GValue*" "value")
- )
-)
-
-(define-method append
- (of-object "GValueArray")
- (c-name "g_value_array_append")
- (return-type "GValueArray*")
- (parameters
- '("const-GValue*" "value")
- )
-)
-
-(define-method insert
- (of-object "GValueArray")
- (c-name "g_value_array_insert")
- (return-type "GValueArray*")
- (parameters
- '("guint" "index_")
- '("const-GValue*" "value")
- )
-)
-
-(define-method remove
- (of-object "GValueArray")
- (c-name "g_value_array_remove")
- (return-type "GValueArray*")
- (parameters
- '("guint" "index_")
- )
-)
-
-(define-method sort
- (of-object "GValueArray")
- (c-name "g_value_array_sort")
- (return-type "GValueArray*")
- (parameters
- '("GCompareFunc" "compare_func")
- )
-)
-
-(define-method sort_with_data
- (of-object "GValueArray")
- (c-name "g_value_array_sort_with_data")
- (return-type "GValueArray*")
- (parameters
- '("GCompareDataFunc" "compare_func")
- '("gpointer" "user_data")
- )
-)
-
-
-
-;; From /home/murrayc/cvs/gnome212/glib/gobject/gvaluecollector.h
-
-
-
-;; From /home/murrayc/cvs/gnome212/glib/gobject/gvalue.h
-
-(define-method init
- (of-object "GValue")
- (c-name "g_value_init")
- (return-type "GValue*")
- (parameters
- '("GType" "g_type")
- )
-)
-
-(define-method copy
- (of-object "GValue")
- (c-name "g_value_copy")
- (return-type "none")
- (parameters
- '("GValue*" "dest_value")
- )
-)
-
-(define-method reset
- (of-object "GValue")
- (c-name "g_value_reset")
- (return-type "GValue*")
-)
-
-(define-method unset
- (of-object "GValue")
- (c-name "g_value_unset")
- (return-type "none")
-)
-
-(define-method set_instance
- (of-object "GValue")
- (c-name "g_value_set_instance")
- (return-type "none")
- (parameters
- '("gpointer" "instance")
- )
-)
-
-(define-method fits_pointer
- (of-object "GValue")
- (c-name "g_value_fits_pointer")
- (return-type "gboolean")
-)
-
-(define-method peek_pointer
- (of-object "GValue")
- (c-name "g_value_peek_pointer")
- (return-type "gpointer")
-)
-
-(define-function g_value_type_compatible
- (c-name "g_value_type_compatible")
- (return-type "gboolean")
- (parameters
- '("GType" "src_type")
- '("GType" "dest_type")
- )
-)
-
-(define-function g_value_type_transformable
- (c-name "g_value_type_transformable")
- (return-type "gboolean")
- (parameters
- '("GType" "src_type")
- '("GType" "dest_type")
- )
-)
-
-(define-method transform
- (of-object "GValue")
- (c-name "g_value_transform")
- (return-type "gboolean")
- (parameters
- '("GValue*" "dest_value")
- )
-)
-
-(define-function g_value_register_transform_func
- (c-name "g_value_register_transform_func")
- (return-type "none")
- (parameters
- '("GType" "src_type")
- '("GType" "dest_type")
- '("GValueTransform" "transform_func")
- )
-)
-
-
-
-;; From /home/murrayc/cvs/gnome212/glib/gobject/gvaluetypes.h
-
-(define-method set_char
- (of-object "GValue")
- (c-name "g_value_set_char")
- (return-type "none")
- (parameters
- '("gchar" "v_char")
- )
-)
-
-(define-method get_char
- (of-object "GValue")
- (c-name "g_value_get_char")
- (return-type "gchar")
-)
-
-(define-method set_uchar
- (of-object "GValue")
- (c-name "g_value_set_uchar")
- (return-type "none")
- (parameters
- '("guchar" "v_uchar")
- )
-)
-
-(define-method get_uchar
- (of-object "GValue")
- (c-name "g_value_get_uchar")
- (return-type "guchar")
-)
-
-(define-method set_boolean
- (of-object "GValue")
- (c-name "g_value_set_boolean")
- (return-type "none")
- (parameters
- '("gboolean" "v_boolean")
- )
-)
-
-(define-method get_boolean
- (of-object "GValue")
- (c-name "g_value_get_boolean")
- (return-type "gboolean")
-)
-
-(define-method set_int
- (of-object "GValue")
- (c-name "g_value_set_int")
- (return-type "none")
- (parameters
- '("gint" "v_int")
- )
-)
-
-(define-method get_int
- (of-object "GValue")
- (c-name "g_value_get_int")
- (return-type "gint")
-)
-
-(define-method set_uint
- (of-object "GValue")
- (c-name "g_value_set_uint")
- (return-type "none")
- (parameters
- '("guint" "v_uint")
- )
-)
-
-(define-method get_uint
- (of-object "GValue")
- (c-name "g_value_get_uint")
- (return-type "guint")
-)
-
-(define-method set_long
- (of-object "GValue")
- (c-name "g_value_set_long")
- (return-type "none")
- (parameters
- '("glong" "v_long")
- )
-)
-
-(define-method get_long
- (of-object "GValue")
- (c-name "g_value_get_long")
- (return-type "glong")
-)
-
-(define-method set_ulong
- (of-object "GValue")
- (c-name "g_value_set_ulong")
- (return-type "none")
- (parameters
- '("gulong" "v_ulong")
- )
-)
-
-(define-method get_ulong
- (of-object "GValue")
- (c-name "g_value_get_ulong")
- (return-type "gulong")
-)
-
-(define-method set_int64
- (of-object "GValue")
- (c-name "g_value_set_int64")
- (return-type "none")
- (parameters
- '("gint64" "v_int64")
- )
-)
-
-(define-method get_int64
- (of-object "GValue")
- (c-name "g_value_get_int64")
- (return-type "gint64")
-)
-
-(define-method set_uint64
- (of-object "GValue")
- (c-name "g_value_set_uint64")
- (return-type "none")
- (parameters
- '("guint64" "v_uint64")
- )
-)
-
-(define-method get_uint64
- (of-object "GValue")
- (c-name "g_value_get_uint64")
- (return-type "guint64")
-)
-
-(define-method set_float
- (of-object "GValue")
- (c-name "g_value_set_float")
- (return-type "none")
- (parameters
- '("gfloat" "v_float")
- )
-)
-
-(define-method get_float
- (of-object "GValue")
- (c-name "g_value_get_float")
- (return-type "gfloat")
-)
-
-(define-method set_double
- (of-object "GValue")
- (c-name "g_value_set_double")
- (return-type "none")
- (parameters
- '("gdouble" "v_double")
- )
-)
-
-(define-method get_double
- (of-object "GValue")
- (c-name "g_value_get_double")
- (return-type "gdouble")
-)
-
-(define-method set_string
- (of-object "GValue")
- (c-name "g_value_set_string")
- (return-type "none")
- (parameters
- '("const-gchar*" "v_string")
- )
-)
-
-(define-method set_static_string
- (of-object "GValue")
- (c-name "g_value_set_static_string")
- (return-type "none")
- (parameters
- '("const-gchar*" "v_string")
- )
-)
-
-(define-method get_string
- (of-object "GValue")
- (c-name "g_value_get_string")
- (return-type "const-gchar*")
-)
-
-(define-method dup_string
- (of-object "GValue")
- (c-name "g_value_dup_string")
- (return-type "gchar*")
-)
-
-(define-method set_pointer
- (of-object "GValue")
- (c-name "g_value_set_pointer")
- (return-type "none")
- (parameters
- '("gpointer" "v_pointer")
- )
-)
-
-(define-method get_pointer
- (of-object "GValue")
- (c-name "g_value_get_pointer")
- (return-type "gpointer")
-)
-
-(define-function g_pointer_type_register_static
- (c-name "g_pointer_type_register_static")
- (return-type "GType")
- (parameters
- '("const-gchar*" "name")
- )
-)
-
-(define-function g_strdup_value_contents
- (c-name "g_strdup_value_contents")
- (return-type "gchar*")
- (parameters
- '("const-GValue*" "value")
- )
-)
-
-(define-method take_string
- (of-object "GValue")
- (c-name "g_value_take_string")
- (return-type "none")
- (parameters
- '("gchar*" "v_string")
- )
-)
-
-(define-method set_string_take_ownership
- (of-object "GValue")
- (c-name "g_value_set_string_take_ownership")
- (return-type "none")
- (parameters
- '("gchar*" "v_string")
- )
-)
-
-
-
-;; From /home/murrayc/cvs/gnome212/glib/gobject/stamp-gmarshal.h
-
-
-
-;; From /home/murrayc/cvs/gnome212/glib/gmodule/gmoduleconf.h
-
-
-
-;; From /home/murrayc/cvs/gnome212/glib/gmodule/gmodule.h
-
-(define-function g_module_supported
- (c-name "g_module_supported")
- (return-type "gboolean")
-)
-
-(define-function g_module_open
- (c-name "g_module_open")
- (return-type "GModule*")
- (parameters
- '("const-gchar*" "file_name")
- '("GModuleFlags" "flags")
- )
-)
-
-(define-method close
- (of-object "GModule")
- (c-name "g_module_close")
- (return-type "gboolean")
-)
-
-(define-method make_resident
- (of-object "GModule")
- (c-name "g_module_make_resident")
- (return-type "none")
-)
-
-(define-function g_module_error
- (c-name "g_module_error")
- (return-type "const-gchar*")
-)
-
-(define-method symbol
- (of-object "GModule")
- (c-name "g_module_symbol")
- (return-type "gboolean")
- (parameters
- '("const-gchar*" "symbol_name")
- '("gpointer*" "symbol")
- )
-)
-
-(define-method name
- (of-object "GModule")
- (c-name "g_module_name")
- (return-type "const-gchar*")
-)
-
-(define-function g_module_build_path
- (c-name "g_module_build_path")
- (return-type "gchar*")
- (parameters
- '("const-gchar*" "directory")
- '("const-gchar*" "module_name")
- )
-)
-
-
diff --git a/libs/glibmm2/glib/src/iochannel.hg b/libs/glibmm2/glib/src/iochannel.hg
index 38bdf3f776..049c2a390b 100644
--- a/libs/glibmm2/glib/src/iochannel.hg
+++ b/libs/glibmm2/glib/src/iochannel.hg
@@ -163,12 +163,12 @@ public:
#endif /* defined(G_OS_WIN32) || defined(DOXYGEN_SHOULD_SKIP_THIS) */
/** Read a single UCS-4 character.
- * @retval unichar The Unicode character.
+ * @retval thechar The Unicode character.
* @return The status of the operation.
* @throw Glib::IOChannelError
* @throw Glib::ConvertError
*/
- _WRAP_METHOD(IOStatus read(gunichar& unichar), g_io_channel_read_unichar, errthrow)
+ _WRAP_METHOD(IOStatus read(gunichar& thechar), g_io_channel_read_unichar, errthrow)
/** Read a character sequence into memory.
* @param buf A buffer to read data into.
diff --git a/libs/glibmm2/glib/src/keyfile.ccg b/libs/glibmm2/glib/src/keyfile.ccg
index a47c53bef6..5ff2afcd03 100644
--- a/libs/glibmm2/glib/src/keyfile.ccg
+++ b/libs/glibmm2/glib/src/keyfile.ccg
@@ -92,14 +92,51 @@ Glib::ustring KeyFile::get_locale_string(const Glib::ustring& group_name, const
return retvalue;
}
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
int KeyFile::get_integer(const Glib::ustring& key) const
+#else
+int KeyFile::get_integer(const Glib::ustring& key, std::auto_ptr<Glib::Error>& error) const
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ int retvalue = g_key_file_get_integer(const_cast<GKeyFile*>(gobj()), NULL, key.c_str(), &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+double KeyFile::get_double(const Glib::ustring& key) const
+#else
+double KeyFile::get_double(const Glib::ustring& key, std::auto_ptr<Glib::Error>& error) const
+#endif //GLIBMM_EXCEPTIONS_ENABLED
{
- GError *error = 0;
- int retvalue = g_key_file_get_integer(const_cast<GKeyFile*>(gobj()), 0, key.c_str(), &(error));
- if(error) ::Glib::Error::throw_exception(error);
+ GError* gerror = 0;
+ double retvalue = g_key_file_get_double(const_cast<GKeyFile*>(gobj()), NULL, key.c_str(), &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
return retvalue;
}
+void KeyFile::set_double(const Glib::ustring& key, double value)
+{
+ g_key_file_set_double(gobj(), 0, key.c_str(), value);
+}
+
+
Glib::ArrayHandle<Glib::ustring> KeyFile::get_string_list(const Glib::ustring& group_name, const Glib::ustring& key) const
{
gchar** string_list = 0;
@@ -144,6 +181,17 @@ Glib::ArrayHandle<int> KeyFile::get_integer_list(const Glib::ustring& group_name
return Glib::ArrayHandle<int>(integer_list, length_of_list, Glib::OWNERSHIP_DEEP);
}
+Glib::ArrayHandle<double> KeyFile::get_double_list(const Glib::ustring& group_name, const Glib::ustring& key) const
+{
+ gdouble* integer_list = 0;
+ gsize length_of_list = 0;
+ GError* error = 0;
+ integer_list = g_key_file_get_double_list(const_cast<GKeyFile*>(gobj()), group_name.c_str(), key.c_str(), &length_of_list, &error);
+ if(error)
+ Glib::Error::throw_exception(error);
+ return Glib::ArrayHandle<double>(integer_list, length_of_list, Glib::OWNERSHIP_DEEP);
+}
+
void KeyFile::set_string_list(const Glib::ustring& group_name, const Glib::ustring& key, const Glib::ArrayHandle<Glib::ustring>& list)
{
gsize length_of_list = list.size();
@@ -162,6 +210,12 @@ void KeyFile::set_integer_list(const Glib::ustring& group_name, const Glib::ustr
g_key_file_set_integer_list(gobj(), group_name.c_str(), key.c_str(), const_cast<int*>(list.data()), length_of_list);
}
+void KeyFile::set_double_list(const Glib::ustring& group_name, const Glib::ustring& key, Glib::ArrayHandle<double>& list)
+{
+ gsize length_of_list = list.size();
+ g_key_file_set_double_list(gobj(), group_name.c_str(), key.c_str(), const_cast<double*>(list.data()), length_of_list);
+}
+
void KeyFile::set_boolean_list(const Glib::ustring& group_name, const Glib::ustring& key, Glib::ArrayHandle<bool>& list)
{
gsize length_of_list = list.size();
diff --git a/libs/glibmm2/glib/src/keyfile.hg b/libs/glibmm2/glib/src/keyfile.hg
index 8dd1c5d78a..9fdd4918e5 100644
--- a/libs/glibmm2/glib/src/keyfile.hg
+++ b/libs/glibmm2/glib/src/keyfile.hg
@@ -32,10 +32,65 @@ namespace Glib
_WRAP_ENUM(KeyFileFlags, GKeyFileFlags, NO_GTYPE)
- /** Exception class for KeyFile errors.
- */
- _WRAP_GERROR(KeyFileError, GKeyFileError, G_KEY_FILE_ERROR, NO_GTYPE)
+/** Exception class for KeyFile errors.
+ */
+_WRAP_GERROR(KeyFileError, GKeyFileError, G_KEY_FILE_ERROR, NO_GTYPE)
+/** This class lets you parse, edit or create files containing groups of key-value pairs, which we call key files
+ * for lack of a better name. Several freedesktop.org specifications use key files now, e.g the Desktop Entry
+ * Specification and the Icon Theme Specification.
+ *
+ * The syntax of key files is described in detail in the Desktop Entry Specification, here is a quick summary: Key
+ * files consists of groups of key-value pairs, interspersed with comments.
+ *
+ * @code
+ * # this is just an example
+ * # there can be comments before the first group
+ *
+ * [First Group]
+ *
+ * Name=Key File Example\tthis value shows\nescaping
+ *
+ * # localized strings are stored in multiple key-value pairs
+ * Welcome=Hello
+ * Welcome[de]=Hallo
+ * Welcome[fr]=Bonjour
+ * Welcome[it]=Ciao
+ *
+ * [Another Group]
+ *
+ * Numbers=2;20;-200;0
+ *
+ * Booleans=true;false;true;true
+ * @endcode
+ *
+ * Lines beginning with a '#' and blank lines are considered comments.
+ *
+ * Groups are started by a header line containing the group name enclosed in '[' and ']', and ended implicitly by
+ * the start of the next group or the end of the file. Each key-value pair must be contained in a group.
+ *
+ * Key-value pairs generally have the form key=value, with the exception of localized strings, which have the form
+ * key[locale]=value. Space before and after the '=' character are ignored. Newline, tab, carriage return and
+ * backslash characters in value are escaped as \n, \t, \r, and \\, respectively. To preserve leading spaces in
+ * values, these can also be escaped as \s.
+ *
+ * Key files can store strings (possibly with localized variants), integers, booleans and lists of these. Lists are
+ * separated by a separator character, typically ';' or ','. To use the list separator character in a value in a
+ * list, it has to be escaped by prefixing it with a backslash.
+ *
+ * This syntax is obviously inspired by the .ini files commonly met on Windows, but there are some important
+ * differences:
+ * - .ini files use the ';' character to begin comments, key files use the '#' character.
+ * - Key files allow only comments before the first group.
+ * - Key files are always encoded in UTF-8.
+ * - Key and Group names are case-sensitive, for example a group called [GROUP] is a different group from [group].
+ *
+ * Note that in contrast to the Desktop Entry Specification, groups in key files may contain the same key multiple
+ * times; the last entry wins. Key files may also contain multiple groups with the same name; they are merged
+ * together. Another difference is that keys and group names in key files are not restricted to ASCII characters.
+ *
+ * @newin2p14
+ */
class KeyFile
{
_CLASS_GENERIC(KeyFile, GKeyFile)
@@ -74,6 +129,16 @@ public:
bool load_from_data(const Glib::ustring& data, KeyFileFlags flags = Glib::KEY_FILE_NONE);
_IGNORE(g_key_file_load_from_data)
+ //TODO:
+ /*
+ gboolean g_key_file_load_from_dirs (GKeyFile *key_file,
+ const gchar *file,
+ const gchar **search_dirs,
+ gchar **full_path,
+ GKeyFileFlags flags,
+ GError **error);
+ */
+
/** Looks for a KeyFile named @a file in the paths returned from
* g_get_user_data_dir() and g_get_system_data_dirs() and loads them
* into the keyfile object, placing the full path to the file in
@@ -133,6 +198,29 @@ public:
_WRAP_METHOD(int get_integer(const Glib::ustring& group_name, const Glib::ustring& key) const, g_key_file_get_integer, errthrow)
+ /** Gets the value in the first group, under @a key, interpreting it as
+ * a double.
+ * @param key The name of the key
+ * @return The value of @a key as an double
+ * @throws Glib::KeyFileError
+ *
+ * @newin2p14
+ */
+ double get_double(const Glib::ustring& key) const;
+
+ _WRAP_METHOD(double get_double(const Glib::ustring& group_name, const Glib::ustring& key) const, g_key_file_get_double, errthrow)
+
+ _WRAP_METHOD(void set_double(const Glib::ustring& group_name, const Glib::ustring& key, double value), g_key_file_set_double)
+
+ /** Associates a new double value with @a key under the start group.
+ * If @a key cannot be found then it is created.
+ *
+ * @newin2p12
+ * @param key A key.
+ * @param value An double value.
+ */
+ void set_double(const Glib::ustring& key, double value);
+
/** Returns the values associated with @a key under @a group_name
* @param group_name The name of a group
* @param key The name of a key
@@ -180,6 +268,15 @@ public:
Glib::ArrayHandle<int> get_integer_list(const Glib::ustring& group_name, const Glib::ustring& key) const;
_IGNORE(g_key_file_get_integer_list)
+ /** Returns the values associated with @a key under @a group_name
+ * @param group_name The name of a group
+ * @param key The name of a key
+ * @return A list of doubles
+ * @throws Glib::KeyFileError
+ */
+ Glib::ArrayHandle<double> get_double_list(const Glib::ustring& group_name, const Glib::ustring& key) const;
+ _IGNORE(g_key_file_get_double_list)
+
/** Get comment from top of file
* @return The comment
*/
@@ -222,7 +319,7 @@ public:
_IGNORE(g_key_file_set_locale_string_list)
/** Sets a list of booleans for the @a key under @a group_name.
- * If either the @a key or @a group_name cannot be found they are created
+ * If either the @a key or @a group_name cannot be found they are created.
* @param group_name The name of a group
* @param key The name of a key
* @param list A list holding object of type bool
@@ -231,7 +328,7 @@ public:
_IGNORE(g_key_file_set_boolean_list)
/** Sets a list of integers for the @a key under @a group_name.
- * If either the @a key or @a group_name cannot be found they are created
+ * If either the @a key or @a group_name cannot be found they are created.
* @param group_name The name of a group
* @param key The name of a key
* @param list A list holding object of type int
@@ -239,6 +336,18 @@ public:
void set_integer_list(const Glib::ustring& group_name, const Glib::ustring& key, Glib::ArrayHandle<int>& list);
_IGNORE(g_key_file_set_integer_list)
+ /** Sets a list of doubles for the @a key under @a group_name.
+ * If either the @a key or @a group_name cannot be found they are created.
+ * @param group_name The name of a group
+ * @param key The name of a key
+ * @param list A list holding object of type int
+ *
+ * @newin2p14
+ */
+ void set_double_list(const Glib::ustring& group_name, const Glib::ustring& key, Glib::ArrayHandle<double>& list);
+ _IGNORE(g_key_file_set_double_list)
+
+
/** Places @a comment at the start of the file, before the first group.
* @param comment The Comment
*/
diff --git a/libs/glibmm2/glib/src/optioncontext.ccg b/libs/glibmm2/glib/src/optioncontext.ccg
index ac7fe0f38a..494e4f39e3 100644
--- a/libs/glibmm2/glib/src/optioncontext.ccg
+++ b/libs/glibmm2/glib/src/optioncontext.ccg
@@ -19,11 +19,41 @@
*/
#include <glibmm/utility.h>
+#include <glibmm/exceptionhandler.h>
#include <glib/goption.h>
namespace Glib
{
+ namespace Private
+ {
+ static const gchar* SignalProxy_translate_gtk_callback (const gchar* str, gpointer data)
+ {
+ Glib::ustring translated_str;
+ Glib::OptionContext::SlotTranslate* the_slot =
+ static_cast<Glib::OptionContext::SlotTranslate*>(data);
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+ translated_str = (*the_slot)(str);
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+ return translated_str.c_str ();
+ }
+
+ static void SignalProxy_translate_gtk_callback_destroy (gpointer data)
+ {
+ delete static_cast<Glib::OptionContext::SlotTranslate*>(data);
+ }
+
+ } //namespace Private
OptionContext::OptionContext(const Glib::ustring& parameter_string)
: gobject_( g_option_context_new(parameter_string.c_str()) ),
@@ -68,7 +98,15 @@ OptionGroup OptionContext::get_main_group() const
*/
-
+void OptionContext::set_translate_func (const SlotTranslate& slot)
+{
+ //Create a copy of the slot. A pointer to this will be passed through the callback's data parameter.
+ //It will be deleted when SignalProxy_translate_gtk_callback_destroy() is called.
+ SlotTranslate* slot_copy = new SlotTranslate(slot);
-} // namespace Glib
+ g_option_context_set_translate_func(
+ gobj(), &Private::SignalProxy_translate_gtk_callback, slot_copy,
+ &Private::SignalProxy_translate_gtk_callback_destroy);
+}
+} // namespace Glib
diff --git a/libs/glibmm2/glib/src/optioncontext.hg b/libs/glibmm2/glib/src/optioncontext.hg
index 5a217f23fa..1d71ddb4d5 100644
--- a/libs/glibmm2/glib/src/optioncontext.hg
+++ b/libs/glibmm2/glib/src/optioncontext.hg
@@ -22,6 +22,7 @@ _DEFS(glibmm,glib)
#include <glibmm/optionentry.h>
#include <glibmm/optiongroup.h>
#include <glibmm/error.h>
+#include <sigc++/signal.h>
#ifndef DOXYGEN_SHOULD_SKIP_THIS
extern "C" { typedef struct _GOptionContext GOptionContext; }
@@ -90,6 +91,31 @@ public:
GOptionContext* gobj() { return gobject_; }
const GOptionContext* gobj() const { return gobject_; }
+ _WRAP_METHOD(void set_summary(const Glib::ustring& summary), g_option_context_set_summary)
+ _WRAP_METHOD(Glib::ustring get_summary() const, g_option_context_get_summary)
+ _WRAP_METHOD(void set_description(const Glib::ustring& description), g_option_context_set_description)
+ _WRAP_METHOD(Glib::ustring get_description() const, g_option_context_get_description)
+
+ _WRAP_METHOD(void set_translation_domain(const Glib::ustring& domain), g_option_context_set_translation_domain)
+
+ /**
+ * This function is used to translate user-visible strings, for --help output.
+ * The function takes an untranslated string and returns a translated string
+ */
+ typedef sigc::slot<Glib::ustring, const Glib::ustring&> SlotTranslate;
+
+ /**
+ * Sets the function which is used to translate user-visible
+ * strings, for --help output. Different groups can use different functions.
+ *
+ * If you are using gettext(), you only need to set the translation domain,
+ * see set_translation_domain().
+ *
+ * @newin2p14
+ */
+ void set_translate_func (const SlotTranslate& slot);
+ _IGNORE(g_option_context_set_translate_func)
+
protected:
GOptionContext* gobject_;
diff --git a/libs/glibmm2/glib/src/optiongroup.ccg b/libs/glibmm2/glib/src/optiongroup.ccg
index d98f2647c8..c08c79a212 100644
--- a/libs/glibmm2/glib/src/optiongroup.ccg
+++ b/libs/glibmm2/glib/src/optiongroup.ccg
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: optiongroup.ccg,v 1.17 2006/01/28 12:09:22 murrayc Exp $ */
+/* $Id: optiongroup.ccg,v 1.15.4.3 2006/03/30 12:19:58 murrayc Exp $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
@@ -22,6 +22,7 @@
#include <glibmm/optioncontext.h>
#include <glibmm/utility.h>
//#include <glibmm/containers.h>
+#include <glib/gmem.h> // g_malloc
#include <glib/goption.h>
namespace Glib
@@ -37,7 +38,7 @@ static gboolean g_callback_pre_parse(GOptionContext* context, GOptionGroup* /* g
{
OptionContext cppContext(context, false /* take_ownership */);
//OptionGroup cppGroup(group, true /* take_copy */); //Maybe this should be option_group.
-
+
OptionGroup* option_group = static_cast<OptionGroup*>(data);
if(option_group)
return option_group->on_pre_parse(cppContext, *option_group);
@@ -49,7 +50,7 @@ static gboolean g_callback_post_parse(GOptionContext* context, GOptionGroup* /*
{
OptionContext cppContext(context, false /* take_ownership */);
//OptionGroup cppGroup(group, true /* take_copy */); //Maybe this should be option_group.
-
+
OptionGroup* option_group = static_cast<OptionGroup*>(data);
if(option_group)
{
@@ -63,7 +64,7 @@ static void g_callback_error(GOptionContext* context, GOptionGroup* /* group */,
{
OptionContext cppContext(context, false /* take_ownership */);
//OptionGroup cppGroup(group); //Maybe this should be option_group.
-
+
OptionGroup* option_group = static_cast<OptionGroup*>(data);
if(option_group)
return option_group->on_error(cppContext, *option_group);
@@ -99,7 +100,7 @@ OptionGroup::~OptionGroup()
CppOptionEntry& cpp_entry = iter->second;
cpp_entry.release_c_arg();
}
-
+
if(has_ownership_)
{
g_option_group_free(gobj());
@@ -110,15 +111,15 @@ OptionGroup::~OptionGroup()
void OptionGroup::add_entry(const OptionEntry& entry)
{
//It does not copy the entry, so it needs to live as long as the group.
-
+
//g_option_group_add_entries takes an array, with the last item in the array having a null long_name.
//Hopefully this will be properly documented eventually - see bug #
-
+
//Create a temporary array, just so we can give the correct thing to g_option_group_add_entries:
GOptionEntry array[2];
array[0] = *(entry.gobj()); //Copy contents.
GLIBMM_INITIALIZE_STRUCT(array[1], GOptionEntry);
-
+
g_option_group_add_entries(gobj(), array);
}
@@ -157,10 +158,11 @@ void OptionGroup::add_entry_with_wrapper(const OptionEntry& entry, GOptionArg ar
const Glib::ustring name = entry.get_long_name();
type_map_entries::iterator iterFind = map_entries_.find(name);
if( iterFind == map_entries_.end() ) //If we have not added this entry already
- {
+ {
CppOptionEntry cppEntry;
cppEntry.carg_type_ = arg_type;
cppEntry.allocate_c_arg();
+ cppEntry.set_c_arg_default(cpp_arg);
cppEntry.cpparg_ = cpp_arg;
@@ -171,36 +173,35 @@ void OptionGroup::add_entry_with_wrapper(const OptionEntry& entry, GOptionArg ar
cppEntry.entry_->gobj()->arg = arg_type;
cppEntry.entry_->gobj()->arg_data = cppEntry.carg_;
-
+
//Remember the C++/C mapping so that we can use it later:
map_entries_[name] = cppEntry;
add_entry(*(cppEntry.entry_));
}
}
-
+
bool OptionGroup::on_pre_parse(OptionContext& /* context */, OptionGroup& /* group */)
{
-
return true;
}
bool OptionGroup::on_post_parse(OptionContext& /* context */, OptionGroup& /* group */)
{
//Call this at the start of overrides.
-
+
//TODO: Maybe put this in the C callback:
-
+
//The C args have now been given values by GOption.
//Convert C values to C++ values:
-
+
for(type_map_entries::iterator iter = map_entries_.begin(); iter != map_entries_.end(); ++iter)
{
CppOptionEntry& cpp_entry = iter->second;
cpp_entry.convert_c_to_cpp();
}
-
+
return true;
}
@@ -212,20 +213,24 @@ void OptionGroup::on_error(OptionContext& /* context */, OptionGroup& /* group *
OptionGroup::CppOptionEntry::CppOptionEntry()
: carg_type_(G_OPTION_ARG_NONE), carg_(0), cpparg_(0), entry_(0)
{}
-
+
void OptionGroup::CppOptionEntry::allocate_c_arg()
{
//Create an instance of the appropriate C type.
//This will be destroyed in the OptionGroup destructor.
+ //
+ //We must also call set_c_arg_default() to give these C types the specified defaults based on the C++-typed arguments.
switch(carg_type_)
{
case G_OPTION_ARG_STRING: //The char* will be for UTF8 strins.
case G_OPTION_ARG_FILENAME: //The char* will be for strings in the current locale's encoding.
{
char** typed_arg = new char*;
- *typed_arg = 0; //The C code will allocate a char* and put it here, for us to g_free() later.
+ //The C code will allocate a char* and put it here, for us to g_free() later.
+ //Alternatively, set_c_arg_default() might allocate a char*, and the C code might or might not free and replace that.
+ *typed_arg = 0;
carg_ = typed_arg;
-
+
break;
}
case G_OPTION_ARG_INT:
@@ -233,7 +238,7 @@ void OptionGroup::CppOptionEntry::allocate_c_arg()
int* typed_arg = new int;
*typed_arg = 0;
carg_ = typed_arg;
-
+
break;
}
case G_OPTION_ARG_STRING_ARRAY:
@@ -242,7 +247,7 @@ void OptionGroup::CppOptionEntry::allocate_c_arg()
char*** typed_arg = new char**;
*typed_arg = 0;
carg_ = typed_arg;
-
+
break;
}
case G_OPTION_ARG_NONE: /* Actually a boolean. */
@@ -250,7 +255,88 @@ void OptionGroup::CppOptionEntry::allocate_c_arg()
gboolean* typed_arg = new gboolean;
*typed_arg = 0;
carg_ = typed_arg;
-
+
+ break;
+ }
+ default:
+ {
+ break;
+ }
+ }
+}
+
+void OptionGroup::CppOptionEntry::set_c_arg_default(void* cpp_arg)
+{
+ switch(carg_type_)
+ {
+ case G_OPTION_ARG_INT:
+ {
+ *static_cast<int*>(carg_) = *static_cast<int*>(cpp_arg);
+ break;
+ }
+ case G_OPTION_ARG_NONE:
+ {
+ *static_cast<gboolean*>(carg_) = *static_cast<bool*>(cpp_arg);
+ break;
+ }
+ case G_OPTION_ARG_STRING:
+ {
+ Glib::ustring* typed_cpp_arg = static_cast<Glib::ustring*>(cpp_arg);
+ if(typed_cpp_arg && !typed_cpp_arg->empty())
+ {
+ const char** typed_c_arg = static_cast<const char**>(carg_);
+ *typed_c_arg = g_strdup(typed_cpp_arg->c_str()); //Freed in release_c_arg().
+ }
+ break;
+ }
+ case G_OPTION_ARG_FILENAME:
+ {
+ std::string* typed_cpp_arg = static_cast<std::string*>(cpp_arg);
+ if(typed_cpp_arg && !typed_cpp_arg->empty())
+ {
+ const char** typed_c_arg = static_cast<const char**>(carg_);
+ *typed_c_arg = g_strdup(typed_cpp_arg->c_str()); //Freed in release_c_arg().
+ }
+ break;
+ }
+ case G_OPTION_ARG_STRING_ARRAY:
+ {
+ std::vector<Glib::ustring>* typed_cpp_arg = static_cast<std::vector<Glib::ustring>*>(cpp_arg);
+ if(typed_cpp_arg)
+ {
+ std::vector<Glib::ustring>& vec = *typed_cpp_arg;
+ const char** array = static_cast<const char**>( g_malloc(sizeof(gchar*) * (vec.size() + 1)) );
+
+ for(std::vector<Glib::ustring>::size_type i = 0; i < vec.size(); ++i)
+ {
+ array[i] = g_strdup( vec[i].c_str() );
+ }
+
+ array[vec.size()] = 0;
+
+ const char*** typed_c_arg = static_cast<const char***>(carg_);
+ *typed_c_arg = array;
+ }
+ break;
+ }
+ case G_OPTION_ARG_FILENAME_ARRAY:
+ {
+ std::vector<std::string>* typed_cpp_arg = static_cast<std::vector<std::string>*>(cpp_arg);
+ if(typed_cpp_arg)
+ {
+ std::vector<std::string>& vec = *typed_cpp_arg;
+ const char** array = static_cast<const char**>( g_malloc(sizeof(gchar*) * (vec.size() + 1)) );
+
+ for(std::vector<Glib::ustring>::size_type i = 0; i < vec.size(); ++i)
+ {
+ array[i] = g_strdup( vec[i].c_str() );
+ }
+
+ array[vec.size()] = 0;
+
+ const char*** typed_c_arg = static_cast<const char***>(carg_);
+ *typed_c_arg = array;
+ }
break;
}
default:
@@ -271,15 +357,15 @@ void OptionGroup::CppOptionEntry::release_c_arg()
case G_OPTION_ARG_STRING:
case G_OPTION_ARG_FILENAME:
{
- char** typed_arg = (char**)carg_;
+ char** typed_arg = static_cast<char**>(carg_);
g_free(*typed_arg); //Free the char* string at type_arg, which was allocated by the C code.
delete typed_arg; //Delete the char** that we allocated in allocate_c_arg;
-
+
break;
}
case G_OPTION_ARG_INT:
{
- int* typed_arg = (int*)carg_;
+ int* typed_arg = static_cast<int*>(carg_);
delete typed_arg;
break;
@@ -292,23 +378,23 @@ void OptionGroup::CppOptionEntry::release_c_arg()
}
case G_OPTION_ARG_NONE: /* Actually a boolean. */
{
- gboolean* typed_arg = (gboolean*)carg_;
+ gboolean* typed_arg = static_cast<gboolean*>(carg_);
delete typed_arg;
break;
}
default:
{
- /* TODO:
- G_OPTION_ARG_CALLBACK,
-*/
+ /* TODO:
+ G_OPTION_ARG_CALLBACK,
+ */
break;
}
}
-
+
carg_ = 0;
}
-
+
if(entry_)
delete entry_;
}
@@ -319,44 +405,44 @@ void OptionGroup::CppOptionEntry::convert_c_to_cpp()
{
case G_OPTION_ARG_STRING:
{
- char** typed_arg = (char**)carg_;
- Glib::ustring* typed_cpp_arg = (Glib::ustring*)cpparg_;
+ char** typed_arg = static_cast<char**>(carg_);
+ Glib::ustring* typed_cpp_arg = static_cast<Glib::ustring*>(cpparg_);
if(typed_arg && typed_cpp_arg)
{
char* pch = *typed_arg;
(*typed_cpp_arg) = Glib::convert_const_gchar_ptr_to_ustring(pch);
-
+
break;
}
}
case G_OPTION_ARG_FILENAME:
{
- char** typed_arg = (char**)carg_;
- std::string* typed_cpp_arg = (std::string*)cpparg_;
+ char** typed_arg = static_cast<char**>(carg_);
+ std::string* typed_cpp_arg = static_cast<std::string*>(cpparg_);
if(typed_arg && typed_cpp_arg)
{
char* pch = *typed_arg;
(*typed_cpp_arg) = Glib::convert_const_gchar_ptr_to_stdstring(pch);
-
+
break;
}
}
case G_OPTION_ARG_INT:
{
- *((int*)cpparg_) = *((int*)carg_);
+ *((int*)cpparg_) = *(static_cast<int*>(carg_));
break;
}
case G_OPTION_ARG_STRING_ARRAY:
{
- char*** typed_arg = (char***)carg_;
- vecustrings* typed_cpp_arg = (vecustrings*)cpparg_;
+ char*** typed_arg = static_cast<char***>(carg_);
+ vecustrings* typed_cpp_arg = static_cast<vecustrings*>(cpparg_);
if(typed_arg && typed_cpp_arg)
{
typed_cpp_arg->clear();
-
+
//The C array seems to be null-terminated.
//Glib::StringArrayHandle array_handle(*typed_arg, Glib::OWNERSHIP_NONE);
-
+
//The SUN Forte compiler complains about this:
// "optiongroup.cc", line 354: Error: Cannot assign Glib::ArrayHandle<Glib::ustring,
// Glib::Container_Helpers::TypeTraits<Glib::ustring>> to std::vector<Glib::ustring> without
@@ -369,14 +455,14 @@ void OptionGroup::CppOptionEntry::convert_c_to_cpp()
// cxx: Error: ../../glib/glibmm/containerhandle_shared.h, line 149: the operand
// of a pointer dynamic_cast must be a pointer to a complete class type
// return dynamic_cast<CppType>(Glib::wrap_auto(cobj, false /* take_copy */));
-
+
//for(Glib::StringArrayHandle::iterator iter = array_handle.begin(); iter != array_handle.end(); ++iter)
//{
// typed_cpp_arg->push_back(*iter);
//}
-
+
//So we do this:
-
+
char** char_array_next = *typed_arg;
while(char_array_next && *char_array_next)
{
@@ -384,19 +470,19 @@ void OptionGroup::CppOptionEntry::convert_c_to_cpp()
++char_array_next;
}
}
-
+
break;
}
case G_OPTION_ARG_FILENAME_ARRAY:
{
- char*** typed_arg = (char***)carg_;
- vecustrings* typed_cpp_arg = (vecustrings*)cpparg_;
+ char*** typed_arg = static_cast<char***>(carg_);
+ vecustrings* typed_cpp_arg = static_cast<vecustrings*>(cpparg_);
if(typed_arg && typed_cpp_arg)
{
typed_cpp_arg->clear();
-
+
//See comments above about the SUN Forte and Tru64 compilers.
-
+
char** char_array_next = *typed_arg;
while(char_array_next && *char_array_next)
{
@@ -404,20 +490,20 @@ void OptionGroup::CppOptionEntry::convert_c_to_cpp()
++char_array_next;
}
}
-
+
break;
}
case G_OPTION_ARG_NONE: /* Actually a boolean. */
{
- *((bool*)cpparg_) = *((gboolean*)carg_);
+ *(static_cast<bool*>(cpparg_)) = *(static_cast<gboolean*>(carg_));
break;
}
default:
{
/* TODO:
- G_OPTION_ARG_CALLBACK,
- */
- break;
+ G_OPTION_ARG_CALLBACK,
+ */
+ break;
}
}
}
@@ -427,6 +513,6 @@ GOptionGroup* OptionGroup::gobj_give_ownership()
has_ownership_ = false;
return gobj();
}
-
+
} // namespace Glib
diff --git a/libs/glibmm2/glib/src/optiongroup.hg b/libs/glibmm2/glib/src/optiongroup.hg
index 5083d24053..c15b80d950 100644
--- a/libs/glibmm2/glib/src/optiongroup.hg
+++ b/libs/glibmm2/glib/src/optiongroup.hg
@@ -1,4 +1,4 @@
-/* $Id: optiongroup.hg,v 1.10 2005/01/10 17:42:17 murrayc Exp $ */
+/* $Id: optiongroup.hg,v 1.10.4.1 2006/03/30 12:19:58 murrayc Exp $ */
/* Copyright (C) 2004 The glibmm Development Team
*
@@ -61,21 +61,21 @@ public:
virtual bool on_post_parse(OptionContext& context, OptionGroup& group);
virtual void on_error(OptionContext& context, OptionGroup& group);
_IGNORE(g_option_group_set_parse_hooks, g_option_group_set_error_hook)
-
+
void add_entry(const OptionEntry& entry);
_IGNORE(g_option_group_add_entries)
-
-
+
+
typedef std::vector<Glib::ustring> vecustrings;
typedef std::vector<std::string> vecstrings;
-
+
void add_entry(const OptionEntry& entry, bool& arg);
void add_entry(const OptionEntry& entry, int& arg);
void add_entry(const OptionEntry& entry, Glib::ustring& arg);
void add_entry_filename(const OptionEntry& entry, std::string& arg);
void add_entry(const OptionEntry& entry, vecustrings& arg);
void add_entry_filename(const OptionEntry& entry, vecstrings& arg);
-
+
/* TODO:
void g_option_group_set_translate_func (GOptionGroup *group,
GTranslateFunc func,
@@ -83,36 +83,41 @@ void g_option_group_set_translate_func (GOptionGroup *group,
GDestroyNotify destroy_notify);
*/
_WRAP_METHOD(void set_translation_domain(const Glib::ustring& domain), g_option_group_set_translation_domain)
-
+
GOptionGroup* gobj() { return gobject_; }
const GOptionGroup* gobj() const { return gobject_; }
GOptionGroup* gobj_give_ownership();
-
+
protected:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ /** This is not public API. It is an implementation detail.
+ */
class CppOptionEntry
{
public:
CppOptionEntry();
-
+
void allocate_c_arg();
+ void set_c_arg_default(void* cpp_arg);
void convert_c_to_cpp();
void release_c_arg();
-
+
GOptionArg carg_type_;
void* carg_;
void* cpparg_;
OptionEntry* entry_;
};
-
+
void add_entry_with_wrapper(const OptionEntry& entry, GOptionArg arg_type, void* cpp_arg);
-
+
//Map of entry names to CppOptionEntry:
typedef std::map<Glib::ustring, CppOptionEntry> type_map_entries;
type_map_entries map_entries_;
-
+
GOptionGroup* gobject_;
bool has_ownership_; //Whether the gobject_ belongs to this C++ instance.
+#endif //DOXYGEN_SHOULD_SKIP_THIS
};
} // namespace Glib
diff --git a/libs/glibmm2/glib/src/regex.ccg b/libs/glibmm2/glib/src/regex.ccg
new file mode 100644
index 0000000000..e087365ed6
--- /dev/null
+++ b/libs/glibmm2/glib/src/regex.ccg
@@ -0,0 +1,204 @@
+/* Copyright (C) 2007 The glibmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/utility.h>
+
+namespace Glib
+{
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+Glib::RefPtr<Glib::Regex> Regex::create(const Glib::ustring& pattern,
+ RegexCompileFlags compile_options,
+ RegexMatchFlags match_options)
+#else
+Glib::RefPtr<Glib::Regex> Regex::create(const Glib::ustring& pattern,
+ RegexCompileFlags compile_options,
+ RegexMatchFlags match_options,
+ std::auto_ptr<Glib::Error>& error)
+#endif /* GLIBMM_EXCEPTIONS_ENABLED */
+{
+ GError* gerror = 0;
+ GRegex* regex = g_regex_new(pattern.c_str(), (GRegexCompileFlags)compile_options,
+ (GRegexMatchFlags)match_options, &gerror);
+
+ if(gerror)
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ Glib::Error::throw_exception(gerror);
+#else
+ error = Glib::Error::throw_exception(gerror);
+#endif
+ return Glib::wrap(regex);
+}
+
+// static
+Glib::ustring Regex::escape_string(const Glib::ustring& string)
+{
+ const Glib::ScopedPtr<char> buf (g_regex_escape_string(string.raw().c_str(),
+ string.raw().size()));
+ return Glib::ustring(buf.get());
+}
+
+bool Regex::match(const Glib::ustring& string, RegexMatchFlags match_options)
+{
+ return g_regex_match(gobj(), string.c_str(), (GRegexMatchFlags)(match_options), 0);
+}
+
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+bool Regex::match(const Glib::ustring& string, int start_position, RegexMatchFlags match_options)
+#else
+bool Regex::match(const Glib::ustring& string, int start_position, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ bool retvalue = g_regex_match_full(gobj(), string.c_str(), -1, start_position, ((GRegexMatchFlags)(match_options)), 0, &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+bool Regex::match(const Glib::ustring& string, gssize string_len, int start_position, RegexMatchFlags match_options)
+#else
+bool Regex::match(const Glib::ustring& string, gssize string_len, int start_position, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ bool retvalue = g_regex_match_full(gobj(), string.c_str(), string_len, start_position, ((GRegexMatchFlags)(match_options)), 0, &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+
+bool Regex::match_all(const Glib::ustring& string, RegexMatchFlags match_options)
+{
+ return g_regex_match_all(gobj(), string.c_str(), ((GRegexMatchFlags)(match_options)), 0);
+}
+
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+bool Regex::match_all(const Glib::ustring& string, int start_position, RegexMatchFlags match_options)
+#else
+bool Regex::match_all(const Glib::ustring& string, int start_position, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ bool retvalue = g_regex_match_all_full(gobj(), string.c_str(), -1, start_position, ((GRegexMatchFlags)(match_options)), 0, &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+bool Regex::match_all(const Glib::ustring& string, gssize string_len, int start_position, RegexMatchFlags match_options)
+#else
+bool Regex::match_all(const Glib::ustring& string, gssize string_len, int start_position, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ bool retvalue = g_regex_match_all_full(gobj(), string.c_str(), string_len, start_position, ((GRegexMatchFlags)(match_options)), 0, &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+Glib::ustring Regex::replace(const Glib::ustring& string, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options)
+#else
+Glib::ustring Regex::replace(const Glib::ustring& string, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ Glib::ustring retvalue = Glib::convert_return_gchar_ptr_to_ustring(g_regex_replace(gobj(), string.c_str(), -1, start_position, replacement.c_str(), ((GRegexMatchFlags)(match_options)), &(gerror)));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+Glib::ustring Regex::replace_literal(const Glib::ustring& string, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options)
+#else
+Glib::ustring Regex::replace_literal(const Glib::ustring& string, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ Glib::ustring retvalue = Glib::convert_return_gchar_ptr_to_ustring(g_regex_replace_literal(gobj(), string.c_str(), -1, start_position, replacement.c_str(), ((GRegexMatchFlags)(match_options)), &(gerror)));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+Glib::StringArrayHandle Regex::split(const Glib::ustring& string, int start_position, RegexMatchFlags match_options, int max_tokens) const
+#else
+Glib::StringArrayHandle Regex::split(const Glib::ustring& string, int start_position, RegexMatchFlags match_options, int max_tokens, std::auto_ptr<Glib::Error>& error) const
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ Glib::StringArrayHandle retvalue = Glib::StringArrayHandle(g_regex_split_full(const_cast<GRegex*>(gobj()), string.c_str(), -1, start_position, ((GRegexMatchFlags)(match_options)), max_tokens, &(gerror)), Glib::OWNERSHIP_DEEP);
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+} // namespace Glib
diff --git a/libs/glibmm2/glib/src/regex.hg b/libs/glibmm2/glib/src/regex.hg
new file mode 100644
index 0000000000..5b029a8f28
--- /dev/null
+++ b/libs/glibmm2/glib/src/regex.hg
@@ -0,0 +1,209 @@
+/* Copyright (C) 2007 The glibmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(glibmm,glib)
+
+#include <glibmm/refptr.h>
+#include <glibmm/ustring.h>
+#include <glibmm/error.h>
+#include <glibmm/arrayhandle.h>
+#include <glib/gregex.h>
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+typedef struct _GRegex GRegex;
+#endif
+
+namespace Glib
+{
+
+_WRAP_ENUM(RegexCompileFlags, GRegexCompileFlags, NO_GTYPE)
+_WRAP_ENUM(RegexMatchFlags, GRegexMatchFlags, NO_GTYPE)
+
+/** Exception class for Regex
+ */
+_WRAP_GERROR(RegexError, GRegexError, G_REGEX_ERROR, NO_GTYPE)
+
+
+/** Perl-compatible regular expressions - matches strings against regular expressions.
+ *
+ * The Glib::Regex functions implement regular expression pattern matching using
+ * syntax and semantics similar to Perl regular expression.
+ *
+ * Some functions accept a start_position argument, setting it differs from just
+ * passing over a shortened string and setting REGEX_MATCH_NOTBOL in the case
+ * of a pattern that begins with any kind of lookbehind assertion. For example,
+ * consider the pattern "\Biss\B" which finds occurrences of "iss" in the middle
+ * of words. ("\B" matches only if the current position in the subject is not a
+ * word boundary.) When applied to the string "Mississipi" from the fourth byte,
+ * namely "issipi", it does not match, because "\B" is always false at the
+ * start of the subject, which is deemed to be a word boundary. However, if
+ * the entire string is passed , but with start_position set to 4, it finds the
+ * second occurrence of "iss" because it is able to look behind the starting point
+ * to discover that it is preceded by a letter.
+ *
+ * Note that, unless you set the REGEX_RAW flag, all the strings passed to these
+ * functions must be encoded in UTF-8. The lengths and the positions inside the
+ * strings are in bytes and not in characters, so, for instance,
+ * "\xc3\xa0" (i.e. "à") is two bytes long but it is treated as a single
+ * character. If you set REGEX_RAW the strings can be non-valid UTF-8 strings
+ * and a byte is treated as a character, so "\xc3\xa0" is two bytes and
+ * two characters long.
+ *
+ * When matching a pattern, "\n" matches only against a "\n" character in the
+ * string, and "\r" matches only a "\r" character. To match any newline sequence
+ * use "\R". This particular group matches either the two-character sequence
+ * CR + LF ("\r\n"), or one of the single characters LF (linefeed, U+000A, "\n"),
+ * VT (vertical tab, U+000B, "\v"), FF (formfeed, U+000C, "\f"), CR (carriage
+ * return, U+000D, "\r"), NEL (next line, U+0085), LS (line separator, U+2028),
+ * or PS (paragraph separator, U+2029).
+ *
+ * The behaviour of the dot, circumflex, and dollar metacharacters are affected
+ * by newline characters, the default is to recognize any newline character (the
+ * same characters recognized by "\R"). This can be changed with REGEX_NEWLINE_CR,
+ * REGEX_NEWLINE_LF and REGEX_NEWLINE_CRLF compile options, and with
+ * REGEX_MATCH_NEWLINE_ANY, REGEX_MATCH_NEWLINE_CR, REGEX_MATCH_NEWLINE_LF
+ * and REGEX_MATCH_NEWLINE_CRLF match options. These settings are also
+ * relevant when compiling a pattern if REGEX_EXTENDED is set, and an unescaped
+ * "#" outside a character class is encountered. This indicates a comment that
+ * lasts until after the next newline.
+ *
+ * Creating and manipulating the same Glib::Regex class from different threads is
+ * not a problem as Glib::Regex does not modify its internal state between creation and
+ * destruction, on the other hand Glib::MatchInfo is not threadsafe.
+ *
+ * The regular expressions low level functionalities are obtained through the
+ * excellent PCRE library written by Philip Hazel.
+ *
+ * @newin2p14
+ */
+class Regex
+{
+ _CLASS_OPAQUE_REFCOUNTED(Regex, GRegex, NONE, g_regex_ref, g_regex_unref)
+ _IGNORE(g_regex_ref, g_regex_unref)
+public:
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ static Glib::RefPtr<Glib::Regex> create(const Glib::ustring& pattern, RegexCompileFlags compile_options = static_cast<RegexCompileFlags>(0), RegexMatchFlags match_options = static_cast<RegexMatchFlags>(0));
+#else
+ static Glib::RefPtr<Glib::Regex> create(const Glib::ustring& pattern, RegexCompileFlags compile_options = static_cast<RegexCompileFlags>(0), RegexMatchFlags match_options = static_cast<RegexMatchFlags>(0), std::auto_ptr<Glib::Error>& error);
+#endif /* !GLIBMM_EXCEPTIONS_ENABLED */
+
+ _WRAP_METHOD(Glib::ustring get_pattern() const, g_regex_get_pattern)
+ _WRAP_METHOD(int get_max_backref() const, g_regex_get_max_backref)
+ _WRAP_METHOD(int get_capture_count() const, g_regex_get_capture_count)
+ _WRAP_METHOD(int get_string_number(const Glib::ustring& name) const, g_regex_get_string_number)
+
+ static Glib::ustring escape_string(const Glib::ustring& string);
+
+ _WRAP_METHOD(static bool match_simple(const Glib::ustring& pattern, const Glib::ustring& string, RegexCompileFlags compile_options = static_cast<RegexCompileFlags>(0), RegexMatchFlags match_options = static_cast<RegexMatchFlags>(0)), g_regex_match_simple)
+
+ //TODO: _WRAP_METHOD(bool match(const Glib::ustring& string, RegexMatchFlags match_options = (RegexMatchFlags)0, GMatchInfo **match_info = 0), g_regex_match)
+ bool match(const Glib::ustring& string, RegexMatchFlags match_options = static_cast<RegexMatchFlags>(0));
+
+ //TODO: Wrap GMatchInfo as an iterator:
+ //_WRAP_METHOD(bool match_full(const gchar* string, gssize string_len, int start_position, RegexMatchFlags match_options = (RegexMatchFlags)0, GMatchInfo** match_info = 0), g_regex_match_full, errthrow)
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ bool match(const Glib::ustring& string, int start_position, RegexMatchFlags match_options);
+#else
+ bool match(const Glib::ustring& string, int start_position, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error);
+#endif /* !GLIBMM_EXCEPTIONS_ENABLED */
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ bool match(const Glib::ustring& string, gssize string_len, int start_position, RegexMatchFlags match_options);
+#else
+ bool match(const Glib::ustring& string, gssize string_len, int start_position, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error);
+#endif /* !GLIBMM_EXCEPTIONS_ENABLED */
+
+ //TODO: _WRAP_METHOD(bool match_all(const Glib::ustring& string, RegexMatchFlags match_options = (RegexMatchFlags)0, GMatchInfo ** match_info = 0), g_regex_match_all)
+ bool match_all(const Glib::ustring& string, RegexMatchFlags match_options = static_cast<RegexMatchFlags>(0));
+
+ //TODO: _WRAP_METHOD(bool match_all_full(const gchar* string, gssize string_len, int start_position, RegexMatchFlags match_options = (RegexMatchFlags)0, GMatchInfo** match_info = 0), g_regex_match_all_full, errthrow)
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ bool match_all(const Glib::ustring& string, int start_position, RegexMatchFlags match_options);
+#else
+ bool match_all(const Glib::ustring& string, int start_position, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error);
+#endif /* !GLIBMM_EXCEPTIONS_ENABLED */
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ bool match_all(const Glib::ustring& string, gssize string_len, int start_position, RegexMatchFlags match_options);
+#else
+ bool match_all(const Glib::ustring& string, gssize string_len, int start_position, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error);
+#endif /* !GLIBMM_EXCEPTIONS_ENABLED */
+
+#m4 _CONVERSION(`gchar**',`Glib::StringArrayHandle',`Glib::StringArrayHandle($3, Glib::OWNERSHIP_DEEP)')
+
+ _WRAP_METHOD(static Glib::StringArrayHandle split_simple(const Glib::ustring& pattern, const Glib::ustring& string, RegexCompileFlags compile_options = static_cast<RegexCompileFlags>(0), RegexMatchFlags match_options = static_cast<RegexMatchFlags>(0)), g_regex_split_simple)
+ _WRAP_METHOD(Glib::StringArrayHandle split(const Glib::ustring& string, RegexMatchFlags match_options = static_cast<RegexMatchFlags>(0)), g_regex_split)
+
+ _WRAP_METHOD(Glib::StringArrayHandle split(const gchar* string, gssize string_len, int start_position, RegexMatchFlags match_options = static_cast<RegexMatchFlags>(0), int max_tokens = 0) const, g_regex_split_full, errthrow)
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ Glib::StringArrayHandle split(const Glib::ustring& string, int start_position, RegexMatchFlags match_options, int max_tokens) const;
+#else
+ Glib::StringArrayHandle split(const Glib::ustring& string, int start_position, RegexMatchFlags match_options, int max_tokens, std::auto_ptr<Glib::Error>& error) const;
+#endif /* !GLIBMM_EXCEPTIONS_ENABLED */
+
+ _WRAP_METHOD(Glib::ustring replace(const gchar* string, gssize string_len, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options = static_cast<RegexMatchFlags>(0)), g_regex_replace, errthrow)
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ Glib::ustring replace(const Glib::ustring& string, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options);
+#else
+ Glib::ustring replace(const Glib::ustring& string, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error);
+#endif /* !GLIBMM_EXCEPTIONS_ENABLED */
+
+ _WRAP_METHOD(Glib::ustring replace_literal(const gchar *string, gssize string_len, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options = static_cast<RegexMatchFlags>(0)), g_regex_replace_literal, errthrow)
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ Glib::ustring replace_literal(const Glib::ustring& string, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options);
+#else
+ Glib::ustring replace_literal(const Glib::ustring& string, int start_position, const Glib::ustring& replacement, RegexMatchFlags match_options, std::auto_ptr<Glib::Error>& error);
+#endif /* !GLIBMM_EXCEPTIONS_ENABLED */
+
+ _WRAP_METHOD(Glib::ustring replace_eval(const Glib::ustring& string, gssize string_len, int start_position, RegexMatchFlags match_options, GRegexEvalCallback eval, gpointer user_data), g_regex_replace_eval, errthrow)
+ _WRAP_METHOD(static bool check_replacement(const Glib::ustring& replacement, gboolean* has_references), g_regex_check_replacement, errthrow)
+
+/* Match info */
+/*
+GRegex *g_match_info_get_regex (const GMatchInfo *match_info);
+const gchar *g_match_info_get_string (const GMatchInfo *match_info);
+
+void g_match_info_free (GMatchInfo *match_info);
+ _WRAP_METHOD(bool g_match_info_next (GMatchInfo *match_info,
+ GError **error);
+ _WRAP_METHOD(bool g_match_info_matches (const GMatchInfo *match_info);
+ _WRAP_METHOD(int g_match_info_get_match_count (const GMatchInfo *match_info);
+ _WRAP_METHOD(bool g_match_info_is_partial_match (const GMatchInfo *match_info);
+Glib::ustring g_match_info_expand_references(const GMatchInfo *match_info,
+ Glib::ustring& string_to_expand,
+ GError **error);
+Glib::ustring g_match_info_fetch (const GMatchInfo *match_info,
+ int match_num);
+ _WRAP_METHOD(bool g_match_info_fetch_pos (const GMatchInfo *match_info,
+ int match_num,
+ int *start_pos,
+ int *end_pos);
+Glib::ustring g_match_info_fetch_named (const GMatchInfo *match_info,
+ Glib::ustring& name);
+ _WRAP_METHOD(bool g_match_info_fetch_named_pos (const GMatchInfo *match_info,
+ Glib::ustring& name,
+ int *start_pos,
+ int *end_pos);
+gchar **g_match_info_fetch_all (const GMatchInfo *match_info);
+*/
+};
+
+} // namespace Glib
diff --git a/libs/glibmm2/glib/src/shell.ccg b/libs/glibmm2/glib/src/shell.ccg
index d56563e077..eae98ef7d8 100644
--- a/libs/glibmm2/glib/src/shell.ccg
+++ b/libs/glibmm2/glib/src/shell.ccg
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: shell.ccg,v 1.1.1.1 2003/01/07 16:58:38 murrayc Exp $ */
+/* $Id: shell.ccg,v 1.1 2003/01/07 16:58:38 murrayc Exp $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/src/unicode.ccg b/libs/glibmm2/glib/src/unicode.ccg
index 89aa41261e..7d994ef05b 100644
--- a/libs/glibmm2/glib/src/unicode.ccg
+++ b/libs/glibmm2/glib/src/unicode.ccg
@@ -1,5 +1,5 @@
// -*- c++ -*-
-/* $Id: unicode.ccg,v 1.1.1.1 2003/01/07 16:58:42 murrayc Exp $ */
+/* $Id: unicode.ccg,v 1.1 2003/01/07 16:58:42 murrayc Exp $ */
/* Copyright (C) 2002 The gtkmm Development Team
*
diff --git a/libs/glibmm2/glib/src/value_basictypes.cc.m4 b/libs/glibmm2/glib/src/value_basictypes.cc.m4
index cdda8cee4b..f87461aaf1 100644
--- a/libs/glibmm2/glib/src/value_basictypes.cc.m4
+++ b/libs/glibmm2/glib/src/value_basictypes.cc.m4
@@ -1,6 +1,6 @@
divert(-1)
-dnl $Id: value_basictypes.cc.m4,v 1.2 2006/11/22 11:13:29 murrayc Exp $
+dnl $Id: value_basictypes.cc.m4 348 2006-11-22 11:14:43Z murrayc $
dnl Glib::Value specializations for fundamental types
dnl
diff --git a/libs/glibmm2/glib/src/value_basictypes.h.m4 b/libs/glibmm2/glib/src/value_basictypes.h.m4
index ebfc9cdcd7..08c4a90998 100644
--- a/libs/glibmm2/glib/src/value_basictypes.h.m4
+++ b/libs/glibmm2/glib/src/value_basictypes.h.m4
@@ -1,6 +1,6 @@
divert(-1)
-dnl $Id: value_basictypes.h.m4,v 1.1.1.1 2003/01/07 16:58:42 murrayc Exp $
+dnl $Id: value_basictypes.h.m4 2 2003-01-07 16:59:16Z murrayc $
dnl Glib::Value specializations for fundamental types
dnl
diff --git a/libs/glibmm2/glib/stamp-h2 b/libs/glibmm2/glib/stamp-h2
deleted file mode 100644
index 96bf600f0d..0000000000
--- a/libs/glibmm2/glib/stamp-h2
+++ /dev/null
@@ -1 +0,0 @@
-timestamp for glib/glibmmconfig.h
diff --git a/libs/glibmm2/libtool b/libs/glibmm2/libtool
deleted file mode 100644
index e803a508d0..0000000000
--- a/libs/glibmm2/libtool
+++ /dev/null
@@ -1,7520 +0,0 @@
-#! /bin/bash
-
-# libtoolT - Provide generalized library-building support services.
-# Generated automatically by (GNU glibmm 2.13.3)
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
-# Free Software Foundation, Inc.
-#
-# This file is part of GNU Libtool:
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# A sed program that does not truncate output.
-SED="/bin/sed"
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="/bin/sed -e 1s/^X//"
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# The names of the tagged configurations supported by this script.
-available_tags=" CXX"
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Libtool was configured on host houllier:
-
-# Shell to use when invoking shell scripts.
-SHELL="/bin/bash"
-
-# Whether or not to build shared libraries.
-build_libtool_libs=yes
-
-# Whether or not to build static libraries.
-build_old_libs=no
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=no
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=no
-
-# Whether or not to optimize for fast installation.
-fast_install=yes
-
-# The host system.
-host_alias=
-host=i686-pc-linux-gnu
-host_os=linux-gnu
-
-# The build system.
-build_alias=
-build=i686-pc-linux-gnu
-build_os=linux-gnu
-
-# An echo program that does not interpret backslashes.
-echo="echo"
-
-# The archiver.
-AR="ar"
-AR_FLAGS="cru"
-
-# A C compiler.
-LTCC="gcc"
-
-# LTCC compiler flags.
-LTCFLAGS="-g -O2"
-
-# A language-specific compiler.
-CC="gcc"
-
-# Is the compiler the GNU C compiler?
-with_gcc=yes
-
-# An ERE matcher.
-EGREP="grep -E"
-
-# The linker used to build libraries.
-LD="/usr/bin/ld"
-
-# Whether we need hard or soft links.
-LN_S="ln -s"
-
-# A BSD-compatible nm program.
-NM="/usr/bin/nm -B"
-
-# A symbol stripping program
-STRIP="strip"
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=file
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="dlltool"
-
-# Used on cygwin: object dumper.
-OBJDUMP="objdump"
-
-# Used on cygwin: assembler.
-AS="as"
-
-# The name of the directory that contains temporary libtool files.
-objdir=.libs
-
-# How to create reloadable object files.
-reload_flag=" -r"
-reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
-
-# How to pass a linker flag through the compiler.
-wl="-Wl,"
-
-# Object file suffix (normally "o").
-objext="o"
-
-# Old archive suffix (normally "a").
-libext="a"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='.so'
-
-# Executable file suffix (normally "").
-exeext=""
-
-# Additional compiler flags for building library objects.
-pic_flag=" -fPIC -DPIC"
-pic_mode=default
-
-# What is the maximum length of a command?
-max_cmd_len=32768
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o="yes"
-
-# Must we lock files when doing compilation?
-need_locks="no"
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=no
-
-# Do we need a version for libraries?
-need_version=no
-
-# Whether dlopen is supported.
-dlopen_support=unknown
-
-# Whether dlopen of programs is supported.
-dlopen_self=unknown
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=unknown
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag="-static"
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=" -fno-builtin"
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec="\${wl}--export-dynamic"
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive"
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=""
-
-# Library versioning type.
-version_type=linux
-
-# Format of library name prefix.
-libname_spec="lib\$name"
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}"
-
-# The coded name of the library, if different from the real name.
-soname_spec="\${libname}\${release}\${shared_ext}\$major"
-
-# Commands used to build and install an old-style archive.
-RANLIB="ranlib"
-old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib"
-old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib"
-old_postuninstall_cmds=""
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=""
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=""
-
-# Commands used to build and install a shared archive.
-archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib"
-archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~
- cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~
- \$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~
- \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib"
-postinstall_cmds=""
-postuninstall_cmds=""
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=""
-module_expsym_cmds=""
-
-# Commands to strip libraries.
-old_striplib="strip --strip-debug"
-striplib="strip --strip-unneeded"
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=""
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=""
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=""
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=""
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=""
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method="pass_all"
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd="\$MAGIC_CMD"
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=""
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=""
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir"
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=""
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'"
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'"
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'"
-
-# This is the shared library runtime path variable.
-runpath_var=LD_RUN_PATH
-
-# This is the shared library path variable.
-shlibpath_var=LD_LIBRARY_PATH
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=no
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=immediate
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=yes
-
-# Flag to hardcode $libdir into a binary during linking.
-# This must work even if $libdir does not exist.
-hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir"
-
-# If ld is used when linking, flag to hardcode $libdir into
-# a binary during linking. This must work even if $libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=""
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=""
-
-# Set to yes if using DIR/libNAME during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=no
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=no
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=unsupported
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=no
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=unknown
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=" /usr/lib/gcc/i486-linux-gnu/4.1.2/ /usr/lib/gcc/i486-linux-gnu/4.1.2/ /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../i486-linux-gnu/lib/i486-linux-gnu/4.1.2/ /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../i486-linux-gnu/lib/ /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../i486-linux-gnu/4.1.2/ /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../ /lib/i486-linux-gnu/4.1.2/ /lib/ /usr/lib/i486-linux-gnu/4.1.2/ /usr/lib/"
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/local/lib "
-
-# Fix the shell variable $srcfile for the compiler.
-fix_srcfile_path=""
-
-# Set to yes if exported symbols are required.
-always_export_symbols=no
-
-# The commands to list exported symbols.
-export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols"
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=""
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
-
-# Symbols that must always be exported.
-include_expsyms=""
-
-# ### END LIBTOOL CONFIG
-
-# ltmain.sh - Provide generalized library-building support services.
-# NOTE: Changing this file will not affect anything until you rerun configure.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-basename="s,^.*/,,g"
-
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
-
-# The name of this program:
-progname=`echo "$progpath" | $SED $basename`
-modename="$progname"
-
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-
-PROGRAM=ltmain.sh
-PACKAGE=libtool
-VERSION=1.5.22
-TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes.
-if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-# Check that we have a working $echo.
-if test "X$1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X$1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
- # Yippee, $echo works!
- :
-else
- # Restart under the correct shell, and then maybe $echo will work.
- exec $SHELL "$progpath" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<EOF
-$*
-EOF
- exit $EXIT_SUCCESS
-fi
-
-default_mode=
-help="Try \`$progname --help' for more information."
-magic="%%%MAGIC variable%%%"
-mkdir="mkdir"
-mv="mv -f"
-rm="rm -f"
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- SP2NL='tr \040 \012'
- NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- SP2NL='tr \100 \n'
- NL2SP='tr \r\n \100\100'
- ;;
-esac
-
-# NLS nuisances.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-# We save the old values to restore during execute mode.
-if test "${LC_ALL+set}" = set; then
- save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
-fi
-if test "${LANG+set}" = set; then
- save_LANG="$LANG"; LANG=C; export LANG
-fi
-
-# Make sure IFS has a sensible default
-lt_nl='
-'
-IFS=" $lt_nl"
-
-if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
- $echo "$modename: not configured to build any kind of library" 1>&2
- $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
- exit $EXIT_FAILURE
-fi
-
-# Global variables.
-mode=$default_mode
-nonopt=
-prev=
-prevopt=
-run=
-show="$echo"
-show_help=
-execute_dlfiles=
-duplicate_deps=no
-preserve_args=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-
-#####################################
-# Shell function definitions:
-# This seems to be the best place for them
-
-# func_mktempdir [string]
-# Make a temporary directory that won't clash with other running
-# libtool processes, and avoids race conditions if possible. If
-# given, STRING is the basename for that directory.
-func_mktempdir ()
-{
- my_template="${TMPDIR-/tmp}/${1-$progname}"
-
- if test "$run" = ":"; then
- # Return a directory name, but don't create it in dry-run mode
- my_tmpdir="${my_template}-$$"
- else
-
- # If mktemp works, use that first and foremost
- my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
-
- if test ! -d "$my_tmpdir"; then
- # Failing that, at least try and use $RANDOM to avoid a race
- my_tmpdir="${my_template}-${RANDOM-0}$$"
-
- save_mktempdir_umask=`umask`
- umask 0077
- $mkdir "$my_tmpdir"
- umask $save_mktempdir_umask
- fi
-
- # If we're not in dry-run mode, bomb out on failure
- test -d "$my_tmpdir" || {
- $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
- exit $EXIT_FAILURE
- }
- fi
-
- $echo "X$my_tmpdir" | $Xsed
-}
-
-
-# func_win32_libid arg
-# return the library type of file 'arg'
-#
-# Need a lot of goo to handle *both* DLLs and import libs
-# Has to be a shell function in order to 'eat' the argument
-# that is supplied when $file_magic_command is called.
-func_win32_libid ()
-{
- win32_libid_type="unknown"
- win32_fileres=`file -L $1 2>/dev/null`
- case $win32_fileres in
- *ar\ archive\ import\ library*) # definitely import
- win32_libid_type="x86 archive import"
- ;;
- *ar\ archive*) # could be an import, or static
- if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
- $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
- win32_nmres=`eval $NM -f posix -A $1 | \
- $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
- case $win32_nmres in
- import*) win32_libid_type="x86 archive import";;
- *) win32_libid_type="x86 archive static";;
- esac
- fi
- ;;
- *DLL*)
- win32_libid_type="x86 DLL"
- ;;
- *executable*) # but shell scripts are "executable" too...
- case $win32_fileres in
- *MS\ Windows\ PE\ Intel*)
- win32_libid_type="x86 DLL"
- ;;
- esac
- ;;
- esac
- $echo $win32_libid_type
-}
-
-
-# func_infer_tag arg
-# Infer tagged configuration to use if any are available and
-# if one wasn't chosen via the "--tag" command line option.
-# Only attempt this if the compiler in the base compile
-# command doesn't match the default compiler.
-# arg is usually of the form 'gcc ...'
-func_infer_tag ()
-{
- if test -n "$available_tags" && test -z "$tagname"; then
- CC_quoted=
- for arg in $CC; do
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- CC_quoted="$CC_quoted $arg"
- done
- case $@ in
- # Blanks in the command may have been stripped by the calling shell,
- # but not from the CC environment variable when configure was run.
- " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
- # Blanks at the start of $base_compile will cause this to fail
- # if we don't check for them as well.
- *)
- for z in $available_tags; do
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
- # Evaluate the configuration.
- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
- CC_quoted=
- for arg in $CC; do
- # Double-quote args containing other shell metacharacters.
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- CC_quoted="$CC_quoted $arg"
- done
- case "$@ " in
- " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
- # The compiler in the base compile command matches
- # the one in the tagged configuration.
- # Assume this is the tagged configuration we want.
- tagname=$z
- break
- ;;
- esac
- fi
- done
- # If $tagname still isn't set, then no tagged configuration
- # was found and let the user know that the "--tag" command
- # line option must be used.
- if test -z "$tagname"; then
- $echo "$modename: unable to infer tagged configuration"
- $echo "$modename: specify a tag with \`--tag'" 1>&2
- exit $EXIT_FAILURE
-# else
-# $echo "$modename: using $tagname tagged configuration"
- fi
- ;;
- esac
- fi
-}
-
-
-# func_extract_an_archive dir oldlib
-func_extract_an_archive ()
-{
- f_ex_an_ar_dir="$1"; shift
- f_ex_an_ar_oldlib="$1"
-
- $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
- $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
- if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
- :
- else
- $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
- exit $EXIT_FAILURE
- fi
-}
-
-# func_extract_archives gentop oldlib ...
-func_extract_archives ()
-{
- my_gentop="$1"; shift
- my_oldlibs=${1+"$@"}
- my_oldobjs=""
- my_xlib=""
- my_xabs=""
- my_xdir=""
- my_status=""
-
- $show "${rm}r $my_gentop"
- $run ${rm}r "$my_gentop"
- $show "$mkdir $my_gentop"
- $run $mkdir "$my_gentop"
- my_status=$?
- if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
- exit $my_status
- fi
-
- for my_xlib in $my_oldlibs; do
- # Extract the objects.
- case $my_xlib in
- [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
- *) my_xabs=`pwd`"/$my_xlib" ;;
- esac
- my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
- my_xdir="$my_gentop/$my_xlib"
-
- $show "${rm}r $my_xdir"
- $run ${rm}r "$my_xdir"
- $show "$mkdir $my_xdir"
- $run $mkdir "$my_xdir"
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
- exit $exit_status
- fi
- case $host in
- *-darwin*)
- $show "Extracting $my_xabs"
- # Do not bother doing anything if just a dry run
- if test -z "$run"; then
- darwin_orig_dir=`pwd`
- cd $my_xdir || exit $?
- darwin_archive=$my_xabs
- darwin_curdir=`pwd`
- darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
- darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
- if test -n "$darwin_arches"; then
- darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
- darwin_arch=
- $show "$darwin_base_archive has multiple architectures $darwin_arches"
- for darwin_arch in $darwin_arches ; do
- mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
- cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- func_extract_an_archive "`pwd`" "${darwin_base_archive}"
- cd "$darwin_curdir"
- $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
- done # $darwin_arches
- ## Okay now we have a bunch of thin objects, gotta fatten them up :)
- darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
- darwin_file=
- darwin_files=
- for darwin_file in $darwin_filelist; do
- darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
- lipo -create -output "$darwin_file" $darwin_files
- done # $darwin_filelist
- ${rm}r unfat-$$
- cd "$darwin_orig_dir"
- else
- cd "$darwin_orig_dir"
- func_extract_an_archive "$my_xdir" "$my_xabs"
- fi # $darwin_arches
- fi # $run
- ;;
- *)
- func_extract_an_archive "$my_xdir" "$my_xabs"
- ;;
- esac
- my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
- done
- func_extract_archives_result="$my_oldobjs"
-}
-# End of Shell function definitions
-#####################################
-
-# Darwin sucks
-eval std_shrext=\"$shrext_cmds\"
-
-disable_libs=no
-
-# Parse our command line options once, thoroughly.
-while test "$#" -gt 0
-do
- arg="$1"
- shift
-
- case $arg in
- -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
- *) optarg= ;;
- esac
-
- # If the previous option needs an argument, assign it.
- if test -n "$prev"; then
- case $prev in
- execute_dlfiles)
- execute_dlfiles="$execute_dlfiles $arg"
- ;;
- tag)
- tagname="$arg"
- preserve_args="${preserve_args}=$arg"
-
- # Check whether tagname contains only valid characters
- case $tagname in
- *[!-_A-Za-z0-9,/]*)
- $echo "$progname: invalid tag name: $tagname" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- case $tagname in
- CC)
- # Don't test for the "default" C tag, as we know, it's there, but
- # not specially marked.
- ;;
- *)
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
- taglist="$taglist $tagname"
- # Evaluate the configuration.
- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
- else
- $echo "$progname: ignoring unknown tag $tagname" 1>&2
- fi
- ;;
- esac
- ;;
- *)
- eval "$prev=\$arg"
- ;;
- esac
-
- prev=
- prevopt=
- continue
- fi
-
- # Have we seen a non-optional argument yet?
- case $arg in
- --help)
- show_help=yes
- ;;
-
- --version)
- $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
- $echo
- $echo "Copyright (C) 2005 Free Software Foundation, Inc."
- $echo "This is free software; see the source for copying conditions. There is NO"
- $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
- exit $?
- ;;
-
- --config)
- ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
- # Now print the configurations for the tags.
- for tagname in $taglist; do
- ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
- done
- exit $?
- ;;
-
- --debug)
- $echo "$progname: enabling shell trace mode"
- set -x
- preserve_args="$preserve_args $arg"
- ;;
-
- --dry-run | -n)
- run=:
- ;;
-
- --features)
- $echo "host: $host"
- if test "$build_libtool_libs" = yes; then
- $echo "enable shared libraries"
- else
- $echo "disable shared libraries"
- fi
- if test "$build_old_libs" = yes; then
- $echo "enable static libraries"
- else
- $echo "disable static libraries"
- fi
- exit $?
- ;;
-
- --finish) mode="finish" ;;
-
- --mode) prevopt="--mode" prev=mode ;;
- --mode=*) mode="$optarg" ;;
-
- --preserve-dup-deps) duplicate_deps="yes" ;;
-
- --quiet | --silent)
- show=:
- preserve_args="$preserve_args $arg"
- ;;
-
- --tag)
- prevopt="--tag"
- prev=tag
- preserve_args="$preserve_args --tag"
- ;;
- --tag=*)
- set tag "$optarg" ${1+"$@"}
- shift
- prev=tag
- preserve_args="$preserve_args --tag"
- ;;
-
- -dlopen)
- prevopt="-dlopen"
- prev=execute_dlfiles
- ;;
-
- -*)
- $echo "$modename: unrecognized option \`$arg'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
-
- *)
- nonopt="$arg"
- break
- ;;
- esac
-done
-
-if test -n "$prevopt"; then
- $echo "$modename: option \`$prevopt' requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
-fi
-
-case $disable_libs in
-no)
- ;;
-shared)
- build_libtool_libs=no
- build_old_libs=yes
- ;;
-static)
- build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
- ;;
-esac
-
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end. This prevents here-documents from being
-# left over by shells.
-exec_cmd=
-
-if test -z "$show_help"; then
-
- # Infer the operation mode.
- if test -z "$mode"; then
- $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
- $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
- case $nonopt in
- *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
- mode=link
- for arg
- do
- case $arg in
- -c)
- mode=compile
- break
- ;;
- esac
- done
- ;;
- *db | *dbx | *strace | *truss)
- mode=execute
- ;;
- *install*|cp|mv)
- mode=install
- ;;
- *rm)
- mode=uninstall
- ;;
- *)
- # If we have no mode, but dlfiles were specified, then do execute mode.
- test -n "$execute_dlfiles" && mode=execute
-
- # Just use the default operation mode.
- if test -z "$mode"; then
- if test -n "$nonopt"; then
- $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
- else
- $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
- fi
- fi
- ;;
- esac
- fi
-
- # Only execute mode is allowed to have -dlopen flags.
- if test -n "$execute_dlfiles" && test "$mode" != execute; then
- $echo "$modename: unrecognized option \`-dlopen'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Change the help message to a mode-specific one.
- generic_help="$help"
- help="Try \`$modename --help --mode=$mode' for more information."
-
- # These modes are in order of execution frequency so that they run quickly.
- case $mode in
- # libtool compile mode
- compile)
- modename="$modename: compile"
- # Get the compilation command and the source file.
- base_compile=
- srcfile="$nonopt" # always keep a non-empty value in "srcfile"
- suppress_opt=yes
- suppress_output=
- arg_mode=normal
- libobj=
- later=
-
- for arg
- do
- case $arg_mode in
- arg )
- # do not "continue". Instead, add this to base_compile
- lastarg="$arg"
- arg_mode=normal
- ;;
-
- target )
- libobj="$arg"
- arg_mode=normal
- continue
- ;;
-
- normal )
- # Accept any command-line options.
- case $arg in
- -o)
- if test -n "$libobj" ; then
- $echo "$modename: you cannot specify \`-o' more than once" 1>&2
- exit $EXIT_FAILURE
- fi
- arg_mode=target
- continue
- ;;
-
- -static | -prefer-pic | -prefer-non-pic)
- later="$later $arg"
- continue
- ;;
-
- -no-suppress)
- suppress_opt=no
- continue
- ;;
-
- -Xcompiler)
- arg_mode=arg # the next one goes into the "base_compile" arg list
- continue # The current "srcfile" will either be retained or
- ;; # replaced later. I would guess that would be a bug.
-
- -Wc,*)
- args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
- lastarg=
- save_ifs="$IFS"; IFS=','
- for arg in $args; do
- IFS="$save_ifs"
-
- # Double-quote args containing other shell metacharacters.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- lastarg="$lastarg $arg"
- done
- IFS="$save_ifs"
- lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
-
- # Add the arguments to base_compile.
- base_compile="$base_compile $lastarg"
- continue
- ;;
-
- * )
- # Accept the current argument as the source file.
- # The previous "srcfile" becomes the current argument.
- #
- lastarg="$srcfile"
- srcfile="$arg"
- ;;
- esac # case $arg
- ;;
- esac # case $arg_mode
-
- # Aesthetically quote the previous argument.
- lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
-
- case $lastarg in
- # Double-quote args containing other shell metacharacters.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, and some SunOS ksh mistreat backslash-escaping
- # in scan sets (worked around with variable expansion),
- # and furthermore cannot handle '|' '&' '(' ')' in scan sets
- # at all, so we specify them separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- lastarg="\"$lastarg\""
- ;;
- esac
-
- base_compile="$base_compile $lastarg"
- done # for arg
-
- case $arg_mode in
- arg)
- $echo "$modename: you must specify an argument for -Xcompile"
- exit $EXIT_FAILURE
- ;;
- target)
- $echo "$modename: you must specify a target with \`-o'" 1>&2
- exit $EXIT_FAILURE
- ;;
- *)
- # Get the name of the library object.
- [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
- ;;
- esac
-
- # Recognize several different file suffixes.
- # If the user specifies -o file.o, it is replaced with file.lo
- xform='[cCFSifmso]'
- case $libobj in
- *.ada) xform=ada ;;
- *.adb) xform=adb ;;
- *.ads) xform=ads ;;
- *.asm) xform=asm ;;
- *.c++) xform=c++ ;;
- *.cc) xform=cc ;;
- *.ii) xform=ii ;;
- *.class) xform=class ;;
- *.cpp) xform=cpp ;;
- *.cxx) xform=cxx ;;
- *.f90) xform=f90 ;;
- *.for) xform=for ;;
- *.java) xform=java ;;
- esac
-
- libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
-
- case $libobj in
- *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
- *)
- $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- func_infer_tag $base_compile
-
- for arg in $later; do
- case $arg in
- -static)
- build_old_libs=yes
- continue
- ;;
-
- -prefer-pic)
- pic_mode=yes
- continue
- ;;
-
- -prefer-non-pic)
- pic_mode=no
- continue
- ;;
- esac
- done
-
- qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
- case $qlibobj in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- qlibobj="\"$qlibobj\"" ;;
- esac
- test "X$libobj" != "X$qlibobj" \
- && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \
- && $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
- objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
- xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$obj"; then
- xdir=
- else
- xdir=$xdir/
- fi
- lobj=${xdir}$objdir/$objname
-
- if test -z "$base_compile"; then
- $echo "$modename: you must specify a compilation command" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Delete any leftover library objects.
- if test "$build_old_libs" = yes; then
- removelist="$obj $lobj $libobj ${libobj}T"
- else
- removelist="$lobj $libobj ${libobj}T"
- fi
-
- $run $rm $removelist
- trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
-
- # On Cygwin there's no "real" PIC flag so we must build both object types
- case $host_os in
- cygwin* | mingw* | pw32* | os2*)
- pic_mode=default
- ;;
- esac
- if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
- # non-PIC code in shared libraries is not supported
- pic_mode=default
- fi
-
- # Calculate the filename of the output object if compiler does
- # not support -o with -c
- if test "$compiler_c_o" = no; then
- output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
- lockfile="$output_obj.lock"
- removelist="$removelist $output_obj $lockfile"
- trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
- else
- output_obj=
- need_locks=no
- lockfile=
- fi
-
- # Lock this critical section if it is needed
- # We use this script file to make the link, it avoids creating a new file
- if test "$need_locks" = yes; then
- until $run ln "$progpath" "$lockfile" 2>/dev/null; do
- $show "Waiting for $lockfile to be removed"
- sleep 2
- done
- elif test "$need_locks" = warn; then
- if test -f "$lockfile"; then
- $echo "\
-*** ERROR, $lockfile exists and contains:
-`cat $lockfile 2>/dev/null`
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
- $run $rm $removelist
- exit $EXIT_FAILURE
- fi
- $echo "$srcfile" > "$lockfile"
- fi
-
- if test -n "$fix_srcfile_path"; then
- eval srcfile=\"$fix_srcfile_path\"
- fi
- qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
- case $qsrcfile in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- qsrcfile="\"$qsrcfile\"" ;;
- esac
-
- $run $rm "$libobj" "${libobj}T"
-
- # Create a libtool object file (analogous to a ".la" file),
- # but don't create it if we're doing a dry run.
- test -z "$run" && cat > ${libobj}T <<EOF
-# $libobj - a libtool object file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# Name of the PIC object.
-EOF
-
- # Only build a PIC object if we are building libtool libraries.
- if test "$build_libtool_libs" = yes; then
- # Without this assignment, base_compile gets emptied.
- fbsd_hideous_sh_bug=$base_compile
-
- if test "$pic_mode" != no; then
- command="$base_compile $qsrcfile $pic_flag"
- else
- # Don't build PIC code
- command="$base_compile $qsrcfile"
- fi
-
- if test ! -d "${xdir}$objdir"; then
- $show "$mkdir ${xdir}$objdir"
- $run $mkdir ${xdir}$objdir
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
- exit $exit_status
- fi
- fi
-
- if test -z "$output_obj"; then
- # Place PIC objects in $objdir
- command="$command -o $lobj"
- fi
-
- $run $rm "$lobj" "$output_obj"
-
- $show "$command"
- if $run eval "$command"; then :
- else
- test -n "$output_obj" && $run $rm $removelist
- exit $EXIT_FAILURE
- fi
-
- if test "$need_locks" = warn &&
- test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- $echo "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
- $run $rm $removelist
- exit $EXIT_FAILURE
- fi
-
- # Just move the object if needed, then go on to compile the next one
- if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
- $show "$mv $output_obj $lobj"
- if $run $mv $output_obj $lobj; then :
- else
- error=$?
- $run $rm $removelist
- exit $error
- fi
- fi
-
- # Append the name of the PIC object to the libtool object file.
- test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object='$objdir/$objname'
-
-EOF
-
- # Allow error messages only from the first compilation.
- if test "$suppress_opt" = yes; then
- suppress_output=' >/dev/null 2>&1'
- fi
- else
- # No PIC object so indicate it doesn't exist in the libtool
- # object file.
- test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object=none
-
-EOF
- fi
-
- # Only build a position-dependent object if we build old libraries.
- if test "$build_old_libs" = yes; then
- if test "$pic_mode" != yes; then
- # Don't build PIC code
- command="$base_compile $qsrcfile"
- else
- command="$base_compile $qsrcfile $pic_flag"
- fi
- if test "$compiler_c_o" = yes; then
- command="$command -o $obj"
- fi
-
- # Suppress compiler output if we already did a PIC compilation.
- command="$command$suppress_output"
- $run $rm "$obj" "$output_obj"
- $show "$command"
- if $run eval "$command"; then :
- else
- $run $rm $removelist
- exit $EXIT_FAILURE
- fi
-
- if test "$need_locks" = warn &&
- test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- $echo "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
- $run $rm $removelist
- exit $EXIT_FAILURE
- fi
-
- # Just move the object if needed
- if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
- $show "$mv $output_obj $obj"
- if $run $mv $output_obj $obj; then :
- else
- error=$?
- $run $rm $removelist
- exit $error
- fi
- fi
-
- # Append the name of the non-PIC object the libtool object file.
- # Only append if the libtool object file exists.
- test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object='$objname'
-
-EOF
- else
- # Append the name of the non-PIC object the libtool object file.
- # Only append if the libtool object file exists.
- test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object=none
-
-EOF
- fi
-
- $run $mv "${libobj}T" "${libobj}"
-
- # Unlock the critical section if it was locked
- if test "$need_locks" != no; then
- $run $rm "$lockfile"
- fi
-
- exit $EXIT_SUCCESS
- ;;
-
- # libtool link mode
- link | relink)
- modename="$modename: link"
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- # It is impossible to link a dll without this setting, and
- # we shouldn't force the makefile maintainer to figure out
- # which system we are compiling for in order to pass an extra
- # flag for every libtool invocation.
- # allow_undefined=no
-
- # FIXME: Unfortunately, there are problems with the above when trying
- # to make a dll which has undefined symbols, in which case not
- # even a static library is built. For now, we need to specify
- # -no-undefined on the libtool link line when we can be certain
- # that all symbols are satisfied, otherwise we get a static library.
- allow_undefined=yes
- ;;
- *)
- allow_undefined=yes
- ;;
- esac
- libtool_args="$nonopt"
- base_compile="$nonopt $@"
- compile_command="$nonopt"
- finalize_command="$nonopt"
-
- compile_rpath=
- finalize_rpath=
- compile_shlibpath=
- finalize_shlibpath=
- convenience=
- old_convenience=
- deplibs=
- old_deplibs=
- compiler_flags=
- linker_flags=
- dllsearchpath=
- lib_search_path=`pwd`
- inst_prefix_dir=
-
- avoid_version=no
- dlfiles=
- dlprefiles=
- dlself=no
- export_dynamic=no
- export_symbols=
- export_symbols_regex=
- generated=
- libobjs=
- ltlibs=
- module=no
- no_install=no
- objs=
- non_pic_objects=
- notinst_path= # paths that contain not-installed libtool libraries
- precious_files_regex=
- prefer_static_libs=no
- preload=no
- prev=
- prevarg=
- release=
- rpath=
- xrpath=
- perm_rpath=
- temp_rpath=
- thread_safe=no
- vinfo=
- vinfo_number=no
-
- func_infer_tag $base_compile
-
- # We need to know -static, to get the right output filenames.
- for arg
- do
- case $arg in
- -all-static | -static)
- if test "X$arg" = "X-all-static"; then
- if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
- $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
- fi
- if test -n "$link_static_flag"; then
- dlopen_self=$dlopen_self_static
- fi
- prefer_static_libs=yes
- else
- if test -z "$pic_flag" && test -n "$link_static_flag"; then
- dlopen_self=$dlopen_self_static
- fi
- prefer_static_libs=built
- fi
- build_libtool_libs=no
- build_old_libs=yes
- break
- ;;
- esac
- done
-
- # See if our shared archives depend on static archives.
- test -n "$old_archive_from_new_cmds" && build_old_libs=yes
-
- # Go through the arguments, transforming them on the way.
- while test "$#" -gt 0; do
- arg="$1"
- shift
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
- ;;
- *) qarg=$arg ;;
- esac
- libtool_args="$libtool_args $qarg"
-
- # If the previous option needs an argument, assign it.
- if test -n "$prev"; then
- case $prev in
- output)
- compile_command="$compile_command @OUTPUT@"
- finalize_command="$finalize_command @OUTPUT@"
- ;;
- esac
-
- case $prev in
- dlfiles|dlprefiles)
- if test "$preload" = no; then
- # Add the symbol object into the linking commands.
- compile_command="$compile_command @SYMFILE@"
- finalize_command="$finalize_command @SYMFILE@"
- preload=yes
- fi
- case $arg in
- *.la | *.lo) ;; # We handle these cases below.
- force)
- if test "$dlself" = no; then
- dlself=needless
- export_dynamic=yes
- fi
- prev=
- continue
- ;;
- self)
- if test "$prev" = dlprefiles; then
- dlself=yes
- elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
- dlself=yes
- else
- dlself=needless
- export_dynamic=yes
- fi
- prev=
- continue
- ;;
- *)
- if test "$prev" = dlfiles; then
- dlfiles="$dlfiles $arg"
- else
- dlprefiles="$dlprefiles $arg"
- fi
- prev=
- continue
- ;;
- esac
- ;;
- expsyms)
- export_symbols="$arg"
- if test ! -f "$arg"; then
- $echo "$modename: symbol file \`$arg' does not exist"
- exit $EXIT_FAILURE
- fi
- prev=
- continue
- ;;
- expsyms_regex)
- export_symbols_regex="$arg"
- prev=
- continue
- ;;
- inst_prefix)
- inst_prefix_dir="$arg"
- prev=
- continue
- ;;
- precious_regex)
- precious_files_regex="$arg"
- prev=
- continue
- ;;
- release)
- release="-$arg"
- prev=
- continue
- ;;
- objectlist)
- if test -f "$arg"; then
- save_arg=$arg
- moreargs=
- for fil in `cat $save_arg`
- do
-# moreargs="$moreargs $fil"
- arg=$fil
- # A libtool-controlled object.
-
- # Check to see that this really is a libtool object.
- if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- pic_object=
- non_pic_object=
-
- # Read the .lo file
- # If there is no directory component, then add one.
- case $arg in
- */* | *\\*) . $arg ;;
- *) . ./$arg ;;
- esac
-
- if test -z "$pic_object" || \
- test -z "$non_pic_object" ||
- test "$pic_object" = none && \
- test "$non_pic_object" = none; then
- $echo "$modename: cannot find name of object for \`$arg'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
-
- if test "$pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
-
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
- dlfiles="$dlfiles $pic_object"
- prev=
- continue
- else
- # If libtool objects are unsupported, then we need to preload.
- prev=dlprefiles
- fi
- fi
-
- # CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
- # Preload the old-style object.
- dlprefiles="$dlprefiles $pic_object"
- prev=
- fi
-
- # A PIC object.
- libobjs="$libobjs $pic_object"
- arg="$pic_object"
- fi
-
- # Non-PIC object.
- if test "$non_pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
-
- # A standard non-PIC object
- non_pic_objects="$non_pic_objects $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
- fi
- else
- # If the PIC object exists, use it instead.
- # $xdir was prepended to $pic_object above.
- non_pic_object="$pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
- fi
- else
- # Only an error if not doing a dry-run.
- if test -z "$run"; then
- $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
- exit $EXIT_FAILURE
- else
- # Dry-run case.
-
- # Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
-
- pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
- non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
- libobjs="$libobjs $pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
- fi
- fi
- done
- else
- $echo "$modename: link input file \`$save_arg' does not exist"
- exit $EXIT_FAILURE
- fi
- arg=$save_arg
- prev=
- continue
- ;;
- rpath | xrpath)
- # We need an absolute path.
- case $arg in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- $echo "$modename: only absolute run-paths are allowed" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- if test "$prev" = rpath; then
- case "$rpath " in
- *" $arg "*) ;;
- *) rpath="$rpath $arg" ;;
- esac
- else
- case "$xrpath " in
- *" $arg "*) ;;
- *) xrpath="$xrpath $arg" ;;
- esac
- fi
- prev=
- continue
- ;;
- xcompiler)
- compiler_flags="$compiler_flags $qarg"
- prev=
- compile_command="$compile_command $qarg"
- finalize_command="$finalize_command $qarg"
- continue
- ;;
- xlinker)
- linker_flags="$linker_flags $qarg"
- compiler_flags="$compiler_flags $wl$qarg"
- prev=
- compile_command="$compile_command $wl$qarg"
- finalize_command="$finalize_command $wl$qarg"
- continue
- ;;
- xcclinker)
- linker_flags="$linker_flags $qarg"
- compiler_flags="$compiler_flags $qarg"
- prev=
- compile_command="$compile_command $qarg"
- finalize_command="$finalize_command $qarg"
- continue
- ;;
- shrext)
- shrext_cmds="$arg"
- prev=
- continue
- ;;
- darwin_framework|darwin_framework_skip)
- test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- prev=
- continue
- ;;
- *)
- eval "$prev=\"\$arg\""
- prev=
- continue
- ;;
- esac
- fi # test -n "$prev"
-
- prevarg="$arg"
-
- case $arg in
- -all-static)
- if test -n "$link_static_flag"; then
- compile_command="$compile_command $link_static_flag"
- finalize_command="$finalize_command $link_static_flag"
- fi
- continue
- ;;
-
- -allow-undefined)
- # FIXME: remove this flag sometime in the future.
- $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
- continue
- ;;
-
- -avoid-version)
- avoid_version=yes
- continue
- ;;
-
- -dlopen)
- prev=dlfiles
- continue
- ;;
-
- -dlpreopen)
- prev=dlprefiles
- continue
- ;;
-
- -export-dynamic)
- export_dynamic=yes
- continue
- ;;
-
- -export-symbols | -export-symbols-regex)
- if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
- $echo "$modename: more than one -exported-symbols argument is not allowed"
- exit $EXIT_FAILURE
- fi
- if test "X$arg" = "X-export-symbols"; then
- prev=expsyms
- else
- prev=expsyms_regex
- fi
- continue
- ;;
-
- -framework|-arch|-isysroot)
- case " $CC " in
- *" ${arg} ${1} "* | *" ${arg} ${1} "*)
- prev=darwin_framework_skip ;;
- *) compiler_flags="$compiler_flags $arg"
- prev=darwin_framework ;;
- esac
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- continue
- ;;
-
- -inst-prefix-dir)
- prev=inst_prefix
- continue
- ;;
-
- # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
- # so, if we see these flags be careful not to treat them like -L
- -L[A-Z][A-Z]*:*)
- case $with_gcc/$host in
- no/*-*-irix* | /*-*-irix*)
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- ;;
- esac
- continue
- ;;
-
- -L*)
- dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- absdir=`cd "$dir" && pwd`
- if test -z "$absdir"; then
- $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
- absdir="$dir"
- notinst_path="$notinst_path $dir"
- fi
- dir="$absdir"
- ;;
- esac
- case "$deplibs " in
- *" -L$dir "*) ;;
- *)
- deplibs="$deplibs -L$dir"
- lib_search_path="$lib_search_path $dir"
- ;;
- esac
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
- case :$dllsearchpath: in
- *":$dir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$dir";;
- esac
- case :$dllsearchpath: in
- *":$testbindir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$testbindir";;
- esac
- ;;
- esac
- continue
- ;;
-
- -l*)
- if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
- # These systems don't actually have a C or math library (as such)
- continue
- ;;
- *-*-os2*)
- # These systems don't actually have a C library (as such)
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc due to us having libc/libc_r.
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-rhapsody* | *-*-darwin1.[012])
- # Rhapsody C and math libraries are in the System framework
- deplibs="$deplibs -framework System"
- continue
- ;;
- *-*-sco3.2v5* | *-*-sco5v6*)
- # Causes problems with __ctype
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
- # Compiler inserts libc in the correct place for threads to work
- test "X$arg" = "X-lc" && continue
- ;;
- esac
- elif test "X$arg" = "X-lc_r"; then
- case $host in
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc_r directly, use -pthread flag.
- continue
- ;;
- esac
- fi
- deplibs="$deplibs $arg"
- continue
- ;;
-
- # Tru64 UNIX uses -model [arg] to determine the layout of C++
- # classes, name mangling, and exception handling.
- -model)
- compile_command="$compile_command $arg"
- compiler_flags="$compiler_flags $arg"
- finalize_command="$finalize_command $arg"
- prev=xcompiler
- continue
- ;;
-
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
- compiler_flags="$compiler_flags $arg"
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- continue
- ;;
-
- -module)
- module=yes
- continue
- ;;
-
- # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
- # -r[0-9][0-9]* specifies the processor on the SGI compiler
- # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
- # +DA*, +DD* enable 64-bit mode on the HP compiler
- # -q* pass through compiler args for the IBM compiler
- # -m* pass through architecture-specific compiler args for GCC
- # -m*, -t[45]*, -txscale* pass through architecture-specific
- # compiler args for GCC
- # -pg pass through profiling flag for GCC
- # @file GCC response files
- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \
- -t[45]*|-txscale*|@*)
-
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- compiler_flags="$compiler_flags $arg"
- continue
- ;;
-
- -shrext)
- prev=shrext
- continue
- ;;
-
- -no-fast-install)
- fast_install=no
- continue
- ;;
-
- -no-install)
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- # The PATH hackery in wrapper scripts is required on Windows
- # in order for the loader to find any dlls it needs.
- $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
- $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
- fast_install=no
- ;;
- *) no_install=yes ;;
- esac
- continue
- ;;
-
- -no-undefined)
- allow_undefined=no
- continue
- ;;
-
- -objectlist)
- prev=objectlist
- continue
- ;;
-
- -o) prev=output ;;
-
- -precious-files-regex)
- prev=precious_regex
- continue
- ;;
-
- -release)
- prev=release
- continue
- ;;
-
- -rpath)
- prev=rpath
- continue
- ;;
-
- -R)
- prev=xrpath
- continue
- ;;
-
- -R*)
- dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- $echo "$modename: only absolute run-paths are allowed" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- case "$xrpath " in
- *" $dir "*) ;;
- *) xrpath="$xrpath $dir" ;;
- esac
- continue
- ;;
-
- -static)
- # The effects of -static are defined in a previous loop.
- # We used to do the same as -all-static on platforms that
- # didn't have a PIC flag, but the assumption that the effects
- # would be equivalent was wrong. It would break on at least
- # Digital Unix and AIX.
- continue
- ;;
-
- -thread-safe)
- thread_safe=yes
- continue
- ;;
-
- -version-info)
- prev=vinfo
- continue
- ;;
- -version-number)
- prev=vinfo
- vinfo_number=yes
- continue
- ;;
-
- -Wc,*)
- args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
- arg=
- save_ifs="$IFS"; IFS=','
- for flag in $args; do
- IFS="$save_ifs"
- case $flag in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- flag="\"$flag\""
- ;;
- esac
- arg="$arg $wl$flag"
- compiler_flags="$compiler_flags $flag"
- done
- IFS="$save_ifs"
- arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
- ;;
-
- -Wl,*)
- args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
- arg=
- save_ifs="$IFS"; IFS=','
- for flag in $args; do
- IFS="$save_ifs"
- case $flag in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- flag="\"$flag\""
- ;;
- esac
- arg="$arg $wl$flag"
- compiler_flags="$compiler_flags $wl$flag"
- linker_flags="$linker_flags $flag"
- done
- IFS="$save_ifs"
- arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
- ;;
-
- -Xcompiler)
- prev=xcompiler
- continue
- ;;
-
- -Xlinker)
- prev=xlinker
- continue
- ;;
-
- -XCClinker)
- prev=xcclinker
- continue
- ;;
-
- # Some other compiler flag.
- -* | +*)
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- ;;
-
- *.$objext)
- # A standard object.
- objs="$objs $arg"
- ;;
-
- *.lo)
- # A libtool-controlled object.
-
- # Check to see that this really is a libtool object.
- if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- pic_object=
- non_pic_object=
-
- # Read the .lo file
- # If there is no directory component, then add one.
- case $arg in
- */* | *\\*) . $arg ;;
- *) . ./$arg ;;
- esac
-
- if test -z "$pic_object" || \
- test -z "$non_pic_object" ||
- test "$pic_object" = none && \
- test "$non_pic_object" = none; then
- $echo "$modename: cannot find name of object for \`$arg'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
-
- if test "$pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
-
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
- dlfiles="$dlfiles $pic_object"
- prev=
- continue
- else
- # If libtool objects are unsupported, then we need to preload.
- prev=dlprefiles
- fi
- fi
-
- # CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
- # Preload the old-style object.
- dlprefiles="$dlprefiles $pic_object"
- prev=
- fi
-
- # A PIC object.
- libobjs="$libobjs $pic_object"
- arg="$pic_object"
- fi
-
- # Non-PIC object.
- if test "$non_pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
-
- # A standard non-PIC object
- non_pic_objects="$non_pic_objects $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
- fi
- else
- # If the PIC object exists, use it instead.
- # $xdir was prepended to $pic_object above.
- non_pic_object="$pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
- fi
- else
- # Only an error if not doing a dry-run.
- if test -z "$run"; then
- $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
- exit $EXIT_FAILURE
- else
- # Dry-run case.
-
- # Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
-
- pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
- non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
- libobjs="$libobjs $pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
- fi
- fi
- ;;
-
- *.$libext)
- # An archive.
- deplibs="$deplibs $arg"
- old_deplibs="$old_deplibs $arg"
- continue
- ;;
-
- *.la)
- # A libtool-controlled library.
-
- if test "$prev" = dlfiles; then
- # This library was specified with -dlopen.
- dlfiles="$dlfiles $arg"
- prev=
- elif test "$prev" = dlprefiles; then
- # The library was specified with -dlpreopen.
- dlprefiles="$dlprefiles $arg"
- prev=
- else
- deplibs="$deplibs $arg"
- fi
- continue
- ;;
-
- # Some other compiler argument.
- *)
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- ;;
- esac # arg
-
- # Now actually substitute the argument into the commands.
- if test -n "$arg"; then
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- fi
- done # argument parsing loop
-
- if test -n "$prev"; then
- $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
- eval arg=\"$export_dynamic_flag_spec\"
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- fi
-
- oldlibs=
- # calculate the name of the file, without its directory
- outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
- libobjs_save="$libobjs"
-
- if test -n "$shlibpath_var"; then
- # get the directories listed in $shlibpath_var
- eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
- else
- shlib_search_path=
- fi
- eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
- eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
-
- output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$output_objdir" = "X$output"; then
- output_objdir="$objdir"
- else
- output_objdir="$output_objdir/$objdir"
- fi
- # Create the object directory.
- if test ! -d "$output_objdir"; then
- $show "$mkdir $output_objdir"
- $run $mkdir $output_objdir
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
- exit $exit_status
- fi
- fi
-
- # Determine the type of output
- case $output in
- "")
- $echo "$modename: you must specify an output file" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
- *.$libext) linkmode=oldlib ;;
- *.lo | *.$objext) linkmode=obj ;;
- *.la) linkmode=lib ;;
- *) linkmode=prog ;; # Anything else should be a program.
- esac
-
- case $host in
- *cygwin* | *mingw* | *pw32*)
- # don't eliminate duplications in $postdeps and $predeps
- duplicate_compiler_generated_deps=yes
- ;;
- *)
- duplicate_compiler_generated_deps=$duplicate_deps
- ;;
- esac
- specialdeplibs=
-
- libs=
- # Find all interdependent deplibs by searching for libraries
- # that are linked more than once (e.g. -la -lb -la)
- for deplib in $deplibs; do
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- libs="$libs $deplib"
- done
-
- if test "$linkmode" = lib; then
- libs="$predeps $libs $compiler_lib_search_path $postdeps"
-
- # Compute libraries that are listed more than once in $predeps
- # $postdeps and mark them as special (i.e., whose duplicates are
- # not to be eliminated).
- pre_post_deps=
- if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
- for pre_post_dep in $predeps $postdeps; do
- case "$pre_post_deps " in
- *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
- esac
- pre_post_deps="$pre_post_deps $pre_post_dep"
- done
- fi
- pre_post_deps=
- fi
-
- deplibs=
- newdependency_libs=
- newlib_search_path=
- need_relink=no # whether we're linking any uninstalled libtool libraries
- notinst_deplibs= # not-installed libtool libraries
- case $linkmode in
- lib)
- passes="conv link"
- for file in $dlfiles $dlprefiles; do
- case $file in
- *.la) ;;
- *)
- $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- done
- ;;
- prog)
- compile_deplibs=
- finalize_deplibs=
- alldeplibs=no
- newdlfiles=
- newdlprefiles=
- passes="conv scan dlopen dlpreopen link"
- ;;
- *) passes="conv"
- ;;
- esac
- for pass in $passes; do
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan"; then
- libs="$deplibs"
- deplibs=
- fi
- if test "$linkmode" = prog; then
- case $pass in
- dlopen) libs="$dlfiles" ;;
- dlpreopen) libs="$dlprefiles" ;;
- link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
- esac
- fi
- if test "$pass" = dlopen; then
- # Collect dlpreopened libraries
- save_deplibs="$deplibs"
- deplibs=
- fi
- for deplib in $libs; do
- lib=
- found=no
- case $deplib in
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- compiler_flags="$compiler_flags $deplib"
- fi
- continue
- ;;
- -l*)
- if test "$linkmode" != lib && test "$linkmode" != prog; then
- $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
- continue
- fi
- name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
- for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
- for search_ext in .la $std_shrext .so .a; do
- # Search the libtool library
- lib="$searchdir/lib${name}${search_ext}"
- if test -f "$lib"; then
- if test "$search_ext" = ".la"; then
- found=yes
- else
- found=no
- fi
- break 2
- fi
- done
- done
- if test "$found" != yes; then
- # deplib doesn't seem to be a libtool library
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
- fi
- continue
- else # deplib is a libtool library
- # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
- # We need to do some special things here, and not later.
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $deplib "*)
- if (${SED} -e '2q' $lib |
- grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- library_names=
- old_library=
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
- for l in $old_library $library_names; do
- ll="$l"
- done
- if test "X$ll" = "X$old_library" ; then # only static version available
- found=no
- ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$ladir" = "X$lib" && ladir="."
- lib=$ladir/$old_library
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
- fi
- continue
- fi
- fi
- ;;
- *) ;;
- esac
- fi
- fi
- ;; # -l
- -L*)
- case $linkmode in
- lib)
- deplibs="$deplib $deplibs"
- test "$pass" = conv && continue
- newdependency_libs="$deplib $newdependency_libs"
- newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
- ;;
- prog)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- continue
- fi
- if test "$pass" = scan; then
- deplibs="$deplib $deplibs"
- else
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- fi
- newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
- ;;
- *)
- $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
- ;;
- esac # linkmode
- continue
- ;; # -L
- -R*)
- if test "$pass" = link; then
- dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
- # Make sure the xrpath contains only unique directories.
- case "$xrpath " in
- *" $dir "*) ;;
- *) xrpath="$xrpath $dir" ;;
- esac
- fi
- deplibs="$deplib $deplibs"
- continue
- ;;
- *.la) lib="$deplib" ;;
- *.$libext)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- continue
- fi
- case $linkmode in
- lib)
- valid_a_lib=no
- case $deplibs_check_method in
- match_pattern*)
- set dummy $deplibs_check_method
- match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
- if eval $echo \"$deplib\" 2>/dev/null \
- | $SED 10q \
- | $EGREP "$match_pattern_regex" > /dev/null; then
- valid_a_lib=yes
- fi
- ;;
- pass_all)
- valid_a_lib=yes
- ;;
- esac
- if test "$valid_a_lib" != yes; then
- $echo
- $echo "*** Warning: Trying to link with static lib archive $deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because the file extensions .$libext of this argument makes me believe"
- $echo "*** that it is just a static archive that I should not used here."
- else
- $echo
- $echo "*** Warning: Linking the shared library $output against the"
- $echo "*** static library $deplib is not portable!"
- deplibs="$deplib $deplibs"
- fi
- continue
- ;;
- prog)
- if test "$pass" != link; then
- deplibs="$deplib $deplibs"
- else
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- fi
- continue
- ;;
- esac # linkmode
- ;; # *.$libext
- *.lo | *.$objext)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- elif test "$linkmode" = prog; then
- if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
- # If there is no dlopen support or we're linking statically,
- # we need to preload.
- newdlprefiles="$newdlprefiles $deplib"
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- newdlfiles="$newdlfiles $deplib"
- fi
- fi
- continue
- ;;
- %DEPLIBS%)
- alldeplibs=yes
- continue
- ;;
- esac # case $deplib
- if test "$found" = yes || test -f "$lib"; then :
- else
- $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
-
- ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$ladir" = "X$lib" && ladir="."
-
- dlname=
- dlopen=
- dlpreopen=
- libdir=
- library_names=
- old_library=
- # If the library was installed with an old release of libtool,
- # it will not redefine variables installed, or shouldnotlink
- installed=yes
- shouldnotlink=no
- avoidtemprpath=
-
-
- # Read the .la file
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
-
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan" ||
- { test "$linkmode" != prog && test "$linkmode" != lib; }; then
- test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
- test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
- fi
-
- if test "$pass" = conv; then
- # Only check for convenience libraries
- deplibs="$lib $deplibs"
- if test -z "$libdir"; then
- if test -z "$old_library"; then
- $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
- exit $EXIT_FAILURE
- fi
- # It is a libtool convenience library, so add in its objects.
- convenience="$convenience $ladir/$objdir/$old_library"
- old_convenience="$old_convenience $ladir/$objdir/$old_library"
- tmp_libs=
- for deplib in $dependency_libs; do
- deplibs="$deplib $deplibs"
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done
- elif test "$linkmode" != prog && test "$linkmode" != lib; then
- $echo "$modename: \`$lib' is not a convenience library" 1>&2
- exit $EXIT_FAILURE
- fi
- continue
- fi # $pass = conv
-
-
- # Get the name of the library we link against.
- linklib=
- for l in $old_library $library_names; do
- linklib="$l"
- done
- if test -z "$linklib"; then
- $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # This library was specified with -dlopen.
- if test "$pass" = dlopen; then
- if test -z "$libdir"; then
- $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
- exit $EXIT_FAILURE
- fi
- if test -z "$dlname" ||
- test "$dlopen_support" != yes ||
- test "$build_libtool_libs" = no; then
- # If there is no dlname, no dlopen support or we're linking
- # statically, we need to preload. We also need to preload any
- # dependent libraries so libltdl's deplib preloader doesn't
- # bomb out in the load deplibs phase.
- dlprefiles="$dlprefiles $lib $dependency_libs"
- else
- newdlfiles="$newdlfiles $lib"
- fi
- continue
- fi # $pass = dlopen
-
- # We need an absolute path.
- case $ladir in
- [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
- *)
- abs_ladir=`cd "$ladir" && pwd`
- if test -z "$abs_ladir"; then
- $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
- $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
- abs_ladir="$ladir"
- fi
- ;;
- esac
- laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
-
- # Find the relevant object directory and library name.
- if test "X$installed" = Xyes; then
- if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- $echo "$modename: warning: library \`$lib' was moved." 1>&2
- dir="$ladir"
- absdir="$abs_ladir"
- libdir="$abs_ladir"
- else
- dir="$libdir"
- absdir="$libdir"
- fi
- test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
- else
- if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- dir="$ladir"
- absdir="$abs_ladir"
- # Remove this search path later
- notinst_path="$notinst_path $abs_ladir"
- else
- dir="$ladir/$objdir"
- absdir="$abs_ladir/$objdir"
- # Remove this search path later
- notinst_path="$notinst_path $abs_ladir"
- fi
- fi # $installed = yes
- name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
-
- # This library was specified with -dlpreopen.
- if test "$pass" = dlpreopen; then
- if test -z "$libdir"; then
- $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
- exit $EXIT_FAILURE
- fi
- # Prefer using a static library (so that no silly _DYNAMIC symbols
- # are required to link).
- if test -n "$old_library"; then
- newdlprefiles="$newdlprefiles $dir/$old_library"
- # Otherwise, use the dlname, so that lt_dlopen finds it.
- elif test -n "$dlname"; then
- newdlprefiles="$newdlprefiles $dir/$dlname"
- else
- newdlprefiles="$newdlprefiles $dir/$linklib"
- fi
- fi # $pass = dlpreopen
-
- if test -z "$libdir"; then
- # Link the convenience library
- if test "$linkmode" = lib; then
- deplibs="$dir/$old_library $deplibs"
- elif test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$dir/$old_library $compile_deplibs"
- finalize_deplibs="$dir/$old_library $finalize_deplibs"
- else
- deplibs="$lib $deplibs" # used for prog,scan pass
- fi
- continue
- fi
-
-
- if test "$linkmode" = prog && test "$pass" != link; then
- newlib_search_path="$newlib_search_path $ladir"
- deplibs="$lib $deplibs"
-
- linkalldeplibs=no
- if test "$link_all_deplibs" != no || test -z "$library_names" ||
- test "$build_libtool_libs" = no; then
- linkalldeplibs=yes
- fi
-
- tmp_libs=
- for deplib in $dependency_libs; do
- case $deplib in
- -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
- esac
- # Need to link against all dependency_libs?
- if test "$linkalldeplibs" = yes; then
- deplibs="$deplib $deplibs"
- else
- # Need to hardcode shared library paths
- # or/and link against static libraries
- newdependency_libs="$deplib $newdependency_libs"
- fi
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done # for deplib
- continue
- fi # $linkmode = prog...
-
- if test "$linkmode,$pass" = "prog,link"; then
- if test -n "$library_names" &&
- { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
- # We need to hardcode the library path
- if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
- # Make sure the rpath contains only unique directories.
- case "$temp_rpath " in
- *" $dir "*) ;;
- *" $absdir "*) ;;
- *) temp_rpath="$temp_rpath $absdir" ;;
- esac
- fi
-
- # Hardcode the library path.
- # Skip directories that are in the system default run-time
- # search path.
- case " $sys_lib_dlsearch_path " in
- *" $absdir "*) ;;
- *)
- case "$compile_rpath " in
- *" $absdir "*) ;;
- *) compile_rpath="$compile_rpath $absdir"
- esac
- ;;
- esac
- case " $sys_lib_dlsearch_path " in
- *" $libdir "*) ;;
- *)
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir"
- esac
- ;;
- esac
- fi # $linkmode,$pass = prog,link...
-
- if test "$alldeplibs" = yes &&
- { test "$deplibs_check_method" = pass_all ||
- { test "$build_libtool_libs" = yes &&
- test -n "$library_names"; }; }; then
- # We only need to search for static libraries
- continue
- fi
- fi
-
- link_static=no # Whether the deplib will be linked statically
- use_static_libs=$prefer_static_libs
- if test "$use_static_libs" = built && test "$installed" = yes ; then
- use_static_libs=no
- fi
- if test -n "$library_names" &&
- { test "$use_static_libs" = no || test -z "$old_library"; }; then
- if test "$installed" = no; then
- notinst_deplibs="$notinst_deplibs $lib"
- need_relink=yes
- fi
- # This is a shared library
-
- # Warn about portability, can't link against -module's on
- # some systems (darwin)
- if test "$shouldnotlink" = yes && test "$pass" = link ; then
- $echo
- if test "$linkmode" = prog; then
- $echo "*** Warning: Linking the executable $output against the loadable module"
- else
- $echo "*** Warning: Linking the shared library $output against the loadable module"
- fi
- $echo "*** $linklib is not portable!"
- fi
- if test "$linkmode" = lib &&
- test "$hardcode_into_libs" = yes; then
- # Hardcode the library path.
- # Skip directories that are in the system default run-time
- # search path.
- case " $sys_lib_dlsearch_path " in
- *" $absdir "*) ;;
- *)
- case "$compile_rpath " in
- *" $absdir "*) ;;
- *) compile_rpath="$compile_rpath $absdir"
- esac
- ;;
- esac
- case " $sys_lib_dlsearch_path " in
- *" $libdir "*) ;;
- *)
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir"
- esac
- ;;
- esac
- fi
-
- if test -n "$old_archive_from_expsyms_cmds"; then
- # figure out the soname
- set dummy $library_names
- realname="$2"
- shift; shift
- libname=`eval \\$echo \"$libname_spec\"`
- # use dlname if we got it. it's perfectly good, no?
- if test -n "$dlname"; then
- soname="$dlname"
- elif test -n "$soname_spec"; then
- # bleh windows
- case $host in
- *cygwin* | mingw*)
- major=`expr $current - $age`
- versuffix="-$major"
- ;;
- esac
- eval soname=\"$soname_spec\"
- else
- soname="$realname"
- fi
-
- # Make a new name for the extract_expsyms_cmds to use
- soroot="$soname"
- soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
- newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
-
- # If the library has no export list, then create one now
- if test -f "$output_objdir/$soname-def"; then :
- else
- $show "extracting exported symbol list from \`$soname'"
- save_ifs="$IFS"; IFS='~'
- cmds=$extract_expsyms_cmds
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- fi
-
- # Create $newlib
- if test -f "$output_objdir/$newlib"; then :; else
- $show "generating import library for \`$soname'"
- save_ifs="$IFS"; IFS='~'
- cmds=$old_archive_from_expsyms_cmds
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- fi
- # make sure the library variables are pointing to the new library
- dir=$output_objdir
- linklib=$newlib
- fi # test -n "$old_archive_from_expsyms_cmds"
-
- if test "$linkmode" = prog || test "$mode" != relink; then
- add_shlibpath=
- add_dir=
- add=
- lib_linked=yes
- case $hardcode_action in
- immediate | unsupported)
- if test "$hardcode_direct" = no; then
- add="$dir/$linklib"
- case $host in
- *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
- *-*-sysv4*uw2*) add_dir="-L$dir" ;;
- *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
- *-*-unixware7*) add_dir="-L$dir" ;;
- *-*-darwin* )
- # if the lib is a module then we can not link against
- # it, someone is ignoring the new warnings I added
- if /usr/bin/file -L $add 2> /dev/null |
- $EGREP ": [^:]* bundle" >/dev/null ; then
- $echo "** Warning, lib $linklib is a module, not a shared library"
- if test -z "$old_library" ; then
- $echo
- $echo "** And there doesn't seem to be a static archive available"
- $echo "** The link will probably fail, sorry"
- else
- add="$dir/$old_library"
- fi
- fi
- esac
- elif test "$hardcode_minus_L" = no; then
- case $host in
- *-*-sunos*) add_shlibpath="$dir" ;;
- esac
- add_dir="-L$dir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = no; then
- add_shlibpath="$dir"
- add="-l$name"
- else
- lib_linked=no
- fi
- ;;
- relink)
- if test "$hardcode_direct" = yes; then
- add="$dir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$dir"
- # Try looking first in the location we're being installed to.
- if test -n "$inst_prefix_dir"; then
- case $libdir in
- [\\/]*)
- add_dir="$add_dir -L$inst_prefix_dir$libdir"
- ;;
- esac
- fi
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
- add_shlibpath="$dir"
- add="-l$name"
- else
- lib_linked=no
- fi
- ;;
- *) lib_linked=no ;;
- esac
-
- if test "$lib_linked" != yes; then
- $echo "$modename: configuration error: unsupported hardcode properties"
- exit $EXIT_FAILURE
- fi
-
- if test -n "$add_shlibpath"; then
- case :$compile_shlibpath: in
- *":$add_shlibpath:"*) ;;
- *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
- esac
- fi
- if test "$linkmode" = prog; then
- test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
- test -n "$add" && compile_deplibs="$add $compile_deplibs"
- else
- test -n "$add_dir" && deplibs="$add_dir $deplibs"
- test -n "$add" && deplibs="$add $deplibs"
- if test "$hardcode_direct" != yes && \
- test "$hardcode_minus_L" != yes && \
- test "$hardcode_shlibpath_var" = yes; then
- case :$finalize_shlibpath: in
- *":$libdir:"*) ;;
- *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
- esac
- fi
- fi
- fi
-
- if test "$linkmode" = prog || test "$mode" = relink; then
- add_shlibpath=
- add_dir=
- add=
- # Finalize command for both is simple: just hardcode it.
- if test "$hardcode_direct" = yes; then
- add="$libdir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$libdir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
- case :$finalize_shlibpath: in
- *":$libdir:"*) ;;
- *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
- esac
- add="-l$name"
- elif test "$hardcode_automatic" = yes; then
- if test -n "$inst_prefix_dir" &&
- test -f "$inst_prefix_dir$libdir/$linklib" ; then
- add="$inst_prefix_dir$libdir/$linklib"
- else
- add="$libdir/$linklib"
- fi
- else
- # We cannot seem to hardcode it, guess we'll fake it.
- add_dir="-L$libdir"
- # Try looking first in the location we're being installed to.
- if test -n "$inst_prefix_dir"; then
- case $libdir in
- [\\/]*)
- add_dir="$add_dir -L$inst_prefix_dir$libdir"
- ;;
- esac
- fi
- add="-l$name"
- fi
-
- if test "$linkmode" = prog; then
- test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
- test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
- else
- test -n "$add_dir" && deplibs="$add_dir $deplibs"
- test -n "$add" && deplibs="$add $deplibs"
- fi
- fi
- elif test "$linkmode" = prog; then
- # Here we assume that one of hardcode_direct or hardcode_minus_L
- # is not unsupported. This is valid on all known static and
- # shared platforms.
- if test "$hardcode_direct" != unsupported; then
- test -n "$old_library" && linklib="$old_library"
- compile_deplibs="$dir/$linklib $compile_deplibs"
- finalize_deplibs="$dir/$linklib $finalize_deplibs"
- else
- compile_deplibs="-l$name -L$dir $compile_deplibs"
- finalize_deplibs="-l$name -L$dir $finalize_deplibs"
- fi
- elif test "$build_libtool_libs" = yes; then
- # Not a shared library
- if test "$deplibs_check_method" != pass_all; then
- # We're trying link a shared library against a static one
- # but the system doesn't support it.
-
- # Just print a warning and add the library to dependency_libs so
- # that the program can be linked against the static library.
- $echo
- $echo "*** Warning: This system can not link to static lib archive $lib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have."
- if test "$module" = yes; then
- $echo "*** But as you try to build a module library, libtool will still create "
- $echo "*** a static module, that should work as long as the dlopening application"
- $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
- if test -z "$global_symbol_pipe"; then
- $echo
- $echo "*** However, this would only work if libtool was able to extract symbol"
- $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $echo "*** not find such a program. So, this module is probably useless."
- $echo "*** \`nm' from GNU binutils and a full rebuild may help."
- fi
- if test "$build_old_libs" = no; then
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- fi
- else
- deplibs="$dir/$old_library $deplibs"
- link_static=yes
- fi
- fi # link shared/static library?
-
- if test "$linkmode" = lib; then
- if test -n "$dependency_libs" &&
- { test "$hardcode_into_libs" != yes ||
- test "$build_old_libs" = yes ||
- test "$link_static" = yes; }; then
- # Extract -R from dependency_libs
- temp_deplibs=
- for libdir in $dependency_libs; do
- case $libdir in
- -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
- case " $xrpath " in
- *" $temp_xrpath "*) ;;
- *) xrpath="$xrpath $temp_xrpath";;
- esac;;
- *) temp_deplibs="$temp_deplibs $libdir";;
- esac
- done
- dependency_libs="$temp_deplibs"
- fi
-
- newlib_search_path="$newlib_search_path $absdir"
- # Link against this library
- test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
- # ... and its dependency_libs
- tmp_libs=
- for deplib in $dependency_libs; do
- newdependency_libs="$deplib $newdependency_libs"
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done
-
- if test "$link_all_deplibs" != no; then
- # Add the search paths of all dependency libraries
- for deplib in $dependency_libs; do
- case $deplib in
- -L*) path="$deplib" ;;
- *.la)
- dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$deplib" && dir="."
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
- *)
- absdir=`cd "$dir" && pwd`
- if test -z "$absdir"; then
- $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
- absdir="$dir"
- fi
- ;;
- esac
- if grep "^installed=no" $deplib > /dev/null; then
- path="$absdir/$objdir"
- else
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- if test -z "$libdir"; then
- $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- if test "$absdir" != "$libdir"; then
- $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
- fi
- path="$absdir"
- fi
- depdepl=
- case $host in
- *-*-darwin*)
- # we do not want to link against static libs,
- # but need to link against shared
- eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
- if test -n "$deplibrary_names" ; then
- for tmp in $deplibrary_names ; do
- depdepl=$tmp
- done
- if test -f "$path/$depdepl" ; then
- depdepl="$path/$depdepl"
- fi
- # do not add paths which are already there
- case " $newlib_search_path " in
- *" $path "*) ;;
- *) newlib_search_path="$newlib_search_path $path";;
- esac
- fi
- path=""
- ;;
- *)
- path="-L$path"
- ;;
- esac
- ;;
- -l*)
- case $host in
- *-*-darwin*)
- # Again, we only want to link against shared libraries
- eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
- for tmp in $newlib_search_path ; do
- if test -f "$tmp/lib$tmp_libs.dylib" ; then
- eval depdepl="$tmp/lib$tmp_libs.dylib"
- break
- fi
- done
- path=""
- ;;
- *) continue ;;
- esac
- ;;
- *) continue ;;
- esac
- case " $deplibs " in
- *" $path "*) ;;
- *) deplibs="$path $deplibs" ;;
- esac
- case " $deplibs " in
- *" $depdepl "*) ;;
- *) deplibs="$depdepl $deplibs" ;;
- esac
- done
- fi # link_all_deplibs != no
- fi # linkmode = lib
- done # for deplib in $libs
- dependency_libs="$newdependency_libs"
- if test "$pass" = dlpreopen; then
- # Link the dlpreopened libraries before other libraries
- for deplib in $save_deplibs; do
- deplibs="$deplib $deplibs"
- done
- fi
- if test "$pass" != dlopen; then
- if test "$pass" != conv; then
- # Make sure lib_search_path contains only unique directories.
- lib_search_path=
- for dir in $newlib_search_path; do
- case "$lib_search_path " in
- *" $dir "*) ;;
- *) lib_search_path="$lib_search_path $dir" ;;
- esac
- done
- newlib_search_path=
- fi
-
- if test "$linkmode,$pass" != "prog,link"; then
- vars="deplibs"
- else
- vars="compile_deplibs finalize_deplibs"
- fi
- for var in $vars dependency_libs; do
- # Add libraries to $var in reverse order
- eval tmp_libs=\"\$$var\"
- new_libs=
- for deplib in $tmp_libs; do
- # FIXME: Pedantically, this is the right thing to do, so
- # that some nasty dependency loop isn't accidentally
- # broken:
- #new_libs="$deplib $new_libs"
- # Pragmatically, this seems to cause very few problems in
- # practice:
- case $deplib in
- -L*) new_libs="$deplib $new_libs" ;;
- -R*) ;;
- *)
- # And here is the reason: when a library appears more
- # than once as an explicit dependence of a library, or
- # is implicitly linked in more than once by the
- # compiler, it is considered special, and multiple
- # occurrences thereof are not removed. Compare this
- # with having the same library being listed as a
- # dependency of multiple other libraries: in this case,
- # we know (pedantically, we assume) the library does not
- # need to be listed more than once, so we keep only the
- # last copy. This is not always right, but it is rare
- # enough that we require users that really mean to play
- # such unportable linking tricks to link the library
- # using -Wl,-lname, so that libtool does not consider it
- # for duplicate removal.
- case " $specialdeplibs " in
- *" $deplib "*) new_libs="$deplib $new_libs" ;;
- *)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) new_libs="$deplib $new_libs" ;;
- esac
- ;;
- esac
- ;;
- esac
- done
- tmp_libs=
- for deplib in $new_libs; do
- case $deplib in
- -L*)
- case " $tmp_libs " in
- *" $deplib "*) ;;
- *) tmp_libs="$tmp_libs $deplib" ;;
- esac
- ;;
- *) tmp_libs="$tmp_libs $deplib" ;;
- esac
- done
- eval $var=\"$tmp_libs\"
- done # for var
- fi
- # Last step: remove runtime libs from dependency_libs
- # (they stay in deplibs)
- tmp_libs=
- for i in $dependency_libs ; do
- case " $predeps $postdeps $compiler_lib_search_path " in
- *" $i "*)
- i=""
- ;;
- esac
- if test -n "$i" ; then
- tmp_libs="$tmp_libs $i"
- fi
- done
- dependency_libs=$tmp_libs
- done # for pass
- if test "$linkmode" = prog; then
- dlfiles="$newdlfiles"
- dlprefiles="$newdlprefiles"
- fi
-
- case $linkmode in
- oldlib)
- if test -n "$deplibs"; then
- $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
- fi
-
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
- fi
-
- if test -n "$rpath"; then
- $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
- fi
-
- if test -n "$xrpath"; then
- $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
- fi
-
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
- fi
-
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
- fi
-
- if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
- $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
- fi
-
- # Now set the variables for building old libraries.
- build_libtool_libs=no
- oldlibs="$output"
- objs="$objs$old_deplibs"
- ;;
-
- lib)
- # Make sure we only generate libraries of the form `libNAME.la'.
- case $outputname in
- lib*)
- name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
- eval shared_ext=\"$shrext_cmds\"
- eval libname=\"$libname_spec\"
- ;;
- *)
- if test "$module" = no; then
- $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
- if test "$need_lib_prefix" != no; then
- # Add the "lib" prefix for modules if required
- name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
- eval shared_ext=\"$shrext_cmds\"
- eval libname=\"$libname_spec\"
- else
- libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
- fi
- ;;
- esac
-
- if test -n "$objs"; then
- if test "$deplibs_check_method" != pass_all; then
- $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
- exit $EXIT_FAILURE
- else
- $echo
- $echo "*** Warning: Linking the shared library $output against the non-libtool"
- $echo "*** objects $objs is not portable!"
- libobjs="$libobjs $objs"
- fi
- fi
-
- if test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
- fi
-
- set dummy $rpath
- if test "$#" -gt 2; then
- $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
- fi
- install_libdir="$2"
-
- oldlibs=
- if test -z "$rpath"; then
- if test "$build_libtool_libs" = yes; then
- # Building a libtool convenience library.
- # Some compilers have problems with a `.al' extension so
- # convenience libraries should have the same extension an
- # archive normally would.
- oldlibs="$output_objdir/$libname.$libext $oldlibs"
- build_libtool_libs=convenience
- build_old_libs=yes
- fi
-
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
- fi
-
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
- fi
- else
-
- # Parse the version information argument.
- save_ifs="$IFS"; IFS=':'
- set dummy $vinfo 0 0 0
- IFS="$save_ifs"
-
- if test -n "$8"; then
- $echo "$modename: too many parameters to \`-version-info'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # convert absolute version numbers to libtool ages
- # this retains compatibility with .la files and attempts
- # to make the code below a bit more comprehensible
-
- case $vinfo_number in
- yes)
- number_major="$2"
- number_minor="$3"
- number_revision="$4"
- #
- # There are really only two kinds -- those that
- # use the current revision as the major version
- # and those that subtract age and use age as
- # a minor version. But, then there is irix
- # which has an extra 1 added just for fun
- #
- case $version_type in
- darwin|linux|osf|windows)
- current=`expr $number_major + $number_minor`
- age="$number_minor"
- revision="$number_revision"
- ;;
- freebsd-aout|freebsd-elf|sunos)
- current="$number_major"
- revision="$number_minor"
- age="0"
- ;;
- irix|nonstopux)
- current=`expr $number_major + $number_minor - 1`
- age="$number_minor"
- revision="$number_minor"
- ;;
- esac
- ;;
- no)
- current="$2"
- revision="$3"
- age="$4"
- ;;
- esac
-
- # Check that each of the things are valid numbers.
- case $current in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- case $revision in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- case $age in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- if test "$age" -gt "$current"; then
- $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Calculate the version variables.
- major=
- versuffix=
- verstring=
- case $version_type in
- none) ;;
-
- darwin)
- # Like Linux, but with the current version available in
- # verstring for coding it into the library header
- major=.`expr $current - $age`
- versuffix="$major.$age.$revision"
- # Darwin ld doesn't like 0 for these options...
- minor_current=`expr $current + 1`
- verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
- ;;
-
- freebsd-aout)
- major=".$current"
- versuffix=".$current.$revision";
- ;;
-
- freebsd-elf)
- major=".$current"
- versuffix=".$current";
- ;;
-
- irix | nonstopux)
- major=`expr $current - $age + 1`
-
- case $version_type in
- nonstopux) verstring_prefix=nonstopux ;;
- *) verstring_prefix=sgi ;;
- esac
- verstring="$verstring_prefix$major.$revision"
-
- # Add in all the interfaces that we are compatible with.
- loop=$revision
- while test "$loop" -ne 0; do
- iface=`expr $revision - $loop`
- loop=`expr $loop - 1`
- verstring="$verstring_prefix$major.$iface:$verstring"
- done
-
- # Before this point, $major must not contain `.'.
- major=.$major
- versuffix="$major.$revision"
- ;;
-
- linux)
- major=.`expr $current - $age`
- versuffix="$major.$age.$revision"
- ;;
-
- osf)
- major=.`expr $current - $age`
- versuffix=".$current.$age.$revision"
- verstring="$current.$age.$revision"
-
- # Add in all the interfaces that we are compatible with.
- loop=$age
- while test "$loop" -ne 0; do
- iface=`expr $current - $loop`
- loop=`expr $loop - 1`
- verstring="$verstring:${iface}.0"
- done
-
- # Make executables depend on our current version.
- verstring="$verstring:${current}.0"
- ;;
-
- sunos)
- major=".$current"
- versuffix=".$current.$revision"
- ;;
-
- windows)
- # Use '-' rather than '.', since we only want one
- # extension on DOS 8.3 filesystems.
- major=`expr $current - $age`
- versuffix="-$major"
- ;;
-
- *)
- $echo "$modename: unknown library version type \`$version_type'" 1>&2
- $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- # Clear the version info if we defaulted, and they specified a release.
- if test -z "$vinfo" && test -n "$release"; then
- major=
- case $version_type in
- darwin)
- # we can't check for "0.0" in archive_cmds due to quoting
- # problems, so we reset it completely
- verstring=
- ;;
- *)
- verstring="0.0"
- ;;
- esac
- if test "$need_version" = no; then
- versuffix=
- else
- versuffix=".0.0"
- fi
- fi
-
- # Remove version info from name if versioning should be avoided
- if test "$avoid_version" = yes && test "$need_version" = no; then
- major=
- versuffix=
- verstring=""
- fi
-
- # Check to see if the archive will have undefined symbols.
- if test "$allow_undefined" = yes; then
- if test "$allow_undefined_flag" = unsupported; then
- $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
- build_libtool_libs=no
- build_old_libs=yes
- fi
- else
- # Don't allow undefined symbols.
- allow_undefined_flag="$no_undefined_flag"
- fi
- fi
-
- if test "$mode" != relink; then
- # Remove our outputs, but don't remove object files since they
- # may have been created when compiling PIC objects.
- removelist=
- tempremovelist=`$echo "$output_objdir/*"`
- for p in $tempremovelist; do
- case $p in
- *.$objext)
- ;;
- $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
- if test "X$precious_files_regex" != "X"; then
- if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
- then
- continue
- fi
- fi
- removelist="$removelist $p"
- ;;
- *) ;;
- esac
- done
- if test -n "$removelist"; then
- $show "${rm}r $removelist"
- $run ${rm}r $removelist
- fi
- fi
-
- # Now set the variables for building old libraries.
- if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
- oldlibs="$oldlibs $output_objdir/$libname.$libext"
-
- # Transform .lo files to .o files.
- oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
- fi
-
- # Eliminate all temporary directories.
- for path in $notinst_path; do
- lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
- deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
- dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
- done
-
- if test -n "$xrpath"; then
- # If the user specified any rpath flags, then add them.
- temp_xrpath=
- for libdir in $xrpath; do
- temp_xrpath="$temp_xrpath -R$libdir"
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir" ;;
- esac
- done
- if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
- dependency_libs="$temp_xrpath $dependency_libs"
- fi
- fi
-
- # Make sure dlfiles contains only unique files that won't be dlpreopened
- old_dlfiles="$dlfiles"
- dlfiles=
- for lib in $old_dlfiles; do
- case " $dlprefiles $dlfiles " in
- *" $lib "*) ;;
- *) dlfiles="$dlfiles $lib" ;;
- esac
- done
-
- # Make sure dlprefiles contains only unique files
- old_dlprefiles="$dlprefiles"
- dlprefiles=
- for lib in $old_dlprefiles; do
- case "$dlprefiles " in
- *" $lib "*) ;;
- *) dlprefiles="$dlprefiles $lib" ;;
- esac
- done
-
- if test "$build_libtool_libs" = yes; then
- if test -n "$rpath"; then
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
- # these systems don't actually have a c library (as such)!
- ;;
- *-*-rhapsody* | *-*-darwin1.[012])
- # Rhapsody C library is in the System framework
- deplibs="$deplibs -framework System"
- ;;
- *-*-netbsd*)
- # Don't link with libc until the a.out ld.so is fixed.
- ;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc due to us having libc/libc_r.
- ;;
- *-*-sco3.2v5* | *-*-sco5v6*)
- # Causes problems with __ctype
- ;;
- *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
- # Compiler inserts libc in the correct place for threads to work
- ;;
- *)
- # Add libc to deplibs on all other systems if necessary.
- if test "$build_libtool_need_lc" = "yes"; then
- deplibs="$deplibs -lc"
- fi
- ;;
- esac
- fi
-
- # Transform deplibs into only deplibs that can be linked in shared.
- name_save=$name
- libname_save=$libname
- release_save=$release
- versuffix_save=$versuffix
- major_save=$major
- # I'm not sure if I'm treating the release correctly. I think
- # release should show up in the -l (ie -lgmp5) so we don't want to
- # add it in twice. Is that correct?
- release=""
- versuffix=""
- major=""
- newdeplibs=
- droppeddeps=no
- case $deplibs_check_method in
- pass_all)
- # Don't check for shared/static. Everything works.
- # This might be a little naive. We might want to check
- # whether the library exists or not. But this is on
- # osf3 & osf4 and I'm not really sure... Just
- # implementing what was already the behavior.
- newdeplibs=$deplibs
- ;;
- test_compile)
- # This code stresses the "libraries are programs" paradigm to its
- # limits. Maybe even breaks it. We compile a program, linking it
- # against the deplibs as a proxy for the library. Then we can check
- # whether they linked in statically or dynamically with ldd.
- $rm conftest.c
- cat > conftest.c <<EOF
- int main() { return 0; }
-EOF
- $rm conftest
- $LTCC $LTCFLAGS -o conftest conftest.c $deplibs
- if test "$?" -eq 0 ; then
- ldd_output=`ldd conftest`
- for i in $deplibs; do
- name=`expr $i : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" -ne "0"; then
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $i "*)
- newdeplibs="$newdeplibs $i"
- i=""
- ;;
- esac
- fi
- if test -n "$i" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- deplib_matches=`eval \\$echo \"$library_names_spec\"`
- set dummy $deplib_matches
- deplib_match=$2
- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
- newdeplibs="$newdeplibs $i"
- else
- droppeddeps=yes
- $echo
- $echo "*** Warning: dynamic linker does not accept needed library $i."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which I believe you do not have"
- $echo "*** because a test_compile did reveal that the linker did not use it for"
- $echo "*** its dynamic dependency list that programs get resolved with at runtime."
- fi
- fi
- else
- newdeplibs="$newdeplibs $i"
- fi
- done
- else
- # Error occurred in the first compile. Let's try to salvage
- # the situation: Compile a separate program for each library.
- for i in $deplibs; do
- name=`expr $i : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
- $rm conftest
- $LTCC $LTCFLAGS -o conftest conftest.c $i
- # Did it work?
- if test "$?" -eq 0 ; then
- ldd_output=`ldd conftest`
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $i "*)
- newdeplibs="$newdeplibs $i"
- i=""
- ;;
- esac
- fi
- if test -n "$i" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- deplib_matches=`eval \\$echo \"$library_names_spec\"`
- set dummy $deplib_matches
- deplib_match=$2
- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
- newdeplibs="$newdeplibs $i"
- else
- droppeddeps=yes
- $echo
- $echo "*** Warning: dynamic linker does not accept needed library $i."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because a test_compile did reveal that the linker did not use this one"
- $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
- fi
- fi
- else
- droppeddeps=yes
- $echo
- $echo "*** Warning! Library $i is needed by this library but I was not able to"
- $echo "*** make it link in! You will probably need to install it or some"
- $echo "*** library that it depends on before this library will be fully"
- $echo "*** functional. Installing it before continuing would be even better."
- fi
- else
- newdeplibs="$newdeplibs $i"
- fi
- done
- fi
- ;;
- file_magic*)
- set dummy $deplibs_check_method
- file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
- for a_deplib in $deplibs; do
- name=`expr $a_deplib : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $a_deplib "*)
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- ;;
- esac
- fi
- if test -n "$a_deplib" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
- potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
- for potent_lib in $potential_libs; do
- # Follow soft links.
- if ls -lLd "$potent_lib" 2>/dev/null \
- | grep " -> " >/dev/null; then
- continue
- fi
- # The statement above tries to avoid entering an
- # endless loop below, in case of cyclic links.
- # We might still enter an endless loop, since a link
- # loop can be closed while we follow links,
- # but so what?
- potlib="$potent_lib"
- while test -h "$potlib" 2>/dev/null; do
- potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
- case $potliblink in
- [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
- *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
- esac
- done
- if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
- | ${SED} 10q \
- | $EGREP "$file_magic_regex" > /dev/null; then
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- break 2
- fi
- done
- done
- fi
- if test -n "$a_deplib" ; then
- droppeddeps=yes
- $echo
- $echo "*** Warning: linker path does not have real file for library $a_deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
- $echo "*** with $libname but no candidates were found. (...for file magic test)"
- else
- $echo "*** with $libname and none of the candidates passed a file format test"
- $echo "*** using a file magic. Last file checked: $potlib"
- fi
- fi
- else
- # Add a -L argument.
- newdeplibs="$newdeplibs $a_deplib"
- fi
- done # Gone through all deplibs.
- ;;
- match_pattern*)
- set dummy $deplibs_check_method
- match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
- for a_deplib in $deplibs; do
- name=`expr $a_deplib : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test -n "$name" && test "$name" != "0"; then
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $a_deplib "*)
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- ;;
- esac
- fi
- if test -n "$a_deplib" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
- potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
- for potent_lib in $potential_libs; do
- potlib="$potent_lib" # see symlink-check above in file_magic test
- if eval $echo \"$potent_lib\" 2>/dev/null \
- | ${SED} 10q \
- | $EGREP "$match_pattern_regex" > /dev/null; then
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- break 2
- fi
- done
- done
- fi
- if test -n "$a_deplib" ; then
- droppeddeps=yes
- $echo
- $echo "*** Warning: linker path does not have real file for library $a_deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
- $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
- else
- $echo "*** with $libname and none of the candidates passed a file format test"
- $echo "*** using a regex pattern. Last file checked: $potlib"
- fi
- fi
- else
- # Add a -L argument.
- newdeplibs="$newdeplibs $a_deplib"
- fi
- done # Gone through all deplibs.
- ;;
- none | unknown | *)
- newdeplibs=""
- tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
- -e 's/ -[LR][^ ]*//g'`
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- for i in $predeps $postdeps ; do
- # can't use Xsed below, because $i might contain '/'
- tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
- done
- fi
- if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \
- | grep . >/dev/null; then
- $echo
- if test "X$deplibs_check_method" = "Xnone"; then
- $echo "*** Warning: inter-library dependencies are not supported in this platform."
- else
- $echo "*** Warning: inter-library dependencies are not known to be supported."
- fi
- $echo "*** All declared inter-library dependencies are being dropped."
- droppeddeps=yes
- fi
- ;;
- esac
- versuffix=$versuffix_save
- major=$major_save
- release=$release_save
- libname=$libname_save
- name=$name_save
-
- case $host in
- *-*-rhapsody* | *-*-darwin1.[012])
- # On Rhapsody replace the C library is the System framework
- newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
- ;;
- esac
-
- if test "$droppeddeps" = yes; then
- if test "$module" = yes; then
- $echo
- $echo "*** Warning: libtool could not satisfy all declared inter-library"
- $echo "*** dependencies of module $libname. Therefore, libtool will create"
- $echo "*** a static module, that should work as long as the dlopening"
- $echo "*** application is linked with the -dlopen flag."
- if test -z "$global_symbol_pipe"; then
- $echo
- $echo "*** However, this would only work if libtool was able to extract symbol"
- $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $echo "*** not find such a program. So, this module is probably useless."
- $echo "*** \`nm' from GNU binutils and a full rebuild may help."
- fi
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- else
- $echo "*** The inter-library dependencies that have been dropped here will be"
- $echo "*** automatically added whenever a program is linked with this library"
- $echo "*** or is declared to -dlopen it."
-
- if test "$allow_undefined" = no; then
- $echo
- $echo "*** Since this library must not contain undefined symbols,"
- $echo "*** because either the platform does not support them or"
- $echo "*** it was explicitly requested with -no-undefined,"
- $echo "*** libtool will only create a static version of it."
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- fi
- fi
- fi
- # Done checking deplibs!
- deplibs=$newdeplibs
- fi
-
-
- # move library search paths that coincide with paths to not yet
- # installed libraries to the beginning of the library search list
- new_libs=
- for path in $notinst_path; do
- case " $new_libs " in
- *" -L$path/$objdir "*) ;;
- *)
- case " $deplibs " in
- *" -L$path/$objdir "*)
- new_libs="$new_libs -L$path/$objdir" ;;
- esac
- ;;
- esac
- done
- for deplib in $deplibs; do
- case $deplib in
- -L*)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- done
- deplibs="$new_libs"
-
-
- # All the library-specific variables (install_libdir is set above).
- library_names=
- old_library=
- dlname=
-
- # Test again, we may have decided not to build it any more
- if test "$build_libtool_libs" = yes; then
- if test "$hardcode_into_libs" = yes; then
- # Hardcode the library paths
- hardcode_libdirs=
- dep_rpath=
- rpath="$finalize_rpath"
- test "$mode" != relink && rpath="$compile_rpath$rpath"
- for libdir in $rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
- ;;
- esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- dep_rpath="$dep_rpath $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$perm_rpath " in
- *" $libdir "*) ;;
- *) perm_rpath="$perm_rpath $libdir" ;;
- esac
- fi
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- if test -n "$hardcode_libdir_flag_spec_ld"; then
- eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
- else
- eval dep_rpath=\"$hardcode_libdir_flag_spec\"
- fi
- fi
- if test -n "$runpath_var" && test -n "$perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $perm_rpath; do
- rpath="$rpath$dir:"
- done
- eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
- fi
- test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
- fi
-
- shlibpath="$finalize_shlibpath"
- test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
- if test -n "$shlibpath"; then
- eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
- fi
-
- # Get the real and link names of the library.
- eval shared_ext=\"$shrext_cmds\"
- eval library_names=\"$library_names_spec\"
- set dummy $library_names
- realname="$2"
- shift; shift
-
- if test -n "$soname_spec"; then
- eval soname=\"$soname_spec\"
- else
- soname="$realname"
- fi
- if test -z "$dlname"; then
- dlname=$soname
- fi
-
- lib="$output_objdir/$realname"
- linknames=
- for link
- do
- linknames="$linknames $link"
- done
-
- # Use standard objects if they are pic
- test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-
- # Prepare the list of exported symbols
- if test -z "$export_symbols"; then
- if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
- $show "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
- $run $rm $export_symbols
- cmds=$export_symbols_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- if len=`expr "X$cmd" : ".*"` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- $show "$cmd"
- $run eval "$cmd" || exit $?
- skipped_export=false
- else
- # The command line is too long to execute in one step.
- $show "using reloadable object file for export list..."
- skipped_export=:
- # Break out early, otherwise skipped_export may be
- # set to false by a later but shorter cmd.
- break
- fi
- done
- IFS="$save_ifs"
- if test -n "$export_symbols_regex"; then
- $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
- $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
- $show "$mv \"${export_symbols}T\" \"$export_symbols\""
- $run eval '$mv "${export_symbols}T" "$export_symbols"'
- fi
- fi
- fi
-
- if test -n "$export_symbols" && test -n "$include_expsyms"; then
- $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
- fi
-
- tmp_deplibs=
- for test_deplib in $deplibs; do
- case " $convenience " in
- *" $test_deplib "*) ;;
- *)
- tmp_deplibs="$tmp_deplibs $test_deplib"
- ;;
- esac
- done
- deplibs="$tmp_deplibs"
-
- if test -n "$convenience"; then
- if test -n "$whole_archive_flag_spec"; then
- save_libobjs=$libobjs
- eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
- else
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- func_extract_archives $gentop $convenience
- libobjs="$libobjs $func_extract_archives_result"
- fi
- fi
-
- if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
- eval flag=\"$thread_safe_flag_spec\"
- linker_flags="$linker_flags $flag"
- fi
-
- # Make a backup of the uninstalled library when relinking
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
- fi
-
- # Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
- if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
- eval test_cmds=\"$module_expsym_cmds\"
- cmds=$module_expsym_cmds
- else
- eval test_cmds=\"$module_cmds\"
- cmds=$module_cmds
- fi
- else
- if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- eval test_cmds=\"$archive_expsym_cmds\"
- cmds=$archive_expsym_cmds
- else
- eval test_cmds=\"$archive_cmds\"
- cmds=$archive_cmds
- fi
- fi
-
- if test "X$skipped_export" != "X:" &&
- len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- :
- else
- # The command line is too long to link in one step, link piecewise.
- $echo "creating reloadable object files..."
-
- # Save the value of $output and $libobjs because we want to
- # use them later. If we have whole_archive_flag_spec, we
- # want to use save_libobjs as it was before
- # whole_archive_flag_spec was expanded, because we can't
- # assume the linker understands whole_archive_flag_spec.
- # This may have to be revisited, in case too many
- # convenience libraries get linked in and end up exceeding
- # the spec.
- if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
- save_libobjs=$libobjs
- fi
- save_output=$output
- output_la=`$echo "X$output" | $Xsed -e "$basename"`
-
- # Clear the reloadable object creation command queue and
- # initialize k to one.
- test_cmds=
- concat_cmds=
- objlist=
- delfiles=
- last_robj=
- k=1
- output=$output_objdir/$output_la-${k}.$objext
- # Loop over the list of objects to be linked.
- for obj in $save_libobjs
- do
- eval test_cmds=\"$reload_cmds $objlist $last_robj\"
- if test "X$objlist" = X ||
- { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len"; }; then
- objlist="$objlist $obj"
- else
- # The command $test_cmds is almost too long, add a
- # command to the queue.
- if test "$k" -eq 1 ; then
- # The first file doesn't have a previous command to add.
- eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
- else
- # All subsequent reloadable object files will link in
- # the last one created.
- eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
- fi
- last_robj=$output_objdir/$output_la-${k}.$objext
- k=`expr $k + 1`
- output=$output_objdir/$output_la-${k}.$objext
- objlist=$obj
- len=1
- fi
- done
- # Handle the remaining objects by creating one last
- # reloadable object file. All subsequent reloadable object
- # files will link in the last one created.
- test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
-
- if ${skipped_export-false}; then
- $show "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
- $run $rm $export_symbols
- libobjs=$output
- # Append the command to create the export file.
- eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
- fi
-
- # Set up a command to remove the reloadable object files
- # after they are used.
- i=0
- while test "$i" -lt "$k"
- do
- i=`expr $i + 1`
- delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
- done
-
- $echo "creating a temporary reloadable object file: $output"
-
- # Loop through the commands generated above and execute them.
- save_ifs="$IFS"; IFS='~'
- for cmd in $concat_cmds; do
- IFS="$save_ifs"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
-
- libobjs=$output
- # Restore the value of output.
- output=$save_output
-
- if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
- eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
- fi
- # Expand the library linking commands again to reset the
- # value of $libobjs for piecewise linking.
-
- # Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
- if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
- cmds=$module_expsym_cmds
- else
- cmds=$module_cmds
- fi
- else
- if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- cmds=$archive_expsym_cmds
- else
- cmds=$archive_cmds
- fi
- fi
-
- # Append the command to remove the reloadable object files
- # to the just-reset $cmds.
- eval cmds=\"\$cmds~\$rm $delfiles\"
- fi
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || {
- lt_exit=$?
-
- # Restore the uninstalled library and exit
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
- fi
-
- exit $lt_exit
- }
- done
- IFS="$save_ifs"
-
- # Restore the uninstalled library and exit
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
-
- if test -n "$convenience"; then
- if test -z "$whole_archive_flag_spec"; then
- $show "${rm}r $gentop"
- $run ${rm}r "$gentop"
- fi
- fi
-
- exit $EXIT_SUCCESS
- fi
-
- # Create links to the real library.
- for linkname in $linknames; do
- if test "$realname" != "$linkname"; then
- $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
- $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
- fi
- done
-
- # If -module or -export-dynamic was specified, set the dlname.
- if test "$module" = yes || test "$export_dynamic" = yes; then
- # On all known operating systems, these are identical.
- dlname="$soname"
- fi
- fi
- ;;
-
- obj)
- if test -n "$deplibs"; then
- $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
- fi
-
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
- fi
-
- if test -n "$rpath"; then
- $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
- fi
-
- if test -n "$xrpath"; then
- $echo "$modename: warning: \`-R' is ignored for objects" 1>&2
- fi
-
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
- fi
-
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
- fi
-
- case $output in
- *.lo)
- if test -n "$objs$old_deplibs"; then
- $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
- exit $EXIT_FAILURE
- fi
- libobj="$output"
- obj=`$echo "X$output" | $Xsed -e "$lo2o"`
- ;;
- *)
- libobj=
- obj="$output"
- ;;
- esac
-
- # Delete the old objects.
- $run $rm $obj $libobj
-
- # Objects from convenience libraries. This assumes
- # single-version convenience libraries. Whenever we create
- # different ones for PIC/non-PIC, this we'll have to duplicate
- # the extraction.
- reload_conv_objs=
- gentop=
- # reload_cmds runs $LD directly, so let us get rid of
- # -Wl from whole_archive_flag_spec
- wl=
-
- if test -n "$convenience"; then
- if test -n "$whole_archive_flag_spec"; then
- eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
- else
- gentop="$output_objdir/${obj}x"
- generated="$generated $gentop"
-
- func_extract_archives $gentop $convenience
- reload_conv_objs="$reload_objs $func_extract_archives_result"
- fi
- fi
-
- # Create the old-style object.
- reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
-
- output="$obj"
- cmds=$reload_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
-
- # Exit if we aren't doing a library object file.
- if test -z "$libobj"; then
- if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
- fi
-
- exit $EXIT_SUCCESS
- fi
-
- if test "$build_libtool_libs" != yes; then
- if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
- fi
-
- # Create an invalid libtool object if no PIC, so that we don't
- # accidentally link it into a program.
- # $show "echo timestamp > $libobj"
- # $run eval "echo timestamp > $libobj" || exit $?
- exit $EXIT_SUCCESS
- fi
-
- if test -n "$pic_flag" || test "$pic_mode" != default; then
- # Only do commands if we really have different PIC objects.
- reload_objs="$libobjs $reload_conv_objs"
- output="$libobj"
- cmds=$reload_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- fi
-
- if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
- fi
-
- exit $EXIT_SUCCESS
- ;;
-
- prog)
- case $host in
- *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
- esac
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
- fi
-
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
- fi
-
- if test "$preload" = yes; then
- if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
- test "$dlopen_self_static" = unknown; then
- $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
- fi
- fi
-
- case $host in
- *-*-rhapsody* | *-*-darwin1.[012])
- # On Rhapsody replace the C library is the System framework
- compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
- finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
- ;;
- esac
-
- case $host in
- *darwin*)
- # Don't allow lazy linking, it breaks C++ global constructors
- if test "$tagname" = CXX ; then
- compile_command="$compile_command ${wl}-bind_at_load"
- finalize_command="$finalize_command ${wl}-bind_at_load"
- fi
- ;;
- esac
-
-
- # move library search paths that coincide with paths to not yet
- # installed libraries to the beginning of the library search list
- new_libs=
- for path in $notinst_path; do
- case " $new_libs " in
- *" -L$path/$objdir "*) ;;
- *)
- case " $compile_deplibs " in
- *" -L$path/$objdir "*)
- new_libs="$new_libs -L$path/$objdir" ;;
- esac
- ;;
- esac
- done
- for deplib in $compile_deplibs; do
- case $deplib in
- -L*)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- done
- compile_deplibs="$new_libs"
-
-
- compile_command="$compile_command $compile_deplibs"
- finalize_command="$finalize_command $finalize_deplibs"
-
- if test -n "$rpath$xrpath"; then
- # If the user specified any rpath flags, then add them.
- for libdir in $rpath $xrpath; do
- # This is the magic to use -rpath.
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir" ;;
- esac
- done
- fi
-
- # Now hardcode the library paths
- rpath=
- hardcode_libdirs=
- for libdir in $compile_rpath $finalize_rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
- ;;
- esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- rpath="$rpath $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$perm_rpath " in
- *" $libdir "*) ;;
- *) perm_rpath="$perm_rpath $libdir" ;;
- esac
- fi
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
- case :$dllsearchpath: in
- *":$libdir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$libdir";;
- esac
- case :$dllsearchpath: in
- *":$testbindir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$testbindir";;
- esac
- ;;
- esac
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- eval rpath=\" $hardcode_libdir_flag_spec\"
- fi
- compile_rpath="$rpath"
-
- rpath=
- hardcode_libdirs=
- for libdir in $finalize_rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
- ;;
- esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- rpath="$rpath $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$finalize_perm_rpath " in
- *" $libdir "*) ;;
- *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
- esac
- fi
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- eval rpath=\" $hardcode_libdir_flag_spec\"
- fi
- finalize_rpath="$rpath"
-
- if test -n "$libobjs" && test "$build_old_libs" = yes; then
- # Transform all the library objects into standard objects.
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- fi
-
- dlsyms=
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- if test -n "$NM" && test -n "$global_symbol_pipe"; then
- dlsyms="${outputname}S.c"
- else
- $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
- fi
- fi
-
- if test -n "$dlsyms"; then
- case $dlsyms in
- "") ;;
- *.c)
- # Discover the nlist of each of the dlfiles.
- nlist="$output_objdir/${outputname}.nm"
-
- $show "$rm $nlist ${nlist}S ${nlist}T"
- $run $rm "$nlist" "${nlist}S" "${nlist}T"
-
- # Parse the name list into a source file.
- $show "creating $output_objdir/$dlsyms"
-
- test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
-/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
-/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-/* Prevent the only kind of declaration conflicts we can make. */
-#define lt_preloaded_symbols some_other_symbol
-
-/* External symbol declarations for the compiler. */\
-"
-
- if test "$dlself" = yes; then
- $show "generating symbol list for \`$output'"
-
- test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
-
- # Add our own program objects to the symbol list.
- progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- for arg in $progfiles; do
- $show "extracting global C symbols from \`$arg'"
- $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
- done
-
- if test -n "$exclude_expsyms"; then
- $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
- $run eval '$mv "$nlist"T "$nlist"'
- fi
-
- if test -n "$export_symbols_regex"; then
- $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
- $run eval '$mv "$nlist"T "$nlist"'
- fi
-
- # Prepare the list of exported symbols
- if test -z "$export_symbols"; then
- export_symbols="$output_objdir/$outputname.exp"
- $run $rm $export_symbols
- $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
- case $host in
- *cygwin* | *mingw* )
- $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
- $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
- ;;
- esac
- else
- $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
- $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
- $run eval 'mv "$nlist"T "$nlist"'
- case $host in
- *cygwin* | *mingw* )
- $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
- $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
- ;;
- esac
- fi
- fi
-
- for arg in $dlprefiles; do
- $show "extracting global C symbols from \`$arg'"
- name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
- $run eval '$echo ": $name " >> "$nlist"'
- $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
- done
-
- if test -z "$run"; then
- # Make sure we have at least an empty file.
- test -f "$nlist" || : > "$nlist"
-
- if test -n "$exclude_expsyms"; then
- $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
- $mv "$nlist"T "$nlist"
- fi
-
- # Try sorting and uniquifying the output.
- if grep -v "^: " < "$nlist" |
- if sort -k 3 </dev/null >/dev/null 2>&1; then
- sort -k 3
- else
- sort +2
- fi |
- uniq > "$nlist"S; then
- :
- else
- grep -v "^: " < "$nlist" > "$nlist"S
- fi
-
- if test -f "$nlist"S; then
- eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
- else
- $echo '/* NONE */' >> "$output_objdir/$dlsyms"
- fi
-
- $echo >> "$output_objdir/$dlsyms" "\
-
-#undef lt_preloaded_symbols
-
-#if defined (__STDC__) && __STDC__
-# define lt_ptr void *
-#else
-# define lt_ptr char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-"
-
- case $host in
- *cygwin* | *mingw* )
- $echo >> "$output_objdir/$dlsyms" "\
-/* DATA imports from DLLs on WIN32 can't be const, because
- runtime relocations are performed -- see ld's documentation
- on pseudo-relocs */
-struct {
-"
- ;;
- * )
- $echo >> "$output_objdir/$dlsyms" "\
-const struct {
-"
- ;;
- esac
-
-
- $echo >> "$output_objdir/$dlsyms" "\
- const char *name;
- lt_ptr address;
-}
-lt_preloaded_symbols[] =
-{\
-"
-
- eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
-
- $echo >> "$output_objdir/$dlsyms" "\
- {0, (lt_ptr) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
- fi
-
- pic_flag_for_symtable=
- case $host in
- # compiling the symbol table file with pic_flag works around
- # a FreeBSD bug that causes programs to crash when -lm is
- # linked before any other PIC object. But we must not use
- # pic_flag when linking with -static. The problem exists in
- # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
- *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
- case "$compile_command " in
- *" -static "*) ;;
- *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
- esac;;
- *-*-hpux*)
- case "$compile_command " in
- *" -static "*) ;;
- *) pic_flag_for_symtable=" $pic_flag";;
- esac
- esac
-
- # Now compile the dynamic symbol file.
- $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
- $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
-
- # Clean up the generated files.
- $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
- $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
-
- # Transform the symbol file into the correct name.
- case $host in
- *cygwin* | *mingw* )
- if test -f "$output_objdir/${outputname}.def" ; then
- compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
- else
- compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
- fi
- ;;
- * )
- compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
- ;;
- esac
- ;;
- *)
- $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- else
- # We keep going just in case the user didn't refer to
- # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
- # really was required.
-
- # Nullify the symbol file.
- compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
- fi
-
- if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
- # Replace the output file specification.
- compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
- link_command="$compile_command$compile_rpath"
-
- # We have no uninstalled library dependencies, so finalize right now.
- $show "$link_command"
- $run eval "$link_command"
- exit_status=$?
-
- # Delete the generated files.
- if test -n "$dlsyms"; then
- $show "$rm $output_objdir/${outputname}S.${objext}"
- $run $rm "$output_objdir/${outputname}S.${objext}"
- fi
-
- exit $exit_status
- fi
-
- if test -n "$shlibpath_var"; then
- # We should set the shlibpath_var
- rpath=
- for dir in $temp_rpath; do
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*)
- # Absolute path.
- rpath="$rpath$dir:"
- ;;
- *)
- # Relative path: add a thisdir entry.
- rpath="$rpath\$thisdir/$dir:"
- ;;
- esac
- done
- temp_rpath="$rpath"
- fi
-
- if test -n "$compile_shlibpath$finalize_shlibpath"; then
- compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
- fi
- if test -n "$finalize_shlibpath"; then
- finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
- fi
-
- compile_var=
- finalize_var=
- if test -n "$runpath_var"; then
- if test -n "$perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $perm_rpath; do
- rpath="$rpath$dir:"
- done
- compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
- fi
- if test -n "$finalize_perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $finalize_perm_rpath; do
- rpath="$rpath$dir:"
- done
- finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
- fi
- fi
-
- if test "$no_install" = yes; then
- # We don't need to create a wrapper script.
- link_command="$compile_var$compile_command$compile_rpath"
- # Replace the output file specification.
- link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
- # Delete the old output file.
- $run $rm $output
- # Link the executable and exit
- $show "$link_command"
- $run eval "$link_command" || exit $?
- exit $EXIT_SUCCESS
- fi
-
- if test "$hardcode_action" = relink; then
- # Fast installation is not supported
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
-
- $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
- $echo "$modename: \`$output' will be relinked during installation" 1>&2
- else
- if test "$fast_install" != no; then
- link_command="$finalize_var$compile_command$finalize_rpath"
- if test "$fast_install" = yes; then
- relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
- else
- # fast_install is set to needless
- relink_command=
- fi
- else
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
- fi
- fi
-
- # Replace the output file specification.
- link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
-
- # Delete the old output files.
- $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
-
- $show "$link_command"
- $run eval "$link_command" || exit $?
-
- # Now create the wrapper script.
- $show "creating $output"
-
- # Quote the relink command for shipping.
- if test -n "$relink_command"; then
- # Preserve any variables that may affect compiler behavior
- for var in $variables_saved_for_relink; do
- if eval test -z \"\${$var+set}\"; then
- relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
- elif eval var_value=\$$var; test -z "$var_value"; then
- relink_command="$var=; export $var; $relink_command"
- else
- var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
- relink_command="$var=\"$var_value\"; export $var; $relink_command"
- fi
- done
- relink_command="(cd `pwd`; $relink_command)"
- relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
- fi
-
- # Quote $echo for shipping.
- if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
- case $progpath in
- [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
- *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
- esac
- qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
- else
- qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
- fi
-
- # Only actually do things if our run command is non-null.
- if test -z "$run"; then
- # win32 will think the script is a binary if it has
- # a .exe suffix, so we strip it off here.
- case $output in
- *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
- esac
- # test for cygwin because mv fails w/o .exe extensions
- case $host in
- *cygwin*)
- exeext=.exe
- outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
- *) exeext= ;;
- esac
- case $host in
- *cygwin* | *mingw* )
- output_name=`basename $output`
- output_path=`dirname $output`
- cwrappersource="$output_path/$objdir/lt-$output_name.c"
- cwrapper="$output_path/$output_name.exe"
- $rm $cwrappersource $cwrapper
- trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
-
- cat > $cwrappersource <<EOF
-
-/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
- Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-
- The $output program cannot be directly executed until all the libtool
- libraries that it depends on are installed.
-
- This wrapper executable should never be moved out of the build directory.
- If it is, it will not operate correctly.
-
- Currently, it simply execs the wrapper *script* "/bin/sh $output",
- but could eventually absorb all of the scripts functionality and
- exec $objdir/$outputname directly.
-*/
-EOF
- cat >> $cwrappersource<<"EOF"
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <malloc.h>
-#include <stdarg.h>
-#include <assert.h>
-#include <string.h>
-#include <ctype.h>
-#include <sys/stat.h>
-
-#if defined(PATH_MAX)
-# define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
-# define LT_PATHMAX MAXPATHLEN
-#else
-# define LT_PATHMAX 1024
-#endif
-
-#ifndef DIR_SEPARATOR
-# define DIR_SEPARATOR '/'
-# define PATH_SEPARATOR ':'
-#endif
-
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
- defined (__OS2__)
-# define HAVE_DOS_BASED_FILE_SYSTEM
-# ifndef DIR_SEPARATOR_2
-# define DIR_SEPARATOR_2 '\\'
-# endif
-# ifndef PATH_SEPARATOR_2
-# define PATH_SEPARATOR_2 ';'
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR_2
-# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-#else /* DIR_SEPARATOR_2 */
-# define IS_DIR_SEPARATOR(ch) \
- (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-#endif /* DIR_SEPARATOR_2 */
-
-#ifndef PATH_SEPARATOR_2
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
-#else /* PATH_SEPARATOR_2 */
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
-#endif /* PATH_SEPARATOR_2 */
-
-#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
-#define XFREE(stale) do { \
- if (stale) { free ((void *) stale); stale = 0; } \
-} while (0)
-
-/* -DDEBUG is fairly common in CFLAGS. */
-#undef DEBUG
-#if defined DEBUGWRAPPER
-# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
-#else
-# define DEBUG(format, ...)
-#endif
-
-const char *program_name = NULL;
-
-void * xmalloc (size_t num);
-char * xstrdup (const char *string);
-const char * base_name (const char *name);
-char * find_executable(const char *wrapper);
-int check_executable(const char *path);
-char * strendzap(char *str, const char *pat);
-void lt_fatal (const char *message, ...);
-
-int
-main (int argc, char *argv[])
-{
- char **newargz;
- int i;
-
- program_name = (char *) xstrdup (base_name (argv[0]));
- DEBUG("(main) argv[0] : %s\n",argv[0]);
- DEBUG("(main) program_name : %s\n",program_name);
- newargz = XMALLOC(char *, argc+2);
-EOF
-
- cat >> $cwrappersource <<EOF
- newargz[0] = (char *) xstrdup("$SHELL");
-EOF
-
- cat >> $cwrappersource <<"EOF"
- newargz[1] = find_executable(argv[0]);
- if (newargz[1] == NULL)
- lt_fatal("Couldn't find %s", argv[0]);
- DEBUG("(main) found exe at : %s\n",newargz[1]);
- /* we know the script has the same name, without the .exe */
- /* so make sure newargz[1] doesn't end in .exe */
- strendzap(newargz[1],".exe");
- for (i = 1; i < argc; i++)
- newargz[i+1] = xstrdup(argv[i]);
- newargz[argc+1] = NULL;
-
- for (i=0; i<argc+1; i++)
- {
- DEBUG("(main) newargz[%d] : %s\n",i,newargz[i]);
- ;
- }
-
-EOF
-
- case $host_os in
- mingw*)
- cat >> $cwrappersource <<EOF
- execv("$SHELL",(char const **)newargz);
-EOF
- ;;
- *)
- cat >> $cwrappersource <<EOF
- execv("$SHELL",newargz);
-EOF
- ;;
- esac
-
- cat >> $cwrappersource <<"EOF"
- return 127;
-}
-
-void *
-xmalloc (size_t num)
-{
- void * p = (void *) malloc (num);
- if (!p)
- lt_fatal ("Memory exhausted");
-
- return p;
-}
-
-char *
-xstrdup (const char *string)
-{
- return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
-;
-}
-
-const char *
-base_name (const char *name)
-{
- const char *base;
-
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- /* Skip over the disk name in MSDOS pathnames. */
- if (isalpha ((unsigned char)name[0]) && name[1] == ':')
- name += 2;
-#endif
-
- for (base = name; *name; name++)
- if (IS_DIR_SEPARATOR (*name))
- base = name + 1;
- return base;
-}
-
-int
-check_executable(const char * path)
-{
- struct stat st;
-
- DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
- if ((!path) || (!*path))
- return 0;
-
- if ((stat (path, &st) >= 0) &&
- (
- /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
-#if defined (S_IXOTH)
- ((st.st_mode & S_IXOTH) == S_IXOTH) ||
-#endif
-#if defined (S_IXGRP)
- ((st.st_mode & S_IXGRP) == S_IXGRP) ||
-#endif
- ((st.st_mode & S_IXUSR) == S_IXUSR))
- )
- return 1;
- else
- return 0;
-}
-
-/* Searches for the full path of the wrapper. Returns
- newly allocated full path name if found, NULL otherwise */
-char *
-find_executable (const char* wrapper)
-{
- int has_slash = 0;
- const char* p;
- const char* p_next;
- /* static buffer for getcwd */
- char tmp[LT_PATHMAX + 1];
- int tmp_len;
- char* concat_name;
-
- DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
-
- if ((wrapper == NULL) || (*wrapper == '\0'))
- return NULL;
-
- /* Absolute path? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
- {
- concat_name = xstrdup (wrapper);
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- }
- else
- {
-#endif
- if (IS_DIR_SEPARATOR (wrapper[0]))
- {
- concat_name = xstrdup (wrapper);
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- }
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- }
-#endif
-
- for (p = wrapper; *p; p++)
- if (*p == '/')
- {
- has_slash = 1;
- break;
- }
- if (!has_slash)
- {
- /* no slashes; search PATH */
- const char* path = getenv ("PATH");
- if (path != NULL)
- {
- for (p = path; *p; p = p_next)
- {
- const char* q;
- size_t p_len;
- for (q = p; *q; q++)
- if (IS_PATH_SEPARATOR(*q))
- break;
- p_len = q - p;
- p_next = (*q == '\0' ? q : q + 1);
- if (p_len == 0)
- {
- /* empty path: current directory */
- if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal ("getcwd failed");
- tmp_len = strlen(tmp);
- concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
- memcpy (concat_name, tmp, tmp_len);
- concat_name[tmp_len] = '/';
- strcpy (concat_name + tmp_len + 1, wrapper);
- }
- else
- {
- concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
- memcpy (concat_name, p, p_len);
- concat_name[p_len] = '/';
- strcpy (concat_name + p_len + 1, wrapper);
- }
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- }
- }
- /* not found in PATH; assume curdir */
- }
- /* Relative path | not found in path: prepend cwd */
- if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal ("getcwd failed");
- tmp_len = strlen(tmp);
- concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
- memcpy (concat_name, tmp, tmp_len);
- concat_name[tmp_len] = '/';
- strcpy (concat_name + tmp_len + 1, wrapper);
-
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- return NULL;
-}
-
-char *
-strendzap(char *str, const char *pat)
-{
- size_t len, patlen;
-
- assert(str != NULL);
- assert(pat != NULL);
-
- len = strlen(str);
- patlen = strlen(pat);
-
- if (patlen <= len)
- {
- str += len - patlen;
- if (strcmp(str, pat) == 0)
- *str = '\0';
- }
- return str;
-}
-
-static void
-lt_error_core (int exit_status, const char * mode,
- const char * message, va_list ap)
-{
- fprintf (stderr, "%s: %s: ", program_name, mode);
- vfprintf (stderr, message, ap);
- fprintf (stderr, ".\n");
-
- if (exit_status >= 0)
- exit (exit_status);
-}
-
-void
-lt_fatal (const char *message, ...)
-{
- va_list ap;
- va_start (ap, message);
- lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
- va_end (ap);
-}
-EOF
- # we should really use a build-platform specific compiler
- # here, but OTOH, the wrappers (shell script and this C one)
- # are only useful if you want to execute the "real" binary.
- # Since the "real" binary is built for $host, then this
- # wrapper might as well be built for $host, too.
- $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
- ;;
- esac
- $rm $output
- trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
-
- $echo > $output "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='${SED} -e 1s/^X//'
-sed_quote_subst='$sed_quote_subst'
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
- # install mode needs the following variable:
- notinst_deplibs='$notinst_deplibs'
-else
- # When we are sourced in execute mode, \$file and \$echo are already set.
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- echo=\"$qecho\"
- file=\"\$0\"
- # Make sure echo works.
- if test \"X\$1\" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
- elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
- # Yippee, \$echo works!
- :
- else
- # Restart under the correct shell, and then maybe \$echo will work.
- exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
- fi
- fi\
-"
- $echo >> $output "\
-
- # Find the directory that this script lives in.
- thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
- test \"x\$thisdir\" = \"x\$file\" && thisdir=.
-
- # Follow symbolic links until we get to the real thisdir.
- file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
- while test -n \"\$file\"; do
- destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
-
- # If there was a directory component, then change thisdir.
- if test \"x\$destdir\" != \"x\$file\"; then
- case \"\$destdir\" in
- [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
- *) thisdir=\"\$thisdir/\$destdir\" ;;
- esac
- fi
-
- file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
- file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
- done
-
- # Try to get the absolute directory name.
- absdir=\`cd \"\$thisdir\" && pwd\`
- test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
- if test "$fast_install" = yes; then
- $echo >> $output "\
- program=lt-'$outputname'$exeext
- progdir=\"\$thisdir/$objdir\"
-
- if test ! -f \"\$progdir/\$program\" || \\
- { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
- test \"X\$file\" != \"X\$progdir/\$program\"; }; then
-
- file=\"\$\$-\$program\"
-
- if test ! -d \"\$progdir\"; then
- $mkdir \"\$progdir\"
- else
- $rm \"\$progdir/\$file\"
- fi"
-
- $echo >> $output "\
-
- # relink executable if necessary
- if test -n \"\$relink_command\"; then
- if relink_command_output=\`eval \$relink_command 2>&1\`; then :
- else
- $echo \"\$relink_command_output\" >&2
- $rm \"\$progdir/\$file\"
- exit $EXIT_FAILURE
- fi
- fi
-
- $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
- { $rm \"\$progdir/\$program\";
- $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
- $rm \"\$progdir/\$file\"
- fi"
- else
- $echo >> $output "\
- program='$outputname'
- progdir=\"\$thisdir/$objdir\"
-"
- fi
-
- $echo >> $output "\
-
- if test -f \"\$progdir/\$program\"; then"
-
- # Export our shlibpath_var if we have one.
- if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
- $echo >> $output "\
- # Add our own library path to $shlibpath_var
- $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
-
- # Some systems cannot cope with colon-terminated $shlibpath_var
- # The second colon is a workaround for a bug in BeOS R4 sed
- $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
-
- export $shlibpath_var
-"
- fi
-
- # fixup the dll searchpath if we need to.
- if test -n "$dllsearchpath"; then
- $echo >> $output "\
- # Add the dll search path components to the executable PATH
- PATH=$dllsearchpath:\$PATH
-"
- fi
-
- $echo >> $output "\
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- # Run the actual program with our arguments.
-"
- case $host in
- # Backslashes separate directories on plain windows
- *-*-mingw | *-*-os2*)
- $echo >> $output "\
- exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
- ;;
-
- *)
- $echo >> $output "\
- exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
- ;;
- esac
- $echo >> $output "\
- \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
- exit $EXIT_FAILURE
- fi
- else
- # The program doesn't exist.
- \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
- \$echo \"This script is just a wrapper for \$program.\" 1>&2
- $echo \"See the $PACKAGE documentation for more information.\" 1>&2
- exit $EXIT_FAILURE
- fi
-fi\
-"
- chmod +x $output
- fi
- exit $EXIT_SUCCESS
- ;;
- esac
-
- # See if we need to build an old-fashioned archive.
- for oldlib in $oldlibs; do
-
- if test "$build_libtool_libs" = convenience; then
- oldobjs="$libobjs_save"
- addlibs="$convenience"
- build_libtool_libs=no
- else
- if test "$build_libtool_libs" = module; then
- oldobjs="$libobjs_save"
- build_libtool_libs=no
- else
- oldobjs="$old_deplibs $non_pic_objects"
- fi
- addlibs="$old_convenience"
- fi
-
- if test -n "$addlibs"; then
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- func_extract_archives $gentop $addlibs
- oldobjs="$oldobjs $func_extract_archives_result"
- fi
-
- # Do each command in the archive commands.
- if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
- cmds=$old_archive_from_new_cmds
- else
- # POSIX demands no paths to be encoded in archives. We have
- # to avoid creating archives with duplicate basenames if we
- # might have to extract them afterwards, e.g., when creating a
- # static archive out of a convenience library, or when linking
- # the entirety of a libtool archive into another (currently
- # not supported by libtool).
- if (for obj in $oldobjs
- do
- $echo "X$obj" | $Xsed -e 's%^.*/%%'
- done | sort | sort -uc >/dev/null 2>&1); then
- :
- else
- $echo "copying selected object files to avoid basename conflicts..."
-
- if test -z "$gentop"; then
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- $show "${rm}r $gentop"
- $run ${rm}r "$gentop"
- $show "$mkdir $gentop"
- $run $mkdir "$gentop"
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
- exit $exit_status
- fi
- fi
-
- save_oldobjs=$oldobjs
- oldobjs=
- counter=1
- for obj in $save_oldobjs
- do
- objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
- case " $oldobjs " in
- " ") oldobjs=$obj ;;
- *[\ /]"$objbase "*)
- while :; do
- # Make sure we don't pick an alternate name that also
- # overlaps.
- newobj=lt$counter-$objbase
- counter=`expr $counter + 1`
- case " $oldobjs " in
- *[\ /]"$newobj "*) ;;
- *) if test ! -f "$gentop/$newobj"; then break; fi ;;
- esac
- done
- $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
- $run ln "$obj" "$gentop/$newobj" ||
- $run cp "$obj" "$gentop/$newobj"
- oldobjs="$oldobjs $gentop/$newobj"
- ;;
- *) oldobjs="$oldobjs $obj" ;;
- esac
- done
- fi
-
- eval cmds=\"$old_archive_cmds\"
-
- if len=`expr "X$cmds" : ".*"` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- cmds=$old_archive_cmds
- else
- # the command line is too long to link in one step, link in parts
- $echo "using piecewise archive linking..."
- save_RANLIB=$RANLIB
- RANLIB=:
- objlist=
- concat_cmds=
- save_oldobjs=$oldobjs
-
- # Is there a better way of finding the last object in the list?
- for obj in $save_oldobjs
- do
- last_oldobj=$obj
- done
- for obj in $save_oldobjs
- do
- oldobjs="$objlist $obj"
- objlist="$objlist $obj"
- eval test_cmds=\"$old_archive_cmds\"
- if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len"; then
- :
- else
- # the above command should be used before it gets too long
- oldobjs=$objlist
- if test "$obj" = "$last_oldobj" ; then
- RANLIB=$save_RANLIB
- fi
- test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
- objlist=
- fi
- done
- RANLIB=$save_RANLIB
- oldobjs=$objlist
- if test "X$oldobjs" = "X" ; then
- eval cmds=\"\$concat_cmds\"
- else
- eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
- fi
- fi
- fi
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- eval cmd=\"$cmd\"
- IFS="$save_ifs"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- done
-
- if test -n "$generated"; then
- $show "${rm}r$generated"
- $run ${rm}r$generated
- fi
-
- # Now create the libtool archive.
- case $output in
- *.la)
- old_library=
- test "$build_old_libs" = yes && old_library="$libname.$libext"
- $show "creating $output"
-
- # Preserve any variables that may affect compiler behavior
- for var in $variables_saved_for_relink; do
- if eval test -z \"\${$var+set}\"; then
- relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
- elif eval var_value=\$$var; test -z "$var_value"; then
- relink_command="$var=; export $var; $relink_command"
- else
- var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
- relink_command="$var=\"$var_value\"; export $var; $relink_command"
- fi
- done
- # Quote the link command for shipping.
- relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
- relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
- if test "$hardcode_automatic" = yes ; then
- relink_command=
- fi
-
-
- # Only create the output if not a dry run.
- if test -z "$run"; then
- for installed in no yes; do
- if test "$installed" = yes; then
- if test -z "$install_libdir"; then
- break
- fi
- output="$output_objdir/$outputname"i
- # Replace all uninstalled libtool libraries with the installed ones
- newdependency_libs=
- for deplib in $dependency_libs; do
- case $deplib in
- *.la)
- name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- if test -z "$libdir"; then
- $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- newdependency_libs="$newdependency_libs $libdir/$name"
- ;;
- *) newdependency_libs="$newdependency_libs $deplib" ;;
- esac
- done
- dependency_libs="$newdependency_libs"
- newdlfiles=
- for lib in $dlfiles; do
- name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- if test -z "$libdir"; then
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- newdlfiles="$newdlfiles $libdir/$name"
- done
- dlfiles="$newdlfiles"
- newdlprefiles=
- for lib in $dlprefiles; do
- name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- if test -z "$libdir"; then
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- newdlprefiles="$newdlprefiles $libdir/$name"
- done
- dlprefiles="$newdlprefiles"
- else
- newdlfiles=
- for lib in $dlfiles; do
- case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
- *) abs=`pwd`"/$lib" ;;
- esac
- newdlfiles="$newdlfiles $abs"
- done
- dlfiles="$newdlfiles"
- newdlprefiles=
- for lib in $dlprefiles; do
- case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
- *) abs=`pwd`"/$lib" ;;
- esac
- newdlprefiles="$newdlprefiles $abs"
- done
- dlprefiles="$newdlprefiles"
- fi
- $rm $output
- # place dlname in correct position for cygwin
- tdlname=$dlname
- case $host,$output,$installed,$module,$dlname in
- *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
- esac
- $echo > $output "\
-# $outputname - a libtool library file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='$tdlname'
-
-# Names of this library.
-library_names='$library_names'
-
-# The name of the static archive.
-old_library='$old_library'
-
-# Libraries that this one depends upon.
-dependency_libs='$dependency_libs'
-
-# Version information for $libname.
-current=$current
-age=$age
-revision=$revision
-
-# Is this an already installed library?
-installed=$installed
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=$module
-
-# Files to dlopen/dlpreopen
-dlopen='$dlfiles'
-dlpreopen='$dlprefiles'
-
-# Directory that this library needs to be installed in:
-libdir='$install_libdir'"
- if test "$installed" = no && test "$need_relink" = yes; then
- $echo >> $output "\
-relink_command=\"$relink_command\""
- fi
- done
- fi
-
- # Do a symbolic link so that the libtool archive can be found in
- # LD_LIBRARY_PATH before the program is installed.
- $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
- $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
- ;;
- esac
- exit $EXIT_SUCCESS
- ;;
-
- # libtool install mode
- install)
- modename="$modename: install"
-
- # There may be an optional sh(1) argument at the beginning of
- # install_prog (especially on Windows NT).
- if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
- # Allow the use of GNU shtool's install command.
- $echo "X$nonopt" | grep shtool > /dev/null; then
- # Aesthetically quote it.
- arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- install_prog="$arg "
- arg="$1"
- shift
- else
- install_prog=
- arg=$nonopt
- fi
-
- # The real first argument should be the name of the installation program.
- # Aesthetically quote it.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- install_prog="$install_prog$arg"
-
- # We need to accept at least all the BSD install flags.
- dest=
- files=
- opts=
- prev=
- install_type=
- isdir=no
- stripme=
- for arg
- do
- if test -n "$dest"; then
- files="$files $dest"
- dest=$arg
- continue
- fi
-
- case $arg in
- -d) isdir=yes ;;
- -f)
- case " $install_prog " in
- *[\\\ /]cp\ *) ;;
- *) prev=$arg ;;
- esac
- ;;
- -g | -m | -o) prev=$arg ;;
- -s)
- stripme=" -s"
- continue
- ;;
- -*)
- ;;
- *)
- # If the previous option needed an argument, then skip it.
- if test -n "$prev"; then
- prev=
- else
- dest=$arg
- continue
- fi
- ;;
- esac
-
- # Aesthetically quote the argument.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- install_prog="$install_prog $arg"
- done
-
- if test -z "$install_prog"; then
- $echo "$modename: you must specify an install program" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test -n "$prev"; then
- $echo "$modename: the \`$prev' option requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test -z "$files"; then
- if test -z "$dest"; then
- $echo "$modename: no file or destination specified" 1>&2
- else
- $echo "$modename: you must specify a destination" 1>&2
- fi
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Strip any trailing slash from the destination.
- dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
-
- # Check to see that the destination is a directory.
- test -d "$dest" && isdir=yes
- if test "$isdir" = yes; then
- destdir="$dest"
- destname=
- else
- destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
- test "X$destdir" = "X$dest" && destdir=.
- destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
-
- # Not a directory, so check to see that there is only one file specified.
- set dummy $files
- if test "$#" -gt 2; then
- $echo "$modename: \`$dest' is not a directory" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
- fi
- case $destdir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- for file in $files; do
- case $file in
- *.lo) ;;
- *)
- $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- done
- ;;
- esac
-
- # This variable tells wrapper scripts just to set variables rather
- # than running their programs.
- libtool_install_magic="$magic"
-
- staticlibs=
- future_libdirs=
- current_libdirs=
- for file in $files; do
-
- # Do each installation.
- case $file in
- *.$libext)
- # Do the static libraries later.
- staticlibs="$staticlibs $file"
- ;;
-
- *.la)
- # Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- library_names=
- old_library=
- relink_command=
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
-
- # Add the libdir to current_libdirs if it is the destination.
- if test "X$destdir" = "X$libdir"; then
- case "$current_libdirs " in
- *" $libdir "*) ;;
- *) current_libdirs="$current_libdirs $libdir" ;;
- esac
- else
- # Note the libdir as a future libdir.
- case "$future_libdirs " in
- *" $libdir "*) ;;
- *) future_libdirs="$future_libdirs $libdir" ;;
- esac
- fi
-
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
- test "X$dir" = "X$file/" && dir=
- dir="$dir$objdir"
-
- if test -n "$relink_command"; then
- # Determine the prefix the user has applied to our future dir.
- inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
-
- # Don't allow the user to place us outside of our expected
- # location b/c this prevents finding dependent libraries that
- # are installed to the same prefix.
- # At present, this check doesn't affect windows .dll's that
- # are installed into $libdir/../bin (currently, that works fine)
- # but it's something to keep an eye on.
- if test "$inst_prefix_dir" = "$destdir"; then
- $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test -n "$inst_prefix_dir"; then
- # Stick the inst_prefix_dir data into the link command.
- relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
- else
- relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
- fi
-
- $echo "$modename: warning: relinking \`$file'" 1>&2
- $show "$relink_command"
- if $run eval "$relink_command"; then :
- else
- $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
- exit $EXIT_FAILURE
- fi
- fi
-
- # See the names of the shared library.
- set dummy $library_names
- if test -n "$2"; then
- realname="$2"
- shift
- shift
-
- srcname="$realname"
- test -n "$relink_command" && srcname="$realname"T
-
- # Install the shared library and build the symlinks.
- $show "$install_prog $dir/$srcname $destdir/$realname"
- $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
- if test -n "$stripme" && test -n "$striplib"; then
- $show "$striplib $destdir/$realname"
- $run eval "$striplib $destdir/$realname" || exit $?
- fi
-
- if test "$#" -gt 0; then
- # Delete the old symlinks, and create new ones.
- # Try `ln -sf' first, because the `ln' binary might depend on
- # the symlink we replace! Solaris /bin/ln does not understand -f,
- # so we also need to try rm && ln -s.
- for linkname
- do
- if test "$linkname" != "$realname"; then
- $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
- $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
- fi
- done
- fi
-
- # Do each command in the postinstall commands.
- lib="$destdir/$realname"
- cmds=$postinstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || {
- lt_exit=$?
-
- # Restore the uninstalled library and exit
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
- fi
-
- exit $lt_exit
- }
- done
- IFS="$save_ifs"
- fi
-
- # Install the pseudo-library for information purposes.
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- instname="$dir/$name"i
- $show "$install_prog $instname $destdir/$name"
- $run eval "$install_prog $instname $destdir/$name" || exit $?
-
- # Maybe install the static library, too.
- test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
- ;;
-
- *.lo)
- # Install (i.e. copy) a libtool object.
-
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
- else
- destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- destfile="$destdir/$destfile"
- fi
-
- # Deduce the name of the destination old-style object file.
- case $destfile in
- *.lo)
- staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
- ;;
- *.$objext)
- staticdest="$destfile"
- destfile=
- ;;
- *)
- $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- # Install the libtool object if requested.
- if test -n "$destfile"; then
- $show "$install_prog $file $destfile"
- $run eval "$install_prog $file $destfile" || exit $?
- fi
-
- # Install the old object if enabled.
- if test "$build_old_libs" = yes; then
- # Deduce the name of the old-style object file.
- staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
-
- $show "$install_prog $staticobj $staticdest"
- $run eval "$install_prog \$staticobj \$staticdest" || exit $?
- fi
- exit $EXIT_SUCCESS
- ;;
-
- *)
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
- else
- destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- destfile="$destdir/$destfile"
- fi
-
- # If the file is missing, and there is a .exe on the end, strip it
- # because it is most likely a libtool script we actually want to
- # install
- stripped_ext=""
- case $file in
- *.exe)
- if test ! -f "$file"; then
- file=`$echo $file|${SED} 's,.exe$,,'`
- stripped_ext=".exe"
- fi
- ;;
- esac
-
- # Do a test to see if this is really a libtool program.
- case $host in
- *cygwin*|*mingw*)
- wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
- ;;
- *)
- wrapper=$file
- ;;
- esac
- if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
- notinst_deplibs=
- relink_command=
-
- # Note that it is not necessary on cygwin/mingw to append a dot to
- # foo even if both foo and FILE.exe exist: automatic-append-.exe
- # behavior happens only for exec(3), not for open(2)! Also, sourcing
- # `FILE.' does not work on cygwin managed mounts.
- #
- # If there is no directory component, then add one.
- case $wrapper in
- */* | *\\*) . ${wrapper} ;;
- *) . ./${wrapper} ;;
- esac
-
- # Check the variables that should have been set.
- if test -z "$notinst_deplibs"; then
- $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- finalize=yes
- for lib in $notinst_deplibs; do
- # Check to see that each library is installed.
- libdir=
- if test -f "$lib"; then
- # If there is no directory component, then add one.
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
- fi
- libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
- if test -n "$libdir" && test ! -f "$libfile"; then
- $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
- finalize=no
- fi
- done
-
- relink_command=
- # Note that it is not necessary on cygwin/mingw to append a dot to
- # foo even if both foo and FILE.exe exist: automatic-append-.exe
- # behavior happens only for exec(3), not for open(2)! Also, sourcing
- # `FILE.' does not work on cygwin managed mounts.
- #
- # If there is no directory component, then add one.
- case $wrapper in
- */* | *\\*) . ${wrapper} ;;
- *) . ./${wrapper} ;;
- esac
-
- outputname=
- if test "$fast_install" = no && test -n "$relink_command"; then
- if test "$finalize" = yes && test -z "$run"; then
- tmpdir=`func_mktempdir`
- file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
- outputname="$tmpdir/$file"
- # Replace the output file specification.
- relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
-
- $show "$relink_command"
- if $run eval "$relink_command"; then :
- else
- $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
- ${rm}r "$tmpdir"
- continue
- fi
- file="$outputname"
- else
- $echo "$modename: warning: cannot relink \`$file'" 1>&2
- fi
- else
- # Install the binary that we compiled earlier.
- file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
- fi
- fi
-
- # remove .exe since cygwin /usr/bin/install will append another
- # one anyway
- case $install_prog,$host in
- */usr/bin/install*,*cygwin*)
- case $file:$destfile in
- *.exe:*.exe)
- # this is ok
- ;;
- *.exe:*)
- destfile=$destfile.exe
- ;;
- *:*.exe)
- destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
- ;;
- esac
- ;;
- esac
- $show "$install_prog$stripme $file $destfile"
- $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
- test -n "$outputname" && ${rm}r "$tmpdir"
- ;;
- esac
- done
-
- for file in $staticlibs; do
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-
- # Set up the ranlib parameters.
- oldlib="$destdir/$name"
-
- $show "$install_prog $file $oldlib"
- $run eval "$install_prog \$file \$oldlib" || exit $?
-
- if test -n "$stripme" && test -n "$old_striplib"; then
- $show "$old_striplib $oldlib"
- $run eval "$old_striplib $oldlib" || exit $?
- fi
-
- # Do each command in the postinstall commands.
- cmds=$old_postinstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- done
-
- if test -n "$future_libdirs"; then
- $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
- fi
-
- if test -n "$current_libdirs"; then
- # Maybe just do a dry run.
- test -n "$run" && current_libdirs=" -n$current_libdirs"
- exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
- else
- exit $EXIT_SUCCESS
- fi
- ;;
-
- # libtool finish mode
- finish)
- modename="$modename: finish"
- libdirs="$nonopt"
- admincmds=
-
- if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
- for dir
- do
- libdirs="$libdirs $dir"
- done
-
- for libdir in $libdirs; do
- if test -n "$finish_cmds"; then
- # Do each command in the finish commands.
- cmds=$finish_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || admincmds="$admincmds
- $cmd"
- done
- IFS="$save_ifs"
- fi
- if test -n "$finish_eval"; then
- # Do the single finish_eval.
- eval cmds=\"$finish_eval\"
- $run eval "$cmds" || admincmds="$admincmds
- $cmds"
- fi
- done
- fi
-
- # Exit here if they wanted silent mode.
- test "$show" = : && exit $EXIT_SUCCESS
-
- $echo "X----------------------------------------------------------------------" | $Xsed
- $echo "Libraries have been installed in:"
- for libdir in $libdirs; do
- $echo " $libdir"
- done
- $echo
- $echo "If you ever happen to want to link against installed libraries"
- $echo "in a given directory, LIBDIR, you must either use libtool, and"
- $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
- $echo "flag during linking and do at least one of the following:"
- if test -n "$shlibpath_var"; then
- $echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
- $echo " during execution"
- fi
- if test -n "$runpath_var"; then
- $echo " - add LIBDIR to the \`$runpath_var' environment variable"
- $echo " during linking"
- fi
- if test -n "$hardcode_libdir_flag_spec"; then
- libdir=LIBDIR
- eval flag=\"$hardcode_libdir_flag_spec\"
-
- $echo " - use the \`$flag' linker flag"
- fi
- if test -n "$admincmds"; then
- $echo " - have your system administrator run these commands:$admincmds"
- fi
- if test -f /etc/ld.so.conf; then
- $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
- fi
- $echo
- $echo "See any operating system documentation about shared libraries for"
- $echo "more information, such as the ld(1) and ld.so(8) manual pages."
- $echo "X----------------------------------------------------------------------" | $Xsed
- exit $EXIT_SUCCESS
- ;;
-
- # libtool execute mode
- execute)
- modename="$modename: execute"
-
- # The first argument is the command name.
- cmd="$nonopt"
- if test -z "$cmd"; then
- $echo "$modename: you must specify a COMMAND" 1>&2
- $echo "$help"
- exit $EXIT_FAILURE
- fi
-
- # Handle -dlopen flags immediately.
- for file in $execute_dlfiles; do
- if test ! -f "$file"; then
- $echo "$modename: \`$file' is not a file" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- dir=
- case $file in
- *.la)
- # Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Read the libtool library.
- dlname=
- library_names=
-
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
-
- # Skip this library if it cannot be dlopened.
- if test -z "$dlname"; then
- # Warn if it was a shared library.
- test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
- continue
- fi
-
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$file" && dir=.
-
- if test -f "$dir/$objdir/$dlname"; then
- dir="$dir/$objdir"
- else
- $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
- exit $EXIT_FAILURE
- fi
- ;;
-
- *.lo)
- # Just add the directory containing the .lo file.
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$file" && dir=.
- ;;
-
- *)
- $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
- continue
- ;;
- esac
-
- # Get the absolute pathname.
- absdir=`cd "$dir" && pwd`
- test -n "$absdir" && dir="$absdir"
-
- # Now add the directory to shlibpath_var.
- if eval "test -z \"\$$shlibpath_var\""; then
- eval "$shlibpath_var=\"\$dir\""
- else
- eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
- fi
- done
-
- # This variable tells wrapper scripts just to set shlibpath_var
- # rather than running their programs.
- libtool_execute_magic="$magic"
-
- # Check if any of the arguments is a wrapper script.
- args=
- for file
- do
- case $file in
- -*) ;;
- *)
- # Do a test to see if this is really a libtool program.
- if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
-
- # Transform arg to wrapped name.
- file="$progdir/$program"
- fi
- ;;
- esac
- # Quote arguments (to preserve shell metacharacters).
- file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
- args="$args \"$file\""
- done
-
- if test -z "$run"; then
- if test -n "$shlibpath_var"; then
- # Export the shlibpath_var.
- eval "export $shlibpath_var"
- fi
-
- # Restore saved environment variables
- if test "${save_LC_ALL+set}" = set; then
- LC_ALL="$save_LC_ALL"; export LC_ALL
- fi
- if test "${save_LANG+set}" = set; then
- LANG="$save_LANG"; export LANG
- fi
-
- # Now prepare to actually exec the command.
- exec_cmd="\$cmd$args"
- else
- # Display what would be done.
- if test -n "$shlibpath_var"; then
- eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
- $echo "export $shlibpath_var"
- fi
- $echo "$cmd$args"
- exit $EXIT_SUCCESS
- fi
- ;;
-
- # libtool clean and uninstall mode
- clean | uninstall)
- modename="$modename: $mode"
- rm="$nonopt"
- files=
- rmforce=
- exit_status=0
-
- # This variable tells wrapper scripts just to set variables rather
- # than running their programs.
- libtool_install_magic="$magic"
-
- for arg
- do
- case $arg in
- -f) rm="$rm $arg"; rmforce=yes ;;
- -*) rm="$rm $arg" ;;
- *) files="$files $arg" ;;
- esac
- done
-
- if test -z "$rm"; then
- $echo "$modename: you must specify an RM program" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- rmdirs=
-
- origobjdir="$objdir"
- for file in $files; do
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$dir" = "X$file"; then
- dir=.
- objdir="$origobjdir"
- else
- objdir="$dir/$origobjdir"
- fi
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- test "$mode" = uninstall && objdir="$dir"
-
- # Remember objdir for removal later, being careful to avoid duplicates
- if test "$mode" = clean; then
- case " $rmdirs " in
- *" $objdir "*) ;;
- *) rmdirs="$rmdirs $objdir" ;;
- esac
- fi
-
- # Don't error if the file doesn't exist and rm -f was used.
- if (test -L "$file") >/dev/null 2>&1 \
- || (test -h "$file") >/dev/null 2>&1 \
- || test -f "$file"; then
- :
- elif test -d "$file"; then
- exit_status=1
- continue
- elif test "$rmforce" = yes; then
- continue
- fi
-
- rmfiles="$file"
-
- case $name in
- *.la)
- # Possibly a libtool archive, so verify it.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- . $dir/$name
-
- # Delete the libtool libraries and symlinks.
- for n in $library_names; do
- rmfiles="$rmfiles $objdir/$n"
- done
- test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
-
- case "$mode" in
- clean)
- case " $library_names " in
- # " " in the beginning catches empty $dlname
- *" $dlname "*) ;;
- *) rmfiles="$rmfiles $objdir/$dlname" ;;
- esac
- test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
- ;;
- uninstall)
- if test -n "$library_names"; then
- # Do each command in the postuninstall commands.
- cmds=$postuninstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd"
- if test "$?" -ne 0 && test "$rmforce" != yes; then
- exit_status=1
- fi
- done
- IFS="$save_ifs"
- fi
-
- if test -n "$old_library"; then
- # Do each command in the old_postuninstall commands.
- cmds=$old_postuninstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd"
- if test "$?" -ne 0 && test "$rmforce" != yes; then
- exit_status=1
- fi
- done
- IFS="$save_ifs"
- fi
- # FIXME: should reinstall the best remaining shared library.
- ;;
- esac
- fi
- ;;
-
- *.lo)
- # Possibly a libtool object, so verify it.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-
- # Read the .lo file
- . $dir/$name
-
- # Add PIC object to the list of files to remove.
- if test -n "$pic_object" \
- && test "$pic_object" != none; then
- rmfiles="$rmfiles $dir/$pic_object"
- fi
-
- # Add non-PIC object to the list of files to remove.
- if test -n "$non_pic_object" \
- && test "$non_pic_object" != none; then
- rmfiles="$rmfiles $dir/$non_pic_object"
- fi
- fi
- ;;
-
- *)
- if test "$mode" = clean ; then
- noexename=$name
- case $file in
- *.exe)
- file=`$echo $file|${SED} 's,.exe$,,'`
- noexename=`$echo $name|${SED} 's,.exe$,,'`
- # $file with .exe has already been added to rmfiles,
- # add $file without .exe
- rmfiles="$rmfiles $file"
- ;;
- esac
- # Do a test to see if this is a libtool program.
- if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- relink_command=
- . $dir/$noexename
-
- # note $name still contains .exe if it was in $file originally
- # as does the version of $file that was added into $rmfiles
- rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
- if test "$fast_install" = yes && test -n "$relink_command"; then
- rmfiles="$rmfiles $objdir/lt-$name"
- fi
- if test "X$noexename" != "X$name" ; then
- rmfiles="$rmfiles $objdir/lt-${noexename}.c"
- fi
- fi
- fi
- ;;
- esac
- $show "$rm $rmfiles"
- $run $rm $rmfiles || exit_status=1
- done
- objdir="$origobjdir"
-
- # Try to remove the ${objdir}s in the directories where we deleted files
- for dir in $rmdirs; do
- if test -d "$dir"; then
- $show "rmdir $dir"
- $run rmdir $dir >/dev/null 2>&1
- fi
- done
-
- exit $exit_status
- ;;
-
- "")
- $echo "$modename: you must specify a MODE" 1>&2
- $echo "$generic_help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- if test -z "$exec_cmd"; then
- $echo "$modename: invalid operation mode \`$mode'" 1>&2
- $echo "$generic_help" 1>&2
- exit $EXIT_FAILURE
- fi
-fi # test -z "$show_help"
-
-if test -n "$exec_cmd"; then
- eval exec $exec_cmd
- exit $EXIT_FAILURE
-fi
-
-# We need to display help for each of the modes.
-case $mode in
-"") $echo \
-"Usage: $modename [OPTION]... [MODE-ARG]...
-
-Provide generalized library-building support services.
-
- --config show all configuration variables
- --debug enable verbose shell tracing
--n, --dry-run display commands without modifying any files
- --features display basic configuration information and exit
- --finish same as \`--mode=finish'
- --help display this help message and exit
- --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS]
- --quiet same as \`--silent'
- --silent don't print informational messages
- --tag=TAG use configuration variables from tag TAG
- --version print version information
-
-MODE must be one of the following:
-
- clean remove files from the build directory
- compile compile a source file into a libtool object
- execute automatically set library path, then run a program
- finish complete the installation of libtool libraries
- install install libraries or executables
- link create a library or an executable
- uninstall remove libraries from an installed directory
-
-MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for
-a more detailed description of MODE.
-
-Report bugs to <bug-libtool@gnu.org>."
- exit $EXIT_SUCCESS
- ;;
-
-clean)
- $echo \
-"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
-
-Remove files from the build directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, object or program, all the files associated
-with it are deleted. Otherwise, only FILE itself is deleted using RM."
- ;;
-
-compile)
- $echo \
-"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
- -o OUTPUT-FILE set the output file name to OUTPUT-FILE
- -prefer-pic try to building PIC objects only
- -prefer-non-pic try to building non-PIC objects only
- -static always build a \`.o' file suitable for static linking
-
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
- ;;
-
-execute)
- $echo \
-"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
- -dlopen FILE add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to \`-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
- ;;
-
-finish)
- $echo \
-"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges. Use
-the \`--dry-run' option if you just want to see what would be executed."
- ;;
-
-install)
- $echo \
-"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command. The first component should be
-either the \`install' or \`cp' program.
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
- ;;
-
-link)
- $echo \
-"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
- -all-static do not do any dynamic linking at all
- -avoid-version do not add a version suffix if possible
- -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
- -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
- -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
- -export-symbols SYMFILE
- try to export only the symbols listed in SYMFILE
- -export-symbols-regex REGEX
- try to export only the symbols matching REGEX
- -LLIBDIR search LIBDIR for required installed libraries
- -lNAME OUTPUT-FILE requires the installed library libNAME
- -module build a library that can dlopened
- -no-fast-install disable the fast-install mode
- -no-install link a not-installable executable
- -no-undefined declare that a library does not refer to external symbols
- -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
- -objectlist FILE Use a list of object files found in FILE to specify objects
- -precious-files-regex REGEX
- don't remove output files matching REGEX
- -release RELEASE specify package release information
- -rpath LIBDIR the created library will eventually be installed in LIBDIR
- -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
- -static do not do any dynamic linking of libtool libraries
- -version-info CURRENT[:REVISION[:AGE]]
- specify library version info [each variable defaults to 0]
-
-All other options (arguments beginning with \`-') are ignored.
-
-Every other argument is treated as a filename. Files ending in \`.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
-
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
-is created, otherwise an executable program is created."
- ;;
-
-uninstall)
- $echo \
-"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
- ;;
-
-*)
- $echo "$modename: invalid operation mode \`$mode'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
-esac
-
-$echo
-$echo "Try \`$modename --help' for more information about other modes."
-
-exit $?
-
-# The TAGs below are defined such that we never get into a situation
-# in which we disable both kinds of libraries. Given conflicting
-# choices, we go for a static library, that is the most portable,
-# since we can't tell whether shared libraries were disabled because
-# the user asked for that or because the platform doesn't support
-# them. This is particularly important on AIX, because we don't
-# support having both static and shared libraries enabled at the same
-# time on that platform, so we default to a shared-only configuration.
-# If a disable-shared tag is given, we'll fallback to a static-only
-# configuration. But we'll never go from static-only to shared-only.
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-disable_libs=shared
-# ### END LIBTOOL TAG CONFIG: disable-shared
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-static
-disable_libs=static
-# ### END LIBTOOL TAG CONFIG: disable-static
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:
-# ### BEGIN LIBTOOL TAG CONFIG: CXX
-
-# Libtool was configured on host houllier:
-
-# Shell to use when invoking shell scripts.
-SHELL="/bin/bash"
-
-# Whether or not to build shared libraries.
-build_libtool_libs=yes
-
-# Whether or not to build static libraries.
-build_old_libs=no
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=no
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=no
-
-# Whether or not to optimize for fast installation.
-fast_install=yes
-
-# The host system.
-host_alias=
-host=i686-pc-linux-gnu
-host_os=linux-gnu
-
-# The build system.
-build_alias=
-build=i686-pc-linux-gnu
-build_os=linux-gnu
-
-# An echo program that does not interpret backslashes.
-echo="echo"
-
-# The archiver.
-AR="ar"
-AR_FLAGS="cru"
-
-# A C compiler.
-LTCC="gcc"
-
-# LTCC compiler flags.
-LTCFLAGS="-g -O2"
-
-# A language-specific compiler.
-CC="g++"
-
-# Is the compiler the GNU C compiler?
-with_gcc=yes
-
-# An ERE matcher.
-EGREP="grep -E"
-
-# The linker used to build libraries.
-LD="/usr/bin/ld"
-
-# Whether we need hard or soft links.
-LN_S="ln -s"
-
-# A BSD-compatible nm program.
-NM="/usr/bin/nm -B"
-
-# A symbol stripping program
-STRIP="strip"
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=file
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="dlltool"
-
-# Used on cygwin: object dumper.
-OBJDUMP="objdump"
-
-# Used on cygwin: assembler.
-AS="as"
-
-# The name of the directory that contains temporary libtool files.
-objdir=.libs
-
-# How to create reloadable object files.
-reload_flag=" -r"
-reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
-
-# How to pass a linker flag through the compiler.
-wl="-Wl,"
-
-# Object file suffix (normally "o").
-objext="o"
-
-# Old archive suffix (normally "a").
-libext="a"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='.so'
-
-# Executable file suffix (normally "").
-exeext=""
-
-# Additional compiler flags for building library objects.
-pic_flag=" -fPIC -DPIC"
-pic_mode=default
-
-# What is the maximum length of a command?
-max_cmd_len=32768
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o="yes"
-
-# Must we lock files when doing compilation?
-need_locks="no"
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=no
-
-# Do we need a version for libraries?
-need_version=no
-
-# Whether dlopen is supported.
-dlopen_support=unknown
-
-# Whether dlopen of programs is supported.
-dlopen_self=unknown
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=unknown
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag="-static"
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=" -fno-builtin"
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec="\${wl}--export-dynamic"
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive"
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=""
-
-# Library versioning type.
-version_type=linux
-
-# Format of library name prefix.
-libname_spec="lib\$name"
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}"
-
-# The coded name of the library, if different from the real name.
-soname_spec="\${libname}\${release}\${shared_ext}\$major"
-
-# Commands used to build and install an old-style archive.
-RANLIB="ranlib"
-old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib"
-old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib"
-old_postuninstall_cmds=""
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=""
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=""
-
-# Commands used to build and install a shared archive.
-archive_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib"
-archive_expsym_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-retain-symbols-file \$wl\$export_symbols -o \$lib"
-postinstall_cmds=""
-postuninstall_cmds=""
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=""
-module_expsym_cmds=""
-
-# Commands to strip libraries.
-old_striplib="strip --strip-debug"
-striplib="strip --strip-unneeded"
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects="/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/crti.o /usr/lib/gcc/i486-linux-gnu/4.1.2/crtbeginS.o"
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects="/usr/lib/gcc/i486-linux-gnu/4.1.2/crtendS.o /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/crtn.o"
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=""
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s"
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path="-L/usr/lib/gcc/i486-linux-gnu/4.1.2 -L/usr/lib/gcc/i486-linux-gnu/4.1.2 -L/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib -L/lib/../lib -L/usr/lib/../lib"
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method="pass_all"
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd="\$MAGIC_CMD"
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=""
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=""
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir"
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=""
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'"
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'"
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'"
-
-# This is the shared library runtime path variable.
-runpath_var=LD_RUN_PATH
-
-# This is the shared library path variable.
-shlibpath_var=LD_LIBRARY_PATH
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=no
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=immediate
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=yes
-
-# Flag to hardcode $libdir into a binary during linking.
-# This must work even if $libdir does not exist.
-hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir"
-
-# If ld is used when linking, flag to hardcode $libdir into
-# a binary during linking. This must work even if $libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=""
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=""
-
-# Set to yes if using DIR/libNAME during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=no
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=no
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=unsupported
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=no
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=unknown
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=" /usr/lib/gcc/i486-linux-gnu/4.1.2/ /usr/lib/gcc/i486-linux-gnu/4.1.2/ /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../i486-linux-gnu/lib/i486-linux-gnu/4.1.2/ /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../i486-linux-gnu/lib/ /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../i486-linux-gnu/4.1.2/ /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../ /lib/i486-linux-gnu/4.1.2/ /lib/ /usr/lib/i486-linux-gnu/4.1.2/ /usr/lib/"
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/local/lib "
-
-# Fix the shell variable $srcfile for the compiler.
-fix_srcfile_path=""
-
-# Set to yes if exported symbols are required.
-always_export_symbols=no
-
-# The commands to list exported symbols.
-export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols"
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=""
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=""
-
-# Symbols that must always be exported.
-include_expsyms=""
-
-# ### END LIBTOOL TAG CONFIG: CXX
-
diff --git a/libs/glibmm2/scripts/Makefile b/libs/glibmm2/scripts/Makefile
deleted file mode 100644
index e6b3a83092..0000000000
--- a/libs/glibmm2/scripts/Makefile
+++ /dev/null
@@ -1,387 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# scripts/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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.
-
-
-
-srcdir = .
-top_srcdir = ..
-
-pkgdatadir = $(datadir)/glibmm
-pkglibdir = $(libdir)/glibmm
-pkgincludedir = $(includedir)/glibmm
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-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 = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-subdir = scripts
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- config.guess config.sub depcomp install-sh ltmain.sh missing
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
-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 = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(m4dir)"
-m4DATA_INSTALL = $(INSTALL_DATA)
-DATA = $(m4_DATA)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run aclocal-1.9 -I ./scripts
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run tar
-AR = ar
-AS = as
-AUTOCONF = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run autoconf
-AUTOHEADER = :
-AUTOMAKE = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS =
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2 -Wall -Wno-long-long
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-DISABLE_DEPRECATED_API_CFLAGS =
-DISABLE_DEPRECATED_CFLAGS =
-DLLTOOL = dlltool
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-GLIBMM_CFLAGS = -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GLIBMM_LIBS = -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
-GLIBMM_MAJOR_VERSION = 2
-GLIBMM_MICRO_VERSION = 3
-GLIBMM_MINOR_VERSION = 13
-GLIBMM_RELEASE = 2.13
-GLIBMM_VERSION = 2.13.3
-GTHREAD_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GTHREAD_LIBS = -pthread -lgthread-2.0 -lrt -lglib-2.0
-GTKMMPROC_MERGECDOCS =
-GTKMM_DOXYGEN_INPUT = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/glib/glibmm/
-GTKMM_FALSE_FALSE =
-GTKMM_FALSE_TRUE = #
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBGLIBMM_SO_VERSION = 1:24:0
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-M4 = m4
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run makeinfo
-OBJDUMP = objdump
-OBJEXT = o
-OS_WIN32_FALSE =
-OS_WIN32_TRUE = #
-PACKAGE = glibmm
-PACKAGE_BUGREPORT =
-PACKAGE_NAME =
-PACKAGE_STRING =
-PACKAGE_TARNAME =
-PACKAGE_VERSION =
-PATH_SEPARATOR = :
-PERL_PATH = /usr/bin/perl
-PKG_CONFIG = /usr/bin/pkg-config
-PLATFORM_WIN32_FALSE =
-PLATFORM_WIN32_TRUE = #
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.13.3
-ac_ct_AR = ar
-ac_ct_AS =
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_DLLTOOL =
-ac_ct_F77 =
-ac_ct_OBJDUMP =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-ac_pt_PKG_CONFIG = /usr/bin/pkg-config
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target_alias =
-
-# Install m4 macros needed by other *mm packages:
-m4dir = $(datadir)/aclocal
-m4_DATA = glibmm_check_perl.m4
-EXTRA_DIST = README config.sub missing config.guess install-sh \
- ltmain.sh cxx.m4 cxx_std.m4 docgen.m4 macros.m4 reduced.m4 \
- $(m4_DATA)
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu scripts/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu scripts/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: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-m4DATA: $(m4_DATA)
- @$(NORMAL_INSTALL)
- test -z "$(m4dir)" || $(mkdir_p) "$(DESTDIR)$(m4dir)"
- @list='$(m4_DATA)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(m4DATA_INSTALL) '$$d$$p' '$(DESTDIR)$(m4dir)/$$f'"; \
- $(m4DATA_INSTALL) "$$d$$p" "$(DESTDIR)$(m4dir)/$$f"; \
- done
-
-uninstall-m4DATA:
- @$(NORMAL_UNINSTALL)
- @list='$(m4_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(m4dir)/$$f'"; \
- rm -f "$(DESTDIR)$(m4dir)/$$f"; \
- done
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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)$(m4dir)"; 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)
-
-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 distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am: install-m4DATA
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-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-info-am uninstall-m4DATA
-
-.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-exec install-exec-am \
- install-info install-info-am install-m4DATA install-man \
- 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-info-am uninstall-m4DATA
-
-# 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:
diff --git a/libs/glibmm2/scripts/Makefile.am b/libs/glibmm2/scripts/Makefile.am
deleted file mode 100644
index 0edd72f1a0..0000000000
--- a/libs/glibmm2/scripts/Makefile.am
+++ /dev/null
@@ -1,8 +0,0 @@
-# Install m4 macros needed by other *mm packages:
-m4dir = $(datadir)/aclocal
-m4_DATA = glibmm_check_perl.m4
-
-EXTRA_DIST = README config.sub missing config.guess install-sh \
- ltmain.sh cxx.m4 cxx_std.m4 docgen.m4 macros.m4 reduced.m4 \
- $(m4_DATA)
-
diff --git a/libs/glibmm2/scripts/Makefile.in b/libs/glibmm2/scripts/Makefile.in
deleted file mode 100644
index 9574c987b0..0000000000
--- a/libs/glibmm2/scripts/Makefile.in
+++ /dev/null
@@ -1,387 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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 = scripts
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- config.guess config.sub depcomp install-sh ltmain.sh missing
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
-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 = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(m4dir)"
-m4DATA_INSTALL = $(INSTALL_DATA)
-DATA = $(m4_DATA)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
-DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
-DLLTOOL = @DLLTOOL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
-GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
-GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
-GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-M4 = @M4@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL_PATH = @PERL_PATH@
-PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-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@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-# Install m4 macros needed by other *mm packages:
-m4dir = $(datadir)/aclocal
-m4_DATA = glibmm_check_perl.m4
-EXTRA_DIST = README config.sub missing config.guess install-sh \
- ltmain.sh cxx.m4 cxx_std.m4 docgen.m4 macros.m4 reduced.m4 \
- $(m4_DATA)
-
-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 \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu scripts/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu scripts/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
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-m4DATA: $(m4_DATA)
- @$(NORMAL_INSTALL)
- test -z "$(m4dir)" || $(mkdir_p) "$(DESTDIR)$(m4dir)"
- @list='$(m4_DATA)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(m4DATA_INSTALL) '$$d$$p' '$(DESTDIR)$(m4dir)/$$f'"; \
- $(m4DATA_INSTALL) "$$d$$p" "$(DESTDIR)$(m4dir)/$$f"; \
- done
-
-uninstall-m4DATA:
- @$(NORMAL_UNINSTALL)
- @list='$(m4_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(m4dir)/$$f'"; \
- rm -f "$(DESTDIR)$(m4dir)/$$f"; \
- done
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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)$(m4dir)"; 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)
-
-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 distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am: install-m4DATA
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-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-info-am uninstall-m4DATA
-
-.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-exec install-exec-am \
- install-info install-info-am install-m4DATA install-man \
- 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-info-am uninstall-m4DATA
-
-# 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:
diff --git a/libs/glibmm2/scripts/README b/libs/glibmm2/scripts/README
deleted file mode 100644
index 8b13789179..0000000000
--- a/libs/glibmm2/scripts/README
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/libs/glibmm2/scripts/cxx.m4 b/libs/glibmm2/scripts/cxx.m4
deleted file mode 100644
index 8dce019940..0000000000
--- a/libs/glibmm2/scripts/cxx.m4
+++ /dev/null
@@ -1,364 +0,0 @@
-
-dnl
-dnl AC_CXX_NAMESPACES(ACTION_FOUND,ACTION_NOT_FOUND)
-dnl
-AC_DEFUN([AC_CXX_NAMESPACES],[
-AC_MSG_CHECKING(if C++ compiler supports namespaces)
-AC_TRY_COMPILE(
-[
-namespace Foo { struct A {}; }
-using namespace Foo;
-],[
-A a;
-(void)a;
-],[
- ac_cxx_namespaces=yes
- AC_MSG_RESULT([$ac_cxx_namespaces])
- $1
-],[
- ac_cxx_namespaces=no
- AC_MSG_RESULT([$ac_cxx_namespaces])
- $2
-])
-])
-
-dnl
-dnl AC_CXX_NAMESPACES(ACTION_FOUND,ACTION_NOT_FOUND)
-dnl
-AC_DEFUN([AC_CXX_BOOL],[
-AC_MSG_CHECKING(if C++ compiler supports bool)
-AC_TRY_COMPILE(
-[
-],[
- bool b=true;
- bool b1=false;
- (void)b;
- (void)b1;
-],[
- ac_cxx_bool=yes
- AC_MSG_RESULT([$ac_cxx_bool])
- $1
-],[
- ac_cxx_bool=no
- AC_MSG_RESULT([$ac_cxx_bool])
- $2
-])
-])
-
-dnl
-dnl AC_CXX_MUTABLE(ACTION_FOUND,ACTION_NOT_FOUND)
-dnl
-AC_DEFUN([AC_CXX_MUTABLE],[
-AC_MSG_CHECKING(if C++ compiler supports mutable)
-AC_TRY_COMPILE(
-[
-class k {
- mutable char *c;
-public:
- void foo() const { c=0; }
-};
-],[
-],[
- ac_cxx_mutable=yes
- AC_MSG_RESULT([$ac_cxx_mutable])
- $1
-],[
- ac_cxx_mutable=no
- AC_MSG_RESULT([$ac_cxx_mutable])
- $2
-])
-])
-
-
-dnl
-dnl AC_CXX_CONST_CAST(ACTION_FOUND,ACTION_NOT_FOUND)
-dnl
-AC_DEFUN([AC_CXX_CONST_CAST],[
-AC_MSG_CHECKING([if C++ compiler supports const_cast<>])
-AC_TRY_COMPILE(
-[
- class foo;
-],[
- const foo *c=0;
- foo *c1=const_cast<foo*>(c);
- (void)c1;
-],[
- ac_cxx_const_cast=yes
- AC_MSG_RESULT([$ac_cxx_const_cast])
-],[
- ac_cxx_const_cast=no
- AC_MSG_RESULT([$ac_cxx_const_cast])
-])
-])
-
-
-dnl
-dnl GLIBMM_CXX_MEMBER_FUNCTIONS_MEMBER_TEMPLATES(ACTION_FOUND,ACTION_NOT_FOUND)
-dnl
-dnl Test whether the compiler allows member functions to refer to spezialized member function templates.
-dnl Some compilers have problems with this. gcc 2.95.3 aborts with an internal compiler error.
-dnl
-AC_DEFUN([GLIBMM_CXX_MEMBER_FUNCTIONS_MEMBER_TEMPLATES],[
-AC_MSG_CHECKING([if C++ compiler allows member functions to refer to member templates])
-AC_TRY_COMPILE(
-[
- struct foo {
- template <class C> inline
- void doit();
- void thebug();
- };
-
- template <class C> inline
- void foo::doit() {
- }
-
- struct bar {
- void neitherabug();
- };
-
- void notabug() {
- void (foo::*func)();
- func = &foo::doit<int>;
- (void)func;
- }
-
- void bar::neitherabug() {
- void (foo::*func)();
- func = &foo::doit<int>;
- (void)func;
- }
-
- void foo::thebug() {
- void (foo::*func)();
- func = &foo::doit<int>; //Compiler bugs usually show here.
- (void)func;
- }
-],[],[
- glibmm_cxx_member_functions_member_templates=yes
- AC_DEFINE([GLIBMM_MEMBER_FUNCTIONS_MEMBER_TEMPLATES],[1],[does the C++ compiler allow member functions to refer to member templates])
- AC_MSG_RESULT([$glibmm_cxx_member_functions_member_templates])
-],[
- glibmm_cxx_member_functions_member_templates=no
- AC_DEFINE([GLIBMM_MEMBER_FUNCTIONS_MEMBER_TEMPLATES],[0])
- AC_MSG_RESULT([$glibmm_cxx_member_functions_member_templates])
-])
-])
-
-## GLIBMM_CXX_CAN_DISAMBIGUATE_CONST_TEMPLATE_SPECIALIZATIONS()
-##
-## Check whether the compiler finds it ambiguous to have both
-## const and non-const template specializations,
-## The SUN Forte compiler has this problem, though we are
-## not 100% sure that it's a C++ standards violation.
-##
-AC_DEFUN([GLIBMM_CXX_CAN_DISAMBIGUATE_CONST_TEMPLATE_SPECIALIZATIONS],
-[
- AC_REQUIRE([GLIBMM_CXX_HAS_NAMESPACE_STD])
-
- AC_CACHE_CHECK(
- [whether the compiler finds it ambiguous to have both const and non-const template specializations],
- [glibmm_cv_cxx_can_disambiguate_const_template_specializations],
- [
- AC_TRY_COMPILE(
- [
- #include <iostream>
-
- template <class T> class Foo {};
-
- template <typename T> class Traits {
- public:
- const char* whoami() {
- return "generic template";
- }
- };
-
- template <typename T> class Traits<Foo<T> > {
- public:
- const char* whoami() {
- return "partial specialization for Foo<T>";
- }
- };
-
- template <typename T> class Traits<Foo<const T> > {
- public:
- const char* whoami() {
- return "partial specialization for Foo<const T>";
- }
- };
-
- ],[
- Traits<int> it;
- Traits<Foo<int> > fit;
- Traits<Foo<const int> > cfit;
-
- std::cout << "Traits<int> --> "
- << it.whoami() << std::endl;
- std::cout << "Traits<Foo<int>> --> "
- << fit.whoami() << std::endl;
- std::cout << "Traits<Foo<const int >> --> "
- << cfit.whoami() << std::endl;
- ],
- [glibmm_cv_cxx_can_disambiguate_const_template_specializations="yes"],
- [glibmm_cv_cxx_can_disambiguate_const_template_specializations="no"]
- )
- ])
-
- if test "x${glibmm_cv_cxx_can_disambiguate_const_template_specializations}" = "xyes"; then
- {
- AC_DEFINE([GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS],[1], [Defined if the compiler does not find it ambiguous to have both const and non-const template specializations])
- }
- fi
-])
-
-
-
-## GLIBMM_CXX_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION()
-##
-## Check whether the compiler allows us to define a template that uses
-## dynamic_cast<> with an object whose type is not defined,
-## even if we do not use that template before we have defined the type.
-## This should probably not be allowed anyway.
-##
-AC_DEFUN([GLIBMM_CXX_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION],
-[
- AC_CACHE_CHECK(
- [whether the compiler allows us to define a template that uses dynamic_cast<> with an object whose type is not yet defined],
- [glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition],
- [
- AC_TRY_COMPILE(
- [
- class SomeClass;
-
- SomeClass* some_function();
-
- template <class T>
- class SomeTemplate
- {
- static bool do_something()
- {
- //This does not compile, with the MipsPro (IRIX) compiler
- //even if we don't use this template at all.
- //(We would use it later, after we have defined the type).
- return dynamic_cast<T*>(some_function());
- }
- };
-
- ],[
-
- ],
- [glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition="yes"],
- [glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition="no"]
- )
- ])
-
- if test "x${glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition}" = "xyes"; then
- {
- AC_DEFINE([GLIBMM_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION],[1], [Defined if the compiler allows us to define a template that uses dynamic_cast<> with an object whose type is not yet defined.])
- }
- fi
-])
-
-
-## GLIBMM_CXX_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS()
-##
-## Check whether the compiler allows us to use a non-extern "C" function,
-## such as a static member function, to an extern "C" function pointer,
-## such as a GTK+ callback.
-## This should not be allowed anyway.
-##
-AC_DEFUN([GLIBMM_CXX_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS],
-[
- AC_CACHE_CHECK(
- [whether the the compilerallows us to use a non-extern "C" function for an extern "C" function pointer.],
- [glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks],
- [
- AC_TRY_COMPILE(
- [
- extern "C"
- {
- struct somestruct
- {
- void (*callback) (int);
- };
-
- } // extern "C"
-
- void somefunction(int)
- {
- }
-
- ],[
- somestruct something;
- something.callback = &somefunction;
- ],
- [glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks="yes"],
- [glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks="no"]
- )
- ])
-
- if test "x${glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks}" = "xyes"; then
- {
- AC_DEFINE([GLIBMM_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS],[1], [Defined if the compiler allows us to use a non-extern "C" function for an extern "C" function pointer.])
- }
- fi
-])
-
-## GLIBMM_CXX_CAN_USE_NAMESPACES_INSIDE_EXTERNC()
-##
-## Check whether the compiler puts extern "C" functions in the global namespace,
-## even inside a namespace declaration. The AIX xlC compiler does this, and also
-## gets confused if we declare the namespace again inside the extern "C" block.
-## This seems like a compiler bug, but not a serious one.
-##
-AC_DEFUN([GLIBMM_CXX_CAN_USE_NAMESPACES_INSIDE_EXTERNC],
-[
- AC_CACHE_CHECK(
- [whether the compiler uses namespace declarations inside extern "C" blocks.],
- [glibmm_cv_cxx_can_use_namespaces_inside_externc],
- [
- AC_TRY_COMPILE(
- [
- namespace test
- {
-
- extern "C"
- {
-
- void do_something();
-
- } //extern C
-
-
- class Something
- {
- protected:
- int i;
-
- friend void do_something();
- };
-
- void do_something()
- {
- Something something;
- something.i = 1;
- }
-
- } //namespace
-
-
- ],[
-
- ],
- [glibmm_cv_cxx_can_use_namespaces_inside_externc="yes"],
- [glibmm_cv_cxx_can_use_namespaces_inside_externc="no"]
- )
- ])
-
- if test "x${glibmm_cv_cxx_can_use_namespaces_inside_externc}" = "xyes"; then
- {
- AC_DEFINE([GLIBMM_CAN_USE_NAMESPACES_INSIDE_EXTERNC],[1], [Defined if the compiler whether the compiler uses namespace declarations inside extern "C" blocks.])
- }
- fi
-])
-
-
diff --git a/libs/glibmm2/scripts/cxx_std.m4 b/libs/glibmm2/scripts/cxx_std.m4
deleted file mode 100644
index cb64fd4afe..0000000000
--- a/libs/glibmm2/scripts/cxx_std.m4
+++ /dev/null
@@ -1,195 +0,0 @@
-cv_cxx_has_namespace_std
-## GLIBMM_CXX_HAS_NAMESPACE_STD()
-##
-## Test whether libstdc++ declares namespace std. For safety,
-## also check whether several randomly selected STL symbols
-## are available in namespace std.
-##
-## On success, #define GLIBMM_HAVE_NAMESPACE_STD to 1.
-##
-AC_DEFUN([GLIBMM_CXX_HAS_NAMESPACE_STD],
-[
- AC_CACHE_CHECK(
- [whether C++ library symbols are declared in namespace std],
- [gtkmm_cv_cxx_has_namespace_std],
- [
- AC_TRY_COMPILE(
- [
- #include <algorithm>
- #include <iterator>
- #include <iostream>
- #include <string>
- ],[
- using std::min;
- using std::find;
- using std::copy;
- using std::bidirectional_iterator_tag;
- using std::string;
- using std::istream;
- using std::cout;
- ],
- [gtkmm_cv_cxx_has_namespace_std="yes"],
- [gtkmm_cv_cxx_has_namespace_std="no"]
- )
- ])
-
- if test "x${gtkmm_cv_cxx_has_namespace_std}" = "xyes"; then
- {
- AC_DEFINE([GLIBMM_HAVE_NAMESPACE_STD],[1], [Defined when the libstdc++ declares the std-namespace])
- }
- fi
-])
-
-
-## GLIBMM_CXX_HAS_STD_ITERATOR_TRAITS()
-##
-## Check for standard-conform std::iterator_traits<>, and
-## #define GLIBMM_HAVE_STD_ITERATOR_TRAITS on success.
-##
-AC_DEFUN([GLIBMM_CXX_HAS_STD_ITERATOR_TRAITS],
-[
- AC_REQUIRE([GLIBMM_CXX_HAS_NAMESPACE_STD])
-
- AC_CACHE_CHECK(
- [whether the C++ library supports std::iterator_traits],
- [gtkmm_cv_cxx_has_std_iterator_traits],
- [
- AC_TRY_COMPILE(
- [
- #include <iterator>
- #ifdef GLIBMM_HAVE_NAMESPACE_STD
- using namespace std;
- #endif
- ],[
- typedef iterator_traits<char*>::value_type ValueType;
- ],
- [gtkmm_cv_cxx_has_std_iterator_traits="yes"],
- [gtkmm_cv_cxx_has_std_iterator_traits="no"]
- )
- ])
-
- if test "x${gtkmm_cv_cxx_has_std_iterator_traits}" = "xyes"; then
- {
- AC_DEFINE([GLIBMM_HAVE_STD_ITERATOR_TRAITS],[1], [Defined if std::iterator_traits<> is standard-conforming])
- }
- fi
-])
-
-
-## GLIBMM_CXX_HAS_SUN_REVERSE_ITERATOR()
-##
-## Check for Sun libCstd style std::reverse_iterator,
-## and #define GLIBMM_HAVE_SUN_REVERSE_ITERATOR if found.
-##
-AC_DEFUN([GLIBMM_CXX_HAS_SUN_REVERSE_ITERATOR],
-[
- AC_REQUIRE([GLIBMM_CXX_HAS_NAMESPACE_STD])
-
- AC_CACHE_CHECK(
- [for non-standard Sun libCstd reverse_iterator],
- [gtkmm_cv_cxx_has_sun_reverse_iterator],
- [
- AC_TRY_COMPILE(
- [
- #include <iterator>
- #ifdef GLIBMM_HAVE_NAMESPACE_STD
- using namespace std;
- #endif
- ],[
- typedef reverse_iterator<char*,random_access_iterator_tag,char,char&,char*,int> ReverseIter;
- ],
- [gtkmm_cv_cxx_has_sun_reverse_iterator="yes"],
- [gtkmm_cv_cxx_has_sun_reverse_iterator="no"]
- )
- ])
-
- if test "x${gtkmm_cv_cxx_has_sun_reverse_iterator}" = "xyes"; then
- {
- AC_DEFINE([GLIBMM_HAVE_SUN_REVERSE_ITERATOR],[1], [Defined if std::reverse_iterator is in Sun libCstd style])
- }
- fi
-])
-
-
-## GLIBMM_CXX_HAS_TEMPLATE_SEQUENCE_CTORS()
-##
-## Check whether the STL containers have templated sequence ctors,
-## and #define GLIBMM_HAVE_TEMPLATE_SEQUENCE_CTORS on success.
-##
-AC_DEFUN([GLIBMM_CXX_HAS_TEMPLATE_SEQUENCE_CTORS],
-[
- AC_REQUIRE([GLIBMM_CXX_HAS_NAMESPACE_STD])
-
- AC_CACHE_CHECK(
- [whether STL containers have templated sequence constructors],
- [gtkmm_cv_cxx_has_template_sequence_ctors],
- [
- AC_TRY_COMPILE(
- [
- #include <vector>
- #include <deque>
- #include <list>
- #ifdef GLIBMM_HAVE_NAMESPACE_STD
- using namespace std;
- #endif
- ],[
- const int array[8] = { 0, };
- vector<int> test_vector (&array[0], &array[8]);
- deque<short> test_deque (test_vector.begin(), test_vector.end());
- list<long> test_list (test_deque.begin(), test_deque.end());
- test_vector.assign(test_list.begin(), test_list.end());
- ],
- [gtkmm_cv_cxx_has_template_sequence_ctors="yes"],
- [gtkmm_cv_cxx_has_template_sequence_ctors="no"]
- )
- ])
-
- if test "x${gtkmm_cv_cxx_has_template_sequence_ctors}" = "xyes"; then
- {
- AC_DEFINE([GLIBMM_HAVE_TEMPLATE_SEQUENCE_CTORS],[1], [Defined if the STL containers have templated sequence ctors])
- }
- fi
-])
-
-## GLIBMM_CXX_ALLOWS_STATIC_INLINE_NPOS()
-##
-## Check whether the a static member variable may be initialized inline to std::string::npos.
-## The MipsPro (IRIX) compiler does not like this.
-## and #define GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS on success.
-##
-AC_DEFUN([GLIBMM_CXX_ALLOWS_STATIC_INLINE_NPOS],
-[
- AC_REQUIRE([GLIBMM_CXX_HAS_NAMESPACE_STD])
-
- AC_CACHE_CHECK(
- [whether the compiler allows a static member variable to be initialized inline to std::string::npos],
- [gtkmm_cv_cxx_has_allows_static_inline_npos],
- [
- AC_TRY_COMPILE(
- [
- #include <string>
- #include <iostream>
-
- class ustringtest
- {
- public:
- //The MipsPro compiler (IRIX) says "The indicated constant value is not known",
- //so we need to initalize the static member data elsewhere.
- static const std::string::size_type ustringnpos = std::string::npos;
- };
- ],[
- std::cout << "npos=" << ustringtest::ustringnpos << std::endl;
- ],
- [gtkmm_cv_cxx_has_allows_static_inline_npos="yes"],
- [gtkmm_cv_cxx_has_allows_static_inline_npos="no"]
- )
- ])
-
- if test "x${gtkmm_cv_cxx_has_allows_static_inline_npos}" = "xyes"; then
- {
- AC_DEFINE([GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS],[1], [Defined if a static member variable may be initialized inline to std::string::npos])
- }
- fi
-])
-
-
diff --git a/libs/glibmm2/scripts/docgen.m4 b/libs/glibmm2/scripts/docgen.m4
deleted file mode 100644
index 8a04aaaab7..0000000000
--- a/libs/glibmm2/scripts/docgen.m4
+++ /dev/null
@@ -1,75 +0,0 @@
-
-## GTKMM_DOXYGEN_INPUT_SUBDIRS(subdirectory list)
-##
-AC_DEFUN([GTKMM_DOXYGEN_INPUT_SUBDIRS],
-[
-GTKMM_DOXYGEN_INPUT=
-gtkmm_srcdir=`cd "$srcdir" >/dev/null && pwd`
-
-gtkmm_list="$@"
-for gtkmm_sublib in $gtkmm_list
-do
- GTKMM_DOXYGEN_INPUT="$GTKMM_DOXYGEN_INPUT ${gtkmm_srcdir}/${gtkmm_sublib}/${gtkmm_sublib}mm/"
-done
-
-AC_SUBST(GTKMM_DOXYGEN_INPUT)
-])
-
-
-## GTKMM_ARG_ENABLE_FULLDOCS()
-##
-## Check whether to build the full docs into the generated source. If yes,
-## set GTKMMPROC_MERGECDOCS='--mergecdocs', which will be passed to gtkmmproc
-## (in build_shared/Makefile_gensrc.am_fragment). This will be much slower.
-##
-AC_DEFUN([GTKMM_ARG_ENABLE_FULLDOCS],
-[
-AC_REQUIRE([GLIBMM_CHECK_PERL])
-
-AC_MSG_CHECKING([[whether to merge C reference docs into generated headers]])
-
-AC_ARG_ENABLE([fulldocs],
- [ --enable-fulldocs Generate fully-documented reference docs, takes
- longer to build. [[default=enabled for CVS builds]]],
- [gtkmm_enable_fulldocs=$enableval],
- [gtkmm_enable_fulldocs=$USE_MAINTAINER_MODE])
-
-AC_MSG_RESULT([${gtkmm_enable_fulldocs}])
-
-GTKMMPROC_MERGECDOCS=
-
-if test "x$gtkmm_enable_fulldocs" = xyes; then
-{
- GTKMMPROC_MERGECDOCS='--mergecdocs'
-
- if test "x$USE_MAINTAINER_MODE" != xyes; then
- {
- AC_MSG_WARN([[
-*** --enable-fulldocs only works if --enable-maintainer-mode is also set.
-*** gtkmm source tarballs should be packaged with --enable-fulldocs, so
-*** usually you don't need this option unless you got gtkmm from CVS.
-]])
- }
- fi
-
- AC_CACHE_CHECK(
- [whether the XML::Parser module is available],
- [gtkmm_cv_have_xml_parser],
- [
- gtkmm_cv_have_xml_parser=no
- "$PERL_PATH" -e 'use strict; use XML::Parser; exit 0;' >&5 2>&5 && gtkmm_cv_have_xml_parser=yes
- ])
-
- if test "x$gtkmm_cv_have_xml_parser" = xno; then
- {
- AC_MSG_ERROR([[
-*** The Perl module XML::Parser is required to build $PACKAGE from CVS.
-]])
- }
- fi
-}
-fi
-
-AC_SUBST(GTKMMPROC_MERGECDOCS)
-])
-
diff --git a/libs/glibmm2/scripts/glibmm_check_perl.m4 b/libs/glibmm2/scripts/glibmm_check_perl.m4
deleted file mode 100644
index 62519e5c43..0000000000
--- a/libs/glibmm2/scripts/glibmm_check_perl.m4
+++ /dev/null
@@ -1,54 +0,0 @@
-dnl
-dnl Some macros needed for autoconf
-dnl
-
-
-## GLIBMM_CV_PERL_VERSION(version)
-##
-## Helper macro of GLIBMM_CHECK_PERL(). It generates a cache variable
-## name that includes the version number, in order to avoid clashes.
-##
-AC_DEFUN([GLIBMM_CV_PERL_VERSION],[glibmm_cv_perl_version_[]m4_translit([$1],[.${}],[____])])
-
-
-## GLIBMM_CHECK_PERL(version)
-##
-## Check for Perl >= version and set PERL_PATH. If Perl is not found
-## and maintainer-mode is enabled, abort with an error message. If not
-## in maintainer-mode, set PERL_PATH=perl on failure.
-##
-AC_DEFUN([GLIBMM_CHECK_PERL],
-[
- glibmm_perl_result=no
-
- AC_PATH_PROGS([PERL_PATH], [perl perl5], [not found])
-
- if test "x$PERL_PATH" != "xnot found"; then
- {
- AC_CACHE_CHECK(
- [whether Perl is new enough],
- GLIBMM_CV_PERL_VERSION([$1]),
- [
- ]GLIBMM_CV_PERL_VERSION([$1])[=no
- "$PERL_PATH" -e "require v$1; exit 0;" >/dev/null 2>&1 && ]GLIBMM_CV_PERL_VERSION([$1])[=yes
- ])
- test "x${GLIBMM_CV_PERL_VERSION([$1])}" = xyes && glibmm_perl_result=yes
- }
- else
- {
- # Make sure we have something sensible, even if it doesn't work.
- PERL_PATH=perl
- }
- fi
-
- if test "x$glibmm_perl_result" = xno && test "x$USE_MAINTAINER_MODE" = xyes; then
- {
- AC_MSG_ERROR([[
-*** Perl >= ]$1[ is required for building $PACKAGE in maintainer-mode.
-]])
- }
- fi
-
- AC_SUBST([PERL_PATH])
-])
-
diff --git a/libs/glibmm2/scripts/reduced.m4 b/libs/glibmm2/scripts/reduced.m4
deleted file mode 100644
index 9411a57824..0000000000
--- a/libs/glibmm2/scripts/reduced.m4
+++ /dev/null
@@ -1,106 +0,0 @@
-## GLIBMM_ARG_ENABLE_API_PROPERTIES()
-##
-## Provide the --enable-api-properties configure argument, enabled
-## by default.
-##
-AC_DEFUN([GLIBMM_ARG_ENABLE_API_PROPERTIES],
-[
- AC_ARG_ENABLE([api-properties],
- [ --enable-api-properties Build properties API.
- [[default=yes]]],
- [glibmm_enable_api_properties="$enableval"],
- [glibmm_enable_api_properties='yes'])
-
- if test "x$glibmm_enable_api_properties" = "xyes"; then
- {
- AC_DEFINE([GLIBMM_PROPERTIES_ENABLED],[1], [Defined when the --enable-api-properties configure argument was given])
- }
- fi
-])
-
-## GLIBMM_ARG_ENABLE_API_VFUNCS()
-##
-## Provide the --enable-api-vfuncs configure argument, enabled
-## by default.
-##
-AC_DEFUN([GLIBMM_ARG_ENABLE_API_VFUNCS],
-[
- AC_ARG_ENABLE([api-vfuncs],
- [ --enable-api-vfuncs Build vfuncs API.
- [[default=yes]]],
- [glibmm_enable_api_vfuncs="$enableval"],
- [glibmm_enable_api_vfuncs='yes'])
-
- if test "x$glibmm_enable_api_vfuncs" = "xyes"; then
- {
- AC_DEFINE([GLIBMM_VFUNCS_ENABLED],[1], [Defined when the --enable-api-vfuncs configure argument was given])
- }
- fi
-])
-
-## GLIBMM_ARG_ENABLE_API_EXCEPTIONS()
-##
-## Provide the --enable-api-exceptions configure argument, enabled
-## by default.
-##
-AC_DEFUN([GLIBMM_ARG_ENABLE_API_EXCEPTIONS],
-[
- AC_ARG_ENABLE([api-exceptions],
- [ --enable-api-exceptions Build exceptions API.
- [[default=yes]]],
- [glibmm_enable_api_exceptions="$enableval"],
- [glibmm_enable_api_exceptions='yes'])
-
- if test "x$glibmm_enable_api_exceptions" = "xyes"; then
- {
- AC_DEFINE([GLIBMM_EXCEPTIONS_ENABLED],[1], [Defined when the --enable-api-exceptions configure argument was given])
- }
- fi
-])
-
-## GLIBMM_ARG_ENABLE_API_DEPRECATED()
-##
-## Provide the --enable-deprecated-api configure argument, enabled
-## by default.
-##
-AC_DEFUN([GLIBMM_ARG_ENABLE_API_DEPRECATED],
-[
- AC_ARG_ENABLE(deprecated-api,
- [ --enable-deprecated-api Include (build) deprecated API in the libraries.
- [[default=yes]]],
- [glibmm_enable_api_deprecated="$enableval"],
- [glibmm_enable_api_deprecated='yes'])
-
- if test "x$glibmm_enable_api_deprecated" = "xyes"; then
- {
- AC_MSG_WARN([Deprecated API will be built, for backwards-compatibility.])
- }
- else
- {
- AC_MSG_WARN([Deprecated API will not be built, breaking backwards-compatibility. Do not use this build for distribution packages.])
- DISABLE_DEPRECATED_API_CFLAGS="-DGLIBMM_DISABLE_DEPRECATED"
- AC_SUBST(DISABLE_DEPRECATED_API_CFLAGS)
- }
- fi
-])
-
-
-## GLIBMM_ARG_ENABLE_API_DEFAULT_SIGNAL_HANDLERS()
-##
-## Provide the --enable-api-default-signal-handlers configure argument, enabled
-## by default.
-##
-AC_DEFUN([GLIBMM_ARG_ENABLE_API_DEFAULT_SIGNAL_HANDLERS],
-[
- AC_ARG_ENABLE([api-default-signal-handlers],
- [ --enable-api-default-signal-handlers Build default signal handlers API.
- [[default=yes]]],
- [glibmm_enable_api_default_signal_handlers="$enableval"],
- [glibmm_enable_api_default_signal_handlers='yes'])
-
- if test "x$glibmm_enable_api_default_signal_handlers" = "xyes"; then
- {
- AC_DEFINE([GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED],[1], [Defined when the --enable-api-default-signal-handlers configure argument was given])
- }
- fi
-])
diff --git a/libs/glibmm2/scripts/sun.m4 b/libs/glibmm2/scripts/sun.m4
deleted file mode 100644
index 6b8950f798..0000000000
--- a/libs/glibmm2/scripts/sun.m4
+++ /dev/null
@@ -1,15 +0,0 @@
-AC_DEFUN([GLIBMM_PROG_CXX_SUN],
- [AC_CACHE_CHECK(whether we are using SUN CC compiler, ac_cv_prog_sun_cxx,
- [if AC_TRY_COMMAND(${CXX-g++} -V 2>&1) | egrep "Sun WorkShop" >/dev/null 2>&1; then
- ac_cv_prog_sun_cxx=yes
- else
- ac_cv_prog_sun_cxx=no
- fi]
- )]
-
- if test "x${ac_cv_prog_sun_cxx}" = "xyes"; then
- {
- AC_DEFINE([GLIBMM_COMPILER_SUN_FORTE],[1], [Defined when the SUN Forte C++ compiler is being used.])
- }
- fi
-)
diff --git a/libs/glibmm2/stamp-h1 b/libs/glibmm2/stamp-h1
deleted file mode 100644
index 4547fe1b5e..0000000000
--- a/libs/glibmm2/stamp-h1
+++ /dev/null
@@ -1 +0,0 @@
-timestamp for config.h
diff --git a/libs/glibmm2/tests/Makefile.in b/libs/glibmm2/tests/Makefile.in
index 44bf1f9a25..78b4677d0d 100644
--- a/libs/glibmm2/tests/Makefile.in
+++ b/libs/glibmm2/tests/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 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.
@@ -13,15 +13,11 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -38,8 +34,8 @@ host_triplet = @host@
subdir = tests
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/scripts/c_std.m4 \
+ $(top_srcdir)/scripts/cxx.m4 $(top_srcdir)/scripts/cxx_std.m4 \
$(top_srcdir)/scripts/docgen.m4 \
$(top_srcdir)/scripts/glibmm_check_perl.m4 \
$(top_srcdir)/scripts/macros.m4 \
@@ -55,17 +51,18 @@ SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-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
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
@@ -103,12 +100,12 @@ GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
GLIBMM_RELEASE = @GLIBMM_RELEASE@
GLIBMM_VERSION = @GLIBMM_VERSION@
+GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -122,13 +119,10 @@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@
MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -138,27 +132,18 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
+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_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -170,28 +155,39 @@ 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@
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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
test_dirs = glibmm_value
SUBDIRS = $(test_dirs)
EXTRA_DIST = Makefile.am_fragment
@@ -234,10 +230,6 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
# 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,
@@ -269,8 +261,7 @@ $(RECURSIVE_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
+$(RECURSIVE_CLEAN_TARGETS):
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
@@ -371,22 +362,21 @@ 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)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @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; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -400,7 +390,7 @@ distdir: $(DISTFILES)
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
@@ -408,6 +398,8 @@ distdir: $(DISTFILES)
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
@@ -447,8 +439,7 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
@@ -462,12 +453,20 @@ info-am:
install-data-am:
+install-dvi: install-dvi-recursive
+
install-exec-am:
+install-html: install-html-recursive
+
install-info: install-info-recursive
install-man:
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -486,22 +485,24 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-info-am
+uninstall-am:
-uninstall-info: uninstall-info-recursive
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
+.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-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
+ 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 installcheck \
installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive \
- mostlyclean mostlyclean-generic mostlyclean-libtool \
- mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-info-am
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+ uninstall uninstall-am
# 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.
diff --git a/libs/glibmm2/tests/glibmm_value/Makefile.in b/libs/glibmm2/tests/glibmm_value/Makefile.in
index b9dfabcce2..0724cd1466 100644
--- a/libs/glibmm2/tests/glibmm_value/Makefile.in
+++ b/libs/glibmm2/tests/glibmm_value/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 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.
@@ -14,15 +14,11 @@
@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -41,8 +37,8 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
noinst_PROGRAMS = test$(EXEEXT)
subdir = tests/glibmm_value
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/scripts/c_std.m4 \
+ $(top_srcdir)/scripts/cxx.m4 $(top_srcdir)/scripts/cxx_std.m4 \
$(top_srcdir)/scripts/docgen.m4 \
$(top_srcdir)/scripts/glibmm_check_perl.m4 \
$(top_srcdir)/scripts/macros.m4 \
@@ -58,25 +54,24 @@ PROGRAMS = $(noinst_PROGRAMS)
am_test_OBJECTS = main.$(OBJEXT) glibmm_value.$(OBJEXT)
test_OBJECTS = $(am_test_OBJECTS)
test_LDADD = $(LDADD)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -I$(top_builddir)/glib
+DEFAULT_INCLUDES = -I. -I$(top_builddir) -I$(top_builddir)/glib@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
SOURCES = $(test_SOURCES)
DIST_SOURCES = $(test_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
@@ -114,12 +109,12 @@ GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
GLIBMM_RELEASE = @GLIBMM_RELEASE@
GLIBMM_VERSION = @GLIBMM_VERSION@
+GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -133,13 +128,10 @@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@
MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -149,27 +141,18 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
+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_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -181,28 +164,39 @@ 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@
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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/glib -I$(top_srcdir)/glib \
$(GLIBMM_CFLAGS) $(GTHREAD_CFLAGS)
@@ -250,7 +244,7 @@ clean-noinstPROGRAMS:
done
test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES)
@rm -f test$(EXEEXT)
- $(CXXLINK) $(test_LDFLAGS) $(test_OBJECTS) $(test_LDADD) $(LIBS)
+ $(CXXLINK) $(test_OBJECTS) $(test_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -262,22 +256,22 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
.cc.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
.cc.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cc.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
@@ -288,10 +282,6 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -341,23 +331,21 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/../../tests
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @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; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -405,7 +393,7 @@ distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
+ distclean-tags
dvi: dvi-am
@@ -419,12 +407,20 @@ info-am:
install-data-am:
+install-dvi: install-dvi-am
+
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
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -445,19 +441,22 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
+uninstall-am:
+
+.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-libtool clean-noinstPROGRAMS ctags distclean \
distclean-compile 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-exec \
- install-exec-am install-info install-info-am install-man \
+ 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 installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am \
- uninstall-info-am
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
$(GLIBMM_LIBS)
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/libs/glibmm2/tools/Makefile b/libs/glibmm2/tools/Makefile
deleted file mode 100644
index a62cca1c1f..0000000000
--- a/libs/glibmm2/tools/Makefile
+++ /dev/null
@@ -1,558 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# tools/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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.
-
-
-
-srcdir = .
-top_srcdir = ..
-
-pkgdatadir = $(datadir)/glibmm
-pkglibdir = $(libdir)/glibmm
-pkgincludedir = $(includedir)/glibmm
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-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 = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/generate_wrap_init.pl.in $(srcdir)/gmmproc.in \
- $(top_srcdir)/tools/Makefile_list_of_sources.am_fragment \
- $(top_srcdir)/tools/m4/Makefile_list_of_sources.am_fragment \
- $(top_srcdir)/tools/pm/Makefile_list_of_sources.am_fragment \
- TODO
-subdir = tools
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES = gmmproc generate_wrap_init.pl
-am__installdirs = "$(DESTDIR)$(gmmproc_bindir)"
-gmmproc_binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
-SCRIPTS = $(gmmproc_bin_SCRIPTS)
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run aclocal-1.9 -I ./scripts
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run tar
-AR = ar
-AS = as
-AUTOCONF = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run autoconf
-AUTOHEADER = :
-AUTOMAKE = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS =
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2 -Wall -Wno-long-long
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-DISABLE_DEPRECATED_API_CFLAGS =
-DISABLE_DEPRECATED_CFLAGS =
-DLLTOOL = dlltool
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-GLIBMM_CFLAGS = -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GLIBMM_LIBS = -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
-GLIBMM_MAJOR_VERSION = 2
-GLIBMM_MICRO_VERSION = 3
-GLIBMM_MINOR_VERSION = 13
-GLIBMM_RELEASE = 2.13
-GLIBMM_VERSION = 2.13.3
-GTHREAD_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GTHREAD_LIBS = -pthread -lgthread-2.0 -lrt -lglib-2.0
-GTKMMPROC_MERGECDOCS =
-GTKMM_DOXYGEN_INPUT = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/glib/glibmm/
-GTKMM_FALSE_FALSE =
-GTKMM_FALSE_TRUE = #
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBGLIBMM_SO_VERSION = 1:24:0
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-M4 = m4
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run makeinfo
-OBJDUMP = objdump
-OBJEXT = o
-OS_WIN32_FALSE =
-OS_WIN32_TRUE = #
-PACKAGE = glibmm
-PACKAGE_BUGREPORT =
-PACKAGE_NAME =
-PACKAGE_STRING =
-PACKAGE_TARNAME =
-PACKAGE_VERSION =
-PATH_SEPARATOR = :
-PERL_PATH = /usr/bin/perl
-PKG_CONFIG = /usr/bin/pkg-config
-PLATFORM_WIN32_FALSE =
-PLATFORM_WIN32_TRUE = #
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.13.3
-ac_ct_AR = ar
-ac_ct_AS =
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_DLLTOOL =
-ac_ct_F77 =
-ac_ct_OBJDUMP =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-ac_pt_PKG_CONFIG = /usr/bin/pkg-config
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target_alias =
-files_tools_m4 = base.m4 class_shared.m4 class_boxedtype.m4 class_boxedtype_static.m4 \
- class_generic.m4 class_gobject.m4 class_gtkobject.m4 \
- class_interface.m4 class_opaque_refcounted.m4 class_opaque_copyable.m4 \
- gerror.m4 \
- compare.m4 convert.m4 convert_base.m4 convert_gtkmm.m4 convert_atk.m4 convert_gdk.m4 \
- convert_glib.m4 convert_gtk.m4 convert_pango.m4 ctor.m4 doc.m4 enum.m4 list.m4 member.m4 \
- method.m4 property.m4 signal.m4 vfunc.m4
-
-files_tools_pm = DocsParser.pm GtkDefs.pm Enum.pm Function.pm FunctionBase.pm Object.pm Output.pm Property.pm Util.pm WrapParser.pm
-files_tools_genwrap = generate_wrap_init.pl
-files_tools_perl = $(files_tools_genwrap) gmmproc.in
-SUBDIRS = m4 pm extra_defs_gen
-EXTRA_DIST = Makefile_list_of_sources.am_fragment $(files_tools_perl) README TODO enum.pl
-gmmproc_bin_SCRIPTS = gmmproc $(files_tools_genwrap)
-gmmproc_bindir = $(libdir)/glibmm-2.4/proc
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(top_srcdir)/tools/Makefile_list_of_sources.am_fragment $(top_srcdir)/tools/m4/Makefile_list_of_sources.am_fragment $(top_srcdir)/tools/pm/Makefile_list_of_sources.am_fragment $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu tools/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: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-gmmproc: $(top_builddir)/config.status $(srcdir)/gmmproc.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-generate_wrap_init.pl: $(top_builddir)/config.status $(srcdir)/generate_wrap_init.pl.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-install-gmmproc_binSCRIPTS: $(gmmproc_bin_SCRIPTS)
- @$(NORMAL_INSTALL)
- test -z "$(gmmproc_bindir)" || $(mkdir_p) "$(DESTDIR)$(gmmproc_bindir)"
- @list='$(gmmproc_bin_SCRIPTS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- if test -f $$d$$p; then \
- f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
- echo " $(gmmproc_binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(gmmproc_bindir)/$$f'"; \
- $(gmmproc_binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(gmmproc_bindir)/$$f"; \
- else :; fi; \
- done
-
-uninstall-gmmproc_binSCRIPTS:
- @$(NORMAL_UNINSTALL)
- @list='$(gmmproc_bin_SCRIPTS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
- echo " rm -f '$(DESTDIR)$(gmmproc_bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(gmmproc_bindir)/$$f"; \
- done
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# 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):
- @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; \
- (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"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @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; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- 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 || \
- tags="$$tags $$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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- 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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/../tools $(distdir)/../tools/m4 $(distdir)/../tools/pm
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(SCRIPTS)
-installdirs: installdirs-recursive
-installdirs-am:
- for dir in "$(DESTDIR)$(gmmproc_bindir)"; 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)
-
-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-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-gmmproc_binSCRIPTS
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-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-gmmproc_binSCRIPTS uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am \
- install-gmmproc_binSCRIPTS install-info install-info-am \
- install-man install-strip installcheck installcheck-am \
- installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive \
- mostlyclean mostlyclean-generic mostlyclean-libtool \
- mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-gmmproc_binSCRIPTS \
- uninstall-info-am
-
-# 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:
diff --git a/libs/glibmm2/tools/Makefile.am b/libs/glibmm2/tools/Makefile.am
deleted file mode 100644
index cbe60fe9b0..0000000000
--- a/libs/glibmm2/tools/Makefile.am
+++ /dev/null
@@ -1,11 +0,0 @@
-
-include $(top_srcdir)/tools/Makefile_list_of_sources.am_fragment
-
-SUBDIRS = m4 pm extra_defs_gen
-
-EXTRA_DIST = Makefile_list_of_sources.am_fragment $(files_tools_perl) README TODO enum.pl
-
-gmmproc_bin_SCRIPTS = gmmproc $(files_tools_genwrap)
-gmmproc_bindir = $(libdir)/glibmm-2.4/proc
-
-
diff --git a/libs/glibmm2/tools/Makefile_list_of_sources.am_fragment b/libs/glibmm2/tools/Makefile_list_of_sources.am_fragment
deleted file mode 100644
index dcdc9ab416..0000000000
--- a/libs/glibmm2/tools/Makefile_list_of_sources.am_fragment
+++ /dev/null
@@ -1,5 +0,0 @@
-include $(top_srcdir)/tools/m4/Makefile_list_of_sources.am_fragment
-include $(top_srcdir)/tools/pm/Makefile_list_of_sources.am_fragment
-
-files_tools_genwrap = generate_wrap_init.pl
-files_tools_perl = $(files_tools_genwrap) gmmproc.in
diff --git a/libs/glibmm2/tools/enum.pl b/libs/glibmm2/tools/enum.pl
deleted file mode 100644
index 8cc6ff9011..0000000000
--- a/libs/glibmm2/tools/enum.pl
+++ /dev/null
@@ -1,233 +0,0 @@
-#! /usr/bin/perl
-
-# The lisp definitions for flags does not include order.
-# thus we must extract it ourselves.
-# Usage: ./enum.pl /gnome/head/cvs/gconf/gconf/*.h > gconf_enums.defs
-
-use warnings;
-
-my %token;
-$module="none";
-
-while ($ARGV[0] =~ /^--(\S+)/)
-{
- shift @ARGV;
- $module=shift @ARGV if ($1 eq "module");
- if ($1 eq "help")
- {
- print "enum.pl [--module modname] header_files ....\n";
- exit 0;
- }
-}
-
-foreach $file (@ARGV)
-{
- &parse($file);
-}
-
-exit;
-
-
-
-# parse enums from C
-sub parse
-{
- my ($file)=@_;
-
- $from=0;
- open(FILE,$file);
-
- $enum=0;
- $deprecated=0;
- $comment=0;
-
- while(<FILE>)
- {
- if($comment)
- {
- # end of multiline comment
- $comment = 0 if(/\*\//);
- next;
- }
-
- $deprecated = 1 if(s/^#ifndef [A-Z_]+_DISABLE_DEPRECATED//);
-
- ++$deprecated if($deprecated > 0 && /^#\s*if/);
- --$deprecated if($deprecated > 0 && /^#\s*endif/);
-
- next if($deprecated > 0);
-
- # filter single-line comments
- s/\/\*.*\*\///g;
-
- # begin of multiline comment
- if(/\/\*/)
- {
- $comment = 1;
- next;
- }
-
- s/','/\%\%COMMA\%\%/;
- s/'}'/\%\%RBRACE\%\%/;
- if (/^\s*typedef enum/ )
- {
- print ";; From $file\n\n" if (!$from);
- $from=1;
- $enum=1;
- next;
- }
-
- if ($enum && /\}/)
- {
- $enum=0;
- &process($line,$_);
- $line="";
- }
- $line.=$_ if ($enum);
- }
-}
-
-
-# convert enums to lisp
-sub process
-{
- my ($line,$def)=@_;
-
- $def=~s/\s*\}\s*//g;
- $def=~s/\s*;\s*$//;
- my $c_name=$def;
-
- $line=~s/\s+/ /g;
- $line=~s/\/\*.*\*\///g;
- $line=~s/\s*{\s*//;
-
- my $entity = "enum";
- $c_name =~ /^([A-Z][a-z]*)/;
- $module = $1;
- $def =~ s/$module//;
-
- @c_name=();
- @name=();
- @number=();
-
- $val=0;
- foreach $i (split(/,/,$line))
- {
- $i=~s/^\s+//;
- $i=~s/\s+$//;
- if ($i =~ /^\S+$/)
- {
- push(@c_name,$i);
- push(@number,sprintf("%d",$val));
- $token{$i}=$val;
- }
- elsif ($i =~ /^(\S+)\s*=\s*(0x[0-9a-fA-F]+)$/ ||
- $i =~ /^(\S+)\s*=\s*(-?[0-9]+)$/ ||
- $i =~ /^(\S+)\s*=\s*(1\s*<<\s*[0-9]+)$/
- )
- {
- my ($tmp1, $tmp2) = ($1, $2);
- push(@c_name, $tmp1);
- eval("\$val = $tmp2;");
- $entity = "flags" if($tmp2 =~ /^1\s*<</ || $tmp2 =~ /^0x/);
- push(@number, $tmp2);
- $token{$tmp1} = $tmp2;
- }
- elsif ($i =~ /^(\S+)\s*=\s*([ _x0-9a-fA-Z|()~]+)$/)
- {
- my ($tmp1, $tmp2) = ($1, $2);
- push(@c_name, $tmp1);
- $tmp2 =~ s/([A-Z_]+)/($token{$1})/;
- eval("\$val = $tmp2;");
- $val = "#error" if(!$val);
- $val = sprintf("0x%X", $val) if($entity eq "flags");
- push(@number, $val);
- $token{$tmp1} = $val;
- }
- elsif ($i =~ /^(\S+)\s*=\s*'(.)'$/)
- {
- push(@c_name,$1);
- push(@number,"\'$2\'");
- $val=ord($2);
- $token{$1}=$val;
- }
- elsif ($i =~ /^(\S+)\s*=\s*(\%\%[A-Z]+\%\%)$/)
- {
- $tmp=$1;
- $_=$2;
- s/\%\%COMMA\%\%/,/;
- s/\%\%RBRACE\%\%/]/;
- push(@c_name,$tmp);
- push(@number,"\'$_\'");
- $val=ord($_);
- $token{$tmp}=$val;
- }
- else
- {
- #print STDERR "$i\n";
- }
- $val++;
- }
-
- # remove the prefix to form names
- &form_names(\@name,\@c_name);
-
- my $format = "%d";
- $format = "0x%X" if($entity eq "flags");
-
- # evaluate any unevaluated values
- my $j;
- for ($j=0;$j<$#number+1;$j++)
- {
- if ($number[$j]=~/\$/)
- {
- $number[$j]=sprintf($format, eval($number[$j]));
- }
- }
-
- #print ";; Enum $def\n\n";
- print "(define-$entity-extended $def\n";
- print " (in-module \"$module\")\n";
- print " (c-name \"$c_name\")\n";
-
- print " (values\n";
- for ($j=0;$j<$#c_name+1;$j++)
- {
- print " \'(\"$name[$j]\" \"$c_name[$j]\"";
- print " \"$number[$j]\"" if ($number[$j] ne "");
- print ")\n";
- }
- print " )\n";
- print ")\n\n";
-}
-
-
-sub form_names
-{
- my ($name,$c_name)=@_;
-
- my $len=length($$c_name[0]) - 1;
- my $j;
-
- NAME: for ($j=0;$j<$#c_name;$j++)
- {
- while (substr($$c_name[$j],$len-1,1) ne "_" ||
- substr($$c_name[$j],0,$len) ne substr($$c_name[$j+1],0,$len))
- {
- $len--;
- last NAME if ($len <= 0);
- }
- #print substr($$c_name[$j],0,$len),"\n";
- }
-
- my $prefix=substr($$c_name[0],0,$len);
-
- for ($j=0;$j<$#c_name+1;$j++)
- {
- $_=$$c_name[$j];
- s/^$prefix//;
- tr/A-Z_/a-z-/;
- push(@$name,$_);
- }
-
-}
diff --git a/libs/glibmm2/tools/extra_defs_gen/.deps/generate_defs_glib.Po b/libs/glibmm2/tools/extra_defs_gen/.deps/generate_defs_glib.Po
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/tools/extra_defs_gen/.deps/generate_defs_glib.Po
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/tools/extra_defs_gen/.deps/generate_extra_defs.Plo b/libs/glibmm2/tools/extra_defs_gen/.deps/generate_extra_defs.Plo
deleted file mode 100644
index 9ce06a81ea..0000000000
--- a/libs/glibmm2/tools/extra_defs_gen/.deps/generate_extra_defs.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/libs/glibmm2/tools/extra_defs_gen/Makefile b/libs/glibmm2/tools/extra_defs_gen/Makefile
deleted file mode 100644
index e44264b8b2..0000000000
--- a/libs/glibmm2/tools/extra_defs_gen/Makefile
+++ /dev/null
@@ -1,562 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# tools/extra_defs_gen/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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.
-
-
-
-# Build the library, to be installed and used by other defs-generating code:
-
-
-
-srcdir = .
-top_srcdir = ../..
-
-pkgdatadir = $(datadir)/glibmm
-pkglibdir = $(libdir)/glibmm
-pkgincludedir = $(includedir)/glibmm
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-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 = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-noinst_PROGRAMS = generate_extra_defs$(EXEEXT)
-subdir = tools/extra_defs_gen
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(sublib_include_HEADERS)
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
-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 = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(libdir)" \
- "$(DESTDIR)$(sublib_includedir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(lib_LTLIBRARIES)
-am__DEPENDENCIES_1 =
-libglibmm_generate_extra_defs_2_4_la_DEPENDENCIES = \
- $(am__DEPENDENCIES_1)
-am__objects_1 =
-am__objects_2 = generate_extra_defs.lo
-am_libglibmm_generate_extra_defs_2_4_la_OBJECTS = $(am__objects_1) \
- $(am__objects_2)
-libglibmm_generate_extra_defs_2_4_la_OBJECTS = \
- $(am_libglibmm_generate_extra_defs_2_4_la_OBJECTS)
-PROGRAMS = $(noinst_PROGRAMS)
-am_generate_extra_defs_OBJECTS = generate_defs_glib.$(OBJEXT)
-generate_extra_defs_OBJECTS = $(am_generate_extra_defs_OBJECTS)
-generate_extra_defs_DEPENDENCIES = \
- libglibmm_generate_extra_defs-2.4.la
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -I$(top_builddir)/glib
-depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
-am__depfiles_maybe = depfiles
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libglibmm_generate_extra_defs_2_4_la_SOURCES) \
- $(generate_extra_defs_SOURCES)
-DIST_SOURCES = $(libglibmm_generate_extra_defs_2_4_la_SOURCES) \
- $(generate_extra_defs_SOURCES)
-sublib_includeHEADERS_INSTALL = $(INSTALL_HEADER)
-HEADERS = $(sublib_include_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run aclocal-1.9 -I ./scripts
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run tar
-AR = ar
-AS = as
-AUTOCONF = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run autoconf
-AUTOHEADER = :
-AUTOMAKE = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS =
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2 -Wall -Wno-long-long
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-DISABLE_DEPRECATED_API_CFLAGS =
-DISABLE_DEPRECATED_CFLAGS =
-DLLTOOL = dlltool
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-GLIBMM_CFLAGS = -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GLIBMM_LIBS = -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
-GLIBMM_MAJOR_VERSION = 2
-GLIBMM_MICRO_VERSION = 3
-GLIBMM_MINOR_VERSION = 13
-GLIBMM_RELEASE = 2.13
-GLIBMM_VERSION = 2.13.3
-GTHREAD_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GTHREAD_LIBS = -pthread -lgthread-2.0 -lrt -lglib-2.0
-GTKMMPROC_MERGECDOCS =
-GTKMM_DOXYGEN_INPUT = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/glib/glibmm/
-GTKMM_FALSE_FALSE =
-GTKMM_FALSE_TRUE = #
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBGLIBMM_SO_VERSION = 1:24:0
-LIBOBJS =
-LIBS = $(GLIBMM_LIBS)
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-M4 = m4
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run makeinfo
-OBJDUMP = objdump
-OBJEXT = o
-OS_WIN32_FALSE =
-OS_WIN32_TRUE = #
-PACKAGE = glibmm
-PACKAGE_BUGREPORT =
-PACKAGE_NAME =
-PACKAGE_STRING =
-PACKAGE_TARNAME =
-PACKAGE_VERSION =
-PATH_SEPARATOR = :
-PERL_PATH = /usr/bin/perl
-PKG_CONFIG = /usr/bin/pkg-config
-PLATFORM_WIN32_FALSE =
-PLATFORM_WIN32_TRUE = #
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.13.3
-ac_ct_AR = ar
-ac_ct_AS =
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_DLLTOOL =
-ac_ct_F77 =
-ac_ct_OBJDUMP =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-ac_pt_PKG_CONFIG = /usr/bin/pkg-config
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target_alias =
-files_h = generate_extra_defs.h
-files_cc = generate_extra_defs.cc
-no_undefined =
-#no_undefined = -no-undefined
-lib_LTLIBRARIES = libglibmm_generate_extra_defs-2.4.la
-libglibmm_generate_extra_defs_2_4_la_SOURCES = $(files_h) $(files_cc)
-libglibmm_generate_extra_defs_2_4_la_LDFLAGS = $(no_undefined) -version-info $(LIBGLIBMM_SO_VERSION)
-libglibmm_generate_extra_defs_2_4_la_LIBADD = $(GLIBMM_LIBS)
-sublib_includedir = $(includedir)/glibmm-2.4/glibmm_generate_extra_defs
-sublib_include_HEADERS = $(files_h)
-
-# Build the generate_properties_defs utility executable.
-# This is not used to build the rest of glibmm.
-INCLUDES = $(GLIBMM_CFLAGS)
-generate_extra_defs_SOURCES = generate_defs_glib.cc
-generate_extra_defs_LDADD = libglibmm_generate_extra_defs-2.4.la
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cc .lo .o .obj
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/extra_defs_gen/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu tools/extra_defs_gen/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: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
- else :; fi; \
- done
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
- $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libglibmm_generate_extra_defs-2.4.la: $(libglibmm_generate_extra_defs_2_4_la_OBJECTS) $(libglibmm_generate_extra_defs_2_4_la_DEPENDENCIES)
- $(CXXLINK) -rpath $(libdir) $(libglibmm_generate_extra_defs_2_4_la_LDFLAGS) $(libglibmm_generate_extra_defs_2_4_la_OBJECTS) $(libglibmm_generate_extra_defs_2_4_la_LIBADD) $(LIBS)
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-generate_extra_defs$(EXEEXT): $(generate_extra_defs_OBJECTS) $(generate_extra_defs_DEPENDENCIES)
- @rm -f generate_extra_defs$(EXEEXT)
- $(CXXLINK) $(generate_extra_defs_LDFLAGS) $(generate_extra_defs_OBJECTS) $(generate_extra_defs_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-include ./$(DEPDIR)/generate_defs_glib.Po
-include ./$(DEPDIR)/generate_extra_defs.Plo
-
-.cc.o:
- if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-# source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
-# $(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
- if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-# source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
-# $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cc.lo:
- if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-# source='$<' object='$@' libtool=yes \
-# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
-# $(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-sublib_includeHEADERS: $(sublib_include_HEADERS)
- @$(NORMAL_INSTALL)
- test -z "$(sublib_includedir)" || $(mkdir_p) "$(DESTDIR)$(sublib_includedir)"
- @list='$(sublib_include_HEADERS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(sublib_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(sublib_includedir)/$$f'"; \
- $(sublib_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(sublib_includedir)/$$f"; \
- done
-
-uninstall-sublib_includeHEADERS:
- @$(NORMAL_UNINSTALL)
- @list='$(sublib_include_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(sublib_includedir)/$$f'"; \
- rm -f "$(DESTDIR)$(sublib_includedir)/$$f"; \
- 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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- 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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- 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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && 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)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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 $(LTLIBRARIES) $(PROGRAMS) $(HEADERS)
-installdirs:
- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(sublib_includedir)"; 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)
-
-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-libLTLIBRARIES clean-libtool \
- clean-noinstPROGRAMS mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am: install-sublib_includeHEADERS
-
-install-exec-am: install-libLTLIBRARIES
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \
- uninstall-sublib_includeHEADERS
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool clean-noinstPROGRAMS ctags \
- distclean distclean-compile 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-exec install-exec-am install-info \
- install-info-am install-libLTLIBRARIES install-man \
- install-strip install-sublib_includeHEADERS installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am \
- uninstall-libLTLIBRARIES uninstall-sublib_includeHEADERS
-
-# 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:
diff --git a/libs/glibmm2/tools/extra_defs_gen/Makefile.am b/libs/glibmm2/tools/extra_defs_gen/Makefile.am
deleted file mode 100644
index 871bb4e386..0000000000
--- a/libs/glibmm2/tools/extra_defs_gen/Makefile.am
+++ /dev/null
@@ -1,29 +0,0 @@
-# Build the library, to be installed and used by other defs-generating code:
-
-files_h = generate_extra_defs.h
-files_cc = generate_extra_defs.cc
-
-if PLATFORM_WIN32
-no_undefined = -no-undefined
-else
-no_undefined =
-endif
-
-lib_LTLIBRARIES = libglibmm_generate_extra_defs-2.4.la
-libglibmm_generate_extra_defs_2_4_la_SOURCES = $(files_h) $(files_cc)
-libglibmm_generate_extra_defs_2_4_la_LDFLAGS = $(no_undefined) -version-info $(LIBGLIBMM_SO_VERSION)
-libglibmm_generate_extra_defs_2_4_la_LIBADD = $(GLIBMM_LIBS)
-
-sublib_includedir = $(includedir)/glibmm-2.4/glibmm_generate_extra_defs
-sublib_include_HEADERS = $(files_h)
-
-
-# Build the generate_properties_defs utility executable.
-# This is not used to build the rest of glibmm.
-
-INCLUDES = $(GLIBMM_CFLAGS)
-LIBS = $(GLIBMM_LIBS)
-
-noinst_PROGRAMS = generate_extra_defs
-generate_extra_defs_SOURCES = generate_defs_glib.cc
-generate_extra_defs_LDADD = libglibmm_generate_extra_defs-2.4.la
diff --git a/libs/glibmm2/tools/extra_defs_gen/Makefile.in b/libs/glibmm2/tools/extra_defs_gen/Makefile.in
deleted file mode 100644
index 893eec016a..0000000000
--- a/libs/glibmm2/tools/extra_defs_gen/Makefile.in
+++ /dev/null
@@ -1,562 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-
-# Build the library, to be installed and used by other defs-generating code:
-
-
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-noinst_PROGRAMS = generate_extra_defs$(EXEEXT)
-subdir = tools/extra_defs_gen
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(sublib_include_HEADERS)
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
-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 = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(libdir)" \
- "$(DESTDIR)$(sublib_includedir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(lib_LTLIBRARIES)
-am__DEPENDENCIES_1 =
-libglibmm_generate_extra_defs_2_4_la_DEPENDENCIES = \
- $(am__DEPENDENCIES_1)
-am__objects_1 =
-am__objects_2 = generate_extra_defs.lo
-am_libglibmm_generate_extra_defs_2_4_la_OBJECTS = $(am__objects_1) \
- $(am__objects_2)
-libglibmm_generate_extra_defs_2_4_la_OBJECTS = \
- $(am_libglibmm_generate_extra_defs_2_4_la_OBJECTS)
-PROGRAMS = $(noinst_PROGRAMS)
-am_generate_extra_defs_OBJECTS = generate_defs_glib.$(OBJEXT)
-generate_extra_defs_OBJECTS = $(am_generate_extra_defs_OBJECTS)
-generate_extra_defs_DEPENDENCIES = \
- libglibmm_generate_extra_defs-2.4.la
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -I$(top_builddir)/glib
-depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
-am__depfiles_maybe = depfiles
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libglibmm_generate_extra_defs_2_4_la_SOURCES) \
- $(generate_extra_defs_SOURCES)
-DIST_SOURCES = $(libglibmm_generate_extra_defs_2_4_la_SOURCES) \
- $(generate_extra_defs_SOURCES)
-sublib_includeHEADERS_INSTALL = $(INSTALL_HEADER)
-HEADERS = $(sublib_include_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
-DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
-DLLTOOL = @DLLTOOL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
-GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
-GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
-GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
-LIBOBJS = @LIBOBJS@
-LIBS = $(GLIBMM_LIBS)
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-M4 = @M4@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL_PATH = @PERL_PATH@
-PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-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@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-files_h = generate_extra_defs.h
-files_cc = generate_extra_defs.cc
-@PLATFORM_WIN32_FALSE@no_undefined =
-@PLATFORM_WIN32_TRUE@no_undefined = -no-undefined
-lib_LTLIBRARIES = libglibmm_generate_extra_defs-2.4.la
-libglibmm_generate_extra_defs_2_4_la_SOURCES = $(files_h) $(files_cc)
-libglibmm_generate_extra_defs_2_4_la_LDFLAGS = $(no_undefined) -version-info $(LIBGLIBMM_SO_VERSION)
-libglibmm_generate_extra_defs_2_4_la_LIBADD = $(GLIBMM_LIBS)
-sublib_includedir = $(includedir)/glibmm-2.4/glibmm_generate_extra_defs
-sublib_include_HEADERS = $(files_h)
-
-# Build the generate_properties_defs utility executable.
-# This is not used to build the rest of glibmm.
-INCLUDES = $(GLIBMM_CFLAGS)
-generate_extra_defs_SOURCES = generate_defs_glib.cc
-generate_extra_defs_LDADD = libglibmm_generate_extra_defs-2.4.la
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cc .lo .o .obj
-$(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 \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/extra_defs_gen/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu tools/extra_defs_gen/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
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
- else :; fi; \
- done
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
- $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libglibmm_generate_extra_defs-2.4.la: $(libglibmm_generate_extra_defs_2_4_la_OBJECTS) $(libglibmm_generate_extra_defs_2_4_la_DEPENDENCIES)
- $(CXXLINK) -rpath $(libdir) $(libglibmm_generate_extra_defs_2_4_la_LDFLAGS) $(libglibmm_generate_extra_defs_2_4_la_OBJECTS) $(libglibmm_generate_extra_defs_2_4_la_LIBADD) $(LIBS)
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-generate_extra_defs$(EXEEXT): $(generate_extra_defs_OBJECTS) $(generate_extra_defs_DEPENDENCIES)
- @rm -f generate_extra_defs$(EXEEXT)
- $(CXXLINK) $(generate_extra_defs_LDFLAGS) $(generate_extra_defs_OBJECTS) $(generate_extra_defs_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/generate_defs_glib.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/generate_extra_defs.Plo@am__quote@
-
-.cc.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cc.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-sublib_includeHEADERS: $(sublib_include_HEADERS)
- @$(NORMAL_INSTALL)
- test -z "$(sublib_includedir)" || $(mkdir_p) "$(DESTDIR)$(sublib_includedir)"
- @list='$(sublib_include_HEADERS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(sublib_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(sublib_includedir)/$$f'"; \
- $(sublib_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(sublib_includedir)/$$f"; \
- done
-
-uninstall-sublib_includeHEADERS:
- @$(NORMAL_UNINSTALL)
- @list='$(sublib_include_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(sublib_includedir)/$$f'"; \
- rm -f "$(DESTDIR)$(sublib_includedir)/$$f"; \
- 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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- 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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- 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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && 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)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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 $(LTLIBRARIES) $(PROGRAMS) $(HEADERS)
-installdirs:
- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(sublib_includedir)"; 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)
-
-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-libLTLIBRARIES clean-libtool \
- clean-noinstPROGRAMS mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am: install-sublib_includeHEADERS
-
-install-exec-am: install-libLTLIBRARIES
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \
- uninstall-sublib_includeHEADERS
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool clean-noinstPROGRAMS ctags \
- distclean distclean-compile 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-exec install-exec-am install-info \
- install-info-am install-libLTLIBRARIES install-man \
- install-strip install-sublib_includeHEADERS installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am \
- uninstall-libLTLIBRARIES uninstall-sublib_includeHEADERS
-
-# 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:
diff --git a/libs/glibmm2/tools/extra_defs_gen/generate_defs_glib.cc b/libs/glibmm2/tools/extra_defs_gen/generate_defs_glib.cc
deleted file mode 100644
index 8da95178fb..0000000000
--- a/libs/glibmm2/tools/extra_defs_gen/generate_defs_glib.cc
+++ /dev/null
@@ -1,34 +0,0 @@
-/* $Id: generate_defs_glib.cc,v 1.2 2003/04/19 12:39:05 murrayc Exp $ */
-
-/* generate_defs_gtk.cc
- *
- * Copyright (C) 2001 The Free Software Foundation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#include "generate_extra_defs.h"
-//#include <glib/glib.h>
-
-int main (int, char**)
-{
- //glib_init(&argc, &argv);
-
- //std::cout << get_defs( ATK_TYPE_HYPERLINK )
-
- std::cout << "No glib types were examined.";
-
- return 0;
-}
diff --git a/libs/glibmm2/tools/extra_defs_gen/generate_extra_defs.cc b/libs/glibmm2/tools/extra_defs_gen/generate_extra_defs.cc
deleted file mode 100644
index 3df442ab12..0000000000
--- a/libs/glibmm2/tools/extra_defs_gen/generate_extra_defs.cc
+++ /dev/null
@@ -1,217 +0,0 @@
-/* $Id: generate_extra_defs.cc,v 1.3 2005/02/13 14:30:19 murrayc Exp $ */
-
-/* generate_extra_defs.cc
- *
- * Copyright (C) 2001 The Free Software Foundation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-#include "generate_extra_defs.h"
-
-std::string get_properties(GType gtype)
-{
- std::string strResult;
- std::string strObjectName = g_type_name(gtype);
-
- //Get the list of properties:
- GObjectClass* pGClass = G_OBJECT_CLASS(g_type_class_ref(gtype));
-
- guint iCount = 0;
- GParamSpec** ppParamSpec = g_object_class_list_properties (pGClass, &iCount);
-
- for(guint i = 0; i < iCount; i++)
- {
- GParamSpec* pParamSpec = ppParamSpec[i];
- if(pParamSpec)
- {
- //Name and type:
- std::string strName = g_param_spec_get_name(pParamSpec);
- std::string strTypeName = G_PARAM_SPEC_TYPE_NAME(pParamSpec);
-
- const gchar* pchBlurb = g_param_spec_get_blurb(pParamSpec);
- std::string strDocs = (pchBlurb ? pchBlurb : std::string());
-
- strResult += "(define-property " + strName + "\n";
- strResult += " (of-object \"" + strObjectName + "\")\n";
- strResult += " (prop-type \"" + strTypeName + "\")\n";
- strResult += " (docs \"" + strDocs + "\")\n";
-
- //Flags:
- GParamFlags flags = pParamSpec->flags;
- bool bReadable = (flags & G_PARAM_READABLE) == G_PARAM_READABLE;
- bool bWritable = (flags & G_PARAM_WRITABLE) == G_PARAM_WRITABLE;
- bool bConstructOnly = (flags & G_PARAM_CONSTRUCT_ONLY) == G_PARAM_CONSTRUCT_ONLY;
-
- //#t and #f aren't documented, but I guess that it's correct based on the example in the .defs spec.
- const std::string strTrue = "#t";
- const std::string strFalse = "#f";
-
- strResult += " (readable " + (bReadable ? strTrue : strFalse) + ")\n";
- strResult += " (writable " + (bWritable ? strTrue : strFalse) + ")\n";
- strResult += " (construct-only " + (bConstructOnly ? strTrue : strFalse) + ")\n";
-
- strResult += ")\n\n"; //close (define-property
- }
- }
-
- g_free(ppParamSpec);
- g_type_class_unref(pGClass); //to match the g_type_class_ref() above.
-
- return strResult;
-}
-
-std::string get_type_name(GType gtype) //Adds a * if necessary.
-{
- std::string strTypeName = g_type_name(gtype);
-
- if( g_type_is_a(gtype, G_TYPE_OBJECT) || g_type_is_a(gtype, G_TYPE_BOXED) )
- strTypeName += "*"; //Add * to show that it's a pointer.
- else if( g_type_is_a(gtype, G_TYPE_STRING) )
- strTypeName = "gchar*"; //g_type_name() returns "gchararray".
-
- return strTypeName;
-}
-
-std::string get_type_name_parameter(GType gtype)
-{
- std::string strTypeName = get_type_name(gtype);
-
- //All signal parameters that are registered as GTK_TYPE_STRING are actually const gchar*.
- if(strTypeName == "gchar*")
- strTypeName = "const-gchar*";
-
- return strTypeName;
-}
-
-std::string get_type_name_signal(GType gtype)
-{
- return get_type_name_parameter(gtype); //At the moment, it needs the same stuff.
-}
-
-
-std::string get_signals(GType gtype)
-{
- std::string strResult;
- std::string strObjectName = g_type_name(gtype);
-
- gpointer gclass_ref = 0;
-
- if(G_TYPE_IS_OBJECT(gtype))
- gclass_ref = g_type_class_ref(gtype); //Ensures that class_init() is called.
-
- //Get the list of signals:
- guint iCount = 0;
- guint* pIDs = g_signal_list_ids (gtype, &iCount);
-
- //Loop through the list of signals:
- if(pIDs)
- {
- for(guint i = 0; i < iCount; i++)
- {
- guint signal_id = pIDs[i];
-
- //Name:
- std::string strName = g_signal_name(signal_id);
- strResult += "(define-signal " + strName + "\n";
- strResult += " (of-object \"" + strObjectName + "\")\n";
-
-
-
- //Other information about the signal:
- GSignalQuery signalQuery = { 0, 0, 0, GSignalFlags(0), 0, 0, 0, };
- g_signal_query(signal_id, &signalQuery);
-
- //Return type:
- std::string strReturnTypeName = get_type_name_signal( signalQuery.return_type & ~G_SIGNAL_TYPE_STATIC_SCOPE ); //The type is mangled with a flag. Hacky.
- //bool bReturnTypeHasStaticScope = (signalQuery.return_type & G_SIGNAL_TYPE_STATIC_SCOPE) == G_SIGNAL_TYPE_STATIC_SCOPE;
- strResult += " (return-type \"" + strReturnTypeName + "\")\n";
-
-
- //When:
- {
- bool bWhenFirst = (signalQuery.signal_flags & G_SIGNAL_RUN_FIRST) == G_SIGNAL_RUN_FIRST;
- bool bWhenLast = (signalQuery.signal_flags & G_SIGNAL_RUN_LAST) == G_SIGNAL_RUN_LAST;
-
- std::string strWhen = "unknown";
-
- if(bWhenFirst && bWhenLast)
- strWhen = "both";
- else if(bWhenFirst)
- strWhen = "first";
- else if(bWhenLast)
- strWhen = "last";
-
- strResult += " (when \"" + strWhen + "\")\n";
- }
-
-
- //Loop through the list of parameters:
- const GType* pParameters = signalQuery.param_types;
- if(pParameters)
- {
- strResult += " (parameters\n";
-
- for(unsigned i = 0; i < signalQuery.n_params; i++)
- {
- GType typeParamMangled = pParameters[i];
-
- //Parameter name:
- //TODO: How can we get the real parameter name?
- gchar* pchNum = g_strdup_printf("%d", i);
- std::string strParamName = "p" + std::string(pchNum);
- g_free(pchNum);
- pchNum = 0;
-
- //Just like above, for the return type:
- std::string strTypeName = get_type_name_signal( typeParamMangled & ~G_SIGNAL_TYPE_STATIC_SCOPE ); //The type is mangled with a flag. Hacky.
- //bool bReturnTypeHasStaticScope = (typeParamMangled & G_SIGNAL_TYPE_STATIC_SCOPE) == G_SIGNAL_TYPE_STATIC_SCOPE;
-
- strResult += " '(\"" + strTypeName + "\" \"" + strParamName + "\")\n";
- }
-
- strResult += " )\n"; //close (properties
- }
-
- strResult += ")\n\n"; //close (define=signal
- }
- }
-
- g_free(pIDs);
-
- if(gclass_ref)
- g_type_class_unref(gclass_ref); //to match the g_type_class_ref() above.
-
- return strResult;
-}
-
-
-
-std::string get_defs(GType gtype)
-{
- std::string strObjectName = g_type_name(gtype);
- std::string strDefs = ";; From " + strObjectName + "\n\n";
-
- strDefs += get_signals(gtype);
-
- if(G_TYPE_IS_OBJECT(gtype))
- strDefs += get_properties(gtype);
-
- return strDefs;
-}
-
-
-
diff --git a/libs/glibmm2/tools/generate_wrap_init.pl b/libs/glibmm2/tools/generate_wrap_init.pl
deleted file mode 100644
index 2f295ac7a3..0000000000
--- a/libs/glibmm2/tools/generate_wrap_init.pl
+++ /dev/null
@@ -1,392 +0,0 @@
-#! /usr/bin/perl
-#
-# tools/generate_wrap_init.pl. Generated from generate_wrap_init.pl.in by configure.
-#
-
-use strict;
-
-my @namespace_whole = (); # list of strings.
-my $function_prefix = "";
-my $parent_dir = ""; # e.g. gtkmm
-my $path = "gtk--";
-my $debug = 0;
-my @filenames_headers = ();
-my %objects = ();
-my %exceptions = ();
-my %namespaces = (); # hashmap of lists of strings.
-my %basenames = ();
-my %win32_nowrap = ();
-my %deprecated = ();
-
-# Loop through command line arguments, setting variables:
-while ($ARGV[0] =~ /^-/)
-{
- if ($ARGV[0] =~ /--namespace=(\S+)/)
- {
- push(@namespace_whole, $1);
-
- if($parent_dir eq "")
- { $parent_dir = lc($1) . "mm"; }
- }
- elsif ($ARGV[0] =~ /--function_prefix=(\S+)/)
- {
- $function_prefix = "$1";
- }
- elsif ($ARGV[0] =~ /--parent_dir=(\S+)/)
- {
- $parent_dir = "$1";
- }
- elsif
- (
- $ARGV[0] =~ /--debug/) {$debug = 1;
- }
- elsif ($ARGV[0] =~ /--path=(\S+)/)
- {
- $path = "$1";
- }
- else
- {
- print "Error: unknown option $ARGV[0]\n";
- exit;
- }
-
- shift @ARGV;
-}
-
-
-
-while ($ARGV[0])
-{
- if ($debug) {warn "Processing file : $ARGV[0]\n";}
-
- my $filename = $ARGV[0];
- open FILE, $filename or die "Couldn't open file $ARGV[0] : $!\n";
-
- # my $file = $ARGV[0];
- # $file =~ s/.*\/([^\/]+)$/$1/;
- # $file =~ s/\.hg//;
- my @tmpnamespace = @namespace_whole;
- my $cppname = "";
- my $cname = "";
- my $ccast = "";
- while (<FILE>)
- {
- if (/CLASS_START\((\w+)\)/) #We need a new way to get the namespace.
- {
- print "generate_wrap_init: namespace found: $1\n";
- push(@tmpnamespace, $1);
- }
- elsif (/_CLASS_GOBJECT\s*\(/) #TODO: There is duplication of code here.
- {
- my $line = $_;
- while ($line !~ /\)/ && ($_ = <FILE>))
- {
- $line .= $_;
- }
-
- $line =~ s/^.*_CLASS_GOBJECT\s*\(//;
- $line =~ s/\s+//g;
- ($cppname, $cname, $ccast) = split(/,/, $line);
-
- $objects{$cppname} = $cname;
- @{$namespaces{$cppname}} = ( @tmpnamespace ); #both are lists of strings
- $basenames{$cppname} = lc($ccast);
- }
- elsif (/_CLASS_GTKOBJECT\s*\(/)
- {
- my $line = $_;
- while ($line !~ /\)/ && ($_ = <FILE>))
- {
- $line .= $_;
- }
-
- $line =~ s/^.*_CLASS_GTKOBJECT\s*\(//;
- $line =~ s/\s+//g;
- ($cppname, $cname, $ccast) = split(/,/, $line);
-
- #TODO: Remove this hack eventually.
- if( ($cname ne "GtkTree") && ($cname ne "GtkTreeItem") && ($cname ne "GtkText") )
- {
- $objects{$cppname} = $cname;
- @{$namespaces{$cppname}} = ( @tmpnamespace ); #both are lists of strings
- $basenames{$cppname} = lc($ccast);
- }
- }
- elsif (/_WRAP_GERROR\s*\(/) #TODO: There is duplication of code here.
- {
- my $line = $_;
- while ($line !~ /\)/ && ($_ = <FILE>))
- {
- $line .= $_;
- }
-
- $line =~ s/^.*_WRAP_GERROR\s*\(//;
- $line =~ s/\s+//g;
- $line =~ s/\)//;
- ($cppname, $cname, $ccast) = split(/,/, $line);
-
- $exceptions{$cppname} = $cname;
- @{$namespaces{$cppname}} = ( @tmpnamespace ); #both are lists of strings
- $basenames{$cppname} = lc($ccast);
- }
- elsif (/_GTKMMPROC_WIN32_NO_WRAP/)
- {
- $win32_nowrap{$cppname} = 1;
- }
- elsif (/_DEPRECATED/)
- {
- $deprecated{$cppname} = 1;
- }
- }
-
- # Store header filename so that we can #include it later:
- my $filename_header = $filename;
- $filename_header =~ s/.*\/([^\/]+)\.hg/$1.h/;
- push(@filenames_headers, $filename_header);
-
- shift @ARGV;
- close(FILE);
-}
-
-# my $namespace_whole_lower = lc($namespace_whole);
-
-print << "EOF";
-
-#include <glib.h>
-
-// Disable the 'const' function attribute of the get_type() functions.
-// GCC would optimize them out because we don't use the return value.
-#undef G_GNUC_CONST
-#define G_GNUC_CONST /* empty */
-
-#include <${parent_dir}/wrap_init.h>
-#include <glibmm/error.h>
-#include <glibmm/object.h>
-
-// #include the widget headers so that we can call the get_type() static methods:
-
-EOF
-
-foreach( @filenames_headers )
-{
- print "#include \"" . $_ . "\"\n";
-}
-
-print "\n";
-
-# Here we have to be subtle. The gtkmm objects are easy, they all go
-# into the Gtk namespace. But in gnomemm, some go into the Gnome
-# namespace (most of them), and some into the Gtk one (because the
-# corresponding widget is Gtk-prefixed, e.g. GtkTed, GtkDial, etc...
-
-# First, the Gtk namespace
-
-print "extern \"C\"\n";
-print "{\n";
-print "\n//Declarations of the *_get_type() functions:\n\n";
-
-my $i = 0;
-foreach $i (sort keys %objects)
-{
- if( $deprecated{$i} eq 1 )
- {
- # The uc(parent_dir) is a bit of a hack. One day it will get it wrong.
- print "#ifndef " . uc($parent_dir) ."_DISABLE_DEPRECATED\n"
- }
-
- #On Win32, these classes are not compiled:
- if( $win32_nowrap{$i} eq 1 )
- {
- print "#ifndef G_OS_WIN32\n"
- }
-
- print "GType $basenames{$i}_get_type(void);\n";
-
- if( $win32_nowrap{$i} eq 1 )
- {
- print "#endif //G_OS_WIN32\n"
- }
-
- if( $deprecated{$i} eq 1 )
- {
- print "#endif // *_DISABLE_DEPRECATED\n"
- }
-}
-
-print "\n//Declarations of the *_error_quark() functions:\n\n";
-
-my $i = 0;
-foreach $i (sort keys %exceptions)
-{
- print "GQuark $basenames{$i}_quark(void);\n";
-}
-
-print "} // extern \"C\"\n";
-print "\n";
-
-print "\n//Declarations of the *_Class::wrap_new() methods, instead of including all the private headers:\n\n";
-
-my $i = 0;
-foreach $i (sort keys %objects)
-{
- if( $deprecated{$i} eq 1 )
- {
- # The uc(parent_dir) is a bit of a hack. One day it will get it wrong.
- print "#ifndef " . uc($parent_dir) ."_DISABLE_DEPRECATED\n"
- }
-
- #On Win32, these classes are not compiled:
- if( $win32_nowrap{$i} eq 1 )
- {
- print "#ifndef G_OS_WIN32\n"
- }
-
- my $namespace_declarations = "";
- my $namespace_close = "";
- foreach ( @{$namespaces{$i}} )
- {
- $namespace_declarations .= "namespace $_ { ";
- $namespace_close .= " }";
- }
-
- print "${namespace_declarations} class ${i}_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; ${namespace_close}\n";
-
- if( $win32_nowrap{$i} eq 1 )
- {
- print "#endif //G_OS_WIN32\n"
- }
-
- if( $deprecated{$i} eq 1 )
- {
- print "#endif // *_DISABLE_DEPRECATED\n"
- }
-}
-
-# print "\n//Declarations of the *Error::throw_func() methods:\n\n";
-#
-# my $i = 0;
-# foreach $i (sort keys %exceptions)
-# {
-# my $namespace_declarations = "";
-# my $namespace_close = "";
-# foreach ( @{$namespaces{$i}} )
-# {
-# $namespace_declarations .= "namespace $_ { ";
-# $namespace_close .= " }";
-# }
-#
-# print "${namespace_declarations} class ${i} { public: static void throw_func(GError*); }; ${namespace_close}\n";
-# }
-
-my $namespace_whole_declarations = "";
-my $namespace_whole_close = "";
-foreach( @namespace_whole )
-{
- $namespace_whole_declarations .= "namespace " . $_ ." { ";
- $namespace_whole_close = "} //" . $_ . "\n" . $namespace_whole_close;
-}
-
-print "\n";
-print "$namespace_whole_declarations\n";
-print "\n";
-print "void " .$function_prefix . "wrap_init()\n{\n";
-
-
-# Generate namespace::wrap_init() body
-#
-
-print " // Register Error domains:\n";
-
-foreach $i (sort keys %exceptions)
-{
- my $namespace_prefix = "";
- foreach( @{$namespaces{$i}} )
- {
- $namespace_prefix .= $_ ."::";
- }
-
- print " Glib::Error::register_domain($basenames{$i}_quark(), &", "${namespace_prefix}${i}::throw_func);\n";
-}
-
-print "\n";
-print "// Map gtypes to gtkmm wrapper-creation functions:\n";
-
-foreach $i (sort keys %objects)
-{
- if( $deprecated{$i} eq 1 )
- {
- # The uc(parent_dir) is a bit of a hack. One day it will get it wrong.
- print "#ifndef " . uc($parent_dir) ."_DISABLE_DEPRECATED\n"
- }
-
- #On Win32, these classes are not compiled:
- if( $win32_nowrap{$i} eq 1 )
- {
- print "#ifndef G_OS_WIN32\n"
- }
-
- my $namespace_prefix = "";
- foreach( @{$namespaces{$i}} )
- {
- $namespace_prefix .= $_ ."::";
- }
-
- print " Glib::wrap_register($basenames{$i}_get_type(), &", "${namespace_prefix}${i}_Class::wrap_new);\n";
-
- if( $win32_nowrap{$i} eq 1 )
- {
- print "#endif //G_OS_WIN32\n"
- }
-
- if( $deprecated{$i} eq 1 )
- {
- print "#endif // *_DISABLE_DEPRECATED\n"
- }
-}
-
-print "\n";
-print " // Register the gtkmm gtypes:\n";
-
-foreach $i (sort keys %objects)
-{
- if( $deprecated{$i} eq 1 )
- {
- # The uc(parent_dir) is a bit of a hack. One day it will get it wrong.
- print "#ifndef " . uc($parent_dir) ."_DISABLE_DEPRECATED\n"
- }
-
- #On Win32, these classes are not compiled:
- if( $win32_nowrap{$i} eq 1 )
- {
- print "#ifndef G_OS_WIN32\n"
- }
-
- my $namespace_prefix = "";
- foreach( @{$namespaces{$i}} )
- {
- $namespace_prefix .= $_ ."::";
- }
-
- print " ${namespace_prefix}${i}::get_type();\n";
-
- if( $win32_nowrap{$i} eq 1 )
- {
- print "#endif //G_OS_WIN32\n"
- }
-
- if( $deprecated{$i} eq 1 )
- {
- print "#endif // *_DISABLE_DEPRECATED\n"
- }
-}
-
-print << "EOF";
-
-} // wrap_init()
-
-$namespace_whole_close
-
-EOF
-
-exit 0;
-
diff --git a/libs/glibmm2/tools/generate_wrap_init.pl.in b/libs/glibmm2/tools/generate_wrap_init.pl.in
deleted file mode 100644
index 202b58742c..0000000000
--- a/libs/glibmm2/tools/generate_wrap_init.pl.in
+++ /dev/null
@@ -1,392 +0,0 @@
-#! @PERL_PATH@
-#
-# @configure_input@
-#
-
-use strict;
-
-my @namespace_whole = (); # list of strings.
-my $function_prefix = "";
-my $parent_dir = ""; # e.g. gtkmm
-my $path = "gtk--";
-my $debug = 0;
-my @filenames_headers = ();
-my %objects = ();
-my %exceptions = ();
-my %namespaces = (); # hashmap of lists of strings.
-my %basenames = ();
-my %win32_nowrap = ();
-my %deprecated = ();
-
-# Loop through command line arguments, setting variables:
-while ($ARGV[0] =~ /^-/)
-{
- if ($ARGV[0] =~ /--namespace=(\S+)/)
- {
- push(@namespace_whole, $1);
-
- if($parent_dir eq "")
- { $parent_dir = lc($1) . "mm"; }
- }
- elsif ($ARGV[0] =~ /--function_prefix=(\S+)/)
- {
- $function_prefix = "$1";
- }
- elsif ($ARGV[0] =~ /--parent_dir=(\S+)/)
- {
- $parent_dir = "$1";
- }
- elsif
- (
- $ARGV[0] =~ /--debug/) {$debug = 1;
- }
- elsif ($ARGV[0] =~ /--path=(\S+)/)
- {
- $path = "$1";
- }
- else
- {
- print "Error: unknown option $ARGV[0]\n";
- exit;
- }
-
- shift @ARGV;
-}
-
-
-
-while ($ARGV[0])
-{
- if ($debug) {warn "Processing file : $ARGV[0]\n";}
-
- my $filename = $ARGV[0];
- open FILE, $filename or die "Couldn't open file $ARGV[0] : $!\n";
-
- # my $file = $ARGV[0];
- # $file =~ s/.*\/([^\/]+)$/$1/;
- # $file =~ s/\.hg//;
- my @tmpnamespace = @namespace_whole;
- my $cppname = "";
- my $cname = "";
- my $ccast = "";
- while (<FILE>)
- {
- if (/CLASS_START\((\w+)\)/) #We need a new way to get the namespace.
- {
- print "generate_wrap_init: namespace found: $1\n";
- push(@tmpnamespace, $1);
- }
- elsif (/_CLASS_GOBJECT\s*\(/) #TODO: There is duplication of code here.
- {
- my $line = $_;
- while ($line !~ /\)/ && ($_ = <FILE>))
- {
- $line .= $_;
- }
-
- $line =~ s/^.*_CLASS_GOBJECT\s*\(//;
- $line =~ s/\s+//g;
- ($cppname, $cname, $ccast) = split(/,/, $line);
-
- $objects{$cppname} = $cname;
- @{$namespaces{$cppname}} = ( @tmpnamespace ); #both are lists of strings
- $basenames{$cppname} = lc($ccast);
- }
- elsif (/_CLASS_GTKOBJECT\s*\(/)
- {
- my $line = $_;
- while ($line !~ /\)/ && ($_ = <FILE>))
- {
- $line .= $_;
- }
-
- $line =~ s/^.*_CLASS_GTKOBJECT\s*\(//;
- $line =~ s/\s+//g;
- ($cppname, $cname, $ccast) = split(/,/, $line);
-
- #TODO: Remove this hack eventually.
- if( ($cname ne "GtkTree") && ($cname ne "GtkTreeItem") && ($cname ne "GtkText") )
- {
- $objects{$cppname} = $cname;
- @{$namespaces{$cppname}} = ( @tmpnamespace ); #both are lists of strings
- $basenames{$cppname} = lc($ccast);
- }
- }
- elsif (/_WRAP_GERROR\s*\(/) #TODO: There is duplication of code here.
- {
- my $line = $_;
- while ($line !~ /\)/ && ($_ = <FILE>))
- {
- $line .= $_;
- }
-
- $line =~ s/^.*_WRAP_GERROR\s*\(//;
- $line =~ s/\s+//g;
- $line =~ s/\)//;
- ($cppname, $cname, $ccast) = split(/,/, $line);
-
- $exceptions{$cppname} = $cname;
- @{$namespaces{$cppname}} = ( @tmpnamespace ); #both are lists of strings
- $basenames{$cppname} = lc($ccast);
- }
- elsif (/_GTKMMPROC_WIN32_NO_WRAP/)
- {
- $win32_nowrap{$cppname} = 1;
- }
- elsif (/_DEPRECATED/)
- {
- $deprecated{$cppname} = 1;
- }
- }
-
- # Store header filename so that we can #include it later:
- my $filename_header = $filename;
- $filename_header =~ s/.*\/([^\/]+)\.hg/$1.h/;
- push(@filenames_headers, $filename_header);
-
- shift @ARGV;
- close(FILE);
-}
-
-# my $namespace_whole_lower = lc($namespace_whole);
-
-print << "EOF";
-
-#include <glib.h>
-
-// Disable the 'const' function attribute of the get_type() functions.
-// GCC would optimize them out because we don't use the return value.
-#undef G_GNUC_CONST
-#define G_GNUC_CONST /* empty */
-
-#include <${parent_dir}/wrap_init.h>
-#include <glibmm/error.h>
-#include <glibmm/object.h>
-
-// #include the widget headers so that we can call the get_type() static methods:
-
-EOF
-
-foreach( @filenames_headers )
-{
- print "#include \"" . $_ . "\"\n";
-}
-
-print "\n";
-
-# Here we have to be subtle. The gtkmm objects are easy, they all go
-# into the Gtk namespace. But in gnomemm, some go into the Gnome
-# namespace (most of them), and some into the Gtk one (because the
-# corresponding widget is Gtk-prefixed, e.g. GtkTed, GtkDial, etc...
-
-# First, the Gtk namespace
-
-print "extern \"C\"\n";
-print "{\n";
-print "\n//Declarations of the *_get_type() functions:\n\n";
-
-my $i = 0;
-foreach $i (sort keys %objects)
-{
- if( $deprecated{$i} eq 1 )
- {
- # The uc(parent_dir) is a bit of a hack. One day it will get it wrong.
- print "#ifndef " . uc($parent_dir) ."_DISABLE_DEPRECATED\n"
- }
-
- #On Win32, these classes are not compiled:
- if( $win32_nowrap{$i} eq 1 )
- {
- print "#ifndef G_OS_WIN32\n"
- }
-
- print "GType $basenames{$i}_get_type(void);\n";
-
- if( $win32_nowrap{$i} eq 1 )
- {
- print "#endif //G_OS_WIN32\n"
- }
-
- if( $deprecated{$i} eq 1 )
- {
- print "#endif // *_DISABLE_DEPRECATED\n"
- }
-}
-
-print "\n//Declarations of the *_error_quark() functions:\n\n";
-
-my $i = 0;
-foreach $i (sort keys %exceptions)
-{
- print "GQuark $basenames{$i}_quark(void);\n";
-}
-
-print "} // extern \"C\"\n";
-print "\n";
-
-print "\n//Declarations of the *_Class::wrap_new() methods, instead of including all the private headers:\n\n";
-
-my $i = 0;
-foreach $i (sort keys %objects)
-{
- if( $deprecated{$i} eq 1 )
- {
- # The uc(parent_dir) is a bit of a hack. One day it will get it wrong.
- print "#ifndef " . uc($parent_dir) ."_DISABLE_DEPRECATED\n"
- }
-
- #On Win32, these classes are not compiled:
- if( $win32_nowrap{$i} eq 1 )
- {
- print "#ifndef G_OS_WIN32\n"
- }
-
- my $namespace_declarations = "";
- my $namespace_close = "";
- foreach ( @{$namespaces{$i}} )
- {
- $namespace_declarations .= "namespace $_ { ";
- $namespace_close .= " }";
- }
-
- print "${namespace_declarations} class ${i}_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; ${namespace_close}\n";
-
- if( $win32_nowrap{$i} eq 1 )
- {
- print "#endif //G_OS_WIN32\n"
- }
-
- if( $deprecated{$i} eq 1 )
- {
- print "#endif // *_DISABLE_DEPRECATED\n"
- }
-}
-
-# print "\n//Declarations of the *Error::throw_func() methods:\n\n";
-#
-# my $i = 0;
-# foreach $i (sort keys %exceptions)
-# {
-# my $namespace_declarations = "";
-# my $namespace_close = "";
-# foreach ( @{$namespaces{$i}} )
-# {
-# $namespace_declarations .= "namespace $_ { ";
-# $namespace_close .= " }";
-# }
-#
-# print "${namespace_declarations} class ${i} { public: static void throw_func(GError*); }; ${namespace_close}\n";
-# }
-
-my $namespace_whole_declarations = "";
-my $namespace_whole_close = "";
-foreach( @namespace_whole )
-{
- $namespace_whole_declarations .= "namespace " . $_ ." { ";
- $namespace_whole_close = "} //" . $_ . "\n" . $namespace_whole_close;
-}
-
-print "\n";
-print "$namespace_whole_declarations\n";
-print "\n";
-print "void " .$function_prefix . "wrap_init()\n{\n";
-
-
-# Generate namespace::wrap_init() body
-#
-
-print " // Register Error domains:\n";
-
-foreach $i (sort keys %exceptions)
-{
- my $namespace_prefix = "";
- foreach( @{$namespaces{$i}} )
- {
- $namespace_prefix .= $_ ."::";
- }
-
- print " Glib::Error::register_domain($basenames{$i}_quark(), &", "${namespace_prefix}${i}::throw_func);\n";
-}
-
-print "\n";
-print "// Map gtypes to gtkmm wrapper-creation functions:\n";
-
-foreach $i (sort keys %objects)
-{
- if( $deprecated{$i} eq 1 )
- {
- # The uc(parent_dir) is a bit of a hack. One day it will get it wrong.
- print "#ifndef " . uc($parent_dir) ."_DISABLE_DEPRECATED\n"
- }
-
- #On Win32, these classes are not compiled:
- if( $win32_nowrap{$i} eq 1 )
- {
- print "#ifndef G_OS_WIN32\n"
- }
-
- my $namespace_prefix = "";
- foreach( @{$namespaces{$i}} )
- {
- $namespace_prefix .= $_ ."::";
- }
-
- print " Glib::wrap_register($basenames{$i}_get_type(), &", "${namespace_prefix}${i}_Class::wrap_new);\n";
-
- if( $win32_nowrap{$i} eq 1 )
- {
- print "#endif //G_OS_WIN32\n"
- }
-
- if( $deprecated{$i} eq 1 )
- {
- print "#endif // *_DISABLE_DEPRECATED\n"
- }
-}
-
-print "\n";
-print " // Register the gtkmm gtypes:\n";
-
-foreach $i (sort keys %objects)
-{
- if( $deprecated{$i} eq 1 )
- {
- # The uc(parent_dir) is a bit of a hack. One day it will get it wrong.
- print "#ifndef " . uc($parent_dir) ."_DISABLE_DEPRECATED\n"
- }
-
- #On Win32, these classes are not compiled:
- if( $win32_nowrap{$i} eq 1 )
- {
- print "#ifndef G_OS_WIN32\n"
- }
-
- my $namespace_prefix = "";
- foreach( @{$namespaces{$i}} )
- {
- $namespace_prefix .= $_ ."::";
- }
-
- print " ${namespace_prefix}${i}::get_type();\n";
-
- if( $win32_nowrap{$i} eq 1 )
- {
- print "#endif //G_OS_WIN32\n"
- }
-
- if( $deprecated{$i} eq 1 )
- {
- print "#endif // *_DISABLE_DEPRECATED\n"
- }
-}
-
-print << "EOF";
-
-} // wrap_init()
-
-$namespace_whole_close
-
-EOF
-
-exit 0;
-
diff --git a/libs/glibmm2/tools/gmmproc b/libs/glibmm2/tools/gmmproc
deleted file mode 100644
index abb6fe03b9..0000000000
--- a/libs/glibmm2/tools/gmmproc
+++ /dev/null
@@ -1,239 +0,0 @@
-#! /usr/bin/perl
-#
-# tools/gmmproc. Generated from gmmproc.in by configure.
-#
-######################################################################
-# gmmproc (version 4)
-######################################################################
-#
-# *** WARNING: Only modify gmmproc.in. gmmproc is built. ***
-#
-# Copyright 2001, Karl Einar Nelson, Murray Cumming
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
-#
-#
-# 'classes':
-# WrapParser: steps through .hg and .ccg files, outputting appropriate m4 code with Outputter.
-# Outputter: Used by WrapParser to ouput wrapper code. Ouputs *.g1 temp file and uses m4 to generate *.g2 from it. Then outputs .h and .cc files.
-# Function: Contains information about C and C++ functions and signals.
-#
-######################################################################
-
-########################## 'main()' ##################################
-
-$main::procdir;
-$main::m4path;
-
-BEGIN {
- # get prefix info from configure
- my $prefix = "/usr/local";
- my $exec_prefix = "${prefix}";
- my $libdir = "${exec_prefix}/lib";
-
- # This line must match the install directory in m4/Makefile.am
- $main::procdir = "$libdir/glibmm-2.4/proc";
- $main::m4path = "m4";
-
- # This line must match install dir from pm/Makefile.am
- push @INC,"$main::procdir/pm";
-}
-
-use strict;
-use warnings;
-
-use Output;
-use WrapParser;
-
-# initialize globals
-@main::macrodirs = ();
-$main::srcdir = ".";
-$main::defsdir = ".";
-$main::source = "";
-$main::debug = 0;
-$main::unwrapped = 1;
-
-{ # checking the environment for a set variable can trigger a warning
- no warnings;
- $main::debug = 1 if ($ENV{'GMMPROC_DEBUG'} eq 1);
-}
-
-# prototypes
-sub parse_command_line_args();
-
-
-#main()
-parse_command_line_args();
-
-my $objOutputter = &Output::new($main::m4path, \@main::macrodirs);
-my $objWrapParser = &WrapParser::new($objOutputter);
-
-$$objWrapParser{srcdir} = $main::srcdir;
-$$objWrapParser{defsdir} = $main::defsdir;
-$$objWrapParser{source} = $main::source;
-$$objOutputter{source} = $main::source;
-$$objOutputter{destdir} = $ARGV[1];
-
-# Merge the C docs, e.g. gtk_docs.xml
-
-# Suck the whole file into one big string, breaking it into tokens:
-$objWrapParser->read_file($main::srcdir, $main::source);
-
-# Parse output
-$objWrapParser->parse_and_build_output();
-
-# Write out *.g1 temporary file:
-$objOutputter->output_temp_g1($$objWrapParser{module}); # e.g. "gtk"
-
-# Execute m4 to get *.g2 file:
-{
- my $exitcode = $objOutputter->make_g2_from_g1();
- if ($exitcode != 0)
- {
- if (!$main::debug)
- {
- $objOutputter->remove_temp_files();
- }
- print STDERR "m4 failed with exit code $exitcode. Aborting...\n";
- exit ($exitcode);
- }
-}
-
-# Section out the resulting output
-$objOutputter->write_sections_to_files();
-
-# Remove temp files.
-if (!$main::debug)
-{
- $objOutputter->remove_temp_files();
-}
-
-#Warn about any unwrapped function/signals:
-if ($main::unwrapped)
-{
- my @unwrapped = GtkDefs::get_unwrapped();
- if (@unwrapped)
- {
- no warnings;
-
- my @methods =
- grep {$$_{entity_type} eq "method" & $$_{c_name}!~/^_/ } @unwrapped;
- my @signals =
- grep {$$_{entity_type} eq "signal"} @unwrapped;
- my @properties =
- grep {$$_{entity_type} eq "property"} @unwrapped;
-
- if (@methods)
- {
- print "Unwrapped functions:\n";
- map { print " $$_{c_name}\n"} @methods;
- }
- if (@properties)
- {
- print "Unwrapped properties:\n";
- map { print " $$_{class}::$$_{name}\n"} @properties;
- }
- if (@signals)
- {
- print "Unwrapped signals:\n";
- map { print " $$_{class}::$$_{name}\n"} @signals;
- }
- }
-}
-
-# end of program
-exit();
-
-
-####################################################################
-
-
-sub print_usage()
-{
- print
-'Usage: gmmproc [options] name srcdir destdir
- -h
- --help This usage message.
-
- --doc Produces a header file for documentation. (FIXME)
-
- --debug Leave intermediate output arround for analysis.
- Alternatively, set GMMPROC_DEBUG=1 in the environment.
-
- --unwrapped Warn about possible unwrapped functions.
-
- --defs dir Change the directory to seach for defs.
-
- -I dir Specify the directory with m4 files.
-
-
-Note: This will read srcdir/name.{hg,ccg} file and generates destdir/name.cc
-';
- exit (1);
-}
-
-# void parse_command_line_args()
-sub parse_command_line_args()
-{
- print_usage() if ($#ARGV == -1);
-
- while ($#ARGV != -1)
- {
- $_ = shift @ARGV;
-
- if (/^-/)
- {
- print_usage() if ( /^--help/);
- print_usage() if ( /^-h/);
- if (/^-I/)
- {
- push @main::macrodirs, shift @ARGV;
- }
- elsif (/^--unwrapped/)
- {
- $main::unwrapped = 1;
- }
- elsif (/^--defs/)
- {
- $main::defsdir = shift @ARGV;
- }
- elsif (/^--debug/)
- {
- $main::debug = 1;
- }
- else
- {
- print "unknown parameter $_\n";
- }
- next;
- }
-
- last;
- }
-
- # we already have one argument
-
- if ($#ARGV != 1)
- {
- print STDERR "Invalid number of arguments (", $#ARGV+2, ")\n";
- print_usage();
- }
-
- $main::srcdir = $ARGV[0];
- $main::source = $_;
-
- push @main::macrodirs,"$main::procdir/m4";
-}
-
diff --git a/libs/glibmm2/tools/gmmproc.in b/libs/glibmm2/tools/gmmproc.in
deleted file mode 100644
index f809817371..0000000000
--- a/libs/glibmm2/tools/gmmproc.in
+++ /dev/null
@@ -1,239 +0,0 @@
-#! @PERL_PATH@
-#
-# @configure_input@
-#
-######################################################################
-# gmmproc (version 4)
-######################################################################
-#
-# *** WARNING: Only modify gmmproc.in. gmmproc is built. ***
-#
-# Copyright 2001, Karl Einar Nelson, Murray Cumming
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
-#
-#
-# 'classes':
-# WrapParser: steps through .hg and .ccg files, outputting appropriate m4 code with Outputter.
-# Outputter: Used by WrapParser to ouput wrapper code. Ouputs *.g1 temp file and uses m4 to generate *.g2 from it. Then outputs .h and .cc files.
-# Function: Contains information about C and C++ functions and signals.
-#
-######################################################################
-
-########################## 'main()' ##################################
-
-$main::procdir;
-$main::m4path;
-
-BEGIN {
- # get prefix info from configure
- my $prefix = "@prefix@";
- my $exec_prefix = "@exec_prefix@";
- my $libdir = "@libdir@";
-
- # This line must match the install directory in m4/Makefile.am
- $main::procdir = "$libdir/glibmm-2.4/proc";
- $main::m4path = "@M4@";
-
- # This line must match install dir from pm/Makefile.am
- push @INC,"$main::procdir/pm";
-}
-
-use strict;
-use warnings;
-
-use Output;
-use WrapParser;
-
-# initialize globals
-@main::macrodirs = ();
-$main::srcdir = ".";
-$main::defsdir = ".";
-$main::source = "";
-$main::debug = 0;
-$main::unwrapped = 1;
-
-{ # checking the environment for a set variable can trigger a warning
- no warnings;
- $main::debug = 1 if ($ENV{'GMMPROC_DEBUG'} eq 1);
-}
-
-# prototypes
-sub parse_command_line_args();
-
-
-#main()
-parse_command_line_args();
-
-my $objOutputter = &Output::new($main::m4path, \@main::macrodirs);
-my $objWrapParser = &WrapParser::new($objOutputter);
-
-$$objWrapParser{srcdir} = $main::srcdir;
-$$objWrapParser{defsdir} = $main::defsdir;
-$$objWrapParser{source} = $main::source;
-$$objOutputter{source} = $main::source;
-$$objOutputter{destdir} = $ARGV[1];
-
-# Merge the C docs, e.g. gtk_docs.xml
-
-# Suck the whole file into one big string, breaking it into tokens:
-$objWrapParser->read_file($main::srcdir, $main::source);
-
-# Parse output
-$objWrapParser->parse_and_build_output();
-
-# Write out *.g1 temporary file:
-$objOutputter->output_temp_g1($$objWrapParser{module}); # e.g. "gtk"
-
-# Execute m4 to get *.g2 file:
-{
- my $exitcode = $objOutputter->make_g2_from_g1();
- if ($exitcode != 0)
- {
- if (!$main::debug)
- {
- $objOutputter->remove_temp_files();
- }
- print STDERR "m4 failed with exit code $exitcode. Aborting...\n";
- exit ($exitcode);
- }
-}
-
-# Section out the resulting output
-$objOutputter->write_sections_to_files();
-
-# Remove temp files.
-if (!$main::debug)
-{
- $objOutputter->remove_temp_files();
-}
-
-#Warn about any unwrapped function/signals:
-if ($main::unwrapped)
-{
- my @unwrapped = GtkDefs::get_unwrapped();
- if (@unwrapped)
- {
- no warnings;
-
- my @methods =
- grep {$$_{entity_type} eq "method" & $$_{c_name}!~/^_/ } @unwrapped;
- my @signals =
- grep {$$_{entity_type} eq "signal"} @unwrapped;
- my @properties =
- grep {$$_{entity_type} eq "property"} @unwrapped;
-
- if (@methods)
- {
- print "Unwrapped functions:\n";
- map { print " $$_{c_name}\n"} @methods;
- }
- if (@properties)
- {
- print "Unwrapped properties:\n";
- map { print " $$_{class}::$$_{name}\n"} @properties;
- }
- if (@signals)
- {
- print "Unwrapped signals:\n";
- map { print " $$_{class}::$$_{name}\n"} @signals;
- }
- }
-}
-
-# end of program
-exit();
-
-
-####################################################################
-
-
-sub print_usage()
-{
- print
-'Usage: gmmproc [options] name srcdir destdir
- -h
- --help This usage message.
-
- --doc Produces a header file for documentation. (FIXME)
-
- --debug Leave intermediate output arround for analysis.
- Alternatively, set GMMPROC_DEBUG=1 in the environment.
-
- --unwrapped Warn about possible unwrapped functions.
-
- --defs dir Change the directory to seach for defs.
-
- -I dir Specify the directory with m4 files.
-
-
-Note: This will read srcdir/name.{hg,ccg} file and generates destdir/name.cc
-';
- exit (1);
-}
-
-# void parse_command_line_args()
-sub parse_command_line_args()
-{
- print_usage() if ($#ARGV == -1);
-
- while ($#ARGV != -1)
- {
- $_ = shift @ARGV;
-
- if (/^-/)
- {
- print_usage() if ( /^--help/);
- print_usage() if ( /^-h/);
- if (/^-I/)
- {
- push @main::macrodirs, shift @ARGV;
- }
- elsif (/^--unwrapped/)
- {
- $main::unwrapped = 1;
- }
- elsif (/^--defs/)
- {
- $main::defsdir = shift @ARGV;
- }
- elsif (/^--debug/)
- {
- $main::debug = 1;
- }
- else
- {
- print "unknown parameter $_\n";
- }
- next;
- }
-
- last;
- }
-
- # we already have one argument
-
- if ($#ARGV != 1)
- {
- print STDERR "Invalid number of arguments (", $#ARGV+2, ")\n";
- print_usage();
- }
-
- $main::srcdir = $ARGV[0];
- $main::source = $_;
-
- push @main::macrodirs,"$main::procdir/m4";
-}
-
diff --git a/libs/glibmm2/tools/m4/Makefile b/libs/glibmm2/tools/m4/Makefile
deleted file mode 100644
index 899aff4c64..0000000000
--- a/libs/glibmm2/tools/m4/Makefile
+++ /dev/null
@@ -1,441 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# tools/m4/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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.
-
-
-
-srcdir = .
-top_srcdir = ../..
-
-pkgdatadir = $(datadir)/glibmm
-pkglibdir = $(libdir)/glibmm
-pkgincludedir = $(includedir)/glibmm
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-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 = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(tools_m4_include_HEADERS) \
- $(top_srcdir)/tools/m4/Makefile_list_of_sources.am_fragment
-subdir = tools/m4
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
-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 = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(tools_m4_includedir)"
-tools_m4_includeHEADERS_INSTALL = $(INSTALL_HEADER)
-HEADERS = $(tools_m4_include_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run aclocal-1.9 -I ./scripts
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run tar
-AR = ar
-AS = as
-AUTOCONF = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run autoconf
-AUTOHEADER = :
-AUTOMAKE = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS =
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2 -Wall -Wno-long-long
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-DISABLE_DEPRECATED_API_CFLAGS =
-DISABLE_DEPRECATED_CFLAGS =
-DLLTOOL = dlltool
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-GLIBMM_CFLAGS = -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GLIBMM_LIBS = -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
-GLIBMM_MAJOR_VERSION = 2
-GLIBMM_MICRO_VERSION = 3
-GLIBMM_MINOR_VERSION = 13
-GLIBMM_RELEASE = 2.13
-GLIBMM_VERSION = 2.13.3
-GTHREAD_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GTHREAD_LIBS = -pthread -lgthread-2.0 -lrt -lglib-2.0
-GTKMMPROC_MERGECDOCS =
-GTKMM_DOXYGEN_INPUT = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/glib/glibmm/
-GTKMM_FALSE_FALSE =
-GTKMM_FALSE_TRUE = #
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBGLIBMM_SO_VERSION = 1:24:0
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-M4 = m4
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run makeinfo
-OBJDUMP = objdump
-OBJEXT = o
-OS_WIN32_FALSE =
-OS_WIN32_TRUE = #
-PACKAGE = glibmm
-PACKAGE_BUGREPORT =
-PACKAGE_NAME =
-PACKAGE_STRING =
-PACKAGE_TARNAME =
-PACKAGE_VERSION =
-PATH_SEPARATOR = :
-PERL_PATH = /usr/bin/perl
-PKG_CONFIG = /usr/bin/pkg-config
-PLATFORM_WIN32_FALSE =
-PLATFORM_WIN32_TRUE = #
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.13.3
-ac_ct_AR = ar
-ac_ct_AS =
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_DLLTOOL =
-ac_ct_F77 =
-ac_ct_OBJDUMP =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-ac_pt_PKG_CONFIG = /usr/bin/pkg-config
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target_alias =
-files_tools_m4 = base.m4 class_shared.m4 class_boxedtype.m4 class_boxedtype_static.m4 \
- class_generic.m4 class_gobject.m4 class_gtkobject.m4 \
- class_interface.m4 class_opaque_refcounted.m4 class_opaque_copyable.m4 \
- gerror.m4 \
- compare.m4 convert.m4 convert_base.m4 convert_gtkmm.m4 convert_atk.m4 convert_gdk.m4 \
- convert_glib.m4 convert_gtk.m4 convert_pango.m4 ctor.m4 doc.m4 enum.m4 list.m4 member.m4 \
- method.m4 property.m4 signal.m4 vfunc.m4
-
-EXTRA_DIST = Makefile_list_of_sources.am_fragment $(files_tools_m4)
-
-# Install the .m4, files:
-tools_m4_includedir = $(libdir)/glibmm-2.4/proc/m4
-tools_m4_include_HEADERS = $(files_tools_m4)
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(top_srcdir)/tools/m4/Makefile_list_of_sources.am_fragment $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/m4/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu tools/m4/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: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-tools_m4_includeHEADERS: $(tools_m4_include_HEADERS)
- @$(NORMAL_INSTALL)
- test -z "$(tools_m4_includedir)" || $(mkdir_p) "$(DESTDIR)$(tools_m4_includedir)"
- @list='$(tools_m4_include_HEADERS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(tools_m4_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(tools_m4_includedir)/$$f'"; \
- $(tools_m4_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(tools_m4_includedir)/$$f"; \
- done
-
-uninstall-tools_m4_includeHEADERS:
- @$(NORMAL_UNINSTALL)
- @list='$(tools_m4_include_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(tools_m4_includedir)/$$f'"; \
- rm -f "$(DESTDIR)$(tools_m4_includedir)/$$f"; \
- 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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- 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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- 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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/../../tools/m4
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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 $(HEADERS)
-installdirs:
- for dir in "$(DESTDIR)$(tools_m4_includedir)"; 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)
-
-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 distclean-libtool \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am: install-tools_m4_includeHEADERS
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-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-info-am uninstall-tools_m4_includeHEADERS
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool ctags 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-exec install-exec-am install-info \
- install-info-am install-man install-strip \
- install-tools_m4_includeHEADERS installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
- ps ps-am tags uninstall uninstall-am uninstall-info-am \
- uninstall-tools_m4_includeHEADERS
-
-# 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:
diff --git a/libs/glibmm2/tools/m4/Makefile_list_of_sources.am_fragment b/libs/glibmm2/tools/m4/Makefile_list_of_sources.am_fragment
deleted file mode 100644
index ab2e9c1a3c..0000000000
--- a/libs/glibmm2/tools/m4/Makefile_list_of_sources.am_fragment
+++ /dev/null
@@ -1,8 +0,0 @@
-files_tools_m4 = base.m4 class_shared.m4 class_boxedtype.m4 class_boxedtype_static.m4 \
- class_generic.m4 class_gobject.m4 class_gtkobject.m4 \
- class_interface.m4 class_opaque_refcounted.m4 class_opaque_copyable.m4 \
- gerror.m4 \
- compare.m4 convert.m4 convert_base.m4 convert_gtkmm.m4 convert_atk.m4 convert_gdk.m4 \
- convert_glib.m4 convert_gtk.m4 convert_pango.m4 ctor.m4 doc.m4 enum.m4 list.m4 member.m4 \
- method.m4 property.m4 signal.m4 vfunc.m4
-
diff --git a/libs/glibmm2/tools/m4/base.m4 b/libs/glibmm2/tools/m4/base.m4
deleted file mode 100644
index 564b437b0c..0000000000
--- a/libs/glibmm2/tools/m4/base.m4
+++ /dev/null
@@ -1,424 +0,0 @@
-dnl $Id: base.m4,v 1.4 2006/03/08 12:23:04 murrayc Exp $
-divert(-1)
-
-dnl
-dnl The general convention is
-dnl _* are macros
-dnl __*__ are variables
-
-dnl
-dnl rename several m4 builtins to avoid name clashes
-dnl
-
-define(`_PREFIX_BUILTIN_ALIAS', `define(`m4_$1', defn(`$1'))')
-define(`_PREFIX_BUILTIN', `_PREFIX_BUILTIN_ALIAS(`$1')`'undefine(`$1')')
-
-_PREFIX_BUILTIN(`builtin')
-_PREFIX_BUILTIN(`decr')
-_PREFIX_BUILTIN(`errprint')
-_PREFIX_BUILTIN(`esyscmd')
-_PREFIX_BUILTIN(`eval')
-_PREFIX_BUILTIN(`format')
-_PREFIX_BUILTIN(`incr')
-_PREFIX_BUILTIN(`index')
-_PREFIX_BUILTIN(`indir')
-_PREFIX_BUILTIN(`len')
-_PREFIX_BUILTIN(`maketemp')
-_PREFIX_BUILTIN(`syscmd')
-_PREFIX_BUILTIN(`substr')
-_PREFIX_BUILTIN(`sysval')
-
-dnl
-dnl More alternative names for m4 macros, not undefined (yet!).
-dnl
-
-_PREFIX_BUILTIN_ALIAS(`changecom')
-_PREFIX_BUILTIN_ALIAS(`changequote')
-_PREFIX_BUILTIN_ALIAS(`define')
-_PREFIX_BUILTIN_ALIAS(`divert')
-_PREFIX_BUILTIN_ALIAS(`divnum')
-_PREFIX_BUILTIN_ALIAS(`ifdef')
-_PREFIX_BUILTIN_ALIAS(`ifelse')
-_PREFIX_BUILTIN_ALIAS(`include')
-_PREFIX_BUILTIN_ALIAS(`m4exit')
-_PREFIX_BUILTIN_ALIAS(`m4wrap')
-_PREFIX_BUILTIN_ALIAS(`patsubst')
-_PREFIX_BUILTIN_ALIAS(`popdef')
-_PREFIX_BUILTIN_ALIAS(`pushdef')
-_PREFIX_BUILTIN_ALIAS(`shift')
-_PREFIX_BUILTIN_ALIAS(`undefine')
-_PREFIX_BUILTIN_ALIAS(`undivert')
-_PREFIX_BUILTIN_ALIAS(`regexp')
-_PREFIX_BUILTIN_ALIAS(`translit')
-
-dnl
-dnl Type Conversion Macros
-dnl
-
-m4_include(convert.m4)
-
-dnl
-dnl ----------------------- Utility Macros -------------------------
-dnl
-
-dnl
-dnl Add a comma before the arg if any, do nothing otherwise
-dnl _COMMA_PREFIX(a) -> ,a
-dnl _COMMA_PREFIX() -> `'
-dnl
-define(`_COMMA_PREFIX', `m4_ifelse(m4_eval(m4_len(`$*') >= 1), 1, `,$*')')dnl
-
-dnl
-dnl Add a comma after the arg if any, do nothing otherwise
-dnl _COMMA_SUFFIX(a) -> a,
-dnl _COMMA_SUFFIX() -> `'
-dnl
-define(`_COMMA_SUFFIX', `m4_ifelse(m4_eval(m4_len(`$*') >= 1), 1, `$*,')')dnl
-
-
-dnl
-dnl _UPPER(string)
-dnl uppercase a string
-define(`_UPPER',`m4_translit(`$*',`abcdefghijklmnopqrstuvwxyz',`ABCDEFGHIJKLMNOPQRSTUVWXYZ')')
-
-dnl
-dnl _LOWER(string)
-dnl lower a string
-define(`_LOWER',`m4_translit(`$*',`ABCDEFGHIJKLMNOPQRSTUVWXYZ',`abcdefghijklmnopqrstuvwxyz')')
-
-dnl
-dnl _QUOTE(macro)
-dnl If a macro generates an output with commas we need to protect it
-dnl from being broken down and interpreted
-define(`_QUOTE',``$*'')
-
-dnl
-dnl _NUM(arglist)
-dnl count number of arguments
-define(`_NUM',`m4_ifelse(m4_len(`$*'),0,0,`$#')')
-
-dnl
-dnl For handling of included macro files.
-dnl
-
-dnl _PUSH(section_name)
-dnl Uses pushdef() to redefine the __DIV__ macro
-dnl so that it diverts ouput to the section_name,
-dnl or discards it (-1) if no section_name is given.
-dnl TODO: However, as far as I can tell, __DIV__ is not used anywhere. murrayc.
-define(`_PUSH',`pushdef(`__DIV__',divnum)m4_divert(m4_ifelse($1,,-1,__SEC_$1))dnl`'')
-
-dnl _POP(section_name)
-dnl Uses popdef() to go back to the previous definition of the __DIV__ macro.
-define(`_POP',`m4_divert(__DIV__)popdef(`__DIV__')dnl`'')
-
-dnl _SECTION(section_name):
-dnl m4_divert() sends subsequent output to the specified file:
-define(`_SECTION',`m4_divert(__SEC_$1)dnl')
-
-dnl _IMPORT(section_name):
-define(`_IMPORT',`m4_undivert(__SEC_$1)dnl')
-
-dnl _GET_TYPE_FUNC(GtkWidget) -> gtk_widget_get_type()
-dnl The funny `[A-Z]?' part of the regexp is to catch things like GdkGCFooBar.
-define(`_GET_TYPE_FUNC',`dnl
-m4_translit(m4_substr(m4_patsubst(`$1',`[A-Z]?[A-Z]',`_\&'),1),`[A-Z]',`[a-z]')_get_type()`'dnl
-')
-
-dnl Define a new diversion
-dnl In m4, m4_divert() selects the output file to be used for subsequent text output.
-dnl 0 is the normal output. We define extra output files with _NEW_SECTION().
-dnl This macro seems to redefine __SEC_COUNT as __SEC_COUNT+1, and also
-dnl define __SEC_<the macro argument> as __SEC_COUNT.
-dnl So it just sets that section identifier to the next number.
-
-define(`__SEC_COUNT__',0)
-
-define(`_NEW_SECTION',`dnl
-define(`__SEC_COUNT__',m4_eval(__SEC_COUNT__+1))dnl
-define(`__SEC_$1',__SEC_COUNT__)dnl
-')
-
-
-changequote([,])
-define([__BT__],[changequote(,)`changequote(`,')])
-define([__FT__],[changequote(,)'changequote(`,')])
-changequote(`,')
-
-changecom()
-
-dnl
-dnl ----------------------- Main Headers -------------------------
-dnl
-
-_NEW_SECTION(SECTION_HEADER1) dnl header up to the first namespace
-_NEW_SECTION(SECTION_HEADER2) dnl header after the first namespace
-_NEW_SECTION(SECTION_HEADER3) dnl header after the first namespace
-_NEW_SECTION(SECTION_PHEADER) dnl private header
-_NEW_SECTION(SECTION_CC_INCLUDES) dnl section for additional includes
-_NEW_SECTION(SECTION_SRC_CUSTOM) dnl user supplied implementation
-_NEW_SECTION(SECTION_ANONYMOUS_NAMESPACE) dnl built implementation in anonymous namespace
-_NEW_SECTION(SECTION_SRC_GENERATED) dnl built implementation
-_NEW_SECTION(SECTION_CLASS1) dnl decl to _CLASS
-_NEW_SECTION(SECTION_CLASS2) dnl _CLASS to end of class
-_NEW_SECTION(SECTION_CC) dnl section for methods (in current namespace)
-
-_NEW_SECTION(SECTION_CC_IMPLEMENTS_INTERFACES) dnl Calls SomeBaseInterface::add_interface(get_type()).
-
-dnl Virtual Functions and Default Signal Handlers (Very similar)
-_NEW_SECTION(SECTION_H_VFUNCS) dnl Declaration of vfunc hooks.
-_NEW_SECTION(SECTION_H_VFUNCS_CPPWRAPPER) dnl Convenience method, using C++ types, that just calls the vfunc.
-_NEW_SECTION(SECTION_H_DEFAULT_SIGNAL_HANDLERS) dnl Declaration of default signal handler' hooks.
-
-_NEW_SECTION(SECTION_CC_DEFAULT_SIGNAL_HANDLERS)
-_NEW_SECTION(SECTION_CC_VFUNCS)
-_NEW_SECTION(SECTION_CC_VFUNCS_CPPWRAPPER) dnl Convenience method, using C++ types, that just calls the vfunc.
-
-_NEW_SECTION(SECTION_PH_DEFAULT_SIGNAL_HANDLERS) dnl private class declaration
-_NEW_SECTION(SECTION_PH_VFUNCS) dnl private class declaration
-
-_NEW_SECTION(SECTION_PCC_DEFAULT_SIGNAL_HANDLERS) dnl private class implementation
-_NEW_SECTION(SECTION_PCC_VFUNCS) dnl private class implementation
-
-_NEW_SECTION(SECTION_PCC_CLASS_INIT_DEFAULT_SIGNAL_HANDLERS) dnl gtk+ class_init function
-_NEW_SECTION(SECTION_PCC_CLASS_INIT_VFUNCS) dnl gtk+ class_init function
-
-
-dnl Signal Proxies:
-dnl _NEW_SECTION(SECTION_H_SIGNALPROXIES) dnl signal member objects
-_NEW_SECTION(SECTION_CC_SIGNALPROXIES) dnl signal member objects
-
-dnl Property Proxies:
-dnl _NEW_SECTION(SECTION_H_PROPERTYPROXIES)
-_NEW_SECTION(SECTION_CC_PROPERTYPROXIES)
-
-_NEW_SECTION(SECTION_CC_INITIALIZE_CLASS_EXTRA) dnl For instance, to initialize special member data from all constructors. Not commonly used.
-
-dnl _NEW_SECTION(PROXY)
-dnl _NEW_SECTION(SECTION_PCC_OBJECT_INIT) dnl gtk+ object_init function
-
-
-_NEW_SECTION(SECTION_CHECK)
-_NEW_SECTION(SECTION_USR)
-
-define(`_CHECK',`dnl
-_PUSH(SECTION_CHECK)
- $*
-_POP()
-')
-
-dnl Start of processing
-dnl
-dnl _START(filname, module,modulecanonical) .e.g _START(button, gtkmm, gtkmm)
-define(`_START',`dnl
-define(`__MODULE__',$2)dnl
-define(`__MODULE_CANONICAL__',$3)dnl
-define(`__HEADER_GUARD__',`_`'_UPPER(m4_translit(`$3`'_`'$1', `-', `_'))')dnl
-define(`__FILE__',$1)dnl
-define(`__DEPRECATION_GUARD__',`_UPPER($3)'`_DISABLE_DEPRECATED')dnl
-_SECTION(SECTION_HEADER1)
-')
-
-dnl Start deprecation of individual methods:
-define(`_DEPRECATE_IFDEF_START',`dnl
-#ifndef __DEPRECATION_GUARD__'
-)
-
-dnl end deprecation of individual methods:
-define(`_DEPRECATE_IFDEF_END',`dnl
-#endif // __DEPRECATION_GUARD__'
-)
-
-dnl begin optional deprecation of whole class
-define(`_DEPRECATE_IFDEF_CLASS_START',`dnl
-ifdef(`__BOOL_DEPRECATED__',`dnl
-_DEPRECATE_IFDEF_START',`dnl
-')
-')
-
-dnl end optional deprecation of whole class
-define(`_DEPRECATE_IFDEF_CLASS_END',`dnl
-ifdef(`__BOOL_DEPRECATED__',`dnl
-_DEPRECATE_IFDEF_END',`dnl
-')
-')
-
-dnl This does all the work of assembling the final output
-dnl
-dnl _END()
-dnl
-define(`_END',`dnl
-m4_divert(0)dnl
-#S 0 dnl Marks the beginning of the header file.
-
-// -*- c++ -*-
-// Generated by gtkmmproc -- DO NOT MODIFY!
-#ifndef __HEADER_GUARD__`'_H
-#define __HEADER_GUARD__`'_H
-
-_DEPRECATE_IFDEF_CLASS_START
-
-m4_ifelse(__MODULE__,glibmm,,`dnl else
-#include <glibmm.h>
-')dnl
-_IMPORT(SECTION_HEADER1)
-_IMPORT(SECTION_HEADER2)
-_IMPORT(SECTION_HEADER3)
-
-_DEPRECATE_IFDEF_CLASS_END
-
-#endif /* __HEADER_GUARD__`'_H */
-
-#S 1 dnl Marks the beginning of the private header file.
-
-// -*- c++ -*-
-// Generated by gtkmmproc -- DO NOT MODIFY!
-#ifndef __HEADER_GUARD__`'_P_H
-#define __HEADER_GUARD__`'_P_H
-_DEPRECATE_IFDEF_CLASS_START
-_IMPORT(SECTION_PHEADER)
-_DEPRECATE_IFDEF_CLASS_END
-#endif /* __HEADER_GUARD__`'_P_H */
-
-#S 2 dnl Marks the beginning of the source file.
-
-// Generated by gtkmmproc -- DO NOT MODIFY!
-
-_DEPRECATE_IFDEF_CLASS_START
-
-#include <__MODULE__/__FILE__.h>
-#include <__MODULE__/private/__FILE__`'_p.h>
-
-_IMPORT(SECTION_CC_INCLUDES)
-_IMPORT(SECTION_SRC_CUSTOM)
-
-namespace
-{
-_IMPORT(SECTION_ANONYMOUS_NAMESPACE)
-} // anonymous namespace
-
-_IMPORT(SECTION_SRC_GENERATED)
-_DEPRECATE_IFDEF_CLASS_END
-
-m4_divert(-1)
-m4_undivert()
-')
-
-define(`_NAMESPACE',`dnl
-_PUSH()
-m4_ifdef(`__NAMESPACE__',`dnl
-pushdef(`__NAMESPACE__',__NAMESPACE__`::'$1)
-pushdef(`__NAMESPACE_BEGIN__',__NAMESPACE_BEGIN__`
-
-namespace '$1`
-{')
-pushdef(`__NAMESPACE_END__',`} // namespace '$1`
-
-'__NAMESPACE_END__)
-',`dnl else
-pushdef(`__NAMESPACE__',$1)
-pushdef(`__NAMESPACE_BEGIN__',`namespace '$1`
-{')
-pushdef(`__NAMESPACE_END__',`} // namespace '$1)
-')dnl endif __NAMESPACE__
-_POP()
-')dnl enddef _NAMESPACE
-
-define(`_END_NAMESPACE',`dnl
-_PUSH()
-popdef(`__NAMESPACE__')
-popdef(`__NAMESPACE_BEGIN__')
-popdef(`__NAMESPACE_END__')
-_POP()
-')dnl enddef _END_NAMESPACE
-
-define(`_INCLUDE_FLAG',`__FLAG_$1_INCLUDE_`'_UPPER(m4_translit(`$2',`/.-',`___'))__')dnl
-
-define(`_PH_INCLUDE',`dnl
-m4_ifdef(_INCLUDE_FLAG(PH,`$*'),,`dnl else
-define(_INCLUDE_FLAG(PH,`$*'))dnl
-_PUSH(SECTION_PHEADER)
-#include <$*>
-_POP()
-')dnl endif
-')dnl
-
-define(`_CC_INCLUDE',`dnl
-m4_ifdef(_INCLUDE_FLAG(CC,`$*'),,`dnl else
-define(_INCLUDE_FLAG(CC,`$*'))dnl
-_PUSH(SECTION_CC_INCLUDES)
-#include <$*>
-_POP()
-')dnl endif
-')dnl
-
-define(`_PINCLUDE', defn(`_PH_INCLUDE'))
-
-# Put these, for instance, around gtkmmproc macros (_WRAP_SIGNAL)
-# to make the #ifndef appear around the generated code in both the .h
-# and .cc files.
-# e.g. _GTKMMPROC_H_AND_CC(#ifndef _SUN_CC_)
-# e.g. _GTKMMPROC_H_AND_CC(#endif //_SUN_CC_)
-# _GTKMMPROC_H_AND_CC(code)
-define(`_GTKMMPROC_H_AND_CC',`dnl
-$1
-_PUSH(SECTION_CC)
-$1
-
-_POP()
-')dnl
-
-# Same thing as _GTKMMPROC_H_AND_CC but for signals (_WRAP_SIGNAL)
-define(`_GTKMMPROC_SIGNAL_H_AND_CC',`dnl
-$1
-_PUSH(SECTION_ANONYMOUS_NAMESPACE)
-$1
-_POP()
-
-$1
-_PUSH(SECTION_H_DEFAULT_SIGNAL_HANDLERS)
-$1
-_POP()
-
-$1
-_PUSH(SECTION_PCC_CLASS_INIT_DEFAULT_SIGNAL_HANDLERS)
-$1
-_POP()
-
-$1
-_PUSH(SECTION_CC_DEFAULT_SIGNAL_HANDLERS)
-$1
-_POP()
-
-$1
-_PUSH(SECTION_PCC_DEFAULT_SIGNAL_HANDLERS)
-$1
-_POP()
-
-$1
-_PUSH(SECTION_CC_SIGNALPROXIES)
-$1
-_POP()
-')dnl
-
-m4_include(class_shared.m4)
-m4_include(class_generic.m4)
-m4_include(class_gobject.m4)
-m4_include(class_gtkobject.m4)
-m4_include(class_boxedtype.m4)
-m4_include(class_boxedtype_static.m4)
-m4_include(class_interface.m4)
-m4_include(class_opaque_copyable.m4)
-m4_include(class_opaque_refcounted.m4)
-m4_include(gerror.m4)
-m4_include(signal.m4)
-m4_include(vfunc.m4)
-m4_include(method.m4)
-m4_include(member.m4)
-m4_include(compare.m4)
-m4_include(ctor.m4)
-m4_include(property.m4)
-m4_include(enum.m4)
-
-_SECTION(SECTION_HEADER1)
-
diff --git a/libs/glibmm2/tools/m4/class_boxedtype.m4 b/libs/glibmm2/tools/m4/class_boxedtype.m4
deleted file mode 100644
index 347c3940ea..0000000000
--- a/libs/glibmm2/tools/m4/class_boxedtype.m4
+++ /dev/null
@@ -1,215 +0,0 @@
-dnl $Id: class_boxedtype.m4,v 1.3 2003/12/14 11:53:04 murrayc Exp $
-
-dnl
-dnl _CLASS_BOXEDTYPE(Region, GdkRegion, gdk_region_new, gdk_region_copy, gdk_region_destroy)
-dnl
-
-define(`_CLASS_BOXEDTYPE',`dnl
-_PUSH()
-dnl
-dnl Define the args for later macros
-define(`__CPPNAME__',`$1')
-define(`__CNAME__',`$2')
-define(`__BOXEDTYPE_FUNC_NEW',`$3')
-define(`__BOXEDTYPE_FUNC_COPY',`$4')
-define(`__BOXEDTYPE_FUNC_FREE',`$5')
-
-define(`_CUSTOM_DEFAULT_CTOR',`dnl
-_PUSH()
-dnl Define this macro to be tested for later.
-define(`__BOOL_CUSTOM_DEFAULT_CTOR__',`$1')
-_POP()
-')
-
-
-_POP()
-_SECTION(SECTION_CLASS2)
-') dnl End of _CLASS_BOXEDTYPE.
-
-dnl Some of the Gdk types are unions - e.g. GdkEvent.
-define(`_CUSTOM_STRUCT_PROTOTYPE',`dnl
-_PUSH()
-dnl Define this macro to be tested for later.
-define(`__BOOL_CUSTOM_STRUCT_PROTOTYPE__',`$1')
-_POP()
-')
-
-dnl
-dnl _END_CLASS_BOXEDTYPE()
-dnl denotes the end of a class
-dnl
-define(`_END_CLASS_BOXEDTYPE',`
-_SECTION(SECTION_HEADER1)
-ifdef(`__BOOL_CUSTOM_STRUCT_PROTOTYPE__',`dnl
-',`dnl
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-extern "C" { typedef struct _`'__CNAME__ __CNAME__; }
-#endif
-')dnl
-
-_SECTION(SECTION_HEADER3)
-
-__NAMESPACE_BEGIN__
-
-/** @relates __NAMESPACE__::__CPPNAME__
- * @param lhs The left-hand side
- * @param rhs The right-hand side
- */
-inline void swap(__CPPNAME__& lhs, __CPPNAME__& rhs)
- { lhs.swap(rhs); }
-
-__NAMESPACE_END__
-
-namespace Glib
-{
-ifdef(`__BOOL_NO_WRAP_FUNCTION__',`dnl
-',`dnl else
-
-/** @relates __NAMESPACE__::__CPPNAME__
- * @param object The C instance
- * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
- * @result A C++ instance that wraps this C instance.
- */
-__NAMESPACE__::__CPPNAME__ wrap(__CNAME__* object, bool take_copy = false);
-')dnl endif __BOOL_NO_WRAP_FUNCTION__
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-template <>
-class Value<__NAMESPACE__::__CPPNAME__> : public Glib::Value_Boxed<__NAMESPACE__::__CPPNAME__>
-{};
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-} // namespace Glib
-
-_SECTION(SECTION_SRC_GENERATED)
-
-ifdef(`__BOOL_NO_WRAP_FUNCTION__',`dnl
-',`dnl else
-namespace Glib
-{
-
-__NAMESPACE__::__CPPNAME__ wrap(__CNAME__* object, bool take_copy)
-{
- return __NAMESPACE__::__CPPNAME__`'(object, take_copy);
-}
-
-} // namespace Glib
-')dnl endif
-
-
-__NAMESPACE_BEGIN__
-
-dnl
-dnl The implementation:
-dnl
-
-// static
-GType __CPPNAME__::get_type()
-{
- return _GET_TYPE_FUNC(__CNAME__);
-}
-
-ifdef(`__BOOL_CUSTOM_DEFAULT_CTOR__',`dnl
-',`dnl else
-__CPPNAME__::__CPPNAME__`'()
-:
-ifelse(__BOXEDTYPE_FUNC_NEW,NONE,`dnl
- gobject_ (0) // Allows creation of invalid wrapper, e.g. for output arguments to methods.
-',`dnl else
- gobject_ (__BOXEDTYPE_FUNC_NEW`'())
-')dnl
-{}
-')dnl endif __BOOL_CUSTOM_DEFAULT_CTOR__
-
-__CPPNAME__::__CPPNAME__`'(const __CPPNAME__& other)
-:
- gobject_ ((other.gobject_) ? __BOXEDTYPE_FUNC_COPY`'(other.gobject_) : 0)
-{}
-
-__CPPNAME__::__CPPNAME__`'(__CNAME__* gobject, bool make_a_copy)
-:
- // For BoxedType wrappers, make_a_copy is true by default. The static
- // BoxedType wrappers must always take a copy, thus make_a_copy = true
- // ensures identical behaviour if the default argument is used.
- gobject_ ((make_a_copy && gobject) ? __BOXEDTYPE_FUNC_COPY`'(gobject) : gobject)
-{}
-
-__CPPNAME__& __CPPNAME__::operator=(const __CPPNAME__`'& other)
-{
- __CPPNAME__ temp (other);
- swap(temp);
- return *this;
-}
-
-__CPPNAME__::~__CPPNAME__`'()
-{
-dnl This could be a free or an unref, we do not need to know.
- if(gobject_)
- __BOXEDTYPE_FUNC_FREE`'(gobject_);
-}
-
-void __CPPNAME__::swap(__CPPNAME__& other)
-{
- __CNAME__ *const temp = gobject_;
- gobject_ = other.gobject_;
- other.gobject_ = temp;
-}
-
-__CNAME__* __CPPNAME__::gobj_copy() const
-{
- return __BOXEDTYPE_FUNC_COPY`'(gobject_);
-}
-
-_IMPORT(SECTION_CC)
-
-__NAMESPACE_END__
-
-
-dnl
-dnl
-dnl
-dnl
-_POP()
-dnl
-dnl
-dnl The actual class, e.g. Pango::FontDescription, declaration:
-dnl
-_IMPORT(SECTION_CLASS1)
-public:
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- typedef __CPPNAME__ CppObjectType;
- typedef __CNAME__ BaseObjectType;
-
- static GType get_type() G_GNUC_CONST;
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-ifdef(`__BOOL_CUSTOM_DEFAULT_CTOR__',`dnl
-',`dnl else
- __CPPNAME__`'();
-')dnl
-
- explicit __CPPNAME__`'(__CNAME__* gobject, bool make_a_copy = true);
-
- __CPPNAME__`'(const __CPPNAME__& other);
- __CPPNAME__& operator=(const __CPPNAME__& other);
-
- ~__CPPNAME__`'();
-
- void swap(__CPPNAME__& other);
-
- ///Provides access to the underlying C instance.
- __CNAME__* gobj() { return gobject_; }
-
- ///Provides access to the underlying C instance.
- const __CNAME__* gobj() const { return gobject_; }
-
- ///Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs.
- __CNAME__* gobj_copy() const;
-
-protected:
- __CNAME__* gobject_;
-
-private:
-_IMPORT(SECTION_CLASS2)
-')
-
diff --git a/libs/glibmm2/tools/m4/class_boxedtype_static.m4 b/libs/glibmm2/tools/m4/class_boxedtype_static.m4
deleted file mode 100644
index 89c8bbfe7d..0000000000
--- a/libs/glibmm2/tools/m4/class_boxedtype_static.m4
+++ /dev/null
@@ -1,169 +0,0 @@
-dnl $Id: class_boxedtype_static.m4,v 1.3 2003/12/14 11:53:04 murrayc Exp $
-
-dnl
-dnl _CLASS_BOXEDTYPE_STATIC(TreeIter, GtkTreeIter)
-dnl
-define(`_CLASS_BOXEDTYPE_STATIC',`dnl
-_PUSH()
-dnl
-dnl Define the args for later macros
-define(`__CPPNAME__',`$1')
-define(`__CNAME__',`$2')
-
-define(`_CUSTOM_DEFAULT_CTOR',`dnl
-_PUSH()
-dnl Define this macro to be tested for later.
-define(`__BOOL_CUSTOM_DEFAULT_CTOR__',`$1')
-_POP()
-')
-
-define(`_CUSTOM_CTOR_CAST',`dnl
-_PUSH()
-dnl Define this macro to be tested for later.
-define(`__BOOL_CUSTOM_CTOR_CAST__',`$1')
-_POP()
-')
-
-_POP()
-_SECTION(SECTION_CLASS2)
-') dnl End of _CLASS_BOXEDTYPE_STATIC.
-
-dnl TreeIterBase shouldn't have a wrap() method - we'll custom implement them for TreeIter and TreeRow:
-define(`_NO_WRAP_FUNCTION',`dnl
-_PUSH()
-dnl Define this macro to be tested for later.
-define(`__BOOL_NO_WRAP_FUNCTION__',`$1')
-_POP()
-')
-
-dnl
-dnl _END_CLASS_BOXEDTYPE_STATIC()
-dnl denotes the end of a class
-dnl
-define(`_END_CLASS_BOXEDTYPE_STATIC',`
-
-_SECTION(SECTION_HEADER3)
-
-namespace Glib
-{
-ifdef(`__BOOL_NO_WRAP_FUNCTION__',`dnl
-',`dnl else
-
-/** @relates __NAMESPACE__::__CPPNAME__
- * @param object The C instance
- * @result A C++ instance that wraps this C instance.
- */
-__NAMESPACE__::__CPPNAME__& wrap(__CNAME__* object);
-
-/** @relates __NAMESPACE__::__CPPNAME__
- * @param object The C instance
- * @result A C++ instance that wraps this C instance.
- */
-const __NAMESPACE__::__CPPNAME__& wrap(const __CNAME__* object);
-')dnl endif __BOOL_NO_WRAP_FUNCTION__
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-template <>
-class Value<__NAMESPACE__::__CPPNAME__> : public Glib::Value_Boxed<__NAMESPACE__::__CPPNAME__>
-{};
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-} // namespace Glib
-
-_SECTION(SECTION_SRC_GENERATED)
-
-ifdef(`__BOOL_NO_WRAP_FUNCTION__',`dnl
-',`dnl else
-namespace Glib
-{
-
-__NAMESPACE__::__CPPNAME__& wrap(__CNAME__* object)
-{
- return *reinterpret_cast<__NAMESPACE__::__CPPNAME__*>(object);
-}
-
-const __NAMESPACE__::__CPPNAME__& wrap(const __CNAME__* object)
-{
- return *reinterpret_cast<const __NAMESPACE__::__CPPNAME__*>(object);
-}
-
-} // namespace Glib
-')dnl endif __BOOL_NO_WRAP_FUNCTION__
-
-
-__NAMESPACE_BEGIN__
-
-dnl
-dnl The implementation:
-dnl
-
-dnl // static
-dnl const __CNAME__ __CPPNAME__::gobject_initializer_ = { 0, };
-dnl
-// static
-GType __CPPNAME__::get_type()
-{
- return _GET_TYPE_FUNC(__CNAME__);
-}
-
-ifdef(`__BOOL_CUSTOM_DEFAULT_CTOR__',,`dnl else
-__CPPNAME__::__CPPNAME__`'()
-{
- GLIBMM_INITIALIZE_STRUCT`'(gobject_, __CNAME__);
-}
-')dnl
-
-ifdef(`__BOOL_CUSTOM_CTOR_CAST__',,`dnl else
-__CPPNAME__::__CPPNAME__`'(const __CNAME__* gobject)
-{
- if(gobject)
- gobject_ = *gobject;
- else
- GLIBMM_INITIALIZE_STRUCT`'(gobject_, __CNAME__);
-}
-')dnl
-
-_IMPORT(SECTION_CC)
-
-__NAMESPACE_END__
-
-dnl
-dnl
-dnl
-dnl
-_POP()
-dnl
-dnl
-dnl The actual class, e.g. Gtk::TreeIter, declaration:
-dnl
-_IMPORT(SECTION_CLASS1)
-public:
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- typedef __CPPNAME__ CppObjectType;
- typedef __CNAME__ BaseObjectType;
-
- static GType get_type() G_GNUC_CONST;
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-ifdef(`__BOOL_CUSTOM_DEFAULT_CTOR__',,`dnl else
- __CPPNAME__`'();
-')dnl
-
-ifdef(`__BOOL_CUSTOM_CTOR_CAST__',,`dnl else
- explicit __CPPNAME__`'(const __CNAME__* gobject); // always takes a copy
-')dnl
-
- ///Provides access to the underlying C instance.
- __CNAME__* gobj() { return &gobject_; }
-
- ///Provides access to the underlying C instance.
- const __CNAME__* gobj() const { return &gobject_; }
-
-protected:
- __CNAME__ gobject_;
-dnl static const __CNAME__ gobject_initializer_;
-
-private:
- _IMPORT(SECTION_CLASS2)
-')
-
diff --git a/libs/glibmm2/tools/m4/class_generic.m4 b/libs/glibmm2/tools/m4/class_generic.m4
deleted file mode 100644
index 790e7c1b85..0000000000
--- a/libs/glibmm2/tools/m4/class_generic.m4
+++ /dev/null
@@ -1,54 +0,0 @@
-dnl $Id: class_generic.m4,v 1.1.1.1 2003/01/07 16:59:05 murrayc Exp $
-
-dnl
-dnl _CLASS_GENERIC(LayoutIter, PangoLayoutIter)
-dnl
-
-define(`_CLASS_GENERIC',`dnl
-_PUSH()
-dnl
-dnl Define the args for later macros
-define(`__CPPNAME__',`$1')
-define(`__CNAME__',`$2')
-
-_POP()
-_SECTION(SECTION_CLASS2)
-') dnl End of _CLASS_GENERIC.
-
-
-dnl
-dnl _END_CLASS_GENERIC()
-dnl denotes the end of a class
-dnl
-define(`_END_CLASS_GENERIC',`
-
-_SECTION(SECTION_SRC_GENERATED)
-
-__NAMESPACE_BEGIN__
-
-dnl The implementation:
-
-_IMPORT(SECTION_CC)
-
-__NAMESPACE_END__
-
-dnl
-dnl
-dnl
-dnl
-_POP()
-dnl
-dnl
-dnl The actual class, e.g. Pango::FontDescription, declaration:
-dnl
-_IMPORT(SECTION_CLASS1)
-public:
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- typedef __CPPNAME__ CppObjectType;
- typedef __CNAME__ BaseObjectType;
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-private:
-_IMPORT(SECTION_CLASS2)
-')
-
diff --git a/libs/glibmm2/tools/m4/class_gobject.m4 b/libs/glibmm2/tools/m4/class_gobject.m4
deleted file mode 100644
index acbe8db8a9..0000000000
--- a/libs/glibmm2/tools/m4/class_gobject.m4
+++ /dev/null
@@ -1,240 +0,0 @@
-dnl $Id: class_gobject.m4,v 1.6 2004/04/29 22:43:44 murrayc Exp $
-
-
-define(`_CLASS_GOBJECT',`dnl
-_PUSH()
-dnl
-dnl Define the args for later macros
-define(`__CPPNAME__',`$1')
-define(`__CNAME__',`$2')
-define(`__CCAST__',`$3')
-define(`__BASE__',_LOWER(__CPPNAME__))
-define(`__CPPPARENT__',`$4')
-define(`__CPARENT__',`$5')
-define(`__PCAST__',`($5*)')
-
-dnl Some C types, e.g. GdkWindow or GdkPixmap, are a typedef to their base type,
-dnl rather than the real instance type. That is really ugly, yes. We get around
-dnl the problem by supporting optional __REAL_* arguments to this macro.
-define(`__REAL_CNAME__',ifelse(`$6',,__CNAME__,`$6'))
-define(`__REAL_CPARENT__',ifelse(`$7',,__CPARENT__,`$7'))
-
-
-_POP()
-_SECTION(SECTION_CLASS2)
-') dnl end of _CLASS_GOBJECT
-
-dnl Widget and Object, and some others, have custom-written destructor implementations:
-define(`_CUSTOM_DTOR',`dnl
-_PUSH()
-dnl Define this macro to be tested for later.
-define(`__BOOL_CUSTOM_DTOR__',`$1')
-_POP()
-')
-
-dnl Gdk::Pixmap_Class::wrap_new() needs a custom implementation, in order
-dnl to create a Gdk::Bitmap object if appropriate. See comments there.
-define(`_CUSTOM_WRAP_NEW',`dnl
-_PUSH()
-dnl Define this macro to be tested for later.
-define(`__BOOL_CUSTOM_WRAP_NEW__',`1')
-_POP()
-')
-
-dnl Gnome::Canvas::CanvasAA::CanvasAA() needs access to the
-dnl normally-private canvas_class_ member variable. See comments there.
-define(`_GMMPROC_PROTECTED_GCLASS',`dnl
-_PUSH()
-dnl Define this macro to be tested for later.
-define(`__BOOL_PROTECTED_GCLASS__',`1')
-_POP()
-')
-
-dnl Some of the Gdk types are actually direct typedefs of their base type.
-dnl This means that 2 wrap functions would have the same argument.
-dnl define(`_NO_WRAP_FUNCTION',`dnl
-dnl _PUSH()
-dnl Define this macro to be tested for later.
-dnl define(`__BOOL_NO_WRAP_FUNCTION__',`$1')
-dnl _POP()
-dnl ')
-
-dnl
-dnl _CREATE_METHOD(args_type_and_name_hpp, args_type_and_name_cpp,args_name_only);
-dnl
-define(`_CREATE_METHOD',`
- static Glib::RefPtr<`'__CPPNAME__`'> create(`'$1`');
-_PUSH(SECTION_CC)
-Glib::RefPtr<`'__CPPNAME__`'> __CPPNAME__`'::create(`'$2`')
-{
- return Glib::RefPtr<`'__CPPNAME__`'>( new __CPPNAME__`'(`'$3`') );
-}
-_POP()
-')
-
-
-dnl
-dnl _END_CLASS_GOBJECT()
-dnl denotes the end of a class
-dnl
-define(`_END_CLASS_GOBJECT',`
-_SECTION(SECTION_HEADER1)
-ifdef(`__BOOL_NO_WRAP_FUNCTION__',`dnl
-',`dnl
-_STRUCT_PROTOTYPE()
-')dnl
-
-__NAMESPACE_BEGIN__ class __CPPNAME__`'_Class; __NAMESPACE_END__
-_SECTION(SECTION_HEADER3)
-
-ifdef(`__BOOL_NO_WRAP_FUNCTION__',`dnl
-',`dnl
-namespace Glib
-{
- /** @relates __NAMESPACE__::__CPPNAME__
- * @param object The C instance
- * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
- * @result A C++ instance that wraps this C instance.
- */
- Glib::RefPtr<__NAMESPACE__::__CPPNAME__> wrap(__REAL_CNAME__`'* object, bool take_copy = false);
-}
-')dnl
-
-
-dnl
-dnl
-_SECTION(SECTION_PHEADER)
-
-#include <glibmm/class.h>
-
-__NAMESPACE_BEGIN__
-
-_PH_CLASS_DECLARATION()
-
-__NAMESPACE_END__
-
-_SECTION(SECTION_SRC_GENERATED)
-
-ifdef(`__BOOL_NO_WRAP_FUNCTION__',`dnl
-',`dnl else
-namespace Glib
-{
-
-Glib::RefPtr<__NAMESPACE__::__CPPNAME__> wrap(__REAL_CNAME__`'* object, bool take_copy)
-{
- return Glib::RefPtr<__NAMESPACE__::__CPPNAME__>( dynamic_cast<__NAMESPACE__::__CPPNAME__*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
- //We use dynamic_cast<> in case of multiple inheritance.
-}
-
-} /* namespace Glib */
-')dnl endif
-
-
-
-
-__NAMESPACE_BEGIN__
-
-
-/* The *_Class implementation: */
-
-_PCC_CLASS_IMPLEMENTATION()
-
-m4_ifdef(`__BOOL_CUSTOM_WRAP_NEW__',,`dnl else
-Glib::ObjectBase* __CPPNAME__`'_Class::wrap_new(GObject* object)
-{
- return new __CPPNAME__`'((__CNAME__*)`'object);
-}
-
-')dnl endif
-
-/* The implementation: */
-
-__CNAME__* __CPPNAME__::gobj_copy()
-{
- reference();
- return gobj();
-}
-
-__CPPNAME__::__CPPNAME__`'(const Glib::ConstructParams& construct_params)
-:
- __CPPPARENT__`'(construct_params)
-{}
-
-__CPPNAME__::__CPPNAME__`'(__CNAME__* castitem)
-:
- __CPPPARENT__`'(__PCAST__`'(castitem))
-{}
-
-ifdef(`__BOOL_CUSTOM_DTOR__',`dnl
-',`dnl
-__CPPNAME__::~__CPPNAME__`'()
-{}
-
-')dnl
-
-
-_CC_CLASS_IMPLEMENTATION()
-
-__NAMESPACE_END__
-
-dnl
-dnl
-dnl
-dnl
-_POP()
-dnl
-dnl The actual class, e.g. Gtk::Widget, declaration:
-dnl _IMPORT(SECTION_H_SIGNALPROXIES_CUSTOM)
-
-_IMPORT(SECTION_CLASS1)
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-
-public:
- typedef __CPPNAME__ CppObjectType;
- typedef __CPPNAME__`'_Class CppClassType;
- typedef __CNAME__ BaseObjectType;
- typedef __REAL_CNAME__`'Class BaseClassType;
-
-m4_ifdef(`__BOOL_PROTECTED_GCLASS__',
-`protected:',`dnl else
-private:')dnl endif
- friend class __CPPNAME__`'_Class;
- static CppClassType `'__BASE__`'_class_;
-
-private:
- // noncopyable
- __CPPNAME__`'(const __CPPNAME__&);
- __CPPNAME__& operator=(const __CPPNAME__&);
-
-protected:
- explicit __CPPNAME__`'(const Glib::ConstructParams& construct_params);
- explicit __CPPNAME__`'(__CNAME__* castitem);
-
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-public:
- virtual ~__CPPNAME__`'();
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- static GType get_type() G_GNUC_CONST;
- static GType get_base_type() G_GNUC_CONST;
-#endif
-
- ///Provides access to the underlying C GObject.
- __CNAME__* gobj() { return reinterpret_cast<__CNAME__*>(gobject_); }
-
- ///Provides access to the underlying C GObject.
- const __CNAME__* gobj() const { return reinterpret_cast<__CNAME__*>(gobject_); }
-
- ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
- __CNAME__* gobj_copy();
-
-private:
-_IMPORT(SECTION_CLASS2)
-
-public:
-_H_VFUNCS_AND_SIGNALS()
-
-')
-
diff --git a/libs/glibmm2/tools/m4/class_gtkobject.m4 b/libs/glibmm2/tools/m4/class_gtkobject.m4
deleted file mode 100644
index 09445d03ec..0000000000
--- a/libs/glibmm2/tools/m4/class_gtkobject.m4
+++ /dev/null
@@ -1,225 +0,0 @@
-dnl $Id: class_gtkobject.m4,v 1.6 2006/03/08 12:23:04 murrayc Exp $
-
-
-
-define(`_CLASS_GTKOBJECT',`dnl
-_PUSH()
-dnl
-dnl Define the args for later macros
-define(`__CPPNAME__',`$1')
-define(`__CNAME__',`$2')
-define(`__CCAST__',`$3')
-define(`__BASE__',_LOWER(__CPPNAME__))
-define(`__CPPPARENT__',`$4')
-define(`__CPARENT__',`$5')
-define(`__PCAST__',`($5*)')
-
-dnl Some C types, e.g. GdkWindow or GdkPixmap, are a typedef to their base type,
-dnl rather than the real instance type. That is really ugly, yes. We get around
-dnl the problem by supporting optional __REAL_* arguments to this macro.
-define(`__REAL_CNAME__',ifelse(`$6',,__CNAME__,`$6'))
-define(`__REAL_CPARENT__',ifelse(`$7',,__CPARENT__,`$7'))
-
-
-dnl
-dnl ----------------------- Constructors -------------------------
-dnl
-
-
-_POP()
-_SECTION(SECTION_CLASS2)
-')dnl end of _CLASS_GTKOBJECT
-
-dnl Widget and Object, and some others, have custom-written destructor implementations:
-define(`_CUSTOM_DTOR',`dnl
-_PUSH()
-dnl Define this macro to be tested for later.
-define(`__BOOL_CUSTOM_DTOR__',`$1')
-_POP()
-')
-
-dnl Gtk::Object has a custom-written cast implementation:
-define(`_CUSTOM_CTOR_CAST',`dnl
-_PUSH()
-dnl Define this macro to be tested for later.
-define(`__BOOL_CUSTOM_CTOR_CAST__',`$1')
-_POP()
-')
-
-dnl Top-level windows can not be manage()ed, so we should not use manage() in wrap_new().
-define(`_UNMANAGEABLE',`dnl
-_PUSH()
-dnl Define this macro to be tested for later.
-define(`__BOOL_UNMANAGEABLE__',`$1')
-_POP()
-')
-
-dnl Optionally ifdef-out the whole .h and .cc files:
-define(`_DEPRECATED',`dnl
-_PUSH()
-dnl Define this macro to be tested for later.
-define(`__BOOL_DEPRECATED__',`$1')
-_POP()
-')
-
-dnl Gnome::Canvas::CanvasAA::CanvasAA() needs access to the
-dnl normally-private canvas_class_ member variable. See comments there.
-define(`_GMMPROC_PROTECTED_GCLASS',`dnl
-_PUSH()
-dnl Define this macro to be tested for later.
-define(`__BOOL_PROTECTED_GCLASS__',`1')
-_POP()
-')
-
-
-dnl
-dnl _END_CLASS_GTKOBJECT()
-dnl denotes the end of a class
-dnl
-define(`_END_CLASS_GTKOBJECT',`
-
-_SECTION(SECTION_HEADER1)
-_STRUCT_PROTOTYPE()
-
-__NAMESPACE_BEGIN__ class __CPPNAME__`'_Class; __NAMESPACE_END__
-_SECTION(SECTION_HEADER3)
-
-namespace Glib
-{
- /** @relates __NAMESPACE__::__CPPNAME__
- * @param object The C instance
- * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
- * @result A C++ instance that wraps this C instance.
- */
- __NAMESPACE__::__CPPNAME__`'* wrap(__CNAME__`'* object, bool take_copy = false);
-} //namespace Glib
-
-dnl
-dnl
-_SECTION(SECTION_PHEADER)
-
-#include <glibmm/class.h>
-
-__NAMESPACE_BEGIN__
-
-_PH_CLASS_DECLARATION()
-
-__NAMESPACE_END__
-
-_SECTION(SECTION_SRC_GENERATED)
-
-namespace Glib
-{
-
-__NAMESPACE__::__CPPNAME__`'* wrap(__CNAME__`'* object, bool take_copy)
-{
- return dynamic_cast<__NAMESPACE__::__CPPNAME__ *> (Glib::wrap_auto ((GObject*)(object), take_copy));
-}
-
-} /* namespace Glib */
-
-__NAMESPACE_BEGIN__
-
-
-/* The *_Class implementation: */
-
-_PCC_CLASS_IMPLEMENTATION()
-
-Glib::ObjectBase* __CPPNAME__`'_Class::wrap_new(GObject* o)
-{
-ifdef(`__BOOL_UNMANAGEABLE__',`dnl
- return new __CPPNAME__`'((__CNAME__*)`'(o)); //top-level windows can not be manage()ed.
-',`dnl
- return manage(new __CPPNAME__`'((__CNAME__*)`'(o)));
-')
-}
-
-
-/* The implementation: */
-
-ifdef(`__BOOL_CUSTOM_CTOR_CAST__',`dnl necessary for Gtk::Object implementation
-',`dnl
-__CPPNAME__::__CPPNAME__`'(const Glib::ConstructParams& construct_params)
-:
- __CPPPARENT__`'(construct_params)
-{
- _IMPORT(SECTION_CC_INITIALIZE_CLASS_EXTRA) dnl Does not seem to work - custom implement it instead.
-}
-
-__CPPNAME__::__CPPNAME__`'(__CNAME__* castitem)
-:
- __CPPPARENT__`'(__PCAST__`'(castitem))
-{
- _IMPORT(SECTION_CC_INITIALIZE_CLASS_EXTRA) dnl Does not seem to work - custom implement it instead.
-}
-
-')dnl
-ifdef(`__BOOL_CUSTOM_DTOR__',`dnl
-',`dnl
-__CPPNAME__::~__CPPNAME__`'()
-{
- destroy_();
-}
-
-')dnl
-_CC_CLASS_IMPLEMENTATION()
-
-__NAMESPACE_END__
-
-dnl
-dnl
-dnl
-dnl
-_POP()
-dnl The actual class, e.g. Gtk::Widget, declaration:
-dnl _IMPORT(SECTION_H_SIGNALPROXIES_CUSTOM)
-
-_IMPORT(SECTION_CLASS1)
-public:
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- typedef __CPPNAME__ CppObjectType;
- typedef __CPPNAME__`'_Class CppClassType;
- typedef __CNAME__ BaseObjectType;
- typedef __REAL_CNAME__`'Class BaseClassType;
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
- virtual ~__CPPNAME__`'();
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-
-m4_ifdef(`__BOOL_PROTECTED_GCLASS__',
-`protected:',`dnl else
-private:')dnl endif
-
- friend class __CPPNAME__`'_Class;
- static CppClassType `'__BASE__`'_class_;
-
- // noncopyable
- __CPPNAME__`'(const __CPPNAME__&);
- __CPPNAME__& operator=(const __CPPNAME__&);
-
-protected:
- explicit __CPPNAME__`'(const Glib::ConstructParams& construct_params);
- explicit __CPPNAME__`'(__CNAME__* castitem);
-
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-public:
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- static GType get_type() G_GNUC_CONST;
- static GType get_base_type() G_GNUC_CONST;
-#endif
-
- ///Provides access to the underlying C GtkObject.
- __CNAME__* gobj() { return reinterpret_cast<__CNAME__*>(gobject_); }
-
- ///Provides access to the underlying C GtkObject.
- const __CNAME__* gobj() const { return reinterpret_cast<__CNAME__*>(gobject_); }
-
-_H_VFUNCS_AND_SIGNALS()
-
-private:
-_IMPORT(SECTION_CLASS2)
-
-')
-
diff --git a/libs/glibmm2/tools/m4/class_interface.m4 b/libs/glibmm2/tools/m4/class_interface.m4
deleted file mode 100644
index c08dec9ca2..0000000000
--- a/libs/glibmm2/tools/m4/class_interface.m4
+++ /dev/null
@@ -1,264 +0,0 @@
-dnl $Id: class_interface.m4,v 1.7 2006/07/19 16:32:41 murrayc Exp $
-
-
-define(`_CLASS_INTERFACE',`dnl
-_PUSH()
-dnl
-dnl Define the args for later macros
-define(`__CPPNAME__',`$1')
-define(`__CNAME__',`$2')
-define(`__CCAST__',`$3')
-define(`__CCLASS__',`$4') dnl SomethingIface or SomethingClass, both suffixes are used.
-define(`__BASE__',_LOWER(__CPPNAME__))
-define(`__CPPPARENT__',`Glib::Interface')
-dnl define(`__CPARENT__',`GObject')
-define(`__PCAST__',`(GObject*)')
-define(`__BOOL_IS_INTERFACE__',`1')
-
-
-_POP()
-_SECTION(SECTION_CLASS2)
-') dnl end of _CLASS_INTERFACE
-
-
-dnl Some of the Gdk types are actually direct typedefs of their base type.
-dnl This means that 2 wrap functions would have the same argument.
-dnl define(`_NO_WRAP_FUNCTION',`dnl
-dnl _PUSH()
-dnl Define this macro to be tested for later.
-dnl define(`__BOOL_NO_WRAP_FUNCTION__',`$1')
-dnl _POP()
-dnl ')
-
-dnl
-dnl
-dnl
-define(`_PH_CLASS_DECLARATION_INTERFACE',`dnl
-class __CPPNAME__`'_Class : public Glib::Interface_Class
-{
-public:
- typedef __CPPNAME__ CppObjectType;
- typedef __CNAME__ BaseObjectType;
- typedef __CCLASS__ BaseClassType;
- typedef __CPPPARENT__`'_Class CppClassParent;
-
- friend class __CPPNAME__;
-
- const Glib::Interface_Class& init();
-
- static void iface_init_function(void* g_iface, void* iface_data);
-
- static Glib::ObjectBase* wrap_new(GObject*);
-
-protected:
-
-#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
- //Callbacks (default signal handlers):
- //These will call the *_impl member methods, which will then call the existing default signal callbacks, if any.
- //You could prevent the original default signal handlers being called by overriding the *_impl method.
-_IMPORT(SECTION_PH_DEFAULT_SIGNAL_HANDLERS)
-#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
-
- //Callbacks (virtual functions):
-#ifdef GLIBMM_VFUNCS_ENABLED
-_IMPORT(SECTION_PH_VFUNCS)
-#endif //GLIBMM_VFUNCS_ENABLED
-};
-')
-
-
-dnl
-dnl
-dnl
-define(`_PCC_CLASS_IMPLEMENTATION_INTERFACE',`dnl
-const Glib::Interface_Class& __CPPNAME__`'_Class::init()
-{
- if(!gtype_) // create the GType if necessary
- {
- // Glib::Interface_Class has to know the interface init function
- // in order to add interfaces to implementing types.
- class_init_func_ = &__CPPNAME__`'_Class::iface_init_function;
-
- // We can not derive from another interface, and it is not necessary anyway.
- gtype_ = _LOWER(__CCAST__)_get_type();
- }
-
- return *this;
-}
-
-void __CPPNAME__`'_Class::iface_init_function(void* g_iface, void*)
-{
- BaseClassType *const klass = static_cast<BaseClassType*>(g_iface);
-
- //This is just to avoid an "unused variable" warning when there are no vfuncs or signal handlers to connect.
- //This is a temporary fix until I find out why I can not seem to derive a GtkFileChooser interface. murrayc
- g_assert(klass != 0);
-
-#ifdef GLIBMM_VFUNCS_ENABLED
-_IMPORT(SECTION_PCC_CLASS_INIT_VFUNCS)
-#endif //GLIBMM_VFUNCS_ENABLED
-
-#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
-_IMPORT(SECTION_PCC_CLASS_INIT_DEFAULT_SIGNAL_HANDLERS)
-#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
-}
-
-#ifdef GLIBMM_VFUNCS_ENABLED
-_IMPORT(SECTION_PCC_VFUNCS)
-#endif //GLIBMM_VFUNCS_ENABLED
-
-#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
-_IMPORT(SECTION_PCC_DEFAULT_SIGNAL_HANDLERS)
-#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
-')
-
-
-dnl
-dnl _END_CLASS_INTERFACE()
-dnl denotes the end of a class
-dnl
-define(`_END_CLASS_INTERFACE',`
-_SECTION(SECTION_HEADER1)
-_STRUCT_PROTOTYPE()
-
-__NAMESPACE_BEGIN__ class __CPPNAME__`'_Class; __NAMESPACE_END__
-_SECTION(SECTION_HEADER3)
-
-ifdef(`__BOOL_NO_WRAP_FUNCTION__',`dnl
-',`dnl
-namespace Glib
-{
- /** @relates __NAMESPACE__::__CPPNAME__
- * @param object The C instance
- * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
- * @result A C++ instance that wraps this C instance.
- */
- Glib::RefPtr<__NAMESPACE__::__CPPNAME__> wrap(__CNAME__`'* object, bool take_copy = false);
-
-} // namespace Glib
-
-')dnl
-dnl
-dnl
-_SECTION(SECTION_PHEADER)
-
-#include <glibmm/private/interface_p.h>
-
-__NAMESPACE_BEGIN__
-
-_PH_CLASS_DECLARATION_INTERFACE()
-
-__NAMESPACE_END__
-
-_SECTION(SECTION_SRC_GENERATED)
-
-ifdef(`__BOOL_NO_WRAP_FUNCTION__',`dnl
-',`dnl else
-namespace Glib
-{
-
-Glib::RefPtr<__NAMESPACE__::__CPPNAME__> wrap(__CNAME__`'* object, bool take_copy)
-{
- return Glib::RefPtr<__NAMESPACE__::__CPPNAME__>( dynamic_cast<__NAMESPACE__::__CPPNAME__*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
- //We use dynamic_cast<> in case of multiple inheritance.
-}
-
-} // namespace Glib
-')dnl endif
-
-
-__NAMESPACE_BEGIN__
-
-
-/* The *_Class implementation: */
-
-_PCC_CLASS_IMPLEMENTATION_INTERFACE()
-
-Glib::ObjectBase* __CPPNAME__`'_Class::wrap_new(GObject* object)
-{
- return new __CPPNAME__`'((__CNAME__*)`'(object));
-}
-
-
-/* The implementation: */
-
-__CPPNAME__::__CPPNAME__`'()
-:
- Glib::Interface(__BASE__`'_class_.init())
-{}
-
-__CPPNAME__::__CPPNAME__`'(__CNAME__* castitem)
-:
- __CPPPARENT__`'(__PCAST__`'(castitem))
-{}
-
-__CPPNAME__::~__CPPNAME__`'()
-{}
-
-// static
-void __CPPNAME__`'::add_interface(GType gtype_implementer)
-{
- __BASE__`'_class_.init().add_interface(gtype_implementer);
-}
-
-_CC_CLASS_IMPLEMENTATION()
-
-__NAMESPACE_END__
-
-dnl
-dnl
-dnl
-dnl
-_POP()
-dnl
-dnl The actual class, e.g. Gtk::Widget, declaration:
-dnl _IMPORT(SECTION_H_SIGNALPROXIES_CUSTOM)
-
-_IMPORT(SECTION_CLASS1)
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-
-public:
- typedef __CPPNAME__ CppObjectType;
- typedef __CPPNAME__`'_Class CppClassType;
- typedef __CNAME__ BaseObjectType;
- typedef __CCLASS__ BaseClassType;
-
-private:
- friend class __CPPNAME__`'_Class;
- static CppClassType `'__BASE__`'_class_;
-
- // noncopyable
- __CPPNAME__`'(const __CPPNAME__&);
- __CPPNAME__& operator=(const __CPPNAME__&);
-
-protected:
- __CPPNAME__`'(); // you must derive from this class
- explicit __CPPNAME__`'(__CNAME__* castitem);
-
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-public:
- virtual ~__CPPNAME__`'();
-
- static void add_interface(GType gtype_implementer);
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- static GType get_type() G_GNUC_CONST;
- static GType get_base_type() G_GNUC_CONST;
-#endif
-
- ///Provides access to the underlying C GObject.
- __CNAME__* gobj() { return reinterpret_cast<__CNAME__*>(gobject_); }
-
- ///Provides access to the underlying C GObject.
- const __CNAME__* gobj() const { return reinterpret_cast<__CNAME__*>(gobject_); }
-
-private:
-_IMPORT(SECTION_CLASS2)
-
-public:
-_H_VFUNCS_AND_SIGNALS()
-
-')
-
diff --git a/libs/glibmm2/tools/m4/class_opaque_copyable.m4 b/libs/glibmm2/tools/m4/class_opaque_copyable.m4
deleted file mode 100644
index 0b8417fd95..0000000000
--- a/libs/glibmm2/tools/m4/class_opaque_copyable.m4
+++ /dev/null
@@ -1,181 +0,0 @@
-dnl $Id: class_opaque_copyable.m4,v 1.2 2003/12/14 11:53:04 murrayc Exp $
-
-dnl
-dnl _CLASS_OPAQUE_COPYABLE(Region, GdkRegion, gdk_region_new, gdk_region_copy, gdk_region_destroy)
-dnl
-
-define(`_CLASS_OPAQUE_COPYABLE',`dnl
-_PUSH()
-dnl
-dnl Define the args for later macros
-define(`__CPPNAME__',`$1')
-define(`__CNAME__',`$2')
-define(`__OPAQUE_FUNC_NEW',`$3')
-define(`__OPAQUE_FUNC_COPY',`$4')
-define(`__OPAQUE_FUNC_FREE',`$5')
-
-define(`_CUSTOM_DEFAULT_CTOR',`dnl
-_PUSH()
-dnl Define this macro to be tested for later.
-define(`__BOOL_CUSTOM_DEFAULT_CTOR__',`$1')
-_POP()
-')
-
-_POP()
-_SECTION(SECTION_CLASS2)
-') dnl End of _CLASS_OPAQUE_COPYABLE.
-
-
-dnl
-dnl _END_CLASS_OPAQUE_COPYABLE()
-dnl denotes the end of a class
-dnl
-define(`_END_CLASS_OPAQUE_COPYABLE',`
-
-_SECTION(SECTION_HEADER3)
-
-ifdef(`__BOOL_NO_WRAP_FUNCTION__',`dnl
-',`dnl else
-namespace Glib
-{
-
- /** @relates __NAMESPACE__::__CPPNAME__
- * @param object The C instance
- * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
- * @result A C++ instance that wraps this C instance.
- */
-__NAMESPACE__::__CPPNAME__ wrap(__CNAME__* object, bool take_copy = false);
-
-} // namespace Glib
-')dnl endif __BOOL_NO_WRAP_FUNCTION__
-
-_SECTION(SECTION_SRC_GENERATED)
-
-ifdef(`__BOOL_NO_WRAP_FUNCTION__',`dnl
-',`dnl else
-namespace Glib
-{
-
-__NAMESPACE__::__CPPNAME__ wrap(__CNAME__* object, bool take_copy /* = false */)
-{
- return __NAMESPACE__::__CPPNAME__`'(object, take_copy);
-}
-
-} // namespace Glib
-')dnl endif
-
-
-__NAMESPACE_BEGIN__
-
-dnl
-dnl The implementation:
-dnl
-
-ifdef(`__BOOL_CUSTOM_DEFAULT_CTOR__',`dnl
-',`dnl else
-__CPPNAME__::__CPPNAME__`'()
-:
-ifelse(__OPAQUE_FUNC_NEW,NONE,`dnl
- gobject_ (0) // Allows creation of invalid wrapper, e.g. for output arguments to methods.
-',`dnl else
- gobject_ (__OPAQUE_FUNC_NEW`'())
-')dnl
-{}
-')dnl endif __BOOL_CUSTOM_DEFAULT_CTOR__
-
-__CPPNAME__::__CPPNAME__`'(const __CPPNAME__& src)
-:
- gobject_ ((src.gobject_) ? __OPAQUE_FUNC_COPY`'(src.gobject_) : 0)
-{}
-
-__CPPNAME__::__CPPNAME__`'(__CNAME__* castitem, bool make_a_copy /* = false */)
-{
- if(!make_a_copy)
- {
- // It was given to us by a function which has already made a copy for us to keep.
- gobject_ = castitem;
- }
- else
- {
- // We are probably getting it via direct access to a struct,
- // so we can not just take it - we have to take a copy of it.
- if(castitem)
- gobject_ = __OPAQUE_FUNC_COPY`'(castitem);
- else
- gobject_ = 0;
- }
-}
-
-ifelse(__OPAQUE_FUNC_COPY,NONE,`dnl
-',`dnl else
-__CPPNAME__& __CPPNAME__::operator=(const __CPPNAME__`'& src)
-{
- __CNAME__ *const new_gobject = (src.gobject_) ? __OPAQUE_FUNC_COPY`'(src.gobject_) : 0;
-
- if(gobject_)
- __OPAQUE_FUNC_FREE`'(gobject_);
-
- gobject_ = new_gobject;
-
- return *this;
-}
-')dnl
-
-__CPPNAME__::~__CPPNAME__`'()
-{
- if(gobject_)
- __OPAQUE_FUNC_FREE`'(gobject_);
-}
-
-__CNAME__* __CPPNAME__::gobj_copy() const
-{
- return __OPAQUE_FUNC_COPY`'(gobject_);
-}
-
-_IMPORT(SECTION_CC)
-
-__NAMESPACE_END__
-
-
-dnl
-dnl
-dnl
-dnl
-_POP()
-dnl
-dnl
-dnl The actual class, e.g. Pango::FontDescription, declaration:
-dnl
-_IMPORT(SECTION_CLASS1)
-public:
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- typedef __CPPNAME__ CppObjectType;
- typedef __CNAME__ BaseObjectType;
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-ifdef(`__BOOL_CUSTOM_DEFAULT_CTOR__',`dnl
-',`dnl else
- __CPPNAME__`'();
-')dnl
-
- // Use make_a_copy=true when getting it directly from a struct.
- explicit __CPPNAME__`'(__CNAME__* castitem, bool make_a_copy = false);
-
- __CPPNAME__`'(const __CPPNAME__& src);
- __CPPNAME__& operator=(const __CPPNAME__& src);
-
- ~__CPPNAME__`'();
-
- __CNAME__* gobj() { return gobject_; }
- const __CNAME__* gobj() const { return gobject_; }
-
- ///Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs.
- __CNAME__* gobj_copy() const;
-
-protected:
- __CNAME__* gobject_;
-
-private:
-_IMPORT(SECTION_CLASS2)
-')
-
diff --git a/libs/glibmm2/tools/m4/class_opaque_refcounted.m4 b/libs/glibmm2/tools/m4/class_opaque_refcounted.m4
deleted file mode 100644
index e64b2647c1..0000000000
--- a/libs/glibmm2/tools/m4/class_opaque_refcounted.m4
+++ /dev/null
@@ -1,172 +0,0 @@
-dnl $Id: class_opaque_refcounted.m4,v 1.3 2003/12/14 11:53:04 murrayc Exp $
-
-dnl
-dnl _CLASS_OPAQUE_REFCOUNTED(Coverage, PangoCoverage, pango_coverage_new, pango_coverage_ref, pango_coverage_unref)
-dnl
-
-define(`_CLASS_OPAQUE_REFCOUNTED',`dnl
-_PUSH()
-dnl
-dnl Define the args for later macros
-define(`__CPPNAME__',`$1')
-define(`__CNAME__',`$2')
-define(`__OPAQUE_FUNC_NEW',`$3')
-define(`__OPAQUE_FUNC_REF',`$4')
-define(`__OPAQUE_FUNC_UNREF',`$5')
-
-_POP()
-_SECTION(SECTION_CLASS2)
-')dnl End of _CLASS_OPAQUE_REFCOUNTED.
-
-
-dnl
-dnl _END_CLASS_OPAQUE_REFCOUNTED()
-dnl denotes the end of a class
-dnl
-define(`_END_CLASS_OPAQUE_REFCOUNTED',`
-
-_SECTION(SECTION_HEADER3)
-
-namespace Glib
-{
-
- /** @relates __NAMESPACE__::__CPPNAME__
- * @param object The C instance
- * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
- * @result A C++ instance that wraps this C instance.
- */
- Glib::RefPtr<__NAMESPACE__::__CPPNAME__> wrap(__CNAME__* object, bool take_copy = false);
-
-} // namespace Glib
-
-_SECTION(SECTION_SRC_GENERATED)
-
-/* Why reinterpret_cast<__CPPNAME__*>(gobject) is needed:
- *
- * A __CPPNAME__ instance is in fact always a __CNAME__ instance.
- * Unfortunately, __CNAME__ cannot be a member of __CPPNAME__,
- * because it is an opaque struct. Also, the C interface does not provide
- * any hooks to install a destroy notification handler, thus we cannot
- * wrap it dynamically either.
- *
- * The cast works because __CPPNAME__ does not have any member data, and
- * it is impossible to derive from it. This is ensured by not implementing
- * the (protected) default constructor. The ctor is protected rather than
- * private just to avoid a compile warning.
- */
-
-namespace Glib
-{
-
-Glib::RefPtr<__NAMESPACE__::__CPPNAME__> wrap(__CNAME__* object, bool take_copy)
-{
- if(take_copy && object)
- __OPAQUE_FUNC_REF`'(object);
-
- // See the comment at the top of this file, if you want to know why the cast works.
- return Glib::RefPtr<__NAMESPACE__::__CPPNAME__>(reinterpret_cast<__NAMESPACE__::__CPPNAME__*>(object));
-}
-
-} // namespace Glib
-
-
-__NAMESPACE_BEGIN__
-
-dnl
-dnl The implementation:
-dnl
-
-ifelse(__OPAQUE_FUNC_NEW,NONE,`dnl
-',`dnl else
-// static
-Glib::RefPtr<__CPPNAME__> __CPPNAME__::create()
-{
- // See the comment at the top of this file, if you want to know why the cast works.
- return Glib::RefPtr<__CPPNAME__>(reinterpret_cast<__CPPNAME__*>(__OPAQUE_FUNC_NEW`'()));
-}
-')dnl endif __OPAQUE_FUNC_NEW
-
-void __CPPNAME__::reference() const
-{
- // See the comment at the top of this file, if you want to know why the cast works.
- __OPAQUE_FUNC_REF`'(reinterpret_cast<__CNAME__*>(const_cast<__CPPNAME__*>(this)));
-}
-
-void __CPPNAME__::unreference() const
-{
- // See the comment at the top of this file, if you want to know why the cast works.
- __OPAQUE_FUNC_UNREF`'(reinterpret_cast<__CNAME__*>(const_cast<__CPPNAME__*>(this)));
-}
-
-__CNAME__* __CPPNAME__::gobj()
-{
- // See the comment at the top of this file, if you want to know why the cast works.
- return reinterpret_cast<__CNAME__*>(this);
-}
-
-const __CNAME__* __CPPNAME__::gobj() const
-{
- // See the comment at the top of this file, if you want to know why the cast works.
- return reinterpret_cast<const __CNAME__*>(this);
-}
-
-__CNAME__* __CPPNAME__::gobj_copy() const
-{
- // See the comment at the top of this file, if you want to know why the cast works.
- __CNAME__ *const gobject = reinterpret_cast<__CNAME__*>(const_cast<__CPPNAME__*>(this));
- __OPAQUE_FUNC_REF`'(gobject);
- return gobject;
-}
-
-_IMPORT(SECTION_CC)
-
-__NAMESPACE_END__
-
-
-dnl
-dnl
-dnl
-dnl
-_POP()
-dnl
-dnl
-dnl The actual class, e.g. Pango::FontDescription, declaration:
-dnl
-_IMPORT(SECTION_CLASS1)
-public:
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- typedef __CPPNAME__ CppObjectType;
- typedef __CNAME__ BaseObjectType;
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-ifelse(__OPAQUE_FUNC_NEW,NONE,`dnl
-',`dnl else
- static Glib::RefPtr<__CPPNAME__> create();
-')dnl endif __OPAQUE_FUNC_NEW
-
- // For use with Glib::RefPtr<> only.
- void reference() const;
- void unreference() const;
-
- ///Provides access to the underlying C instance.
- __CNAME__* gobj();
-
- ///Provides access to the underlying C instance.
- const __CNAME__* gobj() const;
-
- ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
- __CNAME__* gobj_copy() const;
-
-protected:
- // Do not derive this. __NAMESPACE__::__CPPNAME__ can neither be constructed nor deleted.
- __CPPNAME__`'();
- void operator delete(void*, size_t);
-
-private:
- // noncopyable
- __CPPNAME__`'(const __CPPNAME__&);
- __CPPNAME__& operator=(const __CPPNAME__&);
-
-_IMPORT(SECTION_CLASS2)
-')
-
diff --git a/libs/glibmm2/tools/m4/class_shared.m4 b/libs/glibmm2/tools/m4/class_shared.m4
deleted file mode 100644
index c96f6099ac..0000000000
--- a/libs/glibmm2/tools/m4/class_shared.m4
+++ /dev/null
@@ -1,221 +0,0 @@
-dnl $Id: class_shared.m4,v 1.6 2006/09/19 20:07:30 murrayc Exp $
-
-define(`_CLASS_START',`dnl
-_PUSH(SECTION_CLASS1)
-')
-
-dnl
-dnl
-dnl
-define(`_H_VFUNCS_AND_SIGNALS',`dnl
-
-public:
- //C++ methods used to invoke GTK+ virtual functions:
-#ifdef GLIBMM_VFUNCS_ENABLED
-_IMPORT(SECTION_H_VFUNCS_CPPWRAPPER)
-#endif //GLIBMM_VFUNCS_ENABLED
-
-protected:
- //GTK+ Virtual Functions (override these to change behaviour):
-#ifdef GLIBMM_VFUNCS_ENABLED
-_IMPORT(SECTION_H_VFUNCS)
-#endif //GLIBMM_VFUNCS_ENABLED
-
- //Default Signal Handlers::
-#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
-_IMPORT(SECTION_H_DEFAULT_SIGNAL_HANDLERS)
-#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
-')
-
-
-dnl
-dnl
-dnl
-define(`_IMPLEMENTS_INTERFACE_CC',`dnl
-_PUSH(SECTION_CC_IMPLEMENTS_INTERFACES)
-ifelse(`$2',,,`#ifdef $2'
-)dnl
- $1`'::add_interface(get_type());
-ifelse(`$2',,,`
-#endif // $2
-')dnl
-_POP()
-')
-
-
-
-dnl
-dnl
-dnl
-define(`_PH_CLASS_DECLARATION',`dnl
-class __CPPNAME__`'_Class : public Glib::Class
-{
-public:
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- typedef __CPPNAME__ CppObjectType;
- typedef __REAL_CNAME__ BaseObjectType;
-ifdef(`__BOOL_NO_DERIVED_CLASS__',`dnl
-',`dnl
- typedef __REAL_CNAME__`'Class BaseClassType;
- typedef __CPPPARENT__`'_Class CppClassParent;
- typedef __REAL_CPARENT__`'Class BaseClassParent;
-')dnl
-
- friend class __CPPNAME__;
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
- const Glib::Class& init();
-
-ifdef(`__BOOL_NO_DERIVED_CLASS__',`dnl
-',`dnl
- static void class_init_function(void* g_class, void* class_data);
-')dnl
-
- static Glib::ObjectBase* wrap_new(GObject*);
-
-protected:
-
-#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
- //Callbacks (default signal handlers):
- //These will call the *_impl member methods, which will then call the existing default signal callbacks, if any.
- //You could prevent the original default signal handlers being called by overriding the *_impl method.
-_IMPORT(SECTION_PH_DEFAULT_SIGNAL_HANDLERS)
-#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
-
- //Callbacks (virtual functions):
-#ifdef GLIBMM_VFUNCS_ENABLED
-_IMPORT(SECTION_PH_VFUNCS)
-#endif //GLIBMM_VFUNCS_ENABLED
-};
-')
-
-
-dnl
-dnl
-dnl
-define(`_PCC_CLASS_IMPLEMENTATION',`dnl
-const Glib::Class& __CPPNAME__`'_Class::init()
-{
- if(!gtype_) // create the GType if necessary
- {
- // Glib::Class has to know the class init function to clone custom types.
- class_init_func_ = &__CPPNAME__`'_Class::class_init_function;
-
- // This is actually just optimized away, apparently with no harm.
- // Make sure that the parent type has been created.
- //CppClassParent::CppObjectType::get_type();
-
- // Create the wrapper type, with the same class/instance size as the base type.
- register_derived_type(_LOWER(__CCAST__)_get_type());
-
- // Add derived versions of interfaces, if the C type implements any interfaces:
-_IMPORT(SECTION_CC_IMPLEMENTS_INTERFACES)
- }
-
- return *this;
-}
-ifdef(`__BOOL_NO_DERIVED_CLASS__',`dnl
-',`dnl
-
-void __CPPNAME__`'_Class::class_init_function(void* g_class, void* class_data)
-{
- BaseClassType *const klass = static_cast<BaseClassType*>(g_class);
- CppClassParent::class_init_function(klass, class_data);
-
-#ifdef GLIBMM_VFUNCS_ENABLED
-_IMPORT(SECTION_PCC_CLASS_INIT_VFUNCS)
-#endif //GLIBMM_VFUNCS_ENABLED
-
-#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
-_IMPORT(SECTION_PCC_CLASS_INIT_DEFAULT_SIGNAL_HANDLERS)
-#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
-}
-')dnl
-
-#ifdef GLIBMM_VFUNCS_ENABLED
-_IMPORT(SECTION_PCC_VFUNCS)
-#endif //GLIBMM_VFUNCS_ENABLED
-
-#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
-_IMPORT(SECTION_PCC_DEFAULT_SIGNAL_HANDLERS)
-#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
-')
-
-
-
-dnl
-dnl
-dnl
-define(`_CC_CLASS_IMPLEMENTATION',`dnl
-__CPPNAME__::CppClassType __CPPNAME__::`'__BASE__`'_class_; // initialize static member
-
-GType __CPPNAME__::get_type()
-{
- return __BASE__`'_class_.init().get_type();
-}
-
-GType __CPPNAME__::get_base_type()
-{
- return _LOWER(__CCAST__)_get_type();
-}
-
-_IMPORT(SECTION_CC)
-
-dnl _IMPORT(SECTION_CC_SIGNALPROXIES_CUSTOM)
-
-_IMPORT(SECTION_CC_SIGNALPROXIES)
-
-_IMPORT(SECTION_CC_PROPERTYPROXIES)
-
-#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
-_IMPORT(SECTION_CC_DEFAULT_SIGNAL_HANDLERS)
-#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
-
-#ifdef GLIBMM_VFUNCS_ENABLED
-_IMPORT(SECTION_CC_VFUNCS)
-_IMPORT(SECTION_CC_VFUNCS_CPPWRAPPER)
-#endif //GLIBMM_VFUNCS_ENABLED
-')
-
-dnl _PARENT_GCLASS_FROM_OBJECT(object_instance_name)
-define(`_PARENT_GCLASS_FROM_OBJECT',`dnl
-g_type_class_peek_parent`'(G_OBJECT_GET_CLASS`'($1)) // Get the parent class of the object class (The original underlying C class).
-')
-
-dnl _IFACE_PARENT_FROM_OBJECT(object_instance_name)
-define(`_IFACE_PARENT_FROM_OBJECT',`dnl
-g_type_interface_peek_parent`'( // Get the parent interface of the interface (The original underlying C interface).
-g_type_interface_peek`'(G_OBJECT_GET_CLASS`'($1), CppObjectType::get_type`'()) // Get the interface.
-)dnl
-')
-
-dnl Bonobo doesn't use the "typedef struct _somestruct struct" system.
-define(`_STRUCT_NOT_HIDDEN',`dnl
-_PUSH()
-dnl Define this macro to be tested for later.
-define(`__BOOL_STRUCT_NOT_HIDDEN__',`$1')
-_POP()
-')
-
-dnl _STRUCT_PROTOTYPE()
-define(`_STRUCT_PROTOTYPE',`dnl
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-ifdef(`__BOOL_STRUCT_NOT_HIDDEN__',`dnl
-',`dnl
-typedef struct _`'__CNAME__ __CNAME__;
-typedef struct _`'__CNAME__`'Class __CNAME__`'Class;
-')dnl
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-')
-
-dnl _GTKMMPROC_WIN32_NO_WRAP
-dnl Just process it to remove it from the generated file.
-dnl generate_wrap_init.pl will look for this in the original .hg file.
-dnl
-define(`_GTKMMPROC_WIN32_NO_WRAP', dnl
-`//This is not available in on Win32.
-//This source file will not be compiled,
-//and the class will not be registered in wrap_init.h or wrap_init.cc
-')dnl
-
-
diff --git a/libs/glibmm2/tools/m4/compare.m4 b/libs/glibmm2/tools/m4/compare.m4
deleted file mode 100644
index c439700306..0000000000
--- a/libs/glibmm2/tools/m4/compare.m4
+++ /dev/null
@@ -1,118 +0,0 @@
-dnl $Id: compare.m4,v 1.2 2003/12/14 11:53:04 murrayc Exp $
-
-define(`__OPERATOR_DECL',`dnl
-/** @relates __NAMESPACE__::__CPPNAME__
- * @param lhs The left-hand side
- * @param rhs The right-hand side
- * @result The result
- */
-bool operator`'$1`'(const __CPPNAME__& lhs, const __CPPNAME__& rhs);
-')
-
-define(`__OPERATOR_IMPL',`dnl
-bool operator`'$1`'(const __CPPNAME__& lhs, const __CPPNAME__& rhs)
-{'
-ifelse`'(`__UNCONST__',`unconst',`dnl
- return ($2`'(const_cast<__CNAME__*>(lhs.gobj()), const_cast<__CNAME__*>(rhs.gobj())) $3);
-',`dnl else
- return ($2`'(lhs.gobj(), rhs.gobj()) $3);
-')`dnl endif
-}
-')
-
-
-dnl
-dnl _WRAP_EQUAL(gdk_region_equal, unconst)
-dnl
-define(`_WRAP_EQUAL',`dnl
-pushdef(`__FUNC_EQUAL__',$1)dnl
-pushdef(`__UNCONST__',$2)dnl
-_PUSH(SECTION_HEADER3)
-
-__NAMESPACE_BEGIN__
-
-__OPERATOR_DECL(`==')
-__OPERATOR_DECL(`!=')
-
-__NAMESPACE_END__
-
-_SECTION(SECTION_CC)
-
-__OPERATOR_IMPL(`==', __FUNC_EQUAL__, `!= 0')
-__OPERATOR_IMPL(`!=', __FUNC_EQUAL__, `== 0')
-
-_POP()
-popdef(`__UNCONST__')dnl
-popdef(`__FUNC_EQUAL__')dnl
-')dnl enddef _WRAP_EQUAL
-
-
-dnl
-dnl _WRAP_COMPARE(gtk_tree_path_compare)
-dnl
-define(`_WRAP_COMPARE',`dnl
-pushdef(`__FUNC_COMPARE__',$1)dnl
-pushdef(`__UNCONST__',$2)dnl
-_PUSH(SECTION_HEADER3)
-
-__NAMESPACE_BEGIN__
-
-__OPERATOR_DECL(`==')
-__OPERATOR_DECL(`!=')
-__OPERATOR_DECL(`<')
-__OPERATOR_DECL(`>')
-__OPERATOR_DECL(`<=')
-__OPERATOR_DECL(`>=')
-
-__NAMESPACE_END__
-
-_SECTION(SECTION_CC)
-
-__OPERATOR_IMPL(`==', __FUNC_COMPARE__, `== 0')
-__OPERATOR_IMPL(`!=', __FUNC_COMPARE__, `!= 0')
-__OPERATOR_IMPL(`<', __FUNC_COMPARE__, `< 0')
-__OPERATOR_IMPL(`>', __FUNC_COMPARE__, `> 0')
-__OPERATOR_IMPL(`<=', __FUNC_COMPARE__, `<= 0')
-__OPERATOR_IMPL(`>=', __FUNC_COMPARE__, `>= 0')
-
-_POP()
-popdef(`__UNCONST__')dnl
-popdef(`__FUNC_COMPARE__')dnl
-')dnl enddef _WRAP_COMPARE
-
-
-dnl
-dnl _WRAP_EQUAL_AND_COMPARE(gtk_text_iter_equal, gtk_text_iter_compare)
-dnl
-define(`_WRAP_EQUAL_AND_COMPARE',`dnl
-pushdef(`__FUNC_EQUAL__',$1)dnl
-pushdef(`__FUNC_COMPARE__',$2)dnl
-pushdef(`__UNCONST__',$3)dnl
-_PUSH(SECTION_HEADER3)
-
-__NAMESPACE_BEGIN__
-
-__OPERATOR_DECL(`==')
-__OPERATOR_DECL(`!=')
-__OPERATOR_DECL(`<')
-__OPERATOR_DECL(`>')
-__OPERATOR_DECL(`<=')
-__OPERATOR_DECL(`>=')
-
-__NAMESPACE_END__
-
-_SECTION(SECTION_CC)
-
-__OPERATOR_IMPL(`==', __FUNC_EQUAL__, `!= 0')
-__OPERATOR_IMPL(`!=', __FUNC_EQUAL__, `== 0')
-__OPERATOR_IMPL(`<', __FUNC_COMPARE__, `< 0')
-__OPERATOR_IMPL(`>', __FUNC_COMPARE__, `> 0')
-__OPERATOR_IMPL(`<=', __FUNC_COMPARE__, `<= 0')
-__OPERATOR_IMPL(`>=', __FUNC_COMPARE__, `>= 0')
-
-_POP()
-popdef(`__UNCONST__')dnl
-popdef(`__FUNC_COMPARE__')dnl
-popdef(`__FUNC_EQUAL__')dnl
-')dnl enddef _WRAP_EQUAL_AND_COMPARE
-
diff --git a/libs/glibmm2/tools/m4/convert_base.m4 b/libs/glibmm2/tools/m4/convert_base.m4
deleted file mode 100644
index 2d97d1ddd9..0000000000
--- a/libs/glibmm2/tools/m4/convert_base.m4
+++ /dev/null
@@ -1,71 +0,0 @@
-dnl $Id: convert_base.m4,v 1.3 2006/05/16 19:42:36 murrayc Exp $
-
-#
-# Define a hashing for names
-#
-define(`__HASH',`__`'m4_translit(`$*',`ABCDEFGHIJKLMNOPQRSTUVWXYZ<>[]&*, ',`abcdefghijklmnopqrstuvwxyzVBNMRSC_')`'')
-define(`__EQUIV',`m4_ifdef(EV`'__HASH(`$1'),EV`'__HASH(`$1'),`$1')')
-
-define(`__HASH2',`dnl
-pushdef(`__E1',__EQUIV(`$1'))pushdef(`__E2',__EQUIV(`$2'))dnl
-m4_ifelse(__E1,__E2,`__EQ',__HASH(__E1)`'__HASH(__E2))`'dnl
-popdef(`__E1')popdef(`__E2')`'')
-
-define(`CF__EQ',`$3')
-
-#
-# _CONVERT(fromtype, totype, name, wrap_line)
-# Print the conversion from ctype to cpptype
-define(`_CONVERT',`dnl
-m4_ifelse(`$2',void,`$3',`dnl
-pushdef(`__COV',`CF`'__HASH2(`$1',`$2')')dnl
-m4_ifdef(__COV,`m4_indir(__COV,`$1',`$2',`$3')',`
-m4_errprint(`No conversion from $1 to $2 defined (line: $4, parameter name: $3)
-')
-m4_m4exit(1)
-')`'dnl
-')`'dnl
-')
-
-
-#
-# Functions for populating the tables.
-#
-define(`_CONVERSION',`
-m4_ifelse(`$3',,,`define(CF`'__HASH2(`$1',`$2'),`$3')')
-')
-
-define(`_EQUAL',`define(EV`'__HASH(`$1'),`$2')')
-
-/*******************************************************************/
-
-
-define(`__ARG3__',`$`'3')
-define(`_CONV_ENUM',`dnl
-_CONVERSION(`$1$2', `$2', (($2)(__ARG3__)))
-_CONVERSION(`$1$2', `$1::$2', (($1::$2)(__ARG3__)))
-_CONVERSION(`$2', `$1$2', (($1$2)(__ARG3__)))
-_CONVERSION(`$1::$2', `$1$2', (($1$2)(__ARG3__)))
-')dnl
-
-# e.g. Glib::RefPtr<Gdk::Something> to GdkSomething*
-define(`__CONVERT_REFPTR_TO_P',`Glib::unwrap($`'3)')
-
-# e.g. Glib::RefPtr<const Gdk::Something> to GdkSomething*
-#define(`__CONVERT_CONST_REFPTR_TO_P',`const_cast<$`'2>($`'3->gobj())')
-define(`__CONVERT_CONST_REFPTR_TO_P',`const_cast<$`'2>(Glib::unwrap($`'3))')
-
-# The Sun Forte compiler doesn't seem to be able to handle these, so we are using the altlernative, __CONVERT_CONST_REFPTR_TO_P_SUN.
-# The Sun compiler gives this error, for instance:
-#  "widget.cc", line 4463: Error: Overloading ambiguity between "Glib::unwrap<Gdk::Window>(const Glib::RefPtr<const Gdk::Window>&)" and
-# "Glib::unwrap<const Gdk::Window>(const Glib::RefPtr<const Gdk::Window>&)".
-#
-define(`__CONVERT_CONST_REFPTR_TO_P_SUN',`const_cast<$`'2>(Glib::unwrap<$1>($`'3))')
-
-
-include(convert_gtk.m4)
-include(convert_pango.m4)
-include(convert_gdk.m4)
-include(convert_atk.m4)
-include(convert_glib.m4)
-
diff --git a/libs/glibmm2/tools/m4/convert_glib.m4 b/libs/glibmm2/tools/m4/convert_glib.m4
deleted file mode 100644
index 990b664894..0000000000
--- a/libs/glibmm2/tools/m4/convert_glib.m4
+++ /dev/null
@@ -1,64 +0,0 @@
-dnl
-dnl Glib C names have prefix 'G' but C++ namespace Glib
-dnl
-define(`_CONV_GLIB_ENUM',`dnl
-_CONVERSION(`G$1', `$1', (($1)(__ARG3__)))
-_CONVERSION(`G$1', `Glib::$1', ((Glib::$1)(__ARG3__)))
-_CONVERSION(`$1', `G$1', ((G$1)(__ARG3__)))
-_CONVERSION(`Glib::$1', `G$1', ((G$1)(__ARG3__)))
-')dnl
-
-_EQUAL(gchar,char)
-_EQUAL(gchar*,char*)
-_EQUAL(gchar**,char**)
-_EQUAL(gint**,int**)
-_EQUAL(gchar**,char*[])
-_EQUAL(const gchar*,const char*)
-_EQUAL(const-gchar*,const char*)
-_EQUAL(gpointer*,void**)
-
-_CONV_GLIB_ENUM(IOStatus)
-_CONV_GLIB_ENUM(IOFlags)
-_CONV_GLIB_ENUM(IOCondition)
-_CONV_GLIB_ENUM(SeekType)
-_CONV_GLIB_ENUM(OptionArg)
-_CONV_GLIB_ENUM(KeyFileFlags)
-
-_CONVERSION(`gunichar&',`gunichar*',`&($3)')
-_CONVERSION(`gsize&',`gsize*',`&($3)')
-
-
-# Strings:
-define(`__GCHARP_TO_USTRING',`Glib::convert_const_gchar_ptr_to_ustring($`'3)')
-define(`__GCHARP_TO_STDSTRING',`Glib::convert_const_gchar_ptr_to_stdstring($`'3)')
-
-_CONVERSION(`const Glib::ustring&',`const char*',`$3.c_str()')
-_CONVERSION(`const std::string&',`const char*',`$3.c_str()')
-_CONVERSION(`const Glib::ustring&',`gchar*',`const_cast<gchar*>($3.c_str())')
-_CONVERSION(`gchar*',`Glib::ustring',__GCHARP_TO_USTRING)
-_CONVERSION(`const-gchar*',`Glib::ustring',__GCHARP_TO_USTRING)
-_CONVERSION(`const gchar*',`Glib::ustring',__GCHARP_TO_USTRING)
-_CONVERSION(`const char*',`Glib::ustring',__GCHARP_TO_USTRING)
-_CONVERSION(`const char*',`std::string',__GCHARP_TO_STDSTRING)
-_CONVERSION(`const gchar*',`const Glib::ustring&',__GCHARP_TO_USTRING)
-_CONVERSION(`const char*',`const-gchar*',`$3')
-_CONVERSION(`const-gchar*',`const char*',`$3')
-
-_CONVERSION(`return-gchar*',`Glib::ustring',`Glib::convert_return_gchar_ptr_to_ustring($3)')
-_CONVERSION(`return-gchar*',`std::string',`Glib::convert_return_gchar_ptr_to_stdstring($3)')
-_CONVERSION(`return-char*',`Glib::ustring',`Glib::convert_return_gchar_ptr_to_ustring($3)')
-
-_CONVERSION(`const Glib::RefPtr<Glib::Object>&',`GObject*',__CONVERT_REFPTR_TO_P)
-_CONVERSION(`const Glib::RefPtr<const Glib::Object>&',`GObject*',__CONVERT_CONST_REFPTR_TO_P_SUN(Glib::Object))
-_CONVERSION(`GObject*',`Glib::RefPtr<Glib::Object>',`Glib::wrap($3)')
-_CONVERSION(`GObject*',`Glib::RefPtr<const Glib::Object>',`Glib::wrap($3)')
-
-_CONVERSION(`Glib::ValueBase&',`GValue*',`($3).gobj()')
-_CONVERSION(`const Glib::ValueBase&',`const GValue*',`($3).gobj()')
-_CONVERSION(`const Glib::ValueBase&',`GValue*',`const_cast<GValue*>(($3).gobj())')
-_CONVERSION(`GValue*', `Glib::ValueBase&', `*reinterpret_cast<Glib::ValueBase*>($3)')
-_CONVERSION(`const GValue*', `const Glib::ValueBase&', `*reinterpret_cast<const Glib::ValueBase*>($3)')
-
-_CONVERSION(`OptionGroup&',`GOptionGroup*',`($3).gobj()')
-#_CONVERSION(`GOptionGroup*',`OptionGroup',`Glib::wrap(($3), true /* take_copy */)')
-
diff --git a/libs/glibmm2/tools/m4/ctor.m4 b/libs/glibmm2/tools/m4/ctor.m4
deleted file mode 100644
index 9c00433aa1..0000000000
--- a/libs/glibmm2/tools/m4/ctor.m4
+++ /dev/null
@@ -1,64 +0,0 @@
-dnl $Id: ctor.m4,v 1.1.1.1 2003/01/07 16:59:09 murrayc Exp $
-
-dnl
-dnl
-dnl Code generation sections for making a constructor.
-dnl
-dnl
-
-dnl
-dnl Declares and implements the default constructor
-dnl
-define(`_CTOR_DEFAULT',`dnl
-__CPPNAME__`'();
-_PUSH(SECTION_CC)
-__CPPNAME__::__CPPNAME__`'()
-:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- __CPPPARENT__`'(Glib::ConstructParams(__BASE__`'_class_.init()))
-{
- _IMPORT(SECTION_CC_INITIALIZE_CLASS_EXTRA)
-}
-
-_POP()')
-
-
-dnl
-dnl Constructors for _new functions.
-dnl $1 $2 $3 $4
-dnl _CTOR_IMPL(cppname,cname,cppargs,c_varargs)
-define(`_CTOR_IMPL',`dnl
-_PUSH(SECTION_CC)
-__CPPNAME__::$1`'($3)
-:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- __CPPPARENT__`'(Glib::ConstructParams(__BASE__`'_class_.init()`'ifelse(`$4',,,`, $4')`', (char*) 0))
-{
- _IMPORT(SECTION_CC_INITIALIZE_CLASS_EXTRA)
-}
-
-_POP()')
-
-define(`_CONSTRUCT',`dnl
-Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- __CPPPARENT__`'(Glib::ConstructParams(__BASE__`'_class_.init()ifelse(`$1',,,`, $@'), (char*) 0))dnl
-')dnl
-
-dnl _CONSTRUCT() does not deal with multiple class definitions in one file.
-dnl If necessary, _CONSTRUCT_SPECIFIC(BaseClass, Class) must be used instead.
-dnl
-define(`_CONSTRUCT_SPECIFIC',`dnl
-Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- $1`'(Glib::ConstructParams(_LOWER($2)_class_.init()ifelse(`$3',,,`, shift(shift($@))'), (char*) 0))dnl
-')dnl
-
-
-dnl
-dnl Extra code for initialize_class.
-dnl Not commonly used.
-dnl
-define(`_INITIALIZE_CLASS_EXTRA',`dnl
-_PUSH(SECTION_CC_INITIALIZE_CLASS_EXTRA)
-$1
-_POP()')
-
diff --git a/libs/glibmm2/tools/m4/doc.m4 b/libs/glibmm2/tools/m4/doc.m4
deleted file mode 100644
index 9bc055159d..0000000000
--- a/libs/glibmm2/tools/m4/doc.m4
+++ /dev/null
@@ -1,3 +0,0 @@
-dnl $Id: doc.m4,v 1.1.1.1 2003/01/07 16:59:09 murrayc Exp $
-
-divert(-1)
diff --git a/libs/glibmm2/tools/m4/enum.m4 b/libs/glibmm2/tools/m4/enum.m4
deleted file mode 100644
index bb5cabcd59..0000000000
--- a/libs/glibmm2/tools/m4/enum.m4
+++ /dev/null
@@ -1,101 +0,0 @@
-
-dnl
-dnl _ENUM(cpp_type, c_type, value_suffix, `element_list', `flags', `optional_refdoc_comment', 'get_type_function_name')
-dnl
-m4_define(`_ENUM',`dnl
-_PUSH()
-
-m4_define(`__ENUM_CPPNAME__',`$1')
-m4_define(`__ENUM_CNAME__',`$2')
-m4_define(`__ENUM_VALUE_BASE__',`Glib::Value_$3<__NAMESPACE__::__ENUM_CPPNAME__>')
-
-_POP()
-dnl
-dnl // Define a new Doxygen group if this is the first enum in the file.
-dnl
-m4_ifdef(`__DOCGROUP_'__MODULE_CANONICAL__`_ENUMS__',,`dnl else
-m4_define(`__DOCGROUP_'__MODULE_CANONICAL__`_ENUMS__')dnl
-/** @addtogroup '__MODULE_CANONICAL__`Enums Enums and Flags */
-
-')dnl endif
-dnl
-dnl
-/**$6
- * @ingroup __MODULE_CANONICAL__`'Enums
-m4_ifelse($3,Flags,`dnl
- * @par Bitwise operators:
- * <tt>%__ENUM_CPPNAME__ operator|(__ENUM_CPPNAME__, __ENUM_CPPNAME__)</tt><br>
- * <tt>%__ENUM_CPPNAME__ operator&(__ENUM_CPPNAME__, __ENUM_CPPNAME__)</tt><br>
- * <tt>%__ENUM_CPPNAME__ operator^(__ENUM_CPPNAME__, __ENUM_CPPNAME__)</tt><br>
- * <tt>%__ENUM_CPPNAME__ operator~(__ENUM_CPPNAME__)</tt><br>
- * <tt>%__ENUM_CPPNAME__& operator|=(__ENUM_CPPNAME__&, __ENUM_CPPNAME__)</tt><br>
- * <tt>%__ENUM_CPPNAME__& operator&=(__ENUM_CPPNAME__&, __ENUM_CPPNAME__)</tt><br>
- * <tt>%__ENUM_CPPNAME__& operator^=(__ENUM_CPPNAME__&, __ENUM_CPPNAME__)</tt><br>
-')dnl endif
- */
-enum __ENUM_CPPNAME__
-{
-$4
-};
-m4_ifelse($3,Flags,`dnl
-
-/** @ingroup __MODULE_CANONICAL__`'Enums */
-inline __ENUM_CPPNAME__ operator|(__ENUM_CPPNAME__ lhs, __ENUM_CPPNAME__ rhs)
- { return static_cast<__ENUM_CPPNAME__>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
-
-/** @ingroup __MODULE_CANONICAL__`'Enums */
-inline __ENUM_CPPNAME__ operator&(__ENUM_CPPNAME__ lhs, __ENUM_CPPNAME__ rhs)
- { return static_cast<__ENUM_CPPNAME__>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
-
-/** @ingroup __MODULE_CANONICAL__`'Enums */
-inline __ENUM_CPPNAME__ operator^(__ENUM_CPPNAME__ lhs, __ENUM_CPPNAME__ rhs)
- { return static_cast<__ENUM_CPPNAME__>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
-
-/** @ingroup __MODULE_CANONICAL__`'Enums */
-inline __ENUM_CPPNAME__ operator~(__ENUM_CPPNAME__ flags)
- { return static_cast<__ENUM_CPPNAME__>(~static_cast<unsigned>(flags)); }
-
-/** @ingroup __MODULE_CANONICAL__`'Enums */
-inline __ENUM_CPPNAME__& operator|=(__ENUM_CPPNAME__& lhs, __ENUM_CPPNAME__ rhs)
- { return (lhs = static_cast<__ENUM_CPPNAME__>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
-
-/** @ingroup __MODULE_CANONICAL__`'Enums */
-inline __ENUM_CPPNAME__& operator&=(__ENUM_CPPNAME__& lhs, __ENUM_CPPNAME__ rhs)
- { return (lhs = static_cast<__ENUM_CPPNAME__>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
-
-/** @ingroup __MODULE_CANONICAL__`'Enums */
-inline __ENUM_CPPNAME__& operator^=(__ENUM_CPPNAME__& lhs, __ENUM_CPPNAME__ rhs)
- { return (lhs = static_cast<__ENUM_CPPNAME__>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
-')dnl endif Flags
-
-m4_ifelse($5,`NO_GTYPE',,`dnl else
-__NAMESPACE_END__
-
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-namespace Glib
-{
-
-template <>
-class Value<__NAMESPACE__::__ENUM_CPPNAME__> : public __ENUM_VALUE_BASE__
-{
-public:
- static GType value_type() G_GNUC_CONST;
-};
-
-} // namespace Glib
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-
-__NAMESPACE_BEGIN__
-_PUSH(SECTION_SRC_GENERATED)
-// static
-GType Glib::Value<__NAMESPACE__::__ENUM_CPPNAME__>::value_type()
-{
- return _GET_TYPE_FUNC(__ENUM_CNAME__);
-}
-
-_POP()
-')dnl endif !NO_GTYPE
-')dnl enddef _ENUM
-
diff --git a/libs/glibmm2/tools/m4/gerror.m4 b/libs/glibmm2/tools/m4/gerror.m4
deleted file mode 100644
index 12f166f138..0000000000
--- a/libs/glibmm2/tools/m4/gerror.m4
+++ /dev/null
@@ -1,102 +0,0 @@
-dnl $Id: gerror.m4,v 1.2 2006/05/12 08:08:45 murrayc Exp $
-
-dnl
-dnl _GERROR(PixbufError,GdkPixbufError,GDK_PIXBUF_ERROR,`<enum_value_list>',[NO_GTYPE])
-dnl
-
-m4_define(`_GERROR',`dnl
-_PUSH()
-dnl
-dnl Define the args for later macros
-m4_define(`__CPPNAME__',`$1')
-m4_define(`__CNAME__',`$2')
-m4_define(`__CQUARK__',`$3')
-m4_define(`__VALUE_BASE__',`Glib::Value_Enum<__NAMESPACE__::__CPPNAME__::Code>')
-_POP()
-class __CPPNAME__ : public Glib::Error
-{
-public:
- enum Code
- {
-$4
- };
-
- __CPPNAME__`'(Code error_code, const Glib::ustring& error_message);
- explicit __CPPNAME__`'(GError* gobject);
- Code code() const;
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-private:
-
-#ifdef GLIBMM_EXCEPTIONS_ENABLED
- static void throw_func(GError* gobject);
-#else
- //When not using exceptions, we just pass the Exception object around without throwing it:
- static std::auto_ptr<Glib::Error> throw_func(GError* gobject);
-#endif //GLIBMM_EXCEPTIONS_ENABLED
-
- friend void wrap_init(); // uses throw_func()
-#endif
-};
-
-m4_ifelse($5,`NO_GTYPE',,`dnl else
-__NAMESPACE_END__
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-namespace Glib
-{
-
-template <>
-class Value<__NAMESPACE__::__CPPNAME__::Code> : public __VALUE_BASE__
-{
-public:
- static GType value_type() G_GNUC_CONST;
-};
-
-} // namespace Glib
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-
-__NAMESPACE_BEGIN__
-')dnl endif !NO_GTYPE
-_PUSH(SECTION_SRC_GENERATED)
-
-__NAMESPACE__::__CPPNAME__::__CPPNAME__`'(__NAMESPACE__::__CPPNAME__::Code error_code, const Glib::ustring& error_message)
-:
- Glib::Error (__CQUARK__, error_code, error_message)
-{}
-
-__NAMESPACE__::__CPPNAME__::__CPPNAME__`'(GError* gobject)
-:
- Glib::Error (gobject)
-{}
-
-__NAMESPACE__::__CPPNAME__::Code __NAMESPACE__::__CPPNAME__::code() const
-{
- return static_cast<Code>(Glib::Error::code());
-}
-
-#ifdef GLIBMM_EXCEPTIONS_ENABLED
-void __NAMESPACE__::__CPPNAME__::throw_func(GError* gobject)
-{
- throw __NAMESPACE__::__CPPNAME__`'(gobject);
-}
-#else
-//When not using exceptions, we just pass the Exception object around without throwing it:
-std::auto_ptr<Glib::Error> __NAMESPACE__::__CPPNAME__::throw_func(GError* gobject)
-{
- return std::auto_ptr<Glib::Error>(new __NAMESPACE__::__CPPNAME__`'(gobject));
-}
-#endif //GLIBMM_EXCEPTIONS_ENABLED
-
-m4_ifelse($5,`NO_GTYPE',,`dnl else
-// static
-GType Glib::Value<__NAMESPACE__::__CPPNAME__::Code>::value_type()
-{
- return _GET_TYPE_FUNC(__CNAME__);
-}
-
-')dnl endif !NO_GTYPE
-_POP()
-') dnl enddef _GERROR
-
diff --git a/libs/glibmm2/tools/m4/list.m4 b/libs/glibmm2/tools/m4/list.m4
deleted file mode 100644
index c92b13df65..0000000000
--- a/libs/glibmm2/tools/m4/list.m4
+++ /dev/null
@@ -1,230 +0,0 @@
-_PUSH()
-
-dnl
-dnl These variables affect the generation of the list
-dnl
-define(GP_LIST_HELPER_NAMESPACE,`define(`__LIST_NAMESPACE__',$1)')
-define(GP_LIST_ELEM,`define(`__LISTELEM__',`$*')')
-define(GP_LIST_ITER,`define(`__LISTITER__',`$*')')
-define(GP_LIST_NOINSERT,`define(`__LISTEO__')')
-
-dnl
-dnl GP_LIST(ListName, ParentCppType, ParentCType, ChildCppType, FieldNameC)
-dnl
-dnl In the .ccg file, you'll need to implement:
-dnl iterator insert(iterator position, element_type& e);
-dnl
-dnl Fieldname assumed to be children if not specified
-define(GP_LIST,`
-_PUSH()
-
-define(`__LISTNAME__',$1)
-define(`__LISTPARENT__',$2)
-define(`__LISTPARENT_G__',$3)
-define(`__LISTTYPE__',$4)
-define(`__LISTELEM__',const Element)
-define(`__LISTITER__',Glib::List_Iterator< __LISTTYPE__ >)
-define(`__LIST_NAMESPACE__',$2_Helpers)
-#define(`__LISTFIELD__',ifelse($5,,children,$5))
-define(`__LISTFIELD__',$5)
-
-_SECTION(SECTION_USR)
-')
-
-dnl
-dnl GP_LIST_END()
-dnl
-dnl Closes a list
-define(GP_LIST_END,`dnl
-_POP()
-
-class __LISTNAME__ : public Glib::HelperList< __LISTTYPE__, __LISTELEM__, __LISTITER__ >
-{
-public:
- __LISTNAME__`'();
- explicit __LISTNAME__`'(__LISTPARENT_G__* gparent);
- __LISTNAME__`'(const __LISTNAME__& src);
- virtual ~__LISTNAME__`'() {}
-
- __LISTNAME__& operator=(const __LISTNAME__& src);
-
- typedef Glib::HelperList< __LISTTYPE__, __LISTELEM__, __LISTITER__ > type_base;
-
- __LISTPARENT_G__* gparent();
- const __LISTPARENT_G__* gparent() const;
-
- virtual GList*& glist() const; // front of list
-
- virtual void erase(iterator start, iterator stop);
- virtual iterator erase(iterator); //Implented as custom or by LIST_CONTAINER_REMOVE
- virtual void remove(const_reference); //Implented as custom or by LIST_CONTAINER_REMOVE
-
- /// This is order n. (use at own risk)
- reference operator[](size_type l) const;
-
-ifdef(`__LISTEO__',`dnl
-protected:
- //Hide these because it's read-only:
- iterator insert(iterator position, element_type& e);
-
- inline void pop_front();
- inline void pop_back();
-,`dnl
-public:
- iterator insert(iterator position, element_type& e); //custom-implemented.
-
- template <class InputIterator>
- inline void insert(iterator position, InputIterator first, InputIterator last)
- {
- for(;first != last; ++first)
- position = insert(position, *first);
- }
-
- inline void push_front(element_type& e)
- { insert(begin(), e); }
- inline void push_back(element_type& e)
- { insert(end(), e); }
-')dnl
-
-_IMPORT(SECTION_USR)
-};
-
-_PUSH(SECTION_CC)
-
-namespace __LIST_NAMESPACE__
-{
-
-__LISTNAME__::__LISTNAME__`'()
-{}
-
-__LISTNAME__::__LISTNAME__`'(__LISTPARENT_G__* gparent)
-: type_base((GObject*)gparent)
-{}
-
-__LISTNAME__::__LISTNAME__`'(const __LISTNAME__& src)
-:
- type_base(src)
-{}
-
-__LISTNAME__& __LISTNAME__::operator=(const __LISTNAME__& src)
-{
- type_base::operator=(src);
- return *this;
-}
-
-ifelse(__LISTFIELD__,CUSTOM,`dnl
-',`dnl else
-GList*& __LISTNAME__::glist() const
-{
- return ((__LISTPARENT_G__*)gparent_)->__LISTFIELD__;
-}
-')dnl endif
-
-void __LISTNAME__::erase(iterator start, iterator stop)
-{
- type_base::erase(start, stop);
-}
-
-__LISTPARENT_G__* __LISTNAME__::gparent()
-{
- return (__LISTPARENT_G__*)type_base::gparent();
-}
-
-const __LISTPARENT_G__* __LISTNAME__::gparent() const
-{
- return (__LISTPARENT_G__*)type_base::gparent();
-}
-
-__LISTNAME__::reference __LISTNAME__::operator[](size_type l) const
-{
- return type_base::operator[](l);
-}
-
-} /* namespace __LIST_NAMESPACE__ */
-
-undefine(`__LISTNAME__')dnl
-undefine(`__LISTTYPE__')dnl
-undefine(`__LISTPARENT__')dnl
-undefine(`__LISTELEM__')dnl
-undefine(`__LISTFIELD__')dnl
-_POP()
-')
-
-dnl
-dnl GP_LIST_FIND(access_method)
-dnl
-dnl Defines find(containertype) and find(Widget&)
-dnl access_method is the name of method returning a Widget*
-define(GP_LIST_FIND,`
- iterator find(const_reference c);
- iterator find(Widget&);
-_PUSH(SECTION_CC)
-
-namespace __LIST_NAMESPACE__
-{
-
-__LISTNAME__::iterator __LISTNAME__::find(const_reference w)
-{
- iterator i = begin();
- for(i = begin(); i != end() && (i->ifelse($1,,,$1()->)gobj() != w.ifelse($1,,,$1()->)gobj()); i++);
- return i;
-}
-
-__LISTNAME__::iterator __LISTNAME__::find(Widget& w)
-{
- iterator i;
- for(i = begin(); i != end() && ((GtkWidget*)i->ifelse($1,,,$1()->)gobj() != w.gobj()); i++);
- return i;
-}
-
-} /* namespace __LIST_NAMESPACE__ */
-
-_POP()
-')
-
-dnl
-dnl GP_LIST_CONTAINER_REMOVE(access_method)
-dnl
-dnl Implements remove(const_reference), erase(iterator)
-dnl and defines remove(Widget&)
-dnl (assumes that the widget uses gtk+ container methods).
-dnl access_method is the name of the method returning a Widget*
-define(GP_LIST_CONTAINER_REMOVE,`
-virtual void remove(Widget& w); //Implented as custom or by LIST_CONTAINER_REMOVE
-_PUSH(SECTION_CC)
-
-namespace __LIST_NAMESPACE__
-{
-
-void __LISTNAME__::remove(const_reference child)
-{
- gtk_container_remove(GTK_CONTAINER(gparent_),
- (GtkWidget*)(child.ifelse($1,,,$1()->)gobj()));
-}
-
-void __LISTNAME__::remove(Widget& widget)
-{
- gtk_container_remove(GTK_CONTAINER(gparent_), (GtkWidget*)(widget.gobj()));
-}
-
-__LISTNAME__::iterator __LISTNAME__::erase(iterator position)
-{
- //Check that it is a valid iterator, to a real item:
- if ( !position.node_|| (position == end()) )
- return end();
-
- //Get an iterator the the next item, to return:
- iterator next = position;
- next++;
-
- //Use GTK+ C function to remove it, by providing the GtkWidget*:
- gtk_container_remove( GTK_CONTAINER(gparent_), (GtkWidget*)(position->ifelse($1,,,$1()->)gobj()) );
- return next;
-}
-
-} /* namespace __LIST_NAMESPACE__ */
-
-_POP()
-')
-
-_POP()dnl
diff --git a/libs/glibmm2/tools/m4/member.m4 b/libs/glibmm2/tools/m4/member.m4
deleted file mode 100644
index ed144cdd5e..0000000000
--- a/libs/glibmm2/tools/m4/member.m4
+++ /dev/null
@@ -1,132 +0,0 @@
-dnl
-dnl --------------------------- Accessors ----------------------------
-dnl
-
-
-dnl Get:
-
-
-dnl Creates accessors for simple types:
-dnl _MEMBER_GET(cpp_name, c_name, cpp_type, c_type, deprecated (optional))
-define(`_MEMBER_GET',`dnl
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_START ') dnl
-$3 get_$1() const;
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_END ') dnl
-_PUSH(SECTION_CC)
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_START ') dnl
-$3 __CPPNAME__::get_$1() const
-{
- return _CONVERT($4,$3,`gobj()->$2');
-}
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_END ') dnl
-
-_POP()')
-
-dnl Creates two accessors for pointer types, one const and one non-const:
-define(`_MEMBER_GET_PTR',`dnl
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_START ') dnl
-$3 get_$1();
- const $3 get_$1() const;
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_END ') dnl
-_PUSH(SECTION_CC)
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_START ') dnl
-$3 __CPPNAME__::get_$1()
-{
- return _CONVERT($4,$3,`gobj()->$2');
-}
-
-const $3 __CPPNAME__::get_$1() const
-{
- return _CONVERT($4,const $3,`gobj()->$2');
-}
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_END ') dnl
-
-_POP()')
-
-dnl Creates accessors for GObject-derived types that must be ref()ed.
-define(`_MEMBER_GET_GOBJECT',`dnl
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_START ') dnl
-Glib::RefPtr<$3> get_$1();
- Glib::RefPtr<const $3> get_$1() const;
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_END ') dnl
-_PUSH(SECTION_CC)
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_START ') dnl
-Glib::RefPtr<$3> __CPPNAME__::get_$1()
-{
- Glib::RefPtr<$3> ref_ptr(_CONVERT($4,Glib::RefPtr<$3>,`gobj()->$2'));
-
-dnl We could use the bool with Glib::wrap(), but we want to share the m4 type-conversion map.
- if(ref_ptr)
- ref_ptr->reference();
-
- return ref_ptr;
-}
-
-Glib::RefPtr<const $3> __CPPNAME__::get_$1() const
-{
- Glib::RefPtr<const $3> ref_ptr(_CONVERT($4,Glib::RefPtr<const $3>,`gobj()->$2'));
-
-dnl We could use the bool with Glib::wrap(), but we want to share the m4 type-conversion map.
- if(ref_ptr)
- ref_ptr->reference();
-
- return ref_ptr;
-}
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_END ') dnl
-
-_POP()')
-
-
-dnl Set:
-
-dnl Creates accessors for simple types:
-define(`_MEMBER_SET',`dnl
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_START ') dnl
-void set_$1(const $3`'& value);
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_END ') dnl
-_PUSH(SECTION_CC)
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_START ') dnl
-void __CPPNAME__::set_$1(const $3`'& value)
-{
- gobj()->$2 = _CONVERT($3,$4,`value');
-}
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_END ') dnl
-
-_POP()')
-
-dnl Creates accessors for pointer types:
-define(`_MEMBER_SET_PTR',`dnl
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_START ') dnl
-void set_$1($3 value);
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_END ') dnl
-_PUSH(SECTION_CC)
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_START ') dnl
-void __CPPNAME__::set_$1($3 value)
-{
- gobj()->$2 = _CONVERT($3,$4,`value');
-}
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_END ') dnl
-
-_POP()')
-
-dnl Creates accessors for GObject-derived types that must be ref()ed.
-define(`_MEMBER_SET_GOBJECT',`dnl
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_START ') dnl
-void set_$1(const Glib::RefPtr<$3>& value);
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_END ') dnl
-_PUSH(SECTION_CC)
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_START ') dnl
-void __CPPNAME__::set_$1(const Glib::RefPtr<$3>& value)
-{
- Glib::RefPtr<$3> valueOld(_CONVERT($4,Glib::RefPtr<$3>,`gobj()->$2')); //Take possession of the old one, unref-ing it in the destructor.
-
- if(value)
- value->reference(); //Ref once for the recipient.
-
- gobj()->$2 = _CONVERT(const Glib::RefPtr<$3>&,$4,`value');
-}
-ifelse(`$5',`deprecated',`_DEPRECATE_IFDEF_END ') dnl
-
-_POP()')
-
-
diff --git a/libs/glibmm2/tools/m4/method.m4 b/libs/glibmm2/tools/m4/method.m4
deleted file mode 100644
index b6b5eeca08..0000000000
--- a/libs/glibmm2/tools/m4/method.m4
+++ /dev/null
@@ -1,108 +0,0 @@
-dnl $Id: method.m4,v 1.10 2006/09/19 20:07:30 murrayc Exp $
-
-dnl
-dnl
-dnl Code generation sections for making a method.
-dnl
-dnl
-
-
-dnl
-dnl method
-dnl $1 $2 $3 $4 $5 $6 $7 $8 $9 $10 $11 $12 $13 $14
-dnl _METHOD(cppname,cname,cpprettype,crettype,arglist,cargs,const,refreturn,errthrow,deprecated,constversion,ifdef, arglist_without_types)
-define(`_METHOD',`dnl
-_PUSH(SECTION_CC)
-ifelse(`$10',,,`_DEPRECATE_IFDEF_START
-')dnl
-ifelse(`$13',,,`#ifdef $13'
-)dnl
-ifelse(`$9',,,`#ifdef GLIBMM_EXCEPTIONS_ENABLED'
-)dnl
-$3 __CPPNAME__::$1`'($5)ifelse(`$7',1,` const')
-ifelse(`$9',,,`#else
-$3 __CPPNAME__::$1`'(`'$5`'ifelse(($5),(),`',`, ')std::auto_ptr<Glib::Error>& error)ifelse(`$7',1,` const')
-#endif //GLIBMM_EXCEPTIONS_ENABLED
-')dnl
-{
-ifelse(`$11',,dnl
-`ifelse(`$8'`$9',,dnl If it is not errthrow or refreturn
-`ifelse(`$3',void,dnl If it returns voids:
-`$2(ifelse(`$7',1,const_cast<__CNAME__*>(gobj()),gobj())`'ifelse(`$6',,,`, ')$6);' dnl It it returns non-void:
-,` return _CONVERT($4,$3,`$2`'(ifelse(`$7',1,const_cast<__CNAME__*>(gobj()),gobj())`'ifelse(`$6',,,`, ')$6)');')'dnl End if it returns voids.
-,dnl If is errthrow or refreturn
-`ifelse(`$9',,,` GError* gerror = 0;')
- ifelse(`$3',void,,``$3' retvalue = ')_CONVERT($4,$3,`$2`'(ifelse(`$7',1,const_cast<__CNAME__*>(gobj()),gobj())`'ifelse(`$6',,,`, ')$6)');dnl
-ifelse(`$9',,,`
-#ifdef GLIBMM_EXCEPTIONS_ENABLED
- if(gerror)
- ::Glib::Error::throw_exception(gerror);
-#else
- if(gerror)
- error = ::Glib::Error::throw_exception(gerror);
-#endif //GLIBMM_EXCEPTIONS_ENABLED
-')
-ifelse(`$8',,,`dnl
- if(retvalue)
- retvalue->reference(); //The function does not do a ref for us.
-')dnl
-ifelse(`$3',void,,` return retvalue;')
-')dnl End errthrow/refreturn
-',` return const_cast<__CPPNAME__*>(this)->$1($12);')
-}
-
-ifelse(`$13',,,`
-#endif // $13
-')dnl
-ifelse(`$10',,,`_DEPRECATE_IFDEF_END
-')dnl
-_POP()')
-
-dnl
-dnl static method
-dnl $1 $2 $3 $4 $5 $6 $7 $8 $9 $10
-dnl _STATIC_METHOD(cppname,cname,cpprettype,crettype,arglist,cargs,refreturn,errthrow,deprecated,ifdef))
-define(`_STATIC_METHOD',`dnl
-_PUSH(SECTION_CC)
-ifelse(`$9',,,`_DEPRECATE_IFDEF_START
-')dnl
-ifelse(`$10',,,`#ifdef $10'
-)dnl
-ifelse(`$8',,,`#ifdef GLIBMM_EXCEPTIONS_ENABLED
-')dnl
-$3 __CPPNAME__::$1($5)
-ifelse(`$8',,,`#else
-$3 __CPPNAME__::$1(`'$5`'ifelse(($5),(),`',`, ')std::auto_ptr<Glib::Error>& error)
-#endif //GLIBMM_EXCEPTIONS_ENABLED
-')dnl
-{
-ifelse(`$7'`$8',,dnl
-`ifelse(`$3',void,,` return ')_CONVERT($4,$3,`$2`'($6)');
-',dnl
-`ifelse(`$8',,,` GError* gerror = 0;')
- ifelse(`$3',void,,``$3' retvalue = ')_CONVERT($4,$3,`$2`'($6)');
-ifelse(`$8',,,`
-#ifdef GLIBMM_EXCEPTIONS_ENABLED
- if(gerror)
- ::Glib::Error::throw_exception(gerror);
-#else
- if(gerror)
- error = ::Glib::Error::throw_exception(gerror);
-#endif //GLIBMM_EXCEPTIONS_ENABLED
-')
-ifelse(`$7',,,`dnl
- if(retvalue)
- retvalue->reference(); //The function does not do a ref for us.
-')dnl
-ifelse(`$3',void,,` return retvalue;')
-')dnl
-}
-
-ifelse(`$10',,,`
-#endif // $10
-')dnl
-ifelse(`$9',,,`_DEPRECATE_IFDEF_END
-')
-_POP()')
-
-
diff --git a/libs/glibmm2/tools/m4/property.m4 b/libs/glibmm2/tools/m4/property.m4
deleted file mode 100644
index a031ff4eeb..0000000000
--- a/libs/glibmm2/tools/m4/property.m4
+++ /dev/null
@@ -1,40 +0,0 @@
-dnl $Id: property.m4,v 1.6 2006/05/12 08:08:45 murrayc Exp $
-
-dnl
-dnl
-dnl Code generation sections for properties
-dnl
-dnl
-
-dnl
-dnl _PROPERTY_PROXY(name, name_underscored, cpp_type, proxy_suffix, docs)
-dnl proxy_suffix could be "_WriteOnly" or "_ReadOnly"
-dnl The method will be const if the propertyproxy is _ReadOnly.
-dnl
-define(`_PROPERTY_PROXY',`dnl
-dnl
-dnl Put spaces around the template parameter if necessary.
-pushdef(`__PROXY_TYPE__',`dnl
-Glib::PropertyProxy$4<'ifelse(regexp(_QUOTE($3),`>$'),`-1',_QUOTE($3),` '_QUOTE($3)` ')`>'dnl
-)dnl
-#ifdef GLIBMM_PROPERTIES_ENABLED
-/** $5
- *
- * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
- * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
- * the value of the property changes.
- */
- __PROXY_TYPE__ property_$2`'() ifelse($4,_ReadOnly, const,);
-#endif //#GLIBMM_PROPERTIES_ENABLED
-_PUSH(SECTION_CC_PROPERTYPROXIES)
-#ifdef GLIBMM_PROPERTIES_ENABLED
-__PROXY_TYPE__ __CPPNAME__::property_$2`'() ifelse($4,_ReadOnly, const,)
-{
- return __PROXY_TYPE__`'(this, "$1");
-}
-#endif //GLIBMM_PROPERTIES_ENABLED
-
-_POP()
-popdef(`__PROXY_TYPE__')dnl
-')dnl
-
diff --git a/libs/glibmm2/tools/m4/signal.m4 b/libs/glibmm2/tools/m4/signal.m4
deleted file mode 100644
index 952975f5d0..0000000000
--- a/libs/glibmm2/tools/m4/signal.m4
+++ /dev/null
@@ -1,267 +0,0 @@
-
-#
-# --------------------------- Signal Decl----------------------------
-#
-
-dnl _SIGNAL_PROXY($1 = c_signal_name,
-dnl $2 = c_return_type,
-dnl $3 = `<c_arg_types_and_names>',
-dnl $4 = cpp_signal_name,
-dnl $5 = cpp_return_type,
-dnl $6 = `<cpp_arg_types>',
-dnl $7 = `<c_args_to_cpp>',
-dnl $8 = `custom_c_callback (boolean)',
-dnl $9 = `refdoc_comment',
-dnl $10 = ifdef)
-
-define(`_SIGNAL_PROXY',`
-$9
-
-ifelse(`$10',,,`#ifdef $10'
-)dnl
- Glib::SignalProxy`'_NUM($6)< $5`'_COMMA_PREFIX($6) > signal_$4`'();
-ifelse(`$10',,,`#endif // $10
-')dnl
-dnl
-_PUSH(SECTION_ANONYMOUS_NAMESPACE)
-
-ifelse(`$10',,,`#ifdef $10'
-)dnl
-dnl
-ifelse($2`'_NUM($3)`'$5`'_NUM($6),`void0void0',`dnl
-dnl
-dnl Use predefined callback for SignalProxy0<void>, to reduce code size.
-
-static const Glib::SignalProxyInfo __CPPNAME__`'_signal_$4_info =
-{
- "$1",
- (GCallback) &Glib::SignalProxyNormal::slot0_void_callback,
- (GCallback) &Glib::SignalProxyNormal::slot0_void_callback
-};
-',`dnl else
-
-ifelse($8,`1',,`dnl Do not generate the implementation if it should be custom:
-static $2 __CPPNAME__`'_signal_$4_callback`'(__CNAME__`'* self, _COMMA_SUFFIX($3)`'void* data)
-{
- using namespace __NAMESPACE__;
- typedef sigc::slot< $5`'_COMMA_PREFIX($6) > SlotType;
-
- // Do not try to call a signal on a disassociated wrapper.
- if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
- {
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot`'(data))
-ifelse(`$2',void,`dnl
- (*static_cast<SlotType*>(slot))($7);
-',`dnl else
- return _CONVERT($5,$2,`(*static_cast<SlotType*>(slot))($7)');
-')dnl endif
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- }
-ifelse($2,void,,`dnl else
-
- typedef $2 RType;
- return RType`'();
-')dnl
-}
-ifelse($2,void,,`dnl else
-
-static $2 __CPPNAME__`'_signal_$4_notify_callback`'(__CNAME__`'* self, _COMMA_SUFFIX($3)`' void* data)
-{
- using namespace __NAMESPACE__;
- typedef sigc::slot< void`'_COMMA_PREFIX($6) > SlotType;
-
- // Do not try to call a signal on a disassociated wrapper.
- if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
- {
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot`'(data))
- (*static_cast<SlotType*>(slot))($7);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- }
-
- typedef $2 RType;
- return RType`'();
-}
-')dnl endif
-')dnl endif
-
-static const Glib::SignalProxyInfo __CPPNAME__`'_signal_$4_info =
-{
- "$1",
- (GCallback) &__CPPNAME__`'_signal_$4_callback,
- (GCallback) &__CPPNAME__`'_signal_$4_`'ifelse($2,void,,notify_)`'callback
-};
-')dnl endif
-
-ifelse(`$10',,,`#endif // $10
-')dnl
-
-_SECTION(SECTION_CC_SIGNALPROXIES)
-
-ifelse(`$10',,,`#ifdef $10'
-)dnl
-Glib::SignalProxy`'_NUM($6)< $5`'_COMMA_PREFIX($6) > __CPPNAME__::signal_$4`'()
-{
- return Glib::SignalProxy`'_NUM($6)< $5`'_COMMA_PREFIX($6) >(this, &__CPPNAME__`'_signal_$4_info);
-}
-ifelse(`$10',,,`#endif // $10
-')dnl
-
-_POP()')
-
-
-dnl
-dnl _SIGNAL_PH(gname, crettype, cargs and names)
-dnl Create a callback and set it in our derived G*Class.
-dnl
-define(`_SIGNAL_PH',`dnl
-_PUSH(SECTION_PCC_CLASS_INIT_DEFAULT_SIGNAL_HANDLERS)
-ifelse(`$4',,,`#ifdef $4'
-)dnl
- klass->$1 = `&'$1_callback;
-ifelse(`$4',,,`#endif // $4
-')dnl
-_SECTION(SECTION_PH_DEFAULT_SIGNAL_HANDLERS)
-ifelse(`$4',,,`#ifdef $4'
-)dnl
- static $2 $1_callback`'($3);
-ifelse(`$4',,,`#endif // $4
-')dnl
-_POP()')
-
-
-
-dnl $1 $2 $3 $4
-dnl _SIGNAL_PCC(cppname,gname,cpprettype,crettype,
-dnl $5 $6 $7 $8 $9
-dnl `<cargs and names>',`<cnames>',`<cpparg names>', firstarg, <ifndef>)
-dnl
-define(`_SIGNAL_PCC',`dnl
-_PUSH(SECTION_PCC_DEFAULT_SIGNAL_HANDLERS)
-ifelse(`$9',,,`#ifdef $9'
-)dnl
-$4 __CPPNAME__`'_Class::$2_callback`'($5)
-{
-dnl We cast twice to allow for multiple-inheritance casts, which might
-dnl change the value. We have to use a dynamic_cast because we do not
-dnl know the actual type from which to cast up.
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
- Glib::ObjectBase::_get_current_wrapper`'((GObject*)$8));
-
-_IMPORT(SECTION_CHECK)
- // Non-gtkmmproc-generated custom classes implicitly call the default
- // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
- // generated classes can use this optimisation, which avoids the unnecessary
- // parameter conversions if there is no possibility of the virtual function
- // being overridden:
- if(obj && obj->is_derived_())
- {
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
-ifelse($4,void,`dnl
- obj->on_$1`'($7);
-',`dnl
- return _CONVERT($3,$4,`obj->on_$1`'($7)');
-')dnl
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke`'();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- }
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
-ifdef(`__BOOL_IS_INTERFACE__',`dnl
- _IFACE_PARENT_FROM_OBJECT($8)dnl
-',`dnl
- _PARENT_GCLASS_FROM_OBJECT($8)dnl
-') );
-dnl g_assert(base != 0);
-
- // Call the original underlying C function:
- if(base && base->$2)
- ifelse($4,void,,`return ')(*base->$2)`'($6);
- }
-ifelse($4,void,,`dnl
-
- typedef $4 RType;
- return RType`'();
-')dnl
-}
-ifelse(`$9',,,`#endif // $9
-')dnl
-_POP()')
-
-
-dnl $1 $2 $3 $4
-dnl _SIGNAL_H(signame, rettype, `<cppargs>', <ifdef>)
-dnl
-define(`_SIGNAL_H',`dnl
-_PUSH(SECTION_H_DEFAULT_SIGNAL_HANDLERS)
-ifelse(`$4',,,`#ifdef $4'
-)dnl
- virtual $2 on_$1`'($3);
-ifelse(`$4',,,`#endif // $4
-')dnl
-_POP()')
-
-dnl $1 $2 $3 $4 $5 $6 $7 $8 $9
-dnl _SIGNAL_CC(signame,gname,rettype,crettype,`<cppargs>',`<carg_names>', const, refreturn, <ifdef>)
-dnl
-define(`_SIGNAL_CC',`dnl
-_PUSH(SECTION_CC_DEFAULT_SIGNAL_HANDLERS)
-ifelse(`$9',,,`#ifdef $9'
-)dnl
-$3 __NAMESPACE__::__CPPNAME__::on_$1`'($5)
-{
- BaseClassType *const base = static_cast<BaseClassType*>(
-ifdef(`__BOOL_IS_INTERFACE__',`dnl
- _IFACE_PARENT_FROM_OBJECT(gobject_)dnl
-',`dnl
- _PARENT_GCLASS_FROM_OBJECT(gobject_)dnl
-') );
-dnl g_assert(base != 0);
-
- if(base && base->$2)
-ifelse($3,void,`dnl
- (*base->$2)`'(gobj`'()`'_COMMA_PREFIX($6));
-',`dnl
-ifelse($8,refreturn,`dnl Assume Glib::wrap() is correct if refreturn is requested.
- return Glib::wrap((*base->$2)`'(ifelse(`$7',1,const_cast<__CNAME__*>(gobj()),gobj())`'_COMMA_PREFIX($6)), true);
-',`dnl
- return _CONVERT($4,$3,`(*base->$2)`'(ifelse(`$7',1,const_cast<__CNAME__*>(gobj()),gobj())`'_COMMA_PREFIX($6))');
-')dnl
-
- typedef $3 RType;
- return RType`'();
-')dnl
-}
-ifelse(`$9',,,`#endif // $9
-')dnl
-_POP()')
-
diff --git a/libs/glibmm2/tools/m4/vfunc.m4 b/libs/glibmm2/tools/m4/vfunc.m4
deleted file mode 100644
index dc3eba10d2..0000000000
--- a/libs/glibmm2/tools/m4/vfunc.m4
+++ /dev/null
@@ -1,145 +0,0 @@
-dnl
-dnl _VFUNC_PH(gtkname, crettype, cargs and names)
-dnl Create a callback and set it in our derived G*Class.
-dnl
-define(`_VFUNC_PH',`dnl
-_PUSH(SECTION_PCC_CLASS_INIT_VFUNCS)
-ifelse(`$4',,,`#ifdef $4'
-)dnl
- klass->$1 = `&'$1_vfunc_callback;
-ifelse(`$4',,,`#endif // $4
-')dnl
-_SECTION(SECTION_PH_VFUNCS)
-ifelse(`$4',,,`#ifdef $4'
-)dnl
- static $2 $1_vfunc_callback`'($3);
-ifelse(`$4',,,`#endif // $4
-')dnl
-_POP()')
-
-
-dnl $1 $2 $3 $4
-dnl _VFUNC_PCC(cppname,gtkname,cpprettype,crettype,
-dnl $5 $6 $7 $8 $9 $10
-dnl `<cargs and names>',`<cnames>',`<cpparg names>',firstarg, refreturn_ctype, ifdef)
-dnl
-define(`_VFUNC_PCC',`dnl
-_PUSH(SECTION_PCC_VFUNCS)
-ifelse(`$10',,,`#ifdef $10'
-)dnl
-$4 __CPPNAME__`'_Class::$2_vfunc_callback`'($5)
-{
-dnl We cast twice to allow for multiple-inheritance casts, which might
-dnl change the value. We have to use a dynamic_cast because we do not
-dnl know the actual type from which to cast up.
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
- Glib::ObjectBase::_get_current_wrapper`'((GObject*)$8));
-
-_IMPORT(SECTION_CHECK)
- // Non-gtkmmproc-generated custom classes implicitly call the default
- // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
- // generated classes can use this optimisation, which avoids the unnecessary
- // parameter conversions if there is no possibility of the virtual function
- // being overridden:
- if(obj && obj->is_derived_())
- {
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
-ifelse($4,void,`dnl
- obj->$1`'($7);
-',`dnl
-ifelse($9,refreturn_ctype,`dnl Assume Glib::unwrap_copy() is correct if refreturn_ctype is requested.
- return Glib::unwrap_copy`'(`obj->$1'($7));
-',`dnl
- return _CONVERT($3,$4,`obj->$1`'($7)');
-')dnl
-')dnl
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke`'();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- }
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
-ifdef(`__BOOL_IS_INTERFACE__',`dnl
- _IFACE_PARENT_FROM_OBJECT($8)dnl
-',`dnl
- _PARENT_GCLASS_FROM_OBJECT($8)dnl
-') );
-dnl g_assert(base != 0);
-
- // Call the original underlying C function:
- if(base && base->$2)
- ifelse($4,void,,`return ')(*base->$2)`'($6);
- }
-ifelse($4,void,,`dnl
-
- typedef $4 RType;
- return RType`'();
-')dnl
-}
-ifelse(`$10',,,`#endif // $10
-')dnl
-_POP()')
-
-# $1 $2 $3 $4 $5 $6 $7 $8 $9
-# _VFUNC_CC(vfunc_name, gtkname, cpp_rettype, c_rettype, `<cppargs>', `<carg_names>', is_const, refreturn, $ifdef)
-#
-define(`_VFUNC_CC',`dnl
-_PUSH(SECTION_CC_VFUNCS)
-ifelse(`$9',,,`#ifdef $9'
-)dnl
-$3 __NAMESPACE__::__CPPNAME__::$1`'($5) ifelse($7,1,const,)
-{
- BaseClassType *const base = static_cast<BaseClassType*>(
-ifdef(`__BOOL_IS_INTERFACE__',`dnl
- _IFACE_PARENT_FROM_OBJECT(gobject_)dnl
-',`dnl
- _PARENT_GCLASS_FROM_OBJECT(gobject_)dnl
-') );
-dnl g_assert(base != 0);
-
- if(base && base->$2)
-ifelse($3,void,`dnl
- (*base->$2)`'(ifelse(`$7',1,const_cast<__CNAME__*>(gobj()),gobj())`'_COMMA_PREFIX($6));
-',`dnl
-ifelse($8,refreturn,`dnl Assume Glib::wrap() is correct if refreturn is requested.
- return Glib::wrap((*base->$2)`'(ifelse(`$7',1,const_cast<__CNAME__*>(gobj()),gobj())`'_COMMA_PREFIX($6)), true);
-',`dnl
- return _CONVERT($4,$3,`(*base->$2)`'(ifelse(`$7',1,const_cast<__CNAME__*>(gobj()),gobj())`'_COMMA_PREFIX($6))');
-')dnl
-
- typedef $3 RType;
- return RType`'();
-')dnl
-}
-ifelse(`$9',,,`#endif // $9
-')dnl
-_POP()')
-
-
-# $1 $2 $3 $4 $5
-# _VFUNC_H(vfunc_name, rettype, `<cppargs>', is_const, ifndef)
-# Only used for custom vfuncs.
-#
-define(`_VFUNC_H',`dnl
-_PUSH(SECTION_H_VFUNCS)
-ifelse(`$5',,,`#ifdef $5'
-)dnl
-ifelse($4,`1',`dnl
-virtual $2 $1`'($3) const;
-',`dnl
-virtual $2 $1`'($3);
-')
-ifelse(`$5',,,`#endif // $5
-')dnl
-_POP()')
-
-
diff --git a/libs/glibmm2/tools/pm/DocsParser.pm b/libs/glibmm2/tools/pm/DocsParser.pm
deleted file mode 100644
index 62ff6e718f..0000000000
--- a/libs/glibmm2/tools/pm/DocsParser.pm
+++ /dev/null
@@ -1,490 +0,0 @@
-# gtkmm - DocsParser module
-#
-# Copyright 2001 Free Software Foundation
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
-#
-
-# Based on XML::Parser tutorial found at http://www.devshed.com/Server_Side/Perl/PerlXML/PerlXML1/page1.html
-# This module isn't properly Object Orientated because the XML Parser needs global callbacks.
-
-package DocsParser;
-use XML::Parser;
-use strict;
-use warnings;
-
-# use Util;
-use Function;
-use GtkDefs;
-use Object;
-
-BEGIN {
- use Exporter ();
- our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
-
- # set the version for version checking
- $VERSION = 1.00;
-
- @ISA = qw(Exporter);
- @EXPORT = ( );
- %EXPORT_TAGS = ( );
-
- # your exported package globals go here,
- # as well as any optionally exported functions
- @EXPORT_OK = ( );
-}
-our @EXPORT_OK;
-
-#####################################
-
-use strict;
-use warnings;
-
-#####################################
-
-$DocsParser::CurrentFile = "";
-
-$DocsParser::refAppendTo = undef; # string reference to store the data into
-$DocsParser::currentParam = undef;
-
-$DocsParser::objCurrentFunction = undef; #Function
-%DocsParser::hasharrayFunctions = (); #Function elements
-#~ $DocsParser::bOverride = 0; #First we parse the C docs, then we parse the C++ override docs.
-
-$DocsParser::commentStart = " /** ";
-$DocsParser::commentMiddleStart = " * ";
-$DocsParser::commentEnd = " */";
-
-sub read_defs($$$)
-{
- my ($path, $filename, $filename_override) = @_;
-
- my $objParser = new XML::Parser(ErrorContext => 0);
- $objParser->setHandlers(Start => \&parse_on_start, End => \&parse_on_end, Char => \&parse_on_cdata);
-
- # C documentation:
- $DocsParser::CurrentFile = "$path/$filename";
- if ( ! -r $DocsParser::CurrentFile)
- {
- print "DocsParser.pm: Warning: Can't read file \"" . $DocsParser::CurrentFile . "\".\n";
- return;
- }
- # Parse
- eval { $objParser->parsefile($DocsParser::CurrentFile) };
- if( $@ )
- {
- $@ =~ s/at \/.*?$//s;
- print "\nError in \"" . $DocsParser::CurrentFile . "\":$@\n";
- return;
- }
-
- # C++ overide documentation:
- $DocsParser::CurrentFile = "$path/$filename_override";
- if ( ! -r $DocsParser::CurrentFile)
- {
- print "DocsParser.pm: Warning: Can't read file \"" . $DocsParser::CurrentFile . "\".\n";
- return;
- }
- # Parse
- eval { $objParser->parsefile($DocsParser::CurrentFile) };
- if( $@ )
- {
- $@ =~ s/at \/.*?$//s;
- print "\nError in \"" . $DocsParser::CurrentFile . "\":$@";
- return;
- }
-}
-
-sub parse_on_start($$%)
-{
- my ($objParser, $tag, %attr) = @_;
-
- $tag = lc($tag);
-
- if($tag eq "function")
- {
- if(defined $DocsParser::objCurrentFunction)
- {
- $objParser->xpcroak("\nClose a function tag before you open another one.");
- }
-
- my $functionName = $attr{name};
-
- #Reuse existing Function, if it exists:
- #(For instance, if this is the override parse)
- $DocsParser::objCurrentFunction = $DocsParser::hasharrayFunctions{$functionName};
- if(!$DocsParser::objCurrentFunction)
- {
- #Make a new one if necessary:
- $DocsParser::objCurrentFunction = Function::new_empty();
- # The idea is to change the policy a bit:
- # If a function is redefined in a later parsing run only values which are redefined
- # will be overwritten. For the name this is trivial. The description is simply rewritten.
- # Same goes for the return description and the class mapping. Only exception is the
- # parameter list. Everytime we enter a <parameters> tag the list is emptied again.
- $$DocsParser::objCurrentFunction{name} = $functionName;
- $$DocsParser::objCurrentFunction{description} = "";
- $$DocsParser::objCurrentFunction{param_names} = [];
- $$DocsParser::objCurrentFunction{param_descriptions} = ();
- $$DocsParser::objCurrentFunction{return_description} = "";
- $$DocsParser::objCurrentFunction{mapped_class} = "";
- # We don't need this any more, the only reference to this field is commented
- # $$DocsParser::objCurrentFunction{description_overridden} = $DocsParser::bOverride;
- }
- }
- elsif($tag eq "parameters")
- {
- $$DocsParser::objCurrentFunction{param_names} = [];
- $$DocsParser::objCurrentFunction{param_descriptions} = ();
- }
- elsif($tag eq "parameter")
- {
- $DocsParser::currentParam = $attr{name};
- $$DocsParser::objCurrentFunction{param_descriptions}->{$DocsParser::currentParam} = "";
- }
- elsif($tag eq "description")
- {
- $$DocsParser::objCurrentFunction{description} = "";
- # Set destination for parse_on_cdata().
- $DocsParser::refAppendTo = \$$DocsParser::objCurrentFunction{description};
- }
- elsif($tag eq "parameter_description")
- {
- # Set destination for parse_on_cdata().
- my $param_desc = \$$DocsParser::objCurrentFunction{param_descriptions};
- $DocsParser::refAppendTo = \$$param_desc->{$DocsParser::currentParam};
- }
- elsif($tag eq "return")
- {
- $$DocsParser::objCurrentFunction{return_description} = "";
- # Set destination for parse_on_cdata().
- $DocsParser::refAppendTo = \$$DocsParser::objCurrentFunction{return_description};
- }
- elsif($tag eq "mapping")
- {
- $$DocsParser::objCurrentFunction{mapped_class} = $attr{class};
- }
- elsif($tag ne "root")
- {
- $objParser->xpcroak("\nUnknown tag \"$tag\".");
- }
-}
-
-
-sub parse_on_end($$)
-{
- my ($parser, $tag) = @_;
-
- # Clear destination for parse_on_cdata().
- $DocsParser::refAppendTo = undef;
-
- $tag = lc($tag);
-
- if($tag eq "function")
- {
- # Store the Function structure in the array:
- my $functionName = $$DocsParser::objCurrentFunction{name};
- $DocsParser::hasharrayFunctions{$functionName} = $DocsParser::objCurrentFunction;
- $DocsParser::objCurrentFunction = undef;
- }
- elsif($tag eq "parameter")
- {
- # <parameter name="returns"> and <return> means the same.
- if($DocsParser::currentParam eq "returns")
- {
- my $param_descriptions = \$$DocsParser::objCurrentFunction{param_descriptions};
- my $return_description = \$$DocsParser::objCurrentFunction{return_description};
- $$return_description = delete $$param_descriptions->{"returns"};
- }
- else
- {
- # Append to list of parameters.
- push(@{$$DocsParser::objCurrentFunction{param_names}}, $DocsParser::currentParam);
- }
-
- $DocsParser::currentParam = undef;
- }
-}
-
-
-sub parse_on_cdata($$)
-{
- my ($parser, $data) = @_;
-
- if(defined $DocsParser::refAppendTo)
- {
- # Dispatch $data to the current destination string.
- $$DocsParser::refAppendTo .= $data;
- }
-}
-
-
-# $strCommentBlock lookup_documentation($strFunctionName)
-sub lookup_documentation($$)
-{
- my ($functionName, $deprecation_docs) = @_;
-
- my $objFunction = $DocsParser::hasharrayFunctions{$functionName};
- if(!$objFunction)
- {
- #print "DocsParser.pm: Warning: function not found: $functionName\n";
- return ""
- }
-
- my $text = $$objFunction{description};
-
- if(length($text) eq 0)
- {
- print "DocsParser.pm: Warning: No C docs for function: \"$functionName\"\n";
- }
-
-
- DocsParser::convert_docs_to_cpp($objFunction, \$text);
-
- #Add note about deprecation if we have specified that in our _WRAP_METHOD() call:
- if($deprecation_docs ne "")
- {
- $text .= "\n\@deprecated $deprecation_docs";
- }
-
- DocsParser::append_parameter_docs($objFunction, \$text);
- DocsParser::append_return_docs($objFunction, \$text);
-
-
- # Escape the space after "i.e." or "e.g." in the brief description.
- $text =~ s/^([^.]*\b(?:i\.e\.|e\.g\.))\s/$1\\ /;
-
- # Convert to Doxygen-style comment.
- $text =~ s/\n/\n${DocsParser::commentMiddleStart}/g;
- $text = $DocsParser::commentStart . $text;
- $text .= "\n${DocsParser::commentEnd}\n";
-
- return $text;
-}
-
-
-sub append_parameter_docs($$)
-{
- my ($obj_function, $text) = @_;
-
- my @param_names = @{$$obj_function{param_names}};
- my $param_descriptions = \$$obj_function{param_descriptions};
-
- # Strip first parameter if this is a method.
- my $defs_method = GtkDefs::lookup_method_dont_mark($$obj_function{name});
- # the second alternative is for use with method-mappings meaning:
- # this function is mapped into this Gtk::class
- shift(@param_names) if(($defs_method && $$defs_method{class} ne "") ||
- ($$obj_function{mapped_class} ne ""));
-
- foreach my $param (@param_names)
- {
- my $desc = $$param_descriptions->{$param};
-
- $param =~ s/([a-zA-Z0-9]*(_[a-zA-Z0-9]+)*)_?/$1/g;
- DocsParser::convert_docs_to_cpp($obj_function, \$desc);
- if(length($desc) > 0)
- {
- $desc .= '.' unless($desc =~ /(?:^|\.)$/);
- $$text .= "\n\@param ${param} \u${desc}";
- }
- }
-}
-
-
-sub append_return_docs($$)
-{
- my ($obj_function, $text) = @_;
-
- my $desc = $$obj_function{return_description};
- DocsParser::convert_docs_to_cpp($obj_function, \$desc);
-
- $desc =~ s/\.$//;
- $$text .= "\n\@return \u${desc}." unless($desc eq "");
-}
-
-
-sub convert_docs_to_cpp($$)
-{
- my ($obj_function, $text) = @_;
-
- # Chop off leading and trailing whitespace.
- $$text =~ s/^\s+//;
- $$text =~ s/\s+$//;
-# HagenM: this is the only reference to $$obj_function{description_overridden}
-# and it seems not to be in use.
-# if(!$$obj_function{description_overridden})
-# {
- # Convert C documentation to C++.
- DocsParser::convert_tags_to_doxygen($text);
- DocsParser::substitute_identifiers($$obj_function{name}, $text);
-
- $$text =~ s/\bX\s+Window\b/X&nbsp;\%Window/g;
- $$text =~ s/\bWindow\s+manager/\%Window manager/g;
-# }
-}
-
-
-sub convert_tags_to_doxygen($)
-{
- my ($text) = @_;
-
- for($$text)
- {
- # Replace format tags.
- s"&lt;(/?)emphasis&gt;"<$1em>"g;
- s"&lt;(/?)literal&gt;"<$1tt>"g;
- s"&lt;(/?)function&gt;"<$1tt>"g;
-
- # Some argument names are suffixed by "_" -- strip this.
- # gtk-doc uses @thearg, but doxygen uses @a thearg.
- s" ?\@([a-zA-Z0-9]*(_[a-zA-Z0-9]+)*)_?\b" \@a $1 "g;
- s"^Note ?\d?: "\@note "mg;
-
- s"&lt;/?programlisting&gt;""g;
- s"&lt;informalexample&gt;"\@code"g;
- s"&lt;/informalexample&gt;"\@endcode"g;
- s"&lt;!&gt;""g;
-
- # Remove all link tags.
- s"&lt;/?u?link[^&]*&gt;""g;
-
- # Remove all para tags (from tmpl sgml files).
- s"&lt;/?para&gt;""g;
-
- # Use our doxgen since/newin tags:
- # TODO: Do this generically, regardless of the number:
- s"Since: 2\.2"\@newin2p2"mg;
- s"Since: 2\.4"\@newin2p4"mg;
- s"Since: 2\.6"\@newin2p6"mg;
- s"Since: 2\.8"\@newin2p8"mg;
- s"Since: 2\.10"\@newin2p10"mg;
-
- s"\b-&gt;\b"->"g;
-
- # Doxygen is too dumb to handle &mdash;
- s"&mdash;" \@htmlonly&mdash;\@endhtmlonly "g;
-
- s"\%?FALSE\b"<tt>false</tt>"g;
- s"\%?TRUE\b"<tt>true</tt>"g;
- s"\%?NULL\b"<tt>0</tt>"g;
-
- s"#?\bgboolean\b"<tt>bool</tt>"g;
- s"#?\bg(int|short|long)\b"<tt>$1</tt>"g;
- s"#?\bgu(int|short|long)\b"<tt>unsigned $1</tt>"g;
-
- # For Gtk::TextIter.
- s"(\\[rn])\b"<tt>\\$1</tt>"g;
- }
-}
-
-
-sub substitute_identifiers($$)
-{
- my ($doc_func, $text) = @_;
-
- for($$text)
- {
- # TODO: handle more than one namespace
-
- s/[#%]([A-Z][a-z]*)([A-Z][A-Za-z]+)\b/$1::$2/g; # type names
-
- s/[#%]([A-Z])([A-Z]*)_([A-Z\d_]+)\b/$1\L$2\E::$3/g; # enum values
-
- # Undo wrong substitutions.
- s/\bHas::/HAS_/g;
- s/\bNo::/NO_/g;
-
- # Replace C function names with C++ counterparts.
- s/\b([a-z]+_[a-z][a-z\d_]+) ?\(\)/&DocsParser::substitute_function($doc_func, $1)/eg;
- }
-}
-
-
-sub substitute_function($$)
-{
- my ($doc_func, $name) = @_;
-
- if(my $defs_method = GtkDefs::lookup_method_dont_mark($name))
- {
- if(my $defs_object = DocsParser::lookup_object_of_method($$defs_method{class}, $name))
- {
- my $module = $$defs_object{module};
- my $class = $$defs_object{name};
-
- DocsParser::build_method_name($doc_func, $module, $class, \$name);
- }
- }
- else
- {
- # Not perfect, but better than nothing.
- $name =~ s/^g_/Glib::/;
- }
-
- return $name . "()";
-}
-
-
-sub lookup_object_of_method($$)
-{
- my ($object, $name) = @_;
-
- if($object ne "")
- {
- # We already know the C object name, because $name is a non-static method.
- return GtkDefs::lookup_object($object);
- }
-
- my @parts = split(/_/, $name);
- pop(@parts);
-
- # (gtk, foo, bar) -> (Gtk, Foo, Bar)
- foreach(@parts) { $_ = (length > 2) ? ucfirst : uc; }
-
- # Do a bit of try'n'error.
- while(scalar(@parts) > 1)
- {
- my $try = join("", @parts);
-
- if(my $defs_object = GtkDefs::lookup_object($try))
- { return $defs_object; }
-
- pop(@parts);
- }
-
- return undef;
-}
-
-
-sub build_method_name($$$$)
-{
- my ($doc_func, $module, $class, $name) = @_;
-
- my $prefix = $module . $class;
-
- $prefix =~ s/([a-z])([A-Z])/$1_$2/g;
- $prefix = lc($prefix) . '_';
-
- if($$name =~ /^$prefix/)
- {
- my $scope = "";
- $scope = "${module}::${class}::" unless($doc_func =~ /^$prefix/);
-
- substr($$name, 0, length($prefix)) = $scope;
- }
-}
-
-
-1; # indicate proper module load.
diff --git a/libs/glibmm2/tools/pm/Enum.pm b/libs/glibmm2/tools/pm/Enum.pm
deleted file mode 100644
index 47485e152a..0000000000
--- a/libs/glibmm2/tools/pm/Enum.pm
+++ /dev/null
@@ -1,246 +0,0 @@
-package Enum;
-
-use strict;
-use warnings;
-
-BEGIN {
- use Exporter ();
- our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
-
- # set the version for version checking
- $VERSION = 1.00;
- @ISA = qw(Exporter);
- @EXPORT = ( );
- %EXPORT_TAGS = ( );
- # your exported package globals go here,
- # as well as any optionally exported functions
- @EXPORT_OK = ( );
- }
-our @EXPORT_OK;
-
-# class Enum
-# {
-# bool flags;
-# string type;
-# string module;
-# string c_type;
-#
-# string array elem_names;
-# string array elem_values;
-#
-# bool mark;
-# }
-
-
-sub new
-{
- my ($def) = @_;
- my $self = {};
- bless $self;
-
- $def =~ s/^\(//;
- $def =~ s/\)$//;
-
- $$self{mark} = 0;
- $$self{flags} = 0;
-
- $$self{elem_names} = [];
- $$self{elem_values} = [];
-
- # snarf down the fields
-
- if($def =~ s/^define-(enum|flags)-extended (\S+)//)
- {
- $$self{type} = $2;
- $$self{flags} = 1 if($1 eq "flags");
- }
-
- $$self{module} = $1 if($def =~ s/\(in-module "(\S+)"\)//);
- $$self{c_type} = $1 if($def =~ s/\(c-name "(\S+)"\)//);
-
- # values are compound lisp statement
- if($def =~ s/\(values((?: '\("\S+" "\S+" "[^"]+"\))*) \)//)
- {
- $self->parse_values($1);
- }
-
- if($def !~ /^\s*$/)
- {
- GtkDefs::error("Unhandled enum def ($def) in $$self{module}\::$$self{type}\n")
- }
-
- # this should never happen
- warn if(scalar(@{$$self{elem_names}}) != scalar(@{$$self{elem_values}}));
-
- return $self;
-}
-
-sub parse_values($$)
-{
- my ($self, $value) = @_;
-
- my $elem_names = [];
- my $elem_values = [];
- my $common_prefix = undef;
-
- # break up the value statements
- foreach(split(/\s*'*[()]\s*/, $value))
- {
- next if($_ eq "");
-
- if(/^"\S+" "(\S+)" "([^"]+)"$/)
- {
- my ($name, $value) = ($1, $2);
-
- # detect whether there is module prefix common to all names, e.g. GTK_
- my $prefix = $1 if ($name =~ /^([^_]+_)/);
-
- if (not defined($common_prefix))
- {
- $common_prefix = $prefix;
- }
- elsif ($prefix ne $common_prefix)
- {
- $common_prefix = "";
- }
-
- push(@$elem_names, $name);
- push(@$elem_values, $value);
- }
- else
- {
- GtkDefs::error("Unknown value statement ($_) in $$self{c_type}\n");
- }
- }
-
- if ($common_prefix)
- {
- # cut off the module prefix, e.g. GTK_
- s/^$common_prefix// foreach (@$elem_names);
- }
-
- $$self{elem_names} = $elem_names;
- $$self{elem_values} = $elem_values;
-}
-
-sub beautify_values($)
-{
- my ($self) = @_;
-
- return if($$self{flags});
-
- my $elem_names = $$self{elem_names};
- my $elem_values = $$self{elem_values};
-
- my $num_elements = scalar(@$elem_values);
- return if($num_elements == 0);
-
- my $first = $$elem_values[0];
- return if($first !~ /^-?[0-9]+$/);
-
- my $prev = $first;
-
- # Continuous? (Aliases to prior enum values are allowed.)
- foreach my $value (@$elem_values)
- {
- return if(($value < $first) || ($value > $prev + 1));
- $prev = $value;
- }
-
- # This point is reached only if the values are a continuous range.
- # 1) Let's kill all the superfluous values, for better readability.
- # 2) Substitute aliases to prior enum values.
-
- my %aliases = ();
-
- for(my $i = 0; $i < $num_elements; ++$i)
- {
- my $value = \$$elem_values[$i];
- my $alias = \$aliases{$$value};
-
- if(defined($$alias))
- {
- $$value = $$alias;
- }
- else
- {
- $$alias = $$elem_names[$i];
- $$value = "" unless($first != 0 && $$value == $first);
- }
- }
-}
-
-sub build_element_list($$$$)
-{
- my ($self, $ref_flags, $ref_no_gtype, $indent) = @_;
-
- my @subst_in = [];
- my @subst_out = [];
-
- # Build a list of custom substitutions, and recognize some flags too.
-
- foreach(@$ref_flags)
- {
- if(/^\s*(NO_GTYPE)\s*$/)
- {
- $$ref_no_gtype = $1;
- }
- elsif(/^\s*(get_type_func=)(\s*)\s*$/)
- {
- my $part1 = $1;
- my $part2 = $2;
- }
- elsif(/^\s*s#([^#]+)#([^#]*)#\s*$/)
- {
- push(@subst_in, $1);
- push(@subst_out, $2);
- }
- elsif($_ !~ /^\s*$/)
- {
- return undef;
- }
- }
-
- my $elem_names = $$self{elem_names};
- my $elem_values = $$self{elem_values};
-
- my $num_elements = scalar(@$elem_names);
- my $elements = "";
-
- for(my $i = 0; $i < $num_elements; ++$i)
- {
- my $name = $$elem_names[$i];
- my $value = $$elem_values[$i];
-
- for(my $ii = 0; $ii < scalar(@subst_in); ++$ii)
- {
- $name =~ s/${subst_in[$ii]}/${subst_out[$ii]}/;
- $value =~ s/${subst_in[$ii]}/${subst_out[$ii]}/;
- }
-
- $elements .= "${indent}${name}";
- $elements .= " = ${value}" if($value ne "");
- $elements .= ",\n" if($i < $num_elements - 1);
- }
-
- return $elements;
-}
-
-sub dump($)
-{
- my ($self) = @_;
-
- print "<enum module=\"$$self{module}\" type=\"$$self{type}\" flags=$$self{flags}>\n";
-
- my $elem_names = $$self{elem_names};
- my $elem_values = $$self{elem_values};
-
- for(my $i = 0; $i < scalar(@$elem_names); ++$i)
- {
- print " <element name=\"$$elem_names[$i]\" value=\"$$elem_values[$i]\"/>\n";
- }
-
- print "</enum>\n\n";
-}
-
-1; # indicate proper module load.
diff --git a/libs/glibmm2/tools/pm/Function.pm b/libs/glibmm2/tools/pm/Function.pm
deleted file mode 100644
index 93cf596542..0000000000
--- a/libs/glibmm2/tools/pm/Function.pm
+++ /dev/null
@@ -1,351 +0,0 @@
-package Function;
-
-use strict;
-use warnings;
-use Util;
-use FunctionBase;
-
-BEGIN {
- use Exporter ();
- our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
-
- # set the version for version checking
- $VERSION = 1.00;
- @ISA = qw(FunctionBase);
- @EXPORT = qw(&func1 &func2 &func4);
- %EXPORT_TAGS = ( );
- # your exported package globals go here,
- # as well as any optionally exported functions
- @EXPORT_OK = qw($Var1 %Hashit &func3);
- }
-our @EXPORT_OK;
-
-##################################################
-### Function
-# Commonly used algorithm for parsing a function declaration into
-# its component pieces
-#
-# class Function : FunctionBase
-# {
-# string rettype;
-# bool const;
-# bool static;
-# string name; e.g. gtk_accelerator_valid
-# string c_name;
-# string array param_type;
-# string array param_name;
-# string array param_default_value;
-# string in_module; e.g. Gtk
-# string signal_when. e.g. first, last, or both.
-# string class e.g. GtkButton ( == of-object. Useful for signal because their names are not unique.
-# string entity_type. e.g. method or signal
-# }
-
-sub new_empty()
-{
- my $self = {};
- bless $self;
-
- return $self;
-}
-
-# $objFunction new($function_declaration, $objWrapParser)
-sub new($$)
-{
- #Parse a function/method declaration.
- #e.g. guint gtk_something_set_thing(guint a, const gchar* something)
-
- my ($line, $objWrapParser) = @_;
-
- my $self = {};
- bless $self;
-
- #Initialize member data:
- $$self{rettype} = "";
- $$self{rettype_needs_ref} = 0; #Often the gtk function doesn't do an extra ref for the receiver.
- $$self{const} = 0;
- $$self{name} = "";
- $$self{param_types} = [];
- $$self{param_names} = [];
- $$self{param_default_values} = [];
- $$self{in_module} = "";
- $$self{class} = "";
- $$self{entity_type} = "method";
-
- $line =~ s/^\s+//; # Remove leading whitespace.
- $line =~ s/\s+/ /g; # Compress white space.
-
- if ($line =~ /^static\s+([^()]+)\s+(\S+)\s*\((.*)\)\s*$/)
- {
- $$self{rettype} = $1;
- $$self{name} = $2;
- $$self{c_name} = $2;
- $self->parse_param($3);
- $$self{static} = 1;
- }
- elsif ($line =~ /^([^()]+)\s+(\S+)\s*\((.*)\)\s*(const)*$/)
- {
- no warnings qw(uninitialized); # disable the uninitialize warning for $4
- $$self{rettype} = $1;
- $$self{name} = $2;
- $$self{c_name} = $2;
- $self->parse_param($3);
- $$self{const} = ($4 eq "const");
- }
- else
- {
- $objWrapParser->error("fail to parse $line\n");
- }
-
- return $self;
-}
-
-
-# $objFunction new_ctor($function_declaration, $objWrapParser)
-# Like new(), but the function_declaration doesn't need a return type.
-sub new_ctor($$)
-{
- #Parse a function/method declaration.
- #e.g. guint gtk_something_set_thing(guint a, const gchar* something)
-
- my ($line, $objWrapParser) = @_;
-
- my $self = {};
- bless $self;
-
- #Initialize member data:
- $$self{rettype} = "";
- $$self{rettype_needs_ref} = 0;
- $$self{const} = 0;
- $$self{name} = "";
- $$self{param_types} = [];
- $$self{param_names} = [];
- $$self{param_default_values} = [];
- $$self{in_module} = "";
- $$self{class} = "";
- $$self{entity_type} = "method";
-
- $line =~ s/^\s+//; # Remove leading whitespace.
- $line =~ s/\s+/ /g; # Compress white space.
-
- if ($line =~ /^(\S+)\s*\((.*)\)\s*/)
- {
- $$self{name} = $1;
- $$self{c_name} = $2;
- $self->parse_param($2);
- }
- else
- {
- $objWrapParser->error("fail to parse $line\n");
- }
-
- return $self;
-}
-
-# $num num_args()
-sub num_args #($)
-{
- my ($self) = @_;
- my $param_types = $$self{param_types};
- return $#$param_types+1;
-}
-
-# parses C++ parameter lists.
-# forms a list of types, names, and initial values
-# (we don't currently use values)
-sub parse_param($$)
-{
- my ($self, $line) = @_;
-
-
- my $type = "";
- my $name = "";
- my $value = "";
- my $id = 0;
- my $has_value = 0;
-
- my $param_types = $$self{param_types};
- my $param_names = $$self{param_names};
- my $param_default_values = $$self{param_default_values};
-
- # clean up space and handle empty case
- $line = string_trim($line);
- $line =~ s/\s+/ /g; # Compress whitespace.
- return if ($line =~ /^$/);
-
- # parse through argument list
- my @str = ();
- my $par = 0;
- foreach (split(/(const )|([,=&*()])|(<[^,]*>)|(\s+)/, $line)) #special characters OR <something> OR whitespace.
- {
- next if ( !defined($_) or $_ eq "" );
-
- if ( $_ eq "(" ) #Detect the opening bracket.
- {
- push(@str, $_);
- $par++; #Increment the number of parameters.
- next;
- }
- elsif ( $_ eq ")" )
- {
- push(@str, $_);
- $par--; #Decrement the number of parameters.
- next;
- }
- elsif ( $par || /^(const )|(<[^,]*>)|([*&])|(\s+)/ ) #TODO: What's happening here?
- {
- push(@str, $_); #This looks like part of the type, so we store it.
- next;
- }
- elsif ( $_ eq "=" ) #Default value
- {
- $type = join("", @str); #The type is everything before the = character.
- @str = (); #Wipe it so that it will only contain the default value, which comes next.
- $has_value = 1;
- next;
- }
- elsif ( $_ eq "," ) #The end of one parameter:
- {
- if ($has_value)
- {
- $value = join("", @str); # If there's a default value, then it's the part before the next ",".
- }
- else
- {
- $type = join("", @str);
- }
-
- if ($name eq "")
- {
- $name = sprintf("p%s", $#$param_types + 2)
- }
-
- $type = string_trim($type);
-
- push(@$param_types, $type);
- push(@$param_names, $name);
- push(@$param_default_values, $value);
-
- #Clear variables, ready for the next parameter.
- @str = ();
- $type= "";
- $value = "";
- $has_value = 0;
- $name = "";
-
- $id = 0;
-
- next;
- }
-
- if ($has_value)
- {
- push(@str, $_);
- next;
- }
-
- $id++;
- $name = $_ if ($id == 2);
- push(@str, $_) if ($id == 1);
-
- if ($id > 2)
- {
- print STDERR "Can't parse $line.\n";
- print STDERR " arg type so far: $type\n";
- print STDERR " arg name so far: $name\n";
- print STDERR " arg default value so far: $value\n";
- }
- }
-
- # handle last argument (There's no , at the end.)
- if ($has_value)
- {
- $value = join("", @str);
- }
- else
- {
- $type = join("", @str);
- }
-
- if ($name eq "")
- {
- $name = sprintf("p%s", $#$param_types + 2)
- }
-
- $type = string_trim($type);
-
- push(@$param_types, $type);
- push(@$param_names, $name);
- push(@$param_default_values, $value);
-}
-
-# add_parameter_autoname($, $type, $name)
-# Adds e.g "sometype somename"
-sub add_parameter_autoname($$)
-{
- my ($self, $type) = @_;
-
- add_parameter($self, $type, "");
-}
-
-# add_parameter($, $type, $name)
-# Adds e.g GtkSomething* p1"
-sub add_parameter($$$)
-{
- my ($self, $type, $name) = @_;
- $type = string_unquote($type);
- $type =~ s/-/ /g;
-
- my $param_names = $$self{param_names};
-
- if ($name eq "")
- {
- $name = sprintf("p%s", $#$param_names + 2);
- }
-
- push(@$param_names, $name);
-
- my $param_types = $$self{param_types};
-
- push(@$param_types, $type);
-
- return $self;
-}
-
-# $string get_refdoc_comment()
-# Generate a readable prototype for signals.
-sub get_refdoc_comment($)
-{
- my ($self) = @_;
-
- my $str = " /**\n";
-
- $str .= " * \@par Prototype:\n";
- $str .= " * <tt>$$self{rettype} \%$$self{name}(";
-
- my $param_names = $$self{param_names};
- my $param_types = $$self{param_types};
- my $num_params = scalar(@$param_types);
-
- # List the parameters:
- for(my $i = 0; $i < $num_params; ++$i)
- {
- $str .= $$param_types[$i] . ' ' . $$param_names[$i];
- $str .= ", " if($i < $num_params - 1);
- }
-
- $str .= ")</tt>\n";
- $str .= " */";
-
- return $str;
-}
-
-sub get_is_const($)
-{
- my ($self) = @_;
-
- return $$self{const};
-}
-
-1; # indicate proper module load.
-
diff --git a/libs/glibmm2/tools/pm/FunctionBase.pm b/libs/glibmm2/tools/pm/FunctionBase.pm
deleted file mode 100644
index 00c1c05183..0000000000
--- a/libs/glibmm2/tools/pm/FunctionBase.pm
+++ /dev/null
@@ -1,217 +0,0 @@
-package FunctionBase;
-
-use strict;
-use warnings;
-use Util;
-
-BEGIN {
- use Exporter ();
- our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
-
- # set the version for version checking
- $VERSION = 1.00;
- @ISA = qw(Exporter);
- @EXPORT = qw(&func1 &func2 &func4);
- %EXPORT_TAGS = ( );
- # your exported package globals go here,
- # as well as any optionally exported functions
- @EXPORT_OK = qw($Var1 %Hashit &func3);
- }
-our @EXPORT_OK;
-
-##################################################
-### FunctionBase
-# Contains data and methods used by both Function (C++ declarations) and GtkDefs::Function (C defs descriptions)
-# Note that GtkDefs::Signal inherits from GtkDefs::Function so it get these methods too.
-#
-# class Function : FunctionBase
-# {
-# string array param_types;
-# string array param_names;
-# string array param_documentation;
-# string return_documention;
-# }
-
-
-# $string args_types_only($)
-# comma-delimited argument types.
-sub args_types_only($)
-{
- my ($self) = @_;
-
- my $param_types = $$self{param_types};
- return join(", ", @$param_types);
-}
-
-# $string args_names_only($)
-sub args_names_only($)
-{
- my ($self) = @_;
-
- my $param_names = $$self{param_names};
- return join(", ", @$param_names);
-}
-
-# $string args_types_and_names($)
-sub args_types_and_names($)
-{
- my ($self) = @_;
-
- my $i;
-
- my $param_names = $$self{param_names};
- my $param_types = $$self{param_types};
- my @out;
-
- #debugging:
- #if($#$param_types)
- #{
- # return "NOARGS";
- #}
-
- for ($i = 0; $i < $#$param_types + 1; $i++)
- {
- my $str = sprintf("%s %s", $$param_types[$i], $$param_names[$i]);
- push(@out, $str);
- }
-
- my $result = join(", ", @out);
- return $result;
-}
-
-# $string args_names_only_without_object($)
-sub args_names_only_without_object2($)
-{
- my ($self) = @_;
-
- my $param_names = $$self{param_names};
-
- my $result = "";
- my $bInclude = 0; #Ignore the first (object) arg.
- foreach (@{$param_names})
- {
- # Add comma if there was an arg before this one:
- if( $result ne "")
- {
- $result .= ", ";
- }
-
- # Append this arg if it's not the first one:
- if($bInclude)
- {
- $result .= $_;
- }
-
- $bInclude = 1;
- }
-
- return $result;
-}
-
-# $string args_types_and_names_without_object($)
-sub args_types_and_names_without_object($)
-{
- my ($self) = @_;
-
- my $param_names = $$self{param_names};
- my $param_types = $$self{param_types};
- my $i = 0;
- my @out;
-
- for ($i = 1; $i < $#$param_types + 1; $i++) #Ignore the first arg.
- {
- my $str = sprintf("%s %s", $$param_types[$i], $$param_names[$i]);
- push(@out, $str);
- }
-
- return join(", ", @out);
-}
-
-# $string args_names_only_without_object($)
-sub args_names_only_without_object($)
-{
- my ($self) = @_;
-
- my $param_names = $$self{param_names};
-
- my $result = "";
- my $bInclude = 0; #Ignore the first (object) arg.
- foreach (@{$param_names})
- {
- # Add comma if there was an arg before this one:
- if( $result ne "")
- {
- $result .= ", ";
- }
-
- # Append this arg if it's not the first one:
- if($bInclude)
- {
- $result .= $_;
- }
-
- $bInclude = 1;
- }
-
- return $result;
-}
-
-sub dump($)
-{
- my ($self) = @_;
-
- my $param_types = $$self{param_types};
- my $param_names = $$self{param_names};
-
- print "<function>\n";
- foreach (keys %$self)
- {
- print " <$_ value=\"$$self{$_}\"/>\n" if (!ref $$self{$_} && $$self{$_} ne "");
- }
-
- if (scalar(@$param_types)>0)
- {
- print " <parameters>\n";
-
- for (my $i = 0; $i < scalar(@$param_types); $i++)
- {
- print " \"$$param_types[$i]\" \"$$param_names[$i]\" \n";
- }
-
- print " </parameters>\n";
- }
-
- print "</function>\n\n";
-}
-
-sub args_types_and_names_with_default_values($)
-{
- my ($self) = @_;
-
- my $i;
-
- my $param_names = $$self{param_names};
- my $param_types = $$self{param_types};
- my $param_default_values = $$self{param_default_values};
- my @out;
-
- for ($i = 0; $i < $#$param_types + 1; $i++)
- {
- my $str = sprintf("%s %s", $$param_types[$i], $$param_names[$i]);
-
- if(defined($$param_default_values[$i]))
- {
- if($$param_default_values[$i] ne "")
- {
- $str .= " = " . $$param_default_values[$i];
- }
- }
-
- push(@out, $str);
- }
-
- return join(", ", @out);
-}
-
-1; # indicate proper module load.
-
diff --git a/libs/glibmm2/tools/pm/GtkDefs.pm b/libs/glibmm2/tools/pm/GtkDefs.pm
deleted file mode 100644
index fbe1d1c276..0000000000
--- a/libs/glibmm2/tools/pm/GtkDefs.pm
+++ /dev/null
@@ -1,635 +0,0 @@
-# gtkmm - GtkDefs module
-#
-# Copyright 2001 Free Software Foundation
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
-#
-package GtkDefs;
-use strict;
-use warnings;
-
-use Util;
-use Enum;
-use Object;
-use Property;
-use FunctionBase;
-
-#
-# Public functions
-# read_defs(path, file)
-#
-# @ get_methods()
-# @ get_signals()
-# @ get_properties()
-#
-# $ lookup_enum(c_type)
-# $ lookup_object(c_name)
-# $ lookup_method(c_name)
-# $ lookup_function(c_name)
-# $ lookup_property(object, c_name)
-# $ lookup_signal(object, c_name)
-#
-
-BEGIN {
- use Exporter ();
- our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
-
- # set the version for version checking
- $VERSION = 1.00;
-
- @ISA = qw(Exporter);
- @EXPORT = ( );
- %EXPORT_TAGS = ( );
-
- # your exported package globals go here,
-# # as well as any optionally exported functions
- @EXPORT_OK = ( );
-}
-our @EXPORT_OK;
-
-#####################################
-
-use strict;
-use warnings;
-
-#####################################
-
-%GtkDefs::enums = (); #Enum
-%GtkDefs::objects = (); #Object
-%GtkDefs::methods = (); #GtkDefs::Function
-%GtkDefs::signals = (); #GtkDefs::Signal
-%GtkDefs::properties = (); #Property
-
-@GtkDefs::read = ();
-@GtkDefs::file = ();
-
-
-#####################################
-#prototype to get rid of warning
-sub read_defs($$;$);
-
-sub read_defs($$;$)
-{
- my ($path, $filename, $restrict) = @_;
- $restrict = "" if ($#_ < 2);
-
- # check that the file is there.
- if ( ! -r "$path/$filename")
- {
- print "Error: can't read defs file $filename\n";
- return;
- }
-
- # break the tokens into lisp phrases up to three levels deep.
- # WARNING: reading the following perl statement may induce seizures,
- # please flush eyes with water immediately, and consult a mortician.
- my @tokens = split(
- m/(
- \(
- (?:
- [^()]*
- \(
- (?:
- [^()]*
- \(
- [^()]*
- \)
- )*
- [^()]*
- \)
- )*
- [^()]*
- \)
- )/x,
- read_file($path, $filename));
-
- # scan through top level tokens
- while ($#tokens > -1)
- {
- my $token = shift @tokens;
- next if ($token =~ /^\s*$/);
-
- if ($token =~ /\(include (\S+)\)/)
- {
- read_defs($path,$1,$restrict);
- next;
- }
- elsif ($token =~ /^\(define-flags-extended.*\)$/)
- { on_enum($token); }
- elsif ($token =~ /^\(define-enum-extended.*\)$/)
- { on_enum($token); }
- elsif ($token =~ /^\(define-flags.*\)$/)
- { }
- elsif ($token =~ /^\(define-enum.*\)$/)
- { }
- elsif ($token =~ /^\(define-object.*\)$/)
- { on_object($token); }
- elsif ($token =~ /^\(define-function.*\)$/)
- { on_function($token); }
- elsif ($token =~ /^\(define-method.*\)$/)
- { on_method($token); }
- elsif ($token =~ /^\(define-property.*\)$/)
- { on_property($token); }
- elsif ($token =~ /^\(define-signal.*\)$/)
- { on_signal($token); }
- elsif ($token =~ /^\(define-vfunc.*\)$/)
- { on_vfunc($token); }
- else
- {
- if ( $token =~ /^\(define-(\S+) (\S+)/)
- {
- # FIXME need to figure out the line number.
- print STDERR "Broken lisp definition for $1 $2.\n";
- }
- else
- {
- print "unknown token $token \n";
- }
- }
- }
-}
-
-
-sub read_file($$)
-{
- my ($path, $filename)=@_;
- my @buf = ();
-
- # don't read a file twice
- foreach (@GtkDefs::read)
- {
- return "" if ($_ eq "$path/$filename");
- }
- push @GtkDefs::read, "$path/$filename";
-
- # read file while stripping comments
- open(FILE, "$path/$filename");
- while (<FILE>)
- {
- s/^;.*$//; # remove comments
- chop; # remove new lines
- push(@buf, $_);
- }
- close(FILE);
-
- $_ = join("", @buf);
- s/\s+/ /g;
- return $_;
-}
-
-
-sub on_enum($)
-{
- my $thing = Enum::new(shift(@_));
- $GtkDefs::enums{$$thing{c_type}} = $thing;
-}
-
-sub on_object($)
-{
- my $thing = Object::new(shift(@_));
- $GtkDefs::objects{$$thing{c_name}} = $thing;
-}
-
-sub on_function($)
-{
- my $thing = GtkDefs::Function::new(shift(@_));
- $GtkDefs::methods{$$thing{c_name}} = $thing;
-}
-
-sub on_method($)
-{
- my $thing = GtkDefs::Function::new(shift(@_));
- $GtkDefs::methods{$$thing{c_name}} = $thing if ($thing);
-}
-
-sub on_property($)
-{
- my $thing = Property::new(shift(@_));
- $GtkDefs::properties{"$$thing{class}::$$thing{name}"} = $thing;
-}
-
-sub on_signal($)
-{
- my $thing = GtkDefs::Signal::new(shift(@_));
- $GtkDefs::signals{"$$thing{class}::$$thing{name}"} = $thing;
-}
-
-sub on_vfunc($)
-{
- my $thing = GtkDefs::Signal::new(shift(@_));
- $GtkDefs::signals{"$$thing{class}::$$thing{name}"} = $thing;
-}
-
-##########################
-
-sub get_enums
-{
- return sort {$$a{c_type} cmp $$b{c_type}} values %GtkDefs::enums;
-}
-sub get_methods
-{
- return sort {$$a{c_name} cmp $$b{c_name}} values %GtkDefs::methods;
-}
-sub get_signals
-{
- return sort {$$a{name} cmp $$b{name}} values %GtkDefs::signals;
-}
-sub get_properties
-{
- return sort {$$a{name} cmp $$b{name}} values %GtkDefs::properties;
-}
-
-sub get_marked
-{
- no warnings;
- return grep {$$_{mark}==1} values %GtkDefs::methods;
-}
-
-# This searches for items wrapped by this file and then tries to locate
-# other functions/signal/properties which may have been left unmarked.
-sub get_unwrapped
-{
- # find methods which were used in for a _WRAP
- my @targets;
- push @targets,grep {$$_{entity_type} eq "method" && $$_{mark}==1} values %GtkDefs::methods;
- push @targets,grep {$$_{mark}==1} values %GtkDefs::signals;
- push @targets,grep {$$_{mark}==1} values %GtkDefs::properties;
-
- # find the classes which used them.
- my @classes = join(" ", unique(map { $$_{class} } @targets));
-
- # find methods which are in those classes which didn't get marked.
- my @unwrapped;
- my $class;
- foreach $class (@classes)
- {
- push @unwrapped, grep {$$_{class} eq $class && $$_{mark}==0} values %GtkDefs::methods;
- push @unwrapped, grep {$$_{class} eq $class && $$_{mark}==0} values %GtkDefs::properties;
- push @unwrapped, grep {$$_{class} eq $class && $$_{mark}==0} values %GtkDefs::signals;
- }
-
- return @unwrapped;
-}
-
-##########################
-
-sub lookup_enum($)
-{
- no warnings;
- my ($c_type) = @_;
- my $obj = $GtkDefs::enums{$c_type};
- return 0 if(!$obj);
- $$obj{mark} = 1;
- return $obj;
-}
-
-sub lookup_object($)
-{
- no warnings;
- return $GtkDefs::objects{$_[0]};
-}
-
-# $objProperty lookup_property($name, $parent_object_name)
-sub lookup_property($$)
-{
- no warnings;
- my ($parent_object_name, $name) = @_;
- $name =~ s/-/_/g;
- my $obj = $GtkDefs::properties{"${parent_object_name}::${name}"};
- return 0 if ($obj eq "");
- $$obj{mark} = 1;
- return $obj;
-}
-
-sub lookup_method_dont_mark($)
-{
- no warnings;
- my ($c_name) = @_;
- $c_name =~ s/-/_/g;
-
- my $obj = $GtkDefs::methods{$c_name};
- return 0 if ($obj eq "");
-
- return $obj;
-}
-
-sub lookup_method($)
-{
- my $obj = lookup_method_dont_mark($_);
-
- $$obj{mark} = 1 if($obj);
- return $obj;
-}
-
-sub lookup_function($)
-{
- return lookup_method($_[0]);
-}
-
-sub lookup_signal($$)
-{
- no warnings;
- my ($parent_object_name, $name) = @_;
-
- $name =~ s/-/_/g;
- my $obj = $GtkDefs::signals{"${parent_object_name}::${name}"};
- return 0 if ($obj eq "");
- $$obj{mark} = 1;
- return $obj;
-}
-
-sub error
-{
- my $format = shift @_;
- printf STDERR "GtkDefs.pm: $format\n", @_;
-}
-
-
-########################################################################
-package GtkDefs::Function;
-BEGIN { @GtkDefs::Function::ISA=qw(FunctionBase); }
-
-# class Function : FunctionBase
-#
-# {
-# string name; e.g. gtk_accelerator_valid
-# string c_name;
-# string class e.g. GtkButton
-#
-# string rettype;
-# string array param_types;
-# string array param_names;
-#
-# string entity_type. e.g. method or signal
-#
-# bool varargs;
-# bool mark;
-#
-# }
-
-# "new" can't have prototype
-sub new
-{
- my ($def) = @_;
- my $whole = $def;
- my $self = {};
- bless $self;
-
- $def =~ s/^\(//;
- $def =~ s/\)$//;
- $def =~ s/^\s*define-(\S+)\s+(\S+)\s*//;
- $$self{entity_type} = $1;
- $$self{name} = $2;
- $$self{name} =~ s/-/_/g; # change - to _
-
- # init variables
- $$self{mark} = 0;
- $$self{rettype} = "none";
- $$self{param_types} = [];
- $$self{param_names} = [];
- $$self{class} = "";
-
- # snarf down lisp fields
- $$self{c_name} = $1 if ($def=~s/\(c-name "(\S+)"\)//);
- $$self{class} = $1 if ($def=~s/\(of-object "(\S+)"\)//);
-
- if ($def =~ s/\(return-type "(\S+)"\)//)
- {
- $$self{rettype} = $1;
- $$self{rettype} =~ s/-/ /g; #e.g. replace const-gchar* with const gchar*. Otherwise it will be used in code.
- }
-
- $$self{varargs} = 1 if ($def=~s/\(varargs\s+#t\)//);
- $$self{rettype} = "void" if ($$self{rettype} eq "none");
-
- # methods have a parameter not stated in the defs file
- if ($$self{entity_type} eq "method")
- {
- push( @{$$self{param_types}}, "$$self{class}*" );
- push( @{$$self{param_names}}, "self" );
- }
-
- # parameters are compound lisp statement
- if ($def =~ s/\(parameters(( '\("\S+" "\S+"\))*) \)//)
- {
- $self->parse_param($1);
- }
-
- # is-constructor-of:
- if ($def =~ s/\(is-constructor-of "(\S+)"\)//)
- {
- #Ignore them.
- }
-
- # of-object
- if ($def =~ s/\(of-object "(\S+)"\)//)
- {
- #Ignore them.
- }
-
- GtkDefs::error("Unhandled function parameter ($def) in $$self{c_name}\n")
- if ($def !~ /^\s*$/);
-
- return $self;
-}
-
-sub parse_param($$)
-{
- my ($self, $param) = @_;
-
- # break up the parameter statements
- foreach (split(/\s*'*[()]\s*/, $param))
- {
- next if ($_ eq "");
- if (/^"(\S+)" "(\S+)"$/)
- {
- my ($p1, $p2) = ($1,$2);
- $p1 =~ s/-/ /;
- push( @{$$self{param_types}}, $p1);
- push( @{$$self{param_names}}, $p2);
- }
- else
- {
- GtkDefs::error("Unknown parameter statement ($_) in $$self{c_name}\n");
- }
- }
-}
-
-
-# $string get_return_type_for_methods().
-# Changes gchar* (not const-gchar*) to return-gchar* so that _CONVERT knows that it needs to be freed.
-sub get_return_type_for_methods($)
-{
- my ($self) = @_;
-
- my $rettype = $$self{rettype};
- if($rettype eq "gchar*" || $rettype eq "char*")
- {
- $rettype = "return-" . $rettype;
- }
-
- return $rettype;
-}
-
-sub get_param_names
-{
- my ($self) = @_;
- return @$self{param_names};
-}
-
-######################################################################
-package GtkDefs::Signal;
-BEGIN { @GtkDefs::Signal::ISA=qw(GtkDefs::Function); }
-
-# class Signal : Function
-# {
-# string name; e.g. gtk_accelerator_valid
-# string class e.g. GtkButton ( == of-object.)
-#
-# string rettype;
-#
-# string when. e.g. first, last, or both.
-# string entity_type. e.g. method or signal
-# }
-
-# "new" can't have prototype
-sub new
-{
- my ($def) = @_;
-
- my $whole = $def;
- my $self = {};
- bless $self;
-
- #Remove first and last braces:
- $def =~ s/^\(//;
- $def =~ s/\)$//;
-
- $def =~ s/^\s*define-(\S+)\s+(\S+)\s*//;
- $$self{entity_type} = $1;
- $$self{name} = $2;
- $$self{name} =~ s/-/_/g; #change - to _
-
- # init variables
- $$self{mark}=0;
- $$self{rettype} = "none";
- $$self{param_types} = [];
- $$self{param_names} = [];
- $$self{when} = "";
- $$self{class} = "";
-
- # snarf down lisp fields
- if($def =~ s/\(of-object "(\S+)"\)//)
- {
- $$self{class} = $1;
- }
- else
- {
- GtkDefs::error("define-signal/define-vfunc without of-object (entity type: $$self{entity_type}): $whole");
- }
-
- if($def =~ s/\(return-type "(\S+)"\)//)
- {
- $$self{rettype} = $1;
- $$self{rettype} =~ s/-/ /g; #e.g. replace const-gchar* with const gchar*. Otherwise it will be used in code.
- }
-
- if($def =~ s/\(when "(\S+)"\)//)
- {
- $$self{when} = $1;
- }
-
- if($$self{rettype} eq "none")
- {
- $$self{rettype} = "void"
- }
-
- # signals always have a parameter
- push(@{$$self{param_types}}, "$$self{class}*");
- push(@{$$self{param_names}}, "self");
-
- # parameters are compound lisp statement
- if ($def =~ s/\(parameters(( '\("\S+" "\S+"\))+) \)//)
- {
- $self->parse_param($1);
- }
-
- if ($def!~/^\s*$/)
- {
- GtkDefs::error("Unhandled signal/vfunc def ($def) in $$self{class}::$$self{name}");
- }
-
- return $self;
-}
-
-# bool has_same_types($objFunction)
-# Compares return types and argument types
-sub has_same_types($$)
-{
- my ($self, $objFuncOther) = @_;
-
- #Compare return types:
- if($self->types_are_equal($$self{rettype}, $$objFuncOther{rettype}) ne 1)
- {
- # printf("debug: different return types: %s, %s\n", $$self{rettype}, $$objFuncOther{rettype});
- return 0; #Different types found.
- }
-
- #Compare arguement types:
- my $i = 0;
- my $param_types = $$self{param_types};
- my $param_types_other = $$objFuncOther{param_types};
- for ($i = 1; $i < $#$param_types + 1; $i++)
- {
- my $type_a = $$param_types[$i];
- my $type_b = $$param_types_other[$i-1];
-
- if($self->types_are_equal($type_a, $type_b) ne 1)
- {
- # printf("debug: different arg types: %s, %s\n", $type_a, $type_b);
- return 0; #Different types found.
- }
- }
-
- return 1; #They must all be the same for it to get this far.
-}
-
-# bool types_are_equal($a, $b)
-# Compares types, ignoring gint/int differences, etc.
-sub types_are_equal($$$)
-{
- #TODO: Proper method of getting a normalized type name.
-
- my ($self, $type_a, $type_b) = @_;
-
- if($type_a ne $type_b)
- {
- #Try adding g to one of them:
- if( ("g" . $type_a) ne $type_b )
- {
- #Try adding g to the other one:
- if( $type_a ne ("g" . $type_b) )
- {
- #After all these checks it's still not equal:
- return 0; #not equal.
- }
- }
- }
-
- # printf("DEBUG: types are equal: %s, %s\n", $$type_a, $$type_b);
- return 1; #They must be the same for it to get this far.
-}
-
-1; # indicate proper module load.
diff --git a/libs/glibmm2/tools/pm/Makefile b/libs/glibmm2/tools/pm/Makefile
deleted file mode 100644
index 42d9ec01b0..0000000000
--- a/libs/glibmm2/tools/pm/Makefile
+++ /dev/null
@@ -1,434 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# tools/pm/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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.
-
-
-
-srcdir = .
-top_srcdir = ../..
-
-pkgdatadir = $(datadir)/glibmm
-pkglibdir = $(libdir)/glibmm
-pkgincludedir = $(includedir)/glibmm
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-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 = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(tools_pm_include_HEADERS) \
- $(top_srcdir)/tools/pm/Makefile_list_of_sources.am_fragment
-subdir = tools/pm
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
- $(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
-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 = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(tools_pm_includedir)"
-tools_pm_includeHEADERS_INSTALL = $(INSTALL_HEADER)
-HEADERS = $(tools_pm_include_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run aclocal-1.9 -I ./scripts
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run tar
-AR = ar
-AS = as
-AUTOCONF = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run autoconf
-AUTOHEADER = :
-AUTOMAKE = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS =
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2 -Wall -Wno-long-long
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-DISABLE_DEPRECATED_API_CFLAGS =
-DISABLE_DEPRECATED_CFLAGS =
-DLLTOOL = dlltool
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-GLIBMM_CFLAGS = -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GLIBMM_LIBS = -Wl,--export-dynamic -lsigc-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
-GLIBMM_MAJOR_VERSION = 2
-GLIBMM_MICRO_VERSION = 3
-GLIBMM_MINOR_VERSION = 13
-GLIBMM_RELEASE = 2.13
-GLIBMM_VERSION = 2.13.3
-GTHREAD_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-GTHREAD_LIBS = -pthread -lgthread-2.0 -lrt -lglib-2.0
-GTKMMPROC_MERGECDOCS =
-GTKMM_DOXYGEN_INPUT = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/glib/glibmm/
-GTKMM_FALSE_FALSE =
-GTKMM_FALSE_TRUE = #
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBGLIBMM_SO_VERSION = 1:24:0
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-M4 = m4
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/missing --run makeinfo
-OBJDUMP = objdump
-OBJEXT = o
-OS_WIN32_FALSE =
-OS_WIN32_TRUE = #
-PACKAGE = glibmm
-PACKAGE_BUGREPORT =
-PACKAGE_NAME =
-PACKAGE_STRING =
-PACKAGE_TARNAME =
-PACKAGE_VERSION =
-PATH_SEPARATOR = :
-PERL_PATH = /usr/bin/perl
-PKG_CONFIG = /usr/bin/pkg-config
-PLATFORM_WIN32_FALSE =
-PLATFORM_WIN32_TRUE = #
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.13.3
-ac_ct_AR = ar
-ac_ct_AS =
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_DLLTOOL =
-ac_ct_F77 =
-ac_ct_OBJDUMP =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-ac_pt_PKG_CONFIG = /usr/bin/pkg-config
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/carl/mnt/hg/ardour.org/trunk/libs/glibmm2/scripts/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target_alias =
-files_tools_pm = DocsParser.pm GtkDefs.pm Enum.pm Function.pm FunctionBase.pm Object.pm Output.pm Property.pm Util.pm WrapParser.pm
-EXTRA_DIST = Makefile_list_of_sources.am_fragment $(files_tools_pm)
-
-# Install the .pm, files:
-tools_pm_includedir = $(libdir)/glibmm-2.4/proc/pm
-tools_pm_include_HEADERS = $(files_tools_pm)
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(top_srcdir)/tools/pm/Makefile_list_of_sources.am_fragment $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/pm/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu tools/pm/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: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-tools_pm_includeHEADERS: $(tools_pm_include_HEADERS)
- @$(NORMAL_INSTALL)
- test -z "$(tools_pm_includedir)" || $(mkdir_p) "$(DESTDIR)$(tools_pm_includedir)"
- @list='$(tools_pm_include_HEADERS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(tools_pm_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(tools_pm_includedir)/$$f'"; \
- $(tools_pm_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(tools_pm_includedir)/$$f"; \
- done
-
-uninstall-tools_pm_includeHEADERS:
- @$(NORMAL_UNINSTALL)
- @list='$(tools_pm_include_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(tools_pm_includedir)/$$f'"; \
- rm -f "$(DESTDIR)$(tools_pm_includedir)/$$f"; \
- 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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- 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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- 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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/../../tools/pm
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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 $(HEADERS)
-installdirs:
- for dir in "$(DESTDIR)$(tools_pm_includedir)"; 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)
-
-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 distclean-libtool \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am: install-tools_pm_includeHEADERS
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-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-info-am uninstall-tools_pm_includeHEADERS
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool ctags 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-exec install-exec-am install-info \
- install-info-am install-man install-strip \
- install-tools_pm_includeHEADERS installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
- ps ps-am tags uninstall uninstall-am uninstall-info-am \
- uninstall-tools_pm_includeHEADERS
-
-# 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:
diff --git a/libs/glibmm2/tools/pm/Makefile.am b/libs/glibmm2/tools/pm/Makefile.am
deleted file mode 100644
index a4796c0491..0000000000
--- a/libs/glibmm2/tools/pm/Makefile.am
+++ /dev/null
@@ -1,10 +0,0 @@
-
-include $(top_srcdir)/tools/pm/Makefile_list_of_sources.am_fragment
-
-EXTRA_DIST = Makefile_list_of_sources.am_fragment $(files_tools_pm)
-
-# Install the .pm, files:
-
-tools_pm_includedir = $(libdir)/glibmm-2.4/proc/pm
-tools_pm_include_HEADERS = $(files_tools_pm)
-
diff --git a/libs/glibmm2/tools/pm/Makefile_list_of_sources.am_fragment b/libs/glibmm2/tools/pm/Makefile_list_of_sources.am_fragment
deleted file mode 100644
index e8df8f447e..0000000000
--- a/libs/glibmm2/tools/pm/Makefile_list_of_sources.am_fragment
+++ /dev/null
@@ -1,2 +0,0 @@
-files_tools_pm = DocsParser.pm GtkDefs.pm Enum.pm Function.pm FunctionBase.pm Object.pm Output.pm Property.pm Util.pm WrapParser.pm
-
diff --git a/libs/glibmm2/tools/pm/Object.pm b/libs/glibmm2/tools/pm/Object.pm
deleted file mode 100644
index aef72c3953..0000000000
--- a/libs/glibmm2/tools/pm/Object.pm
+++ /dev/null
@@ -1,72 +0,0 @@
-package Object;
-
-use strict;
-use warnings;
-
-BEGIN {
- use Exporter ();
- our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
-
- # set the version for version checking
- $VERSION = 1.00;
-
- @ISA = qw(Exporter);
- @EXPORT = ( );
- %EXPORT_TAGS = ( );
-
- # your exported package globals go here,
- # as well as any optionally exported functions
- @EXPORT_OK = ( );
-}
-our @EXPORT_OK;
-
-# class Object
-# {
-# string name;
-# string module;
-# string parent;
-# string c_name;
-# string gtype_id;
-# }
-
-
-sub new
-{
- my ($def) = @_;
-
- my $self = {};
- bless $self;
-
- $def =~ s/^\(//;
- $def =~ s/\)$//;
-
- # snarf down the fields
- $$self{name} = $1 if($def =~ s/^define-object (\S+)//);
- $$self{module} = $1 if($def =~ s/\(in-module "(\S+)"\)//);
- $$self{parent} = $1 if($def =~ s/\(parent "(\S+)"\)//);
- $$self{c_name} = $1 if($def =~ s/\(c-name "(\S+)"\)//);
- $$self{gtype_id} = $1 if($def =~ s/\(gtype-id "(\S+)"\)//);
-
- if($def !~ /^\s*$/)
- {
- GtkDefs::error("Unhandled object def ($def) in $$self{module}\::$$self{name}\n")
- }
-
- return $self;
-}
-
-
-sub dump($)
-{
- my ($self) = @_;
-
- print "<object>\n";
-
- foreach(keys %$self)
- { print " <$_ value=\"$$self{$_}\"/>\n"; }
-
- print "</object>\n\n";
-}
-
-
-1; # indicate proper module load.
diff --git a/libs/glibmm2/tools/pm/Output.pm b/libs/glibmm2/tools/pm/Output.pm
deleted file mode 100644
index 6b4a475f1d..0000000000
--- a/libs/glibmm2/tools/pm/Output.pm
+++ /dev/null
@@ -1,928 +0,0 @@
-# Gtkmmproc Output module
-#
-# Copyright 2001 Free Software Foundation
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
-#
-package Output;
-use strict;
-BEGIN { @Namespace::ISA=qw(main); }
-
-# $objOutputter new()
-sub new
-{
- my ($m4path, $macrodirs) = @_;
- my $self = {};
- bless $self;
-
- $$self{out} = [];
-
- $$self{source} = "";
- $$self{tmpdir} = "/tmp";
- $$self{destdir} = "";
- $$self{objDefsParser} = undef; # It will be set in set_defsparser()
-
- $$self{m4path} = $m4path;
- $$self{m4args} = "-I";
- $$self{m4args} .= join(" -I", @$macrodirs);
-
- return $self;
-}
-
-sub set_defsparser($$)
-{
- my ($self, $objDefsParser) = @_;
-
- $$self{objDefsParser} = $objDefsParser; #Remember it so that we can use it in our output methods.
-}
-
-sub m4args_append($$)
-{
- my ($self, $str) = @_;
- $$self{m4args} .= $str;
-}
-
-sub append($$)
-{
- my ($self, $str) = @_;
-
- push(@{$$self{out}}, $str);
-}
-
-# void output_wrap_failed($cname, $error)
-# Puts a comment in the header about the error during code-generation.
-sub output_wrap_failed($$$)
-{
- my ($self, $cname, $error) = @_;
-
- my $str = sprintf("//gtkmmproc error: %s : %s", $cname, $error);
- print STDERR "Output.pm: $cname : $error\n";
- $self->append($str);
-}
-
-sub error
-{
- my $format=shift @_;
- printf STDERR "Output.pm: $format",@_;
-}
-
-sub ifdef($$)
-{
- my ($self, $ifdef) = @_;
- if ($ifdef)
- {
- $self->append("\n#ifdef $ifdef\n");
- }
-}
-
-sub endif($$)
-{
- my ($self, $ifdef) = @_;
- if ($ifdef)
- {
- $self->append("\n#endif // $ifdef\n");
- }
-}
-
-### Convert _WRAP to a virtual
-# _VFUNC_H(signame,rettype,`<cppargs>')
-# _VFUNC_PH(gtkname,crettype,cargs and names)
-# void output_wrap_vfunc_h($filename, $line_num, $objCppfunc, $objCDefsFunc)
-sub output_wrap_vfunc_h($$$$$$)
-{
- my ($self, $filename, $line_num, $objCppfunc, $objCDefsFunc, $ifdef) = @_;
-
-#Old code. We removed _VFUNC_H from the .m4 file
-# my $str = sprintf("_VFUNC_H(%s,%s,\`%s\',%s)dnl\n",
-# $$objCppfunc{name},
-# $$objCppfunc{rettype},
-# $objCppfunc->args_types_and_names(),
-# $objCppfunc->get_is_const()
-# );
-# $self->append($str);
-
- my $cppVfuncDecl = "virtual " . $$objCppfunc{rettype} . " " . $$objCppfunc{name} . "(" . $objCppfunc->args_types_and_names() . ")";
- if($objCppfunc->get_is_const())
- {
- $cppVfuncDecl .= " const";
- }
-
- $self->append("#ifdef GLIBMM_VFUNCS_ENABLED\n");
- $self->ifdef($ifdef);
- $self->append(" $cppVfuncDecl;\n");
- $self->endif($ifdef);
- $self->append("#endif //GLIBMM_VFUNCS_ENABLED\n");
-
- #The default callback, which will call *_vfunc, which will then call the base default callback.
- #Declares the callback in the private *Class class and sets it in the class_init function.
-
- my $str = sprintf("_VFUNC_PH(%s,%s,\`%s\',%s)dnl\n",
- $$objCDefsFunc{name},
- $$objCDefsFunc{rettype},
- $objCDefsFunc->args_types_and_names(),
- $ifdef
- );
- $self->append($str);
-}
-
-# _VFUNC_CC(signame,gtkname,rettype,crettype,`<cppargs>',`<cargs>')
-sub output_wrap_vfunc_cc($$$$$$$)
-{
- my ($self, $filename, $line_num, $objCppfunc, $objDefsSignal, $ifdef) = @_;
-
- my $cname = $$objDefsSignal{name};
-
- # e.g. Gtk::Button::draw_indicator:
-
- #Use a different macro for Interfaces, to generate an extra convenience method.
-
- my $refreturn = "";
- $refreturn = "refreturn" if($$objCppfunc{rettype_needs_ref});
-
- my $str = sprintf("_VFUNC_CC(%s,%s,%s,%s,\`%s\',\`%s\',%s,%s,%s)dnl\n",
- $$objCppfunc{name},
- $cname,
- $$objCppfunc{rettype},
- $$objDefsSignal{rettype},
- $objCppfunc->args_types_and_names(),
- convert_args_cpp_to_c($objCppfunc, $objDefsSignal, 0, $line_num), #$objCppfunc->args_names_only(),
- $objCppfunc->get_is_const(),
- $refreturn,
- $ifdef);
-
- $self->append($str);
-
- # e.g. Gtk::ButtonClass::draw_indicator():
-
- my $refreturn_ctype = "";
- $refreturn_ctype = "refreturn_ctype" if($$objDefsSignal{rettype_needs_ref});
-
- my $str = sprintf("_VFUNC_PCC(%s,%s,%s,%s,\`%s\',\`%s\',\`%s\',%s,%s,%s)dnl\n",
- $$objCppfunc{name},
- $cname,
- $$objCppfunc{rettype},
- $$objDefsSignal{rettype},
- $objDefsSignal->args_types_and_names(),
- $objDefsSignal->args_names_only(),
- convert_args_c_to_cpp($objDefsSignal, $objCppfunc, $line_num),
- ${$objDefsSignal->get_param_names()}[0],
- $refreturn_ctype,
- $ifdef);
-
- $self->append($str);
-}
-
-### Convert _WRAP to a virtual
-# _SIGNAL_H(signame,rettype, ifdef, `<cppargs>')
-# _SIGNAL_PH(gtkname,crettype, ifdef, cargs and names)
-# void output_wrap_default_signal_handler_h($filename, $line_num, $objCppfunc, $objCDefsFunc, $ifdef. @args)
-sub output_wrap_default_signal_handler_h($$$$$$$)
-{
- my ($self, $filename, $line_num, $objCppfunc, $objCDefsFunc, $ifdef) = @_;
-
- my $str = sprintf("_SIGNAL_H(%s,%s,\`%s\',%s)dnl\n",
- $$objCppfunc{name},
- $$objCppfunc{rettype},
- $objCppfunc->args_types_and_names(),
- $ifdef
- );
- $self->append($str);
-
-
- #The default callback, which will call *_impl, which will then call the base default callback.
- #Declares the callback in the private *Class class and sets it in the class_init function.
-
- $str = sprintf("_SIGNAL_PH(%s,%s,\`%s\',%s)dnl\n",
- $$objCDefsFunc{name},
- $$objCDefsFunc{rettype},
- $objCDefsFunc->args_types_and_names(),
- $ifdef
- );
- $self->append($str);
-}
-
-# _SIGNAL_CC(signame, gtkname, rettype, crettype,`<cppargs>',`<cargs>')
-sub output_wrap_default_signal_handler_cc($$$$$$$$$)
-{
- my ($self, $filename, $line_num, $objCppfunc, $objDefsSignal, $bImplement, $bCustomCCallback, $bRefreturn, $ifdef) = @_;
- my $cname = $$objDefsSignal{name};
- # $cname = $1 if ($args[3] =~ /"(.*)"/); #TODO: What's this about?
-
- # e.g. Gtk::Button::on_clicked:
- if($bImplement eq 1)
- {
- my $refreturn = "";
- $refreturn = "refreturn" if($bRefreturn eq 1);
-
- my $str = sprintf("_SIGNAL_CC(%s,%s,%s,%s,\`%s\',\`%s\',%s,%s,%s)dnl\n",
- $$objCppfunc{name},
- $cname,
- $$objCppfunc{rettype},
- $$objDefsSignal{rettype},
- $objCppfunc->args_types_and_names(),
- convert_args_cpp_to_c($objCppfunc, $objDefsSignal, 0, $line_num), #$objCppfunc->args_names_only(),
- $$objCppfunc{const},
- $refreturn,
- $ifdef);
- $self->append($str);
- }
-
-
- # e.g. Gtk::ButtonClass::on_clicked():
-
- #Callbacks always take the object instance as the first argument:
-# my $arglist_names = "object";
-# my $arglist_names_extra = $objDefsSignal->args_names_only();
-# if ($arglist_names_extra)
-# {
-# $arglist_names .= ", ";
-# $arglist_names .= $arglist_names_extra;
-# }
-
- if($bCustomCCallback ne 1)
- {
- my $str = sprintf("_SIGNAL_PCC(%s,%s,%s,%s,\`%s\',\`%s\',\`%s\',\`%s\',%s)dnl\n",
- $$objCppfunc{name},
- $cname,
- $$objCppfunc{rettype},
- $$objDefsSignal{rettype},
- $objDefsSignal->args_types_and_names(),
- $objDefsSignal->args_names_only(),
- convert_args_c_to_cpp($objDefsSignal, $objCppfunc, $line_num),
- ${$objDefsSignal->get_param_names()}[0],
- $ifdef);
- $self->append($str);
- }
-}
-
-### Convert _WRAP to a method
-# _METHOD(cppname,cname,cpprettype,crettype,arglist,cargs,const)
-# void output_wrap_meth($filename, $line_num, $objCppFunc, $objCDefsFunc, $cppMethodDecl, $documentation, $ifdef)
-sub output_wrap_meth($$$$$$$)
-{
- my ($self, $filename, $line_num, $objCppfunc, $objCDefsFunc, $cppMethodDecl, $documentation, $ifdef) = @_;
- my $objDefsParser = $$self{objDefsParser};
-
- # Allow the generated .h/.cc code to have an #ifndef around it, and add deprecation docs to the generated documentation.
- my $deprecated = "";
- if($$objCDefsFunc{deprecated})
- {
- $deprecated = "deprecated";
- }
-
- #Declaration:
- if($deprecated ne "")
- {
- $self->append("\n_DEPRECATE_IFDEF_START");
- }
-
- # Doxygen documentation before the method declaration:
- $self->output_wrap_meth_docs_only($filename, $line_num, $documentation);
-
- $self->ifdef($ifdef);
-
- if($$objCDefsFunc{throw_any_errors})
- {
- $self->append("#ifdef GLIBMM_EXCEPTIONS_ENABLED\n");
- }
-
- $self->append(" ${cppMethodDecl};");
-
- if($$objCDefsFunc{throw_any_errors})
- {
- $self->append("\n#else\n");
-
- # #Add an error argument, by searching for ) at the end and replacing it:
- # my $declWithErrorArg = ${cppMethodDecl};
- # $declWithErrorArg =~ s/\)$/, std::auto_ptr<Glib::Error>& error\)/g;
-
- #Recreate the declaration, to remove the default values, which we can't have as well as an error parameter at the end:
- my $declWithErrorArg = $$objCppfunc{rettype} . " " . $$objCppfunc{name} . "(" . $objCppfunc->args_types_and_names() . ", std::auto_ptr<Glib::Error>& error)";
-
- if($$objCppfunc{static})
- {
- $declWithErrorArg = "static " . $declWithErrorArg;
- }
-
- if($objCppfunc->get_is_const() eq 1)
- {
- if($$objCppfunc{static} ne 1) #It can't be const and static at the same time.
- {
- $declWithErrorArg = $declWithErrorArg . " const";
- }
- }
-
- #remove any superfluous ,:
- $declWithErrorArg =~ s/\(, /\(/g;
-
- $self->append(" ${declWithErrorArg};");
-
- $self->append("\n#endif //GLIBMM_EXCEPTIONS_ENABLED\n");
- }
-
- $self->endif($ifdef);
-
-
- if($deprecated ne "")
- {
- $self->append("\n_DEPRECATE_IFDEF_END\n");
- }
-
- my $refneeded = "";
- if($$objCDefsFunc{rettype_needs_ref})
- {
- $refneeded = "refreturn"
- }
-
- my $errthrow = "";
- if($$objCDefsFunc{throw_any_errors})
- {
- $errthrow = "errthrow"
- }
-
- my $constversion = ""; #Whether it is just a const overload (so it can reuse code)
- if($$objCDefsFunc{constversion})
- {
- $constversion = "constversion"
- }
-
- #Implementation:
- my $str;
- if ($$objCppfunc{static}) {
- $str = sprintf("_STATIC_METHOD(%s,%s,%s,%s,\`%s\',\`%s\',%s,%s,%s,%s)dnl\n",
- $$objCppfunc{name},
- $$objCDefsFunc{c_name},
- $$objCppfunc{rettype},
- $objCDefsFunc->get_return_type_for_methods(),
- $objCppfunc->args_types_and_names(),
- convert_args_cpp_to_c($objCppfunc, $objCDefsFunc, 1, $line_num, $errthrow), #1 means it's static, so it has 'object'.
- $refneeded,
- $errthrow,
- $deprecated,
- $ifdef);
- } else {
- $str = sprintf("_METHOD(%s,%s,%s,%s,\`%s\',\`%s\',%s,%s,%s,%s,%s,\`%s\',%s)dnl\n",
- $$objCppfunc{name},
- $$objCDefsFunc{c_name},
- $$objCppfunc{rettype},
- $objCDefsFunc->get_return_type_for_methods(),
- $objCppfunc->args_types_and_names(),
- convert_args_cpp_to_c($objCppfunc, $objCDefsFunc, 0, $line_num, $errthrow),
- $$objCppfunc{const},
- $refneeded,
- $errthrow,
- $deprecated,
- $constversion,
- $objCppfunc->args_names_only(),
- $ifdef
- );
- }
- $self->append($str);
-}
-
-### Convert _WRAP to a method
-# _METHOD(cppname,cname,cpprettype,crettype,arglist,cargs,const)
-# void output_wrap_meth($filename, $line_num, $documentation)
-sub output_wrap_meth_docs_only($$$$)
-{
- my ($self, $filename, $line_num, $documentation) = @_;
- my $objDefsParser = $$self{objDefsParser};
-
- # Doxygen documentation before the method declaration:
- $self->append("\n${documentation}");
-}
-
-### Convert _WRAP_CTOR to a ctor
-# _METHOD(cppname,cname,cpprettype,crettype,arglist,cargs,const)
-# void output_wrap_ctor($filename, $line_num, $objCppFunc, $objCDefsFunc, $cppMethodDecl)
-sub output_wrap_ctor($$$$$)
-{
- my ($self, $filename, $line_num, $objCppfunc, $objCDefsFunc, $cppMethodDecl) = @_;
- my $objDefsParser = $$self{objDefsParser};
-
- #Ctor Declaration:
- #TODO: Add explicit.
- $self->append("explicit " . $cppMethodDecl . ";");
-
- #Implementation:
- my $str = sprintf("_CTOR_IMPL(%s,%s,\`%s\',\`%s\')dnl\n",
- $$objCppfunc{name},
- $$objCDefsFunc{c_name},
- $objCppfunc->args_types_and_names(),
- get_ctor_properties($objCppfunc, $objCDefsFunc, $line_num)
- );
-
- $self->append($str);
-}
-
-sub output_wrap_create($$$)
-{
- my ($self, $args_type_and_name_with_default_values, $objWrapParser) = @_;
-
- #Re-use Function in a very hacky way, to separate the argument types_and_names.
- my $fake_decl = "void fake_func(" . $args_type_and_name_with_default_values . ")";
-
- my $objFunction = &Function::new($fake_decl, $objWrapParser);
- my $args_names_only = $objFunction->args_names_only();
- my $args_type_and_name_hpp = $objFunction->args_types_and_names_with_default_values();
- my $args_type_and_name_cpp = $objFunction->args_types_and_names();
-
- my $str = sprintf("_CREATE_METHOD(\`%s\',\`%s\',\`%s\')dnl\n",
- $args_type_and_name_hpp, , $args_type_and_name_cpp, $args_names_only);
-
- $self->append($str)
-}
-
-# void output_wrap_sig_decl($filename, $line_num, $objCSignal, $objCppfunc, $signal_name, $bCustomCCallback)
-# custom_signalproxy_name is "" when no type conversion is required - a normal templates SignalProxy will be used instead.
-sub output_wrap_sig_decl($$$$$$$)
-{
- my ($self, $filename, $line_num, $objCSignal, $objCppfunc, $signal_name, $bCustomCCallback, $ifdef) = @_;
-
-# _SIGNAL_PROXY(c_signal_name, c_return_type, `<c_arg_types_and_names>',
-# cpp_signal_name, cpp_return_type, `<cpp_arg_types>',`<c_args_to_cpp>',
-# refdoc_comment)
-
- my $str = sprintf("_SIGNAL_PROXY(%s,%s,\`%s\',%s,%s,\`%s\',\`%s\',\`%s\',%s,%s)dnl\n",
- $signal_name,
- $$objCSignal{rettype},
- $objCSignal->args_types_and_names_without_object(),
- $$objCppfunc{name},
- $$objCppfunc{rettype},
- $objCppfunc->args_types_only(),
- convert_args_c_to_cpp($objCSignal, $objCppfunc, $line_num),
- $bCustomCCallback, #When this is true, it will not write the *_callback implementation for you.
- $objCppfunc->get_refdoc_comment(),
- $ifdef
- );
-
- $self->append($str);
-}
-
-# void output_wrap_enum($filename, $line_num, $cpp_type, $c_type, $comment, @flags)
-sub output_wrap_enum($$$$$$$)
-{
- my ($self, $filename, $line_num, $cpp_type, $c_type, $comment, @flags) = @_;
-
- my $objEnum = GtkDefs::lookup_enum($c_type);
- if(!$objEnum)
- {
- $self->output_wrap_failed($c_type, "enum defs lookup failed.");
- return;
- }
-
- $objEnum->beautify_values();
-
- my $no_gtype = "";
- my $elements = $objEnum->build_element_list(\@flags, \$no_gtype, " ");
-
- if(!$elements)
- {
- $self->output_wrap_failed($c_type, "unknown _WRAP_ENUM() flag");
- return;
- }
-
- my $value_suffix = "Enum";
- $value_suffix = "Flags" if($$objEnum{flags});
-
- my $str = sprintf("_ENUM(%s,%s,%s,\`%s\',\`%s\',\`%s\')dnl\n",
- $cpp_type,
- $c_type,
- $value_suffix,
- $elements,
- $no_gtype,
- $comment
- );
-
- $self->append($str);
-}
-
-# void output_wrap_gerror($filename, $line_num, $cpp_type, $c_enum, $domain, @flags)
-sub output_wrap_gerror($$$$$$$)
-{
- my ($self, $filename, $line_num, $cpp_type, $c_enum, $domain, @flags) = @_;
-
- my $objDefsParser = $$self{objDefsParser};
-
- my $objEnum = GtkDefs::lookup_enum($c_enum);
- if(!$objEnum)
- {
- $self->output_wrap_failed($c_enum, "enum defs lookup failed.");
- return;
- }
-
- # Shouldn't happen, and if it does, I'd like to know that.
- warn if($$objEnum{flags});
-
- $objEnum->beautify_values();
-
- # cut off the module prefix, e.g. GDK_
- my $prefix = $domain;
- $prefix =~ s/^[^_]+_//;
-
- # Chop off the domain prefix, because we put the enum into the class.
- unshift(@flags, "s#^${prefix}_##");
-
- my $no_gtype = "";
- my $elements = $objEnum->build_element_list(\@flags, \$no_gtype, " ");
-
- my $str = sprintf("_GERROR(%s,%s,%s,\`%s\',%s)dnl\n",
- $cpp_type,
- $c_enum,
- $domain,
- $elements,
- $no_gtype
- );
-
- $self->append($str);
-}
-
-# _PROPERTY_PROXY(name, cpp_type)
-# void output_wrap_property($filename, $line_num, $name, $cpp_type)
-sub output_wrap_property($$$$$$)
-{
- my ($self, $filename, $line_num, $name, $cpp_type, $c_class) = @_;
-
- my $objDefsParser = $$self{objDefsParser};
-
- my $objProperty = GtkDefs::lookup_property($c_class, $name);
- if($objProperty eq 0) #If the lookup failed:
- {
- $self->output_wrap_failed($name, "property defs lookup failed.");
- }
- else
- {
- # We use a suffix to specify a particular Glib::PropertyProxy* class.
- my $proxy_suffix = "";
-
- # Read/Write:
- if($objProperty->get_construct_only() eq 1)
- {
- # construct-only functions can be read, but not written.
- $proxy_suffix = "_ReadOnly";
- }
- elsif($objProperty->get_readable() ne 1)
- {
- $proxy_suffix = "_WriteOnly";
- }
- elsif($objProperty->get_writable() ne 1)
- {
- $proxy_suffix = "_ReadOnly";
- }
-
- # Convert - to _ so we can use it in C++ method and variable names:
- my $name_underscored = $name;
- $name_underscored =~ s/-/_/g;
-
- my $str = sprintf("_PROPERTY_PROXY(%s,%s,%s,%s,%s)dnl\n",
- $name,
- $name_underscored,
- $cpp_type,
- $proxy_suffix,
- $objProperty->get_docs()
- );
- $self->append($str);
- $self->append("\n");
-
- # If the property is not already read-only, and the property can be read, then add a second const accessor for a read-only propertyproxy:
- if( ($proxy_suffix ne "_ReadOnly") && ($objProperty->get_readable()) )
- {
- my $str = sprintf("_PROPERTY_PROXY(%s,%s,%s,%s,%s)dnl\n",
- $name,
- $name_underscored,
- $cpp_type,
- "_ReadOnly",
- $objProperty->get_docs()
- );
- $self->append($str);
- }
-
-
- }
-}
-
-# vpod output_temp_g1($filename, $section) e.g. output_temp_g1(button, gtk)
-sub output_temp_g1($$)
-{
- my ($self, $section) = @_;
-
- # Write out *.g1 temporary file
- open(FILE, '>', "$$self{tmpdir}/gtkmmproc_$$.g1"); # $$ is the Process ID
-
- print FILE "include(base.m4)dnl\n";
-
- my $module = $section;
- my $module_canonical = Util::string_canonical($module); #In case there is a / character in the module.
- print FILE "_START($$self{source},$module,$module_canonical)dnl\n";
- print FILE join("", @{$$self{out}});
- print FILE "_END()\n";
- close(FILE);
-}
-
-sub make_g2_from_g1($)
-{
- my ($self) = @_;
-
- # Execute m4 to get *.g2 file:
- system("$$self{m4path} $$self{m4args} '$$self{tmpdir}/gtkmmproc_$$.g1' > '$$self{tmpdir}/gtkmmproc_$$.g2'");
- return ($? >> 8);
-}
-
-# void write_sections_to_files()
-# This is where we snip the /tmp/gtkmmproc*.g2 file into sections (,h, .cc, _private.h)
-sub write_sections_to_files()
-{
- my ($self) = @_;
-
- my $fname_h = "$$self{destdir}/$$self{source}.h";
- my $fname_ph = "$$self{destdir}/private/$$self{source}_p.h";
- my $fname_cc = "$$self{destdir}/$$self{source}.cc";
-
- open(INPUT, '<', "$$self{tmpdir}/gtkmmproc_$$.g2"); # $$ is the process ID.
-
- # open tempory file for each section
- open(OUTPUT_H, '>', "$fname_h.tmp");
- open(OUTPUT_PH, '>', "$fname_ph.tmp");
- open(OUTPUT_CC, '>', "$fname_cc.tmp");
-
- my $oldfh = select(OUTPUT_H);
- my $blank = 0;
-
- while(<INPUT>)
- {
- # section switching
- if(/^#S 0/) { select(OUTPUT_H); next; }
- if(/^#S 1/) { select(OUTPUT_PH); next; }
- if(/^#S 2/) { select(OUTPUT_CC); next; }
-
- # get rid of bogus blank lines
- if(/^\s*$/) { ++$blank; } else { $blank = 0; }
- next if($blank > 2);
-
- print $_;
- }
-
- select($oldfh);
- close(INPUT);
- close(OUTPUT_H);
- close(OUTPUT_PH);
- close(OUTPUT_CC);
-
- foreach($fname_h, $fname_ph, $fname_cc)
- {
- # overwrite the source file only if it has actually changed
- system("cmp -s '$_.tmp' '$_' || cp '$_.tmp' '$_' ; rm -f '$_.tmp'");
- }
-}
-
-
-sub remove_temp_files($)
-{
- my ($self) = @_;
-
- system("rm -f \"$$self{tmpdir}/gtkmmproc_$$.g1\"");
- system("rm -f \"$$self{tmpdir}/gtkmmproc_$$.g2\"");
-}
-
-
-
-# procedure for generating CONVERT macros
-# $string convert_args_cpp_to_c($objCppfunc, $objCDefsFunc, $static, $wrap_line_number,$automatic_error)
-sub convert_args_cpp_to_c($$$$;$)
-{
- my ($objCppfunc, $objCDefsFunc, $static, $wrap_line_number, $automatic_error) = @_;
-
- $automatic_error = "" unless defined $automatic_error;
-
- my $cpp_param_names = $$objCppfunc{param_names};
- my $cpp_param_types = $$objCppfunc{param_types};
- my $c_param_types = $$objCDefsFunc{param_types};
-
- my @result;
-
- my $num_c_args_expected = scalar(@{$c_param_types});
- if( !($static) ) { $num_c_args_expected--; } #The cpp method will need an Object* paramater at the start.
-
- my $num_cpp_args = scalar(@{$cpp_param_types});
-
- # add implicit last error parameter;
- if ( $automatic_error ne "" &&
- $num_cpp_args == ($num_c_args_expected - 1) &&
- ${$c_param_types}[-1] eq "GError**" )
- {
- $num_cpp_args++;
- $cpp_param_names = [@{$cpp_param_names},"gerror"];
- $cpp_param_types = [@{$cpp_param_types},"GError*&"];
- }
-
- if ( $num_cpp_args != $num_c_args_expected )
- {
- Output::error( "convert_args_cpp_to_c(): Incorrect number of arguments. (%d != %d)\n",
- $num_cpp_args,
- $num_c_args_expected );
- $objCppfunc->dump();
- $objCDefsFunc->dump();
-
- return "";
- }
-
-
- # Loop through the cpp parameters:
- my $i;
- my $cpp_param_max = $num_cpp_args;
- # if( !($static) ) { $cpp_param_max++; }
-
- for ($i = 0; $i < $cpp_param_max; $i++)
- {
- #index of C parameter:
- my $iCParam = $i;
- if( !($static) ) { $iCParam++; }
-
- my $cppParamType = $$cpp_param_types[$i];
- $cppParamType =~ s/ &/&/g; #Remove space between type and &
- $cppParamType =~ s/ \*/*/g; #Remove space between type and *
-
- my $cppParamName = $$cpp_param_names[$i];
- my $cParamType = $$c_param_types[$iCParam];
-
- if ($cppParamType ne $cParamType) #If a type conversion is needed.
- {
-
-
- push(@result, sprintf("_CONVERT(%s,%s,%s,%s)",
- $cppParamType,
- $cParamType,
- $cppParamName,
- $wrap_line_number) );
- }
- else
- {
- push(@result, $cppParamName);
- }
- }
-
- return join(", ", @result);
-}
-
-# procedure for generating CONVERT macros
-# Ignores the first C 'self' argument.
-# $string convert_args_c_to_cpp($objCDefsFunc, $objCppFunc, $wrap_line_number)
-sub convert_args_c_to_cpp($$$)
-{
- my ($objCDefsFunc, $objCppfunc, $wrap_line_number) = @_;
-
- my $cpp_param_types = $$objCppfunc{param_types};
- my $c_param_types = $$objCDefsFunc{param_types};
- my $c_param_names = $$objCDefsFunc{param_names};
-
- my @result;
-
- my $num_c_args = scalar(@{$c_param_types});
-
- my $num_cpp_args = scalar(@{$cpp_param_types});
-
- if ( ($num_cpp_args + 1) != $num_c_args )
- {
- Output::error( "convert_args_c_to_cpp(): Incorrect number of arguments. (%d != %d)\n",
- $num_cpp_args + 1,
- $num_c_args);
- $objCppfunc->dump();
- $objCDefsFunc->dump();
-
- return "";
- }
-
-
- # Loop through the c parameters:
- my $i;
- my $c_param_max = $num_c_args;
-
- for ($i = 1; $i < $c_param_max; $i++)
- {
- #index of C parameter:
- my $iCppParam = $i - 1;
-
- my $cppParamType = $$cpp_param_types[$iCppParam];
- $cppParamType =~ s/ &/&/g; #Remove space between type and &.
- $cppParamType =~ s/ \*/*/g; #Remove space between type and *
-
- my $cParamName = $$c_param_names[$i];
- my $cParamType = $$c_param_types[$i];
-
- if ($cParamType ne $cppParamType) #If a type conversion is needed.
- {
- push(@result, sprintf("_CONVERT(%s,%s,%s,%s)\n",
- $cParamType,
- $cppParamType,
- $cParamName,
- $wrap_line_number) );
- }
- else
- {
- push(@result, $cParamName);
- }
- }
-
- return join(", ",@result);
-}
-
-
-# generates the XXX in g_object_new(get_type(), XXX): A list of property names and values.
-# Uses the cpp arg name as the property name.
-# $string get_ctor_properties($objCppfunc, $objCDefsFunc, $wrap_line_number)
-sub get_ctor_properties($$$$)
-{
- my ($objCppfunc, $objCDefsFunc, $wrap_line_number) = @_;
-
- my $cpp_param_names = $$objCppfunc{param_names};
- my $cpp_param_types = $$objCppfunc{param_types};
- my $c_param_types = $$objCDefsFunc{param_types};
-
- my @result;
-
- my $num_args = scalar(@{$c_param_types});
-
- my $num_cpp_args = scalar(@{$cpp_param_types});
- if ( $num_cpp_args != $num_args )
- {
- Output::error("get_ctor_properties(): Incorrect number of arguments. (%d != %d)\n",
- $num_cpp_args,
- $num_args );
- return "";
- }
-
-
- # Loop through the cpp parameters:
- my $i = 0;
-
- for ($i = 0; $i < $num_args; $i++)
- {
- my $cppParamType = $$cpp_param_types[$i];
- $cppParamType =~ s/ &/&/g; #Remove space between type and &
- $cppParamType =~ s/ \*/*/g; #Remove space between type and *
-
- my $cppParamName = $$cpp_param_names[$i];
- my $cParamType = $$c_param_types[$i];
-
- # Property name:
- push(@result, "\"" . $cppParamName . "\"");
-
- # C property value:
- if ($cppParamType ne $cParamType) #If a type conversion is needed.
- {
- push(@result, sprintf("_CONVERT(%s,%s,%s,%s)",
- $cppParamType,
- $cParamType,
- $cppParamName,
- $wrap_line_number) );
- }
- else
- {
- push(@result, $cppParamName);
- }
- }
-
- return join(", ", @result);
-}
-
-### Convert _WRAP to a corba method
-# _CORBA_METHOD(retype, method_name,args, arg_names_only) - implemented in libbonobomm.
-# void output_wrap_corba_method($filename, $line_num, $objCppFunc)
-sub output_wrap_corba_method($$$$)
-{
- my ($self, $filename, $line_num, $objCppfunc) = @_;
-
- my $str = sprintf("_CORBA_METHOD(%s,%s,\`%s\',\`%s\')dnl\n",
- $$objCppfunc{rettype},
- $$objCppfunc{name},
- $objCppfunc->args_types_and_names(),
- $objCppfunc->args_names_only()
- );
-
- $self->append($str);
-}
-
-sub output_implements_interface($$)
-{
- my ($self, $interface, $ifdef) = @_;
-
- my $str = sprintf("_IMPLEMENTS_INTERFACE_CC(%s, %s)dnl\n",
- $interface,
- $ifdef);
-
- $self->append($str);
-}
-
-1; # indicate proper module load.
diff --git a/libs/glibmm2/tools/pm/Property.pm b/libs/glibmm2/tools/pm/Property.pm
deleted file mode 100644
index 703cfdccff..0000000000
--- a/libs/glibmm2/tools/pm/Property.pm
+++ /dev/null
@@ -1,119 +0,0 @@
-package Property;
-
-use strict;
-use warnings;
-
-BEGIN {
- use Exporter ();
- our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
-
- # set the version for version checking
- $VERSION = 1.00;
- @ISA = qw(Exporter);
- @EXPORT = qw(&func1 &func2 &func4);
- %EXPORT_TAGS = ( );
- # your exported package globals go here,
- # as well as any optionally exported functions
- @EXPORT_OK = qw($Var1 %Hashit &func3);
- }
-our @EXPORT_OK;
-
-# class Property
-# {
-# string name;
-# string class;
-# string type;
-# bool readable;
-# bool writable;
-# bool construct_only;
-# string docs;
-# }
-
-
-sub new
-{
- my ($def) = @_;
- my $self = {};
- bless $self;
-
- $def=~s/^\(//;
- $def=~s/\)$//;
- # snarf down the fields
- $$self{mark} = 0;
- $$self{name} = $1 if ($def =~ s/^define-property (\S+)//);
- $$self{class} = $1 if ($def =~ s/\(of-object "(\S+)"\)//);
- $$self{type} = $1 if ($def =~ s/\(prop-type "(\S+)"\)//);
- $$self{readable} = ($1 eq "#t") if ($def =~ s/\(readable (\S+)\)//);
- $$self{writable} = ($1 eq "#t") if ($def =~ s/\(writable (\S+)\)//);
- $$self{construct_only} = ($1 eq "#t") if ($def =~ s/\(construct-only (\S+)\)//);
-
- # Property documentation:
- my $propertydocs = $1 if ($def =~ s/\(docs "([^"]*)"\)//);
- # Add a full-stop if there is not one already:
- if(defined($propertydocs))
- {
- my $docslen = length($propertydocs);
- if($docslen)
- {
- if( !(substr($propertydocs, $docslen - 1, 1) eq ".") )
- {
- $propertydocs = $propertydocs . ".";
- }
- }
- }
-
- $$self{docs} = $propertydocs;
-
-
- $$self{name} =~ s/-/_/g; # change - to _
-
- GtkDefs::error("Unhandled property def ($def) in $$self{class}\::$$self{name}\n")
- if ($def !~ /^\s*$/);
-
- return $self;
-}
-
-sub dump($)
-{
- my ($self) = @_;
-
- print "<property>\n";
-
- foreach (keys %$self)
- { print " <$_ value=\"$$self{$_}\"/>\n"; }
-
- print "</property>\n\n";
-}
-
-sub get_construct_only($)
-{
- my ($self) = @_;
- return $$self{construct_only};
-}
-
-sub get_type($)
-{
- my ($self) = @_;
- return $$self{type};
-}
-
-sub get_readable($)
-{
- my ($self) = @_;
- return $$self{readable};
-}
-
-sub get_writable($)
-{
- my ($self) = @_;
- return $$self{writable};
-}
-
-sub get_docs($)
-{
- my ($self) = @_;
- return $$self{docs};
-}
-
-
-1; # indicate proper module load.
diff --git a/libs/glibmm2/tools/pm/Util.pm b/libs/glibmm2/tools/pm/Util.pm
deleted file mode 100644
index c3076b4e8c..0000000000
--- a/libs/glibmm2/tools/pm/Util.pm
+++ /dev/null
@@ -1,113 +0,0 @@
-# gtkmm - Util module
-#
-# Copyright 2001 Free Software Foundation
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# # but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
-#
-#
-# This file holds basic functions used throughout gtkmmproc modules.
-# Functions in this module are exported so there is no need to
-# request them by module name.
-#
-package Util;
-use strict;
-use warnings;
-
-BEGIN {
- use Exporter ();
- our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
-
- # set the version for version checking
- $VERSION = 1.00;
- @ISA = qw(Exporter);
- @EXPORT = qw(&string_unquote &string_trim &string_canonical
- &trace &unique);
- %EXPORT_TAGS = ( );
-
- # your exported package globals go here,
- # as well as any optionally exported functions
- #@EXPORT_OK = qw($Var1 %Hashit &func3);
- }
-our @EXPORT_OK;
-
-
-#$ string_unquote($string)
-# Removes leading and trailing quotes.
-sub string_unquote($)
-{
- my ($str) = @_;
-
- $str =~ s/^['`"]// ;
- $str =~ s/['`"]$// ;
-
- return $str;
-}
-
-# $ string_trim($string)
-# Removes leading and trailing white space.
-sub string_trim($)
-{
- ($_) = @_;
- s/^\s+//;
- s/\s+$//;
- return $_;
-}
-
-# $ string_canonical($string)
-# Convert - to _.
-sub string_canonical($)
-{
- ($_) = @_;
- s/-/_/g ; # g means 'replace all'
- s/\//_/g ; # g means 'replace all'
- return $_;
-}
-
-#
-# Back tracing utility.
-# Prints the call stack.
-#
-# void trace()
-sub trace()
-{
- my ($package, $filename, $line, $subroutine, $hasargs,
- $wantarray, $evaltext, $is_require, $hints, $bitmask) = caller(1);
-
- no warnings qw(uninitialized);
-
- my $i = 2;
- print "Trace on ${subroutine} called from ${filename}:${line}\n";
- while (1)
- {
- ($package, $filename, $line, $subroutine) = caller($i);
- $i++;
- next if ($line eq "");
- print " From ${subroutine} call from ${filename}:${line}\n";
- }
-}
-
-sub unique(@)
-{
- my %hash;
- foreach (@_)
- {
- $hash{$_}=1;
- }
-
- return keys %hash;
-}
-
-1; # indicate proper module load.
-
diff --git a/libs/glibmm2/tools/pm/WrapParser.pm b/libs/glibmm2/tools/pm/WrapParser.pm
deleted file mode 100644
index fb156e33ce..0000000000
--- a/libs/glibmm2/tools/pm/WrapParser.pm
+++ /dev/null
@@ -1,1343 +0,0 @@
-# gtkmm - WrapParser module
-#
-# Copyright 2001 Free Software Foundation
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
-#
-package WrapParser;
-use strict;
-use warnings;
-use Util;
-use GtkDefs;
-use Function;
-use DocsParser;
-
-BEGIN {
- use Exporter ();
- our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
-
- # set the version for version checking
- $VERSION = 1.00;
- @ISA = qw(Exporter);
- @EXPORT = ( );
- %EXPORT_TAGS = ( );
- # your exported package globals go here,
- # as well as any optionally exported functions
- @EXPORT_OK = ( );
- }
-our @EXPORT_OK;
-
-############################################################################
-
-my @tokens = ();
-
-# $objWrapParser new($objOutputter)
-sub new($)
-{
- my ($objOutputter) = @_;
-
- my $self = {};
- bless $self;
-
- #Initialize member data:
- $$self{objOutputter} = $objOutputter;
- $$self{filename} = "(none)";
- $$self{line_num} = 0;
-
- $$self{level} = 0;
- $$self{class} = "";
- $$self{c_class} = "";
- $$self{in_class} = 0;
- $$self{first_namespace} = 1;
- $$self{namespace} = [];
- $$self{in_namespace} = [];
-
- $$self{defsdir} = ".";
-
- $$self{module} = ""; #e.g. "gtkmm"
-
- $$self{type} = "GTKOBJECT"; # or "BOXEDTYPE", or "GOBJECT" - wrapped differently.
-
- return $self;
-}
-
-# void parse_and_build_output()
-sub parse_and_build_output($)
-{
- my ($self) = @_;
-
- my $objOutputter = $$self{objOutputter};
-
- # Parse the tokens.
- my $token;
- while ( scalar(@tokens) )
- {
- $token = $self->extract_token();
- my $bAppend = 1;
-
- # we need to monitor the depth of braces
- if ($token eq '{') { $self->on_open_brace(); }
- if ($token eq '}') { $self->on_close_brace(); $bAppend = 0;}
-
- # protect `' from the source file from m4
- if ($token eq "`") { $objOutputter->append("`'__BT__`'"); next; }
- if ($token eq "'") { $objOutputter->append("`'__FT__`'"); next; }
-
- if ($token eq '"') { $objOutputter->append($self->on_string_literal()); next; }
- if ($token eq '//') { $objOutputter->append($self->on_comment_cpp()); next; }
- if ($token eq '/*') { $objOutputter->append($self->on_comment_c()); next; }
-
- # handle #m4begin ... #m4end
- if ($token eq "#m4begin") { $objOutputter->append($self->on_m4_section()); next;}
-
- # handle #m4 ... \n
- if ($token eq "#m4") { $objOutputter->append($self->on_m4_line()); next;}
-
- if ($token eq "_DEFS") { $self->on_defs(); next;} #Read the defs file.
- if ($token eq "_IGNORE") { $self->on_ignore(); next;} #Ignore a function.
- if ($token eq "_IGNORE_SIGNAL") { $self->on_ignore_signal(); next;} #Ignore a signal.
- if ($token eq "_WRAP_METHOD") { $self->on_wrap_method(); next;}
- if ($token eq "_WRAP_METHOD_DOCS_ONLY") { $self->on_wrap_method_docs_only(); next;}
- if ($token eq "_WRAP_CORBA_METHOD") { $self->on_wrap_corba_method(); next;} #Used in libbonobo*mm.
- if ($token eq "_WRAP_SIGNAL") { $self->on_wrap_signal(); next;}
- if ($token eq "_WRAP_PROPERTY") { $self->on_wrap_property(); next;}
- if ($token eq "_WRAP_VFUNC") { $self->on_wrap_vfunc(); next;}
- if ($token eq "_WRAP_CTOR") { $self->on_wrap_ctor(); next;}
- if ($token eq "_WRAP_CREATE") { $self->on_wrap_create(); next;}
-
- if ($token eq "_WRAP_ENUM") { $self->on_wrap_enum(); next;}
- if ($token eq "_WRAP_GERROR") { $self->on_wrap_gerror(); next;}
- if ($token eq "_IMPLEMENTS_INTERFACE") { $self->on_implements_interface(); next;}
-
- my $prefix_class = "_CLASS_"; # e.g. _CLASS_GTKOBJECT
- my $token_prefix = substr($token, 0, length($prefix_class));
- if ($token_prefix eq $prefix_class)
- {
- $self->on_class($token);
- next;
-
- # e.g.:
- # _CLASS_GENERIC
- # _CLASS_GOBJECT
- # _CLASS_GTKOBJECT
- # _CLASS_BOXEDTYPE
- # _CLASS_BOXEDTYPE_STATIC
- # _CLASS_INTERFACE
- # _CLASS_OPAQUE_COPYABLE
- # _CLASS_OPAQUE_REFCOUNTED
- }
-
- if ($token eq "namespace") { $self->on_namespace() };
-
- # After all token manipulations
- if($bAppend)
- {
- $objOutputter->append($token);
- }
- }
-}
-
-sub error($$)
-{
- my ($self, $format) = @_;
-
- $format = "$$self{filename}:$$self{line_num}: $format";
- printf STDERR $format,@_;
-}
-
-######################################################################
-##### 1.1 parser subroutines
-
-########################################
-### returns the next token, ignoring some stuff.
-# $string extract_token()
-sub extract_token($)
-{
- my ($self) = @_;
-
- while ( scalar(@tokens) )
- {
- $_ = shift @tokens;
-
- # skip empty tokens
- next if ( !defined($_) or $_ eq "" );
-
- # eat line statements. TODO: e.g.?
- if ( /^#l (\S+)\n/)
- {
- $$self{line_num} = $1;
- next;
- }
-
- # eat file statements. TODO: e.g.?
- if ( /^#f (\S+)\n/)
- {
- $$self{filename} = $1;
- next;
- }
-
- return $_;
- }
-
- return "";
-}
-
-# bool tokens_remaining()
-sub tokens_remaining($)
-{
- my ($self) = @_;
- return scalar(@tokens)!=0;
-}
-
-
-########################################
-### we pass strings literally with quote substitution
-# void on_string_literal()
-sub on_string_literal($)
-{
- my ($self) = @_;
-
- my @out;
- push (@out, '"');
- while ( scalar(@tokens) )
- {
- $_ = $self->extract_token();
- if ($_ eq "`") { push(@out, "`'__BT__`'"); next; }
- if ($_ eq "'") { push(@out, "`'__FT__`'"); next; }
- push (@out, $_);
-
- return join("",@out) if ($_ eq '"');
- }
-
- my $line_num = $$self{line_num};
- my $filename = $$self{filename};
- print STDERR "$filename:$line_num: Hit eof while in string\n";
-}
-
-
-########################################
-### we pass comments literally with quote substitution
-# void on_comment_cpp()
-sub on_comment_cpp($)
-{
- my ($self) = @_;
-
- my @out;
- push (@out,"//\`");
- while ( scalar(@tokens) )
- {
- $_ = $self->extract_token();
- if ($_ eq "`") { push(@out,"\'__BT__\`"); next; }
- if ($_ eq "'") { push(@out,"\'__FT__\`"); next; }
- if ($_ eq "\n")
- {
- push (@out,"\'\n");
- return join("",@out)
- }
-
- if ($_ =~ /^_[A-Z]+$/) {$_="_$_";} # wipe out potential macros
-
- push (@out,$_);
- }
-}
-
-
-########################################
-### we pass C comments literally with quote substitution
-# void on_comment_c()
-sub on_comment_c($)
-{
- my ($self) = @_;
-
- my @out;
- push (@out,"/*\`");
- while ( scalar(@tokens) )
- {
- $_ = $self->extract_token();
- if ($_ eq "`") { push(@out,"\'__BT__\`"); next; }
- if ($_ eq "'") { push(@out,"\'__FT__\`"); next; }
- if ($_ eq "*/")
- {
- push (@out,"\'*/");
- return join("",@out)
- }
-
- push (@out,$_);
- }
-}
-
-
-########################################
-### handle #m4begin ... #m4end
-# we don't substitute ` or ' in #m4begin
-# void on_m4_section()
-sub on_m4_section($)
-{
- my ($self) = @_;
-
- my @value;
- my $token;
-
- while ( scalar(@tokens) )
- {
- $token = $self->extract_token();
- return join("", @value) if ($token eq "#m4end");
- push(@value, $token);
- }
-
- my $line_num = $$self{line_num};
- my $filename = $$self{filename};
- print STDERR "$filename:$line_num: Hit eof looking for #m4end\n";
- next;
-}
-
-
-########################################
-### handle #m4 ... /n
-# we don't substitute ` or ' in #m4
-# void on_m4_line()
-sub on_m4_line ($)
-{
- my ($self) = @_;
-
- my @value;
- my $token;
- while ( scalar(@tokens) )
- {
- $token = $self->extract_token();
- push(@value,$token); # push first, so we don't eat the newline
- return join("",@value) if ($token eq "\n");
- }
-}
-
-
-########################################
-# m4 needs to know when we entered a namespace
-# void on_namespace()
-sub on_namespace($)
-{
- my ($self) = @_;
- my $objOutputter = $$self{objOutputter};
-
- my $number = 0;
- my $token;
- my $arg;
-
- # we need to peek ahead to figure out what type of namespace
- # declaration this is.
- while ( $number < scalar(@tokens) )
- {
- $token = $tokens[$number];
- $number++;
- next if (!defined($token) or $token eq "");
-# print "> $token\n";
-
- if ($token eq '{')
- {
- $arg = string_trim($arg);
-
- if ($$self{first_namespace})
- {
- $objOutputter->append("_SECTION(SECTION_HEADER2)\n");
- $$self{first_namespace} = 0;
- }
-
- $objOutputter->append("_NAMESPACE($arg)");
- unshift(@{$$self{namespace}}, $arg);
- unshift(@{$$self{in_namespace}}, $$self{level}+1);
- return;
- }
-
- next if ( $token =~ /^#[lf] \S+\n/);
- return if ($token eq ';');
-
- $arg .= $token; #concatenate
- }
-}
-
-
-########################################
-### we don't want to report every petty function as unwrapped
-# void on_ignore($)
-sub on_ignore($)
-{
- my ($self) = @_;
- my $str = $self->extract_bracketed_text();
- my @args = split(/\s+|,/,$str);
- foreach (@args)
- {
- next if ($_ eq "");
- GtkDefs::lookup_function($_); #Pretend that we've used it.
- }
-}
-
-sub on_ignore_signal($)
-{
- my ($self) = @_;
- my $str = $self->extract_bracketed_text();
- $str = string_trim($str);
- $str = string_unquote($str);
- my @args = split(/\s+|,/,$str);
- foreach (@args)
- {
- next if ($_ eq "");
- GtkDefs::lookup_signal($$self{c_class}, $_); #Pretend that we've used it.
- }
-}
-
-########################################
-### we have certain macros we need to insert at end of statements
-# void on_class($, $strClassCommand)
-sub on_class($$)
-{
- my ($self, $class_command) = @_;
-
- my $objOutputter = $$self{objOutputter};
-
- $$self{in_class} = $$self{level};
-
- #Remember the type of wrapper required, so that we can append the correct _END_CLASS_* macro later.
- {
- my $str = $class_command;
- $str =~ s/^_CLASS_//;
- $$self{type} = $str;
- }
-
- my $str = $self->extract_bracketed_text();
- my ($class, $c_class) = split(',',$str);
- $class = string_trim($class);
- $c_class = string_trim($c_class);
-
- $$self{class} = $class;
- $$self{c_class} = $c_class;
-
- my @back;
- push(@back, $class_command);
- push(@back, "($str)");
-
- # When we hit _CLASS, we walk backwards through the output to find "class"
- my $token;
- while ( scalar(@{$$objOutputter{out}}) > 0)
- {
- $token = pop @{$$objOutputter{out}};
- unshift(@back, $token);
- if ($token eq "class")
- {
- $objOutputter->append("_CLASS_START()");
-
- my $strBack = join("", @back);
-
- $objOutputter->append($strBack);
- return;
- }
- }
-
- $self->error("$class_command outside of class.\n");
- exit(-1);
-}
-
-
-# order to read the defs file
-# void on_defs()
-sub on_defs($)
-{
- my ($self) = @_;
-
- my $str = $self->extract_bracketed_text();
- my ($module, $defsfile) = split(/,/, $str); #e.g. _DEFS(gtkmm,gtk), where gtkmm is the module name, and gtk is the defs file name.
- # $$self{section} = $section; #Save it so that we can reuse it in read_defs_included.
- $$self{module} = $module; #Use it later in call to output_temp_g1().
-
- GtkDefs::read_defs("$$self{defsdir}", "$defsfile.defs");
-
- #Read the documentation too, so that we can merge it into the generated C++ code:
- my $docs_filename = $defsfile . "_docs.xml";
- my $docs_filename_override = $defsfile . "_docs_override.xml";
- DocsParser::read_defs("$$self{defsdir}", $docs_filename, $docs_filename_override);
-}
-
-# void on_open_brace()
-sub on_open_brace($)
-{
- my ($self) = @_;
-
- $$self{level}++;
-}
-
-# void on_close_brace($)
-sub on_close_brace($)
-{
- my ($self) = @_;
- my $objOutputter = $$self{objOutputter};
-
- #push(@out, "($$self{level})");
-
- $self->on_end_class()
- if ($$self{in_class} && $$self{in_class} == $$self{level});
-
- $objOutputter->append("}"); #We append it here instead of after we return, so that we can end the namespace after it.
-
- $self->on_end_namespace()
- if ( (scalar(@{$$self{in_namespace}}) > 0) && (@{$$self{in_namespace}}[0] == $$self{level}) );
-
- $$self{level}--;
-}
-
-
-########################################
-### denote the end of a class
-# void on_end_class($)
-sub on_end_class($)
-{
- my ($self) = @_;
- my $objOutputter = $$self{objOutputter};
-
- # Examine $$self{type}, which was set in on_class()
- # And append the _END_CLASS_* macro, which will, in turn, output the m4 code.
- {
- my $str = $$self{type};
- $objOutputter->append("`'_END_CLASS_$str()\n");
- }
-
- $$self{class} = "";
- $$self{c_class} = "";
- $$self{in_class} = 0;
-}
-
-
-########################################
-###
-# void on_end_namespace($)
-sub on_end_namespace($)
-{
- my ($self) = @_;
- my $objOutputter = $$self{objOutputter};
-
- $objOutputter->append("`'_END_NAMESPACE()");
- shift( @{$$self{namespace}} );
- shift( @{$$self{in_namespace}} );
-}
-
-
-######################################################################
-##### some utility subroutines
-
-########################################
-### takes (\S+) from the tokens (smart)
-# $string extract_bracketed_text()
-sub extract_bracketed_text($)
-{
- my ($self) = @_;
-
- my $level = 1;
- my $str = "";
-
- # Move to the first "(":
- while ( scalar(@tokens) )
- {
- my $t = $self->extract_token();
- last if ($t eq "(");
- }
-
- # Concatenate until the corresponding ")":
- while ( scalar(@tokens) )
- {
- my $t = $self->extract_token();
- $level++ if ($t eq "(");
- $level-- if ($t eq ")");
-
- return $str if (!$level);
- $str .= $t;
- }
-
- return "";
-}
-
-
-########################################
-### breaks up a string by commas (smart)
-# @strings string_split_commas($string)
-sub string_split_commas($)
-{
- my ($in) = @_;
-
- my @out;
- my $level = 0;
- my $str = "";
- my @in = split(/([,()])/, $in);
-
- while ($#in > -1)
- {
- my $t = shift @in;
-
- next if ($t eq "");
- $level++ if ($t eq "(");
- $level-- if ($t eq ")");
-
- # skip , inside functions Ie. void (*)(int,int)
- if ( ($t eq ",") && !$level)
- {
- push(@out, $str);
- $str="";
- next;
- }
-
- $str .= $t;
- }
-
- push(@out,$str);
- return @out;
-}
-
-
-########################################
-### reads in the preprocessor files
-# we insert line and file directives for later stages
-# void read_file()
-sub read_file($$$)
-{
- my ($self, $srcdir, $source) = @_;
-
- my $line;
- my @in;
-
- if ( ! -r "${srcdir}/${source}.hg")
- {
- print "Unable to find header file $srcdir/$source.hg\n";
- exit(-1);
- }
-
- # Read header file:
- open(FILE, "${srcdir}/${source}.hg");
-# push(@in, "#f ${source}.hg\n"); #TODO: What does #f do?
- $line = 1;
- while (<FILE>)
- {
-# push(@in, "#l $line\n"); #TODO: What does #l do?
- push(@in, $_);
- $line++;
- }
- close(FILE);
- push(@in, "\n_SECTION(SECTION_SRC_CUSTOM)\n");
-
- # Source file is optional.
- if ( -r "${srcdir}/${source}.ccg")
- {
- open(FILE, "${srcdir}/${source}.ccg");
- $line = 1;
-# push(@in, "#f ${source}.ccg\n"); #TODO: What does #f do?
- while (<FILE>)
- {
-# push(@in, "#l $line\n"); #TODO: What does #l do?
- push(@in, $_);
- $line++;
- }
- close(FILE);
- }
-
- my $strIn = join("", @in);
-
- # Break the file into tokens. Token is
- # any group of #, A to z, 0 to 9, _
- # /*
- # *.
- # //
- # any char proceeded by \
- # symbols ;{}"`'()
- # newline
- @tokens = split(/(\#[lf] \S+\n)|([#A-Za-z0-9_]+)|(\/\*)|(\*\/)|(\/\/)|(\\.)|([;{}"'`()])|(\n)/,
- $strIn);
-}
-
-
-sub class_prefix($)
-{
- my ($self) = @_;
-
- my $str = $$self{class};
- $str =~ s/([a-z])([A-Z])/$1_$2/g;
- $str =~ tr/A-Z/a-z/;
- return $str;
-}
-
-
-######################################################################
-##### 2.1 subroutines for _WRAP
-
-########################################
-
-# $bool check_for_eof()
-sub check_for_eof($)
-{
- my ($self) = @_;
-
- my $filename = $$self{filename};
- my $line_num = $$self{line_num};
-
- if (!(scalar(@tokens)))
- {
- print STDERR "$filename:$line_num:hit eof in _WRAP\n";
- return 0; #EOF
- }
-
- return 1; # No EOF
-}
-
-# void on_wrap_method()
-sub on_wrap_method($)
-{
- my ($self) = @_;
- my $objOutputter = $$self{objOutputter};
-
- if( !($self->check_for_eof()) )
- {
- return;
- }
-
- my $filename = $$self{filename};
- my $line_num = $$self{line_num};
-
- my $str = $self->extract_bracketed_text();
- my @args = string_split_commas($str);
-
- my $entity_type = "method";
-
- if (!$$self{in_class})
- {
- print STDERR "$filename:$line_num:_WRAP macro encountered outside class\n";
- return;
- }
-
- my $objCfunc;
- my $objCppfunc;
-
- # handle first argument
- my $argCppMethodDecl = $args[0];
- if ($argCppMethodDecl =~ /^\S+$/ ) #Checks that it's not empty and that it contains no whitespace.
- {
- print STDERR "$filename:$line_num:_WRAP can't handle unspecified method $argCppMethodDecl\n";
- return;
- }
- else
- {
- #Parse the method decaration and build an object that holds the details:
- $objCppfunc = &Function::new($argCppMethodDecl, $self);
- }
-
-
- # handle second argument:
-
- my $argCFunctionName = $args[1];
- $argCFunctionName = string_trim($argCFunctionName);
-
- #Get the c function's details:
-
- #Checks that it's not empty and that it contains no whitespace.
- if ($argCFunctionName =~ /^\S+$/ )
- {
- #c-name. e.g. gtk_clist_set_column_title
- $objCfunc = GtkDefs::lookup_function($argCFunctionName);
-
- if(!$objCfunc) #If the lookup failed:
- {
- $objOutputter->output_wrap_failed($argCFunctionName, "method defs lookup failed (1)");
- return;
- }
- }
-
- # Extra stuff needed?
- $$objCfunc{deprecated} = "";
- my $deprecation_docs = "";
- my $ifdef;
- while(scalar(@args) > 2) # If the optional ref/err/deprecated arguments are there.
- {
- my $argRef = string_trim(pop @args);
- #print "debug arg=$argRef\n";
- if($argRef eq "refreturn")
- {
- $$objCfunc{rettype_needs_ref} = 1;
- }
- elsif($argRef eq "errthrow")
- {
- $$objCfunc{throw_any_errors} = 1;
- }
- elsif($argRef eq "constversion")
- {
- $$objCfunc{constversion} = 1;
- }
- elsif($argRef =~ /^deprecated(.*)/) #If deprecated is at the start.
- {
- $$objCfunc{deprecated} = "deprecated";
-
- if($1 ne "")
- {
- $deprecation_docs = string_unquote(string_trim($1));
- }
- }
- elsif($argRef =~ /^ifdef(.*)/) #If ifdef is at the start.
- {
- $ifdef = $1;
- }
- }
-
- my $commentblock = "";
- $commentblock = DocsParser::lookup_documentation($argCFunctionName, $deprecation_docs);
-
- $objOutputter->output_wrap_meth($filename, $line_num, $objCppfunc, $objCfunc, $argCppMethodDecl, $commentblock, $ifdef);
-}
-
-# void on_wrap_method_docs_only()
-sub on_wrap_method_docs_only($)
-{
- my ($self) = @_;
- my $objOutputter = $$self{objOutputter};
-
- if( !($self->check_for_eof()) )
- {
- return;
- }
-
- my $filename = $$self{filename};
- my $line_num = $$self{line_num};
-
- my $str = $self->extract_bracketed_text();
- my @args = string_split_commas($str);
-
- my $entity_type = "method";
-
- if (!$$self{in_class})
- {
- print STDERR "$filename:$line_num:_WRAP macro encountered outside class\n";
- return;
- }
-
- my $objCfunc;
-
- # handle first argument
- my $argCFunctionName = $args[0];
- $argCFunctionName = string_trim($argCFunctionName);
-
- #Get the c function's details:
-
- #Checks that it's not empty and that it contains no whitespace.
- if ($argCFunctionName =~ /^\S+$/ )
- {
- #c-name. e.g. gtk_clist_set_column_title
- $objCfunc = GtkDefs::lookup_function($argCFunctionName);
-
- if(!$objCfunc) #If the lookup failed:
- {
- $objOutputter->output_wrap_failed($argCFunctionName, "method defs lookup failed (1)");
- return;
- }
- }
-
- # Extra ref needed?
- while(scalar(@args) > 1) # If the optional ref/err arguments are there.
- {
- my $argRef = string_trim(pop @args);
- if($argRef eq "errthrow")
- {
- $$objCfunc{throw_any_errors} = 1;
- }
- }
-
- my $commentblock = "";
- $commentblock = DocsParser::lookup_documentation($argCFunctionName, "");
-
- $objOutputter->output_wrap_meth_docs_only($filename, $line_num, $commentblock);
-}
-
-sub on_wrap_ctor($)
-{
- my ($self) = @_;
- my $objOutputter = $$self{objOutputter};
-
- if( !($self->check_for_eof()) )
- {
- return;
- }
-
- my $filename = $$self{filename};
- my $line_num = $$self{line_num};
-
- my $str = $self->extract_bracketed_text();
- my @args = string_split_commas($str);
-
- my $entity_type = "method";
-
- if (!$$self{in_class})
- {
- print STDERR "$filename:$line_num:_WRAP_CTOR macro encountered outside class\n";
- return;
- }
-
- my $objCfunc;
- my $objCppfunc;
-
- # handle first argument
- my $argCppMethodDecl = $args[0];
- if ($argCppMethodDecl =~ /^\S+$/ ) #Checks that it's not empty and that it contains no whitespace.
- {
- print STDERR "$filename:$line_num:_WRAP_CTOR can't handle unspecified method $argCppMethodDecl\n";
- return;
- }
- else
- {
- #Parse the method decaration and build an object that holds the details:
- $objCppfunc = &Function::new_ctor($argCppMethodDecl, $self);
- }
-
-
- # handle second argument:
-
- my $argCFunctionName = $args[1];
- $argCFunctionName = string_trim($argCFunctionName);
-
- #Get the c function's details:
- if ($argCFunctionName =~ /^\S+$/ ) #Checks that it's not empty and that it contains no whitespace.
- {
- $objCfunc = GtkDefs::lookup_function($argCFunctionName); #c-name. e.g. gtk_clist_set_column_title
- if(!$objCfunc) #If the lookup failed:
- {
- $objOutputter->output_wrap_failed($argCFunctionName, "ctor defs lookup failed (2)");
- return;
- }
- }
-
- $objOutputter->output_wrap_ctor($filename, $line_num, $objCppfunc, $objCfunc, $argCppMethodDecl);
-}
-
-sub on_implements_interface($$)
-{
- my ($self) = @_;
-
- if( !($self->check_for_eof()) )
- {
- return;
- }
-
- my $filename = $$self{filename};
- my $line_num = $$self{line_num};
-
- my $str = $self->extract_bracketed_text();
- my @args = string_split_commas($str);
-
- # handle first argument
- my $interface = $args[0];
-
- # Extra stuff needed?
- my $ifdef;
- while(scalar(@args) > 1) # If the optional ref/err/deprecated arguments are there.
- {
- my $argRef = string_trim(pop @args);
- if($argRef =~ /^ifdef(.*)/) #If ifdef is at the start.
- {
- $ifdef = $1;
- }
- }
- my $objOutputter = $$self{objOutputter};
- $objOutputter->output_implements_interface($interface, $ifdef);
-}
-
-sub on_wrap_create($)
-{
- my ($self) = @_;
-
- if( !($self->check_for_eof()) )
- {
- return;
- }
-
- my $str = $self->extract_bracketed_text();
-
- my $objOutputter = $$self{objOutputter};
- $objOutputter->output_wrap_create($str, $self);
-}
-
-sub on_wrap_signal($)
-{
- my ($self) = @_;
-
- if( !($self->check_for_eof()) )
- {
- return;
- }
-
- my $str = $self->extract_bracketed_text();
- my @args = string_split_commas($str);
-
- #Get the arguments:
- my $argCppDecl = $args[0];
- my $argCName = $args[1];
- $argCName = string_trim($argCName);
- $argCName = string_unquote($argCName);
-
- my $bCustomDefaultHandler = 0;
- my $bNoDefaultHandler = 0;
- my $bCustomCCallback = 0;
- my $bRefreturn = 0;
- my $ifdef;
-
- while(scalar(@args) > 2) # If optional arguments are there.
- {
- my $argRef = string_trim(pop @args);
- if($argRef eq "custom_default_handler")
- {
- $bCustomDefaultHandler = 1;
- }
-
- if($argRef eq "no_default_handler")
- {
- $bNoDefaultHandler = 1;
- }
-
- if($argRef eq "custom_c_callback")
- {
- $bCustomCCallback = 1;
- }
-
- if($argRef eq "refreturn")
- {
- $bRefreturn = 1;
- }
-
- elsif($argRef =~ /^ifdef(.*)/) #If ifdef is at the start.
- {
- $ifdef = $1;
- }
- }
-
-
- $self->output_wrap_signal( $argCppDecl, $argCName, $$self{filename}, $$self{line_num}, $bCustomDefaultHandler, $bNoDefaultHandler, $bCustomCCallback, $bRefreturn, $ifdef);
-}
-
-# void on_wrap_vfunc()
-sub on_wrap_vfunc($)
-{
- my ($self) = @_;
-
- if( !($self->check_for_eof()) )
- {
- return;
- }
-
- my $str = $self->extract_bracketed_text();
- my @args = string_split_commas($str);
-
- #Get the arguments:
- my $argCppDecl = $args[0];
- my $argCName = $args[1];
- $argCName = string_trim($argCName);
- $argCName = string_unquote($argCName);
-
- my $refreturn = 0;
- my $refreturn_ctype = 0;
- my $ifdef = "";
-
- # Extra ref needed?
- while(scalar(@args) > 2) # If the optional ref/err arguments are there.
- {
- my $argRef = string_trim(pop @args);
-
- if($argRef eq "refreturn")
- { $refreturn = 1; }
- elsif($argRef eq "refreturn_ctype")
- { $refreturn_ctype = 1; }
- elsif($argRef =~ /^ifdef(.*)/) #If ifdef is at the start.
- {
- $ifdef = $1;
- }
- }
-
- $self->output_wrap_vfunc($argCppDecl, $argCName, $refreturn, $refreturn_ctype,
- $$self{filename}, $$self{line_num}, $ifdef);
-}
-
-sub on_wrap_enum($)
-{
- my ($self) = @_;
-
- return if(!$self->check_for_eof());
-
- my $outputter = $$self{objOutputter};
- my $out = \@{$$outputter{out}};
-
- # Look back for a Doxygen comment for this _WRAP_ENUM. If there is one,
- # remove it from the output and pass it to the m4 _ENUM macro instead.
- my $comment = "";
-
- if(scalar(@$out) >= 2)
- {
- # steal the last two tokens
- my @back = splice(@$out, -2);
- local $_ = $back[0];
-
- # Check for /*[*!] ... */ or //[/!] comments. The closing */ _must_
- # be the last token of the previous line. Apart from this restriction,
- # anything else should work, including multi-line comments.
-
- if($back[1] eq "\n" && (m#^/\*`[*!](.+)'\*/#s || m#^//`[/!](.+)'$#))
- {
- $comment = $1;
- $comment =~ s/\s+$//;
- }
- else
- {
- # restore stolen tokens
- push(@$out, @back);
- }
- }
-
- # get the arguments
- my @args = string_split_commas($self->extract_bracketed_text());
-
- my $cpp_type = string_trim(shift(@args));
- my $c_type = string_trim(shift(@args));
-
- # The remaining elements in @args could be flags or s#^FOO_## substitutions.
-
- $outputter->output_wrap_enum(
- $$self{filename}, $$self{line_num}, $cpp_type, $c_type, $comment, @args);
-}
-
-sub on_wrap_gerror($)
-{
- my ($self) = @_;
-
- return if(!$self->check_for_eof());
-
- # get the arguments
- my @args = string_split_commas($self->extract_bracketed_text());
-
- my $cpp_type = string_trim(shift(@args));
- my $c_enum = string_trim(shift(@args));
- my $domain = string_trim(shift(@args));
-
- # The remaining elements in @args could be flags or s#^FOO_## substitutions.
-
- $$self{objOutputter}->output_wrap_gerror(
- $$self{filename}, $$self{line_num}, $cpp_type, $c_enum, $domain, @args);
-}
-
-sub on_wrap_property($)
-{
- my ($self) = @_;
- my $objOutputter = $$self{objOutputter};
-
- if( !($self->check_for_eof()) )
- {
- return;
- }
-
- my $str = $self->extract_bracketed_text();
- my @args = string_split_commas($str);
-
- #Get the arguments:
- my $argPropertyName = $args[0];
- $argPropertyName = string_trim($argPropertyName);
- $argPropertyName = string_unquote($argPropertyName);
-
- #Convert the property name to a canonical form, as it is inside gobject.
- #Otherwise, gobject might not recognise the name,
- #and we will not recognise the property name when we get notification that the value changes.
- $argPropertyName =~ s/_/-/g; #g means replace all.
-
- my $argCppType = $args[1];
- $argCppType = string_trim($argCppType);
- $argCppType = string_unquote($argCppType);
-
- my $filename = $$self{filename};
- my $line_num = $$self{line_num};
-
- $objOutputter->output_wrap_property($filename, $line_num, $argPropertyName, $argCppType, $$self{c_class});
-}
-
-
-sub output_wrap_check($$$$$$)
-{
- my ($self, $CppDecl, $signal_name, $filename, $line_num, $macro_name) = @_;
-
- #Some checks:
-
-
- if (!$$self{in_class})
- {
- print STDERR "$filename:$line_num: $macro_name macro encountered outside class\n";
- return;
- }
-
- if ($CppDecl =~ /^\S+$/ ) #If it's not empty and it contains no whitespace.
- {
- print STDERR "$filename:$line_num:$macro_name can't handle unspecified entity $CppDecl\n";
- return;
- }
-
-
-}
-
-# void output_wrap($CppDecl, $signal_name, $filename, $line_num, $bCustomDefaultHandler, $bNoDefaultHandler, $bCustomCCallback, $bRefreturn)
-# Also used for vfunc.
-sub output_wrap_signal($$$$$$$$)
-{
- my ($self, $CppDecl, $signal_name, $filename, $line_num, $bCustomDefaultHandler, $bNoDefaultHandler, $bCustomCCallback, $bRefreturn, $ifdef) = @_;
-
- #Some checks:
- $self->output_wrap_check($CppDecl, $signal_name, $filename, $line_num, "WRAP_SIGNAL");
-
- # handle first argument
-
- #Parse the method decaration and build an object that holds the details:
- my $objCppSignal = &Function::new($CppDecl, $self);
- $$objCppSignal{class} = $$self{class}; #Remember the class name for use in Outputter::output_wrap_signal().
-
-
- # handle second argument:
- my $objCSignal = undef;
-
- my $objOutputter = $$self{objOutputter};
-
- #Get the c function's details:
- if ($signal_name ne "" ) #If it's not empty and it contains no whitespace.
- {
- $objCSignal = GtkDefs::lookup_signal($$self{c_class}, $signal_name);
-
- # Check for failed lookup.
- if($objCSignal eq 0)
- {
- print STDERR "$signal_name\n";
- $objOutputter->output_wrap_failed($signal_name,
- " signal defs lookup failed");
- return;
- }
- }
-
- $objOutputter->output_wrap_sig_decl($filename, $line_num, $objCSignal, $objCppSignal, $signal_name, $bCustomCCallback, $ifdef);
-
- if($bNoDefaultHandler eq 0)
- {
- $objOutputter->output_wrap_default_signal_handler_h($filename, $line_num, $objCppSignal, $objCSignal, $ifdef);
-
- my $bImplement = 1;
- if($bCustomDefaultHandler) { $bImplement = 0; }
- $objOutputter->output_wrap_default_signal_handler_cc($filename, $line_num, $objCppSignal, $objCSignal, $bImplement, $bCustomCCallback, $bRefreturn, $ifdef);
- }
-}
-
-# void output_wrap($CppDecl, $signal_name, $filename, $line_num)
-# Also used for vfunc.
-sub output_wrap_vfunc($$$$$$$$)
-{
- my ($self, $CppDecl, $vfunc_name, $refreturn, $refreturn_ctype, $filename, $line_num, $ifdef) = @_;
-
- #Some checks:
- $self->output_wrap_check($CppDecl, $vfunc_name, $filename, $line_num, "VFUNC");
-
- # handle first argument
-
- #Parse the method decaration and build an object that holds the details:
- my $objCppVfunc = &Function::new($CppDecl, $self);
-
-
- # handle second argument:
- my $objCVfunc = undef;
-
- my $objOutputter = $$self{objOutputter};
-
- #Get the c function's details:
- if ($vfunc_name =~ /^\S+$/ ) #If it's not empty and it contains no whitespace.
- {
- $objCVfunc = GtkDefs::lookup_signal($$self{c_class},$vfunc_name);
- if(!$objCVfunc) #If the lookup failed:
- {
- $objOutputter->output_wrap_failed($vfunc_name, " vfunc defs lookup failed");
- return;
- }
- }
-
- # Write out the appropriate macros.
- # These macros are defined in vfunc.m4:
-
- $$objCppVfunc{rettype_needs_ref} = $refreturn;
- $$objCppVfunc{name} .= "_vfunc"; #All vfuncs should have the "_vfunc" prefix, and a separate easily-named invoker method.
-
- $$objCVfunc{rettype_needs_ref} = $refreturn_ctype;
-
- $objOutputter->output_wrap_vfunc_h($filename, $line_num, $objCppVfunc, $objCVfunc,$ifdef);
- $objOutputter->output_wrap_vfunc_cc($filename, $line_num, $objCppVfunc, $objCVfunc, $ifdef);
-}
-
-# give some sort of weights to sorting attibutes
-sub byattrib()
-{
- my %attrib_value = (
- "virtual_impl" ,1,
- "virtual_decl" ,2,
- # "sig_impl" ,3,
- "sig_decl" ,4,
- "meth" ,5
- );
-
- # $a and $b are hidden parameters to a sorting function
- return $attrib_value{$b} <=> $attrib_value{$a};
-}
-
-
-# void on_wrap_corba_method()
-sub on_wrap_corba_method($)
-{
- my ($self) = @_;
- my $objOutputter = $$self{objOutputter};
-
- if( !($self->check_for_eof()) )
- {
- return;
- }
-
- my $filename = $$self{filename};
- my $line_num = $$self{line_num};
-
- my $str = $self->extract_bracketed_text();
- my @args = string_split_commas($str);
-
- my $entity_type = "method";
-
- if (!$$self{in_class})
- {
- print STDERR "$filename:$line_num:_WRAP macro encountered outside class\n";
- return;
- }
-
- my $objCfunc;
- my $objCppfunc;
-
- # handle first argument
- my $argCppMethodDecl = $args[0];
- if ($argCppMethodDecl =~ /^\S+$/ ) #Checks that it's not empty and that it contains no whitespace.
- {
- print STDERR "$filename:$line_num:_WRAP can't handle unspecified method $argCppMethodDecl\n";
- return;
- }
- else
- {
- #Parse the method decaration and build an object that holds the details:
- $objCppfunc = &Function::new($argCppMethodDecl, $self);
- }
-
- $objOutputter->output_wrap_corba_method($filename, $line_num, $objCppfunc);
-}
-
-
-1; # return package loaded okay.
diff --git a/libs/gtkmm2/ChangeLog b/libs/gtkmm2/ChangeLog
index 264762a992..53abb1ca9c 100644
--- a/libs/gtkmm2/ChangeLog
+++ b/libs/gtkmm2/ChangeLog
@@ -1,3 +1,855 @@
+2007-11-06 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * docs/reference/doxygen_to_devhelp.xsl: minor clean-up of the xsl file to
+ extract common stuff out to separate templates so we don't have so much
+ duplication in the 'as-func' and 'as-sub' templates
+
+2007-11-05 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * docs/reference/doxygen_to_devhelp.xsl: Fully-qualify functions in the
+ devhelp file so it's easy to see which class they belong to in the search
+ results (Bug #493999)
+
+2007-11-05 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * docs/reference/Makefile.am: clean up the makefile rules for building the
+ devhelp files a bit so that it gets rebuilt if the xsl stylesheet changes,
+ etc.
+ * docs/reference/doxygen_to_devhelp.xsl: Fix the devhelp XSL stylesheet so
+ that the functions link correctly (fixes Bug #488261)
+
+2007-11-05 Yevgen Muntyan <muntyan@tamu.edu>
+
+ * tools/extra_defs_gen/generate_defs_gtk.cc: Added ifdefs around the
+ unix-specific printer objects, to fix the build on Windows.
+
+2.12.2:
+
+2007-11-05 Murray Cumming <murrayc@murrayc.com>
+
+ * gtk/src/linkbutton.ccg:
+ * gtk/src/linkbutton.hg: Partially hand-code one of the
+ constructors, so it can pass the uri for the label too,
+ as in gtk_link_button_new(). Bug #492200 (Marko Anastasov).
+
+2007-11-04 Murray Cumming <murrayc@murrayc.com>
+
+ * gtk/src/widget.hg: Change a Style to Gtk::Style in
+ a signal, to fix the build on MacOS X. Bug #493057.
+ (Alberto Ruiz)
+ * tools/m4/convert_gtk.m4:
+ * gtk/src/style.hg: Moved some signal-specific conversions to
+ the .hg file, to avoid their misuse.
+
+2007-10-25 Murray Cumming <murrayc@murrayc.com>
+
+ * gtk/src/iconview.hg: set_cursor(): Actually implement this.
+
+This is the gtkmm-2-12 branch. See the svn trunk branch for gtkmm 2.13/14.
+
+2007-10-14 Marko Anastasov <marko@marko.anastasov.name>
+
+ * gdk/src/pixbuf.hg: Fixed build by correcting a typo for create()
+ from previous commit. Bug #486257 (Craig Keogh).
+
+2007-10-12 Armin Burgmeier <armin@openismus.com>
+
+ * gdk/gdkmmconfig.h.in:
+ * gtk/gtkmmconfig.h.in:
+ * configure.in: Added G{D,T}KMM_DISABLE_DEPRECATED defines to
+ g{d,t}kmmconfig.h so other code can check whether deprecated API is
+ available or not.
+
+ * gdk/src/pixbuf.hg:
+ * gdk/src/pixbuf.ccg: Fixed build with deprecated API disabled.
+
+ * gtk/src/tooltips.hg:
+ * gtk/src/combo.hg:
+ * gtk/src/textview.hg:
+ * gtk/src/optionmenu.hg:
+ * gtk/src/toolbar.hg:
+ * gtk/src/inputdialog.hg:
+ * gtk/src/treeview.hg:
+ * gtk/src/style.hg:
+ * gtk/src/toolitem.hg:
+ * gtk/src/textbuffer.hg:
+ * gtk/src/treepath.hg:
+ * gtk/src/treesortable.hg:
+ * gtk/src/progress.hg:
+ * gtk/src/treeviewcolumn.hg:
+ * gtk/src/fileselection.hg:
+ * gdk/src/colormap.hg:
+ * gdk/src/color.hg: Use the new _CONFIGINCLUDE m4 macro in glibmm to
+ include gtkmmconfig.h before the #ifdef GTKMM_DISABLE_DEPRECATED at
+ the top of the file so that the define is actually present when other
+ code includes one of these files directly. Note this requires glibmm
+ from SVN to generate the source files (though building the sources
+ should still work with 2.14.1).
+
+2.12.1:
+
+2007-10-04 Murray Cumming <murrayc@murrayc.com>
+
+ * gtk/src/printoperation.hg: Add a custom conversion for the
+ signals that use PrintContext, to fix a reference-counting
+ problem that caused crashes when printing or showing a
+ print preview.
+ Note that this was removed mistakenly on 2007-07-14
+ (appearing in 2.11.4) so gtkmm 2.10 does not have this problem.
+
+ * tools/m4/convert_atk.m4:
+ * tools/m4/convert_gdk.m4:
+ * tools/m4/convert_gtk.m4:
+ * atk/src/hypertext.hg:
+ * atk/src/table.hg:
+ * gdk/src/displaymanager.hg:
+ * gtk/src/inputdialog.hg:
+ * gtk/src/style.hg:
+ * gtk/src/textbuffer.hg:
+ * gtk/src/widget.hg: Move all signal-specific conversions to
+ the .hg files where they are used, to make this clearer.
+
+2.12.0:
+
+2007-09-10 Murray Cumming <murrayc@murrayc.com>
+
+ * gdk/src/gdk_docs_override.xml:
+ * gdk/src/window.hg:
+ * gtk/src/builder.hg:
+ * gtk/src/celllayout.hg:
+ * gtk/src/filechooser.hg:
+ * gtk/src/iconinfo.ccg:
+ * gtk/src/pagesetup.hg:
+ * gtk/src/printsettings.hg:
+ * gtk/src/recentchooser.hg: Dealt with some simple TODO:
+ mostly documentation.
+
+2007-09-10 Murray Cumming <murrayc@murrayc.com>
+
+ * gtk/src/recentaction.ccg:
+ * gtk/src/recentaction.hg: Make the constructors use the same
+ parameter order as the other action classes. Remove the comment
+ about the default constructor, now that the GTK+ C documentation
+ is clearer in bug #450032.
+ * gtk/src/action.hg:
+ * gtk/src/radioaction.hg:
+ * gtk/src/toggleaction.hg: Deprecate the default constructors,
+ because they cannot work. We could maybe remove them, but maybe
+ they are used in the build of some applications, but never used
+ at runtime.
+ Added default values for the StockID parameters, now that we
+ know that we know that this is OK - see bug #450032.
+
+2.11.8:
+
+2007-08-31 Murray Cumming <murrayc@murrayc.com>
+
+ * docs/tutorial/gtkmm-tut.xml: DrawingArea: Corrected a mention of
+ PixBuf to Pixbuf. Bug #465961 (Jonathan Jongsma).
+
+2007-08-29 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * gdk/gdkmm/general.cc, gdk/gdkmm/general.h: deprecate cairo helper
+ functions and added new overloaded functions that take *const*
+ RefPtr<Cairo::Context>& parameters.
+ Also renamed the new rectangle() and region() functions per the TODO in the
+ source file. The new names are add_rectangle_to_path() and
+ add_region_to_path()
+
+2.11.7:
+
+2007-08-16 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * docs/reference/gtkmm_footer.html_fragment,
+ docs/reference/gtkmm_header.html_fragment: add <div> to make it easier to
+ incoporate the documentation into library.gnome.org, per a request by
+ Frederic Peters
+
+2007-08-13 Daniel Elstner <danielk@openismus.com>
+
+ * gtk/src/iconview.hg: Remove stray semicolon.
+ * gtk/src/printer.hg: Likewise.
+ * gtk/src/tooltip.ccg: Remove /* inside comment.
+
+ * gtk/src/builder.ccg (get_type_from_name_vfunc_callback):
+ Remove unused argument names to avoid compiler warnings.
+ * examples/book/printing/advanced/previewdialog.cc: ditto,
+ * examples/book/tooltips/examplewindow.cc: ditto.
+
+2.11.6:
+
+2007-07-30 Marko Anastasov <marko@marko.anastasov.name>
+
+ * .cvsignore: Updated, along with all other, and added some
+ where missing.
+
+2007-07-29 Marko Anastasov <marko@marko.anastasov.name>
+
+ * gtk/src/treeview.[ccg|hg]:
+ * gtk/src/iconview.[ccg|hg]: Modified get_tooltip_context_iter()
+ and get_tooltip_context_path() implementations to use local
+ structs/objects to pass to the C function instead of
+ unguaranteed pointers. Added doxygen documentation for these
+ functions in both classes.
+
+2007-07-29 Marko Anastasov <marko@marko.anastasov.name>
+
+ * gtk/src/treeview.[ccg|hg]:
+ * gtk/src/iconview.[ccg|hg]: Added get_tooltip_context_path()
+ and get_tooltip_context_iter(). They are wrappers for
+ gtk_tree/icon_view_get_tooltip_context().
+
+2007-07-29 Murray Cumming <murrayc@murrayc.com>
+
+ * gtk/src/gtk_docs_override.xml: Corrected the documentation for
+ gtk_toolbar_set_icon_size() and gtk_toolbar_unset_icon_size() to
+ use the correct Since:.
+ * gtk/src/papersize.ccg:
+ * gtk/src/papersize.hg: save_to_key_file(): Removed the default
+ group_name parameter value and added an overload instead.
+ * gtk/src/printer.hg: Added some documentation.
+ * gtk/src/printjob.hg: Added a const version of get_surface()
+ and added documentation for send().
+ * gtk/src/printsettings.ccg:
+ * gtk/src/printsettings.hg: Corrected the typedef for SlotForeach -
+ the ustring&s should be const. I do not believe that anybody could
+ have been using this, so I think it is OK to change it.
+ * gtk/src/textmark.hg: Added documentation for constructors and
+ create() methods.
+ * gtk/src/volumebutton.hg: Added documentation for the constructor.
+
+ * pango/src/fontface.hg: Added documentation for list_sizes().
+ * pango/src/renderer.hg: Added class documentation.
+
+2007-07-29 Murray Cumming <murrayc@murrayc.com>
+
+ * gdk/src/pixbuf.hg: Document the old
+ create() methods as deprecated. Added documentation for
+ the new create() methods.
+ * gdk/src/screen.hg: Correct the const version for
+ get_font_options().
+ * gtk/src/builder.hg: Added documentation for the
+ create methods.
+ * gtk/src/gtk_docs_override.xml: Corrected the
+ documentation for gtk_icon_theme_lookup_icon().
+ * gtk/src/linkbutton.hg:
+ * gtk/src/linkbutton.ccg: Added set_uri_hook()
+ and unset_uri_hook().
+ * gtk/src/papersize.hg:
+ * gtk/src/papersize.ccg: Added operator bool() so
+ that return values can be checked.
+
+2007-07-29 Marko Anastasov <marko@marko.anastasov.name>
+
+ * gtk/src/tooltip.hg: Added class documentation based on GTK+ docs.
+
+2007-07-29 Marko Anastasov <marko@marko.anastasov.name>
+
+ * configure.in:
+ * examples/book/Makefile.am:
+ * examples/book/tooltips/Makefile.am:
+ * examples/book/tooltips/examplewindow.[cc|h]:
+ * examples/book/tooltips/main.cc: Added an example for the new
+ tooltips API.
+
+2007-07-29 Marko Anastasov <marko@marko.anastasov.name>
+
+ * gtk/src/gtk_docs_override.xml: Corrected mismatched tag
+ for PageSetup::save_to_file().
+
+2007-07-28 Murray Cumming <murrayc@murrayc.com>
+
+ * gtk/src/gtk_docs_override.xml: Corrected the
+ documentation for
+ AboutDialog::get_program_name(), get_website_label(),
+ CellLayout::get_cells(),
+ EntryCompletion::get_completion_prefix(),
+ IconTheme::choose_icon(), list_contexts(),
+ IconView::set_tooltip_cell(), set_tooltip_item(),
+ PageSetup::save_to_file(),
+ PrinterSettings::save_to_file(), request_details(),
+ Widget::error_bell(), get_tooltip_markup(),
+ get_tooltip_text(),
+ * gtk/src/iconview.hg: Added a set_tooltip_cell() method
+ overload without the cell parameter.
+ * gtk/src/settings.hg: Added new properties:
+ gtk-modules, gtk-cursor-theme-name,
+ gtk-cursor-theme-size, gtk-alternative-button-order,
+ gtk-alternative-sort-arrows, gtk-show-input-method-menu,
+ gtk-show-unicode-menu, gtk-timeout-initial,
+ gtk-timeout-repeat, gtk-timeout-expand,
+ gtk-color-scheme, gtk-enable-animations,
+ gtk-touchscreen-mode, gtk-tooltip-timeout,
+ gtk-tooltip-browse-timeout, gtk-tooltip-browse-mode-timeout,
+ gtk-keynav-cursor-only, gtk-keynav-wrap-around,
+ gtk-error-bell, gtk-color-hash,
+ gtk-file-chooser-backend, gtk-print-backends,
+ gtk-print-preview-command, gtk-enable-mnemonics,
+ gtk-enable-accels, gtk-recent-files-limit.
+
+2007-07-28 Murray Cumming <murrayc@murrayc.com>
+
+ * gtk/src/builder.hg: Removed get_type_from_name() because it
+ seems only useful when implementing GTK+ widgets.
+ * gtk/src/gtk_docs_override.xml: Corrected the
+ gtk_page_setup_to_key_file() and gtk_print_settings_to_key_file()
+ documentation.
+ * gtk/src/pagesetup.ccg:
+ * gtk/src/pagesetup.hg: Added a save_to_key_file() method
+ overload without the group parameter.
+ * gtk/src/printsettings.ccg:
+ * gtk/src/printsettings.hg: Renamed to_key_file() to save_to_key_file()
+ and to_file() to save_to_file(). Added a save_to_key_file() method
+ overload without the group parameter.
+ * gtk/src/scalebutton.hg: Use IconSize instead of GtkIconSize
+ for the constructor parameter.
+ * gtk/src/widget.hg: Added a @see unset_cursor() to the
+ documentation.
+ Thanks to Jonathan Jongsma for the API review.
+
+2007-07-22 Murray Cumming <murrayc@murrayc.com>
+
+ * tools/extra_defs_gen/generate_defs_gtk.cc:
+ * gtk/src/gtk_signals.defs: Added GtkScaleButton, GtkVolumeButton
+ and GtkRecentAction.
+ * gtk/src/gtk_methods.defs: Regenerated with h2defs.py.
+
+ * gdk/src/pixbuf.ccg:
+ * gdk/src/pixbuf.hg: Added constructors that do not take dest_x
+ and dest_y (which are ignored in this case), and deprecated those old
+ constructors. Added constructors that do not take a colormap, because
+ that is optional.
+ get_formats(): Corrected the reference counting.
+ * gdk/src/screen.hg:
+ * tools/m4/convert_gtk.m4:
+ * gtk/src/iconview.hg: set_tooltip_item(), set_tooltip_cell():
+ Use Tooltip only via a RefPtr.
+ * gtk/src/menushell.hg: Added move_selected signal.
+
+ * gtk/src/textview.hg:
+ * gtk/src/scalebutton.hg: Ignore key-bindings signals.
+
+ * gtk/src/tooltip.hg: Added set_tip_area().
+ * gtk/src/treeview.hg: Added convert_widget_to_tree_coords(),
+ convert_tree_to_widget_coords(), convert_widget_to_bin_window_coords(),
+ convert_bin_window_to_widget_coords(), convert_tree_to_bin_window_coords(),
+ convert_bin_window_to_tree_coords(),
+ set_tooltip_row(), set_tooltip_cell(), set_tooltip_column(),
+ get_tooltip_column().
+ * gtk/src/widget.hg: Added keynav_failed(), error_bell(),
+ modify_cursor(), unset_cursor(),
+ set_has_tooltip(), get_has_tooltip().
+
+2.11.5:
+
+2007-07-21 Murray Cumming <murrayc@murrayc.com>
+
+ * gdk/src/gdk_docs.xml:
+ * pango/src/pango_docs.xml:
+ * gtk/src/gtk_docs.xml: Regenerated with docextract_to_xml.py.
+ * pango/src/pango_methods.defs: Regenerated with h2defs.py.
+
+ * pango/src/color.hg: Added to_string().
+ * pango/src/cairofontmap.hg: Added get_font_type().
+ * gdk/src/screen.hg: Added is_composited(), set_font_options(),
+ get_font_options(), set_resolution(), get_resolution(),
+ get_active_window()
+
+ * gtk/src/combobox.hg:
+ * gtk/src/filechooserbutton.hg:
+ * gtk/src/notebook.hg: Ignored some new key-binding signals.
+
+ * gtk/src/iconview.hg: Added set_tooltip_item() and
+ set_tooltip_cell().
+ * tools/m4/convert_gtk.m4: Added necessary new conversions.
+
+ * gtk/src/textbuffer.hg: Commented out the copy-target-list
+ and paste-target-list properties for now, with a TODO, because I fear
+ that the reference-counting might not be correct.
+
+2007-07-20 Marko Anastasov <marko@marko.anastasov.name>
+
+ * gtk/src/textbuffer.hg: Wrapped cursor-position, copy-target-list
+ and paste-target-list properties from GTK+ 2.10.
+
+2007-07-14 Murray Cumming <murrayc@murrayc.com>
+
+ * tools/extra_defs_gen/generate_defs_gtk.cc: Mention the GtkPrint*
+ classes so that signal/property .defs are generated for these.
+ * gdk/src/Makefile.am:
+ * gdk/src/gdk_pixbuf_enums.defs: Added this instead of pasting it
+ into gdk_enums.defs.
+ * gdk/src/gdk.defs:
+ * gdk/src/gdk_enums.defs:
+ * gdk/src/gdk_methods.defs:
+ * gtk/src/gtk_enums.defs:
+ * gtk/src/gtk_methods.defs:
+ * gtk/src/gtk_signals.defs: Regenerated, with h2defs.py, enums.pl,
+ and generate_extra_defs.
+ * gtk/src/gtk_others.defs: Move the hand-written GtkPrintOperationPreview
+ signal defs to here instead of having them in gtk_signals.defs where they
+ will be overwritten when it's regenerated.
+ * gtk/src/iconview.hg: Added convert_widget_to_bin_window_coords().
+ * gtk/src/papersize.hg: Commented out get_paper_sizes() until I
+ figure out the build break.
+ * gtk/src/statusicon.hg: Added set_screen() and get_screen().
+
+ * pango/src/pango_enums.defs:
+ * pango/src/pango_methods.defs: Regenerated.
+ * tools/m4/convert_pango.m4: New conversions.
+ * pango/src/context.hg: Added GravityHint enum.
+ Added set_base_gravity(), get_base_gravity(), get_gravity(),
+ set_gravity_hint(), get_gravity_hint().
+ * pango/src/fontdescription.hg: Added Gravity enum.
+ Added set_gravity() and get_gravity().
+ * pango/src/fontface.hg: Added is_synthesized().
+ * pango/src/glyphstring.hg: Added get_width().
+ * pango/src/layout.hg: Added is_wrapped(), is_ellipsized() and
+ get_unknown_glyphs_count().
+ Reimplemented the const get_line() and get_lines() methods with
+ the (faster) *_read_only() C functions.
+
+2007-07-13 Murray Cumming <murrayc@murrayc.com>
+
+ * gtk/src/tooltips.hg: Deprecated in favour of the various
+ set_tooltip_text() and set_tooltip_markup() methods, and the new
+ Gtl::Tooltip class.
+ * gtk/src/menutoolbutton.hg: Added set_arrow_tooltip_text() and
+ set_arrow_tooltip_markup(). Deprecated set_arrow_tooltip().
+ * gtk/src/toolitem.ccg:
+ * gtk/src/toolitem.hg: Deprecated signal_set_tooltip.
+ * examples/book/eventbox/examplewindow.cc:
+ * examples/book/eventbox/examplewindow.h:
+ * examples/book/toolbar/examplewindow.cc:
+ Replace use, or mention, of the deprecated Gtk::Tooltips class.
+
+2007-07-12 Murray Cumming <murrayc@murrayc.com>
+
+ * gtk/src/toolbar.ccg:
+ * gtk/src/toolbar.hg: get_tooltips_object(): Reimplement
+ to fix the build because GTK+ broke the API of GtkTooltips::tooltips
+ (renaming it to GtkTooltips::_tooltips). I think I read that they
+ will change it back before a stable release.
+ Deprecated get_tooltips_object().
+
+2007-07-03 Johannes Schmid <johannes.schmid@openismus.com>
+
+ * gtk/src/uimanager.hg:
+ Added class documentation based on GTK+
+
+2007-07-03 Murray Cumming <murrayc@murrayc.com>
+
+ * gtk/src/treeview.hg: Added is_rubber_banding_active().
+
+2007-07-02 Murray Cumming <murrayc@murrayc.com>
+
+ * docs/reference/Doxyfile.in: Correct the ALIASES for newin2p*.
+ * gtk/src/builder.hg:
+ * gtk/src/cellrendererprogress.hg:
+ * gtk/src/cellrendererspin.hg:
+ * gtk/src/recentaction.hg:
+ * gtk/src/scalebutton.hg:
+ * gtk/src/volumebutton.hg: Use newin2p12.
+
+2.11.4:
+
+2007-06-30 Johannes Schmid <johannes.schmid@openismus.com>
+
+ * gtk/src/action.hg:
+ * gtk/src/assistant.hg:
+ * gtk/src/builder.hg:
+ * gtk/src/cellrendereraccel.hg:
+ * gtk/src/cellrendererspin.hg:
+ * gtk/src/entrycompletion.hg:
+ * gtk/src/filefilter.hg:
+ * gtk/src/linkbutton.hg:
+ * gtk/src/radioaction.hg:
+ * gtk/src/recentaction.hg:
+ * gtk/src/scalebutton.hg:
+ * gtk/src/settings.hg:
+ * gtk/src/toggleaction.hg:
+ * gtk/src/volumebutton.hg:
+ * gtk/src/window.hg:
+
+ Fixed class documentation
+
+2007-06-30 Marko Anastasov <marko@marko.anastasov.name>
+
+ * gtk/src/tooltip.[hg|ccg]:
+ * gtk/src/widget.[hg|ccg]: New files and functions, properties and signal
+ of the new tooltips API.
+ * gtk/gtkmm.h: Include tooltip.h.
+ * gtk/src/gtk_signals.defs: Added query_tooltip signal for Widget.
+ * gtk/src/Makefile_list_of_hg.am_fragment: Include tooltip.hg in build.
+ * tools/m4/convert_gtk.m4: Added conversions between GtkTooltip*
+ and Glib::RefPtr<Gtk::Tooltip>.
+ * tools/extra_defs_gen/generate_defs_gtk.cc: Generate defs for Tooltip.
+
+2007-06-26 Murray Cumming <murrayc@murrayc.com>
+
+ * examples/book/builder/basic/basic.ui:
+ * examples/book/builder/basic/main.cc:
+ * examples/book/builder/derived/basic.ui:
+ * examples/book/builder/derived/main.cc:
+ Convert the libglade .glade files to GtkBuilder .ui files,
+ with gtk-builder-convert script from GTK+.
+ * gtk/src/builder.ccg:
+ * gtk/src/builder.hg: Addded create_from_file() and create_from_string(),
+ as conveniences. Changed the add_from_file() parameter to a std::string,
+ as all filenames should be, because their encoding is unknown.
+ Added a add_from_string() version that accepts a simple std::string.
+
+2007-06-24 Murray Cumming <murrayc@murrayc.com>
+
+ * gtk/src/gtk_enums.defs: Regenerated with enums.pl
+ * gtk/src/gtk_methods.defs: Regenerated with h2defs.py.
+
+ * gtk/src/Makefile_list_of_hg.am_fragment:
+ * gtk/src/builder.ccg:
+ * gtk/src/builder.hg: Added wrapper for GtkBuilder, taking code from
+ libglademm so that it instantiates derived GTypes by using the vfunc,
+ and has templated get_widget() and get_widet_derived() methods.
+ * gtk/gtkmm.h: Added builder.h
+
+ * configure.in:
+ * examples/book/builder/basic/
+ * examples/book/builder/derived/
+ Added GtkBuilder versions of the libgladem examples. These will not
+ work until I find the script to conver the glade files to GtkBuilder
+ files, or find a UI editor that creates GtkBuilder files.
+
+2007-06-22 Murray Cumming <murrayc@murrayc.com>
+
+ * gtk/src/recentaction.hg: Constuctor and create():
+ Added default values for the tooltips and stock_id paramters,
+ though I think none of these should need to specified.
+ See bug #450032.
+ * gtk/gtkmm.h: Added recentaction.h
+ * examples/book/recent_files/examplewindow.cc: Used the RecentAction to
+ create a sub-menu.
+
+2007-06-22 Murray Cumming <murrayc@murrayc.com>
+
+ * examples/book/treeview/editable_cells/examplewindow.cc:
+ * examples/book/treeview/editable_cells/examplewindow.h:
+ Added comments about using CellRendererSpin or CellRendererProgress here.
+ I tested the new CellRendererSpin here and it works.
+
+2.11.3:
+
+2007-06-10 Kalle Vahlman <zuh@iki.fi>
+
+ * tests/property_notification/main.cc: #ifdef out the use of the regular property API
+ if properties are disabled.
+
+2007-02-10 Murray Cumming <murrayc@murrayc.com>
+
+ * gdk/src/types.hg: Add ListHandle_AtomString intermediate container
+ type.
+ * gdk/src/dragcontext.ccg:
+ * gdk/src/dragcontext.hg: get_targets(),
+ * gtk/src/selectiondata.hg:
+ * gtk/src/selectiondata.ccg: get_targets(): Use ListHandle_AtomString with appropriate
+ ownership instead of the current faulty code. This changes the return type, and
+ therefore changes the API and ABI of this method, but it is not possible that
+ anyone was using these functions until now, due to the brokenness.
+ Bug #399403 (Yannick Guesnet)
+
+2007-06-10 Murray Cumming <murrayc@murrayc.com>
+
+ * gtk/src/action.ccg:
+ * gtk/src/action.hg: Added create_menu().
+ * gtk/src/printer.hg: Added list_papers().
+
+ * docs/tutorial/gtkmm-tut.xml: In the gmmproc chapter, mention the optional text
+ for the _WRAP_METHOD() deprecated parameter.
+
+2007-06-10 Murray Cumming <murrayc@murrayc.com>
+
+ * gtk/gtkmm/treemodelcolumn.h: Added a comment about the difficulty of using
+ a static instance.
+ * gtk/src/notebook.hg: Added const versions of get_n_pages() and page_num(),
+ deprecating the non-const methods. Bug #442284 (Tomasz Ostrowski).
+ * gtk/src/scalebutton.hg: Use refresult instead of refreturn. Maybe gmmproc
+ should not ignore unknown options.
+
+2007-06-10 Murray Cumming <murrayc@murrayc.com>
+
+ * gtk/src/scalebutton.hg: Added the constructor now that
+ gtk_scale_button_new() has been fixed in GTK+.
+
+2007-06-09 Murray Cumming <murrayc@murrayc.com>
+
+ * gtk/src/cellrendererprogress.hg: Added pulse, text-xalign, and
+ text-yalign properties.
+ * gtk/src/entrycompletion.hg:
+ * gtk/src/entrycompletion.ccg: Added set_inline_selection(),
+ and get_inline_selection().
+ Added cursor_on_match signal, though without a default signal
+ handlers, to preserve ABI.
+ Added inline-selection property.
+ * gtk/src/range.hg: Added set_show_fill_level(), get_show_fill_level(),
+ set_restrict_to_fill_level(), get_restrict_to_fill_level(),
+ set_fill_level(), get_fill_level().
+ Added show-fill-level, restrict-to-fill-level, and
+ fill-level properties.
+ * gtk/src/texttag.hg: Added paragraph-background,
+ paragraph-background-gdk, paragraph-background-set,
+ accumulative-margin properties.
+ * gtk/src/treeview.hg: Added set_show_expanders(), get_show_expanders(),
+ set_level_indentation(), get_level_indentation().
+
+2007-06-09 Murray Cumming <murrayc@murrayc.com>
+
+ * gtk/src/Makefile_list_of_hg.am_fragment:
+ * gtk/src/recentaction.ccg:
+ * gtk/src/recentaction.hg: Added RecentAction.
+ * gtk/src/scalebutton.ccg:
+ * gtk/src/scalebutton.hg: Added ScaleButton.
+ * gtk/src/volumebutton.ccg:
+ * gtk/src/volumebutton.hg: Added VolumeButton.
+
+2007-06-09 Murray Cumming <murrayc@murrayc.com>
+
+ * gtk/gtkmm/stock.cc:
+ * gtk/gtkmm/stock.h: Added DISCARD, ORIENTATION_PORTRAIT,
+ ORIENTATION_LANDSCAPE, ORIENTATION_REVERSE_LANDSCAPE,
+ ORIENTATION_REVERSE_PORTRAIT, SELECT_ALL
+
+2007-06-06 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * docs/tutorial/gtkmm-tut.xml: updated the internationalization section
+ slightly, prompted by some discussion / criticism on gtkmm-list. There's
+ probably more that could be done here still. I mostly worked on the wording
+ to make it flow a bit better and added a bit more explanatory text.
+
+2.11.2:
+
+2007-06-04 Murray Cumming <murrayc@murrayc.com>
+
+ * docs/tutorial/gtkmm-tut.xml: gmmproc appendix: Added documentation
+ on constructors, create() methods, _CONSTRUCT(), and some hints about
+ wrapping GList* and GSList* parameters.
+ Bug #350870. (Paul Davis and Johannes Schmid)
+
+ * docs/reference/Doxyfile.in: Added newin2p12 tag, for marking API
+ as new since 2.12.
+
+ * gdk/src/gdk_methods.defs:
+ * gtk/src/gtk_methods.defs: Regenerated with h2defs.py
+
+ * gdk/src/display.hg: Added supports_shapes(), supports_input_shapes(),
+ supports_composite().
+ * gdk/src/window.hg: Added set_composited(), input_shape_combine_mask(),
+ input_shape_combine_region(), set_child_input_shapes(),
+ merge_child_input_shapes(), get_type_hint(), set_startup_id(), beep(),
+ set_opacity().
+ * gtk/src/aboutdialog.hg: Added set/get_program_name() and deprecated
+ set/get_name().
+ * gtk/src/celllayout.hg: Added get_cells().
+ * gtk/src/entry.hg: Added set_cursor_hadjustment(), get_cursor_hadjustment().
+ * gtk/src/icontheme.hg: Added choose_icon(), list_contexts().
+ * gtk/src/notebook.hg: Added set/get_group() and deprecated set/get_group_id().
+ * gtk/src/pagesetup.hg: Added to_file(), to_key_file().
+ * gtk/src/papersize.hg: Added get_paper_sizes().
+ * gtk/src/printer.hg: Added has_details(), request_details(),
+ get_capabilities().
+ * gtk/src/printsettings.hg: Added to_file(), to_key_file().
+ * gtk/src/textbuffer.hg: Added add_mark().
+ * gtk/src/textmark.ccg:
+ * gtk/src/textmark.hg: Added constructor and create() method, though these
+ are usually created via TextBuffer.
+ * gtk/src/toolbar.hg: Added set_icon_size(), unset_icon_size().
+ * gtk/src/window.hg: Added set_opacity(), get_opacity().
+ Added transient_for, and opacity properties.
+
+2007-05-26 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * gtk/src/gtk_docs_override.xml: update documentation for some FileChooser
+ methods which incorrectly stated that the returned list of strings needs to
+ be freed with Glib::free()
+
+2.11.1:
+
+2007-05-23 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * docs/tutorial/gtkmm-tut.xml: renamed the gmmproc appendix to "Wrapping C
+ Libraries with gmmproc" so that it shows up better in google searches for
+ 'gmmproc'
+
+2007-05-09 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * docs/tutorial/gtkmm-tut.xml: Another big set of changes to improve pdf
+ output. I shortened a lot of the <programlisting> code in the docbook
+ document so that things will fit on a printed page / pdf document. In
+ addition, a lot of little changes were made to reduce a lot of unnecessary
+ whitespace in the generated PDF (e.g. don't wrap <programlisting> or
+ <itemizedList> elements in empty <para> tags, etc). This has the advantage
+ of streamlining the markup as well. I didn't make it all of the way through
+ the document, will clean up more in the future.
+ * examples/book/drag_and_drop/dndwindow.h: shorten another long line in this
+ example so that when it's included into the tutorial it fits on a page
+
+2007-05-09 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * examples/book/comboboxentry/complex/examplewindow.cc: accidentally broke
+ the build on this example when reducing the line length
+
+2007-05-08 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * docs/tutorial/Makefile.am: add a 'pdf' target so that we can build a pdf
+ version of the tutorial more easily. Also fixed the command for the
+ 'validate' targets and a couple other minor cleanups.
+
+2007-05-08 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * examples/book/*: modified all of the book examples to make all lines 80
+ characters long or less. This makes it so that the examples have a chance
+ of fitting on the page of a printed pdf version of the tutorial book
+
+2007-05-08 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * docs/tutorial/gtkmm-tut.xml: LOTS of changes to the tutorial to get it to
+ validate against the docbook DTD. This was necessary because if the xml
+ wasn't valid then we couldn't use tools such as docbook2pdf to generate a
+ pdf version of the tutorial. Most of the changes involved things such as
+ adding <para> elements inside of <note> and <listitem> elements (since these
+ elements can't old raw character data, but <para> can). Also defined some
+ entities such as &uuml; in ways that xml validators find acceptable, and a
+ few other things. I have not yet created a makefile rule to build a pdf
+ automatically (or at least more easily), but I will do that soon.
+
+2007-05-07 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * examples/book/custom/custom_widget/mywidget.cc,h: Update the custom widget
+ example to use cairo-based drawing instead of the old GDK drawing functions.
+
+2007-05-03 Murray Cumming <murrayc@murrayc-desktop>
+
+ * docs/tutorial/gtkmm-tut.xml: Basics: Split part of the example section into
+ a Headers and Linking section, with slightly fuller information.
+ libglademm section: Describe what you need to include and link for libglademm,
+ and link back to the basics section that I just created.
+
+2007-05-01 Johannes Schmid <jhs@gnome.org>
+
+ * gtk/src/style.hg:
+ Wrap gtk_style_attach() and gtk_style_detach().
+ Bug #351336
+
+2007-05-01 Johannes Schmid <jhs@gnome.org>
+
+ * gtk/src/window.hg: Added static set_default_icon_name() method,
+ wrapping gtk_window_set_default_icon_name().
+ Bug #364395 (Yuriy Syrota)
+
+2007-05-01 Johannes Schmid <jhs@gnome.org>
+
+ * gtk/src/calendar.hg
+ * gtk/src/calendar.ccg
+ Bug #350584 – Calendar::get_date() method using Glib::Date
+
+2007-05-01 Murray Cumming <murrayc@murrayc.com>
+
+ * gtk/src/gtk_signals.defs: Adjust the GtkStatusIcon::popup_menu signal
+ definition, because the GType parameter system can not distinguish between
+ guint and guint32 (There is no G_TYPE_UINT32).
+ * gtk/src/statusicon.hg: Add signals for the GtkStatusIcon activate and
+ popup_menu signals. See the comment in the code about these not being
+ public API, but we are adding them anyway because they seem necessary,
+ and we cannot get an answer out of the GTK+ maintainers.
+ Bug #
+
+2007-05-01 Murray Cumming <murrayc@murrayc.com>
+
+ * gtk/src/statusicon.ccg:
+ * gtk/src/statusicon.hg: Added popup_menu_at_position(), as an equivalent for
+ the gtk_status_icon_position_menu() helper callback.
+ Bug #392948 (Jan Niklas Hasse)
+
+2007-05-01 Murray Cumming <murrayc@murrayc.com>
+
+ * gtk/src/window.hg: Added set_accept_focus(), get_accept_focus(),
+ set_focus_on_map() and get_focus_on_map().
+ Bug #421936
+
+This is the trunk branch for gtkmm 2.11/12.
+
+2.10.10:
+
+2007-04-30 Johannes Schmid <johannes.schmid@openismus.com>
+
+ * gtk/src/combo.hg:
+ * gtk/src/fileselection.hg:
+ * gtk/src/optionmenu.hg:
+ * gtk/src/progress.hg:
+
+ Use _IS_DEPRECATED instead of _DEPRECATED to sync with
+ glibmm HEAD.
+
+2007-04-24 Yselkowitz <yselkowitz@users.sourceforge.net>
+
+ * scripts/macros.m4: Check for both m4 and M4 in the GNU m4 output,
+ to fix the build on some platforms.
+ Bug #423990
+
+2007-04-18 Armin Burgmeier <armin@openismus.com>
+
+ * gtk/src/recentmanager.hg:
+ * gtk/src/recentmanager.ccg: Made a std::vector<Glib::ustring> out of
+ the StringArrayHandle in Gtk::RecentManager::Data because the latter
+ is not instantiable and only meant to be used as an intermediate type.
+
+ Also hand-code RecentManager::add_item(const Glib::ustring&, const
+ Data&) because we cannot do an easy conversion. We have to fill in a C
+ struct instead.
+ Bug #388086 (Grant Patterson)
+
+2007-04-12 Armin Burgmeier <armin@openismus.com>
+
+ * tools/m4/convert_gtk.m4: Removed GtkRadioAction* ->
+ Glib::RefPtr<RadioAction> conversion.
+
+ * gtk/src/radioaction.hg: Added a custom conversion from
+ GtkRadioAction* to Glib::RefPtr<RadioAction> that increases the
+ reference count for the radio action object. The only place where this
+ conversion actually is required is the changed signal of the radio
+ action, and we need an additional reference there.
+ Bug #350734 (Johnathon Jongsma, "pjdavis" Paul Davis)
+
+2007-04-12 Johannes Schmid <johannes.schmid@openismus.com>
+
+ * gtk/src/widget.ccg:
+ Added a special case for Gtk::Menu in
+ Widget_Class::dispose_vfunc_callback to fix a crash in menu
+ destruction.
+ Bug #339791 ("pjdavis" Paul Davis, Andrew E. Makeev)
+
+2007-04-14 Marko Anastasov <marko@marko.anastasov.name>
+
+ * docs/FAQ/gtkmm-faq.xml: Emphasised that the use libglademm is
+ preferred over glademm. Bug #429043.
+ Removed the old libglademm URL entity.
+
+2.10.9:
+
+2007-03-30 Murray Cumming <murrayc@murrayc.com>
+
+ * examples/book/notebook/examplewindow.cc:
+ * examples/book/notebook/examplewindow.h: Connect to the switch-page signal,
+ as a demonstration.
+
+2007-03-12 Andrew E. Makeev <andrew@solvo.ru>
+
+ * gtk/src/treeview.ccg: fix memory leak in get_cursor() function.
+ Bug #417539
+
+2007-03-09 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * gtk/src/gtk_docs_override.xml: fix documentation of
+ IconTheme::get_example_icon_name() so that it doesn't imply that the
+ returned ustring needs to be freed.
+
2.10.8:
2007-03-03 Alan Ott <alan@signal11.us>
diff --git a/libs/gtkmm2/INSTALL b/libs/gtkmm2/INSTALL
new file mode 100644
index 0000000000..5458714e1e
--- /dev/null
+++ b/libs/gtkmm2/INSTALL
@@ -0,0 +1,234 @@
+Installation Instructions
+*************************
+
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
+2006 Free Software Foundation, Inc.
+
+This file is free documentation; the Free Software Foundation gives
+unlimited permission to copy, distribute and modify it.
+
+Basic Installation
+==================
+
+Briefly, the shell commands `./configure; make; make install' should
+configure, build, and install this package. The following
+more-detailed instructions are generic; see the `README' file for
+instructions specific to this package.
+
+ The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions. Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+ It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring. Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.
+
+ If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release. If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+ The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'. You need `configure.ac' if
+you want to change it or regenerate `configure' using a newer version
+of `autoconf'.
+
+The simplest way to compile this package is:
+
+ 1. `cd' to the directory containing the package's source code and type
+ `./configure' to configure the package for your system.
+
+ Running `configure' might take a while. While running, it prints
+ some messages telling which features it is checking for.
+
+ 2. Type `make' to compile the package.
+
+ 3. Optionally, type `make check' to run any self-tests that come with
+ the package.
+
+ 4. Type `make install' to install the programs and any data files and
+ documentation.
+
+ 5. You can remove the program binaries and object files from the
+ source code directory by typing `make clean'. To also remove the
+ files that `configure' created (so you can compile the package for
+ a different kind of computer), type `make distclean'. There is
+ also a `make maintainer-clean' target, but that is intended mainly
+ for the package's developers. If you use it, you may have to get
+ all sorts of other programs in order to regenerate files that came
+ with the distribution.
+
+Compilers and Options
+=====================
+
+Some systems require unusual options for compilation or linking that the
+`configure' script does not know about. Run `./configure --help' for
+details on some of the pertinent environment variables.
+
+ You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment. Here
+is an example:
+
+ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
+
+ *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory. To do this, you can use GNU `make'. `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script. `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+ With a non-GNU `make', it is safer to compile the package for one
+architecture at a time in the source code directory. After you have
+installed the package for one architecture, use `make distclean' before
+reconfiguring for another architecture.
+
+Installation Names
+==================
+
+By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc. You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX'.
+
+ You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+ In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files. Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+ If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System). The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+ For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+There may be some features `configure' cannot figure out automatically,
+but needs to determine by the type of machine the package will run on.
+Usually, assuming the package is built to be run on the _same_
+architectures, `configure' can figure that out, but if it prints a
+message saying it cannot guess the machine type, give it the
+`--build=TYPE' option. TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+ CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+ OS KERNEL-OS
+
+ See the file `config.sub' for the possible values of each field. If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+ If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+ If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+If you want to set default values for `configure' scripts to share, you
+can create a site shell script called `config.site' that gives default
+values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists. Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+Variables not defined in a site shell script can be set in the
+environment passed to `configure'. However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost. In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'. For example:
+
+ ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).
+
+Unfortunately, this technique does not work for `CONFIG_SHELL' due to
+an Autoconf bug. Until the bug is fixed you can use this workaround:
+
+ CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+`configure' Invocation
+======================
+
+`configure' recognizes the following options to control how it operates.
+
+`--help'
+`-h'
+ Print a summary of the options to `configure', and exit.
+
+`--version'
+`-V'
+ Print the version of Autoconf used to generate the `configure'
+ script, and exit.
+
+`--cache-file=FILE'
+ Enable the cache: use and save the results of the tests in FILE,
+ traditionally `config.cache'. FILE defaults to `/dev/null' to
+ disable caching.
+
+`--config-cache'
+`-C'
+ Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+ Do not print messages saying which checks are being made. To
+ suppress all normal output, redirect it to `/dev/null' (any error
+ messages will still be shown).
+
+`--srcdir=DIR'
+ Look for the package's source code in directory DIR. Usually
+ `configure' can determine that directory automatically.
+
+`configure' also accepts some other, not widely useful, options. Run
+`configure --help' for more details.
+
diff --git a/libs/gtkmm2/MSVC_Net2003/Makefile.am b/libs/gtkmm2/MSVC_Net2003/Makefile.am
new file mode 100644
index 0000000000..d4d986703a
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/Makefile.am
@@ -0,0 +1,3 @@
+SUBDIRS = gendef atkmm pangomm gdkmm gtkmm demos examples
+
+EXTRA_DIST = blank.cpp gtkmm.sln README
diff --git a/libs/gtkmm2/MSVC_Net2003/Makefile.in b/libs/gtkmm2/MSVC_Net2003/Makefile.in
new file mode 100644
index 0000000000..9fa7e7e519
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/Makefile.in
@@ -0,0 +1,516 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = MSVC_Net2003
+DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+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
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = gendef atkmm pangomm gdkmm gtkmm demos examples
+EXTRA_DIST = blank.cpp gtkmm.sln README
+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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu MSVC_Net2003/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
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# 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):
+ @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; \
+ (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):
+ @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; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (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; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ 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 || \
+ tags="$$tags $$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; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+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)
+
+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
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+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:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.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-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
+
+# 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:
diff --git a/libs/gtkmm2/MSVC_Net2003/README b/libs/gtkmm2/MSVC_Net2003/README
new file mode 100644
index 0000000000..0140c835b5
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/README
@@ -0,0 +1,13 @@
+Building gtkmm-2.4 with Visual Studio .NET 2003
+
+* You will need Visual Studio .NET 2003 (MSVC 7.1). Earlier versions of the compiler, including 6.0 and 7.0 will not work.
+* Install the latest Win32 GTK+ Development Environment from the Glade for Windows project, http://gladewin32.sourceforge.net.
+* Build libsigc++ 2.0.6 or later + glibmm 2.4.7 or later from source.
+* Add GTK+, libsigc++ and glibmm to the include and lib paths in Visual Studio.
+* Load the gtkmm/MSVC_Net2003/gtkmm.sln solution.
+* Build the entire solution.
+* Run the tests.
+
+Timothy M. Shead & Cedric Gustin
+11/04/2004
+
diff --git a/libs/gtkmm2/MSVC_Net2003/atkmm/Makefile.am b/libs/gtkmm2/MSVC_Net2003/atkmm/Makefile.am
new file mode 100644
index 0000000000..1cb1dcf5ac
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/atkmm/Makefile.am
@@ -0,0 +1,3 @@
+BUILT_SOURCES = atkmm.rc
+
+EXTRA_DIST = atkmm.vcproj atkmm.rc
diff --git a/libs/glibmm2/docs/internal/Makefile.in b/libs/gtkmm2/MSVC_Net2003/atkmm/Makefile.in
index 243fc54581..8d251dd7f5 100644
--- a/libs/glibmm2/docs/internal/Makefile.in
+++ b/libs/gtkmm2/MSVC_Net2003/atkmm/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 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.
@@ -13,15 +13,11 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -35,31 +31,29 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-subdir = docs/internal
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+subdir = MSVC_Net2003/atkmm
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(srcdir)/atkmm.rc.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
$(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES = atkmm.rc
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -75,37 +69,44 @@ CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
DEPDIR = @DEPDIR@
DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
@@ -113,43 +114,33 @@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@
MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
+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_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -161,32 +152,43 @@ 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@
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@
-EXTRA_DIST = gtk_entry.dia \
- documentation_generation.txt gmmproc_internals.txt using_gmmproc.txt
-
-all: all-am
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+BUILT_SOURCES = atkmm.rc
+EXTRA_DIST = atkmm.vcproj atkmm.rc
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@@ -198,9 +200,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/internal/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/atkmm/Makefile'; \
cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu docs/internal/Makefile
+ $(AUTOMAKE) --gnu MSVC_Net2003/atkmm/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -218,16 +220,14 @@ $(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
+atkmm.rc: $(top_builddir)/config.status $(srcdir)/atkmm.rc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
tags: TAGS
TAGS:
@@ -236,22 +236,21 @@ CTAGS:
distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @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; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -263,10 +262,12 @@ distdir: $(DISTFILES)
fi; \
done
check-am: all-am
-check: check-am
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
all-am: Makefile
installdirs:
-install: install-am
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
@@ -290,13 +291,14 @@ distclean-generic:
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
+distclean-am: clean-am distclean-generic
dvi: dvi-am
@@ -310,12 +312,20 @@ info-am:
install-data-am:
+install-dvi: install-dvi-am
+
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
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -334,24 +344,21 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
+uninstall-am:
+
+.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-exec install-exec-am \
- install-info install-info-am install-man install-strip \
+ 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 \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
-
-
-post-html:
-
-doc-clean:
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
-.PHONY: post-html doc-clean
# 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:
diff --git a/libs/gtkmm2/MSVC_Net2003/atkmm/atkmm.rc b/libs/gtkmm2/MSVC_Net2003/atkmm/atkmm.rc
new file mode 100644
index 0000000000..a6395612dc
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/atkmm/atkmm.rc
@@ -0,0 +1,72 @@
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+
+#include "afxres.h"
+
+#undef APSTUDIO_READONLY_SYMBOLS
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 2,12,3,1
+ PRODUCTVERSION 2,12,3,1
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "CompanyName", "The gtkmm development team (see AUTHORS)"
+ VALUE "FileDescription", "The official C++ wrapper for atk"
+ VALUE "FileVersion", "2.12.3"
+ VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)"
+ VALUE "OriginalFilename", "atkmm-1.6"
+ VALUE "ProductName", "gtkmm"
+ VALUE "ProductVersion", "2.12.3"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
+
+#endif // English (U.S.) resources
+
+#ifndef APSTUDIO_INVOKED
+
+#endif // not APSTUDIO_INVOKED
diff --git a/libs/glibmm2/MSVC_Net2003/glibmm/glibmm.rc.in b/libs/gtkmm2/MSVC_Net2003/atkmm/atkmm.rc.in
index d2d7773f22..f4b81e7173 100755
--- a/libs/glibmm2/MSVC_Net2003/glibmm/glibmm.rc.in
+++ b/libs/gtkmm2/MSVC_Net2003/atkmm/atkmm.rc.in
@@ -34,8 +34,8 @@ END
#endif // APSTUDIO_INVOKED
VS_VERSION_INFO VERSIONINFO
- FILEVERSION @GLIBMM_MAJOR_VERSION@,@GLIBMM_MINOR_VERSION@,@GLIBMM_MICRO_VERSION@,1
- PRODUCTVERSION @GLIBMM_MAJOR_VERSION@,@GLIBMM_MINOR_VERSION@,@GLIBMM_MICRO_VERSION@,1
+ FILEVERSION @GTKMM_MAJOR_VERSION@,@GTKMM_MINOR_VERSION@,@GTKMM_MICRO_VERSION@,1
+ PRODUCTVERSION @GTKMM_MAJOR_VERSION@,@GTKMM_MINOR_VERSION@,@GTKMM_MICRO_VERSION@,1
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -50,12 +50,12 @@ BEGIN
BEGIN
BLOCK "040904b0"
BEGIN
- VALUE "CompanyName", "The glibmm development team (see AUTHORS)"
- VALUE "FileDescription", "The official C++ wrapper for glib"
+ VALUE "CompanyName", "The gtkmm development team (see AUTHORS)"
+ VALUE "FileDescription", "The official C++ wrapper for atk"
VALUE "FileVersion", "@VERSION@"
VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)"
- VALUE "OriginalFilename", "glibmm-2.4"
- VALUE "ProductName", "glibmm"
+ VALUE "OriginalFilename", "atkmm-1.6"
+ VALUE "ProductName", "gtkmm"
VALUE "ProductVersion", "@VERSION@"
END
END
diff --git a/libs/gtkmm2/MSVC_Net2003/atkmm/atkmm.vcproj b/libs/gtkmm2/MSVC_Net2003/atkmm/atkmm.vcproj
new file mode 100755
index 0000000000..e602bbe1e9
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/atkmm/atkmm.vcproj
@@ -0,0 +1,377 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="atkmm-1.6"
+ ProjectGUID="{9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../atk"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;ATKMM_BUILD"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ Description="Generate atkmm def file"
+ CommandLine="$(SolutionDir)gendef\$(ConfigurationName)\gendef $(ConfigurationName)\$(InputName).def $(TargetFileName) $(IntDir)\*.obj"
+ ExcludedFromBuild="false"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="atk-1.0.lib glib-2.0.lib gobject-2.0.lib sigc-2.0d.lib glibmm-2.4d.lib"
+ OutputFile="$(OutDir)/$(ProjectName)d.dll"
+ ModuleDefinitionFile="$(ConfigurationName)\$(InputName).def"
+ GenerateDebugInformation="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ AdditionalIncludeDirectories="../../atk"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ Description="Generate atkmm def file"
+ CommandLine="$(SolutionDir)gendef\$(ConfigurationName)\gendef $(ConfigurationName)\$(InputName).def $(TargetFileName) $(IntDir)\*.obj"
+ ExcludedFromBuild="false"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="atk-1.0.lib glib-2.0.lib gobject-2.0.lib sigc-2.0.lib glibmm-2.4.lib"
+ ModuleDefinitionFile="$(ConfigurationName)\$(InputName).def"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\atk\atkmm\action.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\component.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\document.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\editabletext.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\hyperlink.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\hypertext.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\image.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\implementor.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\init.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\noopobject.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\object.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\objectaccessible.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\relation.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\relationset.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\selection.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\stateset.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\streamablecontent.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\table.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\text.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\value.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\wrap_init.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\..\atk\atkmm\action.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\component.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\document.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\editabletext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\hyperlink.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\hypertext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\image.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\implementor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\init.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\noopobject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\object.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\objectaccessible.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\relation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\relationset.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\selection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\stateset.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\streamablecontent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\table.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\text.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\value.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\atk\atkmm\wrap_init.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ <File
+ RelativePath=".\atkmm.rc"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/gtkmm2/MSVC_Net2003/blank.cpp b/libs/gtkmm2/MSVC_Net2003/blank.cpp
new file mode 100755
index 0000000000..a75b9f2bb9
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/blank.cpp
@@ -0,0 +1,11 @@
+// This file may very well be the most annoying workaround of all time.
+// It is included here to simplify working with gtkmm using the
+// MSVC IDE.
+//
+// This file is included in all of the MSVC projects to force the
+// IDE to display the C/C++ property pages for editing. Apparently,
+// the MSVC IDE does not recognize .cc files as C++ source code, even
+// though the compiler does!
+//
+// Tim Shead, tshead@k-3d.com
+// 10/12/2004
diff --git a/libs/gtkmm2/MSVC_Net2003/demos/Makefile.am b/libs/gtkmm2/MSVC_Net2003/demos/Makefile.am
new file mode 100644
index 0000000000..94157fa48b
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/demos/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = gtk-demo
diff --git a/libs/gtkmm2/MSVC_Net2003/demos/Makefile.in b/libs/gtkmm2/MSVC_Net2003/demos/Makefile.in
new file mode 100644
index 0000000000..a3a85c57c7
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/demos/Makefile.in
@@ -0,0 +1,515 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = MSVC_Net2003/demos
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+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
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = gtk-demo
+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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/demos/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu MSVC_Net2003/demos/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
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# 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):
+ @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; \
+ (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):
+ @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; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (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; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ 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 || \
+ tags="$$tags $$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; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+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)
+
+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
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+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:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.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-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
+
+# 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:
diff --git a/libs/gtkmm2/MSVC_Net2003/demos/gtk-demo/Makefile.am b/libs/gtkmm2/MSVC_Net2003/demos/gtk-demo/Makefile.am
new file mode 100644
index 0000000000..49b2b8d96b
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/demos/gtk-demo/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = gtk-demo.vcproj
diff --git a/libs/gtkmm2/MSVC_Net2003/demos/gtk-demo/Makefile.in b/libs/gtkmm2/MSVC_Net2003/demos/gtk-demo/Makefile.in
new file mode 100644
index 0000000000..e918fbb2bf
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/demos/gtk-demo/Makefile.in
@@ -0,0 +1,356 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = MSVC_Net2003/demos/gtk-demo
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = gtk-demo.vcproj
+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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/demos/gtk-demo/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu MSVC_Net2003/demos/gtk-demo/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
+
+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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+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:
+
+.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 \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/MSVC_Net2003/demos/gtk-demo/gtk-demo.vcproj b/libs/gtkmm2/MSVC_Net2003/demos/gtk-demo/gtk-demo.vcproj
new file mode 100755
index 0000000000..ac22dd6e79
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/demos/gtk-demo/gtk-demo.vcproj
@@ -0,0 +1,315 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="demos_gtk-demo"
+ ProjectGUID="{5A8BBE25-E8D8-487B-AD2D-690438F09FA1}"
+ RootNamespace="demos_gtk-demo"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ Optimization="0"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="sigc-2.0d.lib glibmm-2.4d.lib gdk-win32-2.0.lib glib-2.0.lib"
+ OutputFile="$(OutDir)/gtk-demo.exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/gtk-demo.pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="sigc-2.0.lib glibmm-2.4.lib gdk-win32-2.0.lib glib-2.0.lib"
+ OutputFile="$(OutDir)/gtk-demo.exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\demo-common.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\demowindow.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\example_appwindow.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\example_buttonbox.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\example_change_display.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\example_colorsel.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\example_dialog.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\example_drawingarea.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\example_iconview.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\example_images.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\example_menus.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\example_panes.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\example_pixbufs.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\example_sizegroup.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\example_stockbrowser.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\example_textview.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\example_treeview_editable_cells.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\example_treeview_liststore.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\example_treeview_treestore.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\example_uimanager.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\main.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\textwidget.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\demo-common.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\demos.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\demowindow.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\demos\gtk-demo\textwidget.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/Makefile.am b/libs/gtkmm2/MSVC_Net2003/examples/Makefile.am
new file mode 100644
index 0000000000..f24f36dfa3
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/Makefile.am
@@ -0,0 +1,3 @@
+SUBDIRS = arrow calendar cellrenderercustom_popup cellrenderercustom_toggle \
+ direction dnd exception gdk printing rulers statusbar stock tictactoe \
+ treemodelcustom window
diff --git a/libs/glibmm2/MSVC_Net2003/examples/Makefile.in b/libs/gtkmm2/MSVC_Net2003/examples/Makefile.in
index d7da4d7ad3..4b055f3da4 100644
--- a/libs/glibmm2/MSVC_Net2003/examples/Makefile.in
+++ b/libs/gtkmm2/MSVC_Net2003/examples/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 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.
@@ -13,15 +13,11 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -38,37 +34,37 @@ host_triplet = @host@
subdir = MSVC_Net2003/examples
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
$(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-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
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -84,37 +80,44 @@ CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
DEPDIR = @DEPDIR@
DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
@@ -122,43 +125,33 @@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@
MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
+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_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -170,29 +163,43 @@ 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@
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@
-SUBDIRS = dispatcher dispatcher2 markup options thread thread_pool
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = arrow calendar cellrenderercustom_popup cellrenderercustom_toggle \
+ direction dnd exception gdk printing rulers statusbar stock tictactoe \
+ treemodelcustom window
+
all: all-recursive
.SUFFIXES:
@@ -232,10 +239,6 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
# 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,
@@ -267,8 +270,7 @@ $(RECURSIVE_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
+$(RECURSIVE_CLEAN_TARGETS):
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
@@ -369,22 +371,21 @@ 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)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @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; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -398,7 +399,7 @@ distdir: $(DISTFILES)
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
@@ -406,6 +407,8 @@ distdir: $(DISTFILES)
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
@@ -445,8 +448,7 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
@@ -460,12 +462,20 @@ info-am:
install-data-am:
+install-dvi: install-dvi-recursive
+
install-exec-am:
+install-html: install-html-recursive
+
install-info: install-info-recursive
install-man:
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -484,22 +494,24 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-info-am
+uninstall-am:
-uninstall-info: uninstall-info-recursive
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
+.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-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
+ 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 installcheck \
installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive \
- mostlyclean mostlyclean-generic mostlyclean-libtool \
- mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-info-am
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+ uninstall uninstall-am
# 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.
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/arrow/Makefile.am b/libs/gtkmm2/MSVC_Net2003/examples/arrow/Makefile.am
new file mode 100644
index 0000000000..ca461f1081
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/arrow/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = arrow.vcproj
diff --git a/libs/glibmm2/MSVC_Net2003/examples/dispatcher/Makefile.in b/libs/gtkmm2/MSVC_Net2003/examples/arrow/Makefile.in
index ddd33f8de7..bb2336b0f0 100644
--- a/libs/glibmm2/MSVC_Net2003/examples/dispatcher/Makefile.in
+++ b/libs/gtkmm2/MSVC_Net2003/examples/arrow/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 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.
@@ -13,15 +13,11 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -35,31 +31,28 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-subdir = MSVC_Net2003/examples/dispatcher
+subdir = MSVC_Net2003/examples/arrow
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
$(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -75,37 +68,44 @@ CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
DEPDIR = @DEPDIR@
DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
@@ -113,43 +113,33 @@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@
MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
+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_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -161,29 +151,40 @@ 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@
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@
-EXTRA_DIST = dispatcher.vcproj
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = arrow.vcproj
all: all-am
.SUFFIXES:
@@ -196,9 +197,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/dispatcher/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/arrow/Makefile'; \
cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu MSVC_Net2003/examples/dispatcher/Makefile
+ $(AUTOMAKE) --gnu MSVC_Net2003/examples/arrow/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -222,10 +223,6 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
tags: TAGS
TAGS:
@@ -234,22 +231,21 @@ CTAGS:
distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @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; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -294,7 +290,7 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
+distclean-am: clean-am distclean-generic
dvi: dvi-am
@@ -308,12 +304,20 @@ info-am:
install-data-am:
+install-dvi: install-dvi-am
+
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
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -332,17 +336,20 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
+uninstall-am:
+
+.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-exec install-exec-am \
- install-info install-info-am install-man install-strip \
+ 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 \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
# 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.
diff --git a/libs/glibmm2/MSVC_Net2003/examples/dispatcher2/dispatcher2.vcproj b/libs/gtkmm2/MSVC_Net2003/examples/arrow/arrow.vcproj
index ebac10b619..79b9365414 100755
--- a/libs/glibmm2/MSVC_Net2003/examples/dispatcher2/dispatcher2.vcproj
+++ b/libs/gtkmm2/MSVC_Net2003/examples/arrow/arrow.vcproj
@@ -2,8 +2,8 @@
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
- Name="examples_dispatcher2"
- ProjectGUID="{18A82706-B645-4DF5-AB09-06B90128BAC5}"
+ Name="examples_arrow"
+ ProjectGUID="{9FE8A8EC-8254-4ACC-B611-A3EE50DA4233}"
Keyword="Win32Proj"
>
<Platforms>
@@ -39,8 +39,9 @@
/>
<Tool
Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
Optimization="0"
- AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\glib&quot;"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -50,6 +51,7 @@
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
+ DisableSpecificWarnings="4250"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -62,12 +64,11 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="gthread-2.0.lib sigc-2.0d.lib"
- OutputFile="$(OutDir)/dispatcher2.exe"
+ AdditionalDependencies="sigc-2.0d.lib glibmm-2.4d.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
LinkIncremental="2"
- GenerateManifest="true"
GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
+ ProgramDatabaseFile="$(OutDir)/arrow.pdb"
SubSystem="1"
TargetMachine="1"
/>
@@ -121,7 +122,8 @@
/>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\glib&quot;"
+ AdditionalOptions="/vd2"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="2"
RuntimeTypeInfo="true"
@@ -129,6 +131,7 @@
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
+ DisableSpecificWarnings="4250"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -141,10 +144,9 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="gthread-2.0.lib sigc-2.0.lib"
- OutputFile="$(OutDir)/dispatcher2.exe"
+ AdditionalDependencies="glibmm-2.4.lib sigc-2.0.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
LinkIncremental="1"
- GenerateManifest="true"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
@@ -186,11 +188,11 @@
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
- RelativePath="..\..\blank.cpp"
+ RelativePath="..\..\..\examples\arrow\arrow.cc"
>
</File>
<File
- RelativePath="..\..\..\examples\thread\dispatcher2.cc"
+ RelativePath="..\..\blank.cpp"
>
</File>
</Filter>
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/calendar/Makefile.am b/libs/gtkmm2/MSVC_Net2003/examples/calendar/Makefile.am
new file mode 100644
index 0000000000..e79b221993
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/calendar/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = calendar.vcproj
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/calendar/Makefile.in b/libs/gtkmm2/MSVC_Net2003/examples/calendar/Makefile.in
new file mode 100644
index 0000000000..6d09bfff0f
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/calendar/Makefile.in
@@ -0,0 +1,356 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = MSVC_Net2003/examples/calendar
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = calendar.vcproj
+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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/calendar/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu MSVC_Net2003/examples/calendar/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
+
+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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+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:
+
+.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 \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/calendar/calendar.vcproj b/libs/gtkmm2/MSVC_Net2003/examples/calendar/calendar.vcproj
new file mode 100755
index 0000000000..3f0d91f245
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/calendar/calendar.vcproj
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="examples_calendar"
+ ProjectGUID="{A5DE0D48-0A8F-4BF3-A816-F2D81E7CB43B}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ Optimization="0"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="sigc-2.0d.lib glibmm-2.4d.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/calendar.pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="glibmm-2.4.lib sigc-2.0.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\calendar\calendar.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_popup/Makefile.am b/libs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_popup/Makefile.am
new file mode 100644
index 0000000000..eee5a4f3f7
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_popup/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = cellrenderercustom_popup.vcproj
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_popup/Makefile.in b/libs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_popup/Makefile.in
new file mode 100644
index 0000000000..b80fd3d18f
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_popup/Makefile.in
@@ -0,0 +1,356 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = MSVC_Net2003/examples/cellrenderercustom_popup
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = cellrenderercustom_popup.vcproj
+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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/cellrenderercustom_popup/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu MSVC_Net2003/examples/cellrenderercustom_popup/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
+
+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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+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:
+
+.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 \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_popup/cellrenderercustom_popup.vcproj b/libs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_popup/cellrenderercustom_popup.vcproj
new file mode 100755
index 0000000000..f97c2bfeaa
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_popup/cellrenderercustom_popup.vcproj
@@ -0,0 +1,238 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="examples_cellrenderercustom_popup"
+ ProjectGUID="{DF428E3D-31F2-4F50-9187-0176351CFD42}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ Optimization="0"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="gtk-win32-2.0.lib sigc-2.0d.lib glibmm-2.4d.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/cellrenderercustom_popup.pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="gtk-win32-2.0.lib glibmm-2.4.lib sigc-2.0.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\cellrenderercustom\cellrendererlist.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\cellrenderercustom\cellrendererpopup.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\cellrenderercustom\popupentry.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\cellrenderercustom\testpopup.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\..\..\examples\cellrenderercustom\cellrendererlist.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\cellrenderercustom\cellrendererpopup.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\cellrenderercustom\popupentry.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_toggle/Makefile.am b/libs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_toggle/Makefile.am
new file mode 100644
index 0000000000..91efc8c5a2
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_toggle/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = cellrenderercustom_toggle.vcproj
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_toggle/Makefile.in b/libs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_toggle/Makefile.in
new file mode 100644
index 0000000000..96ce7dd717
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_toggle/Makefile.in
@@ -0,0 +1,356 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = MSVC_Net2003/examples/cellrenderercustom_toggle
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = cellrenderercustom_toggle.vcproj
+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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/cellrenderercustom_toggle/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu MSVC_Net2003/examples/cellrenderercustom_toggle/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
+
+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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+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:
+
+.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 \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_toggle/cellrenderercustom_toggle.vcproj b/libs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_toggle/cellrenderercustom_toggle.vcproj
new file mode 100755
index 0000000000..94de60d99f
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/cellrenderercustom_toggle/cellrenderercustom_toggle.vcproj
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="examples_cellrenderercustom_toggle"
+ ProjectGUID="{7015D351-A17B-4C60-951E-F7067925DADA}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ Optimization="0"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="gtk-win32-2.0.lib sigc-2.0d.lib glibmm-2.4d.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/cellrenderercustom.pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="gtk-win32-2.0.lib glibmm-2.4.lib sigc-2.0.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\cellrenderercustom\cellrenderertoggle.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/direction/Makefile.am b/libs/gtkmm2/MSVC_Net2003/examples/direction/Makefile.am
new file mode 100644
index 0000000000..6141980b62
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/direction/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = direction.vcproj
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/direction/Makefile.in b/libs/gtkmm2/MSVC_Net2003/examples/direction/Makefile.in
new file mode 100644
index 0000000000..57132d7024
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/direction/Makefile.in
@@ -0,0 +1,356 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = MSVC_Net2003/examples/direction
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = direction.vcproj
+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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/direction/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu MSVC_Net2003/examples/direction/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
+
+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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+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:
+
+.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 \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/direction/direction.vcproj b/libs/gtkmm2/MSVC_Net2003/examples/direction/direction.vcproj
new file mode 100755
index 0000000000..a9b23fd594
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/direction/direction.vcproj
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="examples_direction"
+ ProjectGUID="{3DD95190-066E-42A6-89C6-CA6A54321C87}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ Optimization="0"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="sigc-2.0d.lib glibmm-2.4d.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/direction.pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="glibmm-2.4.lib sigc-2.0.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\arrow\direction.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/dnd/Makefile.am b/libs/gtkmm2/MSVC_Net2003/examples/dnd/Makefile.am
new file mode 100644
index 0000000000..b0f4dd2bd3
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/dnd/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = dnd.vcproj
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/dnd/Makefile.in b/libs/gtkmm2/MSVC_Net2003/examples/dnd/Makefile.in
new file mode 100644
index 0000000000..15293bffbd
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/dnd/Makefile.in
@@ -0,0 +1,356 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = MSVC_Net2003/examples/dnd
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = dnd.vcproj
+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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/dnd/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu MSVC_Net2003/examples/dnd/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
+
+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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+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:
+
+.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 \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/dnd/dnd.vcproj b/libs/gtkmm2/MSVC_Net2003/examples/dnd/dnd.vcproj
new file mode 100755
index 0000000000..5d0c676296
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/dnd/dnd.vcproj
@@ -0,0 +1,226 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="examples_dnd"
+ ProjectGUID="{0BB91EA6-923E-4181-8A8C-480BD1D60B18}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ Optimization="0"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="glib-2.0.lib gobject-2.0.lib sigc-2.0d.lib glibmm-2.4d.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/dnd.pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="glib-2.0.lib gobject-2.0.lib glibmm-2.4.lib sigc-2.0.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\dnd\dndwindow.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\dnd\main.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\..\..\examples\dnd\dnd_images.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\dnd\dndwindow.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/exception/Makefile.am b/libs/gtkmm2/MSVC_Net2003/examples/exception/Makefile.am
new file mode 100644
index 0000000000..c93378ba16
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/exception/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = exception.vcproj
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/exception/Makefile.in b/libs/gtkmm2/MSVC_Net2003/examples/exception/Makefile.in
new file mode 100644
index 0000000000..644f2fdd66
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/exception/Makefile.in
@@ -0,0 +1,356 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = MSVC_Net2003/examples/exception
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = exception.vcproj
+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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/exception/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu MSVC_Net2003/examples/exception/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
+
+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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+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:
+
+.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 \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/exception/exception.vcproj b/libs/gtkmm2/MSVC_Net2003/examples/exception/exception.vcproj
new file mode 100755
index 0000000000..97bdb6cde4
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/exception/exception.vcproj
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="examples_exception"
+ ProjectGUID="{74A636AB-D7EB-46F9-9AE1-84D6E9808C7C}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ Optimization="0"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="sigc-2.0d.lib glibmm-2.4d.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/exception.pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="glibmm-2.4.lib sigc-2.0.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\exception\exceptiontest.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/gdk/Makefile.am b/libs/gtkmm2/MSVC_Net2003/examples/gdk/Makefile.am
new file mode 100644
index 0000000000..f3444197b9
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/gdk/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = gdk.vcproj
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/gdk/Makefile.in b/libs/gtkmm2/MSVC_Net2003/examples/gdk/Makefile.in
new file mode 100644
index 0000000000..f0f72cdf38
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/gdk/Makefile.in
@@ -0,0 +1,356 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = MSVC_Net2003/examples/gdk
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = gdk.vcproj
+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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/gdk/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu MSVC_Net2003/examples/gdk/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
+
+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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+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:
+
+.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 \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/gdk/gdk.vcproj b/libs/gtkmm2/MSVC_Net2003/examples/gdk/gdk.vcproj
new file mode 100755
index 0000000000..f8b094954e
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/gdk/gdk.vcproj
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="examples_gdk"
+ ProjectGUID="{15E36DAE-0AD8-4021-B1A1-1FEE037734D7}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ Optimization="0"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="glib-2.0.lib sigc-2.0d.lib glibmm-2.4d.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/gdk.pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="glib-2.0.lib glibmm-2.4.lib sigc-2.0.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\gdk\radar.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/printing/Makefile.am b/libs/gtkmm2/MSVC_Net2003/examples/printing/Makefile.am
new file mode 100644
index 0000000000..6dc1f92c9d
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/printing/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = printing.vcproj
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/printing/Makefile.in b/libs/gtkmm2/MSVC_Net2003/examples/printing/Makefile.in
new file mode 100644
index 0000000000..ea8bcd1dd1
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/printing/Makefile.in
@@ -0,0 +1,356 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = MSVC_Net2003/examples/printing
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = printing.vcproj
+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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/printing/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu MSVC_Net2003/examples/printing/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
+
+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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+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:
+
+.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 \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/printing/printing.vcproj b/libs/gtkmm2/MSVC_Net2003/examples/printing/printing.vcproj
new file mode 100755
index 0000000000..fe032a4da8
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/printing/printing.vcproj
@@ -0,0 +1,231 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="examples_printing"
+ ProjectGUID="{7EF918D4-969B-45B0-9143-0C95D37FDEAE}"
+ RootNamespace="examples_printing"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ Optimization="0"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="sigc-2.0d.lib glibmm-2.4d.lib cairomm-1.0d.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/arrow.pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="glibmm-2.4.lib sigc-2.0.lib cairomm-1.0.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\book\printing\simple\examplewindow.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\book\printing\simple\main.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\book\printing\simple\printformoperation.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\..\..\examples\book\printing\simple\examplewindow.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\book\printing\simple\printformoperation.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/rulers/Makefile.am b/libs/gtkmm2/MSVC_Net2003/examples/rulers/Makefile.am
new file mode 100644
index 0000000000..c75f770868
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/rulers/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = rulers.vcproj
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/rulers/Makefile.in b/libs/gtkmm2/MSVC_Net2003/examples/rulers/Makefile.in
new file mode 100644
index 0000000000..f78a416d1d
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/rulers/Makefile.in
@@ -0,0 +1,356 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = MSVC_Net2003/examples/rulers
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = rulers.vcproj
+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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/rulers/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu MSVC_Net2003/examples/rulers/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
+
+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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+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:
+
+.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 \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/rulers/rulers.vcproj b/libs/gtkmm2/MSVC_Net2003/examples/rulers/rulers.vcproj
new file mode 100755
index 0000000000..3acc89d42b
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/rulers/rulers.vcproj
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="examples_rulers"
+ ProjectGUID="{196D9F62-D2A5-4F6E-A72D-91D11311F96E}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ Optimization="0"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="sigc-2.0d.lib glibmm-2.4d.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/rulers.pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="glibmm-2.4.lib sigc-2.0.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\rulers\rulers.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/statusbar/Makefile.am b/libs/gtkmm2/MSVC_Net2003/examples/statusbar/Makefile.am
new file mode 100644
index 0000000000..eb9aa352f7
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/statusbar/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = statusbar.vcproj
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/statusbar/Makefile.in b/libs/gtkmm2/MSVC_Net2003/examples/statusbar/Makefile.in
new file mode 100644
index 0000000000..947e696ee8
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/statusbar/Makefile.in
@@ -0,0 +1,356 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = MSVC_Net2003/examples/statusbar
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = statusbar.vcproj
+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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/statusbar/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu MSVC_Net2003/examples/statusbar/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
+
+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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+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:
+
+.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 \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/statusbar/statusbar.vcproj b/libs/gtkmm2/MSVC_Net2003/examples/statusbar/statusbar.vcproj
new file mode 100755
index 0000000000..291dd9f391
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/statusbar/statusbar.vcproj
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="examples_statusbar"
+ ProjectGUID="{942BE422-98AE-4C07-958A-6C6B67EB6F83}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ Optimization="0"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="glib-2.0.lib sigc-2.0d.lib glibmm-2.4d.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/statusbar.pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="glib-2.0.lib glibmm-2.4.lib sigc-2.0.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\statusbar\statusbar.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/stock/Makefile.am b/libs/gtkmm2/MSVC_Net2003/examples/stock/Makefile.am
new file mode 100644
index 0000000000..fda5a0971f
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/stock/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = stock.vcproj
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/stock/Makefile.in b/libs/gtkmm2/MSVC_Net2003/examples/stock/Makefile.in
new file mode 100644
index 0000000000..1d77fcef51
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/stock/Makefile.in
@@ -0,0 +1,356 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = MSVC_Net2003/examples/stock
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = stock.vcproj
+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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/stock/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu MSVC_Net2003/examples/stock/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
+
+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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+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:
+
+.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 \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/stock/stock.vcproj b/libs/gtkmm2/MSVC_Net2003/examples/stock/stock.vcproj
new file mode 100755
index 0000000000..a6506b1a9c
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/stock/stock.vcproj
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="examples_stock"
+ ProjectGUID="{3B1B452B-FB4B-449F-9F38-67226CA174DE}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ Optimization="0"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="sigc-2.0d.lib glibmm-2.4d.lib glib-2.0.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/stock.pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="glibmm-2.4.lib sigc-2.0.lib glib-2.0.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\stock\stock.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/tictactoe/Makefile.am b/libs/gtkmm2/MSVC_Net2003/examples/tictactoe/Makefile.am
new file mode 100644
index 0000000000..42f1f2211b
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/tictactoe/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = tictactoe.vcproj
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/tictactoe/Makefile.in b/libs/gtkmm2/MSVC_Net2003/examples/tictactoe/Makefile.in
new file mode 100644
index 0000000000..545076452b
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/tictactoe/Makefile.in
@@ -0,0 +1,356 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = MSVC_Net2003/examples/tictactoe
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = tictactoe.vcproj
+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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/tictactoe/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu MSVC_Net2003/examples/tictactoe/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
+
+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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+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:
+
+.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 \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+# 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:
diff --git a/libs/glibmm2/MSVC_Net2003/tests/glibmm_value/glibmm_value.vcproj b/libs/gtkmm2/MSVC_Net2003/examples/tictactoe/tictactoe.vcproj
index 24be953b88..dfe5f59696 100755
--- a/libs/glibmm2/MSVC_Net2003/tests/glibmm_value/glibmm_value.vcproj
+++ b/libs/gtkmm2/MSVC_Net2003/examples/tictactoe/tictactoe.vcproj
@@ -2,9 +2,8 @@
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
- Name="tests_glibmm_value"
- ProjectGUID="{22277003-3228-486E-A6A8-994B8B13AF30}"
- RootNamespace="tests_glibmm_value"
+ Name="examples_tictactoe"
+ ProjectGUID="{CA7153FA-AEEB-4719-9B51-729954F8003D}"
Keyword="Win32Proj"
>
<Platforms>
@@ -40,8 +39,9 @@
/>
<Tool
Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
Optimization="0"
- AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\glib&quot;"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -51,6 +51,7 @@
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
+ DisableSpecificWarnings="4250"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -63,11 +64,11 @@
/>
<Tool
Name="VCLinkerTool"
- OutputFile="$(OutDir)/glibmm_value.exe"
+ AdditionalDependencies="glib-2.0.lib sigc-2.0d.lib glibmm-2.4d.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
LinkIncremental="2"
- GenerateManifest="true"
GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
+ ProgramDatabaseFile="$(OutDir)/tictactoe.pdb"
SubSystem="1"
TargetMachine="1"
/>
@@ -121,7 +122,8 @@
/>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\glib&quot;"
+ AdditionalOptions="/vd2"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="2"
RuntimeTypeInfo="true"
@@ -129,6 +131,7 @@
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
+ DisableSpecificWarnings="4250"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -141,9 +144,9 @@
/>
<Tool
Name="VCLinkerTool"
- OutputFile="$(OutDir)/glibmm_value.exe"
+ AdditionalDependencies="glib-2.0.lib glibmm-2.4.lib sigc-2.0.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
LinkIncremental="1"
- GenerateManifest="true"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
@@ -189,11 +192,11 @@
>
</File>
<File
- RelativePath="..\..\..\tests\glibmm_value\glibmm_value.cc"
+ RelativePath="..\..\..\examples\tictactoe\tictactoe.cc"
>
</File>
<File
- RelativePath="..\..\..\tests\glibmm_value\main.cc"
+ RelativePath="..\..\..\examples\tictactoe\ttt_test.cc"
>
</File>
</Filter>
@@ -202,6 +205,10 @@
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
+ <File
+ RelativePath="..\..\..\examples\tictactoe\tictactoe.h"
+ >
+ </File>
</Filter>
<Filter
Name="Resource Files"
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/treemodelcustom/Makefile.am b/libs/gtkmm2/MSVC_Net2003/examples/treemodelcustom/Makefile.am
new file mode 100644
index 0000000000..e13d9e0d6c
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/treemodelcustom/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = treemodelcustom.vcproj
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/treemodelcustom/Makefile.in b/libs/gtkmm2/MSVC_Net2003/examples/treemodelcustom/Makefile.in
new file mode 100644
index 0000000000..a533440f88
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/treemodelcustom/Makefile.in
@@ -0,0 +1,356 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = MSVC_Net2003/examples/treemodelcustom
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = treemodelcustom.vcproj
+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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/treemodelcustom/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu MSVC_Net2003/examples/treemodelcustom/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
+
+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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+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:
+
+.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 \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/treemodelcustom/treemodelcustom.vcproj b/libs/gtkmm2/MSVC_Net2003/examples/treemodelcustom/treemodelcustom.vcproj
new file mode 100755
index 0000000000..0b047848be
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/treemodelcustom/treemodelcustom.vcproj
@@ -0,0 +1,230 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="examples_treemodelcustom"
+ ProjectGUID="{40691C26-671D-4485-AB13-A7E596E5E9AC}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ Optimization="0"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="glib-2.0.lib sigc-2.0d.lib glibmm-2.4d.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/treemodelcustom.pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="glib-2.0.lib glibmm-2.4.lib sigc-2.0.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\treemodelcustom\exampletreemodel.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\treemodelcustom\examplewindow.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\treemodelcustom\main.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\..\..\examples\treemodelcustom\exampletreemodel.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\treemodelcustom\examplewindow.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/window/Makefile.am b/libs/gtkmm2/MSVC_Net2003/examples/window/Makefile.am
new file mode 100644
index 0000000000..713dc2636f
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/window/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = window.vcproj
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/window/Makefile.in b/libs/gtkmm2/MSVC_Net2003/examples/window/Makefile.in
new file mode 100644
index 0000000000..e974da689f
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/window/Makefile.in
@@ -0,0 +1,356 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = MSVC_Net2003/examples/window
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = window.vcproj
+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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/window/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu MSVC_Net2003/examples/window/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
+
+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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+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:
+
+.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 \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/MSVC_Net2003/examples/window/window.vcproj b/libs/gtkmm2/MSVC_Net2003/examples/window/window.vcproj
new file mode 100755
index 0000000000..e36b83287d
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/examples/window/window.vcproj
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="examples_window"
+ ProjectGUID="{C4F1EA94-465A-416C-B7AA-160BBF2552C1}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ Optimization="0"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="sigc-2.0d.lib glibmm-2.4d.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/window.pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ AdditionalIncludeDirectories=".;../../gtkmm;../../gdkmm;&quot;$(SolutionDir)/../atk&quot;;&quot;$(SolutionDir)/../pango&quot;;&quot;$(SolutionDir)/../gdk&quot;;&quot;$(SolutionDir)/../gtk&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="glibmm-2.4.lib sigc-2.0.lib"
+ OutputFile="$(OutDir)/$(ProjectName).exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\examples\window\wheelbarrow.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/glibmm2/MSVC_Net2003/glibmm/Makefile.am b/libs/gtkmm2/MSVC_Net2003/gdkmm/Makefile.am
index a0f8c4167c..78037ef220 100644
--- a/libs/glibmm2/MSVC_Net2003/glibmm/Makefile.am
+++ b/libs/gtkmm2/MSVC_Net2003/gdkmm/Makefile.am
@@ -1,12 +1,13 @@
-BUILT_SOURCES = glibmmconfig.h glibmm.rc
+BUILT_SOURCES = gdkmmconfig.h gdkmm.rc
MAINTAINERCLEANFILES = $(built_sources)
+DISTCLEANFILES = gdkmmconfig.h
-EXTRA_DIST = glibmmconfig.h glibmm.vcproj glibmm.rc
+EXTRA_DIST = gdkmmconfig.h gdkmm.vcproj gdkmm.rc
-# Copy config file generated by the configure script. Dependency is
+# Copy config file generated by the configure script. Dependency is
# wht respect to the .h.in file, to prevent an error with 'make distcheck'.
# See http://sources.redhat.com/automake/automake.html#distcleancheck
-glibmmconfig.h: $(top_srcdir)/glib/glibmmconfig.h.in $(top_srcdir)/configure.in
- cp -f $(top_builddir)/glib/glibmmconfig.h $@
+gdkmmconfig.h: $(top_srcdir)/gdk/gdkmmconfig.h.in $(top_srcdir)/configure.in
+ cp -f $(top_builddir)/gdk/gdkmmconfig.h $@
diff --git a/libs/glibmm2/MSVC_Net2003/glibmm/Makefile.in b/libs/gtkmm2/MSVC_Net2003/gdkmm/Makefile.in
index 209eb3b18b..5ff630725e 100644
--- a/libs/glibmm2/MSVC_Net2003/glibmm/Makefile.in
+++ b/libs/gtkmm2/MSVC_Net2003/gdkmm/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 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.
@@ -13,15 +13,11 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -35,32 +31,29 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-subdir = MSVC_Net2003/glibmm
+subdir = MSVC_Net2003/gdkmm
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/glibmm.rc.in
+ $(srcdir)/gdkmm.rc.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
$(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES = glibmm.rc
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES = gdkmm.rc
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -76,37 +69,44 @@ CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
DEPDIR = @DEPDIR@
DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
@@ -114,43 +114,33 @@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@
MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
+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_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -162,31 +152,43 @@ 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@
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@
-BUILT_SOURCES = glibmmconfig.h glibmm.rc
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+BUILT_SOURCES = gdkmmconfig.h gdkmm.rc
MAINTAINERCLEANFILES = $(built_sources)
-EXTRA_DIST = glibmmconfig.h glibmm.vcproj glibmm.rc
+DISTCLEANFILES = gdkmmconfig.h
+EXTRA_DIST = gdkmmconfig.h gdkmm.vcproj gdkmm.rc
all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-am
@@ -200,9 +202,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/glibmm/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/gdkmm/Makefile'; \
cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu MSVC_Net2003/glibmm/Makefile
+ $(AUTOMAKE) --gnu MSVC_Net2003/gdkmm/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -220,7 +222,7 @@ $(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
-glibmm.rc: $(top_builddir)/config.status $(srcdir)/glibmm.rc.in
+gdkmm.rc: $(top_builddir)/config.status $(srcdir)/gdkmm.rc.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
mostlyclean-libtool:
@@ -228,10 +230,6 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
tags: TAGS
TAGS:
@@ -240,22 +238,21 @@ CTAGS:
distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @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; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -292,6 +289,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -304,7 +302,7 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
+distclean-am: clean-am distclean-generic
dvi: dvi-am
@@ -318,12 +316,20 @@ info-am:
install-data-am:
+install-dvi: install-dvi-am
+
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
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -342,25 +348,28 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
+uninstall-am:
+
+.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-exec install-exec-am \
- install-info install-info-am install-man install-strip \
+ 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 \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
-# Copy config file generated by the configure script. Dependency is
+# Copy config file generated by the configure script. Dependency is
# wht respect to the .h.in file, to prevent an error with 'make distcheck'.
# See http://sources.redhat.com/automake/automake.html#distcleancheck
-glibmmconfig.h: $(top_srcdir)/glib/glibmmconfig.h.in $(top_srcdir)/configure.in
- cp -f $(top_builddir)/glib/glibmmconfig.h $@
+gdkmmconfig.h: $(top_srcdir)/gdk/gdkmmconfig.h.in $(top_srcdir)/configure.in
+ cp -f $(top_builddir)/gdk/gdkmmconfig.h $@
# 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:
diff --git a/libs/gtkmm2/MSVC_Net2003/gdkmm/gdkmm.rc b/libs/gtkmm2/MSVC_Net2003/gdkmm/gdkmm.rc
new file mode 100644
index 0000000000..ea3fcd5d00
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/gdkmm/gdkmm.rc
@@ -0,0 +1,72 @@
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+
+#include "afxres.h"
+
+#undef APSTUDIO_READONLY_SYMBOLS
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 2,12,3,1
+ PRODUCTVERSION 2,12,3,1
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "CompanyName", "The gtkmm development team (see AUTHORS)"
+ VALUE "FileDescription", "The official C++ wrapper for gdk"
+ VALUE "FileVersion", "2.12.3"
+ VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)"
+ VALUE "OriginalFilename", "gdkmm-2.4"
+ VALUE "ProductName", "gtkmm"
+ VALUE "ProductVersion", "2.12.3"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
+
+#endif // English (U.S.) resources
+
+#ifndef APSTUDIO_INVOKED
+
+#endif // not APSTUDIO_INVOKED
diff --git a/libs/gtkmm2/MSVC_Net2003/gdkmm/gdkmm.rc.in b/libs/gtkmm2/MSVC_Net2003/gdkmm/gdkmm.rc.in
new file mode 100755
index 0000000000..5eacfea85e
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/gdkmm/gdkmm.rc.in
@@ -0,0 +1,72 @@
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+
+#include "afxres.h"
+
+#undef APSTUDIO_READONLY_SYMBOLS
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION @GTKMM_MAJOR_VERSION@,@GTKMM_MINOR_VERSION@,@GTKMM_MICRO_VERSION@,1
+ PRODUCTVERSION @GTKMM_MAJOR_VERSION@,@GTKMM_MINOR_VERSION@,@GTKMM_MICRO_VERSION@,1
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "CompanyName", "The gtkmm development team (see AUTHORS)"
+ VALUE "FileDescription", "The official C++ wrapper for gdk"
+ VALUE "FileVersion", "@VERSION@"
+ VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)"
+ VALUE "OriginalFilename", "gdkmm-2.4"
+ VALUE "ProductName", "gtkmm"
+ VALUE "ProductVersion", "@VERSION@"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
+
+#endif // English (U.S.) resources
+
+#ifndef APSTUDIO_INVOKED
+
+#endif // not APSTUDIO_INVOKED
diff --git a/libs/gtkmm2/MSVC_Net2003/gdkmm/gdkmm.vcproj b/libs/gtkmm2/MSVC_Net2003/gdkmm/gdkmm.vcproj
new file mode 100755
index 0000000000..276ad87a71
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/gdkmm/gdkmm.vcproj
@@ -0,0 +1,437 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="gdkmm-2.4"
+ ProjectGUID="{976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ Optimization="0"
+ AdditionalIncludeDirectories=".;../../pango;../../gdk;../../gtk"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;GDKMM_BUILD"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ Description="Generate gdkmm def file"
+ CommandLine="$(SolutionDir)gendef\$(ConfigurationName)\gendef $(ConfigurationName)\$(InputName).def $(TargetFileName) $(IntDir)\*.obj"
+ ExcludedFromBuild="false"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="glib-2.0.lib gobject-2.0.lib gdk-win32-2.0.lib gdk_pixbuf-2.0.lib gtk-win32-2.0.lib sigc-2.0d.lib glibmm-2.4d.lib cairomm-1.0d.lib"
+ OutputFile="$(OutDir)/$(ProjectName)d.dll"
+ ModuleDefinitionFile="$(ConfigurationName)\$(InputName).def"
+ GenerateDebugInformation="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ AdditionalIncludeDirectories=".;../../pango;../../gdk;../../gtk"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ Description="Generate gdkmm def file"
+ CommandLine="$(SolutionDir)gendef\$(ConfigurationName)\gendef $(ConfigurationName)\$(InputName).def $(TargetFileName) $(IntDir)\*.obj"
+ ExcludedFromBuild="false"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="glib-2.0.lib gobject-2.0.lib gdk-win32-2.0.lib gdk_pixbuf-2.0.lib gtk-win32-2.0.lib glibmm-2.4.lib sigc-2.0.lib cairomm-1.0.lib"
+ ModuleDefinitionFile="$(ConfigurationName)\$(InputName).def"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\gdk\gdkmm\bitmap.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\color.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\colormap.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\cursor.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\device.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\display.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\displaymanager.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\dragcontext.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\drawable.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\event.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\gc.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\general.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\image.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\pixbuf.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\pixbufanimation.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\pixbufanimationiter.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\pixbufformat.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\pixbufloader.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\pixmap.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\rectangle.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\region.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\rgb.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\rgbcmap.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\screen.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\types.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\visual.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\window.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\wrap_init.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\..\gdk\gdkmm\bitmap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\color.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\colormap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\cursor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\device.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\display.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\displaymanager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\dragcontext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\drawable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\event.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\gc.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\general.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\image.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\list.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\pixbuf.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\pixbufanimation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\pixbufanimationiter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\pixbufformat.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\pixbufloader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\pixmap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\rectangle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\region.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\rgb.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\rgbcmap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\screen.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\visual.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\window.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gdk\gdkmm\wrap_init.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ <File
+ RelativePath=".\gdkmm.rc"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/gtkmm2/gdk/gdkmmconfig.h b/libs/gtkmm2/MSVC_Net2003/gdkmm/gdkmmconfig.h
index 26f39b4b3d..e7b015600d 100644
--- a/libs/gtkmm2/gdk/gdkmmconfig.h
+++ b/libs/gtkmm2/MSVC_Net2003/gdkmm/gdkmmconfig.h
@@ -4,5 +4,7 @@
#include <glibmmconfig.h>
+/* #undef GDKMM_DISABLE_DEPRECATED */
+
#endif /* _GDKMM_CONFIG_H */
diff --git a/libs/gtkmm2/MSVC_Net2003/gendef/Makefile.am b/libs/gtkmm2/MSVC_Net2003/gendef/Makefile.am
new file mode 100644
index 0000000000..3a435c34a2
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/gendef/Makefile.am
@@ -0,0 +1,2 @@
+EXTRA_DIST = gendef.vcproj gendef.cc
+
diff --git a/libs/gtkmm2/MSVC_Net2003/gendef/Makefile.in b/libs/gtkmm2/MSVC_Net2003/gendef/Makefile.in
new file mode 100644
index 0000000000..46e586ee78
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/gendef/Makefile.in
@@ -0,0 +1,356 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = MSVC_Net2003/gendef
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = gendef.vcproj gendef.cc
+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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/gendef/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu MSVC_Net2003/gendef/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
+
+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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+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:
+
+.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 \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/MSVC_Net2003/gendef/gendef.cc b/libs/gtkmm2/MSVC_Net2003/gendef/gendef.cc
new file mode 100755
index 0000000000..cf665604ae
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/gendef/gendef.cc
@@ -0,0 +1,94 @@
+/*
+ * MICO --- an Open Source CORBA implementation
+ * Copyright (c) 2003 Harald Böhme
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * For more information, visit the MICO Home Page at
+ * http://www.mico.org/
+ */
+
+/* Modified by Cedric Gustin <cedric.gustin@gmail.com> on 2006/01/13 :
+ * Redirect the output of dumpbin to dumpbin.out instead of reading the
+ * output stream of popen, as it fails with Visual Studio 2005 in
+ * pre-link build events.
+ */
+
+#include <iostream>
+#include <fstream>
+#include <stdio.h>
+
+using namespace std;
+
+int main(int argc,char** argv)
+{
+ if (argc < 4) {
+ cerr << "Usage: " << argv[0] << " <def-file-name> <dll-base-name> <obj-file> ...." << endl;
+ return 2;
+ }
+
+ // CG : Explicitly redirect stdout to dumpbin.out.
+ string dumpbin = "dumpbin /SYMBOLS /OUT:dumpbin.out";
+ int i = 3;
+
+ for(;i<argc;) {
+ dumpbin += " ";
+ dumpbin += argv[i++];
+ }
+
+ FILE * dump;
+
+ if( (dump = _popen(dumpbin.c_str(),"r")) == NULL ) {
+ cerr << "could not popen dumpbin" << endl;
+ return 3;
+ }
+
+ // CG : Wait for the dumpbin process to finish and open dumpbin.out.
+ _pclose(dump);
+ dump=fopen("dumpbin.out","r");
+
+ ofstream def_file(argv[1]);
+
+ def_file << "LIBRARY " << argv[2] << endl;
+ def_file << "EXPORTS" << endl;
+
+ i=0;
+ while( !feof(dump)) {
+ char buf [65000];
+
+ if( fgets( buf, 64999, dump ) != NULL ) {
+ if(!strstr(buf," UNDEF ") && strstr(buf," External ")) {
+ char *s = strchr(buf,'|') + 1;
+ while(*s == ' ' || *s == '\t') s++;
+ char *e=s;
+ while(*e != ' ' && *e != '\t' && *e != '\0' && *e!= '\n') e++;
+ *e = '\0';
+
+ if(strchr(s,'?')==0 && s[0]=='_' && strchr(s,'@') == 0 )//this is a C export type: _fct -> fct
+ def_file << " " << (s+1) << endl;
+ else
+ if(strchr(s,'?')!=0 && strncmp(s,"??_G",4)!=0 && strncmp(s,"??_E",4)!=0) {
+ def_file << " " << s << endl;
+ }
+ }
+ }
+ }
+
+ // CG : Close dumpbin.out and delete it.
+ fclose(dump);
+ remove("dumpbin.out");
+
+ cout << dumpbin.c_str() << endl;
+}
diff --git a/libs/glibmm2/MSVC_Net2003/examples/thread_pool/thread_pool.vcproj b/libs/gtkmm2/MSVC_Net2003/gendef/gendef.vcproj
index bff1cd5286..bcd3f78cf9 100755
--- a/libs/glibmm2/MSVC_Net2003/examples/thread_pool/thread_pool.vcproj
+++ b/libs/gtkmm2/MSVC_Net2003/gendef/gendef.vcproj
@@ -1,212 +1,204 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="examples_thread_pool"
- ProjectGUID="{962484DB-2111-48A4-BEF0-194433719D0D}"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\glib&quot;"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="gthread-2.0.lib sigc-2.0d.lib"
- OutputFile="$(OutDir)/thread_pool.exe"
- LinkIncremental="2"
- GenerateManifest="true"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\glib&quot;"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="gthread-2.0.lib sigc-2.0.lib"
- OutputFile="$(OutDir)/thread_pool.exe"
- LinkIncremental="1"
- GenerateManifest="true"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\..\blank.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\examples\thread\threadpool.cc"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="gendef"
+ ProjectGUID="{07324745-C9BE-4D65-B08A-9C88188C0C28}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/gendef.exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/gendef.pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/gendef.exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\blank.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ <File
+ RelativePath=".\gendef.cc"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/gtkmm2/MSVC_Net2003/gtkmm.sln b/libs/gtkmm2/MSVC_Net2003/gtkmm.sln
new file mode 100755
index 0000000000..94cb298a4c
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/gtkmm.sln
@@ -0,0 +1,251 @@
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual C++ Express 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdkmm-2.4", "gdkmm\gdkmm.vcproj", "{976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E}"
+ ProjectSection(ProjectDependencies) = postProject
+ {6EF7CB5B-9781-4CC0-979B-A067E0A088BB} = {6EF7CB5B-9781-4CC0-979B-A067E0A088BB}
+ {07324745-C9BE-4D65-B08A-9C88188C0C28} = {07324745-C9BE-4D65-B08A-9C88188C0C28}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtkmm-2.4", "gtkmm\gtkmm.vcproj", "{907B8D15-7E12-4136-A7E6-B6ED5E055D39}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2} = {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}
+ {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E} = {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E}
+ {6EF7CB5B-9781-4CC0-979B-A067E0A088BB} = {6EF7CB5B-9781-4CC0-979B-A067E0A088BB}
+ {07324745-C9BE-4D65-B08A-9C88188C0C28} = {07324745-C9BE-4D65-B08A-9C88188C0C28}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "atkmm-1.6", "atkmm\atkmm.vcproj", "{9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}"
+ ProjectSection(ProjectDependencies) = postProject
+ {07324745-C9BE-4D65-B08A-9C88188C0C28} = {07324745-C9BE-4D65-B08A-9C88188C0C28}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pangomm-1.4", "pangomm\pangomm.vcproj", "{6EF7CB5B-9781-4CC0-979B-A067E0A088BB}"
+ ProjectSection(ProjectDependencies) = postProject
+ {07324745-C9BE-4D65-B08A-9C88188C0C28} = {07324745-C9BE-4D65-B08A-9C88188C0C28}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gendef", "gendef\gendef.vcproj", "{07324745-C9BE-4D65-B08A-9C88188C0C28}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "demos_gtk-demo", "demos\gtk-demo\gtk-demo.vcproj", "{5A8BBE25-E8D8-487B-AD2D-690438F09FA1}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2} = {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}
+ {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E} = {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E}
+ {6EF7CB5B-9781-4CC0-979B-A067E0A088BB} = {6EF7CB5B-9781-4CC0-979B-A067E0A088BB}
+ {907B8D15-7E12-4136-A7E6-B6ED5E055D39} = {907B8D15-7E12-4136-A7E6-B6ED5E055D39}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_arrow", "examples\arrow\arrow.vcproj", "{9FE8A8EC-8254-4ACC-B611-A3EE50DA4233}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2} = {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}
+ {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E} = {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E}
+ {6EF7CB5B-9781-4CC0-979B-A067E0A088BB} = {6EF7CB5B-9781-4CC0-979B-A067E0A088BB}
+ {907B8D15-7E12-4136-A7E6-B6ED5E055D39} = {907B8D15-7E12-4136-A7E6-B6ED5E055D39}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_direction", "examples\direction\direction.vcproj", "{3DD95190-066E-42A6-89C6-CA6A54321C87}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2} = {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}
+ {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E} = {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E}
+ {6EF7CB5B-9781-4CC0-979B-A067E0A088BB} = {6EF7CB5B-9781-4CC0-979B-A067E0A088BB}
+ {907B8D15-7E12-4136-A7E6-B6ED5E055D39} = {907B8D15-7E12-4136-A7E6-B6ED5E055D39}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_calendar", "examples\calendar\calendar.vcproj", "{A5DE0D48-0A8F-4BF3-A816-F2D81E7CB43B}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2} = {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}
+ {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E} = {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E}
+ {6EF7CB5B-9781-4CC0-979B-A067E0A088BB} = {6EF7CB5B-9781-4CC0-979B-A067E0A088BB}
+ {907B8D15-7E12-4136-A7E6-B6ED5E055D39} = {907B8D15-7E12-4136-A7E6-B6ED5E055D39}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_cellrenderercustom_toggle", "examples\cellrenderercustom_toggle\cellrenderercustom_toggle.vcproj", "{7015D351-A17B-4C60-951E-F7067925DADA}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2} = {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}
+ {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E} = {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E}
+ {6EF7CB5B-9781-4CC0-979B-A067E0A088BB} = {6EF7CB5B-9781-4CC0-979B-A067E0A088BB}
+ {907B8D15-7E12-4136-A7E6-B6ED5E055D39} = {907B8D15-7E12-4136-A7E6-B6ED5E055D39}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_cellrenderercustom_popup", "examples\cellrenderercustom_popup\cellrenderercustom_popup.vcproj", "{DF428E3D-31F2-4F50-9187-0176351CFD42}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2} = {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}
+ {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E} = {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E}
+ {6EF7CB5B-9781-4CC0-979B-A067E0A088BB} = {6EF7CB5B-9781-4CC0-979B-A067E0A088BB}
+ {907B8D15-7E12-4136-A7E6-B6ED5E055D39} = {907B8D15-7E12-4136-A7E6-B6ED5E055D39}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_dnd", "examples\dnd\dnd.vcproj", "{0BB91EA6-923E-4181-8A8C-480BD1D60B18}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2} = {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}
+ {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E} = {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E}
+ {6EF7CB5B-9781-4CC0-979B-A067E0A088BB} = {6EF7CB5B-9781-4CC0-979B-A067E0A088BB}
+ {907B8D15-7E12-4136-A7E6-B6ED5E055D39} = {907B8D15-7E12-4136-A7E6-B6ED5E055D39}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_window", "examples\window\window.vcproj", "{C4F1EA94-465A-416C-B7AA-160BBF2552C1}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2} = {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}
+ {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E} = {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E}
+ {6EF7CB5B-9781-4CC0-979B-A067E0A088BB} = {6EF7CB5B-9781-4CC0-979B-A067E0A088BB}
+ {907B8D15-7E12-4136-A7E6-B6ED5E055D39} = {907B8D15-7E12-4136-A7E6-B6ED5E055D39}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_treemodelcustom", "examples\treemodelcustom\treemodelcustom.vcproj", "{40691C26-671D-4485-AB13-A7E596E5E9AC}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2} = {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}
+ {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E} = {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E}
+ {6EF7CB5B-9781-4CC0-979B-A067E0A088BB} = {6EF7CB5B-9781-4CC0-979B-A067E0A088BB}
+ {907B8D15-7E12-4136-A7E6-B6ED5E055D39} = {907B8D15-7E12-4136-A7E6-B6ED5E055D39}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_tictactoe", "examples\tictactoe\tictactoe.vcproj", "{CA7153FA-AEEB-4719-9B51-729954F8003D}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2} = {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}
+ {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E} = {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E}
+ {6EF7CB5B-9781-4CC0-979B-A067E0A088BB} = {6EF7CB5B-9781-4CC0-979B-A067E0A088BB}
+ {907B8D15-7E12-4136-A7E6-B6ED5E055D39} = {907B8D15-7E12-4136-A7E6-B6ED5E055D39}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_stock", "examples\stock\stock.vcproj", "{3B1B452B-FB4B-449F-9F38-67226CA174DE}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2} = {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}
+ {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E} = {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E}
+ {6EF7CB5B-9781-4CC0-979B-A067E0A088BB} = {6EF7CB5B-9781-4CC0-979B-A067E0A088BB}
+ {907B8D15-7E12-4136-A7E6-B6ED5E055D39} = {907B8D15-7E12-4136-A7E6-B6ED5E055D39}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_statusbar", "examples\statusbar\statusbar.vcproj", "{942BE422-98AE-4C07-958A-6C6B67EB6F83}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2} = {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}
+ {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E} = {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E}
+ {6EF7CB5B-9781-4CC0-979B-A067E0A088BB} = {6EF7CB5B-9781-4CC0-979B-A067E0A088BB}
+ {907B8D15-7E12-4136-A7E6-B6ED5E055D39} = {907B8D15-7E12-4136-A7E6-B6ED5E055D39}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_rulers", "examples\rulers\rulers.vcproj", "{196D9F62-D2A5-4F6E-A72D-91D11311F96E}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2} = {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}
+ {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E} = {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E}
+ {6EF7CB5B-9781-4CC0-979B-A067E0A088BB} = {6EF7CB5B-9781-4CC0-979B-A067E0A088BB}
+ {907B8D15-7E12-4136-A7E6-B6ED5E055D39} = {907B8D15-7E12-4136-A7E6-B6ED5E055D39}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_gdk", "examples\gdk\gdk.vcproj", "{15E36DAE-0AD8-4021-B1A1-1FEE037734D7}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2} = {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}
+ {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E} = {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E}
+ {6EF7CB5B-9781-4CC0-979B-A067E0A088BB} = {6EF7CB5B-9781-4CC0-979B-A067E0A088BB}
+ {907B8D15-7E12-4136-A7E6-B6ED5E055D39} = {907B8D15-7E12-4136-A7E6-B6ED5E055D39}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_exception", "examples\exception\exception.vcproj", "{74A636AB-D7EB-46F9-9AE1-84D6E9808C7C}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2} = {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}
+ {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E} = {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E}
+ {6EF7CB5B-9781-4CC0-979B-A067E0A088BB} = {6EF7CB5B-9781-4CC0-979B-A067E0A088BB}
+ {907B8D15-7E12-4136-A7E6-B6ED5E055D39} = {907B8D15-7E12-4136-A7E6-B6ED5E055D39}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_printing", "examples\printing\printing.vcproj", "{7EF918D4-969B-45B0-9143-0C95D37FDEAE}"
+ ProjectSection(ProjectDependencies) = postProject
+ {907B8D15-7E12-4136-A7E6-B6ED5E055D39} = {907B8D15-7E12-4136-A7E6-B6ED5E055D39}
+ {6EF7CB5B-9781-4CC0-979B-A067E0A088BB} = {6EF7CB5B-9781-4CC0-979B-A067E0A088BB}
+ {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E} = {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E}
+ {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2} = {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E}.Debug|Win32.Build.0 = Debug|Win32
+ {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E}.Release|Win32.ActiveCfg = Release|Win32
+ {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E}.Release|Win32.Build.0 = Release|Win32
+ {907B8D15-7E12-4136-A7E6-B6ED5E055D39}.Debug|Win32.ActiveCfg = Debug|Win32
+ {907B8D15-7E12-4136-A7E6-B6ED5E055D39}.Debug|Win32.Build.0 = Debug|Win32
+ {907B8D15-7E12-4136-A7E6-B6ED5E055D39}.Release|Win32.ActiveCfg = Release|Win32
+ {907B8D15-7E12-4136-A7E6-B6ED5E055D39}.Release|Win32.Build.0 = Release|Win32
+ {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}.Debug|Win32.Build.0 = Debug|Win32
+ {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}.Release|Win32.ActiveCfg = Release|Win32
+ {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}.Release|Win32.Build.0 = Release|Win32
+ {6EF7CB5B-9781-4CC0-979B-A067E0A088BB}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6EF7CB5B-9781-4CC0-979B-A067E0A088BB}.Debug|Win32.Build.0 = Debug|Win32
+ {6EF7CB5B-9781-4CC0-979B-A067E0A088BB}.Release|Win32.ActiveCfg = Release|Win32
+ {6EF7CB5B-9781-4CC0-979B-A067E0A088BB}.Release|Win32.Build.0 = Release|Win32
+ {07324745-C9BE-4D65-B08A-9C88188C0C28}.Debug|Win32.ActiveCfg = Debug|Win32
+ {07324745-C9BE-4D65-B08A-9C88188C0C28}.Debug|Win32.Build.0 = Debug|Win32
+ {07324745-C9BE-4D65-B08A-9C88188C0C28}.Release|Win32.ActiveCfg = Release|Win32
+ {07324745-C9BE-4D65-B08A-9C88188C0C28}.Release|Win32.Build.0 = Release|Win32
+ {5A8BBE25-E8D8-487B-AD2D-690438F09FA1}.Debug|Win32.ActiveCfg = Debug|Win32
+ {5A8BBE25-E8D8-487B-AD2D-690438F09FA1}.Debug|Win32.Build.0 = Debug|Win32
+ {5A8BBE25-E8D8-487B-AD2D-690438F09FA1}.Release|Win32.ActiveCfg = Release|Win32
+ {5A8BBE25-E8D8-487B-AD2D-690438F09FA1}.Release|Win32.Build.0 = Release|Win32
+ {9FE8A8EC-8254-4ACC-B611-A3EE50DA4233}.Debug|Win32.ActiveCfg = Debug|Win32
+ {9FE8A8EC-8254-4ACC-B611-A3EE50DA4233}.Debug|Win32.Build.0 = Debug|Win32
+ {9FE8A8EC-8254-4ACC-B611-A3EE50DA4233}.Release|Win32.ActiveCfg = Release|Win32
+ {9FE8A8EC-8254-4ACC-B611-A3EE50DA4233}.Release|Win32.Build.0 = Release|Win32
+ {3DD95190-066E-42A6-89C6-CA6A54321C87}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3DD95190-066E-42A6-89C6-CA6A54321C87}.Debug|Win32.Build.0 = Debug|Win32
+ {3DD95190-066E-42A6-89C6-CA6A54321C87}.Release|Win32.ActiveCfg = Release|Win32
+ {3DD95190-066E-42A6-89C6-CA6A54321C87}.Release|Win32.Build.0 = Release|Win32
+ {A5DE0D48-0A8F-4BF3-A816-F2D81E7CB43B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {A5DE0D48-0A8F-4BF3-A816-F2D81E7CB43B}.Debug|Win32.Build.0 = Debug|Win32
+ {A5DE0D48-0A8F-4BF3-A816-F2D81E7CB43B}.Release|Win32.ActiveCfg = Release|Win32
+ {A5DE0D48-0A8F-4BF3-A816-F2D81E7CB43B}.Release|Win32.Build.0 = Release|Win32
+ {7015D351-A17B-4C60-951E-F7067925DADA}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7015D351-A17B-4C60-951E-F7067925DADA}.Debug|Win32.Build.0 = Debug|Win32
+ {7015D351-A17B-4C60-951E-F7067925DADA}.Release|Win32.ActiveCfg = Release|Win32
+ {7015D351-A17B-4C60-951E-F7067925DADA}.Release|Win32.Build.0 = Release|Win32
+ {DF428E3D-31F2-4F50-9187-0176351CFD42}.Debug|Win32.ActiveCfg = Debug|Win32
+ {DF428E3D-31F2-4F50-9187-0176351CFD42}.Debug|Win32.Build.0 = Debug|Win32
+ {DF428E3D-31F2-4F50-9187-0176351CFD42}.Release|Win32.ActiveCfg = Release|Win32
+ {DF428E3D-31F2-4F50-9187-0176351CFD42}.Release|Win32.Build.0 = Release|Win32
+ {0BB91EA6-923E-4181-8A8C-480BD1D60B18}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0BB91EA6-923E-4181-8A8C-480BD1D60B18}.Debug|Win32.Build.0 = Debug|Win32
+ {0BB91EA6-923E-4181-8A8C-480BD1D60B18}.Release|Win32.ActiveCfg = Release|Win32
+ {0BB91EA6-923E-4181-8A8C-480BD1D60B18}.Release|Win32.Build.0 = Release|Win32
+ {C4F1EA94-465A-416C-B7AA-160BBF2552C1}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C4F1EA94-465A-416C-B7AA-160BBF2552C1}.Debug|Win32.Build.0 = Debug|Win32
+ {C4F1EA94-465A-416C-B7AA-160BBF2552C1}.Release|Win32.ActiveCfg = Release|Win32
+ {C4F1EA94-465A-416C-B7AA-160BBF2552C1}.Release|Win32.Build.0 = Release|Win32
+ {40691C26-671D-4485-AB13-A7E596E5E9AC}.Debug|Win32.ActiveCfg = Debug|Win32
+ {40691C26-671D-4485-AB13-A7E596E5E9AC}.Debug|Win32.Build.0 = Debug|Win32
+ {40691C26-671D-4485-AB13-A7E596E5E9AC}.Release|Win32.ActiveCfg = Release|Win32
+ {40691C26-671D-4485-AB13-A7E596E5E9AC}.Release|Win32.Build.0 = Release|Win32
+ {CA7153FA-AEEB-4719-9B51-729954F8003D}.Debug|Win32.ActiveCfg = Debug|Win32
+ {CA7153FA-AEEB-4719-9B51-729954F8003D}.Debug|Win32.Build.0 = Debug|Win32
+ {CA7153FA-AEEB-4719-9B51-729954F8003D}.Release|Win32.ActiveCfg = Release|Win32
+ {CA7153FA-AEEB-4719-9B51-729954F8003D}.Release|Win32.Build.0 = Release|Win32
+ {3B1B452B-FB4B-449F-9F38-67226CA174DE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3B1B452B-FB4B-449F-9F38-67226CA174DE}.Debug|Win32.Build.0 = Debug|Win32
+ {3B1B452B-FB4B-449F-9F38-67226CA174DE}.Release|Win32.ActiveCfg = Release|Win32
+ {3B1B452B-FB4B-449F-9F38-67226CA174DE}.Release|Win32.Build.0 = Release|Win32
+ {942BE422-98AE-4C07-958A-6C6B67EB6F83}.Debug|Win32.ActiveCfg = Debug|Win32
+ {942BE422-98AE-4C07-958A-6C6B67EB6F83}.Debug|Win32.Build.0 = Debug|Win32
+ {942BE422-98AE-4C07-958A-6C6B67EB6F83}.Release|Win32.ActiveCfg = Release|Win32
+ {942BE422-98AE-4C07-958A-6C6B67EB6F83}.Release|Win32.Build.0 = Release|Win32
+ {196D9F62-D2A5-4F6E-A72D-91D11311F96E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {196D9F62-D2A5-4F6E-A72D-91D11311F96E}.Debug|Win32.Build.0 = Debug|Win32
+ {196D9F62-D2A5-4F6E-A72D-91D11311F96E}.Release|Win32.ActiveCfg = Release|Win32
+ {196D9F62-D2A5-4F6E-A72D-91D11311F96E}.Release|Win32.Build.0 = Release|Win32
+ {15E36DAE-0AD8-4021-B1A1-1FEE037734D7}.Debug|Win32.ActiveCfg = Debug|Win32
+ {15E36DAE-0AD8-4021-B1A1-1FEE037734D7}.Debug|Win32.Build.0 = Debug|Win32
+ {15E36DAE-0AD8-4021-B1A1-1FEE037734D7}.Release|Win32.ActiveCfg = Release|Win32
+ {15E36DAE-0AD8-4021-B1A1-1FEE037734D7}.Release|Win32.Build.0 = Release|Win32
+ {74A636AB-D7EB-46F9-9AE1-84D6E9808C7C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {74A636AB-D7EB-46F9-9AE1-84D6E9808C7C}.Debug|Win32.Build.0 = Debug|Win32
+ {74A636AB-D7EB-46F9-9AE1-84D6E9808C7C}.Release|Win32.ActiveCfg = Release|Win32
+ {74A636AB-D7EB-46F9-9AE1-84D6E9808C7C}.Release|Win32.Build.0 = Release|Win32
+ {7EF918D4-969B-45B0-9143-0C95D37FDEAE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7EF918D4-969B-45B0-9143-0C95D37FDEAE}.Debug|Win32.Build.0 = Debug|Win32
+ {7EF918D4-969B-45B0-9143-0C95D37FDEAE}.Release|Win32.ActiveCfg = Release|Win32
+ {7EF918D4-969B-45B0-9143-0C95D37FDEAE}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/libs/gtkmm2/MSVC_Net2003/gtkmm/Makefile.am b/libs/gtkmm2/MSVC_Net2003/gtkmm/Makefile.am
new file mode 100644
index 0000000000..399c7dfed8
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/gtkmm/Makefile.am
@@ -0,0 +1,13 @@
+BUILT_SOURCES = gtkmmconfig.h gtkmm.rc
+
+MAINTAINERCLEANFILES = $(built_sources)
+DISTCLEANFILES = gtkmmconfig.h
+
+EXTRA_DIST = gtkmmconfig.h gtkmm.vcproj gtkmm.rc
+
+# Copy config file generated by the configure script. Dependency is
+# wht respect to the .h.in file, to prevent an error with 'make distcheck'.
+# See http://sources.redhat.com/automake/automake.html#distcleancheck
+
+gtkmmconfig.h: $(top_srcdir)/gtk/gtkmmconfig.h.in $(top_srcdir)/configure.in
+ cp -f $(top_builddir)/gtk/gtkmmconfig.h $@
diff --git a/libs/glibmm2/MSVC_Net2003/examples/dispatcher2/Makefile.in b/libs/gtkmm2/MSVC_Net2003/gtkmm/Makefile.in
index 2abeacdce7..09ab0253f2 100644
--- a/libs/glibmm2/MSVC_Net2003/examples/dispatcher2/Makefile.in
+++ b/libs/gtkmm2/MSVC_Net2003/gtkmm/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 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.
@@ -13,15 +13,11 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -35,31 +31,29 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-subdir = MSVC_Net2003/examples/dispatcher2
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+subdir = MSVC_Net2003/gtkmm
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(srcdir)/gtkmm.rc.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
$(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES = gtkmm.rc
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -75,37 +69,44 @@ CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
DEPDIR = @DEPDIR@
DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
@@ -113,43 +114,33 @@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@
MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
+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_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -161,30 +152,45 @@ 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@
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@
-EXTRA_DIST = dispatcher2.vcproj
-all: all-am
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+BUILT_SOURCES = gtkmmconfig.h gtkmm.rc
+MAINTAINERCLEANFILES = $(built_sources)
+DISTCLEANFILES = gtkmmconfig.h
+EXTRA_DIST = gtkmmconfig.h gtkmm.vcproj gtkmm.rc
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@@ -196,9 +202,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/dispatcher2/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/gtkmm/Makefile'; \
cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu MSVC_Net2003/examples/dispatcher2/Makefile
+ $(AUTOMAKE) --gnu MSVC_Net2003/gtkmm/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -216,16 +222,14 @@ $(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
+gtkmm.rc: $(top_builddir)/config.status $(srcdir)/gtkmm.rc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
tags: TAGS
TAGS:
@@ -234,22 +238,21 @@ CTAGS:
distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @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; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -261,10 +264,12 @@ distdir: $(DISTFILES)
fi; \
done
check-am: all-am
-check: check-am
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
all-am: Makefile
installdirs:
-install: install-am
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
@@ -284,17 +289,20 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
+distclean-am: clean-am distclean-generic
dvi: dvi-am
@@ -308,12 +316,20 @@ info-am:
install-data-am:
+install-dvi: install-dvi-am
+
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
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -332,18 +348,28 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
+uninstall-am:
+
+.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-exec install-exec-am \
- install-info install-info-am install-man install-strip \
+ 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 \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+
+# Copy config file generated by the configure script. Dependency is
+# wht respect to the .h.in file, to prevent an error with 'make distcheck'.
+# See http://sources.redhat.com/automake/automake.html#distcleancheck
+gtkmmconfig.h: $(top_srcdir)/gtk/gtkmmconfig.h.in $(top_srcdir)/configure.in
+ cp -f $(top_builddir)/gtk/gtkmmconfig.h $@
# 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:
diff --git a/libs/gtkmm2/MSVC_Net2003/gtkmm/gtkmm.rc b/libs/gtkmm2/MSVC_Net2003/gtkmm/gtkmm.rc
new file mode 100644
index 0000000000..152ac15531
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/gtkmm/gtkmm.rc
@@ -0,0 +1,72 @@
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+
+#include "afxres.h"
+
+#undef APSTUDIO_READONLY_SYMBOLS
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 2,12,3,1
+ PRODUCTVERSION 2,12,3,1
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "CompanyName", "The gtkmm development team (see AUTHORS)"
+ VALUE "FileDescription", "The official C++ wrapper for gtk+"
+ VALUE "FileVersion", "2.12.3"
+ VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)"
+ VALUE "OriginalFilename", "gtkmm-2.4"
+ VALUE "ProductName", "gtkmm"
+ VALUE "ProductVersion", "2.12.3"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
+
+#endif // English (U.S.) resources
+
+#ifndef APSTUDIO_INVOKED
+
+#endif // not APSTUDIO_INVOKED
diff --git a/libs/gtkmm2/MSVC_Net2003/gtkmm/gtkmm.rc.in b/libs/gtkmm2/MSVC_Net2003/gtkmm/gtkmm.rc.in
new file mode 100755
index 0000000000..0a4193d376
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/gtkmm/gtkmm.rc.in
@@ -0,0 +1,72 @@
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+
+#include "afxres.h"
+
+#undef APSTUDIO_READONLY_SYMBOLS
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION @GTKMM_MAJOR_VERSION@,@GTKMM_MINOR_VERSION@,@GTKMM_MICRO_VERSION@,1
+ PRODUCTVERSION @GTKMM_MAJOR_VERSION@,@GTKMM_MINOR_VERSION@,@GTKMM_MICRO_VERSION@,1
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "CompanyName", "The gtkmm development team (see AUTHORS)"
+ VALUE "FileDescription", "The official C++ wrapper for gtk+"
+ VALUE "FileVersion", "@VERSION@"
+ VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)"
+ VALUE "OriginalFilename", "gtkmm-2.4"
+ VALUE "ProductName", "gtkmm"
+ VALUE "ProductVersion", "@VERSION@"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
+
+#endif // English (U.S.) resources
+
+#ifndef APSTUDIO_INVOKED
+
+#endif // not APSTUDIO_INVOKED
diff --git a/libs/gtkmm2/MSVC_Net2003/gtkmm/gtkmm.vcproj b/libs/gtkmm2/MSVC_Net2003/gtkmm/gtkmm.vcproj
new file mode 100755
index 0000000000..dbb09fa927
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/gtkmm/gtkmm.vcproj
@@ -0,0 +1,1561 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="gtkmm-2.4"
+ ProjectGUID="{907B8D15-7E12-4136-A7E6-B6ED5E055D39}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ Optimization="0"
+ AdditionalIncludeDirectories=".;../../atk;../../pango;../gdkmm;../../gdk;../../gtk"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;GTKMM_BUILD"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ Description="Generate gtkmm def file"
+ CommandLine="$(SolutionDir)gendef\$(ConfigurationName)\gendef $(ConfigurationName)\$(InputName).def $(TargetFileName) $(IntDir)\*.obj"
+ ExcludedFromBuild="false"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="glib-2.0.lib gobject-2.0.lib gdk-win32-2.0.lib gtk-win32-2.0.lib glibmm-2.4d.lib sigc-2.0d.lib cairomm-1.0d.lib"
+ OutputFile="$(OutDir)/$(ProjectName)d.dll"
+ ModuleDefinitionFile="$(ConfigurationName)\$(InputName).def"
+ GenerateDebugInformation="true"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ AdditionalIncludeDirectories=".;../../atk;../../pango;../gdkmm;../../gdk;../../gtk"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;GTKMM_BUILD"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ DisableSpecificWarnings="4250"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ Description="Generate gtkmm def file"
+ CommandLine="$(SolutionDir)gendef\$(ConfigurationName)\gendef $(ConfigurationName)\$(InputName).def $(TargetFileName) $(IntDir)\*.obj"
+ ExcludedFromBuild="false"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="glib-2.0.lib gobject-2.0.lib gdk-win32-2.0.lib gtk-win32-2.0.lib glibmm-2.4.lib sigc-2.0.lib cairomm-1.0.lib"
+ ModuleDefinitionFile="$(ConfigurationName)\$(InputName).def"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ >
+ <File
+ RelativePath="..\..\gtk\gtkmm\aboutdialog.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\accelgroup.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\accelkey.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\accellabel.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\accelmap.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\action.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\actiongroup.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\adjustment.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\alignment.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\arrow.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\aspectframe.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\assistant.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\bin.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\box.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\button.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\buttonbox.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\calendar.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\celleditable.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\celllayout.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\cellrenderer.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\cellrenderer_generation.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\cellrendereraccel.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\cellrenderercombo.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\cellrendererpixbuf.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\cellrendererprogress.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\cellrendererspin.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\cellrenderertext.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\cellrenderertoggle.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\cellview.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\checkbutton.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\checkmenuitem.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\clipboard.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\colorbutton.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\colorselection.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\combo.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\combobox.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\comboboxentry.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\comboboxentrytext.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\comboboxtext.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\container.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\curve.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\dialog.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\drawingarea.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\editable.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\entry.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\entrycompletion.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\enums.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\eventbox.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\expander.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\filechooser.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\filechooserbutton.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\filechooserdialog.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\filechooserwidget.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\filefilter.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\fileselection.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\fixed.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\fontbutton.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\fontselection.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\frame.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\handlebox.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\iconfactory.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\iconinfo.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\iconset.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\iconsource.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\icontheme.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\iconview.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\image.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\imagemenuitem.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\inputdialog.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\invisible.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\item.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\label.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\layout.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\linkbutton.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\liststore.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\listviewtext.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\main.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\menu.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\menu_elems.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\menubar.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\menuitem.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\menushell.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\menutoolbutton.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\messagedialog.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\misc.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\notebook.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\object.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\optionmenu.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\pagesetup.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\paned.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\papersize.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\plug.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\printcontext.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\printoperation.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\printoperationpreview.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\printsettings.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\progressbar.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\radioaction.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\radiobutton.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\radiobuttongroup.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\radiomenuitem.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\radiotoolbutton.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\range.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\rc.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\recentchooser.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\recentchooserdialog.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\recentchoosermenu.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\recentchooserwidget.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\recentfilter.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\recentinfo.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\recentmanager.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\ruler.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\scale.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\scrollbar.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\scrolledwindow.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\selectiondata.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\selectiondata_private.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\separator.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\separatormenuitem.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\separatortoolitem.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\settings.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\sizegroup.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\socket.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\spinbutton.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\statusbar.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\statusicon.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\stock.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\stockid.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\stockitem.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\style.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\table.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\targetentry.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\targetlist.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\tearoffmenuitem.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\textattributes.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\textbuffer.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\textchildanchor.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\textiter.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\textmark.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\texttag.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\texttagtable.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\textview.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\toggleaction.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\togglebutton.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\toggletoolbutton.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\toolbar.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\toolbutton.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\toolitem.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\tooltips.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treedragdest.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treedragsource.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treeiter.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treemodel.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treemodelcolumn.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treemodelfilter.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treemodelsort.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treepath.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treerowreference.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treeselection.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treesortable.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treestore.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treeview.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treeview_private.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treeviewcolumn.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\uimanager.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\viewport.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\widget.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\window.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\wrap_init.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\..\gtk\gtkmm\aboutdialog.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\accelgroup.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\accelkey.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\accellabel.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\accelmap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\action.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\actiongroup.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\adjustment.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\alignment.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\arrow.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\aspectframe.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\assistant.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\base.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\bin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\box.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\button.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\buttonbox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\calendar.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\celleditable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\celllayout.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\cellrenderer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\cellrenderer_generation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\cellrendereraccel.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\cellrenderercombo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\cellrendererpixbuf.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\cellrendererprogress.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\cellrendererspin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\cellrenderertext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\cellrenderertoggle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\cellview.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\checkbutton.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\checkmenuitem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\clipboard.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\colorbutton.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\colorselection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\combo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\combobox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\comboboxentry.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\comboboxentrytext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\comboboxtext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\container.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\curve.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\dialog.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\drawingarea.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\editable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\entry.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\entrycompletion.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\enums.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\eventbox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\expander.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\filechooser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\filechooserbutton.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\filechooserdialog.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\filechooserwidget.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\filefilter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\fileselection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\fixed.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\fontbutton.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\fontselection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\frame.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\handlebox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\iconfactory.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\iconinfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\iconset.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\iconsource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\icontheme.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\iconview.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\image.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\imagemenuitem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\inputdialog.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\invisible.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\item.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\label.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\layout.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\linkbutton.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\liststore.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\listviewtext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\main.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\menu.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\menu_elems.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\menubar.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\menuitem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\menushell.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\menutoolbutton.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\messagedialog.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\misc.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\notebook.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\object.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\optionmenu.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\pagesetup.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\paned.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\papersize.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\plug.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\printcontext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\printoperation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\printoperationpreview.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\printsettings.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\progressbar.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\radioaction.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\radiobutton.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\radiobuttongroup.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\radiomenuitem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\radiotoolbutton.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\range.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\rc.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\recentchooser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\recentchooserdialog.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\recentchoosermenu.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\recentchooserwidget.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\recentfilter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\recentinfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\recentmanager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\ruler.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\scale.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\scrollbar.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\scrolledwindow.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\selectiondata.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\selectiondata_private.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\separator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\separatormenuitem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\separatortoolitem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\settings.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\sizegroup.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\socket.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\spinbutton.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\statusbar.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\statusicon.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\stock.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\stockid.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\stockitem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\style.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\table.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\targetentry.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\targetlist.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\tearoffmenuitem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\textattributes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\textbuffer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\textchildanchor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\textiter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\textmark.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\texttag.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\texttagtable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\textview.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\toggleaction.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\togglebutton.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\toggletoolbutton.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\toolbar.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\toolbutton.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\toolitem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\tooltips.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treedragdest.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treedragsource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treeiter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treemodel.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treemodelcolumn.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treemodelfilter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treemodelsort.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treepath.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treerowreference.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treeselection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treesortable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treestore.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treeview.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treeview_private.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\treeviewcolumn.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\uimanager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\viewport.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\widget.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\window.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\gtk\gtkmm\wrap_init.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ <File
+ RelativePath=".\gtkmm.rc"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/gtkmm2/gtk/gtkmmconfig.h b/libs/gtkmm2/MSVC_Net2003/gtkmm/gtkmmconfig.h
index 939e7fddbf..5b2eed88fe 100644
--- a/libs/gtkmm2/gtk/gtkmmconfig.h
+++ b/libs/gtkmm2/MSVC_Net2003/gtkmm/gtkmmconfig.h
@@ -6,8 +6,8 @@
/* version numbers */
#define GTKMM_MAJOR_VERSION 2
-#define GTKMM_MINOR_VERSION 10
-#define GTKMM_MICRO_VERSION 8
+#define GTKMM_MINOR_VERSION 12
+#define GTKMM_MICRO_VERSION 3
#define GTKMM_ATKMM_ENABLED 1
/* #undef GTKMM_MAEMO_EXTENSIONS_ENABLED */
@@ -44,5 +44,7 @@
#define GTKMM_API
#endif /* GLIBMM_DLL */
+/* #undef GTKMM_DISABLE_DEPRECATED */
+
#endif /* _GTKMM_CONFIG_H */
diff --git a/libs/gtkmm2/MSVC_Net2003/pangomm/Makefile.am b/libs/gtkmm2/MSVC_Net2003/pangomm/Makefile.am
new file mode 100644
index 0000000000..815ddd42b4
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/pangomm/Makefile.am
@@ -0,0 +1,3 @@
+BUILT_SOURCES = pangomm.rc
+
+EXTRA_DIST = pangomm.vcproj pangomm.rc
diff --git a/libs/glibmm2/MSVC_Net2003/examples/thread_pool/Makefile.in b/libs/gtkmm2/MSVC_Net2003/pangomm/Makefile.in
index fe09c81b02..42a4d6bfc2 100644
--- a/libs/glibmm2/MSVC_Net2003/examples/thread_pool/Makefile.in
+++ b/libs/gtkmm2/MSVC_Net2003/pangomm/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 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.
@@ -13,15 +13,11 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -35,31 +31,29 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-subdir = MSVC_Net2003/examples/thread_pool
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+subdir = MSVC_Net2003/pangomm
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(srcdir)/pangomm.rc.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
$(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES = pangomm.rc
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -75,37 +69,44 @@ CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
DEPDIR = @DEPDIR@
DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
@@ -113,43 +114,33 @@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@
MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
+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_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -161,30 +152,43 @@ 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@
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@
-EXTRA_DIST = thread_pool.vcproj
-all: all-am
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+BUILT_SOURCES = pangomm.rc
+EXTRA_DIST = pangomm.vcproj pangomm.rc
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@@ -196,9 +200,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/examples/thread_pool/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC_Net2003/pangomm/Makefile'; \
cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu MSVC_Net2003/examples/thread_pool/Makefile
+ $(AUTOMAKE) --gnu MSVC_Net2003/pangomm/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -216,16 +220,14 @@ $(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
+pangomm.rc: $(top_builddir)/config.status $(srcdir)/pangomm.rc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
tags: TAGS
TAGS:
@@ -234,22 +236,21 @@ CTAGS:
distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @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; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -261,10 +262,12 @@ distdir: $(DISTFILES)
fi; \
done
check-am: all-am
-check: check-am
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
all-am: Makefile
installdirs:
-install: install-am
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
@@ -288,13 +291,14 @@ distclean-generic:
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
+distclean-am: clean-am distclean-generic
dvi: dvi-am
@@ -308,12 +312,20 @@ info-am:
install-data-am:
+install-dvi: install-dvi-am
+
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
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -332,17 +344,20 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
+uninstall-am:
+
+.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-exec install-exec-am \
- install-info install-info-am install-man install-strip \
+ 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 \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
# 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.
diff --git a/libs/gtkmm2/MSVC_Net2003/pangomm/pangomm.rc b/libs/gtkmm2/MSVC_Net2003/pangomm/pangomm.rc
new file mode 100644
index 0000000000..bab197802f
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/pangomm/pangomm.rc
@@ -0,0 +1,72 @@
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+
+#include "afxres.h"
+
+#undef APSTUDIO_READONLY_SYMBOLS
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 2,12,3,1
+ PRODUCTVERSION 2,12,3,1
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "CompanyName", "The gtkmm development team (see AUTHORS)"
+ VALUE "FileDescription", "The official C++ wrapper for pango"
+ VALUE "FileVersion", "2.12.3"
+ VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)"
+ VALUE "OriginalFilename", "pangomm-1.4"
+ VALUE "ProductName", "gtkmm"
+ VALUE "ProductVersion", "2.12.3"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
+
+#endif // English (U.S.) resources
+
+#ifndef APSTUDIO_INVOKED
+
+#endif // not APSTUDIO_INVOKED
diff --git a/libs/gtkmm2/MSVC_Net2003/pangomm/pangomm.rc.in b/libs/gtkmm2/MSVC_Net2003/pangomm/pangomm.rc.in
new file mode 100755
index 0000000000..20093b9ca4
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/pangomm/pangomm.rc.in
@@ -0,0 +1,72 @@
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+
+#include "afxres.h"
+
+#undef APSTUDIO_READONLY_SYMBOLS
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION @GTKMM_MAJOR_VERSION@,@GTKMM_MINOR_VERSION@,@GTKMM_MICRO_VERSION@,1
+ PRODUCTVERSION @GTKMM_MAJOR_VERSION@,@GTKMM_MINOR_VERSION@,@GTKMM_MICRO_VERSION@,1
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "CompanyName", "The gtkmm development team (see AUTHORS)"
+ VALUE "FileDescription", "The official C++ wrapper for pango"
+ VALUE "FileVersion", "@VERSION@"
+ VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)"
+ VALUE "OriginalFilename", "pangomm-1.4"
+ VALUE "ProductName", "gtkmm"
+ VALUE "ProductVersion", "@VERSION@"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
+
+#endif // English (U.S.) resources
+
+#ifndef APSTUDIO_INVOKED
+
+#endif // not APSTUDIO_INVOKED
diff --git a/libs/gtkmm2/MSVC_Net2003/pangomm/pangomm.vcproj b/libs/gtkmm2/MSVC_Net2003/pangomm/pangomm.vcproj
new file mode 100755
index 0000000000..dd532b9fb0
--- /dev/null
+++ b/libs/gtkmm2/MSVC_Net2003/pangomm/pangomm.vcproj
@@ -0,0 +1,430 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="pangomm-1.4"
+ ProjectGUID="{6EF7CB5B-9781-4CC0-979B-A067E0A088BB}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../pango"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PANGOMM_BUILD"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ Description="Generate pangomm def file"
+ CommandLine="$(SolutionDir)gendef\$(ConfigurationName)\gendef $(ConfigurationName)\$(InputName).def $(TargetFileName) $(IntDir)\*.obj"
+ ExcludedFromBuild="false"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="glib-2.0.lib gobject-2.0.lib pango-1.0.lib pangocairo-1.0.lib sigc-2.0d.lib glibmm-2.4d.lib cairomm-1.0d.lib"
+ OutputFile="$(OutDir)/$(ProjectName)d.dll"
+ ModuleDefinitionFile="$(ConfigurationName)\$(InputName).def"
+ GenerateDebugInformation="true"
+ ImportLibrary="$(OutDir)/$(TargetName).lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/vd2"
+ AdditionalIncludeDirectories="../../pango"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL"
+ RuntimeLibrary="2"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ Description="Generate pangomm def file"
+ CommandLine="$(SolutionDir)gendef\$(ConfigurationName)\gendef $(ConfigurationName)\$(InputName).def $(TargetFileName) $(IntDir)\*.obj"
+ ExcludedFromBuild="false"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="glib-2.0.lib gobject-2.0.lib pango-1.0.lib pangocairo-1.0.lib glibmm-2.4.lib sigc-2.0.lib cairomm-1.0.lib"
+ ModuleDefinitionFile="$(ConfigurationName)\$(InputName).def"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\pango\pangomm\attributes.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\attriter.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\attrlist.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\blank.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\cairofontmap.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\color.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\context.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\coverage.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\font.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\fontdescription.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\fontface.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\fontfamily.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\fontmap.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\fontmetrics.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\fontset.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\glyph.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\glyphstring.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\init.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\item.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\language.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\layout.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\layoutiter.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\layoutline.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\layoutrun.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\rectangle.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\renderer.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\tabarray.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\wrap_init.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\..\pango\pangomm\attributes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\attriter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\attrlist.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\cairofontmap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\color.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\context.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\coverage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\font.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\fontdescription.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\fontface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\fontfamily.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\fontmap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\fontmetrics.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\fontset.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\glyph.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\glyphstring.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\init.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\item.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\language.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\layout.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\layoutiter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\layoutline.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\layoutrun.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\rectangle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\renderer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\tabarray.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\types.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pango\pangomm\wrap_init.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ <File
+ RelativePath=".\pangomm.rc"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/libs/gtkmm2/Makefile.am b/libs/gtkmm2/Makefile.am
new file mode 100644
index 0000000000..601f939d1a
--- /dev/null
+++ b/libs/gtkmm2/Makefile.am
@@ -0,0 +1,69 @@
+if GTKMM_ATKMM_ENABLED
+ ATK_SUBDIR=atk
+else
+ ATK_SUBDIR=
+endif
+
+SUBDIRS = tools $(ATK_SUBDIR) pango gdk gtk @EXAMPLE_SUBDIR@ @DEMO_SUBDIR@ @DOCS_SUBDIR@ tests MSVC_Net2003
+DIST_SUBDIRS = $(SUBDIRS) scripts
+
+EXTRA_DIST = build_shared/Makefile_build.am_fragment \
+ build_shared/Makefile_build_gensrc.am_fragment \
+ build_shared/Makefile_gensrc.am_fragment \
+ build_shared/Makefile_conditional.am_fragment \
+ CHANGES README.win32 README.SUN PORTING \
+ autogen.sh
+
+
+all-local:
+ @echo "*** Everything completed ***"
+
+dist-hook:
+ @echo; echo; \
+ echo "**********************************************************"; \
+ echo "* IMPORTANT NOTICE: *"; \
+ echo "* *"; \
+ echo "* Be sure you have done a complete build before running *"; \
+ echo "* 'make dist' or 'make distcheck', because otherwise *"; \
+ echo "* the tarball will _not_ contain the dependency rules *"; \
+ echo "* generated by the compiler. *"; \
+ echo "**********************************************************"; \
+ echo; echo
+
+
+include $(top_srcdir)/docs/Makefile_web.am_fragment
+
+doc_tarball_files = \
+ docs/index.html docs/FAQ/html docs/images/*.gif \
+ docs/reference/html \
+ docs/tutorial/figures/*.png docs/tutorial/html
+
+# This doesn't work very well in a $(srcdir) != $(builddir) setup,
+# but this target is for maintainer use only anyway.
+
+gtkmm-2-4-docs.tar.gz:
+ find examples -name '*.cc' -o -name '*.h' -o -name '*.xpm' -o -name '*.xml' | \
+ tar cf - --files-from - $(doc_tarball_files) | gzip -c --best >$@
+
+# Upload documentation and examples:
+
+post-html-recursive:
+ list='docs examples'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) post-html); \
+ done
+
+post-html-local: gtkmm-2-4-docs.tar.gz
+ rsync $(rsync_args) gtkmm-2-4-docs.tar.gz $$USER@$(web_host):$(web_path_gtkmm)
+
+post-html: post-html-recursive post-html-local
+
+doc-clean-recursive:
+ (cd docs && $(MAKE) $(AM_MAKEFLAGS) doc-clean)
+
+doc-clean: doc-clean-recursive
+
+doc-rebuild:
+ (cd docs && $(MAKE) $(AM_MAKEFLAGS) doc-rebuild)
+
+.PHONY: post-html post-html-local post-html-recursive doc-clean doc-clean-recursive doc-rebuild
+
diff --git a/libs/gtkmm2/Makefile.in b/libs/gtkmm2/Makefile.in
new file mode 100644
index 0000000000..20c556f792
--- /dev/null
+++ b/libs/gtkmm2/Makefile.in
@@ -0,0 +1,736 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = README $(am__configure_deps) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(srcdir)/config.h.in \
+ $(top_srcdir)/configure \
+ $(top_srcdir)/docs/Makefile_web.am_fragment AUTHORS COPYING \
+ ChangeLog INSTALL NEWS
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = config.h $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+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
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+ { test ! -d $(distdir) \
+ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+@GTKMM_ATKMM_ENABLED_FALSE@ATK_SUBDIR =
+@GTKMM_ATKMM_ENABLED_TRUE@ATK_SUBDIR = atk
+SUBDIRS = tools $(ATK_SUBDIR) pango gdk gtk @EXAMPLE_SUBDIR@ @DEMO_SUBDIR@ @DOCS_SUBDIR@ tests MSVC_Net2003
+DIST_SUBDIRS = $(SUBDIRS) scripts
+EXTRA_DIST = build_shared/Makefile_build.am_fragment \
+ build_shared/Makefile_build_gensrc.am_fragment \
+ build_shared/Makefile_gensrc.am_fragment \
+ build_shared/Makefile_conditional.am_fragment \
+ CHANGES README.win32 README.SUN PORTING \
+ autogen.sh
+
+web_host = gtkmm.org
+web_path_gtkmm = /home/murrayc/gtkmm.org/docs/gtkmm-2.4/
+#web_path_gtkmm = /home/groups/g/gt/gtkmm/htdocs/docs/gtkmm-2.4/
+web_path_docs = $(web_path_gtkmm)docs/
+
+#--delete and --delete-after are causing
+# "
+# Invalid file index: 1768710413 (count=0) [receiver]
+# rsync error: protocol incompatibility (code 2) at sender.c(156)
+# "
+# with sourceforge recently (May 2005). murrayc.
+#
+#rsync_args = -vz --rsh ssh --delete --delete-after
+rsync_args = -vz --rsh ssh
+gtkmm_docdir = $(datadir)/doc/gtkmm-2.4/docs
+doc_tarball_files = \
+ docs/index.html docs/FAQ/html docs/images/*.gif \
+ docs/reference/html \
+ docs/tutorial/figures/*.png docs/tutorial/html
+
+all: config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+am--refresh:
+ @:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/docs/Makefile_web.am_fragment $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
+ cd $(srcdir) && $(AUTOMAKE) --gnu \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.h: stamp-h1
+ @if test ! -f $@; then \
+ rm -f stamp-h1; \
+ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
+ else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+ @rm -f stamp-h1
+ cd $(top_builddir) && $(SHELL) ./config.status config.h
+$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_srcdir) && $(AUTOHEADER)
+ rm -f stamp-h1
+ touch $@
+
+distclean-hdr:
+ -rm -f config.h stamp-h1
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+
+# 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):
+ @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; \
+ (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):
+ @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; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (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; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ 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 || \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) config.h.in $(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; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) config.h.in $(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; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ $(am__remove_distdir)
+ test -d $(distdir) || mkdir $(distdir)
+ @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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$(top_distdir)" distdir="$(distdir)" \
+ dist-hook
+ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r $(distdir)
+dist-gzip: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__remove_distdir)
+
+dist-bzip2: distdir
+ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+ $(am__remove_distdir)
+
+dist-tarZ: distdir
+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+ $(am__remove_distdir)
+
+dist-shar: distdir
+ shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ $(am__remove_distdir)
+
+dist-zip: distdir
+ -rm -f $(distdir).zip
+ zip -rq $(distdir).zip $(distdir)
+ $(am__remove_distdir)
+
+dist dist-all: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ case '$(DIST_ARCHIVES)' in \
+ *.tar.gz*) \
+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+ *.tar.bz2*) \
+ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.Z*) \
+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+ *.shar.gz*) \
+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+ *.zip*) \
+ unzip $(distdir).zip ;;\
+ esac
+ chmod -R a-w $(distdir); chmod a+w $(distdir)
+ mkdir $(distdir)/_build
+ mkdir $(distdir)/_inst
+ chmod a-w $(distdir)
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+ && cd $(distdir)/_build \
+ && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ $(DISTCHECK_CONFIGURE_FLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+ distuninstallcheck \
+ && chmod -R a-w "$$dc_install_base" \
+ && ({ \
+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
+ && rm -rf "$$dc_destdir" \
+ && $(MAKE) $(AM_MAKEFLAGS) dist \
+ && rm -rf $(DIST_ARCHIVES) \
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+ $(am__remove_distdir)
+ @(echo "$(distdir) archives ready for distribution: "; \
+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+ @cd $(distuninstallcheck_dir) \
+ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+ || { echo "ERROR: files left after uninstall:" ; \
+ if test -n "$(DESTDIR)"; then \
+ echo " (check DESTDIR support)"; \
+ fi ; \
+ $(distuninstallcheck_listfiles) ; \
+ exit 1; } >&2
+distcleancheck: distclean
+ @if test '$(srcdir)' = . ; then \
+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+ exit 1 ; \
+ fi
+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left in build directory after distclean:" ; \
+ $(distcleancheck_listfiles) ; \
+ exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile config.h all-local
+installdirs: installdirs-recursive
+installdirs-am:
+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)
+
+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 $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-hdr \
+ distclean-libtool distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+ -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:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am all-local am--refresh check check-am clean \
+ clean-generic clean-libtool ctags ctags-recursive dist \
+ dist-all dist-bzip2 dist-gzip dist-hook dist-shar dist-tarZ \
+ dist-zip distcheck distclean distclean-generic distclean-hdr \
+ distclean-libtool distclean-tags distcleancheck distdir \
+ distuninstallcheck 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 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
+
+
+all-local:
+ @echo "*** Everything completed ***"
+
+dist-hook:
+ @echo; echo; \
+ echo "**********************************************************"; \
+ echo "* IMPORTANT NOTICE: *"; \
+ echo "* *"; \
+ echo "* Be sure you have done a complete build before running *"; \
+ echo "* 'make dist' or 'make distcheck', because otherwise *"; \
+ echo "* the tarball will _not_ contain the dependency rules *"; \
+ echo "* generated by the compiler. *"; \
+ echo "**********************************************************"; \
+ echo; echo
+
+# This doesn't work very well in a $(srcdir) != $(builddir) setup,
+# but this target is for maintainer use only anyway.
+
+gtkmm-2-4-docs.tar.gz:
+ find examples -name '*.cc' -o -name '*.h' -o -name '*.xpm' -o -name '*.xml' | \
+ tar cf - --files-from - $(doc_tarball_files) | gzip -c --best >$@
+
+# Upload documentation and examples:
+
+post-html-recursive:
+ list='docs examples'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) post-html); \
+ done
+
+post-html-local: gtkmm-2-4-docs.tar.gz
+ rsync $(rsync_args) gtkmm-2-4-docs.tar.gz $$USER@$(web_host):$(web_path_gtkmm)
+
+post-html: post-html-recursive post-html-local
+
+doc-clean-recursive:
+ (cd docs && $(MAKE) $(AM_MAKEFLAGS) doc-clean)
+
+doc-clean: doc-clean-recursive
+
+doc-rebuild:
+ (cd docs && $(MAKE) $(AM_MAKEFLAGS) doc-rebuild)
+
+.PHONY: post-html post-html-local post-html-recursive doc-clean doc-clean-recursive doc-rebuild
+# 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:
diff --git a/libs/gtkmm2/NEWS b/libs/gtkmm2/NEWS
new file mode 100644
index 0000000000..bf60461e53
--- /dev/null
+++ b/libs/gtkmm2/NEWS
@@ -0,0 +1,2530 @@
+2.12.3:
+
+* Documentation: Improved the devhelp file to
+ - show the full method name, including the class name.
+ - really jump to the method's anchor on the page.
+ (Jonathon Jongsma) Bug #488261
+* Build: Fix the win32 build.
+ (Yevgen Muntyan)
+
+2.12.2:
+
+* IconView: set_cursor(): Actually implement this.
+ (Murray Cumming)
+* LinkButton: Correct the implementation of the
+ constructor that takes just the URI. Bug #492200
+ (Marko Anastasov)
+* Build: Fix the build on MacOS X. Bug #493057.
+ (Alberto Ruiz)
+
+2.12.1:
+
+* PrintOperation: Corrected a reference-counting problem that caused
+ crashes.
+
+2.12:
+
+Changes since gtkmm 2.10:
+
+Gtk:
+* New classes: Builder, RecentAction, Tooltip, VolumeButton.
+* Deprecated the Tooltips class.
+* AboutDialog: Added set/get_program_name() and deprecated
+ set/get_name().
+* Action: Action: Added create_menu().
+* Calendar: Added a get_date() method using Glib::Date.
+* CellLayout: Added get_cells().
+* CellRendererProgress: Added pulse, text-xalign, and
+ text-yalign properties.
+* Entry: Added set_cursor_hadjustment(), get_cursor_hadjustment().
+* EntryCompletion: Added set_inline_selection() and
+ get_inline_selection(), and Added cursor_on_match signal.
+* IconTheme: Added choose_icon(), list_contexts().
+* IconView: Added set_tooltip_item(), set_tooltip_cell(),
+ get_tooltip_context_path() and get_tooltip_context_iter(),
+ convert_widget_to_bin_window_coords()
+* LinkButton: Added set_uri_hook() and unset_uri_hook().
+* MenuToolButton: Added set_arrow_tooltip_text() and
+ set_arrow_tooltip_markup().
+* Notebook: Added set/get_group() and deprecated set/get_group_id().
+* PageSetup: Added to_file(), to_key_file().
+* PaperSize: Added get_paper_sizes(), get_capabilities().
+* Printer: Added list_papers().
+* PrintSettings: Added to_file(), to_key_file().
+* Range: Added set_show_fill_level(), get_show_fill_level(),
+ set_restrict_to_fill_level(), get_restrict_to_fill_level(),
+ set_fill_level(), get_fill_level().
+* RecentAction: Added class.
+* ScaleButton: Added class.
+* StatusIcon: Added set_screen() and get_screen() and
+ popup_menu_at_position().
+ Added popup and activate signals.
+* Stock IDs: Added DISCARD, ORIENTATION_PORTRAIT,
+ ORIENTATION_LANDSCAPE, ORIENTATION_REVERSE_LANDSCAPE,
+ ORIENTATION_REVERSE_PORTRAIT, SELECT_ALL
+* Style: Added attach() detach().
+* TextBuffer: Addded add_mark(), and cursor-position property.
+* TextMark: Added constructor and create() method, though these
+ are usually created via TextBuffer.
+* Toolbar: Added set_icon_size(), unset_icon_size().
+* TreeView: Added is_rubber_banding_active(),
+ convert_widget_to_tree_coords(),
+ convert_tree_to_widget_coords(), convert_widget_to_bin_window_coords(),
+ convert_bin_window_to_widget_coords(), convert_tree_to_bin_window_coords(),
+ convert_bin_window_to_tree_coords(),
+ set_tooltip_row(), set_tooltip_cell(), set_tooltip_column(),
+ get_tooltip_column(), get_tooltip_context_path() and
+ get_tooltip_context_iter().
+* Widget: Added keynav_failed(), error_bell(),
+ modify_cursor(), unset_cursor(),
+ set_has_tooltip(), get_has_tooltip().
+* Window: Added set_opacity(), get_opacity(),
+ set_default_icon_name(), set_accept_focus(),
+ get_accept_focus(), set_focus_on_map() and get_focus_on_map().
+
+Gdk:
+* Display: Added supports_shapes(), supports_input_shapes(),
+ supports_composite().
+* Pixbuf:
+ - Added constructors that do not take dest_x
+ and dest_y (which are ignored in this case).
+* Screen: Added is_composited(), set_font_options(),
+ get_font_options(), set_resolution(), get_resolution(),
+ get_active_window().
+* Window: Added set_composited(), input_shape_combine_mask(),
+ input_shape_combine_region(), set_child_input_shapes(),
+ merge_child_input_shapes(), get_type_hint(), set_startup_id(), beep(),
+ set_opacity().
+
+Pango:
+* Color: Added to_string().
+* Context: Added set_base_gravity(), get_base_gravity(),
+ get_gravity(), set_gravity_hint(), get_gravity_hint().
+* FontDescription: Added set_gravity() and get_gravity().
+* FontFace: Added is_synthesized().
+* GlyphString: Added get_width().
+* Layout: Added is_wrapped(), is_ellipsized() and
+ get_unknown_glyphs_count().
+
+Thanks to Marko Anastasov, Murray Cumming, Daniel Elstner,
+Jonathon Jongsma, Johannes Schmid, and Kalle Vahlman.
+
+2.12.0:
+
+* RecentAction: Rearrange the constructor parameters, to match the other Action classes.
+ Added more default parameters.
+
+2.11.8:
+
+* Gdk::Cairo::set_source_color(), set_source_pixbuf(), set_source_pixmap():
+ Deprecated the existing versions of these methods and added overloads that
+ take a const RefPtr& instead.
+ (Jonathan Jongsma)
+* Deprecated Gdk::Cairo::rectangle(), replacing it with add_rectangle_to_path().
+ and deprecated Gdk::Cairo::region(), replacing it with add_region_to_path(),
+ because these names are clearer.
+ (Jonathan Jongsma)
+* Documentation: Tutorial: DrawingArea: Corrected a mention of
+ PixBuf to Pixbuf. Bug #465961 (Jonathan Jongsma)
+
+2.11.7:
+
+* Some build fixes for some compilers/setups.
+ (Daniel Elstner)
+* Documentation markup change for future appearance
+ in library.gnome.org. (Jonathon Jongsma)
+
+2.11.6:
+
+Gdk:
+* Pixbuf:
+ - Added constructors that do not take dest_x
+ and dest_y (which are ignored in this case).
+ - get_formats(): Corrected the reference counting.
+
+Pango:
+* Color: Added to_string().
+* Context: Added set_base_gravity(), get_base_gravity(),
+ get_gravity(), set_gravity_hint(), get_gravity_hint().
+* FontDescription: Added set_gravity() and get_gravity().
+* FontFace: Added is_synthesized().
+* GlyphString: Added get_width().
+* Layout: Added is_wrapped(), is_ellipsized() and
+ get_unknown_glyphs_count().
+
+Gtk:
+* Builder: Removed get_type_from_name().
+* IconView:
+ - set_tooltip_item(), set_tooltip_cell():
+ Use Tooltip only via a RefPtr.
+ (Murray Cumming)
+ - Added get_tooltip_context_path()
+ and get_tooltip_context_iter().
+ (Marko Anastasov)
+* LinkButton: Added set_uri_hook() and unset_uri_hook().
+* PrintJob: Added a const version of get_surface()
+* PrintSettings: Corrected the typedef for SlotForeach -
+ the ustring&s should be const. I do not believe that anybody could
+ have been using this, so I think it is OK to change it.
+* Tooltip: Added set_tip_area().
+* TreeView:
+ - Added convert_widget_to_tree_coords(),
+ convert_tree_to_widget_coords(), convert_widget_to_bin_window_coords(),
+ convert_bin_window_to_widget_coords(), convert_tree_to_bin_window_coords(),
+ convert_bin_window_to_tree_coords(),
+ set_tooltip_row(), set_tooltip_cell(), set_tooltip_column(),
+ get_tooltip_column().
+ (Murray Cumming)
+ - Added get_tooltip_context_path() and get_tooltip_context_iter().
+ (Marko Anastasov)
+* Widget: Added keynav_failed(), error_bell(),
+ modify_cursor(), unset_cursor(),
+ set_has_tooltip(), get_has_tooltip().
+ (Murray Cumming)
+* Documentation:
+ - Corrected lots of API reference documentation.
+ (Murray Cumming, Marko Anastasov, Jonathan Jongsma)
+ - Added a Tooltip example. (Marko Anastasov)
+
+2.11.5:
+
+Pango:
+* Color: Added to_string().
+* Context: Added set_base_gravity(), get_base_gravity(),
+ get_gravity(), set_gravity_hint(), get_gravity_hint().
+* FontDescription: Added set_gravity() and get_gravity().
+* FontFace: Added is_synthesized().
+* GlyphString: Added get_width().
+* Layout: Added is_wrapped(), is_ellipsized() and
+ get_unknown_glyphs_count().
+
+
+Gdk:
+* Screen: Added is_composited(), set_font_options(),
+ get_font_options(), set_resolution(), get_resolution(),
+ get_active_window().
+
+Gtk:
+* IconView:
+ Added set_tooltip_item(), set_tooltip_cell(),
+ convert_widget_to_bin_window_coords().
+* MenuToolButton.hg: Added set_arrow_tooltip_text() and
+ set_arrow_tooltip_markup().
+* StatusIcon: Added set_screen() and get_screen().
+ (Murray Cumming)
+* TextBuffer: Addded cursor-position property.
+ (Marko Anastasov)
+* TreeVIew: Added is_rubber_banding_active()
+ (Murray Cumming)
+
+2.11.4:
+
+Gtk:
+ * Added Builder, which will eventually replace use of libglade.
+ (Murray Cumming)
+ * Added Tooltip, which replaces the deprecated Tooltips class.
+ (Marko Anastasov)
+ * RecentAction: Added constructor and create() method and an example.
+ (Murray Cumming)
+ * Documentation: Added lots of class overview documentation.
+ (Johannes Schimd)
+
+2.11.3:
+
+Gtk:
+* Action: Added create_menu().
+* CellRendererProgress: Added pulse, text-xalign, and
+ text-yalign properties.
+ (Murray Cumming)
+* DragContext::get_targets(), SelectionData::get_targets():
+ Use the correct intermediate return type, to correct memory
+ management problems. This technically breaks ABI of these two
+ functions, but we believe that it was impossible to use them before,
+ so no applications should be broken by this improvement.
+ (Murray Cummng, Daniel Elstner) Bug #399403 (Yannick Guesnet)
+* EntryCompletion: Added set_inline_selection() and
+ get_inline_selection().
+ Added cursor_on_match signal, though without a default signal
+ handlers, to preserve ABI.
+ Added inline-selection property.
+* Notebook: Added const versions of get_n_pages() and page_num(),
+ deprecating the non-const methods. Bug #442284 (Tomasz Ostrowski).
+* Printer: Added list_papers().
+* Range: Added set_show_fill_level(), get_show_fill_level(),
+ set_restrict_to_fill_level(), get_restrict_to_fill_level(),
+ set_fill_level(), get_fill_level().
+ Added show-fill-level, restrict-to-fill-level, and
+ fill-level properties.
+* RecentAction: Added class.
+* ScaleButton: Added class.
+* VolumeButton: Added class.
+* Stock IDs: Added DISCARD, ORIENTATION_PORTRAIT,
+ ORIENTATION_LANDSCAPE, ORIENTATION_REVERSE_LANDSCAPE,
+ ORIENTATION_REVERSE_PORTRAIT, SELECT_ALL
+ (Murray Cumming)
+
+* Build fix when disabling properties.
+ (Kalle Vahlman)
+* Documentation:
+ - Improved gmmproc chapter.
+ (Murray Cumming)
+ - Improved internationalization chapter.
+ (Jonathan Jongsma)
+
+2.11.2:
+
+Gdk:
+* Display: Added supports_shapes(), supports_input_shapes(),
+ supports_composite().
+* Window: Added set_composited(), input_shape_combine_mask(),
+ input_shape_combine_region(), set_child_input_shapes(),
+ merge_child_input_shapes(), get_type_hint(), set_startup_id(), beep(),
+ set_opacity().
+
+Gtk:
+* AboutDialog: Added set/get_program_name() and deprecated
+ set/get_name().
+ (Murray Cumming)
+* CellLayout: Added get_cells().
+* Entry: Added set_cursor_hadjustment(), get_cursor_hadjustment().
+* IconTheme: Added choose_icon(), list_contexts().
+* Notebook: Added set/get_group() and deprecated set/get_group_id().
+* PageSetup: Added to_file(), to_key_file().
+* PaperSize: Added get_paper_sizes().
+ get_capabilities().
+* PrintSettings: Added to_file(), to_key_file().
+ (Murray Cumming)
+* TextBuffer: Added add_mark().
+* TextMark.ccg: Added constructor and create() method, though these
+ are usually created via TextBuffer.
+* Toolbar: Added set_icon_size(), unset_icon_size().
+* Window:
+ - Added set_opacity(), get_opacity().
+ - Added transient_for, and opacity properties.
+ (Murray Cumming)
+
+Documentation:
+* Fixed some wrong mentions of g_free().
+ (Jonathon Jongsma)
+
+2.11.1:
+
+Gtk:
+* Calendar: Added a get_date() method using Glib::Date.
+ (Johannes Schmid) Bug #350584
+* StatusIcon:
+ - Added popup and activate signals
+ (without default signal handlers, to preserve ABI) though we
+ still cannot get any answer from the GTK+ maintainers about whether
+ these are public API.
+ - Added popup_menu_at_position().
+ (Murray Cumming)
+* Style: Added attach() detach().
+ (Jonathan Jongsma) Bug #351336
+* Window:
+ - Added set_default_icon_name()
+ (Johannes Schmid) Bug #364395 (Yuriy Syrota)
+ - Added set_accept_focus(), get_accept_focus(),
+ set_focus_on_map() and get_focus_on_map().
+ (Murray Cumming) Bug #421936
+
+* Documentation:
+ - Book: Improvements to allow easier pdf generation.
+ (Jonathan Jongsma)
+ - Book: More help with headers and linking, also for libglademm.
+ (Murray Cumming)
+ - Examples: custom/custom_widget/: Now uses cairo instead of the
+ GDK drawing functions.
+ (Jonathan Jongsma)
+
+2.10.10:
+
+* RadioAction: Correct a reference-counting error in the "changed" signal.
+ (Armin Burgmeier, Openismus)
+ Bug #350734 (Johnathon Jongsma, "pjdavis" Paul Davis)
+* RecentManager: Allow Gtk::RecentManager::Data to be instantiated, for use with
+ the full version of add_item(). (Armin Burgmeier, Openismus)
+ Bug #388086 (Grant Patterson)
+* Menu: Fix memory problems during destruction by handling attached widgets as
+ we already handle child widgets. (Johannes Schmid, Openismus)
+ Bug #339791 ("pjdavis" Paul Davis, Andrew E. Makeev)
+* Correctly ifdef-out initialization of deprecated classes.
+ (Johannes Schmid, Openismus)
+* Build: Cope with newer m4 versions. (Yselkowitz)
+* Documentation:
+ FAQ: Emphasize that libglademm is preferred to glademm. (Marko Anastasov)
+ Bug #429043.
+
+2.10.9:
+
+* Depend on glibmm 2.10.9, which has some slight performance optimization for
+ default signal handlers and vfuncs.
+ (Murray Cumming, openismus)
+* TreeView: Fix memory leak in get_cursor().
+ Bug #417539 (Andrew E. Makeev)
+* IconTheme::get_example_icon_name() documentation fix.
+ (Jonathon Jongsma)
+
+2.10.8:
+
+* ActionGroup::add(): Avoid a problem on 64-bit systems due to 0/NULL confusion.
+ (Daniel Elstner)
+* Documentation:
+ - Updated the Internationalization chapter. (Marko Anastasov)
+ - Added appendix about Visual Studio 2005. (Alan Ott, bug #409102)
+
+2.10.7:
+
+* Main: Cleanup data structures in the destructor, preventing leaks, and allowing
+ a second instantiation. (Bug #383340 from Christopher Raine).
+* Build: Fix build with SUN Workshop 11
+ (Marko Anastasov, Bug #395572 from Tim Mooney)
+* Documentation:
+ - glade/libglade tutorial section: Clarification.
+ (Martin Nordholts, Bug #387708)
+ - Added SizeGroup documentation.
+ (Murray Cumming)
+
+2.10.6:
+
+* Gdk::Drawable::create_cairo_context(),
+ Gtk::PrintContext::get_cairo_context(),
+ Gtk::PrintJob::get_surface(): Fix memory leak caused by doing
+ an extra reference.
+ Bug #362181 from austinf.
+
+2.10.5:
+
+* UIManager: Fix crash when built without exceptions support.
+ (Johannes Schmid)
+* Style: lookup_icon_set(): Memory-management correction.
+ Bug #374094 (patch from Nate Nielsen)
+* Build:
+ - Windows: Do not check for gtk+-unix-print-2.0 on as it is not
+ always included in GTK installers and/or binary archives (like in Tor's binaries).
+ Bug #371882 from Alexis Wilke.
+ (Cedric Gustin)
+
+2.10.4:
+
+* Build:
+ - Omit the atkmm dependency from the gtkmm pkg-config .pc file
+ when atkmm was optionally disabled. (Rémi Cardona)
+ Bug #366930 from John N. Laliberte.
+ - Added --enable-api-maemo-extensions configure option,
+ to optionally provide C++ wrappers for the additional GtkTextBuffer
+ functions in the Maemo version of GTK+.
+ (Johannes Schmid, Murray Cumming)
+
+* Documentation:
+ - Drawable: Add comment paragraph about using cairo.
+ (Ralf Stephan)
+
+2.10.3:
+
+* Adjustment: Preventing the value from being ignored.
+ Bug #369335 from Daniel Holbach, via Vincent Levesque,
+ with help from Paul Davis.
+* Build:
+ - ListViewText:
+ Fix an odd build problem with gcc 3.3.6.
+ Bug #352226. (Thomas Zajic)
+* Documentation:
+ - Explain the optional (at build-time) API for
+ reduced resources environments.
+ - Correct the links to the Memory Management and libglademm chapters.
+ - Drawable::get_image(), Container::remove(), Widget::add_mnemonic_label:
+ avoid mentioning a functions that do not exist in gtkmm.
+ Bug #358268 from Evgeny Rippi, and Nickolai Dobrynin.
+
+2.10.2:
+
+* Added --enable-atk=no option, to disable the build and use
+ of the atkmm API, for use in embedded environments.
+ (Johannes Schimd, Murray Cuming, Openismus)
+* Documentation:
+ - Book: Added Plug and Socket chapter to book, with example.
+ (Jonathon Jongsma)
+
+2.10.1:
+
+* Button: fix typo in get_image_position()
+* Added MSVC support for 2.10
+
+2.10.0:
+
+Changes since 2.8:
+
+gtkmm now depends on cairomm.
+
+* AccelMap: Added lookup_entry() (Paul Davis)
+* Button: Added get/set_image_position().
+* Added CellRendererAccel (Murray Cumming)
+* Added CellRendererSpin (Marko Anastasov)
+* CellRendererToggle: Added "indicator-size" property.
+* Clipboard: Added request_rich_text(), wait_for_rich_text(),
+ and wait_rich_text_is_available().
+* Entry:
+ - Added get/set_inner_border().
+ - Added xalign and truncate-multiline properties.
+* FileChooserButton: Added set/get_focus_on_click()
+* MessageDialog: Added properties.
+* Menu: Add attach_to_widget() overload without a destroy callback.
+* Label: Added get/set_line_wrap_mode() and property.
+* Added LinkButton.
+* Added ListViewText very simple text-based convenience class for TextView.
+ (J. Baltasar García Perez-Schofield)
+* MenuShell: Added get/set_take_focus() and property.
+* MessageDialog: Added set_image() and property.
+* Notebook:
+ - Added page_reordered, page_removed, and
+ page_added signals.
+ - Added set_group_id(), get_group_id(),
+ get_tab_reorderable(), set_tab_reorderable(),
+ get_tab_detachable(), set_tab_detachable().
+* Added Printing support, via PrintOperation, PrintContext, PrintJob, PrintSettings,
+ Printer, PageSetup. (Marko Anastasov, Murray Cumming)
+* Added Recent Files support, via RecentChooser, RecentChooserWidget, RecentChooserMenu,
+ RecentChooserDialog, RecentInfo, RecentManager
+ (Armin Burgmeier, Marko Anastasov, Jonathon Jongsma)
+* RadioAction: Added set_current_value().
+* Range: Added get/set_lower_stepper_sensitivity(),
+ get/set_upper_stepper_sensitivity() and properties.
+* SectionData: Added Added targets_include_uri.
+* SizeGroup: Added get_widgets().
+* Style:
+ - Added overload set_bg_pixmap() that takes const Pixmap.
+ (Michael Hofmann)
+ - Added Added lookup_color().
+* SelectionData: Added targets_include_rich_text().
+* SizeGroup: Added get/set_ignore_hidden().
+* SpinButton: Added "wrapped" signal, without a default signal handler, to
+ preserve ABI. (Murray Cumming)
+* ToggleButton: Added constructor that takes a stock item.
+* TreeView:
+ - Added get/set_rubber_banding(),
+ get/set_grid_lines(), get/set_enable_tree_lines(),
+ get_search_entry(), set_search_position_func(),
+ get_headers_clickable().
+ - Added properties for show-expanders, level-indentation,
+ rubber-banding, enable-grid-lines, and enable-tree-lines.
+ (Murray Cumming)
+* Widget:
+ - Added composited_changed signal. (Murray Cumming)
+ - Added input_shape_combine_mask(). (Marko Anastasov)
+ - Added is_composited(), input_shape_combine_mask(),
+ unset_input_shape_combine_mask(), and the "composited_changed" signal.
+ (Jonathon Jongsma)
+ - Added get_action().
+ - Made map() public, because custom containers sometimes
+ (e.g. GtkNotebook) need to call it on their child widgets,
+ though we are not sure when.
+* Window: Added get_group(), and get/set_deletable(),
+ set_urgency_hint()
+ (Murray Cumming)
+
+Pango:
+* AttrList: Added operator bool.
+* Context: Added get_matrix(), update_from_cairo_context(),
+ set_cairo_font_options(), set_cairo_font_options(), get_font_options(),
+ set_resolution(), get_resolution().
+* Font: Added describe_with_absolute_size(), get_font_map().
+* FontDescription: Added set_absolute_size(), get_size_is_absolute().
+* Layout: Added get_font_description(), index_to_line_x(),
+ create(Cairo::Context), update_from_cairo_context(),
+ add_to_cairo_context().
+* LayoutLine: Added show_in_cairo_context(), add_to_cairo_context().
+ (Murray Cumming)
+* Renderer: Added get_matrix().
+(Murray Cumming)
+
+Gdk:
+* GC: Added set_clip_rectangle() overload that takes const argument.
+ (Michael J M Thompson)
+* Added static functions for using Cairo, in general.h.
+ (Murray Cumming)
+
+Documentation:
+* Stylesheet improvements, to improve the appearance. (Jonathon Jongsma)
+* Printing Chapter, with example (Marko Anastasov)
+* Recent Files chapter, with example (Armin Burgmeier, Jonathon Jongsma)
+* "Wrapping C libraries" appendix (Murray Cumming)
+* DrawingArea chapter updated for Cairo. (Jonathan Jongsma)
+* Added ComboBox chapter and removed Combo section. (Murray Cumming)
+* Improved RadioButton example. (Pierre Thierry)
+* Added an example that uses events_pending()
+ to update the UI (Gareth Foster, Murray Cumming)
+* Added IconView example. (R. Douglas Barbieri)
+
+Win32 build: Plug and Socket added. (Cedric Gustin)
+
+Other bug fixes from Paul Davis, Gezim Hoxha.
+
+
+2.9.10:
+
+Gtk:
+* FontButton: Fix the constructor that takes a font_name.
+(Armin Burgmeier)
+* PrintOperationPreview: Fix some reference-counting issues to
+fix a crash. (Marko Anastasov)
+* RecentManager: Fix get_items() memory management.
+
+Documentation:
+* Recent Files chapter: Started this chapter, with a screenshot.
+ (Jonathon Jongsma)
+
+Examples:
+* printing/advanced: Various bugfixing, though it might
+ still have problems on amd64. Do test. See bug #347857.
+ (Marko Anastasov, Murray Cumming)
+* recent files: Actually show a dialog, and add _mnemonics to
+ menu items.
+ (Jonathon Jongsma)
+
+2.9.9:
+
+Gtk:
+* PrintOperation: get_print_settings(): Ref the return to avoid a crash.
+ (Marko Anastasov)
+* RecentManager: Change add_fullI to add_item(), overloading according to the
+ parameters. (Jonathon Jongsma)
+* SpinButton: Added "wrapped" signal, without a default signal handler, to
+ preserve ABI. (Murray Cumming)
+* Widget:
+ - Correct the new composited_changed signal to avoid breaking ABI.
+ (Murray Cumming)
+ Bug #348241 from Daniel Holbach.
+ - Fixed a typo so that input_shape_combine_mask() is really wrapped.
+ (Marko Anastasov)
+* Build: Build with the new glibmm --enable-api-default-signal-handlers=no
+ option for reduced-resources embedded devices. (Murray Cumming)
+
+Documentation:
+* Printing examples: Use the new gdkmm cairo methods instead of the
+ C functions. (Marko Anastasov)
+
+2.9.8:
+
+Gtk:
+* Printing API mostly finished. (Marko Anastasov)
+* TextBuffer: Added register_serialize_tagset(), unregister_serialize_format(),
+ unregister_deserialize_format(), set_can_create_tags(), get_can_create_tags(),
+ get_serialize_formats(), get_deserialize_formats(). There's more to do.
+ (Murray Cumming)
+* ToggleButton: Added constructor that takes a stock item.
+* Widget: Added is_composited(), input_shape_combine_mask(),
+ unset_input_shape_combine_mask(), and the "composited_changed" signal.
+ (Jonathon Jongsma)
+
+Documentation:
+* Added Printing chapter and printing example. (Marko Anastasov)
+* Added "Wrapping C libraries" appendix. (Murray Cumming)
+* Style updated to match the new website. (Jonathon Jongsma)
+
+2.9.7:
+
+Gtk:
+* Notebook: Added page_reordered, page_removed, and
+ page_added signals.
+* PrintContext: Renamed the const get_cairo()
+ to get_cairo_context(), to match the original.
+* PrintOperation: run(): Added a default value.
+ (Marko Anastasov)
+* SelectionData: Added targets_include_rich_text().
+* SizeGroup: Added get/set_ignore_hidden().
+* StatusIcon: Added size_changed signal.
+ (Murray Cumming)
+
+Documentation:
+* Add links to gtkmm_hello and gnomemm_hello programs.
+* Fixed the sentence explaining disconnect() in the Timeouts chapter.
+* Typo correction in the Clipboard chapter
+ (Gezim Hoxha)
+
+2.9.6:
+
+Gtk:
+* Label: Added get/set_line_wrap_mode() and property.
+* MenuShell: Added get/set_take_focus() and property.
+* MessageDialog: Added set_image() and property.
+* StatusIcon: Added get_geometry().
+* TreeView: Added get/set_rubber_banding(),
+ get/set_grid_lines(), get/set_enable_tree_lines().
+ Added properties for show-expanders, level-indentation,
+ rubber-banding, enable-grid-lines, and enable-tree-lines.
+ (Murray Cumming)
+* PrintJob: send_job(): No longer throws an exception.
+* PrintUnixDialog: Added add_custom_tab() overload that takes a ustring.
+* Printer: Added get_job_count(), and enumerate_printers(), and others.
+* Printsettings:
+ - Put the standard settings in a member class so they can be
+ used as Gtk::PrintSettings::Keys::SOMETHING.
+ - Remove get/set_print_to_file().
+* PrintOperation: Added a version of run() without the Window parameter.
+* PrintOperationPreview: New class.
+ (Most printing stuff: Marko Anastasov)
+
+2.9.5:
+
+Gtk:
+* Assistant: Added update_buttons_state().
+* Button: Added get/set_image_position().
+* Clipboard: Added request_rich_text(), wait_for_rich_text(),
+ and wait_rich_text_is_available().
+* Entry: Added get/set_inner_border().
+* Notebook: Added set_group_id(), get_group_id(),
+ get_tab_reorderable(), set_tab_reorderable(),
+ get_tab_detachable(), set_tab_detachable().
+
+* PrintContext: Added set_cairo_context().
+* Printoperation:
+ - run(): Added PrintOperationAction parameter.
+ - Removed set_show_dialog(), set_pdf_target(),
+ set_track_print_status(), run_async().
+ - Added set_export_filename(), set_track_print_status(),
+ set_show_progress(), set_allow_async(), set_custom_tab_label().
+* Fixed warnings (Elijah Newren, Jonathon Jongsma)
+
+Pango:
+* Context: Added get_matrix().
+* Font: Added describe_with_absolute_size(), get_font_map().
+* FontDescription: Added set_absolute_size(), get_size_is_absolute().
+* Layout: Added get_font_description(), index_to_line_x().
+* Renderer: Added get_matrix().
+
+
+2.9.4:
+
+Gtk:
+* PrintContext:
+ - Added set_track_print_status() and cancel(), paginate signal.
+ (Marko Anastasov)
+ - get_cairo() renamed to get_cairo_context(),
+ - get_fontmap() renamed to get_pango_fontmap(),
+ - create_context() renamed to create_pango_context(),
+ - create_layout() renamed to create_pango_layout().
+ (Murray Cumming)
+* PrintJob:
+ - Added set/get_track_print_status().
+ (Marko Anastasov)
+
+Pango:
+* Added CairoFontMap. (Might be removed later)
+* Context: Added update_from_cairo_context(),
+ set_cairo_font_options(), set_cairo_font_options(), get_font_options(),
+ set_resolution(), get_resolution().
+* Layout: Added create(Cairo::Context), update_from_cairo_context(),
+ add_to_cairo_context().
+* LayoutLine: Added show_in_cairo_context(), add_to_cairo_context().
+ (Murray Cumming)
+
+2.9.3:
+
+* Fixed regressions from 2.9.1 and 2.8.6:
+ - Regenerated with latest glibmm to fix several empty methods.
+ - ActionGroup:add(): Fix crash in alternate property get.
+ - Gdk::PixbufLoader: Correct the vfunc sequence to avoid the ABI break.
+ (Murray Cumming)
+* Added Printer, PrintJob, PageSetupUnixDialog, PrintUnixDialog
+ (Marko Anastasov)
+* Table: Fix crash in Table_Helpers::TableList.erase(). Bug #341962
+ (Paul Davis)
+* Documentation:
+ - Fix stylesheet installation.
+ - Fix some links
+ (Jonathon Jongsma)
+
+2.9.2:
+
+* Fixed a typo to fix the build when not disabling exceptions.
+
+2.9.1:
+
+Gtk:
+* Depends on cairomm.
+* gtkmm.h: Include menutoolbutton.h and tearoffmenuitem.h.
+ (Michael J M Thomson)
+* Added ListViewText very simple text-based convenience class for TextView.
+ (J. Baltasar García Perez-Schofield)
+* New classes:
+ - Assistant, CellRendererAccel, LinkButton, StatusIcon.
+ (Murray Cumming, Armin Burgmeier)
+ - CellRendererSpin (Marko Anastasov)
+ - PageSetup, PaperSize, PrintContext, PrintOperation, PrintSettings
+ (Marko Anastasov)
+ - RecentChooser, RecentChooserWidget, RecentChooserMenu,
+ RecentChooserDialog. (Armin Burgmeier)
+ - RecentInfo, RecentManager (Marko Anastasov)
+* AccelMap: Added lookup_entry() (Paul Davis)
+* CellRendererToggle: Added "indicator-size" property.
+* Entry: Added xalign and truncate-multiline properties.
+* FileChooserButton: Added set/get_focus_on_click()
+* MessageDialog: Added properties.
+* Menu: Add attach_to_widget() overload without a destroy callback.
+* RadioAction: Added set_current_value().
+* Range: Added get/set_lower_stepper_sensitivity(),
+ get/set_upper_stepper_sensitivity() and properties.
+* SectionData: Added Added targets_include_uri.
+* SizeGroup: Added get_widgets().
+* Style: Added overload set_bg_pixmap() that takes const Pixmap.
+ (Michael Hofmann)
+* TextBuffer: Added get_has_selection() and
+ property. Added text property.
+* TextBuffer: Added const overloads of get_text() and get_slice().
+* TreeModel: Added rows_reordered() overload without the iter.
+* TreeView: get_search_entry(), set_search_position_func(),
+ get_headers_clickable().
+* Style: Added Added lookup_color().
+* Widget:
+ - Added get_action().
+ - Made map() public, because custom containers sometimes
+ (e.g. GtkNotebook) need to call it on their child widgets,
+ though we are not sure when.
+* Window: Added get_group(), and get/set_deletable(),
+ set_urgency_hint()
+ (Murray Cumming)
+* Win32 build: Plug and Socket added. (Cedric Gustin)
+* Fix the build when using --enable-api-properties, --enable-api-vfuncs, or
+ --enable-api-exceptions when configuring glibmm.
+ When using these, the API, and any API generated by gmmproc, will be
+ changed. This allows users of embedded platforms to reduce the code size of *mm
+ libraries and *mm-using applications, at the small cost of losing some rarely-used
+ API. Alternatives exist for that API, as show in the examples.
+
+Gdk:
+* GC: Added set_clip_rectangle() overload that takes const argument.
+ (Michael J M Thompson)
+* Added static functions for using Cairo, in general.h.
+ (Murray Cumming)
+
+Pango:
+* AttrList: Added operator bool.
+
+Documentation:
+* Book:
+ - DrawingArea: Updated for Cairo.
+ - HTML appearance greatly improved.
+ - Updated screenshots.
+ (Jonathan Jongsma)
+ - Added ComboBox chapter and removed
+ Combo section. (Murray Cumming)
+ - Improved RadioButton example. (Pierre Thierry)
+* Reference:
+ - Added RadioButton::get/set/reset_group()
+ documentation.
+ - Add documentation for manage().
+ (Murray Cumming)
+ - Improved Box documentation. (Pierre Thierry)
+* Examples:
+ - Added an example that uses events_pending()
+ to update the UI (Gareth Foster, Murray Cumming)
+ - Added IconView example. (R. Douglas Barbieri)
+
+2.8.1:
+
+* Build: Check for GTK+ 2.8.
+* ScrolledWindow: get_*scrollbar_visible():
+ get_hscrollbar_visible() returned
+ vscrollbar_visible() and vice-versa. Fixed.
+ Bug #317309 (Bartek Kostrzewa)
+* UIManager: get_action_groups():
+ Memory management fix.
+ Bug #31865 (Colin Law)
+* Fix SUN Solaris Forte build problem.
+ Bug #314283 (Felipe Zipitria)
+* Documentation corrections.
+ Bug #311176 (Marco Scholten)
+
+2.8.0:
+
+API additions since 2.6:
+
+Gtk:
+* AboutDialog: Added set/get_wrap_license() and property.
+* CellRenderer: Added "sensitive" property.
+* ComboBoxText, ComboBoxEntryText:
+ - Deprecated clear() in favour of new clear_items() method,
+ because clear() exists in the base CellLayout class and is
+ very different.
+ - Added remove_text() to remove items one at a time.
+* Dialog: Added get_response_for_widget().
+* EntryCompletion: Added properties, get/set_popup_set_width(),
+ get/set_popup_single_width().
+* FileChooser: Added get/set_do_overwrite_confirmation(
+* Iconview: Added get_item_at_pos(), get_visible_range(), get/set_cursor(),
+ scroll_to_path().
+* TreeRowReference: Added get_model().
+* TreeView:
+ - Added unset_model().
+ - Added const versions of get_path_at_pos(),
+ get_cell_area(), get_background_area(), get_visible_rect(),
+ widget_to_tree_coords(), tree_to_widget_coords().
+ - Added get_visible_range().
+* TreeView::Column: Added queue_resize().
+* Sizegroup: Added ignore_hidden property.
+* Stock: Added FULLSCREEN, LEAVE_FULLSCREEN, and INFO stock items.
+* Widget: Added drag_source_set_icon(const Glib::ustring& icon_name).
+* Window:
+ - Added urgency_hint property, and get/set_urgency_hint().
+ Added present(timestamp) overload.
+
+Gdk:
+* Colormap: Deprecated alloc_colors() and free_colors().
+ Add free_color() for use with alloc_color().
+* Cursor: Added get_image() and a Cursor(name) constructor.
+* DragContext:Added set_icon(const Glib::ustring& name).
+* Pixbuf: Added a save_to_buffer() overload without the options
+ parameters.
+* Window: Added move_region().
+
+(Murray Cumming, Jonathon (Jongsma), Ishmal, Daniel Glöckner, Alexander Nedotsukov, Philip Langdale, The Written Word)
+
+2.7.4:
+
+Gtk:
+* Generated properties accessors.
+ (Murray Cumming)
+* Settings::get_default(): Do not generate
+ a second wrapper. (Regis Duchesne)
+* TreeView: Added unset_model().
+* SUN Forte and Tru64 build fixes.
+ (The Written Word.)
+* Documentation fixes. (Jonathon Jongsma)
+
+2.7.3:
+
+Gtk:
+* FileChooser: Added get/set_do_overwrite_confirmation().
+* TreeRowReference: Added get_model().
+* TreeView: Added const versions of get_path_at_pos(),
+ get_cell_area(), get_background_area(), get_visible_rect(),
+ widget_to_tree_coords(), tree_to_widget_coords().
+ Added get_visible_range().
+* TreeView::Column: Added queue_resize().
+Gdk:
+* PixbufLoader:create_with_type(): Really return the
+ created GdkPixbufLoader.
+Win32 build:
+* Provide an extra hint to work around a DLL export/import bug
+ with MSVC++ and TreeViewColumn (Ishmal)
+
+
+2.7.2:
+
+Build fix: Removed an extra; that caused a warning.
+
+Gdk:
+* Pixbuf: Added a save_to_buffer() overload without the options
+ parameters.
+
+2.7.1:
+
+Gdk:
+* Colormap: Deprecated alloc_colors() and free_colors().
+ Add free_color() for use with alloc_color().
+* Cursor: Added get_image() and a Cursor(name) constructor.
+* DragContext:Added set_icon(const Glib::ustring& name).
+* Window: Added move_region().
+
+Gtk:
+* AboutDialog: Added set/get_wrap_license() and property.
+* CellRenderer: Added "sensitive" property.
+* ComboBoxText, ComboBoxEntryText:
+ - Deprecated clear() in favour of new clear_items() method,
+ because clear() exists in the base CellLayout class and is
+ very different.
+ - Added remove_text() to remove items one at a time.
+* Dialog: Added get_response_for_widget().
+* EntryCompletion: Added properties, get/set_popup_set_width(),
+ get/set_popup_single_width().
+* Iconview: Added get_item_at_pos(), get_visible_range(), get/set_cursor(),
+ scroll_to_path().
+* Sizegroup: Added ignore_hidden property.
+* Stock: Added FULLSCREEN, LEAVE_FULLSCREEN, and INFO stock items.
+* Widget: Added drag_source_set_icon(const Glib::ustring& icon_name).
+* Window: Added urgency_hint property, and get/set_urgency_hint().
+ Added present(timestamp) overload.
+
+
+gtkmm 2.7 wraps new API in GTK+ 2.7, and is API/ABI-compatibile with gtkmm 2.4 and 2.6.
+The new API is unstable, until this become the API/ABI-stable gtkmm 2.8 when
+GTK+ 2.7 becomes the API-stable GTK+ 2.8.
+
+2.6.1:
+
+* CellRenderer: Prevent an infinite loop.
+ (Murray Cumming)
+* MSVC++ .Net 2003 build fixes. (Cedric Gustin)
+* Documentation:
+ - Hide deprecated widgets from the list of widgets.
+ (Murray Cumming)
+ - Correct the description of the IO input example.
+ (Claudio Saavedra)
+
+
+2.6.0:
+
+gtkmm 2.6 wraps new API in GTK+ 2.6, and is API/ABI-compatibile with gtkmm 2.4.
+
+Changes compared to gtkmm 2.4.x:
+
+Gtk:
+* New widgets: AboutDialog, CellRendererCombo,
+ CellRendererProgress, CellView, FileChooserButton, IconView,
+ MenuToolButton
+* Action: Added get_accel_path(), set_visible().
+* ActionGroup: Added translate_string().
+* Button: Added set/get_image().
+* CellRenderer:
+ - Added editing_started signal.
+ - Added stop_editing() which replaces the
+ now-deprecated editing_cancelled()
+* CellRendererText: Added language, ellipsize, and
+ ellipsize-set properties.
+* Clipboard:
+* - Added set_image(), wait_is_image_available(),
+ wait_for_image(), request_image(), wait_is_target_available(),
+ set_can_store(), and store().
+* ComboBox:
+ - Added get_wrap_width(), get_row_span_column(),
+ get_column_span_column(), get_add_tearoffs(), set_add_tearoffs(),
+ get_focus_on_click(), set_focus_on_click(),
+ get_popup_accessible(), unset_row_separator_func().
+* ComboBoxEntry: Added get_entry().
+* ComboBoxText: Added set_active_text(), clear().
+* Dialog:
+ - Added set_secondary_text() for HIG-compliant dialogs.
+ - Added set_alternative_button_order().
+* Entry: Added layout_index_to_text_index() and
+ text_index_to_layout_index().
+* EntryCompletion: Added insert_prefix(), set_inline_completion(),
+ get_inline_completion(), set_popup_completion(),
+ get_popup_completion(), get_text_column()
+* FileChooser:
+ - Added FileChooserError exception class.
+ - Added get/set_show_hidden().
+* FileChooserButton: Added get/set_width_chars().
+* FileFilter: Added add_pixbuf_formats().
+* IconTheme:
+ - Added get_icon_sizes().
+ - Added IconThemeError exception class.
+* Image: Added set_from_icon_name(), get/set_pixel_size(),
+ get_icon_name().
+* Label: Added get/set_max_chars_width(), set/get_single_line_mode(),
+ get/set_width_chars(), get/set_ellipsize().
+* Main: Added Main constructor that takes a Glib:: OptionContext,
+ and add_gtk_option_group(option_context).
+* MessageDialog: Added set_secondary_text().
+* PixbufLoader: Added size_prepared signal.
+* Plug: Added default constructor.
+* ProgressBar: Added set/get_ellipsize().
+* SelectionData: Added targets_include_image(), get/set_pixbuf(),
+ and get/set_uris().
+* Scale: Now works with libglademm.
+* Style: Added create() method.
+* TextView: Added get_iter_at_position().
+* TreeSortable: Added DEFAULT_UNSORTED_COLUMN_ID constant.
+* TreeView: Added get/set_fixed_height_mode(), get/set_hover_selection(),
+ get/set_hover_expand(),
+* TreeModel::itereator: Add forward_search() and backward_search()
+ overloads without the limit argument.
+* IconInfo: Added operator bool(), needed to check
+ the result of IconTheme::lookup_icon().
+* Label: Added get/set_angle().
+* TreeView: Added append_column_numeric(), and
+ append_column_numeric_editable().
+* Widget: Made set_parent(), and unparent() public instead
+ of protected. Added a size_request() overload which is const
+ and returns a value.
+* Window: Added drag_dest_add_text_targets(),
+ drag_dest_add_uri_targets(), drag_dest_add_image_targets(),
+ drag_source_add_text_targets(), drag_source_add_uri_targets(),
+ and drag_source_add_image_targets().
+* New Stock items.
+* Documentation:
+ - Extra reference documentation.
+ - Properties are now documented.
+
+Gdk:
+* Display: Added supports_selection_notification(),
+ request_selection_notification(), supports_clipboard_persistance(),
+ store_clipboard().
+* Pixbuf:
+ - Added rotate_simple(), flip(), save_to_buffer().
+ - Added create_from_file() overload that takes
+ height and width.
+* PixbufFormat: Added is_scalable(), is_disabled(),
+ set_disabled(), get_license().
+* Window: Added enable_synchronized_configure(),
+ configure_finished(), set_focus_on_map().
+
+Pango:
+* New classes: Renderer
+* Color: Added operator bool().
+* Context: Added get/set_matrix(), get_font_map().
+* FontMetrics: Added get_underline_position(),
+ get_underline_thickness(), get_strikethrough_position(),
+ get_strikethrough_thickness().
+* Layout: Added get/set_ellipsize().
+
+Atk:
+* Relation: Added add_target().
+* RelationSet.hg: add_relation_by_type().
+* Text: Added get_range_extents(), get_bounded_ranges().
+
+gtkmm 2.6 is the result of hard work from the following developers:
+Murray Cumming, Bryan Forbes, and Albert Chin, Cedric Gustin, Roger Leigh, Ronald Lembcke, Gene Ruebsamen, Claudio Saavedra, Marco Scholten, Roel Vanhout, Chris Vine.
+
+
+2.5.7:
+
+* Gdk::DragContext: Avoid infinite loop. (Ronald Lembcke)
+* Gtk::TargetList: Fix typo to ctually define this. (Ronald Lembcke).
+* Examples now build with the IRIX MipsPro, and AIX compilers.
+* Check for the correct atk version in configure.
+ (Murray Cumming)
+* Documentation:
+ - Properties are now documented, using the text from the
+ GTK+ documentation.
+ - Added MessageDialog documentation.
+ - Added CellRendererText::edited() documentation. (Antonio Coralles)
+ - examples: book/treeview/editable_cells/:
+ Demonstrated data-entry validation.
+ (Murray Cumming)
+ -
+2.5.6:
+
+* Now builds with the following compilers, in addition to
+the existing GNU g++, and Intel compilers:
+- SUN Forte CC 5.5
+- IBM AIX xlC v7
+- Tru64 C++ V6.5-042
+- IRIX MIPSpro 7.4.2m
+ (Older versions of all these compilers might also work.)
+ (Murray Cumming, www.thewrittenword.com)
+* Now builds with MSVC++ .Net 2003 (gtkmm 2.4 already did).
+ (Cedric Gustin)
+
+Gtk:
+* Plug: Added default constructor. (Bryan Forbes)
+
+Documentation:
+- examples/book/custom/custom_widget/:
+ Now it works. (Marco Scholten)
+
+2.5.5:
+
+Gtk:
+* Remove default signal handlers for new signals in 2.6,
+ because adding virtual methods to existing classes would
+ break ABI. (Murray Cumming, Bryan Forbes)
+* Stock: Wrapped several new stock items. (Bryan Forbes)
+* AboutDialog: Added logo_icon_name property. (Murray Cumming)
+* Clipboard: Added set_can_store() overload that takes no
+ arguments. (Murray Cumming)
+* ComboBox: Added unset_row_separator_func(). (Murray Cumming)
+* FileChooserDialog:
+ - Inherit from FileChooser interface. (Murray Cumming)
+ - Added constructors which allow specifying backend. (Bryan Forbes)
+* IconView: Added the properties. (Murray Cumming)
+* Main: Added Main constructor that takes a Glib::OptionContext(),
+ and Main::add_gtk_option_group(option_context).
+ (Murray Cumming, Bryan Forbes)
+* TreeIter: Add forward_search() and backward_search()
+ overloads without the limit argument.
+ (Rob Page, Murray Cumming)
+
+Pango:
+* Color: Added operator bool().
+* Renderer: Added get_color().
+ ((Murray Cumming)
+
+Documentation:
+* Added some reference documenation for the new classes,
+ plus several older classes.
+* Corrected documentation tarball and the link to it.
+* examples:
+ - Added book/dialogs/aboutdialog example.
+ - Added book/buttons/filechooserbutton example.
+ - Used ProgressCellRenderer in book/treeview/list example.
+(Murray Cumming)
+
+2.5.4:
+
+Gtk:
+* Action: Added get_accel_path(). (Murray Cumming)
+* CellRendererText: Added language, ellipsize, and
+ ellipsize-set properties. (Bryan Forbes)
+* TreeView: Added hover_expand and hover_selection
+ properties.
+
+Gdk:
+* Display: Added supports_selection_notification(),
+ request_selection_notification(), supports_clipboard_persistance(),
+ store_clipboard().
+* Pixbuf: Added rotate_simple(), flip(), save_to_buffer().
+* PixbufFormat: Added is_scalable(), is_disabled(),
+ set_disabled(), get_license().
+* Window: Added enable_synchronized_configure(),
+ configure_finished(), set_focus_on_map().
+
+Atk:
+* Relation: Added add_target().
+* RelationSet.hg: add_relation_by_type().
+* Text: Added get_range_extents(), get_bounded_ranges().
+ (Murray Cumming)
+
+2.5.3:
+
+* Builds against the final GTK+ 2.6 API.
+
+Gtk:
+* CellRenderer.hg: Added stop_editing() which replaces the
+ now-deprecated editing_cancelled().
+* CellView: Inherit from CellLayout. Removed set_value().
+ Added convenience constructors.
+* FileChooserButton.hg: Added action parameters to constructors.
+* IconView: Added get/set_columns(), get/set_item_width(),
+ get/set_spacing(), get/set_row_spacing(), get/set_column_spacing(),
+ get/set_margin().
+* Label: Added get/set_max_chars_width(), and property.
+* TextView: Added get_iter_at_position().
+
+Gdk:
+* Pixbuf: Added create_from_file() overload that takes
+ height and width. (Murray Cumming)
+
+Documentation:
+* Reference API: Re-extracted C docs, so that the new API
+ will be automatically documented. (Murray Cumming)
+* examples:
+ - input: Use Glib::IOChannel. (Claudio Saavedra)
+
+2.5.2:
+
+Gtk:
+* Button: Added set/get_image().
+* CellView: Removed set_cell_data().
+* Dialog: Added set_alternative_button_order().
+* FileChooserButton:
+ - Now inherits from HBox, not Button.
+ - Removed get/set_active().
+* IconInfo: Added operator bool(), needed to check
+ the result of IconTheme::lookup_icon().
+* Label: Added get/set_angle().
+* TreeView: Added append_column_numeric(), and append_column_numeric_editable(),
+ which allow more control over the formatting of numeric data than
+ append_column() and append_column_editable().
+ (Murray Cumming)
+
+Pango:
+* Added Renderer.
+* Context: Added get/set_matrix().
+* FontMetrics.hg: Added get_underline_position(),
+ get_underline_thickness(), get_strikethrough_position(),
+ get_strikethrough_thickness().
+ (Murray Cumming)
+
+Documentation:
+* example/book/input/: This now works. (Chris Vine)
+* Book:
+ - TreeView selection: Use selected_foreach_iter()
+ instead of selected_foreach(). (Teus Benschop)
+ - Fixed some typos. (Claudio Saavedra)
+
+
+2.5.1:
+
+Gtk:
+* AboutDialog:
+ - Added more get and set methods and properties.
+ - Wrapped signals.
+* ActionGroup: Added translate_string().
+* Added CellRendererCombo, with example.
+* Added CellRendererProgress.
+* Clipboard: Added set_image(), wait_is_image_available(),
+ wait_for_image(), request_image(),
+ wait_is_target_available(), set_can_store(), and store()
+* ComboBoxEntry: Added get_entry().
+* ComboBoxText: Added set_active_text(), clear().
+* Dialog: Added alternative_button_order().
+* FileChooser: Added FileChooserError exception class.
+* FileChooserButton: Added get/set_width_chars().
+* FileFilter: Added add_pixbuf_formats().
+* IconTheme:
+ - Added get_icon_sizes().
+ - Added IconThemeError exception class.
+* IconView:
+ - Added get_selected_items(), foreach().
+ - Added set_text_column(), and set_pixbuf_column() overrides
+ that take ModelColumns instead of ints.
+ - Wrapped signals.
+* Image: Added set_from_icon_name(), get/set_pixel_size(),
+ get_icon_name().
+* Label: Added set/get_single_line_mode(), get/set_width_chars().
+* MessageDialog: Added set_secondary_text().
+* Added MenuToolButton.
+* PixbufLoader: Added size_prepared signal.
+* ProgressBar: Added set/get_ellipsize().
+* SelectionData: Added targets_include_image(), get/set_pixbuf(),
+ and get/set_uris().
+* Style: Added create() method.
+* Widget: Made set_parent(), and unparent() public instead
+ of protected. Added a size_request() overload which is const
+ and returns a value.
+* Window: Added drag_dest_add_text_targets(),
+ drag_dest_add_uri_targets(), drag_dest_add_image_targets(),
+ drag_source_add_text_targets(), drag_source_add_uri_targets(),
+ and drag_source_add_image_targets().
+
+Pango:
+* Context: Added get_font_map().
+
+* Documentation:
+ - Partly-updated "input" example. Bug
+ - Added IconView and CellRendererCombo examples.
+(Murray Cumming)
+
+2.5.0:
+
+gtkmm 2.5 wraps new API in GTK+ 2.5, and is API/ABI-compatibile with gtkmm 2.4.
+The new API is unstable, until this become the API/ABI-stable gtkmm 2.6 when
+GTK+ 2.5 becomes the API-stable GTK+ 2.6.
+
+* Pango: Layout: Added set_ellipsize(), get_ellipsize(), and
+ EllipsizeMode enum.
+* Gtk:
+ - Added IconView, FileChooserButton, and CellView widgets.
+ - Action: Added set_visible().
+ - Entry: Added layout_index_to_text_index() and
+ text_index_to_layout_index().
+ - EntryCompletion: Added insert_prefix(), set_inline_completion(),
+ get_inline_completion(), set_popup_completion(), get_popup_completion(),
+ get_text_column()
+ - CellRenderer: Added editing_started signal.
+ - ComboBox: Added get_wrap_width(), get_row_span_column(),
+ get_column_span_column(), get_add_tearoffs(), set_add_tearoffs(),
+ get_focus_on_click(), set_focus_on_click(), get_popup_accessible().
+ - Label: Added set_ellipsize(), get_ellipsize().
+ - FileChooser: Added set_show_hidden(), get_show_hidden().
+ - TreeSortable: Added DEFAULT_UNSORTED_COLUMN_ID constant.
+ - TreeView: Added set_fixed_height_mode(), get_fixed_height_mode(),
+ set_hover_selection(), get_hover_selection(), set_hover_expand(),
+ get_hover_expand().
+(Murray Cumming)
+
+2.4.5:
+
+* Gtk::Settings::get_default(): Correct reference-count error.
+ (Murray Cumming)
+* Gtk::ActionGroup, EntryCompletion, UIManager: Make constructors
+ protected instead of private (Christopher Palm).
+* Examples: TreeView:
+ - Added popup example, from gtkmm 2.2.
+ - drag_and_drop: Correct vfuncs.
+* Documentation:
+ - libglademm memory management.
+ - Tell people to check pkg-config for 2.4, not 2.2.
+ - Gtk::TreeSortable: Document sort function return value.
+ (Murray Cumming)
+
+2.4.4:
+
+* More gcc 3.4 build fixes. (Daniel Elstner)
+* Gtk::StockItem: Use the global translation domain when no other
+ translation domain has been specified. (Daniel Elstner)
+* Gtk::Action, ToggleAction, RadioAction, IconTheme: Constructors are now
+ protected so that you can derive from these classes.
+* Gtk::Container: Avoid warning about unimplemented GtkContainer::remove
+ vfunc when deriving directly from Gtk::Container.
+ (Murray Cumming)
+
+2.4.3:
+
+* Win32: gdkmm: Link against the correct libpangomm library.
+ (Cedric Gustin)
+* Gtk::TreeModel::iterator: Correct the operator--() implementation, so that
+ it actually works. Remember, this is very slow compared to operator++().
+ (Daniel Elstner)
+* Gtk::ComboBoxText, Gtk::ComboBoxEntryText: Implement the constructors that
+ take C instances.
+ (Murray Cumming)
+
+
+2.4.2:
+
+Gtk:
+* ComboBox::get_active(): Properly initialize the iterator.
+ (Murray Cumming)
+* ComboBoxTextEntry: Don't add the text column twice. (Teemu Tervo)
+* ComboBoxText, ComboBoxEntryText::get_active_text(): Fix potential
+ crash. (Murray Cumming)
+* TreeView::get_path_at_pos(): Correct memory mangement.
+ (Murray Cumming, David)
+* Use GTHREAD_CFLAGS when appropriate. (Daniel Elstner)
+* gtkmm.h: Add comboboxentry.h and comboboxentrytext.h.
+ (Daniel Elstner)
+
+Reference Documentation:
+* FileChooser: Mention the need to convert to UTF8. (Daniel Elstner)
+
+
+2.4.1:
+
+* Build fixes for gcc 3.4.0. (Murray Cumming)
+* Install gdkmmconfig.h in the correct place.
+ (Murray Cumming)
+* Install atkmm/private headers in the correct place.
+ (Alexander Nedotsukov)
+
+Changes in gtkmm 2.4:
+
+- Highlights:
+
+ There are several new widgets/classes, with examples:
+
+ * New File Chooser:
+ FileChooser, FileChooserWidget, FileChooserDialog, FileFilter.
+
+ * Action-based Toolbar/Menu API:
+ UIManager, Action, ToggleAction, RadioAction.
+
+ * New Combo Box:
+ ComboBox, ComboBoxEntry, ComboBoxText, CellLayout.
+
+ * Auto-complete for Entry:
+ EntryCompletion.
+
+ * Other new classes:
+ IconInfo, IconTheme TargetList.
+
+ * New ATK, Pango, and GDK API wrapped.
+
+- Existing API improved:
+ * Use of improved libsigc++ 2 API.
+ * Removed useless key-binding signals.
+ * Alignment: Added set/get_padding().
+ * Entry: Added set/get_alignment().
+ * Settings: New properties.
+ * ListStore/TreeStores: Added insert_after(), which should be faster than insert().
+ * TreeView: Added move_column_to_start()
+ * TreeModel: Deriving is now easier, because the virtual functions now use C++ types.
+ * TreeModel::iterator: Added operator--(), which is slow.
+ * See the NEWS file for detailed API changes.
+ * Various bugfixes - see ChangeLog.
+
+The following people made gtkmm 2.4 happen:
+ Bradley Bell
+ Murray Cumming
+ Bryan Forbes (lots of very significant work)
+ Cedric Gustin
+ Oli Kessler
+ Ole Laursen
+ Andrew E. Makeev
+ Hagen Moebius
+ Frank Naumann
+ Elijah Newren
+ Billy O'Connor
+ Gene Ruebsamen
+ Martin Schulze
+ Enrico Scholz
+ Sebastian Rittau
+ Takashi Takekawa
+ Matthew Walton
+
+
+
+2.3.8:
+
+* Gtk:
+ - Action: Added set_sensitive() and set_tooltip(). (Murray Cumming)
+ - Settings: Added some properties. (Bryan Forbes)
+ - TargetList: Added a create() method. (Bryan Forbes)
+ - TreeModel: Rename 2 of the foreach() methods, to foreach_iter() and foreach_path(),
+ because they are ambiguous with libsigc++ 2. (Murray Cumming)
+ - ListStore/TreeStore: Added insert_after(), because it is apparently faster with
+ many rows. (Murray Cumming)
+ - IconTheme: Corrected refcounting of get_default() and get_for_screen().
+ (Bryan Forbes)
+
+
+2.3.7:
+
+* Gtk:
+ - Action:
+ - create_tool_item(), create_menu(), and create_icon() return specific types.
+ (Bryan Forbes)
+ - Constructors: Give 0 instead of "" to GTK+ for empty strings, to make
+ stock items work. (Murray Cumming)
+ - Container: Keep managed child widgets alive when remove()ing them.
+ (Murray Cumming)
+ - IconTheme: Wrapped the changed signal. (Murray Cumming)
+ - FileFilter: It's a Gtk::Object, not a Glib::Object. (Murray Cumming)
+ - TreeView: Added move_column_to_start(). (Andrew E. Makeev)
+ - UIManager: Fixed typo in disconnect_proxy signal name. (Bryan Forbes)
+ - many: Do the extra reference for several get_*() methods.
+ (Bryan Forbes, Murray Cumming)
+
+
+* Documentation:
+ - Reference documentation: Corrected some mention of null parameters, and g_free(),
+ in generated-from-C docs. (Murray Cumming)
+ - Book: Corrected typos and updated libsigc++ syntax. (Elijah Newren)
+ - FAQ: Don't mention gtkmm 1.2 so much. (Elijah Newren)
+ - Examples: Adde book/menus_and_toolbars, to show UIManager. (Murray Cumming)
+
+
+2.3.6:
+
+* Build fixes:
+ - Partial Sun Forte C++ build fixes.
+ (Murray Cumming, Michael v.Szombathely)
+ - gcc 3.4 (cvs) build fixes
+ (Murray Cumming, Matthew Tuck)
+ - win32 (cygwin) build fixes:
+ (Cedric Gustin)
+ - Doxygen is, again, not required when building from tarballs.
+ (Murray Cumming)
+
+* Gtk: RadioButton, RadioMenuItem: Added group_changed signal.
+ (Murray Cumming)
+
+* Documentation:
+ _Lots_ of added, and improved reference documentation.
+ (Hagen Moebius)
+
+2.3.5:
+
+* Gtk:
+ - ComboBox: Added popup() and popdown(). (Murray Cumming)
+ - ComboBoxEntry: Added a set_text_column() overload that takes a
+ ModelColumnBase instead of an int.
+ - Added ComboBoxEntryText, like ComboBoxText. (Murray Cumming)
+ - Entry: Added set/get_alignment().
+ - FileChooser:
+ - Removed set_folder_mode() and get_folder_mode(),
+ which are no longer in GTK+. (Bryan Forbes)
+ - Added set/get_preview_label(). (Murray Cumming)
+ - Added IconInfo, TargetList (Bryan Forbes)
+ - IconTheme: methods now use IconInfo. (Bryan Forbes)
+ - Added Gtk::Stock::DIALOG_AUTHENTICATION stock item.
+ (Bryan Forbes)
+ - Scale: Added get_layout() and get_layout_offsets().
+ - Toolbar
+ - Added append(), prepend(), insert() overloads which take
+ slots, so that signal connecting requires less code.
+ - Removed old STL-style API, because the APIs do not
+ co-exist well together at the GTK+ level.
+ (Bryan Forbes)
+ - TreePath: Corrected template typo found by gcc 3.4
+ (Matthew Tuck)
+ - Widget: Added add_mnemonic_labels(), remove_mnemonic_label(),
+ list_mnemonic_labels(), draw_insertion_cursor().
+ (Murray Cumming)
+ - Window: Added "role" property. (Bryan Forbes)
+
+ - Several const corrections. (Murray Cumming)
+ - Fixes to the libsigc++2 port. (Martin Schulze, Bryan Forbes)
+ - Added --enable-examples configure option. (Bryan Forbes)
+
+ - Documentation:
+ - Added some TreeView reference documentation.
+ (Billy O'Connor)
+
+* Gdk:
+ - Drawable::draw_glyphs() now takes a c++ Pango::GlyphString.
+ (Bryan Forbes)
+ - Window
+ - get_children() now returns a C++ container instead of a GList.
+ (Bryan Forbes)
+ - get_internal_paint_info() now takes C++ parameters.
+ (Bryan Forbes)
+ - removed peek_children() because it's the same as get_children().
+ (Murray Cumming)
+
+* Pango:
+ - FontFace: Added list_sizes().
+ - AttrIter: Added get_attrs().
+ - FontFamily: Added is_monospace().
+ - FontSet: Added foreach()
+ - Language: Added includes_script().
+ - Layout: Added set/get_auto_dir().
+
+2.3.4:
+
+* Gtk:
+ - Now uses libsigc++ 2 (Murray Cumming)
+ - Frame: Methods use C++ Gtk::Allocation instead of C GtkAllocation.
+ (Bryan Forbes)
+ - Added IconTheme. (Bryan Forbes).
+ - Added TargetList. (Bryan Forbes)
+ - TargetEntry: Use a C++ TargetFlags enum instead of the C enum.
+ (Bryan Forbes)
+ - Widget
+ - drag_dest_find_target(), drag_dest_get_target_list(), drag_begin():
+ Use C++ TargetList instead of C GtkTargetList. (Bryan Forbes)
+ - Use C++ Gtk::Allocation instead of GtkAllocation, and
+ Gtk::Requisition instead of GtkRequisition in methods.
+ (Bryan Forbes)
+ - Socket: Use C++ Gdk::NativeWindow type for method parametrs.
+ (Bryan Forbes)
+
+* Gdk:
+ - Colormap: Use C++ Gdk::Color instead of C GdkColor for method parameters
+ (Bryan Forbes)
+ - Device: Use C++ InputSource enum instead of the C GdkInputSource enum.
+ (Bryan Forbes)
+ - Display: Use ustring for target parameters instead of GdkAtom.
+ (Bryan Forbes)
+ - Added C++ NativeWindow typedef and used it instead of GdkNativeWindow
+ (Bryan Forbes)
+
+* examples: book/dialogs/filechooser: Added buttons.
+ (Matthew Walton)
+
+2.3.3:
+
+- CellLayout: signals take a C++ CellRenderer* instead of a C
+ GtkCellRenderer*.
+- Widget:
+ - signal_drag_data_get and signal_selection_get now use the C++
+ SelectionData type.
+ - Methods now take C++ Gdk::Region& instead of C GdkRegion*.
+- SelectionData: Added set() method overload with fewer parameters.
+- TreeDragSource: The drag_get_data vfunc now uses the C++
+ SelectionData type.
+- TreeIter (TreeModel::iterator): Added operator--().
+- Added const version of many ListHandle<> get_*() methods.
+ (Murray Cumming)
+
+2.3.2:
+
+* Gtk:
+ * AccelMap: Added lock_path() and unlock_path().
+ * Button: Added get/set_alignment().
+ * CellLayout: Added reorder().
+ * Clipboard: Added wait_for_targets(), and a simpler request_targets().
+ * MenuShell: Added cancel().
+ * ListStore, TreeStore: Added set_model_columns() for use by derived
+ classes.
+ * TreeModel: vfuncs now use C++ types, and are documented.
+ * TreeModelFilter: Wrapped set_modify_func().
+ * Window: Added get_group() and set_accept_focus().
+
+* Gdk:
+ * Colormap: Added get_system().
+ * Device: Added get_name(), get_source(), get_mode() and get_has_cursor()
+ * Display: Added set_double_click_distance() and get_default_group().
+ * DragContext: Added get_targets().
+ * Added rgb_*() methods.
+
+* Pango:
+ * LayoutLine: Added get_length(), get_start_index(), and get_layout().
+
+* Atk:
+ * Added Document, Hyperlink, Hypertext, and StreamableContent classes.
+
+* Portability:
+ * Atk::Text build fix for Intel compiler. (Takashi Takekawa)
+
+* Documentation:
+ * devhelp file now installs correctly, with working hyperlinks.
+ * Documented Gtk::AccelMap methods.
+ * Documented Atk classes.
+ * TreeView, TextView, and associated classes are almost fully documented.
+ (Murray Cumming)
+
+* Also:
+ - build fix. (Billy O'Connor)
+ - spec file fix. (Eric Bourque)
+
+
+2.3.1:
+
+* Gtk:
+ * Action, ToggleAction, RadioAction:
+ - Added create() method overloads without stock_id.
+ - ToggleAction::create() has extra bool is_active parameter.
+ * EntryCompletion: Wrapped match_selected signal.
+ * Expander: Added get/set_markup()
+ * Menu: Added set_monitor()
+ * Menu::AccelKey is now Gtk::AccelKey
+ * MessageDialog: Added set_markup().
+ * Added FileChooser (interface), FileChooserWidget, FileChooserDialog, FileFilter, with example.
+ * ComboBox example
+ * ComboBoxText now works, with example.
+ * RadioToolButton: constructors properly implemented. (Murray Cumming, Billy O'Connor)
+ * Toolbar: Old API deprecated. New API wrapped. Expect more change here.
+ * TreeModel:: Add virtual iter_is_valid() method, now used by TreeModel::iterator operator bool().
+ * TreeViewColumn: Added get_cell_position().
+ * Widget: Wrapped get_accessible and screen_changed signals.
+* Gdk:
+ * Pixbuf: Added get_formats()
+
+* Added Atk::init() and Pango::init(), to use when you don't want all of gtkmm.
+* Documentation: Corrected installation and links with glibmm documentation.
+* Deprecation: Define GTKMM_DISABLE_DEPRECATED to prevent use of deprecated API in your application.
+ (Murray Cumming)
+
+2.3.0:
+
+* Removed key-binding signals. (Murray Cumming)
+
+* Use of Gdk::Device and Gtk::SelectionData instead of C equivalents
+ (Murray Cumming)
+
+* New classes:
+ Gtk::
+ Action, ActionGroup, CellLayout, ComboBox, ComboxText, ComboBoxEntry, ColorButton, EntryCompletion,
+ Expander, FontButton, RadioAction, RadioToolButton, ToggleAction, ToggleToolButton, ToolItem, ToolButton,
+ UIManager
+
+* New API for existing classes:
+ Gtk::Alignment: get/set_padding(). Useful for indenting Gtk::Frame contents.
+ Gtk::Button: get/set_focus_on_click()
+ Gtk::ButtonBox: get_child_secondary().
+ Gtk::Calendar:
+ - display_options() is now set_display_options().
+ - New properties.
+ Gtk::CheckMenuItem: get/set_draw_as_radio()
+ Gtk::Entry: get/set_completion()
+ Gtk::EventBox: get/set_visible_window(), get/set_above_child()
+ Gtk::IconSource: get/set_icon_name()
+ Gtk::Menu: attach()
+ Gtk::MessageDialog:
+ Constructors: Added bool use_markup paramater after message parameter.
+ This is an API change, and I'd leak to hear suggestions for alternatives.
+ Gtk::TextBuffer: select_range()
+ Gtk::TextIter (also known as Gtk::TextBuffer::iterator):
+ Added *_visible_* versions of forwards/backwards methods.
+ Gtk::TextView:
+ - get/set_overwrite(), get/set_accepts_tab()
+ - Added WRAP_WORD_CHAR wrap mode.
+ Gtk::TreeViewColumn (also known as Gtk::TreeView::Column):
+ Added get/set_expand().
+ Gtk::Widget:
+ - queue_resize_no_redraw(), get/set__no_show_all()
+ - Added unset_fg(), unset_bg(), unset_font(), unset_text(), unset_base().
+ - Added add_modal_grab(), remove_modal_grab(), get_current_modal_grab().
+ (Ole Laursen)
+ - Added set_window() and set_allocation() for implementing new native widgets.
+ (Detlef Reichl)
+ Gtk::Window: set_default_icon(), set_keep_above(), set_keep_below()
+
+ Gdk::Cursor: new constructor: Cursor(const Glib::RefPtr<Display>& display, const Glib::RefPtr<Pixbuf>& pixbuf, int x, int y)
+ Gdk::Display: flush(), supports_cursor_alpha(), supports_cursor_color(), get_default_cursor_size(),
+ get_maximal_cursor_size
+ Gdk::PixbufLoader: create() now has extra bool mime_type parameter.
+ Gdk::Window: set_keep_above(), set_keep_below().
+ (Murray Cumming)
+
+
+2.2.2:
+
+ * OptionMenu: Fixed segfault when Menu remembers destroyed OptionMenu.
+ (Murray Cumming)
+ * Gtk::Image::get_pixbuf(): Fixed reference counting error.
+ (Enrico Costanza)
+ * Pango::AttrList::insert(), insert_before(), change()): Pass a copy of
+ the attribute parameter. (Martin Schulze)
+ * Menu: Fixed memory leak when removing MenuItems.
+ (Murray Cumming)
+ * Build fixage (Enrico Scholz, Cedric Gustin)
+ * Win32:
+ - Dispatcher ported to Win32, we think.
+ (Andrew Makeev, Cedric Gustin, Murray Cumming)
+ * Examples:
+ - Updated book/idle and book/timeout.
+ (Gene Ruebsamen, Murray Cumming)
+ * Documentation:
+ - Win32 installation instructions. (Gene Ruebsamen)
+ - Glib::Module documented (Ross Burton)
+ - Updated idle/timeout chapter. (Gene Ruebsamen)
+ - Correct all automatic-from-GTK+ documentation that mentions
+ _free() functions by mistake. (Murray Cumming)
+ - Corrected typo in gtk_window_set_default(). (Oli Kessler)
+ - gobj() methods documented.
+ - Documented Glib::ListHandle, Glib::ListHandle, Glib::SListHandle.
+ (Murray Cumming)
+
+Changes in gtkmm 2.2:
+
+Highlights:
+- New GTK+ 2.2 API wrapped:
+ * Gtk::ListStore and TreeStore move(), reorder(), iter_is_valid()
+ methods added.
+ * Gdk::DisplayManager, Display, and Screen added.
+
+- Existing API improved:
+ * atkmm rewritten and usable.
+ * Gtk::Clipboard rewritten and now usable, with examples and documentation.
+ * Gtk::TreeView drag-and-drop now usable, with examples, and documentation.
+ * Gtk::TreeModelSort wrapped.
+ * Gtk::Toolbar has a non-STL-style interface, like the other containers.
+ * glibmm: Added string utility functions, get_appname(), file_open_tmp()
+ and file_open_contents(). Glib::Markup added - this is not a real XML
+ parser.
+ * Various bugfixes - see ChangeLog.
+
+The following people made gtkmm 2.2 happen:
+Ross Burton
+Murray Cumming
+Daniel Elstner
+Walter H. van Holst
+Mark Jones
+Gary Peck
+Daniel Sundberg
+Naofumi Yasufuku
+
+
+
+2.2.0:
+
+* Added Gdk::Window::pointer_grab(), pointer_ungrab(), keyboard_grab()
+ and keyboard_ungrab(). (Murray Cumming)
+
+2.1.3:
+
+* Changed library binary version so libtool knows that
+ 2.2 is API compatible with 2.0. We did this wrong in the past
+ so people MUST do this:
+
+ rm -rf <prefix>/lib/lib{glib,pango,atk,gdk,gtk}mm-[12].0.so.[345]*
+
+ where <prefix> is something like /usr/local or /opt/gnome2
+ This will remove previous bad versions of 2.1.x.
+* atkmm: Lots of new interfaces wrapped. (Daniel Elstner).
+* Gtk::TextView:: Fixed bytes/length confusion in TextBuffer's
+ insert_text callback. (Daniel Elstner)
+
+Documentation:
+ C->C++ docs conversion improved. (Daniel Elstner)
+
+2.1.2:
+
+* Gtk::Clipboard API finished, with examples, and a book chapter:
+ http://www.gtkmm.org/gtkmm2/docs/tutorial/html/ch16.html
+ (Murray Cumming, Daniel Elstner)
+* Gtk::TreeView: Some drag-and-drop API improvements, with examples.
+ (Murray Cumming)
+* Gtk::TreeModelSort added. (Daniel Elstner)
+* Glib::RefPtr: Added swap(). (Daniel Elstner)
+* Gtk::ColorSelection: catch exceptions. (Daniel Elstner)
+* Gdk::Pixmap: Prevent rare segfault in creation. (Daniel Elstner)
+* Gtk::AccelGroup::activate(): Implemented as a wrapper of
+ gtk_accel_groups_activate(). (Daniel Elstner)
+* Glib::file_open_tmp() and Glib::file_open_contents() implemented.
+ (Daniel Elstner)
+* win32: Glib::Dispatcher compilation fix. (Naofumi Yasufuku)
+
+2.1.1:
+* Gtk::Clipboard API usable, and demonstrated in examples/book/clipboard
+ (Murray Cumming)
+* new Gtk::ListStore and TreeStore move(), reorder(), iter_is_valid()
+ methods added. (Daniel Elstner)
+* Gtk::FileSelection: get_history_pulldown() added. (Mark Jones)
+* Added Gtk::Widget::modify_bg_pixmap(). (Daniel Elstner)
+* Gtk::RcStyle: Added accessors for public struct fields. (Daniel Elstner)
+* Gtk::Style: Added accessors. (Daniel Elstner)
+* Gtk::ColorSelection: Added palette methods. (Daniel Elstner)
+* Gtk::Label::get_layout(): Corrected refcounting (Daniel Elstner)
+* Prevent leak when constructors throw exceptions. (Daniel Elstner)
+* Added Glib::get_application_name() and set_application_name()
+ (Daniel Elstner)
+* spec file improved (Gary Peck)
+
+* Documentation updated automatically from latest C API docs.
+  (Daniel Elstner)
+
+
+2.1.0:
+
+* atkmm: Major API corrections. It was unusable before, so we felt free to break
+  the API. (Daniel Elstner)
+* Gtk::Clipboard: Now inherits from Glib::Object, so it should be used with
+  Glib::RefPtr<>. This was unusable before, so we felt free to break the API.
+  (Murray Cumming)
+* Gtk::TreeModel::RowReference: It's now a "boxed type" so it can be copied.
+  (Murray Cumming)
+* Gtk::TreeView: some convenience method overloads added. (Daniel Elstner)
+* gdkmm: New classes and methods added, mostly to support multi-head.
+  (Murray Cumming)
+* gtkmm: New methods, for multi-head and some new TreeView methods.
+  (Daniel Sundberg, Murray Cumming)
+* glibmm/stringutils.h: New utility functions. (Daniel Elstner)
+* Gtk::Toolbar: Now has non-STL-style interface - e.g. append().
+  (Murray Cumming)
+* Glib::Markup added. You probably want to use a real XML parser instead.
+  (Daniel Elstner)
+* Spec file for RPMs corrected. (Walter H. van Holst)
+
+Documentation:
+* Widget-specific and Internationalization chapters completed.
+* Book now has inline example code. (Murray Cumming, Daniel Elstner)
+* New book/dialogs example. (Murray Cumming)
+* examples: warnings fixed. (Daniel Elstner)
+
+Also in 2.0.2:
+* Lifetime fix: rare segfault involving destruction and hide() fixed.
+  (Daniel Elstner)
+* TreeView::append_editable(): Now works with bool model columns.
+  (Murray Cumming)
+* reference-counting fixed in some vfuncs. (Daniel Elstner)
+
+
+gtkmm-2-0 branch created. This is HEAD, for gtkmm 2.2
+
+2.0.1:
+
+* Lifetime: Fixed segfault during destruction of non-scrollable children
+ in ScrolledWindow. (Murray Cumming, Daniel Elstner)
+* Signals: Honor the blocked flag of the SigC::Connection.
+ (Daniel Elstner)
+* Gtk::WindowGroup: Added missing create() method.
+ (Daniel Elstner)
+* Win32:
+ - Uses -mms-bitfields option for use with GTK+ with MinGW gcc3
+ - Temporarily #undef some badly named win32 macros.
+ (Naofumi Yasufuku)
+
+* Documentation:
+ - Built HTML is now distributed in the tarball.
+ (Murray Cumming, Daniel Elstner)
+ - Documentation is installed in <prefix>/share/doc/gtkmm-2.0/
+ (Daniel Elstner)
+ - "Programming with gtkmm": widget-specific sections updated.
+ (Murray Cumming)
+
+
+2.0.0
+
+* Now builds with gcc even with -Werror warnings. (Daniel Elstner)
+* Various low-level cleanups/improvements. (Daniel Elstner)
+* SUN-specific workarounds removed now that SUN fixed their
+ compiler (Michael v. Szombathely)
+
+API Changes:
+* Gtk::Box::pack_start() and pack_end():
+ removed default argument values for the bool, bool overloads,
+ to improve type-safety of the more useful PackOptions overload.
+ (Daniel Elstner)
+* Gtk::Menu_Helpers::StockMenuElems can be used to create
+ submenus. (Christof Pettig)
+* Gtk::AspectFrame: Added a constructor that uses AlignmentEnum.
+ (Murray Cumming)
+* Some minor Pango API corrections (Daniel Elstner)
+* Glib::ustring::clear(): Added. (Daniel Elstner)
+* Glib::Ascii::tolower() and Glib::Ascii::toupper() added.
+ (Daniel Elstner)
+
+
+Documentation:
+* Book:
+ Updated almost all widget-specific sections.
+ Used links to reference docs and to example source code.
+ Added screenshots.
+* FAQ: Updated and converted to DocBook XML.
+* examples: Rewrote many examples - see examples/book/
+ (Murray Cumming)
+* Glib::ustring non-standard methods documented.
+ (Daniel Elstner)
+
+
+2002-10-17: 1.3.26:
+
+* GCC 2.95 build fixed. (Daniel Elstner)
+
+2002-10-17: 1.3.25:
+
+* Now requires libsigc++ 1.2.0
+* Gtk::Entry::get_layout(): refcounting fixed. (Daniel Elstner)
+* gcc 3.2 warnings fixes. (Daniel Elstner)
+* Gtk::TextBuffer::iterator::operator bool() now works.
+ (Daniel Elstner)
+
+API changes:
+* Gtk::TextBuffer:
+ * create_mark() Added overload for anonymous marks.
+ * iterator: Return values instead of references, for UTF8.
+ * insert_interactive() and erase_interactive now return a pair,
+ with a bool to indicate success, like std::map::insert().
+ * insert_range()renamed to insert().
+ * insert_range_interactive() renamed to insert_interactive().
+ * delete_text() renamed to erase()
+ * delete_interactive_text() renamed to erase_interactive()
+ * delete_selection() renamed to erase_selection().
+ * insert_child_anchor() now returns an iterator.
+ * signal_insert_text() renamed to signal_insert().
+ * signal_delete_range() renamed to signal_erase().
+ * assign(): New alias method for set_text().
+ (Daniel Elstner)
+* Gtk::TreeView:
+ * Added scroll_to_row() and scroll_to_column()
+ * Added unset_hadjustment(),unset_vadjustment(), and
+ unset_expander_column().
+ Added set_cursor() overload taking a TreePath.
+ * enable_drag_model_source() now takes a Gtk::TargetEntry instead
+ of the C type.
+ (Daniel Elstner)
+* Glib::IOChannel StreamIOChannel: new wrappers.
+ (Tassos Bassoukos, Martin Schulze, Daniel Elstner)
+* Glib::IOSource: Added create() overload that takes IOChannel.
+ (Martin Schulze).
+
+* Documentation:
+ * Book: Some Sections on common widgets updated and rearranged,
+ with screenshots. Example code is now linked instead of being
+ inline.
+ * examples:
+ Several examples rewritten and moved into examples/book.
+ (Murray Cumming)
+ * demos: warnings in TextBuffer demo fixed. (Daniel Elstner)
+
+2002-10-09 1.3.24:
+
+* Lifetime: On-stack child widgets are not destroyed during destruction of their
+ containers. (Murray Cumming)
+* Gtk::TextMark::get_iter(): Corrected reference counting (Mike McEwan)
+
+API changes:
+* Glib::Source: Can now wrap existing GSource objects.
+ (Martin Schulze)
+* Glib::TimeVal: Convenience methods added. (Stephan Puchegger)
+* Glib::IConv: Added reset(). (Daniel Elstner)
+* Glib::Dispatcher: new constructor accepts an arbitrary Glib::MainContext.
+ (Stephan Puchegger)
+* Gdk: Added screen_width() and screen_height(). (Murray Cumming)
+
+
+2002-09-13 1.3.23:
+
+Documentation:
+* We now reuse ATK, GDK, and Pango reference documentation:
+ e.g: http://www.gtkmm.org/gtkmm2/reference/html/namespacePango.html
+ (Martin Schulze)
+* README.SUN added (Michael v. Szombathely)
+
+API breakage:
+* pangomm: New classes, and some corrections to existing classes.
+ (Martin Schulze)
+ Excuse: Pangomm isn't used very much.
+* Gtk::TreeView::set_column() takes a Widget& instead of a GtkWidget*.
+ (Murray Cumming)
+ Excuse: If anybody was using it already, they would have told us.
+* Gtk::TextBuffer::get_text(): Added overload that takes no iterators.
+ (Murray Cumming)
+ Excuse: It's API addition.
+* Gtk::Style: Wrapped GTK+ vfuncs.
+ (Murray Cumming)
+ Excuse: It's API addition.
+
+
+2002-08-28 1.3.22:
+
+* Win32:
+ - Don't include strings.h on Win32.
+ - Use -fnative-struct, as used by GTK+ DLLs.
+ - Install win32 import libraries.
+ (Naofumi Yasufuku)
+ - Don't try to register non-wrapped classes. (Murray Cumming)
+
+* Sun Forte build fixes. (Michael v. Szombathely)
+
+API breakage:
+* pangomm:
+ - Added Rectangle, Language, Color, Item, Glyph, Attributes, Attr, AttrItem.
+ - Used these wrappers in other class methods.
+ - Added some wrapper methods.
+ (Martin Schulze)
+ Excuse for breakage: pangomm isn't used much directly so this shouldn't break much.
+* Added Gdk::Window::set_cursor(void) to reset the cursor. (Murray Cumming)
+ Excuse: It's additional API so it doesn't break anything.
+
+2002-08-18 1.3.21:
+* Lifecycle: Prevented double-destroying of GtkObjects. (Murray Cumming)
+* Pango::Layout: Added constructor and create() method. (Martin Schulze)
+* Gtk::Scale: set_draw_value() and get_draw_value() parameters are now bools.
+ (Ole Laursen)
+
+Documentation:
+* Additions to PORTING. (Elke Meier).
+* PORTING is now distributed. (Bradley Bell)
+* docs/internal: Added documentation_generation.tx.t (Murray Cumming)
+* More reference docs for Scale, VScale, and HScale. (Ole Laursen)
+
+
+2002-08-14 1.3.20:
+* Gtk::TreeView classes:
+ - TreeView::append_column_editable() Workaround for gcc 2.95.3 compilation
+ bug. (Martin Schulze)
+ - TreeModel::foreach() return value marshalled properly. (Gergo Erdi)
+
+* lifecyle: C++ deletion really destroys GtkObjects again. (Murray Cumming)
+* Glib::Object: removed warnings when using libglademm. (Murray Cumming)
+* Gtk::manage(): Now emits warnings when you try to use it on a top-level
+ Window. (Murray Cumming)
+
+* examples:
+ - Removed old menu and combo examples.
+ - Corrected use of Gtk::manage() on top-level windows.
+ - Added cleaner combo example in example/book/combo.
+ - rulers fixed. (Martin Schulze)
+
+* API changes:
+ - Gtk::Combo: Added ComboDrowDown class - it wraps the deprecated GtkList
+ widget that is used in the GtkCombo interface. gtkmm coders can now set
+ individual item strings and use widgets for Combo items. See
+ examples/book/combo. (Martin Schulze)
+ - Gdk::Drawable: draw_rectangle() and draw_arc(): Changed filled arg from
+ int to bool. (Michael Koziarski)
+ - Gdk::Color: *_p() renamed to get_*_p(). (Andreas Holzmann)
+ - Gtk::TextMark: Added get_iter() as a convenience. (Martin Schulze)
+ - Gtk::TextBuffer: delete_at_cursor() and insert_at_cursor() return the
+ iterator, to be consistent with the other methods. (Martin Schulze)
+ - Gtk::TextBuffer: paste_clipboard(), insert_child(), and
+ create_child_anchor() parameters are now const. (Martin Schulze)
+ - Gtk::Bin::add_label(): Added override, using enum. (Gergo Erdi)
+ - Gtk::IconFactory and Gtk::StockItem: Changed string parameters to
+ Gtk::StockID to allow use of Gtk::BuiltinStockID. (Murray Cumming)
+
+
+2002-08-06 1.3.19:
+* Gtk::TreeView classes:
+ - Added TreeModel::RowReference wrapper - it remains valid even when the
+ rows are sorted.
+ - All methods that take a Model::iterator can also take a Model::Row.
+ (Murray Cumming)
+ - Added TreeView::append_column_editable() method. It creates columns whose
+ cells automatically store new values in the model when they are edited.
+ See documentation:
+ http://www.gtkmm.org/gtkmm2/tutorial/html/ch10s02.html#id2837147
+ - Added TreeModel::foreach() wrapper.
+ - Added TreeView::remove_all_columns().
+ - treestore demo: Parent rows don't show toggle cells anymore.
+ (Daniel somebody)
+* Box::pack_start() and pack_end() API:
+ - Restore the old (bool, bool) methods as overload, so it's easier to
+ port to gtkmm2.
+ - Changed the ORed flags to a simpler set of 3 mutually-exclusive enums.
+ (Michael Babcock)
+* Menu API:
+ - Main Menu items are now accelerated automatically.
+ - Popup menus need to be accelerated at the appropriate time - handy
+ accelerate() overloads were created for this.
+ - AccelMap: New wrapper.
+ (Andreas Holzmann)
+ - ImageMenuElem items now show their icons automatically.
+ (Murray Cumming)
+* Lifecycle:
+ - Top-level windows are now properly destroyed, and definitely can't be
+ manage()d.
+ - Added test for this (Michael v. Szthombathely)
+ - Prevented some double-destruction of signal connections.
+ - Prevented recreation of 2nd C++ instances by Glib::wrap() during
+ destruction of the C instances.
+ - Prevented calling of signal handlers of destroyed C++ instances.
+ (Murray Cumming, Valgrind)
+ - Corrected refounting of some get*() methods. (Christof Pettig)
+* Sun Forte compiler fixes:
+ - Examples use more lengthy code when Sun's compiler can't handle the
+ templated TreeView methods.
+ - Explicit specification of templated Glib::wrap() specializations.
+ (Michael v. Szthombathely, Murray Cumming)
+* gcc 3.1 fixes (Jarek Dukat)
+* Added vast number of const get_*() const overloads. (Jarek Dukat)
+* Added alignment enum, used in overloads as an alternative to 0.5, 1.0, etc.
+ (Murray Cumming)
+* Gtk::Style: Added const overloads of get_*gc() methods.
+* Documentation:
+ - Allow use of a local DocBook stylesheet, for people who aren't connected.
+ (Marcelo E. Magallo)
+ - Added Gtk::Main::run(window) overload reference docs.
+ (Moreten Brix Pedersen)
+ - Added RefPtr<> reference docs. (Ole Laursen)
+ - Prevented reuse of C docs that talk about free-ing stuff. (Murray Cumming)
+* autogen fix for GTKMM_VC_PERL_VERSION problem. (Marcel E. Magallo)
+* Corrected library versioning of the internal gtk_extra_defs library.
+ (Bradley Bell)
+* FontSelection example fixed. (Morten Brix Pedersen)
+
+
+2002-07-14 1.3.18:
+
+* documentation:
+ ( See http://www.gtkmm.org/gtkmm2/ )
+ book: Added TreeView chapter.
+ Added custom signals section.
+ (Murray Cumming)
+ reference: Added Menus and TextView groups.
+ Added vast amounts of class documentation, and method
+ documentation reused from GTK+.
+ (Murray Cumming, James Henstridge, Morten Brix Pedersen)
+ PORTING: Additions and clarifications. (Jarek Dukat, Morten Brix Pedersen)
+ examples: Added menus and custom signals examples. (Murray Cumming)
+ Corected original menu examples. (Liam Girdwood)
+ internals: Corrected _DEPS description. (Marcelo Magallon)
+* Gtk::TreeView classes:
+ - Models columns can be accessed by number, for dynamically-created models.
+ - Added overrides to take TreeModel::Rows as well as TreeModel::iterators.
+ - Row: Added operator bool().
+ (Murray Cumming)
+* Gtk::TextView classes
+ - Added TextBuffer:: typedefs for Tag, TagTable and Mark.
+ - TextBuffer: insert() methods now return the new iterator instead of
+ modifying the input iterator, to be more STL-like.
+ - Renamed get_start_iter() and get_end_iter() to begin() and end().
+ - Made get() methods const.
+ (Murray Cumming)
+* Gtk::Table: The STL-style list now works. It probably never worked before,
+ even in gtkmm 1.2. (Murray Cumming)
+* Gtk::RadioButton::Group: Simplified copying/passing semantics.
+* Gtk::Menu: Show stock menu item icons. (Christof Petig)
+* Glib::IConv: constructor handles errors and throws appropriate exceptions.
+ (Jarek Dukat)
+* Sun Forte compiler fixes. (Murray Cumming)
+* vfunc wrapper generation simplification. (Murray Cumming)
+* Gtk::Invisible: Correct constructor bug discovered by
+ Tony <a_a_c@bellsouth.net> (Murray Cumming)
+* gcc 3.1 fixes. (Jarek Dukat, Gergo Erdi)
+
+
+2002-06-22 1.3.17:
+
+* Win32 support. (Cedric Gustin, Daniel Elstner)
+* STL-style interfaces: Use of references rather than pointers as value types,
+ to avoid double indirection when dereferencing iterators. (Martin Schulze)
+* vfunc wrappers: All overrideable vfuncs now have the "_vfunc" suffix, and
+ they all have separate invoker methods, which are usually wrappers of the C
+ invoker functions. (Daniel Elstner)
+* Gtk::Box STL-style interface uses Gtk::AttachOptions instead of bools,
+ for consistency. (Jarek Dukat)
+* Added examples/gdk, which shows gdkmm drawing code. (Alain Rouge)
+* Added Gdk::RgbCMap wrapper. (Murray Cumming)
+* Added Pango::GlyphString wrapper. (Murray Cumming)
+* Many more get_*() methods are now const. (Jarek Dukat)
+* Gtk::TextBuffer::create_mark() reference-count bug fixed. (Andrew E Makeev)
+* Gdk::Drawable: Compilation fix for Sun's Forte compiler. (Michael v. Szombathely)
+* Added Glib::Module wrapper. (Murray Cumming)
+* Improved gtkmmproc documentation. (Murray Cumming)
+* Distribute CHANGES files. (Morten Brix Pedersen)
+
+
+2002-06-17: 1.3.16:
+
+* Distribute cell renderer example header files. Doh! (Daniel Elstner)
+* Rename several remove_foo() methods to unset_foo(), to avoid confusion with
+ container operations. (Daniel Elstner)
+* Gtk::FileSelection::set_filename(): Change argument type to std::string, to
+ follow the GTK+ inconsistency fix -- both get_filename() and set_filename()
+ work with on-disk encoding now. (Daniel Elstner)
+* Glib::Mutex::Lock and friends: Replace the bool acquire_immediately
+ parameter with overloaded ctors. See the docs, it should be easier now.
+ (Daniel Elstner)
+
+2002-06-15: 1.3.15:
+
+* Major low-level GObject changes to allow on-the-fly GType registration. This allows
+ creation of custom TreeView CellRenderers in C++, and should allow implementation of
+ GTK+ Interfaces in C++. See examples/cellrenderercustom/
+ (Daniel Elstner)
+* Gtk::Notebook: Restored the STL-style interface, but this time properly.
+ (Martin Schulze)
+* Gtk::TreeSortable: set_sort_func() now uses SigC C++ Slots instead of C callbacks.
+ (Jarek Dukat)
+* Glib::Dispatcher: A special libsigc++ signal for easy inter-thread communication through
+ a pipe. See examples/thread/dispatcher and
+ http://www.gtkmm.org/gtkmm2/reference/html/classGlib_1_1Dispatcher.html#_details
+ (Daniel Elstner)
+* Added optimisation that allows us to use C++ types even in default signal handlers, so
+ there should soon be no C types anywhere in the gtkmm interface. (Daniel Elstner)
+* Added comments to the C<->C++ callback hookups. (Murray Cumming)
+* Gtk::MenuShell and MenuBar implementation cleanup. (Daniel Elstner)
+* Gdk::Pixmap/Bitmap implementation simplified. (Daniel Elstner)
+* Gtk::Widget:
+ - new enum Gtk::WidgetFlags.
+ - width() renamed to get_width(). Likewise height().
+ (Daniel Elstner)
+* Gdk::Drawable: More use of C++ types, and constness fixes. (Daniel Elstner)
+* Gtk::Style: Wrap gtk_paint_*() functions. (Daniel Elstner)
+* Gtk::Stock:
+ - Implement Gtk::Stock::add().
+ - StockItem: Allow checking for null.
+ (Daniel Elstner)
+* Gtk::Paned::pack(): Uses the AttachOptions enum instead of unreadable bools.
+ (Daniel Elstner)
+* Removed need for wrap_specific_type(). (Daniel Elstner)
+* Removed Gtk::Kit typedef. Just use Gtk::Main. (Daniel Elstner)
+
+2002-05-12: 1.3.14:
+
+* Gtk::TreeView and friends:
+ - Namespaced TreeIter, TreePath, TreeViewColumn, etc, as TreeModel::iterator,
+ TreeModel::Path, TreeView::Column, etc. (Murray Cumming)
+ - Separated TreeModel::iterator into iterator and Row, obtained by
+ dereferencing the iterator. This is more STL-like. (Daniel Elstner)
+ - Some Model methods moved to Row, and set_value()/get_value() replaced by
+ array-style operator[]. (Daniel Elstner)
+ - Added overrides to allow for simple model-to-view column mapping without
+ repetitive specifying of TreeViewColumns and CellRenderers and attributes.
+ Examples and demos therefore greatly simplified. (Murray Cumming)
+ - TreeModel::iterator comparison problems fixed. (Daniel Elstner)
+ - Added Path(iterator&) constructor.
+ - All get_*() methods are now const. (Murray Cumming)
+* Gtk::Box::pack_start() and pack_end(): Now uses AttachOptions flags instead
+ of two bool paratemers, to make code more readable and to be consistent with
+ Gtk::Table::attach(). (Murray Cumming)
+* Gtk::Notebook: STL-style interface remoeved because GTK+ doesn't expose
+ enough internals anymore. The simple append/prepend interface remains.
+ (Murray Cumming)
+* Some enums placed inside their related classes. (Daniel Elstner)
+* Glib::FileError enums renamed to avoid clashes with C #defines on some
+ platforms (Daniel Elstner)
+* Fixed refcount problem with manage() ed child widget destruction.
+ (Murray Cumming)
+* test suite started. (Daniel Elstner)
+* Glib::Value and properties simplifications. (Daniel Elstner)
+* Gtk::Dialog: Dialogs are now hidden when run() finishes. (Murray Cumming)
+
+2002-05-01 gtkmm 1.3.13:
+
+* Mostly just a release to sync with a new gnomemm release.
+* Some glibmm code is now autogenerated with gtkmmproc (Daniel Elstner)
+* Improvements to enum generation (Daniel Elstner)
+* Improvements to glibmm character conversions (Daniel Elstner)
+* gtk-demo segfault fixed. (Martin Schulze)
+
+2002-04-27 gtkmm 1.3.12:
+
+* Many many fixes for Sun's Forte C++ compiler.
+ (Michael v. Szombathel, Daniel Elstner, Murray Cumming)
+* StockID API improved and used more consistently.
+ (Martin Schultze, Daniel Elstner)
+* Glib::ustring conversion improvements (Daniel Elstner)
+* gtkmmproc improved for use in bonobomm. (Murray Cumming)
+* Gdk::Point wrapper improved. (Martin Schulze)
+* Gtk::Adjustment constructor fixed. (Murray Cumming)
+* Gtk::TreeView:methods that took function pointers now take SigC::Slots.
+ (Murray Cumming)
+* Less #including of C headers in gtkmm headers, so less pollution of the
+ global namespace. (Murray Cumming)
+* Menu API more complete and consistent. (Martin Schultze)
+* Gtk::Dialog::get_action_area() now does. (Murray Cumming)
+* GType changes to allow libglade/libglademm cooperation. (Murray Cumming)
+* Reference documentation:
+ - Stock IDs in HTML:
+ http://gtkmm.org/gtkmm2/reference/html/namespaceGtk_1_1Stock.html#a6
+ - Makefile dependencies fixed for faster docs building.
+* General API review.
+
+2002-04-13 gtkmm 1.3.11:
+
+* gdkmm.h: No longer includes non-existent files. (Daniel Elstner)
+* Build: Non-cvs users don't need perl. (Daniel Elstner)
+* glibmm: pkg-config now reports libgobject for linking. (Murray Cumming).
+
+2002-04-11 gtkmm 1.3.10:
+
+* Now builds with {G,GDK,GTK}_DISABLE_DEPRECATED - some methods removed;
+ entirely removed Gdk::Font and Gtk::Progress. (Daniel Elstner)
+* Reference documentation:
+ - Some automatic C->C++ conversion when reusing C reference documentation:
+ - enums and flags grouped together.
+ - html post-processed to produce "int& someint" instead of "int &someint".
+ - Some example code merged into the refernce docs.
+ (Daniel Elstner)
+* Gtk::TreeView:
+ - Gtk::TreeIter is a bit more like a STL iterator.
+ - Gtk::ListStore has a more STL-like interface.
+ - Gtk::TreeModelColumn - new class used to contain column type and number.
+ - Gtk::TreeModelColumnRecord - new class to contain all TreeModelColumns.
+ - examples/demos updated accordingly.
+ (Daniel Elstner)
+* gtkmm now uses its own enums, in the Gtk namespace. (Daniel Elstner)
+* Gtk::ProgressBar: removed deprecated Adjustment stuff, leaving just the
+ new fraction-orientated interface. (Daniel Elstner)
+* Some .hg format changes needed by bonobomm. (Murray Cumming)
+* new Glib::IOSource for watching file descriptor. (Martin Schultze)
+
+2002-03-27 gtkmm 1.3.9:
+
+* Custom Signal Proxies simplified, implementing only custom C callback
+ functions and specifying them to the signal proxy constructors.
+ (Daniel Elstner)
+* Complete recoding of Boxed Types wrappers, not using generic _copy
+ and _free methods functions when they aren't necessary, and sometimes
+ inheriting directly from the underlying struct. (Daniel Elstner)
+* gtk-demo compilation fixed. (Daniel Elstner)
+* gtk-demo stock browser part rewritten and working. (Matthew Walton)
+* Properly implemented enum and flags property proxies. (Daniel Elstner).
+* Reference documentation:
+ - some gtk+ docs are now merged in automatically, but we don't yet
+ have acccess to the stuff in gtk+'s tmpl/*.sgml files.
+ (Murray Cumming)
+ - Added class documentation, based on docs in GTK+.
+ - Custom headers and footers. (Paolo Pinto)
+* Added Gtk::TreeSortable, Gtk::TreeDragDest, and Gtk::TreeDragSource
+ interface wrappers. (Murray Cumming)
+* Gdk::Pixbuf: render* method args are now const-correct, which allows
+ casting of temporary instances. (Murray Cumming)
+* Gtk::MessageDialog: changed argument order in constructors, to
+ allow sensible defaults. (Murray Cumming)
+
+2002-03-11 gtkmm 1.3.8:
+
+* Generated C++ source code is now distributed, so that we can use extra
+ dependencies, such as perl modules, when generating the C++ source.
+ (Daniel Elstner)
+* Signals now use C++ types. We've said it before, but this time we meant it.
+ (Murray Cumming)
+* Added an exception hierarchy, used to wrap GError. Used in
+ Gdk::Pixbuf and demonstrated in demos/pixbuf-demo. (Daniel Elstner).
+* Drag and Drop now wrapped, with examples, and the first draft of a chapter in
+ the tutorial:
+ http://gtkmm.sourceforge.net//gtkmm2/tutorial/html/ch12.html
+ (Murray Cumming)
+* Revised Gtk::Menu API - accelerators now work. (Andreas Holzmann)
+* Glib::ustring can now be used directly with standard streams, converting
+ to the current locale where necessary. (Daniel Elstner)
+* Added wrappers for glib conversion functions. (Daniel Elstner)
+* Initial GtkClipboard wrapper. (Murray Cumming)
+* Simplified checks for standard library features (Daniel Elstner)
+
+
+
+2002-02-24 gtkmm-1.3.7:
+
+* operator=() for BoxedTypes improved. (Daniel Elstner)
+* pangomm api review, and use of generic intermediate ListHandle containers.
+ for method arguments instead of just std::list. (Gergo Erdi)
+* Gdk::Cursor constructor now public. (Andreas Holzmann)
+* property.get_value() improved. (Andreas Holzmann)
+* New wrappers for Atk::Relation, Atk::RelationSet, and Atk::StateSet.
+ (Murray Cumming)
+* Glib::ustring documentation and case conversion methods.
+ (Daniel Elstner)
+* Improvements to ListHandle generic intermediate containers.
+ (Daniel Elstner)
+* Gtk::TreeModel: several methods now take C++ arguments instead of C types.
+ (Murray Cumming)
+* Build fails on failed m4 conversions. (Daniel Elstner)
+
+
+2002-02-20 gtkmm-1.3.6:
+
+No major changes - mostly just a workaround for gcc 2.95.4.
+
+* gcc 2.95.4 seems to have a problem with a use
+of RefPtr::operator bool() in textbuffer.cc, so
+we've used is_null() as a workaround. This is mysterious.
+* configure.in mentioned a Makefile.am that isn't distributed.
+* Added examples/book, which will contain examples from the
+
+2002-02-18 gtkmm-1.3.5:
+* Tutorial converted to latest DocBook XML, with some improvements of the text.
+ (Murray Cumming)
+* Examples can be built all at once. Some use of deprecated widgets removed.
+ (Murray Cumming)
+* Gdk::Cursor: Gdk::Color args are now const. (Andreas Holzmann)
+* Toolbar: StockElem can now be used to add stock items to toolbars.
+ (Andreas Holzmann)
+* Gdk::Bitmap now derives from Gdk::Pixmap, allowing a Bitmap to be used
+ anywhere that a Pixmap can be used. This is the intention in GTK+.
+ (Murray Cumming, Andreas Holzmann)
+* Gtk::TextBuffer improvements (Daniel Elstner)
+* More wrapping of Atk::Object (Murray Cumming)
+* Documentation overview page:
+ http://gtkmm.sourceforge.net/gtkmm2/
+ (Paulo Pinto)
+
+2002-01-26 gtkmm-1.3.4:
+
+* Removed deprecated widgets such as CList, CTree, Text, etc. (Murray Cumming)
+* Some exception handling: Use Glib::add_exception_handler() to specify a method to be called in the unlikely event that a signal handler throws an exception. If it's not used then gtkmm will report the problem and then segfault normally. Previously the exception would just be swallowed by the underlying C code and you'd have an uniformative segfault.
+ (Karl Nelson)
+* Menu Elements: Menu Elements can now be stored in STL containers. Fixed rare memory leak
+ (Karl Nelson)
+* Improved, clearer, more versatile intermediate handle types, for lists/vectors/arrays of strings/widgets etc.
+ (Daniel Elstner)
+* Improved reference documentation: Signal accessors show the names of the signal handler arguments, and Widgets, Containers, and Dialogs can be seen grouped toether on their own special pages.
+ (Murray Cumming)
+* Improved Gtk::TreeView and Gtk::TextView API, using more C++ types. (Murray Cumming, Daniel Elstner).
+
+
+2002-01-10 gtkmm-1.3.3:
+
+* Interface methods use C++ types:
+ Interfaces now have a something_vfunc() which uses C types and which can be overridden to change the behaviour, and something() which uses C++ types and can be used to invoke the virtual function. This seems like the best mix of efficiency and convenience. (Murray Cumming)
+* Property change notification:
+ Added changed signal to property proxies. For instance, you can now do:
+ something.property_example().signal_changed().connect( ... ).
+ (Murray Cumming)
+* Simplified inheritance hierarchy:
+ Glib::ObjectBase derives from SigC::Object, thus Glib::Object no longer needs to derive from SigC::Object by using Multiple Inheritance. (Daniel Elstner)
+
+
+2001-12-28 gtkmm-1.3.2:
+
+* No more gint, gdouble, gfloat, glong:
+ We use normal C++ types instead. (Murray Cumming)
+* Signals are now used via accessors, and SigC::slot() requires a reference to the instance instead of a pointer.
+ For instance,
+ gtkmm 1.2: button.clicked.connect(SigC::slot(this, &Something::somemethod));
+ gtkmm 1.3: button.signal_clicked().connect(SigC::slot(*this, &Something::somemethod));
+ (Karl Nelson)
+* Properties are used via accessors. For instance:
+ someobject.property_something().set_value(2);
+ (Karl Nelson)
+* Removed any uses of Glib::nstring:
+ We provide an additional method instead of allowing a null value. e.g. remove_something() instead of
+ set_something(0). (Daniel Elstner)
+* Improved gtkmmproc installation:
+ For use by, for instance, libgnomeuimm and libgnomecanvasmm. (Murray Cumming)
+* Menu wrappers updated for GTK+2. (Murray Cumming)
+* Another gtkmmproc overhaul. It now detects more .defs format errors, warns about as yet unwrapped functions,
+ and is faster. (Karl Nelson)
+* More api review and fixes. (Murray Cumming, Daniel Elstner, Gergo Erdi, Karl Nelson)
+
+Note also that we use a newer version of libsigc++-1.1 which contains some segfault-related fixes.
+
+
+2001-11-28 gtkmm-1.3.1.
+
+* Properties ( e.g. someobject.property_something.set_value(2); ) (Murray Cumming)
+* ListHandler (Use almost any std container where GTK+ takes/returns a GList*) (Daniel Elstner)
+* TreeView and TextView wrappers, including multiply-inherited 'Interface' classes, such as Gtk::TreeModel
+ (Murray Cumming)
+* gtk-demo: C++ version of the big new gtk+ demo that shows its own source code.
+ This demonstrates TreeView, TextView, and Pango, among other things. (Murray Cumming)
+* Reference documentation, using doxygen:
+ http://gtkmm.sourceforge.net/gtkmm2/reference/html/
+ (Murray Cumming)
+* Gtk::Window no longer self-destructs. The bool return value of Gtk::Window::signal_delete_event now
+ determines whether the window will be hidden, not whether it will be destroyed. (Daniel Elstner)
+* Gtk::Main::run(Gtk::Window& window):
+ Allows you to specify a main application window. The application will quit when that window is hidden.
+ (Murray Cumming)
+* Lots and lots of API review. See our progress here:
+ http://cvs.gnome.org/bonsai/cvsblame.cgi?file=gtkmm-root/base/api_status.txt&rev=&root=/cvs/gnome
+ (Murray Cumming, Daniel Elstner, Gergo Erdi)
+* We can now use either automake 1.4p5 (like the rest of GNOME2) or automake 1.5 (Daniel Elstner)
+* Glib::ustring, which interoperates with std::string now has even more of the std::string interace.
+ (Daniel Elstner)
+* Fixed the library names and the names reported by pkgconfig, for better co-existence with gtkmm 1.2.
+ (Gergo Erdi)
+
+Known problems:
+ gtk-demo crashes on exit with warnings.
+ gtk-demo "stock browser" doesn't work yet.
+ Gtk::TreePath(ustring) constructor seems to have problems - see the TODO comments in demos/gtk-demo/example_treeview_editable_cells.cc
+
+
+
+2001-10-26 gtkmm-1.3.0.
+
+Initial release, introducing:
+* Glib::ustring
+* Glib::RefPtr
+* signal_ prefix
+* Renamed default signal handlers (on_ prefix).
+* Rewritten gdkmm
diff --git a/libs/gtkmm2/PORTING b/libs/gtkmm2/PORTING
new file mode 100644
index 0000000000..3210ff4418
--- /dev/null
+++ b/libs/gtkmm2/PORTING
@@ -0,0 +1,5 @@
+This should help people with some of the first problems that they are likely
+to find when porting apps from gtkmm 1.2 to gtkmm 2:
+
+Some of these are explained in more details in the CHANGES file.
+
diff --git a/libs/gtkmm2/README b/libs/gtkmm2/README
new file mode 100644
index 0000000000..b480135f39
--- /dev/null
+++ b/libs/gtkmm2/README
@@ -0,0 +1,3 @@
+This is gtkmm, a C++ API for GTK+.
+See http://www.gtkmm.org/
+
diff --git a/libs/gtkmm2/README.SUN b/libs/gtkmm2/README.SUN
new file mode 100644
index 0000000000..971109707c
--- /dev/null
+++ b/libs/gtkmm2/README.SUN
@@ -0,0 +1,88 @@
+Building gtkmm under Sun Solaris
+================================
+
+This README refers currently only to Sun Forte[tm] C++ compiler (WS6U2)
+under Solaris 8/Sparc.
+
+The described procedure to compile gtkmm with Sun's commercial C++
+compiler assumes the default compiler installation of Forte[tm] C++ 6
+update 2. Furthermore all currently available product and adequate SunOS
+patches for Forte[tm] C++ 6 update 2, which can be donwload from the
+links given at http://access1.sun.com/sundev/fdp6u2-patches.html, have
+to be applied. After that your compiler should give the following
+version information:
+
+ $ CC -V
+ CC: Sun WorkShop 6 update 2 C++ 5.3 Patch 111685-10 2002/09/16
+
+You will not be able to compile gtkmm with the unpatched compiler
+installation. Also, it is important to hide any gcc installation
+from your PATH.
+
+
+The installation procedure:
+
+* Recent versions of the following GNU utilities should be avalaible in
+ your PATH:
+
+ make (3.79.1)
+ libtool (1.4.2)
+ m4 (1.4)
+ perl (5.6.1)
+
+ The version information (in brackets) apply to my GNU installation.
+
+* Assuming your compiler installation is in /opt/SUNWspro, the following
+ environment changes are required:
+
+ PATH=/opt/SUNWspro/bin:$PATH
+ LD_LIBRARY_PATH=/opt/SUNWspro/bin:$LD_LIBRARY_PATH
+ export PATH LD_LIBRARY_PATH
+
+ CC="cc"
+ CXX="CC"
+ LD="CC"
+ CFLAGS="-g" or "-g -xO3" for better optimization
+ CXXFLAGS="-g" or "-g -O3" for better optimization
+ export CC CXX LD CFLAGS CXXFLAGS
+
+* Select an installation directory ($PREFIX).
+
+* The image libraries jpeg-6b, libpng-1.2.5 and tiff-v3.5.7 are pre-
+ requisites to build gtk+ libraries. They can be obtained from
+ www.sunfreeware.com or build from source. Compiling from source
+ requires some manual corrections (basically prefix settings in the
+ makefiles), because their build mechanism are rather old. All three
+ libraries should be build as shared libraries and installed to the
+ choosen installation directory.
+
+* gtk+-Installation. For each package of pkgconfig-0.12.0, glib-2.0.6,
+ atk-1.0.3, pango-1.0.4, gtk+-2.0.6 do:
+
+ cd <package-path>
+ CPPFLAGS=-I$PREFIX/include CFLAGS="-I$PREFIX/include $CFLAGS" \
+ ./configure --prefix=$PREFIX
+ make
+ make install
+
+* gtkmm-Installation. For each package of libsigc++-1.2.x, gtkmm-2.0.x do:
+
+ cd <package-path>
+ ./configure --prefix=$PREFIX
+ make
+ make install
+
+* Verification can easily done by
+
+ cd gtkmm-1.2.x/examples
+ make
+
+ and testing all built executables.
+
+
+Feel free to contact the gtkmm mailing list in case of problems compiling gtkmm under Sun
+Solaris.
+
+
+Michael v. Szombathely, 31-Oct-02
+<szombath@bifab.de> \ No newline at end of file
diff --git a/libs/gtkmm2/README.win32 b/libs/gtkmm2/README.win32
new file mode 100644
index 0000000000..46b6665790
--- /dev/null
+++ b/libs/gtkmm2/README.win32
@@ -0,0 +1,69 @@
+Building gtkmm on Win32
+===========================
+
+Currently, both the mingw (native win32) gcc compiler and MS Visual
+Studio 2005 are supported. gtkmm can be built with mingw32-gcc using
+the gnu autotools (automake, autoconf, libtool). As explicitly
+stated in the gtk+ for win32 distribution (http://www.gimp.org/win32/),
+the gcc compiler provided by the cygwin distribution should not be
+used to build gtk+/gtkmm libraries and/or applications (see the
+README.win32 that comes with the gtk+ DLLs). This MIGHT cause
+conflicts between the cygwin and msvcrt runtime environments.
+
+1. Mingw
+
+The mingw distribution which has been tested with this release is the
+following :
+
+* MinGW-4.1 as the base distribution.
+
+The bare mingw distribution does not provide the necessary tools (sh, perl, m4
+, autoconf, automake, ..) to run the provided configure script "as is". One
+(currently non supported) solution is to use mingw in conjunction with msys,
+which is readily available on the mingw website (http://www.mingw.org/).
+
+The preferred method is to combine the cygwin distribution (for the unix tools
+that were mentioned above) with mingw by making sure that the mingw
+tools (gcc, ld, dlltool, ..) are called first.
+
+First, make sure that you have working distribution of the native port
+of both libsigc++-2.0.x and gtk+-2.0 on win32 (see
+http://www.gimp.org/win32). If you can't compile a simple gtk+ example
+using gcc and `pkg-config --cflags --libs`, you should not even think
+about trying to compile gtkmm, let alone using precompiled libgtkmm
+DLLs to port your gtkmm application !
+
+The configure script can then be called using (as an example) the
+following options
+
+./configure --prefix=/target --build=i386-pc-mingw32 --disable-static
+
+then
+
+make
+make check
+make install
+
+2. MS Visual Studio 2005
+
+Open the gtkmm.sln solution file in the MSVC_Net2003 directory. In
+the Tools/Options panel, add the appropriate GTK+, glibmm include and lib
+directories to the Projects and Solutions/VC++ directories. Build the
+solution.
+
+Important NOTE : to circumvent the C++ compiler bug described in this
+bugzilla entry (http://bugzilla.gnome.org/show_bug.cgi?id=158040), it
+is necessary to add '/vd2' to the list of compiler options when
+building and/or using gtkmm with Visual Studio 2005.
+
+gtkmm-2.8 will probably not work correctly with Visual Studio 7.1 or
+below because of the aforementioned bug.
+
+3. Gtkmm methods and signals not available on win32
+
+All gtkmm methods and signals are available on win32.
+
+4. Gtkmm examples and demos on win32
+
+All demos and examples compile/run on win32
+
diff --git a/libs/gtkmm2/aclocal.m4 b/libs/gtkmm2/aclocal.m4
new file mode 100644
index 0000000000..a7514177f4
--- /dev/null
+++ b/libs/gtkmm2/aclocal.m4
@@ -0,0 +1,7519 @@
+# generated automatically by aclocal 1.10 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006 Free Software Foundation, Inc.
+# This file 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.
+
+m4_if(m4_PACKAGE_VERSION, [2.61],,
+[m4_fatal([this file was generated for autoconf 2.61.
+You have another version of autoconf. If you want to use that,
+you should regenerate the build system entirely.], [63])])
+
+# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.10'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.10], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.10])dnl
+_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 8
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 9
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], UPC, [depcc="$UPC" am_compiler_list=],
+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+])
+
+# Generate code to set up dependency tracking. -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+#serial 3
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[for mf in $CONFIG_FILES; do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+done
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled. FIXME. This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 8
+
+# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
+AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 12
+
+# This macro actually does too much. Some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.60])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES(OBJC)],
+ [define([AC_PROG_OBJC],
+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $1 | $1:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 4
+
+AC_DEFUN([AM_MAINTAINER_MODE],
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+ AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 3
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+ am__include=include
+ am__quote=
+ _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ fi
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 5
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+ [[\\/$]]* | ?:[[\\/]]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 3
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+ [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+ [m4_case([$1], [ustar],, [pax],,
+ [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar;
+ do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+dnl
+dnl Some macros needed for autoconf
+dnl
+
+
+AC_DEFUN([GLIBMM_CV_PERL_VERSION],[glibmm_cv_perl_version_[]m4_translit([$1],[.${}],[____])])
+
+
+AC_DEFUN([GLIBMM_CHECK_PERL],
+[
+ glibmm_perl_result=no
+
+ AC_PATH_PROGS([PERL_PATH], [perl perl5], [not found])
+
+ if test "x$PERL_PATH" != "xnot found"; then
+ {
+ AC_CACHE_CHECK(
+ [whether Perl is new enough],
+ GLIBMM_CV_PERL_VERSION([$1]),
+ [
+ ]GLIBMM_CV_PERL_VERSION([$1])[=no
+ "$PERL_PATH" -e "require v$1; exit 0;" >/dev/null 2>&1 && ]GLIBMM_CV_PERL_VERSION([$1])[=yes
+ ])
+ test "x${GLIBMM_CV_PERL_VERSION([$1])}" = xyes && glibmm_perl_result=yes
+ }
+ else
+ {
+ # Make sure we have something sensible, even if it doesn't work.
+ PERL_PATH=perl
+ }
+ fi
+
+ if test "x$glibmm_perl_result" = xno && test "x$USE_MAINTAINER_MODE" = xyes; then
+ {
+ AC_MSG_ERROR([[
+*** Perl >= ]$1[ is required for building $PACKAGE in maintainer-mode.
+]])
+ }
+ fi
+
+ AC_SUBST([PERL_PATH])
+])
+
+
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+
+# serial 48 AC_PROG_LIBTOOL
+
+
+# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
+# -----------------------------------------------------------
+# If this macro is not defined by Autoconf, define it here.
+m4_ifdef([AC_PROVIDE_IFELSE],
+ [],
+ [m4_define([AC_PROVIDE_IFELSE],
+ [m4_ifdef([AC_PROVIDE_$1],
+ [$2], [$3])])])
+
+
+# AC_PROG_LIBTOOL
+# ---------------
+AC_DEFUN([AC_PROG_LIBTOOL],
+[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
+dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
+dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
+ AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [AC_LIBTOOL_CXX],
+ [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
+ ])])
+dnl And a similar setup for Fortran 77 support
+ AC_PROVIDE_IFELSE([AC_PROG_F77],
+ [AC_LIBTOOL_F77],
+ [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
+])])
+
+dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
+dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
+dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
+ AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+ [AC_LIBTOOL_GCJ],
+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+ [AC_LIBTOOL_GCJ],
+ [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
+ [AC_LIBTOOL_GCJ],
+ [ifdef([AC_PROG_GCJ],
+ [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
+ ifdef([A][M_PROG_GCJ],
+ [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
+ ifdef([LT_AC_PROG_GCJ],
+ [define([LT_AC_PROG_GCJ],
+ defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
+])])# AC_PROG_LIBTOOL
+
+
+# _AC_PROG_LIBTOOL
+# ----------------
+AC_DEFUN([_AC_PROG_LIBTOOL],
+[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+# Prevent multiple expansion
+define([AC_PROG_LIBTOOL], [])
+])# _AC_PROG_LIBTOOL
+
+
+# AC_LIBTOOL_SETUP
+# ----------------
+AC_DEFUN([AC_LIBTOOL_SETUP],
+[AC_PREREQ(2.50)dnl
+AC_REQUIRE([AC_ENABLE_SHARED])dnl
+AC_REQUIRE([AC_ENABLE_STATIC])dnl
+AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_LD])dnl
+AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
+AC_REQUIRE([AC_PROG_NM])dnl
+
+AC_REQUIRE([AC_PROG_LN_S])dnl
+AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
+# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
+AC_REQUIRE([AC_OBJEXT])dnl
+AC_REQUIRE([AC_EXEEXT])dnl
+dnl
+
+AC_LIBTOOL_SYS_MAX_CMD_LEN
+AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+AC_LIBTOOL_OBJDIR
+
+AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+_LT_AC_PROG_ECHO_BACKSLASH
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e 1s/^X//'
+[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
+
+# Same as above, but do not quote variable references.
+[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Constants:
+rm="rm -f"
+
+# Global variables:
+default_ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+ltmain="$ac_aux_dir/ltmain.sh"
+ofile="$default_ofile"
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+AC_CHECK_TOOL(AR, ar, false)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+AC_CHECK_TOOL(STRIP, strip, :)
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+test -z "$AS" && AS=as
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+test -z "$LD" && LD=ld
+test -z "$LN_S" && LN_S="ln -s"
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+test -z "$NM" && NM=nm
+test -z "$SED" && SED=sed
+test -z "$OBJDUMP" && OBJDUMP=objdump
+test -z "$RANLIB" && RANLIB=:
+test -z "$STRIP" && STRIP=:
+test -z "$ac_objext" && ac_objext=o
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ AC_PATH_MAGIC
+ fi
+ ;;
+esac
+
+AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
+AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
+enable_win32_dll=yes, enable_win32_dll=no)
+
+AC_ARG_ENABLE([libtool-lock],
+ [AC_HELP_STRING([--disable-libtool-lock],
+ [avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+AC_ARG_WITH([pic],
+ [AC_HELP_STRING([--with-pic],
+ [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+ [pic_mode="$withval"],
+ [pic_mode=default])
+test -z "$pic_mode" && pic_mode=default
+
+# Use C for the default configuration in the libtool script
+tagname=
+AC_LIBTOOL_LANG_C_CONFIG
+_LT_AC_TAGCONFIG
+])# AC_LIBTOOL_SETUP
+
+
+# _LT_AC_SYS_COMPILER
+# -------------------
+AC_DEFUN([_LT_AC_SYS_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_AC_SYS_COMPILER
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+AC_DEFUN([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+ case $cc_temp in
+ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+])
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+AC_DEFUN([_LT_COMPILER_BOILERPLATE],
+[ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+AC_DEFUN([_LT_LINKER_BOILERPLATE],
+[ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+])# _LT_LINKER_BOILERPLATE
+
+
+# _LT_AC_SYS_LIBPATH_AIX
+# ----------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
+[AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`; fi],[])
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+])# _LT_AC_SYS_LIBPATH_AIX
+
+
+# _LT_AC_SHELL_INIT(ARG)
+# ----------------------
+AC_DEFUN([_LT_AC_SHELL_INIT],
+[ifdef([AC_DIVERSION_NOTICE],
+ [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
+ [AC_DIVERT_PUSH(NOTICE)])
+$1
+AC_DIVERT_POP
+])# _LT_AC_SHELL_INIT
+
+
+# _LT_AC_PROG_ECHO_BACKSLASH
+# --------------------------
+# Add some code to the start of the generated configure script which
+# will find an echo command which doesn't interpret backslashes.
+AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
+[_LT_AC_SHELL_INIT([
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$ECHO in
+X*--fallback-echo)
+ # Remove one level of quotation (which was required for Make).
+ ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
+ ;;
+esac
+
+echo=${ECHO-echo}
+if test "X[$]1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+elif test "X[$]1" = X--fallback-echo; then
+ # Avoid inline document here, it may be left over
+ :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
+ # Yippee, $echo works!
+ :
+else
+ # Restart under the correct shell.
+ exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
+fi
+
+if test "X[$]1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<EOF
+[$]*
+EOF
+ exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test -z "$ECHO"; then
+if test "X${echo_test_string+set}" != Xset; then
+# find a string as large as possible, as long as the shell can cope with it
+ for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
+ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+ if (echo_test_string=`eval $cmd`) 2>/dev/null &&
+ echo_test_string=`eval $cmd` &&
+ (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
+ then
+ break
+ fi
+ done
+fi
+
+if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ :
+else
+ # The Solaris, AIX, and Digital Unix default echo programs unquote
+ # backslashes. This makes it impossible to quote backslashes using
+ # echo "$something" | sed 's/\\/\\\\/g'
+ #
+ # So, first we look for a working echo in the user's PATH.
+
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for dir in $PATH /usr/ucb; do
+ IFS="$lt_save_ifs"
+ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ echo="$dir/echo"
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+
+ if test "X$echo" = Xecho; then
+ # We didn't find a better echo, so look for alternatives.
+ if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # This shell has a builtin print -r that does the trick.
+ echo='print -r'
+ elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
+ test "X$CONFIG_SHELL" != X/bin/ksh; then
+ # If we have ksh, try running configure again with it.
+ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ export ORIGINAL_CONFIG_SHELL
+ CONFIG_SHELL=/bin/ksh
+ export CONFIG_SHELL
+ exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
+ else
+ # Try using printf.
+ echo='printf %s\n'
+ if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # Cool, printf works
+ :
+ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+ export CONFIG_SHELL
+ SHELL="$CONFIG_SHELL"
+ export SHELL
+ echo="$CONFIG_SHELL [$]0 --fallback-echo"
+ elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ echo="$CONFIG_SHELL [$]0 --fallback-echo"
+ else
+ # maybe with a smaller string...
+ prev=:
+
+ for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
+ if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
+ then
+ break
+ fi
+ prev="$cmd"
+ done
+
+ if test "$prev" != 'sed 50q "[$]0"'; then
+ echo_test_string=`eval $prev`
+ export echo_test_string
+ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
+ else
+ # Oops. We lost completely, so just stick with echo.
+ echo=echo
+ fi
+ fi
+ fi
+ fi
+fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+ECHO=$echo
+if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
+ ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+fi
+
+AC_SUBST(ECHO)
+])])# _LT_AC_PROG_ECHO_BACKSLASH
+
+
+# _LT_AC_LOCK
+# -----------
+AC_DEFUN([_LT_AC_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+ [AC_HELP_STRING([--disable-libtool-lock],
+ [avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*|powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+ [AC_LANG_PUSH(C)
+ AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+ AC_LANG_POP])
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+sparc*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*) LD="${LD-ld} -m elf64_sparc" ;;
+ *) LD="${LD-ld} -64" ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
+[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
+ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+ AC_CHECK_TOOL(AS, as, false)
+ AC_CHECK_TOOL(OBJDUMP, objdump, false)
+ ;;
+ ])
+esac
+
+need_locks="$enable_libtool_lock"
+
+])# _LT_AC_LOCK
+
+
+# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
+[AC_REQUIRE([LT_AC_PROG_SED])
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$3"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ fi
+ $rm conftest*
+])
+
+if test x"[$]$2" = xyes; then
+ ifelse([$5], , :, [$5])
+else
+ ifelse([$6], , :, [$6])
+fi
+])# AC_LIBTOOL_COMPILER_OPTION
+
+
+# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [ACTION-SUCCESS], [ACTION-FAILURE])
+# ------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
+[AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $3"
+ printf "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&AS_MESSAGE_LOG_FD
+ $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ else
+ $2=yes
+ fi
+ fi
+ $rm conftest*
+ LDFLAGS="$save_LDFLAGS"
+])
+
+if test x"[$]$2" = xyes; then
+ ifelse([$4], , :, [$4])
+else
+ ifelse([$5], , :, [$5])
+fi
+])# AC_LIBTOOL_LINKER_OPTION
+
+
+# AC_LIBTOOL_SYS_MAX_CMD_LEN
+# --------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
+[# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+ i=0
+ teststring="ABCD"
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
+ = "XX$teststring") >/dev/null 2>&1 &&
+ new_result=`expr "X$teststring" : ".*" 2>&1` &&
+ lt_cv_sys_max_cmd_len=$new_result &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on massive
+ # amounts of additional arguments before passing them to the linker.
+ # It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ ;;
+ esac
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+ AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+ AC_MSG_RESULT(none)
+fi
+])# AC_LIBTOOL_SYS_MAX_CMD_LEN
+
+
+# _LT_AC_CHECK_DLFCN
+# ------------------
+AC_DEFUN([_LT_AC_CHECK_DLFCN],
+[AC_CHECK_HEADERS(dlfcn.h)dnl
+])# _LT_AC_CHECK_DLFCN
+
+
+# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ---------------------------------------------------------------------
+AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
+[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+if test "$cross_compiling" = yes; then :
+ [$4]
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+[#line __oline__ "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ exit (status);
+}]
+EOF
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) $1 ;;
+ x$lt_dlneed_uscore) $2 ;;
+ x$lt_dlunknown|x*) $3 ;;
+ esac
+ else :
+ # compilation failed
+ $3
+ fi
+fi
+rm -fr conftest*
+])# _LT_AC_TRY_DLOPEN_SELF
+
+
+# AC_LIBTOOL_DLOPEN_SELF
+# ----------------------
+AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
+[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ])
+ ;;
+
+ *)
+ AC_CHECK_FUNC([shl_load],
+ [lt_cv_dlopen="shl_load"],
+ [AC_CHECK_LIB([dld], [shl_load],
+ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
+ [AC_CHECK_FUNC([dlopen],
+ [lt_cv_dlopen="dlopen"],
+ [AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+ [AC_CHECK_LIB([svld], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+ [AC_CHECK_LIB([dld], [dld_link],
+ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
+ ])
+ ])
+ ])
+ ])
+ ])
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ AC_CACHE_CHECK([whether a program can dlopen itself],
+ lt_cv_dlopen_self, [dnl
+ _LT_AC_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+ ])
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+ lt_cv_dlopen_self_static, [dnl
+ _LT_AC_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
+ ])
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+])# AC_LIBTOOL_DLOPEN_SELF
+
+
+# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
+# ---------------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler
+AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
+[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+ [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+ [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+ $rm -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+ fi
+ fi
+ chmod u+w . 2>&AS_MESSAGE_LOG_FD
+ $rm conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+ $rm out/* && rmdir out
+ cd ..
+ rmdir conftest
+ $rm conftest*
+])
+])# AC_LIBTOOL_PROG_CC_C_O
+
+
+# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
+# -----------------------------------------
+# Check to see if we can do hard links to lock some files if needed
+AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
+[AC_REQUIRE([_LT_AC_LOCK])dnl
+
+hard_links="nottested"
+if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ AC_MSG_CHECKING([if we can lock with hard links])
+ hard_links=yes
+ $rm conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ AC_MSG_RESULT([$hard_links])
+ if test "$hard_links" = no; then
+ AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
+
+
+# AC_LIBTOOL_OBJDIR
+# -----------------
+AC_DEFUN([AC_LIBTOOL_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+])# AC_LIBTOOL_OBJDIR
+
+
+# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
+# ----------------------------------------------
+# Check hardcoding attributes.
+AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_AC_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
+ test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
+ test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+
+ # We can hardcode non-existant directories.
+ if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+ test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
+ # Linking always hardcodes the temporary library directory.
+ _LT_AC_TAGVAR(hardcode_action, $1)=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ _LT_AC_TAGVAR(hardcode_action, $1)=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
+
+
+# AC_LIBTOOL_SYS_LIB_STRIP
+# ------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
+[striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+fi
+ ;;
+ *)
+ AC_MSG_RESULT([no])
+ ;;
+ esac
+fi
+])# AC_LIBTOOL_SYS_LIB_STRIP
+
+
+# AC_LIBTOOL_SYS_DYNAMIC_LINKER
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
+[AC_MSG_CHECKING([dynamic linker characteristics])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+if test "$GCC" = yes; then
+ sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix4* | aix5*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[[01]] | aix4.[[01]].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[[45]]*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$host_os in
+ yes,cygwin* | yes,mingw* | yes,pw32*)
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $rm \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+ ;;
+ mingw*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
+ # It is most probably a Windows format PATH printed by
+ # mingw gcc, but we are running on Cygwin. Gcc prints its search
+ # path with ; separators, and with drive letters. We can handle the
+ # drive letters (cygwin fileutils understands them), so leave them,
+ # especially as we might pass files found there to a mingw objdump,
+ # which wouldn't understand a cygwinified path. Ahh.
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ ;;
+
+ *)
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+ # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+ if test "$GCC" = yes; then
+ sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+ else
+ sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+ fi
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+kfreebsd*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='GNU ld.so'
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[[123]]*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ freebsd*) # from 4.6 on
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+interix3*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # find out which ABI we are using
+ libsuff=
+ case "$host_cpu" in
+ x86_64*|s390x*|powerpc64*)
+ echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *64-bit*)
+ libsuff=64
+ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+ esac
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+knetbsd*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='GNU ld.so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+nto-qnx*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[[89]] | openbsd2.[[89]].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ shlibpath_overrides_runpath=no
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ shlibpath_overrides_runpath=yes
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
+
+
+# _LT_AC_TAGCONFIG
+# ----------------
+AC_DEFUN([_LT_AC_TAGCONFIG],
+[AC_ARG_WITH([tags],
+ [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
+ [include additional configurations @<:@automatic@:>@])],
+ [tagnames="$withval"])
+
+if test -f "$ltmain" && test -n "$tagnames"; then
+ if test ! -f "${ofile}"; then
+ AC_MSG_WARN([output file `$ofile' does not exist])
+ fi
+
+ if test -z "$LTCC"; then
+ eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
+ if test -z "$LTCC"; then
+ AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
+ else
+ AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
+ fi
+ fi
+ if test -z "$LTCFLAGS"; then
+ eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
+ fi
+
+ # Extract list of available tagged configurations in $ofile.
+ # Note that this assumes the entire list is on one line.
+ available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
+
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for tagname in $tagnames; do
+ IFS="$lt_save_ifs"
+ # Check whether tagname contains only valid characters
+ case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
+ "") ;;
+ *) AC_MSG_ERROR([invalid tag name: $tagname])
+ ;;
+ esac
+
+ if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
+ then
+ AC_MSG_ERROR([tag name \"$tagname\" already exists])
+ fi
+
+ # Update the list of available tags.
+ if test -n "$tagname"; then
+ echo appending configuration tag \"$tagname\" to $ofile
+
+ case $tagname in
+ CXX)
+ if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+ (test "X$CXX" != "Xg++"))) ; then
+ AC_LIBTOOL_LANG_CXX_CONFIG
+ else
+ tagname=""
+ fi
+ ;;
+
+ F77)
+ if test -n "$F77" && test "X$F77" != "Xno"; then
+ AC_LIBTOOL_LANG_F77_CONFIG
+ else
+ tagname=""
+ fi
+ ;;
+
+ GCJ)
+ if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
+ AC_LIBTOOL_LANG_GCJ_CONFIG
+ else
+ tagname=""
+ fi
+ ;;
+
+ RC)
+ AC_LIBTOOL_LANG_RC_CONFIG
+ ;;
+
+ *)
+ AC_MSG_ERROR([Unsupported tag name: $tagname])
+ ;;
+ esac
+
+ # Append the new tag name to the list of available tags.
+ if test -n "$tagname" ; then
+ available_tags="$available_tags $tagname"
+ fi
+ fi
+ done
+ IFS="$lt_save_ifs"
+
+ # Now substitute the updated list of available tags.
+ if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
+ mv "${ofile}T" "$ofile"
+ chmod +x "$ofile"
+ else
+ rm -f "${ofile}T"
+ AC_MSG_ERROR([unable to update list of available tagged configurations.])
+ fi
+fi
+])# _LT_AC_TAGCONFIG
+
+
+# AC_LIBTOOL_DLOPEN
+# -----------------
+# enable checks for dlopen support
+AC_DEFUN([AC_LIBTOOL_DLOPEN],
+ [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
+])# AC_LIBTOOL_DLOPEN
+
+
+# AC_LIBTOOL_WIN32_DLL
+# --------------------
+# declare package support for building win32 DLLs
+AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
+])# AC_LIBTOOL_WIN32_DLL
+
+
+# AC_ENABLE_SHARED([DEFAULT])
+# ---------------------------
+# implement the --enable-shared flag
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_SHARED],
+[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([shared],
+ [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+ [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
+])# AC_ENABLE_SHARED
+
+
+# AC_DISABLE_SHARED
+# -----------------
+# set the default shared flag to --disable-shared
+AC_DEFUN([AC_DISABLE_SHARED],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_SHARED(no)
+])# AC_DISABLE_SHARED
+
+
+# AC_ENABLE_STATIC([DEFAULT])
+# ---------------------------
+# implement the --enable-static flag
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_STATIC],
+[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([static],
+ [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+ [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_static=]AC_ENABLE_STATIC_DEFAULT)
+])# AC_ENABLE_STATIC
+
+
+# AC_DISABLE_STATIC
+# -----------------
+# set the default static flag to --disable-static
+AC_DEFUN([AC_DISABLE_STATIC],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_STATIC(no)
+])# AC_DISABLE_STATIC
+
+
+# AC_ENABLE_FAST_INSTALL([DEFAULT])
+# ---------------------------------
+# implement the --enable-fast-install flag
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_FAST_INSTALL],
+[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([fast-install],
+ [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+ [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
+])# AC_ENABLE_FAST_INSTALL
+
+
+# AC_DISABLE_FAST_INSTALL
+# -----------------------
+# set the default to --disable-fast-install
+AC_DEFUN([AC_DISABLE_FAST_INSTALL],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_FAST_INSTALL(no)
+])# AC_DISABLE_FAST_INSTALL
+
+
+# AC_LIBTOOL_PICMODE([MODE])
+# --------------------------
+# implement the --with-pic flag
+# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
+AC_DEFUN([AC_LIBTOOL_PICMODE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+pic_mode=ifelse($#,1,$1,default)
+])# AC_LIBTOOL_PICMODE
+
+
+# AC_PROG_EGREP
+# -------------
+# This is predefined starting with Autoconf 2.54, so this conditional
+# definition can be removed once we require Autoconf 2.54 or later.
+m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
+[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
+ [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+ then ac_cv_prog_egrep='grep -E'
+ else ac_cv_prog_egrep='egrep'
+ fi])
+ EGREP=$ac_cv_prog_egrep
+ AC_SUBST([EGREP])
+])])
+
+
+# AC_PATH_TOOL_PREFIX
+# -------------------
+# find a file program which can recognise shared library
+AC_DEFUN([AC_PATH_TOOL_PREFIX],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] | ?:[\\/]*])
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word. This closes a longstanding sh security hole.
+ ac_dummy="ifelse([$2], , $PATH, [$2])"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$1; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ AC_MSG_RESULT($MAGIC_CMD)
+else
+ AC_MSG_RESULT(no)
+fi
+])# AC_PATH_TOOL_PREFIX
+
+
+# AC_PATH_MAGIC
+# -------------
+# find a file program which can recognise a shared library
+AC_DEFUN([AC_PATH_MAGIC],
+[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+ else
+ MAGIC_CMD=:
+ fi
+fi
+])# AC_PATH_MAGIC
+
+
+# AC_PROG_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([AC_PROG_LD],
+[AC_ARG_WITH([gnu-ld],
+ [AC_HELP_STRING([--with-gnu-ld],
+ [assume the C compiler uses GNU ld @<:@default=no@:>@])],
+ [test "$withval" = no || with_gnu_ld=yes],
+ [with_gnu_ld=no])
+AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by $CC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]]* | ?:[[\\/]]*)
+ re_direlt='/[[^/]][[^/]]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ AC_MSG_RESULT($LD)
+else
+ AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_PROG_LD_GNU
+])# AC_PROG_LD
+
+
+# AC_PROG_LD_GNU
+# --------------
+AC_DEFUN([AC_PROG_LD_GNU],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# AC_PROG_LD_GNU
+
+
+# AC_PROG_LD_RELOAD_FLAG
+# ----------------------
+# find reload flag for linker
+# -- PORTME Some linkers may need a different reload flag.
+AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+ lt_cv_ld_reload_flag,
+ [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+])# AC_PROG_LD_RELOAD_FLAG
+
+
+# AC_DEPLIBS_CHECK_METHOD
+# -----------------------
+# how to check for library dependencies
+# -- PORTME fill in with the dynamic library characteristics
+AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
+[AC_CACHE_CHECK([how to recognise dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix4* | aix5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi[[45]]*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin*)
+ # func_win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ ;;
+
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump'.
+ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | kfreebsd*-gnu | dragonfly*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
+
+interix3*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be Linux ELF.
+linux*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+nto-qnx*)
+ lt_cv_deplibs_check_method=unknown
+ ;;
+
+openbsd*)
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+])
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+])# AC_DEPLIBS_CHECK_METHOD
+
+
+# AC_PROG_NM
+# ----------
+# find the pathname to a BSD-compatible name lister
+AC_DEFUN([AC_PROG_NM],
+[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
+[if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ lt_nm_to_check="${ac_tool_prefix}nm"
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/$lt_tmp_nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+ done
+ test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+fi])
+NM="$lt_cv_path_NM"
+])# AC_PROG_NM
+
+
+# AC_CHECK_LIBM
+# -------------
+# check for math library
+AC_DEFUN([AC_CHECK_LIBM],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+ # These system don't have libm, or don't need it
+ ;;
+*-ncr-sysv4.3*)
+ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+ AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+ ;;
+*)
+ AC_CHECK_LIB(m, cos, LIBM="-lm")
+ ;;
+esac
+])# AC_CHECK_LIBM
+
+
+# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
+# -----------------------------------
+# sets LIBLTDL to the link flags for the libltdl convenience library and
+# LTDLINCL to the include flags for the libltdl header and adds
+# --enable-ltdl-convenience to the configure arguments. Note that
+# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
+# it is assumed to be `libltdl'. LIBLTDL will be prefixed with
+# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
+# (note the single quotes!). If your package is not flat and you're not
+# using automake, define top_builddir and top_srcdir appropriately in
+# the Makefiles.
+AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+ case $enable_ltdl_convenience in
+ no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
+ "") enable_ltdl_convenience=yes
+ ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
+ esac
+ LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
+ LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+ # For backwards non-gettext consistent compatibility...
+ INCLTDL="$LTDLINCL"
+])# AC_LIBLTDL_CONVENIENCE
+
+
+# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
+# -----------------------------------
+# sets LIBLTDL to the link flags for the libltdl installable library and
+# LTDLINCL to the include flags for the libltdl header and adds
+# --enable-ltdl-install to the configure arguments. Note that
+# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
+# and an installed libltdl is not found, it is assumed to be `libltdl'.
+# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
+# '${top_srcdir}/' (note the single quotes!). If your package is not
+# flat and you're not using automake, define top_builddir and top_srcdir
+# appropriately in the Makefiles.
+# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
+AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+ AC_CHECK_LIB(ltdl, lt_dlinit,
+ [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
+ [if test x"$enable_ltdl_install" = xno; then
+ AC_MSG_WARN([libltdl not installed, but installation disabled])
+ else
+ enable_ltdl_install=yes
+ fi
+ ])
+ if test x"$enable_ltdl_install" = x"yes"; then
+ ac_configure_args="$ac_configure_args --enable-ltdl-install"
+ LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
+ LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+ else
+ ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
+ LIBLTDL="-lltdl"
+ LTDLINCL=
+ fi
+ # For backwards non-gettext consistent compatibility...
+ INCLTDL="$LTDLINCL"
+])# AC_LIBLTDL_INSTALLABLE
+
+
+# AC_LIBTOOL_CXX
+# --------------
+# enable support for C++ libraries
+AC_DEFUN([AC_LIBTOOL_CXX],
+[AC_REQUIRE([_LT_AC_LANG_CXX])
+])# AC_LIBTOOL_CXX
+
+
+# _LT_AC_LANG_CXX
+# ---------------
+AC_DEFUN([_LT_AC_LANG_CXX],
+[AC_REQUIRE([AC_PROG_CXX])
+AC_REQUIRE([_LT_AC_PROG_CXXCPP])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
+])# _LT_AC_LANG_CXX
+
+# _LT_AC_PROG_CXXCPP
+# ------------------
+AC_DEFUN([_LT_AC_PROG_CXXCPP],
+[
+AC_REQUIRE([AC_PROG_CXX])
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+ (test "X$CXX" != "Xg++"))) ; then
+ AC_PROG_CXXCPP
+fi
+])# _LT_AC_PROG_CXXCPP
+
+# AC_LIBTOOL_F77
+# --------------
+# enable support for Fortran 77 libraries
+AC_DEFUN([AC_LIBTOOL_F77],
+[AC_REQUIRE([_LT_AC_LANG_F77])
+])# AC_LIBTOOL_F77
+
+
+# _LT_AC_LANG_F77
+# ---------------
+AC_DEFUN([_LT_AC_LANG_F77],
+[AC_REQUIRE([AC_PROG_F77])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
+])# _LT_AC_LANG_F77
+
+
+# AC_LIBTOOL_GCJ
+# --------------
+# enable support for GCJ libraries
+AC_DEFUN([AC_LIBTOOL_GCJ],
+[AC_REQUIRE([_LT_AC_LANG_GCJ])
+])# AC_LIBTOOL_GCJ
+
+
+# _LT_AC_LANG_GCJ
+# ---------------
+AC_DEFUN([_LT_AC_LANG_GCJ],
+[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
+ [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
+ [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
+ [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
+ [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
+])# _LT_AC_LANG_GCJ
+
+
+# AC_LIBTOOL_RC
+# -------------
+# enable support for Windows resource files
+AC_DEFUN([AC_LIBTOOL_RC],
+[AC_REQUIRE([LT_AC_PROG_RC])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
+])# AC_LIBTOOL_RC
+
+
+# AC_LIBTOOL_LANG_C_CONFIG
+# ------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined. Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
+AC_DEFUN([_LT_AC_LANG_C_CONFIG],
+[lt_save_CC="$CC"
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}\n'
+
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+AC_LIBTOOL_SYS_LIB_STRIP
+AC_LIBTOOL_DLOPEN_SELF
+
+# Report which library types will actually be built
+AC_MSG_CHECKING([if libtool supports shared libraries])
+AC_MSG_RESULT([$can_build_shared])
+
+AC_MSG_CHECKING([whether to build shared libraries])
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case $host_os in
+aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+aix4* | aix5*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+esac
+AC_MSG_RESULT([$enable_shared])
+
+AC_MSG_CHECKING([whether to build static libraries])
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+AC_MSG_RESULT([$enable_static])
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_C_CONFIG
+
+
+# AC_LIBTOOL_LANG_CXX_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined. Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
+AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
+[AC_LANG_PUSH(C++)
+AC_REQUIRE([AC_PROG_CXX])
+AC_REQUIRE([_LT_AC_PROG_CXXCPP])
+
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_AC_TAGVAR(allow_undefined_flag, $1)=
+_LT_AC_TAGVAR(always_export_symbols, $1)=no
+_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_direct, $1)=no
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_AC_TAGVAR(hardcode_automatic, $1)=no
+_LT_AC_TAGVAR(module_cmds, $1)=
+_LT_AC_TAGVAR(module_expsym_cmds, $1)=
+_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_AC_TAGVAR(no_undefined_flag, $1)=
+_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Dependencies to place before and after the object being linked:
+_LT_AC_TAGVAR(predep_objects, $1)=
+_LT_AC_TAGVAR(postdep_objects, $1)=
+_LT_AC_TAGVAR(predeps, $1)=
+_LT_AC_TAGVAR(postdeps, $1)=
+_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_LD=$LD
+lt_save_GCC=$GCC
+GCC=$GXX
+lt_save_with_gnu_ld=$with_gnu_ld
+lt_save_path_LD=$lt_cv_path_LD
+if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+else
+ $as_unset lt_cv_prog_gnu_ld
+fi
+if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+else
+ $as_unset lt_cv_path_LD
+fi
+test -z "${LDCXX+set}" || LD=$LDCXX
+CC=${CXX-"c++"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+
+# We don't want -fno-exception wen compiling C++ code, so set the
+# no_builtin_flag separately
+if test "$GXX" = yes; then
+ _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+else
+ _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+fi
+
+if test "$GXX" = yes; then
+ # Set up default GNU C++ configuration
+
+ AC_PROG_LD
+
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test "$with_gnu_ld" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='${wl}'
+
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
+ grep 'no-whole-archive' > /dev/null; then
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ fi
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+else
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
+fi
+
+# PORTME: fill in a description of your system's C++ link characteristics
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+_LT_AC_TAGVAR(ld_shlibs, $1)=yes
+case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aix4* | aix5*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_AC_TAGVAR(archive_cmds, $1)=''
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+ if test "$GXX" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ else
+ # We have old collect2
+ _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an empty executable.
+ _LT_AC_SYS_LIBPATH_AIX
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an empty executable.
+ _LT_AC_SYS_LIBPATH_AIX
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_AC_TAGVAR(always_export_symbols, $1)=no
+ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ darwin* | rhapsody*)
+ case $host_os in
+ rhapsody* | darwin1.[[012]])
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
+ ;;
+ *) # Darwin 1.3 on
+ if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+ else
+ case ${MACOSX_DEPLOYMENT_TARGET} in
+ 10.[[012]])
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+ ;;
+ 10.*)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+ if test "$GXX" = yes ; then
+ lt_int_apple_cc_single_mod=no
+ output_verbose_link_cmd='echo'
+ if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
+ lt_int_apple_cc_single_mod=yes
+ fi
+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+ fi
+ _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ else
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ else
+ case $cc_basename in
+ xlc*)
+ output_verbose_link_cmd='echo'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ ;;
+ *)
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ fi
+ ;;
+
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+ freebsd[[12]]*)
+ # C++ shared libraries reported to be fairly broken before switch to ELF
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ freebsd-elf*)
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ ;;
+ freebsd* | kfreebsd*-gnu | dragonfly*)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+ gnu*)
+ ;;
+ hpux9*)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ hpux10*|hpux11*)
+ if test $with_gnu_ld = no; then
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+ ;;
+ *)
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+ esac
+ fi
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ case $host_cpu in
+ hppa*64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test $with_gnu_ld = no; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ interix3*)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC*)
+ # SGI C++
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
+ fi
+ fi
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+ esac
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+ linux*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc*)
+ # Intel C++
+ with_gnu_ld=yes
+ # version 8.0 and above of icpc choke on multiply defined symbols
+ # if we add $predep_objects and $postdep_objects, however 7.1 and
+ # earlier do not add the objects themselves.
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+ case $host_cpu in
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ ;;
+ pgCC*)
+ # Portland Group C++ compiler
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ ;;
+ cxx*)
+ # Compaq C++
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+ runpath_var=LD_RUN_PATH
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ esac
+ ;;
+ lynxos*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ m88k*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+ ;;
+ openbsd2*)
+ # C++ shared libraries are fairly broken
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ openbsd*)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd='echo'
+ ;;
+ osf3*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ cxx*)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ cxx*)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
+ $rm $lib.exp'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ psos*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ lcc*)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The C++ compiler is used as linker so we must use $wl
+ # flag to pass the commands to the underlying system
+ # linker. We must also pass each convience library through
+ # to the system linker between allextract/defaultextract.
+ # The C++ compiler will combine linker options so we
+ # cannot just pass the convience library names through
+ # without $wl.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+ if $CC --version | grep -v '^2\.7' > /dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+ else
+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # platform.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+ fi
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+ fi
+ ;;
+ esac
+ ;;
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ # So that behaviour is only enabled if SCOABSPATH is set to a
+ # non-empty value in the environment. Most likely only useful for
+ # creating official distributions of packages.
+ # This is a hack until libtool officially supports absolute path
+ # names for shared libraries.
+ _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+esac
+AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
+test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_AC_TAGVAR(GCC, $1)="$GXX"
+_LT_AC_TAGVAR(LD, $1)="$LD"
+
+AC_LIBTOOL_POSTDEP_PREDEP($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC=$lt_save_CC
+LDCXX=$LD
+LD=$lt_save_LD
+GCC=$lt_save_GCC
+with_gnu_ldcxx=$with_gnu_ld
+with_gnu_ld=$lt_save_with_gnu_ld
+lt_cv_path_LDCXX=$lt_cv_path_LD
+lt_cv_path_LD=$lt_save_path_LD
+lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+])# AC_LIBTOOL_LANG_CXX_CONFIG
+
+# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
+# ------------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library. It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
+int a;
+void foo (void) { a = 0; }
+EOF
+],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
+class Foo
+{
+public:
+ Foo (void) { a = 0; }
+private:
+ int a;
+};
+EOF
+],[$1],[F77],[cat > conftest.$ac_ext <<EOF
+ subroutine foo
+ implicit none
+ integer*4 a
+ a=0
+ return
+ end
+EOF
+],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
+public class foo {
+ private int a;
+ public void bar (void) {
+ a = 0;
+ }
+};
+EOF
+])
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+ # Parse the compiler output and extract the necessary
+ # objects, libraries and library flags.
+
+ # Sentinel used to keep track of whether or not we are before
+ # the conftest object file.
+ pre_test_object_deps_done=no
+
+ # The `*' in the case matches for architectures that use `case' in
+ # $output_verbose_cmd can trigger glob expansion during the loop
+ # eval without this substitution.
+ output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
+
+ for p in `eval $output_verbose_link_cmd`; do
+ case $p in
+
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+ # Remove the space.
+ if test $p = "-L" \
+ || test $p = "-R"; then
+ prev=$p
+ continue
+ else
+ prev=
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ case $p in
+ -L* | -R*)
+ # Internal compiler library paths should come after those
+ # provided the user. The postdeps already come after the
+ # user supplied libs so there is no need to process them.
+ if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
+ _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+ else
+ _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+ fi
+ ;;
+ # The "-l" case would never come before the object being
+ # linked, so don't bother handling this case.
+ esac
+ else
+ if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
+ _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
+ else
+ _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
+ fi
+ fi
+ ;;
+
+ *.$objext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+ if test "$p" = "conftest.$objext"; then
+ pre_test_object_deps_done=yes
+ continue
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
+ _LT_AC_TAGVAR(predep_objects, $1)="$p"
+ else
+ _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
+ fi
+ else
+ if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
+ _LT_AC_TAGVAR(postdep_objects, $1)="$p"
+ else
+ _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
+ fi
+ fi
+ ;;
+
+ *) ;; # Ignore the rest.
+
+ esac
+ done
+
+ # Clean up.
+ rm -f a.out a.exe
+else
+ echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$rm -f confest.$objext
+
+# PORTME: override above test on systems where it is broken
+ifelse([$1],[CXX],
+[case $host_os in
+interix3*)
+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
+ # hack all around it, let's just trust "g++" to DTRT.
+ _LT_AC_TAGVAR(predep_objects,$1)=
+ _LT_AC_TAGVAR(postdep_objects,$1)=
+ _LT_AC_TAGVAR(postdeps,$1)=
+ ;;
+
+solaris*)
+ case $cc_basename in
+ CC*)
+ # Adding this requires a known-good setup of shared libraries for
+ # Sun compiler versions before 5.6, else PIC objects from an old
+ # archive will be linked into the output, leading to subtle bugs.
+ _LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun'
+ ;;
+ esac
+ ;;
+esac
+])
+
+case " $_LT_AC_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+])# AC_LIBTOOL_POSTDEP_PREDEP
+
+# AC_LIBTOOL_LANG_F77_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined. Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
+AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
+[AC_REQUIRE([AC_PROG_F77])
+AC_LANG_PUSH(Fortran 77)
+
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_AC_TAGVAR(allow_undefined_flag, $1)=
+_LT_AC_TAGVAR(always_export_symbols, $1)=no
+_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_direct, $1)=no
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+_LT_AC_TAGVAR(hardcode_automatic, $1)=no
+_LT_AC_TAGVAR(module_cmds, $1)=
+_LT_AC_TAGVAR(module_expsym_cmds, $1)=
+_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_AC_TAGVAR(no_undefined_flag, $1)=
+_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code=" subroutine t\n return\n end\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code=" program t\n end\n"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${F77-"f77"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+
+AC_MSG_CHECKING([if libtool supports shared libraries])
+AC_MSG_RESULT([$can_build_shared])
+
+AC_MSG_CHECKING([whether to build shared libraries])
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case $host_os in
+aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+aix4* | aix5*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+esac
+AC_MSG_RESULT([$enable_shared])
+
+AC_MSG_CHECKING([whether to build static libraries])
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+AC_MSG_RESULT([$enable_static])
+
+_LT_AC_TAGVAR(GCC, $1)="$G77"
+_LT_AC_TAGVAR(LD, $1)="$LD"
+
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_F77_CONFIG
+
+
+# AC_LIBTOOL_LANG_GCJ_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined. Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
+AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
+[AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${GCJ-"gcj"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+
+AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_GCJ_CONFIG
+
+
+# AC_LIBTOOL_LANG_RC_CONFIG
+# -------------------------
+# Ensure that the configuration vars for the Windows resource compiler are
+# suitably defined. Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
+AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
+[AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${RC-"windres"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_RC_CONFIG
+
+
+# AC_LIBTOOL_CONFIG([TAGNAME])
+# ----------------------------
+# If TAGNAME is not passed, then create an initial libtool script
+# with a default configuration from the untagged config vars. Otherwise
+# add code to config.status for appending the configuration named by
+# TAGNAME from the matching tagged config vars.
+AC_DEFUN([AC_LIBTOOL_CONFIG],
+[# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+ # See if we are running on zsh, and set the options which allow our commands through
+ # without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+ # Now quote all the things that may contain metacharacters while being
+ # careful not to overquote the AC_SUBSTed values. We take copies of the
+ # variables and quote the copies for generation of the libtool script.
+ for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+ SED SHELL STRIP \
+ libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+ old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+ deplibs_check_method reload_flag reload_cmds need_locks \
+ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+ old_postinstall_cmds old_postuninstall_cmds \
+ _LT_AC_TAGVAR(compiler, $1) \
+ _LT_AC_TAGVAR(CC, $1) \
+ _LT_AC_TAGVAR(LD, $1) \
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
+ _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
+ _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
+ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
+ _LT_AC_TAGVAR(old_archive_cmds, $1) \
+ _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
+ _LT_AC_TAGVAR(predep_objects, $1) \
+ _LT_AC_TAGVAR(postdep_objects, $1) \
+ _LT_AC_TAGVAR(predeps, $1) \
+ _LT_AC_TAGVAR(postdeps, $1) \
+ _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
+ _LT_AC_TAGVAR(archive_cmds, $1) \
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
+ _LT_AC_TAGVAR(postinstall_cmds, $1) \
+ _LT_AC_TAGVAR(postuninstall_cmds, $1) \
+ _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
+ _LT_AC_TAGVAR(allow_undefined_flag, $1) \
+ _LT_AC_TAGVAR(no_undefined_flag, $1) \
+ _LT_AC_TAGVAR(export_symbols_cmds, $1) \
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
+ _LT_AC_TAGVAR(hardcode_automatic, $1) \
+ _LT_AC_TAGVAR(module_cmds, $1) \
+ _LT_AC_TAGVAR(module_expsym_cmds, $1) \
+ _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
+ _LT_AC_TAGVAR(exclude_expsyms, $1) \
+ _LT_AC_TAGVAR(include_expsyms, $1); do
+
+ case $var in
+ _LT_AC_TAGVAR(old_archive_cmds, $1) | \
+ _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
+ _LT_AC_TAGVAR(archive_cmds, $1) | \
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
+ _LT_AC_TAGVAR(module_cmds, $1) | \
+ _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
+ _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
+ _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
+ extract_expsyms_cmds | reload_cmds | finish_cmds | \
+ postinstall_cmds | postuninstall_cmds | \
+ old_postinstall_cmds | old_postuninstall_cmds | \
+ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+ # Double-quote double-evaled strings.
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+ ;;
+ *)
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+ ;;
+ esac
+ done
+
+ case $lt_echo in
+ *'\[$]0 --fallback-echo"')
+ lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
+ ;;
+ esac
+
+ifelse([$1], [],
+ [cfgfile="${ofile}T"
+ trap "$rm \"$cfgfile\"; exit 1" 1 2 15
+ $rm -f "$cfgfile"
+ AC_MSG_NOTICE([creating $ofile])],
+ [cfgfile="$ofile"])
+
+ cat <<__EOF__ >> "$cfgfile"
+ifelse([$1], [],
+[#! $SHELL
+
+# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Libtool:
+# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="$SED -e 1s/^X//"
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# The names of the tagged configurations supported by this script.
+available_tags=
+
+# ### BEGIN LIBTOOL CONFIG],
+[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
+
+# Is the compiler the GNU C compiler?
+with_gcc=$_LT_AC_TAGVAR(GCC, $1)
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
+archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
+module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
+
+# Symbols that must always be exported.
+include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
+
+ifelse([$1],[],
+[# ### END LIBTOOL CONFIG],
+[# ### END LIBTOOL TAG CONFIG: $tagname])
+
+__EOF__
+
+ifelse([$1],[], [
+ case $host_os in
+ aix3*)
+ cat <<\EOF >> "$cfgfile"
+
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+EOF
+ ;;
+ esac
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
+
+ mv -f "$cfgfile" "$ofile" || \
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+])
+else
+ # If there is no Makefile yet, we rely on a make rule to execute
+ # `config.status --recheck' to rerun these tests and create the
+ # libtool script then.
+ ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+ if test -f "$ltmain_in"; then
+ test -f Makefile && make "$ltmain"
+ fi
+fi
+])# AC_LIBTOOL_CONFIG
+
+
+# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------------------
+AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
+[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+
+_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+
+ AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+ lt_cv_prog_compiler_rtti_exceptions,
+ [-fno-rtti -fno-exceptions], [],
+ [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
+
+
+# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+# ---------------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
+[AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([AC_PROG_NM])
+AC_REQUIRE([AC_OBJEXT])
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Transform an extracted symbol line into a proper C declaration
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[[BCDT]]'
+ ;;
+cygwin* | mingw* | pw32*)
+ symcode='[[ABCDGISTW]]'
+ ;;
+hpux*) # Its linker distinguishes data from code symbols
+ if test "$host_cpu" = ia64; then
+ symcode='[[ABCDEGRST]]'
+ fi
+ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+ lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+ ;;
+linux*)
+ if test "$host_cpu" = ia64; then
+ symcode='[[ABCDGIRSTW]]'
+ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+ lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[[BCDEGRST]]'
+ ;;
+osf*)
+ symcode='[[BCDEGQRST]]'
+ ;;
+solaris*)
+ symcode='[[BDRT]]'
+ ;;
+sco3.2v5*)
+ symcode='[[DT]]'
+ ;;
+sysv4.2uw2*)
+ symcode='[[DT]]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[[ABDT]]'
+ ;;
+sysv4)
+ symcode='[[DFNSTU]]'
+ ;;
+esac
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+# Try without a prefix undercore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+ # Write the raw and C identifiers.
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+EOF
+
+ if AC_TRY_EVAL(ac_compile); then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if grep ' nm_test_var$' "$nlist" >/dev/null; then
+ if grep ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
+
+ cat <<EOF >> conftest.$ac_ext
+#if defined (__STDC__) && __STDC__
+# define lt_ptr_t void *
+#else
+# define lt_ptr_t char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+const struct {
+ const char *name;
+ lt_ptr_t address;
+}
+lt_preloaded_symbols[[]] =
+{
+EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
+ cat <<\EOF >> conftest.$ac_ext
+ {0, (lt_ptr_t) 0}
+};
+
+#ifdef __cplusplus
+}
+#endif
+EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_save_LIBS="$LIBS"
+ lt_save_CFLAGS="$CFLAGS"
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS="$lt_save_LIBS"
+ CFLAGS="$lt_save_CFLAGS"
+ else
+ echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+ cat conftest.$ac_ext >&5
+ fi
+ rm -f conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ AC_MSG_RESULT(failed)
+else
+ AC_MSG_RESULT(ok)
+fi
+]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+
+
+# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
+# ---------------------------------------
+AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
+[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
+
+AC_MSG_CHECKING([for $compiler option to produce PIC])
+ ifelse([$1],[CXX],[
+ # C++ specific cases for pic, static, wl, etc.
+ if test "$GXX" = yes; then
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+ amigaos*)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ mingw* | os2* | pw32*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+ *djgpp*)
+ # DJGPP does not support shared libraries at all
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ interix3*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+ hpux*)
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ else
+ case $host_os in
+ aix4* | aix5*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ cxch68*)
+ # Green Hills C++ Compiler
+ # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ ;;
+ esac
+ ;;
+ darwin*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ case $cc_basename in
+ xlc*)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ ;;
+ esac
+ ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ freebsd* | kfreebsd*-gnu | dragonfly*)
+ # FreeBSD uses GNU C++
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $cc_basename in
+ CC*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ if test "$host_cpu" != ia64; then
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ fi
+ ;;
+ aCC*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ interix*)
+ # This is c89, which is MS Visual C++ (no shared libs)
+ # Anyone wants to do a port?
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case $cc_basename in
+ CC*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ # CC pic flag -KPIC is the default.
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ linux*)
+ case $cc_basename in
+ KCC*)
+ # KAI C++ Compiler
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ icpc* | ecpc*)
+ # Intel C++
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ pgCC*)
+ # Portland Group C++ compiler.
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ cxx*)
+ # Compaq C++
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ lynxos*)
+ ;;
+ m88k*)
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ netbsd*)
+ ;;
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ cxx*)
+ # Digital/Compaq C++
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ psos*)
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ lcc*)
+ # Lucid
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ case $cc_basename in
+ CC*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+ vxworks*)
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+],
+[
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+
+ beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+
+ interix3*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ enable_shared=no
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+
+ hpux*)
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ darwin*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ case $cc_basename in
+ xlc*)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ ;;
+ esac
+ ;;
+
+ mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC (with -KPIC) is the default.
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ newsos6)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ linux*)
+ case $cc_basename in
+ icc* | ecc*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ ccc*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All Alpha code is PIC.
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ esac
+ ;;
+
+ osf3* | osf4* | osf5*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All OSF/1 code is PIC.
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ solaris*)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ unicos*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+
+ uts4*)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+])
+AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
+ _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
+ [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
+ [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
+ "" | " "*) ;;
+ *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+ esac],
+ [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
+ ;;
+esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
+AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+ _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
+ $lt_tmp_static_flag,
+ [],
+ [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
+])
+
+
+# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
+# ------------------------------------
+# See if the linker supports building shared libraries.
+AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
+[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+ifelse([$1],[CXX],[
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ case $host_os in
+ aix4* | aix5*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+ fi
+ ;;
+ pw32*)
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+ ;;
+ cygwin* | mingw*)
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ *)
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ esac
+],[
+ runpath_var=
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=
+ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+ _LT_AC_TAGVAR(archive_cmds, $1)=
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+ _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
+ _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+ _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+ _LT_AC_TAGVAR(hardcode_automatic, $1)=no
+ _LT_AC_TAGVAR(module_cmds, $1)=
+ _LT_AC_TAGVAR(module_expsym_cmds, $1)=
+ _LT_AC_TAGVAR(always_export_symbols, $1)=no
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ _LT_AC_TAGVAR(include_expsyms, $1)=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ extract_expsyms_cmds=
+ # Just being paranoid about ensuring that cc_basename is set.
+ _LT_CC_BASENAME([$compiler])
+ case $host_os in
+ cygwin* | mingw* | pw32*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ esac
+
+ _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+ if test "$with_gnu_ld" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>/dev/null` in
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix3* | aix4* | aix5*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+ fi
+ ;;
+
+ amigaos*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+
+ # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
+ # that the semantics of dynamic libraries on AmigaOS, at least up
+ # to version 4, is to share data among multiple programs linked
+ # with the same dynamic library. Since this doesn't match the
+ # behavior of shared libraries on other platforms, we can't use
+ # them.
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_AC_TAGVAR(always_export_symbols, $1)=no
+ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ interix3*)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ linux*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ tmp_addflag=
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ esac
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+ if test $supports_anon_versioning = yes; then
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ $echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris*)
+ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+ elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+
+ if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
+ runpath_var=
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+ fi
+ ;;
+
+ aix4* | aix5*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_AC_TAGVAR(archive_cmds, $1)=''
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ else
+ # We have old collect2
+ _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an empty executable.
+ _LT_AC_SYS_LIBPATH_AIX
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an empty executable.
+ _LT_AC_SYS_LIBPATH_AIX
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ # see comment about different semantics on the GNU ld section
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ bsdi[[45]]*)
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
+ # FIXME: Should let the user specify the lib program.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
+ _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
+ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+
+ darwin* | rhapsody*)
+ case $host_os in
+ rhapsody* | darwin1.[[012]])
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
+ ;;
+ *) # Darwin 1.3 on
+ if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+ else
+ case ${MACOSX_DEPLOYMENT_TARGET} in
+ 10.[[012]])
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+ ;;
+ 10.*)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ if test "$GCC" = yes ; then
+ output_verbose_link_cmd='echo'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+ _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ else
+ case $cc_basename in
+ xlc*)
+ output_verbose_link_cmd='echo'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ ;;
+ *)
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ fi
+ ;;
+
+ dgux*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ freebsd1*)
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | kfreebsd*-gnu | dragonfly*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+
+ hpux10*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ newsos6)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ openbsd*)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ else
+ case $host_os in
+ openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ ;;
+
+ os2*)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ else
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ solaris*)
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+ else
+ wlarc=''
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine linker options so we
+ # cannot just pass the convience library names through
+ # without $wl, iff we do not link with $LD.
+ # Luckily, gcc supports the same syntax we need for Sun Studio.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ case $wlarc in
+ '')
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
+ *)
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+ esac ;;
+ esac
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ ;;
+ motorola)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4.3*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+ fi
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*)
+ _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ uts4*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ fi
+])
+AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
+test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+ # Assume -lc should be added
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $_LT_AC_TAGVAR(archive_cmds, $1) in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ AC_MSG_CHECKING([whether -lc should be explicitly linked in])
+ $rm conftest*
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
+ pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=
+ if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
+ then
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ else
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+ fi
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $rm conftest*
+ AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
+ ;;
+ esac
+ fi
+ ;;
+esac
+])# AC_LIBTOOL_PROG_LD_SHLIBS
+
+
+# _LT_AC_FILE_LTDLL_C
+# -------------------
+# Be careful that the start marker always follows a newline.
+AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
+# /* ltdll.c starts here */
+# #define WIN32_LEAN_AND_MEAN
+# #include <windows.h>
+# #undef WIN32_LEAN_AND_MEAN
+# #include <stdio.h>
+#
+# #ifndef __CYGWIN__
+# # ifdef __CYGWIN32__
+# # define __CYGWIN__ __CYGWIN32__
+# # endif
+# #endif
+#
+# #ifdef __cplusplus
+# extern "C" {
+# #endif
+# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
+# #ifdef __cplusplus
+# }
+# #endif
+#
+# #ifdef __CYGWIN__
+# #include <cygwin/cygwin_dll.h>
+# DECLARE_CYGWIN_DLL( DllMain );
+# #endif
+# HINSTANCE __hDllInstance_base;
+#
+# BOOL APIENTRY
+# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
+# {
+# __hDllInstance_base = hInst;
+# return TRUE;
+# }
+# /* ltdll.c ends here */
+])# _LT_AC_FILE_LTDLL_C
+
+
+# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
+# ---------------------------------
+AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
+
+
+# old names
+AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL])
+AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+AC_DEFUN([AM_PROG_LD], [AC_PROG_LD])
+AC_DEFUN([AM_PROG_NM], [AC_PROG_NM])
+
+# This is just to silence aclocal about the macro not being used
+ifelse([AC_DISABLE_FAST_INSTALL])
+
+AC_DEFUN([LT_AC_PROG_GCJ],
+[AC_CHECK_TOOL(GCJ, gcj, no)
+ test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+ AC_SUBST(GCJFLAGS)
+])
+
+AC_DEFUN([LT_AC_PROG_RC],
+[AC_CHECK_TOOL(RC, windres, no)
+])
+
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_SED. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+# LT_AC_PROG_SED
+# --------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible. Prefer GNU sed if found.
+AC_DEFUN([LT_AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for lt_ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+ lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+ fi
+ done
+ done
+done
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+ test ! -f $lt_ac_sed && continue
+ cat /dev/null > conftest.in
+ lt_ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+ # Check for GNU sed and select it if it is found.
+ if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+ lt_cv_path_SED=$lt_ac_sed
+ break
+ fi
+ while true; do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo >>conftest.nl
+ $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+ cmp -s conftest.out conftest.nl || break
+ # 10000 chars as input seems more than enough
+ test $lt_ac_count -gt 10 && break
+ lt_ac_count=`expr $lt_ac_count + 1`
+ if test $lt_ac_count -gt $lt_ac_max; then
+ lt_ac_max=$lt_ac_count
+ lt_cv_path_SED=$lt_ac_sed
+ fi
+ done
+done
+])
+SED=$lt_cv_path_SED
+AC_MSG_RESULT([$SED])
+])
+
+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+#
+# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=m4_default([$1], [0.9.0])
+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ PKG_CONFIG=""
+ fi
+
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists. Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+#
+# Similar to PKG_CHECK_MODULES, make sure that the first instance of
+# this or PKG_CHECK_MODULES is called, or make sure to call
+# PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+ m4_ifval([$2], [$2], [:])
+m4_ifvaln([$3], [else
+ $3])dnl
+fi])
+
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$PKG_CONFIG"; then
+ if test -n "$$1"; then
+ pkg_cv_[]$1="$$1"
+ else
+ PKG_CHECK_EXISTS([$3],
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
+ [pkg_failed=yes])
+ fi
+else
+ pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+ _PKG_SHORT_ERRORS_SUPPORTED
+ if test $_pkg_short_errors_supported = yes; then
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
+ else
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+ ifelse([$4], , [AC_MSG_ERROR(dnl
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT
+])],
+ [AC_MSG_RESULT([no])
+ $4])
+elif test $pkg_failed = untried; then
+ ifelse([$4], , [AC_MSG_FAILURE(dnl
+[The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.])],
+ [$4])
+else
+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+ AC_MSG_RESULT([yes])
+ ifelse([$3], , :, [$3])
+fi[]dnl
+])# PKG_CHECK_MODULES
+
+m4_include([scripts/docgen.m4])
+m4_include([scripts/macros.m4])
+m4_include([scripts/reduced.m4])
diff --git a/libs/gtkmm2/atk/.cvsignore b/libs/gtkmm2/atk/.cvsignore
deleted file mode 100644
index e5d046710f..0000000000
--- a/libs/gtkmm2/atk/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.dylib
diff --git a/libs/gtkmm2/atk/Makefile.am b/libs/gtkmm2/atk/Makefile.am
new file mode 100644
index 0000000000..9cdcc63ed8
--- /dev/null
+++ b/libs/gtkmm2/atk/Makefile.am
@@ -0,0 +1,14 @@
+SUBDIRS = src atkmm
+
+EXTRA_DIST = README atkmm-1.6.pc.in
+
+atkmm_includedir = $(includedir)/atkmm-1.6
+atkmm_include_HEADERS = atkmm.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = atkmm-1.6.pc
+
+
+
+
+
diff --git a/libs/gtkmm2/atk/Makefile.in b/libs/gtkmm2/atk/Makefile.in
new file mode 100644
index 0000000000..b8b2d806de
--- /dev/null
+++ b/libs/gtkmm2/atk/Makefile.in
@@ -0,0 +1,576 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = atk
+DIST_COMMON = README $(atkmm_include_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(srcdir)/atkmm-1.6.pc.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES = atkmm-1.6.pc
+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 = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(pkgconfigdir)" \
+ "$(DESTDIR)$(atkmm_includedir)"
+pkgconfigDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(pkgconfig_DATA)
+atkmm_includeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(atkmm_include_HEADERS)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = src atkmm
+EXTRA_DIST = README atkmm-1.6.pc.in
+atkmm_includedir = $(includedir)/atkmm-1.6
+atkmm_include_HEADERS = atkmm.h
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = atkmm-1.6.pc
+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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu atk/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu atk/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
+atkmm-1.6.pc: $(top_builddir)/config.status $(srcdir)/atkmm-1.6.pc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-pkgconfigDATA: $(pkgconfig_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
+ @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+ $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ done
+
+uninstall-pkgconfigDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ done
+install-atkmm_includeHEADERS: $(atkmm_include_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(atkmm_includedir)" || $(MKDIR_P) "$(DESTDIR)$(atkmm_includedir)"
+ @list='$(atkmm_include_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(atkmm_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(atkmm_includedir)/$$f'"; \
+ $(atkmm_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(atkmm_includedir)/$$f"; \
+ done
+
+uninstall-atkmm_includeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(atkmm_include_HEADERS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(atkmm_includedir)/$$f'"; \
+ rm -f "$(DESTDIR)$(atkmm_includedir)/$$f"; \
+ done
+
+# 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):
+ @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; \
+ (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):
+ @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; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (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; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ 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 || \
+ tags="$$tags $$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; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(DATA) $(HEADERS)
+installdirs: installdirs-recursive
+installdirs-am:
+ for dir in "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(atkmm_includedir)"; 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)
+
+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
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-atkmm_includeHEADERS install-pkgconfigDATA
+
+install-dvi: install-dvi-recursive
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+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-atkmm_includeHEADERS uninstall-pkgconfigDATA
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.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-atkmm_includeHEADERS 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-pkgconfigDATA \
+ 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-atkmm_includeHEADERS \
+ uninstall-pkgconfigDATA
+
+# 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:
diff --git a/libs/gtkmm2/atk/README b/libs/gtkmm2/atk/README
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/libs/gtkmm2/atk/README
diff --git a/libs/gtkmm2/atk/atkmm-1.6.pc.in b/libs/gtkmm2/atk/atkmm-1.6.pc.in
new file mode 100644
index 0000000000..b17fad5548
--- /dev/null
+++ b/libs/gtkmm2/atk/atkmm-1.6.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: atkmm
+Description: C++ wrapper for atk
+Requires: glibmm-2.4 atk
+Version: @VERSION@
+Libs: -L${libdir} -latkmm-1.6
+Cflags: -I${includedir}/atkmm-1.6
diff --git a/libs/gtkmm2/atk/atkmm/.cvsignore b/libs/gtkmm2/atk/atkmm/.cvsignore
deleted file mode 100644
index 1edeb79fd1..0000000000
--- a/libs/gtkmm2/atk/atkmm/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.os
diff --git a/libs/gtkmm2/atk/atkmm/Makefile.am b/libs/gtkmm2/atk/atkmm/Makefile.am
new file mode 100644
index 0000000000..f48577b372
--- /dev/null
+++ b/libs/gtkmm2/atk/atkmm/Makefile.am
@@ -0,0 +1,31 @@
+## Copyright (c) 2001
+## The gtkmm development team.
+
+SUBDIRS = private
+
+sublib_name = atkmm
+sublib_libname = atkmm-1.6
+sublib_libversion = $(LIBGTKMM_SO_VERSION)
+sublib_namespace = Atk
+sublib_cflags = $(ATKMM_CFLAGS)
+sublib_topdir = atk
+sublib_win32_dlls_libs =
+
+sublib_files_extra_posix_cc =
+sublib_files_extra_win32_cc =
+sublib_files_extra_general_cc = init.cc
+sublib_files_extra_general_deprecated_cc =
+
+sublib_files_extra_posix_h =
+sublib_files_extra_win32_h =
+sublib_files_extra_general_h = init.h
+sublib_files_extra_general_deprecated_h =
+
+include $(top_srcdir)/build_shared/Makefile_build.am_fragment
+
+lib_LTLIBRARIES = libatkmm-1.6.la
+
+libatkmm_1_6_la_SOURCES = $(files_built_cc) $(files_extra_cc)
+libatkmm_1_6_la_LDFLAGS = $(common_ldflags)
+libatkmm_1_6_la_LIBADD = $(win32_dlls_extra_libs) $(ATKMM_LIBS)
+
diff --git a/libs/gtkmm2/atk/atkmm/Makefile.in b/libs/gtkmm2/atk/atkmm/Makefile.in
new file mode 100644
index 0000000000..59f3fe20a0
--- /dev/null
+++ b/libs/gtkmm2/atk/atkmm/Makefile.in
@@ -0,0 +1,782 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+
+# This file is include by other Makefile.am files, using the new automake include feature.
+# The include happens in Makefile.am, not Makefile.in or Makefile,
+# so it's like copy-and-pasting this into each of those Makefile.am files.
+
+# Built files
+
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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)/../src/Makefile_list_of_hg.am_fragment \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(sublib_include_HEADERS) \
+ $(top_srcdir)/build_shared/Makefile_build.am_fragment \
+ $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment
+subdir = atk/atkmm
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+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 = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libdir)" \
+ "$(DESTDIR)$(sublib_includedir)"
+libLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(lib_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+@PLATFORM_WIN32_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
+libatkmm_1_6_la_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1)
+am__libatkmm_1_6_la_SOURCES_DIST = action.cc component.cc document.cc \
+ editabletext.cc hyperlink.cc hypertext.cc image.cc \
+ implementor.cc noopobject.cc object.cc objectaccessible.cc \
+ relation.cc relationset.cc selection.cc stateset.cc \
+ streamablecontent.cc table.cc text.cc value.cc wrap_init.cc \
+ init.cc
+am__objects_1 = action.lo component.lo document.lo editabletext.lo \
+ hyperlink.lo hypertext.lo image.lo implementor.lo \
+ noopobject.lo object.lo objectaccessible.lo relation.lo \
+ relationset.lo selection.lo stateset.lo streamablecontent.lo \
+ table.lo text.lo value.lo
+am__objects_2 =
+@OS_WIN32_FALSE@am__objects_3 = $(am__objects_1) $(am__objects_2) \
+@OS_WIN32_FALSE@ $(am__objects_2)
+@OS_WIN32_TRUE@am__objects_3 = $(am__objects_1) $(am__objects_2) \
+@OS_WIN32_TRUE@ $(am__objects_2)
+am__objects_4 = $(am__objects_3) wrap_init.lo
+am__objects_5 = init.lo
+@OS_WIN32_FALSE@am__objects_6 = $(am__objects_2) $(am__objects_5)
+@OS_WIN32_TRUE@am__objects_6 = $(am__objects_2) $(am__objects_5)
+am_libatkmm_1_6_la_OBJECTS = $(am__objects_4) $(am__objects_6)
+libatkmm_1_6_la_OBJECTS = $(am_libatkmm_1_6_la_OBJECTS)
+libatkmm_1_6_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(libatkmm_1_6_la_LDFLAGS) $(LDFLAGS) -o $@
+depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(libatkmm_1_6_la_SOURCES)
+DIST_SOURCES = $(am__libatkmm_1_6_la_SOURCES_DIST)
+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
+sublib_includeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(sublib_include_HEADERS)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@ -DG_LOG_DOMAIN=\"$(sublib_name)\" $(extra_win32_defines)
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = private
+sublib_name = atkmm
+sublib_libname = atkmm-1.6
+sublib_libversion = $(LIBGTKMM_SO_VERSION)
+sublib_namespace = Atk
+sublib_cflags = $(ATKMM_CFLAGS)
+sublib_topdir = atk
+sublib_win32_dlls_libs =
+sublib_files_extra_posix_cc =
+sublib_files_extra_win32_cc =
+sublib_files_extra_general_cc = init.cc
+sublib_files_extra_general_deprecated_cc =
+sublib_files_extra_posix_h =
+sublib_files_extra_win32_h =
+sublib_files_extra_general_h = init.h
+sublib_files_extra_general_deprecated_h =
+files_posix_hg =
+files_win32_hg =
+files_general_hg = action.hg component.hg document.hg editabletext.hg hyperlink.hg hypertext.hg image.hg \
+ implementor.hg noopobject.hg object.hg objectaccessible.hg relation.hg relationset.hg selection.hg \
+ stateset.hg streamablecontent.hg table.hg text.hg value.hg
+
+files_general_deprecated_hg =
+files_all_hg = \
+ $(files_posix_hg) \
+ $(files_win32_hg) \
+ $(files_general_hg) \
+ $(files_general_deprecated_hg)
+
+@OS_WIN32_FALSE@files_hg = $(files_general_hg) $(files_posix_hg) $(files_general_deprecated_hg)
+@OS_WIN32_TRUE@files_hg = $(files_general_hg) $(files_win32_hg) $(files_general_deprecated_hg)
+files_built_cc = $(files_hg:.hg=.cc) wrap_init.cc
+files_built_h = $(files_hg:.hg=.h)
+files_all_built_cc = $(files_all_hg:.hg=.cc) wrap_init.cc
+files_all_built_h = $(files_all_hg:.hg=.h)
+
+# Extra files
+files_all_extra_cc = \
+ $(sublib_files_extra_posix_cc) \
+ $(sublib_files_extra_win32_cc) \
+ $(sublib_files_extra_general_cc) \
+ $(sublib_files_extra_general_deprecated_cc)
+
+files_all_extra_h = $(sublib_files_extra_posix_h) \
+ $(sublib_files_extra_win32_h) $(sublib_files_extra_general_h) \
+ $(sublib_files_extra_general_deprecated_h) wrap_init.h
+@OS_WIN32_FALSE@files_extra_cc = \
+@OS_WIN32_FALSE@ $(sublib_files_extra_posix_cc) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_TRUE@files_extra_cc = \
+@OS_WIN32_TRUE@ $(sublib_files_extra_win32_cc) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_FALSE@files_extra_h = $(sublib_files_extra_posix_h) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_h) wrap_init.h
+@OS_WIN32_TRUE@files_extra_h = $(sublib_files_extra_win32_h) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_h) wrap_init.h
+@PLATFORM_WIN32_FALSE@extra_win32_defines =
+
+# Support for DLL on mingw using libtool > 1.4
+# When creating DLLs on win32, we need to explicitly add a few extra
+# libraries at link time to resolve symbols (remember a dll is like an
+# executable).
+@PLATFORM_WIN32_TRUE@extra_win32_defines = \
+@PLATFORM_WIN32_TRUE@ -D$(shell echo $(sublib_name) | tr [:lower:] [:upper:])_BUILD
+
+@PLATFORM_WIN32_FALSE@no_undefined =
+@PLATFORM_WIN32_TRUE@no_undefined = -no-undefined -Wl,--export-all-symbols
+@PLATFORM_WIN32_FALSE@win32_dlls_extra_libs =
+@PLATFORM_WIN32_TRUE@win32_dlls_extra_libs = $(sublib_win32_dlls_libs)
+common_ldflags = -version-info $(sublib_libversion) $(no_undefined)
+
+# All modules can include all other modules,
+# for instance, so that gdkmm can use headers in pangomm.
+all_includes = -I$(top_builddir)/$(sublib_topdir) -I$(top_srcdir)/$(sublib_topdir) \
+ -I$(top_builddir)/pango -I$(top_srcdir)/pango \
+ -I$(top_builddir)/atk -I$(top_srcdir)/atk \
+ -I$(top_builddir)/gdk -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gtk -I$(top_srcdir)/gtk \
+ $(sublib_cflags) $(GTHREAD_CFLAGS)
+
+dist_sources = $(files_all_built_cc) $(files_all_extra_cc) $(files_all_built_h) $(files_all_extra_h)
+DISTFILES = $(DIST_COMMON) $(dist_sources) $(TEXINFOS) $(EXTRA_DIST)
+DEFAULT_INCLUDES =
+
+# DISABLE_DEPRECATED_CFLAGS and DISABLE_DEPRECATED_API_CFLAGS are empty unless the appropriate --enable-*=no options are specified to configure:
+INCLUDES = $(strip $(all_includes)) $(DISABLE_DEPRECATED_CFLAGS) $(DISABLE_DEPRECATED_API_CFLAGS)
+sublib_includedir = $(includedir)/$(sublib_libname)/$(sublib_name)
+sublib_include_HEADERS = $(files_all_built_h) $(files_all_extra_h)
+lib_LTLIBRARIES = libatkmm-1.6.la
+libatkmm_1_6_la_SOURCES = $(files_built_cc) $(files_extra_cc)
+libatkmm_1_6_la_LDFLAGS = $(common_ldflags)
+libatkmm_1_6_la_LIBADD = $(win32_dlls_extra_libs) $(ATKMM_LIBS)
+all: all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/build_shared/Makefile_build.am_fragment $(srcdir)/../src/Makefile_list_of_hg.am_fragment $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu atk/atkmm/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu atk/atkmm/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
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ f=$(am__strip_dir) \
+ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ else :; fi; \
+ done
+
+uninstall-libLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ p=$(am__strip_dir) \
+ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ done
+
+clean-libLTLIBRARIES:
+ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libatkmm-1.6.la: $(libatkmm_1_6_la_OBJECTS) $(libatkmm_1_6_la_DEPENDENCIES)
+ $(libatkmm_1_6_la_LINK) -rpath $(libdir) $(libatkmm_1_6_la_OBJECTS) $(libatkmm_1_6_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/action.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/component.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/document.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/editabletext.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hyperlink.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hypertext.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/image.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/implementor.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/noopobject.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/object.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/objectaccessible.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/relation.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/relationset.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/selection.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stateset.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/streamablecontent.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/table.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/text.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/value.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrap_init.Plo@am__quote@
+
+.cc.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-sublib_includeHEADERS: $(sublib_include_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(sublib_includedir)" || $(MKDIR_P) "$(DESTDIR)$(sublib_includedir)"
+ @list='$(sublib_include_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(sublib_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(sublib_includedir)/$$f'"; \
+ $(sublib_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(sublib_includedir)/$$f"; \
+ done
+
+uninstall-sublib_includeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(sublib_include_HEADERS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(sublib_includedir)/$$f'"; \
+ rm -f "$(DESTDIR)$(sublib_includedir)/$$f"; \
+ done
+
+# 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):
+ @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; \
+ (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):
+ @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; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (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; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ 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 || \
+ tags="$$tags $$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; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(LTLIBRARIES) $(HEADERS)
+installdirs: installdirs-recursive
+installdirs-am:
+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(sublib_includedir)"; 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)
+
+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-libLTLIBRARIES clean-libtool \
+ mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-sublib_includeHEADERS
+
+install-dvi: install-dvi-recursive
+
+install-exec-am: install-libLTLIBRARIES
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic \
+ maintainer-clean-local
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-libLTLIBRARIES uninstall-sublib_includeHEADERS
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am check check-am clean clean-generic \
+ clean-libLTLIBRARIES clean-libtool ctags ctags-recursive \
+ distclean distclean-compile 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-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-libLTLIBRARIES install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ install-sublib_includeHEADERS installcheck installcheck-am \
+ installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic maintainer-clean-local mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
+ uninstall-libLTLIBRARIES uninstall-sublib_includeHEADERS
+
+
+maintainer-clean-local:
+ (cd $(srcdir) && rm -f $(files_all_built_cc) $(files_all_built_h))
+# 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:
diff --git a/libs/gtkmm2/atk/atkmm/action.cc b/libs/gtkmm2/atk/atkmm/action.cc
index 9af6fe0e85..66585d57ef 100644
--- a/libs/gtkmm2/atk/atkmm/action.cc
+++ b/libs/gtkmm2/atk/atkmm/action.cc
@@ -37,7 +37,7 @@ namespace Glib
Glib::RefPtr<Atk::Action> wrap(AtkAction* object, bool take_copy)
{
- return Glib::RefPtr<Atk::Action>( dynamic_cast<Atk::Action*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ return Glib::RefPtr<Atk::Action>( dynamic_cast<Atk::Action*> (Glib::wrap_auto_interface<Atk::Action> ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance.
}
@@ -89,7 +89,7 @@ void Action_Class::iface_init_function(void* g_iface, void*)
#ifdef GLIBMM_VFUNCS_ENABLED
gboolean Action_Class::do_action_vfunc_callback(AtkAction* self, gint i)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -97,41 +97,44 @@ gboolean Action_Class::do_action_vfunc_callback(AtkAction* self, gint i)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->do_action_vfunc(i
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->do_action_vfunc(i
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->do_action)
+ return (*base->do_action)(self, i);
- // Call the original underlying C function:
- if(base && base->do_action)
- return (*base->do_action)(self, i);
- }
typedef gboolean RType;
return RType();
}
gint Action_Class::get_n_actions_vfunc_callback(AtkAction* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -139,40 +142,43 @@ gint Action_Class::get_n_actions_vfunc_callback(AtkAction* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_n_actions_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_n_actions_vfunc();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_n_actions)
+ return (*base->get_n_actions)(self);
- // Call the original underlying C function:
- if(base && base->get_n_actions)
- return (*base->get_n_actions)(self);
- }
typedef gint RType;
return RType();
}
const gchar* Action_Class::get_description_vfunc_callback(AtkAction* self, gint i)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -180,41 +186,44 @@ const gchar* Action_Class::get_description_vfunc_callback(AtkAction* self, gint
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_description_vfunc(i
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_description_vfunc(i
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_description)
+ return (*base->get_description)(self, i);
- // Call the original underlying C function:
- if(base && base->get_description)
- return (*base->get_description)(self, i);
- }
typedef const gchar* RType;
return RType();
}
const gchar* Action_Class::get_name_vfunc_callback(AtkAction* self, gint i)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -222,41 +231,44 @@ const gchar* Action_Class::get_name_vfunc_callback(AtkAction* self, gint i)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_name_vfunc(i
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_name_vfunc(i
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_name)
+ return (*base->get_name)(self, i);
- // Call the original underlying C function:
- if(base && base->get_name)
- return (*base->get_name)(self, i);
- }
typedef const gchar* RType;
return RType();
}
const gchar* Action_Class::get_keybinding_vfunc_callback(AtkAction* self, gint i)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -264,41 +276,44 @@ const gchar* Action_Class::get_keybinding_vfunc_callback(AtkAction* self, gint i
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_keybinding_vfunc(i
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_keybinding_vfunc(i
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_keybinding)
+ return (*base->get_keybinding)(self, i);
- // Call the original underlying C function:
- if(base && base->get_keybinding)
- return (*base->get_keybinding)(self, i);
- }
typedef const gchar* RType;
return RType();
}
gboolean Action_Class::set_description_vfunc_callback(AtkAction* self, gint i, const gchar* desc)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -306,35 +321,38 @@ gboolean Action_Class::set_description_vfunc_callback(AtkAction* self, gint i, c
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->set_description_vfunc(i
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->set_description_vfunc(i
, Glib::convert_const_gchar_ptr_to_ustring(desc)
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->set_description)
+ return (*base->set_description)(self, i, desc);
- // Call the original underlying C function:
- if(base && base->set_description)
- return (*base->set_description)(self, i, desc);
- }
typedef gboolean RType;
return RType();
diff --git a/libs/gtkmm2/atk/atkmm/action.h b/libs/gtkmm2/atk/atkmm/action.h
index c31a2c9e31..a9513f7701 100644
--- a/libs/gtkmm2/atk/atkmm/action.h
+++ b/libs/gtkmm2/atk/atkmm/action.h
@@ -80,8 +80,14 @@ private:
protected:
Action(); // you must derive from this class
+
+public:
+ // This is public so that C++ wrapper instances can be
+ // created for C instances of unwrapped types.
+ // For instance, if an unexpected C type implements the C interface.
explicit Action(AtkAction* castitem);
+protected:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
@@ -204,10 +210,13 @@ protected:
namespace Glib
{
- /** @relates Atk::Action
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Atk::Action
*/
Glib::RefPtr<Atk::Action> wrap(AtkAction* object, bool take_copy = false);
diff --git a/libs/gtkmm2/atk/atkmm/component.cc b/libs/gtkmm2/atk/atkmm/component.cc
index 8d51116bc1..088b381d73 100644
--- a/libs/gtkmm2/atk/atkmm/component.cc
+++ b/libs/gtkmm2/atk/atkmm/component.cc
@@ -51,7 +51,7 @@ namespace Glib
Glib::RefPtr<Atk::Component> wrap(AtkComponent* object, bool take_copy)
{
- return Glib::RefPtr<Atk::Component>( dynamic_cast<Atk::Component*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ return Glib::RefPtr<Atk::Component>( dynamic_cast<Atk::Component*> (Glib::wrap_auto_interface<Atk::Component> ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance.
}
@@ -110,7 +110,7 @@ void Component_Class::iface_init_function(void* g_iface, void*)
#ifdef GLIBMM_VFUNCS_ENABLED
guint Component_Class::add_focus_handler_vfunc_callback(AtkComponent* self, AtkFocusHandler handler)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -118,40 +118,43 @@ guint Component_Class::add_focus_handler_vfunc_callback(AtkComponent* self, AtkF
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->add_focus_handler_vfunc(handler);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->add_focus_handler_vfunc(handler);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->add_focus_handler)
+ return (*base->add_focus_handler)(self, handler);
- // Call the original underlying C function:
- if(base && base->add_focus_handler)
- return (*base->add_focus_handler)(self, handler);
- }
typedef guint RType;
return RType();
}
gboolean Component_Class::contains_vfunc_callback(AtkComponent* self, gint x, gint y, AtkCoordType coord_type)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -159,43 +162,46 @@ gboolean Component_Class::contains_vfunc_callback(AtkComponent* self, gint x, gi
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->contains_vfunc(x
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->contains_vfunc(x
, y
, ((CoordType)(coord_type))
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->contains)
+ return (*base->contains)(self, x, y, coord_type);
- // Call the original underlying C function:
- if(base && base->contains)
- return (*base->contains)(self, x, y, coord_type);
- }
typedef gboolean RType;
return RType();
}
AtkObject* Component_Class::ref_accessible_at_point_vfunc_callback(AtkComponent* self, gint x, gint y, AtkCoordType coord_type)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -203,43 +209,46 @@ AtkObject* Component_Class::ref_accessible_at_point_vfunc_callback(AtkComponent*
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return Glib::unwrap_copy(obj->get_accessible_at_point_vfunc(x
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return Glib::unwrap_copy(obj->get_accessible_at_point_vfunc(x
, y
, ((CoordType)(coord_type))
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->ref_accessible_at_point)
+ return (*base->ref_accessible_at_point)(self, x, y, coord_type);
- // Call the original underlying C function:
- if(base && base->ref_accessible_at_point)
- return (*base->ref_accessible_at_point)(self, x, y, coord_type);
- }
typedef AtkObject* RType;
return RType();
}
void Component_Class::get_extents_vfunc_callback(AtkComponent* self, gint* x, gint* y, gint* width, gint* height, AtkCoordType coord_type)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -247,42 +256,46 @@ void Component_Class::get_extents_vfunc_callback(AtkComponent* self, gint* x, gi
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->get_extents_vfunc(*(x)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->get_extents_vfunc(*(x)
, *(y)
, *(width)
, *(height)
, ((CoordType)(coord_type))
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_extents)
+ (*base->get_extents)(self, x, y, width, height, coord_type);
- // Call the original underlying C function:
- if(base && base->get_extents)
- (*base->get_extents)(self, x, y, width, height, coord_type);
- }
}
void Component_Class::get_position_vfunc_callback(AtkComponent* self, gint* x, gint* y, AtkCoordType coord_type)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -290,40 +303,44 @@ void Component_Class::get_position_vfunc_callback(AtkComponent* self, gint* x, g
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->get_position_vfunc(*(x)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->get_position_vfunc(*(x)
, *(y)
, ((CoordType)(coord_type))
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_position)
+ (*base->get_position)(self, x, y, coord_type);
- // Call the original underlying C function:
- if(base && base->get_position)
- (*base->get_position)(self, x, y, coord_type);
- }
}
void Component_Class::get_size_vfunc_callback(AtkComponent* self, gint* width, gint* height)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -331,39 +348,43 @@ void Component_Class::get_size_vfunc_callback(AtkComponent* self, gint* width, g
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->get_size_vfunc(*(width)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->get_size_vfunc(*(width)
, *(height)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_size)
+ (*base->get_size)(self, width, height);
- // Call the original underlying C function:
- if(base && base->get_size)
- (*base->get_size)(self, width, height);
- }
}
AtkLayer Component_Class::get_layer_vfunc_callback(AtkComponent* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -371,40 +392,43 @@ AtkLayer Component_Class::get_layer_vfunc_callback(AtkComponent* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return ((AtkLayer)(obj->get_layer_vfunc()));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return ((AtkLayer)(obj->get_layer_vfunc()));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_layer)
+ return (*base->get_layer)(self);
- // Call the original underlying C function:
- if(base && base->get_layer)
- return (*base->get_layer)(self);
- }
typedef AtkLayer RType;
return RType();
}
gint Component_Class::get_mdi_zorder_vfunc_callback(AtkComponent* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -412,40 +436,43 @@ gint Component_Class::get_mdi_zorder_vfunc_callback(AtkComponent* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_mdi_zorder_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_mdi_zorder_vfunc();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_mdi_zorder)
+ return (*base->get_mdi_zorder)(self);
- // Call the original underlying C function:
- if(base && base->get_mdi_zorder)
- return (*base->get_mdi_zorder)(self);
- }
typedef gint RType;
return RType();
}
gboolean Component_Class::grab_focus_vfunc_callback(AtkComponent* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -453,40 +480,43 @@ gboolean Component_Class::grab_focus_vfunc_callback(AtkComponent* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->grab_focus_vfunc());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->grab_focus_vfunc());
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->grab_focus)
+ return (*base->grab_focus)(self);
- // Call the original underlying C function:
- if(base && base->grab_focus)
- return (*base->grab_focus)(self);
- }
typedef gboolean RType;
return RType();
}
void Component_Class::remove_focus_handler_vfunc_callback(AtkComponent* self, guint handler_id)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -494,37 +524,41 @@ void Component_Class::remove_focus_handler_vfunc_callback(AtkComponent* self, gu
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->remove_focus_handler_vfunc(handler_id);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->remove_focus_handler_vfunc(handler_id);
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->remove_focus_handler)
+ (*base->remove_focus_handler)(self, handler_id);
- // Call the original underlying C function:
- if(base && base->remove_focus_handler)
- (*base->remove_focus_handler)(self, handler_id);
- }
}
gboolean Component_Class::set_extents_vfunc_callback(AtkComponent* self, gint x, gint y, gint width, gint height, AtkCoordType coord_type)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -532,45 +566,48 @@ gboolean Component_Class::set_extents_vfunc_callback(AtkComponent* self, gint x,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->set_extents_vfunc(x
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->set_extents_vfunc(x
, y
, width
, height
, ((CoordType)(coord_type))
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->set_extents)
+ return (*base->set_extents)(self, x, y, width, height, coord_type);
- // Call the original underlying C function:
- if(base && base->set_extents)
- return (*base->set_extents)(self, x, y, width, height, coord_type);
- }
typedef gboolean RType;
return RType();
}
gboolean Component_Class::set_position_vfunc_callback(AtkComponent* self, gint x, gint y, AtkCoordType coord_type)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -578,43 +615,46 @@ gboolean Component_Class::set_position_vfunc_callback(AtkComponent* self, gint x
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->set_position_vfunc(x
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->set_position_vfunc(x
, y
, ((CoordType)(coord_type))
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->set_position)
+ return (*base->set_position)(self, x, y, coord_type);
- // Call the original underlying C function:
- if(base && base->set_position)
- return (*base->set_position)(self, x, y, coord_type);
- }
typedef gboolean RType;
return RType();
}
gboolean Component_Class::set_size_vfunc_callback(AtkComponent* self, gint width, gint height)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -622,35 +662,38 @@ gboolean Component_Class::set_size_vfunc_callback(AtkComponent* self, gint width
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->set_size_vfunc(width
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->set_size_vfunc(width
, height
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->set_size)
+ return (*base->set_size)(self, width, height);
- // Call the original underlying C function:
- if(base && base->set_size)
- return (*base->set_size)(self, width, height);
- }
typedef gboolean RType;
return RType();
diff --git a/libs/gtkmm2/atk/atkmm/component.h b/libs/gtkmm2/atk/atkmm/component.h
index ccde1fb22d..db2b7eda7a 100644
--- a/libs/gtkmm2/atk/atkmm/component.h
+++ b/libs/gtkmm2/atk/atkmm/component.h
@@ -151,8 +151,14 @@ private:
protected:
Component(); // you must derive from this class
+
+public:
+ // This is public so that C++ wrapper instances can be
+ // created for C instances of unwrapped types.
+ // For instance, if an unexpected C type implements the C interface.
explicit Component(AtkComponent* castitem);
+protected:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
@@ -363,10 +369,13 @@ protected:
namespace Glib
{
- /** @relates Atk::Component
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Atk::Component
*/
Glib::RefPtr<Atk::Component> wrap(AtkComponent* object, bool take_copy = false);
diff --git a/libs/gtkmm2/atk/atkmm/document.cc b/libs/gtkmm2/atk/atkmm/document.cc
index f27b4ff522..9d7be7e655 100644
--- a/libs/gtkmm2/atk/atkmm/document.cc
+++ b/libs/gtkmm2/atk/atkmm/document.cc
@@ -45,7 +45,7 @@ namespace Glib
Glib::RefPtr<Atk::Document> wrap(AtkDocument* object, bool take_copy)
{
- return Glib::RefPtr<Atk::Document>( dynamic_cast<Atk::Document*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ return Glib::RefPtr<Atk::Document>( dynamic_cast<Atk::Document*> (Glib::wrap_auto_interface<Atk::Document> ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance.
}
@@ -93,7 +93,7 @@ void Document_Class::iface_init_function(void* g_iface, void*)
#ifdef GLIBMM_VFUNCS_ENABLED
const gchar* Document_Class::get_document_type_vfunc_callback(AtkDocument* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -101,40 +101,43 @@ const gchar* Document_Class::get_document_type_vfunc_callback(AtkDocument* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_document_type_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_document_type_vfunc();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_document_type)
+ return (*base->get_document_type)(self);
- // Call the original underlying C function:
- if(base && base->get_document_type)
- return (*base->get_document_type)(self);
- }
typedef const gchar* RType;
return RType();
}
gpointer Document_Class::get_document_vfunc_callback(AtkDocument* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -142,33 +145,36 @@ gpointer Document_Class::get_document_vfunc_callback(AtkDocument* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_document_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_document_vfunc();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_document)
+ return (*base->get_document)(self);
- // Call the original underlying C function:
- if(base && base->get_document)
- return (*base->get_document)(self);
- }
typedef gpointer RType;
return RType();
diff --git a/libs/gtkmm2/atk/atkmm/document.h b/libs/gtkmm2/atk/atkmm/document.h
index 76c84a4007..3e2e29df00 100644
--- a/libs/gtkmm2/atk/atkmm/document.h
+++ b/libs/gtkmm2/atk/atkmm/document.h
@@ -73,8 +73,14 @@ private:
protected:
Document(); // you must derive from this class
+
+public:
+ // This is public so that C++ wrapper instances can be
+ // created for C instances of unwrapped types.
+ // For instance, if an unexpected C type implements the C interface.
explicit Document(AtkDocument* castitem);
+protected:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
@@ -144,10 +150,13 @@ protected:
namespace Glib
{
- /** @relates Atk::Document
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Atk::Document
*/
Glib::RefPtr<Atk::Document> wrap(AtkDocument* object, bool take_copy = false);
diff --git a/libs/gtkmm2/atk/atkmm/editabletext.cc b/libs/gtkmm2/atk/atkmm/editabletext.cc
index eb776c954c..bbae279171 100644
--- a/libs/gtkmm2/atk/atkmm/editabletext.cc
+++ b/libs/gtkmm2/atk/atkmm/editabletext.cc
@@ -38,7 +38,7 @@ namespace Glib
Glib::RefPtr<Atk::EditableText> wrap(AtkEditableText* object, bool take_copy)
{
- return Glib::RefPtr<Atk::EditableText>( dynamic_cast<Atk::EditableText*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ return Glib::RefPtr<Atk::EditableText>( dynamic_cast<Atk::EditableText*> (Glib::wrap_auto_interface<Atk::EditableText> ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance.
}
@@ -91,7 +91,7 @@ void EditableText_Class::iface_init_function(void* g_iface, void*)
#ifdef GLIBMM_VFUNCS_ENABLED
gboolean EditableText_Class::set_run_attributes_vfunc_callback(AtkEditableText* self, AtkAttributeSet* attrib_set, gint start_offset, gint end_offset)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -99,42 +99,45 @@ gboolean EditableText_Class::set_run_attributes_vfunc_callback(AtkEditableText*
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->set_run_attributes_vfunc(attrib_set, start_offset
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->set_run_attributes_vfunc(attrib_set, start_offset
, end_offset
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->set_run_attributes)
+ return (*base->set_run_attributes)(self, attrib_set, start_offset, end_offset);
- // Call the original underlying C function:
- if(base && base->set_run_attributes)
- return (*base->set_run_attributes)(self, attrib_set, start_offset, end_offset);
- }
typedef gboolean RType;
return RType();
}
void EditableText_Class::set_text_contents_vfunc_callback(AtkEditableText* self, const gchar* string)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -142,38 +145,42 @@ void EditableText_Class::set_text_contents_vfunc_callback(AtkEditableText* self,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->set_text_contents_vfunc(Glib::convert_const_gchar_ptr_to_ustring(string)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->set_text_contents_vfunc(Glib::convert_const_gchar_ptr_to_ustring(string)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->set_text_contents)
+ (*base->set_text_contents)(self, string);
- // Call the original underlying C function:
- if(base && base->set_text_contents)
- (*base->set_text_contents)(self, string);
- }
}
void EditableText_Class::insert_text_vfunc_callback(AtkEditableText* self, const gchar* string, gint length, gint* position)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -181,40 +188,44 @@ void EditableText_Class::insert_text_vfunc_callback(AtkEditableText* self, const
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->insert_text_vfunc(Glib::convert_const_gchar_ptr_to_ustring(string)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->insert_text_vfunc(Glib::convert_const_gchar_ptr_to_ustring(string)
, length
, *(position)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->insert_text)
+ (*base->insert_text)(self, string, length, position);
- // Call the original underlying C function:
- if(base && base->insert_text)
- (*base->insert_text)(self, string, length, position);
- }
}
void EditableText_Class::copy_text_vfunc_callback(AtkEditableText* self, gint start_pos, gint end_pos)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -222,39 +233,43 @@ void EditableText_Class::copy_text_vfunc_callback(AtkEditableText* self, gint st
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->copy_text_vfunc(start_pos
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->copy_text_vfunc(start_pos
, end_pos
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->copy_text)
+ (*base->copy_text)(self, start_pos, end_pos);
- // Call the original underlying C function:
- if(base && base->copy_text)
- (*base->copy_text)(self, start_pos, end_pos);
- }
}
void EditableText_Class::cut_text_vfunc_callback(AtkEditableText* self, gint start_pos, gint end_pos)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -262,39 +277,43 @@ void EditableText_Class::cut_text_vfunc_callback(AtkEditableText* self, gint sta
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->cut_text_vfunc(start_pos
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->cut_text_vfunc(start_pos
, end_pos
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->cut_text)
+ (*base->cut_text)(self, start_pos, end_pos);
- // Call the original underlying C function:
- if(base && base->cut_text)
- (*base->cut_text)(self, start_pos, end_pos);
- }
}
void EditableText_Class::delete_text_vfunc_callback(AtkEditableText* self, gint start_pos, gint end_pos)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -302,39 +321,43 @@ void EditableText_Class::delete_text_vfunc_callback(AtkEditableText* self, gint
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->delete_text_vfunc(start_pos
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->delete_text_vfunc(start_pos
, end_pos
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->delete_text)
+ (*base->delete_text)(self, start_pos, end_pos);
- // Call the original underlying C function:
- if(base && base->delete_text)
- (*base->delete_text)(self, start_pos, end_pos);
- }
}
void EditableText_Class::paste_text_vfunc_callback(AtkEditableText* self, gint position)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -342,34 +365,38 @@ void EditableText_Class::paste_text_vfunc_callback(AtkEditableText* self, gint p
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->paste_text_vfunc(position
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->paste_text_vfunc(position
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->paste_text)
+ (*base->paste_text)(self, position);
- // Call the original underlying C function:
- if(base && base->paste_text)
- (*base->paste_text)(self, position);
- }
}
#endif //GLIBMM_VFUNCS_ENABLED
diff --git a/libs/gtkmm2/atk/atkmm/editabletext.h b/libs/gtkmm2/atk/atkmm/editabletext.h
index 982673231c..d8869b0ec9 100644
--- a/libs/gtkmm2/atk/atkmm/editabletext.h
+++ b/libs/gtkmm2/atk/atkmm/editabletext.h
@@ -77,8 +77,14 @@ private:
protected:
EditableText(); // you must derive from this class
+
+public:
+ // This is public so that C++ wrapper instances can be
+ // created for C instances of unwrapped types.
+ // For instance, if an unexpected C type implements the C interface.
explicit EditableText(AtkEditableText* castitem);
+protected:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
@@ -207,10 +213,13 @@ protected:
namespace Glib
{
- /** @relates Atk::EditableText
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Atk::EditableText
*/
Glib::RefPtr<Atk::EditableText> wrap(AtkEditableText* object, bool take_copy = false);
diff --git a/libs/gtkmm2/atk/atkmm/hyperlink.cc b/libs/gtkmm2/atk/atkmm/hyperlink.cc
index 3bbf41c426..2adac64563 100644
--- a/libs/gtkmm2/atk/atkmm/hyperlink.cc
+++ b/libs/gtkmm2/atk/atkmm/hyperlink.cc
@@ -113,7 +113,7 @@ void Hyperlink_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_VFUNCS_ENABLED
gchar* Hyperlink_Class::get_uri_vfunc_callback(AtkHyperlink* self, gint i)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -121,40 +121,43 @@ gchar* Hyperlink_Class::get_uri_vfunc_callback(AtkHyperlink* self, gint i)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_uri_vfunc(i
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_uri_vfunc(i
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->get_uri)
+ return (*base->get_uri)(self, i);
- // Call the original underlying C function:
- if(base && base->get_uri)
- return (*base->get_uri)(self, i);
- }
typedef gchar* RType;
return RType();
}
AtkObject* Hyperlink_Class::get_object_vfunc_callback(AtkHyperlink* self, gint i)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -162,40 +165,43 @@ AtkObject* Hyperlink_Class::get_object_vfunc_callback(AtkHyperlink* self, gint i
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return Glib::unwrap(obj->get_object_vfunc(i
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return Glib::unwrap(obj->get_object_vfunc(i
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->get_object)
+ return (*base->get_object)(self, i);
- // Call the original underlying C function:
- if(base && base->get_object)
- return (*base->get_object)(self, i);
- }
typedef AtkObject* RType;
return RType();
}
gint Hyperlink_Class::get_end_index_vfunc_callback(AtkHyperlink* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -203,39 +209,42 @@ gint Hyperlink_Class::get_end_index_vfunc_callback(AtkHyperlink* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_end_index_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_end_index_vfunc();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->get_end_index)
+ return (*base->get_end_index)(self);
- // Call the original underlying C function:
- if(base && base->get_end_index)
- return (*base->get_end_index)(self);
- }
typedef gint RType;
return RType();
}
gint Hyperlink_Class::get_start_index_vfunc_callback(AtkHyperlink* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -243,39 +252,42 @@ gint Hyperlink_Class::get_start_index_vfunc_callback(AtkHyperlink* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_start_index_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_start_index_vfunc();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->get_start_index)
+ return (*base->get_start_index)(self);
- // Call the original underlying C function:
- if(base && base->get_start_index)
- return (*base->get_start_index)(self);
- }
typedef gint RType;
return RType();
}
gboolean Hyperlink_Class::is_valid_vfunc_callback(AtkHyperlink* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -283,39 +295,42 @@ gboolean Hyperlink_Class::is_valid_vfunc_callback(AtkHyperlink* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->is_valid_vfunc());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->is_valid_vfunc());
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->is_valid)
+ return (*base->is_valid)(self);
- // Call the original underlying C function:
- if(base && base->is_valid)
- return (*base->is_valid)(self);
- }
typedef gboolean RType;
return RType();
}
gint Hyperlink_Class::get_n_anchors_vfunc_callback(AtkHyperlink* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -323,39 +338,42 @@ gint Hyperlink_Class::get_n_anchors_vfunc_callback(AtkHyperlink* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_n_anchors_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_n_anchors_vfunc();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->get_n_anchors)
+ return (*base->get_n_anchors)(self);
- // Call the original underlying C function:
- if(base && base->get_n_anchors)
- return (*base->get_n_anchors)(self);
- }
typedef gint RType;
return RType();
}
guint Hyperlink_Class::link_state_vfunc_callback(AtkHyperlink* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -363,39 +381,42 @@ guint Hyperlink_Class::link_state_vfunc_callback(AtkHyperlink* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->link_state_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->link_state_vfunc();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->link_state)
+ return (*base->link_state)(self);
- // Call the original underlying C function:
- if(base && base->link_state)
- return (*base->link_state)(self);
- }
typedef guint RType;
return RType();
}
gboolean Hyperlink_Class::is_selected_link_vfunc_callback(AtkHyperlink* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -403,32 +424,35 @@ gboolean Hyperlink_Class::is_selected_link_vfunc_callback(AtkHyperlink* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->is_selected_link_vfunc());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->is_selected_link_vfunc());
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->is_selected_link)
+ return (*base->is_selected_link)(self);
- // Call the original underlying C function:
- if(base && base->is_selected_link)
- return (*base->is_selected_link)(self);
- }
typedef gboolean RType;
return RType();
@@ -438,7 +462,7 @@ gboolean Hyperlink_Class::is_selected_link_vfunc_callback(AtkHyperlink* self)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Hyperlink_Class::link_activated_callback(AtkHyperlink* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -446,32 +470,35 @@ void Hyperlink_Class::link_activated_callback(AtkHyperlink* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_link_activated();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_link_activated();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->link_activated)
- (*base->link_activated)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->link_activated)
+ (*base->link_activated)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/atk/atkmm/hyperlink.h b/libs/gtkmm2/atk/atkmm/hyperlink.h
index 5a529ec46b..685a140ff0 100644
--- a/libs/gtkmm2/atk/atkmm/hyperlink.h
+++ b/libs/gtkmm2/atk/atkmm/hyperlink.h
@@ -171,9 +171,9 @@ public:
bool is_selected_link() const;
-/**
+ /**
* @par Prototype:
- * <tt>void %link_activated()</tt>
+ * <tt>void on_my_%link_activated()</tt>
*/
Glib::SignalProxy0< void > signal_link_activated();
@@ -282,10 +282,13 @@ protected:
namespace Glib
{
- /** @relates Atk::Hyperlink
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Atk::Hyperlink
*/
Glib::RefPtr<Atk::Hyperlink> wrap(AtkHyperlink* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/atk/atkmm/hypertext.cc b/libs/gtkmm2/atk/atkmm/hypertext.cc
index c0e2781cd2..66ef0a85e0 100644
--- a/libs/gtkmm2/atk/atkmm/hypertext.cc
+++ b/libs/gtkmm2/atk/atkmm/hypertext.cc
@@ -80,7 +80,7 @@ namespace Glib
Glib::RefPtr<Atk::Hypertext> wrap(AtkHypertext* object, bool take_copy)
{
- return Glib::RefPtr<Atk::Hypertext>( dynamic_cast<Atk::Hypertext*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ return Glib::RefPtr<Atk::Hypertext>( dynamic_cast<Atk::Hypertext*> (Glib::wrap_auto_interface<Atk::Hypertext> ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance.
}
@@ -130,7 +130,7 @@ void Hypertext_Class::iface_init_function(void* g_iface, void*)
#ifdef GLIBMM_VFUNCS_ENABLED
AtkHyperlink* Hypertext_Class::get_link_vfunc_callback(AtkHypertext* self, gint link_index)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -138,41 +138,44 @@ AtkHyperlink* Hypertext_Class::get_link_vfunc_callback(AtkHypertext* self, gint
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return Glib::unwrap(obj->get_link_vfunc(link_index
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return Glib::unwrap(obj->get_link_vfunc(link_index
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_link)
+ return (*base->get_link)(self, link_index);
- // Call the original underlying C function:
- if(base && base->get_link)
- return (*base->get_link)(self, link_index);
- }
typedef AtkHyperlink* RType;
return RType();
}
gint Hypertext_Class::get_n_links_vfunc_callback(AtkHypertext* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -180,40 +183,43 @@ gint Hypertext_Class::get_n_links_vfunc_callback(AtkHypertext* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_n_links_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_n_links_vfunc();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_n_links)
+ return (*base->get_n_links)(self);
- // Call the original underlying C function:
- if(base && base->get_n_links)
- return (*base->get_n_links)(self);
- }
typedef gint RType;
return RType();
}
gint Hypertext_Class::get_link_index_vfunc_callback(AtkHypertext* self, gint char_index)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -221,34 +227,37 @@ gint Hypertext_Class::get_link_index_vfunc_callback(AtkHypertext* self, gint cha
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_link_index_vfunc(char_index
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_link_index_vfunc(char_index
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_link_index)
+ return (*base->get_link_index)(self, char_index);
- // Call the original underlying C function:
- if(base && base->get_link_index)
- return (*base->get_link_index)(self, char_index);
- }
typedef gint RType;
return RType();
@@ -258,7 +267,7 @@ g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Ge
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Hypertext_Class::link_selected_callback(AtkHypertext* self, gint p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -266,34 +275,37 @@ void Hypertext_Class::link_selected_callback(AtkHypertext* self, gint p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_link_selected(p0
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_link_selected(p0
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->link_selected)
- (*base->link_selected)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->link_selected)
+ (*base->link_selected)(self, p0);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/atk/atkmm/hypertext.h b/libs/gtkmm2/atk/atkmm/hypertext.h
index 406b138dfb..cb7310a9c8 100644
--- a/libs/gtkmm2/atk/atkmm/hypertext.h
+++ b/libs/gtkmm2/atk/atkmm/hypertext.h
@@ -73,8 +73,14 @@ private:
protected:
Hypertext(); // you must derive from this class
+
+public:
+ // This is public so that C++ wrapper instances can be
+ // created for C instances of unwrapped types.
+ // For instance, if an unexpected C type implements the C interface.
explicit Hypertext(AtkHypertext* castitem);
+protected:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
@@ -128,9 +134,9 @@ public:
int get_link_index(int char_index) const;
-/**
+ /**
* @par Prototype:
- * <tt>void %link_selected(int link_index)</tt>
+ * <tt>void on_my_%link_selected(int link_index)</tt>
*/
Glib::SignalProxy1< void,int > signal_link_selected();
@@ -174,10 +180,13 @@ protected:
namespace Glib
{
- /** @relates Atk::Hypertext
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Atk::Hypertext
*/
Glib::RefPtr<Atk::Hypertext> wrap(AtkHypertext* object, bool take_copy = false);
diff --git a/libs/gtkmm2/atk/atkmm/image.cc b/libs/gtkmm2/atk/atkmm/image.cc
index b557a6b929..a2a41d9269 100644
--- a/libs/gtkmm2/atk/atkmm/image.cc
+++ b/libs/gtkmm2/atk/atkmm/image.cc
@@ -38,7 +38,7 @@ namespace Glib
Glib::RefPtr<Atk::Image> wrap(AtkImage* object, bool take_copy)
{
- return Glib::RefPtr<Atk::Image>( dynamic_cast<Atk::Image*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ return Glib::RefPtr<Atk::Image>( dynamic_cast<Atk::Image*> (Glib::wrap_auto_interface<Atk::Image> ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance.
}
@@ -88,7 +88,7 @@ void Image_Class::iface_init_function(void* g_iface, void*)
#ifdef GLIBMM_VFUNCS_ENABLED
gboolean Image_Class::set_image_description_vfunc_callback(AtkImage* self, const gchar* description)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -96,41 +96,44 @@ gboolean Image_Class::set_image_description_vfunc_callback(AtkImage* self, const
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->set_image_description_vfunc(Glib::convert_const_gchar_ptr_to_ustring(description)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->set_image_description_vfunc(Glib::convert_const_gchar_ptr_to_ustring(description)
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->set_image_description)
+ return (*base->set_image_description)(self, description);
- // Call the original underlying C function:
- if(base && base->set_image_description)
- return (*base->set_image_description)(self, description);
- }
typedef gboolean RType;
return RType();
}
const gchar* Image_Class::get_image_description_vfunc_callback(AtkImage* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -138,40 +141,43 @@ const gchar* Image_Class::get_image_description_vfunc_callback(AtkImage* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_image_description_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_image_description_vfunc();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_image_description)
+ return (*base->get_image_description)(self);
- // Call the original underlying C function:
- if(base && base->get_image_description)
- return (*base->get_image_description)(self);
- }
typedef const gchar* RType;
return RType();
}
void Image_Class::get_image_position_vfunc_callback(AtkImage* self, gint* x, gint* y, AtkCoordType coord_type)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -179,40 +185,44 @@ void Image_Class::get_image_position_vfunc_callback(AtkImage* self, gint* x, gin
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->get_image_position_vfunc(*(x)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->get_image_position_vfunc(*(x)
, *(y)
, ((CoordType)(coord_type))
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_image_position)
+ (*base->get_image_position)(self, x, y, coord_type);
- // Call the original underlying C function:
- if(base && base->get_image_position)
- (*base->get_image_position)(self, x, y, coord_type);
- }
}
void Image_Class::get_image_size_vfunc_callback(AtkImage* self, gint* width, gint* height)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -220,35 +230,39 @@ void Image_Class::get_image_size_vfunc_callback(AtkImage* self, gint* width, gin
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->get_image_size_vfunc(*(width)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->get_image_size_vfunc(*(width)
, *(height)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_image_size)
+ (*base->get_image_size)(self, width, height);
- // Call the original underlying C function:
- if(base && base->get_image_size)
- (*base->get_image_size)(self, width, height);
- }
}
#endif //GLIBMM_VFUNCS_ENABLED
diff --git a/libs/gtkmm2/atk/atkmm/image.h b/libs/gtkmm2/atk/atkmm/image.h
index 9c36aa57ef..41775cd52b 100644
--- a/libs/gtkmm2/atk/atkmm/image.h
+++ b/libs/gtkmm2/atk/atkmm/image.h
@@ -79,8 +79,14 @@ private:
protected:
Image(); // you must derive from this class
+
+public:
+ // This is public so that C++ wrapper instances can be
+ // created for C instances of unwrapped types.
+ // For instance, if an unexpected C type implements the C interface.
explicit Image(AtkImage* castitem);
+protected:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
@@ -178,10 +184,13 @@ protected:
namespace Glib
{
- /** @relates Atk::Image
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Atk::Image
*/
Glib::RefPtr<Atk::Image> wrap(AtkImage* object, bool take_copy = false);
diff --git a/libs/gtkmm2/atk/atkmm/implementor.cc b/libs/gtkmm2/atk/atkmm/implementor.cc
index fc70956d86..91d9bb51b0 100644
--- a/libs/gtkmm2/atk/atkmm/implementor.cc
+++ b/libs/gtkmm2/atk/atkmm/implementor.cc
@@ -38,7 +38,7 @@ namespace Glib
Glib::RefPtr<Atk::Implementor> wrap(AtkImplementor* object, bool take_copy)
{
- return Glib::RefPtr<Atk::Implementor>( dynamic_cast<Atk::Implementor*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ return Glib::RefPtr<Atk::Implementor>( dynamic_cast<Atk::Implementor*> (Glib::wrap_auto_interface<Atk::Implementor> ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance.
}
@@ -85,7 +85,7 @@ void Implementor_Class::iface_init_function(void* g_iface, void*)
#ifdef GLIBMM_VFUNCS_ENABLED
AtkObject* Implementor_Class::ref_accessible_vfunc_callback(AtkImplementor* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -93,33 +93,36 @@ AtkObject* Implementor_Class::ref_accessible_vfunc_callback(AtkImplementor* self
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return Glib::unwrap(obj->ref_accessibile_vfunc());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return Glib::unwrap(obj->ref_accessibile_vfunc());
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->ref_accessible)
+ return (*base->ref_accessible)(self);
- // Call the original underlying C function:
- if(base && base->ref_accessible)
- return (*base->ref_accessible)(self);
- }
typedef AtkObject* RType;
return RType();
diff --git a/libs/gtkmm2/atk/atkmm/implementor.h b/libs/gtkmm2/atk/atkmm/implementor.h
index f25fe1a7db..e91fe99001 100644
--- a/libs/gtkmm2/atk/atkmm/implementor.h
+++ b/libs/gtkmm2/atk/atkmm/implementor.h
@@ -70,8 +70,14 @@ private:
protected:
Implementor(); // you must derive from this class
+
+public:
+ // This is public so that C++ wrapper instances can be
+ // created for C instances of unwrapped types.
+ // For instance, if an unexpected C type implements the C interface.
explicit Implementor(AtkImplementor* castitem);
+protected:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
@@ -123,10 +129,13 @@ protected:
namespace Glib
{
- /** @relates Atk::Implementor
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Atk::Implementor
*/
Glib::RefPtr<Atk::Implementor> wrap(AtkImplementor* object, bool take_copy = false);
diff --git a/libs/gtkmm2/atk/atkmm/noopobject.h b/libs/gtkmm2/atk/atkmm/noopobject.h
index 1421c0f084..04dd2946b1 100644
--- a/libs/gtkmm2/atk/atkmm/noopobject.h
+++ b/libs/gtkmm2/atk/atkmm/noopobject.h
@@ -137,10 +137,13 @@ protected:
namespace Glib
{
- /** @relates Atk::NoOpObject
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Atk::NoOpObject
*/
Glib::RefPtr<Atk::NoOpObject> wrap(AtkNoOpObject* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/atk/atkmm/object.cc b/libs/gtkmm2/atk/atkmm/object.cc
index b129a0af67..e9cb71ee24 100644
--- a/libs/gtkmm2/atk/atkmm/object.cc
+++ b/libs/gtkmm2/atk/atkmm/object.cc
@@ -314,7 +314,7 @@ void Object_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Object_Class::children_changed_callback(AtkObject* self, guint p0, gpointer p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -322,36 +322,39 @@ void Object_Class::children_changed_callback(AtkObject* self, guint p0, gpointer
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_children_changed(p0, p1);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_children_changed(p0, p1);
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->children_changed)
- (*base->children_changed)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->children_changed)
+ (*base->children_changed)(self, p0, p1);
}
void Object_Class::focus_event_callback(AtkObject* self, gboolean p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -359,37 +362,40 @@ void Object_Class::focus_event_callback(AtkObject* self, gboolean p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_focus_event(p0
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_focus_event(p0
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->focus_event)
- (*base->focus_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->focus_event)
+ (*base->focus_event)(self, p0);
}
void Object_Class::property_change_callback(AtkObject* self, AtkPropertyValues* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -397,36 +403,39 @@ void Object_Class::property_change_callback(AtkObject* self, AtkPropertyValues*
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_property_change(p0);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_property_change(p0);
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->property_change)
- (*base->property_change)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->property_change)
+ (*base->property_change)(self, p0);
}
void Object_Class::state_change_callback(AtkObject* self, const gchar* p0, gboolean p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -434,38 +443,41 @@ void Object_Class::state_change_callback(AtkObject* self, const gchar* p0, gbool
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_state_change(Glib::convert_const_gchar_ptr_to_ustring(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_state_change(Glib::convert_const_gchar_ptr_to_ustring(p0)
, p1
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->state_change)
- (*base->state_change)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->state_change)
+ (*base->state_change)(self, p0, p1);
}
void Object_Class::visible_data_changed_callback(AtkObject* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -473,36 +485,39 @@ void Object_Class::visible_data_changed_callback(AtkObject* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_visible_data_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_visible_data_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->visible_data_changed)
- (*base->visible_data_changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->visible_data_changed)
+ (*base->visible_data_changed)(self);
}
void Object_Class::active_descendant_changed_callback(AtkObject* self, gpointer* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -510,33 +525,36 @@ void Object_Class::active_descendant_changed_callback(AtkObject* self, gpointer*
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_active_descendant_changed(p0
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_active_descendant_changed(p0
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->active_descendant_changed)
- (*base->active_descendant_changed)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->active_descendant_changed)
+ (*base->active_descendant_changed)(self, p0);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/atk/atkmm/object.h b/libs/gtkmm2/atk/atkmm/object.h
index 5b2431b57a..d41905e904 100644
--- a/libs/gtkmm2/atk/atkmm/object.h
+++ b/libs/gtkmm2/atk/atkmm/object.h
@@ -321,49 +321,49 @@ public:
bool remove_relationship(RelationType relationship, const Glib::RefPtr<Object>& target);
-/**
+ /**
* @par Prototype:
- * <tt>void %children_changed(guint change_index, gpointer changed_child)</tt>
+ * <tt>void on_my_%children_changed(guint change_index, gpointer changed_child)</tt>
*/
Glib::SignalProxy2< void,guint,gpointer > signal_children_changed();
-/**
+ /**
* @par Prototype:
- * <tt>void %focus_event(bool focus_in)</tt>
+ * <tt>void on_my_%focus_event(bool focus_in)</tt>
*/
Glib::SignalProxy1< void,bool > signal_focus_event();
-/**
+ /**
* @par Prototype:
- * <tt>void %property_change(AtkPropertyValues* values)</tt>
+ * <tt>void on_my_%property_change(AtkPropertyValues* values)</tt>
*/
Glib::SignalProxy1< void,AtkPropertyValues* > signal_property_change();
-/**
+ /**
* @par Prototype:
- * <tt>void %state_change(const Glib::ustring& name, bool state_set)</tt>
+ * <tt>void on_my_%state_change(const Glib::ustring& name, bool state_set)</tt>
*/
Glib::SignalProxy2< void,const Glib::ustring&,bool > signal_state_change();
-/**
+ /**
* @par Prototype:
- * <tt>void %visible_data_changed()</tt>
+ * <tt>void on_my_%visible_data_changed()</tt>
*/
Glib::SignalProxy0< void > signal_visible_data_changed();
-/**
+ /**
* @par Prototype:
- * <tt>void %active_descendant_changed(void** child)</tt>
+ * <tt>void on_my_%active_descendant_changed(void** child)</tt>
*/
Glib::SignalProxy1< void,void** > signal_active_descendant_changed();
@@ -642,10 +642,13 @@ protected:
namespace Glib
{
- /** @relates Atk::Object
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Atk::Object
*/
Glib::RefPtr<Atk::Object> wrap(AtkObject* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/atk/atkmm/objectaccessible.h b/libs/gtkmm2/atk/atkmm/objectaccessible.h
index f3ed6f5b9c..a06eefed54 100644
--- a/libs/gtkmm2/atk/atkmm/objectaccessible.h
+++ b/libs/gtkmm2/atk/atkmm/objectaccessible.h
@@ -139,10 +139,13 @@ protected:
namespace Glib
{
- /** @relates Atk::ObjectAccessible
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Atk::ObjectAccessible
*/
Glib::RefPtr<Atk::ObjectAccessible> wrap(AtkGObjectAccessible* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/atk/atkmm/private/Makefile.am b/libs/gtkmm2/atk/atkmm/private/Makefile.am
new file mode 100644
index 0000000000..8b5e0b77ae
--- /dev/null
+++ b/libs/gtkmm2/atk/atkmm/private/Makefile.am
@@ -0,0 +1,14 @@
+## Copyright (c) 2001
+## The gtkmm development team.
+
+include $(srcdir)/../../src/Makefile_list_of_hg.am_fragment
+files_built_p_h = $(files_all_hg:.hg=_p.h)
+
+private_includedir = $(includedir)/atkmm-1.6/atkmm/private
+private_include_HEADERS = $(files_built_p_h)
+
+maintainer-clean-local:
+ (cd $(srcdir) && rm -f $(files_built_p_h))
+
+
+
diff --git a/libs/glibmm2/tools/pm/Makefile.in b/libs/gtkmm2/atk/atkmm/private/Makefile.in
index 040a1e7021..7da834c587 100644
--- a/libs/glibmm2/tools/pm/Makefile.in
+++ b/libs/gtkmm2/atk/atkmm/private/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 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.
@@ -14,15 +14,17 @@
@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
+# This file is include by other Makefile.am files, using the new automake include feature.
+# The include happens in Makefile.am, not Makefile.in or Makefile,
+# so it's like copy-and-pasting this into each of those Makefile.am files.
+
+# Built files
+
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -36,23 +38,21 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(tools_pm_include_HEADERS) \
- $(top_srcdir)/tools/pm/Makefile_list_of_sources.am_fragment
-subdir = tools/pm
+DIST_COMMON = $(private_include_HEADERS) \
+ $(srcdir)/../../src/Makefile_list_of_hg.am_fragment \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment
+subdir = atk/atkmm/private
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
$(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
@@ -62,18 +62,18 @@ am__vpath_adj = case $$p in \
*) f=$$p;; \
esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(tools_pm_includedir)"
-tools_pm_includeHEADERS_INSTALL = $(INSTALL_HEADER)
-HEADERS = $(tools_pm_include_HEADERS)
+am__installdirs = "$(DESTDIR)$(private_includedir)"
+private_includeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(private_include_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -89,37 +89,44 @@ CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
DEPDIR = @DEPDIR@
DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
@@ -127,43 +134,33 @@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@
MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
+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_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -175,38 +172,88 @@ 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@
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@
-files_tools_pm = DocsParser.pm GtkDefs.pm Enum.pm Function.pm FunctionBase.pm Object.pm Output.pm Property.pm Util.pm WrapParser.pm
-EXTRA_DIST = Makefile_list_of_sources.am_fragment $(files_tools_pm)
-
-# Install the .pm, files:
-tools_pm_includedir = $(libdir)/glibmm-2.4/proc/pm
-tools_pm_include_HEADERS = $(files_tools_pm)
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+files_posix_hg =
+files_win32_hg =
+files_general_hg = action.hg component.hg document.hg editabletext.hg hyperlink.hg hypertext.hg image.hg \
+ implementor.hg noopobject.hg object.hg objectaccessible.hg relation.hg relationset.hg selection.hg \
+ stateset.hg streamablecontent.hg table.hg text.hg value.hg
+
+files_general_deprecated_hg =
+files_all_hg = \
+ $(files_posix_hg) \
+ $(files_win32_hg) \
+ $(files_general_hg) \
+ $(files_general_deprecated_hg)
+
+@OS_WIN32_FALSE@files_hg = $(files_general_hg) $(files_posix_hg) $(files_general_deprecated_hg)
+@OS_WIN32_TRUE@files_hg = $(files_general_hg) $(files_win32_hg) $(files_general_deprecated_hg)
+files_built_cc = $(files_hg:.hg=.cc) wrap_init.cc
+files_built_h = $(files_hg:.hg=.h)
+files_all_built_cc = $(files_all_hg:.hg=.cc) wrap_init.cc
+files_all_built_h = $(files_all_hg:.hg=.h)
+
+# Extra files
+files_all_extra_cc = \
+ $(sublib_files_extra_posix_cc) \
+ $(sublib_files_extra_win32_cc) \
+ $(sublib_files_extra_general_cc) \
+ $(sublib_files_extra_general_deprecated_cc)
+
+files_all_extra_h = $(sublib_files_extra_posix_h) \
+ $(sublib_files_extra_win32_h) $(sublib_files_extra_general_h) \
+ $(sublib_files_extra_general_deprecated_h) wrap_init.h
+@OS_WIN32_FALSE@files_extra_cc = \
+@OS_WIN32_FALSE@ $(sublib_files_extra_posix_cc) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_TRUE@files_extra_cc = \
+@OS_WIN32_TRUE@ $(sublib_files_extra_win32_cc) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_FALSE@files_extra_h = $(sublib_files_extra_posix_h) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_h) wrap_init.h
+@OS_WIN32_TRUE@files_extra_h = $(sublib_files_extra_win32_h) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_h) wrap_init.h
+files_built_p_h = $(files_all_hg:.hg=_p.h)
+private_includedir = $(includedir)/atkmm-1.6/atkmm/private
+private_include_HEADERS = $(files_built_p_h)
all: all-am
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tools/pm/Makefile_list_of_sources.am_fragment $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../../src/Makefile_list_of_hg.am_fragment $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -215,9 +262,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/pm/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu atk/atkmm/private/Makefile'; \
cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu tools/pm/Makefile
+ $(AUTOMAKE) --gnu atk/atkmm/private/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -241,26 +288,22 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-tools_pm_includeHEADERS: $(tools_pm_include_HEADERS)
+install-private_includeHEADERS: $(private_include_HEADERS)
@$(NORMAL_INSTALL)
- test -z "$(tools_pm_includedir)" || $(mkdir_p) "$(DESTDIR)$(tools_pm_includedir)"
- @list='$(tools_pm_include_HEADERS)'; for p in $$list; do \
+ test -z "$(private_includedir)" || $(MKDIR_P) "$(DESTDIR)$(private_includedir)"
+ @list='$(private_include_HEADERS)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
- echo " $(tools_pm_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(tools_pm_includedir)/$$f'"; \
- $(tools_pm_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(tools_pm_includedir)/$$f"; \
+ echo " $(private_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(private_includedir)/$$f'"; \
+ $(private_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(private_includedir)/$$f"; \
done
-uninstall-tools_pm_includeHEADERS:
+uninstall-private_includeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(tools_pm_include_HEADERS)'; for p in $$list; do \
+ @list='$(private_include_HEADERS)'; for p in $$list; do \
f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(tools_pm_includedir)/$$f'"; \
- rm -f "$(DESTDIR)$(tools_pm_includedir)/$$f"; \
+ echo " rm -f '$(DESTDIR)$(private_includedir)/$$f'"; \
+ rm -f "$(DESTDIR)$(private_includedir)/$$f"; \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -312,23 +355,21 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/../../tools/pm
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @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; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -343,8 +384,8 @@ check-am: all-am
check: check-am
all-am: Makefile $(HEADERS)
installdirs:
- for dir in "$(DESTDIR)$(tools_pm_includedir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
+ for dir in "$(DESTDIR)$(private_includedir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
@@ -376,8 +417,7 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-am
@@ -389,19 +429,28 @@ info: info-am
info-am:
-install-data-am: install-tools_pm_includeHEADERS
+install-data-am: install-private_includeHEADERS
+
+install-dvi: install-dvi-am
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
+
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
+maintainer-clean-am: distclean-am maintainer-clean-generic \
+ maintainer-clean-local
mostlyclean: mostlyclean-am
@@ -415,20 +464,27 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am uninstall-tools_pm_includeHEADERS
+uninstall-am: uninstall-private_includeHEADERS
+
+.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-libtool ctags 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-exec install-exec-am install-info \
- install-info-am install-man install-strip \
- install-tools_pm_includeHEADERS installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
- ps ps-am tags uninstall uninstall-am uninstall-info-am \
- uninstall-tools_pm_includeHEADERS
-
+ 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-private_includeHEADERS 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 tags uninstall \
+ uninstall-am uninstall-private_includeHEADERS
+
+
+maintainer-clean-local:
+ (cd $(srcdir) && rm -f $(files_built_p_h))
# 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:
diff --git a/libs/gtkmm2/atk/atkmm/relation.h b/libs/gtkmm2/atk/atkmm/relation.h
index f0b1fe2f44..1646ce6c50 100644
--- a/libs/gtkmm2/atk/atkmm/relation.h
+++ b/libs/gtkmm2/atk/atkmm/relation.h
@@ -187,10 +187,13 @@ protected:
namespace Glib
{
- /** @relates Atk::Relation
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Atk::Relation
*/
Glib::RefPtr<Atk::Relation> wrap(AtkRelation* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/atk/atkmm/relationset.cc b/libs/gtkmm2/atk/atkmm/relationset.cc
index 3638f4ece1..4efd72ecb3 100644
--- a/libs/gtkmm2/atk/atkmm/relationset.cc
+++ b/libs/gtkmm2/atk/atkmm/relationset.cc
@@ -133,7 +133,8 @@ GType RelationSet::get_base_type()
RelationSet::RelationSet()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(relationset_class_.init()))
{
}
diff --git a/libs/gtkmm2/atk/atkmm/relationset.h b/libs/gtkmm2/atk/atkmm/relationset.h
index a2a52c2fac..2484fe54db 100644
--- a/libs/gtkmm2/atk/atkmm/relationset.h
+++ b/libs/gtkmm2/atk/atkmm/relationset.h
@@ -174,10 +174,13 @@ protected:
namespace Glib
{
- /** @relates Atk::RelationSet
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Atk::RelationSet
*/
Glib::RefPtr<Atk::RelationSet> wrap(AtkRelationSet* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/atk/atkmm/selection.cc b/libs/gtkmm2/atk/atkmm/selection.cc
index ed5fb629e7..c281c9582e 100644
--- a/libs/gtkmm2/atk/atkmm/selection.cc
+++ b/libs/gtkmm2/atk/atkmm/selection.cc
@@ -48,7 +48,7 @@ namespace Glib
Glib::RefPtr<Atk::Selection> wrap(AtkSelection* object, bool take_copy)
{
- return Glib::RefPtr<Atk::Selection>( dynamic_cast<Atk::Selection*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ return Glib::RefPtr<Atk::Selection>( dynamic_cast<Atk::Selection*> (Glib::wrap_auto_interface<Atk::Selection> ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance.
}
@@ -102,7 +102,7 @@ void Selection_Class::iface_init_function(void* g_iface, void*)
#ifdef GLIBMM_VFUNCS_ENABLED
gboolean Selection_Class::add_selection_vfunc_callback(AtkSelection* self, gint i)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -110,41 +110,44 @@ gboolean Selection_Class::add_selection_vfunc_callback(AtkSelection* self, gint
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->add_selection_vfunc(i
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->add_selection_vfunc(i
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->add_selection)
+ return (*base->add_selection)(self, i);
- // Call the original underlying C function:
- if(base && base->add_selection)
- return (*base->add_selection)(self, i);
- }
typedef gboolean RType;
return RType();
}
gboolean Selection_Class::clear_selection_vfunc_callback(AtkSelection* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -152,40 +155,43 @@ gboolean Selection_Class::clear_selection_vfunc_callback(AtkSelection* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->clear_selection_vfunc());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->clear_selection_vfunc());
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->clear_selection)
+ return (*base->clear_selection)(self);
- // Call the original underlying C function:
- if(base && base->clear_selection)
- return (*base->clear_selection)(self);
- }
typedef gboolean RType;
return RType();
}
AtkObject* Selection_Class::ref_selection_vfunc_callback(AtkSelection* self, gint i)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -193,41 +199,44 @@ AtkObject* Selection_Class::ref_selection_vfunc_callback(AtkSelection* self, gin
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return Glib::unwrap_copy(obj->get_selection_vfunc(i
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return Glib::unwrap_copy(obj->get_selection_vfunc(i
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->ref_selection)
+ return (*base->ref_selection)(self, i);
- // Call the original underlying C function:
- if(base && base->ref_selection)
- return (*base->ref_selection)(self, i);
- }
typedef AtkObject* RType;
return RType();
}
gint Selection_Class::get_selection_count_vfunc_callback(AtkSelection* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -235,40 +244,43 @@ gint Selection_Class::get_selection_count_vfunc_callback(AtkSelection* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_selection_count_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_selection_count_vfunc();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_selection_count)
+ return (*base->get_selection_count)(self);
- // Call the original underlying C function:
- if(base && base->get_selection_count)
- return (*base->get_selection_count)(self);
- }
typedef gint RType;
return RType();
}
gboolean Selection_Class::is_child_selected_vfunc_callback(AtkSelection* self, gint i)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -276,41 +288,44 @@ gboolean Selection_Class::is_child_selected_vfunc_callback(AtkSelection* self, g
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->is_child_selected_vfunc(i
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->is_child_selected_vfunc(i
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->is_child_selected)
+ return (*base->is_child_selected)(self, i);
- // Call the original underlying C function:
- if(base && base->is_child_selected)
- return (*base->is_child_selected)(self, i);
- }
typedef gboolean RType;
return RType();
}
gboolean Selection_Class::remove_selection_vfunc_callback(AtkSelection* self, gint i)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -318,41 +333,44 @@ gboolean Selection_Class::remove_selection_vfunc_callback(AtkSelection* self, gi
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->remove_selection_vfunc(i
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->remove_selection_vfunc(i
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->remove_selection)
+ return (*base->remove_selection)(self, i);
- // Call the original underlying C function:
- if(base && base->remove_selection)
- return (*base->remove_selection)(self, i);
- }
typedef gboolean RType;
return RType();
}
gboolean Selection_Class::select_all_selection_vfunc_callback(AtkSelection* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -360,33 +378,36 @@ gboolean Selection_Class::select_all_selection_vfunc_callback(AtkSelection* self
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->select_all_selection_vfunc());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->select_all_selection_vfunc());
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->select_all_selection)
+ return (*base->select_all_selection)(self);
- // Call the original underlying C function:
- if(base && base->select_all_selection)
- return (*base->select_all_selection)(self);
- }
typedef gboolean RType;
return RType();
@@ -396,7 +417,7 @@ g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Ge
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Selection_Class::selection_changed_callback(AtkSelection* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -404,33 +425,36 @@ void Selection_Class::selection_changed_callback(AtkSelection* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_selection_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_selection_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->selection_changed)
- (*base->selection_changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->selection_changed)
+ (*base->selection_changed)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/atk/atkmm/selection.h b/libs/gtkmm2/atk/atkmm/selection.h
index eaf17896a9..3d9a2e49a3 100644
--- a/libs/gtkmm2/atk/atkmm/selection.h
+++ b/libs/gtkmm2/atk/atkmm/selection.h
@@ -78,8 +78,14 @@ private:
protected:
Selection(); // you must derive from this class
+
+public:
+ // This is public so that C++ wrapper instances can be
+ // created for C instances of unwrapped types.
+ // For instance, if an unexpected C type implements the C interface.
explicit Selection(AtkSelection* castitem);
+protected:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
@@ -164,9 +170,9 @@ public:
bool select_all_selection();
-/**
+ /**
* @par Prototype:
- * <tt>void %selection_changed()</tt>
+ * <tt>void on_my_%selection_changed()</tt>
*/
Glib::SignalProxy0< void > signal_selection_changed();
@@ -227,10 +233,13 @@ protected:
namespace Glib
{
- /** @relates Atk::Selection
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Atk::Selection
*/
Glib::RefPtr<Atk::Selection> wrap(AtkSelection* object, bool take_copy = false);
diff --git a/libs/gtkmm2/atk/atkmm/stateset.cc b/libs/gtkmm2/atk/atkmm/stateset.cc
index bb8d7745fa..00ea350e85 100644
--- a/libs/gtkmm2/atk/atkmm/stateset.cc
+++ b/libs/gtkmm2/atk/atkmm/stateset.cc
@@ -157,7 +157,8 @@ GType StateSet::get_base_type()
StateSet::StateSet()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(stateset_class_.init()))
{
}
diff --git a/libs/gtkmm2/atk/atkmm/stateset.h b/libs/gtkmm2/atk/atkmm/stateset.h
index 559e702cc4..a3bb7c2482 100644
--- a/libs/gtkmm2/atk/atkmm/stateset.h
+++ b/libs/gtkmm2/atk/atkmm/stateset.h
@@ -242,10 +242,13 @@ protected:
namespace Glib
{
- /** @relates Atk::StateSet
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Atk::StateSet
*/
Glib::RefPtr<Atk::StateSet> wrap(AtkStateSet* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/atk/atkmm/streamablecontent.cc b/libs/gtkmm2/atk/atkmm/streamablecontent.cc
index 8c10a6b13d..46fd74ce5e 100644
--- a/libs/gtkmm2/atk/atkmm/streamablecontent.cc
+++ b/libs/gtkmm2/atk/atkmm/streamablecontent.cc
@@ -45,7 +45,7 @@ namespace Glib
Glib::RefPtr<Atk::StreamableContent> wrap(AtkStreamableContent* object, bool take_copy)
{
- return Glib::RefPtr<Atk::StreamableContent>( dynamic_cast<Atk::StreamableContent*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ return Glib::RefPtr<Atk::StreamableContent>( dynamic_cast<Atk::StreamableContent*> (Glib::wrap_auto_interface<Atk::StreamableContent> ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance.
}
@@ -94,7 +94,7 @@ void StreamableContent_Class::iface_init_function(void* g_iface, void*)
#ifdef GLIBMM_VFUNCS_ENABLED
int StreamableContent_Class::get_n_mime_types_vfunc_callback(AtkStreamableContent* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -102,40 +102,43 @@ int StreamableContent_Class::get_n_mime_types_vfunc_callback(AtkStreamableConten
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_n_mime_types_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_n_mime_types_vfunc();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_n_mime_types)
+ return (*base->get_n_mime_types)(self);
- // Call the original underlying C function:
- if(base && base->get_n_mime_types)
- return (*base->get_n_mime_types)(self);
- }
typedef int RType;
return RType();
}
const gchar* StreamableContent_Class::get_mime_type_vfunc_callback(AtkStreamableContent* self, gint i)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -143,41 +146,44 @@ const gchar* StreamableContent_Class::get_mime_type_vfunc_callback(AtkStreamable
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_mime_type_vfunc(i
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_mime_type_vfunc(i
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_mime_type)
+ return (*base->get_mime_type)(self, i);
- // Call the original underlying C function:
- if(base && base->get_mime_type)
- return (*base->get_mime_type)(self, i);
- }
typedef const gchar* RType;
return RType();
}
GIOChannel* StreamableContent_Class::get_stream_vfunc_callback(AtkStreamableContent* self, const gchar* mime_type)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -185,34 +191,37 @@ GIOChannel* StreamableContent_Class::get_stream_vfunc_callback(AtkStreamableCont
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_stream_vfunc(Glib::convert_const_gchar_ptr_to_ustring(mime_type)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_stream_vfunc(Glib::convert_const_gchar_ptr_to_ustring(mime_type)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_stream)
+ return (*base->get_stream)(self, mime_type);
- // Call the original underlying C function:
- if(base && base->get_stream)
- return (*base->get_stream)(self, mime_type);
- }
typedef GIOChannel* RType;
return RType();
diff --git a/libs/gtkmm2/atk/atkmm/streamablecontent.h b/libs/gtkmm2/atk/atkmm/streamablecontent.h
index fe93cf72cb..a292443519 100644
--- a/libs/gtkmm2/atk/atkmm/streamablecontent.h
+++ b/libs/gtkmm2/atk/atkmm/streamablecontent.h
@@ -72,8 +72,14 @@ private:
protected:
StreamableContent(); // you must derive from this class
+
+public:
+ // This is public so that C++ wrapper instances can be
+ // created for C instances of unwrapped types.
+ // For instance, if an unexpected C type implements the C interface.
explicit StreamableContent(AtkStreamableContent* castitem);
+protected:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
@@ -155,10 +161,13 @@ protected:
namespace Glib
{
- /** @relates Atk::StreamableContent
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Atk::StreamableContent
*/
Glib::RefPtr<Atk::StreamableContent> wrap(AtkStreamableContent* object, bool take_copy = false);
diff --git a/libs/gtkmm2/atk/atkmm/table.cc b/libs/gtkmm2/atk/atkmm/table.cc
index c03cca5ac3..c881a1f8f8 100644
--- a/libs/gtkmm2/atk/atkmm/table.cc
+++ b/libs/gtkmm2/atk/atkmm/table.cc
@@ -222,7 +222,7 @@ namespace Glib
Glib::RefPtr<Atk::Table> wrap(AtkTable* object, bool take_copy)
{
- return Glib::RefPtr<Atk::Table>( dynamic_cast<Atk::Table*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ return Glib::RefPtr<Atk::Table>( dynamic_cast<Atk::Table*> (Glib::wrap_auto_interface<Atk::Table> ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance.
}
@@ -304,7 +304,7 @@ void Table_Class::iface_init_function(void* g_iface, void*)
#ifdef GLIBMM_VFUNCS_ENABLED
AtkObject* Table_Class::ref_at_vfunc_callback(AtkTable* self, gint row, gint column)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -312,42 +312,45 @@ AtkObject* Table_Class::ref_at_vfunc_callback(AtkTable* self, gint row, gint col
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return Glib::unwrap_copy(obj->get_at_vfunc(row
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return Glib::unwrap_copy(obj->get_at_vfunc(row
, column
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->ref_at)
+ return (*base->ref_at)(self, row, column);
- // Call the original underlying C function:
- if(base && base->ref_at)
- return (*base->ref_at)(self, row, column);
- }
typedef AtkObject* RType;
return RType();
}
gint Table_Class::get_index_at_vfunc_callback(AtkTable* self, gint row, gint column)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -355,42 +358,45 @@ gint Table_Class::get_index_at_vfunc_callback(AtkTable* self, gint row, gint col
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_index_at_vfunc(row
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_index_at_vfunc(row
, column
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_index_at)
+ return (*base->get_index_at)(self, row, column);
- // Call the original underlying C function:
- if(base && base->get_index_at)
- return (*base->get_index_at)(self, row, column);
- }
typedef gint RType;
return RType();
}
gint Table_Class::get_column_at_index_vfunc_callback(AtkTable* self, gint index_)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -398,41 +404,44 @@ gint Table_Class::get_column_at_index_vfunc_callback(AtkTable* self, gint index_
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_column_at_index_vfunc(index_
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_column_at_index_vfunc(index_
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_column_at_index)
+ return (*base->get_column_at_index)(self, index_);
- // Call the original underlying C function:
- if(base && base->get_column_at_index)
- return (*base->get_column_at_index)(self, index_);
- }
typedef gint RType;
return RType();
}
gint Table_Class::get_row_at_index_vfunc_callback(AtkTable* self, gint index_)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -440,41 +449,44 @@ gint Table_Class::get_row_at_index_vfunc_callback(AtkTable* self, gint index_)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_row_at_index_vfunc(index_
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_row_at_index_vfunc(index_
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_row_at_index)
+ return (*base->get_row_at_index)(self, index_);
- // Call the original underlying C function:
- if(base && base->get_row_at_index)
- return (*base->get_row_at_index)(self, index_);
- }
typedef gint RType;
return RType();
}
gint Table_Class::get_n_columns_vfunc_callback(AtkTable* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -482,40 +494,43 @@ gint Table_Class::get_n_columns_vfunc_callback(AtkTable* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
- {
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_n_columns_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- }
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+ if(obj_base && obj_base->is_derived_())
+ {
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_n_columns_vfunc();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+ }
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_n_columns)
+ return (*base->get_n_columns)(self);
- // Call the original underlying C function:
- if(base && base->get_n_columns)
- return (*base->get_n_columns)(self);
- }
typedef gint RType;
return RType();
}
gint Table_Class::get_n_rows_vfunc_callback(AtkTable* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -523,40 +538,43 @@ gint Table_Class::get_n_rows_vfunc_callback(AtkTable* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
- {
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_n_rows_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- }
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+ if(obj_base && obj_base->is_derived_())
+ {
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_n_rows_vfunc();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+ }
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_n_rows)
+ return (*base->get_n_rows)(self);
- // Call the original underlying C function:
- if(base && base->get_n_rows)
- return (*base->get_n_rows)(self);
- }
typedef gint RType;
return RType();
}
gint Table_Class::get_column_extent_at_vfunc_callback(AtkTable* self, gint row, gint column)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -564,42 +582,45 @@ gint Table_Class::get_column_extent_at_vfunc_callback(AtkTable* self, gint row,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_column_extent_at_vfunc(row
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_column_extent_at_vfunc(row
, column
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_column_extent_at)
+ return (*base->get_column_extent_at)(self, row, column);
- // Call the original underlying C function:
- if(base && base->get_column_extent_at)
- return (*base->get_column_extent_at)(self, row, column);
- }
typedef gint RType;
return RType();
}
gint Table_Class::get_row_extent_at_vfunc_callback(AtkTable* self, gint row, gint column)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -607,42 +628,45 @@ gint Table_Class::get_row_extent_at_vfunc_callback(AtkTable* self, gint row, gin
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_row_extent_at_vfunc(row
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_row_extent_at_vfunc(row
, column
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_row_extent_at)
+ return (*base->get_row_extent_at)(self, row, column);
- // Call the original underlying C function:
- if(base && base->get_row_extent_at)
- return (*base->get_row_extent_at)(self, row, column);
- }
typedef gint RType;
return RType();
}
AtkObject* Table_Class::get_caption_vfunc_callback(AtkTable* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -650,40 +674,43 @@ AtkObject* Table_Class::get_caption_vfunc_callback(AtkTable* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
- {
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return Glib::unwrap(obj->get_caption_vfunc());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- }
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+ if(obj_base && obj_base->is_derived_())
+ {
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return Glib::unwrap(obj->get_caption_vfunc());
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+ }
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_caption)
+ return (*base->get_caption)(self);
- // Call the original underlying C function:
- if(base && base->get_caption)
- return (*base->get_caption)(self);
- }
typedef AtkObject* RType;
return RType();
}
const gchar* Table_Class::get_column_description_vfunc_callback(AtkTable* self, gint column)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -691,41 +718,44 @@ const gchar* Table_Class::get_column_description_vfunc_callback(AtkTable* self,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_column_description_vfunc(column
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_column_description_vfunc(column
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_column_description)
+ return (*base->get_column_description)(self, column);
- // Call the original underlying C function:
- if(base && base->get_column_description)
- return (*base->get_column_description)(self, column);
- }
typedef const gchar* RType;
return RType();
}
AtkObject* Table_Class::get_column_header_vfunc_callback(AtkTable* self, gint column)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -733,41 +763,44 @@ AtkObject* Table_Class::get_column_header_vfunc_callback(AtkTable* self, gint co
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return Glib::unwrap(obj->get_column_header_vfunc(column
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return Glib::unwrap(obj->get_column_header_vfunc(column
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_column_header)
+ return (*base->get_column_header)(self, column);
- // Call the original underlying C function:
- if(base && base->get_column_header)
- return (*base->get_column_header)(self, column);
- }
typedef AtkObject* RType;
return RType();
}
const gchar* Table_Class::get_row_description_vfunc_callback(AtkTable* self, gint row)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -775,41 +808,44 @@ const gchar* Table_Class::get_row_description_vfunc_callback(AtkTable* self, gin
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_row_description_vfunc(row
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_row_description_vfunc(row
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_row_description)
+ return (*base->get_row_description)(self, row);
- // Call the original underlying C function:
- if(base && base->get_row_description)
- return (*base->get_row_description)(self, row);
- }
typedef const gchar* RType;
return RType();
}
AtkObject* Table_Class::get_row_header_vfunc_callback(AtkTable* self, gint row)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -817,41 +853,44 @@ AtkObject* Table_Class::get_row_header_vfunc_callback(AtkTable* self, gint row)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return Glib::unwrap(obj->get_row_header_vfunc(row
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return Glib::unwrap(obj->get_row_header_vfunc(row
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_row_header)
+ return (*base->get_row_header)(self, row);
- // Call the original underlying C function:
- if(base && base->get_row_header)
- return (*base->get_row_header)(self, row);
- }
typedef AtkObject* RType;
return RType();
}
AtkObject* Table_Class::get_summary_vfunc_callback(AtkTable* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -859,40 +898,43 @@ AtkObject* Table_Class::get_summary_vfunc_callback(AtkTable* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
- {
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return Glib::unwrap(obj->get_summary_vfunc());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- }
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+ if(obj_base && obj_base->is_derived_())
+ {
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return Glib::unwrap(obj->get_summary_vfunc());
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+ }
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_summary)
+ return (*base->get_summary)(self);
- // Call the original underlying C function:
- if(base && base->get_summary)
- return (*base->get_summary)(self);
- }
typedef AtkObject* RType;
return RType();
}
void Table_Class::set_caption_vfunc_callback(AtkTable* self, AtkObject* caption)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -900,38 +942,42 @@ void Table_Class::set_caption_vfunc_callback(AtkTable* self, AtkObject* caption)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->set_caption_vfunc(Glib::wrap(caption, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->set_caption_vfunc(Glib::wrap(caption, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->set_caption)
+ (*base->set_caption)(self, caption);
- // Call the original underlying C function:
- if(base && base->set_caption)
- (*base->set_caption)(self, caption);
- }
}
void Table_Class::set_column_description_vfunc_callback(AtkTable* self, gint column, const gchar* description)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -939,39 +985,43 @@ void Table_Class::set_column_description_vfunc_callback(AtkTable* self, gint col
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->set_column_description_vfunc(column
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->set_column_description_vfunc(column
, description
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->set_column_description)
+ (*base->set_column_description)(self, column, description);
- // Call the original underlying C function:
- if(base && base->set_column_description)
- (*base->set_column_description)(self, column, description);
- }
}
void Table_Class::set_column_header_vfunc_callback(AtkTable* self, gint column, AtkObject* header)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -979,39 +1029,43 @@ void Table_Class::set_column_header_vfunc_callback(AtkTable* self, gint column,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->set_column_header_vfunc(column
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->set_column_header_vfunc(column
, Glib::wrap(header, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->set_column_header)
+ (*base->set_column_header)(self, column, header);
- // Call the original underlying C function:
- if(base && base->set_column_header)
- (*base->set_column_header)(self, column, header);
- }
}
void Table_Class::set_row_description_vfunc_callback(AtkTable* self, gint row, const gchar* description)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1019,39 +1073,43 @@ void Table_Class::set_row_description_vfunc_callback(AtkTable* self, gint row, c
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->set_row_description_vfunc(row
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->set_row_description_vfunc(row
, description
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->set_row_description)
+ (*base->set_row_description)(self, row, description);
- // Call the original underlying C function:
- if(base && base->set_row_description)
- (*base->set_row_description)(self, row, description);
- }
}
void Table_Class::set_row_header_vfunc_callback(AtkTable* self, gint row, AtkObject* header)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1059,39 +1117,43 @@ void Table_Class::set_row_header_vfunc_callback(AtkTable* self, gint row, AtkObj
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->set_row_header_vfunc(row
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->set_row_header_vfunc(row
, Glib::wrap(header, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->set_row_header)
+ (*base->set_row_header)(self, row, header);
- // Call the original underlying C function:
- if(base && base->set_row_header)
- (*base->set_row_header)(self, row, header);
- }
}
void Table_Class::set_summary_vfunc_callback(AtkTable* self, AtkObject* accessible)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1099,38 +1161,42 @@ void Table_Class::set_summary_vfunc_callback(AtkTable* self, AtkObject* accessib
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->set_summary_vfunc(Glib::wrap(accessible, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->set_summary_vfunc(Glib::wrap(accessible, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->set_summary)
+ (*base->set_summary)(self, accessible);
- // Call the original underlying C function:
- if(base && base->set_summary)
- (*base->set_summary)(self, accessible);
- }
}
gboolean Table_Class::is_column_selected_vfunc_callback(AtkTable* self, gint column)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1138,41 +1204,44 @@ gboolean Table_Class::is_column_selected_vfunc_callback(AtkTable* self, gint col
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->is_column_selected_vfunc(column
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->is_column_selected_vfunc(column
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->is_column_selected)
+ return (*base->is_column_selected)(self, column);
- // Call the original underlying C function:
- if(base && base->is_column_selected)
- return (*base->is_column_selected)(self, column);
- }
typedef gboolean RType;
return RType();
}
gboolean Table_Class::is_row_selected_vfunc_callback(AtkTable* self, gint row)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1180,41 +1249,44 @@ gboolean Table_Class::is_row_selected_vfunc_callback(AtkTable* self, gint row)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->is_row_selected_vfunc(row
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->is_row_selected_vfunc(row
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->is_row_selected)
+ return (*base->is_row_selected)(self, row);
- // Call the original underlying C function:
- if(base && base->is_row_selected)
- return (*base->is_row_selected)(self, row);
- }
typedef gboolean RType;
return RType();
}
gboolean Table_Class::is_selected_vfunc_callback(AtkTable* self, gint row, gint column)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1222,42 +1294,45 @@ gboolean Table_Class::is_selected_vfunc_callback(AtkTable* self, gint row, gint
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->is_selected_vfunc(row
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->is_selected_vfunc(row
, column
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->is_selected)
+ return (*base->is_selected)(self, row, column);
- // Call the original underlying C function:
- if(base && base->is_selected)
- return (*base->is_selected)(self, row, column);
- }
typedef gboolean RType;
return RType();
}
gboolean Table_Class::add_row_selection_vfunc_callback(AtkTable* self, gint row)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1265,41 +1340,44 @@ gboolean Table_Class::add_row_selection_vfunc_callback(AtkTable* self, gint row)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->add_row_selection_vfunc(row
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->add_row_selection_vfunc(row
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->add_row_selection)
+ return (*base->add_row_selection)(self, row);
- // Call the original underlying C function:
- if(base && base->add_row_selection)
- return (*base->add_row_selection)(self, row);
- }
typedef gboolean RType;
return RType();
}
gboolean Table_Class::remove_row_selection_vfunc_callback(AtkTable* self, gint row)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1307,41 +1385,44 @@ gboolean Table_Class::remove_row_selection_vfunc_callback(AtkTable* self, gint r
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->remove_row_selection_vfunc(row
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->remove_row_selection_vfunc(row
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->remove_row_selection)
+ return (*base->remove_row_selection)(self, row);
- // Call the original underlying C function:
- if(base && base->remove_row_selection)
- return (*base->remove_row_selection)(self, row);
- }
typedef gboolean RType;
return RType();
}
gboolean Table_Class::add_column_selection_vfunc_callback(AtkTable* self, gint column)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1349,41 +1430,44 @@ gboolean Table_Class::add_column_selection_vfunc_callback(AtkTable* self, gint c
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->add_column_selection_vfunc(column
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->add_column_selection_vfunc(column
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->add_column_selection)
+ return (*base->add_column_selection)(self, column);
- // Call the original underlying C function:
- if(base && base->add_column_selection)
- return (*base->add_column_selection)(self, column);
- }
typedef gboolean RType;
return RType();
}
gboolean Table_Class::remove_column_selection_vfunc_callback(AtkTable* self, gint column)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1391,41 +1475,44 @@ gboolean Table_Class::remove_column_selection_vfunc_callback(AtkTable* self, gin
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->remove_column_selection_vfunc(column
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->remove_column_selection_vfunc(column
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->remove_column_selection)
+ return (*base->remove_column_selection)(self, column);
- // Call the original underlying C function:
- if(base && base->remove_column_selection)
- return (*base->remove_column_selection)(self, column);
- }
typedef gboolean RType;
return RType();
}
gint Table_Class::get_selected_columns_vfunc_callback(AtkTable* self, gint** selected)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1433,41 +1520,44 @@ gint Table_Class::get_selected_columns_vfunc_callback(AtkTable* self, gint** sel
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_selected_columns_vfunc(selected
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_selected_columns_vfunc(selected
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_selected_columns)
+ return (*base->get_selected_columns)(self, selected);
- // Call the original underlying C function:
- if(base && base->get_selected_columns)
- return (*base->get_selected_columns)(self, selected);
- }
typedef gint RType;
return RType();
}
gint Table_Class::get_selected_rows_vfunc_callback(AtkTable* self, gint** selected)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1475,34 +1565,37 @@ gint Table_Class::get_selected_rows_vfunc_callback(AtkTable* self, gint** select
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_selected_rows_vfunc(selected
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_selected_rows_vfunc(selected
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_selected_rows)
+ return (*base->get_selected_rows)(self, selected);
- // Call the original underlying C function:
- if(base && base->get_selected_rows)
- return (*base->get_selected_rows)(self, selected);
- }
typedef gint RType;
return RType();
@@ -1512,7 +1605,7 @@ g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Ge
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Table_Class::row_inserted_callback(AtkTable* self, gint p0, gint p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1520,39 +1613,42 @@ void Table_Class::row_inserted_callback(AtkTable* self, gint p0, gint p1)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_row_inserted(p0
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_row_inserted(p0
, p1
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->row_inserted)
- (*base->row_inserted)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->row_inserted)
+ (*base->row_inserted)(self, p0, p1);
}
void Table_Class::column_inserted_callback(AtkTable* self, gint p0, gint p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1560,39 +1656,42 @@ void Table_Class::column_inserted_callback(AtkTable* self, gint p0, gint p1)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_column_inserted(p0
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_column_inserted(p0
, p1
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->column_inserted)
- (*base->column_inserted)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->column_inserted)
+ (*base->column_inserted)(self, p0, p1);
}
void Table_Class::row_deleted_callback(AtkTable* self, gint p0, gint p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1600,39 +1699,42 @@ void Table_Class::row_deleted_callback(AtkTable* self, gint p0, gint p1)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_row_deleted(p0
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_row_deleted(p0
, p1
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->row_deleted)
- (*base->row_deleted)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->row_deleted)
+ (*base->row_deleted)(self, p0, p1);
}
void Table_Class::column_deleted_callback(AtkTable* self, gint p0, gint p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1640,39 +1742,42 @@ void Table_Class::column_deleted_callback(AtkTable* self, gint p0, gint p1)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_column_deleted(p0
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_column_deleted(p0
, p1
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->column_deleted)
- (*base->column_deleted)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->column_deleted)
+ (*base->column_deleted)(self, p0, p1);
}
void Table_Class::row_reordered_callback(AtkTable* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1680,37 +1785,40 @@ void Table_Class::row_reordered_callback(AtkTable* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
- {
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_row_reordered();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- }
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+ if(obj_base && obj_base->is_derived_())
+ {
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_row_reordered();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+ }
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->row_reordered)
- (*base->row_reordered)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->row_reordered)
+ (*base->row_reordered)(self);
}
void Table_Class::column_reordered_callback(AtkTable* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1718,37 +1826,40 @@ void Table_Class::column_reordered_callback(AtkTable* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
- {
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_column_reordered();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- }
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+ if(obj_base && obj_base->is_derived_())
+ {
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_column_reordered();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+ }
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->column_reordered)
- (*base->column_reordered)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->column_reordered)
+ (*base->column_reordered)(self);
}
void Table_Class::model_changed_callback(AtkTable* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1756,33 +1867,36 @@ void Table_Class::model_changed_callback(AtkTable* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
- {
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_model_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- }
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+ if(obj_base && obj_base->is_derived_())
+ {
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_model_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+ }
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->model_changed)
- (*base->model_changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->model_changed)
+ (*base->model_changed)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/atk/atkmm/table.h b/libs/gtkmm2/atk/atkmm/table.h
index c5b351f06a..da08740e91 100644
--- a/libs/gtkmm2/atk/atkmm/table.h
+++ b/libs/gtkmm2/atk/atkmm/table.h
@@ -83,8 +83,14 @@ private:
protected:
Table(); // you must derive from this class
+
+public:
+ // This is public so that C++ wrapper instances can be
+ // created for C instances of unwrapped types.
+ // For instance, if an unexpected C type implements the C interface.
explicit Table(AtkTable* castitem);
+protected:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
@@ -337,63 +343,65 @@ public:
bool remove_column_selection(int column);
-/**
+ /**
* @par Prototype:
- * <tt>void %row_inserted(int row, int num_inserted)</tt>
+ * <tt>void on_my_%row_inserted(int row, int num_inserted)</tt>
*/
Glib::SignalProxy2< void,int,int > signal_row_inserted();
-/**
+ /**
* @par Prototype:
- * <tt>void %column_inserted(int column, int num_inserted)</tt>
+ * <tt>void on_my_%column_inserted(int column, int num_inserted)</tt>
*/
Glib::SignalProxy2< void,int,int > signal_column_inserted();
-/**
+ /**
* @par Prototype:
- * <tt>void %row_deleted(int row, int num_deleted)</tt>
+ * <tt>void on_my_%row_deleted(int row, int num_deleted)</tt>
*/
Glib::SignalProxy2< void,int,int > signal_row_deleted();
-/**
+ /**
* @par Prototype:
- * <tt>void %column_deleted(int column, int num_deleted)</tt>
+ * <tt>void on_my_%column_deleted(int column, int num_deleted)</tt>
*/
Glib::SignalProxy2< void,int,int > signal_column_deleted();
-/**
+ /**
* @par Prototype:
- * <tt>void %row_reordered()</tt>
+ * <tt>void on_my_%row_reordered()</tt>
*/
Glib::SignalProxy0< void > signal_row_reordered();
-/**
+ /**
* @par Prototype:
- * <tt>void %column_reordered()</tt>
+ * <tt>void on_my_%column_reordered()</tt>
*/
Glib::SignalProxy0< void > signal_column_reordered();
-/**
+ /**
* @par Prototype:
- * <tt>void %model_changed()</tt>
+ * <tt>void on_my_%model_changed()</tt>
*/
Glib::SignalProxy0< void > signal_model_changed();
protected:
+
+
#ifdef GLIBMM_VFUNCS_ENABLED
virtual Glib::RefPtr<Atk::Object> get_at_vfunc(int row, int column);
#endif //GLIBMM_VFUNCS_ENABLED
@@ -542,10 +550,13 @@ protected:
namespace Glib
{
- /** @relates Atk::Table
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Atk::Table
*/
Glib::RefPtr<Atk::Table> wrap(AtkTable* object, bool take_copy = false);
diff --git a/libs/gtkmm2/atk/atkmm/text.cc b/libs/gtkmm2/atk/atkmm/text.cc
index 1212ce18ff..a566275f6b 100644
--- a/libs/gtkmm2/atk/atkmm/text.cc
+++ b/libs/gtkmm2/atk/atkmm/text.cc
@@ -248,7 +248,7 @@ namespace Glib
Glib::RefPtr<Atk::Text> wrap(AtkText* object, bool take_copy)
{
- return Glib::RefPtr<Atk::Text>( dynamic_cast<Atk::Text*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ return Glib::RefPtr<Atk::Text>( dynamic_cast<Atk::Text*> (Glib::wrap_auto_interface<Atk::Text> ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance.
}
@@ -315,7 +315,7 @@ void Text_Class::iface_init_function(void* g_iface, void*)
#ifdef GLIBMM_VFUNCS_ENABLED
gchar* Text_Class::get_text_vfunc_callback(AtkText* self, gint start_offset, gint end_offset)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -323,42 +323,45 @@ gchar* Text_Class::get_text_vfunc_callback(AtkText* self, gint start_offset, gin
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return g_strdup((obj->get_text_vfunc(start_offset
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return g_strdup((obj->get_text_vfunc(start_offset
, end_offset
)).c_str());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_text)
+ return (*base->get_text)(self, start_offset, end_offset);
- // Call the original underlying C function:
- if(base && base->get_text)
- return (*base->get_text)(self, start_offset, end_offset);
- }
typedef gchar* RType;
return RType();
}
gunichar Text_Class::get_character_at_offset_vfunc_callback(AtkText* self, gint offset)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -366,41 +369,44 @@ gunichar Text_Class::get_character_at_offset_vfunc_callback(AtkText* self, gint
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_character_at_offset_vfunc(offset
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_character_at_offset_vfunc(offset
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_character_at_offset)
+ return (*base->get_character_at_offset)(self, offset);
- // Call the original underlying C function:
- if(base && base->get_character_at_offset)
- return (*base->get_character_at_offset)(self, offset);
- }
typedef gunichar RType;
return RType();
}
gchar* Text_Class::get_text_after_offset_vfunc_callback(AtkText* self, gint offset, AtkTextBoundary boundary_type, gint* start_offset, gint* end_offset)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -408,44 +414,47 @@ gchar* Text_Class::get_text_after_offset_vfunc_callback(AtkText* self, gint offs
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return g_strdup((obj->get_text_after_offset_vfunc(offset
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return g_strdup((obj->get_text_after_offset_vfunc(offset
, ((TextBoundary)(boundary_type))
, *(start_offset)
, *(end_offset)
)).c_str());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_text_after_offset)
+ return (*base->get_text_after_offset)(self, offset, boundary_type, start_offset, end_offset);
- // Call the original underlying C function:
- if(base && base->get_text_after_offset)
- return (*base->get_text_after_offset)(self, offset, boundary_type, start_offset, end_offset);
- }
typedef gchar* RType;
return RType();
}
gchar* Text_Class::get_text_at_offset_vfunc_callback(AtkText* self, gint offset, AtkTextBoundary boundary_type, gint* start_offset, gint* end_offset)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -453,44 +462,47 @@ gchar* Text_Class::get_text_at_offset_vfunc_callback(AtkText* self, gint offset,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return g_strdup((obj->get_text_at_offset_vfunc(offset
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return g_strdup((obj->get_text_at_offset_vfunc(offset
, ((TextBoundary)(boundary_type))
, *(start_offset)
, *(end_offset)
)).c_str());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_text_at_offset)
+ return (*base->get_text_at_offset)(self, offset, boundary_type, start_offset, end_offset);
- // Call the original underlying C function:
- if(base && base->get_text_at_offset)
- return (*base->get_text_at_offset)(self, offset, boundary_type, start_offset, end_offset);
- }
typedef gchar* RType;
return RType();
}
gchar* Text_Class::get_text_before_offset_vfunc_callback(AtkText* self, gint offset, AtkTextBoundary boundary_type, gint* start_offset, gint* end_offset)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -498,44 +510,47 @@ gchar* Text_Class::get_text_before_offset_vfunc_callback(AtkText* self, gint off
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return g_strdup((obj->get_text_before_offset_vfunc(offset
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return g_strdup((obj->get_text_before_offset_vfunc(offset
, ((TextBoundary)(boundary_type))
, *(start_offset)
, *(end_offset)
)).c_str());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_text_before_offset)
+ return (*base->get_text_before_offset)(self, offset, boundary_type, start_offset, end_offset);
- // Call the original underlying C function:
- if(base && base->get_text_before_offset)
- return (*base->get_text_before_offset)(self, offset, boundary_type, start_offset, end_offset);
- }
typedef gchar* RType;
return RType();
}
gint Text_Class::get_caret_offset_vfunc_callback(AtkText* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -543,40 +558,43 @@ gint Text_Class::get_caret_offset_vfunc_callback(AtkText* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_caret_offset_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_caret_offset_vfunc();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_caret_offset)
+ return (*base->get_caret_offset)(self);
- // Call the original underlying C function:
- if(base && base->get_caret_offset)
- return (*base->get_caret_offset)(self);
- }
typedef gint RType;
return RType();
}
void Text_Class::get_character_extents_vfunc_callback(AtkText* self, gint offset, gint* x, gint* y, gint* width, gint* height, AtkCoordType coords)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -584,43 +602,47 @@ void Text_Class::get_character_extents_vfunc_callback(AtkText* self, gint offset
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->get_character_extents_vfunc(offset
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->get_character_extents_vfunc(offset
, *(x)
, *(y)
, *(width)
, *(height)
, ((CoordType)(coords))
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_character_extents)
+ (*base->get_character_extents)(self, offset, x, y, width, height, coords);
- // Call the original underlying C function:
- if(base && base->get_character_extents)
- (*base->get_character_extents)(self, offset, x, y, width, height, coords);
- }
}
AtkAttributeSet* Text_Class::get_run_attributes_vfunc_callback(AtkText* self, gint offset, gint* start_offset, gint* end_offset)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -628,43 +650,46 @@ AtkAttributeSet* Text_Class::get_run_attributes_vfunc_callback(AtkText* self, gi
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_run_attributes_vfunc(offset
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_run_attributes_vfunc(offset
, *(start_offset)
, *(end_offset)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_run_attributes)
+ return (*base->get_run_attributes)(self, offset, start_offset, end_offset);
- // Call the original underlying C function:
- if(base && base->get_run_attributes)
- return (*base->get_run_attributes)(self, offset, start_offset, end_offset);
- }
typedef AtkAttributeSet* RType;
return RType();
}
AtkAttributeSet* Text_Class::get_default_attributes_vfunc_callback(AtkText* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -672,40 +697,43 @@ AtkAttributeSet* Text_Class::get_default_attributes_vfunc_callback(AtkText* self
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_default_attributes_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_default_attributes_vfunc();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_default_attributes)
+ return (*base->get_default_attributes)(self);
- // Call the original underlying C function:
- if(base && base->get_default_attributes)
- return (*base->get_default_attributes)(self);
- }
typedef AtkAttributeSet* RType;
return RType();
}
gint Text_Class::get_character_count_vfunc_callback(AtkText* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -713,40 +741,43 @@ gint Text_Class::get_character_count_vfunc_callback(AtkText* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_character_count_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_character_count_vfunc();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_character_count)
+ return (*base->get_character_count)(self);
- // Call the original underlying C function:
- if(base && base->get_character_count)
- return (*base->get_character_count)(self);
- }
typedef gint RType;
return RType();
}
gint Text_Class::get_offset_at_point_vfunc_callback(AtkText* self, gint x, gint y, AtkCoordType coords)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -754,43 +785,46 @@ gint Text_Class::get_offset_at_point_vfunc_callback(AtkText* self, gint x, gint
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_offset_at_point_vfunc(x
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_offset_at_point_vfunc(x
, y
, ((CoordType)(coords))
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_offset_at_point)
+ return (*base->get_offset_at_point)(self, x, y, coords);
- // Call the original underlying C function:
- if(base && base->get_offset_at_point)
- return (*base->get_offset_at_point)(self, x, y, coords);
- }
typedef gint RType;
return RType();
}
gint Text_Class::get_n_selections_vfunc_callback(AtkText* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -798,40 +832,43 @@ gint Text_Class::get_n_selections_vfunc_callback(AtkText* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_n_selections_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_n_selections_vfunc();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_n_selections)
+ return (*base->get_n_selections)(self);
- // Call the original underlying C function:
- if(base && base->get_n_selections)
- return (*base->get_n_selections)(self);
- }
typedef gint RType;
return RType();
}
gchar* Text_Class::get_selection_vfunc_callback(AtkText* self, gint selection_num, gint* start_offset, gint* end_offset)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -839,43 +876,46 @@ gchar* Text_Class::get_selection_vfunc_callback(AtkText* self, gint selection_nu
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return g_strdup((obj->get_selection_vfunc(selection_num
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return g_strdup((obj->get_selection_vfunc(selection_num
, *(start_offset)
, *(end_offset)
)).c_str());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_selection)
+ return (*base->get_selection)(self, selection_num, start_offset, end_offset);
- // Call the original underlying C function:
- if(base && base->get_selection)
- return (*base->get_selection)(self, selection_num, start_offset, end_offset);
- }
typedef gchar* RType;
return RType();
}
gboolean Text_Class::add_selection_vfunc_callback(AtkText* self, gint start_offset, gint end_offset)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -883,42 +923,45 @@ gboolean Text_Class::add_selection_vfunc_callback(AtkText* self, gint start_offs
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->add_selection_vfunc(start_offset
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->add_selection_vfunc(start_offset
, end_offset
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->add_selection)
+ return (*base->add_selection)(self, start_offset, end_offset);
- // Call the original underlying C function:
- if(base && base->add_selection)
- return (*base->add_selection)(self, start_offset, end_offset);
- }
typedef gboolean RType;
return RType();
}
gboolean Text_Class::remove_selection_vfunc_callback(AtkText* self, gint selection_num)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -926,41 +969,44 @@ gboolean Text_Class::remove_selection_vfunc_callback(AtkText* self, gint selecti
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->remove_selection_vfunc(selection_num
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->remove_selection_vfunc(selection_num
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->remove_selection)
+ return (*base->remove_selection)(self, selection_num);
- // Call the original underlying C function:
- if(base && base->remove_selection)
- return (*base->remove_selection)(self, selection_num);
- }
typedef gboolean RType;
return RType();
}
gboolean Text_Class::set_selection_vfunc_callback(AtkText* self, gint selection_num, gint start_offset, gint end_offset)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -968,43 +1014,46 @@ gboolean Text_Class::set_selection_vfunc_callback(AtkText* self, gint selection_
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->set_selection_vfunc(selection_num
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->set_selection_vfunc(selection_num
, start_offset
, end_offset
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->set_selection)
+ return (*base->set_selection)(self, selection_num, start_offset, end_offset);
- // Call the original underlying C function:
- if(base && base->set_selection)
- return (*base->set_selection)(self, selection_num, start_offset, end_offset);
- }
typedef gboolean RType;
return RType();
}
gboolean Text_Class::set_caret_offset_vfunc_callback(AtkText* self, gint offset)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1012,34 +1061,37 @@ gboolean Text_Class::set_caret_offset_vfunc_callback(AtkText* self, gint offset)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->set_caret_offset_vfunc(offset
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->set_caret_offset_vfunc(offset
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->set_caret_offset)
+ return (*base->set_caret_offset)(self, offset);
- // Call the original underlying C function:
- if(base && base->set_caret_offset)
- return (*base->set_caret_offset)(self, offset);
- }
typedef gboolean RType;
return RType();
@@ -1049,7 +1101,7 @@ g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Ge
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Text_Class::text_changed_callback(AtkText* self, gint p0, gint p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1057,39 +1109,42 @@ void Text_Class::text_changed_callback(AtkText* self, gint p0, gint p1)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_text_changed(p0
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_text_changed(p0
, p1
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->text_changed)
- (*base->text_changed)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->text_changed)
+ (*base->text_changed)(self, p0, p1);
}
void Text_Class::text_caret_moved_callback(AtkText* self, gint p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1097,38 +1152,41 @@ void Text_Class::text_caret_moved_callback(AtkText* self, gint p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_text_caret_moved(p0
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_text_caret_moved(p0
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->text_caret_moved)
- (*base->text_caret_moved)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->text_caret_moved)
+ (*base->text_caret_moved)(self, p0);
}
void Text_Class::text_selection_changed_callback(AtkText* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1136,37 +1194,40 @@ void Text_Class::text_selection_changed_callback(AtkText* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_text_selection_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_text_selection_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->text_selection_changed)
- (*base->text_selection_changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->text_selection_changed)
+ (*base->text_selection_changed)(self);
}
void Text_Class::text_attributes_changed_callback(AtkText* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1174,33 +1235,36 @@ void Text_Class::text_attributes_changed_callback(AtkText* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_text_attributes_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_text_attributes_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->text_attributes_changed)
- (*base->text_attributes_changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->text_attributes_changed)
+ (*base->text_attributes_changed)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/atk/atkmm/text.h b/libs/gtkmm2/atk/atkmm/text.h
index 01d10f4658..a7ac7cb39c 100644
--- a/libs/gtkmm2/atk/atkmm/text.h
+++ b/libs/gtkmm2/atk/atkmm/text.h
@@ -297,8 +297,14 @@ private:
protected:
Text(); // you must derive from this class
+
+public:
+ // This is public so that C++ wrapper instances can be
+ // created for C instances of unwrapped types.
+ // For instance, if an unexpected C type implements the C interface.
explicit Text(AtkText* castitem);
+protected:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
@@ -622,33 +628,33 @@ public:
TextClipType x_clip_type, TextClipType y_clip_type);
-/**
+ /**
* @par Prototype:
- * <tt>void %text_changed(int position, int length)</tt>
+ * <tt>void on_my_%text_changed(int position, int length)</tt>
*/
Glib::SignalProxy2< void,int,int > signal_text_changed();
-/**
+ /**
* @par Prototype:
- * <tt>void %text_caret_moved(int location)</tt>
+ * <tt>void on_my_%text_caret_moved(int location)</tt>
*/
Glib::SignalProxy1< void,int > signal_text_caret_moved();
-/**
+ /**
* @par Prototype:
- * <tt>void %text_selection_changed()</tt>
+ * <tt>void on_my_%text_selection_changed()</tt>
*/
Glib::SignalProxy0< void > signal_text_selection_changed();
-/**
+ /**
* @par Prototype:
- * <tt>void %text_attributes_changed()</tt>
+ * <tt>void on_my_%text_attributes_changed()</tt>
*/
Glib::SignalProxy0< void > signal_text_attributes_changed();
@@ -757,10 +763,13 @@ protected:
namespace Glib
{
- /** @relates Atk::Text
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Atk::Text
*/
Glib::RefPtr<Atk::Text> wrap(AtkText* object, bool take_copy = false);
diff --git a/libs/gtkmm2/atk/atkmm/value.cc b/libs/gtkmm2/atk/atkmm/value.cc
index 3a92b2df12..e94c2a8cb0 100644
--- a/libs/gtkmm2/atk/atkmm/value.cc
+++ b/libs/gtkmm2/atk/atkmm/value.cc
@@ -37,7 +37,7 @@ namespace Glib
Glib::RefPtr<Atk::Value> wrap(AtkValue* object, bool take_copy)
{
- return Glib::RefPtr<Atk::Value>( dynamic_cast<Atk::Value*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ return Glib::RefPtr<Atk::Value>( dynamic_cast<Atk::Value*> (Glib::wrap_auto_interface<Atk::Value> ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance.
}
@@ -87,7 +87,7 @@ void Value_Class::iface_init_function(void* g_iface, void*)
#ifdef GLIBMM_VFUNCS_ENABLED
void Value_Class::get_current_value_vfunc_callback(AtkValue* self, GValue* value)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -95,38 +95,42 @@ void Value_Class::get_current_value_vfunc_callback(AtkValue* self, GValue* value
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->get_current_value_vfunc(*reinterpret_cast<Glib::ValueBase*>(value)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->get_current_value_vfunc(*reinterpret_cast<Glib::ValueBase*>(value)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_current_value)
+ (*base->get_current_value)(self, value);
- // Call the original underlying C function:
- if(base && base->get_current_value)
- (*base->get_current_value)(self, value);
- }
}
void Value_Class::get_maximum_value_vfunc_callback(AtkValue* self, GValue* value)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -134,38 +138,42 @@ void Value_Class::get_maximum_value_vfunc_callback(AtkValue* self, GValue* value
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->get_maximum_value_vfunc(*reinterpret_cast<Glib::ValueBase*>(value)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->get_maximum_value_vfunc(*reinterpret_cast<Glib::ValueBase*>(value)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_maximum_value)
+ (*base->get_maximum_value)(self, value);
- // Call the original underlying C function:
- if(base && base->get_maximum_value)
- (*base->get_maximum_value)(self, value);
- }
}
void Value_Class::get_minimum_value_vfunc_callback(AtkValue* self, GValue* value)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -173,38 +181,42 @@ void Value_Class::get_minimum_value_vfunc_callback(AtkValue* self, GValue* value
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->get_minimum_value_vfunc(*reinterpret_cast<Glib::ValueBase*>(value)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->get_minimum_value_vfunc(*reinterpret_cast<Glib::ValueBase*>(value)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_minimum_value)
+ (*base->get_minimum_value)(self, value);
- // Call the original underlying C function:
- if(base && base->get_minimum_value)
- (*base->get_minimum_value)(self, value);
- }
}
gboolean Value_Class::set_current_value_vfunc_callback(AtkValue* self, const GValue* value)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -212,34 +224,37 @@ gboolean Value_Class::set_current_value_vfunc_callback(AtkValue* self, const GVa
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->set_current_value_vfunc(*reinterpret_cast<const Glib::ValueBase*>(value)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->set_current_value_vfunc(*reinterpret_cast<const Glib::ValueBase*>(value)
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->set_current_value)
+ return (*base->set_current_value)(self, value);
- // Call the original underlying C function:
- if(base && base->set_current_value)
- return (*base->set_current_value)(self, value);
- }
typedef gboolean RType;
return RType();
diff --git a/libs/gtkmm2/atk/atkmm/value.h b/libs/gtkmm2/atk/atkmm/value.h
index 92f2e487fd..113805b289 100644
--- a/libs/gtkmm2/atk/atkmm/value.h
+++ b/libs/gtkmm2/atk/atkmm/value.h
@@ -74,8 +74,14 @@ private:
protected:
Value(); // you must derive from this class
+
+public:
+ // This is public so that C++ wrapper instances can be
+ // created for C instances of unwrapped types.
+ // For instance, if an unexpected C type implements the C interface.
explicit Value(AtkValue* castitem);
+protected:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
@@ -162,10 +168,13 @@ protected:
namespace Glib
{
- /** @relates Atk::Value
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Atk::Value
*/
Glib::RefPtr<Atk::Value> wrap(AtkValue* object, bool take_copy = false);
diff --git a/libs/gtkmm2/atk/src/Makefile.am b/libs/gtkmm2/atk/src/Makefile.am
new file mode 100644
index 0000000000..13eef17c8a
--- /dev/null
+++ b/libs/gtkmm2/atk/src/Makefile.am
@@ -0,0 +1,14 @@
+## Copyright (c) 2001
+## The gtkmm development team.
+
+sublib_name = atkmm
+sublib_namespace = Atk
+sublib_parentdir = atkmm
+files_defs = atk.defs atk_enums.defs atk_methods.defs atk_signals.defs atk_vfuncs.defs \
+ atk_docs.xml atk_docs_override.xml
+
+include $(top_srcdir)/build_shared/Makefile_gensrc.am_fragment
+
+
+
+
diff --git a/libs/gtkmm2/atk/src/Makefile.in b/libs/gtkmm2/atk/src/Makefile.in
new file mode 100644
index 0000000000..b7667c8701
--- /dev/null
+++ b/libs/gtkmm2/atk/src/Makefile.in
@@ -0,0 +1,463 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+
+# This file is include by other Makefile.am files, using the new automake include feature.
+# The include happens in Makefile.am, not Makefile.in or Makefile,
+# so it's like copy-and-pasting this into each of those Makefile.am files.
+
+# Built files
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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)/../src/Makefile_list_of_hg.am_fragment \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment \
+ $(top_srcdir)/build_shared/Makefile_gensrc.am_fragment \
+ $(top_srcdir)/tools/Makefile_list_of_sources.am_fragment \
+ $(top_srcdir)/tools/m4/Makefile_list_of_sources.am_fragment
+subdir = atk/src
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+sublib_name = atkmm
+sublib_namespace = Atk
+sublib_parentdir = atkmm
+files_defs = atk.defs atk_enums.defs atk_methods.defs atk_signals.defs atk_vfuncs.defs \
+ atk_docs.xml atk_docs_override.xml
+
+tools_dir = $(top_srcdir)/tools
+tools_dir_m4 = $(top_srcdir)/tools/m4
+tools_dir_pm = $(top_srcdir)/tools/pm
+gensrc_destdir = $(srcdir)/../$(sublib_name)
+stamp_dir = $(srcdir)/.stamps
+files_tools_m4 = convert.m4 convert_gtkmm.m4 convert_atk.m4 convert_gdk.m4 \
+ convert_gtk.m4 convert_pango.m4
+
+tools_m4 = $(files_tools_m4:%.m4=$(tools_dir_m4)/%.m4)
+files_posix_hg =
+files_win32_hg =
+files_general_hg = action.hg component.hg document.hg editabletext.hg hyperlink.hg hypertext.hg image.hg \
+ implementor.hg noopobject.hg object.hg objectaccessible.hg relation.hg relationset.hg selection.hg \
+ stateset.hg streamablecontent.hg table.hg text.hg value.hg
+
+files_general_deprecated_hg =
+files_all_hg = \
+ $(files_posix_hg) \
+ $(files_win32_hg) \
+ $(files_general_hg) \
+ $(files_general_deprecated_hg)
+
+@OS_WIN32_FALSE@files_hg = $(files_general_hg) $(files_posix_hg) $(files_general_deprecated_hg)
+@OS_WIN32_TRUE@files_hg = $(files_general_hg) $(files_win32_hg) $(files_general_deprecated_hg)
+files_built_cc = $(files_hg:.hg=.cc) wrap_init.cc
+files_built_h = $(files_hg:.hg=.h)
+files_all_built_cc = $(files_all_hg:.hg=.cc) wrap_init.cc
+files_all_built_h = $(files_all_hg:.hg=.h)
+
+# Extra files
+files_all_extra_cc = \
+ $(sublib_files_extra_posix_cc) \
+ $(sublib_files_extra_win32_cc) \
+ $(sublib_files_extra_general_cc) \
+ $(sublib_files_extra_general_deprecated_cc)
+
+files_all_extra_h = $(sublib_files_extra_posix_h) \
+ $(sublib_files_extra_win32_h) $(sublib_files_extra_general_h) \
+ $(sublib_files_extra_general_deprecated_h) wrap_init.h
+@OS_WIN32_FALSE@files_extra_cc = \
+@OS_WIN32_FALSE@ $(sublib_files_extra_posix_cc) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_TRUE@files_extra_cc = \
+@OS_WIN32_TRUE@ $(sublib_files_extra_win32_cc) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_FALSE@files_extra_h = $(sublib_files_extra_posix_h) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_h) wrap_init.h
+@OS_WIN32_TRUE@files_extra_h = $(sublib_files_extra_win32_h) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_h) wrap_init.h
+# tools_pm = $(files_tools_pm:%.pm=$(tools_dir_pm)/%.pm)
+files_all_ccg = $(files_all_hg:%.hg=%.ccg)
+files_h = $(files_all_hg:%.hg=$(gensrc_destdir)/%.h)
+files_cc = $(files_all_hg:%.hg=$(gensrc_destdir)/%.cc)
+files_stamp = $(files_all_hg:%.hg=$(stamp_dir)/stamp-%)
+
+#Installed gmmproc stuff, from glibmm:
+gmmproc_path = $(GMMPROC)
+gmmproc_dir = $(GMMPROC_DIR)
+
+# We use our own m4 and pm files as well as the ones installed by gtkmm:
+# Our override m4 include seems to need to be before the default one.
+gmmproc_args = -I $(tools_dir_m4) --defs $(srcdir)
+run_gmmproc = $(gmmproc_path) $(gmmproc_args)
+gen_wrap_init_path = $(gmmproc_dir)/generate_wrap_init.pl
+gen_wrap_init_args = --namespace=$(sublib_namespace) --parent_dir=$(sublib_parentdir)
+run_gen_wrap_init = $(gen_wrap_init_path) $(gen_wrap_init_args)
+EXTRA_DIST = Makefile_list_of_hg.am_fragment \
+ $(files_defs) $(files_all_hg) $(files_all_ccg)
+
+sublib_srcdir = $(srcdir)/../src
+files_hg_with_path = $(patsubst %.hg,$(sublib_srcdir)/%.hg,$(files_all_hg))
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/build_shared/Makefile_gensrc.am_fragment $(top_srcdir)/tools/Makefile_list_of_sources.am_fragment $(top_srcdir)/tools/m4/Makefile_list_of_sources.am_fragment $(srcdir)/../src/Makefile_list_of_hg.am_fragment $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu atk/src/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu atk/src/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
+
+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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+@MAINTAINER_MODE_FALSE@all-local:
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+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:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am all-local 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 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
+
+
+$(stamp_dir)/stamp-%: %.hg %.ccg $(tools_m4) $(files_defs)
+ $(run_gmmproc) $(notdir $*) $(srcdir) $(gensrc_destdir)
+ @echo 'timestamp' > $@
+
+$(gensrc_destdir)/wrap_init.cc: $(gen_wrap_init_path) $(files_hg_with_path)
+ $(run_gen_wrap_init) $(files_all_hg:%.hg=$(srcdir)/%.hg) >$@
+
+create-stamp-dir:
+ @(test -d $(stamp_dir) || mkdir $(stamp_dir))
+
+@MAINTAINER_MODE_TRUE@all-local: create-stamp-dir $(files_stamp) $(gensrc_destdir)/wrap_init.cc
+
+maintainer-clean-local:
+ rm -rf $(stamp_dir)
+# 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:
diff --git a/libs/gtkmm2/atk/src/Makefile_list_of_hg.am_fragment b/libs/gtkmm2/atk/src/Makefile_list_of_hg.am_fragment
new file mode 100644
index 0000000000..8c90339973
--- /dev/null
+++ b/libs/gtkmm2/atk/src/Makefile_list_of_hg.am_fragment
@@ -0,0 +1,12 @@
+# This file is include by other Makefile.am files, using the new automake include feature.
+# The include happens in Makefile.am, not Makefile.in or Makefile,
+# so it's like copy-and-pasting this into each of those Makefile.am files.
+
+files_posix_hg =
+files_win32_hg =
+files_general_hg = action.hg component.hg document.hg editabletext.hg hyperlink.hg hypertext.hg image.hg \
+ implementor.hg noopobject.hg object.hg objectaccessible.hg relation.hg relationset.hg selection.hg \
+ stateset.hg streamablecontent.hg table.hg text.hg value.hg
+files_general_deprecated_hg =
+
+include $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment
diff --git a/libs/gtkmm2/atk/src/action.ccg b/libs/gtkmm2/atk/src/action.ccg
new file mode 100644
index 0000000000..6118feefe0
--- /dev/null
+++ b/libs/gtkmm2/atk/src/action.ccg
@@ -0,0 +1,22 @@
+// -*- c++ -*-
+/* $Id: action.ccg,v 1.1 2003/01/21 13:36:56 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <atk/atkaction.h>
+
diff --git a/libs/gtkmm2/atk/src/action.hg b/libs/gtkmm2/atk/src/action.hg
new file mode 100644
index 0000000000..700e92fc19
--- /dev/null
+++ b/libs/gtkmm2/atk/src/action.hg
@@ -0,0 +1,71 @@
+/* $Id: action.hg,v 1.5 2004/03/12 20:35:53 murrayc Exp $ */
+
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(atkmm,atk)
+_PINCLUDE(glibmm/private/interface_p.h)
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C" { typedef struct _AtkActionIface AtkActionIface; }
+#endif
+
+
+namespace Atk
+{
+
+/** The ATK interface provided by UI components which the user can activate/interact with,
+ * This should be implemented by instances of Atk::Object classes with which the user can interact directly, i.e. buttons,
+ * checkboxes, scrollbars, e.g. components which are not "passive" providers of UI information.
+ *
+ * Exceptions: when the user interaction is already covered by another appropriate interface such as Atk::EditableText
+ * (insert/delete test, etc.) or Atk::Value (set value) then these actions should not be exposed by Atk::Action as well.
+ *
+ * Also note that the Atk::Action API is limited in that parameters may not be passed to the object being activated;
+ * thus the action must be self-contained and specifiable via only a single "verb". Concrete examples include "press",
+ * "release", "click" for buttons, "drag" (meaning initiate drag) and "drop" for drag sources and drop targets, etc.
+ *
+ * Though most UI interactions on components should be invocable via keyboard as well as mouse, there will generally be
+ * a close mapping between "mouse actions" that are possible on a component and the Atk::Actions. Where mouse and keyboard
+ * actions are redundant in effect, Atk::Action should expose only one action rather than exposing redundant actions if
+ * possible. By convention we have been using "mouse centric" terminology for Atk::Action names.
+ */
+class Action : public Glib::Interface
+{
+ _CLASS_INTERFACE(Action, AtkAction, ATK_ACTION, AtkActionIface)
+
+public:
+
+ _WRAP_METHOD(bool do_action(int i), atk_action_do_action)
+ _WRAP_METHOD(int get_n_actions() const, atk_action_get_n_actions)
+ _WRAP_METHOD(Glib::ustring get_description(int i) const, atk_action_get_description)
+ _WRAP_METHOD(Glib::ustring get_name(int i) const, atk_action_get_name)
+ _WRAP_METHOD(Glib::ustring get_keybinding(int i), atk_action_get_keybinding)
+ _WRAP_METHOD(bool set_description(int i, const Glib::ustring& desc), atk_action_set_description)
+ _WRAP_METHOD(Glib::ustring get_localized_name(int i), atk_action_get_localized_name)
+
+protected:
+ _WRAP_VFUNC(bool do_action(int i), "do_action")
+ _WRAP_VFUNC(int get_n_actions() const, "get_n_actions")
+ _WRAP_VFUNC(const char* get_description(int i) const, "get_description")
+ _WRAP_VFUNC(const char* get_name(int i) const, "get_name")
+ _WRAP_VFUNC(const char* get_keybinding(int i) const, "get_keybinding")
+ _WRAP_VFUNC(bool set_description(int i, const Glib::ustring& desc), "set_description")
+};
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/atk.defs b/libs/gtkmm2/atk/src/atk.defs
new file mode 100644
index 0000000000..6d470030ec
--- /dev/null
+++ b/libs/gtkmm2/atk/src/atk.defs
@@ -0,0 +1,4 @@
+(include atk_methods.defs)
+(include atk_signals.defs)
+(include atk_enums.defs)
+(include atk_vfuncs.defs)
diff --git a/libs/gtkmm2/atk/src/atk_docs.xml b/libs/gtkmm2/atk/src/atk_docs.xml
new file mode 100644
index 0000000000..1bd4071d54
--- /dev/null
+++ b/libs/gtkmm2/atk/src/atk_docs.xml
@@ -0,0 +1,4049 @@
+<root>
+<function name="atk_text_get_selection">
+<description>
+Gets the text from the specified selection.
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkText
+</parameter_description>
+</parameter>
+<parameter name="selection_num">
+<parameter_description> The selection number. The selected regions are
+assigned numbers that correspond to how far the region is from the
+start of the text. The selected region closest to the beginning
+of the text region is assigned the number 0, etc. Note that adding,
+moving or deleting a selected region can change the numbering.
+</parameter_description>
+</parameter>
+<parameter name="start_offset">
+<parameter_description> passes back the start position of the selected region
+</parameter_description>
+</parameter>
+<parameter name="end_offset">
+<parameter_description> passes back the end position of (e.g. offset immediately past)
+the selected region
+</parameter_description>
+</parameter>
+</parameters>
+<return> the selected text.
+</return>
+</function>
+
+<function name="atk_image_get_image_position">
+<description>
+Gets the position of the image in the form of a point specifying the
+images top-left corner. The values of @x and @y are returned as -1
+if the values cannot be obtained.
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GObject instance that implements AtkImageIface
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> address of #gint to put x coordinate position
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> address of #gint to put y coordinate position
+</parameter_description>
+</parameter>
+<parameter name="coord_type">
+<parameter_description> specifies whether the coordinates are relative to the screen
+or to the components top level window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_table_is_row_selected">
+<description>
+Gets a boolean value indicating whether the specified @row
+is selected
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+<parameter name="row">
+<parameter_description> a #gint representing a row in @table
+</parameter_description>
+</parameter>
+</parameters>
+<return> a gboolean representing if the row is selected, or 0
+if value does not implement this interface.
+</return>
+</function>
+
+<function name="atk_table_get_n_rows">
+<description>
+Gets the number of rows in the table.
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+</parameters>
+<return> a gint representing the number of rows, or 0
+if value does not implement this interface.
+</return>
+</function>
+
+<function name="atk_object_ref_state_set">
+<description>
+Gets a reference to the state set of the accessible; the caller must
+unreference it when it is no longer needed.
+
+
+</description>
+<parameters>
+<parameter name="accessible">
+<parameter_description> an #AtkObject
+</parameter_description>
+</parameter>
+</parameters>
+<return> a reference to an #AtkStateSet which is the state
+set of the accessible
+</return>
+</function>
+
+<function name="atk_object_connect_property_change_handler">
+<description>
+Specifies a function to be called when a property changes value.
+
+
+</description>
+<parameters>
+<parameter name="accessible">
+<parameter_description> an #AtkObject
+</parameter_description>
+</parameter>
+<parameter name="handler">
+<parameter_description> a function to be called when a property changes its value
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #guint which is the handler id used in
+atk_object_remove_property_change_handler()
+</return>
+</function>
+
+<function name="atk_object_set_description">
+<description>
+Sets the accessible description of the accessible.
+
+</description>
+<parameters>
+<parameter name="accessible">
+<parameter_description> an #AtkObject
+</parameter_description>
+</parameter>
+<parameter name="description">
+<parameter_description> a character string to be set as the accessible description
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_state_type_register">
+<description>
+Register a new object state.
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> a character string describing the new state.
+</parameter_description>
+</parameter>
+</parameters>
+<return> an #AtkState value for the new state.
+</return>
+</function>
+
+<function name="atk_component_get_mdi_zorder">
+<description>
+Gets the zorder of the component. The value G_MININT will be returned
+if the layer of the component is not ATK_LAYER_MDI or ATK_LAYER_WINDOW.
+
+
+</description>
+<parameters>
+<parameter name="component">
+<parameter_description> an #AtkComponent
+</parameter_description>
+</parameter>
+</parameters>
+<return> a gint which is the zorder of the component, i.e. the depth at
+which the component is shown in relation to other components in the same
+container.
+</return>
+</function>
+
+<function name="atk_table_add_row_selection">
+<description>
+Adds the specified @row to the selection.
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+<parameter name="row">
+<parameter_description> a #gint representing a row in @table
+</parameter_description>
+</parameter>
+</parameters>
+<return> a gboolean representing if row was successfully added to selection,
+or 0 if value does not implement this interface.
+</return>
+</function>
+
+<function name="atk_no_op_object_new">
+<description>
+Provides a default (non-functioning stub) #AtkObject.
+Application maintainers should not use this method.
+
+
+</description>
+<parameters>
+<parameter name="obj">
+<parameter_description> a #GObject
+</parameter_description>
+</parameter>
+</parameters>
+<return> a default (non-functioning stub) #AtkObject
+</return>
+</function>
+
+<function name="atk_state_type_get_name">
+<description>
+Gets the description string describing the #AtkStateType @type.
+
+
+</description>
+<parameters>
+<parameter name="type">
+<parameter_description> The #AtkStateType whose name is required
+</parameter_description>
+</parameter>
+</parameters>
+<return> the string describing the AtkStateType
+</return>
+</function>
+
+<function name="atk_hyperlink_get_start_index">
+<description>
+Gets the index with the hypertext document at which this link begins.
+
+
+</description>
+<parameters>
+<parameter name="link_">
+<parameter_description> an #AtkHyperlink
+</parameter_description>
+</parameter>
+</parameters>
+<return> the index with the hypertext document at which this link begins
+</return>
+</function>
+
+<function name="atk_object_get_layer">
+<description>
+Gets the layer of the accessible.
+
+
+</description>
+<parameters>
+<parameter name="accessible">
+<parameter_description> an #AtkObject
+</parameter_description>
+</parameter>
+</parameters>
+<return> an #AtkLayer which is the layer of the accessible
+
+@Deprecated: Use atk_component_get_layer instead.
+</return>
+</function>
+
+<function name="atk_editable_text_insert_text">
+<description>
+Insert text at a given position.
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkEditableText
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> the text to insert
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the length of text to insert, in bytes
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> The caller initializes this to
+the position at which to insert the text. After the call it
+points at the position after the newly inserted text.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_implementor_ref_accessible">
+<description>
+Gets a reference to an object&apos;s #AtkObject implementation, if
+the object implements #AtkObjectIface
+
+
+</description>
+<parameters>
+<parameter name="implementor">
+<parameter_description> The #GObject instance which should implement #AtkImplementorIface
+if a non-null return value is required.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a reference to an object&apos;s #AtkObject implementation
+</return>
+</function>
+
+<function name="atk_hyperlink_is_valid">
+<description>
+Since the document that a link is associated with may have changed
+this method returns %TRUE if the link is still valid (with
+respect to the document it references) and %FALSE otherwise.
+
+
+</description>
+<parameters>
+<parameter name="link_">
+<parameter_description> an #AtkHyperlink
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether or not this link is still valid
+</return>
+</function>
+
+<function name="atk_text_get_offset_at_point">
+<description>
+Gets the offset of the character located at coordinates @x and @y. @x and @y
+are interpreted as being relative to the screen or this widget&apos;s window
+depending on @coords.
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkText
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> screen x-position of character
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> screen y-position of character
+</parameter_description>
+</parameter>
+<parameter name="coords">
+<parameter_description> specify whether coordinates are relative to the screen or
+widget window
+</parameter_description>
+</parameter>
+</parameters>
+<return> the offset to the character which is located at
+the specified @x and @y coordinates.
+</return>
+</function>
+
+<function name="atk_text_get_n_selections">
+<description>
+Gets the number of selected regions.
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkText
+</parameter_description>
+</parameter>
+</parameters>
+<return> The number of selected regions, or -1 if a failure
+occurred.
+</return>
+</function>
+
+<function name="atk_text_get_run_attributes">
+<description>
+Creates an #AtkAttributeSet which consists of the attributes explicitly
+set at the position @offset in the text. @start_offset and @end_offset are
+set to the start and end of the range around @offset where the attributes are
+invariant. Note that @end_offset is the offset of the first character
+after the range. See the enum AtkTextAttribute for types of text
+attributes that can be returned. Note that other attributes may also be
+returned.
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkText
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> the offset at which to get the attributes
+</parameter_description>
+</parameter>
+<parameter name="start_offset">
+<parameter_description> the address to put the start offset of the range
+</parameter_description>
+</parameter>
+<parameter name="end_offset">
+<parameter_description> the address to put the end offset of the range
+</parameter_description>
+</parameter>
+</parameters>
+<return> an #AtkAttributeSet which contains the attributes explicitly set
+at @offset. This #AtkAttributeSet should be freed by a call to
+atk_attribute_set_free().
+</return>
+</function>
+
+<function name="atk_table_get_caption">
+<description>
+Gets the caption for the @table.
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableInterface
+</parameter_description>
+</parameter>
+</parameters>
+<return> a AtkObject* representing the table caption, or %NULL
+if value does not implement this interface.
+</return>
+</function>
+
+<function name="atk_component_ref_accessible_at_point">
+<description>
+Gets a reference to the accessible child, if one exists, at the
+coordinate point specified by @x and @y.
+
+
+</description>
+<parameters>
+<parameter name="component">
+<parameter_description> the #AtkComponent
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x coordinate
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y coordinate
+</parameter_description>
+</parameter>
+<parameter name="coord_type">
+<parameter_description> specifies whether the coordinates are relative to the screen
+or to the components top level window
+</parameter_description>
+</parameter>
+</parameters>
+<return> a reference to the accessible child, if one exists
+</return>
+</function>
+
+<function name="atk_add_focus_tracker">
+<description>
+Adds the specified function to the list of functions to be called
+when an object receives focus.
+
+
+</description>
+<parameters>
+<parameter name="focus_tracker">
+<parameter_description> Function to be added to the list of functions to be called
+when an object receives focus.
+</parameter_description>
+</parameter>
+</parameters>
+<return> added focus tracker id, or 0 on failure.
+</return>
+</function>
+
+<function name="atk_table_set_summary">
+<description>
+Sets the summary description of the table.
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+<parameter name="accessible">
+<parameter_description> an #AtkObject representing the summary description
+to set for @table
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_editable_text_cut_text">
+<description>
+Copy text from @start_pos up to, but not including @end_pos
+to the clipboard and then delete from the widget.
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkEditableText
+</parameter_description>
+</parameter>
+<parameter name="start_pos">
+<parameter_description> start position
+</parameter_description>
+</parameter>
+<parameter name="end_pos">
+<parameter_description> end position
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_gobject_accessible_for_object">
+<description>
+Gets the accessible object for the specified @obj.
+
+
+</description>
+<parameters>
+<parameter name="obj">
+<parameter_description> a #GObject
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #AtkObject which is the accessible object for the @obj
+</return>
+</function>
+
+<function name="atk_table_get_column_description">
+<description>
+Gets the description text of the specified @column in the table
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> a #gint representing a column in @table
+</parameter_description>
+</parameter>
+</parameters>
+<return> a gchar* representing the column description, or %NULL
+if value does not implement this interface.
+</return>
+</function>
+
+<function name="atk_text_get_character_at_offset">
+<description>
+Gets the specified text.
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkText
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> position
+</parameter_description>
+</parameter>
+</parameters>
+<return> the character at @offset.
+</return>
+</function>
+
+<function name="atk_no_op_object_factory_new">
+<description>
+Creates an instance of an #AtkObjectFactory which generates primitive
+(non-functioning) #AtkObjects.
+
+
+</description>
+<parameters>
+</parameters>
+<return> an instance of an #AtkObjectFactory
+</return>
+</function>
+
+<function name="atk_role_get_name">
+<description>
+Gets the description string describing the #AtkRole @role.
+
+
+</description>
+<parameters>
+<parameter name="role">
+<parameter_description> The #AtkRole whose name is required
+</parameter_description>
+</parameter>
+</parameters>
+<return> the string describing the AtkRole
+</return>
+</function>
+
+<function name="atk_text_get_default_attributes">
+<description>
+Creates an #AtkAttributeSet which consists of the default values of
+attributes for the text. See the enum AtkTextAttribute for types of text
+attributes that can be returned. Note that other attributes may also be
+returned.
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkText
+</parameter_description>
+</parameter>
+</parameters>
+<return> an #AtkAttributeSet which contains the default values of attributes.
+at @offset. This #AtkAttributeSet should be freed by a call to
+atk_attribute_set_free().
+</return>
+</function>
+
+<function name="atk_text_set_selection">
+<description>
+Changes the start and end offset of the specified selection.
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkText
+</parameter_description>
+</parameter>
+<parameter name="selection_num">
+<parameter_description> The selection number. The selected regions are
+assigned numbers that correspond to how far the region is from the
+start of the text. The selected region closest to the beginning
+of the text region is assigned the number 0, etc. Note that adding,
+moving or deleting a selected region can change the numbering.
+</parameter_description>
+</parameter>
+<parameter name="start_offset">
+<parameter_description> the new start position of the selection
+</parameter_description>
+</parameter>
+<parameter name="end_offset">
+<parameter_description> the new end position of (e.g. offset immediately past)
+the selection
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if success, %FALSE otherwise
+</return>
+</function>
+
+<function name="atk_streamable_content_get_n_mime_types">
+<description>
+Gets the number of mime types supported by this object.
+
+
+</description>
+<parameters>
+<parameter name="streamable">
+<parameter_description> a GObject instance that implements AtkStreamableContentIface
+</parameter_description>
+</parameter>
+</parameters>
+<return> a gint which is the number of mime types supported by the object.
+</return>
+</function>
+
+<function name="atk_relation_get_relation_type">
+<description>
+Gets the type of @relation
+
+
+</description>
+<parameters>
+<parameter name="relation">
+<parameter_description> an #AtkRelation
+</parameter_description>
+</parameter>
+</parameters>
+<return> the type of @relation
+</return>
+</function>
+
+<function name="atk_editable_text_paste_text">
+<description>
+Paste text from clipboard to specified @position.
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkEditableText
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> position to paste
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_object_factory_get_accessible_type">
+<description>
+Gets the GType of the accessible which is created by the factory.
+The value G_TYPE_INVALID is returned if no type if found.
+
+</description>
+<parameters>
+<parameter name="factory">
+<parameter_description> an #AtkObjectFactory
+</parameter_description>
+</parameter>
+</parameters>
+<return> the type of the accessible which is created by the @factory.
+</return>
+</function>
+
+<function name="atk_hypertext_get_link">
+<description>
+Gets the link in this hypertext document at index
+@link_index
+
+
+</description>
+<parameters>
+<parameter name="hypertext">
+<parameter_description> an #AtkHypertext
+</parameter_description>
+</parameter>
+<parameter name="link_index">
+<parameter_description> an integer specifying the desired link
+</parameter_description>
+</parameter>
+</parameters>
+<return> the link in this hypertext document at
+index @link_index
+</return>
+</function>
+
+<function name="atk_text_get_range_extents">
+<description>
+Get the bounding box for text within the specified range.
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkText
+</parameter_description>
+</parameter>
+<parameter name="start_offset">
+<parameter_description> The offset of the first text character for which boundary
+information is required.
+</parameter_description>
+</parameter>
+<parameter name="end_offset">
+<parameter_description> The offset of the text character after the last character
+for which boundary information is required.
+</parameter_description>
+</parameter>
+<parameter name="coord_type">
+<parameter_description> Specify whether coordinates are relative to the screen or widget window.
+</parameter_description>
+</parameter>
+<parameter name="rect">
+<parameter_description> A pointer to a AtkTextRectangle which is filled in by this function.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_table_get_column_at_index">
+<description>
+Gets a #gint representing the column at the specified @index_, or -1
+if the table does not implement this interface
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableInterface
+</parameter_description>
+</parameter>
+<parameter name="index_">
+<parameter_description> a #gint representing an index in @table
+</parameter_description>
+</parameter>
+</parameters>
+<return> a gint representing the column at the specified index.
+</return>
+</function>
+
+<function name="atk_object_get_parent">
+<description>
+Gets the accessible parent of the accessible.
+
+
+</description>
+<parameters>
+<parameter name="accessible">
+<parameter_description> an #AtkObject
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #AtkObject representing the accessible parent of the accessible
+</return>
+</function>
+
+<function name="atk_selection_is_child_selected">
+<description>
+Determines if the current child of this object is selected
+Note: callers should not rely on %NULL or on a zero value for
+indication of whether AtkSelectionIface is implemented, they should
+use type checking/interface checking macros or the
+atk_get_accessible_value() convenience method.
+
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> a #GObject instance that implements AtkSelectionIface
+</parameter_description>
+</parameter>
+<parameter name="i">
+<parameter_description> a #gint specifying the child index.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a gboolean representing the specified child is selected, or 0
+if @selection does not implement this interface.
+</return>
+</function>
+
+<function name="atk_text_add_selection">
+<description>
+Adds a selection bounded by the specified offsets.
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkText
+</parameter_description>
+</parameter>
+<parameter name="start_offset">
+<parameter_description> the start position of the selected region
+</parameter_description>
+</parameter>
+<parameter name="end_offset">
+<parameter_description> the offset of the first character after the selected region.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if success, %FALSE otherwise
+</return>
+</function>
+
+<function name="atk_text_get_character_count">
+<description>
+Gets the character count.
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkText
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of characters.
+</return>
+</function>
+
+<function name="atk_relation_type_get_name">
+<description>
+Gets the description string describing the #AtkRelationType @type.
+
+
+</description>
+<parameters>
+<parameter name="type">
+<parameter_description> The #AtkRelationType whose name is required
+</parameter_description>
+</parameter>
+</parameters>
+<return> the string describing the AtkRelationType
+</return>
+</function>
+
+<function name="atk_table_set_row_header">
+<description>
+Sets the specified row header to @header.
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+<parameter name="row">
+<parameter_description> a #gint representing a row in @table
+</parameter_description>
+</parameter>
+<parameter name="header">
+<parameter_description> an #AtkTable
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_gobject_accessible_get_object">
+<description>
+Gets the GObject for which @obj is the accessible object.
+
+
+</description>
+<parameters>
+<parameter name="obj">
+<parameter_description> a #AtkObject
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GObject which is the object for which @obj is the accessible objedct
+</return>
+</function>
+
+<function name="atk_relation_set_new">
+<description>
+Creates a new empty relation set.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #AtkRelationSet
+</return>
+</function>
+
+<function name="atk_relation_add_target">
+<description>
+Adds the specified AtkObject to the target for the relation, if it is
+not already present.
+
+Since: 1.9
+
+</description>
+<parameters>
+<parameter name="relation">
+<parameter_description> an #AtkRelation
+</parameter_description>
+</parameter>
+<parameter name="target">
+<parameter_description> an #AtkObject
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_hyperlink_get_n_anchors">
+<description>
+Gets the number of anchors associated with this hyperlink.
+
+
+</description>
+<parameters>
+<parameter name="link_">
+<parameter_description> an #AtkHyperlink
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of anchors associated with this hyperlink
+</return>
+</function>
+
+<function name="atk_object_set_name">
+<description>
+Sets the accessible name of the accessible.
+
+</description>
+<parameters>
+<parameter name="accessible">
+<parameter_description> an #AtkObject
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> a character string to be set as the accessible name
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_hyperlink_is_selected_link">
+<description>
+Determines whether this AtkHyperlink is selected
+
+
+</description>
+<parameters>
+<parameter name="link_">
+<parameter_description> an #AtkHyperlink
+</parameter_description>
+</parameter>
+</parameters>
+<return> True is the AtkHyperlink is selected, False otherwise
+</return>
+</function>
+
+<function name="atk_object_ref_accessible_child">
+<description>
+Gets a reference to the specified accessible child of the object.
+The accessible children are 0-based so the first accessible child is
+at index 0, the second at index 1 and so on.
+
+
+</description>
+<parameters>
+<parameter name="accessible">
+<parameter_description> an #AtkObject
+</parameter_description>
+</parameter>
+<parameter name="i">
+<parameter_description> a gint representing the position of the child, starting from 0
+</parameter_description>
+</parameter>
+</parameters>
+<return> an #AtkObject representing the specified accessible child
+of the accessible.
+</return>
+</function>
+
+<function name="atk_relation_set_get_relation">
+<description>
+Determines the relation at the specified position in the relation set.
+
+
+</description>
+<parameters>
+<parameter name="set">
+<parameter_description> an #AtkRelationSet
+</parameter_description>
+</parameter>
+<parameter name="i">
+<parameter_description> a gint representing a position in the set, starting from 0.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #AtkRelation, which is the relation at position i in the set.
+</return>
+</function>
+
+<function name="atk_table_remove_row_selection">
+<description>
+Removes the specified @row from the selection.
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+<parameter name="row">
+<parameter_description> a #gint representing a row in @table
+</parameter_description>
+</parameter>
+</parameters>
+<return> a gboolean representing if the row was successfully removed from
+the selection, or 0 if value does not implement this interface.
+</return>
+</function>
+
+<function name="atk_text_set_caret_offset">
+<description>
+Sets the caret (cursor) position to the specified @offset.
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkText
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> position
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if success, %FALSE otherwise.
+</return>
+</function>
+
+<function name="atk_text_attribute_for_name">
+<description>
+Get the #AtkTextAttribute type corresponding to a text attribute name.
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> a string which is the (non-localized) name of an ATK text attribute.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #AtkTextAttribute enumerated type corresponding to the specified
+name,
+or #ATK_TEXT_ATTRIBUTE_INVALID if no matching text attribute is found.
+</return>
+</function>
+
+<function name="atk_image_get_image_description">
+<description>
+Get a textual description of this image.
+
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GObject instance that implements AtkImageIface
+</parameter_description>
+</parameter>
+</parameters>
+<return> a string representing the image description
+</return>
+</function>
+
+<function name="atk_document_get_document">
+<description>
+Gets a %gpointer that points to an instance of the DOM. It is
+up to the caller to check atk_document_get_type to determine
+how to cast this pointer.
+
+
+</description>
+<parameters>
+<parameter name="document">
+<parameter_description> a #GObject instance that implements AtkDocumentIface
+</parameter_description>
+</parameter>
+</parameters>
+<return> a %gpointer that points to an instance of the DOM.
+</return>
+</function>
+
+<function name="atk_selection_ref_selection">
+<description>
+Gets a reference to the accessible object representing the specified
+selected child of the object.
+Note: callers should not rely on %NULL or on a zero value for
+indication of whether AtkSelectionIface is implemented, they should
+use type checking/interface checking macros or the
+atk_get_accessible_value() convenience method.
+
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> a #GObject instance that implements AtkSelectionIface
+</parameter_description>
+</parameter>
+<parameter name="i">
+<parameter_description> a #gint specifying the index in the selection set. (e.g. the
+ith selection as opposed to the ith child).
+</parameter_description>
+</parameter>
+</parameters>
+<return> an #AtkObject representing the selected accessible , or %NULL
+if @selection does not implement this interface.
+</return>
+</function>
+
+<function name="atk_remove_focus_tracker">
+<description>
+Removes the specified focus tracker from the list of functions
+to be called when any object receives focus.
+
+</description>
+<parameters>
+<parameter name="tracker_id">
+<parameter_description> the id of the focus tracker to remove
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_component_grab_focus">
+<description>
+Grabs focus for this @component.
+
+
+</description>
+<parameters>
+<parameter name="component">
+<parameter_description> an #AtkComponent
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if successful, %FALSE otherwise.
+</return>
+</function>
+
+<function name="atk_relation_type_register">
+<description>
+Associate @name with a new #AtkRelationType
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> a name string
+</parameter_description>
+</parameter>
+</parameters>
+<return> an #AtkRelationType associated with @name
+</return>
+</function>
+
+<function name="atk_relation_set_add_relation_by_type">
+<description>
+Add a new relation of the specified type with the specified target to
+the current relation set if the relation set does not contain a relation
+of that type. If it is does contain a relation of that typea the target
+is added to the relation.
+
+Since: 1.9
+
+</description>
+<parameters>
+<parameter name="set">
+<parameter_description> an #AtkRelationSet
+</parameter_description>
+</parameter>
+<parameter name="relationship">
+<parameter_description> an #AtkRelationType
+</parameter_description>
+</parameter>
+<parameter name="target">
+<parameter_description> an #AtkObject
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_object_get_role">
+<description>
+Gets the role of the accessible.
+
+
+</description>
+<parameters>
+<parameter name="accessible">
+<parameter_description> an #AtkObject
+</parameter_description>
+</parameter>
+</parameters>
+<return> an #AtkRole which is the role of the accessible
+</return>
+</function>
+
+<function name="atk_add_key_event_listener">
+<description>
+Adds the specified function to the list of functions to be called
+when a key event occurs. The @data element will be passed to the
+#AtkKeySnoopFunc (@listener) as the @func_data param, on notification.
+
+
+</description>
+<parameters>
+<parameter name="listener">
+<parameter_description> the listener to notify
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> a #gpointer that points to a block of data that should be sent to the registered listeners,
+along with the event notification, when it occurs.
+</parameter_description>
+</parameter>
+</parameters>
+<return> added event listener id, or 0 on failure.
+</return>
+</function>
+
+<function name="atk_object_notify_state_change">
+<description>
+Emits a state-change signal for the specified state.
+
+</description>
+<parameters>
+<parameter name="accessible">
+<parameter_description> an #AtkObject
+</parameter_description>
+</parameter>
+<parameter name="state">
+<parameter_description> an #AtkState whose state is changed
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> a gboolean which indicates whether the state is being set on or off
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_focus_tracker_notify">
+<description>
+Cause the focus tracker functions which have been specified to be
+executed for the object.
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> an #AtkObject
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_document_get_document_type">
+<description>
+Gets a string indicating the document type.
+
+
+</description>
+<parameters>
+<parameter name="document">
+<parameter_description> a #GObject instance that implements AtkDocumentIface
+</parameter_description>
+</parameter>
+</parameters>
+<return> a string indicating the document type
+</return>
+</function>
+
+<function name="atk_image_set_image_description">
+<description>
+Sets the textual description for this image.
+
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GObject instance that implements AtkImageIface
+</parameter_description>
+</parameter>
+<parameter name="description">
+<parameter_description> a string description to set for @image
+</parameter_description>
+</parameter>
+</parameters>
+<return> boolean TRUE, or FALSE if operation could
+not be completed.
+</return>
+</function>
+
+<function name="atk_get_root">
+<description>
+Gets the root accessible container for the current application.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the root accessible container for the current application
+</return>
+</function>
+
+<function name="atk_editable_text_copy_text">
+<description>
+Copy text from @start_pos up to, but not including @end_pos
+to the clipboard.
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkEditableText
+</parameter_description>
+</parameter>
+<parameter name="start_pos">
+<parameter_description> start position
+</parameter_description>
+</parameter>
+<parameter name="end_pos">
+<parameter_description> end position
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_object_ref_relation_set">
+<description>
+Gets the #AtkRelationSet associated with the object.
+
+
+</description>
+<parameters>
+<parameter name="accessible">
+<parameter_description> an #AtkObject
+</parameter_description>
+</parameter>
+</parameters>
+<return> an #AtkRelationSet representing the relation set of the object.
+</return>
+</function>
+
+<function name="atk_object_factory_create_accessible">
+<description>
+Provides an #AtkObject that implements an accessibility interface
+on behalf of @obj
+
+
+</description>
+<parameters>
+<parameter name="factory">
+<parameter_description> The #AtkObjectFactory associated with @obj&apos;s
+object type
+</parameter_description>
+</parameter>
+<parameter name="obj">
+<parameter_description> a #GObject
+</parameter_description>
+</parameter>
+</parameters>
+<return> an #AtkObject that implements an accessibility interface
+on behalf of @obj
+</return>
+</function>
+
+<function name="atk_table_get_selected_rows">
+<description>
+Gets the selected rows of the table by initializing **selected with
+the selected row numbers. This array should be freed by the caller.
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+<parameter name="selected">
+<parameter_description> a #gint** that is to contain the selected row numbers
+</parameter_description>
+</parameter>
+</parameters>
+<return> a gint representing the number of selected rows,
+or zero if value does not implement this interface.
+</return>
+</function>
+
+<function name="atk_state_set_clear_states">
+<description>
+Removes all states from the state set.
+
+</description>
+<parameters>
+<parameter name="set">
+<parameter_description> an #AtkStateSet
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_object_get_index_in_parent">
+<description>
+Gets the 0-based index of this accessible in its parent; returns -1 if the
+accessible does not have an accessible parent.
+
+
+</description>
+<parameters>
+<parameter name="accessible">
+<parameter_description> an #AtkObject
+</parameter_description>
+</parameter>
+</parameters>
+<return> an integer which is the index of the accessible in its parent
+</return>
+</function>
+
+<function name="atk_text_get_text_at_offset">
+<description>
+Gets the specified text.
+
+If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character at the
+offset is returned.
+
+If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string
+is from the word start at or before the offset to the word start after
+the offset.
+
+The returned string will contain the word at the offset if the offset
+is inside a word and will contain the word before the offset if the
+offset is not inside a word.
+
+If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string
+is from the word end before the offset to the word end at or after the
+offset.
+
+The returned string will contain the word at the offset if the offset
+is inside a word and will contain the word after to the offset if the
+offset is not inside a word.
+
+If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned
+string is from the sentence start at or before the offset to the sentence
+start after the offset.
+
+The returned string will contain the sentence at the offset if the offset
+is inside a sentence and will contain the sentence before the offset
+if the offset is not inside a sentence.
+
+If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string
+is from the sentence end before the offset to the sentence end at or
+after the offset.
+
+The returned string will contain the sentence at the offset if the offset
+is inside a sentence and will contain the sentence after the offset
+if the offset is not inside a sentence.
+
+If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned
+string is from the line start at or before the offset to the line
+start after the offset.
+
+If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string
+is from the line end before the offset to the line end at or after
+the offset.
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkText
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> position
+</parameter_description>
+</parameter>
+<parameter name="boundary_type">
+<parameter_description> An #AtkTextBoundary
+</parameter_description>
+</parameter>
+<parameter name="start_offset">
+<parameter_description> the start offset of the returned string
+</parameter_description>
+</parameter>
+<parameter name="end_offset">
+<parameter_description> the offset of the first character after the
+returned substring
+</parameter_description>
+</parameter>
+</parameters>
+<return> the text at @offset bounded by the specified @boundary_type.
+</return>
+</function>
+
+<function name="atk_table_add_column_selection">
+<description>
+Adds the specified @column to the selection.
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> a #gint representing a column in @table
+</parameter_description>
+</parameter>
+</parameters>
+<return> a gboolean representing if the column was successfully added to
+the selection, or 0 if value does not implement this interface.
+</return>
+</function>
+
+<function name="atk_value_get_minimum_value">
+<description>
+Gets the minimum value of this object.
+
+</description>
+<parameters>
+<parameter name="obj">
+<parameter_description> a GObject instance that implements AtkValueIface
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> a #GValue representing the minimum accessible value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_relation_get_target">
+<description>
+Gets the target list of @relation
+
+
+</description>
+<parameters>
+<parameter name="relation">
+<parameter_description> an #AtkRelation
+</parameter_description>
+</parameter>
+</parameters>
+<return> the target list of @relation
+</return>
+</function>
+
+<function name="atk_get_focus_object">
+<description>
+Gets the currently focused object.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the currently focused object for the current application
+</return>
+</function>
+
+<function name="atk_object_remove_relationship">
+<description>
+Removes a relationship of the specified type with the specified target.
+
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> The #AtkObject from which an AtkRelation is to be removed.
+</parameter_description>
+</parameter>
+<parameter name="relationship">
+<parameter_description> The #AtkRelationType of the relation
+</parameter_description>
+</parameter>
+<parameter name="target">
+<parameter_description> The #AtkObject which is the target of the relation to be removed.
+</parameter_description>
+</parameter>
+</parameters>
+<return>TRUE if the relationship is removed.
+</return>
+</function>
+
+<function name="atk_state_set_remove_state">
+<description>
+Removes the state for the specified type from the state set.
+
+
+</description>
+<parameters>
+<parameter name="set">
+<parameter_description> an #AtkStateSet
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> an #AtkType
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @type was the state type is in @set.
+</return>
+</function>
+
+<function name="atk_text_attribute_get_value">
+<description>
+Gets the value for the index of the #AtkTextAttribute
+
+
+</description>
+<parameters>
+<parameter name="attr">
+<parameter_description> The #AtkTextAttribute for which a value is required
+</parameter_description>
+</parameter>
+<parameter name="index_">
+<parameter_description> The index of the required value
+</parameter_description>
+</parameter>
+</parameters>
+<return> a string containing the value; this string should not be freed;
+NULL is returned if there are no values maintained for the attr value.
+</return>
+</function>
+
+<function name="atk_component_contains">
+<description>
+Checks whether the specified point is within the extent of the @component.
+
+
+</description>
+<parameters>
+<parameter name="component">
+<parameter_description> the #AtkComponent
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x coordinate
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y coordinate
+</parameter_description>
+</parameter>
+<parameter name="coord_type">
+<parameter_description> specifies whether the coordinates are relative to the screen
+or to the components top level window
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE or %FALSE indicating whether the specified point is within
+the extent of the @component or not
+</return>
+</function>
+
+<function name="atk_component_get_layer">
+<description>
+Gets the layer of the component.
+
+
+</description>
+<parameters>
+<parameter name="component">
+<parameter_description> an #AtkComponent
+</parameter_description>
+</parameter>
+</parameters>
+<return> an #AtkLayer which is the layer of the component
+</return>
+</function>
+
+<function name="atk_component_add_focus_handler">
+<description>
+Add the specified handler to the set of functions to be called
+when this object receives focus events (in or out). If the handler is
+already added it is not added again
+
+
+</description>
+<parameters>
+<parameter name="component">
+<parameter_description> The #AtkComponent to attach the @handler to
+</parameter_description>
+</parameter>
+<parameter name="handler">
+<parameter_description> The #AtkFocusHandler to be attached to @component
+</parameter_description>
+</parameter>
+</parameters>
+<return> a handler id which can be used in atk_component_remove_focus_handler
+or zero if the handler was already added.
+</return>
+</function>
+
+<function name="atk_component_set_extents">
+<description>
+Sets the extents of @component.
+
+
+</description>
+<parameters>
+<parameter name="component">
+<parameter_description> an #AtkComponent
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x coordinate
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y coordinate
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width to set for @component
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height to set for @component
+</parameter_description>
+</parameter>
+<parameter name="coord_type">
+<parameter_description> specifies whether the coordinates are relative to the screen
+or to the components top level window
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE or %FALSE whether the extents were set or not
+</return>
+</function>
+
+<function name="atk_relation_new">
+<description>
+Create a new relation for the specified key and the specified list
+of targets.
+
+
+</description>
+<parameters>
+<parameter name="targets">
+<parameter_description> an array of pointers to #AtkObjects
+</parameter_description>
+</parameter>
+<parameter name="n_targets">
+<parameter_description> number of #AtkObjects pointed to by @targets
+</parameter_description>
+</parameter>
+<parameter name="relationship">
+<parameter_description> an #AtkRelationType with which to create the new
+#AtkRelation
+</parameter_description>
+</parameter>
+</parameters>
+<return> a pointer to a new #AtkRelation
+</return>
+</function>
+
+<function name="atk_object_get_n_accessible_children">
+<description>
+Gets the number of accessible children of the accessible.
+
+
+</description>
+<parameters>
+<parameter name="accessible">
+<parameter_description> an #AtkObject
+</parameter_description>
+</parameter>
+</parameters>
+<return> an integer representing the number of accessible children
+of the accessible.
+</return>
+</function>
+
+<function name="atk_table_get_column_header">
+<description>
+Gets the column header of a specified column in an accessible table.
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> a #gint representing a column in the table
+</parameter_description>
+</parameter>
+</parameters>
+<return> a AtkObject* representing the specified column header, or
+%NULL if value does not implement this interface.
+</return>
+</function>
+
+<function name="atk_table_set_row_description">
+<description>
+Sets the description text for the specified @row of @table.
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+<parameter name="row">
+<parameter_description> a #gint representing a row in @table
+</parameter_description>
+</parameter>
+<parameter name="description">
+<parameter_description> a #gchar representing the description text
+to set for the specified @row of @table
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_object_initialize">
+<description>
+This function is called when implementing subclasses of #AtkObject.
+It does initialization required for the new object. It is intended
+that this function should called only in the ..._new() functions used
+to create an instance of a subclass of #AtkObject
+
+</description>
+<parameters>
+<parameter name="accessible">
+<parameter_description> a #AtkObject
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> a #gpointer which identifies the object for which the AtkObject was created.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_table_is_selected">
+<description>
+Gets a boolean value indicating whether the accessible object
+at the specified @row and @column is selected
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+<parameter name="row">
+<parameter_description> a #gint representing a row in @table
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> a #gint representing a column in @table
+</parameter_description>
+</parameter>
+</parameters>
+<return> a gboolean representing if the cell is selected, or 0
+if value does not implement this interface.
+</return>
+</function>
+
+<function name="atk_selection_select_all_selection">
+<description>
+Causes every child of the object to be selected if the object
+supports multiple selections.
+
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> a #GObject instance that implements AtkSelectionIface
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if success, FALSE otherwise.
+</return>
+</function>
+
+<function name="atk_selection_clear_selection">
+<description>
+Clears the selection in the object so that no children in the object
+are selected.
+
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> a #GObject instance that implements AtkSelectionIface
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if success, FALSE otherwise.
+</return>
+</function>
+
+<function name="atk_registry_get_factory_type">
+<description>
+Provides a #GType indicating the #AtkObjectFactory subclass
+associated with @type.
+
+
+</description>
+<parameters>
+<parameter name="registry">
+<parameter_description> an #AtkRegistry
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> a #GType with which to look up the associated #AtkObjectFactory
+subclass
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GType associated with type @type
+</return>
+</function>
+
+<function name="atk_focus_tracker_init">
+<description>
+Specifies the function to be called for focus tracker initialization.
+This function should be called by an implementation of the
+ATK interface if any specific work needs to be done to enable
+focus tracking.
+
+</description>
+<parameters>
+<parameter name="add_function">
+<parameter_description> Function to be called for focus tracker initialization
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_table_get_n_columns">
+<description>
+Gets the number of columns in the table.
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+</parameters>
+<return> a gint representing the number of columns, or 0
+if value does not implement this interface.
+</return>
+</function>
+
+<function name="atk_text_get_bounded_ranges">
+<description>
+Get the ranges of text in the specified bounding box.
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkText
+</parameter_description>
+</parameter>
+<parameter name="rect">
+<parameter_description> An AtkTextRectagle giving the dimensions of the bounding box.
+</parameter_description>
+</parameter>
+<parameter name="coord_type">
+<parameter_description> Specify whether coordinates are relative to the screen or widget window.
+</parameter_description>
+</parameter>
+<parameter name="x_clip_type">
+<parameter_description> Specify the horizontal clip type.
+</parameter_description>
+</parameter>
+<parameter name="y_clip_type">
+<parameter_description> Specify the vertical clip type.
+</parameter_description>
+</parameter>
+</parameters>
+<return> Array of AtkTextRange. The last element of the array returned
+by this function will be NULL.
+</return>
+</function>
+
+<function name="atk_table_get_row_extent_at">
+<description>
+Gets the number of rows occupied by the accessible object
+at a specified @row and @column in the @table.
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+<parameter name="row">
+<parameter_description> a #gint representing a row in @table
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> a #gint representing a column in @table
+</parameter_description>
+</parameter>
+</parameters>
+<return> a gint representing the row extent at specified position, or 0
+if value does not implement this interface.
+</return>
+</function>
+
+<function name="atk_table_is_column_selected">
+<description>
+Gets a boolean value indicating whether the specified @column
+is selected
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> a #gint representing a column in @table
+</parameter_description>
+</parameter>
+</parameters>
+<return> a gboolean representing if the column is selected, or 0
+if value does not implement this interface.
+</return>
+</function>
+
+<function name="atk_object_get_description">
+<description>
+Gets the accessible description of the accessible.
+
+
+</description>
+<parameters>
+<parameter name="accessible">
+<parameter_description> an #AtkObject
+</parameter_description>
+</parameter>
+</parameters>
+<return> a character string representing the accessible description
+of the accessible.
+
+</return>
+</function>
+
+<function name="atk_hyperlink_get_object">
+<description>
+Returns the item associated with this hyperlinks nth anchor.
+For instance, the returned #AtkObject will implement #AtkText
+if @link_ is a text hyperlink, #AtkImage if @link_ is an image
+hyperlink etc.
+
+Multiple anchors are primarily used by client-side image maps.
+
+
+</description>
+<parameters>
+<parameter name="link_">
+<parameter_description> an #AtkHyperlink
+</parameter_description>
+</parameter>
+<parameter name="i">
+<parameter_description> a (zero-index) integer specifying the desired anchor
+</parameter_description>
+</parameter>
+</parameters>
+<return> an #AtkObject associated with this hyperlinks i-th anchor
+</return>
+</function>
+
+<function name="atk_get_toolkit_name">
+<description>
+Gets name string for the GUI toolkit implementing ATK for this application.
+
+
+</description>
+<parameters>
+</parameters>
+<return> name string for the GUI toolkit implementing ATK for this application
+</return>
+</function>
+
+<function name="atk_relation_type_for_name">
+<description>
+Get the #AtkRelationType type corresponding to a relation name.
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> a string which is the (non-localized) name of an ATK relation type.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #AtkRelationType enumerated type corresponding to the specified name,
+or #ATK_RELATION_NULL if no matching relation type is found.
+</return>
+</function>
+
+<function name="atk_table_get_selected_columns">
+<description>
+Gets the selected columns of the table by initializing **selected with
+the selected column numbers. This array should be freed by the caller.
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+<parameter name="selected">
+<parameter_description> a #gint** that is to contain the selected columns numbers
+</parameter_description>
+</parameter>
+</parameters>
+<return> a gint representing the number of selected columns,
+or %0 if value does not implement this interface.
+</return>
+</function>
+
+<function name="atk_object_get_mdi_zorder">
+<description>
+Gets the zorder of the accessible. The value G_MININT will be returned
+if the layer of the accessible is not ATK_LAYER_MDI.
+
+
+</description>
+<parameters>
+<parameter name="accessible">
+<parameter_description> an #AtkObject
+</parameter_description>
+</parameter>
+</parameters>
+<return> a gint which is the zorder of the accessible, i.e. the depth at
+which the component is shown in relation to other components in the same
+container.
+
+@Deprecated: Use atk_component_get_mdi_zorder instead.
+</return>
+</function>
+
+<function name="atk_component_get_position">
+<description>
+Gets the position of @component in the form of
+a point specifying @component&apos;s top-left corner.
+
+</description>
+<parameters>
+<parameter name="component">
+<parameter_description> an #AtkComponent
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> address of #gint to put x coordinate position
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> address of #gint to put y coordinate position
+</parameter_description>
+</parameter>
+<parameter name="coord_type">
+<parameter_description> specifies whether the coordinates are relative to the screen
+or to the components top level window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_streamable_content_get_stream">
+<description>
+Gets the content in the specified mime type.
+
+
+</description>
+<parameters>
+<parameter name="streamable">
+<parameter_description> a GObject instance that implements AtkStreamableContentIface
+</parameter_description>
+</parameter>
+<parameter name="mime_type">
+<parameter_description> a gchar* representing the mime type
+</parameter_description>
+</parameter>
+</parameters>
+<return> A #GIOChannel which contains the content in the specified mime
+type.
+</return>
+</function>
+
+<function name="atk_relation_set_contains">
+<description>
+Determines whether the relation set contains a relation that matches the
+specified type.
+
+
+</description>
+<parameters>
+<parameter name="set">
+<parameter_description> an #AtkRelationSet
+</parameter_description>
+</parameter>
+<parameter name="relationship">
+<parameter_description> an #AtkRelationType
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @relationship is the relationship type of a relation
+in @set, %FALSE otherwise
+</return>
+</function>
+
+<function name="atk_action_get_name">
+<description>
+Returns the name of the specified action of the object.
+
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> a #GObject instance that implements AtkActionIface
+</parameter_description>
+</parameter>
+<parameter name="i">
+<parameter_description> the action index corresponding to the action to be performed
+</parameter_description>
+</parameter>
+</parameters>
+<return>a name string, or %NULL
+if @action does not implement this interface.
+</return>
+</function>
+
+<function name="atk_state_set_new">
+<description>
+Creates a new empty state set.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #AtkStateSet
+</return>
+</function>
+
+<function name="atk_table_set_caption">
+<description>
+Sets the caption for the table.
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+<parameter name="caption">
+<parameter_description> a #AtkObject representing the caption to set for @table
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_text_attribute_register">
+<description>
+Associate @name with a new #AtkTextAttribute
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> a name string
+</parameter_description>
+</parameter>
+</parameters>
+<return> an #AtkTextAttribute associated with @name
+</return>
+</function>
+
+<function name="atk_action_do_action">
+<description>
+Perform the specified action on the object.
+
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> a #GObject instance that implements AtkActionIface
+</parameter_description>
+</parameter>
+<parameter name="i">
+<parameter_description> the action index corresponding to the action to be performed
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if success, %FALSE otherwise
+
+</return>
+</function>
+
+<function name="atk_hyperlink_is_inline">
+<description>
+Indicates whether the link currently displays some or all of its
+content inline. Ordinary HTML links will usually return
+%FALSE, but an inline &amp;lt;src&amp;gt; HTML element will return
+%TRUE.
+a *
+
+</description>
+<parameters>
+<parameter name="link_">
+<parameter_description> an #AtkHyperlink
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether or not this link displays its content inline.
+
+</return>
+</function>
+
+<function name="atk_role_get_localized_name">
+<description>
+Gets the localized description string describing the #AtkRole @role.
+
+
+</description>
+<parameters>
+<parameter name="role">
+<parameter_description> The #AtkRole whose localized name is required
+</parameter_description>
+</parameter>
+</parameters>
+<return> the localized string describing the AtkRole
+</return>
+</function>
+
+<function name="atk_role_for_name">
+<description>
+Get the #AtkRole type corresponding to a rolew name.
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> a string which is the (non-localized) name of an ATK role.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #AtkRole enumerated type corresponding to the specified
+name,
+or #ATK_ROLE_INVALID if no matching role is found.
+</return>
+</function>
+
+<function name="atk_selection_remove_selection">
+<description>
+Removes the specified child of the object from the object&apos;s selection.
+
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> a #GObject instance that implements AtkSelectionIface
+</parameter_description>
+</parameter>
+<parameter name="i">
+<parameter_description> a #gint specifying the index in the selection set. (e.g. the
+ith selection as opposed to the ith child).
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if success, FALSE otherwise.
+</return>
+</function>
+
+<function name="atk_text_free_ranges">
+<description>
+Frees the memory associated with an array of AtkTextRange. It is assumed
+that the array was returned by the function atk_text_get_bounded_ranges
+and is NULL terminated.
+
+</description>
+<parameters>
+<parameter name="ranges">
+<parameter_description> A pointer to an array of #AtkTextRange which is to be freed.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_table_set_column_description">
+<description>
+Sets the description text for the specified @column of the @table.
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> a #gint representing a column in @table
+</parameter_description>
+</parameter>
+<parameter name="description">
+<parameter_description> a #gchar representing the description text
+to set for the specified @column of the @table
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_component_set_position">
+<description>
+Sets the postition of @component.
+
+
+</description>
+<parameters>
+<parameter name="component">
+<parameter_description> an #AtkComponent
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x coordinate
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y coordinate
+</parameter_description>
+</parameter>
+<parameter name="coord_type">
+<parameter_description> specifies whether the coordinates are relative to the screen
+or to the components top level window
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE or %FALSE whether or not the position was set or not
+</return>
+</function>
+
+<function name="atk_editable_text_delete_text">
+<description>
+Delete text @start_pos up to, but not including @end_pos.
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkEditableText
+</parameter_description>
+</parameter>
+<parameter name="start_pos">
+<parameter_description> start position
+</parameter_description>
+</parameter>
+<parameter name="end_pos">
+<parameter_description> end position
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_action_get_n_actions">
+<description>
+Gets the number of accessible actions available on the object.
+If there are more than one, the first one is considered the
+&quot;default&quot; action of the object.
+
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> a #GObject instance that implements AtkActionIface
+</parameter_description>
+</parameter>
+</parameters>
+<return> a the number of actions, or 0 if @action does not
+implement this interface.
+</return>
+</function>
+
+<function name="atk_relation_set_remove">
+<description>
+Removes a relation from the relation set.
+This function unref&apos;s the #AtkRelation so it will be deleted unless there
+is another reference to it.
+
+</description>
+<parameters>
+<parameter name="set">
+<parameter_description> an #AtkRelationSet
+</parameter_description>
+</parameter>
+<parameter name="relation">
+<parameter_description> an #AtkRelation
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_object_set_role">
+<description>
+Sets the role of the accessible.
+
+</description>
+<parameters>
+<parameter name="accessible">
+<parameter_description> an #AtkObject
+</parameter_description>
+</parameter>
+<parameter name="role">
+<parameter_description> an #AtkRole to be set as the role
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_role_register">
+<description>
+Registers the role specified by @name.
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> a character string describing the new role.
+</parameter_description>
+</parameter>
+</parameters>
+<return> an #AtkRole for the new role.
+</return>
+</function>
+
+<function name="atk_text_get_character_extents">
+<description>
+Get the bounding box containing the glyph representing the character at
+a particular text offset.
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkText
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> The offset of the text character for which bounding information is required.
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> Pointer for the x cordinate of the bounding box
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> Pointer for the y cordinate of the bounding box
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> Pointer for the width of the bounding box
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> Pointer for the height of the bounding box
+</parameter_description>
+</parameter>
+<parameter name="coords">
+<parameter_description> specify whether coordinates are relative to the screen or widget window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_text_get_text">
+<description>
+Gets the specified text.
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkText
+</parameter_description>
+</parameter>
+<parameter name="start_offset">
+<parameter_description> start position
+</parameter_description>
+</parameter>
+<parameter name="end_offset">
+<parameter_description> end position
+</parameter_description>
+</parameter>
+</parameters>
+<return> the text from @start_offset up to, but not including @end_offset.
+</return>
+</function>
+
+<function name="atk_table_get_row_header">
+<description>
+Gets the row header of a specified row in an accessible table.
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+<parameter name="row">
+<parameter_description> a #gint representing a row in the table
+</parameter_description>
+</parameter>
+</parameters>
+<return> a AtkObject* representing the specified row header, or
+%NULL if value does not implement this interface.
+</return>
+</function>
+
+<function name="atk_state_set_contains_state">
+<description>
+Checks whether the state for the specified type is in the specified set.
+
+
+</description>
+<parameters>
+<parameter name="set">
+<parameter_description> an #AtkStateSet
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> an #AtkStateType
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @type is the state type is in @set.
+</return>
+</function>
+
+<function name="atk_hyperlink_get_end_index">
+<description>
+Gets the index with the hypertext document at which this link ends.
+
+
+</description>
+<parameters>
+<parameter name="link_">
+<parameter_description> an #AtkHyperlink
+</parameter_description>
+</parameter>
+</parameters>
+<return> the index with the hypertext document at which this link ends
+</return>
+</function>
+
+<function name="atk_action_get_localized_name">
+<description>
+Returns the localized name of the specified action of the object.
+
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> a #GObject instance that implements AtkActionIface
+</parameter_description>
+</parameter>
+<parameter name="i">
+<parameter_description> the action index corresponding to the action to be performed
+</parameter_description>
+</parameter>
+</parameters>
+<return>a name string, or %NULL
+if @action does not implement this interface.
+</return>
+</function>
+
+<function name="atk_registry_set_factory_type">
+<description>
+Associate an #AtkObjectFactory subclass with a #GType. Note:
+The associated @factory_type will thereafter be responsible for
+the creation of new #AtkObject implementations for instances
+appropriate for @type.
+
+</description>
+<parameters>
+<parameter name="registry">
+<parameter_description> the #AtkRegistry in which to register the type association
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> an #AtkObject type
+</parameter_description>
+</parameter>
+<parameter name="factory_type">
+<parameter_description> an #AtkObjectFactory type to associate with @type. Must
+implement AtkObject appropriate for @type.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_text_attribute_get_name">
+<description>
+Gets the name corresponding to the #AtkTextAttribute
+
+
+</description>
+<parameters>
+<parameter name="attr">
+<parameter_description> The #AtkTextAttribute whose name is required
+</parameter_description>
+</parameter>
+</parameters>
+<return> a string containing the name; this string should not be freed
+</return>
+</function>
+
+<function name="atk_action_get_description">
+<description>
+Returns a description of the specified action of the object.
+
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> a #GObject instance that implements AtkActionIface
+</parameter_description>
+</parameter>
+<parameter name="i">
+<parameter_description> the action index corresponding to the action to be performed
+</parameter_description>
+</parameter>
+</parameters>
+<return>a description string, or %NULL
+if @action does not implement this interface.
+</return>
+</function>
+
+<function name="atk_attribute_set_free">
+<description>
+Frees the memory used by an #AtkAttributeSet, including all its
+#AtkAttributes.
+
+</description>
+<parameters>
+<parameter name="attrib_set">
+<parameter_description> The #AtkAttributeSet to free
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_action_get_keybinding">
+<description>
+Returns a keybinding associated with this action, if one exists.
+
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> a #GObject instance that implements AtkActionIface
+</parameter_description>
+</parameter>
+<parameter name="i">
+<parameter_description> the action index corresponding to the action to be performed
+</parameter_description>
+</parameter>
+</parameters>
+<return>a string representing the keybinding, or %NULL
+if there is no keybinding for this action.
+
+</return>
+</function>
+
+<function name="atk_text_get_text_before_offset">
+<description>
+Gets the specified text.
+
+If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character before the
+offset is returned.
+
+If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string
+is from the word start before the word start before the offset to
+the word start before the offset.
+
+The returned string will contain the word before the offset if the offset
+is inside a word and will contain the word before the word before the
+offset if the offset is not inside a word.
+
+If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string
+is from the word end before the word end at or before the offset to the
+word end at or before the offset.
+
+The returned string will contain the word before the offset if the offset
+is inside a word or if the offset is not inside a word.
+
+If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned
+string is from the sentence start before the sentence start before
+the offset to the sentence start before the offset.
+
+The returned string will contain the sentence before the offset if the
+offset is inside a sentence and will contain the sentence before the
+sentence before the offset if the offset is not inside a sentence.
+
+If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string
+is from the sentence end before the sentence end at or before the offset to
+the sentence end at or before the offset.
+
+The returned string will contain the sentence before the offset if the
+offset is inside a sentence or if the offset is not inside a sentence.
+
+If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned
+string is from the line start before the line start ar or before the offset
+to the line start ar or before the offset.
+
+If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string
+is from the line end before the line end before the offset to the
+line end before the offset.
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkText
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> position
+</parameter_description>
+</parameter>
+<parameter name="boundary_type">
+<parameter_description> An #AtkTextBoundary
+</parameter_description>
+</parameter>
+<parameter name="start_offset">
+<parameter_description> the start offset of the returned string
+</parameter_description>
+</parameter>
+<parameter name="end_offset">
+<parameter_description> the offset of the first character after the
+returned substring
+</parameter_description>
+</parameter>
+</parameters>
+<return> the text before @offset bounded by the specified @boundary_type.
+</return>
+</function>
+
+<function name="atk_table_get_index_at">
+<description>
+Gets a #gint representing the index at the specified @row and @column.
+The value -1 is returned if the object at row,column is not a child
+of table or table does not implement this interface.
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+<parameter name="row">
+<parameter_description> a #gint representing a row in @table
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> a #gint representing a column in @table
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #gint representing the index at specified position
+</return>
+</function>
+
+<function name="atk_object_set_parent">
+<description>
+Sets the accessible parent of the accessible.
+
+</description>
+<parameters>
+<parameter name="accessible">
+<parameter_description> an #AtkObject
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> an #AtkObject to be set as the accessible parent
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_text_remove_selection">
+<description>
+Removes the specified selection.
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkText
+</parameter_description>
+</parameter>
+<parameter name="selection_num">
+<parameter_description> The selection number. The selected regions are
+assigned numbers that correspond to how far the region is from the
+start of the text. The selected region closest to the beginning
+of the text region is assigned the number 0, etc. Note that adding,
+moving or deleting a selected region can change the numbering.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if success, %FALSE otherwise
+</return>
+</function>
+
+<function name="atk_selection_get_selection_count">
+<description>
+Gets the number of accessible children currently selected.
+Note: callers should not rely on %NULL or on a zero value for
+indication of whether AtkSelectionIface is implemented, they should
+use type checking/interface checking macros or the
+atk_get_accessible_value() convenience method.
+
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> a #GObject instance that implements AtkSelectionIface
+</parameter_description>
+</parameter>
+</parameters>
+<return> a gint representing the number of items selected, or 0
+if @selection does not implement this interface.
+</return>
+</function>
+
+<function name="atk_get_toolkit_version">
+<description>
+Gets version string for the GUI toolkit implementing ATK for this application.
+
+
+</description>
+<parameters>
+</parameters>
+<return> version string for the GUI toolkit implementing ATK for this application
+</return>
+</function>
+
+<function name="atk_component_get_extents">
+<description>
+Gets the rectangle which gives the extent of the @component.
+
+
+</description>
+<parameters>
+<parameter name="component">
+<parameter_description> an #AtkComponent
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> address of #gint to put x coordinate
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> address of #gint to put y coordinate
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> address of #gint to put width
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> address of #gint to put height
+</parameter_description>
+</parameter>
+<parameter name="coord_type">
+<parameter_description> specifies whether the coordinates are relative to the screen
+or to the components top level window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_get_default_registry">
+<description>
+Gets a default implementation of the #AtkObjectFactory/type
+registry.
+Note: For most toolkit maintainers, this will be the correct
+registry for registering new #AtkObject factories. Following
+a call to this function, maintainers may call atk_registry_set_factory_type()
+to associate an #AtkObjectFactory subclass with the GType of objects
+for whom accessibility information will be provided.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a default implementation of the #AtkObjectFactory/type
+registry
+</return>
+</function>
+
+<function name="atk_registry_get_factory">
+<description>
+Gets an #AtkObjectFactory appropriate for creating #AtkObjects
+appropriate for @type.
+
+
+</description>
+<parameters>
+<parameter name="registry">
+<parameter_description> an #AtkRegistry
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> a #GType with which to look up the associated #AtkObjectFactory
+</parameter_description>
+</parameter>
+</parameters>
+<return> an #AtkObjectFactory appropriate for creating #AtkObjects
+appropriate for @type.
+</return>
+</function>
+
+<function name="atk_state_set_xor_sets">
+<description>
+Constructs the exclusive-or of the two sets, returning %NULL is empty.
+The set returned by this operation contains the states in exactly
+one of the two sets.
+
+
+</description>
+<parameters>
+<parameter name="set">
+<parameter_description> an #AtkStateSet
+</parameter_description>
+</parameter>
+<parameter name="compare_set">
+<parameter_description> another #AtkStateSet
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #AtkStateSet which contains the states which are
+in exactly one of the two sets.
+</return>
+</function>
+
+<function name="atk_state_set_or_sets">
+<description>
+Constructs the union of the two sets.
+
+
+</description>
+<parameters>
+<parameter name="set">
+<parameter_description> an #AtkStateSet
+</parameter_description>
+</parameter>
+<parameter name="compare_set">
+<parameter_description> another #AtkStateSet
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #AtkStateSet which is the union of the two sets,
+returning %NULL is empty.
+</return>
+</function>
+
+<function name="atk_component_get_size">
+<description>
+Gets the size of the @component in terms of width and height.
+
+</description>
+<parameters>
+<parameter name="component">
+<parameter_description> an #AtkComponent
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> address of #gint to put width of @component
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> address of #gint to put height of @component
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_text_get_caret_offset">
+<description>
+Gets the offset position of the caret (cursor).
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkText
+</parameter_description>
+</parameter>
+</parameters>
+<return> the offset position of the caret (cursor).
+</return>
+</function>
+
+<function name="atk_relation_set_get_relation_by_type">
+<description>
+Finds a relation that matches the specified type.
+
+
+</description>
+<parameters>
+<parameter name="set">
+<parameter_description> an #AtkRelationSet
+</parameter_description>
+</parameter>
+<parameter name="relationship">
+<parameter_description> an #AtkRelationType
+</parameter_description>
+</parameter>
+</parameters>
+<return> an #AtkRelation, which is a relation matching the specified type.
+</return>
+</function>
+
+<function name="atk_object_factory_invalidate">
+<description>
+Inform @factory that it is no longer being used to create
+accessibles. When called, @factory may need to inform
+#AtkObjects which it has created that they need to be re-instantiated.
+Note: primarily used for runtime replacement of #AtkObjectFactorys
+in object registries.
+
+</description>
+<parameters>
+<parameter name="factory">
+<parameter_description> an #AtkObjectFactory to invalidate
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_table_get_row_description">
+<description>
+Gets the description text of the specified row in the table
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+<parameter name="row">
+<parameter_description> a #gint representing a row in @table
+</parameter_description>
+</parameter>
+</parameters>
+<return> a gchar* representing the row description, or %NULL
+if value does not implement this interface.
+</return>
+</function>
+
+<function name="atk_state_set_and_sets">
+<description>
+Constructs the intersection of the two sets, returning %NULL if the
+intersection is empty.
+
+
+</description>
+<parameters>
+<parameter name="set">
+<parameter_description> an #AtkStateSet
+</parameter_description>
+</parameter>
+<parameter name="compare_set">
+<parameter_description> another #AtkStateSet
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #AtkStateSet which is the intersection of the two sets.
+</return>
+</function>
+
+<function name="atk_table_remove_column_selection">
+<description>
+Adds the specified @column to the selection.
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> a #gint representing a column in @table
+</parameter_description>
+</parameter>
+</parameters>
+<return> a gboolean representing if the column was successfully removed from
+the selection, or 0 if value does not implement this interface.
+</return>
+</function>
+
+<function name="atk_table_get_row_at_index">
+<description>
+Gets a #gint representing the row at the specified @index_, or -1
+if the table does not implement this interface
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableInterface
+</parameter_description>
+</parameter>
+<parameter name="index_">
+<parameter_description> a #gint representing an index in @table
+</parameter_description>
+</parameter>
+</parameters>
+<return> a gint representing the row at the specified index.
+</return>
+</function>
+
+<function name="atk_action_set_description">
+<description>
+Sets a description of the specified action of the object.
+
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> a #GObject instance that implements AtkActionIface
+</parameter_description>
+</parameter>
+<parameter name="i">
+<parameter_description> the action index corresponding to the action to be performed
+</parameter_description>
+</parameter>
+<parameter name="desc">
+<parameter_description> the description to be assigned to this action
+</parameter_description>
+</parameter>
+</parameters>
+<return> a gboolean representing if the description was successfully set;
+</return>
+</function>
+
+<function name="atk_component_set_size">
+<description>
+Set the size of the @component in terms of width and height.
+
+
+</description>
+<parameters>
+<parameter name="component">
+<parameter_description> an #AtkComponent
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width to set for @component
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height to set for @component
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE or %FALSE whether the size was set or not
+</return>
+</function>
+
+<function name="atk_value_set_current_value">
+<description>
+Sets the value of this object.
+
+
+</description>
+<parameters>
+<parameter name="obj">
+<parameter_description> a GObject instance that implements AtkValueIface
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> a #GValue which is the desired new accessible value.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if new value is successfully set, %FALSE otherwise.
+</return>
+</function>
+
+<function name="atk_remove_global_event_listener">
+<description>
+Removes the specified event listener
+
+</description>
+<parameters>
+<parameter name="listener_id">
+<parameter_description> the id of the event listener to remove
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_add_global_event_listener">
+<description>
+Adds the specified function to the list of functions to be called
+when an event of type event_type occurs.
+
+
+</description>
+<parameters>
+<parameter name="listener">
+<parameter_description> the listener to notify
+</parameter_description>
+</parameter>
+<parameter name="event_type">
+<parameter_description> the type of event for which notification is requested
+</parameter_description>
+</parameter>
+</parameters>
+<return> added event listener id, or 0 on failure.
+</return>
+</function>
+
+<function name="atk_table_ref_at">
+<description>
+Get a reference to the table cell at @row, @column.
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+<parameter name="row">
+<parameter_description> a #gint representing a row in @table
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> a #gint representing a column in @table
+</parameter_description>
+</parameter>
+</parameters>
+<return> a AtkObject* representing the referred to accessible
+</return>
+</function>
+
+<function name="atk_object_get_name">
+<description>
+Gets the accessible name of the accessible.
+
+
+</description>
+<parameters>
+<parameter name="accessible">
+<parameter_description> an #AtkObject
+</parameter_description>
+</parameter>
+</parameters>
+<return> a character string representing the accessible name of the object.
+</return>
+</function>
+
+<function name="atk_object_remove_property_change_handler">
+<description>
+Removes a property change handler.
+
+</description>
+<parameters>
+<parameter name="accessible">
+<parameter_description> an #AtkObject
+</parameter_description>
+</parameter>
+<parameter name="handler_id">
+<parameter_description> a guint which identifies the handler to be removed.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_table_get_summary">
+<description>
+Gets the summary description of the table.
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+</parameters>
+<return> a AtkObject* representing a summary description of the table,
+or zero if value does not implement this interface.
+</return>
+</function>
+
+<function name="atk_editable_text_set_text_contents">
+<description>
+Set text contents of @text.
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkEditableText
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> string to set for text contents of @text
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_state_set_is_empty">
+<description>
+Checks whether the state set is empty, i.e. has no states set.
+
+
+</description>
+<parameters>
+<parameter name="set">
+<parameter_description> an #AtkStateType
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @set has no states set, otherwise %FALSE
+</return>
+</function>
+
+<function name="atk_value_get_maximum_value">
+<description>
+Gets the maximum value of this object.
+
+</description>
+<parameters>
+<parameter name="obj">
+<parameter_description> a GObject instance that implements AtkValueIface
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> a #GValue representing the maximum accessible value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_relation_set_get_n_relations">
+<description>
+Determines the number of relations in a relation set.
+
+
+</description>
+<parameters>
+<parameter name="set">
+<parameter_description> an #AtkRelationSet
+</parameter_description>
+</parameter>
+</parameters>
+<return> an integer representing the number of relations in the set.
+</return>
+</function>
+
+<function name="atk_text_get_text_after_offset">
+<description>
+Gets the specified text.
+
+If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character after the
+offset is returned.
+
+If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string
+is from the word start after the offset to the next word start.
+
+The returned string will contain the word after the offset if the offset
+is inside a word or if the offset is not inside a word.
+
+If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string
+is from the word end at or after the offset to the next work end.
+
+The returned string will contain the word after the offset if the offset
+is inside a word and will contain the word after the word after the offset
+if the offset is not inside a word.
+
+If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned
+string is from the sentence start after the offset to the next sentence
+start.
+
+The returned string will contain the sentence after the offset if the offset
+is inside a sentence or if the offset is not inside a sentence.
+
+If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string
+is from the sentence end at or after the offset to the next sentence end.
+
+The returned string will contain the sentence after the offset if the offset
+is inside a sentence and will contain the sentence after the sentence
+after the offset if the offset is not inside a sentence.
+
+If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned
+string is from the line start after the offset to the next line start.
+
+If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string
+is from the line end at or after the offset to the next line start.
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkText
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> position
+</parameter_description>
+</parameter>
+<parameter name="boundary_type">
+<parameter_description> An #AtkTextBoundary
+</parameter_description>
+</parameter>
+<parameter name="start_offset">
+<parameter_description> the start offset of the returned string
+</parameter_description>
+</parameter>
+<parameter name="end_offset">
+<parameter_description> the offset of the first character after the
+returned substring
+</parameter_description>
+</parameter>
+</parameters>
+<return> the text after @offset bounded by the specified @boundary_type.
+</return>
+</function>
+
+<function name="atk_image_get_image_size">
+<description>
+Get the width and height in pixels for the specified image.
+The values of @width and @height are returned as -1 if the
+values cannot be obtained.
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GObject instance that implements AtkImageIface
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> filled with the image width
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> filled with the image height
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_relation_set_add">
+<description>
+Add a new relation to the current relation set if it is not already
+present.
+This function ref&apos;s the AtkRelation so the caller of this function
+should unref it to ensure that it will be destroyed when the AtkRelationSet
+is destroyed.
+
+</description>
+<parameters>
+<parameter name="set">
+<parameter_description> an #AtkRelationSet
+</parameter_description>
+</parameter>
+<parameter name="relation">
+<parameter_description> an #AtkRelation
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_editable_text_set_run_attributes">
+<description>
+Sets the attributes for a specified range. See the ATK_ATTRIBUTE
+macros (such as #ATK_ATTRIBUTE_LEFT_MARGIN) for examples of attributes
+that can be set. Note that other attributes that do not have corresponding
+ATK_ATTRIBUTE macros may also be set for certain text widgets.
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkEditableText
+</parameter_description>
+</parameter>
+<parameter name="attrib_set">
+<parameter_description> an #AtkAttributeSet
+</parameter_description>
+</parameter>
+<parameter name="start_offset">
+<parameter_description> start of range in which to set attributes
+</parameter_description>
+</parameter>
+<parameter name="end_offset">
+<parameter_description> end of range in which to set attributes
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if attributes successfully set for the specified
+range, otherwise %FALSE
+</return>
+</function>
+
+<function name="atk_table_get_column_extent_at">
+<description>
+Gets the number of columns occupied by the accessible object
+at the specified @row and @column in the @table.
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+<parameter name="row">
+<parameter_description> a #gint representing a row in @table
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> a #gint representing a column in @table
+</parameter_description>
+</parameter>
+</parameters>
+<return> a gint representing the column extent at specified position, or 0
+if value does not implement this interface.
+</return>
+</function>
+
+<function name="atk_state_set_add_states">
+<description>
+Add the states for the specified types to the current state set.
+
+</description>
+<parameters>
+<parameter name="set">
+<parameter_description> an #AtkStateSet
+</parameter_description>
+</parameter>
+<parameter name="types">
+<parameter_description> an array of #AtkStateType
+</parameter_description>
+</parameter>
+<parameter name="n_types">
+<parameter_description> The number of elements in the array
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_state_type_for_name">
+<description>
+Gets the #AtkStateType corresponding to the description string @name.
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> a character string state name
+</parameter_description>
+</parameter>
+</parameters>
+<return> an #AtkStateType corresponding to @name
+</return>
+</function>
+
+<function name="atk_hypertext_get_link_index">
+<description>
+Gets the index into the array of hyperlinks that is associated with
+the character specified by @char_index, or -1 if there is no hyperlink
+associated with this character.
+
+
+</description>
+<parameters>
+<parameter name="hypertext">
+<parameter_description> an #AtkHypertext
+</parameter_description>
+</parameter>
+<parameter name="char_index">
+<parameter_description> a character index
+</parameter_description>
+</parameter>
+</parameters>
+<return> an index into the array of hyperlinks in @hypertext
+</return>
+</function>
+
+<function name="atk_object_add_relationship">
+<description>
+Adds a relationship of the specified type with the specified target.
+
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> The #AtkObject to which an AtkRelation is to be added.
+</parameter_description>
+</parameter>
+<parameter name="relationship">
+<parameter_description> The #AtkRelationType of the relation
+</parameter_description>
+</parameter>
+<parameter name="target">
+<parameter_description> The #AtkObject which is to be the target of the relation.
+</parameter_description>
+</parameter>
+</parameters>
+<return>TRUE if the relationship is added.
+</return>
+</function>
+
+<function name="atk_table_set_column_header">
+<description>
+Sets the specified column header to @header.
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a GObject instance that implements AtkTableIface
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> a #gint representing a column in @table
+</parameter_description>
+</parameter>
+<parameter name="header">
+<parameter_description> an #AtkTable
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_component_remove_focus_handler">
+<description>
+Remove the handler specified by @handler_id from the list of
+functions to be executed when this object receives focus events
+(in or out).
+
+</description>
+<parameters>
+<parameter name="component">
+<parameter_description> the #AtkComponent to remove the focus handler from
+</parameter_description>
+</parameter>
+<parameter name="handler_id">
+<parameter_description> the handler id of the focus handler to be removed
+from @component
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_state_set_add_state">
+<description>
+Add a new state for the specified type to the current state set if
+it is not already present.
+
+
+</description>
+<parameters>
+<parameter name="set">
+<parameter_description> an #AtkStateSet
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> an #AtkStateType
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the state for @type is not already in @set.
+</return>
+</function>
+
+<function name="atk_value_get_current_value">
+<description>
+Gets the value of this object.
+
+</description>
+<parameters>
+<parameter name="obj">
+<parameter_description> a GObject instance that implements AtkValueIface
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> a #GValue representing the current accessible value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_state_set_contains_states">
+<description>
+Checks whether the states for all the specified types are in the
+specified set.
+
+
+</description>
+<parameters>
+<parameter name="set">
+<parameter_description> an #AtkStateSet
+</parameter_description>
+</parameter>
+<parameter name="types">
+<parameter_description> an array of #AtkStateType
+</parameter_description>
+</parameter>
+<parameter name="n_types">
+<parameter_description> The number of elements in the array
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if all the states for @type are in @set.
+</return>
+</function>
+
+<function name="atk_remove_key_event_listener">
+<description>
+Removes the specified event listener
+
+</description>
+<parameters>
+<parameter name="listener_id">
+<parameter_description> the id of the event listener to remove
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="atk_hypertext_get_n_links">
+<description>
+Gets the number of links within this hypertext document.
+
+
+</description>
+<parameters>
+<parameter name="hypertext">
+<parameter_description> an #AtkHypertext
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of links within this hypertext document
+</return>
+</function>
+
+<function name="atk_streamable_content_get_mime_type">
+<description>
+Gets the character string of the specified mime type. The first mime
+type is at position 0, the second at position 1, and so on.
+
+
+</description>
+<parameters>
+<parameter name="streamable">
+<parameter_description> a GObject instance that implements AtkStreamableContent
+</parameter_description>
+</parameter>
+<parameter name="i">
+<parameter_description> a gint representing the position of the mime type starting from 0
+</parameter_description>
+</parameter>
+</parameters>
+<return>: a gchar* representing the specified mime type; the caller
+should not free the character string.
+</return>
+</function>
+
+<function name="atk_selection_add_selection">
+<description>
+Adds the specified accessible child of the object to the
+object&apos;s selection.
+
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> a #GObject instance that implements AtkSelectionIface
+</parameter_description>
+</parameter>
+<parameter name="i">
+<parameter_description> a #gint specifying the child index.
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if success, FALSE otherwise.
+</return>
+</function>
+
+<function name="atk_hyperlink_get_uri">
+<description>
+Get a the URI associated with the anchor specified
+by @i of @link_.
+
+Multiple anchors are primarily used by client-side image maps.
+
+
+</description>
+<parameters>
+<parameter name="link_">
+<parameter_description> an #AtkHyperlink
+</parameter_description>
+</parameter>
+<parameter name="i">
+<parameter_description> a (zero-index) integer specifying the desired anchor
+</parameter_description>
+</parameter>
+</parameters>
+<return> a string specifying the URI
+</return>
+</function>
+
+</root>
diff --git a/libs/gtkmm2/atk/src/atk_docs_override.xml b/libs/gtkmm2/atk/src/atk_docs_override.xml
new file mode 100644
index 0000000000..05a355d3de
--- /dev/null
+++ b/libs/gtkmm2/atk/src/atk_docs_override.xml
@@ -0,0 +1,117 @@
+<root>
+
+
+<function name="atk_text_get_run_attributes">
+<description>
+Creates an #AtkAttributeSet which consists of the attributes explicitly
+set at the position @offset in the text. @start_offset and @end_offset are
+set to the start and end of the range around @offset where the attributes are
+invariant. See the enum AtkTextAttribute for types of text attributes that
+can be returned. Note that other attributes may also be returned.
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkText
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> the offset at which to get the attributes
+</parameter_description>
+</parameter>
+<parameter name="start_offset">
+<parameter_description> the address to put the start offset of the range
+</parameter_description>
+</parameter>
+<parameter name="end_offset">
+<parameter_description> the address to put the end offset of the range
+</parameter_description>
+</parameter>
+</parameters>
+<return> an #AtkAttributeSet which contains the attributes explicitly set
+at @offset.
+</return>
+</function>
+
+
+<function name="atk_text_get_default_attributes">
+<description>
+Creates an #AtkAttributeSet which consists of the default values of
+attributes for the text. See the enum AtkTextAttribute for types of text
+attributes that can be returned. Note that other attributes may also be
+returned.
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an #AtkText
+</parameter_description>
+</parameter>
+</parameters>
+<return> an #AtkAttributeSet which contains the default values of attributes.
+at @offset.
+</return>
+</function>
+
+<function name="atk_action_get_name">
+<description>
+Returns the name of the specified action of the object.
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> a #GObject instance that implements AtkActionIface
+</parameter_description>
+</parameter>
+<parameter name="i">
+<parameter_description> the action index corresponding to the action to be performed
+</parameter_description>
+</parameter>
+</parameters>
+<return>a name string, or an empty string if @action does not implement this interface.
+</return>
+</function>
+
+<function name="atk_action_get_keybinding">
+<description>
+Returns a keybinding associated with this action, if one exists.
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> a #GObject instance that implements AtkActionIface
+</parameter_description>
+</parameter>
+<parameter name="i">
+<parameter_description> the action index corresponding to the action to be performed
+</parameter_description>
+</parameter>
+</parameters>
+<return>a string representing the keybinding, or an empty string
+if there is no keybinding for this action.
+
+</return>
+</function>
+
+<function name="atk_action_get_localized_name">
+<description>
+Returns the localized name of the specified action of the object.
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> a #GObject instance that implements AtkActionIface
+</parameter_description>
+</parameter>
+<parameter name="i">
+<parameter_description> the action index corresponding to the action to be performed
+</parameter_description>
+</parameter>
+</parameters>
+<return>a name string, or an empty string
+if @action does not implement this interface.
+</return>
+</function>
+
+
+</root>
+
diff --git a/libs/gtkmm2/atk/src/atk_enums.defs b/libs/gtkmm2/atk/src/atk_enums.defs
new file mode 100644
index 0000000000..93d8893cfa
--- /dev/null
+++ b/libs/gtkmm2/atk/src/atk_enums.defs
@@ -0,0 +1,263 @@
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkhyperlink.h
+
+(define-flags-extended HyperlinkStateFlags
+ (in-module "Atk")
+ (c-name "AtkHyperlinkStateFlags")
+ (values
+ '("e" "ATK_HYPERLINK_IS_INLINE" "1 << 0")
+ )
+)
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkobject.h
+
+(define-enum-extended Role
+ (in-module "Atk")
+ (c-name "AtkRole")
+ (values
+ '("invalid" "ATK_ROLE_INVALID" "0")
+ '("accel-label" "ATK_ROLE_ACCEL_LABEL" "1")
+ '("alert" "ATK_ROLE_ALERT" "2")
+ '("animation" "ATK_ROLE_ANIMATION" "3")
+ '("arrow" "ATK_ROLE_ARROW" "4")
+ '("calendar" "ATK_ROLE_CALENDAR" "5")
+ '("canvas" "ATK_ROLE_CANVAS" "6")
+ '("check-box" "ATK_ROLE_CHECK_BOX" "7")
+ '("check-menu-item" "ATK_ROLE_CHECK_MENU_ITEM" "8")
+ '("color-chooser" "ATK_ROLE_COLOR_CHOOSER" "9")
+ '("column-header" "ATK_ROLE_COLUMN_HEADER" "10")
+ '("combo-box" "ATK_ROLE_COMBO_BOX" "11")
+ '("date-editor" "ATK_ROLE_DATE_EDITOR" "12")
+ '("desktop-icon" "ATK_ROLE_DESKTOP_ICON" "13")
+ '("desktop-frame" "ATK_ROLE_DESKTOP_FRAME" "14")
+ '("dial" "ATK_ROLE_DIAL" "15")
+ '("dialog" "ATK_ROLE_DIALOG" "16")
+ '("directory-pane" "ATK_ROLE_DIRECTORY_PANE" "17")
+ '("drawing-area" "ATK_ROLE_DRAWING_AREA" "18")
+ '("file-chooser" "ATK_ROLE_FILE_CHOOSER" "19")
+ '("filler" "ATK_ROLE_FILLER" "20")
+ '("font-chooser" "ATK_ROLE_FONT_CHOOSER" "21")
+ '("frame" "ATK_ROLE_FRAME" "22")
+ '("glass-pane" "ATK_ROLE_GLASS_PANE" "23")
+ '("html-container" "ATK_ROLE_HTML_CONTAINER" "24")
+ '("icon" "ATK_ROLE_ICON" "25")
+ '("image" "ATK_ROLE_IMAGE" "26")
+ '("internal-frame" "ATK_ROLE_INTERNAL_FRAME" "27")
+ '("label" "ATK_ROLE_LABEL" "28")
+ '("layered-pane" "ATK_ROLE_LAYERED_PANE" "29")
+ '("list" "ATK_ROLE_LIST" "30")
+ '("list-item" "ATK_ROLE_LIST_ITEM" "31")
+ '("menu" "ATK_ROLE_MENU" "32")
+ '("menu-bar" "ATK_ROLE_MENU_BAR" "33")
+ '("menu-item" "ATK_ROLE_MENU_ITEM" "34")
+ '("option-pane" "ATK_ROLE_OPTION_PANE" "35")
+ '("page-tab" "ATK_ROLE_PAGE_TAB" "36")
+ '("page-tab-list" "ATK_ROLE_PAGE_TAB_LIST" "37")
+ '("panel" "ATK_ROLE_PANEL" "38")
+ '("password-text" "ATK_ROLE_PASSWORD_TEXT" "39")
+ '("popup-menu" "ATK_ROLE_POPUP_MENU" "40")
+ '("progress-bar" "ATK_ROLE_PROGRESS_BAR" "41")
+ '("push-button" "ATK_ROLE_PUSH_BUTTON" "42")
+ '("radio-button" "ATK_ROLE_RADIO_BUTTON" "43")
+ '("radio-menu-item" "ATK_ROLE_RADIO_MENU_ITEM" "44")
+ '("root-pane" "ATK_ROLE_ROOT_PANE" "45")
+ '("row-header" "ATK_ROLE_ROW_HEADER" "46")
+ '("scroll-bar" "ATK_ROLE_SCROLL_BAR" "47")
+ '("scroll-pane" "ATK_ROLE_SCROLL_PANE" "48")
+ '("separator" "ATK_ROLE_SEPARATOR" "49")
+ '("slider" "ATK_ROLE_SLIDER" "50")
+ '("split-pane" "ATK_ROLE_SPLIT_PANE" "51")
+ '("spin-button" "ATK_ROLE_SPIN_BUTTON" "52")
+ '("statusbar" "ATK_ROLE_STATUSBAR" "53")
+ '("table" "ATK_ROLE_TABLE" "54")
+ '("table-cell" "ATK_ROLE_TABLE_CELL" "55")
+ '("table-column-header" "ATK_ROLE_TABLE_COLUMN_HEADER" "56")
+ '("table-row-header" "ATK_ROLE_TABLE_ROW_HEADER" "57")
+ '("tear-off-menu-item" "ATK_ROLE_TEAR_OFF_MENU_ITEM" "58")
+ '("terminal" "ATK_ROLE_TERMINAL" "59")
+ '("text" "ATK_ROLE_TEXT" "60")
+ '("toggle-button" "ATK_ROLE_TOGGLE_BUTTON" "61")
+ '("tool-bar" "ATK_ROLE_TOOL_BAR" "62")
+ '("tool-tip" "ATK_ROLE_TOOL_TIP" "63")
+ '("tree" "ATK_ROLE_TREE" "64")
+ '("tree-table" "ATK_ROLE_TREE_TABLE" "65")
+ '("unknown" "ATK_ROLE_UNKNOWN" "66")
+ '("viewport" "ATK_ROLE_VIEWPORT" "67")
+ '("window" "ATK_ROLE_WINDOW" "68")
+ '("header" "ATK_ROLE_HEADER" "69")
+ '("footer" "ATK_ROLE_FOOTER" "70")
+ '("paragraph" "ATK_ROLE_PARAGRAPH" "71")
+ '("ruler" "ATK_ROLE_RULER" "72")
+ '("application" "ATK_ROLE_APPLICATION" "73")
+ '("autocomplete" "ATK_ROLE_AUTOCOMPLETE" "74")
+ '("editbar" "ATK_ROLE_EDITBAR" "75")
+ '("embedded" "ATK_ROLE_EMBEDDED" "76")
+ '("last-defined" "ATK_ROLE_LAST_DEFINED" "77")
+ )
+)
+
+(define-enum-extended Layer
+ (in-module "Atk")
+ (c-name "AtkLayer")
+ (values
+ '("invalid" "ATK_LAYER_INVALID" "0")
+ '("background" "ATK_LAYER_BACKGROUND" "1")
+ '("canvas" "ATK_LAYER_CANVAS" "2")
+ '("widget" "ATK_LAYER_WIDGET" "3")
+ '("mdi" "ATK_LAYER_MDI" "4")
+ '("popup" "ATK_LAYER_POPUP" "5")
+ '("overlay" "ATK_LAYER_OVERLAY" "6")
+ '("window" "ATK_LAYER_WINDOW" "7")
+ )
+)
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkrelationtype.h
+
+(define-enum-extended RelationType
+ (in-module "Atk")
+ (c-name "AtkRelationType")
+ (values
+ '("null" "ATK_RELATION_NULL" "0")
+ '("controlled-by" "ATK_RELATION_CONTROLLED_BY" "1")
+ '("controller-for" "ATK_RELATION_CONTROLLER_FOR" "2")
+ '("label-for" "ATK_RELATION_LABEL_FOR" "3")
+ '("labelled-by" "ATK_RELATION_LABELLED_BY" "4")
+ '("member-of" "ATK_RELATION_MEMBER_OF" "5")
+ '("node-child-of" "ATK_RELATION_NODE_CHILD_OF" "6")
+ '("flows-to" "ATK_RELATION_FLOWS_TO" "7")
+ '("flows-from" "ATK_RELATION_FLOWS_FROM" "8")
+ '("subwindow-of" "ATK_RELATION_SUBWINDOW_OF" "9")
+ '("embeds" "ATK_RELATION_EMBEDS" "10")
+ '("embedded-by" "ATK_RELATION_EMBEDDED_BY" "11")
+ '("popup-for" "ATK_RELATION_POPUP_FOR" "12")
+ '("parent-window-of" "ATK_RELATION_PARENT_WINDOW_OF" "13")
+ '("last-defined" "ATK_RELATION_LAST_DEFINED" "14")
+ )
+)
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkstate.h
+
+(define-enum-extended StateType
+ (in-module "Atk")
+ (c-name "AtkStateType")
+ (values
+ '("invalid" "ATK_STATE_INVALID" "0")
+ '("active" "ATK_STATE_ACTIVE" "1")
+ '("armed" "ATK_STATE_ARMED" "2")
+ '("busy" "ATK_STATE_BUSY" "3")
+ '("checked" "ATK_STATE_CHECKED" "4")
+ '("defunct" "ATK_STATE_DEFUNCT" "5")
+ '("editable" "ATK_STATE_EDITABLE" "6")
+ '("enabled" "ATK_STATE_ENABLED" "7")
+ '("expandable" "ATK_STATE_EXPANDABLE" "8")
+ '("expanded" "ATK_STATE_EXPANDED" "9")
+ '("focusable" "ATK_STATE_FOCUSABLE" "10")
+ '("focused" "ATK_STATE_FOCUSED" "11")
+ '("horizontal" "ATK_STATE_HORIZONTAL" "12")
+ '("iconified" "ATK_STATE_ICONIFIED" "13")
+ '("modal" "ATK_STATE_MODAL" "14")
+ '("multi-line" "ATK_STATE_MULTI_LINE" "15")
+ '("multiselectable" "ATK_STATE_MULTISELECTABLE" "16")
+ '("opaque" "ATK_STATE_OPAQUE" "17")
+ '("pressed" "ATK_STATE_PRESSED" "18")
+ '("resizable" "ATK_STATE_RESIZABLE" "19")
+ '("selectable" "ATK_STATE_SELECTABLE" "20")
+ '("selected" "ATK_STATE_SELECTED" "21")
+ '("sensitive" "ATK_STATE_SENSITIVE" "22")
+ '("showing" "ATK_STATE_SHOWING" "23")
+ '("single-line" "ATK_STATE_SINGLE_LINE" "24")
+ '("stale" "ATK_STATE_STALE" "25")
+ '("transient" "ATK_STATE_TRANSIENT" "26")
+ '("vertical" "ATK_STATE_VERTICAL" "27")
+ '("visible" "ATK_STATE_VISIBLE" "28")
+ '("manages-descendants" "ATK_STATE_MANAGES_DESCENDANTS" "29")
+ '("indeterminate" "ATK_STATE_INDETERMINATE" "30")
+ '("truncated" "ATK_STATE_TRUNCATED" "31")
+ '("required" "ATK_STATE_REQUIRED" "32")
+ '("last-defined" "ATK_STATE_LAST_DEFINED" "33")
+ )
+)
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atktext.h
+
+(define-enum-extended TextAttribute
+ (in-module "Atk")
+ (c-name "AtkTextAttribute")
+ (values
+ '("invalid" "ATK_TEXT_ATTR_INVALID" "0")
+ '("left-margin" "ATK_TEXT_ATTR_LEFT_MARGIN" "1")
+ '("right-margin" "ATK_TEXT_ATTR_RIGHT_MARGIN" "2")
+ '("indent" "ATK_TEXT_ATTR_INDENT" "3")
+ '("invisible" "ATK_TEXT_ATTR_INVISIBLE" "4")
+ '("editable" "ATK_TEXT_ATTR_EDITABLE" "5")
+ '("pixels-above-lines" "ATK_TEXT_ATTR_PIXELS_ABOVE_LINES" "6")
+ '("pixels-below-lines" "ATK_TEXT_ATTR_PIXELS_BELOW_LINES" "7")
+ '("pixels-inside-wrap" "ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP" "8")
+ '("bg-full-height" "ATK_TEXT_ATTR_BG_FULL_HEIGHT" "9")
+ '("rise" "ATK_TEXT_ATTR_RISE" "10")
+ '("underline" "ATK_TEXT_ATTR_UNDERLINE" "11")
+ '("strikethrough" "ATK_TEXT_ATTR_STRIKETHROUGH" "12")
+ '("size" "ATK_TEXT_ATTR_SIZE" "13")
+ '("scale" "ATK_TEXT_ATTR_SCALE" "14")
+ '("weight" "ATK_TEXT_ATTR_WEIGHT" "15")
+ '("language" "ATK_TEXT_ATTR_LANGUAGE" "16")
+ '("family-name" "ATK_TEXT_ATTR_FAMILY_NAME" "17")
+ '("bg-color" "ATK_TEXT_ATTR_BG_COLOR" "18")
+ '("fg-color" "ATK_TEXT_ATTR_FG_COLOR" "19")
+ '("bg-stipple" "ATK_TEXT_ATTR_BG_STIPPLE" "20")
+ '("fg-stipple" "ATK_TEXT_ATTR_FG_STIPPLE" "21")
+ '("wrap-mode" "ATK_TEXT_ATTR_WRAP_MODE" "22")
+ '("direction" "ATK_TEXT_ATTR_DIRECTION" "23")
+ '("justification" "ATK_TEXT_ATTR_JUSTIFICATION" "24")
+ '("stretch" "ATK_TEXT_ATTR_STRETCH" "25")
+ '("variant" "ATK_TEXT_ATTR_VARIANT" "26")
+ '("style" "ATK_TEXT_ATTR_STYLE" "27")
+ '("last-defined" "ATK_TEXT_ATTR_LAST_DEFINED" "28")
+ )
+)
+
+(define-enum-extended TextBoundary
+ (in-module "Atk")
+ (c-name "AtkTextBoundary")
+ (values
+ '("char" "ATK_TEXT_BOUNDARY_CHAR" "0")
+ '("word-start" "ATK_TEXT_BOUNDARY_WORD_START" "1")
+ '("word-end" "ATK_TEXT_BOUNDARY_WORD_END" "2")
+ '("sentence-start" "ATK_TEXT_BOUNDARY_SENTENCE_START" "3")
+ '("sentence-end" "ATK_TEXT_BOUNDARY_SENTENCE_END" "4")
+ '("line-start" "ATK_TEXT_BOUNDARY_LINE_START" "5")
+ '("line-end" "ATK_TEXT_BOUNDARY_LINE_END" "6")
+ )
+)
+
+(define-enum-extended TextClipType
+ (in-module "Atk")
+ (c-name "AtkTextClipType")
+ (values
+ '("none" "ATK_TEXT_CLIP_NONE" "0")
+ '("min" "ATK_TEXT_CLIP_MIN" "1")
+ '("max" "ATK_TEXT_CLIP_MAX" "2")
+ '("both" "ATK_TEXT_CLIP_BOTH" "3")
+ )
+)
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkutil.h
+
+(define-enum-extended KeyEventType
+ (in-module "Atk")
+ (c-name "AtkKeyEventType")
+ (values
+ '("press" "ATK_KEY_EVENT_PRESS" "0")
+ '("release" "ATK_KEY_EVENT_RELEASE" "1")
+ '("last-defined" "ATK_KEY_EVENT_LAST_DEFINED" "2")
+ )
+)
+
+(define-enum-extended CoordType
+ (in-module "Atk")
+ (c-name "AtkCoordType")
+ (values
+ '("screen" "ATK_XY_SCREEN" "0")
+ '("window" "ATK_XY_WINDOW" "1")
+ )
+)
+
diff --git a/libs/gtkmm2/atk/src/atk_methods.defs b/libs/gtkmm2/atk/src/atk_methods.defs
new file mode 100644
index 0000000000..51cf715a23
--- /dev/null
+++ b/libs/gtkmm2/atk/src/atk_methods.defs
@@ -0,0 +1,2284 @@
+;; -*- scheme -*-
+; object definitions ...
+(define-object Action
+ (in-module "Atk")
+ (c-name "AtkAction")
+ (gtype-id "ATK_TYPE_ACTION")
+)
+
+(define-object Component
+ (in-module "Atk")
+ (c-name "AtkComponent")
+ (gtype-id "ATK_TYPE_COMPONENT")
+)
+
+(define-object Document
+ (in-module "Atk")
+ (c-name "AtkDocument")
+ (gtype-id "ATK_TYPE_DOCUMENT")
+)
+
+(define-object EditableText
+ (in-module "Atk")
+ (c-name "AtkEditableText")
+ (gtype-id "ATK_TYPE_EDITABLE_TEXT")
+)
+
+(define-object Hyperlink
+ (in-module "Atk")
+ (parent "GObject")
+ (c-name "AtkHyperlink")
+ (gtype-id "ATK_TYPE_HYPERLINK")
+)
+
+(define-object Hypertext
+ (in-module "Atk")
+ (c-name "AtkHypertext")
+ (gtype-id "ATK_TYPE_HYPERTEXT")
+)
+
+(define-object Image
+ (in-module "Atk")
+ (c-name "AtkImage")
+ (gtype-id "ATK_TYPE_IMAGE")
+)
+
+(define-object Implementor
+ (in-module "Atk")
+ (c-name "AtkImplementor")
+ (gtype-id "ATK_TYPE_IMPLEMENTOR")
+)
+
+(define-object Object
+ (in-module "Atk")
+ (parent "GObject")
+ (c-name "AtkObject")
+ (gtype-id "ATK_TYPE_OBJECT")
+)
+
+(define-object NoOpObject
+ (in-module "Atk")
+ (parent "AtkObject")
+ (c-name "AtkNoOpObject")
+ (gtype-id "ATK_TYPE_NO_OP_OBJECT")
+)
+
+(define-object GObjectAccessible
+ (in-module "Atk")
+ (parent "AtkObject")
+ (c-name "AtkGObjectAccessible")
+ (gtype-id "ATK_TYPE_GOBJECT_ACCESSIBLE")
+)
+
+(define-object ObjectFactory
+ (in-module "Atk")
+ (parent "GObject")
+ (c-name "AtkObjectFactory")
+ (gtype-id "ATK_TYPE_OBJECT_FACTORY")
+)
+
+(define-object NoOpObjectFactory
+ (in-module "Atk")
+ (parent "AtkObjectFactory")
+ (c-name "AtkNoOpObjectFactory")
+ (gtype-id "ATK_TYPE_NO_OP_OBJECT_FACTORY")
+)
+
+(define-object Registry
+ (in-module "Atk")
+ (parent "GObject")
+ (c-name "AtkRegistry")
+ (gtype-id "ATK_TYPE_REGISTRY")
+)
+
+(define-object Relation
+ (in-module "Atk")
+ (parent "GObject")
+ (c-name "AtkRelation")
+ (gtype-id "ATK_TYPE_RELATION")
+)
+
+(define-object RelationSet
+ (in-module "Atk")
+ (parent "GObject")
+ (c-name "AtkRelationSet")
+ (gtype-id "ATK_TYPE_RELATION_SET")
+)
+
+(define-object Selection
+ (in-module "Atk")
+ (c-name "AtkSelection")
+ (gtype-id "ATK_TYPE_SELECTION")
+)
+
+(define-object StateSet
+ (in-module "Atk")
+ (parent "GObject")
+ (c-name "AtkStateSet")
+ (gtype-id "ATK_TYPE_STATE_SET")
+)
+
+(define-object StreamableContent
+ (in-module "Atk")
+ (c-name "AtkStreamableContent")
+ (gtype-id "ATK_TYPE_STREAMABLE_CONTENT")
+)
+
+(define-object Table
+ (in-module "Atk")
+ (c-name "AtkTable")
+ (gtype-id "ATK_TYPE_TABLE")
+)
+
+(define-object Text
+ (in-module "Atk")
+ (c-name "AtkText")
+ (gtype-id "ATK_TYPE_TEXT")
+)
+
+(define-object Util
+ (in-module "Atk")
+ (parent "GObject")
+ (c-name "AtkUtil")
+ (gtype-id "ATK_TYPE_UTIL")
+)
+
+(define-object Value
+ (in-module "Atk")
+ (c-name "AtkValue")
+ (gtype-id "ATK_TYPE_VALUE")
+)
+
+;; Enumerations and flags ...
+
+(define-flags HyperlinkStateFlags
+ (in-module "Atk")
+ (c-name "AtkHyperlinkStateFlags")
+ (gtype-id "ATK_TYPE_HYPERLINK_STATE_FLAGS")
+ (values
+ '("e" "ATK_HYPERLINK_IS_INLINE")
+ )
+)
+
+(define-enum Role
+ (in-module "Atk")
+ (c-name "AtkRole")
+ (gtype-id "ATK_TYPE_ROLE")
+ (values
+ '("invalid" "ATK_ROLE_INVALID")
+ '("accel-label" "ATK_ROLE_ACCEL_LABEL")
+ '("alert" "ATK_ROLE_ALERT")
+ '("animation" "ATK_ROLE_ANIMATION")
+ '("arrow" "ATK_ROLE_ARROW")
+ '("calendar" "ATK_ROLE_CALENDAR")
+ '("canvas" "ATK_ROLE_CANVAS")
+ '("check-box" "ATK_ROLE_CHECK_BOX")
+ '("check-menu-item" "ATK_ROLE_CHECK_MENU_ITEM")
+ '("color-chooser" "ATK_ROLE_COLOR_CHOOSER")
+ '("column-header" "ATK_ROLE_COLUMN_HEADER")
+ '("combo-box" "ATK_ROLE_COMBO_BOX")
+ '("date-editor" "ATK_ROLE_DATE_EDITOR")
+ '("desktop-icon" "ATK_ROLE_DESKTOP_ICON")
+ '("desktop-frame" "ATK_ROLE_DESKTOP_FRAME")
+ '("dial" "ATK_ROLE_DIAL")
+ '("dialog" "ATK_ROLE_DIALOG")
+ '("directory-pane" "ATK_ROLE_DIRECTORY_PANE")
+ '("drawing-area" "ATK_ROLE_DRAWING_AREA")
+ '("file-chooser" "ATK_ROLE_FILE_CHOOSER")
+ '("filler" "ATK_ROLE_FILLER")
+ '("font-chooser" "ATK_ROLE_FONT_CHOOSER")
+ '("frame" "ATK_ROLE_FRAME")
+ '("glass-pane" "ATK_ROLE_GLASS_PANE")
+ '("html-container" "ATK_ROLE_HTML_CONTAINER")
+ '("icon" "ATK_ROLE_ICON")
+ '("image" "ATK_ROLE_IMAGE")
+ '("internal-frame" "ATK_ROLE_INTERNAL_FRAME")
+ '("label" "ATK_ROLE_LABEL")
+ '("layered-pane" "ATK_ROLE_LAYERED_PANE")
+ '("list" "ATK_ROLE_LIST")
+ '("list-item" "ATK_ROLE_LIST_ITEM")
+ '("menu" "ATK_ROLE_MENU")
+ '("menu-bar" "ATK_ROLE_MENU_BAR")
+ '("menu-item" "ATK_ROLE_MENU_ITEM")
+ '("option-pane" "ATK_ROLE_OPTION_PANE")
+ '("page-tab" "ATK_ROLE_PAGE_TAB")
+ '("page-tab-list" "ATK_ROLE_PAGE_TAB_LIST")
+ '("panel" "ATK_ROLE_PANEL")
+ '("password-text" "ATK_ROLE_PASSWORD_TEXT")
+ '("popup-menu" "ATK_ROLE_POPUP_MENU")
+ '("progress-bar" "ATK_ROLE_PROGRESS_BAR")
+ '("push-button" "ATK_ROLE_PUSH_BUTTON")
+ '("radio-button" "ATK_ROLE_RADIO_BUTTON")
+ '("radio-menu-item" "ATK_ROLE_RADIO_MENU_ITEM")
+ '("root-pane" "ATK_ROLE_ROOT_PANE")
+ '("row-header" "ATK_ROLE_ROW_HEADER")
+ '("scroll-bar" "ATK_ROLE_SCROLL_BAR")
+ '("scroll-pane" "ATK_ROLE_SCROLL_PANE")
+ '("separator" "ATK_ROLE_SEPARATOR")
+ '("slider" "ATK_ROLE_SLIDER")
+ '("split-pane" "ATK_ROLE_SPLIT_PANE")
+ '("spin-button" "ATK_ROLE_SPIN_BUTTON")
+ '("statusbar" "ATK_ROLE_STATUSBAR")
+ '("table" "ATK_ROLE_TABLE")
+ '("table-cell" "ATK_ROLE_TABLE_CELL")
+ '("table-column-header" "ATK_ROLE_TABLE_COLUMN_HEADER")
+ '("table-row-header" "ATK_ROLE_TABLE_ROW_HEADER")
+ '("tear-off-menu-item" "ATK_ROLE_TEAR_OFF_MENU_ITEM")
+ '("terminal" "ATK_ROLE_TERMINAL")
+ '("text" "ATK_ROLE_TEXT")
+ '("toggle-button" "ATK_ROLE_TOGGLE_BUTTON")
+ '("tool-bar" "ATK_ROLE_TOOL_BAR")
+ '("tool-tip" "ATK_ROLE_TOOL_TIP")
+ '("tree" "ATK_ROLE_TREE")
+ '("tree-table" "ATK_ROLE_TREE_TABLE")
+ '("unknown" "ATK_ROLE_UNKNOWN")
+ '("viewport" "ATK_ROLE_VIEWPORT")
+ '("window" "ATK_ROLE_WINDOW")
+ '("header" "ATK_ROLE_HEADER")
+ '("footer" "ATK_ROLE_FOOTER")
+ '("paragraph" "ATK_ROLE_PARAGRAPH")
+ '("ruler" "ATK_ROLE_RULER")
+ '("application" "ATK_ROLE_APPLICATION")
+ '("autocomplete" "ATK_ROLE_AUTOCOMPLETE")
+ '("editbar" "ATK_ROLE_EDITBAR")
+ '("embedded" "ATK_ROLE_EMBEDDED")
+ '("last-defined" "ATK_ROLE_LAST_DEFINED")
+ )
+)
+
+(define-enum Layer
+ (in-module "Atk")
+ (c-name "AtkLayer")
+ (gtype-id "ATK_TYPE_LAYER")
+ (values
+ '("invalid" "ATK_LAYER_INVALID")
+ '("background" "ATK_LAYER_BACKGROUND")
+ '("canvas" "ATK_LAYER_CANVAS")
+ '("widget" "ATK_LAYER_WIDGET")
+ '("mdi" "ATK_LAYER_MDI")
+ '("popup" "ATK_LAYER_POPUP")
+ '("overlay" "ATK_LAYER_OVERLAY")
+ '("window" "ATK_LAYER_WINDOW")
+ )
+)
+
+(define-enum RelationType
+ (in-module "Atk")
+ (c-name "AtkRelationType")
+ (gtype-id "ATK_TYPE_RELATION_TYPE")
+ (values
+ '("null" "ATK_RELATION_NULL")
+ '("controlled-by" "ATK_RELATION_CONTROLLED_BY")
+ '("controller-for" "ATK_RELATION_CONTROLLER_FOR")
+ '("label-for" "ATK_RELATION_LABEL_FOR")
+ '("labelled-by" "ATK_RELATION_LABELLED_BY")
+ '("member-of" "ATK_RELATION_MEMBER_OF")
+ '("node-child-of" "ATK_RELATION_NODE_CHILD_OF")
+ '("flows-to" "ATK_RELATION_FLOWS_TO")
+ '("flows-from" "ATK_RELATION_FLOWS_FROM")
+ '("subwindow-of" "ATK_RELATION_SUBWINDOW_OF")
+ '("embeds" "ATK_RELATION_EMBEDS")
+ '("embedded-by" "ATK_RELATION_EMBEDDED_BY")
+ '("popup-for" "ATK_RELATION_POPUP_FOR")
+ '("parent-window-of" "ATK_RELATION_PARENT_WINDOW_OF")
+ '("last-defined" "ATK_RELATION_LAST_DEFINED")
+ )
+)
+
+(define-enum StateType
+ (in-module "Atk")
+ (c-name "AtkStateType")
+ (gtype-id "ATK_TYPE_STATE_TYPE")
+ (values
+ '("invalid" "ATK_STATE_INVALID")
+ '("active" "ATK_STATE_ACTIVE")
+ '("armed" "ATK_STATE_ARMED")
+ '("busy" "ATK_STATE_BUSY")
+ '("checked" "ATK_STATE_CHECKED")
+ '("defunct" "ATK_STATE_DEFUNCT")
+ '("editable" "ATK_STATE_EDITABLE")
+ '("enabled" "ATK_STATE_ENABLED")
+ '("expandable" "ATK_STATE_EXPANDABLE")
+ '("expanded" "ATK_STATE_EXPANDED")
+ '("focusable" "ATK_STATE_FOCUSABLE")
+ '("focused" "ATK_STATE_FOCUSED")
+ '("horizontal" "ATK_STATE_HORIZONTAL")
+ '("iconified" "ATK_STATE_ICONIFIED")
+ '("modal" "ATK_STATE_MODAL")
+ '("multi-line" "ATK_STATE_MULTI_LINE")
+ '("multiselectable" "ATK_STATE_MULTISELECTABLE")
+ '("opaque" "ATK_STATE_OPAQUE")
+ '("pressed" "ATK_STATE_PRESSED")
+ '("resizable" "ATK_STATE_RESIZABLE")
+ '("selectable" "ATK_STATE_SELECTABLE")
+ '("selected" "ATK_STATE_SELECTED")
+ '("sensitive" "ATK_STATE_SENSITIVE")
+ '("showing" "ATK_STATE_SHOWING")
+ '("single-line" "ATK_STATE_SINGLE_LINE")
+ '("stale" "ATK_STATE_STALE")
+ '("transient" "ATK_STATE_TRANSIENT")
+ '("vertical" "ATK_STATE_VERTICAL")
+ '("visible" "ATK_STATE_VISIBLE")
+ '("manages-descendants" "ATK_STATE_MANAGES_DESCENDANTS")
+ '("indeterminate" "ATK_STATE_INDETERMINATE")
+ '("truncated" "ATK_STATE_TRUNCATED")
+ '("last-defined" "ATK_STATE_LAST_DEFINED")
+ )
+)
+
+(define-enum TextAttribute
+ (in-module "Atk")
+ (c-name "AtkTextAttribute")
+ (gtype-id "ATK_TYPE_TEXT_ATTRIBUTE")
+ (values
+ '("invalid" "ATK_TEXT_ATTR_INVALID")
+ '("left-margin" "ATK_TEXT_ATTR_LEFT_MARGIN")
+ '("right-margin" "ATK_TEXT_ATTR_RIGHT_MARGIN")
+ '("indent" "ATK_TEXT_ATTR_INDENT")
+ '("invisible" "ATK_TEXT_ATTR_INVISIBLE")
+ '("editable" "ATK_TEXT_ATTR_EDITABLE")
+ '("pixels-above-lines" "ATK_TEXT_ATTR_PIXELS_ABOVE_LINES")
+ '("pixels-below-lines" "ATK_TEXT_ATTR_PIXELS_BELOW_LINES")
+ '("pixels-inside-wrap" "ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP")
+ '("bg-full-height" "ATK_TEXT_ATTR_BG_FULL_HEIGHT")
+ '("rise" "ATK_TEXT_ATTR_RISE")
+ '("underline" "ATK_TEXT_ATTR_UNDERLINE")
+ '("strikethrough" "ATK_TEXT_ATTR_STRIKETHROUGH")
+ '("size" "ATK_TEXT_ATTR_SIZE")
+ '("scale" "ATK_TEXT_ATTR_SCALE")
+ '("weight" "ATK_TEXT_ATTR_WEIGHT")
+ '("language" "ATK_TEXT_ATTR_LANGUAGE")
+ '("family-name" "ATK_TEXT_ATTR_FAMILY_NAME")
+ '("bg-color" "ATK_TEXT_ATTR_BG_COLOR")
+ '("fg-color" "ATK_TEXT_ATTR_FG_COLOR")
+ '("bg-stipple" "ATK_TEXT_ATTR_BG_STIPPLE")
+ '("fg-stipple" "ATK_TEXT_ATTR_FG_STIPPLE")
+ '("wrap-mode" "ATK_TEXT_ATTR_WRAP_MODE")
+ '("direction" "ATK_TEXT_ATTR_DIRECTION")
+ '("justification" "ATK_TEXT_ATTR_JUSTIFICATION")
+ '("stretch" "ATK_TEXT_ATTR_STRETCH")
+ '("variant" "ATK_TEXT_ATTR_VARIANT")
+ '("style" "ATK_TEXT_ATTR_STYLE")
+ '("last-defined" "ATK_TEXT_ATTR_LAST_DEFINED")
+ )
+)
+
+(define-enum TextBoundary
+ (in-module "Atk")
+ (c-name "AtkTextBoundary")
+ (gtype-id "ATK_TYPE_TEXT_BOUNDARY")
+ (values
+ '("char" "ATK_TEXT_BOUNDARY_CHAR")
+ '("word-start" "ATK_TEXT_BOUNDARY_WORD_START")
+ '("word-end" "ATK_TEXT_BOUNDARY_WORD_END")
+ '("sentence-start" "ATK_TEXT_BOUNDARY_SENTENCE_START")
+ '("sentence-end" "ATK_TEXT_BOUNDARY_SENTENCE_END")
+ '("line-start" "ATK_TEXT_BOUNDARY_LINE_START")
+ '("line-end" "ATK_TEXT_BOUNDARY_LINE_END")
+ )
+)
+
+(define-enum TextClipType
+ (in-module "Atk")
+ (c-name "AtkTextClipType")
+ (gtype-id "ATK_TYPE_TEXT_CLIP_TYPE")
+ (values
+ '("none" "ATK_TEXT_CLIP_NONE")
+ '("min" "ATK_TEXT_CLIP_MIN")
+ '("max" "ATK_TEXT_CLIP_MAX")
+ '("both" "ATK_TEXT_CLIP_BOTH")
+ )
+)
+
+(define-enum KeyEventType
+ (in-module "Atk")
+ (c-name "AtkKeyEventType")
+ (gtype-id "ATK_TYPE_KEY_EVENT_TYPE")
+ (values
+ '("press" "ATK_KEY_EVENT_PRESS")
+ '("release" "ATK_KEY_EVENT_RELEASE")
+ '("last-defined" "ATK_KEY_EVENT_LAST_DEFINED")
+ )
+)
+
+(define-enum CoordType
+ (in-module "Atk")
+ (c-name "AtkCoordType")
+ (gtype-id "ATK_TYPE_COORD_TYPE")
+ (values
+ '("screen" "ATK_XY_SCREEN")
+ '("window" "ATK_XY_WINDOW")
+ )
+)
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkaction.h
+
+(define-function atk_action_get_type
+ (c-name "atk_action_get_type")
+ (return-type "GType")
+)
+
+(define-method do_action
+ (of-object "AtkAction")
+ (c-name "atk_action_do_action")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-method get_n_actions
+ (of-object "AtkAction")
+ (c-name "atk_action_get_n_actions")
+ (return-type "gint")
+)
+
+(define-method get_description
+ (of-object "AtkAction")
+ (c-name "atk_action_get_description")
+ (return-type "const-gchar*")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-method get_name
+ (of-object "AtkAction")
+ (c-name "atk_action_get_name")
+ (return-type "const-gchar*")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-method get_keybinding
+ (of-object "AtkAction")
+ (c-name "atk_action_get_keybinding")
+ (return-type "const-gchar*")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-method set_description
+ (of-object "AtkAction")
+ (c-name "atk_action_set_description")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "i")
+ '("const-gchar*" "desc")
+ )
+)
+
+(define-method get_localized_name
+ (of-object "AtkAction")
+ (c-name "atk_action_get_localized_name")
+ (return-type "const-gchar*")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkcomponent.h
+
+(define-function atk_rectangle_get_type
+ (c-name "atk_rectangle_get_type")
+ (return-type "GType")
+)
+
+(define-function atk_component_get_type
+ (c-name "atk_component_get_type")
+ (return-type "GType")
+)
+
+(define-method add_focus_handler
+ (of-object "AtkComponent")
+ (c-name "atk_component_add_focus_handler")
+ (return-type "guint")
+ (parameters
+ '("AtkFocusHandler" "handler")
+ )
+)
+
+(define-method contains
+ (of-object "AtkComponent")
+ (c-name "atk_component_contains")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ '("AtkCoordType" "coord_type")
+ )
+)
+
+(define-method ref_accessible_at_point
+ (of-object "AtkComponent")
+ (c-name "atk_component_ref_accessible_at_point")
+ (return-type "AtkObject*")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ '("AtkCoordType" "coord_type")
+ )
+)
+
+(define-method get_extents
+ (of-object "AtkComponent")
+ (c-name "atk_component_get_extents")
+ (return-type "none")
+ (parameters
+ '("gint*" "x")
+ '("gint*" "y")
+ '("gint*" "width")
+ '("gint*" "height")
+ '("AtkCoordType" "coord_type")
+ )
+)
+
+(define-method get_position
+ (of-object "AtkComponent")
+ (c-name "atk_component_get_position")
+ (return-type "none")
+ (parameters
+ '("gint*" "x")
+ '("gint*" "y")
+ '("AtkCoordType" "coord_type")
+ )
+)
+
+(define-method get_size
+ (of-object "AtkComponent")
+ (c-name "atk_component_get_size")
+ (return-type "none")
+ (parameters
+ '("gint*" "width")
+ '("gint*" "height")
+ )
+)
+
+(define-method get_layer
+ (of-object "AtkComponent")
+ (c-name "atk_component_get_layer")
+ (return-type "AtkLayer")
+)
+
+(define-method get_mdi_zorder
+ (of-object "AtkComponent")
+ (c-name "atk_component_get_mdi_zorder")
+ (return-type "gint")
+)
+
+(define-method grab_focus
+ (of-object "AtkComponent")
+ (c-name "atk_component_grab_focus")
+ (return-type "gboolean")
+)
+
+(define-method remove_focus_handler
+ (of-object "AtkComponent")
+ (c-name "atk_component_remove_focus_handler")
+ (return-type "none")
+ (parameters
+ '("guint" "handler_id")
+ )
+)
+
+(define-method set_extents
+ (of-object "AtkComponent")
+ (c-name "atk_component_set_extents")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("AtkCoordType" "coord_type")
+ )
+)
+
+(define-method set_position
+ (of-object "AtkComponent")
+ (c-name "atk_component_set_position")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ '("AtkCoordType" "coord_type")
+ )
+)
+
+(define-method set_size
+ (of-object "AtkComponent")
+ (c-name "atk_component_set_size")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkdocument.h
+
+(define-function atk_document_get_type
+ (c-name "atk_document_get_type")
+ (return-type "GType")
+)
+
+(define-method get_document_type
+ (of-object "AtkDocument")
+ (c-name "atk_document_get_document_type")
+ (return-type "const-gchar*")
+)
+
+(define-method get_document
+ (of-object "AtkDocument")
+ (c-name "atk_document_get_document")
+ (return-type "gpointer")
+)
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkeditabletext.h
+
+(define-function atk_editable_text_get_type
+ (c-name "atk_editable_text_get_type")
+ (return-type "GType")
+)
+
+(define-method set_run_attributes
+ (of-object "AtkEditableText")
+ (c-name "atk_editable_text_set_run_attributes")
+ (return-type "gboolean")
+ (parameters
+ '("AtkAttributeSet*" "attrib_set")
+ '("gint" "start_offset")
+ '("gint" "end_offset")
+ )
+)
+
+(define-method set_text_contents
+ (of-object "AtkEditableText")
+ (c-name "atk_editable_text_set_text_contents")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "string")
+ )
+)
+
+(define-method insert_text
+ (of-object "AtkEditableText")
+ (c-name "atk_editable_text_insert_text")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "string")
+ '("gint" "length")
+ '("gint*" "position")
+ )
+)
+
+(define-method copy_text
+ (of-object "AtkEditableText")
+ (c-name "atk_editable_text_copy_text")
+ (return-type "none")
+ (parameters
+ '("gint" "start_pos")
+ '("gint" "end_pos")
+ )
+)
+
+(define-method cut_text
+ (of-object "AtkEditableText")
+ (c-name "atk_editable_text_cut_text")
+ (return-type "none")
+ (parameters
+ '("gint" "start_pos")
+ '("gint" "end_pos")
+ )
+)
+
+(define-method delete_text
+ (of-object "AtkEditableText")
+ (c-name "atk_editable_text_delete_text")
+ (return-type "none")
+ (parameters
+ '("gint" "start_pos")
+ '("gint" "end_pos")
+ )
+)
+
+(define-method paste_text
+ (of-object "AtkEditableText")
+ (c-name "atk_editable_text_paste_text")
+ (return-type "none")
+ (parameters
+ '("gint" "position")
+ )
+)
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atk-enum-types.h
+
+(define-function atk_hyperlink_state_flags_get_type
+ (c-name "atk_hyperlink_state_flags_get_type")
+ (return-type "GType")
+)
+
+(define-function atk_role_get_type
+ (c-name "atk_role_get_type")
+ (return-type "GType")
+)
+
+(define-function atk_layer_get_type
+ (c-name "atk_layer_get_type")
+ (return-type "GType")
+)
+
+(define-function atk_relation_type_get_type
+ (c-name "atk_relation_type_get_type")
+ (return-type "GType")
+)
+
+(define-function atk_state_type_get_type
+ (c-name "atk_state_type_get_type")
+ (return-type "GType")
+)
+
+(define-function atk_text_attribute_get_type
+ (c-name "atk_text_attribute_get_type")
+ (return-type "GType")
+)
+
+(define-function atk_text_boundary_get_type
+ (c-name "atk_text_boundary_get_type")
+ (return-type "GType")
+)
+
+(define-function atk_text_clip_type_get_type
+ (c-name "atk_text_clip_type_get_type")
+ (return-type "GType")
+)
+
+(define-function atk_key_event_type_get_type
+ (c-name "atk_key_event_type_get_type")
+ (return-type "GType")
+)
+
+(define-function atk_coord_type_get_type
+ (c-name "atk_coord_type_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkgobjectaccessible.h
+
+(define-function atk_gobject_accessible_get_type
+ (c-name "atk_gobject_accessible_get_type")
+ (return-type "GType")
+)
+
+(define-function atk_gobject_accessible_for_object
+ (c-name "atk_gobject_accessible_for_object")
+ (return-type "AtkObject*")
+ (parameters
+ '("GObject*" "obj")
+ )
+)
+
+(define-method get_object
+ (of-object "AtkGObjectAccessible")
+ (c-name "atk_gobject_accessible_get_object")
+ (return-type "GObject*")
+)
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atk.h
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkhyperlink.h
+
+(define-function atk_hyperlink_get_type
+ (c-name "atk_hyperlink_get_type")
+ (return-type "GType")
+)
+
+(define-method get_uri
+ (of-object "AtkHyperlink")
+ (c-name "atk_hyperlink_get_uri")
+ (return-type "gchar*")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-method get_object
+ (of-object "AtkHyperlink")
+ (c-name "atk_hyperlink_get_object")
+ (return-type "AtkObject*")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-method get_end_index
+ (of-object "AtkHyperlink")
+ (c-name "atk_hyperlink_get_end_index")
+ (return-type "gint")
+)
+
+(define-method get_start_index
+ (of-object "AtkHyperlink")
+ (c-name "atk_hyperlink_get_start_index")
+ (return-type "gint")
+)
+
+(define-method is_valid
+ (of-object "AtkHyperlink")
+ (c-name "atk_hyperlink_is_valid")
+ (return-type "gboolean")
+)
+
+(define-method is_inline
+ (of-object "AtkHyperlink")
+ (c-name "atk_hyperlink_is_inline")
+ (return-type "gboolean")
+)
+
+(define-method get_n_anchors
+ (of-object "AtkHyperlink")
+ (c-name "atk_hyperlink_get_n_anchors")
+ (return-type "gint")
+)
+
+(define-method is_selected_link
+ (of-object "AtkHyperlink")
+ (c-name "atk_hyperlink_is_selected_link")
+ (return-type "gboolean")
+)
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkhypertext.h
+
+(define-function atk_hypertext_get_type
+ (c-name "atk_hypertext_get_type")
+ (return-type "GType")
+)
+
+(define-method get_link
+ (of-object "AtkHypertext")
+ (c-name "atk_hypertext_get_link")
+ (return-type "AtkHyperlink*")
+ (parameters
+ '("gint" "link_index")
+ )
+)
+
+(define-method get_n_links
+ (of-object "AtkHypertext")
+ (c-name "atk_hypertext_get_n_links")
+ (return-type "gint")
+)
+
+(define-method get_link_index
+ (of-object "AtkHypertext")
+ (c-name "atk_hypertext_get_link_index")
+ (return-type "gint")
+ (parameters
+ '("gint" "char_index")
+ )
+)
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkimage.h
+
+(define-function atk_image_get_type
+ (c-name "atk_image_get_type")
+ (return-type "GType")
+)
+
+(define-method get_image_description
+ (of-object "AtkImage")
+ (c-name "atk_image_get_image_description")
+ (return-type "const-gchar*")
+)
+
+(define-method get_image_size
+ (of-object "AtkImage")
+ (c-name "atk_image_get_image_size")
+ (return-type "none")
+ (parameters
+ '("gint*" "width")
+ '("gint*" "height")
+ )
+)
+
+(define-method set_image_description
+ (of-object "AtkImage")
+ (c-name "atk_image_set_image_description")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "description")
+ )
+)
+
+(define-method get_image_position
+ (of-object "AtkImage")
+ (c-name "atk_image_get_image_position")
+ (return-type "none")
+ (parameters
+ '("gint*" "x")
+ '("gint*" "y")
+ '("AtkCoordType" "coord_type")
+ )
+)
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkintl.h
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkmarshal.h
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atknoopobjectfactory.h
+
+(define-function atk_no_op_object_factory_get_type
+ (c-name "atk_no_op_object_factory_get_type")
+ (return-type "GType")
+)
+
+(define-function atk_no_op_object_factory_new
+ (c-name "atk_no_op_object_factory_new")
+ (is-constructor-of "AtkNoOpObjectFactory")
+ (return-type "AtkObjectFactory*")
+)
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atknoopobject.h
+
+(define-function atk_no_op_object_get_type
+ (c-name "atk_no_op_object_get_type")
+ (return-type "GType")
+)
+
+(define-function atk_no_op_object_new
+ (c-name "atk_no_op_object_new")
+ (is-constructor-of "AtkNoOpObject")
+ (return-type "AtkObject*")
+ (parameters
+ '("GObject*" "obj")
+ )
+)
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkobjectfactory.h
+
+(define-function atk_object_factory_get_type
+ (c-name "atk_object_factory_get_type")
+ (return-type "GType")
+)
+
+(define-method create_accessible
+ (of-object "AtkObjectFactory")
+ (c-name "atk_object_factory_create_accessible")
+ (return-type "AtkObject*")
+ (parameters
+ '("GObject*" "obj")
+ )
+)
+
+(define-method invalidate
+ (of-object "AtkObjectFactory")
+ (c-name "atk_object_factory_invalidate")
+ (return-type "none")
+)
+
+(define-method get_accessible_type
+ (of-object "AtkObjectFactory")
+ (c-name "atk_object_factory_get_accessible_type")
+ (return-type "GType")
+)
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkobject.h
+
+(define-function atk_role_register
+ (c-name "atk_role_register")
+ (return-type "AtkRole")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-function atk_object_get_type
+ (c-name "atk_object_get_type")
+ (return-type "GType")
+)
+
+(define-function atk_implementor_get_type
+ (c-name "atk_implementor_get_type")
+ (return-type "GType")
+)
+
+(define-method ref_accessible
+ (of-object "AtkImplementor")
+ (c-name "atk_implementor_ref_accessible")
+ (return-type "AtkObject*")
+)
+
+(define-method get_name
+ (of-object "AtkObject")
+ (c-name "atk_object_get_name")
+ (return-type "const-gchar*")
+)
+
+(define-method get_description
+ (of-object "AtkObject")
+ (c-name "atk_object_get_description")
+ (return-type "const-gchar*")
+)
+
+(define-method get_parent
+ (of-object "AtkObject")
+ (c-name "atk_object_get_parent")
+ (return-type "AtkObject*")
+)
+
+(define-method get_n_accessible_children
+ (of-object "AtkObject")
+ (c-name "atk_object_get_n_accessible_children")
+ (return-type "gint")
+)
+
+(define-method ref_accessible_child
+ (of-object "AtkObject")
+ (c-name "atk_object_ref_accessible_child")
+ (return-type "AtkObject*")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-method ref_relation_set
+ (of-object "AtkObject")
+ (c-name "atk_object_ref_relation_set")
+ (return-type "AtkRelationSet*")
+)
+
+(define-method get_role
+ (of-object "AtkObject")
+ (c-name "atk_object_get_role")
+ (return-type "AtkRole")
+)
+
+(define-method get_layer
+ (of-object "AtkObject")
+ (c-name "atk_object_get_layer")
+ (return-type "AtkLayer")
+)
+
+(define-method get_mdi_zorder
+ (of-object "AtkObject")
+ (c-name "atk_object_get_mdi_zorder")
+ (return-type "gint")
+)
+
+(define-method ref_state_set
+ (of-object "AtkObject")
+ (c-name "atk_object_ref_state_set")
+ (return-type "AtkStateSet*")
+)
+
+(define-method get_index_in_parent
+ (of-object "AtkObject")
+ (c-name "atk_object_get_index_in_parent")
+ (return-type "gint")
+)
+
+(define-method set_name
+ (of-object "AtkObject")
+ (c-name "atk_object_set_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method set_description
+ (of-object "AtkObject")
+ (c-name "atk_object_set_description")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "description")
+ )
+)
+
+(define-method set_parent
+ (of-object "AtkObject")
+ (c-name "atk_object_set_parent")
+ (return-type "none")
+ (parameters
+ '("AtkObject*" "parent")
+ )
+)
+
+(define-method set_role
+ (of-object "AtkObject")
+ (c-name "atk_object_set_role")
+ (return-type "none")
+ (parameters
+ '("AtkRole" "role")
+ )
+)
+
+(define-method connect_property_change_handler
+ (of-object "AtkObject")
+ (c-name "atk_object_connect_property_change_handler")
+ (return-type "guint")
+ (parameters
+ '("AtkPropertyChangeHandler*" "handler")
+ )
+)
+
+(define-method remove_property_change_handler
+ (of-object "AtkObject")
+ (c-name "atk_object_remove_property_change_handler")
+ (return-type "none")
+ (parameters
+ '("guint" "handler_id")
+ )
+)
+
+(define-method notify_state_change
+ (of-object "AtkObject")
+ (c-name "atk_object_notify_state_change")
+ (return-type "none")
+ (parameters
+ '("AtkState" "state")
+ '("gboolean" "value")
+ )
+)
+
+(define-method initialize
+ (of-object "AtkObject")
+ (c-name "atk_object_initialize")
+ (return-type "none")
+ (parameters
+ '("gpointer" "data")
+ )
+)
+
+(define-method get_name
+ (of-object "AtkRole")
+ (c-name "atk_role_get_name")
+ (return-type "const-gchar*")
+)
+
+(define-function atk_role_for_name
+ (c-name "atk_role_for_name")
+ (return-type "AtkRole")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method add_relationship
+ (of-object "AtkObject")
+ (c-name "atk_object_add_relationship")
+ (return-type "gboolean")
+ (parameters
+ '("AtkRelationType" "relationship")
+ '("AtkObject*" "target")
+ )
+)
+
+(define-method remove_relationship
+ (of-object "AtkObject")
+ (c-name "atk_object_remove_relationship")
+ (return-type "gboolean")
+ (parameters
+ '("AtkRelationType" "relationship")
+ '("AtkObject*" "target")
+ )
+)
+
+(define-method get_localized_name
+ (of-object "AtkRole")
+ (c-name "atk_role_get_localized_name")
+ (return-type "const-gchar*")
+)
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkregistry.h
+
+(define-function atk_registry_get_type
+ (c-name "atk_registry_get_type")
+ (return-type "GType")
+)
+
+(define-method set_factory_type
+ (of-object "AtkRegistry")
+ (c-name "atk_registry_set_factory_type")
+ (return-type "none")
+ (parameters
+ '("GType" "type")
+ '("GType" "factory_type")
+ )
+)
+
+(define-method get_factory_type
+ (of-object "AtkRegistry")
+ (c-name "atk_registry_get_factory_type")
+ (return-type "GType")
+ (parameters
+ '("GType" "type")
+ )
+)
+
+(define-method get_factory
+ (of-object "AtkRegistry")
+ (c-name "atk_registry_get_factory")
+ (return-type "AtkObjectFactory*")
+ (parameters
+ '("GType" "type")
+ )
+)
+
+(define-function atk_get_default_registry
+ (c-name "atk_get_default_registry")
+ (return-type "AtkRegistry*")
+)
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkrelation.h
+
+(define-function atk_relation_get_type
+ (c-name "atk_relation_get_type")
+ (return-type "GType")
+)
+
+(define-function atk_relation_type_register
+ (c-name "atk_relation_type_register")
+ (return-type "AtkRelationType")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method get_name
+ (of-object "AtkRelationType")
+ (c-name "atk_relation_type_get_name")
+ (return-type "const-gchar*")
+)
+
+(define-function atk_relation_type_for_name
+ (c-name "atk_relation_type_for_name")
+ (return-type "AtkRelationType")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-function atk_relation_new
+ (c-name "atk_relation_new")
+ (is-constructor-of "AtkRelation")
+ (return-type "AtkRelation*")
+ (parameters
+ '("AtkObject**" "targets")
+ '("gint" "n_targets")
+ '("AtkRelationType" "relationship")
+ )
+)
+
+(define-method get_relation_type
+ (of-object "AtkRelation")
+ (c-name "atk_relation_get_relation_type")
+ (return-type "AtkRelationType")
+)
+
+(define-method get_target
+ (of-object "AtkRelation")
+ (c-name "atk_relation_get_target")
+ (return-type "GPtrArray*")
+)
+
+(define-method add_target
+ (of-object "AtkRelation")
+ (c-name "atk_relation_add_target")
+ (return-type "none")
+ (parameters
+ '("AtkObject*" "target")
+ )
+)
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkrelationset.h
+
+(define-function atk_relation_set_get_type
+ (c-name "atk_relation_set_get_type")
+ (return-type "GType")
+)
+
+(define-function atk_relation_set_new
+ (c-name "atk_relation_set_new")
+ (is-constructor-of "AtkRelationSet")
+ (return-type "AtkRelationSet*")
+)
+
+(define-method contains
+ (of-object "AtkRelationSet")
+ (c-name "atk_relation_set_contains")
+ (return-type "gboolean")
+ (parameters
+ '("AtkRelationType" "relationship")
+ )
+)
+
+(define-method remove
+ (of-object "AtkRelationSet")
+ (c-name "atk_relation_set_remove")
+ (return-type "none")
+ (parameters
+ '("AtkRelation*" "relation")
+ )
+)
+
+(define-method add
+ (of-object "AtkRelationSet")
+ (c-name "atk_relation_set_add")
+ (return-type "none")
+ (parameters
+ '("AtkRelation*" "relation")
+ )
+)
+
+(define-method get_n_relations
+ (of-object "AtkRelationSet")
+ (c-name "atk_relation_set_get_n_relations")
+ (return-type "gint")
+)
+
+(define-method get_relation
+ (of-object "AtkRelationSet")
+ (c-name "atk_relation_set_get_relation")
+ (return-type "AtkRelation*")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-method get_relation_by_type
+ (of-object "AtkRelationSet")
+ (c-name "atk_relation_set_get_relation_by_type")
+ (return-type "AtkRelation*")
+ (parameters
+ '("AtkRelationType" "relationship")
+ )
+)
+
+(define-method add_relation_by_type
+ (of-object "AtkRelationSet")
+ (c-name "atk_relation_set_add_relation_by_type")
+ (return-type "none")
+ (parameters
+ '("AtkRelationType" "relationship")
+ '("AtkObject*" "target")
+ )
+)
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkrelationtype.h
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkselection.h
+
+(define-function atk_selection_get_type
+ (c-name "atk_selection_get_type")
+ (return-type "GType")
+)
+
+(define-method add_selection
+ (of-object "AtkSelection")
+ (c-name "atk_selection_add_selection")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-method clear_selection
+ (of-object "AtkSelection")
+ (c-name "atk_selection_clear_selection")
+ (return-type "gboolean")
+)
+
+(define-method ref_selection
+ (of-object "AtkSelection")
+ (c-name "atk_selection_ref_selection")
+ (return-type "AtkObject*")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-method get_selection_count
+ (of-object "AtkSelection")
+ (c-name "atk_selection_get_selection_count")
+ (return-type "gint")
+)
+
+(define-method is_child_selected
+ (of-object "AtkSelection")
+ (c-name "atk_selection_is_child_selected")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-method remove_selection
+ (of-object "AtkSelection")
+ (c-name "atk_selection_remove_selection")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-method select_all_selection
+ (of-object "AtkSelection")
+ (c-name "atk_selection_select_all_selection")
+ (return-type "gboolean")
+)
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkstate.h
+
+(define-function atk_state_type_register
+ (c-name "atk_state_type_register")
+ (return-type "AtkStateType")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method get_name
+ (of-object "AtkStateType")
+ (c-name "atk_state_type_get_name")
+ (return-type "const-gchar*")
+)
+
+(define-function atk_state_type_for_name
+ (c-name "atk_state_type_for_name")
+ (return-type "AtkStateType")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkstateset.h
+
+(define-function atk_state_set_get_type
+ (c-name "atk_state_set_get_type")
+ (return-type "GType")
+)
+
+(define-function atk_state_set_new
+ (c-name "atk_state_set_new")
+ (is-constructor-of "AtkStateSet")
+ (return-type "AtkStateSet*")
+)
+
+(define-method is_empty
+ (of-object "AtkStateSet")
+ (c-name "atk_state_set_is_empty")
+ (return-type "gboolean")
+)
+
+(define-method add_state
+ (of-object "AtkStateSet")
+ (c-name "atk_state_set_add_state")
+ (return-type "gboolean")
+ (parameters
+ '("AtkStateType" "type")
+ )
+)
+
+(define-method add_states
+ (of-object "AtkStateSet")
+ (c-name "atk_state_set_add_states")
+ (return-type "none")
+ (parameters
+ '("AtkStateType*" "types")
+ '("gint" "n_types")
+ )
+)
+
+(define-method clear_states
+ (of-object "AtkStateSet")
+ (c-name "atk_state_set_clear_states")
+ (return-type "none")
+)
+
+(define-method contains_state
+ (of-object "AtkStateSet")
+ (c-name "atk_state_set_contains_state")
+ (return-type "gboolean")
+ (parameters
+ '("AtkStateType" "type")
+ )
+)
+
+(define-method contains_states
+ (of-object "AtkStateSet")
+ (c-name "atk_state_set_contains_states")
+ (return-type "gboolean")
+ (parameters
+ '("AtkStateType*" "types")
+ '("gint" "n_types")
+ )
+)
+
+(define-method remove_state
+ (of-object "AtkStateSet")
+ (c-name "atk_state_set_remove_state")
+ (return-type "gboolean")
+ (parameters
+ '("AtkStateType" "type")
+ )
+)
+
+(define-method and_sets
+ (of-object "AtkStateSet")
+ (c-name "atk_state_set_and_sets")
+ (return-type "AtkStateSet*")
+ (parameters
+ '("AtkStateSet*" "compare_set")
+ )
+)
+
+(define-method or_sets
+ (of-object "AtkStateSet")
+ (c-name "atk_state_set_or_sets")
+ (return-type "AtkStateSet*")
+ (parameters
+ '("AtkStateSet*" "compare_set")
+ )
+)
+
+(define-method xor_sets
+ (of-object "AtkStateSet")
+ (c-name "atk_state_set_xor_sets")
+ (return-type "AtkStateSet*")
+ (parameters
+ '("AtkStateSet*" "compare_set")
+ )
+)
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkstreamablecontent.h
+
+(define-function atk_streamable_content_get_type
+ (c-name "atk_streamable_content_get_type")
+ (return-type "GType")
+)
+
+(define-method get_n_mime_types
+ (of-object "AtkStreamableContent")
+ (c-name "atk_streamable_content_get_n_mime_types")
+ (return-type "gint")
+)
+
+(define-method get_mime_type
+ (of-object "AtkStreamableContent")
+ (c-name "atk_streamable_content_get_mime_type")
+ (return-type "const-gchar*")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-method get_stream
+ (of-object "AtkStreamableContent")
+ (c-name "atk_streamable_content_get_stream")
+ (return-type "GIOChannel*")
+ (parameters
+ '("const-gchar*" "mime_type")
+ )
+)
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atktable.h
+
+(define-function atk_table_get_type
+ (c-name "atk_table_get_type")
+ (return-type "GType")
+)
+
+(define-method ref_at
+ (of-object "AtkTable")
+ (c-name "atk_table_ref_at")
+ (return-type "AtkObject*")
+ (parameters
+ '("gint" "row")
+ '("gint" "column")
+ )
+)
+
+(define-method get_index_at
+ (of-object "AtkTable")
+ (c-name "atk_table_get_index_at")
+ (return-type "gint")
+ (parameters
+ '("gint" "row")
+ '("gint" "column")
+ )
+)
+
+(define-method get_column_at_index
+ (of-object "AtkTable")
+ (c-name "atk_table_get_column_at_index")
+ (return-type "gint")
+ (parameters
+ '("gint" "index_")
+ )
+)
+
+(define-method get_row_at_index
+ (of-object "AtkTable")
+ (c-name "atk_table_get_row_at_index")
+ (return-type "gint")
+ (parameters
+ '("gint" "index_")
+ )
+)
+
+(define-method get_n_columns
+ (of-object "AtkTable")
+ (c-name "atk_table_get_n_columns")
+ (return-type "gint")
+)
+
+(define-method get_n_rows
+ (of-object "AtkTable")
+ (c-name "atk_table_get_n_rows")
+ (return-type "gint")
+)
+
+(define-method get_column_extent_at
+ (of-object "AtkTable")
+ (c-name "atk_table_get_column_extent_at")
+ (return-type "gint")
+ (parameters
+ '("gint" "row")
+ '("gint" "column")
+ )
+)
+
+(define-method get_row_extent_at
+ (of-object "AtkTable")
+ (c-name "atk_table_get_row_extent_at")
+ (return-type "gint")
+ (parameters
+ '("gint" "row")
+ '("gint" "column")
+ )
+)
+
+(define-method get_caption
+ (of-object "AtkTable")
+ (c-name "atk_table_get_caption")
+ (return-type "AtkObject*")
+)
+
+(define-method get_column_description
+ (of-object "AtkTable")
+ (c-name "atk_table_get_column_description")
+ (return-type "const-gchar*")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+(define-method get_column_header
+ (of-object "AtkTable")
+ (c-name "atk_table_get_column_header")
+ (return-type "AtkObject*")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+(define-method get_row_description
+ (of-object "AtkTable")
+ (c-name "atk_table_get_row_description")
+ (return-type "const-gchar*")
+ (parameters
+ '("gint" "row")
+ )
+)
+
+(define-method get_row_header
+ (of-object "AtkTable")
+ (c-name "atk_table_get_row_header")
+ (return-type "AtkObject*")
+ (parameters
+ '("gint" "row")
+ )
+)
+
+(define-method get_summary
+ (of-object "AtkTable")
+ (c-name "atk_table_get_summary")
+ (return-type "AtkObject*")
+)
+
+(define-method set_caption
+ (of-object "AtkTable")
+ (c-name "atk_table_set_caption")
+ (return-type "none")
+ (parameters
+ '("AtkObject*" "caption")
+ )
+)
+
+(define-method set_column_description
+ (of-object "AtkTable")
+ (c-name "atk_table_set_column_description")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ '("const-gchar*" "description")
+ )
+)
+
+(define-method set_column_header
+ (of-object "AtkTable")
+ (c-name "atk_table_set_column_header")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ '("AtkObject*" "header")
+ )
+)
+
+(define-method set_row_description
+ (of-object "AtkTable")
+ (c-name "atk_table_set_row_description")
+ (return-type "none")
+ (parameters
+ '("gint" "row")
+ '("const-gchar*" "description")
+ )
+)
+
+(define-method set_row_header
+ (of-object "AtkTable")
+ (c-name "atk_table_set_row_header")
+ (return-type "none")
+ (parameters
+ '("gint" "row")
+ '("AtkObject*" "header")
+ )
+)
+
+(define-method set_summary
+ (of-object "AtkTable")
+ (c-name "atk_table_set_summary")
+ (return-type "none")
+ (parameters
+ '("AtkObject*" "accessible")
+ )
+)
+
+(define-method get_selected_columns
+ (of-object "AtkTable")
+ (c-name "atk_table_get_selected_columns")
+ (return-type "gint")
+ (parameters
+ '("gint**" "selected")
+ )
+)
+
+(define-method get_selected_rows
+ (of-object "AtkTable")
+ (c-name "atk_table_get_selected_rows")
+ (return-type "gint")
+ (parameters
+ '("gint**" "selected")
+ )
+)
+
+(define-method is_column_selected
+ (of-object "AtkTable")
+ (c-name "atk_table_is_column_selected")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+(define-method is_row_selected
+ (of-object "AtkTable")
+ (c-name "atk_table_is_row_selected")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "row")
+ )
+)
+
+(define-method is_selected
+ (of-object "AtkTable")
+ (c-name "atk_table_is_selected")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "row")
+ '("gint" "column")
+ )
+)
+
+(define-method add_row_selection
+ (of-object "AtkTable")
+ (c-name "atk_table_add_row_selection")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "row")
+ )
+)
+
+(define-method remove_row_selection
+ (of-object "AtkTable")
+ (c-name "atk_table_remove_row_selection")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "row")
+ )
+)
+
+(define-method add_column_selection
+ (of-object "AtkTable")
+ (c-name "atk_table_add_column_selection")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+(define-method remove_column_selection
+ (of-object "AtkTable")
+ (c-name "atk_table_remove_column_selection")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atktext.h
+
+(define-function atk_text_attribute_register
+ (c-name "atk_text_attribute_register")
+ (return-type "AtkTextAttribute")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-function atk_text_get_type
+ (c-name "atk_text_get_type")
+ (return-type "GType")
+)
+
+(define-method get_text
+ (of-object "AtkText")
+ (c-name "atk_text_get_text")
+ (return-type "gchar*")
+ (parameters
+ '("gint" "start_offset")
+ '("gint" "end_offset")
+ )
+)
+
+(define-method get_character_at_offset
+ (of-object "AtkText")
+ (c-name "atk_text_get_character_at_offset")
+ (return-type "gunichar")
+ (parameters
+ '("gint" "offset")
+ )
+)
+
+(define-method get_text_after_offset
+ (of-object "AtkText")
+ (c-name "atk_text_get_text_after_offset")
+ (return-type "gchar*")
+ (parameters
+ '("gint" "offset")
+ '("AtkTextBoundary" "boundary_type")
+ '("gint*" "start_offset")
+ '("gint*" "end_offset")
+ )
+)
+
+(define-method get_text_at_offset
+ (of-object "AtkText")
+ (c-name "atk_text_get_text_at_offset")
+ (return-type "gchar*")
+ (parameters
+ '("gint" "offset")
+ '("AtkTextBoundary" "boundary_type")
+ '("gint*" "start_offset")
+ '("gint*" "end_offset")
+ )
+)
+
+(define-method get_text_before_offset
+ (of-object "AtkText")
+ (c-name "atk_text_get_text_before_offset")
+ (return-type "gchar*")
+ (parameters
+ '("gint" "offset")
+ '("AtkTextBoundary" "boundary_type")
+ '("gint*" "start_offset")
+ '("gint*" "end_offset")
+ )
+)
+
+(define-method get_caret_offset
+ (of-object "AtkText")
+ (c-name "atk_text_get_caret_offset")
+ (return-type "gint")
+)
+
+(define-method get_character_extents
+ (of-object "AtkText")
+ (c-name "atk_text_get_character_extents")
+ (return-type "none")
+ (parameters
+ '("gint" "offset")
+ '("gint*" "x")
+ '("gint*" "y")
+ '("gint*" "width")
+ '("gint*" "height")
+ '("AtkCoordType" "coords")
+ )
+)
+
+(define-method get_run_attributes
+ (of-object "AtkText")
+ (c-name "atk_text_get_run_attributes")
+ (return-type "AtkAttributeSet*")
+ (parameters
+ '("gint" "offset")
+ '("gint*" "start_offset")
+ '("gint*" "end_offset")
+ )
+)
+
+(define-method get_default_attributes
+ (of-object "AtkText")
+ (c-name "atk_text_get_default_attributes")
+ (return-type "AtkAttributeSet*")
+)
+
+(define-method get_character_count
+ (of-object "AtkText")
+ (c-name "atk_text_get_character_count")
+ (return-type "gint")
+)
+
+(define-method get_offset_at_point
+ (of-object "AtkText")
+ (c-name "atk_text_get_offset_at_point")
+ (return-type "gint")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ '("AtkCoordType" "coords")
+ )
+)
+
+(define-method get_n_selections
+ (of-object "AtkText")
+ (c-name "atk_text_get_n_selections")
+ (return-type "gint")
+)
+
+(define-method get_selection
+ (of-object "AtkText")
+ (c-name "atk_text_get_selection")
+ (return-type "gchar*")
+ (parameters
+ '("gint" "selection_num")
+ '("gint*" "start_offset")
+ '("gint*" "end_offset")
+ )
+)
+
+(define-method add_selection
+ (of-object "AtkText")
+ (c-name "atk_text_add_selection")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "start_offset")
+ '("gint" "end_offset")
+ )
+)
+
+(define-method remove_selection
+ (of-object "AtkText")
+ (c-name "atk_text_remove_selection")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "selection_num")
+ )
+)
+
+(define-method set_selection
+ (of-object "AtkText")
+ (c-name "atk_text_set_selection")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "selection_num")
+ '("gint" "start_offset")
+ '("gint" "end_offset")
+ )
+)
+
+(define-method set_caret_offset
+ (of-object "AtkText")
+ (c-name "atk_text_set_caret_offset")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "offset")
+ )
+)
+
+(define-method get_range_extents
+ (of-object "AtkText")
+ (c-name "atk_text_get_range_extents")
+ (return-type "none")
+ (parameters
+ '("gint" "start_offset")
+ '("gint" "end_offset")
+ '("AtkCoordType" "coord_type")
+ '("AtkTextRectangle*" "rect")
+ )
+)
+
+(define-method get_bounded_ranges
+ (of-object "AtkText")
+ (c-name "atk_text_get_bounded_ranges")
+ (return-type "AtkTextRange**")
+ (parameters
+ '("AtkTextRectangle*" "rect")
+ '("AtkCoordType" "coord_type")
+ '("AtkTextClipType" "x_clip_type")
+ '("AtkTextClipType" "y_clip_type")
+ )
+)
+
+(define-function atk_text_free_ranges
+ (c-name "atk_text_free_ranges")
+ (return-type "none")
+ (parameters
+ '("AtkTextRange**" "ranges")
+ )
+)
+
+(define-method free
+ (of-object "AtkAttributeSet")
+ (c-name "atk_attribute_set_free")
+ (return-type "none")
+)
+
+(define-method get_name
+ (of-object "AtkTextAttribute")
+ (c-name "atk_text_attribute_get_name")
+ (return-type "const-gchar*")
+)
+
+(define-function atk_text_attribute_for_name
+ (c-name "atk_text_attribute_for_name")
+ (return-type "AtkTextAttribute")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method get_value
+ (of-object "AtkTextAttribute")
+ (c-name "atk_text_attribute_get_value")
+ (return-type "const-gchar*")
+ (parameters
+ '("gint" "index_")
+ )
+)
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkutil.h
+
+(define-function atk_util_get_type
+ (c-name "atk_util_get_type")
+ (return-type "GType")
+)
+
+(define-function atk_add_focus_tracker
+ (c-name "atk_add_focus_tracker")
+ (return-type "guint")
+ (parameters
+ '("AtkEventListener" "focus_tracker")
+ )
+)
+
+(define-function atk_remove_focus_tracker
+ (c-name "atk_remove_focus_tracker")
+ (return-type "none")
+ (parameters
+ '("guint" "tracker_id")
+ )
+)
+
+(define-function atk_focus_tracker_init
+ (c-name "atk_focus_tracker_init")
+ (return-type "none")
+ (parameters
+ '("AtkEventListenerInit" "add_function")
+ )
+)
+
+(define-function atk_focus_tracker_notify
+ (c-name "atk_focus_tracker_notify")
+ (return-type "none")
+ (parameters
+ '("AtkObject*" "object")
+ )
+)
+
+(define-function atk_add_global_event_listener
+ (c-name "atk_add_global_event_listener")
+ (return-type "guint")
+ (parameters
+ '("GSignalEmissionHook" "listener")
+ '("const-gchar*" "event_type")
+ )
+)
+
+(define-function atk_remove_global_event_listener
+ (c-name "atk_remove_global_event_listener")
+ (return-type "none")
+ (parameters
+ '("guint" "listener_id")
+ )
+)
+
+(define-function atk_add_key_event_listener
+ (c-name "atk_add_key_event_listener")
+ (return-type "guint")
+ (parameters
+ '("AtkKeySnoopFunc" "listener")
+ '("gpointer" "data")
+ )
+)
+
+(define-function atk_remove_key_event_listener
+ (c-name "atk_remove_key_event_listener")
+ (return-type "none")
+ (parameters
+ '("guint" "listener_id")
+ )
+)
+
+(define-function atk_get_root
+ (c-name "atk_get_root")
+ (return-type "AtkObject*")
+)
+
+(define-function atk_get_focus_object
+ (c-name "atk_get_focus_object")
+ (return-type "AtkObject*")
+)
+
+(define-function atk_get_toolkit_name
+ (c-name "atk_get_toolkit_name")
+ (return-type "const-gchar*")
+)
+
+(define-function atk_get_toolkit_version
+ (c-name "atk_get_toolkit_version")
+ (return-type "const-gchar*")
+)
+
+
+
+;; From /home/murrayc/cvs/gnome210/atk/atk/atkvalue.h
+
+(define-function atk_value_get_type
+ (c-name "atk_value_get_type")
+ (return-type "GType")
+)
+
+(define-method get_current_value
+ (of-object "AtkValue")
+ (c-name "atk_value_get_current_value")
+ (return-type "none")
+ (parameters
+ '("GValue*" "value")
+ )
+)
+
+(define-method get_maximum_value
+ (of-object "AtkValue")
+ (c-name "atk_value_get_maximum_value")
+ (return-type "none")
+ (parameters
+ '("GValue*" "value")
+ )
+)
+
+(define-method get_minimum_value
+ (of-object "AtkValue")
+ (c-name "atk_value_get_minimum_value")
+ (return-type "none")
+ (parameters
+ '("GValue*" "value")
+ )
+)
+
+(define-method set_current_value
+ (of-object "AtkValue")
+ (c-name "atk_value_set_current_value")
+ (return-type "gboolean")
+ (parameters
+ '("const-GValue*" "value")
+ )
+)
+
+
diff --git a/libs/gtkmm2/atk/src/atk_signals.defs b/libs/gtkmm2/atk/src/atk_signals.defs
new file mode 100644
index 0000000000..a2e32472a0
--- /dev/null
+++ b/libs/gtkmm2/atk/src/atk_signals.defs
@@ -0,0 +1,390 @@
+;; From AtkObject
+
+(define-signal children-changed
+ (of-object "AtkObject")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("guint" "p0")
+ '("gpointer" "p1")
+ )
+)
+
+(define-signal focus-event
+ (of-object "AtkObject")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gboolean" "p0")
+ )
+)
+
+(define-signal property-change
+ (of-object "AtkObject")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("AtkPropertyValues*" "p0")
+ )
+)
+
+(define-signal state-change
+ (of-object "AtkObject")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("const-gchar*" "p0")
+ '("gboolean" "p1")
+ )
+)
+
+(define-signal visible-data-changed
+ (of-object "AtkObject")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal active-descendant-changed
+ (of-object "AtkObject")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gpointer*" "p0")
+ )
+)
+
+(define-property accessible-name
+ (of-object "AtkObject")
+ (prop-type "GParamString")
+ (docs "Object instance's name formatted for assistive technology access")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-description
+ (of-object "AtkObject")
+ (prop-type "GParamString")
+ (docs "Description of an object, formatted for assistive technology access")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-parent
+ (of-object "AtkObject")
+ (prop-type "GParamObject")
+ (docs "Is used to notify that the parent has changed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-value
+ (of-object "AtkObject")
+ (prop-type "GParamDouble")
+ (docs "Is used to notify that the value has changed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-role
+ (of-object "AtkObject")
+ (prop-type "GParamInt")
+ (docs "The accessible role of this object")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-component-layer
+ (of-object "AtkObject")
+ (prop-type "GParamInt")
+ (docs "The accessible layer of this object")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property accessible-component-mdi-zorder
+ (of-object "AtkObject")
+ (prop-type "GParamInt")
+ (docs "The accessible MDI value of this object")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property accessible-table-caption
+ (of-object "AtkObject")
+ (prop-type "GParamString")
+ (docs "Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-table-column-description
+ (of-object "AtkObject")
+ (prop-type "GParamString")
+ (docs "Is used to notify that the table column description has changed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-table-column-header
+ (of-object "AtkObject")
+ (prop-type "GParamObject")
+ (docs "Is used to notify that the table column header has changed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-table-row-description
+ (of-object "AtkObject")
+ (prop-type "GParamString")
+ (docs "Is used to notify that the table row description has changed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-table-row-header
+ (of-object "AtkObject")
+ (prop-type "GParamObject")
+ (docs "Is used to notify that the table row header has changed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-table-summary
+ (of-object "AtkObject")
+ (prop-type "GParamObject")
+ (docs "Is used to notify that the table summary has changed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-table-caption-object
+ (of-object "AtkObject")
+ (prop-type "GParamObject")
+ (docs "Is used to notify that the table caption has changed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-hypertext-nlinks
+ (of-object "AtkObject")
+ (prop-type "GParamInt")
+ (docs "The number of links which the current AtkHypertext has")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+;; From AtkComponent
+
+(define-signal bounds-changed
+ (of-object "AtkComponent")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("AtkRectangle*" "p0")
+ )
+)
+
+;; From AtkAction
+
+;; From AtkEditableText
+
+;; From AtkHyperlink
+
+(define-signal link-activated
+ (of-object "AtkHyperlink")
+ (return-type "void")
+ (when "last")
+)
+
+(define-property selected-link
+ (of-object "AtkHyperlink")
+ (prop-type "GParamBoolean")
+ (docs "Specifies whether the AtkHyperlink object is selected")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property number-of-anchors
+ (of-object "AtkHyperlink")
+ (prop-type "GParamInt")
+ (docs "The number of anchors associated with the AtkHyperlink object")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property end-index
+ (of-object "AtkHyperlink")
+ (prop-type "GParamInt")
+ (docs "The end index of the AtkHyperlink object")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property start-index
+ (of-object "AtkHyperlink")
+ (prop-type "GParamInt")
+ (docs "The start index of the AtkHyperlink object")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+;; From AtkHypertext
+
+(define-signal link-selected
+ (of-object "AtkHypertext")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ )
+)
+
+;; From AtkImage
+
+;; From AtkSelection
+
+(define-signal selection-changed
+ (of-object "AtkSelection")
+ (return-type "void")
+ (when "last")
+)
+
+;; From AtkTable
+
+(define-signal row-inserted
+ (of-object "AtkTable")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ '("gint" "p1")
+ )
+)
+
+(define-signal column-inserted
+ (of-object "AtkTable")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ '("gint" "p1")
+ )
+)
+
+(define-signal row-deleted
+ (of-object "AtkTable")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ '("gint" "p1")
+ )
+)
+
+(define-signal column-deleted
+ (of-object "AtkTable")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ '("gint" "p1")
+ )
+)
+
+(define-signal row-reordered
+ (of-object "AtkTable")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal column-reordered
+ (of-object "AtkTable")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal model-changed
+ (of-object "AtkTable")
+ (return-type "void")
+ (when "last")
+)
+
+;; From AtkText
+
+(define-signal text-changed
+ (of-object "AtkText")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ '("gint" "p1")
+ )
+)
+
+(define-signal text-caret-moved
+ (of-object "AtkText")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ )
+)
+
+(define-signal text-selection-changed
+ (of-object "AtkText")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal text-attributes-changed
+ (of-object "AtkText")
+ (return-type "void")
+ (when "last")
+)
+
+;; From AtkValue
+
+;; From AtkRegistry
+
+;; From AtkRelation
+
+(define-property relation-type
+ (of-object "AtkRelation")
+ (prop-type "GParamEnum")
+ (docs "The type of the relation")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property target
+ (of-object "AtkRelation")
+ (prop-type "GParamValueArray")
+ (docs "An array of the targets for the relation")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From AtkRelationSet
+
+;; From AtkStateSet
diff --git a/libs/gtkmm2/atk/src/atk_vfuncs.defs b/libs/gtkmm2/atk/src/atk_vfuncs.defs
new file mode 100644
index 0000000000..07b10559a6
--- /dev/null
+++ b/libs/gtkmm2/atk/src/atk_vfuncs.defs
@@ -0,0 +1,855 @@
+;; -*- scheme -*-
+; virtual function definitions
+; define-vfunc is gtkmm-specific
+
+; AtkAction
+
+(define-vfunc do_action
+ (of-object "AtkAction")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-vfunc get_n_actions
+ (of-object "AtkAction")
+ (return-type "gint")
+)
+
+(define-vfunc get_description
+ (of-object "AtkAction")
+ (return-type "const-gchar*")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-vfunc get_name
+ (of-object "AtkAction")
+ (return-type "const-gchar*")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-vfunc get_keybinding
+ (of-object "AtkAction")
+ (return-type "const-gchar*")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-vfunc set_description
+ (of-object "AtkAction")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "i")
+ '("const-gchar*" "desc")
+ )
+)
+
+(define-vfunc get_localized_name
+ (of-object "AtkAction")
+ (return-type "const-gchar*")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+; AtkComponent
+
+(define-vfunc add_focus_handler
+ (of-object "AtkComponent")
+ (return-type "guint")
+ (parameters
+ '("AtkFocusHandler" "handler")
+ )
+)
+
+(define-vfunc contains
+ (of-object "AtkComponent")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ '("AtkCoordType" "coord_type")
+ )
+)
+
+(define-vfunc ref_accessible_at_point
+ (of-object "AtkComponent")
+ (return-type "AtkObject*")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ '("AtkCoordType" "coord_type")
+ )
+)
+
+
+(define-vfunc get_extents
+ (of-object "AtkComponent")
+ (return-type "void")
+ (parameters
+ '("gint*" "x")
+ '("gint*" "y")
+ '("gint*" "width")
+ '("gint*" "height")
+ '("AtkCoordType" "coord_type")
+ )
+)
+
+(define-vfunc get_position
+ (of-object "AtkComponent")
+ (return-type "void")
+ (parameters
+ '("gint*" "x")
+ '("gint*" "y")
+ '("AtkCoordType" "coord_type")
+ )
+)
+
+(define-vfunc get_size
+ (of-object "AtkComponent")
+ (return-type "void")
+ (parameters
+ '("gint*" "width")
+ '("gint*" "height")
+ )
+)
+
+(define-vfunc grab_focus
+ (of-object "AtkComponent")
+ (return-type "gboolean")
+)
+
+(define-vfunc remove_focus_handler
+ (of-object "AtkComponent")
+ (return-type "void")
+ (parameters
+ '("guint" "handler_id")
+ )
+)
+
+(define-vfunc set_extents
+ (of-object "AtkComponent")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("AtkCoordType" "coord_type")
+ )
+)
+
+(define-vfunc set_position
+ (of-object "AtkComponent")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ '("AtkCoordType" "coord_type")
+ )
+)
+
+(define-vfunc set_size
+ (of-object "AtkComponent")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-vfunc get_layer
+ (of-object "AtkComponent")
+ (return-type "AtkLayer")
+)
+
+(define-vfunc get_mdi_zorder
+ (of-object "AtkComponent")
+ (return-type "gint")
+)
+
+;; AtkDocument
+
+(define-vfunc get_document_type
+ (of-object "AtkDocument")
+ (return-type "const-gchar*")
+)
+
+(define-vfunc get_document
+ (of-object "AtkDocument")
+ (return-type "gpointer")
+)
+
+;; AtkText
+
+(define-vfunc get_text
+ (of-object "AtkText")
+ (return-type "gchar*")
+ (parameters
+ '("gint" "start_offset")
+ '("gint" "end_offset")
+ )
+)
+
+(define-vfunc get_character_at_offset
+ (of-object "AtkText")
+ (return-type "gunichar")
+ (parameters
+ '("gint" "offset")
+ )
+)
+
+(define-vfunc get_text_after_offset
+ (of-object "AtkText")
+ (return-type "gchar*")
+ (parameters
+ '("gint" "offset")
+ '("AtkTextBoundary" "boundary_type")
+ '("gint*" "start_offset")
+ '("gint*" "end_offset")
+ )
+)
+
+(define-vfunc get_text_at_offset
+ (of-object "AtkText")
+ (return-type "gchar*")
+ (parameters
+ '("gint" "offset")
+ '("AtkTextBoundary" "boundary_type")
+ '("gint*" "start_offset")
+ '("gint*" "end_offset")
+ )
+)
+
+(define-vfunc get_text_before_offset
+ (of-object "AtkText")
+ (return-type "gchar*")
+ (parameters
+ '("gint" "offset")
+ '("AtkTextBoundary" "boundary_type")
+ '("gint*" "start_offset")
+ '("gint*" "end_offset")
+ )
+)
+
+(define-vfunc get_caret_offset
+ (of-object "AtkText")
+ (return-type "gint")
+)
+
+(define-vfunc get_character_extents
+ (of-object "AtkText")
+ (return-type "none")
+ (parameters
+ '("gint" "offset")
+ '("gint*" "x")
+ '("gint*" "y")
+ '("gint*" "width")
+ '("gint*" "height")
+ '("AtkCoordType" "coords")
+ )
+)
+
+(define-vfunc get_run_attributes
+ (of-object "AtkText")
+ (return-type "AtkAttributeSet*")
+ (parameters
+ '("gint" "offset")
+ '("gint*" "start_offset")
+ '("gint*" "end_offset")
+ )
+)
+
+(define-vfunc get_default_attributes
+ (of-object "AtkText")
+ (return-type "AtkAttributeSet*")
+)
+
+(define-vfunc get_character_count
+ (of-object "AtkText")
+ (return-type "gint")
+)
+
+(define-vfunc get_offset_at_point
+ (of-object "AtkText")
+ (return-type "gint")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ '("AtkCoordType" "coords")
+ )
+)
+
+(define-vfunc get_n_selections
+ (of-object "AtkText")
+ (return-type "gint")
+)
+
+(define-vfunc get_selection
+ (of-object "AtkText")
+ (return-type "gchar*")
+ (parameters
+ '("gint" "selection_num")
+ '("gint*" "start_offset")
+ '("gint*" "end_offset")
+ )
+)
+
+(define-vfunc add_selection
+ (of-object "AtkText")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "start_offset")
+ '("gint" "end_offset")
+ )
+)
+
+(define-vfunc remove_selection
+ (of-object "AtkText")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "selection_num")
+ )
+)
+
+(define-vfunc set_selection
+ (of-object "AtkText")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "selection_num")
+ '("gint" "start_offset")
+ '("gint" "end_offset")
+ )
+)
+
+(define-vfunc set_caret_offset
+ (of-object "AtkText")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "offset")
+ )
+)
+
+;; AtkEditableText
+
+(define-vfunc set_run_attributes
+ (of-object "AtkEditableText")
+ (return-type "gboolean")
+ (parameters
+ '("AtkAttributeSet*" "attrib_set")
+ '("gint" "start_offset")
+ '("gint" "end_offset")
+ )
+)
+
+(define-vfunc set_text_contents
+ (of-object "AtkEditableText")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "string")
+ )
+)
+
+(define-vfunc insert_text
+ (of-object "AtkEditableText")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "string")
+ '("gint" "length")
+ '("gint*" "position")
+ )
+)
+
+(define-vfunc copy_text
+ (of-object "AtkEditableText")
+ (return-type "none")
+ (parameters
+ '("gint" "start_pos")
+ '("gint" "end_pos")
+ )
+)
+
+(define-vfunc cut_text
+ (of-object "AtkEditableText")
+ (return-type "none")
+ (parameters
+ '("gint" "start_pos")
+ '("gint" "end_pos")
+ )
+)
+
+(define-vfunc delete_text
+ (of-object "AtkEditableText")
+ (return-type "none")
+ (parameters
+ '("gint" "start_pos")
+ '("gint" "end_pos")
+ )
+)
+
+(define-vfunc paste_text
+ (of-object "AtkEditableText")
+ (return-type "none")
+ (parameters
+ '("gint" "position")
+ )
+)
+
+;; AtkImage
+
+(define-vfunc set_image_description
+ (of-object "AtkImage")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "description")
+ )
+)
+
+(define-vfunc get_image_description
+ (of-object "AtkImage")
+ (return-type "const-gchar*")
+)
+
+(define-vfunc get_image_size
+ (of-object "AtkImage")
+ (return-type "void")
+ (parameters
+ '("gint*" "width")
+ '("gint*" "height")
+ )
+)
+
+(define-vfunc get_image_position
+ (of-object "AtkImage")
+ (return-type "void")
+ (parameters
+ '("gint*" "x")
+ '("gint*" "y")
+ '("AtkCoordType" "coord_type")
+ )
+)
+
+;; AtkImplmentor
+
+(define-vfunc ref_accessible
+ (of-object "AtkImplementor")
+ (return-type "AtkObject*")
+)
+
+;; AtkSelection
+
+(define-vfunc add_selection
+ (of-object "AtkSelection")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-vfunc clear_selection
+ (of-object "AtkSelection")
+ (return-type "gboolean")
+)
+
+(define-vfunc ref_selection
+ (of-object "AtkSelection")
+ (return-type "AtkObject*")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-vfunc get_selection_count
+ (of-object "AtkSelection")
+ (return-type "gint")
+)
+
+(define-vfunc is_child_selected
+ (of-object "AtkSelection")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-vfunc remove_selection
+ (of-object "AtkSelection")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-vfunc select_all_selection
+ (of-object "AtkSelection")
+ (return-type "gboolean")
+)
+
+;; AtkTable
+
+(define-vfunc ref_at
+ (of-object "AtkTable")
+ (return-type "AtkObject*")
+ (parameters
+ '("gint" "row")
+ '("gint" "column")
+ )
+)
+
+(define-vfunc get_index_at
+ (of-object "AtkTable")
+ (return-type "gint")
+ (parameters
+ '("gint" "row")
+ '("gint" "column")
+ )
+)
+
+(define-vfunc get_column_at_index
+ (of-object "AtkTable")
+ (return-type "gint")
+ (parameters
+ '("gint" "index_")
+ )
+)
+
+(define-vfunc get_row_at_index
+ (of-object "AtkTable")
+ (return-type "gint")
+ (parameters
+ '("gint" "index_")
+ )
+)
+
+(define-vfunc get_n_columns
+ (of-object "AtkTable")
+ (return-type "gint")
+)
+
+(define-vfunc get_n_rows
+ (of-object "AtkTable")
+ (return-type "gint")
+)
+
+(define-vfunc get_column_extent_at
+ (of-object "AtkTable")
+ (return-type "gint")
+ (parameters
+ '("gint" "row")
+ '("gint" "column")
+ )
+)
+
+(define-vfunc get_row_extent_at
+ (of-object "AtkTable")
+ (return-type "gint")
+ (parameters
+ '("gint" "row")
+ '("gint" "column")
+ )
+)
+
+(define-vfunc get_caption
+ (of-object "AtkTable")
+ (return-type "AtkObject*")
+)
+
+(define-vfunc get_column_description
+ (of-object "AtkTable")
+ (return-type "const-gchar*")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+(define-vfunc get_column_header
+ (of-object "AtkTable")
+ (return-type "AtkObject*")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+(define-vfunc get_row_description
+ (of-object "AtkTable")
+ (return-type "const-gchar*")
+ (parameters
+ '("gint" "row")
+ )
+)
+
+(define-vfunc get_row_header
+ (of-object "AtkTable")
+ (return-type "AtkObject*")
+ (parameters
+ '("gint" "row")
+ )
+)
+
+(define-vfunc get_summary
+ (of-object "AtkTable")
+ (return-type "AtkObject*")
+)
+
+(define-vfunc set_caption
+ (of-object "AtkTable")
+ (return-type "none")
+ (parameters
+ '("AtkObject*" "caption")
+ )
+)
+
+(define-vfunc set_column_description
+ (of-object "AtkTable")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ '("const-gchar*" "description")
+ )
+)
+
+(define-vfunc set_column_header
+ (of-object "AtkTable")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ '("AtkObject*" "header")
+ )
+)
+
+(define-vfunc set_row_description
+ (of-object "AtkTable")
+ (return-type "none")
+ (parameters
+ '("gint" "row")
+ '("const-gchar*" "description")
+ )
+)
+
+(define-vfunc set_row_header
+ (of-object "AtkTable")
+ (return-type "none")
+ (parameters
+ '("gint" "row")
+ '("AtkObject*" "header")
+ )
+)
+
+(define-vfunc set_summary
+ (of-object "AtkTable")
+ (return-type "none")
+ (parameters
+ '("AtkObject*" "accessible")
+ )
+)
+
+(define-vfunc get_selected_columns
+ (of-object "AtkTable")
+ (return-type "gint")
+ (parameters
+ '("gint**" "selected")
+ )
+)
+
+(define-vfunc get_selected_rows
+ (of-object "AtkTable")
+ (return-type "gint")
+ (parameters
+ '("gint**" "selected")
+ )
+)
+
+(define-vfunc is_column_selected
+ (of-object "AtkTable")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+(define-vfunc is_row_selected
+ (of-object "AtkTable")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "row")
+ )
+)
+
+(define-vfunc is_selected
+ (of-object "AtkTable")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "row")
+ '("gint" "column")
+ )
+)
+
+(define-vfunc add_row_selection
+ (of-object "AtkTable")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "row")
+ )
+)
+
+(define-vfunc remove_row_selection
+ (of-object "AtkTable")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "row")
+ )
+)
+
+(define-vfunc add_column_selection
+ (of-object "AtkTable")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+(define-vfunc remove_column_selection
+ (of-object "AtkTable")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+;; AtkValue
+
+(define-vfunc get_current_value
+ (of-object "AtkValue")
+ (return-type "none")
+ (parameters
+ '("GValue*" "value")
+ )
+)
+
+(define-vfunc get_maximum_value
+ (of-object "AtkValue")
+ (return-type "none")
+ (parameters
+ '("GValue*" "value")
+ )
+)
+
+(define-vfunc get_minimum_value
+ (of-object "AtkValue")
+ (return-type "none")
+ (parameters
+ '("GValue*" "value")
+ )
+)
+
+(define-vfunc set_current_value
+ (of-object "AtkValue")
+ (return-type "gboolean")
+ (parameters
+ '("const-GValue*" "value")
+ )
+)
+
+;; AtkHyperlink
+
+(define-vfunc get_uri
+ (of-object "AtkHyperlink")
+ (return-type "gchar*")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-vfunc get_object
+ (of-object "AtkHyperlink")
+ (return-type "AtkObject*")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-vfunc get_end_index
+ (of-object "AtkHyperlink")
+ (return-type "gint")
+)
+
+(define-vfunc get_start_index
+ (of-object "AtkHyperlink")
+ (return-type "gint")
+)
+
+(define-vfunc is_valid
+ (of-object "AtkHyperlink")
+ (return-type "gboolean")
+)
+
+(define-vfunc get_n_anchors
+ (of-object "AtkHyperlink")
+ (return-type "gint")
+)
+
+(define-vfunc link_state
+ (of-object "AtkHyperlink")
+ (return-type "guint")
+)
+
+(define-vfunc is_selected_link
+ (of-object "AtkHyperlink")
+ (return-type "gboolean")
+)
+
+;; AtkHypertext
+
+(define-vfunc get_link
+ (of-object "AtkHypertext")
+ (return-type "AtkHyperlink*")
+ (parameters
+ '("gint" "link_index")
+ )
+)
+
+(define-vfunc get_n_links
+ (of-object "AtkHypertext")
+ (return-type "gint")
+)
+
+(define-vfunc get_link_index
+ (of-object "AtkHypertext")
+ (return-type "gint")
+ (parameters
+ '("gint" "char_index")
+ )
+)
+
+;; AtkStreamableContent
+
+(define-vfunc get_n_mime_types
+ (of-object "AtkStreamableContent")
+ (return-type "int")
+)
+
+(define-vfunc get_mime_type
+ (of-object "AtkStreamableContent")
+ (return-type "const-gchar*")
+ (parameters
+ '("gint" "i")
+ )
+)
+
+(define-vfunc get_stream
+ (of-object "AtkStreamableContent")
+ (return-type "GIOChannel*")
+ (parameters
+ '("const-gchar*" "mime_type")
+ )
+)
+
+
+
+
diff --git a/libs/gtkmm2/atk/src/component.ccg b/libs/gtkmm2/atk/src/component.ccg
new file mode 100644
index 0000000000..0d60b145f9
--- /dev/null
+++ b/libs/gtkmm2/atk/src/component.ccg
@@ -0,0 +1,23 @@
+// -*- c++ -*-
+/* $Id: component.ccg,v 1.1 2003/01/21 13:37:05 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <atkmm/object.h>
+#include <atk/atkcomponent.h>
+
diff --git a/libs/gtkmm2/atk/src/component.hg b/libs/gtkmm2/atk/src/component.hg
new file mode 100644
index 0000000000..0d78890415
--- /dev/null
+++ b/libs/gtkmm2/atk/src/component.hg
@@ -0,0 +1,91 @@
+/* $Id: component.hg,v 1.5 2004/03/12 20:35:53 murrayc Exp $ */
+
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(atkmm,atk)
+_PINCLUDE(atk/atkcomponent.h)
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C"
+{
+ typedef struct _AtkComponentIface AtkComponentIface;
+ typedef struct _AtkObject AtkObject;
+ typedef void (* AtkFocusHandler) (AtkObject*, gboolean);
+}
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Atk
+{
+
+_CC_INCLUDE(atk/atk-enum-types.h)
+_WRAP_ENUM(CoordType, AtkCoordType)
+_WRAP_ENUM(Layer, AtkLayer)
+
+class Object;
+
+
+/** The ATK interface provided by UI components which occupy a physical area on the screen.
+ * This should be implemented by most if not all UI elements with an actual on-screen presence, i.e. components which
+ * can be said to have a screen-coordinate bounding box. Virtually all widgets will need to have Atk::Component
+ * implementations provided for their corresponding Atk::Object class. In short, only UI elements which are *not* GUI
+ * elements will omit this ATK interface.
+ *
+ * A possible exception might be textual information with a transparent background, in which case text glyph bounding
+ * box information is provided by Atk::Text.
+ */
+class Component : public Glib::Interface
+{
+ _CLASS_INTERFACE(Component, AtkComponent, ATK_COMPONENT, AtkComponentIface)
+
+public:
+ _WRAP_METHOD(guint add_focus_handler(AtkFocusHandler handler), atk_component_add_focus_handler)
+ _WRAP_METHOD(bool contains(int x, int y, CoordType coord_type) const, atk_component_contains)
+ _WRAP_METHOD(Glib::RefPtr<Atk::Object> get_accessible_at_point(int x, int y, CoordType coord_type), atk_component_ref_accessible_at_point)
+ _WRAP_METHOD(void get_extents(int& x, int& y, int& width, int& height, CoordType coord_type) const, atk_component_get_extents)
+ _WRAP_METHOD(void get_position(int& x, int& y, CoordType coord_type) const, atk_component_get_position)
+ _WRAP_METHOD(void get_size(int& width, int& height) const, atk_component_get_size)
+ _WRAP_METHOD(Layer get_layer() const, atk_component_get_layer)
+ _WRAP_METHOD(int get_mdi_zorder() const, atk_component_get_mdi_zorder)
+ _WRAP_METHOD(bool grab_focus(), atk_component_grab_focus)
+ _WRAP_METHOD(void remove_focus_handler(guint handler_id), atk_component_remove_focus_handler)
+ _WRAP_METHOD(bool set_extents(int x, int y, int width, int height, CoordType coord_type), atk_component_set_extents)
+ _WRAP_METHOD(bool set_position(int x, int y, CoordType coord_type), atk_component_set_position)
+ _WRAP_METHOD(bool set_size(int width, int height), atk_component_set_size)
+
+protected:
+ _WRAP_VFUNC(guint add_focus_handler(AtkFocusHandler handler), add_focus_handler)
+ _WRAP_VFUNC(bool contains(int x, int y, CoordType coord_type) const, contains)
+
+ _WRAP_VFUNC(Glib::RefPtr<Atk::Object> get_accessible_at_point(int x, int y, CoordType coord_type), ref_accessible_at_point, refreturn_ctype)
+
+ _WRAP_VFUNC(void get_extents(int& x, int& y, int& width, int& height, CoordType coord_type) const, get_extents)
+ _WRAP_VFUNC(void get_position(int& x, int& y, CoordType coord_type) const, get_position)
+ _WRAP_VFUNC(void get_size(int& width, int& height) const, get_size)
+ _WRAP_VFUNC(Layer get_layer() const, get_layer)
+ _WRAP_VFUNC(int get_mdi_zorder() const, get_mdi_zorder)
+ _WRAP_VFUNC(bool grab_focus(), grab_focus)
+ _WRAP_VFUNC(void remove_focus_handler(guint handler_id), remove_focus_handler)
+ _WRAP_VFUNC(bool set_extents(int x, int y, int width, int height, CoordType coord_type), set_extents)
+ _WRAP_VFUNC(bool set_position(int x, int y, CoordType coord_type), set_position)
+ _WRAP_VFUNC(bool set_size(int width, int height), set_size)
+};
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/document.ccg b/libs/gtkmm2/atk/src/document.ccg
new file mode 100644
index 0000000000..2a5925a1fb
--- /dev/null
+++ b/libs/gtkmm2/atk/src/document.ccg
@@ -0,0 +1,30 @@
+// -*- c++ -*-
+/* $Id: document.ccg,v 1.1 2004/01/02 09:56:43 murrayc Exp $ */
+
+/* Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <atkmm/object.h>
+#include <atk/atkdocument.h>
+
+
+namespace Atk
+{
+
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/document.hg b/libs/gtkmm2/atk/src/document.hg
new file mode 100644
index 0000000000..e2b7dc9d1e
--- /dev/null
+++ b/libs/gtkmm2/atk/src/document.hg
@@ -0,0 +1,55 @@
+/* $Id: document.hg,v 1.3 2004/01/19 19:48:36 murrayc Exp $ */
+
+/* Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+_DEFS(atkmm,atk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C"
+{
+ typedef struct _AtkDocumentIface AtkDocumentIface;
+ typedef struct _AtkDocument AtkDocument;
+}
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+namespace Atk
+{
+
+class Object;
+
+/** The ATK interface which allows access to a DOM associated with on object.
+ * This interface should be supported by any object that has an associated document object model (DOM). This interface
+ * provides the standard mechanism allowing an assistive technology access to the DOM.
+ */
+class Document : public Glib::Interface
+{
+ _CLASS_INTERFACE(Document, AtkDocument, ATK_DOCUMENT, AtkDocumentIface)
+public:
+
+ _WRAP_METHOD(Glib::ustring get_document_type() const, atk_document_get_document_type)
+ _WRAP_METHOD(gpointer get_document(), atk_document_get_document)
+
+protected:
+ _WRAP_VFUNC(const gchar* get_document_type(), get_document_type)
+ _WRAP_VFUNC(gpointer get_document() const, get_document)
+};
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/editabletext.ccg b/libs/gtkmm2/atk/src/editabletext.ccg
new file mode 100644
index 0000000000..0bfd285836
--- /dev/null
+++ b/libs/gtkmm2/atk/src/editabletext.ccg
@@ -0,0 +1,23 @@
+// -*- c++ -*-
+/* $Id: editabletext.ccg,v 1.1 2003/01/21 13:37:05 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <atkmm/object.h>
+#include <atk/atkeditabletext.h>
+
diff --git a/libs/gtkmm2/atk/src/editabletext.hg b/libs/gtkmm2/atk/src/editabletext.hg
new file mode 100644
index 0000000000..c47f9983f8
--- /dev/null
+++ b/libs/gtkmm2/atk/src/editabletext.hg
@@ -0,0 +1,67 @@
+/* $Id: editabletext.hg,v 1.2 2004/01/02 09:56:43 murrayc Exp $ */
+
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(atkmm,atk)
+
+#include <atkmm/text.h>
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C"
+{
+ typedef struct _AtkEditableTextIface AtkEditableTextIface;
+ typedef struct _AtkEditableText AtkEditableText;
+}
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Atk
+{
+
+//TODO: I see no evidence that AtkEditableText is actually a subclass of AtkText, as the C docs say. murrayc.
+/* The ATK interface implemented by components containing user-editable text content.
+ * This should be implemented by UI components which contain text which the user can edit, via the Atk::Object
+ * corresponding to that component (see Atk::Object).
+ * EditableText is a subclass of AtkText, and as such, an object which implements EditableText is by definition
+ * an Atk::Text implementor as well.
+ */
+class EditableText : public Glib::Interface
+{
+ _CLASS_INTERFACE(EditableText, AtkEditableText, ATK_EDITABLE_TEXT, AtkEditableTextIface)
+
+public:
+ _WRAP_METHOD(bool set_run_attributes(const AttributeSet& attrib_set, int start_offset, int end_offset), atk_editable_text_set_run_attributes)
+ _WRAP_METHOD(void set_text_contents(const Glib::ustring& string), atk_editable_text_set_text_contents)
+ _WRAP_METHOD(void insert_text(const Glib::ustring& string, int length, int& position), atk_editable_text_insert_text)
+ _WRAP_METHOD(void copy_text(int start_pos, int end_pos), atk_editable_text_copy_text)
+ _WRAP_METHOD(void cut_text(int start_pos, int end_pos), atk_editable_text_cut_text)
+ _WRAP_METHOD(void delete_text(int start_pos, int end_pos), atk_editable_text_delete_text)
+ _WRAP_METHOD(void paste_text(int position), atk_editable_text_paste_text)
+
+protected:
+ _WRAP_VFUNC(bool set_run_attributes(AtkAttributeSet* attrib_set, int start_offset, int end_offset), set_run_attributes)
+ _WRAP_VFUNC(void set_text_contents(const Glib::ustring& string), set_text_contents)
+ _WRAP_VFUNC(void insert_text(const Glib::ustring& string, int length, int& position), insert_text)
+ _WRAP_VFUNC(void copy_text(int start_pos, int end_pos), copy_text)
+ _WRAP_VFUNC(void cut_text(int start_pos, int end_pos), cut_text)
+ _WRAP_VFUNC(void delete_text(int start_pos, int end_pos), delete_text)
+ _WRAP_VFUNC(void paste_text(int position), paste_text)
+};
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/hyperlink.ccg b/libs/gtkmm2/atk/src/hyperlink.ccg
new file mode 100644
index 0000000000..c7b4323264
--- /dev/null
+++ b/libs/gtkmm2/atk/src/hyperlink.ccg
@@ -0,0 +1,30 @@
+// -*- c++ -*-
+/* $Id: hyperlink.ccg,v 1.1 2004/01/02 09:56:43 murrayc Exp $ */
+
+/* Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <atkmm/object.h>
+#include <atk/atkobject.h>
+#include <atk/atkhyperlink.h>
+
+
+namespace Atk
+{
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/hyperlink.hg b/libs/gtkmm2/atk/src/hyperlink.hg
new file mode 100644
index 0000000000..59d961206a
--- /dev/null
+++ b/libs/gtkmm2/atk/src/hyperlink.hg
@@ -0,0 +1,81 @@
+/* $Id: hyperlink.hg,v 1.4 2006/04/12 11:11:24 murrayc Exp $ */
+
+/* Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <atkmm/action.h>
+
+_DEFS(atkmm,atk)
+_PINCLUDE(glibmm/private/object_p.h)
+_PINCLUDE(atk/atkobject.h)
+
+
+namespace Atk
+{
+
+class Object;
+
+/* An ATK object which encapsulates a link or set of links in a hypertext document.
+ * It implements the AtkAction interface.
+ */
+class Hyperlink
+ : public Glib::Object,
+ public Atk::Action
+{
+ _CLASS_GOBJECT(Hyperlink, AtkHyperlink, ATK_HYPERLINK, Glib::Object, GObject)
+ _IMPLEMENTS_INTERFACE(Action)
+
+protected:
+
+public:
+
+ _WRAP_METHOD(Glib::ustring get_uri(int i) const, atk_hyperlink_get_uri)
+
+ _WRAP_METHOD(Glib::RefPtr<Atk::Object> get_object(int i), atk_hyperlink_get_object, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Atk::Object> get_object(int i) const, atk_hyperlink_get_object, refreturn, constversion)
+
+ _WRAP_METHOD(int get_end_index() const, atk_hyperlink_get_end_index)
+
+ _WRAP_METHOD(int get_start_index() const, atk_hyperlink_get_start_index)
+
+ _WRAP_METHOD(bool is_valid() const, atk_hyperlink_is_valid)
+
+ _WRAP_METHOD(bool is_inline() const, atk_hyperlink_is_inline)
+
+ _WRAP_METHOD(int get_n_anchors() const, atk_hyperlink_get_n_anchors)
+ _WRAP_METHOD(bool is_selected_link() const, atk_hyperlink_is_selected_link)
+
+ _WRAP_SIGNAL(void link_activated(), "link_activated")
+
+ _WRAP_PROPERTY("selected-link", bool)
+ _WRAP_PROPERTY("number-of-anchors", int)
+ _WRAP_PROPERTY("end-index", int)
+ _WRAP_PROPERTY("start-index", int)
+
+protected:
+ _WRAP_VFUNC(gchar* get_uri(int i) const, get_uri)
+ _WRAP_VFUNC(Glib::RefPtr<Atk::Object> get_object(int i), get_object)
+ _WRAP_VFUNC(int get_end_index() const, get_end_index)
+ _WRAP_VFUNC(int get_start_index() const, get_start_index)
+ _WRAP_VFUNC(bool is_valid() const, is_valid)
+ _WRAP_VFUNC(int get_n_anchors() const, get_n_anchors)
+ _WRAP_VFUNC(guint link_state() const, link_state)
+ _WRAP_VFUNC(bool is_selected_link() const, is_selected_link)
+};
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/hypertext.ccg b/libs/gtkmm2/atk/src/hypertext.ccg
new file mode 100644
index 0000000000..3b2219556e
--- /dev/null
+++ b/libs/gtkmm2/atk/src/hypertext.ccg
@@ -0,0 +1,30 @@
+// -*- c++ -*-
+/* $Id: hypertext.ccg,v 1.1 2004/01/02 09:56:43 murrayc Exp $ */
+
+/* Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <atkmm/object.h>
+#include <atk/atkhypertext.h>
+
+
+namespace Atk
+{
+
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/hypertext.hg b/libs/gtkmm2/atk/src/hypertext.hg
new file mode 100644
index 0000000000..315730143e
--- /dev/null
+++ b/libs/gtkmm2/atk/src/hypertext.hg
@@ -0,0 +1,61 @@
+/* $Id: hypertext.hg,v 1.3 2006/04/12 11:11:24 murrayc Exp $ */
+
+/* Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+_DEFS(atkmm,atk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+#include <atkmm/hyperlink.h>
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C"
+{
+ typedef struct _AtkHypertextIface AtkHypertextIface;
+ typedef struct _AtkHypertext AtkHypertext;
+}
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+/** The ATK interface which provides standard mechanism for manipulating hyperlinks.
+ */
+namespace Atk
+{
+
+class Object;
+
+
+class Hypertext : public Glib::Interface
+{
+ _CLASS_INTERFACE(Hypertext, AtkHypertext, ATK_HYPERTEXT, AtkHypertextIface)
+public:
+
+ _WRAP_METHOD(Glib::RefPtr<Hyperlink> get_link(int link_index), atk_hypertext_get_link)
+ _WRAP_METHOD(Glib::RefPtr<const Hyperlink> get_link(int link_index) const, atk_hypertext_get_link, constversion)
+ _WRAP_METHOD(int get_n_links() const, atk_hypertext_get_n_links)
+ _WRAP_METHOD(int get_link_index(int char_index) const, atk_hypertext_get_link_index)
+
+ _WRAP_SIGNAL(void link_selected(int link_index), "link_selected")
+
+#m4 _CONVERSION(`Glib::RefPtr<Hyperlink>',`AtkHyperlink*',`Glib::unwrap($3)')
+ _WRAP_VFUNC(Glib::RefPtr<Hyperlink> get_link(int link_index), get_link)
+ _WRAP_VFUNC(int get_n_links() const, get_n_links)
+ _WRAP_VFUNC(int get_link_index(int char_index) const, get_link_index)
+};
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/image.ccg b/libs/gtkmm2/atk/src/image.ccg
new file mode 100644
index 0000000000..f3110292b6
--- /dev/null
+++ b/libs/gtkmm2/atk/src/image.ccg
@@ -0,0 +1,23 @@
+// -*- c++ -*-
+/* $Id: image.ccg,v 1.1 2003/01/21 13:37:05 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <atkmm/object.h>
+#include <atk/atkimage.h>
+
diff --git a/libs/gtkmm2/atk/src/image.hg b/libs/gtkmm2/atk/src/image.hg
new file mode 100644
index 0000000000..eab8e1e740
--- /dev/null
+++ b/libs/gtkmm2/atk/src/image.hg
@@ -0,0 +1,66 @@
+/* $Id: image.hg,v 1.2 2004/01/02 09:56:43 murrayc Exp $ */
+
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(atkmm,atk)
+_PINCLUDE(atk/atkimage.h)
+
+#include <atkmm/component.h> /* for Atk::CoordType */
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C"
+{
+ typedef struct _AtkImageIface AtkImageIface;
+ typedef struct _AtkImage AtkImage;
+}
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Atk
+{
+
+/** The ATK Interface implemented by components which expose image or pixmap content on-screen.
+ * This should be implemented by Atk::Object subtypes on behalf of components which display image/pixmap information
+ * onscreen, and which provide information (other than just widget borders, etc.) via that image content. For instance,
+ * icons, buttons with icons, toolbar elements, and image viewing panes typically should implement AtkImage.
+ *
+ * Atk::Image primarily provides two types of information: coordinate information (useful for screen review mode of
+ * screenreaders, and for use by onscreen magnifiers), and descriptive information. The descriptive information is
+ * provided for alternative, text-only presentation of the most significant information present in the image.
+ */
+class Image : public Glib::Interface
+{
+ _CLASS_INTERFACE(Image, AtkImage, ATK_IMAGE, AtkImageIface)
+
+public:
+ _WRAP_METHOD(bool set_image_description(const Glib::ustring& description), atk_image_set_image_description)
+ _WRAP_METHOD(Glib::ustring get_image_description() const, atk_image_get_image_description)
+
+ _WRAP_METHOD(void get_image_size(int& width, int& height) const, atk_image_get_image_size)
+ _WRAP_METHOD(void get_image_position(int& x, int& y, CoordType coord_type) const, atk_image_get_image_position)
+
+protected:
+ _WRAP_VFUNC(bool set_image_description(const Glib::ustring& description), set_image_description)
+ _WRAP_VFUNC(const char* get_image_description() const, get_image_description)
+
+ _WRAP_VFUNC(void get_image_position(int& x, int& y, CoordType coord_type) const, get_image_position)
+ _WRAP_VFUNC(void get_image_size(int& width, int& height) const, get_image_size)
+};
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/implementor.ccg b/libs/gtkmm2/atk/src/implementor.ccg
new file mode 100644
index 0000000000..7fe9b5635e
--- /dev/null
+++ b/libs/gtkmm2/atk/src/implementor.ccg
@@ -0,0 +1,23 @@
+// -*- c++ -*-
+/* $Id: implementor.ccg,v 1.1 2004/04/11 21:00:53 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <atkmm/object.h>
+#include <atk/atkobject.h>
+
diff --git a/libs/gtkmm2/atk/src/implementor.hg b/libs/gtkmm2/atk/src/implementor.hg
new file mode 100644
index 0000000000..9e892a0f67
--- /dev/null
+++ b/libs/gtkmm2/atk/src/implementor.hg
@@ -0,0 +1,45 @@
+/* $Id: implementor.hg,v 1.1 2004/04/11 21:00:53 murrayc Exp $ */
+
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(atkmm,atk)
+
+#include <atkmm/object.h>
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C"
+{
+ typedef struct _AtkImplementorIface AtkImplementorIface;
+ typedef struct _AtkImplementor AtkImplementor;
+}
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Atk
+{
+
+class Implementor : public Glib::Interface
+{
+ _CLASS_INTERFACE(Implementor, AtkImplementor, ATK_IMPLEMENTOR, AtkImplementorIface)
+
+protected:
+ _WRAP_VFUNC(Glib::RefPtr<Object> ref_accessibile(), ref_accessible, refreturn)
+};
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/noopobject.ccg b/libs/gtkmm2/atk/src/noopobject.ccg
new file mode 100644
index 0000000000..86e45a5387
--- /dev/null
+++ b/libs/gtkmm2/atk/src/noopobject.ccg
@@ -0,0 +1,22 @@
+// -*- c++ -*-
+/* $Id: noopobject.ccg,v 1.1 2003/01/21 13:37:06 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <atk/atknoopobject.h>
+
diff --git a/libs/gtkmm2/atk/src/noopobject.hg b/libs/gtkmm2/atk/src/noopobject.hg
new file mode 100644
index 0000000000..ce1cf9653d
--- /dev/null
+++ b/libs/gtkmm2/atk/src/noopobject.hg
@@ -0,0 +1,71 @@
+/* $Id: noopobject.hg,v 1.2 2004/01/02 09:56:43 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <atkmm/object.h>
+#include <atkmm/component.h>
+#include <atkmm/action.h>
+#include <atkmm/editabletext.h>
+#include <atkmm/image.h>
+#include <atkmm/selection.h>
+#include <atkmm/table.h>
+#include <atkmm/value.h>
+#include <atkmm/hypertext.h>
+
+_DEFS(atkmm,atk)
+_PINCLUDE(atkmm/private/object_p.h)
+
+
+namespace Atk
+{
+
+/** An Atk::NoOpObject is an Atk::Object which purports to implement all ATK interfaces.
+ * It is the type of Atk::Object which is created if an accessible object is requested for an object type for which no
+ * factory type is specified.
+ */
+class NoOpObject
+:
+ public Atk::Object,
+ public Atk::Component,
+ public Atk::Action,
+ public Atk::EditableText,
+ public Atk::Image,
+ public Atk::Selection,
+ public Atk::Table,
+ public Atk::Text,
+ public Atk::Hypertext,
+ public Atk::Value
+{
+ _CLASS_GOBJECT(NoOpObject, AtkNoOpObject, ATK_NO_OP_OBJECT, Atk::Object, AtkObject)
+ _IMPLEMENTS_INTERFACE(Component)
+ _IMPLEMENTS_INTERFACE(Action)
+ _IMPLEMENTS_INTERFACE(EditableText)
+ _IMPLEMENTS_INTERFACE(Image)
+ _IMPLEMENTS_INTERFACE(Selection)
+ _IMPLEMENTS_INTERFACE(Table)
+ _IMPLEMENTS_INTERFACE(Text)
+ _IMPLEMENTS_INTERFACE(Hypertext)
+ _IMPLEMENTS_INTERFACE(Value)
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ friend class Atk::Object_Class;
+#endif
+};
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/object.ccg b/libs/gtkmm2/atk/src/object.ccg
new file mode 100644
index 0000000000..2ddfcb8046
--- /dev/null
+++ b/libs/gtkmm2/atk/src/object.ccg
@@ -0,0 +1,61 @@
+// -*- c++ -*-
+/* $Id: object.ccg,v 1.1 2003/01/21 13:37:06 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <atkmm/noopobject.h>
+#include <atkmm/relation.h>
+#include <atkmm/relationset.h>
+#include <atkmm/stateset.h>
+#include <atk/atkobject.h>
+
+
+namespace Atk
+{
+
+/* AtkObject is actually an abstract base class. So if this wrap_new()
+ * function is called, it means that no wrapper exists for the real C object.
+ * The problem is that gail (the real accessibility implementation) is
+ * currently not wrapped and will probably never be. Therefore, code like
+ * in the following example is doomed to fail:
+ *
+ * Gtk::Image image ("icon.png");
+ * Glib::RefPtr<Atk::Image> accessible = Glib::RefPtr<Atk::Image>::cast_dynamic(image.get_accessible());
+ * accessible->set_image_description("my icon");
+ *
+ * This would segfault, even though the accessible object _does_ implement
+ * AtkImage. But Atk::Image is an interface class that can't be instantiated
+ * as is. It needs an object.
+ *
+ * The solution is to instantiate a dummy object that implements all of the
+ * ATK interfaces. Fortunately, ATK already provides us with such a thing,
+ * AtkNoOpObject. All widget accessible objects are of this type if the gail
+ * module is not loaded (which is the default).
+ *
+ * So what we do here is abusing Atk::NoOpObject to get around the lack of
+ * C++ wrappers for gail. Instead of instantiating a useless instance of an
+ * abstract base class, we just create a Atk::NoOpObject instance which can
+ * be casted to any of the Atk interface classes.
+ */
+Glib::ObjectBase* Object_Class::wrap_new(GObject* object)
+{
+ return new Atk::NoOpObject((AtkNoOpObject*) object);
+}
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/object.hg b/libs/gtkmm2/atk/src/object.hg
new file mode 100644
index 0000000000..a1f42883b2
--- /dev/null
+++ b/libs/gtkmm2/atk/src/object.hg
@@ -0,0 +1,105 @@
+/* $Id: object.hg,v 1.5 2004/11/30 21:41:44 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(atkmm,atk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+#include <atkmm/component.h>
+#include <atkmm/relation.h>
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C" { typedef struct _AtkPropertyValues AtkPropertyValues; }
+#endif
+
+
+namespace Atk
+{
+
+_CC_INCLUDE(atk/atk-enum-types.h)
+_WRAP_ENUM(Role, AtkRole)
+
+class RelationSet;
+class Relation;
+class StateSet;
+
+typedef guint64 State;
+
+/** The base object class for the Accessibility Toolkit API.
+ * This class is the primary class for accessibility support via the Accessibility ToolKit (ATK). Objects which are
+ * instances of Atk::Object (or instances of Atk::Object-derived types) are queried for properties which relate basic
+ * (and generic) properties of a UI component such as name and description. Instances of Atk::Object may also be queried
+ * as to whether they implement other ATK interfaces (e.g. Atk::Action, Atk::Component, etc.), as appropriate to the role
+ * which a given UI component plays in a user interface.
+ *
+ * All UI components in an application which provide useful information or services to the user must provide corresponding
+ * Atk::Object instances on request (in GTK+, for instance, usually on a call to Gtk::Widget::get_accessible()), either via
+ * ATK support built into the toolkit for the widget class or ancestor class, or in the case of custom widgets, if the
+ * inherited Atk::Object implementation is insufficient, via instances of a new Atk::Object subclass.
+ */
+class Object : public Glib::Object
+{
+ _CLASS_GOBJECT(Object, AtkObject, ATK_OBJECT, Glib::Object, GObject)
+ _CUSTOM_WRAP_NEW() // see wrap_new() implementation in object.ccg
+ _IGNORE(atk_object_initialize, atk_object_get_layer, atk_object_get_mdi_zorder)
+public:
+
+ _WRAP_METHOD(Glib::ustring get_name() const, atk_object_get_name)
+ _WRAP_METHOD(Glib::ustring get_description() const, atk_object_get_description)
+ _WRAP_METHOD(Glib::RefPtr<Atk::Object> get_parent(), atk_object_get_parent, refreturn)
+ _WRAP_METHOD(int get_n_accessible_children() const, atk_object_get_n_accessible_children)
+ _WRAP_METHOD(Glib::RefPtr<Atk::Object> get_accessible_child(int i), atk_object_ref_accessible_child)
+ _WRAP_METHOD(Glib::RefPtr<RelationSet> get_relation_set(), atk_object_ref_relation_set, refreturn)
+ _WRAP_METHOD(Role get_role() const, atk_object_get_role)
+ _WRAP_METHOD(Glib::RefPtr<StateSet> get_state_set(), atk_object_ref_state_set)
+ _WRAP_METHOD(int get_index_in_parent(), atk_object_get_index_in_parent)
+ _WRAP_METHOD(void set_name(const Glib::ustring& name), atk_object_set_name)
+ _WRAP_METHOD(void set_description(const Glib::ustring& description), atk_object_set_description)
+ _WRAP_METHOD(void set_parent(const Glib::RefPtr<Atk::Object>& parent), atk_object_set_parent)
+ _WRAP_METHOD(void set_role(Role role), atk_object_set_role)
+ //_WRAP_METHOD(guint connect_property_change_handler(AtkPropertyChangeHandler* handler), atk_object_connect_property_change_handler)
+ //_WRAP_METHOD(void remove_property_change_handler(guint handler_id), atk_object_remove_property_change_handler)
+ _WRAP_METHOD(void notify_state_change(State state, bool value), atk_object_notify_state_change)
+
+ _WRAP_METHOD(bool add_relationship(RelationType relationship, const Glib::RefPtr<Object>& target), atk_object_add_relationship)
+ _WRAP_METHOD(bool remove_relationship(RelationType relationship, const Glib::RefPtr<Object>& target), atk_object_remove_relationship)
+
+ _WRAP_SIGNAL(void children_changed(guint change_index, gpointer changed_child), "children_changed")
+ _WRAP_SIGNAL(void focus_event(bool focus_in), "focus_event")
+ _WRAP_SIGNAL(void property_change(AtkPropertyValues* values), "property_change")
+ _WRAP_SIGNAL(void state_change(const Glib::ustring& name, bool state_set), "state_change")
+ _WRAP_SIGNAL(void visible_data_changed(), "visible_data_changed")
+ _WRAP_SIGNAL(void active_descendant_changed(void** child), "active_descendant_changed")
+
+ _WRAP_PROPERTY("accessible-name", Glib::ustring)
+ _WRAP_PROPERTY("accessible-description", Glib::ustring)
+ _WRAP_PROPERTY("accessible-parent", Glib::RefPtr<Atk::Object>)
+ _WRAP_PROPERTY("accessible-value", double)
+ _WRAP_PROPERTY("accessible-role", int)
+ _WRAP_PROPERTY("accessible-component-layer", int)
+ _WRAP_PROPERTY("accessible-component-mdi-zorder", int)
+ _WRAP_PROPERTY("accessible-table-caption", Glib::ustring)
+ _WRAP_PROPERTY("accessible-table-column-description", Glib::ustring)
+ _WRAP_PROPERTY("accessible-table-column-header", Glib::RefPtr<Atk::Object>)
+ _WRAP_PROPERTY("accessible-table-row-description", Glib::ustring)
+ _WRAP_PROPERTY("accessible-table-row-header", Glib::RefPtr<Atk::Object>)
+ _WRAP_PROPERTY("accessible-table-summary", Glib::RefPtr<Atk::Object>)
+};
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/objectaccessible.ccg b/libs/gtkmm2/atk/src/objectaccessible.ccg
new file mode 100644
index 0000000000..4a08c0e321
--- /dev/null
+++ b/libs/gtkmm2/atk/src/objectaccessible.ccg
@@ -0,0 +1,23 @@
+// -*- c++ -*-
+/* $Id: objectaccessible.ccg,v 1.1 2003/01/21 13:37:06 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <atk/atkgobjectaccessible.h> \ No newline at end of file
diff --git a/libs/gtkmm2/atk/src/objectaccessible.hg b/libs/gtkmm2/atk/src/objectaccessible.hg
new file mode 100644
index 0000000000..c6cd3f8410
--- /dev/null
+++ b/libs/gtkmm2/atk/src/objectaccessible.hg
@@ -0,0 +1,46 @@
+/* $Id: objectaccessible.hg,v 1.4 2006/04/12 11:11:24 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <atkmm/object.h>
+
+
+_DEFS(atkmm,atk)
+_PINCLUDE(atkmm/private/object_p.h)
+
+namespace Atk
+{
+
+/** This object class is derived from AtkObject and can be used as a basis implementing accessible objects.
+ * This can be used as a basis for implementing accessible objects for Glib::Objects which are not derived from
+ * Gtk::Widget. One example of its use is in providing an accessible object for GnomeCanvasItem in the GAIL library.
+ */
+class ObjectAccessible : public Atk::Object
+{
+ _CLASS_GOBJECT(ObjectAccessible, AtkGObjectAccessible, ATK_GOBJECT_ACCESSIBLE, Atk::Object, AtkObject)
+protected:
+
+ _WRAP_METHOD(Glib::RefPtr<Glib::Object> get_object(), atk_gobject_accessible_get_object, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Glib::Object> get_object() const, atk_gobject_accessible_get_object, refreturn, constversion)
+
+ _WRAP_METHOD(static Glib::RefPtr<Atk::Object> for_object(const Glib::RefPtr<Glib::Object>& obj), atk_gobject_accessible_for_object, refreturn)
+ _WRAP_METHOD(static Glib::RefPtr<const Atk::Object> for_object(const Glib::RefPtr<const Glib::Object>& obj), atk_gobject_accessible_for_object, refreturn)
+};
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/relation.ccg b/libs/gtkmm2/atk/src/relation.ccg
new file mode 100644
index 0000000000..b0a5e05718
--- /dev/null
+++ b/libs/gtkmm2/atk/src/relation.ccg
@@ -0,0 +1,54 @@
+// -*- c++ -*-
+/* $Id: relation.ccg,v 1.2 2003/09/30 14:28:09 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <atkmm/object.h>
+#include <atk/atkobject.h>
+#include <atk/atkrelation.h>
+
+
+namespace Atk
+{
+
+//TODO: Implement this with the new GValue array thingy. See bug #74246.
+Relation::Relation(const Glib::ArrayHandle< Glib::RefPtr<Atk::Object> >& targets,
+ RelationType relationship)
+:
+ Glib::Object((GObject*) atk_relation_new(const_cast<AtkObject**>(targets.data()), targets.size(),
+ (AtkRelationType) relationship))
+{}
+
+Glib::ArrayHandle< Glib::RefPtr<Atk::Object> > Relation::get_target()
+{
+ GPtrArray *const parray = atk_relation_get_target(gobj());
+
+ return Glib::ArrayHandle< Glib::RefPtr<Atk::Object> >
+ (reinterpret_cast<AtkObject**>(parray->pdata), parray->len, Glib::OWNERSHIP_NONE);
+}
+
+Glib::ArrayHandle< Glib::RefPtr<const Atk::Object> > Relation::get_target() const
+{
+ GPtrArray *const parray = atk_relation_get_target(const_cast<AtkRelation*>(gobj()));
+
+ return Glib::ArrayHandle< Glib::RefPtr<const Atk::Object> >
+ (reinterpret_cast<AtkObject**>(parray->pdata), parray->len, Glib::OWNERSHIP_NONE);
+}
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/relation.hg b/libs/gtkmm2/atk/src/relation.hg
new file mode 100644
index 0000000000..f6e386cf29
--- /dev/null
+++ b/libs/gtkmm2/atk/src/relation.hg
@@ -0,0 +1,59 @@
+/* $Id: relation.hg,v 1.3 2005/01/05 18:21:30 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+_DEFS(atkmm,atk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Atk
+{
+
+_CC_INCLUDE(atk/atk-enum-types.h)
+_WRAP_ENUM(RelationType, AtkRelationType)
+
+class Object;
+
+/** An Atk::Relation describes a relation between an object and one or more other objects.
+ * The actual relations that an object has with other objects are defined as an Atk::RelationSet,
+ * which is a set of Atk::Relations.
+ */
+class Relation : public Glib::Object
+{
+ _CLASS_GOBJECT(Relation, AtkRelation, ATK_RELATION, Glib::Object, GObject)
+
+protected:
+ explicit Relation(const Glib::ArrayHandle< Glib::RefPtr<Atk::Object> >& targets,
+ RelationType relationship);
+
+public:
+ _WRAP_CREATE(const Glib::ArrayHandle< Glib::RefPtr<Atk::Object> >& targets,
+ RelationType relationship = RELATION_NULL)
+
+ _WRAP_METHOD(RelationType get_relation_type() const, atk_relation_get_relation_type)
+
+ Glib::ArrayHandle< Glib::RefPtr<Atk::Object> > get_target();
+ Glib::ArrayHandle< Glib::RefPtr<const Atk::Object> > get_target() const;
+ _IGNORE(atk_relation_get_target)
+
+ _WRAP_METHOD(void add_target(const Glib::RefPtr<Atk::Object>& target), atk_relation_add_target)
+};
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/relationset.ccg b/libs/gtkmm2/atk/src/relationset.ccg
new file mode 100644
index 0000000000..ed7a849510
--- /dev/null
+++ b/libs/gtkmm2/atk/src/relationset.ccg
@@ -0,0 +1,23 @@
+// -*- c++ -*-
+/* $Id: relationset.ccg,v 1.1 2003/01/21 13:37:06 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <atk/atkobject.h>
+#include <atk/atkrelationset.h>
+
diff --git a/libs/gtkmm2/atk/src/relationset.hg b/libs/gtkmm2/atk/src/relationset.hg
new file mode 100644
index 0000000000..563870995b
--- /dev/null
+++ b/libs/gtkmm2/atk/src/relationset.hg
@@ -0,0 +1,52 @@
+/* $Id: relationset.hg,v 1.3 2005/01/05 18:21:30 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+#include <atkmm/relation.h>
+#include <atkmm/object.h>
+
+_DEFS(atkmm,atk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Atk
+{
+
+/** A set of Atk::Relations, normally the set of AtkRelations which an Atk::Object has.
+ */
+class RelationSet : public Glib::Object
+{
+ _CLASS_GOBJECT(RelationSet, AtkRelationSet, ATK_RELATION_SET, Glib::Object, GObject)
+protected:
+ _CTOR_DEFAULT
+
+public:
+ _WRAP_CREATE()
+
+ _WRAP_METHOD(bool set_contains(RelationType relationship), atk_relation_set_contains)
+ _WRAP_METHOD(void set_remove(const Glib::RefPtr<Relation>& relation), atk_relation_set_remove)
+ _WRAP_METHOD(void set_add(const Glib::RefPtr<Relation>& relation), atk_relation_set_add)
+ _WRAP_METHOD(int get_n_relations() const, atk_relation_set_get_n_relations)
+ _WRAP_METHOD(Glib::RefPtr<Relation> get_relation(gint i), atk_relation_set_get_relation, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<Relation> get_relation(RelationType relationship), atk_relation_set_get_relation_by_type, refreturn)
+
+ _WRAP_METHOD(void add_relation_by_type(RelationType relationship, const Glib::RefPtr<Atk::Object>& target), atk_relation_set_add_relation_by_type)
+};
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/selection.ccg b/libs/gtkmm2/atk/src/selection.ccg
new file mode 100644
index 0000000000..7509443f41
--- /dev/null
+++ b/libs/gtkmm2/atk/src/selection.ccg
@@ -0,0 +1,23 @@
+// -*- c++ -*-
+/* $Id: selection.ccg,v 1.1 2003/01/21 13:37:07 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <atkmm/object.h>
+#include <atk/atkselection.h>
+
diff --git a/libs/gtkmm2/atk/src/selection.hg b/libs/gtkmm2/atk/src/selection.hg
new file mode 100644
index 0000000000..3da815e24a
--- /dev/null
+++ b/libs/gtkmm2/atk/src/selection.hg
@@ -0,0 +1,71 @@
+/* $Id: selection.hg,v 1.2 2004/01/02 09:56:43 murrayc Exp $ */
+
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(atkmm,atk)
+_PINCLUDE(atk/atkobject.h)
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C"
+{
+ typedef struct _AtkSelectionIface AtkSelectionIface;
+ typedef struct _AtkSelection AtkSelection;
+}
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Atk
+{
+
+class Object;
+
+/** The ATK interface implemented by container objects whose Atk::Object children can be selected.
+ * This should be implemented by UI components with children which are exposed by Atk::Object::ref_child and
+ * Atk::Object::get_n_children, if the use of the parent UI component ordinarily involves selection of one or
+ * more of the objects corresponding to those AtkObject children - for example, selectable lists.
+ *
+ * Note that other types of "selection" (for instance text selection) are accomplished a other ATK interfaces -
+ * Atk::Selection is limited to the selection/deselection of children.
+ */
+class Selection : public Glib::Interface
+{
+ _CLASS_INTERFACE(Selection, AtkSelection, ATK_SELECTION, AtkSelectionIface)
+
+public:
+ _WRAP_METHOD(bool add_selection(int i), atk_selection_add_selection)
+ _WRAP_METHOD(bool clear_selection(), atk_selection_clear_selection)
+ _WRAP_METHOD(Glib::RefPtr<Atk::Object> get_selection(int i), atk_selection_ref_selection)
+ _WRAP_METHOD(int get_selection_count() const, atk_selection_get_selection_count)
+ _WRAP_METHOD(bool is_child_selected(int i) const, atk_selection_is_child_selected)
+ _WRAP_METHOD(bool remove_selection(int i), atk_selection_remove_selection)
+ _WRAP_METHOD(bool select_all_selection(), atk_selection_select_all_selection)
+
+ _WRAP_SIGNAL(void selection_changed(), "selection_changed")
+
+protected:
+ _WRAP_VFUNC(bool add_selection(int i), add_selection)
+ _WRAP_VFUNC(bool clear_selection(), clear_selection)
+ _WRAP_VFUNC(Glib::RefPtr<Atk::Object> get_selection(int i), ref_selection, refreturn_ctype)
+ _WRAP_VFUNC(int get_selection_count() const, get_selection_count)
+ _WRAP_VFUNC(bool is_child_selected(int i) const, is_child_selected)
+ _WRAP_VFUNC(bool remove_selection(int i), remove_selection)
+ _WRAP_VFUNC(bool select_all_selection(), select_all_selection)
+};
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/stateset.ccg b/libs/gtkmm2/atk/src/stateset.ccg
new file mode 100644
index 0000000000..4b03b7f647
--- /dev/null
+++ b/libs/gtkmm2/atk/src/stateset.ccg
@@ -0,0 +1,40 @@
+// -*- c++ -*-
+/* $Id: stateset.ccg,v 1.1 2003/01/21 13:37:07 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <atk/atkobject.h>
+#include <atk/atkstateset.h>
+
+
+namespace Atk
+{
+
+void StateSet::add_states(const Glib::ArrayHandle<StateType>& types)
+{
+ atk_state_set_add_states(gobj(), (AtkStateType*) types.data(), types.size());
+}
+
+bool StateSet::contains_states(const Glib::ArrayHandle<StateType>& types) const
+{
+ return atk_state_set_contains_states(
+ const_cast<AtkStateSet*>(gobj()), (AtkStateType*) types.data(), types.size());
+}
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/stateset.hg b/libs/gtkmm2/atk/src/stateset.hg
new file mode 100644
index 0000000000..2660d44424
--- /dev/null
+++ b/libs/gtkmm2/atk/src/stateset.hg
@@ -0,0 +1,60 @@
+/* $Id: stateset.hg,v 1.3 2004/01/02 09:56:43 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(atkmm,atk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Atk
+{
+
+_CC_INCLUDE(atk/atk-enum-types.h)
+_WRAP_ENUM(StateType, AtkStateType)
+
+/** An AtkStateSet determines a component's state set.
+ * It is composed of a set of Atk::States.
+ */
+class StateSet : public Glib::Object
+{
+ _CLASS_GOBJECT(StateSet, AtkStateSet, ATK_STATE_SET, Glib::Object, GObject)
+
+protected:
+ _CTOR_DEFAULT()
+
+public:
+ _WRAP_CREATE()
+
+ _WRAP_METHOD(bool is_empty() const, atk_state_set_is_empty)
+
+ //Note that we use Atk::StateType instead of StateType, because there is a Gtk::StateType too, and Doxygen gets confused.
+ _WRAP_METHOD(bool add_state(Atk::StateType type), atk_state_set_add_state)
+ void add_states(const Glib::ArrayHandle<Atk::StateType>& types);
+ _IGNORE(atk_state_set_add_states)
+ _WRAP_METHOD(void clear_states(),atk_state_set_clear_states)
+ _WRAP_METHOD(bool contains_state(Atk::StateType type), atk_state_set_contains_state)
+ bool contains_states(const Glib::ArrayHandle<Atk::StateType>& types) const;
+ _IGNORE(atk_state_set_contains_states)
+ _WRAP_METHOD(bool remove_state(Atk::StateType type), atk_state_set_remove_state)
+ _WRAP_METHOD(Glib::RefPtr<StateSet> and_sets(const Glib::RefPtr<StateSet>& compare_set), atk_state_set_and_sets)
+ _WRAP_METHOD(Glib::RefPtr<StateSet> or_sets(const Glib::RefPtr<StateSet>& compare_set), atk_state_set_or_sets)
+ _WRAP_METHOD(Glib::RefPtr<StateSet> xor_sets(const Glib::RefPtr<StateSet>& compare_set), atk_state_set_xor_sets)
+};
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/streamablecontent.ccg b/libs/gtkmm2/atk/src/streamablecontent.ccg
new file mode 100644
index 0000000000..569dd6fe5f
--- /dev/null
+++ b/libs/gtkmm2/atk/src/streamablecontent.ccg
@@ -0,0 +1,30 @@
+// -*- c++ -*-
+/* $Id: streamablecontent.ccg,v 1.1 2004/01/02 09:56:43 murrayc Exp $ */
+
+/* Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <atkmm/object.h>
+#include <atk/atkstreamablecontent.h>
+
+
+namespace Atk
+{
+
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/streamablecontent.hg b/libs/gtkmm2/atk/src/streamablecontent.hg
new file mode 100644
index 0000000000..bd41801aa8
--- /dev/null
+++ b/libs/gtkmm2/atk/src/streamablecontent.hg
@@ -0,0 +1,56 @@
+/* $Id: streamablecontent.hg,v 1.3 2004/01/19 19:48:36 murrayc Exp $ */
+
+/* Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+_DEFS(atkmm,atk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C"
+{
+ typedef struct _AtkStreamableContentIface AtkStreamableContentIface;
+ typedef struct _AtkStreamableContent AtkStreamableContent;
+}
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Atk
+{
+
+class Object;
+
+/** The ATK interface which provides access to streamable content.
+ */
+class StreamableContent : public Glib::Interface
+{
+ _CLASS_INTERFACE(StreamableContent, AtkStreamableContent, ATK_STREAMABLE_CONTENT, AtkStreamableContentIface)
+public:
+
+ _WRAP_METHOD(int get_n_mime_types() const, atk_streamable_content_get_n_mime_types)
+ _WRAP_METHOD(Glib::ustring get_mime_type(int i) const, atk_streamable_content_get_mime_type)
+ _WRAP_METHOD(Glib::RefPtr<Glib::IOChannel> get_stream(const Glib::ustring& mime_type), atk_streamable_content_get_stream)
+
+protected:
+ _WRAP_VFUNC(int get_n_mime_types() const, get_n_mime_types)
+ _WRAP_VFUNC(const gchar* get_mime_type(int i) const, get_mime_type)
+ _WRAP_VFUNC(GIOChannel* get_stream(const Glib::ustring& mime_type), get_stream)
+};
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/table.ccg b/libs/gtkmm2/atk/src/table.ccg
new file mode 100644
index 0000000000..b6f5c9a220
--- /dev/null
+++ b/libs/gtkmm2/atk/src/table.ccg
@@ -0,0 +1,45 @@
+// -*- c++ -*-
+/* $Id: table.ccg,v 1.1 2003/01/21 13:37:07 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <atkmm/object.h>
+#include <atk/atktable.h>
+
+
+namespace Atk
+{
+
+Glib::ArrayHandle<int> Table::get_selected_columns() const
+{
+ int* selected = 0;
+ const int n_selected = atk_table_get_selected_columns(const_cast<AtkTable*>(gobj()), &selected);
+
+ return Glib::ArrayHandle<int>(selected, n_selected, Glib::OWNERSHIP_SHALLOW);
+}
+
+Glib::ArrayHandle<int> Table::get_selected_rows() const
+{
+ int* selected = 0;
+ const int n_selected = atk_table_get_selected_rows(const_cast<AtkTable*>(gobj()), &selected);
+
+ return Glib::ArrayHandle<int>(selected, n_selected, Glib::OWNERSHIP_SHALLOW);
+}
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/table.hg b/libs/gtkmm2/atk/src/table.hg
new file mode 100644
index 0000000000..6d4032493b
--- /dev/null
+++ b/libs/gtkmm2/atk/src/table.hg
@@ -0,0 +1,142 @@
+/* $Id: table.hg,v 1.4 2006/04/12 11:11:24 murrayc Exp $ */
+
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(atkmm,atk)
+_PINCLUDE(atk/atkobject.h)
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C"
+{
+ typedef struct _AtkTableIface AtkTableIface;
+ typedef struct _AtkTable AtkTable;
+}
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Atk
+{
+
+class Object;
+
+/** The ATK interface implemented for UI components which contain tabular or row/column information.
+ * This should be implemented by components which present elements ordered via rows and columns. It may also be used to
+ * present tree-structured information if the nodes of the trees can be said to contain multiple "columns". Individual
+ * elements of an Atk::Table are typically referred to as "cells", and these cells are exposed by Atk::Table as child
+ * Atk::Objects of the Atk::Table. Both row/column and child-index-based access to these children is provided.
+ *
+ * Children of Atk::Table are frequently "lightweight" objects, that is, they may not have backing widgets in the host UI
+ * toolkit. They are therefore often transient.
+ *
+ * Since tables are often very complex, Atk::Table includes provision for offering simplified summary information, as
+ * well as row and column headers and captions. Headers and captions are AtkObjects which may implement other interfaces
+ * (Atk::Text, Atk::Image, etc.) as appropriate. Atk::Table summaries may themselves be (simplified) Atk::Tables, etc.
+ */
+class Table : public Glib::Interface
+{
+ _CLASS_INTERFACE(Table, AtkTable, ATK_TABLE, AtkTableIface)
+
+public:
+ _WRAP_METHOD(Glib::RefPtr<Atk::Object> get_at(int row, int column), atk_table_ref_at)
+ _WRAP_METHOD(int get_index_at(int row, int column) const, atk_table_get_index_at)
+ _WRAP_METHOD(int get_column_at_index(int index) const, atk_table_get_column_at_index)
+ _WRAP_METHOD(int get_row_at_index(int index) const, atk_table_get_row_at_index)
+ _WRAP_METHOD(int get_n_columns() const, atk_table_get_n_columns)
+ _WRAP_METHOD(int get_n_rows() const, atk_table_get_n_rows)
+ _WRAP_METHOD(int get_column_extent_at(int row, int column) const, atk_table_get_column_extent_at)
+ _WRAP_METHOD(int get_row_extent_at(int row, int column) const, atk_table_get_row_extent_at)
+
+ _WRAP_METHOD(Glib::RefPtr<Atk::Object> get_caption(), atk_table_get_caption, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Atk::Object> get_caption() const, atk_table_get_caption, refreturn, constversion)
+
+ _WRAP_METHOD(Glib::ustring get_column_description(int column) const, atk_table_get_column_description)
+
+ _WRAP_METHOD(Glib::RefPtr<Atk::Object> get_column_header(int column), atk_table_get_column_header, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Atk::Object> get_column_header(int column) const, atk_table_get_column_header, refreturn, constversion)
+
+
+ _WRAP_METHOD(Glib::ustring get_row_description(int row) const, atk_table_get_row_description)
+
+ _WRAP_METHOD(Glib::RefPtr<Atk::Object> get_row_header(int row), atk_table_get_row_header, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Atk::Object> get_row_header(int row) const, atk_table_get_row_header, refreturn, constversion)
+
+ _WRAP_METHOD(Glib::RefPtr<Atk::Object> get_summary(), atk_table_get_summary, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Atk::Object> get_summary() const, atk_table_get_summary, refreturn, constversion)
+
+ _WRAP_METHOD(void set_caption(const Glib::RefPtr<Atk::Object>& caption), atk_table_set_caption)
+ _WRAP_METHOD(void set_column_description(int column, const Glib::ustring& description), atk_table_set_column_description)
+ _WRAP_METHOD(void set_column_header(int column, const Glib::RefPtr<Atk::Object>& header), atk_table_set_column_header)
+ _WRAP_METHOD(void set_row_description(int row, const Glib::ustring& description), atk_table_set_row_description)
+ _WRAP_METHOD(void set_row_header(int row, const Glib::RefPtr<Atk::Object>& header), atk_table_set_row_header)
+ _WRAP_METHOD(void set_summary(const Glib::RefPtr<Atk::Object>& accessible), atk_table_set_summary)
+
+ _IGNORE(atk_table_get_selected_columns, atk_table_get_selected_rows)
+ Glib::ArrayHandle<int> get_selected_columns() const;
+ Glib::ArrayHandle<int> get_selected_rows() const;
+
+ _WRAP_METHOD(bool is_column_selected(int column) const, atk_table_is_column_selected)
+ _WRAP_METHOD(bool is_row_selected(int row) const, atk_table_is_row_selected)
+ _WRAP_METHOD(bool is_selected(int row, int column) const, atk_table_is_selected)
+ _WRAP_METHOD(bool add_row_selection(int row), atk_table_add_row_selection)
+ _WRAP_METHOD(bool remove_row_selection(int row), atk_table_remove_row_selection)
+ _WRAP_METHOD(bool add_column_selection(int column), atk_table_add_column_selection)
+ _WRAP_METHOD(bool remove_column_selection(int column), atk_table_remove_column_selection)
+
+ _WRAP_SIGNAL(void row_inserted(int row, int num_inserted), "row_inserted")
+ _WRAP_SIGNAL(void column_inserted(int column, int num_inserted), "column_inserted")
+ _WRAP_SIGNAL(void row_deleted(int row, int num_deleted), "row_deleted")
+ _WRAP_SIGNAL(void column_deleted(int column, int num_deleted), "column_deleted")
+ _WRAP_SIGNAL(void row_reordered(), "row_reordered")
+ _WRAP_SIGNAL(void column_reordered(), "column_reordered")
+ _WRAP_SIGNAL(void model_changed(), "model_changed")
+
+protected:
+#m4 _CONVERSION(`AtkObject*',`const Glib::RefPtr<Atk::Object>&',`Glib::wrap($3, true)')
+ _WRAP_VFUNC(Glib::RefPtr<Atk::Object> get_at(int row, int column), ref_at, refreturn_ctype)
+ _WRAP_VFUNC(int get_index_at(int row, int column) const, get_index_at)
+ _WRAP_VFUNC(int get_column_at_index(int index) const, get_column_at_index)
+ _WRAP_VFUNC(int get_row_at_index(int index) const, get_row_at_index)
+ _WRAP_VFUNC(int get_n_columns() const, get_n_columns)
+ _WRAP_VFUNC(int get_n_rows() const, get_n_rows)
+ _WRAP_VFUNC(int get_column_extent_at(int row, int column) const, get_column_extent_at)
+ _WRAP_VFUNC(int get_row_extent_at(int row, int column) const, get_row_extent_at)
+ _WRAP_VFUNC(Glib::RefPtr<Atk::Object> get_caption(), get_caption, refreturn)
+ _WRAP_VFUNC(const char* get_column_description(int column) const, get_column_description)
+ _WRAP_VFUNC(Glib::RefPtr<Atk::Object> get_column_header(int column), get_column_header, refreturn)
+ _WRAP_VFUNC(const char* get_row_description(int row) const, get_row_description)
+ _WRAP_VFUNC(Glib::RefPtr<Atk::Object> get_row_header(int row), get_row_header, refreturn)
+ _WRAP_VFUNC(Glib::RefPtr<Atk::Object> get_summary(), get_summary, refreturn)
+ _WRAP_VFUNC(void set_caption(const Glib::RefPtr<Atk::Object>& caption), set_caption)
+ _WRAP_VFUNC(void set_column_description(int column, const char* description), set_column_description)
+ _WRAP_VFUNC(void set_column_header(int column, const Glib::RefPtr<Atk::Object>& header), set_column_header)
+ _WRAP_VFUNC(void set_row_description(int row, const char* description), set_row_description)
+ _WRAP_VFUNC(void set_row_header(int row, const Glib::RefPtr<Atk::Object>& header), set_row_header)
+ _WRAP_VFUNC(void set_summary(const Glib::RefPtr<Atk::Object>& accessible), set_summary)
+ _WRAP_VFUNC(bool is_column_selected(int column) const, is_column_selected)
+ _WRAP_VFUNC(bool is_row_selected(int row) const, is_row_selected)
+ _WRAP_VFUNC(bool is_selected(int row, int column) const, is_selected)
+ _WRAP_VFUNC(bool add_row_selection(int row), add_row_selection)
+ _WRAP_VFUNC(bool remove_row_selection(int row), remove_row_selection)
+ _WRAP_VFUNC(bool add_column_selection(int column), add_column_selection)
+ _WRAP_VFUNC(bool remove_column_selection(int column), remove_column_selection)
+ _WRAP_VFUNC(int get_selected_columns(int** selected) const, get_selected_columns)
+ _WRAP_VFUNC(int get_selected_rows(int** selected) const, get_selected_rows)
+};
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/text.ccg b/libs/gtkmm2/atk/src/text.ccg
new file mode 100644
index 0000000000..2caa773bfd
--- /dev/null
+++ b/libs/gtkmm2/atk/src/text.ccg
@@ -0,0 +1,111 @@
+// -*- c++ -*-
+/* $Id: text.ccg,v 1.1 2003/01/21 13:37:07 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <atkmm/object.h>
+#include <glib.h>
+#include <algorithm> /* for std::swap() */
+
+
+// static
+GType Glib::Value<Atk::TextAttribute>::value_type()
+{
+ return atk_text_attribute_get_type();
+}
+
+
+namespace Atk
+{
+
+/**** Atk::Attribute *******************************************************/
+
+Attribute::Attribute()
+{
+ gobject_.name = 0;
+ gobject_.value = 0;
+}
+
+Attribute::Attribute(const Glib::ustring& name, const Glib::ustring& value)
+{
+ gobject_.name = g_strndup(name .data(), name .bytes());
+ gobject_.value = g_strndup(value.data(), value.bytes());
+}
+
+Attribute::Attribute(const AtkAttribute* gobject)
+{
+ g_return_if_fail(gobject != 0);
+
+ gobject_.name = g_strdup(gobject->name);
+ gobject_.value = g_strdup(gobject->value);
+}
+
+Attribute::~Attribute()
+{
+ g_free(gobject_.name);
+ g_free(gobject_.value);
+}
+
+Attribute::Attribute(const Attribute& other)
+{
+ gobject_.name = g_strdup(other.gobject_.name);
+ gobject_.value = g_strdup(other.gobject_.value);
+}
+
+Attribute& Attribute::operator=(const Attribute& other)
+{
+ Attribute temp (other);
+ swap(temp);
+ return *this;
+}
+
+void Attribute::swap(Attribute& other)
+{
+ std::swap(gobject_.name, other.gobject_.name);
+ std::swap(gobject_.value, other.gobject_.value);
+}
+
+
+/**** Atk::TextAttribute ***************************************************/
+
+// static
+TextAttribute TextAttribute::for_name(const Glib::ustring& name)
+{
+ return TextAttribute(int(atk_text_attribute_for_name(name.c_str())));
+}
+
+// static
+Glib::ustring TextAttribute::get_name(TextAttribute attribute)
+{
+ if(const char *const name = atk_text_attribute_get_name(AtkTextAttribute(int(attribute))))
+ return Glib::ustring(name);
+ else
+ return Glib::ustring();
+}
+
+// static
+Glib::ustring TextAttribute::get_value(TextAttribute attribute, int index)
+{
+ if(const char *const value = atk_text_attribute_get_value(AtkTextAttribute(int(attribute)), index))
+ return Glib::ustring(value);
+ else
+ return Glib::ustring();
+}
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/text.hg b/libs/gtkmm2/atk/src/text.hg
new file mode 100644
index 0000000000..ba9d0f41f6
--- /dev/null
+++ b/libs/gtkmm2/atk/src/text.hg
@@ -0,0 +1,194 @@
+/* $Id: text.hg,v 1.7 2005/01/05 18:21:30 murrayc Exp $ */
+
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(atkmm,atk)
+
+#include <atkmm/component.h> /* for Atk::CoordType */
+#include <atk/atktext.h>
+
+
+namespace Atk
+{
+
+class Attribute
+{
+ _CLASS_GENERIC(Attribute, AtkAttribute)
+
+public:
+ Attribute();
+ Attribute(const Glib::ustring& name, const Glib::ustring& value);
+ explicit Attribute(const AtkAttribute* gobject);
+ ~Attribute();
+
+ Attribute(const Attribute& other);
+ Attribute& operator=(const Attribute& other);
+
+ void swap(Attribute& other);
+
+ _MEMBER_GET(name, name, Glib::ustring, const char*)
+ _MEMBER_GET(value, value, Glib::ustring, const char*)
+
+ /// Provides access to the underlying C GObject.
+ AtkAttribute* gobj() { return &gobject_; }
+
+ /// Provides access to the underlying C GObject.
+ const AtkAttribute* gobj() const { return &gobject_; }
+
+protected:
+ AtkAttribute gobject_;
+};
+
+/** @relates Atk::Attribute */
+inline void swap(Attribute& lhs, Attribute& rhs)
+ { lhs.swap(rhs); }
+
+struct AttributeTraits
+{
+ typedef Atk::Attribute CppType;
+ typedef const AtkAttribute* CType;
+ typedef AtkAttribute* CTypeNonConst;
+
+ static CType to_c_type(CType item) { return item; }
+ static CType to_c_type(const CppType& item) { return item.gobj(); }
+ static CppType to_cpp_type(CType item) { return CppType(item); }
+ static void release_c_type(CType item) { g_free(const_cast<CTypeNonConst>(item)); }
+};
+
+typedef Glib::SListHandle<Attribute, AttributeTraits> AttributeSet;
+
+
+_CC_INCLUDE(atk/atk-enum-types.h)
+_WRAP_ENUM(BuiltinTextAttribute, AtkTextAttribute)
+
+class TextAttribute
+{
+private:
+ int attribute_;
+
+public:
+ TextAttribute() : attribute_ (0) {}
+ TextAttribute(BuiltinTextAttribute attribute) : attribute_ (attribute) {}
+
+ // Behave like an ordinary enum.
+ explicit TextAttribute(int attribute) : attribute_ (attribute) {}
+ operator int() const { return attribute_; }
+
+ static TextAttribute for_name(const Glib::ustring& name);
+ static Glib::ustring get_name(TextAttribute attribute);
+ static Glib::ustring get_value(TextAttribute attribute, int index);
+};
+
+} // namespace Atk
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+namespace Glib
+{
+
+template <>
+class Value<Atk::TextAttribute> : public Glib::Value_Enum<Atk::TextAttribute>
+{
+public:
+ static GType value_type() G_GNUC_CONST;
+};
+
+} // namespace Glib
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+namespace Atk
+{
+
+_WRAP_ENUM(TextBoundary, AtkTextBoundary)
+_WRAP_ENUM(TextClipType, AtkTextClipType)
+
+/** The ATK interface implemented by components with text content.
+ * This should be implemented by Atk::Objects on behalf of widgets that have text content which is either attributed
+ * or otherwise non-trivial. Atk::Objects whose text content is simple, unattributed, and very brief may expose that
+ * content via Atk::Object::get_name() instead; however if the text is editable, multi-line, typically longer than
+ * three or four words, attributed, selectable, or if the object already uses the 'name' ATK property for other
+ * information, this Text interface should be used to expose the text content. In the case of editable text content,
+ * Atk::EditableText (a subtype of the Atk::Text interface) should be implemented instead.
+ *
+ * Atk::Text provides not only traversal facilities and change notification for text content, but also caret tracking
+ * and glyph bounding box calculations. Note that the text strings are exposed as UTF-8, and are therefore potentially
+ * multi-byte, and caret-to-byte offset mapping makes no assumptions about the character length; also bounding box
+ * glyph-to-offset mapping may be complex for languages which use ligatures.
+ */
+class Text : public Glib::Interface
+{
+ _CLASS_INTERFACE(Text, AtkText, ATK_TEXT, AtkTextIface)
+
+public:
+ _WRAP_METHOD(Glib::ustring get_text(int start_offset, int end_offset) const, atk_text_get_text)
+ _WRAP_METHOD(gunichar get_character_at_offset(int offset) const, atk_text_get_character_at_offset)
+ _WRAP_METHOD(Glib::ustring get_text_after_offset(int offset, TextBoundary boundary_type, int& start_offset, int& end_offset) const, atk_text_get_text_after_offset)
+ _WRAP_METHOD(Glib::ustring get_text_at_offset(int offset, TextBoundary boundary_type, int& start_offset, int& end_offset) const, atk_text_get_text_at_offset)
+ _WRAP_METHOD(Glib::ustring get_text_before_offset(int offset, TextBoundary boundary_type, int& start_offset, int& end_offset) const, atk_text_get_text_before_offset)
+ _WRAP_METHOD(int get_caret_offset() const, atk_text_get_caret_offset)
+ _WRAP_METHOD(void get_character_extents(int offset, int& x, int& y, int& width, int& height, CoordType coords) const, atk_text_get_character_extents)
+ _WRAP_METHOD(AttributeSet get_run_attributes(int offset, int& start_offset, int& end_offset) const, atk_text_get_run_attributes)
+ _WRAP_METHOD(AttributeSet get_default_attributes() const, atk_text_get_default_attributes)
+ _WRAP_METHOD(int get_character_count() const, atk_text_get_character_count)
+ _WRAP_METHOD(int get_offset_at_point(int x, int y, CoordType coords) const, atk_text_get_offset_at_point)
+ _WRAP_METHOD(int get_n_selections() const, atk_text_get_n_selections)
+ _WRAP_METHOD(Glib::ustring get_selection(int selection_num, int& start_offset, int& end_offset) const, atk_text_get_selection)
+ _WRAP_METHOD(bool add_selection(int start_offset, int end_offset), atk_text_add_selection)
+ _WRAP_METHOD(bool remove_selection(int selection_num), atk_text_remove_selection)
+ _WRAP_METHOD(bool set_selection(int selection_num, int start_offset, int end_offset), atk_text_set_selection)
+ _WRAP_METHOD(bool set_caret_offset(int offset), atk_text_set_caret_offset)
+
+ typedef AtkTextRectangle Rectangle;
+
+ _WRAP_METHOD(void get_range_extents(int start_offset, int end_offset,
+ CoordType coord_type,
+ Rectangle& rect), atk_text_get_range_extents)
+ _WRAP_METHOD(AtkTextRange** get_bounded_ranges(const Rectangle& rect, CoordType coord_type,
+ TextClipType x_clip_type, TextClipType y_clip_type), atk_text_get_bounded_ranges)
+
+
+ _WRAP_SIGNAL(void text_changed(int position, int length), "text_changed")
+ _WRAP_SIGNAL(void text_caret_moved(int location), "text_caret_moved")
+ _WRAP_SIGNAL(void text_selection_changed(), "text_selection_changed")
+ _WRAP_SIGNAL(void text_attributes_changed(), "text_attributes_changed")
+
+protected:
+#m4 _CONVERSION(`Glib::ustring', `gchar*', `g_strdup(($3).c_str())')
+
+ _WRAP_VFUNC(Glib::ustring get_text(int start_offset, int end_offset) const, get_text)
+ _WRAP_VFUNC(gunichar get_character_at_offset(int offset) const, get_character_at_offset)
+ _WRAP_VFUNC(Glib::ustring get_text_after_offset(int offset, TextBoundary boundary_type, int& start_offset, int& end_offset) const, get_text_after_offset)
+ _WRAP_VFUNC(Glib::ustring get_text_at_offset(int offset, TextBoundary boundary_type, int& start_offset, int& end_offset) const, get_text_at_offset)
+ _WRAP_VFUNC(Glib::ustring get_text_before_offset(int offset, TextBoundary boundary_type, int& start_offset, int& end_offset) const, get_text_before_offset)
+ _WRAP_VFUNC(int get_caret_offset() const, get_caret_offset)
+ _WRAP_VFUNC(void get_character_extents(int offset, int& x, int& y, int& width, int& height, CoordType coords) const, get_character_extents)
+ _WRAP_VFUNC(AtkAttributeSet* get_run_attributes(int offset, int& start_offset, int& end_offset) const, get_run_attributes)
+ _WRAP_VFUNC(AtkAttributeSet* get_default_attributes() const, get_default_attributes)
+ _WRAP_VFUNC(int get_character_count() const, get_character_count)
+ _WRAP_VFUNC(int get_offset_at_point(int x, int y, CoordType coords) const, get_offset_at_point)
+ _WRAP_VFUNC(int get_n_selections() const, get_n_selections)
+ _WRAP_VFUNC(Glib::ustring get_selection(int selection_num, int& start_offset, int& end_offset) const, get_selection)
+ _WRAP_VFUNC(bool add_selection(int start_offset, int end_offset), add_selection)
+ _WRAP_VFUNC(bool remove_selection(int selection_num), remove_selection)
+ _WRAP_VFUNC(bool set_selection(int selection_num, int start_offset, int end_offset), set_selection)
+ _WRAP_VFUNC(bool set_caret_offset(int offset), set_caret_offset)
+
+ //TODO: Add get_range_extents(), and get_bounded_ranges() vfuncs when we can break ABI.
+};
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/atk/src/value.ccg b/libs/gtkmm2/atk/src/value.ccg
new file mode 100644
index 0000000000..5389ef15cf
--- /dev/null
+++ b/libs/gtkmm2/atk/src/value.ccg
@@ -0,0 +1,22 @@
+// -*- c++ -*-
+/* $Id: value.ccg,v 1.1 2003/01/21 13:37:08 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <atk/atkvalue.h>
+
diff --git a/libs/gtkmm2/atk/src/value.hg b/libs/gtkmm2/atk/src/value.hg
new file mode 100644
index 0000000000..fa61790a2a
--- /dev/null
+++ b/libs/gtkmm2/atk/src/value.hg
@@ -0,0 +1,58 @@
+/* $Id: value.hg,v 1.2 2004/01/02 09:56:43 murrayc Exp $ */
+
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(atkmm,atk)
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C"
+{
+ typedef struct _AtkValueIface AtkValueIface;
+ typedef struct _AtkValue AtkValue;
+}
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Atk
+{
+
+/** The ATK interface implemented by valuators and components which display or select a value from a bounded range of values.
+ * This should be implemented for components which either display a value from a bounded range, or which allow the user
+ * to specify a value from a bounded range, or both. For instance, most sliders and range controls, as well as dials,
+ * should have Atk::Object representations which implement Atk::Value on the component's behalf. Atk::Values may be
+ * read-only, in which case attempts to alter the value return false to indicate failure.
+ */
+class Value : public Glib::Interface
+{
+ _CLASS_INTERFACE(Value, AtkValue, ATK_VALUE, AtkValueIface)
+
+public:
+ _WRAP_METHOD(void get_current_value(Glib::ValueBase& value) const, atk_value_get_current_value)
+ _WRAP_METHOD(void get_maximum_value(Glib::ValueBase& value) const, atk_value_get_maximum_value)
+ _WRAP_METHOD(void get_minimum_value(Glib::ValueBase& value) const, atk_value_get_minimum_value)
+ _WRAP_METHOD(bool set_current_value(const Glib::ValueBase& value), atk_value_set_current_value)
+
+protected:
+ _WRAP_VFUNC(void get_current_value(Glib::ValueBase& value) const, get_current_value)
+ _WRAP_VFUNC(void get_maximum_value(Glib::ValueBase& value) const, get_maximum_value)
+ _WRAP_VFUNC(void get_minimum_value(Glib::ValueBase& value) const, get_minimum_value)
+ _WRAP_VFUNC(bool set_current_value(const Glib::ValueBase& value), set_current_value)
+};
+
+} // namespace Atk
+
diff --git a/libs/gtkmm2/autogen.sh b/libs/gtkmm2/autogen.sh
new file mode 100755
index 0000000000..68577f7c67
--- /dev/null
+++ b/libs/gtkmm2/autogen.sh
@@ -0,0 +1,114 @@
+#! /bin/sh
+
+# Copyright (c) 2006, The gtkmm Development Team
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+# Be Bourne compatible. (stolen from autoconf)
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+
+PROJECT=gtkmm
+MIN_AUTOMAKE_VERSION=1.9
+
+srcdir=`dirname "$0"`
+test -n "$srcdir" || srcdir=.
+
+origdir=`pwd`
+cd "$srcdir"
+
+LIBTOOLIZE_FLAGS="--automake $LIBTOOLIZE_FLAGS"
+ACLOCAL_FLAGS="-I scripts $ACLOCAL_FLAGS"
+AUTOMAKE_FLAGS="--add-missing $AUTOMAKE_FLAGS"
+
+if test "x$*$AUTOGEN_SUBDIR_MODE" = x
+then
+ echo "I am going to run ./configure with no arguments -- if you wish"
+ echo "to pass any to it, please specify them on the $0 command line."
+fi
+
+libtoolize=libtoolize
+autoconf=autoconf
+autoheader=autoheader
+aclocal=
+automake=
+auto_version=0
+
+# awk program to transform the output of automake --version
+# into an integer value suitable for numeric comparison.
+extract_version='{ printf "%.0f", 1000000 * v[split($1, v, " ")] + 1000 * $2 + $3; exit }'
+
+for suffix in -1.7 -1.8 -1.9 ""
+do
+ aclocal_version=`aclocal$suffix --version </dev/null 2>/dev/null | awk -F. "$extract_version"`
+ automake_version=`automake$suffix --version </dev/null 2>/dev/null | awk -F. "$extract_version"`
+
+ if test "$aclocal_version" -eq "$automake_version" 2>/dev/null \
+ && test "$automake_version" -ge "$auto_version" 2>/dev/null
+ then
+ auto_version=$automake_version
+ aclocal=aclocal$suffix
+ automake=automake$suffix
+ fi
+done
+
+min_version=`echo "$MIN_AUTOMAKE_VERSION" | awk -F. "$extract_version"`
+
+if test "$auto_version" -ge "$min_version" 2>/dev/null
+then :; else
+ echo "Sorry, at least automake $MIN_AUTOMAKE_VERSION is required to configure $PROJECT."
+ exit 1
+fi
+
+rm -f config.guess config.sub depcomp install-sh missing mkinstalldirs
+rm -f config.cache acconfig.h
+rm -rf autom4te.cache
+
+#WARNINGS=all
+#export WARNINGS
+
+if (set -x && set +x) >/dev/null 2>&1
+then
+ set_xtrace=set
+else
+ set_xtrace=:
+fi
+
+$set_xtrace -x
+
+"$libtoolize" $LIBTOOLIZE_FLAGS || exit 1
+"$aclocal" $ACLOCAL_FLAGS || exit 1
+#"$autoheader" || exit 1
+"$automake" $AUTOMAKE_FLAGS || exit 1
+"$autoconf" || exit 1
+cd "$origdir" || exit 1
+
+if test -z "$AUTOGEN_SUBDIR_MODE"
+then
+ "$srcdir/configure" --enable-maintainer-mode ${1+"$@"} || exit 1
+ $set_xtrace +x
+ echo
+ echo "Now type 'make' to compile $PROJECT."
+fi
+
+exit 0
diff --git a/libs/gtkmm2/build_shared/Makefile_build.am_fragment b/libs/gtkmm2/build_shared/Makefile_build.am_fragment
new file mode 100644
index 0000000000..9867674561
--- /dev/null
+++ b/libs/gtkmm2/build_shared/Makefile_build.am_fragment
@@ -0,0 +1,52 @@
+## Copyright (c) 2001
+## The gtkmm development team.
+##
+## **** Common rules for inclusion in Makefile.am ****
+## Included by Makefile_build_gensrc.am_fragment
+##
+
+include $(srcdir)/../src/Makefile_list_of_hg.am_fragment
+
+# Support for DLL on mingw using libtool > 1.4
+# When creating DLLs on win32, we need to explicitly add a few extra
+# libraries at link time to resolve symbols (remember a dll is like an
+# executable).
+if PLATFORM_WIN32
+extra_win32_defines = \
+ -D$(shell echo $(sublib_name) | tr [:lower:] [:upper:])_BUILD
+no_undefined = -no-undefined -Wl,--export-all-symbols
+win32_dlls_extra_libs = $(sublib_win32_dlls_libs)
+else
+extra_win32_defines =
+no_undefined =
+win32_dlls_extra_libs =
+endif
+
+common_ldflags = -version-info $(sublib_libversion) $(no_undefined)
+
+# All modules can include all other modules,
+# for instance, so that gdkmm can use headers in pangomm.
+all_includes = -I$(top_builddir)/$(sublib_topdir) -I$(top_srcdir)/$(sublib_topdir) \
+ -I$(top_builddir)/pango -I$(top_srcdir)/pango \
+ -I$(top_builddir)/atk -I$(top_srcdir)/atk \
+ -I$(top_builddir)/gdk -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gtk -I$(top_srcdir)/gtk \
+ $(sublib_cflags) $(GTHREAD_CFLAGS)
+
+dist_sources = $(files_all_built_cc) $(files_all_extra_cc) $(files_all_built_h) $(files_all_extra_h)
+DISTFILES = $(DIST_COMMON) $(dist_sources) $(TEXINFOS) $(EXTRA_DIST)
+
+
+DEFS = @DEFS@ -DG_LOG_DOMAIN=\"$(sublib_name)\" $(extra_win32_defines)
+DEFAULT_INCLUDES =
+
+# DISABLE_DEPRECATED_CFLAGS and DISABLE_DEPRECATED_API_CFLAGS are empty unless the appropriate --enable-*=no options are specified to configure:
+INCLUDES = $(strip $(all_includes)) $(DISABLE_DEPRECATED_CFLAGS) $(DISABLE_DEPRECATED_API_CFLAGS)
+
+sublib_includedir = $(includedir)/$(sublib_libname)/$(sublib_name)
+sublib_include_HEADERS = $(files_all_built_h) $(files_all_extra_h)
+
+maintainer-clean-local:
+ (cd $(srcdir) && rm -f $(files_all_built_cc) $(files_all_built_h))
+
+
diff --git a/libs/gtkmm2/build_shared/Makefile_build_gensrc.am_fragment b/libs/gtkmm2/build_shared/Makefile_build_gensrc.am_fragment
new file mode 100644
index 0000000000..22ee8c45f5
--- /dev/null
+++ b/libs/gtkmm2/build_shared/Makefile_build_gensrc.am_fragment
@@ -0,0 +1,86 @@
+## Copyright (c) 2001-2004
+## The gtkmm development team.
+##
+## Included by src/Makefile_list_of_hg.am_fragment
+##
+## This Makefile.am helper transforms lists of source files that are
+## specific to a sublibrary (atkmm, pangomm, gdkmm or gtkmm) into more
+## generic lists. These lists of files are processed by the automake
+## rules contained in Makefile_build.am_fragment (sublib/sublibmm
+## directory) and Makefile_gensrc.am_fragment (sublib/src directory).
+##
+## The input variables are:
+## * defined in sublib/src/Makefile_list_of_hg.am_fragment:
+## files_posix_hg, files_win32_hg, files_general_hg,
+## files_general_deprecated_hg.
+## * defined sublib/sublibmm/Makefile.am:
+## sublib_files_extra_posix_[cc|h],
+## sublib_files_extra_win32_[cc|h],
+## sublib_files_extra_general_[cc|h],
+## sublib_files_extra_general_deprecated_[cc|h]
+##
+## The output variables are:
+## files_all_hg: all .hg files (general, all platforms, deprecated)
+## files_hg: general and platform-specific .hg files
+## files_built_cc, files_built_h: generated source files that
+## will be compiled on the target platform
+## + corresponding headers.
+## files_all_built_cc, files_all_built_h: all generated source
+## files + corresponding headers.
+## files_extra_cc, files_extra_h : general and platform-specific
+## source files and corresponding headers
+## files_all_extra_cc, files_all_extra_h: all extra source files
+## and corresponding headers.
+## !!! deprecated files not included !!!
+
+# Built files
+
+files_all_hg = \
+ $(files_posix_hg) \
+ $(files_win32_hg) \
+ $(files_general_hg) \
+ $(files_general_deprecated_hg)
+
+if OS_WIN32
+files_hg = $(files_general_hg) $(files_win32_hg) $(files_general_deprecated_hg)
+else
+files_hg = $(files_general_hg) $(files_posix_hg) $(files_general_deprecated_hg)
+endif
+
+files_built_cc = $(files_hg:.hg=.cc) wrap_init.cc
+files_built_h = $(files_hg:.hg=.h)
+
+files_all_built_cc = $(files_all_hg:.hg=.cc) wrap_init.cc
+files_all_built_h = $(files_all_hg:.hg=.h)
+
+# Extra files
+
+files_all_extra_cc = \
+ $(sublib_files_extra_posix_cc) \
+ $(sublib_files_extra_win32_cc) \
+ $(sublib_files_extra_general_cc) \
+ $(sublib_files_extra_general_deprecated_cc)
+
+files_all_extra_h = \
+ $(sublib_files_extra_posix_h) \
+ $(sublib_files_extra_win32_h) \
+ $(sublib_files_extra_general_h) \
+ $(sublib_files_extra_general_deprecated_h)
+files_all_extra_h += wrap_init.h
+
+if OS_WIN32
+files_extra_cc = \
+ $(sublib_files_extra_win32_cc) \
+ $(sublib_files_extra_general_cc)
+files_extra_h = \
+ $(sublib_files_extra_win32_h) \
+ $(sublib_files_extra_general_h)
+else
+files_extra_cc = \
+ $(sublib_files_extra_posix_cc) \
+ $(sublib_files_extra_general_cc)
+files_extra_h = \
+ $(sublib_files_extra_posix_h) \
+ $(sublib_files_extra_general_h)
+endif
+files_extra_h += wrap_init.h
diff --git a/libs/gtkmm2/build_shared/Makefile_conditional.am_fragment b/libs/gtkmm2/build_shared/Makefile_conditional.am_fragment
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/libs/gtkmm2/build_shared/Makefile_conditional.am_fragment
diff --git a/libs/gtkmm2/build_shared/Makefile_gensrc.am_fragment b/libs/gtkmm2/build_shared/Makefile_gensrc.am_fragment
new file mode 100644
index 0000000000..45930e130f
--- /dev/null
+++ b/libs/gtkmm2/build_shared/Makefile_gensrc.am_fragment
@@ -0,0 +1,67 @@
+## Copyright (c) 2001
+## The gtkmm development team.
+##
+## **** Common rules for inclusion in Makefile.am ****
+## Included from something/src/Makefile.am
+##
+## Used variable: Example content:
+##
+## sublib_name = gdkmm
+## sublib_namespace = Gdk
+
+## files_defs = gdk.defs gdk_pixbuf.defs
+
+
+tools_dir = $(top_srcdir)/tools
+tools_dir_m4= $(top_srcdir)/tools/m4
+tools_dir_pm= $(top_srcdir)/tools/pm
+
+gensrc_destdir = $(srcdir)/../$(sublib_name)
+stamp_dir = $(srcdir)/.stamps
+
+include $(top_srcdir)/tools/Makefile_list_of_sources.am_fragment
+tools_m4 = $(files_tools_m4:%.m4=$(tools_dir_m4)/%.m4)
+# tools_pm = $(files_tools_pm:%.pm=$(tools_dir_pm)/%.pm)
+
+include $(srcdir)/../src/Makefile_list_of_hg.am_fragment
+files_all_ccg = $(files_all_hg:%.hg=%.ccg)
+files_h = $(files_all_hg:%.hg=$(gensrc_destdir)/%.h)
+files_cc = $(files_all_hg:%.hg=$(gensrc_destdir)/%.cc)
+files_stamp = $(files_all_hg:%.hg=$(stamp_dir)/stamp-%)
+
+#Installed gmmproc stuff, from glibmm:
+gmmproc_path = $(GMMPROC)
+gmmproc_dir = $(GMMPROC_DIR)
+
+# We use our own m4 and pm files as well as the ones installed by gtkmm:
+# Our override m4 include seems to need to be before the default one.
+gmmproc_args = -I $(tools_dir_m4) --defs $(srcdir)
+run_gmmproc = $(gmmproc_path) $(gmmproc_args)
+
+gen_wrap_init_path = $(gmmproc_dir)/generate_wrap_init.pl
+gen_wrap_init_args = --namespace=$(sublib_namespace) --parent_dir=$(sublib_parentdir)
+run_gen_wrap_init = $(gen_wrap_init_path) $(gen_wrap_init_args)
+
+EXTRA_DIST = Makefile_list_of_hg.am_fragment \
+ $(files_defs) $(files_all_hg) $(files_all_ccg)
+
+
+$(stamp_dir)/stamp-%: %.hg %.ccg $(tools_m4) $(files_defs)
+ $(run_gmmproc) $(notdir $*) $(srcdir) $(gensrc_destdir)
+ @echo 'timestamp' > $@
+
+sublib_srcdir = $(srcdir)/../src
+files_hg_with_path = $(patsubst %.hg,$(sublib_srcdir)/%.hg,$(files_all_hg))
+
+$(gensrc_destdir)/wrap_init.cc: $(gen_wrap_init_path) $(files_hg_with_path)
+ $(run_gen_wrap_init) $(files_all_hg:%.hg=$(srcdir)/%.hg) >$@
+
+create-stamp-dir:
+ @(test -d $(stamp_dir) || mkdir $(stamp_dir))
+
+if MAINTAINER_MODE
+all-local: create-stamp-dir $(files_stamp) $(gensrc_destdir)/wrap_init.cc
+endif
+
+maintainer-clean-local:
+ rm -rf $(stamp_dir)
diff --git a/libs/gtkmm2/config.h.in b/libs/gtkmm2/config.h.in
new file mode 100644
index 0000000000..3ea4ed7e19
--- /dev/null
+++ b/libs/gtkmm2/config.h.in
@@ -0,0 +1,7 @@
+#undef HAVE_FLOCKFILE
+#undef HAVE_FUNLOCKFILE
+
+#undef NEED_FLOCKFILE_PROTO
+#undef NEED_FUNLOCKFILE_PROTO
+#undef NEED_GETC_UNLOCKED_PROTO
+#undef HAVE_GETC_UNLOCKED
diff --git a/libs/gtkmm2/configure b/libs/gtkmm2/configure
new file mode 100755
index 0000000000..b2ff7f8a33
--- /dev/null
+++ b/libs/gtkmm2/configure
@@ -0,0 +1,23746 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.61 for gtkmm 2.12.3.
+#
+# Report bugs to <gtkmm-list@gnome.org>.
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+if test "x$CONFIG_SHELL" = x; then
+ if (eval ":") 2>/dev/null; then
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+
+ if test $as_have_required = yes && (eval ":
+(as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=\$LINENO
+ as_lineno_2=\$LINENO
+ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+ :
+else
+ as_candidate_shells=
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ case $as_dir in
+ /*)
+ for as_base in sh bash ksh sh5; do
+ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+ done;;
+ esac
+done
+IFS=$as_save_IFS
+
+
+ for as_shell in $as_candidate_shells $SHELL; do
+ # Try only shells that exist, to save several forks.
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+_ASEOF
+}; then
+ CONFIG_SHELL=$as_shell
+ as_have_required=yes
+ if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+(as_func_return () {
+ (exit $1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+ break
+fi
+
+fi
+
+ done
+
+ if test "x$CONFIG_SHELL" != x; then
+ for as_var in BASH_ENV ENV
+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ done
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+ if test $as_have_required = no; then
+ echo This script requires a shell more modern than all the
+ echo shells that I found on your system. Please install a
+ echo modern shell, or manually run the script under such a
+ echo shell if you do have one.
+ { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+ echo No shell found that supports shell functions.
+ echo Please tell autoconf@gnu.org about your system,
+ echo including any error possibly output before this
+ echo message
+}
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+
+
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$ECHO in
+X*--fallback-echo)
+ # Remove one level of quotation (which was required for Make).
+ ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','`
+ ;;
+esac
+
+echo=${ECHO-echo}
+if test "X$1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+elif test "X$1" = X--fallback-echo; then
+ # Avoid inline document here, it may be left over
+ :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
+ # Yippee, $echo works!
+ :
+else
+ # Restart under the correct shell.
+ exec $SHELL "$0" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<EOF
+$*
+EOF
+ exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test -z "$ECHO"; then
+if test "X${echo_test_string+set}" != Xset; then
+# find a string as large as possible, as long as the shell can cope with it
+ for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
+ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+ if (echo_test_string=`eval $cmd`) 2>/dev/null &&
+ echo_test_string=`eval $cmd` &&
+ (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
+ then
+ break
+ fi
+ done
+fi
+
+if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ :
+else
+ # The Solaris, AIX, and Digital Unix default echo programs unquote
+ # backslashes. This makes it impossible to quote backslashes using
+ # echo "$something" | sed 's/\\/\\\\/g'
+ #
+ # So, first we look for a working echo in the user's PATH.
+
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for dir in $PATH /usr/ucb; do
+ IFS="$lt_save_ifs"
+ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ echo="$dir/echo"
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+
+ if test "X$echo" = Xecho; then
+ # We didn't find a better echo, so look for alternatives.
+ if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # This shell has a builtin print -r that does the trick.
+ echo='print -r'
+ elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
+ test "X$CONFIG_SHELL" != X/bin/ksh; then
+ # If we have ksh, try running configure again with it.
+ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ export ORIGINAL_CONFIG_SHELL
+ CONFIG_SHELL=/bin/ksh
+ export CONFIG_SHELL
+ exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
+ else
+ # Try using printf.
+ echo='printf %s\n'
+ if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # Cool, printf works
+ :
+ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+ export CONFIG_SHELL
+ SHELL="$CONFIG_SHELL"
+ export SHELL
+ echo="$CONFIG_SHELL $0 --fallback-echo"
+ elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ echo="$CONFIG_SHELL $0 --fallback-echo"
+ else
+ # maybe with a smaller string...
+ prev=:
+
+ for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
+ if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
+ then
+ break
+ fi
+ prev="$cmd"
+ done
+
+ if test "$prev" != 'sed 50q "$0"'; then
+ echo_test_string=`eval $prev`
+ export echo_test_string
+ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
+ else
+ # Oops. We lost completely, so just stick with echo.
+ echo=echo
+ fi
+ fi
+ fi
+ fi
+fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+ECHO=$echo
+if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
+ ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
+fi
+
+
+
+
+tagnames=${tagnames+${tagnames},}CXX
+
+tagnames=${tagnames+${tagnames},}F77
+
+exec 7<&0 </dev/null 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Identity of this package.
+PACKAGE_NAME='gtkmm'
+PACKAGE_TARNAME='gtkmm'
+PACKAGE_VERSION='2.12.3'
+PACKAGE_STRING='gtkmm 2.12.3'
+PACKAGE_BUGREPORT='gtkmm-list@gnome.org'
+
+ac_unique_file="gtk/gtkmmconfig.h.in"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+# include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='SHELL
+PATH_SEPARATOR
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+GTKMM_MAJOR_VERSION
+GTKMM_MINOR_VERSION
+GTKMM_MICRO_VERSION
+GTKMM_VERSION
+GTKMM_RELEASE
+LIBGTKMM_SO_VERSION
+INSTALL_PROGRAM
+INSTALL_SCRIPT
+INSTALL_DATA
+am__isrc
+CYGPATH_W
+PACKAGE
+VERSION
+ACLOCAL
+AUTOCONF
+AUTOMAKE
+AUTOHEADER
+MAKEINFO
+install_sh
+STRIP
+INSTALL_STRIP_PROGRAM
+mkdir_p
+AWK
+SET_MAKE
+am__leading_dot
+AMTAR
+am__tar
+am__untar
+MAINTAINER_MODE_TRUE
+MAINTAINER_MODE_FALSE
+MAINT
+CC
+CFLAGS
+LDFLAGS
+CPPFLAGS
+ac_ct_CC
+EXEEXT
+OBJEXT
+DEPDIR
+am__include
+am__quote
+AMDEP_TRUE
+AMDEP_FALSE
+AMDEPBACKSLASH
+CCDEPMODE
+am__fastdepCC_TRUE
+am__fastdepCC_FALSE
+CPP
+build
+build_cpu
+build_vendor
+build_os
+host
+host_cpu
+host_vendor
+host_os
+PLATFORM_WIN32_TRUE
+PLATFORM_WIN32_FALSE
+OS_WIN32_TRUE
+OS_WIN32_FALSE
+GREP
+EGREP
+LN_S
+ECHO
+AR
+RANLIB
+DLLTOOL
+AS
+OBJDUMP
+CXX
+CXXFLAGS
+ac_ct_CXX
+CXXDEPMODE
+am__fastdepCXX_TRUE
+am__fastdepCXX_FALSE
+CXXCPP
+F77
+FFLAGS
+ac_ct_F77
+LIBTOOL
+M4
+PERL_PATH
+GMMPROC_DIR
+GMMPROC
+PKG_CONFIG
+ATKMM_CFLAGS
+ATKMM_LIBS
+PANGOMM_CFLAGS
+PANGOMM_LIBS
+GDKMM_CFLAGS
+GDKMM_LIBS
+GTKMM_CFLAGS
+GTKMM_LIBS
+GTHREAD_CFLAGS
+GTHREAD_LIBS
+GTKMM_DOXYGEN_INPUT
+DISABLE_DEPRECATED_CFLAGS
+DISABLE_DEPRECATED_API_CFLAGS
+EXAMPLE_SUBDIR
+DEMO_SUBDIR
+GTKMM_PC_ATKMM_DEP
+GTKMM_ATKMM_ENABLED_TRUE
+GTKMM_ATKMM_ENABLED_FALSE
+DOCS_SUBDIR
+GTKMM_FALSE_TRUE
+GTKMM_FALSE_FALSE
+LIBOBJS
+LTLIBOBJS'
+ac_subst_files=''
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP
+CXX
+CXXFLAGS
+CCC
+CXXCPP
+F77
+FFLAGS
+PKG_CONFIG
+ATKMM_CFLAGS
+ATKMM_LIBS
+PANGOMM_CFLAGS
+PANGOMM_LIBS
+GDKMM_CFLAGS
+GDKMM_LIBS
+GTKMM_CFLAGS
+GTKMM_LIBS
+GTHREAD_CFLAGS
+GTHREAD_LIBS'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval $ac_prev=\$ac_option
+ ac_prev=
+ continue
+ fi
+
+ case $ac_option in
+ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+ eval enable_$ac_feature=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+ eval enable_$ac_feature=\$ac_optarg ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+ eval with_$ac_package=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+ eval with_$ac_package=no ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ { echo "$as_me: error: missing argument to $ac_option" >&2
+ { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute directory names.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
+do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; }
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used." >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ { echo "$as_me: error: Working directory cannot be determined" >&2
+ { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ { echo "$as_me: error: pwd does not report name of working directory" >&2
+ { (exit 1); exit 1; }; }
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$0" ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$0" : 'X\(//\)[^/]' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$0" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { (exit 1); exit 1; }; }
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
+ { (exit 1); exit 1; }; }
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures gtkmm 2.12.3 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/gtkmm]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+
+System types:
+ --build=BUILD configure for building on BUILD [guessed]
+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of gtkmm 2.12.3:";;
+ esac
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer
+ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors
+ --enable-static[=PKGS] build static libraries [default=no]
+ --enable-shared[=PKGS] build shared libraries [default=yes]
+ --enable-fast-install[=PKGS]
+ optimize for fast installation [default=yes]
+ --disable-libtool-lock avoid locking (might break parallel builds)
+ --enable-warnings=[none|minimum|maximum|hardcore]
+ Control compiler pickyness. [default=minimum]
+ --enable-use-deprecations
+ warn about deprecated usages [default=no]
+ --enable-deprecated-api include (build) deprecated API in the libraries
+ [default=yes]
+ --enable-examples build the included examples [default=yes]
+ --enable-demos build the included demos [default=yes]
+ --enable-api-atkmm Build atkmm API.
+ [default=yes]
+ --enable-api-maemo-extensions Build Maemo Extensions API.
+ [default=no]
+ --enable-docs build the included docs [default=yes]
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-tags[=TAGS] include additional configurations [automatic]
+
+Some influential environment variables:
+ CC C compiler command
+ CFLAGS C compiler flags
+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
+ nonstandard directory <lib dir>
+ LIBS libraries to pass to the linker, e.g. -l<library>
+ CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
+ CPP C preprocessor
+ CXX C++ compiler command
+ CXXFLAGS C++ compiler flags
+ CXXCPP C++ preprocessor
+ F77 Fortran 77 compiler command
+ FFLAGS Fortran 77 compiler flags
+ PKG_CONFIG path to pkg-config utility
+ ATKMM_CFLAGS
+ C compiler flags for ATKMM, overriding pkg-config
+ ATKMM_LIBS linker flags for ATKMM, overriding pkg-config
+ PANGOMM_CFLAGS
+ C compiler flags for PANGOMM, overriding pkg-config
+ PANGOMM_LIBS
+ linker flags for PANGOMM, overriding pkg-config
+ GDKMM_CFLAGS
+ C compiler flags for GDKMM, overriding pkg-config
+ GDKMM_LIBS linker flags for GDKMM, overriding pkg-config
+ GTKMM_CFLAGS
+ C compiler flags for GTKMM, overriding pkg-config
+ GTKMM_LIBS linker flags for GTKMM, overriding pkg-config
+ GTHREAD_CFLAGS
+ C compiler flags for GTHREAD, overriding pkg-config
+ GTHREAD_LIBS
+ linker flags for GTHREAD, overriding pkg-config
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to <gtkmm-list@gnome.org>.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" || continue
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+gtkmm configure 2.12.3
+generated by GNU Autoconf 2.61
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by gtkmm $as_me 2.12.3, which was
+generated by GNU Autoconf 2.61. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ echo "PATH: $as_dir"
+done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+ 2)
+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ ac_configure_args="$ac_configure_args '$ac_arg'"
+ ;;
+ esac
+ done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ sed -n \
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
+
+ cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ cat <<\_ASBOX
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ echo "$as_me: caught signal $ac_signal"
+ echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -n "$CONFIG_SITE"; then
+ set x "$CONFIG_SITE"
+elif test "x$prefix" != xNONE; then
+ set x "$prefix/share/config.site" "$prefix/etc/config.site"
+else
+ set x "$ac_default_prefix/share/config.site" \
+ "$ac_default_prefix/etc/config.site"
+fi
+shift
+for ac_site_file
+do
+ if test -r "$ac_site_file"; then
+ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+ { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
+ esac
+ fi
+else
+ { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
+echo "$as_me: former value: $ac_old_val" >&2;}
+ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
+echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+#########################################################################
+# Version and initialization
+#########################################################################
+GTKMM_MAJOR_VERSION=2
+GTKMM_MINOR_VERSION=12
+GTKMM_MICRO_VERSION=3
+GTKMM_EXTRA_VERSION=
+GTKMM_VERSION=2.12.3
+
+
+
+
+
+GTKMM_RELEASE=$GTKMM_MAJOR_VERSION.$GTKMM_MINOR_VERSION
+
+cat >>confdefs.h <<_ACEOF
+#define GTKMM_MAJOR_VERSION $GTKMM_MAJOR_VERSION
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define GTKMM_MINOR_VERSION $GTKMM_MINOR_VERSION
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define GTKMM_MICRO_VERSION $GTKMM_MICRO_VERSION
+_ACEOF
+
+
+
+
+
+
+
+#
+# +1 : ? : +1 == new interface that does not break old one
+# +1 : ? : 0 == new interface that breaks old one
+# ? : ? : 0 == no new interfaces, but breaks apps
+# ? :+1 : ? == just some internal changes, nothing breaks but might work
+# better
+# CURRENT : REVISION : AGE
+LIBGTKMM_SO_VERSION=1:30:0
+
+
+ac_aux_dir=
+for ac_dir in scripts "$srcdir"/scripts; do
+ if test -f "$ac_dir/install-sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f "$ac_dir/install.sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in scripts \"$srcdir\"/scripts" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in scripts \"$srcdir\"/scripts" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
+
+
+# Initialize automake stuff
+# tar-ustar asks it to use a sensible tar format that can handle long filenames.
+am__api_version='1.10'
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+ ./ | .// | /cC/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+done
+IFS=$as_save_IFS
+
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ INSTALL=$ac_install_sh
+ fi
+fi
+{ echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&5
+echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+test "$program_prefix" != NONE &&
+ program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $. echo might interpret backslashes.
+# By default was `s,x,x', remove it if useless.
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm -f conftest.sed
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
+echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; }
+if test -z "$MKDIR_P"; then
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in mkdir gmkdir; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+ 'mkdir (GNU coreutils) '* | \
+ 'mkdir (coreutils) '* | \
+ 'mkdir (fileutils) '4.1*)
+ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+ break 3;;
+ esac
+ done
+ done
+done
+IFS=$as_save_IFS
+
+fi
+
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ MKDIR_P="$ac_cv_path_mkdir -p"
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for MKDIR_P within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ test -d ./--version && rmdir ./--version
+ MKDIR_P="$ac_install_sh -d"
+ fi
+fi
+{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5
+echo "${ECHO_T}$MKDIR_P" >&6; }
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+ [\\/$]* | ?:[\\/]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_AWK+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AWK="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ { echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$AWK" && break
+done
+
+{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
+set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ SET_MAKE=
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ am__isrc=' -I$(srcdir)'
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='gtkmm'
+ VERSION='2.12.3'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+
+{ echo "$as_me:$LINENO: checking how to create a ustar tar archive" >&5
+echo $ECHO_N "checking how to create a ustar tar archive... $ECHO_C" >&6; }
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar plaintar pax cpio none'
+_am_tools=${am_cv_prog_tar_ustar-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar;
+ do
+ { echo "$as_me:$LINENO: $_am_tar --version" >&5
+ ($_am_tar --version) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && break
+ done
+ am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x ustar -w "$$tardir"'
+ am__tar_='pax -L -x ustar -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H ustar -L'
+ am__tar_='find "$tardir" -print | cpio -o -H ustar -L'
+ am__untar='cpio -i -H ustar -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_ustar}" && break
+
+ # tar/untar a dummy directory, and stop if the command works
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5
+ (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ { echo "$as_me:$LINENO: $am__untar <conftest.tar" >&5
+ ($am__untar <conftest.tar) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+if test "${am_cv_prog_tar_ustar+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ am_cv_prog_tar_ustar=$_am_tool
+fi
+
+{ echo "$as_me:$LINENO: result: $am_cv_prog_tar_ustar" >&5
+echo "${ECHO_T}$am_cv_prog_tar_ustar" >&6; }
+
+
+
+
+
+
+ac_config_headers="$ac_config_headers config.h gdk/gdkmmconfig.h gtk/gtkmmconfig.h"
+
+{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; }
+ # Check whether --enable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
+echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; }
+ if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+ test "x$ACLOCAL_FLAGS" = "x" || ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
+ for dir in scripts
+ do
+ ACLOCAL="$ACLOCAL -I $srcdir/$dir"
+ done
+
+
+
+#########################################################################
+# Configure arguments
+#########################################################################
+
+#########################################################################
+# Environment Checks
+#########################################################################
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ fi
+fi
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl.exe
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CC" && break
+done
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+
+
+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+
+# Provide some information about the compiler.
+echo "$as_me:$LINENO: checking for C compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
+ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+#
+# List of possible output files, starting from the most likely.
+# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
+# only as a last resort. b.out is created by i960 compilers.
+ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
+#
+# The IRIX 6 linker writes into existing files which may not be
+# executable, retaining their permissions. Remove them first so a
+# subsequent execution test works.
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { (ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link_default") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
+ ;;
+ [ab].out )
+ # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* )
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
+ break;;
+ * )
+ break;;
+ esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+ ac_file=''
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6; }
+if test -z "$ac_file"; then
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
+See \`config.log' for more details." >&5
+echo "$as_me: error: C compiler cannot create executables
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+fi
+
+ac_exeext=$ac_cv_exeext
+
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+ if { ac_try='./$ac_file'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ fi
+fi
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+rm -f a.out a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6; }
+
+{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ break;;
+ * ) break;;
+ esac
+done
+else
+ { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest$ac_cv_exeext
+{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
+if test "${ac_cv_objext+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+ break;;
+ esac
+done
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_compiler_gnu=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_compiler_gnu=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
+GCC=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_g=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ CFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_g=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_c89=$ac_arg
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6; } ;;
+ xno)
+ { echo "$as_me:$LINENO: result: unsupported" >&5
+echo "${ECHO_T}unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+ am__include=include
+ am__quote=
+ _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ fi
+fi
+
+
+{ echo "$as_me:$LINENO: result: $_am_result" >&5
+echo "${ECHO_T}$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then
+ enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+ AMDEP_FALSE='#'
+else
+ AMDEP_TRUE='#'
+ AMDEP_FALSE=
+fi
+
+
+
+depcc="$CC" am_compiler_list=
+
+{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CC_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CC_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+ am__fastdepCC_TRUE=
+ am__fastdepCC_FALSE='#'
+else
+ am__fastdepCC_TRUE='#'
+ am__fastdepCC_FALSE=
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if test "${ac_cv_prog_CPP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ # Double quotes because CPP needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ # Broken: success on invalid input.
+continue
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+{ echo "$as_me:$LINENO: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ # Broken: success on invalid input.
+continue
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ :
+else
+ { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&5
+echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
+set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ SET_MAKE=
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
+ { (exit 1); exit 1; }; }
+
+{ echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
+if test "${ac_cv_build+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+ { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+ { (exit 1); exit 1; }; }
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+echo "$as_me: error: invalid value of canonical build" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
+if test "${ac_cv_host+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+echo "$as_me: error: invalid value of canonical host" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+
+{ echo "$as_me:$LINENO: checking for some Win32 platform" >&5
+echo $ECHO_N "checking for some Win32 platform... $ECHO_C" >&6; }
+case "$host" in
+ *-*-mingw*|*-*-cygwin*)
+ platform_win32=yes
+ ;;
+ *)
+ platform_win32=no
+ ;;
+esac
+{ echo "$as_me:$LINENO: result: $platform_win32" >&5
+echo "${ECHO_T}$platform_win32" >&6; }
+ if test "$platform_win32" = "yes"; then
+ PLATFORM_WIN32_TRUE=
+ PLATFORM_WIN32_FALSE='#'
+else
+ PLATFORM_WIN32_TRUE='#'
+ PLATFORM_WIN32_FALSE=
+fi
+
+
+{ echo "$as_me:$LINENO: checking for native Win32" >&5
+echo $ECHO_N "checking for native Win32... $ECHO_C" >&6; }
+case "$host" in
+ *-*-mingw*)
+ os_win32=yes
+ ;;
+ *)
+ os_win32=no
+ ;;
+esac
+{ echo "$as_me:$LINENO: result: $os_win32" >&5
+echo "${ECHO_T}$os_win32" >&6; }
+ if test "$os_win32" = "yes"; then
+ OS_WIN32_TRUE=
+ OS_WIN32_FALSE='#'
+else
+ OS_WIN32_TRUE='#'
+ OS_WIN32_FALSE=
+fi
+
+
+# Check whether --enable-static was given.
+if test "${enable_static+set}" = set; then
+ enableval=$enable_static; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_static=no
+fi
+
+
+
+
+
+# Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then
+ enableval=$enable_shared; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_shared=yes
+fi
+
+
+# Check whether --enable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then
+ enableval=$enable_fast_install; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_fast_install=yes
+fi
+
+
+{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; }
+if test "${lt_cv_path_SED+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ # Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for lt_ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+ lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+ fi
+ done
+ done
+done
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+ test ! -f $lt_ac_sed && continue
+ cat /dev/null > conftest.in
+ lt_ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+ # Check for GNU sed and select it if it is found.
+ if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+ lt_cv_path_SED=$lt_ac_sed
+ break
+ fi
+ while true; do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo >>conftest.nl
+ $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+ cmp -s conftest.out conftest.nl || break
+ # 10000 chars as input seems more than enough
+ test $lt_ac_count -gt 10 && break
+ lt_ac_count=`expr $lt_ac_count + 1`
+ if test $lt_ac_count -gt $lt_ac_max; then
+ lt_ac_max=$lt_ac_count
+ lt_cv_path_SED=$lt_ac_sed
+ fi
+ done
+done
+
+fi
+
+SED=$lt_cv_path_SED
+{ echo "$as_me:$LINENO: result: $SED" >&5
+echo "${ECHO_T}$SED" >&6; }
+
+{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ # Extract the first word of "grep ggrep" to use in msg output
+if test -z "$GREP"; then
+set dummy grep ggrep; ac_prog_name=$2
+if test "${ac_cv_path_GREP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_path_GREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+ # Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+ $ac_path_GREP_found && break 3
+ done
+done
+
+done
+IFS=$as_save_IFS
+
+
+fi
+
+GREP="$ac_cv_path_GREP"
+if test -z "$GREP"; then
+ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ # Extract the first word of "egrep" to use in msg output
+if test -z "$EGREP"; then
+set dummy egrep; ac_prog_name=$2
+if test "${ac_cv_path_EGREP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_path_EGREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+ # Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+ $ac_path_EGREP_found && break 3
+ done
+done
+
+done
+IFS=$as_save_IFS
+
+
+fi
+
+EGREP="$ac_cv_path_EGREP"
+if test -z "$EGREP"; then
+ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+
+ fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+ with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [\\/]* | ?:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ { echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
+else
+ { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
+fi
+if test "${lt_cv_path_LD+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ { echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
+if test "${lt_cv_prog_gnu_ld+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; }
+if test "${lt_cv_ld_reload_flag+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_cv_ld_reload_flag='-r'
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+
+{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
+echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; }
+if test "${lt_cv_path_NM+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ lt_nm_to_check="${ac_tool_prefix}nm"
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/$lt_tmp_nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+ done
+ test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+fi
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
+echo "${ECHO_T}$lt_cv_path_NM" >&6; }
+NM="$lt_cv_path_NM"
+
+{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
+echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+echo "${ECHO_T}no, using $LN_S" >&6; }
+fi
+
+{ echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5
+echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6; }
+if test "${lt_cv_deplibs_check_method+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix4* | aix5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi[45]*)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin*)
+ # func_win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ ;;
+
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump'.
+ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | kfreebsd*-gnu | dragonfly*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
+
+interix3*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be Linux ELF.
+linux*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+nto-qnx*)
+ lt_cv_deplibs_check_method=unknown
+ ;;
+
+openbsd*)
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; }
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# Check whether --enable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then
+ enableval=$enable_libtool_lock;
+fi
+
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '#line 4865 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*|powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
+echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; }
+if test "${lt_cv_cc_needs_belf+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ lt_cv_cc_needs_belf=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ lt_cv_cc_needs_belf=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
+echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; }
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+sparc*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*) LD="${LD-ld} -m elf64_sparc" ;;
+ *) LD="${LD-ld} -64" ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-cygwin* | *-*-mingw* | *-*-pw32*)
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_DLLTOOL+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$DLLTOOL"; then
+ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+DLLTOOL=$ac_cv_prog_DLLTOOL
+if test -n "$DLLTOOL"; then
+ { echo "$as_me:$LINENO: result: $DLLTOOL" >&5
+echo "${ECHO_T}$DLLTOOL" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DLLTOOL"; then
+ ac_ct_DLLTOOL=$DLLTOOL
+ # Extract the first word of "dlltool", so it can be a program name with args.
+set dummy dlltool; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_DLLTOOL"; then
+ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
+if test -n "$ac_ct_DLLTOOL"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5
+echo "${ECHO_T}$ac_ct_DLLTOOL" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$ac_ct_DLLTOOL" = x; then
+ DLLTOOL="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ DLLTOOL=$ac_ct_DLLTOOL
+ fi
+else
+ DLLTOOL="$ac_cv_prog_DLLTOOL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_AS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+AS=$ac_cv_prog_AS
+if test -n "$AS"; then
+ { echo "$as_me:$LINENO: result: $AS" >&5
+echo "${ECHO_T}$AS" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AS"; then
+ ac_ct_AS=$AS
+ # Extract the first word of "as", so it can be a program name with args.
+set dummy as; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_AS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_AS"; then
+ ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_AS="as"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AS=$ac_cv_prog_ac_ct_AS
+if test -n "$ac_ct_AS"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
+echo "${ECHO_T}$ac_ct_AS" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$ac_ct_AS" = x; then
+ AS="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ AS=$ac_ct_AS
+ fi
+else
+ AS="$ac_cv_prog_AS"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_OBJDUMP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$OBJDUMP"; then
+ ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+ { echo "$as_me:$LINENO: result: $OBJDUMP" >&5
+echo "${ECHO_T}$OBJDUMP" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+ ac_ct_OBJDUMP=$OBJDUMP
+ # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_OBJDUMP"; then
+ ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OBJDUMP="objdump"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
+echo "${ECHO_T}$ac_ct_OBJDUMP" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$ac_ct_OBJDUMP" = x; then
+ OBJDUMP="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ OBJDUMP=$ac_ct_OBJDUMP
+ fi
+else
+ OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+ ;;
+
+esac
+
+need_locks="$enable_libtool_lock"
+
+
+
+{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_header_stdc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_header_stdc=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then
+ :
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+
+
+
+
+
+
+
+
+
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ eval "$as_ac_Header=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Header=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+for ac_header in dlfcn.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
+## ----------------------------------- ##
+## Report this to gtkmm-list@gnome.org ##
+## ----------------------------------- ##
+_ASBOX
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+ if test -n "$CCC"; then
+ CXX=$CCC
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CXX+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CXX"; then
+ ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+ { echo "$as_me:$LINENO: result: $CXX" >&5
+echo "${ECHO_T}$CXX" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$CXX" && break
+ done
+fi
+if test -z "$CXX"; then
+ ac_ct_CXX=$CXX
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_CXX"; then
+ ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CXX="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+echo "${ECHO_T}$ac_ct_CXX" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CXX" && break
+done
+
+ if test "x$ac_ct_CXX" = x; then
+ CXX="g++"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CXX=$ac_ct_CXX
+ fi
+fi
+
+ fi
+fi
+# Provide some information about the compiler.
+echo "$as_me:$LINENO: checking for C++ compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_compiler_gnu=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_compiler_gnu=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
+GXX=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cxx_g+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+ ac_cxx_werror_flag=yes
+ ac_cv_prog_cxx_g=no
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cxx_g=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ CXXFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cxx_g=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+ if test "$GXX" = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-g"
+ fi
+else
+ if test "$GXX" = yes; then
+ CXXFLAGS="-O2"
+ else
+ CXXFLAGS=
+ fi
+fi
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+depcc="$CXX" am_compiler_list=
+
+{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CXX_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CXX_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CXX_dependencies_compiler_type=none
+fi
+
+fi
+{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; }
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+ am__fastdepCXX_TRUE=
+ am__fastdepCXX_FALSE='#'
+else
+ am__fastdepCXX_TRUE='#'
+ am__fastdepCXX_FALSE=
+fi
+
+
+
+
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+ (test "X$CXX" != "Xg++"))) ; then
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
+echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; }
+if test -z "$CXXCPP"; then
+ if test "${ac_cv_prog_CXXCPP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ # Double quotes because CXXCPP needs to be expanded
+ for CXXCPP in "$CXX -E" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ # Broken: success on invalid input.
+continue
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ break
+fi
+
+ done
+ ac_cv_prog_CXXCPP=$CXXCPP
+
+fi
+ CXXCPP=$ac_cv_prog_CXXCPP
+else
+ ac_cv_prog_CXXCPP=$CXXCPP
+fi
+{ echo "$as_me:$LINENO: result: $CXXCPP" >&5
+echo "${ECHO_T}$CXXCPP" >&6; }
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ # Broken: success on invalid input.
+continue
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ :
+else
+ { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details." >&5
+echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+fi
+
+
+ac_ext=f
+ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
+ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_f77_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_F77+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$F77"; then
+ ac_cv_prog_F77="$F77" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_F77="$ac_tool_prefix$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+F77=$ac_cv_prog_F77
+if test -n "$F77"; then
+ { echo "$as_me:$LINENO: result: $F77" >&5
+echo "${ECHO_T}$F77" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$F77" && break
+ done
+fi
+if test -z "$F77"; then
+ ac_ct_F77=$F77
+ for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_F77"; then
+ ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_F77="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_F77=$ac_cv_prog_ac_ct_F77
+if test -n "$ac_ct_F77"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
+echo "${ECHO_T}$ac_ct_F77" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$ac_ct_F77" && break
+done
+
+ if test "x$ac_ct_F77" = x; then
+ F77=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ F77=$ac_ct_F77
+ fi
+fi
+
+
+# Provide some information about the compiler.
+echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+rm -f a.out
+
+# If we don't use `.F' as extension, the preprocessor is not run on the
+# input file. (Note that this only needs to work for GNU compilers.)
+ac_save_ext=$ac_ext
+ac_ext=F
+{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; }
+if test "${ac_cv_f77_compiler_gnu+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+ program main
+#ifndef __GNUC__
+ choke me
+#endif
+
+ end
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_f77_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_compiler_gnu=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_compiler_gnu=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_f77_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; }
+ac_ext=$ac_save_ext
+ac_test_FFLAGS=${FFLAGS+set}
+ac_save_FFLAGS=$FFLAGS
+FFLAGS=
+{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
+echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; }
+if test "${ac_cv_prog_f77_g+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ FFLAGS=-g
+cat >conftest.$ac_ext <<_ACEOF
+ program main
+
+ end
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_f77_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_f77_g=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_prog_f77_g=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
+echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; }
+if test "$ac_test_FFLAGS" = set; then
+ FFLAGS=$ac_save_FFLAGS
+elif test $ac_cv_prog_f77_g = yes; then
+ if test "x$ac_cv_f77_compiler_gnu" = xyes; then
+ FFLAGS="-g -O2"
+ else
+ FFLAGS="-g"
+ fi
+else
+ if test "x$ac_cv_f77_compiler_gnu" = xyes; then
+ FFLAGS="-O2"
+ else
+ FFLAGS=
+ fi
+fi
+
+G77=`test $ac_compiler_gnu = yes && echo yes`
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
+
+# find the maximum length of command line arguments
+{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
+echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; }
+if test "${lt_cv_sys_max_cmd_len+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ i=0
+ teststring="ABCD"
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
+ = "XX$teststring") >/dev/null 2>&1 &&
+ new_result=`expr "X$teststring" : ".*" 2>&1` &&
+ lt_cv_sys_max_cmd_len=$new_result &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on massive
+ # amounts of additional arguments before passing them to the linker.
+ # It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ ;;
+ esac
+
+fi
+
+if test -n $lt_cv_sys_max_cmd_len ; then
+ { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
+echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; }
+else
+ { echo "$as_me:$LINENO: result: none" >&5
+echo "${ECHO_T}none" >&6; }
+fi
+
+
+
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
+echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; }
+if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Transform an extracted symbol line into a proper C declaration
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[BCDT]'
+ ;;
+cygwin* | mingw* | pw32*)
+ symcode='[ABCDGISTW]'
+ ;;
+hpux*) # Its linker distinguishes data from code symbols
+ if test "$host_cpu" = ia64; then
+ symcode='[ABCDEGRST]'
+ fi
+ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+ lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+ ;;
+linux*)
+ if test "$host_cpu" = ia64; then
+ symcode='[ABCDGIRSTW]'
+ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+ lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[BCDEGRST]'
+ ;;
+osf*)
+ symcode='[BCDEGQRST]'
+ ;;
+solaris*)
+ symcode='[BDRT]'
+ ;;
+sco3.2v5*)
+ symcode='[DT]'
+ ;;
+sysv4.2uw2*)
+ symcode='[DT]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[ABDT]'
+ ;;
+sysv4)
+ symcode='[DFNSTU]'
+ ;;
+esac
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[ABCDGIRSTW]' ;;
+esac
+
+# Try without a prefix undercore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+ # Write the raw and C identifiers.
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+EOF
+
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
+ (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if grep ' nm_test_var$' "$nlist" >/dev/null; then
+ if grep ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
+
+ cat <<EOF >> conftest.$ac_ext
+#if defined (__STDC__) && __STDC__
+# define lt_ptr_t void *
+#else
+# define lt_ptr_t char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+const struct {
+ const char *name;
+ lt_ptr_t address;
+}
+lt_preloaded_symbols[] =
+{
+EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
+ cat <<\EOF >> conftest.$ac_ext
+ {0, (lt_ptr_t) 0}
+};
+
+#ifdef __cplusplus
+}
+#endif
+EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_save_LIBS="$LIBS"
+ lt_save_CFLAGS="$CFLAGS"
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS="$lt_save_LIBS"
+ CFLAGS="$lt_save_CFLAGS"
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&5
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+ fi
+ else
+ echo "$progname: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ fi
+ rm -f conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+
+fi
+
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ { echo "$as_me:$LINENO: result: failed" >&5
+echo "${ECHO_T}failed" >&6; }
+else
+ { echo "$as_me:$LINENO: result: ok" >&5
+echo "${ECHO_T}ok" >&6; }
+fi
+
+{ echo "$as_me:$LINENO: checking for objdir" >&5
+echo $ECHO_N "checking for objdir... $ECHO_C" >&6; }
+if test "${lt_cv_objdir+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
+echo "${ECHO_T}$lt_cv_objdir" >&6; }
+objdir=$lt_cv_objdir
+
+
+
+
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e 1s/^X//'
+sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Constants:
+rm="rm -f"
+
+# Global variables:
+default_ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+ltmain="$ac_aux_dir/ltmain.sh"
+ofile="$default_ofile"
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_AR+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { echo "$as_me:$LINENO: result: $AR" >&5
+echo "${ECHO_T}$AR" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AR"; then
+ ac_ct_AR=$AR
+ # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_AR="ar"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
+echo "${ECHO_T}$ac_ct_AR" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+else
+ AR="$ac_cv_prog_AR"
+fi
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_RANLIB+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+test -z "$AS" && AS=as
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+test -z "$LD" && LD=ld
+test -z "$LN_S" && LN_S="ln -s"
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+test -z "$NM" && NM=nm
+test -z "$SED" && SED=sed
+test -z "$OBJDUMP" && OBJDUMP=objdump
+test -z "$RANLIB" && RANLIB=:
+test -z "$STRIP" && STRIP=:
+test -z "$ac_objext" && ac_objext=o
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+for cc_temp in $compiler""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+# Only perform the check for file, if the check method requires it
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; }
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case $MAGIC_CMD in
+[\\/*] | ?:[\\/]*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/${ac_tool_prefix}file; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ { echo "$as_me:$LINENO: checking for file" >&5
+echo $ECHO_N "checking for file... $ECHO_C" >&6; }
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case $MAGIC_CMD in
+[\\/*] | ?:[\\/]*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/file; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/file"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ else
+ MAGIC_CMD=:
+ fi
+fi
+
+ fi
+ ;;
+esac
+
+enable_dlopen=no
+enable_win32_dll=yes
+
+# Check whether --enable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then
+ enableval=$enable_libtool_lock;
+fi
+
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+
+# Check whether --with-pic was given.
+if test "${with_pic+set}" = set; then
+ withval=$with_pic; pic_mode="$withval"
+else
+ pic_mode=default
+fi
+
+test -z "$pic_mode" && pic_mode=default
+
+# Use C for the default configuration in the libtool script
+tagname=
+lt_save_CC="$CC"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+objext=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}\n'
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
+
+lt_prog_compiler_no_builtin_flag=
+
+if test "$GCC" = yes; then
+ lt_prog_compiler_no_builtin_flag=' -fno-builtin'
+
+
+{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
+if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_cv_prog_compiler_rtti_exceptions=no
+ ac_outfile=conftest.$ac_objext
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="-fno-rtti -fno-exceptions"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:7656: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:7660: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_rtti_exceptions=yes
+ fi
+ fi
+ $rm conftest*
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+
+if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+ lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
+else
+ :
+fi
+
+fi
+
+lt_prog_compiler_wl=
+lt_prog_compiler_pic=
+lt_prog_compiler_static=
+
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
+
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_static='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+ ;;
+
+ beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic='-DDLL_EXPORT'
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic='-fno-common'
+ ;;
+
+ interix3*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ lt_prog_compiler_can_build_shared=no
+ enable_shared=no
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_prog_compiler_pic=-Kconform_pic
+ fi
+ ;;
+
+ hpux*)
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+ ;;
+
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ lt_prog_compiler_wl='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static='-Bstatic'
+ else
+ lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ darwin*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ case $cc_basename in
+ xlc*)
+ lt_prog_compiler_pic='-qnocommon'
+ lt_prog_compiler_wl='-Wl,'
+ ;;
+ esac
+ ;;
+
+ mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic='-DDLL_EXPORT'
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ lt_prog_compiler_wl='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ lt_prog_compiler_static='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ lt_prog_compiler_wl='-Wl,'
+ # PIC (with -KPIC) is the default.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ newsos6)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ linux*)
+ case $cc_basename in
+ icc* | ecc*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fpic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ ccc*)
+ lt_prog_compiler_wl='-Wl,'
+ # All Alpha code is PIC.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+ esac
+ ;;
+
+ osf3* | osf4* | osf5*)
+ lt_prog_compiler_wl='-Wl,'
+ # All OSF/1 code is PIC.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ solaris*)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95*)
+ lt_prog_compiler_wl='-Qoption ld ';;
+ *)
+ lt_prog_compiler_wl='-Wl,';;
+ esac
+ ;;
+
+ sunos4*)
+ lt_prog_compiler_wl='-Qoption ld '
+ lt_prog_compiler_pic='-PIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ lt_prog_compiler_pic='-Kconform_pic'
+ lt_prog_compiler_static='-Bstatic'
+ fi
+ ;;
+
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ unicos*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_can_build_shared=no
+ ;;
+
+ uts4*)
+ lt_prog_compiler_pic='-pic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ *)
+ lt_prog_compiler_can_build_shared=no
+ ;;
+ esac
+ fi
+
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic" >&6; }
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
+
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; }
+if test "${lt_prog_compiler_pic_works+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_prog_compiler_pic_works=no
+ ac_outfile=conftest.$ac_objext
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:7924: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:7928: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_prog_compiler_pic_works=yes
+ fi
+ fi
+ $rm conftest*
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; }
+
+if test x"$lt_prog_compiler_pic_works" = xyes; then
+ case $lt_prog_compiler_pic in
+ "" | " "*) ;;
+ *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+ esac
+else
+ lt_prog_compiler_pic=
+ lt_prog_compiler_can_build_shared=no
+fi
+
+fi
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic=
+ ;;
+ *)
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
+if test "${lt_prog_compiler_static_works+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_prog_compiler_static_works=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+ printf "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_prog_compiler_static_works=yes
+ fi
+ else
+ lt_prog_compiler_static_works=yes
+ fi
+ fi
+ $rm conftest*
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; }
+
+if test x"$lt_prog_compiler_static_works" = xyes; then
+ :
+else
+ lt_prog_compiler_static=
+fi
+
+
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_cv_prog_compiler_c_o=no
+ $rm -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:8028: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:8032: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $rm conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+ $rm out/* && rmdir out
+ cd ..
+ rmdir conftest
+ $rm conftest*
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
+ hard_links=yes
+ $rm conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
+ if test "$hard_links" = no; then
+ { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+
+ runpath_var=
+ allow_undefined_flag=
+ enable_shared_with_static_runtimes=no
+ archive_cmds=
+ archive_expsym_cmds=
+ old_archive_From_new_cmds=
+ old_archive_from_expsyms_cmds=
+ export_dynamic_flag_spec=
+ whole_archive_flag_spec=
+ thread_safe_flag_spec=
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld=
+ hardcode_libdir_separator=
+ hardcode_direct=no
+ hardcode_minus_L=no
+ hardcode_shlibpath_var=unsupported
+ link_all_deplibs=unknown
+ hardcode_automatic=no
+ module_cmds=
+ module_expsym_cmds=
+ always_export_symbols=no
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ include_expsyms=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ extract_expsyms_cmds=
+ # Just being paranoid about ensuring that cc_basename is set.
+ for cc_temp in $compiler""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+ case $host_os in
+ cygwin* | mingw* | pw32*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ esac
+
+ ld_shlibs=yes
+ if test "$with_gnu_ld" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+ export_dynamic_flag_spec='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>/dev/null` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix3* | aix4* | aix5*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ ld_shlibs=no
+ cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+ fi
+ ;;
+
+ amigaos*)
+ archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+
+ # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
+ # that the semantics of dynamic libraries on AmigaOS, at least up
+ # to version 4, is to share data among multiple programs linked
+ # with the same dynamic library. Since this doesn't match the
+ # behavior of shared libraries on other platforms, we can't use
+ # them.
+ ld_shlibs=no
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
+ allow_undefined_flag=unsupported
+ always_export_symbols=no
+ enable_shared_with_static_runtimes=yes
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ interix3*)
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ linux*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ tmp_addflag=
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ esac
+ archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+ if test $supports_anon_versioning = yes; then
+ archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ $echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris*)
+ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+ ld_shlibs=no
+ cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+ elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+
+ if test "$ld_shlibs" = no; then
+ runpath_var=
+ hardcode_libdir_flag_spec=
+ export_dynamic_flag_spec=
+ whole_archive_flag_spec=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+ archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L=yes
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct=unsupported
+ fi
+ ;;
+
+ aix4* | aix5*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ else
+ export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ archive_cmds=''
+ hardcode_direct=yes
+ hardcode_libdir_separator=':'
+ link_all_deplibs=yes
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ hardcode_direct=yes
+ else
+ # We have old collect2
+ hardcode_direct=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ always_export_symbols=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag='-berok'
+ # Determine the default libpath from the value encoded in an empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`; fi
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag="-z nodefs"
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`; fi
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag=' ${wl}-bernotok'
+ allow_undefined_flag=' ${wl}-berok'
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec='$convenience'
+ archive_cmds_need_lc=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ # see comment about different semantics on the GNU ld section
+ ld_shlibs=no
+ ;;
+
+ bsdi[45]*)
+ export_dynamic_flag_spec=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ old_archive_From_new_cmds='true'
+ # FIXME: Should let the user specify the lib program.
+ old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
+ fix_srcfile_path='`cygpath -w "$srcfile"`'
+ enable_shared_with_static_runtimes=yes
+ ;;
+
+ darwin* | rhapsody*)
+ case $host_os in
+ rhapsody* | darwin1.[012])
+ allow_undefined_flag='${wl}-undefined ${wl}suppress'
+ ;;
+ *) # Darwin 1.3 on
+ if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+ allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+ else
+ case ${MACOSX_DEPLOYMENT_TARGET} in
+ 10.[012])
+ allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+ ;;
+ 10.*)
+ allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ archive_cmds_need_lc=no
+ hardcode_direct=no
+ hardcode_automatic=yes
+ hardcode_shlibpath_var=unsupported
+ whole_archive_flag_spec=''
+ link_all_deplibs=yes
+ if test "$GCC" = yes ; then
+ output_verbose_link_cmd='echo'
+ archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+ module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+ archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ else
+ case $cc_basename in
+ xlc*)
+ output_verbose_link_cmd='echo'
+ archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+ archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ ;;
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+ fi
+ ;;
+
+ dgux*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+
+ freebsd1*)
+ ld_shlibs=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | kfreebsd*-gnu | dragonfly*)
+ archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ export_dynamic_flag_spec='${wl}-E'
+ ;;
+
+ hpux10*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+
+ hardcode_direct=yes
+ export_dynamic_flag_spec='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_libdir_flag_spec_ld='+b $libdir'
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+ ;;
+ *)
+ hardcode_direct=yes
+ export_dynamic_flag_spec='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec_ld='-rpath $libdir'
+ fi
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ link_all_deplibs=yes
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ newsos6)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_shlibpath_var=no
+ ;;
+
+ openbsd*)
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ else
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ ;;
+
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ allow_undefined_flag=unsupported
+ archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ hardcode_libdir_separator=:
+ ;;
+
+ solaris*)
+ no_undefined_flag=' -z text'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+ archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+ else
+ wlarc=''
+ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+ fi
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_shlibpath_var=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ # The compiler driver will combine linker options so we
+ # cannot just pass the convience library names through
+ # without $wl, iff we do not link with $LD.
+ # Luckily, gcc supports the same syntax we need for Sun Studio.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ case $wlarc in
+ '')
+ whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
+ *)
+ whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+ esac ;;
+ esac
+ link_all_deplibs=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ reload_cmds='$CC -r -o $output$reload_objs'
+ hardcode_direct=no
+ ;;
+ motorola)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4.3*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ export_dynamic_flag_spec='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ ld_shlibs=yes
+ fi
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+ no_undefined_flag='${wl}-z,text'
+ archive_cmds_need_lc=no
+ hardcode_shlibpath_var=no
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ no_undefined_flag='${wl}-z,text'
+ allow_undefined_flag='${wl}-z,nodefs'
+ archive_cmds_need_lc=no
+ hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ hardcode_libdir_separator=':'
+ link_all_deplibs=yes
+ export_dynamic_flag_spec='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ uts4*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+ fi
+
+{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+echo "${ECHO_T}$ld_shlibs" >&6; }
+test "$ld_shlibs" = no && can_build_shared=no
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc" in
+x|xyes)
+ # Assume -lc should be added
+ archive_cmds_need_lc=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $archive_cmds in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
+ $rm conftest*
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl
+ pic_flag=$lt_prog_compiler_pic
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag
+ allow_undefined_flag=
+ if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+ (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ then
+ archive_cmds_need_lc=no
+ else
+ archive_cmds_need_lc=yes
+ fi
+ allow_undefined_flag=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $rm conftest*
+ { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
+echo "${ECHO_T}$archive_cmds_need_lc" >&6; }
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+if test "$GCC" = yes; then
+ sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix4* | aix5*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[01] | aix4.[01].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[45]*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$host_os in
+ yes,cygwin* | yes,mingw* | yes,pw32*)
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $rm \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+ ;;
+ mingw*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH printed by
+ # mingw gcc, but we are running on Cygwin. Gcc prints its search
+ # path with ; separators, and with drive letters. We can handle the
+ # drive letters (cygwin fileutils understands them), so leave them,
+ # especially as we might pass files found there to a mingw objdump,
+ # which wouldn't understand a cygwinified path. Ahh.
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ ;;
+
+ *)
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+ # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+ if test "$GCC" = yes; then
+ sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+ else
+ sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+ fi
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+kfreebsd*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='GNU ld.so'
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[123]*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[01]* | freebsdelf3.[01]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ freebsd*) # from 4.6 on
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+interix3*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # find out which ABI we are using
+ libsuff=
+ case "$host_cpu" in
+ x86_64*|s390x*|powerpc64*)
+ echo '#line 9493 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *64-bit*)
+ libsuff=64
+ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+ esac
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+knetbsd*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='GNU ld.so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+nto-qnx*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[89] | openbsd2.[89].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ shlibpath_overrides_runpath=no
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ shlibpath_overrides_runpath=yes
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" || \
+ test -n "$runpath_var" || \
+ test "X$hardcode_automatic" = "Xyes" ; then
+
+ # We can hardcode non-existant directories.
+ if test "$hardcode_direct" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no &&
+ test "$hardcode_minus_L" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action=unsupported
+fi
+{ echo "$as_me:$LINENO: result: $hardcode_action" >&5
+echo "${ECHO_T}$hardcode_action" >&6; }
+
+if test "$hardcode_action" = relink; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+
+striplib=
+old_striplib=
+{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; }
+if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+ ;;
+ *)
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ ;;
+ esac
+fi
+
+if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_dl_dlopen=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dl_dlopen=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
+if test $ac_cv_lib_dl_dlopen = yes; then
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+
+fi
+
+ ;;
+
+ *)
+ { echo "$as_me:$LINENO: checking for shl_load" >&5
+echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; }
+if test "${ac_cv_func_shl_load+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define shl_load innocuous_shl_load
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char shl_load (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef shl_load
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_shl_load || defined __stub___shl_load
+choke me
+#endif
+
+int
+main ()
+{
+return shl_load ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_func_shl_load=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_shl_load=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+echo "${ECHO_T}$ac_cv_func_shl_load" >&6; }
+if test $ac_cv_func_shl_load = yes; then
+ lt_cv_dlopen="shl_load"
+else
+ { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; }
+if test "${ac_cv_lib_dld_shl_load+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+int
+main ()
+{
+return shl_load ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_dld_shl_load=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dld_shl_load=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; }
+if test $ac_cv_lib_dld_shl_load = yes; then
+ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
+else
+ { echo "$as_me:$LINENO: checking for dlopen" >&5
+echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; }
+if test "${ac_cv_func_dlopen+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define dlopen innocuous_dlopen
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char dlopen (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef dlopen
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_dlopen || defined __stub___dlopen
+choke me
+#endif
+
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_func_dlopen=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_dlopen=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+echo "${ECHO_T}$ac_cv_func_dlopen" >&6; }
+if test $ac_cv_func_dlopen = yes; then
+ lt_cv_dlopen="dlopen"
+else
+ { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_dl_dlopen=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dl_dlopen=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
+if test $ac_cv_lib_dl_dlopen = yes; then
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+ { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; }
+if test "${ac_cv_lib_svld_dlopen+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_svld_dlopen=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_svld_dlopen=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; }
+if test $ac_cv_lib_svld_dlopen = yes; then
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+else
+ { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; }
+if test "${ac_cv_lib_dld_dld_link+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link ();
+int
+main ()
+{
+return dld_link ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_dld_dld_link=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dld_dld_link=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; }
+if test $ac_cv_lib_dld_dld_link = yes; then
+ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; }
+if test "${lt_cv_dlopen_self+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+#line 10357 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ exit (status);
+}
+EOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&5 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self" >&6; }
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; }
+if test "${lt_cv_dlopen_self_static+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self_static=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+#line 10457 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ exit (status);
+}
+EOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&5 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self_static=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; }
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+
+
+# Report which library types will actually be built
+{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
+echo "${ECHO_T}$can_build_shared" >&6; }
+
+{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case $host_os in
+aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+aix4* | aix5*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+esac
+{ echo "$as_me:$LINENO: result: $enable_shared" >&5
+echo "${ECHO_T}$enable_shared" >&6; }
+
+{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+{ echo "$as_me:$LINENO: result: $enable_static" >&5
+echo "${ECHO_T}$enable_static" >&6; }
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+ # See if we are running on zsh, and set the options which allow our commands through
+ # without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+ # Now quote all the things that may contain metacharacters while being
+ # careful not to overquote the AC_SUBSTed values. We take copies of the
+ # variables and quote the copies for generation of the libtool script.
+ for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+ SED SHELL STRIP \
+ libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+ old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+ deplibs_check_method reload_flag reload_cmds need_locks \
+ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+ old_postinstall_cmds old_postuninstall_cmds \
+ compiler \
+ CC \
+ LD \
+ lt_prog_compiler_wl \
+ lt_prog_compiler_pic \
+ lt_prog_compiler_static \
+ lt_prog_compiler_no_builtin_flag \
+ export_dynamic_flag_spec \
+ thread_safe_flag_spec \
+ whole_archive_flag_spec \
+ enable_shared_with_static_runtimes \
+ old_archive_cmds \
+ old_archive_from_new_cmds \
+ predep_objects \
+ postdep_objects \
+ predeps \
+ postdeps \
+ compiler_lib_search_path \
+ archive_cmds \
+ archive_expsym_cmds \
+ postinstall_cmds \
+ postuninstall_cmds \
+ old_archive_from_expsyms_cmds \
+ allow_undefined_flag \
+ no_undefined_flag \
+ export_symbols_cmds \
+ hardcode_libdir_flag_spec \
+ hardcode_libdir_flag_spec_ld \
+ hardcode_libdir_separator \
+ hardcode_automatic \
+ module_cmds \
+ module_expsym_cmds \
+ lt_cv_prog_compiler_c_o \
+ exclude_expsyms \
+ include_expsyms; do
+
+ case $var in
+ old_archive_cmds | \
+ old_archive_from_new_cmds | \
+ archive_cmds | \
+ archive_expsym_cmds | \
+ module_cmds | \
+ module_expsym_cmds | \
+ old_archive_from_expsyms_cmds | \
+ export_symbols_cmds | \
+ extract_expsyms_cmds | reload_cmds | finish_cmds | \
+ postinstall_cmds | postuninstall_cmds | \
+ old_postinstall_cmds | old_postuninstall_cmds | \
+ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+ # Double-quote double-evaled strings.
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+ ;;
+ *)
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+ ;;
+ esac
+ done
+
+ case $lt_echo in
+ *'\$0 --fallback-echo"')
+ lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+ ;;
+ esac
+
+cfgfile="${ofile}T"
+ trap "$rm \"$cfgfile\"; exit 1" 1 2 15
+ $rm -f "$cfgfile"
+ { echo "$as_me:$LINENO: creating $ofile" >&5
+echo "$as_me: creating $ofile" >&6;}
+
+ cat <<__EOF__ >> "$cfgfile"
+#! $SHELL
+
+# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Libtool:
+# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="$SED -e 1s/^X//"
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# The names of the tagged configurations supported by this script.
+available_tags=
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_compiler
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# ### END LIBTOOL CONFIG
+
+__EOF__
+
+
+ case $host_os in
+ aix3*)
+ cat <<\EOF >> "$cfgfile"
+
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+EOF
+ ;;
+ esac
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
+
+ mv -f "$cfgfile" "$ofile" || \
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+
+else
+ # If there is no Makefile yet, we rely on a make rule to execute
+ # `config.status --recheck' to rerun these tests and create the
+ # libtool script then.
+ ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+ if test -f "$ltmain_in"; then
+ test -f Makefile && make "$ltmain"
+ fi
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC="$lt_save_CC"
+
+
+# Check whether --with-tags was given.
+if test "${with_tags+set}" = set; then
+ withval=$with_tags; tagnames="$withval"
+fi
+
+
+if test -f "$ltmain" && test -n "$tagnames"; then
+ if test ! -f "${ofile}"; then
+ { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5
+echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;}
+ fi
+
+ if test -z "$LTCC"; then
+ eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
+ if test -z "$LTCC"; then
+ { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5
+echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;}
+ else
+ { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5
+echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
+ fi
+ fi
+ if test -z "$LTCFLAGS"; then
+ eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
+ fi
+
+ # Extract list of available tagged configurations in $ofile.
+ # Note that this assumes the entire list is on one line.
+ available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
+
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for tagname in $tagnames; do
+ IFS="$lt_save_ifs"
+ # Check whether tagname contains only valid characters
+ case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in
+ "") ;;
+ *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5
+echo "$as_me: error: invalid tag name: $tagname" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+
+ if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
+ then
+ { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5
+echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ # Update the list of available tags.
+ if test -n "$tagname"; then
+ echo appending configuration tag \"$tagname\" to $ofile
+
+ case $tagname in
+ CXX)
+ if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+ (test "X$CXX" != "Xg++"))) ; then
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+
+
+archive_cmds_need_lc_CXX=no
+allow_undefined_flag_CXX=
+always_export_symbols_CXX=no
+archive_expsym_cmds_CXX=
+export_dynamic_flag_spec_CXX=
+hardcode_direct_CXX=no
+hardcode_libdir_flag_spec_CXX=
+hardcode_libdir_flag_spec_ld_CXX=
+hardcode_libdir_separator_CXX=
+hardcode_minus_L_CXX=no
+hardcode_shlibpath_var_CXX=unsupported
+hardcode_automatic_CXX=no
+module_cmds_CXX=
+module_expsym_cmds_CXX=
+link_all_deplibs_CXX=unknown
+old_archive_cmds_CXX=$old_archive_cmds
+no_undefined_flag_CXX=
+whole_archive_flag_spec_CXX=
+enable_shared_with_static_runtimes_CXX=no
+
+# Dependencies to place before and after the object being linked:
+predep_objects_CXX=
+postdep_objects_CXX=
+predeps_CXX=
+postdeps_CXX=
+compiler_lib_search_path_CXX=
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+objext_CXX=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_LD=$LD
+lt_save_GCC=$GCC
+GCC=$GXX
+lt_save_with_gnu_ld=$with_gnu_ld
+lt_save_path_LD=$lt_cv_path_LD
+if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+else
+ $as_unset lt_cv_prog_gnu_ld
+fi
+if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+else
+ $as_unset lt_cv_path_LD
+fi
+test -z "${LDCXX+set}" || LD=$LDCXX
+CC=${CXX-"c++"}
+compiler=$CC
+compiler_CXX=$CC
+for cc_temp in $compiler""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+# We don't want -fno-exception wen compiling C++ code, so set the
+# no_builtin_flag separately
+if test "$GXX" = yes; then
+ lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
+else
+ lt_prog_compiler_no_builtin_flag_CXX=
+fi
+
+if test "$GXX" = yes; then
+ # Set up default GNU C++ configuration
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+ with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [\\/]* | ?:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ { echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
+else
+ { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
+fi
+if test "${lt_cv_path_LD+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ { echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
+if test "${lt_cv_prog_gnu_ld+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test "$with_gnu_ld" = yes; then
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+ hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='${wl}'
+
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
+ grep 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec_CXX=
+ fi
+ else
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ fi
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+else
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
+fi
+
+# PORTME: fill in a description of your system's C++ link characteristics
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+ld_shlibs_CXX=yes
+case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aix4* | aix5*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ archive_cmds_CXX=''
+ hardcode_direct_CXX=yes
+ hardcode_libdir_separator_CXX=':'
+ link_all_deplibs_CXX=yes
+
+ if test "$GXX" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ hardcode_direct_CXX=yes
+ else
+ # We have old collect2
+ hardcode_direct_CXX=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L_CXX=yes
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
+ hardcode_libdir_separator_CXX=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ always_export_symbols_CXX=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag_CXX='-berok'
+ # Determine the default libpath from the value encoded in an empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`; fi
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+ archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag_CXX="-z nodefs"
+ archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`; fi
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag_CXX=' ${wl}-bernotok'
+ allow_undefined_flag_CXX=' ${wl}-berok'
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec_CXX='$convenience'
+ archive_cmds_need_lc_CXX=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag_CXX=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs_CXX=no
+ fi
+ ;;
+
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
+ allow_undefined_flag_CXX=unsupported
+ always_export_symbols_CXX=no
+ enable_shared_with_static_runtimes_CXX=yes
+
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ darwin* | rhapsody*)
+ case $host_os in
+ rhapsody* | darwin1.[012])
+ allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress'
+ ;;
+ *) # Darwin 1.3 on
+ if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+ allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+ else
+ case ${MACOSX_DEPLOYMENT_TARGET} in
+ 10.[012])
+ allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+ ;;
+ 10.*)
+ allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ archive_cmds_need_lc_CXX=no
+ hardcode_direct_CXX=no
+ hardcode_automatic_CXX=yes
+ hardcode_shlibpath_var_CXX=unsupported
+ whole_archive_flag_spec_CXX=''
+ link_all_deplibs_CXX=yes
+
+ if test "$GXX" = yes ; then
+ lt_int_apple_cc_single_mod=no
+ output_verbose_link_cmd='echo'
+ if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
+ lt_int_apple_cc_single_mod=yes
+ fi
+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+ archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+ else
+ archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+ fi
+ module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+ archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ else
+ archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ else
+ case $cc_basename in
+ xlc*)
+ output_verbose_link_cmd='echo'
+ archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+ archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ ;;
+ *)
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ fi
+ ;;
+
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+ freebsd[12]*)
+ # C++ shared libraries reported to be fairly broken before switch to ELF
+ ld_shlibs_CXX=no
+ ;;
+ freebsd-elf*)
+ archive_cmds_need_lc_CXX=no
+ ;;
+ freebsd* | kfreebsd*-gnu | dragonfly*)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ ld_shlibs_CXX=yes
+ ;;
+ gnu*)
+ ;;
+ hpux9*)
+ hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ hardcode_direct_CXX=yes
+ hardcode_minus_L_CXX=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aCC*)
+ archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
+ hpux10*|hpux11*)
+ if test $with_gnu_ld = no; then
+ hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_libdir_flag_spec_ld_CXX='+b $libdir'
+ ;;
+ *)
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ ;;
+ esac
+ fi
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_direct_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ ;;
+ *)
+ hardcode_direct_CXX=yes
+ hardcode_minus_L_CXX=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aCC*)
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test $with_gnu_ld = no; then
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
+ interix3*)
+ hardcode_direct_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC*)
+ # SGI C++
+ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
+ fi
+ fi
+ link_all_deplibs_CXX=yes
+ ;;
+ esac
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+ ;;
+ linux*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+
+ hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc*)
+ # Intel C++
+ with_gnu_ld=yes
+ # version 8.0 and above of icpc choke on multiply defined symbols
+ # if we add $predep_objects and $postdep_objects, however 7.1 and
+ # earlier do not add the objects themselves.
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+ case $host_cpu in
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+ archive_cmds_need_lc_CXX=no
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ ;;
+ pgCC*)
+ # Portland Group C++ compiler
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+
+ hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ ;;
+ cxx*)
+ # Compaq C++
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ esac
+ ;;
+ lynxos*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ m88k*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ hardcode_direct_CXX=yes
+ hardcode_shlibpath_var_CXX=no
+ fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+ ;;
+ openbsd2*)
+ # C++ shared libraries are fairly broken
+ ld_shlibs_CXX=no
+ ;;
+ openbsd*)
+ hardcode_direct_CXX=yes
+ hardcode_shlibpath_var_CXX=no
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd='echo'
+ ;;
+ osf3*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ cxx*)
+ allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
+ osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ old_archive_cmds_CXX='$CC -o $oldlib $oldobjs'
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ cxx*)
+ allow_undefined_flag_CXX=' -expect_unresolved \*'
+ archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
+ $rm $lib.exp'
+
+ hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
+ psos*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ lcc*)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ archive_cmds_need_lc_CXX=yes
+ no_undefined_flag_CXX=' -zdefs'
+ archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ hardcode_shlibpath_var_CXX=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ # The C++ compiler is used as linker so we must use $wl
+ # flag to pass the commands to the underlying system
+ # linker. We must also pass each convience library through
+ # to the system linker between allextract/defaultextract.
+ # The C++ compiler will combine linker options so we
+ # cannot just pass the convience library names through
+ # without $wl.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
+ link_all_deplibs_CXX=yes
+
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
+ if $CC --version | grep -v '^2\.7' > /dev/null; then
+ archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+ else
+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # platform.
+ archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+ fi
+
+ hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
+ fi
+ ;;
+ esac
+ ;;
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ no_undefined_flag_CXX='${wl}-z,text'
+ archive_cmds_need_lc_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ # So that behaviour is only enabled if SCOABSPATH is set to a
+ # non-empty value in the environment. Most likely only useful for
+ # creating official distributions of packages.
+ # This is a hack until libtool officially supports absolute path
+ # names for shared libraries.
+ no_undefined_flag_CXX='${wl}-z,text'
+ allow_undefined_flag_CXX='${wl}-z,nodefs'
+ archive_cmds_need_lc_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ hardcode_libdir_separator_CXX=':'
+ link_all_deplibs_CXX=yes
+ export_dynamic_flag_spec_CXX='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+esac
+{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
+test "$ld_shlibs_CXX" = no && can_build_shared=no
+
+GCC_CXX="$GXX"
+LD_CXX="$LD"
+
+
+cat > conftest.$ac_ext <<EOF
+class Foo
+{
+public:
+ Foo (void) { a = 0; }
+private:
+ int a;
+};
+EOF
+
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Parse the compiler output and extract the necessary
+ # objects, libraries and library flags.
+
+ # Sentinel used to keep track of whether or not we are before
+ # the conftest object file.
+ pre_test_object_deps_done=no
+
+ # The `*' in the case matches for architectures that use `case' in
+ # $output_verbose_cmd can trigger glob expansion during the loop
+ # eval without this substitution.
+ output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
+
+ for p in `eval $output_verbose_link_cmd`; do
+ case $p in
+
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+ # Remove the space.
+ if test $p = "-L" \
+ || test $p = "-R"; then
+ prev=$p
+ continue
+ else
+ prev=
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ case $p in
+ -L* | -R*)
+ # Internal compiler library paths should come after those
+ # provided the user. The postdeps already come after the
+ # user supplied libs so there is no need to process them.
+ if test -z "$compiler_lib_search_path_CXX"; then
+ compiler_lib_search_path_CXX="${prev}${p}"
+ else
+ compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
+ fi
+ ;;
+ # The "-l" case would never come before the object being
+ # linked, so don't bother handling this case.
+ esac
+ else
+ if test -z "$postdeps_CXX"; then
+ postdeps_CXX="${prev}${p}"
+ else
+ postdeps_CXX="${postdeps_CXX} ${prev}${p}"
+ fi
+ fi
+ ;;
+
+ *.$objext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+ if test "$p" = "conftest.$objext"; then
+ pre_test_object_deps_done=yes
+ continue
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ if test -z "$predep_objects_CXX"; then
+ predep_objects_CXX="$p"
+ else
+ predep_objects_CXX="$predep_objects_CXX $p"
+ fi
+ else
+ if test -z "$postdep_objects_CXX"; then
+ postdep_objects_CXX="$p"
+ else
+ postdep_objects_CXX="$postdep_objects_CXX $p"
+ fi
+ fi
+ ;;
+
+ *) ;; # Ignore the rest.
+
+ esac
+ done
+
+ # Clean up.
+ rm -f a.out a.exe
+else
+ echo "libtool.m4: error: problem compiling CXX test program"
+fi
+
+$rm -f confest.$objext
+
+# PORTME: override above test on systems where it is broken
+case $host_os in
+interix3*)
+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
+ # hack all around it, let's just trust "g++" to DTRT.
+ predep_objects_CXX=
+ postdep_objects_CXX=
+ postdeps_CXX=
+ ;;
+
+solaris*)
+ case $cc_basename in
+ CC*)
+ # Adding this requires a known-good setup of shared libraries for
+ # Sun compiler versions before 5.6, else PIC objects from an old
+ # archive will be linked into the output, leading to subtle bugs.
+ postdeps_CXX='-lCstd -lCrun'
+ ;;
+ esac
+ ;;
+esac
+
+
+case " $postdeps_CXX " in
+*" -lc "*) archive_cmds_need_lc_CXX=no ;;
+esac
+
+lt_prog_compiler_wl_CXX=
+lt_prog_compiler_pic_CXX=
+lt_prog_compiler_static_CXX=
+
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
+
+ # C++ specific cases for pic, static, wl, etc.
+ if test "$GXX" = yes; then
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static_CXX='-Bstatic'
+ fi
+ ;;
+ amigaos*)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ mingw* | os2* | pw32*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic_CXX='-fno-common'
+ ;;
+ *djgpp*)
+ # DJGPP does not support shared libraries at all
+ lt_prog_compiler_pic_CXX=
+ ;;
+ interix3*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_prog_compiler_pic_CXX=-Kconform_pic
+ fi
+ ;;
+ hpux*)
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ esac
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ esac
+ else
+ case $host_os in
+ aix4* | aix5*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static_CXX='-Bstatic'
+ else
+ lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ cxch68*)
+ # Green Hills C++ Compiler
+ # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ ;;
+ esac
+ ;;
+ darwin*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ case $cc_basename in
+ xlc*)
+ lt_prog_compiler_pic_CXX='-qnocommon'
+ lt_prog_compiler_wl_CXX='-Wl,'
+ ;;
+ esac
+ ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ lt_prog_compiler_pic_CXX='-KPIC'
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ lt_prog_compiler_pic_CXX='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ freebsd* | kfreebsd*-gnu | dragonfly*)
+ # FreeBSD uses GNU C++
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $cc_basename in
+ CC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+ if test "$host_cpu" != ia64; then
+ lt_prog_compiler_pic_CXX='+Z'
+ fi
+ ;;
+ aCC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX='+Z'
+ ;;
+ esac
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ interix*)
+ # This is c89, which is MS Visual C++ (no shared libs)
+ # Anyone wants to do a port?
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case $cc_basename in
+ CC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX='-non_shared'
+ # CC pic flag -KPIC is the default.
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ linux*)
+ case $cc_basename in
+ KCC*)
+ # KAI C++ Compiler
+ lt_prog_compiler_wl_CXX='--backend -Wl,'
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ icpc* | ecpc*)
+ # Intel C++
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-static'
+ ;;
+ pgCC*)
+ # Portland Group C++ compiler.
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-fpic'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ ;;
+ cxx*)
+ # Compaq C++
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ lt_prog_compiler_pic_CXX=
+ lt_prog_compiler_static_CXX='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ lynxos*)
+ ;;
+ m88k*)
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ lt_prog_compiler_pic_CXX='-W c,exportall'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ netbsd*)
+ ;;
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ lt_prog_compiler_wl_CXX='--backend -Wl,'
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ lt_prog_compiler_pic_CXX='-pic'
+ ;;
+ cxx*)
+ # Digital/Compaq C++
+ lt_prog_compiler_wl_CXX='-Wl,'
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ lt_prog_compiler_pic_CXX=
+ lt_prog_compiler_static_CXX='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ psos*)
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ lt_prog_compiler_wl_CXX='-Qoption ld '
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ lt_prog_compiler_pic_CXX='-PIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ lt_prog_compiler_pic_CXX='-pic'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ ;;
+ lcc*)
+ # Lucid
+ lt_prog_compiler_pic_CXX='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ lt_prog_compiler_pic_CXX='-KPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ case $cc_basename in
+ CC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ ;;
+ esac
+ ;;
+ vxworks*)
+ ;;
+ *)
+ lt_prog_compiler_can_build_shared_CXX=no
+ ;;
+ esac
+ fi
+
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; }
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic_CXX"; then
+
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; }
+if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_prog_compiler_pic_works_CXX=no
+ ac_outfile=conftest.$ac_objext
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:12793: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:12797: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_prog_compiler_pic_works_CXX=yes
+ fi
+ fi
+ $rm conftest*
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; }
+
+if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then
+ case $lt_prog_compiler_pic_CXX in
+ "" | " "*) ;;
+ *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
+ esac
+else
+ lt_prog_compiler_pic_CXX=
+ lt_prog_compiler_can_build_shared_CXX=no
+fi
+
+fi
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic_CXX=
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
+ ;;
+esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
+if test "${lt_prog_compiler_static_works_CXX+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_prog_compiler_static_works_CXX=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+ printf "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_prog_compiler_static_works_CXX=yes
+ fi
+ else
+ lt_prog_compiler_static_works_CXX=yes
+ fi
+ fi
+ $rm conftest*
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; }
+
+if test x"$lt_prog_compiler_static_works_CXX" = xyes; then
+ :
+else
+ lt_prog_compiler_static_CXX=
+fi
+
+
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
+if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_cv_prog_compiler_c_o_CXX=no
+ $rm -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:12897: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:12901: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o_CXX=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $rm conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+ $rm out/* && rmdir out
+ cd ..
+ rmdir conftest
+ $rm conftest*
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; }
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
+ hard_links=yes
+ $rm conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
+ if test "$hard_links" = no; then
+ { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ case $host_os in
+ aix4* | aix5*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+ export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ else
+ export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ fi
+ ;;
+ pw32*)
+ export_symbols_cmds_CXX="$ltdll_cmds"
+ ;;
+ cygwin* | mingw*)
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ *)
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ esac
+
+{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
+test "$ld_shlibs_CXX" = no && can_build_shared=no
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc_CXX" in
+x|xyes)
+ # Assume -lc should be added
+ archive_cmds_need_lc_CXX=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $archive_cmds_CXX in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
+ $rm conftest*
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl_CXX
+ pic_flag=$lt_prog_compiler_pic_CXX
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
+ allow_undefined_flag_CXX=
+ if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+ (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ then
+ archive_cmds_need_lc_CXX=no
+ else
+ archive_cmds_need_lc_CXX=yes
+ fi
+ allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $rm conftest*
+ { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; }
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+if test "$GCC" = yes; then
+ sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix4* | aix5*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[01] | aix4.[01].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[45]*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$host_os in
+ yes,cygwin* | yes,mingw* | yes,pw32*)
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $rm \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+ ;;
+ mingw*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH printed by
+ # mingw gcc, but we are running on Cygwin. Gcc prints its search
+ # path with ; separators, and with drive letters. We can handle the
+ # drive letters (cygwin fileutils understands them), so leave them,
+ # especially as we might pass files found there to a mingw objdump,
+ # which wouldn't understand a cygwinified path. Ahh.
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ ;;
+
+ *)
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+ # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+ if test "$GCC" = yes; then
+ sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+ else
+ sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+ fi
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+kfreebsd*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='GNU ld.so'
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[123]*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[01]* | freebsdelf3.[01]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ freebsd*) # from 4.6 on
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+interix3*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # find out which ABI we are using
+ libsuff=
+ case "$host_cpu" in
+ x86_64*|s390x*|powerpc64*)
+ echo '#line 13433 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *64-bit*)
+ libsuff=64
+ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+ esac
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+knetbsd*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='GNU ld.so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+nto-qnx*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[89] | openbsd2.[89].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ shlibpath_overrides_runpath=no
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ shlibpath_overrides_runpath=yes
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
+hardcode_action_CXX=
+if test -n "$hardcode_libdir_flag_spec_CXX" || \
+ test -n "$runpath_var_CXX" || \
+ test "X$hardcode_automatic_CXX" = "Xyes" ; then
+
+ # We can hardcode non-existant directories.
+ if test "$hardcode_direct_CXX" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
+ test "$hardcode_minus_L_CXX" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action_CXX=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action_CXX=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action_CXX=unsupported
+fi
+{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
+echo "${ECHO_T}$hardcode_action_CXX" >&6; }
+
+if test "$hardcode_action_CXX" = relink; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+ # See if we are running on zsh, and set the options which allow our commands through
+ # without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+ # Now quote all the things that may contain metacharacters while being
+ # careful not to overquote the AC_SUBSTed values. We take copies of the
+ # variables and quote the copies for generation of the libtool script.
+ for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+ SED SHELL STRIP \
+ libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+ old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+ deplibs_check_method reload_flag reload_cmds need_locks \
+ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+ old_postinstall_cmds old_postuninstall_cmds \
+ compiler_CXX \
+ CC_CXX \
+ LD_CXX \
+ lt_prog_compiler_wl_CXX \
+ lt_prog_compiler_pic_CXX \
+ lt_prog_compiler_static_CXX \
+ lt_prog_compiler_no_builtin_flag_CXX \
+ export_dynamic_flag_spec_CXX \
+ thread_safe_flag_spec_CXX \
+ whole_archive_flag_spec_CXX \
+ enable_shared_with_static_runtimes_CXX \
+ old_archive_cmds_CXX \
+ old_archive_from_new_cmds_CXX \
+ predep_objects_CXX \
+ postdep_objects_CXX \
+ predeps_CXX \
+ postdeps_CXX \
+ compiler_lib_search_path_CXX \
+ archive_cmds_CXX \
+ archive_expsym_cmds_CXX \
+ postinstall_cmds_CXX \
+ postuninstall_cmds_CXX \
+ old_archive_from_expsyms_cmds_CXX \
+ allow_undefined_flag_CXX \
+ no_undefined_flag_CXX \
+ export_symbols_cmds_CXX \
+ hardcode_libdir_flag_spec_CXX \
+ hardcode_libdir_flag_spec_ld_CXX \
+ hardcode_libdir_separator_CXX \
+ hardcode_automatic_CXX \
+ module_cmds_CXX \
+ module_expsym_cmds_CXX \
+ lt_cv_prog_compiler_c_o_CXX \
+ exclude_expsyms_CXX \
+ include_expsyms_CXX; do
+
+ case $var in
+ old_archive_cmds_CXX | \
+ old_archive_from_new_cmds_CXX | \
+ archive_cmds_CXX | \
+ archive_expsym_cmds_CXX | \
+ module_cmds_CXX | \
+ module_expsym_cmds_CXX | \
+ old_archive_from_expsyms_cmds_CXX | \
+ export_symbols_cmds_CXX | \
+ extract_expsyms_cmds | reload_cmds | finish_cmds | \
+ postinstall_cmds | postuninstall_cmds | \
+ old_postinstall_cmds | old_postuninstall_cmds | \
+ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+ # Double-quote double-evaled strings.
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+ ;;
+ *)
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+ ;;
+ esac
+ done
+
+ case $lt_echo in
+ *'\$0 --fallback-echo"')
+ lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+ ;;
+ esac
+
+cfgfile="$ofile"
+
+ cat <<__EOF__ >> "$cfgfile"
+# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_CXX
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_compiler_CXX
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC_CXX
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD_CXX
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_CXX
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_CXX
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_CXX
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds_CXX
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds_CXX
+archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds_CXX
+module_expsym_cmds=$lt_module_expsym_cmds_CXX
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects_CXX
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects_CXX
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps_CXX
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps_CXX
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_CXX
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_CXX
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_CXX
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct_CXX
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L_CXX
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic_CXX
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_CXX
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path_CXX"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols_CXX
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_CXX
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_CXX
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_CXX
+
+# ### END LIBTOOL TAG CONFIG: $tagname
+
+__EOF__
+
+
+else
+ # If there is no Makefile yet, we rely on a make rule to execute
+ # `config.status --recheck' to rerun these tests and create the
+ # libtool script then.
+ ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+ if test -f "$ltmain_in"; then
+ test -f Makefile && make "$ltmain"
+ fi
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC=$lt_save_CC
+LDCXX=$LD
+LD=$lt_save_LD
+GCC=$lt_save_GCC
+with_gnu_ldcxx=$with_gnu_ld
+with_gnu_ld=$lt_save_with_gnu_ld
+lt_cv_path_LDCXX=$lt_cv_path_LD
+lt_cv_path_LD=$lt_save_path_LD
+lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+
+ else
+ tagname=""
+ fi
+ ;;
+
+ F77)
+ if test -n "$F77" && test "X$F77" != "Xno"; then
+
+ac_ext=f
+ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
+ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_f77_compiler_gnu
+
+
+archive_cmds_need_lc_F77=no
+allow_undefined_flag_F77=
+always_export_symbols_F77=no
+archive_expsym_cmds_F77=
+export_dynamic_flag_spec_F77=
+hardcode_direct_F77=no
+hardcode_libdir_flag_spec_F77=
+hardcode_libdir_flag_spec_ld_F77=
+hardcode_libdir_separator_F77=
+hardcode_minus_L_F77=no
+hardcode_automatic_F77=no
+module_cmds_F77=
+module_expsym_cmds_F77=
+link_all_deplibs_F77=unknown
+old_archive_cmds_F77=$old_archive_cmds
+no_undefined_flag_F77=
+whole_archive_flag_spec_F77=
+enable_shared_with_static_runtimes_F77=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+objext_F77=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code=" subroutine t\n return\n end\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code=" program t\n end\n"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${F77-"f77"}
+compiler=$CC
+compiler_F77=$CC
+for cc_temp in $compiler""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
+echo "${ECHO_T}$can_build_shared" >&6; }
+
+{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case $host_os in
+aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+aix4* | aix5*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+esac
+{ echo "$as_me:$LINENO: result: $enable_shared" >&5
+echo "${ECHO_T}$enable_shared" >&6; }
+
+{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+{ echo "$as_me:$LINENO: result: $enable_static" >&5
+echo "${ECHO_T}$enable_static" >&6; }
+
+GCC_F77="$G77"
+LD_F77="$LD"
+
+lt_prog_compiler_wl_F77=
+lt_prog_compiler_pic_F77=
+lt_prog_compiler_static_F77=
+
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
+
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl_F77='-Wl,'
+ lt_prog_compiler_static_F77='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static_F77='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4'
+ ;;
+
+ beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic_F77='-DDLL_EXPORT'
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic_F77='-fno-common'
+ ;;
+
+ interix3*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ lt_prog_compiler_can_build_shared_F77=no
+ enable_shared=no
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_prog_compiler_pic_F77=-Kconform_pic
+ fi
+ ;;
+
+ hpux*)
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic_F77='-fPIC'
+ ;;
+ esac
+ ;;
+
+ *)
+ lt_prog_compiler_pic_F77='-fPIC'
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ lt_prog_compiler_wl_F77='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static_F77='-Bstatic'
+ else
+ lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ darwin*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ case $cc_basename in
+ xlc*)
+ lt_prog_compiler_pic_F77='-qnocommon'
+ lt_prog_compiler_wl_F77='-Wl,'
+ ;;
+ esac
+ ;;
+
+ mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic_F77='-DDLL_EXPORT'
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ lt_prog_compiler_wl_F77='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic_F77='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ lt_prog_compiler_static_F77='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ lt_prog_compiler_wl_F77='-Wl,'
+ # PIC (with -KPIC) is the default.
+ lt_prog_compiler_static_F77='-non_shared'
+ ;;
+
+ newsos6)
+ lt_prog_compiler_pic_F77='-KPIC'
+ lt_prog_compiler_static_F77='-Bstatic'
+ ;;
+
+ linux*)
+ case $cc_basename in
+ icc* | ecc*)
+ lt_prog_compiler_wl_F77='-Wl,'
+ lt_prog_compiler_pic_F77='-KPIC'
+ lt_prog_compiler_static_F77='-static'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ lt_prog_compiler_wl_F77='-Wl,'
+ lt_prog_compiler_pic_F77='-fpic'
+ lt_prog_compiler_static_F77='-Bstatic'
+ ;;
+ ccc*)
+ lt_prog_compiler_wl_F77='-Wl,'
+ # All Alpha code is PIC.
+ lt_prog_compiler_static_F77='-non_shared'
+ ;;
+ esac
+ ;;
+
+ osf3* | osf4* | osf5*)
+ lt_prog_compiler_wl_F77='-Wl,'
+ # All OSF/1 code is PIC.
+ lt_prog_compiler_static_F77='-non_shared'
+ ;;
+
+ solaris*)
+ lt_prog_compiler_pic_F77='-KPIC'
+ lt_prog_compiler_static_F77='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95*)
+ lt_prog_compiler_wl_F77='-Qoption ld ';;
+ *)
+ lt_prog_compiler_wl_F77='-Wl,';;
+ esac
+ ;;
+
+ sunos4*)
+ lt_prog_compiler_wl_F77='-Qoption ld '
+ lt_prog_compiler_pic_F77='-PIC'
+ lt_prog_compiler_static_F77='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ lt_prog_compiler_wl_F77='-Wl,'
+ lt_prog_compiler_pic_F77='-KPIC'
+ lt_prog_compiler_static_F77='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ lt_prog_compiler_pic_F77='-Kconform_pic'
+ lt_prog_compiler_static_F77='-Bstatic'
+ fi
+ ;;
+
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ lt_prog_compiler_wl_F77='-Wl,'
+ lt_prog_compiler_pic_F77='-KPIC'
+ lt_prog_compiler_static_F77='-Bstatic'
+ ;;
+
+ unicos*)
+ lt_prog_compiler_wl_F77='-Wl,'
+ lt_prog_compiler_can_build_shared_F77=no
+ ;;
+
+ uts4*)
+ lt_prog_compiler_pic_F77='-pic'
+ lt_prog_compiler_static_F77='-Bstatic'
+ ;;
+
+ *)
+ lt_prog_compiler_can_build_shared_F77=no
+ ;;
+ esac
+ fi
+
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; }
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic_F77"; then
+
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; }
+if test "${lt_prog_compiler_pic_works_F77+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_prog_compiler_pic_works_F77=no
+ ac_outfile=conftest.$ac_objext
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$lt_prog_compiler_pic_F77"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:14488: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:14492: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_prog_compiler_pic_works_F77=yes
+ fi
+ fi
+ $rm conftest*
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; }
+
+if test x"$lt_prog_compiler_pic_works_F77" = xyes; then
+ case $lt_prog_compiler_pic_F77 in
+ "" | " "*) ;;
+ *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;;
+ esac
+else
+ lt_prog_compiler_pic_F77=
+ lt_prog_compiler_can_build_shared_F77=no
+fi
+
+fi
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic_F77=
+ ;;
+ *)
+ lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77"
+ ;;
+esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
+if test "${lt_prog_compiler_static_works_F77+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_prog_compiler_static_works_F77=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+ printf "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_prog_compiler_static_works_F77=yes
+ fi
+ else
+ lt_prog_compiler_static_works_F77=yes
+ fi
+ fi
+ $rm conftest*
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; }
+
+if test x"$lt_prog_compiler_static_works_F77" = xyes; then
+ :
+else
+ lt_prog_compiler_static_F77=
+fi
+
+
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
+if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_cv_prog_compiler_c_o_F77=no
+ $rm -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:14592: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:14596: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o_F77=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $rm conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+ $rm out/* && rmdir out
+ cd ..
+ rmdir conftest
+ $rm conftest*
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; }
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
+ hard_links=yes
+ $rm conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
+ if test "$hard_links" = no; then
+ { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+
+ runpath_var=
+ allow_undefined_flag_F77=
+ enable_shared_with_static_runtimes_F77=no
+ archive_cmds_F77=
+ archive_expsym_cmds_F77=
+ old_archive_From_new_cmds_F77=
+ old_archive_from_expsyms_cmds_F77=
+ export_dynamic_flag_spec_F77=
+ whole_archive_flag_spec_F77=
+ thread_safe_flag_spec_F77=
+ hardcode_libdir_flag_spec_F77=
+ hardcode_libdir_flag_spec_ld_F77=
+ hardcode_libdir_separator_F77=
+ hardcode_direct_F77=no
+ hardcode_minus_L_F77=no
+ hardcode_shlibpath_var_F77=unsupported
+ link_all_deplibs_F77=unknown
+ hardcode_automatic_F77=no
+ module_cmds_F77=
+ module_expsym_cmds_F77=
+ always_export_symbols_F77=no
+ export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ include_expsyms_F77=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_"
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ extract_expsyms_cmds=
+ # Just being paranoid about ensuring that cc_basename is set.
+ for cc_temp in $compiler""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+ case $host_os in
+ cygwin* | mingw* | pw32*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ esac
+
+ ld_shlibs_F77=yes
+ if test "$with_gnu_ld" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir'
+ export_dynamic_flag_spec_F77='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec_F77=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>/dev/null` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix3* | aix4* | aix5*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ ld_shlibs_F77=no
+ cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+ fi
+ ;;
+
+ amigaos*)
+ archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec_F77='-L$libdir'
+ hardcode_minus_L_F77=yes
+
+ # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
+ # that the semantics of dynamic libraries on AmigaOS, at least up
+ # to version 4, is to share data among multiple programs linked
+ # with the same dynamic library. Since this doesn't match the
+ # behavior of shared libraries on other platforms, we can't use
+ # them.
+ ld_shlibs_F77=no
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag_F77=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs_F77=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec_F77='-L$libdir'
+ allow_undefined_flag_F77=unsupported
+ always_export_symbols_F77=no
+ enable_shared_with_static_runtimes_F77=yes
+ export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ ld_shlibs_F77=no
+ fi
+ ;;
+
+ interix3*)
+ hardcode_direct_F77=no
+ hardcode_shlibpath_var_F77=no
+ hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_F77='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ linux*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ tmp_addflag=
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
+ whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ esac
+ archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+ if test $supports_anon_versioning = yes; then
+ archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ $echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+ else
+ ld_shlibs_F77=no
+ fi
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris*)
+ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+ ld_shlibs_F77=no
+ cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+ elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs_F77=no
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs_F77=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+ archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+ archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+ else
+ ld_shlibs_F77=no
+ fi
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ hardcode_direct_F77=yes
+ hardcode_shlibpath_var_F77=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs_F77=no
+ fi
+ ;;
+ esac
+
+ if test "$ld_shlibs_F77" = no; then
+ runpath_var=
+ hardcode_libdir_flag_spec_F77=
+ export_dynamic_flag_spec_F77=
+ whole_archive_flag_spec_F77=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ allow_undefined_flag_F77=unsupported
+ always_export_symbols_F77=yes
+ archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L_F77=yes
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct_F77=unsupported
+ fi
+ ;;
+
+ aix4* | aix5*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+ export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ else
+ export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ archive_cmds_F77=''
+ hardcode_direct_F77=yes
+ hardcode_libdir_separator_F77=':'
+ link_all_deplibs_F77=yes
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ hardcode_direct_F77=yes
+ else
+ # We have old collect2
+ hardcode_direct_F77=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L_F77=yes
+ hardcode_libdir_flag_spec_F77='-L$libdir'
+ hardcode_libdir_separator_F77=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ always_export_symbols_F77=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag_F77='-berok'
+ # Determine the default libpath from the value encoded in an empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
+ program main
+
+ end
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_f77_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`; fi
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag_F77="-z nodefs"
+ archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
+ program main
+
+ end
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_f77_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`; fi
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag_F77=' ${wl}-bernotok'
+ allow_undefined_flag_F77=' ${wl}-berok'
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec_F77='$convenience'
+ archive_cmds_need_lc_F77=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec_F77='-L$libdir'
+ hardcode_minus_L_F77=yes
+ # see comment about different semantics on the GNU ld section
+ ld_shlibs_F77=no
+ ;;
+
+ bsdi[45]*)
+ export_dynamic_flag_spec_F77=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec_F77=' '
+ allow_undefined_flag_F77=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ old_archive_From_new_cmds_F77='true'
+ # FIXME: Should let the user specify the lib program.
+ old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs'
+ fix_srcfile_path_F77='`cygpath -w "$srcfile"`'
+ enable_shared_with_static_runtimes_F77=yes
+ ;;
+
+ darwin* | rhapsody*)
+ case $host_os in
+ rhapsody* | darwin1.[012])
+ allow_undefined_flag_F77='${wl}-undefined ${wl}suppress'
+ ;;
+ *) # Darwin 1.3 on
+ if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+ allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+ else
+ case ${MACOSX_DEPLOYMENT_TARGET} in
+ 10.[012])
+ allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+ ;;
+ 10.*)
+ allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ archive_cmds_need_lc_F77=no
+ hardcode_direct_F77=no
+ hardcode_automatic_F77=yes
+ hardcode_shlibpath_var_F77=unsupported
+ whole_archive_flag_spec_F77=''
+ link_all_deplibs_F77=yes
+ if test "$GCC" = yes ; then
+ output_verbose_link_cmd='echo'
+ archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+ module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+ archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ else
+ case $cc_basename in
+ xlc*)
+ output_verbose_link_cmd='echo'
+ archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+ archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ ;;
+ *)
+ ld_shlibs_F77=no
+ ;;
+ esac
+ fi
+ ;;
+
+ dgux*)
+ archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec_F77='-L$libdir'
+ hardcode_shlibpath_var_F77=no
+ ;;
+
+ freebsd1*)
+ ld_shlibs_F77=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ hardcode_libdir_flag_spec_F77='-R$libdir'
+ hardcode_direct_F77=yes
+ hardcode_shlibpath_var_F77=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2*)
+ archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct_F77=yes
+ hardcode_minus_L_F77=yes
+ hardcode_shlibpath_var_F77=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | kfreebsd*-gnu | dragonfly*)
+ archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec_F77='-R$libdir'
+ hardcode_direct_F77=yes
+ hardcode_shlibpath_var_F77=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_F77=:
+ hardcode_direct_F77=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L_F77=yes
+ export_dynamic_flag_spec_F77='${wl}-E'
+ ;;
+
+ hpux10*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_F77=:
+
+ hardcode_direct_F77=yes
+ export_dynamic_flag_spec_F77='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L_F77=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_F77=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_libdir_flag_spec_ld_F77='+b $libdir'
+ hardcode_direct_F77=no
+ hardcode_shlibpath_var_F77=no
+ ;;
+ *)
+ hardcode_direct_F77=yes
+ export_dynamic_flag_spec_F77='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L_F77=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec_ld_F77='-rpath $libdir'
+ fi
+ hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_F77=:
+ link_all_deplibs_F77=yes
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ hardcode_libdir_flag_spec_F77='-R$libdir'
+ hardcode_direct_F77=yes
+ hardcode_shlibpath_var_F77=no
+ ;;
+
+ newsos6)
+ archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct_F77=yes
+ hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_F77=:
+ hardcode_shlibpath_var_F77=no
+ ;;
+
+ openbsd*)
+ hardcode_direct_F77=yes
+ hardcode_shlibpath_var_F77=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_F77='${wl}-E'
+ else
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec_F77='-R$libdir'
+ ;;
+ *)
+ archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ ;;
+
+ os2*)
+ hardcode_libdir_flag_spec_F77='-L$libdir'
+ hardcode_minus_L_F77=yes
+ allow_undefined_flag_F77=unsupported
+ archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ allow_undefined_flag_F77=' -expect_unresolved \*'
+ archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_F77=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag_F77=' -expect_unresolved \*'
+ archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec_F77='-rpath $libdir'
+ fi
+ hardcode_libdir_separator_F77=:
+ ;;
+
+ solaris*)
+ no_undefined_flag_F77=' -z text'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+ archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+ else
+ wlarc=''
+ archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+ fi
+ hardcode_libdir_flag_spec_F77='-R$libdir'
+ hardcode_shlibpath_var_F77=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ # The compiler driver will combine linker options so we
+ # cannot just pass the convience library names through
+ # without $wl, iff we do not link with $LD.
+ # Luckily, gcc supports the same syntax we need for Sun Studio.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ case $wlarc in
+ '')
+ whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;;
+ *)
+ whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+ esac ;;
+ esac
+ link_all_deplibs_F77=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ hardcode_libdir_flag_spec_F77='-L$libdir'
+ hardcode_direct_F77=yes
+ hardcode_minus_L_F77=yes
+ hardcode_shlibpath_var_F77=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct_F77=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ reload_cmds_F77='$CC -r -o $output$reload_objs'
+ hardcode_direct_F77=no
+ ;;
+ motorola)
+ archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var_F77=no
+ ;;
+
+ sysv4.3*)
+ archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var_F77=no
+ export_dynamic_flag_spec_F77='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var_F77=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ ld_shlibs_F77=yes
+ fi
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+ no_undefined_flag_F77='${wl}-z,text'
+ archive_cmds_need_lc_F77=no
+ hardcode_shlibpath_var_F77=no
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ no_undefined_flag_F77='${wl}-z,text'
+ allow_undefined_flag_F77='${wl}-z,nodefs'
+ archive_cmds_need_lc_F77=no
+ hardcode_shlibpath_var_F77=no
+ hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ hardcode_libdir_separator_F77=':'
+ link_all_deplibs_F77=yes
+ export_dynamic_flag_spec_F77='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ uts4*)
+ archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec_F77='-L$libdir'
+ hardcode_shlibpath_var_F77=no
+ ;;
+
+ *)
+ ld_shlibs_F77=no
+ ;;
+ esac
+ fi
+
+{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
+echo "${ECHO_T}$ld_shlibs_F77" >&6; }
+test "$ld_shlibs_F77" = no && can_build_shared=no
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc_F77" in
+x|xyes)
+ # Assume -lc should be added
+ archive_cmds_need_lc_F77=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $archive_cmds_F77 in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
+ $rm conftest*
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl_F77
+ pic_flag=$lt_prog_compiler_pic_F77
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag_F77
+ allow_undefined_flag_F77=
+ if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+ (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ then
+ archive_cmds_need_lc_F77=no
+ else
+ archive_cmds_need_lc_F77=yes
+ fi
+ allow_undefined_flag_F77=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $rm conftest*
+ { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; }
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+if test "$GCC" = yes; then
+ sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix4* | aix5*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[01] | aix4.[01].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[45]*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$host_os in
+ yes,cygwin* | yes,mingw* | yes,pw32*)
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $rm \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+ ;;
+ mingw*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH printed by
+ # mingw gcc, but we are running on Cygwin. Gcc prints its search
+ # path with ; separators, and with drive letters. We can handle the
+ # drive letters (cygwin fileutils understands them), so leave them,
+ # especially as we might pass files found there to a mingw objdump,
+ # which wouldn't understand a cygwinified path. Ahh.
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ ;;
+
+ *)
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+ # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+ if test "$GCC" = yes; then
+ sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+ else
+ sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+ fi
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+kfreebsd*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='GNU ld.so'
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[123]*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[01]* | freebsdelf3.[01]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ freebsd*) # from 4.6 on
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+interix3*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # find out which ABI we are using
+ libsuff=
+ case "$host_cpu" in
+ x86_64*|s390x*|powerpc64*)
+ echo '#line 16037 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *64-bit*)
+ libsuff=64
+ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+ esac
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+knetbsd*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='GNU ld.so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+nto-qnx*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[89] | openbsd2.[89].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ shlibpath_overrides_runpath=no
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ shlibpath_overrides_runpath=yes
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
+hardcode_action_F77=
+if test -n "$hardcode_libdir_flag_spec_F77" || \
+ test -n "$runpath_var_F77" || \
+ test "X$hardcode_automatic_F77" = "Xyes" ; then
+
+ # We can hardcode non-existant directories.
+ if test "$hardcode_direct_F77" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no &&
+ test "$hardcode_minus_L_F77" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action_F77=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action_F77=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action_F77=unsupported
+fi
+{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
+echo "${ECHO_T}$hardcode_action_F77" >&6; }
+
+if test "$hardcode_action_F77" = relink; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+ # See if we are running on zsh, and set the options which allow our commands through
+ # without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+ # Now quote all the things that may contain metacharacters while being
+ # careful not to overquote the AC_SUBSTed values. We take copies of the
+ # variables and quote the copies for generation of the libtool script.
+ for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+ SED SHELL STRIP \
+ libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+ old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+ deplibs_check_method reload_flag reload_cmds need_locks \
+ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+ old_postinstall_cmds old_postuninstall_cmds \
+ compiler_F77 \
+ CC_F77 \
+ LD_F77 \
+ lt_prog_compiler_wl_F77 \
+ lt_prog_compiler_pic_F77 \
+ lt_prog_compiler_static_F77 \
+ lt_prog_compiler_no_builtin_flag_F77 \
+ export_dynamic_flag_spec_F77 \
+ thread_safe_flag_spec_F77 \
+ whole_archive_flag_spec_F77 \
+ enable_shared_with_static_runtimes_F77 \
+ old_archive_cmds_F77 \
+ old_archive_from_new_cmds_F77 \
+ predep_objects_F77 \
+ postdep_objects_F77 \
+ predeps_F77 \
+ postdeps_F77 \
+ compiler_lib_search_path_F77 \
+ archive_cmds_F77 \
+ archive_expsym_cmds_F77 \
+ postinstall_cmds_F77 \
+ postuninstall_cmds_F77 \
+ old_archive_from_expsyms_cmds_F77 \
+ allow_undefined_flag_F77 \
+ no_undefined_flag_F77 \
+ export_symbols_cmds_F77 \
+ hardcode_libdir_flag_spec_F77 \
+ hardcode_libdir_flag_spec_ld_F77 \
+ hardcode_libdir_separator_F77 \
+ hardcode_automatic_F77 \
+ module_cmds_F77 \
+ module_expsym_cmds_F77 \
+ lt_cv_prog_compiler_c_o_F77 \
+ exclude_expsyms_F77 \
+ include_expsyms_F77; do
+
+ case $var in
+ old_archive_cmds_F77 | \
+ old_archive_from_new_cmds_F77 | \
+ archive_cmds_F77 | \
+ archive_expsym_cmds_F77 | \
+ module_cmds_F77 | \
+ module_expsym_cmds_F77 | \
+ old_archive_from_expsyms_cmds_F77 | \
+ export_symbols_cmds_F77 | \
+ extract_expsyms_cmds | reload_cmds | finish_cmds | \
+ postinstall_cmds | postuninstall_cmds | \
+ old_postinstall_cmds | old_postuninstall_cmds | \
+ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+ # Double-quote double-evaled strings.
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+ ;;
+ *)
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+ ;;
+ esac
+ done
+
+ case $lt_echo in
+ *'\$0 --fallback-echo"')
+ lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+ ;;
+ esac
+
+cfgfile="$ofile"
+
+ cat <<__EOF__ >> "$cfgfile"
+# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_F77
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_compiler_F77
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC_F77
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD_F77
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_F77
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_F77
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_F77
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds_F77
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds_F77
+archive_expsym_cmds=$lt_archive_expsym_cmds_F77
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds_F77
+module_expsym_cmds=$lt_module_expsym_cmds_F77
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects_F77
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects_F77
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps_F77
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps_F77
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_F77
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_F77
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_F77
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_F77
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct_F77
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L_F77
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_F77
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic_F77
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_F77
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path_F77"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols_F77
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_F77
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_F77
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_F77
+
+# ### END LIBTOOL TAG CONFIG: $tagname
+
+__EOF__
+
+
+else
+ # If there is no Makefile yet, we rely on a make rule to execute
+ # `config.status --recheck' to rerun these tests and create the
+ # libtool script then.
+ ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+ if test -f "$ltmain_in"; then
+ test -f Makefile && make "$ltmain"
+ fi
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC="$lt_save_CC"
+
+ else
+ tagname=""
+ fi
+ ;;
+
+ GCJ)
+ if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
+
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+objext_GCJ=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${GCJ-"gcj"}
+compiler=$CC
+compiler_GCJ=$CC
+for cc_temp in $compiler""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+archive_cmds_need_lc_GCJ=no
+
+old_archive_cmds_GCJ=$old_archive_cmds
+
+
+lt_prog_compiler_no_builtin_flag_GCJ=
+
+if test "$GCC" = yes; then
+ lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
+
+
+{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
+if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_cv_prog_compiler_rtti_exceptions=no
+ ac_outfile=conftest.$ac_objext
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="-fno-rtti -fno-exceptions"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:16811: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:16815: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_rtti_exceptions=yes
+ fi
+ fi
+ $rm conftest*
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+
+if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+ lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
+else
+ :
+fi
+
+fi
+
+lt_prog_compiler_wl_GCJ=
+lt_prog_compiler_pic_GCJ=
+lt_prog_compiler_static_GCJ=
+
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
+
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ lt_prog_compiler_static_GCJ='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4'
+ ;;
+
+ beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic_GCJ='-fno-common'
+ ;;
+
+ interix3*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ lt_prog_compiler_can_build_shared_GCJ=no
+ enable_shared=no
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_prog_compiler_pic_GCJ=-Kconform_pic
+ fi
+ ;;
+
+ hpux*)
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic_GCJ='-fPIC'
+ ;;
+ esac
+ ;;
+
+ *)
+ lt_prog_compiler_pic_GCJ='-fPIC'
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ else
+ lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ darwin*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ case $cc_basename in
+ xlc*)
+ lt_prog_compiler_pic_GCJ='-qnocommon'
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ ;;
+ esac
+ ;;
+
+ mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic_GCJ='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ # PIC (with -KPIC) is the default.
+ lt_prog_compiler_static_GCJ='-non_shared'
+ ;;
+
+ newsos6)
+ lt_prog_compiler_pic_GCJ='-KPIC'
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ ;;
+
+ linux*)
+ case $cc_basename in
+ icc* | ecc*)
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ lt_prog_compiler_pic_GCJ='-KPIC'
+ lt_prog_compiler_static_GCJ='-static'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ lt_prog_compiler_pic_GCJ='-fpic'
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ ;;
+ ccc*)
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ # All Alpha code is PIC.
+ lt_prog_compiler_static_GCJ='-non_shared'
+ ;;
+ esac
+ ;;
+
+ osf3* | osf4* | osf5*)
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ # All OSF/1 code is PIC.
+ lt_prog_compiler_static_GCJ='-non_shared'
+ ;;
+
+ solaris*)
+ lt_prog_compiler_pic_GCJ='-KPIC'
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95*)
+ lt_prog_compiler_wl_GCJ='-Qoption ld ';;
+ *)
+ lt_prog_compiler_wl_GCJ='-Wl,';;
+ esac
+ ;;
+
+ sunos4*)
+ lt_prog_compiler_wl_GCJ='-Qoption ld '
+ lt_prog_compiler_pic_GCJ='-PIC'
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ lt_prog_compiler_pic_GCJ='-KPIC'
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ lt_prog_compiler_pic_GCJ='-Kconform_pic'
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ fi
+ ;;
+
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ lt_prog_compiler_pic_GCJ='-KPIC'
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ ;;
+
+ unicos*)
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ lt_prog_compiler_can_build_shared_GCJ=no
+ ;;
+
+ uts4*)
+ lt_prog_compiler_pic_GCJ='-pic'
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ ;;
+
+ *)
+ lt_prog_compiler_can_build_shared_GCJ=no
+ ;;
+ esac
+ fi
+
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; }
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic_GCJ"; then
+
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; }
+if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_prog_compiler_pic_works_GCJ=no
+ ac_outfile=conftest.$ac_objext
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:17079: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:17083: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_prog_compiler_pic_works_GCJ=yes
+ fi
+ fi
+ $rm conftest*
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; }
+
+if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then
+ case $lt_prog_compiler_pic_GCJ in
+ "" | " "*) ;;
+ *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;;
+ esac
+else
+ lt_prog_compiler_pic_GCJ=
+ lt_prog_compiler_can_build_shared_GCJ=no
+fi
+
+fi
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic_GCJ=
+ ;;
+ *)
+ lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ"
+ ;;
+esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
+if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_prog_compiler_static_works_GCJ=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+ printf "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_prog_compiler_static_works_GCJ=yes
+ fi
+ else
+ lt_prog_compiler_static_works_GCJ=yes
+ fi
+ fi
+ $rm conftest*
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; }
+
+if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then
+ :
+else
+ lt_prog_compiler_static_GCJ=
+fi
+
+
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
+if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_cv_prog_compiler_c_o_GCJ=no
+ $rm -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:17183: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:17187: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o_GCJ=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $rm conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+ $rm out/* && rmdir out
+ cd ..
+ rmdir conftest
+ $rm conftest*
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; }
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
+ hard_links=yes
+ $rm conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
+ if test "$hard_links" = no; then
+ { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+
+ runpath_var=
+ allow_undefined_flag_GCJ=
+ enable_shared_with_static_runtimes_GCJ=no
+ archive_cmds_GCJ=
+ archive_expsym_cmds_GCJ=
+ old_archive_From_new_cmds_GCJ=
+ old_archive_from_expsyms_cmds_GCJ=
+ export_dynamic_flag_spec_GCJ=
+ whole_archive_flag_spec_GCJ=
+ thread_safe_flag_spec_GCJ=
+ hardcode_libdir_flag_spec_GCJ=
+ hardcode_libdir_flag_spec_ld_GCJ=
+ hardcode_libdir_separator_GCJ=
+ hardcode_direct_GCJ=no
+ hardcode_minus_L_GCJ=no
+ hardcode_shlibpath_var_GCJ=unsupported
+ link_all_deplibs_GCJ=unknown
+ hardcode_automatic_GCJ=no
+ module_cmds_GCJ=
+ module_expsym_cmds_GCJ=
+ always_export_symbols_GCJ=no
+ export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ include_expsyms_GCJ=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_"
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ extract_expsyms_cmds=
+ # Just being paranoid about ensuring that cc_basename is set.
+ for cc_temp in $compiler""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+ case $host_os in
+ cygwin* | mingw* | pw32*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ esac
+
+ ld_shlibs_GCJ=yes
+ if test "$with_gnu_ld" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir'
+ export_dynamic_flag_spec_GCJ='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec_GCJ=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>/dev/null` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix3* | aix4* | aix5*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ ld_shlibs_GCJ=no
+ cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+ fi
+ ;;
+
+ amigaos*)
+ archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec_GCJ='-L$libdir'
+ hardcode_minus_L_GCJ=yes
+
+ # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
+ # that the semantics of dynamic libraries on AmigaOS, at least up
+ # to version 4, is to share data among multiple programs linked
+ # with the same dynamic library. Since this doesn't match the
+ # behavior of shared libraries on other platforms, we can't use
+ # them.
+ ld_shlibs_GCJ=no
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag_GCJ=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs_GCJ=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec_GCJ='-L$libdir'
+ allow_undefined_flag_GCJ=unsupported
+ always_export_symbols_GCJ=no
+ enable_shared_with_static_runtimes_GCJ=yes
+ export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ ld_shlibs_GCJ=no
+ fi
+ ;;
+
+ interix3*)
+ hardcode_direct_GCJ=no
+ hardcode_shlibpath_var_GCJ=no
+ hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_GCJ='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ linux*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ tmp_addflag=
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
+ whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ esac
+ archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+ if test $supports_anon_versioning = yes; then
+ archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ $echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+ else
+ ld_shlibs_GCJ=no
+ fi
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris*)
+ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+ ld_shlibs_GCJ=no
+ cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+ elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs_GCJ=no
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs_GCJ=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+ archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+ archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+ else
+ ld_shlibs_GCJ=no
+ fi
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ hardcode_direct_GCJ=yes
+ hardcode_shlibpath_var_GCJ=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs_GCJ=no
+ fi
+ ;;
+ esac
+
+ if test "$ld_shlibs_GCJ" = no; then
+ runpath_var=
+ hardcode_libdir_flag_spec_GCJ=
+ export_dynamic_flag_spec_GCJ=
+ whole_archive_flag_spec_GCJ=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ allow_undefined_flag_GCJ=unsupported
+ always_export_symbols_GCJ=yes
+ archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L_GCJ=yes
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct_GCJ=unsupported
+ fi
+ ;;
+
+ aix4* | aix5*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+ export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ else
+ export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ archive_cmds_GCJ=''
+ hardcode_direct_GCJ=yes
+ hardcode_libdir_separator_GCJ=':'
+ link_all_deplibs_GCJ=yes
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ hardcode_direct_GCJ=yes
+ else
+ # We have old collect2
+ hardcode_direct_GCJ=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L_GCJ=yes
+ hardcode_libdir_flag_spec_GCJ='-L$libdir'
+ hardcode_libdir_separator_GCJ=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ always_export_symbols_GCJ=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag_GCJ='-berok'
+ # Determine the default libpath from the value encoded in an empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`; fi
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag_GCJ="-z nodefs"
+ archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`; fi
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag_GCJ=' ${wl}-bernotok'
+ allow_undefined_flag_GCJ=' ${wl}-berok'
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec_GCJ='$convenience'
+ archive_cmds_need_lc_GCJ=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec_GCJ='-L$libdir'
+ hardcode_minus_L_GCJ=yes
+ # see comment about different semantics on the GNU ld section
+ ld_shlibs_GCJ=no
+ ;;
+
+ bsdi[45]*)
+ export_dynamic_flag_spec_GCJ=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec_GCJ=' '
+ allow_undefined_flag_GCJ=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ old_archive_From_new_cmds_GCJ='true'
+ # FIXME: Should let the user specify the lib program.
+ old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs'
+ fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`'
+ enable_shared_with_static_runtimes_GCJ=yes
+ ;;
+
+ darwin* | rhapsody*)
+ case $host_os in
+ rhapsody* | darwin1.[012])
+ allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress'
+ ;;
+ *) # Darwin 1.3 on
+ if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+ allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+ else
+ case ${MACOSX_DEPLOYMENT_TARGET} in
+ 10.[012])
+ allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+ ;;
+ 10.*)
+ allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ archive_cmds_need_lc_GCJ=no
+ hardcode_direct_GCJ=no
+ hardcode_automatic_GCJ=yes
+ hardcode_shlibpath_var_GCJ=unsupported
+ whole_archive_flag_spec_GCJ=''
+ link_all_deplibs_GCJ=yes
+ if test "$GCC" = yes ; then
+ output_verbose_link_cmd='echo'
+ archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+ module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+ archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ else
+ case $cc_basename in
+ xlc*)
+ output_verbose_link_cmd='echo'
+ archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+ archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ ;;
+ *)
+ ld_shlibs_GCJ=no
+ ;;
+ esac
+ fi
+ ;;
+
+ dgux*)
+ archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec_GCJ='-L$libdir'
+ hardcode_shlibpath_var_GCJ=no
+ ;;
+
+ freebsd1*)
+ ld_shlibs_GCJ=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ hardcode_libdir_flag_spec_GCJ='-R$libdir'
+ hardcode_direct_GCJ=yes
+ hardcode_shlibpath_var_GCJ=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2*)
+ archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct_GCJ=yes
+ hardcode_minus_L_GCJ=yes
+ hardcode_shlibpath_var_GCJ=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | kfreebsd*-gnu | dragonfly*)
+ archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec_GCJ='-R$libdir'
+ hardcode_direct_GCJ=yes
+ hardcode_shlibpath_var_GCJ=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_GCJ=:
+ hardcode_direct_GCJ=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L_GCJ=yes
+ export_dynamic_flag_spec_GCJ='${wl}-E'
+ ;;
+
+ hpux10*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_GCJ=:
+
+ hardcode_direct_GCJ=yes
+ export_dynamic_flag_spec_GCJ='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L_GCJ=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_GCJ=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_libdir_flag_spec_ld_GCJ='+b $libdir'
+ hardcode_direct_GCJ=no
+ hardcode_shlibpath_var_GCJ=no
+ ;;
+ *)
+ hardcode_direct_GCJ=yes
+ export_dynamic_flag_spec_GCJ='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L_GCJ=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir'
+ fi
+ hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_GCJ=:
+ link_all_deplibs_GCJ=yes
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ hardcode_libdir_flag_spec_GCJ='-R$libdir'
+ hardcode_direct_GCJ=yes
+ hardcode_shlibpath_var_GCJ=no
+ ;;
+
+ newsos6)
+ archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct_GCJ=yes
+ hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_GCJ=:
+ hardcode_shlibpath_var_GCJ=no
+ ;;
+
+ openbsd*)
+ hardcode_direct_GCJ=yes
+ hardcode_shlibpath_var_GCJ=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_GCJ='${wl}-E'
+ else
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec_GCJ='-R$libdir'
+ ;;
+ *)
+ archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ ;;
+
+ os2*)
+ hardcode_libdir_flag_spec_GCJ='-L$libdir'
+ hardcode_minus_L_GCJ=yes
+ allow_undefined_flag_GCJ=unsupported
+ archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ allow_undefined_flag_GCJ=' -expect_unresolved \*'
+ archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_GCJ=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag_GCJ=' -expect_unresolved \*'
+ archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec_GCJ='-rpath $libdir'
+ fi
+ hardcode_libdir_separator_GCJ=:
+ ;;
+
+ solaris*)
+ no_undefined_flag_GCJ=' -z text'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+ archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+ else
+ wlarc=''
+ archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+ fi
+ hardcode_libdir_flag_spec_GCJ='-R$libdir'
+ hardcode_shlibpath_var_GCJ=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ # The compiler driver will combine linker options so we
+ # cannot just pass the convience library names through
+ # without $wl, iff we do not link with $LD.
+ # Luckily, gcc supports the same syntax we need for Sun Studio.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ case $wlarc in
+ '')
+ whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;;
+ *)
+ whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+ esac ;;
+ esac
+ link_all_deplibs_GCJ=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ hardcode_libdir_flag_spec_GCJ='-L$libdir'
+ hardcode_direct_GCJ=yes
+ hardcode_minus_L_GCJ=yes
+ hardcode_shlibpath_var_GCJ=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct_GCJ=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ reload_cmds_GCJ='$CC -r -o $output$reload_objs'
+ hardcode_direct_GCJ=no
+ ;;
+ motorola)
+ archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var_GCJ=no
+ ;;
+
+ sysv4.3*)
+ archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var_GCJ=no
+ export_dynamic_flag_spec_GCJ='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var_GCJ=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ ld_shlibs_GCJ=yes
+ fi
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+ no_undefined_flag_GCJ='${wl}-z,text'
+ archive_cmds_need_lc_GCJ=no
+ hardcode_shlibpath_var_GCJ=no
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ no_undefined_flag_GCJ='${wl}-z,text'
+ allow_undefined_flag_GCJ='${wl}-z,nodefs'
+ archive_cmds_need_lc_GCJ=no
+ hardcode_shlibpath_var_GCJ=no
+ hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ hardcode_libdir_separator_GCJ=':'
+ link_all_deplibs_GCJ=yes
+ export_dynamic_flag_spec_GCJ='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ uts4*)
+ archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec_GCJ='-L$libdir'
+ hardcode_shlibpath_var_GCJ=no
+ ;;
+
+ *)
+ ld_shlibs_GCJ=no
+ ;;
+ esac
+ fi
+
+{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
+echo "${ECHO_T}$ld_shlibs_GCJ" >&6; }
+test "$ld_shlibs_GCJ" = no && can_build_shared=no
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc_GCJ" in
+x|xyes)
+ # Assume -lc should be added
+ archive_cmds_need_lc_GCJ=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $archive_cmds_GCJ in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
+ $rm conftest*
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl_GCJ
+ pic_flag=$lt_prog_compiler_pic_GCJ
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ
+ allow_undefined_flag_GCJ=
+ if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+ (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ then
+ archive_cmds_need_lc_GCJ=no
+ else
+ archive_cmds_need_lc_GCJ=yes
+ fi
+ allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $rm conftest*
+ { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; }
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+if test "$GCC" = yes; then
+ sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix4* | aix5*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[01] | aix4.[01].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[45]*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$host_os in
+ yes,cygwin* | yes,mingw* | yes,pw32*)
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $rm \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+ ;;
+ mingw*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH printed by
+ # mingw gcc, but we are running on Cygwin. Gcc prints its search
+ # path with ; separators, and with drive letters. We can handle the
+ # drive letters (cygwin fileutils understands them), so leave them,
+ # especially as we might pass files found there to a mingw objdump,
+ # which wouldn't understand a cygwinified path. Ahh.
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ ;;
+
+ *)
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+ # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+ if test "$GCC" = yes; then
+ sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+ else
+ sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+ fi
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+kfreebsd*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='GNU ld.so'
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[123]*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[01]* | freebsdelf3.[01]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ freebsd*) # from 4.6 on
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+interix3*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # find out which ABI we are using
+ libsuff=
+ case "$host_cpu" in
+ x86_64*|s390x*|powerpc64*)
+ echo '#line 18648 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *64-bit*)
+ libsuff=64
+ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+ esac
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+knetbsd*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='GNU ld.so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+nto-qnx*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[89] | openbsd2.[89].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ shlibpath_overrides_runpath=no
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ shlibpath_overrides_runpath=yes
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
+hardcode_action_GCJ=
+if test -n "$hardcode_libdir_flag_spec_GCJ" || \
+ test -n "$runpath_var_GCJ" || \
+ test "X$hardcode_automatic_GCJ" = "Xyes" ; then
+
+ # We can hardcode non-existant directories.
+ if test "$hardcode_direct_GCJ" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no &&
+ test "$hardcode_minus_L_GCJ" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action_GCJ=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action_GCJ=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action_GCJ=unsupported
+fi
+{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
+echo "${ECHO_T}$hardcode_action_GCJ" >&6; }
+
+if test "$hardcode_action_GCJ" = relink; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+ # See if we are running on zsh, and set the options which allow our commands through
+ # without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+ # Now quote all the things that may contain metacharacters while being
+ # careful not to overquote the AC_SUBSTed values. We take copies of the
+ # variables and quote the copies for generation of the libtool script.
+ for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+ SED SHELL STRIP \
+ libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+ old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+ deplibs_check_method reload_flag reload_cmds need_locks \
+ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+ old_postinstall_cmds old_postuninstall_cmds \
+ compiler_GCJ \
+ CC_GCJ \
+ LD_GCJ \
+ lt_prog_compiler_wl_GCJ \
+ lt_prog_compiler_pic_GCJ \
+ lt_prog_compiler_static_GCJ \
+ lt_prog_compiler_no_builtin_flag_GCJ \
+ export_dynamic_flag_spec_GCJ \
+ thread_safe_flag_spec_GCJ \
+ whole_archive_flag_spec_GCJ \
+ enable_shared_with_static_runtimes_GCJ \
+ old_archive_cmds_GCJ \
+ old_archive_from_new_cmds_GCJ \
+ predep_objects_GCJ \
+ postdep_objects_GCJ \
+ predeps_GCJ \
+ postdeps_GCJ \
+ compiler_lib_search_path_GCJ \
+ archive_cmds_GCJ \
+ archive_expsym_cmds_GCJ \
+ postinstall_cmds_GCJ \
+ postuninstall_cmds_GCJ \
+ old_archive_from_expsyms_cmds_GCJ \
+ allow_undefined_flag_GCJ \
+ no_undefined_flag_GCJ \
+ export_symbols_cmds_GCJ \
+ hardcode_libdir_flag_spec_GCJ \
+ hardcode_libdir_flag_spec_ld_GCJ \
+ hardcode_libdir_separator_GCJ \
+ hardcode_automatic_GCJ \
+ module_cmds_GCJ \
+ module_expsym_cmds_GCJ \
+ lt_cv_prog_compiler_c_o_GCJ \
+ exclude_expsyms_GCJ \
+ include_expsyms_GCJ; do
+
+ case $var in
+ old_archive_cmds_GCJ | \
+ old_archive_from_new_cmds_GCJ | \
+ archive_cmds_GCJ | \
+ archive_expsym_cmds_GCJ | \
+ module_cmds_GCJ | \
+ module_expsym_cmds_GCJ | \
+ old_archive_from_expsyms_cmds_GCJ | \
+ export_symbols_cmds_GCJ | \
+ extract_expsyms_cmds | reload_cmds | finish_cmds | \
+ postinstall_cmds | postuninstall_cmds | \
+ old_postinstall_cmds | old_postuninstall_cmds | \
+ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+ # Double-quote double-evaled strings.
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+ ;;
+ *)
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+ ;;
+ esac
+ done
+
+ case $lt_echo in
+ *'\$0 --fallback-echo"')
+ lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+ ;;
+ esac
+
+cfgfile="$ofile"
+
+ cat <<__EOF__ >> "$cfgfile"
+# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_GCJ
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_compiler_GCJ
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC_GCJ
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD_GCJ
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_GCJ
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_GCJ
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_GCJ
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds_GCJ
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds_GCJ
+archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds_GCJ
+module_expsym_cmds=$lt_module_expsym_cmds_GCJ
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects_GCJ
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects_GCJ
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps_GCJ
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps_GCJ
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_GCJ
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_GCJ
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_GCJ
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct_GCJ
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L_GCJ
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic_GCJ
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_GCJ
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path_GCJ"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols_GCJ
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_GCJ
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_GCJ
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_GCJ
+
+# ### END LIBTOOL TAG CONFIG: $tagname
+
+__EOF__
+
+
+else
+ # If there is no Makefile yet, we rely on a make rule to execute
+ # `config.status --recheck' to rerun these tests and create the
+ # libtool script then.
+ ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+ if test -f "$ltmain_in"; then
+ test -f Makefile && make "$ltmain"
+ fi
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC="$lt_save_CC"
+
+ else
+ tagname=""
+ fi
+ ;;
+
+ RC)
+
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+objext_RC=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${RC-"windres"}
+compiler=$CC
+compiler_RC=$CC
+for cc_temp in $compiler""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+lt_cv_prog_compiler_c_o_RC=yes
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+ # See if we are running on zsh, and set the options which allow our commands through
+ # without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+ # Now quote all the things that may contain metacharacters while being
+ # careful not to overquote the AC_SUBSTed values. We take copies of the
+ # variables and quote the copies for generation of the libtool script.
+ for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+ SED SHELL STRIP \
+ libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+ old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+ deplibs_check_method reload_flag reload_cmds need_locks \
+ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+ old_postinstall_cmds old_postuninstall_cmds \
+ compiler_RC \
+ CC_RC \
+ LD_RC \
+ lt_prog_compiler_wl_RC \
+ lt_prog_compiler_pic_RC \
+ lt_prog_compiler_static_RC \
+ lt_prog_compiler_no_builtin_flag_RC \
+ export_dynamic_flag_spec_RC \
+ thread_safe_flag_spec_RC \
+ whole_archive_flag_spec_RC \
+ enable_shared_with_static_runtimes_RC \
+ old_archive_cmds_RC \
+ old_archive_from_new_cmds_RC \
+ predep_objects_RC \
+ postdep_objects_RC \
+ predeps_RC \
+ postdeps_RC \
+ compiler_lib_search_path_RC \
+ archive_cmds_RC \
+ archive_expsym_cmds_RC \
+ postinstall_cmds_RC \
+ postuninstall_cmds_RC \
+ old_archive_from_expsyms_cmds_RC \
+ allow_undefined_flag_RC \
+ no_undefined_flag_RC \
+ export_symbols_cmds_RC \
+ hardcode_libdir_flag_spec_RC \
+ hardcode_libdir_flag_spec_ld_RC \
+ hardcode_libdir_separator_RC \
+ hardcode_automatic_RC \
+ module_cmds_RC \
+ module_expsym_cmds_RC \
+ lt_cv_prog_compiler_c_o_RC \
+ exclude_expsyms_RC \
+ include_expsyms_RC; do
+
+ case $var in
+ old_archive_cmds_RC | \
+ old_archive_from_new_cmds_RC | \
+ archive_cmds_RC | \
+ archive_expsym_cmds_RC | \
+ module_cmds_RC | \
+ module_expsym_cmds_RC | \
+ old_archive_from_expsyms_cmds_RC | \
+ export_symbols_cmds_RC | \
+ extract_expsyms_cmds | reload_cmds | finish_cmds | \
+ postinstall_cmds | postuninstall_cmds | \
+ old_postinstall_cmds | old_postuninstall_cmds | \
+ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+ # Double-quote double-evaled strings.
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+ ;;
+ *)
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+ ;;
+ esac
+ done
+
+ case $lt_echo in
+ *'\$0 --fallback-echo"')
+ lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+ ;;
+ esac
+
+cfgfile="$ofile"
+
+ cat <<__EOF__ >> "$cfgfile"
+# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_RC
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_compiler_RC
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC_RC
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD_RC
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_RC
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_RC
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_RC
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds_RC
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds_RC
+archive_expsym_cmds=$lt_archive_expsym_cmds_RC
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds_RC
+module_expsym_cmds=$lt_module_expsym_cmds_RC
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects_RC
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects_RC
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps_RC
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps_RC
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_RC
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_RC
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_RC
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_RC
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct_RC
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L_RC
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_RC
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic_RC
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_RC
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path_RC"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols_RC
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_RC
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_RC
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_RC
+
+# ### END LIBTOOL TAG CONFIG: $tagname
+
+__EOF__
+
+
+else
+ # If there is no Makefile yet, we rely on a make rule to execute
+ # `config.status --recheck' to rerun these tests and create the
+ # libtool script then.
+ ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+ if test -f "$ltmain_in"; then
+ test -f Makefile && make "$ltmain"
+ fi
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC="$lt_save_CC"
+
+ ;;
+
+ *)
+ { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5
+echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+
+ # Append the new tag name to the list of available tags.
+ if test -n "$tagname" ; then
+ available_tags="$available_tags $tagname"
+ fi
+ fi
+ done
+ IFS="$lt_save_ifs"
+
+ # Now substitute the updated list of available tags.
+ if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
+ mv "${ofile}T" "$ofile"
+ chmod +x "$ofile"
+ else
+ rm -f "${ofile}T"
+ { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5
+echo "$as_me: error: unable to update list of available tagged configurations." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+fi
+
+
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+# Prevent multiple expansion
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+for ac_prog in gm4 m4
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_M4+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$M4"; then
+ ac_cv_prog_M4="$M4" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_M4="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+M4=$ac_cv_prog_M4
+if test -n "$M4"; then
+ { echo "$as_me:$LINENO: result: $M4" >&5
+echo "${ECHO_T}$M4" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$M4" && break
+done
+test -n "$M4" || M4="m4"
+
+
+if test "$M4" = "m4"; then
+ { echo "$as_me:$LINENO: checking whether m4 is GNU m4" >&5
+echo $ECHO_N "checking whether m4 is GNU m4... $ECHO_C" >&6; }
+ if $M4 --version </dev/null 2>/dev/null | grep '^GNU Mm4 ' >/dev/null ; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ if test "$host_vendor" = "sun"; then
+ { { echo "$as_me:$LINENO: error: SUN m4 does not work for building gtkmm.
+Please install GNU m4." >&5
+echo "$as_me: error: SUN m4 does not work for building gtkmm.
+Please install GNU m4." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ fi
+fi
+
+
+
+{ echo "$as_me:$LINENO: checking whether make is GNU Make" >&5
+echo $ECHO_N "checking whether make is GNU Make... $ECHO_C" >&6; }
+if $ac_make --version 2>/dev/null | grep '^GNU Make ' >/dev/null ; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ if test "$host_vendor" = "sun" ; then
+ { { echo "$as_me:$LINENO: error: SUN make does not work for building gtkmm.
+Please install GNU make." >&5
+echo "$as_me: error: SUN make does not work for building gtkmm.
+Please install GNU make." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+fi
+
+
+# This macro is installed by glibmm
+# Doxygen needs the path to the installed perl.
+
+ glibmm_perl_result=no
+
+ for ac_prog in perl perl5
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_PERL_PATH+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case $PERL_PATH in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PERL_PATH="$PERL_PATH" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PERL_PATH="$as_dir/$ac_word$ac_exec_ext"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PERL_PATH=$ac_cv_path_PERL_PATH
+if test -n "$PERL_PATH"; then
+ { echo "$as_me:$LINENO: result: $PERL_PATH" >&5
+echo "${ECHO_T}$PERL_PATH" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$PERL_PATH" && break
+done
+test -n "$PERL_PATH" || PERL_PATH="not found"
+
+
+ if test "x$PERL_PATH" != "xnot found"; then
+ {
+ { echo "$as_me:$LINENO: checking whether Perl is new enough" >&5
+echo $ECHO_N "checking whether Perl is new enough... $ECHO_C" >&6; }
+if test "${glibmm_cv_perl_version_5_6_0+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ glibmm_cv_perl_version_5_6_0=no
+ "$PERL_PATH" -e "require v5.6.0; exit 0;" >/dev/null 2>&1 && glibmm_cv_perl_version_5_6_0=yes
+
+fi
+{ echo "$as_me:$LINENO: result: $glibmm_cv_perl_version_5_6_0" >&5
+echo "${ECHO_T}$glibmm_cv_perl_version_5_6_0" >&6; }
+ test "x${glibmm_cv_perl_version_5_6_0}" = xyes && glibmm_perl_result=yes
+ }
+ else
+ {
+ # Make sure we have something sensible, even if it doesn't work.
+ PERL_PATH=perl
+ }
+ fi
+
+ if test "x$glibmm_perl_result" = xno && test "x$USE_MAINTAINER_MODE" = xyes; then
+ {
+ { { echo "$as_me:$LINENO: error:
+*** Perl >= 5.6.0 is required for building $PACKAGE in maintainer-mode.
+" >&5
+echo "$as_me: error:
+*** Perl >= 5.6.0 is required for building $PACKAGE in maintainer-mode.
+" >&2;}
+ { (exit 1); exit 1; }; }
+ }
+ fi
+
+
+
+
+#########################################################################
+# Function checks
+#########################################################################
+
+{ echo "$as_me:$LINENO: checking for mkfifo" >&5
+echo $ECHO_N "checking for mkfifo... $ECHO_C" >&6; }
+if test "${ac_cv_func_mkfifo+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define mkfifo to an innocuous variant, in case <limits.h> declares mkfifo.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define mkfifo innocuous_mkfifo
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char mkfifo (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef mkfifo
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char mkfifo ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_mkfifo || defined __stub___mkfifo
+choke me
+#endif
+
+int
+main ()
+{
+return mkfifo ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_func_mkfifo=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_mkfifo=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_func_mkfifo" >&5
+echo "${ECHO_T}$ac_cv_func_mkfifo" >&6; }
+if test $ac_cv_func_mkfifo = yes; then
+ cat >>confdefs.h <<\_ACEOF
+#define HAVE_MKFIFO 1
+_ACEOF
+
+fi
+
+
+# functions used in demos/gtk-demo. Undefined in config.h.
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+{ echo "$as_me:$LINENO: checking for flockfile" >&5
+echo $ECHO_N "checking for flockfile... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <stdio.h>
+int
+main ()
+{
+
+flockfile (NULL);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_FLOCKFILE 1
+_ACEOF
+
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ { echo "$as_me:$LINENO: checking for flockfile with a custom prototype" >&5
+echo $ECHO_N "checking for flockfile with a custom prototype... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <stdio.h>
+
+extern "C" void flockfile (FILE *);
+int
+main ()
+{
+
+flockfile (NULL);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_FLOCKFILE 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define NEED_FLOCKFILE_PROTO 1
+_ACEOF
+
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+ { echo "$as_me:$LINENO: result: not available" >&5
+echo "${ECHO_T}not available" >&6; }
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+
+{ echo "$as_me:$LINENO: checking for funlockfile" >&5
+echo $ECHO_N "checking for funlockfile... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <stdio.h>
+int
+main ()
+{
+
+funlockfile (NULL);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_FUNLOCKFILE 1
+_ACEOF
+
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ { echo "$as_me:$LINENO: checking for funlockfile with a custom prototype" >&5
+echo $ECHO_N "checking for funlockfile with a custom prototype... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <stdio.h>
+
+extern "C" void funlockfile (FILE *);
+int
+main ()
+{
+
+funlockfile (NULL);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_FUNLOCKFILE 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define NEED_FUNLOCKFILE_PROTO 1
+_ACEOF
+
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+ { echo "$as_me:$LINENO: result: not available" >&5
+echo "${ECHO_T}not available" >&6; }
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+
+{ echo "$as_me:$LINENO: checking for getc_unlocked" >&5
+echo $ECHO_N "checking for getc_unlocked... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <stdio.h>
+int
+main ()
+{
+
+getc_unlocked (NULL);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_GETC_UNLOCKED 1
+_ACEOF
+
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ { echo "$as_me:$LINENO: checking for getc_unlocked with a custom prototype" >&5
+echo $ECHO_N "checking for getc_unlocked with a custom prototype... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <stdio.h>
+
+extern "C" int getc_unlocked (FILE *);
+int
+main ()
+{
+
+getc_unlocked (NULL);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_GETC_UNLOCKED 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define NEED_GETC_UNLOCKED_PROTO 1
+_ACEOF
+
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+ { echo "$as_me:$LINENO: result: not available" >&5
+echo "${ECHO_T}not available" >&6; }
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+#########################################################################
+# Dependancy checks
+#########################################################################
+gtkmm_min_glibmm_version=2.14.1
+gtkmm_min_gtk_version=2.12.0
+gtkmm_min_cairomm_version=1.1.12
+
+
+GLIBMM_LIBDIR=`pkg-config --variable=libdir glibmm-2.4`
+GMMPROC_DIR=$GLIBMM_LIBDIR/glibmm-2.4/proc
+
+GMMPROC=$GMMPROC_DIR/gmmproc
+
+
+
+
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case $PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+ { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+echo "${ECHO_T}$PKG_CONFIG" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+ ac_pt_PKG_CONFIG=$PKG_CONFIG
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case $ac_pt_PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+ { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
+echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$ac_pt_PKG_CONFIG" = x; then
+ PKG_CONFIG=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ PKG_CONFIG=$ac_pt_PKG_CONFIG
+ fi
+else
+ PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
+
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=0.9.0
+ { echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
+echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; }
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ PKG_CONFIG=""
+ fi
+
+fi
+
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for ATKMM" >&5
+echo $ECHO_N "checking for ATKMM... $ECHO_C" >&6; }
+
+if test -n "$PKG_CONFIG"; then
+ if test -n "$ATKMM_CFLAGS"; then
+ pkg_cv_ATKMM_CFLAGS="$ATKMM_CFLAGS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glibmm-2.4 >= \${gtkmm_min_glibmm_version} atk >= 1.9.0\"") >&5
+ ($PKG_CONFIG --exists --print-errors "glibmm-2.4 >= ${gtkmm_min_glibmm_version} atk >= 1.9.0") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_ATKMM_CFLAGS=`$PKG_CONFIG --cflags "glibmm-2.4 >= ${gtkmm_min_glibmm_version} atk >= 1.9.0" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+ if test -n "$ATKMM_LIBS"; then
+ pkg_cv_ATKMM_LIBS="$ATKMM_LIBS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glibmm-2.4 >= \${gtkmm_min_glibmm_version} atk >= 1.9.0\"") >&5
+ ($PKG_CONFIG --exists --print-errors "glibmm-2.4 >= ${gtkmm_min_glibmm_version} atk >= 1.9.0") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_ATKMM_LIBS=`$PKG_CONFIG --libs "glibmm-2.4 >= ${gtkmm_min_glibmm_version} atk >= 1.9.0" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ ATKMM_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "glibmm-2.4 >= ${gtkmm_min_glibmm_version} atk >= 1.9.0"`
+ else
+ ATKMM_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glibmm-2.4 >= ${gtkmm_min_glibmm_version} atk >= 1.9.0"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$ATKMM_PKG_ERRORS" >&5
+
+ { { echo "$as_me:$LINENO: error: Package requirements (glibmm-2.4 >= ${gtkmm_min_glibmm_version} atk >= 1.9.0) were not met:
+
+$ATKMM_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables ATKMM_CFLAGS
+and ATKMM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&5
+echo "$as_me: error: Package requirements (glibmm-2.4 >= ${gtkmm_min_glibmm_version} atk >= 1.9.0) were not met:
+
+$ATKMM_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables ATKMM_CFLAGS
+and ATKMM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&2;}
+ { (exit 1); exit 1; }; }
+elif test $pkg_failed = untried; then
+ { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables ATKMM_CFLAGS
+and ATKMM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
+See \`config.log' for more details." >&5
+echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables ATKMM_CFLAGS
+and ATKMM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+else
+ ATKMM_CFLAGS=$pkg_cv_ATKMM_CFLAGS
+ ATKMM_LIBS=$pkg_cv_ATKMM_LIBS
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ :
+fi
+
+
+
+
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for PANGOMM" >&5
+echo $ECHO_N "checking for PANGOMM... $ECHO_C" >&6; }
+
+if test -n "$PKG_CONFIG"; then
+ if test -n "$PANGOMM_CFLAGS"; then
+ pkg_cv_PANGOMM_CFLAGS="$PANGOMM_CFLAGS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glibmm-2.4 >= \${gtkmm_min_glibmm_version} cairomm-1.0 >= \${gtkmm_min_cairomm_version} pangocairo >= 1.5.2\"") >&5
+ ($PKG_CONFIG --exists --print-errors "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} pangocairo >= 1.5.2") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_PANGOMM_CFLAGS=`$PKG_CONFIG --cflags "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} pangocairo >= 1.5.2" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+ if test -n "$PANGOMM_LIBS"; then
+ pkg_cv_PANGOMM_LIBS="$PANGOMM_LIBS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glibmm-2.4 >= \${gtkmm_min_glibmm_version} cairomm-1.0 >= \${gtkmm_min_cairomm_version} pangocairo >= 1.5.2\"") >&5
+ ($PKG_CONFIG --exists --print-errors "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} pangocairo >= 1.5.2") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_PANGOMM_LIBS=`$PKG_CONFIG --libs "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} pangocairo >= 1.5.2" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ PANGOMM_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} pangocairo >= 1.5.2"`
+ else
+ PANGOMM_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} pangocairo >= 1.5.2"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$PANGOMM_PKG_ERRORS" >&5
+
+ { { echo "$as_me:$LINENO: error: Package requirements (glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} pangocairo >= 1.5.2) were not met:
+
+$PANGOMM_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables PANGOMM_CFLAGS
+and PANGOMM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&5
+echo "$as_me: error: Package requirements (glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} pangocairo >= 1.5.2) were not met:
+
+$PANGOMM_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables PANGOMM_CFLAGS
+and PANGOMM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&2;}
+ { (exit 1); exit 1; }; }
+elif test $pkg_failed = untried; then
+ { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables PANGOMM_CFLAGS
+and PANGOMM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
+See \`config.log' for more details." >&5
+echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables PANGOMM_CFLAGS
+and PANGOMM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+else
+ PANGOMM_CFLAGS=$pkg_cv_PANGOMM_CFLAGS
+ PANGOMM_LIBS=$pkg_cv_PANGOMM_LIBS
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ :
+fi
+
+
+
+# gdkmm really does need GTK+, because part of Gdk::DragContext is in GTK+.
+
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for GDKMM" >&5
+echo $ECHO_N "checking for GDKMM... $ECHO_C" >&6; }
+
+if test -n "$PKG_CONFIG"; then
+ if test -n "$GDKMM_CFLAGS"; then
+ pkg_cv_GDKMM_CFLAGS="$GDKMM_CFLAGS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glibmm-2.4 >= \${gtkmm_min_glibmm_version} cairomm-1.0 >= \${gtkmm_min_cairomm_version} gtk+-2.0 >= \${gtkmm_min_gtk_version}\"") >&5
+ ($PKG_CONFIG --exists --print-errors "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version}") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_GDKMM_CFLAGS=`$PKG_CONFIG --cflags "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version}" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+ if test -n "$GDKMM_LIBS"; then
+ pkg_cv_GDKMM_LIBS="$GDKMM_LIBS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glibmm-2.4 >= \${gtkmm_min_glibmm_version} cairomm-1.0 >= \${gtkmm_min_cairomm_version} gtk+-2.0 >= \${gtkmm_min_gtk_version}\"") >&5
+ ($PKG_CONFIG --exists --print-errors "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version}") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_GDKMM_LIBS=`$PKG_CONFIG --libs "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version}" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ GDKMM_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version}"`
+ else
+ GDKMM_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version}"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$GDKMM_PKG_ERRORS" >&5
+
+ { { echo "$as_me:$LINENO: error: Package requirements (glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version}) were not met:
+
+$GDKMM_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables GDKMM_CFLAGS
+and GDKMM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&5
+echo "$as_me: error: Package requirements (glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version}) were not met:
+
+$GDKMM_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables GDKMM_CFLAGS
+and GDKMM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&2;}
+ { (exit 1); exit 1; }; }
+elif test $pkg_failed = untried; then
+ { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables GDKMM_CFLAGS
+and GDKMM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
+See \`config.log' for more details." >&5
+echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables GDKMM_CFLAGS
+and GDKMM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+else
+ GDKMM_CFLAGS=$pkg_cv_GDKMM_CFLAGS
+ GDKMM_LIBS=$pkg_cv_GDKMM_LIBS
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ :
+fi
+
+
+
+# Only check for gtk+-unix-print-2.0 on non-win32 platform, as
+# gtk+-unix-print-2.0.pc is not always included in win32 installers.
+if test x"$os_win32" = xyes; then
+
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for GTKMM" >&5
+echo $ECHO_N "checking for GTKMM... $ECHO_C" >&6; }
+
+if test -n "$PKG_CONFIG"; then
+ if test -n "$GTKMM_CFLAGS"; then
+ pkg_cv_GTKMM_CFLAGS="$GTKMM_CFLAGS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glibmm-2.4 >= \${gtkmm_min_glibmm_version} cairomm-1.0 >= \${gtkmm_min_cairomm_version} gtk+-2.0 >= \${gtkmm_min_gtk_version}\"") >&5
+ ($PKG_CONFIG --exists --print-errors "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version}") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_GTKMM_CFLAGS=`$PKG_CONFIG --cflags "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version}" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+ if test -n "$GTKMM_LIBS"; then
+ pkg_cv_GTKMM_LIBS="$GTKMM_LIBS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glibmm-2.4 >= \${gtkmm_min_glibmm_version} cairomm-1.0 >= \${gtkmm_min_cairomm_version} gtk+-2.0 >= \${gtkmm_min_gtk_version}\"") >&5
+ ($PKG_CONFIG --exists --print-errors "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version}") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_GTKMM_LIBS=`$PKG_CONFIG --libs "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version}" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ GTKMM_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version}"`
+ else
+ GTKMM_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version}"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$GTKMM_PKG_ERRORS" >&5
+
+ { { echo "$as_me:$LINENO: error: Package requirements (glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version}) were not met:
+
+$GTKMM_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables GTKMM_CFLAGS
+and GTKMM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&5
+echo "$as_me: error: Package requirements (glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version}) were not met:
+
+$GTKMM_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables GTKMM_CFLAGS
+and GTKMM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&2;}
+ { (exit 1); exit 1; }; }
+elif test $pkg_failed = untried; then
+ { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables GTKMM_CFLAGS
+and GTKMM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
+See \`config.log' for more details." >&5
+echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables GTKMM_CFLAGS
+and GTKMM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+else
+ GTKMM_CFLAGS=$pkg_cv_GTKMM_CFLAGS
+ GTKMM_LIBS=$pkg_cv_GTKMM_LIBS
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ :
+fi
+else
+
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for GTKMM" >&5
+echo $ECHO_N "checking for GTKMM... $ECHO_C" >&6; }
+
+if test -n "$PKG_CONFIG"; then
+ if test -n "$GTKMM_CFLAGS"; then
+ pkg_cv_GTKMM_CFLAGS="$GTKMM_CFLAGS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glibmm-2.4 >= \${gtkmm_min_glibmm_version} cairomm-1.0 >= \${gtkmm_min_cairomm_version} gtk+-2.0 >= \${gtkmm_min_gtk_version} gtk+-unix-print-2.0 >= \${gtkmm_min_gtk_version}\"") >&5
+ ($PKG_CONFIG --exists --print-errors "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version} gtk+-unix-print-2.0 >= ${gtkmm_min_gtk_version}") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_GTKMM_CFLAGS=`$PKG_CONFIG --cflags "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version} gtk+-unix-print-2.0 >= ${gtkmm_min_gtk_version}" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+ if test -n "$GTKMM_LIBS"; then
+ pkg_cv_GTKMM_LIBS="$GTKMM_LIBS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glibmm-2.4 >= \${gtkmm_min_glibmm_version} cairomm-1.0 >= \${gtkmm_min_cairomm_version} gtk+-2.0 >= \${gtkmm_min_gtk_version} gtk+-unix-print-2.0 >= \${gtkmm_min_gtk_version}\"") >&5
+ ($PKG_CONFIG --exists --print-errors "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version} gtk+-unix-print-2.0 >= ${gtkmm_min_gtk_version}") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_GTKMM_LIBS=`$PKG_CONFIG --libs "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version} gtk+-unix-print-2.0 >= ${gtkmm_min_gtk_version}" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ GTKMM_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version} gtk+-unix-print-2.0 >= ${gtkmm_min_gtk_version}"`
+ else
+ GTKMM_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version} gtk+-unix-print-2.0 >= ${gtkmm_min_gtk_version}"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$GTKMM_PKG_ERRORS" >&5
+
+ { { echo "$as_me:$LINENO: error: Package requirements (glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version} gtk+-unix-print-2.0 >= ${gtkmm_min_gtk_version}) were not met:
+
+$GTKMM_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables GTKMM_CFLAGS
+and GTKMM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&5
+echo "$as_me: error: Package requirements (glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version} gtk+-unix-print-2.0 >= ${gtkmm_min_gtk_version}) were not met:
+
+$GTKMM_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables GTKMM_CFLAGS
+and GTKMM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&2;}
+ { (exit 1); exit 1; }; }
+elif test $pkg_failed = untried; then
+ { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables GTKMM_CFLAGS
+and GTKMM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
+See \`config.log' for more details." >&5
+echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables GTKMM_CFLAGS
+and GTKMM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+else
+ GTKMM_CFLAGS=$pkg_cv_GTKMM_CFLAGS
+ GTKMM_LIBS=$pkg_cv_GTKMM_LIBS
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ :
+fi
+fi
+
+
+
+# gthread isn't a requirement, but we should use its CFLAGS if available.
+
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for GTHREAD" >&5
+echo $ECHO_N "checking for GTHREAD... $ECHO_C" >&6; }
+
+if test -n "$PKG_CONFIG"; then
+ if test -n "$GTHREAD_CFLAGS"; then
+ pkg_cv_GTHREAD_CFLAGS="$GTHREAD_CFLAGS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gthread-2.0 >= 2.4.0\"") >&5
+ ($PKG_CONFIG --exists --print-errors "gthread-2.0 >= 2.4.0") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_GTHREAD_CFLAGS=`$PKG_CONFIG --cflags "gthread-2.0 >= 2.4.0" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+ if test -n "$GTHREAD_LIBS"; then
+ pkg_cv_GTHREAD_LIBS="$GTHREAD_LIBS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gthread-2.0 >= 2.4.0\"") >&5
+ ($PKG_CONFIG --exists --print-errors "gthread-2.0 >= 2.4.0") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_GTHREAD_LIBS=`$PKG_CONFIG --libs "gthread-2.0 >= 2.4.0" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ GTHREAD_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gthread-2.0 >= 2.4.0"`
+ else
+ GTHREAD_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gthread-2.0 >= 2.4.0"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$GTHREAD_PKG_ERRORS" >&5
+
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ GTHREAD_CFLAGS=''; GTHREAD_LIBS=''
+elif test $pkg_failed = untried; then
+ GTHREAD_CFLAGS=''; GTHREAD_LIBS=''
+else
+ GTHREAD_CFLAGS=$pkg_cv_GTHREAD_CFLAGS
+ GTHREAD_LIBS=$pkg_cv_GTHREAD_LIBS
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ :
+fi
+
+
+
+#########################################################################
+# C++ checks
+#########################################################################
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+ if test -n "$CCC"; then
+ CXX=$CCC
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CXX+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CXX"; then
+ ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+ { echo "$as_me:$LINENO: result: $CXX" >&5
+echo "${ECHO_T}$CXX" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$CXX" && break
+ done
+fi
+if test -z "$CXX"; then
+ ac_ct_CXX=$CXX
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_CXX"; then
+ ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CXX="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+echo "${ECHO_T}$ac_ct_CXX" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CXX" && break
+done
+
+ if test "x$ac_ct_CXX" = x; then
+ CXX="g++"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CXX=$ac_ct_CXX
+ fi
+fi
+
+ fi
+fi
+# Provide some information about the compiler.
+echo "$as_me:$LINENO: checking for C++ compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_compiler_gnu=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_compiler_gnu=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
+GXX=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cxx_g+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+ ac_cxx_werror_flag=yes
+ ac_cv_prog_cxx_g=no
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cxx_g=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ CXXFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cxx_g=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+ if test "$GXX" = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-g"
+ fi
+else
+ if test "$GXX" = yes; then
+ CXXFLAGS="-O2"
+ else
+ CXXFLAGS=
+ fi
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+depcc="$CXX" am_compiler_list=
+
+{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CXX_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CXX_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CXX_dependencies_compiler_type=none
+fi
+
+fi
+{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; }
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+ am__fastdepCXX_TRUE=
+ am__fastdepCXX_FALSE='#'
+else
+ am__fastdepCXX_TRUE='#'
+ am__fastdepCXX_FALSE=
+fi
+
+
+
+# Check for the SUN Forte compiler, and define GLIBMM_COMPILER_SUN_FORTE in the header.
+#GLIBMM_PROG_CXX_SUN
+
+# Ensure MSVC-compatible struct packing convention is used when
+# compiling for Win32 with gcc.
+# What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
+# gcc2 uses "-fnative-struct".
+if test x"$os_win32" = xyes; then
+ if test x"$GCC" = xyes -a x"$GXX" = xyes; then
+ msnative_struct=''
+ { echo "$as_me:$LINENO: checking how to get MSVC-compatible struct packing" >&5
+echo $ECHO_N "checking how to get MSVC-compatible struct packing... $ECHO_C" >&6; }
+ if test -z "$ac_cv_prog_CC"; then
+ our_gcc="$CC"
+ else
+ our_gcc="$ac_cv_prog_CC"
+ fi
+ case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
+ 2.)
+ if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
+ msnative_struct='-fnative-struct'
+ fi
+ ;;
+ *)
+ if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
+ msnative_struct='-mms-bitfields'
+ fi
+ ;;
+ esac
+ if test x"$msnative_struct" = x ; then
+ { echo "$as_me:$LINENO: result: no way" >&5
+echo "${ECHO_T}no way" >&6; }
+ { echo "$as_me:$LINENO: WARNING: produced libraries might be incompatible with MSVC-compiled code" >&5
+echo "$as_me: WARNING: produced libraries might be incompatible with MSVC-compiled code" >&2;}
+ else
+ CXXFLAGS="$CXXFLAGS $msnative_struct"
+ { echo "$as_me:$LINENO: result: ${msnative_struct}" >&5
+echo "${ECHO_T}${msnative_struct}" >&6; }
+ fi
+ fi
+fi
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+
+# Create a list of input directories for Doxygen.
+
+GTKMM_DOXYGEN_INPUT=
+gtkmm_srcdir=`cd "$srcdir" >/dev/null && pwd`
+
+gtkmm_list="pango atk gdk gtk"
+for gtkmm_sublib in $gtkmm_list
+do
+ GTKMM_DOXYGEN_INPUT="$GTKMM_DOXYGEN_INPUT ${gtkmm_srcdir}/${gtkmm_sublib}/${gtkmm_sublib}mm/"
+done
+
+
+
+
+# Evaluate the --enable-warnings=level option.
+
+ # Check whether --enable-warnings was given.
+if test "${enable_warnings+set}" = set; then
+ enableval=$enable_warnings; gtkmm_enable_warnings="$enableval"
+else
+ gtkmm_enable_warnings='minimum'
+fi
+
+
+ { echo "$as_me:$LINENO: checking for compiler warning flags to use" >&5
+echo $ECHO_N "checking for compiler warning flags to use... $ECHO_C" >&6; }
+
+ gtkmm_warning_flags=''
+
+ case "$gtkmm_enable_warnings" in
+ minimum|yes) gtkmm_warning_flags='-Wall';;
+ maximum) gtkmm_warning_flags='-pedantic -W -Wall';;
+ hardcore) gtkmm_warning_flags='-pedantic -W -Wall -Werror';;
+ esac
+
+ gtkmm_use_flags=''
+
+ if test "x$gtkmm_warning_flags" != "x"
+ then
+ echo 'int foo() { return 0; }' > conftest.cc
+
+ for flag in $gtkmm_warning_flags
+ do
+ # Test whether the compiler accepts the flag. GCC doesn't bail
+ # out when given an unsupported flag but prints a warning, so
+ # check the compiler output instead.
+ gtkmm_cxx_out="`$CXX $flag -c conftest.cc 2>&1`"
+ rm -f conftest.$OBJEXT
+ test "x${gtkmm_cxx_out}" = "x" && \
+ gtkmm_use_flags="${gtkmm_use_flags:+$gtkmm_use_flags }$flag"
+ done
+
+ rm -f conftest.cc
+ gtkmm_cxx_out=''
+ fi
+
+ if test "x$gtkmm_use_flags" != "x"
+ then
+ for flag in $gtkmm_use_flags
+ do
+ case " $CXXFLAGS " in
+ *" $flag "*) ;; # don't add flags twice
+ *) CXXFLAGS="${CXXFLAGS:+$CXXFLAGS }$flag";;
+ esac
+ done
+ else
+ gtkmm_use_flags='none'
+ fi
+
+ { echo "$as_me:$LINENO: result: $gtkmm_use_flags" >&5
+echo "${ECHO_T}$gtkmm_use_flags" >&6; }
+
+
+# Add an --enable-use-deprecations configure option:
+# Check whether --enable-deprecations was given.
+if test "${enable_deprecations+set}" = set; then
+ enableval=$enable_deprecations;
+else
+ enable_deprecations=no
+fi
+
+
+if test "x$enable_use_deprecations" = "xyes"; then
+ DISABLE_DEPRECATED_CFLAGS="\
+-DG_DISABLE_DEPRECATED \
+-DGDK_DISABLE_DEPRECATED \
+-DGTK_DISABLE_DEPRECATED \
+-DGDK_PIXBUF_DISABLE_DEPRECATED \
+-DGNOME_DISABLE_DEPRECATED"
+
+fi
+
+# Add an --enable-deprecated-api option:
+# Check whether --enable-deprecated-api was given.
+if test "${enable_deprecated_api+set}" = set; then
+ enableval=$enable_deprecated_api;
+else
+ enable_deprecated_api=yes
+fi
+
+if test "x$enable_deprecated_api" = "xyes"; then
+{ echo "$as_me:$LINENO: WARNING: Deprecated API will be built, for backwards-compatibility." >&5
+echo "$as_me: WARNING: Deprecated API will be built, for backwards-compatibility." >&2;}
+else
+
+cat >>confdefs.h <<\_ACEOF
+#define PANGOMM_DISABLE_DEPRECATED 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define ATKMM_DISABLE_DEPRECATED 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define GDKMM_DISABLE_DEPRECATED 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define GTKMM_DISABLE_DEPRECATED 1
+_ACEOF
+
+ DISABLE_DEPRECATED_API_CFLAGS="-DPANGOMM_DISABLE_DEPRECATED -DATKMM_DISABLE_DEPRECATED -DGDKMM_DISABLE_DEPRECATED -DGTKMM_DISABLE_DEPRECATED"
+
+{ echo "$as_me:$LINENO: WARNING: Deprecated API will not be built, breaking backwards-compatibility. Do not use this build for distribution packages." >&5
+echo "$as_me: WARNING: Deprecated API will not be built, breaking backwards-compatibility. Do not use this build for distribution packages." >&2;}
+fi
+
+
+# Check whether --enable-examples was given.
+if test "${enable_examples+set}" = set; then
+ enableval=$enable_examples;
+else
+ enable_examples=yes
+fi
+
+if test "x$enable_examples" = "xyes"; then
+ EXAMPLE_SUBDIR="examples"
+ ac_config_files="$ac_config_files examples/Makefile examples/arrow/Makefile examples/base/Makefile examples/book/Makefile examples/book/alignment/Makefile examples/book/aspectframe/Makefile examples/book/box/Makefile examples/book/builder/Makefile examples/book/builder/basic/Makefile examples/book/builder/derived/Makefile examples/book/buttonbox/Makefile examples/book/buttons/Makefile examples/book/buttons/button/Makefile examples/book/buttons/checkbutton/Makefile examples/book/buttons/filechooserbutton/Makefile examples/book/buttons/radiobutton/Makefile examples/book/buttons/togglebutton/Makefile examples/book/clipboard/Makefile examples/book/clipboard/simple/Makefile examples/book/clipboard/ideal/Makefile examples/book/combobox/Makefile examples/book/combobox/text/Makefile examples/book/combobox/complex/Makefile examples/book/comboboxentry/Makefile examples/book/comboboxentry/text/Makefile examples/book/comboboxentry/complex/Makefile examples/book/custom/Makefile examples/book/custom/custom_container/Makefile examples/book/custom/custom_widget/Makefile examples/book/dialogs/Makefile examples/book/dialogs/aboutdialog/Makefile examples/book/dialogs/colorselectiondialog/Makefile examples/book/dialogs/filechooserdialog/Makefile examples/book/dialogs/fileselection/Makefile examples/book/dialogs/fontselectiondialog/Makefile examples/book/dialogs/messagedialog/Makefile examples/book/dialogs/simple/Makefile examples/book/drag_and_drop/Makefile examples/book/drawingarea/Makefile examples/book/drawingarea/simple/Makefile examples/book/drawingarea/curve/Makefile examples/book/drawingarea/arcs/Makefile examples/book/drawingarea/clock/Makefile examples/book/drawingarea/joins/Makefile examples/book/entry/Makefile examples/book/entry/completion/Makefile examples/book/entry/simple/Makefile examples/book/eventbox/Makefile examples/book/expander/Makefile examples/book/frame/Makefile examples/book/helloworld/Makefile examples/book/helloworld2/Makefile examples/book/iconview/Makefile examples/book/idle/Makefile examples/book/input/Makefile examples/book/label/Makefile examples/book/menus/Makefile examples/book/menus/main_menu/Makefile examples/book/menus/popup/Makefile examples/book/menus_and_toolbars/Makefile examples/book/notebook/Makefile examples/book/paned/Makefile examples/book/printing/Makefile examples/book/printing/advanced/Makefile examples/book/printing/simple/Makefile examples/book/progressbar/Makefile examples/book/recent_files/Makefile examples/book/range_widgets/Makefile examples/book/scrolledwindow/Makefile examples/book/signals/Makefile examples/book/signals/custom/Makefile examples/book/socket/Makefile examples/book/spinbutton/Makefile examples/book/statusicon/Makefile examples/book/table/Makefile examples/book/textview/Makefile examples/book/timeout/Makefile examples/book/toolbar/Makefile examples/book/tooltips/Makefile examples/book/treeview/Makefile examples/book/treeview/combo_renderer/Makefile examples/book/treeview/editable_cells/Makefile examples/book/treeview/list/Makefile examples/book/treeview/listviewtext/Makefile examples/book/treeview/tree/Makefile examples/book/treeview/drag_and_drop/Makefile examples/book/treeview/popup/Makefile examples/book/treeview/filter/Makefile examples/book/treeview/filter_modify/Makefile examples/book/treeview/modelsort/Makefile examples/book/update_ui/Makefile examples/calendar/Makefile examples/dnd/Makefile examples/exception/Makefile examples/gdk/Makefile examples/rulers/Makefile examples/statusbar/Makefile examples/stock/Makefile examples/tictactoe/Makefile examples/treemodelcustom/Makefile examples/window/Makefile"
+
+else
+ EXAMPLE_SUBDIR=""
+fi
+
+
+
+
+# Check whether --enable-demos was given.
+if test "${enable_demos+set}" = set; then
+ enableval=$enable_demos;
+else
+ enable_demos=yes
+fi
+
+if test "x$enable_demos" = "xyes"; then
+ DEMO_SUBDIR="demos"
+ ac_config_files="$ac_config_files demos/Makefile demos/gtk-demo/Makefile"
+
+else
+ DEMO_SUBDIR=""
+fi
+
+
+
+
+#Offer the ability to omit some API from the library,
+#to reduce the code size:
+#Note that there are other options in glibmm, which affect gtkmm.
+
+ # Check whether --enable-api-atkmm was given.
+if test "${enable_api_atkmm+set}" = set; then
+ enableval=$enable_api_atkmm; gtkmm_enable_api_atkmm="$enableval"
+else
+ gtkmm_enable_api_atkmm='yes'
+fi
+
+
+ if test "x$gtkmm_enable_api_atkmm" = "xyes"; then
+ {
+
+cat >>confdefs.h <<\_ACEOF
+#define GTKMM_ATKMM_ENABLED 1
+_ACEOF
+
+ }
+ fi
+
+
+if test "x$gtkmm_enable_api_atkmm" = "xyes"; then
+ ac_config_files="$ac_config_files atk/Makefile atk/atkmm-1.6.pc atk/src/Makefile atk/atkmm/Makefile atk/atkmm/private/Makefile"
+
+ GTKMM_PC_ATKMM_DEP="atkmm-1.6"
+else
+ GTKMM_PC_ATKMM_DEP=""
+fi
+
+
+#Allow us to test for atkmm support in Makefile.am files:
+ if test "x$gtkmm_enable_api_atkmm" = "xyes"; then
+ GTKMM_ATKMM_ENABLED_TRUE=
+ GTKMM_ATKMM_ENABLED_FALSE='#'
+else
+ GTKMM_ATKMM_ENABLED_TRUE='#'
+ GTKMM_ATKMM_ENABLED_FALSE=
+fi
+
+
+
+
+ # Check whether --enable-api-maemo-extensions was given.
+if test "${enable_api_maemo_extensions+set}" = set; then
+ enableval=$enable_api_maemo_extensions; gtkmm_enable_api_maemo_extensions="$enableval"
+else
+ gtkmm_enable_api_maemo_extensions='no'
+fi
+
+
+ if test "x$gtkmm_enable_api_maemo_extensions" = "xyes"; then
+ {
+
+cat >>confdefs.h <<\_ACEOF
+#define GTKMM_MAEMO_EXTENSIONS_ENABLED 1
+_ACEOF
+
+ }
+ fi
+
+
+
+# Check whether --enable-docs was given.
+if test "${enable_docs+set}" = set; then
+ enableval=$enable_docs;
+else
+ enable_docs=yes
+fi
+
+if test "x$enable_docs" = "xyes"; then
+ DOCS_SUBDIR="docs"
+ ac_config_files="$ac_config_files docs/Makefile docs/FAQ/Makefile docs/images/Makefile docs/tutorial/Makefile docs/tutorial/figures/Makefile docs/tutorial/icons/Makefile docs/reference/Makefile docs/reference/Doxyfile"
+
+else
+ DOCS_SUBDIR=""
+fi
+
+
+# Dummy conditional just to make automake-1.4 happy.
+# We need an always-false condition in docs/Makefile.am.
+ if false; then
+ GTKMM_FALSE_TRUE=
+ GTKMM_FALSE_FALSE='#'
+else
+ GTKMM_FALSE_TRUE='#'
+ GTKMM_FALSE_FALSE=
+fi
+
+
+# HACK: Assign a dummy in order to prevent execution of autoheader by the
+# maintainer-mode rules. That would fail since we aren't using autoheader.
+AUTOHEADER=':'
+
+
+ac_config_files="$ac_config_files Makefile gdk/Makefile gdk/gdkmm-2.4.pc gdk/src/Makefile gdk/gdkmm/Makefile gdk/gdkmm/private/Makefile gtk/Makefile gtk/gtkmm-2.4.pc gtk/src/Makefile gtk/gtkmm/Makefile gtk/gtkmm/private/Makefile pango/Makefile pango/pangomm-1.4.pc pango/src/Makefile pango/pangomm/Makefile pango/pangomm/private/Makefile tools/Makefile tools/m4/Makefile tools/extra_defs_gen/Makefile"
+
+
+ac_config_files="$ac_config_files tests/Makefile tests/child_widget/Makefile tests/child_widget2/Makefile tests/child_widget_managed/Makefile tests/refcount_dialog/Makefile tests/dialog/Makefile tests/dialog_deletethis/Makefile tests/delete_cpp_child/Makefile tests/main_with_options/Makefile tests/menu_destruction/Makefile tests/property_notification/Makefile tests/scrolledwindow/Makefile tests/wrap_existing/Makefile"
+
+
+ac_config_files="$ac_config_files scripts/Makefile"
+
+
+ac_config_files="$ac_config_files MSVC_Net2003/Makefile MSVC_Net2003/gendef/Makefile MSVC_Net2003/atkmm/Makefile MSVC_Net2003/atkmm/atkmm.rc MSVC_Net2003/pangomm/Makefile MSVC_Net2003/pangomm/pangomm.rc MSVC_Net2003/gdkmm/Makefile MSVC_Net2003/gdkmm/gdkmm.rc MSVC_Net2003/gtkmm/Makefile MSVC_Net2003/gtkmm/gtkmm.rc MSVC_Net2003/demos/Makefile MSVC_Net2003/demos/gtk-demo/Makefile MSVC_Net2003/examples/Makefile MSVC_Net2003/examples/arrow/Makefile MSVC_Net2003/examples/calendar/Makefile MSVC_Net2003/examples/cellrenderercustom_popup/Makefile MSVC_Net2003/examples/cellrenderercustom_toggle/Makefile MSVC_Net2003/examples/direction/Makefile MSVC_Net2003/examples/dnd/Makefile MSVC_Net2003/examples/exception/Makefile MSVC_Net2003/examples/gdk/Makefile MSVC_Net2003/examples/printing/Makefile MSVC_Net2003/examples/rulers/Makefile MSVC_Net2003/examples/statusbar/Makefile MSVC_Net2003/examples/stock/Makefile MSVC_Net2003/examples/tictactoe/Makefile MSVC_Net2003/examples/treemodelcustom/Makefile MSVC_Net2003/examples/window/Makefile"
+
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+
+ (set) 2>&1 |
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;; #(
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+) |
+ sed '
+ /^ac_cv_env_/b end
+ t clear
+ :clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ test "x$cache_file" != "x/dev/null" &&
+ { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
+ cat confcache >$cache_file
+ else
+ { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${PLATFORM_WIN32_TRUE}" && test -z "${PLATFORM_WIN32_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"PLATFORM_WIN32\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"PLATFORM_WIN32\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${OS_WIN32_TRUE}" && test -z "${OS_WIN32_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"OS_WIN32\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"OS_WIN32\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${GTKMM_ATKMM_ENABLED_TRUE}" && test -z "${GTKMM_ATKMM_ENABLED_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"GTKMM_ATKMM_ENABLED\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"GTKMM_ATKMM_ENABLED\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${GTKMM_FALSE_TRUE}" && test -z "${GTKMM_FALSE_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"GTKMM_FALSE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"GTKMM_FALSE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+
+# Save the log message, to keep $[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by gtkmm $as_me 2.12.3, which was
+generated by GNU Autoconf 2.61. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+gtkmm config.status 2.12.3
+configured by $0, generated by GNU Autoconf 2.61,
+ with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2006 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ echo "$ac_cs_version"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+ ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+ { echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) { echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1"
+ ac_need_defaults=false ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+ echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+ CONFIG_SHELL=$SHELL
+ export CONFIG_SHELL
+ exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+ case $ac_config_target in
+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ "gdk/gdkmmconfig.h") CONFIG_HEADERS="$CONFIG_HEADERS gdk/gdkmmconfig.h" ;;
+ "gtk/gtkmmconfig.h") CONFIG_HEADERS="$CONFIG_HEADERS gtk/gtkmmconfig.h" ;;
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
+ "examples/arrow/Makefile") CONFIG_FILES="$CONFIG_FILES examples/arrow/Makefile" ;;
+ "examples/base/Makefile") CONFIG_FILES="$CONFIG_FILES examples/base/Makefile" ;;
+ "examples/book/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/Makefile" ;;
+ "examples/book/alignment/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/alignment/Makefile" ;;
+ "examples/book/aspectframe/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/aspectframe/Makefile" ;;
+ "examples/book/box/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/box/Makefile" ;;
+ "examples/book/builder/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/builder/Makefile" ;;
+ "examples/book/builder/basic/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/builder/basic/Makefile" ;;
+ "examples/book/builder/derived/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/builder/derived/Makefile" ;;
+ "examples/book/buttonbox/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/buttonbox/Makefile" ;;
+ "examples/book/buttons/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/buttons/Makefile" ;;
+ "examples/book/buttons/button/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/buttons/button/Makefile" ;;
+ "examples/book/buttons/checkbutton/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/buttons/checkbutton/Makefile" ;;
+ "examples/book/buttons/filechooserbutton/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/buttons/filechooserbutton/Makefile" ;;
+ "examples/book/buttons/radiobutton/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/buttons/radiobutton/Makefile" ;;
+ "examples/book/buttons/togglebutton/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/buttons/togglebutton/Makefile" ;;
+ "examples/book/clipboard/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/clipboard/Makefile" ;;
+ "examples/book/clipboard/simple/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/clipboard/simple/Makefile" ;;
+ "examples/book/clipboard/ideal/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/clipboard/ideal/Makefile" ;;
+ "examples/book/combobox/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/combobox/Makefile" ;;
+ "examples/book/combobox/text/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/combobox/text/Makefile" ;;
+ "examples/book/combobox/complex/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/combobox/complex/Makefile" ;;
+ "examples/book/comboboxentry/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/comboboxentry/Makefile" ;;
+ "examples/book/comboboxentry/text/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/comboboxentry/text/Makefile" ;;
+ "examples/book/comboboxentry/complex/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/comboboxentry/complex/Makefile" ;;
+ "examples/book/custom/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/custom/Makefile" ;;
+ "examples/book/custom/custom_container/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/custom/custom_container/Makefile" ;;
+ "examples/book/custom/custom_widget/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/custom/custom_widget/Makefile" ;;
+ "examples/book/dialogs/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/dialogs/Makefile" ;;
+ "examples/book/dialogs/aboutdialog/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/dialogs/aboutdialog/Makefile" ;;
+ "examples/book/dialogs/colorselectiondialog/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/dialogs/colorselectiondialog/Makefile" ;;
+ "examples/book/dialogs/filechooserdialog/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/dialogs/filechooserdialog/Makefile" ;;
+ "examples/book/dialogs/fileselection/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/dialogs/fileselection/Makefile" ;;
+ "examples/book/dialogs/fontselectiondialog/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/dialogs/fontselectiondialog/Makefile" ;;
+ "examples/book/dialogs/messagedialog/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/dialogs/messagedialog/Makefile" ;;
+ "examples/book/dialogs/simple/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/dialogs/simple/Makefile" ;;
+ "examples/book/drag_and_drop/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/drag_and_drop/Makefile" ;;
+ "examples/book/drawingarea/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/drawingarea/Makefile" ;;
+ "examples/book/drawingarea/simple/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/drawingarea/simple/Makefile" ;;
+ "examples/book/drawingarea/curve/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/drawingarea/curve/Makefile" ;;
+ "examples/book/drawingarea/arcs/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/drawingarea/arcs/Makefile" ;;
+ "examples/book/drawingarea/clock/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/drawingarea/clock/Makefile" ;;
+ "examples/book/drawingarea/joins/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/drawingarea/joins/Makefile" ;;
+ "examples/book/entry/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/entry/Makefile" ;;
+ "examples/book/entry/completion/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/entry/completion/Makefile" ;;
+ "examples/book/entry/simple/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/entry/simple/Makefile" ;;
+ "examples/book/eventbox/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/eventbox/Makefile" ;;
+ "examples/book/expander/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/expander/Makefile" ;;
+ "examples/book/frame/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/frame/Makefile" ;;
+ "examples/book/helloworld/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/helloworld/Makefile" ;;
+ "examples/book/helloworld2/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/helloworld2/Makefile" ;;
+ "examples/book/iconview/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/iconview/Makefile" ;;
+ "examples/book/idle/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/idle/Makefile" ;;
+ "examples/book/input/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/input/Makefile" ;;
+ "examples/book/label/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/label/Makefile" ;;
+ "examples/book/menus/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/menus/Makefile" ;;
+ "examples/book/menus/main_menu/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/menus/main_menu/Makefile" ;;
+ "examples/book/menus/popup/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/menus/popup/Makefile" ;;
+ "examples/book/menus_and_toolbars/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/menus_and_toolbars/Makefile" ;;
+ "examples/book/notebook/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/notebook/Makefile" ;;
+ "examples/book/paned/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/paned/Makefile" ;;
+ "examples/book/printing/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/printing/Makefile" ;;
+ "examples/book/printing/advanced/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/printing/advanced/Makefile" ;;
+ "examples/book/printing/simple/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/printing/simple/Makefile" ;;
+ "examples/book/progressbar/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/progressbar/Makefile" ;;
+ "examples/book/recent_files/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/recent_files/Makefile" ;;
+ "examples/book/range_widgets/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/range_widgets/Makefile" ;;
+ "examples/book/scrolledwindow/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/scrolledwindow/Makefile" ;;
+ "examples/book/signals/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/signals/Makefile" ;;
+ "examples/book/signals/custom/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/signals/custom/Makefile" ;;
+ "examples/book/socket/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/socket/Makefile" ;;
+ "examples/book/spinbutton/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/spinbutton/Makefile" ;;
+ "examples/book/statusicon/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/statusicon/Makefile" ;;
+ "examples/book/table/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/table/Makefile" ;;
+ "examples/book/textview/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/textview/Makefile" ;;
+ "examples/book/timeout/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/timeout/Makefile" ;;
+ "examples/book/toolbar/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/toolbar/Makefile" ;;
+ "examples/book/tooltips/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/tooltips/Makefile" ;;
+ "examples/book/treeview/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/treeview/Makefile" ;;
+ "examples/book/treeview/combo_renderer/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/treeview/combo_renderer/Makefile" ;;
+ "examples/book/treeview/editable_cells/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/treeview/editable_cells/Makefile" ;;
+ "examples/book/treeview/list/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/treeview/list/Makefile" ;;
+ "examples/book/treeview/listviewtext/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/treeview/listviewtext/Makefile" ;;
+ "examples/book/treeview/tree/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/treeview/tree/Makefile" ;;
+ "examples/book/treeview/drag_and_drop/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/treeview/drag_and_drop/Makefile" ;;
+ "examples/book/treeview/popup/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/treeview/popup/Makefile" ;;
+ "examples/book/treeview/filter/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/treeview/filter/Makefile" ;;
+ "examples/book/treeview/filter_modify/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/treeview/filter_modify/Makefile" ;;
+ "examples/book/treeview/modelsort/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/treeview/modelsort/Makefile" ;;
+ "examples/book/update_ui/Makefile") CONFIG_FILES="$CONFIG_FILES examples/book/update_ui/Makefile" ;;
+ "examples/calendar/Makefile") CONFIG_FILES="$CONFIG_FILES examples/calendar/Makefile" ;;
+ "examples/dnd/Makefile") CONFIG_FILES="$CONFIG_FILES examples/dnd/Makefile" ;;
+ "examples/exception/Makefile") CONFIG_FILES="$CONFIG_FILES examples/exception/Makefile" ;;
+ "examples/gdk/Makefile") CONFIG_FILES="$CONFIG_FILES examples/gdk/Makefile" ;;
+ "examples/rulers/Makefile") CONFIG_FILES="$CONFIG_FILES examples/rulers/Makefile" ;;
+ "examples/statusbar/Makefile") CONFIG_FILES="$CONFIG_FILES examples/statusbar/Makefile" ;;
+ "examples/stock/Makefile") CONFIG_FILES="$CONFIG_FILES examples/stock/Makefile" ;;
+ "examples/tictactoe/Makefile") CONFIG_FILES="$CONFIG_FILES examples/tictactoe/Makefile" ;;
+ "examples/treemodelcustom/Makefile") CONFIG_FILES="$CONFIG_FILES examples/treemodelcustom/Makefile" ;;
+ "examples/window/Makefile") CONFIG_FILES="$CONFIG_FILES examples/window/Makefile" ;;
+ "demos/Makefile") CONFIG_FILES="$CONFIG_FILES demos/Makefile" ;;
+ "demos/gtk-demo/Makefile") CONFIG_FILES="$CONFIG_FILES demos/gtk-demo/Makefile" ;;
+ "atk/Makefile") CONFIG_FILES="$CONFIG_FILES atk/Makefile" ;;
+ "atk/atkmm-1.6.pc") CONFIG_FILES="$CONFIG_FILES atk/atkmm-1.6.pc" ;;
+ "atk/src/Makefile") CONFIG_FILES="$CONFIG_FILES atk/src/Makefile" ;;
+ "atk/atkmm/Makefile") CONFIG_FILES="$CONFIG_FILES atk/atkmm/Makefile" ;;
+ "atk/atkmm/private/Makefile") CONFIG_FILES="$CONFIG_FILES atk/atkmm/private/Makefile" ;;
+ "docs/Makefile") CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;;
+ "docs/FAQ/Makefile") CONFIG_FILES="$CONFIG_FILES docs/FAQ/Makefile" ;;
+ "docs/images/Makefile") CONFIG_FILES="$CONFIG_FILES docs/images/Makefile" ;;
+ "docs/tutorial/Makefile") CONFIG_FILES="$CONFIG_FILES docs/tutorial/Makefile" ;;
+ "docs/tutorial/figures/Makefile") CONFIG_FILES="$CONFIG_FILES docs/tutorial/figures/Makefile" ;;
+ "docs/tutorial/icons/Makefile") CONFIG_FILES="$CONFIG_FILES docs/tutorial/icons/Makefile" ;;
+ "docs/reference/Makefile") CONFIG_FILES="$CONFIG_FILES docs/reference/Makefile" ;;
+ "docs/reference/Doxyfile") CONFIG_FILES="$CONFIG_FILES docs/reference/Doxyfile" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "gdk/Makefile") CONFIG_FILES="$CONFIG_FILES gdk/Makefile" ;;
+ "gdk/gdkmm-2.4.pc") CONFIG_FILES="$CONFIG_FILES gdk/gdkmm-2.4.pc" ;;
+ "gdk/src/Makefile") CONFIG_FILES="$CONFIG_FILES gdk/src/Makefile" ;;
+ "gdk/gdkmm/Makefile") CONFIG_FILES="$CONFIG_FILES gdk/gdkmm/Makefile" ;;
+ "gdk/gdkmm/private/Makefile") CONFIG_FILES="$CONFIG_FILES gdk/gdkmm/private/Makefile" ;;
+ "gtk/Makefile") CONFIG_FILES="$CONFIG_FILES gtk/Makefile" ;;
+ "gtk/gtkmm-2.4.pc") CONFIG_FILES="$CONFIG_FILES gtk/gtkmm-2.4.pc" ;;
+ "gtk/src/Makefile") CONFIG_FILES="$CONFIG_FILES gtk/src/Makefile" ;;
+ "gtk/gtkmm/Makefile") CONFIG_FILES="$CONFIG_FILES gtk/gtkmm/Makefile" ;;
+ "gtk/gtkmm/private/Makefile") CONFIG_FILES="$CONFIG_FILES gtk/gtkmm/private/Makefile" ;;
+ "pango/Makefile") CONFIG_FILES="$CONFIG_FILES pango/Makefile" ;;
+ "pango/pangomm-1.4.pc") CONFIG_FILES="$CONFIG_FILES pango/pangomm-1.4.pc" ;;
+ "pango/src/Makefile") CONFIG_FILES="$CONFIG_FILES pango/src/Makefile" ;;
+ "pango/pangomm/Makefile") CONFIG_FILES="$CONFIG_FILES pango/pangomm/Makefile" ;;
+ "pango/pangomm/private/Makefile") CONFIG_FILES="$CONFIG_FILES pango/pangomm/private/Makefile" ;;
+ "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;;
+ "tools/m4/Makefile") CONFIG_FILES="$CONFIG_FILES tools/m4/Makefile" ;;
+ "tools/extra_defs_gen/Makefile") CONFIG_FILES="$CONFIG_FILES tools/extra_defs_gen/Makefile" ;;
+ "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
+ "tests/child_widget/Makefile") CONFIG_FILES="$CONFIG_FILES tests/child_widget/Makefile" ;;
+ "tests/child_widget2/Makefile") CONFIG_FILES="$CONFIG_FILES tests/child_widget2/Makefile" ;;
+ "tests/child_widget_managed/Makefile") CONFIG_FILES="$CONFIG_FILES tests/child_widget_managed/Makefile" ;;
+ "tests/refcount_dialog/Makefile") CONFIG_FILES="$CONFIG_FILES tests/refcount_dialog/Makefile" ;;
+ "tests/dialog/Makefile") CONFIG_FILES="$CONFIG_FILES tests/dialog/Makefile" ;;
+ "tests/dialog_deletethis/Makefile") CONFIG_FILES="$CONFIG_FILES tests/dialog_deletethis/Makefile" ;;
+ "tests/delete_cpp_child/Makefile") CONFIG_FILES="$CONFIG_FILES tests/delete_cpp_child/Makefile" ;;
+ "tests/main_with_options/Makefile") CONFIG_FILES="$CONFIG_FILES tests/main_with_options/Makefile" ;;
+ "tests/menu_destruction/Makefile") CONFIG_FILES="$CONFIG_FILES tests/menu_destruction/Makefile" ;;
+ "tests/property_notification/Makefile") CONFIG_FILES="$CONFIG_FILES tests/property_notification/Makefile" ;;
+ "tests/scrolledwindow/Makefile") CONFIG_FILES="$CONFIG_FILES tests/scrolledwindow/Makefile" ;;
+ "tests/wrap_existing/Makefile") CONFIG_FILES="$CONFIG_FILES tests/wrap_existing/Makefile" ;;
+ "scripts/Makefile") CONFIG_FILES="$CONFIG_FILES scripts/Makefile" ;;
+ "MSVC_Net2003/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/Makefile" ;;
+ "MSVC_Net2003/gendef/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/gendef/Makefile" ;;
+ "MSVC_Net2003/atkmm/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/atkmm/Makefile" ;;
+ "MSVC_Net2003/atkmm/atkmm.rc") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/atkmm/atkmm.rc" ;;
+ "MSVC_Net2003/pangomm/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/pangomm/Makefile" ;;
+ "MSVC_Net2003/pangomm/pangomm.rc") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/pangomm/pangomm.rc" ;;
+ "MSVC_Net2003/gdkmm/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/gdkmm/Makefile" ;;
+ "MSVC_Net2003/gdkmm/gdkmm.rc") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/gdkmm/gdkmm.rc" ;;
+ "MSVC_Net2003/gtkmm/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/gtkmm/Makefile" ;;
+ "MSVC_Net2003/gtkmm/gtkmm.rc") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/gtkmm/gtkmm.rc" ;;
+ "MSVC_Net2003/demos/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/demos/Makefile" ;;
+ "MSVC_Net2003/demos/gtk-demo/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/demos/gtk-demo/Makefile" ;;
+ "MSVC_Net2003/examples/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/Makefile" ;;
+ "MSVC_Net2003/examples/arrow/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/arrow/Makefile" ;;
+ "MSVC_Net2003/examples/calendar/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/calendar/Makefile" ;;
+ "MSVC_Net2003/examples/cellrenderercustom_popup/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/cellrenderercustom_popup/Makefile" ;;
+ "MSVC_Net2003/examples/cellrenderercustom_toggle/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/cellrenderercustom_toggle/Makefile" ;;
+ "MSVC_Net2003/examples/direction/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/direction/Makefile" ;;
+ "MSVC_Net2003/examples/dnd/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/dnd/Makefile" ;;
+ "MSVC_Net2003/examples/exception/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/exception/Makefile" ;;
+ "MSVC_Net2003/examples/gdk/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/gdk/Makefile" ;;
+ "MSVC_Net2003/examples/printing/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/printing/Makefile" ;;
+ "MSVC_Net2003/examples/rulers/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/rulers/Makefile" ;;
+ "MSVC_Net2003/examples/statusbar/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/statusbar/Makefile" ;;
+ "MSVC_Net2003/examples/stock/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/stock/Makefile" ;;
+ "MSVC_Net2003/examples/tictactoe/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/tictactoe/Makefile" ;;
+ "MSVC_Net2003/examples/treemodelcustom/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/treemodelcustom/Makefile" ;;
+ "MSVC_Net2003/examples/window/Makefile") CONFIG_FILES="$CONFIG_FILES MSVC_Net2003/examples/window/Makefile" ;;
+
+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+ tmp=
+ trap 'exit_status=$?
+ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} ||
+{
+ echo "$me: cannot create a temporary directory in ." >&2
+ { (exit 1); exit 1; }
+}
+
+#
+# Set up the sed scripts for CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "$CONFIG_FILES"; then
+
+_ACEOF
+
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ cat >conf$$subs.sed <<_ACEOF
+SHELL!$SHELL$ac_delim
+PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
+PACKAGE_NAME!$PACKAGE_NAME$ac_delim
+PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
+PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
+PACKAGE_STRING!$PACKAGE_STRING$ac_delim
+PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
+exec_prefix!$exec_prefix$ac_delim
+prefix!$prefix$ac_delim
+program_transform_name!$program_transform_name$ac_delim
+bindir!$bindir$ac_delim
+sbindir!$sbindir$ac_delim
+libexecdir!$libexecdir$ac_delim
+datarootdir!$datarootdir$ac_delim
+datadir!$datadir$ac_delim
+sysconfdir!$sysconfdir$ac_delim
+sharedstatedir!$sharedstatedir$ac_delim
+localstatedir!$localstatedir$ac_delim
+includedir!$includedir$ac_delim
+oldincludedir!$oldincludedir$ac_delim
+docdir!$docdir$ac_delim
+infodir!$infodir$ac_delim
+htmldir!$htmldir$ac_delim
+dvidir!$dvidir$ac_delim
+pdfdir!$pdfdir$ac_delim
+psdir!$psdir$ac_delim
+libdir!$libdir$ac_delim
+localedir!$localedir$ac_delim
+mandir!$mandir$ac_delim
+DEFS!$DEFS$ac_delim
+ECHO_C!$ECHO_C$ac_delim
+ECHO_N!$ECHO_N$ac_delim
+ECHO_T!$ECHO_T$ac_delim
+LIBS!$LIBS$ac_delim
+build_alias!$build_alias$ac_delim
+host_alias!$host_alias$ac_delim
+target_alias!$target_alias$ac_delim
+GTKMM_MAJOR_VERSION!$GTKMM_MAJOR_VERSION$ac_delim
+GTKMM_MINOR_VERSION!$GTKMM_MINOR_VERSION$ac_delim
+GTKMM_MICRO_VERSION!$GTKMM_MICRO_VERSION$ac_delim
+GTKMM_VERSION!$GTKMM_VERSION$ac_delim
+GTKMM_RELEASE!$GTKMM_RELEASE$ac_delim
+LIBGTKMM_SO_VERSION!$LIBGTKMM_SO_VERSION$ac_delim
+INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
+INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
+INSTALL_DATA!$INSTALL_DATA$ac_delim
+am__isrc!$am__isrc$ac_delim
+CYGPATH_W!$CYGPATH_W$ac_delim
+PACKAGE!$PACKAGE$ac_delim
+VERSION!$VERSION$ac_delim
+ACLOCAL!$ACLOCAL$ac_delim
+AUTOCONF!$AUTOCONF$ac_delim
+AUTOMAKE!$AUTOMAKE$ac_delim
+AUTOHEADER!$AUTOHEADER$ac_delim
+MAKEINFO!$MAKEINFO$ac_delim
+install_sh!$install_sh$ac_delim
+STRIP!$STRIP$ac_delim
+INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
+mkdir_p!$mkdir_p$ac_delim
+AWK!$AWK$ac_delim
+SET_MAKE!$SET_MAKE$ac_delim
+am__leading_dot!$am__leading_dot$ac_delim
+AMTAR!$AMTAR$ac_delim
+am__tar!$am__tar$ac_delim
+am__untar!$am__untar$ac_delim
+MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim
+MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim
+MAINT!$MAINT$ac_delim
+CC!$CC$ac_delim
+CFLAGS!$CFLAGS$ac_delim
+LDFLAGS!$LDFLAGS$ac_delim
+CPPFLAGS!$CPPFLAGS$ac_delim
+ac_ct_CC!$ac_ct_CC$ac_delim
+EXEEXT!$EXEEXT$ac_delim
+OBJEXT!$OBJEXT$ac_delim
+DEPDIR!$DEPDIR$ac_delim
+am__include!$am__include$ac_delim
+am__quote!$am__quote$ac_delim
+AMDEP_TRUE!$AMDEP_TRUE$ac_delim
+AMDEP_FALSE!$AMDEP_FALSE$ac_delim
+AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
+CCDEPMODE!$CCDEPMODE$ac_delim
+am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
+am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
+CPP!$CPP$ac_delim
+build!$build$ac_delim
+build_cpu!$build_cpu$ac_delim
+build_vendor!$build_vendor$ac_delim
+build_os!$build_os$ac_delim
+host!$host$ac_delim
+host_cpu!$host_cpu$ac_delim
+host_vendor!$host_vendor$ac_delim
+host_os!$host_os$ac_delim
+PLATFORM_WIN32_TRUE!$PLATFORM_WIN32_TRUE$ac_delim
+PLATFORM_WIN32_FALSE!$PLATFORM_WIN32_FALSE$ac_delim
+OS_WIN32_TRUE!$OS_WIN32_TRUE$ac_delim
+OS_WIN32_FALSE!$OS_WIN32_FALSE$ac_delim
+_ACEOF
+
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
+ break
+ elif $ac_last_try; then
+ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+ ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+CEOF$ac_eof
+_ACEOF
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ cat >conf$$subs.sed <<_ACEOF
+GREP!$GREP$ac_delim
+EGREP!$EGREP$ac_delim
+LN_S!$LN_S$ac_delim
+ECHO!$ECHO$ac_delim
+AR!$AR$ac_delim
+RANLIB!$RANLIB$ac_delim
+DLLTOOL!$DLLTOOL$ac_delim
+AS!$AS$ac_delim
+OBJDUMP!$OBJDUMP$ac_delim
+CXX!$CXX$ac_delim
+CXXFLAGS!$CXXFLAGS$ac_delim
+ac_ct_CXX!$ac_ct_CXX$ac_delim
+CXXDEPMODE!$CXXDEPMODE$ac_delim
+am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim
+am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim
+CXXCPP!$CXXCPP$ac_delim
+F77!$F77$ac_delim
+FFLAGS!$FFLAGS$ac_delim
+ac_ct_F77!$ac_ct_F77$ac_delim
+LIBTOOL!$LIBTOOL$ac_delim
+M4!$M4$ac_delim
+PERL_PATH!$PERL_PATH$ac_delim
+GMMPROC_DIR!$GMMPROC_DIR$ac_delim
+GMMPROC!$GMMPROC$ac_delim
+PKG_CONFIG!$PKG_CONFIG$ac_delim
+ATKMM_CFLAGS!$ATKMM_CFLAGS$ac_delim
+ATKMM_LIBS!$ATKMM_LIBS$ac_delim
+PANGOMM_CFLAGS!$PANGOMM_CFLAGS$ac_delim
+PANGOMM_LIBS!$PANGOMM_LIBS$ac_delim
+GDKMM_CFLAGS!$GDKMM_CFLAGS$ac_delim
+GDKMM_LIBS!$GDKMM_LIBS$ac_delim
+GTKMM_CFLAGS!$GTKMM_CFLAGS$ac_delim
+GTKMM_LIBS!$GTKMM_LIBS$ac_delim
+GTHREAD_CFLAGS!$GTHREAD_CFLAGS$ac_delim
+GTHREAD_LIBS!$GTHREAD_LIBS$ac_delim
+GTKMM_DOXYGEN_INPUT!$GTKMM_DOXYGEN_INPUT$ac_delim
+DISABLE_DEPRECATED_CFLAGS!$DISABLE_DEPRECATED_CFLAGS$ac_delim
+DISABLE_DEPRECATED_API_CFLAGS!$DISABLE_DEPRECATED_API_CFLAGS$ac_delim
+EXAMPLE_SUBDIR!$EXAMPLE_SUBDIR$ac_delim
+DEMO_SUBDIR!$DEMO_SUBDIR$ac_delim
+GTKMM_PC_ATKMM_DEP!$GTKMM_PC_ATKMM_DEP$ac_delim
+GTKMM_ATKMM_ENABLED_TRUE!$GTKMM_ATKMM_ENABLED_TRUE$ac_delim
+GTKMM_ATKMM_ENABLED_FALSE!$GTKMM_ATKMM_ENABLED_FALSE$ac_delim
+DOCS_SUBDIR!$DOCS_SUBDIR$ac_delim
+GTKMM_FALSE_TRUE!$GTKMM_FALSE_TRUE$ac_delim
+GTKMM_FALSE_FALSE!$GTKMM_FALSE_FALSE$ac_delim
+LIBOBJS!$LIBOBJS$ac_delim
+LTLIBOBJS!$LTLIBOBJS$ac_delim
+_ACEOF
+
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 48; then
+ break
+ elif $ac_last_try; then
+ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+ ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+:end
+s/|#_!!_#|//g
+CEOF$ac_eof
+_ACEOF
+
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[ ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+fi # test -n "$CONFIG_FILES"
+
+
+for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+ { (exit 1); exit 1; }; };;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+ ac_file_inputs="$ac_file_inputs $ac_f"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input="Generated from "`IFS=:
+ echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ fi
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$tmp/stdin";;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir="$ac_dir"
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ { (exit 1); exit 1; }; }; }
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+ esac
+ ac_MKDIR_P=$MKDIR_P
+ case $MKDIR_P in
+ [\\/$]* | ?:[\\/]* ) ;;
+ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+ esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+
+case `sed -n '/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+' $ac_file_inputs` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF
+ sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s&@configure_input@&$configure_input&;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+ { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&5
+echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&2;}
+
+ rm -f "$tmp/stdin"
+ case $ac_file in
+ -) cat "$tmp/out"; rm -f "$tmp/out";;
+ *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
+ esac
+ ;;
+ :H)
+ #
+ # CONFIG_HEADER
+ #
+_ACEOF
+
+# Transform confdefs.h into a sed script `conftest.defines', that
+# substitutes the proper values into config.h.in to produce config.h.
+rm -f conftest.defines conftest.tail
+# First, append a space to every undef/define line, to ease matching.
+echo 's/$/ /' >conftest.defines
+# Then, protect against being on the right side of a sed subst, or in
+# an unquoted here document, in config.status. If some macros were
+# called several times there might be several #defines for the same
+# symbol, which is useless. But do not sort them, since the last
+# AC_DEFINE must be honored.
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
+# NAME is the cpp macro being defined, VALUE is the value it is being given.
+# PARAMS is the parameter list in the macro definition--in most cases, it's
+# just an empty string.
+ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*'
+ac_dB='\\)[ (].*,\\1define\\2'
+ac_dC=' '
+ac_dD=' ,'
+
+uniq confdefs.h |
+ sed -n '
+ t rset
+ :rset
+ s/^[ ]*#[ ]*define[ ][ ]*//
+ t ok
+ d
+ :ok
+ s/[\\&,]/\\&/g
+ s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
+ s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
+ ' >>conftest.defines
+
+# Remove the space that was appended to ease matching.
+# Then replace #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+# (The regexp can be short, since the line contains either #define or #undef.)
+echo 's/ $//
+s,^[ #]*u.*,/* & */,' >>conftest.defines
+
+# Break up conftest.defines:
+ac_max_sed_lines=50
+
+# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1"
+# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2"
+# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1"
+# et cetera.
+ac_in='$ac_file_inputs'
+ac_out='"$tmp/out1"'
+ac_nxt='"$tmp/out2"'
+
+while :
+do
+ # Write a here document:
+ cat >>$CONFIG_STATUS <<_ACEOF
+ # First, check the format of the line:
+ cat >"\$tmp/defines.sed" <<\\CEOF
+/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def
+/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def
+b
+:def
+_ACEOF
+ sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
+ ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
+ sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
+ grep . conftest.tail >/dev/null || break
+ rm -f conftest.defines
+ mv conftest.tail conftest.defines
+done
+rm -f conftest.defines conftest.tail
+
+echo "ac_result=$ac_in" >>$CONFIG_STATUS
+cat >>$CONFIG_STATUS <<\_ACEOF
+ if test x"$ac_file" != x-; then
+ echo "/* $configure_input */" >"$tmp/config.h"
+ cat "$ac_result" >>"$tmp/config.h"
+ if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
+ { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ rm -f $ac_file
+ mv "$tmp/config.h" $ac_file
+ fi
+ else
+ echo "/* $configure_input */"
+ cat "$ac_result"
+ fi
+ rm -f "$tmp/out12"
+# Compute $ac_file's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $ac_file | $ac_file:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $ac_file" >`$as_dirname -- $ac_file ||
+$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X$ac_file : 'X\(//\)[^/]' \| \
+ X$ac_file : 'X\(//\)$' \| \
+ X$ac_file : 'X\(/\)' \| . 2>/dev/null ||
+echo X$ac_file |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
+
+ :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5
+echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
+
+
+ case $ac_file$ac_mode in
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
+ dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$mf" : 'X\(//\)[^/]' \| \
+ X"$mf" : 'X\(//\)$' \| \
+ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$mf" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$file" : 'X\(//\)[^/]' \| \
+ X"$file" : 'X\(//\)$' \| \
+ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir=$dirpart/$fdir
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ { (exit 1); exit 1; }; }; }
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+done
+ ;;
+
+ esac
+done # for ac_tag
+
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+
diff --git a/libs/gtkmm2/configure.in b/libs/gtkmm2/configure.in
new file mode 100644
index 0000000000..d2e61a7572
--- /dev/null
+++ b/libs/gtkmm2/configure.in
@@ -0,0 +1,589 @@
+# Configure.in
+#
+# This file tests for various compiler features needed to configure
+# the gtkmm package. Original skeleton was provided by Stephan Kulow.
+# All tests were written by Tero Pulkkinen, Mirko Streckenbach, and
+# Karl Nelson.
+#
+# NOTE! IF YOU DO CHANGES HERE, CHECK IF YOU NEED TO MODIFY .m4 TOO!!!
+#
+# Copyright 2001 Free Software Foundation
+# Copyright 1999 gtkmm Development Team
+# Copyright 1998 Stephan Kulow
+#
+
+#We use pushdef here because we can't use shell variables before AC_INIT, but we want to use a variable with AC_INIT:
+pushdef([GTKMM_MAJOR_VERSION], [2])
+pushdef([GTKMM_MINOR_VERSION], [12])
+pushdef([GTKMM_MICRO_VERSION], [3])
+pushdef([GTKMM_EXTRA_VERSION], [])
+pushdef([GTKMM_VERSION], GTKMM_MAJOR_VERSION.GTKMM_MINOR_VERSION.GTKMM_MICRO_VERSION[]GTKMM_EXTRA_VERSION)
+AC_INIT([gtkmm], GTKMM_VERSION, [gtkmm-list@gnome.org])
+AC_CONFIG_SRCDIR([gtk/gtkmmconfig.h.in])
+AC_PREREQ(2.59)
+
+#########################################################################
+# Version and initialization
+#########################################################################
+[GTKMM_MAJOR_VERSION]=GTKMM_MAJOR_VERSION
+[GTKMM_MINOR_VERSION]=GTKMM_MINOR_VERSION
+[GTKMM_MICRO_VERSION]=GTKMM_MICRO_VERSION
+[GTKMM_EXTRA_VERSION]=GTKMM_EXTRA_VERSION
+[GTKMM_VERSION]=GTKMM_VERSION
+popdef([GTKMM_MAJOR_VERSION])
+popdef([GTKMM_MINOR_VERSION])
+popdef([GTKMM_MICRO_VERSION])
+popdef([GTKMM_EXTRA_VERSION])
+popdef([GTKMM_VERSION])
+GTKMM_RELEASE=$GTKMM_MAJOR_VERSION.$GTKMM_MINOR_VERSION
+AC_DEFINE_UNQUOTED(GTKMM_MAJOR_VERSION, $GTKMM_MAJOR_VERSION, [Major version of gtkmm])
+AC_DEFINE_UNQUOTED(GTKMM_MINOR_VERSION, $GTKMM_MINOR_VERSION, [Minor version of gtkmm])
+AC_DEFINE_UNQUOTED(GTKMM_MICRO_VERSION, $GTKMM_MICRO_VERSION, [Micro version of gtkmm])
+AC_SUBST(GTKMM_MAJOR_VERSION)
+AC_SUBST(GTKMM_MINOR_VERSION)
+AC_SUBST(GTKMM_MICRO_VERSION)
+AC_SUBST(GTKMM_VERSION)
+AC_SUBST(GTKMM_RELEASE)
+
+#
+# +1 : ? : +1 == new interface that does not break old one
+# +1 : ? : 0 == new interface that breaks old one
+# ? : ? : 0 == no new interfaces, but breaks apps
+# ? :+1 : ? == just some internal changes, nothing breaks but might work
+# better
+# CURRENT : REVISION : AGE
+LIBGTKMM_SO_VERSION=1:30:0
+AC_SUBST(LIBGTKMM_SO_VERSION)
+
+AC_CONFIG_AUX_DIR(scripts)
+
+# Initialize automake stuff
+# tar-ustar asks it to use a sensible tar format that can handle long filenames.
+AM_INIT_AUTOMAKE([1.9 tar-ustar])
+
+dnl Specify a configuration file (no autoheader)
+AM_CONFIG_HEADER(config.h gdk/gdkmmconfig.h gtk/gtkmmconfig.h)
+AM_MAINTAINER_MODE
+AL_ACLOCAL_INCLUDE(scripts)
+
+
+#########################################################################
+# Configure arguments
+#########################################################################
+
+#########################################################################
+# Environment Checks
+#########################################################################
+AC_PROG_CC
+AC_PROG_CPP
+AC_PROG_MAKE_SET
+AC_CANONICAL_BUILD
+AC_CANONICAL_HOST
+
+dnl Used for enabling the "-no-undefined" flag while generating DLLs
+dnl Copied from the official gtk+-2 configure.in
+AC_MSG_CHECKING([for some Win32 platform])
+case "$host" in
+ *-*-mingw*|*-*-cygwin*)
+ platform_win32=yes
+ ;;
+ *)
+ platform_win32=no
+ ;;
+esac
+AC_MSG_RESULT([$platform_win32])
+AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
+
+AC_MSG_CHECKING([for native Win32])
+case "$host" in
+ *-*-mingw*)
+ os_win32=yes
+ ;;
+ *)
+ os_win32=no
+ ;;
+esac
+AC_MSG_RESULT([$os_win32])
+AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
+
+AC_DISABLE_STATIC
+AC_LIBTOOL_WIN32_DLL
+AC_PROG_LIBTOOL
+
+AL_PROG_GNU_M4(AC_MSG_ERROR([dnl
+SUN m4 does not work for building gtkmm.
+Please install GNU m4.]))
+
+AL_PROG_GNU_MAKE(AC_MSG_ERROR([dnl
+SUN make does not work for building gtkmm.
+Please install GNU make.]))
+
+# This macro is installed by glibmm
+# Doxygen needs the path to the installed perl.
+GLIBMM_CHECK_PERL([5.6.0])
+
+#########################################################################
+# Function checks
+#########################################################################
+
+AC_CHECK_FUNC(mkfifo, AC_DEFINE(HAVE_MKFIFO))
+
+# functions used in demos/gtk-demo. Undefined in config.h.
+AC_LANG_PUSH(C++)
+AC_MSG_CHECKING([for flockfile])
+AC_TRY_LINK([
+#include <stdio.h>],[
+flockfile (NULL);],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_FLOCKFILE, 1,
+ [Define to 1 if you have the `flockfile' function.])],[
+ AC_MSG_RESULT(no)
+ AC_MSG_CHECKING([for flockfile with a custom prototype])
+ AC_TRY_LINK([
+#include <stdio.h>
+
+extern "C" void flockfile (FILE *);],[
+flockfile (NULL);],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_FLOCKFILE, 1,
+ [Define to 1 if you have the `flockfile' function.])
+ AC_DEFINE(NEED_FLOCKFILE_PROTO, 1,
+ [Define if flockfile() prototype needed.])],[
+ AC_MSG_RESULT(not available)])])
+
+AC_MSG_CHECKING([for funlockfile])
+AC_TRY_LINK([
+#include <stdio.h>],[
+funlockfile (NULL);],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_FUNLOCKFILE, 1,
+ [Define to 1 if you have the `funlockfile' function.])],[
+ AC_MSG_RESULT(no)
+ AC_MSG_CHECKING([for funlockfile with a custom prototype])
+ AC_TRY_LINK([
+#include <stdio.h>
+
+extern "C" void funlockfile (FILE *);],[
+funlockfile (NULL);],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_FUNLOCKFILE, 1,
+ [Define to 1 if you have the `funlockfile' function.])
+ AC_DEFINE(NEED_FUNLOCKFILE_PROTO, 1,
+ [Define if funlockfile() prototype needed.])],[
+ AC_MSG_RESULT(not available)])])
+
+AC_MSG_CHECKING([for getc_unlocked])
+AC_TRY_LINK([
+#include <stdio.h>],[
+getc_unlocked (NULL);],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_GETC_UNLOCKED, 1,
+ [Define to 1 if you have the `getc_unlocked' function.])],[
+ AC_MSG_RESULT(no)
+ AC_MSG_CHECKING([for getc_unlocked with a custom prototype])
+ AC_TRY_LINK([
+#include <stdio.h>
+
+extern "C" int getc_unlocked (FILE *);],[
+getc_unlocked (NULL);],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_GETC_UNLOCKED, 1,
+ [Define to 1 if you have the `getc_unlocked' function.])
+ AC_DEFINE(NEED_GETC_UNLOCKED_PROTO, 1,
+ [Define if getc_unlocked() prototype needed.])],[
+ AC_MSG_RESULT(not available)])])
+AC_LANG_POP(C++)
+
+#########################################################################
+# Dependancy checks
+#########################################################################
+gtkmm_min_glibmm_version=2.14.1
+gtkmm_min_gtk_version=2.12.0
+gtkmm_min_cairomm_version=1.1.12
+
+
+GLIBMM_LIBDIR=`pkg-config --variable=libdir glibmm-2.4`
+GMMPROC_DIR=$GLIBMM_LIBDIR/glibmm-2.4/proc
+AC_SUBST(GMMPROC_DIR)
+GMMPROC=$GMMPROC_DIR/gmmproc
+AC_SUBST(GMMPROC)
+
+
+PKG_CHECK_MODULES(ATKMM, glibmm-2.4 >= ${gtkmm_min_glibmm_version} atk >= 1.9.0)
+AC_SUBST(ATKMM_CFLAGS)
+AC_SUBST(ATKMM_LIBS)
+
+PKG_CHECK_MODULES(PANGOMM, glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} pangocairo >= 1.5.2)
+AC_SUBST(PANGOMM_CFLAGS)
+AC_SUBST(PANGOMM_LIBS)
+
+# gdkmm really does need GTK+, because part of Gdk::DragContext is in GTK+.
+PKG_CHECK_MODULES(GDKMM, glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version})
+AC_SUBST(GDKMM_CFLAGS)
+AC_SUBST(GDKMM_LIBS)
+
+# Only check for gtk+-unix-print-2.0 on non-win32 platform, as
+# gtk+-unix-print-2.0.pc is not always included in win32 installers.
+if test x"$os_win32" = xyes; then
+ PKG_CHECK_MODULES(GTKMM, glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version})
+else
+ PKG_CHECK_MODULES(GTKMM, glibmm-2.4 >= ${gtkmm_min_glibmm_version} cairomm-1.0 >= ${gtkmm_min_cairomm_version} gtk+-2.0 >= ${gtkmm_min_gtk_version} gtk+-unix-print-2.0 >= ${gtkmm_min_gtk_version})
+fi
+AC_SUBST(GTKMM_CFLAGS)
+AC_SUBST(GTKMM_LIBS)
+
+# gthread isn't a requirement, but we should use its CFLAGS if available.
+PKG_CHECK_MODULES(GTHREAD, gthread-2.0 >= 2.4.0,[],[GTHREAD_CFLAGS=''; GTHREAD_LIBS=''])
+AC_SUBST(GTHREAD_CFLAGS)
+AC_SUBST(GTHREAD_LIBS)
+
+#########################################################################
+# C++ checks
+#########################################################################
+AC_PROG_CXX
+
+# Check for the SUN Forte compiler, and define GLIBMM_COMPILER_SUN_FORTE in the header.
+#GLIBMM_PROG_CXX_SUN
+
+# Ensure MSVC-compatible struct packing convention is used when
+# compiling for Win32 with gcc.
+# What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
+# gcc2 uses "-fnative-struct".
+if test x"$os_win32" = xyes; then
+ if test x"$GCC" = xyes -a x"$GXX" = xyes; then
+ msnative_struct=''
+ AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
+ if test -z "$ac_cv_prog_CC"; then
+ our_gcc="$CC"
+ else
+ our_gcc="$ac_cv_prog_CC"
+ fi
+ case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
+ 2.)
+ if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
+ msnative_struct='-fnative-struct'
+ fi
+ ;;
+ *)
+ if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
+ msnative_struct='-mms-bitfields'
+ fi
+ ;;
+ esac
+ if test x"$msnative_struct" = x ; then
+ AC_MSG_RESULT([no way])
+ AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code])
+ else
+ CXXFLAGS="$CXXFLAGS $msnative_struct"
+ AC_MSG_RESULT([${msnative_struct}])
+ fi
+ fi
+fi
+
+AC_LANG_CPLUSPLUS
+
+
+# Create a list of input directories for Doxygen.
+GTKMM_DOXYGEN_INPUT_SUBDIRS([pango atk gdk gtk])
+
+# Evaluate the --enable-warnings=level option.
+GTKMM_ARG_ENABLE_WARNINGS()
+
+# Add an --enable-use-deprecations configure option:
+AC_ARG_ENABLE(deprecations,
+ [AC_HELP_STRING([--enable-use-deprecations],
+ [warn about deprecated usages [default=no]])],,
+ [enable_deprecations=no])
+
+if test "x$enable_use_deprecations" = "xyes"; then
+ DISABLE_DEPRECATED_CFLAGS="\
+-DG_DISABLE_DEPRECATED \
+-DGDK_DISABLE_DEPRECATED \
+-DGTK_DISABLE_DEPRECATED \
+-DGDK_PIXBUF_DISABLE_DEPRECATED \
+-DGNOME_DISABLE_DEPRECATED"
+ AC_SUBST(DISABLE_DEPRECATED_CFLAGS)
+fi
+
+# Add an --enable-deprecated-api option:
+AC_ARG_ENABLE(deprecated-api, [AC_HELP_STRING([--enable-deprecated-api],
+ [include (build) deprecated API in the libraries [default=yes]])],,
+ [enable_deprecated_api=yes])
+if test "x$enable_deprecated_api" = "xyes"; then
+AC_MSG_WARN([Deprecated API will be built, for backwards-compatibility.])
+else
+ AC_DEFINE(PANGOMM_DISABLE_DEPRECATED, 1, [Whether not to build deprecated API in pangomm])
+ AC_DEFINE(ATKMM_DISABLE_DEPRECATED, 1, [Whether not to build deprecated API in atkmm])
+ AC_DEFINE(GDKMM_DISABLE_DEPRECATED, 1, [Whether not to build deprecated API in gdkmm])
+ AC_DEFINE(GTKMM_DISABLE_DEPRECATED, 1, [Whether not to build deprecated API in gtkmm])
+ DISABLE_DEPRECATED_API_CFLAGS="-DPANGOMM_DISABLE_DEPRECATED -DATKMM_DISABLE_DEPRECATED -DGDKMM_DISABLE_DEPRECATED -DGTKMM_DISABLE_DEPRECATED"
+AC_SUBST(DISABLE_DEPRECATED_API_CFLAGS)
+AC_MSG_WARN([Deprecated API will not be built, breaking backwards-compatibility. Do not use this build for distribution packages.])
+fi
+
+
+AC_ARG_ENABLE(examples, [AC_HELP_STRING([--enable-examples],
+ [build the included examples [default=yes]])],,
+ [enable_examples=yes])
+if test "x$enable_examples" = "xyes"; then
+ EXAMPLE_SUBDIR="examples"
+ AC_CONFIG_FILES([
+ examples/Makefile
+ examples/arrow/Makefile
+ examples/base/Makefile
+ examples/book/Makefile
+ examples/book/alignment/Makefile
+ examples/book/aspectframe/Makefile
+ examples/book/box/Makefile
+ examples/book/builder/Makefile
+ examples/book/builder/basic/Makefile
+ examples/book/builder/derived/Makefile
+ examples/book/buttonbox/Makefile
+ examples/book/buttons/Makefile
+ examples/book/buttons/button/Makefile
+ examples/book/buttons/checkbutton/Makefile
+ examples/book/buttons/filechooserbutton/Makefile
+ examples/book/buttons/radiobutton/Makefile
+ examples/book/buttons/togglebutton/Makefile
+ examples/book/clipboard/Makefile
+ examples/book/clipboard/simple/Makefile
+ examples/book/clipboard/ideal/Makefile
+ examples/book/combobox/Makefile
+ examples/book/combobox/text/Makefile
+ examples/book/combobox/complex/Makefile
+ examples/book/comboboxentry/Makefile
+ examples/book/comboboxentry/text/Makefile
+ examples/book/comboboxentry/complex/Makefile
+ examples/book/custom/Makefile
+ examples/book/custom/custom_container/Makefile
+ examples/book/custom/custom_widget/Makefile
+ examples/book/dialogs/Makefile
+ examples/book/dialogs/aboutdialog/Makefile
+ examples/book/dialogs/colorselectiondialog/Makefile
+ examples/book/dialogs/filechooserdialog/Makefile
+ examples/book/dialogs/fileselection/Makefile
+ examples/book/dialogs/fontselectiondialog/Makefile
+ examples/book/dialogs/messagedialog/Makefile
+ examples/book/dialogs/simple/Makefile
+ examples/book/drag_and_drop/Makefile
+ examples/book/drawingarea/Makefile
+ examples/book/drawingarea/simple/Makefile
+ examples/book/drawingarea/curve/Makefile
+ examples/book/drawingarea/arcs/Makefile
+ examples/book/drawingarea/clock/Makefile
+ examples/book/drawingarea/joins/Makefile
+ examples/book/entry/Makefile
+ examples/book/entry/completion/Makefile
+ examples/book/entry/simple/Makefile
+ examples/book/eventbox/Makefile
+ examples/book/expander/Makefile
+ examples/book/frame/Makefile
+ examples/book/helloworld/Makefile
+ examples/book/helloworld2/Makefile
+ examples/book/iconview/Makefile
+ examples/book/idle/Makefile
+ examples/book/input/Makefile
+ examples/book/label/Makefile
+ examples/book/menus/Makefile
+ examples/book/menus/main_menu/Makefile
+ examples/book/menus/popup/Makefile
+ examples/book/menus_and_toolbars/Makefile
+ examples/book/notebook/Makefile
+ examples/book/paned/Makefile
+ examples/book/printing/Makefile
+ examples/book/printing/advanced/Makefile
+ examples/book/printing/simple/Makefile
+ examples/book/progressbar/Makefile
+ examples/book/recent_files/Makefile
+ examples/book/range_widgets/Makefile
+ examples/book/scrolledwindow/Makefile
+ examples/book/signals/Makefile
+ examples/book/signals/custom/Makefile
+ examples/book/socket/Makefile
+ examples/book/spinbutton/Makefile
+ examples/book/statusicon/Makefile
+ examples/book/table/Makefile
+ examples/book/textview/Makefile
+ examples/book/timeout/Makefile
+ examples/book/toolbar/Makefile
+ examples/book/tooltips/Makefile
+ examples/book/treeview/Makefile
+ examples/book/treeview/combo_renderer/Makefile
+ examples/book/treeview/editable_cells/Makefile
+ examples/book/treeview/list/Makefile
+ examples/book/treeview/listviewtext/Makefile
+ examples/book/treeview/tree/Makefile
+ examples/book/treeview/drag_and_drop/Makefile
+ examples/book/treeview/popup/Makefile
+ examples/book/treeview/filter/Makefile
+ examples/book/treeview/filter_modify/Makefile
+ examples/book/treeview/modelsort/Makefile
+ examples/book/update_ui/Makefile
+ examples/calendar/Makefile
+ examples/dnd/Makefile
+ examples/exception/Makefile
+ examples/gdk/Makefile
+ examples/rulers/Makefile
+ examples/statusbar/Makefile
+ examples/stock/Makefile
+ examples/tictactoe/Makefile
+ examples/treemodelcustom/Makefile
+ examples/window/Makefile
+ ])
+else
+ EXAMPLE_SUBDIR=""
+fi
+
+AC_SUBST(EXAMPLE_SUBDIR)
+
+
+AC_ARG_ENABLE(demos, [AC_HELP_STRING([--enable-demos],
+ [build the included demos [default=yes]])],,
+ [enable_demos=yes])
+if test "x$enable_demos" = "xyes"; then
+ DEMO_SUBDIR="demos"
+ AC_CONFIG_FILES([
+ demos/Makefile
+ demos/gtk-demo/Makefile
+ ])
+else
+ DEMO_SUBDIR=""
+fi
+
+AC_SUBST(DEMO_SUBDIR)
+
+
+#Offer the ability to omit some API from the library,
+#to reduce the code size:
+#Note that there are other options in glibmm, which affect gtkmm.
+GTKMM_ARG_ENABLE_API_ATKMM()
+
+if test "x$gtkmm_enable_api_atkmm" = "xyes"; then
+ AC_CONFIG_FILES([
+ atk/Makefile
+ atk/atkmm-1.6.pc
+ atk/src/Makefile
+ atk/atkmm/Makefile
+ atk/atkmm/private/Makefile
+ ])
+ GTKMM_PC_ATKMM_DEP="atkmm-1.6"
+else
+ GTKMM_PC_ATKMM_DEP=""
+fi
+AC_SUBST(GTKMM_PC_ATKMM_DEP)
+
+#Allow us to test for atkmm support in Makefile.am files:
+AM_CONDITIONAL(GTKMM_ATKMM_ENABLED, test "x$gtkmm_enable_api_atkmm" = "xyes")
+
+
+GTKMM_ARG_ENABLE_API_MAEMO_EXTENSIONS()
+
+
+AC_ARG_ENABLE(docs, [AC_HELP_STRING([--enable-docs],
+ [build the included docs [default=yes]])],,
+ [enable_docs=yes])
+if test "x$enable_docs" = "xyes"; then
+ DOCS_SUBDIR="docs"
+ AC_CONFIG_FILES([
+ docs/Makefile
+ docs/FAQ/Makefile
+ docs/images/Makefile
+ docs/tutorial/Makefile
+ docs/tutorial/figures/Makefile
+ docs/tutorial/icons/Makefile
+ docs/reference/Makefile
+ docs/reference/Doxyfile
+ ])
+else
+ DOCS_SUBDIR=""
+fi
+AC_SUBST(DOCS_SUBDIR)
+
+# Dummy conditional just to make automake-1.4 happy.
+# We need an always-false condition in docs/Makefile.am.
+AM_CONDITIONAL(GTKMM_FALSE,[false])
+
+# HACK: Assign a dummy in order to prevent execution of autoheader by the
+# maintainer-mode rules. That would fail since we aren't using autoheader.
+AUTOHEADER=':'
+
+
+AC_CONFIG_FILES([
+ Makefile
+
+ gdk/Makefile
+ gdk/gdkmm-2.4.pc
+ gdk/src/Makefile
+ gdk/gdkmm/Makefile
+ gdk/gdkmm/private/Makefile
+
+ gtk/Makefile
+ gtk/gtkmm-2.4.pc
+ gtk/src/Makefile
+ gtk/gtkmm/Makefile
+ gtk/gtkmm/private/Makefile
+
+ pango/Makefile
+ pango/pangomm-1.4.pc
+ pango/src/Makefile
+ pango/pangomm/Makefile
+ pango/pangomm/private/Makefile
+
+ tools/Makefile
+ tools/m4/Makefile
+ tools/extra_defs_gen/Makefile
+])
+
+AC_CONFIG_FILES([
+ tests/Makefile
+ tests/child_widget/Makefile
+ tests/child_widget2/Makefile
+ tests/child_widget_managed/Makefile
+ tests/refcount_dialog/Makefile
+ tests/dialog/Makefile
+ tests/dialog_deletethis/Makefile
+ tests/delete_cpp_child/Makefile
+ tests/main_with_options/Makefile
+ tests/menu_destruction/Makefile
+ tests/property_notification/Makefile
+ tests/scrolledwindow/Makefile
+ tests/wrap_existing/Makefile
+])
+
+AC_CONFIG_FILES([
+ scripts/Makefile
+])
+
+AC_CONFIG_FILES([
+ MSVC_Net2003/Makefile
+ MSVC_Net2003/gendef/Makefile
+ MSVC_Net2003/atkmm/Makefile
+ MSVC_Net2003/atkmm/atkmm.rc
+ MSVC_Net2003/pangomm/Makefile
+ MSVC_Net2003/pangomm/pangomm.rc
+ MSVC_Net2003/gdkmm/Makefile
+ MSVC_Net2003/gdkmm/gdkmm.rc
+ MSVC_Net2003/gtkmm/Makefile
+ MSVC_Net2003/gtkmm/gtkmm.rc
+ MSVC_Net2003/demos/Makefile
+ MSVC_Net2003/demos/gtk-demo/Makefile
+ MSVC_Net2003/examples/Makefile
+ MSVC_Net2003/examples/arrow/Makefile
+ MSVC_Net2003/examples/calendar/Makefile
+ MSVC_Net2003/examples/cellrenderercustom_popup/Makefile
+ MSVC_Net2003/examples/cellrenderercustom_toggle/Makefile
+ MSVC_Net2003/examples/direction/Makefile
+ MSVC_Net2003/examples/dnd/Makefile
+ MSVC_Net2003/examples/exception/Makefile
+ MSVC_Net2003/examples/gdk/Makefile
+ MSVC_Net2003/examples/printing/Makefile
+ MSVC_Net2003/examples/rulers/Makefile
+ MSVC_Net2003/examples/statusbar/Makefile
+ MSVC_Net2003/examples/stock/Makefile
+ MSVC_Net2003/examples/tictactoe/Makefile
+ MSVC_Net2003/examples/treemodelcustom/Makefile
+ MSVC_Net2003/examples/window/Makefile
+])
+
+AC_OUTPUT()
+
diff --git a/libs/gtkmm2/gdk/.DS_Store b/libs/gtkmm2/gdk/.DS_Store
deleted file mode 100644
index 5008ddfcf5..0000000000
--- a/libs/gtkmm2/gdk/.DS_Store
+++ /dev/null
Binary files differ
diff --git a/libs/gtkmm2/gdk/.cvsignore b/libs/gtkmm2/gdk/.cvsignore
deleted file mode 100644
index e5d046710f..0000000000
--- a/libs/gtkmm2/gdk/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.dylib
diff --git a/libs/gtkmm2/gdk/Makefile.am b/libs/gtkmm2/gdk/Makefile.am
new file mode 100644
index 0000000000..47cc5d7302
--- /dev/null
+++ b/libs/gtkmm2/gdk/Makefile.am
@@ -0,0 +1,13 @@
+SUBDIRS = src gdkmm
+
+EXTRA_DIST = README gdkmmconfig.h.in gdkmm-2.4.pc.in gdkmm.h
+
+gdkmm_includedir = $(includedir)/gdkmm-2.4
+gdkmm_include_HEADERS = gdkmm.h
+
+gdkmm_configdir = $(libdir)/gdkmm-2.4/include
+gdkmm_config_DATA = gdkmmconfig.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = gdkmm-2.4.pc
+
diff --git a/libs/gtkmm2/gdk/Makefile.in b/libs/gtkmm2/gdk/Makefile.in
new file mode 100644
index 0000000000..c38db1b95d
--- /dev/null
+++ b/libs/gtkmm2/gdk/Makefile.in
@@ -0,0 +1,617 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = gdk
+DIST_COMMON = README $(gdkmm_include_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(srcdir)/gdkmm-2.4.pc.in \
+ $(srcdir)/gdkmmconfig.h.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES = gdkmm-2.4.pc
+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 = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(gdkmm_configdir)" \
+ "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(gdkmm_includedir)"
+gdkmm_configDATA_INSTALL = $(INSTALL_DATA)
+pkgconfigDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(gdkmm_config_DATA) $(pkgconfig_DATA)
+gdkmm_includeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(gdkmm_include_HEADERS)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = src gdkmm
+EXTRA_DIST = README gdkmmconfig.h.in gdkmm-2.4.pc.in gdkmm.h
+gdkmm_includedir = $(includedir)/gdkmm-2.4
+gdkmm_include_HEADERS = gdkmm.h
+gdkmm_configdir = $(libdir)/gdkmm-2.4/include
+gdkmm_config_DATA = gdkmmconfig.h
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = gdkmm-2.4.pc
+all: gdkmmconfig.h
+ $(MAKE) $(AM_MAKEFLAGS) 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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gdk/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gdk/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
+
+gdkmmconfig.h: stamp-h2
+ @if test ! -f $@; then \
+ rm -f stamp-h2; \
+ $(MAKE) $(AM_MAKEFLAGS) stamp-h2; \
+ else :; fi
+
+stamp-h2: $(srcdir)/gdkmmconfig.h.in $(top_builddir)/config.status
+ @rm -f stamp-h2
+ cd $(top_builddir) && $(SHELL) ./config.status gdk/gdkmmconfig.h
+$(srcdir)/gdkmmconfig.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_srcdir) && $(AUTOHEADER)
+ rm -f stamp-h2
+ touch $@
+
+distclean-hdr:
+ -rm -f gdkmmconfig.h stamp-h2
+gdkmm-2.4.pc: $(top_builddir)/config.status $(srcdir)/gdkmm-2.4.pc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-gdkmm_configDATA: $(gdkmm_config_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(gdkmm_configdir)" || $(MKDIR_P) "$(DESTDIR)$(gdkmm_configdir)"
+ @list='$(gdkmm_config_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(gdkmm_configDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(gdkmm_configdir)/$$f'"; \
+ $(gdkmm_configDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(gdkmm_configdir)/$$f"; \
+ done
+
+uninstall-gdkmm_configDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(gdkmm_config_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(gdkmm_configdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(gdkmm_configdir)/$$f"; \
+ done
+install-pkgconfigDATA: $(pkgconfig_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
+ @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+ $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ done
+
+uninstall-pkgconfigDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ done
+install-gdkmm_includeHEADERS: $(gdkmm_include_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(gdkmm_includedir)" || $(MKDIR_P) "$(DESTDIR)$(gdkmm_includedir)"
+ @list='$(gdkmm_include_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(gdkmm_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(gdkmm_includedir)/$$f'"; \
+ $(gdkmm_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(gdkmm_includedir)/$$f"; \
+ done
+
+uninstall-gdkmm_includeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(gdkmm_include_HEADERS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(gdkmm_includedir)/$$f'"; \
+ rm -f "$(DESTDIR)$(gdkmm_includedir)/$$f"; \
+ done
+
+# 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):
+ @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; \
+ (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):
+ @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; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (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; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) gdkmmconfig.h.in $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ 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 || \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) gdkmmconfig.h.in $(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; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) gdkmmconfig.h.in $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) gdkmmconfig.h.in $(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; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(DATA) $(HEADERS) gdkmmconfig.h
+installdirs: installdirs-recursive
+installdirs-am:
+ for dir in "$(DESTDIR)$(gdkmm_configdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(gdkmm_includedir)"; 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)
+
+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-hdr distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-gdkmm_configDATA install-gdkmm_includeHEADERS \
+ install-pkgconfigDATA
+
+install-dvi: install-dvi-recursive
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+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-gdkmm_configDATA \
+ uninstall-gdkmm_includeHEADERS uninstall-pkgconfigDATA
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.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-hdr distclean-libtool distclean-tags 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-gdkmm_configDATA \
+ install-gdkmm_includeHEADERS install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-pkgconfigDATA 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-gdkmm_configDATA uninstall-gdkmm_includeHEADERS \
+ uninstall-pkgconfigDATA
+
+# 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:
diff --git a/libs/gtkmm2/gdk/README b/libs/gtkmm2/gdk/README
new file mode 100644
index 0000000000..318dff4144
--- /dev/null
+++ b/libs/gtkmm2/gdk/README
@@ -0,0 +1 @@
+Base directory for gdkmm - the drawing kit.
diff --git a/libs/gtkmm2/gdk/gdkmm-2.4.pc.in b/libs/gtkmm2/gdk/gdkmm-2.4.pc.in
new file mode 100644
index 0000000000..c27b2fd202
--- /dev/null
+++ b/libs/gtkmm2/gdk/gdkmm-2.4.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: gdkmm
+Description: C++ wrappers for GLib, GTK+, and Pango
+Requires: glibmm-2.4 pangomm-1.4 gdk-2.0 cairomm-1.0
+Version: @VERSION@
+Libs: -L${libdir} -lgdkmm-2.4
+Cflags: -I${includedir}/gdkmm-2.4 -I${libdir}/gdkmm-2.4/include
diff --git a/libs/gtkmm2/gdk/gdkmm/.cvsignore b/libs/gtkmm2/gdk/gdkmm/.cvsignore
deleted file mode 100644
index 1edeb79fd1..0000000000
--- a/libs/gtkmm2/gdk/gdkmm/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.os
diff --git a/libs/gtkmm2/gdk/gdkmm/Makefile.am b/libs/gtkmm2/gdk/gdkmm/Makefile.am
new file mode 100644
index 0000000000..e423dfe445
--- /dev/null
+++ b/libs/gtkmm2/gdk/gdkmm/Makefile.am
@@ -0,0 +1,31 @@
+## Copyright (c) 2001
+## The gtkmm development team.
+
+SUBDIRS = private
+
+sublib_name = gdkmm
+sublib_libname = gdkmm-2.4
+sublib_libversion = $(LIBGTKMM_SO_VERSION)
+sublib_namespace = Gdk
+sublib_cflags = $(GDKMM_CFLAGS)
+sublib_topdir = gdk
+sublib_win32_dlls_libs =
+
+sublib_files_extra_posix_cc =
+sublib_files_extra_win32_cc =
+sublib_files_extra_general_cc = general.cc rgb.cc
+sublib_files_extra_general_deprecated_cc =
+
+sublib_files_extra_posix_h =
+sublib_files_extra_win32_h =
+sublib_files_extra_general_h = list.h general.h rgb.h
+sublib_files_extra_general_deprecated_h =
+
+include $(top_srcdir)/build_shared/Makefile_build.am_fragment
+
+lib_LTLIBRARIES = libgdkmm-2.4.la
+libgdkmm_2_4_la_SOURCES = $(files_built_cc) $(files_extra_cc)
+libgdkmm_2_4_la_LDFLAGS = $(common_ldflags)
+libgdkmm_2_4_la_LIBADD = $(top_builddir)/pango/pangomm/libpangomm-1.4.la \
+ $(GDKMM_LIBS)
+
diff --git a/libs/gtkmm2/gdk/gdkmm/Makefile.in b/libs/gtkmm2/gdk/gdkmm/Makefile.in
new file mode 100644
index 0000000000..ec96f83bce
--- /dev/null
+++ b/libs/gtkmm2/gdk/gdkmm/Makefile.in
@@ -0,0 +1,794 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+
+# This file is include by other Makefile.am files, using the new automake include feature.
+# The include happens in Makefile.am, not Makefile.in or Makefile,
+# so it's like copy-and-pasting this into each of those Makefile.am files.
+
+# Built files
+
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = README $(srcdir)/../src/Makefile_list_of_hg.am_fragment \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(sublib_include_HEADERS) \
+ $(top_srcdir)/build_shared/Makefile_build.am_fragment \
+ $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment
+subdir = gdk/gdkmm
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+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 = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libdir)" \
+ "$(DESTDIR)$(sublib_includedir)"
+libLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(lib_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+libgdkmm_2_4_la_DEPENDENCIES = \
+ $(top_builddir)/pango/pangomm/libpangomm-1.4.la \
+ $(am__DEPENDENCIES_1)
+am__libgdkmm_2_4_la_SOURCES_DIST = bitmap.cc color.cc colormap.cc \
+ cursor.cc device.cc display.cc displaymanager.cc \
+ dragcontext.cc drawable.cc event.cc gc.cc image.cc pixbuf.cc \
+ pixbufanimation.cc pixbufanimationiter.cc pixmap.cc \
+ pixbufformat.cc pixbufloader.cc rectangle.cc region.cc \
+ rgbcmap.cc screen.cc types.cc visual.cc window.cc wrap_init.cc \
+ general.cc rgb.cc
+am__objects_1 = bitmap.lo color.lo colormap.lo cursor.lo device.lo \
+ display.lo displaymanager.lo dragcontext.lo drawable.lo \
+ event.lo gc.lo image.lo pixbuf.lo pixbufanimation.lo \
+ pixbufanimationiter.lo pixmap.lo pixbufformat.lo \
+ pixbufloader.lo rectangle.lo region.lo rgbcmap.lo screen.lo \
+ types.lo visual.lo window.lo
+am__objects_2 =
+@OS_WIN32_FALSE@am__objects_3 = $(am__objects_1) $(am__objects_2) \
+@OS_WIN32_FALSE@ $(am__objects_2)
+@OS_WIN32_TRUE@am__objects_3 = $(am__objects_1) $(am__objects_2) \
+@OS_WIN32_TRUE@ $(am__objects_2)
+am__objects_4 = $(am__objects_3) wrap_init.lo
+am__objects_5 = general.lo rgb.lo
+@OS_WIN32_FALSE@am__objects_6 = $(am__objects_2) $(am__objects_5)
+@OS_WIN32_TRUE@am__objects_6 = $(am__objects_2) $(am__objects_5)
+am_libgdkmm_2_4_la_OBJECTS = $(am__objects_4) $(am__objects_6)
+libgdkmm_2_4_la_OBJECTS = $(am_libgdkmm_2_4_la_OBJECTS)
+libgdkmm_2_4_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(libgdkmm_2_4_la_LDFLAGS) $(LDFLAGS) -o $@
+depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(libgdkmm_2_4_la_SOURCES)
+DIST_SOURCES = $(am__libgdkmm_2_4_la_SOURCES_DIST)
+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
+sublib_includeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(sublib_include_HEADERS)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@ -DG_LOG_DOMAIN=\"$(sublib_name)\" $(extra_win32_defines)
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = private
+sublib_name = gdkmm
+sublib_libname = gdkmm-2.4
+sublib_libversion = $(LIBGTKMM_SO_VERSION)
+sublib_namespace = Gdk
+sublib_cflags = $(GDKMM_CFLAGS)
+sublib_topdir = gdk
+sublib_win32_dlls_libs =
+sublib_files_extra_posix_cc =
+sublib_files_extra_win32_cc =
+sublib_files_extra_general_cc = general.cc rgb.cc
+sublib_files_extra_general_deprecated_cc =
+sublib_files_extra_posix_h =
+sublib_files_extra_win32_h =
+sublib_files_extra_general_h = list.h general.h rgb.h
+sublib_files_extra_general_deprecated_h =
+files_posix_hg =
+files_win32_hg =
+files_general_hg = bitmap.hg color.hg colormap.hg cursor.hg \
+ device.hg display.hg displaymanager.hg dragcontext.hg drawable.hg event.hg gc.hg image.hg \
+ pixbuf.hg pixbufanimation.hg pixbufanimationiter.hg pixmap.hg pixbufformat.hg pixbufloader.hg \
+ rectangle.hg region.hg rgbcmap.hg screen.hg types.hg visual.hg window.hg
+
+files_general_deprecated_hg =
+files_all_hg = \
+ $(files_posix_hg) \
+ $(files_win32_hg) \
+ $(files_general_hg) \
+ $(files_general_deprecated_hg)
+
+@OS_WIN32_FALSE@files_hg = $(files_general_hg) $(files_posix_hg) $(files_general_deprecated_hg)
+@OS_WIN32_TRUE@files_hg = $(files_general_hg) $(files_win32_hg) $(files_general_deprecated_hg)
+files_built_cc = $(files_hg:.hg=.cc) wrap_init.cc
+files_built_h = $(files_hg:.hg=.h)
+files_all_built_cc = $(files_all_hg:.hg=.cc) wrap_init.cc
+files_all_built_h = $(files_all_hg:.hg=.h)
+
+# Extra files
+files_all_extra_cc = \
+ $(sublib_files_extra_posix_cc) \
+ $(sublib_files_extra_win32_cc) \
+ $(sublib_files_extra_general_cc) \
+ $(sublib_files_extra_general_deprecated_cc)
+
+files_all_extra_h = $(sublib_files_extra_posix_h) \
+ $(sublib_files_extra_win32_h) $(sublib_files_extra_general_h) \
+ $(sublib_files_extra_general_deprecated_h) wrap_init.h
+@OS_WIN32_FALSE@files_extra_cc = \
+@OS_WIN32_FALSE@ $(sublib_files_extra_posix_cc) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_TRUE@files_extra_cc = \
+@OS_WIN32_TRUE@ $(sublib_files_extra_win32_cc) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_FALSE@files_extra_h = $(sublib_files_extra_posix_h) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_h) wrap_init.h
+@OS_WIN32_TRUE@files_extra_h = $(sublib_files_extra_win32_h) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_h) wrap_init.h
+@PLATFORM_WIN32_FALSE@extra_win32_defines =
+
+# Support for DLL on mingw using libtool > 1.4
+# When creating DLLs on win32, we need to explicitly add a few extra
+# libraries at link time to resolve symbols (remember a dll is like an
+# executable).
+@PLATFORM_WIN32_TRUE@extra_win32_defines = \
+@PLATFORM_WIN32_TRUE@ -D$(shell echo $(sublib_name) | tr [:lower:] [:upper:])_BUILD
+
+@PLATFORM_WIN32_FALSE@no_undefined =
+@PLATFORM_WIN32_TRUE@no_undefined = -no-undefined -Wl,--export-all-symbols
+@PLATFORM_WIN32_FALSE@win32_dlls_extra_libs =
+@PLATFORM_WIN32_TRUE@win32_dlls_extra_libs = $(sublib_win32_dlls_libs)
+common_ldflags = -version-info $(sublib_libversion) $(no_undefined)
+
+# All modules can include all other modules,
+# for instance, so that gdkmm can use headers in pangomm.
+all_includes = -I$(top_builddir)/$(sublib_topdir) -I$(top_srcdir)/$(sublib_topdir) \
+ -I$(top_builddir)/pango -I$(top_srcdir)/pango \
+ -I$(top_builddir)/atk -I$(top_srcdir)/atk \
+ -I$(top_builddir)/gdk -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gtk -I$(top_srcdir)/gtk \
+ $(sublib_cflags) $(GTHREAD_CFLAGS)
+
+dist_sources = $(files_all_built_cc) $(files_all_extra_cc) $(files_all_built_h) $(files_all_extra_h)
+DISTFILES = $(DIST_COMMON) $(dist_sources) $(TEXINFOS) $(EXTRA_DIST)
+DEFAULT_INCLUDES =
+
+# DISABLE_DEPRECATED_CFLAGS and DISABLE_DEPRECATED_API_CFLAGS are empty unless the appropriate --enable-*=no options are specified to configure:
+INCLUDES = $(strip $(all_includes)) $(DISABLE_DEPRECATED_CFLAGS) $(DISABLE_DEPRECATED_API_CFLAGS)
+sublib_includedir = $(includedir)/$(sublib_libname)/$(sublib_name)
+sublib_include_HEADERS = $(files_all_built_h) $(files_all_extra_h)
+lib_LTLIBRARIES = libgdkmm-2.4.la
+libgdkmm_2_4_la_SOURCES = $(files_built_cc) $(files_extra_cc)
+libgdkmm_2_4_la_LDFLAGS = $(common_ldflags)
+libgdkmm_2_4_la_LIBADD = $(top_builddir)/pango/pangomm/libpangomm-1.4.la \
+ $(GDKMM_LIBS)
+
+all: all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/build_shared/Makefile_build.am_fragment $(srcdir)/../src/Makefile_list_of_hg.am_fragment $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gdk/gdkmm/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gdk/gdkmm/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
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ f=$(am__strip_dir) \
+ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ else :; fi; \
+ done
+
+uninstall-libLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ p=$(am__strip_dir) \
+ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ done
+
+clean-libLTLIBRARIES:
+ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libgdkmm-2.4.la: $(libgdkmm_2_4_la_OBJECTS) $(libgdkmm_2_4_la_DEPENDENCIES)
+ $(libgdkmm_2_4_la_LINK) -rpath $(libdir) $(libgdkmm_2_4_la_OBJECTS) $(libgdkmm_2_4_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bitmap.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/color.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/colormap.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cursor.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/device.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/display.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/displaymanager.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dragcontext.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/drawable.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/event.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gc.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/general.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/image.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pixbuf.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pixbufanimation.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pixbufanimationiter.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pixbufformat.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pixbufloader.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pixmap.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rectangle.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/region.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rgb.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rgbcmap.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/screen.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/types.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/visual.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/window.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrap_init.Plo@am__quote@
+
+.cc.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-sublib_includeHEADERS: $(sublib_include_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(sublib_includedir)" || $(MKDIR_P) "$(DESTDIR)$(sublib_includedir)"
+ @list='$(sublib_include_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(sublib_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(sublib_includedir)/$$f'"; \
+ $(sublib_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(sublib_includedir)/$$f"; \
+ done
+
+uninstall-sublib_includeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(sublib_include_HEADERS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(sublib_includedir)/$$f'"; \
+ rm -f "$(DESTDIR)$(sublib_includedir)/$$f"; \
+ done
+
+# 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):
+ @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; \
+ (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):
+ @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; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (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; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ 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 || \
+ tags="$$tags $$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; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(LTLIBRARIES) $(HEADERS)
+installdirs: installdirs-recursive
+installdirs-am:
+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(sublib_includedir)"; 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)
+
+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-libLTLIBRARIES clean-libtool \
+ mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-sublib_includeHEADERS
+
+install-dvi: install-dvi-recursive
+
+install-exec-am: install-libLTLIBRARIES
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic \
+ maintainer-clean-local
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-libLTLIBRARIES uninstall-sublib_includeHEADERS
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am check check-am clean clean-generic \
+ clean-libLTLIBRARIES clean-libtool ctags ctags-recursive \
+ distclean distclean-compile 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-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-libLTLIBRARIES install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ install-sublib_includeHEADERS installcheck installcheck-am \
+ installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic maintainer-clean-local mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
+ uninstall-libLTLIBRARIES uninstall-sublib_includeHEADERS
+
+
+maintainer-clean-local:
+ (cd $(srcdir) && rm -f $(files_all_built_cc) $(files_all_built_h))
+# 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:
diff --git a/libs/gtkmm2/gdk/gdkmm/README b/libs/gtkmm2/gdk/gdkmm/README
new file mode 100644
index 0000000000..b712fd63d2
--- /dev/null
+++ b/libs/gtkmm2/gdk/gdkmm/README
@@ -0,0 +1 @@
+Sources for the gdk drawing kit.
diff --git a/libs/gtkmm2/gdk/gdkmm/color.h b/libs/gtkmm2/gdk/gdkmm/color.h
index 167152d1fa..010a21c025 100644
--- a/libs/gtkmm2/gdk/gdkmm/color.h
+++ b/libs/gtkmm2/gdk/gdkmm/color.h
@@ -3,6 +3,8 @@
#ifndef _GDKMM_COLOR_H
#define _GDKMM_COLOR_H
+#include <gdkmmconfig.h>
+
#include <glibmm.h>
@@ -25,6 +27,10 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+// This is for including the config header before any code (such as
+// the #ifndef GDKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+
+
#include <gdk/gdkcolor.h>
@@ -258,10 +264,13 @@ inline void swap(Color& lhs, Color& rhs)
namespace Glib
{
-/** @relates Gdk::Color
- * @param object The C instance
+/** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gdk::Color
*/
Gdk::Color wrap(GdkColor* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gdk/gdkmm/colormap.h b/libs/gtkmm2/gdk/gdkmm/colormap.h
index 2d2a4cd92e..f088d54580 100644
--- a/libs/gtkmm2/gdk/gdkmm/colormap.h
+++ b/libs/gtkmm2/gdk/gdkmm/colormap.h
@@ -3,6 +3,8 @@
#ifndef _GDKMM_COLORMAP_H
#define _GDKMM_COLORMAP_H
+#include <gdkmmconfig.h>
+
#include <glibmm.h>
@@ -27,6 +29,10 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+// This is for including the config header before any code (such as
+// the #ifndef GDKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+
+
#include <glibmm/object.h>
#include <gdkmm/visual.h>
#include <gdkmm/color.h>
@@ -158,12 +164,12 @@ public:
void query_color (gulong pixel, Color& result);
- /** Returns the visual for which a given colormap was created.
+ /** Return value: the visual of the colormap.
* @return The visual of the colormap.
*/
Glib::RefPtr<Visual> get_visual();
- /** Returns the visual for which a given colormap was created.
+ /** Return value: the visual of the colormap.
* @return The visual of the colormap.
*/
Glib::RefPtr<const Visual> get_visual() const;
@@ -208,10 +214,13 @@ protected:
namespace Glib
{
- /** @relates Gdk::Colormap
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gdk::Colormap
*/
Glib::RefPtr<Gdk::Colormap> wrap(GdkColormap* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gdk/gdkmm/cursor.h b/libs/gtkmm2/gdk/gdkmm/cursor.h
index 19b6d6054b..81381fd88c 100644
--- a/libs/gtkmm2/gdk/gdkmm/cursor.h
+++ b/libs/gtkmm2/gdk/gdkmm/cursor.h
@@ -199,14 +199,14 @@ public:
explicit Cursor(const Glib::RefPtr<Display>& display, const Glib::ustring& name);
- /** Returns the display on which the Gdk::Cursor is defined.
+ /** Returns: the Gdk::Display associated to @a cursor
* @return The Gdk::Display associated to @a cursor
*
* @newin2p2.
*/
Glib::RefPtr<Display> get_display();
- /** Returns the display on which the Gdk::Cursor is defined.
+ /** Returns: the Gdk::Display associated to @a cursor
* @return The Gdk::Display associated to @a cursor
*
* @newin2p2.
@@ -214,22 +214,14 @@ public:
Glib::RefPtr<const Display> get_display() const;
- /** Returns a Gdk::Pixbuf with the image used to display the cursor.
- *
- * Note that depending on the capabilities of the windowing system and
- * on the cursor, GDK may not be able to obtain the image data. In this
- * case, <tt>0</tt> is returned.
+ /** Returns: a Gdk::Pixbuf representing @a cursor , or <tt>0</tt>
* @return A Gdk::Pixbuf representing @a cursor , or <tt>0</tt>
*
* @newin2p8.
*/
Glib::RefPtr<Gdk::Pixbuf> get_image();
- /** Returns a Gdk::Pixbuf with the image used to display the cursor.
- *
- * Note that depending on the capabilities of the windowing system and
- * on the cursor, GDK may not be able to obtain the image data. In this
- * case, <tt>0</tt> is returned.
+ /** Returns: a Gdk::Pixbuf representing @a cursor , or <tt>0</tt>
* @return A Gdk::Pixbuf representing @a cursor , or <tt>0</tt>
*
* @newin2p8.
@@ -257,10 +249,13 @@ inline void swap(Cursor& lhs, Cursor& rhs)
namespace Glib
{
-/** @relates Gdk::Cursor
- * @param object The C instance
+/** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gdk::Cursor
*/
Gdk::Cursor wrap(GdkCursor* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gdk/gdkmm/device.cc b/libs/gtkmm2/gdk/gdkmm/device.cc
index 5d29021169..7675c4517d 100644
--- a/libs/gtkmm2/gdk/gdkmm/device.cc
+++ b/libs/gtkmm2/gdk/gdkmm/device.cc
@@ -150,7 +150,8 @@ GType Device::get_base_type()
Device::Device()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(device_class_.init()))
{
}
diff --git a/libs/gtkmm2/gdk/gdkmm/device.h b/libs/gtkmm2/gdk/gdkmm/device.h
index 2453396d73..c40a98bde7 100644
--- a/libs/gtkmm2/gdk/gdkmm/device.h
+++ b/libs/gtkmm2/gdk/gdkmm/device.h
@@ -248,10 +248,13 @@ protected:
namespace Glib
{
- /** @relates Gdk::Device
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gdk::Device
*/
Glib::RefPtr<Gdk::Device> wrap(GdkDevice* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gdk/gdkmm/display.cc b/libs/gtkmm2/gdk/gdkmm/display.cc
index fe4318c328..04f33d333f 100644
--- a/libs/gtkmm2/gdk/gdkmm/display.cc
+++ b/libs/gtkmm2/gdk/gdkmm/display.cc
@@ -216,7 +216,7 @@ void Display_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Display_Class::closed_callback(GdkDisplay* self, gboolean p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -224,33 +224,36 @@ void Display_Class::closed_callback(GdkDisplay* self, gboolean p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_closed(p0
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_closed(p0
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->closed)
- (*base->closed)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->closed)
+ (*base->closed)(self, p0);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -298,7 +301,8 @@ GType Display::get_base_type()
Display::Display()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(display_class_.init()))
{
}
@@ -581,6 +585,21 @@ bool Display::supports_clipboard_persistence() const
return gdk_display_supports_clipboard_persistence(const_cast<GdkDisplay*>(gobj()));
}
+bool Display::supports_shapes() const
+{
+ return gdk_display_supports_shapes(const_cast<GdkDisplay*>(gobj()));
+}
+
+bool Display::supports_input_shapes() const
+{
+ return gdk_display_supports_input_shapes(const_cast<GdkDisplay*>(gobj()));
+}
+
+bool Display::supports_composite() const
+{
+ return gdk_display_supports_composite(const_cast<GdkDisplay*>(gobj()));
+}
+
Glib::SignalProxy1< void,bool > Display::signal_closed()
{
diff --git a/libs/gtkmm2/gdk/gdkmm/display.h b/libs/gtkmm2/gdk/gdkmm/display.h
index e99910af21..db0d7c4e38 100644
--- a/libs/gtkmm2/gdk/gdkmm/display.h
+++ b/libs/gtkmm2/gdk/gdkmm/display.h
@@ -131,7 +131,7 @@ public:
*/
int get_n_screens() const;
- /** Returns a screen object for one of the screens of the display.
+ /** Returns: the Gdk::Screen object
* @param screen_num The screen number.
* @return The Gdk::Screen object
*
@@ -139,7 +139,7 @@ public:
*/
Glib::RefPtr<Screen> get_screen(int screen_num);
- /** Returns a screen object for one of the screens of the display.
+ /** Returns: the Gdk::Screen object
* @param screen_num The screen number.
* @return The Gdk::Screen object
*
@@ -212,16 +212,14 @@ public:
void close();
- /** Returns the list of available input devices attached to @a display .
- * The list is statically allocated and should not be freed.
+ /** Return value: a list of Gdk::Device
* @return A list of Gdk::Device
*
* @newin2p2.
*/
Glib::ListHandle< Glib::RefPtr<Device> > list_devices();
- /** Returns the list of available input devices attached to @a display .
- * The list is statically allocated and should not be freed.
+ /** Return value: a list of Gdk::Device
* @return A list of Gdk::Device
*
* @newin2p2.
@@ -286,6 +284,8 @@ public:
//Find out whether we can use a string representation for the atom - look for examples of this function's use.
/** Adds a filter to be called when X ClientMessage events are received.
+ * See gdk_window_add_filter() if you are interested in filtering other
+ * types of events.
*
* @newin2p2
* @param message_type The type of ClientMessage events to receive.
@@ -332,7 +332,7 @@ public:
static Glib::RefPtr<Display> get_default();
- /** Returns the core pointer device for the given display
+ /** Return value: the core pointer device; this is owned by the
* @return The core pointer device; this is owned by the
* display and should not be freed.
*
@@ -340,7 +340,7 @@ public:
*/
Glib::RefPtr<Device> get_core_pointer();
- /** Returns the core pointer device for the given display
+ /** Return value: the core pointer device; this is owned by the
* @return The core pointer device; this is owned by the
* display and should not be freed.
*
@@ -529,25 +529,21 @@ public:
*/
void flush();
- /** Returns <tt>true</tt> if cursors can use an 8bit alpha channel
- * on @a display . Otherwise, cursors are restricted to bilevel
- * alpha (i.e. a mask).
+ /** Returns: whether cursors can have alpha channels.
* @return Whether cursors can have alpha channels.
*
* @newin2p4.
*/
bool supports_cursor_alpha() const;
- /** Returns <tt>true</tt> if multicolored cursors are supported
- * on @a display . Otherwise, cursors have only a forground
- * and a background color.
+ /** Returns: whether cursors can have multiple colors.
* @return Whether cursors can have multiple colors.
*
* @newin2p4.
*/
bool supports_cursor_color() const;
- /** Returns the default size to use for cursors on @a display .
+ /** Returns: the default cursor size.
* @return The default cursor size.
*
* @newin2p4.
@@ -563,18 +559,14 @@ public:
void get_maximal_cursor_size(guint& width, guint& height);
- /** Returns the default group leader window for all toplevel windows
- * on @a display . This window is implicitly created by GDK.
- * See gdk_window_set_group().
+ /** Return value: The default group leader window for @a display
* @return The default group leader window for @a display
*
* @newin2p4.
*/
Glib::RefPtr<Window> get_default_group();
- /** Returns the default group leader window for all toplevel windows
- * on @a display . This window is implicitly created by GDK.
- * See gdk_window_set_group().
+ /** Return value: The default group leader window for @a display
* @return The default group leader window for @a display
*
* @newin2p4.
@@ -584,8 +576,7 @@ public:
//TODO: wrap the vfuncs, though they are not very useful because people will not derive from this class? murrayc.
- /** Returns whether Gdk::EventOwnerChange events will be
- * sent when the owner of a selection changes.
+ /** Return value: whether Gdk::EventOwnerChange events will
* @return Whether Gdk::EventOwnerChange events will
* be sent.
*
@@ -605,31 +596,56 @@ public:
bool request_selection_notification(const Glib::ustring& selection);
- /** Returns whether the speicifed display supports clipboard
- * persistance; i.e.\ if it's possible to store the clipboard data after an
- * application has quit. On X11 this checks if a clipboard daemon is
- * running.
+ /** Returns: <tt>true</tt> if the display supports clipboard persistance.
* @return <tt>true</tt> if the display supports clipboard persistance.
*
* @newin2p6.
*/
bool supports_clipboard_persistence() const;
- //TODO: Documentation, based on C docs:
+ /** Issues a request to the clipboard manager to store the clipboard data,
+ * saving all available targets.
+ * On X11, this is a special program that works according to the freedesktop clipboard specification,
+ * available at http://www.freedesktop.org/Standards/clipboard-manager-spec.
+ * @newin2p6
+ *
+ * @param clipboard_window A Gdk::Window belonging to the clipboard owner.
+ * @param time_ A timestamp.
+ */
void store_clipboard(const Glib::RefPtr<Gdk::Window>& clipboard_window, guint32 time_);
void store_clipboard(const Glib::RefPtr<Gdk::Window>& clipboard_window, guint32 time_, const Glib::StringArrayHandle& targets);
-
+
+
+ /** Returns: <tt>true</tt> if shaped windows are supported
+ * @return <tt>true</tt> if shaped windows are supported
+ *
+ * @newin2p10.
+ */
+ bool supports_shapes() const;
+
+ /** Returns: <tt>true</tt> if windows with modified input shape are supported
+ * @return <tt>true</tt> if windows with modified input shape are supported
+ *
+ * @newin2p10.
+ */
+ bool supports_input_shapes() const;
+
+ /** Returns: <tt>true</tt> if windows may be composited.
+ * @return <tt>true</tt> if windows may be composited.
+ *
+ * @newin2p12.
+ */
+ bool supports_composite() const;
+
/** The closed signal is emitted when the connection to the windowing
* system for this display is closed.
*
* @param is_error true if the display was closed due to an error
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %closed(bool is_error)</tt>
+ * <tt>void on_my_%closed(bool is_error)</tt>
*/
Glib::SignalProxy1< void,bool > signal_closed();
@@ -660,10 +676,13 @@ protected:
namespace Glib
{
- /** @relates Gdk::Display
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gdk::Display
*/
Glib::RefPtr<Gdk::Display> wrap(GdkDisplay* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gdk/gdkmm/displaymanager.cc b/libs/gtkmm2/gdk/gdkmm/displaymanager.cc
index 3a2696788f..8ff571b5e3 100644
--- a/libs/gtkmm2/gdk/gdkmm/displaymanager.cc
+++ b/libs/gtkmm2/gdk/gdkmm/displaymanager.cc
@@ -131,7 +131,7 @@ void DisplayManager_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void DisplayManager_Class::display_opened_callback(GdkDisplayManager* self, GdkDisplay* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -139,33 +139,36 @@ void DisplayManager_Class::display_opened_callback(GdkDisplayManager* self, GdkD
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_display_opened(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_display_opened(Glib::wrap(p0, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->display_opened)
- (*base->display_opened)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->display_opened)
+ (*base->display_opened)(self, p0);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/gdk/gdkmm/displaymanager.h b/libs/gtkmm2/gdk/gdkmm/displaymanager.h
index b15608b6f2..34f381f2cb 100644
--- a/libs/gtkmm2/gdk/gdkmm/displaymanager.h
+++ b/libs/gtkmm2/gdk/gdkmm/displaymanager.h
@@ -162,11 +162,9 @@ public:
* @newin2p2
*
* @param display the opened display
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %display_opened(const Glib::RefPtr<Display>& display)</tt>
+ * <tt>void on_my_%display_opened(const Glib::RefPtr<Display>& display)</tt>
*/
Glib::SignalProxy1< void,const Glib::RefPtr<Display>& > signal_display_opened();
@@ -197,10 +195,13 @@ protected:
namespace Glib
{
- /** @relates Gdk::DisplayManager
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gdk::DisplayManager
*/
Glib::RefPtr<Gdk::DisplayManager> wrap(GdkDisplayManager* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gdk/gdkmm/dragcontext.cc b/libs/gtkmm2/gdk/gdkmm/dragcontext.cc
index 1daebcd9de..6bdc8fe352 100644
--- a/libs/gtkmm2/gdk/gdkmm/dragcontext.cc
+++ b/libs/gtkmm2/gdk/gdkmm/dragcontext.cc
@@ -47,29 +47,10 @@ void DragContext::drag_refuse(guint32 time)
gdk_drag_status(gobj(), ((GdkDragAction)(0)) /* see GDK docs */, time);
}
-Glib::StringArrayHandle DragContext::get_targets() const
+Gdk::ListHandle_AtomString DragContext::get_targets() const
{
- std::list<Glib::ustring> listTargets;
-
- //Get a newly-allocated array of atoms:
- GList* list = gobj()->targets;
- while(list)
- {
- GdkAtom atom = GDK_POINTER_TO_ATOM(list->data);
-
- //Convert the atom to a string:
- gchar* const atom_name = gdk_atom_name(atom);
-
- Glib::ustring target;
- if(atom_name)
- target = Glib::ScopedPtr<char>(atom_name).get(); //This frees the gchar*.
-
- listTargets.push_back(target);
-
- list = list->next;
- }
-
- return listTargets;
+ //Note that we don't free the GList* (or it's items), because we are accessing the struct directly:
+ return ListHandle_AtomString( gobj()->targets, Glib::OWNERSHIP_NONE);
}
} /* namespace Gdk */
@@ -191,7 +172,8 @@ GType DragContext::get_base_type()
DragContext::DragContext()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(dragcontext_class_.init()))
{
}
diff --git a/libs/gtkmm2/gdk/gdkmm/dragcontext.h b/libs/gtkmm2/gdk/gdkmm/dragcontext.h
index b30d2f3715..f7377a9e6d 100644
--- a/libs/gtkmm2/gdk/gdkmm/dragcontext.h
+++ b/libs/gtkmm2/gdk/gdkmm/dragcontext.h
@@ -249,7 +249,7 @@ public:
*/
void drop_finish(bool success, guint32 time);
- /** Returns the selection atom for the current source window.
+ /** Return value: the selection atom.
* @return The selection atom.
*/
Glib::ustring get_selection() const;
@@ -289,7 +289,7 @@ public:
/** Get a list of targets offered by the source.
* @result a list of targets offered by the source.
*/
- Glib::StringArrayHandle get_targets() const;
+ Gdk::ListHandle_AtomString get_targets() const;
/** Get the DND protocol which governs this drag.
* @result the DND protocol which governs this drag.
@@ -365,10 +365,13 @@ protected:
namespace Glib
{
- /** @relates Gdk::DragContext
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gdk::DragContext
*/
Glib::RefPtr<Gdk::DragContext> wrap(GdkDragContext* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gdk/gdkmm/drawable.cc b/libs/gtkmm2/gdk/gdkmm/drawable.cc
index 2a57382d36..6722d64951 100644
--- a/libs/gtkmm2/gdk/gdkmm/drawable.cc
+++ b/libs/gtkmm2/gdk/gdkmm/drawable.cc
@@ -181,7 +181,8 @@ GType Drawable::get_base_type()
Drawable::Drawable()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(drawable_class_.init()))
{
}
diff --git a/libs/gtkmm2/gdk/gdkmm/drawable.h b/libs/gtkmm2/gdk/gdkmm/drawable.h
index ccf3310e57..c50ed19180 100644
--- a/libs/gtkmm2/gdk/gdkmm/drawable.h
+++ b/libs/gtkmm2/gdk/gdkmm/drawable.h
@@ -409,6 +409,12 @@ public:
* The clip mask of @a gc is ignored, but clip rectangles and clip regions work
* fine.
*
+ * If GDK is built with the Sun mediaLib library, the gdk_draw_pixbuf
+ * function is accelerated using mediaLib, which provides hardware
+ * acceleration on Intel, AMD, and Sparc chipsets. If desired, mediaLib
+ * support can be turned off by setting the GDK_DISABLE_MEDIALIB environment
+ * variable.
+ *
* @newin2p2
* @param gc A Gdk::GC, used for clipping, or <tt>0</tt>.
* @param pixbuf A Gdk::Pixbuf.
@@ -609,10 +615,13 @@ protected:
namespace Glib
{
- /** @relates Gdk::Drawable
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gdk::Drawable
*/
Glib::RefPtr<Gdk::Drawable> wrap(GdkDrawable* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gdk/gdkmm/event.h b/libs/gtkmm2/gdk/gdkmm/event.h
index eecc131cf4..15fc5f12b4 100644
--- a/libs/gtkmm2/gdk/gdkmm/event.h
+++ b/libs/gtkmm2/gdk/gdkmm/event.h
@@ -261,8 +261,8 @@ public:
static bool events_pending();
- /** Returns the time stamp from @a event , if there is one; otherwise
- * returns Gdk::CURRENT_TIME. If @a event is <tt>0</tt>, returns Gdk::CURRENT_TIME.
+ /** returns Gdk::CURRENT_TIME. If @a event is <tt>0</tt>, returns Gdk::CURRENT_TIME.
+ * Return value: time stamp field from @a event
* @return Time stamp field from @a event .
*/
guint32 get_time() const;
@@ -323,26 +323,14 @@ public:
*/
void set_screen(const Glib::RefPtr<Screen>& screen);
- /** Returns the screen for the event. The screen is
- * typically the screen for <tt>event->any.window</tt>, but
- * for events such as mouse events, it is the screen
- * where the pointer was when the event occurs -
- * that is, the screen which has the root window
- * to which <tt>event->motion.x_root</tt> and
- * <tt>event->motion.y_root</tt> are relative.
+ /** Return value: the screen for the event
* @return The screen for the event
*
* @newin2p2.
*/
Glib::RefPtr<Screen> get_screen();
- /** Returns the screen for the event. The screen is
- * typically the screen for <tt>event->any.window</tt>, but
- * for events such as mouse events, it is the screen
- * where the pointer was when the event occurs -
- * that is, the screen which has the root window
- * to which <tt>event->motion.x_root</tt> and
- * <tt>event->motion.y_root</tt> are relative.
+ /** Return value: the screen for the event
* @return The screen for the event
*
* @newin2p2.
@@ -381,10 +369,13 @@ inline void swap(Event& lhs, Event& rhs)
namespace Glib
{
-/** @relates Gdk::Event
- * @param object The C instance
+/** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gdk::Event
*/
Gdk::Event wrap(GdkEvent* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gdk/gdkmm/gc.cc b/libs/gtkmm2/gdk/gdkmm/gc.cc
index eeddc82148..5bdb704459 100644
--- a/libs/gtkmm2/gdk/gdkmm/gc.cc
+++ b/libs/gtkmm2/gdk/gdkmm/gc.cc
@@ -194,7 +194,8 @@ GType GC::get_base_type()
GC::GC()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(gc_class_.init()))
{
}
diff --git a/libs/gtkmm2/gdk/gdkmm/gc.h b/libs/gtkmm2/gdk/gdkmm/gc.h
index 5c156d706e..40bb206e23 100644
--- a/libs/gtkmm2/gdk/gdkmm/gc.h
+++ b/libs/gtkmm2/gdk/gdkmm/gc.h
@@ -622,10 +622,13 @@ protected:
namespace Glib
{
- /** @relates Gdk::GC
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gdk::GC
*/
Glib::RefPtr<Gdk::GC> wrap(GdkGC* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gdk/gdkmm/general.cc b/libs/gtkmm2/gdk/gdkmm/general.cc
index 48729f95a8..b942954cb0 100644
--- a/libs/gtkmm2/gdk/gdkmm/general.cc
+++ b/libs/gtkmm2/gdk/gdkmm/general.cc
@@ -53,30 +53,65 @@ void flush()
namespace Cairo
{
+#ifndef GDKMM_DISABLE_DEPRECATED
void set_source_color(::Cairo::RefPtr< ::Cairo::Context >& context, const Gdk::Color& color)
{
gdk_cairo_set_source_color(context->cobj(), const_cast<GdkColor*>(color.gobj()));
}
+#endif
+void set_source_color(const ::Cairo::RefPtr< ::Cairo::Context >& context, const Gdk::Color& color)
+{
+ gdk_cairo_set_source_color(context->cobj(), const_cast<GdkColor*>(color.gobj()));
+}
+
+#ifndef GDKMM_DISABLE_DEPRECATED
void set_source_pixbuf(::Cairo::RefPtr< ::Cairo::Context >& context, const Glib::RefPtr<Gdk::Pixbuf>& pixbuf, double pixbuf_x, double pixbuf_y)
{
gdk_cairo_set_source_pixbuf(context->cobj(), pixbuf->gobj(), pixbuf_x, pixbuf_y);
}
+#endif
+
+void set_source_pixbuf(const ::Cairo::RefPtr< ::Cairo::Context >& context, const Glib::RefPtr<Gdk::Pixbuf>& pixbuf, double pixbuf_x, double pixbuf_y)
+{
+ gdk_cairo_set_source_pixbuf(context->cobj(), pixbuf->gobj(), pixbuf_x, pixbuf_y);
+}
+#ifndef GDKMM_DISABLE_DEPRECATED
void set_source_pixmap(::Cairo::RefPtr< ::Cairo::Context >& context, const Glib::RefPtr<Gdk::Pixmap>& pixmap, double pixmap_x, double pixmap_y)
{
gdk_cairo_set_source_pixmap(context->cobj(), pixmap->gobj(), pixmap_x, pixmap_y);
}
+#endif
+
+void set_source_pixmap(const ::Cairo::RefPtr< ::Cairo::Context >& context, const Glib::RefPtr<Gdk::Pixmap>& pixmap, double pixmap_x, double pixmap_y)
+{
+ gdk_cairo_set_source_pixmap(context->cobj(), pixmap->gobj(), pixmap_x, pixmap_y);
+}
+#ifndef GDKMM_DISABLE_DEPRECATED
void rectangle(::Cairo::RefPtr< ::Cairo::Context >& context, const Gdk::Rectangle& rectangle)
{
gdk_cairo_rectangle(context->cobj(), const_cast<GdkRectangle*>(rectangle.gobj()));
}
+#endif
+
+void add_rectangle_to_path(const ::Cairo::RefPtr< ::Cairo::Context >& context, const Gdk::Rectangle& rectangle)
+{
+ gdk_cairo_rectangle(context->cobj(), const_cast<GdkRectangle*>(rectangle.gobj()));
+}
+#ifndef GDKMM_DISABLE_DEPRECATED
void region(::Cairo::RefPtr< ::Cairo::Context >& context, const Gdk::Region& region)
{
gdk_cairo_region(context->cobj(), const_cast<GdkRegion*>(region.gobj()));
}
+#endif
+
+void add_region_to_path(const ::Cairo::RefPtr< ::Cairo::Context >& context, const Gdk::Region& region)
+{
+ gdk_cairo_region(context->cobj(), const_cast<GdkRegion*>(region.gobj()));
+}
} //namespace Cairo
diff --git a/libs/gtkmm2/gdk/gdkmm/general.h b/libs/gtkmm2/gdk/gdkmm/general.h
index b5b6164a8d..7a528e1621 100644
--- a/libs/gtkmm2/gdk/gdkmm/general.h
+++ b/libs/gtkmm2/gdk/gdkmm/general.h
@@ -37,53 +37,121 @@ void flush();
namespace Cairo
{
+#ifndef GDKMM_DISABLE_DEPRECATED
/** Sets the specified Gdk::Color as the source color of the Cairo context.
* @param @context The cairo context.
* @param color The color to use as the source color.
*
+ * @deprecated Use the overloaded function that takes a const RefPtr
+ * reference.
+ *
* @newin2p10
*/
void set_source_color(::Cairo::RefPtr< ::Cairo::Context >& context, const Gdk::Color& color);
+#endif
+
+/** Sets the specified Gdk::Color as the source color of the Cairo context.
+ * @param @context The cairo context.
+ * @param color The color to use as the source color.
+ *
+ * @newin2p12
+ */
+void set_source_color(const ::Cairo::RefPtr< ::Cairo::Context >& context, const Gdk::Color& color);
+#ifndef GDKMM_DISABLE_DEPRECATED
/** Sets the given pixbuf as the source pattern for the Cairo context. The pattern has an extend mode of CAIRO_EXTEND_NONE and is aligned so that the origin of pixbuf is pixbuf_x, pixbuf_y.
* @param @context The cairo context.
* @param pixbuf A Gdk::Pixbuf
* @param pixbuf_x X coordinate of location to place upper left corner of pixbuf.
* @param pixbuf_y Y coordinate of location to place upper left corner of pixbuf.
*
+ * @deprecated Use the overloaded function that takes a const RefPtr
+ * reference.
+ *
* @newin2p10
*/
void set_source_pixbuf(::Cairo::RefPtr< ::Cairo::Context >& context, const Glib::RefPtr<Gdk::Pixbuf>& pixbuf, double pixbuf_x, double pixbuf_y);
+#endif
+
+/** Sets the given pixbuf as the source pattern for the Cairo context. The pattern has an extend mode of CAIRO_EXTEND_NONE and is aligned so that the origin of pixbuf is pixbuf_x, pixbuf_y.
+ * @param @context The cairo context.
+ * @param pixbuf A Gdk::Pixbuf
+ * @param pixbuf_x X coordinate of location to place upper left corner of pixbuf.
+ * @param pixbuf_y Y coordinate of location to place upper left corner of pixbuf.
+ *
+ * @newin2p12
+ */
+void set_source_pixbuf(const ::Cairo::RefPtr< ::Cairo::Context >& context, const Glib::RefPtr<Gdk::Pixbuf>& pixbuf, double pixbuf_x, double pixbuf_y);
+#ifndef GDKMM_DISABLE_DEPRECATED
/** Sets the given pixbuf as the source pattern for the Cairo context. The pattern has an extend mode of CAIRO_EXTEND_NONE and is aligned so that the origin of pixbuf is pixmap_x, pixmap_y.
* @param @context The cairo context.
* @param pixmap A Gdk::Pixmap
* @param pixmap_x X coordinate of location to place upper left corner of pixmap.
* @param pixmap_y Y coordinate of location to place upper left corner of pixmap.
*
+ * @deprecated Use the overloaded function that takes a const RefPtr
+ * reference.
+ *
* @newin2p10
*/
void set_source_pixmap(::Cairo::RefPtr< ::Cairo::Context >& context, const Glib::RefPtr<Gdk::Pixmap>& pixmap, double pixmap_x, double pixmap_y);
+#endif
-//TODO: Rename to add_rectangle_to_context_path and add_region_to_context_path(), and deprecate rectangle() and region()?
+/** Sets the given pixbuf as the source pattern for the Cairo context. The pattern has an extend mode of CAIRO_EXTEND_NONE and is aligned so that the origin of pixbuf is pixmap_x, pixmap_y.
+ * @param @context The cairo context.
+ * @param pixmap A Gdk::Pixmap
+ * @param pixmap_x X coordinate of location to place upper left corner of pixmap.
+ * @param pixmap_y Y coordinate of location to place upper left corner of pixmap.
+ *
+ * @newin2p12
+ */
+void set_source_pixmap(const ::Cairo::RefPtr< ::Cairo::Context >& context, const Glib::RefPtr<Gdk::Pixmap>& pixmap, double pixmap_x, double pixmap_y);
+#ifndef GDKMM_DISABLE_DEPRECATED
/** Adds the given rectangle to the current path of the context.
*
* @param context A cairo context.
* @param rectangle A rectangle to add to the path of the context.
*
+ * @deprecated Use add_rectangle_to_path() instead
+ * reference.
+ *
* @newin2p10
*/
void rectangle(::Cairo::RefPtr< ::Cairo::Context >& context, const Gdk::Rectangle& rectangle);
+#endif
+
+/** Adds the given rectangle to the current path of the context.
+ *
+ * @param context A cairo context.
+ * @param rectangle A rectangle to add to the path of the context.
+ *
+ * @newin2p12
+ */
+void add_rectangle_to_path(const ::Cairo::RefPtr< ::Cairo::Context >& context, const Gdk::Rectangle& rectangle);
+#ifndef GDKMM_DISABLE_DEPRECATED
/** Adds the given region to the current path of the context.
*
* @param context A cairo context.
* @param region A region to add to the path of the context.
*
+ * @deprecated Use add_region_to_path() instead
+ *
* @newin2p10
*/
void region(::Cairo::RefPtr< ::Cairo::Context >& context, const Gdk::Region& region);
+#endif
+
+/** Adds the given region to the current path of the context.
+ *
+ * @param context A cairo context.
+ * @param region A region to add to the path of the context.
+ *
+ * @newin2p12
+ */
+void add_region_to_path(const ::Cairo::RefPtr< ::Cairo::Context >& context, const Gdk::Region& region);
} //namespace Cairo
diff --git a/libs/gtkmm2/gdk/gdkmm/image.h b/libs/gtkmm2/gdk/gdkmm/image.h
index 5b9fa7f33b..dc506bc6ee 100644
--- a/libs/gtkmm2/gdk/gdkmm/image.h
+++ b/libs/gtkmm2/gdk/gdkmm/image.h
@@ -225,10 +225,13 @@ protected:
namespace Glib
{
- /** @relates Gdk::Image
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gdk::Image
*/
Glib::RefPtr<Gdk::Image> wrap(GdkImage* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gdk/gdkmm/pixbuf.cc b/libs/gtkmm2/gdk/gdkmm/pixbuf.cc
index 4a97b5dac9..0489cc4b39 100644
--- a/libs/gtkmm2/gdk/gdkmm/pixbuf.cc
+++ b/libs/gtkmm2/gdk/gdkmm/pixbuf.cc
@@ -60,6 +60,8 @@ static void pixbuf_destroy_data_callback(guint8* pixels, void* user_data)
namespace Gdk
{
+#ifndef GDKMM_DISABLE_DEPRECATED
+
Pixbuf::Pixbuf(const Glib::RefPtr<Image>& src,
const Glib::RefPtr<Colormap>& cmap,
int src_x, int src_y,
@@ -69,6 +71,27 @@ Pixbuf::Pixbuf(const Glib::RefPtr<Image>& src,
Object((GObject*) gdk_pixbuf_get_from_image(
0, src->gobj(), cmap->gobj(), src_x, src_y, dest_x, dest_y, width, height))
{}
+#endif // GDKMM_DISABLE_DEPRECATED
+
+
+Pixbuf::Pixbuf(const Glib::RefPtr<Image>& src,
+ const Glib::RefPtr<Colormap>& cmap,
+ int src_x, int src_y,
+ int width, int height)
+:
+ Object((GObject*) gdk_pixbuf_get_from_image(
+ 0, src->gobj(), cmap->gobj(), src_x, src_y, 0, 0, width, height))
+{}
+
+Pixbuf::Pixbuf(const Glib::RefPtr<Image>& src,
+ int src_x, int src_y,
+ int width, int height)
+:
+ Object((GObject*) gdk_pixbuf_get_from_image(
+ 0, src->gobj(), 0, src_x, src_y, 0, 0, width, height))
+{}
+
+#ifndef GDKMM_DISABLE_DEPRECATED
Pixbuf::Pixbuf(const Glib::RefPtr<Drawable>& src,
const Glib::RefPtr<Colormap>& cmap,
@@ -79,6 +102,46 @@ Pixbuf::Pixbuf(const Glib::RefPtr<Drawable>& src,
Object((GObject*) gdk_pixbuf_get_from_drawable(
0, src->gobj(), cmap->gobj(), src_x, src_y, dest_x, dest_y, width, height))
{}
+#endif // GDKMM_DISABLE_DEPRECATED
+
+
+Pixbuf::Pixbuf(const Glib::RefPtr<Drawable>& src,
+ const Glib::RefPtr<Colormap>& cmap,
+ int src_x, int src_y,
+ int width, int height)
+:
+ Object((GObject*) gdk_pixbuf_get_from_drawable(
+ 0, src->gobj(), cmap->gobj(), src_x, src_y, 0, 0, width, height))
+{}
+
+Pixbuf::Pixbuf(const Glib::RefPtr<Drawable>& src,
+ int src_x, int src_y,
+ int width, int height)
+:
+ Object((GObject*) gdk_pixbuf_get_from_drawable(
+ 0, src->gobj(), 0, src_x, src_y, 0, 0, width, height))
+{}
+
+#ifndef GDKMM_DISABLE_DEPRECATED
+
+Glib::RefPtr<Pixbuf> Pixbuf::create(const Glib::RefPtr<Drawable>& src,
+ const Glib::RefPtr<Colormap>& cmap,
+ int src_x, int src_y,
+ int dest_x, int dest_y,
+ int width, int height)
+{
+ return Glib::RefPtr<Pixbuf>( new Pixbuf(src, cmap, src_x, src_y, dest_x, dest_y, width, height) );
+}
+
+Glib::RefPtr<Pixbuf> Pixbuf::create(const Glib::RefPtr<Image>& src,
+ const Glib::RefPtr<Colormap>& cmap,
+ int src_x, int src_y,
+ int dest_x, int dest_y,
+ int width, int height)
+{
+ return Glib::RefPtr<Pixbuf>( new Pixbuf(src, cmap, src_x, src_y, dest_x, dest_y, width, height) );
+}
+#endif // GDKMM_DISABLE_DEPRECATED
Glib::RefPtr<Pixbuf> Pixbuf::create_from_data(const guint8* data, Colorspace colorspace,
@@ -234,11 +297,9 @@ void Pixbuf::save_to_buffer(gchar*& buffer, gsize& buffer_size,
Pixbuf::SListHandle_PixbufFormat Pixbuf::get_formats()
{
- //TODO: Check that this ownership is appropriate. murrayc.
- return SListHandle_PixbufFormat(gdk_pixbuf_get_formats(), Glib::OWNERSHIP_DEEP);
+ return SListHandle_PixbufFormat(gdk_pixbuf_get_formats(), Glib::OWNERSHIP_SHALLOW);
}
-
} // namespace Gdk
@@ -404,13 +465,21 @@ GType Pixbuf::get_base_type()
}
-Glib::RefPtr<Pixbuf> Pixbuf::create(const Glib::RefPtr<Drawable>& src, const Glib::RefPtr<Colormap>& cmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height)
+Glib::RefPtr<Pixbuf> Pixbuf::create(const Glib::RefPtr<Drawable>& src, const Glib::RefPtr<Colormap>& cmap, int src_x, int src_y, int width, int height)
{
- return Glib::RefPtr<Pixbuf>( new Pixbuf(src, cmap, src_x, src_y, dest_x, dest_y, width, height) );
+ return Glib::RefPtr<Pixbuf>( new Pixbuf(src, cmap, src_x, src_y, width, height) );
}
-Glib::RefPtr<Pixbuf> Pixbuf::create(const Glib::RefPtr<Image>& src, const Glib::RefPtr<Colormap>& cmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height)
+Glib::RefPtr<Pixbuf> Pixbuf::create(const Glib::RefPtr<Drawable>& src, int src_x, int src_y, int width, int height)
{
- return Glib::RefPtr<Pixbuf>( new Pixbuf(src, cmap, src_x, src_y, dest_x, dest_y, width, height) );
+ return Glib::RefPtr<Pixbuf>( new Pixbuf(src, src_x, src_y, width, height) );
+}
+Glib::RefPtr<Pixbuf> Pixbuf::create(const Glib::RefPtr<Image>& src, const Glib::RefPtr<Colormap>& cmap, int src_x, int src_y, int width, int height)
+{
+ return Glib::RefPtr<Pixbuf>( new Pixbuf(src, cmap, src_x, src_y, width, height) );
+}
+Glib::RefPtr<Pixbuf> Pixbuf::create(const Glib::RefPtr<Image>& src, int src_x, int src_y, int width, int height)
+{
+ return Glib::RefPtr<Pixbuf>( new Pixbuf(src, src_x, src_y, width, height) );
}
Glib::RefPtr<Pixbuf> Pixbuf::copy() const
{
diff --git a/libs/gtkmm2/gdk/gdkmm/pixbuf.h b/libs/gtkmm2/gdk/gdkmm/pixbuf.h
index fb4a066ef6..543b52d4b9 100644
--- a/libs/gtkmm2/gdk/gdkmm/pixbuf.h
+++ b/libs/gtkmm2/gdk/gdkmm/pixbuf.h
@@ -3,6 +3,8 @@
#ifndef _GDKMM_PIXBUF_H
#define _GDKMM_PIXBUF_H
+#include <gdkmmconfig.h>
+
#include <glibmm.h>
@@ -25,6 +27,10 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+// This is for including the config header before any code (such as
+// the #ifndef GDKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+
+
#include <gdkmm/drawable.h>
#include <gdkmm/image.h>
#include <gdkmm/pixmap.h>
@@ -287,20 +293,229 @@ private:
protected:
- //TODO: Document these, based on the docs for the C functions.
- Pixbuf(const Glib::RefPtr<Drawable>& src, const Glib::RefPtr<Colormap>& cmap,
+ /** Creates a pixbuf object from a drawable.
+ *
+ * Transfers image data from a Drawable and converts it to an RGB(A)
+ * representation inside a Pixbuf. In other words, copies
+ * image data from a server-side drawable to a client-side RGB(A) buffer.
+ * This allows you to efficiently read individual pixels on the client side.
+ *
+ * If the drawable @src has no colormap (See Gdk::Drawable::get_colormap()),
+ * then a suitable colormap must be specified. Otherwise, you may use the
+ * constructor that takes no colormap argument.
+ * Typically a Gdk::Window or a pixmap created by passing a Gdk:Window
+ * to the Gdk::Pixbuf constructor will already have a colormap associated with
+ * it. If the drawable is a bitmap (1 bit per pixel pixmap),
+ * then a colormap is not required; pixels with a value of 1 are
+ * assumed to be white, and pixels with a value of 0 are assumed to be
+ * black. For taking screenshots, Gdk::Colormap::get_system() returns
+ * the correct colormap to use.
+ *
+ * This will create an RGB pixbuf with 8 bits per channel and no
+ * alpha, with the same size specified by the @a width and @a height
+ * arguments.
+ *
+ * If the specified drawable is a pixmap, then the requested source
+ * rectangle must be completely contained within the pixmap, otherwise
+ * the constructor will fail. For pixmaps only (not for windows)
+ * passing -1 for width or height is allowed to mean the full width
+ * or height of the pixmap.
+ *
+ * If the specified drawable is a window, and the window is off the
+ * screen, then there is no image data in the obscured/offscreen
+ * regions to be placed in the pixbuf. The contents of portions of the
+ * pixbuf corresponding to the offscreen region are undefined.
+ *
+ * If the window you're obtaining data from is partially obscured by
+ * other windows, then the contents of the pixbuf areas corresponding
+ * to the obscured regions are undefined.
+ *
+ * See alo Gdk::Drawable::get_image().
+ *
+ * @param src Source drawable.
+ * @param cmap: A colormap.
+ * @param src_x Source X coordinate within drawable.
+ * @param src_y Source Y coordinate within drawable.
+ * @param width Width in pixels of region to get.
+ * @param height Height in pixels of region to get.
+ *
+ * @newin2p12
+ */
+ Pixbuf(const Glib::RefPtr<Drawable>& src, const Glib::RefPtr<Colormap>& cmap,
+ int src_x, int src_y, int width, int height);
+
+ /** Creates a pixbuf object from a drawable, using the colormap from the drawable.
+ *
+ * @param src Source drawable.
+ * @param src_x Source X coordinate within drawable.
+ * @param src_y Source Y coordinate within drawable.
+ * @param width Width in pixels of region to get.
+ * @param height Height in pixels of region to get.
+ *
+ * @newin2p12
+ */
+ Pixbuf(const Glib::RefPtr<Drawable>& src,
+ int src_x, int src_y, int width, int height);
+
+ #ifndef GDKMM_DISABLE_DEPRECATED
+
+ /// @deprecated Use the constructor without dest_x and dest_y parameters.
+ Pixbuf(const Glib::RefPtr<Drawable>& src, const Glib::RefPtr<Colormap>& cmap,
int src_x, int src_y, int dest_x, int dest_y, int width, int height);
+ #endif // GDKMM_DISABLE_DEPRECATED
+
+
+ /** Creates a pixbuf object from an image.
+ *
+ * @param src Source Image.
+ * @param cmap A colormap.
+ * @param src_x Source X coordinate within the image.
+ * @param src_y Source Y coordinate within the image.
+ * @param width Width in pixels of region to get.
+ * @param height Height in pixels of region to get.
+ *
+ * @newin2p12
+ */
+ Pixbuf(const Glib::RefPtr<Image>& src, const Glib::RefPtr<Colormap>& cmap,
+ int src_x, int src_y, int width, int height);
+
+ /** Creates a pixbuf object from an image, using the colormap from the image.
+ *
+ * @param src Source Image.
+ * @param src_x Source X coordinate within the image.
+ * @param src_y Source Y coordinate within the image.
+ * @param width Width in pixels of region to get.
+ * @param height Height in pixels of region to get.
+ *
+ * @newinp212
+ */
+ Pixbuf(const Glib::RefPtr<Image>& src,
+ int src_x, int src_y, int width, int height);
+
+ #ifndef GDKMM_DISABLE_DEPRECATED
+
+ /// @deprecated Use the constructors without dest_x and dest_y parameters.
Pixbuf(const Glib::RefPtr<Image>& src, const Glib::RefPtr<Colormap>& cmap,
int src_x, int src_y, int dest_x, int dest_y, int width, int height);
+ #endif // GDKMM_DISABLE_DEPRECATED
+
public:
typedef sigc::slot<void, const guint8*> SlotDestroyData;
+ // Hand-coded so the implementation in the .ccg is also only
+ // built when GDKMM_DISABLE_DEPRECATED is defined.
+ #ifndef GDKMM_DISABLE_DEPRECATED
+
+ /** @deprecated Use the create() methods that don't have the unused dest_x and dest_y parameters. */
+ static Glib::RefPtr<Gdk::Pixbuf> create(const Glib::RefPtr<Drawable>& src,
+ const Glib::RefPtr<Colormap>& cmap,
+ int src_x, int src_y,
+ int dest_x, int dest_y,
+ int width, int height);
+
+ /** @deprecated Use the create() methods that that don't have the unused dest_x and dest_y parameters. */
+ static Glib::RefPtr<Gdk::Pixbuf> create(const Glib::RefPtr<Image>& src,
+ const Glib::RefPtr<Colormap>& cmap,
+ int src_x, int src_y,
+ int dest_x, int dest_y,
+ int width, int height);
+ #endif // GDKMM_DISABLE_DEPRECATED
+
+
+ /** Creates a pixbuf object from a drawable.
+ *
+ * Transfers image data from a Drawable and converts it to an RGB(A)
+ * representation inside a Pixbuf. In other words, copies
+ * image data from a server-side drawable to a client-side RGB(A) buffer.
+ * This allows you to efficiently read individual pixels on the client side.
+ *
+ * If the drawable @src has no colormap (See Gdk::Drawable::get_colormap()),
+ * then a suitable colormap must be specified. Otherwise, you may use the
+ * constructor that takes no colormap argument.
+ * Typically a Gdk::Window or a pixmap created by passing a Gdk:Window
+ * to the Gdk::Pixbuf constructor will already have a colormap associated with
+ * it. If the drawable is a bitmap (1 bit per pixel pixmap),
+ * then a colormap is not required; pixels with a value of 1 are
+ * assumed to be white, and pixels with a value of 0 are assumed to be
+ * black. For taking screenshots, Gdk::Colormap::get_system() returns
+ * the correct colormap to use.
+ *
+ * This will create an RGB pixbuf with 8 bits per channel and no
+ * alpha, with the same size specified by the @a width and @a height
+ * arguments.
+ *
+ * If the specified drawable is a pixmap, then the requested source
+ * rectangle must be completely contained within the pixmap, otherwise
+ * the constructor will fail. For pixmaps only (not for windows)
+ * passing -1 for width or height is allowed to mean the full width
+ * or height of the pixmap.
+ *
+ * If the specified drawable is a window, and the window is off the
+ * screen, then there is no image data in the obscured/offscreen
+ * regions to be placed in the pixbuf. The contents of portions of the
+ * pixbuf corresponding to the offscreen region are undefined.
+ *
+ * If the window you're obtaining data from is partially obscured by
+ * other windows, then the contents of the pixbuf areas corresponding
+ * to the obscured regions are undefined.
+ *
+ * See alo Gdk::Drawable::get_image().
+ *
+ * @param src Source drawable.
+ * @param cmap: A colormap.
+ * @param src_x Source X coordinate within drawable.
+ * @param src_y Source Y coordinate within drawable.
+ * @param width Width in pixels of region to get.
+ * @param height Height in pixels of region to get.
+ *
+ * @newin2p12
+ */
- static Glib::RefPtr<Pixbuf> create(const Glib::RefPtr<Drawable>& src, const Glib::RefPtr<Colormap>& cmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height);
+ static Glib::RefPtr<Pixbuf> create(const Glib::RefPtr<Drawable>& src, const Glib::RefPtr<Colormap>& cmap, int src_x, int src_y, int width, int height);
+
+ /** Creates a pixbuf object from a drawable, using the colormap from the drawable.
+ *
+ * @param src Source drawable.
+ * @param src_x Source X coordinate within drawable.
+ * @param src_y Source Y coordinate within drawable.
+ * @param width Width in pixels of region to get.
+ * @param height Height in pixels of region to get.
+ *
+ * @newin2p12
+ */
- static Glib::RefPtr<Pixbuf> create(const Glib::RefPtr<Image>& src, const Glib::RefPtr<Colormap>& cmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height);
+ static Glib::RefPtr<Pixbuf> create(const Glib::RefPtr<Drawable>& src, int src_x, int src_y, int width, int height);
+
+
+ /** Creates a pixbuf object from an image.
+ *
+ * @param src Source Image.
+ * @param cmap A colormap.
+ * @param src_x Source X coordinate within the image.
+ * @param src_y Source Y coordinate within the image.
+ * @param width Width in pixels of region to get.
+ * @param height Height in pixels of region to get.
+ *
+ * @newin2p12
+ */
+
+ static Glib::RefPtr<Pixbuf> create(const Glib::RefPtr<Image>& src, const Glib::RefPtr<Colormap>& cmap, int src_x, int src_y, int width, int height);
+
+
+ /** Creates a pixbuf object from an image, using the colormap from the image.
+ *
+ * @param src Source Image.
+ * @param src_x Source X coordinate within the image.
+ * @param src_y Source Y coordinate within the image.
+ * @param width Width in pixels of region to get.
+ * @param height Height in pixels of region to get.
+ *
+ * @newinp212
+ */
+
+ static Glib::RefPtr<Pixbuf> create(const Glib::RefPtr<Image>& src, int src_x, int src_y, int width, int height);
/** Creates a new Gdk::Pixbuf with a copy of the information in the specified
@@ -317,8 +532,8 @@ public:
* @param colorspace Color space for image.
* @param has_alpha Whether the image should have transparency information.
* @param bits_per_sample Number of bits per color sample.
- * @param width Width of image in pixels.
- * @param height Height of image in pixels.
+ * @param width Width of image in pixels, must be &gt; 0.
+ * @param height Height of image in pixels, must be &gt; 0.
* @return A newly-created Gdk::Pixbuf with a reference count of 1, or
* <tt>0</tt> if not enough memory could be allocated for the image buffer.
*/
@@ -736,14 +951,14 @@ gboolean gdk_pixbuf_save_to_callbackv (GdkPixbuf *pixbuf,
int dest_x, int dest_y) const;
- /** Modifies saturation and optionally pixelates @a src , placing the
- * result in @a dest . @a src and @a dest may be the same pixbuf with no ill
- * effects. If @a saturation is 1.0 then saturation is not changed. If
- * it's less than 1.0, saturation is reduced (the image is darkened);
- * if greater than 1.0, saturation is increased (the image is
- * brightened). If @a pixelate is <tt>true</tt>, then pixels are faded in a
- * checkerboard pattern to create a pixelated image. @a src and @a dest
- * must have the same image format, size, and rowstride.
+ /** Modifies saturation and optionally pixelates @a src , placing the result in
+ * @a dest . @a src and @a dest may be the same pixbuf with no ill effects. If
+ * @a saturation is 1.0 then saturation is not changed. If it's less than 1.0,
+ * saturation is reduced (the image turns toward grayscale); if greater than
+ * 1.0, saturation is increased (the image gets more vivid colors). If @a pixelate
+ * is <tt>true</tt>, then pixels are faded in a checkerboard pattern to create a
+ * pixelated image. @a src and @a dest must have the same image format, size, and
+ * rowstride.
* @param dest Place to write modified version of @a src .
* @param saturation Saturation factor.
* @param pixelate Whether to pixelate.
@@ -901,7 +1116,8 @@ gboolean gdk_pixbuf_save_to_callbackv (GdkPixbuf *pixbuf,
/** Rotates a pixbuf by a multiple of 90 degrees, and returns the
* result in a new pixbuf.
* @param angle The angle to rotate by.
- * @return A new pixbuf
+ * @return The new Gdk::Pixbuf, or <tt>0</tt> if not enough memory could be
+ * allocated for it.
*
* @newin2p6.
*/
@@ -910,7 +1126,8 @@ gboolean gdk_pixbuf_save_to_callbackv (GdkPixbuf *pixbuf,
/** Flips a pixbuf horizontally or vertically and returns the
* result in a new pixbuf.
* @param horizontal <tt>true</tt> to flip horizontally, <tt>false</tt> to flip vertically.
- * @return A new pixbuf.
+ * @return The new Gdk::Pixbuf, or <tt>0</tt> if not enough memory could be
+ * allocated for it.
*
* @newin2p6.
*/
@@ -950,7 +1167,7 @@ gboolean gdk_pixbuf_save_to_callbackv (GdkPixbuf *pixbuf,
* for consistent visual results. If you do not have any of these cases, the
* dither offsets can be both zero.
*
- * Deprecated: This function is obsolete. Use gdk_draw_pixbuf() instead.
+ * Deprecated: 2.4: This function is obsolete. Use gdk_draw_pixbuf() instead.
* @param drawable Destination drawable.
* @param gc GC used for rendering.
* @param src_x Source X coordinate within pixbuf.
@@ -979,7 +1196,7 @@ gboolean gdk_pixbuf_save_to_callbackv (GdkPixbuf *pixbuf,
* On older X servers, rendering pixbufs with an alpha channel involves round trips
* to the X server, and may be somewhat slow.
*
- * Deprecated: This function is obsolete. Use gdk_draw_pixbuf() instead.
+ * Deprecated: 2.4: This function is obsolete. Use gdk_draw_pixbuf() instead.
* @param drawable Destination drawable.
* @param src_x Source X coordinate within pixbuf.
* @param src_y Source Y coordinates within pixbuf.
@@ -1012,7 +1229,15 @@ gboolean gdk_pixbuf_save_to_callbackv (GdkPixbuf *pixbuf,
/** Looks up @a key in the list of options that may have been attached to the
- * @a pixbuf when it was loaded.
+ * @a pixbuf when it was loaded, or that may have been attached by another
+ * function using set_option().
+ *
+ * For instance, the ANI loader provides "Title" and "Artist" options.
+ * The ICO, XBM, and XPM loaders provide "x_hot" and "y_hot" hot-spot
+ * options for cursor definitions. The PNG loader provides the tEXt ancillary
+ * chunk key/value pairs as options. Since 2.12, the TIFF and JPEG loaders
+ * return an "orientation" option string that corresponds to the embedded
+ * TIFF/Exif orientation tag (if present).
* @param key A nul-terminated string.
* @return The value associated with @a key . This is a nul-terminated
* string that should not be freed or <tt>0</tt> if @a key was not found.
@@ -1048,10 +1273,13 @@ protected:
namespace Glib
{
- /** @relates Gdk::Pixbuf
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gdk::Pixbuf
*/
Glib::RefPtr<Gdk::Pixbuf> wrap(GdkPixbuf* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gdk/gdkmm/pixbufanimation.h b/libs/gtkmm2/gdk/gdkmm/pixbufanimation.h
index c30d72eae0..90e1149604 100644
--- a/libs/gtkmm2/gdk/gdkmm/pixbufanimation.h
+++ b/libs/gtkmm2/gdk/gdkmm/pixbufanimation.h
@@ -188,10 +188,13 @@ protected:
namespace Glib
{
- /** @relates Gdk::PixbufAnimation
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gdk::PixbufAnimation
*/
Glib::RefPtr<Gdk::PixbufAnimation> wrap(GdkPixbufAnimation* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gdk/gdkmm/pixbufanimationiter.h b/libs/gtkmm2/gdk/gdkmm/pixbufanimationiter.h
index 7223a4baec..fcddeb8289 100644
--- a/libs/gtkmm2/gdk/gdkmm/pixbufanimationiter.h
+++ b/libs/gtkmm2/gdk/gdkmm/pixbufanimationiter.h
@@ -114,10 +114,13 @@ protected:
namespace Glib
{
- /** @relates Gdk::PixbufAnimationIter
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gdk::PixbufAnimationIter
*/
Glib::RefPtr<Gdk::PixbufAnimationIter> wrap(GdkPixbufAnimationIter* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gdk/gdkmm/pixbufformat.h b/libs/gtkmm2/gdk/gdkmm/pixbufformat.h
index bff60da222..f4e88aaf65 100644
--- a/libs/gtkmm2/gdk/gdkmm/pixbufformat.h
+++ b/libs/gtkmm2/gdk/gdkmm/pixbufformat.h
@@ -56,21 +56,21 @@ public:
PixbufFormat& operator=(const PixbufFormat& src);
- /** Returns the name of the format.
+ /** Return value: the name of the format.
* @return The name of the format.
*
* @newin2p2.
*/
Glib::ustring get_name() const;
- /** Returns a description of the format.
+ /** Return value: a description of the format.
* @return A description of the format.
*
* @newin2p2.
*/
Glib::ustring get_description() const;
- /** Returns the mime types supported by the format.
+ /** Return value: a <tt>0</tt>-terminated array of mime types which must be freed with
* @return A <tt>0</tt>-terminated array of mime types which must be freed with
* Glib::strfreev() when it is no longer needed.
*
@@ -78,8 +78,7 @@ public:
*/
Glib::StringArrayHandle get_mime_types() const;
- /** Returns the filename extensions typically used for files in the
- * given format.
+ /** Return value: a <tt>0</tt>-terminated array of filename extensions which must be
* @return A <tt>0</tt>-terminated array of filename extensions which must be
* freed with Glib::strfreev() when it is no longer needed.
*
@@ -87,7 +86,7 @@ public:
*/
Glib::StringArrayHandle get_extensions() const;
- /** Returns whether pixbufs can be saved in the given format.
+ /** Return value: whether pixbufs can be saved in the given format.
* @return Whether pixbufs can be saved in the given format.
*
* @newin2p2.
@@ -95,18 +94,14 @@ public:
bool is_writable() const;
- /** Returns whether this image format is scalable. If a file is in a
- * scalable format, it is preferable to load it at the desired size,
- * rather than loading it at the default size and scaling the
- * resulting pixbuf to the desired size.
+ /** Return value: whether this image format is scalable.
* @return Whether this image format is scalable.
*
* @newin2p6.
*/
bool is_scalable() const;
- /** Returns whether this image format is disabled. See
- * gdk_pixbuf_format_set_disabled().
+ /** Return value: whether this image format is disabled.
* @return Whether this image format is disabled.
*
* @newin2p6.
@@ -123,10 +118,7 @@ public:
*/
void set_disabled(bool disabled = true);
- /** Returns information about the license of the image loader
- * for the format. The returned string should be a shorthand for
- * a wellknown license, e.g. "LGPL", "GPL", "QPL", "GPL/QPL",
- * or "other" to indicate some other license.
+ /** Returns: a string describing the license of @a format .
* @return A string describing the license of @a format .
*
* @newin2p6.
diff --git a/libs/gtkmm2/gdk/gdkmm/pixbufloader.cc b/libs/gtkmm2/gdk/gdkmm/pixbufloader.cc
index cd0022326b..17f0ad84a1 100644
--- a/libs/gtkmm2/gdk/gdkmm/pixbufloader.cc
+++ b/libs/gtkmm2/gdk/gdkmm/pixbufloader.cc
@@ -217,7 +217,7 @@ void PixbufLoader_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void PixbufLoader_Class::area_prepared_callback(GdkPixbufLoader* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -225,36 +225,39 @@ void PixbufLoader_Class::area_prepared_callback(GdkPixbufLoader* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_area_prepared();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_area_prepared();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->area_prepared)
- (*base->area_prepared)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->area_prepared)
+ (*base->area_prepared)(self);
}
void PixbufLoader_Class::area_updated_callback(GdkPixbufLoader* self, gint p0, gint p1, gint p2, gint p3)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -262,40 +265,43 @@ void PixbufLoader_Class::area_updated_callback(GdkPixbufLoader* self, gint p0, g
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_area_updated(p0
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_area_updated(p0
, p1
, p2
, p3
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->area_updated)
- (*base->area_updated)(self, p0, p1, p2, p3);
- }
+ // Call the original underlying C function:
+ if(base && base->area_updated)
+ (*base->area_updated)(self, p0, p1, p2, p3);
}
void PixbufLoader_Class::closed_callback(GdkPixbufLoader* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -303,32 +309,35 @@ void PixbufLoader_Class::closed_callback(GdkPixbufLoader* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_closed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_closed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->closed)
- (*base->closed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->closed)
+ (*base->closed)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -376,7 +385,8 @@ GType PixbufLoader::get_base_type()
PixbufLoader::PixbufLoader()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(pixbufloader_class_.init()))
{
}
diff --git a/libs/gtkmm2/gdk/gdkmm/pixbufloader.h b/libs/gtkmm2/gdk/gdkmm/pixbufloader.h
index 1df9791c95..a7f2908850 100644
--- a/libs/gtkmm2/gdk/gdkmm/pixbufloader.h
+++ b/libs/gtkmm2/gdk/gdkmm/pixbufloader.h
@@ -270,11 +270,9 @@ public:
* pixbuf in the desired size. After this signal is emitted,
* applications can call get_pixbuf() to fetch
* the partially-loaded pixbuf.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %area_prepared()</tt>
+ * <tt>void on_my_%area_prepared()</tt>
*/
Glib::SignalProxy0< void > signal_area_prepared();
@@ -290,11 +288,9 @@ public:
* @param y Y offset of upper-left corner of the updated area.
* @param width Width of updated area.
* @param height Height of updated area.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %area_updated(int x, int y, int width, int height)</tt>
+ * <tt>void on_my_%area_updated(int x, int y, int width, int height)</tt>
*/
Glib::SignalProxy4< void,int,int,int,int > signal_area_updated();
@@ -304,11 +300,9 @@ public:
* It can be used by different parts of an application to receive
* notification when an image loader is closed by the code that
* drives it.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %closed()</tt>
+ * <tt>void on_my_%closed()</tt>
*/
Glib::SignalProxy0< void > signal_closed();
@@ -324,11 +318,9 @@ public:
*
* @param width The original width of the image.
* @param height The original height of the image
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %size_prepared(int width, int height)</tt>
+ * <tt>void on_my_%size_prepared(int width, int height)</tt>
*/
Glib::SignalProxy2< void,int,int > signal_size_prepared();
@@ -361,10 +353,13 @@ protected:
namespace Glib
{
- /** @relates Gdk::PixbufLoader
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gdk::PixbufLoader
*/
Glib::RefPtr<Gdk::PixbufLoader> wrap(GdkPixbufLoader* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gdk/gdkmm/pixmap.cc b/libs/gtkmm2/gdk/gdkmm/pixmap.cc
index 6dd0a8be83..1c9edc25af 100644
--- a/libs/gtkmm2/gdk/gdkmm/pixmap.cc
+++ b/libs/gtkmm2/gdk/gdkmm/pixmap.cc
@@ -308,7 +308,8 @@ GType Pixmap::get_base_type()
Pixmap::Pixmap()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gdk::Drawable(Glib::ConstructParams(pixmap_class_.init()))
{
}
diff --git a/libs/gtkmm2/gdk/gdkmm/pixmap.h b/libs/gtkmm2/gdk/gdkmm/pixmap.h
index b544b063ee..83c4d75d6a 100644
--- a/libs/gtkmm2/gdk/gdkmm/pixmap.h
+++ b/libs/gtkmm2/gdk/gdkmm/pixmap.h
@@ -196,10 +196,13 @@ protected:
namespace Glib
{
- /** @relates Gdk::Pixmap
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gdk::Pixmap
*/
Glib::RefPtr<Gdk::Pixmap> wrap(GdkPixmapObject* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gdk/gdkmm/private/Makefile.am b/libs/gtkmm2/gdk/gdkmm/private/Makefile.am
new file mode 100644
index 0000000000..8640826f88
--- /dev/null
+++ b/libs/gtkmm2/gdk/gdkmm/private/Makefile.am
@@ -0,0 +1,14 @@
+## Copyright (c) 2001
+## The gtkmm development team.
+
+include $(srcdir)/../../src/Makefile_list_of_hg.am_fragment
+files_built_p_h = $(files_all_hg:.hg=_p.h)
+
+private_includedir = $(includedir)/gdkmm-2.4/gdkmm/private
+private_include_HEADERS = $(files_built_p_h)
+
+maintainer-clean-local:
+ (cd $(srcdir) && rm -f $(files_built_p_h))
+
+
+
diff --git a/libs/gtkmm2/gdk/gdkmm/private/Makefile.in b/libs/gtkmm2/gdk/gdkmm/private/Makefile.in
new file mode 100644
index 0000000000..4d395b8a3e
--- /dev/null
+++ b/libs/gtkmm2/gdk/gdkmm/private/Makefile.in
@@ -0,0 +1,491 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+
+# This file is include by other Makefile.am files, using the new automake include feature.
+# The include happens in Makefile.am, not Makefile.in or Makefile,
+# so it's like copy-and-pasting this into each of those Makefile.am files.
+
+# Built files
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = $(private_include_HEADERS) \
+ $(srcdir)/../../src/Makefile_list_of_hg.am_fragment \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment
+subdir = gdk/gdkmm/private
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+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 = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(private_includedir)"
+private_includeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(private_include_HEADERS)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+files_posix_hg =
+files_win32_hg =
+files_general_hg = bitmap.hg color.hg colormap.hg cursor.hg \
+ device.hg display.hg displaymanager.hg dragcontext.hg drawable.hg event.hg gc.hg image.hg \
+ pixbuf.hg pixbufanimation.hg pixbufanimationiter.hg pixmap.hg pixbufformat.hg pixbufloader.hg \
+ rectangle.hg region.hg rgbcmap.hg screen.hg types.hg visual.hg window.hg
+
+files_general_deprecated_hg =
+files_all_hg = \
+ $(files_posix_hg) \
+ $(files_win32_hg) \
+ $(files_general_hg) \
+ $(files_general_deprecated_hg)
+
+@OS_WIN32_FALSE@files_hg = $(files_general_hg) $(files_posix_hg) $(files_general_deprecated_hg)
+@OS_WIN32_TRUE@files_hg = $(files_general_hg) $(files_win32_hg) $(files_general_deprecated_hg)
+files_built_cc = $(files_hg:.hg=.cc) wrap_init.cc
+files_built_h = $(files_hg:.hg=.h)
+files_all_built_cc = $(files_all_hg:.hg=.cc) wrap_init.cc
+files_all_built_h = $(files_all_hg:.hg=.h)
+
+# Extra files
+files_all_extra_cc = \
+ $(sublib_files_extra_posix_cc) \
+ $(sublib_files_extra_win32_cc) \
+ $(sublib_files_extra_general_cc) \
+ $(sublib_files_extra_general_deprecated_cc)
+
+files_all_extra_h = $(sublib_files_extra_posix_h) \
+ $(sublib_files_extra_win32_h) $(sublib_files_extra_general_h) \
+ $(sublib_files_extra_general_deprecated_h) wrap_init.h
+@OS_WIN32_FALSE@files_extra_cc = \
+@OS_WIN32_FALSE@ $(sublib_files_extra_posix_cc) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_TRUE@files_extra_cc = \
+@OS_WIN32_TRUE@ $(sublib_files_extra_win32_cc) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_FALSE@files_extra_h = $(sublib_files_extra_posix_h) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_h) wrap_init.h
+@OS_WIN32_TRUE@files_extra_h = $(sublib_files_extra_win32_h) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_h) wrap_init.h
+files_built_p_h = $(files_all_hg:.hg=_p.h)
+private_includedir = $(includedir)/gdkmm-2.4/gdkmm/private
+private_include_HEADERS = $(files_built_p_h)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../../src/Makefile_list_of_hg.am_fragment $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gdk/gdkmm/private/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gdk/gdkmm/private/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
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-private_includeHEADERS: $(private_include_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(private_includedir)" || $(MKDIR_P) "$(DESTDIR)$(private_includedir)"
+ @list='$(private_include_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(private_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(private_includedir)/$$f'"; \
+ $(private_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(private_includedir)/$$f"; \
+ done
+
+uninstall-private_includeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(private_include_HEADERS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(private_includedir)/$$f'"; \
+ rm -f "$(DESTDIR)$(private_includedir)/$$f"; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(HEADERS)
+installdirs:
+ for dir in "$(DESTDIR)$(private_includedir)"; 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)
+
+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 distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-private_includeHEADERS
+
+install-dvi: install-dvi-am
+
+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
+
+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-private_includeHEADERS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool ctags 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-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-private_includeHEADERS 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 tags uninstall \
+ uninstall-am uninstall-private_includeHEADERS
+
+
+maintainer-clean-local:
+ (cd $(srcdir) && rm -f $(files_built_p_h))
+# 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:
diff --git a/libs/gtkmm2/gdk/gdkmm/region.h b/libs/gtkmm2/gdk/gdkmm/region.h
index af0d2647f9..0f49ba2fa3 100644
--- a/libs/gtkmm2/gdk/gdkmm/region.h
+++ b/libs/gtkmm2/gdk/gdkmm/region.h
@@ -141,19 +141,45 @@ public:
explicit Region(const Rectangle& rectangle);
+ /** Obtains the smallest rectangle which includes the entire Gdk::Region.
+ * @param rectangle Return location for the clipbox.
+ */
void get_clipbox(const Rectangle& rectangle);
Glib::ArrayHandle<Rectangle> get_rectangles() const;
+ /** Finds out if the Gdk::Region is empty.
+ * @return <tt>true</tt> if @a region is empty.
+ */
bool empty();
+ /** Finds out if a point is in a region.
+ * @param x The x coordinate of a point.
+ * @param y The y coordinate of a point.
+ * @return <tt>true</tt> if the point is in @a region .
+ */
bool point_in(int x, int y);
+ /** Tests whether a rectangle is within a region.
+ * @param rectangle A Gdk::Rectangle.
+ * @return Gdk::OVERLAP_RECTANGLE_IN, Gdk::OVERLAP_RECTANGLE_OUT, or
+ * Gdk::OVERLAP_RECTANGLE_PART, depending on whether the rectangle is inside,
+ * outside, or partly inside the Gdk::Region, respectively.
+ */
OverlapType rect_in(const Rectangle& rect);
+ /** Moves a region the specified distance.
+ * @param dx The distance to move the region horizontally.
+ * @param dy The distance to move the region vertically.
+ */
void offset(int dx, int dy);
+ /** Resizes a region by the specified amount.
+ * Positive values shrink the region. Negative values expand it.
+ * @param dx The number of pixels to shrink the region horizontally.
+ * @param dy The number of pixels to shrink the region vertically.
+ */
void shrink(int dx, int dy);
/** Sets the area of @a region to the union of the areas of @a region and
@@ -190,6 +216,13 @@ public:
*/
void xor_(const Region& source2); //xor is a keyword
+ /** Calls a function on each span in the intersection of @a region and @a spans .
+ * @param spans An array of Gdk::Spans.
+ * @param n_spans The length of @a spans .
+ * @param sorted <tt>true</tt> if @a spans is sorted wrt. the y coordinate.
+ * @param function Function to call on each span in the intersection.
+ * @param data Data to pass to @a function .
+ */
void spans_intersect_foreach(GdkSpan* spans, int n_spans, bool sorted, GdkSpanFunc function, gpointer data);
@@ -222,10 +255,13 @@ bool operator!=(const Region& lhs, const Region& rhs);
namespace Glib
{
- /** @relates Gdk::Region
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gdk::Region
*/
Gdk::Region wrap(GdkRegion* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gdk/gdkmm/screen.cc b/libs/gtkmm2/gdk/gdkmm/screen.cc
index b41daef539..0f2d71d379 100644
--- a/libs/gtkmm2/gdk/gdkmm/screen.cc
+++ b/libs/gtkmm2/gdk/gdkmm/screen.cc
@@ -110,7 +110,7 @@ void Screen_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Screen_Class::size_changed_callback(GdkScreen* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -118,32 +118,35 @@ void Screen_Class::size_changed_callback(GdkScreen* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_size_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_size_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->size_changed)
- (*base->size_changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->size_changed)
+ (*base->size_changed)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -299,6 +302,11 @@ Glib::RefPtr<const Visual> Screen::get_rgba_visual() const
return const_cast<Screen*>(this)->get_rgba_visual();
}
+bool Screen::is_composited() const
+{
+ return gdk_screen_is_composited(const_cast<GdkScreen*>(gobj()));
+}
+
Glib::RefPtr<Window> Screen::get_root_window()
{
@@ -405,6 +413,47 @@ Glib::RefPtr<Screen> Screen::get_default()
}
+void Screen::set_font_options(const Cairo::FontOptions& options)
+{
+gdk_screen_set_font_options(gobj(), (options).cobj());
+}
+
+Cairo::FontOptions Screen::get_font_options() const
+{
+ return Cairo::FontOptions(const_cast<cairo_font_options_t*>(gdk_screen_get_font_options(const_cast<GdkScreen*>(gobj()))), true /* take_reference */);
+}
+
+void Screen::set_resolution(double dpi)
+{
+gdk_screen_set_resolution(gobj(), dpi);
+}
+
+double Screen::get_resolution() const
+{
+ return gdk_screen_get_resolution(const_cast<GdkScreen*>(gobj()));
+}
+
+Glib::RefPtr<Gdk::Window> Screen::get_active_window()
+{
+
+ Glib::RefPtr<Gdk::Window> retvalue = Glib::wrap((GdkWindowObject*)(gdk_screen_get_active_window(gobj())));
+ if(retvalue)
+ retvalue->reference(); //The function does not do a ref for us.
+ return retvalue;
+
+}
+
+Glib::RefPtr<const Gdk::Window> Screen::get_active_window() const
+{
+ return const_cast<Screen*>(this)->get_active_window();
+}
+
+Glib::ListHandle< Glib::RefPtr<Window> > Screen::get_window_stack()
+{
+ return Glib::ListHandle< Glib::RefPtr<Window> >(gdk_screen_get_window_stack(gobj()), Glib::OWNERSHIP_DEEP);
+}
+
+
Glib::SignalProxy0< void > Screen::signal_size_changed()
{
return Glib::SignalProxy0< void >(this, &Screen_signal_size_changed_info);
diff --git a/libs/gtkmm2/gdk/gdkmm/screen.h b/libs/gtkmm2/gdk/gdkmm/screen.h
index 5cdb4e744a..d8ea3c075d 100644
--- a/libs/gtkmm2/gdk/gdkmm/screen.h
+++ b/libs/gtkmm2/gdk/gdkmm/screen.h
@@ -31,6 +31,7 @@
//#include <gdkmm/window.h>
#include <gdkmm/rectangle.h>
#include <glibmm/object.h>
+#include <cairomm/fontoptions.h>
#ifndef DOXYGEN_SHOULD_SKIP_THIS
@@ -216,6 +217,11 @@ public:
* when displaying the window on the screen: in particular, for
* X an appropriate windowing manager and compositing manager
* must be running to provide appropriate display.
+ *
+ * This functionality is not implemented in the Windows backend.
+ *
+ * For setting an overall opacity for a top-level window, see
+ * gdk_window_set_opacity().
* @return A colormap to use for windows with an alpha channel
* or <tt>0</tt> if the capability is not available.
*
@@ -231,6 +237,11 @@ public:
* when displaying the window on the screen: in particular, for
* X an appropriate windowing manager and compositing manager
* must be running to provide appropriate display.
+ *
+ * This functionality is not implemented in the Windows backend.
+ *
+ * For setting an overall opacity for a top-level window, see
+ * gdk_window_set_opacity().
* @return A colormap to use for windows with an alpha channel
* or <tt>0</tt> if the capability is not available.
*
@@ -260,6 +271,15 @@ public:
Glib::RefPtr<const Visual> get_rgba_visual() const;
+ /** Return value: Whether windows with RGBA visuals can reasonably be
+ * @return Whether windows with RGBA visuals can reasonably be
+ * expected to have their alpha channels drawn correctly on the screen.
+ *
+ * @newin2p10.
+ */
+ bool is_composited() const;
+
+
/** Gets the root window of @a screen .
* @return The root window
*
@@ -320,15 +340,14 @@ public:
*/
int get_width_mm() const;
- /** Returns the height of @a screen in millimeters.
- * Note that on some X servers this value will not be correct.
+ /** Returns: the heigth of @a screen in millimeters.
* @return The heigth of @a screen in millimeters.
*
* @newin2p2.
*/
int get_height_mm() const;
-
+
/** Lists the available visuals for the specified @a screen .
* A visual describes a hardware image data format.
* For example, a visual might support 24-bit color, or 8-bit color,
@@ -337,7 +356,8 @@ public:
* @return A list of visuals.
*/
Glib::ListHandle< Glib::RefPtr<Visual> > list_visuals();
-
+
+
/** Obtains a list of all toplevel windows known to GDK on the screen @a screen .
* A toplevel window is a child of the root window (see
* gdk_get_default_root_window()).
@@ -345,6 +365,7 @@ public:
* @return List of toplevel windows.
*/
Glib::ListHandle< Glib::RefPtr<Window> > get_toplevel_windows();
+
/** Determines the name to pass to Gdk::Display::open() to get
* a Gdk::Display with this screen as the default screen.
@@ -355,7 +376,7 @@ public:
Glib::ustring make_display_name();
- /** Returns the number of monitors which @a screen consists of.
+ /** Returns: number of monitors which @a screen consists of.
* @return Number of monitors which @a screen consists of.
*
* @newin2p2.
@@ -374,7 +395,7 @@ public:
*/
void get_monitor_geometry(int monitor_num, Rectangle& dest) const;
- /** Returns the monitor number in which the point ( @a x , @a y ) is located.
+ /** Returns: the monitor number in which the point ( @a x , @a y ) lies, or
* @param x The x coordinate in the virtual screen.
* @param y The y coordinate in the virtual screen.
* @return The monitor number in which the point ( @a x , @a y ) lies, or
@@ -427,13 +448,79 @@ public:
bool get_setting(const Glib::ustring& name, ValueType& value) const;
- /** The size_changed signal is emitted when the pixel width or
- * height of a screen changes.
+ /** Sets the default font options for the screen. These
+ * options will be set on any Pango::Context's newly created
+ * with gdk_pango_context_get_for_screen(). Changing the
+ * default set of font options does not affect contexts that
+ * have already been created.
+ *
+ * @newin2p10
+ * @param options A #cairo_font_options_t, or <tt>0</tt> to unset any
+ * previously set default font options.
+ */
+ void set_font_options(const Cairo::FontOptions& options);
+
+ // Note: This returns a const, so we assume that we must copy it:
+
+
+ /** Gets any options previously set with set_font_options().
+ * @return The current font options, or <tt>0</tt> if no default
+ * font options have been set.
+ *
+ * @newin2p10.
*/
+ Cairo::FontOptions get_font_options() const;
+
+
+ /** @newin2p10
+ * @param dpi The resolution in "dots per inch". (Physical inches aren't actually
+ * involved; the terminology is conventional.)
+ *
+ * Sets the resolution for font handling on the screen. This is a
+ * scale factor between points specified in a Pango::FontDescription
+ * and cairo units. The default value is 96, meaning that a 10 point
+ * font will be 13 units high. (10 * 96. / 72. = 13.3).
+ */
+ void set_resolution(double dpi);
+
+ /** Gets the resolution for font handling on the screen; see
+ * set_resolution() for full details.
+ * @return The current resolution, or -1 if no resolution
+ * has been set.
+ *
+ * @newin2p10.
+ */
+ double get_resolution() const;
+
+
+ /** Return value: the currently active window, or <tt>0</tt>.
+ * @return The currently active window, or <tt>0</tt>.
+ *
+ * @newin2p10.
+ */
+ Glib::RefPtr<Gdk::Window> get_active_window();
-/**
+ /** Return value: the currently active window, or <tt>0</tt>.
+ * @return The currently active window, or <tt>0</tt>.
+ *
+ * @newin2p10.
+ */
+ Glib::RefPtr<const Gdk::Window> get_active_window() const;
+
+
+ /** Return value: a list of Gdk::Window&lt;!-- --&gt;s for the current window stack,
+ * @return A list of Gdk::Window&lt;!-- --&gt;s for the current window stack,
+ * or <tt>0</tt>.
+ *
+ * @newin2p10.
+ */
+ Glib::ListHandle< Glib::RefPtr<Window> > get_window_stack();
+
+ /** The size_changed signal is emitted when the pixel width or
+ * height of a screen changes.
+ *
* @par Prototype:
- * <tt>void %size_changed()</tt>
+ * <tt>void on_my_%size_changed()</tt>
*/
Glib::SignalProxy0< void > signal_size_changed();
@@ -476,10 +563,13 @@ bool Screen::get_setting(const Glib::ustring& name, ValueType& value) const
namespace Glib
{
- /** @relates Gdk::Screen
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gdk::Screen
*/
Glib::RefPtr<Gdk::Screen> wrap(GdkScreen* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gdk/gdkmm/types.h b/libs/gtkmm2/gdk/gdkmm/types.h
index 60dd486794..d9d10f556b 100644
--- a/libs/gtkmm2/gdk/gdkmm/types.h
+++ b/libs/gtkmm2/gdk/gdkmm/types.h
@@ -128,8 +128,11 @@ enum ModifierType
BUTTON3_MASK = 1 << 10,
BUTTON4_MASK = 1 << 11,
BUTTON5_MASK = 1 << 12,
+ SUPER_MASK = 1 << 26,
+ HYPER_MASK = 1 << 27,
+ META_MASK = 1 << 28,
RELEASE_MASK = 1 << 30,
- MODIFIER_MASK = 0x40001FFF
+ MODIFIER_MASK = 0x5c001fff
};
/** @ingroup gdkmmEnums */
@@ -352,6 +355,7 @@ typedef AtomStringTraits AtomString;
#endif //DOXYGEN_SHOULD_SKIP_THIS
typedef Glib::ArrayHandle<std::string,AtomStringTraits> ArrayHandle_AtomString;
+typedef Glib::ListHandle<std::string,AtomStringTraits> ListHandle_AtomString;
} // namespace Gdk
diff --git a/libs/gtkmm2/gdk/gdkmm/visual.cc b/libs/gtkmm2/gdk/gdkmm/visual.cc
index 4f77645a88..d92b6f82d6 100644
--- a/libs/gtkmm2/gdk/gdkmm/visual.cc
+++ b/libs/gtkmm2/gdk/gdkmm/visual.cc
@@ -147,7 +147,8 @@ GType Visual::get_base_type()
Visual::Visual()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(visual_class_.init()))
{
}
diff --git a/libs/gtkmm2/gdk/gdkmm/visual.h b/libs/gtkmm2/gdk/gdkmm/visual.h
index b170b4ce15..8c713a92e7 100644
--- a/libs/gtkmm2/gdk/gdkmm/visual.h
+++ b/libs/gtkmm2/gdk/gdkmm/visual.h
@@ -247,10 +247,13 @@ protected:
namespace Glib
{
- /** @relates Gdk::Visual
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gdk::Visual
*/
Glib::RefPtr<Gdk::Visual> wrap(GdkVisual* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gdk/gdkmm/window.cc b/libs/gtkmm2/gdk/gdkmm/window.cc
index 90c72d1dc7..7a2b84dec6 100644
--- a/libs/gtkmm2/gdk/gdkmm/window.cc
+++ b/libs/gtkmm2/gdk/gdkmm/window.cc
@@ -380,11 +380,36 @@ void Window::set_child_shapes()
gdk_window_set_child_shapes(gobj());
}
+void Window::set_composited(bool composited)
+{
+gdk_window_set_composited(gobj(), static_cast<int>(composited));
+}
+
void Window::merge_child_shapes()
{
gdk_window_merge_child_shapes(gobj());
}
+void Window::input_shape_combine_mask(const Glib::RefPtr<Bitmap>& mask, int x, int y)
+{
+gdk_window_input_shape_combine_mask(gobj(), Glib::unwrap(mask), x, y);
+}
+
+void Window::input_shape_combine_region(const Region& shape_region, int offset_x, int offset_y)
+{
+gdk_window_input_shape_combine_region(gobj(), const_cast<GdkRegion*>((shape_region).gobj()), offset_x, offset_y);
+}
+
+void Window::set_child_input_shapes()
+{
+gdk_window_set_child_input_shapes(gobj());
+}
+
+void Window::merge_child_input_shapes()
+{
+gdk_window_merge_child_input_shapes(gobj());
+}
+
bool Window::is_visible() const
{
return gdk_window_is_visible(const_cast<GdkWindow*>(gobj()));
@@ -410,6 +435,11 @@ void Window::set_type_hint(WindowTypeHint hint)
gdk_window_set_type_hint(gobj(), ((GdkWindowTypeHint)(hint)));
}
+WindowTypeHint Window::get_type_hint()
+{
+ return ((WindowTypeHint)(gdk_window_get_type_hint(gobj())));
+}
+
void Window::set_modal_hint(bool modal)
{
gdk_window_set_modal_hint(gobj(), static_cast<int>(modal));
@@ -451,6 +481,11 @@ void Window::set_role(const Glib::ustring& role)
gdk_window_set_role(gobj(), role.c_str());
}
+void Window::set_startup_id(const Glib::ustring& startup_id)
+{
+gdk_window_set_startup_id(gobj(), startup_id.c_str());
+}
+
void Window::set_transient_for(const Glib::RefPtr<Window>& parent)
{
gdk_window_set_transient_for(gobj(), Glib::unwrap(parent));
@@ -612,6 +647,11 @@ Glib::ListHandle< Glib::RefPtr<Window> > Window::get_toplevels()
}
+void Window::beep()
+{
+gdk_window_beep(gobj());
+}
+
void Window::iconify()
{
gdk_window_iconify(gobj());
@@ -772,6 +812,11 @@ void Window::set_keep_below(bool setting)
gdk_window_set_keep_below(gobj(), static_cast<int>(setting));
}
+void Window::set_opacity(double opacity)
+{
+gdk_window_set_opacity(gobj(), opacity);
+}
+
void Window::set_accept_focus(bool accept_focus)
{
gdk_window_set_accept_focus(gobj(), static_cast<int>(accept_focus));
diff --git a/libs/gtkmm2/gdk/gdkmm/window.h b/libs/gtkmm2/gdk/gdkmm/window.h
index 40acfafa32..3c3835562e 100644
--- a/libs/gtkmm2/gdk/gdkmm/window.h
+++ b/libs/gtkmm2/gdk/gdkmm/window.h
@@ -264,7 +264,8 @@ enum WindowAttributesType
WA_COLORMAP = 1 << 5,
WA_VISUAL = 1 << 6,
WA_WMCLASS = 1 << 7,
- WA_NOREDIR = 1 << 8
+ WA_NOREDIR = 1 << 8,
+ WA_TYPE_HINT = 1 << 9
};
/** @ingroup gdkmmEnums */
@@ -401,7 +402,13 @@ enum WindowTypeHint
WINDOW_TYPE_HINT_SPLASHSCREEN,
WINDOW_TYPE_HINT_UTILITY,
WINDOW_TYPE_HINT_DOCK,
- WINDOW_TYPE_HINT_DESKTOP
+ WINDOW_TYPE_HINT_DESKTOP,
+ WINDOW_TYPE_HINT_DROPDOWN_MENU,
+ WINDOW_TYPE_HINT_POPUP_MENU,
+ WINDOW_TYPE_HINT_TOOLTIP,
+ WINDOW_TYPE_HINT_NOTIFICATION,
+ WINDOW_TYPE_HINT_COMBO,
+ WINDOW_TYPE_HINT_DND
};
} // namespace Gdk
@@ -904,6 +911,9 @@ public:
* easy to break GDK and/or GTK+, so you have to know what you're
* doing. Pass <tt>0</tt> for @a window to get all events for all windows,
* instead of events for a specific window.
+ *
+ * See Gdk::Display::add_client_message_filter() if you are interested
+ * in X ClientMessage events.
* @param function Filter callback.
* @param data Data to pass to filter callback.
*/
@@ -957,12 +967,14 @@ public:
* buggy. On servers without the shape extension, this function
* will do nothing.
*
+ * On the Win32 platform the functionality is always present.
+ *
* This function works on both toplevel and child windows.
* @param mask Shape mask.
* @param x X position of shape mask with respect to @a window .
* @param y Y position of shape mask with respect to @a window .
*/
- void shape_combine_mask(const Glib::RefPtr<Bitmap>& mask, int x, int y);
+ void shape_combine_mask(const Glib::RefPtr<Bitmap>& mask, int x, int y);
void unset_shape_combine_mask();
@@ -980,6 +992,8 @@ public:
* buggy. On servers without the shape extension, this function
* will do nothing.
*
+ * On the Win32 platform, this functionality is always present.
+ *
* This function works on both toplevel and child windows.
* @param shape_region Region of window to be non-transparent.
* @param offset_x X position of @a shape_region in @a window coordinates.
@@ -994,6 +1008,35 @@ public:
*/
void set_child_shapes();
+ /** Sets a Gdk::Window as composited, or unsets it. Composited
+ * windows do not automatically have their contents drawn to
+ * the screen. Drawing is redirected to an offscreen buffer
+ * and an expose event is emitted on the parent of the composited
+ * window. It is the responsibility of the parent's expose handler
+ * to manually merge the off-screen content onto the screen in
+ * whatever way it sees fit. See &lt;xref linkend="composited-window-example"/&gt;
+ * for an example.
+ *
+ * It only makes sense for child windows to be composited; see
+ * gdk_window_set_opacity() if you need translucent toplevel
+ * windows.
+ *
+ * An additional effect of this call is that the area of this
+ * window is no longer clipped from regions marked for
+ * invalidation on its parent. Draws done on the parent
+ * window are also no longer clipped by the child.
+ *
+ * This call is only supported on some systems (currently,
+ * only X11 with new enough Xcomposite and Xdamage extensions).
+ * You must call Gdk::Display::supports_composite() to check if
+ * setting a window as composited is supported before
+ * attempting to do so.
+ *
+ * @newin2p12
+ * @param composited <tt>true</tt> to set the window as composited.
+ */
+ void set_composited(bool composited = TRUE);
+
/** Merges the shape masks for any child windows into the
* shape mask for @a window . i.e. the union of all masks
* for @a window and its children will become the new mask
@@ -1004,7 +1047,79 @@ public:
* be merged.
*/
void merge_child_shapes();
+
+ /** Like gdk_window_shape_combine_mask(), but the shape applies
+ * only to event handling. Mouse events which happen while
+ * the pointer position corresponds to an unset bit in the
+ * mask will be passed on the window below @a window .
+ *
+ * An input shape is typically used with RGBA windows.
+ * The alpha channel of the window defines which pixels are
+ * invisible and allows for nicely antialiased borders,
+ * and the input shape controls where the window is
+ * "clickable".
+ *
+ * On the X11 platform, this requires version 1.1 of the
+ * shape extension.
+ *
+ * On the Win32 platform, this functionality is not present and the
+ * function does nothing.
+ *
+ * @newin2p10
+ * @param mask Shape mask.
+ * @param x X position of shape mask with respect to @a window .
+ * @param y Y position of shape mask with respect to @a window .
+ */
+ void input_shape_combine_mask(const Glib::RefPtr<Bitmap>& mask, int x, int y);
+
+ /** Like gdk_window_shape_combine_region(), but the shape applies
+ * only to event handling. Mouse events which happen while
+ * the pointer position corresponds to an unset bit in the
+ * mask will be passed on the window below @a window .
+ *
+ * An input shape is typically used with RGBA windows.
+ * The alpha channel of the window defines which pixels are
+ * invisible and allows for nicely antialiased borders,
+ * and the input shape controls where the window is
+ * "clickable".
+ *
+ * On the X11 platform, this requires version 1.1 of the
+ * shape extension.
+ *
+ * On the Win32 platform, this functionality is not present and the
+ * function does nothing.
+ *
+ * @newin2p10
+ * @param shape_region Region of window to be non-transparent.
+ * @param offset_x X position of @a shape_region in @a window coordinates.
+ * @param offset_y Y position of @a shape_region in @a window coordinates.
+ */
+ void input_shape_combine_region (const Region& shape_region, int offset_x, int offset_y);
+
+ /** Sets the input shape mask of @a window to the union of input shape masks
+ * for all children of @a window , ignoring the input shape mask of @a window
+ * itself. Contrast with gdk_window_merge_child_input_shapes() which includes
+ * the input shape mask of @a window in the masks to be merged.
+ *
+ * @newin2p10
+ */
+ void set_child_input_shapes();
+
+ /** Merges the input shape masks for any child windows into the
+ * input shape mask for @a window . i.e. the union of all input masks
+ * for @a window and its children will become the new input mask
+ * for @a window . See gdk_window_input_shape_combine_mask().
+ *
+ * This function is distinct from gdk_window_set_child_input_shapes()
+ * because it includes @a window 's input shape mask in the set of
+ * shapes to be merged.
+ *
+ * @newin2p10
+ */
+ void merge_child_input_shapes();
+
+
/** Checks whether the window has been mapped (with gdk_window_show() or
* gdk_window_show_unraised()).
* @return <tt>true</tt> if the window is mapped.
@@ -1044,6 +1159,13 @@ public:
*/
void set_type_hint(WindowTypeHint hint);
+ /** This function returns the type hint set for a window.
+ * @return The type hint set for @a window
+ *
+ * @newin2p10.
+ */
+ WindowTypeHint get_type_hint();
+
/** The application can use this hint to tell the window manager
* that a certain window has modal behaviour. The window manager
* can use this information to handle modal windows in a special
@@ -1180,6 +1302,14 @@ public:
*/
void set_role(const Glib::ustring& role);
+ /** When using GTK+, typically you should use gtk_window_set_startup_id()
+ * instead of this low-level function.
+ *
+ * @newin2p12
+ * @param startup_id A string with startup-notification identifier.
+ */
+ void set_startup_id(const Glib::ustring& startup_id);
+
/** Indicates to the window manager that @a window is a transient dialog
* associated with the application window @a parent . This allows the
* window manager to do things like center @a window on @a parent and
@@ -1314,10 +1444,14 @@ public:
void get_frame_extents(Rectangle& rect);
/** Obtains the current pointer position and modifier state.
- * The position is given in coordinates relative to @a window .
- * @param x Return location for X coordinate of pointer.
- * @param y Return location for Y coordinate of pointer.
- * @param mask Return location for modifier mask.
+ * The position is given in coordinates relative to the upper left
+ * corner of @a window .
+ * @param x Return location for X coordinate of pointer or <tt>0</tt> to not
+ * return the X coordinate.
+ * @param y Return location for Y coordinate of pointer or <tt>0</tt> to not
+ * return the Y coordinate.
+ * @param mask Return location for modifier mask or <tt>0</tt> to not return the
+ * modifier mask.
* @return The window containing the pointer (as with
* gdk_window_at_pointer()), or <tt>0</tt> if the window containing the
* pointer isn't known to GDK.
@@ -1440,14 +1574,14 @@ public:
*/
void set_group(const Glib::RefPtr<Window>& leader);
- /** Returns the group leader window for @a window . See gdk_window_set_group().
+ /** Return value: the group leader window for @a window
* @return The group leader window for @a window
*
* @newin2p4.
*/
Glib::RefPtr<Window> get_group();
- /** Returns the group leader window for @a window . See gdk_window_set_group().
+ /** Return value: the group leader window for @a window
* @return The group leader window for @a window
*
* @newin2p4.
@@ -1473,15 +1607,17 @@ public:
*/
void set_decorations(WMDecoration decorations);
- /** Returns the decorations set on the GdkWindow with #gdk_window_set_decorations
+ /** Returns: <tt>true</tt> if the window has decorations set, <tt>false</tt> otherwise.
* @param decorations The window decorations will be written here.
* @return <tt>true</tt> if the window has decorations set, <tt>false</tt> otherwise.
*/
bool get_decorations(WMDecoration& decorations) const;
- /** This function isn't really good for much. It sets the traditional
- * Motif window manager hint for which operations the window manager
- * should allow on a toplevel window. However, few window managers do
+ /** Sets hints about the window management functions to make available
+ * via buttons on the window frame.
+ *
+ * On the X backend, this function sets the traditional Motif window
+ * manager hint for this purpose. However, few window managers do
* anything reliable or interesting with this hint. Many ignore it
* entirely.
*
@@ -1504,6 +1640,15 @@ public:
static Glib::ListHandle< Glib::RefPtr<Window> > get_toplevels();
+ /** Emits a short beep associated to @a window in the appropriate
+ * display, if supported. Otherwise, emits a short beep on
+ * the display just as Gdk::Display::beep().
+ *
+ * @newin2p12
+ */
+ void beep();
+
+
/** Asks to iconify (minimize) @a window . The window manager may choose
* to ignore the request, but normally will honor it. Using
* gtk_window_iconify() is preferred, if you have a Gtk::Window widget.
@@ -1596,7 +1741,8 @@ public:
/** A convenience wrapper around gdk_window_invalidate_region() which
* invalidates a rectangular region. See
* gdk_window_invalidate_region() for details.
- * @param rect Rectangle to invalidate.
+ * @param rect Rectangle to invalidate or <tt>0</tt> to invalidate the whole
+ * window.
* @param invalidate_children Whether to also invalidate child windows.
*/
void invalidate_rect(const Rectangle& rect, bool invalidate_children);
@@ -1624,14 +1770,12 @@ public:
*/
void invalidate_region(const Region& region, bool invalidate_children = true);
- //TODO: Rewrite the docs, to be more C++-like.
/** Transfers ownership of the update area from @a window to the caller
* of the function. That is, after calling this function, @a window will
* no longer have an invalid/dirty region; the update area is removed
* from @a window and handed to you. If a window has no update area,
- * gdk_window_get_update_area() returns <tt>0</tt>. You are responsible for
- * calling gdk_region_destroy() on the returned region if it's non-<tt>0</tt>.
+ * get_update_area() returns an invalid Region.
* @return The update area for @a window .
*/
Region get_update_area();
@@ -1826,7 +1970,8 @@ public:
GrabStatus pointer_grab(bool owner_events, EventMask event_mask, guint32 timestamp);
- /** Ungrabs the pointer, if it is grabbed by this application.
+ /** Ungrabs the pointer on the default display, if it is grabbed by this
+ * application.
* @param timestamp A timestamp from a Gdk::Event, or Gdk::CURRENT_TIME if no
* timestamp is available.
*/
@@ -1834,7 +1979,8 @@ public:
GrabStatus keyboard_grab(bool owner_events, guint32 timestamp);
- /** Ungrabs the keyboard, if it is grabbed by this application.
+ /** Ungrabs the keyboard on the default display, if it is grabbed by this
+ * application.
* @param timestamp A timestamp from a Gdk::Event, or Gdk::CURRENT_TIME if no
* timestamp is available.
*/
@@ -1872,6 +2018,23 @@ public:
void set_keep_below(bool setting = true);
+ /** Request the windowing system to make @a window partially transparent,
+ * with opacity 0 being fully transparent and 1 fully opaque. (Values
+ * of the opacity parameter are clamped to the [0,1] range.)
+ *
+ * On X11, this works only on X screens with a compositing manager
+ * running.
+ *
+ * For setting up per-pixel alpha, see Gdk::Screen::get_rgba_colormap().
+ * For making non-toplevel windows translucent, see
+ * gdk_window_set_composited().
+ *
+ * @newin2p12
+ * @param opacity Opacity.
+ */
+ void set_opacity(double opacity);
+
+
/** Setting @a accept_focus to <tt>false</tt> hints the desktop environment that the
* window doesn't want to receive input focus.
*
@@ -1923,10 +2086,13 @@ protected:
namespace Glib
{
- /** @relates Gdk::Window
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gdk::Window
*/
Glib::RefPtr<Gdk::Window> wrap(GdkWindowObject* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gdk/gdkmmconfig.h.in b/libs/gtkmm2/gdk/gdkmmconfig.h.in
new file mode 100644
index 0000000000..93ece3d84f
--- /dev/null
+++ b/libs/gtkmm2/gdk/gdkmmconfig.h.in
@@ -0,0 +1,9 @@
+#ifndef _GDKMM_CONFIG_H
+#define _GDKMM_CONFIG_H 1
+
+#include <glibmmconfig.h>
+
+#undef GDKMM_DISABLE_DEPRECATED
+
+#endif /* _GDKMM_CONFIG_H */
+
diff --git a/libs/gtkmm2/gdk/src/Makefile.am b/libs/gtkmm2/gdk/src/Makefile.am
new file mode 100644
index 0000000000..6baa07c1fd
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/Makefile.am
@@ -0,0 +1,11 @@
+## Copyright (c) 2001
+## The gtkmm development team.
+
+sublib_name = gdkmm
+sublib_namespace = Gdk
+sublib_parentdir = gdkmm
+files_defs = gdk.defs gdk_extra.defs gdk_pixbuf.defs gdk_pixbuf_enums.defs gdk_methods.defs gdk_signals.defs gdk_enums.defs \
+ gdk_docs.xml gdk_docs_override.xml
+
+include $(top_srcdir)/build_shared/Makefile_gensrc.am_fragment
+
diff --git a/libs/gtkmm2/gdk/src/Makefile.in b/libs/gtkmm2/gdk/src/Makefile.in
new file mode 100644
index 0000000000..ee177b1afb
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/Makefile.in
@@ -0,0 +1,464 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+
+# This file is include by other Makefile.am files, using the new automake include feature.
+# The include happens in Makefile.am, not Makefile.in or Makefile,
+# so it's like copy-and-pasting this into each of those Makefile.am files.
+
+# Built files
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = README $(srcdir)/../src/Makefile_list_of_hg.am_fragment \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment \
+ $(top_srcdir)/build_shared/Makefile_gensrc.am_fragment \
+ $(top_srcdir)/tools/Makefile_list_of_sources.am_fragment \
+ $(top_srcdir)/tools/m4/Makefile_list_of_sources.am_fragment
+subdir = gdk/src
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+sublib_name = gdkmm
+sublib_namespace = Gdk
+sublib_parentdir = gdkmm
+files_defs = gdk.defs gdk_extra.defs gdk_pixbuf.defs gdk_pixbuf_enums.defs gdk_methods.defs gdk_signals.defs gdk_enums.defs \
+ gdk_docs.xml gdk_docs_override.xml
+
+tools_dir = $(top_srcdir)/tools
+tools_dir_m4 = $(top_srcdir)/tools/m4
+tools_dir_pm = $(top_srcdir)/tools/pm
+gensrc_destdir = $(srcdir)/../$(sublib_name)
+stamp_dir = $(srcdir)/.stamps
+files_tools_m4 = convert.m4 convert_gtkmm.m4 convert_atk.m4 convert_gdk.m4 \
+ convert_gtk.m4 convert_pango.m4
+
+tools_m4 = $(files_tools_m4:%.m4=$(tools_dir_m4)/%.m4)
+files_posix_hg =
+files_win32_hg =
+files_general_hg = bitmap.hg color.hg colormap.hg cursor.hg \
+ device.hg display.hg displaymanager.hg dragcontext.hg drawable.hg event.hg gc.hg image.hg \
+ pixbuf.hg pixbufanimation.hg pixbufanimationiter.hg pixmap.hg pixbufformat.hg pixbufloader.hg \
+ rectangle.hg region.hg rgbcmap.hg screen.hg types.hg visual.hg window.hg
+
+files_general_deprecated_hg =
+files_all_hg = \
+ $(files_posix_hg) \
+ $(files_win32_hg) \
+ $(files_general_hg) \
+ $(files_general_deprecated_hg)
+
+@OS_WIN32_FALSE@files_hg = $(files_general_hg) $(files_posix_hg) $(files_general_deprecated_hg)
+@OS_WIN32_TRUE@files_hg = $(files_general_hg) $(files_win32_hg) $(files_general_deprecated_hg)
+files_built_cc = $(files_hg:.hg=.cc) wrap_init.cc
+files_built_h = $(files_hg:.hg=.h)
+files_all_built_cc = $(files_all_hg:.hg=.cc) wrap_init.cc
+files_all_built_h = $(files_all_hg:.hg=.h)
+
+# Extra files
+files_all_extra_cc = \
+ $(sublib_files_extra_posix_cc) \
+ $(sublib_files_extra_win32_cc) \
+ $(sublib_files_extra_general_cc) \
+ $(sublib_files_extra_general_deprecated_cc)
+
+files_all_extra_h = $(sublib_files_extra_posix_h) \
+ $(sublib_files_extra_win32_h) $(sublib_files_extra_general_h) \
+ $(sublib_files_extra_general_deprecated_h) wrap_init.h
+@OS_WIN32_FALSE@files_extra_cc = \
+@OS_WIN32_FALSE@ $(sublib_files_extra_posix_cc) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_TRUE@files_extra_cc = \
+@OS_WIN32_TRUE@ $(sublib_files_extra_win32_cc) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_FALSE@files_extra_h = $(sublib_files_extra_posix_h) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_h) wrap_init.h
+@OS_WIN32_TRUE@files_extra_h = $(sublib_files_extra_win32_h) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_h) wrap_init.h
+# tools_pm = $(files_tools_pm:%.pm=$(tools_dir_pm)/%.pm)
+files_all_ccg = $(files_all_hg:%.hg=%.ccg)
+files_h = $(files_all_hg:%.hg=$(gensrc_destdir)/%.h)
+files_cc = $(files_all_hg:%.hg=$(gensrc_destdir)/%.cc)
+files_stamp = $(files_all_hg:%.hg=$(stamp_dir)/stamp-%)
+
+#Installed gmmproc stuff, from glibmm:
+gmmproc_path = $(GMMPROC)
+gmmproc_dir = $(GMMPROC_DIR)
+
+# We use our own m4 and pm files as well as the ones installed by gtkmm:
+# Our override m4 include seems to need to be before the default one.
+gmmproc_args = -I $(tools_dir_m4) --defs $(srcdir)
+run_gmmproc = $(gmmproc_path) $(gmmproc_args)
+gen_wrap_init_path = $(gmmproc_dir)/generate_wrap_init.pl
+gen_wrap_init_args = --namespace=$(sublib_namespace) --parent_dir=$(sublib_parentdir)
+run_gen_wrap_init = $(gen_wrap_init_path) $(gen_wrap_init_args)
+EXTRA_DIST = Makefile_list_of_hg.am_fragment \
+ $(files_defs) $(files_all_hg) $(files_all_ccg)
+
+sublib_srcdir = $(srcdir)/../src
+files_hg_with_path = $(patsubst %.hg,$(sublib_srcdir)/%.hg,$(files_all_hg))
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/build_shared/Makefile_gensrc.am_fragment $(top_srcdir)/tools/Makefile_list_of_sources.am_fragment $(top_srcdir)/tools/m4/Makefile_list_of_sources.am_fragment $(srcdir)/../src/Makefile_list_of_hg.am_fragment $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gdk/src/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gdk/src/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
+
+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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+@MAINTAINER_MODE_FALSE@all-local:
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+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:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am all-local 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 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
+
+
+$(stamp_dir)/stamp-%: %.hg %.ccg $(tools_m4) $(files_defs)
+ $(run_gmmproc) $(notdir $*) $(srcdir) $(gensrc_destdir)
+ @echo 'timestamp' > $@
+
+$(gensrc_destdir)/wrap_init.cc: $(gen_wrap_init_path) $(files_hg_with_path)
+ $(run_gen_wrap_init) $(files_all_hg:%.hg=$(srcdir)/%.hg) >$@
+
+create-stamp-dir:
+ @(test -d $(stamp_dir) || mkdir $(stamp_dir))
+
+@MAINTAINER_MODE_TRUE@all-local: create-stamp-dir $(files_stamp) $(gensrc_destdir)/wrap_init.cc
+
+maintainer-clean-local:
+ rm -rf $(stamp_dir)
+# 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:
diff --git a/libs/gtkmm2/gdk/src/Makefile_list_of_hg.am_fragment b/libs/gtkmm2/gdk/src/Makefile_list_of_hg.am_fragment
new file mode 100644
index 0000000000..8d374b825f
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/Makefile_list_of_hg.am_fragment
@@ -0,0 +1,13 @@
+# This file is include by other Makefile.am files, using the new automake include feature.
+# The include happens in Makefile.am, not Makefile.in or Makefile,
+# so it's like copy-and-pasting this into each of those Makefile.am files.
+
+files_posix_hg =
+files_win32_hg =
+files_general_hg = bitmap.hg color.hg colormap.hg cursor.hg \
+ device.hg display.hg displaymanager.hg dragcontext.hg drawable.hg event.hg gc.hg image.hg \
+ pixbuf.hg pixbufanimation.hg pixbufanimationiter.hg pixmap.hg pixbufformat.hg pixbufloader.hg \
+ rectangle.hg region.hg rgbcmap.hg screen.hg types.hg visual.hg window.hg
+files_general_deprecated_hg =
+
+include $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment
diff --git a/libs/gtkmm2/gdk/src/README b/libs/gtkmm2/gdk/src/README
new file mode 100644
index 0000000000..787c17ef55
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/README
@@ -0,0 +1,5 @@
+Sources for the gdk drawing kit.
+
+
+
+
diff --git a/libs/gtkmm2/gdk/src/bitmap.ccg b/libs/gtkmm2/gdk/src/bitmap.ccg
new file mode 100644
index 0000000000..996bc3416f
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/bitmap.ccg
@@ -0,0 +1,44 @@
+// -*- c++ -*-
+/* $Id: bitmap.ccg,v 1.2 2003/01/22 23:04:18 murrayc Exp $ */
+
+/* Copyright 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdk/gdkpixmap.h>
+#include <gdkmm/window.h>
+
+
+namespace Gdk
+{
+
+Bitmap::Bitmap(GdkBitmap* castitem)
+:
+ Pixmap((GdkPixmap*) castitem)
+{}
+
+Bitmap::Bitmap(const char* data, int width, int height)
+:
+ Pixmap((GdkPixmap*) gdk_bitmap_create_from_data(0, data, width, height))
+{}
+
+Bitmap::Bitmap(const Glib::RefPtr<Drawable>& drawable, const char* data, int width, int height)
+:
+ Pixmap((GdkPixmap*) gdk_bitmap_create_from_data(Glib::unwrap(drawable), data, width, height))
+{}
+
+} // namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/bitmap.hg b/libs/gtkmm2/gdk/src/bitmap.hg
new file mode 100644
index 0000000000..9f24b88961
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/bitmap.hg
@@ -0,0 +1,60 @@
+/* $Id: bitmap.hg,v 1.3 2004/01/05 17:32:12 murrayc Exp $ */
+
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdkmm/pixmap.h>
+#include <gdk/gdkpixmap.h>
+
+_DEFS(gdkmm,gdk)
+_PINCLUDE(gdkmm/private/pixmap_p.h)
+
+namespace Gdk
+{
+
+class Window;
+
+// In GDK, GdkBitmap has the same type as GdkPixmap. Both are typedefed
+// to their base type GdkDrawable, but the real type is GdkPixmapObject.
+// A GdkBitmap is a GdkPixmap with a depth of 1.
+
+/** Bitmaps are simply pixmaps with a depth of 1. (That is, they are monochrome bitmaps - each pixel can be either on or off).
+ */
+class Bitmap : public Gdk::Pixmap
+{
+ // The Bitmap type only really exists in gtkmm. We fake its existence
+ // with a custom Gdk::Pixmap_Class::wrap_new() -- see comments there.
+ _CLASS_GENERIC(Bitmap, GdkBitmap)
+
+protected:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ explicit Bitmap(GdkBitmap* castitem);
+ friend class Gdk::Pixmap_Class;
+#endif
+
+ Bitmap(const char* data, int width, int height);
+
+ Bitmap(const Glib::RefPtr<Gdk::Drawable>& drawable, const char* data, int width, int height);
+
+public:
+ _WRAP_CREATE(const char* data, int width, int height)
+
+ _WRAP_CREATE(const Glib::RefPtr<Gdk::Drawable>& drawable, const char* data, int width, int height)
+};
+
+} // namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/color.ccg b/libs/gtkmm2/gdk/src/color.ccg
new file mode 100644
index 0000000000..039eb3a700
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/color.ccg
@@ -0,0 +1,213 @@
+// -*- c++ -*-
+/* $Id: color.ccg,v 1.4 2005/11/29 16:38:10 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdkmm/colormap.h>
+#include <gdk/gdkcolor.h>
+#include <gdk/gdkrgb.h>
+
+namespace Gdk
+{
+
+Color::Color()
+{
+ GdkColor tmp = { 0, 0, 0, 0, };
+ gobject_ = gdk_color_copy(&tmp);
+}
+
+Color::Color(const Glib::ustring& value)
+{
+ GdkColor tmp = { 0, 0, 0, 0, };
+ gobject_ = gdk_color_copy(&tmp);
+
+ set(value);
+}
+
+void Color::set_grey(gushort value)
+{
+ gobject_->red = gobject_->green = gobject_->blue = value;
+}
+
+void Color::set_grey_p(double g)
+{
+ gobject_->red = gobject_->green = gobject_->blue = (gushort)(g * 65535.0);
+}
+
+void Color::set_rgb(gushort red_, gushort green_, gushort blue_)
+{
+ gobject_->red = red_;
+ gobject_->green = green_;
+ gobject_->blue = blue_;
+}
+
+void Color::set_rgb_p(double red_, double green_, double blue_)
+{
+ gobject_->red = (gushort)(red_ * 65535.0);
+ gobject_->green = (gushort)(green_ * 65535.0);
+ gobject_->blue = (gushort)(blue_ * 65535.0);
+}
+
+void Color::set_hsv(double h, double s, double v)
+{
+ //TODO: Comments/Documentation. I have no idea what this code does. murrayc.
+
+ h /= 60.0;
+ int i = (int)h;
+ double p = v * (1 - s);
+ double q = v * (1 - s * (h - i));
+ double t = v * (1 - s * (1 - h + i));
+
+ switch(i)
+ {
+ case 0:
+ set_rgb_p(v, t, p);
+ break;
+ case 1:
+ set_rgb_p(q, v, p);
+ break;
+ case 2:
+ set_rgb_p(p, v, t);
+ break;
+ case 3:
+ set_rgb_p(p, q, v);
+ break;
+ case 4:
+ set_rgb_p(t, p, v);
+ break;
+ default:
+ set_rgb_p(v, p, q);
+ }
+}
+
+void Color::set_hsl(double h, double s, double l)
+{
+ //TODO: Comments/Documentation. I have no idea what this code does. murrayc.
+
+ if(s == 0.0)
+ set_grey_p(l);
+ else
+ {
+ double t2 = (l < 0.5) ? l * (1.0 + s) : l + s - l * s;
+ double t1 = 2*l-t2;
+ h /= 360.0;
+
+ double tr = h + 1.0/3.0;
+ double tg = h;
+ double tb = h - 1.0/3.0;
+ if (tb < 0) tb += 1.0;
+
+ double r = 0.0, g = 0.0, b = 0.0;
+
+ if (tr < 1.0/6.0)
+ r = t1 +(t2-t1) * 6 * tr;
+ else if (tr < 1.0/2.0)
+ r = t2;
+ else if (tr < 2.0/3.0)
+ r = t1+(t2-t1)*(2.0/3.0 - tr) * 6.0;
+
+ if (tg < 1.0/6.0)
+ g = t1 + (t2 - t1) * 6 * tg;
+ else if (tg < 1.0/2.0)
+ g = t2;
+ else if (tg < 2.0/3.0)
+ g = t1+(t2-t1)*(2.0/3.0 - tg) * 6.0;
+
+ if (tb < 1.0/6.0)
+ b = t1 +(t2-t1) * 6 * tb;
+ else if (tb < 1.0/2.0)
+ b = t2;
+ else if (tb < 2.0/3.0)
+ b = t1+(t2-t1)*(2.0/3.0 - tb) * 6.0;
+
+ set_rgb_p(r, g, b);
+ }
+}
+
+bool Color::set(const Glib::ustring& value)
+{
+ return gdk_color_parse(value.c_str(), gobj());
+}
+
+_DEPRECATE_IFDEF_START
+bool Color::parse(const Glib::ustring& spec)
+{
+ return set(spec);
+}
+_DEPRECATE_IFDEF_END
+
+gushort Color::get_red() const
+{
+ return gobject_->red;
+}
+
+gushort Color::get_green() const
+{
+ return gobject_->green;
+
+}
+gushort Color::get_blue() const
+{
+ return gobject_->blue;
+}
+
+void Color::set_red(gushort value)
+{
+ gobject_->red = value;
+}
+
+void Color::set_green(gushort value)
+{
+ gobject_->green = value;
+}
+
+void Color::set_blue(gushort value)
+{
+ gobject_->blue = value;
+}
+
+void Color::rgb_find_color(const Glib::RefPtr<Gdk::Colormap>& map)
+{
+ gdk_rgb_find_color(map->gobj(), gobj());
+}
+
+guint Color::get_pixel() const
+{
+ return gobject_->pixel;
+}
+
+double Color::get_red_p() const
+{
+ return gobject_->red / 65535.0;
+}
+
+double Color::get_green_p() const
+{
+ return gobject_->green / 65535.0;
+}
+
+double Color::get_blue_p() const
+{
+ return gobject_->blue / 65535.0;
+}
+
+
+} //namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/color.hg b/libs/gtkmm2/gdk/src/color.hg
new file mode 100644
index 0000000000..be1b34143e
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/color.hg
@@ -0,0 +1,186 @@
+/* $Id: color.hg,v 1.5 2005/11/29 16:38:10 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+// This is for including the config header before any code (such as
+// the #ifndef GDKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+_CONFIGINCLUDE(gdkmmconfig.h)
+
+#include <gdk/gdkcolor.h>
+
+_DEFS(gdkmm,gdk)
+
+namespace Gdk
+{
+
+class Colormap;
+
+/** Gdk::Color is used to describe an allocated or unallocated color.
+ * It contains the following data:
+ * pixel: For allocated colors, the value used to draw this color on the screen.
+ * red: The red component of the color. This is a value between 0 and 65535, with 65535 indicating full intensitiy.
+ * green: The green component of the color.
+ * blue: The blue component of the color.
+ */
+class Color
+{
+ _CLASS_BOXEDTYPE(Color, GdkColor, NONE, gdk_color_copy, gdk_color_free)
+public:
+
+ _CUSTOM_DEFAULT_CTOR
+
+ /** Instantiate a new Gdk::Color.
+ * You should then use the set methods and call Gdk::Colormap::alloc_color().
+ */
+ Color();
+
+ /** Instantiate a new Gdk::Color.
+ * The color is not allocated - you must call Gdk::Colormap::alloc_color() yourself.
+ * The text string can be in any of the forms accepted by XParseColor; these include names for a color from rgb.txt,
+ * such as DarkSlateGray, or a hex specification such as 305050.
+ * @param value the string specifying the color..
+ */
+ explicit Color(const Glib::ustring& value);
+
+ /** Set a grey color, by using the same value for all color components.
+ * @param value The value to be used for the red, green, and blue components.
+ */
+ void set_grey(gushort value);
+ void set_grey_p(double g);
+
+ /** Set the color, by specifying red, green, and blue color component values.
+ * @param red_ The red component of the color.
+ * @param green_ The green component of the color.
+ * @param blue_ The blue component of the color.
+ */
+ void set_rgb(gushort red_, gushort green_, gushort blue_);
+
+ /** Set the color, by specifying red, green, and blue color component values, as percentages.
+ * @param red_ The red component of the color, as a percentage.
+ * @param green_ The green component of the color, as a percentage.
+ * @param blue_ The blue component of the color, as a percentage.
+ */
+ void set_rgb_p(double red_, double green_, double blue_);
+
+ void set_hsv(double h, double s, double v);
+ void set_hsl(double h, double s, double l);
+
+ /** Parses a textual specification of a color and fills in the red, green, and blue values.
+ * The color is not allocated - you must call Gdk::Colormap::alloc_color() yourself.
+ * The text string can be in any of the forms accepted by XParseColor; these include names for a color from rgb.txt,
+ * such as DarkSlateGray, or a hex specification such as 305050.
+ *
+ * @param value the string specifying the color.
+ * @result true if the parsing succeeded.
+ */
+ bool set(const Glib::ustring& value);
+
+ _DEPRECATE_IFDEF_START
+ /**
+ * @deprecated See set().
+ */
+ bool parse(const Glib::ustring& spec);
+ _DEPRECATE_IFDEF_END
+
+ /** Get the red component of the color.
+ * @result The red component of the color.
+ */
+ gushort get_red() const;
+
+ /** Get the green component of the color.
+ * @result The green component of the color.
+ */
+ gushort get_green() const;
+
+ /** Get the blue component of the color.
+ * @result The blue component of the color.
+ */
+ gushort get_blue() const;
+
+ /** Set the red component of the color.
+ * @param value The red component of the color.
+ */
+ void set_red(gushort value);
+
+ /** Set the green component of the color.
+ * @param value The green component of the color.
+ */
+ void set_green(gushort value);
+
+ /** Set the blue component of the color.
+ * @param value The blue component of the color.
+ */
+ void set_blue(gushort value);
+
+ /** This will fill in the pixel field with the best matching pixel from a color cube.
+ * The color is then ready to be used for drawing, e.g. you can call Gdk::GC::set_foreground() which expects pixel to be initialized.
+ * Call this after setting the red, green, and blue fields.
+ *
+ * In many cases, you can avoid this whole issue by calling Gdk::GC::set_rgb_fg_color() or Gdk::GC::set_rgb_bg_color(),
+ * which do not expect pixels to be initialized in advance. If you use those methods, there's no need for this method().
+ *
+ * @param map The colormap for the graphics context and drawable you're using to draw. If you're drawing to a Gtk::Widget, call Gtk::Widget::get_colormap().
+ */
+ void rgb_find_color(const Glib::RefPtr<Gdk::Colormap>& map);
+
+ /** Get the pixel value, for allocated colors.
+ * @result For allocated colors, the value used to draw this color on the screen.
+ */
+ guint get_pixel() const;
+
+ /** Get the red component of the color, as a percentage.
+ * @result The red component of the color, as a percentage.
+ */
+ double get_red_p() const;
+
+ /** Get the green component of the color, as a percentage.
+ * @result The green component of the color, as a percentage.
+ */
+ double get_green_p() const;
+
+ /** Get the blue component of the color, as a percentage.
+ * @result The blue component of the color, as a percentage.
+ */
+ double get_blue_p() const;
+
+#m4begin
+ _WRAP_EQUAL(gdk_color_equal)
+#m4end
+};
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+/* These traits are for arrays of GdkColor structs -- not pointer arrays.
+ */
+struct ColorTraits
+{
+ typedef Gdk::Color CppType;
+ typedef GdkColor CType;
+ typedef GdkColor CTypeNonConst;
+
+ static CType to_c_type (const CppType& obj) { return *obj.gobj(); }
+ static CType to_c_type (const CType& obj) { return obj; }
+ static CppType to_cpp_type (const CType& obj) { return CppType(const_cast<CType*>(&obj), true); }
+ static void release_c_type (const CType&) {}
+};
+#endif //DOXYGEN_SHOULD_SKIP_THIS
+
+typedef Glib::ArrayHandle<Color,ColorTraits> ArrayHandle_Color;
+
+} // namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/colormap.ccg b/libs/gtkmm2/gdk/src/colormap.ccg
new file mode 100644
index 0000000000..12958f4cd6
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/colormap.ccg
@@ -0,0 +1,51 @@
+// -*- c++ -*-
+/* $Id: colormap.ccg,v 1.3 2005/11/29 16:38:10 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdk/gdkcolor.h>
+
+namespace Gdk
+{
+
+Colormap::Colormap(const Glib::RefPtr<Visual>& visual, bool allocate)
+: Glib::Object( G_OBJECT( gdk_colormap_new(visual->gobj(), (gboolean)allocate) ) )
+ {}
+
+_DEPRECATE_IFDEF_START
+int Colormap::alloc_colors(ArrayHandle_Color& colors, int ncolors, bool writeable, bool best_match, Glib::ArrayHandle<bool>& success)
+{
+ return gdk_colormap_alloc_colors(gobj(), const_cast<GdkColor*>(colors.data()), ncolors, static_cast<int>(writeable), static_cast<int>(best_match), (gboolean*)(success.data()));
+}
+
+void Colormap::free_colors(Color& colors, int ncolors)
+{
+ gdk_colormap_free_colors(gobj(), (colors).gobj(), ncolors);
+}
+_DEPRECATE_IFDEF_END
+
+void Colormap::free_color(Color& color)
+{
+ gdk_colormap_free_colors(gobj(), color.gobj(), 1);
+}
+
+} // namespace Gdk
+
+
diff --git a/libs/gtkmm2/gdk/src/colormap.hg b/libs/gtkmm2/gdk/src/colormap.hg
new file mode 100644
index 0000000000..43a3f5671d
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/colormap.hg
@@ -0,0 +1,85 @@
+/* $Id: colormap.hg,v 1.7 2006/04/12 11:11:24 murrayc Exp $ */
+
+/* box.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+// This is for including the config header before any code (such as
+// the #ifndef GDKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+_CONFIGINCLUDE(gdkmmconfig.h)
+
+#include <glibmm/object.h>
+#include <gdkmm/visual.h>
+#include <gdkmm/color.h>
+_DEFS(gdkmm,gdk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Gdk
+{
+
+/** A Colormap is an object that contains the mapping between the color values stored in memory and the RGB values that are
+ * used to display color values. In general, colormaps only contain significant information for pseudo-color visuals, but
+ * even for other visual types, a colormap object is required in some circumstances.
+ *
+ * There are a couple of special colormaps that can be retrieved. The system colormap (retrieved with get_system()) is the
+ * default colormap of the system. If you are using GdkRGB, there is another colormap that is important - the colormap in
+ * which GdkRGB works, retrieved with Gdk::rgb_get_colormap(). However, when using GdkRGB, it is not generally necessary to
+ * allocate colors directly.
+ */
+class Colormap : public Glib::Object
+{
+ _CLASS_GOBJECT(Colormap, GdkColormap, GDK_COLORMAP, Glib::Object, GObject)
+ _IGNORE(gdk_colormap_ref, gdk_colormap_unref)
+ _IGNORE(gdk_colormap_get_system_size, gdk_colormap_change)
+protected:
+ explicit Colormap(const Glib::RefPtr<Visual>& visual, bool allocate);
+
+public:
+
+ _WRAP_CREATE(const Glib::RefPtr<Visual>& visual, bool allocate)
+
+ _WRAP_METHOD(static Glib::RefPtr<Colormap> get_system(), gdk_colormap_get_system, refreturn)
+
+ //_WRAP_METHOD(void change(int ncolors), gdk_colormap_change)
+
+ _DEPRECATE_IFDEF_START
+ ///@deprecated Use alloc_color().
+ int alloc_colors(ArrayHandle_Color& colors, int ncolors, bool writeable, bool best_match, Glib::ArrayHandle<bool>& success);
+ _IGNORE(gdk_colormap_alloc_colors)
+
+ ///@deprecated Use free_color()
+ void free_colors(Color& colors, int ncolors);
+ _IGNORE(gdk_colormap_free_colors)
+ _DEPRECATE_IFDEF_END
+
+ _WRAP_METHOD(bool alloc_color(Color& color, bool writeable = false, bool best_match = true), gdk_colormap_alloc_color)
+ void free_color(Color& color);
+
+ _WRAP_METHOD(void query_color (gulong pixel, Color& result), gdk_colormap_query_color)
+
+ _WRAP_METHOD(Glib::RefPtr<Visual> get_visual(), gdk_colormap_get_visual, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Visual> get_visual() const, gdk_colormap_get_visual, refreturn, constversion)
+
+ _WRAP_METHOD(Glib::RefPtr<Screen> get_screen(), gdk_colormap_get_screen, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Screen> get_screen() const, gdk_colormap_get_screen, refreturn, constversion)
+
+};
+
+} /* namespace Gdk */
+
diff --git a/libs/gtkmm2/gdk/src/cursor.ccg b/libs/gtkmm2/gdk/src/cursor.ccg
new file mode 100644
index 0000000000..f6015740dc
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/cursor.ccg
@@ -0,0 +1,59 @@
+// -*- c++ -*-
+/* $Id: cursor.ccg,v 1.3 2005/07/10 19:24:21 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdk/gdkcursor.h>
+
+namespace Gdk
+{
+
+Cursor::Cursor(CursorType cursor_type)
+{
+ gobject_ = gdk_cursor_new((GdkCursorType)cursor_type);
+}
+
+Cursor::Cursor(const Glib::RefPtr<Pixmap>& source, const Glib::RefPtr<Pixmap>& mask,
+ const Color& fg, const Color& bg,
+ int x, int y)
+{
+ gobject_ = gdk_cursor_new_from_pixmap(source->gobj(), mask->gobj(),
+ const_cast<GdkColor*>(fg.gobj()),
+ const_cast<GdkColor*>(bg.gobj()),
+ x, y);
+}
+
+Cursor::Cursor(const Glib::RefPtr<Display>& display, CursorType cursor_type)
+{
+ gobject_ = gdk_cursor_new_for_display(display->gobj(), (GdkCursorType)cursor_type);
+}
+
+Cursor::Cursor(const Glib::RefPtr<Display>& display, const Glib::RefPtr<Pixbuf>& pixbuf, int x, int y)
+{
+ gobject_ = gdk_cursor_new_from_pixbuf(display->gobj(), pixbuf->gobj(), x, y);
+}
+
+Cursor::Cursor(const Glib::RefPtr<Display>& display, const Glib::ustring& name)
+{
+ gobject_ = gdk_cursor_new_from_name(display->gobj(), name.c_str());
+}
+
+} //namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/cursor.hg b/libs/gtkmm2/gdk/src/cursor.hg
new file mode 100644
index 0000000000..0826a4d61d
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/cursor.hg
@@ -0,0 +1,62 @@
+/* $Id: cursor.hg,v 1.8 2006/04/12 11:11:24 murrayc Exp $ */
+
+/* drawable.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdkmm/color.h>
+#include <gdkmm/bitmap.h>
+#include <gdkmm/display.h>
+#include <gdkmm/pixbuf.h>
+
+_DEFS(gdkmm,gdk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Gdk
+{
+
+_CC_INCLUDE(gdk/gdkenumtypes.h)
+_WRAP_ENUM(CursorType, GdkCursorType)
+
+/** This represents a cursor.
+ */
+class Cursor
+{
+ _CLASS_BOXEDTYPE(Cursor, GdkCursor, NONE, gdk_cursor_ref, gdk_cursor_unref)
+ _IGNORE(gdk_cursor_ref, gdk_cursor_unref)
+
+public:
+ explicit Cursor(CursorType cursor_type);
+ Cursor(const Glib::RefPtr<Pixmap>& source, const Glib::RefPtr<Pixmap>& mask,
+ const Color& fg, const Color& bg,
+ int x, int y);
+ explicit Cursor(const Glib::RefPtr<Display>& display, CursorType cursor_type);
+ Cursor(const Glib::RefPtr<Display>& display, const Glib::RefPtr<Pixbuf>& pixbuf, int x, int y);
+ explicit Cursor(const Glib::RefPtr<Display>& display, const Glib::ustring& name);
+
+ _WRAP_METHOD(Glib::RefPtr<Display> get_display(), gdk_cursor_get_display, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Display> get_display() const, gdk_cursor_get_display, refreturn, constversion)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> get_image(), gdk_cursor_get_image)
+ _WRAP_METHOD(Glib::RefPtr<const Gdk::Pixbuf> get_image() const, gdk_cursor_get_image, constversion)
+};
+
+} //namespace Gdk
+
+
diff --git a/libs/gtkmm2/gdk/src/device.ccg b/libs/gtkmm2/gdk/src/device.ccg
new file mode 100644
index 0000000000..e0fd597725
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/device.ccg
@@ -0,0 +1,28 @@
+// -*- c++ -*-
+/* $Id: device.ccg,v 1.1 2003/01/21 13:38:07 murrayc Exp $ */
+
+/* Copyright 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdk/gdkinput.h>
+
+namespace Gdk
+{
+
+
+} // namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/device.hg b/libs/gtkmm2/gdk/src/device.hg
new file mode 100644
index 0000000000..bca9a9d7cd
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/device.hg
@@ -0,0 +1,83 @@
+/* $Id: device.hg,v 1.3 2004/02/10 17:29:54 mxpxpod Exp $ */
+
+/* Copyright (C) 2002-2004 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdkmm/window.h>
+#include <gdkmm/event.h>
+#include <gdk/gdkinput.h>
+
+
+_DEFS(gdkmm,gdk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Gdk
+{
+
+_WRAP_ENUM(InputMode, GdkInputMode)
+_WRAP_ENUM(InputSource, GdkInputSource)
+
+/** A Gdk::Device instance contains a detailed description of an extended input device.
+ */
+class Device : public Glib::Object
+{
+ _CLASS_GOBJECT(Device,GdkDevice,GDK_DEVICE,Glib::Object,GObject)
+
+protected:
+ _CTOR_DEFAULT()
+
+public:
+
+ _WRAP_METHOD(void set_source(InputSource source), gdk_device_set_source)
+ _WRAP_METHOD(bool set_mode(InputMode mode), gdk_device_set_mode)
+ _WRAP_METHOD(void set_key(guint index_, guint keyval, ModifierType modifiers), gdk_device_set_key)
+ _WRAP_METHOD(void set_axis_use(guint index_, AxisUse use), gdk_device_set_axis_use)
+ _WRAP_METHOD(void get_state(const Glib::RefPtr<Window>& window, double& axes, ModifierType& mask), gdk_device_get_state)
+ _WRAP_METHOD(bool get_history(const Glib::RefPtr<Window>& window, guint32 start, guint32 stop, GdkTimeCoord**& events, int& n_events), gdk_device_get_history)
+ _WRAP_METHOD(bool get_axis(double& axes, AxisUse use, double& value) const, gdk_device_get_axis)
+
+ /** Gets the name of this device.
+ * @result The name of this device.
+ */
+ _MEMBER_GET(name, name, Glib::ustring, gchar*)
+
+ /** Gets the type of this device.
+ * @result The type of this device.
+ */
+ _MEMBER_GET(source, source, InputSource, GdkInputSource)
+
+ /** Gets the mode of this device.
+ * @result The mode of this device.
+ */
+ _MEMBER_GET(mode, mode, InputMode, GdkInputMode)
+
+ /** Discover whether the pointer follows device motion.
+ * @result true if the pointer follows device motion.
+ */
+ _MEMBER_GET(has_cursor, has_cursor, bool, gboolean)
+
+ //TODO: Add suitable accessor for the information in these fields. For now, people must use gobj() and access them directly.
+ //gint num_axes the length of the axes array.
+ //GdkDeviceAxis *axes an array of GdkDeviceAxis, describing the axes of this device.
+ //
+ //gint num_keys the length of the keys array.
+ //GdkDeviceKey *keys an array of GdkDeviceKey, describing the mapped macro buttons of this device.
+};
+
+} // namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/display.ccg b/libs/gtkmm2/gdk/src/display.ccg
new file mode 100644
index 0000000000..3d7e4d0d62
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/display.ccg
@@ -0,0 +1,114 @@
+// -*- c++ -*-
+/* $Id: display.ccg,v 1.5 2005/01/05 17:30:16 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdkmm/window.h>
+#include <gdk/gdkdisplay.h>
+
+namespace Gdk
+{
+
+bool Display::set_selection_owner(const Glib::RefPtr<Window>& owner, Glib::ustring& selection, guint32 time_, bool send_event)
+{
+ return gdk_selection_owner_set_for_display(gobj(), owner->gobj(), Gdk::AtomString::to_c_type(selection), time_, (gboolean)send_event);
+}
+
+Glib::RefPtr<Window> Display::get_selection_owner(const Glib::ustring& selection)
+{
+ return Glib::wrap( (GdkWindowObject*)gdk_selection_owner_get_for_display(gobj(), Gdk::AtomString::to_c_type(selection)) , true);
+}
+
+void Display::selection_send_notify(guint32 requestor, Glib::ustring& selection, Glib::ustring& target, Glib::ustring& property, guint32 time_)
+{
+ gdk_selection_send_notify_for_display(gobj(), requestor, Gdk::AtomString::to_c_type(selection), Gdk::AtomString::to_c_type(target), Gdk::AtomString::to_c_type(property), time_);
+}
+
+void Display::get_pointer(Glib::RefPtr<Screen>& screen, int& x, int& y, ModifierType& mask)
+{
+ GdkScreen* cScreen = 0;
+ GdkModifierType cMask = (GdkModifierType)mask;
+ gdk_display_get_pointer(gobj(), &cScreen, &x, &y, &cMask);
+ screen = Glib::wrap(cScreen);
+ mask = (ModifierType)cMask;
+}
+
+void Display::get_pointer(int& x, int& y, ModifierType& mask)
+{
+ GdkModifierType cMask = (GdkModifierType)mask;
+ gdk_display_get_pointer(gobj(), 0, &x, &y, &cMask);
+ mask = (ModifierType)cMask;
+}
+
+
+Glib::RefPtr<Window> Display::get_window_at_pointer()
+{
+
+ Glib::RefPtr<Window> retvalue = Glib::wrap((GdkWindowObject*)(gdk_display_get_window_at_pointer(gobj(), 0, 0)));
+
+ if(retvalue)
+ retvalue->reference(); //The function does not do a ref for us.
+ return retvalue;
+}
+
+Glib::RefPtr<const Window> Display::get_window_at_pointer() const
+{
+
+ Glib::RefPtr<const Window> retvalue = Glib::wrap((GdkWindowObject*)(gdk_display_get_window_at_pointer(const_cast<GdkDisplay*>(gobj()), 0, 0)));
+
+ if(retvalue)
+ retvalue->reference(); //The function does not do a ref for us.
+ return retvalue;
+}
+
+GdkDisplayPointerHooks* Display::unset_pointer_hooks()
+{
+ return gdk_display_set_pointer_hooks(gobj(), 0 /* See GDK docs */);
+}
+
+ void Display::store_clipboard(const Glib::RefPtr<Gdk::Window>& clipboard_window, guint32 time_)
+ {
+ gdk_display_store_clipboard(gobj(), clipboard_window->gobj(), time_, 0 /* see the C docs */, 0);
+ }
+
+ void Display::store_clipboard(const Glib::RefPtr<Gdk::Window>& clipboard_window, guint32 time_, const Glib::StringArrayHandle& targets)
+ {
+ //Put it into a real container that we can use:
+ std::vector<Glib::ustring> targets_copy = targets;
+
+ //Create array of target GdkAtoms from target strings:
+ if(!targets_copy.empty())
+ {
+ GdkAtom* pAtoms = new GdkAtom[targets_copy.size()];
+
+ for(guint i = 0; i < targets_copy.size(); ++i)
+ {
+ *pAtoms = Gdk::AtomString::to_c_type(targets_copy[i]);
+ }
+
+ gdk_display_store_clipboard(gobj(), clipboard_window->gobj(), time_, 0 /* see the C docs */, 0);
+
+ delete[] pAtoms;
+ }
+ }
+
+} //Gdk
+
+
diff --git a/libs/gtkmm2/gdk/src/display.hg b/libs/gtkmm2/gdk/src/display.hg
new file mode 100644
index 0000000000..0d2e17c25e
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/display.hg
@@ -0,0 +1,200 @@
+/* $Id: display.hg,v 1.22 2006/04/12 11:11:24 murrayc Exp $ */
+
+/* display.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdkmm/screen.h>
+#include <gdkmm/device.h>
+#include <gdkmm/types.h> //For ModifierType
+_DEFS(gdkmm,gdk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Gdk
+{
+
+_CC_INCLUDE(gdk/gdkenumtypes.h)
+
+class Drawable;
+
+ /** Gdk::Display object's purpose is two fold:
+ * To grab/ungrab keyboard focus and mouse pointer
+ * To manage and provide information about the Gdk::Screen(s) available for this Gdk::Display
+ *
+ * Gdk::Display objects are the GDK representation of the X Display which can be described as a workstation consisting
+ * of a keyboard a pointing device (such as a mouse) and one or more screens. It is used to open and keep track of
+ * various Gdk::Screen objects currently instantiated by the application. It is also used to grab and release the keyboard
+ * and the mouse pointer.
+ */
+class Display : public Glib::Object
+{
+ _CLASS_GOBJECT(Display,GdkDisplay,GDK_DISPLAY,Glib::Object,GObject)
+protected:
+ _CTOR_DEFAULT
+
+public:
+ _WRAP_METHOD(static Glib::RefPtr<Display> open(const Glib::ustring& display_name), gdk_display_open, refreturn)
+
+ _WRAP_METHOD(Glib::ustring get_name() const, gdk_display_get_name)
+
+ _WRAP_METHOD(int get_n_screens() const, gdk_display_get_n_screens)
+ _WRAP_METHOD(Glib::RefPtr<Screen> get_screen(int screen_num), gdk_display_get_screen, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Screen> get_screen(int screen_num) const, gdk_display_get_screen, refreturn, constversion)
+
+ _WRAP_METHOD(Glib::RefPtr<Screen> get_default_screen(), gdk_display_get_default_screen, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Screen> get_default_screen() const, gdk_display_get_default_screen, refreturn, constversion)
+
+ _WRAP_METHOD(void pointer_ungrab(guint32 timestamp), gdk_display_pointer_ungrab)
+ _WRAP_METHOD(void keyboard_ungrab(guint32 timestamp), gdk_display_keyboard_ungrab)
+ _WRAP_METHOD(bool pointer_is_grabbed() const, gdk_display_pointer_is_grabbed)
+ _WRAP_METHOD(void beep(), gdk_display_beep)
+ _WRAP_METHOD(void sync(), gdk_display_sync)
+ _WRAP_METHOD(void close(), gdk_display_close)
+
+ _WRAP_METHOD(Glib::ListHandle< Glib::RefPtr<Device> > list_devices(), gdk_display_list_devices)
+ _WRAP_METHOD(Glib::ListHandle< Glib::RefPtr<const Device> > list_devices() const, gdk_display_list_devices)
+
+ //TODO: Use C++ Gdk::Event:
+ //TODO: get_event() might remove the event - if so, then there should not be a const version:
+ _WRAP_METHOD(GdkEvent* get_event(), gdk_display_get_event)
+ _WRAP_METHOD(const GdkEvent* get_event() const, gdk_display_get_event, constversion)
+
+ _WRAP_METHOD(GdkEvent* peek_event(), gdk_display_peek_event)
+ _WRAP_METHOD(GdkEvent* peek_event() const, gdk_display_peek_event, constversion)
+ _WRAP_METHOD(void put_event(GdkEvent* event), gdk_display_put_event)
+
+ //TODO: Use a slot here, though this is probably never used anyway:
+ //Find out whether we can use a string representation for the atom - look for examples of this function's use.
+ _WRAP_METHOD(void add_client_message_filter(Glib::ustring& message_type, GdkFilterFunc func, gpointer data), gdk_display_add_client_message_filter)
+
+ _WRAP_METHOD(void set_double_click_time(guint msec), gdk_display_set_double_click_time)
+ _WRAP_METHOD(void set_double_click_distance(guint distance), gdk_display_set_double_click_distance)
+
+
+ _WRAP_METHOD(static Glib::RefPtr<Display> get_default(), gdk_display_get_default, refreturn)
+
+ _WRAP_METHOD(Glib::RefPtr<Device> get_core_pointer(), gdk_display_get_core_pointer, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Device> get_core_pointer() const, gdk_display_get_core_pointer, refreturn)
+
+ /** Gets the current location of the pointer and the current modifier
+ * mask for a given display.
+ *
+ * @param screen location to store the screen that the cursor is on.
+ * @param x location to store root window X coordinate of pointer.
+ * @param y location to store root window Y coordinate of pointer.
+ * @param mask location to store current modifier mask.
+ *
+ **/
+ void get_pointer(Glib::RefPtr<Screen>& screen, int& x, int& y, ModifierType& mask);
+
+ // In fact, any one of these gdk_display_get_pointer() args can be NULL, but we don't need so many overloads.
+ /**
+ * Gets the current location of the pointer and the current modifier
+ * mask for a given display.
+ *
+ * @param x location to store root window X coordinate of pointer.
+ * @param y location to store root window Y coordinate of pointer.
+ * @param mask location to store current modifier mask.
+ *
+ **/
+ void get_pointer(int& x, int& y, ModifierType& mask);
+ _IGNORE(gdk_display_get_pointer)
+
+ _WRAP_METHOD(Glib::RefPtr<Window> get_window_at_pointer(int& win_x, int& win_y), gdk_display_get_window_at_pointer, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Window> get_window_at_pointer(int& win_x, int& win_y) const, gdk_display_get_window_at_pointer, refreturn, constversion)
+
+ /** Obtains the window underneath the mouse pointer. Returns a null RefPtr if the window
+ * under the mouse pointer is not known to GDK (for example, belongs to
+ * another application).
+ * @result The window underneath the mouse pointer.
+ */
+ Glib::RefPtr<Window> get_window_at_pointer();
+
+ /** Obtains the window underneath the mouse pointer. Returns a null RefPtr if the window
+ * under the mouse pointer is not known to GDK (for example, belongs to
+ * another application).
+ * @result The window underneath the mouse pointer.
+ */
+ Glib::RefPtr<const Window> get_window_at_pointer() const;
+
+ _WRAP_METHOD(void warp_pointer(const Glib::RefPtr<Screen>& screen, int x, int y), gdk_display_warp_pointer)
+
+ _WRAP_METHOD(GdkDisplayPointerHooks* set_pointer_hooks(const GdkDisplayPointerHooks* new_hooks), gdk_display_set_pointer_hooks)
+ GdkDisplayPointerHooks* unset_pointer_hooks();
+
+ _WRAP_METHOD(static Glib::RefPtr<Display> open_default_libgtk_only(), gdk_display_open_default_libgtk_only, refreturn)
+
+ _WRAP_METHOD(guint32 get_drag_protocol(guint32 xid, GdkDragProtocol& protocol), gdk_drag_get_protocol_for_display)
+
+ _WRAP_METHOD(GdkKeymap* get_keymap(), gdk_keymap_get_for_display)
+ _WRAP_METHOD(const GdkKeymap* get_keymap() const, gdk_keymap_get_for_display, constversion)
+
+ bool set_selection_owner(const Glib::RefPtr<Window>& owner, Glib::ustring& selection, guint32 time_, bool send_event);
+ Glib::RefPtr<Window> get_selection_owner(const Glib::ustring& selection);
+ void selection_send_notify(guint32 requestor, Glib::ustring& selection, Glib::ustring& target, Glib::ustring& property, guint32 time_);
+
+ _WRAP_METHOD(Glib::RefPtr<Pixmap> lookup_pixmap(NativeWindow anid), gdk_pixmap_lookup_for_display)
+ _WRAP_METHOD(Glib::RefPtr<const Pixmap> lookup_pixmap(NativeWindow anid) const, gdk_pixmap_lookup_for_display, constversion)
+
+ _WRAP_METHOD(void flush(), gdk_display_flush)
+ _WRAP_METHOD(bool supports_cursor_alpha() const, gdk_display_supports_cursor_alpha)
+ _WRAP_METHOD(bool supports_cursor_color() const, gdk_display_supports_cursor_color)
+ _WRAP_METHOD(guint get_default_cursor_size() const, gdk_display_get_default_cursor_size)
+ _WRAP_METHOD(void get_maximal_cursor_size(guint& width, guint& height), gdk_display_get_maximal_cursor_size)
+
+ _WRAP_METHOD(Glib::RefPtr<Window> get_default_group(), gdk_display_get_default_group, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Window> get_default_group() const, gdk_display_get_default_group, refreturn, constversion)
+
+ //TODO: wrap the vfuncs, though they are not very useful because people will not derive from this class? murrayc.
+
+
+ _WRAP_METHOD(bool supports_selection_notification() const, gdk_display_supports_selection_notification)
+ _WRAP_METHOD(bool request_selection_notification(const Glib::ustring& selection), gdk_display_request_selection_notification)
+
+ _WRAP_METHOD(bool supports_clipboard_persistence() const, gdk_display_supports_clipboard_persistence)
+
+ /** Issues a request to the clipboard manager to store the clipboard data,
+ * saving all available targets.
+ * On X11, this is a special program that works according to the freedesktop clipboard specification,
+ * available at http://www.freedesktop.org/Standards/clipboard-manager-spec.
+ * @newin2p6
+ *
+ * @param clipboard_window A Gdk::Window belonging to the clipboard owner.
+ * @param time_ A timestamp.
+ */
+ void store_clipboard(const Glib::RefPtr<Gdk::Window>& clipboard_window, guint32 time_);
+
+ void store_clipboard(const Glib::RefPtr<Gdk::Window>& clipboard_window, guint32 time_, const Glib::StringArrayHandle& targets);
+ _IGNORE(gdk_display_store_clipboard)
+
+ _WRAP_METHOD(bool supports_shapes() const, gdk_display_supports_shapes)
+ _WRAP_METHOD(bool supports_input_shapes() const, gdk_display_supports_input_shapes)
+ _WRAP_METHOD(bool supports_composite() const, gdk_display_supports_composite)
+
+
+ /** The closed signal is emitted when the connection to the windowing
+ * system for this display is closed.
+ *
+ * @param is_error true if the display was closed due to an error
+ */
+ _WRAP_SIGNAL(void closed(bool is_error), closed)
+};
+
+} /* namespace Gdk */
+
diff --git a/libs/libglademm/libglademm.h b/libs/gtkmm2/gdk/src/displaymanager.ccg
index fb37dfb10d..43933dcd13 100644
--- a/libs/libglademm/libglademm.h
+++ b/libs/gtkmm2/gdk/src/displaymanager.ccg
@@ -1,7 +1,9 @@
-/* $Id$ */
-/* libglademm - a C++ wrapper for libglade
+// -*- c++ -*-
+/* $Id: displaymanager.ccg,v 1.1 2003/01/21 13:38:07 murrayc Exp $ */
+
+/*
*
- * Copyright 1999-2001 Free Software Foundation
+ * Copyright 2002 The gtkmm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -18,14 +20,10 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#ifndef LIBGLADEMM_H
-#define LIBGLADEMM_H
+#include <gdk/gdkdisplaymanager.h>
+namespace Gdk
+{
-/* libglademm version. */
-extern const int libglademm_major_version;
-extern const int libglademm_minor_version;
-extern const int libglademm_micro_version;
-#include <libglademm/xml.h>
+} //Gdk
-#endif /* #ifndef LIBGLADEMM_H */
diff --git a/libs/gtkmm2/gdk/src/displaymanager.hg b/libs/gtkmm2/gdk/src/displaymanager.hg
new file mode 100644
index 0000000000..38d8917eca
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/displaymanager.hg
@@ -0,0 +1,65 @@
+/* $Id: displaymanager.hg,v 1.8 2006/04/12 11:11:24 murrayc Exp $ */
+
+/* displaymanager.h
+ *
+ * Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/object.h>
+#include <gdkmm/display.h>
+
+_DEFS(gdkmm,gdk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Gdk
+{
+
+/** The purpose of the GdkDisplayManager singleton object is to offer notification when displays appear or disappear or the
+ * default display changes.
+ */
+class DisplayManager : public Glib::Object
+{
+ _CLASS_GOBJECT(DisplayManager,GdkDisplayManager,GDK_DISPLAY_MANAGER,Glib::Object,GObject)
+protected:
+
+public:
+
+ _WRAP_METHOD(static Glib::RefPtr<DisplayManager> get(), gdk_display_manager_get, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<Display> get_default_display(), gdk_display_manager_get_default_display, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Display> get_default_display() const, gdk_display_manager_get_default_display, refreturn, constversion)
+
+ _WRAP_METHOD(void set_default_display(const Glib::RefPtr<Display>& display), gdk_display_manager_set_default_display)
+
+ _WRAP_METHOD(Glib::SListHandle< Glib::RefPtr<Display> > list_displays(), gdk_display_manager_list_displays)
+
+ _WRAP_PROPERTY("default-display", Glib::RefPtr<Display>)
+
+
+#m4 _CONVERSION(`GdkDisplay*',`const Glib::RefPtr<Display>&', Glib::wrap($3, true))
+
+ /** The display_opened signal is emitted when a display is opened.
+ *
+ * @newin2p2
+ *
+ * @param display the opened display
+ */
+ _WRAP_SIGNAL(void display_opened(const Glib::RefPtr<Display>& display), display-opened)
+};
+
+} /* namespace Gdk */
+
diff --git a/libs/gtkmm2/gdk/src/dragcontext.ccg b/libs/gtkmm2/gdk/src/dragcontext.ccg
new file mode 100644
index 0000000000..5758fd4ca3
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/dragcontext.ccg
@@ -0,0 +1,49 @@
+// -*- c++ -*-
+/* $Id: dragcontext.ccg,v 1.7 2005/02/13 13:01:36 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdkmm/window.h>
+#include <gtk/gtkdnd.h>
+#include <gdk/gdkwindow.h>
+#include <glibmm/utility.h> //For ScopedPtr<>.
+
+namespace Gdk
+{
+
+void DragContext::find_window_for_screen(const Glib::RefPtr<Window>& drag_window, const Glib::RefPtr<Screen>& screen, int x_root, int y_root, Glib::RefPtr<Window>& dest_window, DragProtocol* protocol) const
+{
+ GdkWindow* cWindow = 0;
+ gdk_drag_find_window_for_screen(const_cast<GdkDragContext*>(gobj()), drag_window->gobj(), screen->gobj(), x_root, y_root, &cWindow, (GdkDragProtocol*)(protocol));
+ dest_window = Glib::wrap((GdkWindowObject*)cWindow);
+}
+
+void DragContext::drag_refuse(guint32 time)
+{
+ gdk_drag_status(gobj(), ((GdkDragAction)(0)) /* see GDK docs */, time);
+}
+
+Gdk::ListHandle_AtomString DragContext::get_targets() const
+{
+ //Note that we don't free the GList* (or it's items), because we are accessing the struct directly:
+ return ListHandle_AtomString( gobj()->targets, Glib::OWNERSHIP_NONE);
+}
+
+} /* namespace Gdk */
diff --git a/libs/gtkmm2/gdk/src/dragcontext.hg b/libs/gtkmm2/gdk/src/dragcontext.hg
new file mode 100644
index 0000000000..e8d7925279
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/dragcontext.hg
@@ -0,0 +1,132 @@
+/* $Id: dragcontext.hg,v 1.11 2006/03/22 16:53:21 murrayc Exp $ */
+
+/* dragcontext.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdkmm/color.h>
+#include <gdkmm/pixbuf.h>
+#include <gdkmm/bitmap.h>
+#include <glibmm/object.h>
+#include <gdk/gdkdnd.h>
+#include <glibmm/listhandle.h>
+#include <gtkmm/stockid.h>
+_DEFS(gdkmm,gdk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Gtk
+{
+ class Widget;
+} /* namespace Gtk */
+
+//typedef struct _GdkAtom *GdkAtom;
+
+namespace Gdk
+{
+
+_CC_INCLUDE(gdk/gdkenumtypes.h)
+_WRAP_ENUM(DragAction, GdkDragAction)
+_WRAP_ENUM(DragProtocol, GdkDragProtocol)
+
+/** A Gdk::DragContext holds information about a drag in progress. It is used on both source and destination sides.
+ */
+class DragContext : public Glib::Object
+{
+ _CLASS_GOBJECT(DragContext, GdkDragContext, GDK_DRAG_CONTEXT, Glib::Object,GObject)
+ _IGNORE(gdk_drag_context_ref, gdk_drag_context_unref)
+protected:
+ _CTOR_DEFAULT
+
+public:
+ _WRAP_CREATE()
+
+ _WRAP_METHOD(void drag_status(DragAction action, guint32 time), gdk_drag_status)
+ void drag_refuse(guint32 time);
+
+ _IGNORE(gdk_drag_motion) //gdk_drag_motion is only used in GDK internally.
+
+ _WRAP_METHOD(void drop_reply(bool ok, guint32 time), gdk_drop_reply)
+ _WRAP_METHOD(void drop_finish(bool success, guint32 time), gdk_drop_finish)
+ _WRAP_METHOD(Glib::ustring get_selection() const, gdk_drag_get_selection)
+
+ _WRAP_METHOD(void drag_finish(bool success, bool del, guint32 time), gtk_drag_finish)
+ //Gtk::Widget* get_source_widget() - see Gtk::Widget::drag_get_source_widget()
+
+ // void set_icon(Gtk::Widget* widget, int hot_x, int hot_y) - see Gtk::Widget::set_as_icon().
+ _WRAP_METHOD(void set_icon(const Glib::RefPtr<Gdk::Colormap>& colormap, const Glib::RefPtr<Gdk::Pixmap>& pixmap, const Glib::RefPtr<Gdk::Bitmap>& mask, int hot_x, int hot_y), gtk_drag_set_icon_pixmap)
+ _WRAP_METHOD(void set_icon(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf, int hot_x, int hot_y), gtk_drag_set_icon_pixbuf)
+
+ // The first argument was changed from StockID to ustring to avoid
+ // cross-dependence between gdkmm and gtkmm.
+ // See http://bugzilla.gnome.org/show_bug.cgi?id=79124 for details
+ _WRAP_METHOD(void set_icon(const Glib::ustring& stock_id, int hot_x, int hot_y), gtk_drag_set_icon_stock)
+ _WRAP_METHOD(void set_icon_name(const Glib::ustring& name, int hot_x, int hot_y), gtk_drag_set_icon_name)
+ _WRAP_METHOD(void set_icon(), gtk_drag_set_icon_default)
+
+ /** Get the the source window of this drag.
+ * @result the source window of this drag.
+ */
+ _MEMBER_GET_GOBJECT(source_window, source_window, Window, GdkWindow*)
+
+ /** Get the the source window of this drag.
+ * @result the source window of this drag.
+ */
+ _MEMBER_GET_GOBJECT(destination_window, dest_window, Window, GdkWindow*)
+
+ /** Get a list of targets offered by the source.
+ * @result a list of targets offered by the source.
+ */
+ Gdk::ListHandle_AtomString get_targets() const;
+
+ /** Get the DND protocol which governs this drag.
+ * @result the DND protocol which governs this drag.
+ */
+ _MEMBER_GET(protocol, protocol, DragProtocol, GdkDragProtocol)
+
+ /** Discover whether the context is used on the source side.
+ * @result true if the context is used on the source side.
+ */
+ _MEMBER_GET(is_source, is_source, bool, gboolean)
+
+ /** Get a bitmask of actions proposed by the source when the suggested_action is Gdk::ACTION_ASK
+ * @result a bitmask of actions proposed by the source when the suggested_action is Gdk::ACTION_ASK
+ */
+ _MEMBER_GET(actions, actions, DragAction, GdkDragAction)
+
+ /** Get the action suggested by the source.
+ * @result The action suggested by the source.
+ */
+ _MEMBER_GET(suggested_action, suggested_action, DragAction, GdkDragAction)
+
+ /** Get the action chosen by the destination.
+ * @result the action chosen byt the destination.
+ */
+ _MEMBER_GET(action, action, DragAction, GdkDragAction)
+
+ /** Get a timestamp recording the start time of this drag.
+ * @result a timestamp recording the start time of this drag.
+ */
+ _MEMBER_GET(start_time, start_time, guint32, guint32)
+
+ _WRAP_METHOD_DOCS_ONLY(gdk_drag_find_window_for_screen)
+ void find_window_for_screen(const Glib::RefPtr<Window>& drag_window, const Glib::RefPtr<Screen>& screen, int x_root, int y_root, Glib::RefPtr<Window>& dest_window, DragProtocol* protocol) const;
+ _IGNORE(gdk_drag_find_window_for_screen)
+};
+
+} /* namespace Gdk */
+
diff --git a/libs/gtkmm2/gdk/src/drawable.ccg b/libs/gtkmm2/gdk/src/drawable.ccg
new file mode 100644
index 0000000000..c35d547e54
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/drawable.ccg
@@ -0,0 +1,64 @@
+// -*- c++ -*-
+/* $Id: drawable.ccg,v 1.2 2004/01/19 19:48:41 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdkmm/gc.h>
+#include <gdkmm/display.h>
+#include <gdkmm/pixbuf.h>
+#include <gdk/gdkdrawable.h>
+
+namespace Gdk
+{
+
+void Drawable::draw_points(const Glib::RefPtr<const GC>& gc, const Glib::ArrayHandle<Point>& points)
+{
+ // Don't assume the reinterpret_cast<> works everywhere. Gdk::Point is *special*.
+ gdk_draw_points(
+ gobj(), const_cast<GdkGC*>(Glib::unwrap<Gdk::GC>(gc)),
+ reinterpret_cast<GdkPoint*>(const_cast<Point*>(points.data())),
+ points.size());
+}
+
+void Drawable::draw_lines(const Glib::RefPtr<const GC>& gc, const Glib::ArrayHandle<Point>& points)
+{
+ // Don't assume the reinterpret_cast<> works everywhere. Gdk::Point is *special*.
+ gdk_draw_lines(
+ gobj(), const_cast<GdkGC*>(Glib::unwrap<Gdk::GC>(gc)),
+ reinterpret_cast<GdkPoint*>(const_cast<Point*>(points.data())),
+ points.size());
+}
+
+void Drawable::draw_polygon(const Glib::RefPtr<const GC>& gc, bool filled,
+ const Glib::ArrayHandle<Point>& points)
+{
+ // Don't assume the reinterpret_cast<> works everywhere. Gdk::Point is *special*.
+ gdk_draw_polygon(
+ gobj(), const_cast<GdkGC*>(Glib::unwrap<Gdk::GC>(gc)), filled,
+ reinterpret_cast<GdkPoint*>(const_cast<Point*>(points.data())),
+ points.size());
+}
+
+void Drawable::copy_to_image(const Glib::RefPtr<Image>& image, int src_x, int src_y, int dest_x, int dest_y, int width, int height) const
+{
+ gdk_drawable_copy_to_image(const_cast<GdkDrawable*>(gobj()), Glib::unwrap(image), src_x, src_y, dest_x, dest_y, width, height);
+}
+
+
+} // namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/drawable.hg b/libs/gtkmm2/gdk/src/drawable.hg
new file mode 100644
index 0000000000..03500c2c90
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/drawable.hg
@@ -0,0 +1,175 @@
+/* $Id: drawable.hg,v 1.12 2006/12/03 17:21:37 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdk/gdkdrawable.h>
+#include <gdk/gdkrgb.h>
+#include <pangomm/font.h>
+#include <pangomm/layout.h>
+#include <pangomm/layoutline.h>
+#include <pangomm/glyphstring.h>
+#include <gdkmm/gc.h>
+#include <gdkmm/image.h>
+#include <gdkmm/color.h>
+#include <gdkmm/region.h>
+#include <gdkmm/rgbcmap.h>
+#include <gdkmm/types.h>
+#include <cairomm/context.h>
+//#include <gdkmm/pixbuf.h>
+
+
+_DEFS(gdkmm,gdk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Gdk
+{
+
+_CC_INCLUDE(gdk/gdkenumtypes.h)
+_WRAP_ENUM(RgbDither, GdkRgbDither)
+
+class GC;
+class Pixbuf;
+
+/** Drawing Primitives.
+ * Gdk::Drawable is the base class for all of the objects that accept drawing
+ * commands. The available drawables include pixmaps, windows, and bitmaps.
+ * Drawable is abstract as there is no such type on the server side.
+ *
+ * To use a drawable, create a concrete Drawable of the type you wish to use
+ * and a Gdk::GC (graphics context) for that Drawable. With the GC you can
+ * draw lines, text, arcs and such.
+ *
+ * An alternative is to create a Cairo::Context with get_cairo_context()
+ * while you handle the 'exposed' event of the drawable. For more about
+ * this, please see "Using cairo with GTK+" in the "Common questions" section
+ * of the GTK+ Reference Manual.
+ */
+class Drawable : public Glib::Object
+{
+ _CLASS_GOBJECT(Drawable,GdkDrawable,GDK_DRAWABLE,Glib::Object,GObject)
+ _IGNORE(gdk_drawable_ref, gdk_drawable_unref, gdk_drawable_set_data, gdk_drawable_get_data)
+
+protected:
+ _CTOR_DEFAULT()
+
+public:
+ _WRAP_CREATE()
+
+ _WRAP_METHOD(void get_size(int& width, int& height), gdk_drawable_get_size)
+ _WRAP_METHOD(int get_depth() const, gdk_drawable_get_depth)
+
+ _WRAP_METHOD(void set_colormap(const Glib::RefPtr<Colormap>& colormap), gdk_drawable_set_colormap)
+ _WRAP_METHOD(Glib::RefPtr<Colormap> get_colormap(), gdk_drawable_get_colormap, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<Visual> get_visual(), gdk_drawable_get_visual, refreturn)
+
+ _WRAP_METHOD(void draw_point(const Glib::RefPtr<const GC>& gc, int x, int y), gdk_draw_point)
+ void draw_points(const Glib::RefPtr<const GC>& gc, const Glib::ArrayHandle<Point>& points);
+
+ _WRAP_METHOD(void draw_line(const Glib::RefPtr<const GC>& gc, int x1, int y1, int x2, int y2), gdk_draw_line)
+ void draw_lines(const Glib::RefPtr<const GC>& gc, const Glib::ArrayHandle<Point>& points);
+
+ _WRAP_METHOD(void draw_rectangle(const Glib::RefPtr<const GC>& gc, bool filled, int x, int y, int width, int height), gdk_draw_rectangle)
+ _WRAP_METHOD(void draw_arc(const Glib::RefPtr<const GC>& gc, bool filled, int x, int y, int width, int height, int angle1, int angle2), gdk_draw_arc)
+ void draw_polygon(const Glib::RefPtr<const GC>& gc, bool filled, const Glib::ArrayHandle<Point>& points);
+
+ _WRAP_METHOD(void draw_drawable(const Glib::RefPtr<const GC>& gc, const Glib::RefPtr<const Drawable>& src, int xsrc, int ysrc, int xdest, int ydest, int width = -1, int height = -1), gdk_draw_drawable)
+ _WRAP_METHOD(void draw_image(const Glib::RefPtr<const GC>& gc, const Glib::RefPtr<const Image>& image, int xsrc, int ysrc, int xdest, int ydest, int width = -1, int height = -1), gdk_draw_image)
+
+ //segs is an array, and this function will be used so little that it doesn't seem worth wrapping it to use a container of C++ types.
+ _WRAP_METHOD(void draw_segments(const Glib::RefPtr<const GC>& gc, GdkSegment* segs, int nsegs), gdk_draw_segments) // TODO
+
+ //glyphs is not an array. I went down to pango_xft_render in pango and saw that PangoGlyphString here is not an array. -Bryan
+ _WRAP_METHOD(void draw_glyphs(const Glib::RefPtr<const GC>& gc, const Glib::RefPtr<const Pango::Font>& font, int x, int y, const Pango::GlyphString& glyphs), gdk_draw_glyphs)
+
+ _WRAP_METHOD(void draw_layout_line(const Glib::RefPtr<const GC>& gc, int x, int y, const Glib::RefPtr<const Pango::LayoutLine>& line), gdk_draw_layout_line)
+ _WRAP_METHOD(void draw_layout_line(const Glib::RefPtr<const GC>& gc, int x, int y, const Glib::RefPtr<const Pango::LayoutLine>& line, const Color& foreground, const Color& background), gdk_draw_layout_line_with_colors)
+
+ _WRAP_METHOD(void draw_layout(const Glib::RefPtr<const GC>& gc, int x, int y, const Glib::RefPtr<const Pango::Layout>& layout), gdk_draw_layout)
+ _WRAP_METHOD(void draw_layout(const Glib::RefPtr<const GC>& gc, int x, int y, const Glib::RefPtr<const Pango::Layout>& layout, const Color& foreground, const Color& background), gdk_draw_layout_with_colors)
+
+ _WRAP_METHOD(void draw_pixbuf(const Glib::RefPtr<const GC>& gc, const Glib::RefPtr<Pixbuf>& pixbuf,
+ int src_x, int src_y, int dest_x, int dest_y,
+ int width, int height,
+ RgbDither dither, int x_dither, int y_dither), gdk_draw_pixbuf)
+
+ // Note: This has no 'refreturn' because get_image() returns a newly created Image object.
+ _WRAP_METHOD(Glib::RefPtr<Image> get_image(int x, int y, int width, int height) const, gdk_drawable_get_image)
+
+ // gdk_drawable_copy_to_image() returns a new GdkImage when the image parameter is NULL, but that seems to be much the
+ // same as gdk_drawable_get_image().
+ void copy_to_image(const Glib::RefPtr<Image>& image, int src_x, int src_y, int dest_x, int dest_y, int width, int height) const;
+ _IGNORE(gdk_drawable_copy_to_image)
+
+ _WRAP_METHOD(Region get_clip_region() const, gdk_drawable_get_clip_region)
+ _WRAP_METHOD(Region get_visible_region() const, gdk_drawable_get_visible_region)
+
+
+ // **** RGB stuff ****
+
+ _WRAP_METHOD(void draw_rgb_image(
+ const Glib::RefPtr<const GC>& gc,
+ int x, int y, int width, int height,
+ RgbDither dith, const guchar* rgb_buf, int rowstride),
+ gdk_draw_rgb_image)
+
+ _WRAP_METHOD(void draw_rgb_image_dithalign(
+ const Glib::RefPtr<const GC>& gc,
+ int x, int y, int width, int height,
+ RgbDither dith, const guchar* rgb_buf, int rowstride,
+ int xdith, int ydith),
+ gdk_draw_rgb_image_dithalign)
+
+ _WRAP_METHOD(void draw_rgb_32_image(
+ const Glib::RefPtr<const GC>& gc,
+ int x, int y, int width, int height,
+ RgbDither dith, const guchar* rgb_buf, int rowstride),
+ gdk_draw_rgb_32_image)
+
+ _WRAP_METHOD(void draw_rgb_32_image_dithalign(
+ const Glib::RefPtr<const GC>& gc,
+ int x, int y, int width, int height,
+ RgbDither dith, const guchar* buf, int rowstride,
+ int xdith, int ydith),
+ gdk_draw_rgb_32_image_dithalign)
+
+ _WRAP_METHOD(void draw_gray_image(
+ const Glib::RefPtr<const GC>& gc,
+ int x, int y, int width, int height,
+ RgbDither dith, const guchar* rgb_buf, int rowstride),
+ gdk_draw_gray_image)
+
+ _WRAP_METHOD(void draw_indexed_image(
+ const Glib::RefPtr<const GC>& gc,
+ int x, int y, int width, int height,
+ RgbDither dith, const guchar* rgb_buf, int rowstride,
+ const RgbCmap& cmap),
+ gdk_draw_indexed_image)
+
+ _WRAP_METHOD(Glib::RefPtr<Screen> get_screen(), gdk_drawable_get_screen, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Screen> get_screen() const, gdk_drawable_get_screen, refreturn, constversion)
+
+ _WRAP_METHOD(Glib::RefPtr<Display> get_display(), gdk_drawable_get_display, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Display> get_display() const, gdk_drawable_get_display, refreturn, constversion)
+
+ #m4 _CONVERSION(`cairo_t*',`Cairo::RefPtr<Cairo::Context>',`Cairo::RefPtr<Cairo::Context>(new Cairo::Context($3, true /* has_reference */))')
+ _WRAP_METHOD(Cairo::RefPtr<Cairo::Context> create_cairo_context(), gdk_cairo_create)
+};
+
+} // namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/event.ccg b/libs/gtkmm2/gdk/src/event.ccg
new file mode 100644
index 0000000000..442e1ca63b
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/event.ccg
@@ -0,0 +1,34 @@
+// -*- c++ -*-
+/* $Id: event.ccg,v 1.2 2004/02/10 17:29:54 mxpxpod Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdkmm/display.h>
+
+namespace Gdk
+{
+
+bool Event::send_client_message(const Glib::RefPtr<Display>& display, NativeWindow winid)
+{
+ return gdk_event_send_client_message_for_display(display->gobj(), gobj(), winid);
+}
+
+} //namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/event.hg b/libs/gtkmm2/gdk/src/event.hg
new file mode 100644
index 0000000000..ca8f2be2dc
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/event.hg
@@ -0,0 +1,88 @@
+/* $Id: event.hg,v 1.4 2006/04/12 11:11:24 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(gdkmm,gdk)
+_CC_INCLUDE(gdk/gdkenumtypes.h)
+
+#include <gdkmm/window.h>
+#include <gdkmm/screen.h>
+
+/* Shadow DELETE macro (from winnt.h).
+ */
+#if defined(DELETE) && !defined(GTKMM_MACRO_SHADOW_DELETE)
+enum { GTKMM_MACRO_DEFINITION_DELETE = DELETE };
+#undef DELETE
+enum { DELETE = GTKMM_MACRO_DEFINITION_DELETE };
+#define DELETE DELETE
+#define GTKMM_MACRO_SHADOW_DELETE 1
+#endif
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C" { typedef union _GdkEvent GdkEvent; }
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Gdk
+{
+
+_WRAP_ENUM(EventType, GdkEventType,
+ s#^2BUTTON_PRESS#DOUBLE_BUTTON_PRESS#,
+ s#^3BUTTON_PRESS#TRIPLE_BUTTON_PRESS#
+)
+
+_WRAP_ENUM(ExtensionMode, GdkExtensionMode)
+_WRAP_ENUM(AxisUse, GdkAxisUse)
+
+//TODO: Actually use this class instead of GdkEvent?
+class Event
+{
+ _CLASS_BOXEDTYPE(Event, GdkEvent, NONE, gdk_event_copy, gdk_event_free)
+ _CUSTOM_STRUCT_PROTOTYPE
+ _IGNORE(gdk_event_copy, gdk_event_free)
+public:
+
+ _WRAP_METHOD(static Event get(), gdk_event_get)
+ _WRAP_METHOD(static Event peek(), gdk_event_peek)
+ _WRAP_METHOD(static Event get_graphics_expose(const Glib::RefPtr<Window>& window), gdk_event_get_graphics_expose)
+ _WRAP_METHOD(void put(), gdk_event_put)
+
+ _WRAP_METHOD(static bool events_pending(), gdk_events_pending)
+
+ _WRAP_METHOD(guint32 get_time() const, gdk_event_get_time)
+ _WRAP_METHOD(bool get_state(ModifierType& state) const, gdk_event_get_state)
+ _WRAP_METHOD(bool get_coords(double& x_win, double& y_win) const, gdk_event_get_coords)
+ _WRAP_METHOD(bool get_root_coords(double& x_root, double& y_root) const, gdk_event_get_root_coords)
+ _WRAP_METHOD(bool get_axis(AxisUse axis_use, double& value) const, gdk_event_get_axis)
+ //_WRAP_METHOD(void gdk_event_handler_set(GdkEventFunc func, gpointer data, GDestroyNotify notify), gdk_event_handler_set)
+
+ _WRAP_METHOD(static void set_show_events(bool show_events), gdk_set_show_events)
+ _WRAP_METHOD(static bool get_show_events(), gdk_get_show_events)
+
+ _WRAP_METHOD(void set_screen(const Glib::RefPtr<Screen>& screen), gdk_event_set_screen)
+ _WRAP_METHOD(Glib::RefPtr<Screen> get_screen(), gdk_event_get_screen, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Screen> get_screen() const, gdk_event_get_screen, refreturn, constversion)
+
+ _WRAP_METHOD(bool send_client_message(NativeWindow winid), gdk_event_send_client_message)
+ bool send_client_message(const Glib::RefPtr<Display>& display, NativeWindow winid);
+ _IGNORE(gdk_event_send_client_message_for_display)
+};
+
+} // namespace Gdk
+
+
diff --git a/libs/gtkmm2/gdk/src/gc.ccg b/libs/gtkmm2/gdk/src/gc.ccg
new file mode 100644
index 0000000000..f5e5863151
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/gc.ccg
@@ -0,0 +1,41 @@
+// -*- c++ -*-
+/* $Id: gc.ccg,v 1.1 2003/01/21 13:38:08 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdk/gdkgc.h>
+#include <gdkmm/color.h>
+//#include <gdkmm/font.h>
+//#include <gdkmm/pixmap.h>
+#include <gdkmm/bitmap.h>
+#include <gdkmm/colormap.h>
+
+namespace Gdk
+{
+
+GC::GC(const Glib::RefPtr<Drawable>& drawable)
+: Object( G_OBJECT( gdk_gc_new(drawable->gobj()) ) )
+{
+ //We need a construct function if we really want to use our own GClass. Bug #86867
+}
+
+
+}
+
diff --git a/libs/gtkmm2/gdk/src/gc.hg b/libs/gtkmm2/gdk/src/gc.hg
new file mode 100644
index 0000000000..d47d6788a0
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/gc.hg
@@ -0,0 +1,102 @@
+/* $Id: gc.hg,v 1.8 2006/04/12 11:11:24 murrayc Exp $ */
+
+/* gc.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/object.h>
+#include <gdkmm/drawable.h>
+#include <gdkmm/types.h>
+#include <gdkmm/rectangle.h>
+#include <gdkmm/region.h>
+#include <gdkmm/screen.h>
+#include <gdk/gdkgc.h>
+_DEFS(gdkmm,gdk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Gdk
+{
+
+_CC_INCLUDE(gdk/gdkenumtypes.h)
+_WRAP_ENUM(LineStyle, GdkLineStyle)
+_WRAP_ENUM(CapStyle, GdkCapStyle)
+_WRAP_ENUM(JoinStyle, GdkJoinStyle)
+_WRAP_ENUM(Fill, GdkFill)
+_WRAP_ENUM(Function, GdkFunction)
+_WRAP_ENUM(SubwindowMode, GdkSubwindowMode)
+_WRAP_ENUM(GCValuesMask, GdkGCValuesMask)
+
+
+class Drawable;
+
+/** All drawing operations in GDK take a graphics context (GC) argument.
+ * A graphics context encapsulates information about the way things are drawn, such as the foreground color or line width.
+ * By using graphics contexts, the number of arguments to each drawing call is greatly reduced, and communication overhead
+ * is minimized, since identical arguments do not need to be passed repeatedly.
+ */
+class GC : public Glib::Object
+{
+ _CLASS_GOBJECT(GC,GdkGC,GDK_GC,Glib::Object,GObject)
+ _IGNORE(gdk_gc_unref, gdk_gc_ref, gdk_gc_copy, gdk_gc_set_font, gdk_gc_set_values, gdk_gc_get_values)
+protected:
+ _CTOR_DEFAULT
+ explicit GC(const Glib::RefPtr<Drawable>& drawable);
+
+public:
+ _WRAP_CREATE()
+ _WRAP_CREATE(const Glib::RefPtr<Drawable>& drawable)
+
+ // Custom wrap these?, maybe with a Gdk::GC::Value class. Need to do take care of refcounts of GdkGCValue's fields.
+ // Actually, I don't see the need for these methods. murrayc.
+ //_WRAP_METHOD(void get_values(GdkGCValues& values) const, gdk_gc_get_values)
+ //_WRAP_METHOD(void set_values(const GdkGCValues& values, GCValuesMask values_mask), gdk_gc_set_values)
+ //_IGNORE(gdk_gc_get_values, gdk_gc_set_values)
+
+ _WRAP_METHOD(void set_foreground(const Color& color), gdk_gc_set_foreground)
+ _WRAP_METHOD(void set_background(const Color& color), gdk_gc_set_background)
+ _WRAP_METHOD(void set_function(Function function), gdk_gc_set_function)
+ _WRAP_METHOD(void set_fill(Fill fill), gdk_gc_set_fill)
+ _WRAP_METHOD(void set_tile(const Glib::RefPtr<Pixmap>& tile), gdk_gc_set_tile)
+ _WRAP_METHOD(void set_stipple(const Glib::RefPtr<Pixmap>& stipple), gdk_gc_set_stipple)
+ _WRAP_METHOD(void set_ts_origin(int x, int y), gdk_gc_set_ts_origin)
+ _WRAP_METHOD(void set_clip_origin(int x, int y), gdk_gc_set_clip_origin)
+ _WRAP_METHOD(void set_clip_mask(const Glib::RefPtr<Bitmap>& mask), gdk_gc_set_clip_mask)
+
+ /** @deprecated Use set_clip_rectangle(const Rectangle& rectangle) instead.
+ */
+ _WRAP_METHOD(void set_clip_rectangle(Rectangle& rectangle), gdk_gc_set_clip_rectangle)
+ _WRAP_METHOD(void set_clip_rectangle(const Rectangle& rectangle), gdk_gc_set_clip_rectangle)
+
+ _WRAP_METHOD(void set_clip_region(const Region& region), gdk_gc_set_clip_region)
+ _WRAP_METHOD(void set_subwindow(SubwindowMode mode), gdk_gc_set_subwindow)
+ _WRAP_METHOD(void set_exposures(bool exposures), gdk_gc_set_exposures)
+ _WRAP_METHOD(void set_line_attributes(int line_width, LineStyle line_style, CapStyle cap_style, JoinStyle join_style), gdk_gc_set_line_attributes)
+ _WRAP_METHOD(void set_dashes(int dash_offset, gint8* dash_list, int n), gdk_gc_set_dashes)
+ _WRAP_METHOD(void offset(int x_offset, int y_offset), gdk_gc_offset)
+ _WRAP_METHOD(void set_colormap(const Glib::RefPtr<Colormap>& colormap), gdk_gc_set_colormap)
+ _WRAP_METHOD(Glib::RefPtr<Colormap> get_colormap(), gdk_gc_get_colormap, refreturn)
+ _WRAP_METHOD(void set_rgb_fg_color(const Color& color), gdk_gc_set_rgb_fg_color)
+ _WRAP_METHOD(void set_rgb_bg_color(const Color& color), gdk_gc_set_rgb_bg_color)
+
+ _WRAP_METHOD(Glib::RefPtr<Screen> get_screen(), gdk_gc_get_screen, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Screen> get_screen() const, gdk_gc_get_screen, refreturn, constversion)
+};
+
+} /* namespace Gdk */
+
diff --git a/libs/gtkmm2/gdk/src/gdk.defs b/libs/gtkmm2/gdk/src/gdk.defs
new file mode 100644
index 0000000000..ce06839a34
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/gdk.defs
@@ -0,0 +1,7 @@
+(include gdk_methods.defs)
+(include gdk_pixbuf.defs)
+(include gdk_pixbuf_enums.defs)
+(include gdk_signals.defs)
+(include gdk_extra.defs)
+(include gdk_enums.defs)
+
diff --git a/libs/gtkmm2/gdk/src/gdk_docs.xml b/libs/gtkmm2/gdk/src/gdk_docs.xml
new file mode 100644
index 0000000000..003d6910fa
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/gdk_docs.xml
@@ -0,0 +1,16345 @@
+<root>
+<function name="gdk_char_height">
+<description>
+Determines the total height of a given character.
+This value is not generally useful, because you cannot
+determine how this total height will be drawn in
+relation to the baseline. See gdk_text_extents().
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #GdkFont
+</parameter_description>
+</parameter>
+<parameter name="character">
+<parameter_description> the character to measure.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the height of the character in pixels.
+
+Deprecated: Use gdk_text_extents() instead.
+</return>
+</function>
+
+<function name="gdk_add_client_message_filter">
+<description>
+Adds a filter to the default display to be called when X ClientMessage events
+are received. See gdk_display_add_client_message_filter().
+
+</description>
+<parameters>
+<parameter name="message_type">
+<parameter_description> the type of ClientMessage events to receive. This will be
+checked against the &amp;lt;structfield&amp;gt;message_type&amp;lt;/structfield&amp;gt; field of the
+XClientMessage event struct.
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> the function to call to process the event.
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> user data to pass to @func.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_display_get_screen">
+<description>
+Returns: the #GdkScreen object
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="screen_num">
+<parameter_description> the screen number
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkScreen object
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_x11_screen_get_xscreen">
+<description>
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen.
+</parameter_description>
+</parameter>
+</parameters>
+<return> an Xlib &amp;lt;type&amp;gt;Screen*&amp;lt;/type&amp;gt;
+the screen of a #GdkScreen.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_selection_send_notify_for_display">
+<description>
+Send a response to SelectionRequest event.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the #GdkDisplay where @requestor is realized
+</parameter_description>
+</parameter>
+<parameter name="requestor">
+<parameter_description> window to which to deliver response.
+</parameter_description>
+</parameter>
+<parameter name="selection">
+<parameter_description> selection that was requested.
+</parameter_description>
+</parameter>
+<parameter name="target">
+<parameter_description> target that was selected.
+</parameter_description>
+</parameter>
+<parameter name="property">
+<parameter_description> property in which the selection owner stored the data,
+or %GDK_NONE to indicate that the request was rejected.
+</parameter_description>
+</parameter>
+<parameter name="time_">
+<parameter_description> timestamp.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_move_region">
+<description>
+Move the part of @window indicated by @region by @dy pixels in the Y
+direction and @dx pixels in the X direction. The portions of @region
+that not covered by the new position of @region are invalidated.
+
+Child windows are not moved.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="region">
+<parameter_description> The #GdkRegion to move
+</parameter_description>
+</parameter>
+<parameter name="dx">
+<parameter_description> Amount to move in the X direction
+</parameter_description>
+</parameter>
+<parameter name="dy">
+<parameter_description> Amount to move in the Y direction
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_screen_width">
+<description>
+Return value: the width of the default screen in pixels.
+
+</description>
+<parameters>
+</parameters>
+<return> the width of the default screen in pixels.
+</return>
+</function>
+
+<function name="gdk_gc_get_values">
+<description>
+Retrieves the current values from a graphics context. Note that
+only the pixel values of the @values-&amp;gt;foreground and @values-&amp;gt;background
+are filled, use gdk_colormap_query_color() to obtain the rgb values
+if you need them.
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="values">
+<parameter_description> the #GdkGCValues structure in which to store the results.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_region_point_in">
+<description>
+Finds out if a point is in a region.
+
+
+</description>
+<parameters>
+<parameter name="region">
+<parameter_description> a #GdkRegion
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x coordinate of a point
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y coordinate of a point
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the point is in @region.
+</return>
+</function>
+
+<function name="gdk_colors_free">
+<description>
+Frees colors allocated with gdk_colors_alloc(). This
+function is obsolete. See gdk_colormap_free_colors().
+
+</description>
+<parameters>
+<parameter name="colormap">
+<parameter_description> a #GdkColormap.
+</parameter_description>
+</parameter>
+<parameter name="pixels">
+<parameter_description> the pixel values of the colors to free.
+</parameter_description>
+</parameter>
+<parameter name="npixels">
+<parameter_description> the number of values in @pixels.
+</parameter_description>
+</parameter>
+<parameter name="planes">
+<parameter_description> the plane masks for all planes to free, OR&apos;d together.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_x11_cursor_get_xcursor">
+<description>
+Return value: an Xlib &amp;lt;type&amp;gt;Cursor&amp;lt;/type&amp;gt;.
+
+</description>
+<parameters>
+<parameter name="cursor">
+<parameter_description> a #GdkCursor.
+</parameter_description>
+</parameter>
+</parameters>
+<return> an Xlib &amp;lt;type&amp;gt;Cursor&amp;lt;/type&amp;gt;.
+</return>
+</function>
+
+<function name="gdk_drag_status">
+<description>
+Selects one of the actions offered by the drag source.
+
+This function is called by the drag destination in response to
+gdk_drag_motion() called by the drag source.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GdkDragContext.
+</parameter_description>
+</parameter>
+<parameter name="action">
+<parameter_description> the selected action which will be taken when a drop happens,
+or 0 to indicate that a drop will not be accepted.
+</parameter_description>
+</parameter>
+<parameter name="time_">
+<parameter_description> the timestamp for this operation.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_shape_combine_mask">
+<description>
+Applies a shape mask to @window. Pixels in @window corresponding to
+set bits in the @mask will be visible; pixels in @window
+corresponding to unset bits in the @mask will be transparent. This
+gives a non-rectangular window.
+
+If @mask is %NULL, the shape mask will be unset, and the @x/@y
+parameters are not used.
+
+On the X11 platform, this uses an X server extension which is
+widely available on most common platforms, but not available on
+very old X servers, and occasionally the implementation will be
+buggy. On servers without the shape extension, this function
+will do nothing.
+
+On the Win32 platform the functionality is always present.
+
+This function works on both toplevel and child windows.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="mask">
+<parameter_description> shape mask
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> X position of shape mask with respect to @window
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> Y position of shape mask with respect to @window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_format_is_writable">
+<description>
+Return value: whether pixbufs can be saved in the given format.
+
+</description>
+<parameters>
+<parameter name="format">
+<parameter_description> a #GdkPixbufFormat
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether pixbufs can be saved in the given format.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_color_copy">
+<description>
+Makes a copy of a color structure. The result
+must be freed using gdk_color_free().
+
+
+</description>
+<parameters>
+<parameter name="color">
+<parameter_description> a #GdkColor.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a copy of @color.
+</return>
+</function>
+
+<function name="gdk_event_get">
+<description>
+Checks all open displays for a #GdkEvent to process,to be processed
+on, fetching events from the windowing system if necessary.
+See gdk_display_get_event().
+
+
+</description>
+<parameters>
+</parameters>
+<return> the next #GdkEvent to be processed, or %NULL if no events
+are pending. The returned #GdkEvent should be freed with gdk_event_free().
+</return>
+</function>
+
+<function name="gdk_gc_set_clip_rectangle">
+<description>
+Sets the clip mask for a graphics context from a
+rectangle. The clip mask is interpreted relative to the clip
+origin. (See gdk_gc_set_clip_origin()).
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="rectangle">
+<parameter_description> the rectangle to clip to.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_display_get_default_group">
+<description>
+Return value: The default group leader window for @display
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> The default group leader window for @display
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gdk_gc_new_with_values">
+<description>
+Create a new GC with the given initial values.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable. The created GC must always be used
+with drawables of the same depth as this one.
+</parameter_description>
+</parameter>
+<parameter name="values">
+<parameter_description> a structure containing initial values for the GC.
+</parameter_description>
+</parameter>
+<parameter name="values_mask">
+<parameter_description> a bit mask indicating which fields in @values
+are set.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new graphics context.
+</return>
+</function>
+
+<function name="gdk_window_set_cursor">
+<description>
+Sets the mouse pointer for a #GdkWindow. Use gdk_cursor_new() or
+gdk_cursor_new_from_pixmap() to create the cursor.
+To make the cursor invisible, use gdk_cursor_new_from_pixmap() to create
+a cursor with no pixels in it. Passing %NULL for the @cursor argument
+to gdk_window_set_cursor() means that @window will use the cursor of
+its parent window. Most windows should use this default.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="cursor">
+<parameter_description> a cursor
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_drag_context_unref">
+<description>
+Deprecated function; use g_object_unref() instead.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GdkDragContext.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pango_renderer_set_gc">
+<description>
+Sets the GC the renderer draws with. Note that the GC must not be
+modified until it is unset by calling the function again with
+%NULL for the @gc parameter, since GDK may make internal copies
+of the GC which won&apos;t be updated to follow changes to the
+original GC.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="gdk_renderer">
+<parameter_description> a #GdkPangoRenderer
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> the new GC to use for drawing, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_spawn_on_screen_with_pipes">
+<description>
+Like g_spawn_async_with_pipes(), except the child process is
+spawned in such an environment that on calling gdk_display_open()
+it would be returned a #GdkDisplay with @screen as the default
+screen.
+
+This is useful for applications which wish to launch an application
+on a specific screen.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+<parameter name="working_directory">
+<parameter_description> child&apos;s current working directory, or %NULL to
+inherit parent&apos;s
+</parameter_description>
+</parameter>
+<parameter name="argv">
+<parameter_description> child&apos;s argument vector
+</parameter_description>
+</parameter>
+<parameter name="envp">
+<parameter_description> child&apos;s environment, or %NULL to inherit parent&apos;s
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags from #GSpawnFlags
+</parameter_description>
+</parameter>
+<parameter name="child_setup">
+<parameter_description> function to run in the child just before exec()
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data for @child_setup
+</parameter_description>
+</parameter>
+<parameter name="child_pid">
+<parameter_description> return location for child process ID, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="standard_input">
+<parameter_description> return location for file descriptor to write to
+child&apos;s stdin, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="standard_output">
+<parameter_description> return location for file descriptor to read child&apos;s
+stdout, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="standard_error">
+<parameter_description> return location for file descriptor to read child&apos;s
+stderr, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for error
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE on success, %FALSE if an error was set
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gdk_display_get_default_screen">
+<description>
+Get the default #GdkScreen for @display.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> the default #GdkScreen object for @display
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_pixbuf_loader_new_with_type">
+<description>
+Creates a new pixbuf loader object that always attempts to parse
+image data as if it were an image of type @image_type, instead of
+identifying the type automatically. Useful if you want an error if
+the image isn&apos;t the expected type, for loading image formats
+that can&apos;t be reliably identified by looking at the data, or if
+the user manually forces a specific type.
+
+The list of supported image formats depends on what image loaders
+are installed, but typically &quot;png&quot;, &quot;jpeg&quot;, &quot;gif&quot;, &quot;tiff&quot; and
+&quot;xpm&quot; are among the supported formats. To obtain the full list of
+supported image formats, call gdk_pixbuf_format_get_name() on each
+of the #GdkPixbufFormat structs returned by gdk_pixbuf_get_formats().
+
+
+</description>
+<parameters>
+<parameter name="image_type">
+<parameter_description> name of the image format to be loaded with the image
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for an allocated #GError, or %NULL to ignore errors
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly-created pixbuf loader.
+</return>
+</function>
+
+<function name="gdk_screen_height">
+<description>
+Return value: the height of the default screen in pixels.
+
+</description>
+<parameters>
+</parameters>
+<return> the height of the default screen in pixels.
+</return>
+</function>
+
+<function name="gdk_window_new">
+<description>
+Creates a new #GdkWindow using the attributes from
+@attributes. See #GdkWindowAttr and #GdkWindowAttributesType for
+more details. Note: to use this on displays other than the default
+display, @parent must be specified.
+
+
+</description>
+<parameters>
+<parameter name="parent">
+<parameter_description> a #GdkWindow, or %NULL to create the window as a child of
+the default root window for the default display.
+</parameter_description>
+</parameter>
+<parameter name="attributes">
+<parameter_description> attributes of the new window
+</parameter_description>
+</parameter>
+<parameter name="attributes_mask">
+<parameter_description> mask indicating which fields in @attributes are valid
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GdkWindow
+</return>
+</function>
+
+<function name="gdk_window_get_update_area">
+<description>
+Transfers ownership of the update area from @window to the caller
+of the function. That is, after calling this function, @window will
+no longer have an invalid/dirty region; the update area is removed
+from @window and handed to you. If a window has no update area,
+gdk_window_get_update_area() returns %NULL. You are responsible for
+calling gdk_region_destroy() on the returned region if it&apos;s non-%NULL.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> the update area for @window
+</return>
+</function>
+
+<function name="gdk_colormap_ref">
+<description>
+Deprecated function; use g_object_ref() instead.
+
+
+</description>
+<parameters>
+<parameter name="cmap">
+<parameter_description> a #GdkColormap
+</parameter_description>
+</parameter>
+</parameters>
+<return> the colormap
+</return>
+</function>
+
+<function name="gdk_font_unref">
+<description>
+Decreases the reference count of a font by one.
+If the result is zero, destroys the font.
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #GdkFont
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_foreign_new_for_display">
+<description>
+Wraps a native window in a #GdkWindow.
+This may fail if the window has been destroyed. If the window
+was already known to GDK, a new reference to the existing
+#GdkWindow is returned.
+
+For example in the X backend, a native window handle is an Xlib
+&amp;lt;type&amp;gt;XID&amp;lt;/type&amp;gt;.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the #GdkDisplay where the window handle comes from.
+</parameter_description>
+</parameter>
+<parameter name="anid">
+<parameter_description> a native window handle.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GdkWindow wrapper for the native window or
+%NULL if the window has been destroyed. The wrapper will be
+newly created, if one doesn&apos;t exist already.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="_gdk_x11_display_screen_for_xrootwin">
+<description>
+Given the root window ID of one of the screen&apos;s of a #GdkDisplay,
+finds the screen.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="xrootwin">
+<parameter_description> window ID for one of of the screen&apos;s of the display.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkScreen corresponding to @xrootwin, or %NULL.
+</return>
+</function>
+
+<function name="gdk_pango_attr_emboss_color_new">
+<description>
+Creates a new attribute specifying the color to emboss text with.
+
+
+</description>
+<parameters>
+<parameter name="color">
+<parameter_description> a GdkColor representing the color to emboss with
+</parameter_description>
+</parameter>
+</parameters>
+<return> new #PangoAttribute
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gdk_x11_drawable_get_xdisplay">
+<description>
+Return value: an Xlib &amp;lt;type&amp;gt;Display*&amp;lt;/type&amp;gt;.
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable.
+</parameter_description>
+</parameter>
+</parameters>
+<return> an Xlib &amp;lt;type&amp;gt;Display*&amp;lt;/type&amp;gt;.
+</return>
+</function>
+
+<function name="gdk_utf8_to_string_target">
+<description>
+Converts an UTF-8 string into the best possible representation
+as a STRING. The representation of characters not in STRING
+is not specified; it may be as pseudo-escape sequences
+\x{ABCD}, or it may be in some other form of approximation.
+
+
+</description>
+<parameters>
+<parameter name="str">
+<parameter_description> a UTF-8 string
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly-allocated string, or %NULL if the
+conversion failed. (It should not fail for
+any properly formed UTF-8 string unless system
+limits like memory or file descriptors are exceeded.)
+</return>
+</function>
+
+<function name="gdk_display_get_default_cursor_size">
+<description>
+Returns: the default cursor size.
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> the default cursor size.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gdk_pixbuf_get_formats">
+<description>
+Obtains the available information about the image formats supported
+by GdkPixbuf.
+
+
+</description>
+<parameters>
+</parameters>
+<return> A list of #GdkPixbufFormat&amp;lt;!-- --&amp;gt;s describing the supported
+image formats. The list should be freed when it is no longer needed,
+but the structures themselves are owned by #GdkPixbuf and should not be
+freed.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_colormap_query_color">
+<description>
+Locates the RGB color in @colormap corresponding to the given
+hardware pixel @pixel. @pixel must be a valid pixel in the
+colormap; it&apos;s a programmer error to call this function with a
+pixel which is not in the colormap. Hardware pixels are normally
+obtained from gdk_colormap_alloc_colors(), or from a #GdkImage. (A
+#GdkImage contains image data in hardware format, a #GdkPixbuf
+contains image data in a canonical 24-bit RGB format.)
+
+This function is rarely useful; it&apos;s used for example to
+implement the eyedropper feature in #GtkColorSelection.
+
+
+</description>
+<parameters>
+<parameter name="colormap">
+<parameter_description> a #GdkColormap
+</parameter_description>
+</parameter>
+<parameter name="pixel">
+<parameter_description> pixel value in hardware display format
+</parameter_description>
+</parameter>
+<parameter name="result">
+<parameter_description> #GdkColor with red, green, blue fields initialized
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_display_set_double_click_distance">
+<description>
+Sets the double click distance (two clicks within this distance
+count as a double click and result in a #GDK_2BUTTON_PRESS event).
+See also gdk_display_set_double_click_time().
+Applications should &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt; set this, it is a global
+user-configured setting.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="distance">
+<parameter_description> distance in pixels
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_screen_get_number">
+<description>
+Gets the index of @screen among the screens in the display
+to which it belongs. (See gdk_screen_get_display())
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return> the index
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_colormap_free_colors">
+<description>
+Frees previously allocated colors.
+
+</description>
+<parameters>
+<parameter name="colormap">
+<parameter_description> a #GdkColormap.
+</parameter_description>
+</parameter>
+<parameter name="colors">
+<parameter_description> the colors to free.
+</parameter_description>
+</parameter>
+<parameter name="ncolors">
+<parameter_description> the number of colors in @colors.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_save_to_buffer">
+<description>
+Saves pixbuf to a new buffer in format @type, which is currently &quot;jpeg&quot;,
+&quot;png&quot;, &quot;tiff&quot;, &quot;ico&quot; or &quot;bmp&quot;. This is a convenience function that uses
+gdk_pixbuf_save_to_callback() to do the real work. Note that the buffer
+is not nul-terminated and may contain embedded nuls.
+If @error is set, %FALSE will be returned and @string will be set to
+%NULL. Possible errors include those in the #GDK_PIXBUF_ERROR
+domain.
+
+See gdk_pixbuf_save() for more details.
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> a #GdkPixbuf.
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> location to receive a pointer to the new buffer.
+</parameter_description>
+</parameter>
+<parameter name="buffer_size">
+<parameter_description> location to receive the size of the new buffer.
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> name of file format.
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for error, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> list of key-value save options
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether an error was set
+
+Since: 2.4
+</return>
+</function>
+
+<function name="GdkPixbufLoader">
+<description>
+This signal is emitted when gdk_pixbuf_loader_close() is called.
+It can be used by different parts of an application to receive
+notification when an image loader is closed by the code that
+drives it.
+
+</description>
+<parameters>
+<parameter name="loader">
+<parameter_description> the object which received the signal.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_x11_window_set_user_time">
+<description>
+The application can use this call to update the _NET_WM_USER_TIME
+property on a toplevel window. This property stores an Xserver
+time which represents the time of the last user input event
+received for this window. This property may be used by the window
+manager to alter the focus, stacking, and/or placement behavior of
+windows when they are mapped depending on whether the new window
+was created by a user action or is a &quot;pop-up&quot; window activated by a
+timer or some other event.
+
+Note that this property is automatically updated by GDK, so this
+function should only be used by applications which handle input
+events bypassing GDK.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> A toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="timestamp">
+<parameter_description> An XServer timestamp to which the property should be set
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_configure_finished">
+<description>
+Signal to the window system that the application has finished
+handling Configure events it has received. Window Managers can
+use this to better synchronize the frame repaint with the
+application. GTK+ applications will automatically call this
+function when appropriate.
+
+This function can only be called if gdk_window_enable_synchronized_configure()
+was called previously.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_set_background">
+<description>
+Sets the background color of @window. (However, when using GTK+,
+set the background of a widget with gtk_widget_modify_bg() - if
+you&apos;re an application - or gtk_style_set_background() - if you&apos;re
+implementing a custom widget.)
+
+The @color must be allocated; gdk_rgb_find_color() is the best way
+to allocate a color.
+
+See also gdk_window_set_back_pixmap().
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> an allocated #GdkColor
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_screen_get_setting">
+<description>
+Retrieves a desktop-wide setting such as double-click time
+for the #GdkScreen @screen.
+
+FIXME needs a list of valid settings here, or a link to
+more information.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> the #GdkScreen where the setting is located
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> the name of the setting
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> location to store the value of the setting
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the setting existed and a value was stored
+in @value, %FALSE otherwise.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_keymap_get_for_display">
+<description>
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the #GdkDisplay.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkKeymap attached to @display.
+the #GdkKeymap attached to @display.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_font_equal">
+<description>
+Compares two fonts for equality. Single fonts compare equal
+if they have the same X font ID. This operation does
+not currently work correctly for fontsets.
+
+
+</description>
+<parameters>
+<parameter name="fonta">
+<parameter_description> a #GdkFont.
+</parameter_description>
+</parameter>
+<parameter name="fontb">
+<parameter_description> another #GdkFont.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the fonts are equal.
+</return>
+</function>
+
+<function name="gdk_gc_set_tile">
+<description>
+Set a tile pixmap for a graphics context.
+This will only be used if the fill mode
+is %GDK_TILED.
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="tile">
+<parameter_description> the new tile pixmap.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_x11_gc_get_xgc">
+<description>
+Return value: an Xlib &amp;lt;type&amp;gt;GC&amp;lt;/type&amp;gt;.
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+</parameters>
+<return> an Xlib &amp;lt;type&amp;gt;GC&amp;lt;/type&amp;gt;.
+</return>
+</function>
+
+<function name="gdk_gc_set_rgb_fg_color">
+<description>
+Set the foreground color of a GC using an unallocated color. The
+pixel value for the color will be determined using GdkRGB. If the
+colormap for the GC has not previously been initialized for GdkRGB,
+then for pseudo-color colormaps (colormaps with a small modifiable
+number of colors), a colorcube will be allocated in the colormap.
+
+Calling this function for a GC without a colormap is an error.
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> an unallocated #GdkColor.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_begin_move_drag">
+<description>
+Begins a window move operation (for a toplevel window). You might
+use this function to implement a &quot;window move grip,&quot; for
+example. The function works best with window managers that support
+the &amp;lt;ulink url=&quot;http://www.freedesktop.org/Standards/wm-spec&quot;&amp;gt;Extended
+Window Manager Hints&amp;lt;/ulink&amp;gt;, but has a fallback implementation for
+other window managers.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="button">
+<parameter_description> the button being used to drag
+</parameter_description>
+</parameter>
+<parameter name="root_x">
+<parameter_description> root window X coordinate of mouse click that began the drag
+</parameter_description>
+</parameter>
+<parameter name="root_y">
+<parameter_description> root window Y coordinate of mouse click that began the drag
+</parameter_description>
+</parameter>
+<parameter name="timestamp">
+<parameter_description> timestamp of mouse click that began the drag
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_visual_get_best_depth">
+<description>
+Get the best available depth for the default GDK screen. &quot;Best&quot;
+means &quot;largest,&quot; i.e. 32 preferred over 24 preferred over 8 bits
+per pixel.
+
+
+</description>
+<parameters>
+</parameters>
+<return> best available depth
+</return>
+</function>
+
+<function name="gdk_pixbuf_scale">
+<description>
+Creates a transformation of the source image @src by scaling by
+@scale_x and @scale_y then translating by @offset_x and @offset_y,
+then renders the rectangle (@dest_x, @dest_y, @dest_width,
+@dest_height) of the resulting image onto the destination image
+replacing the previous contents.
+
+Try to use gdk_pixbuf_scale_simple() first, this function is
+the industrial-strength power tool you can fall back to if
+gdk_pixbuf_scale_simple() isn&apos;t powerful enough.
+
+</description>
+<parameters>
+<parameter name="src">
+<parameter_description> a #GdkPixbuf
+</parameter_description>
+</parameter>
+<parameter name="dest">
+<parameter_description> the #GdkPixbuf into which to render the results
+</parameter_description>
+</parameter>
+<parameter name="dest_x">
+<parameter_description> the left coordinate for region to render
+</parameter_description>
+</parameter>
+<parameter name="dest_y">
+<parameter_description> the top coordinate for region to render
+</parameter_description>
+</parameter>
+<parameter name="dest_width">
+<parameter_description> the width of the region to render
+</parameter_description>
+</parameter>
+<parameter name="dest_height">
+<parameter_description> the height of the region to render
+</parameter_description>
+</parameter>
+<parameter name="offset_x">
+<parameter_description> the offset in the X direction (currently rounded to an integer)
+</parameter_description>
+</parameter>
+<parameter name="offset_y">
+<parameter_description> the offset in the Y direction (currently rounded to an integer)
+</parameter_description>
+</parameter>
+<parameter name="scale_x">
+<parameter_description> the scale factor in the X direction
+</parameter_description>
+</parameter>
+<parameter name="scale_y">
+<parameter_description> the scale factor in the Y direction
+</parameter_description>
+</parameter>
+<parameter name="interp_type">
+<parameter_description> the interpolation type for the transformation.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_colors_store">
+<description>
+Changes the value of the first @ncolors colors in
+a private colormap. This function is obsolete and
+should not be used. See gdk_color_change().
+
+</description>
+<parameters>
+<parameter name="colormap">
+<parameter_description> a #GdkColormap.
+</parameter_description>
+</parameter>
+<parameter name="colors">
+<parameter_description> the new color values.
+</parameter_description>
+</parameter>
+<parameter name="ncolors">
+<parameter_description> the number of colors to change.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_font_from_description_for_display">
+<description>
+Loads a #GdkFont based on a Pango font description for use on @display.
+This font will only be an approximation of the Pango font, and
+internationalization will not be handled correctly. This function
+should only be used for legacy code that cannot be easily converted
+to use Pango. Using Pango directly will produce better results.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="font_desc">
+<parameter_description> a #PangoFontDescription.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly loaded font, or %NULL if the font
+cannot be loaded.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_set_double_click_time">
+<description>
+Set the double click time for the default display. See
+gdk_display_set_double_click_time().
+See also gdk_display_set_double_click_distance().
+Applications should &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt; set this, it is a
+global user-configured setting.
+
+</description>
+<parameters>
+<parameter name="msec">
+<parameter_description> double click time in milliseconds (thousandths of a second)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_font_load">
+<description>
+Loads a font.
+
+The font may be newly loaded or looked up the font in a cache.
+You should make no assumptions about the initial reference count.
+
+
+</description>
+<parameters>
+<parameter name="font_name">
+<parameter_description> a XLFD describing the font to load.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GdkFont, or %NULL if the font could not be loaded.
+</return>
+</function>
+
+<function name="gdk_pixbuf_animation_unref">
+<description>
+Removes a reference from an animation.
+
+Deprecated: Use g_object_unref().
+
+</description>
+<parameters>
+<parameter name="animation">
+<parameter_description> An animation.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_format_get_license">
+<description>
+Returns: a string describing the license of @format.
+
+</description>
+<parameters>
+<parameter name="format">
+<parameter_description> a #GdkPixbufFormat
+</parameter_description>
+</parameter>
+</parameters>
+<return> a string describing the license of @format.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gdk_region_spans_intersect_foreach">
+<description>
+Calls a function on each span in the intersection of @region and @spans.
+
+</description>
+<parameters>
+<parameter name="region">
+<parameter_description> a #GdkRegion
+</parameter_description>
+</parameter>
+<parameter name="spans">
+<parameter_description> an array of #GdkSpans
+</parameter_description>
+</parameter>
+<parameter name="n_spans">
+<parameter_description> the length of @spans
+</parameter_description>
+</parameter>
+<parameter name="sorted">
+<parameter_description> %TRUE if @spans is sorted wrt. the y coordinate
+</parameter_description>
+</parameter>
+<parameter name="function">
+<parameter_description> function to call on each span in the intersection
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to pass to @function
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_apply_embedded_orientation">
+<description>
+Takes an existing pixbuf and checks for the presence of an
+associated &quot;orientation&quot; option, which may be provided by the
+jpeg loader (which reads the exif orientation tag) or the
+tiff loader (which reads the tiff orientation tag, and
+compensates it for the partial transforms performed by
+libtiff). If an orientation option/tag is present, the
+appropriate transform will be performed so that the pixbuf
+is oriented correctly.
+
+
+</description>
+<parameters>
+<parameter name="src">
+<parameter_description> A #GdkPixbuf.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly-created pixbuf, or a reference to the
+input pixbuf (with an increased reference count).
+
+Since 2.12
+</return>
+</function>
+
+<function name="gdk_pixbuf_get_colorspace">
+<description>
+Queries the color space of a pixbuf.
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> A pixbuf.
+</parameter_description>
+</parameter>
+</parameters>
+<return> Color space.
+</return>
+</function>
+
+<function name="gdk_display_supports_shapes">
+<description>
+Returns: %TRUE if shaped windows are supported
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if shaped windows are supported
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gdk_rectangle_union">
+<description>
+Calculates the union of two rectangles.
+The union of rectangles @src1 and @src2 is the smallest rectangle which
+includes both @src1 and @src2 within it.
+It is allowed for @dest to be the same as either @src1 or @src2.
+
+</description>
+<parameters>
+<parameter name="src1">
+<parameter_description> a #GdkRectangle
+</parameter_description>
+</parameter>
+<parameter name="src2">
+<parameter_description> a #GdkRectangle
+</parameter_description>
+</parameter>
+<parameter name="dest">
+<parameter_description> return location for the union of @src1 and @src2
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_device_get_axis">
+<description>
+Interprets an array of double as axis values for a given device,
+and locates the value in the array for a given axis use.
+
+
+</description>
+<parameters>
+<parameter name="device">
+<parameter_description> a #GdkDevice
+</parameter_description>
+</parameter>
+<parameter name="axes">
+<parameter_description> pointer to an array of axes
+</parameter_description>
+</parameter>
+<parameter name="use">
+<parameter_description> the use to look for
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> location to store the found value.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the given axis use was found, otherwise %FALSE
+</return>
+</function>
+
+<function name="gdk_pixbuf_get_option">
+<description>
+Looks up @key in the list of options that may have been attached to the
+@pixbuf when it was loaded, or that may have been attached by another
+function using gdk_pixbuf_set_option().
+
+For instance, the ANI loader provides &quot;Title&quot; and &quot;Artist&quot; options.
+The ICO, XBM, and XPM loaders provide &quot;x_hot&quot; and &quot;y_hot&quot; hot-spot
+options for cursor definitions. The PNG loader provides the tEXt ancillary
+chunk key/value pairs as options. Since 2.12, the TIFF and JPEG loaders
+return an &quot;orientation&quot; option string that corresponds to the embedded
+TIFF/Exif orientation tag (if present).
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> a #GdkPixbuf
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a nul-terminated string.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the value associated with @key. This is a nul-terminated
+string that should not be freed or %NULL if @key was not found.
+</return>
+</function>
+
+<function name="gdk_set_show_events">
+<description>
+Sets whether a trace of received events is output.
+Note that GTK+ must be compiled with debugging (that is,
+configured using the &amp;lt;option&amp;gt;--enable-debug&amp;lt;/option&amp;gt; option)
+to use this option.
+
+</description>
+<parameters>
+<parameter name="show_events">
+<parameter_description> %TRUE to output event debugging information.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_x11_get_server_time">
+<description>
+Routine to get the current X server time stamp.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow, used for communication with the server.
+The window must have GDK_PROPERTY_CHANGE_MASK in its
+events mask or a hang will result.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the time stamp.
+</return>
+</function>
+
+<function name="gdk_x11_ungrab_server">
+<description>
+Ungrab the default display after it has been grabbed with
+gdk_x11_grab_server().
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_get_position">
+<description>
+Obtains the position of the window as reported in the
+most-recently-processed #GdkEventConfigure. Contrast with
+gdk_window_get_geometry() which queries the X server for the
+current window position, regardless of which events have been
+received or processed.
+
+The position coordinates are relative to the window&apos;s parent window.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> X coordinate of window
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> Y coordinate of window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_cursor_ref">
+<description>
+Adds a reference to @cursor.
+
+
+</description>
+<parameters>
+<parameter name="cursor">
+<parameter_description> a #GdkCursor
+</parameter_description>
+</parameter>
+</parameters>
+<return> Same @cursor that was passed in
+</return>
+</function>
+
+<function name="gdk_region_xor">
+<description>
+Sets the area of @source1 to the exclusive-OR of the areas of @source1
+and @source2. The resulting area is the set of pixels contained in one
+or the other of the two sources but not in both.
+
+</description>
+<parameters>
+<parameter name="source1">
+<parameter_description> a #GdkRegion
+</parameter_description>
+</parameter>
+<parameter name="source2">
+<parameter_description> another #GdkRegion
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_drag_abort">
+<description>
+Aborts a drag without dropping.
+
+This function is called by the drag source.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GdkDragContext.
+</parameter_description>
+</parameter>
+<parameter name="time_">
+<parameter_description> the timestamp for this operation.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_new_from_file_at_size">
+<description>
+Creates a new pixbuf by loading an image from a file. The file format is
+detected automatically. If %NULL is returned, then @error will be set.
+Possible errors are in the #GDK_PIXBUF_ERROR and #G_FILE_ERROR domains.
+The image will be scaled to fit in the requested size, preserving
+the image&apos;s aspect ratio.
+
+
+</description>
+<parameters>
+<parameter name="filename">
+<parameter_description> Name of file to load, in the GLib file name encoding
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> The width the image should have or -1 to not constrain the width
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> The height the image should have or -1 to not constrain the height
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> Return location for an error
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly-created pixbuf with a reference count of 1, or
+%NULL if any of several error conditions occurred: the file could not
+be opened, there was no loader for the file&apos;s format, there was not
+enough memory to allocate the image buffer, or the image file contained
+invalid data.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gdk_draw_layout_with_colors">
+<description>
+Render a #PangoLayout onto a #GdkDrawable, overriding the
+layout&apos;s normal colors with @foreground and/or @background.
+@foreground and @background need not be allocated.
+
+If the layout&apos;s #PangoContext has a transformation matrix set, then
+@x and @y specify the position of the top left corner of the
+bounding box (in device space) of the transformed layout.
+
+If you&apos;re using GTK+, the ususal way to obtain a #PangoLayout
+is gtk_widget_create_pango_layout().
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> the drawable on which to draw string
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> base graphics context to use
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the X position of the left of the layout (in pixels)
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the Y position of the top of the layout (in pixels)
+</parameter_description>
+</parameter>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="foreground">
+<parameter_description> foreground override color, or %NULL for none
+</parameter_description>
+</parameter>
+<parameter name="background">
+<parameter_description> background override color, or %NULL for none
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_get_from_drawable">
+<description>
+Transfers image data from a #GdkDrawable and converts it to an RGB(A)
+representation inside a #GdkPixbuf. In other words, copies
+image data from a server-side drawable to a client-side RGB(A) buffer.
+This allows you to efficiently read individual pixels on the client side.
+
+If the drawable @src has no colormap (gdk_drawable_get_colormap()
+Return value: The same pixbuf as @dest if it was non-%NULL, or a newly-created
+
+</description>
+<parameters>
+<parameter name="dest">
+<parameter_description> Destination pixbuf, or %NULL if a new pixbuf should be created.
+</parameter_description>
+</parameter>
+<parameter name="src">
+<parameter_description> Source drawable.
+</parameter_description>
+</parameter>
+<parameter name="cmap">
+<parameter_description> A colormap if @src doesn&apos;t have one set.
+</parameter_description>
+</parameter>
+<parameter name="src_x">
+<parameter_description> Source X coordinate within drawable.
+</parameter_description>
+</parameter>
+<parameter name="src_y">
+<parameter_description> Source Y coordinate within drawable.
+</parameter_description>
+</parameter>
+<parameter name="dest_x">
+<parameter_description> Destination X coordinate in pixbuf, or 0 if @dest is NULL.
+</parameter_description>
+</parameter>
+<parameter name="dest_y">
+<parameter_description> Destination Y coordinate in pixbuf, or 0 if @dest is NULL.
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> Width in pixels of region to get.
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> Height in pixels of region to get.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The same pixbuf as @dest if it was non-%NULL, or a newly-created
+pixbuf with a reference count of 1 if no destination pixbuf was specified, or %NULL on error
+</return>
+</function>
+
+<function name="gdk_window_get_children">
+<description>
+Gets the list of children of @window known to GDK.
+This function only returns children created via GDK,
+so for example it&apos;s useless when used with the root window;
+it only returns windows an application created itself.
+
+The returned list must be freed, but the elements in the
+list need not be.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> list of child windows inside @window
+</return>
+</function>
+
+<function name="gdk_screen_width_mm">
+<description>
+Return value: the width of the default screen in millimeters,
+
+</description>
+<parameters>
+</parameters>
+<return> the width of the default screen in millimeters,
+though it is not always correct.
+</return>
+</function>
+
+<function name="gdk_text_property_to_text_list_for_display">
+<description>
+Convert a text string from the encoding as it is stored
+in a property into an array of strings in the encoding of
+the current locale. (The elements of the array represent the
+nul-separated elements of the original text string.)
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> The #GdkDisplay where the encoding is defined.
+</parameter_description>
+</parameter>
+<parameter name="encoding">
+<parameter_description> an atom representing the encoding. The most
+common values for this are STRING, or COMPOUND_TEXT.
+This is value used as the type for the property.
+</parameter_description>
+</parameter>
+<parameter name="format">
+<parameter_description> the format of the property.
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> The text data.
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> The number of items to transform.
+</parameter_description>
+</parameter>
+<parameter name="list">
+<parameter_description> location to store a terminated array of strings in
+the encoding of the current locale. This array should be
+freed using gdk_free_text_list().
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of strings stored in list, or 0,
+if the conversion failed.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_screen_get_toplevel_windows">
+<description>
+Obtains a list of all toplevel windows known to GDK on the screen @screen.
+A toplevel window is a child of the root window (see
+gdk_get_default_root_window()).
+
+The returned list should be freed with g_list_free(), but
+its elements need not be freed.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> The #GdkScreen where the toplevels are located.
+</parameter_description>
+</parameter>
+</parameters>
+<return> list of toplevel windows, free with g_list_free()
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_screen_is_composited">
+<description>
+Return value: Whether windows with RGBA visuals can reasonably be
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return> Whether windows with RGBA visuals can reasonably be
+expected to have their alpha channels drawn correctly on the screen.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gdk_x11_display_ungrab">
+<description>
+Ungrab @display after it has been grabbed with
+gdk_x11_display_grab().
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_x11_display_get_user_time">
+<description>
+Returns: the timestamp of the last user interaction
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> the timestamp of the last user interaction
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gdk_x11_image_get_xdisplay">
+<description>
+Return value: an Xlib &amp;lt;type&amp;gt;Display*&amp;lt;/type&amp;gt;.
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GdkImage.
+</parameter_description>
+</parameter>
+</parameters>
+<return> an Xlib &amp;lt;type&amp;gt;Display*&amp;lt;/type&amp;gt;.
+</return>
+</function>
+
+<function name="gdk_pixbuf_unref">
+<description>
+Removes a reference from a pixbuf.
+
+Deprecated: Use g_object_unref().
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> A pixbuf.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_cairo_set_source_pixmap">
+<description>
+Sets the given pixmap as the source pattern for the Cairo context.
+The pattern has an extend mode of %CAIRO_EXTEND_NONE and is aligned
+so that the origin of @pixmap is @pixmap_x, @pixmap_y
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="cr">
+<parameter_description> a #Cairo context
+</parameter_description>
+</parameter>
+<parameter name="pixmap">
+<parameter_description> a #GdkPixmap
+</parameter_description>
+</parameter>
+<parameter name="pixmap_x">
+<parameter_description> X coordinate of location to place upper left corner of @pixmap
+</parameter_description>
+</parameter>
+<parameter name="pixmap_y">
+<parameter_description> Y coordinate of location to place upper left corner of @pixmap
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_display_put_event">
+<description>
+Appends a copy of the given event onto the front of the event
+queue for @display.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> a #GdkEvent.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_new_from_file">
+<description>
+Creates a new pixbuf by loading an image from a file. The file format is
+detected automatically. If %NULL is returned, then @error will be set.
+Possible errors are in the #GDK_PIXBUF_ERROR and #G_FILE_ERROR domains.
+
+
+</description>
+<parameters>
+<parameter name="filename">
+<parameter_description> Name of file to load, in the GLib file name encoding
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> Return location for an error
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly-created pixbuf with a reference count of 1, or %NULL if
+any of several error conditions occurred: the file could not be opened,
+there was no loader for the file&apos;s format, there was not enough memory to
+allocate the image buffer, or the image file contained invalid data.
+</return>
+</function>
+
+<function name="gdk_region_rectangle">
+<description>
+Creates a new region containing the area @rectangle.
+
+
+</description>
+<parameters>
+<parameter name="rectangle">
+<parameter_description> a #GdkRectangle
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new region
+</return>
+</function>
+
+<function name="gdk_pixbuf_format_get_name">
+<description>
+Return value: the name of the format.
+
+</description>
+<parameters>
+<parameter name="format">
+<parameter_description> a #GdkPixbufFormat
+</parameter_description>
+</parameter>
+</parameters>
+<return> the name of the format.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_screen_height_mm">
+<description>
+Return value: the height of the default screen in millimeters,
+
+</description>
+<parameters>
+</parameters>
+<return> the height of the default screen in millimeters,
+though it is not always correct.
+</return>
+</function>
+
+<function name="gdk_gc_set_font">
+<description>
+Sets the font for a graphics context. (Note that
+all text-drawing functions in GDK take a @font
+argument; the value set here is used when that
+argument is %NULL.)
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> the new font.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_screen_get_default_colormap">
+<description>
+Gets the default colormap for @screen.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return> the default #GdkColormap.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_mbstowcs">
+<description>
+Converts a multi-byte string to a wide character string.
+(The function name comes from an acronym of &apos;Multi-Byte String TO Wide
+Character String&apos;).
+
+
+</description>
+<parameters>
+<parameter name="dest">
+<parameter_description> the space to place the converted wide character string into.
+</parameter_description>
+</parameter>
+<parameter name="src">
+<parameter_description> the multi-byte string to convert, which must be nul-terminated.
+</parameter_description>
+</parameter>
+<parameter name="dest_max">
+<parameter_description> the maximum number of wide characters to place in @dest.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of wide characters written into @dest, or -1 if
+the conversion failed.
+</return>
+</function>
+
+<function name="gdk_window_set_opacity">
+<description>
+Request the windowing system to make @window partially transparent,
+with opacity 0 being fully transparent and 1 fully opaque. (Values
+of the opacity parameter are clamped to the [0,1] range.)
+
+On X11, this works only on X screens with a compositing manager
+running.
+
+For setting up per-pixel alpha, see gdk_screen_get_rgba_colormap().
+For making non-toplevel windows translucent, see
+gdk_window_set_composited().
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a top-level #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="opacity">
+<parameter_description> opacity
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_draw_layout_line_with_colors">
+<description>
+Render a #PangoLayoutLine onto a #GdkDrawable, overriding the
+layout&apos;s normal colors with @foreground and/or @background.
+@foreground and @background need not be allocated.
+
+If the layout&apos;s #PangoContext has a transformation matrix set, then
+@x and @y specify the position of the left edge of the baseline
+(left is in before-tranform user coordinates) in after-transform
+device coordinates.
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> the drawable on which to draw the line
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> base graphics to use
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x position of start of string (in pixels)
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y position of baseline (in pixels)
+</parameter_description>
+</parameter>
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine
+</parameter_description>
+</parameter>
+<parameter name="foreground">
+<parameter_description> foreground override color, or %NULL for none
+</parameter_description>
+</parameter>
+<parameter name="background">
+<parameter_description> background override color, or %NULL for none
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_threads_add_timeout_full">
+<description>
+Sets a function to be called at regular intervals holding the GDK lock,
+with the given priority. The function is called repeatedly until it
+Return value: the ID (greater than 0) of the event source.
+
+</description>
+<parameters>
+<parameter name="priority">
+<parameter_description> the priority of the timeout source. Typically this will be in the
+range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE.
+</parameter_description>
+</parameter>
+<parameter name="interval">
+<parameter_description> the time between calls to the function, in milliseconds
+(1/1000ths of a second)
+</parameter_description>
+</parameter>
+<parameter name="function">
+<parameter_description> function to call
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to pass to @function
+</parameter_description>
+</parameter>
+<parameter name="notify">
+<parameter_description> function to call when the timeout is removed, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> the ID (greater than 0) of the event source.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gdk_threads_init">
+<description>
+Initializes GDK so that it can be used from multiple threads
+in conjunction with gdk_threads_enter() and gdk_threads_leave().
+g_thread_init() must be called previous to this function.
+
+This call must be made before any use of the main loop from
+GTK+; to be safe, call it before gtk_init().
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_string_measure">
+<description>
+Determines the distance from the origin to the rightmost
+portion of a nul-terminated string when drawn. This is not the
+correct value for determining the origin of the next
+portion when drawing text in multiple pieces.
+See gdk_string_width().
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #GdkFont
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> the nul-terminated string to measure.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the right bearing of the string in pixels.
+</return>
+</function>
+
+<function name="gdk_draw_pixbuf">
+<description>
+Renders a rectangular portion of a pixbuf to a drawable. The destination
+drawable must have a colormap. All windows have a colormap, however, pixmaps
+only have colormap by default if they were created with a non-%NULL window
+argument. Otherwise a colormap must be set on them with
+gdk_drawable_set_colormap().
+
+On older X servers, rendering pixbufs with an alpha channel involves round
+trips to the X server, and may be somewhat slow.
+
+The clip mask of @gc is ignored, but clip rectangles and clip regions work
+fine.
+
+If GDK is built with the Sun mediaLib library, the gdk_draw_pixbuf
+function is accelerated using mediaLib, which provides hardware
+acceleration on Intel, AMD, and Sparc chipsets. If desired, mediaLib
+support can be turned off by setting the GDK_DISABLE_MEDIALIB environment
+variable.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> Destination drawable.
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> a #GdkGC, used for clipping, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="pixbuf">
+<parameter_description> a #GdkPixbuf
+</parameter_description>
+</parameter>
+<parameter name="src_x">
+<parameter_description> Source X coordinate within pixbuf.
+</parameter_description>
+</parameter>
+<parameter name="src_y">
+<parameter_description> Source Y coordinates within pixbuf.
+</parameter_description>
+</parameter>
+<parameter name="dest_x">
+<parameter_description> Destination X coordinate within drawable.
+</parameter_description>
+</parameter>
+<parameter name="dest_y">
+<parameter_description> Destination Y coordinate within drawable.
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> Width of region to render, in pixels, or -1 to use pixbuf width.
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> Height of region to render, in pixels, or -1 to use pixbuf height.
+</parameter_description>
+</parameter>
+<parameter name="dither">
+<parameter_description> Dithering mode for #GdkRGB.
+</parameter_description>
+</parameter>
+<parameter name="x_dither">
+<parameter_description> X offset for dither.
+</parameter_description>
+</parameter>
+<parameter name="y_dither">
+<parameter_description> Y offset for dither.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_withdraw">
+<description>
+Withdraws a window (unmaps it and asks the window manager to forget about it).
+This function is not really useful as gdk_window_hide() automatically
+withdraws toplevel windows before hiding them.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_get_internal_paint_info">
+<description>
+If you bypass the GDK layer and use windowing system primitives to
+draw directly onto a #GdkWindow, then you need to deal with two
+details: there may be an offset between GDK coordinates and windowing
+system coordinates, and GDK may have redirected drawing to a offscreen
+pixmap as the result of a gdk_window_begin_paint_region() calls.
+This function allows retrieving the information you need to compensate
+for these effects.
+
+This function exposes details of the GDK implementation, and is thus
+likely to change in future releases of GDK.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="real_drawable">
+<parameter_description> location to store the drawable to which drawing should be
+done.
+</parameter_description>
+</parameter>
+<parameter name="x_offset">
+<parameter_description> location to store the X offset between coordinates in @window,
+and the underlying window system primitive coordinates for
+*@real_drawable.
+</parameter_description>
+</parameter>
+<parameter name="y_offset">
+<parameter_description> location to store the Y offset between coordinates in @window,
+and the underlying window system primitive coordinates for
+*@real_drawable.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_gc_set_foreground">
+<description>
+Sets the foreground color for a graphics context.
+Note that this function uses @color-&amp;gt;pixel, use
+gdk_gc_set_rgb_fg_color() to specify the foreground
+color as red, green, blue components.
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> the new foreground color.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gdk_gc_get_fill">
+<description>
+Gets the current file style for the GC
+
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC
+</parameter_description>
+</parameter>
+</parameters>
+<return> the file style for the GC
+</return>
+</function>
+
+<function name="gdk_event_get_time">
+<description>
+returns #GDK_CURRENT_TIME. If @event is %NULL, returns #GDK_CURRENT_TIME.
+Return value: time stamp field from @event
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a #GdkEvent
+</parameter_description>
+</parameter>
+</parameters>
+<return> time stamp field from @event
+</return>
+</function>
+
+<function name="gdk_color_hash">
+<description>
+A hash function suitable for using for a hash
+table that stores #GdkColor&apos;s.
+
+
+</description>
+<parameters>
+<parameter name="colora">
+<parameter_description> a #GdkColor.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The hash function applied to @colora
+</return>
+</function>
+
+<function name="gdk_event_set_screen">
+<description>
+Sets the screen for @event to @screen. The event must
+have been allocated by GTK+, for instance, by
+gdk_event_copy().
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a #GdkEvent
+</parameter_description>
+</parameter>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pango_renderer_set_stipple">
+<description>
+Sets the stipple for one render part (foreground, background, underline,
+etc.) Note that this is overwritten when iterating through the individual
+styled runs of a #PangoLayout or #PangoLayoutLine. This function is thus
+only useful when you call low level functions like pango_renderer_draw_glyphs()
+directly, or in the &apos;prepare_run&apos; virtual function of a subclass of
+#GdkPangoRenderer.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="gdk_renderer">
+<parameter_description> a #GdkPangoRenderer
+</parameter_description>
+</parameter>
+<parameter name="part">
+<parameter_description> the part to render with the stipple
+</parameter_description>
+</parameter>
+<parameter name="stipple">
+<parameter_description> the new stipple value.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_event_get_axis">
+<description>
+Extract the axis value for a particular axis use from
+an event structure.
+
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a #GdkEvent
+</parameter_description>
+</parameter>
+<parameter name="axis_use">
+<parameter_description> the axis use to look for
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> location to store the value found
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the specified axis was found, otherwise %FALSE
+</return>
+</function>
+
+<function name="gdk_screen_get_monitor_geometry">
+<description>
+Retrieves the #GdkRectangle representing the size and position of
+the individual monitor within the entire screen area.
+
+Note that the size of the entire screen area can be retrieved via
+gdk_screen_get_width() and gdk_screen_get_height().
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen.
+</parameter_description>
+</parameter>
+<parameter name="monitor_num">
+<parameter_description> the monitor number.
+</parameter_description>
+</parameter>
+<parameter name="dest">
+<parameter_description> a #GdkRectangle to be filled with the monitor geometry
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gdk_event_queue_append">
+<description>
+Appends an event onto the tail of the event queue.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> Event to append.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly appended list node.
+</return>
+</function>
+
+<function name="gdk_pango_context_get">
+<description>
+Creates a #PangoContext for the default GDK screen.
+
+The context must be freed when you&apos;re finished with it.
+
+When using GTK+, normally you should use gtk_widget_get_pango_context()
+instead of this function, to get the appropriate context for
+the widget you intend to render text onto.
+
+The newly created context will have the default font options (see
+#cairo_font_options_t) for the default screen; if these options
+change it will not be updated. Using gtk_widget_get_pango_context()
+is more convenient if you want to keep a context around and track
+changes to the screen&apos;s font rendering settings.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #PangoContext for the default display
+</return>
+</function>
+
+<function name="gdk_color_black">
+<description>
+Return value: %TRUE if the allocation succeeded.
+
+</description>
+<parameters>
+<parameter name="colormap">
+<parameter_description> a #GdkColormap.
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> the location to store the color.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the allocation succeeded.
+</return>
+</function>
+
+<function name="gdk_window_clear_area_e">
+<description>
+Like gdk_window_clear_area(), but also generates an expose event for
+the cleared area.
+
+This function has a stupid name because it dates back to the mists
+time, pre-GDK-1.0.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x coordinate of rectangle to clear
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y coordinate of rectangle to clear
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of rectangle to clear
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height of rectangle to clear
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_loader_get_pixbuf">
+<description>
+Queries the #GdkPixbuf that a pixbuf loader is currently creating.
+In general it only makes sense to call this function after the
+&quot;area_prepared&quot; signal has been emitted by the loader; this means
+that enough data has been read to know the size of the image that
+will be allocated. If the loader has not received enough data via
+gdk_pixbuf_loader_write(), then this function returns %NULL. The
+returned pixbuf will be the same in all future calls to the loader,
+so simply calling g_object_ref() should be sufficient to continue
+using it. Additionally, if the loader is an animation, it will
+return the &quot;static image&quot; of the animation
+(see gdk_pixbuf_animation_get_static_image()).
+
+
+</description>
+<parameters>
+<parameter name="loader">
+<parameter_description> A pixbuf loader.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GdkPixbuf that the loader is creating, or %NULL if not
+enough data has been read to determine how to create the image buffer.
+</return>
+</function>
+
+<function name="gdk_display_warp_pointer">
+<description>
+Warps the pointer of @display to the point @x,@y on
+the screen @screen, unless the pointer is confined
+to a window by a grab, in which case it will be moved
+as far as allowed by the grab. Warping the pointer
+creates events as if the user had moved the mouse
+instantaneously to the destination.
+
+Note that the pointer should normally be under the
+control of the user. This function was added to cover
+some rare use cases like keyboard navigation support
+for the color picker in the #GtkColorSelectionDialog.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="screen">
+<parameter_description> the screen of @display to warp the pointer to
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x coordinate of the destination
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y coordinate of the destination
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_gc_offset">
+<description>
+Offset attributes such as the clip and tile-stipple origins
+of the GC so that drawing at x - x_offset, y - y_offset with
+the offset GC has the same effect as drawing at x, y with the original
+GC.
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC
+</parameter_description>
+</parameter>
+<parameter name="x_offset">
+<parameter_description> amount by which to offset the GC in the X direction
+</parameter_description>
+</parameter>
+<parameter name="y_offset">
+<parameter_description> amount by which to offset the GC in the Y direction
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_image_get">
+<description>
+This is a deprecated wrapper for gdk_drawable_get_image();
+gdk_drawable_get_image() should be used instead. Or even better: in
+most cases gdk_pixbuf_get_from_drawable() is the most convenient
+choice.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x coordinate in @window
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y coordinate in @window
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of area in @window
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height of area in @window
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GdkImage or %NULL
+</return>
+</function>
+
+<function name="gdk_pixbuf_scale_simple">
+<description>
+Create a new #GdkPixbuf containing a copy of @src scaled to
+@dest_width x @dest_height. Leaves @src unaffected. @interp_type
+should be #GDK_INTERP_NEAREST if you want maximum speed (but when
+scaling down #GDK_INTERP_NEAREST is usually unusably ugly). The
+default @interp_type should be #GDK_INTERP_BILINEAR which offers
+reasonable quality and speed.
+
+You can scale a sub-portion of @src by creating a sub-pixbuf
+pointing into @src; see gdk_pixbuf_new_subpixbuf().
+
+For more complicated scaling/compositing see gdk_pixbuf_scale()
+and gdk_pixbuf_composite().
+
+
+</description>
+<parameters>
+<parameter name="src">
+<parameter_description> a #GdkPixbuf
+</parameter_description>
+</parameter>
+<parameter name="dest_width">
+<parameter_description> the width of destination image
+</parameter_description>
+</parameter>
+<parameter name="dest_height">
+<parameter_description> the height of destination image
+</parameter_description>
+</parameter>
+<parameter name="interp_type">
+<parameter_description> the interpolation type for the transformation.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GdkPixbuf, or %NULL if not enough memory could be
+allocated for it.
+</return>
+</function>
+
+<function name="gdk_font_id">
+<description>
+Return value: the numeric X Font ID
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #GdkFont.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the numeric X Font ID
+</return>
+</function>
+
+<function name="gdk_window_lookup">
+<description>
+Looks up the #GdkWindow that wraps the given native window handle.
+
+For example in the X backend, a native window handle is an Xlib
+&amp;lt;type&amp;gt;XID&amp;lt;/type&amp;gt;.
+
+
+</description>
+<parameters>
+<parameter name="anid">
+<parameter_description> a native window handle.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkWindow wrapper for the native window,
+or %NULL if there is none.
+</return>
+</function>
+
+<function name="gdk_pixbuf_animation_iter_on_currently_loading_frame">
+<description>
+Used to determine how to respond to the area_updated signal on
+#GdkPixbufLoader when loading an animation. area_updated is emitted
+for an area of the frame currently streaming in to the loader. So if
+you&apos;re on the currently loading frame, you need to redraw the screen for
+the updated area.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GdkPixbufAnimationIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the frame we&apos;re on is partially loaded, or the last frame
+</return>
+</function>
+
+<function name="gdk_region_intersect">
+<description>
+Sets the area of @source1 to the intersection of the areas of @source1
+and @source2. The resulting area is the set of pixels contained in
+both @source1 and @source2.
+
+</description>
+<parameters>
+<parameter name="source1">
+<parameter_description> a #GdkRegion
+</parameter_description>
+</parameter>
+<parameter name="source2">
+<parameter_description> another #GdkRegion
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_text_property_to_utf8_list_for_display">
+<description>
+Converts a text property in the given encoding to
+a list of UTF-8 strings.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="encoding">
+<parameter_description> an atom representing the encoding of the text
+</parameter_description>
+</parameter>
+<parameter name="format">
+<parameter_description> the format of the property
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the text to convert
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the length of @text, in bytes
+</parameter_description>
+</parameter>
+<parameter name="list">
+<parameter_description> location to store the list of strings or %NULL. The
+list should be freed with g_strfreev().
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of strings in the resulting
+list.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_string_height">
+<description>
+Determines the total height of a given nul-terminated
+string. This value is not generally useful, because you
+cannot determine how this total height will be drawn in
+relation to the baseline. See gdk_string_extents().
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #GdkFont
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> the nul-terminated string to measure.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the height of the string in pixels.
+</return>
+</function>
+
+<function name="gdk_window_set_keep_above">
+<description>
+Set if @window must be kept above other windows. If the
+window was already above, then this function does nothing.
+
+On X11, asks the window manager to keep @window above, if the window
+manager supports this operation. Not all window managers support
+this, and some deliberately ignore it or don&apos;t have a concept of
+&quot;keep above&quot;; so you can&apos;t rely on the window being kept above.
+But it will happen with most standard window managers,
+and GDK makes a best effort to get it to happen.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> whether to keep @window above other windows
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_set_debug_updates">
+<description>
+With update debugging enabled, calls to
+gdk_window_invalidate_region() clear the invalidated region of the
+screen to a noticeable color, and GDK pauses for a short time
+before sending exposes to windows during
+gdk_window_process_updates(). The net effect is that you can see
+the invalid region for each window and watch redraws as they
+occur. This allows you to diagnose inefficiencies in your application.
+
+In essence, because the GDK rendering model prevents all flicker,
+if you are redrawing the same region 400 times you may never
+notice, aside from noticing a speed problem. Enabling update
+debugging causes GTK to flicker slowly and noticeably, so you can
+see exactly what&apos;s being redrawn when, in what order.
+
+The --gtk-debug=updates command line option passed to GTK+ programs
+enables this debug option at application startup time. That&apos;s
+usually more useful than calling gdk_window_set_debug_updates()
+yourself, though you might want to use this function to enable
+updates sometime after application startup time.
+
+
+</description>
+<parameters>
+<parameter name="setting">
+<parameter_description> %TRUE to turn on update debugging
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_drag_context_ref">
+<description>
+Deprecated function; use g_object_ref() instead.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GdkDragContext.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_get_default_root_window">
+<description>
+Obtains the root window (parent all other windows are inside)
+for the default display and screen.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the default root window
+</return>
+</function>
+
+<function name="_gdk_gc_get_stipple">
+<description>
+Gets the stipple pixmap for @gc, if any
+
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC
+</parameter_description>
+</parameter>
+</parameters>
+<return> the stipple set on the GC, or %NULL. The
+value is owned by the GC and must not be freed.
+</return>
+</function>
+
+<function name="gdk_window_set_events">
+<description>
+The event mask for a window determines which events will be reported
+for that window. For example, an event mask including #GDK_BUTTON_PRESS_MASK
+means the window should report button press events. The event mask
+is the bitwise OR of values from the #GdkEventMask enumeration.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="event_mask">
+<parameter_description> event mask for @window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_query_visual_types">
+<description>
+This function returns the available visual types for the default
+screen. It&apos;s equivalent to listing the visuals
+(gdk_list_visuals()) and then looking at the type field in each
+visual, removing duplicates.
+
+The array returned by this function should not be freed.
+
+</description>
+<parameters>
+<parameter name="visual_types">
+<parameter_description> return location for the available visual types
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> return location for the number of available visual types
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gdk_xgrab_check_unmap">
+<description>
+Checks to see if an unmap request or event causes the current
+grab window to become not viewable, and if so, clear the
+the pointer we keep to it.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="serial">
+<parameter_description> serial from Unmap event (or from NextRequest(display)
+if the unmap is being done by this client.)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_display_close">
+<description>
+Closes the connection to the windowing system for the given display,
+and cleans up associated resources.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_query_depths">
+<description>
+This function returns the available bit depths for the default
+screen. It&apos;s equivalent to listing the visuals
+(gdk_list_visuals()) and then looking at the depth field in each
+visual, removing duplicates.
+
+The array returned by this function should not be freed.
+
+
+</description>
+<parameters>
+<parameter name="depths">
+<parameter_description> return location for available depths
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> return location for number of available depths
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_char_measure">
+<description>
+Determines the distance from the origin to the rightmost
+portion of a character when drawn. This is not the
+correct value for determining the origin of the next
+portion when drawing text in multiple pieces.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #GdkFont
+</parameter_description>
+</parameter>
+<parameter name="character">
+<parameter_description> the character to measure.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the right bearing of the character in pixels.
+</return>
+</function>
+
+<function name="gdk_spawn_on_screen">
+<description>
+Like g_spawn_async(), except the child process is spawned in such
+an environment that on calling gdk_display_open() it would be
+returned a #GdkDisplay with @screen as the default screen.
+
+This is useful for applications which wish to launch an application
+on a specific screen.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+<parameter name="working_directory">
+<parameter_description> child&apos;s current working directory, or %NULL to
+inherit parent&apos;s
+</parameter_description>
+</parameter>
+<parameter name="argv">
+<parameter_description> child&apos;s argument vector
+</parameter_description>
+</parameter>
+<parameter name="envp">
+<parameter_description> child&apos;s environment, or %NULL to inherit parent&apos;s
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags from #GSpawnFlags
+</parameter_description>
+</parameter>
+<parameter name="child_setup">
+<parameter_description> function to run in the child just before exec()
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data for @child_setup
+</parameter_description>
+</parameter>
+<parameter name="child_pid">
+<parameter_description> return location for child process ID, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for error
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE on success, %FALSE if error is set
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gdk_color_to_string">
+<description>
+Return value: a newly-allocated text string
+
+</description>
+<parameters>
+<parameter name="color">
+<parameter_description> a #GdkColor
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated text string
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gdk_pixmap_foreign_new_for_screen">
+<description>
+Wraps a native pixmap in a #GdkPixmap.
+This may fail if the pixmap has been destroyed.
+
+For example in the X backend, a native pixmap handle is an Xlib
+&amp;lt;type&amp;gt;XID&amp;lt;/type&amp;gt;.
+
+This function is an alternative to gdk_pixmap_foreign_new_for_display()
+for cases where the dimensions of the pixmap are known. For the X
+backend, this avoids a roundtrip to the server.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+<parameter name="anid">
+<parameter_description> a native pixmap handle
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the pixmap identified by @anid
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the pixmap identified by @anid
+</parameter_description>
+</parameter>
+<parameter name="depth">
+<parameter_description> the depth of the pixmap identified by @anid
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly-created #GdkPixmap wrapper for the
+native pixmap or %NULL if the pixmap has been destroyed.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gdk_pixbuf_loader_get_format">
+<description>
+Obtains the available information about the format of the
+currently loading image file.
+
+
+</description>
+<parameters>
+<parameter name="loader">
+<parameter_description> A pixbuf loader.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A #GdkPixbufFormat or %NULL. The return value is owned
+by GdkPixbuf and should not be freed.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_set_sm_client_id">
+<description>
+Sets the &amp;lt;literal&amp;gt;SM_CLIENT_ID&amp;lt;/literal&amp;gt; property on the application&apos;s leader window so that
+the window manager can save the application&apos;s state using the X11R6 ICCCM
+session management protocol.
+
+See the X Session Management Library documentation for more information on
+session management and the Inter-Client Communication Conventions Manual
+(ICCCM) for information on the &amp;lt;literal&amp;gt;WM_CLIENT_LEADER&amp;lt;/literal&amp;gt; property.
+(Both documents are part of the X Window System distribution.)
+
+</description>
+<parameters>
+<parameter name="sm_client_id">
+<parameter_description> the client id assigned by the session manager when the
+connection was opened, or %NULL to remove the property.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_unstick">
+<description>
+Reverse operation for gdk_window_stick(); see gdk_window_stick(),
+and gtk_window_unstick().
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_selection_property_get">
+<description>
+Retrieves selection data that was stored by the selection
+data in response to a call to gdk_selection_convert(). This function
+will not be used by applications, who should use the #GtkClipboard
+API instead.
+
+
+</description>
+<parameters>
+<parameter name="requestor">
+<parameter_description> the window on which the data is stored
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> location to store a pointer to the retrieved data.
+ If the retrieval failed, %NULL we be stored here, otherwise, it
+ will be non-%NULL and the returned data should be freed with g_free()
+ when you are finished using it. The length of the
+ allocated memory is one more than the length
+ of the returned data, and the final byte will always
+ be zero, to ensure nul-termination of strings.
+</parameter_description>
+</parameter>
+<parameter name="prop_type">
+<parameter_description> location to store the type of the property.
+</parameter_description>
+</parameter>
+<parameter name="prop_format">
+<parameter_description> location to store the format of the property.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the length of the retrieved data.
+</return>
+</function>
+
+<function name="gdk_visual_get_system">
+<description>
+Get the system&apos;sdefault visual for the default GDK screen.
+This is the visual for the root window of the display.
+The return value should not be freed.
+
+
+</description>
+<parameters>
+</parameters>
+<return> system visual
+</return>
+</function>
+
+<function name="_gdk_event_queue_remove_link">
+<description>
+Removes a specified list node from the event queue.
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="node">
+<parameter_description> node to remove
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_x11_xatom_to_atom">
+<description>
+Convert from an X atom for the default display to the corresponding
+#GdkAtom.
+
+
+</description>
+<parameters>
+<parameter name="xatom">
+<parameter_description> an X atom for the default GDK display
+</parameter_description>
+</parameter>
+</parameters>
+<return> the corresponding G#dkAtom.
+</return>
+</function>
+
+<function name="_gdk_window_destroy_hierarchy">
+<description>
+Internal function to destroy a window. Like gdk_window_destroy(),
+but does not drop the reference count created by gdk_window_new().
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="recursing">
+<parameter_description> If TRUE, then this is being called because a parent
+was destroyed. This generally means that the call to the
+windowing system to destroy the window can be omitted, since
+it will be destroyed as a result of the parent being destroyed.
+Unless @foreign_destroy.
+</parameter_description>
+</parameter>
+<parameter name="foreign_destroy">
+<parameter_description> If TRUE, the window or a parent was destroyed by some
+external agency. The window has already been destroyed and no
+windowing system calls should be made. (This may never happen
+for some windowing systems.)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_gc_set_clip_mask">
+<description>
+Sets the clip mask for a graphics context from a bitmap.
+The clip mask is interpreted relative to the clip
+origin. (See gdk_gc_set_clip_origin()).
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> the #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="mask">
+<parameter_description> a bitmap.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_drawable_get_screen">
+<description>
+Gets the #GdkScreen associated with a #GdkDrawable.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkScreen associated with @drawable
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_draw_trapezoids">
+<description>
+Draws a set of anti-aliased trapezoids. The trapezoids are
+combined using saturation addition, then drawn over the background
+as a set. This is low level functionality used internally to implement
+rotated underlines and backgrouds when rendering a PangoLayout and is
+likely not useful for applications.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> a #GdkGC
+</parameter_description>
+</parameter>
+<parameter name="trapezoids">
+<parameter_description> an array of #GdkTrapezoid structures
+</parameter_description>
+</parameter>
+<parameter name="n_trapezoids">
+<parameter_description> the number of trapezoids to draw
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_drawable_get_size">
+<description>
+Fills *@width and *@height with the size of @drawable.
+@width or @height can be %NULL if you only want the other one.
+
+On the X11 platform, if @drawable is a #GdkWindow, the returned
+size is the size reported in the most-recently-processed configure
+event, rather than the current size on the X server.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> location to store drawable&apos;s width, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> location to store drawable&apos;s height, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_x11_font_get_name">
+<description>
+Return the X Logical Font Description (for font-&amp;gt;type == GDK_FONT_FONT)
+or comma separated list of XLFDs (for font-&amp;gt;type == GDK_FONT_FONTSET)
+that was used to load the font. If the same font was loaded
+via multiple names, which name is returned is undefined.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #GdkFont.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the name of the font. This string is owned
+by GDK and must not be modified or freed.
+</return>
+</function>
+
+<function name="gdk_window_get_toplevel">
+<description>
+Gets the toplevel window that&apos;s an ancestor of @window.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> the toplevel window containing @window
+</return>
+</function>
+
+<function name="gdk_region_offset">
+<description>
+Moves a region the specified distance.
+
+</description>
+<parameters>
+<parameter name="region">
+<parameter_description> a #GdkRegion
+</parameter_description>
+</parameter>
+<parameter name="dx">
+<parameter_description> the distance to move the region horizontally
+</parameter_description>
+</parameter>
+<parameter name="dy">
+<parameter_description> the distance to move the region vertically
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_ref">
+<description>
+Adds a reference to a pixbuf.
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> A pixbuf.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The same as the @pixbuf argument.
+
+Deprecated: Use g_object_ref().
+</return>
+</function>
+
+<function name="gdk_window_get_parent">
+<description>
+Obtains the parent of @window, as known to GDK. Does not query the
+X server; thus this returns the parent as passed to gdk_window_new(),
+not the actual parent. This should never matter unless you&apos;re using
+Xlib calls mixed with GDK calls on the X11 platform. It may also
+matter for toplevel windows, because the window manager may choose
+to reparent them.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> parent of @window
+</return>
+</function>
+
+<function name="gdk_display_request_selection_notification">
+<description>
+Request #GdkEventOwnerChange events for ownership changes
+of the selection named by the given atom.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="selection">
+<parameter_description> the #GdkAtom naming the selection for which
+ownership change notification is requested
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether #GdkEventOwnerChange events will
+be sent.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gdk_display_sync">
+<description>
+Flushes any requests queued for the windowing system and waits until all
+requests have been handled. This is often used for making sure that the
+display is synchronized with the current state of the program. Calling
+gdk_display_sync() before gdk_error_trap_pop() makes sure that any errors
+generated from earlier requests are handled before the error trap is
+removed.
+
+This is most useful for X11. On windowing systems where requests are
+handled synchronously, this function will do nothing.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_get_geometry">
+<description>
+Any of the return location arguments to this function may be %NULL,
+if you aren&apos;t interested in getting the value of that field.
+
+The X and Y coordinates returned are relative to the parent window
+of @window, which for toplevels usually means relative to the
+window decorations (titlebar, etc.) rather than relative to the
+root window (screen-size background window).
+
+On the X11 platform, the geometry is obtained from the X server,
+so reflects the latest position of @window; this may be out-of-sync
+with the position of @window delivered in the most-recently-processed
+#GdkEventConfigure. gdk_window_get_position() in contrast gets the
+position from the most recent configure event.
+
+&amp;lt;note&amp;gt;
+If @window is not a toplevel, it is &amp;lt;emphasis&amp;gt;much&amp;lt;/emphasis&amp;gt; better
+to call gdk_window_get_position() and gdk_drawable_get_size() instead,
+because it avoids the roundtrip to the X server and because
+gdk_drawable_get_size() supports the full 32-bit coordinate space,
+whereas gdk_window_get_geometry() is restricted to the 16-bit
+coordinates of X11.
+&amp;lt;/note&amp;gt;
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> return location for X coordinate of window (relative to its parent)
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> return location for Y coordinate of window (relative to its parent)
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> return location for width of window
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> return location for height of window
+</parameter_description>
+</parameter>
+<parameter name="depth">
+<parameter_description> return location for bit depth of window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_get_pixels">
+<description>
+Queries a pointer to the pixel data of a pixbuf.
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> A pixbuf.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A pointer to the pixbuf&apos;s pixel data. Please see &amp;lt;xref linkend=&quot;image-data&quot;/&amp;gt;
+for information about how the pixel data is stored in
+memory.
+</return>
+</function>
+
+<function name="gdk_pango_attr_stipple_new">
+<description>
+Creates a new attribute containing a stipple bitmap to be used when
+rendering the text.
+
+
+</description>
+<parameters>
+<parameter name="stipple">
+<parameter_description> a bitmap to be set as stipple
+</parameter_description>
+</parameter>
+</parameters>
+<return> new #PangoAttribute
+</return>
+</function>
+
+<function name="gdk_window_raise">
+<description>
+Raises @window to the top of the Z-order (stacking order), so that
+other windows with the same parent window appear below @window.
+This is true whether or not the windows are visible.
+
+If @window is a toplevel, the window manager may choose to deny the
+request to move the window in the Z-order, gdk_window_raise() only
+requests the restack, does not guarantee it.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_set_urgency_hint">
+<description>
+Toggles whether a window needs the user&apos;s
+urgent attention.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="urgent">
+<parameter_description> %TRUE if the window is urgent
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_lower">
+<description>
+Lowers @window to the bottom of the Z-order (stacking order), so that
+other windows with the same parent window appear above @window.
+This is true whether or not the other windows are visible.
+
+If @window is a toplevel, the window manager may choose to deny the
+request to move the window in the Z-order, gdk_window_lower() only
+requests the restack, does not guarantee it.
+
+Note that gdk_window_show() raises the window again, so don&apos;t call this
+function before gdk_window_show(). (Try gdk_window_show_unraised().)
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_keymap_get_default">
+<description>
+
+</description>
+<parameters>
+</parameters>
+<return> the #GdkKeymap attached to the default display.
+the #GdkKeymap attached to the default display.
+</return>
+</function>
+
+<function name="gdk_screen_broadcast_client_message">
+<description>
+On X11, sends an X ClientMessage event to all toplevel windows on
+@screen.
+
+Toplevel windows are determined by checking for the WM_STATE property,
+as described in the Inter-Client Communication Conventions Manual (ICCCM).
+If no windows are found with the WM_STATE property set, the message is
+sent to all children of the root window.
+
+On Windows, broadcasts a message registered with the name
+GDK_WIN32_CLIENT_MESSAGE to all top-level windows. The amount of
+data is limited to one long, i.e. four bytes.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> the #GdkScreen where the event will be broadcasted.
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> the #GdkEvent.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_set_icon_list">
+<description>
+Sets a list of icons for the window. One of these will be used
+to represent the window when it has been iconified. The icon is
+usually shown in an icon box or some sort of task bar. Which icon
+size is shown depends on the window manager. The window manager
+can scale the icon but setting several size icons can give better
+image quality since the window manager may only need to scale the
+icon by a small amount or not at all.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> The #GdkWindow toplevel window to set the icon of.
+</parameter_description>
+</parameter>
+<parameter name="pixbufs">
+<parameter_description> A list of pixbufs, of different sizes.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_gc_get_screen">
+<description>
+Gets the #GdkScreen for which @gc was created
+
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkScreen for @gc.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_pixbuf_new_from_inline">
+<description>
+Create a #GdkPixbuf from a flat representation that is suitable for
+storing as inline data in a program. This is useful if you want to
+ship a program with images, but don&apos;t want to depend on any
+external files.
+
+GTK+ ships with a program called &amp;lt;command&amp;gt;gdk-pixbuf-csource&amp;lt;/command&amp;gt;
+which allows for conversion of #GdkPixbufs into such a inline representation.
+In almost all cases, you should pass the &amp;lt;option&amp;gt;--raw&amp;lt;/option&amp;gt; flag to
+&amp;lt;command&amp;gt;gdk-pixbuf-csource&amp;lt;/command&amp;gt;. A sample invocation would be:
+
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+gdk-pixbuf-csource --raw --name=myimage_inline myimage.png
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+For the typical case where the inline pixbuf is read-only static data,
+you don&apos;t need to copy the pixel data unless you intend to write to
+it, so you can pass %FALSE for @copy_pixels. (If you pass
+&amp;lt;option&amp;gt;--rle&amp;lt;/option&amp;gt; to &amp;lt;command&amp;gt;gdk-pixbuf-csource&amp;lt;/command&amp;gt;, a copy
+will be made even if @copy_pixels is %FALSE, so using this option is
+generally a bad idea.)
+
+If you create a pixbuf from const inline data compiled into your
+program, it&apos;s probably safe to ignore errors and disable length checks,
+since things will always succeed:
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+pixbuf = gdk_pixbuf_new_from_inline (-1, myimage_inline, FALSE, NULL);
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+For non-const inline data, you could get out of memory. For untrusted
+inline data located at runtime, you could have corrupt inline data in
+addition.
+
+
+</description>
+<parameters>
+<parameter name="data_length">
+<parameter_description> Length in bytes of the @data argument or -1 to
+disable length checks
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> Byte data containing a serialized #GdkPixdata structure
+</parameter_description>
+</parameter>
+<parameter name="copy_pixels">
+<parameter_description> Whether to copy the pixel data, or use direct pointers
+@data for the resulting pixbuf
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> #GError return location, may be %NULL to ignore errors
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly-created #GdkPixbuf structure with a reference,
+count of 1, or %NULL if an error occurred.
+</return>
+</function>
+
+<function name="gdk_cursor_new_from_pixbuf">
+<description>
+Creates a new cursor from a pixbuf.
+
+Not all GDK backends support RGBA cursors. If they are not
+supported, a monochrome approximation will be displayed.
+The functions gdk_display_supports_cursor_alpha() and
+gdk_display_supports_cursor_color() can be used to determine
+whether RGBA cursors are supported;
+gdk_display_get_default_cursor_size() and
+gdk_display_get_maximal_cursor_size() give information about
+cursor sizes.
+
+On the X backend, support for RGBA cursors requires a
+sufficently new version of the X Render extension.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the #GdkDisplay for which the cursor will be created
+</parameter_description>
+</parameter>
+<parameter name="pixbuf">
+<parameter_description> the #GdkPixbuf containing the cursor image
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the horizontal offset of the &apos;hotspot&apos; of the cursor.
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the vertical offset of the &apos;hotspot&apos; of the cursor.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GdkCursor.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gdk_gc_unref">
+<description>
+Decrement the reference count of @gc.
+
+Deprecated: Use g_object_unref() instead.
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_set_user_data">
+<description>
+For most purposes this function is deprecated in favor of
+g_object_set_data(). However, for historical reasons GTK+ stores
+the #GtkWidget that owns a #GdkWindow as user data on the
+#GdkWindow. So, custom widget implementations should use
+this function for that. If GTK+ receives an event for a #GdkWindow,
+and the user data for the window is non-%NULL, GTK+ will assume the
+user data is a #GtkWidget, and forward the event to that widget.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_get_decorations">
+<description>
+Returns: TRUE if the window has decorations set, FALSE otherwise.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> The toplevel #GdkWindow to get the decorations from
+</parameter_description>
+</parameter>
+<parameter name="decorations">
+<parameter_description> The window decorations will be written here
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if the window has decorations set, FALSE otherwise.
+</return>
+</function>
+
+<function name="gdk_keymap_have_bidi_layouts">
+<description>
+Determines if keyboard layouts for both right-to-left and left-to-right
+languages are in use.
+
+@Returns: %TRUE if there are layouts in both directions, %FALSE otherwise
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="keymap">
+<parameter_description> a #GdkKeymap or %NULL to use the default keymap
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pointer_grab_info_libgtk_only">
+<description>
+Determines information about the current pointer grab.
+This is not public API and must not be used by applications.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the #GdkDisplay for which to get the grab information
+</parameter_description>
+</parameter>
+<parameter name="grab_window">
+<parameter_description> location to store current grab window
+</parameter_description>
+</parameter>
+<parameter name="owner_events">
+<parameter_description> location to store boolean indicating whether
+the @owner_events flag to gdk_pointer_grab() was %TRUE.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if this application currently has the
+pointer grabbed.
+</return>
+</function>
+
+<function name="gdk_draw_line">
+<description>
+Draws a line, using the foreground color and other attributes of
+the #GdkGC.
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="x1_">
+<parameter_description> the x coordinate of the start point.
+</parameter_description>
+</parameter>
+<parameter name="y1_">
+<parameter_description> the y coordinate of the start point.
+</parameter_description>
+</parameter>
+<parameter name="x2_">
+<parameter_description> the x coordinate of the end point.
+</parameter_description>
+</parameter>
+<parameter name="y2_">
+<parameter_description> the y coordinate of the end point.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_animation_get_height">
+<description>
+Queries the height of the bounding box of a pixbuf animation.
+
+
+</description>
+<parameters>
+<parameter name="animation">
+<parameter_description> An animation.
+</parameter_description>
+</parameter>
+</parameters>
+<return> Height of the bounding box of the animation.
+</return>
+</function>
+
+<function name="gdk_drag_drop">
+<description>
+Drops on the current destination.
+
+This function is called by the drag source.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GdkDragContext.
+</parameter_description>
+</parameter>
+<parameter name="time_">
+<parameter_description> the timestamp for this operation.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_input_shape_combine_mask">
+<description>
+Like gdk_window_shape_combine_mask(), but the shape applies
+only to event handling. Mouse events which happen while
+the pointer position corresponds to an unset bit in the
+mask will be passed on the window below @window.
+
+An input shape is typically used with RGBA windows.
+The alpha channel of the window defines which pixels are
+invisible and allows for nicely antialiased borders,
+and the input shape controls where the window is
+&quot;clickable&quot;.
+
+On the X11 platform, this requires version 1.1 of the
+shape extension.
+
+On the Win32 platform, this functionality is not present and the
+function does nothing.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="mask">
+<parameter_description> shape mask
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> X position of shape mask with respect to @window
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> Y position of shape mask with respect to @window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_event_get_screen">
+<description>
+Return value: the screen for the event
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a #GdkEvent
+</parameter_description>
+</parameter>
+</parameters>
+<return> the screen for the event
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_drawable_get_depth">
+<description>
+Obtains the bit depth of the drawable, that is, the number of bits
+that make up a pixel in the drawable&apos;s visual. Examples are 8 bits
+per pixel, 24 bits per pixel, etc.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+</parameters>
+<return> number of bits per pixel
+</return>
+</function>
+
+<function name="gdk_display_manager_list_displays">
+<description>
+List all currently open displays.
+
+
+</description>
+<parameters>
+<parameter name="display_manager">
+<parameter_description> a #GdkDisplayManager
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated #GSList of #GdkDisplay objects.
+Free this list with g_slist_free() when you are done with it.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_xid_table_lookup">
+<description>
+Return value: the associated Gdk object, which may be a #GdkPixmap,
+
+</description>
+<parameters>
+<parameter name="xid">
+<parameter_description> an X id.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the associated Gdk object, which may be a #GdkPixmap,
+a #GdkWindow or a #GdkFont.
+</return>
+</function>
+
+<function name="gdk_event_send_client_message_for_display">
+<description>
+On X11, sends an X ClientMessage event to a given window. On
+Windows, sends a message registered with the name
+GDK_WIN32_CLIENT_MESSAGE.
+
+This could be used for communicating between different
+applications, though the amount of data is limited to 20 bytes on
+X11, and to just four bytes on Windows.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the #GdkDisplay for the window where the message is to be sent.
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> the #GdkEvent to send, which should be a #GdkEventClient.
+</parameter_description>
+</parameter>
+<parameter name="winid">
+<parameter_description> the window to send the client message to.
+</parameter_description>
+</parameter>
+</parameters>
+<return> non-zero on success.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_window_begin_resize_drag">
+<description>
+Begins a window resize operation (for a toplevel window).
+You might use this function to implement a &quot;window resize grip,&quot; for
+example; in fact #GtkStatusbar uses it. The function works best
+with window managers that support the &amp;lt;ulink url=&quot;http://www.freedesktop.org/Standards/wm-spec&quot;&amp;gt;Extended Window Manager Hints&amp;lt;/ulink&amp;gt;, but has a
+fallback implementation for other window managers.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="edge">
+<parameter_description> the edge or corner from which the drag is started
+</parameter_description>
+</parameter>
+<parameter name="button">
+<parameter_description> the button being used to drag
+</parameter_description>
+</parameter>
+<parameter name="root_x">
+<parameter_description> root window X coordinate of mouse click that began the drag
+</parameter_description>
+</parameter>
+<parameter name="root_y">
+<parameter_description> root window Y coordinate of mouse click that began the drag
+</parameter_description>
+</parameter>
+<parameter name="timestamp">
+<parameter_description> timestamp of mouse click that began the drag (use gdk_event_get_time())
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_set_accept_focus">
+<description>
+Setting @accept_focus to %FALSE hints the desktop environment that the
+window doesn&apos;t want to receive input focus.
+
+On X, it is the responsibility of the window manager to interpret this
+hint. ICCCM-compliant window manager usually respect it.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="accept_focus">
+<parameter_description> %TRUE if the window should receive input focus
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_cursor_get_display">
+<description>
+Returns: the #GdkDisplay associated to @cursor
+
+</description>
+<parameters>
+<parameter name="cursor">
+<parameter_description> a #GdkCursor.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkDisplay associated to @cursor
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_draw_image">
+<description>
+Draws a #GdkImage onto a drawable.
+The depth of the #GdkImage must match the depth of the #GdkDrawable.
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="image">
+<parameter_description> the #GdkImage to draw.
+</parameter_description>
+</parameter>
+<parameter name="xsrc">
+<parameter_description> the left edge of the source rectangle within @image.
+</parameter_description>
+</parameter>
+<parameter name="ysrc">
+<parameter_description> the top of the source rectangle within @image.
+</parameter_description>
+</parameter>
+<parameter name="xdest">
+<parameter_description> the x coordinate of the destination within @drawable.
+</parameter_description>
+</parameter>
+<parameter name="ydest">
+<parameter_description> the y coordinate of the destination within @drawable.
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the area to be copied, or -1 to make the area
+extend to the right edge of @image.
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the area to be copied, or -1 to make the area
+extend to the bottom edge of @image.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gdk_gc_get_fg_pixel">
+<description>
+Gets the foreground pixel value for @gc. If the
+foreground pixel has never been set, returns the
+default value 0.
+
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC
+</parameter_description>
+</parameter>
+</parameters>
+<return> the foreground pixel value of the GC
+</return>
+</function>
+
+<function name="gdk_pointer_is_grabbed">
+<description>
+Return value: %TRUE if the pointer is currently grabbed by this application.*
+
+</description>
+<parameters>
+</parameters>
+<return> %TRUE if the pointer is currently grabbed by this application.*
+</return>
+</function>
+
+<function name="gdk_window_set_composited">
+<description>
+Sets a #GdkWindow as composited, or unsets it. Composited
+windows do not automatically have their contents drawn to
+the screen. Drawing is redirected to an offscreen buffer
+and an expose event is emitted on the parent of the composited
+window. It is the responsibility of the parent&apos;s expose handler
+to manually merge the off-screen content onto the screen in
+whatever way it sees fit. See &amp;lt;xref linkend=&quot;composited-window-example&quot;/&amp;gt;
+for an example.
+
+It only makes sense for child windows to be composited; see
+gdk_window_set_opacity() if you need translucent toplevel
+windows.
+
+An additional effect of this call is that the area of this
+window is no longer clipped from regions marked for
+invalidation on its parent. Draws done on the parent
+window are also no longer clipped by the child.
+
+This call is only supported on some systems (currently,
+only X11 with new enough Xcomposite and Xdamage extensions).
+You must call gdk_display_supports_composite() to check if
+setting a window as composited is supported before
+attempting to do so.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="composited">
+<parameter_description> %TRUE to set the window as composited
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_spawn_command_line_on_screen">
+<description>
+Like g_spawn_command_line_async(), except the child process is
+spawned in such an environment that on calling gdk_display_open()
+it would be returned a #GdkDisplay with @screen as the default
+screen.
+
+This is useful for applications which wish to launch an application
+on a specific screen.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+<parameter name="command_line">
+<parameter_description> a command line
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for errors
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE on success, %FALSE if error is set.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gdk_pixbuf_from_pixdata">
+<description>
+Converts a #GdkPixdata to a #GdkPixbuf. If @copy_pixels is %TRUE or
+if the pixel data is run-length-encoded, the pixel data is copied into
+newly-allocated memory; otherwise it is reused.
+
+
+</description>
+<parameters>
+<parameter name="pixdata">
+<parameter_description> a #GdkPixdata to convert into a #GdkPixbuf.
+</parameter_description>
+</parameter>
+<parameter name="copy_pixels">
+<parameter_description> whether to copy raw pixel data; run-length encoded
+pixel data is always copied.
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store possible errors.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GdkPixbuf.
+</return>
+</function>
+
+<function name="gdk_pango_renderer_set_override_color">
+<description>
+Sets the color for a particular render part (foreground,
+background, underline, etc.), overriding any attributes on the layouts
+renderered with this renderer.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="gdk_renderer">
+<parameter_description> a #GdkPangoRenderer
+</parameter_description>
+</parameter>
+<parameter name="part">
+<parameter_description> the part to render to set the color of
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> the color to use, or %NULL to unset a previously
+set override color.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_string_to_compound_text_for_display">
+<description>
+Convert a string from the encoding of the current
+locale into a form suitable for storing in a window property.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the #GdkDisplay where the encoding is defined.
+</parameter_description>
+</parameter>
+<parameter name="str">
+<parameter_description> a nul-terminated string.
+</parameter_description>
+</parameter>
+<parameter name="encoding">
+<parameter_description> location to store the encoding atom
+(to be used as the type for the property).
+</parameter_description>
+</parameter>
+<parameter name="format">
+<parameter_description> location to store the format of the property
+</parameter_description>
+</parameter>
+<parameter name="ctext">
+<parameter_description> location to store newly allocated data for the property.
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the length of @text, in bytes
+</parameter_description>
+</parameter>
+</parameters>
+<return> 0 upon sucess, non-zero upon failure.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_drawable_get_colormap">
+<description>
+Gets the colormap for @drawable, if one is set; returns
+%NULL otherwise.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+</parameters>
+<return> the colormap, or %NULL
+</return>
+</function>
+
+<function name="gdk_image_unref">
+<description>
+Deprecated function; use g_object_unref() instead.
+
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GdkImage
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_display_supports_input_shapes">
+<description>
+Returns: %TRUE if windows with modified input shape are supported
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if windows with modified input shape are supported
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gdk_window_get_events">
+<description>
+Gets the event mask for @window. See gdk_window_set_events().
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> event mask for @window
+</return>
+</function>
+
+<function name="gdk_pixbuf_simple_anim_add_frame">
+<description>
+Adds a new frame to @animation. The @pixbuf must
+have the dimensions specified when the animation
+was constructed.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="animation">
+<parameter_description> a #GdkPixbufSimpleAnim
+</parameter_description>
+</parameter>
+<parameter name="pixbuf">
+<parameter_description> the pixbuf to add
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_set_transient_for">
+<description>
+Indicates to the window manager that @window is a transient dialog
+associated with the application window @parent. This allows the
+window manager to do things like center @window on @parent and
+keep @window above @parent.
+
+See gtk_window_set_transient_for() if you&apos;re using #GtkWindow or
+#GtkDialog.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> another toplevel #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_destroy">
+<description>
+Destroys the window system resources associated with @window and decrements @window&apos;s
+reference count. The window system resources for all children of @window are also
+destroyed, but the children&apos;s reference counts are not decremented.
+
+Note that a window will not be destroyed automatically when its reference count
+reaches zero. You must call this function yourself before that happens.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_gc_set_exposures">
+<description>
+Sets whether copying non-visible portions of a drawable
+using this graphics context generate exposure events
+for the corresponding regions of the destination
+drawable. (See gdk_draw_drawable()).
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="exposures">
+<parameter_description> if %TRUE, exposure events will be generated.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_screen_get_monitor_at_point">
+<description>
+Returns: the monitor number in which the point (@x,@y) lies, or
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen.
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x coordinate in the virtual screen.
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y coordinate in the virtual screen.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the monitor number in which the point (@x,@y) lies, or
+a monitor close to (@x,@y) if the point is not in any monitor.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_window_set_modal_hint">
+<description>
+The application can use this hint to tell the window manager
+that a certain window has modal behaviour. The window manager
+can use this information to handle modal windows in a special
+way.
+
+You should only use this on windows for which you have
+previously called gdk_window_set_transient_for()
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> A toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="modal">
+<parameter_description> %TRUE if the window is modal, %FALSE otherwise.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_drag_get_protocol_for_display">
+<description>
+Finds out the DND protocol supported by a window.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the #GdkDisplay where the destination window resides
+</parameter_description>
+</parameter>
+<parameter name="xid">
+<parameter_description> the X id of the destination window.
+</parameter_description>
+</parameter>
+<parameter name="protocol">
+<parameter_description> location where the supported DND protocol is returned.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the X id of the window where the drop should happen. This
+may be @xid or the X id of a proxy window, or None if @xid doesn&apos;t
+support Drag and Drop.
+</return>
+</function>
+
+<function name="gdk_font_ref">
+<description>
+Increases the reference count of a font by one.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #GdkFont
+</parameter_description>
+</parameter>
+</parameters>
+<return> @font
+</return>
+</function>
+
+<function name="gdk_keyboard_grab_info_libgtk_only">
+<description>
+Determines information about the current keyboard grab.
+This is not public API and must not be used by applications.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the display for which to get the grab information
+</parameter_description>
+</parameter>
+<parameter name="grab_window">
+<parameter_description> location to store current grab window
+</parameter_description>
+</parameter>
+<parameter name="owner_events">
+<parameter_description> location to store boolean indicating whether
+the @owner_events flag to gdk_keyboard_grab() was %TRUE.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if this application currently has the
+keyboard grabbed.
+</return>
+</function>
+
+<function name="gdk_pixmap_lookup">
+<description>
+Looks up the #GdkPixmap that wraps the given native pixmap handle.
+
+For example in the X backend, a native pixmap handle is an Xlib
+&amp;lt;type&amp;gt;XID&amp;lt;/type&amp;gt;.
+
+
+</description>
+<parameters>
+<parameter name="anid">
+<parameter_description> a native pixmap handle.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkWindow wrapper for the native window,
+or %NULL if there is none.
+</return>
+</function>
+
+<function name="gdk_draw_lines">
+<description>
+Draws a series of lines connecting the given points.
+The way in which joins between lines are draw is determined by the
+#GdkCapStyle value in the #GdkGC. This can be set with
+gdk_gc_set_line_attributes().
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="points">
+<parameter_description> an array of #GdkPoint structures specifying the endpoints of the
+</parameter_description>
+</parameter>
+<parameter name="npoints">
+<parameter_description> the size of the @points array.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_display_peek_event">
+<description>
+Gets a copy of the first #GdkEvent in the @display&apos;s event queue, without
+removing the event from the queue. (Note that this function will
+not get more events from the windowing system. It only checks the events
+that have already been moved to the GDK event queue.)
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> a copy of the first #GdkEvent on the event queue, or %NULL
+if no events are in the queue. The returned #GdkEvent should be freed with
+gdk_event_free().
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_gc_set_rgb_bg_color">
+<description>
+Set the background color of a GC using an unallocated color. The
+pixel value for the color will be determined using GdkRGB. If the
+colormap for the GC has not previously been initialized for GdkRGB,
+then for pseudo-color colormaps (colormaps with a small modifiable
+number of colors), a colorcube will be allocated in the colormap.
+
+Calling this function for a GC without a colormap is an error.
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> an unallocated #GdkColor.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_move">
+<description>
+Repositions a window relative to its parent window.
+For toplevel windows, window managers may ignore or modify the move;
+you should probably use gtk_window_move() on a #GtkWindow widget
+anyway, instead of using GDK functions. For child windows,
+the move will reliably succeed.
+
+If you&apos;re also planning to resize the window, use gdk_window_move_resize()
+to both move and resize simultaneously, for a nicer visual effect.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> X coordinate relative to window&apos;s parent
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> Y coordinate relative to window&apos;s parent
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_x11_window_move_to_current_desktop">
+<description>
+Moves the window to the correct workspace when running under a
+window manager that supports multiple workspaces, as described
+in the &amp;lt;ulink url=&quot;http://www.freedesktop.org/Standards/wm-spec&quot;&amp;gt;Extended
+Window Manager Hints&amp;lt;/ulink&amp;gt;. Will not do anything if the
+window is already on all workspaces.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gdk_gc_get_bg_pixel">
+<description>
+Gets the background pixel value for @gc.If the
+foreground pixel has never been set, returns the
+default value 1.
+
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC
+</parameter_description>
+</parameter>
+</parameters>
+<return> the foreground pixel value of the GC
+</return>
+</function>
+
+<function name="gdk_pixbuf_copy_area">
+<description>
+Copies a rectangular area from @src_pixbuf to @dest_pixbuf. Conversion of
+pixbuf formats is done automatically.
+
+</description>
+<parameters>
+<parameter name="src_pixbuf">
+<parameter_description> Source pixbuf.
+</parameter_description>
+</parameter>
+<parameter name="src_x">
+<parameter_description> Source X coordinate within @src_pixbuf.
+</parameter_description>
+</parameter>
+<parameter name="src_y">
+<parameter_description> Source Y coordinate within @src_pixbuf.
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> Width of the area to copy.
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> Height of the area to copy.
+</parameter_description>
+</parameter>
+<parameter name="dest_pixbuf">
+<parameter_description> Destination pixbuf.
+</parameter_description>
+</parameter>
+<parameter name="dest_x">
+<parameter_description> X coordinate within @dest_pixbuf.
+</parameter_description>
+</parameter>
+<parameter name="dest_y">
+<parameter_description> Y coordinate within @dest_pixbuf.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_display_manager_get_default_display">
+<description>
+Gets the default #GdkDisplay.
+
+
+</description>
+<parameters>
+<parameter name="display_manager">
+<parameter_description> a #GdkDisplayManager
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GdkDisplay, or %NULL if there is no default
+display.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_pixbuf_animation_ref">
+<description>
+Adds a reference to an animation.
+
+
+</description>
+<parameters>
+<parameter name="animation">
+<parameter_description> An animation.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The same as the @animation argument.
+
+Deprecated: Use g_object_ref().
+</return>
+</function>
+
+<function name="gdk_drop_finish">
+<description>
+Ends the drag operation after a drop.
+
+This function is called by the drag destination.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkDragContext.
+</parameter_description>
+</parameter>
+<parameter name="success">
+<parameter_description> %TRUE if the data was successfully received.
+</parameter_description>
+</parameter>
+<parameter name="time_">
+<parameter_description> the timestamp for this operation.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_maximize">
+<description>
+Maximizes the window. If the window was already maximized, then
+this function does nothing.
+
+On X11, asks the window manager to maximize @window, if the window
+manager supports this operation. Not all window managers support
+this, and some deliberately ignore it or don&apos;t have a concept of
+&quot;maximized&quot;; so you can&apos;t rely on the maximization actually
+happening. But it will happen with most standard window managers,
+and GDK makes a best effort to get it to happen.
+
+On Windows, reliably maximizes the window.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_rectangle_intersect">
+<description>
+Calculates the intersection of two rectangles.
+It is allowed for @dest to be the same as either @src1 or @src2.
+
+
+</description>
+<parameters>
+<parameter name="src1">
+<parameter_description> a #GdkRectangle
+</parameter_description>
+</parameter>
+<parameter name="src2">
+<parameter_description> a #GdkRectangle
+</parameter_description>
+</parameter>
+<parameter name="dest">
+<parameter_description> return location for the intersection of @src1 and @src2
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the rectangles intersect.
+</return>
+</function>
+
+<function name="gdk_window_process_all_updates">
+<description>
+Calls gdk_window_process_updates() for all windows (see #GdkWindow)
+in the application.
+
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_set_skip_pager_hint">
+<description>
+Toggles whether a window should appear in a pager (workspace
+switcher, or other desktop utility program that displays a small
+thumbnail representation of the windows on the desktop). If a
+window&apos;s semantic type as specified with gdk_window_set_type_hint()
+already fully describes the window, this function should
+&amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt; be called in addition, instead you should
+allow the window to be treated according to standard policy for
+its semantic type.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="skips_pager">
+<parameter_description> %TRUE to skip the pager
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_get_display_arg_name">
+<description>
+Gets the display name specified in the command line arguments passed
+to gdk_init() or gdk_parse_args(), if any.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the display name, if specified explicitely, otherwise %NULL
+this string is owned by GTK+ and must not be modified or freed.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_region_get_rectangles">
+<description>
+Obtains the area covered by the region as a list of rectangles.
+The array returned in @rectangles must be freed with g_free().
+
+</description>
+<parameters>
+<parameter name="region">
+<parameter_description> a #GdkRegion
+</parameter_description>
+</parameter>
+<parameter name="rectangles">
+<parameter_description> return location for an array of rectangles
+</parameter_description>
+</parameter>
+<parameter name="n_rectangles">
+<parameter_description> length of returned array
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_colormap_get_system_size">
+<description>
+Return value: the size of the system&apos;s default colormap.
+
+</description>
+<parameters>
+</parameters>
+<return> the size of the system&apos;s default colormap.
+</return>
+</function>
+
+<function name="gdk_gc_set_stipple">
+<description>
+Set the stipple bitmap for a graphics context. The
+stipple will only be used if the fill mode is
+%GDK_STIPPLED or %GDK_OPAQUE_STIPPLED.
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="stipple">
+<parameter_description> the new stipple bitmap.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_beep">
+<description>
+Emits a short beep associated to @window in the appropriate
+display, if supported. Otherwise, emits a short beep on
+the display just as gdk_display_beep().
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gdk_xgrab_check_destroy">
+<description>
+Checks to see if window is the current grab window, and if
+so, clear the current grab window.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gdk_x11_drawable_finish">
+<description>
+Performs necessary cleanup prior to freeing a pixmap or
+destroying a window.
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawableImplX11.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_screen_get_rgb_visual">
+<description>
+Gets a &quot;preferred visual&quot; chosen by GdkRGB for rendering image data
+on @screen. In previous versions of
+GDK, this was the only visual GdkRGB could use for rendering. In
+current versions, it&apos;s simply the visual GdkRGB would have chosen as
+the optimal one in those previous versions. GdkRGB can now render to
+drawables with any visual.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GdkVisual chosen by GdkRGB.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_pixbuf_fill">
+<description>
+Clears a pixbuf to the given RGBA value, converting the RGBA value into
+the pixbuf&apos;s pixel format. The alpha will be ignored if the pixbuf
+doesn&apos;t have an alpha channel.
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> a #GdkPixbuf
+</parameter_description>
+</parameter>
+<parameter name="pixel">
+<parameter_description> RGBA pixel to clear to
+(0xffffffff is opaque white, 0x00000000 transparent black)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pango_context_get_for_screen">
+<description>
+Creates a #PangoContext for @screen.
+
+The context must be freed when you&apos;re finished with it.
+
+When using GTK+, normally you should use gtk_widget_get_pango_context()
+instead of this function, to get the appropriate context for
+the widget you intend to render text onto.
+
+The newly created context will have the default font options
+(see #cairo_font_options_t) for the screen; if these options
+change it will not be updated. Using gtk_widget_get_pango_context()
+is more convenient if you want to keep a context around and track
+changes to the screen&apos;s font rendering settings.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> the #GdkScreen for which the context is to be created.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #PangoContext for @screen
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_xid_table_lookup_for_display">
+<description>
+Returns: a GDK object associated with the given X id.
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the #GdkDisplay.
+</parameter_description>
+</parameter>
+<parameter name="xid">
+<parameter_description> an X id.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a GDK object associated with the given X id.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_pixbuf_add_alpha">
+<description>
+Takes an existing pixbuf and adds an alpha channel to it.
+If the existing pixbuf already had an alpha channel, the channel
+values are copied from the original; otherwise, the alpha channel
+is initialized to 255 (full opacity).
+
+If @substitute_color is %TRUE, then the color specified by (@r, @g, @b) will be
+assigned zero opacity. That is, if you pass (255, 255, 255) for the
+substitute color, all white pixels will become fully transparent.
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> A #GdkPixbuf.
+</parameter_description>
+</parameter>
+<parameter name="substitute_color">
+<parameter_description> Whether to set a color to zero opacity. If this
+is %FALSE, then the (@r, @g, @b) arguments will be ignored.
+</parameter_description>
+</parameter>
+<parameter name="r">
+<parameter_description> Red value to substitute.
+</parameter_description>
+</parameter>
+<parameter name="g">
+<parameter_description> Green value to substitute.
+</parameter_description>
+</parameter>
+<parameter name="b">
+<parameter_description> Blue value to substitute.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly-created pixbuf with a reference count of 1.
+</return>
+</function>
+
+<function name="gdk_colormap_unref">
+<description>
+Deprecated function; use g_object_ref() instead.
+
+</description>
+<parameters>
+<parameter name="cmap">
+<parameter_description> a #GdkColormap
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_remove_filter">
+<description>
+Remove a filter previously added with gdk_window_add_filter().
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="function">
+<parameter_description> previously-added filter function
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> user data for previously-added filter function
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_event_get_coords">
+<description>
+Extract the event window relative x/y coordinates from an event.
+
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a #GdkEvent
+</parameter_description>
+</parameter>
+<parameter name="x_win">
+<parameter_description> location to put event window x coordinate
+</parameter_description>
+</parameter>
+<parameter name="y_win">
+<parameter_description> location to put event window y coordinate
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the event delivered event window coordinates
+</return>
+</function>
+
+<function name="gdk_event_send_clientmessage_toall">
+<description>
+Sends an X ClientMessage event to all toplevel windows on the default
+#GdkScreen.
+
+Toplevel windows are determined by checking for the WM_STATE property, as
+described in the Inter-Client Communication Conventions Manual (ICCCM).
+If no windows are found with the WM_STATE property set, the message is sent
+to all children of the root window.
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> the #GdkEvent to send, which should be a #GdkEventClient.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_draw_arc">
+<description>
+Draws an arc or a filled &apos;pie slice&apos;. The arc is defined by the bounding
+rectangle of the entire ellipse, and the start and end angles of the part
+of the ellipse to be drawn.
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="filled">
+<parameter_description> %TRUE if the arc should be filled, producing a &apos;pie slice&apos;.
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x coordinate of the left edge of the bounding rectangle.
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y coordinate of the top edge of the bounding rectangle.
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the bounding rectangle.
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the bounding rectangle.
+</parameter_description>
+</parameter>
+<parameter name="angle1">
+<parameter_description> the start angle of the arc, relative to the 3 o&apos;clock position,
+counter-clockwise, in 1/64ths of a degree.
+</parameter_description>
+</parameter>
+<parameter name="angle2">
+<parameter_description> the end angle of the arc, relative to @angle1, in 1/64ths
+of a degree.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_x11_cursor_get_xdisplay">
+<description>
+Return value: an Xlib &amp;lt;type&amp;gt;Display*&amp;lt;/type&amp;gt;.
+
+</description>
+<parameters>
+<parameter name="cursor">
+<parameter_description> a #GdkCursor.
+</parameter_description>
+</parameter>
+</parameters>
+<return> an Xlib &amp;lt;type&amp;gt;Display*&amp;lt;/type&amp;gt;.
+</return>
+</function>
+
+<function name="gdk_pango_layout_get_clip_region">
+<description>
+Obtains a clip region which contains the areas where the given ranges
+of text would be drawn. @x_origin and @y_origin are the same position
+you would pass to gdk_draw_layout_line(). @index_ranges should contain
+ranges of bytes in the layout&apos;s text.
+
+Note that the regions returned correspond to logical extents of the text
+ranges, not ink extents. So the drawn layout may in fact touch areas out of
+the clip region. The clip region is mainly useful for highlightling parts
+of text, such as when text is selected.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="x_origin">
+<parameter_description> X pixel where you intend to draw the layout with this clip
+</parameter_description>
+</parameter>
+<parameter name="y_origin">
+<parameter_description> Y pixel where you intend to draw the layout with this clip
+</parameter_description>
+</parameter>
+<parameter name="index_ranges">
+<parameter_description> array of byte indexes into the layout, where even members of array are start indexes and odd elements are end indexes
+</parameter_description>
+</parameter>
+<parameter name="n_ranges">
+<parameter_description> number of ranges in @index_ranges, i.e. half the size of @index_ranges
+</parameter_description>
+</parameter>
+</parameters>
+<return> a clip region containing the given ranges
+</return>
+</function>
+
+<function name="gdk_notify_startup_complete">
+<description>
+Indicates to the GUI environment that the application has finished
+loading. If the applications opens windows, this function is
+normally called after opening the application&apos;s initial set of
+windows.
+
+GTK+ will call this function automatically after opening the first
+#GtkWindow unless gtk_window_set_auto_startup_notification() is called
+to disable that feature.
+
+Since: 2.2
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_save">
+<description>
+Saves pixbuf to a file in format @type. By default, &quot;jpeg&quot;, &quot;png&quot;, &quot;ico&quot;
+and &quot;bmp&quot; are possible file formats to save in, but more formats may be
+installed. The list of all writable formats can be determined in the
+following way:
+
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+void add_if_writable (GdkPixbufFormat *data, GSList **list)
+{
+if (gdk_pixbuf_format_is_writable (data))
+*list = g_slist_prepend (*list, data);
+}
+&amp;lt;!-- --&amp;gt;
+GSList *formats = gdk_pixbuf_get_formats (&amp;lt;!-- --&amp;gt;);
+GSList *writable_formats = NULL;
+g_slist_foreach (formats, add_if_writable, &amp;amp;writable_formats);
+g_slist_free (formats);
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+If @error is set, %FALSE will be returned. Possible errors include
+those in the #GDK_PIXBUF_ERROR domain and those in the #G_FILE_ERROR domain.
+
+The variable argument list should be %NULL-terminated; if not empty,
+it should contain pairs of strings that modify the save
+parameters. For example:
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+gdk_pixbuf_save (pixbuf, handle, &quot;jpeg&quot;, &amp;amp;error,
+&quot;quality&quot;, &quot;100&quot;, NULL);
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+Currently only few parameters exist. JPEG images can be saved with a
+&quot;quality&quot; parameter; its value should be in the range [0,100].
+
+Text chunks can be attached to PNG images by specifying parameters of
+the form &quot;tEXt::key&quot;, where key is an ASCII string of length 1-79.
+The values are UTF-8 encoded strings. The PNG compression level can
+be specified using the &quot;compression&quot; parameter; it&apos;s value is in an
+integer in the range of [0,9].
+
+ICO images can be saved in depth 16, 24, or 32, by using the &quot;depth&quot;
+parameter. When the ICO saver is given &quot;x_hot&quot; and &quot;y_hot&quot; parameters,
+it produces a CUR instead of an ICO.
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> a #GdkPixbuf.
+</parameter_description>
+</parameter>
+<parameter name="filename">
+<parameter_description> name of file to save.
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> name of file format.
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for error, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> list of key-value save options
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether an error was set
+</return>
+</function>
+
+<function name="gdk_pixdata_from_pixbuf">
+<description>
+Converts a #GdkPixbuf to a #GdkPixdata. If @use_rle is %TRUE, the
+pixel data is run-length encoded into newly-allocated memory and a
+pointer to that memory is returned.
+
+
+</description>
+<parameters>
+<parameter name="pixdata">
+<parameter_description> a #GdkPixdata to fill.
+</parameter_description>
+</parameter>
+<parameter name="pixbuf">
+<parameter_description> the data to fill @pixdata with.
+</parameter_description>
+</parameter>
+<parameter name="use_rle">
+<parameter_description> whether to use run-length encoding for the pixel data.
+</parameter_description>
+</parameter>
+</parameters>
+<return> If @ure_rle is %TRUE, a pointer to the newly-allocated memory
+for the run-length encoded pixel data, otherwise %NULL.
+</return>
+</function>
+
+<function name="gdk_pixbuf_loader_close">
+<description>
+Informs a pixbuf loader that no further writes with
+gdk_pixbuf_loader_write() will occur, so that it can free its
+internal loading structures. Also, tries to parse any data that
+hasn&apos;t yet been parsed; if the remaining data is partial or
+corrupt, an error will be returned. If %FALSE is returned, @error
+will be set to an error from the #GDK_PIXBUF_ERROR or #G_FILE_ERROR
+domains. If you&apos;re just cancelling a load rather than expecting it
+to be finished, passing %NULL for @error to ignore it is
+reasonable.
+
+
+</description>
+<parameters>
+<parameter name="loader">
+<parameter_description> A pixbuf loader.
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL to ignore errors
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if all image data written so far was successfully
+ passed out via the update_area signal
+</return>
+</function>
+
+<function name="gdk_window_invalidate_rect">
+<description>
+A convenience wrapper around gdk_window_invalidate_region() which
+invalidates a rectangular region. See
+gdk_window_invalidate_region() for details.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="rect">
+<parameter_description> rectangle to invalidate or %NULL to invalidate the whole
+window
+</parameter_description>
+</parameter>
+<parameter name="invalidate_children">
+<parameter_description> whether to also invalidate child windows
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_resize">
+<description>
+Resizes @window; for toplevel windows, asks the window manager to resize
+the window. The window manager may not allow the resize. When using GTK+,
+use gtk_window_resize() instead of this low-level GDK function.
+
+Windows may not be resized below 1x1.
+
+If you&apos;re also planning to move the window, use gdk_window_move_resize()
+to both move and resize simultaneously, for a nicer visual effect.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> new width of the window
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> new height of the window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GdkScreen">
+<description>
+The ::composited_changed signal is emitted when the composited
+status of the screen changes
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> the object on which the signal is emitted
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_clear_area">
+<description>
+Clears an area of @window to the background color or background pixmap.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x coordinate of rectangle to clear
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y coordinate of rectangle to clear
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of rectangle to clear
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height of rectangle to clear
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_drawable_get_display">
+<description>
+Gets the #GdkDisplay associated with a #GdkDrawable.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkDisplay associated with @drawable
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_gc_ref">
+<description>
+Deprecated function; use g_object_ref() instead.
+
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC
+</parameter_description>
+</parameter>
+</parameters>
+<return> the gc.
+</return>
+</function>
+
+<function name="gdk_draw_rectangle">
+<description>
+Draws a rectangular outline or filled rectangle, using the foreground color
+and other attributes of the #GdkGC.
+
+A rectangle drawn filled is 1 pixel smaller in both dimensions than a
+rectangle outlined. Calling
+&amp;lt;literal&amp;gt;gdk_draw_rectangle (window, gc, TRUE, 0, 0, 20, 20)&amp;lt;/literal&amp;gt;
+results in a filled rectangle 20 pixels wide and 20 pixels high. Calling
+&amp;lt;literal&amp;gt;gdk_draw_rectangle (window, gc, FALSE, 0, 0, 20, 20)&amp;lt;/literal&amp;gt;
+results in an outlined rectangle with corners at (0, 0), (0, 20), (20, 20),
+and (20, 0), which makes it 21 pixels wide and 21 pixels high.
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="filled">
+<parameter_description> %TRUE if the rectangle should be filled.
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x coordinate of the left edge of the rectangle.
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y coordinate of the top edge of the rectangle.
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the rectangle.
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the rectangle.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_set_group">
+<description>
+Sets the group leader window for @window. By default,
+GDK sets the group leader for all toplevel windows
+to a global window implicitly created by GDK. With this function
+you can override this default.
+
+The group leader window allows the window manager to distinguish
+all windows that belong to a single application. It may for example
+allow users to minimize/unminimize all windows belonging to an
+application at once. You should only set a non-default group window
+if your application pretends to be multiple applications.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="leader">
+<parameter_description> group leader window, or %NULL to restore the default group leader window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_x11_grab_server">
+<description>
+Call gdk_x11_display_grab() on the default display.
+To ungrab the server again, use gdk_x11_ungrab_server().
+
+gdk_x11_grab_server()/gdk_x11_ungrab_server() calls can be nested.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_keyval_convert_case">
+<description>
+Obtains the upper- and lower-case versions of the keyval @symbol.
+Examples of keyvals are #GDK_a, #GDK_Enter, #GDK_F1, etc.
+
+
+</description>
+<parameters>
+<parameter name="symbol">
+<parameter_description> a keyval
+</parameter_description>
+</parameter>
+<parameter name="lower">
+<parameter_description> return location for lowercase version of @symbol
+</parameter_description>
+</parameter>
+<parameter name="upper">
+<parameter_description> return location for uppercase version of @symbol
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_draw_point">
+<description>
+Draws a point, using the foreground color and other attributes of
+the #GdkGC.
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x coordinate of the point.
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y coordinate of the point.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_display_store_clipboard">
+<description>
+Issues a request to the clipboard manager to store the
+clipboard data. On X11, this is a special program that works
+according to the freedesktop clipboard specification, available at
+&amp;lt;ulink url=&quot;http://www.freedesktop.org/Standards/clipboard-manager-spec&quot;&amp;gt;
+http://www.freedesktop.org/Standards/clipboard-manager-spec&amp;lt;/ulink&amp;gt;.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="clipboard_window">
+<parameter_description> a #GdkWindow belonging to the clipboard owner
+</parameter_description>
+</parameter>
+<parameter name="time_">
+<parameter_description> a timestamp
+</parameter_description>
+</parameter>
+<parameter name="targets">
+<parameter_description> an array of targets that should be saved, or %NULL
+if all available targets should be saved.
+</parameter_description>
+</parameter>
+<parameter name="n_targets">
+<parameter_description> length of the @targets array
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_x11_font_get_xdisplay">
+<description>
+Return value: an Xlib &amp;lt;type&amp;gt;Display*&amp;lt;/type&amp;gt;.
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #GdkFont.
+</parameter_description>
+</parameter>
+</parameters>
+<return> an Xlib &amp;lt;type&amp;gt;Display*&amp;lt;/type&amp;gt;.
+</return>
+</function>
+
+<function name="_gdk_drawable_get_scratch_gc">
+<description>
+Return value: A #GdkGC suitable for drawing on @drawable
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> A #GdkDrawable
+</parameter_description>
+</parameter>
+<parameter name="graphics_exposures">
+<parameter_description> Whether the returned #GdkGC should generate graphics exposures
+</parameter_description>
+</parameter>
+</parameters>
+<return> A #GdkGC suitable for drawing on @drawable
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gdk_draw_text">
+<description>
+Draws a number of characters in the given font or fontset.
+
+Deprecated: Use gdk_draw_layout() instead.
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> a #GdkFont.
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x coordinate of the left edge of the text.
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y coordinate of the baseline of the text.
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the characters to draw.
+</parameter_description>
+</parameter>
+<parameter name="text_length">
+<parameter_description> the number of characters of @text to draw.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_format_get_description">
+<description>
+Return value: a description of the format.
+
+</description>
+<parameters>
+<parameter name="format">
+<parameter_description> a #GdkPixbufFormat
+</parameter_description>
+</parameter>
+</parameters>
+<return> a description of the format.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_x11_screen_lookup_visual">
+<description>
+Looks up the #GdkVisual for a particular screen and X Visual ID.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen.
+</parameter_description>
+</parameter>
+<parameter name="xvisualid">
+<parameter_description> an X Visual ID.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkVisual (owned by the screen object), or %NULL
+if the visual ID wasn&apos;t found.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_draw_glyphs_transformed">
+<description>
+Renders a #PangoGlyphString onto a drawable, possibly
+transforming the layed-out coordinates through a transformation
+matrix. Note that the transformation matrix for @font is not
+changed, so to produce correct rendering results, the @font
+must have been loaded using a #PangoContext with an identical
+transformation matrix to that passed in to this function.
+
+See also gdk_draw_glyphs(), gdk_draw_layout().
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> a #GdkGC
+</parameter_description>
+</parameter>
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix, or %NULL to use an identity transformation
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> the font in which to draw the string
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x position of the start of the string (in Pango
+units in user space coordinates)
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y position of the baseline (in Pango units
+in user space coordinates)
+</parameter_description>
+</parameter>
+<parameter name="glyphs">
+<parameter_description> the glyph string to draw
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_win32_hdc_release">
+<description>
+This function deallocates the Windows device context allocated by
+&amp;lt;funcion&amp;gt;gdk_win32_hdc_get()&amp;lt;/function&amp;gt;. It should be called with
+the same parameters.
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> destination #GdkDrawable
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> #GdkGC to use for drawing on @drawable
+</parameter_description>
+</parameter>
+<parameter name="usage">
+<parameter_description> mask indicating what properties were set up
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_display_supports_selection_notification">
+<description>
+Return value: whether #GdkEventOwnerChange events will
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether #GdkEventOwnerChange events will
+be sent.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gdk_screen_get_display">
+<description>
+Gets the display to which the @screen belongs.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return> the display to which @screen belongs
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_rgb_find_color">
+<description>
+@colormap should be the colormap for the graphics context and
+drawable you&apos;re using to draw. If you&apos;re drawing to a #GtkWidget,
+call gtk_widget_get_colormap().
+
+@color should have its %red, %green, and %blue fields initialized;
+gdk_rgb_find_color() will fill in the %pixel field with the best
+matching pixel from a color cube. The color is then ready to be
+used for drawing, e.g. you can call gdk_gc_set_foreground() which
+expects %pixel to be initialized.
+
+In many cases, you can avoid this whole issue by calling
+gdk_gc_set_rgb_fg_color() or gdk_gc_set_rgb_bg_color(), which
+do not expect %pixel to be initialized in advance. If you use those
+functions, there&apos;s no need for gdk_rgb_find_color().
+
+
+</description>
+<parameters>
+<parameter name="colormap">
+<parameter_description> a #GdkColormap
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> a #GdkColor
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_x11_screen_get_screen_number">
+<description>
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the position of @screen among the screens of
+its display.
+the index of a #GdkScreen.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_threads_add_idle_full">
+<description>
+Adds a function to be called whenever there are no higher priority
+events pending. If the function returns %FALSE it is automatically
+removed from the list of event sources and will not be called again.
+
+This variant of g_idle_add_full() calls @function with the GDK lock
+held. It can be thought of a MT-safe version for GTK+ widgets for the
+following use case, where you have to worry about idle_callback()
+running in thread A and accessing @self after it has been finalized
+in thread B:
+
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+static gboolean
+idle_callback (gpointer data)
+{
+// gdk_threads_enter(); would be needed for g_idle_add()
+
+SomeWidget *self = data;
+/&amp;lt;!-- --&amp;gt;* do stuff with self *&amp;lt;!-- --&amp;gt;/
+
+self-&amp;gt;idle_id = 0;
+
+// gdk_threads_leave(); would be needed for g_idle_add()
+return FALSE;
+}
+
+static void
+some_widget_do_stuff_later (SomeWidget *self)
+{
+self-&amp;gt;idle_id = gdk_threads_add_idle (idle_callback, self)
+// using g_idle_add() here would require thread protection in the callback
+}
+
+static void
+some_widget_finalize (GObject *object)
+{
+SomeWidget *self = SOME_WIDGET (object);
+if (self-&amp;gt;idle_id)
+g_source_remove (self-&amp;gt;idle_id);
+G_OBJECT_CLASS (parent_class)-&amp;gt;finalize (object);
+}
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+
+</description>
+<parameters>
+<parameter name="priority">
+<parameter_description> the priority of the idle source. Typically this will be in the
+range btweeen #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE
+</parameter_description>
+</parameter>
+<parameter name="function">
+<parameter_description> function to call
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to pass to @function
+</parameter_description>
+</parameter>
+<parameter name="notify">
+<parameter_description> function to call when the idle is removed, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> the ID (greater than 0) of the event source.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gdk_window_get_user_data">
+<description>
+Retrieves the user data for @window, which is normally the widget
+that @window belongs to. See gdk_window_set_user_data().
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> return location for user data
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_x11_font_get_xfont">
+<description>
+Return value: an Xlib &amp;lt;type&amp;gt;XFontStruct*&amp;lt;/type&amp;gt; or an &amp;lt;type&amp;gt;XFontSet&amp;lt;/type&amp;gt;.
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #GdkFont.
+</parameter_description>
+</parameter>
+</parameters>
+<return> an Xlib &amp;lt;type&amp;gt;XFontStruct*&amp;lt;/type&amp;gt; or an &amp;lt;type&amp;gt;XFontSet&amp;lt;/type&amp;gt;.
+</return>
+</function>
+
+<function name="gdk_display_get_core_pointer">
+<description>
+Return value: the core pointer device; this is owned by the
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> the core pointer device; this is owned by the
+display and should not be freed.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_pixbuf_animation_get_static_image">
+<description>
+If an animation is really just a plain image (has only one frame),
+this function returns that image. If the animation is an animation,
+this function returns a reasonable thing to display as a static
+unanimated image, which might be the first frame, or something more
+sophisticated. If an animation hasn&apos;t loaded any frames yet, this
+function will return %NULL.
+
+
+</description>
+<parameters>
+<parameter name="animation">
+<parameter_description> a #GdkPixbufAnimation
+</parameter_description>
+</parameter>
+</parameters>
+<return> unanimated image representing the animation
+</return>
+</function>
+
+<function name="gdk_notify_startup_complete_with_id">
+<description>
+Indicates to the GUI environment that the application has finished
+loading, using a given identifier.
+
+GTK+ will call this function automatically for #GtkWindow with custom
+startup-notification identifier unless
+gtk_window_set_auto_startup_notification() is called to disable
+that feature.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="startup_id">
+<parameter_description> a startup-notification identifier, for which notification
+process should be completed
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_x11_display_grab">
+<description>
+Call XGrabServer() on @display.
+To ungrab the display again, use gdk_x11_display_ungrab().
+
+gdk_x11_display_grab()/gdk_x11_display_ungrab() calls can be nested.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_display_keyboard_ungrab">
+<description>
+Release any keyboard grab
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay.
+</parameter_description>
+</parameter>
+<parameter name="time_">
+<parameter_description> a timestap (e.g #GDK_CURRENT_TIME).
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_net_wm_supports">
+<description>
+This function is specific to the X11 backend of GDK, and indicates
+whether the window manager for the default screen supports a certain
+hint from the Extended Window Manager Hints Specification. See
+gdk_x11_screen_supports_net_wm_hint() for complete details.
+
+
+</description>
+<parameters>
+<parameter name="property">
+<parameter_description> a property atom.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the window manager supports @property
+</return>
+</function>
+
+<function name="gdk_window_stick">
+<description>
+&quot;Pins&quot; a window such that it&apos;s on all workspaces and does not scroll
+with viewports, for window managers that have scrollable viewports.
+(When using #GtkWindow, gtk_window_stick() may be more useful.)
+
+On the X11 platform, this function depends on window manager
+support, so may have no effect with many window managers. However,
+GDK will do the best it can to convince the window manager to stick
+the window. For window managers that don&apos;t support this operation,
+there&apos;s nothing you can do to force it to happen.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_screen_get_system_colormap">
+<description>
+Gets the system&apos;s default colormap for @screen
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return> the default colormap for @screen.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_x11_xatom_to_atom_for_display">
+<description>
+Convert from an X atom for a #GdkDisplay to the corresponding
+#GdkAtom.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> A #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="xatom">
+<parameter_description> an X atom
+</parameter_description>
+</parameter>
+</parameters>
+<return> the corresponding #GdkAtom.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_window_unmaximize">
+<description>
+Unmaximizes the window. If the window wasn&apos;t maximized, then this
+function does nothing.
+
+On X11, asks the window manager to unmaximize @window, if the
+window manager supports this operation. Not all window managers
+support this, and some deliberately ignore it or don&apos;t have a
+concept of &quot;maximized&quot;; so you can&apos;t rely on the unmaximization
+actually happening. But it will happen with most standard window
+managers, and GDK makes a best effort to get it to happen.
+
+On Windows, reliably unmaximizes the window.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_draw_layout">
+<description>
+Render a #PangoLayout onto a GDK drawable
+
+If the layout&apos;s #PangoContext has a transformation matrix set, then
+@x and @y specify the position of the top left corner of the
+bounding box (in device space) of the transformed layout.
+
+If you&apos;re using GTK+, the usual way to obtain a #PangoLayout
+is gtk_widget_create_pango_layout().
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> the drawable on which to draw string
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> base graphics context to use
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the X position of the left of the layout (in pixels)
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the Y position of the top of the layout (in pixels)
+</parameter_description>
+</parameter>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_cursor_unref">
+<description>
+Removes a reference from @cursor, deallocating the cursor
+if no references remain.
+
+
+</description>
+<parameters>
+<parameter name="cursor">
+<parameter_description> a #GdkCursor
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_focus">
+<description>
+Sets keyboard focus to @window. In most cases, gtk_window_present()
+should be used on a #GtkWindow, rather than calling this function.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="timestamp">
+<parameter_description> timestamp of the event triggering the window focus
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gdk_get_sm_client_id">
+<description>
+Gets the client ID set with gdk_set_sm_client_id(), if any.
+
+
+</description>
+<parameters>
+</parameters>
+<return> Session ID, or %NULL if gdk_set_sm_client_id()
+has never been called.
+</return>
+</function>
+
+<function name="gdk_draw_segments">
+<description>
+Draws a number of unconnected lines.
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="segs">
+<parameter_description> an array of #GdkSegment structures specifying the start and
+end points of the lines to be drawn.
+</parameter_description>
+</parameter>
+<parameter name="nsegs">
+<parameter_description> the number of line segments to draw, i.e. the size of the
+@segs array.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_begin_paint_region">
+<description>
+Indicates that you are beginning the process of redrawing @region.
+A backing store (offscreen buffer) large enough to contain @region
+will be created. The backing store will be initialized with the
+background color or background pixmap for @window. Then, all
+drawing operations performed on @window will be diverted to the
+backing store. When you call gdk_window_end_paint(), the backing
+store will be copied to @window, making it visible onscreen. Only
+the part of @window contained in @region will be modified; that is,
+drawing operations are clipped to @region.
+
+The net result of all this is to remove flicker, because the user
+sees the finished product appear all at once when you call
+gdk_window_end_paint(). If you draw to @window directly without
+calling gdk_window_begin_paint_region(), the user may see flicker
+as individual drawing operations are performed in sequence. The
+clipping and background-initializing features of
+gdk_window_begin_paint_region() are conveniences for the
+programmer, so you can avoid doing that work yourself.
+
+When using GTK+, the widget system automatically places calls to
+gdk_window_begin_paint_region() and gdk_window_end_paint() around
+emissions of the expose_event signal. That is, if you&apos;re writing an
+expose event handler, you can assume that the exposed area in
+#GdkEventExpose has already been cleared to the window background,
+is already set as the clip region, and already has a backing store.
+Therefore in most cases, application code need not call
+gdk_window_begin_paint_region(). (You can disable the automatic
+calls around expose events on a widget-by-widget basis by calling
+gtk_widget_set_double_buffered().)
+
+If you call this function multiple times before calling the
+matching gdk_window_end_paint(), the backing stores are pushed onto
+a stack. gdk_window_end_paint() copies the topmost backing store
+onscreen, subtracts the topmost region from all other regions in
+the stack, and pops the stack. All drawing operations affect only
+the topmost backing store in the stack. One matching call to
+gdk_window_end_paint() is required for each call to
+gdk_window_begin_paint_region().
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="region">
+<parameter_description> region you intend to draw to
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_list_visuals">
+<description>
+Lists the available visuals for the default screen.
+(See gdk_screen_list_visuals())
+A visual describes a hardware image data format.
+For example, a visual might support 24-bit color, or 8-bit color,
+and might expect pixels to be in a certain format.
+
+Call g_list_free() on the return value when you&apos;re finished with it.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a list of visuals; the list must be freed, but not its contents
+</return>
+</function>
+
+<function name="gdk_drag_drop_succeeded">
+<description>
+Return value: %TRUE if the drop was successful.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GdkDragContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the drop was successful.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gdk_set_pointer_hooks">
+<description>
+This function allows for hooking into the operation
+of getting the current location of the pointer. This
+is only useful for such low-level tools as an
+event recorder. Applications should never have any
+reason to use this facility.
+
+This function is not multihead safe. For multihead operation,
+see gdk_display_set_pointer_hooks().
+
+
+</description>
+<parameters>
+<parameter name="new_hooks">
+<parameter_description> a table of pointers to functions for getting
+quantities related to the current pointer position,
+or %NULL to restore the default table.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the previous pointer hook table
+</return>
+</function>
+
+<function name="gdk_directfb_visual_by_format">
+<description>
+This function is specific to the DirectFB backend. It allows
+to specify a GdkVisual by @pixel_format.
+
+At startup, only those visuals that can be blitted
+hardware-accelerated are registered. By using
+gdk_directfb_visual_by_format() you can retrieve visuals that
+don&apos;t match this criteria since this function will try to create
+a new visual for the desired @pixel_format for you.
+
+
+</description>
+<parameters>
+<parameter name="pixel_format">
+<parameter_description> the pixel_format of the requested visual
+</parameter_description>
+</parameter>
+</parameters>
+<return> a pointer to the GdkVisual or %NULL if the
+pixel_format is unsupported.
+</return>
+</function>
+
+<function name="gdk_text_property_to_utf8_list">
+<description>
+Convert a text property in the giving encoding to
+a list of UTF-8 strings.
+
+
+</description>
+<parameters>
+<parameter name="encoding">
+<parameter_description> an atom representing the encoding of the text
+</parameter_description>
+</parameter>
+<parameter name="format">
+<parameter_description> the format of the property
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the text to convert
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the length of @text, in bytes
+</parameter_description>
+</parameter>
+<parameter name="list">
+<parameter_description> location to store the list of strings or %NULL. The
+list should be freed with g_strfreev().
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of strings in the resulting
+list.
+</return>
+</function>
+
+<function name="gdk_unicode_to_keyval">
+<description>
+Convert from a ISO10646 character to a key symbol.
+
+
+</description>
+<parameters>
+<parameter name="wc">
+<parameter_description> a ISO10646 encoded character
+</parameter_description>
+</parameter>
+</parameters>
+<return> the corresponding GDK key symbol, if one exists.
+or, if there is no corresponding symbol,
+wc | 0x01000000
+</return>
+</function>
+
+<function name="gdk_x11_atom_to_xatom">
+<description>
+Converts from a #GdkAtom to the X atom for the default GDK display
+with the same string value.
+
+
+</description>
+<parameters>
+<parameter name="atom">
+<parameter_description> A #GdkAtom
+</parameter_description>
+</parameter>
+</parameters>
+<return> the X atom corresponding to @atom.
+</return>
+</function>
+
+<function name="gdk_event_get_state">
+<description>
+If the event contains a &quot;state&quot; field, puts that field in @state. Otherwise
+stores an empty state (0). Returns %TRUE if there was a state field
+in the event. @event may be %NULL, in which case it&apos;s treated
+as if the event had no state field.
+
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a #GdkEvent or NULL
+</parameter_description>
+</parameter>
+<parameter name="state">
+<parameter_description> return location for state
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if there was a state field in the event
+</return>
+</function>
+
+<function name="gdk_display_supports_cursor_color">
+<description>
+Returns: whether cursors can have multiple colors.
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether cursors can have multiple colors.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gdk_gc_get_colormap">
+<description>
+Retrieves the colormap for a given GC, if it exists.
+A GC will have a colormap if the drawable for which it was created
+has a colormap, or if a colormap was set explicitely with
+gdk_gc_set_colormap.
+
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC
+</parameter_description>
+</parameter>
+</parameters>
+<return> the colormap of @gc, or %NULL if @gc doesn&apos;t have one.
+</return>
+</function>
+
+<function name="gdk_display_open">
+<description>
+Opens a display.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="display_name">
+<parameter_description> the name of the display to open
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GdkDisplay, or %NULL if the display
+could not be opened.
+</return>
+</function>
+
+<function name="gdk_x11_get_xatom_name">
+<description>
+Return value: name of the X atom; this string is owned by GTK+,
+
+</description>
+<parameters>
+<parameter name="xatom">
+<parameter_description> an X atom for GDK&apos;s default display
+</parameter_description>
+</parameter>
+</parameters>
+<return> name of the X atom; this string is owned by GTK+,
+so it shouldn&apos;t be modifed or freed.
+</return>
+</function>
+
+<function name="gdk_pixbuf_format_get_extensions">
+<description>
+Return value: a %NULL-terminated array of filename extensions which must be
+
+</description>
+<parameters>
+<parameter name="format">
+<parameter_description> a #GdkPixbufFormat
+</parameter_description>
+</parameter>
+</parameters>
+<return> a %NULL-terminated array of filename extensions which must be
+freed with g_strfreev() when it is no longer needed.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_display_beep">
+<description>
+Emits a short beep on @display
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_keymap_get_entries_for_keycode">
+<description>
+Returns: %TRUE if there were any entries
+
+</description>
+<parameters>
+<parameter name="keymap">
+<parameter_description> a #GdkKeymap or %NULL to use the default keymap
+</parameter_description>
+</parameter>
+<parameter name="hardware_keycode">
+<parameter_description> a keycode
+</parameter_description>
+</parameter>
+<parameter name="keys">
+<parameter_description> return location for array of #GdkKeymapKey, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="keyvals">
+<parameter_description> return location for array of keyvals, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="n_entries">
+<parameter_description> length of @keys and @keyvals
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if there were any entries
+</return>
+</function>
+
+<function name="gdk_window_get_origin">
+<description>
+Obtains the position of a window in root window coordinates.
+(Compare with gdk_window_get_position() and
+gdk_window_get_geometry() which return the position of a window
+relative to its parent window.)
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> return location for X coordinate
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> return location for Y coordinate
+</parameter_description>
+</parameter>
+</parameters>
+<return> not meaningful, ignore
+</return>
+</function>
+
+<function name="gdk_pixbuf_animation_new_from_file">
+<description>
+Creates a new animation by loading it from a file. The file format is
+detected automatically. If the file&apos;s format does not support multi-frame
+images, then an animation with a single frame will be created. Possible errors
+are in the #GDK_PIXBUF_ERROR and #G_FILE_ERROR domains.
+
+
+</description>
+<parameters>
+<parameter name="filename">
+<parameter_description> Name of file to load, in the GLib file name encoding
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for error
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly-created animation with a reference count of 1, or %NULL
+if any of several error conditions ocurred: the file could not be opened,
+there was no loader for the file&apos;s format, there was not enough memory to
+allocate the image buffer, or the image file contained invalid data.
+</return>
+</function>
+
+<function name="gdk_window_get_window_type">
+<description>
+Gets the type of the window. See #GdkWindowType.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> type of window
+</return>
+</function>
+
+<function name="gdk_gc_set_clip_region">
+<description>
+Sets the clip mask for a graphics context from a region structure.
+The clip mask is interpreted relative to the clip origin. (See
+gdk_gc_set_clip_origin()).
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="region">
+<parameter_description> the #GdkRegion.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_colormap_alloc_colors">
+<description>
+Allocates colors from a colormap.
+
+
+</description>
+<parameters>
+<parameter name="colormap">
+<parameter_description> a #GdkColormap.
+</parameter_description>
+</parameter>
+<parameter name="colors">
+<parameter_description> The color values to allocate. On return, the pixel
+values for allocated colors will be filled in.
+</parameter_description>
+</parameter>
+<parameter name="ncolors">
+<parameter_description> The number of colors in @colors.
+</parameter_description>
+</parameter>
+<parameter name="writeable">
+<parameter_description> If %TRUE, the colors are allocated writeable
+(their values can later be changed using gdk_color_change()).
+Writeable colors cannot be shared between applications.
+</parameter_description>
+</parameter>
+<parameter name="best_match">
+<parameter_description> If %TRUE, GDK will attempt to do matching against
+existing colors if the colors cannot be allocated as requested.
+</parameter_description>
+</parameter>
+<parameter name="success">
+<parameter_description> An array of length @ncolors. On return, this
+indicates whether the corresponding color in @colors was
+successfully allocated or not.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The number of colors that were not successfully
+allocated.
+</return>
+</function>
+
+<function name="gdk_screen_set_font_options">
+<description>
+Sets the default font options for the screen. These
+options will be set on any #PangoContext&apos;s newly created
+with gdk_pango_context_get_for_screen(). Changing the
+default set of font options does not affect contexts that
+have already been created.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+<parameter name="options">
+<parameter_description> a #cairo_font_options_t, or %NULL to unset any
+previously set default font options.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_region_shrink">
+<description>
+Resizes a region by the specified amount.
+Positive values shrink the region. Negative values expand it.
+
+</description>
+<parameters>
+<parameter name="region">
+<parameter_description> a #GdkRegion
+</parameter_description>
+</parameter>
+<parameter name="dx">
+<parameter_description> the number of pixels to shrink the region horizontally
+</parameter_description>
+</parameter>
+<parameter name="dy">
+<parameter_description> the number of pixels to shrink the region vertically
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_event_put">
+<description>
+Appends a copy of the given event onto the front of the event
+queue for event-&amp;gt;any.window&apos;s display, or the default event
+queue if event-&amp;gt;any.window is %NULL. See gdk_display_put_event().
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a #GdkEvent.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_colormap_get_system">
+<description>
+Gets the system&apos;s default colormap for the default screen. (See
+gdk_colormap_get_system_for_screen ())
+
+
+</description>
+<parameters>
+</parameters>
+<return> the default colormap.
+</return>
+</function>
+
+<function name="gdk_visual_get_screen">
+<description>
+Gets the screen to which this visual belongs
+
+
+</description>
+<parameters>
+<parameter name="visual">
+<parameter_description> a #GdkVisual
+</parameter_description>
+</parameter>
+</parameters>
+<return> the screen to which this visual belongs.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_pixbuf_simple_anim_new">
+<description>
+Creates a new, empty animation.
+
+
+</description>
+<parameters>
+<parameter name="width">
+<parameter_description> the width of the animation
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the animation
+</parameter_description>
+</parameter>
+<parameter name="rate">
+<parameter_description> the speed of the animation, in frames per second
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated #GdkPixbufSimpleAnim
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gdk_drawable_ref">
+<description>
+Deprecated equivalent of calling g_object_ref() on @drawable.
+(Drawables were not objects in previous versions of GDK.)
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+</parameters>
+<return> the same @drawable passed in
+</return>
+</function>
+
+<function name="gdk_drawable_get_visible_region">
+<description>
+Computes the region of a drawable that is potentially visible.
+This does not necessarily take into account if the window is
+obscured by other windows, but no area outside of this region
+is visible.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GdkRegion. This must be freed with gdk_region_destroy()
+when you are done.
+</return>
+</function>
+
+<function name="gdk_gc_set_background">
+<description>
+Sets the background color for a graphics context.
+Note that this function uses @color-&amp;gt;pixel, use
+gdk_gc_set_rgb_bg_color() to specify the background
+color as red, green, blue components.
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> the new background color.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_move_resize">
+<description>
+Equivalent to calling gdk_window_move() and gdk_window_resize(),
+except that both operations are performed at once, avoiding strange
+visual effects. (i.e. the user may be able to see the window first
+move, then resize, if you don&apos;t use gdk_window_move_resize().)
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> new X position relative to window&apos;s parent
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> new Y position relative to window&apos;s parent
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> new width
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> new height
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_cursor_new_for_display">
+<description>
+Creates a new cursor from the set of builtin cursors.
+Some useful ones are:
+&amp;lt;itemizedlist&amp;gt;
+&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;
+&amp;lt;inlinegraphic format=&quot;PNG&quot; fileref=&quot;right_ptr.png&quot;&amp;gt;&amp;lt;/inlinegraphic&amp;gt; #GDK_RIGHT_PTR (right-facing arrow)
+&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
+&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;
+&amp;lt;inlinegraphic format=&quot;PNG&quot; fileref=&quot;crosshair.png&quot;&amp;gt;&amp;lt;/inlinegraphic&amp;gt; #GDK_CROSSHAIR (crosshair)
+&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
+&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;
+&amp;lt;inlinegraphic format=&quot;PNG&quot; fileref=&quot;xterm.png&quot;&amp;gt;&amp;lt;/inlinegraphic&amp;gt; #GDK_XTERM (I-beam)
+&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
+&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;
+&amp;lt;inlinegraphic format=&quot;PNG&quot; fileref=&quot;watch.png&quot;&amp;gt;&amp;lt;/inlinegraphic&amp;gt; #GDK_WATCH (busy)
+&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
+&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;
+&amp;lt;inlinegraphic format=&quot;PNG&quot; fileref=&quot;fleur.png&quot;&amp;gt;&amp;lt;/inlinegraphic&amp;gt; #GDK_FLEUR (for moving objects)
+&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
+&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;
+&amp;lt;inlinegraphic format=&quot;PNG&quot; fileref=&quot;hand1.png&quot;&amp;gt;&amp;lt;/inlinegraphic&amp;gt; #GDK_HAND1 (a right-pointing hand)
+&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
+&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;
+&amp;lt;inlinegraphic format=&quot;PNG&quot; fileref=&quot;hand2.png&quot;&amp;gt;&amp;lt;/inlinegraphic&amp;gt; #GDK_HAND2 (a left-pointing hand)
+&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
+&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;
+&amp;lt;inlinegraphic format=&quot;PNG&quot; fileref=&quot;left_side.png&quot;&amp;gt;&amp;lt;/inlinegraphic&amp;gt; #GDK_LEFT_SIDE (resize left side)
+&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
+&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;
+&amp;lt;inlinegraphic format=&quot;PNG&quot; fileref=&quot;right_side.png&quot;&amp;gt;&amp;lt;/inlinegraphic&amp;gt; #GDK_RIGHT_SIDE (resize right side)
+&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
+&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;
+&amp;lt;inlinegraphic format=&quot;PNG&quot; fileref=&quot;top_left_corner.png&quot;&amp;gt;&amp;lt;/inlinegraphic&amp;gt; #GDK_TOP_LEFT_CORNER (resize northwest corner)
+&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
+&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;
+&amp;lt;inlinegraphic format=&quot;PNG&quot; fileref=&quot;top_right_corner.png&quot;&amp;gt;&amp;lt;/inlinegraphic&amp;gt; #GDK_TOP_RIGHT_CORNER (resize northeast corner)
+&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
+&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;
+&amp;lt;inlinegraphic format=&quot;PNG&quot; fileref=&quot;bottom_left_corner.png&quot;&amp;gt;&amp;lt;/inlinegraphic&amp;gt; #GDK_BOTTOM_LEFT_CORNER (resize southwest corner)
+&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
+&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;
+&amp;lt;inlinegraphic format=&quot;PNG&quot; fileref=&quot;bottom_right_corner.png&quot;&amp;gt;&amp;lt;/inlinegraphic&amp;gt; #GDK_BOTTOM_RIGHT_CORNER (resize southeast corner)
+&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
+&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;
+&amp;lt;inlinegraphic format=&quot;PNG&quot; fileref=&quot;top_side.png&quot;&amp;gt;&amp;lt;/inlinegraphic&amp;gt; #GDK_TOP_SIDE (resize top side)
+&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
+&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;
+&amp;lt;inlinegraphic format=&quot;PNG&quot; fileref=&quot;bottom_side.png&quot;&amp;gt;&amp;lt;/inlinegraphic&amp;gt; #GDK_BOTTOM_SIDE (resize bottom side)
+&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
+&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;
+&amp;lt;inlinegraphic format=&quot;PNG&quot; fileref=&quot;sb_h_double_arrow.png&quot;&amp;gt;&amp;lt;/inlinegraphic&amp;gt; #GDK_SB_H_DOUBLE_ARROW (move vertical splitter)
+&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
+&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;
+&amp;lt;inlinegraphic format=&quot;PNG&quot; fileref=&quot;sb_v_double_arrow.png&quot;&amp;gt;&amp;lt;/inlinegraphic&amp;gt; #GDK_SB_V_DOUBLE_ARROW (move horizontal splitter)
+&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
+&amp;lt;/itemizedlist&amp;gt;
+
+To make the cursor invisible, use gdk_cursor_new_from_pixmap() to create
+a cursor with no pixels in it.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the #GdkDisplay for which the cursor will be created
+</parameter_description>
+</parameter>
+<parameter name="cursor_type">
+<parameter_description> cursor to create
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GdkCursor
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_fontset_load_for_display">
+<description>
+Loads a fontset for use on @display.
+
+The fontset may be newly loaded or looked up in a cache.
+You should make no assumptions about the initial reference count.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="fontset_name">
+<parameter_description> a comma-separated list of XLFDs describing
+the component fonts of the fontset to load.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GdkFont, or %NULL if the fontset could not be loaded.
+</return>
+</function>
+
+<function name="gdk_pointer_ungrab">
+<description>
+Ungrabs the pointer on the default display, if it is grabbed by this
+application.
+
+</description>
+<parameters>
+<parameter name="time_">
+<parameter_description> a timestamp from a #GdkEvent, or %GDK_CURRENT_TIME if no
+timestamp is available.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_animation_iter_get_delay_time">
+<description>
+Gets the number of milliseconds the current pixbuf should be displayed,
+or -1 if the current pixbuf should be displayed forever. g_timeout_add()
+conveniently takes a timeout in milliseconds, so you can use a timeout
+to schedule the next update.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an animation iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> delay time in milliseconds (thousandths of a second)
+</return>
+</function>
+
+<function name="gdk_window_set_type_hint">
+<description>
+The application can use this call to provide a hint to the window
+manager about the functionality of a window. The window manager
+can use this information when determining the decoration and behaviour
+of the window.
+
+The hint must be set before the window is mapped.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> A toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="hint">
+<parameter_description> A hint of the function this window will have
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_display_supports_cursor_alpha">
+<description>
+Returns: whether cursors can have alpha channels.
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether cursors can have alpha channels.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gdk_x11_colormap_get_xdisplay">
+<description>
+Return value: an Xlib &amp;lt;type&amp;gt;Display*&amp;lt;/type&amp;gt;.
+
+</description>
+<parameters>
+<parameter name="colormap">
+<parameter_description> a #GdkColormap.
+</parameter_description>
+</parameter>
+</parameters>
+<return> an Xlib &amp;lt;type&amp;gt;Display*&amp;lt;/type&amp;gt;.
+</return>
+</function>
+
+<function name="gdk_draw_rgb_32_image_dithalign">
+<description>
+Like gdk_draw_rgb_32_image(), but allows you to specify the dither
+offsets. See gdk_draw_rgb_image_dithalign() for more details.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> a #GdkGC
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> X coordinate on @drawable where image should go
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> Y coordinate on @drawable where image should go
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of area of image to draw
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height of area of image to draw
+</parameter_description>
+</parameter>
+<parameter name="dith">
+<parameter_description> dithering mode
+</parameter_description>
+</parameter>
+<parameter name="buf">
+<parameter_description> RGB image data
+</parameter_description>
+</parameter>
+<parameter name="rowstride">
+<parameter_description> rowstride of RGB image data
+</parameter_description>
+</parameter>
+<parameter name="xdith">
+<parameter_description> X dither offset
+</parameter_description>
+</parameter>
+<parameter name="ydith">
+<parameter_description> Y dither offset
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_screen_get_n_monitors">
+<description>
+Returns: number of monitors which @screen consists of.
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen.
+</parameter_description>
+</parameter>
+</parameters>
+<return> number of monitors which @screen consists of.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="GdkPixbuf">
+<description>
+The number of bytes between the start of a row and
+the start of the next row. This number must (obviously)
+be at least as large as the width of the pixbuf.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_format_set_disabled">
+<description>
+Disables or enables an image format. If a format is disabled,
+gdk-pixbuf won&apos;t use the image loader for this format to load
+images. Applications can use this to avoid using image loaders
+with an inappropriate license, see gdk_pixbuf_format_get_license().
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="format">
+<parameter_description> a #GdkPixbufFormat
+</parameter_description>
+</parameter>
+<parameter name="disabled">
+<parameter_description> %TRUE to disable the format @format
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_save_to_callbackv">
+<description>
+Saves pixbuf to a callback in format @type, which is currently &quot;jpeg&quot;,
+&quot;png&quot;, &quot;tiff&quot;, &quot;ico&quot; or &quot;bmp&quot;. If @error is set, %FALSE will be returned. See
+gdk_pixbuf_save_to_callback () for more details.
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> a #GdkPixbuf.
+</parameter_description>
+</parameter>
+<parameter name="save_func">
+<parameter_description> a function that is called to save each block of data that
+the save routine generates.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data to pass to the save function.
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> name of file format.
+</parameter_description>
+</parameter>
+<parameter name="option_keys">
+<parameter_description> name of options to set, %NULL-terminated
+</parameter_description>
+</parameter>
+<parameter name="option_values">
+<parameter_description> values for named options
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether an error was set
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gdk_keyboard_ungrab">
+<description>
+Ungrabs the keyboard on the default display, if it is grabbed by this
+application.
+
+</description>
+<parameters>
+<parameter name="time_">
+<parameter_description> a timestamp from a #GdkEvent, or %GDK_CURRENT_TIME if no
+timestamp is available.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_invalidate_region">
+<description>
+Adds @region to the update area for @window. The update area is the
+region that needs to be redrawn, or &quot;dirty region.&quot; The call
+gdk_window_process_updates() sends one or more expose events to the
+window, which together cover the entire update area. An
+application would normally redraw the contents of @window in
+response to those expose events.
+
+GDK will call gdk_window_process_all_updates() on your behalf
+whenever your program returns to the main loop and becomes idle, so
+normally there&apos;s no need to do that manually, you just need to
+invalidate regions that you know should be redrawn.
+
+The @invalidate_children parameter controls whether the region of
+each child window that intersects @region will also be invalidated.
+If %FALSE, then the update area for child windows will remain
+unaffected. See gdk_window_invalidate_maybe_recurse if you need
+fine grained control over which children are invalidated.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="region">
+<parameter_description> a #GdkRegion
+</parameter_description>
+</parameter>
+<parameter name="invalidate_children">
+<parameter_description> %TRUE to also invalidate child windows
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_x11_get_default_screen">
+<description>
+Gets the default GTK+ screen number.
+
+
+</description>
+<parameters>
+</parameters>
+<return> returns the screen number specified by
+the --display command line option or the DISPLAY environment
+variable when gdk_init() calls XOpenDisplay().
+</return>
+</function>
+
+<function name="gdk_window_enable_synchronized_configure">
+<description>
+Indicates that the application will cooperate with the window
+system in synchronizing the window repaint with the window
+manager during resizing operations. After an application calls
+this function, it must call gdk_window_configure_finished() every
+time it has finished all processing associated with a set of
+Configure events. Toplevel GTK+ windows automatically use this
+protocol.
+
+On X, calling this function makes @window participate in the
+_NET_WM_SYNC_REQUEST window manager protocol.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixmap_lookup_for_display">
+<description>
+Looks up the #GdkPixmap that wraps the given native pixmap handle.
+
+For example in the X backend, a native pixmap handle is an Xlib
+&amp;lt;type&amp;gt;XID&amp;lt;/type&amp;gt;.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the #GdkDisplay associated with @anid
+</parameter_description>
+</parameter>
+<parameter name="anid">
+<parameter_description> a native pixmap handle.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkPixmap wrapper for the native pixmap,
+or %NULL if there is none.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_window_set_back_pixmap">
+<description>
+Sets the background pixmap of @window. May also be used to set a background of
+&quot;None&quot; on @window, by setting a background pixmap of %NULL.
+A background pixmap will be tiled, positioning the first tile at the origin of
+@window, or if @parent_relative is %TRUE, the tiling will be done based on the
+origin of the parent window (useful to align tiles in a parent with tiles
+in a child).
+
+A background pixmap of %NULL means that the window will have no
+background. A window with no background will never have its
+background filled by the windowing system, instead the window will
+contain whatever pixels were already in the corresponding area of
+the display.
+
+The windowing system will normally fill a window with its background
+when the window is obscured then exposed, and when you call
+gdk_window_clear().
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="pixmap">
+<parameter_description> a #GdkPixmap, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="parent_relative">
+<parameter_description> whether the tiling origin is at the origin of @window&apos;s parent
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_x11_screen_supports_net_wm_hint">
+<description>
+This function is specific to the X11 backend of GDK, and indicates
+whether the window manager supports a certain hint from the
+Extended Window Manager Hints Specification. You can find this
+specification on
+&amp;lt;ulink url=&quot;http://www.freedesktop.org&quot;&amp;gt;http://www.freedesktop.org&amp;lt;/ulink&amp;gt;.
+
+When using this function, keep in mind that the window manager
+can change over time; so you shouldn&apos;t use this function in
+a way that impacts persistent application state. A common bug
+is that your application can start up before the window manager
+does when the user logs in, and before the window manager starts
+gdk_x11_screen_supports_net_wm_hint() will return %FALSE for every property.
+You can monitor the window_manager_changed signal on #GdkScreen to detect
+a window manager change.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> the relevant #GdkScreen.
+</parameter_description>
+</parameter>
+<parameter name="property">
+<parameter_description> a property atom.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the window manager supports @property
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_screen_get_default">
+<description>
+Gets the default screen for the default display. (See
+gdk_display_get_default ()).
+
+
+</description>
+<parameters>
+</parameters>
+<return> a #GdkScreen, or %NULL if there is no default display.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="_gdk_xgrab_check_button_event">
+<description>
+Checks to see if a button event starts or ends an implicit grab.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> an XEvent of type ButtonPress or ButtonRelease
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_render_threshold_alpha">
+<description>
+Takes the opacity values in a rectangular portion of a pixbuf and thresholds
+them to produce a bi-level alpha mask that can be used as a clipping mask for
+a drawable.
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> A pixbuf.
+</parameter_description>
+</parameter>
+<parameter name="bitmap">
+<parameter_description> Bitmap where the bilevel mask will be painted to.
+</parameter_description>
+</parameter>
+<parameter name="src_x">
+<parameter_description> Source X coordinate.
+</parameter_description>
+</parameter>
+<parameter name="src_y">
+<parameter_description> source Y coordinate.
+</parameter_description>
+</parameter>
+<parameter name="dest_x">
+<parameter_description> Destination X coordinate.
+</parameter_description>
+</parameter>
+<parameter name="dest_y">
+<parameter_description> Destination Y coordinate.
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> Width of region to threshold, or -1 to use pixbuf width
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> Height of region to threshold, or -1 to use pixbuf height
+</parameter_description>
+</parameter>
+<parameter name="alpha_threshold">
+<parameter_description> Opacity values below this will be painted as zero; all
+other values will be painted as one.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pango_context_set_colormap">
+<description>
+This function used to set the colormap to be used for drawing with
+@context. The colormap is now always derived from the graphics
+context used for drawing, so calling this function is no longer
+necessary.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+<parameter name="colormap">
+<parameter_description> a #GdkColormap
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_drawable_unref">
+<description>
+Deprecated equivalent of calling g_object_unref() on @drawable.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_x11_atom_to_xatom_for_display">
+<description>
+Converts from a #GdkAtom to the X atom for a #GdkDisplay
+with the same string value.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> A #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="atom">
+<parameter_description> A #GdkAtom
+</parameter_description>
+</parameter>
+</parameters>
+<return> the X atom corresponding to @atom.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_image_set_colormap">
+<description>
+Sets the colormap for the image to the given colormap. Normally
+there&apos;s no need to use this function, images are created with the
+correct colormap if you get the image from a drawable. If you
+create the image from scratch, use the colormap of the drawable you
+intend to render the image to.
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GdkImage
+</parameter_description>
+</parameter>
+<parameter name="colormap">
+<parameter_description> a #GdkColormap
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_begin_paint_rect">
+<description>
+A convenience wrapper around gdk_window_begin_paint_region() which
+creates a rectangular region for you. See
+gdk_window_begin_paint_region() for details.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="rectangle">
+<parameter_description> rectangle you intend to draw to
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gdk_gc_update_context">
+<description>
+Set the attributes of a cairo context to match those of a #GdkGC
+as far as possible. Some aspects of a #GdkGC, such as clip masks
+and functions other than %GDK_COPY are not currently handled.
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC
+</parameter_description>
+</parameter>
+<parameter name="cr">
+<parameter_description> a #cairo_t
+</parameter_description>
+</parameter>
+<parameter name="override_foreground">
+<parameter_description> a foreground color to use to override the
+foreground color of the GC
+</parameter_description>
+</parameter>
+<parameter name="override_stipple">
+<parameter_description> a stipple pattern to use to override the
+stipple from the GC. If this is present and the fill mode
+of the GC isn&apos;t %GDK_STIPPLED or %GDK_OPAQUE_STIPPLED
+the fill mode will be forced to %GDK_STIPPLED
+</parameter_description>
+</parameter>
+<parameter name="gc_changed">
+<parameter_description> pass %FALSE if the @gc has not changed since the
+last call to this function
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_visual_get_best_with_depth">
+<description>
+Get the best visual with depth @depth for the default GDK screen.
+Color visuals and visuals with mutable colormaps are preferred
+over grayscale or fixed-colormap visuals. The return value should not
+be freed. %NULL may be returned if no visual supports @depth.
+
+
+</description>
+<parameters>
+<parameter name="depth">
+<parameter_description> a bit depth
+</parameter_description>
+</parameter>
+</parameters>
+<return> best visual for the given depth
+</return>
+</function>
+
+<function name="gdk_pango_attr_embossed_new">
+<description>
+Creates a new attribute flagging a region as embossed or not.
+
+
+</description>
+<parameters>
+<parameter name="embossed">
+<parameter_description> if the region should be embossed
+</parameter_description>
+</parameter>
+</parameters>
+<return> new #PangoAttribute
+</return>
+</function>
+
+<function name="gdk_pixbuf_animation_get_width">
+<description>
+Queries the width of the bounding box of a pixbuf animation.
+
+
+</description>
+<parameters>
+<parameter name="animation">
+<parameter_description> An animation.
+</parameter_description>
+</parameter>
+</parameters>
+<return> Width of the bounding box of the animation.
+</return>
+</function>
+
+<function name="gdk_screen_make_display_name">
+<description>
+Determines the name to pass to gdk_display_open() to get
+a #GdkDisplay with this screen as the default screen.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated string, free with g_free()
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_utf8_to_compound_text">
+<description>
+Convert from UTF-8 to compound text.
+
+
+</description>
+<parameters>
+<parameter name="str">
+<parameter_description> a UTF-8 string
+</parameter_description>
+</parameter>
+<parameter name="encoding">
+<parameter_description> location to store resulting encoding
+</parameter_description>
+</parameter>
+<parameter name="format">
+<parameter_description> location to store format of the result
+</parameter_description>
+</parameter>
+<parameter name="ctext">
+<parameter_description> location to store the data of the result
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> location to store the length of the data
+stored in @ctext
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the conversion succeeded, otherwise
+false.
+</return>
+</function>
+
+<function name="gdk_font_get_display">
+<description>
+Returns: the corresponding #GdkDisplay.
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> the #GdkFont.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the corresponding #GdkDisplay.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_char_width">
+<description>
+Determines the width of a given character.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #GdkFont
+</parameter_description>
+</parameter>
+<parameter name="character">
+<parameter_description> the character to measure.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the width of the character in pixels.
+
+Deprecated: Use gdk_text_extents() instead.
+</return>
+</function>
+
+<function name="gdk_event_free">
+<description>
+Frees a #GdkEvent, freeing or decrementing any resources associated with it.
+Note that this function should only be called with events returned from
+functions such as gdk_event_peek(), gdk_event_get(),
+gdk_event_get_graphics_expose() and gdk_event_copy().
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a #GdkEvent.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_format_is_disabled">
+<description>
+Return value: whether this image format is disabled.
+
+</description>
+<parameters>
+<parameter name="format">
+<parameter_description> a #GdkPixbufFormat
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether this image format is disabled.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gdk_pixbuf_new_from_data">
+<description>
+Creates a new #GdkPixbuf out of in-memory image data. Currently only RGB
+images with 8 bits per sample are supported.
+
+
+</description>
+<parameters>
+<parameter name="data">
+<parameter_description> Image data in 8-bit/sample packed format
+</parameter_description>
+</parameter>
+<parameter name="colorspace">
+<parameter_description> Colorspace for the image data
+</parameter_description>
+</parameter>
+<parameter name="has_alpha">
+<parameter_description> Whether the data has an opacity channel
+</parameter_description>
+</parameter>
+<parameter name="bits_per_sample">
+<parameter_description> Number of bits per sample
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> Width of the image in pixels, must be &amp;gt; 0
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> Height of the image in pixels, must be &amp;gt; 0
+</parameter_description>
+</parameter>
+<parameter name="rowstride">
+<parameter_description> Distance in bytes between row starts
+</parameter_description>
+</parameter>
+<parameter name="destroy_fn">
+<parameter_description> Function used to free the data when the pixbuf&apos;s reference count
+drops to zero, or %NULL if the data should not be freed
+</parameter_description>
+</parameter>
+<parameter name="destroy_fn_data">
+<parameter_description> Closure data to pass to the destroy notification function
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly-created #GdkPixbuf structure with a reference count of 1.
+</return>
+</function>
+
+<function name="gdk_window_set_focus_on_map">
+<description>
+Setting @focus_on_map to %FALSE hints the desktop environment that the
+window doesn&apos;t want to receive input focus when it is mapped.
+focus_on_map should be turned off for windows that aren&apos;t triggered
+interactively (such as popups from network activity).
+
+On X, it is the responsibility of the window manager to interpret
+this hint. Window managers following the freedesktop.org window
+manager extension specification should respect it.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="focus_on_map">
+<parameter_description> %TRUE if the window should receive input focus when mapped
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_animation_iter_get_pixbuf">
+<description>
+Gets the current pixbuf which should be displayed; the pixbuf will
+be the same size as the animation itself
+(gdk_pixbuf_animation_get_width(), gdk_pixbuf_animation_get_height()).
+This pixbuf should be displayed for
+gdk_pixbuf_animation_iter_get_delay_time() milliseconds. The caller
+of this function does not own a reference to the returned pixbuf;
+the returned pixbuf will become invalid when the iterator advances
+to the next frame, which may happen anytime you call
+gdk_pixbuf_animation_iter_advance(). Copy the pixbuf to keep it
+(don&apos;t just add a reference), as it may get recycled as you advance
+the iterator.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an animation iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> the pixbuf to be displayed
+</return>
+</function>
+
+<function name="gdk_display_pointer_is_grabbed">
+<description>
+Test if the pointer is grabbed.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if an active X pointer grab is in effect
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_drag_begin">
+<description>
+Starts a drag and creates a new drag context for it.
+
+This function is called by the drag source.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> the source window for this drag.
+</parameter_description>
+</parameter>
+<parameter name="targets">
+<parameter_description> the list of offered targets.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly created #GdkDragContext.
+</return>
+</function>
+
+<function name="gdk_screen_get_root_window">
+<description>
+Gets the root window of @screen.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return> the root window
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_event_new">
+<description>
+Creates a new event of the given type. All fields are set to 0.
+
+
+</description>
+<parameters>
+<parameter name="type">
+<parameter_description> a #GdkEventType
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated #GdkEvent. The returned #GdkEvent
+should be freed with gdk_event_free().
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_region_empty">
+<description>
+Finds out if the #GdkRegion is empty.
+
+
+</description>
+<parameters>
+<parameter name="region">
+<parameter_description> a #GdkRegion
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @region is empty.
+</return>
+</function>
+
+<function name="gdk_events_pending">
+<description>
+Checks if any events are ready to be processed for any display.
+
+
+</description>
+<parameters>
+</parameters>
+<return> %TRUE if any events are pending.
+</return>
+</function>
+
+<function name="gdk_pixbuf_get_height">
+<description>
+Queries the height of a pixbuf.
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> A pixbuf.
+</parameter_description>
+</parameter>
+</parameters>
+<return> Height in pixels.
+</return>
+</function>
+
+<function name="gdk_visual_get_best_with_type">
+<description>
+Get the best visual of the given @visual_type for the default GDK screen.
+Visuals with higher color depths are considered better. The return value
+should not be freed. %NULL may be returned if no visual has type
+@visual_type.
+
+
+</description>
+<parameters>
+<parameter name="visual_type">
+<parameter_description> a visual type
+</parameter_description>
+</parameter>
+</parameters>
+<return> best visual of the given type
+</return>
+</function>
+
+<function name="gdk_font_from_description">
+<description>
+Load a #GdkFont based on a Pango font description. This font will
+only be an approximation of the Pango font, and
+internationalization will not be handled correctly. This function
+should only be used for legacy code that cannot be easily converted
+to use Pango. Using Pango directly will produce better results.
+
+
+</description>
+<parameters>
+<parameter name="font_desc">
+<parameter_description> a #PangoFontDescription.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly loaded font, or %NULL if the font
+cannot be loaded.
+</return>
+</function>
+
+<function name="_gdk_window_clear_update_area">
+<description>
+Internal function to clear the update area for a window. This
+is called when the window is hidden or destroyed.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_keymap_get_entries_for_keyval">
+<description>
+Obtains a list of keycode/group/level combinations that will
+generate @keyval. Groups and levels are two kinds of keyboard mode;
+in general, the level determines whether the top or bottom symbol
+on a key is used, and the group determines whether the left or
+right symbol is used. On US keyboards, the shift key changes the
+keyboard level, and there are no groups. A group switch key might
+convert a keyboard between Hebrew to English modes, for example.
+#GdkEventKey contains a %group field that indicates the active
+keyboard group. The level is computed from the modifier mask.
+The returned array should be freed
+with g_free().
+
+
+</description>
+<parameters>
+<parameter name="keymap">
+<parameter_description> a #GdkKeymap, or %NULL to use the default keymap
+</parameter_description>
+</parameter>
+<parameter name="keyval">
+<parameter_description> a keyval, such as %GDK_a, %GDK_Up, %GDK_Return, etc.
+</parameter_description>
+</parameter>
+<parameter name="keys">
+<parameter_description> return location for an array of #GdkKeymapKey
+</parameter_description>
+</parameter>
+<parameter name="n_keys">
+<parameter_description> return location for number of elements in returned array
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if keys were found and returned
+</return>
+</function>
+
+<function name="gdk_x11_colormap_foreign_new">
+<description>
+If xcolormap refers to a colormap previously known to GTK+,
+Return value: the #GdkColormap object for @xcolormap.
+
+</description>
+<parameters>
+<parameter name="visual">
+<parameter_description> a #GdkVisual
+</parameter_description>
+</parameter>
+<parameter name="xcolormap">
+<parameter_description> The XID of a colormap with visual @visual
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkColormap object for @xcolormap.
+Free with g_object_unref(). Note that for colormap created
+with gdk_x11_colormap_foreign_new(), unref&apos;ing the last
+reference to the object will only free the #GdkColoramp
+object and not call XFreeColormap()
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_cairo_set_source_pixbuf">
+<description>
+Sets the given pixbuf as the source pattern for the Cairo context.
+The pattern has an extend mode of %CAIRO_EXTEND_NONE and is aligned
+so that the origin of @pixbuf is @pixbuf_x, @pixbuf_y
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="cr">
+<parameter_description> a #Cairo context
+</parameter_description>
+</parameter>
+<parameter name="pixbuf">
+<parameter_description> a #GdkPixbuf
+</parameter_description>
+</parameter>
+<parameter name="pixbuf_x">
+<parameter_description> X coordinate of location to place upper left corner of @pixbuf
+</parameter_description>
+</parameter>
+<parameter name="pixbuf_y">
+<parameter_description> Y coordinate of location to place upper left corner of @pixbuf
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_set_hints">
+<description>
+This function is broken and useless and you should ignore it.
+If using GTK+, use functions such as gtk_window_resize(), gtk_window_set_size_request(),
+gtk_window_move(), gtk_window_parse_geometry(), and gtk_window_set_geometry_hints(),
+depending on what you&apos;re trying to do.
+
+If using GDK directly, use gdk_window_set_geometry_hints().
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> ignored field, does not matter
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> ignored field, does not matter
+</parameter_description>
+</parameter>
+<parameter name="min_width">
+<parameter_description> minimum width hint
+</parameter_description>
+</parameter>
+<parameter name="min_height">
+<parameter_description> minimum height hint
+</parameter_description>
+</parameter>
+<parameter name="max_width">
+<parameter_description> max width hint
+</parameter_description>
+</parameter>
+<parameter name="max_height">
+<parameter_description> max height hint
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> logical OR of GDK_HINT_POS, GDK_HINT_MIN_SIZE, and/or GDK_HINT_MAX_SIZE
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_cairo_rectangle">
+<description>
+Adds the given rectangle to the current path of @cr.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="cr">
+<parameter_description> a #cairo_t
+</parameter_description>
+</parameter>
+<parameter name="rectangle">
+<parameter_description> a #GdkRectangle
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_cursor_new">
+<description>
+Creates a new cursor from the set of builtin cursors for the default display.
+See gdk_cursor_new_for_display().
+
+To make the cursor invisible, use gdk_cursor_new_from_pixmap() to create
+a cursor with no pixels in it.
+
+
+</description>
+<parameters>
+<parameter name="cursor_type">
+<parameter_description> cursor to create
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GdkCursor
+</return>
+</function>
+
+<function name="gdk_pixbuf_animation_get_iter">
+<description>
+Get an iterator for displaying an animation. The iterator provides
+the frames that should be displayed at a given time.
+It should be freed after use with g_object_unref().
+
+@start_time would normally come from g_get_current_time(), and
+marks the beginning of animation playback. After creating an
+iterator, you should immediately display the pixbuf returned by
+gdk_pixbuf_animation_iter_get_pixbuf(). Then, you should install a
+timeout (with g_timeout_add()) or by some other mechanism ensure
+that you&apos;ll update the image after
+gdk_pixbuf_animation_iter_get_delay_time() milliseconds. Each time
+the image is updated, you should reinstall the timeout with the new,
+possibly-changed delay time.
+
+As a shortcut, if @start_time is %NULL, the result of
+g_get_current_time() will be used automatically.
+
+To update the image (i.e. possibly change the result of
+gdk_pixbuf_animation_iter_get_pixbuf() to a new frame of the animation),
+call gdk_pixbuf_animation_iter_advance().
+
+If you&apos;re using #GdkPixbufLoader, in addition to updating the image
+after the delay time, you should also update it whenever you
+receive the area_updated signal and
+gdk_pixbuf_animation_iter_on_currently_loading_frame() returns
+%TRUE. In this case, the frame currently being fed into the loader
+has received new data, so needs to be refreshed. The delay time for
+a frame may also be modified after an area_updated signal, for
+example if the delay time for a frame is encoded in the data after
+the frame itself. So your timeout should be reinstalled after any
+area_updated signal.
+
+A delay time of -1 is possible, indicating &quot;infinite.&quot;
+
+
+</description>
+<parameters>
+<parameter name="animation">
+<parameter_description> a #GdkPixbufAnimation
+</parameter_description>
+</parameter>
+<parameter name="start_time">
+<parameter_description> time when the animation starts playing
+</parameter_description>
+</parameter>
+</parameters>
+<return> an iterator to move over the animation
+</return>
+</function>
+
+<function name="gdk_window_get_state">
+<description>
+Gets the bitwise OR of the currently active window state flags,
+from the #GdkWindowState enumeration.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> window state bitfield
+</return>
+</function>
+
+<function name="_gdk_event_unqueue">
+<description>
+Removes and returns the first event from the event
+queue that is not still being filled in.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> the event, or %NULL. Ownership is transferred
+to the caller.
+</return>
+</function>
+
+<function name="gdk_x11_register_standard_event_type">
+<description>
+Registers interest in receiving extension events with type codes
+between @event_base and &amp;lt;literal&amp;gt;event_base + n_events - 1&amp;lt;/literal&amp;gt;.
+The registered events must have the window field in the same place
+as core X events (this is not the case for e.g. XKB extension events).
+
+If an event type is registered, events of this type will go through
+global and window-specific filters (see gdk_window_add_filter()).
+Unregistered events will only go through global filters.
+GDK may register the events of some X extensions on its own.
+
+This function should only be needed in unusual circumstances, e.g.
+when filtering XInput extension events on the root window.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="event_base">
+<parameter_description> first event type code to register
+</parameter_description>
+</parameter>
+<parameter name="n_events">
+<parameter_description> number of event type codes to register
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gdk_send_xevent">
+<description>
+Send an event, like XSendEvent(), but trap errors and check
+the result.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> #GdkDisplay which @window is on
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> window ID to which to send the event
+</parameter_description>
+</parameter>
+<parameter name="propagate">
+<parameter_description> %TRUE if the event should be propagated if the target window
+doesn&apos;t handle it.
+</parameter_description>
+</parameter>
+<parameter name="event_mask">
+<parameter_description> event mask to match against, or 0 to send it to @window
+without regard to event masks.
+</parameter_description>
+</parameter>
+<parameter name="event_send">
+<parameter_description> #XEvent to send
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if sending the event succeeded.
+</return>
+</function>
+
+<function name="gdk_cairo_set_source_color">
+<description>
+Sets the specified #GdkColor as the source color of @cr.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="cr">
+<parameter_description> a #cairo_t
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> a #GdkColor
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_region_union">
+<description>
+Sets the area of @source1 to the union of the areas of @source1 and
+@source2. The resulting area is the set of pixels contained in
+either @source1 or @source2.
+
+</description>
+<parameters>
+<parameter name="source1">
+<parameter_description> a #GdkRegion
+</parameter_description>
+</parameter>
+<parameter name="source2">
+<parameter_description> a #GdkRegion
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_devices_list">
+<description>
+Return value: a list of #GdkDevice
+
+</description>
+<parameters>
+</parameters>
+<return> a list of #GdkDevice
+</return>
+</function>
+
+<function name="gdk_draw_points">
+<description>
+Draws a number of points, using the foreground color and other
+attributes of the #GdkGC.
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="points">
+<parameter_description> an array of #GdkPoint structures.
+</parameter_description>
+</parameter>
+<parameter name="npoints">
+<parameter_description> the number of points to be drawn.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_x11_drawable_get_xid">
+<description>
+Return value: the ID of @drawable&apos;s X resource.
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the ID of @drawable&apos;s X resource.
+</return>
+</function>
+
+<function name="gdk_pixbuf_get_from_image">
+<description>
+Same as gdk_pixbuf_get_from_drawable() but gets the pixbuf from
+an image.
+
+
+</description>
+<parameters>
+<parameter name="dest">
+<parameter_description> Destination pixbuf, or %NULL if a new pixbuf should be created.
+</parameter_description>
+</parameter>
+<parameter name="src">
+<parameter_description> Source #GdkImage.
+</parameter_description>
+</parameter>
+<parameter name="cmap">
+<parameter_description> A colormap, or %NULL to use the one for @src
+</parameter_description>
+</parameter>
+<parameter name="src_x">
+<parameter_description> Source X coordinate within drawable.
+</parameter_description>
+</parameter>
+<parameter name="src_y">
+<parameter_description> Source Y coordinate within drawable.
+</parameter_description>
+</parameter>
+<parameter name="dest_x">
+<parameter_description> Destination X coordinate in pixbuf, or 0 if @dest is NULL.
+</parameter_description>
+</parameter>
+<parameter name="dest_y">
+<parameter_description> Destination Y coordinate in pixbuf, or 0 if @dest is NULL.
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> Width in pixels of region to get.
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> Height in pixels of region to get.
+</parameter_description>
+</parameter>
+</parameters>
+<return> @dest, newly-created pixbuf if @dest was %NULL, %NULL on error
+</return>
+</function>
+
+<function name="gdk_image_new_bitmap">
+<description>
+Creates a new #GdkImage with a depth of 1 from the given data.
+&amp;lt;warning&amp;gt;&amp;lt;para&amp;gt;THIS FUNCTION IS INCREDIBLY BROKEN. The passed-in data must
+be allocated by malloc() (NOT g_malloc()) and will be freed when the
+image is freed.&amp;lt;/para&amp;gt;&amp;lt;/warning&amp;gt;
+
+
+</description>
+<parameters>
+<parameter name="visual">
+<parameter_description> the #GdkVisual to use for the image.
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> the pixel data.
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the image in pixels.
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the image in pixels.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GdkImage.
+</return>
+</function>
+
+<function name="gdk_display_list_devices">
+<description>
+Return value: a list of #GdkDevice
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> a list of #GdkDevice
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_visual_get_best_type">
+<description>
+Return the best available visual type for the default GDK screen.
+
+
+</description>
+<parameters>
+</parameters>
+<return> best visual type
+</return>
+</function>
+
+<function name="gdk_event_get_root_coords">
+<description>
+Extract the root window relative x/y coordinates from an event.
+
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a #GdkEvent
+</parameter_description>
+</parameter>
+<parameter name="x_root">
+<parameter_description> location to put root window x coordinate
+</parameter_description>
+</parameter>
+<parameter name="y_root">
+<parameter_description> location to put root window y coordinate
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the event delivered root window coordinates
+</return>
+</function>
+
+<function name="gdk_window_get_root_origin">
+<description>
+Obtains the top-left corner of the window manager frame in root
+window coordinates.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> return location for X position of window frame
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> return location for Y position of window frame
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_process_updates">
+<description>
+Sends one or more expose events to @window. The areas in each
+expose event will cover the entire update area for the window (see
+gdk_window_invalidate_region() for details). Normally GDK calls
+gdk_window_process_all_updates() on your behalf, so there&apos;s no
+need to call this function unless you want to force expose events
+to be delivered immediately and synchronously (vs. the usual
+case, where GDK delivers them in an idle handler). Occasionally
+this is useful to produce nicer scrolling behavior, for example.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="update_children">
+<parameter_description> whether to also process updates for child windows
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gdk_gc_get_tile">
+<description>
+Gets the tile pixmap for @gc, if any
+
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC
+</parameter_description>
+</parameter>
+</parameters>
+<return> the tile set on the GC, or %NULL. The
+value is owned by the GC and must not be freed.
+</return>
+</function>
+
+<function name="_gdk_gc_get_clip_region">
+<description>
+Gets the current clip region for @gc, if any.
+
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC
+</parameter_description>
+</parameter>
+</parameters>
+<return> the clip region for the GC, or %NULL.
+(if a clip mask is set, the return will be %NULL)
+This value is owned by the GC and must not be freed.
+</return>
+</function>
+
+<function name="gdk_draw_polygon">
+<description>
+Draws an outlined or filled polygon.
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="filled">
+<parameter_description> %TRUE if the polygon should be filled. The polygon is closed
+automatically, connecting the last point to the first point if
+necessary.
+</parameter_description>
+</parameter>
+<parameter name="points">
+<parameter_description> an array of #GdkPoint structures specifying the points making
+up the polygon.
+</parameter_description>
+</parameter>
+<parameter name="npoints">
+<parameter_description> the number of points.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_peek_children">
+<description>
+Like gdk_window_get_children(), but does not copy the list of
+children, so the list does not need to be freed.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> a reference to the list of child windows in @window
+</return>
+</function>
+
+<function name="_pixops_composite_real">
+<description>
+Scale source buffer by scale_x / scale_y, then composite a given rectangle
+of the result into the destination buffer.
+
+</description>
+<parameters>
+<parameter name="dest_buf">
+<parameter_description> pointer to location to store result
+</parameter_description>
+</parameter>
+<parameter name="render_x0">
+<parameter_description> x0 of region of scaled source to store into @dest_buf
+</parameter_description>
+</parameter>
+<parameter name="render_y0">
+<parameter_description> y0 of region of scaled source to store into @dest_buf
+</parameter_description>
+</parameter>
+<parameter name="render_x1">
+<parameter_description> x1 of region of scaled source to store into @dest_buf
+</parameter_description>
+</parameter>
+<parameter name="render_y1">
+<parameter_description> y1 of region of scaled source to store into @dest_buf
+</parameter_description>
+</parameter>
+<parameter name="dest_rowstride">
+<parameter_description> rowstride of @dest_buf
+</parameter_description>
+</parameter>
+<parameter name="dest_channels">
+<parameter_description> number of channels in @dest_buf
+</parameter_description>
+</parameter>
+<parameter name="dest_has_alpha">
+<parameter_description> whether @dest_buf has alpha
+</parameter_description>
+</parameter>
+<parameter name="src_buf">
+<parameter_description> pointer to source pixels
+</parameter_description>
+</parameter>
+<parameter name="src_width">
+<parameter_description> width of source (used for clipping)
+</parameter_description>
+</parameter>
+<parameter name="src_height">
+<parameter_description> height of source (used for clipping)
+</parameter_description>
+</parameter>
+<parameter name="src_rowstride">
+<parameter_description> rowstride of source
+</parameter_description>
+</parameter>
+<parameter name="src_channels">
+<parameter_description> number of channels in @src_buf
+</parameter_description>
+</parameter>
+<parameter name="src_has_alpha">
+<parameter_description> whether @src_buf has alpha
+</parameter_description>
+</parameter>
+<parameter name="scale_x">
+<parameter_description> amount to scale source by in X direction
+</parameter_description>
+</parameter>
+<parameter name="scale_y">
+<parameter_description> amount to scale source by in Y direction
+</parameter_description>
+</parameter>
+<parameter name="interp_type">
+<parameter_description> type of enumeration
+</parameter_description>
+</parameter>
+<parameter name="overall_alpha">
+<parameter_description> overall alpha factor to multiply source by
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_set_icon">
+<description>
+Sets the icon of @window as a pixmap or window. If using GTK+, investigate
+gtk_window_set_default_icon_list() first, and then gtk_window_set_icon_list()
+and gtk_window_set_icon(). If those don&apos;t meet your needs, look at
+gdk_window_set_icon_list(). Only if all those are too high-level do you
+want to fall back to gdk_window_set_icon().
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="icon_window">
+<parameter_description> a #GdkWindow to use for the icon, or %NULL to unset
+</parameter_description>
+</parameter>
+<parameter name="pixmap">
+<parameter_description> a #GdkPixmap to use as the icon, or %NULL to unset
+</parameter_description>
+</parameter>
+<parameter name="mask">
+<parameter_description> a 1-bit pixmap (#GdkBitmap) to use as mask for @pixmap, or %NULL to have none
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_drawable_get_data">
+<description>
+Equivalent to g_object_get_data(); the #GObject variant should be
+used instead.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> name the data was stored under
+</parameter_description>
+</parameter>
+</parameters>
+<return> the data stored at @key
+</return>
+</function>
+
+<function name="gdk_beep">
+<description>
+Emits a short beep on the default display.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_fontset_load">
+<description>
+Loads a fontset.
+
+The fontset may be newly loaded or looked up in a cache.
+You should make no assumptions about the initial reference count.
+
+
+</description>
+<parameters>
+<parameter name="fontset_name">
+<parameter_description> a comma-separated list of XLFDs describing
+the component fonts of the fontset to load.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GdkFont, or %NULL if the fontset could not be loaded.
+</return>
+</function>
+
+<function name="gdk_window_unfullscreen">
+<description>
+Moves the window out of fullscreen mode. If the window was not
+fullscreen, does nothing.
+
+On X11, asks the window manager to move @window out of the fullscreen
+state, if the window manager supports this operation. Not all
+window managers support this, and some deliberately ignore it or
+don&apos;t have a concept of &quot;fullscreen&quot;; so you can&apos;t rely on the
+unfullscreenification actually happening. But it will happen with
+most standard window managers, and GDK makes a best effort to get
+it to happen.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_new_from_xpm_data">
+<description>
+Creates a new pixbuf by parsing XPM data in memory. This data is commonly
+the result of including an XPM file into a program&apos;s C source.
+
+
+</description>
+<parameters>
+<parameter name="data">
+<parameter_description> Pointer to inline XPM data.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly-created pixbuf with a reference count of 1.
+</return>
+</function>
+
+<function name="gdk_window_freeze_updates">
+<description>
+Temporarily freezes a window such that it won&apos;t receive expose
+events. The window will begin receiving expose events again when
+gdk_window_thaw_updates() is called. If gdk_window_freeze_updates()
+has been called more than once, gdk_window_thaw_updates() must be called
+an equal number of times to begin processing exposes.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_screen_get_active_window">
+<description>
+Return value: the currently active window, or %NULL.
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return> the currently active window, or %NULL.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gdk_color_alloc">
+<description>
+Allocates a single color from a colormap.
+
+
+</description>
+<parameters>
+<parameter name="colormap">
+<parameter_description> a #GdkColormap.
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> The color to allocate. On return, the
+&amp;lt;structfield&amp;gt;pixel&amp;lt;/structfield&amp;gt; field will be filled in.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the allocation succeeded.
+
+Deprecated: Use gdk_colormap_alloc_color() instead.
+</return>
+</function>
+
+<function name="gdk_utf8_to_compound_text_for_display">
+<description>
+Converts from UTF-8 to compound text.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="str">
+<parameter_description> a UTF-8 string
+</parameter_description>
+</parameter>
+<parameter name="encoding">
+<parameter_description> location to store resulting encoding
+</parameter_description>
+</parameter>
+<parameter name="format">
+<parameter_description> location to store format of the result
+</parameter_description>
+</parameter>
+<parameter name="ctext">
+<parameter_description> location to store the data of the result
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> location to store the length of the data
+stored in @ctext
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the conversion succeeded, otherwise
+%FALSE.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_screen_get_font_options">
+<description>
+Gets any options previously set with gdk_screen_set_font_options().
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current font options, or %NULL if no default
+font options have been set.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gdk_screen_get_rgb_colormap">
+<description>
+Gets the preferred colormap for rendering image data on @screen.
+Not a very useful function; historically, GDK could only render RGB
+image data to one colormap and visual, but in the current version
+it can render to any colormap and visual. So there&apos;s no need to
+call this function.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the preferred colormap
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_display_open_default_libgtk_only">
+<description>
+Opens the default display specified by command line arguments or
+environment variables, sets it as the default display, and returns
+it. gdk_parse_args must have been called first. If the default
+display has previously been set, simply returns that. An internal
+function that should not be used by applications.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the default display, if it could be opened,
+otherwise %NULL.
+</return>
+</function>
+
+<function name="gdk_visual_get_best">
+<description>
+Get the visual with the most available colors for the default
+GDK screen. The return value should not be freed.
+
+
+</description>
+<parameters>
+</parameters>
+<return> best visual
+</return>
+</function>
+
+<function name="gdk_window_set_skip_taskbar_hint">
+<description>
+Toggles whether a window should appear in a task list or window
+list. If a window&apos;s semantic type as specified with
+gdk_window_set_type_hint() already fully describes the window, this
+function should &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt; be called in addition,
+instead you should allow the window to be treated according to
+standard policy for its semantic type.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="skips_taskbar">
+<parameter_description> %TRUE to skip the taskbar
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_screen_get_width_mm">
+<description>
+Gets the width of @screen in millimeters.
+Note that on some X servers this value will not be correct.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return> the width of @screen in millimeters.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_display_get_pointer">
+<description>
+Gets the current location of the pointer and the current modifier
+mask for a given display.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="screen">
+<parameter_description> location to store the screen that the
+cursor is on, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> location to store root window X coordinate of pointer, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> location to store root window Y coordinate of pointer, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="mask">
+<parameter_description> location to store current modifier mask, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_event_send_client_message">
+<description>
+Sends an X ClientMessage event to a given window (which must be
+on the default #GdkDisplay.)
+This could be used for communicating between different applications,
+though the amount of data is limited to 20 bytes.
+
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> the #GdkEvent to send, which should be a #GdkEventClient.
+</parameter_description>
+</parameter>
+<parameter name="winid">
+<parameter_description> the window to send the X ClientMessage event to.
+</parameter_description>
+</parameter>
+</parameters>
+<return> non-zero on success.
+</return>
+</function>
+
+<function name="gdk_x11_display_set_cursor_theme">
+<description>
+Sets the cursor theme from which the images for cursor
+should be taken.
+
+If the windowing system supports it, existing cursors created
+with gdk_cursor_new(), gdk_cursor_new_for_display() and
+gdk_cursor_new_for_name() are updated to reflect the theme
+change. Custom cursors constructed with gdk_cursor_new_from_pixmap()
+or gdk_cursor_new_from_pixbuf() will have to be handled
+by the application (GTK+ applications can learn about
+cursor theme changes by listening for change notification
+for the corresponding #GtkSetting).
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="theme">
+<parameter_description> the name of the cursor theme to use, or %NULL to unset
+a previously set value
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the cursor size to use, or 0 to keep the previous size
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_hide">
+<description>
+For toplevel windows, withdraws them, so they will no longer be
+known to the window manager; for all windows, unmaps them, so
+they won&apos;t be displayed. Normally done automatically as
+part of gtk_widget_hide().
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_copy">
+<description>
+Creates a new #GdkPixbuf with a copy of the information in the specified
+@pixbuf.
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> A pixbuf.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly-created pixbuf with a reference count of 1, or %NULL if
+not enough memory could be allocated.
+</return>
+</function>
+
+<function name="gdk_drag_motion">
+<description>
+Updates the drag context when the pointer moves or the
+set of actions changes.
+
+This function is called by the drag source.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GdkDragContext.
+</parameter_description>
+</parameter>
+<parameter name="dest_window">
+<parameter_description> the new destination window, obtained by
+gdk_drag_find_window().
+</parameter_description>
+</parameter>
+<parameter name="protocol">
+<parameter_description> the DND protocol in use, obtained by gdk_drag_find_window().
+</parameter_description>
+</parameter>
+<parameter name="x_root">
+<parameter_description> the x position of the pointer in root coordinates.
+</parameter_description>
+</parameter>
+<parameter name="y_root">
+<parameter_description> the y position of the pointer in root coordinates.
+</parameter_description>
+</parameter>
+<parameter name="suggested_action">
+<parameter_description> the suggested action.
+</parameter_description>
+</parameter>
+<parameter name="possible_actions">
+<parameter_description> the possible actions.
+</parameter_description>
+</parameter>
+<parameter name="time_">
+<parameter_description> the timestamp for this operation.
+</parameter_description>
+</parameter>
+</parameters>
+<return> FIXME
+</return>
+</function>
+
+<function name="gdk_window_deiconify">
+<description>
+Attempt to deiconify (unminimize) @window. On X11 the window manager may
+choose to ignore the request to deiconify. When using GTK+,
+use gtk_window_deiconify() instead of the #GdkWindow variant. Or better yet,
+you probably want to use gtk_window_present(), which raises the window, focuses it,
+unminimizes it, and puts it on the current desktop.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_display_get_maximal_cursor_size">
+<description>
+Gets the maximal size to use for cursors on @display.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the return location for the maximal cursor width
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the return location for the maximal cursor height
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_display_add_client_message_filter">
+<description>
+Adds a filter to be called when X ClientMessage events are received.
+See gdk_window_add_filter() if you are interested in filtering other
+types of events.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay for which this message filter applies
+</parameter_description>
+</parameter>
+<parameter name="message_type">
+<parameter_description> the type of ClientMessage events to receive.
+This will be checked against the @message_type field
+of the XClientMessage event struct.
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> the function to call to process the event.
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> user data to pass to @func.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdkx_colormap_get">
+<description>
+Return value: the existing #GdkColormap object if it was
+
+</description>
+<parameters>
+<parameter name="xcolormap">
+<parameter_description> the XID of a colormap for the default screen.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the existing #GdkColormap object if it was
+already known to GTK+, otherwise warns and return
+%NULL.
+</return>
+</function>
+
+<function name="gdk_window_input_shape_combine_region">
+<description>
+Like gdk_window_shape_combine_region(), but the shape applies
+only to event handling. Mouse events which happen while
+the pointer position corresponds to an unset bit in the
+mask will be passed on the window below @window.
+
+An input shape is typically used with RGBA windows.
+The alpha channel of the window defines which pixels are
+invisible and allows for nicely antialiased borders,
+and the input shape controls where the window is
+&quot;clickable&quot;.
+
+On the X11 platform, this requires version 1.1 of the
+shape extension.
+
+On the Win32 platform, this functionality is not present and the
+function does nothing.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="shape_region">
+<parameter_description> region of window to be non-transparent
+</parameter_description>
+</parameter>
+<parameter name="offset_x">
+<parameter_description> X position of @shape_region in @window coordinates
+</parameter_description>
+</parameter>
+<parameter name="offset_y">
+<parameter_description> Y position of @shape_region in @window coordinates
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_set_title">
+<description>
+Sets the title of a toplevel window, to be displayed in the titlebar.
+If you haven&apos;t explicitly set the icon name for the window
+(using gdk_window_set_icon_name()), the icon name will be set to
+@title as well. @title must be in UTF-8 encoding (as with all
+user-readable strings in GDK/GTK+). @title may not be %NULL.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="title">
+<parameter_description> title of @window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_save_to_callback">
+<description>
+Saves pixbuf in format @type by feeding the produced data to a
+callback. Can be used when you want to store the image to something
+other than a file, such as an in-memory buffer or a socket.
+If @error is set, %FALSE will be returned. Possible errors
+include those in the #GDK_PIXBUF_ERROR domain and whatever the save
+function generates.
+
+See gdk_pixbuf_save() for more details.
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> a #GdkPixbuf.
+</parameter_description>
+</parameter>
+<parameter name="save_func">
+<parameter_description> a function that is called to save each block of data that
+the save routine generates.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data to pass to the save function.
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> name of file format.
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for error, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> list of key-value save options
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether an error was set
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gdk_colormap_get_screen">
+<description>
+Gets the screen for which this colormap was created.
+
+
+</description>
+<parameters>
+<parameter name="cmap">
+<parameter_description> a #GdkColormap
+</parameter_description>
+</parameter>
+</parameters>
+<return> the screen for which this colormap was created.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_display_get_event">
+<description>
+Gets the next #GdkEvent to be processed for @display, fetching events from the
+windowing system if necessary.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> the next #GdkEvent to be processed, or %NULL if no events
+are pending. The returned #GdkEvent should be freed with gdk_event_free().
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_window_get_frame_extents">
+<description>
+Obtains the bounding box of the window, including window manager
+titlebar/borders if any. The frame position is given in root window
+coordinates. To get the position of the window itself (rather than
+the frame) in root window coordinates, use gdk_window_get_origin().
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="rect">
+<parameter_description> rectangle to fill with bounding box of the window frame
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_gc_set_fill">
+<description>
+Set the fill mode for a graphics context.
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="fill">
+<parameter_description> the new fill mode.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_display_get_name">
+<description>
+Gets the name of the display.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> a string representing the display name. This string is owned
+by GDK and should not be modified or freed.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_rgb_get_visual">
+<description>
+Gets a &quot;preferred visual&quot; chosen by GdkRGB for rendering image data
+on the default screen. In previous versions of GDK, this was the
+only visual GdkRGB could use for rendering. In current versions,
+it&apos;s simply the visual GdkRGB would have chosen as the optimal one
+in those previous versions. GdkRGB can now render to drawables with
+any visual.
+
+
+</description>
+<parameters>
+</parameters>
+<return> The #GdkVisual chosen by GdkRGB.
+</return>
+</function>
+
+<function name="gdk_pixbuf_render_pixmap_and_mask_for_colormap">
+<description>
+Creates a pixmap and a mask bitmap which are returned in the @pixmap_return
+and @mask_return arguments, respectively, and renders a pixbuf and its
+corresponding tresholded alpha mask to them. This is merely a convenience
+function; applications that need to render pixbufs with dither offsets or to
+given drawables should use gdk_draw_pixbuf(), and gdk_pixbuf_render_threshold_alpha().
+
+The pixmap that is created uses the #GdkColormap specified by @colormap.
+This colormap must match the colormap of the window where the pixmap
+will eventually be used or an error will result.
+
+If the pixbuf does not have an alpha channel, then *@mask_return will be set
+to %NULL.
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> A pixbuf.
+</parameter_description>
+</parameter>
+<parameter name="colormap">
+<parameter_description> A #GdkColormap
+</parameter_description>
+</parameter>
+<parameter name="pixmap_return">
+<parameter_description> Location to store a pointer to the created pixmap,
+or %NULL if the pixmap is not needed.
+</parameter_description>
+</parameter>
+<parameter name="mask_return">
+<parameter_description> Location to store a pointer to the created mask,
+or %NULL if the mask is not needed.
+</parameter_description>
+</parameter>
+<parameter name="alpha_threshold">
+<parameter_description> Threshold value for opacity values.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_set_startup_id">
+<description>
+When using GTK+, typically you should use gtk_window_set_startup_id()
+instead of this low-level function.
+
+Since: 2.12
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="startup_id">
+<parameter_description> a string with startup-notification identifier
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gdk_win32_drawable_release_dc">
+<description>
+Releases the reference count for the DC
+from _gdk_win32_drawable_acquire_dc()
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a Win32 #GdkDrawable implementation
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_x11_get_xatom_by_name_for_display">
+<description>
+Return value: a X atom for a #GdkDisplay
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="atom_name">
+<parameter_description> a string
+</parameter_description>
+</parameter>
+</parameters>
+<return> a X atom for a #GdkDisplay
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_screen_get_system_visual">
+<description>
+Get the system&apos;s default visual for @screen.
+This is the visual for the root window of the display.
+The return value should not be freed.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the system visual
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_pixmap_foreign_new_for_display">
+<description>
+Wraps a native pixmap in a #GdkPixmap.
+This may fail if the pixmap has been destroyed.
+
+For example in the X backend, a native pixmap handle is an Xlib
+&amp;lt;type&amp;gt;XID&amp;lt;/type&amp;gt;.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> The #GdkDisplay where @anid is located.
+</parameter_description>
+</parameter>
+<parameter name="anid">
+<parameter_description> a native pixmap handle.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly-created #GdkPixmap wrapper for the
+native pixmap or %NULL if the pixmap has been destroyed.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_drawable_set_data">
+<description>
+This function is equivalent to g_object_set_data(),
+the #GObject variant should be used instead.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> name to store the data under
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> arbitrary data
+</parameter_description>
+</parameter>
+<parameter name="destroy_func">
+<parameter_description> function to free @data, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_x11_colormap_get_xcolormap">
+<description>
+Return value: an Xlib &amp;lt;type&amp;gt;Colormap&amp;lt;/type&amp;gt;.
+
+</description>
+<parameters>
+<parameter name="colormap">
+<parameter_description> a #GdkColormap.
+</parameter_description>
+</parameter>
+</parameters>
+<return> an Xlib &amp;lt;type&amp;gt;Colormap&amp;lt;/type&amp;gt;.
+</return>
+</function>
+
+<function name="gdk_pixbuf_render_pixmap_and_mask">
+<description>
+Creates a pixmap and a mask bitmap which are returned in the @pixmap_return
+and @mask_return arguments, respectively, and renders a pixbuf and its
+corresponding thresholded alpha mask to them. This is merely a convenience
+function; applications that need to render pixbufs with dither offsets or to
+given drawables should use gdk_draw_pixbuf() and gdk_pixbuf_render_threshold_alpha().
+
+The pixmap that is created is created for the colormap returned
+by gdk_rgb_get_colormap(). You normally will want to instead use
+the actual colormap for a widget, and use
+gdk_pixbuf_render_pixmap_and_mask_for_colormap().
+
+If the pixbuf does not have an alpha channel, then *@mask_return will be set
+to %NULL.
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> A pixbuf.
+</parameter_description>
+</parameter>
+<parameter name="pixmap_return">
+<parameter_description> Location to store a pointer to the created pixmap,
+or %NULL if the pixmap is not needed.
+</parameter_description>
+</parameter>
+<parameter name="mask_return">
+<parameter_description> Location to store a pointer to the created mask,
+or %NULL if the mask is not needed.
+</parameter_description>
+</parameter>
+<parameter name="alpha_threshold">
+<parameter_description> Threshold value for opacity values.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gdk_win32_drawable_finish">
+<description>
+Releases any resources allocated internally for the drawable.
+This is called when the drawable becomes unusable
+(gdk_window_destroy() for a window, or the refcount going to
+zero for a pixmap.)
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a Win32 #GdkDrawable implementation
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_display_supports_clipboard_persistence">
+<description>
+Returns: %TRUE if the display supports clipboard persistance.
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the display supports clipboard persistance.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gdk_window_is_visible">
+<description>
+Checks whether the window has been mapped (with gdk_window_show() or
+gdk_window_show_unraised()).
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the window is mapped
+</return>
+</function>
+
+<function name="gdk_color_white">
+<description>
+Return value: %TRUE if the allocation succeeded.
+
+</description>
+<parameters>
+<parameter name="colormap">
+<parameter_description> a #GdkColormap.
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> the location to store the color.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the allocation succeeded.
+</return>
+</function>
+
+<function name="gdk_pixbuf_composite_color">
+<description>
+Creates a transformation of the source image @src by scaling by
+@scale_x and @scale_y then translating by @offset_x and @offset_y,
+then composites the rectangle (@dest_x ,@dest_y, @dest_width,
+@dest_height) of the resulting image with a checkboard of the
+colors @color1 and @color2 and renders it onto the destination
+image.
+
+See gdk_pixbuf_composite_color_simple() for a simpler variant of this
+function suitable for many tasks.
+
+
+</description>
+<parameters>
+<parameter name="src">
+<parameter_description> a #GdkPixbuf
+</parameter_description>
+</parameter>
+<parameter name="dest">
+<parameter_description> the #GdkPixbuf into which to render the results
+</parameter_description>
+</parameter>
+<parameter name="dest_x">
+<parameter_description> the left coordinate for region to render
+</parameter_description>
+</parameter>
+<parameter name="dest_y">
+<parameter_description> the top coordinate for region to render
+</parameter_description>
+</parameter>
+<parameter name="dest_width">
+<parameter_description> the width of the region to render
+</parameter_description>
+</parameter>
+<parameter name="dest_height">
+<parameter_description> the height of the region to render
+</parameter_description>
+</parameter>
+<parameter name="offset_x">
+<parameter_description> the offset in the X direction (currently rounded to an integer)
+</parameter_description>
+</parameter>
+<parameter name="offset_y">
+<parameter_description> the offset in the Y direction (currently rounded to an integer)
+</parameter_description>
+</parameter>
+<parameter name="scale_x">
+<parameter_description> the scale factor in the X direction
+</parameter_description>
+</parameter>
+<parameter name="scale_y">
+<parameter_description> the scale factor in the Y direction
+</parameter_description>
+</parameter>
+<parameter name="interp_type">
+<parameter_description> the interpolation type for the transformation.
+</parameter_description>
+</parameter>
+<parameter name="overall_alpha">
+<parameter_description> overall alpha for source image (0..255)
+</parameter_description>
+</parameter>
+<parameter name="check_x">
+<parameter_description> the X offset for the checkboard (origin of checkboard is at -@check_x, -@check_y)
+</parameter_description>
+</parameter>
+<parameter name="check_y">
+<parameter_description> the Y offset for the checkboard
+</parameter_description>
+</parameter>
+<parameter name="check_size">
+<parameter_description> the size of checks in the checkboard (must be a power of two)
+</parameter_description>
+</parameter>
+<parameter name="color1">
+<parameter_description> the color of check at upper left
+</parameter_description>
+</parameter>
+<parameter name="color2">
+<parameter_description> the color of the other check
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_wcstombs">
+<description>
+Converts a wide character string to a multi-byte string.
+(The function name comes from an acronym of &apos;Wide Character String TO
+Multi-Byte String&apos;).
+
+
+</description>
+<parameters>
+<parameter name="src">
+<parameter_description> a wide character string.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the multi-byte string corresponding to @src, or %NULL if the
+conversion failed. The returned string should be freed with g_free() when no
+longer needed.
+</return>
+</function>
+
+<function name="gdk_display_get_default">
+<description>
+Gets the default #GdkDisplay. This is a convenience
+function for:
+&amp;lt;programlisting&amp;gt;
+gdk_display_manager_get_default_display (gdk_display_manager_get ())
+&amp;lt;/programlisting&amp;gt;
+
+
+</description>
+<parameters>
+</parameters>
+<return> a #GdkDisplay, or %NULL if there is no default
+display.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_text_height">
+<description>
+Determines the total height of a given string.
+This value is not generally useful, because you cannot
+determine how this total height will be drawn in
+relation to the baseline. See gdk_text_extents().
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #GdkFont
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the text to measure.
+</parameter_description>
+</parameter>
+<parameter name="text_length">
+<parameter_description> the length of the text in bytes.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the height of the string in pixels.
+</return>
+</function>
+
+<function name="gdk_window_set_child_input_shapes">
+<description>
+Sets the input shape mask of @window to the union of input shape masks
+for all children of @window, ignoring the input shape mask of @window
+itself. Contrast with gdk_window_merge_child_input_shapes() which includes
+the input shape mask of @window in the masks to be merged.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_keymap_get_direction">
+<description>
+
+</description>
+<parameters>
+<parameter name="keymap">
+<parameter_description> a #GdkKeymap or %NULL to use the default keymap
+</parameter_description>
+</parameter>
+</parameters>
+<return>the direction of effective layout of the keymap.
+
+@Returns: %PANGO_DIRECTION_LTR or %PANGO_DIRECTION_RTL if determines the
+direction. %PANGO_DIRECTION_NEUTRAL otherwise.
+</return>
+</function>
+
+<function name="gdk_display_set_double_click_time">
+<description>
+Sets the double click time (two clicks within this time interval
+count as a double click and result in a #GDK_2BUTTON_PRESS event).
+Applications should &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt; set this, it is a global
+user-configured setting.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="msec">
+<parameter_description> double click time in milliseconds (thousandths of a second)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_loader_new_with_mime_type">
+<description>
+Creates a new pixbuf loader object that always attempts to parse
+image data as if it were an image of mime type @mime_type, instead of
+identifying the type automatically. Useful if you want an error if
+the image isn&apos;t the expected mime type, for loading image formats
+that can&apos;t be reliably identified by looking at the data, or if
+the user manually forces a specific mime type.
+
+The list of supported mime types depends on what image loaders
+are installed, but typically &quot;image/png&quot;, &quot;image/jpeg&quot;, &quot;image/gif&quot;,
+&quot;image/tiff&quot; and &quot;image/x-xpixmap&quot; are among the supported mime types.
+To obtain the full list of supported mime types, call
+gdk_pixbuf_format_get_mime_types() on each of the #GdkPixbufFormat
+structs returned by gdk_pixbuf_get_formats().
+
+
+</description>
+<parameters>
+<parameter name="mime_type">
+<parameter_description> the mime type to be loaded
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for an allocated #GError, or %NULL to ignore errors
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly-created pixbuf loader.
+Since: 2.4
+</return>
+</function>
+
+<function name="gdk_pixbuf_flip">
+<description>
+Flips a pixbuf horizontally or vertically and returns the
+result in a new pixbuf.
+
+
+</description>
+<parameters>
+<parameter name="src">
+<parameter_description> a #GdkPixbuf
+</parameter_description>
+</parameter>
+<parameter name="horizontal">
+<parameter_description> %TRUE to flip horizontally, %FALSE to flip vertically
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GdkPixbuf, or %NULL if not enough memory could be
+allocated for it.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gdk_event_get_graphics_expose">
+<description>
+Waits for a GraphicsExpose or NoExpose event from the X server.
+This is used in the #GtkText and #GtkCList widgets in GTK+ to make sure any
+GraphicsExpose events are handled before the widget is scrolled.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> the #GdkWindow to wait for the events for.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GdkEventExpose if a GraphicsExpose was received, or %NULL if a
+NoExpose event was received.
+</return>
+</function>
+
+<function name="gdk_pixbuf_get_has_alpha">
+<description>
+Queries whether a pixbuf has an alpha channel (opacity information).
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> A pixbuf.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if it has an alpha channel, %FALSE otherwise.
+</return>
+</function>
+
+<function name="gdk_window_merge_child_input_shapes">
+<description>
+Merges the input shape masks for any child windows into the
+input shape mask for @window. i.e. the union of all input masks
+for @window and its children will become the new input mask
+for @window. See gdk_window_input_shape_combine_mask().
+
+This function is distinct from gdk_window_set_child_input_shapes()
+because it includes @window&apos;s input shape mask in the set of
+shapes to be merged.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_region_destroy">
+<description>
+Destroys a #GdkRegion.
+
+</description>
+<parameters>
+<parameter name="region">
+<parameter_description> a #GdkRegion
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gdk_drawable_ref_cairo_surface">
+<description>
+Obtains a #cairo_surface_t for the given drawable. If a
+#cairo_surface_t for the drawable already exists, it will be
+referenced, otherwise a new surface will be created.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly referenced #cairo_surface_t that points
+to @drawable. Unref with cairo_surface_destroy()
+</return>
+</function>
+
+<function name="gdk_event_copy">
+<description>
+Copies a #GdkEvent, copying or incrementing the reference count of the
+resources associated with it (e.g. #GdkWindow&apos;s and strings).
+
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a #GdkEvent
+</parameter_description>
+</parameter>
+</parameters>
+<return> a copy of @event. The returned #GdkEvent should be freed with
+gdk_event_free().
+</return>
+</function>
+
+<function name="gdk_text_measure">
+<description>
+Determines the distance from the origin to the rightmost
+portion of a string when drawn. This is not the
+correct value for determining the origin of the next
+portion when drawing text in multiple pieces.
+See gdk_text_width().
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #GdkFont
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the text to measure.
+</parameter_description>
+</parameter>
+<parameter name="text_length">
+<parameter_description> the length of the text in bytes.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the right bearing of the string in pixels.
+</return>
+</function>
+
+<function name="gdk_pixbuf_saturate_and_pixelate">
+<description>
+Modifies saturation and optionally pixelates @src, placing the result in
+@dest. @src and @dest may be the same pixbuf with no ill effects. If
+@saturation is 1.0 then saturation is not changed. If it&apos;s less than 1.0,
+saturation is reduced (the image turns toward grayscale); if greater than
+1.0, saturation is increased (the image gets more vivid colors). If @pixelate
+is %TRUE, then pixels are faded in a checkerboard pattern to create a
+pixelated image. @src and @dest must have the same image format, size, and
+rowstride.
+
+
+</description>
+<parameters>
+<parameter name="src">
+<parameter_description> source image
+</parameter_description>
+</parameter>
+<parameter name="dest">
+<parameter_description> place to write modified version of @src
+</parameter_description>
+</parameter>
+<parameter name="saturation">
+<parameter_description> saturation factor
+</parameter_description>
+</parameter>
+<parameter name="pixelate">
+<parameter_description> whether to pixelate
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_show_unraised">
+<description>
+Shows a #GdkWindow onscreen, but does not modify its stacking
+order. In contrast, gdk_window_show() will raise the window
+to the top of the window stack.
+
+On the X11 platform, in Xlib terms, this function calls
+XMapWindow() (it also updates some internal GDK state, which means
+that you can&apos;t really use XMapWindow() directly on a GDK window).
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_drawable_get_clip_region">
+<description>
+Computes the region of a drawable that potentially can be written
+to by drawing primitives. This region will not take into account
+the clip region for the GC, and may also not take into account
+other factors such as if the window is obscured by other windows,
+but no area outside of this region will be affected by drawing
+primitives.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GdkRegion. This must be freed with gdk_region_destroy()
+when you are done.
+</return>
+</function>
+
+<function name="gdk_screen_get_monitor_at_window">
+<description>
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen.
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> the monitor number in which most of @window is located,
+or if @window does not intersect any monitors, a monitor,
+close to @window.
+the number of the monitor in which the largest area of the
+bounding rectangle of @window resides.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_gc_set_colormap">
+<description>
+Sets the colormap for the GC to the given colormap. The depth
+of the colormap&apos;s visual must match the depth of the drawable
+for which the GC was created.
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC
+</parameter_description>
+</parameter>
+<parameter name="colormap">
+<parameter_description> a #GdkColormap
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_cursor_new_from_pixmap">
+<description>
+Creates a new cursor from a given pixmap and mask. Both the pixmap and mask
+must have a depth of 1 (i.e. each pixel has only 2 values - on or off).
+The standard cursor size is 16 by 16 pixels. You can create a bitmap
+from inline data as in the below example.
+
+&amp;lt;example&amp;gt;&amp;lt;title&amp;gt;Creating a custom cursor&amp;lt;/title&amp;gt;
+&amp;lt;programlisting&amp;gt;
+/&amp;lt;!-- --&amp;gt;* This data is in X bitmap format, and can be created with the &apos;bitmap&apos;
+utility. *&amp;lt;!-- --&amp;gt;/
+&amp;num;define cursor1_width 16
+&amp;num;define cursor1_height 16
+static unsigned char cursor1_bits[] = {
+0x80, 0x01, 0x40, 0x02, 0x20, 0x04, 0x10, 0x08, 0x08, 0x10, 0x04, 0x20,
+0x82, 0x41, 0x41, 0x82, 0x41, 0x82, 0x82, 0x41, 0x04, 0x20, 0x08, 0x10,
+0x10, 0x08, 0x20, 0x04, 0x40, 0x02, 0x80, 0x01};
+
+static unsigned char cursor1mask_bits[] = {
+0x80, 0x01, 0xc0, 0x03, 0x60, 0x06, 0x30, 0x0c, 0x18, 0x18, 0x8c, 0x31,
+0xc6, 0x63, 0x63, 0xc6, 0x63, 0xc6, 0xc6, 0x63, 0x8c, 0x31, 0x18, 0x18,
+0x30, 0x0c, 0x60, 0x06, 0xc0, 0x03, 0x80, 0x01};
+
+
+GdkCursor *cursor;
+GdkPixmap *source, *mask;
+GdkColor fg = { 0, 65535, 0, 0 }; /&amp;lt;!-- --&amp;gt;* Red. *&amp;lt;!-- --&amp;gt;/
+GdkColor bg = { 0, 0, 0, 65535 }; /&amp;lt;!-- --&amp;gt;* Blue. *&amp;lt;!-- --&amp;gt;/
+
+
+source = gdk_bitmap_create_from_data (NULL, cursor1_bits,
+cursor1_width, cursor1_height);
+mask = gdk_bitmap_create_from_data (NULL, cursor1mask_bits,
+cursor1_width, cursor1_height);
+cursor = gdk_cursor_new_from_pixmap (source, mask, &amp;amp;fg, &amp;amp;bg, 8, 8);
+gdk_pixmap_unref (source);
+gdk_pixmap_unref (mask);
+
+
+gdk_window_set_cursor (widget-&amp;gt;window, cursor);
+&amp;lt;/programlisting&amp;gt;
+&amp;lt;/example&amp;gt;
+
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> the pixmap specifying the cursor.
+</parameter_description>
+</parameter>
+<parameter name="mask">
+<parameter_description> the pixmap specifying the mask, which must be the same size as
+@source.
+</parameter_description>
+</parameter>
+<parameter name="fg">
+<parameter_description> the foreground color, used for the bits in the source which are 1.
+The color does not have to be allocated first.
+</parameter_description>
+</parameter>
+<parameter name="bg">
+<parameter_description> the background color, used for the bits in the source which are 0.
+The color does not have to be allocated first.
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the horizontal offset of the &apos;hotspot&apos; of the cursor.
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the vertical offset of the &apos;hotspot&apos; of the cursor.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GdkCursor.
+</return>
+</function>
+
+<function name="gdk_display_manager_get">
+<description>
+
+</description>
+<parameters>
+</parameters>
+<return> the singleton #GdkDisplayManager object.
+the global #GdkDisplayManager singleton; gdk_parse_pargs(),
+gdk_init(), or gdk_init_check() must have been called first.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_gc_set_function">
+<description>
+Determines how the current pixel values and the
+pixel values being drawn are combined to produce
+the final pixel values.
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="function">
+<parameter_description> the #GdkFunction to use
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_get_deskrelative_origin">
+<description>
+This gets the origin of a #GdkWindow relative to
+an Enlightenment-window-manager desktop. As long as you don&apos;t
+assume that the user&apos;s desktop/workspace covers the entire
+root window (i.e. you don&apos;t assume that the desktop begins
+at root window coordinate 0,0) this function is not necessary.
+It&apos;s deprecated for that reason.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> return location for X coordinate
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> return location for Y coordinate
+</parameter_description>
+</parameter>
+</parameters>
+<return> not meaningful
+</return>
+</function>
+
+<function name="gdk_drop_reply">
+<description>
+Accepts or rejects a drop.
+
+This function is called by the drag destination in response
+to a drop initiated by the drag source.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GdkDragContext.
+</parameter_description>
+</parameter>
+<parameter name="ok">
+<parameter_description> %TRUE if the drop is accepted.
+</parameter_description>
+</parameter>
+<parameter name="time_">
+<parameter_description> the timestamp for this operation.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_set_option">
+<description>
+Attaches a key/value pair as an option to a #GdkPixbuf. If %key already
+exists in the list of options attached to @pixbuf, the new value is
+ignored and %FALSE is returned.
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> a #GdkPixbuf
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a nul-terminated string.
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> a nul-terminated string.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE on success.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_window_set_geometry_hints">
+<description>
+Sets the geometry hints for @window. Hints flagged in @geom_mask
+are set, hints not flagged in @geom_mask are unset.
+To unset all hints, use a @geom_mask of 0 and a @geometry of %NULL.
+
+This function provides hints to the windowing system about
+acceptable sizes for a toplevel window. The purpose of
+this is to constrain user resizing, but the windowing system
+will typically (but is not required to) also constrain the
+current size of the window to the provided values and
+constrain programatic resizing via gdk_window_resize() or
+gdk_window_move_resize().
+
+Note that on X11, this effect has no effect on windows
+of type %GDK_WINDOW_TEMP or windows where override redirect
+has been turned on via gdk_window_set_override_redirect()
+since these windows are not resizable by the user.
+
+Since you can&apos;t count on the windowing system doing the
+constraints for programmatic resizes, you should generally
+call gdk_window_constrain_size() yourself to determine
+appropriate sizes.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="geometry">
+<parameter_description> geometry hints
+</parameter_description>
+</parameter>
+<parameter name="geom_mask">
+<parameter_description> bitmask indicating fields of @geometry to pay attention to
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_screen_set_resolution">
+<description>
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+<parameter name="dpi">
+<parameter_description> the resolution in &quot;dots per inch&quot;. (Physical inches aren&apos;t actually
+involved; the terminology is conventional.)
+
+Sets the resolution for font handling on the screen. This is a
+scale factor between points specified in a #PangoFontDescription
+and cairo units. The default value is 96, meaning that a 10 point
+font will be 13 units high. (10 * 96. / 72. = 13.3).
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_set_functions">
+<description>
+Sets hints about the window management functions to make available
+via buttons on the window frame.
+
+On the X backend, this function sets the traditional Motif window
+manager hint for this purpose. However, few window managers do
+anything reliable or interesting with this hint. Many ignore it
+entirely.
+
+The @functions argument is the logical OR of values from the
+#GdkWMFunction enumeration. If the bitmask includes #GDK_FUNC_ALL,
+then the other bits indicate which functions to disable; if
+it doesn&apos;t include #GDK_FUNC_ALL, it indicates which functions to
+enable.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="functions">
+<parameter_description> bitmask of operations to allow on @window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GdkDisplayManager">
+<description>
+The ::display_opened signal is emitted when a display is opened.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="display_manager">
+<parameter_description> the object on which the signal is emitted
+</parameter_description>
+</parameter>
+<parameter name="display">
+<parameter_description> the opened display
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_keyval_to_unicode">
+<description>
+Convert from a GDK key symbol to the corresponding ISO10646 (Unicode)
+character.
+
+
+</description>
+<parameters>
+<parameter name="keyval">
+<parameter_description> a GDK key symbol
+</parameter_description>
+</parameter>
+</parameters>
+<return> the corresponding unicode character, or 0 if there
+is no corresponding character.
+</return>
+</function>
+
+<function name="gdk_event_handler_set">
+<description>
+Sets the function to call to handle all events from GDK.
+
+Note that GTK+ uses this to install its own event handler, so it is
+usually not useful for GTK+ applications. (Although an application
+can call this function then call gtk_main_do_event() to pass
+events to GTK+.)
+
+</description>
+<parameters>
+<parameter name="func">
+<parameter_description> the function to call to handle events from GDK.
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> user data to pass to the function.
+</parameter_description>
+</parameter>
+<parameter name="notify">
+<parameter_description> the function to call when the handler function is removed, i.e. when
+gdk_event_handler_set() is called with another event handler.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_shape_combine_region">
+<description>
+Makes pixels in @window outside @shape_region be transparent,
+so that the window may be nonrectangular. See also
+gdk_window_shape_combine_mask() to use a bitmap as the mask.
+
+If @shape_region is %NULL, the shape will be unset, so the whole
+window will be opaque again. @offset_x and @offset_y are ignored
+if @shape_region is %NULL.
+
+On the X11 platform, this uses an X server extension which is
+widely available on most common platforms, but not available on
+very old X servers, and occasionally the implementation will be
+buggy. On servers without the shape extension, this function
+will do nothing.
+
+On the Win32 platform, this functionality is always present.
+
+This function works on both toplevel and child windows.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="shape_region">
+<parameter_description> region of window to be non-transparent
+</parameter_description>
+</parameter>
+<parameter name="offset_x">
+<parameter_description> X position of @shape_region in @window coordinates
+</parameter_description>
+</parameter>
+<parameter name="offset_y">
+<parameter_description> Y position of @shape_region in @window coordinates
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_lookup_for_display">
+<description>
+Looks up the #GdkWindow that wraps the given native window handle.
+
+For example in the X backend, a native window handle is an Xlib
+&amp;lt;type&amp;gt;XID&amp;lt;/type&amp;gt;.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the #GdkDisplay corresponding to the window handle
+</parameter_description>
+</parameter>
+<parameter name="anid">
+<parameter_description> a native window handle.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkWindow wrapper for the native window,
+or %NULL if there is none.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_pixbuf_new">
+<description>
+Creates a new #GdkPixbuf structure and allocates a buffer for it. The
+buffer has an optimal rowstride. Note that the buffer is not cleared;
+you will have to fill it completely yourself.
+
+
+</description>
+<parameters>
+<parameter name="colorspace">
+<parameter_description> Color space for image
+</parameter_description>
+</parameter>
+<parameter name="has_alpha">
+<parameter_description> Whether the image should have transparency information
+</parameter_description>
+</parameter>
+<parameter name="bits_per_sample">
+<parameter_description> Number of bits per color sample
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> Width of image in pixels, must be &amp;gt; 0
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> Height of image in pixels, must be &amp;gt; 0
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly-created #GdkPixbuf with a reference count of 1, or
+%NULL if not enough memory could be allocated for the image buffer.
+</return>
+</function>
+
+<function name="gdk_pixbuf_animation_iter_advance">
+<description>
+Possibly advances an animation to a new frame. Chooses the frame based
+on the start time passed to gdk_pixbuf_animation_get_iter().
+
+@current_time would normally come from g_get_current_time(), and
+must be greater than or equal to the time passed to
+gdk_pixbuf_animation_get_iter(), and must increase or remain
+unchanged each time gdk_pixbuf_animation_iter_get_pixbuf() is
+called. That is, you can&apos;t go backward in time; animations only
+play forward.
+
+As a shortcut, pass %NULL for the current time and g_get_current_time()
+will be invoked on your behalf. So you only need to explicitly pass
+@current_time if you&apos;re doing something odd like playing the animation
+at double speed.
+
+If this function returns %FALSE, there&apos;s no need to update the animation
+display, assuming the display had been rendered prior to advancing;
+if %TRUE, you need to call gdk_animation_iter_get_pixbuf() and update the
+display with the new pixbuf.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GdkPixbufAnimationIter
+</parameter_description>
+</parameter>
+<parameter name="current_time">
+<parameter_description> current time
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the image may need updating
+
+</return>
+</function>
+
+<function name="gdk_pango_renderer_new">
+<description>
+Creates a new #PangoRenderer for @screen. Normally you can use the
+results of gdk_pango_renderer_get_default() rather than creating a new
+renderer.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly created #PangoRenderer. Free with g_object_unref().
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gdk_x11_display_get_startup_notification_id">
+<description>
+Gets the startup notification ID for a display.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> the startup notification ID for @display
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gdk_screen_get_rgba_colormap">
+<description>
+Gets a colormap to use for creating windows or pixmaps with an
+alpha channel. The windowing system on which GTK+ is running
+may not support this capability, in which case %NULL will
+be returned. Even if a non-%NULL value is returned, its
+possible that the window&apos;s alpha channel won&apos;t be honored
+when displaying the window on the screen: in particular, for
+X an appropriate windowing manager and compositing manager
+must be running to provide appropriate display.
+
+This functionality is not implemented in the Windows backend.
+
+For setting an overall opacity for a top-level window, see
+gdk_window_set_opacity().
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a colormap to use for windows with an alpha channel
+or %NULL if the capability is not available.
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gdk_device_get_core_pointer">
+<description>
+Return value: the core pointer device; this is owned by the
+
+</description>
+<parameters>
+</parameters>
+<return> the core pointer device; this is owned by the
+display and should not be freed.
+</return>
+</function>
+
+<function name="gdk_atom_intern_static_string">
+<description>
+Finds or creates an atom corresponding to a given string.
+
+Note that this function is identical to gdk_atom_intern() except
+that if a new #GdkAtom is created the string itself is used rather
+than a copy. This saves memory, but can only be used if the string
+will &amp;lt;emphasis&amp;gt;always&amp;lt;/emphasis&amp;gt; exist. It can be used with statically
+allocated strings in the main program, but not with statically
+allocated memory in dynamically loaded modules, if you expect to
+ever unload the module again (e.g. do not use this function in
+GTK+ theme engines).
+
+
+</description>
+<parameters>
+<parameter name="atom_name">
+<parameter_description> a static string
+</parameter_description>
+</parameter>
+</parameters>
+<return> the atom corresponding to @atom_name
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gdk_selection_owner_get_for_display">
+<description>
+Determine the owner of the given selection.
+
+Note that the return value may be owned by a different
+process if a foreign window was previously created for that
+window, but a new foreign window will never be created by this call.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay.
+</parameter_description>
+</parameter>
+<parameter name="selection">
+<parameter_description> an atom indentifying a selection.
+</parameter_description>
+</parameter>
+</parameters>
+<return> if there is a selection owner for this window, and it is a
+window known to the current process, the #GdkWindow that owns the
+selection, otherwise %NULL.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_pixbuf_get_n_channels">
+<description>
+Queries the number of channels of a pixbuf.
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> A pixbuf.
+</parameter_description>
+</parameter>
+</parameters>
+<return> Number of channels.
+</return>
+</function>
+
+<function name="gdk_device_get_history">
+<description>
+Obtains the motion history for a device; given a starting and
+ending timestamp, return all events in the motion history for
+the device in the given range of time. Some windowing systems
+do not support motion history, in which case, %FALSE will
+be returned. (This is not distinguishable from the case where
+motion history is supported and no events were found.)
+
+
+</description>
+<parameters>
+<parameter name="device">
+<parameter_description> a #GdkDevice
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> the window with respect to which which the event coordinates will be reported
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> starting timestamp for range of events to return
+</parameter_description>
+</parameter>
+<parameter name="stop">
+<parameter_description> ending timestamp for the range of events to return
+</parameter_description>
+</parameter>
+<parameter name="events">
+<parameter_description> location to store a newly-allocated array of #GdkTimeCoord, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="n_events">
+<parameter_description> location to store the length of @events, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the windowing system supports motion history and
+at least one event was found.
+</return>
+</function>
+
+<function name="gdk_gc_set_ts_origin">
+<description>
+Set the origin when using tiles or stipples with
+the GC. The tile or stipple will be aligned such
+that the upper left corner of the tile or stipple
+will coincide with this point.
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x-coordinate of the origin.
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y-coordinate of the origin.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_iconify">
+<description>
+Asks to iconify (minimize) @window. The window manager may choose
+to ignore the request, but normally will honor it. Using
+gtk_window_iconify() is preferred, if you have a #GtkWindow widget.
+
+This function only makes sense when @window is a toplevel window.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_set_decorations">
+<description>
+&quot;Decorations&quot; are the features the window manager adds to a toplevel #GdkWindow.
+This function sets the traditional Motif window manager hints that tell the
+window manager which decorations you would like your window to have.
+Usually you should use gtk_window_set_decorated() on a #GtkWindow instead of
+using the GDK function directly.
+
+The @decorations argument is the logical OR of the fields in
+the #GdkWMDecoration enumeration. If #GDK_DECOR_ALL is included in the
+mask, the other bits indicate which decorations should be turned off.
+If #GDK_DECOR_ALL is not included, then the other bits indicate
+which decorations should be turned on.
+
+Most window managers honor a decorations hint of 0 to disable all decorations,
+but very few honor all possible combinations of bits.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="decorations">
+<parameter_description> decoration hint mask
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_draw_string">
+<description>
+Draws a string of characters in the given font or fontset.
+
+Deprecated: Use gdk_draw_layout() instead.
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> a #GdkFont.
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x coordinate of the left edge of the text.
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y coordinate of the baseline of the text.
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> the string of characters to draw.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_threads_add_idle">
+<description>
+A wrapper for the common usage of gdk_threads_add_idle_full()
+assigning the default priority, #G_PRIORITY_DEFAULT_IDLE.
+
+See gdk_threads_add_idle_full().
+
+
+</description>
+<parameters>
+<parameter name="function">
+<parameter_description> function to call
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to pass to @function
+</parameter_description>
+</parameter>
+</parameters>
+<return> the ID (greater than 0) of the event source.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gdk_window_set_override_redirect">
+<description>
+An override redirect window is not under the control of the window manager.
+This means it won&apos;t have a titlebar, won&apos;t be minimizable, etc. - it will
+be entirely under the control of the application. The window manager
+can&apos;t see the override redirect window at all.
+
+Override redirect should only be used for short-lived temporary
+windows, such as popup menus. #GtkMenu uses an override redirect
+window in its implementation, for example.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="override_redirect">
+<parameter_description> %TRUE if window should be override redirect
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_get_rowstride">
+<description>
+Queries the rowstride of a pixbuf, which is the number of bytes between the start of a row
+and the start of the next row.
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> A pixbuf.
+</parameter_description>
+</parameter>
+</parameters>
+<return> Distance between row starts.
+</return>
+</function>
+
+<function name="_gdk_win32_drawable_acquire_dc">
+<description>
+Gets a DC with the given drawable selected into
+it.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a Win32 #GdkDrawable implementation
+</parameter_description>
+</parameter>
+</parameters>
+<return> The DC, on success. Otherwise
+%NULL. If this function succeeded
+_gdk_win32_drawable_release_dc() must be called
+release the DC when you are done using it.
+</return>
+</function>
+
+<function name="gdk_display_manager_set_default_display">
+<description>
+Sets @display as the default display.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="display_manager">
+<parameter_description> a #GdkDisplayManager
+</parameter_description>
+</parameter>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_add_option_entries_libgtk_only">
+<description>
+Appends gdk option entries to the passed in option group. This is
+not public API and must not be used by applications.
+
+</description>
+<parameters>
+<parameter name="group">
+<parameter_description> An option group.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_colors_alloc">
+<description>
+Allocates colors from a colormap. This function
+is obsolete. See gdk_colormap_alloc_colors().
+For full documentation of the fields, see
+the Xlib documentation for &amp;lt;function&amp;gt;XAllocColorCells()&amp;lt;/function&amp;gt;.
+
+
+</description>
+<parameters>
+<parameter name="colormap">
+<parameter_description> a #GdkColormap.
+</parameter_description>
+</parameter>
+<parameter name="contiguous">
+<parameter_description> if %TRUE, the colors should be allocated
+in contiguous color cells.
+</parameter_description>
+</parameter>
+<parameter name="planes">
+<parameter_description> an array in which to store the plane masks.
+</parameter_description>
+</parameter>
+<parameter name="nplanes">
+<parameter_description> the number of planes to allocate. (Or zero,
+to indicate that the color allocation should not be planar.)
+</parameter_description>
+</parameter>
+<parameter name="pixels">
+<parameter_description> an array into which to store allocated pixel values.
+</parameter_description>
+</parameter>
+<parameter name="npixels">
+<parameter_description> the number of pixels in each plane to allocate.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the allocation was successful
+</return>
+</function>
+
+<function name="GdkDisplay">
+<description>
+The ::closed signal is emitted when the connection to the windowing
+system for @display is closed.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the object on which the signal is emitted
+</parameter_description>
+</parameter>
+<parameter name="is_error">
+<parameter_description> %TRUE if the display was closed due to an error
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_foreign_new">
+<description>
+Wraps a native window for the default display in a #GdkWindow.
+This may fail if the window has been destroyed.
+
+For example in the X backend, a native window handle is an Xlib
+&amp;lt;type&amp;gt;XID&amp;lt;/type&amp;gt;.
+
+
+</description>
+<parameters>
+<parameter name="anid">
+<parameter_description> a native window handle.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly-created #GdkWindow wrapper for the
+native window or %NULL if the window has been destroyed.
+</return>
+</function>
+
+<function name="gdk_win32_hdc_get">
+<description>
+Allocates a Windows device context handle (HDC) for drawing into
+@drawable, and sets it up appropriately according to @usage.
+
+Each #GdkGC can at one time have only one HDC associated with it.
+
+The following flags in @mask are handled:
+
+If %GDK_GC_FOREGROUND is set in @mask, a solid brush of the
+foreground color in @gc is selected into the HDC. The text color of
+the HDC is also set. If the @drawable has a palette (256-color
+mode), the palette is selected and realized.
+
+If any of the line attribute flags (%GDK_GC_LINE_WIDTH,
+%GDK_GC_LINE_STYLE, %GDK_GC_CAP_STYLE and %GDK_GC_JOIN_STYLE) is
+set in @mask, a solid pen of the foreground color and appropriate
+width and stule is created and selected into the HDC. Note that the
+dash properties are not completely implemented.
+
+If the %GDK_GC_FONT flag is set, the background mix mode is set to
+%TRANSPARENT. and the text alignment is set to
+%TA_BASELINE|%TA_LEFT. Note that no font gets selected into the HDC
+by this function.
+
+Some things are done regardless of @mask: If the function in @gc is
+any other than %GDK_COPY, the raster operation of the HDC is
+set. If @gc has a clip mask, the clip region of the HDC is set.
+
+Note that the fill style, tile, stipple, and tile and stipple
+origins in the @gc are ignored by this function. (In general, tiles
+and stipples can&apos;t be implemented directly on Win32; you need to do
+multiple pass drawing and blitting to implement tiles or
+stipples. GDK does just that when you call the GDK drawing
+functions with a GC that asks for tiles or stipples.)
+
+When the HDC is no longer used, it should be released by calling
+&amp;lt;function&amp;gt;gdk_win32_hdc_release()&amp;lt;/function&amp;gt; with the same
+parameters.
+
+If you modify the HDC by calling &amp;lt;function&amp;gt;SelectObject&amp;lt;/function&amp;gt;
+you should undo those modifications before calling
+&amp;lt;function&amp;gt;gdk_win32_hdc_release()&amp;lt;/function&amp;gt;.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> destination #GdkDrawable
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> #GdkGC to use for drawing on @drawable
+</parameter_description>
+</parameter>
+<parameter name="usage">
+<parameter_description> mask indicating what properties needs to be set up
+</parameter_description>
+</parameter>
+</parameters>
+<return> The HDC.
+</return>
+</function>
+
+<function name="gdk_x11_get_xatom_by_name">
+<description>
+Return value: a X atom for GDK&apos;s default display.
+
+</description>
+<parameters>
+<parameter name="atom_name">
+<parameter_description> a string
+</parameter_description>
+</parameter>
+</parameters>
+<return> a X atom for GDK&apos;s default display.
+</return>
+</function>
+
+<function name="gdk_window_clear">
+<description>
+Clears an entire @window to the background color or background pixmap.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_loader_write">
+<description>
+This will cause a pixbuf loader to parse the next @count bytes of
+an image. It will return %TRUE if the data was loaded successfully,
+and %FALSE if an error occurred. In the latter case, the loader
+will be closed, and will not accept further writes. If %FALSE is
+returned, @error will be set to an error from the #GDK_PIXBUF_ERROR
+or #G_FILE_ERROR domains.
+
+
+</description>
+<parameters>
+<parameter name="loader">
+<parameter_description> A pixbuf loader.
+</parameter_description>
+</parameter>
+<parameter name="buf">
+<parameter_description> Pointer to image data.
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> Length of the @buf buffer in bytes.
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for errors
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the write was successful, or %FALSE if the loader
+cannot parse the buffer.
+</return>
+</function>
+
+<function name="gdk_cairo_create">
+<description>
+Creates a Cairo context for drawing to @drawable.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly created Cairo context. Free with
+cairo_destroy() when you are done drawing.
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gdk_window_set_icon_name">
+<description>
+Windows may have a name used while minimized, distinct from the
+name they display in their titlebar. Most of the time this is a bad
+idea from a user interface standpoint. But you can set such a name
+with this function, if you like.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> name of window while iconified (minimized)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_event_peek">
+<description>
+If there is an event waiting in the event queue of some open
+display, returns a copy of it. See gdk_display_peek_event().
+
+
+</description>
+<parameters>
+</parameters>
+<return> a copy of the first #GdkEvent on some event queue, or %NULL if no
+events are in any queues. The returned #GdkEvent should be freed with
+gdk_event_free().
+</return>
+</function>
+
+<function name="gdk_pixbuf_composite_color_simple">
+<description>
+Creates a new #GdkPixbuf by scaling @src to @dest_width x
+@dest_height and compositing the result with a checkboard of colors
+@color1 and @color2.
+
+
+</description>
+<parameters>
+<parameter name="src">
+<parameter_description> a #GdkPixbuf
+</parameter_description>
+</parameter>
+<parameter name="dest_width">
+<parameter_description> the width of destination image
+</parameter_description>
+</parameter>
+<parameter name="dest_height">
+<parameter_description> the height of destination image
+</parameter_description>
+</parameter>
+<parameter name="interp_type">
+<parameter_description> the interpolation type for the transformation.
+</parameter_description>
+</parameter>
+<parameter name="overall_alpha">
+<parameter_description> overall alpha for source image (0..255)
+</parameter_description>
+</parameter>
+<parameter name="check_size">
+<parameter_description> the size of checks in the checkboard (must be a power of two)
+</parameter_description>
+</parameter>
+<parameter name="color1">
+<parameter_description> the color of check at upper left
+</parameter_description>
+</parameter>
+<parameter name="color2">
+<parameter_description> the color of the other check
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GdkPixbuf, or %NULL if not enough memory could be
+allocated for it.
+</return>
+</function>
+
+<function name="gdk_gc_copy">
+<description>
+Copy the set of values from one graphics context
+onto another graphics context.
+
+</description>
+<parameters>
+<parameter name="dst_gc">
+<parameter_description> the destination graphics context.
+</parameter_description>
+</parameter>
+<parameter name="src_gc">
+<parameter_description> the source graphics context.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_rgb_get_colormap">
+<description>
+Get the preferred colormap for rendering image data. Not a
+very useful function; historically, GDK could only render RGB image
+data to one colormap and visual, but in the current version it can
+render to any colormap and visual. So there&apos;s no need to call this
+function.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the preferred colormap
+</return>
+</function>
+
+<function name="gdk_colormap_get_visual">
+<description>
+Return value: the visual of the colormap.
+
+</description>
+<parameters>
+<parameter name="colormap">
+<parameter_description> a #GdkColormap.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the visual of the colormap.
+</return>
+</function>
+
+<function name="gdk_window_is_viewable">
+<description>
+Check if the window and all ancestors of the window are
+mapped. (This is not necessarily &quot;viewable&quot; in the X sense, since
+we only check as far as we have GDK window parents, not to the root
+window.)
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the window is viewable
+</return>
+</function>
+
+<function name="gdk_screen_get_height_mm">
+<description>
+Returns: the heigth of @screen in millimeters.
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return> the heigth of @screen in millimeters.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_x11_gc_get_xdisplay">
+<description>
+Return value: an Xlib &amp;lt;type&amp;gt;Display*&amp;lt;/type&amp;gt;.
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+</parameters>
+<return> an Xlib &amp;lt;type&amp;gt;Display*&amp;lt;/type&amp;gt;.
+</return>
+</function>
+
+<function name="gdk_pixbuf_composite">
+<description>
+Creates a transformation of the source image @src by scaling by
+@scale_x and @scale_y then translating by @offset_x and @offset_y.
+This gives an image in the coordinates of the destination pixbuf.
+The rectangle (@dest_x, @dest_y, @dest_width, @dest_height)
+is then composited onto the corresponding rectangle of the
+original destination image.
+
+When the destination rectangle contains parts not in the source
+image, the data at the edges of the source image is replicated
+to infinity.
+
+&amp;lt;figure id=&quot;pixbuf-composite-diagram&quot;&amp;gt;
+&amp;lt;title&amp;gt;Compositing of pixbufs&amp;lt;/title&amp;gt;
+&amp;lt;graphic fileref=&quot;composite.png&quot; format=&quot;PNG&quot;/&amp;gt;
+&amp;lt;/figure&amp;gt;
+
+</description>
+<parameters>
+<parameter name="src">
+<parameter_description> a #GdkPixbuf
+</parameter_description>
+</parameter>
+<parameter name="dest">
+<parameter_description> the #GdkPixbuf into which to render the results
+</parameter_description>
+</parameter>
+<parameter name="dest_x">
+<parameter_description> the left coordinate for region to render
+</parameter_description>
+</parameter>
+<parameter name="dest_y">
+<parameter_description> the top coordinate for region to render
+</parameter_description>
+</parameter>
+<parameter name="dest_width">
+<parameter_description> the width of the region to render
+</parameter_description>
+</parameter>
+<parameter name="dest_height">
+<parameter_description> the height of the region to render
+</parameter_description>
+</parameter>
+<parameter name="offset_x">
+<parameter_description> the offset in the X direction (currently rounded to an integer)
+</parameter_description>
+</parameter>
+<parameter name="offset_y">
+<parameter_description> the offset in the Y direction (currently rounded to an integer)
+</parameter_description>
+</parameter>
+<parameter name="scale_x">
+<parameter_description> the scale factor in the X direction
+</parameter_description>
+</parameter>
+<parameter name="scale_y">
+<parameter_description> the scale factor in the Y direction
+</parameter_description>
+</parameter>
+<parameter name="interp_type">
+<parameter_description> the interpolation type for the transformation.
+</parameter_description>
+</parameter>
+<parameter name="overall_alpha">
+<parameter_description> overall alpha for source image (0..255)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_gc_new">
+<description>
+Create a new graphics context with default values.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable. The created GC must always be used
+with drawables of the same depth as this one.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new graphics context.
+</return>
+</function>
+
+<function name="gdk_display_flush">
+<description>
+Flushes any requests queued for the windowing system; this happens automatically
+when the main loop blocks waiting for new events, but if your application
+is drawing without returning control to the main loop, you may need
+to call this function explicitely. A common case where this function
+needs to be called is when an application is executing drawing commands
+from a thread other than the thread where the main loop is running.
+
+This is most useful for X11. On windowing systems where requests are
+handled synchronously, this function will do nothing.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_format_is_scalable">
+<description>
+Return value: whether this image format is scalable.
+
+</description>
+<parameters>
+<parameter name="format">
+<parameter_description> a #GdkPixbufFormat
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether this image format is scalable.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gdk_pango_layout_line_get_clip_region">
+<description>
+Obtains a clip region which contains the areas where the given
+ranges of text would be drawn. @x_origin and @y_origin are the same
+position you would pass to gdk_draw_layout_line(). @index_ranges
+should contain ranges of bytes in the layout&apos;s text. The clip
+region will include space to the left or right of the line (to the
+layout bounding box) if you have indexes above or below the indexes
+contained inside the line. This is to draw the selection all the way
+to the side of the layout. However, the clip region is in line coordinates,
+not layout coordinates.
+
+Note that the regions returned correspond to logical extents of the text
+ranges, not ink extents. So the drawn line may in fact touch areas out of
+the clip region. The clip region is mainly useful for highlightling parts
+of text, such as when text is selected.
+
+
+</description>
+<parameters>
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine
+</parameter_description>
+</parameter>
+<parameter name="x_origin">
+<parameter_description> X pixel where you intend to draw the layout line with this clip
+</parameter_description>
+</parameter>
+<parameter name="y_origin">
+<parameter_description> baseline pixel where you intend to draw the layout line with this clip
+</parameter_description>
+</parameter>
+<parameter name="index_ranges">
+<parameter_description> array of byte indexes into the layout, where even members of array are start indexes and odd elements are end indexes
+</parameter_description>
+</parameter>
+<parameter name="n_ranges">
+<parameter_description> number of ranges in @index_ranges, i.e. half the size of @index_ranges
+</parameter_description>
+</parameter>
+</parameters>
+<return> a clip region containing the given ranges
+</return>
+</function>
+
+<function name="gdk_window_invalidate_maybe_recurse">
+<description>
+Adds @region to the update area for @window. The update area is the
+region that needs to be redrawn, or &quot;dirty region.&quot; The call
+gdk_window_process_updates() sends one or more expose events to the
+window, which together cover the entire update area. An
+application would normally redraw the contents of @window in
+response to those expose events.
+
+GDK will call gdk_window_process_all_updates() on your behalf
+whenever your program returns to the main loop and becomes idle, so
+normally there&apos;s no need to do that manually, you just need to
+invalidate regions that you know should be redrawn.
+
+The @child_func parameter controls whether the region of
+each child window that intersects @region will also be invalidated.
+Only children for which @child_func returns TRUE will have the area
+invalidated.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="region">
+<parameter_description> a #GdkRegion
+</parameter_description>
+</parameter>
+<parameter name="child_func">
+<parameter_description> function to use to decide if to recurse to a child,
+%NULL means never recurse.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> data passed to @child_func
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_string_width">
+<description>
+Determines the width of a nul-terminated string.
+(The distance from the origin of the string to the
+point where the next string in a sequence of strings
+should be drawn)
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #GdkFont
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> the nul-terminated string to measure
+</parameter_description>
+</parameter>
+</parameters>
+<return> the width of the string in pixels.
+</return>
+</function>
+
+<function name="gdk_region_union_with_rect">
+<description>
+Sets the area of @region to the union of the areas of @region and
+@rect. The resulting area is the set of pixels contained in
+either @region or @rect.
+
+</description>
+<parameters>
+<parameter name="region">
+<parameter_description> a #GdkRegion.
+</parameter_description>
+</parameter>
+<parameter name="rect">
+<parameter_description> a #GdkRectangle.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_rotate_simple">
+<description>
+Rotates a pixbuf by a multiple of 90 degrees, and returns the
+result in a new pixbuf.
+
+
+</description>
+<parameters>
+<parameter name="src">
+<parameter_description> a #GdkPixbuf
+</parameter_description>
+</parameter>
+<parameter name="angle">
+<parameter_description> the angle to rotate by
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GdkPixbuf, or %NULL if not enough memory could be
+allocated for it.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gdk_display_get_n_screens">
+<description>
+Gets the number of screen managed by the @display.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> number of screens.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_keymap_translate_keyboard_state">
+<description>
+Translates the contents of a #GdkEventKey into a keyval, effective
+group, and level. Modifiers that affected the translation and
+are thus unavailable for application use are returned in
+@consumed_modifiers. See gdk_keyval_get_keys() for an explanation of
+groups and levels. The @effective_group is the group that was
+actually used for the translation; some keys such as Enter are not
+affected by the active keyboard group. The @level is derived from
+@state. For convenience, #GdkEventKey already contains the translated
+keyval, so this function isn&apos;t as useful as you might think.
+
+&amp;lt;note&amp;gt;&amp;lt;para&amp;gt;
+@consumed_modifiers gives modifiers that should be masked out
+from @state when comparing this key press to a hot key. For
+instance, on a US keyboard, the &amp;lt;literal&amp;gt;plus&amp;lt;/literal&amp;gt;
+symbol is shifted, so when comparing a key press to a
+&amp;lt;literal&amp;gt;&amp;lt;Control&amp;gt;plus&amp;lt;/literal&amp;gt; accelerator &amp;lt;Shift&amp;gt; should
+be masked out.
+&amp;lt;/para&amp;gt;
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+&amp;sol;* We want to ignore irrelevant modifiers like ScrollLock *&amp;sol;
+&amp;num;define ALL_ACCELS_MASK (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK)
+gdk_keymap_translate_keyboard_state (keymap, event-&amp;gt;hardware_keycode,
+event-&amp;gt;state, event-&amp;gt;group,
+&amp;amp;keyval, NULL, NULL, &amp;amp;consumed);
+if (keyval == GDK_PLUS &amp;&amp;
+(event-&amp;gt;state &amp;amp; ~consumed &amp;amp; ALL_ACCELS_MASK) == GDK_CONTROL_MASK)
+&amp;sol;* Control was pressed *&amp;sol;
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+&amp;lt;para&amp;gt;
+An older interpretation @consumed_modifiers was that it contained
+all modifiers that might affect the translation of the key;
+this allowed accelerators to be stored with irrelevant consumed
+modifiers, by doing:&amp;lt;/para&amp;gt;
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+&amp;sol;* XXX Don&apos;t do this XXX *&amp;sol;
+if (keyval == accel_keyval &amp;&amp;
+(event-&amp;gt;state &amp;amp; ~consumed &amp;amp; ALL_ACCELS_MASK) == (accel_mods &amp;amp; ~consumed))
+&amp;sol;* Accelerator was pressed *&amp;sol;
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+&amp;lt;para&amp;gt;
+However, this did not work if multi-modifier combinations were
+used in the keymap, since, for instance, &amp;lt;literal&amp;gt;&amp;lt;Control&amp;gt;&amp;lt;/literal&amp;gt;
+would be masked out even if only &amp;lt;literal&amp;gt;&amp;lt;Control&amp;gt;&amp;lt;Alt&amp;gt;&amp;lt;/literal&amp;gt;
+was used in the keymap. To support this usage as well as well as
+possible, all &amp;lt;emphasis&amp;gt;single modifier&amp;lt;/emphasis&amp;gt; combinations
+that could affect the key for any combination of modifiers will
+be returned in @consumed_modifiers; multi-modifier combinations
+are returned only when actually found in @state. When you store
+accelerators, you should always store them with consumed modifiers
+removed. Store &amp;lt;literal&amp;gt;&amp;lt;Control&amp;gt;plus&amp;lt;/literal&amp;gt;,
+not &amp;lt;literal&amp;gt;&amp;lt;Control&amp;gt;&amp;lt;Shift&amp;gt;plus&amp;lt;/literal&amp;gt;,
+&amp;lt;/para&amp;gt;&amp;lt;/note&amp;gt;
+
+
+</description>
+<parameters>
+<parameter name="keymap">
+<parameter_description> a #GdkKeymap, or %NULL to use the default
+</parameter_description>
+</parameter>
+<parameter name="hardware_keycode">
+<parameter_description> a keycode
+</parameter_description>
+</parameter>
+<parameter name="state">
+<parameter_description> a modifier state
+</parameter_description>
+</parameter>
+<parameter name="group">
+<parameter_description> active keyboard group
+</parameter_description>
+</parameter>
+<parameter name="keyval">
+<parameter_description> return location for keyval, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="effective_group">
+<parameter_description> return location for effective group, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="level">
+<parameter_description> return location for level, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="consumed_modifiers">
+<parameter_description> return location for modifiers that were used to
+determine the group or level, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if there was a keyval bound to the keycode/state/group
+</return>
+</function>
+
+<function name="gdk_drag_context_new">
+<description>
+Creates a new #GdkDragContext.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the newly created #GdkDragContext.
+</return>
+</function>
+
+<function name="gdk_draw_text_wc">
+<description>
+Draws a number of wide characters using the given font of fontset.
+If the font is a 1-byte font, the string is converted into 1-byte
+characters (discarding the high bytes) before output.
+
+Deprecated: Use gdk_draw_layout() instead.
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> a #GdkFont.
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x coordinate of the left edge of the text.
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y coordinate of the baseline of the text.
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the wide characters to draw.
+</parameter_description>
+</parameter>
+<parameter name="text_length">
+<parameter_description> the number of characters to draw.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_draw_drawable">
+<description>
+Copies the @width x @height region of @src at coordinates (@xsrc,
+@ysrc) to coordinates (@xdest, @ydest) in @drawable.
+@width and/or @height may be given as -1, in which case the entire
+@src drawable will be copied.
+
+Most fields in @gc are not used for this operation, but notably the
+clip mask or clip region will be honored.
+
+The source and destination drawables must have the same visual and
+colormap, or errors will result. (On X11, failure to match
+visual/colormap results in a BadMatch error from the X server.)
+A common cause of this problem is an attempt to draw a bitmap to
+a color drawable. The way to draw a bitmap is to set the bitmap as
+the stipple on the #GdkGC, set the fill mode to %GDK_STIPPLED, and
+then draw the rectangle.
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> a #GdkGC sharing the drawable&apos;s visual and colormap
+</parameter_description>
+</parameter>
+<parameter name="src">
+<parameter_description> the source #GdkDrawable, which may be the same as @drawable
+</parameter_description>
+</parameter>
+<parameter name="xsrc">
+<parameter_description> X position in @src of rectangle to draw
+</parameter_description>
+</parameter>
+<parameter name="ysrc">
+<parameter_description> Y position in @src of rectangle to draw
+</parameter_description>
+</parameter>
+<parameter name="xdest">
+<parameter_description> X position in @drawable where the rectangle should be drawn
+</parameter_description>
+</parameter>
+<parameter name="ydest">
+<parameter_description> Y position in @drawable where the rectangle should be drawn
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of rectangle to draw, or -1 for entire @src width
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height of rectangle to draw, or -1 for entire @src height
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_get_width">
+<description>
+Queries the width of a pixbuf.
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> A pixbuf.
+</parameter_description>
+</parameter>
+</parameters>
+<return> Width in pixels.
+</return>
+</function>
+
+<function name="gdk_window_end_paint">
+<description>
+Indicates that the backing store created by the most recent call to
+gdk_window_begin_paint_region() should be copied onscreen and
+deleted, leaving the next-most-recent backing store or no backing
+store at all as the active paint region. See
+gdk_window_begin_paint_region() for full details. It is an error to
+call this function without a matching
+gdk_window_begin_paint_region() first.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_x11_lookup_xdisplay">
+<description>
+Find the #GdkDisplay corresponding to @display, if any exists.
+
+
+</description>
+<parameters>
+<parameter name="xdisplay">
+<parameter_description> a pointer to an X Display
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkDisplay, if found, otherwise %NULL.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_x11_visual_get_xvisual">
+<description>
+Return value: an Xlib &amp;lt;type&amp;gt;Visual*&amp;lt;/type&amp;gt;.
+
+</description>
+<parameters>
+<parameter name="visual">
+<parameter_description> a #GdkVisual.
+</parameter_description>
+</parameter>
+</parameters>
+<return> an Xlib &amp;lt;type&amp;gt;Visual*&amp;lt;/type&amp;gt;.
+</return>
+</function>
+
+<function name="gdk_display_set_pointer_hooks">
+<description>
+This function allows for hooking into the operation
+of getting the current location of the pointer on a particular
+display. This is only useful for such low-level tools as an
+event recorder. Applications should never have any
+reason to use this facility.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="new_hooks">
+<parameter_description> a table of pointers to functions for getting
+quantities related to the current pointer position,
+or %NULL to restore the default table.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the previous pointer hook table
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_gc_set_line_attributes">
+<description>
+Sets various attributes of how lines are drawn. See
+the corresponding members of #GdkGCValues for full
+explanations of the arguments.
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="line_width">
+<parameter_description> the width of lines.
+</parameter_description>
+</parameter>
+<parameter name="line_style">
+<parameter_description> the dash-style for lines.
+</parameter_description>
+</parameter>
+<parameter name="cap_style">
+<parameter_description> the manner in which the ends of lines are drawn.
+</parameter_description>
+</parameter>
+<parameter name="join_style">
+<parameter_description> the in which lines are joined together.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_gc_set_clip_origin">
+<description>
+Sets the origin of the clip mask. The coordinates are
+interpreted relative to the upper-left corner of
+the destination drawable of the current operation.
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x-coordinate of the origin.
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y-coordinate of the origin.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_color_change">
+<description>
+Changes the value of a color that has already
+been allocated. If @colormap is not a private
+colormap, then the color must have been allocated
+using gdk_colormap_alloc_colors() with the
+@writeable set to %TRUE.
+
+
+</description>
+<parameters>
+<parameter name="colormap">
+<parameter_description> a #GdkColormap.
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> a #GdkColor, with the color to change
+in the &amp;lt;structfield&amp;gt;pixel&amp;lt;/structfield&amp;gt; field,
+and the new value in the remaining fields.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the color was successfully changed.
+</return>
+</function>
+
+<function name="_gdk_image_get_scratch">
+<description>
+Allocates an image of size width/height, up to a maximum
+of GDK_SCRATCH_IMAGE_WIDTHxGDK_SCRATCH_IMAGE_HEIGHT that is
+suitable to use on @screen.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> desired width
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> desired height
+</parameter_description>
+</parameter>
+<parameter name="depth">
+<parameter_description> depth of image
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> X location within returned image of scratch image
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> Y location within returned image of scratch image
+</parameter_description>
+</parameter>
+</parameters>
+<return> a scratch image. This must be used by a
+call to gdk_image_put() before any other calls to
+_gdk_image_get_scratch()
+</return>
+</function>
+
+<function name="gdk_drag_get_protocol">
+<description>
+Finds out the DND protocol supported by a window.
+
+
+</description>
+<parameters>
+<parameter name="xid">
+<parameter_description> the X id of the destination window.
+</parameter_description>
+</parameter>
+<parameter name="protocol">
+<parameter_description> location where the supported DND protocol is returned.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the X id of the window where the drop should happen. This
+may be @xid or the X id of a proxy window, or None if @xid doesn&apos;t
+support Drag and Drop.
+</return>
+</function>
+
+<function name="gdk_pixbuf_savev">
+<description>
+Saves pixbuf to a file in @type, which is currently &quot;jpeg&quot;, &quot;png&quot;, &quot;tiff&quot;, &quot;ico&quot; or &quot;bmp&quot;.
+If @error is set, %FALSE will be returned.
+See gdk_pixbuf_save () for more details.
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> a #GdkPixbuf.
+</parameter_description>
+</parameter>
+<parameter name="filename">
+<parameter_description> name of file to save.
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> name of file format.
+</parameter_description>
+</parameter>
+<parameter name="option_keys">
+<parameter_description> name of options to set, %NULL-terminated
+</parameter_description>
+</parameter>
+<parameter name="option_values">
+<parameter_description> values for named options
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether an error was set
+</return>
+</function>
+
+<function name="gdk_image_ref">
+<description>
+Deprecated function; use g_object_ref() instead.
+
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GdkImage
+</parameter_description>
+</parameter>
+</parameters>
+<return> the image
+</return>
+</function>
+
+<function name="gdk_selection_owner_set_for_display">
+<description>
+Sets the #GdkWindow @owner as the current owner of the selection @selection.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the #GdkDisplay.
+</parameter_description>
+</parameter>
+<parameter name="owner">
+<parameter_description> a #GdkWindow or %NULL to indicate that the owner for
+the given should be unset.
+</parameter_description>
+</parameter>
+<parameter name="selection">
+<parameter_description> an atom identifying a selection.
+</parameter_description>
+</parameter>
+<parameter name="time_">
+<parameter_description> timestamp to use when setting the selection.
+If this is older than the timestamp given last time the owner was
+set for the given selection, the request will be ignored.
+</parameter_description>
+</parameter>
+<parameter name="send_event">
+<parameter_description> if %TRUE, and the new owner is different from the current
+owner, the current owner will be sent a SelectionClear event.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the selection owner was successfully changed to owner,
+otherwise %FALSE.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_pixmap_foreign_new">
+<description>
+Wraps a native window for the default display in a #GdkPixmap.
+This may fail if the pixmap has been destroyed.
+
+For example in the X backend, a native pixmap handle is an Xlib
+&amp;lt;type&amp;gt;XID&amp;lt;/type&amp;gt;.
+
+
+</description>
+<parameters>
+<parameter name="anid">
+<parameter_description> a native pixmap handle.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly-created #GdkPixmap wrapper for the
+native pixmap or %NULL if the pixmap has been destroyed.
+</return>
+</function>
+
+<function name="gdk_pixdata_serialize">
+<description>
+Serializes a #GdkPixdata structure into a byte stream.
+The byte stream consists of a straightforward writeout of the
+#GdkPixdata fields in network byte order, plus the @pixel_data
+bytes the structure points to.
+
+
+</description>
+<parameters>
+<parameter name="pixdata">
+<parameter_description> a valid #GdkPixdata structure to serialize.
+</parameter_description>
+</parameter>
+<parameter name="stream_length_p">
+<parameter_description> location to store the resulting stream length in.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly-allocated string containing the serialized
+#GdkPixdata structure.
+</return>
+</function>
+
+<function name="gdk_x11_image_get_ximage">
+<description>
+Return value: an &amp;lt;type&amp;gt;XImage*&amp;lt;/type&amp;gt;.
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GdkImage.
+</parameter_description>
+</parameter>
+</parameters>
+<return> an &amp;lt;type&amp;gt;XImage*&amp;lt;/type&amp;gt;.
+</return>
+</function>
+
+<function name="gdk_screen_get_height">
+<description>
+Gets the height of @screen in pixels
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return> the height of @screen in pixels.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_window_get_pointer">
+<description>
+Obtains the current pointer position and modifier state.
+The position is given in coordinates relative to the upper left
+corner of @window.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> return location for X coordinate of pointer or %NULL to not
+return the X coordinate
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> return location for Y coordinate of pointer or %NULL to not
+return the Y coordinate
+</parameter_description>
+</parameter>
+<parameter name="mask">
+<parameter_description> return location for modifier mask or %NULL to not return the
+modifier mask
+</parameter_description>
+</parameter>
+</parameters>
+<return> the window containing the pointer (as with
+gdk_window_at_pointer()), or %NULL if the window containing the
+pointer isn&apos;t known to GDK
+</return>
+</function>
+
+<function name="gdk_pixbuf_render_to_drawable_alpha">
+<description>
+Renders a rectangular portion of a pixbuf to a drawable. The destination
+drawable must have a colormap. All windows have a colormap, however, pixmaps
+only have colormap by default if they were created with a non-%NULL window argument.
+Otherwise a colormap must be set on them with gdk_drawable_set_colormap.
+
+On older X servers, rendering pixbufs with an alpha channel involves round trips
+to the X server, and may be somewhat slow.
+
+Deprecated: 2.4: This function is obsolete. Use gdk_draw_pixbuf() instead.
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> A pixbuf.
+</parameter_description>
+</parameter>
+<parameter name="drawable">
+<parameter_description> Destination drawable.
+</parameter_description>
+</parameter>
+<parameter name="src_x">
+<parameter_description> Source X coordinate within pixbuf.
+</parameter_description>
+</parameter>
+<parameter name="src_y">
+<parameter_description> Source Y coordinates within pixbuf.
+</parameter_description>
+</parameter>
+<parameter name="dest_x">
+<parameter_description> Destination X coordinate within drawable.
+</parameter_description>
+</parameter>
+<parameter name="dest_y">
+<parameter_description> Destination Y coordinate within drawable.
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> Width of region to render, in pixels, or -1 to use pixbuf width.
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> Height of region to render, in pixels, or -1 to use pixbuf height.
+</parameter_description>
+</parameter>
+<parameter name="alpha_mode">
+<parameter_description> Ignored. Present for backwards compatibility.
+</parameter_description>
+</parameter>
+<parameter name="alpha_threshold">
+<parameter_description> Ignored. Present for backwards compatibility
+</parameter_description>
+</parameter>
+<parameter name="dither">
+<parameter_description> Dithering mode for GdkRGB.
+</parameter_description>
+</parameter>
+<parameter name="x_dither">
+<parameter_description> X offset for dither.
+</parameter_description>
+</parameter>
+<parameter name="y_dither">
+<parameter_description> Y offset for dither.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_render_to_drawable">
+<description>
+Renders a rectangular portion of a pixbuf to a drawable while using the
+specified GC. This is done using GdkRGB, so the specified drawable must have
+the GdkRGB visual and colormap. Note that this function will ignore the
+opacity information for images with an alpha channel; the GC must already
+have the clipping mask set if you want transparent regions to show through.
+
+For an explanation of dither offsets, see the GdkRGB documentation. In
+brief, the dither offset is important when re-rendering partial regions of an
+image to a rendered version of the full image, or for when the offsets to a
+base position change, as in scrolling. The dither matrix has to be shifted
+for consistent visual results. If you do not have any of these cases, the
+dither offsets can be both zero.
+
+Deprecated: 2.4: This function is obsolete. Use gdk_draw_pixbuf() instead.
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> A pixbuf.
+</parameter_description>
+</parameter>
+<parameter name="drawable">
+<parameter_description> Destination drawable.
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> GC used for rendering.
+</parameter_description>
+</parameter>
+<parameter name="src_x">
+<parameter_description> Source X coordinate within pixbuf.
+</parameter_description>
+</parameter>
+<parameter name="src_y">
+<parameter_description> Source Y coordinate within pixbuf.
+</parameter_description>
+</parameter>
+<parameter name="dest_x">
+<parameter_description> Destination X coordinate within drawable.
+</parameter_description>
+</parameter>
+<parameter name="dest_y">
+<parameter_description> Destination Y coordinate within drawable.
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> Width of region to render, in pixels, or -1 to use pixbuf width
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> Height of region to render, in pixels, or -1 to use pixbuf height
+</parameter_description>
+</parameter>
+<parameter name="dither">
+<parameter_description> Dithering mode for GdkRGB.
+</parameter_description>
+</parameter>
+<parameter name="x_dither">
+<parameter_description> X offset for dither.
+</parameter_description>
+</parameter>
+<parameter name="y_dither">
+<parameter_description> Y offset for dither.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_colormap_change">
+<description>
+Changes the value of the first @ncolors in a private colormap
+to match the values in the &amp;lt;structfield&amp;gt;colors&amp;lt;/structfield&amp;gt;
+array in the colormap. This function is obsolete and
+should not be used. See gdk_color_change().
+
+</description>
+<parameters>
+<parameter name="colormap">
+<parameter_description> a #GdkColormap.
+</parameter_description>
+</parameter>
+<parameter name="ncolors">
+<parameter_description> the number of colors to change.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_cairo_region">
+<description>
+Adds the given region to the current path of @cr.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="cr">
+<parameter_description> a #cairo_t
+</parameter_description>
+</parameter>
+<parameter name="region">
+<parameter_description> a #GdkRegion
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_drag_find_window">
+<description>
+Finds the destination window and DND protocol to use at the
+given pointer position.
+
+This function is called by the drag source to obtain the
+@dest_window and @protocol parameters for gdk_drag_motion().
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GdkDragContext.
+</parameter_description>
+</parameter>
+<parameter name="drag_window">
+<parameter_description> a window which may be at the pointer position, but
+should be ignored, since it is put up by the drag source as an icon.
+</parameter_description>
+</parameter>
+<parameter name="x_root">
+<parameter_description> the x position of the pointer in root coordinates.
+</parameter_description>
+</parameter>
+<parameter name="y_root">
+<parameter_description> the y position of the pointer in root coordinates.
+</parameter_description>
+</parameter>
+<parameter name="dest_window">
+<parameter_description> location to store the destination window in.
+</parameter_description>
+</parameter>
+<parameter name="protocol">
+<parameter_description> location to store the DND protocol in.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_draw_glyphs">
+<description>
+This is a low-level function; 99% of text rendering should be done
+using gdk_draw_layout() instead.
+
+A glyph is a single image in a font. This function draws a sequence of
+glyphs. To obtain a sequence of glyphs you have to understand a
+lot about internationalized text handling, which you don&apos;t want to
+understand; thus, use gdk_draw_layout() instead of this function,
+gdk_draw_layout() handles the details.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> a #GdkGC
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> font to be used
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> X coordinate of baseline origin
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> Y coordinate of baseline origin
+</parameter_description>
+</parameter>
+<parameter name="glyphs">
+<parameter_description> the glyph string to draw
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_text_width">
+<description>
+Determines the width of a given string.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #GdkFont
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the text to measure.
+</parameter_description>
+</parameter>
+<parameter name="text_length">
+<parameter_description> the length of the text in bytes.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the width of the string in pixels.
+</return>
+</function>
+
+<function name="gdk_drawable_set_colormap">
+<description>
+Sets the colormap associated with @drawable. Normally this will
+happen automatically when the drawable is created; you only need to
+use this function if the drawable-creating function did not have a
+way to determine the colormap, and you then use drawable operations
+that require a colormap. The colormap for all drawables and
+graphics contexts you intend to use together should match. i.e.
+when using a #GdkGC to draw to a drawable, or copying one drawable
+to another, the colormaps should match.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+<parameter name="colormap">
+<parameter_description> a #GdkColormap
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gdk_x11_drawable_update_size">
+<description>
+Updates the state of the drawable (in particular the drawable&apos;s
+cairo surface) when its size has changed.
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawableImplX11.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_display_get_window_at_pointer">
+<description>
+Obtains the window underneath the mouse pointer, returning the location
+of that window in @win_x, @win_y for @screen. Returns %NULL if the window
+under the mouse pointer is not known to GDK (for example, belongs to
+another application).
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="win_x">
+<parameter_description> return location for origin of the window under the pointer
+</parameter_description>
+</parameter>
+<parameter name="win_y">
+<parameter_description> return location for origin of the window under the pointer
+</parameter_description>
+</parameter>
+</parameters>
+<return> the window under the mouse pointer, or %NULL
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_cursor_get_image">
+<description>
+Returns: a #GdkPixbuf representing @cursor, or %NULL
+
+</description>
+<parameters>
+<parameter name="cursor">
+<parameter_description> a #GdkCursor
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GdkPixbuf representing @cursor, or %NULL
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gdk_window_reparent">
+<description>
+Reparents @window into the given @new_parent. The window being
+reparented will be unmapped as a side effect.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="new_parent">
+<parameter_description> new parent to move @window into
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> X location inside the new parent
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> Y location inside the new parent
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_gc_set_subwindow">
+<description>
+Sets how drawing with this GC on a window will affect child
+windows of that window.
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="mode">
+<parameter_description> the subwindow mode.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_region_rect_in">
+<description>
+Tests whether a rectangle is within a region.
+
+
+</description>
+<parameters>
+<parameter name="region">
+<parameter_description> a #GdkRegion.
+</parameter_description>
+</parameter>
+<parameter name="rectangle">
+<parameter_description> a #GdkRectangle.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %GDK_OVERLAP_RECTANGLE_IN, %GDK_OVERLAP_RECTANGLE_OUT, or
+%GDK_OVERLAP_RECTANGLE_PART, depending on whether the rectangle is inside,
+outside, or partly inside the #GdkRegion, respectively.
+</return>
+</function>
+
+<function name="gdk_string_extents">
+<description>
+Gets the metrics of a nul-terminated string.
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #GdkFont.
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> the nul-terminated string to measure.
+</parameter_description>
+</parameter>
+<parameter name="lbearing">
+<parameter_description> the left bearing of the string.
+</parameter_description>
+</parameter>
+<parameter name="rbearing">
+<parameter_description> the right bearing of the string.
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the string.
+</parameter_description>
+</parameter>
+<parameter name="ascent">
+<parameter_description> the ascent of the string.
+</parameter_description>
+</parameter>
+<parameter name="descent">
+<parameter_description> the descent of the string.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_region_polygon">
+<description>
+Creates a new #GdkRegion using the polygon defined by a
+number of points.
+
+
+</description>
+<parameters>
+<parameter name="points">
+<parameter_description> an array of #GdkPoint structs
+</parameter_description>
+</parameter>
+<parameter name="npoints">
+<parameter_description> the number of elements in the @points array
+</parameter_description>
+</parameter>
+<parameter name="fill_rule">
+<parameter_description> specifies which pixels are included in the region when the
+polygon overlaps itself.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GdkRegion based on the given polygon
+</return>
+</function>
+
+<function name="gdk_window_set_static_gravities">
+<description>
+Set the bit gravity of the given window to static, and flag it so
+all children get static subwindow gravity. This is used if you are
+implementing scary features that involve deep knowledge of the
+windowing system. Don&apos;t worry about it unless you have to.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="use_static">
+<parameter_description> %TRUE to turn on static gravity
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the server supports static gravity
+</return>
+</function>
+
+<function name="gdk_pixbuf_format_get_mime_types">
+<description>
+Return value: a %NULL-terminated array of mime types which must be freed with
+
+</description>
+<parameters>
+<parameter name="format">
+<parameter_description> a #GdkPixbufFormat
+</parameter_description>
+</parameter>
+</parameters>
+<return> a %NULL-terminated array of mime types which must be freed with
+g_strfreev() when it is no longer needed.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_colormap_alloc_color">
+<description>
+Allocates a single color from a colormap.
+
+
+</description>
+<parameters>
+<parameter name="colormap">
+<parameter_description> a #GdkColormap.
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> the color to allocate. On return the
+&amp;lt;structfield&amp;gt;pixel&amp;lt;/structfield&amp;gt; field will be
+filled in if allocation succeeds.
+</parameter_description>
+</parameter>
+<parameter name="writeable">
+<parameter_description> If %TRUE, the color is allocated writeable
+(their values can later be changed using gdk_color_change()).
+Writeable colors cannot be shared between applications.
+</parameter_description>
+</parameter>
+<parameter name="best_match">
+<parameter_description> If %TRUE, GDK will attempt to do matching against
+existing colors if the color cannot be allocated as requested.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the allocation succeeded.
+</return>
+</function>
+
+<function name="gdk_screen_set_default_colormap">
+<description>
+Sets the default @colormap for @screen.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+<parameter name="colormap">
+<parameter_description> a #GdkColormap
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_x11_get_xatom_name_for_display">
+<description>
+Return value: name of the X atom; this string is owned by GDK,
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the #GdkDisplay where @xatom is defined
+</parameter_description>
+</parameter>
+<parameter name="xatom">
+<parameter_description> an X atom
+</parameter_description>
+</parameter>
+</parameters>
+<return> name of the X atom; this string is owned by GDK,
+so it shouldn&apos;t be modifed or freed.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_text_extents">
+<description>
+Gets the metrics of a string.
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #GdkFont
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the text to measure
+</parameter_description>
+</parameter>
+<parameter name="text_length">
+<parameter_description> the length of the text in bytes. (If the
+font is a 16-bit font, this is twice the length
+of the text in characters.)
+</parameter_description>
+</parameter>
+<parameter name="lbearing">
+<parameter_description> the left bearing of the string.
+</parameter_description>
+</parameter>
+<parameter name="rbearing">
+<parameter_description> the right bearing of the string.
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the string.
+</parameter_description>
+</parameter>
+<parameter name="ascent">
+<parameter_description> the ascent of the string.
+</parameter_description>
+</parameter>
+<parameter name="descent">
+<parameter_description> the descent of the string.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_loader_set_size">
+<description>
+Causes the image to be scaled while it is loaded. The desired
+image size can be determined relative to the original size of
+the image by calling gdk_pixbuf_loader_set_size() from a
+signal handler for the ::size_prepared signal.
+
+Attempts to set the desired image size are ignored after the
+emission of the ::size_prepared signal.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="loader">
+<parameter_description> A pixbuf loader.
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> The desired width of the image being loaded.
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> The desired height of the image being loaded.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_add_filter">
+<description>
+Adds an event filter to @window, allowing you to intercept events
+before they reach GDK. This is a low-level operation and makes it
+easy to break GDK and/or GTK+, so you have to know what you&apos;re
+doing. Pass %NULL for @window to get all events for all windows,
+instead of events for a specific window.
+
+See gdk_display_add_client_message_filter() if you are interested
+in X ClientMessage events.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="function">
+<parameter_description> filter callback
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to pass to filter callback
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_region_equal">
+<description>
+Finds out if the two regions are the same.
+
+
+</description>
+<parameters>
+<parameter name="region1">
+<parameter_description> a #GdkRegion
+</parameter_description>
+</parameter>
+<parameter name="region2">
+<parameter_description> a #GdkRegion
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @region1 and @region2 are equal.
+</return>
+</function>
+
+<function name="gdk_window_fullscreen">
+<description>
+Moves the window into fullscreen mode. This means the
+window covers the entire screen and is above any panels
+or task bars.
+
+If the window was already fullscreen, then this function does nothing.
+
+On X11, asks the window manager to put @window in a fullscreen
+state, if the window manager supports this operation. Not all
+window managers support this, and some deliberately ignore it or
+don&apos;t have a concept of &quot;fullscreen&quot;; so you can&apos;t rely on the
+fullscreenification actually happening. But it will happen with
+most standard window managers, and GDK makes a best effort to get
+it to happen.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_parse_args">
+<description>
+Parse command line arguments, and store for future
+use by calls to gdk_display_open().
+
+Any arguments used by GDK are removed from the array and @argc and @argv are
+updated accordingly.
+
+You shouldn&apos;t call this function explicitely if you are using
+gtk_init(), gtk_init_check(), gdk_init(), or gdk_init_check().
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="argc">
+<parameter_description> the number of command line arguments.
+</parameter_description>
+</parameter>
+<parameter name="argv">
+<parameter_description> the array of command line arguments.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_event_request_motions">
+<description>
+Request more motion notifies if @event is a motion notify hint event.
+This function should be used instead of gdk_window_get_pointer() to
+request further motion notifies, because it also works for extension
+events where motion notifies are provided for devices other than the
+core pointer. Coordinate extraction, processing and requesting more
+motion events from a %GDK_MOTION_NOTIFY event usually works like this:
+
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+{ // motion_event handler
+x = motion_event-&amp;gt;x;
+y = motion_event-&amp;gt;y;
+; // handle (x,y) motion
+gdk_event_request_motions (motion_event); // handles is_hint events
+}
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a valid #GdkEvent
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_threads_set_lock_functions">
+<description>
+Allows the application to replace the standard method that
+GDK uses to protect its data structures. Normally, GDK
+creates a single #GMutex that is locked by gdk_threads_enter(),
+and released by gdk_threads_leave(); using this function an
+application provides, instead, a function @enter_fn that is
+called by gdk_threads_enter() and a function @leave_fn that is
+called by gdk_threads_leave().
+
+The functions must provide at least same locking functionality
+as the default implementation, but can also do extra application
+specific processing.
+
+As an example, consider an application that has its own recursive
+lock that when held, holds the GTK+ lock as well. When GTK+ unlocks
+the GTK+ lock when entering a recursive main loop, the application
+must temporarily release its lock as well.
+
+Most threaded GTK+ apps won&apos;t need to use this method.
+
+This method must be called before gdk_threads_init(), and cannot
+be called multiple times.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="enter_fn">
+<parameter_description> function called to guard GDK
+</parameter_description>
+</parameter>
+<parameter name="leave_fn">
+<parameter_description> function called to release the guard
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_image_get_colormap">
+<description>
+Retrieves the colormap for a given image, if it exists. An image
+will have a colormap if the drawable from which it was created has
+a colormap, or if a colormap was set explicitely with
+gdk_image_set_colormap().
+
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GdkImage
+</parameter_description>
+</parameter>
+</parameters>
+<return> colormap for the image
+</return>
+</function>
+
+<function name="gdk_pixbuf_loader_get_animation">
+<description>
+Queries the #GdkPixbufAnimation that a pixbuf loader is currently creating.
+In general it only makes sense to call this function after the &quot;area_prepared&quot;
+signal has been emitted by the loader. If the loader doesn&apos;t have enough
+bytes yet (hasn&apos;t emitted the &quot;area_prepared&quot; signal) this function will
+return %NULL.
+
+
+</description>
+<parameters>
+<parameter name="loader">
+<parameter_description> A pixbuf loader
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GdkPixbufAnimation that the loader is loading, or %NULL if
+ not enough data has been read to determine the information.
+</return>
+</function>
+
+<function name="gdk_font_load_for_display">
+<description>
+Loads a font for use on @display.
+
+The font may be newly loaded or looked up the font in a cache.
+You should make no assumptions about the initial reference count.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="font_name">
+<parameter_description> a XLFD describing the font to load.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GdkFont, or %NULL if the font could not be loaded.
+</return>
+</function>
+
+<function name="gdk_screen_list_visuals">
+<description>
+Lists the available visuals for the specified @screen.
+A visual describes a hardware image data format.
+For example, a visual might support 24-bit color, or 8-bit color,
+and might expect pixels to be in a certain format.
+
+Call g_list_free() on the return value when you&apos;re finished with it.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> the relevant #GdkScreen.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a list of visuals; the list must be freed, but not its
+contents
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_region_subtract">
+<description>
+Subtracts the area of @source2 from the area @source1. The resulting
+area is the set of pixels contained in @source1 but not in @source2.
+
+</description>
+<parameters>
+<parameter name="source1">
+<parameter_description> a #GdkRegion
+</parameter_description>
+</parameter>
+<parameter name="source2">
+<parameter_description> another #GdkRegion
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_x11_screen_get_window_manager_name">
+<description>
+Return value: the name of the window manager screen @screen, or
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return> the name of the window manager screen @screen, or
+&quot;unknown&quot; if the window manager is unknown. The string is owned by GDK
+and should not be freed.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_display_supports_composite">
+<description>
+Returns: %TRUE if windows may be composited.
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if windows may be composited.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gdk_drag_get_selection">
+<description>
+Return value: the selection atom.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GdkDragContext.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the selection atom.
+</return>
+</function>
+
+<function name="gdk_keymap_lookup_key">
+<description>
+Looks up the keyval mapped to a keycode/group/level triplet.
+If no keyval is bound to @key, returns 0. For normal user input,
+you want to use gdk_keymap_translate_keyboard_state() instead of
+this function, since the effective group/level may not be
+the same as the current keyboard state.
+
+
+</description>
+<parameters>
+<parameter name="keymap">
+<parameter_description> a #GdkKeymap or %NULL to use the default keymap
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a #GdkKeymapKey with keycode, group, and level initialized
+</parameter_description>
+</parameter>
+</parameters>
+<return> a keyval, or 0 if none was mapped to the given @key
+</return>
+</function>
+
+<function name="gdk_drawable_get_visual">
+<description>
+Gets the #GdkVisual describing the pixel format of @drawable.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GdkVisual
+</return>
+</function>
+
+<function name="gdk_pixbuf_get_bits_per_sample">
+<description>
+Queries the number of bits per color sample in a pixbuf.
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> A pixbuf.
+</parameter_description>
+</parameter>
+</parameters>
+<return> Number of bits per color sample.
+</return>
+</function>
+
+<function name="gdk_setting_get">
+<description>
+Obtains a desktop-wide setting, such as the double-click time,
+for the default screen. See gdk_screen_get_setting().
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> the name of the setting.
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> location to store the value of the setting.
+</parameter_description>
+</parameter>
+</parameters>
+<return>: %TRUE if the setting existed and a value was stored
+in @value, %FALSE otherwise.
+</return>
+</function>
+
+<function name="gdk_cursor_new_from_name">
+<description>
+Creates a new cursor by looking up @name in the current cursor
+theme.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the #GdkDisplay for which the cursor will be created
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> the name of the cursor
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GdkCursor, or %NULL if there is no cursor with
+the given name
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gdk_color_equal">
+<description>
+Compares two colors.
+
+
+</description>
+<parameters>
+<parameter name="colora">
+<parameter_description> a #GdkColor.
+</parameter_description>
+</parameter>
+<parameter name="colorb">
+<parameter_description> another #GdkColor.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the two colors compare equal
+</return>
+</function>
+
+<function name="gdk_pixbuf_new_subpixbuf">
+<description>
+Creates a new pixbuf which represents a sub-region of
+@src_pixbuf. The new pixbuf shares its pixels with the
+original pixbuf, so writing to one affects both.
+The new pixbuf holds a reference to @src_pixbuf, so
+@src_pixbuf will not be finalized until the new pixbuf
+is finalized.
+
+
+</description>
+<parameters>
+<parameter name="src_pixbuf">
+<parameter_description> a #GdkPixbuf
+</parameter_description>
+</parameter>
+<parameter name="src_x">
+<parameter_description> X coord in @src_pixbuf
+</parameter_description>
+</parameter>
+<parameter name="src_y">
+<parameter_description> Y coord in @src_pixbuf
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of region in @src_pixbuf
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height of region in @src_pixbuf
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new pixbuf
+</return>
+</function>
+
+<function name="gdk_window_scroll">
+<description>
+Scroll the contents of @window, both pixels and children, by the given
+amount. @window itself does not move. Portions of the window that the scroll
+operation brings in from offscreen areas are invalidated. The invalidated
+region may be bigger than what would strictly be necessary. (For X11, a
+minimum area will be invalidated if the window has no subwindows, or if the
+edges of the window&apos;s parent do not extend beyond the edges of the window. In
+other cases, a multi-step process is used to scroll the window which may
+produce temporary visual artifacts and unnecessary invalidations.)
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="dx">
+<parameter_description> Amount to scroll in the X direction
+</parameter_description>
+</parameter>
+<parameter name="dy">
+<parameter_description> Amount to scroll in the Y direction
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdkx_visual_get">
+<description>
+Return value: the #GdkVisual.
+
+</description>
+<parameters>
+<parameter name="xvisualid">
+<parameter_description> a X visual id.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkVisual.
+</return>
+</function>
+
+<function name="gdk_display_pointer_ungrab">
+<description>
+Release any pointer grab.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay.
+</parameter_description>
+</parameter>
+<parameter name="time_">
+<parameter_description> a timestap (e.g. %GDK_CURRENT_TIME).
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_screen_get_window_stack">
+<description>
+Return value: a list of #GdkWindow&amp;lt;!-- --&amp;gt;s for the current window stack,
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return> a list of #GdkWindow&amp;lt;!-- --&amp;gt;s for the current window stack,
+or %NULL.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gdk_screen_get_rgba_visual">
+<description>
+Gets a visual to use for creating windows or pixmaps with an
+alpha channel. See the docs for gdk_screen_get_rgba_colormap()
+for caveats.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return> a visual to use for windows with an alpha channel
+or %NULL if the capability is not available.
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gdk_text_extents_wc">
+<description>
+Gets the metrics of a string of wide characters.
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #GdkFont
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the text to measure.
+</parameter_description>
+</parameter>
+<parameter name="text_length">
+<parameter_description> the length of the text in character.
+</parameter_description>
+</parameter>
+<parameter name="lbearing">
+<parameter_description> the left bearing of the string.
+</parameter_description>
+</parameter>
+<parameter name="rbearing">
+<parameter_description> the right bearing of the string.
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the string.
+</parameter_description>
+</parameter>
+<parameter name="ascent">
+<parameter_description> the ascent of the string.
+</parameter_description>
+</parameter>
+<parameter name="descent">
+<parameter_description> the descent of the string.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pango_renderer_set_drawable">
+<description>
+Sets the drawable the renderer draws to.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="gdk_renderer">
+<parameter_description> a #GdkPangoRenderer
+</parameter_description>
+</parameter>
+<parameter name="drawable">
+<parameter_description> the new target drawable, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_set_role">
+<description>
+When using GTK+, typically you should use gtk_window_set_role() instead
+of this low-level function.
+
+The window manager and session manager use a window&apos;s role to
+distinguish it from other kinds of window in the same application.
+When an application is restarted after being saved in a previous
+session, all windows with the same title and role are treated as
+interchangeable. So if you have two windows with the same title
+that should be distinguished for session management purposes, you
+should set the role on those windows. It doesn&apos;t matter what string
+you use for the role, as long as you have a different role for each
+non-interchangeable kind of window.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="role">
+<parameter_description> a string indicating its role
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixdata_to_csource">
+<description>
+Generates C source code suitable for compiling images directly
+into programs.
+
+GTK+ ships with a program called &amp;lt;command&amp;gt;gdk-pixbuf-csource&amp;lt;/command&amp;gt;
+which offers a command line interface to this function.
+
+
+</description>
+<parameters>
+<parameter name="pixdata">
+<parameter_description> a #GdkPixdata to convert to C source.
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> used for naming generated data structures or macros.
+</parameter_description>
+</parameter>
+<parameter name="dump_type">
+<parameter_description> a #GdkPixdataDumpType determining the kind of C
+source to be generated.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated string containing the C source form
+of @pixdata.
+</return>
+</function>
+
+<function name="GdkKeymap">
+<description>
+The ::keys_changed signal is emitted when the mapping represented by
+@keymap changes.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="keymap">
+<parameter_description> the object on which the signal is emitted
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_get_show_events">
+<description>
+Gets whether event debugging output is enabled.
+
+
+</description>
+<parameters>
+</parameters>
+<return> %TRUE if event debugging output is enabled.
+</return>
+</function>
+
+<function name="gdk_window_merge_child_shapes">
+<description>
+Merges the shape masks for any child windows into the
+shape mask for @window. i.e. the union of all masks
+for @window and its children will become the new mask
+for @window. See gdk_window_shape_combine_mask().
+
+This function is distinct from gdk_window_set_child_shapes()
+because it includes @window&apos;s shape mask in the set of shapes to
+be merged.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_new_from_file_at_scale">
+<description>
+Creates a new pixbuf by loading an image from a file. The file format is
+detected automatically. If %NULL is returned, then @error will be set.
+Possible errors are in the #GDK_PIXBUF_ERROR and #G_FILE_ERROR domains.
+The image will be scaled to fit in the requested size, optionally preserving
+the image&apos;s aspect ratio.
+
+When preserving the aspect ratio, a @width of -1 will cause the image
+to be scaled to the exact given height, and a @height of -1 will cause
+the image to be scaled to the exact given width. When not preserving
+aspect ratio, a @width or @height of -1 means to not scale the image
+at all in that dimension. Negative values for @width and @height are
+allowed since 2.8.
+
+
+</description>
+<parameters>
+<parameter name="filename">
+<parameter_description> Name of file to load, in the GLib file name encoding
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> The width the image should have or -1 to not constrain the width
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> The height the image should have or -1 to not constrain the height
+</parameter_description>
+</parameter>
+<parameter name="preserve_aspect_ratio">
+<parameter_description> %TRUE to preserve the image&apos;s aspect ratio
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> Return location for an error
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly-created pixbuf with a reference count of 1, or %NULL
+if any of several error conditions occurred: the file could not be opened,
+there was no loader for the file&apos;s format, there was not enough memory to
+allocate the image buffer, or the image file contained invalid data.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gdk_window_at_pointer">
+<description>
+Obtains the window underneath the mouse pointer, returning the
+location of that window in @win_x, @win_y. Returns %NULL if the
+window under the mouse pointer is not known to GDK (if the window
+belongs to another application and a #GdkWindow hasn&apos;t been created
+for it with gdk_window_foreign_new())
+
+NOTE: For multihead-aware widgets or applications use
+gdk_display_get_window_at_pointer() instead.
+
+
+</description>
+<parameters>
+<parameter name="win_x">
+<parameter_description> return location for origin of the window under the pointer
+</parameter_description>
+</parameter>
+<parameter name="win_y">
+<parameter_description> return location for origin of the window under the pointer
+</parameter_description>
+</parameter>
+</parameters>
+<return> window under the mouse pointer
+</return>
+</function>
+
+<function name="gdk_window_get_type_hint">
+<description>
+This function returns the type hint set for a window.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> A toplevel #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> The type hint set for @window
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gdk_colormap_new">
+<description>
+Creates a new colormap for the given visual.
+
+
+</description>
+<parameters>
+<parameter name="visual">
+<parameter_description> a #GdkVisual.
+</parameter_description>
+</parameter>
+<parameter name="allocate">
+<parameter_description> if %TRUE, the newly created colormap will be
+a private colormap, and all colors in it will be
+allocated for the applications use.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GdkColormap.
+</return>
+</function>
+
+<function name="gdk_screen_get_resolution">
+<description>
+Gets the resolution for font handling on the screen; see
+gdk_screen_set_resolution() for full details.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current resolution, or -1 if no resolution
+has been set.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gdk_draw_layout_line">
+<description>
+Render a #PangoLayoutLine onto an GDK drawable
+
+If the layout&apos;s #PangoContext has a transformation matrix set, then
+@x and @y specify the position of the left edge of the baseline
+(left is in before-tranform user coordinates) in after-transform
+device coordinates.
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> the drawable on which to draw the line
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> base graphics to use
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x position of start of string (in pixels)
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y position of baseline (in pixels)
+</parameter_description>
+</parameter>
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gdk_windowing_substitute_screen_number">
+<description>
+Modifies a @display_name to make @screen_number the default
+screen when the display is opened.
+
+
+</description>
+<parameters>
+<parameter name="display_name">
+<parameter_description> The name of a display, in the form used by
+gdk_display_open (). If %NULL a default value
+will be used. On X11, this is derived from the DISPLAY
+environment variable.
+</parameter_description>
+</parameter>
+<parameter name="screen_number">
+<parameter_description> The number of a screen within the display
+referred to by @display_name.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated string holding the resulting
+display name. Free with g_free().
+</return>
+</function>
+
+<function name="gdk_x11_display_get_xdisplay">
+<description>
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> an X display.
+the X display of a #GdkDisplay.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_color_free">
+<description>
+Frees a color structure created with
+gdk_color_copy().
+
+</description>
+<parameters>
+<parameter name="color">
+<parameter_description> a #GdkColor.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_drawable_copy_to_image">
+<description>
+Copies a portion of @drawable into the client side image structure
+@image. If @image is %NULL, creates a new image of size @width x @height
+and copies into that. See gdk_drawable_get_image() for further details.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+<parameter name="image">
+<parameter_description> a #GdkDrawable, or %NULL if a new @image should be created.
+</parameter_description>
+</parameter>
+<parameter name="src_x">
+<parameter_description> x coordinate on @drawable
+</parameter_description>
+</parameter>
+<parameter name="src_y">
+<parameter_description> y coordinate on @drawable
+</parameter_description>
+</parameter>
+<parameter name="dest_x">
+<parameter_description> x coordinate within @image. Must be 0 if @image is %NULL
+</parameter_description>
+</parameter>
+<parameter name="dest_y">
+<parameter_description> y coordinate within @image. Must be 0 if @image is %NULL
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of region to get
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height or region to get
+</parameter_description>
+</parameter>
+</parameters>
+<return> @image, or a new a #GdkImage containing the contents
+of @drawable
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gdk_gc_set_dashes">
+<description>
+Sets the way dashed-lines are drawn. Lines will be
+drawn with alternating on and off segments of the
+lengths specified in @dash_list. The manner in
+which the on and off segments are drawn is determined
+by the @line_style value of the GC. (This can
+be changed with gdk_gc_set_line_attributes().)
+
+The @dash_offset defines the phase of the pattern,
+specifying how many pixels into the dash-list the pattern
+should actually begin.
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC.
+</parameter_description>
+</parameter>
+<parameter name="dash_offset">
+<parameter_description> the phase of the dash pattern.
+</parameter_description>
+</parameter>
+<parameter name="dash_list">
+<parameter_description> an array of dash lengths.
+</parameter_description>
+</parameter>
+<parameter name="n">
+<parameter_description> the number of elements in @dash_list.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_loader_new">
+<description>
+Creates a new pixbuf loader object.
+
+
+</description>
+<parameters>
+</parameters>
+<return> A newly-created pixbuf loader.
+</return>
+</function>
+
+<function name="gdk_pixbuf_animation_is_static_image">
+<description>
+If you load a file with gdk_pixbuf_animation_new_from_file() and it turns
+out to be a plain, unanimated image, then this function will return
+%TRUE. Use gdk_pixbuf_animation_get_static_image() to retrieve
+the image.
+
+
+</description>
+<parameters>
+<parameter name="animation">
+<parameter_description> a #GdkPixbufAnimation
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the &quot;animation&quot; was really just an image
+</return>
+</function>
+
+<function name="gdk_window_thaw_updates">
+<description>
+Thaws a window frozen with gdk_window_freeze_updates().
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_region_new">
+<description>
+Creates a new empty #GdkRegion.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new empty #GdkRegion
+</return>
+</function>
+
+<function name="gdk_window_get_toplevels">
+<description>
+Obtains a list of all toplevel windows known to GDK on the default
+screen (see gdk_screen_get_toplevel_windows()).
+A toplevel window is a child of the root window (see
+gdk_get_default_root_window()).
+
+The returned list should be freed with g_list_free(), but
+its elements need not be freed.
+
+
+</description>
+<parameters>
+</parameters>
+<return> list of toplevel windows, free with g_list_free()
+</return>
+</function>
+
+<function name="gdk_char_width_wc">
+<description>
+Determines the width of a given wide character. (Encoded
+in the wide-character encoding of the current locale).
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #GdkFont
+</parameter_description>
+</parameter>
+<parameter name="character">
+<parameter_description> the character to measure.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the width of the character in pixels.
+</return>
+</function>
+
+<function name="gdk_drag_find_window_for_screen">
+<description>
+Finds the destination window and DND protocol to use at the
+given pointer position.
+
+This function is called by the drag source to obtain the
+@dest_window and @protocol parameters for gdk_drag_motion().
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GdkDragContext
+</parameter_description>
+</parameter>
+<parameter name="drag_window">
+<parameter_description> a window which may be at the pointer position, but
+should be ignored, since it is put up by the drag source as an icon.
+</parameter_description>
+</parameter>
+<parameter name="screen">
+<parameter_description> the screen where the destination window is sought.
+</parameter_description>
+</parameter>
+<parameter name="x_root">
+<parameter_description> the x position of the pointer in root coordinates.
+</parameter_description>
+</parameter>
+<parameter name="y_root">
+<parameter_description> the y position of the pointer in root coordinates.
+</parameter_description>
+</parameter>
+<parameter name="dest_window">
+<parameter_description> location to store the destination window in.
+</parameter_description>
+</parameter>
+<parameter name="protocol">
+<parameter_description> location to store the DND protocol in.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_color_parse">
+<description>
+Parses a textual specification of a color and fill in
+the &amp;lt;structfield&amp;gt;red&amp;lt;/structfield&amp;gt;,
+&amp;lt;structfield&amp;gt;green&amp;lt;/structfield&amp;gt;, and
+&amp;lt;structfield&amp;gt;blue&amp;lt;/structfield&amp;gt; fields of a
+#GdkColor structure. The color is &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt;
+allocated, you must call gdk_colormap_alloc_color() yourself.
+The text string can be in any of the forms accepted
+by &amp;lt;function&amp;gt;XParseColor&amp;lt;/function&amp;gt;; these include
+name for a color from &amp;lt;filename&amp;gt;rgb.txt&amp;lt;/filename&amp;gt;, such as
+&amp;lt;literal&amp;gt;DarkSlateGray&amp;lt;/literal&amp;gt;, or a hex specification
+such as &amp;lt;literal&amp;gt;&amp;num;3050b2&amp;lt;/literal&amp;gt; or &amp;lt;literal&amp;gt;&amp;num;35b&amp;lt;/literal&amp;gt;.
+
+
+</description>
+<parameters>
+<parameter name="spec">
+<parameter_description> the string specifying the color.
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> the #GdkColor to fill in
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the parsing succeeded.
+</return>
+</function>
+
+<function name="gdk_visual_get_best_with_both">
+<description>
+Combines gdk_visual_get_best_with_depth() and gdk_visual_get_best_with_type().
+
+
+</description>
+<parameters>
+<parameter name="depth">
+<parameter_description> a bit depth
+</parameter_description>
+</parameter>
+<parameter name="visual_type">
+<parameter_description> a visual type
+</parameter_description>
+</parameter>
+</parameters>
+<return> best visual with both @depth and @visual_type, or %NULL if none
+</return>
+</function>
+
+<function name="gdk_x11_get_default_xdisplay">
+<description>
+Gets the default GTK+ display.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the Xlib &amp;lt;type&amp;gt;Display*&amp;lt;/type&amp;gt; for the display
+specified in the &amp;lt;option&amp;gt;--display&amp;lt;/option&amp;gt; command line option
+or the &amp;lt;envar&amp;gt;DISPLAY&amp;lt;/envar&amp;gt; environment variable.
+</return>
+</function>
+
+<function name="_gdk_gc_init">
+<description>
+Does initialization of the generic portions of a #GdkGC
+created with the specified values and values_mask. This
+should be called out of the implementation of
+GdkDrawable.create_gc() immediately after creating the
+#GdkGC object.
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC
+</parameter_description>
+</parameter>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable.
+</parameter_description>
+</parameter>
+<parameter name="values">
+<parameter_description> a structure containing initial values for the GC.
+</parameter_description>
+</parameter>
+<parameter name="values_mask">
+<parameter_description> a bit mask indicating which fields in @values
+are set.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_screen_get_width">
+<description>
+Gets the width of @screen in pixels
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return> the width of @screen in pixels.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gdk_drawable_get_image">
+<description>
+A #GdkImage stores client-side image data (pixels). In contrast,
+#GdkPixmap and #GdkWindow are server-side
+objects. gdk_drawable_get_image() obtains the pixels from a
+server-side drawable as a client-side #GdkImage. The format of a
+#GdkImage depends on the #GdkVisual of the current display, which
+makes manipulating #GdkImage extremely difficult; therefore, in
+most cases you should use gdk_pixbuf_get_from_drawable() instead of
+this lower-level function. A #GdkPixbuf contains image data in a
+canonicalized RGB format, rather than a display-dependent format.
+Of course, there&apos;s a convenience vs. speed tradeoff here, so you&apos;ll
+want to think about what makes sense for your application.
+
+@x, @y, @width, and @height define the region of @drawable to
+obtain as an image.
+
+You would usually copy image data to the client side if you intend
+to examine the values of individual pixels, for example to darken
+an image or add a red tint. It would be prohibitively slow to
+make a round-trip request to the windowing system for each pixel,
+so instead you get all of them at once, modify them, then copy
+them all back at once.
+
+If the X server or other windowing system backend is on the local
+machine, this function may use shared memory to avoid copying
+the image data.
+
+If the source drawable is a #GdkWindow and partially offscreen
+or obscured, then the obscured portions of the returned image
+will contain undefined data.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x coordinate on @drawable
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y coordinate on @drawable
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of region to get
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height or region to get
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GdkImage containing the contents of @drawable
+</return>
+</function>
+
+<function name="gdk_gc_set_values">
+<description>
+Sets attributes of a graphics context in bulk. For each flag set in
+@values_mask, the corresponding field will be read from @values and
+set as the new value for @gc. If you&apos;re only setting a few values
+on @gc, calling individual &quot;setter&quot; functions is likely more
+convenient.
+
+
+</description>
+<parameters>
+<parameter name="gc">
+<parameter_description> a #GdkGC
+</parameter_description>
+</parameter>
+<parameter name="values">
+<parameter_description> struct containing the new values
+</parameter_description>
+</parameter>
+<parameter name="values_mask">
+<parameter_description> mask indicating which struct fields are to be used
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_set_child_shapes">
+<description>
+Sets the shape mask of @window to the union of shape masks
+for all children of @window, ignoring the shape mask of @window
+itself. Contrast with gdk_window_merge_child_shapes() which includes
+the shape mask of @window in the masks to be merged.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_save_to_bufferv">
+<description>
+Saves pixbuf to a new buffer in format @type, which is currently &quot;jpeg&quot;,
+&quot;tiff&quot;, &quot;png&quot;, &quot;ico&quot; or &quot;bmp&quot;. See gdk_pixbuf_save_to_buffer() for more details.
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> a #GdkPixbuf.
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> location to receive a pointer to the new buffer.
+</parameter_description>
+</parameter>
+<parameter name="buffer_size">
+<parameter_description> location to receive the size of the new buffer.
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> name of file format.
+</parameter_description>
+</parameter>
+<parameter name="option_keys">
+<parameter_description> name of options to set, %NULL-terminated
+</parameter_description>
+</parameter>
+<parameter name="option_values">
+<parameter_description> values for named options
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether an error was set
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gdk_region_get_clipbox">
+<description>
+Obtains the smallest rectangle which includes the entire #GdkRegion.
+
+
+</description>
+<parameters>
+<parameter name="region">
+<parameter_description> a #GdkRegion
+</parameter_description>
+</parameter>
+<parameter name="rectangle">
+<parameter_description> return location for the clipbox
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_get_group">
+<description>
+Return value: the group leader window for @window
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> the group leader window for @window
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gdk_pango_renderer_get_default">
+<description>
+Gets the default #PangoRenderer for a screen. This default renderer
+is shared by all users of the display, so properties such as the color
+or transformation matrix set for the renderer may be overwritten
+by functions such as gdk_draw_layout().
+
+Before using the renderer, you need to call gdk_pango_renderer_set_drawable()
+and gdk_pango_renderer_set_gc() to set the drawable and graphics context
+to use for drawing.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return> the default #PangoRenderer for @screen. The
+renderer is owned by GTK+ and will be kept around until the
+screen is closed.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gdk_region_copy">
+<description>
+Copies @region, creating an identical new region.
+
+
+</description>
+<parameters>
+<parameter name="region">
+<parameter_description> a #GdkRegion
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new region identical to @region
+</return>
+</function>
+
+<function name="gdk_window_show">
+<description>
+Like gdk_window_show_unraised(), but also raises the window to the
+top of the window stack (moves the window to the front of the
+Z-order).
+
+This function maps a window so it&apos;s visible onscreen. Its opposite
+is gdk_window_hide().
+
+When implementing a #GtkWidget, you should call this function on the widget&apos;s
+#GdkWindow as part of the &quot;map&quot; method.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gdk_window_destroy">
+<description>
+Internal function to destroy a window. Like gdk_window_destroy(),
+but does not drop the reference count created by gdk_window_new().
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="foreign_destroy">
+<parameter_description> If TRUE, the window or a parent was destroyed by some
+external agency. The window has already been destroyed and no
+windowing system calls should be made. (This may never happen
+for some windowing systems.)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_window_constrain_size">
+<description>
+Constrains a desired width and height according to a
+set of geometry hints (such as minimum and maximum size).
+
+</description>
+<parameters>
+<parameter name="geometry">
+<parameter_description> a #GdkGeometry structure
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> a mask indicating what portions of @geometry are set
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> desired width of window
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> desired height of the window
+</parameter_description>
+</parameter>
+<parameter name="new_width">
+<parameter_description> location to store resulting width
+</parameter_description>
+</parameter>
+<parameter name="new_height">
+<parameter_description> location to store resulting height
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_threads_add_timeout">
+<description>
+A wrapper for the common usage of gdk_threads_add_timeout_full()
+assigning the default priority, #G_PRIORITY_DEFAULT.
+
+See gdk_threads_add_timeout_full().
+
+
+</description>
+<parameters>
+<parameter name="interval">
+<parameter_description> the time between calls to the function, in milliseconds
+(1/1000ths of a second)
+</parameter_description>
+</parameter>
+<parameter name="function">
+<parameter_description> function to call
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to pass to @function
+</parameter_description>
+</parameter>
+</parameters>
+<return> the ID (greater than 0) of the event source.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="_gdk_event_queue_find_first">
+<description>
+Find the first event on the queue that is not still
+being filled in.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> Pointer to the list node for that event, or NULL.
+</return>
+</function>
+
+<function name="gdk_pixdata_deserialize">
+<description>
+Deserializes (reconstruct) a #GdkPixdata structure from a byte stream.
+The byte stream consists of a straightforward writeout of the
+#GdkPixdata fields in network byte order, plus the @pixel_data
+bytes the structure points to.
+The @pixdata contents are reconstructed byte by byte and are checked
+for validity. This function may fail with %GDK_PIXBUF_CORRUPT_IMAGE
+or %GDK_PIXBUF_ERROR_UNKNOWN_TYPE.
+
+
+</description>
+<parameters>
+<parameter name="pixdata">
+<parameter_description> a #GdkPixdata structure to be filled in.
+</parameter_description>
+</parameter>
+<parameter name="stream_length">
+<parameter_description> length of the stream used for deserialization.
+</parameter_description>
+</parameter>
+<parameter name="stream">
+<parameter_description> stream of bytes containing a serialized #GdkPixdata structure.
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> #GError location to indicate failures (maybe %NULL to ignore errors).
+</parameter_description>
+</parameter>
+</parameters>
+<return> Upon successful deserialization %TRUE is returned,
+%FALSE otherwise.
+</return>
+</function>
+
+<function name="gdk_x11_get_default_root_xwindow">
+<description>
+Gets the root window of the default screen
+(see gdk_x11_get_default_screen()).
+
+
+</description>
+<parameters>
+</parameters>
+<return> an Xlib &amp;lt;type&amp;gt;Window&amp;lt;/type&amp;gt;.
+</return>
+</function>
+
+<function name="gdk_text_width_wc">
+<description>
+Determines the width of a given wide-character string.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #GdkFont
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the text to measure.
+</parameter_description>
+</parameter>
+<parameter name="text_length">
+<parameter_description> the length of the text in characters.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the width of the string in pixels.
+</return>
+</function>
+
+<function name="gdk_x11_display_broadcast_startup_message">
+<description>
+Sends a startup notification message of type @message_type to
+@display.
+
+This is a convenience function for use by code that implements the
+freedesktop startup notification specification. Applications should
+not normally need to call it directly. See the &amp;lt;ulink
+url=&quot;http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt&quot;&amp;gt;Startup
+Notification Protocol specification&amp;lt;/ulink&amp;gt; for
+definitions of the message types and keys that can be used.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="message_type">
+<parameter_description> startup notification message type (&quot;new&quot;, &quot;change&quot;,
+or &quot;remove&quot;)
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> a list of key/value pairs (as strings), terminated by a
+%NULL key. (A %NULL value for a key will cause that key to be
+skipped in the output.)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_get_file_info">
+<description>
+Parses an image file far enough to determine its format and size.
+
+
+</description>
+<parameters>
+<parameter name="filename">
+<parameter_description> The name of the file to identify.
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> Return location for the width of the image, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> Return location for the height of the image, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> A #GdkPixbufFormat describing the image format of the file
+or %NULL if the image format wasn&apos;t recognized. The return value
+is owned by GdkPixbuf and should not be freed.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gdk_window_set_keep_below">
+<description>
+Set if @window must be kept below other windows. If the
+window was already below, then this function does nothing.
+
+On X11, asks the window manager to keep @window below, if the window
+manager supports this operation. Not all window managers support
+this, and some deliberately ignore it or don&apos;t have a concept of
+&quot;keep below&quot;; so you can&apos;t rely on the window being kept below.
+But it will happen with most standard window managers,
+and GDK makes a best effort to get it to happen.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> whether to keep @window below other windows
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+</root>
diff --git a/libs/gtkmm2/gdk/src/gdk_docs_override.xml b/libs/gtkmm2/gdk/src/gdk_docs_override.xml
new file mode 100644
index 0000000000..2282fd4b45
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/gdk_docs_override.xml
@@ -0,0 +1,605 @@
+<root>
+
+<function name="gtk_window_move">
+<description>
+Asks the &amp;lt;link linkend=&quot;gtk-X11-arch&quot;&amp;gt;window manager&amp;lt;/link&amp;gt; to move
+@window to the given position. Window managers are free to ignore
+this; most window managers ignore requests for initial window
+positions (instead using a user-defined placement algorithm) and
+honor requests after the window has already been shown.
+
+Note: the position is the position of the gravity-determined
+reference point for the window. The gravity determines two things:
+first, the location of the reference point in root window
+coordinates; and second, which point on the window is positioned at
+the reference point.
+
+By default the gravity is #GDK_GRAVITY_NORTH_WEST, so the reference
+point is simply the @x, @y supplied to Gtk::Window::move(). The
+top-left corner of the window decorations (aka window frame or
+border) will be placed at @x, @y. Therefore, to position a window
+at the top left of the screen, you want to use the default gravity
+(which is #GDK_GRAVITY_NORTH_WEST) and move the window to 0,0.
+
+To position a window at the bottom right corner of the screen, you
+would set #GDK_GRAVITY_SOUTH_EAST, which means that the reference
+point is at @x + the window width and @y + the window height, and
+the bottom-right corner of the window border will be placed at that
+reference point. So, to place a window in the bottom right corner
+you would first set gravity to south east, then write:
+&amp;lt;literal&amp;gt;Gtk::Window::move (window, Gdk::screen_width () - window_width,
+Gdk::screen_height () - window_height)&amp;lt;/literal&amp;gt;.
+
+The extended window manager hints specification at
+&amp;lt;ulink url=&quot;http://www.freedesktop.org/standards/wm-spec.html&quot;&amp;gt;
+http://www.freedesktop.org/standards/wm-spec.html&amp;lt;/ulink&amp;gt; has a
+nice table of gravities in the &quot;implementation notes&quot; section.
+
+The Gtk::Window::get_position() documentation may also be relevant.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> X coordinate to move window to
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> Y coordinate to move window to
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+
+
+<function name="gdk_display_manager_list_displays">
+<description>
+List all currently open displays.
+
+@newin2p2
+</description>
+<parameters>
+<parameter name="display_manager">
+<parameter_description> a #GdkDisplayManager
+</parameter_description>
+</parameter>
+</parameters>
+<return> a list of #GdkDisplay objects.
+</return>
+</function>
+
+
+
+<function name="gdk_screen_get_toplevel_windows">
+<description>
+Obtains a list of all toplevel windows known to GDK on the screen @screen.
+A toplevel window is a child of the root window (see
+gdk_get_default_root_window()).
+@newin2p2
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> The #GdkScreen where the toplevels are located.
+</parameter_description>
+</parameter>
+</parameters>
+<return> list of toplevel windows.
+</return>
+</function>
+
+
+
+<function name="gdk_screen_list_visuals">
+<description>
+Lists the available visuals for the specified @screen.
+A visual describes a hardware image data format.
+For example, a visual might support 24-bit color, or 8-bit color,
+and might expect pixels to be in a certain format.
+@newin2p2
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> the relevant #GdkScreen.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a list of visuals.
+</return>
+</function>
+
+
+<function name="gdk_window_get_toplevels">
+<description>
+Obtains a list of all toplevel windows known to GDK on the default
+screen (see gdk_window_get_toplevels_for_screen()).
+A toplevel window is a child of the root window (see
+gdk_get_default_root_window()).
+
+
+</description>
+<parameters>
+</parameters>
+<return> list of toplevel windows.
+</return>
+</function>
+
+<function name="gdk_window_thaw_updates">
+<description>
+Thaws a window frozen with Gdk::Window::freeze_updates().
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+
+<function name="gdk_window_freeze_updates">
+<description>
+Temporarily freezes a window such that it won&apos;t receive expose
+events. The window will begin receiving expose events again when
+Gdk::Window::thaw_updates() is called. If Gdk::Window::freeze_updates()
+has been called more than once, Gdk::Window::thaw_updates() must be called
+an equal number of times to begin processing exposes.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_display_get_pointer">
+<description>
+Gets the current location of the pointer and the current modifier
+mask for a given display.
+
+@newin2p2
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="screen">
+<parameter_description> location to store the screen that the
+cursor is on.
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> location to store root window X coordinate of pointer.
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> location to store root window Y coordinate of pointer.
+</parameter_description>
+</parameter>
+<parameter name="mask">
+<parameter_description> location to store current modifier mask.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_set_pointer_hooks">
+<description>
+This function allows for hooking into the operation
+of getting the current location of the pointer. This
+is only useful for such low-level tools as an
+event recorder. Applications should never have any
+reason to use this facility.
+
+This function is not multihead safe. For multihead operation,
+see gdk_display_set_pointer_hooks().
+
+
+</description>
+<parameters>
+<parameter name="new_hooks">
+<parameter_description> a table of pointers to functions for getting
+quantities related to the current pointer position.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the previous pointer hook table
+</return>
+</function>
+
+<function name="gdk_window_set_icon">
+<description>
+Sets the icon of @window as a pixmap or window. If using GTK+, investigate
+gtk_window_set_default_icon_list() first, and then gtk_window_set_icon_list()
+and gtk_window_set_icon(). If those don&apos;t meet your needs, look at
+gdk_window_set_icon_list(). Only if all those are too high-level do you
+want to fall back to gdk_window_set_icon().
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a toplevel #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="icon_window">
+<parameter_description> a #GdkWindow to use for the icon.
+</parameter_description>
+</parameter>
+<parameter name="pixmap">
+<parameter_description> a #GdkPixmap to use as the icon,
+</parameter_description>
+</parameter>
+<parameter name="mask">
+<parameter_description> a 1-bit pixmap (#GdkBitmap) to use as mask for @pixmap.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_set_sm_client_id">
+<description>
+Sets the &amp;lt;literal&amp;gt;SM_CLIENT_ID&amp;lt;/literal&amp;gt; property on the application&apos;s leader window so that
+the window manager can save the application&apos;s state using the X11R6 ICCCM
+session management protocol.
+
+See the X Session Management Library documentation for more information on
+session management and the Inter-Client Communication Conventions Manual
+(ICCCM) for information on the &amp;lt;literal&amp;gt;WM_CLIENT_LEADER&amp;lt;/literal&amp;gt; property.
+(Both documents are part of the X Window System distribution.)
+
+</description>
+<parameters>
+<parameter name="sm_client_id">
+<parameter_description> the client id assigned by the session manager when the
+connection was opened.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_display_set_pointer_hooks">
+<description>
+This function allows for hooking into the operation
+of getting the current location of the pointer on a particular
+display. This is only useful for such low-level tools as an
+event recorder. Applications should never have any
+reason to use this facility.
+
+@newin2p2
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="new_hooks">
+<parameter_description> a table of pointers to functions for getting
+quantities related to the current pointer position.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the previous pointer hook table
+</return>
+</function>
+
+<function name="gdk_screen_make_display_name">
+<description>
+Determines the name to pass to gdk_display_open() to get
+a #GdkDisplay with this screen as the default screen.
+
+@newin2p2
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return> The name.
+</return>
+</function>
+
+<function name="gdk_drag_status">
+<description>
+Selects one of the actions offered by the drag source.
+
+This function is called by the drag destination in response to
+gdk_drag_motion() called by the drag source.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GdkDragContext.
+</parameter_description>
+</parameter>
+<parameter name="action">
+<parameter_description> the selected action which will be taken when a drop happens,
+or 0 to indicate that a drop will not be accepted.
+</parameter_description>
+</parameter>
+<parameter name="time_">
+<parameter_description> the timestamp for this operation.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+ <mapping class="Context" />
+</function>
+
+<function name="gdk_draw_point">
+ <mapping class="Drawable" />
+</function>
+
+<function name="gdk_draw_line">
+ <mapping class="Drawable" />
+</function>
+
+<function name="gdk_draw_rectangle">
+ <mapping class="Drawable" />
+</function>
+
+<function name="gdk_draw_arc">
+ <mapping class="Drawable" />
+</function>
+
+<function name="gdk_draw_drawable">
+ <mapping class="Drawable" />
+</function>
+
+<function name="gdk_draw_image">
+ <mapping class="Drawable" />
+</function>
+
+<function name="gdk_draw_segments">
+ <mapping class="Drawable" />
+</function>
+
+<function name="gdk_draw_glyphs">
+ <mapping class="Drawable" />
+</function>
+
+<function name="gdk_draw_layout_line">
+ <mapping class="Drawable" />
+</function>
+
+<function name="gdk_draw_layout_line_with_colors">
+ <mapping class="Drawable" />
+</function>
+
+<function name="gdk_draw_layout">
+ <mapping class="Drawable" />
+</function>
+
+<function name="gdk_draw_layout_with_colors">
+ <mapping class="Drawable" />
+</function>
+
+<function name="gdk_draw_pixbuf">
+ <mapping class="Drawable" />
+</function>
+
+<function name="gdk_draw_rgb_32_image_dithalign">
+ <mapping class="Drawable" />
+</function>
+
+<function name="gdk_drag_get_protocol_for_display">
+ <mapping class="Display" />
+</function>
+
+<function name="gdk_keymap_get_for_display">
+ <mapping class="Display" />
+</function>
+
+<function name="gdk_pixmap_lookup_for_display">
+ <mapping class="Display" />
+</function>
+
+<function name="gdk_display_pointer_ungrab">
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay.
+</parameter_description>
+</parameter>
+<parameter name="timestamp">
+<parameter_description> a timestap (e.g. GDK_CURRENT_TIME).
+</parameter_description>
+</parameter>
+</parameters>
+</function>
+
+<function name="gdk_display_keyboard_ungrab">
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay.
+</parameter_description>
+</parameter>
+<parameter name="timestamp">
+<parameter_description> a timestap (e.g #GDK_CURRENT_TIME).
+</parameter_description>
+</parameter>
+</parameters>
+</function>
+
+<function name="gdk_pointer_ungrab">
+<parameters>
+<parameter name="timestamp">
+<parameter_description> a timestamp from a #GdkEvent, or %GDK_CURRENT_TIME if no
+timestamp is available.
+</parameter_description>
+</parameter>
+</parameters>
+</function>
+
+<function name="gdk_keyboard_ungrab">
+<parameters>
+<parameter name="timestamp">
+<parameter_description> a timestamp from a #GdkEvent, or %GDK_CURRENT_TIME if no
+timestamp is available.
+</parameter_description>
+</parameter>
+</parameters>
+</function>
+
+<function name="gdk_drop_finish">
+ <mapping class="Context" />
+</function>
+
+<function name="gdk_drop_reply">
+ <mapping class="Context" />
+</function>
+
+<function name="gdk_drag_find_window_for_screen">
+ <mapping class="Context" />
+</function>
+
+<function name="gdk_drag_get_selection">
+ <mapping class="Context" />
+</function>
+
+<function name="gdk_pixbuf_new_subpixbuf">
+<parameters>
+<parameter name="dummy">
+<parameter_description> dummy parameter, this is a static function but the name
+idicates a class, so this one will be stripped not the actual first parameter
+</parameter_description>
+</parameter>
+<parameter name="src_pixbuf">
+<parameter_description> a #GdkPixbuf
+</parameter_description>
+</parameter>
+<parameter name="src_x">
+<parameter_description> X coord in @src_pixbuf
+</parameter_description>
+</parameter>
+<parameter name="src_y">
+<parameter_description> Y coord in @src_pixbuf
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of region in @src_pixbuf
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height of region in @src_pixbuf
+</parameter_description>
+</parameter>
+</parameters>
+</function>
+
+<function name="gdk_window_set_cursor">
+<description>
+Sets the mouse pointer for a #GdkWindow.
+To make the cursor invisible, use gdk_cursor_new_from_pixmap() to create
+a cursor with no pixels in it.
+</description>
+
+</function>
+
+<function name="gdk_cairo_create">
+<description>
+Creates a Cairo context for drawing to @drawable.
+</description>
+<parameters>
+</parameters>
+<return> A newly created Cairo context.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gdk_drawable_get_image">
+<description>
+A #GdkImage stores client-side image data (pixels). In contrast,
+#GdkPixmap and #GdkWindow are server-side
+objects. gdk_drawable_get_image() obtains the pixels from a
+server-side drawable as a client-side #GdkImage. The format of a
+#GdkImage depends on the #GdkVisual of the current display, which
+makes manipulating #GdkImage extremely difficult; therefore, in
+most cases you should use the Gdk::Pixbuf::create() method that takes a Gdk::Drawable,
+instead of this lower-level function. A #GdkPixbuf contains image data in a
+canonicalized RGB format, rather than a display-dependent format.
+Of course, there&apos;s a convenience vs. speed tradeoff here, so you&apos;ll
+want to think about what makes sense for your application.
+
+@x, @y, @width, and @height define the region of @drawable to
+obtain as an image.
+
+You would usually copy image data to the client side if you intend
+to examine the values of individual pixels, for example to darken
+an image or add a red tint. It would be prohibitively slow to
+make a round-trip request to the windowing system for each pixel,
+so instead you get all of them at once, modify them, then copy
+them all back at once.
+
+If the X server or other windowing system backend is on the local
+machine, this function may use shared memory to avoid copying
+the image data.
+
+If the source drawable is a #GdkWindow and partially offscreen
+or obscured, then the obscured portions of the returned image
+will contain undefined data.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x coordinate on @drawable
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y coordinate on @drawable
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of region to get
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height or region to get
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GdkImage containing the contents of @drawable
+</return>
+</function>
+
+<function name="gdk_window_get_update_area">
+<description>
+Transfers ownership of the update area from @window to the caller
+of the function. That is, after calling this function, @window will
+no longer have an invalid/dirty region; the update area is removed
+from @window and handed to you. If a window has no update area,
+get_update_area() returns an invalid Region.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> the update area for @window
+</return>
+</function>
+
+</root>
diff --git a/libs/gtkmm2/gdk/src/gdk_enums.defs b/libs/gtkmm2/gdk/src/gdk_enums.defs
new file mode 100644
index 0000000000..6ed84bdc78
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/gdk_enums.defs
@@ -0,0 +1,777 @@
+;; From /home/murrayc/svn/gnome218/gtk+/gdk/gdkcursor.h
+
+(define-enum-extended CursorType
+ (in-module "Gdk")
+ (c-name "GdkCursorType")
+ (values
+ '("x-cursor" "GDK_X_CURSOR" "0")
+ '("arrow" "GDK_ARROW" "2")
+ '("based-arrow-down" "GDK_BASED_ARROW_DOWN" "4")
+ '("based-arrow-up" "GDK_BASED_ARROW_UP" "6")
+ '("boat" "GDK_BOAT" "8")
+ '("bogosity" "GDK_BOGOSITY" "10")
+ '("bottom-left-corner" "GDK_BOTTOM_LEFT_CORNER" "12")
+ '("bottom-right-corner" "GDK_BOTTOM_RIGHT_CORNER" "14")
+ '("bottom-side" "GDK_BOTTOM_SIDE" "16")
+ '("bottom-tee" "GDK_BOTTOM_TEE" "18")
+ '("box-spiral" "GDK_BOX_SPIRAL" "20")
+ '("center-ptr" "GDK_CENTER_PTR" "22")
+ '("circle" "GDK_CIRCLE" "24")
+ '("clock" "GDK_CLOCK" "26")
+ '("coffee-mug" "GDK_COFFEE_MUG" "28")
+ '("cross" "GDK_CROSS" "30")
+ '("cross-reverse" "GDK_CROSS_REVERSE" "32")
+ '("crosshair" "GDK_CROSSHAIR" "34")
+ '("diamond-cross" "GDK_DIAMOND_CROSS" "36")
+ '("dot" "GDK_DOT" "38")
+ '("dotbox" "GDK_DOTBOX" "40")
+ '("double-arrow" "GDK_DOUBLE_ARROW" "42")
+ '("draft-large" "GDK_DRAFT_LARGE" "44")
+ '("draft-small" "GDK_DRAFT_SMALL" "46")
+ '("draped-box" "GDK_DRAPED_BOX" "48")
+ '("exchange" "GDK_EXCHANGE" "50")
+ '("fleur" "GDK_FLEUR" "52")
+ '("gobbler" "GDK_GOBBLER" "54")
+ '("gumby" "GDK_GUMBY" "56")
+ '("hand1" "GDK_HAND1" "58")
+ '("hand2" "GDK_HAND2" "60")
+ '("heart" "GDK_HEART" "62")
+ '("icon" "GDK_ICON" "64")
+ '("iron-cross" "GDK_IRON_CROSS" "66")
+ '("left-ptr" "GDK_LEFT_PTR" "68")
+ '("left-side" "GDK_LEFT_SIDE" "70")
+ '("left-tee" "GDK_LEFT_TEE" "72")
+ '("leftbutton" "GDK_LEFTBUTTON" "74")
+ '("ll-angle" "GDK_LL_ANGLE" "76")
+ '("lr-angle" "GDK_LR_ANGLE" "78")
+ '("man" "GDK_MAN" "80")
+ '("middlebutton" "GDK_MIDDLEBUTTON" "82")
+ '("mouse" "GDK_MOUSE" "84")
+ '("pencil" "GDK_PENCIL" "86")
+ '("pirate" "GDK_PIRATE" "88")
+ '("plus" "GDK_PLUS" "90")
+ '("question-arrow" "GDK_QUESTION_ARROW" "92")
+ '("right-ptr" "GDK_RIGHT_PTR" "94")
+ '("right-side" "GDK_RIGHT_SIDE" "96")
+ '("right-tee" "GDK_RIGHT_TEE" "98")
+ '("rightbutton" "GDK_RIGHTBUTTON" "100")
+ '("rtl-logo" "GDK_RTL_LOGO" "102")
+ '("sailboat" "GDK_SAILBOAT" "104")
+ '("sb-down-arrow" "GDK_SB_DOWN_ARROW" "106")
+ '("sb-h-double-arrow" "GDK_SB_H_DOUBLE_ARROW" "108")
+ '("sb-left-arrow" "GDK_SB_LEFT_ARROW" "110")
+ '("sb-right-arrow" "GDK_SB_RIGHT_ARROW" "112")
+ '("sb-up-arrow" "GDK_SB_UP_ARROW" "114")
+ '("sb-v-double-arrow" "GDK_SB_V_DOUBLE_ARROW" "116")
+ '("shuttle" "GDK_SHUTTLE" "118")
+ '("sizing" "GDK_SIZING" "120")
+ '("spider" "GDK_SPIDER" "122")
+ '("spraycan" "GDK_SPRAYCAN" "124")
+ '("star" "GDK_STAR" "126")
+ '("target" "GDK_TARGET" "128")
+ '("tcross" "GDK_TCROSS" "130")
+ '("top-left-arrow" "GDK_TOP_LEFT_ARROW" "132")
+ '("top-left-corner" "GDK_TOP_LEFT_CORNER" "134")
+ '("top-right-corner" "GDK_TOP_RIGHT_CORNER" "136")
+ '("top-side" "GDK_TOP_SIDE" "138")
+ '("top-tee" "GDK_TOP_TEE" "140")
+ '("trek" "GDK_TREK" "142")
+ '("ul-angle" "GDK_UL_ANGLE" "144")
+ '("umbrella" "GDK_UMBRELLA" "146")
+ '("ur-angle" "GDK_UR_ANGLE" "148")
+ '("watch" "GDK_WATCH" "150")
+ '("xterm" "GDK_XTERM" "152")
+ '("last-cursor" "GDK_LAST_CURSOR" "153")
+ '("cursor-is-pixmap" "GDK_CURSOR_IS_PIXMAP" "-1")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gdk/gdkdnd.h
+
+(define-flags-extended DragAction
+ (in-module "Gdk")
+ (c-name "GdkDragAction")
+ (values
+ '("default" "GDK_ACTION_DEFAULT" "1 << 0")
+ '("copy" "GDK_ACTION_COPY" "1 << 1")
+ '("move" "GDK_ACTION_MOVE" "1 << 2")
+ '("link" "GDK_ACTION_LINK" "1 << 3")
+ '("private" "GDK_ACTION_PRIVATE" "1 << 4")
+ '("ask" "GDK_ACTION_ASK" "1 << 5")
+ )
+)
+
+(define-enum-extended DragProtocol
+ (in-module "Gdk")
+ (c-name "GdkDragProtocol")
+ (values
+ '("motif" "GDK_DRAG_PROTO_MOTIF" "0")
+ '("xdnd" "GDK_DRAG_PROTO_XDND" "1")
+ '("none" "GDK_DRAG_PROTO_NONE" "2")
+ '("win32-dropfiles" "GDK_DRAG_PROTO_WIN32_DROPFILES" "3")
+ '("ole2" "GDK_DRAG_PROTO_OLE2" "4")
+ '("local" "GDK_DRAG_PROTO_LOCAL" "5")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gdk/gdkevents.h
+
+(define-enum-extended FilterReturn
+ (in-module "Gdk")
+ (c-name "GdkFilterReturn")
+ (values
+ '("continue" "GDK_FILTER_CONTINUE" "0")
+ '("remove" "GDK_FILTER_REMOVE" "1")
+ )
+)
+
+(define-enum-extended EventType
+ (in-module "Gdk")
+ (c-name "GdkEventType")
+ (values
+ '("nothing" "GDK_NOTHING" "-1")
+ '("delete" "GDK_DELETE" "0")
+ '("destroy" "GDK_DESTROY" "1")
+ '("expose" "GDK_EXPOSE" "2")
+ '("motion-notify" "GDK_MOTION_NOTIFY" "3")
+ '("button-press" "GDK_BUTTON_PRESS" "4")
+ '("2button-press" "GDK_2BUTTON_PRESS" "5")
+ '("3button-press" "GDK_3BUTTON_PRESS" "6")
+ '("button-release" "GDK_BUTTON_RELEASE" "7")
+ '("key-press" "GDK_KEY_PRESS" "8")
+ '("key-release" "GDK_KEY_RELEASE" "9")
+ '("enter-notify" "GDK_ENTER_NOTIFY" "10")
+ '("leave-notify" "GDK_LEAVE_NOTIFY" "11")
+ '("focus-change" "GDK_FOCUS_CHANGE" "12")
+ '("configure" "GDK_CONFIGURE" "13")
+ '("map" "GDK_MAP" "14")
+ '("unmap" "GDK_UNMAP" "15")
+ '("property-notify" "GDK_PROPERTY_NOTIFY" "16")
+ '("selection-clear" "GDK_SELECTION_CLEAR" "17")
+ '("selection-request" "GDK_SELECTION_REQUEST" "18")
+ '("selection-notify" "GDK_SELECTION_NOTIFY" "19")
+ '("proximity-in" "GDK_PROXIMITY_IN" "20")
+ '("proximity-out" "GDK_PROXIMITY_OUT" "21")
+ '("drag-enter" "GDK_DRAG_ENTER" "22")
+ '("drag-leave" "GDK_DRAG_LEAVE" "23")
+ '("drag-motion" "GDK_DRAG_MOTION" "24")
+ '("drag-status" "GDK_DRAG_STATUS" "25")
+ '("drop-start" "GDK_DROP_START" "26")
+ '("drop-finished" "GDK_DROP_FINISHED" "27")
+ '("client-event" "GDK_CLIENT_EVENT" "28")
+ '("visibility-notify" "GDK_VISIBILITY_NOTIFY" "29")
+ '("no-expose" "GDK_NO_EXPOSE" "30")
+ '("scroll" "GDK_SCROLL" "31")
+ '("window-state" "GDK_WINDOW_STATE" "32")
+ '("setting" "GDK_SETTING" "33")
+ '("owner-change" "GDK_OWNER_CHANGE" "34")
+ '("grab-broken" "GDK_GRAB_BROKEN" "35")
+ )
+)
+
+(define-flags-extended EventMask
+ (in-module "Gdk")
+ (c-name "GdkEventMask")
+ (values
+ '("exposure-mask" "GDK_EXPOSURE_MASK" "1 << 1")
+ '("pointer-motion-mask" "GDK_POINTER_MOTION_MASK" "1 << 2")
+ '("pointer-motion-hint-mask" "GDK_POINTER_MOTION_HINT_MASK" "1 << 3")
+ '("button-motion-mask" "GDK_BUTTON_MOTION_MASK" "1 << 4")
+ '("button1-motion-mask" "GDK_BUTTON1_MOTION_MASK" "1 << 5")
+ '("button2-motion-mask" "GDK_BUTTON2_MOTION_MASK" "1 << 6")
+ '("button3-motion-mask" "GDK_BUTTON3_MOTION_MASK" "1 << 7")
+ '("button-press-mask" "GDK_BUTTON_PRESS_MASK" "1 << 8")
+ '("button-release-mask" "GDK_BUTTON_RELEASE_MASK" "1 << 9")
+ '("key-press-mask" "GDK_KEY_PRESS_MASK" "1 << 10")
+ '("key-release-mask" "GDK_KEY_RELEASE_MASK" "1 << 11")
+ '("enter-notify-mask" "GDK_ENTER_NOTIFY_MASK" "1 << 12")
+ '("leave-notify-mask" "GDK_LEAVE_NOTIFY_MASK" "1 << 13")
+ '("focus-change-mask" "GDK_FOCUS_CHANGE_MASK" "1 << 14")
+ '("structure-mask" "GDK_STRUCTURE_MASK" "1 << 15")
+ '("property-change-mask" "GDK_PROPERTY_CHANGE_MASK" "1 << 16")
+ '("visibility-notify-mask" "GDK_VISIBILITY_NOTIFY_MASK" "1 << 17")
+ '("proximity-in-mask" "GDK_PROXIMITY_IN_MASK" "1 << 18")
+ '("proximity-out-mask" "GDK_PROXIMITY_OUT_MASK" "1 << 19")
+ '("substructure-mask" "GDK_SUBSTRUCTURE_MASK" "1 << 20")
+ '("scroll-mask" "GDK_SCROLL_MASK" "1 << 21")
+ '("all-events-mask" "GDK_ALL_EVENTS_MASK" "0x3FFFFE")
+ )
+)
+
+(define-enum-extended VisibilityState
+ (in-module "Gdk")
+ (c-name "GdkVisibilityState")
+ (values
+ '("unobscured" "GDK_VISIBILITY_UNOBSCURED" "0")
+ '("partial" "GDK_VISIBILITY_PARTIAL" "1")
+ '("fully-obscured" "GDK_VISIBILITY_FULLY_OBSCURED" "2")
+ )
+)
+
+(define-enum-extended ScrollDirection
+ (in-module "Gdk")
+ (c-name "GdkScrollDirection")
+ (values
+ '("up" "GDK_SCROLL_UP" "0")
+ '("down" "GDK_SCROLL_DOWN" "1")
+ '("left" "GDK_SCROLL_LEFT" "2")
+ '("right" "GDK_SCROLL_RIGHT" "3")
+ )
+)
+
+(define-enum-extended NotifyType
+ (in-module "Gdk")
+ (c-name "GdkNotifyType")
+ (values
+ '("ancestor" "GDK_NOTIFY_ANCESTOR" "0")
+ '("virtual" "GDK_NOTIFY_VIRTUAL" "1")
+ '("inferior" "GDK_NOTIFY_INFERIOR" "2")
+ '("nonlinear" "GDK_NOTIFY_NONLINEAR" "3")
+ '("nonlinear-virtual" "GDK_NOTIFY_NONLINEAR_VIRTUAL" "4")
+ '("unknown" "GDK_NOTIFY_UNKNOWN" "5")
+ )
+)
+
+(define-enum-extended CrossingMode
+ (in-module "Gdk")
+ (c-name "GdkCrossingMode")
+ (values
+ '("normal" "GDK_CROSSING_NORMAL" "0")
+ '("grab" "GDK_CROSSING_GRAB" "1")
+ '("ungrab" "GDK_CROSSING_UNGRAB" "2")
+ )
+)
+
+(define-enum-extended PropertyState
+ (in-module "Gdk")
+ (c-name "GdkPropertyState")
+ (values
+ '("new-value" "GDK_PROPERTY_NEW_VALUE" "0")
+ '("delete" "GDK_PROPERTY_DELETE" "1")
+ )
+)
+
+(define-flags-extended WindowState
+ (in-module "Gdk")
+ (c-name "GdkWindowState")
+ (values
+ '("withdrawn" "GDK_WINDOW_STATE_WITHDRAWN" "1 << 0")
+ '("iconified" "GDK_WINDOW_STATE_ICONIFIED" "1 << 1")
+ '("maximized" "GDK_WINDOW_STATE_MAXIMIZED" "1 << 2")
+ '("sticky" "GDK_WINDOW_STATE_STICKY" "1 << 3")
+ '("fullscreen" "GDK_WINDOW_STATE_FULLSCREEN" "1 << 4")
+ '("above" "GDK_WINDOW_STATE_ABOVE" "1 << 5")
+ '("below" "GDK_WINDOW_STATE_BELOW" "1 << 6")
+ )
+)
+
+(define-enum-extended SettingAction
+ (in-module "Gdk")
+ (c-name "GdkSettingAction")
+ (values
+ '("new" "GDK_SETTING_ACTION_NEW" "0")
+ '("changed" "GDK_SETTING_ACTION_CHANGED" "1")
+ '("deleted" "GDK_SETTING_ACTION_DELETED" "2")
+ )
+)
+
+(define-enum-extended OwnerChange
+ (in-module "Gdk")
+ (c-name "GdkOwnerChange")
+ (values
+ '("new-owner" "GDK_OWNER_CHANGE_NEW_OWNER" "0")
+ '("destroy" "GDK_OWNER_CHANGE_DESTROY" "1")
+ '("close" "GDK_OWNER_CHANGE_CLOSE" "2")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gdk/gdkfont.h
+
+(define-enum-extended FontType
+ (in-module "Gdk")
+ (c-name "GdkFontType")
+ (values
+ '("font" "GDK_FONT_FONT" "0")
+ '("fontset" "GDK_FONT_FONTSET" "1")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gdk/gdkgc.h
+
+(define-enum-extended CapStyle
+ (in-module "Gdk")
+ (c-name "GdkCapStyle")
+ (values
+ '("not-last" "GDK_CAP_NOT_LAST" "0")
+ '("butt" "GDK_CAP_BUTT" "1")
+ '("round" "GDK_CAP_ROUND" "2")
+ '("projecting" "GDK_CAP_PROJECTING" "3")
+ )
+)
+
+(define-enum-extended Fill
+ (in-module "Gdk")
+ (c-name "GdkFill")
+ (values
+ '("solid" "GDK_SOLID" "0")
+ '("tiled" "GDK_TILED" "1")
+ '("stippled" "GDK_STIPPLED" "2")
+ '("opaque-stippled" "GDK_OPAQUE_STIPPLED" "3")
+ )
+)
+
+(define-enum-extended Function
+ (in-module "Gdk")
+ (c-name "GdkFunction")
+ (values
+ '("copy" "GDK_COPY" "0")
+ '("invert" "GDK_INVERT" "1")
+ '("xor" "GDK_XOR" "2")
+ '("clear" "GDK_CLEAR" "3")
+ '("and" "GDK_AND" "4")
+ '("and-reverse" "GDK_AND_REVERSE" "5")
+ '("and-invert" "GDK_AND_INVERT" "6")
+ '("noop" "GDK_NOOP" "7")
+ '("or" "GDK_OR" "8")
+ '("equiv" "GDK_EQUIV" "9")
+ '("or-reverse" "GDK_OR_REVERSE" "10")
+ '("copy-invert" "GDK_COPY_INVERT" "11")
+ '("or-invert" "GDK_OR_INVERT" "12")
+ '("nand" "GDK_NAND" "13")
+ '("nor" "GDK_NOR" "14")
+ '("set" "GDK_SET" "15")
+ )
+)
+
+(define-enum-extended JoinStyle
+ (in-module "Gdk")
+ (c-name "GdkJoinStyle")
+ (values
+ '("miter" "GDK_JOIN_MITER" "0")
+ '("round" "GDK_JOIN_ROUND" "1")
+ '("bevel" "GDK_JOIN_BEVEL" "2")
+ )
+)
+
+(define-enum-extended LineStyle
+ (in-module "Gdk")
+ (c-name "GdkLineStyle")
+ (values
+ '("solid" "GDK_LINE_SOLID" "0")
+ '("on-off-dash" "GDK_LINE_ON_OFF_DASH" "1")
+ '("double-dash" "GDK_LINE_DOUBLE_DASH" "2")
+ )
+)
+
+(define-enum-extended SubwindowMode
+ (in-module "Gdk")
+ (c-name "GdkSubwindowMode")
+ (values
+ '("clip-by-children" "GDK_CLIP_BY_CHILDREN" "0")
+ '("include-inferiors" "GDK_INCLUDE_INFERIORS" "1")
+ )
+)
+
+(define-flags-extended GCValuesMask
+ (in-module "Gdk")
+ (c-name "GdkGCValuesMask")
+ (values
+ '("foreground" "GDK_GC_FOREGROUND" "1 << 0")
+ '("background" "GDK_GC_BACKGROUND" "1 << 1")
+ '("font" "GDK_GC_FONT" "1 << 2")
+ '("function" "GDK_GC_FUNCTION" "1 << 3")
+ '("fill" "GDK_GC_FILL" "1 << 4")
+ '("tile" "GDK_GC_TILE" "1 << 5")
+ '("stipple" "GDK_GC_STIPPLE" "1 << 6")
+ '("clip-mask" "GDK_GC_CLIP_MASK" "1 << 7")
+ '("subwindow" "GDK_GC_SUBWINDOW" "1 << 8")
+ '("ts-x-origin" "GDK_GC_TS_X_ORIGIN" "1 << 9")
+ '("ts-y-origin" "GDK_GC_TS_Y_ORIGIN" "1 << 10")
+ '("clip-x-origin" "GDK_GC_CLIP_X_ORIGIN" "1 << 11")
+ '("clip-y-origin" "GDK_GC_CLIP_Y_ORIGIN" "1 << 12")
+ '("exposures" "GDK_GC_EXPOSURES" "1 << 13")
+ '("line-width" "GDK_GC_LINE_WIDTH" "1 << 14")
+ '("line-style" "GDK_GC_LINE_STYLE" "1 << 15")
+ '("cap-style" "GDK_GC_CAP_STYLE" "1 << 16")
+ '("join-style" "GDK_GC_JOIN_STYLE" "1 << 17")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gdk/gdkimage.h
+
+(define-enum-extended ImageType
+ (in-module "Gdk")
+ (c-name "GdkImageType")
+ (values
+ '("normal" "GDK_IMAGE_NORMAL" "0")
+ '("shared" "GDK_IMAGE_SHARED" "1")
+ '("fastest" "GDK_IMAGE_FASTEST" "2")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gdk/gdkinput.h
+
+(define-enum-extended ExtensionMode
+ (in-module "Gdk")
+ (c-name "GdkExtensionMode")
+ (values
+ '("none" "GDK_EXTENSION_EVENTS_NONE" "0")
+ '("all" "GDK_EXTENSION_EVENTS_ALL" "1")
+ '("cursor" "GDK_EXTENSION_EVENTS_CURSOR" "2")
+ )
+)
+
+(define-enum-extended InputSource
+ (in-module "Gdk")
+ (c-name "GdkInputSource")
+ (values
+ '("mouse" "GDK_SOURCE_MOUSE" "0")
+ '("pen" "GDK_SOURCE_PEN" "1")
+ '("eraser" "GDK_SOURCE_ERASER" "2")
+ '("cursor" "GDK_SOURCE_CURSOR" "3")
+ )
+)
+
+(define-enum-extended InputMode
+ (in-module "Gdk")
+ (c-name "GdkInputMode")
+ (values
+ '("disabled" "GDK_MODE_DISABLED" "0")
+ '("screen" "GDK_MODE_SCREEN" "1")
+ '("window" "GDK_MODE_WINDOW" "2")
+ )
+)
+
+(define-enum-extended AxisUse
+ (in-module "Gdk")
+ (c-name "GdkAxisUse")
+ (values
+ '("ignore" "GDK_AXIS_IGNORE" "0")
+ '("x" "GDK_AXIS_X" "1")
+ '("y" "GDK_AXIS_Y" "2")
+ '("pressure" "GDK_AXIS_PRESSURE" "3")
+ '("xtilt" "GDK_AXIS_XTILT" "4")
+ '("ytilt" "GDK_AXIS_YTILT" "5")
+ '("wheel" "GDK_AXIS_WHEEL" "6")
+ '("last" "GDK_AXIS_LAST" "7")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gdk/gdkinternals.h
+
+(define-flags-extended ColorInfoFlags
+ (in-module "Gdk")
+ (c-name "GdkColorInfoFlags")
+ (values
+ '("e" "GDK_COLOR_WRITEABLE" "1 << 0")
+ )
+)
+
+(define-flags-extended DebugFlag
+ (in-module "Gdk")
+ (c-name "GdkDebugFlag")
+ (values
+ '("misc" "GDK_DEBUG_MISC" "1 << 0")
+ '("events" "GDK_DEBUG_EVENTS" "1 << 1")
+ '("dnd" "GDK_DEBUG_DND" "1 << 2")
+ '("xim" "GDK_DEBUG_XIM" "1 << 3")
+ '("nograbs" "GDK_DEBUG_NOGRABS" "1 << 4")
+ '("colormap" "GDK_DEBUG_COLORMAP" "1 << 5")
+ '("gdkrgb" "GDK_DEBUG_GDKRGB" "1 << 6")
+ '("gc" "GDK_DEBUG_GC" "1 << 7")
+ '("pixmap" "GDK_DEBUG_PIXMAP" "1 << 8")
+ '("image" "GDK_DEBUG_IMAGE" "1 << 9")
+ '("input" "GDK_DEBUG_INPUT" "1 <<10")
+ '("cursor" "GDK_DEBUG_CURSOR" "1 <<11")
+ '("multihead" "GDK_DEBUG_MULTIHEAD" "1 <<12")
+ '("xinerama" "GDK_DEBUG_XINERAMA" "1 <<13")
+ '("draw" "GDK_DEBUG_DRAW" "1 <<14")
+ )
+)
+
+(define-enum-extended ArgType
+ (in-module "Gdk")
+ (c-name "GdkArgType")
+ (values
+ '("string" "GDK_ARG_STRING" "0")
+ '("int" "GDK_ARG_INT" "1")
+ '("bool" "GDK_ARG_BOOL" "2")
+ '("nobool" "GDK_ARG_NOBOOL" "3")
+ '("callback" "GDK_ARG_CALLBACK" "4")
+ )
+)
+
+(define-flags-extended EventFlags
+ (in-module "Gdk")
+ (c-name "GdkEventFlags")
+ (values
+ '("g" "GDK_EVENT_PENDING" "1 << 0")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gdk/gdkproperty.h
+
+(define-enum-extended PropMode
+ (in-module "Gdk")
+ (c-name "GdkPropMode")
+ (values
+ '("replace" "GDK_PROP_MODE_REPLACE" "0")
+ '("prepend" "GDK_PROP_MODE_PREPEND" "1")
+ '("append" "GDK_PROP_MODE_APPEND" "2")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gdk/gdkregion.h
+
+(define-enum-extended FillRule
+ (in-module "Gdk")
+ (c-name "GdkFillRule")
+ (values
+ '("even-odd-rule" "GDK_EVEN_ODD_RULE" "0")
+ '("winding-rule" "GDK_WINDING_RULE" "1")
+ )
+)
+
+(define-enum-extended OverlapType
+ (in-module "Gdk")
+ (c-name "GdkOverlapType")
+ (values
+ '("in" "GDK_OVERLAP_RECTANGLE_IN" "0")
+ '("out" "GDK_OVERLAP_RECTANGLE_OUT" "1")
+ '("part" "GDK_OVERLAP_RECTANGLE_PART" "2")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gdk/gdkrgb.h
+
+(define-enum-extended RgbDither
+ (in-module "Gdk")
+ (c-name "GdkRgbDither")
+ (values
+ '("none" "GDK_RGB_DITHER_NONE" "0")
+ '("normal" "GDK_RGB_DITHER_NORMAL" "1")
+ '("max" "GDK_RGB_DITHER_MAX" "2")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gdk/gdktypes.h
+
+(define-enum-extended ByteOrder
+ (in-module "Gdk")
+ (c-name "GdkByteOrder")
+ (values
+ '("lsb-first" "GDK_LSB_FIRST" "0")
+ '("msb-first" "GDK_MSB_FIRST" "1")
+ )
+)
+
+(define-flags-extended ModifierType
+ (in-module "Gdk")
+ (c-name "GdkModifierType")
+ (values
+ '("shift-mask" "GDK_SHIFT_MASK" "1 << 0")
+ '("lock-mask" "GDK_LOCK_MASK" "1 << 1")
+ '("control-mask" "GDK_CONTROL_MASK" "1 << 2")
+ '("mod1-mask" "GDK_MOD1_MASK" "1 << 3")
+ '("mod2-mask" "GDK_MOD2_MASK" "1 << 4")
+ '("mod3-mask" "GDK_MOD3_MASK" "1 << 5")
+ '("mod4-mask" "GDK_MOD4_MASK" "1 << 6")
+ '("mod5-mask" "GDK_MOD5_MASK" "1 << 7")
+ '("button1-mask" "GDK_BUTTON1_MASK" "1 << 8")
+ '("button2-mask" "GDK_BUTTON2_MASK" "1 << 9")
+ '("button3-mask" "GDK_BUTTON3_MASK" "1 << 10")
+ '("button4-mask" "GDK_BUTTON4_MASK" "1 << 11")
+ '("button5-mask" "GDK_BUTTON5_MASK" "1 << 12")
+ '("super-mask" "GDK_SUPER_MASK" "1 << 26")
+ '("hyper-mask" "GDK_HYPER_MASK" "1 << 27")
+ '("meta-mask" "GDK_META_MASK" "1 << 28")
+ '("release-mask" "GDK_RELEASE_MASK" "1 << 30")
+ '("modifier-mask" "GDK_MODIFIER_MASK" "0x5c001fff")
+ )
+)
+
+(define-flags-extended InputCondition
+ (in-module "Gdk")
+ (c-name "GdkInputCondition")
+ (values
+ '("read" "GDK_INPUT_READ" "1 << 0")
+ '("write" "GDK_INPUT_WRITE" "1 << 1")
+ '("exception" "GDK_INPUT_EXCEPTION" "1 << 2")
+ )
+)
+
+(define-enum-extended Status
+ (in-module "Gdk")
+ (c-name "GdkStatus")
+ (values
+ '("ok" "GDK_OK" "0")
+ '("error" "GDK_ERROR" "-1")
+ '("error-param" "GDK_ERROR_PARAM" "-2")
+ '("error-file" "GDK_ERROR_FILE" "-3")
+ '("error-mem" "GDK_ERROR_MEM" "-4")
+ )
+)
+
+(define-enum-extended GrabStatus
+ (in-module "Gdk")
+ (c-name "GdkGrabStatus")
+ (values
+ '("success" "GDK_GRAB_SUCCESS" "0")
+ '("already-grabbed" "GDK_GRAB_ALREADY_GRABBED" "1")
+ '("invalid-time" "GDK_GRAB_INVALID_TIME" "2")
+ '("not-viewable" "GDK_GRAB_NOT_VIEWABLE" "3")
+ '("frozen" "GDK_GRAB_FROZEN" "4")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gdk/gdkvisual.h
+
+(define-enum-extended VisualType
+ (in-module "Gdk")
+ (c-name "GdkVisualType")
+ (values
+ '("static-gray" "GDK_VISUAL_STATIC_GRAY" "0")
+ '("grayscale" "GDK_VISUAL_GRAYSCALE" "1")
+ '("static-color" "GDK_VISUAL_STATIC_COLOR" "2")
+ '("pseudo-color" "GDK_VISUAL_PSEUDO_COLOR" "3")
+ '("true-color" "GDK_VISUAL_TRUE_COLOR" "4")
+ '("direct-color" "GDK_VISUAL_DIRECT_COLOR" "5")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gdk/gdkwindow.h
+
+(define-enum-extended WindowClass
+ (in-module "Gdk")
+ (c-name "GdkWindowClass")
+ (values
+ '("output" "GDK_INPUT_OUTPUT" "0")
+ '("only" "GDK_INPUT_ONLY" "1")
+ )
+)
+
+(define-enum-extended WindowType
+ (in-module "Gdk")
+ (c-name "GdkWindowType")
+ (values
+ '("root" "GDK_WINDOW_ROOT" "0")
+ '("toplevel" "GDK_WINDOW_TOPLEVEL" "1")
+ '("child" "GDK_WINDOW_CHILD" "2")
+ '("dialog" "GDK_WINDOW_DIALOG" "3")
+ '("temp" "GDK_WINDOW_TEMP" "4")
+ '("foreign" "GDK_WINDOW_FOREIGN" "5")
+ )
+)
+
+(define-flags-extended WindowAttributesType
+ (in-module "Gdk")
+ (c-name "GdkWindowAttributesType")
+ (values
+ '("title" "GDK_WA_TITLE" "1 << 1")
+ '("x" "GDK_WA_X" "1 << 2")
+ '("y" "GDK_WA_Y" "1 << 3")
+ '("cursor" "GDK_WA_CURSOR" "1 << 4")
+ '("colormap" "GDK_WA_COLORMAP" "1 << 5")
+ '("visual" "GDK_WA_VISUAL" "1 << 6")
+ '("wmclass" "GDK_WA_WMCLASS" "1 << 7")
+ '("noredir" "GDK_WA_NOREDIR" "1 << 8")
+ '("type-hint" "GDK_WA_TYPE_HINT" "1 << 9")
+ )
+)
+
+(define-flags-extended WindowHints
+ (in-module "Gdk")
+ (c-name "GdkWindowHints")
+ (values
+ '("pos" "GDK_HINT_POS" "1 << 0")
+ '("min-size" "GDK_HINT_MIN_SIZE" "1 << 1")
+ '("max-size" "GDK_HINT_MAX_SIZE" "1 << 2")
+ '("base-size" "GDK_HINT_BASE_SIZE" "1 << 3")
+ '("aspect" "GDK_HINT_ASPECT" "1 << 4")
+ '("resize-inc" "GDK_HINT_RESIZE_INC" "1 << 5")
+ '("win-gravity" "GDK_HINT_WIN_GRAVITY" "1 << 6")
+ '("user-pos" "GDK_HINT_USER_POS" "1 << 7")
+ '("user-size" "GDK_HINT_USER_SIZE" "1 << 8")
+ )
+)
+
+(define-enum-extended WindowTypeHint
+ (in-module "Gdk")
+ (c-name "GdkWindowTypeHint")
+ (values
+ '("normal" "GDK_WINDOW_TYPE_HINT_NORMAL" "0")
+ '("dialog" "GDK_WINDOW_TYPE_HINT_DIALOG" "1")
+ '("menu" "GDK_WINDOW_TYPE_HINT_MENU" "2")
+ '("toolbar" "GDK_WINDOW_TYPE_HINT_TOOLBAR" "3")
+ '("splashscreen" "GDK_WINDOW_TYPE_HINT_SPLASHSCREEN" "4")
+ '("utility" "GDK_WINDOW_TYPE_HINT_UTILITY" "5")
+ '("dock" "GDK_WINDOW_TYPE_HINT_DOCK" "6")
+ '("desktop" "GDK_WINDOW_TYPE_HINT_DESKTOP" "7")
+ '("dropdown-menu" "GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU" "8")
+ '("popup-menu" "GDK_WINDOW_TYPE_HINT_POPUP_MENU" "9")
+ '("tooltip" "GDK_WINDOW_TYPE_HINT_TOOLTIP" "10")
+ '("notification" "GDK_WINDOW_TYPE_HINT_NOTIFICATION" "11")
+ '("combo" "GDK_WINDOW_TYPE_HINT_COMBO" "12")
+ '("dnd" "GDK_WINDOW_TYPE_HINT_DND" "13")
+ )
+)
+
+(define-flags-extended WMDecoration
+ (in-module "Gdk")
+ (c-name "GdkWMDecoration")
+ (values
+ '("all" "GDK_DECOR_ALL" "1 << 0")
+ '("border" "GDK_DECOR_BORDER" "1 << 1")
+ '("resizeh" "GDK_DECOR_RESIZEH" "1 << 2")
+ '("title" "GDK_DECOR_TITLE" "1 << 3")
+ '("menu" "GDK_DECOR_MENU" "1 << 4")
+ '("minimize" "GDK_DECOR_MINIMIZE" "1 << 5")
+ '("maximize" "GDK_DECOR_MAXIMIZE" "1 << 6")
+ )
+)
+
+(define-flags-extended WMFunction
+ (in-module "Gdk")
+ (c-name "GdkWMFunction")
+ (values
+ '("all" "GDK_FUNC_ALL" "1 << 0")
+ '("resize" "GDK_FUNC_RESIZE" "1 << 1")
+ '("move" "GDK_FUNC_MOVE" "1 << 2")
+ '("minimize" "GDK_FUNC_MINIMIZE" "1 << 3")
+ '("maximize" "GDK_FUNC_MAXIMIZE" "1 << 4")
+ '("close" "GDK_FUNC_CLOSE" "1 << 5")
+ )
+)
+
+(define-enum-extended Gravity
+ (in-module "Gdk")
+ (c-name "GdkGravity")
+ (values
+ '("north-west" "GDK_GRAVITY_NORTH_WEST" "1")
+ '("north" "GDK_GRAVITY_NORTH" "2")
+ '("north-east" "GDK_GRAVITY_NORTH_EAST" "3")
+ '("west" "GDK_GRAVITY_WEST" "4")
+ '("center" "GDK_GRAVITY_CENTER" "5")
+ '("east" "GDK_GRAVITY_EAST" "6")
+ '("south-west" "GDK_GRAVITY_SOUTH_WEST" "7")
+ '("south" "GDK_GRAVITY_SOUTH" "8")
+ '("south-east" "GDK_GRAVITY_SOUTH_EAST" "9")
+ '("static" "GDK_GRAVITY_STATIC" "10")
+ )
+)
+
+(define-enum-extended WindowEdge
+ (in-module "Gdk")
+ (c-name "GdkWindowEdge")
+ (values
+ '("north-west" "GDK_WINDOW_EDGE_NORTH_WEST" "0")
+ '("north" "GDK_WINDOW_EDGE_NORTH" "1")
+ '("north-east" "GDK_WINDOW_EDGE_NORTH_EAST" "2")
+ '("west" "GDK_WINDOW_EDGE_WEST" "3")
+ '("east" "GDK_WINDOW_EDGE_EAST" "4")
+ '("south-west" "GDK_WINDOW_EDGE_SOUTH_WEST" "5")
+ '("south" "GDK_WINDOW_EDGE_SOUTH" "6")
+ '("south-east" "GDK_WINDOW_EDGE_SOUTH_EAST" "7")
+ )
+)
+
diff --git a/libs/gtkmm2/gdk/src/gdk_extra.defs b/libs/gtkmm2/gdk/src/gdk_extra.defs
new file mode 100644
index 0000000000..d6655a983a
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/gdk_extra.defs
@@ -0,0 +1,103 @@
+;; h2defs.py doesn't seem to list this method. Don't know why. murrayc.
+
+(define-method render_threshold_alpha
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_render_threshold_alpha")
+ (return-type "none")
+ (parameters
+ '("GdkBitmap*" "bitmap")
+ '("int" "src_x")
+ '("int" "src_y")
+ '("int" "dest_x")
+ '("int" "dest_y")
+ '("int" "width")
+ '("int" "height")
+ '("int" "alpha_threshold")
+ )
+)
+
+;; Stuff from gtk headers that really belongs in Gdk:
+
+(define-function gtk_drag_finish
+ (c-name "gtk_drag_finish")
+ (return-type "none")
+ (parameters
+ '("GdkDragContext*" "context")
+ '("gboolean" "success")
+ '("gboolean" "del")
+ '("guint32" "time")
+ )
+)
+
+(define-function gtk_drag_get_source_widget
+ (c-name "gtk_drag_get_source_widget")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GdkDragContext*" "context")
+ )
+)
+
+(define-function gtk_drag_set_icon_widget
+ (c-name "gtk_drag_set_icon_widget")
+ (return-type "none")
+ (parameters
+ '("GdkDragContext*" "context")
+ '("GtkWidget*" "widget")
+ '("gint" "hot_x")
+ '("gint" "hot_y")
+ )
+)
+
+(define-function gtk_drag_set_icon_pixmap
+ (c-name "gtk_drag_set_icon_pixmap")
+ (return-type "none")
+ (parameters
+ '("GdkDragContext*" "context")
+ '("GdkColormap*" "colormap")
+ '("GdkPixmap*" "pixmap")
+ '("GdkBitmap*" "mask")
+ '("gint" "hot_x")
+ '("gint" "hot_y")
+ )
+)
+
+(define-function gtk_drag_set_icon_pixbuf
+ (c-name "gtk_drag_set_icon_pixbuf")
+ (return-type "none")
+ (parameters
+ '("GdkDragContext*" "context")
+ '("GdkPixbuf*" "pixbuf")
+ '("gint" "hot_x")
+ '("gint" "hot_y")
+ )
+)
+
+(define-function gtk_drag_set_icon_stock
+ (c-name "gtk_drag_set_icon_stock")
+ (return-type "none")
+ (parameters
+ '("GdkDragContext*" "context")
+ '("const-gchar*" "stock_id")
+ '("gint" "hot_x")
+ '("gint" "hot_y")
+ )
+)
+
+(define-function gtk_drag_set_icon_name
+ (c-name "gtk_drag_set_icon_name")
+ (return-type "none")
+ (parameters
+ '("GdkDragContext*" "context")
+ '("const-gchar*" "icon_name")
+ '("gint" "hot_x")
+ '("gint" "hot_y")
+ )
+)
+
+(define-function gtk_drag_set_icon_default
+ (c-name "gtk_drag_set_icon_default")
+ (return-type "none")
+ (parameters
+ '("GdkDragContext*" "context")
+ )
+)
diff --git a/libs/gtkmm2/gdk/src/gdk_methods.defs b/libs/gtkmm2/gdk/src/gdk_methods.defs
new file mode 100644
index 0000000000..f2c41eb4bf
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/gdk_methods.defs
@@ -0,0 +1,6167 @@
+;; -*- scheme -*-
+; object definitions ...
+(define-object Colormap
+ (in-module "Gdk")
+ (parent "GObject")
+ (c-name "GdkColormap")
+ (gtype-id "GDK_TYPE_COLORMAP")
+)
+
+(define-object Display
+ (in-module "Gdk")
+ (parent "GObject")
+ (c-name "GdkDisplay")
+ (gtype-id "GDK_TYPE_DISPLAY")
+)
+
+(define-object DragContext
+ (in-module "Gdk")
+ (parent "GObject")
+ (c-name "GdkDragContext")
+ (gtype-id "GDK_TYPE_DRAG_CONTEXT")
+)
+
+(define-object Drawable
+ (in-module "Gdk")
+ (parent "GObject")
+ (c-name "GdkDrawable")
+ (gtype-id "GDK_TYPE_DRAWABLE")
+)
+
+(define-object GC
+ (in-module "Gdk")
+ (parent "GObject")
+ (c-name "GdkGC")
+ (gtype-id "GDK_TYPE_GC")
+)
+
+(define-object Image
+ (in-module "Gdk")
+ (parent "GObject")
+ (c-name "GdkImage")
+ (gtype-id "GDK_TYPE_IMAGE")
+)
+
+(define-object Keymap
+ (in-module "Gdk")
+ (parent "GObject")
+ (c-name "GdkKeymap")
+ (gtype-id "GDK_TYPE_KEYMAP")
+)
+
+(define-object Paintable
+ (in-module "Gdk")
+ (c-name "GdkPaintable")
+ (gtype-id "GDK_TYPE_PAINTABLE")
+)
+
+(define-object PangoRenderer
+ (in-module "Gdk")
+ (parent "PangoRenderer")
+ (c-name "GdkPangoRenderer")
+ (gtype-id "GDK_TYPE_PANGO_RENDERER")
+)
+
+(define-object PixmapObject
+ (in-module "Gdk")
+ (parent "GdkDrawable")
+ (c-name "GdkPixmapObject")
+ (gtype-id "GDK_TYPE_PIXMAP_OBJECT")
+)
+
+(define-object Screen
+ (in-module "Gdk")
+ (parent "GObject")
+ (c-name "GdkScreen")
+ (gtype-id "GDK_TYPE_SCREEN")
+)
+
+(define-object WindowObject
+ (in-module "Gdk")
+ (parent "GdkDrawable")
+ (c-name "GdkWindowObject")
+ (gtype-id "GDK_TYPE_WINDOW_OBJECT")
+)
+
+;; Enumerations and flags ...
+
+(define-flags DragAction
+ (in-module "Gdk")
+ (c-name "GdkDragAction")
+ (gtype-id "GDK_TYPE_DRAG_ACTION")
+ (values
+ '("default" "GDK_ACTION_DEFAULT")
+ '("copy" "GDK_ACTION_COPY")
+ '("move" "GDK_ACTION_MOVE")
+ '("link" "GDK_ACTION_LINK")
+ '("private" "GDK_ACTION_PRIVATE")
+ '("ask" "GDK_ACTION_ASK")
+ )
+)
+
+(define-enum DragProtocol
+ (in-module "Gdk")
+ (c-name "GdkDragProtocol")
+ (gtype-id "GDK_TYPE_DRAG_PROTOCOL")
+ (values
+ '("motif" "GDK_DRAG_PROTO_MOTIF")
+ '("xdnd" "GDK_DRAG_PROTO_XDND")
+ '("rootwin" "GDK_DRAG_PROTO_ROOTWIN")
+ '("none" "GDK_DRAG_PROTO_NONE")
+ '("win32-dropfiles" "GDK_DRAG_PROTO_WIN32_DROPFILES")
+ '("ole2" "GDK_DRAG_PROTO_OLE2")
+ '("local" "GDK_DRAG_PROTO_LOCAL")
+ )
+)
+
+(define-enum FilterReturn
+ (in-module "Gdk")
+ (c-name "GdkFilterReturn")
+ (gtype-id "GDK_TYPE_FILTER_RETURN")
+ (values
+ '("continue" "GDK_FILTER_CONTINUE")
+ '("translate" "GDK_FILTER_TRANSLATE")
+ '("remove" "GDK_FILTER_REMOVE")
+ )
+)
+
+(define-enum EventType
+ (in-module "Gdk")
+ (c-name "GdkEventType")
+ (gtype-id "GDK_TYPE_EVENT_TYPE")
+ (values
+ '("nothing" "GDK_NOTHING")
+ '("delete" "GDK_DELETE")
+ '("destroy" "GDK_DESTROY")
+ '("expose" "GDK_EXPOSE")
+ '("motion-notify" "GDK_MOTION_NOTIFY")
+ '("button-press" "GDK_BUTTON_PRESS")
+ '("2button-press" "GDK_2BUTTON_PRESS")
+ '("3button-press" "GDK_3BUTTON_PRESS")
+ '("button-release" "GDK_BUTTON_RELEASE")
+ '("key-press" "GDK_KEY_PRESS")
+ '("key-release" "GDK_KEY_RELEASE")
+ '("enter-notify" "GDK_ENTER_NOTIFY")
+ '("leave-notify" "GDK_LEAVE_NOTIFY")
+ '("focus-change" "GDK_FOCUS_CHANGE")
+ '("configure" "GDK_CONFIGURE")
+ '("map" "GDK_MAP")
+ '("unmap" "GDK_UNMAP")
+ '("property-notify" "GDK_PROPERTY_NOTIFY")
+ '("selection-clear" "GDK_SELECTION_CLEAR")
+ '("selection-request" "GDK_SELECTION_REQUEST")
+ '("selection-notify" "GDK_SELECTION_NOTIFY")
+ '("proximity-in" "GDK_PROXIMITY_IN")
+ '("proximity-out" "GDK_PROXIMITY_OUT")
+ '("drag-enter" "GDK_DRAG_ENTER")
+ '("drag-leave" "GDK_DRAG_LEAVE")
+ '("drag-motion" "GDK_DRAG_MOTION")
+ '("drag-status" "GDK_DRAG_STATUS")
+ '("drop-start" "GDK_DROP_START")
+ '("drop-finished" "GDK_DROP_FINISHED")
+ '("client-event" "GDK_CLIENT_EVENT")
+ '("visibility-notify" "GDK_VISIBILITY_NOTIFY")
+ '("no-expose" "GDK_NO_EXPOSE")
+ '("scroll" "GDK_SCROLL")
+ '("window-state" "GDK_WINDOW_STATE")
+ '("setting" "GDK_SETTING")
+ '("owner-change" "GDK_OWNER_CHANGE")
+ '("grab-broken" "GDK_GRAB_BROKEN")
+ )
+)
+
+(define-flags EventMask
+ (in-module "Gdk")
+ (c-name "GdkEventMask")
+ (gtype-id "GDK_TYPE_EVENT_MASK")
+ (values
+ '("exposure-mask" "GDK_EXPOSURE_MASK")
+ '("pointer-motion-mask" "GDK_POINTER_MOTION_MASK")
+ '("pointer-motion-hint-mask" "GDK_POINTER_MOTION_HINT_MASK")
+ '("button-motion-mask" "GDK_BUTTON_MOTION_MASK")
+ '("button1-motion-mask" "GDK_BUTTON1_MOTION_MASK")
+ '("button2-motion-mask" "GDK_BUTTON2_MOTION_MASK")
+ '("button3-motion-mask" "GDK_BUTTON3_MOTION_MASK")
+ '("button-press-mask" "GDK_BUTTON_PRESS_MASK")
+ '("button-release-mask" "GDK_BUTTON_RELEASE_MASK")
+ '("key-press-mask" "GDK_KEY_PRESS_MASK")
+ '("key-release-mask" "GDK_KEY_RELEASE_MASK")
+ '("enter-notify-mask" "GDK_ENTER_NOTIFY_MASK")
+ '("leave-notify-mask" "GDK_LEAVE_NOTIFY_MASK")
+ '("focus-change-mask" "GDK_FOCUS_CHANGE_MASK")
+ '("structure-mask" "GDK_STRUCTURE_MASK")
+ '("property-change-mask" "GDK_PROPERTY_CHANGE_MASK")
+ '("visibility-notify-mask" "GDK_VISIBILITY_NOTIFY_MASK")
+ '("proximity-in-mask" "GDK_PROXIMITY_IN_MASK")
+ '("proximity-out-mask" "GDK_PROXIMITY_OUT_MASK")
+ '("substructure-mask" "GDK_SUBSTRUCTURE_MASK")
+ '("scroll-mask" "GDK_SCROLL_MASK")
+ '("all-events-mask" "GDK_ALL_EVENTS_MASK")
+ )
+)
+
+(define-enum VisibilityState
+ (in-module "Gdk")
+ (c-name "GdkVisibilityState")
+ (gtype-id "GDK_TYPE_VISIBILITY_STATE")
+ (values
+ '("unobscured" "GDK_VISIBILITY_UNOBSCURED")
+ '("partial" "GDK_VISIBILITY_PARTIAL")
+ '("fully-obscured" "GDK_VISIBILITY_FULLY_OBSCURED")
+ )
+)
+
+(define-enum ScrollDirection
+ (in-module "Gdk")
+ (c-name "GdkScrollDirection")
+ (gtype-id "GDK_TYPE_SCROLL_DIRECTION")
+ (values
+ '("up" "GDK_SCROLL_UP")
+ '("down" "GDK_SCROLL_DOWN")
+ '("left" "GDK_SCROLL_LEFT")
+ '("right" "GDK_SCROLL_RIGHT")
+ )
+)
+
+(define-enum NotifyType
+ (in-module "Gdk")
+ (c-name "GdkNotifyType")
+ (gtype-id "GDK_TYPE_NOTIFY_TYPE")
+ (values
+ '("ancestor" "GDK_NOTIFY_ANCESTOR")
+ '("virtual" "GDK_NOTIFY_VIRTUAL")
+ '("inferior" "GDK_NOTIFY_INFERIOR")
+ '("nonlinear" "GDK_NOTIFY_NONLINEAR")
+ '("nonlinear-virtual" "GDK_NOTIFY_NONLINEAR_VIRTUAL")
+ '("unknown" "GDK_NOTIFY_UNKNOWN")
+ )
+)
+
+(define-enum CrossingMode
+ (in-module "Gdk")
+ (c-name "GdkCrossingMode")
+ (gtype-id "GDK_TYPE_CROSSING_MODE")
+ (values
+ '("normal" "GDK_CROSSING_NORMAL")
+ '("grab" "GDK_CROSSING_GRAB")
+ '("ungrab" "GDK_CROSSING_UNGRAB")
+ )
+)
+
+(define-enum PropertyState
+ (in-module "Gdk")
+ (c-name "GdkPropertyState")
+ (gtype-id "GDK_TYPE_PROPERTY_STATE")
+ (values
+ '("new-value" "GDK_PROPERTY_NEW_VALUE")
+ '("delete" "GDK_PROPERTY_DELETE")
+ )
+)
+
+(define-flags WindowState
+ (in-module "Gdk")
+ (c-name "GdkWindowState")
+ (gtype-id "GDK_TYPE_WINDOW_STATE")
+ (values
+ '("withdrawn" "GDK_WINDOW_STATE_WITHDRAWN")
+ '("iconified" "GDK_WINDOW_STATE_ICONIFIED")
+ '("maximized" "GDK_WINDOW_STATE_MAXIMIZED")
+ '("sticky" "GDK_WINDOW_STATE_STICKY")
+ '("fullscreen" "GDK_WINDOW_STATE_FULLSCREEN")
+ '("above" "GDK_WINDOW_STATE_ABOVE")
+ '("below" "GDK_WINDOW_STATE_BELOW")
+ )
+)
+
+(define-enum SettingAction
+ (in-module "Gdk")
+ (c-name "GdkSettingAction")
+ (gtype-id "GDK_TYPE_SETTING_ACTION")
+ (values
+ '("new" "GDK_SETTING_ACTION_NEW")
+ '("changed" "GDK_SETTING_ACTION_CHANGED")
+ '("deleted" "GDK_SETTING_ACTION_DELETED")
+ )
+)
+
+(define-enum OwnerChange
+ (in-module "Gdk")
+ (c-name "GdkOwnerChange")
+ (gtype-id "GDK_TYPE_OWNER_CHANGE")
+ (values
+ '("new-owner" "GDK_OWNER_CHANGE_NEW_OWNER")
+ '("destroy" "GDK_OWNER_CHANGE_DESTROY")
+ '("close" "GDK_OWNER_CHANGE_CLOSE")
+ )
+)
+
+(define-enum FontType
+ (in-module "Gdk")
+ (c-name "GdkFontType")
+ (gtype-id "GDK_TYPE_FONT_TYPE")
+ (values
+ '("t" "GDK_FONT_FONT")
+ '("tset" "GDK_FONT_FONTSET")
+ )
+)
+
+(define-enum CapStyle
+ (in-module "Gdk")
+ (c-name "GdkCapStyle")
+ (gtype-id "GDK_TYPE_CAP_STYLE")
+ (values
+ '("not-last" "GDK_CAP_NOT_LAST")
+ '("butt" "GDK_CAP_BUTT")
+ '("round" "GDK_CAP_ROUND")
+ '("projecting" "GDK_CAP_PROJECTING")
+ )
+)
+
+(define-enum Fill
+ (in-module "Gdk")
+ (c-name "GdkFill")
+ (gtype-id "GDK_TYPE_FILL")
+ (values
+ '("solid" "GDK_SOLID")
+ '("tiled" "GDK_TILED")
+ '("stippled" "GDK_STIPPLED")
+ '("opaque-stippled" "GDK_OPAQUE_STIPPLED")
+ )
+)
+
+(define-enum Function
+ (in-module "Gdk")
+ (c-name "GdkFunction")
+ (gtype-id "GDK_TYPE_FUNCTION")
+ (values
+ '("copy" "GDK_COPY")
+ '("invert" "GDK_INVERT")
+ '("xor" "GDK_XOR")
+ '("clear" "GDK_CLEAR")
+ '("and" "GDK_AND")
+ '("and-reverse" "GDK_AND_REVERSE")
+ '("and-invert" "GDK_AND_INVERT")
+ '("noop" "GDK_NOOP")
+ '("or" "GDK_OR")
+ '("equiv" "GDK_EQUIV")
+ '("or-reverse" "GDK_OR_REVERSE")
+ '("copy-invert" "GDK_COPY_INVERT")
+ '("or-invert" "GDK_OR_INVERT")
+ '("nand" "GDK_NAND")
+ '("nor" "GDK_NOR")
+ '("set" "GDK_SET")
+ )
+)
+
+(define-enum JoinStyle
+ (in-module "Gdk")
+ (c-name "GdkJoinStyle")
+ (gtype-id "GDK_TYPE_JOIN_STYLE")
+ (values
+ '("miter" "GDK_JOIN_MITER")
+ '("round" "GDK_JOIN_ROUND")
+ '("bevel" "GDK_JOIN_BEVEL")
+ )
+)
+
+(define-enum LineStyle
+ (in-module "Gdk")
+ (c-name "GdkLineStyle")
+ (gtype-id "GDK_TYPE_LINE_STYLE")
+ (values
+ '("solid" "GDK_LINE_SOLID")
+ '("on-off-dash" "GDK_LINE_ON_OFF_DASH")
+ '("double-dash" "GDK_LINE_DOUBLE_DASH")
+ )
+)
+
+(define-enum SubwindowMode
+ (in-module "Gdk")
+ (c-name "GdkSubwindowMode")
+ (gtype-id "GDK_TYPE_SUBWINDOW_MODE")
+ (values
+ '("clip-by-children" "GDK_CLIP_BY_CHILDREN")
+ '("include-inferiors" "GDK_INCLUDE_INFERIORS")
+ )
+)
+
+(define-flags GCValuesMask
+ (in-module "Gdk")
+ (c-name "GdkGCValuesMask")
+ (gtype-id "GDK_TYPE_GC_VALUES_MASK")
+ (values
+ '("foreground" "GDK_GC_FOREGROUND")
+ '("background" "GDK_GC_BACKGROUND")
+ '("font" "GDK_GC_FONT")
+ '("function" "GDK_GC_FUNCTION")
+ '("fill" "GDK_GC_FILL")
+ '("tile" "GDK_GC_TILE")
+ '("stipple" "GDK_GC_STIPPLE")
+ '("clip-mask" "GDK_GC_CLIP_MASK")
+ '("subwindow" "GDK_GC_SUBWINDOW")
+ '("ts-x-origin" "GDK_GC_TS_X_ORIGIN")
+ '("ts-y-origin" "GDK_GC_TS_Y_ORIGIN")
+ '("clip-x-origin" "GDK_GC_CLIP_X_ORIGIN")
+ '("clip-y-origin" "GDK_GC_CLIP_Y_ORIGIN")
+ '("exposures" "GDK_GC_EXPOSURES")
+ '("line-width" "GDK_GC_LINE_WIDTH")
+ '("line-style" "GDK_GC_LINE_STYLE")
+ '("cap-style" "GDK_GC_CAP_STYLE")
+ '("join-style" "GDK_GC_JOIN_STYLE")
+ )
+)
+
+(define-enum ImageType
+ (in-module "Gdk")
+ (c-name "GdkImageType")
+ (gtype-id "GDK_TYPE_IMAGE_TYPE")
+ (values
+ '("normal" "GDK_IMAGE_NORMAL")
+ '("shared" "GDK_IMAGE_SHARED")
+ '("fastest" "GDK_IMAGE_FASTEST")
+ )
+)
+
+(define-enum ExtensionMode
+ (in-module "Gdk")
+ (c-name "GdkExtensionMode")
+ (gtype-id "GDK_TYPE_EXTENSION_MODE")
+ (values
+ '("none" "GDK_EXTENSION_EVENTS_NONE")
+ '("all" "GDK_EXTENSION_EVENTS_ALL")
+ '("cursor" "GDK_EXTENSION_EVENTS_CURSOR")
+ )
+)
+
+(define-enum InputSource
+ (in-module "Gdk")
+ (c-name "GdkInputSource")
+ (gtype-id "GDK_TYPE_INPUT_SOURCE")
+ (values
+ '("mouse" "GDK_SOURCE_MOUSE")
+ '("pen" "GDK_SOURCE_PEN")
+ '("eraser" "GDK_SOURCE_ERASER")
+ '("cursor" "GDK_SOURCE_CURSOR")
+ )
+)
+
+(define-enum InputMode
+ (in-module "Gdk")
+ (c-name "GdkInputMode")
+ (gtype-id "GDK_TYPE_INPUT_MODE")
+ (values
+ '("disabled" "GDK_MODE_DISABLED")
+ '("screen" "GDK_MODE_SCREEN")
+ '("window" "GDK_MODE_WINDOW")
+ )
+)
+
+(define-enum AxisUse
+ (in-module "Gdk")
+ (c-name "GdkAxisUse")
+ (gtype-id "GDK_TYPE_AXIS_USE")
+ (values
+ '("ignore" "GDK_AXIS_IGNORE")
+ '("x" "GDK_AXIS_X")
+ '("y" "GDK_AXIS_Y")
+ '("pressure" "GDK_AXIS_PRESSURE")
+ '("xtilt" "GDK_AXIS_XTILT")
+ '("ytilt" "GDK_AXIS_YTILT")
+ '("wheel" "GDK_AXIS_WHEEL")
+ '("last" "GDK_AXIS_LAST")
+ )
+)
+
+(define-flags ColorInfoFlags
+ (in-module "Gdk")
+ (c-name "GdkColorInfoFlags")
+ (gtype-id "GDK_TYPE_COLOR_INFO_FLAGS")
+ (values
+ '("e" "GDK_COLOR_WRITEABLE")
+ )
+)
+
+(define-flags DebugFlag
+ (in-module "Gdk")
+ (c-name "GdkDebugFlag")
+ (gtype-id "GDK_TYPE_DEBUG_FLAG")
+ (values
+ '("misc" "GDK_DEBUG_MISC")
+ '("events" "GDK_DEBUG_EVENTS")
+ '("dnd" "GDK_DEBUG_DND")
+ '("xim" "GDK_DEBUG_XIM")
+ '("nograbs" "GDK_DEBUG_NOGRABS")
+ '("colormap" "GDK_DEBUG_COLORMAP")
+ '("gdkrgb" "GDK_DEBUG_GDKRGB")
+ '("gc" "GDK_DEBUG_GC")
+ '("pixmap" "GDK_DEBUG_PIXMAP")
+ '("image" "GDK_DEBUG_IMAGE")
+ '("input" "GDK_DEBUG_INPUT")
+ '("cursor" "GDK_DEBUG_CURSOR")
+ '("multihead" "GDK_DEBUG_MULTIHEAD")
+ '("xinerama" "GDK_DEBUG_XINERAMA")
+ '("draw" "GDK_DEBUG_DRAW")
+ )
+)
+
+(define-enum ArgType
+ (in-module "Gdk")
+ (c-name "GdkArgType")
+ (gtype-id "GDK_TYPE_ARG_TYPE")
+ (values
+ '("string" "GDK_ARG_STRING")
+ '("int" "GDK_ARG_INT")
+ '("bool" "GDK_ARG_BOOL")
+ '("nobool" "GDK_ARG_NOBOOL")
+ '("callback" "GDK_ARG_CALLBACK")
+ )
+)
+
+(define-flags EventFlags
+ (in-module "Gdk")
+ (c-name "GdkEventFlags")
+ (gtype-id "GDK_TYPE_EVENT_FLAGS")
+ (values
+ '("g" "GDK_EVENT_PENDING")
+ )
+)
+
+(define-enum PropMode
+ (in-module "Gdk")
+ (c-name "GdkPropMode")
+ (gtype-id "GDK_TYPE_PROP_MODE")
+ (values
+ '("replace" "GDK_PROP_MODE_REPLACE")
+ '("prepend" "GDK_PROP_MODE_PREPEND")
+ '("append" "GDK_PROP_MODE_APPEND")
+ )
+)
+
+(define-enum FillRule
+ (in-module "Gdk")
+ (c-name "GdkFillRule")
+ (gtype-id "GDK_TYPE_FILL_RULE")
+ (values
+ '("even-odd-rule" "GDK_EVEN_ODD_RULE")
+ '("winding-rule" "GDK_WINDING_RULE")
+ )
+)
+
+(define-enum OverlapType
+ (in-module "Gdk")
+ (c-name "GdkOverlapType")
+ (gtype-id "GDK_TYPE_OVERLAP_TYPE")
+ (values
+ '("in" "GDK_OVERLAP_RECTANGLE_IN")
+ '("out" "GDK_OVERLAP_RECTANGLE_OUT")
+ '("part" "GDK_OVERLAP_RECTANGLE_PART")
+ )
+)
+
+(define-enum RgbDither
+ (in-module "Gdk")
+ (c-name "GdkRgbDither")
+ (gtype-id "GDK_TYPE_RGB_DITHER")
+ (values
+ '("none" "GDK_RGB_DITHER_NONE")
+ '("normal" "GDK_RGB_DITHER_NORMAL")
+ '("max" "GDK_RGB_DITHER_MAX")
+ )
+)
+
+(define-enum ByteOrder
+ (in-module "Gdk")
+ (c-name "GdkByteOrder")
+ (gtype-id "GDK_TYPE_BYTE_ORDER")
+ (values
+ '("lsb-first" "GDK_LSB_FIRST")
+ '("msb-first" "GDK_MSB_FIRST")
+ )
+)
+
+(define-flags ModifierType
+ (in-module "Gdk")
+ (c-name "GdkModifierType")
+ (gtype-id "GDK_TYPE_MODIFIER_TYPE")
+ (values
+ '("shift-mask" "GDK_SHIFT_MASK")
+ '("lock-mask" "GDK_LOCK_MASK")
+ '("control-mask" "GDK_CONTROL_MASK")
+ '("mod1-mask" "GDK_MOD1_MASK")
+ '("mod2-mask" "GDK_MOD2_MASK")
+ '("mod3-mask" "GDK_MOD3_MASK")
+ '("mod4-mask" "GDK_MOD4_MASK")
+ '("mod5-mask" "GDK_MOD5_MASK")
+ '("button1-mask" "GDK_BUTTON1_MASK")
+ '("button2-mask" "GDK_BUTTON2_MASK")
+ '("button3-mask" "GDK_BUTTON3_MASK")
+ '("button4-mask" "GDK_BUTTON4_MASK")
+ '("button5-mask" "GDK_BUTTON5_MASK")
+ '("super-mask" "GDK_SUPER_MASK")
+ '("hyper-mask" "GDK_HYPER_MASK")
+ '("meta-mask" "GDK_META_MASK")
+ '("release-mask" "GDK_RELEASE_MASK")
+ '("modifier-mask" "GDK_MODIFIER_MASK")
+ )
+)
+
+(define-flags InputCondition
+ (in-module "Gdk")
+ (c-name "GdkInputCondition")
+ (gtype-id "GDK_TYPE_INPUT_CONDITION")
+ (values
+ '("read" "GDK_INPUT_READ")
+ '("write" "GDK_INPUT_WRITE")
+ '("exception" "GDK_INPUT_EXCEPTION")
+ )
+)
+
+(define-enum Status
+ (in-module "Gdk")
+ (c-name "GdkStatus")
+ (gtype-id "GDK_TYPE_STATUS")
+ (values
+ '("ok" "GDK_OK")
+ '("error" "GDK_ERROR")
+ '("error-param" "GDK_ERROR_PARAM")
+ '("error-file" "GDK_ERROR_FILE")
+ '("error-mem" "GDK_ERROR_MEM")
+ )
+)
+
+(define-enum GrabStatus
+ (in-module "Gdk")
+ (c-name "GdkGrabStatus")
+ (gtype-id "GDK_TYPE_GRAB_STATUS")
+ (values
+ '("success" "GDK_GRAB_SUCCESS")
+ '("already-grabbed" "GDK_GRAB_ALREADY_GRABBED")
+ '("invalid-time" "GDK_GRAB_INVALID_TIME")
+ '("not-viewable" "GDK_GRAB_NOT_VIEWABLE")
+ '("frozen" "GDK_GRAB_FROZEN")
+ )
+)
+
+(define-enum VisualType
+ (in-module "Gdk")
+ (c-name "GdkVisualType")
+ (gtype-id "GDK_TYPE_VISUAL_TYPE")
+ (values
+ '("static-gray" "GDK_VISUAL_STATIC_GRAY")
+ '("grayscale" "GDK_VISUAL_GRAYSCALE")
+ '("static-color" "GDK_VISUAL_STATIC_COLOR")
+ '("pseudo-color" "GDK_VISUAL_PSEUDO_COLOR")
+ '("true-color" "GDK_VISUAL_TRUE_COLOR")
+ '("direct-color" "GDK_VISUAL_DIRECT_COLOR")
+ )
+)
+
+(define-enum WindowClass
+ (in-module "Gdk")
+ (c-name "GdkWindowClass")
+ (gtype-id "GDK_TYPE_WINDOW_CLASS")
+ (values
+ '("utput" "GDK_INPUT_OUTPUT")
+ '("nly" "GDK_INPUT_ONLY")
+ )
+)
+
+(define-enum WindowType
+ (in-module "Gdk")
+ (c-name "GdkWindowType")
+ (gtype-id "GDK_TYPE_WINDOW_TYPE")
+ (values
+ '("root" "GDK_WINDOW_ROOT")
+ '("toplevel" "GDK_WINDOW_TOPLEVEL")
+ '("child" "GDK_WINDOW_CHILD")
+ '("dialog" "GDK_WINDOW_DIALOG")
+ '("temp" "GDK_WINDOW_TEMP")
+ '("foreign" "GDK_WINDOW_FOREIGN")
+ )
+)
+
+(define-flags WindowAttributesType
+ (in-module "Gdk")
+ (c-name "GdkWindowAttributesType")
+ (gtype-id "GDK_TYPE_WINDOW_ATTRIBUTES_TYPE")
+ (values
+ '("title" "GDK_WA_TITLE")
+ '("x" "GDK_WA_X")
+ '("y" "GDK_WA_Y")
+ '("cursor" "GDK_WA_CURSOR")
+ '("colormap" "GDK_WA_COLORMAP")
+ '("visual" "GDK_WA_VISUAL")
+ '("wmclass" "GDK_WA_WMCLASS")
+ '("noredir" "GDK_WA_NOREDIR")
+ '("type-hint" "GDK_WA_TYPE_HINT")
+ )
+)
+
+(define-flags WindowHints
+ (in-module "Gdk")
+ (c-name "GdkWindowHints")
+ (gtype-id "GDK_TYPE_WINDOW_HINTS")
+ (values
+ '("pos" "GDK_HINT_POS")
+ '("min-size" "GDK_HINT_MIN_SIZE")
+ '("max-size" "GDK_HINT_MAX_SIZE")
+ '("base-size" "GDK_HINT_BASE_SIZE")
+ '("aspect" "GDK_HINT_ASPECT")
+ '("resize-inc" "GDK_HINT_RESIZE_INC")
+ '("win-gravity" "GDK_HINT_WIN_GRAVITY")
+ '("user-pos" "GDK_HINT_USER_POS")
+ '("user-size" "GDK_HINT_USER_SIZE")
+ )
+)
+
+(define-enum WindowTypeHint
+ (in-module "Gdk")
+ (c-name "GdkWindowTypeHint")
+ (gtype-id "GDK_TYPE_WINDOW_TYPE_HINT")
+ (values
+ '("normal" "GDK_WINDOW_TYPE_HINT_NORMAL")
+ '("dialog" "GDK_WINDOW_TYPE_HINT_DIALOG")
+ '("menu" "GDK_WINDOW_TYPE_HINT_MENU")
+ '("toolbar" "GDK_WINDOW_TYPE_HINT_TOOLBAR")
+ '("splashscreen" "GDK_WINDOW_TYPE_HINT_SPLASHSCREEN")
+ '("utility" "GDK_WINDOW_TYPE_HINT_UTILITY")
+ '("dock" "GDK_WINDOW_TYPE_HINT_DOCK")
+ '("desktop" "GDK_WINDOW_TYPE_HINT_DESKTOP")
+ '("dropdown-menu" "GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU")
+ '("popup-menu" "GDK_WINDOW_TYPE_HINT_POPUP_MENU")
+ '("tooltip" "GDK_WINDOW_TYPE_HINT_TOOLTIP")
+ '("notification" "GDK_WINDOW_TYPE_HINT_NOTIFICATION")
+ '("combo" "GDK_WINDOW_TYPE_HINT_COMBO")
+ '("dnd" "GDK_WINDOW_TYPE_HINT_DND")
+ )
+)
+
+(define-flags WMDecoration
+ (in-module "Gdk")
+ (c-name "GdkWMDecoration")
+ (gtype-id "GDK_TYPE_WM_DECORATION")
+ (values
+ '("all" "GDK_DECOR_ALL")
+ '("border" "GDK_DECOR_BORDER")
+ '("resizeh" "GDK_DECOR_RESIZEH")
+ '("title" "GDK_DECOR_TITLE")
+ '("menu" "GDK_DECOR_MENU")
+ '("minimize" "GDK_DECOR_MINIMIZE")
+ '("maximize" "GDK_DECOR_MAXIMIZE")
+ )
+)
+
+(define-flags WMFunction
+ (in-module "Gdk")
+ (c-name "GdkWMFunction")
+ (gtype-id "GDK_TYPE_WM_FUNCTION")
+ (values
+ '("all" "GDK_FUNC_ALL")
+ '("resize" "GDK_FUNC_RESIZE")
+ '("move" "GDK_FUNC_MOVE")
+ '("minimize" "GDK_FUNC_MINIMIZE")
+ '("maximize" "GDK_FUNC_MAXIMIZE")
+ '("close" "GDK_FUNC_CLOSE")
+ )
+)
+
+(define-enum Gravity
+ (in-module "Gdk")
+ (c-name "GdkGravity")
+ (gtype-id "GDK_TYPE_GRAVITY")
+ (values
+ '("north-west" "GDK_GRAVITY_NORTH_WEST")
+ '("north" "GDK_GRAVITY_NORTH")
+ '("north-east" "GDK_GRAVITY_NORTH_EAST")
+ '("west" "GDK_GRAVITY_WEST")
+ '("center" "GDK_GRAVITY_CENTER")
+ '("east" "GDK_GRAVITY_EAST")
+ '("south-west" "GDK_GRAVITY_SOUTH_WEST")
+ '("south" "GDK_GRAVITY_SOUTH")
+ '("south-east" "GDK_GRAVITY_SOUTH_EAST")
+ '("static" "GDK_GRAVITY_STATIC")
+ )
+)
+
+(define-enum WindowEdge
+ (in-module "Gdk")
+ (c-name "GdkWindowEdge")
+ (gtype-id "GDK_TYPE_WINDOW_EDGE")
+ (values
+ '("north-west" "GDK_WINDOW_EDGE_NORTH_WEST")
+ '("north" "GDK_WINDOW_EDGE_NORTH")
+ '("north-east" "GDK_WINDOW_EDGE_NORTH_EAST")
+ '("west" "GDK_WINDOW_EDGE_WEST")
+ '("east" "GDK_WINDOW_EDGE_EAST")
+ '("south-west" "GDK_WINDOW_EDGE_SOUTH_WEST")
+ '("south" "GDK_WINDOW_EDGE_SOUTH")
+ '("south-east" "GDK_WINDOW_EDGE_SOUTH_EAST")
+ )
+)
+
+
+;; From gdkalias.h
+
+
+
+;; From gdkcairo.h
+
+(define-function gdk_cairo_create
+ (c-name "gdk_cairo_create")
+ (return-type "cairo_t*")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ )
+)
+
+(define-function gdk_cairo_set_source_color
+ (c-name "gdk_cairo_set_source_color")
+ (return-type "none")
+ (parameters
+ '("cairo_t*" "cr")
+ '("GdkColor*" "color")
+ )
+)
+
+(define-function gdk_cairo_set_source_pixbuf
+ (c-name "gdk_cairo_set_source_pixbuf")
+ (return-type "none")
+ (parameters
+ '("cairo_t*" "cr")
+ '("GdkPixbuf*" "pixbuf")
+ '("double" "pixbuf_x")
+ '("double" "pixbuf_y")
+ )
+)
+
+(define-function gdk_cairo_set_source_pixmap
+ (c-name "gdk_cairo_set_source_pixmap")
+ (return-type "none")
+ (parameters
+ '("cairo_t*" "cr")
+ '("GdkPixmap*" "pixmap")
+ '("double" "pixmap_x")
+ '("double" "pixmap_y")
+ )
+)
+
+(define-function gdk_cairo_rectangle
+ (c-name "gdk_cairo_rectangle")
+ (return-type "none")
+ (parameters
+ '("cairo_t*" "cr")
+ '("GdkRectangle*" "rectangle")
+ )
+)
+
+(define-function gdk_cairo_region
+ (c-name "gdk_cairo_region")
+ (return-type "none")
+ (parameters
+ '("cairo_t*" "cr")
+ '("GdkRegion*" "region")
+ )
+)
+
+
+
+;; From gdkcolor.h
+
+(define-function gdk_colormap_get_type
+ (c-name "gdk_colormap_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_colormap_new
+ (c-name "gdk_colormap_new")
+ (is-constructor-of "GdkColormap")
+ (return-type "GdkColormap*")
+ (parameters
+ '("GdkVisual*" "visual")
+ '("gboolean" "allocate")
+ )
+)
+
+(define-method ref
+ (of-object "GdkColormap")
+ (c-name "gdk_colormap_ref")
+ (return-type "GdkColormap*")
+)
+
+(define-method unref
+ (of-object "GdkColormap")
+ (c-name "gdk_colormap_unref")
+ (return-type "none")
+)
+
+(define-function gdk_colormap_get_system
+ (c-name "gdk_colormap_get_system")
+ (return-type "GdkColormap*")
+)
+
+(define-method get_screen
+ (of-object "GdkColormap")
+ (c-name "gdk_colormap_get_screen")
+ (return-type "GdkScreen*")
+)
+
+(define-function gdk_colormap_get_system_size
+ (c-name "gdk_colormap_get_system_size")
+ (return-type "gint")
+)
+
+(define-method change
+ (of-object "GdkColormap")
+ (c-name "gdk_colormap_change")
+ (return-type "none")
+ (parameters
+ '("gint" "ncolors")
+ )
+)
+
+(define-method alloc_colors
+ (of-object "GdkColormap")
+ (c-name "gdk_colormap_alloc_colors")
+ (return-type "gint")
+ (parameters
+ '("GdkColor*" "colors")
+ '("gint" "ncolors")
+ '("gboolean" "writeable")
+ '("gboolean" "best_match")
+ '("gboolean*" "success")
+ )
+)
+
+(define-method alloc_color
+ (of-object "GdkColormap")
+ (c-name "gdk_colormap_alloc_color")
+ (return-type "gboolean")
+ (parameters
+ '("GdkColor*" "color")
+ '("gboolean" "writeable")
+ '("gboolean" "best_match")
+ )
+)
+
+(define-method free_colors
+ (of-object "GdkColormap")
+ (c-name "gdk_colormap_free_colors")
+ (return-type "none")
+ (parameters
+ '("GdkColor*" "colors")
+ '("gint" "ncolors")
+ )
+)
+
+(define-method query_color
+ (of-object "GdkColormap")
+ (c-name "gdk_colormap_query_color")
+ (return-type "none")
+ (parameters
+ '("gulong" "pixel")
+ '("GdkColor*" "result")
+ )
+)
+
+(define-method get_visual
+ (of-object "GdkColormap")
+ (c-name "gdk_colormap_get_visual")
+ (return-type "GdkVisual*")
+)
+
+(define-method copy
+ (of-object "GdkColor")
+ (c-name "gdk_color_copy")
+ (return-type "GdkColor*")
+)
+
+(define-method free
+ (of-object "GdkColor")
+ (c-name "gdk_color_free")
+ (return-type "none")
+)
+
+(define-function gdk_color_parse
+ (c-name "gdk_color_parse")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "spec")
+ '("GdkColor*" "color")
+ )
+)
+
+(define-method hash
+ (of-object "GdkColor")
+ (c-name "gdk_color_hash")
+ (return-type "guint")
+)
+
+(define-method equal
+ (of-object "GdkColor")
+ (c-name "gdk_color_equal")
+ (return-type "gboolean")
+ (parameters
+ '("const-GdkColor*" "colorb")
+ )
+)
+
+(define-method to_string
+ (of-object "GdkColor")
+ (c-name "gdk_color_to_string")
+ (return-type "gchar*")
+)
+
+(define-function gdk_color_get_type
+ (c-name "gdk_color_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_colors_store
+ (c-name "gdk_colors_store")
+ (return-type "none")
+ (parameters
+ '("GdkColormap*" "colormap")
+ '("GdkColor*" "colors")
+ '("gint" "ncolors")
+ )
+)
+
+(define-function gdk_color_white
+ (c-name "gdk_color_white")
+ (return-type "gint")
+ (parameters
+ '("GdkColormap*" "colormap")
+ '("GdkColor*" "color")
+ )
+)
+
+(define-function gdk_color_black
+ (c-name "gdk_color_black")
+ (return-type "gint")
+ (parameters
+ '("GdkColormap*" "colormap")
+ '("GdkColor*" "color")
+ )
+)
+
+(define-function gdk_color_alloc
+ (c-name "gdk_color_alloc")
+ (return-type "gint")
+ (parameters
+ '("GdkColormap*" "colormap")
+ '("GdkColor*" "color")
+ )
+)
+
+(define-function gdk_color_change
+ (c-name "gdk_color_change")
+ (return-type "gint")
+ (parameters
+ '("GdkColormap*" "colormap")
+ '("GdkColor*" "color")
+ )
+)
+
+(define-function gdk_colors_alloc
+ (c-name "gdk_colors_alloc")
+ (return-type "gint")
+ (parameters
+ '("GdkColormap*" "colormap")
+ '("gboolean" "contiguous")
+ '("gulong*" "planes")
+ '("gint" "nplanes")
+ '("gulong*" "pixels")
+ '("gint" "npixels")
+ )
+)
+
+(define-function gdk_colors_free
+ (c-name "gdk_colors_free")
+ (return-type "none")
+ (parameters
+ '("GdkColormap*" "colormap")
+ '("gulong*" "pixels")
+ '("gint" "npixels")
+ '("gulong" "planes")
+ )
+)
+
+
+
+;; From gdkconfig.h
+
+
+
+;; From gdkcursor.h
+
+(define-function gdk_cursor_get_type
+ (c-name "gdk_cursor_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_cursor_new_for_display
+ (c-name "gdk_cursor_new_for_display")
+ (return-type "GdkCursor*")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("GdkCursorType" "cursor_type")
+ )
+)
+
+(define-function gdk_cursor_new
+ (c-name "gdk_cursor_new")
+ (is-constructor-of "GdkCursor")
+ (return-type "GdkCursor*")
+ (parameters
+ '("GdkCursorType" "cursor_type")
+ )
+)
+
+(define-function gdk_cursor_new_from_pixmap
+ (c-name "gdk_cursor_new_from_pixmap")
+ (return-type "GdkCursor*")
+ (parameters
+ '("GdkPixmap*" "source")
+ '("GdkPixmap*" "mask")
+ '("const-GdkColor*" "fg")
+ '("const-GdkColor*" "bg")
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-function gdk_cursor_new_from_pixbuf
+ (c-name "gdk_cursor_new_from_pixbuf")
+ (return-type "GdkCursor*")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("GdkPixbuf*" "pixbuf")
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-method get_display
+ (of-object "GdkCursor")
+ (c-name "gdk_cursor_get_display")
+ (return-type "GdkDisplay*")
+)
+
+(define-method ref
+ (of-object "GdkCursor")
+ (c-name "gdk_cursor_ref")
+ (return-type "GdkCursor*")
+)
+
+(define-method unref
+ (of-object "GdkCursor")
+ (c-name "gdk_cursor_unref")
+ (return-type "none")
+)
+
+(define-function gdk_cursor_new_from_name
+ (c-name "gdk_cursor_new_from_name")
+ (return-type "GdkCursor*")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method get_image
+ (of-object "GdkCursor")
+ (c-name "gdk_cursor_get_image")
+ (return-type "GdkPixbuf*")
+)
+
+
+
+;; From gdkdisplay.h
+
+(define-function gdk_display_get_type
+ (c-name "gdk_display_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_display_open
+ (c-name "gdk_display_open")
+ (return-type "GdkDisplay*")
+ (parameters
+ '("const-gchar*" "display_name")
+ )
+)
+
+(define-method get_name
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_get_name")
+ (return-type "const-gchar*")
+)
+
+(define-method get_n_screens
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_get_n_screens")
+ (return-type "gint")
+)
+
+(define-method get_screen
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_get_screen")
+ (return-type "GdkScreen*")
+ (parameters
+ '("gint" "screen_num")
+ )
+)
+
+(define-method get_default_screen
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_get_default_screen")
+ (return-type "GdkScreen*")
+)
+
+(define-method pointer_ungrab
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_pointer_ungrab")
+ (return-type "none")
+ (parameters
+ '("guint32" "time_")
+ )
+)
+
+(define-method keyboard_ungrab
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_keyboard_ungrab")
+ (return-type "none")
+ (parameters
+ '("guint32" "time_")
+ )
+)
+
+(define-method pointer_is_grabbed
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_pointer_is_grabbed")
+ (return-type "gboolean")
+)
+
+(define-method beep
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_beep")
+ (return-type "none")
+)
+
+(define-method sync
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_sync")
+ (return-type "none")
+)
+
+(define-method flush
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_flush")
+ (return-type "none")
+)
+
+(define-method close
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_close")
+ (return-type "none")
+)
+
+(define-method list_devices
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_list_devices")
+ (return-type "GList*")
+)
+
+(define-method get_event
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_get_event")
+ (return-type "GdkEvent*")
+)
+
+(define-method peek_event
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_peek_event")
+ (return-type "GdkEvent*")
+)
+
+(define-method put_event
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_put_event")
+ (return-type "none")
+ (parameters
+ '("GdkEvent*" "event")
+ )
+)
+
+(define-method add_client_message_filter
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_add_client_message_filter")
+ (return-type "none")
+ (parameters
+ '("GdkAtom" "message_type")
+ '("GdkFilterFunc" "func")
+ '("gpointer" "data")
+ )
+)
+
+(define-method set_double_click_time
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_set_double_click_time")
+ (return-type "none")
+ (parameters
+ '("guint" "msec")
+ )
+)
+
+(define-method set_double_click_distance
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_set_double_click_distance")
+ (return-type "none")
+ (parameters
+ '("guint" "distance")
+ )
+)
+
+(define-function gdk_display_get_default
+ (c-name "gdk_display_get_default")
+ (return-type "GdkDisplay*")
+)
+
+(define-method get_core_pointer
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_get_core_pointer")
+ (return-type "GdkDevice*")
+)
+
+(define-method get_pointer
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_get_pointer")
+ (return-type "none")
+ (parameters
+ '("GdkScreen**" "screen")
+ '("gint*" "x")
+ '("gint*" "y")
+ '("GdkModifierType*" "mask")
+ )
+)
+
+(define-method get_window_at_pointer
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_get_window_at_pointer")
+ (return-type "GdkWindow*")
+ (parameters
+ '("gint*" "win_x")
+ '("gint*" "win_y")
+ )
+)
+
+(define-method warp_pointer
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_warp_pointer")
+ (return-type "none")
+ (parameters
+ '("GdkScreen*" "screen")
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-method set_pointer_hooks
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_set_pointer_hooks")
+ (return-type "GdkDisplayPointerHooks*")
+ (parameters
+ '("const-GdkDisplayPointerHooks*" "new_hooks")
+ )
+)
+
+(define-function gdk_display_open_default_libgtk_only
+ (c-name "gdk_display_open_default_libgtk_only")
+ (return-type "GdkDisplay*")
+)
+
+(define-method supports_cursor_alpha
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_supports_cursor_alpha")
+ (return-type "gboolean")
+)
+
+(define-method supports_cursor_color
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_supports_cursor_color")
+ (return-type "gboolean")
+)
+
+(define-method get_default_cursor_size
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_get_default_cursor_size")
+ (return-type "guint")
+)
+
+(define-method get_maximal_cursor_size
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_get_maximal_cursor_size")
+ (return-type "none")
+ (parameters
+ '("guint*" "width")
+ '("guint*" "height")
+ )
+)
+
+(define-method get_default_group
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_get_default_group")
+ (return-type "GdkWindow*")
+)
+
+(define-method supports_selection_notification
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_supports_selection_notification")
+ (return-type "gboolean")
+)
+
+(define-method request_selection_notification
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_request_selection_notification")
+ (return-type "gboolean")
+ (parameters
+ '("GdkAtom" "selection")
+ )
+)
+
+(define-method supports_clipboard_persistence
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_supports_clipboard_persistence")
+ (return-type "gboolean")
+)
+
+(define-method store_clipboard
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_store_clipboard")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "clipboard_window")
+ '("guint32" "time_")
+ '("GdkAtom*" "targets")
+ '("gint" "n_targets")
+ )
+)
+
+(define-method supports_shapes
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_supports_shapes")
+ (return-type "gboolean")
+)
+
+(define-method supports_input_shapes
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_supports_input_shapes")
+ (return-type "gboolean")
+)
+
+(define-method supports_composite
+ (of-object "GdkDisplay")
+ (c-name "gdk_display_supports_composite")
+ (return-type "gboolean")
+)
+
+
+
+;; From gdkdisplaymanager.h
+
+(define-function gdk_display_manager_get_type
+ (c-name "gdk_display_manager_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_display_manager_get
+ (c-name "gdk_display_manager_get")
+ (return-type "GdkDisplayManager*")
+)
+
+(define-method get_default_display
+ (of-object "GdkDisplayManager")
+ (c-name "gdk_display_manager_get_default_display")
+ (return-type "GdkDisplay*")
+)
+
+(define-method set_default_display
+ (of-object "GdkDisplayManager")
+ (c-name "gdk_display_manager_set_default_display")
+ (return-type "none")
+ (parameters
+ '("GdkDisplay*" "display")
+ )
+)
+
+(define-method list_displays
+ (of-object "GdkDisplayManager")
+ (c-name "gdk_display_manager_list_displays")
+ (return-type "GSList*")
+)
+
+
+
+;; From gdkdnd.h
+
+(define-function gdk_drag_context_get_type
+ (c-name "gdk_drag_context_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_drag_context_new
+ (c-name "gdk_drag_context_new")
+ (is-constructor-of "GdkDragContext")
+ (return-type "GdkDragContext*")
+)
+
+(define-method ref
+ (of-object "GdkDragContext")
+ (c-name "gdk_drag_context_ref")
+ (return-type "none")
+)
+
+(define-method unref
+ (of-object "GdkDragContext")
+ (c-name "gdk_drag_context_unref")
+ (return-type "none")
+)
+
+(define-function gdk_drag_status
+ (c-name "gdk_drag_status")
+ (return-type "none")
+ (parameters
+ '("GdkDragContext*" "context")
+ '("GdkDragAction" "action")
+ '("guint32" "time_")
+ )
+)
+
+(define-function gdk_drop_reply
+ (c-name "gdk_drop_reply")
+ (return-type "none")
+ (parameters
+ '("GdkDragContext*" "context")
+ '("gboolean" "ok")
+ '("guint32" "time_")
+ )
+)
+
+(define-function gdk_drop_finish
+ (c-name "gdk_drop_finish")
+ (return-type "none")
+ (parameters
+ '("GdkDragContext*" "context")
+ '("gboolean" "success")
+ '("guint32" "time_")
+ )
+)
+
+(define-function gdk_drag_get_selection
+ (c-name "gdk_drag_get_selection")
+ (return-type "GdkAtom")
+ (parameters
+ '("GdkDragContext*" "context")
+ )
+)
+
+(define-function gdk_drag_begin
+ (c-name "gdk_drag_begin")
+ (return-type "GdkDragContext*")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GList*" "targets")
+ )
+)
+
+(define-function gdk_drag_get_protocol_for_display
+ (c-name "gdk_drag_get_protocol_for_display")
+ (return-type "guint32")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("guint32" "xid")
+ '("GdkDragProtocol*" "protocol")
+ )
+)
+
+(define-function gdk_drag_find_window_for_screen
+ (c-name "gdk_drag_find_window_for_screen")
+ (return-type "none")
+ (parameters
+ '("GdkDragContext*" "context")
+ '("GdkWindow*" "drag_window")
+ '("GdkScreen*" "screen")
+ '("gint" "x_root")
+ '("gint" "y_root")
+ '("GdkWindow**" "dest_window")
+ '("GdkDragProtocol*" "protocol")
+ )
+)
+
+(define-function gdk_drag_get_protocol
+ (c-name "gdk_drag_get_protocol")
+ (return-type "guint32")
+ (parameters
+ '("guint32" "xid")
+ '("GdkDragProtocol*" "protocol")
+ )
+)
+
+(define-function gdk_drag_find_window
+ (c-name "gdk_drag_find_window")
+ (return-type "none")
+ (parameters
+ '("GdkDragContext*" "context")
+ '("GdkWindow*" "drag_window")
+ '("gint" "x_root")
+ '("gint" "y_root")
+ '("GdkWindow**" "dest_window")
+ '("GdkDragProtocol*" "protocol")
+ )
+)
+
+(define-function gdk_drag_motion
+ (c-name "gdk_drag_motion")
+ (return-type "gboolean")
+ (parameters
+ '("GdkDragContext*" "context")
+ '("GdkWindow*" "dest_window")
+ '("GdkDragProtocol" "protocol")
+ '("gint" "x_root")
+ '("gint" "y_root")
+ '("GdkDragAction" "suggested_action")
+ '("GdkDragAction" "possible_actions")
+ '("guint32" "time_")
+ )
+)
+
+(define-function gdk_drag_drop
+ (c-name "gdk_drag_drop")
+ (return-type "none")
+ (parameters
+ '("GdkDragContext*" "context")
+ '("guint32" "time_")
+ )
+)
+
+(define-function gdk_drag_abort
+ (c-name "gdk_drag_abort")
+ (return-type "none")
+ (parameters
+ '("GdkDragContext*" "context")
+ '("guint32" "time_")
+ )
+)
+
+(define-function gdk_drag_drop_succeeded
+ (c-name "gdk_drag_drop_succeeded")
+ (return-type "gboolean")
+ (parameters
+ '("GdkDragContext*" "context")
+ )
+)
+
+
+
+;; From gdkdrawable.h
+
+(define-function gdk_drawable_get_type
+ (c-name "gdk_drawable_get_type")
+ (return-type "GType")
+)
+
+(define-method set_data
+ (of-object "GdkDrawable")
+ (c-name "gdk_drawable_set_data")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "key")
+ '("gpointer" "data")
+ '("GDestroyNotify" "destroy_func")
+ )
+)
+
+(define-method get_data
+ (of-object "GdkDrawable")
+ (c-name "gdk_drawable_get_data")
+ (return-type "gpointer")
+ (parameters
+ '("const-gchar*" "key")
+ )
+)
+
+(define-method get_size
+ (of-object "GdkDrawable")
+ (c-name "gdk_drawable_get_size")
+ (return-type "none")
+ (parameters
+ '("gint*" "width")
+ '("gint*" "height")
+ )
+)
+
+(define-method set_colormap
+ (of-object "GdkDrawable")
+ (c-name "gdk_drawable_set_colormap")
+ (return-type "none")
+ (parameters
+ '("GdkColormap*" "colormap")
+ )
+)
+
+(define-method get_colormap
+ (of-object "GdkDrawable")
+ (c-name "gdk_drawable_get_colormap")
+ (return-type "GdkColormap*")
+)
+
+(define-method get_visual
+ (of-object "GdkDrawable")
+ (c-name "gdk_drawable_get_visual")
+ (return-type "GdkVisual*")
+)
+
+(define-method get_depth
+ (of-object "GdkDrawable")
+ (c-name "gdk_drawable_get_depth")
+ (return-type "gint")
+)
+
+(define-method get_screen
+ (of-object "GdkDrawable")
+ (c-name "gdk_drawable_get_screen")
+ (return-type "GdkScreen*")
+)
+
+(define-method get_display
+ (of-object "GdkDrawable")
+ (c-name "gdk_drawable_get_display")
+ (return-type "GdkDisplay*")
+)
+
+(define-method ref
+ (of-object "GdkDrawable")
+ (c-name "gdk_drawable_ref")
+ (return-type "GdkDrawable*")
+)
+
+(define-method unref
+ (of-object "GdkDrawable")
+ (c-name "gdk_drawable_unref")
+ (return-type "none")
+)
+
+(define-function gdk_draw_point
+ (c-name "gdk_draw_point")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-function gdk_draw_line
+ (c-name "gdk_draw_line")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("gint" "x1_")
+ '("gint" "y1_")
+ '("gint" "x2_")
+ '("gint" "y2_")
+ )
+)
+
+(define-function gdk_draw_rectangle
+ (c-name "gdk_draw_rectangle")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("gboolean" "filled")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gdk_draw_arc
+ (c-name "gdk_draw_arc")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("gboolean" "filled")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("gint" "angle1")
+ '("gint" "angle2")
+ )
+)
+
+(define-function gdk_draw_polygon
+ (c-name "gdk_draw_polygon")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("gboolean" "filled")
+ '("GdkPoint*" "points")
+ '("gint" "npoints")
+ )
+)
+
+(define-function gdk_draw_string
+ (c-name "gdk_draw_string")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkFont*" "font")
+ '("GdkGC*" "gc")
+ '("gint" "x")
+ '("gint" "y")
+ '("const-gchar*" "string")
+ )
+)
+
+(define-function gdk_draw_text
+ (c-name "gdk_draw_text")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkFont*" "font")
+ '("GdkGC*" "gc")
+ '("gint" "x")
+ '("gint" "y")
+ '("const-gchar*" "text")
+ '("gint" "text_length")
+ )
+)
+
+(define-function gdk_draw_text_wc
+ (c-name "gdk_draw_text_wc")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkFont*" "font")
+ '("GdkGC*" "gc")
+ '("gint" "x")
+ '("gint" "y")
+ '("const-GdkWChar*" "text")
+ '("gint" "text_length")
+ )
+)
+
+(define-function gdk_draw_drawable
+ (c-name "gdk_draw_drawable")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("GdkDrawable*" "src")
+ '("gint" "xsrc")
+ '("gint" "ysrc")
+ '("gint" "xdest")
+ '("gint" "ydest")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gdk_draw_image
+ (c-name "gdk_draw_image")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("GdkImage*" "image")
+ '("gint" "xsrc")
+ '("gint" "ysrc")
+ '("gint" "xdest")
+ '("gint" "ydest")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gdk_draw_points
+ (c-name "gdk_draw_points")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("GdkPoint*" "points")
+ '("gint" "npoints")
+ )
+)
+
+(define-function gdk_draw_segments
+ (c-name "gdk_draw_segments")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("GdkSegment*" "segs")
+ '("gint" "nsegs")
+ )
+)
+
+(define-function gdk_draw_lines
+ (c-name "gdk_draw_lines")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("GdkPoint*" "points")
+ '("gint" "npoints")
+ )
+)
+
+(define-function gdk_draw_pixbuf
+ (c-name "gdk_draw_pixbuf")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("GdkPixbuf*" "pixbuf")
+ '("gint" "src_x")
+ '("gint" "src_y")
+ '("gint" "dest_x")
+ '("gint" "dest_y")
+ '("gint" "width")
+ '("gint" "height")
+ '("GdkRgbDither" "dither")
+ '("gint" "x_dither")
+ '("gint" "y_dither")
+ )
+)
+
+(define-function gdk_draw_glyphs
+ (c-name "gdk_draw_glyphs")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("PangoFont*" "font")
+ '("gint" "x")
+ '("gint" "y")
+ '("PangoGlyphString*" "glyphs")
+ )
+)
+
+(define-function gdk_draw_layout_line
+ (c-name "gdk_draw_layout_line")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("gint" "x")
+ '("gint" "y")
+ '("PangoLayoutLine*" "line")
+ )
+)
+
+(define-function gdk_draw_layout
+ (c-name "gdk_draw_layout")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("gint" "x")
+ '("gint" "y")
+ '("PangoLayout*" "layout")
+ )
+)
+
+(define-function gdk_draw_layout_line_with_colors
+ (c-name "gdk_draw_layout_line_with_colors")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("gint" "x")
+ '("gint" "y")
+ '("PangoLayoutLine*" "line")
+ '("const-GdkColor*" "foreground")
+ '("const-GdkColor*" "background")
+ )
+)
+
+(define-function gdk_draw_layout_with_colors
+ (c-name "gdk_draw_layout_with_colors")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("gint" "x")
+ '("gint" "y")
+ '("PangoLayout*" "layout")
+ '("const-GdkColor*" "foreground")
+ '("const-GdkColor*" "background")
+ )
+)
+
+(define-function gdk_draw_glyphs_transformed
+ (c-name "gdk_draw_glyphs_transformed")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("PangoMatrix*" "matrix")
+ '("PangoFont*" "font")
+ '("gint" "x")
+ '("gint" "y")
+ '("PangoGlyphString*" "glyphs")
+ )
+)
+
+(define-function gdk_draw_trapezoids
+ (c-name "gdk_draw_trapezoids")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("GdkTrapezoid*" "trapezoids")
+ '("gint" "n_trapezoids")
+ )
+)
+
+(define-method get_image
+ (of-object "GdkDrawable")
+ (c-name "gdk_drawable_get_image")
+ (return-type "GdkImage*")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-method copy_to_image
+ (of-object "GdkDrawable")
+ (c-name "gdk_drawable_copy_to_image")
+ (return-type "GdkImage*")
+ (parameters
+ '("GdkImage*" "image")
+ '("gint" "src_x")
+ '("gint" "src_y")
+ '("gint" "dest_x")
+ '("gint" "dest_y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-method get_clip_region
+ (of-object "GdkDrawable")
+ (c-name "gdk_drawable_get_clip_region")
+ (return-type "GdkRegion*")
+)
+
+(define-method get_visible_region
+ (of-object "GdkDrawable")
+ (c-name "gdk_drawable_get_visible_region")
+ (return-type "GdkRegion*")
+)
+
+
+
+;; From gdkenumtypes.h
+
+(define-function gdk_cursor_type_get_type
+ (c-name "gdk_cursor_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_drag_action_get_type
+ (c-name "gdk_drag_action_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_drag_protocol_get_type
+ (c-name "gdk_drag_protocol_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_filter_return_get_type
+ (c-name "gdk_filter_return_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_event_type_get_type
+ (c-name "gdk_event_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_event_mask_get_type
+ (c-name "gdk_event_mask_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_visibility_state_get_type
+ (c-name "gdk_visibility_state_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_scroll_direction_get_type
+ (c-name "gdk_scroll_direction_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_notify_type_get_type
+ (c-name "gdk_notify_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_crossing_mode_get_type
+ (c-name "gdk_crossing_mode_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_property_state_get_type
+ (c-name "gdk_property_state_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_window_state_get_type
+ (c-name "gdk_window_state_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_setting_action_get_type
+ (c-name "gdk_setting_action_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_owner_change_get_type
+ (c-name "gdk_owner_change_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_font_type_get_type
+ (c-name "gdk_font_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_cap_style_get_type
+ (c-name "gdk_cap_style_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_fill_get_type
+ (c-name "gdk_fill_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_function_get_type
+ (c-name "gdk_function_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_join_style_get_type
+ (c-name "gdk_join_style_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_line_style_get_type
+ (c-name "gdk_line_style_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_subwindow_mode_get_type
+ (c-name "gdk_subwindow_mode_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_gc_values_mask_get_type
+ (c-name "gdk_gc_values_mask_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_image_type_get_type
+ (c-name "gdk_image_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_extension_mode_get_type
+ (c-name "gdk_extension_mode_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_input_source_get_type
+ (c-name "gdk_input_source_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_input_mode_get_type
+ (c-name "gdk_input_mode_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_axis_use_get_type
+ (c-name "gdk_axis_use_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_prop_mode_get_type
+ (c-name "gdk_prop_mode_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_fill_rule_get_type
+ (c-name "gdk_fill_rule_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_overlap_type_get_type
+ (c-name "gdk_overlap_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_rgb_dither_get_type
+ (c-name "gdk_rgb_dither_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_byte_order_get_type
+ (c-name "gdk_byte_order_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_modifier_type_get_type
+ (c-name "gdk_modifier_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_input_condition_get_type
+ (c-name "gdk_input_condition_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_status_get_type
+ (c-name "gdk_status_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_grab_status_get_type
+ (c-name "gdk_grab_status_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_visual_type_get_type
+ (c-name "gdk_visual_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_window_class_get_type
+ (c-name "gdk_window_class_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_window_type_get_type
+ (c-name "gdk_window_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_window_attributes_type_get_type
+ (c-name "gdk_window_attributes_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_window_hints_get_type
+ (c-name "gdk_window_hints_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_window_type_hint_get_type
+ (c-name "gdk_window_type_hint_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_wm_decoration_get_type
+ (c-name "gdk_wm_decoration_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_wm_function_get_type
+ (c-name "gdk_wm_function_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_gravity_get_type
+ (c-name "gdk_gravity_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_window_edge_get_type
+ (c-name "gdk_window_edge_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From gdkevents.h
+
+(define-function gdk_event_get_type
+ (c-name "gdk_event_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_events_pending
+ (c-name "gdk_events_pending")
+ (return-type "gboolean")
+)
+
+(define-function gdk_event_get
+ (c-name "gdk_event_get")
+ (return-type "GdkEvent*")
+)
+
+(define-function gdk_event_peek
+ (c-name "gdk_event_peek")
+ (return-type "GdkEvent*")
+)
+
+(define-function gdk_event_get_graphics_expose
+ (c-name "gdk_event_get_graphics_expose")
+ (return-type "GdkEvent*")
+ (parameters
+ '("GdkWindow*" "window")
+ )
+)
+
+(define-method put
+ (of-object "GdkEvent")
+ (c-name "gdk_event_put")
+ (return-type "none")
+)
+
+(define-function gdk_event_new
+ (c-name "gdk_event_new")
+ (is-constructor-of "GdkEvent")
+ (return-type "GdkEvent*")
+ (parameters
+ '("GdkEventType" "type")
+ )
+)
+
+(define-method copy
+ (of-object "GdkEvent")
+ (c-name "gdk_event_copy")
+ (return-type "GdkEvent*")
+)
+
+(define-method free
+ (of-object "GdkEvent")
+ (c-name "gdk_event_free")
+ (return-type "none")
+)
+
+(define-method get_time
+ (of-object "GdkEvent")
+ (c-name "gdk_event_get_time")
+ (return-type "guint32")
+)
+
+(define-method get_state
+ (of-object "GdkEvent")
+ (c-name "gdk_event_get_state")
+ (return-type "gboolean")
+ (parameters
+ '("GdkModifierType*" "state")
+ )
+)
+
+(define-method get_coords
+ (of-object "GdkEvent")
+ (c-name "gdk_event_get_coords")
+ (return-type "gboolean")
+ (parameters
+ '("gdouble*" "x_win")
+ '("gdouble*" "y_win")
+ )
+)
+
+(define-method get_root_coords
+ (of-object "GdkEvent")
+ (c-name "gdk_event_get_root_coords")
+ (return-type "gboolean")
+ (parameters
+ '("gdouble*" "x_root")
+ '("gdouble*" "y_root")
+ )
+)
+
+(define-method get_axis
+ (of-object "GdkEvent")
+ (c-name "gdk_event_get_axis")
+ (return-type "gboolean")
+ (parameters
+ '("GdkAxisUse" "axis_use")
+ '("gdouble*" "value")
+ )
+)
+
+(define-function gdk_event_request_motions
+ (c-name "gdk_event_request_motions")
+ (return-type "none")
+ (parameters
+ '("GdkEventMotion*" "event")
+ )
+)
+
+(define-function gdk_event_handler_set
+ (c-name "gdk_event_handler_set")
+ (return-type "none")
+ (parameters
+ '("GdkEventFunc" "func")
+ '("gpointer" "data")
+ '("GDestroyNotify" "notify")
+ )
+)
+
+(define-method set_screen
+ (of-object "GdkEvent")
+ (c-name "gdk_event_set_screen")
+ (return-type "none")
+ (parameters
+ '("GdkScreen*" "screen")
+ )
+)
+
+(define-method get_screen
+ (of-object "GdkEvent")
+ (c-name "gdk_event_get_screen")
+ (return-type "GdkScreen*")
+)
+
+(define-function gdk_set_show_events
+ (c-name "gdk_set_show_events")
+ (return-type "none")
+ (parameters
+ '("gboolean" "show_events")
+ )
+)
+
+(define-function gdk_get_show_events
+ (c-name "gdk_get_show_events")
+ (return-type "gboolean")
+)
+
+(define-function gdk_add_client_message_filter
+ (c-name "gdk_add_client_message_filter")
+ (return-type "none")
+ (parameters
+ '("GdkAtom" "message_type")
+ '("GdkFilterFunc" "func")
+ '("gpointer" "data")
+ )
+)
+
+(define-function gdk_setting_get
+ (c-name "gdk_setting_get")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "name")
+ '("GValue*" "value")
+ )
+)
+
+
+
+;; From gdkfont.h
+
+(define-function gdk_font_get_type
+ (c-name "gdk_font_get_type")
+ (return-type "GType")
+)
+
+(define-method ref
+ (of-object "GdkFont")
+ (c-name "gdk_font_ref")
+ (return-type "GdkFont*")
+)
+
+(define-method unref
+ (of-object "GdkFont")
+ (c-name "gdk_font_unref")
+ (return-type "none")
+)
+
+(define-method id
+ (of-object "GdkFont")
+ (c-name "gdk_font_id")
+ (return-type "gint")
+)
+
+(define-method equal
+ (of-object "GdkFont")
+ (c-name "gdk_font_equal")
+ (return-type "gboolean")
+ (parameters
+ '("const-GdkFont*" "fontb")
+ )
+)
+
+(define-function gdk_font_load_for_display
+ (c-name "gdk_font_load_for_display")
+ (return-type "GdkFont*")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("const-gchar*" "font_name")
+ )
+)
+
+(define-function gdk_fontset_load_for_display
+ (c-name "gdk_fontset_load_for_display")
+ (return-type "GdkFont*")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("const-gchar*" "fontset_name")
+ )
+)
+
+(define-function gdk_font_from_description_for_display
+ (c-name "gdk_font_from_description_for_display")
+ (return-type "GdkFont*")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("PangoFontDescription*" "font_desc")
+ )
+)
+
+(define-function gdk_font_load
+ (c-name "gdk_font_load")
+ (return-type "GdkFont*")
+ (parameters
+ '("const-gchar*" "font_name")
+ )
+)
+
+(define-function gdk_fontset_load
+ (c-name "gdk_fontset_load")
+ (return-type "GdkFont*")
+ (parameters
+ '("const-gchar*" "fontset_name")
+ )
+)
+
+(define-function gdk_font_from_description
+ (c-name "gdk_font_from_description")
+ (return-type "GdkFont*")
+ (parameters
+ '("PangoFontDescription*" "font_desc")
+ )
+)
+
+(define-function gdk_string_width
+ (c-name "gdk_string_width")
+ (return-type "gint")
+ (parameters
+ '("GdkFont*" "font")
+ '("const-gchar*" "string")
+ )
+)
+
+(define-function gdk_text_width
+ (c-name "gdk_text_width")
+ (return-type "gint")
+ (parameters
+ '("GdkFont*" "font")
+ '("const-gchar*" "text")
+ '("gint" "text_length")
+ )
+)
+
+(define-function gdk_text_width_wc
+ (c-name "gdk_text_width_wc")
+ (return-type "gint")
+ (parameters
+ '("GdkFont*" "font")
+ '("const-GdkWChar*" "text")
+ '("gint" "text_length")
+ )
+)
+
+(define-function gdk_char_width
+ (c-name "gdk_char_width")
+ (return-type "gint")
+ (parameters
+ '("GdkFont*" "font")
+ '("gchar" "character")
+ )
+)
+
+(define-function gdk_char_width_wc
+ (c-name "gdk_char_width_wc")
+ (return-type "gint")
+ (parameters
+ '("GdkFont*" "font")
+ '("GdkWChar" "character")
+ )
+)
+
+(define-function gdk_string_measure
+ (c-name "gdk_string_measure")
+ (return-type "gint")
+ (parameters
+ '("GdkFont*" "font")
+ '("const-gchar*" "string")
+ )
+)
+
+(define-function gdk_text_measure
+ (c-name "gdk_text_measure")
+ (return-type "gint")
+ (parameters
+ '("GdkFont*" "font")
+ '("const-gchar*" "text")
+ '("gint" "text_length")
+ )
+)
+
+(define-function gdk_char_measure
+ (c-name "gdk_char_measure")
+ (return-type "gint")
+ (parameters
+ '("GdkFont*" "font")
+ '("gchar" "character")
+ )
+)
+
+(define-function gdk_string_height
+ (c-name "gdk_string_height")
+ (return-type "gint")
+ (parameters
+ '("GdkFont*" "font")
+ '("const-gchar*" "string")
+ )
+)
+
+(define-function gdk_text_height
+ (c-name "gdk_text_height")
+ (return-type "gint")
+ (parameters
+ '("GdkFont*" "font")
+ '("const-gchar*" "text")
+ '("gint" "text_length")
+ )
+)
+
+(define-function gdk_char_height
+ (c-name "gdk_char_height")
+ (return-type "gint")
+ (parameters
+ '("GdkFont*" "font")
+ '("gchar" "character")
+ )
+)
+
+(define-function gdk_text_extents
+ (c-name "gdk_text_extents")
+ (return-type "none")
+ (parameters
+ '("GdkFont*" "font")
+ '("const-gchar*" "text")
+ '("gint" "text_length")
+ '("gint*" "lbearing")
+ '("gint*" "rbearing")
+ '("gint*" "width")
+ '("gint*" "ascent")
+ '("gint*" "descent")
+ )
+)
+
+(define-function gdk_text_extents_wc
+ (c-name "gdk_text_extents_wc")
+ (return-type "none")
+ (parameters
+ '("GdkFont*" "font")
+ '("const-GdkWChar*" "text")
+ '("gint" "text_length")
+ '("gint*" "lbearing")
+ '("gint*" "rbearing")
+ '("gint*" "width")
+ '("gint*" "ascent")
+ '("gint*" "descent")
+ )
+)
+
+(define-function gdk_string_extents
+ (c-name "gdk_string_extents")
+ (return-type "none")
+ (parameters
+ '("GdkFont*" "font")
+ '("const-gchar*" "string")
+ '("gint*" "lbearing")
+ '("gint*" "rbearing")
+ '("gint*" "width")
+ '("gint*" "ascent")
+ '("gint*" "descent")
+ )
+)
+
+(define-method get_display
+ (of-object "GdkFont")
+ (c-name "gdk_font_get_display")
+ (return-type "GdkDisplay*")
+)
+
+
+
+;; From gdkgc.h
+
+(define-function gdk_gc_get_type
+ (c-name "gdk_gc_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_gc_new
+ (c-name "gdk_gc_new")
+ (is-constructor-of "GdkGc")
+ (return-type "GdkGC*")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ )
+)
+
+(define-function gdk_gc_new_with_values
+ (c-name "gdk_gc_new_with_values")
+ (return-type "GdkGC*")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGCValues*" "values")
+ '("GdkGCValuesMask" "values_mask")
+ )
+)
+
+(define-method ref
+ (of-object "GdkGC")
+ (c-name "gdk_gc_ref")
+ (return-type "GdkGC*")
+)
+
+(define-method unref
+ (of-object "GdkGC")
+ (c-name "gdk_gc_unref")
+ (return-type "none")
+)
+
+(define-method get_values
+ (of-object "GdkGC")
+ (c-name "gdk_gc_get_values")
+ (return-type "none")
+ (parameters
+ '("GdkGCValues*" "values")
+ )
+)
+
+(define-method set_values
+ (of-object "GdkGC")
+ (c-name "gdk_gc_set_values")
+ (return-type "none")
+ (parameters
+ '("GdkGCValues*" "values")
+ '("GdkGCValuesMask" "values_mask")
+ )
+)
+
+(define-method set_foreground
+ (of-object "GdkGC")
+ (c-name "gdk_gc_set_foreground")
+ (return-type "none")
+ (parameters
+ '("const-GdkColor*" "color")
+ )
+)
+
+(define-method set_background
+ (of-object "GdkGC")
+ (c-name "gdk_gc_set_background")
+ (return-type "none")
+ (parameters
+ '("const-GdkColor*" "color")
+ )
+)
+
+(define-method set_font
+ (of-object "GdkGC")
+ (c-name "gdk_gc_set_font")
+ (return-type "none")
+ (parameters
+ '("GdkFont*" "font")
+ )
+)
+
+(define-method set_function
+ (of-object "GdkGC")
+ (c-name "gdk_gc_set_function")
+ (return-type "none")
+ (parameters
+ '("GdkFunction" "function")
+ )
+)
+
+(define-method set_fill
+ (of-object "GdkGC")
+ (c-name "gdk_gc_set_fill")
+ (return-type "none")
+ (parameters
+ '("GdkFill" "fill")
+ )
+)
+
+(define-method set_tile
+ (of-object "GdkGC")
+ (c-name "gdk_gc_set_tile")
+ (return-type "none")
+ (parameters
+ '("GdkPixmap*" "tile")
+ )
+)
+
+(define-method set_stipple
+ (of-object "GdkGC")
+ (c-name "gdk_gc_set_stipple")
+ (return-type "none")
+ (parameters
+ '("GdkPixmap*" "stipple")
+ )
+)
+
+(define-method set_ts_origin
+ (of-object "GdkGC")
+ (c-name "gdk_gc_set_ts_origin")
+ (return-type "none")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-method set_clip_origin
+ (of-object "GdkGC")
+ (c-name "gdk_gc_set_clip_origin")
+ (return-type "none")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-method set_clip_mask
+ (of-object "GdkGC")
+ (c-name "gdk_gc_set_clip_mask")
+ (return-type "none")
+ (parameters
+ '("GdkBitmap*" "mask")
+ )
+)
+
+(define-method set_clip_rectangle
+ (of-object "GdkGC")
+ (c-name "gdk_gc_set_clip_rectangle")
+ (return-type "none")
+ (parameters
+ '("GdkRectangle*" "rectangle")
+ )
+)
+
+(define-method set_clip_region
+ (of-object "GdkGC")
+ (c-name "gdk_gc_set_clip_region")
+ (return-type "none")
+ (parameters
+ '("GdkRegion*" "region")
+ )
+)
+
+(define-method set_subwindow
+ (of-object "GdkGC")
+ (c-name "gdk_gc_set_subwindow")
+ (return-type "none")
+ (parameters
+ '("GdkSubwindowMode" "mode")
+ )
+)
+
+(define-method set_exposures
+ (of-object "GdkGC")
+ (c-name "gdk_gc_set_exposures")
+ (return-type "none")
+ (parameters
+ '("gboolean" "exposures")
+ )
+)
+
+(define-method set_line_attributes
+ (of-object "GdkGC")
+ (c-name "gdk_gc_set_line_attributes")
+ (return-type "none")
+ (parameters
+ '("gint" "line_width")
+ '("GdkLineStyle" "line_style")
+ '("GdkCapStyle" "cap_style")
+ '("GdkJoinStyle" "join_style")
+ )
+)
+
+(define-method set_dashes
+ (of-object "GdkGC")
+ (c-name "gdk_gc_set_dashes")
+ (return-type "none")
+ (parameters
+ '("gint" "dash_offset")
+ '("gint8[]" "dash_list")
+ '("gint" "n")
+ )
+)
+
+(define-method offset
+ (of-object "GdkGC")
+ (c-name "gdk_gc_offset")
+ (return-type "none")
+ (parameters
+ '("gint" "x_offset")
+ '("gint" "y_offset")
+ )
+)
+
+(define-method copy
+ (of-object "GdkGC")
+ (c-name "gdk_gc_copy")
+ (return-type "none")
+ (parameters
+ '("GdkGC*" "src_gc")
+ )
+)
+
+(define-method set_colormap
+ (of-object "GdkGC")
+ (c-name "gdk_gc_set_colormap")
+ (return-type "none")
+ (parameters
+ '("GdkColormap*" "colormap")
+ )
+)
+
+(define-method get_colormap
+ (of-object "GdkGC")
+ (c-name "gdk_gc_get_colormap")
+ (return-type "GdkColormap*")
+)
+
+(define-method set_rgb_fg_color
+ (of-object "GdkGC")
+ (c-name "gdk_gc_set_rgb_fg_color")
+ (return-type "none")
+ (parameters
+ '("const-GdkColor*" "color")
+ )
+)
+
+(define-method set_rgb_bg_color
+ (of-object "GdkGC")
+ (c-name "gdk_gc_set_rgb_bg_color")
+ (return-type "none")
+ (parameters
+ '("const-GdkColor*" "color")
+ )
+)
+
+(define-method get_screen
+ (of-object "GdkGC")
+ (c-name "gdk_gc_get_screen")
+ (return-type "GdkScreen*")
+)
+
+
+
+;; From gdk.h
+
+(define-function gdk_parse_args
+ (c-name "gdk_parse_args")
+ (return-type "none")
+ (parameters
+ '("gint*" "argc")
+ '("gchar***" "argv")
+ )
+)
+
+(define-function gdk_init
+ (c-name "gdk_init")
+ (return-type "none")
+ (parameters
+ '("gint*" "argc")
+ '("gchar***" "argv")
+ )
+)
+
+(define-function gdk_init_check
+ (c-name "gdk_init_check")
+ (return-type "gboolean")
+ (parameters
+ '("gint*" "argc")
+ '("gchar***" "argv")
+ )
+)
+
+(define-function gdk_add_option_entries_libgtk_only
+ (c-name "gdk_add_option_entries_libgtk_only")
+ (return-type "none")
+ (parameters
+ '("GOptionGroup*" "group")
+ )
+)
+
+(define-function gdk_pre_parse_libgtk_only
+ (c-name "gdk_pre_parse_libgtk_only")
+ (return-type "none")
+)
+
+(define-function gdk_exit
+ (c-name "gdk_exit")
+ (return-type "none")
+ (parameters
+ '("gint" "error_code")
+ )
+)
+
+(define-function gdk_set_locale
+ (c-name "gdk_set_locale")
+ (return-type "gchar*")
+)
+
+(define-function gdk_get_program_class
+ (c-name "gdk_get_program_class")
+ (return-type "const-char*")
+)
+
+(define-function gdk_set_program_class
+ (c-name "gdk_set_program_class")
+ (return-type "none")
+ (parameters
+ '("const-char*" "program_class")
+ )
+)
+
+(define-function gdk_error_trap_push
+ (c-name "gdk_error_trap_push")
+ (return-type "none")
+)
+
+(define-function gdk_error_trap_pop
+ (c-name "gdk_error_trap_pop")
+ (return-type "gint")
+)
+
+(define-function gdk_set_use_xshm
+ (c-name "gdk_set_use_xshm")
+ (return-type "none")
+ (parameters
+ '("gboolean" "use_xshm")
+ )
+)
+
+(define-function gdk_get_use_xshm
+ (c-name "gdk_get_use_xshm")
+ (return-type "gboolean")
+)
+
+(define-function gdk_get_display
+ (c-name "gdk_get_display")
+ (return-type "gchar*")
+)
+
+(define-function gdk_get_display_arg_name
+ (c-name "gdk_get_display_arg_name")
+ (return-type "const-gchar*")
+)
+
+(define-function gdk_input_add_full
+ (c-name "gdk_input_add_full")
+ (return-type "gint")
+ (parameters
+ '("gint" "source")
+ '("GdkInputCondition" "condition")
+ '("GdkInputFunction" "function")
+ '("gpointer" "data")
+ '("GdkDestroyNotify" "destroy")
+ )
+)
+
+(define-function gdk_input_add
+ (c-name "gdk_input_add")
+ (return-type "gint")
+ (parameters
+ '("gint" "source")
+ '("GdkInputCondition" "condition")
+ '("GdkInputFunction" "function")
+ '("gpointer" "data")
+ )
+)
+
+(define-function gdk_input_remove
+ (c-name "gdk_input_remove")
+ (return-type "none")
+ (parameters
+ '("gint" "tag")
+ )
+)
+
+(define-function gdk_pointer_grab
+ (c-name "gdk_pointer_grab")
+ (return-type "GdkGrabStatus")
+ (parameters
+ '("GdkWindow*" "window")
+ '("gboolean" "owner_events")
+ '("GdkEventMask" "event_mask")
+ '("GdkWindow*" "confine_to")
+ '("GdkCursor*" "cursor")
+ '("guint32" "time_")
+ )
+)
+
+(define-function gdk_keyboard_grab
+ (c-name "gdk_keyboard_grab")
+ (return-type "GdkGrabStatus")
+ (parameters
+ '("GdkWindow*" "window")
+ '("gboolean" "owner_events")
+ '("guint32" "time_")
+ )
+)
+
+(define-function gdk_pointer_grab_info_libgtk_only
+ (c-name "gdk_pointer_grab_info_libgtk_only")
+ (return-type "gboolean")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("GdkWindow**" "grab_window")
+ '("gboolean*" "owner_events")
+ )
+)
+
+(define-function gdk_keyboard_grab_info_libgtk_only
+ (c-name "gdk_keyboard_grab_info_libgtk_only")
+ (return-type "gboolean")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("GdkWindow**" "grab_window")
+ '("gboolean*" "owner_events")
+ )
+)
+
+(define-function gdk_pointer_ungrab
+ (c-name "gdk_pointer_ungrab")
+ (return-type "none")
+ (parameters
+ '("guint32" "time_")
+ )
+)
+
+(define-function gdk_keyboard_ungrab
+ (c-name "gdk_keyboard_ungrab")
+ (return-type "none")
+ (parameters
+ '("guint32" "time_")
+ )
+)
+
+(define-function gdk_pointer_is_grabbed
+ (c-name "gdk_pointer_is_grabbed")
+ (return-type "gboolean")
+)
+
+(define-function gdk_screen_width
+ (c-name "gdk_screen_width")
+ (return-type "gint")
+)
+
+(define-function gdk_screen_height
+ (c-name "gdk_screen_height")
+ (return-type "gint")
+)
+
+(define-function gdk_screen_width_mm
+ (c-name "gdk_screen_width_mm")
+ (return-type "gint")
+)
+
+(define-function gdk_screen_height_mm
+ (c-name "gdk_screen_height_mm")
+ (return-type "gint")
+)
+
+(define-function gdk_beep
+ (c-name "gdk_beep")
+ (return-type "none")
+)
+
+(define-function gdk_flush
+ (c-name "gdk_flush")
+ (return-type "none")
+)
+
+(define-function gdk_set_double_click_time
+ (c-name "gdk_set_double_click_time")
+ (return-type "none")
+ (parameters
+ '("guint" "msec")
+ )
+)
+
+(define-method intersect
+ (of-object "GdkRectangle")
+ (c-name "gdk_rectangle_intersect")
+ (return-type "gboolean")
+ (parameters
+ '("GdkRectangle*" "src2")
+ '("GdkRectangle*" "dest")
+ )
+)
+
+(define-method union
+ (of-object "GdkRectangle")
+ (c-name "gdk_rectangle_union")
+ (return-type "none")
+ (parameters
+ '("GdkRectangle*" "src2")
+ '("GdkRectangle*" "dest")
+ )
+)
+
+(define-function gdk_rectangle_get_type
+ (c-name "gdk_rectangle_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_wcstombs
+ (c-name "gdk_wcstombs")
+ (return-type "gchar*")
+ (parameters
+ '("const-GdkWChar*" "src")
+ )
+)
+
+(define-function gdk_mbstowcs
+ (c-name "gdk_mbstowcs")
+ (return-type "gint")
+ (parameters
+ '("GdkWChar*" "dest")
+ '("const-gchar*" "src")
+ '("gint" "dest_max")
+ )
+)
+
+(define-method send_client_message
+ (of-object "GdkEvent")
+ (c-name "gdk_event_send_client_message")
+ (return-type "gboolean")
+ (parameters
+ '("GdkNativeWindow" "winid")
+ )
+)
+
+(define-method send_clientmessage_toall
+ (of-object "GdkEvent")
+ (c-name "gdk_event_send_clientmessage_toall")
+ (return-type "none")
+)
+
+(define-function gdk_event_send_client_message_for_display
+ (c-name "gdk_event_send_client_message_for_display")
+ (return-type "gboolean")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("GdkEvent*" "event")
+ '("GdkNativeWindow" "winid")
+ )
+)
+
+(define-function gdk_notify_startup_complete
+ (c-name "gdk_notify_startup_complete")
+ (return-type "none")
+)
+
+(define-function gdk_notify_startup_complete_with_id
+ (c-name "gdk_notify_startup_complete_with_id")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "startup_id")
+ )
+)
+
+(define-function gdk_threads_enter
+ (c-name "gdk_threads_enter")
+ (return-type "none")
+)
+
+(define-function gdk_threads_leave
+ (c-name "gdk_threads_leave")
+ (return-type "none")
+)
+
+(define-function gdk_threads_init
+ (c-name "gdk_threads_init")
+ (return-type "none")
+)
+
+(define-function gdk_threads_set_lock_functions
+ (c-name "gdk_threads_set_lock_functions")
+ (return-type "none")
+ (parameters
+ '("GCallback" "enter_fn")
+ '("GCallback" "leave_fn")
+ )
+)
+
+(define-function gdk_threads_add_idle_full
+ (c-name "gdk_threads_add_idle_full")
+ (return-type "guint")
+ (parameters
+ '("gint" "priority")
+ '("GSourceFunc" "function")
+ '("gpointer" "data")
+ '("GDestroyNotify" "notify")
+ )
+)
+
+(define-function gdk_threads_add_idle
+ (c-name "gdk_threads_add_idle")
+ (return-type "guint")
+ (parameters
+ '("GSourceFunc" "function")
+ '("gpointer" "data")
+ )
+)
+
+(define-function gdk_threads_add_timeout_full
+ (c-name "gdk_threads_add_timeout_full")
+ (return-type "guint")
+ (parameters
+ '("gint" "priority")
+ '("guint" "interval")
+ '("GSourceFunc" "function")
+ '("gpointer" "data")
+ '("GDestroyNotify" "notify")
+ )
+)
+
+(define-function gdk_threads_add_timeout
+ (c-name "gdk_threads_add_timeout")
+ (return-type "guint")
+ (parameters
+ '("guint" "interval")
+ '("GSourceFunc" "function")
+ '("gpointer" "data")
+ )
+)
+
+
+
+;; From gdki18n.h
+
+
+
+;; From gdkimage.h
+
+(define-function gdk_image_get_type
+ (c-name "gdk_image_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_image_new
+ (c-name "gdk_image_new")
+ (is-constructor-of "GdkImage")
+ (return-type "GdkImage*")
+ (parameters
+ '("GdkImageType" "type")
+ '("GdkVisual*" "visual")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gdk_image_get
+ (c-name "gdk_image_get")
+ (return-type "GdkImage*")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-method ref
+ (of-object "GdkImage")
+ (c-name "gdk_image_ref")
+ (return-type "GdkImage*")
+)
+
+(define-method unref
+ (of-object "GdkImage")
+ (c-name "gdk_image_unref")
+ (return-type "none")
+)
+
+(define-method put_pixel
+ (of-object "GdkImage")
+ (c-name "gdk_image_put_pixel")
+ (return-type "none")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ '("guint32" "pixel")
+ )
+)
+
+(define-method get_pixel
+ (of-object "GdkImage")
+ (c-name "gdk_image_get_pixel")
+ (return-type "guint32")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-method set_colormap
+ (of-object "GdkImage")
+ (c-name "gdk_image_set_colormap")
+ (return-type "none")
+ (parameters
+ '("GdkColormap*" "colormap")
+ )
+)
+
+(define-method get_colormap
+ (of-object "GdkImage")
+ (c-name "gdk_image_get_colormap")
+ (return-type "GdkColormap*")
+)
+
+(define-function gdk_image_new_bitmap
+ (c-name "gdk_image_new_bitmap")
+ (return-type "GdkImage*")
+ (parameters
+ '("GdkVisual*" "visual")
+ '("gpointer" "data")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+
+
+;; From gdkinput.h
+
+(define-function gdk_device_get_type
+ (c-name "gdk_device_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_devices_list
+ (c-name "gdk_devices_list")
+ (return-type "GList*")
+)
+
+(define-method set_source
+ (of-object "GdkDevice")
+ (c-name "gdk_device_set_source")
+ (return-type "none")
+ (parameters
+ '("GdkInputSource" "source")
+ )
+)
+
+(define-method set_mode
+ (of-object "GdkDevice")
+ (c-name "gdk_device_set_mode")
+ (return-type "gboolean")
+ (parameters
+ '("GdkInputMode" "mode")
+ )
+)
+
+(define-method set_key
+ (of-object "GdkDevice")
+ (c-name "gdk_device_set_key")
+ (return-type "none")
+ (parameters
+ '("guint" "index_")
+ '("guint" "keyval")
+ '("GdkModifierType" "modifiers")
+ )
+)
+
+(define-method set_axis_use
+ (of-object "GdkDevice")
+ (c-name "gdk_device_set_axis_use")
+ (return-type "none")
+ (parameters
+ '("guint" "index_")
+ '("GdkAxisUse" "use")
+ )
+)
+
+(define-method get_state
+ (of-object "GdkDevice")
+ (c-name "gdk_device_get_state")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("gdouble*" "axes")
+ '("GdkModifierType*" "mask")
+ )
+)
+
+(define-method get_history
+ (of-object "GdkDevice")
+ (c-name "gdk_device_get_history")
+ (return-type "gboolean")
+ (parameters
+ '("GdkWindow*" "window")
+ '("guint32" "start")
+ '("guint32" "stop")
+ '("GdkTimeCoord***" "events")
+ '("gint*" "n_events")
+ )
+)
+
+(define-function gdk_device_free_history
+ (c-name "gdk_device_free_history")
+ (return-type "none")
+ (parameters
+ '("GdkTimeCoord**" "events")
+ '("gint" "n_events")
+ )
+)
+
+(define-method get_axis
+ (of-object "GdkDevice")
+ (c-name "gdk_device_get_axis")
+ (return-type "gboolean")
+ (parameters
+ '("gdouble*" "axes")
+ '("GdkAxisUse" "use")
+ '("gdouble*" "value")
+ )
+)
+
+(define-function gdk_input_set_extension_events
+ (c-name "gdk_input_set_extension_events")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("gint" "mask")
+ '("GdkExtensionMode" "mode")
+ )
+)
+
+(define-function gdk_device_get_core_pointer
+ (c-name "gdk_device_get_core_pointer")
+ (return-type "GdkDevice*")
+)
+
+
+
+;; From gdkinternals.h
+
+(define-function gdk_synthesize_window_state
+ (c-name "gdk_synthesize_window_state")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GdkWindowState" "unset_flags")
+ '("GdkWindowState" "set_flags")
+ )
+)
+
+
+
+;; From gdkintl.h
+
+
+
+;; From gdkkeys.h
+
+(define-function gdk_keymap_get_type
+ (c-name "gdk_keymap_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_keymap_get_default
+ (c-name "gdk_keymap_get_default")
+ (return-type "GdkKeymap*")
+)
+
+(define-function gdk_keymap_get_for_display
+ (c-name "gdk_keymap_get_for_display")
+ (return-type "GdkKeymap*")
+ (parameters
+ '("GdkDisplay*" "display")
+ )
+)
+
+(define-method lookup_key
+ (of-object "GdkKeymap")
+ (c-name "gdk_keymap_lookup_key")
+ (return-type "guint")
+ (parameters
+ '("const-GdkKeymapKey*" "key")
+ )
+)
+
+(define-method translate_keyboard_state
+ (of-object "GdkKeymap")
+ (c-name "gdk_keymap_translate_keyboard_state")
+ (return-type "gboolean")
+ (parameters
+ '("guint" "hardware_keycode")
+ '("GdkModifierType" "state")
+ '("gint" "group")
+ '("guint*" "keyval")
+ '("gint*" "effective_group")
+ '("gint*" "level")
+ '("GdkModifierType*" "consumed_modifiers")
+ )
+)
+
+(define-method get_entries_for_keyval
+ (of-object "GdkKeymap")
+ (c-name "gdk_keymap_get_entries_for_keyval")
+ (return-type "gboolean")
+ (parameters
+ '("guint" "keyval")
+ '("GdkKeymapKey**" "keys")
+ '("gint*" "n_keys")
+ )
+)
+
+(define-method get_entries_for_keycode
+ (of-object "GdkKeymap")
+ (c-name "gdk_keymap_get_entries_for_keycode")
+ (return-type "gboolean")
+ (parameters
+ '("guint" "hardware_keycode")
+ '("GdkKeymapKey**" "keys")
+ '("guint**" "keyvals")
+ '("gint*" "n_entries")
+ )
+)
+
+(define-method get_direction
+ (of-object "GdkKeymap")
+ (c-name "gdk_keymap_get_direction")
+ (return-type "PangoDirection")
+)
+
+(define-method have_bidi_layouts
+ (of-object "GdkKeymap")
+ (c-name "gdk_keymap_have_bidi_layouts")
+ (return-type "gboolean")
+)
+
+(define-function gdk_keyval_name
+ (c-name "gdk_keyval_name")
+ (return-type "gchar*")
+ (parameters
+ '("guint" "keyval")
+ )
+)
+
+(define-function gdk_keyval_from_name
+ (c-name "gdk_keyval_from_name")
+ (return-type "guint")
+ (parameters
+ '("const-gchar*" "keyval_name")
+ )
+)
+
+(define-function gdk_keyval_convert_case
+ (c-name "gdk_keyval_convert_case")
+ (return-type "none")
+ (parameters
+ '("guint" "symbol")
+ '("guint*" "lower")
+ '("guint*" "upper")
+ )
+)
+
+(define-function gdk_keyval_to_upper
+ (c-name "gdk_keyval_to_upper")
+ (return-type "guint")
+ (parameters
+ '("guint" "keyval")
+ )
+)
+
+(define-function gdk_keyval_to_lower
+ (c-name "gdk_keyval_to_lower")
+ (return-type "guint")
+ (parameters
+ '("guint" "keyval")
+ )
+)
+
+(define-function gdk_keyval_is_upper
+ (c-name "gdk_keyval_is_upper")
+ (return-type "gboolean")
+ (parameters
+ '("guint" "keyval")
+ )
+)
+
+(define-function gdk_keyval_is_lower
+ (c-name "gdk_keyval_is_lower")
+ (return-type "gboolean")
+ (parameters
+ '("guint" "keyval")
+ )
+)
+
+(define-function gdk_keyval_to_unicode
+ (c-name "gdk_keyval_to_unicode")
+ (return-type "guint32")
+ (parameters
+ '("guint" "keyval")
+ )
+)
+
+(define-function gdk_unicode_to_keyval
+ (c-name "gdk_unicode_to_keyval")
+ (return-type "guint")
+ (parameters
+ '("guint32" "wc")
+ )
+)
+
+
+
+;; From gdkkeysyms.h
+
+
+
+;; From gdkmarshalers.h
+
+
+
+;; From gdkmedialib.h
+
+
+
+;; From gdkpango.h
+
+(define-function gdk_pango_renderer_get_type
+ (c-name "gdk_pango_renderer_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_pango_renderer_new
+ (c-name "gdk_pango_renderer_new")
+ (is-constructor-of "GdkPangoRenderer")
+ (return-type "PangoRenderer*")
+ (parameters
+ '("GdkScreen*" "screen")
+ )
+)
+
+(define-function gdk_pango_renderer_get_default
+ (c-name "gdk_pango_renderer_get_default")
+ (return-type "PangoRenderer*")
+ (parameters
+ '("GdkScreen*" "screen")
+ )
+)
+
+(define-method set_drawable
+ (of-object "GdkPangoRenderer")
+ (c-name "gdk_pango_renderer_set_drawable")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ )
+)
+
+(define-method set_gc
+ (of-object "GdkPangoRenderer")
+ (c-name "gdk_pango_renderer_set_gc")
+ (return-type "none")
+ (parameters
+ '("GdkGC*" "gc")
+ )
+)
+
+(define-method set_stipple
+ (of-object "GdkPangoRenderer")
+ (c-name "gdk_pango_renderer_set_stipple")
+ (return-type "none")
+ (parameters
+ '("PangoRenderPart" "part")
+ '("GdkBitmap*" "stipple")
+ )
+)
+
+(define-method set_override_color
+ (of-object "GdkPangoRenderer")
+ (c-name "gdk_pango_renderer_set_override_color")
+ (return-type "none")
+ (parameters
+ '("PangoRenderPart" "part")
+ '("const-GdkColor*" "color")
+ )
+)
+
+(define-function gdk_pango_context_get_for_screen
+ (c-name "gdk_pango_context_get_for_screen")
+ (return-type "PangoContext*")
+ (parameters
+ '("GdkScreen*" "screen")
+ )
+)
+
+(define-function gdk_pango_context_get
+ (c-name "gdk_pango_context_get")
+ (return-type "PangoContext*")
+)
+
+(define-function gdk_pango_context_set_colormap
+ (c-name "gdk_pango_context_set_colormap")
+ (return-type "none")
+ (parameters
+ '("PangoContext*" "context")
+ '("GdkColormap*" "colormap")
+ )
+)
+
+(define-function gdk_pango_layout_line_get_clip_region
+ (c-name "gdk_pango_layout_line_get_clip_region")
+ (return-type "GdkRegion*")
+ (parameters
+ '("PangoLayoutLine*" "line")
+ '("gint" "x_origin")
+ '("gint" "y_origin")
+ '("gint*" "index_ranges")
+ '("gint" "n_ranges")
+ )
+)
+
+(define-function gdk_pango_layout_get_clip_region
+ (c-name "gdk_pango_layout_get_clip_region")
+ (return-type "GdkRegion*")
+ (parameters
+ '("PangoLayout*" "layout")
+ '("gint" "x_origin")
+ '("gint" "y_origin")
+ '("gint*" "index_ranges")
+ '("gint" "n_ranges")
+ )
+)
+
+(define-function gdk_pango_attr_stipple_new
+ (c-name "gdk_pango_attr_stipple_new")
+ (is-constructor-of "GdkPangoAttrStipple")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("GdkBitmap*" "stipple")
+ )
+)
+
+(define-function gdk_pango_attr_embossed_new
+ (c-name "gdk_pango_attr_embossed_new")
+ (is-constructor-of "GdkPangoAttrEmbossed")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("gboolean" "embossed")
+ )
+)
+
+(define-function gdk_pango_attr_emboss_color_new
+ (c-name "gdk_pango_attr_emboss_color_new")
+ (is-constructor-of "GdkPangoAttrEmbossColor")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("const-GdkColor*" "color")
+ )
+)
+
+
+
+;; From gdkpixbuf.h
+
+(define-method render_threshold_alpha
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_render_threshold_alpha")
+ (return-type "none")
+ (parameters
+ '("GdkBitmap*" "bitmap")
+ '("int" "src_x")
+ '("int" "src_y")
+ '("int" "dest_x")
+ '("int" "dest_y")
+ '("int" "width")
+ '("int" "height")
+ '("int" "alpha_threshold")
+ )
+)
+
+(define-method render_to_drawable
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_render_to_drawable")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("int" "src_x")
+ '("int" "src_y")
+ '("int" "dest_x")
+ '("int" "dest_y")
+ '("int" "width")
+ '("int" "height")
+ '("GdkRgbDither" "dither")
+ '("int" "x_dither")
+ '("int" "y_dither")
+ )
+)
+
+(define-method render_to_drawable_alpha
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_render_to_drawable_alpha")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("int" "src_x")
+ '("int" "src_y")
+ '("int" "dest_x")
+ '("int" "dest_y")
+ '("int" "width")
+ '("int" "height")
+ '("GdkPixbufAlphaMode" "alpha_mode")
+ '("int" "alpha_threshold")
+ '("GdkRgbDither" "dither")
+ '("int" "x_dither")
+ '("int" "y_dither")
+ )
+)
+
+(define-method render_pixmap_and_mask_for_colormap
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_render_pixmap_and_mask_for_colormap")
+ (return-type "none")
+ (parameters
+ '("GdkColormap*" "colormap")
+ '("GdkPixmap**" "pixmap_return")
+ '("GdkBitmap**" "mask_return")
+ '("int" "alpha_threshold")
+ )
+)
+
+(define-method render_pixmap_and_mask
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_render_pixmap_and_mask")
+ (return-type "none")
+ (parameters
+ '("GdkPixmap**" "pixmap_return")
+ '("GdkBitmap**" "mask_return")
+ '("int" "alpha_threshold")
+ )
+)
+
+(define-method get_from_drawable
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_get_from_drawable")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("GdkDrawable*" "src")
+ '("GdkColormap*" "cmap")
+ '("int" "src_x")
+ '("int" "src_y")
+ '("int" "dest_x")
+ '("int" "dest_y")
+ '("int" "width")
+ '("int" "height")
+ )
+)
+
+(define-method get_from_image
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_get_from_image")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("GdkImage*" "src")
+ '("GdkColormap*" "cmap")
+ '("int" "src_x")
+ '("int" "src_y")
+ '("int" "dest_x")
+ '("int" "dest_y")
+ '("int" "width")
+ '("int" "height")
+ )
+)
+
+
+
+;; From gdkpixmap.h
+
+(define-function gdk_pixmap_get_type
+ (c-name "gdk_pixmap_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_pixmap_new
+ (c-name "gdk_pixmap_new")
+ (is-constructor-of "GdkPixmap")
+ (return-type "GdkPixmap*")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("gint" "width")
+ '("gint" "height")
+ '("gint" "depth")
+ )
+)
+
+(define-function gdk_bitmap_create_from_data
+ (c-name "gdk_bitmap_create_from_data")
+ (return-type "GdkBitmap*")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("const-gchar*" "data")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gdk_pixmap_create_from_data
+ (c-name "gdk_pixmap_create_from_data")
+ (return-type "GdkPixmap*")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("const-gchar*" "data")
+ '("gint" "width")
+ '("gint" "height")
+ '("gint" "depth")
+ '("const-GdkColor*" "fg")
+ '("const-GdkColor*" "bg")
+ )
+)
+
+(define-function gdk_pixmap_create_from_xpm
+ (c-name "gdk_pixmap_create_from_xpm")
+ (return-type "GdkPixmap*")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkBitmap**" "mask")
+ '("const-GdkColor*" "transparent_color")
+ '("const-gchar*" "filename")
+ )
+)
+
+(define-function gdk_pixmap_colormap_create_from_xpm
+ (c-name "gdk_pixmap_colormap_create_from_xpm")
+ (return-type "GdkPixmap*")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkColormap*" "colormap")
+ '("GdkBitmap**" "mask")
+ '("const-GdkColor*" "transparent_color")
+ '("const-gchar*" "filename")
+ )
+)
+
+(define-function gdk_pixmap_create_from_xpm_d
+ (c-name "gdk_pixmap_create_from_xpm_d")
+ (return-type "GdkPixmap*")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkBitmap**" "mask")
+ '("const-GdkColor*" "transparent_color")
+ '("gchar**" "data")
+ )
+)
+
+(define-function gdk_pixmap_colormap_create_from_xpm_d
+ (c-name "gdk_pixmap_colormap_create_from_xpm_d")
+ (return-type "GdkPixmap*")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkColormap*" "colormap")
+ '("GdkBitmap**" "mask")
+ '("const-GdkColor*" "transparent_color")
+ '("gchar**" "data")
+ )
+)
+
+(define-function gdk_pixmap_foreign_new
+ (c-name "gdk_pixmap_foreign_new")
+ (is-constructor-of "GdkPixmapForeign")
+ (return-type "GdkPixmap*")
+ (parameters
+ '("GdkNativeWindow" "anid")
+ )
+)
+
+(define-function gdk_pixmap_lookup
+ (c-name "gdk_pixmap_lookup")
+ (return-type "GdkPixmap*")
+ (parameters
+ '("GdkNativeWindow" "anid")
+ )
+)
+
+(define-function gdk_pixmap_foreign_new_for_display
+ (c-name "gdk_pixmap_foreign_new_for_display")
+ (return-type "GdkPixmap*")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("GdkNativeWindow" "anid")
+ )
+)
+
+(define-function gdk_pixmap_lookup_for_display
+ (c-name "gdk_pixmap_lookup_for_display")
+ (return-type "GdkPixmap*")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("GdkNativeWindow" "anid")
+ )
+)
+
+(define-function gdk_pixmap_foreign_new_for_screen
+ (c-name "gdk_pixmap_foreign_new_for_screen")
+ (return-type "GdkPixmap*")
+ (parameters
+ '("GdkScreen*" "screen")
+ '("GdkNativeWindow" "anid")
+ '("gint" "width")
+ '("gint" "height")
+ '("gint" "depth")
+ )
+)
+
+
+
+;; From gdkpoly-generic.h
+
+
+
+;; From gdkprivate.h
+
+(define-method destroy_notify
+ (of-object "GdkWindow")
+ (c-name "gdk_window_destroy_notify")
+ (return-type "none")
+)
+
+(define-function gdk_synthesize_window_state
+ (c-name "gdk_synthesize_window_state")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GdkWindowState" "unset_flags")
+ '("GdkWindowState" "set_flags")
+ )
+)
+
+
+
+;; From gdkproperty.h
+
+(define-function gdk_atom_intern
+ (c-name "gdk_atom_intern")
+ (return-type "GdkAtom")
+ (parameters
+ '("const-gchar*" "atom_name")
+ '("gboolean" "only_if_exists")
+ )
+)
+
+(define-function gdk_atom_intern_static_string
+ (c-name "gdk_atom_intern_static_string")
+ (return-type "GdkAtom")
+ (parameters
+ '("const-gchar*" "atom_name")
+ )
+)
+
+(define-method name
+ (of-object "GdkAtom")
+ (c-name "gdk_atom_name")
+ (return-type "gchar*")
+)
+
+(define-function gdk_property_get
+ (c-name "gdk_property_get")
+ (return-type "gboolean")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GdkAtom" "property")
+ '("GdkAtom" "type")
+ '("gulong" "offset")
+ '("gulong" "length")
+ '("gint" "pdelete")
+ '("GdkAtom*" "actual_property_type")
+ '("gint*" "actual_format")
+ '("gint*" "actual_length")
+ '("guchar**" "data")
+ )
+)
+
+(define-function gdk_property_change
+ (c-name "gdk_property_change")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GdkAtom" "property")
+ '("GdkAtom" "type")
+ '("gint" "format")
+ '("GdkPropMode" "mode")
+ '("const-guchar*" "data")
+ '("gint" "nelements")
+ )
+)
+
+(define-function gdk_property_delete
+ (c-name "gdk_property_delete")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GdkAtom" "property")
+ )
+)
+
+(define-function gdk_text_property_to_text_list
+ (c-name "gdk_text_property_to_text_list")
+ (return-type "gint")
+ (parameters
+ '("GdkAtom" "encoding")
+ '("gint" "format")
+ '("const-guchar*" "text")
+ '("gint" "length")
+ '("gchar***" "list")
+ )
+)
+
+(define-function gdk_text_property_to_utf8_list
+ (c-name "gdk_text_property_to_utf8_list")
+ (return-type "gint")
+ (parameters
+ '("GdkAtom" "encoding")
+ '("gint" "format")
+ '("const-guchar*" "text")
+ '("gint" "length")
+ '("gchar***" "list")
+ )
+)
+
+(define-function gdk_utf8_to_compound_text
+ (c-name "gdk_utf8_to_compound_text")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "str")
+ '("GdkAtom*" "encoding")
+ '("gint*" "format")
+ '("guchar**" "ctext")
+ '("gint*" "length")
+ )
+)
+
+(define-function gdk_string_to_compound_text
+ (c-name "gdk_string_to_compound_text")
+ (return-type "gint")
+ (parameters
+ '("const-gchar*" "str")
+ '("GdkAtom*" "encoding")
+ '("gint*" "format")
+ '("guchar**" "ctext")
+ '("gint*" "length")
+ )
+)
+
+(define-function gdk_text_property_to_text_list_for_display
+ (c-name "gdk_text_property_to_text_list_for_display")
+ (return-type "gint")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("GdkAtom" "encoding")
+ '("gint" "format")
+ '("const-guchar*" "text")
+ '("gint" "length")
+ '("gchar***" "list")
+ )
+)
+
+(define-function gdk_text_property_to_utf8_list_for_display
+ (c-name "gdk_text_property_to_utf8_list_for_display")
+ (return-type "gint")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("GdkAtom" "encoding")
+ '("gint" "format")
+ '("const-guchar*" "text")
+ '("gint" "length")
+ '("gchar***" "list")
+ )
+)
+
+(define-function gdk_utf8_to_string_target
+ (c-name "gdk_utf8_to_string_target")
+ (return-type "gchar*")
+ (parameters
+ '("const-gchar*" "str")
+ )
+)
+
+(define-function gdk_string_to_compound_text_for_display
+ (c-name "gdk_string_to_compound_text_for_display")
+ (return-type "gint")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("const-gchar*" "str")
+ '("GdkAtom*" "encoding")
+ '("gint*" "format")
+ '("guchar**" "ctext")
+ '("gint*" "length")
+ )
+)
+
+(define-function gdk_utf8_to_compound_text_for_display
+ (c-name "gdk_utf8_to_compound_text_for_display")
+ (return-type "gboolean")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("const-gchar*" "str")
+ '("GdkAtom*" "encoding")
+ '("gint*" "format")
+ '("guchar**" "ctext")
+ '("gint*" "length")
+ )
+)
+
+(define-function gdk_free_text_list
+ (c-name "gdk_free_text_list")
+ (return-type "none")
+ (parameters
+ '("gchar**" "list")
+ )
+)
+
+(define-function gdk_free_compound_text
+ (c-name "gdk_free_compound_text")
+ (return-type "none")
+ (parameters
+ '("guchar*" "ctext")
+ )
+)
+
+
+
+;; From gdkregion-generic.h
+
+
+
+;; From gdkregion.h
+
+(define-function gdk_region_new
+ (c-name "gdk_region_new")
+ (is-constructor-of "GdkRegion")
+ (return-type "GdkRegion*")
+)
+
+(define-function gdk_region_polygon
+ (c-name "gdk_region_polygon")
+ (return-type "GdkRegion*")
+ (parameters
+ '("GdkPoint*" "points")
+ '("gint" "npoints")
+ '("GdkFillRule" "fill_rule")
+ )
+)
+
+(define-method copy
+ (of-object "GdkRegion")
+ (c-name "gdk_region_copy")
+ (return-type "GdkRegion*")
+)
+
+(define-function gdk_region_rectangle
+ (c-name "gdk_region_rectangle")
+ (return-type "GdkRegion*")
+ (parameters
+ '("GdkRectangle*" "rectangle")
+ )
+)
+
+(define-method destroy
+ (of-object "GdkRegion")
+ (c-name "gdk_region_destroy")
+ (return-type "none")
+)
+
+(define-method get_clipbox
+ (of-object "GdkRegion")
+ (c-name "gdk_region_get_clipbox")
+ (return-type "none")
+ (parameters
+ '("GdkRectangle*" "rectangle")
+ )
+)
+
+(define-method get_rectangles
+ (of-object "GdkRegion")
+ (c-name "gdk_region_get_rectangles")
+ (return-type "none")
+ (parameters
+ '("GdkRectangle**" "rectangles")
+ '("gint*" "n_rectangles")
+ )
+)
+
+(define-method empty
+ (of-object "GdkRegion")
+ (c-name "gdk_region_empty")
+ (return-type "gboolean")
+)
+
+(define-method equal
+ (of-object "GdkRegion")
+ (c-name "gdk_region_equal")
+ (return-type "gboolean")
+ (parameters
+ '("GdkRegion*" "region2")
+ )
+)
+
+(define-method point_in
+ (of-object "GdkRegion")
+ (c-name "gdk_region_point_in")
+ (return-type "gboolean")
+ (parameters
+ '("int" "x")
+ '("int" "y")
+ )
+)
+
+(define-method rect_in
+ (of-object "GdkRegion")
+ (c-name "gdk_region_rect_in")
+ (return-type "GdkOverlapType")
+ (parameters
+ '("GdkRectangle*" "rectangle")
+ )
+)
+
+(define-method offset
+ (of-object "GdkRegion")
+ (c-name "gdk_region_offset")
+ (return-type "none")
+ (parameters
+ '("gint" "dx")
+ '("gint" "dy")
+ )
+)
+
+(define-method shrink
+ (of-object "GdkRegion")
+ (c-name "gdk_region_shrink")
+ (return-type "none")
+ (parameters
+ '("gint" "dx")
+ '("gint" "dy")
+ )
+)
+
+(define-method union_with_rect
+ (of-object "GdkRegion")
+ (c-name "gdk_region_union_with_rect")
+ (return-type "none")
+ (parameters
+ '("GdkRectangle*" "rect")
+ )
+)
+
+(define-method intersect
+ (of-object "GdkRegion")
+ (c-name "gdk_region_intersect")
+ (return-type "none")
+ (parameters
+ '("GdkRegion*" "source2")
+ )
+)
+
+(define-method union
+ (of-object "GdkRegion")
+ (c-name "gdk_region_union")
+ (return-type "none")
+ (parameters
+ '("GdkRegion*" "source2")
+ )
+)
+
+(define-method subtract
+ (of-object "GdkRegion")
+ (c-name "gdk_region_subtract")
+ (return-type "none")
+ (parameters
+ '("GdkRegion*" "source2")
+ )
+)
+
+(define-method xor
+ (of-object "GdkRegion")
+ (c-name "gdk_region_xor")
+ (return-type "none")
+ (parameters
+ '("GdkRegion*" "source2")
+ )
+)
+
+(define-method spans_intersect_foreach
+ (of-object "GdkRegion")
+ (c-name "gdk_region_spans_intersect_foreach")
+ (return-type "none")
+ (parameters
+ '("GdkSpan*" "spans")
+ '("int" "n_spans")
+ '("gboolean" "sorted")
+ '("GdkSpanFunc" "function")
+ '("gpointer" "data")
+ )
+)
+
+
+
+;; From gdkrgb.h
+
+(define-function gdk_rgb_init
+ (c-name "gdk_rgb_init")
+ (return-type "none")
+)
+
+(define-function gdk_rgb_xpixel_from_rgb
+ (c-name "gdk_rgb_xpixel_from_rgb")
+ (return-type "gulong")
+ (parameters
+ '("guint32" "rgb")
+ )
+)
+
+(define-function gdk_rgb_gc_set_foreground
+ (c-name "gdk_rgb_gc_set_foreground")
+ (return-type "none")
+ (parameters
+ '("GdkGC*" "gc")
+ '("guint32" "rgb")
+ )
+)
+
+(define-function gdk_rgb_gc_set_background
+ (c-name "gdk_rgb_gc_set_background")
+ (return-type "none")
+ (parameters
+ '("GdkGC*" "gc")
+ '("guint32" "rgb")
+ )
+)
+
+(define-function gdk_rgb_find_color
+ (c-name "gdk_rgb_find_color")
+ (return-type "none")
+ (parameters
+ '("GdkColormap*" "colormap")
+ '("GdkColor*" "color")
+ )
+)
+
+(define-function gdk_draw_rgb_image
+ (c-name "gdk_draw_rgb_image")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("GdkRgbDither" "dith")
+ '("guchar*" "rgb_buf")
+ '("gint" "rowstride")
+ )
+)
+
+(define-function gdk_draw_rgb_image_dithalign
+ (c-name "gdk_draw_rgb_image_dithalign")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("GdkRgbDither" "dith")
+ '("guchar*" "rgb_buf")
+ '("gint" "rowstride")
+ '("gint" "xdith")
+ '("gint" "ydith")
+ )
+)
+
+(define-function gdk_draw_rgb_32_image
+ (c-name "gdk_draw_rgb_32_image")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("GdkRgbDither" "dith")
+ '("guchar*" "buf")
+ '("gint" "rowstride")
+ )
+)
+
+(define-function gdk_draw_rgb_32_image_dithalign
+ (c-name "gdk_draw_rgb_32_image_dithalign")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("GdkRgbDither" "dith")
+ '("guchar*" "buf")
+ '("gint" "rowstride")
+ '("gint" "xdith")
+ '("gint" "ydith")
+ )
+)
+
+(define-function gdk_draw_gray_image
+ (c-name "gdk_draw_gray_image")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("GdkRgbDither" "dith")
+ '("guchar*" "buf")
+ '("gint" "rowstride")
+ )
+)
+
+(define-function gdk_draw_indexed_image
+ (c-name "gdk_draw_indexed_image")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "gc")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("GdkRgbDither" "dith")
+ '("guchar*" "buf")
+ '("gint" "rowstride")
+ '("GdkRgbCmap*" "cmap")
+ )
+)
+
+(define-function gdk_rgb_cmap_new
+ (c-name "gdk_rgb_cmap_new")
+ (is-constructor-of "GdkRgbCmap")
+ (return-type "GdkRgbCmap*")
+ (parameters
+ '("guint32*" "colors")
+ '("gint" "n_colors")
+ )
+)
+
+(define-method free
+ (of-object "GdkRgbCmap")
+ (c-name "gdk_rgb_cmap_free")
+ (return-type "none")
+)
+
+(define-function gdk_rgb_set_verbose
+ (c-name "gdk_rgb_set_verbose")
+ (return-type "none")
+ (parameters
+ '("gboolean" "verbose")
+ )
+)
+
+(define-function gdk_rgb_set_install
+ (c-name "gdk_rgb_set_install")
+ (return-type "none")
+ (parameters
+ '("gboolean" "install")
+ )
+)
+
+(define-function gdk_rgb_set_min_colors
+ (c-name "gdk_rgb_set_min_colors")
+ (return-type "none")
+ (parameters
+ '("gint" "min_colors")
+ )
+)
+
+(define-function gdk_rgb_get_colormap
+ (c-name "gdk_rgb_get_colormap")
+ (return-type "GdkColormap*")
+)
+
+(define-function gdk_rgb_get_visual
+ (c-name "gdk_rgb_get_visual")
+ (return-type "GdkVisual*")
+)
+
+(define-function gdk_rgb_ditherable
+ (c-name "gdk_rgb_ditherable")
+ (return-type "gboolean")
+)
+
+(define-function gdk_rgb_colormap_ditherable
+ (c-name "gdk_rgb_colormap_ditherable")
+ (return-type "gboolean")
+ (parameters
+ '("GdkColormap*" "cmap")
+ )
+)
+
+
+
+;; From gdkscreen.h
+
+(define-function gdk_screen_get_type
+ (c-name "gdk_screen_get_type")
+ (return-type "GType")
+)
+
+(define-method get_default_colormap
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_default_colormap")
+ (return-type "GdkColormap*")
+)
+
+(define-method set_default_colormap
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_set_default_colormap")
+ (return-type "none")
+ (parameters
+ '("GdkColormap*" "colormap")
+ )
+)
+
+(define-method get_system_colormap
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_system_colormap")
+ (return-type "GdkColormap*")
+)
+
+(define-method get_system_visual
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_system_visual")
+ (return-type "GdkVisual*")
+)
+
+(define-method get_rgb_colormap
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_rgb_colormap")
+ (return-type "GdkColormap*")
+)
+
+(define-method get_rgb_visual
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_rgb_visual")
+ (return-type "GdkVisual*")
+)
+
+(define-method get_rgba_colormap
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_rgba_colormap")
+ (return-type "GdkColormap*")
+)
+
+(define-method get_rgba_visual
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_rgba_visual")
+ (return-type "GdkVisual*")
+)
+
+(define-method is_composited
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_is_composited")
+ (return-type "gboolean")
+)
+
+(define-method get_root_window
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_root_window")
+ (return-type "GdkWindow*")
+)
+
+(define-method get_display
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_display")
+ (return-type "GdkDisplay*")
+)
+
+(define-method get_number
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_number")
+ (return-type "gint")
+)
+
+(define-method get_width
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_width")
+ (return-type "gint")
+)
+
+(define-method get_height
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_height")
+ (return-type "gint")
+)
+
+(define-method get_width_mm
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_width_mm")
+ (return-type "gint")
+)
+
+(define-method get_height_mm
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_height_mm")
+ (return-type "gint")
+)
+
+(define-method list_visuals
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_list_visuals")
+ (return-type "GList*")
+)
+
+(define-method get_toplevel_windows
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_toplevel_windows")
+ (return-type "GList*")
+)
+
+(define-method make_display_name
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_make_display_name")
+ (return-type "gchar*")
+)
+
+(define-method get_n_monitors
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_n_monitors")
+ (return-type "gint")
+)
+
+(define-method get_monitor_geometry
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_monitor_geometry")
+ (return-type "none")
+ (parameters
+ '("gint" "monitor_num")
+ '("GdkRectangle*" "dest")
+ )
+)
+
+(define-method get_monitor_at_point
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_monitor_at_point")
+ (return-type "gint")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-method get_monitor_at_window
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_monitor_at_window")
+ (return-type "gint")
+ (parameters
+ '("GdkWindow*" "window")
+ )
+)
+
+(define-method broadcast_client_message
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_broadcast_client_message")
+ (return-type "none")
+ (parameters
+ '("GdkEvent*" "event")
+ )
+)
+
+(define-function gdk_screen_get_default
+ (c-name "gdk_screen_get_default")
+ (return-type "GdkScreen*")
+)
+
+(define-method get_setting
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_setting")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "name")
+ '("GValue*" "value")
+ )
+)
+
+(define-method set_font_options
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_set_font_options")
+ (return-type "none")
+ (parameters
+ '("const-cairo_font_options_t*" "options")
+ )
+)
+
+(define-method get_font_options
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_font_options")
+ (return-type "const-cairo_font_options_t*")
+)
+
+(define-method set_resolution
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_set_resolution")
+ (return-type "none")
+ (parameters
+ '("gdouble" "dpi")
+ )
+)
+
+(define-method get_resolution
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_resolution")
+ (return-type "gdouble")
+)
+
+(define-method get_active_window
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_active_window")
+ (return-type "GdkWindow*")
+)
+
+(define-method get_window_stack
+ (of-object "GdkScreen")
+ (c-name "gdk_screen_get_window_stack")
+ (return-type "GList*")
+)
+
+
+
+;; From gdkselection.h
+
+(define-function gdk_selection_owner_set
+ (c-name "gdk_selection_owner_set")
+ (return-type "gboolean")
+ (parameters
+ '("GdkWindow*" "owner")
+ '("GdkAtom" "selection")
+ '("guint32" "time_")
+ '("gboolean" "send_event")
+ )
+)
+
+(define-function gdk_selection_owner_get
+ (c-name "gdk_selection_owner_get")
+ (return-type "GdkWindow*")
+ (parameters
+ '("GdkAtom" "selection")
+ )
+)
+
+(define-function gdk_selection_owner_set_for_display
+ (c-name "gdk_selection_owner_set_for_display")
+ (return-type "gboolean")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("GdkWindow*" "owner")
+ '("GdkAtom" "selection")
+ '("guint32" "time_")
+ '("gboolean" "send_event")
+ )
+)
+
+(define-function gdk_selection_owner_get_for_display
+ (c-name "gdk_selection_owner_get_for_display")
+ (return-type "GdkWindow*")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("GdkAtom" "selection")
+ )
+)
+
+(define-function gdk_selection_convert
+ (c-name "gdk_selection_convert")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "requestor")
+ '("GdkAtom" "selection")
+ '("GdkAtom" "target")
+ '("guint32" "time_")
+ )
+)
+
+(define-function gdk_selection_property_get
+ (c-name "gdk_selection_property_get")
+ (return-type "gboolean")
+ (parameters
+ '("GdkWindow*" "requestor")
+ '("guchar**" "data")
+ '("GdkAtom*" "prop_type")
+ '("gint*" "prop_format")
+ )
+)
+
+(define-function gdk_selection_send_notify
+ (c-name "gdk_selection_send_notify")
+ (return-type "none")
+ (parameters
+ '("guint32" "requestor")
+ '("GdkAtom" "selection")
+ '("GdkAtom" "target")
+ '("GdkAtom" "property")
+ '("guint32" "time_")
+ )
+)
+
+(define-function gdk_selection_send_notify_for_display
+ (c-name "gdk_selection_send_notify_for_display")
+ (return-type "none")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("guint32" "requestor")
+ '("GdkAtom" "selection")
+ '("GdkAtom" "target")
+ '("GdkAtom" "property")
+ '("guint32" "time_")
+ )
+)
+
+
+
+;; From gdkspawn.h
+
+(define-function gdk_spawn_on_screen
+ (c-name "gdk_spawn_on_screen")
+ (return-type "gboolean")
+ (parameters
+ '("GdkScreen*" "screen")
+ '("const-gchar*" "working_directory")
+ '("gchar**" "argv")
+ '("gchar**" "envp")
+ '("GSpawnFlags" "flags")
+ '("GSpawnChildSetupFunc" "child_setup")
+ '("gpointer" "user_data")
+ '("gint*" "child_pid")
+ '("GError**" "error")
+ )
+)
+
+(define-function gdk_spawn_on_screen_with_pipes
+ (c-name "gdk_spawn_on_screen_with_pipes")
+ (return-type "gboolean")
+ (parameters
+ '("GdkScreen*" "screen")
+ '("const-gchar*" "working_directory")
+ '("gchar**" "argv")
+ '("gchar**" "envp")
+ '("GSpawnFlags" "flags")
+ '("GSpawnChildSetupFunc" "child_setup")
+ '("gpointer" "user_data")
+ '("gint*" "child_pid")
+ '("gint*" "standard_input")
+ '("gint*" "standard_output")
+ '("gint*" "standard_error")
+ '("GError**" "error")
+ )
+)
+
+(define-function gdk_spawn_command_line_on_screen
+ (c-name "gdk_spawn_command_line_on_screen")
+ (return-type "gboolean")
+ (parameters
+ '("GdkScreen*" "screen")
+ '("const-gchar*" "command_line")
+ '("GError**" "error")
+ )
+)
+
+
+
+;; From gdktypes.h
+
+
+
+;; From gdkvisual.h
+
+(define-function gdk_visual_get_type
+ (c-name "gdk_visual_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_visual_get_best_depth
+ (c-name "gdk_visual_get_best_depth")
+ (return-type "gint")
+)
+
+(define-function gdk_visual_get_best_type
+ (c-name "gdk_visual_get_best_type")
+ (return-type "GdkVisualType")
+)
+
+(define-function gdk_visual_get_system
+ (c-name "gdk_visual_get_system")
+ (return-type "GdkVisual*")
+)
+
+(define-function gdk_visual_get_best
+ (c-name "gdk_visual_get_best")
+ (return-type "GdkVisual*")
+)
+
+(define-function gdk_visual_get_best_with_depth
+ (c-name "gdk_visual_get_best_with_depth")
+ (return-type "GdkVisual*")
+ (parameters
+ '("gint" "depth")
+ )
+)
+
+(define-function gdk_visual_get_best_with_type
+ (c-name "gdk_visual_get_best_with_type")
+ (return-type "GdkVisual*")
+ (parameters
+ '("GdkVisualType" "visual_type")
+ )
+)
+
+(define-function gdk_visual_get_best_with_both
+ (c-name "gdk_visual_get_best_with_both")
+ (return-type "GdkVisual*")
+ (parameters
+ '("gint" "depth")
+ '("GdkVisualType" "visual_type")
+ )
+)
+
+(define-function gdk_query_depths
+ (c-name "gdk_query_depths")
+ (return-type "none")
+ (parameters
+ '("gint**" "depths")
+ '("gint*" "count")
+ )
+)
+
+(define-function gdk_query_visual_types
+ (c-name "gdk_query_visual_types")
+ (return-type "none")
+ (parameters
+ '("GdkVisualType**" "visual_types")
+ '("gint*" "count")
+ )
+)
+
+(define-function gdk_list_visuals
+ (c-name "gdk_list_visuals")
+ (return-type "GList*")
+)
+
+(define-method get_screen
+ (of-object "GdkVisual")
+ (c-name "gdk_visual_get_screen")
+ (return-type "GdkScreen*")
+)
+
+
+
+;; From gdkwindow.h
+
+(define-function gdk_window_object_get_type
+ (c-name "gdk_window_object_get_type")
+ (return-type "GType")
+)
+
+(define-method new
+ (of-object "GdkWindow")
+ (c-name "gdk_window_new")
+ (return-type "GdkWindow*")
+ (parameters
+ '("GdkWindowAttr*" "attributes")
+ '("gint" "attributes_mask")
+ )
+)
+
+(define-method destroy
+ (of-object "GdkWindow")
+ (c-name "gdk_window_destroy")
+ (return-type "none")
+)
+
+(define-method get_window_type
+ (of-object "GdkWindow")
+ (c-name "gdk_window_get_window_type")
+ (return-type "GdkWindowType")
+)
+
+(define-function gdk_window_at_pointer
+ (c-name "gdk_window_at_pointer")
+ (return-type "GdkWindow*")
+ (parameters
+ '("gint*" "win_x")
+ '("gint*" "win_y")
+ )
+)
+
+(define-method show
+ (of-object "GdkWindow")
+ (c-name "gdk_window_show")
+ (return-type "none")
+)
+
+(define-method hide
+ (of-object "GdkWindow")
+ (c-name "gdk_window_hide")
+ (return-type "none")
+)
+
+(define-method withdraw
+ (of-object "GdkWindow")
+ (c-name "gdk_window_withdraw")
+ (return-type "none")
+)
+
+(define-method show_unraised
+ (of-object "GdkWindow")
+ (c-name "gdk_window_show_unraised")
+ (return-type "none")
+)
+
+(define-method move
+ (of-object "GdkWindow")
+ (c-name "gdk_window_move")
+ (return-type "none")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-method resize
+ (of-object "GdkWindow")
+ (c-name "gdk_window_resize")
+ (return-type "none")
+ (parameters
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-method move_resize
+ (of-object "GdkWindow")
+ (c-name "gdk_window_move_resize")
+ (return-type "none")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-method reparent
+ (of-object "GdkWindow")
+ (c-name "gdk_window_reparent")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "new_parent")
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-method clear
+ (of-object "GdkWindow")
+ (c-name "gdk_window_clear")
+ (return-type "none")
+)
+
+(define-method clear_area
+ (of-object "GdkWindow")
+ (c-name "gdk_window_clear_area")
+ (return-type "none")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-method clear_area_e
+ (of-object "GdkWindow")
+ (c-name "gdk_window_clear_area_e")
+ (return-type "none")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-method raise
+ (of-object "GdkWindow")
+ (c-name "gdk_window_raise")
+ (return-type "none")
+)
+
+(define-method lower
+ (of-object "GdkWindow")
+ (c-name "gdk_window_lower")
+ (return-type "none")
+)
+
+(define-method focus
+ (of-object "GdkWindow")
+ (c-name "gdk_window_focus")
+ (return-type "none")
+ (parameters
+ '("guint32" "timestamp")
+ )
+)
+
+(define-method set_user_data
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_user_data")
+ (return-type "none")
+ (parameters
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method set_override_redirect
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_override_redirect")
+ (return-type "none")
+ (parameters
+ '("gboolean" "override_redirect")
+ )
+)
+
+(define-method set_accept_focus
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_accept_focus")
+ (return-type "none")
+ (parameters
+ '("gboolean" "accept_focus")
+ )
+)
+
+(define-method set_focus_on_map
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_focus_on_map")
+ (return-type "none")
+ (parameters
+ '("gboolean" "focus_on_map")
+ )
+)
+
+(define-method add_filter
+ (of-object "GdkWindow")
+ (c-name "gdk_window_add_filter")
+ (return-type "none")
+ (parameters
+ '("GdkFilterFunc" "function")
+ '("gpointer" "data")
+ )
+)
+
+(define-method remove_filter
+ (of-object "GdkWindow")
+ (c-name "gdk_window_remove_filter")
+ (return-type "none")
+ (parameters
+ '("GdkFilterFunc" "function")
+ '("gpointer" "data")
+ )
+)
+
+(define-method scroll
+ (of-object "GdkWindow")
+ (c-name "gdk_window_scroll")
+ (return-type "none")
+ (parameters
+ '("gint" "dx")
+ '("gint" "dy")
+ )
+)
+
+(define-method move_region
+ (of-object "GdkWindow")
+ (c-name "gdk_window_move_region")
+ (return-type "none")
+ (parameters
+ '("GdkRegion*" "region")
+ '("gint" "dx")
+ '("gint" "dy")
+ )
+)
+
+(define-method shape_combine_mask
+ (of-object "GdkWindow")
+ (c-name "gdk_window_shape_combine_mask")
+ (return-type "none")
+ (parameters
+ '("GdkBitmap*" "mask")
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-method shape_combine_region
+ (of-object "GdkWindow")
+ (c-name "gdk_window_shape_combine_region")
+ (return-type "none")
+ (parameters
+ '("GdkRegion*" "shape_region")
+ '("gint" "offset_x")
+ '("gint" "offset_y")
+ )
+)
+
+(define-method set_child_shapes
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_child_shapes")
+ (return-type "none")
+)
+
+(define-method set_composited
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_composited")
+ (return-type "none")
+ (parameters
+ '("gboolean" "composited")
+ )
+)
+
+(define-method merge_child_shapes
+ (of-object "GdkWindow")
+ (c-name "gdk_window_merge_child_shapes")
+ (return-type "none")
+)
+
+(define-method input_shape_combine_mask
+ (of-object "GdkWindow")
+ (c-name "gdk_window_input_shape_combine_mask")
+ (return-type "none")
+ (parameters
+ '("GdkBitmap*" "mask")
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-method input_shape_combine_region
+ (of-object "GdkWindow")
+ (c-name "gdk_window_input_shape_combine_region")
+ (return-type "none")
+ (parameters
+ '("GdkRegion*" "shape_region")
+ '("gint" "offset_x")
+ '("gint" "offset_y")
+ )
+)
+
+(define-method set_child_input_shapes
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_child_input_shapes")
+ (return-type "none")
+)
+
+(define-method merge_child_input_shapes
+ (of-object "GdkWindow")
+ (c-name "gdk_window_merge_child_input_shapes")
+ (return-type "none")
+)
+
+(define-method is_visible
+ (of-object "GdkWindow")
+ (c-name "gdk_window_is_visible")
+ (return-type "gboolean")
+)
+
+(define-method is_viewable
+ (of-object "GdkWindow")
+ (c-name "gdk_window_is_viewable")
+ (return-type "gboolean")
+)
+
+(define-method get_state
+ (of-object "GdkWindow")
+ (c-name "gdk_window_get_state")
+ (return-type "GdkWindowState")
+)
+
+(define-method set_static_gravities
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_static_gravities")
+ (return-type "gboolean")
+ (parameters
+ '("gboolean" "use_static")
+ )
+)
+
+(define-function gdk_window_foreign_new
+ (c-name "gdk_window_foreign_new")
+ (is-constructor-of "GdkWindowForeign")
+ (return-type "GdkWindow*")
+ (parameters
+ '("GdkNativeWindow" "anid")
+ )
+)
+
+(define-function gdk_window_lookup
+ (c-name "gdk_window_lookup")
+ (return-type "GdkWindow*")
+ (parameters
+ '("GdkNativeWindow" "anid")
+ )
+)
+
+(define-function gdk_window_foreign_new_for_display
+ (c-name "gdk_window_foreign_new_for_display")
+ (return-type "GdkWindow*")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("GdkNativeWindow" "anid")
+ )
+)
+
+(define-function gdk_window_lookup_for_display
+ (c-name "gdk_window_lookup_for_display")
+ (return-type "GdkWindow*")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("GdkNativeWindow" "anid")
+ )
+)
+
+(define-method set_hints
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_hints")
+ (return-type "none")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "min_width")
+ '("gint" "min_height")
+ '("gint" "max_width")
+ '("gint" "max_height")
+ '("gint" "flags")
+ )
+)
+
+(define-method set_type_hint
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_type_hint")
+ (return-type "none")
+ (parameters
+ '("GdkWindowTypeHint" "hint")
+ )
+)
+
+(define-method get_type_hint
+ (of-object "GdkWindow")
+ (c-name "gdk_window_get_type_hint")
+ (return-type "GdkWindowTypeHint")
+)
+
+(define-method set_modal_hint
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_modal_hint")
+ (return-type "none")
+ (parameters
+ '("gboolean" "modal")
+ )
+)
+
+(define-method set_skip_taskbar_hint
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_skip_taskbar_hint")
+ (return-type "none")
+ (parameters
+ '("gboolean" "skips_taskbar")
+ )
+)
+
+(define-method set_skip_pager_hint
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_skip_pager_hint")
+ (return-type "none")
+ (parameters
+ '("gboolean" "skips_pager")
+ )
+)
+
+(define-method set_urgency_hint
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_urgency_hint")
+ (return-type "none")
+ (parameters
+ '("gboolean" "urgent")
+ )
+)
+
+(define-method set_geometry_hints
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_geometry_hints")
+ (return-type "none")
+ (parameters
+ '("GdkGeometry*" "geometry")
+ '("GdkWindowHints" "geom_mask")
+ )
+)
+
+(define-function gdk_set_sm_client_id
+ (c-name "gdk_set_sm_client_id")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "sm_client_id")
+ )
+)
+
+(define-method begin_paint_rect
+ (of-object "GdkWindow")
+ (c-name "gdk_window_begin_paint_rect")
+ (return-type "none")
+ (parameters
+ '("GdkRectangle*" "rectangle")
+ )
+)
+
+(define-method begin_paint_region
+ (of-object "GdkWindow")
+ (c-name "gdk_window_begin_paint_region")
+ (return-type "none")
+ (parameters
+ '("GdkRegion*" "region")
+ )
+)
+
+(define-method end_paint
+ (of-object "GdkWindow")
+ (c-name "gdk_window_end_paint")
+ (return-type "none")
+)
+
+(define-method set_title
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_title")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "title")
+ )
+)
+
+(define-method set_role
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_role")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "role")
+ )
+)
+
+(define-method set_startup_id
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_startup_id")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "startup_id")
+ )
+)
+
+(define-method set_transient_for
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_transient_for")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "parent")
+ )
+)
+
+(define-method set_background
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_background")
+ (return-type "none")
+ (parameters
+ '("const-GdkColor*" "color")
+ )
+)
+
+(define-method set_back_pixmap
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_back_pixmap")
+ (return-type "none")
+ (parameters
+ '("GdkPixmap*" "pixmap")
+ '("gboolean" "parent_relative")
+ )
+)
+
+(define-method set_cursor
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_cursor")
+ (return-type "none")
+ (parameters
+ '("GdkCursor*" "cursor")
+ )
+)
+
+(define-method get_user_data
+ (of-object "GdkWindow")
+ (c-name "gdk_window_get_user_data")
+ (return-type "none")
+ (parameters
+ '("gpointer*" "data")
+ )
+)
+
+(define-method get_geometry
+ (of-object "GdkWindow")
+ (c-name "gdk_window_get_geometry")
+ (return-type "none")
+ (parameters
+ '("gint*" "x")
+ '("gint*" "y")
+ '("gint*" "width")
+ '("gint*" "height")
+ '("gint*" "depth")
+ )
+)
+
+(define-method get_position
+ (of-object "GdkWindow")
+ (c-name "gdk_window_get_position")
+ (return-type "none")
+ (parameters
+ '("gint*" "x")
+ '("gint*" "y")
+ )
+)
+
+(define-method get_origin
+ (of-object "GdkWindow")
+ (c-name "gdk_window_get_origin")
+ (return-type "gint")
+ (parameters
+ '("gint*" "x")
+ '("gint*" "y")
+ )
+)
+
+(define-method get_deskrelative_origin
+ (of-object "GdkWindow")
+ (c-name "gdk_window_get_deskrelative_origin")
+ (return-type "gboolean")
+ (parameters
+ '("gint*" "x")
+ '("gint*" "y")
+ )
+)
+
+(define-method get_root_origin
+ (of-object "GdkWindow")
+ (c-name "gdk_window_get_root_origin")
+ (return-type "none")
+ (parameters
+ '("gint*" "x")
+ '("gint*" "y")
+ )
+)
+
+(define-method get_frame_extents
+ (of-object "GdkWindow")
+ (c-name "gdk_window_get_frame_extents")
+ (return-type "none")
+ (parameters
+ '("GdkRectangle*" "rect")
+ )
+)
+
+(define-method get_pointer
+ (of-object "GdkWindow")
+ (c-name "gdk_window_get_pointer")
+ (return-type "GdkWindow*")
+ (parameters
+ '("gint*" "x")
+ '("gint*" "y")
+ '("GdkModifierType*" "mask")
+ )
+)
+
+(define-method get_parent
+ (of-object "GdkWindow")
+ (c-name "gdk_window_get_parent")
+ (return-type "GdkWindow*")
+)
+
+(define-method get_toplevel
+ (of-object "GdkWindow")
+ (c-name "gdk_window_get_toplevel")
+ (return-type "GdkWindow*")
+)
+
+(define-method get_children
+ (of-object "GdkWindow")
+ (c-name "gdk_window_get_children")
+ (return-type "GList*")
+)
+
+(define-method peek_children
+ (of-object "GdkWindow")
+ (c-name "gdk_window_peek_children")
+ (return-type "GList*")
+)
+
+(define-method get_events
+ (of-object "GdkWindow")
+ (c-name "gdk_window_get_events")
+ (return-type "GdkEventMask")
+)
+
+(define-method set_events
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_events")
+ (return-type "none")
+ (parameters
+ '("GdkEventMask" "event_mask")
+ )
+)
+
+(define-method set_icon_list
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_icon_list")
+ (return-type "none")
+ (parameters
+ '("GList*" "pixbufs")
+ )
+)
+
+(define-method set_icon
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_icon")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "icon_window")
+ '("GdkPixmap*" "pixmap")
+ '("GdkBitmap*" "mask")
+ )
+)
+
+(define-method set_icon_name
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_icon_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method set_group
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_group")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "leader")
+ )
+)
+
+(define-method get_group
+ (of-object "GdkWindow")
+ (c-name "gdk_window_get_group")
+ (return-type "GdkWindow*")
+)
+
+(define-method set_decorations
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_decorations")
+ (return-type "none")
+ (parameters
+ '("GdkWMDecoration" "decorations")
+ )
+)
+
+(define-method get_decorations
+ (of-object "GdkWindow")
+ (c-name "gdk_window_get_decorations")
+ (return-type "gboolean")
+ (parameters
+ '("GdkWMDecoration*" "decorations")
+ )
+)
+
+(define-method set_functions
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_functions")
+ (return-type "none")
+ (parameters
+ '("GdkWMFunction" "functions")
+ )
+)
+
+(define-function gdk_window_get_toplevels
+ (c-name "gdk_window_get_toplevels")
+ (return-type "GList*")
+)
+
+(define-method beep
+ (of-object "GdkWindow")
+ (c-name "gdk_window_beep")
+ (return-type "none")
+)
+
+(define-method iconify
+ (of-object "GdkWindow")
+ (c-name "gdk_window_iconify")
+ (return-type "none")
+)
+
+(define-method deiconify
+ (of-object "GdkWindow")
+ (c-name "gdk_window_deiconify")
+ (return-type "none")
+)
+
+(define-method stick
+ (of-object "GdkWindow")
+ (c-name "gdk_window_stick")
+ (return-type "none")
+)
+
+(define-method unstick
+ (of-object "GdkWindow")
+ (c-name "gdk_window_unstick")
+ (return-type "none")
+)
+
+(define-method maximize
+ (of-object "GdkWindow")
+ (c-name "gdk_window_maximize")
+ (return-type "none")
+)
+
+(define-method unmaximize
+ (of-object "GdkWindow")
+ (c-name "gdk_window_unmaximize")
+ (return-type "none")
+)
+
+(define-method fullscreen
+ (of-object "GdkWindow")
+ (c-name "gdk_window_fullscreen")
+ (return-type "none")
+)
+
+(define-method unfullscreen
+ (of-object "GdkWindow")
+ (c-name "gdk_window_unfullscreen")
+ (return-type "none")
+)
+
+(define-method set_keep_above
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_keep_above")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method set_keep_below
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_keep_below")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method set_opacity
+ (of-object "GdkWindow")
+ (c-name "gdk_window_set_opacity")
+ (return-type "none")
+ (parameters
+ '("gdouble" "opacity")
+ )
+)
+
+(define-method register_dnd
+ (of-object "GdkWindow")
+ (c-name "gdk_window_register_dnd")
+ (return-type "none")
+)
+
+(define-method begin_resize_drag
+ (of-object "GdkWindow")
+ (c-name "gdk_window_begin_resize_drag")
+ (return-type "none")
+ (parameters
+ '("GdkWindowEdge" "edge")
+ '("gint" "button")
+ '("gint" "root_x")
+ '("gint" "root_y")
+ '("guint32" "timestamp")
+ )
+)
+
+(define-method begin_move_drag
+ (of-object "GdkWindow")
+ (c-name "gdk_window_begin_move_drag")
+ (return-type "none")
+ (parameters
+ '("gint" "button")
+ '("gint" "root_x")
+ '("gint" "root_y")
+ '("guint32" "timestamp")
+ )
+)
+
+(define-method invalidate_rect
+ (of-object "GdkWindow")
+ (c-name "gdk_window_invalidate_rect")
+ (return-type "none")
+ (parameters
+ '("GdkRectangle*" "rect")
+ '("gboolean" "invalidate_children")
+ )
+)
+
+(define-method invalidate_region
+ (of-object "GdkWindow")
+ (c-name "gdk_window_invalidate_region")
+ (return-type "none")
+ (parameters
+ '("GdkRegion*" "region")
+ '("gboolean" "invalidate_children")
+ )
+)
+
+(define-method get_update_area
+ (of-object "GdkWindow")
+ (c-name "gdk_window_get_update_area")
+ (return-type "GdkRegion*")
+)
+
+(define-method freeze_updates
+ (of-object "GdkWindow")
+ (c-name "gdk_window_freeze_updates")
+ (return-type "none")
+)
+
+(define-method thaw_updates
+ (of-object "GdkWindow")
+ (c-name "gdk_window_thaw_updates")
+ (return-type "none")
+)
+
+(define-function gdk_window_process_all_updates
+ (c-name "gdk_window_process_all_updates")
+ (return-type "none")
+)
+
+(define-method process_updates
+ (of-object "GdkWindow")
+ (c-name "gdk_window_process_updates")
+ (return-type "none")
+ (parameters
+ '("gboolean" "update_children")
+ )
+)
+
+(define-function gdk_window_set_debug_updates
+ (c-name "gdk_window_set_debug_updates")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-function gdk_window_constrain_size
+ (c-name "gdk_window_constrain_size")
+ (return-type "none")
+ (parameters
+ '("GdkGeometry*" "geometry")
+ '("guint" "flags")
+ '("gint" "width")
+ '("gint" "height")
+ '("gint*" "new_width")
+ '("gint*" "new_height")
+ )
+)
+
+(define-method get_internal_paint_info
+ (of-object "GdkWindow")
+ (c-name "gdk_window_get_internal_paint_info")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable**" "real_drawable")
+ '("gint*" "x_offset")
+ '("gint*" "y_offset")
+ )
+)
+
+(define-method enable_synchronized_configure
+ (of-object "GdkWindow")
+ (c-name "gdk_window_enable_synchronized_configure")
+ (return-type "none")
+)
+
+(define-method configure_finished
+ (of-object "GdkWindow")
+ (c-name "gdk_window_configure_finished")
+ (return-type "none")
+)
+
+(define-function gdk_set_pointer_hooks
+ (c-name "gdk_set_pointer_hooks")
+ (return-type "GdkPointerHooks*")
+ (parameters
+ '("const-GdkPointerHooks*" "new_hooks")
+ )
+)
+
+(define-function gdk_get_default_root_window
+ (c-name "gdk_get_default_root_window")
+ (return-type "GdkWindow*")
+)
+
+
diff --git a/libs/gtkmm2/gdk/src/gdk_pixbuf.defs b/libs/gtkmm2/gdk/src/gdk_pixbuf.defs
new file mode 100644
index 0000000000..0031fb7f06
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/gdk_pixbuf.defs
@@ -0,0 +1,1041 @@
+;; -*- scheme -*-
+; object definitions ...
+(define-object Pixbuf
+ (in-module "Gdk")
+ (parent "GObject")
+ (c-name "GdkPixbuf")
+ (gtype-id "GDK_TYPE_PIXBUF")
+)
+
+(define-object PixbufAnimation
+ (in-module "Gdk")
+ (parent "GObject")
+ (c-name "GdkPixbufAnimation")
+ (gtype-id "GDK_TYPE_PIXBUF_ANIMATION")
+)
+
+(define-object PixbufAniAnim
+ (in-module "Gdk")
+ (parent "GdkPixbufAnimation")
+ (c-name "GdkPixbufAniAnim")
+ (gtype-id "GDK_TYPE_PIXBUF_ANI_ANIM")
+)
+
+(define-object PixbufAnimationIter
+ (in-module "Gdk")
+ (parent "GObject")
+ (c-name "GdkPixbufAnimationIter")
+ (gtype-id "GDK_TYPE_PIXBUF_ANIMATION_ITER")
+)
+
+(define-object PixbufAniAnimIter
+ (in-module "Gdk")
+ (parent "GdkPixbufAnimationIter")
+ (c-name "GdkPixbufAniAnimIter")
+ (gtype-id "GDK_TYPE_PIXBUF_ANI_ANIM_ITER")
+)
+
+(define-object PixbufGifAnim
+ (in-module "Gdk")
+ (parent "GdkPixbufAnimation")
+ (c-name "GdkPixbufGifAnim")
+ (gtype-id "GDK_TYPE_PIXBUF_GIF_ANIM")
+)
+
+(define-object PixbufGifAnimIter
+ (in-module "Gdk")
+ (parent "GdkPixbufAnimationIter")
+ (c-name "GdkPixbufGifAnimIter")
+ (gtype-id "GDK_TYPE_PIXBUF_GIF_ANIM_ITER")
+)
+
+(define-object PixbufLoader
+ (in-module "Gdk")
+ (parent "GObject")
+ (c-name "GdkPixbufLoader")
+ (gtype-id "GDK_TYPE_PIXBUF_LOADER")
+)
+
+;; Enumerations and flags ...
+
+(define-enum PixbufAlphaMode
+ (in-module "Gdk")
+ (c-name "GdkPixbufAlphaMode")
+ (gtype-id "GDK_TYPE_PIXBUF_ALPHA_MODE")
+ (values
+ '("bilevel" "GDK_PIXBUF_ALPHA_BILEVEL")
+ '("full" "GDK_PIXBUF_ALPHA_FULL")
+ )
+)
+
+(define-enum Colorspace
+ (in-module "Gdk")
+ (c-name "GdkColorspace")
+ (gtype-id "GDK_TYPE_COLORSPACE")
+ (values
+ '("b" "GDK_COLORSPACE_RGB")
+ )
+)
+
+(define-enum PixbufError
+ (in-module "Gdk")
+ (c-name "GdkPixbufError")
+ (gtype-id "GDK_TYPE_PIXBUF_ERROR")
+ (values
+ '("corrupt-image" "GDK_PIXBUF_ERROR_CORRUPT_IMAGE")
+ '("insufficient-memory" "GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY")
+ '("bad-option" "GDK_PIXBUF_ERROR_BAD_OPTION")
+ '("unknown-type" "GDK_PIXBUF_ERROR_UNKNOWN_TYPE")
+ '("unsupported-operation" "GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION")
+ '("failed" "GDK_PIXBUF_ERROR_FAILED")
+ )
+)
+
+(define-flags PixbufFormatFlags
+ (in-module "Gdk")
+ (c-name "GdkPixbufFormatFlags")
+ (gtype-id "GDK_TYPE_PIXBUF_FORMAT_FLAGS")
+ (values
+ '("writable" "GDK_PIXBUF_FORMAT_WRITABLE")
+ '("scalable" "GDK_PIXBUF_FORMAT_SCALABLE")
+ '("threadsafe" "GDK_PIXBUF_FORMAT_THREADSAFE")
+ )
+)
+
+(define-enum InterpType
+ (in-module "Gdk")
+ (c-name "GdkInterpType")
+ (gtype-id "GDK_TYPE_INTERP_TYPE")
+ (values
+ '("nearest" "GDK_INTERP_NEAREST")
+ '("tiles" "GDK_INTERP_TILES")
+ '("bilinear" "GDK_INTERP_BILINEAR")
+ '("hyper" "GDK_INTERP_HYPER")
+ )
+)
+
+(define-enum PixbufRotation
+ (in-module "Gdk")
+ (c-name "GdkPixbufRotation")
+ (gtype-id "GDK_TYPE_PIXBUF_ROTATION")
+ (values
+ '("none" "GDK_PIXBUF_ROTATE_NONE")
+ '("counterclockwise" "GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE")
+ '("upsidedown" "GDK_PIXBUF_ROTATE_UPSIDEDOWN")
+ '("clockwise" "GDK_PIXBUF_ROTATE_CLOCKWISE")
+ )
+)
+
+(define-flags PixdataType
+ (in-module "Gdk")
+ (c-name "GdkPixdataType")
+ (gtype-id "GDK_TYPE_PIXDATA_TYPE")
+ (values
+ '("color-type-rgb" "GDK_PIXDATA_COLOR_TYPE_RGB")
+ '("color-type-rgba" "GDK_PIXDATA_COLOR_TYPE_RGBA")
+ '("color-type-mask" "GDK_PIXDATA_COLOR_TYPE_MASK")
+ '("sample-width-8" "GDK_PIXDATA_SAMPLE_WIDTH_8")
+ '("sample-width-mask" "GDK_PIXDATA_SAMPLE_WIDTH_MASK")
+ '("encoding-raw" "GDK_PIXDATA_ENCODING_RAW")
+ '("encoding-rle" "GDK_PIXDATA_ENCODING_RLE")
+ '("encoding-mask" "GDK_PIXDATA_ENCODING_MASK")
+ )
+)
+
+(define-flags PixdataDumpType
+ (in-module "Gdk")
+ (c-name "GdkPixdataDumpType")
+ (gtype-id "GDK_TYPE_PIXDATA_DUMP_TYPE")
+ (values
+ '("pixdata-stream" "GDK_PIXDATA_DUMP_PIXDATA_STREAM")
+ '("pixdata-struct" "GDK_PIXDATA_DUMP_PIXDATA_STRUCT")
+ '("macros" "GDK_PIXDATA_DUMP_MACROS")
+ '("gtypes" "GDK_PIXDATA_DUMP_GTYPES")
+ '("ctypes" "GDK_PIXDATA_DUMP_CTYPES")
+ '("static" "GDK_PIXDATA_DUMP_STATIC")
+ '("const" "GDK_PIXDATA_DUMP_CONST")
+ '("rle-decoder" "GDK_PIXDATA_DUMP_RLE_DECODER")
+ )
+)
+
+(define-enum PixbufFrameAction
+ (in-module "Gdk")
+ (c-name "GdkPixbufFrameAction")
+ (gtype-id "GDK_TYPE_PIXBUF_FRAME_ACTION")
+ (values
+ '("retain" "GDK_PIXBUF_FRAME_RETAIN")
+ '("dispose" "GDK_PIXBUF_FRAME_DISPOSE")
+ '("revert" "GDK_PIXBUF_FRAME_REVERT")
+ )
+)
+
+
+;; From /home/murrayc/cvs/gnome212/gtk+/gdk-pixbuf/gdk-pixbuf-alias.h
+
+
+
+;; From /home/murrayc/cvs/gnome212/gtk+/gdk-pixbuf/gdk-pixbuf-animation.h
+
+(define-function gdk_pixbuf_animation_get_type
+ (c-name "gdk_pixbuf_animation_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_pixbuf_animation_new_from_file
+ (c-name "gdk_pixbuf_animation_new_from_file")
+ (return-type "GdkPixbufAnimation*")
+ (parameters
+ '("const-char*" "filename")
+ '("GError**" "error")
+ )
+)
+
+(define-method ref
+ (of-object "GdkPixbufAnimation")
+ (c-name "gdk_pixbuf_animation_ref")
+ (return-type "GdkPixbufAnimation*")
+)
+
+(define-method unref
+ (of-object "GdkPixbufAnimation")
+ (c-name "gdk_pixbuf_animation_unref")
+ (return-type "none")
+)
+
+(define-method get_width
+ (of-object "GdkPixbufAnimation")
+ (c-name "gdk_pixbuf_animation_get_width")
+ (return-type "int")
+)
+
+(define-method get_height
+ (of-object "GdkPixbufAnimation")
+ (c-name "gdk_pixbuf_animation_get_height")
+ (return-type "int")
+)
+
+(define-method is_static_image
+ (of-object "GdkPixbufAnimation")
+ (c-name "gdk_pixbuf_animation_is_static_image")
+ (return-type "gboolean")
+)
+
+(define-method get_static_image
+ (of-object "GdkPixbufAnimation")
+ (c-name "gdk_pixbuf_animation_get_static_image")
+ (return-type "GdkPixbuf*")
+)
+
+(define-method get_iter
+ (of-object "GdkPixbufAnimation")
+ (c-name "gdk_pixbuf_animation_get_iter")
+ (return-type "GdkPixbufAnimationIter*")
+ (parameters
+ '("const-GTimeVal*" "start_time")
+ )
+)
+
+(define-function gdk_pixbuf_animation_iter_get_type
+ (c-name "gdk_pixbuf_animation_iter_get_type")
+ (return-type "GType")
+)
+
+(define-method get_delay_time
+ (of-object "GdkPixbufAnimationIter")
+ (c-name "gdk_pixbuf_animation_iter_get_delay_time")
+ (return-type "int")
+)
+
+(define-method get_pixbuf
+ (of-object "GdkPixbufAnimationIter")
+ (c-name "gdk_pixbuf_animation_iter_get_pixbuf")
+ (return-type "GdkPixbuf*")
+)
+
+(define-method on_currently_loading_frame
+ (of-object "GdkPixbufAnimationIter")
+ (c-name "gdk_pixbuf_animation_iter_on_currently_loading_frame")
+ (return-type "gboolean")
+)
+
+(define-method advance
+ (of-object "GdkPixbufAnimationIter")
+ (c-name "gdk_pixbuf_animation_iter_advance")
+ (return-type "gboolean")
+ (parameters
+ '("const-GTimeVal*" "current_time")
+ )
+)
+
+(define-method non_anim_new
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_non_anim_new")
+ (return-type "GdkPixbufAnimation*")
+)
+
+
+
+;; From /home/murrayc/cvs/gnome212/gtk+/gdk-pixbuf/gdk-pixbuf-core.h
+
+(define-function gdk_pixbuf_error_quark
+ (c-name "gdk_pixbuf_error_quark")
+ (return-type "GQuark")
+)
+
+(define-function gdk_pixbuf_get_type
+ (c-name "gdk_pixbuf_get_type")
+ (return-type "GType")
+)
+
+(define-method ref
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_ref")
+ (return-type "GdkPixbuf*")
+)
+
+(define-method unref
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_unref")
+ (return-type "none")
+)
+
+(define-method get_colorspace
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_get_colorspace")
+ (return-type "GdkColorspace")
+)
+
+(define-method get_n_channels
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_get_n_channels")
+ (return-type "int")
+)
+
+(define-method get_has_alpha
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_get_has_alpha")
+ (return-type "gboolean")
+)
+
+(define-method get_bits_per_sample
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_get_bits_per_sample")
+ (return-type "int")
+)
+
+(define-method get_pixels
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_get_pixels")
+ (return-type "guchar*")
+)
+
+(define-method get_width
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_get_width")
+ (return-type "int")
+)
+
+(define-method get_height
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_get_height")
+ (return-type "int")
+)
+
+(define-method get_rowstride
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_get_rowstride")
+ (return-type "int")
+)
+
+(define-function gdk_pixbuf_new
+ (c-name "gdk_pixbuf_new")
+ (is-constructor-of "GdkPixbuf")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("GdkColorspace" "colorspace")
+ '("gboolean" "has_alpha")
+ '("int" "bits_per_sample")
+ '("int" "width")
+ '("int" "height")
+ )
+)
+
+(define-method copy
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_copy")
+ (return-type "GdkPixbuf*")
+)
+
+(define-method new_subpixbuf
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_new_subpixbuf")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("int" "src_x")
+ '("int" "src_y")
+ '("int" "width")
+ '("int" "height")
+ )
+)
+
+(define-function gdk_pixbuf_new_from_file
+ (c-name "gdk_pixbuf_new_from_file")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("const-char*" "filename")
+ '("GError**" "error")
+ )
+)
+
+(define-function gdk_pixbuf_new_from_file_at_size
+ (c-name "gdk_pixbuf_new_from_file_at_size")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("const-char*" "filename")
+ '("int" "width")
+ '("int" "height")
+ '("GError**" "error")
+ )
+)
+
+(define-function gdk_pixbuf_new_from_file_at_scale
+ (c-name "gdk_pixbuf_new_from_file_at_scale")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("const-char*" "filename")
+ '("int" "width")
+ '("int" "height")
+ '("gboolean" "preserve_aspect_ratio")
+ '("GError**" "error")
+ )
+)
+
+(define-function gdk_pixbuf_new_from_data
+ (c-name "gdk_pixbuf_new_from_data")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("const-guchar*" "data")
+ '("GdkColorspace" "colorspace")
+ '("gboolean" "has_alpha")
+ '("int" "bits_per_sample")
+ '("int" "width")
+ '("int" "height")
+ '("int" "rowstride")
+ '("GdkPixbufDestroyNotify" "destroy_fn")
+ '("gpointer" "destroy_fn_data")
+ )
+)
+
+(define-function gdk_pixbuf_new_from_xpm_data
+ (c-name "gdk_pixbuf_new_from_xpm_data")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("const-char**" "data")
+ )
+)
+
+(define-function gdk_pixbuf_new_from_inline
+ (c-name "gdk_pixbuf_new_from_inline")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("gint" "data_length")
+ '("const-guint8*" "data")
+ '("gboolean" "copy_pixels")
+ '("GError**" "error")
+ )
+)
+
+(define-method fill
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_fill")
+ (return-type "none")
+ (parameters
+ '("guint32" "pixel")
+ )
+)
+
+(define-method save
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_save")
+ (return-type "gboolean")
+ (parameters
+ '("const-char*" "filename")
+ '("const-char*" "type")
+ '("GError**" "error")
+ )
+ (varargs #t)
+)
+
+(define-method savev
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_savev")
+ (return-type "gboolean")
+ (parameters
+ '("const-char*" "filename")
+ '("const-char*" "type")
+ '("char**" "option_keys")
+ '("char**" "option_values")
+ '("GError**" "error")
+ )
+)
+
+(define-method save_to_callback
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_save_to_callback")
+ (return-type "gboolean")
+ (parameters
+ '("GdkPixbufSaveFunc" "save_func")
+ '("gpointer" "user_data")
+ '("const-char*" "type")
+ '("GError**" "error")
+ )
+ (varargs #t)
+)
+
+(define-method save_to_callbackv
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_save_to_callbackv")
+ (return-type "gboolean")
+ (parameters
+ '("GdkPixbufSaveFunc" "save_func")
+ '("gpointer" "user_data")
+ '("const-char*" "type")
+ '("char**" "option_keys")
+ '("char**" "option_values")
+ '("GError**" "error")
+ )
+)
+
+(define-method save_to_buffer
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_save_to_buffer")
+ (return-type "gboolean")
+ (parameters
+ '("gchar**" "buffer")
+ '("gsize*" "buffer_size")
+ '("const-char*" "type")
+ '("GError**" "error")
+ )
+ (varargs #t)
+)
+
+(define-method save_to_bufferv
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_save_to_bufferv")
+ (return-type "gboolean")
+ (parameters
+ '("gchar**" "buffer")
+ '("gsize*" "buffer_size")
+ '("const-char*" "type")
+ '("char**" "option_keys")
+ '("char**" "option_values")
+ '("GError**" "error")
+ )
+)
+
+(define-method add_alpha
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_add_alpha")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("gboolean" "substitute_color")
+ '("guchar" "r")
+ '("guchar" "g")
+ '("guchar" "b")
+ )
+)
+
+(define-method copy_area
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_copy_area")
+ (return-type "none")
+ (parameters
+ '("int" "src_x")
+ '("int" "src_y")
+ '("int" "width")
+ '("int" "height")
+ '("GdkPixbuf*" "dest_pixbuf")
+ '("int" "dest_x")
+ '("int" "dest_y")
+ )
+)
+
+(define-method saturate_and_pixelate
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_saturate_and_pixelate")
+ (return-type "none")
+ (parameters
+ '("GdkPixbuf*" "dest")
+ '("gfloat" "saturation")
+ '("gboolean" "pixelate")
+ )
+)
+
+(define-method get_option
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_get_option")
+ (return-type "const-gchar*")
+ (parameters
+ '("const-gchar*" "key")
+ )
+)
+
+
+
+;; From /home/murrayc/cvs/gnome212/gtk+/gdk-pixbuf/gdk-pixbuf-enum-types.h
+
+(define-function gdk_pixbuf_alpha_mode_get_type
+ (c-name "gdk_pixbuf_alpha_mode_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_colorspace_get_type
+ (c-name "gdk_colorspace_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_pixbuf_error_get_type
+ (c-name "gdk_pixbuf_error_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_interp_type_get_type
+ (c-name "gdk_interp_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_pixbuf_rotation_get_type
+ (c-name "gdk_pixbuf_rotation_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From /home/murrayc/cvs/gnome212/gtk+/gdk-pixbuf/gdk-pixbuf-features.h
+
+
+
+;; From /home/murrayc/cvs/gnome212/gtk+/gdk-pixbuf/gdk-pixbuf.h
+
+
+
+;; From /home/murrayc/cvs/gnome212/gtk+/gdk-pixbuf/gdk-pixbuf-i18n.h
+
+
+
+;; From /home/murrayc/cvs/gnome212/gtk+/gdk-pixbuf/gdk-pixbuf-io.h
+
+(define-function gdk_pixbuf_get_formats
+ (c-name "gdk_pixbuf_get_formats")
+ (return-type "GSList*")
+)
+
+(define-method get_name
+ (of-object "GdkPixbufFormat")
+ (c-name "gdk_pixbuf_format_get_name")
+ (return-type "gchar*")
+)
+
+(define-method get_description
+ (of-object "GdkPixbufFormat")
+ (c-name "gdk_pixbuf_format_get_description")
+ (return-type "gchar*")
+)
+
+(define-method get_mime_types
+ (of-object "GdkPixbufFormat")
+ (c-name "gdk_pixbuf_format_get_mime_types")
+ (return-type "gchar**")
+)
+
+(define-method get_extensions
+ (of-object "GdkPixbufFormat")
+ (c-name "gdk_pixbuf_format_get_extensions")
+ (return-type "gchar**")
+)
+
+(define-method is_writable
+ (of-object "GdkPixbufFormat")
+ (c-name "gdk_pixbuf_format_is_writable")
+ (return-type "gboolean")
+)
+
+(define-method is_scalable
+ (of-object "GdkPixbufFormat")
+ (c-name "gdk_pixbuf_format_is_scalable")
+ (return-type "gboolean")
+)
+
+(define-method is_disabled
+ (of-object "GdkPixbufFormat")
+ (c-name "gdk_pixbuf_format_is_disabled")
+ (return-type "gboolean")
+)
+
+(define-method set_disabled
+ (of-object "GdkPixbufFormat")
+ (c-name "gdk_pixbuf_format_set_disabled")
+ (return-type "none")
+ (parameters
+ '("gboolean" "disabled")
+ )
+)
+
+(define-method get_license
+ (of-object "GdkPixbufFormat")
+ (c-name "gdk_pixbuf_format_get_license")
+ (return-type "gchar*")
+)
+
+(define-function gdk_pixbuf_get_file_info
+ (c-name "gdk_pixbuf_get_file_info")
+ (return-type "GdkPixbufFormat*")
+ (parameters
+ '("const-gchar*" "filename")
+ '("gint*" "width")
+ '("gint*" "height")
+ )
+)
+
+(define-method set_option
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_set_option")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "key")
+ '("const-gchar*" "value")
+ )
+)
+
+
+
+;; From /home/murrayc/cvs/gnome212/gtk+/gdk-pixbuf/gdk-pixbuf-loader.h
+
+(define-function gdk_pixbuf_loader_get_type
+ (c-name "gdk_pixbuf_loader_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_pixbuf_loader_new
+ (c-name "gdk_pixbuf_loader_new")
+ (is-constructor-of "GdkPixbufLoader")
+ (return-type "GdkPixbufLoader*")
+)
+
+(define-function gdk_pixbuf_loader_new_with_type
+ (c-name "gdk_pixbuf_loader_new_with_type")
+ (return-type "GdkPixbufLoader*")
+ (parameters
+ '("const-char*" "image_type")
+ '("GError**" "error")
+ )
+)
+
+(define-function gdk_pixbuf_loader_new_with_mime_type
+ (c-name "gdk_pixbuf_loader_new_with_mime_type")
+ (return-type "GdkPixbufLoader*")
+ (parameters
+ '("const-char*" "mime_type")
+ '("GError**" "error")
+ )
+)
+
+(define-method set_size
+ (of-object "GdkPixbufLoader")
+ (c-name "gdk_pixbuf_loader_set_size")
+ (return-type "none")
+ (parameters
+ '("int" "width")
+ '("int" "height")
+ )
+)
+
+(define-method write
+ (of-object "GdkPixbufLoader")
+ (c-name "gdk_pixbuf_loader_write")
+ (return-type "gboolean")
+ (parameters
+ '("const-guchar*" "buf")
+ '("gsize" "count")
+ '("GError**" "error")
+ )
+)
+
+(define-method get_pixbuf
+ (of-object "GdkPixbufLoader")
+ (c-name "gdk_pixbuf_loader_get_pixbuf")
+ (return-type "GdkPixbuf*")
+)
+
+(define-method get_animation
+ (of-object "GdkPixbufLoader")
+ (c-name "gdk_pixbuf_loader_get_animation")
+ (return-type "GdkPixbufAnimation*")
+)
+
+(define-method close
+ (of-object "GdkPixbufLoader")
+ (c-name "gdk_pixbuf_loader_close")
+ (return-type "gboolean")
+ (parameters
+ '("GError**" "error")
+ )
+)
+
+(define-method get_format
+ (of-object "GdkPixbufLoader")
+ (c-name "gdk_pixbuf_loader_get_format")
+ (return-type "GdkPixbufFormat*")
+)
+
+
+
+;; From /home/murrayc/cvs/gnome212/gtk+/gdk-pixbuf/gdk-pixbuf-marshal.h
+
+
+
+;; From /home/murrayc/cvs/gnome212/gtk+/gdk-pixbuf/gdk-pixbuf-private.h
+
+
+
+;; From /home/murrayc/cvs/gnome212/gtk+/gdk-pixbuf/gdk-pixbuf-simple-anim.h
+
+(define-function gdk_pixbuf_simple_anim_get_type
+ (c-name "gdk_pixbuf_simple_anim_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_pixbuf_simple_anim_iter_get_type
+ (c-name "gdk_pixbuf_simple_anim_iter_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_pixbuf_simple_anim_new
+ (c-name "gdk_pixbuf_simple_anim_new")
+ (is-constructor-of "GdkPixbufSimpleAnim")
+ (return-type "GdkPixbufSimpleAnim*")
+ (parameters
+ '("gint" "width")
+ '("gint" "height")
+ '("gfloat" "rate")
+ )
+)
+
+(define-method add_frame
+ (of-object "GdkPixbufSimpleAnim")
+ (c-name "gdk_pixbuf_simple_anim_add_frame")
+ (return-type "none")
+ (parameters
+ '("GdkPixbuf*" "pixbuf")
+ )
+)
+
+
+
+;; From /home/murrayc/cvs/gnome212/gtk+/gdk-pixbuf/gdk-pixbuf-transform.h
+
+(define-method scale
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_scale")
+ (return-type "none")
+ (parameters
+ '("GdkPixbuf*" "dest")
+ '("int" "dest_x")
+ '("int" "dest_y")
+ '("int" "dest_width")
+ '("int" "dest_height")
+ '("double" "offset_x")
+ '("double" "offset_y")
+ '("double" "scale_x")
+ '("double" "scale_y")
+ '("GdkInterpType" "interp_type")
+ )
+)
+
+(define-method composite
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_composite")
+ (return-type "none")
+ (parameters
+ '("GdkPixbuf*" "dest")
+ '("int" "dest_x")
+ '("int" "dest_y")
+ '("int" "dest_width")
+ '("int" "dest_height")
+ '("double" "offset_x")
+ '("double" "offset_y")
+ '("double" "scale_x")
+ '("double" "scale_y")
+ '("GdkInterpType" "interp_type")
+ '("int" "overall_alpha")
+ )
+)
+
+(define-method composite_color
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_composite_color")
+ (return-type "none")
+ (parameters
+ '("GdkPixbuf*" "dest")
+ '("int" "dest_x")
+ '("int" "dest_y")
+ '("int" "dest_width")
+ '("int" "dest_height")
+ '("double" "offset_x")
+ '("double" "offset_y")
+ '("double" "scale_x")
+ '("double" "scale_y")
+ '("GdkInterpType" "interp_type")
+ '("int" "overall_alpha")
+ '("int" "check_x")
+ '("int" "check_y")
+ '("int" "check_size")
+ '("guint32" "color1")
+ '("guint32" "color2")
+ )
+)
+
+(define-method scale_simple
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_scale_simple")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("int" "dest_width")
+ '("int" "dest_height")
+ '("GdkInterpType" "interp_type")
+ )
+)
+
+(define-method composite_color_simple
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_composite_color_simple")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("int" "dest_width")
+ '("int" "dest_height")
+ '("GdkInterpType" "interp_type")
+ '("int" "overall_alpha")
+ '("int" "check_size")
+ '("guint32" "color1")
+ '("guint32" "color2")
+ )
+)
+
+(define-method rotate_simple
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_rotate_simple")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("GdkPixbufRotation" "angle")
+ )
+)
+
+(define-method flip
+ (of-object "GdkPixbuf")
+ (c-name "gdk_pixbuf_flip")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("gboolean" "horizontal")
+ )
+)
+
+
+
+;; From /home/murrayc/cvs/gnome212/gtk+/gdk-pixbuf/gdk-pixdata.h
+
+(define-method serialize
+ (of-object "GdkPixdata")
+ (c-name "gdk_pixdata_serialize")
+ (return-type "guint8*")
+ (parameters
+ '("guint*" "stream_length_p")
+ )
+)
+
+(define-method deserialize
+ (of-object "GdkPixdata")
+ (c-name "gdk_pixdata_deserialize")
+ (return-type "gboolean")
+ (parameters
+ '("guint" "stream_length")
+ '("const-guint8*" "stream")
+ '("GError**" "error")
+ )
+)
+
+(define-method from_pixbuf
+ (of-object "GdkPixdata")
+ (c-name "gdk_pixdata_from_pixbuf")
+ (return-type "gpointer")
+ (parameters
+ '("const-GdkPixbuf*" "pixbuf")
+ '("gboolean" "use_rle")
+ )
+)
+
+(define-function gdk_pixbuf_from_pixdata
+ (c-name "gdk_pixbuf_from_pixdata")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("const-GdkPixdata*" "pixdata")
+ '("gboolean" "copy_pixels")
+ '("GError**" "error")
+ )
+)
+
+(define-method to_csource
+ (of-object "GdkPixdata")
+ (c-name "gdk_pixdata_to_csource")
+ (return-type "GString*")
+ (parameters
+ '("const-gchar*" "name")
+ '("GdkPixdataDumpType" "dump_type")
+ )
+)
+
+
+
+;; From /home/murrayc/cvs/gnome212/gtk+/gdk-pixbuf/io-ani-animation.h
+
+(define-function gdk_pixbuf_ani_anim_get_type
+ (c-name "gdk_pixbuf_ani_anim_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_pixbuf_ani_anim_iter_get_type
+ (c-name "gdk_pixbuf_ani_anim_iter_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From /home/murrayc/cvs/gnome212/gtk+/gdk-pixbuf/io-gif-animation.h
+
+(define-function gdk_pixbuf_gif_anim_get_type
+ (c-name "gdk_pixbuf_gif_anim_get_type")
+ (return-type "GType")
+)
+
+(define-function gdk_pixbuf_gif_anim_iter_get_type
+ (c-name "gdk_pixbuf_gif_anim_iter_get_type")
+ (return-type "GType")
+)
+
+(define-method frame_composite
+ (of-object "GdkPixbufGifAnim")
+ (c-name "gdk_pixbuf_gif_anim_frame_composite")
+ (return-type "none")
+ (parameters
+ '("GdkPixbufFrame*" "frame")
+ )
+)
+
+
+
+;; From /home/murrayc/cvs/gnome212/gtk+/gdk-pixbuf/stamp-gdk-pixbuf-marshal.h
+
+
+
+;; From /home/murrayc/cvs/gnome212/gtk+/gdk-pixbuf/xpm-color-table.h
+
+
diff --git a/libs/gtkmm2/gdk/src/gdk_pixbuf_enums.defs b/libs/gtkmm2/gdk/src/gdk_pixbuf_enums.defs
new file mode 100644
index 0000000000..2d1edfc078
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/gdk_pixbuf_enums.defs
@@ -0,0 +1,95 @@
+;; From /home/murrayc/svn/gnome218/gtk+/gdk-pixbuf/gdk-pixbuf-core.h
+
+(define-enum-extended PixbufAlphaMode
+ (in-module "Gdk")
+ (c-name "GdkPixbufAlphaMode")
+ (values
+ '("bilevel" "GDK_PIXBUF_ALPHA_BILEVEL" "0")
+ '("full" "GDK_PIXBUF_ALPHA_FULL" "1")
+ )
+)
+
+(define-enum-extended Colorspace
+ (in-module "Gdk")
+ (c-name "GdkColorspace")
+ (values
+ '("b" "GDK_COLORSPACE_RGB" "0")
+ )
+)
+
+(define-enum-extended PixbufError
+ (in-module "Gdk")
+ (c-name "GdkPixbufError")
+ (values
+ '("corrupt-image" "GDK_PIXBUF_ERROR_CORRUPT_IMAGE" "0")
+ '("insufficient-memory" "GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY" "1")
+ '("bad-option" "GDK_PIXBUF_ERROR_BAD_OPTION" "2")
+ '("unknown-type" "GDK_PIXBUF_ERROR_UNKNOWN_TYPE" "3")
+ '("unsupported-operation" "GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION" "4")
+ '("failed" "GDK_PIXBUF_ERROR_FAILED" "5")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gdk-pixbuf/gdk-pixbuf-io.h
+
+(define-flags-extended PixbufFormatFlags
+ (in-module "Gdk")
+ (c-name "GdkPixbufFormatFlags")
+ (values
+ '("writable" "GDK_PIXBUF_FORMAT_WRITABLE" "1 << 0")
+ '("scalable" "GDK_PIXBUF_FORMAT_SCALABLE" "1 << 1")
+ '("threadsafe" "GDK_PIXBUF_FORMAT_THREADSAFE" "1 << 2")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gdk-pixbuf/gdk-pixbuf-transform.h
+
+(define-enum-extended InterpType
+ (in-module "Gdk")
+ (c-name "GdkInterpType")
+ (values
+ '("nearest" "GDK_INTERP_NEAREST" "0")
+ '("tiles" "GDK_INTERP_TILES" "1")
+ '("bilinear" "GDK_INTERP_BILINEAR" "2")
+ '("hyper" "GDK_INTERP_HYPER" "3")
+ )
+)
+
+(define-enum-extended PixbufRotation
+ (in-module "Gdk")
+ (c-name "GdkPixbufRotation")
+ (values
+ '("none" "GDK_PIXBUF_ROTATE_NONE" "0")
+ '("counterclockwise" "GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE" "90")
+ '("upsidedown" "GDK_PIXBUF_ROTATE_UPSIDEDOWN" "180")
+ '("clockwise" "GDK_PIXBUF_ROTATE_CLOCKWISE" "270")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gdk-pixbuf/gdk-pixdata.h
+
+(define-flags-extended PixdataType
+ (in-module "Gdk")
+ (c-name "GdkPixdataType")
+ (values
+ '("rgb" "GDK_PIXDATA_COLOR_TYPE_RGB" "0x01")
+ '("rgba" "GDK_PIXDATA_COLOR_TYPE_RGBA" "0x02")
+ '("mask" "GDK_PIXDATA_COLOR_TYPE_MASK" "0xff")
+ )
+)
+
+(define-flags-extended PixdataDumpType
+ (in-module "Gdk")
+ (c-name "GdkPixdataDumpType")
+ (values
+ '("pixdata-stream" "GDK_PIXDATA_DUMP_PIXDATA_STREAM" "0")
+ '("pixdata-struct" "GDK_PIXDATA_DUMP_PIXDATA_STRUCT" "1")
+ '("macros" "GDK_PIXDATA_DUMP_MACROS" "2")
+ '("gtypes" "GDK_PIXDATA_DUMP_GTYPES" "0")
+ '("ctypes" "GDK_PIXDATA_DUMP_CTYPES" "1 << 8")
+ '("static" "GDK_PIXDATA_DUMP_STATIC" "1 << 9")
+ '("const" "GDK_PIXDATA_DUMP_CONST" "1 << 10")
+ '("rle-decoder" "GDK_PIXDATA_DUMP_RLE_DECODER" "1 << 16")
+ )
+)
+
diff --git a/libs/gtkmm2/gdk/src/gdk_signals.defs b/libs/gtkmm2/gdk/src/gdk_signals.defs
new file mode 100644
index 0000000000..7313265cd1
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/gdk_signals.defs
@@ -0,0 +1,167 @@
+;; From GdkColormap
+
+;; From GdkDragContext
+
+;; From GdkDisplay
+
+(define-signal closed
+ (of-object "GdkDisplay")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gboolean" "p0")
+ )
+)
+
+;; From GdkDisplayManager
+
+(define-signal display-opened
+ (of-object "GdkDisplayManager")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GdkDisplay*" "p0")
+ )
+)
+
+(define-property default-display
+ (of-object "GdkDisplayManager")
+ (prop-type "GParamObject")
+ (docs "The default display for GDK")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GdkDrawable
+
+;; From GdkGC
+
+;; From GdkImage
+
+;; From GdkPixbuf
+
+(define-property colorspace
+ (of-object "GdkPixbuf")
+ (prop-type "GParamEnum")
+ (docs "The colorspace in which the samples are interpreted")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property n-channels
+ (of-object "GdkPixbuf")
+ (prop-type "GParamInt")
+ (docs "The number of samples per pixel")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property has-alpha
+ (of-object "GdkPixbuf")
+ (prop-type "GParamBoolean")
+ (docs "Whether the pixbuf has an alpha channel")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property bits-per-sample
+ (of-object "GdkPixbuf")
+ (prop-type "GParamInt")
+ (docs "The number of bits per sample")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property width
+ (of-object "GdkPixbuf")
+ (prop-type "GParamInt")
+ (docs "The number of columns of the pixbuf")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property height
+ (of-object "GdkPixbuf")
+ (prop-type "GParamInt")
+ (docs "The number of rows of the pixbuf")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property rowstride
+ (of-object "GdkPixbuf")
+ (prop-type "GParamInt")
+ (docs "The number of bytes between the start of a row and the start of the next row")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property pixels
+ (of-object "GdkPixbuf")
+ (prop-type "GParamPointer")
+ (docs "A pointer to the pixel data of the pixbuf")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+;; From GdkPixbufAnimation
+
+;; From GdkPixbufLoader
+
+(define-signal closed
+ (of-object "GdkPixbufLoader")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal size-prepared
+ (of-object "GdkPixbufLoader")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ '("gint" "p1")
+ )
+)
+
+(define-signal area-prepared
+ (of-object "GdkPixbufLoader")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal area-updated
+ (of-object "GdkPixbufLoader")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ '("gint" "p1")
+ '("gint" "p2")
+ '("gint" "p3")
+ )
+)
+
+;; From GdkPixmap
+
+;; From GdkScreen
+
+(define-signal size-changed
+ (of-object "GdkScreen")
+ (return-type "void")
+ (when "last")
+)
+
+;; From GdkVisual
+
+;; From GdkWindow
+
diff --git a/libs/gtkmm2/gdk/src/image.ccg b/libs/gtkmm2/gdk/src/image.ccg
new file mode 100644
index 0000000000..2c76900e68
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/image.ccg
@@ -0,0 +1,32 @@
+// -*- c++ -*-
+/* $Id: image.ccg,v 1.1 2003/01/21 13:38:35 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+namespace Gdk
+{
+
+Image::Image(ImageType type, const Glib::RefPtr<Visual>& visual, int width, int height)
+:
+ Object( G_OBJECT( gdk_image_new((GdkImageType)type, visual->gobj(), width, height) ) )
+{}
+
+} /* namespace Gdk */
+
diff --git a/libs/gtkmm2/gdk/src/image.hg b/libs/gtkmm2/gdk/src/image.hg
new file mode 100644
index 0000000000..f92ee53cd3
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/image.hg
@@ -0,0 +1,91 @@
+/* $Id: image.hg,v 1.5 2006/04/12 11:11:24 murrayc Exp $ */
+
+/* bitmap.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/object.h>
+#include <gdkmm/visual.h>
+#include <gdkmm/colormap.h>
+#include <gdkmm/types.h> //For ByteOrder.
+#include <gdk/gdkimage.h>
+
+_DEFS(gdkmm,gdk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Gdk
+{
+
+_CC_INCLUDE(gdk/gdkenumtypes.h)
+_WRAP_ENUM(ImageType, GdkImageType)
+
+/** This represents an area for drawing graphics. It has now been superceded to a large extent by the much more flexible
+ * Gdk::Drawable RGB functions.
+ * To create an image from part of a Gdk::Window use Gdk::Drawable::get_image().
+ *
+ * The image can be manipulated with get_pixel() and put_pixel(), or alternatively by changing the actual pixel data, though
+ * manipulating the pixel data requires complicated code to cope with the different formats that may be used.
+ * To draw a Gdk::Image in a Gdk::Window or Gdk::Pixmap use Gdk::Drawable::draw_image().
+ */
+class Image : public Glib::Object
+{
+ _CLASS_GOBJECT(Image,GdkImage,GDK_IMAGE,Glib::Object,GObject)
+ _IGNORE(gdk_image_unref, gdk_image_ref)
+protected:
+
+ /** Instantiate a new Gdk::Image.
+ *
+ * @param type The type of the Gdk::Image. Gdk::IMAGE_FASTEST is probably the best choice, since it will try to create a Gdk::IMAGE_SHARED image first and if that fails it will then use Gdk::IMAGE_NORMAL.
+ * @param visual The Gdk::Visual to use for the image.
+ * @param width The width of the image in pixels.
+ * @param height The height of the image in pixels.
+ */
+ Image(ImageType type, const Glib::RefPtr<Visual>& visual, int width, int height);
+ _IGNORE(gdk_image_new)
+
+public:
+ _WRAP_CREATE(ImageType type, const Glib::RefPtr<Visual>& visual, int width, int height)
+
+ //We ignore gdk_image_new_bitmap() because the documentation says that it is deprecated.
+ _IGNORE(gdk_image_new_bitmap)
+
+ _WRAP_METHOD(void put_pixel(int x, int y, guint32 pixel), gdk_image_put_pixel)
+ _WRAP_METHOD(guint32 get_pixel(int x, int y) const, gdk_image_get_pixel)
+ _WRAP_METHOD(void set_colormap(const Glib::RefPtr<Colormap>& colormap), gdk_image_set_colormap)
+ _WRAP_METHOD(Glib::RefPtr<Colormap> get_colormap(), gdk_image_get_colormap, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Colormap> get_colormap() const, gdk_image_get_colormap, refreturn, constversion)
+
+ _MEMBER_GET(image_type, type, ImageType, GdkImageType)
+ _MEMBER_GET_GOBJECT(visual, visual, Visual, GdkVisual*)
+ _MEMBER_GET(byte_order, byte_order, ByteOrder, GdkByteOrder)
+ _MEMBER_GET(width, width, int, gint)
+ _MEMBER_GET(height, height, int, gint)
+ _MEMBER_GET(bpp, bpp, guint16, guint16)
+ _MEMBER_GET(bpl, bpl, guint16, guint16)
+ _MEMBER_GET(bits_per_pixel, bits_per_pixel, guint16, guint16)
+
+ //This memory block is not read-only, apparently:
+ _MEMBER_GET_PTR(mem, mem, void*, gpointer)
+
+ //TODO: This should be const really.
+ _MEMBER_GET(windowing_data, windowing_data, void*, gpointer)
+};
+
+} /* namespace Gdk */
+
diff --git a/libs/gtkmm2/gdk/src/pixbuf.ccg b/libs/gtkmm2/gdk/src/pixbuf.ccg
new file mode 100644
index 0000000000..ce19b4786e
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/pixbuf.ccg
@@ -0,0 +1,291 @@
+// -*- c++ -*-
+/* $Id: pixbuf.ccg,v 1.8 2006/05/11 11:40:23 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdk/gdkcolor.h>
+#include <gdk/gdkpixbuf.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
+
+
+namespace
+{
+
+static void pixbuf_destroy_data_callback(guint8* pixels, void* user_data)
+{
+ Gdk::Pixbuf::SlotDestroyData *const slot = static_cast<Gdk::Pixbuf::SlotDestroyData*>(user_data);
+ g_return_if_fail(slot != 0);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ (*slot)(pixels); // invoke callback
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ delete slot;
+}
+
+} // anonymous namespace
+
+
+namespace Gdk
+{
+
+_DEPRECATE_IFDEF_START
+Pixbuf::Pixbuf(const Glib::RefPtr<Image>& src,
+ const Glib::RefPtr<Colormap>& cmap,
+ int src_x, int src_y,
+ int dest_x, int dest_y,
+ int width, int height)
+:
+ Object((GObject*) gdk_pixbuf_get_from_image(
+ 0, src->gobj(), cmap->gobj(), src_x, src_y, dest_x, dest_y, width, height))
+{}
+_DEPRECATE_IFDEF_END
+
+Pixbuf::Pixbuf(const Glib::RefPtr<Image>& src,
+ const Glib::RefPtr<Colormap>& cmap,
+ int src_x, int src_y,
+ int width, int height)
+:
+ Object((GObject*) gdk_pixbuf_get_from_image(
+ 0, src->gobj(), cmap->gobj(), src_x, src_y, 0, 0, width, height))
+{}
+
+Pixbuf::Pixbuf(const Glib::RefPtr<Image>& src,
+ int src_x, int src_y,
+ int width, int height)
+:
+ Object((GObject*) gdk_pixbuf_get_from_image(
+ 0, src->gobj(), 0, src_x, src_y, 0, 0, width, height))
+{}
+
+_DEPRECATE_IFDEF_START
+Pixbuf::Pixbuf(const Glib::RefPtr<Drawable>& src,
+ const Glib::RefPtr<Colormap>& cmap,
+ int src_x, int src_y,
+ int dest_x, int dest_y,
+ int width, int height)
+:
+ Object((GObject*) gdk_pixbuf_get_from_drawable(
+ 0, src->gobj(), cmap->gobj(), src_x, src_y, dest_x, dest_y, width, height))
+{}
+_DEPRECATE_IFDEF_END
+
+Pixbuf::Pixbuf(const Glib::RefPtr<Drawable>& src,
+ const Glib::RefPtr<Colormap>& cmap,
+ int src_x, int src_y,
+ int width, int height)
+:
+ Object((GObject*) gdk_pixbuf_get_from_drawable(
+ 0, src->gobj(), cmap->gobj(), src_x, src_y, 0, 0, width, height))
+{}
+
+Pixbuf::Pixbuf(const Glib::RefPtr<Drawable>& src,
+ int src_x, int src_y,
+ int width, int height)
+:
+ Object((GObject*) gdk_pixbuf_get_from_drawable(
+ 0, src->gobj(), 0, src_x, src_y, 0, 0, width, height))
+{}
+
+_DEPRECATE_IFDEF_START
+Glib::RefPtr<Pixbuf> Pixbuf::create(const Glib::RefPtr<Drawable>& src,
+ const Glib::RefPtr<Colormap>& cmap,
+ int src_x, int src_y,
+ int dest_x, int dest_y,
+ int width, int height)
+{
+ return Glib::RefPtr<Pixbuf>( new Pixbuf(src, cmap, src_x, src_y, dest_x, dest_y, width, height) );
+}
+
+Glib::RefPtr<Pixbuf> Pixbuf::create(const Glib::RefPtr<Image>& src,
+ const Glib::RefPtr<Colormap>& cmap,
+ int src_x, int src_y,
+ int dest_x, int dest_y,
+ int width, int height)
+{
+ return Glib::RefPtr<Pixbuf>( new Pixbuf(src, cmap, src_x, src_y, dest_x, dest_y, width, height) );
+}
+_DEPRECATE_IFDEF_END
+
+Glib::RefPtr<Pixbuf> Pixbuf::create_from_data(const guint8* data, Colorspace colorspace,
+ bool has_alpha, int bits_per_sample,
+ int width, int height, int rowstride)
+{
+ GdkPixbuf *const pixbuf = gdk_pixbuf_new_from_data(
+ data, (GdkColorspace) colorspace, has_alpha, bits_per_sample, width, height, rowstride,
+ 0, 0);
+
+ return Glib::wrap(pixbuf);
+}
+
+Glib::RefPtr<Pixbuf> Pixbuf::create_from_data(const guint8* data, Colorspace colorspace,
+ bool has_alpha, int bits_per_sample,
+ int width, int height, int rowstride,
+ const Pixbuf::SlotDestroyData& destroy_slot)
+{
+ GdkPixbuf *const pixbuf = gdk_pixbuf_new_from_data(
+ data, (GdkColorspace) colorspace, has_alpha, bits_per_sample, width, height, rowstride,
+ &pixbuf_destroy_data_callback, new SlotDestroyData(destroy_slot));
+
+ return Glib::wrap(pixbuf);
+}
+
+void Pixbuf::render_pixmap_and_mask_for_colormap(const Glib::RefPtr<Colormap>& colormap,
+ Glib::RefPtr<Pixmap>& pixmap_return,
+ Glib::RefPtr<Bitmap>& mask_return,
+ int alpha_threshold)
+{
+ GdkPixmap* pPixmap = 0;
+ GdkBitmap* pBitmap = 0;
+
+ gdk_pixbuf_render_pixmap_and_mask_for_colormap(
+ gobj(), colormap->gobj(), &pPixmap, &pBitmap, alpha_threshold);
+
+ pixmap_return = Glib::wrap((GdkPixmapObject*) pPixmap);
+ mask_return = Glib::RefPtr<Gdk::Bitmap>::cast_dynamic(Glib::wrap((GdkPixmapObject*) pBitmap));
+}
+
+void Pixbuf::render_pixmap_and_mask(Glib::RefPtr<Pixmap>& pixmap_return,
+ Glib::RefPtr<Bitmap>& mask_return,
+ int alpha_threshold)
+{
+ GdkPixmap* pPixmap = 0;
+ GdkBitmap* pBitmap = 0;
+
+ gdk_pixbuf_render_pixmap_and_mask(gobj(), &pPixmap, &pBitmap, alpha_threshold);
+
+ pixmap_return = Glib::wrap((GdkPixmapObject*) pPixmap);
+ mask_return = Glib::RefPtr<Gdk::Bitmap>::cast_dynamic(Glib::wrap((GdkPixmapObject*) pBitmap));
+}
+
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+void Pixbuf::save(const std::string& filename, const Glib::ustring& type)
+#else
+void Pixbuf::save(const std::string& filename, const Glib::ustring& type, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ gdk_pixbuf_savev(gobj(), filename.c_str(), type.c_str(), 0, 0, &gerror);
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+void Pixbuf::save(const std::string& filename, const Glib::ustring& type,
+ const Glib::StringArrayHandle& option_keys,
+ const Glib::StringArrayHandle& option_values)
+#else
+void Pixbuf::save(const std::string& filename, const Glib::ustring& type,
+ const Glib::StringArrayHandle& option_keys,
+ const Glib::StringArrayHandle& option_values, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+
+ gdk_pixbuf_savev(
+ gobj(), filename.c_str(), type.c_str(),
+ const_cast<char**>(option_keys.data()), const_cast<char**>(option_values.data()),
+ &gerror);
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+void Pixbuf::save_to_buffer(gchar*& buffer, gsize& buffer_size,
+ const Glib::ustring& type)
+#else
+void Pixbuf::save_to_buffer(gchar*& buffer, gsize& buffer_size,
+ const Glib::ustring& type, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+
+ gdk_pixbuf_save_to_buffer(
+ gobj(), &buffer, &buffer_size,
+ type.c_str(),
+ &gerror, NULL);
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+void Pixbuf::save_to_buffer(gchar*& buffer, gsize& buffer_size,
+ const Glib::ustring& type,
+ const Glib::StringArrayHandle& option_keys,
+ const Glib::StringArrayHandle& option_values)
+#else
+void Pixbuf::save_to_buffer(gchar*& buffer, gsize& buffer_size,
+ const Glib::ustring& type,
+ const Glib::StringArrayHandle& option_keys,
+ const Glib::StringArrayHandle& option_values, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+
+ gdk_pixbuf_save_to_bufferv(
+ gobj(), &buffer, &buffer_size,
+ type.c_str(),
+ const_cast<char**>(option_keys.data()), const_cast<char**>(option_values.data()),
+ &gerror);
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+Pixbuf::SListHandle_PixbufFormat Pixbuf::get_formats()
+{
+ return SListHandle_PixbufFormat(gdk_pixbuf_get_formats(), Glib::OWNERSHIP_SHALLOW);
+}
+
+} // namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/pixbuf.hg b/libs/gtkmm2/gdk/src/pixbuf.hg
new file mode 100644
index 0000000000..5a9dedf205
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/pixbuf.hg
@@ -0,0 +1,622 @@
+/* $Id: pixbuf.hg,v 1.16 2006/05/11 11:40:23 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+// This is for including the config header before any code (such as
+// the #ifndef GDKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+_CONFIGINCLUDE(gdkmmconfig.h)
+
+#include <gdkmm/drawable.h>
+#include <gdkmm/image.h>
+#include <gdkmm/pixmap.h>
+#include <gdkmm/bitmap.h>
+#include <gdkmm/pixbufformat.h>
+#include <gdkmm/types.h>
+
+_DEFS(gdkmm,gdk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Gdk
+{
+
+_CC_INCLUDE(gdk-pixbuf/gdk-pixbuf-enum-types.h)
+_WRAP_ENUM(Colorspace, GdkColorspace)
+_WRAP_ENUM(InterpType, GdkInterpType)
+_WRAP_ENUM(PixbufAlphaMode, GdkPixbufAlphaMode)
+_WRAP_ENUM(PixbufRotation, GdkPixbufRotation)
+
+/** Exception class for Gdk::Pixbuf errors.
+ */
+_WRAP_GERROR(PixbufError,GdkPixbufError,GDK_PIXBUF_ERROR)
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+struct PixbufFormatTraits
+{
+ typedef PixbufFormat CppType;
+ typedef const GdkPixbufFormat* CType;
+ typedef GdkPixbufFormat* CTypeNonConst;
+
+ static CType to_c_type (const CppType& obj) { return obj.gobj(); }
+ static CType to_c_type (CType ptr) { return ptr; }
+ static CppType to_cpp_type (CType ptr) { return PixbufFormat(ptr); /* Does not take ownership */ }
+ static void release_c_type (CType /* ptr */) { /* Doesn't happen */ }
+};
+#endif //DOXYGEN_SHOULD_SKIP_THIS
+
+class Pixbuf : public Glib::Object
+{
+ _CLASS_GOBJECT(Pixbuf, GdkPixbuf, GDK_PIXBUF, Glib::Object, GObject)
+ _IGNORE(gdk_pixbuf_ref, gdk_pixbuf_unref, gdk_pixbuf_render_pixmap_and_mask,
+ gdk_pixbuf_render_pixmap_and_mask_for_colormap,
+ gdk_pixbuf_get_from_image, gdk_pixbuf_get_from_drawable,
+ gdk_pixbuf_set_option, gdk_pixbuf_get_option, gdk_pixbuf_non_anim_new)
+
+protected:
+
+ /** Creates a pixbuf object from a drawable.
+ *
+ * Transfers image data from a Drawable and converts it to an RGB(A)
+ * representation inside a Pixbuf. In other words, copies
+ * image data from a server-side drawable to a client-side RGB(A) buffer.
+ * This allows you to efficiently read individual pixels on the client side.
+ *
+ * If the drawable @src has no colormap (See Gdk::Drawable::get_colormap()),
+ * then a suitable colormap must be specified. Otherwise, you may use the
+ * constructor that takes no colormap argument.
+ * Typically a Gdk::Window or a pixmap created by passing a Gdk:Window
+ * to the Gdk::Pixbuf constructor will already have a colormap associated with
+ * it. If the drawable is a bitmap (1 bit per pixel pixmap),
+ * then a colormap is not required; pixels with a value of 1 are
+ * assumed to be white, and pixels with a value of 0 are assumed to be
+ * black. For taking screenshots, Gdk::Colormap::get_system() returns
+ * the correct colormap to use.
+ *
+ * This will create an RGB pixbuf with 8 bits per channel and no
+ * alpha, with the same size specified by the @a width and @a height
+ * arguments.
+ *
+ * If the specified drawable is a pixmap, then the requested source
+ * rectangle must be completely contained within the pixmap, otherwise
+ * the constructor will fail. For pixmaps only (not for windows)
+ * passing -1 for width or height is allowed to mean the full width
+ * or height of the pixmap.
+ *
+ * If the specified drawable is a window, and the window is off the
+ * screen, then there is no image data in the obscured/offscreen
+ * regions to be placed in the pixbuf. The contents of portions of the
+ * pixbuf corresponding to the offscreen region are undefined.
+ *
+ * If the window you're obtaining data from is partially obscured by
+ * other windows, then the contents of the pixbuf areas corresponding
+ * to the obscured regions are undefined.
+ *
+ * See alo Gdk::Drawable::get_image().
+ *
+ * @param src Source drawable.
+ * @param cmap: A colormap.
+ * @param src_x Source X coordinate within drawable.
+ * @param src_y Source Y coordinate within drawable.
+ * @param width Width in pixels of region to get.
+ * @param height Height in pixels of region to get.
+ *
+ * @newin2p12
+ */
+ Pixbuf(const Glib::RefPtr<Drawable>& src, const Glib::RefPtr<Colormap>& cmap,
+ int src_x, int src_y, int width, int height);
+
+ /** Creates a pixbuf object from a drawable, using the colormap from the drawable.
+ *
+ * @param src Source drawable.
+ * @param src_x Source X coordinate within drawable.
+ * @param src_y Source Y coordinate within drawable.
+ * @param width Width in pixels of region to get.
+ * @param height Height in pixels of region to get.
+ *
+ * @newin2p12
+ */
+ Pixbuf(const Glib::RefPtr<Drawable>& src,
+ int src_x, int src_y, int width, int height);
+
+ _DEPRECATE_IFDEF_START
+ /// @deprecated Use the constructor without dest_x and dest_y parameters.
+ Pixbuf(const Glib::RefPtr<Drawable>& src, const Glib::RefPtr<Colormap>& cmap,
+ int src_x, int src_y, int dest_x, int dest_y, int width, int height);
+ _DEPRECATE_IFDEF_END
+
+ /** Creates a pixbuf object from an image.
+ *
+ * @param src Source Image.
+ * @param cmap A colormap.
+ * @param src_x Source X coordinate within the image.
+ * @param src_y Source Y coordinate within the image.
+ * @param width Width in pixels of region to get.
+ * @param height Height in pixels of region to get.
+ *
+ * @newin2p12
+ */
+ Pixbuf(const Glib::RefPtr<Image>& src, const Glib::RefPtr<Colormap>& cmap,
+ int src_x, int src_y, int width, int height);
+
+ /** Creates a pixbuf object from an image, using the colormap from the image.
+ *
+ * @param src Source Image.
+ * @param src_x Source X coordinate within the image.
+ * @param src_y Source Y coordinate within the image.
+ * @param width Width in pixels of region to get.
+ * @param height Height in pixels of region to get.
+ *
+ * @newinp212
+ */
+ Pixbuf(const Glib::RefPtr<Image>& src,
+ int src_x, int src_y, int width, int height);
+
+ _DEPRECATE_IFDEF_START
+ /// @deprecated Use the constructors without dest_x and dest_y parameters.
+ Pixbuf(const Glib::RefPtr<Image>& src, const Glib::RefPtr<Colormap>& cmap,
+ int src_x, int src_y, int dest_x, int dest_y, int width, int height);
+ _DEPRECATE_IFDEF_END
+
+public:
+ typedef sigc::slot<void, const guint8*> SlotDestroyData;
+
+ // Hand-coded so the implementation in the .ccg is also only
+ // built when GDKMM_DISABLE_DEPRECATED is defined.
+ _DEPRECATE_IFDEF_START
+ /** @deprecated Use the create() methods that don't have the unused dest_x and dest_y parameters. */
+ static Glib::RefPtr<Gdk::Pixbuf> create(const Glib::RefPtr<Drawable>& src,
+ const Glib::RefPtr<Colormap>& cmap,
+ int src_x, int src_y,
+ int dest_x, int dest_y,
+ int width, int height);
+
+ /** @deprecated Use the create() methods that that don't have the unused dest_x and dest_y parameters. */
+ static Glib::RefPtr<Gdk::Pixbuf> create(const Glib::RefPtr<Image>& src,
+ const Glib::RefPtr<Colormap>& cmap,
+ int src_x, int src_y,
+ int dest_x, int dest_y,
+ int width, int height);
+ _DEPRECATE_IFDEF_END
+
+ /** Creates a pixbuf object from a drawable.
+ *
+ * Transfers image data from a Drawable and converts it to an RGB(A)
+ * representation inside a Pixbuf. In other words, copies
+ * image data from a server-side drawable to a client-side RGB(A) buffer.
+ * This allows you to efficiently read individual pixels on the client side.
+ *
+ * If the drawable @src has no colormap (See Gdk::Drawable::get_colormap()),
+ * then a suitable colormap must be specified. Otherwise, you may use the
+ * constructor that takes no colormap argument.
+ * Typically a Gdk::Window or a pixmap created by passing a Gdk:Window
+ * to the Gdk::Pixbuf constructor will already have a colormap associated with
+ * it. If the drawable is a bitmap (1 bit per pixel pixmap),
+ * then a colormap is not required; pixels with a value of 1 are
+ * assumed to be white, and pixels with a value of 0 are assumed to be
+ * black. For taking screenshots, Gdk::Colormap::get_system() returns
+ * the correct colormap to use.
+ *
+ * This will create an RGB pixbuf with 8 bits per channel and no
+ * alpha, with the same size specified by the @a width and @a height
+ * arguments.
+ *
+ * If the specified drawable is a pixmap, then the requested source
+ * rectangle must be completely contained within the pixmap, otherwise
+ * the constructor will fail. For pixmaps only (not for windows)
+ * passing -1 for width or height is allowed to mean the full width
+ * or height of the pixmap.
+ *
+ * If the specified drawable is a window, and the window is off the
+ * screen, then there is no image data in the obscured/offscreen
+ * regions to be placed in the pixbuf. The contents of portions of the
+ * pixbuf corresponding to the offscreen region are undefined.
+ *
+ * If the window you're obtaining data from is partially obscured by
+ * other windows, then the contents of the pixbuf areas corresponding
+ * to the obscured regions are undefined.
+ *
+ * See alo Gdk::Drawable::get_image().
+ *
+ * @param src Source drawable.
+ * @param cmap: A colormap.
+ * @param src_x Source X coordinate within drawable.
+ * @param src_y Source Y coordinate within drawable.
+ * @param width Width in pixels of region to get.
+ * @param height Height in pixels of region to get.
+ *
+ * @newin2p12
+ */
+ _WRAP_CREATE(const Glib::RefPtr<Drawable>& src, const Glib::RefPtr<Colormap>& cmap,
+ int src_x, int src_y, int width, int height)
+
+ /** Creates a pixbuf object from a drawable, using the colormap from the drawable.
+ *
+ * @param src Source drawable.
+ * @param src_x Source X coordinate within drawable.
+ * @param src_y Source Y coordinate within drawable.
+ * @param width Width in pixels of region to get.
+ * @param height Height in pixels of region to get.
+ *
+ * @newin2p12
+ */
+ _WRAP_CREATE(const Glib::RefPtr<Drawable>& src,
+ int src_x, int src_y, int width, int height)
+
+ /** Creates a pixbuf object from an image.
+ *
+ * @param src Source Image.
+ * @param cmap A colormap.
+ * @param src_x Source X coordinate within the image.
+ * @param src_y Source Y coordinate within the image.
+ * @param width Width in pixels of region to get.
+ * @param height Height in pixels of region to get.
+ *
+ * @newin2p12
+ */
+ _WRAP_CREATE(const Glib::RefPtr<Image>& src, const Glib::RefPtr<Colormap>& cmap,
+ int src_x, int src_y, int width, int height)
+
+ /** Creates a pixbuf object from an image, using the colormap from the image.
+ *
+ * @param src Source Image.
+ * @param src_x Source X coordinate within the image.
+ * @param src_y Source Y coordinate within the image.
+ * @param width Width in pixels of region to get.
+ * @param height Height in pixels of region to get.
+ *
+ * @newinp212
+ */
+ _WRAP_CREATE(const Glib::RefPtr<Image>& src,
+ int src_x, int src_y, int width, int height)
+
+ _WRAP_METHOD(Glib::RefPtr<Pixbuf> copy() const, gdk_pixbuf_copy)
+
+ _WRAP_METHOD(static Glib::RefPtr<Pixbuf> create(
+ Colorspace colorspace, bool has_alpha,
+ int bits_per_sample, int width, int height),
+ gdk_pixbuf_new)
+
+ _WRAP_METHOD(static Glib::RefPtr<Pixbuf> create_subpixbuf(
+ const Glib::RefPtr<Pixbuf>& src_pixbuf,
+ int src_x, int src_y, int width, int height),
+ gdk_pixbuf_new_subpixbuf)
+
+ /** Creates a new pixbuf by loading an image from a file. The file format is detected automatically.
+ * @param filename The path to the pixbuf file.
+ *
+ * @throw Glib::FileError
+ * @throw Gdk::PixbufError
+ */
+ _WRAP_METHOD(static Glib::RefPtr<Pixbuf> create_from_file(const std::string& filename), gdk_pixbuf_new_from_file, errthrow)
+
+ /** Creates a new pixbuf by loading an image from a file. The file format is detected automatically.
+ * The image will be scaled to fit in the requested size.
+ * @param filename The path to the pixbuf file.
+ * @param width The desired width
+ * @param height The desired height
+ * @param preserve_aspect_ratio: Whether the image's aspect ratio will be preserved when scaling.
+ *
+ * @throw Glib::FileError
+ * @throw Gdk::PixbufError
+ */
+ _WRAP_METHOD(static Glib::RefPtr<Pixbuf> create_from_file(const std::string& filename, int width, int height, bool preserve_aspect_ratio = true), gdk_pixbuf_new_from_file_at_scale, errthrow)
+ _IGNORE(gdk_pixbuf_new_from_file_at_scale, gdk_pixbuf_new_from_file_at_size) //gdk_pixbuf_new_from_file_at_size() just calls gdk_pixbuf_new_from_file_at_scale().
+
+ /** Creates a new Gdk::Pixbuf out of in-memory image data.
+ * Currently only RGB images with 8 bits per sample are supported.
+ *
+ * @param data %Image data in 8-bit/sample packed format.
+ * @param colorspace Colorspace for the image data.
+ * @param has_alpha Whether the data has an opacity channel.
+ * @param bits_per_sample Number of bits per sample.
+ * @param width Width of the image in pixels.
+ * @param height Height of the image in pixels.
+ * @param rowstride Distance in bytes between rows.
+ * @return A newly-created Gdk::Pixbuf object.
+ */
+ static Glib::RefPtr<Pixbuf> create_from_data(const guint8* data, Colorspace colorspace,
+ bool has_alpha, int bits_per_sample,
+ int width, int height, int rowstride);
+
+ /** Creates a new Gdk::Pixbuf out of in-memory image data.
+ * Currently only RGB images with 8 bits per sample are supported.
+ *
+ * @param data %Image data in 8-bit/sample packed format.
+ * @param colorspace Colorspace for the image data.
+ * @param has_alpha Whether the data has an opacity channel.
+ * @param bits_per_sample Number of bits per sample.
+ * @param width Width of the image in pixels.
+ * @param height Height of the image in pixels.
+ * @param rowstride Distance in bytes between rows.
+ * @param destroy_slot Slot used to free the data when the pixbuf's
+ * reference count drops to zero.
+ * @return A newly-created Gdk::Pixbuf object.
+ */
+ static Glib::RefPtr<Pixbuf> create_from_data(const guint8* data, Colorspace colorspace,
+ bool has_alpha, int bits_per_sample,
+ int width, int height, int rowstride,
+ const SlotDestroyData& destroy_slot);
+
+ _WRAP_METHOD(static Glib::RefPtr<Pixbuf> create_from_xpm_data(const char *const * data),
+ gdk_pixbuf_new_from_xpm_data)
+
+ /** Create a Gdk::Pixbuf from a flat representation that is suitable for
+ * storing as inline data in a program. This is useful if you want to ship a
+ * program with images, but don't want to depend on any external files.
+ *
+ * GTK+ ships with a program called <tt>gdk-pixbuf-csource</tt> which allows
+ * for conversion of GdkPixbufs into such a inline representation. In almost
+ * all cases, you should pass the <tt>--raw</tt> flag to
+ * <tt>gdk-pixbuf-csource</tt>. A sample invocation would be:
+ *
+ * <tt>gdk-pixbuf-csource --raw --name=myimage_inline myimage.png</tt>
+ *
+ * For the typical case where the inline pixbuf is read-only static data, you
+ * don't need to copy the pixel data unless you intend to write to it, so you
+ * can pass <tt>false</tt> for @a copy_pixels. (If you pass <tt>--rle</tt> to
+ * <tt>gdk-pixbuf-csource</tt>, a copy will be made even if @a copy_pixels is
+ * <tt>false</tt>, so using this option is generally a bad idea.)
+ *
+ * If you create a pixbuf from const inline data compiled into your program,
+ * it's probably safe to ignore errors, since things will always succeed. For
+ * non-const inline data, you could get out of memory. For untrusted inline
+ * data located at runtime, you could have corrupt inline data in addition.
+ *
+ * @param data_length Length in bytes of the @a data argument.
+ * @param data Byte data containing a serialized GdkPixdata structure.
+ * @param copy_pixels Whether to copy the pixel data, or use direct pointers
+ * to @a data for the resulting pixbuf.
+ * @throw Gdk::PixbufError
+ */
+ _WRAP_METHOD(static Glib::RefPtr<Pixbuf> create_from_inline(int data_length, const guint8* data,
+ bool copy_pixels = false), gdk_pixbuf_new_from_inline, errthrow)
+
+
+ _WRAP_METHOD(Colorspace get_colorspace() const, gdk_pixbuf_get_colorspace)
+
+ _WRAP_METHOD(int get_n_channels() const, gdk_pixbuf_get_n_channels)
+ _WRAP_METHOD(bool get_has_alpha() const, gdk_pixbuf_get_has_alpha)
+ _WRAP_METHOD(int get_bits_per_sample() const, gdk_pixbuf_get_bits_per_sample)
+ _WRAP_METHOD(guint8* get_pixels() const, gdk_pixbuf_get_pixels)
+ _WRAP_METHOD(int get_width() const, gdk_pixbuf_get_width)
+ _WRAP_METHOD(int get_height() const, gdk_pixbuf_get_height)
+ _WRAP_METHOD(int get_rowstride() const, gdk_pixbuf_get_rowstride)
+
+ _WRAP_METHOD(void fill(guint32 pixel), gdk_pixbuf_fill)
+
+ /** Saves pixbuf to a file in format @a type.
+ * By default, "jpeg", "png", "ico" and "bmp" are possible file formats to save in, but more formats may be installed.
+ * TThe list of all writable formats can be determined by using Gdk::Pixbuf::get_formats() with
+ * Gdk::PixbufFormat::is_writable().
+ *
+ * @param filename The path of the file to be created.
+ * @param type The file type.
+ *
+ * @throw Glib::FileError
+ * @throw Gdk::PixbufError
+ */
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ void save(const std::string& filename, const Glib::ustring& type);
+ #else
+ void save(const std::string& filename, const Glib::ustring& type, std::auto_ptr<Glib::Error>& error);
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ _IGNORE(gdk_pixbuf_save)
+
+ /** Saves pixbuf to a file in format @a type.
+ * By default, "jpeg", "png", "ico" and "bmp" are possible file formats to save in, but more formats may be installed.
+ * TThe list of all writable formats can be determined by using Gdk::Pixbuf::get_formats() with
+ * Gdk::PixbufFormat::is_writable().
+ *
+ * The @a option_keys and @option_values, if not empty, should contain pairs of strings that modify the save parameters.
+ * For example, "quality", "100".
+ *
+ * Currently only a few parameters exist. JPEG images can be saved with a "quality" parameter;
+ * its value should be in the range [0,100]. Text chunks can be attached to PNG images by specifying parameters of the
+ * form "tEXt::key", where key is an ASCII string of length 1-79. The values are UTF-8 encoded strings. ICO images can be
+ * saved in depth 16, 24, or 32, by using the "depth" parameter. When the ICO saver is given "x_hot" and "y_hot"
+ * parameters, it produces a CUR instead of an ICO.
+ *
+ * @param filename The path of the file to be created.
+ * @param type The file type.
+ * @param option_keys
+ * @param option_values
+ *
+ * @throw Glib::FileError
+ * @throw Gdk::PixbufError
+ */
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ void save(const std::string& filename, const Glib::ustring& type,
+ const Glib::StringArrayHandle& option_keys,
+ const Glib::StringArrayHandle& option_values);
+ #else
+ void save(const std::string& filename, const Glib::ustring& type,
+ const Glib::StringArrayHandle& option_keys,
+ const Glib::StringArrayHandle& option_values, std::auto_ptr<Glib::Error>& error);
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ _IGNORE(gdk_pixbuf_savev)
+
+
+/* TODO:
+typedef gboolean (*GdkPixbufSaveFunc) (const gchar *buf,
+ gsize count,
+ GError **error,
+ gpointer data);
+
+gboolean gdk_pixbuf_save_to_callback (GdkPixbuf *pixbuf,
+ GdkPixbufSaveFunc save_func,
+ gpointer user_data,
+ const char *type,
+ GError **error,
+ ...);
+
+gboolean gdk_pixbuf_save_to_callbackv (GdkPixbuf *pixbuf,
+ GdkPixbufSaveFunc save_func,
+ gpointer user_data,
+ const char *type,
+ char **option_keys,
+ char **option_values,
+ GError **error);
+
+*/
+
+ /* Saves the pixbuf to a new buffer in format @a type.
+ * Note that the buffer is not nul-terminated and may contain embedded nulls.
+ * @see save().
+ *
+ * @param buffer This will be set to the address of a new buffer.
+ * @param size This will be set to the size of the @a buffer.
+ * @param type Currently "jpeg", "png", "ico" or "bmp".
+ *
+ * @throw Glib::FileError
+ * @throw Gdk::PixbufError
+ */
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ void save_to_buffer(gchar*& buffer, gsize& buffer_size,
+ const Glib::ustring& type = "png");
+ #else
+ void save_to_buffer(gchar*& buffer, gsize& buffer_size,
+ const Glib::ustring& type, std::auto_ptr<Glib::Error>& error);
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ /* Saves the pixbuf to a new buffer in format @a type.
+ * Note that the buffer is not nul-terminated and may contain embedded nulls.
+ * @see save().
+ *
+ * @param buffer This will be set to the address of a new buffer.
+ * @param size This will be set to the size of the @a buffer.
+ * @param type Currently "jpeg", "png", "ico" or "bmp".
+ *
+ * @throw Glib::FileError
+ * @throw Gdk::PixbufError
+ */
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ void save_to_buffer(gchar*& buffer, gsize& buffer_size,
+ const Glib::ustring& type,
+ const Glib::StringArrayHandle& option_keys,
+ const Glib::StringArrayHandle& option_values);
+ #else
+ void save_to_buffer(gchar*& buffer, gsize& buffer_size,
+ const Glib::ustring& type,
+ const Glib::StringArrayHandle& option_keys,
+ const Glib::StringArrayHandle& option_values, std::auto_ptr<Glib::Error>& error);
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ _IGNORE(gdk_pixbuf_save_to_bufferv, gdk_pixbuf_save_to_buffer)
+
+
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> add_alpha(
+ bool substitute_color, guint8 r, guint8 g, guint8 b) const,
+ gdk_pixbuf_add_alpha)
+
+ _WRAP_METHOD(void copy_area(
+ int src_x, int src_y, int width, int height,
+ const Glib::RefPtr<Gdk::Pixbuf>& dest_pixbuf,
+ int dest_x, int dest_y) const,
+ gdk_pixbuf_copy_area)
+
+ _WRAP_METHOD(void saturate_and_pixelate(
+ const Glib::RefPtr<Gdk::Pixbuf>& dest,
+ float saturation, bool pixelate) const,
+ gdk_pixbuf_saturate_and_pixelate)
+
+
+ _WRAP_METHOD(void scale(const Glib::RefPtr<Gdk::Pixbuf>& dest,
+ int dest_x, int dest_y,
+ int dest_width, int dest_height,
+ double offset_x, double offset_y,
+ double scale_x, double scale_y,
+ InterpType interp_type) const,
+ gdk_pixbuf_scale)
+
+ _WRAP_METHOD(void composite(const Glib::RefPtr<Gdk::Pixbuf>& dest,
+ int dest_x, int dest_y,
+ int dest_width, int dest_height,
+ double offset_x, double offset_y,
+ double scale_x, double scale_y,
+ InterpType interp_type,
+ int overall_alpha) const,
+ gdk_pixbuf_composite)
+
+ _WRAP_METHOD(void composite_color(const Glib::RefPtr<Gdk::Pixbuf>& dest,
+ int dest_x, int dest_y,
+ int dest_width, int dest_height,
+ double offset_x, double offset_y,
+ double scale_x, double scale_y,
+ InterpType interp_type,
+ int overall_alpha,
+ int check_x, int check_y,
+ int check_size,
+ guint32 color1, guint32 color2) const,
+ gdk_pixbuf_composite_color)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> scale_simple(
+ int dest_width, int dest_height,
+ InterpType interp_type) const,
+ gdk_pixbuf_scale_simple)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> composite_color_simple(
+ int dest_width, int dest_height,
+ InterpType interp_type,
+ int overall_alpha, int check_size,
+ guint32 color1, guint32 color2) const,
+ gdk_pixbuf_composite_color_simple)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> rotate_simple(PixbufRotation angle) const, gdk_pixbuf_rotate_simple)
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> flip(bool horizontal = true) const, gdk_pixbuf_flip)
+
+ _WRAP_METHOD(void render_threshold_alpha(const Glib::RefPtr<Gdk::Bitmap>& bitmap,
+ int src_x, int src_y,
+ int dest_x, int dest_y,
+ int width, int height,
+ int alpha_threshold), gdk_pixbuf_render_threshold_alpha)
+
+ _WRAP_METHOD(void render_to_drawable(const Glib::RefPtr<Drawable>& drawable,
+ const Glib::RefPtr<Gdk::GC>& gc,
+ int src_x, int src_y,
+ int dest_x, int dest_y,
+ int width, int height,
+ RgbDither dither,
+ int x_dither, int y_dither), gdk_pixbuf_render_to_drawable)
+ _WRAP_METHOD(void render_to_drawable_alpha(const Glib::RefPtr<Drawable>& drawable,
+ int src_x, int src_y,
+ int dest_x, int dest_y,
+ int width, int height,
+ PixbufAlphaMode alpha_mode,
+ int alpha_threshold,
+ RgbDither dither,
+ int x_dither, int y_dither), gdk_pixbuf_render_to_drawable_alpha)
+
+ void render_pixmap_and_mask_for_colormap(const Glib::RefPtr<Colormap>& colormap,
+ Glib::RefPtr<Pixmap>& pixmap_return,
+ Glib::RefPtr<Bitmap>& mask_return,
+ int alpha_threshold);
+
+ void render_pixmap_and_mask(Glib::RefPtr<Pixmap>& pixmap_return,
+ Glib::RefPtr<Bitmap>& mask_return, int alpha_threshold);
+
+ _WRAP_METHOD(Glib::ustring get_option(const Glib::ustring& key) const, gdk_pixbuf_get_option)
+
+
+ typedef Glib::SListHandle< Glib::RefPtr<PixbufFormat>, PixbufFormatTraits > SListHandle_PixbufFormat;
+ static SListHandle_PixbufFormat get_formats();
+ _IGNORE(gdk_pixbuf_get_formats)
+};
+
+} // namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/pixbufanimation.ccg b/libs/gtkmm2/gdk/src/pixbufanimation.ccg
new file mode 100644
index 0000000000..74c9b95e11
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/pixbufanimation.ccg
@@ -0,0 +1,36 @@
+// -*- c++ -*-
+/* $Id: pixbufanimation.ccg,v 1.1 2003/01/21 13:38:36 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdk/gdkcolor.h>
+
+namespace Gdk
+{
+
+Glib::RefPtr<PixbufAnimation> PixbufAnimation::create_from_file(const Glib::ustring& filename)
+{
+ GError* pError = 0;
+ return Glib::wrap(gdk_pixbuf_animation_new_from_file(filename.c_str(), &pError));
+}
+
+} //Gdk
+
+
diff --git a/libs/gtkmm2/gdk/src/pixbufanimation.hg b/libs/gtkmm2/gdk/src/pixbufanimation.hg
new file mode 100644
index 0000000000..f83a154754
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/pixbufanimation.hg
@@ -0,0 +1,52 @@
+/* $Id: pixbufanimation.hg,v 1.1 2003/01/21 13:38:37 murrayc Exp $ */
+
+/* box.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/object.h>
+#include <gdkmm/pixbuf.h>
+#include <gdkmm/pixbufanimationiter.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
+
+_DEFS(gdkmm,gdk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Gdk
+{
+
+class PixbufAnimation : public Glib::Object
+{
+ _CLASS_GOBJECT(PixbufAnimation, GdkPixbufAnimation, GDK_PIXBUF_ANIMATION, Glib::Object, GObject)
+ _IGNORE(gdk_pixbuf_animation_ref, gdk_pixbuf_animation_unref)
+protected:
+
+public:
+
+ static Glib::RefPtr<PixbufAnimation> create_from_file(const Glib::ustring& filename);
+
+ _WRAP_METHOD(int get_width() const, gdk_pixbuf_animation_get_width)
+ _WRAP_METHOD(int get_height() const, gdk_pixbuf_animation_get_height)
+ _WRAP_METHOD(bool is_static_image() const, gdk_pixbuf_animation_is_static_image)
+ _WRAP_METHOD(Glib::RefPtr<Pixbuf> get_static_image(), gdk_pixbuf_animation_get_static_image, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<PixbufAnimationIter> get_iter(const GTimeVal* start_time), gdk_pixbuf_animation_get_iter, refreturn)
+};
+
+} /* namespace Gdk */
+
diff --git a/libs/gtkmm2/gdk/src/pixbufanimationiter.ccg b/libs/gtkmm2/gdk/src/pixbufanimationiter.ccg
new file mode 100644
index 0000000000..3c5e019859
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/pixbufanimationiter.ccg
@@ -0,0 +1,23 @@
+// -*- c++ -*-
+/* $Id: pixbufanimationiter.ccg,v 1.1 2003/01/21 13:38:37 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
diff --git a/libs/gtkmm2/gdk/src/pixbufanimationiter.hg b/libs/gtkmm2/gdk/src/pixbufanimationiter.hg
new file mode 100644
index 0000000000..c5c10efa1c
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/pixbufanimationiter.hg
@@ -0,0 +1,41 @@
+/* $Id: pixbufanimationiter.hg,v 1.2 2004/04/12 11:04:05 murrayc Exp $ */
+
+/* pixbufanimationiter.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/object.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
+
+_DEFS(gdkmm,gdk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Gdk
+{
+
+class PixbufAnimationIter : public Glib::Object
+{
+ _CLASS_GOBJECT(PixbufAnimationIter, GdkPixbufAnimationIter, GDK_PIXBUF_ANIMATION_ITER, Glib::Object, GObject)
+protected:
+
+
+};
+
+} /* namespace Gdk */
+
diff --git a/libs/gtkmm2/gdk/src/pixbufformat.ccg b/libs/gtkmm2/gdk/src/pixbufformat.ccg
new file mode 100644
index 0000000000..0c30113e67
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/pixbufformat.ccg
@@ -0,0 +1,58 @@
+// -*- c++ -*-
+/* $Id: pixbufformat.ccg,v 1.2 2003/11/22 18:58:20 murrayc Exp $ */
+
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/utility.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
+
+namespace Gdk
+{
+
+PixbufFormat::PixbufFormat()
+: gobject_ (0)
+{}
+
+PixbufFormat::PixbufFormat(const GdkPixbufFormat* gobject)
+: gobject_ (gobject)
+{}
+
+PixbufFormat::~PixbufFormat()
+{
+ //We don't free anything because we did not take ownership of the underlying C instance
+ //(because we can't.)
+}
+
+PixbufFormat::PixbufFormat(const PixbufFormat& src)
+: gobject_(src.gobject_)
+{
+}
+
+PixbufFormat& PixbufFormat::operator=(const PixbufFormat& src)
+{
+ gobject_ = src.gobject_;
+ return *this;
+}
+
+
+
+
+
+
+} // namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/pixbufformat.hg b/libs/gtkmm2/gdk/src/pixbufformat.hg
new file mode 100644
index 0000000000..87a0d5a329
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/pixbufformat.hg
@@ -0,0 +1,65 @@
+/* $Id: pixbufformat.hg,v 1.4 2005/01/05 17:30:16 murrayc Exp $ */
+
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(gdkmm,gdk)
+
+#include <gdkmmconfig.h>
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C" { typedef struct _GdkPixbufFormat GdkPixbufFormat; }
+#endif
+
+namespace Gdk
+{
+
+class PixbufFormat
+{
+ _CLASS_GENERIC(PixbufFormat, GdkPixbufFormat)
+
+public:
+ PixbufFormat();
+ explicit PixbufFormat(const GdkPixbufFormat* gobject);
+ virtual ~PixbufFormat();
+
+ PixbufFormat(const PixbufFormat& src);
+ PixbufFormat& operator=(const PixbufFormat& src);
+
+ _WRAP_METHOD(Glib::ustring get_name() const, gdk_pixbuf_format_get_name)
+ _WRAP_METHOD(Glib::ustring get_description() const, gdk_pixbuf_format_get_description)
+ _WRAP_METHOD(Glib::StringArrayHandle get_mime_types() const, gdk_pixbuf_format_get_mime_types)
+ _WRAP_METHOD(Glib::StringArrayHandle get_extensions() const, gdk_pixbuf_format_get_extensions)
+ _WRAP_METHOD(bool is_writable() const, gdk_pixbuf_format_is_writable)
+
+ _WRAP_METHOD(bool is_scalable() const, gdk_pixbuf_format_is_scalable)
+ _WRAP_METHOD(bool is_disabled() const, gdk_pixbuf_format_is_disabled)
+ _WRAP_METHOD(void set_disabled(bool disabled = true), gdk_pixbuf_format_set_disabled)
+ _WRAP_METHOD(Glib::ustring get_license() const, gdk_pixbuf_format_get_license)
+
+ /// Provides access to the underlying C GObject.
+ GdkPixbufFormat* gobj() { return const_cast<GdkPixbufFormat*>(gobject_); }
+ /// Provides access to the underlying C GObject.
+ const GdkPixbufFormat* gobj() const { return gobject_; }
+
+protected:
+ const GdkPixbufFormat* gobject_;
+};
+
+} // namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/pixbufloader.ccg b/libs/gtkmm2/gdk/src/pixbufloader.ccg
new file mode 100644
index 0000000000..171622d422
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/pixbufloader.ccg
@@ -0,0 +1,60 @@
+// -*- c++ -*-
+/* $Id: pixbufloader.ccg,v 1.6 2006/05/11 11:40:23 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdk/gdkcolor.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
+
+
+namespace
+{
+
+/* We use this helper function in the constructor to be able to throw
+ * before the base class' (Glib::Object) constructor is called.
+ */
+static GdkPixbufLoader* pixbuf_loader_create_with_type(const Glib::ustring& image_type, bool mime_type)
+{
+ GError* error = 0;
+ GdkPixbufLoader* loader = 0;
+
+ if(mime_type)
+ loader = gdk_pixbuf_loader_new_with_mime_type(image_type.c_str(), &error);
+ else
+ loader = gdk_pixbuf_loader_new_with_type(image_type.c_str(), &error);
+
+ if(error)
+ Glib::Error::throw_exception(error);
+
+ return loader;
+}
+
+} // anonymous namespace
+
+
+namespace Gdk
+{
+
+PixbufLoader::PixbufLoader(const Glib::ustring& image_type, bool mime_type)
+:
+ Glib::ObjectBase(0),
+ Glib::Object((GObject*) pixbuf_loader_create_with_type(image_type, mime_type))
+{}
+
+} // namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/pixbufloader.hg b/libs/gtkmm2/gdk/src/pixbufloader.hg
new file mode 100644
index 0000000000..90c7f8e00c
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/pixbufloader.hg
@@ -0,0 +1,173 @@
+/* $Id: pixbufloader.hg,v 1.13 2006/05/18 17:53:14 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/object.h>
+#include <gdkmm/pixbuf.h>
+#include <gdkmm/pixbufanimation.h>
+#include <gdkmm/pixbufformat.h>
+
+_DEFS(gdkmm,gdk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Gdk
+{
+
+class PixbufLoader : public Glib::Object
+{
+ _CLASS_GOBJECT(PixbufLoader, GdkPixbufLoader, GDK_PIXBUF_LOADER, Glib::Object, GObject)
+protected:
+
+ /** Constructs a pixbuf loader object.
+ */
+ _CTOR_DEFAULT()
+
+ /** Constructs a pixbuf loader object for a specific image type.
+ * Constructs a new pixbuf loader object that always attempts to parse image
+ * data as if it were an image of type @a image_type, instead of identifying
+ * the type automatically. Useful if you want an error if the image isn't the
+ * expected type, for loading image formats that can't be reliably identified
+ * by looking at the data, or if the user manually forces a specific type.
+ *
+ * The image_type can be one of the types returned by Gdk::Pixbuf::get_formats(), or a MIME type.
+ *
+ * Common MIME Types are listed here
+ * http://www.iana.org/assignments/media-types/
+ * and here:
+ * http://www.freedesktop.org/Software/shared-mime-info
+ *
+ * The list of non-mime-type image formats depends on what image loaders
+ * are installed, but typically "png", "jpeg", "gif", "tiff" and
+ * "xpm" are among the supported formats. To obtain the full list of
+ * supported image formats, call PixbufFormat::get_name() on each
+ * of the PixbufFormats returned by Gdk::Pixbuf::get_formats().
+ *
+ * @param image_type Name of the image format to be loaded with the image.
+ * @param mime_type If this is true then the image_type is a MIME type.
+ * @throw Gdk::PixbufError
+ */
+ explicit PixbufLoader(const Glib::ustring& image_type, bool mime_type = false);
+
+public:
+
+ /** Creates a new pixbuf loader object.
+ * @return A newly-created pixbuf loader.
+ */
+ _WRAP_CREATE()
+
+ /** Constructs a pixbuf loader object for a specific image type.
+ * Constructs a new pixbuf loader object that always attempts to parse image
+ * data as if it were an image of type @a image_type, instead of identifying
+ * the type automatically. Useful if you want an error if the image isn't the
+ * expected type, for loading image formats that can't be reliably identified
+ * by looking at the data, or if the user manually forces a specific type.
+ *
+ * The image_type can be one of the types returned by Gdk::Pixbuf::get_formats(), or a MIME type.
+ *
+ * Common MIME Types are listed here
+ * http://www.iana.org/assignments/media-types/
+ * and here:
+ * http://www.freedesktop.org/Software/shared-mime-info
+ *
+ * The list of non-mime-type image formats depends on what image loaders
+ * are installed, but typically "png", "jpeg", "gif", "tiff" and
+ * "xpm" are among the supported formats. To obtain the full list of
+ * supported image formats, call PixbufFormat::get_name() on each
+ * of the PixbufFormats returned by Gdk::Pixbuf::get_formats().
+ *
+ * @param image_type Name of the image format to be loaded with the image.
+ * @param mime_type If this is true then the image_type is a MIME type.
+ * @throw Gdk::PixbufError
+ */
+ _WRAP_CREATE(const Glib::ustring& image_type, bool mime_type = false)
+
+ _WRAP_METHOD(void set_size(int width, int height), gdk_pixbuf_loader_set_size)
+
+#m4 _CONVERSION(`const guint8*',`const guchar*',`($3)')
+
+ /** Causes the pixbuf loader to parse the next @a count bytes of an image.
+ * It will return if the data was loaded successfully, and throw an exception
+ * if an error occurred. In the latter case, the loader will be closed, and
+ * will not accept further writes.
+ * @param buf Pointer to image data.
+ * @param count Length of the @a buf buffer in bytes.
+ * @throw Gdk::PixbufError
+ * @throw Glib::FileError
+ */
+ _WRAP_METHOD(void write(const guint8* buf, gsize count), gdk_pixbuf_loader_write, errthrow)
+
+ /** Informs a pixbuf loader that no further writes with PixbufLoader::write()
+ * will occur, so that it can free its internal loading structures. Also,
+ * tries to parse any data that hasn't yet been parsed; if the remaining data
+ * is partial or corrupt, an exception will be thrown. If you're just
+ * cancelling a load rather than expecting it to be finished, writing an
+ * empty <tt>catch()</tt> block to ignore errors is reasonable.
+ * @throw Gdk::PixbufError
+ * @throw Glib::FileError
+ */
+ _WRAP_METHOD(void close(), gdk_pixbuf_loader_close, errthrow)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> get_pixbuf(), gdk_pixbuf_loader_get_pixbuf, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<Gdk::PixbufAnimation> get_animation(), gdk_pixbuf_loader_get_animation, refreturn)
+
+ _WRAP_METHOD(PixbufFormat get_format() const, gdk_pixbuf_loader_get_format)
+
+ /** This signal is emitted when the pixbuf loader has allocated the
+ * pixbuf in the desired size. After this signal is emitted,
+ * applications can call get_pixbuf() to fetch
+ * the partially-loaded pixbuf.
+ */
+ _WRAP_SIGNAL(void area_prepared(), "area_prepared")
+
+ /** This signal is emitted when a significant area of the image being
+ * loaded has been updated. Normally it means that a complete
+ * scanline has been read in, but it could be a different area as
+ * well. Applications can use this signal to know when to repaint
+ * areas of an image that is being loaded.
+ *
+ * @param X offset of upper-left corner of the updated area.
+ * @param y Y offset of upper-left corner of the updated area.
+ * @param width Width of updated area.
+ * @param height Height of updated area.
+ */
+ _WRAP_SIGNAL(void area_updated(int x, int y, int width, int height), "area_updated")
+
+ /** This signal is emitted when close() is called.
+ * It can be used by different parts of an application to receive
+ * notification when an image loader is closed by the code that
+ * drives it.
+ */
+ _WRAP_SIGNAL(void closed(), "closed")
+
+ //We use no_default_handler for this, because we can not add a new vfunc to 2.5 without breaking ABI.
+ //TODO: Remove no_default_handler when we do an ABI-break-with-parallel-install.
+ /** This signal is emitted when the pixbuf loader has been fed the
+ * initial amount of data that is required to figure out the size
+ * of the image that it will create. Applications can call
+ * set_size() in response to this signal to set
+ * the desired size to which the image should be scaled.
+ *
+ * @param width The original width of the image.
+ * @param height The original height of the image
+ */
+ _WRAP_SIGNAL(void size_prepared(int width, int height), "size_prepared", no_default_handler)
+};
+
+} // namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/pixmap.ccg b/libs/gtkmm2/gdk/src/pixmap.ccg
new file mode 100644
index 0000000000..1a8125b6c2
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/pixmap.ccg
@@ -0,0 +1,204 @@
+// -*- c++ -*-
+/* $Id: pixmap.ccg,v 1.4 2004/03/10 01:17:36 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdkmm/window.h>
+#include <gdkmm/display.h>
+#include <gdk/gdkpixmap.h>
+
+
+namespace Gdk
+{
+
+Glib::ObjectBase* Pixmap_Class::wrap_new(GObject* object)
+{
+ GdkPixmapObject *const pixmap_object = GDK_PIXMAP_OBJECT(object);
+
+ g_return_val_if_fail(pixmap_object != 0, 0);
+
+ // GdkPixmap and GdkBitmap are actually both of type GdkPixmapObject.
+ // A Bitmap is is a Pixmap with a depth of 1. Since these are distinct
+ // types in gtkmm, we dynamically create either a Pixmap or a Bitmap,
+ // depending on the depth field.
+
+ if(pixmap_object->depth != 1)
+ return new Gdk::Pixmap((GdkPixmap*) pixmap_object);
+ else
+ return new Gdk::Bitmap((GdkBitmap*) pixmap_object);
+}
+
+
+Pixmap::Pixmap(const Glib::RefPtr<Drawable>& drawable, int width, int height, int depth)
+:
+ Drawable((GdkDrawable*) gdk_pixmap_new(Glib::unwrap(drawable), width, height, depth))
+{
+ //gdk_pixmap_new() is implemented differently for x11, win32, etc,
+ //so we can't really derived a new GType for GdkPixmap.
+}
+
+Pixmap::Pixmap(const Glib::RefPtr<Drawable>& drawable, const char* data, int width, int height, int depth,
+ const Color& fg, const Color& bg)
+:
+ Drawable((GdkDrawable*) gdk_pixmap_create_from_data(
+ Glib::unwrap(drawable), data, width, height, depth,
+ const_cast<GdkColor*>(fg.gobj()), const_cast<GdkColor*>(bg.gobj())))
+{
+ //gdk_pixmap_new() is implemented differently for x11, win32, etc,
+ //so we can't really derived a new GType for GdkPixmap.
+}
+
+Pixmap::Pixmap(const Glib::RefPtr<Display>& display, NativeWindow anid)
+:
+ Drawable( (GdkDrawable*) gdk_pixmap_foreign_new_for_display(display->gobj(), anid) )
+{
+ //gdk_pixmap_new() is implemented differently for x11, win32, etc,
+ //so we can't really derived a new GType for GdkPixmap.
+}
+
+Glib::RefPtr<Pixmap> Pixmap::create_from_data(const Glib::RefPtr<const Drawable>& drawable,
+ const char* data, int width, int height, int depth,
+ const Color& fg, const Color& bg)
+{
+ GdkPixmap *const pixmap = gdk_pixmap_create_from_data(
+ const_cast<GdkDrawable*>(Glib::unwrap<Drawable>(drawable)),
+ const_cast<char*>(data), width, height, depth,
+ const_cast<GdkColor*>(fg.gobj()),
+ const_cast<GdkColor*>(bg.gobj()));
+
+ return Glib::wrap((GdkPixmapObject*) pixmap);
+}
+
+
+Glib::RefPtr<Pixmap> Pixmap::create_from_xpm(const Glib::RefPtr<const Drawable>& drawable,
+ const Color& transparent_color,
+ const std::string& filename)
+{
+ GdkPixmap *const pixmap = gdk_pixmap_create_from_xpm(
+ const_cast<GdkDrawable*>(Glib::unwrap<Drawable>(drawable)), 0,
+ const_cast<GdkColor*>(transparent_color.gobj()),
+ const_cast<char*>(filename.c_str()));
+
+ return Glib::wrap((GdkPixmapObject*) pixmap);
+}
+
+Glib::RefPtr<Pixmap> Pixmap::create_from_xpm(const Glib::RefPtr<const Drawable>& drawable,
+ Glib::RefPtr<Bitmap>& mask,
+ const Color& transparent_color,
+ const std::string& filename)
+{
+ GdkBitmap* bitmap = 0;
+
+ GdkPixmap *const pixmap = gdk_pixmap_create_from_xpm(
+ const_cast<GdkDrawable*>(Glib::unwrap<Drawable>(drawable)), &bitmap,
+ const_cast<GdkColor*>(transparent_color.gobj()),
+ const_cast<char*>(filename.c_str()));
+
+ mask = Glib::RefPtr<Bitmap>::cast_dynamic(Glib::wrap((GdkPixmapObject*) bitmap));
+ return Glib::wrap((GdkPixmapObject*) pixmap);
+}
+
+Glib::RefPtr<Pixmap> Pixmap::create_from_xpm(const Glib::RefPtr<const Drawable>& drawable,
+ const Glib::RefPtr<Colormap>& colormap,
+ Glib::RefPtr<Bitmap>& mask,
+ const Color& transparent_color,
+ const std::string& filename)
+{
+ GdkBitmap* bitmap = 0;
+
+ GdkPixmap *const pixmap = gdk_pixmap_colormap_create_from_xpm(
+ const_cast<GdkDrawable*>(Glib::unwrap<Drawable>(drawable)),
+ Glib::unwrap(colormap), &bitmap,
+ const_cast<GdkColor*>(transparent_color.gobj()),
+ const_cast<char*>(filename.c_str()));
+
+ mask = Glib::RefPtr<Bitmap>::cast_dynamic(Glib::wrap((GdkPixmapObject*) bitmap));
+ return Glib::wrap((GdkPixmapObject*) pixmap);
+}
+
+
+Glib::RefPtr<Pixmap> Pixmap::create_from_xpm(const Glib::RefPtr<const Drawable>& drawable,
+ Glib::RefPtr<Bitmap>& mask,
+ const Color& transparent_color,
+ const char* const* data)
+{
+ GdkBitmap* bitmap = 0;
+
+ GdkPixmap *const pixmap = gdk_pixmap_create_from_xpm_d(
+ const_cast<GdkDrawable*>(Glib::unwrap<Drawable>(drawable)),
+ &bitmap,
+ const_cast<GdkColor*>(transparent_color.gobj()),
+ const_cast<char**>(data));
+
+ mask = Glib::RefPtr<Bitmap>::cast_dynamic(Glib::wrap((GdkPixmapObject*) bitmap));
+ return Glib::wrap((GdkPixmapObject*) pixmap);
+}
+
+Glib::RefPtr<Pixmap> Pixmap::create_from_xpm(const Glib::RefPtr<const Drawable>& drawable,
+ const Glib::RefPtr<Colormap>& colormap,
+ Glib::RefPtr<Bitmap>& mask,
+ const Color& transparent_color,
+ const char* const* data)
+{
+ GdkBitmap* bitmap = 0;
+
+ GdkPixmap *const pixmap = gdk_pixmap_colormap_create_from_xpm_d(
+ const_cast<GdkDrawable*>(Glib::unwrap<Drawable>(drawable)),
+ Glib::unwrap(colormap), &bitmap,
+ const_cast<GdkColor*>(transparent_color.gobj()),
+ const_cast<char**>(data));
+
+ mask = Glib::RefPtr<Bitmap>::cast_dynamic(Glib::wrap((GdkPixmapObject*) bitmap));
+ return Glib::wrap((GdkPixmapObject*) pixmap);
+}
+
+Glib::RefPtr<Pixmap> Pixmap::create_from_xpm(const Glib::RefPtr<Colormap>& colormap,
+ Glib::RefPtr<Bitmap>& mask,
+ const Color& transparent_color,
+ const char* const* data)
+{
+ GdkBitmap* bitmap = 0;
+
+ GdkPixmap *const pixmap = gdk_pixmap_colormap_create_from_xpm_d(
+ 0, // drawable
+ Glib::unwrap(colormap), &bitmap,
+ const_cast<GdkColor*>(transparent_color.gobj()),
+ const_cast<char**>(data));
+
+ mask = Glib::RefPtr<Bitmap>::cast_dynamic(Glib::wrap((GdkPixmapObject*) bitmap));
+ return Glib::wrap((GdkPixmapObject*) pixmap);
+}
+
+Glib::RefPtr<Pixmap> Pixmap::create_from_xpm(const Glib::RefPtr<Colormap>& colormap,
+ Glib::RefPtr<Bitmap>& mask,
+ const char* const* data)
+{
+ GdkBitmap* bitmap = 0;
+
+ GdkPixmap *const pixmap = gdk_pixmap_colormap_create_from_xpm_d(
+ 0, // drawable
+ Glib::unwrap(colormap), &bitmap,
+ 0, // transparent_color
+ const_cast<char**>(data));
+
+ mask = Glib::RefPtr<Bitmap>::cast_dynamic(Glib::wrap((GdkPixmapObject*) bitmap));
+ return Glib::wrap((GdkPixmapObject*) pixmap);
+}
+
+} // namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/pixmap.hg b/libs/gtkmm2/gdk/src/pixmap.hg
new file mode 100644
index 0000000000..2d5d3033b0
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/pixmap.hg
@@ -0,0 +1,120 @@
+/* $Id: pixmap.hg,v 1.5 2004/03/10 01:17:36 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdkmm/drawable.h>
+#include <gdkmm/color.h>
+#include <gdkmm/colormap.h>
+#include <gdkmm/types.h>
+
+_DEFS(gdkmm,gdk)
+_PINCLUDE(gdkmm/private/drawable_p.h)
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C" {
+//Custom stuct prototypes, because they aren't what the code-generator expects:
+typedef struct _GdkDrawable GdkPixmap;
+typedef struct _GdkPixmapClass GdkPixmapClass;
+} // extern "C"
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Gdk
+{
+
+class Window;
+
+/** Pixmaps are offscreen drawables. They can be drawn upon with the standard drawing primitives, then copied to another
+ * drawable (such as a Gdk::Window) with Gdk::Drawable::draw_drawable(). The depth of a pixmap is the number of bits per
+ * pixels.
+ * Bitmaps are simply pixmaps with a depth of 1. (That is, they are monochrome bitmaps - each pixel can be either on or off).
+ */
+class Pixmap : public Gdk::Drawable
+{
+ // GdkPixmap is a typedef to GdkDrawable, but it's actually a GdkPixmapObject.
+ _CLASS_GOBJECT(Pixmap,GdkPixmap,GDK_PIXMAP,Gdk::Drawable,GdkDrawable,GdkPixmapObject)
+ _CUSTOM_WRAP_NEW // see wrap_new() implementation in pixmap.ccg
+ _STRUCT_NOT_HIDDEN
+
+protected:
+ _CTOR_DEFAULT()
+
+ Pixmap(const Glib::RefPtr<Drawable>& drawable, int width, int height, int depth = -1);
+
+ /// Initialize a Pixmap from data.
+ Pixmap(const Glib::RefPtr<Drawable>& drawable,
+ const char* data, int width, int height, int depth,
+ const Color& fg, const Color& bg);
+
+ Pixmap(const Glib::RefPtr<Display>& display, NativeWindow anid);
+
+public:
+
+ _WRAP_CREATE(const Glib::RefPtr<Drawable>& drawable, int width, int height, int depth = -1)
+ _WRAP_CREATE(const Glib::RefPtr<Drawable>& drawable, const char* data, int width, int height, int depth, const Color& fg, const Color& bg)
+
+ _WRAP_CREATE(const Glib::RefPtr<Display>& display, NativeWindow anid)
+ _IGNORE(gdk_pixmap_foreign_new_for_display)
+
+ static Glib::RefPtr<Pixmap> create_from_data(const Glib::RefPtr<const Drawable>& drawable,
+ const char* data, int width, int height, int depth,
+ const Color& fg, const Color& bg);
+
+ /// Create a Pixmap from a xpm file.
+ static Glib::RefPtr<Pixmap> create_from_xpm(const Glib::RefPtr<const Drawable>& drawable,
+ const Color& transparent_color,
+ const std::string& filename);
+
+ // Create a Pixmap from a xpm file.
+ static Glib::RefPtr<Pixmap> create_from_xpm(const Glib::RefPtr<const Drawable>& drawable,
+ Glib::RefPtr<Bitmap>& mask,
+ const Color& transparent_color,
+ const std::string& filename);
+
+ /// Create a Pixmap from a xpm file with colormap.
+ static Glib::RefPtr<Pixmap> create_from_xpm(const Glib::RefPtr<const Drawable>& drawable,
+ const Glib::RefPtr<Colormap>& colormap,
+ Glib::RefPtr<Bitmap>& mask,
+ const Color& transparent_color,
+ const std::string& filename);
+
+ static Glib::RefPtr<Pixmap> create_from_xpm(const Glib::RefPtr<const Drawable>& drawable,
+ Glib::RefPtr<Bitmap>& mask,
+ const Color& transparent_color,
+ const char* const* data);
+
+ static Glib::RefPtr<Pixmap> create_from_xpm(const Glib::RefPtr<const Drawable>& drawable,
+ const Glib::RefPtr<Colormap>& colormap,
+ Glib::RefPtr<Bitmap>& mask,
+ const Color& transparent_color,
+ const char* const* data);
+
+ static Glib::RefPtr<Pixmap> create_from_xpm(const Glib::RefPtr<Colormap>& colormap,
+ Glib::RefPtr<Bitmap>& mask,
+ const Color& transparent_color,
+ const char* const* data);
+
+ static Glib::RefPtr<Pixmap> create_from_xpm(const Glib::RefPtr<Colormap>& colormap,
+ Glib::RefPtr<Bitmap>& mask,
+ const char* const* data);
+
+
+};
+
+} // namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/rectangle.ccg b/libs/gtkmm2/gdk/src/rectangle.ccg
new file mode 100644
index 0000000000..ec00dc38bf
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/rectangle.ccg
@@ -0,0 +1,65 @@
+// -*- c++ -*-
+/* $Id: rectangle.ccg,v 1.1 2003/01/21 13:38:38 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+namespace Gdk
+{
+
+Rectangle::Rectangle(int x, int y, int width, int height)
+{
+ gobject_.x = x;
+ gobject_.y = y;
+ gobject_.width = width;
+ gobject_.height = height;
+}
+
+// gdk_rectangle_union() and gdk_rectangle_intersect() work fine even if
+// the destination points to one of the input rectangles. The join() and
+// intersect() implementations rely on this ability.
+
+Rectangle& Rectangle::join(const Rectangle& src2)
+{
+ gdk_rectangle_union(
+ &gobject_, const_cast<GdkRectangle*>(&src2.gobject_), &gobject_);
+ return *this;
+}
+
+Rectangle& Rectangle::intersect(const Rectangle& src2)
+{
+ gdk_rectangle_intersect(
+ &gobject_, const_cast<GdkRectangle*>(&src2.gobject_), &gobject_);
+ return *this;
+}
+
+Rectangle& Rectangle::intersect(const Rectangle& src2, bool& rectangles_intersect)
+{
+ rectangles_intersect = gdk_rectangle_intersect(
+ &gobject_, const_cast<GdkRectangle*>(&src2.gobject_), &gobject_);
+ return *this;
+}
+
+bool Rectangle::has_zero_area() const
+{
+ return (gobject_.width == 0 || gobject_.height == 0);
+}
+
+} // namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/rectangle.hg b/libs/gtkmm2/gdk/src/rectangle.hg
new file mode 100644
index 0000000000..543e99cbbb
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/rectangle.hg
@@ -0,0 +1,57 @@
+/* $Id: rectangle.hg,v 1.2 2004/01/05 17:32:12 murrayc Exp $ */
+
+/* rectangle.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdk/gdk.h>
+
+_DEFS(gdkmm,gdk)
+
+namespace Gdk
+{
+
+/** Gdk::Rectangle is a structure holding the position and size of a rectangle.
+ * The intersection of two rectangles can be computed with intersect(). To find the union of two rectangles use union().
+ */
+class Rectangle
+{
+ _CLASS_BOXEDTYPE_STATIC(Rectangle, GdkRectangle)
+public:
+//_CUSTOM_DEFAULT_CTOR
+//Rectangle();
+ Rectangle(int x, int y, int width, int height);
+
+ Rectangle& join(const Rectangle& src2);
+ Rectangle& intersect(const Rectangle& src2);
+ Rectangle& intersect(const Rectangle& src2, bool& rectangles_intersect);
+
+ bool has_zero_area() const;
+
+ _MEMBER_GET(x, x, int, int)
+ _MEMBER_SET(x, x, int, int)
+ _MEMBER_GET(y, y, int, int)
+ _MEMBER_SET(y, y, int, int)
+ _MEMBER_GET(width, width, int, int)
+ _MEMBER_SET(width, width, int, int)
+ _MEMBER_GET(height, height, int, int)
+ _MEMBER_SET(height, height, int, int)
+};
+
+} // namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/region.ccg b/libs/gtkmm2/gdk/src/region.ccg
new file mode 100644
index 0000000000..3be7cc52d8
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/region.ccg
@@ -0,0 +1,60 @@
+// -*- c++ -*-
+/* $Id: region.ccg,v 1.1 2003/01/21 13:38:38 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdk/gdkregion.h>
+
+namespace Gdk
+{
+
+Region::Region(const Glib::ArrayHandle<Gdk::Point>& points, FillRule fill_rule)
+:
+ // The dangerous-looking cast to GdkPoint* works, because Gdk::Point
+ // has only one member variable of type GdkPoint, and no vtable. Please
+ // don't copy this code, casts like that won't work with most other types.
+
+ gobject_ (gdk_region_polygon(
+ reinterpret_cast<GdkPoint*>(const_cast<Gdk::Point*>(points.data())),
+ points.size(), (GdkFillRule)(fill_rule)))
+{}
+
+Region::Region(const Rectangle& rectangle)
+:
+ gobject_ (gdk_region_rectangle(const_cast<GdkRectangle*>(rectangle.gobj())))
+{}
+
+Glib::ArrayHandle<Rectangle> Region::get_rectangles() const
+{
+ GdkRectangle* rectangles = 0;
+ int n_rectangles = 0;
+
+ gdk_region_get_rectangles(gobject_, &rectangles, &n_rectangles);
+
+ // The dangerous-looking cast to Rectangle* works, because Gdk::Rectangle
+ // has only one member variable of type GdkRectangle, and no vtable. Please
+ // don't copy this code, casts like that won't work with most other types.
+
+ return Glib::ArrayHandle<Rectangle>(
+ reinterpret_cast<Rectangle*>(rectangles), n_rectangles, Glib::OWNERSHIP_SHALLOW);
+}
+
+} // namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/region.hg b/libs/gtkmm2/gdk/src/region.hg
new file mode 100644
index 0000000000..8d02365df8
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/region.hg
@@ -0,0 +1,73 @@
+/* $Id: region.hg,v 1.3 2004/02/03 11:06:48 murrayc Exp $ */
+
+/* region.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+extern "C" { typedef struct _GdkRegion GdkRegion; }
+
+#include <glibmm/arrayhandle.h>
+#include <gdkmm/types.h>
+#include <gdkmm/rectangle.h>
+
+_DEFS(gdkmm,gdk)
+
+namespace Gdk
+{
+
+_CC_INCLUDE(gdk/gdkenumtypes.h)
+_WRAP_ENUM(FillRule, GdkFillRule)
+_WRAP_ENUM(OverlapType, GdkOverlapType)
+
+
+/** This is an opaque data type holding a set of arbitrary pixels, and is usually used for clipping graphical operations
+ * (see Gdk::GC::set_clip_region()).
+ */
+class Region
+{
+ _CLASS_OPAQUE_COPYABLE(Region, GdkRegion, gdk_region_new, gdk_region_copy, gdk_region_destroy)
+ _IGNORE(gdk_region_copy, gdk_region_destroy, gdk_region_get_rectangles, gdk_region_equal)
+
+public:
+
+ Region(const Glib::ArrayHandle<Gdk::Point>& points, FillRule fill_rule);
+ explicit Region(const Rectangle& rectangle);
+
+ _WRAP_METHOD(void get_clipbox(const Rectangle& rectangle), gdk_region_get_clipbox)
+ Glib::ArrayHandle<Rectangle> get_rectangles() const;
+
+ _WRAP_METHOD(bool empty(), gdk_region_empty)
+ _WRAP_METHOD(bool point_in(int x, int y), gdk_region_point_in)
+ _WRAP_METHOD(OverlapType rect_in(const Rectangle& rect), gdk_region_rect_in)
+
+ _WRAP_METHOD(void offset(int dx, int dy), gdk_region_offset)
+ _WRAP_METHOD(void shrink(int dx, int dy), gdk_region_shrink)
+ _WRAP_METHOD(void union_with_rect(const Rectangle& rect), gdk_region_union_with_rect)
+ _WRAP_METHOD(void intersect(const Region& source2), gdk_region_intersect)
+ _WRAP_METHOD(void union_(const Region& source2), gdk_region_union) //union is a keyword.
+ _WRAP_METHOD(void subtract(const Region& source2), gdk_region_subtract)
+ _WRAP_METHOD(void xor_(const Region& source2), gdk_region_xor) //xor is a keyword
+ _WRAP_METHOD(void spans_intersect_foreach(GdkSpan* spans, int n_spans, bool sorted, GdkSpanFunc function, gpointer data), gdk_region_spans_intersect_foreach)
+
+#m4begin
+ _WRAP_EQUAL(gdk_region_equal, unconst)
+#m4end
+};
+
+} //namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/rgbcmap.ccg b/libs/gtkmm2/gdk/src/rgbcmap.ccg
new file mode 100644
index 0000000000..3381910bda
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/rgbcmap.ccg
@@ -0,0 +1,54 @@
+// -*- c++ -*-
+/* $Id: rgbcmap.ccg,v 1.1 2003/01/21 13:38:38 murrayc Exp $ */
+
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/utility.h>
+#include <gdk/gdkrgb.h>
+
+namespace Gdk
+{
+
+RgbCmap::RgbCmap(const Glib::ArrayHandle<guint32>& colors)
+: gobject_ (gdk_rgb_cmap_new(const_cast<guint32*>(colors.data()), colors.size()))
+{}
+
+RgbCmap::~RgbCmap()
+{
+ if(gobject_)
+ gdk_rgb_cmap_free(gobject_);
+}
+
+guint32& RgbCmap::operator[](unsigned long index)
+{
+ return gobject_->colors[index];
+}
+
+const guint32& RgbCmap::operator[](unsigned long index) const
+{
+ return gobject_->colors[index];
+}
+
+
+unsigned long RgbCmap::size() const
+{
+ return gobject_->n_colors;
+}
+
+} // namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/rgbcmap.hg b/libs/gtkmm2/gdk/src/rgbcmap.hg
new file mode 100644
index 0000000000..ee4c8c2f8c
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/rgbcmap.hg
@@ -0,0 +1,65 @@
+/* $Id: rgbcmap.hg,v 1.2 2003/12/14 11:54:01 murrayc Exp $ */
+
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(gdkmm,gdk)
+
+#include <gdkmmconfig.h>
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C" { typedef struct _GdkRgbCmap GdkRgbCmap; }
+#endif
+
+namespace Gdk
+{
+
+class RgbCmap
+{
+ _CLASS_GENERIC(RgbCmap, GdkRgbCmap)
+ _IGNORE(gdk_rgb_cmap_new, gdk_rgb_cmap_free)
+
+public:
+ explicit RgbCmap(const Glib::ArrayHandle<guint32>& colors);
+ virtual ~RgbCmap();
+
+ ///Number of colors.
+ unsigned long size() const;
+
+ ///Access the colors.
+ guint32& operator[](unsigned long index);
+
+ ///Access the colors.
+ const guint32& operator[](unsigned long index) const;
+
+ /// Provides access to the underlying C GObject.
+ GdkRgbCmap* gobj() { return gobject_; }
+ /// Provides access to the underlying C GObject.
+ const GdkRgbCmap* gobj() const { return gobject_; }
+
+protected:
+ GdkRgbCmap* gobject_;
+
+private:
+ // noncopyable
+ RgbCmap(const RgbCmap&);
+ RgbCmap& operator=(const RgbCmap&);
+};
+
+} // namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/screen.ccg b/libs/gtkmm2/gdk/src/screen.ccg
new file mode 100644
index 0000000000..2e2b06e976
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/screen.ccg
@@ -0,0 +1,34 @@
+// -*- c++ -*-
+/* $Id: screen.ccg,v 1.1 2003/01/21 13:38:38 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdkmm/display.h>
+#include <gdkmm/visual.h>
+#include <gdkmm/window.h>
+#include <gdkmm/rectangle.h>
+#include <gdk/gdkscreen.h>
+
+namespace Gdk
+{
+
+} //Gdk
+
+
diff --git a/libs/gtkmm2/gdk/src/screen.hg b/libs/gtkmm2/gdk/src/screen.hg
new file mode 100644
index 0000000000..69d6f02fe3
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/screen.hg
@@ -0,0 +1,142 @@
+/* $Id: screen.hg,v 1.8 2006/06/10 15:26:24 murrayc Exp $ */
+
+/* screen.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+//#include <gdkmm/visual.h>
+//#include <gdkmm/window.h>
+#include <gdkmm/rectangle.h>
+#include <glibmm/object.h>
+#include <cairomm/fontoptions.h>
+_DEFS(gdkmm,gdk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Gdk
+{
+
+class Display;
+class Colormap;
+class Visual;
+class Window;
+
+/** Object representing a physical screen
+ * Gdk::Screen objects are the GDK representation of a physical screen. It is used throughout GDK and GTK+ to specify
+ * which screen the top level windows are to be displayed on. It is also used to query the screen specification and
+ * default settings such as the default colormap (get_default_colormap()), the screen width (get_width()), etc.
+ * Note that a screen may consist of multiple monitors which are merged to form a large screen area.
+ */
+class Screen : public Glib::Object
+{
+ _CLASS_GOBJECT(Screen,GdkScreen,GDK_SCREEN,Glib::Object,GObject)
+protected:
+
+public:
+ _WRAP_METHOD(Glib::RefPtr<Colormap> get_default_colormap(), gdk_screen_get_default_colormap, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Colormap> get_default_colormap() const, gdk_screen_get_default_colormap, refreturn, constversion)
+
+ _WRAP_METHOD(void set_default_colormap(const Glib::RefPtr<const Colormap>& colormap), gdk_screen_set_default_colormap)
+ _WRAP_METHOD(Glib::RefPtr<Colormap> get_system_colormap(), gdk_screen_get_system_colormap, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Colormap> get_system_colormap() const, gdk_screen_get_system_colormap, refreturn, constversion)
+
+ _WRAP_METHOD(Glib::RefPtr<Visual> get_system_visual(), gdk_screen_get_system_visual, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Visual> get_system_visual() const, gdk_screen_get_system_visual, refreturn, constversion)
+
+ _WRAP_METHOD(Glib::RefPtr<Colormap> get_rgb_colormap(), gdk_screen_get_rgb_colormap, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Colormap> get_rgb_colormap() const, gdk_screen_get_rgb_colormap, refreturn, constversion)
+
+ _WRAP_METHOD(Glib::RefPtr<Visual> get_rgb_visual(), gdk_screen_get_rgb_visual, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Visual> get_rgb_visual() const, gdk_screen_get_rgb_visual, refreturn, constversion)
+
+ _WRAP_METHOD(Glib::RefPtr<Colormap> get_rgba_colormap(), gdk_screen_get_rgba_colormap, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Colormap> get_rgba_colormap() const, gdk_screen_get_rgba_colormap, refreturn, constversion)
+
+ _WRAP_METHOD(Glib::RefPtr<Visual> get_rgba_visual(), gdk_screen_get_rgba_visual, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Visual> get_rgba_visual() const, gdk_screen_get_rgba_visual, refreturn, constversion)
+
+ _WRAP_METHOD(bool is_composited() const, gdk_screen_is_composited)
+
+ _WRAP_METHOD(Glib::RefPtr<Window> get_root_window(), gdk_screen_get_root_window, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Window> get_root_window() const, gdk_screen_get_root_window, refreturn, constversion)
+
+ _WRAP_METHOD(Glib::RefPtr<Display> get_display(), gdk_screen_get_display, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Display> get_display() const, gdk_screen_get_display, refreturn, constversion)
+
+ _WRAP_METHOD(int get_number() const, gdk_screen_get_number)
+ _WRAP_METHOD(int get_width() const, gdk_screen_get_width)
+ _WRAP_METHOD(int get_height() const, gdk_screen_get_height)
+ _WRAP_METHOD(int get_width_mm() const, gdk_screen_get_width_mm)
+ _WRAP_METHOD(int get_height_mm() const, gdk_screen_get_height_mm)
+
+#m4 _CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<Visual> >',`$2($3, Glib::OWNERSHIP_SHALLOW)')
+ _WRAP_METHOD(Glib::ListHandle< Glib::RefPtr<Visual> > list_visuals(), gdk_screen_list_visuals)
+
+#m4 _CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<Window> >',`$2($3, Glib::OWNERSHIP_SHALLOW)')
+ _WRAP_METHOD(Glib::ListHandle< Glib::RefPtr<Window> > get_toplevel_windows(), gdk_screen_get_toplevel_windows)
+
+ _WRAP_METHOD(Glib::ustring make_display_name(), gdk_screen_make_display_name)
+
+ _WRAP_METHOD(int get_n_monitors() const, gdk_screen_get_n_monitors)
+ _WRAP_METHOD(void get_monitor_geometry(int monitor_num, Rectangle& dest) const, gdk_screen_get_monitor_geometry)
+ _WRAP_METHOD(int get_monitor_at_point(int x, int y) const, gdk_screen_get_monitor_at_point)
+ _WRAP_METHOD(int get_monitor_at_window(const Glib::RefPtr<Window>& window) const, gdk_screen_get_monitor_at_window)
+
+ _WRAP_METHOD(void broadcast_client_message(GdkEvent* event), gdk_screen_broadcast_client_message)
+
+ _WRAP_METHOD(static Glib::RefPtr<Screen> get_default(), gdk_screen_get_default, refreturn)
+
+ template <class ValueType>
+ bool get_setting(const Glib::ustring& name, ValueType& value) const;
+ _IGNORE(gdk_screen_get_setting)
+
+ _WRAP_METHOD(void set_font_options(const Cairo::FontOptions& options), gdk_screen_set_font_options)
+
+ // Note: This returns a const, so we assume that we must copy it:
+ #m4 _CONVERSION(`const cairo_font_options_t*', `Cairo::FontOptions', `Cairo::FontOptions(const_cast<cairo_font_options_t*>($3), true /* take_reference */)')
+ _WRAP_METHOD(Cairo::FontOptions get_font_options() const, gdk_screen_get_font_options)
+
+ _WRAP_METHOD(void set_resolution(double dpi), gdk_screen_set_resolution)
+ _WRAP_METHOD(double get_resolution() const, gdk_screen_get_resolution)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Window> get_active_window(), gdk_screen_get_active_window, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Gdk::Window> get_active_window() const, gdk_screen_get_active_window, refreturn, constversion)
+
+#m4 _CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<Window> >',`$2($3, Glib::OWNERSHIP_DEEP)')
+ _WRAP_METHOD(Glib::ListHandle< Glib::RefPtr<Window> > get_window_stack(), gdk_screen_get_window_stack)
+
+ /** The size_changed signal is emitted when the pixel width or
+ * height of a screen changes.
+ */
+ _WRAP_SIGNAL(void size_changed(), size-changed)
+};
+
+template <class ValueType>
+bool Screen::get_setting(const Glib::ustring& name, ValueType& value) const
+{
+ Glib::Value<ValueType> glibmmvalue;
+ glibmmvalue.init(Glib::Value<ValueType>::value_type());
+
+ gboolean result = gdk_screen_get_setting(const_cast<GdkScreen*>(gobj()), name.c_str(), glibmmvalue.gobj());
+
+ value = glibmmvalue.get();
+ return result;
+}
+
+} /* namespace Gdk */
+
diff --git a/libs/gtkmm2/gdk/src/types.ccg b/libs/gtkmm2/gdk/src/types.ccg
new file mode 100644
index 0000000000..012dc87919
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/types.ccg
@@ -0,0 +1,73 @@
+// -*- c++ -*-
+/* $Id: types.ccg,v 1.3 2004/02/10 17:29:54 mxpxpod Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+namespace Gdk
+{
+
+Point::Point()
+{
+ gobject_.x = 0;
+ gobject_.y = 0;
+}
+
+Point::Point(int x, int y)
+{
+ gobject_.x = x;
+ gobject_.y = y;
+}
+
+bool Point::equal(const Gdk::Point& rhs) const
+{
+ return (gobject_.x == rhs.gobject_.x) && (gobject_.y == rhs.gobject_.y);
+}
+
+// static
+GdkAtom AtomStringTraits::to_c_type(const std::string& atom_name)
+{
+ return gdk_atom_intern(atom_name.c_str(), 0);
+}
+
+// static
+std::string AtomStringTraits::to_cpp_type(GdkAtom atom)
+{
+ if(char *const atom_name = gdk_atom_name(atom))
+ return std::string(Glib::ScopedPtr<char>(atom_name).get());
+ else
+ return std::string();
+}
+
+} // namespace Gdk
+
+
+namespace Glib
+{
+
+Gdk::Point& wrap(GdkPoint* object)
+{
+ return *reinterpret_cast<Gdk::Point*>(object);
+}
+
+const Gdk::Point& wrap(const GdkPoint* object)
+{
+ return *reinterpret_cast<const Gdk::Point*>(object);
+}
+
+} // namespace Glib
+
diff --git a/libs/gtkmm2/gdk/src/types.hg b/libs/gtkmm2/gdk/src/types.hg
new file mode 100644
index 0000000000..b0f688fb94
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/types.hg
@@ -0,0 +1,147 @@
+/* $Id: types.hg,v 1.6 2005/12/14 15:36:23 murrayc Exp $ */
+
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(gdkmm,gdk)
+
+#include <gdk/gdk.h>
+#include <gdkmmconfig.h>
+
+/* Shadow ERROR macro (from wingdi.h).
+ */
+#if defined(ERROR) && !defined(GTKMM_MACRO_SHADOW_ERROR)
+enum { GTKMM_MACRO_DEFINITION_ERROR = ERROR };
+#undef ERROR
+enum { ERROR = GTKMM_MACRO_DEFINITION_ERROR };
+#define ERROR ERROR
+#define GTKMM_MACRO_SHADOW_ERROR 1
+#endif
+
+/*********************************************************************
+***** Version macros
+*********************************************************************/
+
+/* macro for controlling version numbers */
+#ifndef _GDK_VERSION
+
+#define GDK_VERSION_GT(major,minor) ((GTK_MAJOR_VERSION>major)||(GTK_MAJOR_VERSION==major)&&(GTK_MINOR_VERSION>minor))
+#define GDK_VERSION_GE(major,minor) ((GTK_MAJOR_VERSION>major)||(GTK_MAJOR_VERSION==major)&&(GTK_MINOR_VERSION>=minor))
+#define GDK_VERSION_EQ(major,minor) ((GTK_MAJOR_VERSION==major)&&(GTK_MINOR_VERSION==minor))
+#define GDK_VERSION_NE(major,minor) ((GTK_MAJOR_VERSION!=major)||(GTK_MINOR_VERSION!=minor))
+#define GDK_VERSION_LE(major,minor) ((GTK_MAJOR_VERSION<major)||(GTK_MAJOR_VERSION==major)&&(GTK_MINOR_VERSION<=minor))
+#define GDK_VERSION_LT(major,minor) ((GTK_MAJOR_VERSION<major)||(GTK_MAJOR_VERSION==major)&&(GTK_MINOR_VERSION<minor))
+
+//Note: Use GTK_CHECK_VERSION to check that a version is equal or more than (the micro version).
+
+#endif /* _GDK_VERSION */
+
+namespace Gdk
+{
+
+class Bitmap;
+class Colormap;
+class Pixmap;
+class Window;
+class Font;
+class GC;
+class Color;
+class Image;
+
+_CC_INCLUDE(gdk/gdkenumtypes.h)
+_WRAP_ENUM(ByteOrder, GdkByteOrder)
+_WRAP_ENUM(ModifierType, GdkModifierType)
+_WRAP_ENUM(Status, GdkStatus)
+_WRAP_ENUM(InputCondition, GdkInputCondition)
+
+typedef GdkGeometry Geometry; //It's not used enough to justify having a wrapper.
+typedef GdkNativeWindow NativeWindow;
+
+/** This is a simple structure containing an x and y coordinate of a point.
+ */
+class Point
+{
+ _CLASS_GENERIC(Point, GdkPoint)
+
+public:
+ Point();
+ Point(int x, int y);
+
+ void set_x(int x) { gobject_.x = x; }
+ void set_y(int y) { gobject_.y = y; }
+
+ int get_x() const { return gobject_.x; }
+ int get_y() const { return gobject_.y; }
+
+ bool equal(const Gdk::Point& rhs) const;
+
+ /// Provides access to the underlying C GObject.
+ GdkPoint* gobj() { return &gobject_; }
+ /// Provides access to the underlying C GObject.
+ const GdkPoint* gobj() const { return &gobject_; }
+
+protected:
+ GdkPoint gobject_;
+};
+
+/** @relates Gdk::Point */
+inline bool operator==(const Point& lhs, const Point& rhs)
+ { return lhs.equal(rhs); }
+
+/** @relates Gdk::Point */
+inline bool operator!=(const Point& lhs, const Point& rhs)
+ { return !lhs.equal(rhs); }
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+struct AtomStringTraits
+{
+ typedef std::string CppType;
+ typedef GdkAtom CType;
+ typedef GdkAtom CTypeNonConst;
+
+ static GdkAtom to_c_type(GdkAtom atom) { return atom; }
+ static void release_c_type(GdkAtom) {}
+
+ // These aren't worth to be inlined since doing so
+ // would expose way too much of the implementation.
+ static GdkAtom to_c_type (const std::string& atom_name);
+ static std::string to_cpp_type(GdkAtom atom);
+};
+
+// I'm typedef'ing this because when we call to_c_type or to_c_type,
+// we don't want it to look like we're calling a template trait, but
+// a utility function. -Bryan
+typedef AtomStringTraits AtomString;
+#endif //DOXYGEN_SHOULD_SKIP_THIS
+
+typedef Glib::ArrayHandle<std::string,AtomStringTraits> ArrayHandle_AtomString;
+typedef Glib::ListHandle<std::string,AtomStringTraits> ListHandle_AtomString;
+
+} // namespace Gdk
+
+
+namespace Glib
+{
+
+/** @relates Gdk::Point */
+Gdk::Point& wrap(GdkPoint* object);
+
+/** @relates Gdk::Point */
+const Gdk::Point& wrap(const GdkPoint* object);
+
+} // namespace Glib
+
diff --git a/libs/libglademm/libglademm/init.h b/libs/gtkmm2/gdk/src/visual.ccg
index 8924769150..0d783ef5c1 100644
--- a/libs/libglademm/libglademm/init.h
+++ b/libs/gtkmm2/gdk/src/visual.ccg
@@ -1,11 +1,9 @@
// -*- c++ -*-
-#ifndef _LIBGLADEMM_INIT_H
-#define _LIBGLADEMM_INIT_H
-/* $Id$ */
+/* $Id: visual.ccg,v 1.1 2003/01/21 13:38:39 murrayc Exp $ */
-/* init.h
+/*
*
- * Copyright 2001 Free Software Foundation
+ * Copyright 1998-2002 The gtkmm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -22,17 +20,12 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+#include <gdk/gdkvisual.h>
-namespace Gnome
+namespace Gdk
{
-namespace Glade
-{
-
-
-} /* namespace Glade */
-} //namespace Gnome
-#endif //_LIBGLADEMM_INIT_H
+} //namespace
diff --git a/libs/gtkmm2/gdk/src/visual.hg b/libs/gtkmm2/gdk/src/visual.hg
new file mode 100644
index 0000000000..e4d8b07ac8
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/visual.hg
@@ -0,0 +1,82 @@
+/* $Id: visual.hg,v 1.4 2006/04/12 11:11:24 murrayc Exp $ */
+
+/* bitmap.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/object.h>
+#include <gdkmm/screen.h>
+#include <gdk/gdkvisual.h>
+
+_DEFS(gdkmm,gdk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Gdk
+{
+
+class Screen;
+
+_CC_INCLUDE(gdk/gdkenumtypes.h)
+_WRAP_ENUM(VisualType, GdkVisualType)
+
+/** A Gdk::Visual describes a particular video hardware display format.
+ * It includes information about the number of bits used for each color, the way the bits are translated into an RGB value
+ * for display, and the way the bits are stored in memory. For example, a piece of display hardware might support 24-bit
+ * color, 16-bit color, or 8-bit color; meaning 24/16/8-bit pixel sizes. For a given pixel size, pixels can be in different
+ * formats; for example the "red" element of an RGB pixel may be in the top 8 bits of the pixel, or may be in the lower 4
+ * bits.
+ *
+ * Usually you can avoid thinking about visuals in GTK+. Visuals are useful to interpret the contents of a GdkImage, but
+ * you should avoid Gdk::Image precisely because its contents depend on the display hardware; use Gdk::Pixbuf instead, for
+ * all but the most low-level purposes. Also, anytime you provide a Gdk::Colormap, the visual is implied as part of the
+ * colormap (Gdk::Colormap::get_visual()), so you won't have to provide a visual in addition.
+ *
+ * There are several standard visuals. The visual returned by get_system() is the system's default visual. get_visual()
+ * returns the visual most suited to displaying full-color image data. If you use the calls in Gdk::RGB, you should create
+ * your windows using this visual (and the colormap returned by Gdk::Rgb::get_colormap()).
+ *
+ * A number of methods are provided for determining the "best" available visual. For the purposes of making this
+ * determination, higher bit depths are considered better, and for visuals of the same bit depth, GDK_VISUAL_PSEUDO_COLOR
+ * is preferred at 8bpp, otherwise, the visual types are ranked in the order of (highest to lowest) GDK_VISUAL_DIRECT_COLOR,
+ * GDK_VISUAL_TRUE_COLOR, GDK_VISUAL_PSEUDO_COLOR, GDK_VISUAL_STATIC_COLOR, GDK_VISUAL_GRAYSCALE, then
+ * GDK_VISUAL_STATIC_GRAY.
+ */
+class Visual : public Glib::Object
+{
+ _CLASS_GOBJECT(Visual,GdkVisual,GDK_VISUAL,Glib::Object,GObject)
+protected:
+
+ _CTOR_DEFAULT
+
+public:
+ _WRAP_METHOD(static Glib::RefPtr<Visual> get_system(), gdk_visual_get_system, refreturn)
+ _WRAP_METHOD(static Glib::RefPtr<Visual> get_best(), gdk_visual_get_best, refreturn)
+ _WRAP_METHOD(static Glib::RefPtr<Visual> get_best(int depth), gdk_visual_get_best_with_depth, refreturn)
+ _WRAP_METHOD(static Glib::RefPtr<Visual> get_best(VisualType visual_type), gdk_visual_get_best_with_type, refreturn)
+ _WRAP_METHOD(static Glib::RefPtr<Visual> get_best(int depth, VisualType visual_type), gdk_visual_get_best_with_both, refreturn)
+
+ _WRAP_METHOD(static int get_best_depth(), gdk_visual_get_best_depth)
+ _WRAP_METHOD(static VisualType get_best_type(), gdk_visual_get_best_type)
+
+ _WRAP_METHOD(Glib::RefPtr<Screen> get_screen(), gdk_visual_get_screen, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Screen> get_screen() const, gdk_visual_get_screen, refreturn, constversion)
+};
+
+} //namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/window.ccg b/libs/gtkmm2/gdk/src/window.ccg
new file mode 100644
index 0000000000..20bb2df623
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/window.ccg
@@ -0,0 +1,81 @@
+// -*- c++ -*-
+/* $Id: window.ccg,v 1.7 2004/03/09 17:36:25 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdk/gdkwindow.h>
+#include <gdkmm/pixmap.h>
+#include <gdkmm/cursor.h>
+#include <gdkmm/types.h>
+
+
+namespace Gdk
+{
+
+Window::Window(const Glib::RefPtr<Window>& parent, GdkWindowAttr* attributes, int attributes_mask)
+:
+ Drawable((GdkDrawable*) gdk_window_new(parent->gobj(), attributes, attributes_mask))
+{
+ //GdkWindow is X11/win32-specific, so we probably can't derived our own GType.
+}
+
+void Window::set_cursor()
+{
+ gdk_window_set_cursor(gobj(), 0);
+}
+
+GrabStatus Window::pointer_grab(bool owner_events, EventMask event_mask, const Cursor& cursor, guint32 timestamp)
+{
+ return ((GrabStatus)(gdk_pointer_grab(gobj(), static_cast<int>(owner_events), ((GdkEventMask)(event_mask)), 0, (cursor).gobj_copy(), timestamp)));
+}
+
+GrabStatus Window::pointer_grab(bool owner_events, EventMask event_mask, guint32 timestamp)
+{
+ return ((GrabStatus)(gdk_pointer_grab(gobj(), static_cast<int>(owner_events), ((GdkEventMask)(event_mask)), 0, 0, timestamp)));
+}
+
+//static
+void Window::unset_sm_client_id()
+{
+ gdk_set_sm_client_id(0 /* see GDK docs */);
+}
+
+void Window::set_icon(const Glib::RefPtr<Window>& icon_window, const Glib::RefPtr<Pixmap>& pixmap)
+{
+ gdk_window_set_icon(gobj(), icon_window->gobj(), pixmap->gobj(), 0); /* See GDK docs */
+}
+
+void Window::unset_icon()
+{
+ gdk_window_set_icon(gobj(), 0, 0, 0); /* See GDK docs */
+}
+
+void Window::unset_shape_combine_mask()
+{
+ gdk_window_shape_combine_mask(gobj(), 0, 0, 0); //See GDK docs.
+}
+
+void Window::get_internal_paint_info(Glib::RefPtr<Drawable>& real_drawable, int& x_offset, int& y_offset) const
+{
+ GdkDrawable* temp_drawable = 0;
+ gdk_window_get_internal_paint_info(const_cast<GdkWindow*>(gobj()), &temp_drawable, &x_offset, &y_offset);
+ real_drawable = Glib::wrap(temp_drawable);
+}
+
+} // namespace Gdk
+
diff --git a/libs/gtkmm2/gdk/src/window.hg b/libs/gtkmm2/gdk/src/window.hg
new file mode 100644
index 0000000000..5a01169a6f
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/window.hg
@@ -0,0 +1,256 @@
+/* $Id: window.hg,v 1.23 2006/04/12 11:11:24 murrayc Exp $ */
+
+/* Copyright(C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License or(at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not write to the Free
+ * Software Foundation Inc. 675 Mass Ave Cambridge MA 02139 USA.
+ */
+
+#include <gdkmm/drawable.h>
+#include <gdkmm/bitmap.h>
+//#include <gdkmm/cursor.h>
+#include <gdkmm/types.h>
+#include <gdkmm/region.h>
+#include <gdk/gdkwindow.h>
+
+_DEFS(gdkmm,gdk)
+_PINCLUDE(gdkmm/private/drawable_p.h)
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C" {
+// Custom struct prototype, because this isn't what the code-generator expects:
+typedef struct _GdkDrawable GdkWindow;
+} // extern "C"
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Gdk
+{
+
+_CC_INCLUDE(gdk/gdkenumtypes.h)
+_WRAP_ENUM(EventMask, GdkEventMask)
+_WRAP_ENUM(WindowState, GdkWindowState)
+_WRAP_ENUM(WindowType, GdkWindowType)
+_WRAP_ENUM(WindowAttributesType, GdkWindowAttributesType)
+_WRAP_ENUM(WindowHints, GdkWindowHints)
+_WRAP_ENUM(WindowTypeHint, GdkWindowTypeHint)
+_WRAP_ENUM(WMDecoration, GdkWMDecoration)
+_WRAP_ENUM(WMFunction, GdkWMFunction)
+_WRAP_ENUM(WindowEdge, GdkWindowEdge)
+_WRAP_ENUM(Gravity, GdkGravity)
+_WRAP_ENUM(GrabStatus, GdkGrabStatus)
+
+
+class Cursor;
+
+/** A Gdk::Window is a rectangular region on the screen. It's a low-level object, used to implement high-level objects such
+ * as Gtk::Widget and Gtk::Window on the GTK+ level. A Gtk::Window is a toplevel window, the thing a user might think of as
+ * a "window" with a titlebar and so on; a Gtk::Window may contain many Gdk::Windows. For example, each Gtk::Button has a
+ * Gdk::Window associated with it.
+ */
+class Window : public Gdk::Drawable
+{
+ // GdkWindow is a typedef to GdkDrawable, but it's actually a GdkWindowObject.
+ _CLASS_GOBJECT(Window, GdkWindow, GDK_WINDOW_OBJECT, Gdk::Drawable, GdkDrawable, GdkWindowObject)
+ _STRUCT_NOT_HIDDEN
+ _IGNORE(gdk_window_set_hints, gdk_window_destroy, gdk_window_new, gdk_window_get_deskrelative_origin, gdk_window_get_internal_paint_info)
+ _IGNORE(gdk_window_destroy_notify)
+
+
+protected:
+ Window(const Glib::RefPtr<Window>& parent, GdkWindowAttr* attributes, int attributes_mask);
+
+public:
+ _WRAP_CREATE(const Glib::RefPtr<Window>& parent, GdkWindowAttr* attributes, int attributes_mask)
+
+ _WRAP_METHOD(WindowType get_window_type() const, gdk_window_get_window_type)
+ _WRAP_METHOD(void show(), gdk_window_show)
+ _WRAP_METHOD(void hide(), gdk_window_hide)
+ _WRAP_METHOD(void withdraw(), gdk_window_withdraw)
+ _WRAP_METHOD(void show_unraised(), gdk_window_show_unraised)
+ _WRAP_METHOD(void move(int x, int y), gdk_window_move)
+ _WRAP_METHOD(void resize(int width, int height), gdk_window_resize)
+ _WRAP_METHOD(void move_resize(int x, int y, int width, int height), gdk_window_move_resize)
+ _WRAP_METHOD(void reparent(const Glib::RefPtr<Window>& new_parent, int x, int y), gdk_window_reparent)
+ _WRAP_METHOD(void clear(), gdk_window_clear)
+ _WRAP_METHOD(void clear_area(int x, int y, int width, int height), gdk_window_clear_area)
+ _WRAP_METHOD(void clear_area_e(int x, int y, int width, int height), gdk_window_clear_area_e)
+ _WRAP_METHOD(void raise(), gdk_window_raise)
+ _WRAP_METHOD(void lower(), gdk_window_lower)
+ _WRAP_METHOD(void focus(guint32 timestamp), gdk_window_focus)
+ _WRAP_METHOD(void set_user_data(gpointer user_data), gdk_window_set_user_data)
+ _WRAP_METHOD(void set_override_redirect(bool override_redirect = true), gdk_window_set_override_redirect)
+
+ //We could wrap these with a Slot instead of a C callback, but these methods are very low-level anyway.
+ _WRAP_METHOD(void add_filter(GdkFilterFunc function, gpointer data), gdk_window_add_filter)
+ _WRAP_METHOD(void remove_filter(GdkFilterFunc function, gpointer data), gdk_window_remove_filter)
+
+ _WRAP_METHOD(void scroll(int dx, int dy), gdk_window_scroll)
+ _WRAP_METHOD(void move_region(const Region& region, int dx, int dy), gdk_window_move_region)
+
+ _WRAP_METHOD(void shape_combine_mask(const Glib::RefPtr<Bitmap>& mask, int x, int y), gdk_window_shape_combine_mask)
+ void unset_shape_combine_mask();
+
+ _WRAP_METHOD(void shape_combine_region(const Region& shape_region, int offset_x, int offset_y), gdk_window_shape_combine_region)
+ _WRAP_METHOD(void set_child_shapes(), gdk_window_set_child_shapes)
+ _WRAP_METHOD(void set_composited(bool composited = TRUE), gdk_window_set_composited)
+ _WRAP_METHOD(void merge_child_shapes(), gdk_window_merge_child_shapes)
+
+ _WRAP_METHOD(void input_shape_combine_mask(const Glib::RefPtr<Bitmap>& mask, int x, int y), gdk_window_input_shape_combine_mask)
+ _WRAP_METHOD(void input_shape_combine_region (const Region& shape_region, int offset_x, int offset_y), gdk_window_input_shape_combine_region)
+ _WRAP_METHOD(void set_child_input_shapes(), gdk_window_set_child_input_shapes)
+ _WRAP_METHOD(void merge_child_input_shapes(), gdk_window_merge_child_input_shapes)
+
+
+ _WRAP_METHOD(bool is_visible() const, gdk_window_is_visible)
+ _WRAP_METHOD(bool is_viewable() const, gdk_window_is_viewable)
+ _WRAP_METHOD(WindowState get_state() const, gdk_window_get_state)
+ _WRAP_METHOD(bool set_static_gravities(bool use_static = true), gdk_window_set_static_gravities)
+ _WRAP_METHOD(void set_type_hint(WindowTypeHint hint), gdk_window_set_type_hint)
+ _WRAP_METHOD(WindowTypeHint get_type_hint(), gdk_window_get_type_hint)
+ _WRAP_METHOD(void set_modal_hint(bool modal = true), gdk_window_set_modal_hint)
+ _WRAP_METHOD(void set_geometry_hints(const Geometry& geometry, WindowHints geom_mask), gdk_window_set_geometry_hints)
+ _WRAP_METHOD(static void set_sm_client_id(const Glib::ustring& sm_client_id), gdk_set_sm_client_id)
+ static void unset_sm_client_id();
+
+ _WRAP_METHOD(void begin_paint_rect(Rectangle&rectangle), gdk_window_begin_paint_rect)
+ _WRAP_METHOD(void begin_paint_region(const Region& region), gdk_window_begin_paint_region)
+ _WRAP_METHOD(void end_paint(), gdk_window_end_paint)
+ _WRAP_METHOD(void set_title(const Glib::ustring& title), gdk_window_set_title)
+ _WRAP_METHOD(void set_role(const Glib::ustring& role), gdk_window_set_role)
+ _WRAP_METHOD(void set_startup_id(const Glib::ustring& startup_id), gdk_window_set_startup_id)
+ _WRAP_METHOD(void set_transient_for(const Glib::RefPtr<Window>& parent), gdk_window_set_transient_for)
+ _WRAP_METHOD(void set_background(const Color& color), gdk_window_set_background)
+ _WRAP_METHOD(void set_back_pixmap(const Glib::RefPtr<Pixmap>&pixmap, bool parent_relative), gdk_window_set_back_pixmap)
+
+#m4 _CONVERSION(const Cursor&,GdkCursor*,const_cast<GdkCursor*>(($3).gobj()))
+ _WRAP_METHOD(void set_cursor(const Cursor& cursor), gdk_window_set_cursor)
+
+ /** Use the parent window's cursor.
+ * For top-level windows this means that it will use the default cursor for the ROOT window.
+ */
+ void set_cursor();
+
+ _WRAP_METHOD(void get_user_data(gpointer* data), gdk_window_get_user_data)
+ _WRAP_METHOD(void get_geometry(int& x, int& y, int& width, int& height, int& depth) const, gdk_window_get_geometry)
+ _WRAP_METHOD(void get_position(int& x, int& y) const, gdk_window_get_position)
+ _WRAP_METHOD(int get_origin(int& x, int& y) const, gdk_window_get_origin)
+ _IGNORE(gdk_window_get_deskrelative_origin)
+ _WRAP_METHOD(void get_root_origin(int& x, int& y) const, gdk_window_get_root_origin)
+ _WRAP_METHOD(void get_frame_extents(Rectangle& rect), gdk_window_get_frame_extents)
+ _WRAP_METHOD(Glib::RefPtr<Window> get_pointer(int& x, int& y, ModifierType& mask), gdk_window_get_pointer, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<Window> get_parent(), gdk_window_get_parent, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Window> get_parent() const, gdk_window_get_parent, refreturn, constversion)
+ _WRAP_METHOD(Glib::RefPtr<Window> get_toplevel(), gdk_window_get_toplevel, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Window> get_toplevel() const, gdk_window_get_toplevel, refreturn, constversion)
+
+ _WRAP_METHOD(Glib::ListHandle< Glib::RefPtr<Window> > get_children(), gdk_window_get_children)
+ _WRAP_METHOD(Glib::ListHandle< Glib::RefPtr<const Window> > get_children() const, gdk_window_get_children)
+ _IGNORE(gdk_window_peek_children) //gdk_window_peek_children() is the same as gdk_window_get_children() with different memory mangement of the list.
+
+ _WRAP_METHOD(EventMask get_events() const, gdk_window_get_events)
+ _WRAP_METHOD(void set_events(EventMask event_mask), gdk_window_set_events)
+
+ _WRAP_METHOD(void set_icon_list(const Glib::ListHandle< Glib::RefPtr<Gdk::Pixbuf> >& pixbufs), gdk_window_set_icon_list)
+ _WRAP_METHOD(void set_icon(const Glib::RefPtr<Window>& icon_window, const Glib::RefPtr<Pixmap>& pixmap, const Glib::RefPtr<Bitmap>& mask), gdk_window_set_icon)
+ void set_icon(const Glib::RefPtr<Window>& icon_window, const Glib::RefPtr<Pixmap>& pixmap);
+ void unset_icon();
+ _WRAP_METHOD(void set_icon_name(const Glib::ustring& name), gdk_window_set_icon_name)
+
+ _WRAP_METHOD(void set_group(const Glib::RefPtr<Window>& leader), gdk_window_set_group)
+ _WRAP_METHOD(Glib::RefPtr<Window> get_group(), gdk_window_get_group)
+ _WRAP_METHOD(Glib::RefPtr<const Window> get_group() const, gdk_window_get_group, constversion)
+
+ _WRAP_METHOD(void set_decorations(WMDecoration decorations), gdk_window_set_decorations)
+ _WRAP_METHOD(bool get_decorations(WMDecoration& decorations) const, gdk_window_get_decorations)
+ _WRAP_METHOD(void set_functions(WMFunction functions), gdk_window_set_functions)
+
+ _WRAP_METHOD(static Glib::ListHandle< Glib::RefPtr<Window> > get_toplevels(), gdk_window_get_toplevels)
+
+ _WRAP_METHOD(void beep(), gdk_window_beep)
+
+ _WRAP_METHOD(void iconify(), gdk_window_iconify)
+ _WRAP_METHOD(void deiconify(), gdk_window_deiconify)
+ _WRAP_METHOD(void stick(), gdk_window_stick)
+ _WRAP_METHOD(void unstick(), gdk_window_unstick)
+ _WRAP_METHOD(void maximize(), gdk_window_maximize)
+ _WRAP_METHOD(void unmaximize(), gdk_window_unmaximize)
+ _WRAP_METHOD(void register_dnd(), gdk_window_register_dnd)
+ _WRAP_METHOD(void begin_resize_drag(WindowEdge edge, int button, int root_x, int root_y, guint32 timestamp), gdk_window_begin_resize_drag)
+ _WRAP_METHOD(void begin_move_drag(int button, int root_x, int root_y, guint32 timestamp), gdk_window_begin_move_drag)
+ _WRAP_METHOD(void invalidate_rect(const Rectangle& rect, bool invalidate_children), gdk_window_invalidate_rect)
+
+ _WRAP_METHOD(void invalidate_region(const Region& region, bool invalidate_children = true), gdk_window_invalidate_region)
+
+ _WRAP_METHOD(Region get_update_area(), gdk_window_get_update_area)
+ //This method should not have a const version - see the docs.
+
+ _WRAP_METHOD(void freeze_updates(), gdk_window_freeze_updates)
+ _WRAP_METHOD(void thaw_updates(), gdk_window_thaw_updates)
+ _WRAP_METHOD(static void process_all_updates(), gdk_window_process_all_updates)
+ _WRAP_METHOD(void process_updates(bool update_children), gdk_window_process_updates)
+ _WRAP_METHOD(static void set_debug_updates(bool setting = true), gdk_window_set_debug_updates)
+ _WRAP_METHOD(static void constrain_size(const Geometry& geometry, guint flags, int width, int height, int& new_width, int& new_height), gdk_window_constrain_size)
+ void get_internal_paint_info(Glib::RefPtr<Drawable>& real_drawable, int& x_offset, int& y_offset) const;
+
+ _WRAP_METHOD(void enable_synchronized_configure(), gdk_window_enable_synchronized_configure)
+ _WRAP_METHOD(void configure_finished(), gdk_window_configure_finished)
+
+ _WRAP_METHOD(void set_skip_taskbar_hint(bool skips_taskbar = true), gdk_window_set_skip_taskbar_hint)
+ _WRAP_METHOD(void set_skip_pager_hint(bool skips_pager = true), gdk_window_set_skip_pager_hint)
+
+ _WRAP_METHOD(void set_urgency_hint(bool urgent = true), gdk_window_set_urgency_hint)
+
+ _WRAP_METHOD(void fullscreen(), gdk_window_fullscreen)
+ _WRAP_METHOD(void unfullscreen(), gdk_window_unfullscreen)
+
+ _WRAP_METHOD(GrabStatus pointer_grab(bool owner_events, EventMask event_mask, const Glib::RefPtr<const Window>& confine_to, const Cursor& cursor, guint32 time_), gdk_pointer_grab)
+
+ /** Grabs the pointer to a specific window.
+ * Requires a corresponding call to pointer_ungrab().
+ *
+ * Arguments:
+ * @param owner_events Specifies whether events will be reported as is, or relative to the window.
+ * @param event_mask Masks only interesting events.
+ * @param cursor Changes the cursor for the duration of the grab.
+ * @param timestamp Specifies the time.
+ */
+ GrabStatus pointer_grab(bool owner_events, EventMask event_mask, const Cursor& cursor, guint32 timestamp);
+
+ /** Grabs the pointer to a specific window.
+ * Requires a corresponding call to pointer_ungrab().
+ *
+ * Arguments:
+ * @param owner_events Specifies whether events will be reported as is, or relative to the window.
+ * @param event_mask Masks only interesting events.
+ * @param timestamp Specifies the time.
+ */
+ GrabStatus pointer_grab(bool owner_events, EventMask event_mask, guint32 timestamp);
+
+ _WRAP_METHOD(static void pointer_ungrab(guint32 timestamp), gdk_pointer_ungrab)
+ _WRAP_METHOD(GrabStatus keyboard_grab(bool owner_events, guint32 timestamp), gdk_keyboard_grab)
+ _WRAP_METHOD(static void keyboard_ungrab(guint32 timestamp), gdk_keyboard_ungrab)
+
+ _WRAP_METHOD(void set_keep_above(bool setting = true), gdk_window_set_keep_above)
+ _WRAP_METHOD(void set_keep_below(bool setting = true), gdk_window_set_keep_below)
+
+ _WRAP_METHOD(void set_opacity(double opacity), gdk_window_set_opacity)
+
+ _WRAP_METHOD(void set_accept_focus(bool accept_focus = true), gdk_window_set_accept_focus)
+
+ _WRAP_METHOD(void set_focus_on_map(bool focus_on_map), gdk_window_set_focus_on_map)
+};
+
+} /* namespace Gdk */
+
diff --git a/libs/gtkmm2/gtk/.cvsignore b/libs/gtkmm2/gtk/.cvsignore
deleted file mode 100644
index e5d046710f..0000000000
--- a/libs/gtkmm2/gtk/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.dylib
diff --git a/libs/gtkmm2/gtk/Makefile.am b/libs/gtkmm2/gtk/Makefile.am
new file mode 100644
index 0000000000..a6f53acf1d
--- /dev/null
+++ b/libs/gtkmm2/gtk/Makefile.am
@@ -0,0 +1,13 @@
+SUBDIRS = src gtkmm
+
+EXTRA_DIST = README gtkmmconfig.h.in gtkmm-2.4.pc.in
+
+gtkmm_includedir = $(includedir)/gtkmm-2.4
+gtkmm_include_HEADERS = gtkmm.h
+
+gtkmm_configdir = $(libdir)/gtkmm-2.4/include
+gtkmm_config_DATA = gtkmmconfig.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = gtkmm-2.4.pc
+
diff --git a/libs/glibmm2/tools/Makefile.in b/libs/gtkmm2/gtk/Makefile.in
index dc9a54dbae..b2729f32de 100644
--- a/libs/glibmm2/tools/Makefile.in
+++ b/libs/gtkmm2/gtk/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 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.
@@ -14,15 +14,12 @@
@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
+
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -36,48 +33,54 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/generate_wrap_init.pl.in $(srcdir)/gmmproc.in \
- $(top_srcdir)/tools/Makefile_list_of_sources.am_fragment \
- $(top_srcdir)/tools/m4/Makefile_list_of_sources.am_fragment \
- $(top_srcdir)/tools/pm/Makefile_list_of_sources.am_fragment \
- TODO
-subdir = tools
+subdir = gtk
+DIST_COMMON = README $(gtkmm_include_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(srcdir)/gtkmm-2.4.pc.in \
+ $(srcdir)/gtkmmconfig.h.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
$(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES = gmmproc generate_wrap_init.pl
-am__installdirs = "$(DESTDIR)$(gmmproc_bindir)"
-gmmproc_binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
-SCRIPTS = $(gmmproc_bin_SCRIPTS)
+ $(top_builddir)/gdk/gdkmmconfig.h gtkmmconfig.h
+CONFIG_CLEAN_FILES = gtkmm-2.4.pc
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-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 = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(gtkmm_configdir)" \
+ "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(gtkmm_includedir)"
+gtkmm_configDATA_INSTALL = $(INSTALL_DATA)
+pkgconfigDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(gtkmm_config_DATA) $(pkgconfig_DATA)
+gtkmm_includeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(gtkmm_include_HEADERS)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -93,37 +96,44 @@ CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
DEPDIR = @DEPDIR@
DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
@@ -131,43 +141,33 @@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@
MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
+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_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -179,47 +179,52 @@ 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@
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@
-files_tools_m4 = base.m4 class_shared.m4 class_boxedtype.m4 class_boxedtype_static.m4 \
- class_generic.m4 class_gobject.m4 class_gtkobject.m4 \
- class_interface.m4 class_opaque_refcounted.m4 class_opaque_copyable.m4 \
- gerror.m4 \
- compare.m4 convert.m4 convert_base.m4 convert_gtkmm.m4 convert_atk.m4 convert_gdk.m4 \
- convert_glib.m4 convert_gtk.m4 convert_pango.m4 ctor.m4 doc.m4 enum.m4 list.m4 member.m4 \
- method.m4 property.m4 signal.m4 vfunc.m4
-
-files_tools_pm = DocsParser.pm GtkDefs.pm Enum.pm Function.pm FunctionBase.pm Object.pm Output.pm Property.pm Util.pm WrapParser.pm
-files_tools_genwrap = generate_wrap_init.pl
-files_tools_perl = $(files_tools_genwrap) gmmproc.in
-SUBDIRS = m4 pm extra_defs_gen
-EXTRA_DIST = Makefile_list_of_sources.am_fragment $(files_tools_perl) README TODO enum.pl
-gmmproc_bin_SCRIPTS = gmmproc $(files_tools_genwrap)
-gmmproc_bindir = $(libdir)/glibmm-2.4/proc
-all: all-recursive
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = src gtkmm
+EXTRA_DIST = README gtkmmconfig.h.in gtkmm-2.4.pc.in
+gtkmm_includedir = $(includedir)/gtkmm-2.4
+gtkmm_include_HEADERS = gtkmm.h
+gtkmm_configdir = $(libdir)/gtkmm-2.4/include
+gtkmm_config_DATA = gtkmmconfig.h
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = gtkmm-2.4.pc
+all: gtkmmconfig.h
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tools/Makefile_list_of_sources.am_fragment $(top_srcdir)/tools/m4/Makefile_list_of_sources.am_fragment $(top_srcdir)/tools/pm/Makefile_list_of_sources.am_fragment $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -228,9 +233,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gtk/Makefile'; \
cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu tools/Makefile
+ $(AUTOMAKE) --gnu gtk/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -248,39 +253,82 @@ $(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
-gmmproc: $(top_builddir)/config.status $(srcdir)/gmmproc.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-generate_wrap_init.pl: $(top_builddir)/config.status $(srcdir)/generate_wrap_init.pl.in
+
+gtkmmconfig.h: stamp-h3
+ @if test ! -f $@; then \
+ rm -f stamp-h3; \
+ $(MAKE) $(AM_MAKEFLAGS) stamp-h3; \
+ else :; fi
+
+stamp-h3: $(srcdir)/gtkmmconfig.h.in $(top_builddir)/config.status
+ @rm -f stamp-h3
+ cd $(top_builddir) && $(SHELL) ./config.status gtk/gtkmmconfig.h
+$(srcdir)/gtkmmconfig.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_srcdir) && $(AUTOHEADER)
+ rm -f stamp-h3
+ touch $@
+
+distclean-hdr:
+ -rm -f gtkmmconfig.h stamp-h3
+gtkmm-2.4.pc: $(top_builddir)/config.status $(srcdir)/gtkmm-2.4.pc.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-install-gmmproc_binSCRIPTS: $(gmmproc_bin_SCRIPTS)
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-gtkmm_configDATA: $(gtkmm_config_DATA)
@$(NORMAL_INSTALL)
- test -z "$(gmmproc_bindir)" || $(mkdir_p) "$(DESTDIR)$(gmmproc_bindir)"
- @list='$(gmmproc_bin_SCRIPTS)'; for p in $$list; do \
+ test -z "$(gtkmm_configdir)" || $(MKDIR_P) "$(DESTDIR)$(gtkmm_configdir)"
+ @list='$(gtkmm_config_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- if test -f $$d$$p; then \
- f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
- echo " $(gmmproc_binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(gmmproc_bindir)/$$f'"; \
- $(gmmproc_binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(gmmproc_bindir)/$$f"; \
- else :; fi; \
+ f=$(am__strip_dir) \
+ echo " $(gtkmm_configDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(gtkmm_configdir)/$$f'"; \
+ $(gtkmm_configDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(gtkmm_configdir)/$$f"; \
done
-uninstall-gmmproc_binSCRIPTS:
+uninstall-gtkmm_configDATA:
@$(NORMAL_UNINSTALL)
- @list='$(gmmproc_bin_SCRIPTS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
- echo " rm -f '$(DESTDIR)$(gmmproc_bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(gmmproc_bindir)/$$f"; \
+ @list='$(gtkmm_config_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(gtkmm_configdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(gtkmm_configdir)/$$f"; \
+ done
+install-pkgconfigDATA: $(pkgconfig_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
+ @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+ $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
done
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
+uninstall-pkgconfigDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ done
+install-gtkmm_includeHEADERS: $(gtkmm_include_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(gtkmm_includedir)" || $(MKDIR_P) "$(DESTDIR)$(gtkmm_includedir)"
+ @list='$(gtkmm_include_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(gtkmm_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(gtkmm_includedir)/$$f'"; \
+ $(gtkmm_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(gtkmm_includedir)/$$f"; \
+ done
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
+uninstall-gtkmm_includeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(gtkmm_include_HEADERS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(gtkmm_includedir)/$$f'"; \
+ rm -f "$(DESTDIR)$(gtkmm_includedir)/$$f"; \
+ done
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
@@ -313,8 +361,7 @@ $(RECURSIVE_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
+$(RECURSIVE_CLEAN_TARGETS):
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
@@ -363,7 +410,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
mkid -fID $$unique
tags: TAGS
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+TAGS: tags-recursive $(HEADERS) $(SOURCES) gtkmmconfig.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
@@ -380,7 +427,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ list='$(SOURCES) $(HEADERS) gtkmmconfig.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
@@ -392,11 +439,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$tags $$unique; \
fi
ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) gtkmmconfig.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ list='$(SOURCES) $(HEADERS) gtkmmconfig.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
@@ -415,23 +462,21 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/../tools $(distdir)/../tools/m4 $(distdir)/../tools/pm
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @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; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -445,7 +490,7 @@ distdir: $(DISTFILES)
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
@@ -453,17 +498,19 @@ distdir: $(DISTFILES)
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
-all-am: Makefile $(SCRIPTS)
+all-am: Makefile $(DATA) $(HEADERS) gtkmmconfig.h
installdirs: installdirs-recursive
installdirs-am:
- for dir in "$(DESTDIR)$(gmmproc_bindir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
+ for dir in "$(DESTDIR)$(gtkmm_configdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(gtkmm_includedir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
install-exec: install-exec-recursive
@@ -495,8 +542,7 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
dvi: dvi-recursive
@@ -508,14 +554,23 @@ info: info-recursive
info-am:
-install-data-am: install-gmmproc_binSCRIPTS
+install-data-am: install-gtkmm_configDATA install-gtkmm_includeHEADERS \
+ install-pkgconfigDATA
+
+install-dvi: install-dvi-recursive
install-exec-am:
+install-html: install-html-recursive
+
install-info: install-info-recursive
install-man:
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -534,24 +589,28 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-gmmproc_binSCRIPTS uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am \
- install-gmmproc_binSCRIPTS install-info install-info-am \
- install-man install-strip installcheck installcheck-am \
- installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive \
- mostlyclean mostlyclean-generic mostlyclean-libtool \
- mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-gmmproc_binSCRIPTS \
- uninstall-info-am
+uninstall-am: uninstall-gtkmm_configDATA \
+ uninstall-gtkmm_includeHEADERS uninstall-pkgconfigDATA
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.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-hdr distclean-libtool distclean-tags 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-gtkmm_configDATA \
+ install-gtkmm_includeHEADERS install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-pkgconfigDATA 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-gtkmm_configDATA uninstall-gtkmm_includeHEADERS \
+ uninstall-pkgconfigDATA
# 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.
diff --git a/libs/gtkmm2/gtk/README b/libs/gtkmm2/gtk/README
new file mode 100644
index 0000000000..511d747d80
--- /dev/null
+++ b/libs/gtkmm2/gtk/README
@@ -0,0 +1,6 @@
+Base directory for gtkmm - the widget set.
+
+Here is the layout
+
+ src - actual sources used to build
+ gtkmm - built sources (do not edit)
diff --git a/libs/gtkmm2/gtk/gtkmm-2.4.pc.in b/libs/gtkmm2/gtk/gtkmm-2.4.pc.in
new file mode 100644
index 0000000000..bebe4064b3
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm-2.4.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: gtkmm
+Description: C++ wrapper for GTK+
+Requires: glibmm-2.4 gdkmm-2.4 pangomm-1.4 @GTKMM_PC_ATKMM_DEP@ gtk+-2.0
+Version: @VERSION@
+Libs: -L${libdir} -lgtkmm-2.4
+Cflags: -I${includedir}/gtkmm-2.4 -I${libdir}/gtkmm-2.4/include
diff --git a/libs/gtkmm2/gtk/gtkmm.h b/libs/gtkmm2/gtk/gtkmm.h
index 91dc01ab0e..8dd38de45d 100644
--- a/libs/gtkmm2/gtk/gtkmm.h
+++ b/libs/gtkmm2/gtk/gtkmm.h
@@ -41,6 +41,7 @@ extern const int gtkmm_micro_version;
#include <gtkmm/base.h>
#include <gtkmm/bin.h>
#include <gtkmm/box.h>
+#include <gtkmm/builder.h>
#include <gtkmm/button.h>
#include <gtkmm/buttonbox.h>
#include <gtkmm/cellview.h>
@@ -126,6 +127,7 @@ extern const int gtkmm_micro_version;
#include <gtkmm/radiomenuitem.h>
#include <gtkmm/radiotoolbutton.h>
#include <gtkmm/range.h>
+#include <gtkmm/recentaction.h>
#include <gtkmm/recentchooser.h>
#include <gtkmm/recentchooserdialog.h>
#include <gtkmm/recentchoosermenu.h>
@@ -165,6 +167,7 @@ extern const int gtkmm_micro_version;
#include <gtkmm/toolbutton.h>
#include <gtkmm/toggletoolbutton.h>
#include <gtkmm/menutoolbutton.h>
+#include <gtkmm/tooltip.h>
#include <gtkmm/tooltips.h>
#include <gtkmm/treemodel.h>
#include <gtkmm/treemodelfilter.h>
diff --git a/libs/gtkmm2/gtk/gtkmm/.cvsignore b/libs/gtkmm2/gtk/gtkmm/.cvsignore
deleted file mode 100644
index 1edeb79fd1..0000000000
--- a/libs/gtkmm2/gtk/gtkmm/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.os
diff --git a/libs/gtkmm2/gtk/gtkmm/Makefile.am b/libs/gtkmm2/gtk/gtkmm/Makefile.am
new file mode 100644
index 0000000000..d60791b555
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm/Makefile.am
@@ -0,0 +1,42 @@
+## Copyright (c) 2001
+## The gtkmm development team.
+
+SUBDIRS = private
+
+sublib_name = gtkmm
+sublib_libname = gtkmm-2.4
+sublib_libversion = $(LIBGTKMM_SO_VERSION)
+sublib_namespace = Gtk
+sublib_cflags = $(GTKMM_CFLAGS)
+sublib_topdir = gtk
+sublib_win32_dlls_libs =
+
+sublib_files_extra_posix_cc =
+sublib_files_extra_win32_cc =
+sublib_files_extra_general_cc = accelkey.cc accelmap.cc cellrenderer_generation.cc comboboxtext.cc comboboxentrytext.cc \
+ listviewtext.cc \
+ menu_elems.cc radiobuttongroup.cc selectiondata_private.cc stock.cc stockid.cc targetentry.cc \
+ treemodelcolumn.cc treeview_private.cc
+sublib_files_extra_general_deprecated_cc =
+
+sublib_files_extra_posix_h =
+sublib_files_extra_win32_h =
+sublib_files_extra_general_h = accelkey.h accelmap.h base.h cellrenderer_generation.h comboboxtext.h comboboxentrytext.h\
+ listviewtext.h \
+ menu_elems.h radiobuttongroup.h selectiondata_private.h stock.h stockid.h targetentry.h \
+ treemodelcolumn.h treeview_private.h
+sublib_files_extra_general_deprecated_h =
+
+include $(top_srcdir)/build_shared/Makefile_build.am_fragment
+
+lib_LTLIBRARIES = libgtkmm-2.4.la
+libgtkmm_2_4_la_SOURCES = $(files_built_cc) $(files_extra_cc)
+libgtkmm_2_4_la_LDFLAGS = $(common_ldflags)
+libgtkmm_2_4_la_LIBADD = $(top_builddir)/gdk/gdkmm/libgdkmm-2.4.la \
+ $(top_builddir)/pango/pangomm/libpangomm-1.4.la \
+ $(LIBADD_ATK) \
+ $(GTKMM_LIBS)
+
+if GTKMM_ATKMM_ENABLED
+libgtkmm_2_4_la_LIBADD += $(top_builddir)/atk/atkmm/libatkmm-1.6.la
+endif
diff --git a/libs/gtkmm2/gtk/gtkmm/Makefile.in b/libs/gtkmm2/gtk/gtkmm/Makefile.in
new file mode 100644
index 0000000000..8cccf62cd5
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm/Makefile.in
@@ -0,0 +1,1066 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+
+# This file is include by other Makefile.am files, using the new automake include feature.
+# The include happens in Makefile.am, not Makefile.in or Makefile,
+# so it's like copy-and-pasting this into each of those Makefile.am files.
+
+# Built files
+
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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)/../src/Makefile_list_of_hg.am_fragment \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(sublib_include_HEADERS) \
+ $(top_srcdir)/build_shared/Makefile_build.am_fragment \
+ $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment
+@GTKMM_ATKMM_ENABLED_TRUE@am__append_1 = $(top_builddir)/atk/atkmm/libatkmm-1.6.la
+subdir = gtk/gtkmm
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+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 = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libdir)" \
+ "$(DESTDIR)$(sublib_includedir)"
+libLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(lib_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+libgtkmm_2_4_la_DEPENDENCIES = \
+ $(top_builddir)/gdk/gdkmm/libgdkmm-2.4.la \
+ $(top_builddir)/pango/pangomm/libpangomm-1.4.la \
+ $(am__DEPENDENCIES_1) $(am__append_1)
+am__libgtkmm_2_4_la_SOURCES_DIST = aboutdialog.cc accelgroup.cc \
+ accellabel.cc action.cc actiongroup.cc adjustment.cc \
+ alignment.cc arrow.cc aspectframe.cc assistant.cc bin.cc \
+ box.cc builder.cc button.cc buttonbox.cc calendar.cc \
+ celleditable.cc celllayout.cc cellview.cc cellrenderer.cc \
+ cellrendereraccel.cc cellrenderercombo.cc \
+ cellrendererpixbuf.cc cellrendererprogress.cc \
+ cellrendererspin.cc cellrenderertext.cc cellrenderertoggle.cc \
+ checkbutton.cc checkmenuitem.cc clipboard.cc colorselection.cc \
+ colorbutton.cc combobox.cc comboboxentry.cc container.cc \
+ curve.cc dialog.cc drawingarea.cc editable.cc entry.cc \
+ entrycompletion.cc enums.cc eventbox.cc expander.cc \
+ filechooser.cc filechooserbutton.cc filechooserwidget.cc \
+ filechooserdialog.cc filefilter.cc fileselection.cc fixed.cc \
+ fontbutton.cc fontselection.cc frame.cc handlebox.cc \
+ iconfactory.cc iconset.cc iconsource.cc iconinfo.cc \
+ icontheme.cc iconview.cc image.cc imagemenuitem.cc \
+ inputdialog.cc invisible.cc item.cc label.cc layout.cc \
+ linkbutton.cc liststore.cc main.cc menu.cc menubar.cc \
+ menuitem.cc menushell.cc menutoolbutton.cc messagedialog.cc \
+ misc.cc notebook.cc object.cc optionmenu.cc paned.cc plug.cc \
+ progressbar.cc papersize.cc pagesetup.cc printsettings.cc \
+ printcontext.cc printoperation.cc printoperationpreview.cc \
+ radioaction.cc radiobutton.cc radiomenuitem.cc \
+ radiotoolbutton.cc range.cc rc.cc recentaction.cc \
+ recentchooser.cc recentchooserdialog.cc recentchoosermenu.cc \
+ recentchooserwidget.cc recentfilter.cc recentinfo.cc \
+ recentmanager.cc ruler.cc scale.cc scalebutton.cc scrollbar.cc \
+ scrolledwindow.cc selectiondata.cc separator.cc \
+ separatormenuitem.cc separatortoolitem.cc settings.cc \
+ sizegroup.cc socket.cc spinbutton.cc statusbar.cc \
+ statusicon.cc stockitem.cc style.cc table.cc targetlist.cc \
+ tearoffmenuitem.cc textattributes.cc textbuffer.cc \
+ textchildanchor.cc textiter.cc textmark.cc texttag.cc \
+ texttagtable.cc textview.cc toggleaction.cc togglebutton.cc \
+ toggletoolbutton.cc toolbar.cc toolitem.cc toolbutton.cc \
+ tooltips.cc tooltip.cc treedragdest.cc treedragsource.cc \
+ treepath.cc treerowreference.cc treeselection.cc \
+ treesortable.cc treeiter.cc treemodel.cc treemodelfilter.cc \
+ treemodelsort.cc treestore.cc treeview.cc treeviewcolumn.cc \
+ viewport.cc volumebutton.cc uimanager.cc widget.cc window.cc \
+ pagesetupunixdialog.cc printunixdialog.cc printer.cc \
+ printjob.cc combo.cc wrap_init.cc accelkey.cc accelmap.cc \
+ cellrenderer_generation.cc comboboxtext.cc \
+ comboboxentrytext.cc listviewtext.cc menu_elems.cc \
+ radiobuttongroup.cc selectiondata_private.cc stock.cc \
+ stockid.cc targetentry.cc treemodelcolumn.cc \
+ treeview_private.cc
+am__objects_1 = aboutdialog.lo accelgroup.lo accellabel.lo action.lo \
+ actiongroup.lo adjustment.lo alignment.lo arrow.lo \
+ aspectframe.lo assistant.lo bin.lo box.lo builder.lo button.lo \
+ buttonbox.lo calendar.lo celleditable.lo celllayout.lo \
+ cellview.lo cellrenderer.lo cellrendereraccel.lo \
+ cellrenderercombo.lo cellrendererpixbuf.lo \
+ cellrendererprogress.lo cellrendererspin.lo \
+ cellrenderertext.lo cellrenderertoggle.lo checkbutton.lo \
+ checkmenuitem.lo clipboard.lo colorselection.lo colorbutton.lo \
+ combobox.lo comboboxentry.lo container.lo curve.lo dialog.lo \
+ drawingarea.lo editable.lo entry.lo entrycompletion.lo \
+ enums.lo eventbox.lo expander.lo filechooser.lo \
+ filechooserbutton.lo filechooserwidget.lo filechooserdialog.lo \
+ filefilter.lo fileselection.lo fixed.lo fontbutton.lo \
+ fontselection.lo frame.lo handlebox.lo iconfactory.lo \
+ iconset.lo iconsource.lo iconinfo.lo icontheme.lo iconview.lo \
+ image.lo imagemenuitem.lo inputdialog.lo invisible.lo item.lo \
+ label.lo layout.lo linkbutton.lo liststore.lo main.lo menu.lo \
+ menubar.lo menuitem.lo menushell.lo menutoolbutton.lo \
+ messagedialog.lo misc.lo notebook.lo object.lo optionmenu.lo \
+ paned.lo plug.lo progressbar.lo papersize.lo pagesetup.lo \
+ printsettings.lo printcontext.lo printoperation.lo \
+ printoperationpreview.lo radioaction.lo radiobutton.lo \
+ radiomenuitem.lo radiotoolbutton.lo range.lo rc.lo \
+ recentaction.lo recentchooser.lo recentchooserdialog.lo \
+ recentchoosermenu.lo recentchooserwidget.lo recentfilter.lo \
+ recentinfo.lo recentmanager.lo ruler.lo scale.lo \
+ scalebutton.lo scrollbar.lo scrolledwindow.lo selectiondata.lo \
+ separator.lo separatormenuitem.lo separatortoolitem.lo \
+ settings.lo sizegroup.lo socket.lo spinbutton.lo statusbar.lo \
+ statusicon.lo stockitem.lo style.lo table.lo targetlist.lo \
+ tearoffmenuitem.lo textattributes.lo textbuffer.lo \
+ textchildanchor.lo textiter.lo textmark.lo texttag.lo \
+ texttagtable.lo textview.lo toggleaction.lo togglebutton.lo \
+ toggletoolbutton.lo toolbar.lo toolitem.lo toolbutton.lo \
+ tooltips.lo tooltip.lo treedragdest.lo treedragsource.lo \
+ treepath.lo treerowreference.lo treeselection.lo \
+ treesortable.lo treeiter.lo treemodel.lo treemodelfilter.lo \
+ treemodelsort.lo treestore.lo treeview.lo treeviewcolumn.lo \
+ viewport.lo volumebutton.lo uimanager.lo widget.lo window.lo
+am__objects_2 = pagesetupunixdialog.lo printunixdialog.lo printer.lo \
+ printjob.lo
+am__objects_3 = combo.lo
+am__objects_4 =
+@OS_WIN32_FALSE@am__objects_5 = $(am__objects_1) $(am__objects_2) \
+@OS_WIN32_FALSE@ $(am__objects_3)
+@OS_WIN32_TRUE@am__objects_5 = $(am__objects_1) $(am__objects_4) \
+@OS_WIN32_TRUE@ $(am__objects_3)
+am__objects_6 = $(am__objects_5) wrap_init.lo
+am__objects_7 = accelkey.lo accelmap.lo cellrenderer_generation.lo \
+ comboboxtext.lo comboboxentrytext.lo listviewtext.lo \
+ menu_elems.lo radiobuttongroup.lo selectiondata_private.lo \
+ stock.lo stockid.lo targetentry.lo treemodelcolumn.lo \
+ treeview_private.lo
+@OS_WIN32_FALSE@am__objects_8 = $(am__objects_4) $(am__objects_7)
+@OS_WIN32_TRUE@am__objects_8 = $(am__objects_4) $(am__objects_7)
+am_libgtkmm_2_4_la_OBJECTS = $(am__objects_6) $(am__objects_8)
+libgtkmm_2_4_la_OBJECTS = $(am_libgtkmm_2_4_la_OBJECTS)
+libgtkmm_2_4_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(libgtkmm_2_4_la_LDFLAGS) $(LDFLAGS) -o $@
+depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(libgtkmm_2_4_la_SOURCES)
+DIST_SOURCES = $(am__libgtkmm_2_4_la_SOURCES_DIST)
+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
+sublib_includeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(sublib_include_HEADERS)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@ -DG_LOG_DOMAIN=\"$(sublib_name)\" $(extra_win32_defines)
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = private
+sublib_name = gtkmm
+sublib_libname = gtkmm-2.4
+sublib_libversion = $(LIBGTKMM_SO_VERSION)
+sublib_namespace = Gtk
+sublib_cflags = $(GTKMM_CFLAGS)
+sublib_topdir = gtk
+sublib_win32_dlls_libs =
+sublib_files_extra_posix_cc =
+sublib_files_extra_win32_cc =
+sublib_files_extra_general_cc = accelkey.cc accelmap.cc cellrenderer_generation.cc comboboxtext.cc comboboxentrytext.cc \
+ listviewtext.cc \
+ menu_elems.cc radiobuttongroup.cc selectiondata_private.cc stock.cc stockid.cc targetentry.cc \
+ treemodelcolumn.cc treeview_private.cc
+
+sublib_files_extra_general_deprecated_cc =
+sublib_files_extra_posix_h =
+sublib_files_extra_win32_h =
+sublib_files_extra_general_h = accelkey.h accelmap.h base.h cellrenderer_generation.h comboboxtext.h comboboxentrytext.h\
+ listviewtext.h \
+ menu_elems.h radiobuttongroup.h selectiondata_private.h stock.h stockid.h targetentry.h \
+ treemodelcolumn.h treeview_private.h
+
+sublib_files_extra_general_deprecated_h =
+files_posix_hg = pagesetupunixdialog.hg printunixdialog.hg \
+ printer.hg printjob.hg
+
+files_win32_hg =
+files_general_hg = aboutdialog.hg accelgroup.hg accellabel.hg action.hg actiongroup.hg adjustment.hg alignment.hg \
+ arrow.hg aspectframe.hg assistant.hg \
+ bin.hg box.hg builder.hg button.hg buttonbox.hg \
+ calendar.hg celleditable.hg celllayout.hg cellview.hg \
+ cellrenderer.hg cellrendereraccel.hg cellrenderercombo.hg cellrendererpixbuf.hg cellrendererprogress.hg cellrendererspin.hg cellrenderertext.hg cellrenderertoggle.hg \
+ checkbutton.hg checkmenuitem.hg clipboard.hg colorselection.hg colorbutton.hg \
+ combobox.hg comboboxentry.hg container.hg curve.hg \
+ dialog.hg drawingarea.hg \
+ editable.hg entry.hg entrycompletion.hg enums.hg eventbox.hg expander.hg \
+ filechooser.hg filechooserbutton.hg filechooserwidget.hg filechooserdialog.hg filefilter.hg \
+ fileselection.hg fixed.hg fontbutton.hg fontselection.hg frame.hg \
+ handlebox.hg \
+ iconfactory.hg iconset.hg iconsource.hg iconinfo.hg icontheme.hg iconview.hg image.hg imagemenuitem.hg inputdialog.hg invisible.hg item.hg \
+ label.hg layout.hg linkbutton.hg liststore.hg \
+ main.hg menu.hg menubar.hg menuitem.hg menushell.hg menutoolbutton.hg messagedialog.hg misc.hg \
+ notebook.hg object.hg optionmenu.hg \
+ paned.hg plug.hg progressbar.hg \
+ papersize.hg pagesetup.hg printsettings.hg printcontext.hg printoperation.hg printoperationpreview.hg \
+ radioaction.hg radiobutton.hg radiomenuitem.hg radiotoolbutton.hg range.hg rc.hg \
+ recentaction.hg recentchooser.hg recentchooserdialog.hg recentchoosermenu.hg recentchooserwidget.hg \
+ recentfilter.hg recentinfo.hg recentmanager.hg ruler.hg \
+ scale.hg scalebutton.hg scrollbar.hg scrolledwindow.hg selectiondata.hg \
+ separator.hg separatormenuitem.hg separatortoolitem.hg settings.hg sizegroup.hg socket.hg spinbutton.hg statusbar.hg statusicon.hg \
+ stockitem.hg style.hg \
+ table.hg targetlist.hg tearoffmenuitem.hg \
+ textattributes.hg textbuffer.hg textchildanchor.hg textiter.hg textmark.hg texttag.hg texttagtable.hg textview.hg \
+ toggleaction.hg \
+ togglebutton.hg toggletoolbutton.hg toolbar.hg toolitem.hg toolbutton.hg tooltips.hg tooltip.hg \
+ treedragdest.hg treedragsource.hg treepath.hg treerowreference.hg treeselection.hg treesortable.hg \
+ treeiter.hg treemodel.hg treemodelfilter.hg treemodelsort.hg treestore.hg treeview.hg treeviewcolumn.hg \
+ viewport.hg volumebutton.hg uimanager.hg \
+ widget.hg window.hg
+
+files_general_deprecated_hg = combo.hg
+files_all_hg = \
+ $(files_posix_hg) \
+ $(files_win32_hg) \
+ $(files_general_hg) \
+ $(files_general_deprecated_hg)
+
+@OS_WIN32_FALSE@files_hg = $(files_general_hg) $(files_posix_hg) $(files_general_deprecated_hg)
+@OS_WIN32_TRUE@files_hg = $(files_general_hg) $(files_win32_hg) $(files_general_deprecated_hg)
+files_built_cc = $(files_hg:.hg=.cc) wrap_init.cc
+files_built_h = $(files_hg:.hg=.h)
+files_all_built_cc = $(files_all_hg:.hg=.cc) wrap_init.cc
+files_all_built_h = $(files_all_hg:.hg=.h)
+
+# Extra files
+files_all_extra_cc = \
+ $(sublib_files_extra_posix_cc) \
+ $(sublib_files_extra_win32_cc) \
+ $(sublib_files_extra_general_cc) \
+ $(sublib_files_extra_general_deprecated_cc)
+
+files_all_extra_h = $(sublib_files_extra_posix_h) \
+ $(sublib_files_extra_win32_h) $(sublib_files_extra_general_h) \
+ $(sublib_files_extra_general_deprecated_h) wrap_init.h
+@OS_WIN32_FALSE@files_extra_cc = \
+@OS_WIN32_FALSE@ $(sublib_files_extra_posix_cc) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_TRUE@files_extra_cc = \
+@OS_WIN32_TRUE@ $(sublib_files_extra_win32_cc) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_FALSE@files_extra_h = $(sublib_files_extra_posix_h) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_h) wrap_init.h
+@OS_WIN32_TRUE@files_extra_h = $(sublib_files_extra_win32_h) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_h) wrap_init.h
+@PLATFORM_WIN32_FALSE@extra_win32_defines =
+
+# Support for DLL on mingw using libtool > 1.4
+# When creating DLLs on win32, we need to explicitly add a few extra
+# libraries at link time to resolve symbols (remember a dll is like an
+# executable).
+@PLATFORM_WIN32_TRUE@extra_win32_defines = \
+@PLATFORM_WIN32_TRUE@ -D$(shell echo $(sublib_name) | tr [:lower:] [:upper:])_BUILD
+
+@PLATFORM_WIN32_FALSE@no_undefined =
+@PLATFORM_WIN32_TRUE@no_undefined = -no-undefined -Wl,--export-all-symbols
+@PLATFORM_WIN32_FALSE@win32_dlls_extra_libs =
+@PLATFORM_WIN32_TRUE@win32_dlls_extra_libs = $(sublib_win32_dlls_libs)
+common_ldflags = -version-info $(sublib_libversion) $(no_undefined)
+
+# All modules can include all other modules,
+# for instance, so that gdkmm can use headers in pangomm.
+all_includes = -I$(top_builddir)/$(sublib_topdir) -I$(top_srcdir)/$(sublib_topdir) \
+ -I$(top_builddir)/pango -I$(top_srcdir)/pango \
+ -I$(top_builddir)/atk -I$(top_srcdir)/atk \
+ -I$(top_builddir)/gdk -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gtk -I$(top_srcdir)/gtk \
+ $(sublib_cflags) $(GTHREAD_CFLAGS)
+
+dist_sources = $(files_all_built_cc) $(files_all_extra_cc) $(files_all_built_h) $(files_all_extra_h)
+DISTFILES = $(DIST_COMMON) $(dist_sources) $(TEXINFOS) $(EXTRA_DIST)
+DEFAULT_INCLUDES =
+
+# DISABLE_DEPRECATED_CFLAGS and DISABLE_DEPRECATED_API_CFLAGS are empty unless the appropriate --enable-*=no options are specified to configure:
+INCLUDES = $(strip $(all_includes)) $(DISABLE_DEPRECATED_CFLAGS) $(DISABLE_DEPRECATED_API_CFLAGS)
+sublib_includedir = $(includedir)/$(sublib_libname)/$(sublib_name)
+sublib_include_HEADERS = $(files_all_built_h) $(files_all_extra_h)
+lib_LTLIBRARIES = libgtkmm-2.4.la
+libgtkmm_2_4_la_SOURCES = $(files_built_cc) $(files_extra_cc)
+libgtkmm_2_4_la_LDFLAGS = $(common_ldflags)
+libgtkmm_2_4_la_LIBADD = $(top_builddir)/gdk/gdkmm/libgdkmm-2.4.la \
+ $(top_builddir)/pango/pangomm/libpangomm-1.4.la $(LIBADD_ATK) \
+ $(GTKMM_LIBS) $(am__append_1)
+all: all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/build_shared/Makefile_build.am_fragment $(srcdir)/../src/Makefile_list_of_hg.am_fragment $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gtk/gtkmm/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gtk/gtkmm/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
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ f=$(am__strip_dir) \
+ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ else :; fi; \
+ done
+
+uninstall-libLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ p=$(am__strip_dir) \
+ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ done
+
+clean-libLTLIBRARIES:
+ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libgtkmm-2.4.la: $(libgtkmm_2_4_la_OBJECTS) $(libgtkmm_2_4_la_DEPENDENCIES)
+ $(libgtkmm_2_4_la_LINK) -rpath $(libdir) $(libgtkmm_2_4_la_OBJECTS) $(libgtkmm_2_4_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aboutdialog.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accelgroup.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accelkey.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accellabel.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accelmap.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/action.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/actiongroup.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/adjustment.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alignment.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arrow.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aspectframe.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/assistant.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bin.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/box.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/builder.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/button.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buttonbox.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/calendar.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/celleditable.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/celllayout.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cellrenderer.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cellrenderer_generation.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cellrendereraccel.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cellrenderercombo.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cellrendererpixbuf.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cellrendererprogress.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cellrendererspin.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cellrenderertext.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cellrenderertoggle.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cellview.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/checkbutton.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/checkmenuitem.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clipboard.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/colorbutton.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/colorselection.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/combo.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/combobox.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/comboboxentry.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/comboboxentrytext.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/comboboxtext.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/container.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/curve.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dialog.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/drawingarea.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/editable.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/entry.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/entrycompletion.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/enums.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eventbox.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/expander.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filechooser.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filechooserbutton.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filechooserdialog.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filechooserwidget.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filefilter.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileselection.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fixed.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fontbutton.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fontselection.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/frame.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/handlebox.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iconfactory.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iconinfo.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iconset.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iconsource.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/icontheme.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iconview.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/image.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imagemenuitem.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inputdialog.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/invisible.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/item.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/label.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/layout.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkbutton.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liststore.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/listviewtext.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/menu.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/menu_elems.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/menubar.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/menuitem.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/menushell.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/menutoolbutton.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/messagedialog.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/notebook.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/object.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/optionmenu.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pagesetup.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pagesetupunixdialog.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/paned.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/papersize.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/plug.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printcontext.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printer.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printjob.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printoperation.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printoperationpreview.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printsettings.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printunixdialog.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/progressbar.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/radioaction.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/radiobutton.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/radiobuttongroup.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/radiomenuitem.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/radiotoolbutton.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/range.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rc.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recentaction.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recentchooser.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recentchooserdialog.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recentchoosermenu.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recentchooserwidget.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recentfilter.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recentinfo.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recentmanager.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ruler.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scale.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scalebutton.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scrollbar.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scrolledwindow.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/selectiondata.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/selectiondata_private.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/separator.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/separatormenuitem.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/separatortoolitem.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/settings.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sizegroup.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/socket.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spinbutton.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/statusbar.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/statusicon.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stock.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stockid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stockitem.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/style.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/table.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/targetentry.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/targetlist.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tearoffmenuitem.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/textattributes.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/textbuffer.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/textchildanchor.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/textiter.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/textmark.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/texttag.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/texttagtable.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/textview.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/toggleaction.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/togglebutton.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/toggletoolbutton.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/toolbar.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/toolbutton.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/toolitem.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tooltip.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tooltips.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/treedragdest.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/treedragsource.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/treeiter.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/treemodel.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/treemodelcolumn.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/treemodelfilter.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/treemodelsort.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/treepath.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/treerowreference.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/treeselection.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/treesortable.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/treestore.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/treeview.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/treeview_private.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/treeviewcolumn.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uimanager.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/viewport.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/volumebutton.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/widget.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/window.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrap_init.Plo@am__quote@
+
+.cc.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-sublib_includeHEADERS: $(sublib_include_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(sublib_includedir)" || $(MKDIR_P) "$(DESTDIR)$(sublib_includedir)"
+ @list='$(sublib_include_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(sublib_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(sublib_includedir)/$$f'"; \
+ $(sublib_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(sublib_includedir)/$$f"; \
+ done
+
+uninstall-sublib_includeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(sublib_include_HEADERS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(sublib_includedir)/$$f'"; \
+ rm -f "$(DESTDIR)$(sublib_includedir)/$$f"; \
+ done
+
+# 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):
+ @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; \
+ (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):
+ @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; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (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; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ 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 || \
+ tags="$$tags $$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; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(LTLIBRARIES) $(HEADERS)
+installdirs: installdirs-recursive
+installdirs-am:
+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(sublib_includedir)"; 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)
+
+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-libLTLIBRARIES clean-libtool \
+ mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-sublib_includeHEADERS
+
+install-dvi: install-dvi-recursive
+
+install-exec-am: install-libLTLIBRARIES
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic \
+ maintainer-clean-local
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-libLTLIBRARIES uninstall-sublib_includeHEADERS
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am check check-am clean clean-generic \
+ clean-libLTLIBRARIES clean-libtool ctags ctags-recursive \
+ distclean distclean-compile 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-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-libLTLIBRARIES install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ install-sublib_includeHEADERS installcheck installcheck-am \
+ installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic maintainer-clean-local mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
+ uninstall-libLTLIBRARIES uninstall-sublib_includeHEADERS
+
+
+maintainer-clean-local:
+ (cd $(srcdir) && rm -f $(files_all_built_cc) $(files_all_built_h))
+# 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:
diff --git a/libs/gtkmm2/gtk/gtkmm/aboutdialog.cc b/libs/gtkmm2/gtk/gtkmm/aboutdialog.cc
index 2ef8776d88..f792566b8f 100644
--- a/libs/gtkmm2/gtk/gtkmm/aboutdialog.cc
+++ b/libs/gtkmm2/gtk/gtkmm/aboutdialog.cc
@@ -190,21 +190,40 @@ GType AboutDialog::get_base_type()
AboutDialog::AboutDialog()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Dialog(Glib::ConstructParams(aboutdialog_class_.init()))
{
}
+#ifndef GTKMM_DISABLE_DEPRECATED
+
Glib::ustring AboutDialog::get_name() const
{
return Glib::convert_const_gchar_ptr_to_ustring(gtk_about_dialog_get_name(const_cast<GtkAboutDialog*>(gobj())));
}
+#endif // GTKMM_DISABLE_DEPRECATED
+
+#ifndef GTKMM_DISABLE_DEPRECATED
+
void AboutDialog::set_name(const Glib::ustring& name)
{
gtk_about_dialog_set_name(gobj(), name.c_str());
}
+#endif // GTKMM_DISABLE_DEPRECATED
+
+Glib::ustring AboutDialog::get_program_name() const
+{
+ return Glib::convert_const_gchar_ptr_to_ustring(gtk_about_dialog_get_program_name(const_cast<GtkAboutDialog*>(gobj())));
+}
+
+void AboutDialog::set_program_name(const Glib::ustring& name)
+{
+gtk_about_dialog_set_program_name(gobj(), name.c_str());
+}
+
Glib::ustring AboutDialog::get_version() const
{
return Glib::convert_const_gchar_ptr_to_ustring(gtk_about_dialog_get_version(const_cast<GtkAboutDialog*>(gobj())));
@@ -356,6 +375,20 @@ Glib::PropertyProxy_ReadOnly<Glib::ustring> AboutDialog::property_name() const
#endif //GLIBMM_PROPERTIES_ENABLED
#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<Glib::ustring> AboutDialog::property_program_name()
+{
+ return Glib::PropertyProxy<Glib::ustring>(this, "program-name");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<Glib::ustring> AboutDialog::property_program_name() const
+{
+ return Glib::PropertyProxy_ReadOnly<Glib::ustring>(this, "program-name");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
Glib::PropertyProxy<Glib::ustring> AboutDialog::property_version()
{
return Glib::PropertyProxy<Glib::ustring>(this, "version");
diff --git a/libs/gtkmm2/gtk/gtkmm/aboutdialog.h b/libs/gtkmm2/gtk/gtkmm/aboutdialog.h
index 7e7a22b2af..7b35881eaf 100644
--- a/libs/gtkmm2/gtk/gtkmm/aboutdialog.h
+++ b/libs/gtkmm2/gtk/gtkmm/aboutdialog.h
@@ -119,23 +119,51 @@ public:
AboutDialog();
- /** Returns the program name displayed in the about dialog.
+#ifndef GTKMM_DISABLE_DEPRECATED
+
+ /** Return value: The program name. The string is owned by the about
* @return The program name. The string is owned by the about
* dialog and must not be modified.
*
- * @newin2p6.
+ * @newin2p6
+ *
+ * @a Deprecated : 2.12: Use get_program_name() instead.
*/
Glib::ustring get_name() const;
-
+#endif // GTKMM_DISABLE_DEPRECATED
+
+
+#ifndef GTKMM_DISABLE_DEPRECATED
+
/** Sets the name to display in the about dialog.
* If this is not set, it defaults to Glib::get_application_name().
*
* @newin2p6
+ *
+ * @a Deprecated : 2.12: Use set_program_name() instead.
* @param name The program name.
*/
void set_name(const Glib::ustring& name);
+#endif // GTKMM_DISABLE_DEPRECATED
+
+
+ /** Return value: The program name.
+ * @return The program name.
+ *
+ * @newin2p12.
+ */
+ Glib::ustring get_program_name() const;
- /** Returns the version string.
+ /** Sets the name to display in the about dialog.
+ * If this is not set, it defaults to Glib::get_application_name().
+ *
+ * @newin2p12
+ * @param name The program name.
+ */
+ void set_program_name(const Glib::ustring& name);
+
+
+ /** Return value: The version string. The string is owned by the about
* @return The version string. The string is owned by the about
* dialog and must not be modified.
*
@@ -150,7 +178,7 @@ public:
*/
void set_version(const Glib::ustring& version);
- /** Returns the copyright string.
+ /** Return value: The copyright string. The string is owned by the about
* @return The copyright string. The string is owned by the about
* dialog and must not be modified.
*
@@ -166,7 +194,7 @@ public:
*/
void set_copyright(const Glib::ustring& copyright);
- /** Returns the comments string.
+ /** Return value: The comments. The string is owned by the about
* @return The comments. The string is owned by the about
* dialog and must not be modified.
*
@@ -183,7 +211,7 @@ public:
*/
void set_comments(const Glib::ustring& comments);
- /** Returns the license information.
+ /** Return value: The license information. The string is owned by the about
* @return The license information. The string is owned by the about
* dialog and must not be modified.
*
@@ -200,7 +228,7 @@ public:
*/
void set_license(const Glib::ustring& license);
- /** Returns the website URL.
+ /** Return value: The website URL. The string is owned by the about
* @return The website URL. The string is owned by the about
* dialog and must not be modified.
*
@@ -215,9 +243,8 @@ public:
*/
void set_website(const Glib::ustring& website);
- /** Returns the label used for the website link.
- * @return The label used for the website link. The string is owned by the about
- * dialog and must not be modified.
+ /** Return value: The label used for the website link.
+ * @return The label used for the website link.
*
* @newin2p6.
*/
@@ -232,8 +259,7 @@ public:
void set_website_label(const Glib::ustring& website_label);
- /** Returns the string which are displayed in the authors tab
- * of the secondary credits dialog.
+ /** Return value: A <tt>0</tt>-terminated string array containing
* @return A <tt>0</tt>-terminated string array containing
* the authors. The array is owned by the about dialog
* and must not be modified.
@@ -252,8 +278,7 @@ public:
void set_authors(const Glib::StringArrayHandle& authors) const;
- /** Returns the string which are displayed in the documenters
- * tab of the secondary credits dialog.
+ /** Return value: A <tt>0</tt>-terminated string array containing
* @return A <tt>0</tt>-terminated string array containing
* the documenters. The array is owned by the about dialog
* and must not be modified.
@@ -271,8 +296,7 @@ public:
*/
void set_documenters(const Glib::StringArrayHandle& documenters);
- /** Returns the string which are displayed in the artists tab
- * of the secondary credits dialog.
+ /** Return value: A <tt>0</tt>-terminated string array containing
* @return A <tt>0</tt>-terminated string array containing
* the artists. The array is owned by the about dialog
* and must not be modified.
@@ -289,8 +313,7 @@ public:
*/
void set_artists(const Glib::StringArrayHandle& artists);
- /** Returns the translator credits string which is displayed
- * in the translators tab of the secondary credits dialog.
+ /** Return value: The translator credits string. The string is
* @return The translator credits string. The string is
* owned by the about dialog and must not be modified.
*
@@ -319,7 +342,7 @@ public:
void set_translator_credits(const Glib::ustring& translator_credits);
- /** Returns the pixbuf displayed as logo in the about dialog.
+ /** Return value: the pixbuf displayed as logo. The pixbuf is
* @return The pixbuf displayed as logo. The pixbuf is
* owned by the about dialog. If you want to keep a reference
* to it, you have to call Glib::object_ref() on it.
@@ -328,7 +351,7 @@ public:
*/
Glib::RefPtr<Gdk::Pixbuf> get_logo();
- /** Returns the pixbuf displayed as logo in the about dialog.
+ /** Return value: the pixbuf displayed as logo. The pixbuf is
* @return The pixbuf displayed as logo. The pixbuf is
* owned by the about dialog. If you want to keep a reference
* to it, you have to call Glib::object_ref() on it.
@@ -349,7 +372,7 @@ public:
void set_logo(const Glib::RefPtr<Gdk::Pixbuf>& logo);
- /** Returns the icon name displayed as logo in the about dialog.
+ /** Return value: the icon name displayed as logo. The string is
* @return The icon name displayed as logo. The string is
* owned by the dialog. If you want to keep a reference
* to it, you have to call Glib::strdup() on it.
@@ -369,8 +392,7 @@ public:
void set_logo_icon_name(const Glib::ustring& icon_name);
- /** Returns whether the license text in @a about is
- * automatically wrapped.
+ /** Returns: <tt>true</tt> if the license text is wrapped
* @return <tt>true</tt> if the license text is wrapped
*
* @newin2p8.
@@ -402,9 +424,10 @@ public:
static void set_url_hook(const SlotActivateLink& slot);
-//TODO: Deprecate this, because it conflicts with the property in GtkWidget, which will be deprecated in GTK+ 2.12.
+//TODO: Deprecate this, because it conflicts with the property in GtkWidget, and has been removed in GTK+ 2.12.
+//If this could not have been used without an error, then remove it:
#ifdef GLIBMM_PROPERTIES_ENABLED
-/** The name of the program. If this is not set
+/** The name of the widget.
*
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
@@ -414,7 +437,7 @@ public:
#endif //#GLIBMM_PROPERTIES_ENABLED
#ifdef GLIBMM_PROPERTIES_ENABLED
-/** The name of the program. If this is not set
+/** The name of the widget.
*
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
@@ -425,6 +448,27 @@ public:
#ifdef GLIBMM_PROPERTIES_ENABLED
+/** The name of the program. If this is not set
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<Glib::ustring> property_program_name() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** The name of the program. If this is not set
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<Glib::ustring> property_program_name() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
/** The version of the program.
*
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
@@ -692,10 +736,13 @@ public:
namespace Glib
{
- /** @relates Gtk::AboutDialog
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::AboutDialog
*/
Gtk::AboutDialog* wrap(GtkAboutDialog* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/accelgroup.cc b/libs/gtkmm2/gtk/gtkmm/accelgroup.cc
index fcc972de58..b78b4b5262 100644
--- a/libs/gtkmm2/gtk/gtkmm/accelgroup.cc
+++ b/libs/gtkmm2/gtk/gtkmm/accelgroup.cc
@@ -226,7 +226,7 @@ void AccelGroup_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void AccelGroup_Class::accel_changed_callback(GtkAccelGroup* self, guint p0, GdkModifierType p1, GClosure* p2)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -234,33 +234,36 @@ void AccelGroup_Class::accel_changed_callback(GtkAccelGroup* self, guint p0, Gdk
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_accel_changed(p0, ((Gdk::ModifierType)(p1))
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_accel_changed(p0, ((Gdk::ModifierType)(p1))
, p2);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->accel_changed)
- (*base->accel_changed)(self, p0, p1, p2);
- }
+ // Call the original underlying C function:
+ if(base && base->accel_changed)
+ (*base->accel_changed)(self, p0, p1, p2);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -308,7 +311,8 @@ GType AccelGroup::get_base_type()
AccelGroup::AccelGroup()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(accelgroup_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/accelgroup.h b/libs/gtkmm2/gtk/gtkmm/accelgroup.h
index 62190dae65..6ee3ab351d 100644
--- a/libs/gtkmm2/gtk/gtkmm/accelgroup.h
+++ b/libs/gtkmm2/gtk/gtkmm/accelgroup.h
@@ -209,9 +209,9 @@ public:
//TODO: Discover real parameter names:
-/**
+ /**
* @par Prototype:
- * <tt>bool %accel_activate(const Glib::RefPtr<Glib::Object>& object, guint param2, Gdk::ModifierType param3)</tt>
+ * <tt>bool on_my_%accel_activate(const Glib::RefPtr<Glib::Object>& object, guint param2, Gdk::ModifierType param3)</tt>
*/
Glib::SignalProxy3< bool,const Glib::RefPtr<Glib::Object>&,guint,Gdk::ModifierType > signal_accel_activate();
@@ -219,9 +219,9 @@ public:
//TODO: The C type is unpleasant:
//This has C docs, but it isn't worth mentioning them for such a useless signal. murrayc.
-/**
+ /**
* @par Prototype:
- * <tt>void %accel_changed(guint keyval, Gdk::ModifierType modifier, GClosure* accel_closure)</tt>
+ * <tt>void on_my_%accel_changed(guint keyval, Gdk::ModifierType modifier, GClosure* accel_closure)</tt>
*/
Glib::SignalProxy3< void,guint,Gdk::ModifierType,GClosure* > signal_accel_changed();
@@ -252,10 +252,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::AccelGroup
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::AccelGroup
*/
Glib::RefPtr<Gtk::AccelGroup> wrap(GtkAccelGroup* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/accellabel.cc b/libs/gtkmm2/gtk/gtkmm/accellabel.cc
index f884b7d606..c80da7e423 100644
--- a/libs/gtkmm2/gtk/gtkmm/accellabel.cc
+++ b/libs/gtkmm2/gtk/gtkmm/accellabel.cc
@@ -34,8 +34,9 @@ namespace Gtk
AccelLabel::AccelLabel(const Glib::ustring& label, bool mnemonic)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Label(Glib::ConstructParams(accellabel_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Label(Glib::ConstructParams(accellabel_class_.init()))
{
if(mnemonic)
set_text_with_mnemonic(label);
@@ -153,7 +154,8 @@ GType AccelLabel::get_base_type()
AccelLabel::AccelLabel()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Label(Glib::ConstructParams(accellabel_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/accellabel.h b/libs/gtkmm2/gtk/gtkmm/accellabel.h
index 2c057671fa..d2f0f1b1d2 100644
--- a/libs/gtkmm2/gtk/gtkmm/accellabel.h
+++ b/libs/gtkmm2/gtk/gtkmm/accellabel.h
@@ -182,10 +182,13 @@ public:
namespace Glib
{
- /** @relates Gtk::AccelLabel
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::AccelLabel
*/
Gtk::AccelLabel* wrap(GtkAccelLabel* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/action.cc b/libs/gtkmm2/gtk/gtkmm/action.cc
index 9ddf165d8e..7f05ab5ad1 100644
--- a/libs/gtkmm2/gtk/gtkmm/action.cc
+++ b/libs/gtkmm2/gtk/gtkmm/action.cc
@@ -26,6 +26,7 @@
#include <gtk/gtkaction.h>
+#include <gtkmm/menu.h>
#include <gtkmm/menuitem.h>
#include <gtkmm/toolitem.h>
#include <gtkmm/image.h>
@@ -38,8 +39,9 @@ namespace Gtk
Action::Action(const Glib::ustring& name, const Gtk::StockID& stock_id, const Glib::ustring& label, const Glib::ustring& tooltip)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Glib::Object(Glib::ConstructParams(action_class_.init(), "name",name.c_str(),"stock_id",stock_id.get_c_str(),"label",(label.empty() ? 0 : label.c_str()),"tooltip",(tooltip.empty() ? 0 : tooltip.c_str()), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Glib::Object(Glib::ConstructParams(action_class_.init(), "name",name.c_str(),"stock_id",stock_id.get_c_str(),"label",(label.empty() ? 0 : label.c_str()),"tooltip",(tooltip.empty() ? 0 : tooltip.c_str()), static_cast<char*>(0)))
{}
Glib::RefPtr<Action> Action::create(const Glib::ustring& name, const Glib::ustring& label, const Glib::ustring& tooltip)
@@ -139,7 +141,7 @@ void Action_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_VFUNCS_ENABLED
GtkWidget* Action_Class::create_menu_item_vfunc_callback(GtkAction* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -147,39 +149,42 @@ GtkWidget* Action_Class::create_menu_item_vfunc_callback(GtkAction* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return (GtkWidget*)Glib::unwrap(obj->create_menu_item_vfunc());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return (GtkWidget*)Glib::unwrap(obj->create_menu_item_vfunc());
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->create_menu_item)
+ return (*base->create_menu_item)(self);
- // Call the original underlying C function:
- if(base && base->create_menu_item)
- return (*base->create_menu_item)(self);
- }
typedef GtkWidget* RType;
return RType();
}
GtkWidget* Action_Class::create_tool_item_vfunc_callback(GtkAction* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -187,39 +192,42 @@ GtkWidget* Action_Class::create_tool_item_vfunc_callback(GtkAction* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return (GtkWidget*)Glib::unwrap(obj->create_tool_item_vfunc());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return (GtkWidget*)Glib::unwrap(obj->create_tool_item_vfunc());
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->create_tool_item)
+ return (*base->create_tool_item)(self);
- // Call the original underlying C function:
- if(base && base->create_tool_item)
- return (*base->create_tool_item)(self);
- }
typedef GtkWidget* RType;
return RType();
}
void Action_Class::connect_proxy_vfunc_callback(GtkAction* self, GtkWidget* proxy)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -227,37 +235,41 @@ void Action_Class::connect_proxy_vfunc_callback(GtkAction* self, GtkWidget* prox
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->connect_proxy_vfunc(Glib::wrap(proxy)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->connect_proxy_vfunc(Glib::wrap(proxy)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->connect_proxy)
+ (*base->connect_proxy)(self, proxy);
- // Call the original underlying C function:
- if(base && base->connect_proxy)
- (*base->connect_proxy)(self, proxy);
- }
}
void Action_Class::disconnect_proxy_vfunc_callback(GtkAction* self, GtkWidget* proxy)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -265,40 +277,44 @@ void Action_Class::disconnect_proxy_vfunc_callback(GtkAction* self, GtkWidget* p
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->disconnect_proxy_vfunc(Glib::wrap(proxy)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->disconnect_proxy_vfunc(Glib::wrap(proxy)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->disconnect_proxy)
+ (*base->disconnect_proxy)(self, proxy);
- // Call the original underlying C function:
- if(base && base->disconnect_proxy)
- (*base->disconnect_proxy)(self, proxy);
- }
}
#endif //GLIBMM_VFUNCS_ENABLED
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Action_Class::activate_callback(GtkAction* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -306,32 +322,35 @@ void Action_Class::activate_callback(GtkAction* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_activate();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_activate();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->activate)
- (*base->activate)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->activate)
+ (*base->activate)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -379,7 +398,8 @@ GType Action::get_base_type()
Action::Action()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(action_class_.init()))
{
}
@@ -443,6 +463,11 @@ ToolItem* Action::create_tool_item()
return Glib::wrap((GtkToolItem*)(gtk_action_create_tool_item(gobj())));
}
+Menu* Action::create_menu()
+{
+ return Glib::wrap((GtkMenu*)(gtk_action_create_menu(gobj())));
+}
+
void Action::connect_proxy(Widget& proxy)
{
gtk_action_connect_proxy(gobj(), (proxy).gobj());
diff --git a/libs/gtkmm2/gtk/gtkmm/action.h b/libs/gtkmm2/gtk/gtkmm/action.h
index f1ba555efa..185162821a 100644
--- a/libs/gtkmm2/gtk/gtkmm/action.h
+++ b/libs/gtkmm2/gtk/gtkmm/action.h
@@ -41,10 +41,41 @@ namespace Gtk
namespace Gtk
{
+class Menu;
class MenuItem;
class ToolItem;
class Image;
+/** An action which can be triggered by a menu or toolbar item.
+ *
+ * Actions represent operations that the user can perform, along with
+ * some information about how it should be presented in the user interface.
+ * Each action provides methods to create icons, menu items and toolbar
+ * items representing itself.
+ *
+ * As well as the callback that is called when the action is activated,
+ * the following is also associated with the action:
+ *
+ * - a name (not translated, for path lookup)
+ * - a label (translated, for display)
+ * - an accelerator
+ * - whether the label indicates a stock id
+ * - a tooltip (optional, translated)
+ * - a toolbar label (optional, shorter than label)
+ *
+ * The action will also have some state information:
+ *
+ * - visible (shown/hidden)
+ * - sensitive (enabled/disabled)
+ *
+ * Apart from regular actions, there are toggle actions,
+ * which can be toggled between two states and radio actions,
+ * of which only one in a group can be in the "active" state.
+ * Other actions can be implemented as Gtk::Action subclasses.
+ *
+ * Each action can have one or more proxy menu item, toolbar button or other proxy widgets.
+ * Proxies mirror the state of the action (text label, tooltip, icon, visible, sensitive, etc), and should change when the action's state changes. When the proxy is activated, it should activate its action.
+ */
class Action : public Glib::Object
{
@@ -93,17 +124,20 @@ private:
protected:
Action();
- explicit Action(const Glib::ustring& name, const StockID& stock_id, const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring());
+ explicit Action(const Glib::ustring& name, const StockID& stock_id = StockID(), const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring());
public:
+ //Note that gtk_action_new() does not allow name to be NULL, which suggests that we should not have a default constructor,
+ //but it's OK to set the name later:
static Glib::RefPtr<Action> create();
- static Glib::RefPtr<Action> create(const Glib::ustring& name, const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring());
- static Glib::RefPtr<Action> create(const Glib::ustring& name, const Gtk::StockID& stock_id, const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring());
+
+ static Glib::RefPtr<Action> create(const Glib::ustring& name, const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring());
+ static Glib::RefPtr<Action> create(const Glib::ustring& name, const Gtk::StockID& stock_id, const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring());
- /** Returns the name of the action.
+ /** Return value: the name of the action. The string belongs to GTK+ and should not
* @return The name of the action. The string belongs to GTK+ and should not
* be freed.
*
@@ -112,7 +146,7 @@ public:
Glib::ustring get_name() const;
- /** Returns whether the action is effectively sensitive.
+ /** Return value: <tt>true</tt> if the action and its associated action group
* @return <tt>true</tt> if the action and its associated action group
* are both sensitive.
*
@@ -120,9 +154,7 @@ public:
*/
bool is_sensitive() const;
- /** Returns whether the action itself is sensitive. Note that this doesn't
- * necessarily mean effective sensitivity. See is_sensitive()
- * for that.
+ /** Return value: <tt>true</tt> if the action itself is sensitive.
* @return <tt>true</tt> if the action itself is sensitive.
*
* @newin2p4.
@@ -143,7 +175,7 @@ public:
void set_sensitive(bool sensitive = true);
- /** Returns whether the action is effectively visible.
+ /** Return value: <tt>true</tt> if the action and its associated action group
* @return <tt>true</tt> if the action and its associated action group
* are both visible.
*
@@ -151,9 +183,7 @@ public:
*/
bool is_visible() const;
- /** Returns whether the action itself is visible. Note that this doesn't
- * necessarily mean effective visibility. See is_sensitive()
- * for that.
+ /** Return value: <tt>true</tt> if the action itself is visible.
* @return <tt>true</tt> if the action itself is visible.
*
* @newin2p4.
@@ -204,6 +234,15 @@ public:
*/
ToolItem* create_tool_item();
+ /** If @a action provides a Gtk::Menu widget as a submenu for the menu
+ * item or the toolbar item it creates, this function returns an
+ * instance of that menu.
+ * @return The menu item provided by the action, or <tt>0</tt>.
+ *
+ * @newin2p12.
+ */
+ Menu* create_menu();
+
/** Connects a widget to an action object as a proxy. Synchronises
* various properties of the action with the widget (such as label
* text, icon, tooltip, etc), and attaches a callback so that the
@@ -226,17 +265,17 @@ public:
void disconnect_proxy(Widget& proxy);
- /** Returns the proxy widgets for an action.
- * @return A G::SList of proxy widgets. The list is owned by the action and
- * must not be modified.
+ /** Return value: a G::SList of proxy widgets. The list is owned by GTK+
+ * @return A G::SList of proxy widgets. The list is owned by GTK+
+ * and must not be modified.
*
* @newin2p4.
*/
Glib::SListHandle<Widget*> get_proxies();
- /** Returns the proxy widgets for an action.
- * @return A G::SList of proxy widgets. The list is owned by the action and
- * must not be modified.
+ /** Return value: a G::SList of proxy widgets. The list is owned by GTK+
+ * @return A G::SList of proxy widgets. The list is owned by GTK+
+ * and must not be modified.
*
* @newin2p4.
*/
@@ -263,11 +302,9 @@ public:
void disconnect_accelerator();
- /** Returns the accel path for this action.
- *
- * @newin2p6
+ /** Returns: the accel path for this action, or <tt>0</tt>
* @return The accel path for this action, or <tt>0</tt>
- * if none is set. The returned string is owned by GTK+
+ * if none is set. The returned string is owned by GTK+
* and must not be freed or modified.
*/
Glib::ustring get_accel_path() const;
@@ -276,11 +313,9 @@ public:
typedef sigc::slot<void> SlotActivate;
/** The "activate" signal is emitted when the action is activated.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %activate()</tt>
+ * <tt>void on_my_%activate()</tt>
*/
Glib::SignalProxy0< void > signal_activate();
@@ -587,10 +622,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::Action
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Action
*/
Glib::RefPtr<Gtk::Action> wrap(GtkAction* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/actiongroup.cc b/libs/gtkmm2/gtk/gtkmm/actiongroup.cc
index 9512eecac1..e6634b7b4c 100644
--- a/libs/gtkmm2/gtk/gtkmm/actiongroup.cc
+++ b/libs/gtkmm2/gtk/gtkmm/actiongroup.cc
@@ -355,8 +355,9 @@ GType ActionGroup::get_base_type()
ActionGroup::ActionGroup(const Glib::ustring& name)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Glib::Object(Glib::ConstructParams(actiongroup_class_.init(), "name", name.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Glib::Object(Glib::ConstructParams(actiongroup_class_.init(), "name", name.c_str(), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/actiongroup.h b/libs/gtkmm2/gtk/gtkmm/actiongroup.h
index 4416d6102e..ea495de90a 100644
--- a/libs/gtkmm2/gtk/gtkmm/actiongroup.h
+++ b/libs/gtkmm2/gtk/gtkmm/actiongroup.h
@@ -103,10 +103,7 @@ public:
Glib::ustring get_name() const;
- /** Returns <tt>true</tt> if the group is sensitive. The constituent actions
- * can only be logically sensitive (see is_sensitive()) if
- * they are sensitive (see get_sensitive()) and their group
- * is sensitive.
+ /** Return value: <tt>true</tt> if the group is sensitive.
* @return <tt>true</tt> if the group is sensitive.
*
* @newin2p4.
@@ -120,10 +117,7 @@ public:
*/
void set_sensitive(bool sensitive = true);
- /** Returns <tt>true</tt> if the group is visible. The constituent actions
- * can only be logically visible (see is_visible()) if
- * they are visible (see get_visible()) and their group
- * is visible.
+ /** Return value: <tt>true</tt> if the group is visible.
* @return <tt>true</tt> if the group is visible.
*
* @newin2p4.
@@ -222,11 +216,9 @@ public:
*
* @param action the action
* @param proxy the proxy
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %connect_proxy(const Glib::RefPtr<Action>& action, Widget* proxy)</tt>
+ * <tt>void on_my_%connect_proxy(const Glib::RefPtr<Action>& action, Widget* proxy)</tt>
*/
Glib::SignalProxy2< void,const Glib::RefPtr<Action>&,Widget* > signal_connect_proxy();
@@ -241,11 +233,9 @@ public:
*
* @param action the action
* @param proxy the proxy
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %disconnect_proxy(const Glib::RefPtr<Action>& action, Widget* proxy)</tt>
+ * <tt>void on_my_%disconnect_proxy(const Glib::RefPtr<Action>& action, Widget* proxy)</tt>
*/
Glib::SignalProxy2< void,const Glib::RefPtr<Action>&,Widget* > signal_disconnect_proxy();
@@ -258,11 +248,9 @@ public:
* notification just before any action is activated.
*
* @action the action
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %pre_activate(const Glib::RefPtr<Action>& action)</tt>
+ * <tt>void on_my_%pre_activate(const Glib::RefPtr<Action>& action)</tt>
*/
Glib::SignalProxy1< void,const Glib::RefPtr<Action>& > signal_pre_activate();
@@ -275,11 +263,9 @@ public:
* notification just after any action is activated.
*
* @param action the action
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %post_activate(const Glib::RefPtr<Action>& action)</tt>
+ * <tt>void on_my_%post_activate(const Glib::RefPtr<Action>& action)</tt>
*/
Glib::SignalProxy1< void,const Glib::RefPtr<Action>& > signal_post_activate();
@@ -309,10 +295,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::ActionGroup
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::ActionGroup
*/
Glib::RefPtr<Gtk::ActionGroup> wrap(GtkActionGroup* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/adjustment.cc b/libs/gtkmm2/gtk/gtkmm/adjustment.cc
index 8be2188291..f250b22c3b 100644
--- a/libs/gtkmm2/gtk/gtkmm/adjustment.cc
+++ b/libs/gtkmm2/gtk/gtkmm/adjustment.cc
@@ -34,8 +34,9 @@ namespace Gtk
//If we don't do this then the value is restricted to the initial values, ignoring the specified boundaries:
Adjustment::Adjustment(double value, double lower, double upper, double step_increment, double page_increment, double page_size)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Object(Glib::ConstructParams(adjustment_class_.init(), "lower",lower,"upper",upper,"step_increment",step_increment,"page_increment",page_increment,"page_size",page_size,"value",value, (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Object(Glib::ConstructParams(adjustment_class_.init(), "lower",lower,"upper",upper,"step_increment",step_increment,"page_increment",page_increment,"page_size",page_size,"value",value, static_cast<char*>(0)))
{
}
@@ -151,7 +152,7 @@ void Adjustment_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Adjustment_Class::changed_callback(GtkAdjustment* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -159,36 +160,39 @@ void Adjustment_Class::changed_callback(GtkAdjustment* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->changed)
- (*base->changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->changed)
+ (*base->changed)(self);
}
void Adjustment_Class::value_changed_callback(GtkAdjustment* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -196,32 +200,35 @@ void Adjustment_Class::value_changed_callback(GtkAdjustment* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_value_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_value_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->value_changed)
- (*base->value_changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->value_changed)
+ (*base->value_changed)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/gtk/gtkmm/adjustment.h b/libs/gtkmm2/gtk/gtkmm/adjustment.h
index 6a5a347552..590bb809a6 100644
--- a/libs/gtkmm2/gtk/gtkmm/adjustment.h
+++ b/libs/gtkmm2/gtk/gtkmm/adjustment.h
@@ -216,17 +216,17 @@ public:
void set_page_size(double size);
-/**
+ /**
* @par Prototype:
- * <tt>void %changed()</tt>
+ * <tt>void on_my_%changed()</tt>
*/
Glib::SignalProxy0< void > signal_changed();
-/**
+ /**
* @par Prototype:
- * <tt>void %value_changed()</tt>
+ * <tt>void on_my_%value_changed()</tt>
*/
Glib::SignalProxy0< void > signal_value_changed();
@@ -239,10 +239,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Adjustment
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Adjustment
*/
Gtk::Adjustment* wrap(GtkAdjustment* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/alignment.cc b/libs/gtkmm2/gtk/gtkmm/alignment.cc
index 59555cc32a..1c1aa3ec83 100644
--- a/libs/gtkmm2/gtk/gtkmm/alignment.cc
+++ b/libs/gtkmm2/gtk/gtkmm/alignment.cc
@@ -136,15 +136,17 @@ GType Alignment::get_base_type()
Alignment::Alignment(float xalign, float yalign, float xscale, float yscale)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Bin(Glib::ConstructParams(alignment_class_.init(), "xalign", xalign, "yalign", yalign, "xscale", xscale, "yscale", yscale, (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Bin(Glib::ConstructParams(alignment_class_.init(), "xalign", xalign, "yalign", yalign, "xscale", xscale, "yscale", yscale, static_cast<char*>(0)))
{
}
Alignment::Alignment(AlignmentEnum xalign, AlignmentEnum yalign, float xscale, float yscale)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Bin(Glib::ConstructParams(alignment_class_.init(), "xalign", _gtkmm_align_float_from_enum(xalign), "yalign", _gtkmm_align_float_from_enum(yalign), "xscale", xscale, "yscale", yscale, (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Bin(Glib::ConstructParams(alignment_class_.init(), "xalign", _gtkmm_align_float_from_enum(xalign), "yalign", _gtkmm_align_float_from_enum(yalign), "xscale", xscale, "yscale", yscale, static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/alignment.h b/libs/gtkmm2/gtk/gtkmm/alignment.h
index 265d34709f..845847692c 100644
--- a/libs/gtkmm2/gtk/gtkmm/alignment.h
+++ b/libs/gtkmm2/gtk/gtkmm/alignment.h
@@ -346,10 +346,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Alignment
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Alignment
*/
Gtk::Alignment* wrap(GtkAlignment* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/arrow.cc b/libs/gtkmm2/gtk/gtkmm/arrow.cc
index a4a4f5b24f..b31c497f6d 100644
--- a/libs/gtkmm2/gtk/gtkmm/arrow.cc
+++ b/libs/gtkmm2/gtk/gtkmm/arrow.cc
@@ -152,8 +152,9 @@ GType Arrow::get_base_type()
Arrow::Arrow(ArrowType arrow_type, ShadowType shadow_type)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Misc(Glib::ConstructParams(arrow_class_.init(), "arrow_type", ((GtkArrowType)(arrow_type)), "shadow_type", ((GtkShadowType)(shadow_type)), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Misc(Glib::ConstructParams(arrow_class_.init(), "arrow_type", ((GtkArrowType)(arrow_type)), "shadow_type", ((GtkShadowType)(shadow_type)), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/arrow.h b/libs/gtkmm2/gtk/gtkmm/arrow.h
index 8a6e3e15c1..22490041cc 100644
--- a/libs/gtkmm2/gtk/gtkmm/arrow.h
+++ b/libs/gtkmm2/gtk/gtkmm/arrow.h
@@ -181,10 +181,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Arrow
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Arrow
*/
Gtk::Arrow* wrap(GtkArrow* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/aspectframe.cc b/libs/gtkmm2/gtk/gtkmm/aspectframe.cc
index 84d97d7df3..e5d33a3cf1 100644
--- a/libs/gtkmm2/gtk/gtkmm/aspectframe.cc
+++ b/libs/gtkmm2/gtk/gtkmm/aspectframe.cc
@@ -129,15 +129,17 @@ GType AspectFrame::get_base_type()
AspectFrame::AspectFrame(const Glib::ustring& label, AlignmentEnum xalign, AlignmentEnum yalign, float ratio, bool obey_child)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Frame(Glib::ConstructParams(aspectframe_class_.init(), "label", label.c_str(), "xalign", _gtkmm_align_float_from_enum(xalign), "yalign", _gtkmm_align_float_from_enum(yalign), "ratio", ratio, "obey_child", static_cast<int>(obey_child), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Frame(Glib::ConstructParams(aspectframe_class_.init(), "label", label.c_str(), "xalign", _gtkmm_align_float_from_enum(xalign), "yalign", _gtkmm_align_float_from_enum(yalign), "ratio", ratio, "obey_child", static_cast<int>(obey_child), static_cast<char*>(0)))
{
}
AspectFrame::AspectFrame(const Glib::ustring& label, float xalign, float yalign, float ratio, bool obey_child)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Frame(Glib::ConstructParams(aspectframe_class_.init(), "label", label.c_str(), "xalign", xalign, "yalign", yalign, "ratio", ratio, "obey_child", static_cast<int>(obey_child), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Frame(Glib::ConstructParams(aspectframe_class_.init(), "label", label.c_str(), "xalign", xalign, "yalign", yalign, "ratio", ratio, "obey_child", static_cast<int>(obey_child), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/aspectframe.h b/libs/gtkmm2/gtk/gtkmm/aspectframe.h
index 3ec9dffed9..a96347f8da 100644
--- a/libs/gtkmm2/gtk/gtkmm/aspectframe.h
+++ b/libs/gtkmm2/gtk/gtkmm/aspectframe.h
@@ -154,6 +154,7 @@ public:
*/
void set(float xalign, float yalign, float ratio, bool obey_child = true);
+
/** Set the properties of this AspectFrame.
* @param xalign Horizontal alignment of the child within the allocation of this
* AspectFrame. For possible values, see Gtk::AlignmentEnum.
@@ -254,10 +255,13 @@ public:
namespace Glib
{
- /** @relates Gtk::AspectFrame
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::AspectFrame
*/
Gtk::AspectFrame* wrap(GtkAspectFrame* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/assistant.cc b/libs/gtkmm2/gtk/gtkmm/assistant.cc
index c608e7a8c8..6a5b5d5a5c 100644
--- a/libs/gtkmm2/gtk/gtkmm/assistant.cc
+++ b/libs/gtkmm2/gtk/gtkmm/assistant.cc
@@ -202,7 +202,7 @@ void Assistant_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Assistant_Class::prepare_callback(GtkAssistant* self, GtkWidget* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -210,37 +210,40 @@ void Assistant_Class::prepare_callback(GtkAssistant* self, GtkWidget* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_prepare(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_prepare(Glib::wrap(p0)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->prepare)
- (*base->prepare)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->prepare)
+ (*base->prepare)(self, p0);
}
void Assistant_Class::apply_callback(GtkAssistant* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -248,36 +251,39 @@ void Assistant_Class::apply_callback(GtkAssistant* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_apply();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_apply();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->apply)
- (*base->apply)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->apply)
+ (*base->apply)(self);
}
void Assistant_Class::close_callback(GtkAssistant* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -285,36 +291,39 @@ void Assistant_Class::close_callback(GtkAssistant* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_close();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_close();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->close)
- (*base->close)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->close)
+ (*base->close)(self);
}
void Assistant_Class::cancel_callback(GtkAssistant* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -322,32 +331,35 @@ void Assistant_Class::cancel_callback(GtkAssistant* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_cancel();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_cancel();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->cancel)
- (*base->cancel)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->cancel)
+ (*base->cancel)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -393,7 +405,8 @@ GType Assistant::get_base_type()
Assistant::Assistant()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Window(Glib::ConstructParams(assistant_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/assistant.h b/libs/gtkmm2/gtk/gtkmm/assistant.h
index f932943df4..4de9bd64c8 100644
--- a/libs/gtkmm2/gtk/gtkmm/assistant.h
+++ b/libs/gtkmm2/gtk/gtkmm/assistant.h
@@ -78,7 +78,11 @@ namespace Gtk
{
-/** TODO
+/** A widget used to guide users through multi-step operations.
+ *
+ * A Gtk::Assistant is a widget used to represent a generally complex
+ * operation split into several steps, guiding the user through its
+ * pages and controlling the page flow to collect the necessary data.
*
* @newin2p10
* @ingroup Dialogs
@@ -151,20 +155,73 @@ public:
Assistant();
+ /** Return value: The index (starting from 0) of the current page in
+ * @return The index (starting from 0) of the current page in
+ * the @a assistant , if the @a assistant has no pages, -1 will be returned
+ *
+ * @newin2p10.
+ */
int get_current_page() const;
+ /** Switches the page to @a page_num . Note that this will only be necessary
+ * in custom buttons, as the @a assistant flow can be set with
+ * set_forward_page_func().
+ *
+ * @newin2p10
+ * @param page_num Index of the page to switch to, starting from 0.
+ * If negative, the last page will be used. If greater
+ * than the number of pages in the @a assistant , nothing
+ * will be done.
+ */
void set_current_page(int page_num);
+ /** Return value: The number of pages in the @a assistant .
+ * @return The number of pages in the @a assistant .
+ *
+ * @newin2p10.
+ */
int get_n_pages() const;
+ /** Return value: The child widget, or <tt>0</tt> if @a page_num is out of bounds.
+ * @param page_num The index of a page in the @a assistant , or -1 to get the last page;.
+ * @return The child widget, or <tt>0</tt> if @a page_num is out of bounds.
+ *
+ * @newin2p10.
+ */
Widget* get_nth_page(int page_num);
+ /** Return value: The child widget, or <tt>0</tt> if @a page_num is out of bounds.
+ * @param page_num The index of a page in the @a assistant , or -1 to get the last page;.
+ * @return The child widget, or <tt>0</tt> if @a page_num is out of bounds.
+ *
+ * @newin2p10.
+ */
const Widget* get_nth_page(int page_num) const;
+ /** Prepends a page to the @a assistant .
+ * @param page A Gtk::Widget.
+ * @return The index (starting at 0) of the inserted page
+ *
+ * @newin2p10.
+ */
int prepend_page(Widget& page);
+ /** Appends a page to the @a assistant .
+ * @param page A Gtk::Widget.
+ * @return The index (starting at 0) of the inserted page
+ *
+ * @newin2p10.
+ */
int append_page(Widget& page);
+ /** Inserts a page in the @a assistant at a given position.
+ * @param page A Gtk::Widget.
+ * @param position The index (starting at 0) at which to insert the page,
+ * or -1 to append the page to the @a assistant .
+ * @return The index (starting from 0) of the inserted page
+ *
+ * @newin2p10.
+ */
int insert_page(Widget& page, int position);
typedef sigc::slot<int, int /* current_page */> SlotForwardPage;
@@ -172,64 +229,167 @@ public:
void set_forward_page_func(const SlotForwardPage& slot);
+ /** Sets the page type for @a page . The page type determines the page
+ * behavior in the @a assistant .
+ *
+ * @newin2p10
+ * @param page A page of @a assistant .
+ * @param type The new type for @a page .
+ */
void set_page_type(const Widget& page, AssistantPageType type);
+ /** Gets the page type of @a page .
+ * @param page A page of @a assistant .
+ * @return The page type of @a page .
+ *
+ * @newin2p10.
+ */
AssistantPageType get_page_type(const Widget& page) const;
+ /** Sets a title for @a page . The title is displayed in the header
+ * area of the assistant when @a page is the current page.
+ *
+ * @newin2p10
+ * @param page A page of @a assistant .
+ * @param title The new title for @a page .
+ */
void set_page_title(const Widget& page, const Glib::ustring& title);
+ /** Gets the title for @a page .
+ * @param page A page of @a assistant .
+ * @return The title for @a page .
+ *
+ * @newin2p10.
+ */
Glib::ustring get_page_title(const Widget& page) const;
+ /** Sets a header image for @a page . This image is displayed in the header
+ * area of the assistant when @a page is the current page.
+ *
+ * @newin2p10
+ * @param page A page of @a assistant .
+ * @param pixbuf The new header image @a page .
+ */
void set_page_header_image(const Widget& page, const Glib::RefPtr<Gdk::Pixbuf>& pixbuf);
+ /** Gets the header image for @a page .
+ * @param page A page of @a assistant .
+ * @return The header image for @a page , or <tt>0</tt>
+ * if there's no header image for the page.
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<Gdk::Pixbuf> get_page_header_image(const Widget& page);
+ /** Gets the header image for @a page .
+ * @param page A page of @a assistant .
+ * @return The header image for @a page , or <tt>0</tt>
+ * if there's no header image for the page.
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<const Gdk::Pixbuf> get_page_header_image(const Widget& page) const;
+ /** Sets a header image for @a page . This image is displayed in the side
+ * area of the assistant when @a page is the current page.
+ *
+ * @newin2p10
+ * @param page A page of @a assistant .
+ * @param pixbuf The new header image @a page .
+ */
void set_page_side_image(const Widget& page, const Glib::RefPtr<Gdk::Pixbuf>& pixbuf);
+ /** Gets the header image for @a page .
+ * @param page A page of @a assistant .
+ * @return The side image for @a page , or <tt>0</tt>
+ * if there's no side image for the page.
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<Gdk::Pixbuf> get_page_side_image(const Widget& page);
+ /** Gets the header image for @a page .
+ * @param page A page of @a assistant .
+ * @return The side image for @a page , or <tt>0</tt>
+ * if there's no side image for the page.
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<const Gdk::Pixbuf> get_page_side_image(const Widget& page) const;
+ /** Sets whether @a page contents are complete. This will make
+ * @a assistant update the buttons state to be able to continue the task.
+ *
+ * @newin2p10
+ * @param page A page of @a assistant .
+ * @param complete The completeness status of the page.
+ */
void set_page_complete(const Widget& page, bool complete = true);
+ /** Gets whether @a page is complete..
+ * @param page A page of @a assistant .
+ * @return <tt>true</tt> if @a page is complete.
+ *
+ * @newin2p10.
+ */
bool get_page_complete(const Widget& page) const;
+ /** Adds a widget to the action area of a Gtk::Assistant.
+ *
+ * @newin2p10
+ * @param child A Gtk::Widget.
+ */
void add_action_widget(Widget& child);
+ /** Removes a widget from the action area of a Gtk::Assistant.
+ *
+ * @newin2p10
+ * @param child A Gtk::Widget.
+ */
void remove_action_widget(Widget& child);
+ /** Forces @a assistant to recompute the buttons state.
+ *
+ * GTK+ automatically takes care of this in most situations,
+ * e.g. when the user goes to a different page, or when the
+ * visibility or completeness of a page changes.
+ *
+ * One situation where it can be necessary to call this
+ * function is when changing a value on the current page
+ * affects the future page flow of the assistant.
+ *
+ * @newin2p10
+ */
void update_buttons_state();
-/**
+ /**
* @par Prototype:
- * <tt>void %prepare(Gtk::Widget* page)</tt>
+ * <tt>void on_my_%prepare(Gtk::Widget* page)</tt>
*/
Glib::SignalProxy1< void,Gtk::Widget* > signal_prepare();
-/**
+ /**
* @par Prototype:
- * <tt>void %apply()</tt>
+ * <tt>void on_my_%apply()</tt>
*/
Glib::SignalProxy0< void > signal_apply();
-/**
+ /**
* @par Prototype:
- * <tt>void %close()</tt>
+ * <tt>void on_my_%close()</tt>
*/
Glib::SignalProxy0< void > signal_close();
-/**
+ /**
* @par Prototype:
- * <tt>void %cancel()</tt>
+ * <tt>void on_my_%cancel()</tt>
*/
Glib::SignalProxy0< void > signal_cancel();
@@ -245,10 +405,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Assistant
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Assistant
*/
Gtk::Assistant* wrap(GtkAssistant* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/bin.cc b/libs/gtkmm2/gtk/gtkmm/bin.cc
index e25a25c7fe..ea15dd2ffa 100644
--- a/libs/gtkmm2/gtk/gtkmm/bin.cc
+++ b/libs/gtkmm2/gtk/gtkmm/bin.cc
@@ -233,7 +233,8 @@ GType Bin::get_base_type()
Bin::Bin()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Container(Glib::ConstructParams(bin_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/bin.h b/libs/gtkmm2/gtk/gtkmm/bin.h
index abeab46269..9bd24c9194 100644
--- a/libs/gtkmm2/gtk/gtkmm/bin.h
+++ b/libs/gtkmm2/gtk/gtkmm/bin.h
@@ -207,10 +207,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Bin
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Bin
*/
Gtk::Bin* wrap(GtkBin* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/box.cc b/libs/gtkmm2/gtk/gtkmm/box.cc
index 2f6a0ba157..dc73a7ba3c 100644
--- a/libs/gtkmm2/gtk/gtkmm/box.cc
+++ b/libs/gtkmm2/gtk/gtkmm/box.cc
@@ -331,7 +331,8 @@ BoxList::reference BoxList::operator[](size_type l) const
Box::Box()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Container(Glib::ConstructParams(box_class_.init()))
{
}
@@ -506,8 +507,9 @@ GType VBox::get_base_type()
VBox::VBox(bool homogeneous, int spacing)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Box(Glib::ConstructParams(vbox_class_.init(), "homogeneous", static_cast<int>(homogeneous), "spacing", spacing, (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Box(Glib::ConstructParams(vbox_class_.init(), "homogeneous", static_cast<int>(homogeneous), "spacing", spacing, static_cast<char*>(0)))
{
}
@@ -617,8 +619,9 @@ GType HBox::get_base_type()
HBox::HBox(bool homogeneous, int spacing)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Box(Glib::ConstructParams(hbox_class_.init(), "homogeneous", static_cast<int>(homogeneous), "spacing", spacing, (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Box(Glib::ConstructParams(hbox_class_.init(), "homogeneous", static_cast<int>(homogeneous), "spacing", spacing, static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/box.h b/libs/gtkmm2/gtk/gtkmm/box.h
index a3a0e69cdd..8eccb6b8e2 100644
--- a/libs/gtkmm2/gtk/gtkmm/box.h
+++ b/libs/gtkmm2/gtk/gtkmm/box.h
@@ -312,6 +312,20 @@ public:
* The difference between spacing (set when the box is created)
* and padding (set when elements are packed) is, that spacing is added between
* objects, and padding is added on either side of an object.
+ * @param child The Gtk::Widget to be added to @a box .
+ * @param expand <tt>true</tt> if the new child is to be given extra space allocated to
+ * @a box . The extra space will be divided evenly between all children of
+ * @a box that use this option.
+ * @param fill <tt>true</tt> if space given to @a child by the @a expand option is
+ * actually allocated to @a child , rather than just padding it. This
+ * parameter has no effect if @a expand is set to <tt>false</tt>. A child is
+ * always allocated the full height of a Gtk::HBox and the full width
+ * of a Gtk::VBox. This option affects the other dimension.
+ * @param padding Extra space in pixels to put between this child and its
+ * neighbors, over and above the global amount specified by
+ * Gtk::Box:spacing property. If @a child is a widget at one of the
+ * reference ends of @a box , then @a padding pixels are also put between
+ * @a child and the reference edge of @a box .
*/
void pack_start(Widget& child, bool expand, bool fill, guint padding = 0);
@@ -323,6 +337,24 @@ public:
void pack_start(Widget& child, PackOptions options = PACK_EXPAND_WIDGET, guint padding = 0);
+ /** Adds @a child to @a box , packed with reference to the end of @a box .
+ * The @a child is packed after (away from end of) any other child
+ * packed with reference to the end of @a box .
+ * @param child The Gtk::Widget to be added to @a box .
+ * @param expand <tt>true</tt> if the new child is to be given extra space allocated
+ * to @a box . The extra space will be divided evenly between all children
+ * of @a box that use this option.
+ * @param fill <tt>true</tt> if space given to @a child by the @a expand option is
+ * actually allocated to @a child , rather than just padding it. This
+ * parameter has no effect if @a expand is set to <tt>false</tt>. A child is
+ * always allocated the full height of a Gtk::HBox and the full width
+ * of a Gtk::VBox. This option affects the other dimension.
+ * @param padding Extra space in pixels to put between this child and its
+ * neighbors, over and above the global amount specified by
+ * Gtk::Box:spacing property. If @a child is a widget at one of the
+ * reference ends of @a box , then @a padding pixels are also put between
+ * @a child and the reference edge of @a box .
+ */
void pack_end(Widget& child, bool expand, bool fill, guint padding = 0);
/** Right side insert a widget to a box.
@@ -333,15 +365,24 @@ public:
void pack_end(Widget& child, PackOptions options = PACK_EXPAND_WIDGET, guint padding = 0);
+ /** Sets the Gtk::Box:homogeneous property of @a box , controlling
+ * whether or not all children of @a box are given equal space
+ * in the box.
+ * @param homogeneous A boolean value, <tt>true</tt> to create equal allotments,
+ * <tt>false</tt> for variable allotments.
+ */
void set_homogeneous(bool homogeneous = true);
- /** Returns whether the box is homogeneous (all children are the
- * same size). See set_homogeneous().
+ /** Return value: <tt>true</tt> if the box is homogeneous.
* @return <tt>true</tt> if the box is homogeneous.
*/
bool get_homogeneous() const;
+ /** Sets the Gtk::Box:spacing property of @a box , which is the
+ * number of pixels to place between children of @a box .
+ * @param spacing The number of pixels to put between children.
+ */
void set_spacing(int spacing);
/** Gets the value set by set_spacing().
@@ -350,6 +391,21 @@ public:
int get_spacing() const;
+ /** Moves @a child to a new @a position in the list of @a box children.
+ * The list is the &lt;structfield&gt;children&lt;/structfield&gt; field of
+ * Gtk::Box-struct, and contains both widgets packed Gtk::PACK_START
+ * as well as widgets packed Gtk::PACK_END, in the order that these
+ * widgets were added to @a box .
+ *
+ * A widget's position in the @a box children list determines where
+ * the widget is packed into @a box . A child widget at some position
+ * in the list will be packed just after all other widgets of the
+ * same packing type that appear earlier in the list.
+ * @param child The Gtk::Widget to move.
+ * @param position The new position for @a child in the list of children
+ * of @a box , starting from 0. If negative, indicates the end of
+ * the list.
+ */
void reorder_child(Widget& child, int pos);
/* Get the child widgets.
@@ -586,10 +642,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Box
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Box
*/
Gtk::Box* wrap(GtkBox* object, bool take_copy = false);
} //namespace Glib
@@ -597,10 +656,13 @@ namespace Glib
namespace Glib
{
- /** @relates Gtk::VBox
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::VBox
*/
Gtk::VBox* wrap(GtkVBox* object, bool take_copy = false);
} //namespace Glib
@@ -608,10 +670,13 @@ namespace Glib
namespace Glib
{
- /** @relates Gtk::HBox
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::HBox
*/
Gtk::HBox* wrap(GtkHBox* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/builder.cc b/libs/gtkmm2/gtk/gtkmm/builder.cc
new file mode 100644
index 0000000000..37e9338296
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm/builder.cc
@@ -0,0 +1,356 @@
+// Generated by gtkmmproc -- DO NOT MODIFY!
+
+
+#include <gtkmm/builder.h>
+#include <gtkmm/private/builder_p.h>
+
+// -*- c++ -*-
+/* $Id: builder.ccg,v 1.11 2006/05/10 20:59:27 murrayc Exp $ */
+
+/* Copyright 2007 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkbuilder.h>
+
+// Allow GtkBuilder to instantiate a gtkmm derived GType instead of the regular
+// GTK+ GType, so we can, for instance, use our vfuncs and default signal handlers.
+static GType
+get_type_from_name_vfunc_callback(GtkBuilder*, const char* type_name)
+{
+ if (!type_name)
+ return G_TYPE_INVALID;
+
+ // See if there is a gtkmm version of the gclass:
+ Glib::ustring classname_prefixed ("gtkmm__"); // gtkmm uses a prefix
+ classname_prefixed += type_name;
+
+ GType gtype = g_type_from_name(classname_prefixed.c_str());
+
+ if(gtype == G_TYPE_INVALID) // if it's not a registered typename
+ {
+ // There's no gtkmm derived type, so just use the normal one.
+ gtype = g_type_from_name(type_name);
+ }
+
+ return gtype;
+}
+
+namespace Gtk
+{
+
+//static
+Glib::RefPtr<Builder> Builder::create_from_file(const std::string& filename)
+{
+ Glib::RefPtr<Builder> builder = Builder::create();
+ if(builder->add_from_file(filename))
+ return builder;
+ else
+ return Glib::RefPtr<Builder>();
+}
+
+//static
+Glib::RefPtr<Builder> Builder::create_from_string(const Glib::ustring& buffer)
+{
+ Glib::RefPtr<Builder> builder = Builder::create();
+ if(builder->add_from_string(buffer))
+ return builder;
+ else
+ return Glib::RefPtr<Builder>();
+}
+
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+bool Builder::add_from_string(const Glib::ustring& buffer)
+#else
+bool Builder::add_from_string(const Glib::ustring& buffer, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ bool retvalue = gtk_builder_add_from_string(gobj(), buffer.c_str(), -1 /* means null-terminated */, &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+GtkWidget* Builder::get_cwidget(const Glib::ustring& name)
+{
+ GObject *cobject = gtk_builder_get_object (gobj(), name.c_str());
+ if(!cobject)
+ {
+ g_critical("gtkmm: object `%s' not found in GtkBuilder file.", name.c_str());
+ return 0;
+ }
+
+ if (!GTK_IS_WIDGET (cobject))
+ {
+ g_critical("gtkmm: object `%s' (type=`%s') (in GtkBuilder file) is not a widget type.",
+ name.c_str(), G_OBJECT_TYPE_NAME(cobject));
+ /* TODO: Unref/sink it? */
+ return 0;
+ }
+
+ return GTK_WIDGET (cobject);
+}
+
+Gtk::Widget* Builder::get_widget_checked(const Glib::ustring& name, GType type)
+{
+ // Get the widget from the GtkBuilder file.
+ GtkWidget *cobject = get_cwidget(name);
+
+ // Check if it has the correct type.
+ if(!g_type_is_a(G_OBJECT_TYPE(cobject), type))
+ {
+ g_critical("gtkmm: widget `%s' (in GtkBuilder file) is of type `%s' but `%s' was expected",
+ name.c_str(), G_OBJECT_TYPE_NAME(cobject), g_type_name(type));
+ return 0;
+ }
+
+ return Glib::wrap (GTK_WIDGET (cobject));
+}
+
+
+} // namespace Gtk
+
+
+namespace
+{
+} // anonymous namespace
+
+
+Gtk::BuilderError::BuilderError(Gtk::BuilderError::Code error_code, const Glib::ustring& error_message)
+:
+ Glib::Error (GTK_BUILDER_ERROR, error_code, error_message)
+{}
+
+Gtk::BuilderError::BuilderError(GError* gobject)
+:
+ Glib::Error (gobject)
+{}
+
+Gtk::BuilderError::Code Gtk::BuilderError::code() const
+{
+ return static_cast<Code>(Glib::Error::code());
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+void Gtk::BuilderError::throw_func(GError* gobject)
+{
+ throw Gtk::BuilderError(gobject);
+}
+#else
+//When not using exceptions, we just pass the Exception object around without throwing it:
+std::auto_ptr<Glib::Error> Gtk::BuilderError::throw_func(GError* gobject)
+{
+ return std::auto_ptr<Glib::Error>(new Gtk::BuilderError(gobject));
+}
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+// static
+GType Glib::Value<Gtk::BuilderError::Code>::value_type()
+{
+ return gtk_builder_error_get_type();
+}
+
+
+namespace Glib
+{
+
+Glib::RefPtr<Gtk::Builder> wrap(GtkBuilder* object, bool take_copy)
+{
+ return Glib::RefPtr<Gtk::Builder>( dynamic_cast<Gtk::Builder*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ //We use dynamic_cast<> in case of multiple inheritance.
+}
+
+} /* namespace Glib */
+
+
+namespace Gtk
+{
+
+
+/* The *_Class implementation: */
+
+const Glib::Class& Builder_Class::init()
+{
+ if(!gtype_) // create the GType if necessary
+ {
+ // Glib::Class has to know the class init function to clone custom types.
+ class_init_func_ = &Builder_Class::class_init_function;
+
+ // This is actually just optimized away, apparently with no harm.
+ // Make sure that the parent type has been created.
+ //CppClassParent::CppObjectType::get_type();
+
+ // Create the wrapper type, with the same class/instance size as the base type.
+ register_derived_type(gtk_builder_get_type());
+
+ // Add derived versions of interfaces, if the C type implements any interfaces:
+ }
+
+ return *this;
+}
+
+void Builder_Class::class_init_function(void* g_class, void* class_data)
+{
+ BaseClassType *const klass = static_cast<BaseClassType*>(g_class);
+ CppClassParent::class_init_function(klass, class_data);
+
+#ifdef GLIBMM_VFUNCS_ENABLED
+ klass->get_type_from_name = &get_type_from_name_vfunc_callback;
+ #endif //GLIBMM_VFUNCS_ENABLED
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+}
+
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+
+Glib::ObjectBase* Builder_Class::wrap_new(GObject* object)
+{
+ return new Builder((GtkBuilder*)object);
+}
+
+
+/* The implementation: */
+
+GtkBuilder* Builder::gobj_copy()
+{
+ reference();
+ return gobj();
+}
+
+Builder::Builder(const Glib::ConstructParams& construct_params)
+:
+ Glib::Object(construct_params)
+{}
+
+Builder::Builder(GtkBuilder* castitem)
+:
+ Glib::Object((GObject*)(castitem))
+{}
+
+Builder::~Builder()
+{}
+
+
+Builder::CppClassType Builder::builder_class_; // initialize static member
+
+GType Builder::get_type()
+{
+ return builder_class_.init().get_type();
+}
+
+GType Builder::get_base_type()
+{
+ return gtk_builder_get_type();
+}
+
+
+Builder::Builder()
+:
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Glib::Object(Glib::ConstructParams(builder_class_.init()))
+{
+ }
+
+Glib::RefPtr<Builder> Builder::create()
+{
+ return Glib::RefPtr<Builder>( new Builder() );
+}
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+bool Builder::add_from_file(const std::string& filename)
+#else
+bool Builder::add_from_file(const std::string& filename, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ bool retvalue = gtk_builder_add_from_file(gobj(), filename.c_str(), &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+bool Builder::add_from_string(const char* buffer, gsize length)
+#else
+bool Builder::add_from_string(const char* buffer, gsize length, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ bool retvalue = gtk_builder_add_from_string(gobj(), buffer, length, &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+
+}
+
+Glib::RefPtr<Glib::Object> Builder::get_object(const Glib::ustring& name)
+{
+
+ Glib::RefPtr<Glib::Object> retvalue = Glib::wrap(gtk_builder_get_object(gobj(), name.c_str()));
+ if(retvalue)
+ retvalue->reference(); //The function does not do a ref for us.
+ return retvalue;
+
+}
+
+void Builder::set_translation_domain(const Glib::ustring& domain)
+{
+gtk_builder_set_translation_domain(gobj(), domain.c_str());
+}
+
+Glib::ustring Builder::get_translation_domain() const
+{
+ return Glib::convert_const_gchar_ptr_to_ustring(gtk_builder_get_translation_domain(const_cast<GtkBuilder*>(gobj())));
+}
+
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+
+} // namespace Gtk
+
+
diff --git a/libs/gtkmm2/gtk/gtkmm/builder.h b/libs/gtkmm2/gtk/gtkmm/builder.h
new file mode 100644
index 0000000000..aac354ac99
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm/builder.h
@@ -0,0 +1,401 @@
+// -*- c++ -*-
+// Generated by gtkmmproc -- DO NOT MODIFY!
+#ifndef _GTKMM_BUILDER_H
+#define _GTKMM_BUILDER_H
+
+
+#include <glibmm.h>
+
+/* $Id: builder.hg,v 1.19 2006/05/10 20:59:27 murrayc Exp $ */
+
+/* Copyright (C) 2007 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/widget.h>
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+typedef struct _GtkBuilder GtkBuilder;
+typedef struct _GtkBuilderClass GtkBuilderClass;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Gtk
+{ class Builder_Class; } // namespace Gtk
+namespace Gtk
+{
+
+/** Exception class for Gdk::Builder errors.
+ */
+class BuilderError : public Glib::Error
+{
+public:
+ enum Code
+ {
+ INVALID_TYPE_FUNCTION,
+ UNHANDLED_TAG,
+ MISSING_ATTRIBUTE,
+ INVALID_ATTRIBUTE,
+ INVALID_TAG,
+ MISSING_PROPERTY_VALUE,
+ INVALID_VALUE
+ };
+
+ BuilderError(Code error_code, const Glib::ustring& error_message);
+ explicit BuilderError(GError* gobject);
+ Code code() const;
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+private:
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ static void throw_func(GError* gobject);
+#else
+ //When not using exceptions, we just pass the Exception object around without throwing it:
+ static std::auto_ptr<Glib::Error> throw_func(GError* gobject);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ friend void wrap_init(); // uses throw_func()
+#endif
+};
+
+} // namespace Gtk
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+namespace Glib
+{
+
+template <>
+class Value<Gtk::BuilderError::Code> : public Glib::Value_Enum<Gtk::BuilderError::Code>
+{
+public:
+ static GType value_type() G_GNUC_CONST;
+};
+
+} // namespace Glib
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Gtk
+{
+
+
+/** Build an interface from a UI definition description.
+ *
+ * This object represents an `instantiation' of an UI definition description.
+ * When one of these objects is created, the XML file is read, and the interface
+ * is created. The Gtk::Builder object then provides an interface for accessing the
+ * widgets in the interface by the names assigned to them inside the UI description.
+ *
+ * @newin2p12
+ */
+
+class Builder : public Glib::Object
+{
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+public:
+ typedef Builder CppObjectType;
+ typedef Builder_Class CppClassType;
+ typedef GtkBuilder BaseObjectType;
+ typedef GtkBuilderClass BaseClassType;
+
+private: friend class Builder_Class;
+ static CppClassType builder_class_;
+
+private:
+ // noncopyable
+ Builder(const Builder&);
+ Builder& operator=(const Builder&);
+
+protected:
+ explicit Builder(const Glib::ConstructParams& construct_params);
+ explicit Builder(GtkBuilder* castitem);
+
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+public:
+ virtual ~Builder();
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ static GType get_type() G_GNUC_CONST;
+ static GType get_base_type() G_GNUC_CONST;
+#endif
+
+ ///Provides access to the underlying C GObject.
+ GtkBuilder* gobj() { return reinterpret_cast<GtkBuilder*>(gobject_); }
+
+ ///Provides access to the underlying C GObject.
+ const GtkBuilder* gobj() const { return reinterpret_cast<GtkBuilder*>(gobject_); }
+
+ ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
+ GtkBuilder* gobj_copy();
+
+private:
+
+
+protected:
+ Builder();
+
+
+public:
+ /** Creates a new builder object.
+ */
+
+ static Glib::RefPtr<Builder> create();
+
+
+ /** Parses a file containing a GtkBuilder UI definition.
+ *
+ * @param filename the name of the file to parse.
+ * @result A new Builder object, or a null pointer if an error occurred.
+ * @throws Glib::FileError, Glib::MarkupError
+ *
+ * @newin2p12
+ **/
+ static Glib::RefPtr<Builder> create_from_file(const std::string& filename);
+
+
+ /** Parses a string containing a GtkBuilder UI definition.
+ *
+ * @buffer: the string to parse
+ * @result A new Builder object, or a null pointer if an error occurred.
+ * @throws Glib::MarkupError
+ *
+ * @newin2p12
+ **/
+ static Glib::RefPtr<Builder> create_from_string(const Glib::ustring& buffer);
+
+
+ /** Parses a file containing a GtkBuilder
+ * UI definition and merges it with the current contents of @a builder .
+ * @param filename The name of the file to parse.
+ * @param error Return location for an error, or <tt>0</tt>.
+ * @return A positive value on success, 0 if an error occurred
+ *
+ * @newin2p12.
+ */
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ bool add_from_file(const std::string& filename);
+#else
+ bool add_from_file(const std::string& filename, std::auto_ptr<Glib::Error>& error);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+
+ /** Parses a string containing a GtkBuilder UI definition
+ * and merges it with the current contents of the builder.
+ *
+ * @buffer: the string to parse
+ * @result true on success or false if an error occurred.
+ * @throws Glib::MarkupError
+ *
+ * @newin2p12
+ **/
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ bool add_from_string(const Glib::ustring& buffer);
+ #else
+ bool add_from_string(const Glib::ustring& buffer, std::auto_ptr<Glib::Error>& error);
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+
+ /** Parses a string containing a GtkBuilder
+ * UI definition and merges it with the current contents of @a builder .
+ * @param buffer The string to parse.
+ * @param length The length of @a buffer (may be -1 if @a buffer is nul-terminated).
+ * @param error Return location for an error, or <tt>0</tt>.
+ * @return A positive value on success, 0 if an error occurred
+ *
+ * @newin2p12.
+ */
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ bool add_from_string(const char* buffer, gsize length);
+#else
+ bool add_from_string(const char* buffer, gsize length, std::auto_ptr<Glib::Error>& error);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+
+ //TODO: Custom-implement this and prevent it from being used with GTK_WIDGET-derived types?
+
+ /** Gets the object named @a name . Note that this function does not
+ * increment the reference count of the returned object.
+ * @param name Name of object to get.
+ * @return The object named @a name or <tt>0</tt> if it could not be
+ * found in the object tree.
+ *
+ * @newin2p12.
+ */
+ Glib::RefPtr<Glib::Object> get_object(const Glib::ustring& name);
+
+ /** Get a widget from the Builder file.
+ * For instance:
+ * @code
+ * Gtk::Table* pTable = 0;
+ * refXml->get_widget("mytable", pTable);
+ * @endcode
+ * This method prints a warning message to the console if the widget
+ * doesn't exist or has the wrong type, so you don't need to check that
+ * manually.
+ *
+ * Note that you are responsible for deleting top-level widgets (windows and
+ * dialogs) instantiated by the Builder object. Other widgets are instantiated as
+ * managed so they will be deleted automatically if you add them to a
+ * container widget.
+ *
+ * @param name The name of the widget.
+ * @retval widget A pointer to the widget, or <tt>0</tt> on failure.
+ */
+ template <class T_Widget> inline
+ void get_widget(const Glib::ustring& name, T_Widget*& widget)
+ {
+ // Initialize output parameter:
+ widget = 0;
+
+ // The dynamic_cast<> should never fail if get_widget_checked() succeeded.
+ widget = dynamic_cast<T_Widget*>(this->get_widget_checked(name, T_Widget::get_base_type()));
+
+ if(!widget)
+ g_critical("Gtk::Builder::get_widget(): dynamic_cast<> failed.");
+ }
+
+ /** This provides a pointer to a widget whose details are specified in the GtkBuilder file, but which is implemented
+ * by your own derived class. Your class must have a constructor like so:
+ * @code
+ * DerivedDialog::DerivedDialog(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& refBuilder)
+ * : Gtk::Dialog(cobject) //Calls the base class constructor
+ * @endcode
+ *
+ * For instance:
+ * @code
+ * Gtk::DerivedBox* pBox = 0;
+ * refXml->get_widget_derived("mybox", pBox);
+ * @endcode
+ *
+ * @param name The name of the widget.
+ * @retval widget A pointer to the widget, or <tt>0</tt> on failure.
+ */
+ template <class T_Widget> inline
+ void get_widget_derived(const Glib::ustring& name, T_Widget*& widget)
+ {
+ // Initialize output parameter:
+ widget = 0;
+
+ // Get the widget from the glade file.
+ typedef typename T_Widget::BaseObjectType cwidget_type;
+ cwidget_type* pCWidget = (cwidget_type*)get_cwidget(name);
+
+ //The error was already reported by get_cwidget().
+ if(!pCWidget)
+ return;
+
+ //Check whether there is already a C++ wrapper instance associated with this C instance:
+ Glib::ObjectBase* pObjectBase = ObjectBase::_get_current_wrapper((GObject*)pCWidget);
+
+ //If there is already a C++ instance, then return it again:
+ if(pObjectBase)
+ {
+ widget = dynamic_cast<T_Widget*>( Glib::wrap((GtkWidget*)pCWidget) );
+ //Newer, more spec-complaint, versions of g++ cannot resolve a specific wrap() function in a template.
+
+ //The dynamic cast checks that it is of the correct type.
+ //Somebody might be trying to call get_widget_derived() after already calling get_widget(),
+ //or after already calling get_widget_derived() with a different derived C++ type.
+ if(!widget)
+ g_critical("Gtk::Builder::get_widget_derived(): dynamic_cast<> failed. An existing C++ instance, of a different type, seems to exist.");
+ }
+ else
+ {
+ //Create a new C++ instance to wrap the existing C instance:
+
+ //Set the output variable. We needed to do this because we can not template the return type.
+ Glib::RefPtr<Gtk::Builder> refThis(this);
+ refThis->reference(); //take a copy.
+ widget = new T_Widget(pCWidget, refThis);
+ }
+ }
+
+
+ //TODO:_WRAP_METHOD(GSList* get_objects(), gtk_builder_get_objects)
+ //_WRAP_METHOD(void connect_signals(gpointer user_data), gtk_builder_connect_signals)
+ //_WRAP_METHOD(void connect_signals_full(GtkBuilderConnectFunc func, gpointer user_data), gtk_builder_connect_signals_full)
+
+ /** Sets the translation domain of @a builder .
+ * See Gtk::Builder:translation-domain.
+ *
+ * @newin2p12
+ * @param domain The translation domain or <tt>0</tt>.
+ */
+ void set_translation_domain(const Glib::ustring& domain);
+
+ /** Gets the translation domain of @a builder .
+ * @return The translation domain. This string is owned
+ * by the builder object and must not be modified or freed.
+ *
+ * @newin2p12.
+ */
+ Glib::ustring get_translation_domain() const;
+
+ //We ignore gtk_builder_get_type_from_name() because it only seems useful when implementing GtkBuildable for widgets.
+
+
+protected:
+ Gtk::Widget* get_widget_checked(const Glib::ustring& name, GType type);
+ GtkWidget* get_cwidget(const Glib::ustring& name);
+
+
+ // TODO: Make sure this is actually invoked even with disabled vfuncs so
+ // that glade creates gtkmm's GObjects.
+
+
+public:
+
+public:
+ //C++ methods used to invoke GTK+ virtual functions:
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+protected:
+ //GTK+ Virtual Functions (override these to change behaviour):
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+ //Default Signal Handlers::
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+
+};
+
+} // namespace Gtk
+
+
+namespace Glib
+{
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
+ * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
+ * @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Builder
+ */
+ Glib::RefPtr<Gtk::Builder> wrap(GtkBuilder* object, bool take_copy = false);
+}
+
+
+#endif /* _GTKMM_BUILDER_H */
+
diff --git a/libs/gtkmm2/gtk/gtkmm/button.cc b/libs/gtkmm2/gtk/gtkmm/button.cc
index 4c4bbd8230..7de6c51f6f 100644
--- a/libs/gtkmm2/gtk/gtkmm/button.cc
+++ b/libs/gtkmm2/gtk/gtkmm/button.cc
@@ -37,14 +37,16 @@ namespace Gtk
Button::Button(const Glib::ustring& label, bool mnemonic)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Bin(Glib::ConstructParams(button_class_.init(), "label",label.c_str(),"use_underline",gboolean(mnemonic), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Bin(Glib::ConstructParams(button_class_.init(), "label",label.c_str(),"use_underline",gboolean(mnemonic), static_cast<char*>(0)))
{}
Button::Button(const StockID& stock_id)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Bin(Glib::ConstructParams(button_class_.init(), "use_stock",1,"label",stock_id.get_c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Bin(Glib::ConstructParams(button_class_.init(), "use_stock",1,"label",stock_id.get_c_str(), static_cast<char*>(0)))
{}
} // namespace Gtk
@@ -165,7 +167,7 @@ void Button_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Button_Class::pressed_callback(GtkButton* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -173,36 +175,39 @@ void Button_Class::pressed_callback(GtkButton* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_pressed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_pressed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->pressed)
- (*base->pressed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->pressed)
+ (*base->pressed)(self);
}
void Button_Class::released_callback(GtkButton* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -210,36 +215,39 @@ void Button_Class::released_callback(GtkButton* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_released();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_released();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->released)
- (*base->released)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->released)
+ (*base->released)(self);
}
void Button_Class::clicked_callback(GtkButton* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -247,36 +255,39 @@ void Button_Class::clicked_callback(GtkButton* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_clicked();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_clicked();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->clicked)
- (*base->clicked)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->clicked)
+ (*base->clicked)(self);
}
void Button_Class::enter_callback(GtkButton* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -284,36 +295,39 @@ void Button_Class::enter_callback(GtkButton* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_enter();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_enter();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->enter)
- (*base->enter)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->enter)
+ (*base->enter)(self);
}
void Button_Class::leave_callback(GtkButton* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -321,36 +335,39 @@ void Button_Class::leave_callback(GtkButton* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_leave();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_leave();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->leave)
- (*base->leave)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->leave)
+ (*base->leave)(self);
}
void Button_Class::activate_callback(GtkButton* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -358,32 +375,35 @@ void Button_Class::activate_callback(GtkButton* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_activate();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_activate();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->activate)
- (*base->activate)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->activate)
+ (*base->activate)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -429,7 +449,8 @@ GType Button::get_base_type()
Button::Button()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Bin(Glib::ConstructParams(button_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/button.h b/libs/gtkmm2/gtk/gtkmm/button.h
index 990ede4163..246718baeb 100644
--- a/libs/gtkmm2/gtk/gtkmm/button.h
+++ b/libs/gtkmm2/gtk/gtkmm/button.h
@@ -186,20 +186,19 @@ public:
*/
void set_use_underline(bool use_underline = true);
- /** Returns whether an embedded underline in the button label indicates a
- * mnemonic. See set_use_underline().
+ /** Return value: <tt>true</tt> if an embedded underline in the button label
* @return <tt>true</tt> if an embedded underline in the button label
* indicates the mnemonic accelerator keys.
*/
bool get_use_underline() const;
- /** If true, the label set on the button is used as a
+ /** If <tt>true</tt>, the label set on the button is used as a
* stock id to select the stock item for the button.
* @param use_stock <tt>true</tt> if the button should use a stock item.
*/
void set_use_stock(bool use_stock = true);
- /** Returns whether the button label is a stock item.
+ /** Return value: <tt>true</tt> if the button label is used to
* @return <tt>true</tt> if the button label is used to
* select a stock item instead of being
* used directly as the label text.
@@ -217,8 +216,7 @@ public:
*/
void set_focus_on_click(bool focus_on_click = true);
- /** Returns whether the button grabs focus when it is clicked with the mouse.
- * See set_focus_on_click().
+ /** Return value: <tt>true</tt> if the button grabs focus when it is clicked with
* @return <tt>true</tt> if the button grabs focus when it is clicked with
* the mouse.
*
@@ -248,7 +246,7 @@ public:
/** Set the image of @a button to the given widget. Note that
- * it depends on the gtk-button-images setting whether the
+ * it depends on the Gtk::Settings:gtk-button-images setting whether the
* image will be displayed or not, you don't have to call
* Gtk::Widget::show() on @a image yourself.
*
@@ -274,54 +272,66 @@ public:
const Widget* get_image() const;
+ /** Sets the position of the image relative to the text
+ * inside the button.
+ *
+ * @newin2p10
+ * @param position The position.
+ */
void set_image_position(PositionType position);
+ /** Gets the position of the image relative to the text
+ * inside the button.
+ * @return The position
+ *
+ * @newin2p10.
+ */
PositionType get_image_position() const;
-/**
+ /**
* @par Prototype:
- * <tt>void %pressed()</tt>
+ * <tt>void on_my_%pressed()</tt>
*/
Glib::SignalProxy0< void > signal_pressed();
-/**
+ /**
* @par Prototype:
- * <tt>void %released()</tt>
+ * <tt>void on_my_%released()</tt>
*/
Glib::SignalProxy0< void > signal_released();
-/**
+ /**
* @par Prototype:
- * <tt>void %clicked()</tt>
+ * <tt>void on_my_%clicked()</tt>
*/
Glib::SignalProxy0< void > signal_clicked();
-/**
+ /**
* @par Prototype:
- * <tt>void %enter()</tt>
+ * <tt>void on_my_%enter()</tt>
*/
Glib::SignalProxy0< void > signal_enter();
-/**
+ /**
* @par Prototype:
- * <tt>void %leave()</tt>
+ * <tt>void on_my_%leave()</tt>
*/
Glib::SignalProxy0< void > signal_leave();
-/**
+ /**
* @par Prototype:
- * <tt>void %activate()</tt>
+ * <tt>void on_my_%activate()</tt>
*/
Glib::SignalProxy0< void > signal_activate();
@@ -521,10 +531,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Button
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Button
*/
Gtk::Button* wrap(GtkButton* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/buttonbox.cc b/libs/gtkmm2/gtk/gtkmm/buttonbox.cc
index 72f0ad3f73..0c5a2e1f65 100644
--- a/libs/gtkmm2/gtk/gtkmm/buttonbox.cc
+++ b/libs/gtkmm2/gtk/gtkmm/buttonbox.cc
@@ -34,8 +34,9 @@ namespace Gtk
VButtonBox::VButtonBox(ButtonBoxStyle layout, int spacing)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- ButtonBox(Glib::ConstructParams(vbuttonbox_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ ButtonBox(Glib::ConstructParams(vbuttonbox_class_.init()))
{
set_layout(layout);
set_spacing(spacing);
@@ -43,8 +44,9 @@ VButtonBox::VButtonBox(ButtonBoxStyle layout, int spacing)
HButtonBox::HButtonBox(ButtonBoxStyle layout, int spacing)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- ButtonBox(Glib::ConstructParams(hbuttonbox_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ ButtonBox(Glib::ConstructParams(hbuttonbox_class_.init()))
{
set_layout(layout);
set_spacing(spacing);
diff --git a/libs/gtkmm2/gtk/gtkmm/buttonbox.h b/libs/gtkmm2/gtk/gtkmm/buttonbox.h
index 7d0665f92b..9382184e49 100644
--- a/libs/gtkmm2/gtk/gtkmm/buttonbox.h
+++ b/libs/gtkmm2/gtk/gtkmm/buttonbox.h
@@ -153,7 +153,7 @@ public:
*/
void set_child_secondary(Widget& child, bool is_secondary = true);
- /** Returns whether @a child should appear in a secondary group of children.
+ /** Return value: whether @a child should appear in a secondary group of children.
* @param child A child of @a widget .
* @return Whether @a child should appear in a secondary group of children.
*
@@ -355,10 +355,13 @@ public:
namespace Glib
{
- /** @relates Gtk::ButtonBox
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::ButtonBox
*/
Gtk::ButtonBox* wrap(GtkButtonBox* object, bool take_copy = false);
} //namespace Glib
@@ -366,10 +369,13 @@ namespace Glib
namespace Glib
{
- /** @relates Gtk::VButtonBox
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::VButtonBox
*/
Gtk::VButtonBox* wrap(GtkVButtonBox* object, bool take_copy = false);
} //namespace Glib
@@ -377,10 +383,13 @@ namespace Glib
namespace Glib
{
- /** @relates Gtk::HButtonBox
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::HButtonBox
*/
Gtk::HButtonBox* wrap(GtkHButtonBox* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/calendar.cc b/libs/gtkmm2/gtk/gtkmm/calendar.cc
index 819d4229b9..c2ce8de687 100644
--- a/libs/gtkmm2/gtk/gtkmm/calendar.cc
+++ b/libs/gtkmm2/gtk/gtkmm/calendar.cc
@@ -32,8 +32,21 @@
namespace Gtk
{
+void Calendar::get_date(Glib::Date& date) const
+{
+ guint year = 0;
+ guint month = 0;
+ guint day = 0;
+
+ get_date(year, month, day);
+
+ date.set_year(year);
+ date.set_month(static_cast<Glib::Date::Month>(Glib::Date::JANUARY + month)); // Month from 1 to 12 instead from 0 to 11
+ date.set_day(day);
}
+} //namespace Gtk
+
namespace
{
@@ -165,7 +178,7 @@ void Calendar_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Calendar_Class::month_changed_callback(GtkCalendar* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -173,36 +186,39 @@ void Calendar_Class::month_changed_callback(GtkCalendar* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_month_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_month_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->month_changed)
- (*base->month_changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->month_changed)
+ (*base->month_changed)(self);
}
void Calendar_Class::day_selected_callback(GtkCalendar* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -210,36 +226,39 @@ void Calendar_Class::day_selected_callback(GtkCalendar* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_day_selected();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_day_selected();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->day_selected)
- (*base->day_selected)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->day_selected)
+ (*base->day_selected)(self);
}
void Calendar_Class::day_selected_double_click_callback(GtkCalendar* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -247,36 +266,39 @@ void Calendar_Class::day_selected_double_click_callback(GtkCalendar* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_day_selected_double_click();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_day_selected_double_click();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->day_selected_double_click)
- (*base->day_selected_double_click)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->day_selected_double_click)
+ (*base->day_selected_double_click)(self);
}
void Calendar_Class::prev_month_callback(GtkCalendar* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -284,36 +306,39 @@ void Calendar_Class::prev_month_callback(GtkCalendar* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_prev_month();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_prev_month();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->prev_month)
- (*base->prev_month)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->prev_month)
+ (*base->prev_month)(self);
}
void Calendar_Class::next_month_callback(GtkCalendar* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -321,36 +346,39 @@ void Calendar_Class::next_month_callback(GtkCalendar* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_next_month();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_next_month();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->next_month)
- (*base->next_month)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->next_month)
+ (*base->next_month)(self);
}
void Calendar_Class::prev_year_callback(GtkCalendar* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -358,36 +386,39 @@ void Calendar_Class::prev_year_callback(GtkCalendar* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_prev_year();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_prev_year();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->prev_year)
- (*base->prev_year)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->prev_year)
+ (*base->prev_year)(self);
}
void Calendar_Class::next_year_callback(GtkCalendar* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -395,32 +426,35 @@ void Calendar_Class::next_year_callback(GtkCalendar* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_next_year();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_next_year();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->next_year)
- (*base->next_year)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->next_year)
+ (*base->next_year)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -466,7 +500,8 @@ GType Calendar::get_base_type()
Calendar::Calendar()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Widget(Glib::ConstructParams(calendar_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/calendar.h b/libs/gtkmm2/gtk/gtkmm/calendar.h
index 915ba1af21..4e5c466d4b 100644
--- a/libs/gtkmm2/gtk/gtkmm/calendar.h
+++ b/libs/gtkmm2/gtk/gtkmm/calendar.h
@@ -28,6 +28,7 @@
*/
#include <gtkmm/widget.h>
+#include <glibmm/date.h>
#ifndef DOXYGEN_SHOULD_SKIP_THIS
@@ -236,7 +237,7 @@ public:
/** Sets display options (whether to display the heading and the month headings).
*
- * Deprecated: Use set_display_options() instead
+ * Deprecated: 2.4: Use set_display_options() instead
* @param flags The display options to set.
*/
void display_options(CalendarDisplayOptions flags);
@@ -251,7 +252,7 @@ public:
*/
void set_display_options(CalendarDisplayOptions flags);
- /** Returns the current display options of @a calendar .
+ /** Return value: the display options.
* @return The display options.
*
* @newin2p4.
@@ -265,69 +266,80 @@ public:
* @param day Location to store the day number (between 1 and 31), or <tt>0</tt>.
*/
void get_date(guint& year, guint& month, guint& day) const;
+ // Additional method not in GTK (#350584)
+ /** Get the date as Glib::Date
+ *
+ * @param date Referenz to set the date
+ */
+ void get_date(Glib::Date& date) const;
+
/** Does nothing. Previously locked the display of the calendar until
* it was thawed with thaw().
+ *
+ * Deprecated: 2.8:
*/
void freeze();
/** Does nothing. Previously defrosted a calendar; all the changes made
* since the last freeze() were displayed.
+ *
+ * Deprecated: 2.8:
*/
void thaw();
-/**
+ /**
* @par Prototype:
- * <tt>void %month_changed()</tt>
+ * <tt>void on_my_%month_changed()</tt>
*/
Glib::SignalProxy0< void > signal_month_changed();
-/**
+ /**
* @par Prototype:
- * <tt>void %day_selected()</tt>
+ * <tt>void on_my_%day_selected()</tt>
*/
Glib::SignalProxy0< void > signal_day_selected();
-/**
+ /**
* @par Prototype:
- * <tt>void %day_selected_double_click()</tt>
+ * <tt>void on_my_%day_selected_double_click()</tt>
*/
Glib::SignalProxy0< void > signal_day_selected_double_click();
-/**
+ /**
* @par Prototype:
- * <tt>void %prev_month()</tt>
+ * <tt>void on_my_%prev_month()</tt>
*/
Glib::SignalProxy0< void > signal_prev_month();
-/**
+ /**
* @par Prototype:
- * <tt>void %next_month()</tt>
+ * <tt>void on_my_%next_month()</tt>
*/
Glib::SignalProxy0< void > signal_next_month();
-/**
+ /**
* @par Prototype:
- * <tt>void %prev_year()</tt>
+ * <tt>void on_my_%prev_year()</tt>
*/
Glib::SignalProxy0< void > signal_prev_year();
-/**
+ /**
* @par Prototype:
- * <tt>void %next_year()</tt>
+ * <tt>void on_my_%next_year()</tt>
*/
Glib::SignalProxy0< void > signal_next_year();
@@ -340,10 +352,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Calendar
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Calendar
*/
Gtk::Calendar* wrap(GtkCalendar* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/celleditable.cc b/libs/gtkmm2/gtk/gtkmm/celleditable.cc
index a2013f9d5e..53908b7377 100644
--- a/libs/gtkmm2/gtk/gtkmm/celleditable.cc
+++ b/libs/gtkmm2/gtk/gtkmm/celleditable.cc
@@ -55,7 +55,7 @@ namespace Glib
Glib::RefPtr<Gtk::CellEditable> wrap(GtkCellEditable* object, bool take_copy)
{
- return Glib::RefPtr<Gtk::CellEditable>( dynamic_cast<Gtk::CellEditable*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ return Glib::RefPtr<Gtk::CellEditable>( dynamic_cast<Gtk::CellEditable*> (Glib::wrap_auto_interface<Gtk::CellEditable> ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance.
}
@@ -104,7 +104,7 @@ void CellEditable_Class::iface_init_function(void* g_iface, void*)
#ifdef GLIBMM_VFUNCS_ENABLED
void CellEditable_Class::start_editing_vfunc_callback(GtkCellEditable* self, GdkEvent* event)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -112,40 +112,44 @@ void CellEditable_Class::start_editing_vfunc_callback(GtkCellEditable* self, Gdk
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->start_editing_vfunc(event);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->start_editing_vfunc(event);
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->start_editing)
+ (*base->start_editing)(self, event);
- // Call the original underlying C function:
- if(base && base->start_editing)
- (*base->start_editing)(self, event);
- }
}
#endif //GLIBMM_VFUNCS_ENABLED
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void CellEditable_Class::editing_done_callback(GtkCellEditable* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -153,37 +157,40 @@ void CellEditable_Class::editing_done_callback(GtkCellEditable* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_editing_done();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_editing_done();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->editing_done)
- (*base->editing_done)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->editing_done)
+ (*base->editing_done)(self);
}
void CellEditable_Class::remove_widget_callback(GtkCellEditable* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -191,33 +198,36 @@ void CellEditable_Class::remove_widget_callback(GtkCellEditable* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_remove_widget();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_remove_widget();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->remove_widget)
- (*base->remove_widget)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->remove_widget)
+ (*base->remove_widget)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/gtk/gtkmm/celleditable.h b/libs/gtkmm2/gtk/gtkmm/celleditable.h
index 065f9101da..52425c2324 100644
--- a/libs/gtkmm2/gtk/gtkmm/celleditable.h
+++ b/libs/gtkmm2/gtk/gtkmm/celleditable.h
@@ -73,8 +73,14 @@ private:
protected:
CellEditable(); // you must derive from this class
+
+public:
+ // This is public so that C++ wrapper instances can be
+ // created for C instances of unwrapped types.
+ // For instance, if an unexpected C type implements the C interface.
explicit CellEditable(GtkCellEditable* castitem);
+protected:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
@@ -98,35 +104,33 @@ private:
public:
- /** Begins editing on a @a cell_editable . @a event is the Gdk::Event that began the
- * editing process. It may be <tt>0</tt>, in the instance that editing was initiated
- * through programatic means.
+ /** Begins editing on a @a cell_editable . @a event is the Gdk::Event that began
+ * the editing process. It may be <tt>0</tt>, in the instance that editing was
+ * initiated through programatic means.
* @param event A Gdk::Event, or <tt>0</tt>.
*/
void start_editing(GdkEvent* event);
- /** Emits the "editing_done" signal. This signal is a sign for the cell renderer
- * to update its value from the cell.
+ /** Emits the Gtk::CellEditable::editing-done signal.
*/
void editing_done();
- /** Emits the "remove_widget" signal. This signal is meant to indicate that the
- * cell is finished editing, and the widget may now be destroyed.
+ /** Emits the Gtk::CellEditable::remove-widget signal.
*/
void remove_widget();
-/**
+ /**
* @par Prototype:
- * <tt>void %editing_done()</tt>
+ * <tt>void on_my_%editing_done()</tt>
*/
Glib::SignalProxy0< void > signal_editing_done();
-/**
+ /**
* @par Prototype:
- * <tt>void %remove_widget()</tt>
+ * <tt>void on_my_%remove_widget()</tt>
*/
Glib::SignalProxy0< void > signal_remove_widget();
@@ -164,10 +168,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::CellEditable
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::CellEditable
*/
Glib::RefPtr<Gtk::CellEditable> wrap(GtkCellEditable* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gtk/gtkmm/celllayout.cc b/libs/gtkmm2/gtk/gtkmm/celllayout.cc
index 15f10eb85a..5e6635be57 100644
--- a/libs/gtkmm2/gtk/gtkmm/celllayout.cc
+++ b/libs/gtkmm2/gtk/gtkmm/celllayout.cc
@@ -95,7 +95,7 @@ namespace Glib
Glib::RefPtr<Gtk::CellLayout> wrap(GtkCellLayout* object, bool take_copy)
{
- return Glib::RefPtr<Gtk::CellLayout>( dynamic_cast<Gtk::CellLayout*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ return Glib::RefPtr<Gtk::CellLayout>( dynamic_cast<Gtk::CellLayout*> (Glib::wrap_auto_interface<Gtk::CellLayout> ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance.
}
@@ -147,7 +147,7 @@ void CellLayout_Class::iface_init_function(void* g_iface, void*)
#ifdef GLIBMM_VFUNCS_ENABLED
void CellLayout_Class::pack_start_vfunc_callback(GtkCellLayout* self, GtkCellRenderer* cell, gboolean expand)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -155,39 +155,43 @@ void CellLayout_Class::pack_start_vfunc_callback(GtkCellLayout* self, GtkCellRen
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->pack_start_vfunc(Glib::wrap(cell)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->pack_start_vfunc(Glib::wrap(cell)
, expand
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->pack_start)
+ (*base->pack_start)(self, cell, expand);
- // Call the original underlying C function:
- if(base && base->pack_start)
- (*base->pack_start)(self, cell, expand);
- }
}
void CellLayout_Class::pack_end_vfunc_callback(GtkCellLayout* self, GtkCellRenderer* cell, gboolean expand)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -195,39 +199,43 @@ void CellLayout_Class::pack_end_vfunc_callback(GtkCellLayout* self, GtkCellRende
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->pack_end_vfunc(Glib::wrap(cell)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->pack_end_vfunc(Glib::wrap(cell)
, expand
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->pack_end)
+ (*base->pack_end)(self, cell, expand);
- // Call the original underlying C function:
- if(base && base->pack_end)
- (*base->pack_end)(self, cell, expand);
- }
}
void CellLayout_Class::clear_vfunc_callback(GtkCellLayout* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -235,37 +243,41 @@ void CellLayout_Class::clear_vfunc_callback(GtkCellLayout* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->clear_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->clear_vfunc();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->clear)
+ (*base->clear)(self);
- // Call the original underlying C function:
- if(base && base->clear)
- (*base->clear)(self);
- }
}
void CellLayout_Class::add_attribute_vfunc_callback(GtkCellLayout* self, GtkCellRenderer* cell, const gchar* attribute, gint column)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -273,40 +285,44 @@ void CellLayout_Class::add_attribute_vfunc_callback(GtkCellLayout* self, GtkCell
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->add_attribute_vfunc(Glib::wrap(cell)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->add_attribute_vfunc(Glib::wrap(cell)
, Glib::convert_const_gchar_ptr_to_ustring(attribute)
, column
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->add_attribute)
+ (*base->add_attribute)(self, cell, attribute, column);
- // Call the original underlying C function:
- if(base && base->add_attribute)
- (*base->add_attribute)(self, cell, attribute, column);
- }
}
void CellLayout_Class::clear_attributes_vfunc_callback(GtkCellLayout* self, GtkCellRenderer* cell)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -314,38 +330,42 @@ void CellLayout_Class::clear_attributes_vfunc_callback(GtkCellLayout* self, GtkC
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->clear_attributes_vfunc(Glib::wrap(cell)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->clear_attributes_vfunc(Glib::wrap(cell)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->clear_attributes)
+ (*base->clear_attributes)(self, cell);
- // Call the original underlying C function:
- if(base && base->clear_attributes)
- (*base->clear_attributes)(self, cell);
- }
}
void CellLayout_Class::reorder_vfunc_callback(GtkCellLayout* self, GtkCellRenderer* cell, gint position)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -353,35 +373,39 @@ void CellLayout_Class::reorder_vfunc_callback(GtkCellLayout* self, GtkCellRender
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->reorder_vfunc(Glib::wrap(cell)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->reorder_vfunc(Glib::wrap(cell)
, position
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->reorder)
+ (*base->reorder)(self, cell, position);
- // Call the original underlying C function:
- if(base && base->reorder)
- (*base->reorder)(self, cell, position);
- }
}
#endif //GLIBMM_VFUNCS_ENABLED
@@ -439,6 +463,16 @@ void CellLayout::pack_end(CellRenderer& cell, bool expand)
gtk_cell_layout_pack_end(gobj(), (cell).gobj(), static_cast<int>(expand));
}
+Glib::ListHandle<CellRenderer*> CellLayout::get_cells()
+{
+ return Glib::ListHandle<CellRenderer*>(gtk_cell_layout_get_cells(gobj()), Glib::OWNERSHIP_SHALLOW);
+}
+
+Glib::ListHandle<const CellRenderer*> CellLayout::get_cells() const
+{
+ return Glib::ListHandle<const CellRenderer*>(gtk_cell_layout_get_cells(const_cast<GtkCellLayout*>(gobj())), Glib::OWNERSHIP_SHALLOW);
+}
+
void CellLayout::clear()
{
gtk_cell_layout_clear(gobj());
diff --git a/libs/gtkmm2/gtk/gtkmm/celllayout.h b/libs/gtkmm2/gtk/gtkmm/celllayout.h
index 7a2484621f..f0be6772f9 100644
--- a/libs/gtkmm2/gtk/gtkmm/celllayout.h
+++ b/libs/gtkmm2/gtk/gtkmm/celllayout.h
@@ -76,8 +76,14 @@ private:
protected:
CellLayout(); // you must derive from this class
+
+public:
+ // This is public so that C++ wrapper instances can be
+ // created for C instances of unwrapped types.
+ // For instance, if an unexpected C type implements the C interface.
explicit CellLayout(GtkCellLayout* castitem);
+protected:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
@@ -128,6 +134,22 @@ public:
* @param expand <tt>true</tt> if @a cell is to be given extra space allocated to @a cell_layout .
*/
void pack_end(CellRenderer& cell, bool expand = true);
+
+
+ /** Return value: a list of cell renderers.
+ * @return A list of cell renderers.
+ *
+ * @newin2p12.
+ */
+ Glib::ListHandle<CellRenderer*> get_cells();
+
+ /** Return value: a list of cell renderers.
+ * @return A list of cell renderers.
+ *
+ * @newin2p12.
+ */
+ Glib::ListHandle<const CellRenderer*> get_cells() const;
+
/** Unsets all the mappings on all renderers on @a cell_layout and
* removes all renderers from @a cell_layout .
@@ -199,7 +221,7 @@ protected:
virtual void add_attribute_vfunc(CellRenderer* cell, const Glib::ustring& attribute, int column);
#endif //GLIBMM_VFUNCS_ENABLED
-//TODO: _WRAP_VFUNC(void set_cell_data_func(CellRenderer* cell, GtkCellLayoutDataFunc func, gpointer func_data, GDestroyNotify destroy), set_cell_data_func)
+//TODO (added in GTK+ 2.4): _WRAP_VFUNC(void set_cell_data_func(CellRenderer* cell, GtkCellLayoutDataFunc func, gpointer func_data, GDestroyNotify destroy), gtk_cell_layout_set_cell_data_func)
#ifdef GLIBMM_VFUNCS_ENABLED
virtual void clear_attributes_vfunc(CellRenderer* cell);
#endif //GLIBMM_VFUNCS_ENABLED
@@ -250,10 +272,13 @@ void CellLayout::pack_start(const TreeModelColumn<T_ModelColumnType>& column, bo
namespace Glib
{
- /** @relates Gtk::CellLayout
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::CellLayout
*/
Glib::RefPtr<Gtk::CellLayout> wrap(GtkCellLayout* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gtk/gtkmm/cellrenderer.cc b/libs/gtkmm2/gtk/gtkmm/cellrenderer.cc
index 8ce803d02e..534ad5f98c 100644
--- a/libs/gtkmm2/gtk/gtkmm/cellrenderer.cc
+++ b/libs/gtkmm2/gtk/gtkmm/cellrenderer.cc
@@ -169,7 +169,7 @@ void CellRenderer_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_VFUNCS_ENABLED
void CellRenderer_Class::get_size_vfunc_callback(GtkCellRenderer* self, GtkWidget* widget, GdkRectangle* cell_area, gint* x_offset, gint* y_offset, gint* width, gint* height)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -177,42 +177,46 @@ void CellRenderer_Class::get_size_vfunc_callback(GtkCellRenderer* self, GtkWidge
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->get_size_vfunc(*Glib::wrap(widget)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->get_size_vfunc(*Glib::wrap(widget)
, &Glib::wrap(cell_area)
, x_offset
, y_offset
, width
, height
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->get_size)
+ (*base->get_size)(self, widget, cell_area, x_offset, y_offset, width, height);
- // Call the original underlying C function:
- if(base && base->get_size)
- (*base->get_size)(self, widget, cell_area, x_offset, y_offset, width, height);
- }
}
void CellRenderer_Class::render_vfunc_callback(GtkCellRenderer* self, GdkDrawable* window, GtkWidget* widget, GdkRectangle* background_area, GdkRectangle* cell_area, GdkRectangle* expose_area, GtkCellRendererState flags)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -220,42 +224,46 @@ void CellRenderer_Class::render_vfunc_callback(GtkCellRenderer* self, GdkDrawabl
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->render_vfunc(Glib::wrap(window, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->render_vfunc(Glib::wrap(window, true)
, *Glib::wrap(widget)
, Glib::wrap(background_area)
, Glib::wrap(cell_area)
, Glib::wrap(expose_area)
, ((CellRendererState)(flags))
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->render)
+ (*base->render)(self, window, widget, background_area, cell_area, expose_area, flags);
- // Call the original underlying C function:
- if(base && base->render)
- (*base->render)(self, window, widget, background_area, cell_area, expose_area, flags);
- }
}
gboolean CellRenderer_Class::activate_vfunc_callback(GtkCellRenderer* self, GdkEvent* event, GtkWidget* widget, const gchar* path, GdkRectangle* background_area, GdkRectangle* cell_area, GtkCellRendererState flags)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -263,44 +271,47 @@ gboolean CellRenderer_Class::activate_vfunc_callback(GtkCellRenderer* self, GdkE
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->activate_vfunc(event, *Glib::wrap(widget)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->activate_vfunc(event, *Glib::wrap(widget)
, Glib::convert_const_gchar_ptr_to_ustring(path)
, Glib::wrap(background_area)
, Glib::wrap(cell_area)
, ((CellRendererState)(flags))
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->activate)
+ return (*base->activate)(self, event, widget, path, background_area, cell_area, flags);
- // Call the original underlying C function:
- if(base && base->activate)
- return (*base->activate)(self, event, widget, path, background_area, cell_area, flags);
- }
typedef gboolean RType;
return RType();
}
GtkCellEditable* CellRenderer_Class::start_editing_vfunc_callback(GtkCellRenderer* self, GdkEvent* event, GtkWidget* widget, const gchar* path, GdkRectangle* background_area, GdkRectangle* cell_area, GtkCellRendererState flags)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -308,37 +319,40 @@ GtkCellEditable* CellRenderer_Class::start_editing_vfunc_callback(GtkCellRendere
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return Glib::unwrap(obj->start_editing_vfunc(event, *Glib::wrap(widget)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return Glib::unwrap(obj->start_editing_vfunc(event, *Glib::wrap(widget)
, Glib::convert_const_gchar_ptr_to_ustring(path)
, Glib::wrap(background_area)
, Glib::wrap(cell_area)
, ((CellRendererState)(flags))
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->start_editing)
+ return (*base->start_editing)(self, event, widget, path, background_area, cell_area, flags);
- // Call the original underlying C function:
- if(base && base->start_editing)
- return (*base->start_editing)(self, event, widget, path, background_area, cell_area, flags);
- }
typedef GtkCellEditable* RType;
return RType();
@@ -348,7 +362,7 @@ GtkCellEditable* CellRenderer_Class::start_editing_vfunc_callback(GtkCellRendere
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void CellRenderer_Class::editing_canceled_callback(GtkCellRenderer* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -356,32 +370,35 @@ void CellRenderer_Class::editing_canceled_callback(GtkCellRenderer* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_editing_canceled();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_editing_canceled();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->editing_canceled)
- (*base->editing_canceled)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->editing_canceled)
+ (*base->editing_canceled)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -471,7 +488,8 @@ gtk_cell_renderer_stop_editing(gobj(), static_cast<int>(canceled));
CellRenderer::CellRenderer()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Object(Glib::ConstructParams(cellrenderer_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/cellrenderer.h b/libs/gtkmm2/gtk/gtkmm/cellrenderer.h
index 95a2d4e616..838d86255e 100644
--- a/libs/gtkmm2/gtk/gtkmm/cellrenderer.h
+++ b/libs/gtkmm2/gtk/gtkmm/cellrenderer.h
@@ -258,7 +258,8 @@ public:
* @a window . @a expose_area is a clip rectangle.
* @param window A Gdk::Drawable to draw to.
* @param widget The widget owning @a window .
- * @param background_area Entire cell area (including tree expanders and maybe padding on the sides).
+ * @param background_area Entire cell area (including tree expanders and maybe
+ * padding on the sides).
* @param cell_area Area normally rendered by a cell renderer.
* @param expose_area Area that actually needs updating.
* @param flags Flags that affect rendering.
@@ -272,14 +273,15 @@ public:
CellRendererState flags);
- /** Passes an activate event to the cell renderer for possible processing. Some
- * cell renderers may use events; for example, Gtk::CellRendererToggle toggles
- * when it gets a mouse click.
+ /** Passes an activate event to the cell renderer for possible processing.
+ * Some cell renderers may use events; for example, Gtk::CellRendererToggle
+ * toggles when it gets a mouse click.
* @param event A Gdk::Event.
* @param widget Widget that received the event.
- * @param path Widget-dependent string representation of the event location; e.g. for Gtk::TreeView, a string representation of Gtk::TreePath.
- * @param background_area Background area as passed to @a gtk_cell_renderer_render .
- * @param cell_area Cell area as passed to @a gtk_cell_renderer_render .
+ * @param path Widget-dependent string representation of the event location;
+ * e.g. for Gtk::TreeView, a string representation of Gtk::TreePath.
+ * @param background_area Background area as passed to render().
+ * @param cell_area Cell area as passed to render().
* @param flags Render flags.
* @return <tt>true</tt> if the event was consumed/handled.
*/
@@ -295,9 +297,10 @@ public:
/** Passes an activate event to the cell renderer for possible processing.
* @param event A Gdk::Event.
* @param widget Widget that received the event.
- * @param path Widget-dependent string representation of the event location; e.g. for Gtk::TreeView, a string representation of Gtk::TreePath.
- * @param background_area Background area as passed to @a gtk_cell_renderer_render .
- * @param cell_area Cell area as passed to @a gtk_cell_renderer_render .
+ * @param path Widget-dependent string representation of the event location;
+ * e.g. for Gtk::TreeView, a string representation of Gtk::TreePath.
+ * @param background_area Background area as passed to render().
+ * @param cell_area Cell area as passed to render().
* @param flags Render flags.
* @return A new Gtk::CellEditable, or <tt>0</tt>.
*/
@@ -324,13 +327,15 @@ public:
#ifndef GTKMM_DISABLE_DEPRECATED
- /** Causes the cell renderer to emit the "editing-canceled" signal. This
- * function is for use only by implementations of cell renderers that need to
- * notify the client program that an editing process was canceled and the
- * changes were not committed.
+ /** Causes the cell renderer to emit the Gtk::CellRenderer::editing-canceled
+ * signal.
+ *
+ * This function is for use only by implementations of cell renderers that
+ * need to notify the client program that an editing process was canceled
+ * and the changes were not committed.
*
* @newin2p4
- * Deprecated: Use stop_editing() instead
+ * Deprecated: 2.6: Use stop_editing() instead
* @deprecated Use stop_editing().
*/
void editing_canceled();
@@ -338,9 +343,12 @@ public:
/** Informs the cell renderer that the editing is stopped.
- * If @a canceled is <tt>true</tt>, the cell renderer will emit the "editing-canceled"
- * signal. This function should be called by cell renderer implementations
- * in response to the "editing-done" signal of Gtk::CellEditable.
+ * If @a canceled is <tt>true</tt>, the cell renderer will emit the
+ * Gtk::CellRenderer::editing-canceled signal.
+ *
+ * This function should be called by cell renderer implementations
+ * in response to the Gtk::CellEditable::editing-done signal of
+ * Gtk::CellEditable.
*
* @newin2p6
* @param canceled <tt>true</tt> if the editing has been canceled.
@@ -362,11 +370,9 @@ public:
* editing when the user presses Escape.
*
* @see editing_canceled()
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %editing_canceled()</tt>
+ * <tt>void on_my_%editing_canceled()</tt>
*/
Glib::SignalProxy0< void > signal_editing_canceled();
@@ -392,11 +398,9 @@ public:
*
* @param editable the CellEditable.
* @param path the path identifying the edited cell.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %editing_started(CellEditable* editable, const Glib::ustring& path)</tt>
+ * <tt>void on_my_%editing_started(CellEditable* editable, const Glib::ustring& path)</tt>
*/
Glib::SignalProxy2< void,CellEditable*,const Glib::ustring& > signal_editing_started();
@@ -720,10 +724,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::CellRenderer
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::CellRenderer
*/
Gtk::CellRenderer* wrap(GtkCellRenderer* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/cellrendereraccel.cc b/libs/gtkmm2/gtk/gtkmm/cellrendereraccel.cc
index 0e10e4d80f..9cadd021ca 100644
--- a/libs/gtkmm2/gtk/gtkmm/cellrendereraccel.cc
+++ b/libs/gtkmm2/gtk/gtkmm/cellrendereraccel.cc
@@ -171,7 +171,7 @@ void CellRendererAccel_Class::class_init_function(void* g_class, void* class_dat
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void CellRendererAccel_Class::accel_edited_callback(GtkCellRendererAccel* self, const gchar* p0, guint p1, GdkModifierType p2, guint p3)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -179,38 +179,41 @@ void CellRendererAccel_Class::accel_edited_callback(GtkCellRendererAccel* self,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_accel_edited(Glib::convert_const_gchar_ptr_to_ustring(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_accel_edited(Glib::convert_const_gchar_ptr_to_ustring(p0)
, p1, ((Gdk::ModifierType)(p2))
, p3);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->accel_edited)
- (*base->accel_edited)(self, p0, p1, p2, p3);
- }
+ // Call the original underlying C function:
+ if(base && base->accel_edited)
+ (*base->accel_edited)(self, p0, p1, p2, p3);
}
void CellRendererAccel_Class::accel_cleared_callback(GtkCellRendererAccel* self, const gchar* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -218,33 +221,36 @@ void CellRendererAccel_Class::accel_cleared_callback(GtkCellRendererAccel* self,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_accel_cleared(Glib::convert_const_gchar_ptr_to_ustring(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_accel_cleared(Glib::convert_const_gchar_ptr_to_ustring(p0)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->accel_cleared)
- (*base->accel_cleared)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->accel_cleared)
+ (*base->accel_cleared)(self, p0);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -290,7 +296,8 @@ GType CellRendererAccel::get_base_type()
CellRendererAccel::CellRendererAccel()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::CellRendererText(Glib::ConstructParams(cellrendereraccel_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/cellrendereraccel.h b/libs/gtkmm2/gtk/gtkmm/cellrendereraccel.h
index 075be99c45..a242a7d406 100644
--- a/libs/gtkmm2/gtk/gtkmm/cellrendereraccel.h
+++ b/libs/gtkmm2/gtk/gtkmm/cellrendereraccel.h
@@ -43,7 +43,12 @@ namespace Gtk
{
/** .
- * TODO.
+ * Renders a keyboard accelerator in a cell
+ *
+ * Gtk::CellRendererAccel displays a keyboard accelerator
+ * (i.e. a key combination like <Control>-a).
+ * If the cell renderer is editable, the accelerator can be changed by
+ * simply typing the new combination.
*
* @ingroup TreeView
* @newin2p10
@@ -115,17 +120,17 @@ public:
//TODO: Wrap accel_key and accel_mods in an AccelKey?
-/**
+ /**
* @par Prototype:
- * <tt>void %accel_edited(const Glib::ustring& path_string, guint accel_key, Gdk::ModifierType accel_mods, guint hardware_keycode)</tt>
+ * <tt>void on_my_%accel_edited(const Glib::ustring& path_string, guint accel_key, Gdk::ModifierType accel_mods, guint hardware_keycode)</tt>
*/
Glib::SignalProxy4< void,const Glib::ustring&,guint,Gdk::ModifierType,guint > signal_accel_edited();
-/**
+ /**
* @par Prototype:
- * <tt>void %accel_cleared(const Glib::ustring& path_string)</tt>
+ * <tt>void on_my_%accel_cleared(const Glib::ustring& path_string)</tt>
*/
Glib::SignalProxy1< void,const Glib::ustring& > signal_accel_cleared();
@@ -204,10 +209,13 @@ public:
namespace Glib
{
- /** @relates Gtk::CellRendererAccel
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::CellRendererAccel
*/
Gtk::CellRendererAccel* wrap(GtkCellRendererAccel* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/cellrenderercombo.cc b/libs/gtkmm2/gtk/gtkmm/cellrenderercombo.cc
index aa4771f28b..d3848fbc55 100644
--- a/libs/gtkmm2/gtk/gtkmm/cellrenderercombo.cc
+++ b/libs/gtkmm2/gtk/gtkmm/cellrenderercombo.cc
@@ -146,7 +146,8 @@ GType CellRendererCombo::get_base_type()
CellRendererCombo::CellRendererCombo()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::CellRendererText(Glib::ConstructParams(cellrenderercombo_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/cellrenderercombo.h b/libs/gtkmm2/gtk/gtkmm/cellrenderercombo.h
index 8dc0250e66..dc024c11f8 100644
--- a/libs/gtkmm2/gtk/gtkmm/cellrenderercombo.h
+++ b/libs/gtkmm2/gtk/gtkmm/cellrenderercombo.h
@@ -192,10 +192,13 @@ public:
namespace Glib
{
- /** @relates Gtk::CellRendererCombo
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::CellRendererCombo
*/
Gtk::CellRendererCombo* wrap(GtkCellRendererCombo* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/cellrendererpixbuf.cc b/libs/gtkmm2/gtk/gtkmm/cellrendererpixbuf.cc
index 82ab381c6c..90f504194a 100644
--- a/libs/gtkmm2/gtk/gtkmm/cellrendererpixbuf.cc
+++ b/libs/gtkmm2/gtk/gtkmm/cellrendererpixbuf.cc
@@ -145,7 +145,8 @@ GType CellRendererPixbuf::get_base_type()
CellRendererPixbuf::CellRendererPixbuf()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::CellRenderer(Glib::ConstructParams(cellrendererpixbuf_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/cellrendererpixbuf.h b/libs/gtkmm2/gtk/gtkmm/cellrendererpixbuf.h
index b9cb844d7d..43aa4364b3 100644
--- a/libs/gtkmm2/gtk/gtkmm/cellrendererpixbuf.h
+++ b/libs/gtkmm2/gtk/gtkmm/cellrendererpixbuf.h
@@ -250,10 +250,13 @@ public:
namespace Glib
{
- /** @relates Gtk::CellRendererPixbuf
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::CellRendererPixbuf
*/
Gtk::CellRendererPixbuf* wrap(GtkCellRendererPixbuf* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/cellrendererprogress.cc b/libs/gtkmm2/gtk/gtkmm/cellrendererprogress.cc
index 87795f7db1..f4e981419e 100644
--- a/libs/gtkmm2/gtk/gtkmm/cellrendererprogress.cc
+++ b/libs/gtkmm2/gtk/gtkmm/cellrendererprogress.cc
@@ -148,7 +148,8 @@ GType CellRendererProgress::get_base_type()
CellRendererProgress::CellRendererProgress()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::CellRenderer(Glib::ConstructParams(cellrendererprogress_class_.init()))
{
}
@@ -182,6 +183,48 @@ Glib::PropertyProxy_ReadOnly<Glib::ustring> CellRendererProgress::property_text(
}
#endif //GLIBMM_PROPERTIES_ENABLED
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<int> CellRendererProgress::property_pulse()
+{
+ return Glib::PropertyProxy<int>(this, "pulse");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<int> CellRendererProgress::property_pulse() const
+{
+ return Glib::PropertyProxy_ReadOnly<int>(this, "pulse");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<float> CellRendererProgress::property_text_xalign()
+{
+ return Glib::PropertyProxy<float>(this, "text-xalign");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<float> CellRendererProgress::property_text_xalign() const
+{
+ return Glib::PropertyProxy_ReadOnly<float>(this, "text-xalign");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<float> CellRendererProgress::property_text_yalign()
+{
+ return Glib::PropertyProxy<float>(this, "text-yalign");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<float> CellRendererProgress::property_text_yalign() const
+{
+ return Glib::PropertyProxy_ReadOnly<float>(this, "text-yalign");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/gtk/gtkmm/cellrendererprogress.h b/libs/gtkmm2/gtk/gtkmm/cellrendererprogress.h
index 1316e177d5..8810d80e2e 100644
--- a/libs/gtkmm2/gtk/gtkmm/cellrendererprogress.h
+++ b/libs/gtkmm2/gtk/gtkmm/cellrendererprogress.h
@@ -42,6 +42,7 @@ namespace Gtk
/** Renders numbers as progress bars.
*
* @ingroup TreeView
+ * @newin2p6
*/
class CellRendererProgress : public CellRenderer
@@ -145,6 +146,66 @@ public:
Glib::PropertyProxy_ReadOnly<Glib::ustring> property_text() const;
#endif //#GLIBMM_PROPERTIES_ENABLED
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Set this to positive values to indicate that some progress is made
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<int> property_pulse() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Set this to positive values to indicate that some progress is made
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<int> property_pulse() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** The horizontal text alignment
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<float> property_text_xalign() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** The horizontal text alignment
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<float> property_text_xalign() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** The vertical text alignment
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<float> property_text_yalign() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** The vertical text alignment
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<float> property_text_yalign() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
#ifdef GLIBMM_PROPERTIES_ENABLED
virtual Glib::PropertyProxy_Base _property_renderable();
@@ -160,10 +221,13 @@ public:
namespace Glib
{
- /** @relates Gtk::CellRendererProgress
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::CellRendererProgress
*/
Gtk::CellRendererProgress* wrap(GtkCellRendererProgress* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/cellrendererspin.cc b/libs/gtkmm2/gtk/gtkmm/cellrendererspin.cc
index 396686d536..ee057ec6c9 100644
--- a/libs/gtkmm2/gtk/gtkmm/cellrendererspin.cc
+++ b/libs/gtkmm2/gtk/gtkmm/cellrendererspin.cc
@@ -136,7 +136,8 @@ GType CellRendererSpin::get_base_type()
CellRendererSpin::CellRendererSpin()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::CellRendererText(Glib::ConstructParams(cellrendererspin_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/cellrendererspin.h b/libs/gtkmm2/gtk/gtkmm/cellrendererspin.h
index 45dc03709b..934dbc1286 100644
--- a/libs/gtkmm2/gtk/gtkmm/cellrendererspin.h
+++ b/libs/gtkmm2/gtk/gtkmm/cellrendererspin.h
@@ -38,9 +38,23 @@ namespace Gtk
namespace Gtk
{
-/** TODO.
+/** Renders a spin button in a cell.
+ *
+ * Gtk::CellRendererSpin renders text in a cell like Gtk::CellRendererText,
+ * from which it is derived. But while Gtk::CellRendererText offers a simple
+ * entry to edit the text, Gtk::CellRendererSpin offers a Gtk::SpinButton widget.
+ * Of course, that means that the text must be parseable as a floating point
+ * number.
+ *
+ * The range of the spinbutton is taken from the adjustment property of the
+ * cell renderer, which can be set explicitly or mapped to a column in
+ * the tree model, like all properties of cell renders. Gtk::CellRendererSpin
+ * also has properties for the climb rate and the number of digits to display.
+ * Other Gtk::SpinButton properties can be set in a handler for the start-editing
+ * signal.
*
* @ingroup TreeView
+ * @newin2p12
*/
class CellRendererSpin : public CellRendererText
@@ -178,10 +192,13 @@ public:
namespace Glib
{
- /** @relates Gtk::CellRendererSpin
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::CellRendererSpin
*/
Gtk::CellRendererSpin* wrap(GtkCellRendererSpin* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/cellrenderertext.cc b/libs/gtkmm2/gtk/gtkmm/cellrenderertext.cc
index 26cc8533f9..b0d478211e 100644
--- a/libs/gtkmm2/gtk/gtkmm/cellrenderertext.cc
+++ b/libs/gtkmm2/gtk/gtkmm/cellrenderertext.cc
@@ -146,7 +146,7 @@ void CellRendererText_Class::class_init_function(void* g_class, void* class_data
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void CellRendererText_Class::edited_callback(GtkCellRendererText* self, const gchar* p0, const gchar* p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -154,34 +154,37 @@ void CellRendererText_Class::edited_callback(GtkCellRendererText* self, const gc
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_edited(Glib::convert_const_gchar_ptr_to_ustring(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_edited(Glib::convert_const_gchar_ptr_to_ustring(p0)
, Glib::convert_const_gchar_ptr_to_ustring(p1)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->edited)
- (*base->edited)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->edited)
+ (*base->edited)(self, p0, p1);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -227,7 +230,8 @@ GType CellRendererText::get_base_type()
CellRendererText::CellRendererText()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::CellRenderer(Glib::ConstructParams(cellrenderertext_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/cellrenderertext.h b/libs/gtkmm2/gtk/gtkmm/cellrenderertext.h
index 408a9e4774..ebf7984442 100644
--- a/libs/gtkmm2/gtk/gtkmm/cellrenderertext.h
+++ b/libs/gtkmm2/gtk/gtkmm/cellrenderertext.h
@@ -121,9 +121,9 @@ public:
void set_fixed_height_from_font(int number_of_rows);
-/**
+ /**
* @par Prototype:
- * <tt>void %edited(const Glib::ustring& path, const Glib::ustring& new_text)</tt>
+ * <tt>void on_my_%edited(const Glib::ustring& path, const Glib::ustring& new_text)</tt>
*/
Glib::SignalProxy2< void,const Glib::ustring&,const Glib::ustring& > signal_edited();
@@ -243,7 +243,7 @@ public:
#endif //#GLIBMM_PROPERTIES_ENABLED
#ifdef GLIBMM_PROPERTIES_ENABLED
-/** Font description as a string.
+/** Font description as a string
*
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
@@ -253,7 +253,7 @@ public:
#endif //#GLIBMM_PROPERTIES_ENABLED
#ifdef GLIBMM_PROPERTIES_ENABLED
-/** Font description as a string.
+/** Font description as a string
*
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
@@ -983,10 +983,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::CellRendererText
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::CellRendererText
*/
Gtk::CellRendererText* wrap(GtkCellRendererText* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/cellrenderertoggle.cc b/libs/gtkmm2/gtk/gtkmm/cellrenderertoggle.cc
index 55742abf81..62b08cf4b2 100644
--- a/libs/gtkmm2/gtk/gtkmm/cellrenderertoggle.cc
+++ b/libs/gtkmm2/gtk/gtkmm/cellrenderertoggle.cc
@@ -140,7 +140,7 @@ void CellRendererToggle_Class::class_init_function(void* g_class, void* class_da
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void CellRendererToggle_Class::toggled_callback(GtkCellRendererToggle* self, const gchar* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -148,33 +148,36 @@ void CellRendererToggle_Class::toggled_callback(GtkCellRendererToggle* self, con
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_toggled(Glib::convert_const_gchar_ptr_to_ustring(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_toggled(Glib::convert_const_gchar_ptr_to_ustring(p0)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->toggled)
- (*base->toggled)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->toggled)
+ (*base->toggled)(self, p0);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -220,7 +223,8 @@ GType CellRendererToggle::get_base_type()
CellRendererToggle::CellRendererToggle()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::CellRenderer(Glib::ConstructParams(cellrenderertoggle_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/cellrenderertoggle.h b/libs/gtkmm2/gtk/gtkmm/cellrenderertoggle.h
index 56f0d9df4f..af588887a3 100644
--- a/libs/gtkmm2/gtk/gtkmm/cellrenderertoggle.h
+++ b/libs/gtkmm2/gtk/gtkmm/cellrenderertoggle.h
@@ -112,7 +112,7 @@ public:
CellRendererToggle();
- /** Returns whether we're rendering radio toggles rather than checkboxes.
+ /** Return value: <tt>true</tt> if we're rendering radio toggles rather than checkboxes
* @return <tt>true</tt> if we're rendering radio toggles rather than checkboxes.
*/
bool get_radio() const;
@@ -128,8 +128,7 @@ public:
*/
void set_radio(bool radio = true);
- /** Returns whether the cell renderer is active. See
- * set_active().
+ /** Return value: <tt>true</tt> if the cell renderer is active.
* @return <tt>true</tt> if the cell renderer is active.
*/
bool get_active() const;
@@ -143,11 +142,9 @@ public:
/** The toggled signal is emitted when the cell is toggled.
*
* @param path string representation of TreePath describing the event location
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %toggled(const Glib::ustring& path)</tt>
+ * <tt>void on_my_%toggled(const Glib::ustring& path)</tt>
*/
Glib::SignalProxy1< void,const Glib::ustring& > signal_toggled();
@@ -248,10 +245,13 @@ public:
namespace Glib
{
- /** @relates Gtk::CellRendererToggle
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::CellRendererToggle
*/
Gtk::CellRendererToggle* wrap(GtkCellRendererToggle* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/cellview.cc b/libs/gtkmm2/gtk/gtkmm/cellview.cc
index 3691fbaa6b..9596dcdebc 100644
--- a/libs/gtkmm2/gtk/gtkmm/cellview.cc
+++ b/libs/gtkmm2/gtk/gtkmm/cellview.cc
@@ -35,8 +35,9 @@ namespace Gtk
CellView::CellView(const Glib::ustring& text, bool use_markup)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Widget(Glib::ConstructParams(cellview_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Widget(Glib::ConstructParams(cellview_class_.init()))
{
Gtk::CellRendererText* cell = Gtk::manage(new Gtk::CellRendererText());
@@ -62,8 +63,9 @@ CellView::CellView(const Glib::ustring& text, bool use_markup)
CellView::CellView(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Widget(Glib::ConstructParams(cellview_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Widget(Glib::ConstructParams(cellview_class_.init()))
{
Gtk::CellRendererPixbuf* cell = Gtk::manage(new Gtk::CellRendererPixbuf());
@@ -181,7 +183,8 @@ GType CellView::get_base_type()
CellView::CellView()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Widget(Glib::ConstructParams(cellview_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/cellview.h b/libs/gtkmm2/gtk/gtkmm/cellview.h
index a804824739..6405044b30 100644
--- a/libs/gtkmm2/gtk/gtkmm/cellview.h
+++ b/libs/gtkmm2/gtk/gtkmm/cellview.h
@@ -159,9 +159,7 @@ public:
*/
void set_displayed_row(const TreeModel::Path& path);
- /** Returns a Gtk::TreePath referring to the currently
- * displayed row. If no row is currently displayed,
- * <tt>0</tt> is returned.
+ /** Returns: the currently displayed row or <tt>0</tt>
* @return The currently displayed row or <tt>0</tt>
*
* @newin2p6.
@@ -187,7 +185,7 @@ public:
void set_background_color(const Gdk::Color& color);
- /** Returns the cell renderers which have been added to @a cell_view .
+ /** Return value: a list of cell renderers. The list, but not the
* @return A list of cell renderers. The list, but not the
* renderers has been newly allocated and should be freed with
* Glib::list_free() when no longer needed.
@@ -196,7 +194,7 @@ public:
*/
Glib::ListHandle<CellRenderer*> get_cell_renderers();
- /** Returns the cell renderers which have been added to @a cell_view .
+ /** Return value: a list of cell renderers. The list, but not the
* @return A list of cell renderers. The list, but not the
* renderers has been newly allocated and should be freed with
* Glib::list_free() when no longer needed.
@@ -213,10 +211,13 @@ public:
namespace Glib
{
- /** @relates Gtk::CellView
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::CellView
*/
Gtk::CellView* wrap(GtkCellView* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/checkbutton.cc b/libs/gtkmm2/gtk/gtkmm/checkbutton.cc
index 61fec35704..e8d24abd51 100644
--- a/libs/gtkmm2/gtk/gtkmm/checkbutton.cc
+++ b/libs/gtkmm2/gtk/gtkmm/checkbutton.cc
@@ -33,8 +33,9 @@ namespace Gtk
CheckButton::CheckButton(const Glib::ustring& label, bool mnemonic)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::ToggleButton(Glib::ConstructParams(checkbutton_class_.init(), "label",label.c_str(),"use_underline",gboolean(mnemonic), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::ToggleButton(Glib::ConstructParams(checkbutton_class_.init(), "label",label.c_str(),"use_underline",gboolean(mnemonic), static_cast<char*>(0)))
{}
} // namespace Gtk
@@ -97,7 +98,7 @@ void CheckButton_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_VFUNCS_ENABLED
void CheckButton_Class::draw_indicator_vfunc_callback(GtkCheckButton* self, GdkRectangle* area)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -105,32 +106,36 @@ void CheckButton_Class::draw_indicator_vfunc_callback(GtkCheckButton* self, GdkR
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_indicator_vfunc(area);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_indicator_vfunc(area);
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_indicator)
+ (*base->draw_indicator)(self, area);
- // Call the original underlying C function:
- if(base && base->draw_indicator)
- (*base->draw_indicator)(self, area);
- }
}
#endif //GLIBMM_VFUNCS_ENABLED
@@ -179,7 +184,8 @@ GType CheckButton::get_base_type()
CheckButton::CheckButton()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::ToggleButton(Glib::ConstructParams(checkbutton_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/checkbutton.h b/libs/gtkmm2/gtk/gtkmm/checkbutton.h
index 2e33cf9f6d..69897193fa 100644
--- a/libs/gtkmm2/gtk/gtkmm/checkbutton.h
+++ b/libs/gtkmm2/gtk/gtkmm/checkbutton.h
@@ -149,10 +149,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::CheckButton
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::CheckButton
*/
Gtk::CheckButton* wrap(GtkCheckButton* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/checkmenuitem.cc b/libs/gtkmm2/gtk/gtkmm/checkmenuitem.cc
index f66910811f..6cbf30cf57 100644
--- a/libs/gtkmm2/gtk/gtkmm/checkmenuitem.cc
+++ b/libs/gtkmm2/gtk/gtkmm/checkmenuitem.cc
@@ -35,8 +35,9 @@ namespace Gtk
CheckMenuItem::CheckMenuItem(const Glib::ustring& label, bool mnemonic)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::MenuItem(Glib::ConstructParams(checkmenuitem_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::MenuItem(Glib::ConstructParams(checkmenuitem_class_.init()))
{
add_accel_label(label, mnemonic); /* Left-aligned label */
}
@@ -112,7 +113,7 @@ void CheckMenuItem_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_VFUNCS_ENABLED
void CheckMenuItem_Class::draw_indicator_vfunc_callback(GtkCheckMenuItem* self, GdkRectangle* area)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -120,39 +121,43 @@ void CheckMenuItem_Class::draw_indicator_vfunc_callback(GtkCheckMenuItem* self,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_indicator_vfunc(area);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_indicator_vfunc(area);
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_indicator)
+ (*base->draw_indicator)(self, area);
- // Call the original underlying C function:
- if(base && base->draw_indicator)
- (*base->draw_indicator)(self, area);
- }
}
#endif //GLIBMM_VFUNCS_ENABLED
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void CheckMenuItem_Class::toggled_callback(GtkCheckMenuItem* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -160,32 +165,35 @@ void CheckMenuItem_Class::toggled_callback(GtkCheckMenuItem* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_toggled();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_toggled();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->toggled)
- (*base->toggled)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->toggled)
+ (*base->toggled)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -231,7 +239,8 @@ GType CheckMenuItem::get_base_type()
CheckMenuItem::CheckMenuItem()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::MenuItem(Glib::ConstructParams(checkmenuitem_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/checkmenuitem.h b/libs/gtkmm2/gtk/gtkmm/checkmenuitem.h
index 0aa9405b5b..38fe463f66 100644
--- a/libs/gtkmm2/gtk/gtkmm/checkmenuitem.h
+++ b/libs/gtkmm2/gtk/gtkmm/checkmenuitem.h
@@ -116,8 +116,7 @@ public:
void set_active(bool state = true);
- /** Returns whether the check menu item is active. See
- * set_active().
+ /** Return value: <tt>true</tt> if the menu item is checked.
* @return <tt>true</tt> if the menu item is checked.
*/
bool get_active() const;
@@ -151,7 +150,7 @@ public:
*/
void set_draw_as_radio(bool draw_as_radio = true);
- /** Returns whether @a check_menu_item looks like a Gtk::RadioMenuItem
+ /** Return value: Whether @a check_menu_item looks like a Gtk::RadioMenuItem
* @return Whether @a check_menu_item looks like a Gtk::RadioMenuItem
*
* @newin2p4.
@@ -161,11 +160,9 @@ public:
/** Triggered when the item changes state
* (Note : changing the item's state with set_active() will also trigger
* this signal)
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %toggled()</tt>
+ * <tt>void on_my_%toggled()</tt>
*/
Glib::SignalProxy0< void > signal_toggled();
@@ -251,10 +248,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::CheckMenuItem
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::CheckMenuItem
*/
Gtk::CheckMenuItem* wrap(GtkCheckMenuItem* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/clipboard.h b/libs/gtkmm2/gtk/gtkmm/clipboard.h
index 401a1738b9..923aedcb06 100644
--- a/libs/gtkmm2/gtk/gtkmm/clipboard.h
+++ b/libs/gtkmm2/gtk/gtkmm/clipboard.h
@@ -124,8 +124,7 @@ private:
public:
- /** Returns the clipboard object for the given selection.
- * See gtk_clipboard_get_for_display() for complete details.
+ /** Return value: the appropriate clipboard object. If no
* @param selection A Gdk::Atom which identifies the clipboard
* to use.
* @return The appropriate clipboard object. If no
@@ -137,30 +136,7 @@ public:
*/
static Glib::RefPtr<Clipboard> get(GdkAtom selection = GDK_SELECTION_CLIPBOARD);
- /** Returns the clipboard object for the given selection.
- * Cut/copy/paste menu items and keyboard shortcuts should use
- * the default clipboard, returned by passing Gdk::SELECTION_CLIPBOARD for @a selection .
- * (Gdk::NONE is supported as a synonym for GDK_SELECTION_CLIPBOARD
- * for backwards compatibility reasons.)
- * The currently-selected object or text should be provided on the clipboard
- * identified by Gdk::SELECTION_PRIMARY. Cut/copy/paste menu items
- * conceptually copy the contents of the Gdk::SELECTION_PRIMARY clipboard
- * to the default clipboard, i.e. they copy the selection to what the
- * user sees as the clipboard.
- *
- * (Passing Gdk::NONE is the same as using <tt>gdk_atom_intern
- * ("CLIPBOARD", <tt>false</tt>)</tt>. See
- * http://www.freedesktop.org/Standards/clipboards-spec
- * for a detailed discussion of the "CLIPBOARD" vs. "PRIMARY"
- * selections under the X window system. On Win32 the
- * Gdk::SELECTION_PRIMARY clipboard is essentially ignored.)
- *
- * It's possible to have arbitrary named clipboards; if you do invent
- * new clipboards, you should prefix the selection name with an
- * underscore (because the ICCCM requires that nonstandard atoms are
- * underscore-prefixed), and namespace it as well. For example,
- * if your application called "Foo" has a special-purpose
- * clipboard, you might call it "_FOO_SPECIAL_CLIPBOARD".
+ /** Return value: the appropriate clipboard object. If no
* @param display The display for which the clipboard is to be retrieved or created.
* @param selection A Gdk::Atom which identifies the clipboard
* to use.
@@ -418,6 +394,20 @@ public:
*/
bool wait_is_text_available() const;
+ /** Test to see if there is rich text available to be pasted
+ * This is done by requesting the TARGETS atom and checking
+ * if it contains any of the supported rich text targets. This function
+ * waits for the data to be received using the main loop, so events,
+ * timeouts, etc, may be dispatched during the wait.
+ *
+ * This function is a little faster than calling
+ * gtk_clipboard_wait_for_rich_text() since it doesn't need to retrieve
+ * the actual text.
+ * @param buffer A Gtk::TextBuffer.
+ * @return <tt>true</tt> is there is rich text available, <tt>false</tt> otherwise.
+ *
+ * @newin2p10.
+ */
bool wait_is_rich_text_available(const Glib::RefPtr<TextBuffer>& buffer) const;
/** Test to see if there is an image available to be pasted
@@ -487,9 +477,9 @@ public:
//We use no_default_handler because this signal was added and we don't want to break the ABI by adding a virtual function.
-/**
+ /**
* @par Prototype:
- * <tt>void %owner_change(GdkEventOwnerChange* event)</tt>
+ * <tt>void on_my_%owner_change(GdkEventOwnerChange* event)</tt>
*/
Glib::SignalProxy1< void,GdkEventOwnerChange* > signal_owner_change();
@@ -519,10 +509,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::Clipboard
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Clipboard
*/
Glib::RefPtr<Gtk::Clipboard> wrap(GtkClipboard* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/colorbutton.cc b/libs/gtkmm2/gtk/gtkmm/colorbutton.cc
index 6696319b15..d375aadc9a 100644
--- a/libs/gtkmm2/gtk/gtkmm/colorbutton.cc
+++ b/libs/gtkmm2/gtk/gtkmm/colorbutton.cc
@@ -113,7 +113,7 @@ void ColorButton_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void ColorButton_Class::color_set_callback(GtkColorButton* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -121,32 +121,35 @@ void ColorButton_Class::color_set_callback(GtkColorButton* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_color_set();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_color_set();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->color_set)
- (*base->color_set)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->color_set)
+ (*base->color_set)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -192,15 +195,17 @@ GType ColorButton::get_base_type()
ColorButton::ColorButton()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Button(Glib::ConstructParams(colorbutton_class_.init()))
{
}
ColorButton::ColorButton(const Gdk::Color& color)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Button(Glib::ConstructParams(colorbutton_class_.init(), "color", (color).gobj(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Button(Glib::ConstructParams(colorbutton_class_.init(), "color", (color).gobj(), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/colorbutton.h b/libs/gtkmm2/gtk/gtkmm/colorbutton.h
index 214bad401a..d6a898461e 100644
--- a/libs/gtkmm2/gtk/gtkmm/colorbutton.h
+++ b/libs/gtkmm2/gtk/gtkmm/colorbutton.h
@@ -162,7 +162,7 @@ public:
Gdk::Color get_color() const;
- /** Returns the current alpha value.
+ /** Return value: an integer between 0 and 65535.
* @return An integer between 0 and 65535.
*
* @newin2p4.
@@ -281,11 +281,9 @@ public:
/** The color_set signal is emitted when the user selects a color. When handling this signal,
* use get_color() and get_alpha() to find out which color
* was just selected.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %color_set()</tt>
+ * <tt>void on_my_%color_set()</tt>
*/
Glib::SignalProxy0< void > signal_color_set();
@@ -299,10 +297,13 @@ public:
namespace Glib
{
- /** @relates Gtk::ColorButton
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::ColorButton
*/
Gtk::ColorButton* wrap(GtkColorButton* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/colorselection.cc b/libs/gtkmm2/gtk/gtkmm/colorselection.cc
index 489b929c18..6c2e67538c 100644
--- a/libs/gtkmm2/gtk/gtkmm/colorselection.cc
+++ b/libs/gtkmm2/gtk/gtkmm/colorselection.cc
@@ -219,7 +219,7 @@ void ColorSelection_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void ColorSelection_Class::color_changed_callback(GtkColorSelection* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -227,32 +227,35 @@ void ColorSelection_Class::color_changed_callback(GtkColorSelection* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_color_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_color_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->color_changed)
- (*base->color_changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->color_changed)
+ (*base->color_changed)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -298,7 +301,8 @@ GType ColorSelection::get_base_type()
ColorSelection::ColorSelection()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::VBox(Glib::ConstructParams(colorselection_class_.init()))
{
}
@@ -536,15 +540,17 @@ GType ColorSelectionDialog::get_base_type()
ColorSelectionDialog::ColorSelectionDialog()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Dialog(Glib::ConstructParams(colorselectiondialog_class_.init()))
{
}
ColorSelectionDialog::ColorSelectionDialog(const Glib::ustring& title)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Dialog(Glib::ConstructParams(colorselectiondialog_class_.init(), "title", title.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Dialog(Glib::ConstructParams(colorselectiondialog_class_.init(), "title", title.c_str(), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/colorselection.h b/libs/gtkmm2/gtk/gtkmm/colorselection.h
index 718565383c..e7837f89ba 100644
--- a/libs/gtkmm2/gtk/gtkmm/colorselection.h
+++ b/libs/gtkmm2/gtk/gtkmm/colorselection.h
@@ -159,7 +159,7 @@ public:
void set_current_alpha(guint16 alpha);
Gdk::Color get_current_color() const;
- /** Returns the current alpha value.
+ /** Return value: an integer between 0 and 65535.
* @return An integer between 0 and 65535.
*/
guint16 get_current_alpha() const;
@@ -179,7 +179,7 @@ public:
void set_previous_alpha(guint16 alpha);
Gdk::Color get_previous_color() const;
- /** Returns the previous alpha value.
+ /** Return value: an integer between 0 and 65535.
* @return An integer between 0 and 65535.
*/
guint16 get_previous_alpha() const;
@@ -200,9 +200,9 @@ public:
static SlotChangePaletteHook set_change_palette_hook(const SlotChangePaletteHook& slot);
-/**
+ /**
* @par Prototype:
- * <tt>void %color_changed()</tt>
+ * <tt>void on_my_%color_changed()</tt>
*/
Glib::SignalProxy0< void > signal_color_changed();
@@ -376,10 +376,13 @@ public:
namespace Glib
{
- /** @relates Gtk::ColorSelection
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::ColorSelection
*/
Gtk::ColorSelection* wrap(GtkColorSelection* object, bool take_copy = false);
} //namespace Glib
@@ -387,10 +390,13 @@ namespace Glib
namespace Glib
{
- /** @relates Gtk::ColorSelectionDialog
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::ColorSelectionDialog
*/
Gtk::ColorSelectionDialog* wrap(GtkColorSelectionDialog* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/combo.cc b/libs/gtkmm2/gtk/gtkmm/combo.cc
index c36c030ace..843a9f8836 100644
--- a/libs/gtkmm2/gtk/gtkmm/combo.cc
+++ b/libs/gtkmm2/gtk/gtkmm/combo.cc
@@ -341,7 +341,7 @@ void ComboDropDownItem_Class::class_init_function(void* g_class, void* class_dat
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void ComboDropDownItem_Class::scroll_horizontal_callback(GtkListItem* self, GtkScrollType p0, gfloat p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -349,38 +349,41 @@ void ComboDropDownItem_Class::scroll_horizontal_callback(GtkListItem* self, GtkS
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_scroll_horizontal(((ScrollType)(p0))
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_scroll_horizontal(((ScrollType)(p0))
, p1
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->scroll_horizontal)
- (*base->scroll_horizontal)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->scroll_horizontal)
+ (*base->scroll_horizontal)(self, p0, p1);
}
void ComboDropDownItem_Class::scroll_vertical_callback(GtkListItem* self, GtkScrollType p0, gfloat p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -388,34 +391,37 @@ void ComboDropDownItem_Class::scroll_vertical_callback(GtkListItem* self, GtkScr
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_scroll_vertical(((ScrollType)(p0))
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_scroll_vertical(((ScrollType)(p0))
, p1
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->scroll_vertical)
- (*base->scroll_vertical)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->scroll_vertical)
+ (*base->scroll_vertical)(self, p0, p1);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -461,7 +467,8 @@ GType ComboDropDownItem::get_base_type()
ComboDropDownItem::ComboDropDownItem()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Item(Glib::ConstructParams(combodropdownitem_class_.init()))
{
}
@@ -564,7 +571,7 @@ void ComboDropDown_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void ComboDropDown_Class::select_child_callback(GtkList* self, GtkWidget* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -572,37 +579,40 @@ void ComboDropDown_Class::select_child_callback(GtkList* self, GtkWidget* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_select_child(*Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_select_child(*Glib::wrap(p0)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->select_child)
- (*base->select_child)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->select_child)
+ (*base->select_child)(self, p0);
}
void ComboDropDown_Class::selection_changed_callback(GtkList* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -610,36 +620,39 @@ void ComboDropDown_Class::selection_changed_callback(GtkList* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_selection_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_selection_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->selection_changed)
- (*base->selection_changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->selection_changed)
+ (*base->selection_changed)(self);
}
void ComboDropDown_Class::unselect_child_callback(GtkList* self, GtkWidget* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -647,33 +660,36 @@ void ComboDropDown_Class::unselect_child_callback(GtkList* self, GtkWidget* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_unselect_child(*Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_unselect_child(*Glib::wrap(p0)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->unselect_child)
- (*base->unselect_child)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->unselect_child)
+ (*base->unselect_child)(self, p0);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -787,7 +803,8 @@ ComboDropDownList::reference ComboDropDownList::operator[](size_type l) const
ComboDropDown::ComboDropDown()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Container(Glib::ConstructParams(combodropdown_class_.init()))
{
}
@@ -953,7 +970,8 @@ GType Combo::get_base_type()
Combo::Combo()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::HBox(Glib::ConstructParams(combo_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/combo.h b/libs/gtkmm2/gtk/gtkmm/combo.h
index efbb772495..e6064a864f 100644
--- a/libs/gtkmm2/gtk/gtkmm/combo.h
+++ b/libs/gtkmm2/gtk/gtkmm/combo.h
@@ -3,6 +3,8 @@
#ifndef _GTKMM_COMBO_H
#define _GTKMM_COMBO_H
+#include <gtkmmconfig.h>
+
#ifndef GTKMM_DISABLE_DEPRECATED
@@ -29,6 +31,10 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+
+
#include <glibmm/listhandle.h>
#include <glibmm/helperlist.h>
#include <gtkmm/box.h>
@@ -137,17 +143,17 @@ public:
ComboDropDownItem();
-/**
+ /**
* @par Prototype:
- * <tt>void %scroll_horizontal(ScrollType scroll_type, float position)</tt>
+ * <tt>void on_my_%scroll_horizontal(ScrollType scroll_type, float position)</tt>
*/
Glib::SignalProxy2< void,ScrollType,float > signal_scroll_horizontal();
-/**
+ /**
* @par Prototype:
- * <tt>void %scroll_vertical(ScrollType scroll_type, float position)</tt>
+ * <tt>void on_my_%scroll_vertical(ScrollType scroll_type, float position)</tt>
*/
Glib::SignalProxy2< void,ScrollType,float > signal_scroll_vertical();
@@ -304,25 +310,25 @@ public:
const ComboDropDownList& children() const;
-/**
+ /**
* @par Prototype:
- * <tt>void %select_child(Widget& item)</tt>
+ * <tt>void on_my_%select_child(Widget& item)</tt>
*/
Glib::SignalProxy1< void,Widget& > signal_select_child();
-/**
+ /**
* @par Prototype:
- * <tt>void %selection_changed()</tt>
+ * <tt>void on_my_%selection_changed()</tt>
*/
Glib::SignalProxy0< void > signal_selection_changed();
-/**
+ /**
* @par Prototype:
- * <tt>void %unselect_child(Widget& item)</tt>
+ * <tt>void on_my_%unselect_child(Widget& item)</tt>
*/
Glib::SignalProxy1< void,Widget& > signal_unselect_child();
@@ -582,10 +588,13 @@ public:
namespace Glib
{
- /** @relates Gtk::ComboDropDownItem
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::ComboDropDownItem
*/
Gtk::ComboDropDownItem* wrap(GtkListItem* object, bool take_copy = false);
} //namespace Glib
@@ -593,10 +602,13 @@ namespace Glib
namespace Glib
{
- /** @relates Gtk::ComboDropDown
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::ComboDropDown
*/
Gtk::ComboDropDown* wrap(GtkList* object, bool take_copy = false);
} //namespace Glib
@@ -604,10 +616,13 @@ namespace Glib
namespace Glib
{
- /** @relates Gtk::Combo
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Combo
*/
Gtk::Combo* wrap(GtkCombo* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/combobox.cc b/libs/gtkmm2/gtk/gtkmm/combobox.cc
index b56d24e2ba..abc516e8fd 100644
--- a/libs/gtkmm2/gtk/gtkmm/combobox.cc
+++ b/libs/gtkmm2/gtk/gtkmm/combobox.cc
@@ -163,7 +163,7 @@ void ComboBox_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void ComboBox_Class::changed_callback(GtkComboBox* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -171,32 +171,35 @@ void ComboBox_Class::changed_callback(GtkComboBox* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->changed)
- (*base->changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->changed)
+ (*base->changed)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -242,15 +245,17 @@ GType ComboBox::get_base_type()
ComboBox::ComboBox()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Bin(Glib::ConstructParams(combobox_class_.init()))
{
}
ComboBox::ComboBox(const Glib::RefPtr<TreeModel>& model)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Bin(Glib::ConstructParams(combobox_class_.init(), "model", Glib::unwrap(model), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Bin(Glib::ConstructParams(combobox_class_.init(), "model", Glib::unwrap(model), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/combobox.h b/libs/gtkmm2/gtk/gtkmm/combobox.h
index 2201940cec..8b21ca8588 100644
--- a/libs/gtkmm2/gtk/gtkmm/combobox.h
+++ b/libs/gtkmm2/gtk/gtkmm/combobox.h
@@ -144,9 +144,7 @@ public:
*/
void set_wrap_width(int width);
- /** Returns the wrap width which is used to determine the number
- * of columns for the popup menu. If the wrap width is larger than
- * 1, the combo box is in table mode.
+ /** Returns: the wrap width.
* @return The wrap width.
*
* @newin2p6.
@@ -163,7 +161,7 @@ public:
*/
void set_row_span_column(int row_span);
- /** Returns the column with row span information for @a combo_box .
+ /** Returns: the row span column.
* @return The row span column.
*
* @newin2p6.
@@ -180,7 +178,7 @@ public:
*/
void set_column_span_column(int column_span);
- /** Returns the column with column span information for @a combo_box .
+ /** Returns: the column span column.
* @return The column span column.
*
* @newin2p6.
@@ -202,13 +200,24 @@ public:
void set_add_tearoffs(bool add_tearoffs = true);
+ /** Gets the current title of the menu in tearoff mode. See
+ * set_add_tearoffs().
+ * @return The menu's title in tearoff mode. This is an internal copy of the
+ * string which must not be freed.
+ *
+ * @newin2p10.
+ */
Glib::ustring get_title() const;
+ /** Sets the menu's title in tearoff mode.
+ *
+ * @newin2p10
+ * @param title A title for the menu in tearoff mode.
+ */
void set_title(const Glib::ustring& title);
- /** Returns whether the combo box grabs focus when it is clicked
- * with the mouse. See set_focus_on_click().
+ /** Return value: <tt>true</tt> if the combo box grabs focus when it is
* @return <tt>true</tt> if the combo box grabs focus when it is
* clicked with the mouse.
*
@@ -229,13 +238,9 @@ public:
/* get/set active item */
- /** Returns the index of the currently active item, or -1 if there's no
- * active item. If the model is a non-flat treemodel, and the active item
- * is not an immediate child of the root of the tree, this function returns
- * <tt>gtk_tree_path_get_indices (path)[0]</tt>, where
- * <tt>path</tt> is the Gtk::TreePath of the active item.
- * @return An integer which is the index of the currently active item, or
- * -1 if there's no active item.
+ /** Return value: An integer which is the index of the currently active item,
+ * @return An integer which is the index of the currently active item,
+ * or -1 if there's no active item.
*
* @newin2p4.
*/
@@ -273,14 +278,14 @@ public:
void unset_active();
- /** Returns the Gtk::TreeModel which is acting as data source for @a combo_box .
+ /** Return value: A Gtk::TreeModel which was passed during construction.
* @return A Gtk::TreeModel which was passed during construction.
*
* @newin2p4.
*/
Glib::RefPtr<TreeModel> get_model();
- /** Returns the Gtk::TreeModel which is acting as data source for @a combo_box .
+ /** Return value: A Gtk::TreeModel which was passed during construction.
* @return A Gtk::TreeModel which was passed during construction.
*
* @newin2p4.
@@ -291,8 +296,8 @@ public:
* model (if applicable). If model is <tt>0</tt>, then it will unset the model.
*
* Note that this function does not clear the cell renderers, you have to
- * call gtk_combo_box_cell_layout_clear() yourself if you need to set up
- * different cell renderers for the new model.
+ * call Gtk::CellLayout::clear() yourself if you need to set up different
+ * cell renderers for the new model.
*
* @newin2p4
* @param model A Gtk::TreeModel.
@@ -547,16 +552,17 @@ public:
* item is changed. This can be due to the user selecting
* a different item from the list, or due to a
* call to set_active_iter().
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %changed()</tt>
+ * <tt>void on_my_%changed()</tt>
*/
Glib::SignalProxy0< void > signal_changed();
-
+
+ //Key-binding signals:
+
+
};
@@ -565,10 +571,13 @@ public:
namespace Glib
{
- /** @relates Gtk::ComboBox
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::ComboBox
*/
Gtk::ComboBox* wrap(GtkComboBox* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/comboboxentry.cc b/libs/gtkmm2/gtk/gtkmm/comboboxentry.cc
index 0b850de778..7e1369f9c4 100644
--- a/libs/gtkmm2/gtk/gtkmm/comboboxentry.cc
+++ b/libs/gtkmm2/gtk/gtkmm/comboboxentry.cc
@@ -148,22 +148,25 @@ GType ComboBoxEntry::get_base_type()
ComboBoxEntry::ComboBoxEntry()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::ComboBox(Glib::ConstructParams(comboboxentry_class_.init()))
{
}
ComboBoxEntry::ComboBoxEntry(const Glib::RefPtr<TreeModel>& model, const TreeModelColumnBase& text_column)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::ComboBox(Glib::ConstructParams(comboboxentry_class_.init(), "model", Glib::unwrap(model), "text_column", (text_column).index(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::ComboBox(Glib::ConstructParams(comboboxentry_class_.init(), "model", Glib::unwrap(model), "text_column", (text_column).index(), static_cast<char*>(0)))
{
}
ComboBoxEntry::ComboBoxEntry(const Glib::RefPtr<TreeModel>& model, int text_column)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::ComboBox(Glib::ConstructParams(comboboxentry_class_.init(), "model", Glib::unwrap(model), "text_column", text_column, (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::ComboBox(Glib::ConstructParams(comboboxentry_class_.init(), "model", Glib::unwrap(model), "text_column", text_column, static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/comboboxentry.h b/libs/gtkmm2/gtk/gtkmm/comboboxentry.h
index 72d8d8ec73..3e622d784a 100644
--- a/libs/gtkmm2/gtk/gtkmm/comboboxentry.h
+++ b/libs/gtkmm2/gtk/gtkmm/comboboxentry.h
@@ -140,7 +140,7 @@ public:
/** Sets the model column which @a entry_box should use to get strings from
* to be @a text_column .
*
- * @newin2p4.
+ * @newin2p4
* @param text_column A column in @a model to get the strings from.
*/
void set_text_column(const TreeModelColumnBase& text_column) const;
@@ -148,12 +148,12 @@ public:
/** Sets the model column which @a entry_box should use to get strings from
* to be @a text_column .
*
- * @newin2p4.
+ * @newin2p4
* @param text_column A column in @a model to get the strings from.
*/
void set_text_column(int text_column) const;
- /** Returns the column which @a entry_box is using to get the strings from.
+ /** Return value: A column in the data source model of @a entry_box .
* @return A column in the data source model of @a entry_box .
*
* @newin2p4.
@@ -179,10 +179,13 @@ public:
namespace Glib
{
- /** @relates Gtk::ComboBoxEntry
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::ComboBoxEntry
*/
Gtk::ComboBoxEntry* wrap(GtkComboBoxEntry* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/container.cc b/libs/gtkmm2/gtk/gtkmm/container.cc
index 6c6d70caec..49d49d00cc 100644
--- a/libs/gtkmm2/gtk/gtkmm/container.cc
+++ b/libs/gtkmm2/gtk/gtkmm/container.cc
@@ -411,7 +411,7 @@ void Container_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_VFUNCS_ENABLED
GtkType Container_Class::child_type_vfunc_callback(GtkContainer* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -419,39 +419,42 @@ GtkType Container_Class::child_type_vfunc_callback(GtkContainer* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->child_type_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->child_type_vfunc();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->child_type)
+ return (*base->child_type)(self);
- // Call the original underlying C function:
- if(base && base->child_type)
- return (*base->child_type)(self);
- }
typedef GtkType RType;
return RType();
}
void Container_Class::forall_vfunc_callback(GtkContainer* self, gboolean include_internals, GtkCallback callback, gpointer callback_data)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -459,36 +462,40 @@ void Container_Class::forall_vfunc_callback(GtkContainer* self, gboolean include
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->forall_vfunc(include_internals, callback, callback_data);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->forall_vfunc(include_internals, callback, callback_data);
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->forall)
+ (*base->forall)(self, include_internals, callback, callback_data);
- // Call the original underlying C function:
- if(base && base->forall)
- (*base->forall)(self, include_internals, callback, callback_data);
- }
}
gchar* Container_Class::composite_name_vfunc_callback(GtkContainer* self, GtkWidget* child)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -496,39 +503,42 @@ gchar* Container_Class::composite_name_vfunc_callback(GtkContainer* self, GtkWid
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->composite_name_vfunc(child);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->composite_name_vfunc(child);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->composite_name)
+ return (*base->composite_name)(self, child);
- // Call the original underlying C function:
- if(base && base->composite_name)
- return (*base->composite_name)(self, child);
- }
typedef gchar* RType;
return RType();
}
void Container_Class::set_child_property_vfunc_callback(GtkContainer* self, GtkWidget* child, guint property_id, const GValue* value, GParamSpec* pspec)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -536,36 +546,40 @@ void Container_Class::set_child_property_vfunc_callback(GtkContainer* self, GtkW
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->set_child_property_vfunc(child, property_id, value, pspec);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->set_child_property_vfunc(child, property_id, value, pspec);
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->set_child_property)
+ (*base->set_child_property)(self, child, property_id, value, pspec);
- // Call the original underlying C function:
- if(base && base->set_child_property)
- (*base->set_child_property)(self, child, property_id, value, pspec);
- }
}
void Container_Class::get_child_property_vfunc_callback(GtkContainer* self, GtkWidget* child, guint property_id, GValue* value, GParamSpec* pspec)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -573,39 +587,43 @@ void Container_Class::get_child_property_vfunc_callback(GtkContainer* self, GtkW
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->get_child_property_vfunc(child, property_id, value, pspec);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->get_child_property_vfunc(child, property_id, value, pspec);
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->get_child_property)
+ (*base->get_child_property)(self, child, property_id, value, pspec);
- // Call the original underlying C function:
- if(base && base->get_child_property)
- (*base->get_child_property)(self, child, property_id, value, pspec);
- }
}
#endif //GLIBMM_VFUNCS_ENABLED
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Container_Class::add_callback(GtkContainer* self, GtkWidget* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -613,37 +631,40 @@ void Container_Class::add_callback(GtkContainer* self, GtkWidget* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_add(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_add(Glib::wrap(p0)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->add)
- (*base->add)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->add)
+ (*base->add)(self, p0);
}
void Container_Class::check_resize_callback(GtkContainer* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -651,36 +672,39 @@ void Container_Class::check_resize_callback(GtkContainer* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_check_resize();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_check_resize();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->check_resize)
- (*base->check_resize)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->check_resize)
+ (*base->check_resize)(self);
}
void Container_Class::set_focus_child_callback(GtkContainer* self, GtkWidget* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -688,33 +712,36 @@ void Container_Class::set_focus_child_callback(GtkContainer* self, GtkWidget* p0
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_set_focus_child(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_set_focus_child(Glib::wrap(p0)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->set_focus_child)
- (*base->set_focus_child)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->set_focus_child)
+ (*base->set_focus_child)(self, p0);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -860,7 +887,8 @@ GType Container::child_type() const
Container::Container()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Widget(Glib::ConstructParams(container_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/container.h b/libs/gtkmm2/gtk/gtkmm/container.h
index a3b04aaa08..98b8b64106 100644
--- a/libs/gtkmm2/gtk/gtkmm/container.h
+++ b/libs/gtkmm2/gtk/gtkmm/container.h
@@ -144,8 +144,8 @@ public:
* the container. To add space to only one side, one approach is to
* create a Gtk::Alignment widget, call Gtk::Widget::set_usize() to give
* it a size, and place it on the side of the container as a spacer.
- * @param border_width Amount of blank space to leave <em>outside</em> the container.
- * Valid values are in the range 0-65535 pixels.
+ * @param border_width Amount of blank space to leave <em>outside</em>
+ * the container. Valid values are in the range 0-65535 pixels.
*/
void set_border_width(guint border_width);
@@ -180,8 +180,7 @@ public:
void set_resize_mode(ResizeMode resize_mode);
- /** Returns the resize mode for the container. See
- * set_resize_mode().
+ /** Return value: the current resize mode
* @return The current resize mode.
*/
ResizeMode get_resize_mode() const;
@@ -213,14 +212,12 @@ public:
//_WRAP_METHOD(void foreach_full_(GtkCallback callback,GtkCallbackMarshal marshal, gpointer data,GtkDestroyNotify notify),gtk_container_foreach_full)
- /** Returns the container's non-internal children. See
- * forall() for details on what constitutes an "internal" child.
+ /** Return value: a newly-allocated list of the container's non-internal children.
* @return A newly-allocated list of the container's non-internal children.
*/
Glib::ListHandle<Widget*> get_children();
- /** Returns the container's non-internal children. See
- * forall() for details on what constitutes an "internal" child.
+ /** Return value: a newly-allocated list of the container's non-internal children.
* @return A newly-allocated list of the container's non-internal children.
*/
Glib::ListHandle<const Widget*> get_children() const;
@@ -237,7 +234,7 @@ public:
* the event's area with the child area, and sending the event.
*
* In most cases, a container can simply either simply inherit the
- * ::expose implementation from Gtk::Container, or, do some drawing
+ * Gtk::Widget::expose implementation from Gtk::Container, or, do some drawing
* and then chain to the ::expose implementation from Gtk::Container.
* @param child A child of @a container .
* @param event A expose event sent to container.
@@ -284,16 +281,17 @@ public:
void set_focus_child(Widget& widget);
- /** Hooks up an adjustment to focus handling in a container, so when a child of the
- * container is focused, the adjustment is scrolled to show that widget. This function
- * sets the vertical alignment. See Gtk::ScrolledWindow::get_vadjustment() for a typical
- * way of obtaining the adjustment and set_focus_hadjustment() for setting
+ /** Hooks up an adjustment to focus handling in a container, so when a
+ * child of the container is focused, the adjustment is scrolled to
+ * show that widget. This function sets the vertical alignment. See
+ * Gtk::ScrolledWindow::get_vadjustment() for a typical way of obtaining
+ * the adjustment and set_focus_hadjustment() for setting
* the horizontal adjustment.
*
- * The adjustments have to be in pixel units and in the same coordinate system as the
- * allocation for immediate children of the container.
- * @param adjustment An adjustment which should be adjusted when the focus is moved among the
- * descendents of @a container .
+ * The adjustments have to be in pixel units and in the same coordinate
+ * system as the allocation for immediate children of the container.
+ * @param adjustment An adjustment which should be adjusted when the focus
+ * is moved among the descendents of @a container .
*/
void set_focus_vadjustment(Adjustment& adjustment);
@@ -313,16 +311,17 @@ public:
const Adjustment* get_focus_vadjustment() const;
- /** Hooks up an adjustment to focus handling in a container, so when a child of the
- * container is focused, the adjustment is scrolled to show that widget. This function
- * sets the horizontal alignment. See Gtk::ScrolledWindow::get_hadjustment() for a typical
- * way of obtaining the adjustment and set_focus_vadjustment() for setting
+ /** Hooks up an adjustment to focus handling in a container, so when a child
+ * of the container is focused, the adjustment is scrolled to show that
+ * widget. This function sets the horizontal alignment.
+ * See Gtk::ScrolledWindow::get_hadjustment() for a typical way of obtaining
+ * the adjustment and set_focus_vadjustment() for setting
* the vertical adjustment.
*
- * The adjustments have to be in pixel units and in the same coordinate system as the
- * allocation for immediate children of the container.
- * @param adjustment An adjustment which should be adjusted when the focus is moved among the
- * descendents of @a container .
+ * The adjustments have to be in pixel units and in the same coordinate
+ * system as the allocation for immediate children of the container.
+ * @param adjustment An adjustment which should be adjusted when the focus is
+ * moved among the descendents of @a container .
*/
void set_focus_hadjustment(Adjustment& adjustment);
@@ -345,11 +344,7 @@ public:
void resize_children();
- /** Returns the type of the children supported by the container.
- *
- * Note that this may return G::TYPE_NONE to indicate that no more
- * children can be added, e.g. for a Gtk::Paned which already has two
- * children.
+ /** Return value: a G::Type.
* @return A G::Type.
*/
GType child_type() const;
@@ -357,9 +352,9 @@ public:
// Ignore functions such as gtk_container_class_install_child_property(), which I think are for themes, like the GtkWidget style properties.
-/**
+ /**
* @par Prototype:
- * <tt>void %add(Widget* widget)</tt>
+ * <tt>void on_my_%add(Widget* widget)</tt>
*/
Glib::SignalProxy1< void,Widget* > signal_add();
@@ -368,25 +363,25 @@ public:
//We use the optional custom_c_callback parameter with _WRAP_SIGNAL() here,
//so that we can write special code to check for deleted child widget parameters:
-/**
+ /**
* @par Prototype:
- * <tt>void %remove(Widget* widget)</tt>
+ * <tt>void on_my_%remove(Widget* widget)</tt>
*/
Glib::SignalProxy1< void,Widget* > signal_remove();
-/**
+ /**
* @par Prototype:
- * <tt>void %check_resize()</tt>
+ * <tt>void on_my_%check_resize()</tt>
*/
Glib::SignalProxy0< void > signal_check_resize();
-/**
+ /**
* @par Prototype:
- * <tt>void %set_focus_child(Widget* widget)</tt>
+ * <tt>void on_my_%set_focus_child(Widget* widget)</tt>
*/
Glib::SignalProxy1< void,Widget* > signal_set_focus_child();
@@ -477,10 +472,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::Container
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Container
*/
Gtk::Container* wrap(GtkContainer* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/curve.cc b/libs/gtkmm2/gtk/gtkmm/curve.cc
index 9cd9cc345e..210e07e191 100644
--- a/libs/gtkmm2/gtk/gtkmm/curve.cc
+++ b/libs/gtkmm2/gtk/gtkmm/curve.cc
@@ -118,7 +118,7 @@ void Curve_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Curve_Class::curve_type_changed_callback(GtkCurve* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -126,32 +126,35 @@ void Curve_Class::curve_type_changed_callback(GtkCurve* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_curve_type_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_curve_type_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->curve_type_changed)
- (*base->curve_type_changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->curve_type_changed)
+ (*base->curve_type_changed)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -197,7 +200,8 @@ GType Curve::get_base_type()
Curve::Curve()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::DrawingArea(Glib::ConstructParams(curve_class_.init()))
{
}
@@ -419,7 +423,8 @@ GType GammaCurve::get_base_type()
GammaCurve::GammaCurve()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::VBox(Glib::ConstructParams(gammacurve_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/curve.h b/libs/gtkmm2/gtk/gtkmm/curve.h
index 9ccfcc7e90..7b064d9bcf 100644
--- a/libs/gtkmm2/gtk/gtkmm/curve.h
+++ b/libs/gtkmm2/gtk/gtkmm/curve.h
@@ -136,9 +136,9 @@ public:
void set_curve_type(CurveType type);
-/**
+ /**
* @par Prototype:
- * <tt>void %curve_type_changed()</tt>
+ * <tt>void on_my_%curve_type_changed()</tt>
*/
Glib::SignalProxy0< void > signal_curve_type_changed();
@@ -321,10 +321,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Curve
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Curve
*/
Gtk::Curve* wrap(GtkCurve* object, bool take_copy = false);
} //namespace Glib
@@ -332,10 +335,13 @@ namespace Glib
namespace Glib
{
- /** @relates Gtk::GammaCurve
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::GammaCurve
*/
Gtk::GammaCurve* wrap(GtkGammaCurve* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/dialog.cc b/libs/gtkmm2/gtk/gtkmm/dialog.cc
index 803a6b149d..fd8e21ed7c 100644
--- a/libs/gtkmm2/gtk/gtkmm/dialog.cc
+++ b/libs/gtkmm2/gtk/gtkmm/dialog.cc
@@ -32,8 +32,9 @@ namespace Gtk
Dialog::Dialog(const Glib::ustring& title, Gtk::Window& parent, bool modal, bool use_separator)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Window(Glib::ConstructParams(dialog_class_.init(), "title",title.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Window(Glib::ConstructParams(dialog_class_.init(), "title",title.c_str(), static_cast<char*>(0)))
{
construct_(modal, use_separator);
set_transient_for(parent);
@@ -41,8 +42,9 @@ Dialog::Dialog(const Glib::ustring& title, Gtk::Window& parent, bool modal, bool
Dialog::Dialog(const Glib::ustring& title, bool modal, bool use_separator)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Window(Glib::ConstructParams(dialog_class_.init(), "title",title.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Window(Glib::ConstructParams(dialog_class_.init(), "title",title.c_str(), static_cast<char*>(0)))
{
construct_(modal, use_separator);
}
@@ -162,7 +164,7 @@ void Dialog_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Dialog_Class::response_callback(GtkDialog* self, gint p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -170,33 +172,36 @@ void Dialog_Class::response_callback(GtkDialog* self, gint p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_response(p0
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_response(p0
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->response)
- (*base->response)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->response)
+ (*base->response)(self, p0);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -242,7 +247,8 @@ GType Dialog::get_base_type()
Dialog::Dialog()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Window(Glib::ConstructParams(dialog_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/dialog.h b/libs/gtkmm2/gtk/gtkmm/dialog.h
index d019795eb6..7b12e3b7fa 100644
--- a/libs/gtkmm2/gtk/gtkmm/dialog.h
+++ b/libs/gtkmm2/gtk/gtkmm/dialog.h
@@ -187,11 +187,11 @@ public:
/** Adds an activatable widget to the action area of a Gtk::Dialog,
- * connecting a signal handler that will emit the "response" signal on
- * the dialog when the widget is activated. The widget is appended to
- * the end of the dialog's action area. If you want to add a
- * non-activatable widget, simply pack it into the
- * <tt>action_area</tt> field of the Gtk::Dialog struct.
+ * connecting a signal handler that will emit the Gtk::Dialog::response
+ * signal on the dialog when the widget is activated. The widget is
+ * appended to the end of the dialog's action area. If you want to add a
+ * non-activatable widget, simply pack it into the @a action_area field
+ * of the Gtk::Dialog struct.
* @param child An activatable widget.
* @param response_id Response ID for @a child .
*/
@@ -199,9 +199,9 @@ public:
/** Adds a button with the given text (or a stock button, if @a button_text is a
* stock ID) and sets things up so that clicking the button will emit the
- * "response" signal with the given @a response_id . The button is appended to the
- * end of the dialog's action area. The button widget is returned, but usually
- * you don't need it.
+ * Gtk::Dialog::response signal with the given @a response_id . The button is
+ * appended to the end of the dialog's action area. The button widget is
+ * returned, but usually you don't need it.
* @param button_text Text of button, or stock ID.
* @param response_id Response ID for the button.
* @return The button widget that was added.
@@ -210,9 +210,9 @@ public:
/** Adds a button with the given text (or a stock button, if @a button_text is a
* stock ID) and sets things up so that clicking the button will emit the
- * "response" signal with the given @a response_id . The button is appended to the
- * end of the dialog's action area. The button widget is returned, but usually
- * you don't need it.
+ * Gtk::Dialog::response signal with the given @a response_id . The button is
+ * appended to the end of the dialog's action area. The button widget is
+ * returned, but usually you don't need it.
* @param button_text Text of button, or stock ID.
* @param response_id Response ID for the button.
* @return The button widget that was added.
@@ -256,15 +256,7 @@ public:
bool get_has_separator() const;
- /** Returns <tt>true</tt> if dialogs are expected to use an alternative
- * button order on the screen @a screen . See
- * Gtk::Dialog::set_alternative_button_order() for more details
- * about alternative button order.
- *
- * If you need to use this function, you should probably connect
- * to the ::notify:gtk-alternative-button-order signal on the
- * Gtk::Settings object associated to @a screen , in order to be
- * notified if the button order setting changes.
+ /** Returns: Whether the alternative button order should be used
* @param screen A Gdk::Screen, or <tt>0</tt> to use the default screen.
* @return Whether the alternative button order should be used
*
@@ -292,10 +284,10 @@ public:
void set_alternative_button_order_from_array(const Glib::ArrayHandle<int>& new_order);
- /** Emits the "response" signal with the given response ID. Used to
- * indicate that the user has responded to the dialog in some way;
+ /** Emits the Gtk::Dialog::response signal with the given response ID.
+ * Used to indicate that the user has responded to the dialog in some way;
* typically either you or run() will be monitoring the
- * "response" signal and take appropriate action.
+ * ::response signal and take appropriate action.
* @param response_id Response ID.
*/
void response(int response_id);
@@ -358,9 +350,9 @@ public:
#endif //#GLIBMM_PROPERTIES_ENABLED
-/**
+ /**
* @par Prototype:
- * <tt>void %response(int response_id)</tt>
+ * <tt>void on_my_%response(int response_id)</tt>
*/
Glib::SignalProxy1< void,int > signal_response();
@@ -377,10 +369,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::Dialog
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Dialog
*/
Gtk::Dialog* wrap(GtkDialog* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/drawingarea.cc b/libs/gtkmm2/gtk/gtkmm/drawingarea.cc
index 20796b368c..a0ba952e9c 100644
--- a/libs/gtkmm2/gtk/gtkmm/drawingarea.cc
+++ b/libs/gtkmm2/gtk/gtkmm/drawingarea.cc
@@ -130,7 +130,8 @@ GType DrawingArea::get_base_type()
DrawingArea::DrawingArea()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Widget(Glib::ConstructParams(drawingarea_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/drawingarea.h b/libs/gtkmm2/gtk/gtkmm/drawingarea.h
index 0d0529c3a3..d164038df6 100644
--- a/libs/gtkmm2/gtk/gtkmm/drawingarea.h
+++ b/libs/gtkmm2/gtk/gtkmm/drawingarea.h
@@ -116,10 +116,13 @@ public:
namespace Glib
{
- /** @relates Gtk::DrawingArea
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::DrawingArea
*/
Gtk::DrawingArea* wrap(GtkDrawingArea* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/editable.cc b/libs/gtkmm2/gtk/gtkmm/editable.cc
index 4f02024475..37cc81645f 100644
--- a/libs/gtkmm2/gtk/gtkmm/editable.cc
+++ b/libs/gtkmm2/gtk/gtkmm/editable.cc
@@ -113,7 +113,7 @@ namespace Glib
Glib::RefPtr<Gtk::Editable> wrap(GtkEditable* object, bool take_copy)
{
- return Glib::RefPtr<Gtk::Editable>( dynamic_cast<Gtk::Editable*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ return Glib::RefPtr<Gtk::Editable>( dynamic_cast<Gtk::Editable*> (Glib::wrap_auto_interface<Gtk::Editable> ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance.
}
@@ -169,7 +169,7 @@ void Editable_Class::iface_init_function(void* g_iface, void*)
#ifdef GLIBMM_VFUNCS_ENABLED
void Editable_Class::do_insert_text_vfunc_callback(GtkEditable* self, const gchar* text, gint length, gint* position)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*) self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -177,37 +177,41 @@ void Editable_Class::do_insert_text_vfunc_callback(GtkEditable* self, const gcha
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->insert_text_vfunc( Glib::ustring(text, text + length), *position);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->insert_text_vfunc( Glib::ustring(text, text + length), *position);
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->do_insert_text)
+ (*base->do_insert_text)( self, text, length, position);
- // Call the original underlying C function:
- if(base && base->do_insert_text)
- (*base->do_insert_text)( self, text, length, position);
- }
}
void Editable_Class::do_delete_text_vfunc_callback(GtkEditable* self, gint start_pos, gint end_pos)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -215,39 +219,43 @@ void Editable_Class::do_delete_text_vfunc_callback(GtkEditable* self, gint start
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->delete_text_vfunc(start_pos
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->delete_text_vfunc(start_pos
, end_pos
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->do_delete_text)
+ (*base->do_delete_text)(self, start_pos, end_pos);
- // Call the original underlying C function:
- if(base && base->do_delete_text)
- (*base->do_delete_text)(self, start_pos, end_pos);
- }
}
gchar* Editable_Class::get_chars_vfunc_callback(GtkEditable* self, gint start_pos, gint end_pos)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -255,42 +263,45 @@ gchar* Editable_Class::get_chars_vfunc_callback(GtkEditable* self, gint start_po
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return g_strdup((obj->get_chars_vfunc(start_pos
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return g_strdup((obj->get_chars_vfunc(start_pos
, end_pos
)).c_str());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_chars)
+ return (*base->get_chars)(self, start_pos, end_pos);
- // Call the original underlying C function:
- if(base && base->get_chars)
- return (*base->get_chars)(self, start_pos, end_pos);
- }
typedef gchar* RType;
return RType();
}
void Editable_Class::set_selection_bounds_vfunc_callback(GtkEditable* self, gint start_pos, gint end_pos)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -298,39 +309,43 @@ void Editable_Class::set_selection_bounds_vfunc_callback(GtkEditable* self, gint
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->select_region_vfunc(start_pos
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->select_region_vfunc(start_pos
, end_pos
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->set_selection_bounds)
+ (*base->set_selection_bounds)(self, start_pos, end_pos);
- // Call the original underlying C function:
- if(base && base->set_selection_bounds)
- (*base->set_selection_bounds)(self, start_pos, end_pos);
- }
}
gboolean Editable_Class::get_selection_bounds_vfunc_callback(GtkEditable* self, gint* start_pos, gint* end_pos)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -338,42 +353,45 @@ gboolean Editable_Class::get_selection_bounds_vfunc_callback(GtkEditable* self,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->get_selection_bounds_vfunc(*(start_pos)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->get_selection_bounds_vfunc(*(start_pos)
, *(end_pos)
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_selection_bounds)
+ return (*base->get_selection_bounds)(self, start_pos, end_pos);
- // Call the original underlying C function:
- if(base && base->get_selection_bounds)
- return (*base->get_selection_bounds)(self, start_pos, end_pos);
- }
typedef gboolean RType;
return RType();
}
void Editable_Class::set_position_vfunc_callback(GtkEditable* self, gint position)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -381,38 +399,42 @@ void Editable_Class::set_position_vfunc_callback(GtkEditable* self, gint positio
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->set_position_vfunc(position
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->set_position_vfunc(position
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->set_position)
+ (*base->set_position)(self, position);
- // Call the original underlying C function:
- if(base && base->set_position)
- (*base->set_position)(self, position);
- }
}
gint Editable_Class::get_position_vfunc_callback(GtkEditable* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -420,33 +442,36 @@ gint Editable_Class::get_position_vfunc_callback(GtkEditable* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_position_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_position_vfunc();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_position)
+ return (*base->get_position)(self);
- // Call the original underlying C function:
- if(base && base->get_position)
- return (*base->get_position)(self);
- }
typedef gint RType;
return RType();
@@ -456,7 +481,7 @@ g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Ge
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Editable_Class::insert_text_callback(GtkEditable* self, const gchar* text, gint length, gint* position)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*) self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -464,37 +489,40 @@ void Editable_Class::insert_text_callback(GtkEditable* self, const gchar* text,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_insert_text( Glib::ustring(text, text + length), position);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_insert_text( Glib::ustring(text, text + length), position);
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->insert_text)
- (*base->insert_text)( self, text, length, position);
- }
+ // Call the original underlying C function:
+ if(base && base->insert_text)
+ (*base->insert_text)( self, text, length, position);
}
void Editable_Class::delete_text_callback(GtkEditable* self, gint start_pos, gint end_pos)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -502,39 +530,42 @@ void Editable_Class::delete_text_callback(GtkEditable* self, gint start_pos, gin
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_delete_text(start_pos
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_delete_text(start_pos
, end_pos
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->delete_text)
- (*base->delete_text)(self, start_pos, end_pos);
- }
+ // Call the original underlying C function:
+ if(base && base->delete_text)
+ (*base->delete_text)(self, start_pos, end_pos);
}
void Editable_Class::changed_callback(GtkEditable* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -542,33 +573,36 @@ void Editable_Class::changed_callback(GtkEditable* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->changed)
- (*base->changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->changed)
+ (*base->changed)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/gtk/gtkmm/editable.h b/libs/gtkmm2/gtk/gtkmm/editable.h
index edc79ed88b..eecd4b17ce 100644
--- a/libs/gtkmm2/gtk/gtkmm/editable.h
+++ b/libs/gtkmm2/gtk/gtkmm/editable.h
@@ -72,8 +72,14 @@ private:
protected:
Editable(); // you must derive from this class
+
+public:
+ // This is public so that C++ wrapper instances can be
+ // created for C instances of unwrapped types.
+ // For instance, if an unexpected C type implements the C interface.
explicit Editable(GtkEditable* castitem);
+protected:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
@@ -135,17 +141,17 @@ public:
Glib::SignalProxy2< void,const Glib::ustring&,int* > signal_insert_text();
-/**
+ /**
* @par Prototype:
- * <tt>void %delete_text(int start_pos, int end_pos)</tt>
+ * <tt>void on_my_%delete_text(int start_pos, int end_pos)</tt>
*/
Glib::SignalProxy2< void,int,int > signal_delete_text();
-/**
+ /**
* @par Prototype:
- * <tt>void %changed()</tt>
+ * <tt>void on_my_%changed()</tt>
*/
Glib::SignalProxy0< void > signal_changed();
@@ -210,10 +216,13 @@ virtual void insert_text_vfunc(const Glib::ustring& text, int& position);
namespace Glib
{
- /** @relates Gtk::Editable
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Editable
*/
Glib::RefPtr<Gtk::Editable> wrap(GtkEditable* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gtk/gtkmm/entry.cc b/libs/gtkmm2/gtk/gtkmm/entry.cc
index 9c10aecef8..29beb397c4 100644
--- a/libs/gtkmm2/gtk/gtkmm/entry.cc
+++ b/libs/gtkmm2/gtk/gtkmm/entry.cc
@@ -169,7 +169,7 @@ void Entry_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Entry_Class::populate_popup_callback(GtkEntry* self, GtkMenu* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -177,37 +177,40 @@ void Entry_Class::populate_popup_callback(GtkEntry* self, GtkMenu* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_populate_popup(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_populate_popup(Glib::wrap(p0)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->populate_popup)
- (*base->populate_popup)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->populate_popup)
+ (*base->populate_popup)(self, p0);
}
void Entry_Class::insert_at_cursor_callback(GtkEntry* self, const gchar* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -215,37 +218,40 @@ void Entry_Class::insert_at_cursor_callback(GtkEntry* self, const gchar* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_insert_at_cursor(Glib::convert_const_gchar_ptr_to_ustring(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_insert_at_cursor(Glib::convert_const_gchar_ptr_to_ustring(p0)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->insert_at_cursor)
- (*base->insert_at_cursor)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->insert_at_cursor)
+ (*base->insert_at_cursor)(self, p0);
}
void Entry_Class::activate_callback(GtkEntry* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -253,32 +259,35 @@ void Entry_Class::activate_callback(GtkEntry* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_activate();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_activate();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->activate)
- (*base->activate)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->activate)
+ (*base->activate)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -324,7 +333,8 @@ GType Entry::get_base_type()
Entry::Entry()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Widget(Glib::ConstructParams(entry_class_.init()))
{
}
@@ -439,6 +449,26 @@ int Entry::text_index_to_layout_index(int text_index) const
return gtk_entry_text_index_to_layout_index(const_cast<GtkEntry*>(gobj()), text_index);
}
+void Entry::set_cursor_hadjustment(Adjustment& adjustment)
+{
+gtk_entry_set_cursor_hadjustment(gobj(), (adjustment).gobj());
+}
+
+Adjustment* Entry::get_cursor_hadjustment()
+{
+
+ Adjustment* retvalue = Glib::wrap(gtk_entry_get_cursor_hadjustment(gobj()));
+ if(retvalue)
+ retvalue->reference(); //The function does not do a ref for us.
+ return retvalue;
+
+}
+
+const Adjustment* Entry::get_cursor_hadjustment() const
+{
+ return const_cast<Entry*>(this)->get_cursor_hadjustment();
+}
+
void Entry::set_alignment(float xalign)
{
gtk_entry_set_alignment(gobj(), xalign);
diff --git a/libs/gtkmm2/gtk/gtkmm/entry.h b/libs/gtkmm2/gtk/gtkmm/entry.h
index 4b2eb14177..d042590c3e 100644
--- a/libs/gtkmm2/gtk/gtkmm/entry.h
+++ b/libs/gtkmm2/gtk/gtkmm/entry.h
@@ -32,6 +32,7 @@
#include <gtkmm/menu.h>
#include <gtkmm/celleditable.h>
#include <gtkmm/entrycompletion.h>
+#include <gtkmm/adjustment.h>
#ifndef DOXYGEN_SHOULD_SKIP_THIS
@@ -128,6 +129,16 @@ public:
Entry();
+ /** Sets whether the contents of the entry are visible or not.
+ * When visibility is set to <tt>false</tt>, characters are displayed
+ * as the invisible char, and will also appear that way when
+ * the text in the entry widget is copied elsewhere.
+ *
+ * The default invisible char is the asterisk '*', but it can
+ * be changed with set_invisible_char().
+ * @param visible <tt>true</tt> if the contents of the entry are displayed
+ * as plaintext.
+ */
void set_visibility(bool visible = true);
/** Retrieves whether the text in @a entry is visible. See
@@ -148,7 +159,7 @@ public:
void set_invisible_char(gunichar ch);
/** Retrieves the character displayed in place of the real characters
- * for entries with visisbility set to false. See set_invisible_char().
+ * for entries with visibility set to false. See set_invisible_char().
* @return The current invisible char, or 0, if the entry does not
* show invisible text at all.
*/
@@ -165,8 +176,26 @@ public:
bool get_has_frame() const;
+ /** Sets %entry's inner-border property to %border, or clears it if <tt>0</tt>
+ * is passed. The inner-border is the area around the entry's text, but
+ * inside its frame.
+ *
+ * If set, this property overrides the inner-border style property.
+ * Overriding the style-provided border is useful when you want to do
+ * in-place editing of some text in a canvas or list widget, where
+ * pixel-exact positioning of the entry is important.
+ *
+ * @newin2p10
+ * @param border A Gtk::Border, or <tt>0</tt>.
+ */
void set_inner_border(const Border& border);
+ /** This function returns the entry's Gtk::Entry:inner-border property. See
+ * set_inner_border() for more information.
+ * @return The entry's Gtk::Border, or <tt>0</tt> if none was set.
+ *
+ * @newin2p10.
+ */
Border get_inner_border() const;
@@ -193,7 +222,7 @@ public:
*
* (For experts: if @a setting is <tt>true</tt>, the entry calls
* Gtk::Window::activate_default() on the window containing the entry, in
- * the default handler for the "activate" signal.)
+ * the default handler for the Gtk::Widget::activate signal.)
* @param setting <tt>true</tt> to activate window's default widget on Enter keypress.
*/
void set_activates_default(bool setting = true);
@@ -217,12 +246,16 @@ public:
*/
int get_width_chars() const;
+ /** Sets the text in the widget to the given
+ * value, replacing the current contents.
+ * @param text The new text.
+ */
void set_text(const Glib::ustring &text);
/** Retrieves the contents of the entry widget.
* See also Gtk::Editable::get_chars().
* @return A pointer to the contents of the widget as a
- * string. This string points to internally allocated
+ * string. This string points to internally allocated
* storage in the widget and must not be freed, modified or
* stored.
*/
@@ -299,6 +332,39 @@ public:
int text_index_to_layout_index(int text_index) const;
+ /** Hooks up an adjustment to the cursor position in an entry, so that when
+ * the cursor is moved, the adjustment is scrolled to show that position.
+ * See Gtk::ScrolledWindow::get_hadjustment() for a typical way of obtaining
+ * the adjustment.
+ *
+ * The adjustment has to be in pixel units and in the same coordinate system
+ * as the entry.
+ *
+ * @newin2p12
+ * @param adjustment An adjustment which should be adjusted when the cursor
+ * is moved, or <tt>0</tt>.
+ */
+ void set_cursor_hadjustment (Adjustment& adjustment);
+
+ /** Retrieves the horizontal cursor adjustment for the entry.
+ * See set_cursor_hadjustment().
+ * @return The horizontal cursor adjustment, or <tt>0</tt>
+ * if none has been set.
+ *
+ * @newin2p12.
+ */
+ Adjustment* get_cursor_hadjustment();
+
+ /** Retrieves the horizontal cursor adjustment for the entry.
+ * See set_cursor_hadjustment().
+ * @return The horizontal cursor adjustment, or <tt>0</tt>
+ * if none has been set.
+ *
+ * @newin2p12.
+ */
+ const Adjustment* get_cursor_hadjustment() const;
+
+
/** Sets the alignment for the contents of the entry. This controls
* the horizontal positioning of the contents when the displayed
* text is shorter than the width of the entry.
@@ -329,21 +395,22 @@ public:
/** Sets @a completion to be the auxiliary completion object to use with @a entry .
* All further configuration of the completion mechanism is done on
- * @a completion using the Gtk::EntryCompletion API.
+ * @a completion using the Gtk::EntryCompletion API. Completion is disabled if
+ * @a completion is set to <tt>0</tt>.
*
* @newin2p4
- * @param completion The Gtk::EntryCompletion.
+ * @param completion The Gtk::EntryCompletion or <tt>0</tt>.
*/
void set_completion(const Glib::RefPtr<EntryCompletion>& completion);
- /** Returns the auxiliary completion object currently in use by @a entry .
+ /** Return value: The auxiliary completion object currently in use by @a entry .
* @return The auxiliary completion object currently in use by @a entry .
*
* @newin2p4.
*/
Glib::RefPtr<EntryCompletion> get_completion();
- /** Returns the auxiliary completion object currently in use by @a entry .
+ /** Return value: The auxiliary completion object currently in use by @a entry .
* @return The auxiliary completion object currently in use by @a entry .
*
* @newin2p4.
@@ -353,17 +420,17 @@ public:
guint16 get_text_length() const;
-/**
+ /**
* @par Prototype:
- * <tt>void %populate_popup(Menu* menu)</tt>
+ * <tt>void on_my_%populate_popup(Menu* menu)</tt>
*/
Glib::SignalProxy1< void,Menu* > signal_populate_popup();
-/**
+ /**
* @par Prototype:
- * <tt>void %insert_at_cursor(const Glib::ustring& str)</tt>
+ * <tt>void on_my_%insert_at_cursor(const Glib::ustring& str)</tt>
*/
Glib::SignalProxy1< void,const Glib::ustring& > signal_insert_at_cursor();
@@ -375,9 +442,9 @@ public:
// http://mail.gnome.org/archives/gtk-devel-list/2003-January/msg00108.html
// "activate is probably about the only exception"
-/**
+ /**
* @par Prototype:
- * <tt>void %activate()</tt>
+ * <tt>void on_my_%activate()</tt>
*/
Glib::SignalProxy0< void > signal_activate();
@@ -624,10 +691,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Entry
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Entry
*/
Gtk::Entry* wrap(GtkEntry* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/entrycompletion.cc b/libs/gtkmm2/gtk/gtkmm/entrycompletion.cc
index 83c619c9a8..4033251429 100644
--- a/libs/gtkmm2/gtk/gtkmm/entrycompletion.cc
+++ b/libs/gtkmm2/gtk/gtkmm/entrycompletion.cc
@@ -176,6 +176,79 @@ const Glib::SignalProxyInfo EntryCompletion_signal_match_selected_info =
(GCallback) &Widget_signal_match_selected_notify_callback
};
+
+static gboolean Widget_signal_cursor_on_match_callback(GtkEntryCompletion* self, GtkTreeModel* c_model, GtkTreeIter* c_iter, void* data)
+{
+ using namespace Gtk;
+ typedef sigc::slot< bool, const TreeModel::iterator& > SlotType;
+
+ // Do not try to call a signal on a disassociated wrapper.
+ if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
+ {
+ //This conversion is the custom-written part:
+ Gtk::TreeModel::iterator cppIter(c_model, c_iter);
+
+ return static_cast<int>( (*static_cast<SlotType*>(slot))(cppIter) );
+ }
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+
+ typedef gboolean RType;
+ return RType();
+}
+
+static gboolean Widget_signal_cursor_on_match_notify_callback(GtkEntryCompletion* self, GtkTreeModel* c_model, GtkTreeIter* c_iter, void* data)
+{
+ using namespace Gtk;
+ typedef sigc::slot< void, const TreeModel::iterator& > SlotType;
+
+ // Do not try to call a signal on a disassociated wrapper.
+ if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
+ {
+ //This conversion is the custom-written part:
+ Gtk::TreeModel::iterator cppIter(c_model, c_iter);
+
+ (*static_cast<SlotType*>(slot))(cppIter);
+ }
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+
+ typedef gboolean RType;
+ return RType();
+}
+
+
+const Glib::SignalProxyInfo EntryCompletion_signal_cursor_on_match_info =
+{
+ "match_selected",
+ (GCallback) &Widget_signal_cursor_on_match_callback,
+ (GCallback) &Widget_signal_cursor_on_match_notify_callback
+};
+
} //anonymous namespace
@@ -250,6 +323,11 @@ Glib::SignalProxy1< bool, const TreeModel::iterator& > EntryCompletion::signal_m
return Glib::SignalProxy1< bool, const TreeModel::iterator& >(this, &EntryCompletion_signal_match_selected_info);
}
+Glib::SignalProxy1< bool, const TreeModel::iterator& > EntryCompletion::signal_cursor_on_match()
+{
+ return Glib::SignalProxy1< bool, const TreeModel::iterator& >(this, &EntryCompletion_signal_cursor_on_match_info);
+}
+
} // namespace Gtk
@@ -416,7 +494,7 @@ void EntryCompletion_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void EntryCompletion_Class::action_activated_callback(GtkEntryCompletion* self, gint p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -424,33 +502,36 @@ void EntryCompletion_Class::action_activated_callback(GtkEntryCompletion* self,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_action_activated(p0
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_action_activated(p0
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->action_activated)
- (*base->action_activated)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->action_activated)
+ (*base->action_activated)(self, p0);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -498,7 +579,8 @@ GType EntryCompletion::get_base_type()
EntryCompletion::EntryCompletion()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(entrycompletion_class_.init()))
{
}
@@ -572,6 +654,16 @@ bool EntryCompletion::get_inline_completion() const
return gtk_entry_completion_get_inline_completion(const_cast<GtkEntryCompletion*>(gobj()));
}
+void EntryCompletion::set_inline_selection(bool inline_selection)
+{
+gtk_entry_completion_set_inline_selection(gobj(), static_cast<int>(inline_selection));
+}
+
+bool EntryCompletion::get_inline_selection() const
+{
+ return gtk_entry_completion_get_inline_selection(const_cast<GtkEntryCompletion*>(gobj()));
+}
+
void EntryCompletion::set_popup_completion(bool popup_completion)
{
gtk_entry_completion_set_popup_completion(gobj(), static_cast<int>(popup_completion));
@@ -602,6 +694,11 @@ bool EntryCompletion::get_popup_single_match() const
return gtk_entry_completion_get_popup_single_match(const_cast<GtkEntryCompletion*>(gobj()));
}
+Glib::ustring EntryCompletion::get_completion_prefix() const
+{
+ return Glib::convert_const_gchar_ptr_to_ustring(gtk_entry_completion_get_completion_prefix(const_cast<GtkEntryCompletion*>(gobj())));
+}
+
void EntryCompletion::set_text_column(const TreeModelColumnBase& column)
{
gtk_entry_completion_set_text_column(gobj(), (column).index());
@@ -728,6 +825,20 @@ Glib::PropertyProxy_ReadOnly<bool> EntryCompletion::property_popup_single_match(
}
#endif //GLIBMM_PROPERTIES_ENABLED
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<bool> EntryCompletion::property_inline_selection()
+{
+ return Glib::PropertyProxy<bool>(this, "inline-selection");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<bool> EntryCompletion::property_inline_selection() const
+{
+ return Glib::PropertyProxy_ReadOnly<bool>(this, "inline-selection");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Gtk::EntryCompletion::on_action_activated(int index)
diff --git a/libs/gtkmm2/gtk/gtkmm/entrycompletion.h b/libs/gtkmm2/gtk/gtkmm/entrycompletion.h
index d4086b2bfb..ff887b441b 100644
--- a/libs/gtkmm2/gtk/gtkmm/entrycompletion.h
+++ b/libs/gtkmm2/gtk/gtkmm/entrycompletion.h
@@ -43,6 +43,34 @@ namespace Gtk
class Entry;
//TODO: This should derive+implement from CellLayout, when we can break ABI.
+//Then we should add "It derives from the Gtk::CellLayout, to allow the user to add extra cells to the Gtk::TreeView with completion matches".
+
+/** Completion functionality for Gtk::Entry.
+ *
+ * Gtk::EntryCompletion is an auxiliary object to be used in conjunction with
+ * Gtk::Entry to provide the completion functionality.
+ *
+ * "Completion functionality" means that when the user modifies the text in the
+ * entry, Gtk::EntryCompletion checks which rows in the model match the current
+ * content of the entry, and displays a list of matches. By default, the
+ * matching is done by comparing the entry text case-insensitively against
+ * the text column of the model (see set_text_column()),
+ * but this can be overridden with a custom match function (see set_match_func()).
+ *
+ * When the user selects a completion, the content of the entry is updated.
+ * By default, the content of the entry is replaced by the text column of the
+ * model, but this can be overridden by connecting to the match_selected signal
+ * and updating the entry in the signal handler. Note that you should return true
+ * from the signal handler to suppress the default behaviour.
+ *
+ * To add completion functionality to an entry, use Gtk::Entry::set_completion().
+ *
+ * In addition to regular completion matches, which will be inserted into
+ * the entry when they are selected, Gtk::EntryCompletion also allows the display of
+ * "actions" in the popup window. Their appearance is similar to menu items,
+ * to differentiate them clearly from completion strings. When an action is
+ * selected, the action_activated signal is emitted.
+ */
class EntryCompletion : public Glib::Object
{
@@ -123,16 +151,16 @@ public:
*/
void set_model(const Glib::RefPtr<TreeModel>& model);
- /** Returns the model the Gtk::EntryCompletion is using as data source.
- * Returns <tt>0</tt> if the model is unset.
+ /** Returns <tt>0</tt> if the model is unset.
+ * Return value: A Gtk::TreeModel, or <tt>0</tt> if none is currently being used.
* @return A Gtk::TreeModel, or <tt>0</tt> if none is currently being used.
*
* @newin2p4.
*/
Glib::RefPtr<TreeModel> get_model();
- /** Returns the model the Gtk::EntryCompletion is using as data source.
- * Returns <tt>0</tt> if the model is unset.
+ /** Returns <tt>0</tt> if the model is unset.
+ * Return value: A Gtk::TreeModel, or <tt>0</tt> if none is currently being used.
* @return A Gtk::TreeModel, or <tt>0</tt> if none is currently being used.
*
* @newin2p4.
@@ -155,7 +183,7 @@ public:
*/
void set_minimum_key_length(int length);
- /** Returns the minimum key length as set for @a completion .
+ /** Return value: The currently used minimum key length.
* @return The currently used minimum key length.
*
* @newin2p4.
@@ -207,14 +235,28 @@ public:
*/
void set_inline_completion(bool inline_completion = true);
- /** Returns whether the common prefix of the possible completions should
- * be automatically inserted in the entry.
+ /** Return value: <tt>true</tt> if inline completion is turned on
* @return <tt>true</tt> if inline completion is turned on
*
* @newin2p6.
*/
bool get_inline_completion() const;
+ /** Sets whether it is possible to cycle through the possible completions
+ * inside the entry.
+ *
+ * @newin2p12
+ * @param inline_selection <tt>true</tt> to do inline selection.
+ */
+ void set_inline_selection(bool inline_selection = true);
+
+ /** Returns: <tt>true</tt> if inline-selection mode is on
+ * @return <tt>true</tt> if inline-selection mode is on
+ *
+ * @newin2p12.
+ */
+ bool get_inline_selection() const;
+
/** Sets whether the completions should be presented in a popup window.
*
* @newin2p6
@@ -222,7 +264,7 @@ public:
*/
void set_popup_completion(bool popup_completion = true);
- /** Returns whether the completions should be presented in a popup window.
+ /** Return value: <tt>true</tt> if popup completion is turned on
* @return <tt>true</tt> if popup completion is turned on
*
* @newin2p6.
@@ -238,14 +280,15 @@ public:
*/
void set_popup_set_width(bool popup_set_width = true);
- /** Returns whether the completion popup window will be resized to the
- * width of the entry.
+ /** Return value: <tt>true</tt> if the popup window will be resized to the width of
* @return <tt>true</tt> if the popup window will be resized to the width of
* the entry
*
* @newin2p8.
*/
bool get_popup_set_width() const;
+
+ //TODO This is wrongly named: Deprecate it and add set_popup_single_match().
/** Sets whether the completion popup window will appear even if there is
* only a single match. You may want to set this to <tt>false</tt> if you
@@ -257,15 +300,23 @@ public:
* match.
*/
void set_popup_single_width(bool popup_single_match = true);
+
- /** Returns whether the completion popup window will appear even if there is
- * only a single match.
+ /** Return value: <tt>true</tt> if the popup window will appear regardless of the
* @return <tt>true</tt> if the popup window will appear regardless of the
* number of matches.
*
* @newin2p8.
*/
bool get_popup_single_match() const;
+
+ /** Get the original text entered by the user that triggered
+ * the completion or an empty string if there's no completion ongoing.
+ * @return The prefix for the current completion
+ *
+ * @newin2p12.
+ */
+ Glib::ustring get_completion_prefix() const;
/** Convenience function for setting up the most used case of this code: a
@@ -296,7 +347,7 @@ public:
*/
void set_text_column(int column);
- /** Returns the column in the model of @a completion to get strings from.
+ /** Return value: the column containing the strings
* @return The column containing the strings
*
* @newin2p6.
@@ -306,20 +357,18 @@ public:
/** Emitted when an action is activated.
*
* @param index The index of the activated action.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %action_activated(int index)</tt>
+ * <tt>void on_my_%action_activated(int index)</tt>
*/
Glib::SignalProxy1< void,int > signal_action_activated();
- //We completely hand-code this signal because we want to change how the parameters are wrapped,
+ //We completely hand-code these signals because we want to change how the parameters are wrapped,
//because we need both the iter and the model to make the C++ iter.
-
+
/** Emitted when a match from the list is selected.
* The default behaviour is to replace the contents of the
* entry with the contents of the text column in the row
@@ -330,13 +379,30 @@ public:
* @result true if the signal has been handled
*
* @par Prototype:
- * <tt>bool %match_selected(const TreeModel::iterator& iter)</tt>
+ * <tt>bool %on_match_selected(const TreeModel::iterator& iter)</tt>
*/
Glib::SignalProxy1< bool, const TreeModel::iterator& > signal_match_selected();
-
- //We use no_default_handler for this, because we can not add a new vfunc to 2.5 without breaking ABI.
+ /** Emitted when a match from the cursor is on a match
+ * of the list. The default behaviour is to replace the contents
+ * of the entry with the contents of the text column in the row
+ * pointed to by @a iter.
+ *
+ * @param model The TreeModel containing the matches
+ * @param iter A TreeModel::iterator positioned at the selected match
+ * @result true if the signal has been handled
+ *
+ * @par Prototype:
+ * <tt>bool %on_cursor_on_match(const TreeModel::iterator& iter)</tt>
+ *
+ * @newin2p12
+ */
+ Glib::SignalProxy1< bool, const TreeModel::iterator& > signal_cursor_on_match();
+
+
+ //We use no_default_handler for these signals, because we can not add a new vfunc without breaking ABI.
//TODO: Remove no_default_handler when we do an ABI-break-with-parallel-install.
+
/** Emitted when the inline autocompletion is triggered.
* The default behaviour is to make the entry display the
* whole prefix and select the newly inserted part.
@@ -350,15 +416,13 @@ public:
*
* @param prefix The common prefix of all possible completions.
* @result true if the signal has been handled
- */
-
-/**
+ *
* @par Prototype:
- * <tt>bool %insert_prefix(const Glib::ustring& prefix)</tt>
+ * <tt>bool on_my_%insert_prefix(const Glib::ustring& prefix)</tt>
*/
Glib::SignalProxy1< bool,const Glib::ustring& > signal_insert_prefix();
-
+
#ifdef GLIBMM_PROPERTIES_ENABLED
/** The model to find matches in.
@@ -500,12 +564,33 @@ public:
Glib::PropertyProxy_ReadOnly<bool> property_popup_single_match() const;
#endif //#GLIBMM_PROPERTIES_ENABLED
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Your description here.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<bool> property_inline_selection() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Your description here.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<bool> property_inline_selection() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
protected:
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
//Default Signal Handler:
- virtual bool on_match_selected(const TreeModel::iterator& iter);
+ virtual bool on_match_selected(const TreeModel::iterator& iter);
+ //No default handler for on_cursor_on_match(), to preserver ABI. TODO: Add this when we can break ABI.
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -534,10 +619,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::EntryCompletion
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::EntryCompletion
*/
Glib::RefPtr<Gtk::EntryCompletion> wrap(GtkEntryCompletion* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/enums.h b/libs/gtkmm2/gtk/gtkmm/enums.h
index 052f7ecf40..23c1f19036 100644
--- a/libs/gtkmm2/gtk/gtkmm/enums.h
+++ b/libs/gtkmm2/gtk/gtkmm/enums.h
@@ -148,6 +148,8 @@ namespace Gtk
/** Used to indicate the direction in which a Gtk::Arrow should point.
+ */
+/**
* @ingroup gtkmmEnums
*/
enum ArrowType
@@ -198,6 +200,8 @@ namespace Gtk
*/
/** Denotes the expansion properties that a widget will have when it (or its parent) is resized.
+ */
+/**
* @ingroup gtkmmEnums
* @par Bitwise operators:
* <tt>%AttachOptions operator|(AttachOptions, AttachOptions)</tt><br>
@@ -284,7 +288,8 @@ enum ButtonBoxStyle
BUTTONBOX_SPREAD,
BUTTONBOX_EDGE,
BUTTONBOX_START,
- BUTTONBOX_END
+ BUTTONBOX_END,
+ BUTTONBOX_CENTER
};
} // namespace Gtk
@@ -1078,7 +1083,9 @@ namespace Gtk
enum TargetFlags
{
TARGET_SAME_APP = 1 << 0,
- TARGET_SAME_WIDGET = 1 << 1
+ TARGET_SAME_WIDGET = 1 << 1,
+ TARGET_OTHER_APP = 1 << 2,
+ TARGET_OTHER_WIDGET = 1 << 3
};
/** @ingroup gtkmmEnums */
diff --git a/libs/gtkmm2/gtk/gtkmm/eventbox.cc b/libs/gtkmm2/gtk/gtkmm/eventbox.cc
index 25dc971d05..5d10e277f6 100644
--- a/libs/gtkmm2/gtk/gtkmm/eventbox.cc
+++ b/libs/gtkmm2/gtk/gtkmm/eventbox.cc
@@ -129,7 +129,8 @@ GType EventBox::get_base_type()
EventBox::EventBox()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Bin(Glib::ConstructParams(eventbox_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/eventbox.h b/libs/gtkmm2/gtk/gtkmm/eventbox.h
index 74854dd095..1ff0344a10 100644
--- a/libs/gtkmm2/gtk/gtkmm/eventbox.h
+++ b/libs/gtkmm2/gtk/gtkmm/eventbox.h
@@ -116,8 +116,7 @@ public:
EventBox();
- /** Returns whether the event box has a visible window.
- * See set_visible_window() for details.
+ /** Return value: <tt>true</tt> if the event box window is visible
* @return <tt>true</tt> if the event box window is visible
*
* @newin2p4.
@@ -127,7 +126,7 @@ public:
/** Set whether the event box uses a visible or invisible child
* window. The default is to use visible windows.
*
- * In an invisible window event box, the window that that the
+ * In an invisible window event box, the window that the
* event box creates is a Gdk::INPUT_ONLY window, which
* means that it is invisible and only serves to receive
* events.
@@ -165,9 +164,7 @@ public:
*/
void set_visible_window(bool visible_window = true);
- /** Returns whether the event box window is above or below the
- * windows of its child. See set_above_child() for
- * details.
+ /** Return value: <tt>true</tt> if the event box window is above the window
* @return <tt>true</tt> if the event box window is above the window
* of its child.
*
@@ -236,10 +233,13 @@ public:
namespace Glib
{
- /** @relates Gtk::EventBox
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::EventBox
*/
Gtk::EventBox* wrap(GtkEventBox* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/expander.cc b/libs/gtkmm2/gtk/gtkmm/expander.cc
index 7a14dda085..0ef35d09e8 100644
--- a/libs/gtkmm2/gtk/gtkmm/expander.cc
+++ b/libs/gtkmm2/gtk/gtkmm/expander.cc
@@ -33,8 +33,9 @@ namespace Gtk
Expander::Expander(const Glib::ustring& label, bool mnemonic)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Bin(Glib::ConstructParams(expander_class_.init(), "label",label.c_str(),"use_underline",gboolean(mnemonic), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Bin(Glib::ConstructParams(expander_class_.init(), "label",label.c_str(),"use_underline",gboolean(mnemonic), static_cast<char*>(0)))
{}
} // namespace Gtk
@@ -141,7 +142,8 @@ GType Expander::get_base_type()
Expander::Expander()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Bin(Glib::ConstructParams(expander_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/expander.h b/libs/gtkmm2/gtk/gtkmm/expander.h
index cb9e89894c..fcc4b4a357 100644
--- a/libs/gtkmm2/gtk/gtkmm/expander.h
+++ b/libs/gtkmm2/gtk/gtkmm/expander.h
@@ -218,8 +218,7 @@ public:
*/
void set_use_underline(bool use_underline = true);
- /** Returns whether an embedded underline in the expander label indicates a
- * mnemonic. See set_use_underline().
+ /** Return value: <tt>true</tt> if an embedded underline in the expander label
* @return <tt>true</tt> if an embedded underline in the expander label
* indicates the mnemonic accelerator keys.
*
@@ -236,9 +235,7 @@ public:
*/
void set_use_markup(bool use_markup = true);
- /** Returns whether the label's text is interpreted as marked up with
- * the Pango text markup
- * language. See set_use_markup().
+ /** Return value: <tt>true</tt> if the label's text will be parsed for markup
* @return <tt>true</tt> if the label's text will be parsed for markup
*
* @newin2p4.
@@ -333,7 +330,7 @@ public:
#endif //#GLIBMM_PROPERTIES_ENABLED
#ifdef GLIBMM_PROPERTIES_ENABLED
-/** The text of the label includes XML markup. See pango_parse_markup.
+/** The text of the label includes XML markup. See pango_parse_markup().
*
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
@@ -343,7 +340,7 @@ public:
#endif //#GLIBMM_PROPERTIES_ENABLED
#ifdef GLIBMM_PROPERTIES_ENABLED
-/** The text of the label includes XML markup. See pango_parse_markup.
+/** The text of the label includes XML markup. See pango_parse_markup().
*
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
@@ -401,10 +398,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Expander
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Expander
*/
Gtk::Expander* wrap(GtkExpander* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/filechooser.cc b/libs/gtkmm2/gtk/gtkmm/filechooser.cc
index ae4be56d65..67e02cbe84 100644
--- a/libs/gtkmm2/gtk/gtkmm/filechooser.cc
+++ b/libs/gtkmm2/gtk/gtkmm/filechooser.cc
@@ -181,7 +181,7 @@ namespace Glib
Glib::RefPtr<Gtk::FileChooser> wrap(GtkFileChooser* object, bool take_copy)
{
- return Glib::RefPtr<Gtk::FileChooser>( dynamic_cast<Gtk::FileChooser*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ return Glib::RefPtr<Gtk::FileChooser>( dynamic_cast<Gtk::FileChooser*> (Glib::wrap_auto_interface<Gtk::FileChooser> ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance.
}
diff --git a/libs/gtkmm2/gtk/gtkmm/filechooser.h b/libs/gtkmm2/gtk/gtkmm/filechooser.h
index 24a51c0a6f..f39951c9f1 100644
--- a/libs/gtkmm2/gtk/gtkmm/filechooser.h
+++ b/libs/gtkmm2/gtk/gtkmm/filechooser.h
@@ -107,9 +107,8 @@ namespace Gtk
{
-//TODO: //Is GTK_FILE_SYSTEM_ERROR really part of the public API? For instance, do app writers ever need to check for it?.
-//If so, then it needs to have a generated get_type() function, like the others. murrayc.
-//_TODO_GERROR(FileSystemError,GtkFileSystemError,GTK_FILE_SYSTEM_ERROR)
+//Note that GTK_FILE_SYSTEM_ERROR is not currently public GTK+ API and should
+//never be instantiated by the GTK+ C API.
/** Exception class for Gdk::FileChooser errors.
*/
@@ -218,8 +217,14 @@ private:
protected:
FileChooser(); // you must derive from this class
+
+public:
+ // This is public so that C++ wrapper instances can be
+ // created for C instances of unwrapped types.
+ // For instance, if an unexpected C type implements the C interface.
explicit FileChooser(GtkFileChooser* castitem);
+protected:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
@@ -287,8 +292,7 @@ public:
/** Sets whether multiple files can be selected in the file selector. This is
* only relevant if the action is set to be GTK_FILE_CHOOSER_ACTION_OPEN or
- * GTK_FILE_CHOOSER_ACTION_SAVE. It cannot be set with either of the folder
- * actions.
+ * GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER.
*
* @newin2p4
* @param select_multiple <tt>true</tt> if multiple files can be selected.
@@ -451,9 +455,8 @@ public:
* @a chooser . The returned names are full absolute paths. If files in the current
* folder cannot be represented as local filenames they will be ignored. (See
* get_uris())
- * @return A G::SList containing the filenames of all selected
- * files and subfolders in the current folder. Free the returned list
- * with Glib::slist_free(), and the filenames with Glib::free().
+ * @return A list containing the filenames of all selected
+ * files and subfolders in the current folder.
*
* @newin2p4.
*/
@@ -472,10 +475,10 @@ public:
/** Gets the current folder of @a chooser as a local filename.
* See set_current_folder().
- * @return The full path of the current folder, or <tt>0</tt> if the current
- * path cannot be represented as a local filename. Free with Glib::free(). This
- * function will also return <tt>0</tt> if the file chooser was unable to load the
- * last folder that was requested from it; for example, as would be for calling
+ * @return The full path of the current folder, possibly empty if the current
+ * path cannot be represented as a local filename. This function may also return
+ * and empty string if the file chooser was unable to load the last folder that was
+ * requested from it; for example, as would be for calling
* set_current_folder() on a nonexistent folder.
*
* @newin2p4.
@@ -559,9 +562,8 @@ public:
/** Lists all the selected files and subfolders in the current folder of
* @a chooser . The returned names are full absolute URIs.
- * @return A G::SList containing the URIs of all selected
- * files and subfolders in the current folder. Free the returned list
- * with Glib::slist_free(), and the filenames with Glib::free().
+ * @return A list containing the URIs of all selected
+ * files and subfolders in the current folder.
*
* @newin2p4.
*/
@@ -581,6 +583,14 @@ public:
/** Gets the current folder of @a chooser as an URI.
* See set_current_folder_uri().
+ *
+ * Note that this is the folder that the file chooser is currently displaying
+ * (e.g. "file:///home/username/Documents"), which is <em>not the same</em>
+ * as the currently-selected folder if the chooser is in
+ * Gtk::FILE_CHOOSER_SELECT_FOLDER mode
+ * (e.g. "file:///home/username/Documents/selected-folder/". To get the
+ * currently-selected folder in that mode, use get_uri() as the
+ * usual way to get the selection.
* @return The URI for the current folder.
*/
Glib::ustring get_current_folder_uri() const;
@@ -731,10 +741,8 @@ public:
/** Lists the current set of user-selectable filters; see
* add_filter(), remove_filter().
- * @return A G::SList containing the current set of
- * user selectable filters. The contents of the list are
- * owned by GTK+, but you must free the list itself with
- * Glib::slist_free() when you are done with it.
+ * @return A list containing the current set of
+ * user selectable filters.
*
* @newin2p4.
*/
@@ -742,10 +750,8 @@ public:
/** Lists the current set of user-selectable filters; see
* add_filter(), remove_filter().
- * @return A G::SList containing the current set of
- * user selectable filters. The contents of the list are
- * owned by GTK+, but you must free the list itself with
- * Glib::slist_free() when you are done with it.
+ * @return A list containing the current set of
+ * user selectable filters.
*
* @newin2p4.
*/
@@ -861,9 +867,7 @@ public:
/** Queries the list of shortcut folders in the file chooser, as set by
* add_shortcut_folder_uri().
- * @return A list of folder URIs, or <tt>0</tt> if there are no shortcut
- * folders. Free the returned list with Glib::slist_free(), and the URIs with
- * Glib::free().
+ * @return A list of folder URIs
*
* @newin2p4.
*/
@@ -881,11 +885,9 @@ public:
*
* @see set_current_folder(), get_current_folder(),
* set_current_folder_uri(), get_current_folder_uri().
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %current_folder_changed()</tt>
+ * <tt>void on_my_%current_folder_changed()</tt>
*/
Glib::SignalProxy0< void > signal_current_folder_changed();
@@ -904,11 +906,9 @@ public:
* get_filenames(), select_uri(),
* unselect_uri(), get_uri(),
* get_uris().
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %selection_changed()</tt>
+ * <tt>void on_my_%selection_changed()</tt>
*/
Glib::SignalProxy0< void > signal_selection_changed();
@@ -929,11 +929,9 @@ public:
*
* @see set_preview_widget(), set_preview_widget_active(),
* set_use_preview_label(), get_preview_filename(), get_preview_uri().
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %update_preview()</tt>
+ * <tt>void on_my_%update_preview()</tt>
*/
Glib::SignalProxy0< void > signal_update_preview();
@@ -948,22 +946,17 @@ public:
* dialog.
*
* @see get_filename(), get_filenames(), get_uri(), get_uris().
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %file_activated()</tt>
+ * <tt>void on_my_%file_activated()</tt>
*/
Glib::SignalProxy0< void > signal_file_activated();
- /** TODO
- */
-
-/**
+ /**
* @par Prototype:
- * <tt>FileChooserConfirmation %confirm_overwrite()</tt>
+ * <tt>FileChooserConfirmation on_my_%confirm_overwrite()</tt>
*/
Glib::SignalProxy0< FileChooserConfirmation > signal_confirm_overwrite();
@@ -1215,10 +1208,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::FileChooser
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::FileChooser
*/
Glib::RefPtr<Gtk::FileChooser> wrap(GtkFileChooser* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gtk/gtkmm/filechooserbutton.cc b/libs/gtkmm2/gtk/gtkmm/filechooserbutton.cc
index 730a0f70c4..81d066cabc 100644
--- a/libs/gtkmm2/gtk/gtkmm/filechooserbutton.cc
+++ b/libs/gtkmm2/gtk/gtkmm/filechooserbutton.cc
@@ -33,8 +33,9 @@ namespace Gtk
FileChooserButton::FileChooserButton(FileChooserAction action)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::HBox(Glib::ConstructParams(filechooserbutton_class_.init(), "action",action, (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::HBox(Glib::ConstructParams(filechooserbutton_class_.init(), "action",action, static_cast<char*>(0)))
{
}
@@ -144,22 +145,25 @@ GType FileChooserButton::get_base_type()
FileChooserButton::FileChooserButton(const Glib::ustring& title, FileChooserAction action)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::HBox(Glib::ConstructParams(filechooserbutton_class_.init(), "title", title.c_str(), "action", ((GtkFileChooserAction)(action)), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::HBox(Glib::ConstructParams(filechooserbutton_class_.init(), "title", title.c_str(), "action", ((GtkFileChooserAction)(action)), static_cast<char*>(0)))
{
}
FileChooserButton::FileChooserButton(const Glib::ustring& title, FileChooserAction action, const Glib::ustring& backend)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::HBox(Glib::ConstructParams(filechooserbutton_class_.init(), "title", title.c_str(), "action", ((GtkFileChooserAction)(action)), "backend", backend.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::HBox(Glib::ConstructParams(filechooserbutton_class_.init(), "title", title.c_str(), "action", ((GtkFileChooserAction)(action)), "backend", backend.c_str(), static_cast<char*>(0)))
{
}
FileChooserButton::FileChooserButton(FileChooserDialog& dialog)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::HBox(Glib::ConstructParams(filechooserbutton_class_.init(), "dialog", (dialog).Gtk::Widget::gobj(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::HBox(Glib::ConstructParams(filechooserbutton_class_.init(), "dialog", (dialog).Gtk::Widget::gobj(), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/filechooserbutton.h b/libs/gtkmm2/gtk/gtkmm/filechooserbutton.h
index a6de8ea035..3b3253cabf 100644
--- a/libs/gtkmm2/gtk/gtkmm/filechooserbutton.h
+++ b/libs/gtkmm2/gtk/gtkmm/filechooserbutton.h
@@ -180,10 +180,27 @@ public:
void set_width_chars(int n_chars);
+ /** Return value: <tt>true</tt> if the button grabs focus when it is clicked with
+ * @return <tt>true</tt> if the button grabs focus when it is clicked with
+ * the mouse.
+ *
+ * @newin2p10.
+ */
bool get_focus_on_click() const;
+ /** Sets whether the button will grab focus when it is clicked with the mouse.
+ * Making mouse clicks not grab focus is useful in places like toolbars where
+ * you don't want the keyboard focus removed from the main area of the
+ * application.
+ *
+ * @newin2p10
+ * @param focus_on_click Whether the button grabs focus when clicked with the mouse.
+ */
void set_focus_on_click(gboolean focus_on_click = true);
+ //I'm no totally convinced that this is only a key-binding signal. murrayc:
+
+
#ifdef GLIBMM_PROPERTIES_ENABLED
/** The file chooser dialog to use.
*
@@ -264,10 +281,13 @@ public:
namespace Glib
{
- /** @relates Gtk::FileChooserButton
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::FileChooserButton
*/
Gtk::FileChooserButton* wrap(GtkFileChooserButton* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/filechooserdialog.cc b/libs/gtkmm2/gtk/gtkmm/filechooserdialog.cc
index dc48e4337c..5077f0e3ce 100644
--- a/libs/gtkmm2/gtk/gtkmm/filechooserdialog.cc
+++ b/libs/gtkmm2/gtk/gtkmm/filechooserdialog.cc
@@ -34,30 +34,34 @@ namespace Gtk
FileChooserDialog::FileChooserDialog(Gtk::Window& parent, const Glib::ustring& title, FileChooserAction action)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Dialog(Glib::ConstructParams(filechooserdialog_class_.init(), "title",title.c_str(),"action",(GtkFileChooserAction)action, (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Dialog(Glib::ConstructParams(filechooserdialog_class_.init(), "title",title.c_str(),"action",(GtkFileChooserAction)action, static_cast<char*>(0)))
{
set_transient_for(parent);
}
FileChooserDialog::FileChooserDialog(const Glib::ustring& title, FileChooserAction action)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Dialog(Glib::ConstructParams(filechooserdialog_class_.init(), "title",title.c_str(),"action",(GtkFileChooserAction)action, (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Dialog(Glib::ConstructParams(filechooserdialog_class_.init(), "title",title.c_str(),"action",(GtkFileChooserAction)action, static_cast<char*>(0)))
{
}
FileChooserDialog::FileChooserDialog(const Glib::ustring& title, FileChooserAction action, const Glib::ustring& backend)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Dialog(Glib::ConstructParams(filechooserdialog_class_.init(), "title",title.c_str(),"action",(GtkFileChooserAction)action,"file-system-backend",backend.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Dialog(Glib::ConstructParams(filechooserdialog_class_.init(), "title",title.c_str(),"action",(GtkFileChooserAction)action,"file-system-backend",backend.c_str(), static_cast<char*>(0)))
{
}
FileChooserDialog::FileChooserDialog(Gtk::Window& parent, const Glib::ustring& title, FileChooserAction action, const Glib::ustring& backend)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Dialog(Glib::ConstructParams(filechooserdialog_class_.init(), "title",title.c_str(),"action",(GtkFileChooserAction)action,"file-system-backend",backend.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Dialog(Glib::ConstructParams(filechooserdialog_class_.init(), "title",title.c_str(),"action",(GtkFileChooserAction)action,"file-system-backend",backend.c_str(), static_cast<char*>(0)))
{
set_transient_for(parent);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/filechooserdialog.h b/libs/gtkmm2/gtk/gtkmm/filechooserdialog.h
index e6c818c1dc..3a91bf2dc6 100644
--- a/libs/gtkmm2/gtk/gtkmm/filechooserdialog.h
+++ b/libs/gtkmm2/gtk/gtkmm/filechooserdialog.h
@@ -125,10 +125,13 @@ public:
namespace Glib
{
- /** @relates Gtk::FileChooserDialog
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::FileChooserDialog
*/
Gtk::FileChooserDialog* wrap(GtkFileChooserDialog* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/filechooserwidget.cc b/libs/gtkmm2/gtk/gtkmm/filechooserwidget.cc
index 59d9fece59..127e71631c 100644
--- a/libs/gtkmm2/gtk/gtkmm/filechooserwidget.cc
+++ b/libs/gtkmm2/gtk/gtkmm/filechooserwidget.cc
@@ -137,22 +137,25 @@ GType FileChooserWidget::get_base_type()
FileChooserWidget::FileChooserWidget()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::VBox(Glib::ConstructParams(filechooserwidget_class_.init()))
{
}
FileChooserWidget::FileChooserWidget(FileChooserAction action)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::VBox(Glib::ConstructParams(filechooserwidget_class_.init(), "action", ((GtkFileChooserAction)(action)), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::VBox(Glib::ConstructParams(filechooserwidget_class_.init(), "action", ((GtkFileChooserAction)(action)), static_cast<char*>(0)))
{
}
FileChooserWidget::FileChooserWidget(FileChooserAction action, const Glib::ustring& backend)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::VBox(Glib::ConstructParams(filechooserwidget_class_.init(), "action", ((GtkFileChooserAction)(action)), "backend", backend.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::VBox(Glib::ConstructParams(filechooserwidget_class_.init(), "action", ((GtkFileChooserAction)(action)), "backend", backend.c_str(), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/filechooserwidget.h b/libs/gtkmm2/gtk/gtkmm/filechooserwidget.h
index 2a40a95b94..f64bc87846 100644
--- a/libs/gtkmm2/gtk/gtkmm/filechooserwidget.h
+++ b/libs/gtkmm2/gtk/gtkmm/filechooserwidget.h
@@ -136,10 +136,13 @@ public:
namespace Glib
{
- /** @relates Gtk::FileChooserWidget
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::FileChooserWidget
*/
Gtk::FileChooserWidget* wrap(GtkFileChooserWidget* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/filefilter.cc b/libs/gtkmm2/gtk/gtkmm/filefilter.cc
index 4c6bc09958..8cbbbe8c05 100644
--- a/libs/gtkmm2/gtk/gtkmm/filefilter.cc
+++ b/libs/gtkmm2/gtk/gtkmm/filefilter.cc
@@ -185,7 +185,8 @@ GType FileFilter::get_base_type()
FileFilter::FileFilter()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Object(Glib::ConstructParams(filefilter_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/filefilter.h b/libs/gtkmm2/gtk/gtkmm/filefilter.h
index fd5aadf8c4..58ec13a3af 100644
--- a/libs/gtkmm2/gtk/gtkmm/filefilter.h
+++ b/libs/gtkmm2/gtk/gtkmm/filefilter.h
@@ -116,6 +116,22 @@ namespace Gtk
{
+/** A filter for selecting a file subset.
+ *
+ * A Gtk::FileFilter can be used to restrict the files being shown in a Gtk::FileChooser.
+ * Files can be filtered based on their name (with add_pattern()),
+ * on their mime type (with add_mime_type()), or by a custom filter
+ * function (with add_custom()).
+ *
+ * Filtering by mime types handles aliasing and subclassing of mime types;
+ * e.g. a filter for text/plain also matches a file with mime type application/rtf,
+ * since application/rtf is a subclass of text/plain. Note that Gtk::FileFilter
+ * allows wildcards for the subtype of a mime type, so you can e.g. filter for image/ *.
+ *
+ * Normally, filters are used by adding them to a Gtk::FileChooser. See Gtk::FileChooser::add_filter().
+ * But it is also possible to manually use a filter on a file with filter().
+ */
+
class FileFilter : public Gtk::Object
{
public:
@@ -260,10 +276,13 @@ public:
namespace Glib
{
- /** @relates Gtk::FileFilter
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::FileFilter
*/
Gtk::FileFilter* wrap(GtkFileFilter* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/fileselection.cc b/libs/gtkmm2/gtk/gtkmm/fileselection.cc
index 4a5f387047..68001c18cb 100644
--- a/libs/gtkmm2/gtk/gtkmm/fileselection.cc
+++ b/libs/gtkmm2/gtk/gtkmm/fileselection.cc
@@ -38,8 +38,9 @@ namespace Gtk
FileSelection::FileSelection()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Dialog(Glib::ConstructParams(fileselection_class_.init(), "title",(char*) 0, (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Dialog(Glib::ConstructParams(fileselection_class_.init(), "title",(char*) 0, static_cast<char*>(0)))
{}
} // namespace Gtk
@@ -146,8 +147,9 @@ GType FileSelection::get_base_type()
FileSelection::FileSelection(const Glib::ustring& title)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Dialog(Glib::ConstructParams(fileselection_class_.init(), "title", title.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Dialog(Glib::ConstructParams(fileselection_class_.init(), "title", title.c_str(), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/fileselection.h b/libs/gtkmm2/gtk/gtkmm/fileselection.h
index 5923b16da0..109b2b7e2a 100644
--- a/libs/gtkmm2/gtk/gtkmm/fileselection.h
+++ b/libs/gtkmm2/gtk/gtkmm/fileselection.h
@@ -3,6 +3,8 @@
#ifndef _GTKMM_FILESELECTION_H
#define _GTKMM_FILESELECTION_H
+#include <gtkmmconfig.h>
+
#ifndef GTKMM_DISABLE_DEPRECATED
@@ -30,6 +32,10 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+
+
#include <gtkmm/dialog.h>
#include <gtkmm/button.h>
#include <gtkmm/entry.h>
@@ -279,10 +285,13 @@ public:
namespace Glib
{
- /** @relates Gtk::FileSelection
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::FileSelection
*/
Gtk::FileSelection* wrap(GtkFileSelection* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/fixed.cc b/libs/gtkmm2/gtk/gtkmm/fixed.cc
index 9b522f3579..3fe91f6a06 100644
--- a/libs/gtkmm2/gtk/gtkmm/fixed.cc
+++ b/libs/gtkmm2/gtk/gtkmm/fixed.cc
@@ -134,7 +134,8 @@ GType Fixed::get_base_type()
Fixed::Fixed()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Container(Glib::ConstructParams(fixed_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/fixed.h b/libs/gtkmm2/gtk/gtkmm/fixed.h
index d0f8eeeb98..0e6697eeeb 100644
--- a/libs/gtkmm2/gtk/gtkmm/fixed.h
+++ b/libs/gtkmm2/gtk/gtkmm/fixed.h
@@ -148,10 +148,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Fixed
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Fixed
*/
Gtk::Fixed* wrap(GtkFixed* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/fontbutton.cc b/libs/gtkmm2/gtk/gtkmm/fontbutton.cc
index 731ad35b1d..b8daafb09b 100644
--- a/libs/gtkmm2/gtk/gtkmm/fontbutton.cc
+++ b/libs/gtkmm2/gtk/gtkmm/fontbutton.cc
@@ -105,7 +105,7 @@ void FontButton_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void FontButton_Class::font_set_callback(GtkFontButton* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -113,32 +113,35 @@ void FontButton_Class::font_set_callback(GtkFontButton* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_font_set();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_font_set();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->font_set)
- (*base->font_set)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->font_set)
+ (*base->font_set)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -184,15 +187,17 @@ GType FontButton::get_base_type()
FontButton::FontButton()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Button(Glib::ConstructParams(fontbutton_class_.init()))
{
}
FontButton::FontButton(const Glib::ustring& font_name)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Button(Glib::ConstructParams(fontbutton_class_.init(), "font_name", font_name.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Button(Glib::ConstructParams(fontbutton_class_.init(), "font_name", font_name.c_str(), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/fontbutton.h b/libs/gtkmm2/gtk/gtkmm/fontbutton.h
index 5ac3bbd8a1..a949f9f3f3 100644
--- a/libs/gtkmm2/gtk/gtkmm/fontbutton.h
+++ b/libs/gtkmm2/gtk/gtkmm/fontbutton.h
@@ -127,7 +127,7 @@ public:
*/
void set_title(const Glib::ustring& title);
- /** Returns whether the selected font is used in the label.
+ /** Returns: whether the selected font is used in the label.
* @return Whether the selected font is used in the label.
*
* @newin2p4.
@@ -141,7 +141,7 @@ public:
*/
void set_use_font(bool use_font = true);
- /** Returns whether the selected size is used in the label.
+ /** Returns: whether the selected size is used in the label.
* @return Whether the selected size is used in the label.
*
* @newin2p4.
@@ -171,7 +171,7 @@ public:
*/
bool set_font_name(const Glib::ustring& fontname);
- /** Returns whether the name of the font style will be shown in the label.
+ /** Return value: whether the font style will be shown in the label.
* @return Whether the font style will be shown in the label.
*
* @newin2p4.
@@ -185,7 +185,7 @@ public:
*/
void set_show_style(bool show_style = true);
- /** Returns whether the font size will be shown in the label.
+ /** Return value: whether the font size will be shown in the label.
* @return Whether the font size will be shown in the label.
*
* @newin2p4.
@@ -322,11 +322,9 @@ public:
/** The font_set signal is emitted when the user selects a font. When handling this signal,
* use get_font_name() to find out which font was just selected.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %font_set()</tt>
+ * <tt>void on_my_%font_set()</tt>
*/
Glib::SignalProxy0< void > signal_font_set();
@@ -340,10 +338,13 @@ public:
namespace Glib
{
- /** @relates Gtk::FontButton
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::FontButton
*/
Gtk::FontButton* wrap(GtkFontButton* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/fontselection.cc b/libs/gtkmm2/gtk/gtkmm/fontselection.cc
index cf9e9799d4..f08e5ab395 100644
--- a/libs/gtkmm2/gtk/gtkmm/fontselection.cc
+++ b/libs/gtkmm2/gtk/gtkmm/fontselection.cc
@@ -131,7 +131,8 @@ GType FontSelection::get_base_type()
FontSelection::FontSelection()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::VBox(Glib::ConstructParams(fontselection_class_.init()))
{
}
@@ -361,15 +362,17 @@ GType FontSelectionDialog::get_base_type()
FontSelectionDialog::FontSelectionDialog()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Dialog(Glib::ConstructParams(fontselectiondialog_class_.init()))
{
}
FontSelectionDialog::FontSelectionDialog(const Glib::ustring& title)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Dialog(Glib::ConstructParams(fontselectiondialog_class_.init(), "title", title.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Dialog(Glib::ConstructParams(fontselectiondialog_class_.init(), "title", title.c_str(), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/fontselection.h b/libs/gtkmm2/gtk/gtkmm/fontselection.h
index f1afc19017..af7c375586 100644
--- a/libs/gtkmm2/gtk/gtkmm/fontselection.h
+++ b/libs/gtkmm2/gtk/gtkmm/fontselection.h
@@ -127,8 +127,25 @@ public:
FontSelection();
+ /** Gets the currently-selected font name. Note that this can be a different
+ * string than what you set with set_font_name(), as
+ * the font selection widget may normalize font names and thus return a string
+ * with a different structure. For example, "Helvetica Italic Bold 12" could be
+ * normalized to "Helvetica Bold Italic 12". Use pango_font_description_equal()
+ * if you want to compare two font descriptions.
+ * @return A string with the name of the current font, or #<tt>0</tt> if no font
+ * is selected. You must free this string with Glib::free().
+ */
Glib::ustring get_font_name() const;
+ /** Sets the currently-selected font. Note that the @a fontsel needs to know the
+ * screen in which it will appear for this to work; this can be guaranteed by
+ * simply making sure that the @a fontsel is inserted in a toplevel window before
+ * you call this function.
+ * @param fontname A font name like "Helvetica 12" or "Times Bold 18".
+ * @return #<tt>true</tt> if the font could be set successfully; #<tt>false</tt> if no such
+ * font exists or if the @a fontsel doesn't belong to a particular screen yet.
+ */
bool set_font_name(const Glib::ustring& fontname);
Glib::ustring get_preview_text() const;
@@ -270,6 +287,15 @@ public:
bool set_font_name(const Glib::ustring& fontname);
+ /** Gets the currently-selected font name. Note that this can be a different
+ * string than what you set with set_font_name(), as
+ * the font selection widget may normalize font names and thus return a string
+ * with a different structure. For example, "Helvetica Italic Bold 12" could be
+ * normalized to "Helvetica Bold Italic 12". Use pango_font_description_equal()
+ * if you want to compare two font descriptions.
+ * @return A string with the name of the current font, or #<tt>0</tt> if no font
+ * is selected. You must free this string with Glib::free().
+ */
Glib::ustring get_font_name() const;
Glib::ustring get_preview_text() const;
@@ -293,10 +319,13 @@ public:
namespace Glib
{
- /** @relates Gtk::FontSelection
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::FontSelection
*/
Gtk::FontSelection* wrap(GtkFontSelection* object, bool take_copy = false);
} //namespace Glib
@@ -304,10 +333,13 @@ namespace Glib
namespace Glib
{
- /** @relates Gtk::FontSelectionDialog
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::FontSelectionDialog
*/
Gtk::FontSelectionDialog* wrap(GtkFontSelectionDialog* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/frame.cc b/libs/gtkmm2/gtk/gtkmm/frame.cc
index 03df181272..90096504e2 100644
--- a/libs/gtkmm2/gtk/gtkmm/frame.cc
+++ b/libs/gtkmm2/gtk/gtkmm/frame.cc
@@ -94,7 +94,7 @@ void Frame_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_VFUNCS_ENABLED
void Frame_Class::compute_child_allocation_vfunc_callback(GtkFrame* self, GtkAllocation* allocation)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -102,33 +102,37 @@ void Frame_Class::compute_child_allocation_vfunc_callback(GtkFrame* self, GtkAll
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->compute_child_allocation_vfunc((Allocation&)(Glib::wrap(allocation))
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->compute_child_allocation_vfunc((Allocation&)(Glib::wrap(allocation))
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->compute_child_allocation)
+ (*base->compute_child_allocation)(self, allocation);
- // Call the original underlying C function:
- if(base && base->compute_child_allocation)
- (*base->compute_child_allocation)(self, allocation);
- }
}
#endif //GLIBMM_VFUNCS_ENABLED
@@ -177,15 +181,17 @@ GType Frame::get_base_type()
Frame::Frame()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Bin(Glib::ConstructParams(frame_class_.init()))
{
}
Frame::Frame(const Glib::ustring& label)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Bin(Glib::ConstructParams(frame_class_.init(), "label", label.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Bin(Glib::ConstructParams(frame_class_.init(), "label", label.c_str(), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/frame.h b/libs/gtkmm2/gtk/gtkmm/frame.h
index d67fab075c..e18bfc6884 100644
--- a/libs/gtkmm2/gtk/gtkmm/frame.h
+++ b/libs/gtkmm2/gtk/gtkmm/frame.h
@@ -173,7 +173,9 @@ public:
* of the widget. A value of 0.0 represents left alignment;
* 1.0 represents right alignment.
* @param yalign The y alignment of the label. A value of 0.0 aligns under
- * the frame; 1.0 aligns above the frame.
+ * the frame; 1.0 aligns above the frame. If the values are exactly
+ * 0.0 or 1.0 the gap in the frame won't be painted because the label
+ * will be completely above or below the frame.
*/
void set_label_align(float xalign = 0.0, float yalign = 0.5);
@@ -183,7 +185,9 @@ public:
* of the widget. A value of 0.0 represents left alignment;
* 1.0 represents right alignment.
* @param yalign The y alignment of the label. A value of 0.0 aligns under
- * the frame; 1.0 aligns above the frame.
+ * the frame; 1.0 aligns above the frame. If the values are exactly
+ * 0.0 or 1.0 the gap in the frame won't be painted because the label
+ * will be completely above or below the frame.
*/
void set_label_align(AlignmentEnum xalign, AlignmentEnum yalign = Gtk::ALIGN_CENTER);
@@ -323,10 +327,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::Frame
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Frame
*/
Gtk::Frame* wrap(GtkFrame* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/handlebox.cc b/libs/gtkmm2/gtk/gtkmm/handlebox.cc
index 2e4000b1f7..cf10e3f683 100644
--- a/libs/gtkmm2/gtk/gtkmm/handlebox.cc
+++ b/libs/gtkmm2/gtk/gtkmm/handlebox.cc
@@ -184,7 +184,7 @@ void HandleBox_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void HandleBox_Class::child_attached_callback(GtkHandleBox* self, GtkWidget* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -192,37 +192,40 @@ void HandleBox_Class::child_attached_callback(GtkHandleBox* self, GtkWidget* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_child_attached(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_child_attached(Glib::wrap(p0)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->child_attached)
- (*base->child_attached)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->child_attached)
+ (*base->child_attached)(self, p0);
}
void HandleBox_Class::child_detached_callback(GtkHandleBox* self, GtkWidget* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -230,33 +233,36 @@ void HandleBox_Class::child_detached_callback(GtkHandleBox* self, GtkWidget* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_child_detached(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_child_detached(Glib::wrap(p0)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->child_detached)
- (*base->child_detached)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->child_detached)
+ (*base->child_detached)(self, p0);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -302,7 +308,8 @@ GType HandleBox::get_base_type()
HandleBox::HandleBox()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Bin(Glib::ConstructParams(handlebox_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/handlebox.h b/libs/gtkmm2/gtk/gtkmm/handlebox.h
index fe211425e2..2a4d49169d 100644
--- a/libs/gtkmm2/gtk/gtkmm/handlebox.h
+++ b/libs/gtkmm2/gtk/gtkmm/handlebox.h
@@ -143,17 +143,17 @@ public:
PositionType get_snap_edge() const;
-/**
+ /**
* @par Prototype:
- * <tt>void %child_attached(Widget* child)</tt>
+ * <tt>void on_my_%child_attached(Widget* child)</tt>
*/
Glib::SignalProxy1< void,Widget* > signal_child_attached();
-/**
+ /**
* @par Prototype:
- * <tt>void %child_detached(Widget* child)</tt>
+ * <tt>void on_my_%child_detached(Widget* child)</tt>
*/
Glib::SignalProxy1< void,Widget* > signal_child_detached();
@@ -238,10 +238,13 @@ public:
namespace Glib
{
- /** @relates Gtk::HandleBox
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::HandleBox
*/
Gtk::HandleBox* wrap(GtkHandleBox* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/iconfactory.cc b/libs/gtkmm2/gtk/gtkmm/iconfactory.cc
index d068b95433..af8570413c 100644
--- a/libs/gtkmm2/gtk/gtkmm/iconfactory.cc
+++ b/libs/gtkmm2/gtk/gtkmm/iconfactory.cc
@@ -171,7 +171,8 @@ GType IconFactory::get_base_type()
IconFactory::IconFactory()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(iconfactory_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/iconfactory.h b/libs/gtkmm2/gtk/gtkmm/iconfactory.h
index 5b323f1976..eb3825c7ad 100644
--- a/libs/gtkmm2/gtk/gtkmm/iconfactory.h
+++ b/libs/gtkmm2/gtk/gtkmm/iconfactory.h
@@ -154,10 +154,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::IconFactory
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::IconFactory
*/
Glib::RefPtr<Gtk::IconFactory> wrap(GtkIconFactory* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/iconinfo.cc b/libs/gtkmm2/gtk/gtkmm/iconinfo.cc
index a5655cd711..dc9ef094ec 100644
--- a/libs/gtkmm2/gtk/gtkmm/iconinfo.cc
+++ b/libs/gtkmm2/gtk/gtkmm/iconinfo.cc
@@ -34,8 +34,9 @@ bool IconInfo::get_attach_points(Glib::ArrayHandle<Gdk::Point>& /* points */) co
if(c_attach_points)
{
- //TODO: Why doesn't this compile?
- //points = Glib::ArrayHandle<Gdk::Point>(c_attach_points, n_points, Glib::OWNERSHIP_SHALLOW); //We use OWNERSHIP_SHALLOW because we just need to g_free() the array and nothing more.
+ //TODO: We can't use = with an ArrayHandle.
+ //Investigate whether the bool return value has a special meaning - maybe we can just return an empty ArrayHandle.
+ //points = Glib::ArrayHandle<Gdk::Point>(reinterpret_cast<Gdk::Point*>(c_attach_points), (size_t)n_points, Glib::OWNERSHIP_SHALLOW); //We use OWNERSHIP_SHALLOW because we just need to g_free() the array and nothing more.
}
return result;
}
diff --git a/libs/gtkmm2/gtk/gtkmm/iconinfo.h b/libs/gtkmm2/gtk/gtkmm/iconinfo.h
index 5eadf4f2e8..9c1057f7f0 100644
--- a/libs/gtkmm2/gtk/gtkmm/iconinfo.h
+++ b/libs/gtkmm2/gtk/gtkmm/iconinfo.h
@@ -215,10 +215,13 @@ inline void swap(IconInfo& lhs, IconInfo& rhs)
namespace Glib
{
-/** @relates Gtk::IconInfo
- * @param object The C instance
+/** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::IconInfo
*/
Gtk::IconInfo wrap(GtkIconInfo* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gtk/gtkmm/iconset.h b/libs/gtkmm2/gtk/gtkmm/iconset.h
index 65ab0b57fa..1766a89104 100644
--- a/libs/gtkmm2/gtk/gtkmm/iconset.h
+++ b/libs/gtkmm2/gtk/gtkmm/iconset.h
@@ -48,6 +48,7 @@ class Widget;
//TODO_API: Is _CLASS_BOXEDTYPE the appropriate thing to use here.
//This seems to be reference-counted, not copied.
+/* TODO: Documentation, thought the C API has no documentation for this either. */
class IconSet
{
public:
@@ -173,10 +174,13 @@ inline void swap(IconSet& lhs, IconSet& rhs)
namespace Glib
{
-/** @relates Gtk::IconSet
- * @param object The C instance
+/** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::IconSet
*/
Gtk::IconSet wrap(GtkIconSet* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gtk/gtkmm/iconsource.h b/libs/gtkmm2/gtk/gtkmm/iconsource.h
index 9365b1984b..112ac7e303 100644
--- a/libs/gtkmm2/gtk/gtkmm/iconsource.h
+++ b/libs/gtkmm2/gtk/gtkmm/iconsource.h
@@ -270,10 +270,13 @@ inline void swap(IconSource& lhs, IconSource& rhs)
namespace Glib
{
-/** @relates Gtk::IconSource
- * @param object The C instance
+/** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::IconSource
*/
Gtk::IconSource wrap(GtkIconSource* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gtk/gtkmm/icontheme.cc b/libs/gtkmm2/gtk/gtkmm/icontheme.cc
index 281df63663..8d51f6b170 100644
--- a/libs/gtkmm2/gtk/gtkmm/icontheme.cc
+++ b/libs/gtkmm2/gtk/gtkmm/icontheme.cc
@@ -46,7 +46,7 @@ Glib::ArrayHandle<int> IconTheme::get_icon_sizes(const Glib::ustring& icon_name)
int* pArrayInts = gtk_icon_theme_get_icon_sizes(const_cast<GtkIconTheme*>(gobj()), icon_name.c_str());
//pArrayInts is null-terminated.
- return Glib::ArrayHandle<int>(pArrayInts, Glib::OWNERSHIP_SHALLOW); //TODO: I'm not sure about the ownership. murrayc.
+ return Glib::ArrayHandle<int>(pArrayInts, Glib::OWNERSHIP_SHALLOW);
}
Glib::ListHandle<Glib::ustring> IconTheme::list_icons() const
@@ -165,7 +165,7 @@ void IconTheme_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void IconTheme_Class::changed_callback(GtkIconTheme* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -173,32 +173,35 @@ void IconTheme_Class::changed_callback(GtkIconTheme* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->changed)
- (*base->changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->changed)
+ (*base->changed)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -246,7 +249,8 @@ GType IconTheme::get_base_type()
IconTheme::IconTheme()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(icontheme_class_.init()))
{
}
@@ -307,6 +311,11 @@ IconInfo IconTheme::lookup_icon(const Glib::ustring& icon_name, int size, IconLo
return Glib::wrap(gtk_icon_theme_lookup_icon(const_cast<GtkIconTheme*>(gobj()), icon_name.c_str(), size, ((GtkIconLookupFlags)(flags))));
}
+IconInfo IconTheme::choose_icon(const Glib::StringArrayHandle& icon_names, int size, IconLookupFlags flags)
+{
+ return Glib::wrap(gtk_icon_theme_choose_icon(gobj(), const_cast<const gchar**>((icon_names).data()), size, ((GtkIconLookupFlags)(flags))));
+}
+
#ifdef GLIBMM_EXCEPTIONS_ENABLED
Glib::RefPtr<Gdk::Pixbuf> IconTheme::load_icon(const Glib::ustring& icon_name, int size, IconLookupFlags flags) const
#else
@@ -332,6 +341,11 @@ Glib::ListHandle<Glib::ustring> IconTheme::list_icons(const Glib::ustring& conte
return Glib::ListHandle<Glib::ustring>(gtk_icon_theme_list_icons(const_cast<GtkIconTheme*>(gobj()), context.c_str()), Glib::OWNERSHIP_SHALLOW);
}
+Glib::ListHandle<Glib::ustring> IconTheme::list_contexts() const
+{
+ return Glib::ListHandle<Glib::ustring>(gtk_icon_theme_list_contexts(const_cast<GtkIconTheme*>(gobj())), Glib::OWNERSHIP_SHALLOW);
+}
+
Glib::ustring IconTheme::get_example_icon_name() const
{
return Glib::convert_return_gchar_ptr_to_ustring(gtk_icon_theme_get_example_icon_name(const_cast<GtkIconTheme*>(gobj())));
diff --git a/libs/gtkmm2/gtk/gtkmm/icontheme.h b/libs/gtkmm2/gtk/gtkmm/icontheme.h
index c17f46b828..a2ca6bbbaf 100644
--- a/libs/gtkmm2/gtk/gtkmm/icontheme.h
+++ b/libs/gtkmm2/gtk/gtkmm/icontheme.h
@@ -57,7 +57,8 @@ enum IconLookupFlags
{
ICON_LOOKUP_NO_SVG = 1 << 0,
ICON_LOOKUP_FORCE_SVG = 1 << 1,
- ICON_LOOKUP_USE_BUILTIN = 1 << 2
+ ICON_LOOKUP_USE_BUILTIN = 1 << 2,
+ ICON_LOOKUP_GENERIC_FALLBACK = 1 << 3
};
/** @ingroup gtkmmEnums */
@@ -271,8 +272,6 @@ public:
Glib::ArrayHandle<int> get_icon_sizes(const Glib::ustring& icon_name) const;
-//TODO: Update the docs for this, to suggest use of IconInfo::operator bool() instead of saying that it returns null.
-
/** Looks up a named icon and returns a structure containing
* information such as the filename of the icon. The icon
* can then be rendered into a pixbuf using
@@ -281,14 +280,35 @@ public:
* @param icon_name The name of the icon to lookup.
* @param size Desired icon size.
* @param flags Flags modifying the behavior of the icon lookup.
- * @return A Gtk::IconInfo structure containing information
- * about the icon, or <tt>0</tt> if the icon wasn't found. Free with
- * gtk_icon_info_free()
+ * @return An IconInfo structure containing information
+ * about the icon. IconInfo::operator bool() will return false if the icon wasn't found.
+ * For instance, if (icon_info) { ... }.
*
* @newin2p4.
*/
IconInfo lookup_icon(const Glib::ustring& icon_name, int size, IconLookupFlags flags) const;
+
+ /** Looks up a named icon and returns a structure containing
+ * information such as the filename of the icon. The icon
+ * can then be rendered into a pixbuf using
+ * gtk_icon_info_load_icon(). (load_icon()
+ * combines these two steps if all you need is the pixbuf.)
+ *
+ * If @a icon_names contains more than one name, this function
+ * tries them all in the given order before falling back to
+ * inherited icon themes.
+ * @param icon_names Array of icon names to lookup.
+ * @param size Desired icon size.
+ * @param flags Flags modifying the behavior of the icon lookup.
+ * @return A Gtk::IconInfo structure containing information
+ * about the icon. IconInfo::operator bool() will be false if the icon wasn't found -
+ * for instance, if (icon_info) { ... }.
+ *
+ * @newin2p12.
+ */
+ IconInfo choose_icon(const Glib::StringArrayHandle& icon_names, int size, IconLookupFlags flags);
+
/** Looks up an icon in an icon theme, scales it to the given size
* and renders it into a pixbuf. This is a convenience function;
@@ -341,13 +361,21 @@ public:
Glib::ListHandle<Glib::ustring> list_icons() const;
+ /** Gets the list of contexts available within the current
+ * hierarchy of icon themes.
+ * @return A list holding the names of all the
+ * contexts in the theme.
+ *
+ * @newin2p12.
+ */
+ Glib::ListHandle<Glib::ustring> list_contexts() const;
+
+
/** Gets the name of an icon that is representative of the
* current theme (for instance, to use when presenting
* a list of themes to the user.)
- * @return The name of an example icon or <tt>0</tt>.
- * Free with Glib::free().
*
- * @newin2p4.
+ * @newin2p4
*/
Glib::ustring get_example_icon_name() const;
@@ -386,9 +414,9 @@ public:
static void add_builtin_icon(const Glib::ustring& icon_name, int size, const Glib::RefPtr<Gdk::Pixbuf>& pixbuf);
-/**
+ /**
* @par Prototype:
- * <tt>void %changed()</tt>
+ * <tt>void on_my_%changed()</tt>
*/
Glib::SignalProxy0< void > signal_changed();
@@ -419,10 +447,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::IconTheme
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::IconTheme
*/
Glib::RefPtr<Gtk::IconTheme> wrap(GtkIconTheme* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/iconview.cc b/libs/gtkmm2/gtk/gtkmm/iconview.cc
index 82d3901f94..970eb7bdd2 100644
--- a/libs/gtkmm2/gtk/gtkmm/iconview.cc
+++ b/libs/gtkmm2/gtk/gtkmm/iconview.cc
@@ -4,7 +4,7 @@
#include <gtkmm/iconview.h>
#include <gtkmm/private/iconview_p.h>
-// -*- c++ -*-
+// -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
/* $Id$ */
/* Copyright 1998-2004 The gtkmm Development Team
@@ -26,6 +26,9 @@
#include <gtkmm/adjustment.h>
#include <gtk/gtkiconview.h>
+#include <gtk/gtktreemodel.h>
+#include <gtk/gtktreeview.h>
+#include <gtk/gtk.h>
namespace //anonymous namespace
{
@@ -193,6 +196,50 @@ void IconView::enable_model_drag_dest(const ArrayHandle_TargetEntry& targets, G
gtk_icon_view_enable_model_drag_dest(gobj(), targets.data(), targets.size(), (GdkDragAction)actions);
}
+bool
+IconView::get_tooltip_context_path(int& x, int& y,
+ bool keyboard_tip,
+ TreeModel::Path& path)
+{
+ //It's cleaner to use a temporary C++ object and get a C pointer to it,
+ //because GtkTreePath is a simple struct, not a GtkObject, so
+ //gtk_tree_path_new() would be necessary. markoa.
+ TreeModel::Path tmp_path;
+ GtkTreePath* cpath = tmp_path.gobj();
+
+ gboolean result =
+ gtk_icon_view_get_tooltip_context(gobj(),
+ &x, &y,
+ keyboard_tip,
+ 0,
+ &cpath,
+ 0);
+
+ path = Glib::wrap(cpath, false /* take_copy=false */);
+
+ return result;
+}
+
+bool
+IconView::get_tooltip_context_iter(int& x, int& y,
+ bool keyboard_tip,
+ Gtk::TreeModel::iterator& iter)
+{
+ GtkTreeIter src_iter;
+
+ gboolean result =
+ gtk_icon_view_get_tooltip_context(gobj(),
+ &x, &y,
+ keyboard_tip,
+ 0,
+ 0,
+ &src_iter);
+
+ iter = TreeIter(gtk_icon_view_get_model(this->gobj()), &src_iter);
+
+ return result;
+}
+
} // namespace Gtk
@@ -341,7 +388,7 @@ void IconView_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void IconView_Class::set_scroll_adjustments_callback(GtkIconView* self, GtkAdjustment* p0, GtkAdjustment* p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -349,38 +396,41 @@ void IconView_Class::set_scroll_adjustments_callback(GtkIconView* self, GtkAdjus
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_set_scroll_adjustments(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_set_scroll_adjustments(Glib::wrap(p0)
, Glib::wrap(p1)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->set_scroll_adjustments)
- (*base->set_scroll_adjustments)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->set_scroll_adjustments)
+ (*base->set_scroll_adjustments)(self, p0, p1);
}
void IconView_Class::item_activated_callback(GtkIconView* self, GtkTreePath* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -388,37 +438,40 @@ void IconView_Class::item_activated_callback(GtkIconView* self, GtkTreePath* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_item_activated(Gtk::TreePath(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_item_activated(Gtk::TreePath(p0, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->item_activated)
- (*base->item_activated)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->item_activated)
+ (*base->item_activated)(self, p0);
}
void IconView_Class::selection_changed_callback(GtkIconView* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -426,32 +479,35 @@ void IconView_Class::selection_changed_callback(GtkIconView* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_selection_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_selection_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->selection_changed)
- (*base->selection_changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->selection_changed)
+ (*base->selection_changed)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -497,15 +553,17 @@ GType IconView::get_base_type()
IconView::IconView()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Container(Glib::ConstructParams(iconview_class_.init()))
{
}
IconView::IconView(const Glib::RefPtr<TreeModel>& model)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Container(Glib::ConstructParams(iconview_class_.init(), "model", Glib::unwrap(model), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Container(Glib::ConstructParams(iconview_class_.init(), "model", Glib::unwrap(model), static_cast<char*>(0)))
{
}
@@ -689,6 +747,11 @@ void IconView::item_activated(const TreeModel::Path& path)
gtk_icon_view_item_activated(gobj(), const_cast<GtkTreePath*>((path).gobj()));
}
+void IconView::set_cursor(const TreeModel::Path& path, CellRenderer& cell, bool start_editing)
+{
+gtk_icon_view_set_cursor(gobj(), const_cast<GtkTreePath*>((path).gobj()), (cell).gobj(), static_cast<int>(start_editing));
+}
+
void IconView::scroll_to_path(const TreeModel::Path& path, bool use_align, gfloat row_align, gfloat col_align)
{
gtk_icon_view_scroll_to_path(gobj(), const_cast<GtkTreePath*>((path).gobj()), static_cast<int>(use_align), row_align, col_align);
@@ -724,6 +787,31 @@ Glib::RefPtr<Gdk::Pixmap> IconView::create_drag_icon(const TreeModel::Path& path
return Glib::wrap((GdkPixmapObject*)(gtk_icon_view_create_drag_icon(gobj(), const_cast<GtkTreePath*>((path).gobj()))));
}
+void IconView::convert_widget_to_bin_window_coords(int wx, int wy, int& bx, int& by) const
+{
+gtk_icon_view_convert_widget_to_bin_window_coords(const_cast<GtkIconView*>(gobj()), wx, wy, &bx, &by);
+}
+
+void IconView::set_tooltip_item(const Glib::RefPtr<Tooltip>& tooltip, const TreeModel::Path& path)
+{
+gtk_icon_view_set_tooltip_item(gobj(), Glib::unwrap(tooltip), const_cast<GtkTreePath*>((path).gobj()));
+}
+
+void IconView::set_tooltip_cell(const Glib::RefPtr<Tooltip>& tooltip, const TreeModel::Path& path, CellRenderer& cell)
+{
+gtk_icon_view_set_tooltip_cell(gobj(), Glib::unwrap(tooltip), const_cast<GtkTreePath*>((path).gobj()), (cell).gobj());
+}
+
+void IconView::set_tooltip_column(int column)
+{
+gtk_icon_view_set_tooltip_column(gobj(), column);
+}
+
+int IconView::get_tooltip_column() const
+{
+ return gtk_icon_view_get_tooltip_column(const_cast<GtkIconView*>(gobj()));
+}
+
Glib::SignalProxy2< void,Adjustment*,Adjustment* > IconView::signal_set_scroll_adjustments()
{
diff --git a/libs/gtkmm2/gtk/gtkmm/iconview.h b/libs/gtkmm2/gtk/gtkmm/iconview.h
index 54539e3046..ee2641d8a4 100644
--- a/libs/gtkmm2/gtk/gtkmm/iconview.h
+++ b/libs/gtkmm2/gtk/gtkmm/iconview.h
@@ -32,6 +32,7 @@
#include <gtkmm/treemodel.h>
#include <gtkmm/treepath.h>
#include <gtkmm/cellrenderer.h>
+#include <gtkmm/tooltip.h>
#ifndef DOXYGEN_SHOULD_SKIP_THIS
@@ -172,16 +173,14 @@ public:
*/
void set_model(const Glib::RefPtr<TreeModel>& model);
- /** Returns the model the Gtk::IconView is based on. Returns <tt>0</tt> if the
- * model is unset.
+ /** Return value: A Gtk::TreeModel, or <tt>0</tt> if none is currently being used.
* @return A Gtk::TreeModel, or <tt>0</tt> if none is currently being used.
*
* @newin2p6.
*/
Glib::RefPtr<TreeModel> get_model();
- /** Returns the model the Gtk::IconView is based on. Returns <tt>0</tt> if the
- * model is unset.
+ /** Return value: A Gtk::TreeModel, or <tt>0</tt> if none is currently being used.
* @return A Gtk::TreeModel, or <tt>0</tt> if none is currently being used.
*
* @newin2p6.
@@ -193,7 +192,7 @@ public:
* column must be of type G::TYPE_STRING.
*
* @newin2p6
- * @param column A column in the currently used model.
+ * @param column A column in the currently used model, or -1 to display no text.
*/
void set_text_column(int column);
@@ -201,11 +200,11 @@ public:
* column must be of type G::TYPE_STRING.
*
* @newin2p6
- * @param column A column in the currently used model.
+ * @param column A column in the currently used model, or -1 to display no text.
*/
void set_text_column(const TreeModelColumnBase& model_column);
- /** Returns the column with text for @a icon_view .
+ /** Returns: the text column, or -1 if it's unset.
* @return The text column, or -1 if it's unset.
*
* @newin2p6.
@@ -218,7 +217,7 @@ public:
* the text column set by set_text_column().
*
* @newin2p6
- * @param column A column in the currently used model.
+ * @param column A column in the currently used model, or -1 to display no text.
*/
void set_markup_column(int column);
@@ -228,11 +227,11 @@ public:
* the text column set by set_text_column().
*
* @newin2p6
- * @param column A column in the currently used model.
+ * @param column A column in the currently used model, or -1 to display no text.
*/
void set_markup_column(const TreeModelColumnBase& column);
- /** Returns the column with markup text for @a icon_view .
+ /** Returns: the markup column, or -1 if it's unset.
* @return The markup column, or -1 if it's unset.
*
* @newin2p6.
@@ -243,7 +242,7 @@ public:
* column must be of type Gdk::TYPE_PIXBUF
*
* @newin2p6
- * @param column A column in the currently used model.
+ * @param column A column in the currently used model, or -1 to disable.
*/
void set_pixbuf_column(int column);
@@ -251,11 +250,11 @@ public:
* column must be of type Gdk::TYPE_PIXBUF
*
* @newin2p6
- * @param column A column in the currently used model.
+ * @param column A column in the currently used model, or -1 to disable.
*/
void set_pixbuf_column(const TreeModelColumnBase& column);
- /** Returns the column with pixbufs for @a icon_view .
+ /** Returns: the pixbuf column, or -1 if it's unset.
* @return The pixbuf column, or -1 if it's unset.
*
* @newin2p6.
@@ -271,8 +270,7 @@ public:
*/
void set_orientation(Orientation orientation);
- /** Returns the value of the ::orientation property which determines
- * whether the labels are drawn beside the icons instead of below.
+ /** Return value: the relative position of texts and icons
* @return The relative position of texts and icons
*
* @newin2p6.
@@ -290,7 +288,7 @@ public:
*/
void set_columns(int columns);
- /** Returns the value of the ::columns property.
+ /** Return value: the number of columns, or -1
* @return The number of columns, or -1
*
* @newin2p6.
@@ -306,7 +304,7 @@ public:
*/
void set_item_width(int item_width);
- /** Returns the value of the ::item-width property.
+ /** Return value: the width of a single item, or -1
* @return The width of a single item, or -1
*
* @newin2p6.
@@ -322,7 +320,7 @@ public:
*/
void set_spacing(int spacing);
- /** Returns the value of the ::spacing property.
+ /** Return value: the space between cells
* @return The space between cells
*
* @newin2p6.
@@ -337,7 +335,7 @@ public:
*/
void set_row_spacing(int row_spacing);
- /** Returns the value of the ::row-spacing property.
+ /** Return value: the space between rows
* @return The space between rows
*
* @newin2p6.
@@ -352,7 +350,7 @@ public:
*/
void set_column_spacing(int column_spacing);
- /** Returns the value of the ::column-spacing property.
+ /** Return value: the space between columns
* @return The space between columns
*
* @newin2p6.
@@ -369,7 +367,7 @@ public:
*/
void set_margin(int margin);
- /** Returns the value of the ::margin property.
+ /** Return value: the space at the borders
* @return The space at the borders
*
* @newin2p6.
@@ -377,9 +375,11 @@ public:
int get_margin() const;
- /** Finds the path at the point ( @a x , @a y ), relative to widget coordinates.
+ /** Finds the path at the point ( @a x , @a y ), relative to bin_window coordinates.
* See get_item_at_pos(), if you are also interested in
- * the cell at the specified position.
+ * the cell at the specified position.
+ * See convert_widget_to_bin_window_coords() for converting
+ * widget coordinates to bin_window coordinates.
* @param x The x position to be identified.
* @param y The y position to be identified.
* @return The Gtk::TreePath corresponding to the icon or <tt>0</tt>
@@ -474,8 +474,7 @@ public:
*/
void unselect_path(const TreeModel::Path& path);
- /** Returns <tt>true</tt> if the icon pointed to by @a path is currently
- * selected. If @a icon does not point to a valid location, <tt>false</tt> is returned.
+ /** Return value: <tt>true</tt> if @a path is selected.
* @param path A Gtk::TreePath to check selection on.
* @return <tt>true</tt> if @a path is selected.
*
@@ -539,8 +538,24 @@ public:
*/
void item_activated(const TreeModel::Path& path);
- void set_cursor(const TreeModel::Path& path, CellRenderer& cell, bool start_editing);
+ //TODO: Add a version with no cell parameter.
+ /** Sets the current keyboard focus to be at @a path , and selects it. This is
+ * useful when you want to focus the user's attention on a particular item.
+ * If @a cell is not <tt>0</tt>, then focus is given to the cell specified by
+ * it. Additionally, if @a start_editing is <tt>true</tt>, then editing should be
+ * started in the specified cell.
+ *
+ * This function is often followed by <tt>gtk_widget_grab_focus
+ * (icon_view)</tt> in order to give keyboard focus to the widget.
+ * Please note that editing can only happen when the widget is realized.
+ *
+ * @newin2p8
+ * @param path A Gtk::TreePath.
+ * @param cell One of the cell renderers of @a icon_view , or <tt>0</tt>.
+ * @param start_editing <tt>true</tt> if the specified cell should start being edited.
+ */
+ void set_cursor(const TreeModel::Path& path, CellRenderer& cell, bool start_editing);
/** Fills in @a path and @a cell with the current cursor path and cell.
* If the cursor isn't currently set, then @a path will be empty.
@@ -578,18 +593,19 @@ public:
/** Moves the alignments of @a icon_view to the position specified by @a path .
- * @a row_align determines where the row is placed, and @a col_align determines where
- * @a column is placed. Both are expected to be between 0.0 and 1.0.
- * 0.0 means left/top alignment, 1.0 means right/bottom alignment, 0.5 means center.
+ * @a row_align determines where the row is placed, and @a col_align determines
+ * where @a column is placed. Both are expected to be between 0.0 and 1.0.
+ * 0.0 means left/top alignment, 1.0 means right/bottom alignment, 0.5 means
+ * center.
*
* If @a use_align is <tt>false</tt>, then the alignment arguments are ignored, and the
* tree does the minimum amount of work to scroll the item onto the screen.
* This means that the item will be scrolled to the edge closest to its current
* position. If the item is currently visible on the screen, nothing is done.
*
- * This function only works if the model is set, and @a path is a valid row on the
- * model. If the model changes before the @a icon_view is realized, the centered
- * path will be modified to reflect this change.
+ * This function only works if the model is set, and @a path is a valid row on
+ * the model. If the model changes before the @a icon_view is realized, the
+ * centered path will be modified to reflect this change.
*
* @newin2p8
* @param path The path of the item to move to.
@@ -739,26 +755,124 @@ public:
*/
Glib::RefPtr<Gdk::Pixmap> create_drag_icon( const TreeModel::Path& path);
+
+ /** Converts widget coordinates to coordinates for the bin_window,
+ * as expected by e.g.\ get_path_at_pos().
+ *
+ * @newin2p12
+ * @param wy Y coordinate relative to the widget.
+ * @param bx Return location for bin_window X coordinate.
+ * @param by Return location for bin_window Y coordinate.
+ */
+ void convert_widget_to_bin_window_coords(int wx, int wy, int& bx, int& by) const;
-/**
+
+ /** Sets the tip area of @a tooltip to be the area covered by the item at @a path .
+ * See also Tooltip::set_tip_area().
+ *
+ * @newin2p12
+ * @param tooltip A Gtk::Tooltip.
+ * @param path A Gtk::TreePath.
+ */
+ void set_tooltip_item(const Glib::RefPtr<Tooltip>& tooltip, const TreeModel::Path& path);
+
+ /** Sets the tip area of @a tooltip to the area which @a cell occupies in
+ * the item pointed to by @a path . See also Tooltip::set_tip_area().
+ *
+ * @newin2p12
+ * @param tooltip A Gtk::Tooltip.
+ * @param path A Gtk::TreePath.
+ * @param cell A Gtk::CellRenderer.
+ */
+ void set_tooltip_cell(const Glib::RefPtr<Tooltip>& tooltip, const TreeModel::Path& path, CellRenderer& cell);
+
+ /** Sets the tip area of @a tooltip to the area occupied by
+ * the item pointed to by @a path. See also Tooltip::set_tip_area().
+ *
+ * @newin2p12
+ * @param tooltip A Gtk::Tooltip.
+ * @param path A Gtk::TreePath.
+ */
+ void set_tooltip_cell(const Glib::RefPtr<Tooltip>& tooltip, const TreeModel::Path& path);
+
+
+ /**
+ * @param x: the x coordinate (relative to widget coordinates)
+ * @param y: the y coordinate (relative to widget coordinates)
+ * @param keyboard_tip: whether this is a keyboard tooltip or not
+ * @param path: a reference to receive a Gtk::TreePath
+ *
+ * This function is supposed to be used in a Gtk::Widget::query-tooltip
+ * signal handler for Gtk::IconView. The x, y and keyboard_tip values
+ * which are received in the signal handler, should be passed to this
+ * function without modification.
+ *
+ * The return value indicates whether there is an icon view item at the given
+ * coordinates (true) or not (false) for mouse tooltips. For keyboard
+ * tooltips the item returned will be the cursor item. When true, then the
+ * path which has been provided will be set to point to
+ * that row and the corresponding model. x and y will always be converted
+ * to be relative to IconView's bin_window if keyboard_tooltip is false.
+ *
+ * Return value: whether or not the given tooltip context points to a item.
+ *
+ * @newin2p12
+ */
+ bool get_tooltip_context_path(int& x, int& y,
+ bool keyboard_tip,
+ TreeModel::Path& path);
+
+ /**
+ * @param x: the x coordinate (relative to widget coordinates)
+ * @param y: the y coordinate (relative to widget coordinates)
+ * @param keyboard_tip: whether this is a keyboard tooltip or not
+ * @param iter: a pointer to receive a Gtk::TreeIter
+ *
+ * This function is supposed to be used in a Gtk::Widget::query-tooltip
+ * signal handler for Gtk::IconView. The x, y and keyboard_tip values
+ * which are received in the signal handler, should be passed to this
+ * function without modification.
+ *
+ * The return value indicates whether there is an icon view item at the given
+ * coordinates (true) or not (false) for mouse tooltips. For keyboard
+ * tooltips the item returned will be the cursor item. When true, then the
+ * iter which has been provided will be set to point to
+ * that row and the corresponding model. x and y will always be converted
+ * to be relative to IconView's bin_window if keyboard_tooltip is false.
+ *
+ * Return value: whether or not the given tooltip context points to a item.
+ *
+ * @newin2p12
+ */
+ bool get_tooltip_context_iter(int& x, int& y,
+ bool keyboard_tip,
+ Gtk::TreeModel::iterator& iter);
+
+
+ void set_tooltip_column(int column);
+
+ int get_tooltip_column() const;
+
+
+ /**
* @par Prototype:
- * <tt>void %set_scroll_adjustments(Adjustment* hadjustment, Adjustment* vadjustment)</tt>
+ * <tt>void on_my_%set_scroll_adjustments(Adjustment* hadjustment, Adjustment* vadjustment)</tt>
*/
Glib::SignalProxy2< void,Adjustment*,Adjustment* > signal_set_scroll_adjustments();
-/**
+ /**
* @par Prototype:
- * <tt>void %item_activated(const TreeModel::Path& path)</tt>
+ * <tt>void on_my_%item_activated(const TreeModel::Path& path)</tt>
*/
Glib::SignalProxy1< void,const TreeModel::Path& > signal_item_activated();
-/**
+ /**
* @par Prototype:
- * <tt>void %selection_changed()</tt>
+ * <tt>void on_my_%selection_changed()</tt>
*/
Glib::SignalProxy0< void > signal_selection_changed();
@@ -1015,10 +1129,13 @@ public:
namespace Glib
{
- /** @relates Gtk::IconView
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::IconView
*/
Gtk::IconView* wrap(GtkIconView* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/image.cc b/libs/gtkmm2/gtk/gtkmm/image.cc
index 7a0a31b9e9..7e578ccc5b 100644
--- a/libs/gtkmm2/gtk/gtkmm/image.cc
+++ b/libs/gtkmm2/gtk/gtkmm/image.cc
@@ -37,20 +37,23 @@ namespace Gtk
Image::Image(const Gtk::StockID& stock_id, IconSize size)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Misc(Glib::ConstructParams(image_class_.init(), "stock",stock_id.get_c_str(),"icon-size",(GtkIconSize) int(size), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Misc(Glib::ConstructParams(image_class_.init(), "stock",stock_id.get_c_str(),"icon-size",(GtkIconSize) int(size), static_cast<char*>(0)))
{}
Image::Image(IconSet& icon_set, IconSize size)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Misc(Glib::ConstructParams(image_class_.init(), "icon-set",icon_set.gobj(),"icon-size",(GtkIconSize) int(size), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Misc(Glib::ConstructParams(image_class_.init(), "icon-set",icon_set.gobj(),"icon-size",(GtkIconSize) int(size), static_cast<char*>(0)))
{}
Image::Image(const Glib::RefPtr<Gdk::PixbufAnimation>& animation)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Misc(Glib::ConstructParams(image_class_.init(), "pixbuf-animation",Glib::unwrap(animation), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Misc(Glib::ConstructParams(image_class_.init(), "pixbuf-animation",Glib::unwrap(animation), static_cast<char*>(0)))
{}
void Image::get_pixmap(Glib::RefPtr<Gdk::Pixmap>& pixmap, Glib::RefPtr<Gdk::Bitmap>& mask) const
@@ -223,36 +226,41 @@ GType Image::get_base_type()
Image::Image()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Misc(Glib::ConstructParams(image_class_.init()))
{
}
Image::Image(const Glib::RefPtr<Gdk::Pixmap>& pixmap, const Glib::RefPtr<Gdk::Bitmap>& mask)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Misc(Glib::ConstructParams(image_class_.init(), "pixmap", Glib::unwrap(pixmap), "mask", Glib::unwrap(mask), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Misc(Glib::ConstructParams(image_class_.init(), "pixmap", Glib::unwrap(pixmap), "mask", Glib::unwrap(mask), static_cast<char*>(0)))
{
}
Image::Image(const Glib::RefPtr<Gdk::Image>& image, const Glib::RefPtr<Gdk::Bitmap>& mask)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Misc(Glib::ConstructParams(image_class_.init(), "image", Glib::unwrap(image), "mask", Glib::unwrap(mask), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Misc(Glib::ConstructParams(image_class_.init(), "image", Glib::unwrap(image), "mask", Glib::unwrap(mask), static_cast<char*>(0)))
{
}
Image::Image(const std::string& file)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Misc(Glib::ConstructParams(image_class_.init(), "file", file.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Misc(Glib::ConstructParams(image_class_.init(), "file", file.c_str(), static_cast<char*>(0)))
{
}
Image::Image(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Misc(Glib::ConstructParams(image_class_.init(), "pixbuf", Glib::unwrap(pixbuf), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Misc(Glib::ConstructParams(image_class_.init(), "pixbuf", Glib::unwrap(pixbuf), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/image.h b/libs/gtkmm2/gtk/gtkmm/image.h
index 799be0c4d3..5023d6bc8e 100644
--- a/libs/gtkmm2/gtk/gtkmm/image.h
+++ b/libs/gtkmm2/gtk/gtkmm/image.h
@@ -502,10 +502,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Image
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Image
*/
Gtk::Image* wrap(GtkImage* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/imagemenuitem.cc b/libs/gtkmm2/gtk/gtkmm/imagemenuitem.cc
index 7543a2ddd1..33c4e7adda 100644
--- a/libs/gtkmm2/gtk/gtkmm/imagemenuitem.cc
+++ b/libs/gtkmm2/gtk/gtkmm/imagemenuitem.cc
@@ -38,8 +38,9 @@ namespace Gtk
ImageMenuItem::ImageMenuItem(Widget& image,
const Glib::ustring& label, bool mnemonic)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::MenuItem(Glib::ConstructParams(imagemenuitem_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::MenuItem(Glib::ConstructParams(imagemenuitem_class_.init()))
{
set_image(image);
add_accel_label(label, mnemonic);
@@ -47,16 +48,18 @@ ImageMenuItem::ImageMenuItem(Widget& image,
ImageMenuItem::ImageMenuItem(const Glib::ustring& label, bool mnemonic)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::MenuItem(Glib::ConstructParams(imagemenuitem_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::MenuItem(Glib::ConstructParams(imagemenuitem_class_.init()))
{
add_accel_label(label, mnemonic);
}
ImageMenuItem::ImageMenuItem(const Gtk::StockID& stock_id)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::MenuItem(Glib::ConstructParams(imagemenuitem_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::MenuItem(Glib::ConstructParams(imagemenuitem_class_.init()))
{
Gtk::Image* image = new Gtk::Image(stock_id, ICON_SIZE_MENU);
image->show();
@@ -178,7 +181,8 @@ GType ImageMenuItem::get_base_type()
ImageMenuItem::ImageMenuItem()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::MenuItem(Glib::ConstructParams(imagemenuitem_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/imagemenuitem.h b/libs/gtkmm2/gtk/gtkmm/imagemenuitem.h
index b5ba9d358a..064717d164 100644
--- a/libs/gtkmm2/gtk/gtkmm/imagemenuitem.h
+++ b/libs/gtkmm2/gtk/gtkmm/imagemenuitem.h
@@ -145,10 +145,13 @@ public:
namespace Glib
{
- /** @relates Gtk::ImageMenuItem
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::ImageMenuItem
*/
Gtk::ImageMenuItem* wrap(GtkImageMenuItem* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/inputdialog.cc b/libs/gtkmm2/gtk/gtkmm/inputdialog.cc
index 929a385f47..eacb9155b0 100644
--- a/libs/gtkmm2/gtk/gtkmm/inputdialog.cc
+++ b/libs/gtkmm2/gtk/gtkmm/inputdialog.cc
@@ -161,7 +161,7 @@ void InputDialog_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void InputDialog_Class::enable_device_callback(GtkInputDialog* self, GdkDevice* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -169,37 +169,40 @@ void InputDialog_Class::enable_device_callback(GtkInputDialog* self, GdkDevice*
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_enable_device(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_enable_device(Glib::wrap(p0, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->enable_device)
- (*base->enable_device)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->enable_device)
+ (*base->enable_device)(self, p0);
}
void InputDialog_Class::disable_device_callback(GtkInputDialog* self, GdkDevice* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -207,33 +210,36 @@ void InputDialog_Class::disable_device_callback(GtkInputDialog* self, GdkDevice*
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_disable_device(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_disable_device(Glib::wrap(p0, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->disable_device)
- (*base->disable_device)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->disable_device)
+ (*base->disable_device)(self, p0);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -279,7 +285,8 @@ GType InputDialog::get_base_type()
InputDialog::InputDialog()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Dialog(Glib::ConstructParams(inputdialog_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/inputdialog.h b/libs/gtkmm2/gtk/gtkmm/inputdialog.h
index 45bf5d7eca..29b5ee9820 100644
--- a/libs/gtkmm2/gtk/gtkmm/inputdialog.h
+++ b/libs/gtkmm2/gtk/gtkmm/inputdialog.h
@@ -3,6 +3,8 @@
#ifndef _GTKMM_INPUTDIALOG_H
#define _GTKMM_INPUTDIALOG_H
+#include <gtkmmconfig.h>
+
#include <glibmm.h>
@@ -27,6 +29,10 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+
+
#include <gtkmm/dialog.h>
@@ -145,18 +151,18 @@ public:
ScrolledWindow* get_keys_box();
const ScrolledWindow* get_keys_box() const;
-
-/**
+
+ /**
* @par Prototype:
- * <tt>void %enable_device(const Glib::RefPtr<Gdk::Device>& device)</tt>
+ * <tt>void on_my_%enable_device(const Glib::RefPtr<Gdk::Device>& device)</tt>
*/
Glib::SignalProxy1< void,const Glib::RefPtr<Gdk::Device>& > signal_enable_device();
-/**
+ /**
* @par Prototype:
- * <tt>void %disable_device(const Glib::RefPtr<Gdk::Device>& device)</tt>
+ * <tt>void on_my_%disable_device(const Glib::RefPtr<Gdk::Device>& device)</tt>
*/
Glib::SignalProxy1< void,const Glib::RefPtr<Gdk::Device>& > signal_disable_device();
@@ -169,10 +175,13 @@ public:
namespace Glib
{
- /** @relates Gtk::InputDialog
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::InputDialog
*/
Gtk::InputDialog* wrap(GtkInputDialog* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/invisible.cc b/libs/gtkmm2/gtk/gtkmm/invisible.cc
index b237050cbf..96eb2adf07 100644
--- a/libs/gtkmm2/gtk/gtkmm/invisible.cc
+++ b/libs/gtkmm2/gtk/gtkmm/invisible.cc
@@ -136,15 +136,17 @@ GType Invisible::get_base_type()
Invisible::Invisible()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Widget(Glib::ConstructParams(invisible_class_.init()))
{
}
Invisible::Invisible(const Glib::RefPtr<Gdk::Screen>& screen)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Widget(Glib::ConstructParams(invisible_class_.init(), "screen", Glib::unwrap(screen), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Widget(Glib::ConstructParams(invisible_class_.init(), "screen", Glib::unwrap(screen), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/invisible.h b/libs/gtkmm2/gtk/gtkmm/invisible.h
index 5c6112d21e..be138d0a38 100644
--- a/libs/gtkmm2/gtk/gtkmm/invisible.h
+++ b/libs/gtkmm2/gtk/gtkmm/invisible.h
@@ -109,14 +109,14 @@ public:
explicit Invisible(const Glib::RefPtr<Gdk::Screen>& screen);
- /** Returns the Gdk::Screen object associated with @a invisible
+ /** Return value: the associated Gdk::Screen.
* @return The associated Gdk::Screen.
*
* @newin2p2.
*/
Glib::RefPtr<Gdk::Screen> get_screen();
- /** Returns the Gdk::Screen object associated with @a invisible
+ /** Return value: the associated Gdk::Screen.
* @return The associated Gdk::Screen.
*
* @newin2p2.
@@ -138,10 +138,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Invisible
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Invisible
*/
Gtk::Invisible* wrap(GtkInvisible* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/item.cc b/libs/gtkmm2/gtk/gtkmm/item.cc
index 0a8f2b122b..34bd6200ce 100644
--- a/libs/gtkmm2/gtk/gtkmm/item.cc
+++ b/libs/gtkmm2/gtk/gtkmm/item.cc
@@ -117,7 +117,7 @@ void Item_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Item_Class::select_callback(GtkItem* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -125,36 +125,39 @@ void Item_Class::select_callback(GtkItem* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_select();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_select();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->select)
- (*base->select)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->select)
+ (*base->select)(self);
}
void Item_Class::deselect_callback(GtkItem* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -162,36 +165,39 @@ void Item_Class::deselect_callback(GtkItem* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_deselect();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_deselect();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->deselect)
- (*base->deselect)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->deselect)
+ (*base->deselect)(self);
}
void Item_Class::toggle_callback(GtkItem* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -199,32 +205,35 @@ void Item_Class::toggle_callback(GtkItem* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_toggle();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_toggle();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->toggle)
- (*base->toggle)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->toggle)
+ (*base->toggle)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -285,7 +294,8 @@ gtk_item_toggle(gobj());
Item::Item()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Bin(Glib::ConstructParams(item_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/item.h b/libs/gtkmm2/gtk/gtkmm/item.h
index 73f33101d8..24c0c0bc7e 100644
--- a/libs/gtkmm2/gtk/gtkmm/item.h
+++ b/libs/gtkmm2/gtk/gtkmm/item.h
@@ -114,9 +114,9 @@ public:
void select();
-/**
+ /**
* @par Prototype:
- * <tt>void %select()</tt>
+ * <tt>void on_my_%select()</tt>
*/
Glib::SignalProxy0< void > signal_select();
@@ -124,9 +124,9 @@ public:
void deselect();
-/**
+ /**
* @par Prototype:
- * <tt>void %deselect()</tt>
+ * <tt>void on_my_%deselect()</tt>
*/
Glib::SignalProxy0< void > signal_deselect();
@@ -134,9 +134,9 @@ public:
void toggle();
-/**
+ /**
* @par Prototype:
- * <tt>void %toggle()</tt>
+ * <tt>void on_my_%toggle()</tt>
*/
Glib::SignalProxy0< void > signal_toggle();
@@ -153,10 +153,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::Item
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Item
*/
Gtk::Item* wrap(GtkItem* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/label.cc b/libs/gtkmm2/gtk/gtkmm/label.cc
index a594b621c4..e1965b6b8c 100644
--- a/libs/gtkmm2/gtk/gtkmm/label.cc
+++ b/libs/gtkmm2/gtk/gtkmm/label.cc
@@ -32,28 +32,32 @@ namespace Gtk
Label::Label()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Misc(Glib::ConstructParams(label_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Misc(Glib::ConstructParams(label_class_.init()))
{}
Label::Label(const Glib::ustring& label, bool mnemonic)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Misc(Glib::ConstructParams(label_class_.init(), "label",label.c_str(),"use_underline",gboolean(mnemonic), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Misc(Glib::ConstructParams(label_class_.init(), "label",label.c_str(),"use_underline",gboolean(mnemonic), static_cast<char*>(0)))
{}
Label::Label(const Glib::ustring& label, float xalign, float yalign, bool mnemonic)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Misc(Glib::ConstructParams(label_class_.init(), "label",label.c_str(),"use_underline",gboolean(mnemonic), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Misc(Glib::ConstructParams(label_class_.init(), "label",label.c_str(),"use_underline",gboolean(mnemonic), static_cast<char*>(0)))
{
set_alignment(xalign, yalign);
}
Label::Label(const Glib::ustring& label, AlignmentEnum xalign, AlignmentEnum yalign, bool mnemonic)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Misc(Glib::ConstructParams(label_class_.init(), "label",label.c_str(),"use_underline",gboolean(mnemonic), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Misc(Glib::ConstructParams(label_class_.init(), "label",label.c_str(),"use_underline",gboolean(mnemonic), static_cast<char*>(0)))
{
set_alignment(xalign, yalign);
}
@@ -161,7 +165,7 @@ void Label_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Label_Class::populate_popup_callback(GtkLabel* self, GtkMenu* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -169,33 +173,36 @@ void Label_Class::populate_popup_callback(GtkLabel* self, GtkMenu* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_populate_popup(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_populate_popup(Glib::wrap(p0)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->populate_popup)
- (*base->populate_popup)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->populate_popup)
+ (*base->populate_popup)(self, p0);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/gtk/gtkmm/label.h b/libs/gtkmm2/gtk/gtkmm/label.h
index 1536fe73c2..aed29daa53 100644
--- a/libs/gtkmm2/gtk/gtkmm/label.h
+++ b/libs/gtkmm2/gtk/gtkmm/label.h
@@ -144,7 +144,7 @@ public:
/// Doesn't use markup.
- /** Sets the text within the Gtk::Label widget. It overwrites any text that
+ /** Sets the text within the Gtk::Label widget. It overwrites any text that
* was there before.
*
* This will also clear any previously set mnemonic accelerators.
@@ -162,8 +162,8 @@ public:
/** Sets a Pango::AttrList; the attributes in the list are applied to the
* label text. The attributes set with this function will be ignored
- * if the "use_underline" property or the "use_markup" property
- * is <tt>true</tt>.
+ * if the Gtk::Label:use-underline" or Gtk::Label:use-markup properties
+ * are set to <tt>true</tt>.
* @param attrs A Pango::AttrList.
*/
void set_attributes(Pango::AttrList& attrs);
@@ -181,7 +181,8 @@ public:
/** Sets the text of the label. The label is interpreted as
* including embedded underlines and/or Pango markup depending
- * on the values of label->use_underline and label->use_markup.
+ * on the values of the Gtk::Label:use-underline" and
+ * Gtk::Label:use-markup properties.
* @param str The new text to set for the label.
*/
void set_label(const Glib::ustring& str);
@@ -194,7 +195,7 @@ public:
Glib::ustring get_label() const;
/** Parses @a str which is marked up with the Pango text markup language, setting the
- * label's text and attribute list based on the parse results. If the @a str is
+ * label's text and attribute list based on the parse results. If the @a str is
* external data, you may need to escape it with Glib::markup_escape_text() or
* Glib::markup_printf_escaped()&lt;!-- --&gt;:
* @code
@@ -214,9 +215,7 @@ public:
*/
void set_use_markup(bool setting = true);
- /** Returns whether the label's text is interpreted as marked up with
- * the Pango text markup
- * language. See set_use_markup().
+ /** Return value: <tt>true</tt> if the label's text will be parsed for markup.
* @return <tt>true</tt> if the label's text will be parsed for markup.
*/
bool get_use_markup() const;
@@ -227,8 +226,7 @@ public:
*/
void set_use_underline(bool setting = true);
- /** Returns whether an embedded underline in the label indicates a
- * mnemonic. See set_use_underline().
+ /** Return value: <tt>true</tt> whether an embedded underline in the label indicates
* @return <tt>true</tt> whether an embedded underline in the label indicates
* the mnemonic accelerator keys.
*/
@@ -240,21 +238,20 @@ public:
* If characters in @a str are preceded by an underscore, they are underlined
* indicating that they represent a keyboard accelerator called a mnemonic.
*
- * The mnemonic key can be used to activate another widget, chosen automatically,
- * or explicitly using set_mnemonic_widget().
+ * The mnemonic key can be used to activate another widget, chosen
+ * automatically, or explicitly using set_mnemonic_widget().
* @param str A markup string (see Pango markup format).
*/
void set_markup_with_mnemonic(const Glib::ustring& str);
/** If the label has been set so that it has an mnemonic key this function
- * returns the keyval used for the mnemonic accelerator. If there is no
- * mnemonic set up it returns #GDK_VoidSymbol.
+ * Returns: GDK keyval usable for accelerators, or #GDK_VoidSymbol
* @return GDK keyval usable for accelerators, or #GDK_VoidSymbol.
*/
guint get_mnemonic_keyval() const;
/** If the label has been set so that it has an mnemonic key (using
- * i.e.\ set_markup_with_mnemonic(),
+ * i.e.\ set_markup_with_mnemonic(),
* set_text_with_mnemonic(), new_with_mnemonic()
* or the "use_underline" property) the label can be associated with a
* widget that is the target of the mnemonic. When the label is inside
@@ -263,9 +260,10 @@ public:
* (i.e. when the target is a Gtk::Entry next to the label) you need to
* set it explicitly using this function.
*
- * The target widget will be accelerated by emitting "mnemonic_activate" on it.
- * The default handler for this signal will activate the widget if there are no
- * mnemonic collisions and toggle focus between the colliding widgets otherwise.
+ * The target widget will be accelerated by emitting the
+ * GtkWidget::mnemonic-activate signal on it. The default handler for
+ * this signal will activate the widget if there are no mnemonic collisions
+ * and toggle focus between the colliding widgets otherwise.
* @param widget The target Gtk::Widget.
*/
void set_mnemonic_widget(Widget& widget);
@@ -287,14 +285,14 @@ public:
/** Sets the label's text from the string @a str .
* If characters in @a str are preceded by an underscore, they are underlined
* indicating that they represent a keyboard accelerator called a mnemonic.
- * The mnemonic key can be used to activate another widget, chosen automatically,
- * or explicitly using set_mnemonic_widget().
+ * The mnemonic key can be used to activate another widget, chosen
+ * automatically, or explicitly using set_mnemonic_widget().
* @param str A string.
*/
void set_text_with_mnemonic(const Glib::ustring& str);
/** Sets the alignment of the lines in the text of the label relative to
- * each other. Gtk::JUSTIFY_LEFT is the default value when the
+ * each other. Gtk::JUSTIFY_LEFT is the default value when the
* widget is first created with new(). If you instead want
* to set the alignment of the label as a whole, use
* Gtk::Misc::set_alignment() instead. set_justify() has no
@@ -303,22 +301,21 @@ public:
*/
void set_justify(Justification jtype);
- /** Returns the justification of the label. See set_justify().
+ /** Return value: Gtk::Justification
* @return Gtk::Justification.
*/
Justification get_justify() const;
-//TODO: Default value?:
- /** Sets the mode used to ellipsize (add an ellipsis: "...") to the text if there
- * is not enough space to render the entire string.
+ /** Sets the mode used to ellipsize (add an ellipsis: "...") to the text
+ * if there is not enough space to render the entire string.
*
* @newin2p6
* @param mode A Pango::EllipsizeMode.
*/
void set_ellipsize(Pango::EllipsizeMode mode);
- /** Returns the ellipsizing position of the label. See set_ellipsize().
+ /** Return value: Pango::EllipsizeMode
* @return Pango::EllipsizeMode
*
* @newin2p6.
@@ -360,20 +357,38 @@ public:
void set_pattern(const Glib::ustring& pattern);
- /** Toggles line wrapping within the Gtk::Label widget. <tt>true</tt> makes it break
- * lines if text exceeds the widget's size. <tt>false</tt> lets the text get cut off
+ /** Toggles line wrapping within the Gtk::Label widget. <tt>true</tt> makes it break
+ * lines if text exceeds the widget's size. <tt>false</tt> lets the text get cut off
* by the edge of the widget if it exceeds the widget size.
+ *
+ * Note that setting line wrapping to <tt>true</tt> does not make the label
+ * wrap at its parent container's width, because GTK+ widgets
+ * conceptually can't make their requisition depend on the parent
+ * container's size. For a label that wraps at a specific position,
+ * set the label's width using Gtk::Widget::set_size_request().
* @param wrap The setting.
*/
void set_line_wrap(bool wrap = true);
- /** Returns whether lines in the label are automatically wrapped. See set_line_wrap().
+ /** Return value: <tt>true</tt> if the lines of the label are automatically wrapped.
* @return <tt>true</tt> if the lines of the label are automatically wrapped.
*/
bool get_line_wrap() const;
+ /** If line wrapping is on (see set_line_wrap()) this controls how
+ * the line wrapping is done. The default is Pango::WRAP_WORD which means
+ * wrap on word boundaries.
+ *
+ * @newin2p10
+ * @param wrap_mode The line wrapping mode.
+ */
void set_line_wrap_mode(Pango::WrapMode wrap_mode);
+ /** Return value: <tt>true</tt> if the lines of the label are automatically wrapped.
+ * @return <tt>true</tt> if the lines of the label are automatically wrapped.
+ *
+ * @newin2p10.
+ */
Pango::WrapMode get_line_wrap_mode() const;
/** Selectable labels allow the user to select text from the label, for
@@ -399,7 +414,7 @@ public:
void set_angle(double angle);
/** Gets the angle of rotation for the label. See
- * gtk_label_set_angle.
+ * set_angle().
* @return The angle of rotation for the label
*
* @newin2p6.
@@ -469,7 +484,7 @@ public:
*/
void set_single_line_mode(bool single_line_mode = true);
- /** Returns whether the label is in single line mode.
+ /** Return value: <tt>true</tt> when the label is in single line mode.
* @return <tt>true</tt> when the label is in single line mode.
*
* @newin2p6.
@@ -477,9 +492,9 @@ public:
bool get_single_line_mode() const;
-/**
+ /**
* @par Prototype:
- * <tt>void %populate_popup(Menu* menu)</tt>
+ * <tt>void on_my_%populate_popup(Menu* menu)</tt>
*/
Glib::SignalProxy1< void,Menu* > signal_populate_popup();
@@ -529,7 +544,7 @@ public:
#endif //#GLIBMM_PROPERTIES_ENABLED
#ifdef GLIBMM_PROPERTIES_ENABLED
-/** The text of the label includes XML markup. See pango_parse_markup.
+/** The text of the label includes XML markup. See pango_parse_markup().
*
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
@@ -539,7 +554,7 @@ public:
#endif //#GLIBMM_PROPERTIES_ENABLED
#ifdef GLIBMM_PROPERTIES_ENABLED
-/** The text of the label includes XML markup. See pango_parse_markup.
+/** The text of the label includes XML markup. See pango_parse_markup().
*
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
@@ -820,10 +835,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Label
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Label
*/
Gtk::Label* wrap(GtkLabel* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/layout.cc b/libs/gtkmm2/gtk/gtkmm/layout.cc
index ef96a49e85..2f6c67c719 100644
--- a/libs/gtkmm2/gtk/gtkmm/layout.cc
+++ b/libs/gtkmm2/gtk/gtkmm/layout.cc
@@ -53,8 +53,9 @@ namespace Gtk
Layout::Layout()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Container(Glib::ConstructParams(layout_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Container(Glib::ConstructParams(layout_class_.init()))
{
set_hadjustment();
set_vadjustment();
@@ -62,8 +63,9 @@ Layout::Layout()
Layout::Layout(Adjustment& hadjustment, Adjustment& vadjustment)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Container(Glib::ConstructParams(layout_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Container(Glib::ConstructParams(layout_class_.init()))
{
set_hadjustment(hadjustment);
set_vadjustment(vadjustment);
@@ -178,7 +180,7 @@ void Layout_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Layout_Class::set_scroll_adjustments_callback(GtkLayout* self, GtkAdjustment* p0, GtkAdjustment* p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -186,34 +188,37 @@ void Layout_Class::set_scroll_adjustments_callback(GtkLayout* self, GtkAdjustmen
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_set_scroll_adjustments(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_set_scroll_adjustments(Glib::wrap(p0)
, Glib::wrap(p1)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->set_scroll_adjustments)
- (*base->set_scroll_adjustments)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->set_scroll_adjustments)
+ (*base->set_scroll_adjustments)(self, p0, p1);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/gtk/gtkmm/layout.h b/libs/gtkmm2/gtk/gtkmm/layout.h
index 76dd9c2739..6bd95f9c79 100644
--- a/libs/gtkmm2/gtk/gtkmm/layout.h
+++ b/libs/gtkmm2/gtk/gtkmm/layout.h
@@ -220,9 +220,9 @@ public:
// See Gtk::Widget::set_scroll_adjustments()
-/**
+ /**
* @par Prototype:
- * <tt>void %set_scroll_adjustments(Adjustment* hadj, Adjustment* vadj)</tt>
+ * <tt>void on_my_%set_scroll_adjustments(Adjustment* hadj, Adjustment* vadj)</tt>
*/
Glib::SignalProxy2< void,Adjustment*,Adjustment* > signal_set_scroll_adjustments();
@@ -316,10 +316,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Layout
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Layout
*/
Gtk::Layout* wrap(GtkLayout* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/linkbutton.cc b/libs/gtkmm2/gtk/gtkmm/linkbutton.cc
index 6f24067e31..3d6b6341c6 100644
--- a/libs/gtkmm2/gtk/gtkmm/linkbutton.cc
+++ b/libs/gtkmm2/gtk/gtkmm/linkbutton.cc
@@ -28,9 +28,56 @@
#include <gtk/gtklinkbutton.h>
+
+static void SignalProxy_UriHook_gtk_callback(GtkLinkButton *button, const gchar *link, gpointer user_data)
+{
+ Gtk::LinkButton::SlotUri* the_slot = static_cast<Gtk::LinkButton::SlotUri*>(user_data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLE
+ // use Slot::operator()
+ (*the_slot)(Glib::wrap(button), Glib::convert_const_gchar_ptr_to_ustring(link));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLE
+}
+
+static void SignalProxy_UriHook_gtk_callback_destroy(void* data)
+{
+ delete static_cast<Gtk::LinkButton::SlotUri*>(data);
+}
+
+
namespace Gtk
{
+LinkButton::LinkButton(const Glib::ustring& uri)
+:
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Button(Glib::ConstructParams(linkbutton_class_.init(), "uri",uri.c_str(),"label",uri.c_str(), static_cast<char*>(0))) //Note that the uri is used for the label too, as in the C _new() function.
+{}
+
+void LinkButton::set_uri_hook(const SlotUri& slot)
+{
+ //Create a copy of the slot. A pointer to this will be passed through the callback's data parameter.
+ //It will be deleted when TreeView_Private::SignalProxy_CellData_gtk_callback_destroy() is called.
+ SlotUri* slot_copy = new SlotUri(slot);
+
+ gtk_link_button_set_uri_hook (&SignalProxy_UriHook_gtk_callback, slot_copy, &SignalProxy_UriHook_gtk_callback_destroy);
+}
+
+void LinkButton::unset_uri_hook()
+{
+ gtk_link_button_set_uri_hook (0, 0, 0);
+}
+
} // namespace Gtk
@@ -136,22 +183,17 @@ GType LinkButton::get_base_type()
LinkButton::LinkButton()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Button(Glib::ConstructParams(linkbutton_class_.init()))
{
}
-LinkButton::LinkButton(const Glib::ustring& uri)
-:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Button(Glib::ConstructParams(linkbutton_class_.init(), "uri", uri.c_str(), (char*) 0))
-{
- }
-
LinkButton::LinkButton(const Glib::ustring& uri, const Glib::ustring& label)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Button(Glib::ConstructParams(linkbutton_class_.init(), "uri", uri.c_str(), "label", label.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Button(Glib::ConstructParams(linkbutton_class_.init(), "uri", uri.c_str(), "label", label.c_str(), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/linkbutton.h b/libs/gtkmm2/gtk/gtkmm/linkbutton.h
index 093b60dfc1..31ae93cadf 100644
--- a/libs/gtkmm2/gtk/gtkmm/linkbutton.h
+++ b/libs/gtkmm2/gtk/gtkmm/linkbutton.h
@@ -41,7 +41,15 @@ namespace Gtk
namespace Gtk
{
-/** TODO
+/** Create buttons bound to a URL.
+ *
+ * A Gtk::LinkButton is a Gtk::Button with a hyperlink, similar to the one
+ * used by web browsers, which triggers an action when clicked. It is useful
+ * to show quick links to resources.
+ *
+ * The URI bound to a Gtk::LinkButton can be set specifically using set_uri(),
+ * and retrieved using get_uri().
+ * Gtk::LinkButton offers a global hook, which is called when the used clicks on it: see set_uri_hook().
*
* @newin2p10
* @ingroup Widgets
@@ -108,15 +116,47 @@ private:
public:
LinkButton();
explicit LinkButton(const Glib::ustring& uri);
+
explicit LinkButton(const Glib::ustring& uri, const Glib::ustring& label);
+ /** Retrieves the URI set using set_uri().
+ * @return A valid URI. The returned string is owned by the link button
+ * and should not be modified or freed.
+ *
+ * @newin2p10.
+ */
Glib::ustring get_uri() const;
+ /** Sets @a uri as the URI where the Gtk::LinkButton points.
+ *
+ * @newin2p10
+ * @param uri A valid URI.
+ */
void set_uri(const Glib::ustring& uri);
+ /** For instance,
+ * void on_linkbutton_uri(Gtk::LinkButton *button, const Glib::ustring& uri);
+ *
+ * @see set_uri_hook().
+ */
+ typedef sigc::slot<void, Gtk::LinkButton*, const Glib::ustring&> SlotUri;
+
+ /** Sets slot as the function that should be invoked every time a user clicks a LinkButton.
+ * This function is called before every signal handler registered for the "clicked" signal.
+ *
+ * @param slot A function called each time a LinkButton is clicked.
+ * @newin2p12
+ */
+ static void set_uri_hook(const SlotUri& slot);
+
+
+ /** Unsets any previously set slot as the function that should be invoked every time a user clicks a LinkButton.
+ * @see set_uri_hook().
+ * @newin2p12
+ */
+ static void unset_uri_hook();
- //TODO: GtkLinkButtonUriFunc gtk_link_button_set_uri_hook(GtkLinkButtonUriFunc func, gpointer data, GDestroyNotify destroy);
#ifdef GLIBMM_PROPERTIES_ENABLED
/** The URI bound to this button.
@@ -147,10 +187,13 @@ public:
namespace Glib
{
- /** @relates Gtk::LinkButton
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::LinkButton
*/
Gtk::LinkButton* wrap(GtkLinkButton* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/liststore.cc b/libs/gtkmm2/gtk/gtkmm/liststore.cc
index e79dbd3a02..2199c14be5 100644
--- a/libs/gtkmm2/gtk/gtkmm/liststore.cc
+++ b/libs/gtkmm2/gtk/gtkmm/liststore.cc
@@ -32,8 +32,9 @@ namespace Gtk
ListStore::ListStore(const TreeModelColumnRecord& columns)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Glib::Object(Glib::ConstructParams(liststore_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Glib::Object(Glib::ConstructParams(liststore_class_.init()))
{
gtk_list_store_set_column_types(gobj(), columns.size(), const_cast<GType*>(columns.types()));
}
@@ -246,7 +247,8 @@ GType ListStore::get_base_type()
ListStore::ListStore()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(liststore_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/liststore.h b/libs/gtkmm2/gtk/gtkmm/liststore.h
index b0065ea51a..c1f45a3327 100644
--- a/libs/gtkmm2/gtk/gtkmm/liststore.h
+++ b/libs/gtkmm2/gtk/gtkmm/liststore.h
@@ -240,10 +240,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::ListStore
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::ListStore
*/
Glib::RefPtr<Gtk::ListStore> wrap(GtkListStore* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/menu.cc b/libs/gtkmm2/gtk/gtkmm/menu.cc
index c8bd5b3e47..36f186375a 100644
--- a/libs/gtkmm2/gtk/gtkmm/menu.cc
+++ b/libs/gtkmm2/gtk/gtkmm/menu.cc
@@ -206,7 +206,8 @@ GType Menu::get_base_type()
Menu::Menu()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::MenuShell(Glib::ConstructParams(menu_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/menu.h b/libs/gtkmm2/gtk/gtkmm/menu.h
index a9f48ce3ee..0005b025fc 100644
--- a/libs/gtkmm2/gtk/gtkmm/menu.h
+++ b/libs/gtkmm2/gtk/gtkmm/menu.h
@@ -202,21 +202,22 @@ public:
void set_tearoff_state(bool torn_off = true);
- /** Returns whether the menu is torn off. See
- * set_tearoff_state().
+ /** Return value: <tt>true</tt> if the menu is currently torn off.
* @return <tt>true</tt> if the menu is currently torn off.
*/
bool get_tearoff_state() const;
/** Sets the title string for the menu. The title is displayed when the menu
- * is shown as a tearoff menu.
+ * is shown as a tearoff menu. If @a title is <tt>0</tt>, the menu will see if it is
+ * attached to a parent menu item, and if so it will try to use the same text as
+ * that menu item's label.
* @param title A string containing the title for the menu.
*/
void set_title(const Glib::ustring& title);
void unset_title();
- /** Returns the title of the menu. See set_title().
+ /** Return value: the title of the menu, or <tt>0</tt> if the menu has no
* @return The title of the menu, or <tt>0</tt> if the menu has no
* title set on it. This string is owned by the widget and should
* not be modified or freed.
@@ -313,10 +314,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::Menu
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Menu
*/
Gtk::Menu* wrap(GtkMenu* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/menubar.cc b/libs/gtkmm2/gtk/gtkmm/menubar.cc
index fc7e849af0..9df2739b9f 100644
--- a/libs/gtkmm2/gtk/gtkmm/menubar.cc
+++ b/libs/gtkmm2/gtk/gtkmm/menubar.cc
@@ -31,8 +31,9 @@ namespace Gtk
MenuBar::MenuBar()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::MenuShell(Glib::ConstructParams(menubar_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::MenuShell(Glib::ConstructParams(menubar_class_.init()))
{
// Connect to the signal instead of overriding the on_hierarchy_changed()
// method because invocation of C++ default signal handlers is skipped
diff --git a/libs/gtkmm2/gtk/gtkmm/menubar.h b/libs/gtkmm2/gtk/gtkmm/menubar.h
index c636a12e93..a091283830 100644
--- a/libs/gtkmm2/gtk/gtkmm/menubar.h
+++ b/libs/gtkmm2/gtk/gtkmm/menubar.h
@@ -124,10 +124,13 @@ private:
namespace Glib
{
- /** @relates Gtk::MenuBar
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::MenuBar
*/
Gtk::MenuBar* wrap(GtkMenuBar* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/menuitem.cc b/libs/gtkmm2/gtk/gtkmm/menuitem.cc
index 8a7892a6fa..24e6a16f66 100644
--- a/libs/gtkmm2/gtk/gtkmm/menuitem.cc
+++ b/libs/gtkmm2/gtk/gtkmm/menuitem.cc
@@ -45,16 +45,18 @@ namespace Gtk
MenuItem::MenuItem(Widget& widget)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Item(Glib::ConstructParams(menuitem_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Item(Glib::ConstructParams(menuitem_class_.init()))
{
add(widget);
}
MenuItem::MenuItem(const Glib::ustring& label, bool mnemonic)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Item(Glib::ConstructParams(menuitem_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Item(Glib::ConstructParams(menuitem_class_.init()))
{
add_accel_label(label, mnemonic); /* Left-aligned label */
}
@@ -140,7 +142,7 @@ static const Glib::SignalProxyInfo MenuItem_signal_activate_item_info =
};
-static void MenuItem_signal_toggle_size_request_callback(GtkMenuItem* self, int* p0,void* data)
+static void MenuItem_signal_toggle_size_request_callback(GtkMenuItem* self, gint* p0,void* data)
{
using namespace Gtk;
typedef sigc::slot< void,int* > SlotType;
@@ -153,7 +155,8 @@ static void MenuItem_signal_toggle_size_request_callback(GtkMenuItem* self, int*
{
#endif //GLIBMM_EXCEPTIONS_ENABLED
if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
- (*static_cast<SlotType*>(slot))(p0);
+ (*static_cast<SlotType*>(slot))(p0
+);
#ifdef GLIBMM_EXCEPTIONS_ENABLED
}
catch(...)
@@ -266,7 +269,7 @@ void MenuItem_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void MenuItem_Class::activate_callback(GtkMenuItem* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -274,36 +277,39 @@ void MenuItem_Class::activate_callback(GtkMenuItem* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_activate();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_activate();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->activate)
- (*base->activate)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->activate)
+ (*base->activate)(self);
}
void MenuItem_Class::activate_item_callback(GtkMenuItem* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -311,36 +317,39 @@ void MenuItem_Class::activate_item_callback(GtkMenuItem* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_activate_item();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_activate_item();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->activate_item)
- (*base->activate_item)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->activate_item)
+ (*base->activate_item)(self);
}
-void MenuItem_Class::toggle_size_request_callback(GtkMenuItem* self, int* p0)
+void MenuItem_Class::toggle_size_request_callback(GtkMenuItem* self, gint* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -348,36 +357,40 @@ void MenuItem_Class::toggle_size_request_callback(GtkMenuItem* self, int* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_toggle_size_request(p0);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_toggle_size_request(p0
+);
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->toggle_size_request)
- (*base->toggle_size_request)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->toggle_size_request)
+ (*base->toggle_size_request)(self, p0);
}
void MenuItem_Class::toggle_size_allocate_callback(GtkMenuItem* self, gint p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -385,33 +398,36 @@ void MenuItem_Class::toggle_size_allocate_callback(GtkMenuItem* self, gint p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_toggle_size_allocate(p0
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_toggle_size_allocate(p0
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->toggle_size_allocate)
- (*base->toggle_size_allocate)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->toggle_size_allocate)
+ (*base->toggle_size_allocate)(self, p0);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -457,7 +473,8 @@ GType MenuItem::get_base_type()
MenuItem::MenuItem()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Item(Glib::ConstructParams(menuitem_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/menuitem.h b/libs/gtkmm2/gtk/gtkmm/menuitem.h
index 1e5bb18c6a..1165c64b1a 100644
--- a/libs/gtkmm2/gtk/gtkmm/menuitem.h
+++ b/libs/gtkmm2/gtk/gtkmm/menuitem.h
@@ -128,6 +128,10 @@ public:
explicit MenuItem(const Glib::ustring& label, bool mnemonic = false);
+ /** Sets or replaces the menu item's submenu, or removes it when a <tt>0</tt>
+ * submenu is passed.
+ * @param submenu The submenu, or <tt>0</tt>.
+ */
void set_submenu(Menu& submenu);
/** Gets the submenu underneath this menu item, if any. See
@@ -144,6 +148,12 @@ public:
bool has_submenu() const;
+ /** Removes the widget's submenu.
+ *
+ * Deprecated: 2.12: remove_submenu() is deprecated and
+ * should not be used in newly written code. Use
+ * set_submenu() instead.
+ */
void remove_submenu();
void select();
@@ -194,33 +204,33 @@ public:
void unset_accel_path();
-/**
+ /**
* @par Prototype:
- * <tt>void %activate()</tt>
+ * <tt>void on_my_%activate()</tt>
*/
Glib::SignalProxy0< void > signal_activate();
-/**
+ /**
* @par Prototype:
- * <tt>void %activate_item()</tt>
+ * <tt>void on_my_%activate_item()</tt>
*/
Glib::SignalProxy0< void > signal_activate_item();
-/**
+ /**
* @par Prototype:
- * <tt>void %toggle_size_request(int* requisition)</tt>
+ * <tt>void on_my_%toggle_size_request(int* requisition)</tt>
*/
Glib::SignalProxy1< void,int* > signal_toggle_size_request();
-/**
+ /**
* @par Prototype:
- * <tt>void %toggle_size_allocate(int allocation)</tt>
+ * <tt>void on_my_%toggle_size_allocate(int allocation)</tt>
*/
Glib::SignalProxy1< void,int > signal_toggle_size_allocate();
@@ -249,10 +259,13 @@ private:
namespace Glib
{
- /** @relates Gtk::MenuItem
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::MenuItem
*/
Gtk::MenuItem* wrap(GtkMenuItem* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/menushell.cc b/libs/gtkmm2/gtk/gtkmm/menushell.cc
index 3eb5a103d5..127e0608ca 100644
--- a/libs/gtkmm2/gtk/gtkmm/menushell.cc
+++ b/libs/gtkmm2/gtk/gtkmm/menushell.cc
@@ -35,8 +35,9 @@ namespace Gtk
MenuShell::MenuShell()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Container(Glib::ConstructParams(menushell_class_.init(), (char*) 0)),
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Container(Glib::ConstructParams(menushell_class_.init())),
items_proxy_ (gobj()),
accel_window_ (0)
{}
@@ -227,6 +228,70 @@ static const Glib::SignalProxyInfo MenuShell_signal_selection_done_info =
};
+static gboolean MenuShell_signal_move_selected_callback(GtkMenuShell* self, gint p0,void* data)
+{
+ using namespace Gtk;
+ typedef sigc::slot< gboolean,int > SlotType;
+
+ // Do not try to call a signal on a disassociated wrapper.
+ if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
+ return (*static_cast<SlotType*>(slot))(p0
+);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+
+ typedef gboolean RType;
+ return RType();
+}
+
+static gboolean MenuShell_signal_move_selected_notify_callback(GtkMenuShell* self, gint p0, void* data)
+{
+ using namespace Gtk;
+ typedef sigc::slot< void,int > SlotType;
+
+ // Do not try to call a signal on a disassociated wrapper.
+ if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
+ (*static_cast<SlotType*>(slot))(p0
+);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+
+ typedef gboolean RType;
+ return RType();
+}
+
+static const Glib::SignalProxyInfo MenuShell_signal_move_selected_info =
+{
+ "move-selected",
+ (GCallback) &MenuShell_signal_move_selected_callback,
+ (GCallback) &MenuShell_signal_move_selected_notify_callback
+};
+
+
} // anonymous namespace
@@ -287,7 +352,7 @@ void MenuShell_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void MenuShell_Class::deactivate_callback(GtkMenuShell* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -295,36 +360,39 @@ void MenuShell_Class::deactivate_callback(GtkMenuShell* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_deactivate();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_deactivate();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->deactivate)
- (*base->deactivate)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->deactivate)
+ (*base->deactivate)(self);
}
void MenuShell_Class::selection_done_callback(GtkMenuShell* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -332,32 +400,35 @@ void MenuShell_Class::selection_done_callback(GtkMenuShell* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_selection_done();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_selection_done();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->selection_done)
- (*base->selection_done)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->selection_done)
+ (*base->selection_done)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -500,6 +571,12 @@ Glib::SignalProxy0< void > MenuShell::signal_selection_done()
}
+Glib::SignalProxy1< gboolean,int > MenuShell::signal_move_selected()
+{
+ return Glib::SignalProxy1< gboolean,int >(this, &MenuShell_signal_move_selected_info);
+}
+
+
#ifdef GLIBMM_PROPERTIES_ENABLED
Glib::PropertyProxy<bool> MenuShell::property_take_focus()
{
diff --git a/libs/gtkmm2/gtk/gtkmm/menushell.h b/libs/gtkmm2/gtk/gtkmm/menushell.h
index 8a69512bf6..5cfe56d45e 100644
--- a/libs/gtkmm2/gtk/gtkmm/menushell.h
+++ b/libs/gtkmm2/gtk/gtkmm/menushell.h
@@ -217,21 +217,29 @@ public:
void cancel();
-/**
+ /**
* @par Prototype:
- * <tt>void %deactivate()</tt>
+ * <tt>void on_my_%deactivate()</tt>
*/
Glib::SignalProxy0< void > signal_deactivate();
-/**
+ /**
* @par Prototype:
- * <tt>void %selection_done()</tt>
+ * <tt>void on_my_%selection_done()</tt>
*/
Glib::SignalProxy0< void > signal_selection_done();
+
+ /**
+ * @par Prototype:
+ * <tt>gboolean on_my_%move_selected(int distance)</tt>
+ */
+
+ Glib::SignalProxy1< gboolean,int > signal_move_selected();
+
//Keybinding signals:
@@ -277,7 +285,7 @@ public:
void accelerate(Widget& parent);
- /** Returns <tt>true</tt> if the menu shell will take the keyboard focus on popup.
+ /** Returns: <tt>true</tt> if the menu shell will take the keyboard focus on popup.
* @return <tt>true</tt> if the menu shell will take the keyboard focus on popup.
*
* @newin2p8.
@@ -354,10 +362,13 @@ private:
namespace Glib
{
- /** @relates Gtk::MenuShell
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::MenuShell
*/
Gtk::MenuShell* wrap(GtkMenuShell* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/menutoolbutton.cc b/libs/gtkmm2/gtk/gtkmm/menutoolbutton.cc
index 718dfdfb6a..76a1dbe59c 100644
--- a/libs/gtkmm2/gtk/gtkmm/menutoolbutton.cc
+++ b/libs/gtkmm2/gtk/gtkmm/menutoolbutton.cc
@@ -118,7 +118,7 @@ void MenuToolButton_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void MenuToolButton_Class::show_menu_callback(GtkMenuToolButton* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -126,32 +126,35 @@ void MenuToolButton_Class::show_menu_callback(GtkMenuToolButton* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_show_menu();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_show_menu();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->show_menu)
- (*base->show_menu)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->show_menu)
+ (*base->show_menu)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -197,15 +200,17 @@ GType MenuToolButton::get_base_type()
MenuToolButton::MenuToolButton()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::ToolButton(Glib::ConstructParams(menutoolbutton_class_.init()))
{
}
MenuToolButton::MenuToolButton(const Gtk::StockID& stock_id)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::ToolButton(Glib::ConstructParams(menutoolbutton_class_.init(), "stock_id", (stock_id).get_c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::ToolButton(Glib::ConstructParams(menutoolbutton_class_.init(), "stock_id", (stock_id).get_c_str(), static_cast<char*>(0)))
{
}
@@ -224,11 +229,25 @@ const Menu* MenuToolButton::get_menu() const
return const_cast<MenuToolButton*>(this)->get_menu();
}
+#ifndef GTKMM_DISABLE_DEPRECATED
+
void MenuToolButton::set_arrow_tooltip(Tooltips& tooltips, const Glib::ustring& tip_text, const Glib::ustring& tip_private)
{
gtk_menu_tool_button_set_arrow_tooltip(gobj(), (tooltips).gobj(), tip_text.c_str(), tip_private.c_str());
}
+#endif // GTKMM_DISABLE_DEPRECATED
+
+void MenuToolButton::set_arrow_tooltip_text(const Glib::ustring& text)
+{
+gtk_menu_tool_button_set_arrow_tooltip_text(gobj(), text.c_str());
+}
+
+void MenuToolButton::set_arrow_tooltip_markup(const Glib::ustring& markup)
+{
+gtk_menu_tool_button_set_arrow_tooltip_markup(gobj(), markup.c_str());
+}
+
Glib::SignalProxy0< void > MenuToolButton::signal_show_menu()
{
diff --git a/libs/gtkmm2/gtk/gtkmm/menutoolbutton.h b/libs/gtkmm2/gtk/gtkmm/menutoolbutton.h
index 94ecc13dd4..fd24506d5e 100644
--- a/libs/gtkmm2/gtk/gtkmm/menutoolbutton.h
+++ b/libs/gtkmm2/gtk/gtkmm/menutoolbutton.h
@@ -163,21 +163,47 @@ public:
const Menu* get_menu() const;
+#ifndef GTKMM_DISABLE_DEPRECATED
+
/** Sets the Gtk::Tooltips object to be used for arrow button which
* pops up the menu. See Gtk::ToolItem::set_tooltip() for setting
* a tooltip on the whole Gtk::MenuToolButton.
*
* @newin2p6
+ *
+ * Deprecated: 2.12: Use set_arrow_tooltip_text()
+ * instead.
+ * @deprecated Use set_arrow_tooltip_text() or set_arrow_tooltip_markup() instead
* @param tooltips The Gtk::Tooltips object to be used.
* @param tip_text Text to be used as tooltip text for tool_item.
* @param tip_private Text to be used as private tooltip text.
*/
void set_arrow_tooltip(Tooltips& tooltips, const Glib::ustring& tip_text, const Glib::ustring& tip_private);
+#endif // GTKMM_DISABLE_DEPRECATED
+
+ /** Sets the tooltip text to be used as tooltip for the arrow button which
+ * pops up the menu. See Gtk::ToolItem::set_tooltip() for setting a tooltip
+ * on the whole Gtk::MenuToolButton.
+ *
+ * @newin2p12
+ * @param text Text to be used as tooltip text for button's arrow button.
+ */
+ void set_arrow_tooltip_text(const Glib::ustring& text);
-/**
+ /** Sets the tooltip markup text to be used as tooltip for the arrow button
+ * which pops up the menu. See Gtk::ToolItem::set_tooltip() for setting a
+ * tooltip on the whole Gtk::MenuToolButton.
+ *
+ * @newin2p12
+ * @param markup Markup text to be used as tooltip text for button's arrow button.
+ */
+ void set_arrow_tooltip_markup(const Glib::ustring& markup);
+
+
+ /**
* @par Prototype:
- * <tt>void %show_menu()</tt>
+ * <tt>void on_my_%show_menu()</tt>
*/
Glib::SignalProxy0< void > signal_show_menu();
@@ -210,10 +236,13 @@ public:
namespace Glib
{
- /** @relates Gtk::MenuToolButton
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::MenuToolButton
*/
Gtk::MenuToolButton* wrap(GtkMenuToolButton* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/messagedialog.cc b/libs/gtkmm2/gtk/gtkmm/messagedialog.cc
index cb40c6a920..c4e415f795 100644
--- a/libs/gtkmm2/gtk/gtkmm/messagedialog.cc
+++ b/libs/gtkmm2/gtk/gtkmm/messagedialog.cc
@@ -38,8 +38,9 @@ MessageDialog::MessageDialog(const Glib::ustring& message, bool use_markup,
MessageType type, ButtonsType buttons,
bool modal)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Dialog(Glib::ConstructParams(messagedialog_class_.init(), "message_type",(GtkMessageType)type,"buttons",(GtkButtonsType)buttons, (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Dialog(Glib::ConstructParams(messagedialog_class_.init(), "message_type",(GtkMessageType)type,"buttons",(GtkButtonsType)buttons, static_cast<char*>(0)))
{
set_modal(modal);
set_message(message, use_markup);
@@ -49,8 +50,9 @@ MessageDialog::MessageDialog(Gtk::Window& parent, const Glib::ustring& message,
MessageType type, ButtonsType buttons,
bool modal)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Dialog(Glib::ConstructParams(messagedialog_class_.init(), "message_type",(GtkMessageType)type,"buttons",(GtkButtonsType)buttons, (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Dialog(Glib::ConstructParams(messagedialog_class_.init(), "message_type",(GtkMessageType)type,"buttons",(GtkButtonsType)buttons, static_cast<char*>(0)))
{
set_modal(modal);
set_transient_for(parent);
diff --git a/libs/gtkmm2/gtk/gtkmm/messagedialog.h b/libs/gtkmm2/gtk/gtkmm/messagedialog.h
index 154d24b942..dd7b1b44d6 100644
--- a/libs/gtkmm2/gtk/gtkmm/messagedialog.h
+++ b/libs/gtkmm2/gtk/gtkmm/messagedialog.h
@@ -187,6 +187,11 @@ public:
MessageDialog(Gtk::Window& parent, const Glib::ustring& message, bool use_markup = false, MessageType type = MESSAGE_INFO, ButtonsType buttons = BUTTONS_OK, bool modal = false);
+ /** Sets the dialog's image to @a image .
+ *
+ * @newin2p10
+ * @param image The image.
+ */
void set_image(Widget& image);
@@ -362,10 +367,13 @@ public:
namespace Glib
{
- /** @relates Gtk::MessageDialog
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::MessageDialog
*/
Gtk::MessageDialog* wrap(GtkMessageDialog* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/misc.cc b/libs/gtkmm2/gtk/gtkmm/misc.cc
index 0d8743510c..a0dcea971d 100644
--- a/libs/gtkmm2/gtk/gtkmm/misc.cc
+++ b/libs/gtkmm2/gtk/gtkmm/misc.cc
@@ -135,7 +135,8 @@ GType Misc::get_base_type()
Misc::Misc()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Widget(Glib::ConstructParams(misc_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/misc.h b/libs/gtkmm2/gtk/gtkmm/misc.h
index 2edfe51010..bab59813b6 100644
--- a/libs/gtkmm2/gtk/gtkmm/misc.h
+++ b/libs/gtkmm2/gtk/gtkmm/misc.h
@@ -120,8 +120,8 @@ public:
void set_alignment(AlignmentEnum xalign = Gtk::ALIGN_LEFT, AlignmentEnum yalign = Gtk::ALIGN_CENTER);
- /** Gets the X and Y alignment of the widget within its allocation. See
- * set_alignment().
+ /** Gets the X and Y alignment of the widget within its allocation.
+ * See set_alignment().
* @param xalign Location to store X alignment of @a misc , or <tt>0</tt>.
* @param yalign Location to store Y alignment of @a misc , or <tt>0</tt>.
*/
@@ -130,7 +130,8 @@ public:
void set_padding(int xpad, int ypad);
- /** Gets the padding in the X and Y directions of the widget. See set_padding().
+ /** Gets the padding in the X and Y directions of the widget.
+ * See set_padding().
* @param xpad Location to store padding in the X direction, or <tt>0</tt>.
* @param ypad Location to store padding in the Y direction, or <tt>0</tt>.
*/
@@ -224,10 +225,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Misc
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Misc
*/
Gtk::Misc* wrap(GtkMisc* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/notebook.cc b/libs/gtkmm2/gtk/gtkmm/notebook.cc
index 8ba16a6d38..a580f8e4e1 100644
--- a/libs/gtkmm2/gtk/gtkmm/notebook.cc
+++ b/libs/gtkmm2/gtk/gtkmm/notebook.cc
@@ -466,16 +466,11 @@ int Notebook::insert_page(Widget& child, int position)
return gtk_notebook_insert_page(gobj(), child.gobj(), 0 /* see GTK+ docs */, position);
}
- /** For instance,
- * Notebook* on_window_creation(Widget* page, int x, int y);
- */
- typedef sigc::slot<Widget*, int, int> SlotWindowCreation;
+typedef sigc::slot<Widget*, int, int> SlotWindowCreation;
void Notebook::set_window_creation_hook(const SlotWindowCreation& slot)
{
SlotWindowCreation* slot_copy = new SlotWindowCreation(slot);
- //TODO: GTK+ needs a destroy callback so we can delete the slot later.
- //See bug 344209
gtk_notebook_set_window_creation_hook(&SignalProxy_WindowCreation_gtk_callback, slot_copy, &SignalProxy_WindowCreation_gtk_callback_destroy);
}
@@ -681,7 +676,7 @@ void Notebook_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Notebook_Class::switch_page_callback(GtkNotebook* self, GtkNotebookPage* p0, guint p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -689,32 +684,35 @@ void Notebook_Class::switch_page_callback(GtkNotebook* self, GtkNotebookPage* p0
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_switch_page(p0, p1);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_switch_page(p0, p1);
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->switch_page)
- (*base->switch_page)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->switch_page)
+ (*base->switch_page)(self, p0, p1);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -760,7 +758,8 @@ GType Notebook::get_base_type()
Notebook::Notebook()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Container(Glib::ConstructParams(notebook_class_.init()))
{
}
@@ -800,16 +799,39 @@ void Notebook::remove_page(int page_num)
gtk_notebook_remove_page(gobj(), page_num);
}
+#ifndef GTKMM_DISABLE_DEPRECATED
+
void Notebook::set_group_id(int group_id)
{
gtk_notebook_set_group_id(gobj(), group_id);
}
+#endif // GTKMM_DISABLE_DEPRECATED
+
+#ifndef GTKMM_DISABLE_DEPRECATED
+
int Notebook::get_group_id() const
{
return gtk_notebook_get_group_id(const_cast<GtkNotebook*>(gobj()));
}
+#endif // GTKMM_DISABLE_DEPRECATED
+
+void Notebook::set_group(void* group)
+{
+gtk_notebook_set_group(gobj(), group);
+}
+
+void* Notebook::get_group()
+{
+ return gtk_notebook_get_group(gobj());
+}
+
+const void* Notebook::get_group() const
+{
+ return const_cast<Notebook*>(this)->get_group();
+}
+
int Notebook::get_current_page() const
{
return gtk_notebook_get_current_page(const_cast<GtkNotebook*>(gobj()));
@@ -825,16 +847,34 @@ const Widget* Notebook::get_nth_page(int page_num) const
return const_cast<Notebook*>(this)->get_nth_page(page_num);
}
+#ifndef GTKMM_DISABLE_DEPRECATED
+
int Notebook::get_n_pages()
{
return gtk_notebook_get_n_pages(gobj());
}
+#endif // GTKMM_DISABLE_DEPRECATED
+
+int Notebook::get_n_pages() const
+{
+ return gtk_notebook_get_n_pages(const_cast<GtkNotebook*>(gobj()));
+}
+
+#ifndef GTKMM_DISABLE_DEPRECATED
+
int Notebook::page_num(const Widget& child)
{
return gtk_notebook_page_num(gobj(), const_cast<GtkWidget*>((child).gobj()));
}
+#endif // GTKMM_DISABLE_DEPRECATED
+
+int Notebook::page_num(const Widget& child) const
+{
+ return gtk_notebook_page_num(const_cast<GtkNotebook*>(gobj()), const_cast<GtkWidget*>((child).gobj()));
+}
+
void Notebook::set_current_page(int page_num)
{
gtk_notebook_set_current_page(gobj(), page_num);
diff --git a/libs/gtkmm2/gtk/gtkmm/notebook.h b/libs/gtkmm2/gtk/gtkmm/notebook.h
index cb90d44ffc..5585be713e 100644
--- a/libs/gtkmm2/gtk/gtkmm/notebook.h
+++ b/libs/gtkmm2/gtk/gtkmm/notebook.h
@@ -479,52 +479,131 @@ public:
static void set_window_creation_hook(const SlotWindowCreation& slot);
+#ifndef GTKMM_DISABLE_DEPRECATED
+
+ /** Sets an group identificator for @a notebook , notebooks sharing
+ * the same group identificator will be able to exchange tabs
+ * via drag and drop. A notebook with group identificator -1 will
+ * not be able to exchange tabs with any other notebook.
+ *
+ * @newin2p10
+ * Deprecated:2.12: use set_group() instead.
+ * @param group_id A group identificator, or -1 to unset it.
+ */
void set_group_id(int group_id);
-
+#endif // GTKMM_DISABLE_DEPRECATED
+
+
+#ifndef GTKMM_DISABLE_DEPRECATED
+
+ /** Gets the current group identificator for @a notebook .
+ * @return The group identificator, or -1 if none is set.
+ *
+ * @newin2p10
+ * Deprecated:2.12: use get_group() instead.
+ */
int get_group_id() const;
+#endif // GTKMM_DISABLE_DEPRECATED
+
+
+ //TODO: Use something nicer than void*/gpointer?
+
+ /** Sets a group identificator pointer for @a notebook , notebooks sharing
+ * the same group identificator pointer will be able to exchange tabs
+ * via drag and drop. A notebook with a <tt>0</tt> group identificator will
+ * not be able to exchange tabs with any other notebook.
+ *
+ * @newin2p12
+ * @param group A pointer to identify the notebook group, or <tt>0</tt> to unset it.
+ */
+ void set_group(void* group);
+
+ /** Gets the current group identificator pointer for @a notebook .
+ * @return The group identificator, or <tt>0</tt> if none is set.
+ *
+ * @newin2p12.
+ */
+ void* get_group();
+
+ /** Gets the current group identificator pointer for @a notebook .
+ * @return The group identificator, or <tt>0</tt> if none is set.
+ *
+ * @newin2p12.
+ */
+ const void* get_group() const;
- /** Returns the page number of the current page.
+ /** Return value: the index (starting from 0) of the current
* @return The index (starting from 0) of the current
* page in the notebook. If the notebook has no pages, then
* -1 will be returned.
*/
int get_current_page() const;
- /** Returns the child widget contained in page number @a page_num .
- * @param page_num The index of a page in the noteobok, or -1
+ /** Return value: the child widget, or <tt>0</tt> if @a page_num is
+ * @param page_num The index of a page in the notebook, or -1
* to get the last page.
* @return The child widget, or <tt>0</tt> if @a page_num is
* out of bounds.
*/
Widget* get_nth_page(int page_num);
- /** Returns the child widget contained in page number @a page_num .
- * @param page_num The index of a page in the noteobok, or -1
+ /** Return value: the child widget, or <tt>0</tt> if @a page_num is
+ * @param page_num The index of a page in the notebook, or -1
* to get the last page.
* @return The child widget, or <tt>0</tt> if @a page_num is
* out of bounds.
*/
const Widget* get_nth_page(int page_num) const;
+#ifndef GTKMM_DISABLE_DEPRECATED
+
/** Gets the number of pages in a notebook.
+ * @deprecated Use the const method.
* @return The number of pages in the notebook.
*
* @newin2p2.
*/
int get_n_pages();
+#endif // GTKMM_DISABLE_DEPRECATED
+
+
+ /** Gets the number of pages in a notebook.
+ * @return The number of pages in the notebook.
+ *
+ * @newin2p2.
+ */
+ int get_n_pages() const;
/*Widget* get_current_page();*/ /*inconsistency with set_current_page*/
+#ifndef GTKMM_DISABLE_DEPRECATED
+
/** Finds the index of the page which contains the given child
* widget.
+ * @deprecated Use the const method.
* @param child A Gtk::Widget.
* @return The index of the page containing @a child , or
* -1 if @a child is not in the notebook.
*/
int page_num(const Widget& child);
+#endif // GTKMM_DISABLE_DEPRECATED
+
+
+ /** Finds the index of the page which contains the given child
+ * widget.
+ * @param child A Gtk::Widget.
+ * @return The index of the page containing @a child , or
+ * -1 if @a child is not in the notebook.
+ */
+ int page_num(const Widget& child) const;
- /** Switches to the page number @a page_num .
+ /** Switches to the page number @a page_num .
+ *
+ * Note that due to historical reasons, GtkNotebook refuses
+ * to switch to a page unless the child widget is visible.
+ * Therefore, it is recommended to show child widgets before
+ * adding them to a notebook.
* @param page_num Index of the page to switch to, starting from 0.
* If negative, the last page will be used. If greater
* than the number of pages in the notebook, nothing
@@ -551,8 +630,7 @@ public:
void set_show_border(bool show_border = true);
- /** Returns whether a bevel will be drawn around the notebook pages. See
- * set_show_border().
+ /** Return value: <tt>true</tt> if the bevel is drawn
* @return <tt>true</tt> if the bevel is drawn.
*/
bool get_show_border() const;
@@ -562,8 +640,7 @@ public:
*/
void set_show_tabs(bool show_tabs = true);
- /** Returns whether the tabs of the notebook are shown. See
- * set_show_tabs().
+ /** Return value: <tt>true</tt> if the tabs are shown
* @return <tt>true</tt> if the tabs are shown.
*/
bool get_show_tabs() const;
@@ -588,8 +665,7 @@ public:
*/
void set_scrollable(bool scrollable = true);
- /** Returns whether the tab label area has arrows for scrolling. See
- * set_scrollable().
+ /** Return value: <tt>true</tt> if arrows for scrolling are present
* @return <tt>true</tt> if arrows for scrolling are present.
*/
bool get_scrollable() const;
@@ -606,17 +682,13 @@ public:
void popup_disable();
- /** Returns the tab label widget for the page @a child . <tt>0</tt> is returned
- * if @a child is not in @a notebook or if no tab label has specifically
- * been set for @a child .
+ /** Return value: the tab label
* @param child The page.
* @return The tab label.
*/
Widget* get_tab_label(Widget& child);
- /** Returns the tab label widget for the page @a child . <tt>0</tt> is returned
- * if @a child is not in @a notebook or if no tab label has specifically
- * been set for @a child .
+ /** Return value: the tab label
* @param child The page.
* @return The tab label.
*/
@@ -701,12 +773,73 @@ public:
void reorder_child(Widget& child, int position);
+ /** Gets whether the tab can be reordered via drag and drop or not.
+ * @param child A child Gtk::Widget.
+ * @return <tt>true</tt> if the tab is reorderable.
+ *
+ * @newin2p10.
+ */
bool get_tab_reorderable(Widget& child) const;
+ /** Sets whether the notebook tab can be reordered
+ * via drag and drop or not.
+ *
+ * @newin2p10
+ * @param child A child Gtk::Widget.
+ * @param reorderable Whether the tab is reorderable or not.
+ */
void set_tab_reorderable(Widget& child, bool reorderable = true);
+ /** Return Value: <tt>true</tt> if the tab is detachable.
+ * @param child A child Gtk::Widget.
+ * @return <tt>true</tt> if the tab is detachable.
+ *
+ * @newin2p10.
+ */
bool get_tab_detachable(Widget& child) const;
+ /** Sets whether the tab can be detached from @a notebook to another
+ * notebook or widget.
+ *
+ * Note that 2 notebooks must share a common group identificator
+ * (see set_group_id()) to allow automatic tabs
+ * interchange between them.
+ *
+ * If you want a widget to interact with a notebook through DnD
+ * (i.e.: accept dragged tabs from it) it must be set as a drop
+ * destination and accept the target "GTK_NOTEBOOK_TAB". The notebook
+ * will fill the selection with a GtkWidget** pointing to the child
+ * widget that corresponds to the dropped tab.
+ *
+ * @code
+ * static void
+ * on_drop_zone_drag_data_received (GtkWidget *widget,
+ * GdkDragContext *context,
+ * <tt>int</tt> x,
+ * <tt>int</tt> y,
+ * GtkSelectionData *selection_data,
+ * <tt>unsigned int</tt> info,
+ * <tt>unsigned int</tt> time,
+ * gpointer user_data)
+ * {
+ * GtkWidget *notebook;
+ * GtkWidget **child;
+ *
+ * notebook = gtk_drag_get_source_widget (context);
+ * child = (void*) selection_data->data;
+ *
+ * process_widget (*child);
+ * gtk_container_remove (GTK_CONTAINER (notebook), *child);
+ * }
+ * @endcode
+ *
+ * If you want a notebook to accept drags from other widgets,
+ * you will have to set your own DnD code to do it.
+ *
+ * @newin2p10
+ * @param child A child Gtk::Widget.
+ * @param detachable Whether the tab is detachable or not.
+ */
void set_tab_detachable(Widget& child, bool detachable = true);
@@ -716,33 +849,33 @@ public:
const PageList& pages() const;
-/**
+ /**
* @par Prototype:
- * <tt>void %switch_page(GtkNotebookPage* page, guint page_num)</tt>
+ * <tt>void on_my_%switch_page(GtkNotebookPage* page, guint page_num)</tt>
*/
Glib::SignalProxy2< void,GtkNotebookPage*,guint > signal_switch_page();
-/**
+ /**
* @par Prototype:
- * <tt>void %page_reordered(Widget* page, guint page_num)</tt>
+ * <tt>void on_my_%page_reordered(Widget* page, guint page_num)</tt>
*/
Glib::SignalProxy2< void,Widget*,guint > signal_page_reordered();
-/**
+ /**
* @par Prototype:
- * <tt>void %page_removed(Widget* page, guint page_num)</tt>
+ * <tt>void on_my_%page_removed(Widget* page, guint page_num)</tt>
*/
Glib::SignalProxy2< void,Widget*,guint > signal_page_removed();
-/**
+ /**
* @par Prototype:
- * <tt>void %page_added(Widget* page, guint page_num)</tt>
+ * <tt>void on_my_%page_added(Widget* page, guint page_num)</tt>
*/
Glib::SignalProxy2< void,Widget*,guint > signal_page_added();
@@ -751,6 +884,9 @@ public:
//Key-binding signals:
+ //This doesn't seem generally useful:
+
+
#ifdef GLIBMM_PROPERTIES_ENABLED
/** Which side of the notebook holds the tabs.
*
@@ -980,10 +1116,13 @@ PageIterator::pointer PageIterator::operator->() const
namespace Glib
{
- /** @relates Gtk::Notebook
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Notebook
*/
Gtk::Notebook* wrap(GtkNotebook* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/object.h b/libs/gtkmm2/gtk/gtkmm/object.h
index 2f7f07c263..dfdee15908 100644
--- a/libs/gtkmm2/gtk/gtkmm/object.h
+++ b/libs/gtkmm2/gtk/gtkmm/object.h
@@ -200,10 +200,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::Object
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Object
*/
Gtk::Object* wrap(GtkObject* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/optionmenu.cc b/libs/gtkmm2/gtk/gtkmm/optionmenu.cc
index bf845e5833..4a9a5ea17e 100644
--- a/libs/gtkmm2/gtk/gtkmm/optionmenu.cc
+++ b/libs/gtkmm2/gtk/gtkmm/optionmenu.cc
@@ -38,8 +38,9 @@ namespace Gtk
OptionMenu::OptionMenu()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Button(Glib::ConstructParams(optionmenu_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Button(Glib::ConstructParams(optionmenu_class_.init()))
{
// Connect to the signal instead of overriding the on_hierarchy_changed()
// method because invocation of C++ default signal handlers is skipped
@@ -145,7 +146,7 @@ void OptionMenu_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void OptionMenu_Class::changed_callback(GtkOptionMenu* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -153,32 +154,35 @@ void OptionMenu_Class::changed_callback(GtkOptionMenu* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->changed)
- (*base->changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->changed)
+ (*base->changed)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/gtk/gtkmm/optionmenu.h b/libs/gtkmm2/gtk/gtkmm/optionmenu.h
index bd88612a02..ea6f27d2cd 100644
--- a/libs/gtkmm2/gtk/gtkmm/optionmenu.h
+++ b/libs/gtkmm2/gtk/gtkmm/optionmenu.h
@@ -3,6 +3,8 @@
#ifndef _GTKMM_OPTIONMENU_H
#define _GTKMM_OPTIONMENU_H
+#include <gtkmmconfig.h>
+
#ifndef GTKMM_DISABLE_DEPRECATED
@@ -29,6 +31,10 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+
+
#include <gtkmm/button.h>
@@ -131,16 +137,16 @@ public:
/** Retrieves the index of the currently selected menu item. The menu
* items are numbered from top to bottom, starting with 0.
* @return Index of the selected menu item, or -1 if there are no menu items
- * Deprecated: Use Gtk::ComboBox instead.
+ * Deprecated: 2.4: Use Gtk::ComboBox instead.
*/
int get_history() const;
void set_history(guint index);
-/**
+ /**
* @par Prototype:
- * <tt>void %changed()</tt>
+ * <tt>void on_my_%changed()</tt>
*/
Glib::SignalProxy0< void > signal_changed();
@@ -157,10 +163,13 @@ private:
namespace Glib
{
- /** @relates Gtk::OptionMenu
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::OptionMenu
*/
Gtk::OptionMenu* wrap(GtkOptionMenu* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/pagesetup.cc b/libs/gtkmm2/gtk/gtkmm/pagesetup.cc
index 1fd7f16493..66d05be03e 100644
--- a/libs/gtkmm2/gtk/gtkmm/pagesetup.cc
+++ b/libs/gtkmm2/gtk/gtkmm/pagesetup.cc
@@ -24,6 +24,16 @@
#include <gtk/gtkpagesetup.h>
#include <gtk/gtktypebuiltins.h>
+namespace Gtk
+{
+
+void PageSetup::save_to_key_file(Glib::KeyFile& key_file)
+{
+ gtk_page_setup_to_key_file(gobj(), (key_file).gobj(), 0);
+}
+
+} //namespace
+
namespace
{
} // anonymous namespace
@@ -129,7 +139,8 @@ GType PageSetup::get_base_type()
PageSetup::PageSetup()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(pagesetup_class_.init()))
{
}
@@ -228,6 +239,31 @@ double PageSetup::get_page_height(Unit unit) const
return gtk_page_setup_get_page_height(const_cast<GtkPageSetup*>(gobj()), ((GtkUnit)(unit)));
}
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+bool PageSetup::save_to_file(const std::string& file_name) const
+#else
+bool PageSetup::save_to_file(const std::string& file_name, std::auto_ptr<Glib::Error>& error) const
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ bool retvalue = gtk_page_setup_to_file(const_cast<GtkPageSetup*>(gobj()), file_name.c_str(), &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+
+}
+
+void PageSetup::save_to_key_file(Glib::KeyFile& key_file, const Glib::ustring& group_name)
+{
+gtk_page_setup_to_key_file(gobj(), (key_file).gobj(), group_name.c_str());
+}
+
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/gtk/gtkmm/pagesetup.h b/libs/gtkmm2/gtk/gtkmm/pagesetup.h
index 5ff810ca76..e4e1a8c05f 100644
--- a/libs/gtkmm2/gtk/gtkmm/pagesetup.h
+++ b/libs/gtkmm2/gtk/gtkmm/pagesetup.h
@@ -102,55 +102,200 @@ private:
protected:
PageSetup();
+#if 0 //TODO: Reimplement, or add _construct_from_* functions in GTK+. See bug #475565 .
+GtkPageSetup *gtk_page_setup_new_from_file (const gchar *file_name,
+ GError **error);
+GtkPageSetup *gtk_page_setup_new_from_key_file (GKeyFile *key_file,
+ const gchar *group_name,
+ GError **error);
+#endif
+
public:
static Glib::RefPtr<PageSetup> create();
+ /** Gets the page orientation of the Gtk::PageSetup.
+ * @return The page orientation
+ *
+ * @newin2p10.
+ */
PageOrientation get_orientation() const;
+ /** Sets the page orientation of the Gtk::PageSetup.
+ *
+ * @newin2p10
+ * @param orientation A Gtk::PageOrientation value.
+ */
void set_orientation(PageOrientation orientation);
+ /** Gets the paper size of the Gtk::PageSetup.
+ * @return The paper size
+ *
+ * @newin2p10.
+ */
PaperSize get_paper_size();
+ /** Gets the paper size of the Gtk::PageSetup.
+ * @return The paper size
+ *
+ * @newin2p10.
+ */
const PaperSize get_paper_size() const;
+ /** Sets the paper size of the Gtk::PageSetup without
+ * changing the margins. See
+ * gtk_page_setup_set_paper_size_and_default_margins().
+ *
+ * @newin2p10
+ * @param size A Gtk::PaperSize.
+ */
void set_paper_size(const PaperSize& paper_size);
+ /** Gets the top margin in units of @a unit .
+ * @param unit The unit for the return value.
+ * @return The top margin
+ *
+ * @newin2p10.
+ */
double get_top_margin(Unit unit) const;
+ /** Sets the top margin of the Gtk::PageSetup.
+ *
+ * @newin2p10
+ * @param margin The new top margin in units of @a unit .
+ * @param unit The units for @a margin .
+ */
void set_top_margin(double margin, Unit unit);
+ /** Gets the bottom margin in units of @a unit .
+ * @param unit The unit for the return value.
+ * @return The bottom margin
+ *
+ * @newin2p10.
+ */
double get_bottom_margin(Unit unit) const;
+ /** Sets the bottom margin of the Gtk::PageSetup.
+ *
+ * @newin2p10
+ * @param margin The new bottom margin in units of @a unit .
+ * @param unit The units for @a margin .
+ */
void set_bottom_margin(double margin, Unit unit);
+ /** Gets the left margin in units of @a unit .
+ * @param unit The unit for the return value.
+ * @return The left margin
+ *
+ * @newin2p10.
+ */
double get_left_margin(Unit unit) const;
+ /** Sets the left margin of the Gtk::PageSetup.
+ *
+ * @newin2p10
+ * @param margin The new left margin in units of @a unit .
+ * @param unit The units for @a margin .
+ */
void set_left_margin(double margin, Unit unit);
+ /** Gets the right margin in units of @a unit .
+ * @param unit The unit for the return value.
+ * @return The right margin
+ *
+ * @newin2p10.
+ */
double get_right_margin(Unit unit) const;
+ /** Sets the right margin of the Gtk::PageSetup.
+ *
+ * @newin2p10
+ * @param margin The new right margin in units of @a unit .
+ * @param unit The units for @a margin .
+ */
void set_right_margin(double margin, Unit unit);
+ /** Sets the paper size of the Gtk::PageSetup and modifies
+ * the margins according to the new paper size.
+ *
+ * @newin2p10
+ * @param size A Gtk::PaperSize.
+ */
void set_paper_size_and_default_margins(const PaperSize& paper_size);
+ /** Return value: the paper width.
+ * @param unit The unit for the return value.
+ * @return The paper width.
+ *
+ * @newin2p10.
+ */
double get_paper_width(Unit unit) const;
+ /** Return value: the paper height.
+ * @param unit The unit for the return value.
+ * @return The paper height.
+ *
+ * @newin2p10.
+ */
double get_paper_height(Unit unit) const;
+ /** Return value: the page width.
+ * @param unit The unit for the return value.
+ * @return The page width.
+ *
+ * @newin2p10.
+ */
double get_page_width(Unit unit) const;
+ /** Return value: the page height.
+ * @param unit The unit for the return value.
+ * @return The page height.
+ *
+ * @newin2p10.
+ */
double get_page_height(Unit unit) const;
+ //The save_ prefix was added to these functions to make them clearer. GTK+ didn't want to change them.
+
+ /** This function saves the information from @a setup to @a file_name .
+ * @a throws Glib::FileError
+ * @param file_name The file to save to.
+ * @return <tt>true</tt> on success
+ *
+ * @newin2p12.
+ */
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ bool save_to_file(const std::string& file_name) const;
+#else
+ bool save_to_file(const std::string& file_name, std::auto_ptr<Glib::Error>& error) const;
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+
+ /** This function adds the page setup from @a setup to @a key_file .
+ *
+ * @newin2p12
+ * @param key_file The Glib::KeyFile to save the page setup to.
+ * @param group_name The group to add the settings to in @a key_file .
+ */
+ void save_to_key_file(Glib::KeyFile& key_file, const Glib::ustring& group_name);
+
+ /** This function adds the page setup from @a setup to @a key_file,
+ * in the group "Page Setup"
+ *
+ * @newin2p12
+ * @param key_file The G::KeyFile to save the page setup to.
+ */
+ void save_to_key_file(Glib::KeyFile& key_file);
+
public:
@@ -176,10 +321,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::PageSetup
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::PageSetup
*/
Glib::RefPtr<Gtk::PageSetup> wrap(GtkPageSetup* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/pagesetupunixdialog.cc b/libs/gtkmm2/gtk/gtkmm/pagesetupunixdialog.cc
index 0c37d00aab..170ab9b2c8 100644
--- a/libs/gtkmm2/gtk/gtkmm/pagesetupunixdialog.cc
+++ b/libs/gtkmm2/gtk/gtkmm/pagesetupunixdialog.cc
@@ -29,16 +29,18 @@ namespace Gtk
PageSetupUnixDialog::PageSetupUnixDialog(Gtk::Window& parent, const Glib::ustring& title)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Dialog(Glib::ConstructParams(pagesetupunixdialog_class_.init(), "title",title.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Dialog(Glib::ConstructParams(pagesetupunixdialog_class_.init(), "title",title.c_str(), static_cast<char*>(0)))
{
set_transient_for(parent);
}
PageSetupUnixDialog::PageSetupUnixDialog(const Glib::ustring& title)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Dialog(Glib::ConstructParams(pagesetupunixdialog_class_.init(), "title",title.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Dialog(Glib::ConstructParams(pagesetupunixdialog_class_.init(), "title",title.c_str(), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/pagesetupunixdialog.h b/libs/gtkmm2/gtk/gtkmm/pagesetupunixdialog.h
index 3177c56517..5c82ad7c6f 100644
--- a/libs/gtkmm2/gtk/gtkmm/pagesetupunixdialog.h
+++ b/libs/gtkmm2/gtk/gtkmm/pagesetupunixdialog.h
@@ -118,17 +118,49 @@ public:
explicit PageSetupUnixDialog(const Glib::ustring& title);
+ /** Sets the Gtk::PageSetup from which the page setup
+ * dialog takes its values.
+ *
+ * @newin2p10
+ * @param page_setup A Gtk::PageSetup.
+ */
void set_page_setup(const Glib::RefPtr<PageSetup>& page_setup);
+ /** Gets the currently selected page setup from the dialog.
+ * @return The current page setup
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<PageSetup> get_page_setup();
+ /** Gets the currently selected page setup from the dialog.
+ * @return The current page setup
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<const PageSetup> get_page_setup() const;
+ /** Sets the Gtk::PrintSettings from which the page setup dialog
+ * takes its values.
+ *
+ * @newin2p10
+ * @param print_settings A Gtk::PrintSettings.
+ */
void set_print_settings(const Glib::RefPtr<PrintSettings>& print_settings);
+ /** Gets the current print settings from the dialog.
+ * @return The current print settings
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<PrintSettings> get_print_settings();
+ /** Gets the current print settings from the dialog.
+ * @return The current print settings
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<const PrintSettings> get_print_settings() const;
@@ -139,10 +171,13 @@ public:
namespace Glib
{
- /** @relates Gtk::PageSetupUnixDialog
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::PageSetupUnixDialog
*/
Gtk::PageSetupUnixDialog* wrap(GtkPageSetupUnixDialog* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/paned.cc b/libs/gtkmm2/gtk/gtkmm/paned.cc
index 94a884ce16..8b323ac5bf 100644
--- a/libs/gtkmm2/gtk/gtkmm/paned.cc
+++ b/libs/gtkmm2/gtk/gtkmm/paned.cc
@@ -153,7 +153,8 @@ GType Paned::get_base_type()
Paned::Paned()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Container(Glib::ConstructParams(paned_class_.init()))
{
}
@@ -357,7 +358,8 @@ GType HPaned::get_base_type()
HPaned::HPaned()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Paned(Glib::ConstructParams(hpaned_class_.init()))
{
}
@@ -468,7 +470,8 @@ GType VPaned::get_base_type()
VPaned::VPaned()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Paned(Glib::ConstructParams(vpaned_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/paned.h b/libs/gtkmm2/gtk/gtkmm/paned.h
index 45298ae9b5..75c30fb3a8 100644
--- a/libs/gtkmm2/gtk/gtkmm/paned.h
+++ b/libs/gtkmm2/gtk/gtkmm/paned.h
@@ -419,10 +419,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Paned
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Paned
*/
Gtk::Paned* wrap(GtkPaned* object, bool take_copy = false);
} //namespace Glib
@@ -430,10 +433,13 @@ namespace Glib
namespace Glib
{
- /** @relates Gtk::HPaned
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::HPaned
*/
Gtk::HPaned* wrap(GtkHPaned* object, bool take_copy = false);
} //namespace Glib
@@ -441,10 +447,13 @@ namespace Glib
namespace Glib
{
- /** @relates Gtk::VPaned
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::VPaned
*/
Gtk::VPaned* wrap(GtkVPaned* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/papersize.cc b/libs/gtkmm2/gtk/gtkmm/papersize.cc
index 68606cfdce..6f23559537 100644
--- a/libs/gtkmm2/gtk/gtkmm/papersize.cc
+++ b/libs/gtkmm2/gtk/gtkmm/papersize.cc
@@ -54,12 +54,29 @@ PaperSize::PaperSize(const Glib::ustring& name, const Glib::ustring& display_nam
GtkUnit(unit)))
{}
+//TODO: Add an operator bool() so we can detect if this succeeded:
+PaperSize::PaperSize(const Glib::KeyFile& key_file, const Glib::ustring& group_name)
+:
+ gobject_(gtk_paper_size_new_from_key_file(const_cast<GKeyFile*>(key_file.gobj()), (group_name.empty() ? NULL : group_name.c_str()) , NULL /* GError */))
+{}
+
bool PaperSize::equal(const PaperSize& other) const
{
return (static_cast<bool>(gtk_paper_size_is_equal(const_cast<GtkPaperSize*>(this->gobj()),
const_cast<GtkPaperSize*>(other.gobj()))));
}
+PaperSize::operator bool() const
+{
+ return (gobj() != NULL);
+}
+
+void PaperSize::save_to_key_file(Glib::KeyFile& key_file)
+{
+ gtk_paper_size_to_key_file( gobj(), (key_file).gobj(), 0);
+}
+
+
} // namespace Gtk
namespace
@@ -199,6 +216,12 @@ Glib::ustring PaperSize::get_default()
}
+void PaperSize::save_to_key_file(Glib::KeyFile& key_file, const Glib::ustring& group_name)
+{
+gtk_paper_size_to_key_file(gobj(), (key_file).gobj(), group_name.c_str());
+}
+
+
} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/gtkmm/papersize.h b/libs/gtkmm2/gtk/gtkmm/papersize.h
index d1e38bf18f..a965ddbf9d 100644
--- a/libs/gtkmm2/gtk/gtkmm/papersize.h
+++ b/libs/gtkmm2/gtk/gtkmm/papersize.h
@@ -132,37 +132,135 @@ public:
explicit PaperSize(const Glib::ustring& ppd_name, const Glib::ustring& ppd_display_name, double width, double height);
explicit PaperSize(const Glib::ustring& name, const Glib::ustring& display_name, double width, double height, Unit unit);
+ explicit PaperSize(const Glib::KeyFile& key_file, const Glib::ustring& group_name = Glib::ustring());
+
bool equal(const PaperSize& other) const;
+ /** Returns true if the PaperSize is a valid object.
+ * @newin2p12
+ */
+ operator bool() const;
+
+ //TODO: Check this conversion and type:
+
+
+ //TODO: _WRAP_METHOD(static Glib::ListHandle<PaperSize> get_paper_sizes(bool include_custom = true) const, gtk_paper_size_get_paper_sizes)
+
+ /** Gets the name of the Gtk::PaperSize.
+ * @return The name of @a size
+ *
+ * @newin2p10.
+ */
Glib::ustring get_name() const;
+ /** Gets the human-readable name of the Gtk::PaperSize.
+ * @return The human-readable name of @a size
+ *
+ * @newin2p10.
+ */
Glib::ustring get_display_name() const;
+ /** Gets the PPD name of the Gtk::PaperSize, which
+ * may be <tt>0</tt>.
+ * @return The PPD name of @a size
+ *
+ * @newin2p10.
+ */
Glib::ustring get_ppd_name() const;
+ /** Gets the paper width of the Gtk::PaperSize, in
+ * units of @a unit .
+ * @param unit The unit for the return value.
+ * @return The paper width
+ *
+ * @newin2p10.
+ */
double get_width(Unit unit) const;
+ /** Gets the paper height of the Gtk::PaperSize, in
+ * units of @a unit .
+ * @param unit The unit for the return value.
+ * @return The paper height
+ *
+ * @newin2p10.
+ */
double get_height(Unit unit) const;
+ /** Return value: whether @a size is a custom paper size.
+ * @return Whether @a size is a custom paper size.
+ */
bool is_custom() const;
+ /** Changes the dimensions of a @a size to @a width x @a height .
+ *
+ * @newin2p10
+ * @param width The new width in units of @a unit .
+ * @param height The new height in units of @a unit .
+ * @param unit The unit for @a width and @a height .
+ */
void set_size(double width, double height, Unit unit);
+ /** Gets the default top margin for the Gtk::PaperSize.
+ * @param unit The unit for the return value.
+ * @return The default top margin
+ *
+ * @newin2p10.
+ */
double get_default_top_margin(Unit unit) const;
+ /** Gets the default bottom margin for the Gtk::PaperSize.
+ * @param unit The unit for the return value.
+ * @return The default bottom margin
+ *
+ * @newin2p10.
+ */
double get_default_bottom_margin(Unit unit) const;
+ /** Gets the default left margin for the Gtk::PaperSize.
+ * @param unit The unit for the return value.
+ * @return The default left margin
+ *
+ * @newin2p10.
+ */
double get_default_left_margin(Unit unit) const;
+ /** Gets the default right margin for the Gtk::PaperSize.
+ * @param unit The unit for the return value.
+ * @return The default right margin
+ *
+ * @newin2p10.
+ */
double get_default_right_margin(Unit unit) const;
+ /** Return value: the name of the default paper size. The string
+ * @return The name of the default paper size. The string
+ * is owned by GTK+ and should not be modified.
+ *
+ * @newin2p10.
+ */
static Glib::ustring get_default();
+
+ /** This function adds the paper size from @a size to @a key_file .
+ *
+ * @newin2p12
+ * @param key_file The G::KeyFile to save the paper size to.
+ * @param group_name The group to add the settings to in @a key_file .
+ */
+ void save_to_key_file(Glib::KeyFile& key_file, const Glib::ustring& group_name);
+
+ /** This function adds the paper size to @a key_file in the first group.
+ *
+ * @newin2p12
+ * @param key_file The Glib::KeyFile to save the paper size to.
+ */
+ void save_to_key_file(Glib::KeyFile& key_file);
+
};
@@ -192,10 +290,13 @@ inline void swap(PaperSize& lhs, PaperSize& rhs)
namespace Glib
{
-/** @relates Gtk::PaperSize
- * @param object The C instance
+/** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::PaperSize
*/
Gtk::PaperSize wrap(GtkPaperSize* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gtk/gtkmm/plug.cc b/libs/gtkmm2/gtk/gtkmm/plug.cc
index c11c8df831..bf602c9e0e 100644
--- a/libs/gtkmm2/gtk/gtkmm/plug.cc
+++ b/libs/gtkmm2/gtk/gtkmm/plug.cc
@@ -33,24 +33,27 @@ namespace Gtk
Plug::Plug()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Window(Glib::ConstructParams(plug_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Window(Glib::ConstructParams(plug_class_.init()))
{
gtk_plug_construct(gobj(), 0);
}
Plug::Plug(GdkNativeWindow socket_id)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Window(Glib::ConstructParams(plug_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Window(Glib::ConstructParams(plug_class_.init()))
{
gtk_plug_construct(gobj(), socket_id);
}
Plug::Plug(const Glib::RefPtr<Gdk::Display>& display, GdkNativeWindow socket_id)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Window(Glib::ConstructParams(plug_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Window(Glib::ConstructParams(plug_class_.init()))
{
gtk_plug_construct_for_display(gobj(), Glib::unwrap(display), socket_id);
}
@@ -128,7 +131,7 @@ void Plug_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Plug_Class::embedded_callback(GtkPlug* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -136,32 +139,35 @@ void Plug_Class::embedded_callback(GtkPlug* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_embedded();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_embedded();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->embedded)
- (*base->embedded)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->embedded)
+ (*base->embedded)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/gtk/gtkmm/plug.h b/libs/gtkmm2/gtk/gtkmm/plug.h
index 7877848e10..1cb54462a7 100644
--- a/libs/gtkmm2/gtk/gtkmm/plug.h
+++ b/libs/gtkmm2/gtk/gtkmm/plug.h
@@ -118,9 +118,9 @@ public:
GdkNativeWindow get_id() const;
-/**
+ /**
* @par Prototype:
- * <tt>void %embedded()</tt>
+ * <tt>void on_my_%embedded()</tt>
*/
Glib::SignalProxy0< void > signal_embedded();
@@ -133,10 +133,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Plug
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Plug
*/
Gtk::Plug* wrap(GtkPlug* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/printcontext.h b/libs/gtkmm2/gtk/gtkmm/printcontext.h
index 662a86b3f2..c36d93c4ba 100644
--- a/libs/gtkmm2/gtk/gtkmm/printcontext.h
+++ b/libs/gtkmm2/gtk/gtkmm/printcontext.h
@@ -107,36 +107,116 @@ private:
public:
+ /** Obtains the cairo context that is associated with the
+ * Gtk::PrintContext.
+ * @return The cairo context of @a context
+ *
+ * @newin2p10.
+ */
Cairo::RefPtr<Cairo::Context> get_cairo_context();
+ /** Obtains the cairo context that is associated with the
+ * Gtk::PrintContext.
+ * @return The cairo context of @a context
+ *
+ * @newin2p10.
+ */
Cairo::RefPtr<const Cairo::Context> get_cairo_context() const;
+ /** Obtains the Gtk::PageSetup that determines the page
+ * dimensions of the Gtk::PrintContext.
+ * @return The page setup of @a context
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<PageSetup> get_page_setup();
+ /** Obtains the Gtk::PageSetup that determines the page
+ * dimensions of the Gtk::PrintContext.
+ * @return The page setup of @a context
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<const PageSetup> get_page_setup() const;
+ /** Obtains the width of the Gtk::PrintContext, in pixels.
+ * @return The width of @a context
+ *
+ * @newin2p10.
+ */
double get_width() const;
+ /** Obtains the height of the Gtk::PrintContext, in pixels.
+ * @return The height of @a context
+ *
+ * @newin2p10.
+ */
double get_height() const;
+ /** Obtains the horizontal resolution of the Gtk::PrintContext,
+ * in dots per inch.
+ * @return The horizontal resolution of @a context
+ *
+ * @newin2p10.
+ */
double get_dpi_x() const;
+ /** Obtains the vertical resolution of the Gtk::PrintContext,
+ * in dots per inch.
+ * @return The vertical resolution of @a context
+ *
+ * @newin2p10.
+ */
double get_dpi_y() const;
+ /** Return value: the font map of @a context
+ * @return The font map of @a context
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<Pango::FontMap> get_pango_fontmap();
+ /** Return value: the font map of @a context
+ * @return The font map of @a context
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<const Pango::FontMap> get_pango_fontmap() const;
+ /** Creates a new Pango::Context that can be used with the
+ * Gtk::PrintContext.
+ * @return A new Pango context for @a context
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<Pango::Context> create_pango_context();
+ /** Creates a new Pango::Layout that is suitable for use
+ * with the Gtk::PrintContext.
+ * @return A new Pango layout for @a context
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<Pango::Layout> create_pango_layout();
+ /** Sets a new cairo context on a print context.
+ *
+ * This function is intended to be used when implementing
+ * an internal print preview, it is not needed for printing,
+ * since GTK+ itself creates a suitable cairo context in that
+ * case.
+ *
+ * @newin2p10
+ * @param cr The cairo context.
+ * @param dpi_x The horizontal resolution to use with @a cr .
+ * @param dpi_y The vertical resolution to use with @a cr .
+ */
void set_cairo_context(const Cairo::RefPtr<Cairo::Context>& cr, double dpi_x, double dpi_y);
@@ -164,10 +244,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::PrintContext
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::PrintContext
*/
Glib::RefPtr<Gtk::PrintContext> wrap(GtkPrintContext* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/printer.cc b/libs/gtkmm2/gtk/gtkmm/printer.cc
index b9f049c9b3..4c1d9bf28a 100644
--- a/libs/gtkmm2/gtk/gtkmm/printer.cc
+++ b/libs/gtkmm2/gtk/gtkmm/printer.cc
@@ -115,6 +115,12 @@ static const Glib::SignalProxyInfo Printer_signal_details_acquired_info =
} // anonymous namespace
+// static
+GType Glib::Value<Gtk::PrintCapabilities>::value_type()
+{
+ return gtk_print_capabilities_get_type();
+}
+
namespace Glib
{
@@ -173,7 +179,7 @@ void Printer_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Printer_Class::details_acquired_callback(GtkPrinter* self, gboolean p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -181,33 +187,36 @@ void Printer_Class::details_acquired_callback(GtkPrinter* self, gboolean p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_details_acquired(p0
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_details_acquired(p0
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->details_acquired)
- (*base->details_acquired)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->details_acquired)
+ (*base->details_acquired)(self, p0);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -308,6 +317,31 @@ bool Printer::accepts_ps() const
return gtk_printer_accepts_ps(const_cast<GtkPrinter*>(gobj()));
}
+Glib::ListHandle< Glib::RefPtr<PageSetup> > Printer::list_papers()
+{
+ return Glib::ListHandle< Glib::RefPtr<PageSetup> >(gtk_printer_list_papers(gobj()), Glib::OWNERSHIP_DEEP);
+}
+
+Glib::ListHandle< Glib::RefPtr<const PageSetup> > Printer::list_papers() const
+{
+ return Glib::ListHandle< Glib::RefPtr<const PageSetup> >(gtk_printer_list_papers(const_cast<GtkPrinter*>(gobj())), Glib::OWNERSHIP_DEEP);
+}
+
+bool Printer::has_details() const
+{
+ return gtk_printer_has_details(const_cast<GtkPrinter*>(gobj()));
+}
+
+void Printer::request_details()
+{
+gtk_printer_request_details(gobj());
+}
+
+PrintCapabilities Printer::get_capabilities() const
+{
+ return (PrintCapabilities)gtk_printer_get_capabilities(const_cast<GtkPrinter*>(gobj()));
+}
+
Glib::SignalProxy1< void,bool > Printer::signal_details_acquired()
{
diff --git a/libs/gtkmm2/gtk/gtkmm/printer.h b/libs/gtkmm2/gtk/gtkmm/printer.h
index 1ca588d020..0c696ccf81 100644
--- a/libs/gtkmm2/gtk/gtkmm/printer.h
+++ b/libs/gtkmm2/gtk/gtkmm/printer.h
@@ -23,7 +23,7 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#include <glibmm/object.h>
+#include <gtkmm/pagesetup.h>
#ifndef DOXYGEN_SHOULD_SKIP_THIS
@@ -37,6 +37,82 @@ namespace Gtk
namespace Gtk
{
+/** @addtogroup gtkmmEnums Enums and Flags */
+
+/**
+ * @ingroup gtkmmEnums
+ * @par Bitwise operators:
+ * <tt>%PrintCapabilities operator|(PrintCapabilities, PrintCapabilities)</tt><br>
+ * <tt>%PrintCapabilities operator&(PrintCapabilities, PrintCapabilities)</tt><br>
+ * <tt>%PrintCapabilities operator^(PrintCapabilities, PrintCapabilities)</tt><br>
+ * <tt>%PrintCapabilities operator~(PrintCapabilities)</tt><br>
+ * <tt>%PrintCapabilities& operator|=(PrintCapabilities&, PrintCapabilities)</tt><br>
+ * <tt>%PrintCapabilities& operator&=(PrintCapabilities&, PrintCapabilities)</tt><br>
+ * <tt>%PrintCapabilities& operator^=(PrintCapabilities&, PrintCapabilities)</tt><br>
+ */
+enum PrintCapabilities
+{
+ PRINT_CAPABILITY_PAGE_SET = 1 << 0,
+ PRINT_CAPABILITY_COPIES = 1 << 1,
+ PRINT_CAPABILITY_COLLATE = 1 << 2,
+ PRINT_CAPABILITY_REVERSE = 1 << 3,
+ PRINT_CAPABILITY_SCALE = 1 << 4,
+ PRINT_CAPABILITY_GENERATE_PDF = 1 << 5,
+ PRINT_CAPABILITY_GENERATE_PS = 1 << 6,
+ PRINT_CAPABILITY_PREVIEW = 1 << 7,
+ PRINT_CAPABILITY_NUMBER_UP = 1 << 8
+};
+
+/** @ingroup gtkmmEnums */
+inline PrintCapabilities operator|(PrintCapabilities lhs, PrintCapabilities rhs)
+ { return static_cast<PrintCapabilities>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
+
+/** @ingroup gtkmmEnums */
+inline PrintCapabilities operator&(PrintCapabilities lhs, PrintCapabilities rhs)
+ { return static_cast<PrintCapabilities>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
+
+/** @ingroup gtkmmEnums */
+inline PrintCapabilities operator^(PrintCapabilities lhs, PrintCapabilities rhs)
+ { return static_cast<PrintCapabilities>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
+
+/** @ingroup gtkmmEnums */
+inline PrintCapabilities operator~(PrintCapabilities flags)
+ { return static_cast<PrintCapabilities>(~static_cast<unsigned>(flags)); }
+
+/** @ingroup gtkmmEnums */
+inline PrintCapabilities& operator|=(PrintCapabilities& lhs, PrintCapabilities rhs)
+ { return (lhs = static_cast<PrintCapabilities>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
+
+/** @ingroup gtkmmEnums */
+inline PrintCapabilities& operator&=(PrintCapabilities& lhs, PrintCapabilities rhs)
+ { return (lhs = static_cast<PrintCapabilities>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
+
+/** @ingroup gtkmmEnums */
+inline PrintCapabilities& operator^=(PrintCapabilities& lhs, PrintCapabilities rhs)
+ { return (lhs = static_cast<PrintCapabilities>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
+
+} // namespace Gtk
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+namespace Glib
+{
+
+template <>
+class Value<Gtk::PrintCapabilities> : public Glib::Value_Flags<Gtk::PrintCapabilities>
+{
+public:
+ static GType value_type() G_GNUC_CONST;
+};
+
+} // namespace Glib
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Gtk
+{
+
+
/** A Printer object represents a printer. You only need to deal directly with printers if you use the
* non-portable PrintUnixDialog API.
*
@@ -100,41 +176,139 @@ private:
public:
//TODO: _WRAP_CREATE() - probably not, it's only accessible through PrintUnixDialog + GtkPrintBackend should be ignored
-
//TODO: I think these are not needed as well, and that Printer should generally be read-only - marko.
bool equal(const Glib::RefPtr<Printer>& other) const;
- //TODO: _WRAP_METHOD(Glib::RefPtr<PrintBackend> get_backend(), gtk_printer_get_backend. refreturn)
+ //GtkPrintBackend is in a "semi-private" header.
+ //_WRAP_METHOD(Glib::RefPtr<PrintBackend> get_backend(), gtk_printer_get_backend, refreturn)
//_WRAP_METHOD(Glib::RefPtr<const PrintBackend> get_backend() const, gtk_printer_get_backend, refreturn, constversion)
+
+ /** Return value: the name of @a printer
+ * @return The name of @a printer
+ *
+ * @newin2p10.
+ */
Glib::ustring get_name() const;
+ /** Return value: the state message of @a printer
+ * @return The state message of @a printer
+ *
+ * @newin2p10.
+ */
Glib::ustring get_state_message() const;
+ /** Gets the description of the printer.
+ * @return The description of @a printer
+ *
+ * @newin2p10.
+ */
Glib::ustring get_description() const;
+ /** Return value: the location of @a printer
+ * @return The location of @a printer
+ *
+ * @newin2p10.
+ */
Glib::ustring get_location() const;
+ /** Gets the name of the icon to use for the printer.
+ * @return The icon name for @a printer
+ *
+ * @newin2p10.
+ */
Glib::ustring get_icon_name() const;
+ /** Gets the number of jobs currently queued on the printer.
+ * @return The number of jobs on @a printer
+ *
+ * @newin2p10.
+ */
int get_job_count() const;
+ /** Return value: <tt>true</tt> if @a printer is active
+ * @return <tt>true</tt> if @a printer is active
+ *
+ * @newin2p10.
+ */
bool is_active() const;
+ /** Return value: <tt>true</tt> if @a printer is virtual
+ * @return <tt>true</tt> if @a printer is virtual
+ *
+ * @newin2p10.
+ */
bool is_virtual() const;
+ /** Return value: <tt>true</tt> if @a printer is the default
+ * @return <tt>true</tt> if @a printer is the default
+ *
+ * @newin2p10.
+ */
bool is_default() const;
+ /** Return value: <tt>true</tt> if @a printer accepts PDF
+ * @return <tt>true</tt> if @a printer accepts PDF
+ *
+ * @newin2p10.
+ */
bool accepts_pdf() const;
+ /** Return value: <tt>true</tt> if @a printer accepts PostScript
+ * @return <tt>true</tt> if @a printer accepts PostScript
+ *
+ * @newin2p10.
+ */
bool accepts_ps() const;
+
+
+ /** Lists all the paper sizes @a printer supports.
+ * This will return an empty list unless the printer's details are
+ * available. See has_details() and request_details().
+ * @return A newly allocated list of newly allocated Gtk::PageSetup s.
+ *
+ * @newin2p12.
+ */
+ Glib::ListHandle< Glib::RefPtr<PageSetup> > list_papers();
+
+
+ /** Lists all the paper sizes @a printer supports.
+ * This will return an empty list unless the printer's details are
+ * available. See has_details() and request_details().
+ * @return A newly allocated list of newly allocated Gtk::PageSetup s.
+ *
+ * @newin2p12.
+ */
+ Glib::ListHandle< Glib::RefPtr<const PageSetup> > list_papers() const;
+
+ /** Return value: <tt>true</tt> if @a printer details are available
+ * @return <tt>true</tt> if @a printer details are available
+ *
+ * @newin2p12.
+ */
+ bool has_details() const;
-/**
+ /** Requests the printer details. When the details are available,
+ * the details_acquired signal will be emitted.
+ *
+ * @newin2p12
+ */
+ void request_details();
+
+ /** Return value: the printer's capabilities
+ * @return The printer's capabilities
+ *
+ * @newin2p12.
+ */
+ PrintCapabilities get_capabilities() const;
+
+
+ /**
* @par Prototype:
- * <tt>void %details_acquired(bool success)</tt>
+ * <tt>void on_my_%details_acquired(bool success)</tt>
*/
Glib::SignalProxy1< void,bool > signal_details_acquired();
@@ -151,7 +325,9 @@ public:
#endif //#GLIBMM_PROPERTIES_ENABLED
- //TODO: _WRAP_PROPERTY("backend", Glib::RefPtr<PrintBackend>)
+ //GtkPrintBackend is in a "semi-private" header:
+ //_WRAP_PROPERTY("backend", Glib::RefPtr<PrintBackend>)
+
#ifdef GLIBMM_PROPERTIES_ENABLED
/** FALSE if this represents a real hardware printer.
*
@@ -259,14 +435,16 @@ inline bool operator!=(const Glib::RefPtr<Printer>& lhs, const Glib::RefPtr<Prin
/** For example,
* bool on_enumerate_printers(const Glib::RefPtr<Printer>& printer);
- *
- * TODO: document return value.
+ * @param printer A printer.
+ * @param result true to stop the enumeration, false to continue.
*
* @relates Gtk::Printer
*/
typedef sigc::slot< bool, const Glib::RefPtr<Printer>& > SlotPrinterEnumerator;
-/** TODO: document this
+/** Calls a function for all Printers. If the callback returns true, the enumeration is stopped.
+ * @slot A function to call for each printer
+ * @parm wait If true, wait in a recursive mainloop until all printers are enumerated; otherwise return early.
*
* @relates Gtk::Printer
*/
@@ -277,10 +455,13 @@ void enumerate_printers(const SlotPrinterEnumerator& slot, bool wait = true);
namespace Glib
{
- /** @relates Gtk::Printer
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Printer
*/
Glib::RefPtr<Gtk::Printer> wrap(GtkPrinter* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/printjob.cc b/libs/gtkmm2/gtk/gtkmm/printjob.cc
index 89894d7006..413a60b404 100644
--- a/libs/gtkmm2/gtk/gtkmm/printjob.cc
+++ b/libs/gtkmm2/gtk/gtkmm/printjob.cc
@@ -89,12 +89,6 @@ static const Glib::SignalProxyInfo PrintJob_signal_status_changed_info =
} // anonymous namespace
-// static
-GType Glib::Value<Gtk::PrintCapabilities>::value_type()
-{
- return gtk_print_capabilities_get_type();
-}
-
namespace Glib
{
@@ -153,7 +147,7 @@ void PrintJob_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void PrintJob_Class::status_changed_callback(GtkPrintJob* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -161,32 +155,35 @@ void PrintJob_Class::status_changed_callback(GtkPrintJob* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_status_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_status_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->status_changed)
- (*base->status_changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->status_changed)
+ (*base->status_changed)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -234,8 +231,9 @@ GType PrintJob::get_base_type()
PrintJob::PrintJob(const Glib::ustring& title, const Glib::RefPtr<Printer>& printer, const Glib::RefPtr<PrintSettings>& settings, const Glib::RefPtr<PageSetup>& page_setup)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Glib::Object(Glib::ConstructParams(printjob_class_.init(), "title", title.c_str(), "printer", Glib::unwrap(printer), "settings", Glib::unwrap(settings), "page_setup", Glib::unwrap(page_setup), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Glib::Object(Glib::ConstructParams(printjob_class_.init(), "title", title.c_str(), "printer", Glib::unwrap(printer), "settings", Glib::unwrap(settings), "page_setup", Glib::unwrap(page_setup), static_cast<char*>(0)))
{
}
@@ -322,6 +320,15 @@ Cairo::RefPtr<Cairo::Surface> PrintJob::get_surface(std::auto_ptr<Glib::Error>&
}
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+Cairo::RefPtr<const Cairo::Surface> PrintJob::get_surface() const
+#else
+Cairo::RefPtr<const Cairo::Surface> PrintJob::get_surface(std::auto_ptr<Glib::Error>& error) const
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ return const_cast<PrintJob*>(this)->get_surface();
+}
+
void PrintJob::set_track_print_status(bool track_status)
{
gtk_print_job_set_track_print_status(gobj(), static_cast<int>(track_status));
diff --git a/libs/gtkmm2/gtk/gtkmm/printjob.h b/libs/gtkmm2/gtk/gtkmm/printjob.h
index 9da6a9e565..35291b4649 100644
--- a/libs/gtkmm2/gtk/gtkmm/printjob.h
+++ b/libs/gtkmm2/gtk/gtkmm/printjob.h
@@ -42,80 +42,6 @@ namespace Gtk
namespace Gtk
{
-/** @addtogroup gtkmmEnums Enums and Flags */
-
-/**
- * @ingroup gtkmmEnums
- * @par Bitwise operators:
- * <tt>%PrintCapabilities operator|(PrintCapabilities, PrintCapabilities)</tt><br>
- * <tt>%PrintCapabilities operator&(PrintCapabilities, PrintCapabilities)</tt><br>
- * <tt>%PrintCapabilities operator^(PrintCapabilities, PrintCapabilities)</tt><br>
- * <tt>%PrintCapabilities operator~(PrintCapabilities)</tt><br>
- * <tt>%PrintCapabilities& operator|=(PrintCapabilities&, PrintCapabilities)</tt><br>
- * <tt>%PrintCapabilities& operator&=(PrintCapabilities&, PrintCapabilities)</tt><br>
- * <tt>%PrintCapabilities& operator^=(PrintCapabilities&, PrintCapabilities)</tt><br>
- */
-enum PrintCapabilities
-{
- PRINT_CAPABILITY_PAGE_SET = 1 << 0,
- PRINT_CAPABILITY_COPIES = 1 << 1,
- PRINT_CAPABILITY_COLLATE = 1 << 2,
- PRINT_CAPABILITY_REVERSE = 1 << 3,
- PRINT_CAPABILITY_SCALE = 1 << 4,
- PRINT_CAPABILITY_GENERATE_PDF = 1 << 5,
- PRINT_CAPABILITY_GENERATE_PS = 1 << 6
-};
-
-/** @ingroup gtkmmEnums */
-inline PrintCapabilities operator|(PrintCapabilities lhs, PrintCapabilities rhs)
- { return static_cast<PrintCapabilities>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
-
-/** @ingroup gtkmmEnums */
-inline PrintCapabilities operator&(PrintCapabilities lhs, PrintCapabilities rhs)
- { return static_cast<PrintCapabilities>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
-
-/** @ingroup gtkmmEnums */
-inline PrintCapabilities operator^(PrintCapabilities lhs, PrintCapabilities rhs)
- { return static_cast<PrintCapabilities>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
-
-/** @ingroup gtkmmEnums */
-inline PrintCapabilities operator~(PrintCapabilities flags)
- { return static_cast<PrintCapabilities>(~static_cast<unsigned>(flags)); }
-
-/** @ingroup gtkmmEnums */
-inline PrintCapabilities& operator|=(PrintCapabilities& lhs, PrintCapabilities rhs)
- { return (lhs = static_cast<PrintCapabilities>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
-
-/** @ingroup gtkmmEnums */
-inline PrintCapabilities& operator&=(PrintCapabilities& lhs, PrintCapabilities rhs)
- { return (lhs = static_cast<PrintCapabilities>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
-
-/** @ingroup gtkmmEnums */
-inline PrintCapabilities& operator^=(PrintCapabilities& lhs, PrintCapabilities rhs)
- { return (lhs = static_cast<PrintCapabilities>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
-
-} // namespace Gtk
-
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-namespace Glib
-{
-
-template <>
-class Value<Gtk::PrintCapabilities> : public Glib::Value_Flags<Gtk::PrintCapabilities>
-{
-public:
- static GType value_type() G_GNUC_CONST;
-};
-
-} // namespace Glib
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-
-namespace Gtk
-{
-
-
/** A PrintJob object represents a job that is sent to a printer. You only need to deal
* directly with print jobs if you use the non-portable PrintUnixDialog API.
*
@@ -185,21 +111,62 @@ public:
static Glib::RefPtr<PrintJob> create(const Glib::ustring& title, const Glib::RefPtr<Printer>& printer, const Glib::RefPtr<PrintSettings>& settings, const Glib::RefPtr<PageSetup>& page_setup);
+ /** Gets the Gtk::PrintSettings of the print job.
+ * @return The settings of @a job
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<PrintSettings> get_settings();
+ /** Gets the Gtk::PrintSettings of the print job.
+ * @return The settings of @a job
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<const PrintSettings> get_settings() const;
+ /** Gets the Gtk::Printer of the print job.
+ * @return The printer of @a job
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<Printer> get_printer();
+ /** Gets the Gtk::Printer of the print job.
+ * @return The printer of @a job
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<const Printer> get_printer() const;
+ /** Gets the job title.
+ * @return The title of @a job
+ *
+ * @newin2p10.
+ */
Glib::ustring get_title() const;
+ /** Gets the status of the print job.
+ * @return The status of @a job
+ *
+ * @newin2p10.
+ */
PrintStatus get_status() const;
// this appears in gtkprinter-private.h
+ /** Make the Gtk::PrintJob send an existing document to the
+ * printing system. The file can be in any format understood
+ * by the platforms printing system (typically PostScript,
+ * but on many platforms PDF may work too). See
+ * Gtk::Printer::accepts_pdf() and Gtk::Printer::accepts_ps().
+ * @param filename The file to be printed.
+ * @param error Return location for errors.
+ * @return <tt>false</tt> if an error occurred
+ *
+ * @newin2p10.
+ */
#ifdef GLIBMM_EXCEPTIONS_ENABLED
void set_source_file(const std::string& filename);
#else
@@ -207,17 +174,52 @@ public:
#endif //GLIBMM_EXCEPTIONS_ENABLED
+ /** Gets a cairo surface onto which the pages of
+ * the print job should be rendered.
+ * @param error Return location for errors, or <tt>0</tt>.
+ * @return The cairo surface of @a job
+ *
+ * @newin2p10.
+ */
#ifdef GLIBMM_EXCEPTIONS_ENABLED
Cairo::RefPtr<Cairo::Surface> get_surface();
#else
Cairo::RefPtr<Cairo::Surface> get_surface(std::auto_ptr<Glib::Error>& error);
#endif //GLIBMM_EXCEPTIONS_ENABLED
- //TODO: _WRAP_METHOD(Cairo::RefPtr<const Cairo::Surface> get_surface() const, gtk_print_job_get_surface, constversion, errthrow)
-
+ /** Gets a cairo surface onto which the pages of
+ * the print job should be rendered.
+ * @param error Return location for errors, or <tt>0</tt>.
+ * @return The cairo surface of @a job
+ *
+ * @newin2p10.
+ */
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ Cairo::RefPtr<const Cairo::Surface> get_surface() const;
+#else
+ Cairo::RefPtr<const Cairo::Surface> get_surface(std::auto_ptr<Glib::Error>& error) const;
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+
+ /** If track_status is <tt>true</tt>, the print job will try to continue report
+ * on the status of the print job in the printer queues and printer. This
+ * can allow your application to show things like "out of paper" issues,
+ * and when the print job actually reaches the printer.
+ *
+ * This function is often implemented using some form of polling, so it should
+ * not be enabled unless needed.
+ *
+ * @newin2p10
+ * @param track_status <tt>true</tt> to track status after printing.
+ */
void set_track_print_status(bool track_status = true);
+ /** Return value: <tt>true</tt> if print job status will be reported after printing
+ * @return <tt>true</tt> if print job status will be reported after printing
+ *
+ * @newin2p10.
+ */
bool get_track_print_status() const;
@@ -235,15 +237,15 @@ public:
typedef sigc::slot< void, const Glib::RefPtr<PrintJob>&, std::auto_ptr<Glib::Error>& > SlotPrintJobComplete;
#endif
- /** TODO: document this
- *
+ /** Sends the print job off to the printer.
+ * @param slot A function to call when the job completes or an error occurs.
*/
void send(const SlotPrintJobComplete& slot);
-/**
+ /**
* @par Prototype:
- * <tt>void %status_changed()</tt>
+ * <tt>void on_my_%status_changed()</tt>
*/
Glib::SignalProxy0< void > signal_status_changed();
@@ -318,10 +320,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::PrintJob
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::PrintJob
*/
Glib::RefPtr<Gtk::PrintJob> wrap(GtkPrintJob* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/printoperation.cc b/libs/gtkmm2/gtk/gtkmm/printoperation.cc
index b3181b3a62..01d3b2239a 100644
--- a/libs/gtkmm2/gtk/gtkmm/printoperation.cc
+++ b/libs/gtkmm2/gtk/gtkmm/printoperation.cc
@@ -648,7 +648,7 @@ void PrintOperation_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void PrintOperation_Class::done_callback(GtkPrintOperation* self, GtkPrintOperationResult p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -656,37 +656,40 @@ void PrintOperation_Class::done_callback(GtkPrintOperation* self, GtkPrintOperat
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_done((PrintOperationResult)p0
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_done((PrintOperationResult)p0
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->done)
- (*base->done)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->done)
+ (*base->done)(self, p0);
}
void PrintOperation_Class::begin_print_callback(GtkPrintOperation* self, GtkPrintContext* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -694,37 +697,40 @@ void PrintOperation_Class::begin_print_callback(GtkPrintOperation* self, GtkPrin
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_begin_print(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_begin_print(Glib::wrap(p0, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->begin_print)
- (*base->begin_print)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->begin_print)
+ (*base->begin_print)(self, p0);
}
gboolean PrintOperation_Class::paginate_callback(GtkPrintOperation* self, GtkPrintContext* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -732,40 +738,42 @@ gboolean PrintOperation_Class::paginate_callback(GtkPrintOperation* self, GtkPri
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_paginate(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_paginate(Glib::wrap(p0, true)
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->paginate)
- return (*base->paginate)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->paginate)
+ return (*base->paginate)(self, p0);
typedef gboolean RType;
return RType();
}
void PrintOperation_Class::request_page_setup_callback(GtkPrintOperation* self, GtkPrintContext* p0, gint p1, GtkPageSetup* p2)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -773,39 +781,42 @@ void PrintOperation_Class::request_page_setup_callback(GtkPrintOperation* self,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_request_page_setup(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_request_page_setup(Glib::wrap(p0, true)
, p1
, Glib::wrap(p2, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->request_page_setup)
- (*base->request_page_setup)(self, p0, p1, p2);
- }
+ // Call the original underlying C function:
+ if(base && base->request_page_setup)
+ (*base->request_page_setup)(self, p0, p1, p2);
}
void PrintOperation_Class::draw_page_callback(GtkPrintOperation* self, GtkPrintContext* p0, gint p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -813,38 +824,41 @@ void PrintOperation_Class::draw_page_callback(GtkPrintOperation* self, GtkPrintC
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_draw_page(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_draw_page(Glib::wrap(p0, true)
, p1
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->draw_page)
- (*base->draw_page)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->draw_page)
+ (*base->draw_page)(self, p0, p1);
}
void PrintOperation_Class::end_print_callback(GtkPrintOperation* self, GtkPrintContext* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -852,37 +866,40 @@ void PrintOperation_Class::end_print_callback(GtkPrintOperation* self, GtkPrintC
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_end_print(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_end_print(Glib::wrap(p0, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->end_print)
- (*base->end_print)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->end_print)
+ (*base->end_print)(self, p0);
}
void PrintOperation_Class::status_changed_callback(GtkPrintOperation* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -890,36 +907,39 @@ void PrintOperation_Class::status_changed_callback(GtkPrintOperation* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_status_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_status_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->status_changed)
- (*base->status_changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->status_changed)
+ (*base->status_changed)(self);
}
GtkWidget* PrintOperation_Class::create_custom_widget_callback(GtkPrintOperation* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -927,39 +947,41 @@ GtkWidget* PrintOperation_Class::create_custom_widget_callback(GtkPrintOperation
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return (GtkWidget*)Glib::unwrap(obj->on_create_custom_widget());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return (GtkWidget*)Glib::unwrap(obj->on_create_custom_widget());
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->create_custom_widget)
- return (*base->create_custom_widget)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->create_custom_widget)
+ return (*base->create_custom_widget)(self);
typedef GtkWidget* RType;
return RType();
}
void PrintOperation_Class::custom_widget_apply_callback(GtkPrintOperation* self, GtkWidget* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -967,37 +989,40 @@ void PrintOperation_Class::custom_widget_apply_callback(GtkPrintOperation* self,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_custom_widget_apply(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_custom_widget_apply(Glib::wrap(p0)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->custom_widget_apply)
- (*base->custom_widget_apply)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->custom_widget_apply)
+ (*base->custom_widget_apply)(self, p0);
}
gboolean PrintOperation_Class::preview_callback(GtkPrintOperation* self, GtkPrintOperationPreview* p0, GtkPrintContext* p1, GtkWindow* p2)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1005,35 +1030,37 @@ gboolean PrintOperation_Class::preview_callback(GtkPrintOperation* self, GtkPrin
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_preview(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_preview(Glib::wrap(p0, true)
, Glib::wrap(p1, true)
, Glib::wrap(p2)
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->preview)
- return (*base->preview)(self, p0, p1, p2);
- }
+ // Call the original underlying C function:
+ if(base && base->preview)
+ return (*base->preview)(self, p0, p1, p2);
typedef gboolean RType;
return RType();
@@ -1084,7 +1111,8 @@ GType PrintOperation::get_base_type()
PrintOperation::PrintOperation()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(printoperation_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/printoperation.h b/libs/gtkmm2/gtk/gtkmm/printoperation.h
index 54888c775d..2a342dd59e 100644
--- a/libs/gtkmm2/gtk/gtkmm/printoperation.h
+++ b/libs/gtkmm2/gtk/gtkmm/printoperation.h
@@ -153,7 +153,8 @@ public:
{
GENERAL,
INTERNAL_ERROR,
- NOMEM
+ NOMEM,
+ INVALID_FILE
};
PrintError(Code error_code, const Glib::ustring& error_message);
@@ -272,34 +273,152 @@ public:
static Glib::RefPtr<PrintOperation> create();
+ /** Makes @a default_page_setup the default page setup for @a op .
+ *
+ * This page setup will be used by run(),
+ * but it can be overridden on a per-page basis by connecting
+ * to the Gtk::PrintOperation::request-page-setup signal.
+ *
+ * @newin2p10
+ * @param default_page_setup A Gtk::PageSetup, or <tt>0</tt>.
+ */
void set_default_page_setup(const Glib::RefPtr<PageSetup>& default_page_setup);
+ /** Returns: the default page setup
+ * @return The default page setup
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<PageSetup> get_default_page_setup() const;
+ /** Sets the print settings for @a op . This is typically used to
+ * re-establish print settings from a previous print operation,
+ * see run().
+ *
+ * @newin2p10
+ * @param print_settings Gtk::PrintSettings, or <tt>0</tt>.
+ */
void set_print_settings(const Glib::RefPtr<PrintSettings>& print_settings);
+ /** Return value: the current print settings of @a op .
+ * @return The current print settings of @a op .
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<PrintSettings> get_print_settings() const;
+ /** Sets the name of the print job. The name is used to identify
+ * the job (e.g. in monitoring applications like eggcups).
+ *
+ * If you don't set a job name, GTK+ picks a default one by
+ * numbering successive print jobs.
+ *
+ * @newin2p10
+ * @param job_name A string that identifies the print job.
+ */
void set_job_name(const Glib::ustring& job_name);
+ /** Sets the number of pages in the document.
+ *
+ * This <em>must</em> be set to a positive number
+ * before the rendering starts. It may be set in a
+ * Gtk::PrintOperation::begin-print signal hander.
+ *
+ * Note that the page numbers passed to the
+ * Gtk::PrintOperation::request-page-setup
+ * and Gtk::PrintOperation::draw-page signals are 0-based, i.e. if
+ * the user chooses to print all pages, the last ::draw-page signal
+ * will be for page @a n_pages - 1.
+ *
+ * @newin2p10
+ * @param n_pages The number of pages.
+ */
void set_n_pages(int n_pages);
+ /** Sets the current page.
+ *
+ * If this is called before run(),
+ * the user will be able to select to print only the current page.
+ *
+ * Note that this only makes sense for pre-paginated documents.
+ *
+ * @newin2p10
+ * @param current_page The current page, 0-based.
+ */
void set_current_page(int current_page);
+ /** If @a full_page is <tt>true</tt>, the transformation for the cairo context
+ * obtained from Gtk::PrintContext puts the origin at the top left
+ * corner of the page (which may not be the top left corner of the
+ * sheet, depending on page orientation and the number of pages per
+ * sheet). Otherwise, the origin is at the top left corner of the
+ * imageable area (i.e. inside the margins).
+ *
+ * @newin2p10
+ * @param full_page <tt>true</tt> to set up the Gtk::PrintContext for the full page.
+ */
void set_use_full_page(bool use_full_page = true);
+ /** Sets up the transformation for the cairo context obtained from
+ * Gtk::PrintContext in such a way that distances are measured in
+ * units of @a unit .
+ *
+ * @newin2p10
+ * @param unit The unit to use.
+ */
void set_unit(Unit unit);
+ /** Sets up the Gtk::PrintOperation to generate a file instead
+ * of showing the print dialog. The indended use of this function
+ * is for implementing "Export to PDF" actions. Currently, PDF
+ * is the only supported format.
+ *
+ * "Print to PDF" support is independent of this and is done
+ * by letting the user pick the "Print to PDF" item from the list
+ * of printers in the print dialog.
+ *
+ * @newin2p10
+ * @param filename The filename for the exported file.
+ */
void set_export_filename(const std::string& filename);
+ /** If track_status is <tt>true</tt>, the print operation will try to continue report
+ * on the status of the print job in the printer queues and printer. This
+ * can allow your application to show things like "out of paper" issues,
+ * and when the print job actually reaches the printer.
+ *
+ * This function is often implemented using some form of polling, so it should
+ * not be enabled unless needed.
+ *
+ * @newin2p10
+ * @param track_status <tt>true</tt> to track status after printing.
+ */
void set_track_print_status(bool track_status = true);
+ /** If @a show_progress is <tt>true</tt>, the print operation will show a
+ * progress dialog during the print operation.
+ *
+ * @newin2p10
+ * @param show_progress <tt>true</tt> to show a progress dialog.
+ */
void set_show_progress (bool show_progress = true);
+ /** Sets whether the run() may return
+ * before the print operation is completed. Note that
+ * some platforms may not allow asynchronous operation.
+ *
+ * @newin2p10
+ * @param allow_async <tt>true</tt> to allow asynchronous operation.
+ */
void set_allow_async(bool allow_async = true);
+ /** Sets the label for the tab holding custom widgets.
+ *
+ * @newin2p10
+ * @param label The label to use, or <tt>0</tt> to use the default label.
+ */
void set_custom_tab_label(const Glib::ustring& label);
@@ -310,6 +429,71 @@ public:
#endif //GLIBMM_EXCEPTIONS_ENABLED
+ /** Runs the print operation, by first letting the user modify
+ * print settings in the print dialog, and then print the document.
+ *
+ * Normally that this function does not return until the rendering of all
+ * pages is complete. You can connect to the
+ * Gtk::PrintOperation::status-changed signal on @a op to obtain some
+ * information about the progress of the print operation.
+ * Furthermore, it may use a recursive mainloop to show the print dialog.
+ *
+ * If you call set_allow_async() or set the allow-async
+ * property the operation will run asyncronously if this is supported on the
+ * platform. The Gtk::PrintOperation::done signal will be emitted with the
+ * operation results when the operation is done (i.e. when the dialog is
+ * canceled, or when the print succeeds or fails).
+ *
+ * @code
+ * if (settings != <tt>0</tt>)
+ * gtk_print_operation_set_print_settings (print, settings);
+ *
+ * if (page_setup != <tt>0</tt>)
+ * gtk_print_operation_set_default_page_setup (print, page_setup);
+ *
+ * g_signal_connect (print, "begin-print",
+ * G_CALLBACK (begin_print), &amp;data);
+ * g_signal_connect (print, "draw-page",
+ * G_CALLBACK (draw_page), &amp;data);
+ *
+ * res = gtk_print_operation_run (print, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, parent, &amp;error);
+ *
+ * if (res == GTK_PRINT_OPERATION_RESULT_ERROR)
+ * {
+ * error_dialog = gtk_message_dialog_new (GTK_WINDOW (parent),
+ * GTK_DIALOG_DESTROY_WITH_PARENT,
+ * GTK_MESSAGE_ERROR,
+ * GTK_BUTTONS_CLOSE,
+ * "Error printing file:<tt>\\n</tt>&percnt;s",
+ * error->message);
+ * g_signal_connect (error_dialog, "response",
+ * G_CALLBACK (gtk_widget_destroy), <tt>0</tt>);
+ * gtk_widget_show (error_dialog);
+ * g_error_free (error);
+ * }
+ * else if (res == GTK_PRINT_OPERATION_RESULT_APPLY)
+ * {
+ * if (settings != <tt>0</tt>)
+ * g_object_unref (settings);
+ * settings = g_object_ref (gtk_print_operation_get_print_settings (print));
+ * }
+ * @endcode
+ *
+ * Note that run() can only be called once on a
+ * given Gtk::PrintOperation.
+ * @param action The action to start.
+ * @param parent Transient parent of the dialog, or <tt>0</tt>.
+ * @param error Return location for errors, or <tt>0</tt>.
+ * @return The result of the print operation. A return value of
+ * Gtk::PRINT_OPERATION_RESULT_APPLY indicates that the printing was
+ * completed successfully. In this case, it is a good idea to obtain
+ * the used print settings with get_print_settings()
+ * and store them for reuse with the next print operation. A value of
+ * Gtk::PRINT_OPERATION_RESULT_IN_PROGRESS means the operation is running
+ * asynchronously, and will emit the ::done signal when done.
+ *
+ * @newin2p10.
+ */
#ifdef GLIBMM_EXCEPTIONS_ENABLED
PrintOperationResult run(PrintOperationAction action, Window& parent);
#else
@@ -317,95 +501,125 @@ public:
#endif //GLIBMM_EXCEPTIONS_ENABLED
+ /** Return value: the status of the print operation
+ * @return The status of the print operation
+ *
+ * @newin2p10.
+ */
PrintStatus get_status() const;
+ /** Return value: a string representation of the status
+ * @return A string representation of the status
+ * of the print operation
+ *
+ * @newin2p10.
+ */
Glib::ustring get_status_string() const;
+ /** Cancels a running print operation. This function may
+ * be called from a Gtk::PrintOperation::begin-print,
+ * Gtk::PrintOperation::paginate or Gtk::PrintOperation::draw-page
+ * signal handler to stop the currently running print
+ * operation.
+ *
+ * @newin2p10
+ */
void cancel();
+ /** A convenience function to find out if the print operation
+ * is finished, either successfully (Gtk::PRINT_STATUS_FINISHED)
+ * or unsuccessfully (Gtk::PRINT_STATUS_FINISHED_ABORTED).
+ *
+ * @note when you enable print status tracking the print operation
+ * can be in a non-finished state even after done has been called, as
+ * the operation status then tracks the print job status on the printer.
+ * @return <tt>true</tt>, if the print operation is finished.
+ *
+ * @newin2p10.
+ */
bool is_finished() const;
//TODO: point out in the docs that the PrintOperationResult enum may also indicate
// that an error occurred, and in that case it is up to him to handle it.
-/**
+ /**
* @par Prototype:
- * <tt>void %done(PrintOperationResult result)</tt>
+ * <tt>void on_my_%done(PrintOperationResult result)</tt>
*/
Glib::SignalProxy1< void,PrintOperationResult > signal_done();
-/**
+ /**
* @par Prototype:
- * <tt>void %begin_print(const Glib::RefPtr<PrintContext>& context)</tt>
+ * <tt>void on_my_%begin_print(const Glib::RefPtr<PrintContext>& context)</tt>
*/
Glib::SignalProxy1< void,const Glib::RefPtr<PrintContext>& > signal_begin_print();
-/**
+ /**
* @par Prototype:
- * <tt>bool %paginate(const Glib::RefPtr<PrintContext>& context)</tt>
+ * <tt>bool on_my_%paginate(const Glib::RefPtr<PrintContext>& context)</tt>
*/
Glib::SignalProxy1< bool,const Glib::RefPtr<PrintContext>& > signal_paginate();
-/**
+ /**
* @par Prototype:
- * <tt>void %request_page_setup(const Glib::RefPtr<PrintContext>& context, int page_no, const Glib::RefPtr<PageSetup>& setup)</tt>
+ * <tt>void on_my_%request_page_setup(const Glib::RefPtr<PrintContext>& context, int page_no, const Glib::RefPtr<PageSetup>& setup)</tt>
*/
Glib::SignalProxy3< void,const Glib::RefPtr<PrintContext>&,int,const Glib::RefPtr<PageSetup>& > signal_request_page_setup();
-/**
+ /**
* @par Prototype:
- * <tt>void %draw_page(const Glib::RefPtr<PrintContext>& context, int page_nr)</tt>
+ * <tt>void on_my_%draw_page(const Glib::RefPtr<PrintContext>& context, int page_nr)</tt>
*/
Glib::SignalProxy2< void,const Glib::RefPtr<PrintContext>&,int > signal_draw_page();
-/**
+ /**
* @par Prototype:
- * <tt>void %end_print(const Glib::RefPtr<PrintContext>& context)</tt>
+ * <tt>void on_my_%end_print(const Glib::RefPtr<PrintContext>& context)</tt>
*/
Glib::SignalProxy1< void,const Glib::RefPtr<PrintContext>& > signal_end_print();
-/**
+ /**
* @par Prototype:
- * <tt>void %status_changed()</tt>
+ * <tt>void on_my_%status_changed()</tt>
*/
Glib::SignalProxy0< void > signal_status_changed();
-/**
+ /**
* @par Prototype:
- * <tt>Widget* %create_custom_widget()</tt>
+ * <tt>Widget* on_my_%create_custom_widget()</tt>
*/
Glib::SignalProxy0< Widget* > signal_create_custom_widget();
-/**
+ /**
* @par Prototype:
- * <tt>void %custom_widget_apply(Widget* widget)</tt>
+ * <tt>void on_my_%custom_widget_apply(Widget* widget)</tt>
*/
Glib::SignalProxy1< void,Widget* > signal_custom_widget_apply();
- //TODO: This is causing crashes:
+ //TODO: This is causing crashes. Is it still causing crashes? murrayc.
-/**
+ /**
* @par Prototype:
- * <tt>bool %preview(const Glib::RefPtr<PrintOperationPreview>& preview, const Glib::RefPtr<PrintContext>& context, Window* parent)</tt>
+ * <tt>bool on_my_%preview(const Glib::RefPtr<PrintOperationPreview>& preview, const Glib::RefPtr<PrintContext>& context, Window* parent)</tt>
*/
Glib::SignalProxy3< bool,const Glib::RefPtr<PrintOperationPreview>&,const Glib::RefPtr<PrintContext>&,Window* > signal_preview();
@@ -512,7 +726,7 @@ public:
#endif //#GLIBMM_PROPERTIES_ENABLED
#ifdef GLIBMM_PROPERTIES_ENABLED
-/** TRUE if the the origin of the context should be at the corner of the page and not the corner of the imageable area.
+/** TRUE if the origin of the context should be at the corner of the page and not the corner of the imageable area.
*
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
@@ -522,7 +736,7 @@ public:
#endif //#GLIBMM_PROPERTIES_ENABLED
#ifdef GLIBMM_PROPERTIES_ENABLED
-/** TRUE if the the origin of the context should be at the corner of the page and not the corner of the imageable area.
+/** TRUE if the origin of the context should be at the corner of the page and not the corner of the imageable area.
*
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
@@ -736,10 +950,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::PrintOperation
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::PrintOperation
*/
Glib::RefPtr<Gtk::PrintOperation> wrap(GtkPrintOperation* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/printoperationpreview.cc b/libs/gtkmm2/gtk/gtkmm/printoperationpreview.cc
index 222759c8ae..2429965f97 100644
--- a/libs/gtkmm2/gtk/gtkmm/printoperationpreview.cc
+++ b/libs/gtkmm2/gtk/gtkmm/printoperationpreview.cc
@@ -103,7 +103,7 @@ namespace Glib
Glib::RefPtr<Gtk::PrintOperationPreview> wrap(GtkPrintOperationPreview* object, bool take_copy)
{
- return Glib::RefPtr<Gtk::PrintOperationPreview>( dynamic_cast<Gtk::PrintOperationPreview*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ return Glib::RefPtr<Gtk::PrintOperationPreview>( dynamic_cast<Gtk::PrintOperationPreview*> (Glib::wrap_auto_interface<Gtk::PrintOperationPreview> ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance.
}
@@ -154,7 +154,7 @@ void PrintOperationPreview_Class::iface_init_function(void* g_iface, void*)
#ifdef GLIBMM_VFUNCS_ENABLED
void PrintOperationPreview_Class::render_page_vfunc_callback(GtkPrintOperationPreview* self, gint page_nr)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -162,38 +162,42 @@ void PrintOperationPreview_Class::render_page_vfunc_callback(GtkPrintOperationPr
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->render_page_vfunc(page_nr
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->render_page_vfunc(page_nr
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->render_page)
+ (*base->render_page)(self, page_nr);
- // Call the original underlying C function:
- if(base && base->render_page)
- (*base->render_page)(self, page_nr);
- }
}
void PrintOperationPreview_Class::end_preview_vfunc_callback(GtkPrintOperationPreview* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -201,37 +205,41 @@ void PrintOperationPreview_Class::end_preview_vfunc_callback(GtkPrintOperationPr
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->end_preview_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->end_preview_vfunc();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->end_preview)
+ (*base->end_preview)(self);
- // Call the original underlying C function:
- if(base && base->end_preview)
- (*base->end_preview)(self);
- }
}
gboolean PrintOperationPreview_Class::is_selected_vfunc_callback(GtkPrintOperationPreview* self, gint page_nr)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -239,34 +247,37 @@ gboolean PrintOperationPreview_Class::is_selected_vfunc_callback(GtkPrintOperati
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->is_selected_vfunc(page_nr
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->is_selected_vfunc(page_nr
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->is_selected)
+ return (*base->is_selected)(self, page_nr);
- // Call the original underlying C function:
- if(base && base->is_selected)
- return (*base->is_selected)(self, page_nr);
- }
typedef gboolean RType;
return RType();
@@ -276,7 +287,7 @@ g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Ge
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void PrintOperationPreview_Class::ready_callback(GtkPrintOperationPreview* self, GtkPrintContext* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -284,38 +295,41 @@ void PrintOperationPreview_Class::ready_callback(GtkPrintOperationPreview* self,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_ready(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_ready(Glib::wrap(p0, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->ready)
- (*base->ready)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->ready)
+ (*base->ready)(self, p0);
}
void PrintOperationPreview_Class::got_page_size_callback(GtkPrintOperationPreview* self, GtkPrintContext* p0, GtkPageSetup* p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -323,35 +337,38 @@ void PrintOperationPreview_Class::got_page_size_callback(GtkPrintOperationPrevie
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_got_page_size(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_got_page_size(Glib::wrap(p0, true)
, Glib::wrap(p1, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->got_page_size)
- (*base->got_page_size)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->got_page_size)
+ (*base->got_page_size)(self, p0, p1);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/gtk/gtkmm/printoperationpreview.h b/libs/gtkmm2/gtk/gtkmm/printoperationpreview.h
index 596a9a8010..2f42448b82 100644
--- a/libs/gtkmm2/gtk/gtkmm/printoperationpreview.h
+++ b/libs/gtkmm2/gtk/gtkmm/printoperationpreview.h
@@ -42,7 +42,8 @@ namespace Gtk
namespace Gtk
{
-/** TODO:
+//TODO: There is no GtkPrintOperationPreview documentation either.
+/**
* @newin2p10
*
* @ingroup Printing
@@ -69,8 +70,14 @@ private:
protected:
PrintOperationPreview(); // you must derive from this class
+
+public:
+ // This is public so that C++ wrapper instances can be
+ // created for C instances of unwrapped types.
+ // For instance, if an unexpected C type implements the C interface.
explicit PrintOperationPreview(GtkPrintOperationPreview* castitem);
+protected:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
@@ -94,10 +101,32 @@ private:
public:
+ /** Renders a page to the preview, using the print context that
+ * was passed to the Gtk::PrintOperation::preview handler together
+ * with @a preview .
+ *
+ * Note that this function requires a suitable cairo context to
+ * be associated with the print context.
+ *
+ * @newin2p10
+ * @param page_nr The page to render.
+ */
void render_page(int page_nr);
+ /** Ends a preview.
+ *
+ * This function must be called to finish a custom print preview.
+ *
+ * @newin2p10
+ */
void end_preview();
+ /** Returns: <tt>true</tt> if the page has been selected for printing
+ * @param page_nr A page number.
+ * @return <tt>true</tt> if the page has been selected for printing
+ *
+ * @newin2p10.
+ */
bool is_selected(int page_nr) const;
#ifdef GLIBMM_VFUNCS_ENABLED
@@ -113,17 +142,17 @@ public:
#endif //GLIBMM_VFUNCS_ENABLED
-/**
+ /**
* @par Prototype:
- * <tt>void %ready(const Glib::RefPtr<PrintContext>& context)</tt>
+ * <tt>void on_my_%ready(const Glib::RefPtr<PrintContext>& context)</tt>
*/
Glib::SignalProxy1< void,const Glib::RefPtr<PrintContext>& > signal_ready();
-/**
+ /**
* @par Prototype:
- * <tt>void %got_page_size(const Glib::RefPtr<PrintContext>& context, const Glib::RefPtr<PageSetup>& page_setup)</tt>
+ * <tt>void on_my_%got_page_size(const Glib::RefPtr<PrintContext>& context, const Glib::RefPtr<PageSetup>& page_setup)</tt>
*/
Glib::SignalProxy2< void,const Glib::RefPtr<PrintContext>&,const Glib::RefPtr<PageSetup>& > signal_got_page_size();
@@ -155,10 +184,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::PrintOperationPreview
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::PrintOperationPreview
*/
Glib::RefPtr<Gtk::PrintOperationPreview> wrap(GtkPrintOperationPreview* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gtk/gtkmm/printsettings.cc b/libs/gtkmm2/gtk/gtkmm/printsettings.cc
index a802ebbef6..9488853171 100644
--- a/libs/gtkmm2/gtk/gtkmm/printsettings.cc
+++ b/libs/gtkmm2/gtk/gtkmm/printsettings.cc
@@ -40,10 +40,7 @@ static void proxy_foreach_callback(const gchar* key, const gchar* value, void* d
try
{
#endif //GLIBMM_EXCEPTIONS_ENABLED
- Glib::ustring k(key);
- Glib::ustring v(value);
- slot(k, v);
- //slot(Glib::ustring(key), Glib::ustring(value)); // TODO: this won't work
+ slot(Glib::convert_const_gchar_ptr_to_ustring(key), Glib::convert_const_gchar_ptr_to_ustring(value));
#ifdef GLIBMM_EXCEPTIONS_ENABLED
}
catch(...)
@@ -142,6 +139,11 @@ void PrintSettings::set_page_ranges(const Glib::ArrayHandle<PrintSettings::PageR
g_free(ranges);
}
+void PrintSettings::save_to_key_file(Glib::KeyFile& key_file)
+{
+ gtk_print_settings_to_key_file(gobj(), (key_file).gobj(), 0);
+}
+
} // namespace Gtk
namespace
@@ -273,7 +275,8 @@ GType PrintSettings::get_base_type()
PrintSettings::PrintSettings()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(printsettings_class_.init()))
{
}
@@ -282,6 +285,31 @@ Glib::RefPtr<PrintSettings> PrintSettings::create()
{
return Glib::RefPtr<PrintSettings>( new PrintSettings() );
}
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+bool PrintSettings::save_to_file(const std::string& file_name) const
+#else
+bool PrintSettings::save_to_file(const std::string& file_name, std::auto_ptr<Glib::Error>& error) const
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ bool retvalue = gtk_print_settings_to_file(const_cast<GtkPrintSettings*>(gobj()), file_name.c_str(), &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+
+}
+
+void PrintSettings::save_to_key_file(Glib::KeyFile& key_file, const Glib::ustring& group_name) const
+{
+gtk_print_settings_to_key_file(const_cast<GtkPrintSettings*>(gobj()), (key_file).gobj(), group_name.c_str());
+}
+
bool PrintSettings::has_key(const Glib::ustring& key) const
{
return gtk_print_settings_has_key(const_cast<GtkPrintSettings*>(gobj()), key.c_str());
diff --git a/libs/gtkmm2/gtk/gtkmm/printsettings.h b/libs/gtkmm2/gtk/gtkmm/printsettings.h
index f171d88153..3c6867d007 100644
--- a/libs/gtkmm2/gtk/gtkmm/printsettings.h
+++ b/libs/gtkmm2/gtk/gtkmm/printsettings.h
@@ -228,6 +228,14 @@ private:
protected:
PrintSettings();
+#if 0 //TODO: Reimplement, or add _construct_from_* functions in GTK+.
+GtkPrintSettings *gtk_print_settings_new_from_file (const gchar *file_name,
+ GError **error);
+GtkPrintSettings *gtk_print_settings_new_from_key_file (GKeyFile *key_file,
+ const gchar *group_name,
+ GError **error);
+#endif
+
public:
static Glib::RefPtr<PrintSettings> create();
@@ -269,22 +277,76 @@ public:
};
+ /** This function saves the print settings from @a settings to @a file_name .
+ * @a throws FileError
+ * @param file_name The file to save to.
+ * @return <tt>true</tt> on success
+ *
+ * @newin2p12.
+ */
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ bool save_to_file(const std::string& file_name) const;
+#else
+ bool save_to_file(const std::string& file_name, std::auto_ptr<Glib::Error>& error) const;
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+
+ /** This function adds the print settings from @a settings to @a key_file .
+ *
+ * @newin2p12
+ * @param key_file The Glib::KeyFile to save the print settings to.
+ * @param group_name The group to add the settings to in @a key_file .
+ */
+ void save_to_key_file(Glib::KeyFile& key_file, const Glib::ustring& group_name) const;
+
+ /** This function adds the print settings from @a settings to @a key_file,
+ * in the "Print Settings" group.
+ *
+ * @newin2p12
+ * @param key_file The Glib::KeyFile to save the print settings to.
+ */
+ void save_to_key_file(Glib::KeyFile& key_file);
+
//TODO: add a @see link?
+ /** Return value: <tt>true</tt>, if @a key has a value
+ * @param key A key.
+ * @return <tt>true</tt>, if @a key has a value
+ *
+ * @newin2p10.
+ */
bool has_key(const Glib::ustring& key) const;
+ /** Looks up the string value associated with @a key .
+ * @param key A key.
+ * @return The string value for @a key
+ *
+ * @newin2p10.
+ */
Glib::ustring get(const Glib::ustring& key) const;
+ /** Associates @a value with @a key .
+ *
+ * @newin2p10
+ * @param key A key.
+ * @param value A string value, or <tt>0</tt>.
+ */
void set(const Glib::ustring& key, const Glib::ustring& value);
+ /** Removes any value associated with @a key .
+ * This has the same effect as setting the value to <tt>0</tt>.
+ *
+ * @newin2p10
+ * @param key A key.
+ */
void unset(const Glib::ustring& key);
/** For example,
* void on_foreach_setting(const Glib::ustring& key, const Glib::ustring& value);
*/
- typedef sigc::slot<void, Glib::ustring&, Glib::ustring&> SlotForeach;
+ typedef sigc::slot<void, const Glib::ustring&, const Glib::ustring&> SlotForeach;
/** Calls a function for each print setting.
* @param slot The callback to call for each print setting.
@@ -292,108 +354,340 @@ public:
void setting_foreach(const SlotForeach& slot);
+ /** Return value: <tt>true</tt>, if @a key maps to a true value.
+ * @param key A key.
+ * @return <tt>true</tt>, if @a key maps to a true value.
+ *
+ * @newin2p10.
+ */
bool get_bool(const Glib::ustring& key) const;
+ /** Sets @a key to a boolean value.
+ *
+ * @newin2p10
+ * @param key A key.
+ * @param value A boolean.
+ */
void set_bool(const Glib::ustring& key, bool value = true);
+ /** Return value: the double value of @a key
+ * @param key A key.
+ * @return The double value of @a key
+ *
+ * @newin2p10.
+ */
double get_double(const Glib::ustring& key) const;
+ /** Return value: the floating point number associated with @a key
+ * @param key A key.
+ * @param def The default value.
+ * @return The floating point number associated with @a key
+ *
+ * @newin2p10.
+ */
double get_double_with_default(const Glib::ustring& key, double def) const;
+ /** Sets @a key to a double value.
+ *
+ * @newin2p10
+ * @param key A key.
+ * @param value A double value.
+ */
void set_double(const Glib::ustring& key, double value);
+ /** Return value: the length value of @a key , converted to @a unit
+ * @param key A key.
+ * @param unit The unit of the return value.
+ * @return The length value of @a key , converted to @a unit
+ *
+ * @newin2p10.
+ */
double get_length(const Glib::ustring& key, Unit unit) const;
+ /** Associates a length in units of @a unit with @a key .
+ *
+ * @newin2p10
+ * @param key A key.
+ * @param value A length.
+ * @param unit The unit of @a length .
+ */
void set_length(const Glib::ustring& key, double value, Unit unit);
+ /** Return value: the integer value of @a key
+ * @param key A key.
+ * @return The integer value of @a key
+ *
+ * @newin2p10.
+ */
int get_int(const Glib::ustring& key) const;
+ /** Return value: the integer value of @a key
+ * @param key A key.
+ * @param def The default value.
+ * @return The integer value of @a key
+ *
+ * @newin2p10.
+ */
int get_int_with_default(const Glib::ustring& key, int def) const;
+ /** Sets @a key to an integer value.
+ *
+ * @newin2p10
+ * @param key A key.
+ * @param value An integer.
+ */
void set_int(const Glib::ustring& key, int value);
// helpers:
+ /** Convenience function to obtain the value of
+ * Gtk::PRINT_SETTINGS_PRINTER.
+ * @return The printer name
+ *
+ * @newin2p10.
+ */
Glib::ustring get_printer() const;
+ /** Convenience function to set Gtk::PRINT_SETTINGS_PRINTER
+ * to @a printer .
+ *
+ * @newin2p10
+ * @param printer The printer name.
+ */
void set_printer(const Glib::ustring& name);
+ /** Get the value of Gtk::PRINT_SETTINGS_ORIENTATION,
+ * converted to a Gtk::PageOrientation.
+ * @return The orientation
+ *
+ * @newin2p10.
+ */
PageOrientation get_orientation() const;
+ /** Sets the value of Gtk::PRINT_SETTINGS_ORIENTATION.
+ *
+ * @newin2p10
+ * @param orientation A page orientation.
+ */
void set_orientation(PageOrientation orientation);
+ /** Gets the value of Gtk::PRINT_SETTINGS_PAPER_FORMAT,
+ * converted to a Gtk::PaperSize.
+ * @return The paper size
+ *
+ * @newin2p10.
+ */
PaperSize get_paper_size();
+ /** Gets the value of Gtk::PRINT_SETTINGS_PAPER_FORMAT,
+ * converted to a Gtk::PaperSize.
+ * @return The paper size
+ *
+ * @newin2p10.
+ */
const PaperSize get_paper_size() const;
+ /** Sets the value of Gtk::PRINT_SETTINGS_PAPER_FORMAT,
+ * Gtk::PRINT_SETTINGS_PAPER_WIDTH and
+ * Gtk::PRINT_SETTINGS_PAPER_HEIGHT.
+ *
+ * @newin2p10
+ * @param paper_size A paper size.
+ */
void set_paper_size(const PaperSize& paper_size);
+ /** Gets the value of Gtk::PRINT_SETTINGS_PAPER_WIDTH,
+ * converted to @a unit .
+ * @param unit The unit for the return value.
+ * @return The paper width, in units of @a unit
+ *
+ * @newin2p10.
+ */
double get_paper_width(Unit unit) const;
+ /** Sets the value of Gtk::PRINT_SETTINGS_PAPER_WIDTH.
+ *
+ * @newin2p10
+ * @param width The paper width.
+ * @param unit The units of @a width .
+ */
void set_paper_width(double width, Unit unit);
+ /** Gets the value of Gtk::PRINT_SETTINGS_PAPER_HEIGHT,
+ * converted to @a unit .
+ * @param unit The unit for the return value.
+ * @return The paper height, in units of @a unit
+ *
+ * @newin2p10.
+ */
double get_paper_height(Unit unit) const;
+ /** Sets the value of Gtk::PRINT_SETTINGS_PAPER_HEIGHT.
+ *
+ * @newin2p10
+ * @param height The paper height.
+ * @param unit The units of @a height .
+ */
void set_paper_height(double height, Unit unit);
+ /** Gets the value of Gtk::PRINT_SETTINGS_USE_COLOR.
+ * @return Whether to use color
+ *
+ * @newin2p10.
+ */
bool get_use_color() const;
+ /** Sets the value of Gtk::PRINT_SETTINGS_USE_COLOR.
+ *
+ * @newin2p10
+ * @param use_color Whether to use color.
+ */
void set_use_color(bool use_color = true);
+ /** Gets the value of Gtk::PRINT_SETTINGS_COLLATE.
+ * @return Whether to collate the printed pages
+ *
+ * @newin2p10.
+ */
bool get_collate() const;
+ /** Sets the value of Gtk::PRINT_SETTINGS_COLLATE.
+ *
+ * @newin2p10
+ * @param collate Whether to collate the output.
+ */
void set_collate(bool collate = true);
+ /** Gets the value of Gtk::PRINT_SETTINGS_REVERSE.
+ * @return Whether to reverse the order of the printed pages
+ *
+ * @newin2p10.
+ */
bool get_reverse() const;
+ /** Sets the value of Gtk::PRINT_SETTINGS_REVERSE.
+ *
+ * @newin2p10
+ * @param reverse Whether to reverse the output.
+ */
void set_reverse(bool reverse = true);
+ /** Gets the value of Gtk::PRINT_SETTINGS_DUPLEX.
+ * @return Whether to print the output in duplex.
+ *
+ * @newin2p10.
+ */
PrintDuplex get_duplex() const;
+ /** Sets the value of Gtk::PRINT_SETTINGS_DUPLEX.
+ *
+ * @newin2p10
+ * @param duplex A Gtk::PrintDuplex value.
+ */
void set_duplex(PrintDuplex duplex);
+ /** Gets the value of Gtk::PRINT_SETTINGS_QUALITY.
+ * @return The print quality
+ *
+ * @newin2p10.
+ */
PrintQuality get_quality() const;
+ /** Sets the value of Gtk::PRINT_SETTINGS_QUALITY.
+ *
+ * @newin2p10
+ * @param quality A Gtk::PrintQuality value.
+ */
void set_quality(PrintQuality quality);
+ /** Gets the value of Gtk::PRINT_SETTINGS_N_COPIES.
+ * @return The number of copies to print
+ *
+ * @newin2p10.
+ */
int get_n_copies() const;
+ /** Sets the value of Gtk::PRINT_SETTINGS_N_COPIES.
+ *
+ * @newin2p10
+ * @param num_copies The number of copies.
+ */
void set_n_copies(int num_copies);
+ /** Gets the value of Gtk::PRINT_SETTINGS_NUMBER_UP.
+ * @return The number of pages per sheet
+ *
+ * @newin2p10.
+ */
int get_number_up() const;
+ /** Sets the value of Gtk::PRINT_SETTINGS_NUMBER_UP.
+ *
+ * @newin2p10
+ * @param number_up The number of pages per sheet.
+ */
void set_number_up(int number_up);
+ /** Gets the value of Gtk::PRINT_SETTINGS_RESOLUTION.
+ * @return The resolution in dpi
+ *
+ * @newin2p10.
+ */
int get_resolution() const;
+ /** Sets the value of Gtk::PRINT_SETTINGS_RESOLUTION.
+ *
+ * @newin2p10
+ * @param resolution The resolution in dpi.
+ */
void set_resolution(int resolution);
+ /** Gets the value of Gtk::PRINT_SETTINGS_SCALE.
+ * @return The scale in percent
+ *
+ * @newin2p10.
+ */
double get_scale() const;
+ /** Sets the value of Gtk::PRINT_SETTINGS_SCALE.
+ *
+ * @newin2p10
+ * @param scale The scale in percent.
+ */
void set_scale(double scale);
+ /** Gets the value of Gtk::PRINT_SETTINGS_PRINT_PAGES.
+ * @return Which pages to print
+ *
+ * @newin2p10.
+ */
PrintPages get_print_pages() const;
+ /** Sets the value of Gtk::PRINT_SETTINGS_PRINT_PAGES.
+ *
+ * @newin2p10
+ * @param pages A Gtk::PrintPages value.
+ */
void set_print_pages(PrintPages print_pages);
- //TODO: What part of the C API does this correspond to?
+ //This corresponds to GtkPageRange.
class PageRange
{
public:
@@ -408,36 +702,102 @@ public:
void set_page_ranges(const Glib::ArrayHandle<PageRange>& page_ranges);
+ /** Gets the value of Gtk::PRINT_SETTINGS_PAGE_SET.
+ * @return The set of pages to print
+ *
+ * @newin2p10.
+ */
PageSet get_page_set() const;
+ /** Sets the value of Gtk::PRINT_SETTINGS_PAGE_SET.
+ *
+ * @newin2p10
+ * @param page_set A Gtk::PageSet value.
+ */
void set_page_set(PageSet page_set);
+ /** Gets the value of Gtk::PRINT_SETTINGS_DEFAULT_SOURCE.
+ * @return The default source
+ *
+ * @newin2p10.
+ */
Glib::ustring get_default_source() const;
+ /** Sets the value of Gtk::PRINT_SETTINGS_DEFAULT_SOURCE.
+ *
+ * @newin2p10
+ * @param default_source The default source.
+ */
void set_default_source(const Glib::ustring& default_source);
+ /** Gets the value of Gtk::PRINT_SETTINGS_MEDIA_TYPE.
+ *
+ * The set of media types is defined in PWG 5101.1-2002 PWG.
+ * &lt;!-- FIXME link here --&gt;
+ * @return The media type
+ *
+ * @newin2p10.
+ */
Glib::ustring get_media_type() const;
+ /** Sets the value of Gtk::PRINT_SETTINGS_MEDIA_TYPE.
+ *
+ * The set of media types is defined in PWG 5101.1-2002 PWG.
+ * &lt;!-- FIXME link here --&gt;
+ *
+ * @newin2p10
+ * @param media_type The media type.
+ */
void set_media_type(const Glib::ustring& media_type);
+ /** Gets the value of Gtk::PRINT_SETTINGS_DITHER.
+ * @return The dithering that is used
+ *
+ * @newin2p10.
+ */
Glib::ustring get_dither() const;
+ /** Sets the value of Gtk::PRINT_SETTINGS_DITHER.
+ *
+ * @newin2p10
+ * @param dither The dithering that is used.
+ */
void set_dither(const Glib::ustring& dither);
+ /** Gets the value of Gtk::PRINT_SETTINGS_FINISHINGS.
+ * @return The finishings
+ *
+ * @newin2p10.
+ */
Glib::ustring get_finishings() const;
+ /** Sets the value of Gtk::PRINT_SETTINGS_FINISHINGS.
+ *
+ * @newin2p10
+ * @param finishings The finishings.
+ */
void set_finishings(const Glib::ustring& finishings);
+ /** Gets the value of Gtk::PRINT_SETTINGS_OUTPUT_BIN.
+ * @return The output bin
+ *
+ * @newin2p10.
+ */
Glib::ustring get_output_bin() const;
+ /** Sets the value of Gtk::PRINT_SETTINGS_OUTPUT_BIN.
+ *
+ * @newin2p10
+ * @param output_bin The output bin.
+ */
void set_output_bin(const Glib::ustring& output_bin);
- //TODO: Properties.
+ //There are no properties.
public:
@@ -464,10 +824,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::PrintSettings
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::PrintSettings
*/
Glib::RefPtr<Gtk::PrintSettings> wrap(GtkPrintSettings* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/printunixdialog.cc b/libs/gtkmm2/gtk/gtkmm/printunixdialog.cc
index c71eede812..237e7ad565 100644
--- a/libs/gtkmm2/gtk/gtkmm/printunixdialog.cc
+++ b/libs/gtkmm2/gtk/gtkmm/printunixdialog.cc
@@ -30,16 +30,18 @@ namespace Gtk
PrintUnixDialog::PrintUnixDialog(Gtk::Window& parent, const Glib::ustring& title)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Dialog(Glib::ConstructParams(printunixdialog_class_.init(), "title",title.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Dialog(Glib::ConstructParams(printunixdialog_class_.init(), "title",title.c_str(), static_cast<char*>(0)))
{
set_transient_for(parent);
}
PrintUnixDialog::PrintUnixDialog(const Glib::ustring& title)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Dialog(Glib::ConstructParams(printunixdialog_class_.init(), "title",title.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Dialog(Glib::ConstructParams(printunixdialog_class_.init(), "title",title.c_str(), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/printunixdialog.h b/libs/gtkmm2/gtk/gtkmm/printunixdialog.h
index 89bc2d9638..341c6458d1 100644
--- a/libs/gtkmm2/gtk/gtkmm/printunixdialog.h
+++ b/libs/gtkmm2/gtk/gtkmm/printunixdialog.h
@@ -129,33 +129,107 @@ public:
explicit PrintUnixDialog(const Glib::ustring& title);
+ /** Sets the page setup of the Gtk::PrintUnixDialog.
+ *
+ * @newin2p10
+ * @param page_setup A Gtk::PageSetup.
+ */
void set_page_setup(const Glib::RefPtr<PageSetup>& page_setup);
+ /** Gets the page setup that is used by the Gtk::PrintUnixDialog.
+ * @return The page setup of @a dialog .
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<PageSetup> get_page_setup();
+ /** Gets the page setup that is used by the Gtk::PrintUnixDialog.
+ * @return The page setup of @a dialog .
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<const PageSetup> get_page_setup() const;
+ /** Sets the current page number. If @a current_page is not -1, this enables
+ * the current page choice for the range of pages to print.
+ *
+ * @newin2p10
+ * @param current_page The current page number.
+ */
void set_current_page(int current_page);
+ /** Gets the current page of the Gtk::PrintDialog.
+ * @return The current page of @a dialog
+ *
+ * @newin2p10.
+ */
int get_current_page() const;
+ /** Sets the Gtk::PrintSettings for the Gtk::PrintUnixDialog. Typically,
+ * this is used to restore saved print settings from a previous print
+ * operation before the print dialog is shown.
+ *
+ * @newin2p10
+ * @param settings A Gtk::PrintSettings, or <tt>0</tt>.
+ */
void set_settings(const Glib::RefPtr<PrintSettings>& print_settings);
+ /** Gets a new Gtk::PrintSettings object that represents the
+ * current values in the print dialog. Note that this creates a
+ * <em>new object</em>, and you need to unref it
+ * if don't want to keep it.
+ * @return A new Gtk::PrintSettings object with the values from @a dialog
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<PrintSettings> get_settings();
+ /** Gets a new Gtk::PrintSettings object that represents the
+ * current values in the print dialog. Note that this creates a
+ * <em>new object</em>, and you need to unref it
+ * if don't want to keep it.
+ * @return A new Gtk::PrintSettings object with the values from @a dialog
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<const PrintSettings> get_settings() const;
+ /** Gets the currently selected printer.
+ * @return The currently selected printer
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<Printer> get_selected_printer();
+ /** Gets the currently selected printer.
+ * @return The currently selected printer
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<const Printer> get_selected_printer() const;
void add_custom_tab(const Widget& child, const Glib::ustring& tab_label);
+ /** Adds a custom tab to the print dialog.
+ *
+ * @newin2p10
+ * @param child The widget to put in the custom tab.
+ * @param tab_label The widget to use as tab label.
+ */
void add_custom_tab(const Widget& child, const Widget& tab_label);
+ /** This lets you specify the printing capabilities your application
+ * supports. For instance, if you can handle scaling the output then
+ * you pass Gtk::PRINT_CAPABILITY_SCALE. If you don't pass that, then
+ * the dialog will only let you select the scale if the printing
+ * system automatically handles scaling.
+ *
+ * @newin2p10
+ * @param capabilities The printing capabilities of your application.
+ */
void set_manual_capabilities(PrintCapabilities capabilities);
#ifdef GLIBMM_PROPERTIES_ENABLED
@@ -236,10 +310,13 @@ public:
namespace Glib
{
- /** @relates Gtk::PrintUnixDialog
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::PrintUnixDialog
*/
Gtk::PrintUnixDialog* wrap(GtkPrintUnixDialog* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/private/Makefile.am b/libs/gtkmm2/gtk/gtkmm/private/Makefile.am
new file mode 100644
index 0000000000..5a126716f1
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm/private/Makefile.am
@@ -0,0 +1,14 @@
+## Copyright (c) 2001
+## The gtkmm development team.
+
+include $(srcdir)/../../src/Makefile_list_of_hg.am_fragment
+files_built_p_h = $(files_all_hg:.hg=_p.h)
+
+private_includedir = $(includedir)/gtkmm-2.4/gtkmm/private
+private_include_HEADERS = $(files_built_p_h)
+
+maintainer-clean-local:
+ (cd $(srcdir) && rm -f $(files_built_p_h))
+
+
+
diff --git a/libs/gtkmm2/gtk/gtkmm/private/Makefile.in b/libs/gtkmm2/gtk/gtkmm/private/Makefile.in
new file mode 100644
index 0000000000..55c12d322d
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm/private/Makefile.in
@@ -0,0 +1,521 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+
+# This file is include by other Makefile.am files, using the new automake include feature.
+# The include happens in Makefile.am, not Makefile.in or Makefile,
+# so it's like copy-and-pasting this into each of those Makefile.am files.
+
+# Built files
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = $(private_include_HEADERS) \
+ $(srcdir)/../../src/Makefile_list_of_hg.am_fragment \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment
+subdir = gtk/gtkmm/private
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+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 = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(private_includedir)"
+private_includeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(private_include_HEADERS)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+files_posix_hg = pagesetupunixdialog.hg printunixdialog.hg \
+ printer.hg printjob.hg
+
+files_win32_hg =
+files_general_hg = aboutdialog.hg accelgroup.hg accellabel.hg action.hg actiongroup.hg adjustment.hg alignment.hg \
+ arrow.hg aspectframe.hg assistant.hg \
+ bin.hg box.hg builder.hg button.hg buttonbox.hg \
+ calendar.hg celleditable.hg celllayout.hg cellview.hg \
+ cellrenderer.hg cellrendereraccel.hg cellrenderercombo.hg cellrendererpixbuf.hg cellrendererprogress.hg cellrendererspin.hg cellrenderertext.hg cellrenderertoggle.hg \
+ checkbutton.hg checkmenuitem.hg clipboard.hg colorselection.hg colorbutton.hg \
+ combobox.hg comboboxentry.hg container.hg curve.hg \
+ dialog.hg drawingarea.hg \
+ editable.hg entry.hg entrycompletion.hg enums.hg eventbox.hg expander.hg \
+ filechooser.hg filechooserbutton.hg filechooserwidget.hg filechooserdialog.hg filefilter.hg \
+ fileselection.hg fixed.hg fontbutton.hg fontselection.hg frame.hg \
+ handlebox.hg \
+ iconfactory.hg iconset.hg iconsource.hg iconinfo.hg icontheme.hg iconview.hg image.hg imagemenuitem.hg inputdialog.hg invisible.hg item.hg \
+ label.hg layout.hg linkbutton.hg liststore.hg \
+ main.hg menu.hg menubar.hg menuitem.hg menushell.hg menutoolbutton.hg messagedialog.hg misc.hg \
+ notebook.hg object.hg optionmenu.hg \
+ paned.hg plug.hg progressbar.hg \
+ papersize.hg pagesetup.hg printsettings.hg printcontext.hg printoperation.hg printoperationpreview.hg \
+ radioaction.hg radiobutton.hg radiomenuitem.hg radiotoolbutton.hg range.hg rc.hg \
+ recentaction.hg recentchooser.hg recentchooserdialog.hg recentchoosermenu.hg recentchooserwidget.hg \
+ recentfilter.hg recentinfo.hg recentmanager.hg ruler.hg \
+ scale.hg scalebutton.hg scrollbar.hg scrolledwindow.hg selectiondata.hg \
+ separator.hg separatormenuitem.hg separatortoolitem.hg settings.hg sizegroup.hg socket.hg spinbutton.hg statusbar.hg statusicon.hg \
+ stockitem.hg style.hg \
+ table.hg targetlist.hg tearoffmenuitem.hg \
+ textattributes.hg textbuffer.hg textchildanchor.hg textiter.hg textmark.hg texttag.hg texttagtable.hg textview.hg \
+ toggleaction.hg \
+ togglebutton.hg toggletoolbutton.hg toolbar.hg toolitem.hg toolbutton.hg tooltips.hg tooltip.hg \
+ treedragdest.hg treedragsource.hg treepath.hg treerowreference.hg treeselection.hg treesortable.hg \
+ treeiter.hg treemodel.hg treemodelfilter.hg treemodelsort.hg treestore.hg treeview.hg treeviewcolumn.hg \
+ viewport.hg volumebutton.hg uimanager.hg \
+ widget.hg window.hg
+
+files_general_deprecated_hg = combo.hg
+files_all_hg = \
+ $(files_posix_hg) \
+ $(files_win32_hg) \
+ $(files_general_hg) \
+ $(files_general_deprecated_hg)
+
+@OS_WIN32_FALSE@files_hg = $(files_general_hg) $(files_posix_hg) $(files_general_deprecated_hg)
+@OS_WIN32_TRUE@files_hg = $(files_general_hg) $(files_win32_hg) $(files_general_deprecated_hg)
+files_built_cc = $(files_hg:.hg=.cc) wrap_init.cc
+files_built_h = $(files_hg:.hg=.h)
+files_all_built_cc = $(files_all_hg:.hg=.cc) wrap_init.cc
+files_all_built_h = $(files_all_hg:.hg=.h)
+
+# Extra files
+files_all_extra_cc = \
+ $(sublib_files_extra_posix_cc) \
+ $(sublib_files_extra_win32_cc) \
+ $(sublib_files_extra_general_cc) \
+ $(sublib_files_extra_general_deprecated_cc)
+
+files_all_extra_h = $(sublib_files_extra_posix_h) \
+ $(sublib_files_extra_win32_h) $(sublib_files_extra_general_h) \
+ $(sublib_files_extra_general_deprecated_h) wrap_init.h
+@OS_WIN32_FALSE@files_extra_cc = \
+@OS_WIN32_FALSE@ $(sublib_files_extra_posix_cc) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_TRUE@files_extra_cc = \
+@OS_WIN32_TRUE@ $(sublib_files_extra_win32_cc) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_FALSE@files_extra_h = $(sublib_files_extra_posix_h) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_h) wrap_init.h
+@OS_WIN32_TRUE@files_extra_h = $(sublib_files_extra_win32_h) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_h) wrap_init.h
+files_built_p_h = $(files_all_hg:.hg=_p.h)
+private_includedir = $(includedir)/gtkmm-2.4/gtkmm/private
+private_include_HEADERS = $(files_built_p_h)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../../src/Makefile_list_of_hg.am_fragment $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gtk/gtkmm/private/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gtk/gtkmm/private/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
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-private_includeHEADERS: $(private_include_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(private_includedir)" || $(MKDIR_P) "$(DESTDIR)$(private_includedir)"
+ @list='$(private_include_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(private_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(private_includedir)/$$f'"; \
+ $(private_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(private_includedir)/$$f"; \
+ done
+
+uninstall-private_includeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(private_include_HEADERS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(private_includedir)/$$f'"; \
+ rm -f "$(DESTDIR)$(private_includedir)/$$f"; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(HEADERS)
+installdirs:
+ for dir in "$(DESTDIR)$(private_includedir)"; 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)
+
+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 distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-private_includeHEADERS
+
+install-dvi: install-dvi-am
+
+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
+
+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-private_includeHEADERS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool ctags 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-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-private_includeHEADERS 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 tags uninstall \
+ uninstall-am uninstall-private_includeHEADERS
+
+
+maintainer-clean-local:
+ (cd $(srcdir) && rm -f $(files_built_p_h))
+# 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:
diff --git a/libs/libglademm/libglademm/private/xml_p.h b/libs/gtkmm2/gtk/gtkmm/private/builder_p.h
index e69f6798cc..82efd7613a 100644
--- a/libs/libglademm/libglademm/private/xml_p.h
+++ b/libs/gtkmm2/gtk/gtkmm/private/builder_p.h
@@ -1,28 +1,27 @@
// -*- c++ -*-
// Generated by gtkmmproc -- DO NOT MODIFY!
-#ifndef _LIBGLADEMM_XML_P_H
-#define _LIBGLADEMM_XML_P_H
+#ifndef _GTKMM_BUILDER_P_H
+#define _GTKMM_BUILDER_P_H
+
+
#include <glibmm/private/object_p.h>
#include <glibmm/class.h>
-namespace Gnome
-{
-
-namespace Glade
+namespace Gtk
{
-class Xml_Class : public Glib::Class
+class Builder_Class : public Glib::Class
{
public:
#ifndef DOXYGEN_SHOULD_SKIP_THIS
- typedef Xml CppObjectType;
- typedef GladeXML BaseObjectType;
- typedef GladeXMLClass BaseClassType;
+ typedef Builder CppObjectType;
+ typedef GtkBuilder BaseObjectType;
+ typedef GtkBuilderClass BaseClassType;
typedef Glib::Object_Class CppClassParent;
typedef GObjectClass BaseClassParent;
- friend class Xml;
+ friend class Builder;
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
const Glib::Class& init();
@@ -33,18 +32,20 @@ public:
protected:
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
//Callbacks (default signal handlers):
//These will call the *_impl member methods, which will then call the existing default signal callbacks, if any.
//You could prevent the original default signal handlers being called by overriding the *_impl method.
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
//Callbacks (virtual functions):
- static GType lookup_type_vfunc_callback(GladeXML* self, const char* classname);
- };
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+};
-} // namespace Glade
+} // namespace Gtk
-} // namespace Gnome
-#endif /* _LIBGLADEMM_XML_P_H */
+#endif /* _GTKMM_BUILDER_P_H */
diff --git a/libs/gtkmm2/gtk/gtkmm/private/menuitem_p.h b/libs/gtkmm2/gtk/gtkmm/private/menuitem_p.h
index 176454115f..107a614be6 100644
--- a/libs/gtkmm2/gtk/gtkmm/private/menuitem_p.h
+++ b/libs/gtkmm2/gtk/gtkmm/private/menuitem_p.h
@@ -38,7 +38,7 @@ protected:
//You could prevent the original default signal handlers being called by overriding the *_impl method.
static void activate_callback(GtkMenuItem* self);
static void activate_item_callback(GtkMenuItem* self);
- static void toggle_size_request_callback(GtkMenuItem* self, int* p0);
+ static void toggle_size_request_callback(GtkMenuItem* self, gint* p0);
static void toggle_size_allocate_callback(GtkMenuItem* self, gint p0);
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/gtk/gtkmm/private/recentaction_p.h b/libs/gtkmm2/gtk/gtkmm/private/recentaction_p.h
new file mode 100644
index 0000000000..eea1ec1029
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm/private/recentaction_p.h
@@ -0,0 +1,51 @@
+// -*- c++ -*-
+// Generated by gtkmmproc -- DO NOT MODIFY!
+#ifndef _GTKMM_RECENTACTION_P_H
+#define _GTKMM_RECENTACTION_P_H
+
+
+#include <gtkmm/private/action_p.h>
+
+#include <glibmm/class.h>
+
+namespace Gtk
+{
+
+class RecentAction_Class : public Glib::Class
+{
+public:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ typedef RecentAction CppObjectType;
+ typedef GtkRecentAction BaseObjectType;
+ typedef GtkRecentActionClass BaseClassType;
+ typedef Gtk::Action_Class CppClassParent;
+ typedef GtkActionClass BaseClassParent;
+
+ friend class RecentAction;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+ const Glib::Class& init();
+
+ static void class_init_function(void* g_class, void* class_data);
+
+ static Glib::ObjectBase* wrap_new(GObject*);
+
+protected:
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+ //Callbacks (default signal handlers):
+ //These will call the *_impl member methods, which will then call the existing default signal callbacks, if any.
+ //You could prevent the original default signal handlers being called by overriding the *_impl method.
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+ //Callbacks (virtual functions):
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+};
+
+
+} // namespace Gtk
+
+
+#endif /* _GTKMM_RECENTACTION_P_H */
+
diff --git a/libs/gtkmm2/gtk/gtkmm/private/scalebutton_p.h b/libs/gtkmm2/gtk/gtkmm/private/scalebutton_p.h
new file mode 100644
index 0000000000..a488cdd4f7
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm/private/scalebutton_p.h
@@ -0,0 +1,52 @@
+// -*- c++ -*-
+// Generated by gtkmmproc -- DO NOT MODIFY!
+#ifndef _GTKMM_SCALEBUTTON_P_H
+#define _GTKMM_SCALEBUTTON_P_H
+
+
+#include <gtkmm/private/button_p.h>
+
+#include <glibmm/class.h>
+
+namespace Gtk
+{
+
+class ScaleButton_Class : public Glib::Class
+{
+public:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ typedef ScaleButton CppObjectType;
+ typedef GtkScaleButton BaseObjectType;
+ typedef GtkScaleButtonClass BaseClassType;
+ typedef Gtk::Button_Class CppClassParent;
+ typedef GtkButtonClass BaseClassParent;
+
+ friend class ScaleButton;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+ const Glib::Class& init();
+
+ static void class_init_function(void* g_class, void* class_data);
+
+ static Glib::ObjectBase* wrap_new(GObject*);
+
+protected:
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+ //Callbacks (default signal handlers):
+ //These will call the *_impl member methods, which will then call the existing default signal callbacks, if any.
+ //You could prevent the original default signal handlers being called by overriding the *_impl method.
+ static void value_changed_callback(GtkScaleButton* self, gdouble p0);
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+ //Callbacks (virtual functions):
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+};
+
+
+} // namespace Gtk
+
+
+#endif /* _GTKMM_SCALEBUTTON_P_H */
+
diff --git a/libs/gtkmm2/gtk/gtkmm/private/spinbutton_p.h b/libs/gtkmm2/gtk/gtkmm/private/spinbutton_p.h
index 8c1fd3d490..b7bfe6e000 100644
--- a/libs/gtkmm2/gtk/gtkmm/private/spinbutton_p.h
+++ b/libs/gtkmm2/gtk/gtkmm/private/spinbutton_p.h
@@ -36,7 +36,7 @@ protected:
//Callbacks (default signal handlers):
//These will call the *_impl member methods, which will then call the existing default signal callbacks, if any.
//You could prevent the original default signal handlers being called by overriding the *_impl method.
- static gint input_callback(GtkSpinButton* self, double* p0);
+ static gint input_callback(GtkSpinButton* self, gdouble* p0);
static gboolean output_callback(GtkSpinButton* self);
static void value_changed_callback(GtkSpinButton* self);
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/gtk/gtkmm/private/tooltip_p.h b/libs/gtkmm2/gtk/gtkmm/private/tooltip_p.h
new file mode 100644
index 0000000000..65029406d2
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm/private/tooltip_p.h
@@ -0,0 +1,51 @@
+// -*- c++ -*-
+// Generated by gtkmmproc -- DO NOT MODIFY!
+#ifndef _GTKMM_TOOLTIP_P_H
+#define _GTKMM_TOOLTIP_P_H
+
+
+#include <glibmm/private/object_p.h>
+
+#include <glibmm/class.h>
+
+namespace Gtk
+{
+
+class Tooltip_Class : public Glib::Class
+{
+public:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ typedef Tooltip CppObjectType;
+ typedef GtkTooltip BaseObjectType;
+ typedef GtkTooltipClass BaseClassType;
+ typedef Glib::Object_Class CppClassParent;
+ typedef GObjectClass BaseClassParent;
+
+ friend class Tooltip;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+ const Glib::Class& init();
+
+ static void class_init_function(void* g_class, void* class_data);
+
+ static Glib::ObjectBase* wrap_new(GObject*);
+
+protected:
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+ //Callbacks (default signal handlers):
+ //These will call the *_impl member methods, which will then call the existing default signal callbacks, if any.
+ //You could prevent the original default signal handlers being called by overriding the *_impl method.
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+ //Callbacks (virtual functions):
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+};
+
+
+} // namespace Gtk
+
+
+#endif /* _GTKMM_TOOLTIP_P_H */
+
diff --git a/libs/gtkmm2/gtk/gtkmm/private/tooltips_p.h b/libs/gtkmm2/gtk/gtkmm/private/tooltips_p.h
index f59792fdf8..515e1b6070 100644
--- a/libs/gtkmm2/gtk/gtkmm/private/tooltips_p.h
+++ b/libs/gtkmm2/gtk/gtkmm/private/tooltips_p.h
@@ -2,6 +2,7 @@
// Generated by gtkmmproc -- DO NOT MODIFY!
#ifndef _GTKMM_TOOLTIPS_P_H
#define _GTKMM_TOOLTIPS_P_H
+#ifndef GTKMM_DISABLE_DEPRECATED
#include <gtkmm/private/object_p.h>
@@ -46,6 +47,8 @@ protected:
} // namespace Gtk
+#endif // GTKMM_DISABLE_DEPRECATED
+
#endif /* _GTKMM_TOOLTIPS_P_H */
diff --git a/libs/gtkmm2/gtk/gtkmm/private/volumebutton_p.h b/libs/gtkmm2/gtk/gtkmm/private/volumebutton_p.h
new file mode 100644
index 0000000000..f10f1d9fe8
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm/private/volumebutton_p.h
@@ -0,0 +1,51 @@
+// -*- c++ -*-
+// Generated by gtkmmproc -- DO NOT MODIFY!
+#ifndef _GTKMM_VOLUMEBUTTON_P_H
+#define _GTKMM_VOLUMEBUTTON_P_H
+
+
+#include <gtkmm/private/scalebutton_p.h>
+
+#include <glibmm/class.h>
+
+namespace Gtk
+{
+
+class VolumeButton_Class : public Glib::Class
+{
+public:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ typedef VolumeButton CppObjectType;
+ typedef GtkVolumeButton BaseObjectType;
+ typedef GtkVolumeButtonClass BaseClassType;
+ typedef Gtk::ScaleButton_Class CppClassParent;
+ typedef GtkScaleButtonClass BaseClassParent;
+
+ friend class VolumeButton;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+ const Glib::Class& init();
+
+ static void class_init_function(void* g_class, void* class_data);
+
+ static Glib::ObjectBase* wrap_new(GObject*);
+
+protected:
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+ //Callbacks (default signal handlers):
+ //These will call the *_impl member methods, which will then call the existing default signal callbacks, if any.
+ //You could prevent the original default signal handlers being called by overriding the *_impl method.
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+ //Callbacks (virtual functions):
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+};
+
+
+} // namespace Gtk
+
+
+#endif /* _GTKMM_VOLUMEBUTTON_P_H */
+
diff --git a/libs/gtkmm2/gtk/gtkmm/progressbar.cc b/libs/gtkmm2/gtk/gtkmm/progressbar.cc
index e5ec87dfea..639e521c3b 100644
--- a/libs/gtkmm2/gtk/gtkmm/progressbar.cc
+++ b/libs/gtkmm2/gtk/gtkmm/progressbar.cc
@@ -143,7 +143,8 @@ GType ProgressBar::get_base_type()
ProgressBar::ProgressBar()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Widget(Glib::ConstructParams(progressbar_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/progressbar.h b/libs/gtkmm2/gtk/gtkmm/progressbar.h
index 1a2401a63e..a3c7df5615 100644
--- a/libs/gtkmm2/gtk/gtkmm/progressbar.h
+++ b/libs/gtkmm2/gtk/gtkmm/progressbar.h
@@ -214,12 +214,12 @@ public:
Glib::ustring get_text() const;
/** Causes the given @a text to appear superimposed on the progress bar.
- * @param text A UTF-8 string.
+ * @param text A UTF-8 string, or <tt>0</tt>.
*/
void set_text(const Glib::ustring& text);
- /** Returns the current fraction of the task that's been completed.
+ /** Return value: a fraction from 0.0 to 1.0
* @return A fraction from 0.0 to 1.0.
*/
double get_fraction() const;
@@ -264,8 +264,7 @@ public:
*/
void set_ellipsize(Pango::EllipsizeMode mode);
- /** Returns the ellipsizing position of the progressbar.
- * See set_ellipsize().
+ /** Return value: Pango::EllipsizeMode
* @return Pango::EllipsizeMode
*
* @newin2p6.
@@ -380,10 +379,13 @@ public:
namespace Glib
{
- /** @relates Gtk::ProgressBar
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::ProgressBar
*/
Gtk::ProgressBar* wrap(GtkProgressBar* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/radioaction.cc b/libs/gtkmm2/gtk/gtkmm/radioaction.cc
index 8d20b23fe6..6d0c0ab666 100644
--- a/libs/gtkmm2/gtk/gtkmm/radioaction.cc
+++ b/libs/gtkmm2/gtk/gtkmm/radioaction.cc
@@ -34,8 +34,9 @@ namespace Gtk
RadioAction::RadioAction(Group& group, const Glib::ustring& name, const Gtk::StockID& stock_id, const Glib::ustring& label, const Glib::ustring& tooltip)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::ToggleAction(Glib::ConstructParams(radioaction_class_.init(), "name",name.c_str(),"stock_id",stock_id.get_c_str(),"label",(label.empty() ? 0 : label.c_str()),"tooltip",(tooltip.empty() ? 0 : tooltip.c_str()), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::ToggleAction(Glib::ConstructParams(radioaction_class_.init(), "name",name.c_str(),"stock_id",stock_id.get_c_str(),"label",(label.empty() ? 0 : label.c_str()),"tooltip",(tooltip.empty() ? 0 : tooltip.c_str()), static_cast<char*>(0)))
{
set_group(group);
}
@@ -79,7 +80,7 @@ static void RadioAction_signal_changed_callback(GtkRadioAction* self, GtkRadioAc
{
#endif //GLIBMM_EXCEPTIONS_ENABLED
if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
- (*static_cast<SlotType*>(slot))(Glib::wrap(p0)
+ (*static_cast<SlotType*>(slot))(Glib::wrap(p0, true)
);
#ifdef GLIBMM_EXCEPTIONS_ENABLED
}
@@ -159,7 +160,7 @@ void RadioAction_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void RadioAction_Class::changed_callback(GtkRadioAction* self, GtkRadioAction* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -167,33 +168,36 @@ void RadioAction_Class::changed_callback(GtkRadioAction* self, GtkRadioAction* p
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_changed(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_changed(Glib::wrap(p0, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->changed)
- (*base->changed)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->changed)
+ (*base->changed)(self, p0);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -241,7 +245,8 @@ GType RadioAction::get_base_type()
RadioAction::RadioAction()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::ToggleAction(Glib::ConstructParams(radioaction_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/radioaction.h b/libs/gtkmm2/gtk/gtkmm/radioaction.h
index 20673cf1de..ed8418c644 100644
--- a/libs/gtkmm2/gtk/gtkmm/radioaction.h
+++ b/libs/gtkmm2/gtk/gtkmm/radioaction.h
@@ -40,6 +40,12 @@ namespace Gtk
namespace Gtk
{
+/** An action of which only one in a group can be active.
+ *
+ * A Gtk::RadioAction is similar to Gtk::RadioMenuItem. A number of
+ * radio actions can be linked together so that only one may be active
+ * at any one time.
+ */
class RadioAction : public Gtk::ToggleAction
{
@@ -89,34 +95,22 @@ public:
typedef RadioButtonGroup Group;
protected:
+ //TODO: Remove the default constructor, because name may not be NULL.
RadioAction();
- explicit RadioAction(Group& group, const Glib::ustring& name, const StockID& stock_id, const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring());
+ explicit RadioAction(Group& group, const Glib::ustring& name, const StockID& stock_id = StockID(), const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring());
public:
+ //Note that gtk_recent_action_new() does not allow name to be NULL, which suggests that we should not have a default constructor,
+ //but it's OK to set the name later:
static Glib::RefPtr<RadioAction> create();
+
static Glib::RefPtr<RadioAction> create(Group& group, const Glib::ustring& name, const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring());
static Glib::RefPtr<RadioAction> create(Group& group, const Glib::ustring& name, const Gtk::StockID& stock_id, const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring());
- /** Returns the list representing the radio group for this object.
- * Note that the returned list is only valid until the next change
- * to the group.
- *
- * A common way to set up a group of radio group is the following:
- * @code
- * GSList *group = <tt>0</tt>;
- * GtkRadioAction *action;
- *
- * while (/&lt;!-- --&gt;* more actions to add *&lt;!-- --&gt;/)
- * {
- * action = gtk_radio_action_new (...);
- *
- * gtk_radio_action_set_group (action, group);
- * group = gtk_radio_action_get_group (action);
- * }
- * @endcode
+ /** Returns: the list representing the radio group for this object
* @return The list representing the radio group for this object
*
* @newin2p4.
@@ -133,25 +127,30 @@ public:
*/
int get_current_value() const;
+ /** Sets the currently active group member to the member with value
+ * property @a current_value .
+ *
+ * @newin2p10
+ * @param current_value The new value.
+ */
void set_current_value(int current_value);
+
/** The changed signal is emitted on every member of a radio group when the
* active member is changed. The signal is emitted after the activate signals
* for the previous and current active members.
*
* @param current the member of this action's group which has just been activated.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %changed(const Glib::RefPtr<RadioAction>& current)</tt>
+ * <tt>void on_my_%changed(const Glib::RefPtr<RadioAction>& current)</tt>
*/
Glib::SignalProxy1< void,const Glib::RefPtr<RadioAction>& > signal_changed();
#ifdef GLIBMM_PROPERTIES_ENABLED
-/** The value returned by gtk_radio_action_get_current_value when this action is the current action of its group.
+/** The value returned by gtk_radio_action_get_current_value() when this action is the current action of its group.
*
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
@@ -161,7 +160,7 @@ public:
#endif //#GLIBMM_PROPERTIES_ENABLED
#ifdef GLIBMM_PROPERTIES_ENABLED
-/** The value returned by gtk_radio_action_get_current_value when this action is the current action of its group.
+/** The value returned by gtk_radio_action_get_current_value() when this action is the current action of its group.
*
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
@@ -216,10 +215,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::RadioAction
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::RadioAction
*/
Glib::RefPtr<Gtk::RadioAction> wrap(GtkRadioAction* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/radiobutton.cc b/libs/gtkmm2/gtk/gtkmm/radiobutton.cc
index 6883e36fd8..908ea12199 100644
--- a/libs/gtkmm2/gtk/gtkmm/radiobutton.cc
+++ b/libs/gtkmm2/gtk/gtkmm/radiobutton.cc
@@ -35,28 +35,32 @@ namespace Gtk
RadioButton::RadioButton()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::CheckButton(Glib::ConstructParams(radiobutton_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::CheckButton(Glib::ConstructParams(radiobutton_class_.init()))
{}
RadioButton::RadioButton(const Glib::ustring& label, bool mnemonic)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::CheckButton(Glib::ConstructParams(radiobutton_class_.init(), "label",label.c_str(),"use_underline",gboolean(mnemonic), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::CheckButton(Glib::ConstructParams(radiobutton_class_.init(), "label",label.c_str(),"use_underline",gboolean(mnemonic), static_cast<char*>(0)))
{}
RadioButton::RadioButton(Group& group)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::CheckButton(Glib::ConstructParams(radiobutton_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::CheckButton(Glib::ConstructParams(radiobutton_class_.init()))
{
group.add(*this);
}
RadioButton::RadioButton(Group& group, const Glib::ustring& label, bool mnemonic)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::CheckButton(Glib::ConstructParams(radiobutton_class_.init(), "label",label.c_str(),"use_underline",gboolean(mnemonic), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::CheckButton(Glib::ConstructParams(radiobutton_class_.init(), "label",label.c_str(),"use_underline",gboolean(mnemonic), static_cast<char*>(0)))
{
group.add(*this);
}
@@ -147,7 +151,7 @@ void RadioButton_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void RadioButton_Class::group_changed_callback(GtkRadioButton* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -155,32 +159,35 @@ void RadioButton_Class::group_changed_callback(GtkRadioButton* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_group_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_group_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->group_changed)
- (*base->group_changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->group_changed)
+ (*base->group_changed)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/gtk/gtkmm/radiobutton.h b/libs/gtkmm2/gtk/gtkmm/radiobutton.h
index 19d5ae323f..a91af54439 100644
--- a/libs/gtkmm2/gtk/gtkmm/radiobutton.h
+++ b/libs/gtkmm2/gtk/gtkmm/radiobutton.h
@@ -152,9 +152,9 @@ public:
void reset_group();
-/**
+ /**
* @par Prototype:
- * <tt>void %group_changed()</tt>
+ * <tt>void on_my_%group_changed()</tt>
*/
Glib::SignalProxy0< void > signal_group_changed();
@@ -167,10 +167,13 @@ public:
namespace Glib
{
- /** @relates Gtk::RadioButton
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::RadioButton
*/
Gtk::RadioButton* wrap(GtkRadioButton* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/radiomenuitem.cc b/libs/gtkmm2/gtk/gtkmm/radiomenuitem.cc
index ecbbd8ca96..c065afa88b 100644
--- a/libs/gtkmm2/gtk/gtkmm/radiomenuitem.cc
+++ b/libs/gtkmm2/gtk/gtkmm/radiomenuitem.cc
@@ -37,16 +37,18 @@ namespace Gtk
RadioMenuItem::RadioMenuItem(Group& groupx)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::CheckMenuItem(Glib::ConstructParams(radiomenuitem_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::CheckMenuItem(Glib::ConstructParams(radiomenuitem_class_.init()))
{
groupx.add(*this);
}
RadioMenuItem::RadioMenuItem(Group& groupx, const Glib::ustring &label, bool mnemonic)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::CheckMenuItem(Glib::ConstructParams(radiomenuitem_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::CheckMenuItem(Glib::ConstructParams(radiomenuitem_class_.init()))
{
groupx.add(*this);
add_accel_label(label, mnemonic);
@@ -139,7 +141,7 @@ void RadioMenuItem_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void RadioMenuItem_Class::group_changed_callback(GtkRadioMenuItem* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -147,32 +149,35 @@ void RadioMenuItem_Class::group_changed_callback(GtkRadioMenuItem* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_group_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_group_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->group_changed)
- (*base->group_changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->group_changed)
+ (*base->group_changed)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/gtk/gtkmm/radiomenuitem.h b/libs/gtkmm2/gtk/gtkmm/radiomenuitem.h
index c8ea9078c0..38b3c80396 100644
--- a/libs/gtkmm2/gtk/gtkmm/radiomenuitem.h
+++ b/libs/gtkmm2/gtk/gtkmm/radiomenuitem.h
@@ -132,11 +132,9 @@ public:
* vice-versa, and when a buttton is moved from one group of 2 or
* more menu items to a different one, but not when the composition
* of the group that a menu item belongs to changes.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %group_changed()</tt>
+ * <tt>void on_my_%group_changed()</tt>
*/
Glib::SignalProxy0< void > signal_group_changed();
@@ -153,10 +151,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::RadioMenuItem
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::RadioMenuItem
*/
Gtk::RadioMenuItem* wrap(GtkRadioMenuItem* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/radiotoolbutton.cc b/libs/gtkmm2/gtk/gtkmm/radiotoolbutton.cc
index 24c358810e..0c9c8aee32 100644
--- a/libs/gtkmm2/gtk/gtkmm/radiotoolbutton.cc
+++ b/libs/gtkmm2/gtk/gtkmm/radiotoolbutton.cc
@@ -174,7 +174,8 @@ GType RadioToolButton::get_base_type()
RadioToolButton::RadioToolButton()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::ToggleToolButton(Glib::ConstructParams(radiotoolbutton_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/radiotoolbutton.h b/libs/gtkmm2/gtk/gtkmm/radiotoolbutton.h
index 38200eede3..96ff04fb52 100644
--- a/libs/gtkmm2/gtk/gtkmm/radiotoolbutton.h
+++ b/libs/gtkmm2/gtk/gtkmm/radiotoolbutton.h
@@ -169,7 +169,7 @@ public:
explicit RadioToolButton(Widget& icon_widget, const Glib::ustring& label = Glib::ustring());
- /** Returns the radio button group @a button belongs to.
+ /** Return value: The group @a button belongs to.
* @return The group @a button belongs to.
*
* @newin2p4.
@@ -191,10 +191,13 @@ public:
namespace Glib
{
- /** @relates Gtk::RadioToolButton
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::RadioToolButton
*/
Gtk::RadioToolButton* wrap(GtkRadioToolButton* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/range.cc b/libs/gtkmm2/gtk/gtkmm/range.cc
index b6a1f2cf41..9bc10cf1d6 100644
--- a/libs/gtkmm2/gtk/gtkmm/range.cc
+++ b/libs/gtkmm2/gtk/gtkmm/range.cc
@@ -246,7 +246,7 @@ void Range_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_VFUNCS_ENABLED
void Range_Class::get_range_border_vfunc_callback(GtkRange* self, GtkBorder* border)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -254,39 +254,43 @@ void Range_Class::get_range_border_vfunc_callback(GtkRange* self, GtkBorder* bor
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->get_range_border_vfunc(border);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->get_range_border_vfunc(border);
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->get_range_border)
+ (*base->get_range_border)(self, border);
- // Call the original underlying C function:
- if(base && base->get_range_border)
- (*base->get_range_border)(self, border);
- }
}
#endif //GLIBMM_VFUNCS_ENABLED
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Range_Class::value_changed_callback(GtkRange* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -294,36 +298,39 @@ void Range_Class::value_changed_callback(GtkRange* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_value_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_value_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->value_changed)
- (*base->value_changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->value_changed)
+ (*base->value_changed)(self);
}
void Range_Class::adjust_bounds_callback(GtkRange* self, gdouble p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -331,37 +338,40 @@ void Range_Class::adjust_bounds_callback(GtkRange* self, gdouble p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_adjust_bounds(p0
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_adjust_bounds(p0
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->adjust_bounds)
- (*base->adjust_bounds)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->adjust_bounds)
+ (*base->adjust_bounds)(self, p0);
}
void Range_Class::move_slider_callback(GtkRange* self, GtkScrollType p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -369,33 +379,36 @@ void Range_Class::move_slider_callback(GtkRange* self, GtkScrollType p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_move_slider(((ScrollType)(p0))
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_move_slider(((ScrollType)(p0))
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->move_slider)
- (*base->move_slider)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->move_slider)
+ (*base->move_slider)(self, p0);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -441,7 +454,8 @@ GType Range::get_base_type()
Range::Range()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Widget(Glib::ConstructParams(range_class_.init()))
{
}
@@ -521,6 +535,36 @@ double Range::get_value() const
return gtk_range_get_value(const_cast<GtkRange*>(gobj()));
}
+void Range::set_show_fill_level(bool show_fill_level)
+{
+gtk_range_set_show_fill_level(gobj(), static_cast<int>(show_fill_level));
+}
+
+bool Range::get_show_fill_level() const
+{
+ return gtk_range_get_show_fill_level(const_cast<GtkRange*>(gobj()));
+}
+
+void Range::set_restrict_to_fill_level(bool restrict_to_fill_level)
+{
+gtk_range_set_restrict_to_fill_level(gobj(), static_cast<int>(restrict_to_fill_level));
+}
+
+bool Range::get_restrict_to_fill_level() const
+{
+ return gtk_range_get_restrict_to_fill_level(const_cast<GtkRange*>(gobj()));
+}
+
+void Range::set_fill_level(double fill_level)
+{
+gtk_range_set_fill_level(gobj(), fill_level);
+}
+
+double Range::get_fill_level() const
+{
+ return gtk_range_get_fill_level(const_cast<GtkRange*>(gobj()));
+}
+
Glib::SignalProxy0< void > Range::signal_value_changed()
{
@@ -616,6 +660,48 @@ Glib::PropertyProxy_ReadOnly<SensitivityType> Range::property_upper_stepper_sens
}
#endif //GLIBMM_PROPERTIES_ENABLED
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<bool> Range::property_show_fill_level()
+{
+ return Glib::PropertyProxy<bool>(this, "show-fill-level");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<bool> Range::property_show_fill_level() const
+{
+ return Glib::PropertyProxy_ReadOnly<bool>(this, "show-fill-level");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<bool> Range::property_restrict_to_fill_level()
+{
+ return Glib::PropertyProxy<bool>(this, "restrict-to-fill-level");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<bool> Range::property_restrict_to_fill_level() const
+{
+ return Glib::PropertyProxy_ReadOnly<bool>(this, "restrict-to-fill-level");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<double> Range::property_fill_level()
+{
+ return Glib::PropertyProxy<double>(this, "fill-level");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<double> Range::property_fill_level() const
+{
+ return Glib::PropertyProxy_ReadOnly<double>(this, "fill-level");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Gtk::Range::on_value_changed()
diff --git a/libs/gtkmm2/gtk/gtkmm/range.h b/libs/gtkmm2/gtk/gtkmm/range.h
index ec67da392c..fa995961fc 100644
--- a/libs/gtkmm2/gtk/gtkmm/range.h
+++ b/libs/gtkmm2/gtk/gtkmm/range.h
@@ -206,12 +206,36 @@ public:
bool get_inverted() const;
+ /** Sets the sensitivity policy for the stepper that points to the
+ * 'lower' end of the GtkRange's adjustment.
+ *
+ * @newin2p10
+ * @param sensitivity The lower stepper's sensitivity policy.
+ */
void set_lower_stepper_sensitivity(SensitivityType sensitivity);
+ /** Gets the sensitivity policy for the stepper that points to the
+ * 'lower' end of the GtkRange's adjustment.
+ * @return The lower stepper's sensitivity policy.
+ *
+ * @newin2p10.
+ */
SensitivityType get_lower_stepper_sensitivity() const;
+ /** Sets the sensitivity policy for the stepper that points to the
+ * 'upper' end of the GtkRange's adjustment.
+ *
+ * @newin2p10
+ * @param sensitivity The upper stepper's sensitivity policy.
+ */
void set_upper_stepper_sensitivity(SensitivityType sensitivity);
+ /** Gets the sensitivity policy for the stepper that points to the
+ * 'upper' end of the GtkRange's adjustment.
+ * @return The upper stepper's sensitivity policy.
+ *
+ * @newin2p10.
+ */
SensitivityType get_upper_stepper_sensitivity() const;
@@ -234,8 +258,8 @@ public:
/** Sets the current value of the range; if the value is outside the
* minimum or maximum range values, it will be clamped to fit inside
- * them. The range emits the "value_changed" signal if the value
- * changes.
+ * them. The range emits the Gtk::Range::value-changed signal if the
+ * value changes.
* @param value New value of the range.
*/
void set_value(double value);
@@ -246,25 +270,88 @@ public:
double get_value() const;
-/**
+ /** Sets whether a graphical fill level is show on the trough. See
+ * set_fill_level() for a general description of the fill
+ * level concept.
+ *
+ * @newin2p12
+ * @param show_fill_level Whether a fill level indicator graphics is shown.
+ */
+ void set_show_fill_level(bool show_fill_level = true);
+
+ /** Gets whether the range displays the fill level graphically.
+ * @return <tt>true</tt> if @a range shows the fill level.
+ *
+ * @newin2p12.
+ */
+ bool get_show_fill_level() const;
+
+ /** Sets whether the slider is restricted to the fill level. See
+ * set_fill_level() for a general description of the fill
+ * level concept.
+ *
+ * @newin2p12
+ * @param restrict_to_fill_level Whether the fill level restricts slider movement.
+ */
+ void set_restrict_to_fill_level(bool restrict_to_fill_level = true);
+
+ /** Gets whether the range is restricted to the fill level.
+ * @return <tt>true</tt> if @a range is restricted to the fill level.
+ *
+ * @newin2p12.
+ */
+ bool get_restrict_to_fill_level() const;
+
+ /** Set the new position of the fill level indicator.
+ *
+ * The "fill level" is probably best described by its most prominent
+ * use case, which is an indicator for the amount of pre-buffering in
+ * a streaming media player. In that use case, the value of the range
+ * would indicate the current play position, and the fill level would
+ * be the position up to which the file/stream has been downloaded.
+ *
+ * This amount of prebuffering can be displayed on the range's trough
+ * and is themeable separately from the trough. To enable fill level
+ * display, use set_show_fill_level(). The range defaults
+ * to not showing the fill level.
+ *
+ * Additionally, it's possible to restrict the range's slider position
+ * to values which are smaller than the fill level. This is controller
+ * by set_restrict_to_fill_level() and is by default
+ * enabled.
+ *
+ * @newin2p12
+ * @param fill_level The new position of the fill level indicator.
+ */
+ void set_fill_level(double fill_level);
+
+ /** Gets the current position of the fill level indicator.
+ * @return The current fill level
+ *
+ * @newin2p12.
+ */
+ double get_fill_level() const;
+
+
+ /**
* @par Prototype:
- * <tt>void %value_changed()</tt>
+ * <tt>void on_my_%value_changed()</tt>
*/
Glib::SignalProxy0< void > signal_value_changed();
-/**
+ /**
* @par Prototype:
- * <tt>void %adjust_bounds(double new_value)</tt>
+ * <tt>void on_my_%adjust_bounds(double new_value)</tt>
*/
Glib::SignalProxy1< void,double > signal_adjust_bounds();
-/**
+ /**
* @par Prototype:
- * <tt>void %move_slider(ScrollType scroll)</tt>
+ * <tt>void on_my_%move_slider(ScrollType scroll)</tt>
*/
Glib::SignalProxy1< void,ScrollType > signal_move_slider();
@@ -292,11 +379,9 @@ public:
* @param new_value the new value resulting from the scroll action.
* @result true to prevent other handlers from being invoked for the
* signal, or false to propagate the signal further.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>bool %change_value(ScrollType scroll, double new_value)</tt>
+ * <tt>bool on_my_%change_value(ScrollType scroll, double new_value)</tt>
*/
Glib::SignalProxy2< bool,ScrollType,double > signal_change_value();
@@ -402,6 +487,66 @@ public:
Glib::PropertyProxy_ReadOnly<SensitivityType> property_upper_stepper_sensitivity() const;
#endif //#GLIBMM_PROPERTIES_ENABLED
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether to display a fill level indicator graphics on trough.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<bool> property_show_fill_level() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether to display a fill level indicator graphics on trough.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<bool> property_show_fill_level() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether to restrict the upper boundary to the fill level.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<bool> property_restrict_to_fill_level() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether to restrict the upper boundary to the fill level.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<bool> property_restrict_to_fill_level() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** The fill level.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<double> property_fill_level() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** The fill level.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<double> property_fill_level() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
protected:
#ifdef GLIBMM_VFUNCS_ENABLED
@@ -416,10 +561,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::Range
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Range
*/
Gtk::Range* wrap(GtkRange* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/rc.cc b/libs/gtkmm2/gtk/gtkmm/rc.cc
index e4e4a8c999..486ce509f9 100644
--- a/libs/gtkmm2/gtk/gtkmm/rc.cc
+++ b/libs/gtkmm2/gtk/gtkmm/rc.cc
@@ -294,7 +294,8 @@ GType RcStyle::get_base_type()
RcStyle::RcStyle()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(rcstyle_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/rc.h b/libs/gtkmm2/gtk/gtkmm/rc.h
index 778a4ed7c8..3abf3398ab 100644
--- a/libs/gtkmm2/gtk/gtkmm/rc.h
+++ b/libs/gtkmm2/gtk/gtkmm/rc.h
@@ -346,10 +346,13 @@ public:
namespace Glib
{
- /** @relates Gtk::RcStyle
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::RcStyle
*/
Glib::RefPtr<Gtk::RcStyle> wrap(GtkRcStyle* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/recentaction.cc b/libs/gtkmm2/gtk/gtkmm/recentaction.cc
new file mode 100644
index 0000000000..34be407330
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm/recentaction.cc
@@ -0,0 +1,216 @@
+// Generated by gtkmmproc -- DO NOT MODIFY!
+
+
+#include <gtkmm/recentaction.h>
+#include <gtkmm/private/recentaction_p.h>
+
+// -*- c++ -*-
+/* $Id: recentaction.ccg,v 1.5 2004/03/27 00:30:38 murrayc Exp $ */
+
+/* Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkrecentaction.h>
+
+
+namespace Gtk
+{
+
+Glib::RefPtr<RecentAction> RecentAction::create(const Glib::ustring& name, const Glib::ustring& label, const Glib::ustring& tooltip)
+{
+ return Glib::RefPtr<RecentAction>( new RecentAction(name, StockID(), label, tooltip) );
+}
+
+
+} // namespace Gtk
+
+
+namespace
+{
+} // anonymous namespace
+
+
+namespace Glib
+{
+
+Glib::RefPtr<Gtk::RecentAction> wrap(GtkRecentAction* object, bool take_copy)
+{
+ return Glib::RefPtr<Gtk::RecentAction>( dynamic_cast<Gtk::RecentAction*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ //We use dynamic_cast<> in case of multiple inheritance.
+}
+
+} /* namespace Glib */
+
+
+namespace Gtk
+{
+
+
+/* The *_Class implementation: */
+
+const Glib::Class& RecentAction_Class::init()
+{
+ if(!gtype_) // create the GType if necessary
+ {
+ // Glib::Class has to know the class init function to clone custom types.
+ class_init_func_ = &RecentAction_Class::class_init_function;
+
+ // This is actually just optimized away, apparently with no harm.
+ // Make sure that the parent type has been created.
+ //CppClassParent::CppObjectType::get_type();
+
+ // Create the wrapper type, with the same class/instance size as the base type.
+ register_derived_type(gtk_recent_action_get_type());
+
+ // Add derived versions of interfaces, if the C type implements any interfaces:
+ }
+
+ return *this;
+}
+
+void RecentAction_Class::class_init_function(void* g_class, void* class_data)
+{
+ BaseClassType *const klass = static_cast<BaseClassType*>(g_class);
+ CppClassParent::class_init_function(klass, class_data);
+
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+}
+
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+
+Glib::ObjectBase* RecentAction_Class::wrap_new(GObject* object)
+{
+ return new RecentAction((GtkRecentAction*)object);
+}
+
+
+/* The implementation: */
+
+GtkRecentAction* RecentAction::gobj_copy()
+{
+ reference();
+ return gobj();
+}
+
+RecentAction::RecentAction(const Glib::ConstructParams& construct_params)
+:
+ Gtk::Action(construct_params)
+{}
+
+RecentAction::RecentAction(GtkRecentAction* castitem)
+:
+ Gtk::Action((GtkAction*)(castitem))
+{}
+
+RecentAction::~RecentAction()
+{}
+
+
+RecentAction::CppClassType RecentAction::recentaction_class_; // initialize static member
+
+GType RecentAction::get_type()
+{
+ return recentaction_class_.init().get_type();
+}
+
+GType RecentAction::get_base_type()
+{
+ return gtk_recent_action_get_type();
+}
+
+
+RecentAction::RecentAction()
+:
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Action(Glib::ConstructParams(recentaction_class_.init()))
+{
+ }
+
+RecentAction::RecentAction(const Glib::ustring& name, const StockID& stock_id, const Glib::ustring& label, const Glib::ustring& tooltip)
+:
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Action(Glib::ConstructParams(recentaction_class_.init(), "name", name.empty() ? 0 : name.c_str(), "stock_id", (stock_id).get_c_str(), "label", label.empty() ? 0 : label.c_str(), "tooltip", tooltip.empty() ? 0 : tooltip.c_str(), static_cast<char*>(0)))
+{
+ }
+
+RecentAction::RecentAction(const Glib::ustring& name, const StockID& stock_id, const Glib::ustring& label, const Glib::ustring& tooltip, const Glib::RefPtr<RecentManager>& manager)
+:
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Action(Glib::ConstructParams(recentaction_class_.init(), "name", name.empty() ? 0 : name.c_str(), "stock_id", (stock_id).get_c_str(), "label", label.empty() ? 0 : label.c_str(), "tooltip", tooltip.empty() ? 0 : tooltip.c_str(), "manager", Glib::unwrap(manager), static_cast<char*>(0)))
+{
+ }
+
+Glib::RefPtr<RecentAction> RecentAction::create()
+{
+ return Glib::RefPtr<RecentAction>( new RecentAction() );
+}
+Glib::RefPtr<RecentAction> RecentAction::create(const Glib::ustring& name, const Gtk::StockID& stock_id, const Glib::ustring& label, const Glib::ustring& tooltip)
+{
+ return Glib::RefPtr<RecentAction>( new RecentAction(name, stock_id, label, tooltip) );
+}
+Glib::RefPtr<RecentAction> RecentAction::create(const Glib::ustring& name, const Gtk::StockID& stock_id, const Glib::ustring& label, const Glib::ustring& tooltip, const Glib::RefPtr<RecentManager>& manager)
+{
+ return Glib::RefPtr<RecentAction>( new RecentAction(name, stock_id, label, tooltip, manager) );
+}
+bool RecentAction::get_show_numbers()
+{
+ return gtk_recent_action_get_show_numbers(gobj());
+}
+
+void RecentAction::set_show_numbers(bool show_numbers)
+{
+gtk_recent_action_set_show_numbers(gobj(), static_cast<int>(show_numbers));
+}
+
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<bool> RecentAction::property_show_numbers()
+{
+ return Glib::PropertyProxy<bool>(this, "show-numbers");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<bool> RecentAction::property_show_numbers() const
+{
+ return Glib::PropertyProxy_ReadOnly<bool>(this, "show-numbers");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+
+} // namespace Gtk
+
+
diff --git a/libs/gtkmm2/gtk/gtkmm/recentaction.h b/libs/gtkmm2/gtk/gtkmm/recentaction.h
new file mode 100644
index 0000000000..7f2462deae
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm/recentaction.h
@@ -0,0 +1,206 @@
+// -*- c++ -*-
+// Generated by gtkmmproc -- DO NOT MODIFY!
+#ifndef _GTKMM_RECENTACTION_H
+#define _GTKMM_RECENTACTION_H
+
+
+#include <glibmm.h>
+
+/* $Id: recentaction.hg,v 1.5 2004/07/01 08:55:45 murrayc Exp $ */
+
+/* Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/action.h>
+#include <gtkmm/recentmanager.h>
+#include <gtkmm/stockid.h>
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+typedef struct _GtkRecentAction GtkRecentAction;
+typedef struct _GtkRecentActionClass GtkRecentActionClass;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Gtk
+{ class RecentAction_Class; } // namespace Gtk
+namespace Gtk
+{
+
+/** An action of which represents a list of recently used files.
+ *
+ * A Gtk::RecentAction represents a list of recently used files,
+ * which can be shown by widgets such as Gtk::RecentChooserDialog or
+ * Gtk::RecentChooserMenu.
+ * To construct a submenu showing recently used files, use a
+ * Gtk::RecentAction as the action for a <menuitem>. To construct a menu
+ * toolbutton showing the recently used files in the popup menu, use a
+ * Gtk::RecentAction as the action for a <toolitem> element.
+ *
+ * @newin2p12
+ *
+ * @ingroup RecentFiles
+ */
+
+class RecentAction : public Gtk::Action
+{
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+public:
+ typedef RecentAction CppObjectType;
+ typedef RecentAction_Class CppClassType;
+ typedef GtkRecentAction BaseObjectType;
+ typedef GtkRecentActionClass BaseClassType;
+
+private: friend class RecentAction_Class;
+ static CppClassType recentaction_class_;
+
+private:
+ // noncopyable
+ RecentAction(const RecentAction&);
+ RecentAction& operator=(const RecentAction&);
+
+protected:
+ explicit RecentAction(const Glib::ConstructParams& construct_params);
+ explicit RecentAction(GtkRecentAction* castitem);
+
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+public:
+ virtual ~RecentAction();
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ static GType get_type() G_GNUC_CONST;
+ static GType get_base_type() G_GNUC_CONST;
+#endif
+
+ ///Provides access to the underlying C GObject.
+ GtkRecentAction* gobj() { return reinterpret_cast<GtkRecentAction*>(gobject_); }
+
+ ///Provides access to the underlying C GObject.
+ const GtkRecentAction* gobj() const { return reinterpret_cast<GtkRecentAction*>(gobject_); }
+
+ ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
+ GtkRecentAction* gobj_copy();
+
+private:
+
+
+protected:
+ RecentAction();
+
+//Make sure that we use NULL instead of empty strings for the constructors:
+
+
+ //Note that the order of the parameters is not the same as gtk_recent_action_new(), because
+ //a) we want to be consistent with Action, ToggleAction, etc.
+ //b) this allows us to use the StockID parameter to distinguish the create() overloads.
+ explicit RecentAction(const Glib::ustring& name, const StockID& stock_id = StockID(), const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring());
+ explicit RecentAction(const Glib::ustring& name, const StockID& stock_id, const Glib::ustring& label, const Glib::ustring& tooltip, const Glib::RefPtr<RecentManager>& manager);
+
+public:
+ //Note that gtk_recent_action_new() does not allow name to be NULL, which suggests that we should not have a default constructor,
+ //but it's OK to set the name later:
+
+ static Glib::RefPtr<RecentAction> create();
+
+
+ static Glib::RefPtr<RecentAction> create(const Glib::ustring& name, const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring());
+
+ static Glib::RefPtr<RecentAction> create(const Glib::ustring& name, const Gtk::StockID& stock_id, const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring());
+
+
+ static Glib::RefPtr<RecentAction> create(const Glib::ustring& name, const Gtk::StockID& stock_id, const Glib::ustring& label, const Glib::ustring& tooltip, const Glib::RefPtr<RecentManager>& manager);
+
+
+ /** Return value: <tt>true</tt> if numbers should be shown.
+ * @return <tt>true</tt> if numbers should be shown.
+ *
+ * @newin2p12.
+ */
+ bool get_show_numbers();
+
+ /** Sets whether a number should be added to the items shown by the
+ * widgets representing @a action . The numbers are shown to provide
+ * a unique character for a mnemonic to be used inside the menu item's
+ * label. Only the first ten items get a number to avoid clashes.
+ *
+ * @newin2p12
+ * @param show_numbers <tt>true</tt> if the shown items should be numbered.
+ */
+ void set_show_numbers(bool show_numbers = true);
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether the items should be displayed with a number.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<bool> property_show_numbers() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether the items should be displayed with a number.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<bool> property_show_numbers() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+
+public:
+
+public:
+ //C++ methods used to invoke GTK+ virtual functions:
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+protected:
+ //GTK+ Virtual Functions (override these to change behaviour):
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+ //Default Signal Handlers::
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+
+};
+
+} // namespace Gtk
+
+
+namespace Glib
+{
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
+ * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
+ * @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::RecentAction
+ */
+ Glib::RefPtr<Gtk::RecentAction> wrap(GtkRecentAction* object, bool take_copy = false);
+}
+
+
+#endif /* _GTKMM_RECENTACTION_H */
+
diff --git a/libs/gtkmm2/gtk/gtkmm/recentchooser.cc b/libs/gtkmm2/gtk/gtkmm/recentchooser.cc
index c056ad3f98..546993d209 100644
--- a/libs/gtkmm2/gtk/gtkmm/recentchooser.cc
+++ b/libs/gtkmm2/gtk/gtkmm/recentchooser.cc
@@ -149,7 +149,7 @@ namespace Glib
Glib::RefPtr<Gtk::RecentChooser> wrap(GtkRecentChooser* object, bool take_copy)
{
- return Glib::RefPtr<Gtk::RecentChooser>( dynamic_cast<Gtk::RecentChooser*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ return Glib::RefPtr<Gtk::RecentChooser>( dynamic_cast<Gtk::RecentChooser*> (Glib::wrap_auto_interface<Gtk::RecentChooser> ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance.
}
@@ -202,7 +202,7 @@ void RecentChooser_Class::iface_init_function(void* g_iface, void*)
#ifdef GLIBMM_VFUNCS_ENABLED
gchar* RecentChooser_Class::get_current_uri_vfunc_callback(GtkRecentChooser* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -210,40 +210,43 @@ gchar* RecentChooser_Class::get_current_uri_vfunc_callback(GtkRecentChooser* sel
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return g_strdup((obj->get_current_uri_vfunc()).c_str());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return g_strdup((obj->get_current_uri_vfunc()).c_str());
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_current_uri)
+ return (*base->get_current_uri)(self);
- // Call the original underlying C function:
- if(base && base->get_current_uri)
- return (*base->get_current_uri)(self);
- }
typedef gchar* RType;
return RType();
}
void RecentChooser_Class::unselect_uri_vfunc_callback(GtkRecentChooser* self, const gchar* uri)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -251,38 +254,42 @@ void RecentChooser_Class::unselect_uri_vfunc_callback(GtkRecentChooser* self, co
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->unselect_uri_vfunc(Glib::convert_const_gchar_ptr_to_ustring(uri)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->unselect_uri_vfunc(Glib::convert_const_gchar_ptr_to_ustring(uri)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->unselect_uri)
+ (*base->unselect_uri)(self, uri);
- // Call the original underlying C function:
- if(base && base->unselect_uri)
- (*base->unselect_uri)(self, uri);
- }
}
void RecentChooser_Class::select_all_vfunc_callback(GtkRecentChooser* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -290,37 +297,41 @@ void RecentChooser_Class::select_all_vfunc_callback(GtkRecentChooser* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->select_all_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->select_all_vfunc();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->select_all)
+ (*base->select_all)(self);
- // Call the original underlying C function:
- if(base && base->select_all)
- (*base->select_all)(self);
- }
}
void RecentChooser_Class::unselect_all_vfunc_callback(GtkRecentChooser* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -328,37 +339,41 @@ void RecentChooser_Class::unselect_all_vfunc_callback(GtkRecentChooser* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->unselect_all_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->unselect_all_vfunc();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->unselect_all)
+ (*base->unselect_all)(self);
- // Call the original underlying C function:
- if(base && base->unselect_all)
- (*base->unselect_all)(self);
- }
}
GtkRecentManager* RecentChooser_Class::get_recent_manager_vfunc_callback(GtkRecentChooser* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -366,40 +381,43 @@ GtkRecentManager* RecentChooser_Class::get_recent_manager_vfunc_callback(GtkRece
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return Glib::unwrap(obj->get_recent_manager_vfunc());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return Glib::unwrap(obj->get_recent_manager_vfunc());
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_recent_manager)
+ return (*base->get_recent_manager)(self);
- // Call the original underlying C function:
- if(base && base->get_recent_manager)
- return (*base->get_recent_manager)(self);
- }
typedef GtkRecentManager* RType;
return RType();
}
void RecentChooser_Class::add_filter_vfunc_callback(GtkRecentChooser* self, GtkRecentFilter* filter)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -407,38 +425,42 @@ void RecentChooser_Class::add_filter_vfunc_callback(GtkRecentChooser* self, GtkR
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->add_filter_vfunc(*Glib::wrap(filter)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->add_filter_vfunc(*Glib::wrap(filter)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->add_filter)
+ (*base->add_filter)(self, filter);
- // Call the original underlying C function:
- if(base && base->add_filter)
- (*base->add_filter)(self, filter);
- }
}
void RecentChooser_Class::remove_filter_vfunc_callback(GtkRecentChooser* self, GtkRecentFilter* filter)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -446,34 +468,38 @@ void RecentChooser_Class::remove_filter_vfunc_callback(GtkRecentChooser* self, G
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->remove_filter_vfunc(*Glib::wrap(filter)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->remove_filter_vfunc(*Glib::wrap(filter)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->remove_filter)
+ (*base->remove_filter)(self, filter);
- // Call the original underlying C function:
- if(base && base->remove_filter)
- (*base->remove_filter)(self, filter);
- }
}
#endif //GLIBMM_VFUNCS_ENABLED
diff --git a/libs/gtkmm2/gtk/gtkmm/recentchooser.h b/libs/gtkmm2/gtk/gtkmm/recentchooser.h
index 327c819b51..e2b50e8e84 100644
--- a/libs/gtkmm2/gtk/gtkmm/recentchooser.h
+++ b/libs/gtkmm2/gtk/gtkmm/recentchooser.h
@@ -157,8 +157,14 @@ private:
protected:
RecentChooser(); // you must derive from this class
+
+public:
+ // This is public so that C++ wrapper instances can be
+ // created for C instances of unwrapped types.
+ // For instance, if an unexpected C type implements the C interface.
explicit RecentChooser(GtkRecentChooser* castitem);
+protected:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
@@ -182,46 +188,134 @@ private:
public:
+ /** Whether to show recently used resources marked registered as private.
+ *
+ * @newin2p10
+ * @param show_private <tt>true</tt> to show private items, <tt>false</tt> otherwise.
+ */
void set_show_private(bool show_private = true);
+ /** Return value: <tt>true</tt> if the recent chooser should show private items,
+ * @return <tt>true</tt> if the recent chooser should show private items,
+ * <tt>false</tt> otherwise.
+ *
+ * @newin2p10.
+ */
bool get_show_private() const;
+ /** Sets whether @a chooser should display the recently used resources that
+ * it didn't find. This only applies to local resources.
+ *
+ * @newin2p10
+ * @param show_not_found Whether to show the local items we didn't find.
+ */
void set_show_not_found(bool show_not_found = true);
+ /** Retrieves whether @a chooser should show the recently used resources that
+ * were not found.
+ * @return <tt>true</tt> if the resources not found should be displayed, and
+ * <tt>false</tt> otheriwse.
+ *
+ * @newin2p10.
+ */
bool get_show_not_found() const;
+ /** Sets whether @a chooser can select multiple items.
+ *
+ * @newin2p10
+ * @param select_multiple <tt>true</tt> if @a chooser can select more than one item.
+ */
void set_select_multiple(bool select_multiple = true);
+ /** Gets whether @a chooser can select multiple items.
+ * @return <tt>true</tt> if @a chooser can select more than one item.
+ *
+ * @newin2p10.
+ */
bool get_select_multiple() const;
+ /** Sets the number of items that should be returned by
+ * get_items() and get_uris().
+ *
+ * @newin2p10
+ * @param limit A positive integer, or -1 for all items.
+ */
void set_limit(int limit);
void unset_limit();
+ /** Gets the number of items returned by get_items()
+ * and get_uris().
+ * @return A positive integer, or -1 meaning that all items are
+ * returned.
+ *
+ * @newin2p10.
+ */
int get_limit() const;
+ /** Sets whether only local resources, that is resources using the file:// URI
+ * scheme, should be shown in the recently used resources selector. If
+ * @a local_only is <tt>true</tt> (the default) then the shown resources are guaranteed
+ * to be accessible through the operating system native file system.
+ *
+ * @newin2p10
+ * @param local_only <tt>true</tt> if only local files can be shown.
+ */
void set_local_only(bool local_only = true);
+ /** Gets whether only local resources should be shown in the recently used
+ * resources selector. See set_local_only()
+ * @return <tt>true</tt> if only local resources should be shown.
+ *
+ * @newin2p10.
+ */
bool get_local_only() const;
+ /** Sets whether to show a tooltips on the widget.
+ *
+ * @newin2p10
+ * @param show_tips <tt>true</tt> if tooltips should be shown.
+ */
void set_show_tips(bool show_tips = true);
+ /** Gets whether @a chooser should display tooltips.
+ * @return <tt>true</tt> if the recent chooser should show tooltips,
+ * <tt>false</tt> otherwise.
+ *
+ * @newin2p10.
+ */
bool get_show_tips() const;
- // TODO: These methods are declared in gtkrecentchooser.h but throw errors when
- // using them on RecentChooserWidget or RecentChooserDialog.
- // RecentChooserMenu reimplements them.
- // In an email titled "GtkRecentChooser API glitch", Emmanuele Bassi said that these would be
- // deprecated in GTK+ 2.12. murrayc.
- //_WRAP_METHOD(void set_show_numbers(bool show_numbers = true), gtk_recent_chooser_set_show_numbers)
- //_WRAP_METHOD(bool get_show_numbers() const, gtk_recent_chooser_get_show_numbers)
+ // Deprecated in GTK+ 2.12. murrayc:
+ /** Sets whether @a chooser should show an icon near the resource when
+ * displaying it.
+ *
+ * @newin2p10
+ * @param show_icons Whether to show an icon near the resource.
+ */
void set_show_icons(bool show_icons = true);
+ /** Retrieves whether @a chooser should show an icon near the resource.
+ * @return <tt>true</tt> if the icons should be displayed, <tt>false</tt> otherwise.
+ *
+ * @newin2p10.
+ */
bool get_show_icons() const;
+ /** Changes the sorting order of the recently used resources list displayed by
+ * @a chooser .
+ *
+ * @newin2p10
+ * @param sort_type Sort order that the chooser should use.
+ */
void set_sort_type(RecentSortType sort_type);
+ /** Gets the value set by set_sort_type().
+ * @return The sorting order of the @a chooser .
+ *
+ * @newin2p10.
+ */
RecentSortType get_sort_type() const;
@@ -240,6 +334,13 @@ public:
// TODO: Return type should be void since it will never return false but
// throwing RecentChooserError instead
+ /** Sets @a uri as the current URI for @a chooser .
+ * @param uri A URI.
+ * @param error Return location for a G::Error, or <tt>0</tt>.
+ * @return <tt>true</tt> if the URI was found.
+ *
+ * @newin2p10.
+ */
#ifdef GLIBMM_EXCEPTIONS_ENABLED
bool set_current_uri(const Glib::ustring& uri);
#else
@@ -247,13 +348,37 @@ public:
#endif //GLIBMM_EXCEPTIONS_ENABLED
+ /** Gets the URI currently selected by @a chooser .
+ * @return A newly allocated string holding a URI.
+ *
+ * @newin2p10.
+ */
Glib::ustring get_current_uri() const;
+ /** Gets the Gtk::RecentInfo currently selected by @a chooser .
+ * @return A Gtk::RecentInfo. Use gtk_recent_info_unref() when
+ * when you have finished using it.
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<RecentInfo> get_current_item();
+ /** Gets the Gtk::RecentInfo currently selected by @a chooser .
+ * @return A Gtk::RecentInfo. Use gtk_recent_info_unref() when
+ * when you have finished using it.
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<const RecentInfo> get_current_item() const;
// TODO: Same here
+ /** Selects @a uri inside @a chooser .
+ * @param uri A URI.
+ * @param error Return location for a G::Error, or <tt>0</tt>.
+ * @return <tt>true</tt> if @a uri was found.
+ *
+ * @newin2p10.
+ */
#ifdef GLIBMM_EXCEPTIONS_ENABLED
bool select_uri(const Glib::ustring& uri);
#else
@@ -261,15 +386,39 @@ public:
#endif //GLIBMM_EXCEPTIONS_ENABLED
+ /** Unselects @a uri inside @a chooser .
+ *
+ * @newin2p10
+ * @param uri A URI.
+ */
void unselect_uri(const Glib::ustring& uri);
+ /** Selects all the items inside @a chooser , if the @a chooser supports
+ * multiple selection.
+ *
+ * @newin2p10
+ */
void select_all();
+ /** Unselects all the items inside @a chooser .
+ *
+ * @newin2p10
+ */
void unselect_all();
typedef Glib::ListHandle<RecentInfo, RecentInfoTraits> ListHandle_RecentInfos;
+ /** Gets the list of recently used resources in form of Gtk::RecentInfo objects.
+ *
+ * The return value of this function is affected by the "sort-type" and
+ * "limit" properties of @a chooser .
+ * @return A newly allocated list of Gtk::RecentInfo objects. You should
+ * use gtk_recent_info_unref() on every item of the list, and then free
+ * the list itself using Glib::list_free().
+ *
+ * @newin2p10.
+ */
ListHandle_RecentInfos get_items() const;
/** Gets the URI of the recently used resources.
@@ -280,29 +429,70 @@ public:
Glib::StringArrayHandle get_uris() const;
+ /** Adds @a filter to the list of Gtk::RecentFilter objects held by @a chooser .
+ *
+ * If no previous filter objects were defined, this function will call
+ * set_filter().
+ *
+ * @newin2p10
+ * @param filter A Gtk::RecentFilter.
+ */
void add_filter(const RecentFilter& filter);
+ /** Removes @a filter from the list of Gtk::RecentFilter objects held by @a chooser .
+ *
+ * @newin2p10
+ * @param filter A Gtk::RecentFilter.
+ */
void remove_filter(const RecentFilter& filter);
+ /** Gets the Gtk::RecentFilter objects held by @a chooser .
+ * @return A singly linked list of Gtk::RecentFilter objects. You
+ * should just free the returned list using Glib::slist_free().
+ *
+ * @newin2p10.
+ */
Glib::SListHandle<RecentFilter*> list_filters();
+ /** Gets the Gtk::RecentFilter objects held by @a chooser .
+ * @return A singly linked list of Gtk::RecentFilter objects. You
+ * should just free the returned list using Glib::slist_free().
+ *
+ * @newin2p10.
+ */
Glib::SListHandle<const RecentFilter*> list_filters() const;
+ /** Sets @a filter as the current Gtk::RecentFilter object used by @a chooser
+ * to affect the displayed recently used resources.
+ *
+ * @newin2p10
+ * @param filter A Gtk::RecentFilter.
+ */
void set_filter(const RecentFilter& filter);
+ /** Gets the Gtk::RecentFilter object currently used by @a chooser to affect
+ * the display of the recently used resources.
+ * @return A Gtk::RecentFilter object.
+ *
+ * @newin2p10.
+ */
RecentFilter* get_filter();
+ /** Gets the Gtk::RecentFilter object currently used by @a chooser to affect
+ * the display of the recently used resources.
+ * @return A Gtk::RecentFilter object.
+ *
+ * @newin2p10.
+ */
const RecentFilter* get_filter() const;
/** This signal is emitted when there is a change in the set of
* selected recently used resources. This can happen when a user
* modifies the selection with the mouse or the keyboard, or when
* explicitely calling functions to change the selection.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %selection_changed()</tt>
+ * <tt>void on_my_%selection_changed()</tt>
*/
Glib::SignalProxy0< void > signal_selection_changed();
@@ -312,11 +502,9 @@ public:
* in the recent chooser. This can happen by double-clicking on an item
* in the recently used resources list, or by pressing
* <keycap>Enter</keycap>.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %item_activated()</tt>
+ * <tt>void on_my_%item_activated()</tt>
*/
Glib::SignalProxy0< void > signal_item_activated();
@@ -583,10 +771,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::RecentChooser
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::RecentChooser
*/
Glib::RefPtr<Gtk::RecentChooser> wrap(GtkRecentChooser* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gtk/gtkmm/recentchooserdialog.cc b/libs/gtkmm2/gtk/gtkmm/recentchooserdialog.cc
index 77b2390280..ba94f2e8c5 100644
--- a/libs/gtkmm2/gtk/gtkmm/recentchooserdialog.cc
+++ b/libs/gtkmm2/gtk/gtkmm/recentchooserdialog.cc
@@ -29,30 +29,34 @@ namespace Gtk
RecentChooserDialog::RecentChooserDialog(Gtk::Window& parent, const Glib::ustring& title)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Dialog(Glib::ConstructParams(recentchooserdialog_class_.init(), "title",title.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Dialog(Glib::ConstructParams(recentchooserdialog_class_.init(), "title",title.c_str(), static_cast<char*>(0)))
{
set_transient_for(parent);
}
RecentChooserDialog::RecentChooserDialog(const Glib::ustring& title)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Dialog(Glib::ConstructParams(recentchooserdialog_class_.init(), "title",title.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Dialog(Glib::ConstructParams(recentchooserdialog_class_.init(), "title",title.c_str(), static_cast<char*>(0)))
{
}
RecentChooserDialog::RecentChooserDialog(const Glib::ustring& title, const Glib::RefPtr<RecentManager>& recent_manager)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Dialog(Glib::ConstructParams(recentchooserdialog_class_.init(), "title",title.c_str(),"recent-manager",recent_manager->gobj(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Dialog(Glib::ConstructParams(recentchooserdialog_class_.init(), "title",title.c_str(),"recent-manager",recent_manager->gobj(), static_cast<char*>(0)))
{
}
RecentChooserDialog::RecentChooserDialog(Gtk::Window& parent, const Glib::ustring& title, const Glib::RefPtr<RecentManager>& recent_manager)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Dialog(Glib::ConstructParams(recentchooserdialog_class_.init(), "title",title.c_str(),"recent-manager",recent_manager->gobj(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Dialog(Glib::ConstructParams(recentchooserdialog_class_.init(), "title",title.c_str(),"recent-manager",recent_manager->gobj(), static_cast<char*>(0)))
{
set_transient_for(parent);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/recentchooserdialog.h b/libs/gtkmm2/gtk/gtkmm/recentchooserdialog.h
index cb80a90f24..6d42684334 100644
--- a/libs/gtkmm2/gtk/gtkmm/recentchooserdialog.h
+++ b/libs/gtkmm2/gtk/gtkmm/recentchooserdialog.h
@@ -132,10 +132,13 @@ public:
namespace Glib
{
- /** @relates Gtk::RecentChooserDialog
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::RecentChooserDialog
*/
Gtk::RecentChooserDialog* wrap(GtkRecentChooserDialog* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/recentchoosermenu.cc b/libs/gtkmm2/gtk/gtkmm/recentchoosermenu.cc
index 5664cdc9b8..968cb02c87 100644
--- a/libs/gtkmm2/gtk/gtkmm/recentchoosermenu.cc
+++ b/libs/gtkmm2/gtk/gtkmm/recentchoosermenu.cc
@@ -130,15 +130,17 @@ GType RecentChooserMenu::get_base_type()
RecentChooserMenu::RecentChooserMenu()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Menu(Glib::ConstructParams(recentchoosermenu_class_.init()))
{
}
RecentChooserMenu::RecentChooserMenu(const Glib::RefPtr<RecentManager>& recent_manager)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Menu(Glib::ConstructParams(recentchoosermenu_class_.init(), "recent_manager", Glib::unwrap(recent_manager), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Menu(Glib::ConstructParams(recentchoosermenu_class_.init(), "recent_manager", Glib::unwrap(recent_manager), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/recentchoosermenu.h b/libs/gtkmm2/gtk/gtkmm/recentchoosermenu.h
index 7d455cb3ee..e7f8b98bcc 100644
--- a/libs/gtkmm2/gtk/gtkmm/recentchoosermenu.h
+++ b/libs/gtkmm2/gtk/gtkmm/recentchoosermenu.h
@@ -119,8 +119,21 @@ public:
explicit RecentChooserMenu(const Glib::RefPtr<RecentManager>& recent_manager);
+ /** Sets whether a number should be added to the items of @a menu . The
+ * numbers are shown to provide a unique character for a mnemonic to
+ * be used inside ten menu item's label. Only the first the items
+ * get a number to avoid clashes.
+ *
+ * @newin2p10
+ * @param show_numbers Whether to show numbers.
+ */
void set_show_numbers(bool show_numbers = true);
+ /** Return value: <tt>true</tt> if numbers should be shown.
+ * @return <tt>true</tt> if numbers should be shown.
+ *
+ * @newin2p10.
+ */
bool get_show_numbers() const;
@@ -131,10 +144,13 @@ public:
namespace Glib
{
- /** @relates Gtk::RecentChooserMenu
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::RecentChooserMenu
*/
Gtk::RecentChooserMenu* wrap(GtkRecentChooserMenu* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/recentchooserwidget.cc b/libs/gtkmm2/gtk/gtkmm/recentchooserwidget.cc
index 1f8cf7e837..a77512fc83 100644
--- a/libs/gtkmm2/gtk/gtkmm/recentchooserwidget.cc
+++ b/libs/gtkmm2/gtk/gtkmm/recentchooserwidget.cc
@@ -130,15 +130,17 @@ GType RecentChooserWidget::get_base_type()
RecentChooserWidget::RecentChooserWidget()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::VBox(Glib::ConstructParams(recentchooserwidget_class_.init()))
{
}
RecentChooserWidget::RecentChooserWidget(const Glib::RefPtr<RecentManager>& recent_manager)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::VBox(Glib::ConstructParams(recentchooserwidget_class_.init(), "recent_manager", Glib::unwrap(recent_manager), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::VBox(Glib::ConstructParams(recentchooserwidget_class_.init(), "recent_manager", Glib::unwrap(recent_manager), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/recentchooserwidget.h b/libs/gtkmm2/gtk/gtkmm/recentchooserwidget.h
index 3e3f77a0ba..3a4a97d7a1 100644
--- a/libs/gtkmm2/gtk/gtkmm/recentchooserwidget.h
+++ b/libs/gtkmm2/gtk/gtkmm/recentchooserwidget.h
@@ -125,10 +125,13 @@ public:
namespace Glib
{
- /** @relates Gtk::RecentChooserWidget
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::RecentChooserWidget
*/
Gtk::RecentChooserWidget* wrap(GtkRecentChooserWidget* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/recentfilter.cc b/libs/gtkmm2/gtk/gtkmm/recentfilter.cc
index 661fe3a257..9f06a25ec8 100644
--- a/libs/gtkmm2/gtk/gtkmm/recentfilter.cc
+++ b/libs/gtkmm2/gtk/gtkmm/recentfilter.cc
@@ -202,7 +202,8 @@ GType RecentFilter::get_base_type()
RecentFilter::RecentFilter()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Object(Glib::ConstructParams(recentfilter_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/recentfilter.h b/libs/gtkmm2/gtk/gtkmm/recentfilter.h
index 6f45077370..dcac34ca8b 100644
--- a/libs/gtkmm2/gtk/gtkmm/recentfilter.h
+++ b/libs/gtkmm2/gtk/gtkmm/recentfilter.h
@@ -193,21 +193,69 @@ public:
RecentFilter();
+ /** Sets the human-readable name of the filter; this is the string
+ * that will be displayed in the recently used resources selector
+ * user interface if there is a selectable list of filters.
+ *
+ * @newin2p10
+ * @param name Then human readable name of @a filter .
+ */
void set_name(const Glib::ustring& name);
+ /** Gets the human-readable name for the filter.
+ * See gtk_recent_filter_set_name().
+ * @return The name of the filter, or <tt>0</tt>. The returned string
+ * is owned by the filter object and should not be freed.
+ *
+ * @newin2p10.
+ */
Glib::ustring get_name() const;
+ /** Adds a rule that allows resources based on their registered MIME type.
+ *
+ * @newin2p10
+ * @param mime_type A MIME type.
+ */
void add_mime_type(const Glib::ustring& mime_type);
+ /** Adds a rule that allows resources based on a pattern matching their
+ * display name.
+ *
+ * @newin2p10
+ * @param pattern A file pattern.
+ */
void add_pattern(const Glib::ustring& pattern);
+ /** Adds a rule allowing image files in the formats supported
+ * by GdkPixbuf.
+ *
+ * @newin2p10
+ */
void add_pixbuf_formats();
+ /** Adds a rule that allows resources based on the name of the application
+ * that has registered them.
+ *
+ * @newin2p10
+ * @param application An application name.
+ */
void add_application(const Glib::ustring& application);
+ /** Adds a rule that allows resources based on the name of the group
+ * to which they belong
+ *
+ * @newin2p10
+ * @param group A group name.
+ */
void add_group(const Glib::ustring& group);
+ /** Adds a rule that allows resources based on their age - that is, the number
+ * of days elapsed since they were last modified.
+ *
+ * @newin2p10
+ * @param days Number of days.
+ */
void add_age(int days);
/** A RecentFilter::Info class is used to pass information
@@ -243,6 +291,17 @@ public:
void add_custom(RecentFilterFlags needed, const SlotCustom& slot);
+ /** Gets the fields that need to be filled in for the structure
+ * passed to gtk_recent_filter_filter()
+ *
+ * This function will not typically be used by applications; it
+ * is intended principally for use in the implementation of
+ * Gtk::RecentChooser.
+ * @return Bitfield of flags indicating needed fields when
+ * calling gtk_recent_filter_filter()
+ *
+ * @newin2p10.
+ */
RecentFilterFlags get_needed() const;
// Method is used by class RecentChooser implementors.
@@ -257,10 +316,13 @@ public:
namespace Glib
{
- /** @relates Gtk::RecentFilter
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::RecentFilter
*/
Gtk::RecentFilter* wrap(GtkRecentFilter* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/recentinfo.h b/libs/gtkmm2/gtk/gtkmm/recentinfo.h
index 0ba088a6a3..c8279a61f6 100644
--- a/libs/gtkmm2/gtk/gtkmm/recentinfo.h
+++ b/libs/gtkmm2/gtk/gtkmm/recentinfo.h
@@ -83,55 +83,190 @@ public:
operator bool() const;
+ /** Gets the URI of the resource.
+ * @return The URI of the resource. The returned string is
+ * owned by the recent manager, and should not be freed.
+ *
+ * @newin2p10.
+ */
Glib::ustring get_uri() const;
+ /** Gets the name of the resource. If none has been defined, the basename
+ * of the resource is obtained.
+ * @return The display name of the resource. The returned string
+ * is owned by the recent manager, and should not be freed.
+ *
+ * @newin2p10.
+ */
Glib::ustring get_display_name() const;
+ /** Gets the (short) description of the resource.
+ * @return The description of the resource. The returned string
+ * is owned by the recent manager, and should not be freed.
+ *
+ * @newin2p10.
+ */
Glib::ustring get_description() const;
+ /** Gets the MIME type of the resource.
+ * @return The MIME type of the resource. The returned string
+ * is owned by the recent manager, and should not be freed.
+ *
+ * @newin2p10.
+ */
Glib::ustring get_mime_type() const;
+ /** Gets the timestamp (seconds from system's Epoch) when the resource
+ * was added to the recently used resources list.
+ * @return The number of seconds elapsed from system's Epoch when
+ * the resource was added to the list, or -1 on failure.
+ *
+ * @newin2p10.
+ */
time_t get_added() const;
+ /** Gets the timestamp (seconds from system's Epoch) when the resource
+ * was last modified.
+ * @return The number of seconds elapsed from system's Epoch when
+ * the resource was last modified, or -1 on failure.
+ *
+ * @newin2p10.
+ */
time_t get_modified() const;
+ /** Gets the timestamp (seconds from system's Epoch) when the resource
+ * was last visited.
+ * @return The number of seconds elapsed from system's Epoch when
+ * the resource was last visited, or -1 on failure.
+ *
+ * @newin2p10.
+ */
time_t get_visited() const;
+ /** Gets the value of the "private" flag. Resources in the recently used
+ * list that have this flag set to <tt>true</tt> should only be displayed by the
+ * applications that have registered them.
+ * @return <tt>true</tt> if the private flag was found, <tt>false</tt> otherwise.
+ *
+ * @newin2p10.
+ */
bool get_private_hint() const;
+ /** Gets the data regarding the application that has registered the resource
+ * pointed by @a info .
+ *
+ * If the command line contains any escape characters defined inside the
+ * storage specification, they will be expanded.
+ * @param app_name The name of the application that has registered this item.
+ * @param app_exec Return location for the string containing the command line.
+ * @param count Return location for the number of times this item was registered.
+ * @param time Return location for the timestamp this item was last registered
+ * for this application.
+ * @return <tt>true</tt> if an application with @a app_name has registered this
+ * resource inside the recently used list, or <tt>false</tt> otherwise. You should
+ * free the returned command line using Glib::free().
+ *
+ * @newin2p10.
+ */
bool get_application_info(const Glib::ustring& app_name, Glib::StringArrayHandle& app_exec, guint& count, time_t& time) const;
Glib::StringArrayHandle get_applications() const;
//_WRAP_METHOD(Glib::StringArrayHandle get_applications(unsigned& length) const, gtk_recent_info_get_applications)
+ /** Gets the name of the last application that have registered the
+ * recently used resource represented by @a info .
+ * @return An application name. Use Glib::free() to free it.
+ *
+ * @newin2p10.
+ */
Glib::ustring last_application() const;
+ /** Checks whether an application registered this resource using @a app_name .
+ * @param app_name A string containing an application name.
+ * @return <tt>true</tt> if an application with name @a app_name was found,
+ * <tt>false</tt> otherwise.
+ *
+ * @newin2p10.
+ */
bool has_application(const Glib::ustring& app_name) const;
Glib::StringArrayHandle get_groups() const;
//_WRAP_METHOD(Glib::StringArrayHandle get_groups(unsigned& length) const, gtk_recent_info_get_groups)
+ /** Checks whether @a group_name appears inside the groups registered for the
+ * recently used item @a info .
+ * @param group_name Name of a group.
+ * @return <tt>true</tt> if the group was found.
+ *
+ * @newin2p10.
+ */
bool has_group(const Glib::ustring& group) const;
+ /** Retrieves the icon of size @a size associated to the resource MIME type.
+ * @param size The size of the icon in pixels.
+ * @return A Gdk::Pixbuf containing the icon, or <tt>0</tt>.
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<Gdk::Pixbuf> get_icon(int size);
+ /** Retrieves the icon of size @a size associated to the resource MIME type.
+ * @param size The size of the icon in pixels.
+ * @return A Gdk::Pixbuf containing the icon, or <tt>0</tt>.
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<const Gdk::Pixbuf> get_icon(int size) const;
+ /** Computes a valid UTF-8 string that can be used as the name of the item in a
+ * menu or list. For example, calling this function on an item that refers to
+ * "file:///foo/bar.txt" will yield "bar.txt".
+ * @return A newly-allocated string in UTF-8 encoding; free it with
+ * Glib::free().
+ *
+ * @newin2p10.
+ */
Glib::ustring get_short_name() const;
+ /** Gets a displayable version of the resource's URI. If the resource
+ * is local, it returns a local path; if the resource is not local,
+ * it returns the UTF-8 encoded content of gtk_recent_info_get_uri().
+ * @return A UTF-8 string containing the resource's URI or <tt>0</tt>
+ *
+ * @newin2p10.
+ */
Glib::ustring get_uri_display() const;
+ /** Gets the number of days elapsed since the last update of the resource
+ * pointed by @a info .
+ * @return A positive integer containing the number of days elapsed
+ * since the time this resource was last modified.
+ *
+ * @newin2p10.
+ */
int get_age() const;
+ /** Checks whether the resource is local or not by looking at the
+ * scheme of its URI.
+ * @return <tt>true</tt> if the resource is local.
+ *
+ * @newin2p10.
+ */
bool is_local() const;
+ /** Checks whether the resource pointed by @a info still exists. At
+ * the moment this check is done only on resources pointing to local files.
+ * @return <tt>true</tt> if the resource exists
+ *
+ * @newin2p10.
+ */
bool exists() const;
@@ -172,10 +307,13 @@ inline bool operator!=(const RecentInfo& lhs, const RecentInfo& rhs)
namespace Glib
{
- /** @relates Gtk::RecentInfo
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::RecentInfo
*/
Glib::RefPtr<Gtk::RecentInfo> wrap(GtkRecentInfo* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gtk/gtkmm/recentmanager.cc b/libs/gtkmm2/gtk/gtkmm/recentmanager.cc
index 5709b36495..eede99759a 100644
--- a/libs/gtkmm2/gtk/gtkmm/recentmanager.cc
+++ b/libs/gtkmm2/gtk/gtkmm/recentmanager.cc
@@ -30,6 +30,28 @@ namespace Gtk
//Allow the generated code to work without the prefix:
typedef RecentManager::ListHandle_RecentInfos ListHandle_RecentInfos;
+bool RecentManager::add_item(const Glib::ustring& uri, const Data& data)
+{
+ GtkRecentData c_data;
+ gboolean result;
+
+ // I wonder whether these should be const in the GTK+ API. armin.
+ c_data.display_name = data.display_name.empty() ? NULL : const_cast<gchar*>(data.display_name.c_str());
+ c_data.description = const_cast<gchar*>(data.description.c_str());
+ c_data.mime_type = const_cast<gchar*>(data.mime_type.c_str());
+ c_data.app_name = const_cast<gchar*>(data.app_name.c_str());
+ c_data.app_exec = const_cast<gchar*>(data.app_exec.c_str());
+ c_data.groups = static_cast<gchar**>(g_malloc((data.groups.size() + 1) * sizeof(gchar)));
+ for(unsigned int i = 0; i < data.groups.size(); ++ i)
+ c_data.groups[i] = const_cast<gchar*>(data.groups[i].c_str());
+ c_data.groups[data.groups.size()] = NULL;
+ c_data.is_private = data.is_private;
+
+ result = gtk_recent_manager_add_full(gobj(), uri.c_str(), &c_data);
+ g_free(c_data.groups);
+ return result == TRUE;
+}
+
} //namespace Gtk
namespace
@@ -139,7 +161,7 @@ void RecentManager_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void RecentManager_Class::changed_callback(GtkRecentManager* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -147,32 +169,35 @@ void RecentManager_Class::changed_callback(GtkRecentManager* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->changed)
- (*base->changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->changed)
+ (*base->changed)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -220,7 +245,8 @@ GType RecentManager::get_base_type()
RecentManager::RecentManager()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(recentmanager_class_.init()))
{
}
@@ -276,11 +302,6 @@ bool RecentManager::add_item(const Glib::ustring& uri, std::auto_ptr<Glib::Error
}
-bool RecentManager::add_item(const Glib::ustring& uri, const Data& recent_data)
-{
- return gtk_recent_manager_add_full(gobj(), uri.c_str(), (GtkRecentData*)(&(recent_data)));
-}
-
#ifdef GLIBMM_EXCEPTIONS_ENABLED
bool RecentManager::remove_item(const Glib::ustring& uri)
#else
diff --git a/libs/gtkmm2/gtk/gtkmm/recentmanager.h b/libs/gtkmm2/gtk/gtkmm/recentmanager.h
index c48ffffd2f..442e262518 100644
--- a/libs/gtkmm2/gtk/gtkmm/recentmanager.h
+++ b/libs/gtkmm2/gtk/gtkmm/recentmanager.h
@@ -177,8 +177,35 @@ public:
static Glib::RefPtr<RecentManager> create();
+ /** Gets a unique instance of Gtk::RecentManager, that you can share
+ * in your application without caring about memory management. The
+ * returned instance will be freed when you application terminates.
+ * @return A unique Gtk::RecentManager. Do not ref or unref it.
+ *
+ * @newin2p10.
+ */
static Glib::RefPtr<RecentManager> get_default();
+ /** Gets the recent manager object associated with @a screen ; if this
+ * function has not previously been called for the given screen,
+ * a new recent manager object will be created and associated with
+ * the screen. Recent manager objects are fairly expensive to create,
+ * so using this function is usually a better choice than calling
+ * new() and setting the screen yourself; by using
+ * this function a single recent manager object will be shared between
+ * users.
+ * @param screen A Gdk::Screen.
+ * @return A unique Gtk::RecentManager associated with the given
+ * screen. This recent manager is associated to the with the screen
+ * and can be used as long as the screen is open. Do not ref or
+ * unref it.
+ *
+ * Deprecated: 2.12: This function has been deprecated and should
+ * not be used in newly written code. Calling this function is
+ * equivalent to calling get_default().
+ *
+ * @newin2p10.
+ */
static Glib::RefPtr<RecentManager> get_for_screen(const Glib::RefPtr<Gdk::Screen>& screen);
/** Meta-data passed to add_item(). You should
@@ -204,24 +231,69 @@ public:
Glib::ustring app_name;
Glib::ustring app_exec;
-
- Glib::StringArrayHandle groups;
+
+ std::vector<Glib::ustring> groups;
bool is_private;
};
-
+
+ /** Sets the screen for a recent manager; the screen is used to
+ * track the user's currently configured recently used documents
+ * storage.
+ *
+ * @newin2p10
+ *
+ * Deprecated: 2.12: This function has been deprecated and should
+ * not be used in newly written code. Calling this function has
+ * no effect.
+ * @param screen A Gdk::Screen.
+ */
void set_screen(const Glib::RefPtr<Gdk::Screen>& screen);
+
+ /** Adds a new resource into the recently used resources list. This function
+ * will try and guess some of the meta-data associated to a URI. If you
+ * know some of meta-data about the document yourself, set the desired
+ * fields of a RecentManager::Data structure and pass it to add_item().
+ */
+ /** Adds a new resource, pointed by @a uri , into the recently used
+ * resources list.
+ *
+ * This function automatically retrieving some of the needed
+ * metadata and setting other metadata to common default values; it
+ * then feeds the data to add_full().
+ *
+ * See add_full() if you want to explicitely
+ * define the metadata for the resource pointed by @a uri .
+ * @param uri A valid URI.
+ * @return <tt>true</tt> if the new item was successfully added
+ * to the recently used resources list
+ *
+ * @newin2p10.
+ */
#ifdef GLIBMM_EXCEPTIONS_ENABLED
bool add_item(const Glib::ustring& uri);
#else
bool add_item(const Glib::ustring& uri, std::auto_ptr<Glib::Error>& error);
#endif //GLIBMM_EXCEPTIONS_ENABLED
-
+
+ /** Adds a new resource into the recently used resources list, taking
+ * meta data from the given Data instead of guessing it from the URI.
+ */
bool add_item(const Glib::ustring& uri, const Data& recent_data);
+
+ /** Removes a resource pointed by @a uri from the recently used resources
+ * list handled by a recent manager.
+ * @param uri The URI of the item you wish to remove.
+ * @param error Return location for a G::Error, or <tt>0</tt>.
+ * @return <tt>true</tt> if the item pointed by @a uri has been successfully
+ * removed by the recently used resources list, and <tt>false</tt> otherwise.
+ *
+ * @newin2p10.
+ */
#ifdef GLIBMM_EXCEPTIONS_ENABLED
bool remove_item(const Glib::ustring& uri);
#else
@@ -229,6 +301,17 @@ public:
#endif //GLIBMM_EXCEPTIONS_ENABLED
+ /** Searches for a URI inside the recently used resources list, and
+ * Return value: a Gtk::RecentInfo structure containing information
+ * @param uri A URI.
+ * @param error A return location for a G::Error, or <tt>0</tt>.
+ * @return A Gtk::RecentInfo structure containing information
+ * about the resource pointed by @a uri , or <tt>0</tt> if the URI was
+ * not registered in the recently used resources list. Free with
+ * gtk_recent_info_unref().
+ *
+ * @newin2p10.
+ */
#ifdef GLIBMM_EXCEPTIONS_ENABLED
Glib::RefPtr<RecentInfo> lookup_item(const Glib::ustring& uri);
#else
@@ -236,6 +319,17 @@ public:
#endif //GLIBMM_EXCEPTIONS_ENABLED
+ /** Searches for a URI inside the recently used resources list, and
+ * Return value: a Gtk::RecentInfo structure containing information
+ * @param uri A URI.
+ * @param error A return location for a G::Error, or <tt>0</tt>.
+ * @return A Gtk::RecentInfo structure containing information
+ * about the resource pointed by @a uri , or <tt>0</tt> if the URI was
+ * not registered in the recently used resources list. Free with
+ * gtk_recent_info_unref().
+ *
+ * @newin2p10.
+ */
#ifdef GLIBMM_EXCEPTIONS_ENABLED
Glib::RefPtr<const RecentInfo> lookup_item(const Glib::ustring& uri) const;
#else
@@ -243,8 +337,27 @@ public:
#endif //GLIBMM_EXCEPTIONS_ENABLED
+ /** Checks whether there is a recently used resource registered
+ * with @a uri inside the recent manager.
+ * @param uri A URI.
+ * @return <tt>true</tt> if the resource was found, <tt>false</tt> otherwise.
+ *
+ * @newin2p10.
+ */
bool has_item(const Glib::ustring& uri) const;
+ /** Changes the location of a recently used resource from @a uri to @a new_uri .
+ *
+ * Please note that this function will not affect the resource pointed
+ * by the URIs, but only the URI used in the recently used resources list.
+ * @param uri The URI of a recently used resource.
+ * @param new_uri The new URI of the recently used resource, or <tt>0</tt> to
+ * remove the item pointed by @a uri in the list.
+ * @param error A return location for a G::Error, or <tt>0</tt>.
+ * @return <tt>true</tt> on success.
+ *
+ * @newin2p10.
+ */
#ifdef GLIBMM_EXCEPTIONS_ENABLED
bool move_item(const Glib::ustring& uri, const Glib::ustring& new_uri);
#else
@@ -252,16 +365,43 @@ public:
#endif //GLIBMM_EXCEPTIONS_ENABLED
+ /** Sets the maximum number of item that the get_items()
+ * function should return. If @a limit is set to -1, then return all the
+ * items.
+ *
+ * @newin2p10
+ * @param limit The maximum number of items to return, or -1.
+ */
void set_limit(int limit);
+ /** Gets the maximum number of items that the get_items()
+ * function should return.
+ * @return The number of items to return, or -1 for every item.
+ *
+ * @newin2p10.
+ */
int get_limit() const;
typedef Glib::ListHandle<RecentInfo, RecentInfoTraits> ListHandle_RecentInfos;
+ /** Gets the list of recently used resources.
+ * @return A list of newly allocated Gtk::RecentInfo objects. Use
+ * gtk_recent_info_unref() on each item inside the list, and then
+ * free the list itself using Glib::list_free().
+ *
+ * @newin2p10.
+ */
ListHandle_RecentInfos get_items() const;
+ /** Purges every item from the recently used resources list.
+ * @param error A return location for a G::Error, or <tt>0</tt>.
+ * @return The number of items that have been removed from the
+ * recently used resources list.
+ *
+ * @newin2p10.
+ */
#ifdef GLIBMM_EXCEPTIONS_ENABLED
int purge_items();
#else
@@ -273,11 +413,9 @@ public:
typedef sigc::slot<void> SlotChanged;
/** The "changed" signal is emitted when an item in the recently used resources list is changed.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %changed()</tt>
+ * <tt>void on_my_%changed()</tt>
*/
Glib::SignalProxy0< void > signal_changed();
@@ -295,7 +433,7 @@ public:
#ifdef GLIBMM_PROPERTIES_ENABLED
-/** The maximum number of items to be returned by gtk_recent_manager_get_items.
+/** The maximum number of items to be returned by gtk_recent_manager_get_items().
*
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
@@ -305,7 +443,7 @@ public:
#endif //#GLIBMM_PROPERTIES_ENABLED
#ifdef GLIBMM_PROPERTIES_ENABLED
-/** The maximum number of items to be returned by gtk_recent_manager_get_items.
+/** The maximum number of items to be returned by gtk_recent_manager_get_items().
*
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
@@ -350,10 +488,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::RecentManager
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::RecentManager
*/
Glib::RefPtr<Gtk::RecentManager> wrap(GtkRecentManager* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/ruler.cc b/libs/gtkmm2/gtk/gtkmm/ruler.cc
index f104c64455..b3119286db 100644
--- a/libs/gtkmm2/gtk/gtkmm/ruler.cc
+++ b/libs/gtkmm2/gtk/gtkmm/ruler.cc
@@ -106,7 +106,7 @@ void Ruler_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_VFUNCS_ENABLED
void Ruler_Class::draw_ticks_vfunc_callback(GtkRuler* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -114,36 +114,40 @@ void Ruler_Class::draw_ticks_vfunc_callback(GtkRuler* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_ticks_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_ticks_vfunc();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_ticks)
+ (*base->draw_ticks)(self);
- // Call the original underlying C function:
- if(base && base->draw_ticks)
- (*base->draw_ticks)(self);
- }
}
void Ruler_Class::draw_pos_vfunc_callback(GtkRuler* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -151,32 +155,36 @@ void Ruler_Class::draw_pos_vfunc_callback(GtkRuler* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_pos_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_pos_vfunc();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_pos)
+ (*base->draw_pos)(self);
- // Call the original underlying C function:
- if(base && base->draw_pos)
- (*base->draw_pos)(self);
- }
}
#endif //GLIBMM_VFUNCS_ENABLED
@@ -225,7 +233,8 @@ GType Ruler::get_base_type()
Ruler::Ruler()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Widget(Glib::ConstructParams(ruler_class_.init()))
{
}
@@ -451,7 +460,8 @@ GType VRuler::get_base_type()
VRuler::VRuler()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Ruler(Glib::ConstructParams(vruler_class_.init()))
{
}
@@ -562,7 +572,8 @@ GType HRuler::get_base_type()
HRuler::HRuler()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Ruler(Glib::ConstructParams(hruler_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/ruler.h b/libs/gtkmm2/gtk/gtkmm/ruler.h
index 3afec185d1..a701912d48 100644
--- a/libs/gtkmm2/gtk/gtkmm/ruler.h
+++ b/libs/gtkmm2/gtk/gtkmm/ruler.h
@@ -415,10 +415,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Ruler
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Ruler
*/
Gtk::Ruler* wrap(GtkRuler* object, bool take_copy = false);
} //namespace Glib
@@ -426,10 +429,13 @@ namespace Glib
namespace Glib
{
- /** @relates Gtk::VRuler
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::VRuler
*/
Gtk::VRuler* wrap(GtkVRuler* object, bool take_copy = false);
} //namespace Glib
@@ -437,10 +443,13 @@ namespace Glib
namespace Glib
{
- /** @relates Gtk::HRuler
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::HRuler
*/
Gtk::HRuler* wrap(GtkHRuler* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/scale.cc b/libs/gtkmm2/gtk/gtkmm/scale.cc
index e3ca69c1f1..ef05482f06 100644
--- a/libs/gtkmm2/gtk/gtkmm/scale.cc
+++ b/libs/gtkmm2/gtk/gtkmm/scale.cc
@@ -54,8 +54,9 @@ int Scale::calc_digits_(double step) const
VScale::VScale(double min, double max, double step)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Scale(Glib::ConstructParams(vscale_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Scale(Glib::ConstructParams(vscale_class_.init()))
{
Adjustment* adjustment = manage(new Adjustment(min, min, max, step, 10 * step, step));
// The adjustment will be destroyed along with the object
@@ -66,16 +67,18 @@ VScale::VScale(double min, double max, double step)
VScale::VScale(Adjustment& adjustment)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Scale(Glib::ConstructParams(vscale_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Scale(Glib::ConstructParams(vscale_class_.init()))
{
set_adjustment(adjustment);
}
VScale::VScale()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Scale(Glib::ConstructParams(vscale_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Scale(Glib::ConstructParams(vscale_class_.init()))
{
Adjustment* adjustment = manage(new Adjustment(0.0, 0.0, 0.0,
0.0, 0.0, 0.0));
@@ -86,8 +89,9 @@ VScale::VScale()
HScale::HScale(double min, double max, double step)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Scale(Glib::ConstructParams(hscale_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Scale(Glib::ConstructParams(hscale_class_.init()))
{
Adjustment* adjustment = manage(new Adjustment(min, min, max, step, 10 * step, step));
// The adjustment will be destroyed along with the object
@@ -98,8 +102,9 @@ HScale::HScale(double min, double max, double step)
HScale::HScale()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Scale(Glib::ConstructParams(hscale_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Scale(Glib::ConstructParams(hscale_class_.init()))
{
Adjustment* adjustment = manage(new Adjustment(0.0, 0.0, 0.0,
0.0, 0.0, 0.0));
@@ -109,8 +114,9 @@ HScale::HScale()
HScale::HScale(Adjustment& adjustment)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Scale(Glib::ConstructParams(hscale_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Scale(Glib::ConstructParams(hscale_class_.init()))
{
set_adjustment(adjustment);
}
@@ -243,7 +249,7 @@ void Scale_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_VFUNCS_ENABLED
void Scale_Class::draw_value_vfunc_callback(GtkScale* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -251,39 +257,43 @@ void Scale_Class::draw_value_vfunc_callback(GtkScale* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_value_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_value_vfunc();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_value)
+ (*base->draw_value)(self);
- // Call the original underlying C function:
- if(base && base->draw_value)
- (*base->draw_value)(self);
- }
}
#endif //GLIBMM_VFUNCS_ENABLED
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
gchar* Scale_Class::format_value_callback(GtkScale* self, gdouble p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -291,34 +301,36 @@ gchar* Scale_Class::format_value_callback(GtkScale* self, gdouble p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return (strlen(obj->on_format_value(p0
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return (strlen(obj->on_format_value(p0
).c_str()) ? g_strdup(obj->on_format_value(p0
).c_str()) : 0);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->format_value)
- return (*base->format_value)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->format_value)
+ return (*base->format_value)(self, p0);
typedef gchar* RType;
return RType();
@@ -367,7 +379,8 @@ GType Scale::get_base_type()
Scale::Scale()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Range(Glib::ConstructParams(scale_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/scale.h b/libs/gtkmm2/gtk/gtkmm/scale.h
index 3313552d20..c0bb36a1cd 100644
--- a/libs/gtkmm2/gtk/gtkmm/scale.h
+++ b/libs/gtkmm2/gtk/gtkmm/scale.h
@@ -171,31 +171,33 @@ public:
PositionType get_value_pos() const;
- /** Gets the Pango::Layout used to display the scale. The returned object
- * is owned by the scale so does not need to be freed by the caller.
- * @return The Pango::Layout for this scale, or <tt>0</tt> if the draw_value property
- * is <tt>false</tt>.
+ /** Gets the Pango::Layout used to display the scale.
+ * The returned object is owned by the scale so does
+ * not need to be freed by the caller.
+ * @return The Pango::Layout for this scale, or <tt>0</tt>
+ * if the Gtk::Scale:draw-value property is <tt>false</tt>.
*
* @newin2p4.
*/
Glib::RefPtr<Pango::Layout> get_layout();
- /** Gets the Pango::Layout used to display the scale. The returned object
- * is owned by the scale so does not need to be freed by the caller.
- * @return The Pango::Layout for this scale, or <tt>0</tt> if the draw_value property
- * is <tt>false</tt>.
+ /** Gets the Pango::Layout used to display the scale.
+ * The returned object is owned by the scale so does
+ * not need to be freed by the caller.
+ * @return The Pango::Layout for this scale, or <tt>0</tt>
+ * if the Gtk::Scale:draw-value property is <tt>false</tt>.
*
* @newin2p4.
*/
Glib::RefPtr<const Pango::Layout> get_layout() const;
- /** Obtains the coordinates where the scale will draw the Pango::Layout
- * representing the text in the scale. Remember
+ /** Obtains the coordinates where the scale will draw the
+ * Pango::Layout representing the text in the scale. Remember
* when using the Pango::Layout function you need to convert to
* and from pixels using PANGO_PIXELS() or Pango::SCALE.
*
- * If the draw_value property is <tt>false</tt>, the return values are
- * undefined.
+ * If the Gtk::Scale:draw-value property is <tt>false</tt>, the return
+ * values are undefined.
*
* @newin2p4
* @param x Location to store X offset of layout, or <tt>0</tt>.
@@ -209,11 +211,9 @@ public:
* This can be used to connect a custom function for determining how the
* value is formatted. The function (or function object) is given a the value
* as a double and should return the representation of it as a Glib::ustring.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>Glib::ustring %format_value(double value)</tt>
+ * <tt>Glib::ustring on_my_%format_value(double value)</tt>
*/
Glib::SignalProxy1< Glib::ustring,double > signal_format_value();
@@ -469,10 +469,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Scale
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Scale
*/
Gtk::Scale* wrap(GtkScale* object, bool take_copy = false);
} //namespace Glib
@@ -480,10 +483,13 @@ namespace Glib
namespace Glib
{
- /** @relates Gtk::VScale
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::VScale
*/
Gtk::VScale* wrap(GtkVScale* object, bool take_copy = false);
} //namespace Glib
@@ -491,10 +497,13 @@ namespace Glib
namespace Glib
{
- /** @relates Gtk::HScale
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::HScale
*/
Gtk::HScale* wrap(GtkHScale* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/scalebutton.cc b/libs/gtkmm2/gtk/gtkmm/scalebutton.cc
new file mode 100644
index 0000000000..bb28c84d0a
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm/scalebutton.cc
@@ -0,0 +1,325 @@
+// Generated by gtkmmproc -- DO NOT MODIFY!
+
+
+#include <gtkmm/scalebutton.h>
+#include <gtkmm/private/scalebutton_p.h>
+
+// -*- c++ -*-
+/* $Id: scalebutton.ccg,v 1.2 2003/10/18 15:35:31 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2007 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkscalebutton.h>
+
+namespace Gtk
+{
+
+
+} // namespace Gtk
+
+
+namespace
+{
+
+
+static void ScaleButton_signal_value_changed_callback(GtkScaleButton* self, gdouble p0,void* data)
+{
+ using namespace Gtk;
+ typedef sigc::slot< void,double > SlotType;
+
+ // Do not try to call a signal on a disassociated wrapper.
+ if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
+ (*static_cast<SlotType*>(slot))(p0
+);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+}
+
+static const Glib::SignalProxyInfo ScaleButton_signal_value_changed_info =
+{
+ "value_changed",
+ (GCallback) &ScaleButton_signal_value_changed_callback,
+ (GCallback) &ScaleButton_signal_value_changed_callback
+};
+
+
+} // anonymous namespace
+
+
+namespace Glib
+{
+
+Gtk::ScaleButton* wrap(GtkScaleButton* object, bool take_copy)
+{
+ return dynamic_cast<Gtk::ScaleButton *> (Glib::wrap_auto ((GObject*)(object), take_copy));
+}
+
+} /* namespace Glib */
+
+namespace Gtk
+{
+
+
+/* The *_Class implementation: */
+
+const Glib::Class& ScaleButton_Class::init()
+{
+ if(!gtype_) // create the GType if necessary
+ {
+ // Glib::Class has to know the class init function to clone custom types.
+ class_init_func_ = &ScaleButton_Class::class_init_function;
+
+ // This is actually just optimized away, apparently with no harm.
+ // Make sure that the parent type has been created.
+ //CppClassParent::CppObjectType::get_type();
+
+ // Create the wrapper type, with the same class/instance size as the base type.
+ register_derived_type(gtk_scale_button_get_type());
+
+ // Add derived versions of interfaces, if the C type implements any interfaces:
+ }
+
+ return *this;
+}
+
+void ScaleButton_Class::class_init_function(void* g_class, void* class_data)
+{
+ BaseClassType *const klass = static_cast<BaseClassType*>(g_class);
+ CppClassParent::class_init_function(klass, class_data);
+
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+ klass->value_changed = &value_changed_callback;
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+}
+
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+void ScaleButton_Class::value_changed_callback(GtkScaleButton* self, gdouble p0)
+{
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
+ Glib::ObjectBase::_get_current_wrapper((GObject*)self));
+
+ // Non-gtkmmproc-generated custom classes implicitly call the default
+ // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
+ // generated classes can use this optimisation, which avoids the unnecessary
+ // parameter conversions if there is no possibility of the virtual function
+ // being overridden:
+ if(obj_base && obj_base->is_derived_())
+ {
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_value_changed(p0
+);
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+ }
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->value_changed)
+ (*base->value_changed)(self, p0);
+}
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+
+Glib::ObjectBase* ScaleButton_Class::wrap_new(GObject* o)
+{
+ return manage(new ScaleButton((GtkScaleButton*)(o)));
+
+}
+
+
+/* The implementation: */
+
+ScaleButton::ScaleButton(const Glib::ConstructParams& construct_params)
+:
+ Gtk::Button(construct_params)
+{
+ }
+
+ScaleButton::ScaleButton(GtkScaleButton* castitem)
+:
+ Gtk::Button((GtkButton*)(castitem))
+{
+ }
+
+ScaleButton::~ScaleButton()
+{
+ destroy_();
+}
+
+ScaleButton::CppClassType ScaleButton::scalebutton_class_; // initialize static member
+
+GType ScaleButton::get_type()
+{
+ return scalebutton_class_.init().get_type();
+}
+
+GType ScaleButton::get_base_type()
+{
+ return gtk_scale_button_get_type();
+}
+
+
+ScaleButton::ScaleButton(IconSize size, double min, double max, double step, const Glib::StringArrayHandle& icons)
+:
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Button(Glib::ConstructParams(scalebutton_class_.init(), "size", static_cast<GtkIconSize>(int(size)), "min", min, "max", max, "step", step, "icons", const_cast<const gchar**>((icons).data()), static_cast<char*>(0)))
+{
+ }
+
+void ScaleButton::set_icons(const Glib::StringArrayHandle& icons)
+{
+gtk_scale_button_set_icons(gobj(), const_cast<const gchar**>((icons).data()));
+}
+
+double ScaleButton::get_value() const
+{
+ return gtk_scale_button_get_value(const_cast<GtkScaleButton*>(gobj()));
+}
+
+void ScaleButton::set_value(double value)
+{
+gtk_scale_button_set_value(gobj(), value);
+}
+
+Gtk::Adjustment* ScaleButton::get_adjustment()
+{
+
+ Gtk::Adjustment* retvalue = Glib::wrap(gtk_scale_button_get_adjustment(gobj()));
+ if(retvalue)
+ retvalue->reference(); //The function does not do a ref for us.
+ return retvalue;
+
+}
+
+Gtk::Adjustment* ScaleButton::get_adjustment() const
+{
+ return const_cast<ScaleButton*>(this)->get_adjustment();
+}
+
+void ScaleButton::set_adjustment(Gtk::Adjustment& adjustment)
+{
+gtk_scale_button_set_adjustment(gobj(), (adjustment).gobj());
+}
+
+
+Glib::SignalProxy1< void,double > ScaleButton::signal_value_changed()
+{
+ return Glib::SignalProxy1< void,double >(this, &ScaleButton_signal_value_changed_info);
+}
+
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<double> ScaleButton::property_value()
+{
+ return Glib::PropertyProxy<double>(this, "value");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<double> ScaleButton::property_value() const
+{
+ return Glib::PropertyProxy_ReadOnly<double>(this, "value");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<IconSize> ScaleButton::property_size()
+{
+ return Glib::PropertyProxy<IconSize>(this, "size");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<IconSize> ScaleButton::property_size() const
+{
+ return Glib::PropertyProxy_ReadOnly<IconSize>(this, "size");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<Adjustment*> ScaleButton::property_adjustment()
+{
+ return Glib::PropertyProxy<Adjustment*>(this, "adjustment");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<Adjustment*> ScaleButton::property_adjustment() const
+{
+ return Glib::PropertyProxy_ReadOnly<Adjustment*>(this, "adjustment");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+void Gtk::ScaleButton::on_value_changed(double value)
+{
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ if(base && base->value_changed)
+ (*base->value_changed)(gobj(),value);
+}
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+
+} // namespace Gtk
+
+
diff --git a/libs/gtkmm2/gtk/gtkmm/scalebutton.h b/libs/gtkmm2/gtk/gtkmm/scalebutton.h
new file mode 100644
index 0000000000..00214e225f
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm/scalebutton.h
@@ -0,0 +1,264 @@
+// -*- c++ -*-
+// Generated by gtkmmproc -- DO NOT MODIFY!
+#ifndef _GTKMM_SCALEBUTTON_H
+#define _GTKMM_SCALEBUTTON_H
+
+
+#include <glibmm.h>
+
+/* $Id: scalebutton.hg,v 1.5 2005/11/30 14:10:49 murrayc Exp $ */
+
+/* scalebutton.h
+ *
+ * Copyright (C) 2007 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/button.h>
+#include <gtkmm/adjustment.h>
+#include <gtkmm/enums.h>
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+typedef struct _GtkScaleButton GtkScaleButton;
+typedef struct _GtkScaleButtonClass GtkScaleButtonClass;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Gtk
+{ class ScaleButton_Class; } // namespace Gtk
+namespace Gtk
+{
+
+/** A button which pops up a scale widget.
+ *
+ * This kind of widget is commonly used for volume controls in multimedia
+ * applications, and there is a Gtk::VolumeButton subclass that is tailored
+ * for this use case.
+ *
+ * @ingroup Widgets
+ * @newin2p12
+ */
+
+class ScaleButton : public Button
+{
+ public:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ typedef ScaleButton CppObjectType;
+ typedef ScaleButton_Class CppClassType;
+ typedef GtkScaleButton BaseObjectType;
+ typedef GtkScaleButtonClass BaseClassType;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+ virtual ~ScaleButton();
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+private:
+ friend class ScaleButton_Class;
+ static CppClassType scalebutton_class_;
+
+ // noncopyable
+ ScaleButton(const ScaleButton&);
+ ScaleButton& operator=(const ScaleButton&);
+
+protected:
+ explicit ScaleButton(const Glib::ConstructParams& construct_params);
+ explicit ScaleButton(GtkScaleButton* castitem);
+
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+public:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ static GType get_type() G_GNUC_CONST;
+ static GType get_base_type() G_GNUC_CONST;
+#endif
+
+ ///Provides access to the underlying C GtkObject.
+ GtkScaleButton* gobj() { return reinterpret_cast<GtkScaleButton*>(gobject_); }
+
+ ///Provides access to the underlying C GtkObject.
+ const GtkScaleButton* gobj() const { return reinterpret_cast<GtkScaleButton*>(gobject_); }
+
+
+public:
+ //C++ methods used to invoke GTK+ virtual functions:
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+protected:
+ //GTK+ Virtual Functions (override these to change behaviour):
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+ //Default Signal Handlers::
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+ virtual void on_value_changed(double value);
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+
+private:
+
+public:
+
+ explicit ScaleButton(IconSize size, double min, double max, double step, const Glib::StringArrayHandle& icons);
+
+
+ /** Sets the icons to be used by the scale button.
+ * For details, see the Gtk::ScaleButton:icons property.
+ *
+ * Since 2.12
+ * @param icons A <tt>0</tt>-terminated array of icon names.
+ */
+ void set_icons(const Glib::StringArrayHandle& icons);
+
+ /** Gets the current value of the scale button.
+ * @return Current value of the scale button
+ *
+ * @newin2p12.
+ */
+ double get_value() const;
+
+ /** Sets the current value of the scale; if the value is outside
+ * the minimum or maximum range values, it will be clamped to fit
+ * inside them. The scale button emits the Gtk::ScaleButton::value-changed
+ * signal if the value changes.
+ *
+ * @newin2p12
+ * @param value New value of the scale button.
+ */
+ void set_value(double value);
+
+ /** Gets the Gtk::Adjustment associated with the Gtk::ScaleButton's scale.
+ * See Gtk::Range::get_adjustment() for details.
+ * @return The adjustment associated with the scale
+ *
+ * @newin2p12.
+ */
+ Gtk::Adjustment* get_adjustment();
+
+ /** Gets the Gtk::Adjustment associated with the Gtk::ScaleButton's scale.
+ * See Gtk::Range::get_adjustment() for details.
+ * @return The adjustment associated with the scale
+ *
+ * @newin2p12.
+ */
+ Gtk::Adjustment* get_adjustment() const;
+
+ /** Sets the Gtk::Adjustment to be used as a model
+ * for the Gtk::ScaleButton's scale.
+ * See Gtk::Range::set_adjustment() for details.
+ *
+ * @newin2p12
+ * @param adjustment A Gtk::Adjustment.
+ */
+ void set_adjustment(Gtk::Adjustment& adjustment);
+
+
+ /**
+ * @par Prototype:
+ * <tt>void on_my_%value_changed(double value)</tt>
+ */
+
+ Glib::SignalProxy1< void,double > signal_value_changed();
+
+
+ //Ignore key-binding signals:
+
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** The value of the scale.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<double> property_value() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** The value of the scale.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<double> property_value() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** The icon size.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<IconSize> property_size() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** The icon size.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<IconSize> property_size() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** The GtkAdjustment that contains the current value of this scale button object.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<Adjustment*> property_adjustment() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** The GtkAdjustment that contains the current value of this scale button object.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<Adjustment*> property_adjustment() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+
+};
+
+
+} // namespace Gtk
+
+
+namespace Glib
+{
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
+ * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
+ * @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::ScaleButton
+ */
+ Gtk::ScaleButton* wrap(GtkScaleButton* object, bool take_copy = false);
+} //namespace Glib
+
+
+#endif /* _GTKMM_SCALEBUTTON_H */
+
diff --git a/libs/gtkmm2/gtk/gtkmm/scrollbar.cc b/libs/gtkmm2/gtk/gtkmm/scrollbar.cc
index 5650494b98..b7a917eafc 100644
--- a/libs/gtkmm2/gtk/gtkmm/scrollbar.cc
+++ b/libs/gtkmm2/gtk/gtkmm/scrollbar.cc
@@ -37,16 +37,18 @@ namespace Gtk
VScrollbar::VScrollbar(Adjustment& adjustment)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Scrollbar(Glib::ConstructParams(vscrollbar_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Scrollbar(Glib::ConstructParams(vscrollbar_class_.init()))
{
set_adjustment(adjustment);
}
VScrollbar::VScrollbar()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Scrollbar(Glib::ConstructParams(vscrollbar_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Scrollbar(Glib::ConstructParams(vscrollbar_class_.init()))
{
Adjustment* adjustment = manage(new Adjustment(0.0, 0.0, 0.0, 0.0, 0.0, 0.0));
@@ -57,8 +59,9 @@ VScrollbar::VScrollbar()
HScrollbar::HScrollbar()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Scrollbar(Glib::ConstructParams(hscrollbar_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Scrollbar(Glib::ConstructParams(hscrollbar_class_.init()))
{
Adjustment* adjustment = manage(new Adjustment(0.0, 0.0, 0.0, 0.0, 0.0, 0.0));
@@ -68,8 +71,9 @@ HScrollbar::HScrollbar()
HScrollbar::HScrollbar(Adjustment& adjustment)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Scrollbar(Glib::ConstructParams(hscrollbar_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Scrollbar(Glib::ConstructParams(hscrollbar_class_.init()))
{
set_adjustment(adjustment);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/scrollbar.h b/libs/gtkmm2/gtk/gtkmm/scrollbar.h
index e18a0243a0..fa8a7b9850 100644
--- a/libs/gtkmm2/gtk/gtkmm/scrollbar.h
+++ b/libs/gtkmm2/gtk/gtkmm/scrollbar.h
@@ -297,10 +297,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Scrollbar
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Scrollbar
*/
Gtk::Scrollbar* wrap(GtkScrollbar* object, bool take_copy = false);
} //namespace Glib
@@ -308,10 +311,13 @@ namespace Glib
namespace Glib
{
- /** @relates Gtk::VScrollbar
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::VScrollbar
*/
Gtk::VScrollbar* wrap(GtkVScrollbar* object, bool take_copy = false);
} //namespace Glib
@@ -319,10 +325,13 @@ namespace Glib
namespace Glib
{
- /** @relates Gtk::HScrollbar
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::HScrollbar
*/
Gtk::HScrollbar* wrap(GtkHScrollbar* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/scrolledwindow.cc b/libs/gtkmm2/gtk/gtkmm/scrolledwindow.cc
index 8319f9d821..7033003bde 100644
--- a/libs/gtkmm2/gtk/gtkmm/scrolledwindow.cc
+++ b/libs/gtkmm2/gtk/gtkmm/scrolledwindow.cc
@@ -156,15 +156,17 @@ GType ScrolledWindow::get_base_type()
ScrolledWindow::ScrolledWindow()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Bin(Glib::ConstructParams(scrolledwindow_class_.init()))
{
}
ScrolledWindow::ScrolledWindow(Adjustment& hadjustment, Adjustment& vadjustment)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Bin(Glib::ConstructParams(scrolledwindow_class_.init(), "hadjustment", (hadjustment).gobj(), "vadjustment", (vadjustment).gobj(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Bin(Glib::ConstructParams(scrolledwindow_class_.init(), "hadjustment", (hadjustment).gobj(), "vadjustment", (vadjustment).gobj(), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/scrolledwindow.h b/libs/gtkmm2/gtk/gtkmm/scrolledwindow.h
index fdd7860ffa..fafa8b55ce 100644
--- a/libs/gtkmm2/gtk/gtkmm/scrolledwindow.h
+++ b/libs/gtkmm2/gtk/gtkmm/scrolledwindow.h
@@ -155,13 +155,36 @@ public:
void get_policy(PolicyType& hscrollbar_policy, PolicyType& vscrollbar_policy) const;
+ /** Sets the placement of the contents with respect to the scrollbars
+ * for the scrolled window.
+ * The default is Gtk::CORNER_TOP_LEFT, meaning the child is
+ * in the top left, with the scrollbars underneath and to the right.
+ * Other values in Gtk::CornerType are Gtk::CORNER_TOP_RIGHT,
+ * Gtk::CORNER_BOTTOM_LEFT, and Gtk::CORNER_BOTTOM_RIGHT.
+ *
+ * See also get_placement() and
+ * unset_placement().
+ * @param window_placement Position of the child window.
+ */
void set_placement(CornerType window_placement);
+ /** Unsets the placement of the contents with respect to the scrollbars
+ * for the scrolled window. If no window placement is set for a scrolled
+ * window, it obeys the "gtk-scrolled-window-placement" XSETTING.
+ *
+ * See also set_placement() and
+ * get_placement().
+ *
+ * @newin2p10
+ */
void unset_placement();
- /** Gets the placement of the scrollbars for the scrolled window. See
- * set_placement().
+ /** Gets the placement of the contents with respect to the scrollbars
+ * for the scrolled window. See set_placement().
* @return The current placement value.
+ *
+ * See also set_placement() and
+ * unset_placement().
*/
CornerType get_placement() const;
@@ -182,7 +205,7 @@ public:
virtual void add(Gtk::Widget& widget);
- /** Returns the vertical scrollbar of @a scrolled_window .
+ /** Returns: the vertical scrollbar of the scrolled window, or
* @return The vertical scrollbar of the scrolled window, or
* <tt>0</tt> if it does not have one.
*
@@ -190,7 +213,7 @@ public:
*/
VScrollbar* get_vscrollbar();
- /** Returns the vertical scrollbar of @a scrolled_window .
+ /** Returns: the vertical scrollbar of the scrolled window, or
* @return The vertical scrollbar of the scrolled window, or
* <tt>0</tt> if it does not have one.
*
@@ -199,7 +222,7 @@ public:
const VScrollbar* get_vscrollbar() const;
- /** Returns the horizontal scrollbar of @a scrolled_window .
+ /** Returns: the horizontal scrollbar of the scrolled window, or
* @return The horizontal scrollbar of the scrolled window, or
* <tt>0</tt> if it does not have one.
*
@@ -207,7 +230,7 @@ public:
*/
HScrollbar* get_hscrollbar();
- /** Returns the horizontal scrollbar of @a scrolled_window .
+ /** Returns: the horizontal scrollbar of the scrolled window, or
* @return The horizontal scrollbar of the scrolled window, or
* <tt>0</tt> if it does not have one.
*
@@ -349,10 +372,13 @@ public:
namespace Glib
{
- /** @relates Gtk::ScrolledWindow
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::ScrolledWindow
*/
Gtk::ScrolledWindow* wrap(GtkScrolledWindow* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/selectiondata.cc b/libs/gtkmm2/gtk/gtkmm/selectiondata.cc
index f550cedbb9..db83bb4f2d 100644
--- a/libs/gtkmm2/gtk/gtkmm/selectiondata.cc
+++ b/libs/gtkmm2/gtk/gtkmm/selectiondata.cc
@@ -76,7 +76,7 @@ std::string SelectionData::get_target() const
gdk_atom_name(const_cast<GtkSelectionData*>(gobj())->target));
}
-Glib::StringArrayHandle SelectionData::get_targets() const
+Gdk::ArrayHandle_AtomString SelectionData::get_targets() const
{
GdkAtom* targets = 0;
int n_targets = 0;
@@ -84,25 +84,11 @@ Glib::StringArrayHandle SelectionData::get_targets() const
if(!gtk_selection_data_get_targets(const_cast<GtkSelectionData*>(gobj()), &targets, &n_targets))
n_targets = 0; // it's set to -1 otherwise
- //Build a C++ list containing the target names:
- std::list<Glib::ustring> listTargets;
- for(int i = 0; i < n_targets; n_targets++)
- {
- //Convert the atom to a string:
- gchar* const atom_name = gdk_atom_name(targets[i]);
-
- Glib::ustring target;
- if(atom_name)
- target = Glib::ScopedPtr<char>(atom_name).get(); //This frees the gchar*.
-
- listTargets.push_back(target);
- }
-
- g_free(targets);
-
- return listTargets;
+ //Note that we free the GdkAtom* array, but we don't need to free its items:
+ return Gdk::ArrayHandle_AtomString(targets, n_targets, Glib::OWNERSHIP_SHALLOW);
}
+
std::string SelectionData::get_data_type() const
{
return Glib::convert_return_gchar_ptr_to_stdstring(
diff --git a/libs/gtkmm2/gtk/gtkmm/selectiondata.h b/libs/gtkmm2/gtk/gtkmm/selectiondata.h
index b3192a24c4..57bdd87a00 100644
--- a/libs/gtkmm2/gtk/gtkmm/selectiondata.h
+++ b/libs/gtkmm2/gtk/gtkmm/selectiondata.h
@@ -182,7 +182,7 @@ public:
std::string get_target() const;
/// See also Gtk::Clipboard::request_targets()
- Glib::StringArrayHandle get_targets() const;
+ Gdk::ArrayHandle_AtomString get_targets() const;
/** Returns the ID of the selection.
@@ -198,6 +198,14 @@ public:
Glib::RefPtr<const Gdk::Display> get_display() const;
+ /** Given a Gtk::SelectionData object holding a list of targets,
+ * determines if any of the targets in @a targets can be used to
+ * provide a list or URIs.
+ * @return <tt>true</tt> if @a selection_data holds a list of targets,
+ * and a suitable target for text is included, otherwise <tt>false</tt>.
+ *
+ * @newin2p10.
+ */
bool targets_include_uri() const;
/** Given a Gtk::SelectionData object holding a list of targets,
@@ -208,6 +216,16 @@ public:
*/
bool targets_include_text() const;
+ /** Given a Gtk::SelectionData object holding a list of targets,
+ * determines if any of the targets in @a targets can be used to
+ * provide rich text.
+ * @param buffer A Gtk::TextBuffer.
+ * @return <tt>true</tt> if @a selection_data holds a list of targets,
+ * and a suitable target for rich text is included,
+ * otherwise <tt>false</tt>.
+ *
+ * @newin2p10.
+ */
bool targets_include_rich_text(const Glib::RefPtr<TextBuffer>& buffer) const;
/** Given a Gtk::SelectionData object holding a list of targets,
@@ -243,10 +261,13 @@ inline void swap(SelectionData& lhs, SelectionData& rhs)
namespace Glib
{
-/** @relates Gtk::SelectionData
- * @param object The C instance
+/** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::SelectionData
*/
Gtk::SelectionData wrap(GtkSelectionData* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gtk/gtkmm/separator.cc b/libs/gtkmm2/gtk/gtkmm/separator.cc
index 808bd68eb5..d02b99bf6b 100644
--- a/libs/gtkmm2/gtk/gtkmm/separator.cc
+++ b/libs/gtkmm2/gtk/gtkmm/separator.cc
@@ -131,7 +131,8 @@ GType Separator::get_base_type()
Separator::Separator()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Widget(Glib::ConstructParams(separator_class_.init()))
{
}
@@ -242,7 +243,8 @@ GType VSeparator::get_base_type()
VSeparator::VSeparator()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Separator(Glib::ConstructParams(vseparator_class_.init()))
{
}
@@ -353,7 +355,8 @@ GType HSeparator::get_base_type()
HSeparator::HSeparator()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Separator(Glib::ConstructParams(hseparator_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/separator.h b/libs/gtkmm2/gtk/gtkmm/separator.h
index 11475c8514..0c4611eb3d 100644
--- a/libs/gtkmm2/gtk/gtkmm/separator.h
+++ b/libs/gtkmm2/gtk/gtkmm/separator.h
@@ -276,10 +276,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Separator
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Separator
*/
Gtk::Separator* wrap(GtkSeparator* object, bool take_copy = false);
} //namespace Glib
@@ -287,10 +290,13 @@ namespace Glib
namespace Glib
{
- /** @relates Gtk::VSeparator
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::VSeparator
*/
Gtk::VSeparator* wrap(GtkVSeparator* object, bool take_copy = false);
} //namespace Glib
@@ -298,10 +304,13 @@ namespace Glib
namespace Glib
{
- /** @relates Gtk::HSeparator
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::HSeparator
*/
Gtk::HSeparator* wrap(GtkHSeparator* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/separatormenuitem.cc b/libs/gtkmm2/gtk/gtkmm/separatormenuitem.cc
index a11e043625..1478ab2a78 100644
--- a/libs/gtkmm2/gtk/gtkmm/separatormenuitem.cc
+++ b/libs/gtkmm2/gtk/gtkmm/separatormenuitem.cc
@@ -129,7 +129,8 @@ GType SeparatorMenuItem::get_base_type()
SeparatorMenuItem::SeparatorMenuItem()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::MenuItem(Glib::ConstructParams(separatormenuitem_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/separatormenuitem.h b/libs/gtkmm2/gtk/gtkmm/separatormenuitem.h
index 9d36c664d0..5ff3afa7b5 100644
--- a/libs/gtkmm2/gtk/gtkmm/separatormenuitem.h
+++ b/libs/gtkmm2/gtk/gtkmm/separatormenuitem.h
@@ -117,10 +117,13 @@ public:
namespace Glib
{
- /** @relates Gtk::SeparatorMenuItem
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::SeparatorMenuItem
*/
Gtk::SeparatorMenuItem* wrap(GtkSeparatorMenuItem* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/separatortoolitem.cc b/libs/gtkmm2/gtk/gtkmm/separatortoolitem.cc
index 8c03d4e827..d7102765f6 100644
--- a/libs/gtkmm2/gtk/gtkmm/separatortoolitem.cc
+++ b/libs/gtkmm2/gtk/gtkmm/separatortoolitem.cc
@@ -135,7 +135,8 @@ GType SeparatorToolItem::get_base_type()
SeparatorToolItem::SeparatorToolItem()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::ToolItem(Glib::ConstructParams(separatortoolitem_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/separatortoolitem.h b/libs/gtkmm2/gtk/gtkmm/separatortoolitem.h
index 6e4739594f..055d4fdfa9 100644
--- a/libs/gtkmm2/gtk/gtkmm/separatortoolitem.h
+++ b/libs/gtkmm2/gtk/gtkmm/separatortoolitem.h
@@ -121,10 +121,13 @@ public:
namespace Glib
{
- /** @relates Gtk::SeparatorToolItem
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::SeparatorToolItem
*/
Gtk::SeparatorToolItem* wrap(GtkSeparatorToolItem* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/settings.cc b/libs/gtkmm2/gtk/gtkmm/settings.cc
index 717110285b..37f1742567 100644
--- a/libs/gtkmm2/gtk/gtkmm/settings.cc
+++ b/libs/gtkmm2/gtk/gtkmm/settings.cc
@@ -301,6 +301,20 @@ Glib::PropertyProxy_ReadOnly<Glib::ustring> Settings::property_gtk_font_name() c
#endif //GLIBMM_PROPERTIES_ENABLED
#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<Glib::ustring> Settings::property_gtk_modules()
+{
+ return Glib::PropertyProxy<Glib::ustring>(this, "gtk-modules");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<Glib::ustring> Settings::property_gtk_modules() const
+{
+ return Glib::PropertyProxy_ReadOnly<Glib::ustring>(this, "gtk-modules");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
Glib::PropertyProxy<int> Settings::property_gtk_xft_antialias()
{
return Glib::PropertyProxy<int>(this, "gtk-xft-antialias");
@@ -371,6 +385,328 @@ Glib::PropertyProxy_ReadOnly<int> Settings::property_gtk_xft_dpi() const
#endif //GLIBMM_PROPERTIES_ENABLED
#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<Glib::ustring> Settings::property_gtk_cursor_theme_name()
+{
+ return Glib::PropertyProxy<Glib::ustring>(this, "gtk-cursor-theme-name");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<Glib::ustring> Settings::property_gtk_cursor_theme_name() const
+{
+ return Glib::PropertyProxy_ReadOnly<Glib::ustring>(this, "gtk-cursor-theme-name");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<int> Settings::property_gtk_cursor_theme_size()
+{
+ return Glib::PropertyProxy<int>(this, "gtk-cursor-theme-size");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<int> Settings::property_gtk_cursor_theme_size() const
+{
+ return Glib::PropertyProxy_ReadOnly<int>(this, "gtk-cursor-theme-size");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<bool> Settings::property_gtk_alternative_button_order()
+{
+ return Glib::PropertyProxy<bool>(this, "gtk-alternative-button-order");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<bool> Settings::property_gtk_alternative_button_order() const
+{
+ return Glib::PropertyProxy_ReadOnly<bool>(this, "gtk-alternative-button-order");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<bool> Settings::property_gtk_alternative_sort_arrows()
+{
+ return Glib::PropertyProxy<bool>(this, "gtk-alternative-sort-arrows");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<bool> Settings::property_gtk_alternative_sort_arrows() const
+{
+ return Glib::PropertyProxy_ReadOnly<bool>(this, "gtk-alternative-sort-arrows");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<bool> Settings::property_gtk_show_input_method_menu()
+{
+ return Glib::PropertyProxy<bool>(this, "gtk-show-input-method-menu");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<bool> Settings::property_gtk_show_input_method_menu() const
+{
+ return Glib::PropertyProxy_ReadOnly<bool>(this, "gtk-show-input-method-menu");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<bool> Settings::property_gtk_show_unicode_menu()
+{
+ return Glib::PropertyProxy<bool>(this, "gtk-show-unicode-menu");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<bool> Settings::property_gtk_show_unicode_menu() const
+{
+ return Glib::PropertyProxy_ReadOnly<bool>(this, "gtk-show-unicode-menu");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<int> Settings::property_gtk_timeout_initial()
+{
+ return Glib::PropertyProxy<int>(this, "gtk-timeout-initial");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<int> Settings::property_gtk_timeout_initial() const
+{
+ return Glib::PropertyProxy_ReadOnly<int>(this, "gtk-timeout-initial");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<int> Settings::property_gtk_timeout_repeat()
+{
+ return Glib::PropertyProxy<int>(this, "gtk-timeout-repeat");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<int> Settings::property_gtk_timeout_repeat() const
+{
+ return Glib::PropertyProxy_ReadOnly<int>(this, "gtk-timeout-repeat");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<int> Settings::property_gtk_timeout_expand()
+{
+ return Glib::PropertyProxy<int>(this, "gtk-timeout-expand");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<int> Settings::property_gtk_timeout_expand() const
+{
+ return Glib::PropertyProxy_ReadOnly<int>(this, "gtk-timeout-expand");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<Glib::ustring> Settings::property_gtk_color_scheme()
+{
+ return Glib::PropertyProxy<Glib::ustring>(this, "gtk-color-scheme");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<Glib::ustring> Settings::property_gtk_color_scheme() const
+{
+ return Glib::PropertyProxy_ReadOnly<Glib::ustring>(this, "gtk-color-scheme");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<bool> Settings::property_gtk_enable_animations()
+{
+ return Glib::PropertyProxy<bool>(this, "gtk-enable-animations");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<bool> Settings::property_gtk_enable_animations() const
+{
+ return Glib::PropertyProxy_ReadOnly<bool>(this, "gtk-enable-animations");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<bool> Settings::property_gtk_touchscreen_mode()
+{
+ return Glib::PropertyProxy<bool>(this, "gtk-touchscreen-mode");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<bool> Settings::property_gtk_touchscreen_mode() const
+{
+ return Glib::PropertyProxy_ReadOnly<bool>(this, "gtk-touchscreen-mode");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<int> Settings::property_gtk_tooltip_timeout()
+{
+ return Glib::PropertyProxy<int>(this, "gtk-tooltip-timeout");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<int> Settings::property_gtk_tooltip_timeout() const
+{
+ return Glib::PropertyProxy_ReadOnly<int>(this, "gtk-tooltip-timeout");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<int> Settings::property_gtk_tooltip_browse_timeout()
+{
+ return Glib::PropertyProxy<int>(this, "gtk-tooltip-browse-timeout");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<int> Settings::property_gtk_tooltip_browse_timeout() const
+{
+ return Glib::PropertyProxy_ReadOnly<int>(this, "gtk-tooltip-browse-timeout");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<int> Settings::property_gtk_tooltip_browse_mode_timeout()
+{
+ return Glib::PropertyProxy<int>(this, "gtk-tooltip-browse-mode-timeout");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<int> Settings::property_gtk_tooltip_browse_mode_timeout() const
+{
+ return Glib::PropertyProxy_ReadOnly<int>(this, "gtk-tooltip-browse-mode-timeout");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<bool> Settings::property_gtk_keynav_cursor_only()
+{
+ return Glib::PropertyProxy<bool>(this, "gtk-keynav-cursor-only");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<bool> Settings::property_gtk_keynav_cursor_only() const
+{
+ return Glib::PropertyProxy_ReadOnly<bool>(this, "gtk-keynav-cursor-only");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<bool> Settings::property_gtk_keynav_wrap_around()
+{
+ return Glib::PropertyProxy<bool>(this, "gtk-keynav-wrap-around");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<bool> Settings::property_gtk_keynav_wrap_around() const
+{
+ return Glib::PropertyProxy_ReadOnly<bool>(this, "gtk-keynav-wrap-around");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<bool> Settings::property_gtk_error_bell()
+{
+ return Glib::PropertyProxy<bool>(this, "gtk-error-bell");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<bool> Settings::property_gtk_error_bell() const
+{
+ return Glib::PropertyProxy_ReadOnly<bool>(this, "gtk-error-bell");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<Glib::ustring> Settings::property_gtk_file_chooser_backend()
+{
+ return Glib::PropertyProxy<Glib::ustring>(this, "gtk-file-chooser-backend");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<Glib::ustring> Settings::property_gtk_file_chooser_backend() const
+{
+ return Glib::PropertyProxy_ReadOnly<Glib::ustring>(this, "gtk-file-chooser-backend");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<Glib::ustring> Settings::property_gtk_print_backends()
+{
+ return Glib::PropertyProxy<Glib::ustring>(this, "gtk-print-backends");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<Glib::ustring> Settings::property_gtk_print_backends() const
+{
+ return Glib::PropertyProxy_ReadOnly<Glib::ustring>(this, "gtk-print-backends");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<Glib::ustring> Settings::property_gtk_print_preview_command()
+{
+ return Glib::PropertyProxy<Glib::ustring>(this, "gtk-print-preview-command");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<Glib::ustring> Settings::property_gtk_print_preview_command() const
+{
+ return Glib::PropertyProxy_ReadOnly<Glib::ustring>(this, "gtk-print-preview-command");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<bool> Settings::property_gtk_enable_mnemonics()
+{
+ return Glib::PropertyProxy<bool>(this, "gtk-enable-mnemonics");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<bool> Settings::property_gtk_enable_mnemonics() const
+{
+ return Glib::PropertyProxy_ReadOnly<bool>(this, "gtk-enable-mnemonics");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<bool> Settings::property_gtk_enable_accels()
+{
+ return Glib::PropertyProxy<bool>(this, "gtk-enable-accels");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<bool> Settings::property_gtk_enable_accels() const
+{
+ return Glib::PropertyProxy_ReadOnly<bool>(this, "gtk-enable-accels");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
Glib::PropertyProxy<ToolbarStyle> Settings::property_gtk_toolbar_style()
{
return Glib::PropertyProxy<ToolbarStyle>(this, "gtk-toolbar-style");
diff --git a/libs/gtkmm2/gtk/gtkmm/settings.h b/libs/gtkmm2/gtk/gtkmm/settings.h
index 836c3d846b..7ccda3e91d 100644
--- a/libs/gtkmm2/gtk/gtkmm/settings.h
+++ b/libs/gtkmm2/gtk/gtkmm/settings.h
@@ -42,6 +42,9 @@ namespace Gtk
namespace Gtk
{
+/** Sharing settings between applications.
+ *
+ */
class Settings : public Glib::Object
{
@@ -311,6 +314,27 @@ public:
#endif //#GLIBMM_PROPERTIES_ENABLED
#ifdef GLIBMM_PROPERTIES_ENABLED
+/** List of currently active GTK modules.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<Glib::ustring> property_gtk_modules() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** List of currently active GTK modules.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<Glib::ustring> property_gtk_modules() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+//#ifdef GDK_WINDOWING_X11
+ #ifdef GLIBMM_PROPERTIES_ENABLED
/** Whether to antialias Xft fonts; 0=no
*
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
@@ -410,6 +434,470 @@ public:
Glib::PropertyProxy_ReadOnly<int> property_gtk_xft_dpi() const;
#endif //#GLIBMM_PROPERTIES_ENABLED
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Name of the cursor theme to use
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<Glib::ustring> property_gtk_cursor_theme_name() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Name of the cursor theme to use
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<Glib::ustring> property_gtk_cursor_theme_name() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Size to use for cursors
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<int> property_gtk_cursor_theme_size() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Size to use for cursors
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<int> property_gtk_cursor_theme_size() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+//#endif
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether buttons in dialogs should use the alternative button order.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<bool> property_gtk_alternative_button_order() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether buttons in dialogs should use the alternative button order.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<bool> property_gtk_alternative_button_order() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether the direction of the sort indicators in list and tree views is inverted compared to the default (where down means ascending).
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<bool> property_gtk_alternative_sort_arrows() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether the direction of the sort indicators in list and tree views is inverted compared to the default (where down means ascending).
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<bool> property_gtk_alternative_sort_arrows() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether the context menus of entries and text views should offer to change the input method.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<bool> property_gtk_show_input_method_menu() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether the context menus of entries and text views should offer to change the input method.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<bool> property_gtk_show_input_method_menu() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether the context menus of entries and text views should offer to insert control characters.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<bool> property_gtk_show_unicode_menu() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether the context menus of entries and text views should offer to insert control characters.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<bool> property_gtk_show_unicode_menu() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Starting value for timeouts
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<int> property_gtk_timeout_initial() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Starting value for timeouts
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<int> property_gtk_timeout_initial() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Repeat value for timeouts
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<int> property_gtk_timeout_repeat() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Repeat value for timeouts
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<int> property_gtk_timeout_repeat() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Expand value for timeouts
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<int> property_gtk_timeout_expand() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Expand value for timeouts
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<int> property_gtk_timeout_expand() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** A palette of named colors for use in themes.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<Glib::ustring> property_gtk_color_scheme() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** A palette of named colors for use in themes.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<Glib::ustring> property_gtk_color_scheme() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether to enable toolkit-wide animations.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<bool> property_gtk_enable_animations() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether to enable toolkit-wide animations.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<bool> property_gtk_enable_animations() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** When TRUE
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<bool> property_gtk_touchscreen_mode() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** When TRUE
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<bool> property_gtk_touchscreen_mode() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Timeout before tooltip is shown.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<int> property_gtk_tooltip_timeout() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Timeout before tooltip is shown.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<int> property_gtk_tooltip_timeout() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Timeout before tooltip is shown when browse mode is enabled.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<int> property_gtk_tooltip_browse_timeout() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Timeout before tooltip is shown when browse mode is enabled.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<int> property_gtk_tooltip_browse_timeout() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Timeout after which browse mode is disabled.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<int> property_gtk_tooltip_browse_mode_timeout() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Timeout after which browse mode is disabled.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<int> property_gtk_tooltip_browse_mode_timeout() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** When TRUE
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<bool> property_gtk_keynav_cursor_only() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** When TRUE
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<bool> property_gtk_keynav_cursor_only() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether to wrap around when keyboard-navigating widgets.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<bool> property_gtk_keynav_wrap_around() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether to wrap around when keyboard-navigating widgets.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<bool> property_gtk_keynav_wrap_around() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** When TRUE
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<bool> property_gtk_error_bell() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** When TRUE
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<bool> property_gtk_error_bell() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ //gtkmmproc error: gtk-color-hash : property defs lookup failed.
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Name of the GtkFileChooser backend to use by default.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<Glib::ustring> property_gtk_file_chooser_backend() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Name of the GtkFileChooser backend to use by default.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<Glib::ustring> property_gtk_file_chooser_backend() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** List of the GtkPrintBackend backends to use by default.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<Glib::ustring> property_gtk_print_backends() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** List of the GtkPrintBackend backends to use by default.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<Glib::ustring> property_gtk_print_backends() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Command to run when displaying a print preview.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<Glib::ustring> property_gtk_print_preview_command() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Command to run when displaying a print preview.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<Glib::ustring> property_gtk_print_preview_command() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether labels should have mnemonics.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<bool> property_gtk_enable_mnemonics() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether labels should have mnemonics.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<bool> property_gtk_enable_mnemonics() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether menu items should have accelerators.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<bool> property_gtk_enable_accels() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether menu items should have accelerators.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<bool> property_gtk_enable_accels() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ //gtkmmproc error: gtk-recent-files-limit : property defs lookup failed.
+ //TODO: Add others added since?
// from GtkToolbar
#ifdef GLIBMM_PROPERTIES_ENABLED
@@ -563,7 +1051,7 @@ public:
#endif //#GLIBMM_PROPERTIES_ENABLED
#ifdef GLIBMM_PROPERTIES_ENABLED
-/** List of icon sizes: gtk-menu=16
+/** List of icon sizes (gtk-menu=16,16:gtk-button=20,20...).
*
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
@@ -573,7 +1061,7 @@ public:
#endif //#GLIBMM_PROPERTIES_ENABLED
#ifdef GLIBMM_PROPERTIES_ENABLED
-/** List of icon sizes: gtk-menu=16
+/** List of icon sizes (gtk-menu=16,16:gtk-button=20,20...).
*
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
@@ -607,10 +1095,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::Settings
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Settings
*/
Glib::RefPtr<Gtk::Settings> wrap(GtkSettings* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/sizegroup.cc b/libs/gtkmm2/gtk/gtkmm/sizegroup.cc
index 94ee095ebb..53fa08d2e4 100644
--- a/libs/gtkmm2/gtk/gtkmm/sizegroup.cc
+++ b/libs/gtkmm2/gtk/gtkmm/sizegroup.cc
@@ -34,8 +34,9 @@ namespace Gtk
SizeGroup::SizeGroup(SizeGroupMode mode)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Glib::Object(Glib::ConstructParams(sizegroup_class_.init(), "mode",(GtkSizeGroupMode) mode, (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Glib::Object(Glib::ConstructParams(sizegroup_class_.init(), "mode",(GtkSizeGroupMode) mode, static_cast<char*>(0)))
{}
} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/gtkmm/sizegroup.h b/libs/gtkmm2/gtk/gtkmm/sizegroup.h
index 03d4723f12..dce1f2d940 100644
--- a/libs/gtkmm2/gtk/gtkmm/sizegroup.h
+++ b/libs/gtkmm2/gtk/gtkmm/sizegroup.h
@@ -165,16 +165,16 @@ public:
SizeGroupMode get_mode() const;
- /** Sets whether invisible widgets should be ignored when
+ /** Sets whether unmapped widgets should be ignored when
* calculating the size.
*
* @newin2p8
- * @param ignore_hidden Whether hidden widgets should be ignored
+ * @param ignore_hidden Whether unmapped widgets should be ignored
* when calculating the size.
*/
void set_ignore_hidden(bool ignore_hidden = true);
- /** Returns if invisible widgets are ignored when calculating the size.
+ /** Returns: <tt>true</tt> if invisible widgets are ignored.
* @return <tt>true</tt> if invisible widgets are ignored.
*
* @newin2p8.
@@ -187,6 +187,9 @@ public:
* and the requisition of the other widgets in the size group.
* Whether this applies horizontally, vertically, or in both directions
* depends on the mode of the size group. See set_mode().
+ *
+ * When the widget is destroyed or no longer referenced elsewhere, it will
+ * be removed from the size group.
* @param widget The Gtk::Widget to add.
*/
void add_widget(Widget& widget);
@@ -197,8 +200,20 @@ public:
void remove_widget(Widget& widget);
+ /** Return value: a G::SList of widgets. The list is owned by GTK+
+ * @return A G::SList of widgets. The list is owned by GTK+
+ * and should not be modified.
+ *
+ * @newin2p10.
+ */
Glib::SListHandle<Widget*> get_widgets();
+ /** Return value: a G::SList of widgets. The list is owned by GTK+
+ * @return A G::SList of widgets. The list is owned by GTK+
+ * and should not be modified.
+ *
+ * @newin2p10.
+ */
Glib::SListHandle<const Widget*> get_widgets() const;
#ifdef GLIBMM_PROPERTIES_ENABLED
@@ -266,10 +281,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::SizeGroup
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::SizeGroup
*/
Glib::RefPtr<Gtk::SizeGroup> wrap(GtkSizeGroup* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/socket.cc b/libs/gtkmm2/gtk/gtkmm/socket.cc
index b6566cf7f6..e1b2dbd925 100644
--- a/libs/gtkmm2/gtk/gtkmm/socket.cc
+++ b/libs/gtkmm2/gtk/gtkmm/socket.cc
@@ -160,7 +160,7 @@ void Socket_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Socket_Class::plug_added_callback(GtkSocket* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -168,36 +168,39 @@ void Socket_Class::plug_added_callback(GtkSocket* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_plug_added();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_plug_added();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->plug_added)
- (*base->plug_added)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->plug_added)
+ (*base->plug_added)(self);
}
gboolean Socket_Class::plug_removed_callback(GtkSocket* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -205,32 +208,34 @@ gboolean Socket_Class::plug_removed_callback(GtkSocket* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_plug_removed());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_plug_removed());
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->plug_removed)
- return (*base->plug_removed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->plug_removed)
+ return (*base->plug_removed)(self);
typedef gboolean RType;
return RType();
@@ -279,7 +284,8 @@ GType Socket::get_base_type()
Socket::Socket()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Container(Glib::ConstructParams(socket_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/socket.h b/libs/gtkmm2/gtk/gtkmm/socket.h
index 259466f16d..7d64610739 100644
--- a/libs/gtkmm2/gtk/gtkmm/socket.h
+++ b/libs/gtkmm2/gtk/gtkmm/socket.h
@@ -183,17 +183,17 @@ public:
Gdk::NativeWindow get_id() const;
-/**
+ /**
* @par Prototype:
- * <tt>void %plug_added()</tt>
+ * <tt>void on_my_%plug_added()</tt>
*/
Glib::SignalProxy0< void > signal_plug_added();
-/**
+ /**
* @par Prototype:
- * <tt>bool %plug_removed()</tt>
+ * <tt>bool on_my_%plug_removed()</tt>
*/
Glib::SignalProxy0< bool > signal_plug_removed();
@@ -206,10 +206,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Socket
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Socket
*/
Gtk::Socket* wrap(GtkSocket* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/spinbutton.cc b/libs/gtkmm2/gtk/gtkmm/spinbutton.cc
index 766c34d2df..33d17c62e8 100644
--- a/libs/gtkmm2/gtk/gtkmm/spinbutton.cc
+++ b/libs/gtkmm2/gtk/gtkmm/spinbutton.cc
@@ -33,8 +33,9 @@ namespace Gtk
SpinButton::SpinButton(double climb_rate, guint digits)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Entry(Glib::ConstructParams(spinbutton_class_.init(), "climb_rate",climb_rate,"digits",digits, (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Entry(Glib::ConstructParams(spinbutton_class_.init(), "climb_rate",climb_rate,"digits",digits, static_cast<char*>(0)))
{}
void SpinButton::unset_adjustment()
@@ -49,7 +50,7 @@ namespace
{
-static gint SpinButton_signal_input_callback(GtkSpinButton* self, double* p0,void* data)
+static gint SpinButton_signal_input_callback(GtkSpinButton* self, gdouble* p0,void* data)
{
using namespace Gtk;
typedef sigc::slot< int,double* > SlotType;
@@ -62,7 +63,8 @@ static gint SpinButton_signal_input_callback(GtkSpinButton* self, double* p0,voi
{
#endif //GLIBMM_EXCEPTIONS_ENABLED
if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
- return (*static_cast<SlotType*>(slot))(p0);
+ return (*static_cast<SlotType*>(slot))(p0
+);
#ifdef GLIBMM_EXCEPTIONS_ENABLED
}
catch(...)
@@ -76,7 +78,7 @@ static gint SpinButton_signal_input_callback(GtkSpinButton* self, double* p0,voi
return RType();
}
-static gint SpinButton_signal_input_notify_callback(GtkSpinButton* self, double* p0, void* data)
+static gint SpinButton_signal_input_notify_callback(GtkSpinButton* self, gdouble* p0, void* data)
{
using namespace Gtk;
typedef sigc::slot< void,double* > SlotType;
@@ -89,7 +91,8 @@ static gint SpinButton_signal_input_notify_callback(GtkSpinButton* self, double*
{
#endif //GLIBMM_EXCEPTIONS_ENABLED
if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
- (*static_cast<SlotType*>(slot))(p0);
+ (*static_cast<SlotType*>(slot))(p0
+);
#ifdef GLIBMM_EXCEPTIONS_ENABLED
}
catch(...)
@@ -284,9 +287,9 @@ void SpinButton_Class::class_init_function(void* g_class, void* class_data)
#endif //GLIBMM_VFUNCS_ENABLED
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
-gint SpinButton_Class::input_callback(GtkSpinButton* self, double* p0)
+gint SpinButton_Class::input_callback(GtkSpinButton* self, gdouble* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -294,39 +297,42 @@ gint SpinButton_Class::input_callback(GtkSpinButton* self, double* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->on_input(p0);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->on_input(p0
+);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->input)
- return (*base->input)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->input)
+ return (*base->input)(self, p0);
typedef gint RType;
return RType();
}
gboolean SpinButton_Class::output_callback(GtkSpinButton* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -334,39 +340,41 @@ gboolean SpinButton_Class::output_callback(GtkSpinButton* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_output());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_output());
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->output)
- return (*base->output)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->output)
+ return (*base->output)(self);
typedef gboolean RType;
return RType();
}
void SpinButton_Class::value_changed_callback(GtkSpinButton* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -374,32 +382,35 @@ void SpinButton_Class::value_changed_callback(GtkSpinButton* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_value_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_value_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->value_changed)
- (*base->value_changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->value_changed)
+ (*base->value_changed)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -445,8 +456,9 @@ GType SpinButton::get_base_type()
SpinButton::SpinButton(Adjustment& adjustment, double climb_rate, guint digits)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Entry(Glib::ConstructParams(spinbutton_class_.init(), "adjustment", (adjustment).gobj(), "climb_rate", climb_rate, "digits", digits, (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Entry(Glib::ConstructParams(spinbutton_class_.init(), "adjustment", (adjustment).gobj(), "climb_rate", climb_rate, "digits", digits, static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/spinbutton.h b/libs/gtkmm2/gtk/gtkmm/spinbutton.h
index 7544668d64..e5d9f3285b 100644
--- a/libs/gtkmm2/gtk/gtkmm/spinbutton.h
+++ b/libs/gtkmm2/gtk/gtkmm/spinbutton.h
@@ -288,8 +288,7 @@ public:
*/
void set_numeric(bool numeric = true);
- /** Returns whether non-numeric text can be typed into the spin button.
- * See set_numeric().
+ /** Return value: <tt>true</tt> if only numeric text can be entered
* @return <tt>true</tt> if only numeric text can be entered.
*/
bool get_numeric() const;
@@ -309,9 +308,7 @@ public:
*/
void set_wrap(bool wrap = true);
- /** Returns whether the spin button's value wraps around to the
- * opposite limit when the upper or lower limit of the range is
- * exceeded. See set_wrap().
+ /** Return value: <tt>true</tt> if the spin button wraps around
* @return <tt>true</tt> if the spin button wraps around.
*/
bool get_wrap() const;
@@ -323,8 +320,7 @@ public:
*/
void set_snap_to_ticks(bool snap_to_ticks = true);
- /** Returns whether the values are corrected to the nearest step. See
- * set_snap_to_ticks().
+ /** Return value: <tt>true</tt> if values are snapped to the nearest step.
* @return <tt>true</tt> if values are snapped to the nearest step.
*/
bool get_snap_to_ticks() const;
@@ -340,11 +336,9 @@ public:
* @li <tt>false</tt>: No conversion done, continue with default handler.
* @li <tt>true</tt>: Conversion successful, don't call default handler.
* @li <tt>Gtk::INPUT_ERROR</tt>: Conversion failed, don't call default handler.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>int %input(double* new_value)</tt>
+ * <tt>int on_my_%input(double* new_value)</tt>
*/
Glib::SignalProxy1< int,double* > signal_input();
@@ -355,27 +349,25 @@ public:
* @return
* @li <tt>false</tt>: No conversion done, continue with default handler.
* @li <tt>true</tt>: Conversion successful, don't call default handler.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>bool %output()</tt>
+ * <tt>bool on_my_%output()</tt>
*/
Glib::SignalProxy0< bool > signal_output();
-/**
+ /**
* @par Prototype:
- * <tt>bool %wrapped()</tt>
+ * <tt>bool on_my_%wrapped()</tt>
*/
Glib::SignalProxy0< bool > signal_wrapped();
-/**
+ /**
* @par Prototype:
- * <tt>void %value_changed()</tt>
+ * <tt>void on_my_%value_changed()</tt>
*/
Glib::SignalProxy0< void > signal_value_changed();
@@ -552,10 +544,13 @@ public:
namespace Glib
{
- /** @relates Gtk::SpinButton
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::SpinButton
*/
Gtk::SpinButton* wrap(GtkSpinButton* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/statusbar.cc b/libs/gtkmm2/gtk/gtkmm/statusbar.cc
index b53aec1645..182592c0b3 100644
--- a/libs/gtkmm2/gtk/gtkmm/statusbar.cc
+++ b/libs/gtkmm2/gtk/gtkmm/statusbar.cc
@@ -173,7 +173,7 @@ void Statusbar_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Statusbar_Class::text_pushed_callback(GtkStatusbar* self, guint p0, const gchar* p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -181,37 +181,40 @@ void Statusbar_Class::text_pushed_callback(GtkStatusbar* self, guint p0, const g
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_text_pushed(p0, Glib::convert_const_gchar_ptr_to_ustring(p1)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_text_pushed(p0, Glib::convert_const_gchar_ptr_to_ustring(p1)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->text_pushed)
- (*base->text_pushed)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->text_pushed)
+ (*base->text_pushed)(self, p0, p1);
}
void Statusbar_Class::text_popped_callback(GtkStatusbar* self, guint p0, const gchar* p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -219,33 +222,36 @@ void Statusbar_Class::text_popped_callback(GtkStatusbar* self, guint p0, const g
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_text_popped(p0, Glib::convert_const_gchar_ptr_to_ustring(p1)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_text_popped(p0, Glib::convert_const_gchar_ptr_to_ustring(p1)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->text_popped)
- (*base->text_popped)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->text_popped)
+ (*base->text_popped)(self, p0, p1);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -291,7 +297,8 @@ GType Statusbar::get_base_type()
Statusbar::Statusbar()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::HBox(Glib::ConstructParams(statusbar_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/statusbar.h b/libs/gtkmm2/gtk/gtkmm/statusbar.h
index a1eff80471..eddecce1a2 100644
--- a/libs/gtkmm2/gtk/gtkmm/statusbar.h
+++ b/libs/gtkmm2/gtk/gtkmm/statusbar.h
@@ -118,28 +118,48 @@ public:
Statusbar();
+ /** Returns: an integer id
+ * @param context_description Textual description of what context
+ * the new message is being used in.
+ * @return An integer id.
+ */
guint get_context_id(const Glib::ustring& context_description);
guint push(const Glib::ustring& text, guint context_id = 0);
+ /** Removes the first message in the Gtk::StatusBar's stack
+ * with the given context id.
+ *
+ * Note that this may not change the displayed message, if
+ * the message at the top of the stack has a different
+ * context id.
+ * @param context_id A context identifier.
+ */
void pop(guint context_id = 0);
void remove_message(guint message_id, guint context_id = 0);
+ /** Sets whether the statusbar has a resize grip.
+ * <tt>true</tt> by default.
+ * @param setting <tt>true</tt> to have a resize grip.
+ */
void set_has_resize_grip(bool setting = true);
+ /** Returns: <tt>true</tt> if the statusbar has a resize grip.
+ * @return <tt>true</tt> if the statusbar has a resize grip.
+ */
bool get_has_resize_grip() const;
-/**
+ /**
* @par Prototype:
- * <tt>void %text_pushed(guint context_id, const Glib::ustring& text)</tt>
+ * <tt>void on_my_%text_pushed(guint context_id, const Glib::ustring& text)</tt>
*/
Glib::SignalProxy2< void,guint,const Glib::ustring& > signal_text_pushed();
-/**
+ /**
* @par Prototype:
- * <tt>void %text_popped(guint context_id, const Glib::ustring& text)</tt>
+ * <tt>void on_my_%text_popped(guint context_id, const Glib::ustring& text)</tt>
*/
Glib::SignalProxy2< void,guint,const Glib::ustring& > signal_text_popped();
@@ -173,10 +193,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Statusbar
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Statusbar
*/
Gtk::Statusbar* wrap(GtkStatusbar* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/statusicon.cc b/libs/gtkmm2/gtk/gtkmm/statusicon.cc
index a02cf92ed8..a8fd0fd84d 100644
--- a/libs/gtkmm2/gtk/gtkmm/statusicon.cc
+++ b/libs/gtkmm2/gtk/gtkmm/statusicon.cc
@@ -51,6 +51,13 @@ bool StatusIcon::get_geometry(Glib::RefPtr<Gdk::Screen>& screen, Gdk::Rectangle&
return result;
}
+void StatusIcon::popup_menu_at_position(Menu& menu, guint button, guint32 activate_time)
+{
+ gtk_menu_popup(menu.gobj(), NULL, NULL,
+ gtk_status_icon_position_menu, gobj() /* user_data, passed to gtk_status_icon_position_menu()/ */,
+ button, activate_time);
+}
+
} // namespace Gtk
@@ -123,6 +130,46 @@ static const Glib::SignalProxyInfo StatusIcon_signal_size_changed_info =
};
+static const Glib::SignalProxyInfo StatusIcon_signal_activate_info =
+{
+ "activate",
+ (GCallback) &Glib::SignalProxyNormal::slot0_void_callback,
+ (GCallback) &Glib::SignalProxyNormal::slot0_void_callback
+};
+
+
+static void StatusIcon_signal_popup_menu_callback(GtkStatusIcon* self, guint p0,guint32 p1,void* data)
+{
+ using namespace Gtk;
+ typedef sigc::slot< void,guint,guint32 > SlotType;
+
+ // Do not try to call a signal on a disassociated wrapper.
+ if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
+ (*static_cast<SlotType*>(slot))(p0, p1);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+}
+
+static const Glib::SignalProxyInfo StatusIcon_signal_popup_menu_info =
+{
+ "popup_menu",
+ (GCallback) &StatusIcon_signal_popup_menu_callback,
+ (GCallback) &StatusIcon_signal_popup_menu_callback
+};
+
+
} // anonymous namespace
@@ -183,7 +230,7 @@ void StatusIcon_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
gboolean StatusIcon_Class::size_changed_callback(GtkStatusIcon* self, gint p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -191,33 +238,35 @@ gboolean StatusIcon_Class::size_changed_callback(GtkStatusIcon* self, gint p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_size_changed(p0
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_size_changed(p0
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->size_changed)
- return (*base->size_changed)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->size_changed)
+ return (*base->size_changed)(self, p0);
typedef gboolean RType;
return RType();
@@ -268,29 +317,33 @@ GType StatusIcon::get_base_type()
StatusIcon::StatusIcon()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(statusicon_class_.init()))
{
}
StatusIcon::StatusIcon(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Glib::Object(Glib::ConstructParams(statusicon_class_.init(), "pixbuf", Glib::unwrap(pixbuf), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Glib::Object(Glib::ConstructParams(statusicon_class_.init(), "pixbuf", Glib::unwrap(pixbuf), static_cast<char*>(0)))
{
}
StatusIcon::StatusIcon(const StockID& stock)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Glib::Object(Glib::ConstructParams(statusicon_class_.init(), "stock", (stock).get_c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Glib::Object(Glib::ConstructParams(statusicon_class_.init(), "stock", (stock).get_c_str(), static_cast<char*>(0)))
{
}
StatusIcon::StatusIcon(const Glib::ustring& icon_name)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Glib::Object(Glib::ConstructParams(statusicon_class_.init(), "icon_name", icon_name.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Glib::Object(Glib::ConstructParams(statusicon_class_.init(), "icon_name", icon_name.c_str(), static_cast<char*>(0)))
{
}
@@ -356,6 +409,26 @@ int StatusIcon::get_size() const
return gtk_status_icon_get_size(const_cast<GtkStatusIcon*>(gobj()));
}
+void StatusIcon::set_screen(const Glib::RefPtr<Gdk::Screen>& screen)
+{
+gtk_status_icon_set_screen(gobj(), Glib::unwrap(screen));
+}
+
+Glib::RefPtr<Gdk::Screen> StatusIcon::get_screen()
+{
+
+ Glib::RefPtr<Gdk::Screen> retvalue = Glib::wrap(gtk_status_icon_get_screen(gobj()));
+ if(retvalue)
+ retvalue->reference(); //The function does not do a ref for us.
+ return retvalue;
+
+}
+
+Glib::RefPtr<const Gdk::Screen> StatusIcon::get_screen() const
+{
+ return const_cast<StatusIcon*>(this)->get_screen();
+}
+
void StatusIcon::set_tooltip(const Glib::ustring& tooltip_text)
{
gtk_status_icon_set_tooltip(gobj(), tooltip_text.c_str());
@@ -393,6 +466,18 @@ Glib::SignalProxy1< bool,int > StatusIcon::signal_size_changed()
}
+Glib::SignalProxy0< void > StatusIcon::signal_activate()
+{
+ return Glib::SignalProxy0< void >(this, &StatusIcon_signal_activate_info);
+}
+
+
+Glib::SignalProxy2< void,guint,guint32 > StatusIcon::signal_popup_menu()
+{
+ return Glib::SignalProxy2< void,guint,guint32 >(this, &StatusIcon_signal_popup_menu_info);
+}
+
+
#ifdef GLIBMM_PROPERTIES_ENABLED
Glib::PropertyProxy< Glib::RefPtr<Gdk::Pixbuf> > StatusIcon::property_pixbuf()
{
diff --git a/libs/gtkmm2/gtk/gtkmm/statusicon.h b/libs/gtkmm2/gtk/gtkmm/statusicon.h
index c3842c053d..014e19c35d 100644
--- a/libs/gtkmm2/gtk/gtkmm/statusicon.h
+++ b/libs/gtkmm2/gtk/gtkmm/statusicon.h
@@ -28,6 +28,7 @@
#include <gtkmm/image.h> //For ImageType.
#include <gtkmm/stockid.h>
+#include <gtkmm/menu.h>
#include <gdkmm/pixbuf.h>
#include <gdkmm/types.h>
#include <gtkmm/object.h>
@@ -139,45 +140,203 @@ public:
static Glib::RefPtr<StatusIcon> create_from_file(const std::string& filename);
+ /** Makes @a status_icon display @a pixbuf .
+ * See new_from_pixbuf() for details.
+ *
+ * @newin2p10
+ * @param pixbuf A Gdk::Pixbuf or <tt>0</tt>.
+ */
void set(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf);
+ /** Makes @a status_icon display the file @a filename .
+ * See new_from_file() for details.
+ *
+ * @newin2p10
+ * @param filename A filename.
+ */
void set_from_file(const Glib::ustring& filename);
+ /** Makes @a status_icon display the stock icon with the id @a stock_id .
+ * See new_from_stock() for details.
+ *
+ * @newin2p10
+ * @param stock_id A stock icon id.
+ */
void set(const StockID& stock_id);
+ /** Makes @a status_icon display the icon named @a icon_name from the
+ * current icon theme.
+ * See new_from_icon_name() for details.
+ *
+ * @newin2p10
+ * @param icon_name An icon name.
+ */
void set(const Glib::ustring& icon_name);
+ /** Gets the type of representation being used by the Gtk::StatusIcon
+ * to store image data. If the Gtk::StatusIcon has no image data,
+ * the return value will be Gtk::IMAGE_EMPTY.
+ * @return The image representation being used
+ *
+ * @newin2p10.
+ */
ImageType get_storage_type() const;
+ /** Gets the Gdk::Pixbuf being displayed by the Gtk::StatusIcon.
+ * The storage type of the status icon must be Gtk::IMAGE_EMPTY or
+ * Gtk::IMAGE_PIXBUF (see get_storage_type()).
+ * The caller of this function does not own a reference to the
+ * returned pixbuf.
+ * @return The displayed pixbuf, or <tt>0</tt> if the image is empty.
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<Gdk::Pixbuf> get_pixbuf();
+ /** Gets the Gdk::Pixbuf being displayed by the Gtk::StatusIcon.
+ * The storage type of the status icon must be Gtk::IMAGE_EMPTY or
+ * Gtk::IMAGE_PIXBUF (see get_storage_type()).
+ * The caller of this function does not own a reference to the
+ * returned pixbuf.
+ * @return The displayed pixbuf, or <tt>0</tt> if the image is empty.
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<const Gdk::Pixbuf> get_pixbuf() const;
+ /** Gets the id of the stock icon being displayed by the Gtk::StatusIcon.
+ * The storage type of the status icon must be Gtk::IMAGE_EMPTY or
+ * Gtk::IMAGE_STOCK (see get_storage_type()).
+ * The returned string is owned by the Gtk::StatusIcon and should not
+ * be freed or modified.
+ * @return Stock id of the displayed stock icon,
+ * or <tt>0</tt> if the image is empty.
+ *
+ * @newin2p10.
+ */
StockID get_stock() const;
+ /** Gets the name of the icon being displayed by the Gtk::StatusIcon.
+ * The storage type of the status icon must be Gtk::IMAGE_EMPTY or
+ * Gtk::IMAGE_ICON_NAME (see get_storage_type()).
+ * The returned string is owned by the Gtk::StatusIcon and should not
+ * be freed or modified.
+ * @return Name of the displayed icon, or <tt>0</tt> if the image is empty.
+ *
+ * @newin2p10.
+ */
Glib::ustring get_icon_name() const;
+ /** Gets the size in pixels that is available for the image.
+ * Stock icons and named icons adapt their size automatically
+ * if the size of the notification area changes. For other
+ * storage types, the size-changed signal can be used to
+ * react to size changes.
+ *
+ * Note that the returned size is only meaningful while the
+ * status icon is embedded (see is_embedded()).
+ * @return The size that is available for the image
+ *
+ * @newin2p10.
+ */
int get_size() const;
+ /** Sets the Gdk::Screen where @a status_icon is displayed; if
+ * the icon is already mapped, it will be unmapped, and
+ * then remapped on the new screen.
+ *
+ * @newin2p12
+ * @param screen A Gdk::Screen.
+ */
+ void set_screen(const Glib::RefPtr<Gdk::Screen>& screen);
+
+ /** Return value: a Gdk::Screen.
+ * @return A Gdk::Screen.
+ *
+ * @newin2p12.
+ */
+ Glib::RefPtr<Gdk::Screen> get_screen();
+
+ /** Return value: a Gdk::Screen.
+ * @return A Gdk::Screen.
+ *
+ * @newin2p12.
+ */
+ Glib::RefPtr<const Gdk::Screen> get_screen() const;
+
+
+ /** Sets the tooltip of the status icon.
+ *
+ * @newin2p10
+ * @param tooltip_text The tooltip text, or <tt>0</tt>.
+ */
void set_tooltip(const Glib::ustring& tooltip_text);
+ /** Shows or hides a status icon.
+ *
+ * @newin2p10
+ * @param visible <tt>true</tt> to show the status icon, <tt>false</tt> to hide it.
+ */
void set_visible(bool visible = true);
+ /** Return value: <tt>true</tt> if the status icon is visible
+ * @return <tt>true</tt> if the status icon is visible
+ *
+ * @newin2p10.
+ */
bool get_visible() const;
+ /** Makes the status icon start or stop blinking.
+ * Note that blinking user interface elements may be problematic
+ * for some users, and thus may be turned off, in which case
+ * this setting has no effect.
+ *
+ * @newin2p10
+ * @param blinking <tt>true</tt> to turn blinking on, <tt>false</tt> to turn it off.
+ */
void set_blinking(bool blinking = true);
+ /** Return value: <tt>true</tt> if the icon is blinking
+ * @return <tt>true</tt> if the icon is blinking
+ *
+ * @newin2p10.
+ */
bool get_blinking() const;
+ /** Return value: <tt>true</tt> if the status icon is embedded in
+ * @return <tt>true</tt> if the status icon is embedded in
+ * a notification area.
+ *
+ * @newin2p10.
+ */
bool is_embedded() const;
+ /** Displays a menu aligned to the status icon, and makes it available for selection.
+ * Applications can use this function to display context-sensitive menus.
+ *
+ * This is equivalent to the gtk_status_icon_position_menu() helper callback in GTK+,
+ * which can be provided to gtk_menu_popup().
+ *
+ * See Gtk::Menu::popup() for more details.
+ *
+ * @param menu The menu to popup for the status icon.
+ * @param button The mouse button which was pressed to initiate the event.
+ * @param activate_time The time at which the activation event occurred.
+ *
+ * @newin2p12
+ */
+ void popup_menu_at_position(Menu& menu, guint button, guint32 activate_time);
+
+ //Note that gtk_status_icon_position_menu() is meant to be used as a helpful callback when calling gtk_menu_popup().
+ //We make it easier by just providing a popup method that uses it.
+
//In gtk_status_icon_get_geometry(), any of the parameters may be NULL,
//but we don't need 6 different overloads, with different parameters.
@@ -186,7 +345,7 @@ public:
/** Obtains information about the location of the status icon
* on screen. This information can be used to e.g. position
* popups like notification bubbles.
- * See gtk_status_icon_position_menu() for a more convenient
+ * See popup_menu_at_position() for a more convenient
* alternative for positioning menus.
*
* Note that some platforms do not allow GTK+ to provide
@@ -317,15 +476,38 @@ public:
#endif //#GLIBMM_PROPERTIES_ENABLED
-/**
+ /**
* @par Prototype:
- * <tt>bool %size_changed(int size)</tt>
+ * <tt>bool on_my_%size_changed(int size)</tt>
*/
Glib::SignalProxy1< bool,int > signal_size_changed();
- //Keybinding signal.
- //Keybinding signal.
+
+ //TODO: Remove no_default_handler when we can break ABI.
+ /* These are keybinding signals, which should usually not be wrapped,
+ unless there is explicit documentation saying that the should be
+ used by applications. We have asked repeatedly for clarification about these
+ particular signals, but received no clear answer.
+ We have decided to take the risk, because they really do seem to be necessary,
+ for responding to status icon activation and requests to show their popup menu.
+ murrayc.
+ */
+
+ /**
+ * @par Prototype:
+ * <tt>void on_my_%activate()</tt>
+ */
+
+ Glib::SignalProxy0< void > signal_activate();
+
+
+ /**
+ * @par Prototype:
+ * <tt>void on_my_%popup_menu(guint button, guint32 activate_time)</tt>
+ */
+
+ Glib::SignalProxy2< void,guint,guint32 > signal_popup_menu();
public:
@@ -353,10 +535,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::StatusIcon
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::StatusIcon
*/
Glib::RefPtr<Gtk::StatusIcon> wrap(GtkStatusIcon* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/stock.cc b/libs/gtkmm2/gtk/gtkmm/stock.cc
index 26ba2305a5..fc703f7fdb 100644
--- a/libs/gtkmm2/gtk/gtkmm/stock.cc
+++ b/libs/gtkmm2/gtk/gtkmm/stock.cc
@@ -56,6 +56,7 @@ const Gtk::BuiltinStockID COPY = { GTK_STOCK_COPY };
const Gtk::BuiltinStockID CUT = { GTK_STOCK_CUT };
const Gtk::BuiltinStockID DELETE = { GTK_STOCK_DELETE };
const Gtk::BuiltinStockID DIRECTORY = { GTK_STOCK_DIRECTORY };
+const Gtk::BuiltinStockID DISCARD = { GTK_STOCK_DISCARD };
const Gtk::BuiltinStockID DISCONNECT = { GTK_STOCK_DISCONNECT };
const Gtk::BuiltinStockID EDIT = { GTK_STOCK_EDIT };
const Gtk::BuiltinStockID EXECUTE = { GTK_STOCK_EXECUTE };
@@ -112,6 +113,7 @@ const Gtk::BuiltinStockID REMOVE = { GTK_STOCK_REMOVE };
const Gtk::BuiltinStockID REVERT_TO_SAVED = { GTK_STOCK_REVERT_TO_SAVED };
const Gtk::BuiltinStockID SAVE = { GTK_STOCK_SAVE };
const Gtk::BuiltinStockID SAVE_AS = { GTK_STOCK_SAVE_AS };
+const Gtk::BuiltinStockID SELECT_ALL = { GTK_STOCK_SELECT_ALL };
const Gtk::BuiltinStockID SELECT_COLOR = { GTK_STOCK_SELECT_COLOR };
const Gtk::BuiltinStockID SELECT_FONT = { GTK_STOCK_SELECT_FONT };
const Gtk::BuiltinStockID SORT_ASCENDING = { GTK_STOCK_SORT_ASCENDING };
diff --git a/libs/gtkmm2/gtk/gtkmm/stock.h b/libs/gtkmm2/gtk/gtkmm/stock.h
index 28d312b45e..1da234e809 100644
--- a/libs/gtkmm2/gtk/gtkmm/stock.h
+++ b/libs/gtkmm2/gtk/gtkmm/stock.h
@@ -79,6 +79,7 @@ extern GTKMM_API const Gtk::BuiltinStockID COPY; /*!< @image html st
extern GTKMM_API const Gtk::BuiltinStockID CUT; /*!< @image html stock_cut_24.png */
extern GTKMM_API const Gtk::BuiltinStockID DELETE; /*!< @image html stock_trash_24.png */
extern GTKMM_API const Gtk::BuiltinStockID DIRECTORY; /*!< @image html stock_directory_24.png */
+extern GTKMM_API const Gtk::BuiltinStockID DISCARD; /*!< @image html stock_discard_24.png */
extern GTKMM_API const Gtk::BuiltinStockID DISCONNECT; /*!< @image html stock_disconnect_24.png */
extern GTKMM_API const Gtk::BuiltinStockID EDIT; /*!< @image html stock_edit_24.png */
extern GTKMM_API const Gtk::BuiltinStockID EXECUTE; /*!< @image html stock_exec_24.png */
@@ -123,6 +124,10 @@ extern GTKMM_API const Gtk::BuiltinStockID NEW; /*!< @image html st
extern GTKMM_API const Gtk::BuiltinStockID NO; /*!< @image html stock_no_20.png */
extern GTKMM_API const Gtk::BuiltinStockID OK; /*!< @image html stock_ok_20.png */
extern GTKMM_API const Gtk::BuiltinStockID OPEN; /*!< @image html stock_open_24.png */
+extern GTKMM_API const Gtk::BuiltinStockID ORIENTATION_PORTRAIT; /*!< @image html stock_orientation_portrait_24.png */
+extern GTKMM_API const Gtk::BuiltinStockID ORIENTATION_LANDSCAPE; /*!< @image html stock_orientation_landscape_24.png */
+extern GTKMM_API const Gtk::BuiltinStockID ORIENTATION_REVERSE_LANDSCAPE; /*!< @image html stock_orientation_reverse_landscape_24.png */
+extern GTKMM_API const Gtk::BuiltinStockID ORIENTATION_REVERSE_PORTRAIT; /*!< @image html stock_orientation_reverse_portrait_24.png */
extern GTKMM_API const Gtk::BuiltinStockID PASTE; /*!< @image html stock_paste_24.png */
extern GTKMM_API const Gtk::BuiltinStockID PREFERENCES; /*!< @image html stock_preferences_24.png */
extern GTKMM_API const Gtk::BuiltinStockID PRINT; /*!< @image html stock_print_24.png */
@@ -135,6 +140,7 @@ extern GTKMM_API const Gtk::BuiltinStockID REMOVE; /*!< @image html st
extern GTKMM_API const Gtk::BuiltinStockID REVERT_TO_SAVED; /*!< @image html stock_revert_24.png */
extern GTKMM_API const Gtk::BuiltinStockID SAVE; /*!< @image html stock_save_24.png */
extern GTKMM_API const Gtk::BuiltinStockID SAVE_AS; /*!< @image html stock_save_as_24.png */
+extern GTKMM_API const Gtk::BuiltinStockID SELECT_ALL; /*!< @image html stock_selectall_24.png */
extern GTKMM_API const Gtk::BuiltinStockID SELECT_COLOR; /*!< @image html stock_colorselector_24.png */
extern GTKMM_API const Gtk::BuiltinStockID SELECT_FONT; /*!< @image html stock_font_24.png */
extern GTKMM_API const Gtk::BuiltinStockID SORT_ASCENDING; /*!< @image html stock_sort_ascending_24.png */
diff --git a/libs/gtkmm2/gtk/gtkmm/stockitem.h b/libs/gtkmm2/gtk/gtkmm/stockitem.h
index d674f99ced..63bbcc8f5b 100644
--- a/libs/gtkmm2/gtk/gtkmm/stockitem.h
+++ b/libs/gtkmm2/gtk/gtkmm/stockitem.h
@@ -91,10 +91,13 @@ public:
namespace Glib
{
- /** @relates Gtk::StockItem
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::StockItem
*/
Gtk::StockItem wrap(GtkStockItem* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gtk/gtkmm/style.cc b/libs/gtkmm2/gtk/gtkmm/style.cc
index a6cc2a2cb5..cabace367f 100644
--- a/libs/gtkmm2/gtk/gtkmm/style.cc
+++ b/libs/gtkmm2/gtk/gtkmm/style.cc
@@ -346,7 +346,7 @@ void Style_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_VFUNCS_ENABLED
void Style_Class::realize_vfunc_callback(GtkStyle* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -354,36 +354,40 @@ void Style_Class::realize_vfunc_callback(GtkStyle* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->realize_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->realize_vfunc();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->realize)
+ (*base->realize)(self);
- // Call the original underlying C function:
- if(base && base->realize)
- (*base->realize)(self);
- }
}
void Style_Class::unrealize_vfunc_callback(GtkStyle* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -391,36 +395,40 @@ void Style_Class::unrealize_vfunc_callback(GtkStyle* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->unrealize_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->unrealize_vfunc();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->unrealize)
+ (*base->unrealize)(self);
- // Call the original underlying C function:
- if(base && base->unrealize)
- (*base->unrealize)(self);
- }
}
void Style_Class::copy_vfunc_callback(GtkStyle* self, GtkStyle* src)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -428,37 +436,41 @@ void Style_Class::copy_vfunc_callback(GtkStyle* self, GtkStyle* src)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->copy_vfunc(Glib::wrap(src, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->copy_vfunc(Glib::wrap(src, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->copy)
+ (*base->copy)(self, src);
- // Call the original underlying C function:
- if(base && base->copy)
- (*base->copy)(self, src);
- }
}
GtkStyle* Style_Class::clone_vfunc_callback(GtkStyle* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -466,39 +478,42 @@ GtkStyle* Style_Class::clone_vfunc_callback(GtkStyle* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return Glib::unwrap(obj->clone_vfunc());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return Glib::unwrap(obj->clone_vfunc());
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->clone)
+ return (*base->clone)(self);
- // Call the original underlying C function:
- if(base && base->clone)
- return (*base->clone)(self);
- }
typedef GtkStyle* RType;
return RType();
}
void Style_Class::init_from_rc_vfunc_callback(GtkStyle* self, GtkRcStyle* rc_style)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -506,37 +521,41 @@ void Style_Class::init_from_rc_vfunc_callback(GtkStyle* self, GtkRcStyle* rc_sty
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->init_from_rc_vfunc(Glib::wrap(rc_style)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->init_from_rc_vfunc(Glib::wrap(rc_style)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->init_from_rc)
+ (*base->init_from_rc)(self, rc_style);
- // Call the original underlying C function:
- if(base && base->init_from_rc)
- (*base->init_from_rc)(self, rc_style);
- }
}
void Style_Class::set_background_vfunc_callback(GtkStyle* self, GdkWindow* window, GtkStateType state_type)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -544,38 +563,42 @@ void Style_Class::set_background_vfunc_callback(GtkStyle* self, GdkWindow* windo
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->set_background_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->set_background_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
, ((Gtk::StateType)(state_type))
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->set_background)
+ (*base->set_background)(self, window, state_type);
- // Call the original underlying C function:
- if(base && base->set_background)
- (*base->set_background)(self, window, state_type);
- }
}
GdkPixbuf* Style_Class::render_icon_vfunc_callback(GtkStyle* self, const GtkIconSource* source, GtkTextDirection direction, GtkStateType state, GtkIconSize size, GtkWidget* widget, const gchar* detail)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -583,45 +606,48 @@ GdkPixbuf* Style_Class::render_icon_vfunc_callback(GtkStyle* self, const GtkIcon
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return Glib::unwrap(obj->render_icon_vfunc(Glib::wrap(const_cast<GtkIconSource*>(source), true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return Glib::unwrap(obj->render_icon_vfunc(Glib::wrap(const_cast<GtkIconSource*>(source), true)
, ((TextDirection)(direction))
, ((Gtk::StateType)(state))
, IconSize(static_cast<int>(size))
, Glib::wrap(widget)
, Glib::convert_const_gchar_ptr_to_ustring(detail)
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->render_icon)
+ return (*base->render_icon)(self, source, direction, state, size, widget, detail);
- // Call the original underlying C function:
- if(base && base->render_icon)
- return (*base->render_icon)(self, source, direction, state, size, widget, detail);
- }
typedef GdkPixbuf* RType;
return RType();
}
void Style_Class::draw_hline_vfunc_callback(GtkStyle* self, GdkWindow* window, GtkStateType state_type, GdkRectangle* area, GtkWidget* widget, const gchar* detail, gint x1, gint x2, gint y)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -629,14 +655,17 @@ void Style_Class::draw_hline_vfunc_callback(GtkStyle* self, GdkWindow* window, G
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_hline_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_hline_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
, ((Gtk::StateType)(state_type))
, Glib::wrap(area)
, Glib::wrap(widget)
@@ -645,28 +674,29 @@ void Style_Class::draw_hline_vfunc_callback(GtkStyle* self, GdkWindow* window, G
, x2
, y
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_hline)
+ (*base->draw_hline)(self, window, state_type, area, widget, detail, x1, x2, y);
- // Call the original underlying C function:
- if(base && base->draw_hline)
- (*base->draw_hline)(self, window, state_type, area, widget, detail, x1, x2, y);
- }
}
void Style_Class::draw_vline_vfunc_callback(GtkStyle* self, GdkWindow* window, GtkStateType state_type, GdkRectangle* area, GtkWidget* widget, const gchar* detail, gint y1, gint y2, gint x)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -674,14 +704,17 @@ void Style_Class::draw_vline_vfunc_callback(GtkStyle* self, GdkWindow* window, G
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_vline_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_vline_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
, ((Gtk::StateType)(state_type))
, Glib::wrap(area)
, Glib::wrap(widget)
@@ -690,28 +723,29 @@ void Style_Class::draw_vline_vfunc_callback(GtkStyle* self, GdkWindow* window, G
, y2
, x
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_vline)
+ (*base->draw_vline)(self, window, state_type, area, widget, detail, y1, y2, x);
- // Call the original underlying C function:
- if(base && base->draw_vline)
- (*base->draw_vline)(self, window, state_type, area, widget, detail, y1, y2, x);
- }
}
void Style_Class::draw_shadow_vfunc_callback(GtkStyle* self, GdkWindow* window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle* area, GtkWidget* widget, const gchar* detail, gint x, gint y, gint width, gint height)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -719,14 +753,17 @@ void Style_Class::draw_shadow_vfunc_callback(GtkStyle* self, GdkWindow* window,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_shadow_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_shadow_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
, ((Gtk::StateType)(state_type))
, ((ShadowType)(shadow_type))
, Glib::wrap(area)
@@ -737,28 +774,29 @@ void Style_Class::draw_shadow_vfunc_callback(GtkStyle* self, GdkWindow* window,
, width
, height
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_shadow)
+ (*base->draw_shadow)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
- // Call the original underlying C function:
- if(base && base->draw_shadow)
- (*base->draw_shadow)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
- }
}
void Style_Class::draw_polygon_vfunc_callback(GtkStyle* self, GdkWindow* window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle* area, GtkWidget* widget, const gchar* detail, GdkPoint* point, gint npoints, gboolean fill)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -766,14 +804,17 @@ void Style_Class::draw_polygon_vfunc_callback(GtkStyle* self, GdkWindow* window,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_polygon_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_polygon_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
, ((Gtk::StateType)(state_type))
, ((ShadowType)(shadow_type))
, Glib::wrap(area)
@@ -782,28 +823,29 @@ void Style_Class::draw_polygon_vfunc_callback(GtkStyle* self, GdkWindow* window,
, point, npoints
, fill
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_polygon)
+ (*base->draw_polygon)(self, window, state_type, shadow_type, area, widget, detail, point, npoints, fill);
- // Call the original underlying C function:
- if(base && base->draw_polygon)
- (*base->draw_polygon)(self, window, state_type, shadow_type, area, widget, detail, point, npoints, fill);
- }
}
void Style_Class::draw_arrow_vfunc_callback(GtkStyle* self, GdkWindow* window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle* area, GtkWidget* widget, const gchar* detail, GtkArrowType arrow_type, gboolean fill, gint x, gint y, gint width, gint height)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -811,14 +853,17 @@ void Style_Class::draw_arrow_vfunc_callback(GtkStyle* self, GdkWindow* window, G
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_arrow_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_arrow_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
, ((Gtk::StateType)(state_type))
, ((ShadowType)(shadow_type))
, Glib::wrap(area)
@@ -831,28 +876,29 @@ void Style_Class::draw_arrow_vfunc_callback(GtkStyle* self, GdkWindow* window, G
, width
, height
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_arrow)
+ (*base->draw_arrow)(self, window, state_type, shadow_type, area, widget, detail, arrow_type, fill, x, y, width, height);
- // Call the original underlying C function:
- if(base && base->draw_arrow)
- (*base->draw_arrow)(self, window, state_type, shadow_type, area, widget, detail, arrow_type, fill, x, y, width, height);
- }
}
void Style_Class::draw_diamond_vfunc_callback(GtkStyle* self, GdkWindow* window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle* area, GtkWidget* widget, const gchar* detail, gint x, gint y, gint width, gint height)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -860,14 +906,17 @@ void Style_Class::draw_diamond_vfunc_callback(GtkStyle* self, GdkWindow* window,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_diamond_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_diamond_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
, ((Gtk::StateType)(state_type))
, ((ShadowType)(shadow_type))
, Glib::wrap(area)
@@ -878,28 +927,29 @@ void Style_Class::draw_diamond_vfunc_callback(GtkStyle* self, GdkWindow* window,
, width
, height
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_diamond)
+ (*base->draw_diamond)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
- // Call the original underlying C function:
- if(base && base->draw_diamond)
- (*base->draw_diamond)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
- }
}
void Style_Class::draw_string_vfunc_callback(GtkStyle* self, GdkWindow* window, GtkStateType state_type, GdkRectangle* area, GtkWidget* widget, const gchar* detail, gint x, gint y, const gchar* string)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -907,14 +957,17 @@ void Style_Class::draw_string_vfunc_callback(GtkStyle* self, GdkWindow* window,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_string_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_string_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
, ((Gtk::StateType)(state_type))
, Glib::wrap(area)
, Glib::wrap(widget)
@@ -923,28 +976,29 @@ void Style_Class::draw_string_vfunc_callback(GtkStyle* self, GdkWindow* window,
, y
, Glib::convert_const_gchar_ptr_to_ustring(string)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_string)
+ (*base->draw_string)(self, window, state_type, area, widget, detail, x, y, string);
- // Call the original underlying C function:
- if(base && base->draw_string)
- (*base->draw_string)(self, window, state_type, area, widget, detail, x, y, string);
- }
}
void Style_Class::draw_box_vfunc_callback(GtkStyle* self, GdkWindow* window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle* area, GtkWidget* widget, const gchar* detail, gint x, gint y, gint width, gint height)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -952,14 +1006,17 @@ void Style_Class::draw_box_vfunc_callback(GtkStyle* self, GdkWindow* window, Gtk
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_box_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_box_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
, ((Gtk::StateType)(state_type))
, ((ShadowType)(shadow_type))
, Glib::wrap(area)
@@ -970,28 +1027,29 @@ void Style_Class::draw_box_vfunc_callback(GtkStyle* self, GdkWindow* window, Gtk
, width
, height
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_box)
+ (*base->draw_box)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
- // Call the original underlying C function:
- if(base && base->draw_box)
- (*base->draw_box)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
- }
}
void Style_Class::draw_flat_box_vfunc_callback(GtkStyle* self, GdkWindow* window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle* area, GtkWidget* widget, const gchar* detail, gint x, gint y, gint width, gint height)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -999,14 +1057,17 @@ void Style_Class::draw_flat_box_vfunc_callback(GtkStyle* self, GdkWindow* window
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_flat_box_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_flat_box_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
, ((Gtk::StateType)(state_type))
, ((ShadowType)(shadow_type))
, Glib::wrap(area)
@@ -1017,28 +1078,29 @@ void Style_Class::draw_flat_box_vfunc_callback(GtkStyle* self, GdkWindow* window
, width
, height
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_flat_box)
+ (*base->draw_flat_box)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
- // Call the original underlying C function:
- if(base && base->draw_flat_box)
- (*base->draw_flat_box)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
- }
}
void Style_Class::draw_check_vfunc_callback(GtkStyle* self, GdkWindow* window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle* area, GtkWidget* widget, const gchar* detail, gint x, gint y, gint width, gint height)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1046,14 +1108,17 @@ void Style_Class::draw_check_vfunc_callback(GtkStyle* self, GdkWindow* window, G
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_check_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_check_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
, ((Gtk::StateType)(state_type))
, ((ShadowType)(shadow_type))
, Glib::wrap(area)
@@ -1064,28 +1129,29 @@ void Style_Class::draw_check_vfunc_callback(GtkStyle* self, GdkWindow* window, G
, width
, height
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_check)
+ (*base->draw_check)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
- // Call the original underlying C function:
- if(base && base->draw_check)
- (*base->draw_check)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
- }
}
void Style_Class::draw_option_vfunc_callback(GtkStyle* self, GdkWindow* window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle* area, GtkWidget* widget, const gchar* detail, gint x, gint y, gint width, gint height)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1093,14 +1159,17 @@ void Style_Class::draw_option_vfunc_callback(GtkStyle* self, GdkWindow* window,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_option_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_option_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
, ((Gtk::StateType)(state_type))
, ((ShadowType)(shadow_type))
, Glib::wrap(area)
@@ -1111,28 +1180,29 @@ void Style_Class::draw_option_vfunc_callback(GtkStyle* self, GdkWindow* window,
, width
, height
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_option)
+ (*base->draw_option)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
- // Call the original underlying C function:
- if(base && base->draw_option)
- (*base->draw_option)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
- }
}
void Style_Class::draw_tab_vfunc_callback(GtkStyle* self, GdkWindow* window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle* area, GtkWidget* widget, const gchar* detail, gint x, gint y, gint width, gint height)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1140,14 +1210,17 @@ void Style_Class::draw_tab_vfunc_callback(GtkStyle* self, GdkWindow* window, Gtk
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_tab_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_tab_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
, ((Gtk::StateType)(state_type))
, ((ShadowType)(shadow_type))
, Glib::wrap(area)
@@ -1158,28 +1231,29 @@ void Style_Class::draw_tab_vfunc_callback(GtkStyle* self, GdkWindow* window, Gtk
, width
, height
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_tab)
+ (*base->draw_tab)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
- // Call the original underlying C function:
- if(base && base->draw_tab)
- (*base->draw_tab)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
- }
}
void Style_Class::draw_shadow_gap_vfunc_callback(GtkStyle* self, GdkWindow* window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle* area, GtkWidget* widget, const gchar* detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side, gint gap_x, gint gap_width)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1187,14 +1261,17 @@ void Style_Class::draw_shadow_gap_vfunc_callback(GtkStyle* self, GdkWindow* wind
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_shadow_gap_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_shadow_gap_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
, ((Gtk::StateType)(state_type))
, ((ShadowType)(shadow_type))
, Glib::wrap(area)
@@ -1208,28 +1285,29 @@ void Style_Class::draw_shadow_gap_vfunc_callback(GtkStyle* self, GdkWindow* wind
, gap_x
, gap_width
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_shadow_gap)
+ (*base->draw_shadow_gap)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side, gap_x, gap_width);
- // Call the original underlying C function:
- if(base && base->draw_shadow_gap)
- (*base->draw_shadow_gap)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side, gap_x, gap_width);
- }
}
void Style_Class::draw_box_gap_vfunc_callback(GtkStyle* self, GdkWindow* window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle* area, GtkWidget* widget, const gchar* detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side, gint gap_x, gint gap_width)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1237,14 +1315,17 @@ void Style_Class::draw_box_gap_vfunc_callback(GtkStyle* self, GdkWindow* window,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_box_gap_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_box_gap_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
, ((Gtk::StateType)(state_type))
, ((ShadowType)(shadow_type))
, Glib::wrap(area)
@@ -1258,28 +1339,29 @@ void Style_Class::draw_box_gap_vfunc_callback(GtkStyle* self, GdkWindow* window,
, gap_x
, gap_width
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_box_gap)
+ (*base->draw_box_gap)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side, gap_x, gap_width);
- // Call the original underlying C function:
- if(base && base->draw_box_gap)
- (*base->draw_box_gap)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side, gap_x, gap_width);
- }
}
void Style_Class::draw_extension_vfunc_callback(GtkStyle* self, GdkWindow* window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle* area, GtkWidget* widget, const gchar* detail, gint x, gint y, gint width, gint height, GtkPositionType gap_side)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1287,14 +1369,17 @@ void Style_Class::draw_extension_vfunc_callback(GtkStyle* self, GdkWindow* windo
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_extension_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_extension_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
, ((Gtk::StateType)(state_type))
, ((ShadowType)(shadow_type))
, Glib::wrap(area)
@@ -1306,28 +1391,29 @@ void Style_Class::draw_extension_vfunc_callback(GtkStyle* self, GdkWindow* windo
, height
, ((PositionType)(gap_side))
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_extension)
+ (*base->draw_extension)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side);
- // Call the original underlying C function:
- if(base && base->draw_extension)
- (*base->draw_extension)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side);
- }
}
void Style_Class::draw_focus_vfunc_callback(GtkStyle* self, GdkWindow* window, GtkStateType state_type, GdkRectangle* area, GtkWidget* widget, const gchar* detail, gint x, gint y, gint width, gint height)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1335,14 +1421,17 @@ void Style_Class::draw_focus_vfunc_callback(GtkStyle* self, GdkWindow* window, G
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_focus_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_focus_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
, ((Gtk::StateType)(state_type))
, Glib::wrap(area)
, Glib::wrap(widget)
@@ -1352,28 +1441,29 @@ void Style_Class::draw_focus_vfunc_callback(GtkStyle* self, GdkWindow* window, G
, width
, height
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_focus)
+ (*base->draw_focus)(self, window, state_type, area, widget, detail, x, y, width, height);
- // Call the original underlying C function:
- if(base && base->draw_focus)
- (*base->draw_focus)(self, window, state_type, area, widget, detail, x, y, width, height);
- }
}
void Style_Class::draw_slider_vfunc_callback(GtkStyle* self, GdkWindow* window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle* area, GtkWidget* widget, const gchar* detail, gint x, gint y, gint width, gint height, GtkOrientation orientation)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1381,14 +1471,17 @@ void Style_Class::draw_slider_vfunc_callback(GtkStyle* self, GdkWindow* window,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_slider_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_slider_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
, ((Gtk::StateType)(state_type))
, ((ShadowType)(shadow_type))
, Glib::wrap(area)
@@ -1400,28 +1493,29 @@ void Style_Class::draw_slider_vfunc_callback(GtkStyle* self, GdkWindow* window,
, height
, ((Orientation)(orientation))
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_slider)
+ (*base->draw_slider)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height, orientation);
- // Call the original underlying C function:
- if(base && base->draw_slider)
- (*base->draw_slider)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height, orientation);
- }
}
void Style_Class::draw_handle_vfunc_callback(GtkStyle* self, GdkWindow* window, GtkStateType state_type, GtkShadowType shadow_type, GdkRectangle* area, GtkWidget* widget, const gchar* detail, gint x, gint y, gint width, gint height, GtkOrientation orientation)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1429,14 +1523,17 @@ void Style_Class::draw_handle_vfunc_callback(GtkStyle* self, GdkWindow* window,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_handle_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_handle_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
, ((Gtk::StateType)(state_type))
, ((ShadowType)(shadow_type))
, Glib::wrap(area)
@@ -1448,28 +1545,29 @@ void Style_Class::draw_handle_vfunc_callback(GtkStyle* self, GdkWindow* window,
, height
, ((Orientation)(orientation))
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_handle)
+ (*base->draw_handle)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height, orientation);
- // Call the original underlying C function:
- if(base && base->draw_handle)
- (*base->draw_handle)(self, window, state_type, shadow_type, area, widget, detail, x, y, width, height, orientation);
- }
}
void Style_Class::draw_expander_vfunc_callback(GtkStyle* self, GdkWindow* window, GtkStateType state_type, GdkRectangle* area, GtkWidget* widget, const gchar* detail, gint x, gint y, GtkExpanderStyle expander_style)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1477,14 +1575,17 @@ void Style_Class::draw_expander_vfunc_callback(GtkStyle* self, GdkWindow* window
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_expander_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_expander_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
, ((Gtk::StateType)(state_type))
, Glib::wrap(area)
, Glib::wrap(widget)
@@ -1493,28 +1594,29 @@ void Style_Class::draw_expander_vfunc_callback(GtkStyle* self, GdkWindow* window
, y
, ((ExpanderStyle)(expander_style))
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_expander)
+ (*base->draw_expander)(self, window, state_type, area, widget, detail, x, y, expander_style);
- // Call the original underlying C function:
- if(base && base->draw_expander)
- (*base->draw_expander)(self, window, state_type, area, widget, detail, x, y, expander_style);
- }
}
void Style_Class::draw_layout_vfunc_callback(GtkStyle* self, GdkWindow* window, GtkStateType state_type, gboolean use_text, GdkRectangle* area, GtkWidget* widget, const gchar* detail, gint x, gint y, PangoLayout* layout)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1522,14 +1624,17 @@ void Style_Class::draw_layout_vfunc_callback(GtkStyle* self, GdkWindow* window,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_layout_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_layout_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
, ((Gtk::StateType)(state_type))
, use_text
, Glib::wrap(area)
@@ -1539,28 +1644,29 @@ void Style_Class::draw_layout_vfunc_callback(GtkStyle* self, GdkWindow* window,
, y
, Glib::wrap(layout)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_layout)
+ (*base->draw_layout)(self, window, state_type, use_text, area, widget, detail, x, y, layout);
- // Call the original underlying C function:
- if(base && base->draw_layout)
- (*base->draw_layout)(self, window, state_type, use_text, area, widget, detail, x, y, layout);
- }
}
void Style_Class::draw_resize_grip_vfunc_callback(GtkStyle* self, GdkWindow* window, GtkStateType state_type, GdkRectangle* area, GtkWidget* widget, const gchar* detail, GdkWindowEdge edge, gint x, gint y, gint width, gint height)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1568,14 +1674,17 @@ void Style_Class::draw_resize_grip_vfunc_callback(GtkStyle* self, GdkWindow* win
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->draw_resize_grip_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->draw_resize_grip_vfunc(Glib::wrap((GdkWindowObject*)(window), true)
, ((Gtk::StateType)(state_type))
, Glib::wrap(area)
, Glib::wrap(widget)
@@ -1586,31 +1695,32 @@ void Style_Class::draw_resize_grip_vfunc_callback(GtkStyle* self, GdkWindow* win
, width
, height
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->draw_resize_grip)
+ (*base->draw_resize_grip)(self, window, state_type, area, widget, detail, edge, x, y, width, height);
- // Call the original underlying C function:
- if(base && base->draw_resize_grip)
- (*base->draw_resize_grip)(self, window, state_type, area, widget, detail, edge, x, y, width, height);
- }
}
#endif //GLIBMM_VFUNCS_ENABLED
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Style_Class::realize_callback(GtkStyle* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1618,36 +1728,39 @@ void Style_Class::realize_callback(GtkStyle* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_realize();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_realize();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->realize)
- (*base->realize)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->realize)
+ (*base->realize)(self);
}
void Style_Class::unrealize_callback(GtkStyle* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1655,32 +1768,35 @@ void Style_Class::unrealize_callback(GtkStyle* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_unrealize();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_unrealize();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->unrealize)
- (*base->unrealize)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->unrealize)
+ (*base->unrealize)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -1728,7 +1844,8 @@ GType Style::get_base_type()
Style::Style()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(style_class_.init()))
{
}
@@ -1987,6 +2104,16 @@ Glib::RefPtr<Style> Style::copy()
return Glib::wrap(gtk_style_copy(gobj()));
}
+Glib::RefPtr<Style> Style::attach(const Glib::RefPtr<Gdk::Window>& window)
+{
+ return Glib::wrap(gtk_style_attach(gobj(), Glib::unwrap(window)));
+}
+
+void Style::detach()
+{
+gtk_style_detach(gobj());
+}
+
void Style::set_background(const Glib::RefPtr<Gdk::Window>& window, Gtk::StateType state_type)
{
gtk_style_set_background(gobj(), Glib::unwrap(window), ((GtkStateType)(state_type)));
diff --git a/libs/gtkmm2/gtk/gtkmm/style.h b/libs/gtkmm2/gtk/gtkmm/style.h
index ba8059149f..0a3a120ea7 100644
--- a/libs/gtkmm2/gtk/gtkmm/style.h
+++ b/libs/gtkmm2/gtk/gtkmm/style.h
@@ -3,6 +3,8 @@
#ifndef _GTKMM_STYLE_H
#define _GTKMM_STYLE_H
+#include <gtkmmconfig.h>
+
#include <glibmm.h>
@@ -25,6 +27,9 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+
#include <pangomm/fontdescription.h>
#include <pangomm/layout.h>
@@ -570,7 +575,20 @@ public:
int gap_width) const;
- /**
+ /** Draws a slider in the given rectangle on @a window using the
+ * given style and orientation.
+ * @param window A Gdk::Window.
+ * @param state_type A state.
+ * @param shadow_type A shadow.
+ * @param area Clip rectangle, or <tt>0</tt> if the
+ * output should not be clipped.
+ * @param widget The widget (may be <tt>0</tt>).
+ * @param detail A style detail (may be <tt>0</tt>).
+ * @param x The x origin of the rectangle in which to draw a slider.
+ * @param y The y origin of the rectangle in which to draw a slider.
+ * @param width The width of the rectangle in which to draw a slider.
+ * @param height The height of the rectangle in which to draw a slider.
+ * @param orientation The orientation to be used.
*/
void paint_slider(
const Glib::RefPtr<Gdk::Window>& window,
@@ -668,7 +686,18 @@ public:
ExpanderStyle expander_style) const;
- /**
+ /** Draws a layout on @a window using the given parameters.
+ * @param window A Gdk::Window.
+ * @param state_type A state.
+ * @param use_text Whether to use the text or foreground
+ * graphics context of @a style .
+ * @param area Clip rectangle, or <tt>0</tt> if the
+ * output should not be clipped.
+ * @param widget The widget (may be <tt>0</tt>).
+ * @param detail A style detail (may be <tt>0</tt>).
+ * @param x X origin.
+ * @param y Y origin.
+ * @param layout The layout to draw.
*/
void paint_layout(
const Glib::RefPtr<Gdk::Window>& window,
@@ -711,10 +740,28 @@ public:
Glib::RefPtr<Style> copy();
- // These are worthless to the users - they should use set_style instead.
- //_WRAP_METHOD(Glib::RefPtr<Style> attach(const Glib::RefPtr<Gdk::Window>& window), gtk_style_attach)
- //_WRAP_METHOD(void detach(), gtk_style_detach)
+ /** Attaches a style to a window; this process allocates the
+ * colors and creates the GC's for the style - it specializes
+ * it to a particular visual and colormap. The process may
+ * involve the creation of a new style if the style has already
+ * been attached to a window with a different style and colormap.
+ *
+ * Since this function may return a new object, you have to use it
+ * in the following way:
+ * <tt>style = gtk_style_attach (style, window)</tt>
+ * @param window A Gdk::Window.
+ * @return Either @a style , or a newly-created Gtk::Style.
+ * If the style is newly created, the style parameter
+ * will be unref'ed, and the new style will have
+ * a reference count belonging to the caller.
+ */
+ Glib::RefPtr<Style> attach(const Glib::RefPtr<Gdk::Window>& window);
+
+ /** Detaches a style from a window. If the style is not attached
+ * to any windows anymore, it is unrealized. See attach().
+ */
+ void detach();
/** Sets the background of @a window to the background color or pixmap
@@ -733,6 +780,17 @@ public:
IconSet lookup_icon_set(const Gtk::StockID& stock_id);
+ /** Looks up @a color_name in the style's logical color mappings,
+ * filling in @a color and returning <tt>true</tt> if found, otherwise
+ * returning <tt>false</tt>. Do not cache the found mapping, because
+ * it depends on the Gtk::Style and might change when a theme
+ * switch occurs.
+ * @param color_name The name of the logical color to look up.
+ * @param color The Gdk::Color to fill in.
+ * @return <tt>true</tt> if the mapping was found.
+ *
+ * @newin2p10.
+ */
bool lookup_color(const Glib::ustring& color_name, Gdk::Color& color) const;
@@ -761,18 +819,22 @@ protected:
virtual void unrealize_vfunc();
#endif //GLIBMM_VFUNCS_ENABLED
+
#ifdef GLIBMM_VFUNCS_ENABLED
virtual void copy_vfunc(const Glib::RefPtr<Style>& src);
#endif //GLIBMM_VFUNCS_ENABLED
+
#ifdef GLIBMM_VFUNCS_ENABLED
virtual Glib::RefPtr<Style> clone_vfunc();
#endif //GLIBMM_VFUNCS_ENABLED
+
#ifdef GLIBMM_VFUNCS_ENABLED
virtual void init_from_rc_vfunc(const Glib::RefPtr<RcStyle>& rc_style);
#endif //GLIBMM_VFUNCS_ENABLED
+
#ifdef GLIBMM_VFUNCS_ENABLED
virtual void set_background_vfunc(const Glib::RefPtr<Gdk::Window>& window, Gtk::StateType state_type);
#endif //GLIBMM_VFUNCS_ENABLED
@@ -867,17 +929,17 @@ protected:
#endif //GLIBMM_VFUNCS_ENABLED
-/**
+ /**
* @par Prototype:
- * <tt>void %realize()</tt>
+ * <tt>void on_my_%realize()</tt>
*/
Glib::SignalProxy0< void > signal_realize();
-/**
+ /**
* @par Prototype:
- * <tt>void %unrealize()</tt>
+ * <tt>void on_my_%unrealize()</tt>
*/
Glib::SignalProxy0< void > signal_unrealize();
@@ -909,10 +971,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::Style
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Style
*/
Glib::RefPtr<Gtk::Style> wrap(GtkStyle* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/table.cc b/libs/gtkmm2/gtk/gtkmm/table.cc
index f92e74413d..a20ce6cee0 100644
--- a/libs/gtkmm2/gtk/gtkmm/table.cc
+++ b/libs/gtkmm2/gtk/gtkmm/table.cc
@@ -306,8 +306,9 @@ TableList::reference TableList::operator[](size_type l) const
Table::Table(guint n_rows, guint n_columns, bool homogeneous)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Container(Glib::ConstructParams(table_class_.init(), "n_rows", n_rows, "n_columns", n_columns, "homogeneous", static_cast<int>(homogeneous), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Container(Glib::ConstructParams(table_class_.init(), "n_rows", n_rows, "n_columns", n_columns, "homogeneous", static_cast<int>(homogeneous), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/table.h b/libs/gtkmm2/gtk/gtkmm/table.h
index 73ce84fd3e..214e414f2f 100644
--- a/libs/gtkmm2/gtk/gtkmm/table.h
+++ b/libs/gtkmm2/gtk/gtkmm/table.h
@@ -391,10 +391,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::Table
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Table
*/
Gtk::Table* wrap(GtkTable* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/targetlist.h b/libs/gtkmm2/gtk/gtkmm/targetlist.h
index 4c14339fc3..f6e07584bf 100644
--- a/libs/gtkmm2/gtk/gtkmm/targetlist.h
+++ b/libs/gtkmm2/gtk/gtkmm/targetlist.h
@@ -98,10 +98,13 @@ public:
namespace Glib
{
- /** @relates Gtk::TargetList
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::TargetList
*/
Glib::RefPtr<Gtk::TargetList> wrap(GtkTargetList* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gtk/gtkmm/tearoffmenuitem.cc b/libs/gtkmm2/gtk/gtkmm/tearoffmenuitem.cc
index 920c9a9d28..7950e6a9ac 100644
--- a/libs/gtkmm2/gtk/gtkmm/tearoffmenuitem.cc
+++ b/libs/gtkmm2/gtk/gtkmm/tearoffmenuitem.cc
@@ -138,7 +138,8 @@ GType TearoffMenuItem::get_base_type()
TearoffMenuItem::TearoffMenuItem()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::MenuItem(Glib::ConstructParams(tearoffmenuitem_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/tearoffmenuitem.h b/libs/gtkmm2/gtk/gtkmm/tearoffmenuitem.h
index 9033151bcc..1f28a2876d 100644
--- a/libs/gtkmm2/gtk/gtkmm/tearoffmenuitem.h
+++ b/libs/gtkmm2/gtk/gtkmm/tearoffmenuitem.h
@@ -120,10 +120,13 @@ public:
namespace Glib
{
- /** @relates Gtk::TearoffMenuItem
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::TearoffMenuItem
*/
Gtk::TearoffMenuItem* wrap(GtkTearoffMenuItem* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/textattributes.h b/libs/gtkmm2/gtk/gtkmm/textattributes.h
index 960be8b300..de22c24dc4 100644
--- a/libs/gtkmm2/gtk/gtkmm/textattributes.h
+++ b/libs/gtkmm2/gtk/gtkmm/textattributes.h
@@ -96,10 +96,13 @@ inline void swap(TextAttributes& lhs, TextAttributes& rhs)
namespace Glib
{
-/** @relates Gtk::TextAttributes
- * @param object The C instance
+/** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::TextAttributes
*/
Gtk::TextAttributes wrap(GtkTextAttributes* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gtk/gtkmm/textbuffer.cc b/libs/gtkmm2/gtk/gtkmm/textbuffer.cc
index a0ae07616c..6a6a6f1831 100644
--- a/libs/gtkmm2/gtk/gtkmm/textbuffer.cc
+++ b/libs/gtkmm2/gtk/gtkmm/textbuffer.cc
@@ -99,8 +99,9 @@ typedef TextChildAnchor ChildAnchor; //Help the code-generator so that it does n
TextBuffer::TextBuffer(const Glib::RefPtr<TagTable>& tag_table)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Glib::Object(Glib::ConstructParams(textbuffer_class_.init(), "tag_table",Glib::unwrap(tag_table), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Glib::Object(Glib::ConstructParams(textbuffer_class_.init(), "tag_table",Glib::unwrap(tag_table), static_cast<char*>(0)))
{}
Glib::RefPtr<TextBuffer::Tag> TextBuffer::create_tag(const Glib::ustring& tag_name)
@@ -988,7 +989,7 @@ void TextBuffer_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void TextBuffer_Class::insert_text_callback(GtkTextBuffer* self, GtkTextIter* p0, const gchar* p1, gint p2)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -996,39 +997,42 @@ void TextBuffer_Class::insert_text_callback(GtkTextBuffer* self, GtkTextIter* p0
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_insert(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_insert(Glib::wrap(p0)
, Glib::ustring(p1, p1 + p2)
, p2
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->insert_text)
- (*base->insert_text)(self, p0, p1, p2);
- }
+ // Call the original underlying C function:
+ if(base && base->insert_text)
+ (*base->insert_text)(self, p0, p1, p2);
}
void TextBuffer_Class::insert_pixbuf_callback(GtkTextBuffer* self, GtkTextIter* p0, GdkPixbuf* p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1036,38 +1040,41 @@ void TextBuffer_Class::insert_pixbuf_callback(GtkTextBuffer* self, GtkTextIter*
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_insert_pixbuf(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_insert_pixbuf(Glib::wrap(p0)
, Glib::wrap(p1, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->insert_pixbuf)
- (*base->insert_pixbuf)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->insert_pixbuf)
+ (*base->insert_pixbuf)(self, p0, p1);
}
void TextBuffer_Class::insert_child_anchor_callback(GtkTextBuffer* self, GtkTextIter* p0, GtkTextChildAnchor* p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1075,38 +1082,41 @@ void TextBuffer_Class::insert_child_anchor_callback(GtkTextBuffer* self, GtkText
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_insert_child_anchor(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_insert_child_anchor(Glib::wrap(p0)
, Glib::wrap(p1, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->insert_child_anchor)
- (*base->insert_child_anchor)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->insert_child_anchor)
+ (*base->insert_child_anchor)(self, p0, p1);
}
void TextBuffer_Class::delete_range_callback(GtkTextBuffer* self, GtkTextIter* p0, GtkTextIter* p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1114,38 +1124,41 @@ void TextBuffer_Class::delete_range_callback(GtkTextBuffer* self, GtkTextIter* p
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_erase(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_erase(Glib::wrap(p0)
, Glib::wrap(p1)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->delete_range)
- (*base->delete_range)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->delete_range)
+ (*base->delete_range)(self, p0, p1);
}
void TextBuffer_Class::changed_callback(GtkTextBuffer* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1153,36 +1166,39 @@ void TextBuffer_Class::changed_callback(GtkTextBuffer* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->changed)
- (*base->changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->changed)
+ (*base->changed)(self);
}
void TextBuffer_Class::modified_changed_callback(GtkTextBuffer* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1190,36 +1206,39 @@ void TextBuffer_Class::modified_changed_callback(GtkTextBuffer* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_modified_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_modified_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->modified_changed)
- (*base->modified_changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->modified_changed)
+ (*base->modified_changed)(self);
}
void TextBuffer_Class::mark_set_callback(GtkTextBuffer* self, const GtkTextIter* p0, GtkTextMark* p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1227,38 +1246,41 @@ void TextBuffer_Class::mark_set_callback(GtkTextBuffer* self, const GtkTextIter*
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_mark_set(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_mark_set(Glib::wrap(p0)
, Glib::wrap(p1, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->mark_set)
- (*base->mark_set)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->mark_set)
+ (*base->mark_set)(self, p0, p1);
}
void TextBuffer_Class::mark_deleted_callback(GtkTextBuffer* self, GtkTextMark* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1266,37 +1288,40 @@ void TextBuffer_Class::mark_deleted_callback(GtkTextBuffer* self, GtkTextMark* p
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_mark_deleted(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_mark_deleted(Glib::wrap(p0, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->mark_deleted)
- (*base->mark_deleted)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->mark_deleted)
+ (*base->mark_deleted)(self, p0);
}
void TextBuffer_Class::apply_tag_callback(GtkTextBuffer* self, GtkTextTag* p0, const GtkTextIter* p1, const GtkTextIter* p2)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1304,39 +1329,42 @@ void TextBuffer_Class::apply_tag_callback(GtkTextBuffer* self, GtkTextTag* p0, c
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_apply_tag(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_apply_tag(Glib::wrap(p0, true)
, Glib::wrap(p1)
, Glib::wrap(p2)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->apply_tag)
- (*base->apply_tag)(self, p0, p1, p2);
- }
+ // Call the original underlying C function:
+ if(base && base->apply_tag)
+ (*base->apply_tag)(self, p0, p1, p2);
}
void TextBuffer_Class::remove_tag_callback(GtkTextBuffer* self, GtkTextTag* p0, const GtkTextIter* p1, const GtkTextIter* p2)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1344,39 +1372,42 @@ void TextBuffer_Class::remove_tag_callback(GtkTextBuffer* self, GtkTextTag* p0,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_remove_tag(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_remove_tag(Glib::wrap(p0, true)
, Glib::wrap(p1)
, Glib::wrap(p2)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->remove_tag)
- (*base->remove_tag)(self, p0, p1, p2);
- }
+ // Call the original underlying C function:
+ if(base && base->remove_tag)
+ (*base->remove_tag)(self, p0, p1, p2);
}
void TextBuffer_Class::begin_user_action_callback(GtkTextBuffer* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1384,36 +1415,39 @@ void TextBuffer_Class::begin_user_action_callback(GtkTextBuffer* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_begin_user_action();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_begin_user_action();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->begin_user_action)
- (*base->begin_user_action)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->begin_user_action)
+ (*base->begin_user_action)(self);
}
void TextBuffer_Class::end_user_action_callback(GtkTextBuffer* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1421,32 +1455,35 @@ void TextBuffer_Class::end_user_action_callback(GtkTextBuffer* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_end_user_action();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_end_user_action();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->end_user_action)
- (*base->end_user_action)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->end_user_action)
+ (*base->end_user_action)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -1494,7 +1531,8 @@ GType TextBuffer::get_base_type()
TextBuffer::TextBuffer()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(textbuffer_class_.init()))
{
}
@@ -1552,6 +1590,11 @@ Glib::ustring TextBuffer::get_slice(const iterator& start, const iterator& end,
return Glib::convert_return_gchar_ptr_to_ustring(gtk_text_buffer_get_slice(const_cast<GtkTextBuffer*>(gobj()), (start).gobj(), (end).gobj(), static_cast<int>(include_hidden_chars)));
}
+void TextBuffer::add_mark(const Glib::RefPtr<TextBuffer::Mark>& mark, const iterator& where)
+{
+gtk_text_buffer_add_mark(gobj(), Glib::unwrap(mark), (where).gobj());
+}
+
Glib::RefPtr<TextBuffer::Mark> TextBuffer::create_mark(const Glib::ustring& mark_name, const iterator& where, bool left_gravity)
{
@@ -1707,38 +1750,6 @@ void TextBuffer::end_user_action()
gtk_text_buffer_end_user_action(gobj());
}
-#ifdef GTKMM_MAEMO_EXTENSIONS_ENABLED
-void TextBuffer::set_can_paste_rich_text(bool can_paste_rich_text)
-{
-gtk_text_buffer_set_can_paste_rich_text(gobj(), static_cast<int>(can_paste_rich_text));
-}
-
-
-#endif // GTKMM_MAEMO_EXTENSIONS_ENABLED
-#ifdef GTKMM_MAEMO_EXTENSIONS_ENABLED
-bool TextBuffer::get_can_paste_rich_text() const
-{
- return gtk_text_buffer_get_can_paste_rich_text(const_cast<GtkTextBuffer*>(gobj()));
-}
-
-
-#endif // GTKMM_MAEMO_EXTENSIONS_ENABLED
-#ifdef GTKMM_MAEMO_EXTENSIONS_ENABLED
-void TextBuffer::set_rich_text_format(const Glib::ustring& format)
-{
-gtk_text_buffer_set_rich_text_format(gobj(), format.c_str());
-}
-
-
-#endif // GTKMM_MAEMO_EXTENSIONS_ENABLED
-#ifdef GTKMM_MAEMO_EXTENSIONS_ENABLED
-Glib::ustring TextBuffer::get_rich_text_format() const
-{
- return Glib::convert_const_gchar_ptr_to_ustring(gtk_text_buffer_get_rich_text_format(const_cast<GtkTextBuffer*>(gobj())));
-}
-
-
-#endif // GTKMM_MAEMO_EXTENSIONS_ENABLED
Glib::ustring TextBuffer::register_serialize_tagset(const Glib::ustring& tagset_name)
{
return Gdk::AtomString::to_cpp_type(gtk_text_buffer_register_serialize_tagset(gobj(), tagset_name.c_str()));
@@ -1863,6 +1874,13 @@ Glib::PropertyProxy_ReadOnly<bool> TextBuffer::property_has_selection() const
}
#endif //GLIBMM_PROPERTIES_ENABLED
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<int> TextBuffer::property_cursor_position() const
+{
+ return Glib::PropertyProxy_ReadOnly<int>(this, "cursor-position");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Gtk::TextBuffer::on_insert(const TextBuffer::iterator& pos, const Glib::ustring& text, int bytes)
diff --git a/libs/gtkmm2/gtk/gtkmm/textbuffer.h b/libs/gtkmm2/gtk/gtkmm/textbuffer.h
index e60387ff4c..254fe5ac0a 100644
--- a/libs/gtkmm2/gtk/gtkmm/textbuffer.h
+++ b/libs/gtkmm2/gtk/gtkmm/textbuffer.h
@@ -3,6 +3,8 @@
#ifndef _GTKMM_TEXTBUFFER_H
#define _GTKMM_TEXTBUFFER_H
+#include <gtkmmconfig.h>
+
#include <glibmm.h>
@@ -25,6 +27,9 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+
#include <gtkmm/object.h>
#include <gtkmm/texttagtable.h>
@@ -421,13 +426,7 @@ public:
/** @deprecated Use get_text(const iterator& start, const iterator& end, bool include_hidden_chars) const
*/
- /** Returns the text in the range [ @a start , @a end ). Excludes undisplayed
- * text (text marked with tags that set the invisibility attribute) if
- * @a include_hidden_chars is <tt>false</tt>. Does not include characters
- * representing embedded images, so byte and character indexes into
- * the returned string do <em>not</em> correspond to byte
- * and character indexes into the buffer. Contrast with
- * get_slice().
+ /** Return value: an allocated UTF-8 string
* @param start Start of a range.
* @param end End of a range.
* @param include_hidden_chars Whether to include invisible text.
@@ -436,13 +435,7 @@ public:
Glib::ustring get_text(const iterator& start, const iterator& end, bool include_hidden_chars = true);
- /** Returns the text in the range [ @a start , @a end ). Excludes undisplayed
- * text (text marked with tags that set the invisibility attribute) if
- * @a include_hidden_chars is <tt>false</tt>. Does not include characters
- * representing embedded images, so byte and character indexes into
- * the returned string do <em>not</em> correspond to byte
- * and character indexes into the buffer. Contrast with
- * get_slice().
+ /** Return value: an allocated UTF-8 string
* @param start Start of a range.
* @param end End of a range.
* @param include_hidden_chars Whether to include invisible text.
@@ -470,16 +463,7 @@ public:
/** @deprecated Use get_slice(const iterator& start, const iterator& end, bool include_hidden_chars) const.
*/
- /** Returns the text in the range [ @a start , @a end ). Excludes undisplayed
- * text (text marked with tags that set the invisibility attribute) if
- * @a include_hidden_chars is <tt>false</tt>. The returned string includes a
- * 0xFFFC character whenever the buffer contains
- * embedded images, so byte and character indexes into
- * the returned string <em>do</em> correspond to byte
- * and character indexes into the buffer. Contrast with
- * get_text(). Note that 0xFFFC can occur in normal
- * text as well, so it is not a reliable indicator that a pixbuf or
- * widget is in the buffer.
+ /** Return value: an allocated UTF-8 string
* @param start Start of a range.
* @param end End of a range.
* @param include_hidden_chars Whether to include invisible text.
@@ -488,16 +472,7 @@ public:
Glib::ustring get_slice(const iterator& start, const iterator& end, bool include_hidden_chars = true);
- /** Returns the text in the range [ @a start , @a end ). Excludes undisplayed
- * text (text marked with tags that set the invisibility attribute) if
- * @a include_hidden_chars is <tt>false</tt>. The returned string includes a
- * 0xFFFC character whenever the buffer contains
- * embedded images, so byte and character indexes into
- * the returned string <em>do</em> correspond to byte
- * and character indexes into the buffer. Contrast with
- * get_text(). Note that 0xFFFC can occur in normal
- * text as well, so it is not a reliable indicator that a pixbuf or
- * widget is in the buffer.
+ /** Return value: an allocated UTF-8 string
* @param start Start of a range.
* @param end End of a range.
* @param include_hidden_chars Whether to include invisible text.
@@ -514,6 +489,20 @@ public:
Glib::RefPtr<ChildAnchor> create_child_anchor(const iterator& pos);
+ /** Adds the mark at position @a where . The mark must not be added to
+ * another buffer, and if its name is not <tt>0</tt> then there must not
+ * be another mark in the buffer with the same name.
+ *
+ * Emits the "mark_set" signal as notification of the mark's initial
+ * placement.
+ *
+ * @newin2p12
+ * @param mark The mark to add.
+ * @param where Location to place mark.
+ */
+ void add_mark(const Glib::RefPtr<TextBuffer::Mark>& mark, const iterator& where);
+
+
/** Creates a mark at position @a where . The mark can be retrieved by name using
* get_mark(). If a mark has left gravity, and text is
* inserted at the mark's current location, the mark will be moved to
@@ -573,15 +562,13 @@ public:
void delete_mark(const Glib::RefPtr<Mark>& mark);
- /** Returns the mark named @a name in buffer @a buffer , or <tt>0</tt> if no such
- * mark exists in the buffer.
+ /** Return value: a Gtk::TextMark, or <tt>0</tt>
* @param name A mark name.
* @return A Gtk::TextMark, or <tt>0</tt>.
*/
Glib::RefPtr<TextBuffer::Mark> get_mark(const Glib::ustring& name);
- /** Returns the mark named @a name in buffer @a buffer , or <tt>0</tt> if no such
- * mark exists in the buffer.
+ /** Return value: a Gtk::TextMark, or <tt>0</tt>
* @param name A mark name.
* @return A Gtk::TextMark, or <tt>0</tt>.
*/
@@ -602,25 +589,12 @@ public:
void delete_mark_by_name(const Glib::ustring& name);
- /** Returns the mark that represents the cursor (insertion point).
- * Equivalent to calling get_mark() to get the mark
- * named "insert", but very slightly more efficient, and involves less
- * typing.
+ /** Return value: insertion point mark
* @return Insertion point mark.
*/
Glib::RefPtr<TextBuffer::Mark> get_insert();
- /** Returns the mark that represents the selection bound. Equivalent
- * to calling get_mark() to get the mark named
- * "selection_bound", but very slightly more efficient, and involves
- * less typing.
- *
- * The currently-selected text in @a buffer is the region between the
- * "selection_bound" and "insert" marks. If "selection_bound" and
- * "insert" are in the same place, then there is no current selection.
- * get_selection_bounds() is another convenient function
- * for handling the selection, if you just want to know whether there's a
- * selection and what its bounds are.
+ /** Return value: selection bound mark
* @return Selection bound mark.
*/
Glib::RefPtr<TextBuffer::Mark> get_selection_bound();
@@ -737,18 +711,25 @@ public:
void set_modified(bool setting = true);
+ /** Indicates whether the buffer has some text currently selected.
+ * @return <tt>true</tt> if the there is text selected
+ *
+ * @newin2p10.
+ */
bool get_has_selection() const;
- /** Adds @a clipboard to the list of clipboards in which the selection contents
- * of @a buffer are available. In most cases, @a clipboard will be the Gtk::Clipboard
- * of type Gdk::SELECTION_PRIMARY for a view of @a buffer .
+ /** Adds @a clipboard to the list of clipboards in which the selection
+ * contents of @a buffer are available. In most cases, @a clipboard will be
+ * the Gtk::Clipboard of type Gdk::SELECTION_PRIMARY for a view of @a buffer .
* @param clipboard A Gtk::Clipboard.
*/
void add_selection_clipboard(const Glib::RefPtr<Clipboard>& clipboard);
- /** Removes a Gtk::Clipboard added with add_selection_clipboard()
- * @param clipboard A Gtk::Clipboard added to @a buffer by add_selection_clipboard().
+ /** Removes a Gtk::Clipboard added with
+ * add_selection_clipboard().
+ * @param clipboard A Gtk::Clipboard added to @a buffer by
+ * add_selection_clipboard().
*/
void remove_selection_clipboard(const Glib::RefPtr<Clipboard>& clipboard);
@@ -767,12 +748,7 @@ public:
void paste_clipboard(const Glib::RefPtr<Clipboard>& clipboard, bool default_editable = true);
- /** Returns <tt>true</tt> if some text is selected; places the bounds
- * of the selection in @a start and @a end (if the selection has length 0,
- * then @a start and @a end are filled in with the same value).
- * @a start and @a end will be in ascending order. If @a start and @a end are
- * <tt>0</tt>, then they are not filled in, but the return value still indicates
- * whether text is selected.
+ /** Return value: whether the selection has nonzero length
* @param start Iterator to initialize with selection start.
* @param end Iterator to initialize with selection end.
* @return Whether the selection has nonzero length.
@@ -813,9 +789,10 @@ public:
* end_user_action() can then be grouped when creating
* an undo stack. Gtk::TextBuffer maintains a count of calls to
* begin_user_action() that have not been closed with
- * a call to end_user_action(), and emits the "begin_user_action"
- * and "end_user_action" signals only for the outermost pair of calls.
- * This allows you to build user actions from other user actions.
+ * a call to end_user_action(), and emits the
+ * "begin_user_action" and "end_user_action" signals only for the
+ * outermost pair of calls. This allows you to build user actions
+ * from other user actions.
*
* The "interactive" buffer mutation functions, such as
* insert_interactive(), automatically call begin/end
@@ -833,39 +810,10 @@ public:
//These are only available on the Maemo platform (patched Gtk+):
-
- /** Sets whether rich text can be pasted and dropped to the text buffer.
- *
- * Since: maemo 1.0
- * @param can_paste_rich_text Whether rich text pasting and dropping is enabled.
- */
-
-#ifdef GTKMM_MAEMO_EXTENSIONS_ENABLED
- void set_can_paste_rich_text(bool can_paste_rich_text);
-#endif // GTKMM_MAEMO_EXTENSIONS_ENABLED
-
-
- /**
- * @return Whether rich text pasting and dropping is enabled
- *
- * Since: maemo 1.0.
- */
-
-#ifdef GTKMM_MAEMO_EXTENSIONS_ENABLED
- bool get_can_paste_rich_text() const;
-#endif // GTKMM_MAEMO_EXTENSIONS_ENABLED
-
-
- /** Sets a new rich text format for the widget.
- *
- * Since: maemo 1.0
- * @param format Name of a collection of tags that the text view supports.
- */
-
-#ifdef GTKMM_MAEMO_EXTENSIONS_ENABLED
- void set_rich_text_format(const Glib::ustring& format);
-#endif // GTKMM_MAEMO_EXTENSIONS_ENABLED
+ //gtkmmproc error: gtk_text_buffer_set_can_paste_rich_text : method defs lookup failed (1)
+ //gtkmmproc error: gtk_text_buffer_get_can_paste_rich_text : method defs lookup failed (1)
+ //gtkmmproc error: gtk_text_buffer_set_rich_text_format : method defs lookup failed (1)
#ifdef GTKMM_MAEMO_EXTENSIONS_ENABLED
/** Accept all formats from clipboard
@@ -874,17 +822,8 @@ public:
void set_rich_text_format_all();
#endif //GTKMM_MAEMO_EXTENSIONS_ENABLED
-
- /**
- * @return The widget's current rich text format.
- *
- * Since: maemo 1.0.
- */
+ //gtkmmproc error: gtk_text_buffer_get_rich_text_format : method defs lookup failed (1)
-#ifdef GTKMM_MAEMO_EXTENSIONS_ENABLED
- Glib::ustring get_rich_text_format() const;
-#endif // GTKMM_MAEMO_EXTENSIONS_ENABLED
-
//TODO: I have commented these out for now because I don't understand what the register_buffer and content_buffer are. murrayc.
//TODO: Documentation.
@@ -900,6 +839,29 @@ public:
*/
+ /** This function registers GTK+'s internal rich text serialization
+ * format with the passed @a buffer . The internal format does not comply
+ * to any standard rich text format and only works between Gtk::TextBuffer
+ * instances. It is capable of serializing all of a text buffer's tags
+ * and embedded pixbufs.
+ *
+ * This function is just a wrapper around
+ * register_serialize_format(). The mime type used
+ * for registering is "application/x-gtk-text-buffer-rich-text", or
+ * "application/x-gtk-text-buffer-rich-text;format= @a tagset_name " if a
+ * @a tagset_name was passed.
+ *
+ * The @a tagset_name can be used to restrict the transfer of rich text
+ * to buffers with compatible sets of tags, in order to avoid unknown
+ * tags from being pasted. It is probably the common case to pass an
+ * identifier != <tt>0</tt> here, since the <tt>0</tt> tagset requires the
+ * receiving buffer to deal with with pasting of arbitrary tags.
+ * @param tagset_name An optional tagset name, on <tt>0</tt>.
+ * @return The Gdk::Atom that corresponds to the newly registered
+ * format's mime-type.
+ *
+ * @newin2p10.
+ */
Glib::ustring register_serialize_tagset(const Glib::ustring& tagset_name);
/*
@@ -907,17 +869,68 @@ public:
_IGNORE(gtk_text_buffer_register_deserialize_format)
*/
+ /** This function registers GTK+'s internal rich text serialization
+ * format with the passed @a buffer . See
+ * register_serialize_tagset() for details.
+ * @param tagset_name An optional tagset name, on <tt>0</tt>.
+ * @return The Gdk::Atom that corresponds to the newly registered
+ * format's mime-type.
+ *
+ * @newin2p10.
+ */
Glib::ustring register_deserialize_tagset(const Glib::ustring& tagset_name);
+ /** This function unregisters a rich text format that was previously
+ * registered using register_serialize_format() or
+ * register_serialize_tagset()
+ *
+ * @newin2p10
+ * @param format A Gdk::Atom representing a registered rich text format.
+ */
void unregister_serialize_format(const Glib::ustring& format);
+ /** This function unregisters a rich text format that was previously
+ * registered using register_deserialize_format() or
+ * register_deserialize_tagset().
+ *
+ * @newin2p10
+ * @param format A Gdk::Atom representing a registered rich text format.
+ */
void unregister_deserialize_format(const Glib::ustring& format);
-//TODO: Wrap property too, if there is one.
+ /** Use this function to allow a rich text deserialization function to
+ * create new tags in the receiving buffer. Note that using this
+ * function is almost always a bad idea, because the rich text
+ * functions you register should know how to map the rich text format
+ * they handler to your text buffers set of tags.
+ *
+ * The ability of creating new (arbitrary!) tags in the receiving buffer
+ * is meant for special rich text formats like the internal one that
+ * is registered using register_deserialize_tagset(),
+ * because that format is essentially a dump of the internal structure
+ * of the source buffer, including its tag names.
+ *
+ * You should allow creation of tags only if you know what you are
+ * doing, e.g. if you defined a tagset name for your application
+ * suite's text buffers and you know that it's fine to receive new
+ * tags from these buffers, because you know that your application can
+ * handle the newly created tags.
+ *
+ * @newin2p10
+ * @param format A Gdk::Atom representing a registered rich text format.
+ * @param can_create_tags Whether deserializing this format may create tags.
+ */
void set_can_create_tags(const Glib::ustring& format, bool can_create_tags = true);
+ /** This functions returns the value set with
+ * deserialize_set_can_create_tags()
+ * @param format A Gdk::Atom representing a registered rich text format.
+ * @return Whether deserializing this format may create tags
+ *
+ * @newin2p10.
+ */
bool get_can_create_tags(const Glib::ustring& format) const;
@@ -946,25 +959,25 @@ public:
*/
-/**
+ /**
* @par Prototype:
- * <tt>void %insert(const TextBuffer::iterator& pos, const Glib::ustring& text, int bytes)</tt>
+ * <tt>void on_my_%insert(const TextBuffer::iterator& pos, const Glib::ustring& text, int bytes)</tt>
*/
Glib::SignalProxy3< void,const TextBuffer::iterator&,const Glib::ustring&,int > signal_insert();
-
-/**
+
+ /**
* @par Prototype:
- * <tt>void %insert_pixbuf(const TextBuffer::iterator& pos, const Glib::RefPtr<Gdk::Pixbuf>& pixbuf)</tt>
+ * <tt>void on_my_%insert_pixbuf(const TextBuffer::iterator& pos, const Glib::RefPtr<Gdk::Pixbuf>& pixbuf)</tt>
*/
Glib::SignalProxy2< void,const TextBuffer::iterator&,const Glib::RefPtr<Gdk::Pixbuf>& > signal_insert_pixbuf();
-/**
+ /**
* @par Prototype:
- * <tt>void %insert_child_anchor(const TextBuffer::iterator& pos, const Glib::RefPtr<ChildAnchor>& anchor)</tt>
+ * <tt>void on_my_%insert_child_anchor(const TextBuffer::iterator& pos, const Glib::RefPtr<ChildAnchor>& anchor)</tt>
*/
Glib::SignalProxy2< void,const TextBuffer::iterator&,const Glib::RefPtr<ChildAnchor>& > signal_insert_child_anchor();
@@ -979,75 +992,73 @@ public:
*
* @param start the start of the range to be deleted.
* @param end the end of the range to be deleted.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %erase(const TextBuffer::iterator& start, const TextBuffer::iterator& end)</tt>
+ * <tt>void on_my_%erase(const TextBuffer::iterator& start, const TextBuffer::iterator& end)</tt>
*/
Glib::SignalProxy2< void,const TextBuffer::iterator&,const TextBuffer::iterator& > signal_erase();
-/**
+ /**
* @par Prototype:
- * <tt>void %changed()</tt>
+ * <tt>void on_my_%changed()</tt>
*/
Glib::SignalProxy0< void > signal_changed();
-/**
+ /**
* @par Prototype:
- * <tt>void %modified_changed()</tt>
+ * <tt>void on_my_%modified_changed()</tt>
*/
Glib::SignalProxy0< void > signal_modified_changed();
-/**
+ /**
* @par Prototype:
- * <tt>void %mark_set(const TextBuffer::iterator& location, const Glib::RefPtr<TextBuffer::Mark>& mark)</tt>
+ * <tt>void on_my_%mark_set(const TextBuffer::iterator& location, const Glib::RefPtr<TextBuffer::Mark>& mark)</tt>
*/
Glib::SignalProxy2< void,const TextBuffer::iterator&,const Glib::RefPtr<TextBuffer::Mark>& > signal_mark_set();
-/**
+ /**
* @par Prototype:
- * <tt>void %mark_deleted(const Glib::RefPtr<TextBuffer::Mark>& mark)</tt>
+ * <tt>void on_my_%mark_deleted(const Glib::RefPtr<TextBuffer::Mark>& mark)</tt>
*/
Glib::SignalProxy1< void,const Glib::RefPtr<TextBuffer::Mark>& > signal_mark_deleted();
-/**
+ /**
* @par Prototype:
- * <tt>void %apply_tag(const Glib::RefPtr<TextBuffer::Tag>& tag, const TextBuffer::iterator& range_begin, const TextBuffer::iterator& range_end)</tt>
+ * <tt>void on_my_%apply_tag(const Glib::RefPtr<TextBuffer::Tag>& tag, const TextBuffer::iterator& range_begin, const TextBuffer::iterator& range_end)</tt>
*/
Glib::SignalProxy3< void,const Glib::RefPtr<TextBuffer::Tag>&,const TextBuffer::iterator&,const TextBuffer::iterator& > signal_apply_tag();
-/**
+ /**
* @par Prototype:
- * <tt>void %remove_tag(const Glib::RefPtr<TextBuffer::Tag>& tag, const TextBuffer::iterator& range_begin, const TextBuffer::iterator& range_end)</tt>
+ * <tt>void on_my_%remove_tag(const Glib::RefPtr<TextBuffer::Tag>& tag, const TextBuffer::iterator& range_begin, const TextBuffer::iterator& range_end)</tt>
*/
Glib::SignalProxy3< void,const Glib::RefPtr<TextBuffer::Tag>&,const TextBuffer::iterator&,const TextBuffer::iterator& > signal_remove_tag();
-/**
+ /**
* @par Prototype:
- * <tt>void %begin_user_action()</tt>
+ * <tt>void on_my_%begin_user_action()</tt>
*/
Glib::SignalProxy0< void > signal_begin_user_action();
-/**
+ /**
* @par Prototype:
- * <tt>void %end_user_action()</tt>
+ * <tt>void on_my_%end_user_action()</tt>
*/
Glib::SignalProxy0< void > signal_end_user_action();
@@ -1084,6 +1095,21 @@ public:
#endif //#GLIBMM_PROPERTIES_ENABLED
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** The position of the insert mark (as offset from the beginning of the buffer).
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<int> property_cursor_position() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+
+ //TODO: Check the ref-counting/conversion for these: _WRAP_PROPERTY("copy-target-list", Glib::ListHandle< Glib::RefPtr<TargetList> >)
+ //TODO: _WRAP_PROPERTY("paste-target-list", Glib::ListHandle< Glib::RefPtr<TargetList> >)
+
+
public:
public:
@@ -1120,10 +1146,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::TextBuffer
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::TextBuffer
*/
Glib::RefPtr<Gtk::TextBuffer> wrap(GtkTextBuffer* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/textchildanchor.cc b/libs/gtkmm2/gtk/gtkmm/textchildanchor.cc
index 517e627448..f30429be9c 100644
--- a/libs/gtkmm2/gtk/gtkmm/textchildanchor.cc
+++ b/libs/gtkmm2/gtk/gtkmm/textchildanchor.cc
@@ -132,7 +132,8 @@ GType TextChildAnchor::get_base_type()
TextChildAnchor::TextChildAnchor()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(textchildanchor_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/textchildanchor.h b/libs/gtkmm2/gtk/gtkmm/textchildanchor.h
index 0ecc37c1ea..4976b752c1 100644
--- a/libs/gtkmm2/gtk/gtkmm/textchildanchor.h
+++ b/libs/gtkmm2/gtk/gtkmm/textchildanchor.h
@@ -155,10 +155,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::TextChildAnchor
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::TextChildAnchor
*/
Glib::RefPtr<Gtk::TextChildAnchor> wrap(GtkTextChildAnchor* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/textiter.h b/libs/gtkmm2/gtk/gtkmm/textiter.h
index 6b222e898b..114b900bb1 100644
--- a/libs/gtkmm2/gtk/gtkmm/textiter.h
+++ b/libs/gtkmm2/gtk/gtkmm/textiter.h
@@ -110,6 +110,7 @@ namespace Gtk
class TextBuffer;
class TextMark;
+//TODO: Maybe we should have separate iterators for words, lines, and sentences.
/** Typefed as Gtk::TextBuffer::iterator.
* An iterator represents a position between two characters in the text buffer. Iterators are not valid indefinitely; whenever the buffer is
* modified in a way that affects the number of characters in the buffer, all outstanding iterators become invalid. (Note that
@@ -121,8 +122,7 @@ class TextMark;
*
* You can iterate over characters, words, lines, and sentences,
* but operator*() and operator++() deal only in characters.
- *
- * TODO: Maybe we should have separate iterators for words, lines, and sentences.
+ *
* @ingroup TextView
*/
class TextIter
@@ -212,91 +212,57 @@ protected:
public:
- /** Returns the Gtk::TextBuffer this iterator is associated with.
+ /** Return value: the buffer
* @return The buffer.
*/
Glib::RefPtr<TextBuffer> get_buffer() const;
- /** Returns the character offset of an iterator.
- * Each character in a Gtk::TextBuffer has an offset,
- * starting with 0 for the first character in the buffer.
- * Use Gtk::TextBuffer::get_iter_at_offset() to convert an
- * offset back into an iterator.
+ /** Return value: a character offset
* @return A character offset.
*/
int get_offset() const;
- /** Returns the line number containing the iterator. Lines in
- * a Gtk::TextBuffer are numbered beginning with 0 for the first
- * line in the buffer.
+ /** Return value: a line number
* @return A line number.
*/
int get_line() const;
- /** Returns the character offset of the iterator,
- * counting from the start of a newline-terminated line.
- * The first character on the line has offset 0.
+ /** Return value: offset from start of line
* @return Offset from start of line.
*/
int get_line_offset() const;
- /** Returns the byte index of the iterator, counting
- * from the start of a newline-terminated line.
- * Remember that Gtk::TextBuffer encodes text in
- * UTF-8, and that characters can require a variable
- * number of bytes to represent.
+ /** Return value: distance from start of line, in bytes
* @return Distance from start of line, in bytes.
*/
int get_line_index() const;
- /** Returns the offset in characters from the start of the
- * line to the given @a iter , not counting characters that
- * are invisible due to tags with the "invisible" flag
- * toggled on.
+ /** Return value: offset in visible characters from the start of the line
* @return Offset in visible characters from the start of the line.
*/
int get_visible_line_offset() const;
- /** Returns the number of bytes from the start of the
- * line to the given @a iter , not counting bytes that
- * are invisible due to tags with the "invisible" flag
- * toggled on.
+ /** Return value: byte index of @a iter with respect to the start of the line
* @return Byte index of @a iter with respect to the start of the line.
*/
int get_visible_line_index() const;
- /** Returns the Unicode character at this iterator. (Equivalent to
- * operator* on a C++ iterator.) If the element at this iterator is a
- * non-character element, such as an image embedded in the buffer, the
- * Unicode "unknown" character 0xFFFC is returned. If invoked on
- * the end iterator, zero is returned; zero is not a valid Unicode character.
- * So you can write a loop which ends when gtk_text_iter_get_char()
- * returns 0.
+ /** returns 0.
+ * Return value: a Unicode character, or 0 if @a iter is not dereferenceable
* @return A Unicode character, or 0 if @a iter is not dereferenceable.
*/
gunichar get_char() const;
- /** Returns the text in the given range. A "slice" is an array of
- * characters encoded in UTF-8 format, including the Unicode "unknown"
- * character 0xFFFC for iterable non-character elements in the buffer,
- * such as images. Because images are encoded in the slice, byte and
- * character offsets in the returned array will correspond to byte
- * offsets in the text buffer. Note that 0xFFFC can occur in normal
- * text as well, so it is not a reliable indicator that a pixbuf or
- * widget is in the buffer.
+ /** Return value: slice of text from the buffer
* @param end Iterator at end of a range.
* @return Slice of text from the buffer.
*/
Glib::ustring get_slice(const TextIter& end) const;
- /** Returns <em>text</em> in the given range. If the range
- * contains non-text elements such as images, the character and byte
- * offsets in the returned string will not correspond to character and
- * byte offsets in the buffer. If you want offsets to correspond, see
- * gtk_text_iter_get_slice().
+ /** Return value: array of characters from the buffer
* @param end Iterator at end of a range.
* @return Array of characters from the buffer.
*/
@@ -326,20 +292,12 @@ public:
*/
Glib::RefPtr<Gdk::Pixbuf> get_pixbuf() const;
- /** Returns a list of all Gtk::TextMark at this location. Because marks
- * are not iterable (they don't take up any "space" in the buffer,
- * they are just marks in between iterable locations), multiple marks
- * can exist in the same place. The returned list is not in any
- * meaningful order.
+ /** Return value: list of Gtk::TextMark
* @return List of Gtk::TextMark.
*/
Glib::SListHandle< Glib::RefPtr<TextMark> > get_marks();
- /** Returns a list of all Gtk::TextMark at this location. Because marks
- * are not iterable (they don't take up any "space" in the buffer,
- * they are just marks in between iterable locations), multiple marks
- * can exist in the same place. The returned list is not in any
- * meaningful order.
+ /** Return value: list of Gtk::TextMark
* @return List of Gtk::TextMark.
*/
Glib::SListHandle< Glib::RefPtr<const TextMark> > get_marks() const;
@@ -360,47 +318,27 @@ public:
Glib::RefPtr<const TextChildAnchor> get_child_anchor() const;
- /** Returns a list of Gtk::TextTag that are toggled on or off at this
- * point. (If @a toggled_on is <tt>true</tt>, the list contains tags that are
- * toggled on.) If a tag is toggled on at @a iter , then some non-empty
- * range of characters following @a iter has that tag applied to it. If
- * a tag is toggled off, then some non-empty range following @a iter
- * does <em>not</em> have the tag applied to it.
+ /** Return value: tags toggled at this point
* @param toggled_on <tt>true</tt> to get toggled-on tags.
* @return Tags toggled at this point.
*/
Glib::SListHandle< Glib::RefPtr<TextTag> > get_toggled_tags(bool toggled_on = true);
- /** Returns a list of Gtk::TextTag that are toggled on or off at this
- * point. (If @a toggled_on is <tt>true</tt>, the list contains tags that are
- * toggled on.) If a tag is toggled on at @a iter , then some non-empty
- * range of characters following @a iter has that tag applied to it. If
- * a tag is toggled off, then some non-empty range following @a iter
- * does <em>not</em> have the tag applied to it.
+ /** Return value: tags toggled at this point
* @param toggled_on <tt>true</tt> to get toggled-on tags.
* @return Tags toggled at this point.
*/
Glib::SListHandle< Glib::RefPtr<const TextTag> > get_toggled_tags(bool toggled_on = true) const;
- /** Returns <tt>true</tt> if @a tag is toggled on at exactly this point. If @a tag
- * is <tt>0</tt>, returns <tt>true</tt> if any tag is toggled on at this point. Note
- * that the gtk_text_iter_begins_tag() returns <tt>true</tt> if @a iter is the
- * <em>start</em> of the tagged range;
- * gtk_text_iter_has_tag() tells you whether an iterator is
- * <em>within</em> a tagged range.
+ /** Return value: whether @a iter is the start of a range tagged with @a tag
* @param tag A Gtk::TextTag, or <tt>0</tt>.
* @return Whether @a iter is the start of a range tagged with @a tag .
*/
bool begins_tag(const Glib::RefPtr<const TextTag>& tag) const;
bool begins_tag() const;
- /** Returns <tt>true</tt> if @a tag is toggled off at exactly this point. If @a tag
- * is <tt>0</tt>, returns <tt>true</tt> if any tag is toggled off at this point. Note
- * that the gtk_text_iter_ends_tag() returns <tt>true</tt> if @a iter is the
- * <em>end</em> of the tagged range;
- * gtk_text_iter_has_tag() tells you whether an iterator is
- * <em>within</em> a tagged range.
+ /** Return value: whether @a iter is the end of a range tagged with @a tag
* @param tag A Gtk::TextTag, or <tt>0</tt>.
* @return Whether @a iter is the end of a range tagged with @a tag .
*/
@@ -417,7 +355,7 @@ public:
bool toggles_tag() const;
- /** Returns <tt>true</tt> if @a iter is within a range tagged with @a tag .
+ /** Return value: whether @a iter is tagged with @a tag
* @param tag A Gtk::TextTag.
* @return Whether @a iter is tagged with @a tag .
*/
@@ -438,18 +376,7 @@ public:
Glib::SListHandle< Glib::RefPtr<const TextTag> > get_tags() const;
- /** Returns whether the character at @a iter is within an editable region
- * of text. Non-editable text is "locked" and can't be changed by the
- * user via Gtk::TextView. This function is simply a convenience
- * wrapper around gtk_text_iter_get_attributes(). If no tags applied
- * to this text affect editability, @a default_setting will be returned.
- *
- * You don't want to use this function to decide whether text can be
- * inserted at @a iter , because for insertion you don't want to know
- * whether the char at @a iter is inside an editable range, you want to
- * know whether a new character inserted at @a iter would be inside an
- * editable range. Use gtk_text_iter_can_insert() to handle this
- * case.
+ /** Return value: whether @a iter is inside an editable range
* @param default_setting <tt>true</tt> if text is editable by default.
* @return Whether @a iter is inside an editable range.
*/
@@ -516,23 +443,12 @@ public:
*/
bool inside_sentence() const;
- /** Returns <tt>true</tt> if @a iter begins a paragraph,
- * i.e.\ if gtk_text_iter_get_line_offset() would return 0.
- * However this function is potentially more efficient than
- * gtk_text_iter_get_line_offset() because it doesn't have to compute
- * the offset, it just has to see whether it's 0.
+ /** Return value: whether @a iter begins a line
* @return Whether @a iter begins a line.
*/
bool starts_line() const;
- /** Returns <tt>true</tt> if @a iter points to the start of the paragraph
- * delimiter characters for a line (delimiters will be either a
- * newline, a carriage return, a carriage return followed by a
- * newline, or a Unicode paragraph separator character). Note that an
- * iterator pointing to the <tt>\\n</tt> of a <tt>\\r</tt><tt>\\n</tt> pair will not be counted as
- * the end of a line, the line ends before the <tt>\\r</tt>. The end iterator is
- * considered to be at the end of a line, even though there are no
- * paragraph delimiter chars there.
+ /** Return value: whether @a iter is at the end of a line
* @return Whether @a iter is at the end of a line.
*/
bool ends_line() const;
@@ -544,14 +460,12 @@ public:
bool is_cursor_position() const;
- /** Returns the number of characters in the line containing @a iter ,
- * including the paragraph delimiters.
+ /** Return value: number of characters in the line
* @return Number of characters in the line.
*/
int get_chars_in_line() const;
- /** Returns the number of bytes in the line containing @a iter ,
- * including the paragraph delimiters.
+ /** Return value: number of bytes in the line
* @return Number of bytes in the line.
*/
int get_bytes_in_line() const;
@@ -566,16 +480,12 @@ public:
*/
Pango::Language get_language() const;
- /** Returns <tt>true</tt> if @a iter is the end iterator, i.e.\ one past the last
- * dereferenceable iterator in the buffer. gtk_text_iter_is_end() is
- * the most efficient way to check whether an iterator is the end
- * iterator.
+ /** Return value: whether @a iter is the end iterator
* @return Whether @a iter is the end iterator.
*/
bool is_end() const;
- /** Returns <tt>true</tt> if @a iter is the first iterator in the buffer, that is
- * if @a iter has a character offset of 0.
+ /** Return value: whether @a iter is the first in the buffer
* @return Whether @a iter is the first in the buffer.
*/
bool is_start() const;
@@ -885,7 +795,7 @@ public:
bool forward_visible_cursor_positions(int count);
/** Moves up to @a count visible cursor positions. See
- * gtk_text_iter_forward_cursor_position() for details.
+ * gtk_text_iter_backward_cursor_position() for details.
* @param count Number of positions to move.
* @return <tt>true</tt> if we moved and the new position is dereferenceable
*
@@ -962,10 +872,7 @@ public:
/** Moves forward to the next toggle (on or off) of the
* Gtk::TextTag @a tag , or to the next toggle of any tag if
* @a tag is <tt>0</tt>. If no matching tag toggles are found,
- * returns <tt>false</tt>, otherwise <tt>true</tt>. Does not return toggles
- * located at @a iter , only toggles after @a iter . Sets @a iter to
- * the location of the toggle, or to the end of the buffer
- * if no toggle is found.
+ * Return value: whether we found a tag toggle after @a iter
* @param tag A Gtk::TextTag, or <tt>0</tt>.
* @return Whether we found a tag toggle after @a iter .
*/
@@ -974,10 +881,7 @@ public:
/** Moves backward to the next toggle (on or off) of the
* Gtk::TextTag @a tag , or to the next toggle of any tag if
* @a tag is <tt>0</tt>. If no matching tag toggles are found,
- * returns <tt>false</tt>, otherwise <tt>true</tt>. Does not return toggles
- * located at @a iter , only toggles before @a iter . Sets @a iter
- * to the location of the toggle, or the start of the buffer
- * if no toggle is found.
+ * Return value: whether we found a tag toggle before @a iter
* @param tag A Gtk::TextTag, or <tt>0</tt>.
* @return Whether we found a tag toggle before @a iter .
*/
diff --git a/libs/gtkmm2/gtk/gtkmm/textmark.cc b/libs/gtkmm2/gtk/gtkmm/textmark.cc
index 8aadf70324..93361fdc58 100644
--- a/libs/gtkmm2/gtk/gtkmm/textmark.cc
+++ b/libs/gtkmm2/gtk/gtkmm/textmark.cc
@@ -35,6 +35,13 @@
namespace Gtk
{
+TextMark::TextMark(bool left_gravity)
+:
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Glib::Object(Glib::ConstructParams(textmark_class_.init(), "left_gravity",gboolean(left_gravity), static_cast<char*>(0)))
+{}
+
TextIter TextMark::get_iter()
{
Glib::RefPtr<TextMark> mark = Glib::RefPtr<TextMark>(this);
@@ -148,6 +155,22 @@ GType TextMark::get_base_type()
}
+TextMark::TextMark(const Glib::ustring& name, bool left_gravity)
+:
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Glib::Object(Glib::ConstructParams(textmark_class_.init(), "name", name.c_str(), "left_gravity", static_cast<int>(left_gravity), static_cast<char*>(0)))
+{
+ }
+
+Glib::RefPtr<TextMark> TextMark::create(bool left_gravity)
+{
+ return Glib::RefPtr<TextMark>( new TextMark(left_gravity) );
+}
+Glib::RefPtr<TextMark> TextMark::create(const Glib::ustring& name, bool left_gravity)
+{
+ return Glib::RefPtr<TextMark>( new TextMark(name, left_gravity) );
+}
void TextMark::set_visible(bool setting)
{
gtk_text_mark_set_visible(gobj(), static_cast<int>(setting));
diff --git a/libs/gtkmm2/gtk/gtkmm/textmark.h b/libs/gtkmm2/gtk/gtkmm/textmark.h
index 5616ca20a2..71845f724e 100644
--- a/libs/gtkmm2/gtk/gtkmm/textmark.h
+++ b/libs/gtkmm2/gtk/gtkmm/textmark.h
@@ -119,8 +119,74 @@ private:
protected:
+ /** Creates an anoymous text mark. Add it to a buffer using Gtk::TextBuffer::add_mark().
+ * If a mark has left
+ * gravity, and text is inserted at the mark's current location, the mark
+ * will be moved to the left of the newly-inserted text. If the mark has
+ * right gravity (@a left_gravity = false), the mark will end up on the
+ * right of newly-inserted text. The standard left-to-right cursor is a
+ * mark with right gravity (when you type, the cursor stays on the right
+ * side of the text you're typing).
+
+ * @param name mark name.
+ * @param left_gravity Whether the mark should have left gravity.
+ * @newin2p12
+ */
+ explicit TextMark(bool left_gravity = true);
+
+ /** Creates a text mark. Add it to a buffer using Gtk::TextBuffer::add_mark().
+ * The mark can be retrieved by name using Gtk::TextBuffer::get_mark(). If a mark has left
+ * gravity, and text is inserted at the mark's current location, the mark
+ * will be moved to the left of the newly-inserted text. If the mark has
+ * right gravity (@a left_gravity = false), the mark will end up on the
+ * right of newly-inserted text. The standard left-to-right cursor is a
+ * mark with right gravity (when you type, the cursor stays on the right
+ * side of the text you're typing).
+
+ * @param name mark name.
+ * @param left_gravity Whether the mark should have left gravity.
+ * @newin2p12
+ */
+ explicit TextMark(const Glib::ustring& name, bool left_gravity = true);
+
public:
+
+ /** Creates an anoymous text mark. Add it to a buffer using Gtk::TextBuffer::add_mark().
+ * If a mark has left
+ * gravity, and text is inserted at the mark's current location, the mark
+ * will be moved to the left of the newly-inserted text. If the mark has
+ * right gravity (@a left_gravity = false), the mark will end up on the
+ * right of newly-inserted text. The standard left-to-right cursor is a
+ * mark with right gravity (when you type, the cursor stays on the right
+ * side of the text you're typing).
+
+ * @param name mark name.
+ * @param left_gravity Whether the mark should have left gravity.
+ * @result A RefPtr to a new text mark.
+ * @newin2p12
+ */
+ static Glib::RefPtr<TextMark> create(bool left_gravity = true);
+
+
+/** Creates a text mark. Add it to a buffer using Gtk::TextBuffer::add_mark().
+ * The mark can be retrieved by name using Gtk::TextBuffer::get_mark(). If a mark has left
+ * gravity, and text is inserted at the mark's current location, the mark
+ * will be moved to the left of the newly-inserted text. If the mark has
+ * right gravity (@a left_gravity = false), the mark will end up on the
+ * right of newly-inserted text. The standard left-to-right cursor is a
+ * mark with right gravity (when you type, the cursor stays on the right
+ * side of the text you're typing).
+
+ * @param name mark name.
+ * @param left_gravity Whether the mark should have left gravity.
+ * @result A RefPtr to a new text mark.
+ * @newin2p12
+ */
+
+ static Glib::RefPtr<TextMark> create(const Glib::ustring& name, bool left_gravity = true);
+
+
/** Sets the visibility of @a mark ; the insertion point is normally
* visible, i.e.\ you can see it as a vertical bar. Also, the text
* widget uses a visible mark to indicate where a drop will occur when
@@ -130,20 +196,17 @@ public:
*/
void set_visible(bool setting = true);
- /** Returns <tt>true</tt> if the mark is visible (i.e.\ a cursor is displayed
- * for it)
+ /** Return value: <tt>true</tt> if visible
* @return <tt>true</tt> if visible.
*/
bool get_visible() const;
- /** Returns the mark name; returns <tt>0</tt> for anonymous marks.
+ /** Return value: mark name
* @return Mark name.
*/
Glib::ustring get_name() const;
- /** Returns <tt>true</tt> if the mark has been removed from its buffer
- * with Gtk::TextBuffer::delete_mark(). Marks can't be used
- * once deleted.
+ /** Return value: whether the mark is deleted
* @return Whether the mark is deleted.
*/
bool get_deleted() const;
@@ -164,6 +227,8 @@ public:
* @return <tt>true</tt> if the mark has left gravity, <tt>false</tt> otherwise.
*/
bool get_left_gravity() const;
+
+ //TODO: Add a const overload, if we have a ConstTextIter.
TextIter get_iter();
@@ -191,10 +256,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::TextMark
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::TextMark
*/
Glib::RefPtr<Gtk::TextMark> wrap(GtkTextMark* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/texttag.cc b/libs/gtkmm2/gtk/gtkmm/texttag.cc
index 62ebcef88c..97638de847 100644
--- a/libs/gtkmm2/gtk/gtkmm/texttag.cc
+++ b/libs/gtkmm2/gtk/gtkmm/texttag.cc
@@ -159,7 +159,7 @@ void TextTag_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
gboolean TextTag_Class::event_callback(GtkTextTag* self, GObject* p0, GdkEvent* p1, const GtkTextIter* p2)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -167,34 +167,36 @@ gboolean TextTag_Class::event_callback(GtkTextTag* self, GObject* p0, GdkEvent*
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_event(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_event(Glib::wrap(p0, true)
, p1, Glib::wrap(p2)
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->event)
- return (*base->event)(self, p0, p1, p2);
- }
+ // Call the original underlying C function:
+ if(base && base->event)
+ return (*base->event)(self, p0, p1, p2);
typedef gboolean RType;
return RType();
@@ -245,15 +247,17 @@ GType TextTag::get_base_type()
TextTag::TextTag()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(texttag_class_.init()))
{
}
TextTag::TextTag(const Glib::ustring& name)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Glib::Object(Glib::ConstructParams(texttag_class_.init(), "name", name.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Glib::Object(Glib::ConstructParams(texttag_class_.init(), "name", name.c_str(), static_cast<char*>(0)))
{
}
@@ -743,6 +747,41 @@ Glib::PropertyProxy_ReadOnly<bool> TextTag::property_invisible() const
#endif //GLIBMM_PROPERTIES_ENABLED
#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_WriteOnly<Glib::ustring> TextTag::property_paragraph_background()
+{
+ return Glib::PropertyProxy_WriteOnly<Glib::ustring>(this, "paragraph-background");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<Gdk::Color> TextTag::property_paragraph_background_gdk()
+{
+ return Glib::PropertyProxy<Gdk::Color>(this, "paragraph-background-gdk");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<Gdk::Color> TextTag::property_paragraph_background_gdk() const
+{
+ return Glib::PropertyProxy_ReadOnly<Gdk::Color>(this, "paragraph-background-gdk");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<bool> TextTag::property_accumulative_margin()
+{
+ return Glib::PropertyProxy<bool>(this, "accumulative-margin");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<bool> TextTag::property_accumulative_margin() const
+{
+ return Glib::PropertyProxy_ReadOnly<bool>(this, "accumulative-margin");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
Glib::PropertyProxy<bool> TextTag::property_background_set()
{
return Glib::PropertyProxy<bool>(this, "background-set");
@@ -1120,6 +1159,20 @@ Glib::PropertyProxy_ReadOnly<bool> TextTag::property_invisible_set() const
}
#endif //GLIBMM_PROPERTIES_ENABLED
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<bool> TextTag::property_paragraph_background_set()
+{
+ return Glib::PropertyProxy<bool>(this, "paragraph-background-set");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<bool> TextTag::property_paragraph_background_set() const
+{
+ return Glib::PropertyProxy_ReadOnly<bool>(this, "paragraph-background-set");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
bool Gtk::TextTag::on_event(const Glib::RefPtr<Glib::Object>& event_object, GdkEvent* event, const TextIter& iter)
diff --git a/libs/gtkmm2/gtk/gtkmm/texttag.h b/libs/gtkmm2/gtk/gtkmm/texttag.h
index b1620c52fe..73037f034b 100644
--- a/libs/gtkmm2/gtk/gtkmm/texttag.h
+++ b/libs/gtkmm2/gtk/gtkmm/texttag.h
@@ -154,9 +154,9 @@ public:
bool event(const Glib::RefPtr<Glib::Object>& event_object, GdkEvent* event, const TextIter& iter);
-/**
+ /**
* @par Prototype:
- * <tt>bool %event(const Glib::RefPtr<Glib::Object>& event_object, GdkEvent* event, const TextIter& iter)</tt>
+ * <tt>bool on_my_%event(const Glib::RefPtr<Glib::Object>& event_object, GdkEvent* event, const TextIter& iter)</tt>
*/
Glib::SignalProxy3< bool,const Glib::RefPtr<Glib::Object>&,GdkEvent*,const TextIter& > signal_event();
@@ -816,6 +816,57 @@ public:
#endif //#GLIBMM_PROPERTIES_ENABLED
#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Paragraph background color as a string.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_WriteOnly<Glib::ustring> property_paragraph_background() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Paragraph background color as a (possibly unallocated) GdkColor.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<Gdk::Color> property_paragraph_background_gdk() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Paragraph background color as a (possibly unallocated) GdkColor.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<Gdk::Color> property_paragraph_background_gdk() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether left and right margins accumulate.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<bool> property_accumulative_margin() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether left and right margins accumulate.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<bool> property_accumulative_margin() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
/** Whether this tag affects the background color.
*
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
@@ -1355,6 +1406,26 @@ public:
Glib::PropertyProxy_ReadOnly<bool> property_invisible_set() const;
#endif //#GLIBMM_PROPERTIES_ENABLED
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether this tag affects the paragraph background color.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<bool> property_paragraph_background_set() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether this tag affects the paragraph background color.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<bool> property_paragraph_background_set() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
public:
@@ -1381,10 +1452,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::TextTag
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::TextTag
*/
Glib::RefPtr<Gtk::TextTag> wrap(GtkTextTag* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/texttagtable.cc b/libs/gtkmm2/gtk/gtkmm/texttagtable.cc
index 44b55e773a..b747a73b83 100644
--- a/libs/gtkmm2/gtk/gtkmm/texttagtable.cc
+++ b/libs/gtkmm2/gtk/gtkmm/texttagtable.cc
@@ -220,7 +220,7 @@ void TextTagTable_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void TextTagTable_Class::tag_changed_callback(GtkTextTagTable* self, GtkTextTag* p0, gboolean p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -228,38 +228,41 @@ void TextTagTable_Class::tag_changed_callback(GtkTextTagTable* self, GtkTextTag*
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_tag_changed(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_tag_changed(Glib::wrap(p0, true)
, p1
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->tag_changed)
- (*base->tag_changed)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->tag_changed)
+ (*base->tag_changed)(self, p0, p1);
}
void TextTagTable_Class::tag_added_callback(GtkTextTagTable* self, GtkTextTag* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -267,37 +270,40 @@ void TextTagTable_Class::tag_added_callback(GtkTextTagTable* self, GtkTextTag* p
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_tag_added(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_tag_added(Glib::wrap(p0, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->tag_added)
- (*base->tag_added)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->tag_added)
+ (*base->tag_added)(self, p0);
}
void TextTagTable_Class::tag_removed_callback(GtkTextTagTable* self, GtkTextTag* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -305,33 +311,36 @@ void TextTagTable_Class::tag_removed_callback(GtkTextTagTable* self, GtkTextTag*
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_tag_removed(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_tag_removed(Glib::wrap(p0, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->tag_removed)
- (*base->tag_removed)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->tag_removed)
+ (*base->tag_removed)(self, p0);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -379,7 +388,8 @@ GType TextTagTable::get_base_type()
TextTagTable::TextTagTable()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(texttagtable_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/texttagtable.h b/libs/gtkmm2/gtk/gtkmm/texttagtable.h
index ad88a29b71..4d0093379c 100644
--- a/libs/gtkmm2/gtk/gtkmm/texttagtable.h
+++ b/libs/gtkmm2/gtk/gtkmm/texttagtable.h
@@ -138,31 +138,31 @@ public:
void foreach(const SlotForEach& slot);
- /** Returns the size of the table (number of tags)
+ /** Return value: number of tags in @a table
* @return Number of tags in @a table .
*/
int get_size() const;
-/**
+ /**
* @par Prototype:
- * <tt>void %tag_changed(const Glib::RefPtr<TextTag>& tag, bool size_changed)</tt>
+ * <tt>void on_my_%tag_changed(const Glib::RefPtr<TextTag>& tag, bool size_changed)</tt>
*/
Glib::SignalProxy2< void,const Glib::RefPtr<TextTag>&,bool > signal_tag_changed();
-/**
+ /**
* @par Prototype:
- * <tt>void %tag_added(const Glib::RefPtr<TextTag>& tag)</tt>
+ * <tt>void on_my_%tag_added(const Glib::RefPtr<TextTag>& tag)</tt>
*/
Glib::SignalProxy1< void,const Glib::RefPtr<TextTag>& > signal_tag_added();
-/**
+ /**
* @par Prototype:
- * <tt>void %tag_removed(const Glib::RefPtr<TextTag>& tag)</tt>
+ * <tt>void on_my_%tag_removed(const Glib::RefPtr<TextTag>& tag)</tt>
*/
Glib::SignalProxy1< void,const Glib::RefPtr<TextTag>& > signal_tag_removed();
@@ -195,10 +195,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::TextTagTable
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::TextTagTable
*/
Glib::RefPtr<Gtk::TextTagTable> wrap(GtkTextTagTable* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/textview.cc b/libs/gtkmm2/gtk/gtkmm/textview.cc
index 53887b9ddc..f5953517b1 100644
--- a/libs/gtkmm2/gtk/gtkmm/textview.cc
+++ b/libs/gtkmm2/gtk/gtkmm/textview.cc
@@ -32,8 +32,9 @@ namespace Gtk
TextView::TextView(const Glib::RefPtr<TextBuffer>& buffer)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Container(Glib::ConstructParams(textview_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Container(Glib::ConstructParams(textview_class_.init()))
{
set_buffer(buffer);
}
@@ -261,7 +262,7 @@ void TextView_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void TextView_Class::set_scroll_adjustments_callback(GtkTextView* self, GtkAdjustment* p0, GtkAdjustment* p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -269,38 +270,41 @@ void TextView_Class::set_scroll_adjustments_callback(GtkTextView* self, GtkAdjus
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_set_scroll_adjustments(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_set_scroll_adjustments(Glib::wrap(p0)
, Glib::wrap(p1)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->set_scroll_adjustments)
- (*base->set_scroll_adjustments)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->set_scroll_adjustments)
+ (*base->set_scroll_adjustments)(self, p0, p1);
}
void TextView_Class::populate_popup_callback(GtkTextView* self, GtkMenu* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -308,37 +312,40 @@ void TextView_Class::populate_popup_callback(GtkTextView* self, GtkMenu* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_populate_popup(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_populate_popup(Glib::wrap(p0)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->populate_popup)
- (*base->populate_popup)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->populate_popup)
+ (*base->populate_popup)(self, p0);
}
void TextView_Class::set_anchor_callback(GtkTextView* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -346,36 +353,39 @@ void TextView_Class::set_anchor_callback(GtkTextView* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_set_anchor();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_set_anchor();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->set_anchor)
- (*base->set_anchor)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->set_anchor)
+ (*base->set_anchor)(self);
}
void TextView_Class::insert_at_cursor_callback(GtkTextView* self, const gchar* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -383,33 +393,36 @@ void TextView_Class::insert_at_cursor_callback(GtkTextView* self, const gchar* p
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_insert_at_cursor(Glib::convert_const_gchar_ptr_to_ustring(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_insert_at_cursor(Glib::convert_const_gchar_ptr_to_ustring(p0)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->insert_at_cursor)
- (*base->insert_at_cursor)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->insert_at_cursor)
+ (*base->insert_at_cursor)(self, p0);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -455,7 +468,8 @@ GType TextView::get_base_type()
TextView::TextView()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Container(Glib::ConstructParams(textview_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/textview.h b/libs/gtkmm2/gtk/gtkmm/textview.h
index 3053df9248..908b4ca352 100644
--- a/libs/gtkmm2/gtk/gtkmm/textview.h
+++ b/libs/gtkmm2/gtk/gtkmm/textview.h
@@ -3,6 +3,8 @@
#ifndef _GTKMM_TEXTVIEW_H
#define _GTKMM_TEXTVIEW_H
+#include <gtkmmconfig.h>
+
#include <glibmm.h>
@@ -25,6 +27,10 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+
+
#include <gtkmm/container.h>
#include <gtkmm/textbuffer.h>
#include <gtkmm/textmark.h>
@@ -169,16 +175,12 @@ public:
*/
void set_buffer(const Glib::RefPtr<TextBuffer>& buffer);
- /** Returns the Gtk::TextBuffer being displayed by this text view.
- * The reference count on the buffer is not incremented; the caller
- * of this function won't own a new reference.
+ /** Return value: a Gtk::TextBuffer
* @return A Gtk::TextBuffer.
*/
Glib::RefPtr<TextBuffer> get_buffer();
- /** Returns the Gtk::TextBuffer being displayed by this text view.
- * The reference count on the buffer is not incremented; the caller
- * of this function won't own a new reference.
+ /** Return value: a Gtk::TextBuffer
* @return A Gtk::TextBuffer.
*/
Glib::RefPtr<const TextBuffer> get_buffer() const;
@@ -433,10 +435,10 @@ public:
int get_border_window_size(TextWindowType type) const;
- /** Moves the given @a iter forward by one display (wrapped) line. A
- * display line is different from a paragraph. Paragraphs are
+ /** Moves the given @a iter forward by one display (wrapped) line.
+ * A display line is different from a paragraph. Paragraphs are
* separated by newlines or other paragraph separator characters.
- * Display lines are created by line-wrapping a paragraph. If
+ * Display lines are created by line-wrapping a paragraph. If
* wrapping is turned off, display lines and paragraphs will be the
* same. Display lines are divided differently for each view, since
* they depend on the view's width; paragraphs are the same in all
@@ -446,10 +448,10 @@ public:
*/
bool forward_display_line(TextBuffer::iterator& iter);
- /** Moves the given @a iter backward by one display (wrapped) line. A
- * display line is different from a paragraph. Paragraphs are
+ /** Moves the given @a iter backward by one display (wrapped) line.
+ * A display line is different from a paragraph. Paragraphs are
* separated by newlines or other paragraph separator characters.
- * Display lines are created by line-wrapping a paragraph. If
+ * Display lines are created by line-wrapping a paragraph. If
* wrapping is turned off, display lines and paragraphs will be the
* same. Display lines are divided differently for each view, since
* they depend on the view's width; paragraphs are the same in all
@@ -459,10 +461,10 @@ public:
*/
bool backward_display_line(TextBuffer::iterator& iter);
- /** Moves the given @a iter forward to the next display line end. A
- * display line is different from a paragraph. Paragraphs are
+ /** Moves the given @a iter forward to the next display line end.
+ * A display line is different from a paragraph. Paragraphs are
* separated by newlines or other paragraph separator characters.
- * Display lines are created by line-wrapping a paragraph. If
+ * Display lines are created by line-wrapping a paragraph. If
* wrapping is turned off, display lines and paragraphs will be the
* same. Display lines are divided differently for each view, since
* they depend on the view's width; paragraphs are the same in all
@@ -472,10 +474,10 @@ public:
*/
bool forward_display_line_end(TextBuffer::iterator& iter);
- /** Moves the given @a iter backward to the next display line start. A
- * display line is different from a paragraph. Paragraphs are
+ /** Moves the given @a iter backward to the next display line start.
+ * A display line is different from a paragraph. Paragraphs are
* separated by newlines or other paragraph separator characters.
- * Display lines are created by line-wrapping a paragraph. If
+ * Display lines are created by line-wrapping a paragraph. If
* wrapping is turned off, display lines and paragraphs will be the
* same. Display lines are divided differently for each view, since
* they depend on the view's width; paragraphs are the same in all
@@ -500,12 +502,13 @@ public:
* cursor position will be @a count positions to the left of the old
* cursor position.
*
- * In the presence of bidirection text, the correspondence
+ * In the presence of bi-directional text, the correspondence
* between logical and visual order will depend on the direction
* of the current run, and there may be jumps when the cursor
* is moved off of the end of a run.
* @param iter A Gtk::TextIter.
- * @param count Number of characters to move (negative moves left, positive moves right).
+ * @param count Number of characters to move (negative moves left,
+ * positive moves right).
* @return <tt>true</tt> if @a iter moved and is not on the end iterator.
*/
bool move_visually(TextBuffer::iterator& iter, int count);
@@ -519,8 +522,8 @@ public:
/** Adds a child at fixed coordinates in one of the text widget's
- * windows. The window must have nonzero size (see
- * set_border_window_size()). Note that the child
+ * windows. The window must have nonzero size (see
+ * set_border_window_size()). Note that the child
* coordinates are given relative to the Gdk::Window in question, and
* that these coordinates have no sane relationship to scrolling. When
* placing a child in Gtk::TEXT_WINDOW_WIDGET, scrolling is
@@ -568,8 +571,7 @@ public:
*/
void set_editable(bool setting = true);
- /** Returns the default editability of the Gtk::TextView. Tags in the
- * buffer may override this setting for some ranges of text.
+ /** Return value: whether text is editable by default
* @return Whether text is editable by default.
*/
bool get_editable() const;
@@ -688,7 +690,7 @@ public:
*/
void set_overwrite(bool overwrite = true);
- /** Returns whether the Gtk::TextView is in overwrite mode or not.
+ /** Return value: whether @a text_view is in overwrite mode or not.
* @return Whether @a text_view is in overwrite mode or not.
*
* @newin2p4.
@@ -696,51 +698,54 @@ public:
bool get_overwrite() const;
- /** Sets the behavior of the text widget when the Tab key is pressed. If @a accepts_tab
- * is <tt>true</tt> a tab character is inserted. If @a accepts_tab is <tt>false</tt> the keyboard focus
- * is moved to the next widget in the focus chain.
+ /** Sets the behavior of the text widget when the Tab key is pressed.
+ * If @a accepts_tab is <tt>true</tt>, a tab character is inserted. If @a accepts_tab
+ * is <tt>false</tt> the keyboard focus is moved to the next widget in the focus
+ * chain.
*
* @newin2p4
- * @param accepts_tab <tt>true</tt> if pressing the Tab key should insert a tab character, <tt>false</tt>, if pressing the Tab key should move the keyboard focus.
+ * @param accepts_tab <tt>true</tt> if pressing the Tab key should insert a tab
+ * character, <tt>false</tt>, if pressing the Tab key should move the
+ * keyboard focus.
*/
void set_accepts_tab(bool accepts_tab = true);
- /** Returns whether pressing the Tab key inserts a tab characters.
- * set_accepts_tab().
- * @return <tt>true</tt> if pressing the Tab key inserts a tab character, <tt>false</tt> if pressing the Tab key moves the keyboard focus.
+ /** Return value: <tt>true</tt> if pressing the Tab key inserts a tab character,
+ * @return <tt>true</tt> if pressing the Tab key inserts a tab character,
+ * <tt>false</tt> if pressing the Tab key moves the keyboard focus.
*
* @newin2p4.
*/
bool get_accepts_tab() const;
-/**
+ /**
* @par Prototype:
- * <tt>void %set_scroll_adjustments(Adjustment* hadjustment, Adjustment* vadjustment)</tt>
+ * <tt>void on_my_%set_scroll_adjustments(Adjustment* hadjustment, Adjustment* vadjustment)</tt>
*/
Glib::SignalProxy2< void,Adjustment*,Adjustment* > signal_set_scroll_adjustments();
-/**
+ /**
* @par Prototype:
- * <tt>void %populate_popup(Menu* menu)</tt>
+ * <tt>void on_my_%populate_popup(Menu* menu)</tt>
*/
Glib::SignalProxy1< void,Menu* > signal_populate_popup();
-/**
+ /**
* @par Prototype:
- * <tt>void %set_anchor()</tt>
+ * <tt>void on_my_%set_anchor()</tt>
*/
Glib::SignalProxy0< void > signal_set_anchor();
-/**
+ /**
* @par Prototype:
- * <tt>void %insert_at_cursor(const Glib::ustring& str)</tt>
+ * <tt>void on_my_%insert_at_cursor(const Glib::ustring& str)</tt>
*/
Glib::SignalProxy1< void,const Glib::ustring& > signal_insert_at_cursor();
@@ -1037,10 +1042,13 @@ public:
namespace Glib
{
- /** @relates Gtk::TextView
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::TextView
*/
Gtk::TextView* wrap(GtkTextView* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/toggleaction.cc b/libs/gtkmm2/gtk/gtkmm/toggleaction.cc
index ff78ea03ad..b570624d74 100644
--- a/libs/gtkmm2/gtk/gtkmm/toggleaction.cc
+++ b/libs/gtkmm2/gtk/gtkmm/toggleaction.cc
@@ -32,8 +32,9 @@ namespace Gtk
ToggleAction::ToggleAction(const Glib::ustring& name, const Gtk::StockID& stock_id, const Glib::ustring& label, const Glib::ustring& tooltip, bool is_active)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Action(Glib::ConstructParams(toggleaction_class_.init(), "name",name.c_str(),"stock_id",stock_id.get_c_str(),"label",(label.empty() ? 0 : label.c_str()),"tooltip",(tooltip.empty() ? 0 : tooltip.c_str()), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Action(Glib::ConstructParams(toggleaction_class_.init(), "name",name.c_str(),"stock_id",stock_id.get_c_str(),"label",(label.empty() ? 0 : label.c_str()),"tooltip",(tooltip.empty() ? 0 : tooltip.c_str()), static_cast<char*>(0)))
{
set_active(is_active);
}
@@ -124,7 +125,7 @@ void ToggleAction_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void ToggleAction_Class::toggled_callback(GtkToggleAction* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -132,32 +133,35 @@ void ToggleAction_Class::toggled_callback(GtkToggleAction* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_toggled();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_toggled();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->toggled)
- (*base->toggled)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->toggled)
+ (*base->toggled)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -205,7 +209,8 @@ GType ToggleAction::get_base_type()
ToggleAction::ToggleAction()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Action(Glib::ConstructParams(toggleaction_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/toggleaction.h b/libs/gtkmm2/gtk/gtkmm/toggleaction.h
index ab127fd580..84d14a672b 100644
--- a/libs/gtkmm2/gtk/gtkmm/toggleaction.h
+++ b/libs/gtkmm2/gtk/gtkmm/toggleaction.h
@@ -39,6 +39,12 @@ namespace Gtk
namespace Gtk
{
+/** An action which can be toggled between two states.
+ *
+ * A Gtk::ToggleAction corresponds roughly to a Gtk::CheckMenuItem.
+ * It has an "active" state specifying whether the action has been checked or not.
+ *
+ */
class ToggleAction : public Gtk::Action
{
@@ -87,14 +93,17 @@ private:
protected:
ToggleAction();
- explicit ToggleAction(const Glib::ustring& name, const StockID& stock_id, const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring(), bool is_active = false);
+ explicit ToggleAction(const Glib::ustring& name, const StockID& stock_id = StockID(), const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring(), bool is_active = false);
public:
+ //Note that gtk_toggle_action_new() does not allow name to be NULL, which suggests that we should not have a default constructor,
+ //but it's OK to set the name later:
static Glib::RefPtr<ToggleAction> create();
+
static Glib::RefPtr<ToggleAction> create(const Glib::ustring& name, const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring(), bool is_active = false);
- static Glib::RefPtr<ToggleAction> create(const Glib::ustring& name, const Gtk::StockID& stock_id, const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring(), bool is_active = false);
+ static Glib::RefPtr<ToggleAction> create(const Glib::ustring& name, const Gtk::StockID& stock_id, const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring(), bool is_active = false);
/** Emits the "toggled" signal on the toggle action.
@@ -110,7 +119,7 @@ public:
*/
void set_active(bool is_active = true);
- /** Returns the checked state of the toggle action.
+ /** Returns: the checked state of the toggle action
* @return The checked state of the toggle action
*
* @newin2p4.
@@ -125,7 +134,7 @@ public:
*/
void set_draw_as_radio(bool draw_as_radio = true);
- /** Returns whether the action should have proxies like a radio action.
+ /** Returns: whether the action should have proxies like a radio action.
* @return Whether the action should have proxies like a radio action.
*
* @newin2p4.
@@ -133,9 +142,9 @@ public:
bool get_draw_as_radio() const;
-/**
+ /**
* @par Prototype:
- * <tt>void %toggled()</tt>
+ * <tt>void on_my_%toggled()</tt>
*/
Glib::SignalProxy0< void > signal_toggled();
@@ -187,10 +196,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::ToggleAction
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::ToggleAction
*/
Glib::RefPtr<Gtk::ToggleAction> wrap(GtkToggleAction* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/togglebutton.cc b/libs/gtkmm2/gtk/gtkmm/togglebutton.cc
index dd2041018e..b3c366b915 100644
--- a/libs/gtkmm2/gtk/gtkmm/togglebutton.cc
+++ b/libs/gtkmm2/gtk/gtkmm/togglebutton.cc
@@ -33,14 +33,16 @@ namespace Gtk
ToggleButton::ToggleButton(const Glib::ustring& label, bool mnemonic)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Button(Glib::ConstructParams(togglebutton_class_.init(), "label",label.c_str(),"use_underline",gboolean(mnemonic), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Button(Glib::ConstructParams(togglebutton_class_.init(), "label",label.c_str(),"use_underline",gboolean(mnemonic), static_cast<char*>(0)))
{}
ToggleButton::ToggleButton(const StockID& stock_id)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Button(Glib::ConstructParams(togglebutton_class_.init(), "use_stock",1,"label",stock_id.get_c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Button(Glib::ConstructParams(togglebutton_class_.init(), "use_stock",1,"label",stock_id.get_c_str(), static_cast<char*>(0)))
{}
} // namespace Gtk
@@ -116,7 +118,7 @@ void ToggleButton_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void ToggleButton_Class::toggled_callback(GtkToggleButton* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -124,32 +126,35 @@ void ToggleButton_Class::toggled_callback(GtkToggleButton* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_toggled();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_toggled();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->toggled)
- (*base->toggled)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->toggled)
+ (*base->toggled)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -195,7 +200,8 @@ GType ToggleButton::get_base_type()
ToggleButton::ToggleButton()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Button(Glib::ConstructParams(togglebutton_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/togglebutton.h b/libs/gtkmm2/gtk/gtkmm/togglebutton.h
index f4fff2ef09..cc86bcfaaf 100644
--- a/libs/gtkmm2/gtk/gtkmm/togglebutton.h
+++ b/libs/gtkmm2/gtk/gtkmm/togglebutton.h
@@ -178,11 +178,9 @@ public:
void toggled();
/** Emitted whenever the toggle tool button changes state.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %toggled()</tt>
+ * <tt>void on_my_%toggled()</tt>
*/
Glib::SignalProxy0< void > signal_toggled();
@@ -256,10 +254,13 @@ public:
namespace Glib
{
- /** @relates Gtk::ToggleButton
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::ToggleButton
*/
Gtk::ToggleButton* wrap(GtkToggleButton* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/toggletoolbutton.cc b/libs/gtkmm2/gtk/gtkmm/toggletoolbutton.cc
index 57a80db694..477c8cc21b 100644
--- a/libs/gtkmm2/gtk/gtkmm/toggletoolbutton.cc
+++ b/libs/gtkmm2/gtk/gtkmm/toggletoolbutton.cc
@@ -118,7 +118,7 @@ void ToggleToolButton_Class::class_init_function(void* g_class, void* class_data
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void ToggleToolButton_Class::toggled_callback(GtkToggleToolButton* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -126,32 +126,35 @@ void ToggleToolButton_Class::toggled_callback(GtkToggleToolButton* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_toggled();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_toggled();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->toggled)
- (*base->toggled)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->toggled)
+ (*base->toggled)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -197,15 +200,17 @@ GType ToggleToolButton::get_base_type()
ToggleToolButton::ToggleToolButton()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::ToolButton(Glib::ConstructParams(toggletoolbutton_class_.init()))
{
}
ToggleToolButton::ToggleToolButton(const Gtk::StockID& stock_id)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::ToolButton(Glib::ConstructParams(toggletoolbutton_class_.init(), "stock_id", (stock_id).get_c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::ToolButton(Glib::ConstructParams(toggletoolbutton_class_.init(), "stock_id", (stock_id).get_c_str(), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/toggletoolbutton.h b/libs/gtkmm2/gtk/gtkmm/toggletoolbutton.h
index f9f5936a8d..7783253acc 100644
--- a/libs/gtkmm2/gtk/gtkmm/toggletoolbutton.h
+++ b/libs/gtkmm2/gtk/gtkmm/toggletoolbutton.h
@@ -148,7 +148,7 @@ public:
void set_active(bool is_active = true);
/** Queries a Gtk::ToggleToolButton and returns its current state.
- * Returns <tt>true</tt> if the toggle button is pressed in and <tt>false</tt> if it is raised.
+ * Return value: <tt>true</tt> if the toggle tool button is pressed in, <tt>false</tt> if not
* @return <tt>true</tt> if the toggle tool button is pressed in, <tt>false</tt> if not
*
* @newin2p4.
@@ -156,9 +156,9 @@ public:
bool get_active() const;
-/**
+ /**
* @par Prototype:
- * <tt>void %toggled()</tt>
+ * <tt>void on_my_%toggled()</tt>
*/
Glib::SignalProxy0< void > signal_toggled();
@@ -171,10 +171,13 @@ public:
namespace Glib
{
- /** @relates Gtk::ToggleToolButton
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::ToggleToolButton
*/
Gtk::ToggleToolButton* wrap(GtkToggleToolButton* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/toolbar.cc b/libs/gtkmm2/gtk/gtkmm/toolbar.cc
index 8a802bbc3f..0c03ee80b4 100644
--- a/libs/gtkmm2/gtk/gtkmm/toolbar.cc
+++ b/libs/gtkmm2/gtk/gtkmm/toolbar.cc
@@ -98,6 +98,14 @@ void Toolbar::unset_drop_highlight_item()
gtk_toolbar_set_drop_highlight_item(gobj(), 0, 0);
}
+#ifndef GTKMM_DISABLE_DEPRECATED
+Tooltips* Toolbar::get_tooltips_object() const
+{
+ //Note that the _tooltips field is deprecated and broken since GTK+ 2.12:
+ return Glib::wrap((GtkTooltips*)gobj()->_tooltips);
+}
+#endif //GTKMM_DISABLE_DEPRECATED
+
} // namespace Gtk
@@ -299,7 +307,7 @@ void Toolbar_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Toolbar_Class::orientation_changed_callback(GtkToolbar* self, GtkOrientation p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -307,37 +315,40 @@ void Toolbar_Class::orientation_changed_callback(GtkToolbar* self, GtkOrientatio
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_orientation_changed(((Orientation)(p0))
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_orientation_changed(((Orientation)(p0))
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->orientation_changed)
- (*base->orientation_changed)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->orientation_changed)
+ (*base->orientation_changed)(self, p0);
}
void Toolbar_Class::style_changed_callback(GtkToolbar* self, GtkToolbarStyle p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -345,37 +356,40 @@ void Toolbar_Class::style_changed_callback(GtkToolbar* self, GtkToolbarStyle p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_toolbar_style_changed(((ToolbarStyle)(p0))
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_toolbar_style_changed(((ToolbarStyle)(p0))
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->style_changed)
- (*base->style_changed)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->style_changed)
+ (*base->style_changed)(self, p0);
}
gboolean Toolbar_Class::popup_context_menu_callback(GtkToolbar* self, gint p0, gint p1, gint p2)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -383,35 +397,37 @@ gboolean Toolbar_Class::popup_context_menu_callback(GtkToolbar* self, gint p0, g
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_popup_context_menu(p0
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_popup_context_menu(p0
, p1
, p2
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->popup_context_menu)
- return (*base->popup_context_menu)(self, p0, p1, p2);
- }
+ // Call the original underlying C function:
+ if(base && base->popup_context_menu)
+ return (*base->popup_context_menu)(self, p0, p1, p2);
typedef gboolean RType;
return RType();
@@ -460,7 +476,8 @@ GType Toolbar::get_base_type()
Toolbar::Toolbar()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Container(Glib::ConstructParams(toolbar_class_.init()))
{
}
@@ -535,6 +552,16 @@ void Toolbar::unset_toolbar_style()
gtk_toolbar_unset_style(gobj());
}
+void Toolbar::set_icon_size(IconSize icon_size)
+{
+gtk_toolbar_set_icon_size(gobj(), static_cast<GtkIconSize>(int(icon_size)));
+}
+
+void Toolbar::unset_icon_size()
+{
+gtk_toolbar_unset_icon_size(gobj());
+}
+
IconSize Toolbar::get_icon_size() const
{
return IconSize(static_cast<int>(gtk_toolbar_get_icon_size(const_cast<GtkToolbar*>(gobj()))));
@@ -555,11 +582,6 @@ void Toolbar::set_drop_highlight_item(ToolItem& tool_item, int index)
gtk_toolbar_set_drop_highlight_item(gobj(), (tool_item).gobj(), index);
}
- Tooltips* Toolbar::get_tooltips_object() const
-{
- return Glib::wrap(gobj()->tooltips);
-}
-
Glib::SignalProxy1< void,Orientation > Toolbar::signal_orientation_changed()
{
diff --git a/libs/gtkmm2/gtk/gtkmm/toolbar.h b/libs/gtkmm2/gtk/gtkmm/toolbar.h
index 593c7db298..96499596b1 100644
--- a/libs/gtkmm2/gtk/gtkmm/toolbar.h
+++ b/libs/gtkmm2/gtk/gtkmm/toolbar.h
@@ -3,6 +3,8 @@
#ifndef _GTKMM_TOOLBAR_H
#define _GTKMM_TOOLBAR_H
+#include <gtkmmconfig.h>
+
#include <glibmm.h>
@@ -25,6 +27,10 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+
+
#include <gtkmm/toolitem.h>
#include <gtkmm/toolbutton.h>
#include <gtkmm/toggletoolbutton.h>
@@ -136,8 +142,7 @@ public:
void prepend(ToggleToolButton& item, const sigc::slot<void>& toggled_slot);
- /** Returns the position of @a item on the toolbar, starting from 0.
- * It is an error if @a item is not a child of the toolbar.
+ /** Return value: the position of item on the toolbar.
* @param item A Gtk::ToolItem that is a child of @a toolbar .
* @return The position of item on the toolbar.
*
@@ -145,15 +150,14 @@ public:
*/
int get_item_index(const ToolItem& item) const;
- /** Returns the number of items on the toolbar.
+ /** Return value: the number of items on the toolbar
* @return The number of items on the toolbar
*
* @newin2p4.
*/
int get_n_items() const;
- /** Returns the @a n &lt;!-- --&gt;'th item on @a toolbar , or <tt>0</tt> if the
- * toolbar does not contain an @a n &lt;!-- --&gt;'th item.
+ /** Return value: The @a n &lt;!-- --&gt;'th Gtk::ToolItem on @a toolbar , or <tt>0</tt> if there
* @param n A position on the toolbar.
* @return The @a n &lt;!-- --&gt;'th Gtk::ToolItem on @a toolbar , or <tt>0</tt> if there
* isn't an @a n &lt;!-- --&gt;'th item.
@@ -162,8 +166,7 @@ public:
*/
ToolItem* get_nth_item(int n);
- /** Returns the @a n &lt;!-- --&gt;'th item on @a toolbar , or <tt>0</tt> if the
- * toolbar does not contain an @a n &lt;!-- --&gt;'th item.
+ /** Return value: The @a n &lt;!-- --&gt;'th Gtk::ToolItem on @a toolbar , or <tt>0</tt> if there
* @param n A position on the toolbar.
* @return The @a n &lt;!-- --&gt;'th Gtk::ToolItem on @a toolbar , or <tt>0</tt> if there
* isn't an @a n &lt;!-- --&gt;'th item.
@@ -172,8 +175,7 @@ public:
*/
const ToolItem* get_nth_item(int n) const;
- /** Returns whether the toolbar has an overflow menu.
- * See set_show_arrow().
+ /** Return value: <tt>true</tt> if the toolbar has an overflow menu.
* @return <tt>true</tt> if the toolbar has an overflow menu.
*
* @newin2p4.
@@ -234,28 +236,45 @@ public:
*/
void unset_toolbar_style();
- //Note that gtk_toolbar_set_icon_size() is deprecated, but gtk_toolbar_get_icon_size() is not.
+ //Note that gtk_toolbar_set_icon_size() and gtk_toolbar_unset_icon_size() were
+ //deprecated sometime before GTK+ 2.4, but were undeprecated in GTK+ 2.12.
+
+ /** This function sets the size of stock icons in the toolbar. You
+ * can call it both before you add the icons and after they've been
+ * added. The size you set will override user preferences for the default
+ * icon size.
+ *
+ * This should only be used for special-purpose toolbars, normal
+ * application toolbars should respect the user preferences for the
+ * size of icons.
+ *
+ * @newin2p12
+ * @param icon_size The Gtk::IconSize that stock icons in the toolbar shall have.
+ */
+ void set_icon_size(IconSize icon_size);
+
+ /** Unsets toolbar icon size set with set_icon_size(), so that
+ * user preferences will be used to determine the icon size.
+ *
+ * @newin2p12
+ */
+ void unset_icon_size();
+
- /** Retrieves the icon size fo the toolbar. See set_icon_size().
+ /** Retrieves the icon size for the toolbar. See set_icon_size().
* @return The current icon size for the icons on the toolbar.
*/
IconSize get_icon_size() const;
- /** Returns the relief style of buttons on @a toolbar . See
- * Gtk::Button::set_relief().
+ /** Return value: The relief style of buttons on @a toolbar .
* @return The relief style of buttons on @a toolbar .
*
* @newin2p4.
*/
ReliefStyle get_relief_style() const;
- /** Returns the position corresponding to the indicated point on
- * @a toolbar . This is useful when dragging items to the toolbar:
- * this function returns the position a new item should be
- * inserted.
- *
- * @a x and @a y are in @a toolbar coordinates.
+ /** Return value: The position corresponding to the point ( @a x , @a y ) on the toolbar.
* @param x X coordinate of a point on the toolbar.
* @param y Y coordinate of a point on the toolbar.
* @return The position corresponding to the point ( @a x , @a y ) on the toolbar.
@@ -284,11 +303,9 @@ public:
/** Emitted when the orientation of the toolbar changes.
*
* @param orientation The new Orientation of the toolbar.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %orientation_changed(Orientation orientation)</tt>
+ * <tt>void on_my_%orientation_changed(Orientation orientation)</tt>
*/
Glib::SignalProxy1< void,Orientation > signal_orientation_changed();
@@ -297,11 +314,9 @@ public:
/** Emitted when the style of the toolbar changes.
*
* @param @style The new ToolbarStyle of the toolbar.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %toolbar_style_changed(ToolbarStyle style)</tt>
+ * <tt>void on_my_%toolbar_style_changed(ToolbarStyle style)</tt>
*/
Glib::SignalProxy1< void,ToolbarStyle > signal_toolbar_style_changed();
@@ -320,20 +335,20 @@ public:
* @param y The y coordinate of the point where the menu should appear.
* @param button The mouse button the user pressed, or -1
* @resultt true if the signal was handled, false if not.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>bool %popup_context_menu(int x, int y, int button_number)</tt>
+ * <tt>bool on_my_%popup_context_menu(int x, int y, int button_number)</tt>
*/
Glib::SignalProxy3< bool,int,int,int > signal_popup_context_menu();
- //This is called get_tooltips_object() to avoid a clash with get_tooltips(), which just says whether they are enabled.
+ #ifndef GTKMM_DISABLE_DEPRECATED
+ //This was called get_tooltips_object() to avoid a clash with get_tooltips(), which just says whether they are enabled.
+ ///@deprecated Use the Gtk::Tooltip API instead.
+ Tooltips* get_tooltips_object() const;
+ #endif //GTKMM_DISABLE_DEPRECATED
- Tooltips* get_tooltips_object() const;
-
//This is probably the same as Container::children().size(), which is deprecated anyway?
//_MEMBER_GET(num_children, num_children, int, gint)
@@ -419,10 +434,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Toolbar
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Toolbar
*/
Gtk::Toolbar* wrap(GtkToolbar* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/toolbutton.cc b/libs/gtkmm2/gtk/gtkmm/toolbutton.cc
index e0ec041c51..ad923ab39d 100644
--- a/libs/gtkmm2/gtk/gtkmm/toolbutton.cc
+++ b/libs/gtkmm2/gtk/gtkmm/toolbutton.cc
@@ -111,7 +111,7 @@ void ToolButton_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void ToolButton_Class::clicked_callback(GtkToolButton* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -119,32 +119,35 @@ void ToolButton_Class::clicked_callback(GtkToolButton* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_clicked();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_clicked();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->clicked)
- (*base->clicked)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->clicked)
+ (*base->clicked)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -190,22 +193,25 @@ GType ToolButton::get_base_type()
ToolButton::ToolButton()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::ToolItem(Glib::ConstructParams(toolbutton_class_.init()))
{
}
ToolButton::ToolButton(const Gtk::StockID& stock_id)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::ToolItem(Glib::ConstructParams(toolbutton_class_.init(), "stock_id", (stock_id).get_c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::ToolItem(Glib::ConstructParams(toolbutton_class_.init(), "stock_id", (stock_id).get_c_str(), static_cast<char*>(0)))
{
}
ToolButton::ToolButton(Widget& icon_widget, const Glib::ustring& label)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::ToolItem(Glib::ConstructParams(toolbutton_class_.init(), "icon_widget", (icon_widget).gobj(), "label", label.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::ToolItem(Glib::ConstructParams(toolbutton_class_.init(), "icon_widget", (icon_widget).gobj(), "label", label.c_str(), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/toolbutton.h b/libs/gtkmm2/gtk/gtkmm/toolbutton.h
index d023ac564f..3bd61d2dbf 100644
--- a/libs/gtkmm2/gtk/gtkmm/toolbutton.h
+++ b/libs/gtkmm2/gtk/gtkmm/toolbutton.h
@@ -149,9 +149,7 @@ public:
*/
void set_label(const Glib::ustring& label);
- /** Returns the label used by the tool button, or <tt>0</tt> if the tool button
- * doesn't have a label. or uses a the label from a stock item. The returned
- * string is owned by GTK+, and must not be modified or freed.
+ /** Return value: The label, or <tt>0</tt>
* @return The label, or <tt>0</tt>
*
* @newin2p4.
@@ -172,8 +170,7 @@ public:
*/
void set_use_underline(bool use_underline = true);
- /** Returns whether underscores in the label property are used as mnemonics
- * on menu items on the overflow menu. See set_use_underline().
+ /** Return value: <tt>true</tt> if underscores in the label property are used as
* @return <tt>true</tt> if underscores in the label property are used as
* mnemonics on menu items on the overflow menu.
*
@@ -190,8 +187,7 @@ public:
*/
void set_stock_id(const Gtk::StockID& stock_id);
- /** Returns the name of the stock item. See set_stock_id().
- * The returned string is owned by GTK+ and must not be freed or modifed.
+ /** Return value: the name of the stock item for @a button .
* @return The name of the stock item for @a button .
*
* @newin2p4.
@@ -209,8 +205,7 @@ public:
*/
void set_icon_name(const Glib::ustring& icon_name);
- /** Returns the name of the themed icon for the tool button,
- * see set_icon_name().
+ /** Returns: the icon name or <tt>0</tt> if the tool button has
* @return The icon name or <tt>0</tt> if the tool button has
* no themed icon
*
@@ -254,16 +249,14 @@ public:
*/
void set_label_widget(Widget& label_widget);
- /** Returns the widget used as label on @a button . See
- * set_label_widget().
+ /** Return value: The widget used as label on @a button , or <tt>0</tt>.
* @return The widget used as label on @a button , or <tt>0</tt>.
*
* @newin2p4.
*/
Widget* get_label_widget();
- /** Returns the widget used as label on @a button . See
- * set_label_widget().
+ /** Return value: The widget used as label on @a button , or <tt>0</tt>.
* @return The widget used as label on @a button , or <tt>0</tt>.
*
* @newin2p4.
@@ -273,11 +266,9 @@ public:
/** This signal is emitted when the tool button is clicked with the mouse
* or activated with the keyboard.
* @deprecated This is an "action" key-binding signal that you should rarely need to use.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %clicked()</tt>
+ * <tt>void on_my_%clicked()</tt>
*/
Glib::SignalProxy0< void > signal_clicked();
@@ -391,10 +382,13 @@ public:
namespace Glib
{
- /** @relates Gtk::ToolButton
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::ToolButton
*/
Gtk::ToolButton* wrap(GtkToolButton* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/toolitem.cc b/libs/gtkmm2/gtk/gtkmm/toolitem.cc
index ed0936164c..68cba30f61 100644
--- a/libs/gtkmm2/gtk/gtkmm/toolitem.cc
+++ b/libs/gtkmm2/gtk/gtkmm/toolitem.cc
@@ -31,6 +31,15 @@
namespace Gtk
{
+#ifndef GTKMM_DISABLE_DEPRECATED
+Glib::SignalProxy3< bool,Tooltips*,const Glib::ustring&,const Glib::ustring& > ToolItem::signal_set_tooltip()
+{
+ //This is an empty implementation to maintain API (and ABI, sort of, but blame GTK+) compatibility.
+ //GTK+ now never emits this signal.
+ return Glib::SignalProxy3< bool,Tooltips*,const Glib::ustring&,const Glib::ustring& >(this, 0);
+}
+#endif //GTKMM_DISABLE_DEPRECATED
+
} // namespace Gtk
@@ -109,74 +118,6 @@ static const Glib::SignalProxyInfo ToolItem_signal_toolbar_reconfigured_info =
};
-static gboolean ToolItem_signal_set_tooltip_callback(GtkToolItem* self, GtkTooltips* p0,const gchar* p1,const gchar* p2,void* data)
-{
- using namespace Gtk;
- typedef sigc::slot< bool,Tooltips*,const Glib::ustring&,const Glib::ustring& > SlotType;
-
- // Do not try to call a signal on a disassociated wrapper.
- if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
- {
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
- return static_cast<int>((*static_cast<SlotType*>(slot))(Glib::wrap(p0)
-, Glib::convert_const_gchar_ptr_to_ustring(p1)
-, Glib::convert_const_gchar_ptr_to_ustring(p2)
-));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- }
-
- typedef gboolean RType;
- return RType();
-}
-
-static gboolean ToolItem_signal_set_tooltip_notify_callback(GtkToolItem* self, GtkTooltips* p0,const gchar* p1,const gchar* p2, void* data)
-{
- using namespace Gtk;
- typedef sigc::slot< void,Tooltips*,const Glib::ustring&,const Glib::ustring& > SlotType;
-
- // Do not try to call a signal on a disassociated wrapper.
- if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
- {
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
- (*static_cast<SlotType*>(slot))(Glib::wrap(p0)
-, Glib::convert_const_gchar_ptr_to_ustring(p1)
-, Glib::convert_const_gchar_ptr_to_ustring(p2)
-);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- }
-
- typedef gboolean RType;
- return RType();
-}
-
-static const Glib::SignalProxyInfo ToolItem_signal_set_tooltip_info =
-{
- "set_tooltip",
- (GCallback) &ToolItem_signal_set_tooltip_callback,
- (GCallback) &ToolItem_signal_set_tooltip_notify_callback
-};
-
-
} // anonymous namespace
@@ -236,7 +177,7 @@ void ToolItem_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
gboolean ToolItem_Class::create_menu_proxy_callback(GtkToolItem* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -244,39 +185,41 @@ gboolean ToolItem_Class::create_menu_proxy_callback(GtkToolItem* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_create_menu_proxy());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_create_menu_proxy());
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->create_menu_proxy)
- return (*base->create_menu_proxy)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->create_menu_proxy)
+ return (*base->create_menu_proxy)(self);
typedef gboolean RType;
return RType();
}
void ToolItem_Class::toolbar_reconfigured_callback(GtkToolItem* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -284,32 +227,35 @@ void ToolItem_Class::toolbar_reconfigured_callback(GtkToolItem* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_toolbar_reconfigured();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_toolbar_reconfigured();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->toolbar_reconfigured)
- (*base->toolbar_reconfigured)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->toolbar_reconfigured)
+ (*base->toolbar_reconfigured)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -355,7 +301,8 @@ GType ToolItem::get_base_type()
ToolItem::ToolItem()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Bin(Glib::ConstructParams(toolitem_class_.init()))
{
}
@@ -380,11 +327,25 @@ bool ToolItem::get_expand() const
return gtk_tool_item_get_expand(const_cast<GtkToolItem*>(gobj()));
}
+#ifndef GTKMM_DISABLE_DEPRECATED
+
void ToolItem::set_tooltip(Tooltips& tooltips, const Glib::ustring& tip_text, const Glib::ustring& tip_private)
{
gtk_tool_item_set_tooltip(gobj(), (tooltips).gobj(), tip_text.c_str(), tip_private.c_str());
}
+#endif // GTKMM_DISABLE_DEPRECATED
+
+void ToolItem::set_tooltip_text(const Glib::ustring& text)
+{
+gtk_tool_item_set_tooltip_text(gobj(), text.c_str());
+}
+
+void ToolItem::set_tooltip_markup(const Glib::ustring& markup)
+{
+gtk_tool_item_set_tooltip_markup(gobj(), markup.c_str());
+}
+
void ToolItem::set_use_drag_window(bool use_drag_window)
{
gtk_tool_item_set_use_drag_window(gobj(), static_cast<int>(use_drag_window));
@@ -488,12 +449,6 @@ Glib::SignalProxy0< void > ToolItem::signal_toolbar_reconfigured()
}
-Glib::SignalProxy3< bool,Tooltips*,const Glib::ustring&,const Glib::ustring& > ToolItem::signal_set_tooltip()
-{
- return Glib::SignalProxy3< bool,Tooltips*,const Glib::ustring&,const Glib::ustring& >(this, &ToolItem_signal_set_tooltip_info);
-}
-
-
#ifdef GLIBMM_PROPERTIES_ENABLED
Glib::PropertyProxy<bool> ToolItem::property_visible_horizontal()
{
diff --git a/libs/gtkmm2/gtk/gtkmm/toolitem.h b/libs/gtkmm2/gtk/gtkmm/toolitem.h
index 043d59eb58..38fe5eb835 100644
--- a/libs/gtkmm2/gtk/gtkmm/toolitem.h
+++ b/libs/gtkmm2/gtk/gtkmm/toolitem.h
@@ -3,6 +3,8 @@
#ifndef _GTKMM_TOOLITEM_H
#define _GTKMM_TOOLITEM_H
+#include <gtkmmconfig.h>
+
#include <glibmm.h>
@@ -27,6 +29,10 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+
+
#include <gtkmm/bin.h>
#include <gtkmm/tooltips.h>
@@ -120,8 +126,7 @@ public:
*/
void set_homogeneous(bool homogeneous = true);
- /** Returns whether @a tool_item is the same size as other homogeneous
- * items. See set_homogeneous().
+ /** Return value: <tt>true</tt> if the item is the same size as other homogeneous
* @return <tt>true</tt> if the item is the same size as other homogeneous
* item.s
*
@@ -140,8 +145,7 @@ public:
*/
void set_expand(bool expand = true);
- /** Returns whether @a tool_item is allocated extra space.
- * See set_expand().
+ /** Return value: <tt>true</tt> if @a tool_item is allocated extra space.
* @return <tt>true</tt> if @a tool_item is allocated extra space.
*
* @newin2p4.
@@ -149,47 +153,68 @@ public:
bool get_expand() const;
+#ifndef GTKMM_DISABLE_DEPRECATED
+
/** Sets the Gtk::Tooltips object to be used for @a tool_item , the
* text to be displayed as tooltip on the item and the private text
* to be used. See Gtk::Tooltips::set_tip().
*
* @newin2p4
+ *
+ * Deprecated: 2.12: Use set_tooltip_text() instead.
+ * @deprecated Use set_tooltip_text() or set_tooltip_markup() instead
* @param tooltips The Gtk::Tooltips object to be used.
* @param tip_text Text to be used as tooltip text for @a tool_item .
* @param tip_private Text to be used as private tooltip text.
*/
void set_tooltip(Tooltips& tooltips, const Glib::ustring& tip_text, const Glib::ustring& tip_private = Glib::ustring());
+#endif // GTKMM_DISABLE_DEPRECATED
+
+
+ /** Sets the text to be displayed as tooltip on the item.
+ * See Gtk::Widget::set_tooltip_text().
+ *
+ * @newin2p12
+ * @param text Text to be used as tooltip for @a tool_item .
+ */
+ void set_tooltip_text(const Glib::ustring& text);
+
+ /** Sets the markup text to be displayed as tooltip on the item.
+ * See Gtk::Widget::set_tooltip_markup().
+ *
+ * @newin2p12
+ * @param markup Markup text to be used as tooltip for @a tool_item .
+ */
+ void set_tooltip_markup(const Glib::ustring& markup);
- /** Sets whether @a toolitem has a drag window. When <tt>true</tt> the
+ /** Sets whether @a tool_item has a drag window. When <tt>true</tt> the
* toolitem can be used as a drag source through gtk_drag_source_set().
- * When @a toolitem has a drag window it will intercept all events,
- * even those that would otherwise be sent to a child of @a toolitem .
+ * When @a tool_item has a drag window it will intercept all events,
+ * even those that would otherwise be sent to a child of @a tool_item .
*
* @newin2p4
- * @param use_drag_window Whether @a toolitem has a drag window.
+ * @param use_drag_window Whether @a tool_item has a drag window.
*/
void set_use_drag_window(bool use_drag_window = true);
- /** Returns whether @a toolitem has a drag window. See
- * set_use_drag_window().
- * @return <tt>true</tt> if @a toolitem uses a drag window.
+ /** Return value: <tt>true</tt> if @a tool_item uses a drag window.
+ * @return <tt>true</tt> if @a tool_item uses a drag window.
*
* @newin2p4.
*/
bool get_use_drag_window() const;
- /** Sets whether @a toolitem is visible when the toolbar is docked horizontally.
+ /** Sets whether @a tool_item is visible when the toolbar is docked horizontally.
*
* @newin2p4
- * @param visible_horizontal Whether @a toolitem is visible when in horizontal mode.
+ * @param visible_horizontal Whether @a tool_item is visible when in horizontal mode.
*/
void set_visible_horizontal(bool visible_horizontal = true);
- /** Returns whether the @a toolitem is visible on toolbars that are
- * docked horizontally.
- * @return <tt>true</tt> if @a toolitem is visible on toolbars that are
+ /** Return value: <tt>true</tt> if @a tool_item is visible on toolbars that are
+ * @return <tt>true</tt> if @a tool_item is visible on toolbars that are
* docked horizontally.
*
* @newin2p4.
@@ -197,28 +222,26 @@ public:
bool get_visible_horizontal() const;
- /** Sets whether @a toolitem is visible when the toolbar is docked
+ /** Sets whether @a tool_item is visible when the toolbar is docked
* vertically. Some tool items, such as text entries, are too wide to be
* useful on a vertically docked toolbar. If @a visible_vertical is <tt>false</tt>
- * @a toolitem will not appear on toolbars that are docked vertically.
+ * @a tool_item will not appear on toolbars that are docked vertically.
*
* @newin2p4
- * @param visible_vertical Whether @a toolitem is visible when the toolbar
+ * @param visible_vertical Whether @a tool_item is visible when the toolbar
* is in vertical mode.
*/
void set_visible_vertical(bool visible_vertical = true);
- /** Returns whether @a toolitem is visible when the toolbar is docked vertically.
- * See set_visible_vertical().
- * @return Whether @a toolitem is visible when the toolbar is docked vertically
+ /** Return value: Whether @a tool_item is visible when the toolbar is docked vertically
+ * @return Whether @a tool_item is visible when the toolbar is docked vertically
*
* @newin2p4.
*/
bool get_visible_vertical() const;
- /** Returns whether @a tool_item is considered important. See
- * set_is_important()
+ /** Return value: <tt>true</tt> if @a tool_item is considered important.
* @return <tt>true</tt> if @a tool_item is considered important.
*
* @newin2p4.
@@ -237,18 +260,14 @@ public:
void set_is_important(bool is_important = true);
- /** Returns the icon size used for @a tool_item . Custom subclasses of
- * Gtk::ToolItem should call this function to find out what size icons
- * they should use.
+ /** Return value: a Gtk::IconSize indicating the icon size used for @a tool_item
* @return A Gtk::IconSize indicating the icon size used for @a tool_item
*
* @newin2p4.
*/
IconSize get_icon_size () const;
- /** Returns the orientation used for @a tool_item . Custom subclasses of
- * Gtk::ToolItem should call this function to find out what size icons
- * they should use.
+ /** Return value: a Gtk::Orientation indicating the orientation
* @return A Gtk::Orientation indicating the orientation
* used for @a tool_item
*
@@ -256,25 +275,7 @@ public:
*/
Orientation get_orientation() const;
- /** Returns the toolbar style used for @a tool_item . Custom subclasses of
- * Gtk::ToolItem should call this function in the handler of the
- * GtkToolItem::toolbar_reconfigured signal to find out in what style
- * the toolbar is displayed and change themselves accordingly
- *
- * Possibilities are:
- * &lt;itemizedlist&gt;
- * &lt;listitem&gt; GTK_TOOLBAR_BOTH, meaning the tool item should show
- * both an icon and a label, stacked vertically &lt;/listitem&gt;
- * &lt;listitem&gt; GTK_TOOLBAR_ICONS, meaning the toolbar shows
- * only icons &lt;/listitem&gt;
- * &lt;listitem&gt; GTK_TOOLBAR_TEXT, meaning the tool item should only
- * show text&lt;/listitem&gt;
- * &lt;listitem&gt; GTK_TOOLBAR_BOTH_HORIZ, meaning the tool item should show
- * both an icon and a label, arranged horizontally (however, note the
- * Gtk::ToolButton::has_text_horizontally that makes tool buttons not
- * show labels when the toolbar style is GTK_TOOLBAR_BOTH_HORIZ.
- * &lt;/listitem&gt;
- * &lt;/itemizedlist&gt;
+ /** Return value: A Gtk::ToolbarStyle indicating the toolbar style used
* @return A Gtk::ToolbarStyle indicating the toolbar style used
* for @a tool_item .
*
@@ -282,10 +283,7 @@ public:
*/
ToolbarStyle get_toolbar_style() const;
- /** Returns the relief style of @a tool_item . See gtk_button_set_relief_style().
- * Custom subclasses of Gtk::ToolItem should call this function in the handler
- * of the Gtk::ToolItem::toolbar_reconfigured signal to find out the
- * relief style of buttons.
+ /** Return value: a Gtk::ReliefStyle indicating the relief style used
* @return A Gtk::ReliefStyle indicating the relief style used
* for @a tool_item .
*
@@ -294,9 +292,7 @@ public:
ReliefStyle get_relief_style() const;
- /** Returns the Gtk::MenuItem that was last set by
- * set_proxy_menu_item(), ie. the Gtk::MenuItem
- * that is going to appear in the overflow menu.
+ /** Return value: The Gtk::MenuItem that is going to appear in the
* @return The Gtk::MenuItem that is going to appear in the
* overflow menu for @a tool_item .
*
@@ -304,9 +300,7 @@ public:
*/
Widget* retrieve_proxy_menu_item();
- /** Returns the Gtk::MenuItem that was last set by
- * set_proxy_menu_item(), ie. the Gtk::MenuItem
- * that is going to appear in the overflow menu.
+ /** Return value: The Gtk::MenuItem that is going to appear in the
* @return The Gtk::MenuItem that is going to appear in the
* overflow menu for @a tool_item .
*
@@ -393,11 +387,9 @@ public:
* menu.
*
* @result true if the signal was handled, false if not
- */
-
-/**
+ *
* @par Prototype:
- * <tt>bool %create_menu_proxy()</tt>
+ * <tt>bool on_my_%create_menu_proxy()</tt>
*/
Glib::SignalProxy0< bool > signal_create_menu_proxy();
@@ -414,36 +406,33 @@ public:
* </itemizedlist>
* to find out what the toolbar should look like and change
* themselves accordingly.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %toolbar_reconfigured()</tt>
+ * <tt>void on_my_%toolbar_reconfigured()</tt>
*/
Glib::SignalProxy0< void > signal_toolbar_reconfigured();
//We use no_default_handler for this, because we can not add a new vfunc to 2.5 without breaking ABI.
- //TODO: Remove no_default_handler when we do an ABI-break-with-parallel-install.
+
+ #ifndef GTKMM_DISABLE_DEPRECATED
+ //Note that we can ifdef this out, only because it doesn't affect class size, because we use no_default_handler:
/** This signal is emitted when the toolitem's tooltip changes.
* Application developers can use gtk_tool_item_set_tooltip() to
* set the item's tooltip.
+ * @deprecated: Use the new Gtk::Tooltip API. This signal will now never be emitted.
*
* @param tooltips the Tooltips
* @param tip_text the tooltip text
* @param tip_private the tooltip private text
* @result true if the signal was handled, false if not.
*/
-
-/**
- * @par Prototype:
- * <tt>bool %set_tooltip(Tooltips* tooltips, const Glib::ustring& tip_text, const Glib::ustring& tip_private)</tt>
- */
-
Glib::SignalProxy3< bool,Tooltips*,const Glib::ustring&,const Glib::ustring& > signal_set_tooltip();
+ //_WRAP_SIGNAL(bool set_tooltip(Tooltips* tooltips, const Glib::ustring& tip_text, const Glib::ustring& tip_private), set_tooltip, no_default_handler, deprecated) //TODO: Implement deprecated for _WRAP_SIGNAL() to avoid hand-coding this:
+ #endif //GTKMM_DISABLE_DEPRECATED
+
-
#ifdef GLIBMM_PROPERTIES_ENABLED
/** Whether the toolbar item is visible when the toolbar is in a horizontal orientation.
*
@@ -512,10 +501,13 @@ public:
namespace Glib
{
- /** @relates Gtk::ToolItem
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::ToolItem
*/
Gtk::ToolItem* wrap(GtkToolItem* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/tooltip.cc b/libs/gtkmm2/gtk/gtkmm/tooltip.cc
new file mode 100644
index 0000000000..e490a7b027
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm/tooltip.cc
@@ -0,0 +1,181 @@
+// Generated by gtkmmproc -- DO NOT MODIFY!
+
+
+#include <gtkmm/tooltip.h>
+#include <gtkmm/private/tooltip_p.h>
+
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/*
+ * Copyright (C) 2007 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtktooltip.h>
+
+namespace Gtk
+{
+
+void Tooltip::trigger_tooltip_query(const Glib::RefPtr<Gdk::Display>& display)
+{
+ gtk_tooltip_trigger_tooltip_query(display->gobj());
+}
+
+} // namespace Gtk
+
+namespace
+{
+} // anonymous namespace
+
+
+namespace Glib
+{
+
+Glib::RefPtr<Gtk::Tooltip> wrap(GtkTooltip* object, bool take_copy)
+{
+ return Glib::RefPtr<Gtk::Tooltip>( dynamic_cast<Gtk::Tooltip*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ //We use dynamic_cast<> in case of multiple inheritance.
+}
+
+} /* namespace Glib */
+
+
+namespace Gtk
+{
+
+
+/* The *_Class implementation: */
+
+const Glib::Class& Tooltip_Class::init()
+{
+ if(!gtype_) // create the GType if necessary
+ {
+ // Glib::Class has to know the class init function to clone custom types.
+ class_init_func_ = &Tooltip_Class::class_init_function;
+
+ // This is actually just optimized away, apparently with no harm.
+ // Make sure that the parent type has been created.
+ //CppClassParent::CppObjectType::get_type();
+
+ // Create the wrapper type, with the same class/instance size as the base type.
+ register_derived_type(gtk_tooltip_get_type());
+
+ // Add derived versions of interfaces, if the C type implements any interfaces:
+ }
+
+ return *this;
+}
+
+void Tooltip_Class::class_init_function(void* g_class, void* class_data)
+{
+ BaseClassType *const klass = static_cast<BaseClassType*>(g_class);
+ CppClassParent::class_init_function(klass, class_data);
+
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+}
+
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+
+Glib::ObjectBase* Tooltip_Class::wrap_new(GObject* object)
+{
+ return new Tooltip((GtkTooltip*)object);
+}
+
+
+/* The implementation: */
+
+GtkTooltip* Tooltip::gobj_copy()
+{
+ reference();
+ return gobj();
+}
+
+Tooltip::Tooltip(const Glib::ConstructParams& construct_params)
+:
+ Glib::Object(construct_params)
+{}
+
+Tooltip::Tooltip(GtkTooltip* castitem)
+:
+ Glib::Object((GObject*)(castitem))
+{}
+
+Tooltip::~Tooltip()
+{}
+
+
+Tooltip::CppClassType Tooltip::tooltip_class_; // initialize static member
+
+GType Tooltip::get_type()
+{
+ return tooltip_class_.init().get_type();
+}
+
+GType Tooltip::get_base_type()
+{
+ return gtk_tooltip_get_type();
+}
+
+
+void Tooltip::set_markup(const Glib::ustring& markup)
+{
+gtk_tooltip_set_markup(gobj(), markup.c_str());
+}
+
+void Tooltip::set_text(const Glib::ustring& markup)
+{
+gtk_tooltip_set_text(gobj(), markup.c_str());
+}
+
+void Tooltip::set_icon(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf)
+{
+gtk_tooltip_set_icon(gobj(), Glib::unwrap(pixbuf));
+}
+
+void Tooltip::set_icon_from_stock(const StockID& stock_id, IconSize size)
+{
+gtk_tooltip_set_icon_from_stock(gobj(), (stock_id).get_c_str(), static_cast<GtkIconSize>(int(size)));
+}
+
+void Tooltip::set_custom(Widget& custom_widget)
+{
+gtk_tooltip_set_custom(gobj(), (custom_widget).gobj());
+}
+
+void Tooltip::set_tip_area(const Gdk::Rectangle& rect)
+{
+gtk_tooltip_set_tip_area(gobj(), const_cast<GdkRectangle*>(rect.gobj()));
+}
+
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+
+} // namespace Gtk
+
+
diff --git a/libs/gtkmm2/gtk/gtkmm/tooltip.h b/libs/gtkmm2/gtk/gtkmm/tooltip.h
new file mode 100644
index 0000000000..a53cce08a5
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm/tooltip.h
@@ -0,0 +1,238 @@
+// -*- c++ -*-
+// Generated by gtkmmproc -- DO NOT MODIFY!
+#ifndef _GTKMM_TOOLTIP_H
+#define _GTKMM_TOOLTIP_H
+
+
+#include <glibmm.h>
+
+/* Copyright (C) 2007 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/object.h>
+#include <gdkmm/pixbuf.h>
+#include <gtkmm/enums.h>
+#include <gtkmm/widget.h>
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+typedef struct _GtkTooltip GtkTooltip;
+typedef struct _GtkTooltipClass GtkTooltipClass;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Gtk
+{ class Tooltip_Class; } // namespace Gtk
+namespace Gtk
+{
+
+/** Add tips to your widgets
+ *
+ * Gtk::Tooltip belongs to the new tooltips API that was introduced in GTK+ 2.12
+ * and which deprecates the old Gtk::Tooltips API.
+ *
+ * Basic tooltips can be realized simply by using set_tooltip_text()
+ * or set_tooltip_markup() without any explicit tooltip object.
+ *
+ * When you need a tooltip with a little more fancy contents, like
+ * adding an image, or you want the tooltip to have different contents
+ * per Gtk::TreeView row or cell, you will have to do a little more work:
+ *
+ * - Call Gtk::Widget:set_has_tooltip(); this will
+ * make GTK+ monitor the widget for motion and related events
+ * which are needed to determine when and where to show a tooltip.
+ *
+ * - Connect to Gtk::Widget::signal_query_tooltip(). This signal
+ * will be emitted when a tooltip is supposed to be shown. One
+ * of the arguments passed to the signal handler is a Gtk::Tooltip
+ * object. This is the object that we are about to display as a
+ * tooltip, and can be manipulated in your callback using functions
+ * like Gtk::Tooltip::set_icon(). There are functions for setting
+ * the tooltip's markup, setting an image from a stock icon, or
+ * even putting in a custom widget.
+ *
+ * - Return true from your query-tooltip handler. This causes
+ * the tooltip to be show. If you return false, it will not be shown.
+ *
+ * In the probably rare case where you want to have even more control
+ * over the tooltip that is about to be shown, you can set your own
+ * Window which will be used as tooltip window. This works as follows:
+ *
+ * - Do Gtk::Widget::set_has_tooltip() and connect to
+ * Gtk::Widget::signal_query_tooltip() as before.
+ *
+ * - Use Gtk::Widget::set_tooltip_window() to set a Gtk::Window created
+ * by you as tooltip window.
+ *
+ * - In the query-tooltip callback you can access your window
+ * using Gtk::Widget::get_tooltip_window() and manipulate it as you
+ * wish. The semantics of the return value are exactly as before,
+ * return true to show the window, false to not show it.
+ *
+ * @newin2p12
+ */
+
+class Tooltip : public Glib::Object
+{
+protected:
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+public:
+ typedef Tooltip CppObjectType;
+ typedef Tooltip_Class CppClassType;
+ typedef GtkTooltip BaseObjectType;
+ typedef GtkTooltipClass BaseClassType;
+
+private: friend class Tooltip_Class;
+ static CppClassType tooltip_class_;
+
+private:
+ // noncopyable
+ Tooltip(const Tooltip&);
+ Tooltip& operator=(const Tooltip&);
+
+protected:
+ explicit Tooltip(const Glib::ConstructParams& construct_params);
+ explicit Tooltip(GtkTooltip* castitem);
+
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+public:
+ virtual ~Tooltip();
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ static GType get_type() G_GNUC_CONST;
+ static GType get_base_type() G_GNUC_CONST;
+#endif
+
+ ///Provides access to the underlying C GObject.
+ GtkTooltip* gobj() { return reinterpret_cast<GtkTooltip*>(gobject_); }
+
+ ///Provides access to the underlying C GObject.
+ const GtkTooltip* gobj() const { return reinterpret_cast<GtkTooltip*>(gobject_); }
+
+ ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
+ GtkTooltip* gobj_copy();
+
+private:
+
+
+public:
+
+
+ /** Sets the text of the tooltip to be @a markup , which is marked up
+ * with the Pango text markup language.
+ * If @a markup is <tt>0</tt>, the label will be hidden.
+ *
+ * @newin2p12
+ * @param markup A markup string (see Pango markup format) or <tt>0</tt>.
+ */
+ void set_markup(const Glib::ustring& markup);
+
+ /** Sets the text of the tooltip to be @a text . If @a text is <tt>0</tt>, the label
+ * will be hidden. See also gtk_tooltip_set_markup().
+ *
+ * @newin2p12
+ * @param text A text string or <tt>0</tt>.
+ */
+ void set_text(const Glib::ustring& markup);
+
+ /** Sets the icon of the tooltip (which is in front of the text) to be
+ * @a pixbuf . If @a pixbuf is <tt>0</tt>, the image will be hidden.
+ *
+ * @newin2p12
+ * @param pixbuf A Gdk::Pixbuf, or <tt>0</tt>.
+ */
+ void set_icon(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf);
+
+ /** Sets the icon of the tooltip (which is in front of the text) to be
+ * the stock item indicated by @a stock_id with the size indicated
+ * by @a size . If @a stock_id is <tt>0</tt>, the image will be hidden.
+ *
+ * @newin2p12
+ * @param stock_id A stock icon name, or <tt>0</tt>.
+ * @param size A stock icon size.
+ */
+ void set_icon_from_stock(const StockID& stock_id, IconSize size);
+
+ /** Replaces the widget packed into the tooltip with @a custom_widget .
+ * By default a box with a Gtk::Image and Gtk::Label is embedded in
+ * the tooltip, which can be configured using gtk_tooltip_set_markup()
+ * and gtk_tooltip_set_icon().
+ *
+ * @newin2p12
+ * @param custom_widget A Gtk::Widget.
+ */
+ void set_custom(Widget& custom_widget);
+
+ /** Sets the area of the widget, where the contents of this tooltip apply,
+ * to be @a rect (in widget coordinates). This is especially useful for
+ * properly setting tooltips on Gtk::TreeView rows and cells, Gtk::IconViews,
+ * etc.
+ *
+ * For setting tooltips on Gtk::TreeView, please refer to the convenience
+ * functions for this: Gtk::TreeView::set_tooltip_row() and
+ * Gtk::TreeView::set_tooltip_cell().
+ *
+ * @newin2p12
+ * @param rect A Gdk::Rectangle.
+ */
+ void set_tip_area(const Gdk::Rectangle& rect);
+
+
+ static void trigger_tooltip_query(const Glib::RefPtr<Gdk::Display>& display);
+
+
+public:
+
+public:
+ //C++ methods used to invoke GTK+ virtual functions:
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+protected:
+ //GTK+ Virtual Functions (override these to change behaviour):
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+ //Default Signal Handlers::
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+
+};
+
+} // namespace Gtk
+
+
+namespace Glib
+{
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
+ * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
+ * @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Tooltip
+ */
+ Glib::RefPtr<Gtk::Tooltip> wrap(GtkTooltip* object, bool take_copy = false);
+}
+
+
+#endif /* _GTKMM_TOOLTIP_H */
+
diff --git a/libs/gtkmm2/gtk/gtkmm/tooltips.cc b/libs/gtkmm2/gtk/gtkmm/tooltips.cc
index ad6a0b78bb..dc65545887 100644
--- a/libs/gtkmm2/gtk/gtkmm/tooltips.cc
+++ b/libs/gtkmm2/gtk/gtkmm/tooltips.cc
@@ -1,5 +1,7 @@
// Generated by gtkmmproc -- DO NOT MODIFY!
+#ifndef GTKMM_DISABLE_DEPRECATED
+
#include <gtkmm/tooltips.h>
#include <gtkmm/private/tooltips_p.h>
@@ -147,7 +149,8 @@ GType Tooltips::get_base_type()
Tooltips::Tooltips()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Object(Glib::ConstructParams(tooltips_class_.init()))
{
}
@@ -188,4 +191,6 @@ gtk_tooltips_force_window(gobj());
} // namespace Gtk
+#endif // GTKMM_DISABLE_DEPRECATED
+
diff --git a/libs/gtkmm2/gtk/gtkmm/tooltips.h b/libs/gtkmm2/gtk/gtkmm/tooltips.h
index 4e1614d6cc..5406ba43ac 100644
--- a/libs/gtkmm2/gtk/gtkmm/tooltips.h
+++ b/libs/gtkmm2/gtk/gtkmm/tooltips.h
@@ -3,6 +3,10 @@
#ifndef _GTKMM_TOOLTIPS_H
#define _GTKMM_TOOLTIPS_H
+#include <gtkmmconfig.h>
+
+#ifndef GTKMM_DISABLE_DEPRECATED
+
#include <glibmm.h>
@@ -25,6 +29,10 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+
+
#include <gdkmm/color.h>
#include <gtkmm/object.h>
@@ -51,6 +59,8 @@ class Widget;
*
* This widget holds tooltips for other widgets. You should only need one
* Tooltip widget for all widgets you wish to add tips to.
+ *
+ * @deprecated Use the Gtk::Tooltip API instead.
*/
class Tooltips : public Object
@@ -141,14 +151,20 @@ public:
namespace Glib
{
- /** @relates Gtk::Tooltips
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Tooltips
*/
Gtk::Tooltips* wrap(GtkTooltips* object, bool take_copy = false);
} //namespace Glib
+#endif // GTKMM_DISABLE_DEPRECATED
+
+
#endif /* _GTKMM_TOOLTIPS_H */
diff --git a/libs/gtkmm2/gtk/gtkmm/treedragdest.cc b/libs/gtkmm2/gtk/gtkmm/treedragdest.cc
index e899e90376..d62656260b 100644
--- a/libs/gtkmm2/gtk/gtkmm/treedragdest.cc
+++ b/libs/gtkmm2/gtk/gtkmm/treedragdest.cc
@@ -39,7 +39,7 @@ namespace Glib
Glib::RefPtr<Gtk::TreeDragDest> wrap(GtkTreeDragDest* object, bool take_copy)
{
- return Glib::RefPtr<Gtk::TreeDragDest>( dynamic_cast<Gtk::TreeDragDest*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ return Glib::RefPtr<Gtk::TreeDragDest>( dynamic_cast<Gtk::TreeDragDest*> (Glib::wrap_auto_interface<Gtk::TreeDragDest> ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance.
}
@@ -87,7 +87,7 @@ void TreeDragDest_Class::iface_init_function(void* g_iface, void*)
#ifdef GLIBMM_VFUNCS_ENABLED
gboolean TreeDragDest_Class::drag_data_received_vfunc_callback(GtkTreeDragDest* self, GtkTreePath* dest, GtkSelectionData* selection_data)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -95,42 +95,45 @@ gboolean TreeDragDest_Class::drag_data_received_vfunc_callback(GtkTreeDragDest*
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->drag_data_received_vfunc(Gtk::TreePath(dest, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->drag_data_received_vfunc(Gtk::TreePath(dest, true)
, SelectionData_WithoutOwnership(selection_data)
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->drag_data_received)
+ return (*base->drag_data_received)(self, dest, selection_data);
- // Call the original underlying C function:
- if(base && base->drag_data_received)
- return (*base->drag_data_received)(self, dest, selection_data);
- }
typedef gboolean RType;
return RType();
}
gboolean TreeDragDest_Class::row_drop_possible_vfunc_callback(GtkTreeDragDest* self, GtkTreePath* dest_path, GtkSelectionData* selection_data)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -138,35 +141,38 @@ gboolean TreeDragDest_Class::row_drop_possible_vfunc_callback(GtkTreeDragDest* s
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->row_drop_possible_vfunc(Gtk::TreePath(dest_path, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->row_drop_possible_vfunc(Gtk::TreePath(dest_path, true)
, SelectionData_WithoutOwnership(selection_data)
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->row_drop_possible)
+ return (*base->row_drop_possible)(self, dest_path, selection_data);
- // Call the original underlying C function:
- if(base && base->row_drop_possible)
- return (*base->row_drop_possible)(self, dest_path, selection_data);
- }
typedef gboolean RType;
return RType();
diff --git a/libs/gtkmm2/gtk/gtkmm/treedragdest.h b/libs/gtkmm2/gtk/gtkmm/treedragdest.h
index 59b4a8376b..65c30ebd4e 100644
--- a/libs/gtkmm2/gtk/gtkmm/treedragdest.h
+++ b/libs/gtkmm2/gtk/gtkmm/treedragdest.h
@@ -75,8 +75,14 @@ private:
protected:
TreeDragDest(); // you must derive from this class
+
+public:
+ // This is public so that C++ wrapper instances can be
+ // created for C instances of unwrapped types.
+ // For instance, if an unexpected C type implements the C interface.
explicit TreeDragDest(GtkTreeDragDest* castitem);
+protected:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
@@ -160,10 +166,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::TreeDragDest
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::TreeDragDest
*/
Glib::RefPtr<Gtk::TreeDragDest> wrap(GtkTreeDragDest* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gtk/gtkmm/treedragsource.cc b/libs/gtkmm2/gtk/gtkmm/treedragsource.cc
index 28bb5b1a39..606f65d3f2 100644
--- a/libs/gtkmm2/gtk/gtkmm/treedragsource.cc
+++ b/libs/gtkmm2/gtk/gtkmm/treedragsource.cc
@@ -106,7 +106,7 @@ namespace Glib
Glib::RefPtr<Gtk::TreeDragSource> wrap(GtkTreeDragSource* object, bool take_copy)
{
- return Glib::RefPtr<Gtk::TreeDragSource>( dynamic_cast<Gtk::TreeDragSource*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ return Glib::RefPtr<Gtk::TreeDragSource>( dynamic_cast<Gtk::TreeDragSource*> (Glib::wrap_auto_interface<Gtk::TreeDragSource> ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance.
}
@@ -155,7 +155,7 @@ void TreeDragSource_Class::iface_init_function(void* g_iface, void*)
#ifdef GLIBMM_VFUNCS_ENABLED
gboolean TreeDragSource_Class::row_draggable_vfunc_callback(GtkTreeDragSource* self, GtkTreePath* path)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -163,41 +163,44 @@ gboolean TreeDragSource_Class::row_draggable_vfunc_callback(GtkTreeDragSource* s
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->row_draggable_vfunc(Gtk::TreePath(path, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->row_draggable_vfunc(Gtk::TreePath(path, true)
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->row_draggable)
+ return (*base->row_draggable)(self, path);
- // Call the original underlying C function:
- if(base && base->row_draggable)
- return (*base->row_draggable)(self, path);
- }
typedef gboolean RType;
return RType();
}
gboolean TreeDragSource_Class::drag_data_delete_vfunc_callback(GtkTreeDragSource* self, GtkTreePath* path)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -205,34 +208,37 @@ gboolean TreeDragSource_Class::drag_data_delete_vfunc_callback(GtkTreeDragSource
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->drag_data_delete_vfunc(Gtk::TreePath(path, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->drag_data_delete_vfunc(Gtk::TreePath(path, true)
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->drag_data_delete)
+ return (*base->drag_data_delete)(self, path);
- // Call the original underlying C function:
- if(base && base->drag_data_delete)
- return (*base->drag_data_delete)(self, path);
- }
typedef gboolean RType;
return RType();
diff --git a/libs/gtkmm2/gtk/gtkmm/treedragsource.h b/libs/gtkmm2/gtk/gtkmm/treedragsource.h
index 9887fcd00c..cc65ca49b6 100644
--- a/libs/gtkmm2/gtk/gtkmm/treedragsource.h
+++ b/libs/gtkmm2/gtk/gtkmm/treedragsource.h
@@ -75,8 +75,14 @@ private:
protected:
TreeDragSource(); // you must derive from this class
+
+public:
+ // This is public so that C++ wrapper instances can be
+ // created for C instances of unwrapped types.
+ // For instance, if an unexpected C type implements the C interface.
explicit TreeDragSource(GtkTreeDragSource* castitem);
+protected:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
@@ -172,10 +178,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::TreeDragSource
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::TreeDragSource
*/
Glib::RefPtr<Gtk::TreeDragSource> wrap(GtkTreeDragSource* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gtk/gtkmm/treemodel.cc b/libs/gtkmm2/gtk/gtkmm/treemodel.cc
index 9997d5cd91..3bdbcf6dcb 100644
--- a/libs/gtkmm2/gtk/gtkmm/treemodel.cc
+++ b/libs/gtkmm2/gtk/gtkmm/treemodel.cc
@@ -851,7 +851,7 @@ namespace Glib
Glib::RefPtr<Gtk::TreeModel> wrap(GtkTreeModel* object, bool take_copy)
{
- return Glib::RefPtr<Gtk::TreeModel>( dynamic_cast<Gtk::TreeModel*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ return Glib::RefPtr<Gtk::TreeModel>( dynamic_cast<Gtk::TreeModel*> (Glib::wrap_auto_interface<Gtk::TreeModel> ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance.
}
@@ -916,7 +916,7 @@ void TreeModel_Class::iface_init_function(void* g_iface, void*)
#ifdef GLIBMM_VFUNCS_ENABLED
GtkTreeModelFlags TreeModel_Class::get_flags_vfunc_callback(GtkTreeModel* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -924,40 +924,43 @@ GtkTreeModelFlags TreeModel_Class::get_flags_vfunc_callback(GtkTreeModel* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return ((GtkTreeModelFlags)(obj->get_flags_vfunc()));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return ((GtkTreeModelFlags)(obj->get_flags_vfunc()));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_flags)
+ return (*base->get_flags)(self);
- // Call the original underlying C function:
- if(base && base->get_flags)
- return (*base->get_flags)(self);
- }
typedef GtkTreeModelFlags RType;
return RType();
}
gint TreeModel_Class::get_n_columns_vfunc_callback(GtkTreeModel* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -965,40 +968,43 @@ gint TreeModel_Class::get_n_columns_vfunc_callback(GtkTreeModel* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_n_columns_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_n_columns_vfunc();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_n_columns)
+ return (*base->get_n_columns)(self);
- // Call the original underlying C function:
- if(base && base->get_n_columns)
- return (*base->get_n_columns)(self);
- }
typedef gint RType;
return RType();
}
GType TreeModel_Class::get_column_type_vfunc_callback(GtkTreeModel* self, gint index)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1006,41 +1012,44 @@ GType TreeModel_Class::get_column_type_vfunc_callback(GtkTreeModel* self, gint i
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return obj->get_column_type_vfunc(index
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return obj->get_column_type_vfunc(index
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_column_type)
+ return (*base->get_column_type)(self, index);
- // Call the original underlying C function:
- if(base && base->get_column_type)
- return (*base->get_column_type)(self, index);
- }
typedef GType RType;
return RType();
}
gboolean TreeModel_Class::iter_has_child_vfunc_callback(GtkTreeModel* self, GtkTreeIter* iter)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1048,41 +1057,44 @@ gboolean TreeModel_Class::iter_has_child_vfunc_callback(GtkTreeModel* self, GtkT
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->iter_has_child_vfunc(Gtk::TreeModel::iterator(self, iter)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->iter_has_child_vfunc(Gtk::TreeModel::iterator(self, iter)
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->iter_has_child)
+ return (*base->iter_has_child)(self, iter);
- // Call the original underlying C function:
- if(base && base->iter_has_child)
- return (*base->iter_has_child)(self, iter);
- }
typedef gboolean RType;
return RType();
}
void TreeModel_Class::ref_node_vfunc_callback(GtkTreeModel* self, GtkTreeIter* iter)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1090,38 +1102,42 @@ void TreeModel_Class::ref_node_vfunc_callback(GtkTreeModel* self, GtkTreeIter* i
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->ref_node_vfunc(Gtk::TreeModel::iterator(self, iter)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->ref_node_vfunc(Gtk::TreeModel::iterator(self, iter)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->ref_node)
+ (*base->ref_node)(self, iter);
- // Call the original underlying C function:
- if(base && base->ref_node)
- (*base->ref_node)(self, iter);
- }
}
void TreeModel_Class::unref_node_vfunc_callback(GtkTreeModel* self, GtkTreeIter* iter)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1129,38 +1145,42 @@ void TreeModel_Class::unref_node_vfunc_callback(GtkTreeModel* self, GtkTreeIter*
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->unref_node_vfunc(Gtk::TreeModel::iterator(self, iter)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->unref_node_vfunc(Gtk::TreeModel::iterator(self, iter)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->unref_node)
+ (*base->unref_node)(self, iter);
- // Call the original underlying C function:
- if(base && base->unref_node)
- (*base->unref_node)(self, iter);
- }
}
GtkTreePath* TreeModel_Class::get_path_vfunc_callback(GtkTreeModel* self, GtkTreeIter* iter)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1168,41 +1188,44 @@ GtkTreePath* TreeModel_Class::get_path_vfunc_callback(GtkTreeModel* self, GtkTre
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return (obj->get_path_vfunc(Gtk::TreeModel::iterator(self, iter)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return (obj->get_path_vfunc(Gtk::TreeModel::iterator(self, iter)
)).gobj_copy();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_path)
+ return (*base->get_path)(self, iter);
- // Call the original underlying C function:
- if(base && base->get_path)
- return (*base->get_path)(self, iter);
- }
typedef GtkTreePath* RType;
return RType();
}
void TreeModel_Class::get_value_vfunc_callback(GtkTreeModel* self, GtkTreeIter* iter, gint column, GValue* value)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1210,43 +1233,47 @@ void TreeModel_Class::get_value_vfunc_callback(GtkTreeModel* self, GtkTreeIter*
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->get_value_vfunc(Gtk::TreeModel::iterator(self, iter)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->get_value_vfunc(Gtk::TreeModel::iterator(self, iter)
, column
, *reinterpret_cast<Glib::ValueBase*>(value)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_value)
+ (*base->get_value)(self, iter, column, value);
- // Call the original underlying C function:
- if(base && base->get_value)
- (*base->get_value)(self, iter, column, value);
- }
}
#endif //GLIBMM_VFUNCS_ENABLED
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void TreeModel_Class::row_changed_callback(GtkTreeModel* self, GtkTreePath* path, GtkTreeIter* iter)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1254,39 +1281,42 @@ void TreeModel_Class::row_changed_callback(GtkTreeModel* self, GtkTreePath* path
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_row_changed(Gtk::TreePath(path, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_row_changed(Gtk::TreePath(path, true)
, Gtk::TreeModel::iterator(self, iter)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->row_changed)
- (*base->row_changed)(self, path, iter);
- }
+ // Call the original underlying C function:
+ if(base && base->row_changed)
+ (*base->row_changed)(self, path, iter);
}
void TreeModel_Class::row_inserted_callback(GtkTreeModel* self, GtkTreePath* path, GtkTreeIter* iter)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1294,39 +1324,42 @@ void TreeModel_Class::row_inserted_callback(GtkTreeModel* self, GtkTreePath* pat
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_row_inserted(Gtk::TreePath(path, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_row_inserted(Gtk::TreePath(path, true)
, Gtk::TreeModel::iterator(self, iter)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->row_inserted)
- (*base->row_inserted)(self, path, iter);
- }
+ // Call the original underlying C function:
+ if(base && base->row_inserted)
+ (*base->row_inserted)(self, path, iter);
}
void TreeModel_Class::row_has_child_toggled_callback(GtkTreeModel* self, GtkTreePath* path, GtkTreeIter* iter)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1334,39 +1367,42 @@ void TreeModel_Class::row_has_child_toggled_callback(GtkTreeModel* self, GtkTree
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_row_has_child_toggled(Gtk::TreePath(path, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_row_has_child_toggled(Gtk::TreePath(path, true)
, Gtk::TreeModel::iterator(self, iter)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->row_has_child_toggled)
- (*base->row_has_child_toggled)(self, path, iter);
- }
+ // Call the original underlying C function:
+ if(base && base->row_has_child_toggled)
+ (*base->row_has_child_toggled)(self, path, iter);
}
void TreeModel_Class::row_deleted_callback(GtkTreeModel* self, GtkTreePath* path)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1374,38 +1410,41 @@ void TreeModel_Class::row_deleted_callback(GtkTreeModel* self, GtkTreePath* path
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_row_deleted(Gtk::TreePath(path, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_row_deleted(Gtk::TreePath(path, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->row_deleted)
- (*base->row_deleted)(self, path);
- }
+ // Call the original underlying C function:
+ if(base && base->row_deleted)
+ (*base->row_deleted)(self, path);
}
void TreeModel_Class::rows_reordered_callback(GtkTreeModel* self, GtkTreePath* path, GtkTreeIter* iter, gint* new_order)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1413,36 +1452,39 @@ void TreeModel_Class::rows_reordered_callback(GtkTreeModel* self, GtkTreePath* p
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_rows_reordered(Gtk::TreePath(path, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_rows_reordered(Gtk::TreePath(path, true)
, Gtk::TreeModel::iterator(self, iter)
, new_order
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->rows_reordered)
- (*base->rows_reordered)(self, path, iter, new_order);
- }
+ // Call the original underlying C function:
+ if(base && base->rows_reordered)
+ (*base->rows_reordered)(self, path, iter, new_order);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/gtk/gtkmm/treemodel.h b/libs/gtkmm2/gtk/gtkmm/treemodel.h
index 2ac7940a3f..9ff253b481 100644
--- a/libs/gtkmm2/gtk/gtkmm/treemodel.h
+++ b/libs/gtkmm2/gtk/gtkmm/treemodel.h
@@ -181,8 +181,14 @@ private:
protected:
TreeModel(); // you must derive from this class
+
+public:
+ // This is public so that C++ wrapper instances can be
+ // created for C instances of unwrapped types.
+ // For instance, if an unexpected C type implements the C interface.
explicit TreeModel(GtkTreeModel* castitem);
+protected:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
@@ -289,19 +295,17 @@ public:
void foreach(const SlotForeachPathAndIter& slot);
- /** Returns a set of flags supported by this interface. The flags are a bitwise
- * combination of Gtk::TreeModelFlags. The flags supported should not change
- * during the lifecycle of the tree_model.
+ /** Return value: The flags supported by this interface.
* @return The flags supported by this interface.
*/
TreeModelFlags get_flags() const;
- /** Returns the number of columns supported by @a tree_model .
+ /** Return value: The number of columns.
* @return The number of columns.
*/
int get_n_columns() const;
- /** Returns the type of the column.
+ /** Return value: The type of the column.
* @param index The column index.
* @return The type of the column.
*/
@@ -336,9 +340,9 @@ public:
void row_has_child_toggled(const Path& path, const iterator& iter);
/** Emits the "row_deleted" signal on @a tree_model . This should be called by
- * models after a row has been removed. The location pointed to by @a path should
- * be the location that the row previously was at. It may not be a valid
- * location anymore.
+ * models after a row has been removed. The location pointed to by @a path
+ * should be the location that the row previously was at. It may not be a
+ * valid location anymore.
* @param path A Gtk::TreePath pointing to the previous location of the deleted row.
*/
void row_deleted(const Path& path);
@@ -367,8 +371,10 @@ public:
/** Emits the "rows_reordered" signal on @a tree_model . This should be called by
* models when their rows have been reordered.
- * @param path A Gtk::TreePath pointing to the tree node whose children have been reordered.
- * @param iter A valid Gtk::TreeIter pointing to the node whose children have been reordered, or <tt>0</tt> if the depth of @a path is 0.
+ * @param path A Gtk::TreePath pointing to the tree node whose children have been
+ * reordered.
+ * @param iter A valid Gtk::TreeIter pointing to the node whose children have been
+ * reordered, or <tt>0</tt> if the depth of @a path is 0.
* @param new_order An array of integers mapping the current position of each child
* to its old position before the re-ordering,
* i.e. @a new_order <tt>[newpos] = oldpos</tt>.
@@ -387,41 +393,41 @@ public:
Glib::ustring get_string(const iterator& iter) const;
-/**
+ /**
* @par Prototype:
- * <tt>void %row_changed(const TreeModel::Path& path, const TreeModel::iterator& iter)</tt>
+ * <tt>void on_my_%row_changed(const TreeModel::Path& path, const TreeModel::iterator& iter)</tt>
*/
Glib::SignalProxy2< void,const TreeModel::Path&,const TreeModel::iterator& > signal_row_changed();
-/**
+ /**
* @par Prototype:
- * <tt>void %row_inserted(const TreeModel::Path& path, const TreeModel::iterator& iter)</tt>
+ * <tt>void on_my_%row_inserted(const TreeModel::Path& path, const TreeModel::iterator& iter)</tt>
*/
Glib::SignalProxy2< void,const TreeModel::Path&,const TreeModel::iterator& > signal_row_inserted();
-/**
+ /**
* @par Prototype:
- * <tt>void %row_has_child_toggled(const TreeModel::Path& path, const TreeModel::iterator& iter)</tt>
+ * <tt>void on_my_%row_has_child_toggled(const TreeModel::Path& path, const TreeModel::iterator& iter)</tt>
*/
Glib::SignalProxy2< void,const TreeModel::Path&,const TreeModel::iterator& > signal_row_has_child_toggled();
-/**
+ /**
* @par Prototype:
- * <tt>void %row_deleted(const TreeModel::Path& path)</tt>
+ * <tt>void on_my_%row_deleted(const TreeModel::Path& path)</tt>
*/
Glib::SignalProxy1< void,const TreeModel::Path& > signal_row_deleted();
-/**
+ /**
* @par Prototype:
- * <tt>void %rows_reordered(const TreeModel::Path& path, const TreeModel::iterator& iter, int* new_order)</tt>
+ * <tt>void on_my_%rows_reordered(const TreeModel::Path& path, const TreeModel::iterator& iter, int* new_order)</tt>
*/
Glib::SignalProxy3< void,const TreeModel::Path&,const TreeModel::iterator&,int* > signal_rows_reordered();
@@ -663,10 +669,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::TreeModel
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::TreeModel
*/
Glib::RefPtr<Gtk::TreeModel> wrap(GtkTreeModel* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gtk/gtkmm/treemodelcolumn.h b/libs/gtkmm2/gtk/gtkmm/treemodelcolumn.h
index 1ff824c9c9..8e7ebdca1f 100644
--- a/libs/gtkmm2/gtk/gtkmm/treemodelcolumn.h
+++ b/libs/gtkmm2/gtk/gtkmm/treemodelcolumn.h
@@ -67,9 +67,11 @@ class TreeModelColumnBase;
* @link TreeModelColumn TreeModelColumns@endlink contain any real data --
* they merely describe what C++ type is stored in which column
* of a TreeModel, and save you from having to repeat that type information in several places.
- * Thus it's absolutely legal to use a statically allocated
+ *
+ * Thus you may use a statically allocated
* TreeModel::ColumnRecord (as long as you make sure it's instantiated after
- * Gtk::Main), even when creating multiple models from it.
+ * Gtk::Main), even when creating multiple models from it. However, it is very difficult to
+ * specify the sequence of allocation of static objects, so this should probably be avoided.
*/
class TreeModelColumnRecord
{
diff --git a/libs/gtkmm2/gtk/gtkmm/treemodelfilter.cc b/libs/gtkmm2/gtk/gtkmm/treemodelfilter.cc
index e19571acf2..b8fa3c2dcb 100644
--- a/libs/gtkmm2/gtk/gtkmm/treemodelfilter.cc
+++ b/libs/gtkmm2/gtk/gtkmm/treemodelfilter.cc
@@ -96,15 +96,17 @@ namespace Gtk
TreeModelFilter::TreeModelFilter(const Glib::RefPtr<TreeModel>& child_model)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Glib::Object(Glib::ConstructParams(treemodelfilter_class_.init(), "child_model",child_model->gobj(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Glib::Object(Glib::ConstructParams(treemodelfilter_class_.init(), "child_model",child_model->gobj(), static_cast<char*>(0)))
{
}
TreeModelFilter::TreeModelFilter(const Glib::RefPtr<TreeModel>& child_model, const TreeModel::Path& virtual_root)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Glib::Object(Glib::ConstructParams(treemodelfilter_class_.init(), "child_model",child_model->gobj(),"virtual_root",(virtual_root.empty() ? 0 : const_cast<GtkTreePath*>((virtual_root).gobj())) , (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Glib::Object(Glib::ConstructParams(treemodelfilter_class_.init(), "child_model",child_model->gobj(),"virtual_root",(virtual_root.empty() ? 0 : const_cast<GtkTreePath*>((virtual_root).gobj())) , static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/treemodelfilter.h b/libs/gtkmm2/gtk/gtkmm/treemodelfilter.h
index 3cd91bf571..56b44593a1 100644
--- a/libs/gtkmm2/gtk/gtkmm/treemodelfilter.h
+++ b/libs/gtkmm2/gtk/gtkmm/treemodelfilter.h
@@ -175,14 +175,14 @@ public:
void set_visible_column(int column);
- /** Returns a pointer to the child model of @a filter .
+ /** Return value: A pointer to a Gtk::TreeModel.
* @return A pointer to a Gtk::TreeModel.
*
* @newin2p4.
*/
Glib::RefPtr<TreeModel> get_model();
- /** Returns a pointer to the child model of @a filter .
+ /** Return value: A pointer to a Gtk::TreeModel.
* @return A pointer to a Gtk::TreeModel.
*
* @newin2p4.
@@ -210,7 +210,8 @@ public:
/** Converts @a child_path to a path relative to @a filter . That is, @a child_path
* points to a path in the child model. The rerturned path will point to the
* same row in the filtered model. If @a child_path isn't a valid path on the
- * child model, then <tt>0</tt> is returned.
+ * child model or points to a row which is not visible in @a filter , then <tt>0</tt>
+ * is returned.
* @deprecated Use convert_child_path_to_path(const Path& child_path) const
* @param child_path A Gtk::TreePath to convert.
* @return A newly allocated Gtk::TreePath, or <tt>0</tt>.
@@ -240,7 +241,8 @@ public:
/** Converts @a child_path to a path relative to @a filter . That is, @a child_path
* points to a path in the child model. The rerturned path will point to the
* same row in the filtered model. If @a child_path isn't a valid path on the
- * child model, then <tt>0</tt> is returned.
+ * child model or points to a row which is not visible in @a filter , then <tt>0</tt>
+ * is returned.
* @param child_path A Gtk::TreePath to convert.
* @return A newly allocated Gtk::TreePath, or <tt>0</tt>.
*
@@ -272,7 +274,7 @@ public:
* ref_node(). This might be useful if the child model
* being filtered is static (and doesn't change often) and there has been
* a lot of unreffed access to nodes. As a side effect of this function,
- * all unreffed itters will be invalid.
+ * all unreffed iters will be invalid.
*
* @newin2p4
*/
@@ -306,10 +308,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::TreeModelFilter
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::TreeModelFilter
*/
Glib::RefPtr<Gtk::TreeModelFilter> wrap(GtkTreeModelFilter* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/treemodelsort.cc b/libs/gtkmm2/gtk/gtkmm/treemodelsort.cc
index 4c0c8e8966..25118b3105 100644
--- a/libs/gtkmm2/gtk/gtkmm/treemodelsort.cc
+++ b/libs/gtkmm2/gtk/gtkmm/treemodelsort.cc
@@ -182,8 +182,9 @@ GType TreeModelSort::get_base_type()
TreeModelSort::TreeModelSort(const Glib::RefPtr<TreeModel>& model)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Glib::Object(Glib::ConstructParams(treemodelsort_class_.init(), "model", Glib::unwrap(model), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Glib::Object(Glib::ConstructParams(treemodelsort_class_.init(), "model", Glib::unwrap(model), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/treemodelsort.h b/libs/gtkmm2/gtk/gtkmm/treemodelsort.h
index 1b0f861c50..576ee899a2 100644
--- a/libs/gtkmm2/gtk/gtkmm/treemodelsort.h
+++ b/libs/gtkmm2/gtk/gtkmm/treemodelsort.h
@@ -117,12 +117,12 @@ public:
static Glib::RefPtr<TreeModelSort> create(const Glib::RefPtr<TreeModel>& model);
- /** Returns the model the Gtk::TreeModelSort is sorting.
+ /** Return value: the "child model" being sorted
* @return The "child model" being sorted.
*/
Glib::RefPtr<TreeModel> get_model();
- /** Returns the model the Gtk::TreeModelSort is sorting.
+ /** Return value: the "child model" being sorted
* @return The "child model" being sorted.
*/
Glib::RefPtr<const TreeModel> get_model() const;
@@ -220,10 +220,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::TreeModelSort
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::TreeModelSort
*/
Glib::RefPtr<Gtk::TreeModelSort> wrap(GtkTreeModelSort* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/treepath.h b/libs/gtkmm2/gtk/gtkmm/treepath.h
index dff5b457d9..11ff318d50 100644
--- a/libs/gtkmm2/gtk/gtkmm/treepath.h
+++ b/libs/gtkmm2/gtk/gtkmm/treepath.h
@@ -3,6 +3,8 @@
#ifndef _GTKMM_TREEPATH_H
#define _GTKMM_TREEPATH_H
+#include <gtkmmconfig.h>
+
#include <glibmm.h>
@@ -25,6 +27,9 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+
#include <gtkmm/treemodel.h>
#include <gtkmm/selectiondata.h>
@@ -170,7 +175,8 @@ public:
*/
void next();
- /** Moves the @a path to point to the previous node at the current depth, if it exists.
+ /** Moves the @a path to point to the previous node at the current depth,
+ * if it exists.
* @return <tt>true</tt> if @a path has a previous node, and the move was made.
*/
bool prev();
@@ -185,13 +191,13 @@ public:
void down();
- /** Returns <tt>true</tt> if @a descendant is a descendant of @a path .
+ /** Return value: <tt>true</tt> if @a descendant is contained inside @a path
* @param descendant Another Gtk::TreePath.
* @return <tt>true</tt> if @a descendant is contained inside @a path .
*/
bool is_ancestor(const TreePath& descendant) const;
- /** Returns <tt>true</tt> if @a path is a descendant of @a ancestor .
+ /** Return value: <tt>true</tt> if @a ancestor contains @a path somewhere below it
* @param ancestor Another Gtk::TreePath.
* @return <tt>true</tt> if @a ancestor contains @a path somewhere below it.
*/
@@ -229,7 +235,7 @@ public:
#ifndef GTKMM_DISABLE_DEPRECATED
- /** Returns the current depth of @a path .
+ /** Return value: The depth of @a path
* @deprecated replaced by size().
* @return The depth of @a path .
*/
@@ -396,10 +402,13 @@ inline void swap(TreePath& lhs, TreePath& rhs)
namespace Glib
{
-/** @relates Gtk::TreePath
- * @param object The C instance
+/** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::TreePath
*/
Gtk::TreePath wrap(GtkTreePath* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gtk/gtkmm/treerowreference.h b/libs/gtkmm2/gtk/gtkmm/treerowreference.h
index 640addf509..eaba3fb878 100644
--- a/libs/gtkmm2/gtk/gtkmm/treerowreference.h
+++ b/libs/gtkmm2/gtk/gtkmm/treerowreference.h
@@ -86,33 +86,29 @@ public:
operator bool() const;
- /** Returns a path that the row reference currently points to, or <tt>0</tt> if the
- * path pointed to is no longer valid.
+ /** Return value: A current path, or <tt>0</tt>.
* @return A current path, or <tt>0</tt>.
*/
TreeModel::Path get_path() const;
- /** Returns the model which @a reference is monitoring in order to appropriately
- * the path.
- * @return The model, or <tt>0</tt>.
+ /** Return value: the model
+ * @return The model
*
* @newin2p8.
*/
Glib::RefPtr<TreeModel> get_model();
- /** Returns the model which @a reference is monitoring in order to appropriately
- * the path.
- * @return The model, or <tt>0</tt>.
+ /** Return value: the model
+ * @return The model
*
* @newin2p8.
*/
Glib::RefPtr<const TreeModel> get_model() const;
- /** Returns <tt>true</tt> if the %reference is non-<tt>0</tt> and refers to a current valid
- * path.
- * @return <tt>true</tt> if %reference points to a valid path.
+ /** Return value: <tt>true</tt> if @a reference points to a valid path.
+ * @return <tt>true</tt> if @a reference points to a valid path.
*/
bool is_valid() const;
@@ -137,10 +133,13 @@ inline void swap(TreeRowReference& lhs, TreeRowReference& rhs)
namespace Glib
{
-/** @relates Gtk::TreeRowReference
- * @param object The C instance
+/** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::TreeRowReference
*/
Gtk::TreeRowReference wrap(GtkTreeRowReference* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gtk/gtkmm/treeselection.cc b/libs/gtkmm2/gtk/gtkmm/treeselection.cc
index 5c7ab95564..44a4dd0e47 100644
--- a/libs/gtkmm2/gtk/gtkmm/treeselection.cc
+++ b/libs/gtkmm2/gtk/gtkmm/treeselection.cc
@@ -277,7 +277,7 @@ void TreeSelection_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void TreeSelection_Class::changed_callback(GtkTreeSelection* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -285,32 +285,35 @@ void TreeSelection_Class::changed_callback(GtkTreeSelection* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->changed)
- (*base->changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->changed)
+ (*base->changed)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/gtk/gtkmm/treeselection.h b/libs/gtkmm2/gtk/gtkmm/treeselection.h
index e0bf0ce9f3..371b2b179e 100644
--- a/libs/gtkmm2/gtk/gtkmm/treeselection.h
+++ b/libs/gtkmm2/gtk/gtkmm/treeselection.h
@@ -154,12 +154,12 @@ public:
// This would be our SignalProxy_Select* data.
- /** Returns the tree view associated with @a selection .
+ /** Return value: A Gtk::TreeView
* @return A Gtk::TreeView.
*/
TreeView* get_tree_view();
- /** Returns the tree view associated with @a selection .
+ /** Return value: A Gtk::TreeView
* @return A Gtk::TreeView.
*/
const TreeView* get_tree_view() const;
@@ -209,7 +209,7 @@ public:
ListHandle_Path get_selected_rows(Glib::RefPtr<TreeModel>& model);
- /** Returns the number of rows that have been selected in @a tree .
+ /** Return value: The number of rows selected.
* @return The number of rows selected.
*
* @newin2p2.
@@ -312,14 +312,13 @@ public:
void unselect(const TreeModel::iterator& iter);
- /** Returns <tt>true</tt> if the row pointed to by @a path is currently selected. If @a path
- * does not point to a valid location, <tt>false</tt> is returned
+ /** Return value: <tt>true</tt> if @a path is selected.
* @param path A Gtk::TreePath to check selection on.
* @return <tt>true</tt> if @a path is selected.
*/
bool is_selected(const TreeModel::Path& path) const;
- /** Returns <tt>true</tt> if the row at @a iter is currently selected.
+ /** Return value: <tt>true</tt>, if @a iter is selected
* @param iter A valid Gtk::TreeIter.
* @return <tt>true</tt>, if @a iter is selected.
*/
@@ -336,9 +335,9 @@ public:
void unselect_all();
-/**
+ /**
* @par Prototype:
- * <tt>void %changed()</tt>
+ * <tt>void on_my_%changed()</tt>
*/
Glib::SignalProxy0< void > signal_changed();
@@ -369,10 +368,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::TreeSelection
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::TreeSelection
*/
Glib::RefPtr<Gtk::TreeSelection> wrap(GtkTreeSelection* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/treesortable.cc b/libs/gtkmm2/gtk/gtkmm/treesortable.cc
index 7150a99858..58210aa566 100644
--- a/libs/gtkmm2/gtk/gtkmm/treesortable.cc
+++ b/libs/gtkmm2/gtk/gtkmm/treesortable.cc
@@ -121,7 +121,7 @@ namespace Glib
Glib::RefPtr<Gtk::TreeSortable> wrap(GtkTreeSortable* object, bool take_copy)
{
- return Glib::RefPtr<Gtk::TreeSortable>( dynamic_cast<Gtk::TreeSortable*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ return Glib::RefPtr<Gtk::TreeSortable>( dynamic_cast<Gtk::TreeSortable*> (Glib::wrap_auto_interface<Gtk::TreeSortable> ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance.
}
@@ -174,7 +174,7 @@ void TreeSortable_Class::iface_init_function(void* g_iface, void*)
#ifdef GLIBMM_VFUNCS_ENABLED
gboolean TreeSortable_Class::get_sort_column_id_vfunc_callback(GtkTreeSortable* self, int* sort_column_id, GtkSortType* order)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -182,41 +182,44 @@ gboolean TreeSortable_Class::get_sort_column_id_vfunc_callback(GtkTreeSortable*
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->get_sort_column_id_vfunc(sort_column_id, ((SortType*) (order))
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->get_sort_column_id_vfunc(sort_column_id, ((SortType*) (order))
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_sort_column_id)
+ return (*base->get_sort_column_id)(self, sort_column_id, order);
- // Call the original underlying C function:
- if(base && base->get_sort_column_id)
- return (*base->get_sort_column_id)(self, sort_column_id, order);
- }
typedef gboolean RType;
return RType();
}
void TreeSortable_Class::set_sort_column_id_vfunc_callback(GtkTreeSortable* self, int sort_column_id, GtkSortType order)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -224,38 +227,42 @@ void TreeSortable_Class::set_sort_column_id_vfunc_callback(GtkTreeSortable* self
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->set_sort_column_id_vfunc(sort_column_id, ((SortType)(order))
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->set_sort_column_id_vfunc(sort_column_id, ((SortType)(order))
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->set_sort_column_id)
+ (*base->set_sort_column_id)(self, sort_column_id, order);
- // Call the original underlying C function:
- if(base && base->set_sort_column_id)
- (*base->set_sort_column_id)(self, sort_column_id, order);
- }
}
void TreeSortable_Class::set_sort_func_vfunc_callback(GtkTreeSortable* self, int sort_column_id, GtkTreeIterCompareFunc func, gpointer data, GtkDestroyNotify destroy)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -263,38 +270,42 @@ void TreeSortable_Class::set_sort_func_vfunc_callback(GtkTreeSortable* self, int
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->set_sort_func_vfunc(sort_column_id, func, data
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->set_sort_func_vfunc(sort_column_id, func, data
, destroy);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->set_sort_func)
+ (*base->set_sort_func)(self, sort_column_id, func, data, destroy);
- // Call the original underlying C function:
- if(base && base->set_sort_func)
- (*base->set_sort_func)(self, sort_column_id, func, data, destroy);
- }
}
void TreeSortable_Class::set_default_sort_func_vfunc_callback(GtkTreeSortable* self, GtkTreeIterCompareFunc func, gpointer data, GtkDestroyNotify destroy)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -302,38 +313,42 @@ void TreeSortable_Class::set_default_sort_func_vfunc_callback(GtkTreeSortable* s
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->set_default_sort_func_vfunc(func, data
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->set_default_sort_func_vfunc(func, data
, destroy);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->set_default_sort_func)
+ (*base->set_default_sort_func)(self, func, data, destroy);
- // Call the original underlying C function:
- if(base && base->set_default_sort_func)
- (*base->set_default_sort_func)(self, func, data, destroy);
- }
}
gboolean TreeSortable_Class::has_default_sort_func_vfunc_callback(GtkTreeSortable* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -341,40 +356,43 @@ gboolean TreeSortable_Class::has_default_sort_func_vfunc_callback(GtkTreeSortabl
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->has_default_sort_func_vfunc());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->has_default_sort_func_vfunc());
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->has_default_sort_func)
+ return (*base->has_default_sort_func)(self);
- // Call the original underlying C function:
- if(base && base->has_default_sort_func)
- return (*base->has_default_sort_func)(self);
- }
typedef gboolean RType;
return RType();
}
void TreeSortable_Class::sort_column_changed_vfunc_callback(GtkTreeSortable* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -382,40 +400,44 @@ void TreeSortable_Class::sort_column_changed_vfunc_callback(GtkTreeSortable* sel
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->sort_column_changed_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->sort_column_changed_vfunc();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
-) );
+) );
+
+ // Call the original underlying C function:
+ if(base && base->sort_column_changed)
+ (*base->sort_column_changed)(self);
- // Call the original underlying C function:
- if(base && base->sort_column_changed)
- (*base->sort_column_changed)(self);
- }
}
#endif //GLIBMM_VFUNCS_ENABLED
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void TreeSortable_Class::sort_column_changed_callback(GtkTreeSortable* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -423,33 +445,36 @@ void TreeSortable_Class::sort_column_changed_callback(GtkTreeSortable* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_sort_column_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_sort_column_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
) );
- // Call the original underlying C function:
- if(base && base->sort_column_changed)
- (*base->sort_column_changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->sort_column_changed)
+ (*base->sort_column_changed)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/gtk/gtkmm/treesortable.h b/libs/gtkmm2/gtk/gtkmm/treesortable.h
index 514d4181b7..0fde29145c 100644
--- a/libs/gtkmm2/gtk/gtkmm/treesortable.h
+++ b/libs/gtkmm2/gtk/gtkmm/treesortable.h
@@ -3,6 +3,8 @@
#ifndef _GTKMM_TREESORTABLE_H
#define _GTKMM_TREESORTABLE_H
+#include <gtkmmconfig.h>
+
#include <glibmm.h>
@@ -26,6 +28,10 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+
+
#include <glibmm/interface.h>
#include <gtkmm/enums.h>
#include <gtkmm/treemodelcolumn.h>
@@ -70,8 +76,14 @@ private:
protected:
TreeSortable(); // you must derive from this class
+
+public:
+ // This is public so that C++ wrapper instances can be
+ // created for C instances of unwrapped types.
+ // For instance, if an unexpected C type implements the C interface.
explicit TreeSortable(GtkTreeSortable* castitem);
+protected:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
@@ -184,9 +196,7 @@ public:
void unset_default_sort_func();
- /** Returns <tt>true</tt> if the model has a default sort function. This is used
- * primarily by GtkTreeViewColumns in order to determine if a model can go back
- * to the default state, or not.
+ /** Return value: <tt>true</tt>, if the model has a default sort function
* @return <tt>true</tt>, if the model has a default sort function.
*/
bool has_default_sort_func() const;
@@ -196,9 +206,9 @@ public:
*/
void sort_column_changed();
-/**
+ /**
* @par Prototype:
- * <tt>void %sort_column_changed()</tt>
+ * <tt>void on_my_%sort_column_changed()</tt>
*/
Glib::SignalProxy0< void > signal_sort_column_changed();
@@ -255,10 +265,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::TreeSortable
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::TreeSortable
*/
Glib::RefPtr<Gtk::TreeSortable> wrap(GtkTreeSortable* object, bool take_copy = false);
diff --git a/libs/gtkmm2/gtk/gtkmm/treestore.cc b/libs/gtkmm2/gtk/gtkmm/treestore.cc
index e38fdeb739..21642a0d07 100644
--- a/libs/gtkmm2/gtk/gtkmm/treestore.cc
+++ b/libs/gtkmm2/gtk/gtkmm/treestore.cc
@@ -32,8 +32,9 @@ namespace Gtk
TreeStore::TreeStore(const TreeModelColumnRecord& columns)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Glib::Object(Glib::ConstructParams(treestore_class_.init(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Glib::Object(Glib::ConstructParams(treestore_class_.init()))
{
gtk_tree_store_set_column_types(gobj(), columns.size(), const_cast<GType*>(columns.types()));
}
@@ -255,7 +256,8 @@ GType TreeStore::get_base_type()
TreeStore::TreeStore()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(treestore_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/treestore.h b/libs/gtkmm2/gtk/gtkmm/treestore.h
index d947c7a2ca..f7a2e47115 100644
--- a/libs/gtkmm2/gtk/gtkmm/treestore.h
+++ b/libs/gtkmm2/gtk/gtkmm/treestore.h
@@ -215,16 +215,14 @@ public:
*/
void clear();
- /** Returns <tt>true</tt> if @a iter is an ancestor of @a descendant . That is, @a iter is the
- * parent (or grandparent or great-grandparent) of @a descendant .
+ /** Return value: <tt>true</tt>, if @a iter is an ancestor of @a descendant
* @param iter A valid Gtk::TreeIter.
* @param descendant A valid Gtk::TreeIter.
* @return <tt>true</tt>, if @a iter is an ancestor of @a descendant .
*/
bool is_ancestor(const iterator& iter, const iterator& descendant) const;
- /** Returns the depth of @a iter . This will be 0 for anything on the root level, 1
- * for anything down a level, etc.
+ /** Return value: The depth of @a iter
* @param iter A valid Gtk::TreeIter.
* @return The depth of @a iter .
*/
@@ -270,10 +268,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::TreeStore
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::TreeStore
*/
Glib::RefPtr<Gtk::TreeStore> wrap(GtkTreeStore* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/treeview.cc b/libs/gtkmm2/gtk/gtkmm/treeview.cc
index e43f7a2df9..ee2d019fd0 100644
--- a/libs/gtkmm2/gtk/gtkmm/treeview.cc
+++ b/libs/gtkmm2/gtk/gtkmm/treeview.cc
@@ -5,7 +5,7 @@
#include <gtkmm/private/treeview_p.h>
#include <gtk/gtktypebuiltins.h>
-// -*- c++ -*-
+// -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
/* $Id$ */
/* Copyright 2002 The gtkmm Development Team
@@ -173,7 +173,7 @@ void TreeView::get_cursor(TreeModel::Path& path, TreeViewColumn*& focus_column)
GtkTreeViewColumn* pTreeViewColumn = 0;
gtk_tree_view_get_cursor(gobj(), &pTreePath, &pTreeViewColumn);
- path = TreeModel::Path(pTreePath, true);
+ path = TreeModel::Path(pTreePath, false); /* Use the existing underlying GtkTreePath instance without copying and freeing, because gtk_tree_view_get_cursor() gives us ownernship. */
focus_column = Glib::wrap(pTreeViewColumn);
}
@@ -456,8 +456,51 @@ void TreeView::unset_model()
gtk_tree_view_set_model(gobj(), 0);
}
-} // namespace Gtk
+bool
+TreeView::get_tooltip_context_path(int& x, int& y,
+ bool keyboard_tip,
+ TreeModel::Path& path)
+{
+ //It's cleaner to use a temporary C++ object and get a C pointer to it,
+ //because GtkTreePath is a simple struct, not a GtkObject, so
+ //gtk_tree_path_new() would be necessary. markoa.
+ TreeModel::Path tmp_path;
+ GtkTreePath* cpath = tmp_path.gobj();
+
+ gboolean result =
+ gtk_tree_view_get_tooltip_context(gobj(),
+ &x, &y,
+ keyboard_tip,
+ 0,
+ &cpath,
+ 0);
+ path = Glib::wrap(cpath, false /* take_copy=false */);
+
+ return result;
+}
+
+bool
+TreeView::get_tooltip_context_iter(int& x, int& y,
+ bool keyboard_tip,
+ Gtk::TreeModel::iterator& iter)
+{
+ GtkTreeIter src_iter;
+
+ gboolean result =
+ gtk_tree_view_get_tooltip_context(gobj(),
+ &x, &y,
+ keyboard_tip,
+ 0,
+ 0,
+ &src_iter);
+
+ iter = TreeIter(gtk_tree_view_get_model(this->gobj()), &src_iter);
+
+ return result;
+}
+
+} // namespace Gtk
namespace
{
@@ -824,7 +867,7 @@ void TreeView_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void TreeView_Class::set_scroll_adjustments_callback(GtkTreeView* self, GtkAdjustment* p0, GtkAdjustment* p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -832,38 +875,41 @@ void TreeView_Class::set_scroll_adjustments_callback(GtkTreeView* self, GtkAdjus
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_set_scroll_adjustments(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_set_scroll_adjustments(Glib::wrap(p0)
, Glib::wrap(p1)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->set_scroll_adjustments)
- (*base->set_scroll_adjustments)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->set_scroll_adjustments)
+ (*base->set_scroll_adjustments)(self, p0, p1);
}
void TreeView_Class::row_activated_callback(GtkTreeView* self, GtkTreePath* p0, GtkTreeViewColumn* p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -871,38 +917,41 @@ void TreeView_Class::row_activated_callback(GtkTreeView* self, GtkTreePath* p0,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_row_activated(Gtk::TreePath(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_row_activated(Gtk::TreePath(p0, true)
, Glib::wrap(p1)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->row_activated)
- (*base->row_activated)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->row_activated)
+ (*base->row_activated)(self, p0, p1);
}
gboolean TreeView_Class::test_expand_row_callback(GtkTreeView* self, GtkTreeIter* p0, GtkTreePath* p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -910,41 +959,43 @@ gboolean TreeView_Class::test_expand_row_callback(GtkTreeView* self, GtkTreeIter
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_test_expand_row(TreeModel::iterator(gtk_tree_view_get_model(self), p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_test_expand_row(TreeModel::iterator(gtk_tree_view_get_model(self), p0)
, Gtk::TreePath(p1, true)
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->test_expand_row)
- return (*base->test_expand_row)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->test_expand_row)
+ return (*base->test_expand_row)(self, p0, p1);
typedef gboolean RType;
return RType();
}
gboolean TreeView_Class::test_collapse_row_callback(GtkTreeView* self, GtkTreeIter* p0, GtkTreePath* p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -952,41 +1003,43 @@ gboolean TreeView_Class::test_collapse_row_callback(GtkTreeView* self, GtkTreeIt
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_test_collapse_row(TreeModel::iterator(gtk_tree_view_get_model(self), p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_test_collapse_row(TreeModel::iterator(gtk_tree_view_get_model(self), p0)
, Gtk::TreePath(p1, true)
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->test_collapse_row)
- return (*base->test_collapse_row)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->test_collapse_row)
+ return (*base->test_collapse_row)(self, p0, p1);
typedef gboolean RType;
return RType();
}
void TreeView_Class::row_expanded_callback(GtkTreeView* self, GtkTreeIter* p0, GtkTreePath* p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -994,38 +1047,41 @@ void TreeView_Class::row_expanded_callback(GtkTreeView* self, GtkTreeIter* p0, G
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_row_expanded(TreeModel::iterator(gtk_tree_view_get_model(self), p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_row_expanded(TreeModel::iterator(gtk_tree_view_get_model(self), p0)
, Gtk::TreePath(p1, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->row_expanded)
- (*base->row_expanded)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->row_expanded)
+ (*base->row_expanded)(self, p0, p1);
}
void TreeView_Class::row_collapsed_callback(GtkTreeView* self, GtkTreeIter* p0, GtkTreePath* p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1033,38 +1089,41 @@ void TreeView_Class::row_collapsed_callback(GtkTreeView* self, GtkTreeIter* p0,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_row_collapsed(TreeModel::iterator(gtk_tree_view_get_model(self), p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_row_collapsed(TreeModel::iterator(gtk_tree_view_get_model(self), p0)
, Gtk::TreePath(p1, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->row_collapsed)
- (*base->row_collapsed)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->row_collapsed)
+ (*base->row_collapsed)(self, p0, p1);
}
void TreeView_Class::cursor_changed_callback(GtkTreeView* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1072,36 +1131,39 @@ void TreeView_Class::cursor_changed_callback(GtkTreeView* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_cursor_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_cursor_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->cursor_changed)
- (*base->cursor_changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->cursor_changed)
+ (*base->cursor_changed)(self);
}
void TreeView_Class::columns_changed_callback(GtkTreeView* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -1109,32 +1171,35 @@ void TreeView_Class::columns_changed_callback(GtkTreeView* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_columns_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_columns_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->columns_changed)
- (*base->columns_changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->columns_changed)
+ (*base->columns_changed)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -1180,15 +1245,17 @@ GType TreeView::get_base_type()
TreeView::TreeView()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Container(Glib::ConstructParams(treeview_class_.init()))
{
}
TreeView::TreeView(const Glib::RefPtr<TreeModel>& model)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Container(Glib::ConstructParams(treeview_class_.init(), "model", Glib::unwrap(model), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Container(Glib::ConstructParams(treeview_class_.init(), "model", Glib::unwrap(model), static_cast<char*>(0)))
{
}
@@ -1557,6 +1624,36 @@ void TreeView::set_search_entry(Entry& entry)
gtk_tree_view_set_search_entry(gobj(), (entry).gobj());
}
+void TreeView::convert_widget_to_tree_coords(int wx, int wy, int& tx, int& ty) const
+{
+gtk_tree_view_convert_widget_to_tree_coords(const_cast<GtkTreeView*>(gobj()), wx, wy, &tx, &ty);
+}
+
+void TreeView::convert_tree_to_widget_coords(int tx, int ty, int& wx, int& wy) const
+{
+gtk_tree_view_convert_tree_to_widget_coords(const_cast<GtkTreeView*>(gobj()), tx, ty, &wx, &wy);
+}
+
+void TreeView::convert_widget_to_bin_window_coords(int wx, int wy, int& bx, int& by) const
+{
+gtk_tree_view_convert_widget_to_bin_window_coords(const_cast<GtkTreeView*>(gobj()), wx, wy, &bx, &by);
+}
+
+void TreeView::convert_bin_window_to_widget_coords(int bx, int by, int& wx, int& wy) const
+{
+gtk_tree_view_convert_bin_window_to_widget_coords(const_cast<GtkTreeView*>(gobj()), bx, by, &wx, &wy);
+}
+
+void TreeView::convert_tree_to_bin_window_coords(int tx, int ty, int& bx, int& by) const
+{
+gtk_tree_view_convert_tree_to_bin_window_coords(const_cast<GtkTreeView*>(gobj()), tx, ty, &bx, &by);
+}
+
+void TreeView::convert_bin_window_to_tree_coords(int bx, int by, int& tx, int& ty) const
+{
+gtk_tree_view_convert_bin_window_to_tree_coords(const_cast<GtkTreeView*>(gobj()), bx, by, &tx, &ty);
+}
+
void TreeView::set_fixed_height_mode(bool enable)
{
gtk_tree_view_set_fixed_height_mode(gobj(), static_cast<int>(enable));
@@ -1597,6 +1694,11 @@ bool TreeView::get_rubber_banding() const
return gtk_tree_view_get_rubber_banding(const_cast<GtkTreeView*>(gobj()));
}
+bool TreeView::is_rubber_banding_active() const
+{
+ return gtk_tree_view_is_rubber_banding_active(const_cast<GtkTreeView*>(gobj()));
+}
+
void TreeView::set_grid_lines(TreeViewGridLines grid_lines)
{
gtk_tree_view_set_grid_lines(gobj(), ((GtkTreeViewGridLines)(grid_lines)));
@@ -1617,6 +1719,46 @@ bool TreeView::get_enable_tree_lines() const
return gtk_tree_view_get_enable_tree_lines(const_cast<GtkTreeView*>(gobj()));
}
+void TreeView::set_show_expanders(bool enabled)
+{
+gtk_tree_view_set_show_expanders(gobj(), static_cast<int>(enabled));
+}
+
+bool TreeView::get_show_expanders() const
+{
+ return gtk_tree_view_get_show_expanders(const_cast<GtkTreeView*>(gobj()));
+}
+
+void TreeView::set_level_indentation(int indentation)
+{
+gtk_tree_view_set_level_indentation(gobj(), indentation);
+}
+
+int TreeView::get_level_indentation() const
+{
+ return gtk_tree_view_get_level_indentation(const_cast<GtkTreeView*>(gobj()));
+}
+
+void TreeView::set_tooltip_row(const Glib::RefPtr<Tooltip>& tooltip, const TreePath& path)
+{
+gtk_tree_view_set_tooltip_row(gobj(), Glib::unwrap(tooltip), const_cast<GtkTreePath*>((path).gobj()));
+}
+
+void TreeView::set_tooltip_cell(const Glib::RefPtr<Tooltip>& tooltip, const TreeModel::Path* path, TreeViewColumn* column, CellRenderer* cell)
+{
+gtk_tree_view_set_tooltip_cell(gobj(), Glib::unwrap(tooltip), ((path) ? const_cast<GtkTreePath*>((path)->gobj()) : 0), (GtkTreeViewColumn*)Glib::unwrap(column), (GtkCellRenderer*)Glib::unwrap(cell));
+}
+
+void TreeView::set_tooltip_column(int column)
+{
+gtk_tree_view_set_tooltip_column(gobj(), column);
+}
+
+int TreeView::get_tooltip_column() const
+{
+ return gtk_tree_view_get_tooltip_column(const_cast<GtkTreeView*>(gobj()));
+}
+
Glib::SignalProxy2< void,Adjustment*,Adjustment* > TreeView::signal_set_scroll_adjustments()
{
diff --git a/libs/gtkmm2/gtk/gtkmm/treeview.h b/libs/gtkmm2/gtk/gtkmm/treeview.h
index 0be6852163..3e81865f03 100644
--- a/libs/gtkmm2/gtk/gtkmm/treeview.h
+++ b/libs/gtkmm2/gtk/gtkmm/treeview.h
@@ -3,6 +3,8 @@
#ifndef _GTKMM_TREEVIEW_H
#define _GTKMM_TREEVIEW_H
+#include <gtkmmconfig.h>
+
#include <glibmm.h>
@@ -25,6 +27,10 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+
+
#include <glibmm/listhandle.h>
#include <gtkmm/container.h>
#include <gtkmm/adjustment.h>
@@ -35,6 +41,7 @@
#include <gtkmm/cellrenderer.h>
#include <gtkmm/targetentry.h>
#include <gtkmm/entry.h>
+#include <gtkmm/tooltip.h>
#ifndef DOXYGEN_SHOULD_SKIP_THIS
@@ -252,14 +259,12 @@ public:
explicit TreeView(const Glib::RefPtr<TreeModel>& model);
- /** Returns the model the Gtk::TreeView is based on. Returns <tt>0</tt> if the
- * model is unset.
+ /** Return value: A Gtk::TreeModel, or <tt>0</tt> if none is currently being used.
* @return A Gtk::TreeModel, or <tt>0</tt> if none is currently being used.
*/
Glib::RefPtr<TreeModel> get_model();
- /** Returns the model the Gtk::TreeView is based on. Returns <tt>0</tt> if the
- * model is unset.
+ /** Return value: A Gtk::TreeModel, or <tt>0</tt> if none is currently being used.
* @return A Gtk::TreeModel, or <tt>0</tt> if none is currently being used.
*/
Glib::RefPtr<const TreeModel> get_model() const;
@@ -332,7 +337,7 @@ public:
void unset_vadjustment();
- /** Returns <tt>true</tt> if the headers on the @a tree_view are visible.
+ /** Return value: Whether the headers are visible or not.
* @return Whether the headers are visible or not.
*/
bool get_headers_visible() const;
@@ -347,6 +352,11 @@ public:
*/
void columns_autosize();
+ /** Return value: <tt>true</tt> if all header columns are clickable, otherwise <tt>false</tt>
+ * @return <tt>true</tt> if all header columns are clickable, otherwise <tt>false</tt>
+ *
+ * @newin2p10.
+ */
bool get_headers_clickable() const;
/** Allow the column title buttons to be clicked.
@@ -597,14 +607,12 @@ public:
void reset_expander_column();
- /** Returns the column that is the current expander column. This
- * column has the expander arrow drawn next to it.
+ /** Return value: The expander column.
* @return The expander column.
*/
TreeViewColumn* get_expander_column();
- /** Returns the column that is the current expander column. This
- * column has the expander arrow drawn next to it.
+ /** Return value: The expander column.
* @return The expander column.
*/
const TreeViewColumn* get_expander_column() const;
@@ -640,7 +648,7 @@ public:
/** Scrolls the tree view such that the top-left corner of the visible
* area is @a tree_x , @a tree_y , where @a tree_x and @a tree_y are specified
- * in tree window coordinates. The @a tree_view must be realized before
+ * in tree coordinates. The @a tree_view must be realized before
* this function is called. If it isn't, you probably want to be
* using scroll_to_cell().
*
@@ -778,7 +786,7 @@ public:
void map_expanded_rows(const SlotMapping& slot);
- /** Returns <tt>true</tt> if the node pointed to by @a path is expanded in @a tree_view .
+ /** Return value: <tt>true</tt> if #path is expanded.
* @param path A Gtk::TreePath to test expansion state.
* @return <tt>true</tt> if #path is expanded.
*/
@@ -859,16 +867,12 @@ public:
/* Layout information */
- /** Returns the window that @a tree_view renders to. This is used primarily to
- * compare to <tt>event->window</tt> to confirm that the event on
- * @a tree_view is on the right window.
+ /** Return value: A Gdk::Window, or <tt>0</tt> when @a tree_view hasn't been realized yet
* @return A Gdk::Window, or <tt>0</tt> when @a tree_view hasn't been realized yet.
*/
Glib::RefPtr<Gdk::Window> get_bin_window();
- /** Returns the window that @a tree_view renders to. This is used primarily to
- * compare to <tt>event->window</tt> to confirm that the event on
- * @a tree_view is on the right window.
+ /** Return value: A Gdk::Window, or <tt>0</tt> when @a tree_view hasn't been realized yet
* @return A Gdk::Window, or <tt>0</tt> when @a tree_view hasn't been realized yet.
*/
Glib::RefPtr<const Gdk::Window> get_bin_window() const;
@@ -968,10 +972,10 @@ public:
#ifndef GTKMM_DISABLE_DEPRECATED
/** Fills @a visible_rect with the currently-visible region of the
- * buffer, in tree coordinates. Convert to widget coordinates with
- * tree_to_widget_coords(). Tree coordinates start at
- * 0,0 for row 0 of the tree, and cover the entire scrollable area of
- * the tree.
+ * buffer, in tree coordinates. Convert to bin_window coordinates with
+ * convert_tree_to_bin_window_coords().
+ * Tree coordinates start at 0,0 for row 0 of the tree, and cover the entire
+ * scrollable area of the tree.
* @deprecated Use the const version.
* @param visible_rect Rectangle to fill.
*/
@@ -980,10 +984,10 @@ public:
/** Fills @a visible_rect with the currently-visible region of the
- * buffer, in tree coordinates. Convert to widget coordinates with
- * tree_to_widget_coords(). Tree coordinates start at
- * 0,0 for row 0 of the tree, and cover the entire scrollable area of
- * the tree.
+ * buffer, in tree coordinates. Convert to bin_window coordinates with
+ * convert_tree_to_bin_window_coords().
+ * Tree coordinates start at 0,0 for row 0 of the tree, and cover the entire
+ * scrollable area of the tree.
* @param visible_rect Rectangle to fill.
*/
void get_visible_rect(Gdk::Rectangle& visible_rect) const;
@@ -991,11 +995,16 @@ public:
#ifndef GTKMM_DISABLE_DEPRECATED
- /** Converts widget coordinates to coordinates for the
- * tree window (the full scrollable area of the tree).
+ /** Converts bin_window coordinates to coordinates for the
+ * tree (the full scrollable area of the tree).
+ *
+ * Deprecated: 2.12: Due to historial reasons the name of this function is
+ * incorrect. For converting coordinates relative to the widget to
+ * bin_window coordinates, please see
+ * convert_widget_to_bin_window_coords().
* @deprecated Use the const version
- * @param wx Widget X coordinate.
- * @param wy Widget Y coordinate.
+ * @param wx X coordinate relative to bin_window.
+ * @param wy Y coordinate relative to bin_window.
* @param tx Return location for tree X coordinate.
* @param ty Return location for tree Y coordinate.
*/
@@ -1003,10 +1012,15 @@ public:
#endif // GTKMM_DISABLE_DEPRECATED
- /** Converts widget coordinates to coordinates for the
- * tree window (the full scrollable area of the tree).
- * @param wx Widget X coordinate.
- * @param wy Widget Y coordinate.
+ /** Converts bin_window coordinates to coordinates for the
+ * tree (the full scrollable area of the tree).
+ *
+ * Deprecated: 2.12: Due to historial reasons the name of this function is
+ * incorrect. For converting coordinates relative to the widget to
+ * bin_window coordinates, please see
+ * convert_widget_to_bin_window_coords().
+ * @param wx X coordinate relative to bin_window.
+ * @param wy Y coordinate relative to bin_window.
* @param tx Return location for tree X coordinate.
* @param ty Return location for tree Y coordinate.
*/
@@ -1016,23 +1030,33 @@ public:
#ifndef GTKMM_DISABLE_DEPRECATED
/** Converts tree coordinates (coordinates in full scrollable area of the tree)
- * to widget coordinates.
+ * to bin_window coordinates.
+ *
+ * Deprecated: 2.12: Due to historial reasons the name of this function is
+ * incorrect. For converting bin_window coordinates to coordinates relative
+ * to bin_window, please see
+ * convert_bin_window_to_widget_coords().
* @deprecated Use the const version.
* @param tx Tree X coordinate.
* @param ty Tree Y coordinate.
- * @param wx Return location for widget X coordinate.
- * @param wy Return location for widget Y coordinate.
+ * @param wx Return location for X coordinate relative to bin_window.
+ * @param wy Return location for Y coordinate relative to bin_window.
*/
void tree_to_widget_coords(int tx, int ty, int& wx, int& wy);
#endif // GTKMM_DISABLE_DEPRECATED
/** Converts tree coordinates (coordinates in full scrollable area of the tree)
- * to widget coordinates.
+ * to bin_window coordinates.
+ *
+ * Deprecated: 2.12: Due to historial reasons the name of this function is
+ * incorrect. For converting bin_window coordinates to coordinates relative
+ * to bin_window, please see
+ * convert_bin_window_to_widget_coords().
* @param tx Tree X coordinate.
* @param ty Tree Y coordinate.
- * @param wx Return location for widget X coordinate.
- * @param wy Return location for widget Y coordinate.
+ * @param wx Return location for X coordinate relative to bin_window.
+ * @param wy Return location for Y coordinate relative to bin_window.
*/
void tree_to_widget_coords(int tx, int ty, int& wx, int& wy) const;
@@ -1142,8 +1166,7 @@ public:
*/
void set_enable_search(bool enable_search = true);
- /** Returns whether or not the tree allows to start interactive searching
- * by typing in text.
+ /** Return value: whether or not to let the user search interactively
* @return Whether or not to let the user search interactively.
*/
bool get_enable_search() const;
@@ -1189,10 +1212,29 @@ public:
void set_search_equal_func(const SlotSearchEqual& slot);
+ /** Return value: the entry currently in use as search entry.
+ * @return The entry currently in use as search entry.
+ *
+ * @newin2p10.
+ */
Entry* get_search_entry();
+ /** Return value: the entry currently in use as search entry.
+ * @return The entry currently in use as search entry.
+ *
+ * @newin2p10.
+ */
const Entry* get_search_entry() const;
+ /** Sets the entry which the interactive search code will use for this
+ * @a tree_view . This is useful when you want to provide a search entry
+ * in our interface at all time at a fixed position. Passing <tt>0</tt> for
+ * @a entry will make the interactive search code use the built-in popup
+ * entry again.
+ *
+ * @newin2p10
+ * @param entry The entry the interactive search code of @a tree_view should use or <tt>0</tt>.
+ */
void set_search_entry(Entry& entry);
///void on_search_position(Gtk::Widget* search_dialog)
@@ -1200,6 +1242,73 @@ public:
void set_search_position_func(const SlotSearchPosition& slot);
+ /** Converts widget coordinates to coordinates for the
+ * tree (the full scrollable area of the tree).
+ *
+ * @newin2p12
+ * @param wx X coordinate relative to the widget.
+ * @param wy Y coordinate relative to the widget.
+ * @param tx Return location for tree X coordinate.
+ * @param ty Return location for tree Y coordinate.
+ */
+ void convert_widget_to_tree_coords(int wx, int wy, int& tx, int& ty) const;
+
+ /** Converts tree coordinates (coordinates in full scrollable area of the tree)
+ * to widget coordinates.
+ *
+ * @newin2p12
+ * @param tx X coordinate relative to the tree.
+ * @param ty Y coordinate relative to the tree.
+ * @param wx Return location for widget X coordinate.
+ * @param wy Return location for widget Y coordinate.
+ */
+ void convert_tree_to_widget_coords(int tx, int ty, int& wx, int& wy) const;
+
+ /** Converts widget coordinates to coordinates for the bin_window
+ * (see get_bin_window()).
+ *
+ * @newin2p12
+ * @param wx X coordinate relative to the widget.
+ * @param wy Y coordinate relative to the widget.
+ * @param bx Return location for bin_window X coordinate.
+ * @param by Return location for bin_window Y coordinate.
+ */
+ void convert_widget_to_bin_window_coords(int wx, int wy, int& bx, int& by) const;
+
+ /** Converts bin_window coordinates (see get_bin_window())
+ * to widget relative coordinates.
+ *
+ * @newin2p12
+ * @param bx Bin_window X coordinate.
+ * @param by Bin_window Y coordinate.
+ * @param wx Return location for widget X coordinate.
+ * @param wy Return location for widget Y coordinate.
+ */
+ void convert_bin_window_to_widget_coords(int bx, int by, int& wx, int& wy) const;
+
+ /** Converts tree coordinates (coordinates in full scrollable area of the tree)
+ * to bin_window coordinates.
+ *
+ * @newin2p12
+ * @param tx Tree X coordinate.
+ * @param ty Tree Y coordinate.
+ * @param bx Return location for X coordinate relative to bin_window.
+ * @param by Return location for Y coordinate relative to bin_window.
+ */
+ void convert_tree_to_bin_window_coords(int tx, int ty, int& bx, int& by) const;
+
+ /** Converts bin_window coordinates to coordinates for the
+ * tree (the full scrollable area of the tree).
+ *
+ * @newin2p12
+ * @param bx X coordinate relative to bin_window.
+ * @param by Y coordinate relative to bin_window.
+ * @param tx Return location for tree X coordinate.
+ * @param ty Return location for tree Y coordinate.
+ */
+ void convert_bin_window_to_tree_coords(int bx, int by, int& tx, int& ty) const;
+
+
/** Enables or disables the fixed height mode of @a tree_view .
* Fixed height mode speeds up Gtk::TreeView by assuming that all
* rows have the same height.
@@ -1211,7 +1320,7 @@ public:
*/
void set_fixed_height_mode(bool enable = true);
- /** Returns whether fixed height mode is turned on for @a tree_view .
+ /** Return value: <tt>true</tt> if @a tree_view is in fixed height mode
* @return <tt>true</tt> if @a tree_view is in fixed height mode
*
* @newin2p6.
@@ -1228,7 +1337,7 @@ public:
*/
void set_hover_selection(bool hover = true);
- /** Returns whether hover selection mode is turned on for @a tree_view .
+ /** Return value: <tt>true</tt> if @a tree_view is in hover selection mode
* @return <tt>true</tt> if @a tree_view is in hover selection mode
*
* @newin2p6.
@@ -1244,17 +1353,39 @@ public:
*/
void set_hover_expand(bool expand = true);
- /** Returns whether hover expansion mode is turned on for @a tree_view .
+ /** Return value: <tt>true</tt> if @a tree_view is in hover expansion mode
* @return <tt>true</tt> if @a tree_view is in hover expansion mode
*
* @newin2p6.
*/
bool get_hover_expand() const;
+ /** Enables or disables rubber banding in @a tree_view . If the selection mode
+ * is Gtk::SELECTION_MULTIPLE, rubber banding will allow the user to select
+ * multiple rows by dragging the mouse.
+ *
+ * @newin2p10
+ * @param enable <tt>true</tt> to enable rubber banding.
+ */
void set_rubber_banding(bool enable = true);
+ /** Return value: <tt>true</tt> if rubber banding in @a tree_view is enabled.
+ * @return <tt>true</tt> if rubber banding in @a tree_view is enabled.
+ *
+ * @newin2p10.
+ */
bool get_rubber_banding() const;
+ //TODO: Rename to get_is?
+
+ /** Return value: <tt>true</tt> if a rubber banding operation is currently being
+ * @return <tt>true</tt> if a rubber banding operation is currently being
+ * done in @a tree_view .
+ *
+ * @newin2p12.
+ */
+ bool is_rubber_banding_active() const;
+
/** For instance,
* void on_row_separator(const Gtk::TreeModel& model, const Gtk::TreeModel::iterator& iter);
*/
@@ -1263,75 +1394,224 @@ public:
void set_row_separator_func(const SlotRowSeparator& slot);
+ /** Sets which grid lines to draw in @a tree_view .
+ *
+ * @newin2p10
+ * @param grid_lines A Gtk::TreeViewGridLines value indicating which grid lines to
+ * enable.
+ */
void set_grid_lines(TreeViewGridLines grid_lines);
+ /** Return value: a Gtk::TreeViewGridLines value indicating which grid lines
+ * @return A Gtk::TreeViewGridLines value indicating which grid lines
+ * are enabled.
+ *
+ * @newin2p10.
+ */
TreeViewGridLines get_grid_lines() const;
+ /** Sets whether to draw lines interconnecting the expanders in @a tree_view .
+ * This does not have any visible effects for lists.
+ *
+ * @newin2p10
+ * @param enabled <tt>true</tt> to enable tree line drawing, <tt>false</tt> otherwise.
+ */
void set_enable_tree_lines(bool enable = true);
+ /** Return value: <tt>true</tt> if tree lines are drawn in @a tree_view , <tt>false</tt>
+ * @return <tt>true</tt> if tree lines are drawn in @a tree_view , <tt>false</tt>
+ * otherwise.
+ *
+ * @newin2p10.
+ */
bool get_enable_tree_lines() const;
+
+ /** Sets whether to draw and enable expanders and indent child rows in
+ * @a tree_view . When disabled there will be no expanders visible in trees
+ * and there will be no way to expand and collapse rows by default. Also
+ * note that hiding the expanders will disable the default indentation. You
+ * can set a custom indentation in this case using
+ * set_level_indentation().
+ * This does not have any visible effects for lists.
+ *
+ * @newin2p12
+ * @param enabled <tt>true</tt> to enable expander drawing, <tt>false</tt> otherwise.
+ */
+ void set_show_expanders(bool enabled = true);
+
+ /** Return value: <tt>true</tt> if expanders are drawn in @a tree_view , <tt>false</tt>
+ * @return <tt>true</tt> if expanders are drawn in @a tree_view , <tt>false</tt>
+ * otherwise.
+ *
+ * @newin2p12.
+ */
+ bool get_show_expanders() const;
+
+ /** Sets the amount of extra indentation for child levels to use in @a tree_view
+ * in addition to the default indentation. The value should be specified in
+ * pixels, a value of 0 disables this feature and in this case only the default
+ * indentation will be used.
+ * This does not have any visible effects for lists.
+ *
+ * @newin2p12
+ * @param indentation The amount, in pixels, of extra indentation in @a tree_view .
+ */
+ void set_level_indentation(int indentation);
+
+ /** Return value: the amount of extra indentation for child levels in
+ * @return The amount of extra indentation for child levels in
+ * @a tree_view . A return value of 0 means that this feature is disabled.
+ *
+ * @newin2p12.
+ */
+ int get_level_indentation() const;
-/**
+
+ /** Sets the tip area of @a tooltip to be the area covered by the row at @a path .
+ * See also gtk_tooltip_set_tip_area().
+ *
+ * @newin2p12
+ * @param tooltip A Gtk::Tooltip.
+ * @param path A Gtk::TreePath.
+ */
+ void set_tooltip_row(const Glib::RefPtr<Tooltip>& tooltip, const TreePath& path);
+
+ //Note that we use pointers instead of references because any one of the 3 arguments may be NULL, and we don't want that many method overloads:
+
+
+ /** Sets the tip area of @a tooltip to the area @a path , @a column and @a cell have
+ * in common. For example if @a path is <tt>0</tt> and @a column is set, the tip
+ * area will be set to the full area covered by @a column . See also
+ * gtk_tooltip_set_tip_area().
+ *
+ * @newin2p12
+ * @param tooltip A Gtk::Tooltip.
+ * @param path A Gtk::TreePath or <tt>0</tt>.
+ * @param column A Gtk::TreeViewColumn or <tt>0</tt>.
+ * @param cell A Gtk::CellRendererText or <tt>0</tt>.
+ */
+ void set_tooltip_cell(const Glib::RefPtr<Tooltip>& tooltip, const TreeModel::Path* path, TreeViewColumn* column, CellRenderer* cell);
+
+
+ /**
+ * @param x: the x coordinate (relative to widget coordinates)
+ * @param y: the y coordinate (relative to widget coordinates)
+ * @param keyboard_tip: whether this is a keyboard tooltip or not
+ * @param path: a reference to receive a Gtk::TreePath
+ *
+ * This function is supposed to be used in a Gtk::Widget::query-tooltip
+ * signal handler for Gtk::TreeView. The x, y and keyboard_tip values
+ * which are received in the signal handler, should be passed to this
+ * function without modification.
+ *
+ * The return value indicates whether there is an tree view row at the given
+ * coordinates (true) or not (false) for mouse tooltips. For keyboard
+ * tooltips the row returned will be the cursor item. When true, then the
+ * path which has been provided will be set to point to
+ * that row and the corresponding model. x and y will always be converted
+ * to be relative to Gtk::TreeView's bin_window if keyboard_tooltip is false.
+ *
+ * Return value: whether or not the given tooltip context points to a row.
+ *
+ * @newin2p12
+ */
+ bool get_tooltip_context_path(int& x, int& y,
+ bool keyboard_tip,
+ TreeModel::Path& path);
+
+ /**
+ * @param x: the x coordinate (relative to widget coordinates)
+ * @param y: the y coordinate (relative to widget coordinates)
+ * @param keyboard_tip: whether this is a keyboard tooltip or not
+ * @param iter: a pointer to receive a Gtk::TreeIter
+ *
+ * This function is supposed to be used in a Gtk::Widget::query-tooltip
+ * signal handler for Gtk::TreeView. The x, y and keyboard_tip values
+ * which are received in the signal handler, should be passed to this
+ * function without modification.
+ *
+ * The return value indicates whether there is an tree view row at the given
+ * coordinates (true) or not (false) for mouse tooltips. For keyboard
+ * tooltips the row returned will be the cursor item. When true, then the
+ * iter which has been provided will be set to point to
+ * that row and the corresponding model. x and y will always be converted
+ * to be relative to Gtk::TreeView's bin_window if keyboard_tooltip is false.
+ *
+ * Return value: whether or not the given tooltip context points to a row.
+ *
+ * @newin2p12
+ */
+ bool get_tooltip_context_iter(int& x, int& y,
+ bool keyboard_tip,
+ Gtk::TreeModel::iterator& iter);
+
+
+ void set_tooltip_column(int column);
+
+ int get_tooltip_column() const;
+
+
+ /**
* @par Prototype:
- * <tt>void %set_scroll_adjustments(Adjustment* hadjustment, Adjustment* vadjustment)</tt>
+ * <tt>void on_my_%set_scroll_adjustments(Adjustment* hadjustment, Adjustment* vadjustment)</tt>
*/
Glib::SignalProxy2< void,Adjustment*,Adjustment* > signal_set_scroll_adjustments();
-/**
+ /**
* @par Prototype:
- * <tt>void %row_activated(const TreeModel::Path& path, TreeViewColumn* column)</tt>
+ * <tt>void on_my_%row_activated(const TreeModel::Path& path, TreeViewColumn* column)</tt>
*/
Glib::SignalProxy2< void,const TreeModel::Path&,TreeViewColumn* > signal_row_activated();
-/**
+ /**
* @par Prototype:
- * <tt>bool %test_expand_row(const TreeModel::iterator& iter, const TreeModel::Path& path)</tt>
+ * <tt>bool on_my_%test_expand_row(const TreeModel::iterator& iter, const TreeModel::Path& path)</tt>
*/
Glib::SignalProxy2< bool,const TreeModel::iterator&,const TreeModel::Path& > signal_test_expand_row();
-/**
+ /**
* @par Prototype:
- * <tt>bool %test_collapse_row(const TreeModel::iterator& iter, const TreeModel::Path& path)</tt>
+ * <tt>bool on_my_%test_collapse_row(const TreeModel::iterator& iter, const TreeModel::Path& path)</tt>
*/
Glib::SignalProxy2< bool,const TreeModel::iterator&,const TreeModel::Path& > signal_test_collapse_row();
-/**
+ /**
* @par Prototype:
- * <tt>void %row_expanded(const TreeModel::iterator& iter, const TreeModel::Path& path)</tt>
+ * <tt>void on_my_%row_expanded(const TreeModel::iterator& iter, const TreeModel::Path& path)</tt>
*/
Glib::SignalProxy2< void,const TreeModel::iterator&,const TreeModel::Path& > signal_row_expanded();
-/**
+ /**
* @par Prototype:
- * <tt>void %row_collapsed(const TreeModel::iterator& iter, const TreeModel::Path& path)</tt>
+ * <tt>void on_my_%row_collapsed(const TreeModel::iterator& iter, const TreeModel::Path& path)</tt>
*/
Glib::SignalProxy2< void,const TreeModel::iterator&,const TreeModel::Path& > signal_row_collapsed();
-/**
+ /**
* @par Prototype:
- * <tt>void %cursor_changed()</tt>
+ * <tt>void on_my_%cursor_changed()</tt>
*/
Glib::SignalProxy0< void > signal_cursor_changed();
-/**
+ /**
* @par Prototype:
- * <tt>void %columns_changed()</tt>
+ * <tt>void on_my_%columns_changed()</tt>
*/
Glib::SignalProxy0< void > signal_columns_changed();
@@ -2204,10 +2484,13 @@ void _auto_cell_data_func(Gtk::CellRenderer* cell, const Gtk::TreeModel::iterato
namespace Glib
{
- /** @relates Gtk::TreeView
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::TreeView
*/
Gtk::TreeView* wrap(GtkTreeView* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/treeviewcolumn.cc b/libs/gtkmm2/gtk/gtkmm/treeviewcolumn.cc
index 97d84d629d..968054b6a2 100644
--- a/libs/gtkmm2/gtk/gtkmm/treeviewcolumn.cc
+++ b/libs/gtkmm2/gtk/gtkmm/treeviewcolumn.cc
@@ -39,14 +39,16 @@ const Glib::Class& TreeViewColumn::class_init_()
TreeViewColumn::TreeViewColumn(const Glib::ustring& title)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Object(Glib::ConstructParams(treeviewcolumn_class_.init(), "title",title.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Object(Glib::ConstructParams(treeviewcolumn_class_.init(), "title",title.c_str(), static_cast<char*>(0)))
{}
TreeViewColumn::TreeViewColumn(const Glib::ustring& title, Gtk::CellRenderer& cell)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Object(Glib::ConstructParams(treeviewcolumn_class_.init(), "title",title.c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Object(Glib::ConstructParams(treeviewcolumn_class_.init(), "title",title.c_str(), static_cast<char*>(0)))
{
//This is equivalent to _gtk_tree_view_column_new_with_attributes().
//You will also need to call add_atrribute(), or set_renderer() a few times.
@@ -206,7 +208,7 @@ void TreeViewColumn_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void TreeViewColumn_Class::clicked_callback(GtkTreeViewColumn* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -214,32 +216,35 @@ void TreeViewColumn_Class::clicked_callback(GtkTreeViewColumn* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_clicked();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_clicked();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->clicked)
- (*base->clicked)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->clicked)
+ (*base->clicked)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -285,7 +290,8 @@ GType TreeViewColumn::get_base_type()
TreeViewColumn::TreeViewColumn()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Object(Glib::ConstructParams(treeviewcolumn_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/treeviewcolumn.h b/libs/gtkmm2/gtk/gtkmm/treeviewcolumn.h
index e6ba175e46..319cf28df1 100644
--- a/libs/gtkmm2/gtk/gtkmm/treeviewcolumn.h
+++ b/libs/gtkmm2/gtk/gtkmm/treeviewcolumn.h
@@ -3,6 +3,8 @@
#ifndef _GTKMM_TREEVIEWCOLUMN_H
#define _GTKMM_TREEVIEWCOLUMN_H
+#include <gtkmmconfig.h>
+
#include <glibmm.h>
@@ -25,6 +27,10 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+
+
#include <gtkmm/object.h>
#include <gtkmm/treeiter.h>
#include <gtkmm/widget.h>
@@ -303,7 +309,7 @@ public:
*/
void set_spacing(int spacing);
- /** Returns the spacing of @a tree_column .
+ /** Return value: the spacing of @a tree_column .
* @return The spacing of @a tree_column .
*/
int get_spacing() const;
@@ -313,7 +319,7 @@ public:
*/
void set_visible(bool visible = true);
- /** Returns <tt>true</tt> if @a tree_column is visible.
+ /** Return value: whether the column is visible or not. If it is visible, then
* @return Whether the column is visible or not. If it is visible, then
* the tree will show the column.
*/
@@ -327,7 +333,7 @@ public:
*/
void set_resizable(bool resizable = true);
- /** Returns <tt>true</tt> if the @a tree_column can be resized by the end user.
+ /** Return value: <tt>true</tt>, if the @a tree_column can be resized.
* @return <tt>true</tt>, if the @a tree_column can be resized.
*/
bool get_resizable() const;
@@ -337,12 +343,12 @@ public:
*/
void set_sizing(TreeViewColumnSizing type);
- /** Returns the current type of @a tree_column .
+ /** Return value: The type of @a tree_column .
* @return The type of @a tree_column .
*/
TreeViewColumnSizing get_sizing();
- /** Returns the current size of @a tree_column in pixels.
+ /** Return value: The current width of @a tree_column .
* @return The current width of @a tree_column .
*/
int get_width() const;
@@ -368,8 +374,7 @@ public:
*/
void set_min_width(int min_width);
- /** Returns the minimum width in pixels of the @a tree_column , or -1 if no minimum
- * width is set.
+ /** Return value: The minimum width of the @a tree_column .
* @return The minimum width of the @a tree_column .
*/
int get_min_width() const;
@@ -382,8 +387,7 @@ public:
*/
void set_max_width(int max_width);
- /** Returns the maximum width in pixels of the @a tree_column , or -1 if no maximum
- * width is set.
+ /** Return value: The maximum width of the @a tree_column .
* @return The maximum width of the @a tree_column .
*/
int get_max_width() const;
@@ -400,7 +404,7 @@ public:
*/
void set_title(const Glib::ustring& title);
- /** Returns the title of the widget.
+ /** Return value: the title of the column. This string should not be
* @return The title of the column. This string should not be
* modified or freed.
*/
@@ -431,7 +435,7 @@ public:
*/
void set_clickable(bool clickable = true);
- /** Returns <tt>true</tt> if the user can click on the header for the column.
+ /** Return value: <tt>true</tt> if user can click the column header.
* @return <tt>true</tt> if user can click the column header.
*/
bool get_clickable() const;
@@ -442,14 +446,12 @@ public:
*/
void set_widget(Gtk::Widget& widget);
- /** Returns the Gtk::Widget in the button on the column header. If a custom
- * widget has not been set then <tt>0</tt> is returned.
+ /** Return value: The Gtk::Widget in the column header, or <tt>0</tt>
* @return The Gtk::Widget in the column header, or <tt>0</tt>.
*/
Widget* get_widget();
- /** Returns the Gtk::Widget in the button on the column header. If a custom
- * widget has not been set then <tt>0</tt> is returned.
+ /** Return value: The Gtk::Widget in the column header, or <tt>0</tt>
* @return The Gtk::Widget in the column header, or <tt>0</tt>.
*/
const Widget* get_widget() const;
@@ -470,8 +472,7 @@ public:
void set_alignment(AlignmentEnum xalign);
- /** Returns the current x alignment of @a tree_column . This value can range
- * between 0.0 and 1.0.
+ /** Return value: The current alignent of @a tree_column .
* @return The current alignent of @a tree_column .
*/
float get_alignment() const;
@@ -482,7 +483,7 @@ public:
*/
void set_reorderable(bool reorderable = true);
- /** Returns <tt>true</tt> if the @a tree_column can be reordered by the user.
+ /** Return value: <tt>true</tt> if the @a tree_column can be reordered by the user.
* @return <tt>true</tt> if the @a tree_column can be reordered by the user.
*/
bool get_reorderable() const;
@@ -575,9 +576,7 @@ public:
*/
void cell_get_size(Gdk::Rectangle& cell_area, int& x_offset, int& y_offset, int& width, int& height) const;
- /** Returns <tt>true</tt> if any of the cells packed into the @a tree_column are visible.
- * For this to be meaningful, you must first initialize the cells with
- * cell_set_cell_data()
+ /** Return value: <tt>true</tt>, if any of the cells packed into the @a tree_column are currently visible
* @return <tt>true</tt>, if any of the cells packed into the @a tree_column are currently visible.
*/
bool cell_is_visible() const;
@@ -610,9 +609,9 @@ public:
void queue_resize();
-/**
+ /**
* @par Prototype:
- * <tt>void %clicked()</tt>
+ * <tt>void on_my_%clicked()</tt>
*/
Glib::SignalProxy0< void > signal_clicked();
@@ -942,10 +941,13 @@ TreeViewColumn::TreeViewColumn(const Glib::ustring& title,
namespace Glib
{
- /** @relates Gtk::TreeViewColumn
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::TreeViewColumn
*/
Gtk::TreeViewColumn* wrap(GtkTreeViewColumn* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/uimanager.cc b/libs/gtkmm2/gtk/gtkmm/uimanager.cc
index f38daaa209..4691b1b8db 100644
--- a/libs/gtkmm2/gtk/gtkmm/uimanager.cc
+++ b/libs/gtkmm2/gtk/gtkmm/uimanager.cc
@@ -307,7 +307,7 @@ void UIManager_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void UIManager_Class::add_widget_callback(GtkUIManager* self, GtkWidget* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -315,37 +315,40 @@ void UIManager_Class::add_widget_callback(GtkUIManager* self, GtkWidget* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_add_widget(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_add_widget(Glib::wrap(p0)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->add_widget)
- (*base->add_widget)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->add_widget)
+ (*base->add_widget)(self, p0);
}
void UIManager_Class::actions_changed_callback(GtkUIManager* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -353,32 +356,35 @@ void UIManager_Class::actions_changed_callback(GtkUIManager* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_actions_changed();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_actions_changed();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->actions_changed)
- (*base->actions_changed)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->actions_changed)
+ (*base->actions_changed)(self);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -426,7 +432,8 @@ GType UIManager::get_base_type()
UIManager::UIManager()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(uimanager_class_.init()))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/uimanager.h b/libs/gtkmm2/gtk/gtkmm/uimanager.h
index 9abb6c714e..6e7b6c583f 100644
--- a/libs/gtkmm2/gtk/gtkmm/uimanager.h
+++ b/libs/gtkmm2/gtk/gtkmm/uimanager.h
@@ -41,7 +41,7 @@ namespace Gtk
{ class UIManager_Class; } // namespace Gtk
namespace Gtk
{
-
+
/** @addtogroup gtkmmEnums Enums and Flags */
/**
@@ -119,6 +119,149 @@ namespace Gtk
{
+/** Constructing menus and toolbars from an XML description.
+ *
+ * A Gtk::UIManager constructs a user interface (menus and toolbars) from one or more UI definitions,
+ * which reference actions from one or more action groups.
+ *
+ * \par UI Definitions
+ *
+ * The UI definitions are specified in an XML format which can be roughly described by the following DTD.
+ * \code
+ * <!ELEMENT ui (menubar|toolbar|popup|accelerator)* >
+ * <!ELEMENT menubar (menuitem|separator|placeholder|menu)* >
+ * <!ELEMENT menu (menuitem|separator|placeholder|menu)* >
+ * <!ELEMENT popup (menuitem|separator|placeholder|menu)* >
+ * <!ELEMENT toolbar (toolitem|separator|placeholder)* >
+ * <!ELEMENT placeholder (menuitem|toolitem|separator|placeholder|menu)* >
+ * <!ELEMENT menuitem EMPTY >
+ * <!ELEMENT toolitem (menu?) >
+ * <!ELEMENT separator EMPTY >
+ * <!ELEMENT accelerator EMPTY >
+ * <!ATTLIST menubar name #IMPLIED
+ * action #IMPLIED >
+ * <!ATTLIST toolbar name #IMPLIED
+ * action #IMPLIED >
+ * <!ATTLIST popup name #IMPLIED
+ * action #IMPLIED >
+ * <!ATTLIST placeholder name #IMPLIED
+ * action #IMPLIED >
+ * <!ATTLIST separator name #IMPLIED
+ * action #IMPLIED
+ * expand (true|false) #IMPLIED >
+ * <!ATTLIST menu name #IMPLIED
+ * action #REQUIRED
+ * position (top|bot) #IMPLIED >
+ * <!ATTLIST menuitem name #IMPLIED
+ * action #REQUIRED
+ * position (top|bot) #IMPLIED >
+ * <!ATTLIST toolitem name #IMPLIED
+ * action #REQUIRED
+ * position (top|bot) #IMPLIED >
+ * <!ATTLIST accelerator name #IMPLIED
+ * action #REQUIRED >
+ * \endcode
+ *
+ * There are some additional restrictions beyond those specified in the DTD, e.g.
+ * every toolitem must have a toolbar in its anchestry and every menuitem must have a +
+ * menubar or popup in its anchestry. Since a GMarkup parser is used to parse the UI description,
+ * it must not only be valid XML, but valid GMarkup.
+ *
+ * If a name is not specified, it defaults to the action. If an action is not specified either,
+ * the element name is used. The name and action attributes must not contain '/' characters after
+ * parsing (since that would mess up path lookup) and must be usable as XML attributes when
+ * enclosed in doublequotes, thus they must not '"' characters or references to the &quot; entity.
+ *
+ * \par Example: UI Definition
+ * \code
+ * <ui>
+ * <menubar>
+ * <menu name="FileMenu" action="FileMenuAction">
+ * <menuitem name="New" action="New2Action" />
+ * <placeholder name="FileMenuAdditions" />
+ * </menu>
+ * <menu name="JustifyMenu" action="JustifyMenuAction">
+ * <menuitem name="Left" action="justify-left"/>
+ * <menuitem name="Centre" action="justify-center"/>
+ * <menuitem name="Right" action="justify-right"/>
+ * <menuitem name="Fill" action="justify-fill"/>
+ * </menu>
+ * </menubar>
+ * <toolbar action="toolbar1">
+ * <placeholder name="JustifyToolItems">
+ * <separator/>
+ * <toolitem name="Left" action="justify-left"/>
+ * <toolitem name="Centre" action="justify-center"/>
+ * <toolitem name="Right" action="justify-right"/>
+ * <toolitem name="Fill" action="justify-fill"/>
+ * <separator/>
+ * </placeholder>
+ * </toolbar>
+ * </ui>
+ * \endcode
+ *
+ * The constructed widget hierarchy is very similar to the element tree of the XML,
+ * with the exception that placeholders are merged into their parents. The correspondence
+ * of XML elements to widgets should be almost obvious:
+ * - menubar a Gtk::MenuBar
+ * - toolbar a Gtk::Toolbar
+ * - popup a toplevel Gtk::Menu
+ * - menu a Gtk::Menu attached to a menuitem
+ * - menuitem a Gtk::MenuItem subclass, the exact type depends on the action
+ * - toolitem a Gtk::ToolItem subclass, the exact type depends on the action.
+ * Note that toolitem elements may contain a menu element, but only if their
+ * associated action specifies a Gtk::MenuToolButton as proxy.
+ * - separator a Gtk::SeparatorMenuItem or Gtk::SeparatorToolItem
+ * - accelerator a keyboard accelerator
+ *
+ * The "position" attribute determines where a constructed widget is positioned wrt.
+ * to its siblings in the partially constructed tree. If it is "top", the widget is
+ * prepended, otherwise it is appended.
+ *
+ * \par UI Merging
+ *
+ * The most remarkable feature of Gtk::UIManager is that it can overlay a set of menuitems
+ * and toolitems over another one, and demerge them later.
+ *
+ * Merging is done based on the names of the XML elements. Each element is identified by
+ * a path which consists of the names of its anchestors, separated by slashes. For example,
+ * the menuitem named "Left" in the example above has the path /ui/menubar/JustifyMenu/Left
+ * and the toolitem with the same name has path /ui/toolbar1/JustifyToolItems/Left.
+ *
+ * \par Accelerators
+ *
+ * Every action has an accelerator path. Accelerators are installed together with menuitem
+ * proxies, but they can also be explicitly added with <accelerator> elements in the
+ * UI definition. This makes it possible to have accelerators for actions even
+ * if they have no visible proxies.
+ *
+ * \par Smart Separators
+ *
+ * The separators created by Gtk::UIManager are "smart", i.e. they do not show up in
+ * the UI unless they end up between two visible menu or tool items. Separators which are
+ * located at the very beginning or end of the menu or toolbar containing them, or multiple
+ * separators next to each other, are hidden. This is a useful feature, since the merging
+ * of UI elements from multiple sources can make it hard or impossible to determine in
+ * advance whether a separator will end up in such an unfortunate position.
+ *
+ * For separators in toolbars, you can set expand="true" to turn them from a small,
+ * visible separator to an expanding, invisible one. Toolitems following an expanding
+ * separator are effectively right-aligned.
+ *
+ * \par Empty Menus
+ *
+ * Submenus pose similar problems to separators inconnection with merging. It is impossible
+ * to know in advance whether they will end up empty after merging. Gtk::UIManager offers
+ * two ways to treat empty submenus:
+ *
+ * - make them disappear by hiding the menu item they're attached to
+ * - add an insensitive "Empty" item
+ *
+ * The behaviour is chosen based on the "hide_if_empty" property of the action to which the submenu is associated.
+ *
+ * @newin2p4
+ */
+
class UIManager : public Glib::Object
{
@@ -182,8 +325,7 @@ public:
*/
void set_add_tearoffs(bool add_tearoffs = true);
- /** Returns whether menus generated by this Gtk::UIManager
- * will have tearoff menu items.
+ /** Return value: whether tearoff menu items are added
* @return Whether tearoff menu items are added
*
* @newin2p4.
@@ -209,7 +351,7 @@ public:
void remove_action_group(const Glib::RefPtr<ActionGroup>& action_group);
- /** Returns the list of action groups associated with @a self .
+ /** Return value: a G::List of action groups. The list is owned by GTK+
* @return A G::List of action groups. The list is owned by GTK+
* and should not be modified.
*
@@ -217,7 +359,7 @@ public:
*/
Glib::ListHandle< Glib::RefPtr<ActionGroup> > get_action_groups();
- /** Returns the list of action groups associated with @a self .
+ /** Return value: a G::List of action groups. The list is owned by GTK+
* @return A G::List of action groups. The list is owned by GTK+
* and should not be modified.
*
@@ -226,14 +368,14 @@ public:
Glib::ListHandle< Glib::RefPtr<const ActionGroup> > get_action_groups() const;
- /** Returns the Gtk::AccelGroup associated with @a self .
+ /** Return value: the Gtk::AccelGroup.
* @return The Gtk::AccelGroup.
*
* @newin2p4.
*/
Glib::RefPtr<AccelGroup> get_accel_group();
- /** Returns the Gtk::AccelGroup associated with @a self .
+ /** Return value: the Gtk::AccelGroup.
* @return The Gtk::AccelGroup.
*
* @newin2p4.
@@ -440,8 +582,7 @@ public:
*/
void ensure_update();
- /** Returns an unused merge id, suitable for use with
- * gtk_ui_manager_add_ui().
+ /** Return value: an unused merge id.
* @return An unused merge id.
*
* @newin2p4.
@@ -453,11 +594,9 @@ public:
* get_widget().
*
* @param widget the added widget
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %add_widget(Widget* widget)</tt>
+ * <tt>void on_my_%add_widget(Widget* widget)</tt>
*/
Glib::SignalProxy1< void,Widget* > signal_add_widget();
@@ -465,11 +604,9 @@ public:
/** The "actions-changed" signal is emitted whenever the set of actions
* changes.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %actions_changed()</tt>
+ * <tt>void on_my_%actions_changed()</tt>
*/
Glib::SignalProxy0< void > signal_actions_changed();
@@ -484,11 +621,9 @@ public:
*
* @param action the action
* @param widget the proxy
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %connect_proxy(const Glib::RefPtr<Action>& action, Widget* widget)</tt>
+ * <tt>void on_my_%connect_proxy(const Glib::RefPtr<Action>& action, Widget* widget)</tt>
*/
Glib::SignalProxy2< void,const Glib::RefPtr<Action>&,Widget* > signal_connect_proxy();
@@ -499,11 +634,9 @@ public:
*
* @param action the action
* @param widget the proxy
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %disconnect_proxy(const Glib::RefPtr<Action>& action, Widget* widget)</tt>
+ * <tt>void on_my_%disconnect_proxy(const Glib::RefPtr<Action>& action, Widget* widget)</tt>
*/
Glib::SignalProxy2< void,const Glib::RefPtr<Action>&,Widget* > signal_disconnect_proxy();
@@ -516,11 +649,9 @@ public:
* just before any action is activated.
*
* @param action the action
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %pre_activate(const Glib::RefPtr<Action>& action)</tt>
+ * <tt>void on_my_%pre_activate(const Glib::RefPtr<Action>& action)</tt>
*/
Glib::SignalProxy1< void,const Glib::RefPtr<Action>& > signal_pre_activate();
@@ -533,11 +664,9 @@ public:
* just after any action is activated.
*
* @param action the action
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %post_activate(const Glib::RefPtr<Action>& action)</tt>
+ * <tt>void on_my_%post_activate(const Glib::RefPtr<Action>& action)</tt>
*/
Glib::SignalProxy1< void,const Glib::RefPtr<Action>& > signal_post_activate();
@@ -600,10 +729,13 @@ protected:
namespace Glib
{
- /** @relates Gtk::UIManager
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::UIManager
*/
Glib::RefPtr<Gtk::UIManager> wrap(GtkUIManager* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/gtk/gtkmm/viewport.cc b/libs/gtkmm2/gtk/gtkmm/viewport.cc
index f908ea78e9..a46da27244 100644
--- a/libs/gtkmm2/gtk/gtkmm/viewport.cc
+++ b/libs/gtkmm2/gtk/gtkmm/viewport.cc
@@ -126,7 +126,7 @@ void Viewport_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Viewport_Class::set_scroll_adjustments_callback(GtkViewport* self, GtkAdjustment* p0, GtkAdjustment* p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -134,34 +134,37 @@ void Viewport_Class::set_scroll_adjustments_callback(GtkViewport* self, GtkAdjus
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_set_scroll_adjustments(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_set_scroll_adjustments(Glib::wrap(p0)
, Glib::wrap(p1)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->set_scroll_adjustments)
- (*base->set_scroll_adjustments)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->set_scroll_adjustments)
+ (*base->set_scroll_adjustments)(self, p0, p1);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -207,8 +210,9 @@ GType Viewport::get_base_type()
Viewport::Viewport(Adjustment& hadjustment, Adjustment& vadjustment)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Bin(Glib::ConstructParams(viewport_class_.init(), "hadjustment", (hadjustment).gobj(), "vadjustment", (vadjustment).gobj(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Bin(Glib::ConstructParams(viewport_class_.init(), "hadjustment", (hadjustment).gobj(), "vadjustment", (vadjustment).gobj(), static_cast<char*>(0)))
{
}
diff --git a/libs/gtkmm2/gtk/gtkmm/viewport.h b/libs/gtkmm2/gtk/gtkmm/viewport.h
index 1b9714587c..f2884a499c 100644
--- a/libs/gtkmm2/gtk/gtkmm/viewport.h
+++ b/libs/gtkmm2/gtk/gtkmm/viewport.h
@@ -111,23 +111,23 @@ public:
explicit Viewport(Adjustment& hadjustment, Adjustment& vadjustment);
- /** Returns the horizontal adjustment of the viewport.
+ /** Return value: the horizontal adjustment of @a viewport .
* @return The horizontal adjustment of @a viewport .
*/
Gtk::Adjustment* get_hadjustment();
- /** Returns the horizontal adjustment of the viewport.
+ /** Return value: the horizontal adjustment of @a viewport .
* @return The horizontal adjustment of @a viewport .
*/
const Gtk::Adjustment* get_hadjustment() const;
- /** Returns the vertical adjustment of the viewport.
+ /** Return value: the vertical adjustment of @a viewport .
* @return The vertical adjustment of @a viewport .
*/
Gtk::Adjustment* get_vadjustment();
- /** Returns the vertical adjustment of the viewport.
+ /** Return value: the vertical adjustment of @a viewport .
* @return The vertical adjustment of @a viewport .
*/
const Gtk::Adjustment* get_vadjustment() const;
@@ -168,9 +168,9 @@ public:
ShadowType get_shadow_type() const;
-/**
+ /**
* @par Prototype:
- * <tt>void %set_scroll_adjustments(Gtk::Adjustment* hadjustment, Gtk::Adjustment* vadjustment)</tt>
+ * <tt>void on_my_%set_scroll_adjustments(Gtk::Adjustment* hadjustment, Gtk::Adjustment* vadjustment)</tt>
*/
Glib::SignalProxy2< void,Gtk::Adjustment*,Gtk::Adjustment* > signal_set_scroll_adjustments();
@@ -244,10 +244,13 @@ public:
namespace Glib
{
- /** @relates Gtk::Viewport
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Viewport
*/
Gtk::Viewport* wrap(GtkViewport* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/volumebutton.cc b/libs/gtkmm2/gtk/gtkmm/volumebutton.cc
new file mode 100644
index 0000000000..8811b320b1
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm/volumebutton.cc
@@ -0,0 +1,155 @@
+// Generated by gtkmmproc -- DO NOT MODIFY!
+
+
+#include <gtkmm/volumebutton.h>
+#include <gtkmm/private/volumebutton_p.h>
+
+// -*- c++ -*-
+/* $Id: volumebutton.ccg,v 1.2 2003/10/18 15:35:31 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2007 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkvolumebutton.h>
+
+namespace Gtk
+{
+
+
+} // namespace Gtk
+
+
+namespace
+{
+} // anonymous namespace
+
+
+namespace Glib
+{
+
+Gtk::VolumeButton* wrap(GtkVolumeButton* object, bool take_copy)
+{
+ return dynamic_cast<Gtk::VolumeButton *> (Glib::wrap_auto ((GObject*)(object), take_copy));
+}
+
+} /* namespace Glib */
+
+namespace Gtk
+{
+
+
+/* The *_Class implementation: */
+
+const Glib::Class& VolumeButton_Class::init()
+{
+ if(!gtype_) // create the GType if necessary
+ {
+ // Glib::Class has to know the class init function to clone custom types.
+ class_init_func_ = &VolumeButton_Class::class_init_function;
+
+ // This is actually just optimized away, apparently with no harm.
+ // Make sure that the parent type has been created.
+ //CppClassParent::CppObjectType::get_type();
+
+ // Create the wrapper type, with the same class/instance size as the base type.
+ register_derived_type(gtk_volume_button_get_type());
+
+ // Add derived versions of interfaces, if the C type implements any interfaces:
+ }
+
+ return *this;
+}
+
+void VolumeButton_Class::class_init_function(void* g_class, void* class_data)
+{
+ BaseClassType *const klass = static_cast<BaseClassType*>(g_class);
+ CppClassParent::class_init_function(klass, class_data);
+
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+}
+
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+
+Glib::ObjectBase* VolumeButton_Class::wrap_new(GObject* o)
+{
+ return manage(new VolumeButton((GtkVolumeButton*)(o)));
+
+}
+
+
+/* The implementation: */
+
+VolumeButton::VolumeButton(const Glib::ConstructParams& construct_params)
+:
+ Gtk::ScaleButton(construct_params)
+{
+ }
+
+VolumeButton::VolumeButton(GtkVolumeButton* castitem)
+:
+ Gtk::ScaleButton((GtkScaleButton*)(castitem))
+{
+ }
+
+VolumeButton::~VolumeButton()
+{
+ destroy_();
+}
+
+VolumeButton::CppClassType VolumeButton::volumebutton_class_; // initialize static member
+
+GType VolumeButton::get_type()
+{
+ return volumebutton_class_.init().get_type();
+}
+
+GType VolumeButton::get_base_type()
+{
+ return gtk_volume_button_get_type();
+}
+
+
+VolumeButton::VolumeButton()
+:
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::ScaleButton(Glib::ConstructParams(volumebutton_class_.init()))
+{
+ }
+
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+
+} // namespace Gtk
+
+
diff --git a/libs/gtkmm2/gtk/gtkmm/volumebutton.h b/libs/gtkmm2/gtk/gtkmm/volumebutton.h
new file mode 100644
index 0000000000..1125653358
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm/volumebutton.h
@@ -0,0 +1,142 @@
+// -*- c++ -*-
+// Generated by gtkmmproc -- DO NOT MODIFY!
+#ifndef _GTKMM_VOLUMEBUTTON_H
+#define _GTKMM_VOLUMEBUTTON_H
+
+
+#include <glibmm.h>
+
+/* $Id: volumebutton.hg,v 1.5 2005/11/30 14:10:49 murrayc Exp $ */
+
+/* volumebutton.h
+ *
+ * Copyright (C) 2007 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/scalebutton.h>
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+typedef struct _GtkVolumeButton GtkVolumeButton;
+typedef struct _GtkVolumeButtonClass GtkVolumeButtonClass;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Gtk
+{ class VolumeButton_Class; } // namespace Gtk
+namespace Gtk
+{
+
+/** A button which pops up a volume control.
+ *
+ * Gtk::VolumeButton is a subclass of Gtk::ScaleButton that has been tailored
+ * for use as a volume control widget with suitable icons, tooltips and
+ * accessible labels.
+ *
+ * @ingroup Widgets
+ * @newin2p12
+ */
+
+class VolumeButton : public ScaleButton
+{
+ public:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ typedef VolumeButton CppObjectType;
+ typedef VolumeButton_Class CppClassType;
+ typedef GtkVolumeButton BaseObjectType;
+ typedef GtkVolumeButtonClass BaseClassType;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+ virtual ~VolumeButton();
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+private:
+ friend class VolumeButton_Class;
+ static CppClassType volumebutton_class_;
+
+ // noncopyable
+ VolumeButton(const VolumeButton&);
+ VolumeButton& operator=(const VolumeButton&);
+
+protected:
+ explicit VolumeButton(const Glib::ConstructParams& construct_params);
+ explicit VolumeButton(GtkVolumeButton* castitem);
+
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+public:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ static GType get_type() G_GNUC_CONST;
+ static GType get_base_type() G_GNUC_CONST;
+#endif
+
+ ///Provides access to the underlying C GtkObject.
+ GtkVolumeButton* gobj() { return reinterpret_cast<GtkVolumeButton*>(gobject_); }
+
+ ///Provides access to the underlying C GtkObject.
+ const GtkVolumeButton* gobj() const { return reinterpret_cast<GtkVolumeButton*>(gobject_); }
+
+
+public:
+ //C++ methods used to invoke GTK+ virtual functions:
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+protected:
+ //GTK+ Virtual Functions (override these to change behaviour):
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+ //Default Signal Handlers::
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+
+private:
+
+public:
+
+ /** Creates a olumeButton, with a range between 0 and 100, with
+ * a stepping of 2. Volume values can be obtained and modified using
+ * the methods from the ScaleButton base class.
+ */
+ VolumeButton();
+
+
+};
+
+
+} // namespace Gtk
+
+
+namespace Glib
+{
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
+ * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
+ * @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::VolumeButton
+ */
+ Gtk::VolumeButton* wrap(GtkVolumeButton* object, bool take_copy = false);
+} //namespace Glib
+
+
+#endif /* _GTKMM_VOLUMEBUTTON_H */
+
diff --git a/libs/gtkmm2/gtk/gtkmm/widget.cc b/libs/gtkmm2/gtk/gtkmm/widget.cc
index f756f57c9a..989975105c 100644
--- a/libs/gtkmm2/gtk/gtkmm/widget.cc
+++ b/libs/gtkmm2/gtk/gtkmm/widget.cc
@@ -33,10 +33,13 @@
#include <gtkmm/container.h>
#include <gtkmm/selectiondata_private.h>
#include <gtkmm/action.h>
+#include <gtkmm/tooltip.h>
#include <gtk/gtkdnd.h>
#include <gtk/gtkselection.h>
#include <gtk/gtkwidget.h>
#include <gtk/gtkcontainer.h>
+#include <gtk/gtkmenu.h>
+#include <gtk/gtkmenuitem.h>
#include <gtk/gtkmain.h>
#include <gtk/gtkaction.h> //For gtk_widget_get_action().
@@ -284,6 +287,11 @@ void Widget::unset_font()
gtk_widget_modify_font(gobj(), 0);
}
+void Widget::unset_cursor()
+{
+ gtk_widget_modify_cursor(gobj(), 0, 0);
+}
+
bool Widget::is_toplevel() const
{ return GTK_WIDGET_TOPLEVEL(gobj()); }
@@ -489,6 +497,15 @@ void Widget_Class::dispose_vfunc_callback(GObject* self)
g_warning("Widget_Class::dispose_vfunc_callback(): after removing from parent.");
#endif
}
+ // Special case for GtkMenu because gtk_menu_attach_to_widget does
+ // not set widget->parent but gtk_menu_item_destroy() destroys the menu
+ // like gtk_container_destroy()
+ // Gtk::Menu does not use a parent widget because it must
+ // be contained in its Gtk::Window so that it can be displayed as a popup.
+ else if (GTK_IS_MENU(pWidget) && GTK_IS_MENU_ITEM(gtk_menu_get_attach_widget(GTK_MENU(pWidget))))
+ {
+ gtk_menu_detach(GTK_MENU(pWidget));
+ }
#ifdef GLIBMM_DEBUG_REFCOUNTING
g_warning("Widget_Class::dispose_vfunc_callback(): before gtk_widget_hide().");
@@ -792,7 +809,7 @@ static const Glib::SignalProxyInfo Widget_signal_hierarchy_changed_info =
static void Widget_signal_style_changed_callback(GtkWidget* self, GtkStyle* p0,void* data)
{
using namespace Gtk;
- typedef sigc::slot< void,const Glib::RefPtr<Style>& > SlotType;
+ typedef sigc::slot< void,const Glib::RefPtr<Gtk::Style>& > SlotType;
// Do not try to call a signal on a disassociated wrapper.
if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
@@ -3160,6 +3177,76 @@ static const Glib::SignalProxyInfo Widget_signal_composited_changed_info =
};
+static gboolean Widget_signal_query_tooltip_callback(GtkWidget* self, gint p0,gint p1,gboolean p2,GtkTooltip* p3,void* data)
+{
+ using namespace Gtk;
+ typedef sigc::slot< bool,int,int,bool,const Glib::RefPtr<Tooltip>& > SlotType;
+
+ // Do not try to call a signal on a disassociated wrapper.
+ if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
+ return static_cast<int>((*static_cast<SlotType*>(slot))(p0
+, p1
+, p2
+, Glib::wrap(p3, true)
+));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+
+ typedef gboolean RType;
+ return RType();
+}
+
+static gboolean Widget_signal_query_tooltip_notify_callback(GtkWidget* self, gint p0,gint p1,gboolean p2,GtkTooltip* p3, void* data)
+{
+ using namespace Gtk;
+ typedef sigc::slot< void,int,int,bool,const Glib::RefPtr<Tooltip>& > SlotType;
+
+ // Do not try to call a signal on a disassociated wrapper.
+ if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
+ (*static_cast<SlotType*>(slot))(p0
+, p1
+, p2
+, Glib::wrap(p3, true)
+);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+
+ typedef gboolean RType;
+ return RType();
+}
+
+static const Glib::SignalProxyInfo Widget_signal_query_tooltip_info =
+{
+ "query_tooltip",
+ (GCallback) &Widget_signal_query_tooltip_callback,
+ (GCallback) &Widget_signal_query_tooltip_notify_callback
+};
+
+
} // anonymous namespace
// static
@@ -3305,7 +3392,7 @@ void Widget_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_VFUNCS_ENABLED
void Widget_Class::dispatch_child_properties_changed_vfunc_callback(GtkWidget* self, guint n_pspecs, GParamSpec** pspecs)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -3313,36 +3400,40 @@ void Widget_Class::dispatch_child_properties_changed_vfunc_callback(GtkWidget* s
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->dispatch_child_properties_changed_vfunc(n_pspecs, pspecs);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->dispatch_child_properties_changed_vfunc(n_pspecs, pspecs);
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->dispatch_child_properties_changed)
+ (*base->dispatch_child_properties_changed)(self, n_pspecs, pspecs);
- // Call the original underlying C function:
- if(base && base->dispatch_child_properties_changed)
- (*base->dispatch_child_properties_changed)(self, n_pspecs, pspecs);
- }
}
void Widget_Class::show_all_vfunc_callback(GtkWidget* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -3350,36 +3441,40 @@ void Widget_Class::show_all_vfunc_callback(GtkWidget* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->show_all_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->show_all_vfunc();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->show_all)
+ (*base->show_all)(self);
- // Call the original underlying C function:
- if(base && base->show_all)
- (*base->show_all)(self);
- }
}
void Widget_Class::hide_all_vfunc_callback(GtkWidget* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -3387,37 +3482,41 @@ void Widget_Class::hide_all_vfunc_callback(GtkWidget* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->hide_all_vfunc();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->hide_all_vfunc();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->hide_all)
+ (*base->hide_all)(self);
- // Call the original underlying C function:
- if(base && base->hide_all)
- (*base->hide_all)(self);
- }
}
#ifdef GTKMM_ATKMM_ENABLED
AtkObject* Widget_Class::get_accessible_vfunc_callback(GtkWidget* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -3425,32 +3524,35 @@ AtkObject* Widget_Class::get_accessible_vfunc_callback(GtkWidget* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return Glib::unwrap(obj->get_accessible_vfunc());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return Glib::unwrap(obj->get_accessible_vfunc());
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
- );
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->get_accessible)
+ return (*base->get_accessible)(self);
- // Call the original underlying C function:
- if(base && base->get_accessible)
- return (*base->get_accessible)(self);
- }
typedef AtkObject* RType;
return RType();
@@ -3461,7 +3563,7 @@ AtkObject* Widget_Class::get_accessible_vfunc_callback(GtkWidget* self)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Widget_Class::show_callback(GtkWidget* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -3469,36 +3571,39 @@ void Widget_Class::show_callback(GtkWidget* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_show();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_show();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->show)
- (*base->show)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->show)
+ (*base->show)(self);
}
void Widget_Class::hide_callback(GtkWidget* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -3506,36 +3611,39 @@ void Widget_Class::hide_callback(GtkWidget* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_hide();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_hide();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->hide)
- (*base->hide)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->hide)
+ (*base->hide)(self);
}
void Widget_Class::map_callback(GtkWidget* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -3543,36 +3651,39 @@ void Widget_Class::map_callback(GtkWidget* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_map();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_map();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->map)
- (*base->map)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->map)
+ (*base->map)(self);
}
void Widget_Class::unmap_callback(GtkWidget* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -3580,36 +3691,39 @@ void Widget_Class::unmap_callback(GtkWidget* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_unmap();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_unmap();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->unmap)
- (*base->unmap)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->unmap)
+ (*base->unmap)(self);
}
void Widget_Class::realize_callback(GtkWidget* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -3617,36 +3731,39 @@ void Widget_Class::realize_callback(GtkWidget* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_realize();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_realize();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->realize)
- (*base->realize)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->realize)
+ (*base->realize)(self);
}
void Widget_Class::unrealize_callback(GtkWidget* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -3654,36 +3771,39 @@ void Widget_Class::unrealize_callback(GtkWidget* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_unrealize();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_unrealize();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->unrealize)
- (*base->unrealize)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->unrealize)
+ (*base->unrealize)(self);
}
void Widget_Class::size_request_callback(GtkWidget* self, GtkRequisition* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -3691,37 +3811,40 @@ void Widget_Class::size_request_callback(GtkWidget* self, GtkRequisition* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_size_request((Requisition*)(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_size_request((Requisition*)(p0)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->size_request)
- (*base->size_request)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->size_request)
+ (*base->size_request)(self, p0);
}
void Widget_Class::size_allocate_callback(GtkWidget* self, GtkAllocation* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -3729,37 +3852,40 @@ void Widget_Class::size_allocate_callback(GtkWidget* self, GtkAllocation* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_size_allocate((Allocation&)(Glib::wrap(p0))
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_size_allocate((Allocation&)(Glib::wrap(p0))
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->size_allocate)
- (*base->size_allocate)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->size_allocate)
+ (*base->size_allocate)(self, p0);
}
void Widget_Class::state_changed_callback(GtkWidget* self, GtkStateType p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -3767,37 +3893,40 @@ void Widget_Class::state_changed_callback(GtkWidget* self, GtkStateType p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_state_changed(((Gtk::StateType)(p0))
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_state_changed(((Gtk::StateType)(p0))
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->state_changed)
- (*base->state_changed)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->state_changed)
+ (*base->state_changed)(self, p0);
}
void Widget_Class::parent_set_callback(GtkWidget* self, GtkWidget* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -3805,37 +3934,40 @@ void Widget_Class::parent_set_callback(GtkWidget* self, GtkWidget* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_parent_changed(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_parent_changed(Glib::wrap(p0)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->parent_set)
- (*base->parent_set)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->parent_set)
+ (*base->parent_set)(self, p0);
}
void Widget_Class::hierarchy_changed_callback(GtkWidget* self, GtkWidget* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -3843,37 +3975,40 @@ void Widget_Class::hierarchy_changed_callback(GtkWidget* self, GtkWidget* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_hierarchy_changed(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_hierarchy_changed(Glib::wrap(p0)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->hierarchy_changed)
- (*base->hierarchy_changed)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->hierarchy_changed)
+ (*base->hierarchy_changed)(self, p0);
}
void Widget_Class::style_set_callback(GtkWidget* self, GtkStyle* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -3881,37 +4016,40 @@ void Widget_Class::style_set_callback(GtkWidget* self, GtkStyle* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_style_changed(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_style_changed(Glib::wrap(p0, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->style_set)
- (*base->style_set)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->style_set)
+ (*base->style_set)(self, p0);
}
void Widget_Class::direction_changed_callback(GtkWidget* self, GtkTextDirection p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -3919,37 +4057,40 @@ void Widget_Class::direction_changed_callback(GtkWidget* self, GtkTextDirection
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_direction_changed(((TextDirection)(p0))
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_direction_changed(((TextDirection)(p0))
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->direction_changed)
- (*base->direction_changed)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->direction_changed)
+ (*base->direction_changed)(self, p0);
}
void Widget_Class::grab_notify_callback(GtkWidget* self, gboolean p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -3957,37 +4098,40 @@ void Widget_Class::grab_notify_callback(GtkWidget* self, gboolean p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_grab_notify(p0
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_grab_notify(p0
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->grab_notify)
- (*base->grab_notify)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->grab_notify)
+ (*base->grab_notify)(self, p0);
}
void Widget_Class::child_notify_callback(GtkWidget* self, GParamSpec* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -3995,36 +4139,39 @@ void Widget_Class::child_notify_callback(GtkWidget* self, GParamSpec* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_child_notify(p0);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_child_notify(p0);
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->child_notify)
- (*base->child_notify)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->child_notify)
+ (*base->child_notify)(self, p0);
}
gboolean Widget_Class::mnemonic_activate_callback(GtkWidget* self, gboolean p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4032,40 +4179,42 @@ gboolean Widget_Class::mnemonic_activate_callback(GtkWidget* self, gboolean p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_mnemonic_activate(p0
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_mnemonic_activate(p0
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->mnemonic_activate)
- return (*base->mnemonic_activate)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->mnemonic_activate)
+ return (*base->mnemonic_activate)(self, p0);
typedef gboolean RType;
return RType();
}
void Widget_Class::grab_focus_callback(GtkWidget* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4073,36 +4222,39 @@ void Widget_Class::grab_focus_callback(GtkWidget* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_grab_focus();
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_grab_focus();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->grab_focus)
- (*base->grab_focus)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->grab_focus)
+ (*base->grab_focus)(self);
}
gboolean Widget_Class::focus_callback(GtkWidget* self, GtkDirectionType p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4110,40 +4262,42 @@ gboolean Widget_Class::focus_callback(GtkWidget* self, GtkDirectionType p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_focus(((DirectionType)(p0))
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_focus(((DirectionType)(p0))
));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->focus)
- return (*base->focus)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->focus)
+ return (*base->focus)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::event_callback(GtkWidget* self, GdkEvent* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4151,39 +4305,41 @@ gboolean Widget_Class::event_callback(GtkWidget* self, GdkEvent* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->event)
- return (*base->event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->event)
+ return (*base->event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::button_press_event_callback(GtkWidget* self, GdkEventButton* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4191,39 +4347,41 @@ gboolean Widget_Class::button_press_event_callback(GtkWidget* self, GdkEventButt
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_button_press_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_button_press_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->button_press_event)
- return (*base->button_press_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->button_press_event)
+ return (*base->button_press_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::button_release_event_callback(GtkWidget* self, GdkEventButton* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4231,39 +4389,41 @@ gboolean Widget_Class::button_release_event_callback(GtkWidget* self, GdkEventBu
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_button_release_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_button_release_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->button_release_event)
- return (*base->button_release_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->button_release_event)
+ return (*base->button_release_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::scroll_event_callback(GtkWidget* self, GdkEventScroll* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4271,39 +4431,41 @@ gboolean Widget_Class::scroll_event_callback(GtkWidget* self, GdkEventScroll* p0
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_scroll_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_scroll_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->scroll_event)
- return (*base->scroll_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->scroll_event)
+ return (*base->scroll_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::motion_notify_event_callback(GtkWidget* self, GdkEventMotion* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4311,39 +4473,41 @@ gboolean Widget_Class::motion_notify_event_callback(GtkWidget* self, GdkEventMot
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_motion_notify_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_motion_notify_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->motion_notify_event)
- return (*base->motion_notify_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->motion_notify_event)
+ return (*base->motion_notify_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::delete_event_callback(GtkWidget* self, GdkEventAny* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4351,39 +4515,41 @@ gboolean Widget_Class::delete_event_callback(GtkWidget* self, GdkEventAny* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_delete_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_delete_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->delete_event)
- return (*base->delete_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->delete_event)
+ return (*base->delete_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::expose_event_callback(GtkWidget* self, GdkEventExpose* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4391,39 +4557,41 @@ gboolean Widget_Class::expose_event_callback(GtkWidget* self, GdkEventExpose* p0
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_expose_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_expose_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->expose_event)
- return (*base->expose_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->expose_event)
+ return (*base->expose_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::key_press_event_callback(GtkWidget* self, GdkEventKey* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4431,39 +4599,41 @@ gboolean Widget_Class::key_press_event_callback(GtkWidget* self, GdkEventKey* p0
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_key_press_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_key_press_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->key_press_event)
- return (*base->key_press_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->key_press_event)
+ return (*base->key_press_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::key_release_event_callback(GtkWidget* self, GdkEventKey* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4471,39 +4641,41 @@ gboolean Widget_Class::key_release_event_callback(GtkWidget* self, GdkEventKey*
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_key_release_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_key_release_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->key_release_event)
- return (*base->key_release_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->key_release_event)
+ return (*base->key_release_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::enter_notify_event_callback(GtkWidget* self, GdkEventCrossing* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4511,39 +4683,41 @@ gboolean Widget_Class::enter_notify_event_callback(GtkWidget* self, GdkEventCros
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_enter_notify_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_enter_notify_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->enter_notify_event)
- return (*base->enter_notify_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->enter_notify_event)
+ return (*base->enter_notify_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::leave_notify_event_callback(GtkWidget* self, GdkEventCrossing* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4551,39 +4725,41 @@ gboolean Widget_Class::leave_notify_event_callback(GtkWidget* self, GdkEventCros
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_leave_notify_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_leave_notify_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->leave_notify_event)
- return (*base->leave_notify_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->leave_notify_event)
+ return (*base->leave_notify_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::configure_event_callback(GtkWidget* self, GdkEventConfigure* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4591,39 +4767,41 @@ gboolean Widget_Class::configure_event_callback(GtkWidget* self, GdkEventConfigu
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_configure_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_configure_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->configure_event)
- return (*base->configure_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->configure_event)
+ return (*base->configure_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::focus_in_event_callback(GtkWidget* self, GdkEventFocus* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4631,39 +4809,41 @@ gboolean Widget_Class::focus_in_event_callback(GtkWidget* self, GdkEventFocus* p
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_focus_in_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_focus_in_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->focus_in_event)
- return (*base->focus_in_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->focus_in_event)
+ return (*base->focus_in_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::focus_out_event_callback(GtkWidget* self, GdkEventFocus* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4671,39 +4851,41 @@ gboolean Widget_Class::focus_out_event_callback(GtkWidget* self, GdkEventFocus*
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_focus_out_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_focus_out_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->focus_out_event)
- return (*base->focus_out_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->focus_out_event)
+ return (*base->focus_out_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::map_event_callback(GtkWidget* self, GdkEventAny* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4711,39 +4893,41 @@ gboolean Widget_Class::map_event_callback(GtkWidget* self, GdkEventAny* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_map_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_map_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->map_event)
- return (*base->map_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->map_event)
+ return (*base->map_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::unmap_event_callback(GtkWidget* self, GdkEventAny* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4751,39 +4935,41 @@ gboolean Widget_Class::unmap_event_callback(GtkWidget* self, GdkEventAny* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_unmap_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_unmap_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->unmap_event)
- return (*base->unmap_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->unmap_event)
+ return (*base->unmap_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::property_notify_event_callback(GtkWidget* self, GdkEventProperty* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4791,39 +4977,41 @@ gboolean Widget_Class::property_notify_event_callback(GtkWidget* self, GdkEventP
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_property_notify_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_property_notify_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->property_notify_event)
- return (*base->property_notify_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->property_notify_event)
+ return (*base->property_notify_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::selection_clear_event_callback(GtkWidget* self, GdkEventSelection* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4831,39 +5019,41 @@ gboolean Widget_Class::selection_clear_event_callback(GtkWidget* self, GdkEventS
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_selection_clear_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_selection_clear_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->selection_clear_event)
- return (*base->selection_clear_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->selection_clear_event)
+ return (*base->selection_clear_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::selection_request_event_callback(GtkWidget* self, GdkEventSelection* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4871,39 +5061,41 @@ gboolean Widget_Class::selection_request_event_callback(GtkWidget* self, GdkEven
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_selection_request_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_selection_request_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->selection_request_event)
- return (*base->selection_request_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->selection_request_event)
+ return (*base->selection_request_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::selection_notify_event_callback(GtkWidget* self, GdkEventSelection* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4911,39 +5103,41 @@ gboolean Widget_Class::selection_notify_event_callback(GtkWidget* self, GdkEvent
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_selection_notify_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_selection_notify_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->selection_notify_event)
- return (*base->selection_notify_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->selection_notify_event)
+ return (*base->selection_notify_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::proximity_in_event_callback(GtkWidget* self, GdkEventProximity* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4951,39 +5145,41 @@ gboolean Widget_Class::proximity_in_event_callback(GtkWidget* self, GdkEventProx
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_proximity_in_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_proximity_in_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->proximity_in_event)
- return (*base->proximity_in_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->proximity_in_event)
+ return (*base->proximity_in_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::proximity_out_event_callback(GtkWidget* self, GdkEventProximity* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -4991,39 +5187,41 @@ gboolean Widget_Class::proximity_out_event_callback(GtkWidget* self, GdkEventPro
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_proximity_out_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_proximity_out_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->proximity_out_event)
- return (*base->proximity_out_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->proximity_out_event)
+ return (*base->proximity_out_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::visibility_notify_event_callback(GtkWidget* self, GdkEventVisibility* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -5031,39 +5229,41 @@ gboolean Widget_Class::visibility_notify_event_callback(GtkWidget* self, GdkEven
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_visibility_notify_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_visibility_notify_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->visibility_notify_event)
- return (*base->visibility_notify_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->visibility_notify_event)
+ return (*base->visibility_notify_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::client_event_callback(GtkWidget* self, GdkEventClient* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -5071,39 +5271,41 @@ gboolean Widget_Class::client_event_callback(GtkWidget* self, GdkEventClient* p0
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_client_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_client_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->client_event)
- return (*base->client_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->client_event)
+ return (*base->client_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::no_expose_event_callback(GtkWidget* self, GdkEventAny* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -5111,39 +5313,41 @@ gboolean Widget_Class::no_expose_event_callback(GtkWidget* self, GdkEventAny* p0
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_no_expose_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_no_expose_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->no_expose_event)
- return (*base->no_expose_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->no_expose_event)
+ return (*base->no_expose_event)(self, p0);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::window_state_event_callback(GtkWidget* self, GdkEventWindowState* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -5151,39 +5355,41 @@ gboolean Widget_Class::window_state_event_callback(GtkWidget* self, GdkEventWind
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_window_state_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_window_state_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->window_state_event)
- return (*base->window_state_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->window_state_event)
+ return (*base->window_state_event)(self, p0);
typedef gboolean RType;
return RType();
}
void Widget_Class::selection_received_callback(GtkWidget* self, GtkSelectionData* p0, guint p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -5191,37 +5397,40 @@ void Widget_Class::selection_received_callback(GtkWidget* self, GtkSelectionData
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_selection_received(SelectionData_WithoutOwnership(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_selection_received(SelectionData_WithoutOwnership(p0)
, p1);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->selection_received)
- (*base->selection_received)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->selection_received)
+ (*base->selection_received)(self, p0, p1);
}
void Widget_Class::drag_begin_callback(GtkWidget* self, GdkDragContext* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -5229,37 +5438,40 @@ void Widget_Class::drag_begin_callback(GtkWidget* self, GdkDragContext* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_drag_begin(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_drag_begin(Glib::wrap(p0, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->drag_begin)
- (*base->drag_begin)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->drag_begin)
+ (*base->drag_begin)(self, p0);
}
void Widget_Class::drag_end_callback(GtkWidget* self, GdkDragContext* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -5267,37 +5479,40 @@ void Widget_Class::drag_end_callback(GtkWidget* self, GdkDragContext* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_drag_end(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_drag_end(Glib::wrap(p0, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->drag_end)
- (*base->drag_end)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->drag_end)
+ (*base->drag_end)(self, p0);
}
void Widget_Class::drag_data_delete_callback(GtkWidget* self, GdkDragContext* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -5305,37 +5520,40 @@ void Widget_Class::drag_data_delete_callback(GtkWidget* self, GdkDragContext* p0
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_drag_data_delete(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_drag_data_delete(Glib::wrap(p0, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->drag_data_delete)
- (*base->drag_data_delete)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->drag_data_delete)
+ (*base->drag_data_delete)(self, p0);
}
void Widget_Class::drag_leave_callback(GtkWidget* self, GdkDragContext* p0, guint p1)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -5343,37 +5561,40 @@ void Widget_Class::drag_leave_callback(GtkWidget* self, GdkDragContext* p0, guin
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_drag_leave(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_drag_leave(Glib::wrap(p0, true)
, p1);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->drag_leave)
- (*base->drag_leave)(self, p0, p1);
- }
+ // Call the original underlying C function:
+ if(base && base->drag_leave)
+ (*base->drag_leave)(self, p0, p1);
}
gboolean Widget_Class::drag_motion_callback(GtkWidget* self, GdkDragContext* p0, gint p1, gint p2, guint p3)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -5381,42 +5602,44 @@ gboolean Widget_Class::drag_motion_callback(GtkWidget* self, GdkDragContext* p0,
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_drag_motion(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_drag_motion(Glib::wrap(p0, true)
, p1
, p2
, p3));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->drag_motion)
- return (*base->drag_motion)(self, p0, p1, p2, p3);
- }
+ // Call the original underlying C function:
+ if(base && base->drag_motion)
+ return (*base->drag_motion)(self, p0, p1, p2, p3);
typedef gboolean RType;
return RType();
}
gboolean Widget_Class::drag_drop_callback(GtkWidget* self, GdkDragContext* p0, gint p1, gint p2, guint p3)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -5424,42 +5647,44 @@ gboolean Widget_Class::drag_drop_callback(GtkWidget* self, GdkDragContext* p0, g
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_drag_drop(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_drag_drop(Glib::wrap(p0, true)
, p1
, p2
, p3));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->drag_drop)
- return (*base->drag_drop)(self, p0, p1, p2, p3);
- }
+ // Call the original underlying C function:
+ if(base && base->drag_drop)
+ return (*base->drag_drop)(self, p0, p1, p2, p3);
typedef gboolean RType;
return RType();
}
void Widget_Class::drag_data_received_callback(GtkWidget* self, GdkDragContext* p0, gint p1, gint p2, GtkSelectionData* p3, guint p4, guint p5)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -5467,41 +5692,44 @@ void Widget_Class::drag_data_received_callback(GtkWidget* self, GdkDragContext*
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_drag_data_received(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_drag_data_received(Glib::wrap(p0, true)
, p1
, p2
, SelectionData_WithoutOwnership(p3)
, p4, p5);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->drag_data_received)
- (*base->drag_data_received)(self, p0, p1, p2, p3, p4, p5);
- }
+ // Call the original underlying C function:
+ if(base && base->drag_data_received)
+ (*base->drag_data_received)(self, p0, p1, p2, p3, p4, p5);
}
#ifdef GTKMM_ATKMM_ENABLED
AtkObject* Widget_Class::get_accessible_callback(GtkWidget* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -5509,32 +5737,34 @@ AtkObject* Widget_Class::get_accessible_callback(GtkWidget* self)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return Glib::unwrap(obj->on_get_accessible());
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return Glib::unwrap(obj->on_get_accessible());
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->get_accessible)
- return (*base->get_accessible)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->get_accessible)
+ return (*base->get_accessible)(self);
typedef AtkObject* RType;
return RType();
@@ -5542,7 +5772,7 @@ AtkObject* Widget_Class::get_accessible_callback(GtkWidget* self)
#endif // GTKMM_ATKMM_ENABLED
void Widget_Class::screen_changed_callback(GtkWidget* self, GdkScreen* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -5550,33 +5780,36 @@ void Widget_Class::screen_changed_callback(GtkWidget* self, GdkScreen* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_screen_changed(Glib::wrap(p0, true)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_screen_changed(Glib::wrap(p0, true)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->screen_changed)
- (*base->screen_changed)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->screen_changed)
+ (*base->screen_changed)(self, p0);
}
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
@@ -5834,6 +6067,16 @@ bool Widget::child_focus(DirectionType direction)
return gtk_widget_child_focus(gobj(), ((GtkDirectionType)(direction)));
}
+bool Widget::keynav_failed(DirectionType direction)
+{
+ return gtk_widget_keynav_failed(gobj(), ((GtkDirectionType)(direction)));
+}
+
+void Widget::error_bell()
+{
+gtk_widget_error_bell(gobj());
+}
+
void Widget::set_size_request(int width, int height)
{
gtk_widget_set_size_request(gobj(), width, height);
@@ -6082,6 +6325,11 @@ void Widget::modify_base(StateType state, const Gdk::Color& color)
gtk_widget_modify_base(gobj(), ((GtkStateType)(state)), (color).gobj());
}
+void Widget::modify_cursor(const Gdk::Color& primary, const Gdk::Color& secondary)
+{
+gtk_widget_modify_cursor(gobj(), (primary).gobj(), (secondary).gobj());
+}
+
void Widget::modify_font(const Pango::FontDescription& font_desc)
{
gtk_widget_modify_font(gobj(), const_cast<PangoFontDescription*>((font_desc).gobj()));
@@ -6402,6 +6650,51 @@ void Widget::unmap()
gtk_widget_unmap(gobj());
}
+void Widget::set_tooltip_window(Window& widget)
+{
+gtk_widget_set_tooltip_window(gobj(), (widget).gobj());
+}
+
+Window* Widget::get_tooltip_window()
+{
+ return Glib::wrap(gtk_widget_get_tooltip_window(gobj()));
+}
+
+void Widget::trigger_tooltip_query()
+{
+gtk_widget_trigger_tooltip_query(gobj());
+}
+
+void Widget::set_tooltip_text(const Glib::ustring& text)
+{
+gtk_widget_set_tooltip_text(gobj(), text.c_str());
+}
+
+Glib::ustring Widget::get_tooltip_text() const
+{
+ return Glib::convert_return_gchar_ptr_to_ustring(gtk_widget_get_tooltip_text(const_cast<GtkWidget*>(gobj())));
+}
+
+void Widget::set_tooltip_markup(const Glib::ustring& markup)
+{
+gtk_widget_set_tooltip_markup(gobj(), markup.c_str());
+}
+
+Glib::ustring Widget::get_tooltip_markup() const
+{
+ return Glib::convert_return_gchar_ptr_to_ustring(gtk_widget_get_tooltip_markup(const_cast<GtkWidget*>(gobj())));
+}
+
+void Widget::set_has_tooltip(bool has_tooltip)
+{
+gtk_widget_set_has_tooltip(gobj(), static_cast<int>(has_tooltip));
+}
+
+bool Widget::get_has_tooltip() const
+{
+ return gtk_widget_get_has_tooltip(const_cast<GtkWidget*>(gobj()));
+}
+
bool Widget::is_composited() const
{
return gtk_widget_is_composited(const_cast<GtkWidget*>(gobj()));
@@ -6464,7 +6757,8 @@ Glib::RefPtr<const Gdk::Window> Widget::get_window() const
Widget::Widget()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::Object(Glib::ConstructParams(widget_class_.init()))
{
}
@@ -6571,9 +6865,9 @@ Glib::SignalProxy1< void,Widget* > Widget::signal_hierarchy_changed()
}
-Glib::SignalProxy1< void,const Glib::RefPtr<Style>& > Widget::signal_style_changed()
+Glib::SignalProxy1< void,const Glib::RefPtr<Gtk::Style>& > Widget::signal_style_changed()
{
- return Glib::SignalProxy1< void,const Glib::RefPtr<Style>& >(this, &Widget_signal_style_changed_info);
+ return Glib::SignalProxy1< void,const Glib::RefPtr<Gtk::Style>& >(this, &Widget_signal_style_changed_info);
}
@@ -6855,6 +7149,12 @@ Glib::SignalProxy0< void > Widget::signal_composited_changed()
}
+Glib::SignalProxy4< bool,int,int,bool,const Glib::RefPtr<Tooltip>& > Widget::signal_query_tooltip()
+{
+ return Glib::SignalProxy4< bool,int,int,bool,const Glib::RefPtr<Tooltip>& >(this, &Widget_signal_query_tooltip_info);
+}
+
+
#ifdef GLIBMM_PROPERTIES_ENABLED
Glib::PropertyProxy<Glib::ustring> Widget::property_name()
{
@@ -7072,6 +7372,48 @@ Glib::PropertyProxy_ReadOnly<Gdk::ExtensionMode> Widget::property_extension_even
}
#endif //GLIBMM_PROPERTIES_ENABLED
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<bool> Widget::property_has_tooltip()
+{
+ return Glib::PropertyProxy<bool>(this, "has-tooltip");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<bool> Widget::property_has_tooltip() const
+{
+ return Glib::PropertyProxy_ReadOnly<bool>(this, "has-tooltip");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<Glib::ustring> Widget::property_tooltip_markup()
+{
+ return Glib::PropertyProxy<Glib::ustring>(this, "tooltip-markup");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<Glib::ustring> Widget::property_tooltip_markup() const
+{
+ return Glib::PropertyProxy_ReadOnly<Glib::ustring>(this, "tooltip-markup");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<Glib::ustring> Widget::property_tooltip_text()
+{
+ return Glib::PropertyProxy<Glib::ustring>(this, "tooltip-text");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<Glib::ustring> Widget::property_tooltip_text() const
+{
+ return Glib::PropertyProxy_ReadOnly<Glib::ustring>(this, "tooltip-text");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Gtk::Widget::on_show()
@@ -7173,7 +7515,7 @@ void Gtk::Widget::on_hierarchy_changed(Widget* previous_toplevel)
if(base && base->hierarchy_changed)
(*base->hierarchy_changed)(gobj(),(GtkWidget*)Glib::unwrap(previous_toplevel));
}
-void Gtk::Widget::on_style_changed(const Glib::RefPtr<Style>& previous_style)
+void Gtk::Widget::on_style_changed(const Glib::RefPtr<Gtk::Style>& previous_style)
{
BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
diff --git a/libs/gtkmm2/gtk/gtkmm/widget.h b/libs/gtkmm2/gtk/gtkmm/widget.h
index 4f2e8fc6f3..8d95e34b58 100644
--- a/libs/gtkmm2/gtk/gtkmm/widget.h
+++ b/libs/gtkmm2/gtk/gtkmm/widget.h
@@ -261,6 +261,7 @@ class Adjustment;
class Window;
class Container;
class Settings;
+class Tooltip;
typedef GtkRequisition Requisition;
@@ -358,7 +359,7 @@ protected:
virtual void on_state_changed(Gtk::StateType previous_state);
virtual void on_parent_changed(Widget* previous_parent);
virtual void on_hierarchy_changed(Widget* previous_toplevel);
- virtual void on_style_changed(const Glib::RefPtr<Style>& previous_style);
+ virtual void on_style_changed(const Glib::RefPtr<Gtk::Style>& previous_style);
virtual void on_direction_changed(TextDirection direction);
virtual void on_grab_notify(bool was_grabbed);
virtual void on_child_notify(GParamSpec* pspec);
@@ -416,10 +417,7 @@ public:
/** For widgets that support scrolling, sets the scroll adjustments and
- * returns <tt>true</tt>. For widgets that don't support scrolling, does
- * nothing and returns <tt>false</tt>. Widgets that don't support scrolling
- * can be scrolled by placing them in a Gtk::Viewport, which does
- * support scrolling.
+ * Return value: <tt>true</tt> if the widget supports scrolling
* @param hadjustment An adjustment for horizontal scrolling, or <tt>0</tt>.
* @param vadjustment An adjustment for vertical scrolling, or <tt>0</tt>.
* @return <tt>true</tt> if the widget supports scrolling.
@@ -476,7 +474,7 @@ public:
/** Invalidates the rectangular area of @a widget defined by @a x , @a y ,
* @a width and @a height by calling gdk_window_invalidate_rect() on the
- * widget's window and all its child windows. Once the main loop
+ * widget's window and all its child windows. Once the main loop
* becomes idle (after the current batch of events has been processed,
* roughly), the window will receive expose events for the union of
* all regions that have been invalidated.
@@ -596,11 +594,11 @@ public:
* to be saved for future use. (See gtk_accel_map_save().)
*
* This function is a low level function that would most likely
- * be used by a menu creation system like Gtk::ItemFactory. If you
- * use Gtk::ItemFactory, setting up accelerator paths will be done
+ * be used by a menu creation system like Gtk::UIManager. If you
+ * use Gtk::UIManager, setting up accelerator paths will be done
* automatically.
*
- * Even when you you aren't using Gtk::ItemFactory, if you only want to
+ * Even when you you aren't using Gtk::UIManager, if you only want to
* set up accelerators on menu items Gtk::MenuItem::set_accel_path()
* provides a somewhat more convenient interface.
* @param accel_path Path used to look up the accelerator.
@@ -627,7 +625,8 @@ public:
* use gdk_window_invalidate_rect() to invalidate a region of the
* window.
* @param event A Gdk::Event.
- * @return Return from the event signal emission (<tt>true</tt> if the event was handled).
+ * @return Return from the event signal emission (<tt>true</tt> if
+ * the event was handled).
*/
bool event(GdkEvent* event);
@@ -642,7 +641,8 @@ public:
* To cause the redraw to be done immediately, follow that call
* with a call to gdk_window_process_updates().
* @param event A expose Gdk::Event.
- * @return Return from the event signal emission (<tt>true</tt> if the event was handled).
+ * @return Return from the event signal emission (<tt>true</tt> if
+ * the event was handled).
*/
int send_expose(GdkEvent* event);
@@ -690,14 +690,15 @@ public:
Gdk::Region region_intersect(const Gdk::Region& region) const;
- /** Stops emission of "child-notify" signals on @a widget . The signals are
- * queued until thaw_child_notify() is called on @a widget .
+ /** Stops emission of Gtk::Widget::child-notify signals on @a widget . The
+ * signals are queued until thaw_child_notify() is called
+ * on @a widget .
*
* This is the analogue of Glib::object_freeze_notify() for child properties.
*/
void freeze_child_notify();
- /** Emits a "child-notify" signal for the
+ /** Emits a Gtk::Widget::child-notify signal for the
* child property @a child_property
* on @a widget .
*
@@ -708,7 +709,8 @@ public:
void child_notify(const Glib::ustring& child_property);
/** Reverts the effect of a previous call to freeze_child_notify().
- * This causes all queued "child-notify" signals on @a widget to be emitted.
+ * This causes all queued Gtk::Widget::child-notify signals on @a widget to be
+ * emitted.
*/
void thaw_child_notify();
@@ -731,9 +733,9 @@ public:
/** Causes @a widget to become the default widget. @a widget must have the
* Gtk::CAN_DEFAULT flag set; typically you have to set this flag
* yourself by calling <tt>GTK_WIDGET_SET_FLAGS ( @a widget ,
- * GTK_CAN_DEFAULT)</tt>. The default widget is activated when the user
- * presses Enter in a window. Default widgets must be activatable,
- * that is, activate() should affect them.
+ * GTK_CAN_DEFAULT)</tt>. The default widget is activated when
+ * the user presses Enter in a window. Default widgets must be
+ * activatable, that is, activate() should affect them.
*/
void grab_default();
@@ -791,7 +793,7 @@ public:
void set_sensitive(bool sensitive = true);
/** Sets whether the application intends to draw on the widget in
- * an ::expose-event handler.
+ * an Gtk::Widget::expose-event handler.
*
* This is a hint to the widget and does not affect the behavior of
* the GTK+ core; many widgets ignore this flag entirely. For widgets
@@ -799,6 +801,15 @@ public:
* the effect is to suppress default themed drawing of the widget's
* background. (Children of the widget will still be drawn.) The application
* is then entirely responsible for drawing the widget background.
+ *
+ * Note that the background is still drawn when the widget is mapped.
+ * If this is not suitable (e.g. because you want to make a transparent
+ * window using an RGBA visual), you can work around this by doing:
+ * @code
+ * gtk_widget_realize (window);
+ * gdk_window_set_back_pixmap (window->window, <tt>0</tt>, <tt>false</tt>);
+ * gtk_widget_show (window);
+ * @endcode
* @param app_paintable <tt>true</tt> if the application will paint on the widget.
*/
void set_app_paintable(bool app_paintable = true);
@@ -830,7 +841,7 @@ public:
* allocation changes. By default, this setting is <tt>true</tt> and
* the entire widget is redrawn on every size change. If your widget
* leaves the upper left unchanged when made bigger, turning this
- * setting on will improve performance.
+ * setting off will improve performance.
*
* Note that for NO_WINDOW widgets setting this flag to <tt>false</tt> turns
* off all allocation on resizing: the widget will not even redraw if
@@ -879,12 +890,12 @@ public:
bool get_child_visible() const;
- /** Returns the parent container of @a widget .
+ /** Return value: the parent container of @a widget , or <tt>0</tt>
* @return The parent container of @a widget , or <tt>0</tt>.
*/
Container* get_parent();
- /** Returns the parent container of @a widget .
+ /** Return value: the parent container of @a widget , or <tt>0</tt>
* @return The parent container of @a widget , or <tt>0</tt>.
*/
const Container* get_parent() const;
@@ -915,29 +926,81 @@ public:
* child_focus() is called by containers as the user moves
* around the window using keyboard shortcuts. @a direction indicates
* what kind of motion is taking place (up, down, left, right, tab
- * forward, tab backward). child_focus() invokes the
- * "focus" signal on Gtk::Widget; widgets override the default handler
+ * forward, tab backward). child_focus() emits the
+ * Gtk::Widget::focus" signal; widgets override the default handler
* for this signal in order to implement appropriate focus behavior.
*
- * The "focus" default handler for a widget should return <tt>true</tt> if
+ * The default ::focus handler for a widget should return <tt>true</tt> if
* moving in @a direction left the focus on a focusable location inside
* that widget, and <tt>false</tt> if moving in @a direction moved the focus
* outside the widget. If returning <tt>true</tt>, widgets normally
* call grab_focus() to place the focus accordingly;
* if returning <tt>false</tt>, they don't modify the current focus location.
*
- * This function replaces gtk_container_focus() from GTK+ 1.2. It was
- * necessary to check that the child was visible, sensitive, and
- * focusable before calling
- * gtk_container_focus(). child_focus() returns <tt>false</tt> if
- * the widget is not currently in a focusable state, so there's no
- * need for those checks.
+ * This function replaces gtk_container_focus() from GTK+ 1.2.
+ * It was necessary to check that the child was visible, sensitive,
+ * and focusable before calling gtk_container_focus().
+ * child_focus() returns <tt>false</tt> if the widget is not
+ * currently in a focusable state, so there's no need for those checks.
* @param direction Direction of focus movement.
* @return <tt>true</tt> if focus ended up inside @a widget .
*/
bool child_focus(DirectionType direction);
+ /** This function should be called whenever keyboard navigation within
+ * a single widget hits a boundary. The function emits the
+ * Gtk::Widget::keynav-changed signal on the widget and its return
+ * value should be interpreted in a way similar to the return value of
+ * child_focus():
+ *
+ * When <tt>true</tt> is returned, stay in the widget, the failed keyboard
+ * navigation is Ok and/or there is nowhere we can/should move the
+ * focus to.
+ *
+ * When <tt>false</tt> is returned, the caller should continue with keyboard
+ * navigation outside the widget, e.g. by calling
+ * child_focus() on the widget's toplevel.
+ *
+ * The default ::keynav-failed handler returns <tt>true</tt> for
+ * Gtk::DIR_TAB_FORWARD and Gtk::DIR_TAB_BACKWARD. For the other
+ * values of Gtk::DirectionType, it looks at the
+ * Gtk::Settings:gtk-keynav-cursor-only" setting and returns <tt>false</tt>
+ * if the setting is <tt>true</tt>. This way the entire user interface
+ * becomes cursor-navigatable on input devices such as mobile phones
+ * which only have cursor keys but no tab key.
+ *
+ * Whenever the default handler returns <tt>true</tt>, it also calls
+ * error_bell() to notify the user of the failed keyboard
+ * navigation.
+ *
+ * A use case for providing an own implementation of ::keynav-failed
+ * (either by connecting to it or by overriding it) would be a row of
+ * Gtk::Entry widgets where the user should be able to navigate the
+ * entire row with the cursor keys, as e.g. known from user interfaces
+ * that require entering license keys.
+ * @param direction Direction of focus movement.
+ * @return <tt>true</tt> if stopping keyboard navigation is fine, <tt>false</tt>
+ * if the emitting widget should try to handle the keyboard
+ * navigation attempt in its parent container(s).
+ *
+ * @newin2p12.
+ */
+ bool keynav_failed(DirectionType direction);
+
+ /** Notifies the user about an input-related error on this widget.
+ * If the Gtk::Settings gtk-error-bell proeprty is true, it calls
+ * Gdk::Window::beep(), otherwise it does nothing.
+ *
+ * Note that the effect of Gdk::Window::beep() can be configured in many
+ * ways, depending on the windowing backend and the desktop environment
+ * or window manager that is used.
+ *
+ * @newin2p12
+ */
+ void error_bell();
+
+
/** Sets the minimum size of a widget; that is, the widget's size
* request will be @a width by @a height . You can use this function to
* force a widget to be either larger or smaller than it normally
@@ -973,7 +1036,7 @@ public:
void set_size_request(int width = -1, int height = -1);
/** Gets the size request that was explicitly set for the widget using
- * set_size_request(). A value of -1 stored in @a width or
+ * set_size_request(). A value of -1 stored in @a width or
* @a height indicates that that dimension has not been set explicitly
* and the natural requisition of the widget will be used intead. See
* set_size_request(). To get the size a widget will
@@ -1043,7 +1106,8 @@ public:
* [ Perform action on toplevel. ]
* }
* @endcode
- * @return The topmost ancestor of @a widget , or @a widget itself if there's no ancestor.
+ * @return The topmost ancestor of @a widget , or @a widget itself
+ * if there's no ancestor.
*/
Container* get_toplevel();
@@ -1071,17 +1135,18 @@ public:
* [ Perform action on toplevel. ]
* }
* @endcode
- * @return The topmost ancestor of @a widget , or @a widget itself if there's no ancestor.
+ * @return The topmost ancestor of @a widget , or @a widget itself
+ * if there's no ancestor.
*/
const Container* get_toplevel() const;
/** Gets the first ancestor of @a widget with type @a widget_type . For example,
- * <tt>gtk_widget_get_ancestor (widget, GTK_TYPE_BOX)</tt> gets the
- * first Gtk::Box that's
- * an ancestor of @a widget . No reference will be added to the returned widget;
- * it should not be unreferenced. See note about checking for a toplevel
- * Gtk::Window in the docs for get_toplevel().
+ * <tt>gtk_widget_get_ancestor (widget, GTK_TYPE_BOX)</tt> gets
+ * the first Gtk::Box that's an ancestor of @a widget . No reference will be
+ * added to the returned widget; it should not be unreferenced. See note
+ * about checking for a toplevel Gtk::Window in the docs for
+ * get_toplevel().
*
* Note that unlike is_ancestor(), get_ancestor()
* considers @a widget to be an ancestor of itself.
@@ -1091,11 +1156,11 @@ public:
Widget* get_ancestor(GType widget_type);
/** Gets the first ancestor of @a widget with type @a widget_type . For example,
- * <tt>gtk_widget_get_ancestor (widget, GTK_TYPE_BOX)</tt> gets the
- * first Gtk::Box that's
- * an ancestor of @a widget . No reference will be added to the returned widget;
- * it should not be unreferenced. See note about checking for a toplevel
- * Gtk::Window in the docs for get_toplevel().
+ * <tt>gtk_widget_get_ancestor (widget, GTK_TYPE_BOX)</tt> gets
+ * the first Gtk::Box that's an ancestor of @a widget . No reference will be
+ * added to the returned widget; it should not be unreferenced. See note
+ * about checking for a toplevel Gtk::Window in the docs for
+ * get_toplevel().
*
* Note that unlike is_ancestor(), get_ancestor()
* considers @a widget to be an ancestor of itself.
@@ -1226,10 +1291,7 @@ public:
Glib::RefPtr<Settings> get_settings();
- /** Returns the clipboard object for the given selection to
- * be used with @a widget . @a widget must have a Gdk::Display
- * associated with it, so must be attached to a toplevel
- * window.
+ /** Return value: the appropriate clipboard object. If no
* @param selection A Gdk::Atom which identifies the clipboard
* to use. Gdk::SELECTION_CLIPBOARD gives the
* default clipboard. Another common value
@@ -1244,10 +1306,7 @@ public:
*/
Glib::RefPtr<Clipboard> get_clipboard(const Glib::ustring& selection);
- /** Returns the clipboard object for the given selection to
- * be used with @a widget . @a widget must have a Gdk::Display
- * associated with it, so must be attached to a toplevel
- * window.
+ /** Return value: the appropriate clipboard object. If no
* @param selection A Gdk::Atom which identifies the clipboard
* to use. Gdk::SELECTION_CLIPBOARD gives the
* default clipboard. Another common value
@@ -1264,18 +1323,7 @@ public:
//TODO: This probably needs a special conversion to do an extra ref (take_copy=true) for the returned instance:
- /** Returns the accessible object that describes the widget to an
- * assistive technology.
- *
- * If no accessibility library is loaded (i.e. no ATK implementation library is
- * loaded via &lt;envar&gt;GTK_MODULES&lt;/envar&gt; or via another application library,
- * such as libgnome), then this Atk::Object instance may be a no-op. Likewise,
- * if no class-specific Atk::Object implementation is available for the widget
- * instance in question, it will inherit an Atk::Object implementation from the
- * first ancestor class for which such an implementation is defined.
- *
- * The documentation of the ATK
- * library contains more information about accessible objects and their uses.
+ /** Returns: the Atk::Object associated with @a widget
* @return The Atk::Object associated with @a widget .
*/
@@ -1292,9 +1340,7 @@ public:
*/
void set_colormap(const Glib::RefPtr<const Gdk::Colormap> &colormap);
- /** Returns the event mask for the widget (a bitfield containing flags
- * from the Gdk::EventMask enumeration). These are the events that the widget
- * will receive.
+ /** Return value: event mask for @a widget
* @return Event mask for @a widget .
*/
Gdk::EventMask get_events() const;
@@ -1312,7 +1358,8 @@ public:
/** Determines whether @a widget is somewhere inside @a ancestor , possibly with
* intermediate containers.
* @param ancestor Another Gtk::Widget.
- * @return <tt>true</tt> if @a ancestor contains @a widget as a child, grandchild, great grandchild, etc.
+ * @return <tt>true</tt> if @a ancestor contains @a widget as a child,
+ * grandchild, great grandchild, etc.
*/
bool is_ancestor(Widget &ancestor) const;
@@ -1384,39 +1431,17 @@ public:
*/
void modify_style(const Glib::RefPtr<RcStyle>& style);
- /** Returns the current modifier style for the widget. (As set by
- * modify_style().) If no style has previously set, a new
- * Gtk::RcStyle will be created with all values unset, and set as the
- * modifier style for the widget. If you make changes to this rc
- * style, you must call modify_style(), passing in the
- * returned rc style, to make sure that your changes take effect.
- *
- * Caution: passing the style back to modify_style() will
- * normally end up destroying it, because modify_style() copies
- * the passed-in style and sets the copy as the new modifier style,
- * thus dropping any reference to the old modifier style. Add a reference
- * to the modifier style if you want to keep it alive.
+ /** Return value: the modifier style for the widget. This rc style is
* @return The modifier style for the widget. This rc style is
* owned by the widget. If you want to keep a pointer to value this
- * around, you must add a refcount using Gtk::RcStyle::ref().
+ * around, you must add a refcount using Glib::object_ref().
*/
Glib::RefPtr<RcStyle> get_modifier_style();
- /** Returns the current modifier style for the widget. (As set by
- * modify_style().) If no style has previously set, a new
- * Gtk::RcStyle will be created with all values unset, and set as the
- * modifier style for the widget. If you make changes to this rc
- * style, you must call modify_style(), passing in the
- * returned rc style, to make sure that your changes take effect.
- *
- * Caution: passing the style back to modify_style() will
- * normally end up destroying it, because modify_style() copies
- * the passed-in style and sets the copy as the new modifier style,
- * thus dropping any reference to the old modifier style. Add a reference
- * to the modifier style if you want to keep it alive.
+ /** Return value: the modifier style for the widget. This rc style is
* @return The modifier style for the widget. This rc style is
* owned by the widget. If you want to keep a pointer to value this
- * around, you must add a refcount using Gtk::RcStyle::ref().
+ * around, you must add a refcount using Glib::object_ref().
*/
Glib::RefPtr<const RcStyle> get_modifier_style() const;
@@ -1498,6 +1523,36 @@ public:
*/
void modify_base(StateType state, const Gdk::Color& color);
+ /** Sets the cursor color to use in a widget, overriding the
+ * cursor_color and secondary_cursor_color
+ * style properties. All other style values are left untouched.
+ * See also modify_style().
+ * See also unset_cursor().
+ *
+ * @param primary the color to use for primary cursor (does not need to be allocated).
+ * @param secondary the color to use for secondary cursor (does not need to be allocated).
+ *
+ * @newin2p12
+ */
+
+ /** Sets the cursor color to use in a widget, overriding the
+ * Gtk::Widget:cursor-color and Gtk::Widget:secondary-cursor-color
+ * style properties. All other style values are left untouched.
+ * See also modify_style().
+ *
+ * @newin2p12
+ * @param primary The color to use for primary cursor (does not need to be
+ * allocated), or <tt>0</tt> to undo the effect of previous calls to
+ * of modify_cursor().
+ * @param secondary The color to use for secondary cursor (does not need to be
+ * allocated), or <tt>0</tt> to undo the effect of previous calls to
+ * of modify_cursor().
+ */
+ void modify_cursor(const Gdk::Color& primary, const Gdk::Color& secondary);
+
+ /// See modify_cursor().
+ void unset_cursor();
+
/** Sets the font to use for a widget.
* All other style values are left untouched. See also modify_style() and
* unset_font().
@@ -1539,14 +1594,14 @@ public:
void get_style_property(const Glib::ustring& the_property_name, PropertyType& value) const;
- /** Creates a new Pango::Context with the appropriate colormap,
+ /** Creates a new Pango::Context with the appropriate font map,
* font description, and base direction for drawing text for
* this widget. See also get_pango_context().
* @return The new Pango::Context.
*/
Glib::RefPtr<Pango::Context> create_pango_context();
- /** Gets a Pango::Context with the appropriate colormap, font description
+ /** Gets a Pango::Context with the appropriate font map, font description,
* and base direction for this widget. Unlike the context returned
* by create_pango_context(), this context is owned by
* the widget (it can be used until the screen for the widget changes
@@ -1555,20 +1610,21 @@ public:
*
* If you create and keep a Pango::Layout using this context, you must
* deal with changes to the context by calling pango_layout_context_changed()
- * on the layout in response to the ::style-set and ::direction-changed signals
- * for the widget.
+ * on the layout in response to the Gtk::Widget::style-set and
+ * Gtk::Widget::direction-changed signals for the widget.
* @return The Pango::Context for the widget.
*/
Glib::RefPtr<Pango::Context> get_pango_context();
- /** Creates a new Pango::Layout with the appropriate colormap,
+ /** Creates a new Pango::Layout with the appropriate font map,
* font description, and base direction for drawing text for
* this widget.
*
- * If you keep a Pango::Layout created in this way around, in order
+ * If you keep a Pango::Layout created in this way around, in order to
* notify the layout of changes to the base direction or font of this
* widget, you must call pango_layout_context_changed() in response to
- * the ::style-set and ::direction-changed signals for the widget.
+ * the Gtk::Widget::style-set and Gtk::Widget::direction-changed signals
+ * for the widget.
* @param text Text to set on the layout (can be <tt>0</tt>).
* @return The new Pango::Layout.
*/
@@ -1666,9 +1722,9 @@ public:
*/
static void set_default_colormap(const Glib::RefPtr<const Gdk::Colormap>& colormap);
- /** Returns the default style used by all widgets initially.
- * @return The default style. This Gtk::Style object is owned by GTK+ and
- * should not be modified or freed.
+ /** Returns: the default style. This Gtk::Style object is owned
+ * @return The default style. This Gtk::Style object is owned
+ * by GTK+ and should not be modified or freed.
*/
static Glib::RefPtr<Style> get_default_style();
@@ -1735,6 +1791,15 @@ public:
void shape_combine_mask(const Glib::RefPtr<const Gdk::Bitmap>& shape_mask, int offset_x, int offset_y);
void unset_shape_combine_mask();
+ /** Sets an input shape for this widget's GDK window. This allows for
+ * windows which react to mouse click in a nonrectangular region, see
+ * gdk_window_input_shape_combine_mask() for more information.
+ *
+ * @newin2p10
+ * @param shape_mask Shape to be added, or <tt>0</tt> to remove an existing shape.
+ * @param offset_x X position of shape mask with respect to @a window .
+ * @param offset_y Y position of shape mask with respect to @a window .
+ */
void input_shape_combine_mask(const Glib::RefPtr<const Gdk::Bitmap>& shape_mask, int offset_x, int offset_y);
void unset_input_shape_combine_mask();
@@ -1751,16 +1816,7 @@ public:
void class_path(Glib::ustring& path, Glib::ustring& path_reversed);
- /** Returns a newly allocated list of the widgets, normally labels, for
- * which this widget is a the target of a mnemonic (see for example,
- * Gtk::Label::set_mnemonic_widget()).
- *
- * The widgets in the list are not individually referenced. If you
- * want to iterate through the list and perform actions involving
- * callbacks that might destroy the widgets, you
- * <em>must</em> call <tt>g_list_foreach (result,
- * (GFunc)g_object_ref, <tt>0</tt>)</tt> first, and then unref all the
- * widgets afterwards.
+ /** Return value: the list of mnemonic labels; free this list
* @return The list of mnemonic labels; free this list
* with Glib::list_free() when you are done with it.
*
@@ -1768,16 +1824,7 @@ public:
*/
Glib::ListHandle<Widget*> list_mnemonic_labels();
- /** Returns a newly allocated list of the widgets, normally labels, for
- * which this widget is a the target of a mnemonic (see for example,
- * Gtk::Label::set_mnemonic_widget()).
- *
- * The widgets in the list are not individually referenced. If you
- * want to iterate through the list and perform actions involving
- * callbacks that might destroy the widgets, you
- * <em>must</em> call <tt>g_list_foreach (result,
- * (GFunc)g_object_ref, <tt>0</tt>)</tt> first, and then unref all the
- * widgets afterwards.
+ /** Return value: the list of mnemonic labels; free this list
* @return The list of mnemonic labels; free this list
* with Glib::list_free() when you are done with it.
*
@@ -1839,14 +1886,12 @@ public:
Glib::ustring drag_dest_find_target(const Glib::RefPtr<Gdk::DragContext>& context) const;
- /** Returns the list of targets this widget can accept from
- * drag-and-drop.
+ /** Return value: the Gtk::TargetList, or <tt>0</tt> if none
* @return The Gtk::TargetList, or <tt>0</tt> if none.
*/
Glib::RefPtr<TargetList> drag_dest_get_target_list();
- /** Returns the list of targets this widget can accept from
- * drag-and-drop.
+ /** Return value: the Gtk::TargetList, or <tt>0</tt> if none
* @return The Gtk::TargetList, or <tt>0</tt> if none.
*/
Glib::RefPtr<const TargetList> drag_dest_get_target_list() const;
@@ -1995,36 +2040,36 @@ public:
void drag_set_as_icon(const Glib::RefPtr<Gdk::DragContext>& context, int hot_x, int hot_y);
- /** This function works like queue_resize(), except that the
- * widget is not invalidated.
+ /** This function works like queue_resize(),
+ * except that the widget is not invalidated.
*
* @newin2p4
*/
void queue_resize_no_redraw();
- /** Returns the current value of the "no_show_all" property, which determines
- * whether calls to show_all() and hide_all()
- * will affect this widget.
- * @return The current value of the "no_show_all" property.
+ /** Return value: the current value of the "no-show-all" property.
+ * @return The current value of the "no-show-all" property.
*
* @newin2p4.
*/
bool get_no_show_all() const;
- /** Sets the "no_show_all" property, which determines whether calls to
- * show_all() and hide_all() will affect this widget.
+ /** Sets the Gtk::Widget:no-show-all property, which determines whether
+ * calls to show_all() and hide_all() will affect
+ * this widget.
*
* This is mostly for use in constructing widget hierarchies with externally
* controlled visibility, see Gtk::UIManager.
*
* @newin2p4
- * @param no_show_all The new value for the "no_show_all" property.
+ * @param no_show_all The new value for the "no-show-all" property.
*/
void set_no_show_all(bool no_show_all = true);
//Used when implementing containers:
- /** This function is useful only when implementing subclasses of Gtk::Container.
+ /** This function is useful only when implementing subclasses of
+ * Gtk::Container.
* Sets the container as the parent of @a widget , and takes care of
* some details such as updating the state and style of the child
* to reflect its new location. The opposite function is
@@ -2055,7 +2100,89 @@ public:
//TODO: The drawable should be passed by reference, when we can break API/ABI, but it's not the end of the world. murrayc.
void draw_insertion_cursor(Glib::RefPtr<Gdk::Drawable> drawable, const Gdk::Rectangle& area, const Gdk::Rectangle& location, bool is_primary, TextDirection direction, bool draw_arrow = true);
-
+
+ // Gtk+ 2.12 tooltip API
+
+ /** Replaces the default, usually yellow, window used for displaying
+ * tooltips with @a custom_window . GTK+ will take care of showing and
+ * hiding @a custom_window at the right moment, to behave likewise as
+ * the default tooltip window. If @a custom_window is <tt>0</tt>, the default
+ * tooltip window will be used.
+ *
+ * @newin2p12
+ * @param custom_window A Gtk::Window, or <tt>0</tt>.
+ */
+ void set_tooltip_window(Window& widget);
+
+ /** Return value: The Gtk::Window of the current tooltip.
+ * @return The Gtk::Window of the current tooltip.
+ *
+ * @newin2p12.
+ */
+ Window* get_tooltip_window();
+
+ /** Triggers a tooltip query on the display where the toplevel of @a widget
+ * is located. See gtk_tooltip_trigger_tooltip_query() for more
+ * information.
+ *
+ * @newin2p12
+ */
+ void trigger_tooltip_query();
+
+ /** Sets @a text as the contents of the tooltip. This function will take
+ * care of setting GtkWidget:has-tooltip to <tt>true</tt> and of the default
+ * handler for the GtkWidget::query-tooltip signal.
+ *
+ * See also the GtkWidget:tooltip-text property and gtk_tooltip_set_text().
+ *
+ * @newin2p12
+ * @param text The contents of the tooltip for @a widget .
+ */
+ void set_tooltip_text(const Glib::ustring& text);
+
+ /** Gets the contents of the tooltip for @a widget .
+ * @return The tooltip text.
+ *
+ * @newin2p12.
+ */
+ Glib::ustring get_tooltip_text() const;
+
+ /** Sets @a markup as the contents of the tooltip, which is marked up with
+ * the Pango text markup language.
+ *
+ * This function will take care of setting GtkWidget:has-tooltip to <tt>true</tt>
+ * and of the default handler for the GtkWidget::query-tooltip signal.
+ *
+ * See also the GtkWidget:tooltip-markup property and
+ * gtk_tooltip_set_markup().
+ *
+ * @newin2p12
+ * @param markup The contents of the tooltip for @a widget , or <tt>0</tt>.
+ */
+ void set_tooltip_markup(const Glib::ustring& markup);
+
+ /** Gets the contents of the tooltip for @a widget .
+ * @return The tooltip text.
+ *
+ * @newin2p12.
+ */
+ Glib::ustring get_tooltip_markup() const;
+
+ /** Sets the has-tooltip property on @a widget to @a has_tooltip . See
+ * GtkWidget:has-tooltip for more information.
+ *
+ * @newin2p12
+ * @param has_tooltip Whether or not @a widget has a tooltip.
+ */
+ void set_has_tooltip(bool has_tooltip = TRUE);
+
+ /** Return value: current value of has-tooltip on @a widget .
+ * @return Current value of has-tooltip on @a widget .
+ *
+ * @newin2p12.
+ */
+ bool get_has_tooltip() const;
+
/* FLAGS */
//: Returns property {flags.toplevel}.
@@ -2103,12 +2230,32 @@ public:
int get_height() const;
+ /** Whether @a widget can rely on having its alpha channel
+ * drawn correctly. On X11 this function returns whether a
+ * compositing manager is running for @a widget 's screen.
+ * @return <tt>true</tt> if the widget can rely on its alpha
+ * channel being drawn correctly.
+ *
+ * @newin2p10.
+ */
bool is_composited() const;
//From gtkaction.h:
+ /** Returns: the action that a widget is a proxy for, or
+ * @return The action that a widget is a proxy for, or
+ * <tt>0</tt>, if it is not attached to an action.
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<Action> get_action();
+ /** Returns: the action that a widget is a proxy for, or
+ * @return The action that a widget is a proxy for, or
+ * <tt>0</tt>, if it is not attached to an action.
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<const Action> get_action() const;
Gtk::StateType get_state() const;
@@ -2119,17 +2266,17 @@ public:
Glib::RefPtr<const Gdk::Window> get_window() const;
-/**
+ /**
* @par Prototype:
- * <tt>void %show()</tt>
+ * <tt>void on_my_%show()</tt>
*/
Glib::SignalProxy0< void > signal_show();
-/**
+ /**
* @par Prototype:
- * <tt>void %hide()</tt>
+ * <tt>void on_my_%hide()</tt>
*/
Glib::SignalProxy0< void > signal_hide();
@@ -2138,9 +2285,9 @@ public:
//: Emitted on mapping of a widget to the screen.
//- See {flags.mapped}.
-/**
+ /**
* @par Prototype:
- * <tt>void %map()</tt>
+ * <tt>void on_my_%map()</tt>
*/
Glib::SignalProxy0< void > signal_map();
@@ -2148,9 +2295,9 @@ public:
//- See {flags.mapped}.
-/**
+ /**
* @par Prototype:
- * <tt>void %unmap()</tt>
+ * <tt>void on_my_%unmap()</tt>
*/
Glib::SignalProxy0< void > signal_unmap();
@@ -2162,9 +2309,9 @@ public:
//- when overriding the impl method, you should call the
//- default realize method.
-/**
+ /**
* @par Prototype:
- * <tt>void %realize()</tt>
+ * <tt>void on_my_%realize()</tt>
*/
Glib::SignalProxy0< void > signal_realize();
@@ -2173,25 +2320,25 @@ public:
//- See {flags.realized}. This should not be called by the user.
//__WRAP(meth|sig|impl,void unrealize_(),gtk_widget_unrealize,"unrealize")
-/**
+ /**
* @par Prototype:
- * <tt>void %unrealize()</tt>
+ * <tt>void on_my_%unrealize()</tt>
*/
Glib::SignalProxy0< void > signal_unrealize();
-/**
+ /**
* @par Prototype:
- * <tt>void %size_request(Requisition* requisition)</tt>
+ * <tt>void on_my_%size_request(Requisition* requisition)</tt>
*/
Glib::SignalProxy1< void,Requisition* > signal_size_request();
-/**
+ /**
* @par Prototype:
- * <tt>void %size_allocate(Allocation& allocation)</tt>
+ * <tt>void on_my_%size_allocate(Allocation& allocation)</tt>
*/
Glib::SignalProxy1< void,Allocation& > signal_size_allocate();
@@ -2203,9 +2350,9 @@ public:
// to avoid confusion with set_parent and set_style.
-/**
+ /**
* @par Prototype:
- * <tt>void %state_changed(Gtk::StateType previous_state)</tt>
+ * <tt>void on_my_%state_changed(Gtk::StateType previous_state)</tt>
*/
Glib::SignalProxy1< void,Gtk::StateType > signal_state_changed();
@@ -2215,49 +2362,51 @@ public:
//- The widget passed is the former parent, which may be 0 if
//- there was no parent. (was parent_set in GTK+)
-/**
+ /**
* @par Prototype:
- * <tt>void %parent_changed(Widget* previous_parent)</tt>
+ * <tt>void on_my_%parent_changed(Widget* previous_parent)</tt>
*/
Glib::SignalProxy1< void,Widget* > signal_parent_changed();
-/**
+ /**
* @par Prototype:
- * <tt>void %hierarchy_changed(Widget* previous_toplevel)</tt>
+ * <tt>void on_my_%hierarchy_changed(Widget* previous_toplevel)</tt>
*/
Glib::SignalProxy1< void,Widget* > signal_hierarchy_changed();
+//Note: We use Gtk::Style instead of Style here, to fix a build problem on MacOS X
+//that we don't fully understand. See bug #493057.
+
+
/** The style-set signal is emitted when a new style has been set
* on a widget. Note that style-modifying functions like
* modify_base() also cause this signal to be emitted.
*
* @param previous_style the previous style, or an empty RefPtr if the widget
* just got its initial style.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %style_changed(const Glib::RefPtr<Style>& previous_style)</tt>
+ * <tt>void on_my_%style_changed(const Glib::RefPtr<Gtk::Style>& previous_style)</tt>
*/
- Glib::SignalProxy1< void,const Glib::RefPtr<Style>& > signal_style_changed();
+ Glib::SignalProxy1< void,const Glib::RefPtr<Gtk::Style>& > signal_style_changed();
-/**
+ /**
* @par Prototype:
- * <tt>void %direction_changed(TextDirection direction)</tt>
+ * <tt>void on_my_%direction_changed(TextDirection direction)</tt>
*/
Glib::SignalProxy1< void,TextDirection > signal_direction_changed();
-/**
+ /**
* @par Prototype:
- * <tt>void %grab_notify(bool was_grabbed)</tt>
+ * <tt>void on_my_%grab_notify(bool was_grabbed)</tt>
*/
Glib::SignalProxy1< void,bool > signal_grab_notify();
@@ -2267,11 +2416,9 @@ public:
* changed on an object. The signal's detail holds the property name.
*
* @param pspec The GParamSpec of the changed child property.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %child_notify(GParamSpec* pspec)</tt>
+ * <tt>void on_my_%child_notify(GParamSpec* pspec)</tt>
*/
Glib::SignalProxy1< void,GParamSpec* > signal_child_notify();
@@ -2280,41 +2427,41 @@ public:
//_WRAP_SIGNAL(void add_accelerator(guint, GtkAccelGroup*, guint accel_key, Gdk::ModifierType, AccelFlags), "add-accelerator")
//_WRAP_SIGNAL(void remove_accelerator(GtkAccelGroup* accel_group, guint, Gdk::ModifierType), "remove-accelerator")
-/**
+ /**
* @par Prototype:
- * <tt>bool %mnemonic_activate(bool group_cycling)</tt>
+ * <tt>bool on_my_%mnemonic_activate(bool group_cycling)</tt>
*/
Glib::SignalProxy1< bool,bool > signal_mnemonic_activate();
-/**
+ /**
* @par Prototype:
- * <tt>void %grab_focus()</tt>
+ * <tt>void on_my_%grab_focus()</tt>
*/
Glib::SignalProxy0< void > signal_grab_focus();
-/**
+ /**
* @par Prototype:
- * <tt>bool %focus(DirectionType direction)</tt>
+ * <tt>bool on_my_%focus(DirectionType direction)</tt>
*/
Glib::SignalProxy1< bool,DirectionType > signal_focus();
-/**
+ /**
* @par Prototype:
- * <tt>bool %event(GdkEvent* event)</tt>
+ * <tt>bool on_my_%event(GdkEvent* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEvent* > signal_event();
-/**
+ /**
* @par Prototype:
- * <tt>void %event_after(GdkEvent* event)</tt>
+ * <tt>void on_my_%event_after(GdkEvent* event)</tt>
*/
Glib::SignalProxy1< void,GdkEvent* > signal_event_after();
@@ -2322,9 +2469,9 @@ public:
//: Event triggered by user pressing button.
-/**
+ /**
* @par Prototype:
- * <tt>bool %button_press_event(GdkEventButton* event)</tt>
+ * <tt>bool on_my_%button_press_event(GdkEventButton* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventButton* > signal_button_press_event();
@@ -2332,17 +2479,17 @@ public:
//: Event triggered by user releasing button.
-/**
+ /**
* @par Prototype:
- * <tt>bool %button_release_event(GdkEventButton* event)</tt>
+ * <tt>bool on_my_%button_release_event(GdkEventButton* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventButton* > signal_button_release_event();
-/**
+ /**
* @par Prototype:
- * <tt>bool %scroll_event(GdkEventScroll* event)</tt>
+ * <tt>bool on_my_%scroll_event(GdkEventScroll* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventScroll* > signal_scroll_event();
@@ -2350,9 +2497,9 @@ public:
//: Event triggered by user moving pointer.
-/**
+ /**
* @par Prototype:
- * <tt>bool %motion_notify_event(GdkEventMotion* event)</tt>
+ * <tt>bool on_my_%motion_notify_event(GdkEventMotion* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventMotion* > signal_motion_notify_event();
@@ -2365,11 +2512,9 @@ public:
* @param event the event which triggered this signal.
* @result true to stop other handlers from being invoked for the event,
* or false to propagate the event. further.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>bool %delete_event(GdkEventAny* event)</tt>
+ * <tt>bool on_my_%delete_event(GdkEventAny* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventAny* > signal_delete_event();
@@ -2385,9 +2530,9 @@ public:
//- even indicated. This is important for things such as
//- Gtk::DrawingArea.
-/**
+ /**
* @par Prototype:
- * <tt>bool %expose_event(GdkEventExpose* event)</tt>
+ * <tt>bool on_my_%expose_event(GdkEventExpose* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventExpose* > signal_expose_event();
@@ -2395,9 +2540,9 @@ public:
//: Event triggered by a key press will widget has focus.
-/**
+ /**
* @par Prototype:
- * <tt>bool %key_press_event(GdkEventKey* event)</tt>
+ * <tt>bool on_my_%key_press_event(GdkEventKey* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventKey* > signal_key_press_event();
@@ -2405,9 +2550,9 @@ public:
//: Event triggered by a key release will widget has focus.
-/**
+ /**
* @par Prototype:
- * <tt>bool %key_release_event(GdkEventKey* event)</tt>
+ * <tt>bool on_my_%key_release_event(GdkEventKey* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventKey* > signal_key_release_event();
@@ -2415,9 +2560,9 @@ public:
//: Event triggered by pointer entering widget area.
-/**
+ /**
* @par Prototype:
- * <tt>bool %enter_notify_event(GdkEventCrossing* event)</tt>
+ * <tt>bool on_my_%enter_notify_event(GdkEventCrossing* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventCrossing* > signal_enter_notify_event();
@@ -2425,9 +2570,9 @@ public:
//: Event triggered by pointer leaving widget area.
-/**
+ /**
* @par Prototype:
- * <tt>bool %leave_notify_event(GdkEventCrossing* event)</tt>
+ * <tt>bool on_my_%leave_notify_event(GdkEventCrossing* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventCrossing* > signal_leave_notify_event();
@@ -2435,121 +2580,121 @@ public:
//: Event triggered by a window resizing.
-/**
+ /**
* @par Prototype:
- * <tt>bool %configure_event(GdkEventConfigure* event)</tt>
+ * <tt>bool on_my_%configure_event(GdkEventConfigure* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventConfigure* > signal_configure_event();
-/**
+ /**
* @par Prototype:
- * <tt>bool %focus_in_event(GdkEventFocus* event)</tt>
+ * <tt>bool on_my_%focus_in_event(GdkEventFocus* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventFocus* > signal_focus_in_event();
-/**
+ /**
* @par Prototype:
- * <tt>bool %focus_out_event(GdkEventFocus* event)</tt>
+ * <tt>bool on_my_%focus_out_event(GdkEventFocus* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventFocus* > signal_focus_out_event();
-/**
+ /**
* @par Prototype:
- * <tt>bool %map_event(GdkEventAny* event)</tt>
+ * <tt>bool on_my_%map_event(GdkEventAny* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventAny* > signal_map_event();
-/**
+ /**
* @par Prototype:
- * <tt>bool %unmap_event(GdkEventAny* event)</tt>
+ * <tt>bool on_my_%unmap_event(GdkEventAny* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventAny* > signal_unmap_event();
-/**
+ /**
* @par Prototype:
- * <tt>bool %property_notify_event(GdkEventProperty* event)</tt>
+ * <tt>bool on_my_%property_notify_event(GdkEventProperty* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventProperty* > signal_property_notify_event();
-/**
+ /**
* @par Prototype:
- * <tt>bool %selection_clear_event(GdkEventSelection* event)</tt>
+ * <tt>bool on_my_%selection_clear_event(GdkEventSelection* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventSelection* > signal_selection_clear_event();
-/**
+ /**
* @par Prototype:
- * <tt>bool %selection_request_event(GdkEventSelection* event)</tt>
+ * <tt>bool on_my_%selection_request_event(GdkEventSelection* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventSelection* > signal_selection_request_event();
-/**
+ /**
* @par Prototype:
- * <tt>bool %selection_notify_event(GdkEventSelection* event)</tt>
+ * <tt>bool on_my_%selection_notify_event(GdkEventSelection* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventSelection* > signal_selection_notify_event();
-/**
+ /**
* @par Prototype:
- * <tt>bool %proximity_in_event(GdkEventProximity* event)</tt>
+ * <tt>bool on_my_%proximity_in_event(GdkEventProximity* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventProximity* > signal_proximity_in_event();
-/**
+ /**
* @par Prototype:
- * <tt>bool %proximity_out_event(GdkEventProximity* event)</tt>
+ * <tt>bool on_my_%proximity_out_event(GdkEventProximity* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventProximity* > signal_proximity_out_event();
-/**
+ /**
* @par Prototype:
- * <tt>bool %visibility_notify_event(GdkEventVisibility* event)</tt>
+ * <tt>bool on_my_%visibility_notify_event(GdkEventVisibility* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventVisibility* > signal_visibility_notify_event();
-/**
+ /**
* @par Prototype:
- * <tt>bool %client_event(GdkEventClient* event)</tt>
+ * <tt>bool on_my_%client_event(GdkEventClient* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventClient* > signal_client_event();
-/**
+ /**
* @par Prototype:
- * <tt>bool %no_expose_event(GdkEventAny* event)</tt>
+ * <tt>bool on_my_%no_expose_event(GdkEventAny* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventAny* > signal_no_expose_event();
-/**
+ /**
* @par Prototype:
- * <tt>bool %window_state_event(GdkEventWindowState* event)</tt>
+ * <tt>bool on_my_%window_state_event(GdkEventWindowState* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEventWindowState* > signal_window_state_event();
@@ -2558,32 +2703,30 @@ public:
//We use the optional custom_c_callback parameter with _WRAP_SIGNAL() for some of these,
//so that we can write special code to wrap the non-const SelectionData& output parameters:
-/**
+ /**
* @par Prototype:
- * <tt>void %selection_get(SelectionData& selection_data, guint info, guint time)</tt>
+ * <tt>void on_my_%selection_get(SelectionData& selection_data, guint info, guint time)</tt>
*/
Glib::SignalProxy3< void,SelectionData&,guint,guint > signal_selection_get();
-/**
+ /**
* @par Prototype:
- * <tt>void %selection_received(const SelectionData& selection_data, guint time)</tt>
+ * <tt>void on_my_%selection_received(const SelectionData& selection_data, guint time)</tt>
*/
Glib::SignalProxy2< void,const SelectionData&,guint > signal_selection_received();
- /** THe drag_begin signal is emitted on the drag source when a drag is started.
+ /** The drag_begin signal is emitted on the drag source when a drag is started.
* A typical reason to connect to this signal is to set up a custom drag icon with
* drag_source_set_icon().
*
* @param context the drag context
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %drag_begin(const Glib::RefPtr<Gdk::DragContext>& context)</tt>
+ * <tt>void on_my_%drag_begin(const Glib::RefPtr<Gdk::DragContext>& context)</tt>
*/
Glib::SignalProxy1< void,const Glib::RefPtr<Gdk::DragContext>& > signal_drag_begin();
@@ -2594,11 +2737,9 @@ public:
* signal handler.
*
* @param context the drag context.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %drag_end(const Glib::RefPtr<Gdk::DragContext>& context)</tt>
+ * <tt>void on_my_%drag_end(const Glib::RefPtr<Gdk::DragContext>& context)</tt>
*/
Glib::SignalProxy1< void,const Glib::RefPtr<Gdk::DragContext>& > signal_drag_end();
@@ -2613,11 +2754,9 @@ public:
* @param selection_data the SelectionData to be filled with the dragged data.
* @param info the info that has been registered with the target in the TargetList.
* @param time the timestamp at which the data was requested.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %drag_data_get(const Glib::RefPtr<Gdk::DragContext>& context, SelectionData& selection_data, guint info, guint time)</tt>
+ * <tt>void on_my_%drag_data_get(const Glib::RefPtr<Gdk::DragContext>& context, SelectionData& selection_data, guint info, guint time)</tt>
*/
Glib::SignalProxy4< void,const Glib::RefPtr<Gdk::DragContext>&,SelectionData&,guint,guint > signal_drag_data_get();
@@ -2629,15 +2768,15 @@ public:
* operation.
*
* @param context the drag context.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %drag_data_delete(const Glib::RefPtr<Gdk::DragContext>& context)</tt>
+ * <tt>void on_my_%drag_data_delete(const Glib::RefPtr<Gdk::DragContext>& context)</tt>
*/
Glib::SignalProxy1< void,const Glib::RefPtr<Gdk::DragContext>& > signal_drag_data_delete();
+
+ //TODO: Check the parameters: _WRAP_SIGNAL(bool drag_failed(const Glib::RefPtr<Gdk::DragContext>& context), "drag_failed")
/** The drag_leave signal is emitted on the drop site when the cursor leaves the widget.
* A typical reason to connect to this signal is to undo things done in the drag_motion signal handler,
@@ -2645,11 +2784,9 @@ public:
*
* @param context the drag context.
* @param time the timestamp of the motion event.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %drag_leave(const Glib::RefPtr<Gdk::DragContext>& context, guint time)</tt>
+ * <tt>void on_my_%drag_leave(const Glib::RefPtr<Gdk::DragContext>& context, guint time)</tt>
*/
Glib::SignalProxy2< void,const Glib::RefPtr<Gdk::DragContext>&,guint > signal_drag_leave();
@@ -2675,11 +2812,9 @@ public:
* @param y the y coordinate of the current cursor position.
* @param time the timestamp of the motion event.
* @result whether the cursor position is in a drop zone.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>bool %drag_motion(const Glib::RefPtr<Gdk::DragContext>& context, int x, int y, guint time)</tt>
+ * <tt>bool on_my_%drag_motion(const Glib::RefPtr<Gdk::DragContext>& context, int x, int y, guint time)</tt>
*/
Glib::SignalProxy4< bool,const Glib::RefPtr<Gdk::DragContext>&,int,int,guint > signal_drag_motion();
@@ -2699,11 +2834,9 @@ public:
* @param y the y coordinate of the current cursor position.
* @param time: the timestamp of the motion event.
* @result whether the cursor position is in a drop zone
- */
-
-/**
+ *
* @par Prototype:
- * <tt>bool %drag_drop(const Glib::RefPtr<Gdk::DragContext>& context, int x, int y, guint time)</tt>
+ * <tt>bool on_my_%drag_drop(const Glib::RefPtr<Gdk::DragContext>& context, int x, int y, guint time)</tt>
*/
Glib::SignalProxy4< bool,const Glib::RefPtr<Gdk::DragContext>&,int,int,guint > signal_drag_drop();
@@ -2726,11 +2859,9 @@ public:
* @param data the received data
* @param info the info that has been registered with the target in the TargetList.
* @param time the timestamp at which the data was received.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>void %drag_data_received(const Glib::RefPtr<Gdk::DragContext>& context, int x, int y, const SelectionData& selection_data, guint info, guint time)</tt>
+ * <tt>void on_my_%drag_data_received(const Glib::RefPtr<Gdk::DragContext>& context, int x, int y, const SelectionData& selection_data, guint info, guint time)</tt>
*/
Glib::SignalProxy6< void,const Glib::RefPtr<Gdk::DragContext>&,int,int,const SelectionData&,guint,guint > signal_drag_data_received();
@@ -2739,11 +2870,9 @@ public:
//Note that the deprecated keyword has no effect on _WRAP_SIGNAL() yet.
//It doesn't seem like a good idea to put virtual functions in #ifdefs, because that would change the size of the class instances.
/** @deprecated This should never have been in the API. It was never meaningful.
- */
-
-/**
+ *
* @par Prototype:
- * <tt>Glib::RefPtr<Atk::Object> %get_accessible()</tt>
+ * <tt>Glib::RefPtr<Atk::Object> on_my_%get_accessible()</tt>
*/
#ifdef GTKMM_ATKMM_ENABLED
@@ -2751,17 +2880,17 @@ public:
#endif // GTKMM_ATKMM_ENABLED
-/**
+ /**
* @par Prototype:
- * <tt>void %screen_changed(const Glib::RefPtr<Gdk::Screen>& previous_screen)</tt>
+ * <tt>void on_my_%screen_changed(const Glib::RefPtr<Gdk::Screen>& previous_screen)</tt>
*/
Glib::SignalProxy1< void,const Glib::RefPtr<Gdk::Screen>& > signal_screen_changed();
-/**
+ /**
* @par Prototype:
- * <tt>void %composited_changed()</tt>
+ * <tt>void on_my_%composited_changed()</tt>
*/
Glib::SignalProxy0< void > signal_composited_changed();
@@ -2773,6 +2902,18 @@ public:
//Keybinding signals:
//TODO: This might actually be useful. See the C docs.
+
+ // Tooltip signal
+
+ /**
+ * @par Prototype:
+ * <tt>bool on_my_%query_tooltip(int x, int y, bool keyboard_tooltip, const Glib::RefPtr<Tooltip>& tooltip)</tt>
+ */
+
+ Glib::SignalProxy4< bool,int,int,bool,const Glib::RefPtr<Tooltip>& > signal_query_tooltip();
+
+
+ //TODO: Wrap this (added in GTK+ 2.8 but forgotten): _WRAP_SIGNAL(bool grab_broken_event(GdkEventGrabBroken* event), "grab_broken_event", no_default_handler)
#ifdef GLIBMM_PROPERTIES_ENABLED
/** The name of the widget.
@@ -3085,6 +3226,66 @@ public:
Glib::PropertyProxy_ReadOnly<Gdk::ExtensionMode> property_extension_events() const;
#endif //#GLIBMM_PROPERTIES_ENABLED
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether this widget has a tooltip.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<bool> property_has_tooltip() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** Whether this widget has a tooltip.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<bool> property_has_tooltip() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** The contents of the tooltip for this widget.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<Glib::ustring> property_tooltip_markup() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** The contents of the tooltip for this widget.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<Glib::ustring> property_tooltip_markup() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** The contents of the tooltip for this widget.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<Glib::ustring> property_tooltip_text() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** The contents of the tooltip for this widget.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<Glib::ustring> property_tooltip_text() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
protected:
//comment in GTK+ header: "seldomly overidden"
@@ -3131,8 +3332,8 @@ protected:
* isn't very useful otherwise. Many times when you think you might
* need it, a better approach is to connect to a signal that will be
* called after the widget is realized automatically, such as
- * "expose_event". Or simply Glib::signal_connect_after() to the
- * "realize" signal.
+ * GtkWidget::expose-event. Or simply Glib::signal_connect_after() to the
+ * GtkWidget::realize signal.
*/
void realize();
@@ -3203,10 +3404,13 @@ void Widget::get_style_property(const Glib::ustring& the_property_name, Property
namespace Glib
{
- /** @relates Gtk::Widget
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Widget
*/
Gtk::Widget* wrap(GtkWidget* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/window.cc b/libs/gtkmm2/gtk/gtkmm/window.cc
index 6da98aec21..c63f1afc56 100644
--- a/libs/gtkmm2/gtk/gtkmm/window.cc
+++ b/libs/gtkmm2/gtk/gtkmm/window.cc
@@ -412,7 +412,8 @@ GType WindowGroup::get_base_type()
WindowGroup::WindowGroup()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(windowgroup_class_.init()))
{
}
@@ -501,7 +502,7 @@ void Window_Class::class_init_function(void* g_class, void* class_data)
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Window_Class::set_focus_callback(GtkWindow* self, GtkWidget* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -509,37 +510,40 @@ void Window_Class::set_focus_callback(GtkWindow* self, GtkWidget* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- obj->on_set_focus(Glib::wrap(p0)
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_set_focus(Glib::wrap(p0)
);
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->set_focus)
- (*base->set_focus)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->set_focus)
+ (*base->set_focus)(self, p0);
}
gboolean Window_Class::frame_event_callback(GtkWindow* self, GdkEvent* p0)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
@@ -547,32 +551,34 @@ gboolean Window_Class::frame_event_callback(GtkWindow* self, GdkEvent* p0)
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- #endif //GLIBMM_EXCEPTIONS_ENABLED
- // Call the virtual member method, which derived classes might override.
- return static_cast<int>(obj->on_frame_event(p0));
- #ifdef GLIBMM_EXCEPTIONS_ENABLED
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ return static_cast<int>(obj->on_frame_event(p0));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- #endif //GLIBMM_EXCEPTIONS_ENABLED
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->frame_event)
- return (*base->frame_event)(self, p0);
- }
+ // Call the original underlying C function:
+ if(base && base->frame_event)
+ return (*base->frame_event)(self, p0);
typedef gboolean RType;
return RType();
@@ -620,8 +626,9 @@ GType Window::get_base_type()
Window::Window(WindowType type)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::Bin(Glib::ConstructParams(window_class_.init(), "type", ((GtkWindowType)(type)), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::Bin(Glib::ConstructParams(window_class_.init(), "type", ((GtkWindowType)(type)), static_cast<char*>(0)))
{
}
@@ -735,6 +742,16 @@ const Window* Window::get_transient_for() const
return const_cast<Window*>(this)->get_transient_for();
}
+void Window::set_opacity(double opacity)
+{
+gtk_window_set_opacity(gobj(), opacity);
+}
+
+double Window::get_opacity() const
+{
+ return gtk_window_get_opacity(const_cast<GtkWindow*>(gobj()));
+}
+
void Window::set_type_hint(Gdk::WindowTypeHint hint)
{
gtk_window_set_type_hint(gobj(), ((GdkWindowTypeHint)(hint)));
@@ -775,6 +792,26 @@ bool Window::get_urgency_hint() const
return gtk_window_get_urgency_hint(const_cast<GtkWindow*>(gobj()));
}
+void Window::set_accept_focus(bool setting)
+{
+gtk_window_set_accept_focus(gobj(), static_cast<int>(setting));
+}
+
+bool Window::get_accept_focus() const
+{
+ return gtk_window_get_accept_focus(const_cast<GtkWindow*>(gobj()));
+}
+
+void Window::set_focus_on_map(bool setting)
+{
+gtk_window_set_focus_on_map(gobj(), static_cast<int>(setting));
+}
+
+bool Window::get_focus_on_map() const
+{
+ return gtk_window_get_focus_on_map(const_cast<GtkWindow*>(gobj()));
+}
+
bool Window::get_destroy_with_parent() const
{
return gtk_window_get_destroy_with_parent(const_cast<GtkWindow*>(gobj()));
@@ -932,6 +969,18 @@ Glib::ListHandle< Glib::RefPtr<Gdk::Pixbuf> > Window::get_default_icon_list()
}
+void Window::set_default_icon(const Glib::RefPtr<Gdk::Pixbuf>& icon)
+{
+gtk_window_set_default_icon(Glib::unwrap(icon));
+}
+
+
+void Window::set_default_icon_name(const Glib::ustring& name)
+{
+gtk_window_set_default_icon_name(name.c_str());
+}
+
+
#ifdef GLIBMM_EXCEPTIONS_ENABLED
bool Window::set_default_icon_from_file(const std::string& filename)
#else
@@ -1115,12 +1164,6 @@ void Window::reshow_with_initial_size()
gtk_window_reshow_with_initial_size(gobj());
}
-void Window::set_default_icon(const Glib::RefPtr<Gdk::Pixbuf>& icon)
-{
-gtk_window_set_default_icon(Glib::unwrap(icon));
-}
-
-
void Window::set_keep_above(bool setting)
{
gtk_window_set_keep_above(gobj(), static_cast<int>(setting));
@@ -1397,6 +1440,20 @@ Glib::PropertyProxy_ReadOnly<Gdk::Gravity> Window::property_gravity() const
#endif //GLIBMM_PROPERTIES_ENABLED
#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<Window*> Window::property_transient_for()
+{
+ return Glib::PropertyProxy<Window*>(this, "transient-for");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<Window*> Window::property_transient_for() const
+{
+ return Glib::PropertyProxy_ReadOnly<Window*>(this, "transient-for");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
Glib::PropertyProxy<bool> Window::property_urgency_hint()
{
return Glib::PropertyProxy<bool>(this, "urgency-hint");
@@ -1424,6 +1481,20 @@ Glib::PropertyProxy_ReadOnly<bool> Window::property_deletable() const
}
#endif //GLIBMM_PROPERTIES_ENABLED
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy<double> Window::property_opacity()
+{
+ return Glib::PropertyProxy<double>(this, "opacity");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_ReadOnly<double> Window::property_opacity() const
+{
+ return Glib::PropertyProxy_ReadOnly<double>(this, "opacity");
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Gtk::Window::on_set_focus(Widget* focus)
diff --git a/libs/gtkmm2/gtk/gtkmm/window.h b/libs/gtkmm2/gtk/gtkmm/window.h
index f9424e2de9..ee2d36d172 100644
--- a/libs/gtkmm2/gtk/gtkmm/window.h
+++ b/libs/gtkmm2/gtk/gtkmm/window.h
@@ -54,7 +54,7 @@ namespace Gtk
class AccelGroup;
class WindowGroup;
-/** TODO
+/** Limit the effect of grabs
*/
class WindowGroup : public Glib::Object
@@ -516,7 +516,7 @@ public:
*/
Glib::PropertyProxy_ReadOnly<bool> property_skip_pager_hint() const;
#endif //#GLIBMM_PROPERTIES_ENABLED
-
+
#ifdef GLIBMM_PROPERTIES_ENABLED
/** Unique identifier for the window to be used when restoring a session.
*
@@ -578,6 +578,26 @@ public:
#endif //#GLIBMM_PROPERTIES_ENABLED
#ifdef GLIBMM_PROPERTIES_ENABLED
+/** The transient parent of the dialog.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<Window*> property_transient_for() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** The transient parent of the dialog.
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<Window*> property_transient_for() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
/** TRUE if the window should be brought to the user's attention.
*
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
@@ -617,6 +637,26 @@ public:
Glib::PropertyProxy_ReadOnly<bool> property_deletable() const;
#endif //#GLIBMM_PROPERTIES_ENABLED
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+/** The opacity of the window
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy<double> property_opacity() ;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+/** The opacity of the window
+ *
+ * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
+ * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
+ * the value of the property changes.
+ */
+ Glib::PropertyProxy_ReadOnly<double> property_opacity() const;
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
bool is_toplevel() const;
bool is_dialog() const;
@@ -629,17 +669,17 @@ public:
Glib::RefPtr<const Gdk::Window> get_frame() const;
-/**
+ /**
* @par Prototype:
- * <tt>void %set_focus(Widget* focus)</tt>
+ * <tt>void on_my_%set_focus(Widget* focus)</tt>
*/
Glib::SignalProxy1< void,Widget* > signal_set_focus();
-/**
+ /**
* @par Prototype:
- * <tt>bool %frame_event(GdkEvent* event)</tt>
+ * <tt>bool on_my_%frame_event(GdkEvent* event)</tt>
*/
Glib::SignalProxy1< bool,GdkEvent* > signal_frame_event();
@@ -703,8 +743,7 @@ public:
//: Returns the role of the window.
//- See {set_role()} for further explanation.
- /** Returns the role of the window. See set_role() for
- * further explanation.
+ /** Return value: the role of the window if set, or <tt>0</tt>. The
* @return The role of the window if set, or <tt>0</tt>. The
* returned is owned by the widget and must not be modified
* or freed.
@@ -796,9 +835,8 @@ public:
* functions in GTK+ will sometimes call
* set_transient_for() on your behalf.
*
- * On Windows, this function will and put the child window
- * on top of the parent, much as the window manager would have
- * done on X.
+ * On Windows, this function puts the child window on top of the parent,
+ * much as the window manager would have done on X.
* @param parent Parent window.
*/
void set_transient_for(Window& parent);
@@ -819,6 +857,30 @@ public:
const Window* get_transient_for() const;
+ /** Request the windowing system to make @a window partially transparent,
+ * with opacity 0 being fully transparent and 1 fully opaque. (Values
+ * of the opacity parameter are clamped to the [0,1] range.) On X11
+ * this has any effect only on X screens with a compositing manager
+ * running. See Gtk::Widget::is_composited(). On Windows it should work
+ * always.
+ *
+ * Note that setting a window's opacity after the window has been
+ * shown causes it to flicker once on Windows.
+ *
+ * @newin2p12
+ * @param opacity Desired opacity, between 0 and 1.
+ */
+ void set_opacity(double opacity);
+
+ /** Fetches the requested opacity for this window. See
+ * set_opacity().
+ * @return The requested opacity for this window.
+ *
+ * @newin2p12.
+ */
+ double get_opacity() const;
+
+
/** By setting the type hint for the window, you allow the window
* manager to decorate and handle the window in a way which is
* suitable to the function of the window in your application.
@@ -830,7 +892,6 @@ public:
* @param hint The window type.
*/
void set_type_hint(Gdk::WindowTypeHint hint);
-
/** Gets the type hint for this window. See set_type_hint().
* @return The type hint for @a window .
@@ -888,12 +949,44 @@ public:
*/
bool get_urgency_hint() const;
+
+ /** Windows may set a hint asking the desktop environment not to receive
+ * the input focus. This function sets this hint.
+ *
+ * @newin2p4
+ * @param setting <tt>true</tt> to let this window receive input focus.
+ */
+ void set_accept_focus(bool setting = true);
+
+ /** Gets the value set by set_accept_focus().
+ * @return <tt>true</tt> if window should receive the input focus
+ *
+ * @newin2p4.
+ */
+ bool get_accept_focus() const;
+
+ /** Windows may set a hint asking the desktop environment not to receive
+ * the input focus when the window is mapped. This function sets this
+ * hint.
+ *
+ * @newin2p6
+ * @param setting <tt>true</tt> to let this window receive input focus on map.
+ */
+ void set_focus_on_map(bool setting = true);
+
+ /** Gets the value set by set_focus_on_map().
+ * @return <tt>true</tt> if window should receive the input focus when
+ * mapped.
+ *
+ * @newin2p6.
+ */
+ bool get_focus_on_map() const;
+
//_WRAP_METHOD(void set_destroy_with_parent(bool setting = true), gtk_window_set_destroy_with_parent)
// I don't that that this is ever a good thing for C++.murrayc.
- /** Returns whether the window will be destroyed with its transient parent. See
- * set_destroy_with_parent().
+ /** Return value: <tt>true</tt> if the window will be destroyed with its transient parent.
* @return <tt>true</tt> if the window will be destroyed with its transient parent.
*/
bool get_destroy_with_parent() const;
@@ -953,14 +1046,14 @@ public:
void set_screen(const Glib::RefPtr<Gdk::Screen>& screen);
- /** Returns the Gdk::Screen associated with @a window .
+ /** Return value: a Gdk::Screen.
* @return A Gdk::Screen.
*
* @newin2p2.
*/
Glib::RefPtr<Gdk::Screen> get_screen();
- /** Returns the Gdk::Screen associated with @a window .
+ /** Return value: a Gdk::Screen.
* @return A Gdk::Screen.
*
* @newin2p2.
@@ -979,7 +1072,7 @@ public:
* frame_event you can receive all events targeted at the frame.
*
* This function is used by the linux-fb port to implement managed
- * windows, but it could concievably be used by X-programs that
+ * windows, but it could conceivably be used by X-programs that
* want to do their own window decorations.
* @param setting A boolean.
*/
@@ -1043,15 +1136,33 @@ public:
*/
void set_decorated(bool setting = true);
- /** Returns whether the window has been set to have decorations
- * such as a title bar via set_decorated().
+ /** Return value: <tt>true</tt> if the window has been set to have decorations
* @return <tt>true</tt> if the window has been set to have decorations.
*/
bool get_decorated() const;
+ /** By default, windows have a close button in the window frame. Some
+ * window managers allow GTK+ to
+ * disable this button. If you set the deletable property to <tt>false</tt>
+ * using this function, GTK+ will do its best to convince the window
+ * manager not to show a close button. Depending on the system, this
+ * function may not have any effect when called on a window that is
+ * already visible, so you should call it before calling gtk_window_show().
+ *
+ * On Windows, this function always works, since there's no window manager
+ * policy involved.
+ *
+ * @newin2p10
+ * @param setting <tt>true</tt> to decorate the window as deletable.
+ */
void set_deletable(bool setting = true);
+ /** Return value: <tt>true</tt> if the window has been set to have a close button
+ * @return <tt>true</tt> if the window has been set to have a close button
+ *
+ * @newin2p10.
+ */
bool get_deletable() const;
@@ -1172,6 +1283,23 @@ public:
/** Sets an icon to be used as fallback for windows that haven't
+ * had set_icon() called on them from a pixbuf.
+ *
+ * @newin2p4
+ * @param icon The icon.
+ */
+ static void set_default_icon(const Glib::RefPtr<Gdk::Pixbuf>& icon);
+
+ /** Sets an icon to be used as fallback for windows that haven't
+ * had set_icon_list() called on them from a named
+ * themed icon, see set_icon_name().
+ *
+ * @newin2p6
+ * @param name The name of the themed icon.
+ */
+ static void set_default_icon_name(const Glib::ustring& name);
+
+ /** Sets an icon to be used as fallback for windows that haven't
* had set_icon_list() called on them from a file
* on disk. Warns on failure if @a err is <tt>0</tt>.
* @param filename Location of icon file.
@@ -1186,12 +1314,11 @@ public:
#endif //GLIBMM_EXCEPTIONS_ENABLED
- /** By default, after showing the first Gtk::Window for each Gdk::Screen,
- * GTK+ calls gdk_screen_notify_startup_complete(). Call this
- * function to disable the automatic startup notification. You might
- * do this if your first window is a splash screen, and you want to
- * delay notification until after your real main window has been
- * shown, for example.
+ /** By default, after showing the first Gtk::Window, GTK+ calls
+ * gdk_notify_startup_complete(). Call this function to disable
+ * the automatic startup notification. You might do this if your
+ * first window is a splash screen, and you want to delay notification
+ * until after your real main window has been shown, for example.
*
* In that example, you would disable startup notification
* temporarily, show your splash screen, then re-enable it so that
@@ -1214,19 +1341,14 @@ public:
void set_modal(bool modal = true);
- /** Returns whether the window is modal. See set_modal().
+ /** Return value: <tt>true</tt> if the window is set to be modal and
* @return <tt>true</tt> if the window is set to be modal and
* establishes a grab when shown.
*/
bool get_modal() const;
- /** Returns a list of all existing toplevel windows. The widgets
- * in the list are not individually referenced. If you want
- * to iterate through the list and perform actions involving
- * callbacks that might destroy the widgets, you <em>must</em> call
- * <tt>g_list_foreach (result, (GFunc)g_object_ref, <tt>0</tt>)</tt> first, and
- * then unref all the widgets afterwards.
+ /** Return value: list of toplevel widgets
* @return List of toplevel widgets.
*/
static Glib::ListHandle<Window*> list_toplevels();
@@ -1261,8 +1383,7 @@ public:
void set_mnemonic_modifier(Gdk::ModifierType modifier);
- /** Returns the mnemonic modifier for this window. See
- * set_mnemonic_modifier().
+ /** Return value: the modifier mask used to activate
* @return The modifier mask used to activate
* mnemonics on this window.
*/
@@ -1284,7 +1405,7 @@ public:
* where the user can see it.
*
* If you are calling this function in response to a user interaction,
- * it is preferable to use gdk_window_present_with_time().
+ * it is preferable to use present_with_time().
*/
void present();
@@ -1576,7 +1697,8 @@ public:
* reference point. So, to place a window in the bottom right corner
* you would first set gravity to south east, then write:
* <tt>gtk_window_move (window, gdk_screen_width() - window_width,
- * gdk_screen_height() - window_height)</tt>.
+ * gdk_screen_height() - window_height)</tt> (note that this
+ * example does not take multi-head scenarios into account).
*
* The Extended Window Manager Hints specification at
* http://www.freedesktop.org/Standards/wm-spec has a
@@ -1703,8 +1825,18 @@ public:
bool parse_geometry(const Glib::ustring& geometry);
+ /** Returns: the Gtk::WindowGroup for a window or the default group
+ * @return The Gtk::WindowGroup for a window or the default group
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<WindowGroup> get_group();
+ /** Returns: the Gtk::WindowGroup for a window or the default group
+ * @return The Gtk::WindowGroup for a window or the default group
+ *
+ * @newin2p10.
+ */
Glib::RefPtr<const WindowGroup> get_group() const;
@@ -1715,14 +1847,6 @@ public:
void reshow_with_initial_size();
- /** Sets an icon to be used as fallback for windows that haven't
- * had set_icon() called on them from a pixbuf.
- *
- * @newin2p4
- * @param icon The icon.
- */
- static void set_default_icon(const Glib::RefPtr<Gdk::Pixbuf>& icon);
-
/** Asks to keep @a window above, so that it stays on top. Note that
* you shouldn't assume the window is definitely above afterward,
* because other entities (e.g. the user or window manager) could not keep it above,
@@ -1807,10 +1931,13 @@ private:
namespace Glib
{
- /** @relates Gtk::WindowGroup
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::WindowGroup
*/
Glib::RefPtr<Gtk::WindowGroup> wrap(GtkWindowGroup* object, bool take_copy = false);
}
@@ -1818,10 +1945,13 @@ namespace Glib
namespace Glib
{
- /** @relates Gtk::Window
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Gtk::Window
*/
Gtk::Window* wrap(GtkWindow* object, bool take_copy = false);
} //namespace Glib
diff --git a/libs/gtkmm2/gtk/gtkmm/wrap_init.cc b/libs/gtkmm2/gtk/gtkmm/wrap_init.cc
index 6bf54af509..ff04959d7c 100644
--- a/libs/gtkmm2/gtk/gtkmm/wrap_init.cc
+++ b/libs/gtkmm2/gtk/gtkmm/wrap_init.cc
@@ -28,6 +28,7 @@
#include "assistant.h"
#include "bin.h"
#include "box.h"
+#include "builder.h"
#include "button.h"
#include "buttonbox.h"
#include "calendar.h"
@@ -111,6 +112,7 @@
#include "radiotoolbutton.h"
#include "range.h"
#include "rc.h"
+#include "recentaction.h"
#include "recentchooser.h"
#include "recentchooserdialog.h"
#include "recentchoosermenu.h"
@@ -120,6 +122,7 @@
#include "recentmanager.h"
#include "ruler.h"
#include "scale.h"
+#include "scalebutton.h"
#include "scrollbar.h"
#include "scrolledwindow.h"
#include "selectiondata.h"
@@ -152,6 +155,7 @@
#include "toolitem.h"
#include "toolbutton.h"
#include "tooltips.h"
+#include "tooltip.h"
#include "treedragdest.h"
#include "treedragsource.h"
#include "treepath.h"
@@ -166,6 +170,7 @@
#include "treeview.h"
#include "treeviewcolumn.h"
#include "viewport.h"
+#include "volumebutton.h"
#include "uimanager.h"
#include "widget.h"
#include "window.h"
@@ -188,6 +193,7 @@ GType gtk_aspect_frame_get_type(void);
GType gtk_assistant_get_type(void);
GType gtk_bin_get_type(void);
GType gtk_box_get_type(void);
+GType gtk_builder_get_type(void);
GType gtk_button_get_type(void);
GType gtk_button_box_get_type(void);
GType gtk_calendar_get_type(void);
@@ -297,6 +303,7 @@ GType gtk_radio_menu_item_get_type(void);
GType gtk_radio_tool_button_get_type(void);
GType gtk_range_get_type(void);
GType gtk_rc_style_get_type(void);
+GType gtk_recent_action_get_type(void);
GType gtk_recent_chooser_dialog_get_type(void);
GType gtk_recent_chooser_menu_get_type(void);
GType gtk_recent_chooser_widget_get_type(void);
@@ -304,6 +311,7 @@ GType gtk_recent_filter_get_type(void);
GType gtk_recent_manager_get_type(void);
GType gtk_ruler_get_type(void);
GType gtk_scale_get_type(void);
+GType gtk_scale_button_get_type(void);
GType gtk_scrollbar_get_type(void);
GType gtk_scrolled_window_get_type(void);
GType gtk_separator_get_type(void);
@@ -332,7 +340,10 @@ GType gtk_toggle_tool_button_get_type(void);
GType gtk_tool_button_get_type(void);
GType gtk_tool_item_get_type(void);
GType gtk_toolbar_get_type(void);
+GType gtk_tooltip_get_type(void);
+#ifndef GTKMM_DISABLE_DEPRECATED
GType gtk_tooltips_get_type(void);
+#endif // *_DISABLE_DEPRECATED
GType gtk_tree_model_filter_get_type(void);
GType gtk_tree_model_sort_get_type(void);
GType gtk_tree_selection_get_type(void);
@@ -348,12 +359,14 @@ GType gtk_vscale_get_type(void);
GType gtk_vscrollbar_get_type(void);
GType gtk_vseparator_get_type(void);
GType gtk_viewport_get_type(void);
+GType gtk_volume_button_get_type(void);
GType gtk_widget_get_type(void);
GType gtk_window_get_type(void);
GType gtk_window_group_get_type(void);
//Declarations of the *_error_quark() functions:
+GQuark gtk_builder_error_quark(void);
GQuark gtk_file_chooser_error_quark(void);
GQuark gtk_icon_theme_error_quark(void);
GQuark gtk_print_error_quark(void);
@@ -376,6 +389,7 @@ namespace Gtk { class AspectFrame_Class { public: static Glib::ObjectBase* wrap
namespace Gtk { class Assistant_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class Bin_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class Box_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
+namespace Gtk { class Builder_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class Button_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class ButtonBox_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class Calendar_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
@@ -485,6 +499,7 @@ namespace Gtk { class RadioMenuItem_Class { public: static Glib::ObjectBase* wr
namespace Gtk { class RadioToolButton_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class Range_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class RcStyle_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
+namespace Gtk { class RecentAction_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class RecentChooserDialog_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class RecentChooserMenu_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class RecentChooserWidget_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
@@ -492,6 +507,7 @@ namespace Gtk { class RecentFilter_Class { public: static Glib::ObjectBase* wra
namespace Gtk { class RecentManager_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class Ruler_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class Scale_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
+namespace Gtk { class ScaleButton_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class Scrollbar_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class ScrolledWindow_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class Separator_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
@@ -520,7 +536,10 @@ namespace Gtk { class ToggleToolButton_Class { public: static Glib::ObjectBase*
namespace Gtk { class ToolButton_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class ToolItem_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class Toolbar_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
+namespace Gtk { class Tooltip_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
+#ifndef GTKMM_DISABLE_DEPRECATED
namespace Gtk { class Tooltips_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
+#endif // *_DISABLE_DEPRECATED
namespace Gtk { class TreeModelFilter_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class TreeModelSort_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class TreeSelection_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
@@ -536,6 +555,7 @@ namespace Gtk { class VScale_Class { public: static Glib::ObjectBase* wrap_new(
namespace Gtk { class VScrollbar_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class VSeparator_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class Viewport_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
+namespace Gtk { class VolumeButton_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class Widget_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class Window_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
namespace Gtk { class WindowGroup_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
@@ -545,6 +565,7 @@ namespace Gtk {
void wrap_init()
{
// Register Error domains:
+ Glib::Error::register_domain(gtk_builder_error_quark(), &Gtk::BuilderError::throw_func);
Glib::Error::register_domain(gtk_file_chooser_error_quark(), &Gtk::FileChooserError::throw_func);
Glib::Error::register_domain(gtk_icon_theme_error_quark(), &Gtk::IconThemeError::throw_func);
Glib::Error::register_domain(gtk_print_error_quark(), &Gtk::PrintError::throw_func);
@@ -564,6 +585,7 @@ void wrap_init()
Glib::wrap_register(gtk_assistant_get_type(), &Gtk::Assistant_Class::wrap_new);
Glib::wrap_register(gtk_bin_get_type(), &Gtk::Bin_Class::wrap_new);
Glib::wrap_register(gtk_box_get_type(), &Gtk::Box_Class::wrap_new);
+ Glib::wrap_register(gtk_builder_get_type(), &Gtk::Builder_Class::wrap_new);
Glib::wrap_register(gtk_button_get_type(), &Gtk::Button_Class::wrap_new);
Glib::wrap_register(gtk_button_box_get_type(), &Gtk::ButtonBox_Class::wrap_new);
Glib::wrap_register(gtk_calendar_get_type(), &Gtk::Calendar_Class::wrap_new);
@@ -673,6 +695,7 @@ void wrap_init()
Glib::wrap_register(gtk_radio_tool_button_get_type(), &Gtk::RadioToolButton_Class::wrap_new);
Glib::wrap_register(gtk_range_get_type(), &Gtk::Range_Class::wrap_new);
Glib::wrap_register(gtk_rc_style_get_type(), &Gtk::RcStyle_Class::wrap_new);
+ Glib::wrap_register(gtk_recent_action_get_type(), &Gtk::RecentAction_Class::wrap_new);
Glib::wrap_register(gtk_recent_chooser_dialog_get_type(), &Gtk::RecentChooserDialog_Class::wrap_new);
Glib::wrap_register(gtk_recent_chooser_menu_get_type(), &Gtk::RecentChooserMenu_Class::wrap_new);
Glib::wrap_register(gtk_recent_chooser_widget_get_type(), &Gtk::RecentChooserWidget_Class::wrap_new);
@@ -680,6 +703,7 @@ void wrap_init()
Glib::wrap_register(gtk_recent_manager_get_type(), &Gtk::RecentManager_Class::wrap_new);
Glib::wrap_register(gtk_ruler_get_type(), &Gtk::Ruler_Class::wrap_new);
Glib::wrap_register(gtk_scale_get_type(), &Gtk::Scale_Class::wrap_new);
+ Glib::wrap_register(gtk_scale_button_get_type(), &Gtk::ScaleButton_Class::wrap_new);
Glib::wrap_register(gtk_scrollbar_get_type(), &Gtk::Scrollbar_Class::wrap_new);
Glib::wrap_register(gtk_scrolled_window_get_type(), &Gtk::ScrolledWindow_Class::wrap_new);
Glib::wrap_register(gtk_separator_get_type(), &Gtk::Separator_Class::wrap_new);
@@ -708,7 +732,10 @@ void wrap_init()
Glib::wrap_register(gtk_tool_button_get_type(), &Gtk::ToolButton_Class::wrap_new);
Glib::wrap_register(gtk_tool_item_get_type(), &Gtk::ToolItem_Class::wrap_new);
Glib::wrap_register(gtk_toolbar_get_type(), &Gtk::Toolbar_Class::wrap_new);
+ Glib::wrap_register(gtk_tooltip_get_type(), &Gtk::Tooltip_Class::wrap_new);
+#ifndef GTKMM_DISABLE_DEPRECATED
Glib::wrap_register(gtk_tooltips_get_type(), &Gtk::Tooltips_Class::wrap_new);
+#endif // *_DISABLE_DEPRECATED
Glib::wrap_register(gtk_tree_model_filter_get_type(), &Gtk::TreeModelFilter_Class::wrap_new);
Glib::wrap_register(gtk_tree_model_sort_get_type(), &Gtk::TreeModelSort_Class::wrap_new);
Glib::wrap_register(gtk_tree_selection_get_type(), &Gtk::TreeSelection_Class::wrap_new);
@@ -724,6 +751,7 @@ void wrap_init()
Glib::wrap_register(gtk_vscrollbar_get_type(), &Gtk::VScrollbar_Class::wrap_new);
Glib::wrap_register(gtk_vseparator_get_type(), &Gtk::VSeparator_Class::wrap_new);
Glib::wrap_register(gtk_viewport_get_type(), &Gtk::Viewport_Class::wrap_new);
+ Glib::wrap_register(gtk_volume_button_get_type(), &Gtk::VolumeButton_Class::wrap_new);
Glib::wrap_register(gtk_widget_get_type(), &Gtk::Widget_Class::wrap_new);
Glib::wrap_register(gtk_window_get_type(), &Gtk::Window_Class::wrap_new);
Glib::wrap_register(gtk_window_group_get_type(), &Gtk::WindowGroup_Class::wrap_new);
@@ -741,6 +769,7 @@ void wrap_init()
Gtk::Assistant::get_type();
Gtk::Bin::get_type();
Gtk::Box::get_type();
+ Gtk::Builder::get_type();
Gtk::Button::get_type();
Gtk::ButtonBox::get_type();
Gtk::Calendar::get_type();
@@ -850,6 +879,7 @@ void wrap_init()
Gtk::RadioToolButton::get_type();
Gtk::Range::get_type();
Gtk::RcStyle::get_type();
+ Gtk::RecentAction::get_type();
Gtk::RecentChooserDialog::get_type();
Gtk::RecentChooserMenu::get_type();
Gtk::RecentChooserWidget::get_type();
@@ -857,6 +887,7 @@ void wrap_init()
Gtk::RecentManager::get_type();
Gtk::Ruler::get_type();
Gtk::Scale::get_type();
+ Gtk::ScaleButton::get_type();
Gtk::Scrollbar::get_type();
Gtk::ScrolledWindow::get_type();
Gtk::Separator::get_type();
@@ -885,7 +916,10 @@ void wrap_init()
Gtk::ToolButton::get_type();
Gtk::ToolItem::get_type();
Gtk::Toolbar::get_type();
+ Gtk::Tooltip::get_type();
+#ifndef GTKMM_DISABLE_DEPRECATED
Gtk::Tooltips::get_type();
+#endif // *_DISABLE_DEPRECATED
Gtk::TreeModelFilter::get_type();
Gtk::TreeModelSort::get_type();
Gtk::TreeSelection::get_type();
@@ -901,6 +935,7 @@ void wrap_init()
Gtk::VScrollbar::get_type();
Gtk::VSeparator::get_type();
Gtk::Viewport::get_type();
+ Gtk::VolumeButton::get_type();
Gtk::Widget::get_type();
Gtk::Window::get_type();
Gtk::WindowGroup::get_type();
diff --git a/libs/gtkmm2/gtk/gtkmmconfig.h.in b/libs/gtkmm2/gtk/gtkmmconfig.h.in
new file mode 100644
index 0000000000..4fbbecf071
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmmconfig.h.in
@@ -0,0 +1,49 @@
+#ifndef _GTKMM_CONFIG_H
+#define _GTKMM_CONFIG_H 1
+
+#include <gdkmmconfig.h>
+
+/* version numbers */
+#undef GTKMM_MAJOR_VERSION
+#undef GTKMM_MINOR_VERSION
+#undef GTKMM_MICRO_VERSION
+
+#undef GTKMM_ATKMM_ENABLED
+#undef GTKMM_MAEMO_EXTENSIONS_ENABLED
+
+
+#ifdef GLIBMM_CONFIGURE
+/* compiler feature tests that are used during compile time and run-time
+ by gtkmm only. */
+
+/* SUN Forte, AIX, and Tru64 have the problem with flockfile and
+ funlockfile - configure finds it but the compiler can not find it
+ while compiling demowindow.cc. undef HAVE_FLOCKFILE and
+ HAVE_FUNLOCKFILE for now, so that it builds on those platforms. */
+
+#undef HAVE_FLOCKFILE
+#undef HAVE_FUNLOCKFILE
+#undef HAVE_MKFIFO
+#undef GETC_UNLOCKED
+
+#endif /* GLIBMM_CONFIGURE */
+
+
+#ifdef GLIBMM_DLL
+ #if defined(GTKMM_BUILD) && defined(_WINDLL)
+ // Do not dllexport as it is handled by gendef on MSVC
+ #define GTKMM_API
+ #elif !defined(GTKMM_BUILD)
+ #define GTKMM_API __declspec(dllimport)
+ #else
+ /* Build a static library */
+ #define GTKMM_API
+ #endif /* GTKMM_BUILD - _WINDLL */
+#else
+ #define GTKMM_API
+#endif /* GLIBMM_DLL */
+
+#undef GTKMM_DISABLE_DEPRECATED
+
+#endif /* _GTKMM_CONFIG_H */
+
diff --git a/libs/gtkmm2/gtk/src/Makefile.am b/libs/gtkmm2/gtk/src/Makefile.am
new file mode 100644
index 0000000000..dc2962344f
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/Makefile.am
@@ -0,0 +1,11 @@
+## Copyright (c) 2001
+## The gtkmm development team.
+
+sublib_name = gtkmm
+sublib_namespace = Gtk
+sublib_parentdir = gtkmm
+files_defs = gtk.defs gtk_methods.defs gtk_signals.defs gtk_vfuncs.defs gtk_other.defs gtk_enums.defs \
+ gtk_docs.xml gtk_docs_override.xml
+
+include $(top_srcdir)/build_shared/Makefile_gensrc.am_fragment
+
diff --git a/libs/gtkmm2/gtk/src/Makefile.in b/libs/gtkmm2/gtk/src/Makefile.in
new file mode 100644
index 0000000000..a7de743675
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/Makefile.in
@@ -0,0 +1,494 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+
+# This file is include by other Makefile.am files, using the new automake include feature.
+# The include happens in Makefile.am, not Makefile.in or Makefile,
+# so it's like copy-and-pasting this into each of those Makefile.am files.
+
+# Built files
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = README $(srcdir)/../src/Makefile_list_of_hg.am_fragment \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment \
+ $(top_srcdir)/build_shared/Makefile_gensrc.am_fragment \
+ $(top_srcdir)/tools/Makefile_list_of_sources.am_fragment \
+ $(top_srcdir)/tools/m4/Makefile_list_of_sources.am_fragment
+subdir = gtk/src
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+sublib_name = gtkmm
+sublib_namespace = Gtk
+sublib_parentdir = gtkmm
+files_defs = gtk.defs gtk_methods.defs gtk_signals.defs gtk_vfuncs.defs gtk_other.defs gtk_enums.defs \
+ gtk_docs.xml gtk_docs_override.xml
+
+tools_dir = $(top_srcdir)/tools
+tools_dir_m4 = $(top_srcdir)/tools/m4
+tools_dir_pm = $(top_srcdir)/tools/pm
+gensrc_destdir = $(srcdir)/../$(sublib_name)
+stamp_dir = $(srcdir)/.stamps
+files_tools_m4 = convert.m4 convert_gtkmm.m4 convert_atk.m4 convert_gdk.m4 \
+ convert_gtk.m4 convert_pango.m4
+
+tools_m4 = $(files_tools_m4:%.m4=$(tools_dir_m4)/%.m4)
+files_posix_hg = pagesetupunixdialog.hg printunixdialog.hg \
+ printer.hg printjob.hg
+
+files_win32_hg =
+files_general_hg = aboutdialog.hg accelgroup.hg accellabel.hg action.hg actiongroup.hg adjustment.hg alignment.hg \
+ arrow.hg aspectframe.hg assistant.hg \
+ bin.hg box.hg builder.hg button.hg buttonbox.hg \
+ calendar.hg celleditable.hg celllayout.hg cellview.hg \
+ cellrenderer.hg cellrendereraccel.hg cellrenderercombo.hg cellrendererpixbuf.hg cellrendererprogress.hg cellrendererspin.hg cellrenderertext.hg cellrenderertoggle.hg \
+ checkbutton.hg checkmenuitem.hg clipboard.hg colorselection.hg colorbutton.hg \
+ combobox.hg comboboxentry.hg container.hg curve.hg \
+ dialog.hg drawingarea.hg \
+ editable.hg entry.hg entrycompletion.hg enums.hg eventbox.hg expander.hg \
+ filechooser.hg filechooserbutton.hg filechooserwidget.hg filechooserdialog.hg filefilter.hg \
+ fileselection.hg fixed.hg fontbutton.hg fontselection.hg frame.hg \
+ handlebox.hg \
+ iconfactory.hg iconset.hg iconsource.hg iconinfo.hg icontheme.hg iconview.hg image.hg imagemenuitem.hg inputdialog.hg invisible.hg item.hg \
+ label.hg layout.hg linkbutton.hg liststore.hg \
+ main.hg menu.hg menubar.hg menuitem.hg menushell.hg menutoolbutton.hg messagedialog.hg misc.hg \
+ notebook.hg object.hg optionmenu.hg \
+ paned.hg plug.hg progressbar.hg \
+ papersize.hg pagesetup.hg printsettings.hg printcontext.hg printoperation.hg printoperationpreview.hg \
+ radioaction.hg radiobutton.hg radiomenuitem.hg radiotoolbutton.hg range.hg rc.hg \
+ recentaction.hg recentchooser.hg recentchooserdialog.hg recentchoosermenu.hg recentchooserwidget.hg \
+ recentfilter.hg recentinfo.hg recentmanager.hg ruler.hg \
+ scale.hg scalebutton.hg scrollbar.hg scrolledwindow.hg selectiondata.hg \
+ separator.hg separatormenuitem.hg separatortoolitem.hg settings.hg sizegroup.hg socket.hg spinbutton.hg statusbar.hg statusicon.hg \
+ stockitem.hg style.hg \
+ table.hg targetlist.hg tearoffmenuitem.hg \
+ textattributes.hg textbuffer.hg textchildanchor.hg textiter.hg textmark.hg texttag.hg texttagtable.hg textview.hg \
+ toggleaction.hg \
+ togglebutton.hg toggletoolbutton.hg toolbar.hg toolitem.hg toolbutton.hg tooltips.hg tooltip.hg \
+ treedragdest.hg treedragsource.hg treepath.hg treerowreference.hg treeselection.hg treesortable.hg \
+ treeiter.hg treemodel.hg treemodelfilter.hg treemodelsort.hg treestore.hg treeview.hg treeviewcolumn.hg \
+ viewport.hg volumebutton.hg uimanager.hg \
+ widget.hg window.hg
+
+files_general_deprecated_hg = combo.hg
+files_all_hg = \
+ $(files_posix_hg) \
+ $(files_win32_hg) \
+ $(files_general_hg) \
+ $(files_general_deprecated_hg)
+
+@OS_WIN32_FALSE@files_hg = $(files_general_hg) $(files_posix_hg) $(files_general_deprecated_hg)
+@OS_WIN32_TRUE@files_hg = $(files_general_hg) $(files_win32_hg) $(files_general_deprecated_hg)
+files_built_cc = $(files_hg:.hg=.cc) wrap_init.cc
+files_built_h = $(files_hg:.hg=.h)
+files_all_built_cc = $(files_all_hg:.hg=.cc) wrap_init.cc
+files_all_built_h = $(files_all_hg:.hg=.h)
+
+# Extra files
+files_all_extra_cc = \
+ $(sublib_files_extra_posix_cc) \
+ $(sublib_files_extra_win32_cc) \
+ $(sublib_files_extra_general_cc) \
+ $(sublib_files_extra_general_deprecated_cc)
+
+files_all_extra_h = $(sublib_files_extra_posix_h) \
+ $(sublib_files_extra_win32_h) $(sublib_files_extra_general_h) \
+ $(sublib_files_extra_general_deprecated_h) wrap_init.h
+@OS_WIN32_FALSE@files_extra_cc = \
+@OS_WIN32_FALSE@ $(sublib_files_extra_posix_cc) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_TRUE@files_extra_cc = \
+@OS_WIN32_TRUE@ $(sublib_files_extra_win32_cc) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_FALSE@files_extra_h = $(sublib_files_extra_posix_h) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_h) wrap_init.h
+@OS_WIN32_TRUE@files_extra_h = $(sublib_files_extra_win32_h) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_h) wrap_init.h
+# tools_pm = $(files_tools_pm:%.pm=$(tools_dir_pm)/%.pm)
+files_all_ccg = $(files_all_hg:%.hg=%.ccg)
+files_h = $(files_all_hg:%.hg=$(gensrc_destdir)/%.h)
+files_cc = $(files_all_hg:%.hg=$(gensrc_destdir)/%.cc)
+files_stamp = $(files_all_hg:%.hg=$(stamp_dir)/stamp-%)
+
+#Installed gmmproc stuff, from glibmm:
+gmmproc_path = $(GMMPROC)
+gmmproc_dir = $(GMMPROC_DIR)
+
+# We use our own m4 and pm files as well as the ones installed by gtkmm:
+# Our override m4 include seems to need to be before the default one.
+gmmproc_args = -I $(tools_dir_m4) --defs $(srcdir)
+run_gmmproc = $(gmmproc_path) $(gmmproc_args)
+gen_wrap_init_path = $(gmmproc_dir)/generate_wrap_init.pl
+gen_wrap_init_args = --namespace=$(sublib_namespace) --parent_dir=$(sublib_parentdir)
+run_gen_wrap_init = $(gen_wrap_init_path) $(gen_wrap_init_args)
+EXTRA_DIST = Makefile_list_of_hg.am_fragment \
+ $(files_defs) $(files_all_hg) $(files_all_ccg)
+
+sublib_srcdir = $(srcdir)/../src
+files_hg_with_path = $(patsubst %.hg,$(sublib_srcdir)/%.hg,$(files_all_hg))
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/build_shared/Makefile_gensrc.am_fragment $(top_srcdir)/tools/Makefile_list_of_sources.am_fragment $(top_srcdir)/tools/m4/Makefile_list_of_sources.am_fragment $(srcdir)/../src/Makefile_list_of_hg.am_fragment $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gtk/src/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gtk/src/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
+
+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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+@MAINTAINER_MODE_FALSE@all-local:
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+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:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am all-local 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 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
+
+
+$(stamp_dir)/stamp-%: %.hg %.ccg $(tools_m4) $(files_defs)
+ $(run_gmmproc) $(notdir $*) $(srcdir) $(gensrc_destdir)
+ @echo 'timestamp' > $@
+
+$(gensrc_destdir)/wrap_init.cc: $(gen_wrap_init_path) $(files_hg_with_path)
+ $(run_gen_wrap_init) $(files_all_hg:%.hg=$(srcdir)/%.hg) >$@
+
+create-stamp-dir:
+ @(test -d $(stamp_dir) || mkdir $(stamp_dir))
+
+@MAINTAINER_MODE_TRUE@all-local: create-stamp-dir $(files_stamp) $(gensrc_destdir)/wrap_init.cc
+
+maintainer-clean-local:
+ rm -rf $(stamp_dir)
+# 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:
diff --git a/libs/gtkmm2/gtk/src/Makefile_list_of_hg.am_fragment b/libs/gtkmm2/gtk/src/Makefile_list_of_hg.am_fragment
new file mode 100644
index 0000000000..51d60ab24b
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/Makefile_list_of_hg.am_fragment
@@ -0,0 +1,43 @@
+# This file is include by other Makefile.am files, using the new automake include feature.
+# The include happens in Makefile.am, not Makefile.in or Makefile,
+# so it's like copy-and-pasting this into each of those Makefile.am files.
+
+files_posix_hg = pagesetupunixdialog.hg printunixdialog.hg \
+ printer.hg printjob.hg
+files_win32_hg =
+files_general_hg = aboutdialog.hg accelgroup.hg accellabel.hg action.hg actiongroup.hg adjustment.hg alignment.hg \
+ arrow.hg aspectframe.hg assistant.hg \
+ bin.hg box.hg builder.hg button.hg buttonbox.hg \
+ calendar.hg celleditable.hg celllayout.hg cellview.hg \
+ cellrenderer.hg cellrendereraccel.hg cellrenderercombo.hg cellrendererpixbuf.hg cellrendererprogress.hg cellrendererspin.hg cellrenderertext.hg cellrenderertoggle.hg \
+ checkbutton.hg checkmenuitem.hg clipboard.hg colorselection.hg colorbutton.hg \
+ combobox.hg comboboxentry.hg container.hg curve.hg \
+ dialog.hg drawingarea.hg \
+ editable.hg entry.hg entrycompletion.hg enums.hg eventbox.hg expander.hg \
+ filechooser.hg filechooserbutton.hg filechooserwidget.hg filechooserdialog.hg filefilter.hg \
+ fileselection.hg fixed.hg fontbutton.hg fontselection.hg frame.hg \
+ handlebox.hg \
+ iconfactory.hg iconset.hg iconsource.hg iconinfo.hg icontheme.hg iconview.hg image.hg imagemenuitem.hg inputdialog.hg invisible.hg item.hg \
+ label.hg layout.hg linkbutton.hg liststore.hg \
+ main.hg menu.hg menubar.hg menuitem.hg menushell.hg menutoolbutton.hg messagedialog.hg misc.hg \
+ notebook.hg object.hg optionmenu.hg \
+ paned.hg plug.hg progressbar.hg \
+ papersize.hg pagesetup.hg printsettings.hg printcontext.hg printoperation.hg printoperationpreview.hg \
+ radioaction.hg radiobutton.hg radiomenuitem.hg radiotoolbutton.hg range.hg rc.hg \
+ recentaction.hg recentchooser.hg recentchooserdialog.hg recentchoosermenu.hg recentchooserwidget.hg \
+ recentfilter.hg recentinfo.hg recentmanager.hg ruler.hg \
+ scale.hg scalebutton.hg scrollbar.hg scrolledwindow.hg selectiondata.hg \
+ separator.hg separatormenuitem.hg separatortoolitem.hg settings.hg sizegroup.hg socket.hg spinbutton.hg statusbar.hg statusicon.hg \
+ stockitem.hg style.hg \
+ table.hg targetlist.hg tearoffmenuitem.hg \
+ textattributes.hg textbuffer.hg textchildanchor.hg textiter.hg textmark.hg texttag.hg texttagtable.hg textview.hg \
+ toggleaction.hg \
+ togglebutton.hg toggletoolbutton.hg toolbar.hg toolitem.hg toolbutton.hg tooltips.hg tooltip.hg \
+ treedragdest.hg treedragsource.hg treepath.hg treerowreference.hg treeselection.hg treesortable.hg \
+ treeiter.hg treemodel.hg treemodelfilter.hg treemodelsort.hg treestore.hg treeview.hg treeviewcolumn.hg \
+ viewport.hg volumebutton.hg uimanager.hg \
+ widget.hg window.hg
+
+files_general_deprecated_hg = combo.hg
+
+include $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment
diff --git a/libs/gtkmm2/gtk/src/README b/libs/gtkmm2/gtk/src/README
new file mode 100644
index 0000000000..f923aed8ac
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/README
@@ -0,0 +1,3 @@
+These are the actual sources for gtkmm. They are preprocessed to
+make ../gtkmm files. Make necessary modifications here.
+
diff --git a/libs/gtkmm2/gtk/src/aboutdialog.ccg b/libs/gtkmm2/gtk/src/aboutdialog.ccg
new file mode 100644
index 0000000000..2e814ebd45
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/aboutdialog.ccg
@@ -0,0 +1,84 @@
+// -*- c++ -*-
+/* $Id: aboutdialog.ccg,v 1.5 2006/06/13 17:24:35 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2004 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkaboutdialog.h>
+#include <gtk/gtklabel.h>
+
+
+//We use a function instead of a static method, so we can make it static, so it is not exported.
+static void SignalProxy_ActivateLink_gtk_callback(GtkAboutDialog* about, const gchar* link, gpointer data)
+{
+ Gtk::AboutDialog::SlotActivateLink* the_slot = static_cast<Gtk::AboutDialog::SlotActivateLink*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ Gtk::AboutDialog* pCppAbout = Glib::wrap(about);
+ (*the_slot)( *pCppAbout, Glib::convert_const_gchar_ptr_to_ustring(link) );
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+static void SignalProxy_ActivateLink_gtk_callback_destroy(void* data)
+{
+ Gtk::AboutDialog::SlotActivateLink* the_slot = static_cast<Gtk::AboutDialog::SlotActivateLink*>(data);
+ delete the_slot;
+}
+
+
+namespace Gtk
+{
+
+//static:
+void AboutDialog::set_email_hook(const SlotActivateLink& slot)
+{
+ // Create a copy of the slot object. A pointer to this will be passed
+ // through the callback's data parameter. It will be deleted
+ // when SignalProxy_SlotForwardPage_gtk_callback_destroy() is called.
+ SlotActivateLink* slot_copy = new SlotActivateLink(slot);
+
+ gtk_about_dialog_set_email_hook(
+ &SignalProxy_ActivateLink_gtk_callback, slot_copy,
+ &SignalProxy_ActivateLink_gtk_callback_destroy);
+}
+
+//static:
+void AboutDialog::set_url_hook(const SlotActivateLink& slot)
+{
+ // Create a copy of the slot object. A pointer to this will be passed
+ // through the callback's data parameter. It will be deleted
+ // when SignalProxy_SlotForwardPage_gtk_callback_destroy() is called.
+ SlotActivateLink* slot_copy = new SlotActivateLink(slot);
+
+ gtk_about_dialog_set_url_hook(
+ &SignalProxy_ActivateLink_gtk_callback, slot_copy,
+ &SignalProxy_ActivateLink_gtk_callback_destroy);
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/aboutdialog.hg b/libs/gtkmm2/gtk/src/aboutdialog.hg
new file mode 100644
index 0000000000..a61059a3f1
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/aboutdialog.hg
@@ -0,0 +1,135 @@
+/* $Id: aboutdialog.hg,v 1.10 2006/07/18 19:49:30 murrayc Exp $ */
+
+/* aboutdialog.h
+ *
+ * Copyright (C) 2004 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/dialog.h>
+//#include <glibmm/listhandle.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/dialog_p.h)
+
+namespace Gtk
+{
+
+/** The AboutDialog offers a simple way to display information about a program like its logo, name, copyright,
+ * website and license. It is also possible to give credits to the authors, documenters, translators and artists
+ * who have worked on the program. An about dialog is typically opened when the user selects the About option
+ * from the Help menu. All parts of the dialog are optional.
+ *
+ * About dialogs often contain links and email addresses. Gtk::AboutDialog supports this by offering global
+ * hooks, which are called when the user clicks on a link or email address, see set_email_hook() and
+ * set_url_hook(). Email addresses in the authors, documenters and artists properties are recognized by looking
+ * for <user@host>, URLs are recognized by looking for http://url, with the URL extending to the next space,
+ * tab or line break.
+ *
+ * @ingroup Dialogs
+ */
+class AboutDialog : public Dialog
+{
+ _CLASS_GTKOBJECT(AboutDialog, GtkAboutDialog, GTK_ABOUT_DIALOG, Gtk::Dialog, GtkDialog)
+ _UNMANAGEABLE
+public:
+ _CTOR_DEFAULT()
+
+ _WRAP_METHOD(Glib::ustring get_name() const, gtk_about_dialog_get_name, deprecated)
+ _WRAP_METHOD(void set_name(const Glib::ustring& name), gtk_about_dialog_set_name, deprecated)
+ _WRAP_METHOD(Glib::ustring get_program_name() const, gtk_about_dialog_get_program_name)
+ _WRAP_METHOD(void set_program_name(const Glib::ustring& name), gtk_about_dialog_set_program_name)
+
+ _WRAP_METHOD(Glib::ustring get_version() const, gtk_about_dialog_get_version)
+ _WRAP_METHOD(void set_version(const Glib::ustring& version), gtk_about_dialog_set_version)
+ _WRAP_METHOD(Glib::ustring get_copyright() const, gtk_about_dialog_get_copyright)
+ _WRAP_METHOD(void set_copyright(const Glib::ustring& copyright), gtk_about_dialog_set_copyright)
+ _WRAP_METHOD(Glib::ustring get_comments() const, gtk_about_dialog_get_comments)
+ _WRAP_METHOD(void set_comments(const Glib::ustring& comments), gtk_about_dialog_set_comments)
+ _WRAP_METHOD(Glib::ustring get_license() const, gtk_about_dialog_get_license)
+ _WRAP_METHOD(void set_license(const Glib::ustring& license), gtk_about_dialog_set_license)
+ _WRAP_METHOD(Glib::ustring get_website() const, gtk_about_dialog_get_website)
+ _WRAP_METHOD(void set_website(const Glib::ustring& website), gtk_about_dialog_set_website)
+ _WRAP_METHOD(Glib::ustring get_website_label() const, gtk_about_dialog_get_website_label)
+ _WRAP_METHOD(void set_website_label(const Glib::ustring& website_label), gtk_about_dialog_set_website_label)
+
+ #m4 _CONVERSION(`gchar const * const *',`Glib::StringArrayHandle',`Glib::StringArrayHandle($3)')
+
+ _WRAP_METHOD(Glib::StringArrayHandle get_authors() const, gtk_about_dialog_get_authors)
+
+ _WRAP_METHOD(void set_authors(const Glib::StringArrayHandle& authors) const, gtk_about_dialog_set_authors)
+
+ _WRAP_METHOD(Glib::StringArrayHandle get_documenters() const, gtk_about_dialog_get_documenters)
+
+ #m4 _CONVERSION(`const Glib::StringArrayHandle&',`const gchar**',`const_cast<const gchar**>(($3).data())')
+
+ _WRAP_METHOD(void set_documenters(const Glib::StringArrayHandle& documenters), gtk_about_dialog_set_documenters)
+ _WRAP_METHOD(Glib::StringArrayHandle get_artists() const, gtk_about_dialog_get_artists)
+ _WRAP_METHOD(void set_artists(const Glib::StringArrayHandle& artists), gtk_about_dialog_set_artists)
+ _WRAP_METHOD(Glib::ustring get_translator_credits() const, gtk_about_dialog_get_translator_credits)
+ _WRAP_METHOD(void set_translator_credits(const Glib::ustring& translator_credits), gtk_about_dialog_set_translator_credits)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> get_logo(), gtk_about_dialog_get_logo)
+ _WRAP_METHOD(Glib::RefPtr<const Gdk::Pixbuf> get_logo() const, gtk_about_dialog_get_logo, constversion)
+
+ _WRAP_METHOD(void set_logo(const Glib::RefPtr<Gdk::Pixbuf>& logo), gtk_about_dialog_set_logo)
+
+ _WRAP_METHOD(Glib::ustring get_logo_icon_name() const, gtk_about_dialog_get_logo_icon_name)
+ _WRAP_METHOD(void set_logo_icon_name(const Glib::ustring& icon_name), gtk_about_dialog_set_logo_icon_name)
+
+ _WRAP_METHOD(bool get_wrap_license() const, gtk_about_dialog_get_wrap_license)
+ _WRAP_METHOD(void set_wrap_license(bool wrap_license), gtk_about_dialog_set_wrap_license)
+
+ /** For instance,
+ * void on_activate_link_url(AboutDialog& about_dialog, const Glib::ustring& link);
+ */
+ typedef sigc::slot<void, AboutDialog& /* about_dialog */, const Glib::ustring& /* link */> SlotActivateLink;
+
+ /** Installs a global callback to be called whenever the user activates an email link in an about dialog.
+ * @param slot A function or method to call when an email link is activated.
+ */
+ static void set_email_hook(const SlotActivateLink& slot);
+ _IGNORE(gtk_about_dialog_set_email_hook)
+
+ /** Installs a global callback to be called whenever the user activates a URL link in an about dialog.
+ * @param slot A function or method to call when a URL link is activated.
+ */
+ static void set_url_hook(const SlotActivateLink& slot);
+ _IGNORE(gtk_about_dialog_set_url_hook)
+
+//TODO: Deprecate this, because it conflicts with the property in GtkWidget, and has been removed in GTK+ 2.12.
+//If this could not have been used without an error, then remove it:
+ _WRAP_PROPERTY("name", Glib::ustring)
+
+ _WRAP_PROPERTY("program-name", Glib::ustring)
+
+ _WRAP_PROPERTY("version", Glib::ustring)
+ _WRAP_PROPERTY("copyright", Glib::ustring)
+ _WRAP_PROPERTY("comments", Glib::ustring)
+ _WRAP_PROPERTY("website", Glib::ustring)
+ _WRAP_PROPERTY("website_label", Glib::ustring)
+ _WRAP_PROPERTY("license", Glib::ustring)
+ _WRAP_PROPERTY("authors", Glib::StringArrayHandle)
+ _WRAP_PROPERTY("documenters", Glib::StringArrayHandle)
+ _WRAP_PROPERTY("translator_credits", Glib::StringArrayHandle)
+ _WRAP_PROPERTY("artists", Glib::StringArrayHandle)
+ _WRAP_PROPERTY("logo", Glib::RefPtr<Gdk::Pixbuf>)
+ _WRAP_PROPERTY("logo_icon_name", Glib::ustring)
+ _WRAP_PROPERTY("wrap_license", bool)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/accelgroup.ccg b/libs/gtkmm2/gtk/src/accelgroup.ccg
new file mode 100644
index 0000000000..066ab61272
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/accelgroup.ccg
@@ -0,0 +1,58 @@
+// -*- c++ -*-
+/* $Id: accelgroup.ccg,v 1.1 2003/01/21 13:38:41 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkaccelgroup.h>
+
+
+namespace Gtk
+{
+
+bool AccelGroup::valid(guint keyval, Gdk::ModifierType modifiers)
+{
+ return gtk_accelerator_valid(keyval, (GdkModifierType) modifiers);
+}
+
+void AccelGroup::parse(const Glib::ustring& accelerator,
+ guint& accelerator_key,
+ Gdk::ModifierType& accelerator_mods)
+{
+ GdkModifierType mods = GdkModifierType(0);
+ gtk_accelerator_parse(accelerator.c_str(), &accelerator_key, &mods);
+
+ accelerator_mods = (Gdk::ModifierType) mods;
+}
+
+Glib::ustring AccelGroup::name(guint accelerator_key, Gdk::ModifierType accelerator_mods)
+{
+ return gtk_accelerator_name(accelerator_key, (GdkModifierType) accelerator_mods);
+}
+
+void AccelGroup::set_default_mod_mask(Gdk::ModifierType default_mod_mask)
+{
+ gtk_accelerator_set_default_mod_mask((GdkModifierType) default_mod_mask);
+}
+
+Gdk::ModifierType AccelGroup::get_default_mod_mask()
+{
+ return (Gdk::ModifierType) gtk_accelerator_get_default_mod_mask();
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/accelgroup.hg b/libs/gtkmm2/gtk/src/accelgroup.hg
new file mode 100644
index 0000000000..d80d082e94
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/accelgroup.hg
@@ -0,0 +1,120 @@
+/* $Id: accelgroup.hg,v 1.8 2005/04/07 08:46:44 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+#include <gdkmm/types.h>
+#include <gtkmm/object.h>
+
+
+namespace Gtk
+{
+
+/** A Gtk::AccelGroup represents a group of keyboard accelerators, typically
+ * attached to a toplevel Gtk::Window (with Gtk::Window::add_accel_group()).
+ * Usually you won't need to create a Gtk::AccelGroup directly; instead, gtkmm
+ * automatically sets up the accelerators for your menus. Note that
+ * accelerators are different from mnemonics. Accelerators are shortcuts for
+ * activating a menu item; they appear alongside the menu item for which
+ * they're a shortcut. For example "Ctrl+Q" might appear alongside the "Quit"
+ * menu item. Mnemonics are shortcuts for GUI elements such as text entries or
+ * buttons; they appear as underlined characters. See the Gtk::Label
+ * constructor. Menu items can have both accelerators and mnemonics, of course.
+ *
+ * You can use Gtk::Window::get_accel_group() to get an accel group for that window,
+ * then use it with other widgets too.
+ */
+class AccelGroup : public Glib::Object
+{
+ _CLASS_GOBJECT(AccelGroup, GtkAccelGroup, GTK_ACCEL_GROUP,Glib::Object,GObject)
+ _IGNORE(gtk_accel_group_connect, gtk_accel_group_connect_by_path, gtk_accel_group_disconnect,
+ gtk_accel_group_query, _gtk_accel_group_reconnect)
+ _IGNORE_SIGNAL(accel_activate)
+protected:
+ _CTOR_DEFAULT
+
+public:
+ /** Creates a new Gtk::AccelGroup object.
+ * @return A Glib::RefPtr<> to a newly created Gtk::AccelGroup object.
+ */
+ _WRAP_CREATE()
+
+ _WRAP_METHOD(void lock(), gtk_accel_group_lock)
+ _WRAP_METHOD(void unlock(), gtk_accel_group_unlock)
+ _WRAP_METHOD(bool disconnect_key(guint accel_key, Gdk::ModifierType accel_mods), gtk_accel_group_disconnect_key)
+
+ /** Determines whether a given keyval and modifier mask constitute
+ * a valid keyboard accelerator. For example, the 'a' keyval
+ * plus Gdk::CONTROL_MASK is valid - this is a "Ctrl+a" accelerator.
+ * But you can't, for instance, use the GDK_Control_L keyval
+ * as an accelerator.
+ */
+ static bool valid(guint keyval, Gdk::ModifierType modifiers);
+
+ /** Parse the accelerator string.
+ * @param accelerator See the Gtk::AccelKey constructor for the format.
+ * @param accelerator_key Output argument
+ * @param accelerator_mods Output argument
+ */
+ static void parse(const Glib::ustring& accelerator, guint& accelerator_key, Gdk::ModifierType& accelerator_mods);
+
+ /** Converts an accelerator keyval and modifier mask
+ * into a string parseable by parse().
+ * For example, if you pass in 'q' and Gdk::CONTROL_MASK, it returns "&lt;Control&gt;q".
+ */
+ static Glib::ustring name(guint accelerator_key, Gdk::ModifierType accelerator_mods);
+
+ _WRAP_METHOD(static Glib::ustring get_label(guint accelerator_key, Gdk::ModifierType accelerator_mods), gtk_accelerator_get_label)
+
+ /** Sets the modifiers that will be considered significant for keyboard
+ * accelerators. The default mod mask is Gdk::CONTROL_MASK |
+ * Gdk::SHIFT_MASK | Gdk::MOD1_MASK, that is, Control, Shift, and Alt.
+ * Other modifiers will ignored by default.
+ * You must include at least the three default modifiers in any
+ * value you pass to this function.
+ *
+ * The default mod mask should be changed on application startup,
+ * before using any accelerator groups.
+ */
+ static void set_default_mod_mask(Gdk::ModifierType default_mod_mask);
+
+ /// See set_default_mod_mask().
+ static Gdk::ModifierType get_default_mod_mask();
+
+ //TODO: This is undocumented in GTK+ at the moment. When would it be used and where does the quark come from? murrayc.
+ _WRAP_METHOD(bool activate(GQuark accel_quark, const Glib::RefPtr<Glib::Object>& acceleratable, guint accel_key, Gdk::ModifierType accel_mods), gtk_accel_group_activate)
+
+ _IGNORE(gtk_accel_group_find)
+ //Let's not wrap this, because the GtkAccelGroupFindFunc callback uses GClosures, and it's not clear that this is useful.
+ //AccelKey find(const SlotFind& slot);
+ //GtkAccelKey* gtk_accel_group_find(GtkAccelGroup* accel_group, GtkAccelGroupFindFunc find_func, gpointer data);
+
+ _WRAP_METHOD(static bool activate(Gtk::Object& object, guint accel_key, Gdk::ModifierType accel_mods), gtk_accel_groups_activate)
+
+ //TODO: Discover real parameter names:
+ _WRAP_SIGNAL(bool accel_activate(const Glib::RefPtr<Glib::Object>& object, guint param2, Gdk::ModifierType param3), "accel_activate", no_default_handler)
+ //TODO: The C type is unpleasant:
+ //This has C docs, but it isn't worth mentioning them for such a useless signal. murrayc.
+ _WRAP_SIGNAL(void accel_changed(guint keyval, Gdk::ModifierType modifier, GClosure* accel_closure), "accel_changed")
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/accellabel.ccg b/libs/gtkmm2/gtk/src/accellabel.ccg
new file mode 100644
index 0000000000..8812547622
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/accellabel.ccg
@@ -0,0 +1,46 @@
+// -*- c++ -*-
+/* $Id: accellabel.ccg,v 1.2 2003/05/10 07:16:52 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkaccellabel.h>
+#include <glibmm/wrap.h>
+
+namespace Gtk
+{
+
+AccelLabel::AccelLabel(const Glib::ustring& label, bool mnemonic)
+:
+ _CONSTRUCT()
+{
+ if(mnemonic)
+ set_text_with_mnemonic(label);
+ else
+ set_text(label);
+}
+
+void AccelLabel::unset_accel_widget()
+{
+ //Not documented, at the moment, but this is what the source does:
+ gtk_accel_label_set_accel_widget(gobj(), 0);
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/accellabel.hg b/libs/gtkmm2/gtk/src/accellabel.hg
new file mode 100644
index 0000000000..9dad8001de
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/accellabel.hg
@@ -0,0 +1,68 @@
+/* $Id: accellabel.hg,v 1.5 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* accellabel.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/label.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/label_p.h)
+
+
+namespace Gtk
+{
+
+/** A label which displays an accelerator key on the right of the text.
+ * Used for menu item labels, for instance.
+ *
+ * @ingroup Widgets
+ */
+class AccelLabel : public Label
+{
+ _CLASS_GTKOBJECT(AccelLabel,GtkAccelLabel,GTK_ACCEL_LABEL,Gtk::Label,GtkLabel)
+ _IGNORE(gtk_accel_label_accelerator_width, gtk_accel_label_set_accel_closure)
+public:
+
+ //The default ctor doesn't correspond to any _new function, but gtkmenuitem.cc does a simple g_object_new() with no properties.
+ /** Default constructor to create an AccelLabel object
+ */
+ _CTOR_DEFAULT
+
+ /** Constructor to create an AccelLabel object with a default label
+ * @param label The label string.
+ * @param mnemonic If true, characters preceded by an underscore (_) will be underlined and used as a keyboard accelerator.
+ */
+ explicit AccelLabel(const Glib::ustring& label, bool mnemonic = false);
+
+ _WRAP_METHOD(void set_accel_widget(const Widget& accel_widget), gtk_accel_label_set_accel_widget)
+ /// Forget the accel widget previously set by set_accel_widget().
+ void unset_accel_widget();
+
+ _WRAP_METHOD(Widget* get_accel_widget(), gtk_accel_label_get_accel_widget)
+ _WRAP_METHOD(const Widget* get_accel_widget() const, gtk_accel_label_get_accel_widget, constversion)
+
+ _WRAP_METHOD(guint get_accel_width() const, gtk_accel_label_get_accel_width)
+ _WRAP_METHOD(bool refetch(), gtk_accel_label_refetch)
+
+ //_WRAP_PROPERTY("accel-closure", Glib::Object) //GClosure
+ _WRAP_PROPERTY("accel-widget", Gtk::Widget*)
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/action.ccg b/libs/gtkmm2/gtk/src/action.ccg
new file mode 100644
index 0000000000..948d4e6c58
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/action.ccg
@@ -0,0 +1,61 @@
+// -*- c++ -*-
+/* $Id: action.ccg,v 1.11 2006/05/10 20:59:27 murrayc Exp $ */
+
+/* Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkaction.h>
+
+#include <gtkmm/menu.h>
+#include <gtkmm/menuitem.h>
+#include <gtkmm/toolitem.h>
+#include <gtkmm/image.h>
+#include <gtkmm/widget.h>
+
+typedef Gtk::Action Action;
+
+namespace Gtk
+{
+
+Action::Action(const Glib::ustring& name, const Gtk::StockID& stock_id, const Glib::ustring& label, const Glib::ustring& tooltip)
+:
+ _CONSTRUCT("name", name.c_str(), "stock_id", stock_id.get_c_str(), "label", (label.empty() ? 0 : label.c_str()), "tooltip", (tooltip.empty() ? 0 : tooltip.c_str()))
+{}
+
+Glib::RefPtr<Action> Action::create(const Glib::ustring& name, const Glib::ustring& label, const Glib::ustring& tooltip)
+{
+ return Glib::RefPtr<Action>( new Action(name, Gtk::StockID(), label, tooltip) );
+}
+
+Glib::RefPtr<Action> Action::create(const Glib::ustring& name, const Gtk::StockID& stock_id, const Glib::ustring& label, const Glib::ustring& tooltip)
+{
+ return Glib::RefPtr<Action>( new Action(name, stock_id, label, tooltip) );
+}
+
+
+void Action::set_tooltip(const Glib::ustring& tooltip)
+{
+#ifdef GLIBMM_PROPERTIES_ENABLED
+ property_tooltip() = tooltip;
+#else
+ set_property("tooltip", tooltip);
+#endif
+}
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/action.hg b/libs/gtkmm2/gtk/src/action.hg
new file mode 100644
index 0000000000..37a141e11f
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/action.hg
@@ -0,0 +1,154 @@
+/* $Id: action.hg,v 1.19 2006/05/10 20:59:27 murrayc Exp $ */
+
+/* Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/widget.h>
+#include <gtkmm/accelgroup.h>
+#include <gtkmm/stockid.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Gtk
+{
+
+class Menu;
+class MenuItem;
+class ToolItem;
+class Image;
+
+/** An action which can be triggered by a menu or toolbar item.
+ *
+ * Actions represent operations that the user can perform, along with
+ * some information about how it should be presented in the user interface.
+ * Each action provides methods to create icons, menu items and toolbar
+ * items representing itself.
+ *
+ * As well as the callback that is called when the action is activated,
+ * the following is also associated with the action:
+ *
+ * - a name (not translated, for path lookup)
+ * - a label (translated, for display)
+ * - an accelerator
+ * - whether the label indicates a stock id
+ * - a tooltip (optional, translated)
+ * - a toolbar label (optional, shorter than label)
+ *
+ * The action will also have some state information:
+ *
+ * - visible (shown/hidden)
+ * - sensitive (enabled/disabled)
+ *
+ * Apart from regular actions, there are toggle actions,
+ * which can be toggled between two states and radio actions,
+ * of which only one in a group can be in the "active" state.
+ * Other actions can be implemented as Gtk::Action subclasses.
+ *
+ * Each action can have one or more proxy menu item, toolbar button or other proxy widgets.
+ * Proxies mirror the state of the action (text label, tooltip, icon, visible, sensitive, etc), and should change when the action's state changes. When the proxy is activated, it should activate its action.
+ */
+class Action : public Glib::Object
+{
+ _CLASS_GOBJECT(Action, GtkAction, GTK_ACTION, Glib::Object, GObject)
+
+protected:
+ _CTOR_DEFAULT
+ explicit Action(const Glib::ustring& name, const StockID& stock_id = StockID(), const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring());
+
+public:
+ //Note that gtk_action_new() does not allow name to be NULL, which suggests that we should not have a default constructor,
+ //but it's OK to set the name later:
+ _WRAP_CREATE()
+
+ static Glib::RefPtr<Action> create(const Glib::ustring& name, const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring());
+ static Glib::RefPtr<Action> create(const Glib::ustring& name, const Gtk::StockID& stock_id, const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring());
+
+ _WRAP_METHOD(Glib::ustring get_name() const, gtk_action_get_name)
+
+ _WRAP_METHOD(bool is_sensitive() const, gtk_action_is_sensitive)
+ _WRAP_METHOD(bool get_sensitive() const, gtk_action_get_sensitive)
+
+ void set_tooltip(const Glib::ustring& tooltip);
+
+ _WRAP_METHOD(void set_sensitive(bool sensitive = true), gtk_action_set_sensitive)
+
+ _WRAP_METHOD(bool is_visible() const, gtk_action_is_visible)
+ _WRAP_METHOD(bool get_visible() const, gtk_action_get_visible)
+ _WRAP_METHOD(void set_visible(bool visible = true), gtk_action_set_visible)
+
+ _WRAP_METHOD(void activate(), gtk_action_activate)
+ _WRAP_METHOD(Image* create_icon(IconSize icon_size), gtk_action_create_icon)
+ _WRAP_METHOD(MenuItem* create_menu_item(), gtk_action_create_menu_item)
+ _WRAP_METHOD(ToolItem* create_tool_item(), gtk_action_create_tool_item)
+ _WRAP_METHOD(Menu* create_menu(), gtk_action_create_menu)
+ _WRAP_METHOD(void connect_proxy(Widget& proxy), gtk_action_connect_proxy)
+ _WRAP_METHOD(void disconnect_proxy(Widget& proxy), gtk_action_disconnect_proxy)
+
+#m4 dnl // This isn't in convert_gtk.m4, and the default behaviour is wrong.
+#m4 _CONVERSION(`GSList*', `Glib::SListHandle<Widget*>', `$2($3, Glib::OWNERSHIP_NONE)')
+#m4 _CONVERSION(`GSList*', `Glib::SListHandle<const Widget*>', `$2($3, Glib::OWNERSHIP_NONE)')
+
+ _WRAP_METHOD(Glib::SListHandle<Widget*> get_proxies(), gtk_action_get_proxies)
+ _WRAP_METHOD(Glib::SListHandle<const Widget*> get_proxies() const, gtk_action_get_proxies)
+
+ _WRAP_METHOD(void connect_accelerator(), gtk_action_connect_accelerator)
+ _WRAP_METHOD(void disconnect_accelerator(), gtk_action_disconnect_accelerator)
+
+ _WRAP_METHOD(Glib::ustring get_accel_path() const, gtk_action_get_accel_path)
+
+ /// For instance, void on_activate();
+ typedef sigc::slot<void> SlotActivate;
+
+ /** The "activate" signal is emitted when the action is activated.
+ */
+ _WRAP_SIGNAL(void activate(), "activate")
+
+ //Used by AccelGroup:
+ _WRAP_METHOD(void set_accel_path(const Glib::ustring& accel_path), gtk_action_set_accel_path)
+ _WRAP_METHOD(void set_accel_group(const Glib::RefPtr<AccelGroup>& accel_group), gtk_action_set_accel_group)
+
+ _WRAP_PROPERTY("name", Glib::ustring)
+ _WRAP_PROPERTY("label", Glib::ustring)
+ _WRAP_PROPERTY("short_label", Glib::ustring)
+ _WRAP_PROPERTY("tooltip", Glib::ustring)
+ _WRAP_PROPERTY("stock_id", StockID)
+ _WRAP_PROPERTY("visible_horizontal", bool)
+ _WRAP_PROPERTY("visible_vertical", bool)
+ _WRAP_PROPERTY("is_important", bool)
+ _WRAP_PROPERTY("hide_if_empty", bool)
+ _WRAP_PROPERTY("sensitive", bool)
+ _WRAP_PROPERTY("visible", bool)
+
+
+protected:
+ //For use by child actions:
+ _WRAP_METHOD(void block_activate_from(Widget& proxy), gtk_action_block_activate_from)
+ _WRAP_METHOD(void unblock_activate_from(Widget& proxy), gtk_action_unblock_activate_from)
+
+
+protected:
+ //Widget-creation routines:
+ _WRAP_VFUNC(Widget* create_menu_item(), "create_menu_item")
+ _WRAP_VFUNC(Widget* create_tool_item(), "create_tool_item")
+ _WRAP_VFUNC(void connect_proxy(Widget* proxy), "connect_proxy")
+ _WRAP_VFUNC(void disconnect_proxy(Widget* proxy), "disconnect_proxy")
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/actiongroup.ccg b/libs/gtkmm2/gtk/src/actiongroup.ccg
new file mode 100644
index 0000000000..cb41994883
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/actiongroup.ccg
@@ -0,0 +1,110 @@
+// -*- c++ -*-
+/* $Id: actiongroup.ccg,v 1.10 2006/05/16 20:36:24 murrayc Exp $ */
+
+/* Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkactiongroup.h>
+#include <gtkmm/accelmap.h>
+
+
+namespace Gtk
+{
+
+void ActionGroup::add(const Glib::RefPtr<Action>& action)
+{
+ gtk_action_group_add_action_with_accel(gobj(), Glib::unwrap(action),
+ 0 /* accelerator=0 means use the stock accelerator if this is a stock item */ );
+}
+
+void ActionGroup::add(const Glib::RefPtr<Action>& action, const AccelKey& accel_key)
+{
+ // We need to half-duplicate the gtk_action_group_add_action_with_accel() implementation, because we want to
+ // use AccelKey, not just the accelerator string format that is _one_ of the ways to create an AccelKey. murrayc.
+
+ //The AccelKey might have been constructed from key+mod or from an accelerator string,
+ //but it the end that just produces a key+mod.
+ guint key = accel_key.get_key();
+ Gdk::ModifierType mod = accel_key.get_mod();
+ if(key)
+ {
+ // The AccelKey constructor can take an accel path, so I suppose we should not ignore it,
+ // but I can't imagine how it would be useful with the UIManager. murrayc.
+ Glib::ustring accel_path = accel_key.get_path();
+ if(accel_path.empty())
+ {
+ //Copied from the gtk_action_group_add_action_with_accel() implementation:
+
+ gchar* action_name = 0;
+ g_object_get(G_OBJECT(action->gobj()), "name", &action_name, static_cast<char*>(0));
+ if(action_name)
+ {
+ accel_path = "<Actions>/" + get_name() + '/' + action_name;
+ g_free(action_name);
+ }
+ }
+
+ AccelMap::add_entry(accel_path, key, mod);
+
+ action->set_accel_path(accel_path);
+ }
+
+ gtk_action_group_add_action(gobj(), action->gobj());
+}
+
+
+
+void ActionGroup::add(const Glib::RefPtr<Action>& action, const Action::SlotActivate& slot)
+{
+ //This is meant to be similar to the gtk_action_group_add_actions() convenience method that is used from C.
+ //This also does the work of gtk_action_group_add_toggle_actions() and gtk_action_group_add_radio_actions_full(),
+ //because the extra stuff there is already done when the Action (or a derived type, such as ToggleAction) is create()ed.
+
+ action->signal_activate().connect(slot);
+
+ //We probably don't need to use translate_string(), because the label and tooltip will be regular translated strings in our C++ application code.
+ //But C needs it because gtk_action_group_add_actions() takes a static array of GtkActionEntrys whose fields
+ //can not be translated with gettext macros.
+ //But we should soon know if menus and toolbars are not translated in non-english locales. murrayc.
+
+ add(action);
+}
+
+void ActionGroup::add(const Glib::RefPtr<Action>& action, const AccelKey& accel_key, const Action::SlotActivate& slot)
+{
+ //This is meant to be similar to the gtk_action_group_add_actions() convenience method that is used from C.
+ //This also does the work of gtk_action_group_add_toggle_actions() and gtk_action_group_add_radio_actions_full(),
+ //because the extra stuff there is already done when the Action (or a derived type, such as ToggleAction) is create()ed.
+
+ action->signal_activate().connect(slot);
+ add(action, accel_key);
+
+ /*
+ //Create the accel path (a kind of unique key):
+ Glib::ustring accel_path = "<Actions>/" + get_name() + "/" + action->get_name();
+
+ //Register the accel path:
+ Gtk::AccelMap::add_entry(accel_path, accel_key.get_key(), accel_key.get_mod());
+
+ //USe the accel path:
+ action->set_accel_path(accel_path);
+ */
+}
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/actiongroup.hg b/libs/gtkmm2/gtk/src/actiongroup.hg
new file mode 100644
index 0000000000..91b35cf766
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/actiongroup.hg
@@ -0,0 +1,132 @@
+/* $Id: actiongroup.hg,v 1.17 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/widget.h>
+#include <gtkmm/action.h>
+#include <gtkmm/accelkey.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Gtk
+{
+
+class ActionGroup : public Glib::Object
+{
+ _CLASS_GOBJECT(ActionGroup, GtkActionGroup, GTK_ACTION_GROUP, Glib::Object, GObject)
+
+protected:
+ _WRAP_CTOR(ActionGroup(const Glib::ustring& name = Glib::ustring()), gtk_action_group_new)
+
+public:
+ _WRAP_CREATE(const Glib::ustring& name = Glib::ustring())
+
+ _WRAP_METHOD(Glib::ustring get_name() const, gtk_action_group_get_name)
+
+ _WRAP_METHOD(bool get_sensitive() const, gtk_action_group_get_sensitive)
+ _WRAP_METHOD(void set_sensitive(bool sensitive = true), gtk_action_group_set_sensitive)
+ _WRAP_METHOD(bool get_visible() const, gtk_action_group_get_visible)
+ _WRAP_METHOD(void set_visible(bool visible = true), gtk_action_group_set_visible)
+
+ _WRAP_METHOD(Glib::RefPtr<Action> get_action(const Glib::ustring& action_name), gtk_action_group_get_action, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Action> get_action(const Glib::ustring& action_name) const, gtk_action_group_get_action, refreturn, constversion)
+
+ _WRAP_METHOD(Glib::ListHandle< Glib::RefPtr<Action> > get_actions(), gtk_action_group_list_actions)
+ _WRAP_METHOD(Glib::ListHandle< Glib::RefPtr<const Action> > get_actions() const, gtk_action_group_list_actions)
+
+ void add(const Glib::RefPtr<Action>& action);
+ _IGNORE(gtk_action_group_add_action)
+ //We want it to always try to use the stock accelerator,
+ //so we use gtk_action_group_add_action_with_accel(), instead of gtk_action_group_add_action(),
+ //passing null for the accelerator.
+
+ void add(const Glib::RefPtr<Action>& action, const AccelKey& accel_key);
+ _IGNORE(gtk_action_group_add_action_with_accel)
+ //We need to duplicate the gtk_action_group_add_action_with_accel() implementation, because we want to
+ //use AccelKey, not just the accelerator string format that is _one_ of the ways to create an AccelKey.
+
+ //TODO: Could this whole class have an STL-style interface?
+ void add(const Glib::RefPtr<Action>& action, const Action::SlotActivate& slot);
+ void add(const Glib::RefPtr<Action>& action, const AccelKey& accel_key, const Action::SlotActivate& slot);
+ _WRAP_METHOD(void remove(const Glib::RefPtr<Action>& action), gtk_action_group_remove_action)
+
+ //TODO: We probably need to use this in our add_actions() implementation:
+ _WRAP_METHOD(Glib::ustring translate_string(const Glib::ustring& str) const, gtk_action_group_translate_string)
+
+
+ //These are just C convenience methods:
+ _IGNORE(gtk_action_group_add_actions, gtk_action_group_add_toggle_actions, gtk_action_group_add_radio_actions,
+ gtk_action_group_add_actions_full, gtk_action_group_add_toggle_actions_full,
+ gtk_action_group_add_radio_actions_full)
+ //These are also just C convenience methods that are useless unless you are using the other convenience methods:
+ _IGNORE(gtk_action_group_set_translate_func, gtk_action_group_set_translation_domain)
+
+ /** The connect_proxy signal is emitted after connecting a proxy to
+ * an action in the group. Note that the proxy may have been connected
+ * to a different action before.
+ *
+ * This is intended for simple customizations for which a custom action
+ * class would be too clumsy, e.g. showing tooltips for menuitems in the
+ * statusbar.
+ *
+ * UIManager proxies the signal and provides global notification
+ * just before any action is connected to a proxy, which is probably more
+ * convenient to use.
+ *
+ * @param action the action
+ * @param proxy the proxy
+ */
+ _WRAP_SIGNAL(void connect_proxy(const Glib::RefPtr<Action>& action, Widget* proxy), "connect_proxy", no_default_handler)
+
+ /** The disconnect_proxy signal is emitted after disconnecting a proxy
+ * from an action in the group.
+ *
+ * UIManager proxies the signal and provides global notification
+ * just before any action is connected to a proxy, which is probably more
+ * convenient to use.
+ *
+ * @param action the action
+ * @param proxy the proxy
+ */
+ _WRAP_SIGNAL(void disconnect_proxy(const Glib::RefPtr<Action>& action, Widget* proxy), "disconnect_proxy", no_default_handler)
+
+ /** The pre_activate signal is emitted just before the @action in the
+ * action_group is activated
+ *
+ * This is intended for UIManager to proxy the signal and provide global
+ * notification just before any action is activated.
+ *
+ * @action the action
+ */
+ _WRAP_SIGNAL(void pre_activate(const Glib::RefPtr<Action>& action), "pre_activate", no_default_handler)
+
+ /** The post_activate signal is emitted just after the @action in the
+ * @action_group is activated
+ *
+ * This is intended for UIManager to proxy the signal and provide global
+ * notification just after any action is activated.
+ *
+ * @param action the action
+ */
+ _WRAP_SIGNAL(void post_activate(const Glib::RefPtr<Action>& action), "post_activate", no_default_handler)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/adjustment.ccg b/libs/gtkmm2/gtk/src/adjustment.ccg
new file mode 100644
index 0000000000..16aaa439df
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/adjustment.ccg
@@ -0,0 +1,66 @@
+// -*- c++ -*-
+/* $Id: adjustment.ccg,v 1.3 2006/11/08 21:51:35 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+#include <gtk/gtkadjustment.h>
+
+namespace Gtk
+{
+
+//This is hand-coded so we can change the sequence of properties.
+//If we don't do this then the value is restricted to the initial values, ignoring the specified boundaries:
+Adjustment::Adjustment(double value, double lower, double upper, double step_increment, double page_increment, double page_size)
+:
+ _CONSTRUCT("lower", lower, "upper", upper, "step_increment", step_increment, "page_increment", page_increment, "page_size", page_size, "value", value)
+{
+}
+
+void Adjustment::set_lower(double lower)
+{
+ gobj()->lower = lower;
+ changed();
+}
+
+void Adjustment::set_upper(double upper)
+{
+ gobj()->upper = upper;
+ changed();
+}
+
+void Adjustment::set_step_increment(double incr)
+{
+ gobj()->step_increment = incr;
+ changed();
+}
+
+void Adjustment::set_page_increment(double incr)
+{
+ gobj()->page_increment = incr;
+ changed();
+}
+
+void Adjustment::set_page_size(double size)
+{
+ gobj()->page_size = size;
+ changed();
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/adjustment.hg b/libs/gtkmm2/gtk/src/adjustment.hg
new file mode 100644
index 0000000000..e8593b0237
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/adjustment.hg
@@ -0,0 +1,132 @@
+/* $Id: adjustment.hg,v 1.5 2006/11/08 21:51:35 murrayc Exp $ */
+
+/* adjustment.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/object.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/object_p.h)
+
+
+namespace Gtk
+{
+
+/** A class representing an adjustable bounded value.
+ *
+ * The Gtk::Adjustment object represents a value which has an associated
+ * lower and upper bound, together with step and page increments, and a page
+ * size. It is used within several gtkmm widgets, including
+ * Gtk::SpinButton, Gtk::Viewport, and Gtk::Range (which is a base class for
+ * Gtk::HScrollbar, Gtk::VScrollbar, Gtk::HScale, and Gtk::VScale).
+ *
+ * The Gtk::Adjustment object does not update the value itself. Instead it
+ * is left up to the owner of the Gtk::Adjustment to control the value.
+ *
+ * The owner of the Gtk::Adjustment typically calls the value_changed() and
+ * changed() functions after changing the value and its bounds. This results
+ * in the emission of the "value_changed" or "changed" signal respectively.
+ *
+ */
+class Adjustment : public Object
+{
+ _CLASS_GTKOBJECT(Adjustment,GtkAdjustment,GTK_ADJUSTMENT,Gtk::Object,GtkObject)
+public:
+
+ friend class Range;
+ friend class HScrollbar;
+ friend class VScrollbar;
+
+ /** Constructor to create an Adjustment object.
+ * @param value The initial value
+ * @param lower The minimum value
+ * @param upper The maximum value
+ * @param step_increment The step increment
+ * @param page_increment The page increment
+ * @param page_size The page size
+ */
+ Adjustment(double value, double lower, double upper, double step_increment = 1, double page_increment = 10, double page_size = 0);
+
+ _WRAP_METHOD(void changed(), gtk_adjustment_changed)
+ _WRAP_METHOD(void value_changed(), gtk_adjustment_value_changed)
+
+ _WRAP_METHOD(void clamp_page(double lower, double upper), gtk_adjustment_clamp_page)
+
+ _WRAP_METHOD(void set_value(double value), gtk_adjustment_set_value)
+ _WRAP_METHOD(double get_value() const, gtk_adjustment_get_value)
+
+ // Other internal fields accessors
+ /** Retrieve the @a lower member variable.
+ * @return The current value of @a lower.
+ */
+ _MEMBER_GET(lower,lower,double,double)
+
+ /** Retrieve the @a upper member variable.
+ * @return The current value of @a upper.
+ */
+ _MEMBER_GET(upper,upper,double,double)
+
+ /** Retrieve the @a step_increment variable.
+ * @return The current value of @a step_increment.
+ */
+ _MEMBER_GET(step_increment,step_increment,double,double)
+
+ /** Retrieve the @a page_increment variable.
+ * @return The current value of @a page_increment.
+ */
+ _MEMBER_GET(page_increment,page_increment,double,double)
+
+ /** Retrieve the @a page_size variable.
+ * @return The current value of @a page_size.
+ */
+ _MEMBER_GET(page_size,page_size,double,double)
+
+ // TODO: This section needs changing. We must be able to set more at a time,
+ // emitting "changed" signal only once.
+ /** Sets the @a lower member variable
+ * @param lower The value to set the @a lower member variable to.
+ */
+ void set_lower(double lower);
+
+ /** Sets the @a upper member variable
+ * @param upper The value to set the @a upper member variable to.
+ */
+ void set_upper(double upper);
+
+ /** Sets the @a step_increment member variable
+ * @param incr The value to set the @a step_incrememnt member variable to.
+ */
+ void set_step_increment(double incr);
+
+ /** Sets the @a page_increment member variable
+ * @param incr The value to set the @a page_increment member variable to.
+ */
+ void set_page_increment(double incr);
+
+ /** Sets the @a page_size member variable
+ * @param size The value to set the @ page_size member varialbe to.
+ */
+ void set_page_size(double size);
+
+ _WRAP_SIGNAL(void changed(), "changed")
+ _WRAP_SIGNAL(void value_changed(), "value_changed")
+
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/alignment.ccg b/libs/gtkmm2/gtk/src/alignment.ccg
new file mode 100644
index 0000000000..e0ba6a84bb
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/alignment.ccg
@@ -0,0 +1,30 @@
+// -*- c++ -*-
+/* $Id: alignment.ccg,v 1.1 2003/01/21 13:38:41 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkalignment.h>
+
+namespace Gtk
+{
+
+
+} //namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/alignment.hg b/libs/gtkmm2/gtk/src/alignment.hg
new file mode 100644
index 0000000000..1565d36595
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/alignment.hg
@@ -0,0 +1,85 @@
+/* $Id: alignment.hg,v 1.5 2004/04/29 19:58:02 murrayc Exp $ */
+
+/* alignment.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/bin.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/bin_p.h)
+
+namespace Gtk
+{
+
+/** A widget which controls the alignment and size of its child.
+ *
+ * Normally, a widget is allocated at least as much size as it requests, and,
+ * most widgets expand to fill any extra allocated space, but sometimes
+ * this behavior is not desired. The alignment widget allows the
+ * programmer to specify how a widget should expand and position itself
+ * to fill the area it is allocated.
+ *
+ * It has four settings: xscale, yscale, xalign, and yalign:
+ * The scale settings specify how much the child widget should expand to fill the space allocated to the Gtk::Alignment. The values can range from 0 (meaning the child doesn't expand at all) to 1 (meaning the child expands to fill all of the available space).
+ * The align settings place the child widget within the available area. The values range from 0 (top or left) to 1 (bottom or right). Of course, if the scale settings are both set to 1, the alignment settings have no effect.
+ *
+ * @ingroup Widgets
+ * @ingroup Containers
+ */
+class Alignment : public Bin
+{
+ _CLASS_GTKOBJECT(Alignment,GtkAlignment,GTK_ALIGNMENT,Gtk::Bin,GtkBin)
+public:
+
+ /** Constructor to create an Alignment object.
+ * @param xalign The initial horizontal alignment of the child.
+ * @param yalign The initial vertical alignment of the child.
+ * @param xscale The initial amount that the child expands horizontally to fill up unused space.
+ * @param yscale The initial amount that the child expands vertically to fill up unused space.
+ */
+ _WRAP_CTOR(Alignment(float xalign = 0.5, float yalign = 0.5, float xscale = 1.0, float yscale = 1.0), gtk_alignment_new)
+
+ /** Constructor to create an Alignment object.
+ * @param xalign A Gtk::AlignmentEnum describing the initial horizontal alignment of the child.
+ * @param yalign A Gtk::AlignmentEnum describing the initial vertical alignment of the child.
+ * @param xscale The initial amount that the child expands horizontally to fill up unused space.
+ * @param yscale The initial amount that the child expands vertically to fill up unused space.
+ */
+ _WRAP_CTOR(Alignment(AlignmentEnum xalign, AlignmentEnum yalign = Gtk::ALIGN_CENTER, float xscale = 1.0, float yscale = 1.0), gtk_alignment_new)
+
+ _WRAP_METHOD(void set(float xalign = 0.5, float yalign = 0.5, float xscale = 1.0, float yscale= 1.0), gtk_alignment_set)
+ _WRAP_METHOD(void set(AlignmentEnum xalign, AlignmentEnum yalign = Gtk::ALIGN_CENTER, float xscale = 1.0, float yscale= 1.0), gtk_alignment_set)
+
+ //New in GTK+ 2.4
+ _WRAP_METHOD(void set_padding(guint padding_top, guint padding_bottom, guint padding_left, guint padding_right), gtk_alignment_set_padding)
+ _WRAP_METHOD(void get_padding(guint& padding_top, guint& padding_bottom, guint& padding_left, guint& padding_right), gtk_alignment_get_padding)
+
+ _WRAP_PROPERTY("xalign", float)
+ _WRAP_PROPERTY("yalign", float)
+ _WRAP_PROPERTY("xscale", float)
+ _WRAP_PROPERTY("yscale", float)
+
+ //New in GTK+ 2.4
+ _WRAP_PROPERTY("top_padding", guint)
+ _WRAP_PROPERTY("bottom_padding", guint)
+ _WRAP_PROPERTY("left_padding", guint)
+ _WRAP_PROPERTY("right_padding", guint)
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/arrow.ccg b/libs/gtkmm2/gtk/src/arrow.ccg
new file mode 100644
index 0000000000..c07b4f57b4
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/arrow.ccg
@@ -0,0 +1,46 @@
+// -*- c++ -*-
+/* $Id: arrow.ccg,v 1.1 2003/01/21 13:38:42 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+#include <gtk/gtkarrow.h>
+
+namespace Gtk
+{
+
+/*
+#define MIN_ARROW_SIZE 11
+
+Arrow::Arrow(ArrowType arrow_type, ShadowType shadow_type)
+ _CONSTRUCT()
+{
+
+ GtkArrow *arrow=gobj();
+
+ GTK_WIDGET (arrow)->requisition.width = MIN_ARROW_SIZE + GTK_MISC (arrow)->xpad * 2;
+ GTK_WIDGET (arrow)->requisition.height = MIN_ARROW_SIZE + GTK_MISC (arrow)->ypad * 2;
+
+ arrow->arrow_type = arrow_type;
+ arrow->shadow_type = shadow_type;
+}
+
+*/
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/arrow.hg b/libs/gtkmm2/gtk/src/arrow.hg
new file mode 100644
index 0000000000..3cb5052fe0
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/arrow.hg
@@ -0,0 +1,66 @@
+/* $Id: arrow.hg,v 1.1 2003/01/21 13:38:42 murrayc Exp $ */
+
+/* arrow.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/misc.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/misc_p.h)
+
+namespace Gtk
+{
+
+/** Produces an arrow pointing in one of the four cardinal directions.
+ *
+ * This is intended for use where a directional arrow (in one of the four
+ * cardinal directions) is desired. As such, it has very limited
+ * functionality and basically only draws itself in a particular direction
+ * and with a particular shadow type.
+ *
+ * Gtk::Arrow will fill any space alloted to it, but since it is inherited
+ * from Gtk::Misc, it can be padded and/or aligned, to fill exactly the
+ * space the programmer desires.
+ *
+ * @ingroup Widgets
+ */
+class Arrow : public Misc {
+ _CLASS_GTKOBJECT(Arrow,GtkArrow,GTK_ARROW,Gtk::Misc,GtkMisc)
+public:
+
+
+ /** Creates an arrow.
+ *
+ * @param arrow_type A Gtk::ArrowType enum describing the arrow direction.
+ * @param shadow_type A Gtk::ShadowType enum describing the shadow type of
+ * the arrow.
+ */
+ _WRAP_CTOR(Arrow(ArrowType arrow_type, ShadowType shadow_type), gtk_arrow_new)
+
+
+ // Changes the direction and shadow of an arrow.
+ _WRAP_METHOD(void set(ArrowType arrow_type, ShadowType shadow_type),gtk_arrow_set)
+
+ _WRAP_PROPERTY("arrow-type", ArrowType)
+ _WRAP_PROPERTY("shadow-type", ShadowType)
+
+};
+
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/aspectframe.ccg b/libs/gtkmm2/gtk/src/aspectframe.ccg
new file mode 100644
index 0000000000..9faf8c8121
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/aspectframe.ccg
@@ -0,0 +1,23 @@
+// -*- c++ -*-
+/* $Id: aspectframe.ccg,v 1.1 2003/01/21 13:38:42 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkaspectframe.h>
diff --git a/libs/gtkmm2/gtk/src/aspectframe.hg b/libs/gtkmm2/gtk/src/aspectframe.hg
new file mode 100644
index 0000000000..cc10c84ba8
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/aspectframe.hg
@@ -0,0 +1,104 @@
+/* $Id: aspectframe.hg,v 1.2 2003/03/03 07:49:05 murrayc Exp $ */
+
+/* aspectframe.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/frame.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/frame_p.h)
+
+namespace Gtk
+{
+
+/** A frame that constrains its child to a particular aspect ratio.
+ *
+ * The Gtk::AspectFrame is useful when you want pack a widget so that it can
+ * resize but always retains the same aspect ratio. For instance, one might
+ * be drawing a small preview of a larger image. Because it derives from
+ * Gtk::Frame, it can draw a label and a frame around the child. The frame
+ * will be "shrink-wrapped" to the size of the child.
+ *
+ * @ingroup Widgets
+ * @ingroup Containers
+ */
+class AspectFrame : public Frame
+{
+ _CLASS_GTKOBJECT(AspectFrame,GtkAspectFrame,GTK_ASPECT_FRAME,Gtk::Frame,GtkFrame)
+
+public:
+
+ /** Constructor to create a new AspectFrame object.
+ * @param label Label text.
+ * @param xalign Horizontal alignment of the child within the allocation of this
+ * AspectFrame. For possible values, see Gtk::AlignmentEnum.
+ * @param yalign Vertical alignment of the child within the allocation of this
+ * AspectFrame. For possible values, see Gtk::AlignmentEnum.
+ * @param ratio The desired aspect ratio.
+ * @param obey_child If <tt>true</tt>, @a ratio is ignored and the aspect ratio
+ * is taken from the requisition of the child.
+ */
+ _WRAP_CTOR(AspectFrame(const Glib::ustring& label = Glib::ustring(),
+ AlignmentEnum xalign = Gtk::ALIGN_CENTER, AlignmentEnum yalign = Gtk::ALIGN_CENTER,
+ float ratio = 1.0, bool obey_child = false), gtk_aspect_frame_new)
+
+ /** Constructor to create a new AspectFrame object.
+ * @param label Label text.
+ * @param xalign Horizontal alignment of the child within the allocation of this
+ * AspectFrame. This ranges from 0.0 (left aligned) to 1.0 (right aligned).
+ * @param yalign Vertical alignment of the child within the allocation of this
+ * AspectFrame. This ranges from 0.0 (top aligned) to 1.0 (bottom aligned).
+ * @param ratio The desired aspect ratio.
+ * @param obey_child If <tt>true</tt>, @a ratio is ignored and the aspect ratio
+ * is taken from the requisition of the child.
+ */
+ _WRAP_CTOR(AspectFrame(const Glib::ustring& label,
+ float xalign, float yalign,
+ float ratio = 1.0, bool obey_child = false), gtk_aspect_frame_new)
+
+ //TODO: Is "obey_child = true" a good default?
+ /** Set the properties of this AspectFrame.
+ * @param xalign Horizontal alignment of the child within the allocation of this
+ * AspectFrame. This ranges from 0.0 (left aligned) to 1.0 (right aligned).
+ * @param yalign Vertical alignment of the child within the allocation of this
+ * AspectFrame. This ranges from 0.0 (top aligned) to 1.0 (bottom aligned).
+ * @param ratio The desired aspect ratio.
+ * @param obey_child If <tt>true</tt>, @a ratio is ignored and the aspect ratio
+ * is taken from the requisition of the child.
+ */
+ _WRAP_METHOD(void set(float xalign, float yalign, float ratio, bool obey_child = true), gtk_aspect_frame_set)
+
+ /** Set the properties of this AspectFrame.
+ * @param xalign Horizontal alignment of the child within the allocation of this
+ * AspectFrame. For possible values, see Gtk::AlignmentEnum.
+ * @param yalign Vertical alignment of the child within the allocation of this
+ * AspectFrame. For possible values, see Gtk::AlignmentEnum.
+ * @param ratio The desired aspect ratio.
+ * @param obey_child If <tt>true</tt>, @a ratio is ignored and the aspect ratio
+ * is taken from the requisition of the child.
+ */
+ _WRAP_METHOD(void set(AlignmentEnum xalign, AlignmentEnum yalign, float ratio, bool obey_child = true), gtk_aspect_frame_set)
+
+ _WRAP_PROPERTY("xalign", float)
+ _WRAP_PROPERTY("yalign", float)
+ _WRAP_PROPERTY("ratio", float)
+ _WRAP_PROPERTY("obey-child", bool)
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/assistant.ccg b/libs/gtkmm2/gtk/src/assistant.ccg
new file mode 100644
index 0000000000..2888586cdc
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/assistant.ccg
@@ -0,0 +1,70 @@
+// -*- c++ -*-
+/* $Id: assistant.ccg,v 1.3 2006/05/11 11:40:24 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkassistant.h>
+#include <gtk/gtklabel.h>
+
+
+
+static gint SignalProxy_SlotForwardPage_gtk_callback(gint current_page, gpointer data)
+{
+ Gtk::Assistant::SlotForwardPage* the_slot = static_cast<Gtk::Assistant::SlotForwardPage*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ return (*the_slot)(current_page);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ return gint();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+static void SignalProxy_SlotForwardPage_gtk_callback_destroy(void* data)
+{
+ delete static_cast<Gtk::Assistant::SlotForwardPage*>(data);
+}
+
+
+namespace Gtk
+{
+
+void Assistant::set_forward_page_func(const SlotForwardPage& slot)
+{
+ // Create a copy of the slot object. A pointer to this will be passed
+ // through the callback's data parameter. It will be deleted
+ // when SignalProxy_SlotForwardPage_gtk_callback_destroy() is called.
+ SlotForwardPage* slot_copy = new SlotForwardPage(slot);
+
+ gtk_assistant_set_forward_page_func(gobj(),
+ &SignalProxy_SlotForwardPage_gtk_callback, slot_copy,
+ &SignalProxy_SlotForwardPage_gtk_callback_destroy);
+}
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/assistant.hg b/libs/gtkmm2/gtk/src/assistant.hg
new file mode 100644
index 0000000000..6e6a3379b5
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/assistant.hg
@@ -0,0 +1,88 @@
+/* $Id: assistant.hg,v 1.4 2006/06/13 17:16:26 murrayc Exp $ */
+
+/* assistant.h
+ *
+ * Copyright (C) 2004 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/window.h>
+#include <gdkmm/pixbuf.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/window_p.h)
+
+namespace Gtk
+{
+
+_WRAP_ENUM(AssistantPageType, GtkAssistantPageType)
+
+/** A widget used to guide users through multi-step operations.
+ *
+ * A Gtk::Assistant is a widget used to represent a generally complex
+ * operation split into several steps, guiding the user through its
+ * pages and controlling the page flow to collect the necessary data.
+ *
+ * @newin2p10
+ * @ingroup Dialogs
+ */
+class Assistant : public Window
+{
+ _CLASS_GTKOBJECT(Assistant, GtkAssistant, GTK_ASSISTANT, Gtk::Window, GtkWindow)
+ _UNMANAGEABLE
+public:
+ _CTOR_DEFAULT()
+
+ _WRAP_METHOD(int get_current_page() const, gtk_assistant_get_current_page)
+ _WRAP_METHOD(void set_current_page(int page_num), gtk_assistant_set_current_page)
+ _WRAP_METHOD(int get_n_pages() const, gtk_assistant_get_n_pages)
+ _WRAP_METHOD(Widget* get_nth_page(int page_num), gtk_assistant_get_nth_page)
+ _WRAP_METHOD(const Widget* get_nth_page(int page_num) const, gtk_assistant_get_nth_page, constversion)
+ _WRAP_METHOD(int prepend_page(Widget& page), gtk_assistant_prepend_page)
+ _WRAP_METHOD(int append_page(Widget& page), gtk_assistant_append_page)
+ _WRAP_METHOD(int insert_page(Widget& page, int position), gtk_assistant_insert_page)
+
+ typedef sigc::slot<int, int /* current_page */> SlotForwardPage;
+
+ void set_forward_page_func(const SlotForwardPage& slot);
+ _IGNORE(gtk_assistant_set_forward_page_func)
+
+ _WRAP_METHOD(void set_page_type(const Widget& page, AssistantPageType type), gtk_assistant_set_page_type)
+ _WRAP_METHOD(AssistantPageType get_page_type(const Widget& page) const, gtk_assistant_get_page_type)
+ _WRAP_METHOD(void set_page_title(const Widget& page, const Glib::ustring& title), gtk_assistant_set_page_title)
+ _WRAP_METHOD(Glib::ustring get_page_title(const Widget& page) const, gtk_assistant_get_page_title)
+ _WRAP_METHOD(void set_page_header_image(const Widget& page, const Glib::RefPtr<Gdk::Pixbuf>& pixbuf), gtk_assistant_set_page_header_image)
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> get_page_header_image(const Widget& page), gtk_assistant_get_page_header_image)
+ _WRAP_METHOD(Glib::RefPtr<const Gdk::Pixbuf> get_page_header_image(const Widget& page) const, gtk_assistant_get_page_header_image, constversion)
+ _WRAP_METHOD(void set_page_side_image(const Widget& page, const Glib::RefPtr<Gdk::Pixbuf>& pixbuf), gtk_assistant_set_page_side_image)
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> get_page_side_image(const Widget& page), gtk_assistant_get_page_side_image)
+ _WRAP_METHOD(Glib::RefPtr<const Gdk::Pixbuf> get_page_side_image(const Widget& page) const, gtk_assistant_get_page_side_image, constversion)
+ _WRAP_METHOD(void set_page_complete(const Widget& page, bool complete = true), gtk_assistant_set_page_complete)
+ _WRAP_METHOD(bool get_page_complete(const Widget& page) const, gtk_assistant_get_page_complete)
+ _WRAP_METHOD(void add_action_widget(Widget& child), gtk_assistant_add_action_widget)
+ _WRAP_METHOD(void remove_action_widget(Widget& child), gtk_assistant_remove_action_widget)
+ _WRAP_METHOD(void update_buttons_state(), gtk_assistant_update_buttons_state)
+
+ _WRAP_SIGNAL(void prepare(Gtk::Widget* page), "prepare")
+ _WRAP_SIGNAL(void apply(), "apply")
+ _WRAP_SIGNAL(void close(), "close")
+ _WRAP_SIGNAL(void cancel(), "cancel")
+
+ //TODO: Child properties?
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/bin.ccg b/libs/gtkmm2/gtk/src/bin.ccg
new file mode 100644
index 0000000000..b0cc8b161e
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/bin.ccg
@@ -0,0 +1,127 @@
+// -*- c++ -*-
+/* $Id: bin.ccg,v 1.2 2004/03/15 00:26:00 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkbin.h>
+#include <gtkmm/adjustment.h>
+#include <gtkmm/label.h>
+#include <gtkmm/box.h>
+#include <gtkmm/image.h>
+
+namespace Gtk
+{
+
+
+void
+Bin::remove()
+{
+ if(gobj()->child)
+ {
+ Gtk::Widget* cppChild = Glib::wrap(gobj()->child);
+
+ //If this is a managed widget,
+ //then do an extra ref so that it will
+ //not be destroyed when adding to another container
+ //This should leave it in much the same state as when it was instantiated,
+ //before being added to the first container.
+ if(cppChild->is_managed_())
+ cppChild->reference();
+
+ gtk_container_remove(Container::gobj(), cppChild->gobj());
+ }
+}
+
+void
+Bin::add_label(const Glib::ustring& str, bool mnemonic /* = false */,
+ double x_align /* = 0.5 */, double y_align /* = 0.5 */)
+{
+ Label* label = manage(new Label(str, mnemonic, x_align, y_align));
+ add(*label);
+
+ //This might not always be appropriate:
+ //because maybe the mnemonic widget should be another child widget.
+ //if(mnemonic)
+ //label->set_mnemonic_widget(*this);
+
+ label->show();
+}
+
+void
+Bin::add_label(const Glib::ustring& str, bool mnemonic,
+ AlignmentEnum x_align, AlignmentEnum y_align /* = ALIGN_CENTER */)
+{
+ add_label(str, mnemonic,
+ _gtkmm_align_float_from_enum(x_align),
+ _gtkmm_align_float_from_enum(y_align));
+}
+
+void
+Bin::add_pixmap(const Glib::RefPtr<Gdk::Pixmap>& pixmap, const Glib::RefPtr<Gdk::Bitmap>& mask)
+{
+ Image* p = manage(new Image(pixmap, mask));
+ add(*p);
+ p->show();
+}
+
+void
+Bin::add_pixlabel (const Glib::RefPtr<Gdk::Pixmap>& pixmap,
+ const Glib::RefPtr<Gdk::Bitmap>& mask,
+ const Glib::ustring& str,
+ double x_align /* = 0.5 */, double y_align /* = 0.5 */)
+{
+ //Create Pixmap and Label widgets:
+ Image* pmap = manage(new Image(pixmap, mask));
+ Label* label = manage(new Label(str));
+ label->set_alignment (x_align, y_align);
+
+ //Put them in a VBox:
+ Box* box = manage(new HBox(false,5));
+ box->pack_start(*pmap, PACK_SHRINK);
+ box->pack_start(*label);
+ box->show_all();
+
+ //And put that VBox in this:
+ add(*box);
+}
+
+void
+Bin::add_pixlabel(const Glib::ustring& pixfile,
+ const Glib::ustring& str,
+ double x_align /* = 0.5 */, double y_align /* = 0.5 */)
+{
+ //Create Pixmap and Label widgets:
+ Image* pmap = manage(new Image(pixfile));
+ Label* label = manage(new Label(str));
+ label->set_alignment (x_align, y_align);
+
+ //Put them in a VBox:
+ Box* vbox = manage(new HBox(false, 5));
+ vbox->pack_start(*pmap, PACK_SHRINK);
+ vbox->pack_start(*label);
+ vbox->show_all();
+
+ //And put that VBox in this:
+ add(*vbox);
+}
+
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/bin.hg b/libs/gtkmm2/gtk/src/bin.hg
new file mode 100644
index 0000000000..ec26873df8
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/bin.hg
@@ -0,0 +1,133 @@
+/* $Id: bin.hg,v 1.2 2003/03/03 07:49:05 murrayc Exp $ */
+
+/* bin.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/container.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/container_p.h)
+
+
+namespace Gtk
+{
+
+/** A container with just one child.
+ *
+ * This is an abstract base class from which all classes holding
+ * up to 1 widget inside of them derive. It provides access to methods
+ * relevent to a single object, such as add_label, add_pixmap, etc.
+ *
+ * @ingroup Widgets
+ */
+class Bin : public Container
+{
+ _CLASS_GTKOBJECT(Bin,GtkBin,GTK_BIN,Gtk::Container,GtkContainer)
+protected:
+ _CTOR_DEFAULT
+public:
+
+
+ // get_child() is a convenience function to get a c++ wrapper of
+ // the contained widget. It may return NULL if such an item is not
+ // available.
+ _MEMBER_GET_PTR(child, child, Widget*, GtkWidget*)
+
+ /** Remove the contained object
+ * Since this can only hold one object it is not necessary to
+ * specify which object to remove like other containers.
+ *
+ * When calling remove() on a Gtk::ScrolledWindow this might not remove the
+ * expected child directly, because Gtk::ScrolledWindow::add() sometimes creates a
+ * Gtk::ViewPort child and places the widget in that.
+ */
+ void remove();
+
+ //Convenience methods that don't correspond to GTK+ functions:
+
+ /** Add a Label object.
+ * This does not correspond to any GTK+ function and is provided purely for
+ * convenience.
+ * @param label The text for the label.
+ * @param mnemonic If <tt>true</tt>, characters preceded by an underscore
+ * (_) will be underlined and used as a keyboard accelerator (shortcut).
+ * @param x_align The horizontal alignment of the text. This ranges from
+ * 0.0 (left aligned) to 1.0 (right aligned).
+ * @param y_align The vertical alignment of the text. This ranges from
+ * 0.0 (top aligned) to 1.0 (bottom aligned).
+ */
+ void add_label(const Glib::ustring& label, bool mnemonic = false,
+ double x_align = 0.5, double y_align = 0.5);
+
+ /** Add a Label object.
+ * This does not correspond to any GTK+ function and is provided purely for
+ * convenience.
+ * @param label The label text.
+ * @param mnemonic If <tt>true</tt>, characters preceded by an underscore
+ * (_) will be underlined and used as a keyboard accelerator (shortcut).
+ * @param x_align The horizontal alignment of the text. For possible
+ * values, see Gtk::AlignmentEnum.
+ * @param y_align The vertical alignment of the text. For possible
+ * values, see Gtk::AlignmentEnum.
+ */
+ void add_label(const Glib::ustring& label, bool mnemonic,
+ AlignmentEnum x_align, AlignmentEnum y_align = ALIGN_CENTER);
+
+ /** Add an Image object.
+ * This does not correspond to any GTK+ function and is provided purely for
+ * convenience.
+ * This will create, manage, add, and show a new Image to this Bin.
+ * @param pixmap A Glib::RefPtr to a Gdk::Pixmap.
+ * @param mask A Glib::RefPtr to a Gdk::Bitmap.
+ */
+ void add_pixmap(const Glib::RefPtr<Gdk::Pixmap>& pixmap,
+ const Glib::RefPtr<Gdk::Bitmap>& mask);
+
+ /** Add Image and Label objects.
+ * This does not correspond to any GTK+ function and is provided purely for
+ * convenience.
+ * This will create, manage, add, and show a new Image and Label (within an
+ * HBox) to this Bin.
+ * @param pixmap A Glib::RefPtr to a Gdk::Pixmap.
+ * @param mask A Glib::RefPtr to a Gdk::Bitmap.
+ * @param label The text for the label.
+ * @param x_align The horizontal alignment of the text in the label.
+ * @param y_align The vertical alignment of the text in the label.
+ */
+ void add_pixlabel(const Glib::RefPtr<Gdk::Pixmap>& pixmap,
+ const Glib::RefPtr<Gdk::Bitmap>& mask,
+ const Glib::ustring& label,
+ double x_align = 0.5, double y_align = 0.5);
+
+ /** Add Image and Label objects.
+ * This does not correspond to any GTK+ function and is provided purely for
+ * convenience.
+ * This will create, manage, add, and show a new Image and Label (within an
+ * HBox) to this Bin.
+ * @param pixfile The path to a file to be displayed.
+ * @param label The text for the label.
+ * @param x_align The horizontal alignment of the text in the label.
+ * @param y_align The vertical alignment of the text in the label.
+ */
+ void add_pixlabel(const Glib::ustring& pixfile,
+ const Glib::ustring& label,
+ double x_align = 0.5, double y_align = 0.5);
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/box.ccg b/libs/gtkmm2/gtk/src/box.ccg
new file mode 100644
index 0000000000..0bc74ca3de
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/box.ccg
@@ -0,0 +1,125 @@
+// -*- c++ -*-
+/* $Id: box.ccg,v 1.1 2003/01/21 13:38:42 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkbox.h>
+#include <gtk/gtkvbox.h>
+#include <gtk/gtkhbox.h>
+#include <glibmm/wrap.h>
+
+namespace Gtk
+{
+
+namespace Box_Helpers
+{
+
+Widget* Child::get_widget() const
+{
+ return Glib::wrap(gobj()->widget);
+}
+
+void Child::set_options(PackOptions options, guint padding)
+{
+ const bool expand = (options == PACK_EXPAND_PADDING || options == PACK_EXPAND_WIDGET);
+ const bool fill = (options == PACK_EXPAND_WIDGET);
+
+ set_options(expand, fill, padding);
+}
+
+void Child::set_options(bool expand, bool fill, guint padding)
+{
+ gobj()->expand = expand;
+ gobj()->fill = fill;
+ gobj()->padding = padding;
+}
+
+void Child::set_pack(PackType pack)
+{
+ gobj()->pack = pack;
+}
+
+
+/**************************************************************************/
+
+
+typedef Box_Helpers::BoxList::iterator box_iterator;
+
+box_iterator BoxList::insert(box_iterator position, const Element& e)
+{
+ iterator i;
+ bool expand = (e.options_ == PACK_EXPAND_PADDING) || (e.options_ == PACK_EXPAND_WIDGET);
+ bool fill = (e.options_ == PACK_EXPAND_WIDGET);
+
+ if (e.pack_ == PACK_START)
+ gtk_box_pack_start(gparent(), (e.widget_? e.widget_->gobj() : 0),
+ (gboolean)expand, (gboolean)fill, e.padding_);
+ else
+ gtk_box_pack_end(gparent(), (e.widget_ ? e.widget_->gobj() : 0),
+ (gboolean)expand, (gboolean)fill, e.padding_);
+
+ i = --end();
+
+ if (position!=end())
+ reorder(i, position);
+
+ return i;
+}
+
+// Non-standard
+void BoxList::reorder(box_iterator loc, box_iterator pos)
+{
+ int position = g_list_position(glist(), pos.node_);
+ gtk_box_reorder_child(gparent(), loc->gobj()->widget, position);
+}
+
+} /* namespace Box_Helpers */
+
+Box::BoxList& Box::children()
+{
+ children_proxy_ = BoxList(gobj());
+ return children_proxy_;
+}
+
+const Box::BoxList& Box::children() const
+{
+ children_proxy_ = BoxList(const_cast<GtkBox*>(gobj()));
+ return children_proxy_;
+}
+
+void Box::pack_start(Widget& child, PackOptions options, guint padding)
+{
+ bool expand = (options == PACK_EXPAND_PADDING) || (options == PACK_EXPAND_WIDGET);
+ bool fill = (options == PACK_EXPAND_WIDGET);
+
+ gtk_box_pack_start(gobj(), child.gobj(), (gboolean)expand, (gboolean)fill, padding);
+}
+
+void Box::pack_end(Widget& child, PackOptions options, guint padding)
+{
+ bool expand = (options == PACK_EXPAND_PADDING) || (options == PACK_EXPAND_WIDGET);
+ bool fill = (options == PACK_EXPAND_WIDGET);
+
+ gtk_box_pack_end(gobj(), child.gobj(), (gboolean)expand, (gboolean)fill, padding);
+}
+
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/box.hg b/libs/gtkmm2/gtk/src/box.hg
new file mode 100644
index 0000000000..88f24ce54d
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/box.hg
@@ -0,0 +1,267 @@
+/* $Id: box.hg,v 1.10 2006/01/28 18:49:13 jjongsma Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/container_p.h)
+
+#include <gtkmm/container.h>
+#include <glibmm/helperlist.h>
+#include <gtk/gtkbox.h> /* For _GtkBoxChild */
+
+
+namespace Gtk
+{
+
+/** Packing options for adding child widgets to a Box with pack_start() and pack_end().
+ * @ingroup gtkmmEnums
+ */
+enum PackOptions
+{
+ PACK_SHRINK, /**< Space is contracted to the child widget size. */
+ PACK_EXPAND_PADDING, /**< Space is expanded, with extra space filled with padding. */
+ PACK_EXPAND_WIDGET /**< Space is expanded, with extra space filled by increasing the child widget size. */
+};
+
+class Box;
+
+namespace Box_Helpers
+{
+
+//This may not have any data or virtual functions. See below.
+class Child : protected _GtkBoxChild
+{
+private:
+ Child& operator=(const Child&); //Not implemented.
+ Child(const Child&); //Not implemented.
+
+public:
+ /// Provides access to the underlying C GObject.
+ inline _GtkBoxChild* gobj() { return this; }
+ /// Provides access to the underlying C GObject.
+ inline const _GtkBoxChild* gobj() const { return this; }
+
+ Widget* get_widget() const;
+
+ inline guint16 get_padding() const { return (gobj()->padding); }
+ inline bool get_expand() const { return (gobj()->expand); }
+ inline bool get_fill() const { return (gobj()->fill); }
+ inline bool get_pack() const { return (gobj()->pack); }
+
+ void set_options(PackOptions options, guint padding = 0);
+ void set_options(bool expand, bool fill, guint padding = 0);
+
+ void set_pack(PackType pack);
+
+protected:
+ inline GtkBox* parent()
+ { return (GtkBox*) (gobj()->widget->parent); }
+
+ void redraw();
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ friend class Dummy_; // silence the compiler (Child has only private ctors)
+#endif
+};
+
+class Element
+{
+public:
+ Element(Widget& widget,
+ PackOptions options = PACK_EXPAND_WIDGET,
+ guint padding = 0,
+ PackType pack = PACK_START)
+ : widget_(&widget), options_(options),
+ padding_(padding), pack_(pack)
+ {}
+
+ Widget* widget_;
+ PackOptions options_;
+ guint padding_;
+ PackType pack_;
+};
+
+typedef Element StartElem;
+
+struct EndElem : public Element
+{
+ EndElem(Widget& widget,
+ PackOptions options = PACK_EXPAND_WIDGET,
+ guint padding = 0)
+ : Element (widget, options, padding, PACK_END)
+ {}
+};
+
+#m4 include(list.m4)
+ GP_LIST(BoxList,Box,GtkBox,Child,children)
+ //The standard iterator, instead of List_Cpp_Iterator,
+ //only works because Child is derived from _GtkBoxChild.
+
+ GP_LIST_FIND(get_widget)
+ GP_LIST_CONTAINER_REMOVE(get_widget)
+ // Non-standard
+ void reorder(iterator loc,iterator pos);
+ GP_LIST_END()
+
+} /* namespace Box_Helpers */
+
+
+/** A base class for box containers
+ *
+ * Abstract base class for horizontal and vertical boxes, which organize a
+ * variable number of widgets into a rectangular area. This is an abstract
+ * class and it defers choice of which way the widgets are packed to the screen
+ * to the derived classes. It provides a common interface for inserting
+ * widgets to a box indepenently of how it is shown in the screen.
+ *
+ * Gtk::Box uses a notion of packing. Packing refers to adding widgets with
+ * reference to a particular position in a Gtk::Container. There are two
+ * reference positions: the start and the end of the box. For a VBox, the start
+ * is defined as the top of the box and the end is defined as the bottom. For
+ * a HBox the start is defined as the left side and the end is defined as the
+ * right side. Use repeated calls to pack_start() to pack widgets into a
+ * Gtk::Box from start to end. Use pack_end() to add widgets from end to start.
+ * You may intersperse these calls and add widgets from both ends of the same
+ * Gtk::Box. The last widget added with pack_start() will be placed just before
+ * the last widget added with pack_end()
+ *
+ * Because Gtk::Box is a Gtk::Container, you may also use Gtk::Container::add()
+ * to insert widgets, and they will be packed as if with pack_start(). Use
+ * Gtk::Container::remove() to remove widgets.
+ *
+ * Use set_homogeneous() to specify whether or not all children of the Gtk::Box
+ * occupy the same amount of space. Use set_spacing() to determine the minimum
+ * space placed between all children in the Gtk::Box. Use reorder_child() to
+ * move a child widget to a different place in the box. Use
+ * set_child_packing() to reset the pack options and padding attributes of any
+ * Gtk::Box child. Use query_child_packing() to query these fields.
+ */
+class Box : public Container
+{
+ _CLASS_GTKOBJECT(Box,GtkBox,GTK_BOX,Gtk::Container,GtkContainer)
+ _IGNORE(gtk_box_pack_end_defaults, gtk_box_set_child_packing, gtk_box_pack_start_defaults, gtk_box_query_child_packing)
+public:
+ typedef Box_Helpers::BoxList BoxList;
+
+protected:
+ _CTOR_DEFAULT
+public:
+
+ _WRAP_METHOD(void pack_start(Widget& child, bool expand, bool fill, guint padding = 0), gtk_box_pack_start)
+
+ /** Left side insert a widget to a box.
+ * @param child A Widget to be added to box.
+ * @param options Controls how the widget expands to fill space, and how the space around them is used.
+ * @param padding Padding that is added on either side of the widget. This is different to spacing set when the box is created (or with set_spacing()) - spacing is added between objects, and padding is added on either side of an object.
+ */
+ void pack_start(Widget& child, PackOptions options = PACK_EXPAND_WIDGET, guint padding = 0);
+
+ _WRAP_METHOD(void pack_end(Widget& child, bool expand, bool fill, guint padding = 0), gtk_box_pack_end)
+
+ /** Right side insert a widget to a box.
+ * @param child A Widget to be added to box.
+ * @param options Controls how the widget expands to fill space, and how the space around them is used.
+ * @param padding Padding that is added on either side of the widget. This is different to spacing set when the box is created (or with set_spacing()) - spacing is added between objects, and padding is added on either side of an object.
+ */
+ void pack_end(Widget& child, PackOptions options = PACK_EXPAND_WIDGET, guint padding = 0);
+
+ _WRAP_METHOD(void set_homogeneous(bool homogeneous = true), gtk_box_set_homogeneous)
+ _WRAP_METHOD(bool get_homogeneous() const, gtk_box_get_homogeneous)
+
+ _WRAP_METHOD(void set_spacing(int spacing), gtk_box_set_spacing)
+ _WRAP_METHOD(int get_spacing() const, gtk_box_get_spacing)
+
+ _WRAP_METHOD(void reorder_child(Widget& child, int pos), gtk_box_reorder_child)
+
+ /* Get the child widgets.
+ * @result An STL-style container of pointers to the box's child widgets.
+ */
+ BoxList& children();
+
+ /* Get the child widgets.
+ * @result An STL-style container of pointers to the box's child widgets.
+ */
+ const BoxList& children() const;
+
+ _WRAP_PROPERTY("spacing", int)
+ _WRAP_PROPERTY("homogeneous", bool)
+
+protected:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ mutable BoxList children_proxy_;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+};
+
+
+/** Vertical Box for laying widgets in a vertical row.
+ *
+ * You should create these objects, but it is more confortable to pass
+ * around pointers of Gtk::Box. All the methods that do anything are in
+ * class Gtk::Box and this allows you to later change the direction of the
+ * box, when there's no dependencies to HBox and VBox classes.
+ *
+ * @ingroup Widgets
+ * @ingroup Containers
+ */
+class VBox : public Box
+{
+ _CLASS_GTKOBJECT(VBox,GtkVBox,GTK_VBOX,Gtk::Box,GtkBox)
+public:
+
+ /** Creates a new vertical box.
+ * @param homogeneous Whether each widget in the VBox should have the same
+ * height. If set, a PACK_SHRINK argument to pack_start() or pack_end() is
+ * ignored.
+ * @param spacing Determines the space in pixels between child widgets.
+ */
+ _WRAP_CTOR(VBox(bool homogeneous = false, int spacing = 0), gtk_vbox_new)
+
+};
+
+/** Horizontal Box for laying widgets in a horizontal row.
+ *
+ * You should create these objects, but it is more confortable to pass
+ * around pointers of Gtk::Box. All the methods that do anything are in
+ * class Gtk::Box and this allows you to later change the direction of the
+ * box, when there's no dependencies to HBox and VBox classes.
+ *
+ * Use the Gtk::Box packing interface to determine the arrangement, spacing,
+ * width, and alignment of Gtk::HBox children.
+ *
+ * All children are allocated the same height.
+ *
+ * @ingroup Widgets
+ * @ingroup Containers
+ */
+class HBox : public Box
+{
+ _CLASS_GTKOBJECT(HBox,GtkHBox,GTK_HBOX,Gtk::Box,GtkBox)
+public:
+
+ /** Creates a new horizontal box.
+ * @param homogeneous Whether each widget in the HBox should have the same
+ * width. If set, a PACK_SHRINK argument to pack_start() or pack_end() is
+ * ignored.
+ * @param spacing Determines the space in pixels between child widgets.
+ */
+ _WRAP_CTOR(HBox(bool homogeneous = false, int spacing = 0), gtk_hbox_new)
+
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/builder.ccg b/libs/gtkmm2/gtk/src/builder.ccg
new file mode 100644
index 0000000000..366d9a96d4
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/builder.ccg
@@ -0,0 +1,129 @@
+// -*- c++ -*-
+/* $Id: builder.ccg,v 1.11 2006/05/10 20:59:27 murrayc Exp $ */
+
+/* Copyright 2007 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkbuilder.h>
+
+// Allow GtkBuilder to instantiate a gtkmm derived GType instead of the regular
+// GTK+ GType, so we can, for instance, use our vfuncs and default signal handlers.
+static GType
+get_type_from_name_vfunc_callback(GtkBuilder*, const char* type_name)
+{
+ if (!type_name)
+ return G_TYPE_INVALID;
+
+ // See if there is a gtkmm version of the gclass:
+ Glib::ustring classname_prefixed ("gtkmm__"); // gtkmm uses a prefix
+ classname_prefixed += type_name;
+
+ GType gtype = g_type_from_name(classname_prefixed.c_str());
+
+ if(gtype == G_TYPE_INVALID) // if it's not a registered typename
+ {
+ // There's no gtkmm derived type, so just use the normal one.
+ gtype = g_type_from_name(type_name);
+ }
+
+ return gtype;
+}
+
+namespace Gtk
+{
+
+//static
+Glib::RefPtr<Builder> Builder::create_from_file(const std::string& filename)
+{
+ Glib::RefPtr<Builder> builder = Builder::create();
+ if(builder->add_from_file(filename))
+ return builder;
+ else
+ return Glib::RefPtr<Builder>();
+}
+
+//static
+Glib::RefPtr<Builder> Builder::create_from_string(const Glib::ustring& buffer)
+{
+ Glib::RefPtr<Builder> builder = Builder::create();
+ if(builder->add_from_string(buffer))
+ return builder;
+ else
+ return Glib::RefPtr<Builder>();
+}
+
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+bool Builder::add_from_string(const Glib::ustring& buffer)
+#else
+bool Builder::add_from_string(const Glib::ustring& buffer, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ bool retvalue = gtk_builder_add_from_string(gobj(), buffer.c_str(), -1 /* means null-terminated */, &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+GtkWidget* Builder::get_cwidget(const Glib::ustring& name)
+{
+ GObject *cobject = gtk_builder_get_object (gobj(), name.c_str());
+ if(!cobject)
+ {
+ g_critical("gtkmm: object `%s' not found in GtkBuilder file.", name.c_str());
+ return 0;
+ }
+
+ if (!GTK_IS_WIDGET (cobject))
+ {
+ g_critical("gtkmm: object `%s' (type=`%s') (in GtkBuilder file) is not a widget type.",
+ name.c_str(), G_OBJECT_TYPE_NAME(cobject));
+ /* TODO: Unref/sink it? */
+ return 0;
+ }
+
+ return GTK_WIDGET (cobject);
+}
+
+Gtk::Widget* Builder::get_widget_checked(const Glib::ustring& name, GType type)
+{
+ // Get the widget from the GtkBuilder file.
+ GtkWidget *cobject = get_cwidget(name);
+
+ // Check if it has the correct type.
+ if(!g_type_is_a(G_OBJECT_TYPE(cobject), type))
+ {
+ g_critical("gtkmm: widget `%s' (in GtkBuilder file) is of type `%s' but `%s' was expected",
+ name.c_str(), G_OBJECT_TYPE_NAME(cobject), g_type_name(type));
+ return 0;
+ }
+
+ return Glib::wrap (GTK_WIDGET (cobject));
+}
+
+
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/builder.hg b/libs/gtkmm2/gtk/src/builder.hg
new file mode 100644
index 0000000000..e2f44ec56c
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/builder.hg
@@ -0,0 +1,212 @@
+/* $Id: builder.hg,v 1.19 2006/05/10 20:59:27 murrayc Exp $ */
+
+/* Copyright (C) 2007 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/widget.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Gtk
+{
+
+/** Exception class for Gdk::Builder errors.
+ */
+_WRAP_GERROR(BuilderError,GtkBuilderError,GTK_BUILDER_ERROR)
+
+/** Build an interface from a UI definition description.
+ *
+ * This object represents an `instantiation' of an UI definition description.
+ * When one of these objects is created, the XML file is read, and the interface
+ * is created. The Gtk::Builder object then provides an interface for accessing the
+ * widgets in the interface by the names assigned to them inside the UI description.
+ *
+ * @newin2p12
+ */
+class Builder : public Glib::Object
+{
+ _CLASS_GOBJECT(Builder, GtkBuilder, GTK_BUILDER, Glib::Object, GObject)
+
+protected:
+ _CTOR_DEFAULT
+ _IGNORE(gtk_builder_new)
+
+public:
+ /** Creates a new builder object.
+ */
+ _WRAP_CREATE()
+
+ /** Parses a file containing a GtkBuilder UI definition.
+ *
+ * @param filename the name of the file to parse.
+ * @result A new Builder object, or a null pointer if an error occurred.
+ * @throws Glib::FileError, Glib::MarkupError
+ *
+ * @newin2p12
+ **/
+ static Glib::RefPtr<Builder> create_from_file(const std::string& filename);
+
+
+ /** Parses a string containing a GtkBuilder UI definition.
+ *
+ * @buffer: the string to parse
+ * @result A new Builder object, or a null pointer if an error occurred.
+ * @throws Glib::MarkupError
+ *
+ * @newin2p12
+ **/
+ static Glib::RefPtr<Builder> create_from_string(const Glib::ustring& buffer);
+
+ _WRAP_METHOD(bool add_from_file(const std::string& filename), gtk_builder_add_from_file, errthrow)
+
+ /** Parses a string containing a GtkBuilder UI definition
+ * and merges it with the current contents of the builder.
+ *
+ * @buffer: the string to parse
+ * @result true on success or false if an error occurred.
+ * @throws Glib::MarkupError
+ *
+ * @newin2p12
+ **/
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ bool add_from_string(const Glib::ustring& buffer);
+ #else
+ bool add_from_string(const Glib::ustring& buffer, std::auto_ptr<Glib::Error>& error);
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ _WRAP_METHOD(bool add_from_string(const char* buffer, gsize length), gtk_builder_add_from_string, errthrow)
+
+ //TODO: Custom-implement this and prevent it from being used with GTK_WIDGET-derived types?
+ _WRAP_METHOD(Glib::RefPtr<Glib::Object> get_object(const Glib::ustring& name), gtk_builder_get_object, refreturn)
+
+ /** Get a widget from the Builder file.
+ * For instance:
+ * @code
+ * Gtk::Table* pTable = 0;
+ * refXml->get_widget("mytable", pTable);
+ * @endcode
+ * This method prints a warning message to the console if the widget
+ * doesn't exist or has the wrong type, so you don't need to check that
+ * manually.
+ *
+ * Note that you are responsible for deleting top-level widgets (windows and
+ * dialogs) instantiated by the Builder object. Other widgets are instantiated as
+ * managed so they will be deleted automatically if you add them to a
+ * container widget.
+ *
+ * @param name The name of the widget.
+ * @retval widget A pointer to the widget, or <tt>0</tt> on failure.
+ */
+ template <class T_Widget> inline
+ void get_widget(const Glib::ustring& name, T_Widget*& widget)
+ {
+ // Initialize output parameter:
+ widget = 0;
+
+ // The dynamic_cast<> should never fail if get_widget_checked() succeeded.
+ widget = dynamic_cast<T_Widget*>(this->get_widget_checked(name, T_Widget::get_base_type()));
+
+ if(!widget)
+ g_critical("Gtk::Builder::get_widget(): dynamic_cast<> failed.");
+ }
+
+ /** This provides a pointer to a widget whose details are specified in the GtkBuilder file, but which is implemented
+ * by your own derived class. Your class must have a constructor like so:
+ * @code
+ * DerivedDialog::DerivedDialog(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& refBuilder)
+ * : Gtk::Dialog(cobject) //Calls the base class constructor
+ * @endcode
+ *
+ * For instance:
+ * @code
+ * Gtk::DerivedBox* pBox = 0;
+ * refXml->get_widget_derived("mybox", pBox);
+ * @endcode
+ *
+ * @param name The name of the widget.
+ * @retval widget A pointer to the widget, or <tt>0</tt> on failure.
+ */
+ template <class T_Widget> inline
+ void get_widget_derived(const Glib::ustring& name, T_Widget*& widget)
+ {
+ // Initialize output parameter:
+ widget = 0;
+
+ // Get the widget from the glade file.
+ typedef typename T_Widget::BaseObjectType cwidget_type;
+ cwidget_type* pCWidget = (cwidget_type*)get_cwidget(name);
+
+ //The error was already reported by get_cwidget().
+ if(!pCWidget)
+ return;
+
+ //Check whether there is already a C++ wrapper instance associated with this C instance:
+ Glib::ObjectBase* pObjectBase = ObjectBase::_get_current_wrapper((GObject*)pCWidget);
+
+ //If there is already a C++ instance, then return it again:
+ if(pObjectBase)
+ {
+ widget = dynamic_cast<T_Widget*>( Glib::wrap((GtkWidget*)pCWidget) );
+ //Newer, more spec-complaint, versions of g++ cannot resolve a specific wrap() function in a template.
+
+ //The dynamic cast checks that it is of the correct type.
+ //Somebody might be trying to call get_widget_derived() after already calling get_widget(),
+ //or after already calling get_widget_derived() with a different derived C++ type.
+ if(!widget)
+ g_critical("Gtk::Builder::get_widget_derived(): dynamic_cast<> failed. An existing C++ instance, of a different type, seems to exist.");
+ }
+ else
+ {
+ //Create a new C++ instance to wrap the existing C instance:
+
+ //Set the output variable. We needed to do this because we can not template the return type.
+ Glib::RefPtr<Gtk::Builder> refThis(this);
+ refThis->reference(); //take a copy.
+ widget = new T_Widget(pCWidget, refThis);
+ }
+ }
+
+
+ //TODO:_WRAP_METHOD(GSList* get_objects(), gtk_builder_get_objects)
+ //_WRAP_METHOD(void connect_signals(gpointer user_data), gtk_builder_connect_signals)
+ //_WRAP_METHOD(void connect_signals_full(GtkBuilderConnectFunc func, gpointer user_data), gtk_builder_connect_signals_full)
+ _WRAP_METHOD(void set_translation_domain(const Glib::ustring& domain), gtk_builder_set_translation_domain)
+ _WRAP_METHOD(Glib::ustring get_translation_domain() const, gtk_builder_get_translation_domain)
+
+ //We ignore gtk_builder_get_type_from_name() because it only seems useful when implementing GtkBuildable for widgets.
+ _IGNORE(gtk_builder_get_type_from_name)
+
+protected:
+ Gtk::Widget* get_widget_checked(const Glib::ustring& name, GType type);
+ GtkWidget* get_cwidget(const Glib::ustring& name);
+
+#m4begin
+dnl Custom-coded vfunc:
+dnl
+ _PUSH(SECTION_PCC_CLASS_INIT_VFUNCS)
+ klass->get_type_from_name = &get_type_from_name_vfunc_callback;
+ _POP()
+#m4end
+
+ // TODO: Make sure this is actually invoked even with disabled vfuncs so
+ // that glade creates gtkmm's GObjects.
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/button.ccg b/libs/gtkmm2/gtk/src/button.ccg
new file mode 100644
index 0000000000..2b1bd5d8bd
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/button.ccg
@@ -0,0 +1,43 @@
+// -*- c++ -*-
+/* $Id: button.ccg,v 1.1 2003/01/21 13:38:43 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtklabel.h>
+#include <gtk/gtkmisc.h>
+#include <gtk/gtkbutton.h>
+#include <gtkmm/stock.h>
+
+
+namespace Gtk
+{
+
+Button::Button(const Glib::ustring& label, bool mnemonic)
+:
+ _CONSTRUCT("label", label.c_str(), "use_underline", gboolean(mnemonic))
+{}
+
+Button::Button(const StockID& stock_id)
+:
+ _CONSTRUCT("use_stock", 1, "label", stock_id.get_c_str())
+{}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/button.hg b/libs/gtkmm2/gtk/src/button.hg
new file mode 100644
index 0000000000..8d1109edf2
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/button.hg
@@ -0,0 +1,126 @@
+/* $Id: button.hg,v 1.10 2006/08/21 19:07:14 jjongsma Exp $ */
+
+/* box.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/bin.h>
+#include <gtkmm/stockid.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/bin_p.h)
+
+
+namespace Gtk
+{
+
+namespace Stock { struct BuiltinStockID; }
+
+
+/** A widget that creates a signal when clicked on.
+ *
+ * This widget is generally used with a signal handler that is called when the button is pressed.
+ * It can hold any valid child widget. The most commonly used child is the Gtk::Label.
+ *
+ * @ingroup Widgets
+ */
+class Button : public Bin
+{
+ _CLASS_GTKOBJECT(Button,GtkButton,GTK_BUTTON,Gtk::Bin,GtkBin)
+public:
+
+ /** Create an empty button.
+ * With an empty button, you can Gtk::Button::add() a widget
+ * such as a Gtk::Pixmap or Gtk::Box.
+ *
+ * If you just wish to add a Gtk::Label,
+ * you may want to
+ * use the Gtk::Button(const Glib::ustring& label) ctor
+ * directly instead.
+ */
+ _CTOR_DEFAULT
+
+
+ /** Simple Push Button with label.
+ * Create a button with the given label inside. You won't be able
+ * to add a widget in this button since it already has a Gtk::Label
+ * in it
+ */
+ explicit Button(const Glib::ustring& label, bool mnemonic = false);
+
+ /** Creates a new Button containing the image and text from a stock item.
+ * Stock ids have identifiers like Gtk::Stock::OK and Gtk::Stock::APPLY.
+ * @param stock_id The stock item.
+ */
+ explicit Button(const StockID& stock_id);
+
+
+ _WRAP_METHOD(void pressed(), gtk_button_pressed)
+ _WRAP_METHOD(void released(),gtk_button_released)
+ _WRAP_METHOD(void clicked(), gtk_button_clicked)
+ _WRAP_METHOD(void enter(), gtk_button_enter)
+ _WRAP_METHOD(void leave(), gtk_button_leave)
+
+ _WRAP_METHOD(void set_relief(ReliefStyle newstyle), gtk_button_set_relief)
+ _WRAP_METHOD(ReliefStyle get_relief() const, gtk_button_get_relief)
+
+ _WRAP_METHOD(void set_label(const Glib::ustring& label), gtk_button_set_label)
+ _WRAP_METHOD(Glib::ustring get_label() const, gtk_button_get_label)
+ _WRAP_METHOD(void set_use_underline(bool use_underline = true), gtk_button_set_use_underline)
+ _WRAP_METHOD(bool get_use_underline() const, gtk_button_get_use_underline)
+ _WRAP_METHOD(void set_use_stock(bool use_stock = true), gtk_button_set_use_stock)
+ _WRAP_METHOD(bool get_use_stock() const, gtk_button_get_use_stock)
+
+ _WRAP_METHOD(void set_focus_on_click(bool focus_on_click = true), gtk_button_set_focus_on_click)
+ _WRAP_METHOD(bool get_focus_on_click() const, gtk_button_get_focus_on_click)
+
+ _WRAP_METHOD(void set_alignment(float xalign, float yalign), gtk_button_set_alignment)
+ _WRAP_METHOD(void get_alignment(float& xalign, float& yalign), gtk_button_get_alignment)
+
+ _WRAP_METHOD(void set_image(Widget& image), gtk_button_set_image)
+ _WRAP_METHOD(Widget* get_image(), gtk_button_get_image)
+ _WRAP_METHOD(const Widget* get_image() const, gtk_button_get_image, constversion)
+
+ _WRAP_METHOD(void set_image_position(PositionType position), gtk_button_set_image_position)
+ _WRAP_METHOD(PositionType get_image_position() const, gtk_button_get_image_position)
+
+ _WRAP_SIGNAL(void pressed(), "pressed")
+ _WRAP_SIGNAL(void released(), "released")
+ _WRAP_SIGNAL(void clicked(), "clicked")
+ _WRAP_SIGNAL(void enter(), "enter")
+ _WRAP_SIGNAL(void leave(), "leave")
+ _WRAP_SIGNAL(void activate(), "activate")
+
+ _WRAP_PROPERTY("label", Glib::ustring)
+ _WRAP_PROPERTY("relief", ReliefStyle)
+ _WRAP_PROPERTY("use-underline", bool)
+ _WRAP_PROPERTY("use-stock", bool)
+ _WRAP_PROPERTY("focus-on-click", bool)
+ _WRAP_PROPERTY("xalign", float)
+ _WRAP_PROPERTY("yalign", float)
+ _WRAP_PROPERTY("image", Gtk::Widget*)
+ _WRAP_PROPERTY("image-position", PositionType)
+};
+
+/*! A Gtk::Button example.
+ * Example 1: @link book/buttons/button/buttons.h @endlink
+ * Example 2: @link book/buttons/button/buttons.cc @endlink
+ * Example 3: @link book/buttons/button/main.cc @endlink
+ */
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/buttonbox.ccg b/libs/gtkmm2/gtk/src/buttonbox.ccg
new file mode 100644
index 0000000000..72266d4996
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/buttonbox.ccg
@@ -0,0 +1,46 @@
+// -*- c++ -*-
+/* $Id: buttonbox.ccg,v 1.1 2003/01/21 13:38:43 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkhbbox.h>
+#include <gtk/gtkvbbox.h>
+
+namespace Gtk
+{
+
+VButtonBox::VButtonBox(ButtonBoxStyle layout, int spacing)
+:
+ _CONSTRUCT_SPECIFIC(ButtonBox, VButtonBox)
+{
+ set_layout(layout);
+ set_spacing(spacing);
+}
+
+HButtonBox::HButtonBox(ButtonBoxStyle layout, int spacing)
+:
+ _CONSTRUCT_SPECIFIC(ButtonBox, HButtonBox)
+{
+ set_layout(layout);
+ set_spacing(spacing);
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/buttonbox.hg b/libs/gtkmm2/gtk/src/buttonbox.hg
new file mode 100644
index 0000000000..0769de217c
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/buttonbox.hg
@@ -0,0 +1,106 @@
+/* $Id: buttonbox.hg,v 1.3 2003/10/12 09:38:11 murrayc Exp $ */
+
+/* buttonbox.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/box.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/box_p.h)
+
+namespace Gtk
+{
+
+// This is a #define in GTK+, and unrelated to the GtkButtonBoxStyle enum.
+/** @ingroup gtkmmEnums */
+enum { BUTTONBOX_DEFAULT = -1 };
+
+
+/** Base class for Gtk::HButtonBox and Gtk::VButtonBox
+ *
+ * A button box should be used to provide a consistent layout of buttons
+ * throughout your application. There is one default layout and a default
+ * spacing value that are persistant across all ButtonBox widgets.
+ */
+class ButtonBox : public Box
+{
+ _CLASS_GTKOBJECT(ButtonBox,GtkButtonBox,GTK_BUTTON_BOX,Gtk::Box,GtkBox)
+ _IGNORE(gtk_button_box_set_spacing, gtk_button_box_get_spacing, gtk_button_box_set_child_size,
+ gtk_button_box_set_child_ipadding, gtk_button_box_get_child_size, gtk_button_box_get_child_ipadding)
+public:
+ _WRAP_METHOD(ButtonBoxStyle get_layout() const, gtk_button_box_get_layout)
+ _WRAP_METHOD(void set_layout(ButtonBoxStyle layout_style), gtk_button_box_set_layout)
+
+ _WRAP_METHOD(void set_child_secondary(Widget& child, bool is_secondary = true), gtk_button_box_set_child_secondary)
+ _WRAP_METHOD(bool get_child_secondary(const Gtk::Widget& child) const, gtk_button_box_get_child_secondary)
+
+ _MEMBER_GET(child_min_width,child_min_width,int,int)
+ _MEMBER_SET(child_min_width,child_min_width,int,int)
+
+ _MEMBER_GET(child_min_height,child_min_height,int,int)
+ _MEMBER_SET(child_min_height,child_min_height,int,int)
+
+ _MEMBER_GET(child_ipadding_x,child_ipad_x,int,int)
+ _MEMBER_SET(child_ipadding_x,child_ipad_x,int,int)
+
+ _MEMBER_GET(child_ipadding_y,child_ipad_y,int,int)
+ _MEMBER_SET(child_ipadding_y,child_ipad_y,int,int)
+
+ _WRAP_PROPERTY("layout-style", ButtonBoxStyle)
+};
+
+/** A container for arranging buttons vertically.
+ *
+ * A button box should be used to provide a consistent layout of buttons
+ * throughout your application. There is one default layout and a default spacing
+ * value that are persistant across all Gtk::VButtonBox widgets.
+ *
+ * The layout/spacing can then be altered by the programmer, or if desired,
+ * by the user to alter the 'feel' of a program to a small degree.
+ *
+ * @ingroup Widgets
+ * @ingroup Containers
+ */
+class VButtonBox : public ButtonBox
+{
+ _CLASS_GTKOBJECT(VButtonBox,GtkVButtonBox,GTK_VBUTTON_BOX,Gtk::ButtonBox,GtkButtonBox)
+public:
+ explicit VButtonBox(ButtonBoxStyle layout = BUTTONBOX_DEFAULT_STYLE, int spacing = BUTTONBOX_DEFAULT);
+};
+
+/** A container for arranging buttons horizontally.
+ *
+ * A button box should be used to provide a consistent layout of buttons
+ * throughout your application. There is one default layout and a default spacing
+ * value that are persistant across all Gtk::HButtonBox widgets.
+ *
+ * The layout/spacing can then be altered by the programmer, or if desired,
+ * by the user to alter the 'feel' of a program to a small degree.
+ *
+ * @ingroup Widgets
+ * @ingroup Containers
+ */
+class HButtonBox : public ButtonBox
+{
+ _CLASS_GTKOBJECT(HButtonBox,GtkHButtonBox,GTK_HBUTTON_BOX,Gtk::ButtonBox,GtkButtonBox)
+public:
+ explicit HButtonBox(ButtonBoxStyle layout = BUTTONBOX_DEFAULT_STYLE, int spacing = BUTTONBOX_DEFAULT);
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/calendar.ccg b/libs/gtkmm2/gtk/src/calendar.ccg
new file mode 100644
index 0000000000..e7ea84cf44
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/calendar.ccg
@@ -0,0 +1,42 @@
+// -*- c++ -*-
+/* $Id: calendar.ccg,v 1.1 2003/01/21 13:38:43 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkcalendar.h>
+
+namespace Gtk
+{
+
+void Calendar::get_date(Glib::Date& date) const
+{
+ guint year = 0;
+ guint month = 0;
+ guint day = 0;
+
+ get_date(year, month, day);
+
+ date.set_year(year);
+ date.set_month(static_cast<Glib::Date::Month>(Glib::Date::JANUARY + month)); // Month from 1 to 12 instead from 0 to 11
+ date.set_day(day);
+}
+
+} //namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/calendar.hg b/libs/gtkmm2/gtk/src/calendar.hg
new file mode 100644
index 0000000000..2254fdf69a
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/calendar.hg
@@ -0,0 +1,90 @@
+/* $Id: calendar.hg,v 1.6 2006/02/25 12:38:11 murrayc Exp $ */
+
+/* calendar.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/widget.h>
+#include <glibmm/date.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/widget_p.h)
+
+
+namespace Gtk
+{
+
+_CC_INCLUDE(gtk/gtktypebuiltins.h)
+_WRAP_ENUM(CalendarDisplayOptions, GtkCalendarDisplayOptions)
+
+/** Display a calendar and/or allow the user to select a date.
+ *
+ * This is a widget that displays a calendar, one month at a time.
+ *
+ * The month and year currently displayed can be altered with
+ * select_month(). The exact day can be selected from the displayed month
+ * using select_day().
+ *
+ * The way in which the calendar itself is displayed can be altered using
+ * set_display_options().
+ *
+ * The selected date can be retrieved from a GtkCalendar using get_date().
+ *
+ * If performing many 'mark' operations, the calendar can be frozen to
+ * prevent flicker, using freeze(), and 'thawed' again using thaw().
+ *
+ * @ingroup Widgets
+ */
+class Calendar : public Widget
+{
+ _CLASS_GTKOBJECT(Calendar,GtkCalendar,GTK_CALENDAR,Gtk::Widget,GtkWidget)
+public:
+ _CTOR_DEFAULT
+
+ _WRAP_METHOD(int select_month(guint month, guint year), gtk_calendar_select_month)
+ _WRAP_METHOD(void select_day(guint day), gtk_calendar_select_day)
+ _WRAP_METHOD(int mark_day(guint day), gtk_calendar_mark_day)
+ _WRAP_METHOD(int unmark_day(guint day), gtk_calendar_unmark_day)
+ _WRAP_METHOD(void clear_marks(), gtk_calendar_clear_marks)
+
+ _WRAP_METHOD(void display_options(CalendarDisplayOptions flags), gtk_calendar_display_options, deprecated)
+
+ _WRAP_METHOD(void set_display_options(CalendarDisplayOptions flags), gtk_calendar_set_display_options)
+ _WRAP_METHOD(CalendarDisplayOptions get_display_options() const, gtk_calendar_get_display_options)
+
+ _WRAP_METHOD(void get_date(guint& year, guint& month, guint& day) const, gtk_calendar_get_date)
+ // Additional method not in GTK (#350584)
+ /** Get the date as Glib::Date
+ *
+ * @param date Referenz to set the date
+ */
+ void get_date(Glib::Date& date) const;
+
+ _WRAP_METHOD(void freeze(), gtk_calendar_freeze)
+ _WRAP_METHOD(void thaw(), gtk_calendar_thaw)
+
+ _WRAP_SIGNAL(void month_changed(), "month_changed")
+ _WRAP_SIGNAL(void day_selected(), "day_selected")
+ _WRAP_SIGNAL(void day_selected_double_click(), "day_selected_double_click")
+ _WRAP_SIGNAL(void prev_month(), "prev_month")
+ _WRAP_SIGNAL(void next_month(), "next_month")
+ _WRAP_SIGNAL(void prev_year(), "prev_year")
+ _WRAP_SIGNAL(void next_year(), "next_year")
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/celleditable.ccg b/libs/gtkmm2/gtk/src/celleditable.ccg
new file mode 100644
index 0000000000..911ee22c19
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/celleditable.ccg
@@ -0,0 +1,22 @@
+// -*- c++ -*-
+/* $Id: celleditable.ccg,v 1.1 2003/01/21 13:38:44 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkcelleditable.h>
+
diff --git a/libs/gtkmm2/gtk/src/celleditable.hg b/libs/gtkmm2/gtk/src/celleditable.hg
new file mode 100644
index 0000000000..721915bdad
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/celleditable.hg
@@ -0,0 +1,56 @@
+/* $Id: celleditable.hg,v 1.2 2005/01/10 10:49:23 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/interface.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/interface_p.h)
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C"
+{
+typedef struct _GtkCellEditableIface GtkCellEditableIface;
+typedef union _GdkEvent GdkEvent;
+}
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Gtk
+{
+
+/** Interface for widgets which are used for editing cells.
+ * The CellEditable interface must be implemented for widgets to be usable when editing the contents of a TreeView cell.
+ */
+class CellEditable : public Glib::Interface
+{
+ _CLASS_INTERFACE(CellEditable,GtkCellEditable,GTK_CELL_EDITABLE,GtkCellEditableIface)
+
+public:
+ _WRAP_METHOD(void start_editing(GdkEvent* event), gtk_cell_editable_start_editing)
+ _WRAP_METHOD(void editing_done(), gtk_cell_editable_editing_done)
+ _WRAP_METHOD(void remove_widget(), gtk_cell_editable_remove_widget)
+
+ _WRAP_SIGNAL(void editing_done(), "editing_done")
+ _WRAP_SIGNAL(void remove_widget(), "remove_widget")
+
+protected:
+ _WRAP_VFUNC(void start_editing(GdkEvent* event), start_editing)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/celllayout.ccg b/libs/gtkmm2/gtk/src/celllayout.ccg
new file mode 100644
index 0000000000..23b4a3f2d3
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/celllayout.ccg
@@ -0,0 +1,81 @@
+// -*- c++ -*-
+/* $Id: celllayout.ccg,v 1.8 2006/05/11 11:40:24 murrayc Exp $ */
+
+/* Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkcelllayout.h>
+
+
+static void SignalProxy_CellData_gtk_callback(GtkCellLayout* /* cell_layout */, GtkCellRenderer* /* cell */, GtkTreeModel* tree_model, GtkTreeIter* iter, gpointer data)
+{
+ Gtk::CellLayout::SlotCellData* the_slot = static_cast<Gtk::CellLayout::SlotCellData*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ //We ignore the cell, because that was given as an argument to the connecting method, so the caller should know which one it is already.
+ //And we ignore the tree_model because that can be obtained from the iter or from the CellLayout itself.
+ (*the_slot)(Gtk::TreeModel::const_iterator(tree_model, iter));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+static void SignalProxy_CellData_gtk_callback_destroy(void* data)
+{
+ delete static_cast<Gtk::CellLayout::SlotCellData*>(data);
+}
+
+namespace Gtk
+{
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+void CellLayout::add_attribute(const Glib::PropertyProxy_Base& property, const TreeModelColumnBase& column)
+{
+ gtk_cell_layout_add_attribute(gobj(),
+ (GtkCellRenderer*) property.get_object()->gobj(), property.get_name(), column.index());
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+void CellLayout::add_attribute(CellRenderer& cell, const Glib::ustring& attribute, const TreeModelColumnBase& column)
+{
+ gtk_cell_layout_add_attribute(gobj(),
+ (GtkCellRenderer*) cell.gobj(), attribute.c_str(), column.index());
+}
+
+void CellLayout::set_cell_data_func(CellRenderer& cell, const SlotCellData& slot)
+{
+ // Create a copy of the slot object. A pointer to this will be passed
+ // through the callback's data parameter. It will be deleted
+ // when SignalProxy_CellData_gtk_callback_destroy() is called.
+ SlotCellData* slot_copy = new SlotCellData(slot);
+
+ gtk_cell_layout_set_cell_data_func(gobj(), cell.gobj(),
+ &SignalProxy_CellData_gtk_callback, slot_copy,
+ &SignalProxy_CellData_gtk_callback_destroy);
+}
+
+
+} //namespace Gtk
+
+
diff --git a/libs/gtkmm2/gtk/src/celllayout.hg b/libs/gtkmm2/gtk/src/celllayout.hg
new file mode 100644
index 0000000000..6b22a9f48a
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/celllayout.hg
@@ -0,0 +1,111 @@
+/* $Id: celllayout.hg,v 1.12 2006/05/10 20:59:27 murrayc Exp $ */
+
+/* Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/interface.h>
+#include <gtkmm/cellrenderer.h>
+#include <gtkmm/cellrenderer_generation.h>
+#include <gtkmm/treemodel.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/interface_p.h)
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C"
+{
+typedef struct _GtkCellLayoutIface GtkCellLayoutIface;
+}
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Gtk
+{
+
+/** An interface for packing cells.
+ * CellLayout is an interface to be implemented by all objects which want to provide a TreeView::Column-like API
+ * for packing cells, setting attributes and data funcs.
+ */
+class CellLayout : public Glib::Interface
+{
+ _CLASS_INTERFACE(CellLayout, GtkCellLayout, GTK_CELL_LAYOUT, GtkCellLayoutIface)
+
+public:
+
+ template <class ColumnType> inline
+ void pack_start(const TreeModelColumn<ColumnType>& model_column, bool expand = true);
+ _IGNORE(gtk_cell_layout_add_attribute, gtk_cell_layout_set_attributes)
+
+ _WRAP_METHOD(void pack_start(CellRenderer& cell, bool expand = true), gtk_cell_layout_pack_start)
+ _WRAP_METHOD(void pack_end(CellRenderer& cell, bool expand = true), gtk_cell_layout_pack_end)
+
+ #m4 _CONVERSION(`GList*', `Glib::ListHandle<CellRenderer*>', `$2($3, Glib::OWNERSHIP_SHALLOW)')
+ #m4 _CONVERSION(`GList*', `Glib::ListHandle<const CellRenderer*>', `$2($3, Glib::OWNERSHIP_SHALLOW)')
+ _WRAP_METHOD(Glib::ListHandle<CellRenderer*> get_cells(), gtk_cell_layout_get_cells)
+ _WRAP_METHOD(Glib::ListHandle<const CellRenderer*> get_cells() const, gtk_cell_layout_get_cells)
+
+ _WRAP_METHOD(void clear(), gtk_cell_layout_clear)
+
+ _IGNORE(gtk_cell_layout_set_attributes) //I think this is just a convenience method, equivalent to clear() and multiple add_attribute()s. murrayc.
+
+ _WRAP_METHOD(void add_attribute(CellRenderer& cell, const Glib::ustring& attribute, int column), gtk_cell_layout_add_attribute)
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+ void add_attribute(const Glib::PropertyProxy_Base& property, const TreeModelColumnBase& column);
+#endif
+
+ void add_attribute(CellRenderer& cell, const Glib::ustring& attribute, const TreeModelColumnBase& column);
+
+ //For instance, void on_cell_data(const TreeModel::const_iterator& iter)
+ typedef sigc::slot<void, const TreeModel::const_iterator&> SlotCellData;
+
+ void set_cell_data_func(CellRenderer& cell, const SlotCellData& slot);
+ _IGNORE(gtk_cell_layout_set_cell_data_func)
+
+ _WRAP_METHOD(void clear_attributes(CellRenderer& cell), gtk_cell_layout_clear_attributes)
+
+ _WRAP_METHOD(void reorder(CellRenderer& cell, int position), gtk_cell_layout_reorder)
+
+protected:
+ _WRAP_VFUNC(void pack_start(CellRenderer* cell, bool expand), pack_start)
+ _WRAP_VFUNC(void pack_end(CellRenderer* cell, bool expand), pack_end)
+ _WRAP_VFUNC(void clear(), clear)
+ _WRAP_VFUNC(void add_attribute(CellRenderer* cell, const Glib::ustring& attribute, int column), add_attribute)
+//TODO (added in GTK+ 2.4): _WRAP_VFUNC(void set_cell_data_func(CellRenderer* cell, GtkCellLayoutDataFunc func, gpointer func_data, GDestroyNotify destroy), gtk_cell_layout_set_cell_data_func)
+ _WRAP_VFUNC(void clear_attributes(CellRenderer* cell), clear_attributes)
+ _WRAP_VFUNC(void reorder(CellRenderer* cell, int position), reorder)
+
+};
+
+template<class T_ModelColumnType>
+void CellLayout::pack_start(const TreeModelColumn<T_ModelColumnType>& column, bool expand)
+{
+ //Generate appropriate Renderer for the column:
+ CellRenderer* pCellRenderer = manage( CellRenderer_Generation::generate_cellrenderer<T_ModelColumnType>() );
+
+ //Use the renderer:
+ pack_start(*pCellRenderer, expand);
+
+ //Make the renderer render the column:
+#ifdef GLIBMM_PROPERTIES_ENABLED
+ add_attribute(pCellRenderer->_property_renderable(), column);
+#else
+ add_attribute(*pCellRenderer, pCellRenderer->_property_renderable(), column);
+#endif
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/cellrenderer.ccg b/libs/gtkmm2/gtk/src/cellrenderer.ccg
new file mode 100644
index 0000000000..254d172bd0
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/cellrenderer.ccg
@@ -0,0 +1,46 @@
+// -*- c++ -*-
+/* $Id: cellrenderer.ccg,v 1.2 2006/05/10 20:59:27 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkcellrenderer.h>
+
+namespace Gtk
+{
+
+void CellRenderer::get_size(Widget& widget, int& x_offset, int& y_offset, int& width, int& height) const
+{
+ gtk_cell_renderer_get_size(const_cast<GtkCellRenderer*>(gobj()), widget.gobj(), 0, &x_offset, &y_offset, &width, &height);
+}
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_Base CellRenderer::_property_renderable()
+{
+ g_assert_not_reached();
+ return Glib::PropertyProxy<int>(0, 0); // shut up warnings
+}
+#else
+Glib::ustring CellRenderer::_property_renderable()
+{
+ g_assert_not_reached();
+ return Glib::ustring();
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/cellrenderer.hg b/libs/gtkmm2/gtk/src/cellrenderer.hg
new file mode 100644
index 0000000000..042e0037b7
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/cellrenderer.hg
@@ -0,0 +1,211 @@
+/* $Id: cellrenderer.hg,v 1.22 2006/05/10 20:59:27 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/object.h>
+#include <gtkmm/widget.h>
+#include <gtkmm/celleditable.h>
+
+_DEFS(gtkmm,gtk)
+_PH_INCLUDE(gtkmm/private/object_p.h)
+_PH_INCLUDE(gtk/gtkcellrenderer.h)
+
+
+namespace Gtk
+{
+
+_CC_INCLUDE(gtk/gtktypebuiltins.h)
+
+_WRAP_ENUM(CellRendererState, GtkCellRendererState)
+_WRAP_ENUM(CellRendererMode, GtkCellRendererMode)
+
+/** CellRenderers are used by Gtk::TreeView columns to render the Gtk::TreeModel column data appropriately.
+ * They display, and allow editing of, the values of their properties.
+ * In most cases, Gtk::TreeView::append_column() will automatically choose the appropriate renderer for the mode column's data type,
+ * so you will rarely need to worry about these classes.
+ *
+ * @ingroup TreeView
+ */
+class CellRenderer : public Gtk::Object
+{
+ _CLASS_GTKOBJECT(CellRenderer,GtkCellRenderer,GTK_CELL_RENDERER,Gtk::Object,GtkObject)
+public:
+
+ _WRAP_METHOD(void get_size(
+ Widget& widget,
+ const Gdk::Rectangle& cell_area,
+ int& x_offset, int& y_offset,
+ int& width, int& height) const, gtk_cell_renderer_get_size)
+
+ /** Obtains the width and height needed to render the cell. Used by view widgets
+ * to determine the appropriate size for the cell_area passed to
+ * render(). Fills in the x and y
+ * offsets of the cell relative to this location. Please note that the
+ * values set in @a width and @a height , as well as those in @a x_offset and @a y_offset
+ * are inclusive of the xpad and ypad properties.
+ * @param widget The widget the renderer is rendering to.
+ * @param x_offset Location to return x offset of cell relative to @a cell_area.
+ * @param y_offset Location to return y offset of cell relative to @a cell_area.
+ * @param width Location to return width needed to render a cell.
+ * @param height Location to return height needed to render a cell.
+ */
+ void get_size(Widget& widget, int& x_offset, int& y_offset, int& width, int& height) const;
+
+ _WRAP_METHOD(void render(
+ const Glib::RefPtr<Gdk::Window>& window,
+ Widget& widget,
+ const Gdk::Rectangle& background_area,
+ const Gdk::Rectangle& cell_area,
+ const Gdk::Rectangle& expose_area,
+ CellRendererState flags), gtk_cell_renderer_render)
+
+ _WRAP_METHOD(bool activate(
+ GdkEvent* event,
+ Widget& widget,
+ const Glib::ustring& path,
+ const Gdk::Rectangle& background_area,
+ const Gdk::Rectangle& cell_area,
+ CellRendererState flags), gtk_cell_renderer_activate)
+
+ _WRAP_METHOD(CellEditable* start_editing(
+ GdkEvent* event, Widget& widget,
+ const Glib::ustring& path,
+ const Gdk::Rectangle& background_area,
+ const Gdk::Rectangle& cell_area,
+ CellRendererState flags = CellRendererState(0)), gtk_cell_renderer_start_editing)
+
+ _WRAP_METHOD(void set_fixed_size(int width, int height), gtk_cell_renderer_set_fixed_size)
+ _WRAP_METHOD(void get_fixed_size(int& width, int& height) const, gtk_cell_renderer_get_fixed_size)
+
+ _WRAP_METHOD(void editing_canceled(), gtk_cell_renderer_editing_canceled, deprecated "Use stop_editing().")
+
+ _WRAP_METHOD(void stop_editing(bool canceled = false), gtk_cell_renderer_stop_editing)
+
+ /** Returns the property that this CellRenderer renders.
+ * For instance, property_text for CellRendererText, and property_active for CellRendererToggle
+ * Needs to be overridden in derived classes.
+ */
+#ifdef GLIBMM_PROPERTIES_ENABLED
+ virtual Glib::PropertyProxy_Base _property_renderable();
+#else
+ virtual Glib::ustring _property_renderable();
+#endif
+
+ /** This signal is emitted when the user cancels the process of editing a
+ * cell. For example, an editable cell renderer could be written to cancel
+ * editing when the user presses Escape.
+ *
+ * @see editing_canceled()
+ */
+ _WRAP_SIGNAL(void editing_canceled(), editing_canceled)
+
+ //We use no_default_handler for this, because we can not add a new vfunc to 2.5 without breaking ABI.
+ //TODO: Remove no_default_handler when we do an ABI-break-with-parallel-install.
+ //TODO: Remove the warning in the documentation when we have fixed the inheritance of CellRendererCombo.
+ /** This signal gets emitted when a cell starts to be edited.
+ * The indended use of this signal is to do special setup
+ * on @a editable, e.g. adding an EntryCompletion or setting
+ * up additional columns in a ComboBox.
+ *
+ * Note that GTK+ doesn't guarantee that cell renderers will
+ * continue to use the same kind of widget for editing in future
+ * releases, therefore you should check the type of @a editable
+ * before doing any specific setup.
+ *
+ * Note that this signal does not work yet in gtkmm.
+ * See http://bugzilla.gnome.org/show_bug.cgi?id=301597
+ *
+ * @newin2p6
+ *
+ * @param editable the CellEditable.
+ * @param path the path identifying the edited cell.
+ */
+ _WRAP_SIGNAL(void editing_started(CellEditable* editable, const Glib::ustring& path), editing_started, no_default_handler)
+
+ _WRAP_PROPERTY("mode", CellRendererMode)
+ _WRAP_PROPERTY("visible", bool)
+ _WRAP_PROPERTY("sensitive", bool)
+ _WRAP_PROPERTY("xalign", float)
+ _WRAP_PROPERTY("yalign", float)
+ _WRAP_PROPERTY("xpad", unsigned int)
+ _WRAP_PROPERTY("ypad", unsigned int)
+ _WRAP_PROPERTY("width", int)
+ _WRAP_PROPERTY("height", int)
+ _WRAP_PROPERTY("is-expander", bool)
+ _WRAP_PROPERTY("is-expanded", bool)
+ _WRAP_PROPERTY("cell-background", Glib::ustring)
+ _WRAP_PROPERTY("cell-background-gdk", Gdk::Color)
+ _WRAP_PROPERTY("cell-background-set", bool)
+
+protected:
+ _CTOR_DEFAULT()
+
+ /** Override this in derived CellRenderers.
+ *
+ * Obtains the width and height needed to render the cell. Used by view widgets
+ * to determine the appropriate size for the cell_area passed to
+ * render(). If @a cell_area is not 0, fills in the x and y
+ * offsets (if set) of the cell relative to this location. Please note that the
+ * values set in @a width and @a height, as well as those in @a x_offset and @a y_offset
+ * are inclusive of the xpad and ypad properties.
+ *
+ * @param widget The widget the renderer is rendering to.
+ * @param cell_area The area a cell will be allocated, or 0.
+ * @param x_offset x offset of cell relative to @a cell_area.
+ * @param y_offset y offset of cell relative to @a cell_area.
+ * @param width Width needed to render a cell.
+ * @param height Height needed to render a cell.
+ **/
+ _WRAP_VFUNC(void get_size(
+ Widget& widget,
+ const Gdk::Rectangle* cell_area,
+ int* x_offset, int* y_offset,
+ int* width, int* height) const, get_size)
+
+#m4begin
+dnl This extra conversion does the extra reference, often needed by code for vfuncs and signal.
+_CONVERSION(`GdkDrawable*',`const Glib::RefPtr<Gdk::Drawable>&', `Glib::wrap($3, true)')
+#m4end
+
+ _WRAP_VFUNC(void render(
+ const Glib::RefPtr<Gdk::Drawable>& window,
+ Widget& widget,
+ const Gdk::Rectangle& background_area,
+ const Gdk::Rectangle& cell_area,
+ const Gdk::Rectangle& expose_area,
+ CellRendererState flags), render)
+
+ _WRAP_VFUNC(bool activate(
+ GdkEvent* event,
+ Widget& widget,
+ const Glib::ustring& path,
+ const Gdk::Rectangle& background_area,
+ const Gdk::Rectangle& cell_area,
+ CellRendererState flags), activate)
+
+ _WRAP_VFUNC(CellEditable* start_editing(
+ GdkEvent* event,
+ Widget& widget,
+ const Glib::ustring& path,
+ const Gdk::Rectangle& background_area,
+ const Gdk::Rectangle& cell_area,
+ CellRendererState flags), start_editing)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/cellrendereraccel.ccg b/libs/gtkmm2/gtk/src/cellrendereraccel.ccg
new file mode 100644
index 0000000000..3d16c69121
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/cellrendereraccel.ccg
@@ -0,0 +1,36 @@
+// -*- c++ -*-
+/* $Id: cellrendereraccel.ccg,v 1.2 2006/05/11 11:40:24 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2005 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkcellrendereraccel.h>
+
+namespace Gtk
+{
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_Base CellRendererAccel::_property_renderable()
+{
+ //Renderering just this one property would probably not be meaningful.
+ return property_accel_key();
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+} //namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/cellrendereraccel.hg b/libs/gtkmm2/gtk/src/cellrendereraccel.hg
new file mode 100644
index 0000000000..947d114959
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/cellrendereraccel.hg
@@ -0,0 +1,64 @@
+/* $Id: cellrendereraccel.hg,v 1.2 2006/05/11 11:40:24 murrayc Exp $ */
+
+/* cellrendereraccel.h
+ *
+ * Copyright (C) 2005 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/cellrenderertext.h>
+#include <gtkmm/accelkey.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/cellrenderertext_p.h)
+
+
+namespace Gtk
+{
+
+/** .
+ * Renders a keyboard accelerator in a cell
+ *
+ * Gtk::CellRendererAccel displays a keyboard accelerator
+ * (i.e. a key combination like <Control>-a).
+ * If the cell renderer is editable, the accelerator can be changed by
+ * simply typing the new combination.
+ *
+ * @ingroup TreeView
+ * @newin2p10
+ */
+class CellRendererAccel : public CellRendererText
+{
+ _CLASS_GTKOBJECT(CellRendererAccel, GtkCellRendererAccel, GTK_CELL_RENDERER_ACCEL, Gtk::CellRendererText, GtkCellRendererText)
+public:
+
+ _CTOR_DEFAULT
+
+ //TODO: Wrap accel_key and accel_mods in an AccelKey?
+ _WRAP_SIGNAL(void accel_edited(const Glib::ustring& path_string, guint accel_key, Gdk::ModifierType accel_mods, guint hardware_keycode), "accel_edited")
+ _WRAP_SIGNAL(void accel_cleared(const Glib::ustring& path_string), "accel_cleared")
+
+ _WRAP_PROPERTY("accel-key", guint)
+ _WRAP_PROPERTY("accel-mods", Gdk::ModifierType)
+ _WRAP_PROPERTY("keycode", guint)
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+ virtual Glib::PropertyProxy_Base _property_renderable(); //override
+#endif //GLIBMM_PROPERTIES_ENABLED
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/cellrenderercombo.ccg b/libs/gtkmm2/gtk/src/cellrenderercombo.ccg
new file mode 100644
index 0000000000..85155cf725
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/cellrenderercombo.ccg
@@ -0,0 +1,40 @@
+// -*- c++ -*-
+/* $Id: cellrenderercombo.ccg,v 1.3 2006/05/10 20:59:27 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2004 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkcellrenderercombo.h>
+
+namespace Gtk
+{
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_Base CellRendererCombo::_property_renderable()
+{
+ return CellRendererText::_property_renderable();
+}
+#else
+Glib::ustring CellRendererCombo::_property_renderable()
+{
+ return CellRendererText::_property_renderable();
+}
+#endif //#ifdef GLIBMM_PROPERTIES_ENABLED
+
+} //namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/cellrenderercombo.hg b/libs/gtkmm2/gtk/src/cellrenderercombo.hg
new file mode 100644
index 0000000000..5800c81e12
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/cellrenderercombo.hg
@@ -0,0 +1,62 @@
+/* $Id: cellrenderercombo.hg,v 1.5 2006/05/10 20:59:27 murrayc Exp $ */
+
+/* cellrenderercombo.h
+ *
+ * Copyright (C) 2004 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/cellrenderertext.h>
+#include <gtkmm/treemodel.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/cellrenderertext_p.h)
+
+
+namespace Gtk
+{
+
+/** Renders a combobox in a cell.
+ * CellRendererCombo renders text in a cell like CellRendererText, from which it is derived. But while
+ * CellRendererText offers a simple entry to edit the text, CellRendererCombo offers a ComboBox or
+ * ComboBoxEntry widget to edit the text. The values to display in the combo box are taken from the
+ * tree model specified in the model property.
+ *
+ * The combo cell renderer takes care of adding a text cell renderer to the combo box and sets it to
+ * display the column specified by its text_column property. Further cell renderers can be added in a
+ * handler for the editing_started signal.
+ *
+ * @ingroup TreeView
+ */
+class CellRendererCombo : public CellRendererText
+{
+ _CLASS_GTKOBJECT(CellRendererCombo, GtkCellRendererCombo, GTK_CELL_RENDERER_COMBO, Gtk::CellRendererText, GtkCellRendererText)
+public:
+
+ _CTOR_DEFAULT
+
+ _WRAP_PROPERTY("model", Glib::RefPtr<Gtk::TreeModel>)
+ _WRAP_PROPERTY("text_column", int)
+ _WRAP_PROPERTY("has_entry", bool)
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+ virtual Glib::PropertyProxy_Base _property_renderable();
+#else
+ virtual Glib::ustring _property_renderable();
+#endif
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/cellrendererpixbuf.ccg b/libs/gtkmm2/gtk/src/cellrendererpixbuf.ccg
new file mode 100644
index 0000000000..8981f04f94
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/cellrendererpixbuf.ccg
@@ -0,0 +1,39 @@
+// -*- c++ -*-
+/* $Id: cellrendererpixbuf.ccg,v 1.2 2006/05/10 20:59:27 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+#include <gtk/gtkcellrendererpixbuf.h>
+
+namespace Gtk
+{
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_Base CellRendererPixbuf::_property_renderable()
+{
+ return property_pixbuf();
+}
+#else
+Glib::ustring CellRendererPixbuf::_property_renderable()
+{
+ return "pixbuf";
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+} //namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/cellrendererpixbuf.hg b/libs/gtkmm2/gtk/src/cellrendererpixbuf.hg
new file mode 100644
index 0000000000..f60c370a7a
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/cellrendererpixbuf.hg
@@ -0,0 +1,63 @@
+/* $Id: cellrendererpixbuf.hg,v 1.4 2006/05/10 20:59:27 murrayc Exp $ */
+
+/* cellrenderertext.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/cellrenderer.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/cellrenderer_p.h)
+
+
+namespace Gtk
+{
+
+/** Renders a pixbuf in a cell.
+ * A CellRendererPixbuf can be used to render an image in a cell. It allows you to render either a
+ * given Pixbuf (set via the pixbuf property) or a stock icon (set via the stock_id property).
+ *
+ * To support the tree view, CellRendererPixbuf also supports rendering two alternative pixbufs, when
+ * the is_expanded property is true. If the is_expanded property is true and the pixbuf_expander_open
+ * property is set to a pixbuf, it renders that pixbuf. If the is_expanded property is false and the *
+ * pixbuf_expander_closed property is set to a pixbuf, it renders that one.
+ *
+ * @ingroup TreeView
+ */
+class CellRendererPixbuf : public CellRenderer
+{
+ _CLASS_GTKOBJECT(CellRendererPixbuf,GtkCellRendererPixbuf,GTK_CELL_RENDERER_PIXBUF,Gtk::CellRenderer,GtkCellRenderer)
+public:
+
+ _CTOR_DEFAULT
+
+ _WRAP_PROPERTY("pixbuf", Glib::RefPtr<Gdk::Pixbuf>)
+ _WRAP_PROPERTY("pixbuf_expander_open", Glib::RefPtr<Gdk::Pixbuf>)
+ _WRAP_PROPERTY("pixbuf_expander_closed", Glib::RefPtr<Gdk::Pixbuf>)
+ _WRAP_PROPERTY("stock_id", Glib::ustring)
+ _WRAP_PROPERTY("stock_size", guint)
+ _WRAP_PROPERTY("stock_detail", Glib::ustring)
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+ virtual Glib::PropertyProxy_Base _property_renderable();
+#else
+ virtual Glib::ustring _property_renderable();
+#endif
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/cellrendererprogress.ccg b/libs/gtkmm2/gtk/src/cellrendererprogress.ccg
new file mode 100644
index 0000000000..beee6a5f7a
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/cellrendererprogress.ccg
@@ -0,0 +1,42 @@
+// -*- c++ -*-
+/* $Id: cellrendererprogress.ccg,v 1.2 2006/05/10 20:59:27 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2004 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkcellrendererprogress.h>
+
+namespace Gtk
+{
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_Base CellRendererProgress::_property_renderable()
+{
+ return _property_renderable();
+}
+#else
+Glib::ustring CellRendererProgress::_property_renderable()
+{
+ return _property_renderable();
+}
+#endif //#ifdef GLIBMM_PROPERTIES_ENABLED
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/cellrendererprogress.hg b/libs/gtkmm2/gtk/src/cellrendererprogress.hg
new file mode 100644
index 0000000000..6b44797d46
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/cellrendererprogress.hg
@@ -0,0 +1,53 @@
+/* $Id: cellrendererprogress.hg,v 1.3 2006/05/10 20:59:27 murrayc Exp $ */
+
+/* Copyright (C) 2004 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/cellrenderer.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/cellrenderer_p.h)
+
+
+namespace Gtk
+{
+
+/** Renders numbers as progress bars.
+ *
+ * @ingroup TreeView
+ * @newin2p6
+ */
+class CellRendererProgress : public CellRenderer
+{
+ _CLASS_GTKOBJECT(CellRendererProgress, GtkCellRendererProgress, GTK_CELL_RENDERER_PROGRESS, Gtk::CellRenderer, GtkCellRenderer)
+public:
+ _CTOR_DEFAULT()
+
+ _WRAP_PROPERTY("value", int)
+ _WRAP_PROPERTY("text", Glib::ustring)
+ _WRAP_PROPERTY("pulse", int)
+ _WRAP_PROPERTY("text-xalign", float)
+ _WRAP_PROPERTY("text-yalign", float)
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+ virtual Glib::PropertyProxy_Base _property_renderable();
+#else
+ virtual Glib::ustring _property_renderable();
+#endif
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/cellrendererspin.ccg b/libs/gtkmm2/gtk/src/cellrendererspin.ccg
new file mode 100644
index 0000000000..30de5f1fde
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/cellrendererspin.ccg
@@ -0,0 +1,30 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkcellrendererspin.h>
+
+namespace Gtk
+{
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_Base CellRendererSpin::_property_renderable()
+{
+ return CellRendererText::_property_renderable();
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+} //namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/cellrendererspin.hg b/libs/gtkmm2/gtk/src/cellrendererspin.hg
new file mode 100644
index 0000000000..2a0fccccf4
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/cellrendererspin.hg
@@ -0,0 +1,61 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/cellrenderertext.h>
+//#include <gtkmm/treemodel.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/cellrenderertext_p.h)
+
+namespace Gtk
+{
+
+/** Renders a spin button in a cell.
+ *
+ * Gtk::CellRendererSpin renders text in a cell like Gtk::CellRendererText,
+ * from which it is derived. But while Gtk::CellRendererText offers a simple
+ * entry to edit the text, Gtk::CellRendererSpin offers a Gtk::SpinButton widget.
+ * Of course, that means that the text must be parseable as a floating point
+ * number.
+ *
+ * The range of the spinbutton is taken from the adjustment property of the
+ * cell renderer, which can be set explicitly or mapped to a column in
+ * the tree model, like all properties of cell renders. Gtk::CellRendererSpin
+ * also has properties for the climb rate and the number of digits to display.
+ * Other Gtk::SpinButton properties can be set in a handler for the start-editing
+ * signal.
+ *
+ * @ingroup TreeView
+ * @newin2p12
+ */
+class CellRendererSpin : public CellRendererText
+{
+ _CLASS_GTKOBJECT(CellRendererSpin, GtkCellRendererSpin, GTK_CELL_RENDERER_SPIN, Gtk::CellRendererText, GtkCellRendererText)
+public:
+
+ _CTOR_DEFAULT
+
+ _WRAP_PROPERTY("adjustment", Gtk::Adjustment*)
+ _WRAP_PROPERTY("climb_rate", double)
+ _WRAP_PROPERTY("digits", guint)
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+ virtual Glib::PropertyProxy_Base _property_renderable(); //override
+#endif //GLIBMM_PROPERTIES_ENABLED
+};
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/cellrenderertext.ccg b/libs/gtkmm2/gtk/src/cellrenderertext.ccg
new file mode 100644
index 0000000000..5ecbc2368a
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/cellrenderertext.ccg
@@ -0,0 +1,45 @@
+// -*- c++ -*-
+/* $Id: cellrenderertext.ccg,v 1.2 2006/05/10 20:59:27 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+#include <gtk/gtkcellrenderertext.h>
+
+namespace Gtk
+{
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_Base CellRendererText::_property_renderable()
+{
+ return property_text();
+}
+#else
+Glib::ustring CellRendererText::_property_renderable()
+{
+ return "text";
+}
+#endif //#GLIBMM_PROPERTIES_ENABLED
+
+void CellRendererText::edited(const Glib::ustring& path, const Glib::ustring& new_text)
+{
+ g_signal_emit_by_name(gobj(), "edited", path.c_str(), new_text.c_str());
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/cellrenderertext.hg b/libs/gtkmm2/gtk/src/cellrenderertext.hg
new file mode 100644
index 0000000000..0300cc6aaf
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/cellrenderertext.hg
@@ -0,0 +1,102 @@
+/* $Id: cellrenderertext.hg,v 1.7 2006/05/10 20:59:27 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/cellrenderer.h>
+#include <pangomm/attrlist.h>
+#include <pangomm/fontdescription.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/cellrenderer_p.h)
+
+
+namespace Gtk
+{
+
+/** Renders text in a cell.
+ *
+ * @ingroup TreeView
+ */
+class CellRendererText : public CellRenderer
+{
+ _CLASS_GTKOBJECT(CellRendererText,GtkCellRendererText,GTK_CELL_RENDERER_TEXT,Gtk::CellRenderer,GtkCellRenderer)
+public:
+ _CTOR_DEFAULT()
+
+ _WRAP_METHOD(void set_fixed_height_from_font(int number_of_rows), gtk_cell_renderer_text_set_fixed_height_from_font)
+
+ _WRAP_SIGNAL(void edited(const Glib::ustring& path, const Glib::ustring& new_text), "edited")
+
+ _WRAP_PROPERTY("text", Glib::ustring)
+ _WRAP_PROPERTY("markup", Glib::ustring)
+ _WRAP_PROPERTY("attributes", Pango::AttrList)
+ _WRAP_PROPERTY("background", Glib::ustring)
+ _WRAP_PROPERTY("foreground", Glib::ustring)
+ _WRAP_PROPERTY("background-gdk", Gdk::Color)
+ _WRAP_PROPERTY("foreground-gdk", Gdk::Color)
+ _WRAP_PROPERTY("font", Glib::ustring)
+ _WRAP_PROPERTY("font-desc", Pango::FontDescription)
+ _WRAP_PROPERTY("family", Glib::ustring)
+ _WRAP_PROPERTY("style", Pango::Style)
+ _WRAP_PROPERTY("variant", Pango::Variant)
+ _WRAP_PROPERTY("weight", int)
+ _WRAP_PROPERTY("stretch", Pango::Stretch)
+ _WRAP_PROPERTY("size", int)
+ _WRAP_PROPERTY("size-points", double)
+ _WRAP_PROPERTY("scale", double)
+ _WRAP_PROPERTY("editable", bool)
+ _WRAP_PROPERTY("strikethrough", bool)
+ _WRAP_PROPERTY("underline", Pango::Underline)
+ _WRAP_PROPERTY("rise", int)
+ _WRAP_PROPERTY("language", Glib::ustring)
+ _WRAP_PROPERTY("ellipsize", Pango::EllipsizeMode)
+ _WRAP_PROPERTY("width-chars", int)
+ _WRAP_PROPERTY("wrap-mode", Pango::WrapMode)
+ _WRAP_PROPERTY("wrap-width", int)
+ _WRAP_PROPERTY("alignment", Pango::Alignment)
+ _WRAP_PROPERTY("background-set", bool)
+ _WRAP_PROPERTY("foreground-set", bool)
+ _WRAP_PROPERTY("family-set", bool)
+ _WRAP_PROPERTY("style-set", bool)
+ _WRAP_PROPERTY("variant-set", bool)
+ _WRAP_PROPERTY("weight-set", bool)
+ _WRAP_PROPERTY("stretch-set", bool)
+ _WRAP_PROPERTY("size-set", bool)
+ _WRAP_PROPERTY("scale-set", bool)
+ _WRAP_PROPERTY("editable-set", bool)
+ _WRAP_PROPERTY("strikethrough-set", bool)
+ _WRAP_PROPERTY("underline-set", bool)
+ _WRAP_PROPERTY("rise-set", bool)
+ _WRAP_PROPERTY("language-set", bool)
+ _WRAP_PROPERTY("ellipsize-set", bool)
+ _WRAP_PROPERTY("single-paragraph-mode", bool)
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+ virtual Glib::PropertyProxy_Base _property_renderable();
+#else
+ virtual Glib::ustring _property_renderable();
+#endif
+
+protected:
+ /** Emits the "edited" signal.
+ * This is useful when implementing custom CellRenderers.
+ */
+ void edited(const Glib::ustring& path, const Glib::ustring& new_text);
+};
+
+} // namespace Gtk
+
diff --git a/libs/glibmm2/tools/extra_defs_gen/generate_extra_defs.h b/libs/gtkmm2/gtk/src/cellrenderertoggle.ccg
index ad543b3c0e..9a440dfbc2 100644
--- a/libs/glibmm2/tools/extra_defs_gen/generate_extra_defs.h
+++ b/libs/gtkmm2/gtk/src/cellrenderertoggle.ccg
@@ -1,8 +1,9 @@
-/* $Id: generate_extra_defs.h,v 1.1.1.1 2003/01/07 16:59:04 murrayc Exp $ */
+// -*- c++ -*-
+/* $Id: cellrenderertoggle.ccg,v 1.2 2006/05/10 20:59:27 murrayc Exp $ */
-/* generate_extra_defs.h
+/*
*
- * Copyright (C) 2001 The Free Software Foundation
+ * Copyright 1998-2002 The gtkmm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -19,15 +20,21 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+#include <gtk/gtkcellrenderertoggle.h>
-#include <glib-object.h>
-#include <iostream>
-#include <string>
+namespace Gtk
+{
-std::string get_defs(GType gtype);
+#ifdef GLIBMM_PROPERTIES_ENABLED
+Glib::PropertyProxy_Base CellRendererToggle::_property_renderable()
+{
+ return property_active();
+}
+#else
+Glib::ustring CellRendererToggle::_property_renderable()
+{
+ return "active";
+}
+#endif //#GLIBMM_PROPERTIES_ENABLED
-std::string get_properties(GType gtype);
-std::string get_type_name(GType gtype);
-std::string get_type_name_parameter(GType gtype);
-std::string get_type_name_signal(GType gtype);
-std::string get_signals(GType gtype);
+} //namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/cellrenderertoggle.hg b/libs/gtkmm2/gtk/src/cellrenderertoggle.hg
new file mode 100644
index 0000000000..cc5f42d732
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/cellrenderertoggle.hg
@@ -0,0 +1,69 @@
+/* $Id: cellrenderertoggle.hg,v 1.5 2006/05/10 20:59:27 murrayc Exp $ */
+
+/* cellrenderertoggle.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/cellrenderer.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/cellrenderer_p.h)
+
+
+namespace Gtk
+{
+
+/** Renders a toggle button in a cell.
+ * The button is drawn as a radio- or checkbutton, depending on the radio property. When activated, it
+ * emits the toggled signal.
+ *
+ * @ingroup TreeView
+ */
+class CellRendererToggle : public CellRenderer
+{
+ _CLASS_GTKOBJECT(CellRendererToggle,GtkCellRendererToggle,GTK_CELL_RENDERER_TOGGLE,Gtk::CellRenderer,GtkCellRenderer)
+public:
+
+ _CTOR_DEFAULT
+
+
+ _WRAP_METHOD(bool get_radio() const, gtk_cell_renderer_toggle_get_radio)
+ _WRAP_METHOD(void set_radio(bool radio = true), gtk_cell_renderer_toggle_set_radio)
+ _WRAP_METHOD(bool get_active() const, gtk_cell_renderer_toggle_get_active)
+ _WRAP_METHOD(void set_active(bool setting = true), gtk_cell_renderer_toggle_set_active)
+
+ //TODO: Maybe the parameter should be a TreePath.
+ /** The toggled signal is emitted when the cell is toggled.
+ *
+ * @param path string representation of TreePath describing the event location
+ */
+ _WRAP_SIGNAL(void toggled(const Glib::ustring& path), "toggled")
+
+ _WRAP_PROPERTY("activatable", bool)
+ _WRAP_PROPERTY("active", bool)
+ _WRAP_PROPERTY("radio", bool)
+ _WRAP_PROPERTY("indicator-size", int)
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+ virtual Glib::PropertyProxy_Base _property_renderable();
+#else
+ virtual Glib::ustring _property_renderable();
+#endif
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/cellview.ccg b/libs/gtkmm2/gtk/src/cellview.ccg
new file mode 100644
index 0000000000..fdda29c74b
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/cellview.ccg
@@ -0,0 +1,72 @@
+// -*- c++ -*-
+/* $Id: cellview.ccg,v 1.3 2006/05/10 20:59:27 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/cellrenderertext.h>
+#include <gtkmm/cellrendererpixbuf.h>
+#include <gtk/gtkcellview.h>
+
+namespace Gtk
+{
+
+CellView::CellView(const Glib::ustring& text, bool use_markup)
+:
+ _CONSTRUCT()
+{
+ Gtk::CellRendererText* cell = Gtk::manage(new Gtk::CellRendererText());
+
+ if(use_markup)
+ {
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+ cell->property_markup() = text;
+ #else
+ cell->set_property("markup", text);
+ #endif
+ }
+ else
+ {
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+ cell->property_text() = text;
+ #else
+ cell->set_property("text", text);
+ #endif
+ }
+
+ pack_start(*cell);
+}
+
+CellView::CellView(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf)
+:
+ _CONSTRUCT()
+{
+ Gtk::CellRendererPixbuf* cell = Gtk::manage(new Gtk::CellRendererPixbuf());
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+ cell->property_pixbuf() = pixbuf;
+ #else
+ cell->set_property("pixbuf", (void*)(pixbuf->gobj()));
+ #endif
+
+ pack_start(*cell);
+}
+
+
+} //namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/cellview.hg b/libs/gtkmm2/gtk/src/cellview.hg
new file mode 100644
index 0000000000..a89f6016b5
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/cellview.hg
@@ -0,0 +1,88 @@
+/* $Id: cellview.hg,v 1.6 2005/02/13 20:48:35 murrayc Exp $ */
+
+/* cellview.h
+ *
+ * Copyright (C) 2004 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+#include <gtkmm/widget.h>
+#include <gtkmm/celllayout.h>
+#include <gtkmm/treemodel.h>
+#include <gtkmm/treepath.h>
+#include <gtkmm/cellrenderer.h>
+#include <gdkmm/pixbuf.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/widget_p.h)
+
+
+namespace Gtk
+{
+
+/** A widget displaying a single row of a TreeModel.
+ * A CellView displays a single row of a TreeModel, using cell renderers just like TreeView. CellView doesn't support some of the more
+ * complex features of GtkTreeView, like cell editing and drag and drop.
+ *
+ * @ingroup Widgets
+ */
+class CellView :
+ public Widget,
+ public CellLayout
+{
+ _CLASS_GTKOBJECT(CellView, GtkCellView, GTK_CELL_VIEW, Gtk::Widget, GtkWidget)
+ _IMPLEMENTS_INTERFACE(CellLayout)
+
+public:
+ _CTOR_DEFAULT()
+
+ /** Creates a new CellView widget, adds a CellRendererText to it, and makes it show the text.
+ * Optionally, the text can be marked up with the Pango text markup language.
+ *
+ * @param text The text to display in the cell view
+ * @param markup Whether the @a text uses Pango text markup language.
+ */
+ explicit CellView(const Glib::ustring& text, bool use_markup = false);
+ _IGNORE(gtk_cell_view_new_with_text, gtk_cell_view_new_with_markup)
+
+ /** Creates a new CellView widget, adds a CellRendererPixbuf to it, and makes it show the pixbuf.
+ *
+ * @param pixbuf The image to display in the cell view
+ * @param markup Whether the @a text uses Pango text markup language.
+ */
+ explicit CellView(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf);
+ _IGNORE(gtk_cell_view_new_with_pixbuf)
+
+ //_WRAP_METHOD(void set_value(CellRenderer& renderer, const Glib::ustring& property, const Glib::ValueBase& value), gtk_cell_view_set_value)
+ _IGNORE(gtk_cell_view_set_values)
+
+ _WRAP_METHOD(void set_model(const Glib::RefPtr<TreeModel>& model), gtk_cell_view_set_model)
+ _WRAP_METHOD(void set_displayed_row(const TreeModel::Path& path), gtk_cell_view_set_displayed_row)
+ _WRAP_METHOD(TreeModel::Path get_displayed_row() const, gtk_cell_view_get_displayed_row)
+ _WRAP_METHOD(bool get_size_of_row(const TreeModel::Path& path, Requisition& requisition) const, gtk_cell_view_get_size_of_row)
+
+ _WRAP_METHOD(void set_background_color(const Gdk::Color& color), gtk_cell_view_set_background_color)
+
+ _WRAP_METHOD(Glib::ListHandle<CellRenderer*> get_cell_renderers(), gtk_cell_view_get_cell_renderers)
+ _WRAP_METHOD(Glib::ListHandle<const CellRenderer*> get_cell_renderers() const, gtk_cell_view_get_cell_renderers)
+
+};
+
+} // namespace Gtk
+
+
+
diff --git a/libs/gtkmm2/gtk/src/checkbutton.ccg b/libs/gtkmm2/gtk/src/checkbutton.ccg
new file mode 100644
index 0000000000..23293d5c7f
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/checkbutton.ccg
@@ -0,0 +1,34 @@
+// -*- c++ -*-
+/* $Id: checkbutton.ccg,v 1.1 2003/01/21 13:38:44 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkcheckbutton.h>
+
+namespace Gtk
+{
+
+CheckButton::CheckButton(const Glib::ustring& label, bool mnemonic)
+:
+ _CONSTRUCT("label", label.c_str(), "use_underline", gboolean(mnemonic))
+{}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/checkbutton.hg b/libs/gtkmm2/gtk/src/checkbutton.hg
new file mode 100644
index 0000000000..714f3fde5d
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/checkbutton.hg
@@ -0,0 +1,74 @@
+/* $Id: checkbutton.hg,v 1.2 2004/01/19 19:48:44 murrayc Exp $ */
+
+/* checkbutton.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/togglebutton.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/togglebutton_p.h)
+
+namespace Gtk
+{
+
+/** Create widgets with a discrete toggle button.
+ *
+ * A Gtk::CheckButton places a discrete Gtk::ToggleButton next to a widget,
+ * (usually a Gtk::Label). See Gtk::ToggleButton widgets for more
+ * information about toggle/check buttons. The important signal,
+ * signal_toggled() is also inherited from Gtk::ToggleButton.
+ *
+ * @ingroup Widgets
+ */
+class CheckButton : public ToggleButton
+{
+ _CLASS_GTKOBJECT(CheckButton,GtkCheckButton,GTK_CHECK_BUTTON,Gtk::ToggleButton,GtkToggleButton)
+public:
+
+ /** Create an empty check button.
+ * With an empty button, you can Gtk::Button::add() a widget such as a
+ * Gtk::Pixmap or Gtk::Box.
+ *
+ * If you just wish to add a Gtk::Label, you may want to use the
+ * Gtk::CheckButton(const Glib::ustring &label) constructor directly
+ * instead.
+ */
+ _CTOR_DEFAULT
+
+ /** Create a check button with a label.
+ * You won't be able to add a widget to this button since it already
+ * contains a Gtk::Label
+ */
+ explicit CheckButton(const Glib::ustring& label, bool mnemonic = false);
+
+
+protected:
+ /** Emited on button redraw to update indicator.
+ * Triggered when the button is redrawn (e.g.after being toggled)
+ * Overload this signal if you want to implement your own check button
+ * look. Otherwise, you most likely don't care about it.
+ * The GdkRectangle specifies the area of the widget which will get
+ * redrawn.
+ */
+ _WRAP_VFUNC(void draw_indicator(GdkRectangle* area), "draw_indicator")
+
+};
+
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/checkmenuitem.ccg b/libs/gtkmm2/gtk/src/checkmenuitem.ccg
new file mode 100644
index 0000000000..69da3a45a9
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/checkmenuitem.ccg
@@ -0,0 +1,38 @@
+// -*- c++ -*-
+/* $Id: checkmenuitem.ccg,v 1.1 2003/01/21 13:38:45 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkcheckmenuitem.h>
+#include <gtkmm/misc.h>
+#include <gtkmm/label.h>
+
+namespace Gtk
+{
+
+CheckMenuItem::CheckMenuItem(const Glib::ustring& label, bool mnemonic)
+:
+ _CONSTRUCT()
+{
+ add_accel_label(label, mnemonic); /* Left-aligned label */
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/checkmenuitem.hg b/libs/gtkmm2/gtk/src/checkmenuitem.hg
new file mode 100644
index 0000000000..b796438f62
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/checkmenuitem.hg
@@ -0,0 +1,78 @@
+/* $Id: checkmenuitem.hg,v 1.3 2004/01/19 19:48:44 murrayc Exp $ */
+
+/* checkmenuitem.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/menuitem.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/menuitem_p.h)
+
+
+namespace Gtk
+{
+
+/** A menu item that maintains the state of a boolean value in addition to a Gtk::MenuItem's usual role in activating application code.
+ * A check box indicating the state of the boolean value is displayed at the left side of the Gtk::MenuItem.
+ * Activating the Gtk::MenuItem toggles the value.
+ * @ingroup Widgets
+ * @ingroup Menus
+ */
+class CheckMenuItem : public MenuItem
+{
+ _CLASS_GTKOBJECT(CheckMenuItem,GtkCheckMenuItem,GTK_CHECK_MENU_ITEM,Gtk::MenuItem,GtkMenuItem)
+ _IGNORE(gtk_check_menu_item_set_show_toggle)
+public:
+
+ _CTOR_DEFAULT
+ explicit CheckMenuItem(const Glib::ustring& label, bool mnemonic = false);
+
+
+ _WRAP_METHOD(void set_active(bool state = true), gtk_check_menu_item_set_active)
+ _WRAP_METHOD(bool get_active() const, gtk_check_menu_item_get_active)
+
+ _WRAP_METHOD(void toggled(), gtk_check_menu_item_toggled)
+
+ _WRAP_METHOD(void set_inconsistent(bool setting = true), gtk_check_menu_item_set_inconsistent)
+ _WRAP_METHOD(bool get_inconsistent() const, gtk_check_menu_item_get_inconsistent)
+
+ _WRAP_METHOD(void set_draw_as_radio(bool draw_as_radio = true), gtk_check_menu_item_set_draw_as_radio)
+ _WRAP_METHOD(bool get_draw_as_radio() const, gtk_check_menu_item_get_draw_as_radio)
+
+ /** Triggered when the item changes state
+ * (Note : changing the item's state with set_active() will also trigger
+ * this signal)
+ */
+ _WRAP_SIGNAL(void toggled(), "toggled")
+
+ _WRAP_PROPERTY("active", bool)
+ _WRAP_PROPERTY("inconsistent", bool)
+ _WRAP_PROPERTY("draw-as-radio", bool)
+
+protected:
+ /** Triggered when the item is redrawn (e.g.after being toggled)
+ * Overload this signal if you want to implement your own check item
+ * look. Otherwise, you most likely don't care about it.
+ * The GdkRectangle specifies the area of the widget which will get
+ * redrawn.
+ */
+ _WRAP_VFUNC(void draw_indicator(GdkRectangle* area), draw_indicator)
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/clipboard.ccg b/libs/gtkmm2/gtk/src/clipboard.ccg
new file mode 100644
index 0000000000..836bf2b7e0
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/clipboard.ccg
@@ -0,0 +1,360 @@
+// -*- c++ -*-
+/* $Id: clipboard.ccg,v 1.11 2006/06/13 17:16:26 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/textbuffer.h>
+#include <gtkmm/selectiondata_private.h>
+#include <glibmm/utility.h> //For ScopedPtr<>.
+#include <gtk/gtkclipboard.h>
+
+namespace
+{
+
+// SignalProxy_GetClear:
+// This Signal Proxy allows the C++ coder to specify a sigc::slot instead of a static function.
+class SignalProxy_GetClear
+{
+public:
+ SignalProxy_GetClear(const Gtk::Clipboard::SlotGet& slot_get,
+ const Gtk::Clipboard::SlotClear& slot_clear);
+
+ static void gtk_callback_get(GtkClipboard* clipboard, GtkSelectionData* selection_data,
+ unsigned int info, void* data);
+ static void gtk_callback_clear(GtkClipboard* clipboard, void* data);
+
+ Gtk::Clipboard::SlotGet slot_get_;
+ Gtk::Clipboard::SlotClear slot_clear_;
+};
+
+SignalProxy_GetClear::SignalProxy_GetClear(const Gtk::Clipboard::SlotGet& slot_get,
+ const Gtk::Clipboard::SlotClear& slot_clear)
+:
+ slot_get_ (slot_get),
+ slot_clear_ (slot_clear)
+{}
+
+static void SignalProxy_GetClear_gtk_callback_get(GtkClipboard*, GtkSelectionData* selection_data,
+ unsigned int info, void* data)
+{
+ SignalProxy_GetClear *const self = static_cast<SignalProxy_GetClear*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ Gtk::SelectionData_WithoutOwnership cppSelectionData(selection_data);
+ (self->slot_get_)(cppSelectionData, info);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+static void SignalProxy_GetClear_gtk_callback_clear(GtkClipboard*, void* data)
+{
+ SignalProxy_GetClear *const self = static_cast<SignalProxy_GetClear*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ (self->slot_clear_)();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ delete self; // After this callback has been called, none of the 2 callbacks will be called again.
+
+ //This might leak the last SignalProxy_GetClear(), but only the last one,
+ //because clear() is called when set() is called again.
+}
+
+} //anonymous namespace
+
+
+static void SignalProxy_Received_gtk_callback(GtkClipboard*, GtkSelectionData* selection_data, void* data)
+{
+ Gtk::Clipboard::SlotReceived* the_slot = static_cast<Gtk::Clipboard::SlotReceived*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ Gtk::SelectionData cppSelectionData(selection_data, true /*take_copy=true*/);
+ (*the_slot)(cppSelectionData);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ delete the_slot;
+}
+
+//This is not public API:
+typedef std::list<Glib::ustring> listStrings;
+static listStrings util_convert_atoms_to_strings(GdkAtom* targets, int n_targets)
+{
+ listStrings listTargets;
+
+ //Add the targets to the C++ container:
+ for(int i = 0; i < n_targets; i++)
+ {
+ //Convert the atom to a string:
+ char* atom_name = gdk_atom_name(targets[i]);
+ if(atom_name)
+ {
+ listTargets.push_back( Glib::ustring(atom_name) );
+ g_free(atom_name);
+ }
+ }
+
+ return listTargets;
+}
+
+static void SignalProxy_TargetsReceived_gtk_callback(GtkClipboard*, GdkAtom* atoms, gint n_atoms, gpointer data)
+{
+ Gtk::Clipboard::SlotTargetsReceived* the_slot = static_cast<Gtk::Clipboard::SlotTargetsReceived*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ listStrings listTargets = util_convert_atoms_to_strings(atoms, n_atoms);
+ (*the_slot)(listTargets);
+ //I guess that GTK+ does a g_free of the GdkAtoms* array itself, so we do not need to. murrayc.
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ delete the_slot; // the callback is only used once
+}
+
+
+static void SignalProxy_TextReceived_gtk_callback(GtkClipboard*, const char* text, void* data)
+{
+ Gtk::Clipboard::SlotTextReceived* the_slot = static_cast<Gtk::Clipboard::SlotTextReceived*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ (*the_slot)((text) ? Glib::ustring(text) : Glib::ustring());
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ delete the_slot; // the callback is only used once
+}
+
+static void SignalProxy_RichTextReceived_gtk_callback(GtkClipboard*, GdkAtom format, const guint8* text, gsize length, void* data)
+{
+ Gtk::Clipboard::SlotRichTextReceived* the_slot = static_cast<Gtk::Clipboard::SlotRichTextReceived*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ gchar* format_atom_name = gdk_atom_name(format);
+ (*the_slot)( (format_atom_name ? Glib::ustring(format_atom_name) : Glib::ustring()), (text ? std::string((char*)text, length) : std::string()) );
+ g_free(format_atom_name);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ delete the_slot; // the callback is only used once
+}
+
+static void SignalProxy_ImageReceived_gtk_callback(GtkClipboard*, GdkPixbuf* image, void* data)
+{
+ Gtk::Clipboard::SlotImageReceived* the_slot = static_cast<Gtk::Clipboard::SlotImageReceived*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ (*the_slot)(Glib::wrap(image, true /* take_ref */));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ delete the_slot; // the callback is only used once
+}
+
+
+namespace Gtk
+{
+
+bool Clipboard::set(const ArrayHandle_TargetEntry& targets,
+ const SlotGet& slot_get, const SlotClear& slot_clear)
+{
+ // Create a signal proxy. A pointer to this will be passed through the callback's data parameter.
+ SignalProxy_GetClear *const pSignalProxy = new SignalProxy_GetClear(slot_get, slot_clear);
+
+ return gtk_clipboard_set_with_data(
+ gobj(), targets.data(), targets.size(),
+ &SignalProxy_GetClear_gtk_callback_get,
+ &SignalProxy_GetClear_gtk_callback_clear,
+ pSignalProxy);
+}
+
+void Clipboard::set_text(const Glib::ustring& text)
+{
+ gtk_clipboard_set_text(gobj(), text.c_str(), text.bytes());
+}
+
+
+void Clipboard::request_contents(const Glib::ustring& target, const SlotReceived& slot)
+{
+ // Create a copy of the slot. A pointer to this will be passed through the callback's data parameter.
+ SlotReceived* slot_copy = new SlotReceived(slot);
+
+ gtk_clipboard_request_contents(gobj(), gdk_atom_intern(target.c_str(), FALSE),
+ &SignalProxy_Received_gtk_callback, slot_copy);
+}
+
+void Clipboard::request_text(const SlotTextReceived& slot)
+{
+ // Create a copy of the slot. A pointer to this will be passed through the callback's data parameter.
+ SlotTextReceived* slot_copy = new SlotTextReceived(slot);
+
+ gtk_clipboard_request_text(gobj(),
+ &SignalProxy_TextReceived_gtk_callback, slot_copy);
+}
+
+void Clipboard::request_rich_text(const Glib::RefPtr<TextBuffer>& buffer, const SlotRichTextReceived& slot)
+{
+ // Create a copy of the slot. A pointer to this will be passed through the callback's data parameter.
+ SlotRichTextReceived* slot_copy = new SlotRichTextReceived(slot);
+
+ gtk_clipboard_request_rich_text(gobj(), buffer->gobj(),
+ &SignalProxy_RichTextReceived_gtk_callback, slot_copy);
+}
+
+void Clipboard::request_image(const SlotImageReceived& slot)
+{
+ // Create a copy of the slot. A pointer to this will be passed through the callback's data parameter.
+ SlotImageReceived* slot_copy = new SlotImageReceived(slot);
+
+ gtk_clipboard_request_image(gobj(),
+ &SignalProxy_ImageReceived_gtk_callback, slot_copy);
+}
+
+void Clipboard::request_targets(const SlotTargetsReceived& slot)
+{
+ // Create a copy of the slot. A pointer to this will be passed through the callback's data parameter.
+ SlotTargetsReceived* slot_copy = new SlotTargetsReceived(slot);
+
+ gtk_clipboard_request_targets(gobj(), &SignalProxy_TargetsReceived_gtk_callback, slot_copy);
+}
+
+SelectionData Clipboard::wait_for_contents(const Glib::ustring& target) const
+{
+ //gtk_clipboard_wait_for_contents returns a newly-allocated GtkSelectionData, or NULL.
+ GtkSelectionData* cData = gtk_clipboard_wait_for_contents( const_cast<GtkClipboard*>(gobj()), gdk_atom_intern(target.c_str(), FALSE) );
+ return SelectionData(cData, false /* take_copy */);
+}
+
+Glib::StringArrayHandle Clipboard::wait_for_targets() const
+{
+ std::list<Glib::ustring> listTargets;
+
+ //Get a newly-allocated array of atoms:
+ GdkAtom* targets = 0;
+ gint n_targets = 0;
+ gboolean test = gtk_clipboard_wait_for_targets( const_cast<GtkClipboard*>(gobj()), &targets, &n_targets );
+ if(!test)
+ n_targets = 0; //otherwise it will be -1.
+
+ //Add the targets to the C++ container:
+ for(int i = 0; i < n_targets; i++)
+ {
+ //Convert the atom to a string:
+ gchar* const atom_name = gdk_atom_name(targets[i]);
+
+ Glib::ustring target;
+ if(atom_name)
+ target = Glib::ScopedPtr<char>(atom_name).get(); //This frees the gchar*.
+
+ listTargets.push_back(target);
+ }
+
+ return listTargets;
+}
+
+void Clipboard::set_can_store(const ArrayHandle_TargetEntry& targets)
+{
+ gtk_clipboard_set_can_store( gobj(), targets.data(), targets.size() );
+}
+
+void Clipboard::set_can_store()
+{
+ gtk_clipboard_set_can_store( gobj(), 0, 0 /* See C docs */ );
+}
+
+std::string Clipboard::wait_for_rich_text(const Glib::RefPtr<TextBuffer>& buffer, std::string& format)
+{
+ std::string result;
+
+ GdkAtom format_atom = 0;
+ gsize length = 0;
+ guint8* text = gtk_clipboard_wait_for_rich_text(const_cast<GtkClipboard*>(gobj()), buffer->gobj(), &format_atom, &length);
+ if(text && length)
+ {
+ gchar* format_atom_name = gdk_atom_name(format_atom);
+ if(format_atom_name)
+ format = Glib::ScopedPtr<char>(format_atom_name).get(); //This frees the buffer.
+
+ result = std::string((char*)text, length);
+ g_free(text);
+ }
+
+ return result;
+}
+
+
+} //namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/clipboard.hg b/libs/gtkmm2/gtk/src/clipboard.hg
new file mode 100644
index 0000000000..907e446c56
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/clipboard.hg
@@ -0,0 +1,283 @@
+/* $Id: clipboard.hg,v 1.17 2006/06/13 17:16:26 murrayc Exp $ */
+
+/* clipboard.h
+ *
+ * Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdkmm/display.h>
+#include <gdkmm/pixbuf.h>
+#include <gtkmm/targetentry.h>
+#include <gtkmm/selectiondata.h>
+#include <glibmm/object.h>
+#include <glibmm/containers.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Gtk
+{
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+class TextBuffer;
+#endif //DOXYGEN_SHOULD_SKIP_THIS
+
+/** The Clipboard object represents a clipboard of data shared between different processes or between
+ * different widgets in the same process. Each clipboard is identified by a name encoded as a GdkAtom. *
+ * (Conversion to and from strings can be done with gdk_atom_intern() and gdk_atom_name().) The default
+ * clipboard corresponds to the "CLIPBOARD" atom; another commonly used clipboard is the "PRIMARY" clipboard,
+ * which, in X, traditionally contains the currently selected text.
+ *
+ * To support having a number of different formats on the clipboard at the same time, the clipboard mechanism
+ * allows providing callbacks instead of the actual data. When you set the contents of the clipboard, you can
+ * either supply the data directly (via functions like set_text()), or you can supply a callback
+ * to be called at a later time when the data is needed (via set().) Providing a callback also avoids having to
+ * make copies of the data when it is not needed.
+ *
+ * Requesting the data from the clipboard is essentially asynchronous. If the contents of the clipboard are
+ * provided within the same process, then a direct function call will be made to retrieve the data, but if they
+ * are provided by another process, then the data needs to be retrieved from the other process, which may take
+ * some time. To avoid blocking the user interface, the call to request the selection, request_contents() takes
+ * a callback that will be called when the contents are received (or when the request fails.) If you don't want
+ * to deal with providing a separate callback, you can also use wait_for_contents(). This runs the
+ * GLib main loop recursively waiting for the contents. This can simplify the code flow, but you still have to
+ * be aware that other callbacks in your program can be called while this recursive mainloop is running.
+ *
+ * Along with the functions to get the clipboard contents as an arbitrary data chunk, there are also functions
+ * to retrieve it as text, request_text() and wait_for_text(). These functions take
+ * care of determining which formats are advertised by the clipboard provider, asking for the clipboard in the
+ * best available format and converting the results into the UTF-8 encoding.
+ */
+class Clipboard : public Glib::Object
+{
+ _CLASS_GOBJECT(Clipboard, GtkClipboard, GTK_CLIPBOARD, Glib::Object, GObject)
+public:
+
+ _WRAP_METHOD(static Glib::RefPtr<Clipboard> get(GdkAtom selection = GDK_SELECTION_CLIPBOARD), gtk_clipboard_get, refreturn)
+ _WRAP_METHOD(static Glib::RefPtr<Clipboard> get_for_display(const Glib::RefPtr<Gdk::Display>& display, GdkAtom selection = GDK_SELECTION_CLIPBOARD), gtk_clipboard_get_for_display, refreturn)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Display> get_display(), gtk_clipboard_get_display, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Gdk::Display> get_display() const, gtk_clipboard_get_display, refreturn, constversion)
+
+ /// For instance: void on_get(Gtk::SelectionData& selection_data, guint info);
+ typedef sigc::slot<void, SelectionData&, guint> SlotGet;
+
+ /// For instance: void on_clear();
+ typedef sigc::slot<void> SlotClear;
+
+ /** Virtually sets the contents of the specified clipboard by providing
+ * a list of supported formats for the clipboard data and a function
+ * to call to get the actual data when it is requested.
+ *
+ * @param targets Information about the available forms for the clipboard data.
+ * @param slot_get method to call to get the actual clipboard data.
+ * @param slot_clear When the clipboard contents are set again, this method will
+ * be called, and slot_get will not be subsequently called.
+ *
+ * @return true if setting the clipboard data succeeded. If setting
+ * the clipboard data failed then the provided callback methods
+ * will be ignored.
+ */
+ bool set(const ArrayHandle_TargetEntry& targets, const SlotGet& slot_get, const SlotClear& slot_clear);
+ _IGNORE(gtk_clipboard_set_with_owner, gtk_clipboard_set_with_data)
+
+ _WRAP_METHOD(Glib::RefPtr<Glib::Object> get_owner(), gtk_clipboard_get_owner, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Glib::Object> get_owner() const, gtk_clipboard_get_owner, refreturn, constversion)
+
+ /**
+ * Clears the contents of the clipboard. Generally this should only
+ * be called between the time you call set()
+ * and when the slot_clear you supplied is called. Otherwise, the
+ * clipboard may be owned by someone else.
+ */
+ _WRAP_METHOD(void clear(), gtk_clipboard_clear)
+
+ /**
+ * Sets the contents of the clipboard to the given UTF-8 string. GTK+ will
+ * make a copy of the text and take responsibility for responding
+ * for requests for the text, and for converting the text into
+ * the requested format.
+ *
+ * @param text A UTF-8 string.
+ *
+ */
+ void set_text(const Glib::ustring& text);
+ _IGNORE(gtk_clipboard_set_text)
+
+ _WRAP_METHOD(void set_image(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf), gtk_clipboard_set_image)
+
+ /// For instance: void on_received(const SelectionData& selection_data);
+ typedef sigc::slot<void, const SelectionData&> SlotReceived;
+
+ /** Requests the contents of clipboard as the given target.
+ * When the results of the result are later received the supplied callback
+ * will be called.
+ *
+ * @param target The form into which the clipboard
+ * owner should convert the selection.
+ * @param slot A function to call when the results are received
+ * (or the retrieval fails). If the retrieval fails
+ * the length field of selection_data will be
+ * negative.
+ **/
+ void request_contents(const Glib::ustring& target, const SlotReceived& slot);
+ _IGNORE(gtk_clipboard_request_contents)
+
+ /// For instance: void on_text_received(const Glib::ustring& text);
+ typedef sigc::slot<void, const Glib::ustring&> SlotTextReceived;
+
+ /** Requests the contents of the clipboard as text. When the text is
+ * later received, it will be converted to UTF-8 if necessary, and
+ * slot will be called.
+ *
+ * The text parameter to slot will contain the resulting text if
+ * the request succeeded, or will be empty if it failed. This could happen for
+ * various reasons, in particular if the clipboard was empty or if the
+ * contents of the clipboard could not be converted into text form.
+ *
+ * @param slot: a function to call when the text is received,
+ * or the retrieval fails. (It will always be called
+ * one way or the other.)
+ */
+ void request_text(const SlotTextReceived& slot);
+ _IGNORE(gtk_clipboard_request_text)
+
+ /// For instance: void on_rich_text_received(const Glib::ustring& format, const std::string& text);
+ typedef sigc::slot<void, const Glib::ustring& , const std::string&> SlotRichTextReceived;
+
+ /** Requests the contents of the clipboard as rich text. When the rich text is later received,
+ * callback will be called.
+ *
+ * The text parameter to the callback will contain the resulting rich text if the request succeeded, or
+ * an empty string if it failed. This function can fail for various reasons, in particular if the
+ * clipboard was empty or if the contents of the clipboard could not be converted into rich text form.
+ *
+ *
+ * @param slot: a function to call when the text is received,
+ * or the retrieval fails. (It will always be called
+ * one way or the other.)
+ */
+ void request_rich_text(const Glib::RefPtr<TextBuffer>& buffer, const SlotRichTextReceived& slot);
+ _IGNORE(gtk_clipboard_request_rich_text)
+
+
+ /// For instance: void on_image_received(const Glib::RefPtr<Gdk::Pixbuf>& text);
+ typedef sigc::slot<void, const Glib::RefPtr<Gdk::Pixbuf>&> SlotImageReceived;
+
+ /** Requests the contents of the clipboard as image. When the image is
+ * later received, it will be converted to a Gdk::Pixbuf.
+ * This function waits for
+ * the data to be received using the main loop, so events,
+ * timeouts, etc, may be dispatched during the wait.
+ *
+ * The pixbuf parameter to slot will contain the resulting pixbuf if
+ * the request succeeded, or will be empty if it failed. This could happen for
+ * various reasons, in particular if the clipboard was empty or if the
+ * contents of the clipboard could not be converted into image form.
+ *
+ * @param slot: a function to call when the text is received,
+ * or the retrieval fails. (It will always be called
+ * one way or the other.)
+ */
+ void request_image(const SlotImageReceived& slot);
+ _IGNORE(gtk_clipboard_request_image)
+
+ /// For instance: void on_targetsreceived(const Glib::StringArrayHandle& targets);
+ typedef sigc::slot<void, const Glib::StringArrayHandle&> SlotTargetsReceived;
+
+ /** Requests the contents of the clipboard as list of supported targets.
+ * When the list is later received, callback will be called.
+ *
+ * The targets parameter to slot will contain the resulting targets if
+ * the request succeeded.
+ *
+ * @param slot a function to call when the targets are received,
+ * or the retrieval fails. (It will always be called
+ * one way or the other.) Remember that Glib::StringArrayHandle
+ * is an intermediate type, so you should convert it to a
+ * standard C++ container.
+ *
+ * @newin2p4
+ */
+ void request_targets(const SlotTargetsReceived& slot);
+ _IGNORE(gtk_clipboard_request_targets)
+
+ /**
+ * Requests the contents of the clipboard using the given target.
+ * This function waits for the data to be received using the main
+ * loop, so events, timeouts, etc, may be dispatched during the wait.
+ *
+ * @param target The form into which the clipboard owner should convert the selection.
+ *
+ * @return A SelectionData object, which will be invalid if retrieving the given target failed.
+ */
+ SelectionData wait_for_contents(const Glib::ustring& target) const;
+ _IGNORE(gtk_clipboard_wait_for_contents)
+
+ _WRAP_METHOD(Glib::ustring wait_for_text() const, gtk_clipboard_wait_for_text)
+
+ std::string wait_for_rich_text(const Glib::RefPtr<TextBuffer>& buffer, std::string& format);
+ _IGNORE(gtk_clipboard_wait_for_rich_text)
+
+ //Maybe the result should be const, but constness is not so clear-cut here. murrayc
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> wait_for_image() const, gtk_clipboard_wait_for_image)
+
+ _WRAP_METHOD(bool wait_is_text_available() const, gtk_clipboard_wait_is_text_available)
+ _WRAP_METHOD(bool wait_is_rich_text_available(const Glib::RefPtr<TextBuffer>& buffer) const, gtk_clipboard_wait_is_rich_text_available)
+ _WRAP_METHOD(bool wait_is_image_available() const, gtk_clipboard_wait_is_image_available)
+ _WRAP_METHOD(bool wait_is_target_available(const Glib::ustring& target), gtk_clipboard_wait_is_target_available)
+
+ /** Returns a list of targets that are present on the clipboard.
+ * This function waits for the data to be received using the main
+ * loop, so events, timeouts, etc, may be dispatched during the wait.
+ *
+ * @result targets: The targets.
+ *
+ * @newin2p4
+ */
+ Glib::StringArrayHandle wait_for_targets() const;
+ _IGNORE(gtk_clipboard_wait_for_targets)
+
+ /** Hints that the clipboard data should be stored somewhere when the application exits or when store()
+ * is called.
+ *
+ * This value is reset when the clipboard owner changes. Where the clipboard data is stored is platform
+ * dependent, see Gdk::Display::store_clipboard() for more information.
+ *
+ * @param targets Array containing information about which forms should be stored.
+ */
+ void set_can_store(const ArrayHandle_TargetEntry& targets);
+
+ /** Hints that all forms of clipboard data should be stored somewhere when the application exits or when store()
+ * is called.
+ *
+ * This value is reset when the clipboard owner changes. Where the clipboard data is stored is platform
+ * dependent, see Gdk::Display::store_clipboard() for more information.
+ */
+ void set_can_store();
+ _IGNORE(void gtk_clipboard_set_can_store)
+
+ _WRAP_METHOD(void store(), gtk_clipboard_store)
+
+ //We use no_default_handler because this signal was added and we don't want to break the ABI by adding a virtual function.
+ _WRAP_SIGNAL(void owner_change(GdkEventOwnerChange* event), "owner_change", no_default_handler)
+
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/colorbutton.ccg b/libs/gtkmm2/gtk/src/colorbutton.ccg
new file mode 100644
index 0000000000..73ac932b15
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/colorbutton.ccg
@@ -0,0 +1,39 @@
+// -*- c++ -*-
+/* $Id: colorbutton.ccg,v 1.2 2003/10/18 15:35:31 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkcolorbutton.h>
+#include <gdkmm/color.h>
+
+namespace Gtk
+{
+
+Gdk::Color ColorButton::get_color() const
+{
+ Gdk::Color color;
+ gtk_color_button_get_color(const_cast<GtkColorButton*>(gobj()), color.gobj());
+ return color;
+}
+
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/colorbutton.hg b/libs/gtkmm2/gtk/src/colorbutton.hg
new file mode 100644
index 0000000000..933ef358e9
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/colorbutton.hg
@@ -0,0 +1,102 @@
+/* $Id: colorbutton.hg,v 1.5 2005/11/30 14:10:49 murrayc Exp $ */
+
+/* colorbutton.h
+ *
+ * Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/button.h>
+#include <gdkmm/color.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/button_p.h)
+
+
+namespace Gtk
+{
+
+/** A button to launch a color selection dialog.
+ *
+ * The GtkColorButton is a button which displays the currently selected color an allows to
+ * open a color selection dialog to change the color. It is suitable widget for selecting a
+ * color in a preference dialog.
+ *
+ * @ingroup Widgets
+ */
+class ColorButton : public Button
+{
+ _CLASS_GTKOBJECT(ColorButton, GtkColorButton, GTK_COLOR_BUTTON, Gtk::Button, GtkButton)
+public:
+
+ /** Creates a new color button.
+ *
+ * This creates a widget in the form of a small button containing a swatch representing
+ * the current selected color. When the button is clicked, a color-selection dialog will
+ * open, allowing the user to select a color. The swatch will be updated to reflect the
+ * new color when the user finishes.
+ *
+ * @newin2p4
+ */
+ _CTOR_DEFAULT()
+ _IGNORE(gtk_color_button_new)
+
+ /** Creates a new color button with a predefined color.
+ *
+ * Same as Gtk::ColorButton::ColorButton(). Additionally takes a Gdk::Color and
+ * initializes the button with this color. Equivalent to calling set_color(@a color)
+ * after the default constructor.
+ *
+ * @param color A Gdk::Color to set the current color with.
+ *
+ * @newin2p4
+ */
+ _WRAP_CTOR(ColorButton(const Gdk::Color& color), gtk_color_button_new_with_color)
+
+ _WRAP_METHOD(void set_color(const Gdk::Color& color), gtk_color_button_set_color)
+ _WRAP_METHOD(void set_alpha(guint16 alpha), gtk_color_button_set_alpha)
+
+ /** Returns a copy of the the current color.
+ *
+ * Changes to the return value will have no effect on the Gtk::ColorButton.
+ *
+ * @return A Gdk::Color representing the current internal color of the Gtk::ColorButton.
+ *
+ * @newin2p4
+ */
+ Gdk::Color get_color() const;
+ _IGNORE(gtk_color_button_get_color)
+
+ _WRAP_METHOD(guint16 get_alpha() const, gtk_color_button_get_alpha)
+ _WRAP_METHOD(void set_use_alpha(bool use_alpha = true), gtk_color_button_set_use_alpha)
+ _WRAP_METHOD(bool get_use_alpha() const, gtk_color_button_get_use_alpha)
+ _WRAP_METHOD(void set_title(const Glib::ustring& title), gtk_color_button_set_title)
+ _WRAP_METHOD(Glib::ustring get_title() const, gtk_color_button_get_title)
+
+ _WRAP_PROPERTY("use-alpha", bool)
+ _WRAP_PROPERTY("title", Glib::ustring)
+ _WRAP_PROPERTY("color", Gdk::Color)
+ _WRAP_PROPERTY("alpha", guint16)
+
+ /** The color_set signal is emitted when the user selects a color. When handling this signal,
+ * use get_color() and get_alpha() to find out which color
+ * was just selected.
+ */
+ _WRAP_SIGNAL(void color_set(), "color-set")
+};
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/colorselection.ccg b/libs/gtkmm2/gtk/src/colorselection.ccg
new file mode 100644
index 0000000000..09e3f05db5
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/colorselection.ccg
@@ -0,0 +1,144 @@
+// -*- c++ -*-
+/* $Id: colorselection.ccg,v 1.7 2006/05/11 11:40:24 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkcolorsel.h>
+#include <gtk/gtkcolorseldialog.h>
+
+
+namespace
+{
+
+static Gtk::ColorSelection::SlotChangePaletteHook* global_change_palette_hook = 0;
+
+static void global_change_palette_hook_callback(GdkScreen* screen, const GdkColor* colors, int n_colors)
+{
+ g_return_if_fail(global_change_palette_hook != 0);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ (*global_change_palette_hook)(
+ Glib::wrap(screen, true),
+ Gdk::ArrayHandle_Color(colors, n_colors, Glib::OWNERSHIP_NONE));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+static void old_change_palette_hook_callback(const Glib::RefPtr<Gdk::Screen>& screen,
+ const Gdk::ArrayHandle_Color& colors,
+ GtkColorSelectionChangePaletteWithScreenFunc func)
+{
+ g_return_if_fail(func != 0);
+
+ (*func)(Glib::unwrap(screen), colors.data(), colors.size());
+}
+
+} // anonymous namespace
+
+
+namespace Gtk
+{
+
+Gdk::Color ColorSelection::get_current_color() const
+{
+ Gdk::Color color; //GdkColor Just a simple struct.
+ gtk_color_selection_get_current_color(const_cast<GtkColorSelection*>(gobj()), color.gobj());
+ return color;
+}
+
+Gdk::Color ColorSelection::get_previous_color() const
+{
+ Gdk::Color color; //GdkColor Just a simple struct.
+ gtk_color_selection_get_previous_color(const_cast<GtkColorSelection*>(gobj()), color.gobj());
+ return color;
+}
+
+// static
+Gdk::ArrayHandle_Color ColorSelection::palette_from_string(const Glib::ustring& str)
+{
+ GdkColor* colors = 0;
+ int n_colors = 0;
+
+ gtk_color_selection_palette_from_string(str.c_str(), &colors, &n_colors);
+
+ return Gdk::ArrayHandle_Color(colors, n_colors, Glib::OWNERSHIP_SHALLOW);
+}
+
+// static
+Glib::ustring ColorSelection::palette_to_string(const Gdk::ArrayHandle_Color& colors)
+{
+ if(char *const str = gtk_color_selection_palette_to_string(colors.data(), colors.size()))
+ return Glib::ustring(Glib::ScopedPtr<char>(str).get());
+ else
+ return Glib::ustring();
+}
+
+// static
+ColorSelection::SlotChangePaletteHook
+ColorSelection::set_change_palette_hook(const ColorSelection::SlotChangePaletteHook& slot)
+{
+ GtkColorSelectionChangePaletteWithScreenFunc new_func = 0;
+ SlotChangePaletteHook* new_slot = 0;
+ SlotChangePaletteHook old_slot;
+
+ if(slot)
+ {
+ new_func = &global_change_palette_hook_callback;
+ new_slot = new SlotChangePaletteHook(slot);
+ }
+
+ const GtkColorSelectionChangePaletteWithScreenFunc old_func =
+ gtk_color_selection_set_change_palette_with_screen_hook(new_func);
+
+ if(old_func)
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ if(old_func != &global_change_palette_hook_callback)
+ old_slot = sigc::bind<-1>(sigc::ptr_fun(&old_change_palette_hook_callback), old_func);
+ else if(global_change_palette_hook)
+ old_slot = *global_change_palette_hook;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ gtk_color_selection_set_change_palette_with_screen_hook(old_func);
+ delete new_slot;
+ throw;
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+
+ delete global_change_palette_hook;
+ global_change_palette_hook = new_slot;
+
+ return old_slot;
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/colorselection.hg b/libs/gtkmm2/gtk/src/colorselection.hg
new file mode 100644
index 0000000000..cd2be75088
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/colorselection.hg
@@ -0,0 +1,101 @@
+/* $Id: colorselection.hg,v 1.2 2004/02/10 14:50:11 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/box_p.h)
+_PINCLUDE(gtkmm/private/dialog_p.h)
+
+#include <gtkmm/box.h>
+#include <gtkmm/dialog.h>
+#include <gtkmm/button.h>
+
+
+namespace Gtk
+{
+
+/** A widget used to select a color.
+ *
+ * This widget is used to select a color. It
+ * consists of a color wheel and number of sliders and entry boxes for color
+ * parameters such as hue, saturation, value, red, green, blue, and opacity.
+ *
+ * It is found on the standard color selection dialog box
+ * Gtk::ColorSelectionDialog.
+ *
+ * @ingroup Widgets
+ */
+class ColorSelection : public VBox
+{
+ _CLASS_GTKOBJECT(ColorSelection,GtkColorSelection,GTK_COLOR_SELECTION,Gtk::VBox,GtkVBox)
+ _IGNORE(gtk_color_selection_get_current_color, gtk_color_selection_get_previous_color,
+ gtk_color_selection_set_color, gtk_color_selection_get_color, gtk_color_selection_set_update_policy)
+public:
+ _CTOR_DEFAULT()
+
+ _WRAP_METHOD(bool get_has_opacity_control() const, gtk_color_selection_get_has_opacity_control)
+ _WRAP_METHOD(void set_has_opacity_control(bool has_opacity = true), gtk_color_selection_set_has_opacity_control)
+ _WRAP_METHOD(bool get_has_palette() const, gtk_color_selection_get_has_palette)
+ _WRAP_METHOD(void set_has_palette(bool has_palette = true), gtk_color_selection_set_has_palette)
+ _WRAP_METHOD(void set_current_color(const Gdk::Color& color), gtk_color_selection_set_current_color)
+ _WRAP_METHOD(void set_current_alpha(guint16 alpha), gtk_color_selection_set_current_alpha)
+ Gdk::Color get_current_color() const;
+ _WRAP_METHOD(guint16 get_current_alpha() const, gtk_color_selection_get_current_alpha)
+ _WRAP_METHOD(void set_previous_color(const Gdk::Color& color), gtk_color_selection_set_previous_color)
+ _WRAP_METHOD(void set_previous_alpha(guint16 alpha), gtk_color_selection_set_previous_alpha)
+ Gdk::Color get_previous_color() const;
+ _WRAP_METHOD(guint16 get_previous_alpha() const, gtk_color_selection_get_previous_alpha)
+
+ _WRAP_METHOD(bool is_adjusting() const, gtk_color_selection_is_adjusting)
+
+ static Gdk::ArrayHandle_Color palette_from_string(const Glib::ustring& str);
+ static Glib::ustring palette_to_string(const Gdk::ArrayHandle_Color& colors);
+
+ typedef sigc::slot<void, const Glib::RefPtr<Gdk::Screen>&,
+ const Gdk::ArrayHandle_Color&> SlotChangePaletteHook;
+
+ static SlotChangePaletteHook set_change_palette_hook(const SlotChangePaletteHook& slot);
+
+ _WRAP_SIGNAL(void color_changed(), "color_changed")
+
+ _WRAP_PROPERTY("has-palette", bool)
+ _WRAP_PROPERTY("has-opacity-control", bool)
+ _WRAP_PROPERTY("current-color", Gdk::Color)
+ _WRAP_PROPERTY("current-alpha", guint)
+};
+
+/** This dialog allows the user to select a color.
+ * @ingroup Dialogs
+ */
+class ColorSelectionDialog : public Dialog
+{
+ _CLASS_GTKOBJECT(ColorSelectionDialog,GtkColorSelectionDialog,GTK_COLOR_SELECTION_DIALOG,Gtk::Dialog,GtkDialog)
+ _UNMANAGEABLE()
+public:
+
+ _CTOR_DEFAULT()
+ _WRAP_CTOR(ColorSelectionDialog(const Glib::ustring& title), gtk_color_selection_dialog_new)
+
+ _MEMBER_GET_PTR(colorsel,colorsel,ColorSelection*,GtkWidget*)
+ _MEMBER_GET_PTR(ok_button,ok_button,Button*,GtkWidget*)
+ _MEMBER_GET_PTR(cancel_button,cancel_button,Button*,GtkWidget*)
+ _MEMBER_GET_PTR(help_button,help_button,Button*,GtkWidget*)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/combo.ccg b/libs/gtkmm2/gtk/src/combo.ccg
new file mode 100644
index 0000000000..3a432d549e
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/combo.ccg
@@ -0,0 +1,129 @@
+// -*- c++ -*-
+/* $Id: combo.ccg,v 1.2 2003/10/17 16:18:24 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+//These were deprecated between 1.2 and 2.0:
+#include <gtk/gtklistitem.h>
+#include <gtk/gtklist.h>
+
+#include <gtk/gtkcombo.h>
+#include <gtk/gtklabel.h>
+#include <gtkmm/entry.h>
+#include <gtkmm/button.h>
+#include <gtkmm/scrolledwindow.h>
+#include <gtkmm/window.h>
+#include <gtkmm/item.h>
+
+namespace Gtk
+{
+
+namespace ComboDropDown_Helpers
+{
+
+ComboDropDownList::iterator ComboDropDownList::insert(ComboDropDownList::iterator position, const Element& item)
+{
+ int pos = -1;
+
+ if(position.node_)
+ pos = g_list_position(glist(), position.node_);
+
+ // gtk+ inserts the GList node allocated by g_list_append into the list as is!
+ gtk_list_insert_items((GtkList*)gparent(), g_list_append(0, const_cast<GtkWidget*>(item.Widget::gobj())), pos);
+
+ return --position;
+}
+
+void ComboDropDownList::remove(const_reference child)
+{
+ GList child_list;
+ child_list.data = (gpointer)child.gobj();
+ child_list.next = child_list.prev = 0;
+ gtk_list_remove_items(GTK_LIST(gparent_), &child_list);
+}
+
+ComboDropDownList::iterator ComboDropDownList::erase(iterator position)
+{
+ //Check that it is a valid iterator, to a real item:
+ if ( !position.node_|| (position == end()) )
+ return end();
+
+ //Get an iterator the the next item, to return:
+ iterator next = position;
+ next++;
+
+ //Use GTK+ C function to remove it, by providing the GtkWidget*:
+ GList child_list;
+ child_list.data = (gpointer)position->gobj();
+ child_list.next = child_list.prev = 0;
+ gtk_list_remove_items(GTK_LIST(gparent_), &child_list);
+
+ return next;
+}
+
+} // namespace ComboList_Helpers
+
+ComboDropDown::ComboDropDownList& ComboDropDown::children()
+{
+ children_proxy_ = ComboDropDownList(gobj());
+ return children_proxy_;
+}
+
+const ComboDropDown::ComboDropDownList& ComboDropDown::children() const
+{
+ children_proxy_ = ComboDropDownList(const_cast<GtkList*>(gobj()));
+ return children_proxy_;
+}
+
+} // namespace Gtk
+
+
+namespace Gtk
+{
+
+void Combo::remove_item_string(Gtk::Item& item)
+{
+ gtk_combo_set_item_string(gobj(), item.gobj(), 0);
+}
+
+Glib::ListHandle<Glib::ustring> Combo::get_popdown_strings() const
+{
+ GList* popdown_strings = 0;
+
+ GList *const list_children =
+ gtk_container_get_children(reinterpret_cast<GtkContainer*>(gobj()->list));
+
+ for(const GList* node = list_children; node != 0; node = node->next)
+ {
+ GtkLabel *const label = reinterpret_cast<GtkLabel*>(
+ gtk_bin_get_child(static_cast<GtkBin*>(node->data)));
+
+ popdown_strings = g_list_prepend(
+ popdown_strings, const_cast<char*>(gtk_label_get_text(label)));
+ }
+
+ g_list_free(list_children);
+ popdown_strings = g_list_reverse(popdown_strings);
+
+ return Glib::ListHandle<Glib::ustring>(popdown_strings, Glib::OWNERSHIP_SHALLOW);
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/combo.hg b/libs/gtkmm2/gtk/src/combo.hg
new file mode 100644
index 0000000000..54b3f77aee
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/combo.hg
@@ -0,0 +1,203 @@
+/* $Id: combo.hg,v 1.7 2005/11/29 16:38:10 murrayc Exp $ */
+
+/* combo.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+_CONFIGINCLUDE(gtkmmconfig.h)
+
+#include <glibmm/listhandle.h>
+#include <glibmm/helperlist.h>
+#include <gtkmm/box.h>
+#include <gtkmm/button.h>
+#include <gtkmm/entry.h>
+#include <gtkmm/item.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/box_p.h)
+_PINCLUDE(gtkmm/private/item_p.h)
+
+namespace Gtk
+{
+
+
+/** An item in a ComboDropDownList.
+ *
+ * Items in a ComboDropDownList inherit Item. Two signals are added.
+ *
+ * @deprecated Use the ComboBox widget instead.
+ */
+class ComboDropDownItem : public Gtk::Item
+{
+ _CLASS_GTKOBJECT(ComboDropDownItem,GtkListItem,GTK_LIST_ITEM,Gtk::Item,GtkItem)
+ _IS_DEPRECATED
+ _IGNORE(gtk_list_item_select,gtk_list_item_deselect)
+
+public:
+ _CTOR_DEFAULT
+
+ _WRAP_SIGNAL(void scroll_horizontal(ScrollType scroll_type, float position), "scroll-horizontal")
+ _WRAP_SIGNAL(void scroll_vertical(ScrollType scroll_type, float position), "scroll-vertical")
+};
+
+
+namespace ComboDropDown_Helpers
+{
+
+typedef Gtk::ComboDropDownItem Element;
+
+#m4 include(list.m4)
+ GP_LIST(ComboDropDownList,ComboDropDown,GtkList,ComboDropDownItem,children)
+ GP_LIST_ITER(Glib::List_Cpp_Iterator<GtkListItem, ComboDropDownItem>)
+ GP_LIST_FIND()
+ GP_LIST_END()
+
+} /* namespace ComboDropDown_Helpers */
+
+
+class Combo;
+
+/** The dropdown list of a Combo.
+ *
+ * A combo is a compound widget which crosses a text entry area and a pull
+ * down list. The dropdown list is implemented with the deprecated GtkList
+ * widget on the gtk+ side. ComboDropDown is a thin wrapper around GtkList
+ * containing just the functionality necessary for a Combo's list. To add
+ * and remove items use the STL-style interface that is accessible through
+ * ComboDropDown::children().
+ *
+ * @deprecated Use the ComboBox widget instead.
+ */
+class ComboDropDown : public Gtk::Container
+{
+ _CLASS_GTKOBJECT(ComboDropDown,GtkList,GTK_LIST,Gtk::Container,GtkContainer)
+ _IS_DEPRECATED
+ _IGNORE(gtk_list_remove_items_no_unref,gtk_list_select_item,gtk_list_unselect_item,gtk_list_set_selection_mode,gtk_list_extend_selection,gtk_list_start_selection,gtk_list_end_selection,gtk_list_select_all,gtk_list_unselect_all,gtk_list_toggle_add_mode,gtk_list_toggle_focus_row,gtk_list_toggle_row,gtk_list_undo_selection,gtk_list_end_drag_selection)
+public:
+ typedef ComboDropDown_Helpers::ComboDropDownList ComboDropDownList;
+
+protected:
+ _CTOR_DEFAULT
+ friend class Combo;
+public:
+
+ _WRAP_METHOD(void scroll_horizontal(ScrollType scroll_type, float position), gtk_list_scroll_horizontal)
+ _WRAP_METHOD(void scroll_vertical(ScrollType scroll_type, float position), gtk_list_scroll_vertical)
+
+ ComboDropDownList& children();
+ const ComboDropDownList& children() const;
+
+ _IGNORE(gtk_list_insert_items)
+ _IGNORE(gtk_list_append_items,gtk_list_prepend_items)
+ _IGNORE(gtk_list_child_position)
+ _IGNORE(gtk_list_remove_items)
+
+ _WRAP_SIGNAL(void select_child(Widget& item), "select_child")
+ _WRAP_SIGNAL(void selection_changed(), "selection_changed")
+ _WRAP_SIGNAL(void unselect_child(Widget& item), "unselect_child")
+
+protected:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ mutable ComboDropDownList children_proxy_;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+};
+
+
+class ScrolledWindow;
+class Window;
+
+/** A text entry field with a dropdown list.
+ *
+ * A combo is a compound widget which crosses a text entry area and a pull
+ * down list. It may allow text entry or it may just allow list
+ * values depending on the settings.
+ *
+ * Access members allow altering of the widget components.
+ *
+ * @deprecated Use the ComboBox widget instead.
+ */
+class Combo : public HBox
+{
+ _CLASS_GTKOBJECT(Combo,GtkCombo,GTK_COMBO,Gtk::HBox,GtkHBox)
+ _IS_DEPRECATED
+public:
+
+ _CTOR_DEFAULT
+
+ /** Allow direct text entry
+ * Whether the text in the entry must be or not be in the list.
+ *
+ * @param value Set to true if the value must be in list.
+ * @param empty Set to true if the text area is allowed to be empty.
+ */
+ _WRAP_METHOD(void set_value_in_list(bool value = true, bool empty = false), gtk_combo_set_value_in_list)
+
+ /** Set arrows keys to change value
+ * Up and down will scroll through the list items.
+ * Useful when there is a small list of value that the
+ * list must have.
+ *
+ * @param arrows_on true indicates the arrow keys scroll.
+ */
+ _WRAP_METHOD(void set_use_arrows(bool arrows_on = true), gtk_combo_set_use_arrows)
+
+ /** Set arrows keys to change if value not in list
+ * Up and down will scroll through the list items but only
+ * change the current value if the text does not match a list item..
+ * Useful when there is a small list of value that the
+ * list must have.
+ *
+ * @param arrows_always true indicates the value will change.
+ */
+ _WRAP_METHOD(void set_use_arrows_always(bool arrows_always = true), gtk_combo_set_use_arrows_always)
+
+ /** Sets list case sensitive
+ * Determines if the list items and text comparisons for
+ * set_use_arrows_always() should be case sensitive.
+ */
+ _WRAP_METHOD(void set_case_sensitive(bool val = true), gtk_combo_set_case_sensitive)
+
+ /** Set the current entry Glib::ustring
+ * Call this function on an item if it isn't a label or you
+ * want it to have a different value to be displayed in the entry
+ */
+ _WRAP_METHOD(void set_item_string(Gtk::Item& item, const Glib::ustring& item_value), gtk_combo_set_item_string)
+ void remove_item_string(Gtk::Item& item);
+
+ /// Insert a list of items.
+ _WRAP_METHOD(void set_popdown_strings(const Glib::ListHandle<Glib::ustring>& strings), gtk_combo_set_popdown_strings)
+
+ Glib::ListHandle<Glib::ustring> get_popdown_strings() const;
+
+ _WRAP_METHOD(void disable_activate(), gtk_combo_disable_activate)
+
+ _MEMBER_GET_PTR(entry,entry,Entry*,GtkWidget*)
+ _MEMBER_GET_PTR(list,list,ComboDropDown*,GtkWidget*)
+
+ _WRAP_PROPERTY("enable-arrow-keys", bool)
+ _WRAP_PROPERTY("enable-arrows-always", bool)
+ _WRAP_PROPERTY("case-sensitive", bool)
+ _WRAP_PROPERTY("allow-empty", bool)
+ _WRAP_PROPERTY("value-in-list", bool)
+};
+
+
+} /* namespace Gtk */
+
+
diff --git a/libs/gtkmm2/gtk/src/combobox.ccg b/libs/gtkmm2/gtk/src/combobox.ccg
new file mode 100644
index 0000000000..76d996eddf
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/combobox.ccg
@@ -0,0 +1,87 @@
+// -*- c++ -*-
+/* $Id: combobox.ccg,v 1.9 2006/05/10 20:59:27 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/liststore.h>
+#include <gtkmm/cellrenderertext.h>
+#include <gtkmm/treeview_private.h> //For SignalProxy_RowSeparator.
+#include <gtk/gtkcombobox.h>
+#include <gtk/gtkcelllayout.h>
+
+namespace Gtk
+{
+
+void ComboBox::unset_active()
+{
+ gtk_combo_box_set_active(gobj(), -1 /* see GTK+ docs */);
+}
+
+TreeModel::iterator ComboBox::get_active()
+{
+ Gtk::TreeModel::iterator iter;
+
+ Glib::RefPtr<Gtk::TreeModel> model = get_model();
+ if(model)
+ {
+ gtk_combo_box_get_active_iter(gobj(), iter.gobj());
+
+ //It must be given the model, because the C++ wrapper has extra information.
+ iter.set_model_gobject(model->gobj());
+ }
+
+ return iter;
+}
+
+TreeModel::const_iterator ComboBox::get_active() const
+{
+ Gtk::TreeModel::iterator iter;
+
+ Glib::RefPtr<const Gtk::TreeModel> model = get_model();
+ if(model)
+ {
+ gtk_combo_box_get_active_iter(const_cast<GtkComboBox*>(gobj()), iter.gobj());
+
+ //It must be given the model, because the C++ wrapper has extra information.
+ iter.set_model_gobject(const_cast<GtkTreeModel*>(model->gobj()));
+ }
+
+ return iter;
+}
+
+
+void ComboBox::set_row_separator_func(const SlotRowSeparator& slot)
+{
+ //Create a copy of the slot. A pointer to this will be passed through the callback's data parameter.
+ //It will be deleted when SignalProxy_RowSeparator_gtk_callback_destroy() is called.
+ SlotRowSeparator* slot_copy = new SlotRowSeparator(slot);
+
+ gtk_combo_box_set_row_separator_func(gobj(),
+ &TreeView_Private::SignalProxy_RowSeparator_gtk_callback, slot_copy,
+ &TreeView_Private::SignalProxy_RowSeparator_gtk_callback_destroy);
+}
+
+void ComboBox::unset_row_separator_func()
+{
+ gtk_combo_box_set_row_separator_func(gobj(), 0, 0, 0 /* See C docs. */);
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/combobox.hg b/libs/gtkmm2/gtk/src/combobox.hg
new file mode 100644
index 0000000000..fea1b03263
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/combobox.hg
@@ -0,0 +1,158 @@
+/* $Id: combobox.hg,v 1.17 2006/09/19 20:08:42 murrayc Exp $ */
+
+/* combobox.h
+ *
+ * Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/bin.h>
+#include <gtkmm/celllayout.h>
+#include <gtkmm/treemodel.h>
+#include <gtkmm/cellrenderer.h>
+#include <gtkmm/treeview.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/bin_p.h)
+
+
+namespace Gtk
+{
+
+/** A widget used to choose from a list of items.
+ *
+ * A ComboBox is a widget that allows the user to choose from a list of valid choices. The ComboBox displays the
+ * selected choice. When activated, the ComboBox displays a popup which allows the user to make a new choice. The
+ * style in which the selected value is displayed, and the style of the popup is determined by the current theme.
+ * It may be similar to a OptionMenu, or similar to a Windows-style combo box.
+ *
+ * The ComboBox uses the model-view pattern; the list of valid choices is specified in the form of a tree model,
+ * and the display of the choices can be adapted to the data in the model by using cell renderers, as you would in
+ * a tree view. This is possible since ComboBox implements the CellLayout interface. The tree model holding the
+ * valid choices is not restricted to a flat list, it can be a real tree, and the popup will reflect the tree
+ * structure.
+ *
+ * See also ComboBoxText, which is specialised for a single text column.
+ *
+ * @ingroup Widgets
+ */
+class ComboBox
+: public Bin,
+ public CellLayout
+//TODO: Since GTK+ 2.6, this should now inherit also from CellEditable, but we can't add this base without breaking ABI.
+{
+ _CLASS_GTKOBJECT(ComboBox, GtkComboBox, GTK_COMBO_BOX, Gtk::Bin, GtkBin)
+ _IMPLEMENTS_INTERFACE(CellLayout)
+public:
+ _CTOR_DEFAULT()
+
+ /** Creates a new ComboBox with the model initialized to @a model.
+ */
+ _WRAP_CTOR(ComboBox(const Glib::RefPtr<TreeModel>& model), gtk_combo_box_new_with_model)
+ _IGNORE(gtk_combo_box_new, gtk_combo_box_new_text) //See ComboBoxText for an equivalent of gtk_combo_box_new_text().
+
+
+ _WRAP_METHOD(void set_wrap_width(int width), gtk_combo_box_set_wrap_width)
+ _WRAP_METHOD(int get_wrap_width() const, gtk_combo_box_get_wrap_width)
+
+ _WRAP_METHOD(void set_row_span_column(int row_span), gtk_combo_box_set_row_span_column)
+ _WRAP_METHOD(int get_row_span_column() const, gtk_combo_box_get_row_span_column)
+
+ _WRAP_METHOD(void set_column_span_column(int column_span), gtk_combo_box_set_column_span_column)
+ _WRAP_METHOD(int get_column_span_column() const, gtk_combo_box_get_column_span_column)
+
+ _WRAP_METHOD(bool get_add_tearoffs() const, gtk_combo_box_get_add_tearoffs)
+ _WRAP_METHOD(void set_add_tearoffs(bool add_tearoffs = true), gtk_combo_box_set_add_tearoffs)
+
+ _WRAP_METHOD(Glib::ustring get_title() const, gtk_combo_box_get_title)
+ _WRAP_METHOD(void set_title(const Glib::ustring& title), gtk_combo_box_set_title)
+
+ _WRAP_METHOD(bool get_focus_on_click() const, gtk_combo_box_get_focus_on_click)
+ _WRAP_METHOD(void set_focus_on_click(bool focus_on_click = true), gtk_combo_box_set_focus_on_click)
+
+/* get/set active item */
+ _WRAP_METHOD(int get_active_row_number() const, gtk_combo_box_get_active)
+
+ /** Gets an iterator that points to the current active item, if it exists.
+ * @result The iterator.
+ */
+ TreeModel::iterator get_active();
+
+ /** Gets an iterator that points to the current active item, if it exists.
+ * @result The iterator.
+ */
+ TreeModel::const_iterator get_active() const;
+ _IGNORE(gtk_combo_box_get_active_iter)
+
+ _WRAP_METHOD(void set_active(int index), gtk_combo_box_set_active)
+ _WRAP_METHOD(void set_active(const TreeModel::iterator& iter), gtk_combo_box_set_active_iter)
+
+ /** Causes no item to be active. See also set_active().
+ */
+ void unset_active();
+
+ _WRAP_METHOD(Glib::RefPtr<TreeModel> get_model(), gtk_combo_box_get_model, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const TreeModel> get_model() const, gtk_combo_box_get_model, refreturn, constversion)
+ _WRAP_METHOD(void set_model(const Glib::RefPtr<TreeModel>& model), gtk_combo_box_set_model)
+
+ typedef TreeView::SlotRowSeparator SlotRowSeparator;
+
+ /** Sets the row separator function, which is used to determine whether a row should be drawn as a separator.
+ * See also unset_row_separator_func().
+ *
+ * @param slot The callback.
+ */
+ void set_row_separator_func(const SlotRowSeparator& slot);
+
+ /** Causes no separators to be drawn.
+ */
+ void unset_row_separator_func();
+ _IGNORE(gtk_combo_box_set_row_separator_func, gtk_combo_box_get_row_separator_func)
+
+ _WRAP_METHOD(void popup(), gtk_combo_box_popup)
+ _WRAP_METHOD(void popdown(), gtk_combo_box_popdown)
+
+ _WRAP_METHOD(Glib::RefPtr<Atk::Object> get_popup_accessible(), gtk_combo_box_get_popup_accessible, ifdef GTKMM_ATKMM_ENABLED)
+ _WRAP_METHOD(Glib::RefPtr<const Atk::Object> get_popup_accessible() const, gtk_combo_box_get_popup_accessible, constversion, ifdef GTKMM_ATKMM_ENABLED)
+
+ _IGNORE(gtk_combo_box_append_text, gtk_combo_box_insert_text, gtk_combo_box_prepend_text, gtk_combo_box_remove_text, gtk_combo_box_get_active_text) //These are in ComboBoxText.
+
+ _WRAP_PROPERTY("model", Glib::RefPtr<TreeModel>)
+ _WRAP_PROPERTY("wrap_width", int)
+ _WRAP_PROPERTY("row_span_column", int)
+ _WRAP_PROPERTY("column_span_column", int)
+ _WRAP_PROPERTY("active", int)
+ _WRAP_PROPERTY("add-tearoffs", bool)
+ _WRAP_PROPERTY("has-frame", bool)
+ _WRAP_PROPERTY("focus-on-click", bool)
+ _WRAP_PROPERTY("tearoff-title", Glib::ustring)
+
+ /** The changed signal gets emitted when the active
+ * item is changed. This can be due to the user selecting
+ * a different item from the list, or due to a
+ * call to set_active_iter().
+ */
+ _WRAP_SIGNAL(void changed(), "changed")
+
+ //Key-binding signals:
+ _IGNORE_SIGNAL("move-active")
+ _IGNORE_SIGNAL("popup")
+ _IGNORE_SIGNAL("popdown")
+};
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/comboboxentry.ccg b/libs/gtkmm2/gtk/src/comboboxentry.ccg
new file mode 100644
index 0000000000..4f2d696a38
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/comboboxentry.ccg
@@ -0,0 +1,42 @@
+// -*- c++ -*-
+/* $Id: comboboxentry.ccg,v 1.2 2004/10/10 20:41:20 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkcomboboxentry.h>
+
+namespace Gtk
+{
+
+
+Entry* ComboBoxEntry::get_entry()
+{
+ return Glib::wrap((GtkEntry*)(gtk_bin_get_child((GtkBin*)gobj())));
+}
+
+const Entry* ComboBoxEntry::get_entry() const
+{
+ GtkBin* base = (GtkBin*)const_cast<GtkComboBoxEntry*>(gobj());
+ return Glib::wrap((GtkEntry*)(gtk_bin_get_child(base)));
+}
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/comboboxentry.hg b/libs/gtkmm2/gtk/src/comboboxentry.hg
new file mode 100644
index 0000000000..f04792d94f
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/comboboxentry.hg
@@ -0,0 +1,87 @@
+/* $Id: comboboxentry.hg,v 1.10 2005/05/26 21:07:42 murrayc Exp $ */
+
+/* combobox.h
+ *
+ * Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/combobox.h>
+#include <gtkmm/entry.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/combobox_p.h)
+
+
+namespace Gtk
+{
+
+/** A text entry field with a dropdown list
+ * A ComboBoxEntry is a widget that allows the user to choose from a list of valid choices or enter a different
+ * value. It is very similar to a ComboBox, but it displays the selected value in an entry to allow modifying it.
+ *
+ * In contrast to a ComboBox, the underlying model of a ComboBoxEntry must always have a text column (see
+ * set_text_column()), and the entry will show the content of the text column in the selected row.
+ *
+ * See also ComboBoxEntryText, , which is specialised for a single text column.
+ *
+ * To add and remove strings from the list, just modify the model using its data manipulation API. You can get the * Entry by using get_child().
+ *
+ * @ingroup Widgets
+ */
+class ComboBoxEntry : public ComboBox
+{
+ _CLASS_GTKOBJECT(ComboBoxEntry, GtkComboBoxEntry, GTK_COMBO_BOX_ENTRY, Gtk::ComboBox, GtkComboBox)
+public:
+ _CTOR_DEFAULT()
+ _IGNORE(gtk_combo_box_entry_new, gtk_combo_box_entyry_new_text) //See ComboBoxEntryText for an equivalent of gtk_combo_box_entry_new_text().
+
+ /** Creates a new ComboBoxEntry which has an Entry as child and a list of strings as popup. You can get the
+ * Entry from a ComboBoxEntry using get_entry(). To add and remove strings from the list, just modify @a model
+ * using its data manipulation API.
+ *
+ * @param model A TreeModel.
+ * @param text_column A column in @a model to get the strings from.
+ */
+ _WRAP_CTOR(ComboBoxEntry(const Glib::RefPtr<TreeModel>& model, const TreeModelColumnBase& text_column), gtk_combo_box_entry_new_with_model)
+
+ /** Creates a new ComboBoxEntry which has an Entry as child and a list of strings as popup. You can get the
+ * Entry from a ComboBoxEntry using get_entry(). To add and remove strings from the list, just modify @a model
+ * using its data manipulation API.
+ *
+ * @param model A TreeModel.
+ * @param text_column A column in @a model to get the strings from.
+ */
+ _WRAP_CTOR(ComboBoxEntry(const Glib::RefPtr<TreeModel>& model, int text_column = 0), gtk_combo_box_entry_new_with_model)
+
+ _WRAP_METHOD(void set_text_column(const TreeModelColumnBase& text_column) const, gtk_combo_box_entry_set_text_column)
+ _WRAP_METHOD(void set_text_column(int text_column) const, gtk_combo_box_entry_set_text_column)
+ _WRAP_METHOD(int get_text_column() const, gtk_combo_box_entry_get_text_column)
+
+ //The child is always an entry:
+
+ /** @see Bin::get_child().
+ */
+ Entry* get_entry();
+
+ /** @see Bin::get_child().
+ */
+ const Entry* get_entry() const;
+};
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/container.ccg b/libs/gtkmm2/gtk/src/container.ccg
new file mode 100644
index 0000000000..407de6fafb
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/container.ccg
@@ -0,0 +1,256 @@
+// -*- c++ -*-
+/* $Id: container.ccg,v 1.12 2006/07/19 16:58:50 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/adjustment.h>
+#include <gtk/gtkcontainer.h>
+
+
+namespace
+{
+
+static void container_foreach_callback(GtkWidget* widget_gobj, void* data)
+{
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ Gtk::Container::ForeachSlot& slot = *static_cast<Gtk::Container::ForeachSlot*>(data);
+ Gtk::Widget *const widget = Glib::wrap(widget_gobj);
+
+ g_return_if_fail(widget != 0);
+
+ slot(*widget);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+
+//Copy of generated callback:
+static void Container_signal_remove_callback_normal(GtkContainer* self, GtkWidget* p0,void* data)
+{
+ using namespace Gtk;
+ typedef sigc::slot< void,Widget* > SlotType;
+
+ // Do not try to call a signal on a disassociated wrapper.
+ if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
+ (*static_cast<SlotType*>(slot))(Glib::wrap(p0)
+);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+}
+
+static void Container_signal_remove_callback(GtkContainer* self, GtkWidget* p0, void* data)
+{
+ //GTKMM_LIFECYCLE
+
+#ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Container_signal_remove_callback()");
+#endif
+
+ //Don't call wrap() on a GTK+ instance whose gtkmm instance has been deleted - just call the original C callback.
+ const bool gtkmm_child_already_deleted = Glib::_gobject_cppinstance_already_deleted((GObject*)p0);
+
+ if(!gtkmm_child_already_deleted)
+ {
+ //Call the regular, generated callback:
+ Container_signal_remove_callback_normal(self, p0, data);
+ }
+ else
+ {
+ //Do nothing.
+ }
+}
+
+} // anonymous namespace
+
+
+namespace Gtk
+{
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+//Copy of generated callback:
+void Container_Class::remove_callback_normal(GtkContainer* self, GtkWidget* p0)
+{
+ CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase::_get_current_wrapper((GObject*)self));
+
+ // Non-gtkmmproc-generated custom classes implicitly call the default
+ // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
+ // generated classes can use this optimisation, which avoids the unnecessary
+ // parameter conversions if there is no possibility of the virtual function
+ // being overridden:
+ if(obj && obj->is_derived_())
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_remove(Glib::wrap(p0)
+);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+ else
+ {
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->remove)
+ (*base->remove)(self, p0);
+ }
+}
+
+//Custom hand-coded callback:
+void Container_Class::remove_callback(GtkContainer* self, GtkWidget* p0)
+{
+ //GTKMM_LIFECYCLE
+
+#ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Container_Class::remove_callback_custom() C self=%p: C child=%p\n", (void*)self, (void*)p0);
+ g_warning("gtypename self: %s\n, gtypename child: %s", G_OBJECT_TYPE_NAME(G_OBJECT(self)), G_OBJECT_TYPE_NAME(G_OBJECT(p0)));
+#endif
+
+ //Don't call wrap() on a GTK+ instance whose gtkmm instance has been deleted - just call the original C callback.
+ const bool gtkmm_child_already_deleted = Glib::_gobject_cppinstance_already_deleted((GObject*)p0);
+
+ if(!gtkmm_child_already_deleted)
+ {
+ //Call the regular, generated callback:
+ Container_Class::remove_callback_normal(self, p0);
+ }
+ else
+ {
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ //Call the original underlying C function:
+ if(base && base->remove)
+ (*base->remove)(self, p0);
+ }
+}
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+void Container::foreach(const Container::ForeachSlot& slot)
+{
+ ForeachSlot slot_copy (slot);
+ gtk_container_foreach(gobj(), &container_foreach_callback, &slot_copy);
+}
+
+void Container::add(Widget& widget)
+{
+ gtk_container_add(gobj(), widget.gobj());
+}
+
+bool Container::has_focus_chain() const
+{
+ return gtk_container_get_focus_chain(const_cast<GtkContainer*>(gobj()), 0);
+}
+
+Glib::ListHandle<Widget*> Container::get_focus_chain()
+{
+ GList* list = 0;
+ gtk_container_get_focus_chain(gobj(), &list);
+
+ return Glib::ListHandle<Widget*>(list, Glib::OWNERSHIP_SHALLOW);
+}
+
+Glib::ListHandle<const Widget*> Container::get_focus_chain() const
+{
+ GList* list = 0;
+ gtk_container_get_focus_chain(const_cast<GtkContainer*>(gobj()), &list);
+
+ return Glib::ListHandle<const Widget*>(list, Glib::OWNERSHIP_SHALLOW);
+}
+
+
+void Container::show_all_children(bool recursive)
+{
+ // Plain C version if this turns out to be performance-critical:
+ //GtkCallback callback = (GtkCallback) ((recursive) ? &gtk_widget_show_all : &gtk_widget_show);
+ //gtk_container_foreach(gobj(), callback, 0);
+
+ // This could also be done with get_children() and an explicit loop,
+ // if any problems should arise. In gtkmm-1.2, foreach() is known to
+ // cause segfaults eventually, but it seems to work now.
+
+ foreach(sigc::mem_fun((recursive) ? &Widget::show_all : &Widget::show));
+}
+
+void Container::remove(Widget& widget)
+{
+ //If this is a managed widget,
+ //then do an extra ref so that it will
+ //not be destroyed when adding to another container
+ //This should leave it in much the same state as when it was instantiated,
+ //before being added to the first container.
+ if(widget.is_managed_())
+ widget.reference();
+
+ gtk_container_remove(gobj(), widget.gobj());
+}
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+// static
+void Container_Class::destroy_callback(GtkObject* self)
+{
+#ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Container_Class::destroy_callback() gobject_=%10X\n", self);
+ if(self)
+ g_warning("gtypename: %s\n", G_OBJECT_TYPE_NAME(G_OBJECT(self)));
+#endif
+
+ //Call the normal C destroy implementation, such as gtk_button_destroy:
+ //This will chain to gtk_container_destroy(), which will gtk_widget_destroy() any remaining child widgets.
+ GtkObjectClass *const base = static_cast<GtkObjectClass*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)));
+
+ if(base->destroy)
+ (*base->destroy)(self);
+}
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/container.hg b/libs/gtkmm2/gtk/src/container.hg
new file mode 100644
index 0000000000..3c245c4a2a
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/container.hg
@@ -0,0 +1,204 @@
+/* $Id: container.hg,v 1.11 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/listhandle.h>
+#include <gtkmm/widget.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/widget_p.h)
+
+/** @defgroup Containers Container Widgets
+ * These widgets can be used to group other widgets together.
+ */
+
+/* we'll include gtkfeatures because we dont want to include the whole
+ gtk/gtk.h - this file is used by almost ALL our widgets, so dependencies
+ in minimum - adding things here will increase compile times ALOT */
+
+
+namespace Gtk
+{
+
+class Adjustment;
+class Label;
+
+/** Abstract container class
+ *
+ * This is the abstract container from which all gtk+ widgets which hold
+ * other items derive from. It mainly houses virtual functions
+ * used for inserting and removing children. Containers in gtk+
+ * may hold one item or many items depending on the implementation.
+ *
+ * This interface is used for all single item holding containers.
+ * Multi-item containers provide their own unique interface as their
+ * items are generally more complex. The methods of the derived
+ * classes should be prefered over these.
+ *
+ * @ingroup Widgets
+ */
+class Container : public Widget
+{
+ _CLASS_GTKOBJECT(Container,GtkContainer,GTK_CONTAINER,Gtk::Widget,GtkWidget)
+ _IGNORE(gtk_container_child_set_valist, gtk_container_get_focus_chain,
+ gtk_container_foreach_full, gtk_container_children, gtk_container_border_width)
+public:
+
+/* Application-level methods */
+
+ _WRAP_METHOD(void set_border_width(guint border_width),
+ gtk_container_set_border_width)
+
+ _WRAP_METHOD(guint get_border_width() const,
+ gtk_container_get_border_width)
+
+ //This is virtual so that we can override it in Gtk::ScrolledWindow:
+ virtual void add(Widget& widget);
+ _IGNORE(gtk_container_add)
+
+ _WRAP_METHOD_DOCS_ONLY(gtk_container_remove)
+ void remove(Widget& widget);
+ _IGNORE(gtk_container_remove)
+
+ _WRAP_METHOD(void set_resize_mode(ResizeMode resize_mode),
+ gtk_container_set_resize_mode)
+
+ _WRAP_METHOD(ResizeMode get_resize_mode() const,
+ gtk_container_get_resize_mode)
+
+ /// Request that contained widgets check their size
+ _WRAP_METHOD(void check_resize(), gtk_container_check_resize)
+
+ /** For instance,
+ * void on_foreach(Gtk::Widget* widget);
+ */
+ typedef sigc::slot<void, Widget&> ForeachSlot;
+
+ /** Operate on contained items
+ * This is largely an internal used mainly for things like
+ * creating duplicates of internal lists and other such
+ * operations. The result is lossy as it only gets the
+ * the main child and not its external pieces.
+ *
+ * For example notebook pages contain a page, a label, and
+ * a menu item. But this only operates on the pages.
+ */
+ void foreach(const ForeachSlot& slot);
+
+ /// (internal) Operate on contained items (see foreach())
+ //_WRAP_METHOD(void foreach_(GtkCallback callback,gpointer data),gtk_container_foreach)
+
+ /// (internal) Operate on contained items (see foreach())
+ //_WRAP_METHOD(void foreach_full_(GtkCallback callback,GtkCallbackMarshal marshal, gpointer data,GtkDestroyNotify notify),gtk_container_foreach_full)
+
+ _WRAP_METHOD(Glib::ListHandle<Widget*> get_children(), gtk_container_get_children)
+ _WRAP_METHOD(Glib::ListHandle<const Widget*> get_children() const, gtk_container_get_children)
+
+ _WRAP_METHOD(void propagate_expose(Widget& child, GdkEventExpose* event),
+ gtk_container_propagate_expose)
+
+ _WRAP_METHOD(void set_focus_chain(const Glib::ListHandle<Widget*>& focusable_widgets),
+ gtk_container_set_focus_chain)
+
+ // gtk_container_get_focus_chain() has been split up into two
+ // functions in order to make implicit container conversion possible.
+ bool has_focus_chain() const;
+ Glib::ListHandle<Widget*> get_focus_chain();
+ Glib::ListHandle<const Widget*> get_focus_chain() const;
+
+ _WRAP_METHOD(void unset_focus_chain(), gtk_container_unset_focus_chain)
+
+
+
+
+/* Widget-level methods */
+
+ _WRAP_METHOD(void set_reallocate_redraws(bool needs_redraws = true),
+ gtk_container_set_reallocate_redraws)
+
+ /// Sets the focus on a child
+ _WRAP_METHOD(void set_focus_child(Widget& widget),gtk_container_set_focus_child)
+
+ _WRAP_METHOD(void set_focus_vadjustment(Adjustment& adjustment),
+ gtk_container_set_focus_vadjustment)
+
+ _WRAP_METHOD(Adjustment* get_focus_vadjustment(),
+ gtk_container_get_focus_vadjustment)
+ _WRAP_METHOD(const Adjustment* get_focus_vadjustment() const,
+ gtk_container_get_focus_vadjustment, constversion)
+
+ _WRAP_METHOD(void set_focus_hadjustment(Adjustment& adjustment),
+ gtk_container_set_focus_hadjustment)
+
+ _WRAP_METHOD(Adjustment* get_focus_hadjustment(),
+ gtk_container_get_focus_hadjustment)
+ _WRAP_METHOD(const Adjustment* get_focus_hadjustment() const,
+ gtk_container_get_focus_hadjustment, constversion)
+
+
+ _WRAP_METHOD(void resize_children(), gtk_container_resize_children)
+
+ _WRAP_METHOD(GType child_type() const, gtk_container_child_type)
+
+ // Ignore functions such as gtk_container_class_install_child_property(), which I think are for themes, like the GtkWidget style properties.
+ _IGNORE(gtk_container_class_install_child_property, gtk_container_class_find_child_property, gtk_container_class_list_child_properties,
+ gtk_container_add_with_properties, gtk_container_child_set, gtk_container_child_get, gtk_container_child_get_valist, gtk_container_child_get_property)
+
+
+ _WRAP_SIGNAL(void add(Widget* widget), "add")
+
+ //We use the optional custom_c_callback parameter with _WRAP_SIGNAL() here,
+ //so that we can write special code to check for deleted child widget parameters:
+ _WRAP_SIGNAL(void remove(Widget* widget), "remove", custom_c_callback)
+
+ _WRAP_SIGNAL(void check_resize(), "check_resize")
+ _WRAP_SIGNAL(void set_focus_child(Widget* widget), "set_focus_child")
+
+ void show_all_children(bool recursive = true);
+
+protected:
+ _CTOR_DEFAULT()
+
+ _WRAP_VFUNC(GtkType child_type() const, child_type)
+ _WRAP_VFUNC(void forall(gboolean include_internals, GtkCallback callback, gpointer callback_data), forall)
+ //TODO: What is this?
+ _WRAP_VFUNC(char* composite_name(GtkWidget* child), composite_name)
+ _WRAP_VFUNC(void set_child_property(GtkWidget* child, guint property_id, const GValue* value, GParamSpec* pspec), set_child_property)
+ _WRAP_VFUNC(void get_child_property(GtkWidget* child, guint property_id, GValue* value, GParamSpec* pspec) const, get_child_property)
+
+ _WRAP_PROPERTY("border_width", guint)
+ _WRAP_PROPERTY("resize_mode", ResizeMode)
+ _WRAP_PROPERTY("child", Widget*)
+
+#m4begin
+dnl// Hook in special code to catch explicit uses of gtk_object_destroy() by
+dnl// GTK+ code, e.g. when receiving the GDK_DELETE event. For details, look
+dnl// at Gtk::Widget_Class::dispose_vfunc_callback() in widget.ccg.
+dnl
+ _PUSH(SECTION_PCC_CLASS_INIT_DEFAULT_SIGNAL_HANDLERS)
+ reinterpret_cast<GtkObjectClass*>(klass)->destroy = &destroy_callback;
+ _SECTION(SECTION_PH_DEFAULT_SIGNAL_HANDLERS)
+ static void destroy_callback(GtkObject* self);
+ static void remove_callback_normal(GtkContainer* self, GtkWidget* p0);
+ _POP()
+#m4end
+
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/curve.ccg b/libs/gtkmm2/gtk/src/curve.ccg
new file mode 100644
index 0000000000..cd67a77565
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/curve.ccg
@@ -0,0 +1,43 @@
+// -*- c++ -*-
+/* $Id: curve.ccg,v 1.1 2003/01/21 13:38:47 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkcurve.h>
+#include <gtk/gtkgamma.h>
+
+namespace Gtk
+{
+
+Glib::ArrayHandle<float> Curve::get_vector(int veclen) const
+{
+ float *const pdata = static_cast<float*>(g_malloc(veclen * sizeof(float)));
+ gtk_curve_get_vector(const_cast<GtkCurve*>(gobj()), veclen, pdata);
+
+ return Glib::ArrayHandle<float>(pdata, veclen, Glib::OWNERSHIP_SHALLOW);
+}
+
+void Curve::set_vector(const Glib::ArrayHandle<float>& array)
+{
+ gtk_curve_set_vector(gobj(), array.size(), const_cast<float*>(array.data()));
+}
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/curve.hg b/libs/gtkmm2/gtk/src/curve.hg
new file mode 100644
index 0000000000..e04073ef29
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/curve.hg
@@ -0,0 +1,80 @@
+/* $Id: curve.hg,v 1.1 2003/01/21 13:38:47 murrayc Exp $ */
+
+/* curve.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/arrayhandle.h>
+#include <gtkmm/box.h>
+#include <gtkmm/drawingarea.h>
+_DEFS(gtkmm,gtk)
+_DEFS(gtkmm,gtk)
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/drawingarea_p.h)
+_PINCLUDE(gtkmm/private/box_p.h)
+
+namespace Gtk
+{
+
+/** Allows direct editing of a curve.
+ *
+ * @ingroup Widgets
+ */
+class Curve : public DrawingArea
+{
+ _CLASS_GTKOBJECT(Curve,GtkCurve,GTK_CURVE,Gtk::DrawingArea,GtkDrawingArea)
+ _IGNORE(gtk_curve_set_vector)
+public:
+
+ _CTOR_DEFAULT
+
+
+ _WRAP_METHOD(void reset(), gtk_curve_reset)
+ _WRAP_METHOD(void set_gamma(float gamma), gtk_curve_set_gamma)
+ _WRAP_METHOD(void set_range(float min_x, float max_x, float min_y, float max_y), gtk_curve_set_range)
+ _WRAP_METHOD(void get_vector(int veclen, float* data) const, gtk_curve_get_vector)
+
+ Glib::ArrayHandle<float> get_vector(int veclen) const;
+ void set_vector(const Glib::ArrayHandle<float>& array);
+
+ _WRAP_METHOD(void set_curve_type(CurveType type), gtk_curve_set_curve_type)
+
+ _WRAP_SIGNAL(void curve_type_changed(), "curve_type_changed")
+
+ _WRAP_PROPERTY("curve-type", CurveType)
+ _WRAP_PROPERTY("min-x", float)
+ _WRAP_PROPERTY("max-x", float)
+ _WRAP_PROPERTY("min-y", float)
+ _WRAP_PROPERTY("max-y", float)
+};
+
+/** A subclass of Gtk::Curve for editing gamma curves.
+ *
+ * @ingroup Widgets
+ */
+class GammaCurve : public VBox
+{
+ _CLASS_GTKOBJECT(GammaCurve,GtkGammaCurve,GTK_GAMMA_CURVE,Gtk::VBox,GtkVBox)
+public:
+ _CTOR_DEFAULT
+
+
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/dialog.ccg b/libs/gtkmm2/gtk/src/dialog.ccg
new file mode 100644
index 0000000000..70109cbcee
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/dialog.ccg
@@ -0,0 +1,53 @@
+// -*- c++ -*-
+/* $Id: dialog.ccg,v 1.3 2004/11/21 20:54:20 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkdialog.h>
+
+namespace Gtk
+{
+
+Dialog::Dialog(const Glib::ustring& title, Gtk::Window& parent, bool modal, bool use_separator)
+:
+ _CONSTRUCT("title", title.c_str())
+{
+ construct_(modal, use_separator);
+ set_transient_for(parent);
+}
+
+Dialog::Dialog(const Glib::ustring& title, bool modal, bool use_separator)
+:
+ _CONSTRUCT("title", title.c_str())
+{
+ construct_(modal, use_separator);
+}
+
+void Dialog::construct_(bool modal, bool use_separator)
+{
+ set_modal(modal);
+ set_has_separator(use_separator);
+}
+
+void Dialog::set_alternative_button_order_from_array(const Glib::ArrayHandle<int>& new_order)
+{
+ gtk_dialog_set_alternative_button_order_from_array(gobj(), new_order.size(), const_cast<int*>(new_order.data()));
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/dialog.hg b/libs/gtkmm2/gtk/src/dialog.hg
new file mode 100644
index 0000000000..4cfc51a6ca
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/dialog.hg
@@ -0,0 +1,126 @@
+/* $Id: dialog.hg,v 1.8 2006/03/22 16:53:22 murrayc Exp $ */
+
+/* dialog.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/window.h>
+#include <gtkmm/box.h>
+#include <gtkmm/button.h>
+#include <gtkmm/buttonbox.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/window_p.h)
+
+namespace Gtk
+{
+
+/** @defgroup Dialogs Dialogs
+ */
+
+_CC_INCLUDE(gtk/gtktypebuiltins.h)
+_WRAP_ENUM(ResponseType, GtkResponseType)
+
+/** Create popup windows.
+ *
+ * Dialog boxes are a convenient way to prompt the user for a small amount
+ * of input, eg. to display a message, ask a question, or anything else that
+ * does not require extensive effort on the user's part.
+ *
+ * gtkmm treats a dialog as a window split vertically. The top section is a
+ * Gtk::VBox, and is where widgets such as a Gtk::Label or a Gtk::Entry should be
+ * packed. The bottom area is known as the action_area. This is generally
+ * used for packing buttons into the dialog which may perform functions such
+ * as cancel, ok, or apply. The two areas are separated by a Gtk::HSeparator.
+ *
+ * The dialog can be 'modal' (that is, one which freezes the rest of the
+ * application from user input) - this can be specified in the Gtk::Dialog
+ * constructor.
+ *
+ * When adding buttons using add_button(), clicking the button will emit
+ * signal_response() with a "response id" you specified. You are encouraged
+ * to use the Gtk::ResponseType enum. If a dialog receives a delete event,
+ * the "response" signal will be emitted with a response id of
+ * Gtk::RESPONSE_NONE.
+ *
+ * If you want to block waiting for a dialog to return before returning control
+ * flow to your code, you can call run(). This function enters a
+ * recursive main loop and waits for the user to respond to the dialog, returning
+ * the response ID corresponding to the button the user clicked.
+ *
+ * @ingroup Dialogs
+ */
+class Dialog : public Window
+{
+ _CLASS_GTKOBJECT(Dialog,GtkDialog,GTK_DIALOG,Gtk::Window,GtkWindow)
+ _UNMANAGEABLE
+ _IGNORE(gtk_dialog_add_buttons)
+public:
+ _CTOR_DEFAULT()
+ explicit Dialog(const Glib::ustring& title, bool modal = false, bool use_separator = false);
+ Dialog(const Glib::ustring& title, Gtk::Window& parent, bool modal = false, bool use_separator = false);
+
+ _WRAP_METHOD(void add_action_widget(Widget& child, int response_id), gtk_dialog_add_action_widget)
+ _WRAP_METHOD(Button* add_button(const Glib::ustring& button_text, int response_id), gtk_dialog_add_button)
+ _WRAP_METHOD(Button* add_button(const Gtk::StockID& stock_id, int response_id), gtk_dialog_add_button)
+ _WRAP_METHOD(void set_response_sensitive(int response_id, bool setting = true), gtk_dialog_set_response_sensitive)
+ _WRAP_METHOD(void set_default_response(int response_id), gtk_dialog_set_default_response)
+ _WRAP_METHOD(int get_response_for_widget(const Gtk::Widget& widget) const, gtk_dialog_get_response_for_widget)
+ _WRAP_METHOD(void set_has_separator(bool setting = true), gtk_dialog_set_has_separator)
+ _WRAP_METHOD(bool get_has_separator() const, gtk_dialog_get_has_separator)
+
+ _WRAP_METHOD(static bool alternative_button_order(const Glib::RefPtr<const Gdk::Screen>& screen), gtk_alternative_dialog_button_order)
+
+ /** Sets an alternative button order. If the gtk-alternative-button-order
+ * setting is set to true, the dialog buttons are reordered according to
+ * the order of the response ids in @a new_order.
+ *
+ * By default, GTK+ dialogs use the button order advocated by the Gnome
+ * <ulink url="http://developer.gnome.org/projects/gup/hig/2.0/">Human
+ * Interface Guidelines</ulink> with the affirmative button at the far
+ * right, and the cancel button left of it. But the builtin GTK+ dialogs
+ * and #GtkMessageDialog<!-- -->s do provide an alternative button order,
+ * which is more suitable on some platforms, e.g. Windows.
+ *
+ * Use this function after adding all the buttons to your dialog
+ *
+ * @param new_order an array of response ids of the dialog's buttons.
+ *
+ * @newinp26
+ */
+ void set_alternative_button_order_from_array(const Glib::ArrayHandle<int>& new_order);
+ _IGNORE(gtk_dialog_set_alternative_button_order_from_array, gtk_dialog_set_alternative_button_order)
+
+ _WRAP_METHOD(void response(int response_id), gtk_dialog_response)
+ _WRAP_METHOD(int run(), gtk_dialog_run)
+
+ _MEMBER_GET_PTR(vbox, vbox, VBox*, GtkWidget*)
+ _MEMBER_GET_PTR(action_area, action_area, HButtonBox*, GtkWidget*)
+
+ _WRAP_PROPERTY("has_separator", bool)
+
+ _WRAP_SIGNAL(void response(int response_id), "response")
+
+ _IGNORE_SIGNAL("close")
+
+protected:
+ void construct_(bool modal, bool use_separator);
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/drawingarea.ccg b/libs/gtkmm2/gtk/src/drawingarea.ccg
new file mode 100644
index 0000000000..a73133a9d5
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/drawingarea.ccg
@@ -0,0 +1,24 @@
+// -*- c++ -*-
+/* $Id: drawingarea.ccg,v 1.1 2003/01/21 13:38:48 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkdrawingarea.h>
+
diff --git a/libs/gtkmm2/gtk/src/drawingarea.hg b/libs/gtkmm2/gtk/src/drawingarea.hg
new file mode 100644
index 0000000000..1a54d172c2
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/drawingarea.hg
@@ -0,0 +1,44 @@
+/* $Id: drawingarea.hg,v 1.1 2003/01/21 13:38:48 murrayc Exp $ */
+
+/* drawingarea.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/widget.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/widget_p.h)
+
+
+namespace Gtk
+{
+
+/** A widget for custom user interface elements.
+ *
+ * @ingroup Widgets
+ */
+class DrawingArea : public Widget
+{
+ _CLASS_GTKOBJECT(DrawingArea,GtkDrawingArea,GTK_DRAWING_AREA,Gtk::Widget,GtkWidget)
+public:
+
+ _CTOR_DEFAULT
+
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/editable.ccg b/libs/gtkmm2/gtk/src/editable.ccg
new file mode 100644
index 0000000000..97faab7e3e
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/editable.ccg
@@ -0,0 +1,22 @@
+// -*- c++ -*-
+/* $Id: editable.ccg,v 1.1 2003/01/21 13:38:48 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkeditable.h>
+
diff --git a/libs/gtkmm2/gtk/src/editable.hg b/libs/gtkmm2/gtk/src/editable.hg
new file mode 100644
index 0000000000..2c5a02dec3
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/editable.hg
@@ -0,0 +1,135 @@
+/* $Id: editable.hg,v 1.3 2006/05/18 17:53:15 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/interface.h>
+#include <gtk/gtkeditable.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/interface_p.h)
+
+
+namespace Gtk
+{
+
+/** Base class for text-editing widgets.
+ *
+ * The Gtk::Editable class is a base class for widgets for editing text,
+ * such as Gtk::Entry. It cannot be instantiated by itself. The editable
+ * class contains functions for generically manipulating an editable widget,
+ * a large number of action signals used for key bindings, and several
+ * signals that an application can connect to to modify the behavior of a
+ * widget.
+ *
+ */
+class Editable : public Glib::Interface
+{
+ _CLASS_INTERFACE(Editable,GtkEditable,GTK_EDITABLE,GtkEditableClass)
+
+public:
+ _WRAP_METHOD(void cut_clipboard(), gtk_editable_cut_clipboard)
+ _WRAP_METHOD(void copy_clipboard(), gtk_editable_copy_clipboard)
+ _WRAP_METHOD(void paste_clipboard(), gtk_editable_paste_clipboard)
+ _WRAP_METHOD(void delete_selection(), gtk_editable_delete_selection)
+ _WRAP_METHOD(void set_editable(bool is_editable = true), gtk_editable_set_editable)
+ _WRAP_METHOD(bool get_editable() const, gtk_editable_get_editable)
+
+ _WRAP_METHOD(void insert_text(const Glib::ustring& text, int length, int& position), gtk_editable_insert_text)
+ _WRAP_METHOD(void delete_text(int start_pos, int end_pos), gtk_editable_delete_text)
+
+ _WRAP_METHOD(Glib::ustring get_chars(int start_pos, int end_pos) const, gtk_editable_get_chars)
+
+ _WRAP_METHOD(void select_region(int start_pos, int end_pos), gtk_editable_select_region)
+ _WRAP_METHOD(bool get_selection_bounds(int& start_pos, int& end_pos) const, gtk_editable_get_selection_bounds)
+
+ _WRAP_METHOD(void set_position(int position), gtk_editable_set_position)
+ _WRAP_METHOD(int get_position() const, gtk_editable_get_position)
+
+ _IGNORE_SIGNAL(insert_text)
+
+#m4begin
+dnl // WRAP_SIGNAL "insert_text"
+dnl // C++ prototype: void insert_text(const Glib::ustring& text, int* position)
+dnl // C prototype: void insert_text(const gchar* text, gint length, gint* position)
+
+ _SIGNAL_PROXY(
+ insert_text, void, `const gchar* text, gint length, gint* position',
+ insert_text, void, `const Glib::ustring&, int*',dnl // C++ prototype
+ `Glib::ustring(text, text + length), position',`dnl // C -> C++ conversion
+ /**
+ * @param const Glib::ustring& text
+ * @param int* position
+ * @return void
+ */')
+
+ _SIGNAL_H(insert_text, void, `const Glib::ustring& text, int* position')
+ _SIGNAL_PH(insert_text, void, `GtkEditable* self, const gchar* text, gint length, gint* position')
+
+ _SIGNAL_CC(
+ insert_text, insert_text, void, void,
+ `const Glib::ustring& text, int* position',dnl // C++ arguments
+ `text.data(), text.bytes(), position')dnl // C++ -> C conversion
+
+ _SIGNAL_PCC(
+ insert_text, insert_text, void, void,
+ `GtkEditable* self, const gchar* text, gint length, gint* position',dnl // C arguments
+ `self, text, length, position',dnl // C argument names
+ `Glib::ustring(text, text + length), position',dnl // C -> C++ conversion
+ self)
+#m4end
+
+ _WRAP_SIGNAL(void delete_text(int start_pos, int end_pos), "delete_text")
+ _WRAP_SIGNAL(void changed(), "changed")
+
+protected:
+
+#m4begin
+dnl // WRAP_VFUNC "do_insert_text"
+dnl // C++ prototype: void insert_text_vfunc(const Glib::ustring& text, int& position)
+dnl // C prototype: void do_insert_text(const gchar* text, gint length, gint* position)
+
+ _VFUNC_H(insert_text_vfunc, void, `const Glib::ustring& text, int& position')
+ _VFUNC_PH(do_insert_text, void, `GtkEditable* self, const gchar* text, gint length, gint* position')
+ _VFUNC_CC(
+ insert_text_vfunc, do_insert_text, void, void,
+ `const Glib::ustring& text, int& position',dnl // C++ arguments
+ `text.data(), text.bytes(), &position')dnl // C++ -> C conversion
+ _VFUNC_PCC(
+ insert_text_vfunc, do_insert_text, void, void,
+ `GtkEditable* self, const gchar* text, gint length, gint* position',dnl // C arguments
+ `self, text, length, position',dnl // C argument names
+ `Glib::ustring(text, text + length), *position',dnl // C -> C++ conversion
+ self)
+#m4end
+
+ _WRAP_VFUNC(void delete_text(int start_pos, int end_pos), do_delete_text)
+
+#m4begin
+dnl // This special conversion is not in convert_gtk.m4, because allocating a new
+dnl // string is rarely needed -- probably not a good idea to make this generic.
+ _CONVERSION(`Glib::ustring', `gchar*', `g_strdup(($3).c_str())')
+#m4end
+ _WRAP_VFUNC(Glib::ustring get_chars(int start_pos, int end_pos) const, get_chars)
+
+ _WRAP_VFUNC(void select_region(int start_pos, int end_pos), set_selection_bounds)
+ _WRAP_VFUNC(bool get_selection_bounds(int& start_pos, int& end_pos) const, get_selection_bounds)
+ _WRAP_VFUNC(void set_position(int position), set_position)
+ _WRAP_VFUNC(int get_position() const, get_position)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/entry.ccg b/libs/gtkmm2/gtk/src/entry.ccg
new file mode 100644
index 0000000000..10687cee89
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/entry.ccg
@@ -0,0 +1,24 @@
+// -*- c++ -*-
+/* $Id: entry.ccg,v 1.1 2003/01/21 13:38:48 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkentry.h>
+
diff --git a/libs/gtkmm2/gtk/src/entry.hg b/libs/gtkmm2/gtk/src/entry.hg
new file mode 100644
index 0000000000..a808fc7ff4
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/entry.hg
@@ -0,0 +1,135 @@
+/* $Id: entry.hg,v 1.12 2006/06/13 17:16:26 murrayc Exp $ */
+
+/* entry.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/widget.h>
+#include <gtkmm/editable.h>
+#include <gtkmm/menu.h>
+#include <gtkmm/celleditable.h>
+#include <gtkmm/entrycompletion.h>
+#include <gtkmm/adjustment.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/widget_p.h)
+
+namespace Gtk
+{
+
+//TODO: This is used in Range too, so put it somewhere more appropriate:
+typedef GtkBorder Border;
+
+/** A single line text entry field.
+ *
+ * The Gtk::Entry widget is a single line text entry widget. A fairly large
+ * set of key bindings are supported by default. If the entered text is
+ * longer than the allocation of the widget, the widget will scroll so that
+ * the cursor position is visible.
+ *
+ * @ingroup Widgets
+ */
+class Entry
+: public Widget,
+ public Editable,
+ public CellEditable
+{
+ _CLASS_GTKOBJECT(Entry,GtkEntry,GTK_ENTRY,Gtk::Widget,GtkWidget)
+ _IGNORE(gtk_entry_new_with_max_length , gtk_entry_append_text, gtk_entry_prepend_text, gtk_entry_set_position,
+ gtk_entry_select_region, gtk_entry_set_editable)
+ _IMPLEMENTS_INTERFACE(Editable)
+ _IMPLEMENTS_INTERFACE(CellEditable)
+public:
+
+ _CTOR_DEFAULT
+
+
+ _WRAP_METHOD(void set_visibility(bool visible = true), gtk_entry_set_visibility)
+ _WRAP_METHOD(bool get_visibility() const, gtk_entry_get_visibility)
+ _WRAP_METHOD(void set_invisible_char(gunichar ch), gtk_entry_set_invisible_char)
+ _WRAP_METHOD(gunichar get_invisible_char() const, gtk_entry_get_invisible_char)
+ _WRAP_METHOD(void set_has_frame(bool setting = true), gtk_entry_set_has_frame)
+ _WRAP_METHOD(bool get_has_frame() const, gtk_entry_get_has_frame)
+
+ _WRAP_METHOD(void set_inner_border(const Border& border), gtk_entry_set_inner_border)
+ _WRAP_METHOD(Border get_inner_border() const, gtk_entry_get_inner_border)
+
+ _WRAP_METHOD(void set_max_length(int max), gtk_entry_set_max_length)
+ _WRAP_METHOD(int get_max_length() const, gtk_entry_get_max_length)
+ _WRAP_METHOD(void set_activates_default(bool setting = true), gtk_entry_set_activates_default)
+ _WRAP_METHOD(gboolean get_activates_default() const, gtk_entry_get_activates_default)
+ _WRAP_METHOD(void set_width_chars(int n_chars), gtk_entry_set_width_chars)
+ _WRAP_METHOD(int get_width_chars() const, gtk_entry_get_width_chars)
+ _WRAP_METHOD(void set_text(const Glib::ustring &text), gtk_entry_set_text)
+ _WRAP_METHOD(Glib::ustring get_text() const, gtk_entry_get_text)
+ _WRAP_METHOD(Glib::RefPtr<Pango::Layout> get_layout(), gtk_entry_get_layout, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Pango::Layout> get_layout() const, gtk_entry_get_layout, refreturn, constversion)
+ _WRAP_METHOD(void get_layout_offsets(int& x, int& y), gtk_entry_get_layout_offsets)
+
+ _WRAP_METHOD(int layout_index_to_text_index(int layout_index) const, gtk_entry_layout_index_to_text_index)
+ _WRAP_METHOD(int text_index_to_layout_index(int text_index) const, gtk_entry_text_index_to_layout_index)
+
+ _WRAP_METHOD(void set_cursor_hadjustment (Adjustment& adjustment), gtk_entry_set_cursor_hadjustment)
+ _WRAP_METHOD(Adjustment* get_cursor_hadjustment(), gtk_entry_get_cursor_hadjustment, refreturn)
+ _WRAP_METHOD(const Adjustment* get_cursor_hadjustment() const, gtk_entry_get_cursor_hadjustment, refreturn, constversion)
+
+ _WRAP_METHOD(void set_alignment(float xalign), gtk_entry_set_alignment)
+ _WRAP_METHOD(void set_alignment(AlignmentEnum xalign), gtk_entry_set_alignment)
+ _WRAP_METHOD(float get_alignment() const, gtk_entry_get_alignment)
+
+ _WRAP_METHOD(void set_completion(const Glib::RefPtr<EntryCompletion>& completion), gtk_entry_set_completion)
+ _WRAP_METHOD(Glib::RefPtr<EntryCompletion> get_completion(), gtk_entry_get_completion, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const EntryCompletion> get_completion() const, gtk_entry_get_completion, refreturn, constversion)
+
+ _MEMBER_GET(text_length, text_length, guint16, guint16)
+
+ _WRAP_SIGNAL(void populate_popup(Menu* menu), "populate_popup")
+ _WRAP_SIGNAL(void insert_at_cursor(const Glib::ustring& str), "insert_at_cursor")
+
+ //Key-binding signals:
+
+ //This is a keybinding signal, but it is allowed:
+ // http://mail.gnome.org/archives/gtk-devel-list/2003-January/msg00108.html
+ // "activate is probably about the only exception"
+ _WRAP_SIGNAL(void activate(), "activate")
+
+ _IGNORE_SIGNAL("move_cursor")
+ _IGNORE_SIGNAL("delete_from_cursor")
+ _IGNORE_SIGNAL("cut_clipboard")
+ _IGNORE_SIGNAL("copy_clipboard")
+ _IGNORE_SIGNAL("paste_clipboard")
+ _IGNORE_SIGNAL("toggle_overwrite")
+ _IGNORE_SIGNAL("backspace")
+
+ _WRAP_PROPERTY("cursor-position", int)
+ _WRAP_PROPERTY("selection-bound", int)
+ _WRAP_PROPERTY("editable", bool)
+ _WRAP_PROPERTY("max-length", int)
+ _WRAP_PROPERTY("visibility", bool)
+ _WRAP_PROPERTY("has-frame", bool)
+ _WRAP_PROPERTY("invisible-char", gunichar)
+ _WRAP_PROPERTY("activates-default", bool)
+ _WRAP_PROPERTY("width-chars", int)
+ _WRAP_PROPERTY("scroll-offset", int)
+ _WRAP_PROPERTY("text", Glib::ustring)
+ _WRAP_PROPERTY("xalign", float)
+ _WRAP_PROPERTY("truncate-multiline", bool)
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/entrycompletion.ccg b/libs/gtkmm2/gtk/src/entrycompletion.ccg
new file mode 100644
index 0000000000..672be5fb5b
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/entrycompletion.ccg
@@ -0,0 +1,328 @@
+// -*- c++ -*-
+/* $Id: entrycompletion.ccg,v 1.13 2006/07/19 16:58:50 murrayc Exp $ */
+
+/* Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/treeiter.h>
+#include <gtkmm/entry.h>
+#include <gtk/gtkentrycompletion.h>
+
+
+static gboolean SignalProxy_Match_gtk_callback(GtkEntryCompletion* completion, const gchar* key, GtkTreeIter* iter, gpointer user_data)
+{
+ Gtk::EntryCompletion::SlotMatch* the_slot = static_cast<Gtk::EntryCompletion::SlotMatch*>(user_data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ GtkTreeModel* tree_model = gtk_entry_completion_get_model(completion);
+ return (*the_slot)(Glib::convert_const_gchar_ptr_to_ustring(key),
+ Gtk::TreeModel::const_iterator(tree_model, iter)
+ );
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+
+ return false; //An arbitary default, just to avoid the compiler warning.
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+static void SignalProxy_Match_gtk_callback_destroy(void* data)
+{
+ delete static_cast<Gtk::EntryCompletion::SlotMatch*>(data);
+}
+
+
+namespace Gtk
+{
+
+void EntryCompletion::set_match_func(const SlotMatch& slot)
+{
+ // Create a copy of the slot. A pointer to this will be passed
+ // through the callback's data parameter. It will be deleted
+ // when SignalProxy_Match_gtk_callback_destroy() is called.
+ SlotMatch* slot_copy = new SlotMatch(slot);
+
+ gtk_entry_completion_set_match_func(gobj(),
+ &SignalProxy_Match_gtk_callback, slot_copy,
+ &SignalProxy_Match_gtk_callback_destroy);
+}
+
+void EntryCompletion::insert_action_text(const Glib::ustring& text, int index)
+{
+ gtk_entry_completion_insert_action_text(gobj(), index, text.c_str());
+}
+
+void EntryCompletion::insert_action_markup(const Glib::ustring& markup, int index)
+{
+ gtk_entry_completion_insert_action_markup(gobj(), index, markup.c_str());
+}
+
+void EntryCompletion::prepend_action_text(const Glib::ustring& text)
+{
+ //We know that gtk_entry_completion_insert_action_text() uses gtk_list_store_insert(),
+ //and we know that gtk_list_store_insert() prepends if the position is 0, though
+ //this is not actually documented.
+ gtk_entry_completion_insert_action_text(gobj(), 0, text.c_str());
+}
+
+void EntryCompletion::prepend_action_markup(const Glib::ustring& markup)
+{
+ //We know that gtk_entry_completion_insert_action_markup() uses gtk_list_store_insert(),
+ //and we know that gtk_list_store_insert() prepends if the position is 0, though
+ //this is not actually documented.
+ gtk_entry_completion_insert_action_markup(gobj(), 0 /* See C docs */, markup.c_str());
+}
+
+} //namespace Gtk
+
+
+namespace //anonymous
+{
+
+static gboolean Widget_signal_match_selected_callback(GtkEntryCompletion* self, GtkTreeModel* c_model, GtkTreeIter* c_iter, void* data)
+{
+ using namespace Gtk;
+ typedef sigc::slot< bool, const TreeModel::iterator& > SlotType;
+
+ // Do not try to call a signal on a disassociated wrapper.
+ if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
+ {
+ //This conversion is the custom-written part:
+ Gtk::TreeModel::iterator cppIter(c_model, c_iter);
+
+ return static_cast<int>( (*static_cast<SlotType*>(slot))(cppIter) );
+ }
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+
+ typedef gboolean RType;
+ return RType();
+}
+
+static gboolean Widget_signal_match_selected_notify_callback(GtkEntryCompletion* self, GtkTreeModel* c_model, GtkTreeIter* c_iter, void* data)
+{
+ using namespace Gtk;
+ typedef sigc::slot< void, const TreeModel::iterator& > SlotType;
+
+ // Do not try to call a signal on a disassociated wrapper.
+ if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
+ {
+ //This conversion is the custom-written part:
+ Gtk::TreeModel::iterator cppIter(c_model, c_iter);
+
+ (*static_cast<SlotType*>(slot))(cppIter);
+ }
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+
+ typedef gboolean RType;
+ return RType();
+}
+
+const Glib::SignalProxyInfo EntryCompletion_signal_match_selected_info =
+{
+ "match_selected",
+ (GCallback) &Widget_signal_match_selected_callback,
+ (GCallback) &Widget_signal_match_selected_notify_callback
+};
+
+
+static gboolean Widget_signal_cursor_on_match_callback(GtkEntryCompletion* self, GtkTreeModel* c_model, GtkTreeIter* c_iter, void* data)
+{
+ using namespace Gtk;
+ typedef sigc::slot< bool, const TreeModel::iterator& > SlotType;
+
+ // Do not try to call a signal on a disassociated wrapper.
+ if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
+ {
+ //This conversion is the custom-written part:
+ Gtk::TreeModel::iterator cppIter(c_model, c_iter);
+
+ return static_cast<int>( (*static_cast<SlotType*>(slot))(cppIter) );
+ }
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+
+ typedef gboolean RType;
+ return RType();
+}
+
+static gboolean Widget_signal_cursor_on_match_notify_callback(GtkEntryCompletion* self, GtkTreeModel* c_model, GtkTreeIter* c_iter, void* data)
+{
+ using namespace Gtk;
+ typedef sigc::slot< void, const TreeModel::iterator& > SlotType;
+
+ // Do not try to call a signal on a disassociated wrapper.
+ if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
+ {
+ //This conversion is the custom-written part:
+ Gtk::TreeModel::iterator cppIter(c_model, c_iter);
+
+ (*static_cast<SlotType*>(slot))(cppIter);
+ }
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+
+ typedef gboolean RType;
+ return RType();
+}
+
+
+const Glib::SignalProxyInfo EntryCompletion_signal_cursor_on_match_info =
+{
+ "match_selected",
+ (GCallback) &Widget_signal_cursor_on_match_callback,
+ (GCallback) &Widget_signal_cursor_on_match_notify_callback
+};
+
+} //anonymous namespace
+
+
+namespace Gtk
+{
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+//Hand-coded signal wrapping:
+
+bool Gtk::EntryCompletion::on_match_selected(const TreeModel::iterator& iter)
+{
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ if(base && base->match_selected)
+ return (*base->match_selected)(gobj(), iter.get_model_gobject(), const_cast<GtkTreeIter*>(iter.gobj()));
+ else
+ {
+ typedef bool RType;
+ return RType(); //There should always be an implementation in the C object, so this will never happen.
+ }
+}
+
+gboolean EntryCompletion_Class::match_selected_callback_custom(GtkEntryCompletion* self, GtkTreeModel* c_model, GtkTreeIter* c_iter)
+{
+ CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase::_get_current_wrapper((GObject*)self));
+
+ // Non-gtkmmproc-generated custom classes implicitly call the default
+ // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
+ // generated classes can use this optimisation, which avoids the unnecessary
+ // parameter conversions if there is no possibility of the virtual function
+ // being overridden:
+ if(obj && obj->is_derived_())
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+
+ //This conversion is the custom-written part:
+ Gtk::TreeModel::iterator cppIter(c_model, c_iter);
+ return obj->on_match_selected(cppIter);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+ else
+ {
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->match_selected)
+ return (*base->match_selected)(self, c_model, c_iter);
+ }
+
+ typedef gboolean RType;
+ return RType();
+}
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+Glib::SignalProxy1< bool, const TreeModel::iterator& > EntryCompletion::signal_match_selected()
+{
+ return Glib::SignalProxy1< bool, const TreeModel::iterator& >(this, &EntryCompletion_signal_match_selected_info);
+}
+
+Glib::SignalProxy1< bool, const TreeModel::iterator& > EntryCompletion::signal_cursor_on_match()
+{
+ return Glib::SignalProxy1< bool, const TreeModel::iterator& >(this, &EntryCompletion_signal_cursor_on_match_info);
+}
+
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/entrycompletion.hg b/libs/gtkmm2/gtk/src/entrycompletion.hg
new file mode 100644
index 0000000000..a1ca2ae49a
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/entrycompletion.hg
@@ -0,0 +1,217 @@
+/* $Id: entrycompletion.hg,v 1.24 2006/07/19 16:58:50 murrayc Exp $ */
+
+/* Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/widget.h>
+#include <gtkmm/treemodel.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Gtk
+{
+
+class Entry;
+
+//TODO: This should derive+implement from CellLayout, when we can break ABI.
+//Then we should add "It derives from the Gtk::CellLayout, to allow the user to add extra cells to the Gtk::TreeView with completion matches".
+
+/** Completion functionality for Gtk::Entry.
+ *
+ * Gtk::EntryCompletion is an auxiliary object to be used in conjunction with
+ * Gtk::Entry to provide the completion functionality.
+ *
+ * "Completion functionality" means that when the user modifies the text in the
+ * entry, Gtk::EntryCompletion checks which rows in the model match the current
+ * content of the entry, and displays a list of matches. By default, the
+ * matching is done by comparing the entry text case-insensitively against
+ * the text column of the model (see set_text_column()),
+ * but this can be overridden with a custom match function (see set_match_func()).
+ *
+ * When the user selects a completion, the content of the entry is updated.
+ * By default, the content of the entry is replaced by the text column of the
+ * model, but this can be overridden by connecting to the match_selected signal
+ * and updating the entry in the signal handler. Note that you should return true
+ * from the signal handler to suppress the default behaviour.
+ *
+ * To add completion functionality to an entry, use Gtk::Entry::set_completion().
+ *
+ * In addition to regular completion matches, which will be inserted into
+ * the entry when they are selected, Gtk::EntryCompletion also allows the display of
+ * "actions" in the popup window. Their appearance is similar to menu items,
+ * to differentiate them clearly from completion strings. When an action is
+ * selected, the action_activated signal is emitted.
+ */
+class EntryCompletion : public Glib::Object
+{
+ _CLASS_GOBJECT(EntryCompletion, GtkEntryCompletion, GTK_ENTRY_COMPLETION, Glib::Object, GObject)
+
+protected:
+ _CTOR_DEFAULT()
+
+public:
+ _WRAP_CREATE()
+
+ //Careful, this actually returns a GtkWidget*, so it might not always be a GtkEntry in future GTK+ versions.
+ _WRAP_METHOD(Entry* get_entry(), gtk_entry_completion_get_entry)
+ _WRAP_METHOD(const Entry* get_entry() const, gtk_entry_completion_get_entry)
+
+ _WRAP_METHOD(void set_model(const Glib::RefPtr<TreeModel>& model), gtk_entry_completion_set_model)
+ _WRAP_METHOD(Glib::RefPtr<TreeModel> get_model(), gtk_entry_completion_get_model, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const TreeModel> get_model() const, gtk_entry_completion_get_model, refreturn, constversion)
+
+ /// For example, bool on_match(const Glib::ustring& key, const TreeModel::const_iterator& iter);
+ typedef sigc::slot<bool, const Glib::ustring&, const TreeModel::const_iterator&> SlotMatch;
+
+ void set_match_func(const SlotMatch& slot);
+ _IGNORE(gtk_entry_completion_set_match_func)
+
+ _WRAP_METHOD(void set_minimum_key_length(int length), gtk_entry_completion_set_minimum_key_length)
+ _WRAP_METHOD(int get_minimum_key_length() const, gtk_entry_completion_get_minimum_key_length)
+ _WRAP_METHOD(void complete(), gtk_entry_completion_complete)
+
+ _WRAP_METHOD(void insert_prefix(), gtk_entry_completion_insert_prefix)
+
+ //We reordered the parameters, compared to the C version, so that we can have method overloads without the index.
+
+ // TODO: We would really like an insert() which before-inserts an iterator, like ListStore::insert(),
+ // but there is no EntryCompletion::insert_before() for us to use.
+ void insert_action_text(const Glib::ustring& text, int index);
+ void prepend_action_text(const Glib::ustring& text);
+ //TODO: Add append_action_text() somehow? It would be slow if we count the children each time. murrayc.
+ _IGNORE(gtk_entry_completion_insert_action_text)
+ void insert_action_markup(const Glib::ustring& markup, int index);
+ void prepend_action_markup(const Glib::ustring& markup);
+ _IGNORE(gtk_entry_completion_insert_action_markup)
+
+ //TODO: Change default - it would be nicer to delete the last action instead of the first.
+ _WRAP_METHOD(void delete_action(int index = 0), gtk_entry_completion_delete_action)
+
+ _WRAP_METHOD(void set_inline_completion(bool inline_completion = true), gtk_entry_completion_set_inline_completion)
+ _WRAP_METHOD(bool get_inline_completion() const, gtk_entry_completion_get_inline_completion)
+ _WRAP_METHOD(void set_inline_selection(bool inline_selection = true), gtk_entry_completion_set_inline_selection)
+ _WRAP_METHOD(bool get_inline_selection() const, gtk_entry_completion_get_inline_selection)
+ _WRAP_METHOD(void set_popup_completion(bool popup_completion = true), gtk_entry_completion_set_popup_completion)
+ _WRAP_METHOD(bool get_popup_completion() const, gtk_entry_completion_get_popup_completion)
+
+ _WRAP_METHOD(void set_popup_set_width(bool popup_set_width = true), gtk_entry_completion_set_popup_set_width)
+ _WRAP_METHOD(bool get_popup_set_width() const, gtk_entry_completion_get_popup_set_width)
+
+ //TODO This is wrongly named: Deprecate it and add set_popup_single_match().
+ _WRAP_METHOD(void set_popup_single_width(bool popup_single_match = true), gtk_entry_completion_set_popup_single_match)
+
+ _WRAP_METHOD(bool get_popup_single_match() const, gtk_entry_completion_get_popup_single_match)
+ _WRAP_METHOD(Glib::ustring get_completion_prefix() const, gtk_entry_completion_get_completion_prefix)
+
+ _WRAP_METHOD(void set_text_column(const TreeModelColumnBase& column), gtk_entry_completion_set_text_column)
+ _WRAP_METHOD(void set_text_column(int column), gtk_entry_completion_set_text_column)
+ _WRAP_METHOD(int get_text_column(), gtk_entry_completion_get_text_column)
+
+ /** Emitted when an action is activated.
+ *
+ * @param index The index of the activated action.
+ */
+ _WRAP_SIGNAL(void action_activated(int index), action_activated)
+
+ //We completely hand-code these signals because we want to change how the parameters are wrapped,
+ //because we need both the iter and the model to make the C++ iter.
+ _IGNORE_SIGNAL(match_selected)
+ _IGNORE_SIGNAL(cursor_on_match)
+
+ /** Emitted when a match from the list is selected.
+ * The default behaviour is to replace the contents of the
+ * entry with the contents of the text column in the row
+ * pointed to by @a iter.
+ *
+ * @param model The TreeModel containing the matches
+ * @param iter A TreeModel::iterator positioned at the selected match
+ * @result true if the signal has been handled
+ *
+ * @par Prototype:
+ * <tt>bool %on_match_selected(const TreeModel::iterator& iter)</tt>
+ */
+ Glib::SignalProxy1< bool, const TreeModel::iterator& > signal_match_selected();
+
+ /** Emitted when a match from the cursor is on a match
+ * of the list. The default behaviour is to replace the contents
+ * of the entry with the contents of the text column in the row
+ * pointed to by @a iter.
+ *
+ * @param model The TreeModel containing the matches
+ * @param iter A TreeModel::iterator positioned at the selected match
+ * @result true if the signal has been handled
+ *
+ * @par Prototype:
+ * <tt>bool %on_cursor_on_match(const TreeModel::iterator& iter)</tt>
+ *
+ * @newin2p12
+ */
+ Glib::SignalProxy1< bool, const TreeModel::iterator& > signal_cursor_on_match();
+
+
+ #m4begin
+dnl// Hook in custom callback.
+dnl// It will use the callback.
+dnl
+ _PUSH(SECTION_PCC_CLASS_INIT_DEFAULT_SIGNAL_HANDLERS)
+ klass->match_selected = &match_selected_callback_custom;
+ _SECTION(SECTION_PH_DEFAULT_SIGNAL_HANDLERS)
+ static gboolean match_selected_callback_custom(GtkEntryCompletion* self, GtkTreeModel* c_model, GtkTreeIter* c_iter);
+ _POP()
+#m4end
+
+ //We use no_default_handler for these signals, because we can not add a new vfunc without breaking ABI.
+ //TODO: Remove no_default_handler when we do an ABI-break-with-parallel-install.
+
+ /** Emitted when the inline autocompletion is triggered.
+ * The default behaviour is to make the entry display the
+ * whole prefix and select the newly inserted part.
+ *
+ * Applications may connect to this signal in order to insert only a
+ * smaller part of the @a prefix into the entry - e.g. the entry used in
+ * the FileChooser inserts only the part of the prefix up to the
+ * next '/'.
+ *
+ * @newin2p6
+ *
+ * @param prefix The common prefix of all possible completions.
+ * @result true if the signal has been handled
+ */
+ _WRAP_SIGNAL(bool insert_prefix(const Glib::ustring& prefix), insert_prefix, no_default_handler)
+
+ _WRAP_PROPERTY("model", Glib::RefPtr<Gtk::TreeModel>)
+ _WRAP_PROPERTY("minimum_key_length", int)
+ _WRAP_PROPERTY("text_column, int)
+ _WRAP_PROPERTY("inline_completion", bool)
+ _WRAP_PROPERTY("popup_completion", bool)
+ _WRAP_PROPERTY("popup_set_width", bool)
+ _WRAP_PROPERTY("popup_single_match", bool)
+ _WRAP_PROPERTY("inline-selection", bool)
+
+protected:
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+ //Default Signal Handler:
+ virtual bool on_match_selected(const TreeModel::iterator& iter);
+ //No default handler for on_cursor_on_match(), to preserver ABI. TODO: Add this when we can break ABI.
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/enums.ccg b/libs/gtkmm2/gtk/src/enums.ccg
new file mode 100644
index 0000000000..61bc730b3a
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/enums.ccg
@@ -0,0 +1,56 @@
+// -*- c++ -*-
+/* $Id: enums.ccg,v 1.1 2003/01/21 13:38:48 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/enums.h>
+
+// static
+GType Glib::Value<Gtk::IconSize>::value_type()
+{
+ return gtk_icon_size_get_type();
+}
+
+namespace Gtk
+{
+
+float _gtkmm_align_float_from_enum(AlignmentEnum value)
+{
+ //Choose the float alignment value appropriate for this human-readable enum value:
+ switch(value)
+ {
+ case ALIGN_LEFT:
+ return 0.0; break;
+ case ALIGN_CENTER:
+ return 0.5; break;
+ case ALIGN_RIGHT:
+ return 1.0; break;
+ case ALIGN_TOP:
+ return _gtkmm_align_float_from_enum(ALIGN_LEFT); break;
+ case ALIGN_BOTTOM:
+ return _gtkmm_align_float_from_enum(ALIGN_RIGHT); break;
+ default:
+ return _gtkmm_align_float_from_enum(ALIGN_LEFT); break;
+ }
+}
+
+} //namespace Gtk
+
+
diff --git a/libs/gtkmm2/gtk/src/enums.hg b/libs/gtkmm2/gtk/src/enums.hg
new file mode 100644
index 0000000000..0e0570ab16
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/enums.hg
@@ -0,0 +1,170 @@
+/* $Id: enums.hg,v 1.5 2006/05/09 16:51:34 murrayc Exp $ */
+
+/* enums.h
+ *
+ * Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(gtkmm,gtk)
+
+
+namespace Gtk
+{
+
+_CC_INCLUDE(gtk/gtktypebuiltins.h)
+
+_WRAP_ENUM(AccelFlags, GtkAccelFlags)
+_WRAP_ENUM(AnchorType, GtkAnchorType)
+
+/** Used to indicate the direction in which a Gtk::Arrow should point.
+ */
+_WRAP_ENUM(ArrowType, GtkArrowType)
+
+// TODO: There must be a better way to document the enum values.
+// Extract them from the GTK+ docs as well?
+
+/*! @var ArrowType ARROW_UP
+ * Represents an upward pointing arrow.
+ */
+/*! @var ArrowType ARROW_DOWN
+ * Represents a downward pointing arrow.
+ */
+/*! @var ArrowType ARROW_LEFT
+ * Represents a left pointing arrow.
+ */
+/*! @var ArrowType ARROW_RIGHT
+ * Represents a right pointing arrow.
+ */
+
+/** Denotes the expansion properties that a widget will have when it (or its parent) is resized.
+ */
+_WRAP_ENUM(AttachOptions, GtkAttachOptions)
+
+/*! @var AttachOptions EXPAND
+ * The widget should expand to take up any extra space in its container that has been allocated.
+ */
+/*! @var AttachOptions SHRINK
+ * The widget should shrink as and when possible.
+ */
+/*! @var AttachOptions FILL
+ * The widget should fill the space allocated to it.
+ */
+
+_WRAP_ENUM(ButtonBoxStyle, GtkButtonBoxStyle)
+_WRAP_ENUM(CurveType, GtkCurveType)
+_WRAP_ENUM(DeleteType, GtkDeleteType)
+_WRAP_ENUM(DirectionType, GtkDirectionType)
+_WRAP_ENUM(ExpanderStyle, GtkExpanderStyle)
+_WRAP_ENUM(BuiltinIconSize, GtkIconSize)
+_WRAP_ENUM(TextDirection, GtkTextDirection)
+_WRAP_ENUM(Justification, GtkJustification)
+_WRAP_ENUM(MenuDirectionType, GtkMenuDirectionType)
+_WRAP_ENUM(MetricType, GtkMetricType)
+_WRAP_ENUM(MovementStep, GtkMovementStep)
+_WRAP_ENUM(Orientation, GtkOrientation)
+_WRAP_ENUM(CornerType, GtkCornerType)
+_WRAP_ENUM(PackType, GtkPackType)
+_WRAP_ENUM(PathPriorityType, GtkPathPriorityType)
+_WRAP_ENUM(PathType, GtkPathType)
+_WRAP_ENUM(PolicyType, GtkPolicyType)
+_WRAP_ENUM(PositionType, GtkPositionType)
+_WRAP_ENUM(ReliefStyle, GtkReliefStyle)
+_WRAP_ENUM(ResizeMode, GtkResizeMode)
+_WRAP_ENUM(ScrollType, GtkScrollType)
+_WRAP_ENUM(SelectionMode, GtkSelectionMode)
+_WRAP_ENUM(ShadowType, GtkShadowType)
+_WRAP_ENUM(StateType, GtkStateType)
+_WRAP_ENUM(TargetFlags, GtkTargetFlags)
+_WRAP_ENUM(ToolbarStyle, GtkToolbarStyle)
+_WRAP_ENUM(UpdateType, GtkUpdateType)
+_WRAP_ENUM(Visibility, GtkVisibility)
+_WRAP_ENUM(WindowPosition,GtkWindowPosition)
+_WRAP_ENUM(WindowType,GtkWindowType)
+_WRAP_ENUM(WrapMode, GtkWrapMode)
+_WRAP_ENUM(SortType, GtkSortType)
+_WRAP_ENUM(PageOrientation, GtkPageOrientation)
+
+
+/* We use a class to implement the GtkIconSize enum, because you can register
+ * new "enum" values. The strict type rules of C++ don't allow using an enum
+ * like that. Gtk::BuiltinIconSize is the actual GtkIconSize wrapper enum.
+ */
+
+/**
+ * Represents registered icon sizes.
+ * You can also use a Gtk::BuiltinIconSize instead of an IconSize.
+ */
+class IconSize
+{
+private:
+ int size_;
+
+public:
+ IconSize() : size_ (0) {}
+ IconSize(BuiltinIconSize size) : size_ (size) {}
+
+ // Behave like an ordinary enum.
+ explicit IconSize(int size) : size_ (size) {}
+ operator int() const { return size_; }
+
+ // These static methods are implement in iconfactory.ccg.
+ static bool lookup(IconSize size, int& width, int& height);
+ static IconSize register_new(const Glib::ustring& name, int width, int height);
+ static void register_alias(const Glib::ustring& alias, IconSize target);
+ static IconSize from_name(const Glib::ustring& name);
+ static Glib::ustring get_name(IconSize size);
+};
+
+} // namespace Gtk
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+namespace Glib
+{
+
+template <>
+class Value<Gtk::IconSize> : public Glib::Value_Enum<Gtk::IconSize>
+{
+public:
+ static GType value_type() G_GNUC_CONST;
+};
+
+} // namespace Glib
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+namespace Gtk
+{
+
+ /** Methods are overriden so you can use these simple enums, or floats for more precision.
+ * @ingroup gtkmmEnums
+ */
+ enum AlignmentEnum
+ {
+ ALIGN_LEFT, /**< Same as 0.0 */
+ ALIGN_CENTER, /**< Same as 0.5 */
+ ALIGN_RIGHT, /**< Same as 1.0 */
+ ALIGN_TOP, /**< Same as ALIGN_LEFT */
+ ALIGN_BOTTOM /**< Same as ALIGN_RIGHT */
+ };
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+//We need this because we can't just use floats for enum value.
+float _gtkmm_align_float_from_enum(AlignmentEnum value);
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+} //namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/eventbox.ccg b/libs/gtkmm2/gtk/src/eventbox.ccg
new file mode 100644
index 0000000000..75131eac67
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/eventbox.ccg
@@ -0,0 +1,23 @@
+// -*- c++ -*-
+/* $Id: eventbox.ccg,v 1.1 2003/01/21 13:38:49 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkeventbox.h>
diff --git a/libs/gtkmm2/gtk/src/eventbox.hg b/libs/gtkmm2/gtk/src/eventbox.hg
new file mode 100644
index 0000000000..76173782d8
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/eventbox.hg
@@ -0,0 +1,57 @@
+/* $Id: eventbox.hg,v 1.2 2003/10/12 09:38:11 murrayc Exp $ */
+
+/* eventbox.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/bin.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/bin_p.h)
+
+namespace Gtk
+{
+
+/** Event capturing box.
+ *
+ * This widget adds an X Window where one does not
+ * normally appear, allowing you to capture events.
+ * It will receive any event which is specified
+ * with set_events().
+ *
+ * This widget is generally used to add Gtk::Tooltips, button presses,
+ * and clipping to widgets derived from Gtk::Misc.
+ *
+ * @ingroup Widgets
+ */
+class EventBox : public Bin
+{
+ _CLASS_GTKOBJECT(EventBox,GtkEventBox,GTK_EVENT_BOX,Gtk::Bin,GtkBin)
+public:
+ _CTOR_DEFAULT()
+
+ _WRAP_METHOD(bool get_visible_window() const, gtk_event_box_get_visible_window)
+ _WRAP_METHOD(void set_visible_window(bool visible_window = true), gtk_event_box_set_visible_window)
+ _WRAP_METHOD(bool get_above_child() const, gtk_event_box_get_above_child)
+ _WRAP_METHOD(void set_above_child(bool above_child = true), gtk_event_box_set_above_child)
+
+ _WRAP_PROPERTY("visible-window", bool)
+ _WRAP_PROPERTY("above-child", bool)
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/expander.ccg b/libs/gtkmm2/gtk/src/expander.ccg
new file mode 100644
index 0000000000..925624e4c5
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/expander.ccg
@@ -0,0 +1,34 @@
+// -*- c++ -*-
+/* $Id: expander.ccg,v 1.2 2003/11/01 17:02:37 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkexpander.h>
+
+namespace Gtk
+{
+
+Expander::Expander(const Glib::ustring& label, bool mnemonic)
+:
+ _CONSTRUCT("label", label.c_str(), "use_underline", gboolean(mnemonic))
+{}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/expander.hg b/libs/gtkmm2/gtk/src/expander.hg
new file mode 100644
index 0000000000..401ac4a72f
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/expander.hg
@@ -0,0 +1,116 @@
+/* $Id: expander.hg,v 1.9 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* expander.h
+ *
+ * Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/bin.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/bin_p.h)
+
+
+namespace Gtk
+{
+
+/** A container which can hide its child.
+ *
+ * An Expander allows the user to hide or show its child by clicking on an
+ * expander triangle similar to the triangles used in a Gtk::TreeView.
+ *
+ * Normally you use an expander as you would use any other descendant
+ * of Gtk::Bin; you create the child widget and use add() to add it to
+ * the expander. When the expander is toggled, it will take care of
+ * showing and hiding the child automatically.
+ *
+ * Special Usage: There are situations in which you may prefer to show and
+ * hide the expanded widget yourself, such as when you want to
+ * actually create the widget at expansion time. In this case,
+ * create an Expander but do not add a child to it. The
+ * expander widget has an <tt>expanded</tt> property
+ * which can be used to monitor its expansion state. You should
+ * watch this property with a signal connection as follows:
+ * @code
+ * expander.property_expanded().signal_changed().connect(
+ * sigc::mem_fun(*this, &SomeClass::on_expander_changed)
+ * );
+ * @endcode
+ *
+ * @ingroup Widgets
+ * @ingroup Containers
+ */
+class Expander : public Bin
+{
+ _CLASS_GTKOBJECT(Expander, GtkExpander, GTK_EXPANDER, Gtk::Bin, GtkBin)
+public:
+
+ /** Creates a new Expander.
+ *
+ * The Expander has an empty label.
+ *
+ * @newin2p4
+ */
+ _CTOR_DEFAULT;
+
+ /** Creates a new Expander with a label.
+ *
+ * Creates a new expander using label as the text of the label. Settin @a mnemonic to true
+ * will allow you to precede characters in the label with an underscore which will make them
+ * underlined. If you need a literal underscore character in a label, use '__' (two underscores).
+ * The first underlined character represents a keyboard accelerator called a mnemonic.
+ * Pressing Alt and that key activates the button.
+ *
+ * @param label The string for the label describing the Expander.
+ * @param mnemonic Wether the label may contain underscores to set up accelerators.
+
+ * @newin2p4
+ */
+ explicit Expander(const Glib::ustring& label, bool mnemonic = false);
+ _IGNORE(gtk_expander_new, gkt_expander_new_with_mnemonic)
+
+ _WRAP_METHOD(void set_expanded(bool expanded = true), gtk_expander_set_expanded)
+ _WRAP_METHOD(bool get_expanded() const, gtk_expander_get_expanded)
+
+ _WRAP_METHOD(void set_spacing(int spacing), gtk_expander_set_spacing)
+ _WRAP_METHOD(int get_spacing() const, gtk_expander_get_spacing)
+
+ _WRAP_METHOD(void set_label(const Glib::ustring& label), gtk_expander_set_label)
+ _WRAP_METHOD(Glib::ustring get_label() const, gtk_expander_get_label)
+
+ _WRAP_METHOD(void set_use_underline(bool use_underline = true), gtk_expander_set_use_underline)
+ _WRAP_METHOD(bool get_use_underline() const, gtk_expander_get_use_underline)
+
+ _WRAP_METHOD(void set_use_markup(bool use_markup = true), gtk_expander_set_use_markup)
+ _WRAP_METHOD(bool get_use_markup() const, gtk_expander_get_use_markup)
+
+ _WRAP_METHOD(void set_label_widget(Widget& label_widget), gtk_expander_set_label_widget)
+ _WRAP_METHOD(Widget* get_label_widget(), gtk_expander_get_label_widget)
+ _WRAP_METHOD(const Widget* get_label_widget() const, gtk_expander_get_label_widget, constversion)
+
+ _IGNORE_SIGNAL("activate") //keybinding
+
+ _WRAP_PROPERTY("expanded", bool)
+ _WRAP_PROPERTY("label", Glib::ustring)
+ _WRAP_PROPERTY("use_underline", bool)
+ _WRAP_PROPERTY("use_markup", bool)
+ _WRAP_PROPERTY("spacing", int)
+ _WRAP_PROPERTY("label_widget", Widget*)
+};
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/filechooser.ccg b/libs/gtkmm2/gtk/src/filechooser.ccg
new file mode 100644
index 0000000000..3acb9dd49d
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/filechooser.ccg
@@ -0,0 +1,24 @@
+// -*- c++ -*-
+/* $Id: filechooser.ccg,v 1.2 2004/11/12 11:51:42 murrayc Exp $ */
+
+/* Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkfilechooser.h>
+//#include <gtk/gtkfilesystem.h> //We include this semi-private header just to get GTK_FILE_SYSTEM_ERROR.
+
+
diff --git a/libs/gtkmm2/gtk/src/filechooser.hg b/libs/gtkmm2/gtk/src/filechooser.hg
new file mode 100644
index 0000000000..8a379f93c7
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/filechooser.hg
@@ -0,0 +1,238 @@
+/* $Id: filechooser.hg,v 1.23 2006/04/18 13:28:56 murrayc Exp $ */
+
+/* Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/widget.h>
+#include <gtkmm/filefilter.h>
+#include <glibmm/interface.h>
+
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/interface_p.h)
+
+namespace Gtk
+{
+
+_WRAP_ENUM(FileChooserAction, GtkFileChooserAction)
+_WRAP_ENUM(FileChooserConfirmation, GtkFileChooserConfirmation)
+
+//Note that GTK_FILE_SYSTEM_ERROR is not currently public GTK+ API and should
+//never be instantiated by the GTK+ C API.
+
+/** Exception class for Gdk::FileChooser errors.
+ */
+_WRAP_GERROR(FileChooserError,GtkFileChooserError,GTK_FILE_CHOOSER_ERROR)
+
+/**
+ * Gtk::FileChooser is an interface that can be implemented by file selection
+ * widgets. In gtkmm, the main objects that implement this interface are
+ * FileChooserWidget and FileChooserDialog. You do not need to write an
+ * object that implements the FileChooser interface unless you are trying to
+ * adapt an existing file selector to expose a standard programming interface.
+ *
+ * @par File Names and Encodings
+ * When the user is finished selecting files in a FileChooser, your program
+ * can get the selected names either as filenames or as URIs. For URIs, the
+ * normal escaping rules are applied if the URI contains non-ASCII characters.
+ * However, filenames are always returned in the character set specified by the
+ * G_FILENAME_ENCODING environment variable. Please see the Glib documentation
+ * for more details about this variable.
+ *
+ * @par Important
+ * This means that while you can pass the result of FileChooser::get_filename()
+ * to <tt>open(2)</tt> or <tt>fopen(3)</tt>, you may not be able to directly
+ * set it as the text of a Gtk::Label widget unless you convert it first to
+ * UTF-8, which all gtkmm widgets expect. You should use
+ * Glib::filename_to_utf8() to convert filenames into strings that can be
+ * passed to gtkmm widgets.
+ *
+ * @note
+ * The gtkmm FileChooser API is broken in that methods return Glib::ustring
+ * even though the returned string is not necessarily UTF-8 encoded. Any
+ * FileChooser method that takes or returns a filename (not a URI) should
+ * have std::string as parameter or return type. Fortunately this mistake
+ * doesn't prevent you from handling filenames correctly in your application.
+ * Just pretend that the API uses std::string and call Glib::filename_to_utf8()
+ * or Glib::filename_from_utf8() as appropriate.
+ *
+ * See http://bugzilla.gnome.org/show_bug.cgi?id=142138 for more information.
+ */
+class FileChooser : public Glib::Interface
+{
+ _CLASS_INTERFACE(FileChooser, GtkFileChooser, GTK_FILE_CHOOSER, GtkFileChooserClass)
+public:
+
+ _WRAP_METHOD(void set_action(FileChooserAction action), gtk_file_chooser_set_action)
+ _WRAP_METHOD(FileChooserAction get_action() const, gtk_file_chooser_get_action)
+ _WRAP_METHOD(void set_local_only(bool local_only = true), gtk_file_chooser_set_local_only)
+ _WRAP_METHOD(bool get_local_only() const, gtk_file_chooser_get_local_only)
+ _WRAP_METHOD(void set_select_multiple(bool select_multiple = true), gtk_file_chooser_set_select_multiple)
+ _WRAP_METHOD(bool get_select_multiple() const, gtk_file_chooser_get_select_multiple)
+
+ _WRAP_METHOD(void set_show_hidden(bool show_hidden = true), gtk_file_chooser_set_show_hidden)
+ _WRAP_METHOD(bool get_show_hidden() const, gtk_file_chooser_get_show_hidden)
+
+ _WRAP_METHOD(void set_do_overwrite_confirmation(bool do_overwrite_confirmation = true), gtk_file_chooser_set_do_overwrite_confirmation)
+ _WRAP_METHOD(bool get_do_overwrite_confirmation() const, gtk_file_chooser_get_do_overwrite_confirmation)
+
+ _WRAP_METHOD(void set_current_name(const Glib::ustring& name), gtk_file_chooser_set_current_name)
+ _WRAP_METHOD(Glib::ustring get_filename() const, gtk_file_chooser_get_filename)
+ _WRAP_METHOD(bool set_filename(const Glib::ustring& filename), gtk_file_chooser_set_filename)
+ _WRAP_METHOD(bool select_filename(const Glib::ustring& filename), gtk_file_chooser_select_filename)
+ _WRAP_METHOD(void unselect_filename(const Glib::ustring& filename), gtk_file_chooser_unselect_filename)
+ _WRAP_METHOD(void select_all(), gtk_file_chooser_select_all)
+ _WRAP_METHOD(void unselect_all(), gtk_file_chooser_unselect_all)
+ _WRAP_METHOD(Glib::SListHandle<Glib::ustring> get_filenames() const, gtk_file_chooser_get_filenames)
+ _WRAP_METHOD(bool set_current_folder(const Glib::ustring& filename), gtk_file_chooser_set_current_folder)
+ _WRAP_METHOD(Glib::ustring get_current_folder() const, gtk_file_chooser_get_current_folder)
+
+
+/* URI manipulation
+ */
+ _WRAP_METHOD(Glib::ustring get_uri() const, gtk_file_chooser_get_uri)
+ _WRAP_METHOD(bool set_uri(const Glib::ustring& uri), gtk_file_chooser_set_uri)
+ _WRAP_METHOD(bool select_uri(const Glib::ustring& uri), gtk_file_chooser_select_uri)
+ _WRAP_METHOD(void unselect_uri(const Glib::ustring& uri), gtk_file_chooser_unselect_uri)
+ _WRAP_METHOD(Glib::SListHandle<Glib::ustring> get_uris() const, gtk_file_chooser_get_uris)
+
+ _WRAP_METHOD(bool set_current_folder_uri(const Glib::ustring& uri), gtk_file_chooser_set_current_folder_uri)
+ _WRAP_METHOD(Glib::ustring get_current_folder_uri() const, gtk_file_chooser_get_current_folder_uri)
+
+/* Preview widget
+ */
+ _WRAP_METHOD(void set_preview_widget(Gtk::Widget& preview_widget), gtk_file_chooser_set_preview_widget)
+ _WRAP_METHOD(const Gtk::Widget* get_preview_widget() const, gtk_file_chooser_get_preview_widget, constversion)
+ _WRAP_METHOD(Gtk::Widget* get_preview_widget(), gtk_file_chooser_get_preview_widget)
+ _WRAP_METHOD(void set_preview_widget_active(bool active = true), gtk_file_chooser_set_preview_widget_active)
+ _WRAP_METHOD(bool get_preview_widget_active() const, gtk_file_chooser_get_preview_widget_active)
+
+ _WRAP_METHOD(void set_use_preview_label(bool use_label = true), gtk_file_chooser_set_use_preview_label)
+ _WRAP_METHOD(bool get_use_preview_label() const, gtk_file_chooser_get_use_preview_label)
+
+ _WRAP_METHOD(Glib::ustring get_preview_filename() const, gtk_file_chooser_get_preview_filename)
+ _WRAP_METHOD(Glib::ustring get_preview_uri() const, gtk_file_chooser_get_preview_uri)
+
+/* Extra widget
+ */
+ _WRAP_METHOD(void set_extra_widget(Gtk::Widget& extra_widget), gtk_file_chooser_set_extra_widget)
+ _WRAP_METHOD(Gtk::Widget* get_extra_widget(), gtk_file_chooser_get_extra_widget)
+ _WRAP_METHOD(const Gtk::Widget* get_extra_widget() const, gtk_file_chooser_get_extra_widget, constversion)
+
+/* List of user selectable filters
+ */
+ _WRAP_METHOD(void add_filter(const FileFilter& filter), gtk_file_chooser_add_filter)
+ _WRAP_METHOD(void remove_filter (const FileFilter& filter), gtk_file_chooser_remove_filter)
+
+ _WRAP_METHOD(Glib::SListHandle< FileFilter* > list_filters(), gtk_file_chooser_list_filters)
+ _WRAP_METHOD(Glib::SListHandle< const FileFilter* > list_filters() const, gtk_file_chooser_list_filters)
+
+/* Current filter
+ */
+ _WRAP_METHOD(void set_filter(const FileFilter& filter), gtk_file_chooser_set_filter)
+ _WRAP_METHOD(FileFilter* get_filter(), gtk_file_chooser_get_filter, refreturn)
+ _WRAP_METHOD(const FileFilter* get_filter() const, gtk_file_chooser_get_filter, refreturn, constversion)
+
+/* Per-application shortcut folders */
+
+ _WRAP_METHOD(bool add_shortcut_folder(const Glib::ustring& folder), gtk_file_chooser_add_shortcut_folder, errthrow)
+ _WRAP_METHOD(bool remove_shortcut_folder(const Glib::ustring& folder), gtk_file_chooser_remove_shortcut_folder, errthrow)
+ _WRAP_METHOD(Glib::SListHandle<Glib::ustring> list_shortcut_folders() const, gtk_file_chooser_list_shortcut_folders)
+
+ _WRAP_METHOD(bool add_shortcut_folder_uri(const Glib::ustring& uri), gtk_file_chooser_add_shortcut_folder_uri, errthrow)
+ _WRAP_METHOD(bool remove_shortcut_folder_uri(const Glib::ustring& uri), gtk_file_chooser_remove_shortcut_folder_uri, errthrow)
+ _WRAP_METHOD(Glib::SListHandle<Glib::ustring> list_shortcut_folder_uris() const, gtk_file_chooser_list_shortcut_folder_uris)
+
+
+ /** This signal is emitted when the current folder in a FileChooser
+ * changes. This can happen due to the user performing some action that
+ * changes folders, such as selecting a bookmark or visiting a folder on the
+ * file list. It can also happen as a result of calling a function to
+ * explicitly change the current folder in a file chooser.
+ *
+ * Normally you do not need to connect to this signal, unless you need to keep
+ * track of which folder a file chooser is showing.
+ *
+ * @see set_current_folder(), get_current_folder(),
+ * set_current_folder_uri(), get_current_folder_uri().
+ */
+ _WRAP_SIGNAL(void current_folder_changed(), "current_folder_changed", no_default_handler)
+
+ /** This signal is emitted when there is a change in the set of selected files
+ * in a #GtkFileChooser. This can happen when the user modifies the selection
+ * with the mouse or the keyboard, or when explicitly calling functions to
+ * change the selection.
+ *
+ * Normally you do not need to connect to this signal, as it is easier to wait
+ * for the file chooser to finish running, and then to get the list of
+ * selected files using the functions mentioned below.
+ *
+ * @see select_filename(), unselect_filename(), get_filename(),
+ * get_filenames(), select_uri(),
+ * unselect_uri(), get_uri(),
+ * get_uris().
+ */
+ _WRAP_SIGNAL(void selection_changed(), "selection_changed", no_default_handler)
+
+ /** This signal is emitted when the preview in a file chooser should be
+ * regenerated. For example, this can happen when the currently selected file
+ * changes. You should use this signal if you want your file chooser to have
+ * a preview widget.
+ *
+ * Once you have installed a preview widget with
+ * set_preview_widget(), you should update it when this
+ * signal is emitted. You can use the functions
+ * get_preview_filename() or get_preview_uri() to get the name of the file to preview.
+ * Your widget may not be able to preview all kinds of files; your signal handler
+ * must call set_preview_wiget_active() to inform the file
+ * chooser about whether the preview was generated successfully or not.
+ *
+ * @see set_preview_widget(), set_preview_widget_active(),
+ * set_use_preview_label(), get_preview_filename(), get_preview_uri().
+ */
+ _WRAP_SIGNAL(void update_preview(), "update_preview", no_default_handler)
+
+ /** This signal is emitted when the user "activates" a file in the file
+ * chooser. This can happen by double-clicking on a file in the file list, or
+ * by pressing <keycap>Enter</keycap>.
+ *
+ * Normally you do not need to connect to this signal. It is used internally
+ * by FileChooserDialog to know when to activate the default button in the
+ * dialog.
+ *
+ * @see get_filename(), get_filenames(), get_uri(), get_uris().
+ */
+ _WRAP_SIGNAL(void file_activated(), "file_activated", no_default_handler)
+
+ _WRAP_SIGNAL(FileChooserConfirmation confirm_overwrite(), "confirm-overwrite", no_default_handler)
+
+ _WRAP_PROPERTY("action", FileChooserAction)
+ //TODO: _WRAP_PROPERTY("file-system", FileSystem) //FileSystem is not really public API.
+ _WRAP_PROPERTY("filter", FileFilter*)
+ _WRAP_PROPERTY("folder-mode", bool)
+ _WRAP_PROPERTY("local-only", bool)
+ _WRAP_PROPERTY("preview-widget", Widget*)
+ _WRAP_PROPERTY("preview-widget-active", bool)
+ _WRAP_PROPERTY("use-preview-label", bool)
+ _WRAP_PROPERTY("extra-widget", Widget*)
+ _WRAP_PROPERTY("select-multiple", bool)
+ _WRAP_PROPERTY("show-hidden", bool)
+ _WRAP_PROPERTY("do-overwrite-confirmation", bool)
+};
+
+} // namespace Gtk
+
diff --git a/libs/libglademm/libglademm/wrap_init.h b/libs/gtkmm2/gtk/src/filechooserbutton.ccg
index 59dcf4ae07..7adceabe28 100644
--- a/libs/libglademm/libglademm/wrap_init.h
+++ b/libs/gtkmm2/gtk/src/filechooserbutton.ccg
@@ -1,9 +1,9 @@
-#ifndef _LIBGLADEMM_WRAP_INIT_H
-#define _LIBGLADEMM_WRAP_INIT_H
+// -*- c++ -*-
+/* $Id: filechooserbutton.ccg,v 1.2 2005/01/09 12:42:07 murrayc Exp $ */
-/* wrap_init.h
+/*
*
- * Copyright (C) 1998-2001 The libglademm Development Team
+ * Copyright 2003 The gtkmm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -20,18 +20,17 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-// wrap_init.cc is generated by tools/generate_wrap_init.pl
+#include <gtk/gtkfilechooserbutton.h>
-namespace Gnome
+namespace Gtk
{
-namespace UI
+FileChooserButton::FileChooserButton(FileChooserAction action)
+:
+ _CONSTRUCT("action", action)
{
+}
+
-void wrap_init();
+} // namespace Gtk
-} /* namespace UI */
-
-} /* namespace Gnome */
-
-#endif // _LIBGLADEMM_WRAP_INIT_H
diff --git a/libs/gtkmm2/gtk/src/filechooserbutton.hg b/libs/gtkmm2/gtk/src/filechooserbutton.hg
new file mode 100644
index 0000000000..e4d9e03b9f
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/filechooserbutton.hg
@@ -0,0 +1,101 @@
+/* $Id: filechooserbutton.hg,v 1.7 2005/12/12 08:14:21 murrayc Exp $ */
+
+/* filechooserbutton.h
+ *
+ * Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/box.h>
+#include <gtkmm/filechooserdialog.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/box_p.h)
+
+
+namespace Gtk
+{
+
+/** A button to launch a file chooser dialog.
+ *
+ * This widget lets the user select a file. It implements the FileChooser interface. Visually, it is a file name with a
+ * button to bring up a FileChooserDialog. The user can then use that dialog to change the file associated with that
+ * button. This widget does not support setting the "select_multiple" property to true.
+ *
+ * The FileChooserButton supports the FileChooserActions FILE_CHOOSER_ACTION_OPEN and FILE_CHOOSER_ACTION_SELECT_FOLDER.
+ *
+ * The FileChooserButton will ellipsize the label, and will thus request little horizontal space. To give the button more
+ * space, you should call size_request(), set_width_chars(), or pack the button in such a way that other interface
+ * elements give space to the widget.
+ *
+ * @ingroup Widgets
+ */
+class FileChooserButton
+ : public HBox,
+ public FileChooser
+{
+ _CLASS_GTKOBJECT(FileChooserButton, GtkFileChooserButton, GTK_FILE_CHOOSER_BUTTON, Gtk::HBox, GtkHBox)
+ _IMPLEMENTS_INTERFACE(FileChooser)
+public:
+
+ /** Creates a new file-selecting button widget with the default title.
+ * @param title The title of the browse dialog.
+ * @param action The open mode for the widget.
+ * @param backend The name of the Gtk::FileSystem backend to use.
+ */
+ explicit FileChooserButton(FileChooserAction action = FILE_CHOOSER_ACTION_OPEN);
+
+ /** Creates a new file-selecting button widget.
+ *
+ * @param title The title of the browse dialog.
+ * @param action The open mode for the widget.
+ */
+ _WRAP_CTOR(FileChooserButton(const Glib::ustring& title, FileChooserAction action = FILE_CHOOSER_ACTION_OPEN), gtk_file_chooser_button_new)
+
+ /** Creates a new file-selecting button widget using backend.
+ *
+ * @param title The title of the browse dialog.
+ * @param action The open mode for the widget.
+ * @param backend The name of the Gtk::FileSystem backend to use.
+ */
+ _WRAP_CTOR(FileChooserButton(const Glib::ustring& title, FileChooserAction action, const Glib::ustring& backend), gtk_file_chooser_button_new_with_backend)
+
+ /** Creates a new file-selecting button widget which uses dialog as its file-picking window.
+ *
+ * @param dialog The dialog to use.
+ */
+ _WRAP_CTOR(FileChooserButton(FileChooserDialog& dialog), gtk_file_chooser_button_new_with_dialog)
+
+ _WRAP_METHOD(Glib::ustring get_title() const, gtk_file_chooser_button_get_title)
+ _WRAP_METHOD(void set_title(const Glib::ustring& title), gtk_file_chooser_button_set_title)
+
+ _WRAP_METHOD(int get_width_chars() const, gtk_file_chooser_button_get_width_chars)
+ _WRAP_METHOD(void set_width_chars(int n_chars), gtk_file_chooser_button_set_width_chars)
+
+ _WRAP_METHOD(bool get_focus_on_click() const, gtk_file_chooser_button_get_focus_on_click)
+ _WRAP_METHOD(void set_focus_on_click(gboolean focus_on_click = true), gtk_file_chooser_button_set_focus_on_click)
+
+ //I'm no totally convinced that this is only a key-binding signal. murrayc:
+ _IGNORE_SIGNAL("file-set")
+
+ _WRAP_PROPERTY("dialog", FileChooserDialog*)
+ _WRAP_PROPERTY("focus-on-click", bool)
+ _WRAP_PROPERTY("title", Glib::ustring)
+ _WRAP_PROPERTY("width-chars", int)
+};
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/filechooserdialog.ccg b/libs/gtkmm2/gtk/src/filechooserdialog.ccg
new file mode 100644
index 0000000000..838cb52ff9
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/filechooserdialog.ccg
@@ -0,0 +1,56 @@
+// -*- c++ -*-
+/* $Id: filechooserdialog.ccg,v 1.2 2005/01/06 22:51:46 mxpxpod Exp $ */
+
+/*
+ *
+ * Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkfilechooserdialog.h>
+
+
+namespace Gtk
+{
+
+FileChooserDialog::FileChooserDialog(Gtk::Window& parent, const Glib::ustring& title, FileChooserAction action)
+:
+ _CONSTRUCT("title", title.c_str(), "action", (GtkFileChooserAction)action)
+{
+ set_transient_for(parent);
+}
+
+FileChooserDialog::FileChooserDialog(const Glib::ustring& title, FileChooserAction action)
+:
+ _CONSTRUCT("title", title.c_str(), "action", (GtkFileChooserAction)action)
+{
+}
+
+FileChooserDialog::FileChooserDialog(const Glib::ustring& title, FileChooserAction action, const Glib::ustring& backend)
+:
+ _CONSTRUCT("title", title.c_str(), "action", (GtkFileChooserAction)action, "file-system-backend", backend.c_str())
+{
+}
+
+FileChooserDialog::FileChooserDialog(Gtk::Window& parent, const Glib::ustring& title, FileChooserAction action, const Glib::ustring& backend)
+:
+ _CONSTRUCT("title", title.c_str(), "action", (GtkFileChooserAction)action, "file-system-backend", backend.c_str())
+{
+ set_transient_for(parent);
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/filechooserdialog.hg b/libs/gtkmm2/gtk/src/filechooserdialog.hg
new file mode 100644
index 0000000000..9a30341a01
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/filechooserdialog.hg
@@ -0,0 +1,53 @@
+/* $Id: filechooserdialog.hg,v 1.4 2005/01/09 12:42:07 murrayc Exp $ */
+
+/* filechooserdialog.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/dialog.h>
+#include <gtkmm/filechooser.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/dialog_p.h)
+
+namespace Gtk
+{
+
+/** Convenient file chooser window.
+ *
+ * @ingroup Dialogs
+ */
+class FileChooserDialog
+ : public Dialog,
+ public FileChooser
+{
+ _CLASS_GTKOBJECT(FileChooserDialog, GtkFileChooserDialog, GTK_FILE_CHOOSER_DIALOG, Gtk::Dialog, GtkDialog)
+ _IMPLEMENTS_INTERFACE(FileChooser)
+ _UNMANAGEABLE
+public:
+ _IGNORE(gtk_file_chooser_dialog_new)
+ explicit FileChooserDialog(Gtk::Window& parent, const Glib::ustring& title, FileChooserAction action = FILE_CHOOSER_ACTION_OPEN);
+ explicit FileChooserDialog(const Glib::ustring& title, FileChooserAction action = FILE_CHOOSER_ACTION_OPEN);
+
+ _IGNORE(gtk_file_chooser_dialog_new_with_backend)
+ explicit FileChooserDialog(Gtk::Window& parent, const Glib::ustring& title, FileChooserAction action, const Glib::ustring& backend);
+ explicit FileChooserDialog(const Glib::ustring& title, FileChooserAction action, const Glib::ustring& backend);
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/filechooserwidget.ccg b/libs/gtkmm2/gtk/src/filechooserwidget.ccg
new file mode 100644
index 0000000000..5dabd7cf64
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/filechooserwidget.ccg
@@ -0,0 +1,30 @@
+// -*- c++ -*-
+/* $Id: filechooserwidget.ccg,v 1.1 2003/11/01 17:02:37 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkfilechooserwidget.h>
+
+namespace Gtk
+{
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/filechooserwidget.hg b/libs/gtkmm2/gtk/src/filechooserwidget.hg
new file mode 100644
index 0000000000..837f120438
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/filechooserwidget.hg
@@ -0,0 +1,64 @@
+/* $Id: filechooserwidget.hg,v 1.4 2005/11/30 14:10:49 murrayc Exp $ */
+
+/* box.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/box.h>
+#include <gtkmm/filechooser.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/box_p.h)
+
+
+namespace Gtk
+{
+
+/** File chooser widget that can be embedded in other widgets.
+ *
+ * FileChooserWidget is a widget suitable for selecting files. It is the main
+ * building block of a Gtk::FileChooserDialog. Most applications will only need to use
+ * the latter; you can use FileChooserWidget as part of a larger window if you have
+ * special needs.
+ *
+ * @ingroup Widgets
+ */
+class FileChooserWidget
+: public VBox,
+ public FileChooser
+{
+ _CLASS_GTKOBJECT(FileChooserWidget, GtkFileChooserWidget, GTK_FILE_CHOOSER_WIDGET, Gtk::VBox, GtkVBox)
+ _IMPLEMENTS_INTERFACE(FileChooser)
+public:
+ _CTOR_DEFAULT;
+
+ /** Creates a file chooser widget that can be embedded in other widgets.
+ *
+ * Creates a new FileChooserWidget. This is a file chooser widget that can be embedded in
+ * custom windows, and it is the same widget that is used by Gtk::FileChooserDialog.
+ *
+ * @param action Open or save mode for the widget
+ *
+ * @newin2p4
+ */
+ _WRAP_CTOR(FileChooserWidget(FileChooserAction action), gtk_file_chooser_widget_new)
+ _WRAP_CTOR(FileChooserWidget(FileChooserAction action, const Glib::ustring& backend), gtk_file_chooser_widget_new_with_backend)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/filefilter.ccg b/libs/gtkmm2/gtk/src/filefilter.ccg
new file mode 100644
index 0000000000..094585d8db
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/filefilter.ccg
@@ -0,0 +1,73 @@
+// -*- c++ -*-
+/* $Id: filefilter.ccg,v 1.8 2006/05/11 11:40:24 murrayc Exp $ */
+
+/* Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkfilefilter.h>
+#include <gtk/gtktypebuiltins.h> //For gtk_file_filter_flags_get_type().
+
+static gboolean SignalProxy_Custom_gtk_callback(const GtkFileFilterInfo* filter_info, gpointer data)
+{
+ Gtk::FileFilter::SlotCustom* the_slot = static_cast<Gtk::FileFilter::SlotCustom*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ //Create a suitable C++ instance to pass to the C++ method:
+ Gtk::FileFilter::Info cppInfo;
+ cppInfo.contains = (Gtk::FileFilterFlags)filter_info->contains;
+ cppInfo.filename = Glib::convert_const_gchar_ptr_to_ustring(filter_info->filename);
+ cppInfo.uri = Glib::convert_const_gchar_ptr_to_ustring(filter_info->uri);
+ cppInfo.display_name = Glib::convert_const_gchar_ptr_to_ustring(filter_info->display_name);
+ cppInfo.mime_type = Glib::convert_const_gchar_ptr_to_ustring(filter_info->mime_type);
+
+ return (*the_slot)(cppInfo);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ return false; //arbitrary default;
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+static void SignalProxy_Custom_gtk_callback_destroy(void* data)
+{
+ delete static_cast<Gtk::FileFilter::SlotCustom*>(data);
+}
+
+
+namespace Gtk
+{
+
+void FileFilter::add_custom(FileFilterFlags needed, const SlotCustom& slot)
+{
+ //Create a copy of the slot. A pointer to this will be passed through the callback's data parameter.
+ //It will be deleted when SignalProxy_Custom::gtk_callback_destroy() is called.
+ SlotCustom* slot_copy = new SlotCustom(slot);
+
+ gtk_file_filter_add_custom(gobj(), (GtkFileFilterFlags)needed,
+ &SignalProxy_Custom_gtk_callback,
+ slot_copy,
+ &SignalProxy_Custom_gtk_callback_destroy);
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/filefilter.hg b/libs/gtkmm2/gtk/src/filefilter.hg
new file mode 100644
index 0000000000..9fea529c32
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/filefilter.hg
@@ -0,0 +1,88 @@
+/* $Id: filefilter.hg,v 1.8 2004/11/12 11:51:42 murrayc Exp $ */
+
+/* Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/object.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/object_p.h)
+
+//TODO: remove this if we wrap this in a C++ type:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+//typedef struct _GtkFileFilterInfo GtkFileFilterInfo;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Gtk
+{
+
+_WRAP_ENUM(FileFilterFlags, GtkFileFilterFlags)
+
+/** A filter for selecting a file subset.
+ *
+ * A Gtk::FileFilter can be used to restrict the files being shown in a Gtk::FileChooser.
+ * Files can be filtered based on their name (with add_pattern()),
+ * on their mime type (with add_mime_type()), or by a custom filter
+ * function (with add_custom()).
+ *
+ * Filtering by mime types handles aliasing and subclassing of mime types;
+ * e.g. a filter for text/plain also matches a file with mime type application/rtf,
+ * since application/rtf is a subclass of text/plain. Note that Gtk::FileFilter
+ * allows wildcards for the subtype of a mime type, so you can e.g. filter for image/ *.
+ *
+ * Normally, filters are used by adding them to a Gtk::FileChooser. See Gtk::FileChooser::add_filter().
+ * But it is also possible to manually use a filter on a file with filter().
+ */
+class FileFilter : public Gtk::Object
+{
+ _CLASS_GTKOBJECT(FileFilter, GtkFileFilter, GTK_FILE_FILTER, Gtk::Object, GtkObject)
+public:
+ _CTOR_DEFAULT
+
+ _WRAP_METHOD(void set_name(const Glib::ustring& name), gtk_file_filter_set_name)
+ _WRAP_METHOD(Glib::ustring get_name() const, gtk_file_filter_get_name)
+
+ _WRAP_METHOD(void add_mime_type(const Glib::ustring& mime_type), gtk_file_filter_add_mime_type)
+ _WRAP_METHOD(void add_pattern(const Glib::ustring& pattern), gtk_file_filter_add_pattern)
+ _WRAP_METHOD(void add_pixbuf_formats(), gtk_file_filter_add_pixbuf_formats)
+
+ class Info
+ {
+ public:
+ FileFilterFlags contains;
+ Glib::ustring filename;
+ Glib::ustring uri;
+ Glib::ustring display_name;
+ Glib::ustring mime_type;
+ };
+
+ /// For instance, bool on_custom(const Gtk::FileFilter::Info& filter_info);
+ typedef sigc::slot<bool, const Info&> SlotCustom;
+
+ void add_custom(FileFilterFlags needed, const SlotCustom& slot);
+ _IGNORE(gtk_file_filter_add_custom)
+
+ _WRAP_METHOD(FileFilterFlags get_needed() const, gtk_file_filter_get_needed)
+
+ //TODO: This method is used by FileChooser implementors, so we don't need to wrap it.
+ _IGNORE(gtk_file_filter_filter)
+ //_WRAP_METHOD(bool filter(const GtkFileFilterInfo* filter_info), gtk_file_filter_filter)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/fileselection.ccg b/libs/gtkmm2/gtk/src/fileselection.ccg
new file mode 100644
index 0000000000..97e297630c
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/fileselection.ccg
@@ -0,0 +1,37 @@
+// -*- c++ -*-
+/* $Id: fileselection.ccg,v 1.1 2003/01/21 13:38:49 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkfilesel.h>
+#include <gtkmm/entry.h>
+#include <gtkmm/label.h>
+#include <gtkmm/box.h>
+#include <gtkmm/button.h>
+
+
+namespace Gtk
+{
+
+FileSelection::FileSelection()
+:
+ _CONSTRUCT("title", (char*) 0)
+{}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/fileselection.hg b/libs/gtkmm2/gtk/src/fileselection.hg
new file mode 100644
index 0000000000..ff49ea2d34
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/fileselection.hg
@@ -0,0 +1,103 @@
+/* $Id: fileselection.hg,v 1.4 2005/11/29 16:38:10 murrayc Exp $ */
+
+
+/* fileselection.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+_CONFIGINCLUDE(gtkmmconfig.h)
+
+#include <gtkmm/dialog.h>
+#include <gtkmm/button.h>
+#include <gtkmm/entry.h>
+#include <gtkmm/label.h>
+#include <gtkmm/box.h>
+#include <gtkmm/treeview.h>
+#include <gtkmm/buttonbox.h>
+#include <gtkmm/optionmenu.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/dialog_p.h)
+
+namespace Gtk
+{
+
+/** Prompt the user for a file or directory name.
+ *
+ * Gtk::FileSelection should be used to retrieve file or directory names from
+ * the user. It will create a new dialog window containing a directory list,
+ * and a file list corresponding to the current working directory. The
+ * filesystem can be navigated using the directory list or the drop-down
+ * history menu. Alternatively, the TAB key can be used to navigate using
+ * filename completion - common in text based editors such as emacs and jed.
+ *
+ * @deprecated Use the FileChooserDialog instead.
+ */
+class FileSelection : public Dialog
+{
+ _CLASS_GTKOBJECT(FileSelection,GtkFileSelection,GTK_FILE_SELECTION,Gtk::Dialog,GtkDialog)
+ _UNMANAGEABLE
+ _IS_DEPRECATED
+public:
+
+ FileSelection();
+ _WRAP_CTOR(FileSelection(const Glib::ustring& title), gtk_file_selection_new)
+
+#m4 dnl // Rarely needed -- could be used by accident if it were in convert_gtk.m4.
+#m4 _CONVERSION(`const std::string&', `const gchar*', `($3).c_str()')
+
+ _WRAP_METHOD(void set_filename(const std::string& filename), gtk_file_selection_set_filename)
+
+#m4 dnl // This isn't in convert_gtk.m4, because usually we need to check for NULL.
+#m4 _CONVERSION(`const gchar*', `std::string', `$2($3)')
+
+ _WRAP_METHOD(std::string get_filename() const, gtk_file_selection_get_filename)
+
+ _WRAP_METHOD(void complete(const Glib::ustring& pattern), gtk_file_selection_complete)
+ _WRAP_METHOD(void show_fileop_buttons(), gtk_file_selection_show_fileop_buttons)
+ _WRAP_METHOD(void hide_fileop_buttons(), gtk_file_selection_hide_fileop_buttons)
+
+#m4 dnl // This isn't in convert_gtk.m4, since the gchar** ownership policy often differs.
+#m4 _CONVERSION(`gchar**', `Glib::ArrayHandle<std::string>', `$2($3, Glib::OWNERSHIP_DEEP)')
+
+ _WRAP_METHOD(Glib::ArrayHandle<std::string> get_selections() const, gtk_file_selection_get_selections)
+
+ _WRAP_METHOD(void set_select_multiple(bool select_multiple = true), gtk_file_selection_set_select_multiple)
+ _WRAP_METHOD(bool get_select_multiple() const, gtk_file_selection_get_select_multiple)
+
+ //: Accessors
+ _MEMBER_GET_PTR(dir_list, dir_list, TreeView*, GtkWidget*)
+ _MEMBER_GET_PTR(file_list, file_list, TreeView*, GtkWidget*)
+ _MEMBER_GET_PTR(history_pulldown, history_pulldown, OptionMenu*, GtkWidget*)
+ _MEMBER_GET_PTR(selection_entry, selection_entry, Entry*, GtkWidget*)
+ _MEMBER_GET_PTR(selection_text, selection_text, Label*, GtkWidget*)
+ _MEMBER_GET_PTR(main_vbox, main_vbox, VBox*, GtkWidget*)
+ _MEMBER_GET_PTR(ok_button, ok_button, Button*, GtkWidget*)
+ _MEMBER_GET_PTR(cancel_button, cancel_button, Button*, GtkWidget*)
+ _MEMBER_GET_PTR(help_button, help_button, Button*, GtkWidget*)
+ _MEMBER_GET_PTR(button_area, button_area, HButtonBox*, GtkWidget*)
+ _MEMBER_GET_PTR(action_area, action_area, HBox*, GtkWidget*)
+
+ _WRAP_PROPERTY("show-fileops", bool)
+ _WRAP_PROPERTY("filename", std::string)
+ _WRAP_PROPERTY("select_multiple", bool)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/fixed.ccg b/libs/gtkmm2/gtk/src/fixed.ccg
new file mode 100644
index 0000000000..45d23a96ce
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/fixed.ccg
@@ -0,0 +1,28 @@
+// -*- c++ -*-
+/* $Id: fixed.ccg,v 1.1 2003/01/21 13:38:49 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkfixed.h>
+
+namespace Gtk
+{
+}
+
diff --git a/libs/gtkmm2/gtk/src/fixed.hg b/libs/gtkmm2/gtk/src/fixed.hg
new file mode 100644
index 0000000000..4ed00f4859
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/fixed.hg
@@ -0,0 +1,56 @@
+/* $Id: fixed.hg,v 1.1 2003/01/21 13:38:49 murrayc Exp $ */
+
+/* fixed.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/container.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/container_p.h)
+
+namespace Gtk
+{
+
+/** A container which allows you to position widgets at fixed coordinates.
+ *
+ * The Gtk::Fixed widget is a container which can place child widgets at fixed positions and with fixed sizes, given in pixels. It performs no automatic layout management.
+ * For most applications, you should not use this container, because it will result in truncated text, overlapping widgets, and other display bugs:
+ * - Themes may change widget sizes.
+ * - Fonts other than the one you used to write the app will of course change the size of widgets containing text; keep in mind that users may use a larger font because of difficulty reading the default, or they may be using Windows or the framebuffer port of GTK+, where different fonts are available.
+ * - Translation of text into other languages changes its size. Also, display of non-English text will use a different font in many cases.
+ * In addition, the fixed widget can't properly be mirrored in right-to-left languages such as Hebrew and Arabic. i.e. normally GTK+ will flip the interface to put labels to the right of the thing they label, but it can't do that with Gtk::Fixed. So your application will not be usable in right-to-left languages.
+ * Finally, fixed positioning makes it kind of annoying to add/remove GUI elements, since you have to reposition all the other elements. This is a long-term maintenance problem for your application.
+ * If you know none of these things are an issue for your application, and prefer the simplicity of Gtk::Fixed, by all means use the widget. But you should be aware of the tradeoffs.
+ *
+ * @ingroup Widgets
+ * @ingroup Containers
+ */
+class Fixed : public Container
+{
+ _CLASS_GTKOBJECT(Fixed,GtkFixed,GTK_FIXED,Gtk::Container,GtkContainer)
+public:
+ _CTOR_DEFAULT
+
+ _WRAP_METHOD(void put(Widget& widget, int x, int y), gtk_fixed_put)
+ _WRAP_METHOD(void move(Widget& widget, int x, int y), gtk_fixed_move)
+ _WRAP_METHOD(void set_has_window(bool has_window = true), gtk_fixed_set_has_window)
+ _WRAP_METHOD(bool get_has_window() const, gtk_fixed_get_has_window)
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/fontbutton.ccg b/libs/gtkmm2/gtk/src/fontbutton.ccg
new file mode 100644
index 0000000000..0dbaf97694
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/fontbutton.ccg
@@ -0,0 +1,30 @@
+// -*- c++ -*-
+/* $Id: fontbutton.ccg,v 1.1 2003/10/12 09:38:11 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkfontbutton.h>
+
+namespace Gtk
+{
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/fontbutton.hg b/libs/gtkmm2/gtk/src/fontbutton.hg
new file mode 100644
index 0000000000..190330368d
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/fontbutton.hg
@@ -0,0 +1,72 @@
+/* $Id: fontbutton.hg,v 1.5 2006/08/02 14:42:41 jjongsma Exp $ */
+
+/* fontbutton.h
+ *
+ * Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/button.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/button_p.h)
+
+
+namespace Gtk
+{
+
+/** A button to launch a font selection dialog.
+ *
+ * The Gtk::FontButton is a button which displays the currently selected font and
+ * allows to open a font selection dialog to change the font. It is suitable widget
+ * for selecting a font in a preference dialog.
+ * @ingroup Widgets
+ */
+class FontButton : public Button
+{
+ _CLASS_GTKOBJECT(FontButton, GtkFontButton, GTK_FONT_BUTTON, Gtk::Button, GtkButton)
+public:
+ _CTOR_DEFAULT()
+ _WRAP_CTOR(FontButton(const Glib::ustring& font_name), gtk_font_button_new_with_font)
+
+ _WRAP_METHOD(Glib::ustring get_title() const, gtk_font_button_get_title)
+ _WRAP_METHOD(void set_title(const Glib::ustring& title), gtk_font_button_set_title)
+ _WRAP_METHOD(bool get_use_font() const, gtk_font_button_get_use_font)
+ _WRAP_METHOD(void set_use_font(bool use_font = true), gtk_font_button_set_use_font)
+ _WRAP_METHOD(bool get_use_size() const, gtk_font_button_get_use_size)
+ _WRAP_METHOD(void set_use_size(bool use_size = true), gtk_font_button_set_use_size)
+ _WRAP_METHOD(Glib::ustring get_font_name() const, gtk_font_button_get_font_name)
+ _WRAP_METHOD(bool set_font_name(const Glib::ustring& fontname), gtk_font_button_set_font_name)
+ _WRAP_METHOD(bool get_show_style() const, gtk_font_button_get_show_style)
+ _WRAP_METHOD(void set_show_style(bool show_style = true), gtk_font_button_set_show_style)
+ _WRAP_METHOD(bool get_show_size() const, gtk_font_button_get_show_size)
+ _WRAP_METHOD(void set_show_size(bool show_size = true), gtk_font_button_set_show_size)
+
+ _WRAP_PROPERTY("title", Glib::ustring)
+ _WRAP_PROPERTY("font-name", Glib::ustring)
+ _WRAP_PROPERTY("use-font", bool)
+ _WRAP_PROPERTY("use-size", bool)
+ _WRAP_PROPERTY("show-style", bool)
+ _WRAP_PROPERTY("show-size", bool)
+
+ /** The font_set signal is emitted when the user selects a font. When handling this signal,
+ * use get_font_name() to find out which font was just selected.
+ */
+ _WRAP_SIGNAL(void font_set(), "font-set")
+};
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/fontselection.ccg b/libs/gtkmm2/gtk/src/fontselection.ccg
new file mode 100644
index 0000000000..41184a228f
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/fontselection.ccg
@@ -0,0 +1,25 @@
+// -*- c++ -*-
+/* $Id: fontselection.ccg,v 1.1 2003/01/21 13:38:49 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/button.h>
+#include <gtkmm/entry.h>
+#include <gtkmm/radiobutton.h>
+#include <gtk/gtkfontsel.h>
+
diff --git a/libs/gtkmm2/gtk/src/fontselection.hg b/libs/gtkmm2/gtk/src/fontselection.hg
new file mode 100644
index 0000000000..74bec3aad8
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/fontselection.hg
@@ -0,0 +1,100 @@
+/* $Id: fontselection.hg,v 1.2 2003/01/22 23:04:19 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/box_p.h)
+_PINCLUDE(gtkmm/private/dialog_p.h)
+
+#include <gtkmm/dialog.h>
+#include <gtkmm/box.h>
+
+
+namespace Gtk
+{
+
+class Button;
+class Entry;
+class RadioButton;
+
+
+/** A widget for selecting fonts.
+ *
+ * The Gtk::FontSelection widget lists the available fonts, styles and
+ * sizes, allowing the user to select a font. It is used in the
+ * Gtk::FontSelectionDialog widget to provide a dialog box for selecting
+ * fonts.
+ *
+ * @ingroup Widgets
+ */
+class FontSelection : public VBox
+{
+ _CLASS_GTKOBJECT(FontSelection,GtkFontSelection,GTK_FONT_SELECTION,Gtk::VBox,GtkVBox)
+ _IGNORE(gtk_font_selection_get_font)
+public:
+ _CTOR_DEFAULT()
+
+ _WRAP_METHOD(Glib::ustring get_font_name() const, gtk_font_selection_get_font_name)
+ _WRAP_METHOD(bool set_font_name(const Glib::ustring& fontname), gtk_font_selection_set_font_name)
+ _WRAP_METHOD(Glib::ustring get_preview_text() const, gtk_font_selection_get_preview_text)
+ _WRAP_METHOD(void set_preview_text(const Glib::ustring& fontname),gtk_font_selection_set_preview_text)
+
+ // Font page
+ _MEMBER_GET_PTR(font_entry,font_entry,Entry*,GtkWidget*)
+ _MEMBER_GET_PTR(font_style_entry,font_style_entry,Entry*,GtkWidget*)
+ _MEMBER_GET_PTR(size_entry,size_entry,Entry*,GtkWidget*)
+
+ _MEMBER_GET_PTR(pixels_button,pixels_button,RadioButton*,GtkWidget*)
+ _MEMBER_GET_PTR(points_button,points_button,RadioButton*,GtkWidget*)
+ _MEMBER_GET_PTR(filter_button,filter_button,Button*,GtkWidget*)
+
+ _MEMBER_GET_PTR(preview_entry,preview_entry,Entry*,GtkWidget*)
+
+ _WRAP_PROPERTY("font_name", Glib::ustring)
+ _WRAP_PROPERTY("preview_text", Glib::ustring)
+};
+
+/** A dialog box for selecting fonts.
+ *
+ * The Gtk::FontSelectionDialog widget is a dialog box for selecting a font.
+ *
+ * @ingroup Dialogs
+ */
+class FontSelectionDialog : public Dialog
+{
+ _CLASS_GTKOBJECT(FontSelectionDialog,GtkFontSelectionDialog,GTK_FONT_SELECTION_DIALOG,Gtk::Dialog,GtkDialog)
+ _IGNORE(gtk_font_selection_dialog_get_font)
+ _UNMANAGEABLE()
+public:
+
+ _CTOR_DEFAULT()
+ _WRAP_CTOR(FontSelectionDialog(const Glib::ustring& title), gtk_font_selection_dialog_new)
+
+ _WRAP_METHOD(bool set_font_name(const Glib::ustring& fontname),gtk_font_selection_dialog_set_font_name)
+ _WRAP_METHOD(Glib::ustring get_font_name() const, gtk_font_selection_dialog_get_font_name)
+ _WRAP_METHOD(Glib::ustring get_preview_text() const,gtk_font_selection_dialog_get_preview_text)
+ _WRAP_METHOD(void set_preview_text(const Glib::ustring& fontname), gtk_font_selection_dialog_set_preview_text)
+
+ _MEMBER_GET_PTR(font_selection,fontsel,FontSelection*,GtkWidget*)
+ _MEMBER_GET_PTR(ok_button,ok_button,Button*,GtkWidget*)
+ _MEMBER_GET_PTR(apply_button,apply_button,Button*,GtkWidget*)
+ _MEMBER_GET_PTR(cancel_button,cancel_button,Button*,GtkWidget*)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/frame.ccg b/libs/gtkmm2/gtk/src/frame.ccg
new file mode 100644
index 0000000000..6a1ac9612f
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/frame.ccg
@@ -0,0 +1,32 @@
+// -*- c++ -*-
+/* $Id: frame.ccg,v 1.1 2003/01/21 13:38:49 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkframe.h>
+
+namespace Gtk
+{
+
+void Frame::unset_label()
+{
+ gtk_frame_set_label(gobj(), 0);
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/frame.hg b/libs/gtkmm2/gtk/src/frame.hg
new file mode 100644
index 0000000000..7601ac6980
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/frame.hg
@@ -0,0 +1,89 @@
+/* $Id: frame.hg,v 1.6 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* frame.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+#include <gtkmm/bin.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/bin_p.h)
+
+namespace Gtk
+{
+
+/** A Gtk::Bin with a decorative frame and optional label.
+ *
+ * The Frame widget surrounds its single child with a decorative frame and
+ * an optional label. If present, the label is drawn in a gap in the top
+ * side of the frame. The position of the label can be controlled with
+ * set_label_align().
+ *
+ * @ingroup Widgets
+ * @ingroup Containers
+ */
+class Frame : public Bin
+{
+ _CLASS_GTKOBJECT(Frame,GtkFrame,GTK_FRAME,Gtk::Bin,GtkBin)
+public:
+
+ _CTOR_DEFAULT()
+ _WRAP_CTOR(Frame(const Glib::ustring& label), gtk_frame_new)
+
+ //TODO: Add a bool use_markup arg to set_label() as a convenience - it would have to use set_label_widget().
+
+ /** Set the label to appear in the top edge of the frame.
+ * Label alignment defaults to the upper left corner of the frame.
+ */
+ _WRAP_METHOD(void set_label(const Glib::ustring& label), gtk_frame_set_label)
+ void unset_label();
+ _WRAP_METHOD(Glib::ustring get_label() const, gtk_frame_get_label)
+
+ _WRAP_METHOD(void set_label_widget(Widget& label_widget), gtk_frame_set_label_widget)
+ _WRAP_METHOD(Widget* get_label_widget(), gtk_frame_get_label_widget)
+ _WRAP_METHOD(const Widget* get_label_widget() const, gtk_frame_get_label_widget, constversion)
+
+ /** Set the alignment of the Frame's label.
+ * @param xalign The position of the label along the top edge of the widget.
+ * A value of 0.0 represents left alignment; 1.0 represents right alignment.
+ * The default value for a newly created Frame is 0.0.
+ * @param yalign The y alignment of the label. Currently ignored.
+ */
+ _WRAP_METHOD(void set_label_align(float xalign = 0.0, float yalign = 0.5), gtk_frame_set_label_align)
+ _WRAP_METHOD(void set_label_align(AlignmentEnum xalign, AlignmentEnum yalign = Gtk::ALIGN_CENTER), gtk_frame_set_label_align)
+
+ _WRAP_METHOD(void get_label_align(float& xalign, float& yalign) const, gtk_frame_get_label_align)
+
+ /** Sets shadow type of the frame.
+ */
+ _WRAP_METHOD(void set_shadow_type(ShadowType type), gtk_frame_set_shadow_type)
+ _WRAP_METHOD(ShadowType get_shadow_type() const, gtk_frame_get_shadow_type)
+
+ _WRAP_PROPERTY("label", Glib::ustring)
+ _WRAP_PROPERTY("label-xalign", double)
+ _WRAP_PROPERTY("label-yalign", double)
+ _WRAP_PROPERTY("shadow-type", ShadowType)
+ _WRAP_PROPERTY("label-widget", Widget*)
+
+protected:
+ _WRAP_VFUNC(void compute_child_allocation(Allocation& allocation), compute_child_allocation)
+
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/gtk.defs b/libs/gtkmm2/gtk/src/gtk.defs
new file mode 100644
index 0000000000..b044137af2
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/gtk.defs
@@ -0,0 +1,6 @@
+(include gtk_methods.defs)
+(include gtk_signals.defs)
+(include gtk_vfuncs.defs)
+(include gtk_enums.defs)
+(include gtk_other.defs)
+
diff --git a/libs/gtkmm2/gtk/src/gtk_docs.xml b/libs/gtkmm2/gtk/src/gtk_docs.xml
new file mode 100644
index 0000000000..435faafaf2
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/gtk_docs.xml
@@ -0,0 +1,61479 @@
+<root>
+<function name="gtk_tree_view_get_enable_search">
+<description>
+Return value: whether or not to let the user search interactively
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether or not to let the user search interactively
+</return>
+</function>
+
+<function name="gtk_page_setup_get_paper_height">
+<description>
+Return value: the paper height.
+
+</description>
+<parameters>
+<parameter name="setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the unit for the return value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the paper height.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_view_set_tooltip_row">
+<description>
+Sets the tip area of @tooltip to be the area covered by the row at @path.
+See also gtk_tooltip_set_tip_area().
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="tooltip">
+<parameter_description> a #GtkTooltip
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a #GtkTreePath
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_theme_has_icon">
+<description>
+Checks whether an icon theme includes an icon
+for a particular name.
+
+
+</description>
+<parameters>
+<parameter name="icon_theme">
+<parameter_description> a #GtkIconTheme
+</parameter_description>
+</parameter>
+<parameter name="icon_name">
+<parameter_description> the name of an icon
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @icon_theme includes an
+icon for @icon_name.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_action_group_add_radio_actions">
+<description>
+This is a convenience routine to create a group of radio actions and
+add them to the action group.
+
+The &quot;changed&quot; signal of the first radio action is connected to the
+@on_change callback and the accel paths of the actions are set to
+&amp;lt;literal&amp;gt;&amp;lt;Actions&amp;gt;/&amp;lt;replaceable&amp;gt;group-name&amp;lt;/replaceable&amp;gt;/&amp;lt;replaceable&amp;gt;action-name&amp;lt;/replaceable&amp;gt;&amp;lt;/literal&amp;gt;.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action_group">
+<parameter_description> the action group
+</parameter_description>
+</parameter>
+<parameter name="entries">
+<parameter_description> an array of radio action descriptions
+</parameter_description>
+</parameter>
+<parameter name="n_entries">
+<parameter_description> the number of entries
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> the value of the action to activate initially, or -1 if
+no action should be activated
+</parameter_description>
+</parameter>
+<parameter name="on_change">
+<parameter_description> the callback to connect to the changed signal
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> data to pass to the action callbacks
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_clipboard_set_with_owner">
+<description>
+Virtually sets the contents of the specified clipboard by providing
+a list of supported formats for the clipboard data and a function
+to call to get the actual data when it is requested.
+
+The difference between this function and gtk_clipboard_set_with_data()
+is that instead of an generic @user_data pointer, a #GObject is passed
+in.
+
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard
+</parameter_description>
+</parameter>
+<parameter name="targets">
+<parameter_description> array containing information about the available forms for the
+clipboard data
+</parameter_description>
+</parameter>
+<parameter name="n_targets">
+<parameter_description> number of elements in @targets
+</parameter_description>
+</parameter>
+<parameter name="get_func">
+<parameter_description> function to call to get the actual clipboard data
+</parameter_description>
+</parameter>
+<parameter name="clear_func">
+<parameter_description> when the clipboard contents are set again, this function will
+be called, and @get_func will not be subsequently called.
+</parameter_description>
+</parameter>
+<parameter name="owner">
+<parameter_description> an object that &quot;owns&quot; the data. This object will be passed
+to the callbacks when called.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if setting the clipboard data succeeded. If setting
+the clipboard data failed the provided callback functions
+will be ignored.
+</return>
+</function>
+
+<function name="gtk_combo_box_entry_new">
+<description>
+Creates a new #GtkComboBoxEntry which has a #GtkEntry as child. After
+construction, you should set a model using gtk_combo_box_set_model() and a
+text_column * using gtk_combo_box_entry_set_text_column().
+
+
+</description>
+<parameters>
+</parameters>
+<return> A new #GtkComboBoxEntry.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_text_iter_forward_sentence_end">
+<description>
+Moves forward to the next sentence end. (If @iter is at the end of
+a sentence, moves to the next end of sentence.) Sentence
+boundaries are determined by Pango and should be correct for nearly
+any language (if not, the correct fix would be to the Pango text
+boundary algorithms).
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter moved and is not the end iterator
+</return>
+</function>
+
+<function name="gtk_entry_get_has_frame">
+<description>
+Gets the value set by gtk_entry_set_has_frame().
+
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the entry has a beveled frame
+</return>
+</function>
+
+<function name="gtk_button_new_with_mnemonic">
+<description>
+Creates a new #GtkButton containing a label.
+If characters in @label are preceded by an underscore, they are underlined.
+If you need a literal underscore character in a label, use &apos;__&apos; (two
+underscores). The first underlined character represents a keyboard
+accelerator called a mnemonic.
+Pressing Alt and that key activates the button.
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> The text of the button, with an underscore in front of the
+mnemonic character
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkButton
+</return>
+</function>
+
+<function name="GtkRadioMenuItem">
+<description>
+The radio menu item whose group this widget belongs to.
+
+Since: 2.8
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_get_text">
+<description>
+Fetches the text from a label widget, as displayed on the
+screen. This does not include any embedded underlines
+indicating mnemonics or Pango markup. (See gtk_label_get_label())
+
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+</parameters>
+<return> the text in the label widget. This is the internal
+string used by the label, and must not be modified.
+</return>
+</function>
+
+<function name="gtk_recent_manager_lookup_item">
+<description>
+Searches for a URI inside the recently used resources list, and
+Return value: a #GtkRecentInfo structure containing information
+
+</description>
+<parameters>
+<parameter name="manager">
+<parameter_description> a #GtkRecentManager
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a URI
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> a return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GtkRecentInfo structure containing information
+about the resource pointed by @uri, or %NULL if the URI was
+not registered in the recently used resources list. Free with
+gtk_recent_info_unref().
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_dialog_set_default_response">
+<description>
+Sets the last widget in the dialog&apos;s action area with the given @response_id
+as the default widget for the dialog. Pressing &quot;Enter&quot; normally activates
+the default widget.
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkDialog
+</parameter_description>
+</parameter>
+<parameter name="response_id">
+<parameter_description> a response ID
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_container_child_set_property">
+<description>
+Sets a child property for @child and @container.
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> a widget which is a child of @container
+</parameter_description>
+</parameter>
+<parameter name="property_name">
+<parameter_description> the name of the property to set
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> the value to set the property to
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_get_colormap">
+<description>
+Gets the colormap that will be used to render @widget. No reference will
+be added to the returned colormap; it should not be unreferenced.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the colormap used by @widget
+</return>
+</function>
+
+<function name="gtk_color_selection_get_current_alpha">
+<description>
+Return value: an integer between 0 and 65535.
+
+</description>
+<parameters>
+<parameter name="colorsel">
+<parameter_description> a #GtkColorSelection.
+</parameter_description>
+</parameter>
+</parameters>
+<return> an integer between 0 and 65535.
+</return>
+</function>
+
+<function name="gtk_ui_manager_insert_action_group">
+<description>
+Inserts an action group into the list of action groups associated
+with @self. Actions in earlier groups hide actions with the same
+name in later groups.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkUIManager object
+</parameter_description>
+</parameter>
+<parameter name="action_group">
+<parameter_description> the action group to be inserted
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> the position at which the group will be inserted.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_get_preview_widget">
+<description>
+Gets the current preview widget; see
+gtk_file_chooser_set_preview_widget().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current preview widget, or %NULL
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_text_view_get_accepts_tab">
+<description>
+Return value: %TRUE if pressing the Tab key inserts a tab character,
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> A #GtkTextView
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if pressing the Tab key inserts a tab character,
+%FALSE if pressing the Tab key moves the keyboard focus.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_window_set_geometry_hints">
+<description>
+This function sets up hints about how a window can be resized by
+the user. You can set a minimum and maximum size; allowed resize
+increments (e.g. for xterm, you can only resize by the size of a
+character); aspect ratios; and more. See the #GdkGeometry struct.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="geometry_widget">
+<parameter_description> widget the geometry hints will be applied to
+</parameter_description>
+</parameter>
+<parameter name="geometry">
+<parameter_description> struct containing geometry information
+</parameter_description>
+</parameter>
+<parameter name="geom_mask">
+<parameter_description> mask indicating which struct fields should be paid attention to
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_set_tab_reorderable">
+<description>
+Sets whether the notebook tab can be reordered
+via drag and drop or not.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> a child #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="reorderable">
+<parameter_description> whether the tab is reorderable or not.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkTextBuffer">
+<description>
+The end_user_action signal is emitted at the end of a single
+user-visible operation #GtkTextBuffer.
+
+See also:
+gtk_text_buffer_end_user_action(),
+gtk_text_buffer_insert_interactive(),
+gtk_text_buffer_insert_range_interactive(),
+gtk_text_buffer_delete_interactive(),
+gtk_text_buffer_backspace(),
+gtk_text_buffer_delete_selection(),
+gtk_text_buffer_backspace().
+
+</description>
+<parameters>
+<parameter name="textbuffer">
+<parameter_description> the object which received the signal
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_set_default_size">
+<description>
+Sets the default size of a window. If the window&apos;s &quot;natural&quot; size
+(its size request) is larger than the default, the default will be
+ignored. More generally, if the default size does not obey the
+geometry hints for the window (gtk_window_set_geometry_hints() can
+be used to set these explicitly), the default size will be clamped
+to the nearest permitted size.
+
+Unlike gtk_widget_set_size_request(), which sets a size request for
+a widget and thus would keep users from shrinking the window, this
+function only sets the initial size, just as if the user had
+resized the window themselves. Users can still shrink the window
+again as they normally would. Setting a default size of -1 means to
+use the &quot;natural&quot; default size (the size request of the window).
+
+For more control over a window&apos;s initial size and how resizing works,
+investigate gtk_window_set_geometry_hints().
+
+For some uses, gtk_window_resize() is a more appropriate function.
+gtk_window_resize() changes the current size of the window, rather
+than the size to be used on initial display. gtk_window_resize() always
+affects the window itself, not the geometry widget.
+
+The default size of a window only affects the first time a window is
+shown; if a window is hidden and re-shown, it will remember the size
+it had prior to hiding, rather than using the default size.
+
+Windows can&apos;t actually be 0x0 in size, they must be at least 1x1, but
+passing 0 for @width and @height is OK, resulting in a 1x1 default size.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width in pixels, or -1 to unset the default width
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height in pixels, or -1 to unset the default height
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkCellRendererCombo">
+<description>
+If %TRUE, the cell renderer will include an entry and allow to enter
+values other than the ones in the popup list.
+
+Since: 2.6
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_set_mark">
+<description>
+Move the mark to the given position, if not @should_exist,
+create the mark.
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="mark_name">
+<parameter_description> name of the mark
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> location for the mark
+</parameter_description>
+</parameter>
+<parameter name="left_gravity">
+<parameter_description> if the mark is created by this function, gravity for
+the new mark
+</parameter_description>
+</parameter>
+<parameter name="should_exist">
+<parameter_description> if %TRUE, warn if the mark does not exist, and return
+immediately
+</parameter_description>
+</parameter>
+</parameters>
+<return> mark
+</return>
+</function>
+
+<function name="gtk_dialog_run">
+<description>
+Blocks in a recursive main loop until the @dialog either emits the
+#GtkDialog::response signal, or is destroyed. If the dialog is
+destroyed during the call to gtk_dialog_run(), gtk_dialog_run() returns
+#GTK_RESPONSE_NONE. Otherwise, it returns the response ID from the
+::response signal emission.
+
+Before entering the recursive main loop, gtk_dialog_run() calls
+gtk_widget_show() on the dialog for you. Note that you still
+need to show any children of the dialog yourself.
+
+During gtk_dialog_run(), the default behavior of #GtkWidget::delete-event
+is disabled; if the dialog receives ::delete_event, it will not be
+destroyed as windows usually are, and gtk_dialog_run() will return
+#GTK_RESPONSE_DELETE_EVENT. Also, during gtk_dialog_run() the dialog
+will be modal. You can force gtk_dialog_run() to return at any time by
+calling gtk_dialog_response() to emit the ::response signal. Destroying
+the dialog during gtk_dialog_run() is a very bad idea, because your
+post-run code won&apos;t know whether the dialog was destroyed or not.
+
+After gtk_dialog_run() returns, you are responsible for hiding or
+destroying the dialog if you wish to do so.
+
+Typical usage of this function might be:
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+gint result = gtk_dialog_run (GTK_DIALOG (dialog));
+switch (result)
+{
+case GTK_RESPONSE_ACCEPT:
+do_application_specific_something (&amp;lt;!-- --&amp;gt;);
+break;
+default:
+do_nothing_since_dialog_was_cancelled (&amp;lt;!-- --&amp;gt;);
+break;
+}
+gtk_widget_destroy (dialog);
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+Note that even though the recursive main loop gives the effect of a
+modal dialog (it prevents the user from interacting with other
+windows in the same window group while the dialog is run), callbacks
+such as timeouts, IO channel watches, DND drops, etc, &amp;lt;emphasis&amp;gt;will&amp;lt;/emphasis&amp;gt;
+be triggered during a gtk_dialog_run() call.
+
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> response ID
+</return>
+</function>
+
+<function name="gtk_accel_group_new">
+<description>
+Creates a new #GtkAccelGroup.
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkAccelGroup object
+</return>
+</function>
+
+<function name="gtk_notebook_remove_page">
+<description>
+Removes a page from the notebook given its index
+in the notebook.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook.
+</parameter_description>
+</parameter>
+<parameter name="page_num">
+<parameter_description> the index of a notebook page, starting
+from 0. If -1, the last page will
+be removed.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_scale_button_new">
+<description>
+Creates a #GtkScaleButton, with a range between @min and @max, with
+a stepping of @step.
+
+
+</description>
+<parameters>
+<parameter name="size">
+<parameter_description> a stock icon size
+</parameter_description>
+</parameter>
+<parameter name="min">
+<parameter_description> the minimum value of the scale (usually 0)
+</parameter_description>
+</parameter>
+<parameter name="max">
+<parameter_description> the maximum value of the scale (usually 100)
+</parameter_description>
+</parameter>
+<parameter name="step">
+<parameter_description> the stepping of value when a scroll-wheel event,
+or up/down arrow event occurs (usually 2)
+</parameter_description>
+</parameter>
+<parameter name="icons">
+<parameter_description> a %NULL-terminated array of icon names, or %NULL if
+you want to set the list later with gtk_scale_button_set_icons()
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkScaleButton
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_recent_chooser_get_items">
+<description>
+Gets the list of recently used resources in form of #GtkRecentInfo objects.
+
+The return value of this function is affected by the &quot;sort-type&quot; and
+&quot;limit&quot; properties of @chooser.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly allocated list of #GtkRecentInfo objects. You should
+use gtk_recent_info_unref() on every item of the list, and then free
+the list itself using g_list_free().
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_icon_view_set_orientation">
+<description>
+Sets the ::orientation property which determines whether the labels
+are drawn beside the icons instead of below.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+<parameter name="orientation">
+<parameter_description> the relative position of texts and icons
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_window_set_has_toplevel_focus">
+<description>
+Internal function that sets whether the keyboard focus for the
+toplevel window (taking into account inter-process embedding.)
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="has_toplevel_focus">
+<parameter_description> %TRUE if the in
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_delete_interactive">
+<description>
+Deletes all &amp;lt;emphasis&amp;gt;editable&amp;lt;/emphasis&amp;gt; text in the given range.
+Calls gtk_text_buffer_delete() for each editable sub-range of
+[@start,@end). @start and @end are revalidated to point to
+the location of the last deleted range, or left untouched if
+no text was deleted.
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="start_iter">
+<parameter_description> start of range to delete
+</parameter_description>
+</parameter>
+<parameter name="end_iter">
+<parameter_description> end of range
+</parameter_description>
+</parameter>
+<parameter name="default_editable">
+<parameter_description> whether the buffer is editable by default
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether some text was actually deleted
+</return>
+</function>
+
+<function name="gtk_tree_view_get_columns">
+<description>
+Return value: A list of #GtkTreeViewColumn s
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+</parameters>
+<return> A list of #GtkTreeViewColumn s
+</return>
+</function>
+
+<function name="gtk_text_buffer_select_range">
+<description>
+This function moves the &quot;insert&quot; and &quot;selection_bound&quot; marks
+simultaneously. If you move them in two steps
+with gtk_text_buffer_move_mark(), you will temporarily select a
+region in between their old and new locations, which can be pretty
+inefficient since the temporarily-selected region will force stuff
+to be recalculated. This function moves them as a unit, which can
+be optimized.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="ins">
+<parameter_description> where to put the &quot;insert&quot; mark
+</parameter_description>
+</parameter>
+<parameter name="bound">
+<parameter_description> where to put the &quot;selection_bound&quot; mark
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_item_factory_get_item">
+<description>
+Obtains the menu item which corresponds to @path.
+
+If the widget corresponding to @path is a menu item which opens a
+submenu, then the item is returned. If you are interested in the submenu,
+use gtk_item_factory_get_widget() instead.
+
+Deprecated: 2.4:
+
+</description>
+<parameters>
+<parameter name="ifactory">
+<parameter_description> a #GtkItemFactory
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> the path to the menu item
+</parameter_description>
+</parameter>
+</parameters>
+<return> the menu item for the given path, or %NULL if @path doesn&apos;t
+lead to a menu item
+</return>
+</function>
+
+<function name="gtk_recent_info_get_uri">
+<description>
+Gets the URI of the resource.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GtkRecentInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> the URI of the resource. The returned string is
+owned by the recent manager, and should not be freed.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_file_system_win32_new">
+<description>
+Creates a new #GtkFileSystemWin32 object. #GtkFileSystemWin32
+implements the #GtkFileSystem interface with direct access to
+the filesystem using Windows API calls
+
+
+</description>
+<parameters>
+</parameters>
+<return> the new #GtkFileSystemWin32 object
+</return>
+</function>
+
+<function name="gtk_container_get_focus_chain">
+<description>
+Retrieves the focus chain of the container, if one has been
+set explicitly. If no focus chain has been explicitly
+set, GTK+ computes the focus chain based on the positions
+of the children. In that case, GTK+ stores %NULL in
+@focusable_widgets and returns %FALSE.
+
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+<parameter name="focusable_widgets">
+<parameter_description> location to store the focus chain of the
+container, or %NULL. You should free this list
+using g_list_free() when you are done with it, however
+no additional reference count is added to the
+individual widgets in the focus chain.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the focus chain of the container
+has been set explicitly.
+</return>
+</function>
+
+<function name="gtk_tree_selection_select_all">
+<description>
+Selects all the nodes. @selection must be set to #GTK_SELECTION_MULTIPLE
+mode.
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> A #GtkTreeSelection.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_button_set_focus_on_click">
+<description>
+Sets whether the button will grab focus when it is clicked with the mouse.
+Making mouse clicks not grab focus is useful in places like toolbars where
+you don&apos;t want the keyboard focus removed from the main area of the
+application.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkFileChooserButton
+</parameter_description>
+</parameter>
+<parameter name="focus_on_click">
+<parameter_description> whether the button grabs focus when clicked with the mouse
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_get_tree_view">
+<description>
+Return value: The tree view wherein @column has been inserted if any,
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+</parameters>
+<return> The tree view wherein @column has been inserted if any,
+%NULL otherwise.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_paint_expander">
+<description>
+Draws an expander as used in #GtkTreeView. @x and @y specify the
+center the expander. The size of the expander is determined by the
+&quot;expander-size&quot; style property of @widget. (If widget is not
+specified or doesn&apos;t have an &quot;expander-size&quot; property, an
+unspecified default size will be used, since the caller doesn&apos;t
+have sufficient information to position the expander, this is
+likely not useful.) The expander is expander_size pixels tall
+in the collapsed position and expander_size pixels wide in the
+expanded position.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> clip rectangle, or %NULL if the
+output should not be clipped
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> a style detail (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x position to draw the expander at
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y position to draw the expander at
+</parameter_description>
+</parameter>
+<parameter name="expander_style">
+<parameter_description> the style to draw the expander in; determines
+whether the expander is collapsed, expanded, or in an
+intermediate state.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_inside_word">
+<description>
+Determines whether @iter is inside a natural-language word (as
+opposed to say inside some whitespace). Word breaks are determined
+by Pango and should be correct for nearly any language (if not, the
+correct fix would be to the Pango word break algorithms).
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter is inside a word
+</return>
+</function>
+
+<function name="gtk_assistant_set_page_complete">
+<description>
+Sets whether @page contents are complete. This will make
+@assistant update the buttons state to be able to continue the task.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="assistant">
+<parameter_description> a #GtkAssistant
+</parameter_description>
+</parameter>
+<parameter name="page">
+<parameter_description> a page of @assistant
+</parameter_description>
+</parameter>
+<parameter name="complete">
+<parameter_description> the completeness status of the page
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_container_child_get_property">
+<description>
+Gets the value of a child property for @child and @container.
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> a widget which is a child of @container
+</parameter_description>
+</parameter>
+<parameter name="property_name">
+<parameter_description> the name of the property to get
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> a location to return the value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_row_reference_get_path">
+<description>
+Return value: A current path, or %NULL.
+
+</description>
+<parameters>
+<parameter name="reference">
+<parameter_description> A #GtkTreeRowReference
+</parameter_description>
+</parameter>
+</parameters>
+<return> A current path, or %NULL.
+</return>
+</function>
+
+<function name="gtk_tree_view_convert_widget_to_bin_window_coords">
+<description>
+Converts widget coordinates to coordinates for the bin_window
+(see gtk_tree_view_get_bin_window()).
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="wx">
+<parameter_description> X coordinate relative to the widget
+</parameter_description>
+</parameter>
+<parameter name="wy">
+<parameter_description> Y coordinate relative to the widget
+</parameter_description>
+</parameter>
+<parameter name="bx">
+<parameter_description> return location for bin_window X coordinate
+</parameter_description>
+</parameter>
+<parameter name="by">
+<parameter_description> return location for bin_window Y coordinate
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_get_wrap_mode">
+<description>
+Gets the line wrapping for the view.
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+</parameters>
+<return> the line wrap setting
+</return>
+</function>
+
+<function name="gtk_window_mnemonic_activate">
+<description>
+Activates the targets associated with the mnemonic.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="keyval">
+<parameter_description> the mnemonic
+</parameter_description>
+</parameter>
+<parameter name="modifier">
+<parameter_description> the modifiers
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the activation is done.
+</return>
+</function>
+
+<function name="gtk_print_settings_get_use_color">
+<description>
+Gets the value of %GTK_PRINT_SETTINGS_USE_COLOR.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether to use color
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_draw_vline">
+<description>
+Draws a vertical line from (@x, @y1_) to (@x, @y2_) in @window
+using the given style and state.
+
+Deprecated: Use gtk_paint_vline() instead.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="y1_">
+<parameter_description> the starting y coordinate
+</parameter_description>
+</parameter>
+<parameter name="y2_">
+<parameter_description> the ending y coordinate
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x coordinate
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_font_button_get_use_size">
+<description>
+Returns: whether the selected size is used in the label.
+
+</description>
+<parameters>
+<parameter name="font_button">
+<parameter_description> a #GtkFontButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the selected size is used in the label.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tree_view_get_search_position_func">
+<description>
+Return value: the currently used function for positioning the search dialog.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+</parameters>
+<return> the currently used function for positioning the search dialog.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="_gtk_file_chooser_install_properties">
+<description>
+Installs the necessary properties for a class implementing
+#GtkFileChooser. A #GtkParamSpecOverride property is installed
+for each property, using the values from the #GtkFileChooserProp
+enumeration. The caller must make sure itself that the enumeration
+values don&apos;t collide with some other property values they
+are using.
+
+</description>
+<parameters>
+<parameter name="klass">
+<parameter_description> the class structure for a type deriving from #GObject
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_ui_manager_remove_action_group">
+<description>
+Removes an action group from the list of action groups associated
+with @self.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkUIManager object
+</parameter_description>
+</parameter>
+<parameter name="action_group">
+<parameter_description> the action group to be removed
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_list_store_insert_before">
+<description>
+Inserts a new row before @sibling. If @sibling is %NULL, then the row will
+be appended to the end of the list. @iter will be changed to point to this
+new row. The row will be empty after this function is called. To fill in
+values, you need to call gtk_list_store_set() or gtk_list_store_set_value().
+
+
+</description>
+<parameters>
+<parameter name="list_store">
+<parameter_description> A #GtkListStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> An unset #GtkTreeIter to set to the new row
+</parameter_description>
+</parameter>
+<parameter name="sibling">
+<parameter_description> A valid #GtkTreeIter, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_map">
+<description>
+This function is only for use in widget implementations. Causes
+a widget to be mapped if it isn&apos;t already.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_info_get_builtin_pixbuf">
+<description>
+Gets the built-in image for this icon, if any. To allow
+GTK+ to use built in icon images, you must pass the
+%GTK_ICON_LOOKUP_USE_BUILTIN to
+gtk_icon_theme_lookup_icon().
+
+
+</description>
+<parameters>
+<parameter name="icon_info">
+<parameter_description> a #GtkIconInfo structure
+</parameter_description>
+</parameter>
+</parameters>
+<return> the built-in image pixbuf, or %NULL. No
+extra reference is added to the returned pixbuf, so if
+you want to keep it around, you must use g_object_ref().
+The returned image must not be modified.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_menu_tool_button_new">
+<description>
+Creates a new #GtkMenuToolButton using @icon_widget as icon and
+@label as label.
+
+
+</description>
+<parameters>
+<parameter name="icon_widget">
+<parameter_description> a widget that will be used as icon widget, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="label">
+<parameter_description> a string that will be used as label, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GtkMenuToolButton
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_widget_modify_cursor">
+<description>
+Sets the cursor color to use in a widget, overriding the
+#GtkWidget:cursor-color and #GtkWidget:secondary-cursor-color
+style properties. All other style values are left untouched.
+See also gtk_widget_modify_style().
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="primary">
+<parameter_description> the color to use for primary cursor (does not need to be
+allocated), or %NULL to undo the effect of previous calls to
+of gtk_widget_modify_cursor().
+</parameter_description>
+</parameter>
+<parameter name="secondary">
+<parameter_description> the color to use for secondary cursor (does not need to be
+allocated), or %NULL to undo the effect of previous calls to
+of gtk_widget_modify_cursor().
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_filter_set_name">
+<description>
+Sets the human-readable name of the filter; this is the string
+that will be displayed in the recently used resources selector
+user interface if there is a selectable list of filters.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> a #GtkRecentFilter
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> then human readable name of @filter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_add_shortcut_folder">
+<description>
+Adds a folder to be displayed with the shortcut folders in a file chooser.
+Note that shortcut folders do not get saved, as they are provided by the
+application. For example, you can use this to add a
+&quot;/usr/share/mydrawprogram/Clipart&quot; folder to the volume list.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="folder">
+<parameter_description> filename of the folder to add
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the folder could be added successfully, %FALSE
+otherwise. In the latter case, the @error will be set as appropriate.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_selection_data_set_uris">
+<description>
+Sets the contents of the selection from a list of URIs.
+The string is converted to the form determined by
+@selection_data-&amp;gt;target.
+
+
+</description>
+<parameters>
+<parameter name="selection_data">
+<parameter_description> a #GtkSelectionData
+</parameter_description>
+</parameter>
+<parameter name="uris">
+<parameter_description> a %NULL-terminated array of strings hilding URIs
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the selection was successfully set,
+otherwise %FALSE.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_tool_item_get_visible_vertical">
+<description>
+Return value: Whether @tool_item is visible when the toolbar is docked vertically
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem
+</parameter_description>
+</parameter>
+</parameters>
+<return> Whether @tool_item is visible when the toolbar is docked vertically
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_paper_size_new">
+<description>
+Creates a new #GtkPaperSize object by parsing a
+&amp;lt;ulink url=&quot;ftp://ftp.pwg.org/pub/pwg/candidates/cs-pwgmsn10-20020226-5101.1.pdf&quot;&amp;gt;PWG 5101.1-2002&amp;lt;/ulink&amp;gt;
+paper name.
+
+If @name is %NULL, the default paper size is returned,
+see gtk_paper_size_get_default().
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> a paper size name, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkPaperSize, use gtk_paper_size_free()
+to free it
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_spin_button_set_numeric">
+<description>
+Sets the flag that determines if non-numeric text can be typed into
+the spin button.
+
+</description>
+<parameters>
+<parameter name="spin_button">
+<parameter_description> a #GtkSpinButton
+</parameter_description>
+</parameter>
+<parameter name="numeric">
+<parameter_description> flag indicating if only numeric entry is allowed.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_expander_set_spacing">
+<description>
+Sets the spacing field of @expander, which is the number of pixels to
+place between expander and the child.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="expander">
+<parameter_description> a #GtkExpander
+</parameter_description>
+</parameter>
+<parameter name="spacing">
+<parameter_description> distance between the expander and child in pixels.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toolbar_get_relief_style">
+<description>
+Return value: The relief style of buttons on @toolbar.
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar
+</parameter_description>
+</parameter>
+</parameters>
+<return> The relief style of buttons on @toolbar.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_draw_box">
+<description>
+Draws a box on @window with the given parameters.
+
+Deprecated: Use gtk_paint_box() instead.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> the type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the box
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the box
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the box
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the box
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_store_insert_with_values">
+<description>
+Creates a new row at @position. @iter will be changed to point to this
+new row. If @position is larger than the number of rows on the list, then
+the new row will be appended to the list. The row will be filled with
+the values given to this function.
+
+Calling
+&amp;lt;literal&amp;gt;gtk_tree_store_insert_with_values (tree_store, iter, position, ...)&amp;lt;/literal&amp;gt;
+has the same effect as calling
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+gtk_tree_store_insert (tree_store, iter, position);
+gtk_tree_store_set (tree_store, iter, ...);
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+with the different that the former will only emit a row_inserted signal,
+while the latter will emit row_inserted, row_changed and if the tree store
+is sorted, rows_reordered. Since emitting the rows_reordered signal
+repeatedly can affect the performance of the program,
+gtk_tree_store_insert_with_values() should generally be preferred when
+inserting rows in a sorted tree store.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="tree_store">
+<parameter_description> A #GtkTreeStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> An unset #GtkTreeIter to set the new row, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> A valid #GtkTreeIter, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> position to insert the new row
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> pairs of column number and value, terminated with -1
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_get_window_type">
+<description>
+Usually used to find out which window an event corresponds to.
+If you connect to an event signal on @text_view, this function
+should be called on &amp;lt;literal&amp;gt;event-&amp;gt;window&amp;lt;/literal&amp;gt; to
+see which window it was.
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a window type
+</parameter_description>
+</parameter>
+</parameters>
+<return> the window type.
+</return>
+</function>
+
+<function name="gtk_accel_map_load_fd">
+<description>
+Filedescriptor variant of gtk_accel_map_load().
+
+Note that the file descriptor will not be closed by this function.
+
+</description>
+<parameters>
+<parameter name="fd">
+<parameter_description> a valid readable file descriptor
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_get_indent">
+<description>
+Gets the default indentation of paragraphs in @text_view.
+Tags in the view&apos;s buffer may override the default.
+The indentation may be negative.
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+</parameters>
+<return> number of pixels of indentation
+</return>
+</function>
+
+<function name="gtk_action_is_visible">
+<description>
+Return value: %TRUE if the action and its associated action group
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the action and its associated action group
+are both visible.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_print_context_create_pango_layout">
+<description>
+Creates a new #PangoLayout that is suitable for use
+with the #GtkPrintContext.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkPrintContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new Pango layout for @context
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_text_iter_backward_visible_lines">
+<description>
+Moves @count visible lines backward, if possible (if @count would move
+past the start or end of the buffer, moves to the start or end of
+the buffer). The return value indicates whether the iterator moved
+onto a dereferenceable position; if the iterator didn&apos;t move, or
+moved onto the end iterator, then %FALSE is returned. If @count is 0,
+the function does nothing and returns %FALSE. If @count is negative,
+moves forward by 0 - @count lines.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> number of lines to move backward
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @iter moved and is dereferenceable
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gtk_style_set_background">
+<description>
+Sets the background of @window to the background color or pixmap
+specified by @style for the given state.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_list_store_insert">
+<description>
+Creates a new row at @position. @iter will be changed to point to this new
+row. If @position is larger than the number of rows on the list, then the
+new row will be appended to the list. The row will be empty after this
+function is called. To fill in values, you need to call
+gtk_list_store_set() or gtk_list_store_set_value().
+
+
+</description>
+<parameters>
+<parameter name="list_store">
+<parameter_description> A #GtkListStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> An unset #GtkTreeIter to set to the new row
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> position to insert the new row
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_settings_get_for_screen">
+<description>
+Gets the #GtkSettings object for @screen, creating it if necessary.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GtkSettings object.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_color_selection_set_has_opacity_control">
+<description>
+Sets the @colorsel to use or not use opacity.
+
+
+</description>
+<parameters>
+<parameter name="colorsel">
+<parameter_description> a #GtkColorSelection.
+</parameter_description>
+</parameter>
+<parameter name="has_opacity">
+<parameter_description> %TRUE if @colorsel can set the opacity, %FALSE otherwise.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_unmap">
+<description>
+This function is only for use in widget implementations. Causes
+a widget to be unmapped if it&apos;s currently mapped.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toggle_button_new_with_mnemonic">
+<description>
+Creates a new #GtkToggleButton containing a label. The label
+will be created using gtk_label_new_with_mnemonic(), so underscores
+in @label indicate the mnemonic for the button.
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> the text of the button, with an underscore in front of the
+mnemonic character
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkToggleButton
+</return>
+</function>
+
+<function name="gtk_image_get_pixmap">
+<description>
+Gets the pixmap and mask being displayed by the #GtkImage.
+The storage type of the image must be %GTK_IMAGE_EMPTY or
+%GTK_IMAGE_PIXMAP (see gtk_image_get_storage_type()).
+The caller of this function does not own a reference to the
+returned pixmap and mask.
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GtkImage
+</parameter_description>
+</parameter>
+<parameter name="pixmap">
+<parameter_description> location to store the pixmap, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="mask">
+<parameter_description> location to store the mask, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_paint_arrow">
+<description>
+Draws an arrow in the given rectangle on @window using the given
+parameters. @arrow_type determines the direction of the arrow.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> the type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> clip rectangle, or %NULL if the
+output should not be clipped
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> a style detail (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="arrow_type">
+<parameter_description> the type of arrow to draw
+</parameter_description>
+</parameter>
+<parameter name="fill">
+<parameter_description> %TRUE if the arrow tip should be filled
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the rectangle to draw the arrow in
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the rectangle to draw the arrow in
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of the rectangle to draw the arrow in
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height of the rectangle to draw the arrow in
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_list_store_set_valuesv">
+<description>
+A variant of gtk_list_store_set_valist() which
+takes the columns and values as two arrays, instead of
+varargs. This function is mainly intended for
+language-bindings and in case the number of columns to
+change is not known until run-time.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="list_store">
+<parameter_description> A #GtkListStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> A valid #GtkTreeIter for the row being modified
+</parameter_description>
+</parameter>
+<parameter name="columns">
+<parameter_description> an array of column numbers
+</parameter_description>
+</parameter>
+<parameter name="values">
+<parameter_description> an array of GValues
+</parameter_description>
+</parameter>
+<parameter name="n_values">
+<parameter_description> the length of the @columns and @values arrays
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_row_reference_deleted">
+<description>
+Lets a set of row reference created by gtk_tree_row_reference_new_proxy()
+know that the model emitted the &quot;row_deleted&quot; signal.
+
+</description>
+<parameters>
+<parameter name="proxy">
+<parameter_description> A #GObject
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> The path position that was deleted
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_cell_view_new_with_markup">
+<description>
+Creates a new #GtkCellView widget, adds a #GtkCellRendererText
+to it, and makes its show @markup. The text can text can be
+marked up with the &amp;lt;link linkend=&quot;PangoMarkupFormat&quot;&amp;gt;Pango text
+markup language&amp;lt;/link&amp;gt;.
+
+
+</description>
+<parameters>
+<parameter name="markup">
+<parameter_description> the text to display in the cell view
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly created #GtkCellView widget.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_tree_view_set_enable_search">
+<description>
+If @enable_search is set, then the user can type in text to search through
+the tree interactively (this is sometimes called &quot;typeahead find&quot;).
+
+Note that even if this is %FALSE, the user can still initiate a search
+using the &quot;start-interactive-search&quot; key binding.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="enable_search">
+<parameter_description> %TRUE, if the user can search interactively
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_view_get_model">
+<description>
+Return value: A #GtkTreeModel, or %NULL if none is currently being used.
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+</parameters>
+<return> A #GtkTreeModel, or %NULL if none is currently being used.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_rc_reparse_all_for_settings">
+<description>
+If the modification time on any previously read file
+for the given #GtkSettings has changed, discard all style information
+and then reread all previously read RC files.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkSettings
+</parameter_description>
+</parameter>
+<parameter name="force_load">
+<parameter_description> load whether or not anything changed
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the files were reread.
+</return>
+</function>
+
+<function name="gtk_tree_sortable_set_sort_func">
+<description>
+Sets the comparison function used when sorting to be @sort_func. If the
+current sort column id of @sortable is the same as @sort_column_id, then the
+model will sort using this function.
+
+</description>
+<parameters>
+<parameter name="sortable">
+<parameter_description> A #GtkTreeSortable
+</parameter_description>
+</parameter>
+<parameter name="sort_column_id">
+<parameter_description> the sort column id to set the function for
+</parameter_description>
+</parameter>
+<parameter name="sort_func">
+<parameter_description> The comparison function
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> User data to pass to @sort_func, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> Destroy notifier of @user_data, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tool_item_set_proxy_menu_item">
+<description>
+Sets the #GtkMenuItem used in the toolbar overflow menu. The
+@menu_item_id is used to identify the caller of this function and
+should also be used with gtk_tool_item_get_proxy_menu_item().
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem:
+</parameter_description>
+</parameter>
+<parameter name="menu_item_id">
+<parameter_description> a string used to identify @menu_item
+</parameter_description>
+</parameter>
+<parameter name="menu_item">
+<parameter_description> a #GtkMenuItem to be used in the overflow menu
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_set_usize">
+<description>
+Sets the minimum size of a widget; that is, the widget&apos;s size
+request will be @width by @height. You can use this function to
+force a widget to be either larger or smaller than it is. The
+strange &quot;usize&quot; name dates from the early days of GTK+, and derives
+from X Window System terminology. In many cases,
+gtk_window_set_default_size() is a better choice for toplevel
+windows than this function; setting the default size will still
+allow users to shrink the window. Setting the usize will force them
+to leave the window at least as large as the usize. When dealing
+with window sizes, gtk_window_set_geometry_hints() can be a useful
+function as well.
+
+Note the inherent danger of setting any fixed size - themes,
+translations into other languages, different fonts, and user action
+can all change the appropriate size for a given widget. So, it&apos;s
+basically impossible to hardcode a size that will always be
+correct.
+
+Deprecated: Use gtk_widget_set_size_request() instead.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> minimum width, or -1 to unset
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> minimum height, or -1 to unset
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_get_menu_label">
+<description>
+Retrieves the menu label widget of the page containing @child.
+
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> a widget contained in a page of @notebook
+</parameter_description>
+</parameter>
+</parameters>
+<return> the menu label, or %NULL if the
+notebook page does not have a menu label other
+than the default (the tab label).
+</return>
+</function>
+
+<function name="gtk_recent_chooser_menu_new">
+<description>
+Creates a new #GtkRecentChooserMenu widget.
+
+This kind of widget shows the list of recently used resources as
+a menu, each item as a menu item. Each item inside the menu might
+have an icon, representing its MIME type, and a number, for mnemonic
+access.
+
+This widget implements the #GtkRecentChooser interface.
+
+This widget creates its own #GtkRecentManager object. See the
+gtk_recent_chooser_menu_new_for_manager() function to know how to create
+a #GtkRecentChooserMenu widget bound to another #GtkRecentManager object.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkRecentChooserMenu
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_cell_layout_reorder">
+<description>
+Re-inserts @cell at @position. Note that @cell has already to be packed
+into @cell_layout for this to function properly.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="cell_layout">
+<parameter_description> A #GtkCellLayout.
+</parameter_description>
+</parameter>
+<parameter name="cell">
+<parameter_description> A #GtkCellRenderer to reorder.
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> New position to insert @cell at.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_expander_new_with_mnemonic">
+<description>
+Creates a new expander using @label as the text of the label.
+If characters in @label are preceded by an underscore, they are underlined.
+If you need a literal underscore character in a label, use &apos;__&apos; (two
+underscores). The first underlined character represents a keyboard
+accelerator called a mnemonic.
+Pressing Alt and that key activates the button.
+
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> the text of the label with an underscore in front of the
+mnemonic character
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkExpander widget.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_image_menu_item_new_with_mnemonic">
+<description>
+Creates a new #GtkImageMenuItem containing a label. The label
+will be created using gtk_label_new_with_mnemonic(), so underscores
+in @label indicate the mnemonic for the menu item.
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> the text of the menu item, with an underscore in front of the
+mnemonic character
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkImageMenuItem
+</return>
+</function>
+
+<function name="gtk_tool_button_set_label_widget">
+<description>
+Sets @label_widget as the widget that will be used as the label
+for @button. If @label_widget is %NULL the &quot;label&quot; property is used
+as label. If &quot;label&quot; is also %NULL, the label in the stock item
+determined by the &quot;stock_id&quot; property is used as label. If
+&quot;stock_id&quot; is also %NULL, @button does not have a label.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkToolButton
+</parameter_description>
+</parameter>
+<parameter name="label_widget">
+<parameter_description> the widget used as label, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_get_attributes">
+<description>
+Gets the attribute list that was set on the label using
+gtk_label_set_attributes(), if any. This function does
+not reflect attributes that come from the labels markup
+(see gtk_label_set_markup()). If you want to get the
+effective attributes for the label, use
+pango_layout_get_attribute (gtk_label_get_layout (label)).
+
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+</parameters>
+<return> the attribute list, or %NULL if none was set.
+</return>
+</function>
+
+<function name="gtk_about_dialog_set_website_label">
+<description>
+Sets the label to be used for the website link.
+It defaults to the website URL.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+<parameter name="website_label">
+<parameter_description> the label used for the website link
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_item_factory_create_item">
+<description>
+Creates an item for @entry.
+
+Deprecated: 2.4:
+
+</description>
+<parameters>
+<parameter name="ifactory">
+<parameter_description> a #GtkItemFactory
+</parameter_description>
+</parameter>
+<parameter name="entry">
+<parameter_description> the #GtkItemFactoryEntry to create an item for
+</parameter_description>
+</parameter>
+<parameter name="callback_data">
+<parameter_description> data passed to the callback function of @entry
+</parameter_description>
+</parameter>
+<parameter name="callback_type">
+<parameter_description> 1 if the callback function of @entry is of type
+#GtkItemFactoryCallback1, 2 if it is of type #GtkItemFactoryCallback2
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_get_left_margin">
+<description>
+Gets the default left margin size of paragraphs in the @text_view.
+Tags in the buffer may override the default.
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+</parameters>
+<return> left margin in pixels
+</return>
+</function>
+
+<function name="gtk_action_group_set_translation_domain">
+<description>
+Sets the translation domain and uses dgettext() for translating the
+@label and @tooltip of #GtkActionEntry&amp;lt;!-- --&amp;gt;s added by
+gtk_action_group_add_actions().
+
+If you&apos;re not using gettext() for localization, see
+gtk_action_group_set_translate_func().
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action_group">
+<parameter_description> a #GtkActionGroup
+</parameter_description>
+</parameter>
+<parameter name="domain">
+<parameter_description> the translation domain to use for dgettext() calls
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_status_icon_get_geometry">
+<description>
+Obtains information about the location of the status icon
+on screen. This information can be used to e.g. position
+popups like notification bubbles.
+
+See gtk_status_icon_position_menu() for a more convenient
+alternative for positioning menus.
+
+Note that some platforms do not allow GTK+ to provide
+this information, and even on platforms that do allow it,
+the information is not reliable unless the status icon
+is embedded in a notification area, see
+gtk_status_icon_is_embedded().
+
+
+</description>
+<parameters>
+<parameter name="status_icon">
+<parameter_description> a #GtkStatusIcon
+</parameter_description>
+</parameter>
+<parameter name="screen">
+<parameter_description> return location for the screen, or %NULL if the
+information is not needed
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> return location for the area occupied by the status
+icon, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="orientation">
+<parameter_description> return location for the orientation of the panel
+in which the status icon is embedded, or %NULL. A panel
+at the top or bottom of the screen is horizontal, a panel
+at the left or right is vertical.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the location information has
+been filled in
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_view_get_vadjustment">
+<description>
+Gets the #GtkAdjustment currently being used for the vertical aspect.
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+</parameters>
+<return> A #GtkAdjustment object, or %NULL if none is currently being
+used.
+</return>
+</function>
+
+<function name="gtk_tree_view_set_rules_hint">
+<description>
+This function tells GTK+ that the user interface for your
+application requires users to read across tree rows and associate
+cells with one another. By default, GTK+ will then render the tree
+with alternating row colors. Do &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt; use it
+just because you prefer the appearance of the ruled tree; that&apos;s a
+question for the theme. Some themes will draw tree rows in
+alternating colors even when rules are turned off, and users who
+prefer that appearance all the time can choose those themes. You
+should call this function only as a &amp;lt;emphasis&amp;gt;semantic&amp;lt;/emphasis&amp;gt;
+hint to the theme engine that your tree makes alternating colors
+useful from a functional standpoint (since it has lots of columns,
+generally).
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> %TRUE if the tree requires reading across rows
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_get_default_icon_list">
+<description>
+Gets the value set by gtk_window_set_default_icon_list().
+The list is a copy and should be freed with g_list_free(),
+but the pixbufs in the list have not had their reference count
+incremented.
+
+
+</description>
+<parameters>
+</parameters>
+<return> copy of default icon list
+</return>
+</function>
+
+<function name="gtk_label_set_use_markup">
+<description>
+Sets whether the text of the label contains markup in &amp;lt;link
+linkend=&quot;PangoMarkupFormat&quot;&amp;gt;Pango&apos;s text markup
+language&amp;lt;/link&amp;gt;. See gtk_label_set_markup().
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> %TRUE if the label&apos;s text should be parsed for markup.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_get_enable_tree_lines">
+<description>
+Return value: %TRUE if tree lines are drawn in @tree_view, %FALSE
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if tree lines are drawn in @tree_view, %FALSE
+otherwise.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_widget_set_events">
+<description>
+Sets the event mask (see #GdkEventMask) for a widget. The event
+mask determines which events a widget will receive. Keep in mind
+that different widgets have different default event masks, and by
+changing the event mask you may disrupt a widget&apos;s functionality,
+so be careful. This function must be called while a widget is
+unrealized. Consider gtk_widget_add_events() for widgets that are
+already realized, or if you want to preserve the existing event
+mask. This function can&apos;t be used with #GTK_NO_WINDOW widgets;
+to get events on those widgets, place them inside a #GtkEventBox
+and receive events on the event box.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="events">
+<parameter_description> event mask
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_delete_selection">
+<description>
+Deletes the range between the &quot;insert&quot; and &quot;selection_bound&quot; marks,
+that is, the currently-selected text. If @interactive is %TRUE,
+the editability of the selection will be considered (users can&apos;t delete
+uneditable text).
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="interactive">
+<parameter_description> whether the deletion is caused by user interaction
+</parameter_description>
+</parameter>
+<parameter name="default_editable">
+<parameter_description> whether the buffer is editable by default
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether there was a non-empty selection to delete
+</return>
+</function>
+
+<function name="gtk_text_iter_starts_word">
+<description>
+Determines whether @iter begins a natural-language word. Word
+breaks are determined by Pango and should be correct for nearly any
+language (if not, the correct fix would be to the Pango word break
+algorithms).
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter is at the start of a word
+</return>
+</function>
+
+<function name="gtk_tree_view_column_set_sizing">
+<description>
+Sets the growth behavior of @tree_column to @type.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> The #GtkTreeViewColumnSizing.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_assistant_update_buttons_state">
+<description>
+Forces @assistant to recompute the buttons state.
+
+GTK+ automatically takes care of this in most situations,
+e.g. when the user goes to a different page, or when the
+visibility or completeness of a page changes.
+
+One situation where it can be necessary to call this
+function is when changing a value on the current page
+affects the future page flow of the assistant.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="assistant">
+<parameter_description> a #GtkAssistant
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_drag_set_icon_widget">
+<description>
+Changes the icon for a widget to a given widget. GTK+
+will not destroy the icon, so if you don&apos;t want
+it to persist, you should connect to the &quot;drag_end&quot;
+signal and destroy it yourself.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> the context for a drag. (This must be called
+ with a context for the source side of a drag)
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> a toplevel window to use as an icon.
+</parameter_description>
+</parameter>
+<parameter name="hot_x">
+<parameter_description> the X offset within @widget of the hotspot.
+</parameter_description>
+</parameter>
+<parameter name="hot_y">
+<parameter_description> the Y offset within @widget of the hotspot.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_info_get_filename">
+<description>
+Gets the filename for the icon. If the
+%GTK_ICON_LOOKUP_USE_BUILTIN flag was passed
+to gtk_icon_theme_lookup_icon(), there may be
+no filename if a builtin icon is returned; in this
+case, you should use gtk_icon_info_get_builtin_pixbuf().
+
+
+</description>
+<parameters>
+<parameter name="icon_info">
+<parameter_description> a #GtkIconInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> the filename for the icon, or %NULL
+if gtk_icon_info_get_builtin_pixbuf() should
+be used instead. The return value is owned by
+GTK+ and should not be modified or freed.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_buildable_custom_tag_start">
+<description>
+This is called for each unknown element under &amp;lt;child&amp;gt;.
+
+
+</description>
+<parameters>
+<parameter name="buildable">
+<parameter_description> a #GtkBuildable
+</parameter_description>
+</parameter>
+<parameter name="builder">
+<parameter_description> a #GtkBuilder used to construct this object
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> child object or %NULL for non-child tags
+</parameter_description>
+</parameter>
+<parameter name="tagname">
+<parameter_description> name of tag
+</parameter_description>
+</parameter>
+<parameter name="parser">
+<parameter_description> a #GMarkupParser structure to fill in
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> return location for user data that will be passed in
+to parser functions
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a object has a custom implementation, %FALSE
+if it doesn&apos;t.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_widget_set_has_tooltip">
+<description>
+Sets the has-tooltip property on @widget to @has_tooltip. See
+GtkWidget:has-tooltip for more information.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="has_tooltip">
+<parameter_description> whether or not @widget has a tooltip.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_remove_mnemonic">
+<description>
+Removes a mnemonic from this window.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="keyval">
+<parameter_description> the mnemonic
+</parameter_description>
+</parameter>
+<parameter name="target">
+<parameter_description> the widget that gets activated by the mnemonic
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_set_accel_path">
+<description>
+Given an accelerator group, @accel_group, and an accelerator path,
+@accel_path, sets up an accelerator in @accel_group so whenever the
+key binding that is defined for @accel_path is pressed, @widget
+will be activated. This removes any accelerators (for any
+accelerator group) installed by previous calls to
+gtk_widget_set_accel_path(). Associating accelerators with
+paths allows them to be modified by the user and the modifications
+to be saved for future use. (See gtk_accel_map_save().)
+
+This function is a low level function that would most likely
+be used by a menu creation system like #GtkUIManager. If you
+use #GtkUIManager, setting up accelerator paths will be done
+automatically.
+
+Even when you you aren&apos;t using #GtkUIManager, if you only want to
+set up accelerators on menu items gtk_menu_item_set_accel_path()
+provides a somewhat more convenient interface.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="accel_path">
+<parameter_description> path used to look up the accelerator
+</parameter_description>
+</parameter>
+<parameter name="accel_group">
+<parameter_description> a #GtkAccelGroup.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_theme_set_screen">
+<description>
+Sets the screen for an icon theme; the screen is used
+to track the user&apos;s currently configured icon theme,
+which might be different for different screens.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="icon_theme">
+<parameter_description> a #GtkIconTheme
+</parameter_description>
+</parameter>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_action_create_icon">
+<description>
+This function is intended for use by action implementations to
+create icons displayed in the proxy widgets.
+
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+<parameter name="icon_size">
+<parameter_description> the size of the icon that should be created.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a widget that displays the icon for this action.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tree_view_column_set_reorderable">
+<description>
+If @reorderable is %TRUE, then the column can be reordered by the end user
+dragging the header.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+<parameter name="reorderable">
+<parameter_description> %TRUE, if the column can be reordered.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_menu_item_get_submenu">
+<description>
+Gets the submenu underneath this menu item, if any. See
+gtk_menu_item_set_submenu().
+
+
+</description>
+<parameters>
+<parameter name="menu_item">
+<parameter_description> a #GtkMenuItem
+</parameter_description>
+</parameter>
+</parameters>
+<return> submenu for this menu item, or %NULL if none.
+</return>
+</function>
+
+<function name="_gtk_file_system_model_set_show_hidden">
+<description>
+Sets whether hidden files should be included in the #GtkTreeModel
+for display.
+
+</description>
+<parameters>
+<parameter name="model">
+<parameter_description> a #GtkFileSystemModel
+</parameter_description>
+</parameter>
+<parameter name="show_hidden">
+<parameter_description> whether hidden files should be displayed
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_draw_extension">
+<description>
+Draws an extension, i.e. a notebook tab.
+
+Deprecated: Use gtk_paint_extension() instead.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the extension
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the extension
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of the extension
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> width of the extension
+</parameter_description>
+</parameter>
+<parameter name="gap_side">
+<parameter_description> the side on to which the extension is attached
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_source_set_state">
+<description>
+Sets the widget state this icon source is intended to be used
+with.
+
+Setting the widget state on an icon source makes no difference
+if the state is wildcarded. Therefore, you should usually
+call gtk_icon_source_set_state_wildcarded() to un-wildcard it
+in addition to calling this function.
+
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a #GtkIconSource
+</parameter_description>
+</parameter>
+<parameter name="state">
+<parameter_description> widget state this source applies to
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_is_start">
+<description>
+Return value: whether @iter is the first in the buffer
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @iter is the first in the buffer
+</return>
+</function>
+
+<function name="gtk_text_view_set_justification">
+<description>
+Sets the default justification of text in @text_view.
+Tags in the view&apos;s buffer may override the default.
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="justification">
+<parameter_description> justification
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_scale_button_get_adjustment">
+<description>
+Gets the #GtkAdjustment associated with the #GtkScaleButton&apos;s scale.
+See gtk_range_get_adjustment() for details.
+
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkScaleButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> the adjustment associated with the scale
+
+Since: 2.12
+</return>
+</function>
+
+<function name="GtkSizeGroup">
+<description>
+If %TRUE, unmapped widgets are ignored when determining
+the size of the group.
+
+Since: 2.8
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkButton">
+<description>
+Spacing in pixels between the image and label.
+
+Since: 2.10
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_color_selection_new">
+<description>
+Creates a new GtkColorSelection.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkColorSelection
+</return>
+</function>
+
+<function name="gtk_print_operation_set_n_pages">
+<description>
+Sets the number of pages in the document.
+
+This &amp;lt;emphasis&amp;gt;must&amp;lt;/emphasis&amp;gt; be set to a positive number
+before the rendering starts. It may be set in a
+#GtkPrintOperation::begin-print signal hander.
+
+Note that the page numbers passed to the
+#GtkPrintOperation::request-page-setup
+and #GtkPrintOperation::draw-page signals are 0-based, i.e. if
+the user chooses to print all pages, the last ::draw-page signal
+will be for page @n_pages - 1.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="op">
+<parameter_description> a #GtkPrintOperation
+</parameter_description>
+</parameter>
+<parameter name="n_pages">
+<parameter_description> the number of pages
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_unmaximize">
+<description>
+Asks to unmaximize @window. Note that you shouldn&apos;t assume the
+window is definitely unmaximized afterward, because other entities
+(e.g. the user or &amp;lt;link linkend=&quot;gtk-X11-arch&quot;&amp;gt;window
+manager&amp;lt;/link&amp;gt;) could maximize it again, and not all window
+managers honor requests to unmaximize. But normally the window will
+end up unmaximized. Just don&apos;t write code that crashes if not.
+
+You can track maximization via the &quot;window_state_event&quot; signal
+on #GtkWidget.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_selection_select_iter">
+<description>
+Selects the specified iterator.
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> A #GtkTreeSelection.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> The #GtkTreeIter to be selected.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_progress_bar_get_fraction">
+<description>
+Return value: a fraction from 0.0 to 1.0
+
+</description>
+<parameters>
+<parameter name="pbar">
+<parameter_description> a #GtkProgressBar
+</parameter_description>
+</parameter>
+</parameters>
+<return> a fraction from 0.0 to 1.0
+</return>
+</function>
+
+<function name="gtk_text_buffer_get_end_iter">
+<description>
+Initializes @iter with the &quot;end iterator,&quot; one past the last valid
+character in the text buffer. If dereferenced with
+gtk_text_iter_get_char(), the end iterator has a character value of
+0. The entire buffer lies in the range from the first position in
+the buffer (call gtk_text_buffer_get_start_iter() to get
+character position 0) to the end iterator.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> iterator to initialize
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_invisible_new_for_screen">
+<description>
+Creates a new #GtkInvisible object for a specified screen
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen which identifies on which
+the new #GtkInvisible will be created.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly created #GtkInvisible object
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_tree_view_convert_bin_window_to_widget_coords">
+<description>
+Converts bin_window coordinates (see gtk_tree_view_get_bin_window())
+to widget relative coordinates.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="bx">
+<parameter_description> bin_window X coordinate
+</parameter_description>
+</parameter>
+<parameter name="by">
+<parameter_description> bin_window Y coordinate
+</parameter_description>
+</parameter>
+<parameter name="wx">
+<parameter_description> return location for widget X coordinate
+</parameter_description>
+</parameter>
+<parameter name="wy">
+<parameter_description> return location for widget Y coordinate
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_get_child_visible">
+<description>
+Gets the value set with gtk_widget_set_child_visible().
+If you feel a need to use this function, your code probably
+needs reorganization.
+
+This function is only useful for container implementations and
+never should be called by an application.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the widget is mapped with the parent.
+</return>
+</function>
+
+<function name="GtkEntryCompletion">
+<description>
+Determines whether the possible completions on the popup
+will appear in the entry as you navigate through them.
+
+Since: 2.12
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_check_menu_item_set_inconsistent">
+<description>
+If the user has selected a range of elements (such as some text or
+spreadsheet cells) that are affected by a boolean setting, and the
+current values in that range are inconsistent, you may want to
+display the check in an &quot;in between&quot; state. This function turns on
+&quot;in between&quot; display. Normally you would turn off the inconsistent
+state again if the user explicitly selects a setting. This has to be
+done manually, gtk_check_menu_item_set_inconsistent() only affects
+visual appearance, it doesn&apos;t affect the semantics of the widget.
+
+
+</description>
+<parameters>
+<parameter name="check_menu_item">
+<parameter_description> a #GtkCheckMenuItem
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> %TRUE to display an &quot;inconsistent&quot; third state check
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_calendar_select_month">
+<description>
+Shifts the calendar to a different month.
+
+
+</description>
+<parameters>
+<parameter name="calendar">
+<parameter_description> a #GtkCalendar
+</parameter_description>
+</parameter>
+<parameter name="month">
+<parameter_description> a month number between 0 and 11.
+</parameter_description>
+</parameter>
+<parameter name="year">
+<parameter_description> the year the month is in.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE, always
+</return>
+</function>
+
+<function name="gtk_icon_set_ref">
+<description>
+Increments the reference count on @icon_set.
+
+
+</description>
+<parameters>
+<parameter name="icon_set">
+<parameter_description> a #GtkIconSet.
+</parameter_description>
+</parameter>
+</parameters>
+<return> @icon_set.
+</return>
+</function>
+
+<function name="gtk_recent_info_get_mime_type">
+<description>
+Gets the MIME type of the resource.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GtkRecentInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> the MIME type of the resource. The returned string
+is owned by the recent manager, and should not be freed.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_icon_view_select_all">
+<description>
+Selects all the icons. @icon_view must has its selection mode set
+to #GTK_SELECTION_MULTIPLE.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_progress_bar_get_text">
+<description>
+Retrieves the text displayed superimposed on the progress bar,
+if any, otherwise %NULL. The return value is a reference
+to the text, not a copy of it, so will become invalid
+if you change the text in the progress bar.
+
+
+</description>
+<parameters>
+<parameter name="pbar">
+<parameter_description> a #GtkProgressBar
+</parameter_description>
+</parameter>
+</parameters>
+<return> text, or %NULL; this string is owned by the widget
+and should not be modified or freed.
+</return>
+</function>
+
+<function name="gtk_text_iter_get_line_offset">
+<description>
+Return value: offset from start of line
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> offset from start of line
+</return>
+</function>
+
+<function name="gtk_target_list_find">
+<description>
+Looks up a given target in a #GtkTargetList.
+
+
+</description>
+<parameters>
+<parameter name="list">
+<parameter_description> a #GtkTargetList
+</parameter_description>
+</parameter>
+<parameter name="target">
+<parameter_description> an interned atom representing the target to search for
+</parameter_description>
+</parameter>
+<parameter name="info">
+<parameter_description> a pointer to the location to store application info for target
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the target was found, otherwise %FALSE
+</return>
+</function>
+
+<function name="gtk_widget_freeze_child_notify">
+<description>
+Stops emission of #GtkWidget::child-notify signals on @widget. The
+signals are queued until gtk_widget_thaw_child_notify() is called
+on @widget.
+
+This is the analogue of g_object_freeze_notify() for child properties.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_action_group_remove_action">
+<description>
+Removes an action object from the action group.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action_group">
+<parameter_description> the action group
+</parameter_description>
+</parameter>
+<parameter name="action">
+<parameter_description> an action
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_about_dialog_set_wrap_license">
+<description>
+Sets whether the license text in @about is
+automatically wrapped.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+<parameter name="wrap_license">
+<parameter_description> whether to wrap the license
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkAdjustment">
+<description>
+The page size of the adjustment.
+Note that the page-size is irrelevant and should be set to zero
+if the adjustment is used for a simple scalar value, e.g. in a
+#GtkSpinButton.
+
+Since: 2.4
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_get_type_hint">
+<description>
+Gets the type hint for this window. See gtk_window_set_type_hint().
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> the type hint for @window.
+</return>
+</function>
+
+<function name="gtk_paper_size_new_custom">
+<description>
+Creates a new #GtkPaperSize object with the
+given parameters.
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> the paper name
+</parameter_description>
+</parameter>
+<parameter name="display_name">
+<parameter_description> the human-readable name
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the paper width, in units of @unit
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the paper height, in units of @unit
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the unit for @width and @height
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkPaperSize object, use gtk_paper_size_free()
+to free it
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_status_icon_is_embedded">
+<description>
+Return value: %TRUE if the status icon is embedded in
+
+</description>
+<parameters>
+<parameter name="status_icon">
+<parameter_description> a #GtkStatusIcon
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the status icon is embedded in
+a notification area.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_status_icon_new_from_stock">
+<description>
+Creates a status icon displaying a stock icon. Sample stock icon
+names are #GTK_STOCK_OPEN, #GTK_STOCK_QUIT. You can register your
+own stock icon names, see gtk_icon_factory_add_default() and
+gtk_icon_factory_add().
+
+
+</description>
+<parameters>
+<parameter name="stock_id">
+<parameter_description> a stock icon id
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkStatusIcon
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_cell_renderer_text_set_fixed_height_from_font">
+<description>
+Sets the height of a renderer to explicitly be determined by the &quot;font&quot; and
+&quot;y_pad&quot; property set on it. Further changes in these properties do not
+affect the height, so they must be accompanied by a subsequent call to this
+function. Using this function is unflexible, and should really only be used
+if calculating the size of a cell is too slow (ie, a massive number of cells
+displayed). If @number_of_rows is -1, then the fixed height is unset, and
+the height is determined by the properties again.
+
+</description>
+<parameters>
+<parameter name="renderer">
+<parameter_description> A #GtkCellRendererText
+</parameter_description>
+</parameter>
+<parameter name="number_of_rows">
+<parameter_description> Number of rows of text each cell renderer is allocated, or -1
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_drag_dest_find_target">
+<description>
+Looks for a match between @context-&amp;gt;targets and the
+@dest_target_list, returning the first matching target, otherwise
+returning %GDK_NONE. @dest_target_list should usually be the return
+value from gtk_drag_dest_get_target_list(), but some widgets may
+have different valid targets for different parts of the widget; in
+that case, they will have to implement a drag_motion handler that
+passes the correct target list to this function.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> drag destination widget
+</parameter_description>
+</parameter>
+<parameter name="context">
+<parameter_description> drag context
+</parameter_description>
+</parameter>
+<parameter name="target_list">
+<parameter_description> list of droppable targets, or %NULL to use
+gtk_drag_dest_get_target_list (@widget).
+</parameter_description>
+</parameter>
+</parameters>
+<return> first target that the source offers and the dest can accept, or %GDK_NONE
+</return>
+</function>
+
+<function name="gtk_entry_set_has_frame">
+<description>
+Sets whether the entry has a beveled frame around it.
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> new value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tool_item_get_visible_horizontal">
+<description>
+Return value: %TRUE if @tool_item is visible on toolbars that are
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @tool_item is visible on toolbars that are
+docked horizontally.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_print_settings_get_resolution">
+<description>
+Gets the value of %GTK_PRINT_SETTINGS_RESOLUTION.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return> the resolution in dpi
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_text_buffer_get_slice">
+<description>
+Return value: an allocated UTF-8 string
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> start of a range
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> end of a range
+</parameter_description>
+</parameter>
+<parameter name="include_hidden_chars">
+<parameter_description> whether to include invisible text
+</parameter_description>
+</parameter>
+</parameters>
+<return> an allocated UTF-8 string
+</return>
+</function>
+
+<function name="gtk_entry_get_max_length">
+<description>
+Retrieves the maximum allowed length of the text in
+@entry. See gtk_entry_set_max_length().
+
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+</parameters>
+<return> the maximum allowed number of characters
+in #GtkEntry, or 0 if there is no maximum.
+</return>
+</function>
+
+<function name="gtk_combo_box_entry_set_text_column">
+<description>
+Sets the model column which @entry_box should use to get strings from
+to be @text_column.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="entry_box">
+<parameter_description> A #GtkComboBoxEntry.
+</parameter_description>
+</parameter>
+<parameter name="text_column">
+<parameter_description> A column in @model to get the strings from.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_paper_size_get_default_top_margin">
+<description>
+Gets the default top margin for the #GtkPaperSize.
+
+
+</description>
+<parameters>
+<parameter name="size">
+<parameter_description> a #GtkPaperSize object
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the unit for the return value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the default top margin
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_entry_completion_set_popup_set_width">
+<description>
+Sets whether the completion popup window will be resized to be the same
+width as the entry.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> a #GtkEntryCompletion
+</parameter_description>
+</parameter>
+<parameter name="popup_set_width">
+<parameter_description> %TRUE to make the width of the popup the same as the entry
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_scrolled_window_set_shadow_type">
+<description>
+Changes the type of shadow drawn around the contents of
+@scrolled_window.
+
+
+</description>
+<parameters>
+<parameter name="scrolled_window">
+<parameter_description> a #GtkScrolledWindow
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> kind of shadow to draw around scrolled window contents
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_model_iter_has_child">
+<description>
+Return value: %TRUE if @iter has children.
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> The #GtkTreeIter to test for children.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter has children.
+</return>
+</function>
+
+<function name="gtk_stock_add">
+<description>
+Registers each of the stock items in @items. If an item already
+exists with the same stock ID as one of the @items, the old item
+gets replaced. The stock items are copied, so GTK+ does not hold
+any pointer into @items and @items can be freed. Use
+gtk_stock_add_static() if @items is persistent and GTK+ need not
+copy the array.
+
+
+</description>
+<parameters>
+<parameter name="items">
+<parameter_description> a #GtkStockItem or array of items
+</parameter_description>
+</parameter>
+<parameter name="n_items">
+<parameter_description> number of #GtkStockItem in @items
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_color_selection_set_has_palette">
+<description>
+Shows and hides the palette based upon the value of @has_palette.
+
+
+</description>
+<parameters>
+<parameter name="colorsel">
+<parameter_description> a #GtkColorSelection.
+</parameter_description>
+</parameter>
+<parameter name="has_palette">
+<parameter_description> %TRUE if palette is to be visible, %FALSE otherwise.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_cell_layout_clear_attributes">
+<description>
+Clears all existing attributes previously set with
+gtk_cell_layout_set_attributes().
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="cell_layout">
+<parameter_description> A #GtkCellLayout.
+</parameter_description>
+</parameter>
+<parameter name="cell">
+<parameter_description> A #GtkCellRenderer to clear the attribute mapping on.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_get_output_bin">
+<description>
+Gets the value of %GTK_PRINT_SETTINGS_OUTPUT_BIN.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return> the output bin
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_draw_focus">
+<description>
+Draws a focus indicator around the given rectangle on @window using the
+given style.
+
+Deprecated: Use gtk_paint_focus() instead.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x origin of the rectangle around which to draw a focus indicator
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y origin of the rectangle around which to draw a focus indicator
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the rectangle around which to draw a focus indicator
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the rectangle around which to draw a focus indicator
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_accel_groups_activate">
+<description>
+Finds the first accelerator in any #GtkAccelGroup attached
+to @object that matches @accel_key and @accel_mods, and
+activates that accelerator.
+If an accelerator was activated and handled this keypress, %TRUE
+is returned.
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> the #GObject, usually a #GtkWindow, on which
+to activate the accelerator.
+</parameter_description>
+</parameter>
+<parameter name="accel_key">
+<parameter_description> accelerator keyval from a key event
+</parameter_description>
+</parameter>
+<parameter name="accel_mods">
+<parameter_description> keyboard state mask from a key event
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the accelerator was handled, %FALSE otherwise
+</return>
+</function>
+
+<function name="gtk_print_operation_set_unit">
+<description>
+Sets up the transformation for the cairo context obtained from
+#GtkPrintContext in such a way that distances are measured in
+units of @unit.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="op">
+<parameter_description> a #GtkPrintOperation
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the unit to use
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_scrolled_window_set_placement">
+<description>
+Sets the placement of the contents with respect to the scrollbars
+for the scrolled window.
+The default is %GTK_CORNER_TOP_LEFT, meaning the child is
+in the top left, with the scrollbars underneath and to the right.
+Other values in #GtkCornerType are %GTK_CORNER_TOP_RIGHT,
+%GTK_CORNER_BOTTOM_LEFT, and %GTK_CORNER_BOTTOM_RIGHT.
+
+See also gtk_scrolled_window_get_placement() and
+gtk_scrolled_window_unset_placement().
+
+</description>
+<parameters>
+<parameter name="scrolled_window">
+<parameter_description> a #GtkScrolledWindow
+</parameter_description>
+</parameter>
+<parameter name="window_placement">
+<parameter_description> position of the child window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_get_event_widget">
+<description>
+If @event is %NULL or the event was not associated with any widget,
+Return value: the widget that originally received @event, or %NULL
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a #GdkEvent
+</parameter_description>
+</parameter>
+</parameters>
+<return> the widget that originally received @event, or %NULL
+</return>
+</function>
+
+<function name="gtk_rc_get_default_files">
+<description>
+Retrieves the current list of RC files that will be parsed
+at the end of gtk_init().
+
+
+</description>
+<parameters>
+</parameters>
+<return> A %NULL-terminated array of filenames. This memory
+is owned by GTK+ and must not be freed by the application.
+If you want to store this information, you should make a copy.
+</return>
+</function>
+
+<function name="_gtk_file_system_model_add_editable">
+<description>
+Adds an &quot;empty&quot; row at the beginning of the model. This does not refer to
+any file, but is a temporary placeholder for a file name that the user will
+type when a corresponding cell is made editable. When your code is done
+using this temporary row, call _gtk_file_system_model_remove_editable().
+
+</description>
+<parameters>
+<parameter name="model">
+<parameter_description> a #GtkFileSystemModel
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> Location to return the iter corresponding to the editable row
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_set_tab_pos">
+<description>
+Sets the edge at which the tabs for switching pages in the
+notebook are drawn.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook.
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> the edge to draw the tabs at.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_set_app_paintable">
+<description>
+Sets whether the application intends to draw on the widget in
+an #GtkWidget::expose-event handler.
+
+This is a hint to the widget and does not affect the behavior of
+the GTK+ core; many widgets ignore this flag entirely. For widgets
+that do pay attention to the flag, such as #GtkEventBox and #GtkWindow,
+the effect is to suppress default themed drawing of the widget&apos;s
+background. (Children of the widget will still be drawn.) The application
+is then entirely responsible for drawing the widget background.
+
+Note that the background is still drawn when the widget is mapped.
+If this is not suitable (e.g. because you want to make a transparent
+window using an RGBA visual), you can work around this by doing:
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+gtk_widget_realize (window);
+gdk_window_set_back_pixmap (window-&amp;gt;window, NULL, FALSE);
+gtk_widget_show (window);
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="app_paintable">
+<parameter_description> %TRUE if the application will paint on the widget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_move_mark_by_name">
+<description>
+Moves the mark named @name (which must exist) to location @where.
+See gtk_text_buffer_move_mark() for details.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> name of a mark
+</parameter_description>
+</parameter>
+<parameter name="where">
+<parameter_description> new location for mark
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_button_set_title">
+<description>
+Modifies the @title of the browse dialog used by @button.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> the button widget to modify.
+</parameter_description>
+</parameter>
+<parameter name="title">
+<parameter_description> the new browse dialog title.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_theme_new">
+<description>
+Creates a new icon theme object. Icon theme objects are used
+to lookup up an icon by name in a particular icon theme.
+Usually, you&apos;ll want to use gtk_icon_theme_get_default()
+or gtk_icon_theme_get_for_screen() rather than creating
+a new icon theme object for scratch.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the newly created #GtkIconTheme object.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="GtkMessageDialog">
+<description>
+The image for this dialog.
+
+Since: 2.10
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_hsv_set_color">
+<description>
+Sets the current color in an HSV color selector. Color component values must
+be in the [0.0, 1.0] range.
+
+</description>
+<parameters>
+<parameter name="hsv">
+<parameter_description> An HSV color selector.
+</parameter_description>
+</parameter>
+<parameter name="h">
+<parameter_description> Hue.
+</parameter_description>
+</parameter>
+<parameter name="s">
+<parameter_description> Saturation.
+</parameter_description>
+</parameter>
+<parameter name="v">
+<parameter_description> Value.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_draw_handle">
+<description>
+Draws a handle as used in #GtkHandleBox and #GtkPaned.
+
+Deprecated: Use gtk_paint_handle() instead.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the handle
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the handle
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> with of the handle
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height of the handle
+</parameter_description>
+</parameter>
+<parameter name="orientation">
+<parameter_description> the orientation of the handle
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_selection_clear">
+<description>
+The default handler for the GtkWidget::selection_clear_event
+signal.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> the event
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the event was handled, otherwise false
+
+Since: 2.2
+
+Deprecated: 2.4: Instead of calling this function, chain up from
+your selection_clear_event handler. Calling this function
+from any other context is illegal.
+</return>
+</function>
+
+<function name="gtk_tooltip_set_markup">
+<description>
+Sets the text of the tooltip to be @markup, which is marked up
+with the &amp;lt;link
+linkend=&quot;PangoMarkupFormat&quot;&amp;gt;Pango text markup language&amp;lt;/link&amp;gt;.
+If @markup is %NULL, the label will be hidden.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="tooltip">
+<parameter_description> a #GtkTooltip
+</parameter_description>
+</parameter>
+<parameter name="markup">
+<parameter_description> a markup string (see &amp;lt;link linkend=&quot;PangoMarkupFormat&quot;&amp;gt;Pango markup format&amp;lt;/link&amp;gt;) or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_style_get_font">
+<description>
+Gets the #GdkFont to use for the given style. This is
+meant only as a replacement for direct access to @style-&amp;gt;font
+and should not be used in new code. New code should
+use @style-&amp;gt;font_desc instead.
+
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkFont for the style. This font is owned
+by the style; if you want to keep around a copy, you must
+call gdk_font_ref().
+</return>
+</function>
+
+<function name="gtk_tree_store_newv">
+<description>
+Non vararg creation function. Used primarily by language bindings.
+
+
+</description>
+<parameters>
+<parameter name="n_columns">
+<parameter_description> number of columns in the tree store
+</parameter_description>
+</parameter>
+<parameter name="types">
+<parameter_description> an array of #GType types for the columns, from first to last
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkTreeStore
+</return>
+</function>
+
+<function name="gtk_check_version">
+<description>
+Checks that the GTK+ library in use is compatible with the
+given version. Generally you would pass in the constants
+#GTK_MAJOR_VERSION, #GTK_MINOR_VERSION, #GTK_MICRO_VERSION
+as the three arguments to this function; that produces
+a check that the library in use is compatible with
+the version of GTK+ the application or module was compiled
+against.
+
+Compatibility is defined by two things: first the version
+of the running library is newer than the version
+@required_major.required_minor.@required_micro. Second
+the running library must be binary compatible with the
+version @required_major.required_minor.@required_micro
+(same major version.)
+
+This function is primarily for GTK+ modules; the module
+can call this function to check that it wasn&apos;t loaded
+into an incompatible version of GTK+. However, such a
+a check isn&apos;t completely reliable, since the module may be
+linked against an old version of GTK+ and calling the
+old version of gtk_check_version(), but still get loaded
+into an application using a newer version of GTK+.
+
+
+</description>
+<parameters>
+<parameter name="required_major">
+<parameter_description> the required major version.
+</parameter_description>
+</parameter>
+<parameter name="required_minor">
+<parameter_description> the required minor version.
+</parameter_description>
+</parameter>
+<parameter name="required_micro">
+<parameter_description> the required micro version.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %NULL if the GTK+ library is compatible with the
+given version, or a string describing the version mismatch.
+The returned string is owned by GTK+ and should not be modified
+or freed.
+</return>
+</function>
+
+<function name="gtk_drag_dest_get_track_motion">
+<description>
+Return Value: %TRUE if the widget always emits ::drag-motion events
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget that&apos;s a drag destination
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the widget always emits ::drag-motion events
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_ui_manager_get_ui">
+<description>
+Creates a &amp;lt;link linkend=&quot;XML-UI&quot;&amp;gt;UI definition&amp;lt;/link&amp;gt; of the merged UI.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkUIManager
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly allocated string containing an XML representation of
+the merged UI.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="GtkAboutDialog">
+<description>
+Whether to wrap the text in the license dialog.
+
+Since: 2.8
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toolbar_insert">
+<description>
+Insert a #GtkToolItem into the toolbar at position @pos. If @pos is
+0 the item is prepended to the start of the toolbar. If @pos is
+negative, the item is appended to the end of the toolbar.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar
+</parameter_description>
+</parameter>
+<parameter name="item">
+<parameter_description> a #GtkToolItem
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> the position of the new item
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_widget_propagate_screen_changed">
+<description>
+Propagates changes in the screen for a widget to all
+children, emitting #GtkWidget::screen-changed.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="previous_screen">
+<parameter_description> Previous screen
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_remove_selection_clipboard">
+<description>
+Removes a #GtkClipboard added with
+gtk_text_buffer_add_selection_clipboard().
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard added to @buffer by
+gtk_text_buffer_add_selection_clipboard()
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_store_insert_with_valuesv">
+<description>
+A variant of gtk_tree_store_insert_with_values() which takes
+the columns and values as two arrays, instead of varargs. This
+function is mainly intended for language bindings.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="tree_store">
+<parameter_description> A #GtkTreeStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> An unset #GtkTreeIter to set the new row, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> A valid #GtkTreeIter, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> position to insert the new row
+</parameter_description>
+</parameter>
+<parameter name="columns">
+<parameter_description> an array of column numbers
+</parameter_description>
+</parameter>
+<parameter name="values">
+<parameter_description> an array of GValues
+</parameter_description>
+</parameter>
+<parameter name="n_values">
+<parameter_description> the length of the @columns and @values arrays
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_size_allocate">
+<description>
+This function is only used by #GtkContainer subclasses, to assign a size
+and position to their child widgets.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="allocation">
+<parameter_description> position and size to be allocated to @widget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_list_store_insert_with_valuesv">
+<description>
+A variant of gtk_list_store_insert_with_values() which
+takes the columns and values as two arrays, instead of
+varargs. This function is mainly intended for
+language-bindings.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="list_store">
+<parameter_description> A #GtkListStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> An unset #GtkTreeIter to set to the new row, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> position to insert the new row
+</parameter_description>
+</parameter>
+<parameter name="columns">
+<parameter_description> an array of column numbers
+</parameter_description>
+</parameter>
+<parameter name="values">
+<parameter_description> an array of GValues
+</parameter_description>
+</parameter>
+<parameter name="n_values">
+<parameter_description> the length of the @columns and @values arrays
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toggle_action_set_draw_as_radio">
+<description>
+Sets whether the action should have proxies like a radio action.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+<parameter name="draw_as_radio">
+<parameter_description> whether the action should have proxies like a radio
+action
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_binding_set_add_path">
+<description>
+This function is used internally by the GtkRC parsing mechanism to
+assign match patterns to #GtkBindingSet structures.
+
+</description>
+<parameters>
+<parameter name="binding_set">
+<parameter_description> binding set to add a path to
+</parameter_description>
+</parameter>
+<parameter name="path_type">
+<parameter_description> path type the pattern applies to
+</parameter_description>
+</parameter>
+<parameter name="path_pattern">
+<parameter_description> the actual match pattern
+</parameter_description>
+</parameter>
+<parameter name="priority">
+<parameter_description> binding priority
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_get_iter_at_mark">
+<description>
+Initializes @iter with the current position of @mark.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> iterator to initialize
+</parameter_description>
+</parameter>
+<parameter name="mark">
+<parameter_description> a #GtkTextMark in @buffer
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_backward_lines">
+<description>
+Moves @count lines backward, if possible (if @count would move
+past the start or end of the buffer, moves to the start or end of
+the buffer). The return value indicates whether the iterator moved
+onto a dereferenceable position; if the iterator didn&apos;t move, or
+moved onto the end iterator, then %FALSE is returned. If @count is 0,
+the function does nothing and returns %FALSE. If @count is negative,
+moves forward by 0 - @count lines.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> number of lines to move backward
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @iter moved and is dereferenceable
+</return>
+</function>
+
+<function name="gtk_widget_send_expose">
+<description>
+Very rarely-used function. This function is used to emit
+an expose event signals on a widget. This function is not
+normally used directly. The only time it is used is when
+propagating an expose event to a child %NO_WINDOW widget, and
+that is normally done using gtk_container_propagate_expose().
+
+If you want to force an area of a window to be redrawn,
+use gdk_window_invalidate_rect() or gdk_window_invalidate_region().
+To cause the redraw to be done immediately, follow that call
+with a call to gdk_window_process_updates().
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> a expose #GdkEvent
+</parameter_description>
+</parameter>
+</parameters>
+<return> return from the event signal emission (%TRUE if
+the event was handled)
+</return>
+</function>
+
+<function name="gtk_button_set_image">
+<description>
+Set the image of @button to the given widget. Note that
+it depends on the #GtkSettings:gtk-button-images setting whether the
+image will be displayed or not, you don&apos;t have to call
+gtk_widget_show() on @image yourself.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkButton
+</parameter_description>
+</parameter>
+<parameter name="image">
+<parameter_description> a widget to set as the image for the button
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_get_grid_lines">
+<description>
+Return value: a #GtkTreeViewGridLines value indicating which grid lines
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GtkTreeViewGridLines value indicating which grid lines
+are enabled.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="_gtk_socket_get_private">
+<description>
+@socket: a #GtkSocket
+
+
+</description>
+<parameters>
+</parameters>
+<return>the private data associated with a GtkSocket, creating it
+first if necessary.
+</return>
+</function>
+
+<function name="gtk_print_settings_get_printer">
+<description>
+Convenience function to obtain the value of
+%GTK_PRINT_SETTINGS_PRINTER.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return> the printer name
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_handle_box_get_handle_position">
+<description>
+Gets the handle position of the handle box. See
+gtk_handle_box_set_handle_position().
+
+
+</description>
+<parameters>
+<parameter name="handle_box">
+<parameter_description> a #GtkHandleBox
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current handle position.
+</return>
+</function>
+
+<function name="gtk_tree_store_insert_after">
+<description>
+Inserts a new row after @sibling. If @sibling is %NULL, then the row will be
+prepended to @parent &apos;s children. If @parent and @sibling are %NULL, then
+the row will be prepended to the toplevel. If both @sibling and @parent are
+set, then @parent must be the parent of @sibling. When @sibling is set,
+@parent is optional.
+
+@iter will be changed to point to this new row. The row will be empty after
+this function is called. To fill in values, you need to call
+gtk_tree_store_set() or gtk_tree_store_set_value().
+
+
+</description>
+<parameters>
+<parameter name="tree_store">
+<parameter_description> A #GtkTreeStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> An unset #GtkTreeIter to set to the new row
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> A valid #GtkTreeIter, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="sibling">
+<parameter_description> A valid #GtkTreeIter, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_backward_visible_word_start">
+<description>
+Moves backward to the previous visible word start. (If @iter is currently
+on a word start, moves backward to the next one after that.) Word breaks
+are determined by Pango and should be correct for nearly any
+language (if not, the correct fix would be to the Pango word break
+algorithms).
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter moved and is not the end iterator
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_image_set_pixel_size">
+<description>
+Sets the pixel size to use for named icons. If the pixel size is set
+to a value != -1, it is used instead of the icon size set by
+gtk_image_set_from_icon_name().
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GtkImage
+</parameter_description>
+</parameter>
+<parameter name="pixel_size">
+<parameter_description> the new pixel size
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_dialog_add_buttons">
+<description>
+Adds more buttons, same as calling gtk_dialog_add_button()
+repeatedly. The variable argument list should be %NULL-terminated
+as with gtk_dialog_new_with_buttons(). Each button must have both
+text and response ID.
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkDialog
+</parameter_description>
+</parameter>
+<parameter name="first_button_text">
+<parameter_description> button text or stock ID
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> response ID for first button, then more text-response_id pairs
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_paned_get_child2">
+<description>
+Obtains the second child of the paned widget.
+
+
+</description>
+<parameters>
+<parameter name="paned">
+<parameter_description> a #GtkPaned widget
+</parameter_description>
+</parameter>
+</parameters>
+<return> second child, or %NULL if it is not set.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_icon_view_get_spacing">
+<description>
+Return value: the space between cells
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+</parameters>
+<return> the space between cells
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_tree_store_new">
+<description>
+Creates a new tree store as with @n_columns columns each of the types passed
+in. Note that only types derived from standard GObject fundamental types
+are supported.
+
+As an example, &amp;lt;literal&amp;gt;gtk_tree_store_new (3, G_TYPE_INT, G_TYPE_STRING,
+GDK_TYPE_PIXBUF);&amp;lt;/literal&amp;gt; will create a new #GtkTreeStore with three columns, of type
+&amp;lt;type&amp;gt;int&amp;lt;/type&amp;gt;, &amp;lt;type&amp;gt;string&amp;lt;/type&amp;gt; and #GdkPixbuf respectively.
+
+
+</description>
+<parameters>
+<parameter name="n_columns">
+<parameter_description> number of columns in the tree store
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> all #GType types for the columns, from first to last
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkTreeStore
+</return>
+</function>
+
+<function name="gtk_text_buffer_paste_clipboard">
+<description>
+Pastes the contents of a clipboard at the insertion point, or at
+@override_location. (Note: pasting is asynchronous, that is, we&apos;ll
+ask for the paste data and return, and at some point later after
+the main loop runs, the paste data will be inserted.)
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="clipboard">
+<parameter_description> the #GtkClipboard to paste from
+</parameter_description>
+</parameter>
+<parameter name="override_location">
+<parameter_description> location to insert pasted text, or %NULL for
+at the cursor
+</parameter_description>
+</parameter>
+<parameter name="default_editable">
+<parameter_description> whether the buffer is editable by default
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_clipboard_get_owner">
+<description>
+If the clipboard contents callbacks were set with
+gtk_clipboard_set_with_owner(), and the gtk_clipboard_set_with_data() or
+gtk_clipboard_clear() has not subsequently called, returns the owner set
+by gtk_clipboard_set_with_owner().
+
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard
+</parameter_description>
+</parameter>
+</parameters>
+<return> the owner of the clipboard, if any; otherwise %NULL.
+</return>
+</function>
+
+<function name="gtk_window_begin_move_drag">
+<description>
+Starts moving a window. This function is used if an application has
+window movement grips. When GDK can support it, the window movement
+will be done using the standard mechanism for the &amp;lt;link
+linkend=&quot;gtk-X11-arch&quot;&amp;gt;window manager&amp;lt;/link&amp;gt; or windowing
+system. Otherwise, GDK will try to emulate window movement,
+potentially not all that well, depending on the windowing system.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="button">
+<parameter_description> mouse button that initiated the drag
+</parameter_description>
+</parameter>
+<parameter name="root_x">
+<parameter_description> X position where the user clicked to initiate the drag, in root window coordinates
+</parameter_description>
+</parameter>
+<parameter name="root_y">
+<parameter_description> Y position where the user clicked to initiate the drag
+</parameter_description>
+</parameter>
+<parameter name="timestamp">
+<parameter_description> timestamp from the click event that initiated the drag
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_get_path_at_pos">
+<description>
+Finds the path at the point (@x, @y), relative to bin_window coordinates
+(please see gtk_tree_view_get_bin_window()).
+That is, @x and @y are relative to an events coordinates. @x and @y must
+come from an event on the @tree_view only where &amp;lt;literal&amp;gt;event-&amp;gt;window ==
+gtk_tree_view_get_bin_window (&amp;lt;!-- --&amp;gt;)&amp;lt;/literal&amp;gt;. It is primarily for
+things like popup menus. If @path is non-%NULL, then it will be filled
+with the #GtkTreePath at that point. This path should be freed with
+gtk_tree_path_free(). If @column is non-%NULL, then it will be filled
+with the column at that point. @cell_x and @cell_y return the coordinates
+relative to the cell background (i.e. the @background_area passed to
+gtk_cell_renderer_render()). This function is only meaningful if
+@tree_view is realized.
+
+For converting widget coordinates (eg. the ones you get from
+GtkWidget::query-tooltip), please see
+gtk_tree_view_convert_widget_to_bin_window_coords().
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView.
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> The x position to be identified (relative to bin_window).
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> The y position to be identified (relative to bin_window).
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> A pointer to a #GtkTreePath pointer to be filled in, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> A pointer to a #GtkTreeViewColumn pointer to be filled in, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="cell_x">
+<parameter_description> A pointer where the X coordinate relative to the cell can be placed, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="cell_y">
+<parameter_description> A pointer where the Y coordinate relative to the cell can be placed, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a row exists at that coordinate.
+</return>
+</function>
+
+<function name="gtk_image_new">
+<description>
+Creates a new empty #GtkImage widget.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a newly created #GtkImage widget.
+</return>
+</function>
+
+<function name="gtk_file_chooser_set_current_folder_uri">
+<description>
+Sets the current folder for @chooser from an URI.
+The user will be shown the full contents of the current folder,
+plus user interface elements for navigating to other folders.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> the URI for the new current folder
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the folder could be changed successfully, %FALSE
+otherwise.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_drag_source_set_icon_name">
+<description>
+Sets the icon that will be used for drags from a particular source
+to a themed icon. See the docs for #GtkIconTheme for more details.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="icon_name">
+<parameter_description> name of icon to use
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_info_get_description">
+<description>
+Gets the (short) description of the resource.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GtkRecentInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> the description of the resource. The returned string
+is owned by the recent manager, and should not be freed.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="_gtk_recent_chooser_get_recent_manager">
+<description>
+Gets the #GtkRecentManager used by @chooser.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> the recent manager for @chooser.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_status_icon_get_screen">
+<description>
+Return value: a #GdkScreen.
+
+</description>
+<parameters>
+<parameter name="status_icon">
+<parameter_description> a #GtkStatusIcon
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GdkScreen.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_page_setup_new_from_key_file">
+<description>
+Reads the page setup from the group @group_name in the key file
+@key_file. Returns a new #GtkPageSetup object with the restored
+page setup, or %NULL if an error occurred.
+
+
+</description>
+<parameters>
+<parameter name="key_file">
+<parameter_description> the #GKeyFile to retrieve the page_setup from
+</parameter_description>
+</parameter>
+<parameter name="group_name">
+<parameter_description> the name of the group in the key_file to read, or %NULL
+to use the default name &quot;Page Setup&quot;
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for an error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> the restored #GtkPageSetup
+
+Since: 2.12
+</return>
+</function>
+
+<function name="_gtk_scrolled_window_get_spacing">
+<description>
+Gets the spacing between the scrolled window&apos;s scrollbars and
+the scrolled widget. Used by GtkCombo
+
+
+</description>
+<parameters>
+<parameter name="scrolled_window">
+<parameter_description> a scrolled window
+</parameter_description>
+</parameter>
+</parameters>
+<return> the spacing, in pixels.
+</return>
+</function>
+
+<function name="gtk_drag_dest_add_text_targets">
+<description>
+Add the text targets supported by #GtkSelection to
+the target list of the drag destination. The targets
+are added with @info = 0. If you need another value,
+use gtk_target_list_add_text_targets() and
+gtk_drag_dest_set_target_list().
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget that&apos;s a drag destination
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_completion_set_text_column">
+<description>
+Convenience function for setting up the most used case of this code: a
+completion list with just strings. This function will set up @completion
+to have a list displaying all (and just) strings in the completion list,
+and to get those strings from @column in the model of @completion.
+
+This functions creates and adds a #GtkCellRendererText for the selected
+column. If you need to set the text column, but don&apos;t want the cell
+renderer, use g_object_set() to set the ::text_column property directly.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> A #GtkEntryCompletion.
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> The column in the model of @completion to get strings from.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_status_icon_new_from_file">
+<description>
+Creates a status icon displaying the file @filename.
+
+The image will be scaled down to fit in the available
+space in the notification area, if necessary.
+
+
+</description>
+<parameters>
+<parameter name="filename">
+<parameter_description> a filename
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkStatusIcon
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_icon_view_set_model">
+<description>
+Sets the model for a #GtkIconView.
+If the @icon_view already has a model set, it will remove
+it before setting the new model. If @model is %NULL, then
+it will unset the old model.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView.
+</parameter_description>
+</parameter>
+<parameter name="model">
+<parameter_description> The model.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_assistant_get_current_page">
+<description>
+Return value: The index (starting from 0) of the current page in
+
+</description>
+<parameters>
+<parameter name="assistant">
+<parameter_description> a #GtkAssistant
+</parameter_description>
+</parameter>
+</parameters>
+<return> The index (starting from 0) of the current page in
+the @assistant, if the @assistant has no pages, -1 will be returned
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_combo_box_append_text">
+<description>
+Appends @string to the list of strings stored in @combo_box. Note that
+you can only use this function with combo boxes constructed with
+gtk_combo_box_new_text().
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> A #GtkComboBox constructed using gtk_combo_box_new_text()
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> A string
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_manager_get_items">
+<description>
+Gets the list of recently used resources.
+
+
+</description>
+<parameters>
+<parameter name="manager">
+<parameter_description> a #GtkRecentManager
+</parameter_description>
+</parameter>
+</parameters>
+<return> a list of newly allocated #GtkRecentInfo objects. Use
+gtk_recent_info_unref() on each item inside the list, and then
+free the list itself using g_list_free().
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_message_dialog_format_secondary_text">
+<description>
+Sets the secondary text of the message dialog to be @message_format
+(with printf()-style).
+
+Note that setting a secondary text makes the primary text become
+bold, unless you have provided explicit markup.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="message_dialog">
+<parameter_description> a #GtkMessageDialog
+</parameter_description>
+</parameter>
+<parameter name="message_format">
+<parameter_description> printf()-style format string, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> arguments for @message_format
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_insert_page">
+<description>
+Insert a page into @notebook at the given position.
+
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the #GtkWidget to use as the contents of the page.
+</parameter_description>
+</parameter>
+<parameter name="tab_label">
+<parameter_description> the #GtkWidget to be used as the label for the page,
+or %NULL to use the default label, &apos;page N&apos;.
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> the index (starting at 0) at which to insert the page,
+or -1 to append the page after all other pages.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the index (starting from 0) of the inserted
+page in the notebook, or -1 if function fails
+</return>
+</function>
+
+<function name="gtk_widget_style_get_property">
+<description>
+Gets the value of a style property of @widget.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="property_name">
+<parameter_description> the name of a style property
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> location to return the property value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_about_dialog_get_program_name">
+<description>
+Return value: The program name. The string is owned by the about
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> The program name. The string is owned by the about
+dialog and must not be modified.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_print_operation_cancel">
+<description>
+Cancels a running print operation. This function may
+be called from a #GtkPrintOperation::begin-print,
+#GtkPrintOperation::paginate or #GtkPrintOperation::draw-page
+signal handler to stop the currently running print
+operation.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="op">
+<parameter_description> a #GtkPrintOperation
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_clipboard_wait_for_text">
+<description>
+Requests the contents of the clipboard as text and converts
+the result to UTF-8 if necessary. This function waits for
+the data to be received using the main loop, so events,
+timeouts, etc, may be dispatched during the wait.
+
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated UTF-8 string which must
+be freed with g_free(), or %NULL if retrieving
+the selection data failed. (This could happen
+for various reasons, in particular if the
+clipboard was empty or if the contents of the
+clipboard could not be converted into text form.)
+</return>
+</function>
+
+<function name="gtk_file_system_get_parent">
+<description>
+Gets the name of the parent folder of a path. If the path has no parent, as when
+you request the parent of a file system root, then @parent will be set to %NULL.
+
+
+</description>
+<parameters>
+<parameter name="file_system">
+<parameter_description> a #GtkFileSystem
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> base path name
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> location to store parent path name
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the operation was successful: @parent will be set to
+the name of the @path&apos;s parent, or to %NULL if @path is already a file system
+root. If the operation fails, this function returns %FALSE, sets @parent to
+NULL, and sets the @error value if it is specified.
+</return>
+</function>
+
+<function name="gtk_text_layout_set_overwrite_mode">
+<description>
+Sets overwrite mode
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkTextLayout
+</parameter_description>
+</parameter>
+<parameter name="overwrite">
+<parameter_description> overwrite mode
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_operation_preview_render_page">
+<description>
+Renders a page to the preview, using the print context that
+was passed to the #GtkPrintOperation::preview handler together
+with @preview.
+
+Note that this function requires a suitable cairo context to
+be associated with the print context.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="preview">
+<parameter_description> a #GtkPrintOperationPreview
+</parameter_description>
+</parameter>
+<parameter name="page_nr">
+<parameter_description> the page to render
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toggle_action_toggled">
+<description>
+Emits the &quot;toggled&quot; signal on the toggle action.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_paint_extension">
+<description>
+Draws an extension, i.e. a notebook tab.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> clip rectangle, or %NULL if the
+output should not be clipped
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> a style detail (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the extension
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the extension
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of the extension
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> width of the extension
+</parameter_description>
+</parameter>
+<parameter name="gap_side">
+<parameter_description> the side on to which the extension is attached
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_binding_entry_remove">
+<description>
+Remove a binding previously installed via
+gtk_binding_entry_add_signal() on @binding_set.
+
+</description>
+<parameters>
+<parameter name="binding_set">
+<parameter_description> @binding_set to remove an entry of
+</parameter_description>
+</parameter>
+<parameter name="keyval">
+<parameter_description> key value of binding to remove
+</parameter_description>
+</parameter>
+<parameter name="modifiers">
+<parameter_description> key modifier of binding to remove
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_accel_map_add_filter">
+<description>
+Adds a filter to the global list of accel path filters.
+
+Accel map entries whose accel path matches one of the filters
+are skipped by gtk_accel_map_foreach().
+
+This function is intended for GTK+ modules that create their own
+menus, but don&apos;t want them to be saved into the applications accelerator
+map dump.
+
+</description>
+<parameters>
+<parameter name="filter_pattern">
+<parameter_description> a pattern (see #GPatternSpec)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_builder_set_translation_domain">
+<description>
+Sets the translation domain of @builder.
+See #GtkBuilder:translation-domain.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="builder">
+<parameter_description> a #GtkBuilder
+</parameter_description>
+</parameter>
+<parameter name="domain">
+<parameter_description> the translation domain or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_deserialize_set_can_create_tags">
+<description>
+Use this function to allow a rich text deserialization function to
+create new tags in the receiving buffer. Note that using this
+function is almost always a bad idea, because the rich text
+functions you register should know how to map the rich text format
+they handler to your text buffers set of tags.
+
+The ability of creating new (arbitrary!) tags in the receiving buffer
+is meant for special rich text formats like the internal one that
+is registered using gtk_text_buffer_register_deserialize_tagset(),
+because that format is essentially a dump of the internal structure
+of the source buffer, including its tag names.
+
+You should allow creation of tags only if you know what you are
+doing, e.g. if you defined a tagset name for your application
+suite&apos;s text buffers and you know that it&apos;s fine to receive new
+tags from these buffers, because you know that your application can
+handle the newly created tags.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="format">
+<parameter_description> a #GdkAtom representing a registered rich text format
+</parameter_description>
+</parameter>
+<parameter name="can_create_tags">
+<parameter_description> whether deserializing this format may create tags
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_set_menu_label">
+<description>
+Changes the menu label for the page containing @child.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the child widget
+</parameter_description>
+</parameter>
+<parameter name="menu_label">
+<parameter_description> the menu label, or NULL for default
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_register_serialize_tagset">
+<description>
+This function registers GTK+&apos;s internal rich text serialization
+format with the passed @buffer. The internal format does not comply
+to any standard rich text format and only works between #GtkTextBuffer
+instances. It is capable of serializing all of a text buffer&apos;s tags
+and embedded pixbufs.
+
+This function is just a wrapper around
+gtk_text_buffer_register_serialize_format(). The mime type used
+for registering is &quot;application/x-gtk-text-buffer-rich-text&quot;, or
+&quot;application/x-gtk-text-buffer-rich-text;format=@tagset_name&quot; if a
+@tagset_name was passed.
+
+The @tagset_name can be used to restrict the transfer of rich text
+to buffers with compatible sets of tags, in order to avoid unknown
+tags from being pasted. It is probably the common case to pass an
+identifier != %NULL here, since the %NULL tagset requires the
+receiving buffer to deal with with pasting of arbitrary tags.
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="tagset_name">
+<parameter_description> an optional tagset name, on %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkAtom that corresponds to the newly registered
+format&apos;s mime-type.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="GtkFileChooserButton">
+<description>
+The width of the entry and label inside the button, in characters.
+
+Since: 2.6
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_chooser_remove_filter">
+<description>
+Removes @filter from the list of #GtkRecentFilter objects held by @chooser.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+<parameter name="filter">
+<parameter_description> a #GtkRecentFilter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_item_factory_construct">
+<description>
+Initializes an item factory.
+
+Deprecated: 2.4:
+
+</description>
+<parameters>
+<parameter name="ifactory">
+<parameter_description> a #GtkItemFactory
+</parameter_description>
+</parameter>
+<parameter name="container_type">
+<parameter_description> the kind of menu to create; can be
+#GTK_TYPE_MENU_BAR, #GTK_TYPE_MENU or #GTK_TYPE_OPTION_MENU
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> the factory path of @ifactory, a string of the form
+&amp;lt;literal&amp;gt;&quot;&amp;lt;name&amp;gt;&quot;&amp;lt;/literal&amp;gt;
+</parameter_description>
+</parameter>
+<parameter name="accel_group">
+<parameter_description> a #GtkAccelGroup to which the accelerators for the
+menu items will be added, or %NULL to create a new one
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_unix_dialog_new">
+<description>
+Creates a new #GtkPrintUnixDialog.
+
+
+</description>
+<parameters>
+<parameter name="title">
+<parameter_description> Title of the dialog, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> Transient parent of the dialog, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkPrintUnixDialog
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_widget_class_find_style_property">
+<description>
+Finds a style property of a widget class by name.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="klass">
+<parameter_description> a #GtkWidgetClass
+</parameter_description>
+</parameter>
+<parameter name="property_name">
+<parameter_description> the name of the style property to find
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GParamSpec of the style property or %NULL if @class has no
+style property with that name.
+</return>
+</function>
+
+<function name="gtk_combo_box_popup">
+<description>
+Pops up the menu or dropdown list of @combo_box.
+
+This function is mostly intended for use by accessibility technologies;
+applications should have little use for it.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> a #GtkComboBox
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_mark_get_deleted">
+<description>
+Return value: whether the mark is deleted
+
+</description>
+<parameters>
+<parameter name="mark">
+<parameter_description> a #GtkTextMark
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the mark is deleted
+</return>
+</function>
+
+<function name="gtk_cell_renderer_editing_canceled">
+<description>
+Causes the cell renderer to emit the #GtkCellRenderer::editing-canceled
+signal.
+
+This function is for use only by implementations of cell renderers that
+need to notify the client program that an editing process was canceled
+and the changes were not committed.
+
+Since: 2.4
+Deprecated: 2.6: Use gtk_cell_renderer_stop_editing() instead
+
+</description>
+<parameters>
+<parameter name="cell">
+<parameter_description> A #GtkCellRenderer
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_get_line_wrap">
+<description>
+Return value: %TRUE if the lines of the label are automatically wrapped.
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the lines of the label are automatically wrapped.
+</return>
+</function>
+
+<function name="gtk_toolbar_prepend_item">
+<description>
+Adds a new button to the beginning (top or left edges) of the given toolbar.
+
+@callback must be a pointer to a function taking a #GtkWidget and a gpointer as
+arguments. Use the GTK_SIGNAL_FUNC() to cast the function to #GtkSignalFunc.
+
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar.
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> give your toolbar button a label.
+</parameter_description>
+</parameter>
+<parameter name="tooltip_text">
+<parameter_description> a string that appears when the user holds the mouse over this item.
+</parameter_description>
+</parameter>
+<parameter name="tooltip_private_text">
+<parameter_description> use with #GtkTipsQuery.
+</parameter_description>
+</parameter>
+<parameter name="icon">
+<parameter_description> a #GtkWidget that should be used as the button&apos;s icon.
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the function to be executed when the button is pressed.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> a pointer to any data you wish to be passed to the callback.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new toolbar item as a #GtkWidget.
+</return>
+</function>
+
+<function name="gtk_statusbar_new">
+<description>
+Creates a new #GtkStatusbar ready for messages.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the new #GtkStatusbar
+</return>
+</function>
+
+<function name="gtk_about_dialog_get_website_label">
+<description>
+Return value: The label used for the website link. The string is owned by the about
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> The label used for the website link. The string is owned by the about
+dialog and must not be modified.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_text_view_buffer_to_window_coords">
+<description>
+Converts coordinate (@buffer_x, @buffer_y) to coordinates for the window
+@win, and stores the result in (@window_x, @window_y).
+
+Note that you can&apos;t convert coordinates for a nonexisting window (see
+gtk_text_view_set_border_window_size()).
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="win">
+<parameter_description> a #GtkTextWindowType except #GTK_TEXT_WINDOW_PRIVATE
+</parameter_description>
+</parameter>
+<parameter name="buffer_x">
+<parameter_description> buffer x coordinate
+</parameter_description>
+</parameter>
+<parameter name="buffer_y">
+<parameter_description> buffer y coordinate
+</parameter_description>
+</parameter>
+<parameter name="window_x">
+<parameter_description> window x coordinate return location
+</parameter_description>
+</parameter>
+<parameter name="window_y">
+<parameter_description> window y coordinate return location
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_paper_size_get_height">
+<description>
+Gets the paper height of the #GtkPaperSize, in
+units of @unit.
+
+
+</description>
+<parameters>
+<parameter name="size">
+<parameter_description> a #GtkPaperSize object
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the unit for the return value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the paper height
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_printer_is_default">
+<description>
+Return value: %TRUE if @printer is the default
+
+</description>
+<parameters>
+<parameter name="printer">
+<parameter_description> a #GtkPrinter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @printer is the default
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_window_set_title">
+<description>
+Sets the title of the #GtkWindow. The title of a window will be
+displayed in its title bar; on the X Window System, the title bar
+is rendered by the &amp;lt;link linkend=&quot;gtk-X11-arch&quot;&amp;gt;window
+manager&amp;lt;/link&amp;gt;, so exactly how the title appears to users may vary
+according to a user&apos;s exact configuration. The title should help a
+user distinguish this window from other windows they may have
+open. A good title might include the application name and current
+document filename, for example.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="title">
+<parameter_description> title of the window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_set_current_folder">
+<description>
+Sets the current folder for @chooser from a local filename.
+The user will be shown the full contents of the current folder,
+plus user interface elements for navigating to other folders.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="filename">
+<parameter_description> the full path of the new current folder
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the folder could be changed successfully, %FALSE
+otherwise.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_paint_shadow_gap">
+<description>
+Draws a shadow around the given rectangle in @window
+using the given style and state and shadow type, leaving a
+gap in one side.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> clip rectangle, or %NULL if the
+output should not be clipped
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> a style detail (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> width of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="gap_side">
+<parameter_description> side in which to leave the gap
+</parameter_description>
+</parameter>
+<parameter name="gap_x">
+<parameter_description> starting position of the gap
+</parameter_description>
+</parameter>
+<parameter name="gap_width">
+<parameter_description> width of the gap
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_button_get_image_position">
+<description>
+Gets the position of the image relative to the text
+inside the button.
+
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> the position
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_file_chooser_get_show_hidden">
+<description>
+Gets whether hidden files and folders are displayed in the file selector.
+See gtk_file_chooser_set_show_hidden().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if hidden files and folders are displayed.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_tree_model_sort_clear_cache">
+<description>
+This function should almost never be called. It clears the @tree_model_sort
+of any cached iterators that haven&apos;t been reffed with
+gtk_tree_model_ref_node(). This might be useful if the child model being
+sorted is static (and doesn&apos;t change often) and there has been a lot of
+unreffed access to nodes. As a side effect of this function, all unreffed
+iters will be invalid.
+
+</description>
+<parameters>
+<parameter name="tree_model_sort">
+<parameter_description> A #GtkTreeModelSort
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_about_dialog_set_website">
+<description>
+Sets the URL to use for the website link.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+<parameter name="website">
+<parameter_description> a URL string starting with &quot;http://&quot;
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_filter_set_name">
+<description>
+Sets the human-readable name of the filter; this is the string
+that will be displayed in the file selector user interface if
+there is a selectable list of filters.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> a #GtkFileFilter
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> the human-readable-name for the filter, or %NULL
+to remove any existing name.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_socket_steal">
+<description>
+Reparents a pre-existing toplevel window into a #GtkSocket. This is
+meant to embed clients that do not know about embedding into a
+#GtkSocket, however doing so is inherently unreliable, and using
+this function is not recommended.
+
+The #GtkSocket must have already be added into a toplevel window
+before you can make this call.
+
+</description>
+<parameters>
+<parameter name="socket_">
+<parameter_description> a #GtkSocket
+</parameter_description>
+</parameter>
+<parameter name="wid">
+<parameter_description> the window ID of an existing toplevel window.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_operation_set_allow_async">
+<description>
+Sets whether the gtk_print_operation_run() may return
+before the print operation is completed. Note that
+some platforms may not allow asynchronous operation.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="op">
+<parameter_description> a #GtkPrintOperation
+</parameter_description>
+</parameter>
+<parameter name="allow_async">
+<parameter_description> %TRUE to allow asynchronous operation
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_selection_data_targets_include_text">
+<description>
+Given a #GtkSelectionData object holding a list of targets,
+determines if any of the targets in @targets can be used to
+provide text.
+
+
+</description>
+<parameters>
+<parameter name="selection_data">
+<parameter_description> a #GtkSelectionData object
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @selection_data holds a list of targets,
+and a suitable target for text is included, otherwise %FALSE.
+</return>
+</function>
+
+<function name="gtk_color_button_get_title">
+<description>
+Gets the title of the color selection dialog.
+
+
+</description>
+<parameters>
+<parameter name="color_button">
+<parameter_description> a #GtkColorButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> An internal string, do not free the return value
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tool_item_set_homogeneous">
+<description>
+Sets whether @tool_item is to be allocated the same size as other
+homogeneous items. The effect is that all homogeneous items will have
+the same width as the widest of the items.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem:
+</parameter_description>
+</parameter>
+<parameter name="homogeneous">
+<parameter_description> whether @tool_item is the same size as other homogeneous items
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toolbar_get_style">
+<description>
+Retrieves whether the toolbar has text, icons, or both . See
+gtk_toolbar_set_style().
+
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current style of @toolbar
+</return>
+</function>
+
+<function name="_gtk_file_chooser_set_current_folder_path">
+<description>
+Sets the current folder for @chooser from a #GtkFilePath.
+Internal function, see gtk_file_chooser_set_current_folder_uri().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> the #GtkFilePath for the new folder
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store error, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the folder could be changed successfully, %FALSE
+otherwise.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_combo_box_get_column_span_column">
+<description>
+Returns: the column span column.
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> A #GtkComboBox
+</parameter_description>
+</parameter>
+</parameters>
+<return> the column span column.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_toggle_button_set_mode">
+<description>
+Sets whether the button is displayed as a separate indicator and label.
+You can call this function on a checkbutton or a radiobutton with
+@draw_indicator = %FALSE to make the button look like a normal button
+
+This function only affects instances of classes like #GtkCheckButton
+and #GtkRadioButton that derive from #GtkToggleButton,
+not instances of #GtkToggleButton itself.
+
+</description>
+<parameters>
+<parameter name="toggle_button">
+<parameter_description> a #GtkToggleButton
+</parameter_description>
+</parameter>
+<parameter name="draw_indicator">
+<parameter_description> if %TRUE, draw the button as a separate indicator
+and label; if %FALSE, draw the button like a normal button
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_modify_base">
+<description>
+Sets the base color for a widget in a particular state.
+All other style values are left untouched. The base color
+is the background color used along with the text color
+(see gtk_widget_modify_text()) for widgets such as #GtkEntry
+and #GtkTextView. See also gtk_widget_modify_style().
+
+Note that &quot;no window&quot; widgets (which have the %GTK_NO_WINDOW flag set)
+draw on their parent container&apos;s window and thus may not draw any
+background themselves. This is the case for e.g. #GtkLabel. To modify
+the background of such widgets, you have to set the base color on their
+parent; if you want to set the background of a rectangular area around
+a label, try placing the label in a #GtkEventBox widget and setting
+the base color on that.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="state">
+<parameter_description> the state for which to set the base color
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> the color to assign (does not need to be allocated),
+or %NULL to undo the effect of previous calls to
+of gtk_widget_modify_base().
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_list_shortcut_folders">
+<description>
+Queries the list of shortcut folders in the file chooser, as set by
+gtk_file_chooser_add_shortcut_folder().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> A list of folder filenames, or %NULL if there are no shortcut
+folders. Free the returned list with g_slist_free(), and the filenames with
+g_free().
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_window_get_transient_for">
+<description>
+Fetches the transient parent for this window. See
+gtk_window_set_transient_for().
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> the transient parent for this window, or %NULL
+if no transient parent has been set.
+</return>
+</function>
+
+<function name="gtk_window_set_has_frame">
+<description>
+(Note: this is a special-purpose function for the framebuffer port,
+that causes GTK+ to draw its own window border. For most applications,
+you want gtk_window_set_decorated() instead, which tells the window
+manager whether to draw the window border.)
+
+If this function is called on a window with setting of %TRUE, before
+it is realized or showed, it will have a &quot;frame&quot; window around
+@window-&amp;gt;window, accessible in @window-&amp;gt;frame. Using the signal
+frame_event you can receive all events targeted at the frame.
+
+This function is used by the linux-fb port to implement managed
+windows, but it could conceivably be used by X-programs that
+want to do their own window decorations.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> a boolean
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_insert">
+<description>
+Inserts @len bytes of @text at position @iter. If @len is -1,
+@text must be nul-terminated and will be inserted in its
+entirety. Emits the &quot;insert_text&quot; signal; insertion actually occurs
+in the default handler for the signal. @iter is invalidated when
+insertion occurs (because the buffer contents change), but the
+default signal handler revalidates it to point to the end of the
+inserted text.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a position in the buffer
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> UTF-8 format text to insert
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> length of text in bytes, or -1
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_group_new">
+<description>
+Creates a new #GtkWindowGroup object. Grabs added with
+gtk_grab_add() only affect windows within the same #GtkWindowGroup.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkWindowGroup.
+</return>
+</function>
+
+<function name="gtk_tree_view_column_set_expand">
+<description>
+Sets the column to take available extra space. This space is shared equally
+amongst all columns that have the expand set to %TRUE. If no column has this
+option set, then the last column gets all extra space. By default, every
+column is created with this %FALSE.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+<parameter name="expand">
+<parameter_description> %TRUE if the column should take available extra space, %FALSE if not
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_new_with_attributes">
+<description>
+Creates a new #GtkTreeViewColumn with a number of default values. This is
+equivalent to calling gtk_tree_view_column_set_title(),
+gtk_tree_view_column_pack_start(), and
+gtk_tree_view_column_set_attributes() on the newly created #GtkTreeViewColumn.
+
+Here&apos;s a simple example:
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+enum { TEXT_COLUMN, COLOR_COLUMN, N_COLUMNS };
+...
+{
+GtkTreeViewColumn *column;
+GtkCellRenderer *renderer = gtk_cell_renderer_text_new (&amp;lt;!-- --&amp;gt;);
+
+column = gtk_tree_view_column_new_with_attributes (&quot;Title&quot;,
+renderer,
+&quot;text&quot;, TEXT_COLUMN,
+&quot;foreground&quot;, COLOR_COLUMN,
+NULL);
+}
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+
+</description>
+<parameters>
+<parameter name="title">
+<parameter_description> The title to set the header to.
+</parameter_description>
+</parameter>
+<parameter name="cell">
+<parameter_description> The #GtkCellRenderer.
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> A %NULL-terminated list of attributes.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly created #GtkTreeViewColumn.
+</return>
+</function>
+
+<function name="gtk_color_selection_set_palette_color">
+<description>
+Sets the palette located at @index to have @color as its color.
+
+
+</description>
+<parameters>
+<parameter name="colorsel">
+<parameter_description> a #GtkColorSelection.
+</parameter_description>
+</parameter>
+<parameter name="index">
+<parameter_description> the color index of the palette.
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> A #GdkColor to set the palette with.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_list_store_set_column_types">
+<description>
+This function is meant primarily for #GObjects that inherit from #GtkListStore,
+and should only be used when constructing a new #GtkListStore. It will not
+function after a row has been added, or a method on the #GtkTreeModel
+interface is called.
+
+</description>
+<parameters>
+<parameter name="list_store">
+<parameter_description> A #GtkListStore
+</parameter_description>
+</parameter>
+<parameter name="n_columns">
+<parameter_description> Number of columns for the list store
+</parameter_description>
+</parameter>
+<parameter name="types">
+<parameter_description> An array length n of #GTypes
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_set_mnemonic_widget">
+<description>
+If the label has been set so that it has an mnemonic key (using
+i.e. gtk_label_set_markup_with_mnemonic(),
+gtk_label_set_text_with_mnemonic(), gtk_label_new_with_mnemonic()
+or the &quot;use_underline&quot; property) the label can be associated with a
+widget that is the target of the mnemonic. When the label is inside
+a widget (like a #GtkButton or a #GtkNotebook tab) it is
+automatically associated with the correct widget, but sometimes
+(i.e. when the target is a #GtkEntry next to the label) you need to
+set it explicitly using this function.
+
+The target widget will be accelerated by emitting the
+GtkWidget::mnemonic-activate signal on it. The default handler for
+this signal will activate the widget if there are no mnemonic collisions
+and toggle focus between the colliding widgets otherwise.
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the target #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_get_current_folder_uri">
+<description>
+Gets the current folder of @chooser as an URI.
+See gtk_file_chooser_set_current_folder_uri().
+
+Note that this is the folder that the file chooser is currently displaying
+(e.g. &quot;file:///home/username/Documents&quot;), which is &amp;lt;emphasis&amp;gt;not the same&amp;lt;/emphasis&amp;gt;
+as the currently-selected folder if the chooser is in
+#GTK_FILE_CHOOSER_SELECT_FOLDER mode
+(e.g. &quot;file:///home/username/Documents/selected-folder/&quot;. To get the
+currently-selected folder in that mode, use gtk_file_chooser_get_uri() as the
+usual way to get the selection.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> the URI for the current folder. Free with g_free(). This
+function will also return %NULL if the file chooser was unable to load the
+last folder that was requested from it; for example, as would be for calling
+gtk_file_chooser_set_current_folder_uri() on a nonexistent folder.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="_gtk_menu_is_empty">
+<description>
+Determines whether @menu is empty. A menu is considered empty if it
+the only visible children are tearoff menu items or &quot;filler&quot; menu
+items which were inserted to mark the menu as empty.
+
+This function is used by #GtkAction.
+
+
+</description>
+<parameters>
+<parameter name="menu">
+<parameter_description> a #GtkMenu or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @menu is empty.
+</return>
+</function>
+
+<function name="gtk_size_group_new">
+<description>
+Create a new #GtkSizeGroup.
+
+
+</description>
+<parameters>
+<parameter name="mode">
+<parameter_description> the mode for the new size group.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly created #GtkSizeGroup
+</return>
+</function>
+
+<function name="gtk_clipboard_request_rich_text">
+<description>
+Requests the contents of the clipboard as rich text. When the rich
+text is later received, @callback will be called.
+
+The @text parameter to @callback will contain the resulting rich
+text if the request succeeded, or %NULL if it failed. The @length
+parameter will contain @text&apos;s length. This function can fail for
+various reasons, in particular if the clipboard was empty or if the
+contents of the clipboard could not be converted into rich text form.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> a function to call when the text is received,
+or the retrieval fails. (It will always be called
+one way or the other.)
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data to pass to @callback.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_button_get_image">
+<description>
+Gets the widget that is currenty set as the image of @button.
+This may have been explicitly set by gtk_button_set_image()
+or constructed by gtk_button_new_from_stock().
+
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GtkWidget or %NULL in case there is no image
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_print_context_get_dpi_y">
+<description>
+Obtains the vertical resolution of the #GtkPrintContext,
+in dots per inch.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkPrintContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> the vertical resolution of @context
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_print_context_get_dpi_x">
+<description>
+Obtains the horizontal resolution of the #GtkPrintContext,
+in dots per inch.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkPrintContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> the horizontal resolution of @context
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_radio_action_set_group">
+<description>
+Sets the radio group for the radio action object.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+<parameter name="group">
+<parameter_description> a list representing a radio group
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_backward_word_start">
+<description>
+Moves backward to the previous word start. (If @iter is currently on a
+word start, moves backward to the next one after that.) Word breaks
+are determined by Pango and should be correct for nearly any
+language (if not, the correct fix would be to the Pango word break
+algorithms).
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter moved and is not the end iterator
+</return>
+</function>
+
+<function name="gtk_file_chooser_button_new">
+<description>
+Creates a new file-selecting button widget.
+
+
+</description>
+<parameters>
+<parameter name="title">
+<parameter_description> the title of the browse dialog.
+</parameter_description>
+</parameter>
+<parameter name="action">
+<parameter_description> the open mode for the widget.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new button widget.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_print_operation_get_default_page_setup">
+<description>
+Returns: the default page setup
+
+</description>
+<parameters>
+<parameter name="op">
+<parameter_description> a #GtkPrintOperation
+</parameter_description>
+</parameter>
+</parameters>
+<return> the default page setup
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_page_setup_get_paper_width">
+<description>
+Return value: the paper width.
+
+</description>
+<parameters>
+<parameter name="setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the unit for the return value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the paper width.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_toolbar_set_drop_highlight_item">
+<description>
+Highlights @toolbar to give an idea of what it would look like
+if @item was added to @toolbar at the position indicated by @index_.
+If @item is %NULL, highlighting is turned off. In that case @index_
+is ignored.
+
+The @tool_item passed to this function must not be part of any widget
+hierarchy. When an item is set as drop highlight item it can not
+added to any widget hierarchy or used as highlight item for another
+toolbar.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar
+</parameter_description>
+</parameter>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem, or %NULL to turn of highlighting
+</parameter_description>
+</parameter>
+<parameter name="index_">
+<parameter_description> a position on @toolbar
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_chooser_get_show_private">
+<description>
+Return value: %TRUE if the recent chooser should show private items,
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the recent chooser should show private items,
+%FALSE otherwise.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_clipboard_wait_is_target_available">
+<description>
+Checks if a clipboard supports pasting data of a given type. This
+function can be used to determine if a &quot;Paste&quot; menu item should be
+insensitive or not.
+
+If you want to see if there&apos;s text available on the clipboard, use
+gtk_clipboard_wait_is_text_available () instead.
+
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard
+</parameter_description>
+</parameter>
+<parameter name="target">
+<parameter_description> A #GdkAtom indicating which target to look for.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the target is available, %FALSE otherwise.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_drag_set_icon_default">
+<description>
+Sets the icon for a particular drag to the default
+icon.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> the context for a drag. (This must be called
+ with a context for the source side of a drag)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_source_copy">
+<description>
+Creates a copy of @source; mostly useful for language bindings.
+
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a #GtkIconSource
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkIconSource
+</return>
+</function>
+
+<function name="gtk_icon_view_set_tooltip_item">
+<description>
+Sets the tip area of @tooltip to be the area covered by the item at @path.
+See also gtk_tooltip_set_tip_area().
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+<parameter name="tooltip">
+<parameter_description> a #GtkTooltip
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a #GtkTreePath
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_render_icon">
+<description>
+A convenience function that uses the theme engine and RC file
+settings for @widget to look up @stock_id and render it to
+a pixbuf. @stock_id should be a stock icon ID such as
+#GTK_STOCK_OPEN or #GTK_STOCK_OK. @size should be a size
+such as #GTK_ICON_SIZE_MENU. @detail should be a string that
+identifies the widget or code doing the rendering, so that
+theme engines can special-case rendering for that widget or code.
+
+The pixels in the returned #GdkPixbuf are shared with the rest of
+the application and should not be modified. The pixbuf should be freed
+after use with g_object_unref().
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="stock_id">
+<parameter_description> a stock ID
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> a stock size. A size of (GtkIconSize)-1 means render at
+the size of the source and don&apos;t scale (if there are multiple
+source sizes, GTK+ picks one of the available sizes).
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> render detail to pass to theme engine
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new pixbuf, or %NULL if the stock ID wasn&apos;t known
+</return>
+</function>
+
+<function name="gtk_selection_data_set_pixbuf">
+<description>
+Sets the contents of the selection from a #GdkPixbuf
+The pixbuf is converted to the form determined by
+@selection_data-&amp;gt;target.
+
+
+</description>
+<parameters>
+<parameter name="selection_data">
+<parameter_description> a #GtkSelectionData
+</parameter_description>
+</parameter>
+<parameter name="pixbuf">
+<parameter_description> a #GdkPixbuf
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the selection was successfully set,
+otherwise %FALSE.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_tree_row_reference_get_model">
+<description>
+Return value: the model
+
+</description>
+<parameters>
+<parameter name="reference">
+<parameter_description> A #GtkTreeRowReference
+</parameter_description>
+</parameter>
+</parameters>
+<return> the model
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gtk_combo_box_popdown">
+<description>
+Hides the menu or dropdown list of @combo_box.
+
+This function is mostly intended for use by accessibility technologies;
+applications should have little use for it.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> a #GtkComboBox
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_tree_selection_new">
+<description>
+Creates a new #GtkTreeSelection object. This function should not be invoked,
+as each #GtkTreeView will create its own #GtkTreeSelection.
+
+
+</description>
+<parameters>
+</parameters>
+<return> A newly created #GtkTreeSelection object.
+</return>
+</function>
+
+<function name="gtk_text_layout_set_cursor_visible">
+<description>
+Sets whether the insertion cursor should be shown. Generally,
+widgets using #GtkTextLayout will hide the cursor when the
+widget does not have the input focus.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkTextLayout
+</parameter_description>
+</parameter>
+<parameter name="cursor_visible">
+<parameter_description> If %FALSE, then the insertion cursor will not
+be shown, even if the text is editable.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_store_set_column_types">
+<description>
+This function is meant primarily for #GObjects that inherit from
+#GtkTreeStore, and should only be used when constructing a new
+#GtkTreeStore. It will not function after a row has been added,
+or a method on the #GtkTreeModel interface is called.
+
+</description>
+<parameters>
+<parameter name="tree_store">
+<parameter_description> A #GtkTreeStore
+</parameter_description>
+</parameter>
+<parameter name="n_columns">
+<parameter_description> Number of columns for the tree store
+</parameter_description>
+</parameter>
+<parameter name="types">
+<parameter_description> An array of #GType types, one for each column
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_selection_convert">
+<description>
+Requests the contents of a selection. When received,
+a &quot;selection_received&quot; signal will be generated.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> The widget which acts as requestor
+</parameter_description>
+</parameter>
+<parameter name="selection">
+<parameter_description> Which selection to get
+</parameter_description>
+</parameter>
+<parameter name="target">
+<parameter_description> Form of information desired (e.g., STRING)
+</parameter_description>
+</parameter>
+<parameter name="time_">
+<parameter_description> Time of request (usually of triggering event)
+ In emergency, you could use #GDK_CURRENT_TIME
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if requested succeeded. %FALSE if we could not process
+request. (e.g., there was already a request in process for
+this widget).
+</return>
+</function>
+
+<function name="gtk_tree_view_set_reorderable">
+<description>
+This function is a convenience function to allow you to reorder models that
+support the #GtkDragSourceIface and the #GtkDragDestIface. Both
+#GtkTreeStore and #GtkListStore support these. If @reorderable is %TRUE, then
+the user can reorder the model by dragging and dropping rows. The
+developer can listen to these changes by connecting to the model&apos;s
+row_inserted and row_deleted signals.
+
+This function does not give you any degree of control over the order -- any
+reordering is allowed. If more control is needed, you should probably
+handle drag and drop manually.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView.
+</parameter_description>
+</parameter>
+<parameter name="reorderable">
+<parameter_description> %TRUE, if the tree can be reordered.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_page_setup_to_file">
+<description>
+This function saves the information from @setup to @file_name.
+
+
+</description>
+<parameters>
+<parameter name="setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+<parameter name="file_name">
+<parameter_description> the file to save to
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for errors, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE on success
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_combo_box_set_column_span_column">
+<description>
+Sets the column with column span information for @combo_box to be
+@column_span. The column span column contains integers which indicate
+how many columns an item should span.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> A #GtkComboBox
+</parameter_description>
+</parameter>
+<parameter name="column_span">
+<parameter_description> A column in the model passed during construction
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_set_scroll_adjustments">
+<description>
+For widgets that support scrolling, sets the scroll adjustments and
+Return value: %TRUE if the widget supports scrolling
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="hadjustment">
+<parameter_description> an adjustment for horizontal scrolling, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="vadjustment">
+<parameter_description> an adjustment for vertical scrolling, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the widget supports scrolling
+</return>
+</function>
+
+<function name="gtk_text_buffer_unregister_serialize_format">
+<description>
+This function unregisters a rich text format that was previously
+registered using gtk_text_buffer_register_serialize_format() or
+gtk_text_buffer_register_serialize_tagset()
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="format">
+<parameter_description> a #GdkAtom representing a registered rich text format.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_set_position">
+<description>
+Sets the cursor position in an entry to the given value.
+
+Deprecated: Use gtk_editable_set_position() instead.
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> the position of the cursor. The cursor is displayed
+before the character with the given (base 0) index in the widget.
+The value must be less than or equal to the number of characters
+in the widget. A value of -1 indicates that the position should
+be set after the last character in the entry. Note that this
+position is in characters, not in bytes.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_rc_get_im_module_file">
+<description>
+Obtains the path to the IM modules file. See the documentation
+of the &amp;lt;link linkend=&quot;im-module-file&quot;&amp;gt;&amp;lt;envar&amp;gt;GTK_IM_MODULE_FILE&amp;lt;/envar&amp;gt;&amp;lt;/link&amp;gt;
+environment variable for more details.
+
+</description>
+<parameters>
+</parameters>
+<return> a newly-allocated string containing the name of the file
+listing the IM modules available for loading
+</return>
+</function>
+
+<function name="gtk_accel_group_query">
+<description>
+Queries an accelerator group for all entries matching @accel_key and
+@accel_mods.
+
+</description>
+<parameters>
+<parameter name="accel_group">
+<parameter_description> the accelerator group to query
+</parameter_description>
+</parameter>
+<parameter name="accel_key">
+<parameter_description> key value of the accelerator
+</parameter_description>
+</parameter>
+<parameter name="accel_mods">
+<parameter_description> modifier combination of the accelerator
+</parameter_description>
+</parameter>
+<parameter name="n_entries">
+<parameter_description> location to return the number of entries found, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> an array of @n_entries #GtkAccelGroupEntry elements, or %NULL. The array is owned by GTK+ and must not be freed.
+</return>
+</function>
+
+<function name="gtk_hsv_to_rgb">
+<description>
+Converts a color from RGB space to HSV. Input values must be in the
+[0.0, 1.0] range; output values will be in the same range.
+
+</description>
+<parameters>
+<parameter name="r">
+<parameter_description> Red.
+</parameter_description>
+</parameter>
+<parameter name="g">
+<parameter_description> Green.
+</parameter_description>
+</parameter>
+<parameter name="b">
+<parameter_description> Blue.
+</parameter_description>
+</parameter>
+<parameter name="h">
+<parameter_description> Return value for the hue component.
+</parameter_description>
+</parameter>
+<parameter name="s">
+<parameter_description> Return value for the saturation component.
+</parameter_description>
+</parameter>
+<parameter name="v">
+<parameter_description> Return value for the value component.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_page_setup_get_page_width">
+<description>
+Return value: the page width.
+
+</description>
+<parameters>
+<parameter name="setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the unit for the return value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the page width.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_text_buffer_serialize">
+<description>
+This function serializes the portion of text between @start
+and @end in the rich text format represented by @format.
+
+@format&amp;lt;!-- --&amp;gt;s to be used must be registered using
+gtk_text_buffer_register_serialize_format() or
+gtk_text_buffer_register_serialize_tagset() beforehand.
+
+
+</description>
+<parameters>
+<parameter name="register_buffer">
+<parameter_description> the #GtkTextBuffer @format is registered with
+</parameter_description>
+</parameter>
+<parameter name="content_buffer">
+<parameter_description> the #GtkTextBuffer to serialize
+</parameter_description>
+</parameter>
+<parameter name="format">
+<parameter_description> the rich text format to use for serializing
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> start of block of text to serialize
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> end of block of test to serialize
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> return location for the length of the serialized data
+</parameter_description>
+</parameter>
+</parameters>
+<return> the serialized data, encoded as @format
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_combo_box_get_active_iter">
+<description>
+Sets @iter to point to the current active item, if it exists.
+
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> A #GtkComboBox
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> The uninitialized #GtkTreeIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE, if @iter was set
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tree_view_new_with_model">
+<description>
+Creates a new #GtkTreeView widget with the model initialized to @model.
+
+
+</description>
+<parameters>
+<parameter name="model">
+<parameter_description> the model.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly created #GtkTreeView widget.
+</return>
+</function>
+
+<function name="GtkStatusIcon">
+<description>
+Gets emitted when the size available for the image
+changes, e.g. because the notification area got resized.
+
+
+</description>
+<parameters>
+<parameter name="status_icon">
+<parameter_description> the object which received the signal
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the new size
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the icon was updated for the new
+size. Otherwise, GTK+ will scale the icon as necessary.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_cell_layout_clear">
+<description>
+Unsets all the mappings on all renderers on @cell_layout and
+removes all renderers from @cell_layout.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="cell_layout">
+<parameter_description> A #GtkCellLayout.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_set_show_tabs">
+<description>
+Sets whether to show the tabs for the notebook or not.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="show_tabs">
+<parameter_description> %TRUE if the tabs should be shown.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkMenuBar">
+<description>
+The pack direction of the menubar. It determines how
+the widgets contained in child menuitems are arranged.
+
+Since: 2.8
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_source_set_size_wildcarded">
+<description>
+If the icon size is wildcarded, this source can be used as the base
+image for an icon of any size. If the size is not wildcarded, then
+the size the source applies to should be set with
+gtk_icon_source_set_size() and the icon source will only be used
+with that specific size.
+
+#GtkIconSet prefers non-wildcarded sources (exact matches) over
+wildcarded sources, and will use an exact match when possible.
+
+#GtkIconSet will normally scale wildcarded source images to produce
+an appropriate icon at a given size, but will not change the size
+of source images that match exactly.
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a #GtkIconSource
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> %TRUE to wildcard the widget state
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_draw_tab">
+<description>
+Draws an option menu tab (i.e. the up and down pointing arrows)
+in the given rectangle on @window using the given parameters.
+
+Deprecated: Use gtk_paint_tab() instead.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> the type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the rectangle to draw the tab in
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the rectangle to draw the tab in
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the rectangle to draw the tab in
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the rectangle to draw the tab in
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_target_list_ref">
+<description>
+Increases the reference count of a #GtkTargetList by one.
+
+
+</description>
+<parameters>
+<parameter name="list">
+<parameter_description> a #GtkTargetList
+</parameter_description>
+</parameter>
+</parameters>
+<return> the passed in #GtkTargetList.
+</return>
+</function>
+
+<function name="gtk_adjustment_get_value">
+<description>
+Gets the current value of the adjustment. See
+gtk_adjustment_set_value ().
+
+
+</description>
+<parameters>
+<parameter name="adjustment">
+<parameter_description> a #GtkAdjustment
+</parameter_description>
+</parameter>
+</parameters>
+<return> The current value of the adjustment.
+</return>
+</function>
+
+<function name="gtk_print_settings_set_scale">
+<description>
+Sets the value of %GTK_PRINT_SETTINGS_SCALE.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="scale">
+<parameter_description> the scale in percent
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_get_parent_window">
+<description>
+Gets @widget&apos;s parent window.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the parent window of @widget.
+</return>
+</function>
+
+<function name="gtk_window_move">
+<description>
+Asks the &amp;lt;link linkend=&quot;gtk-X11-arch&quot;&amp;gt;window manager&amp;lt;/link&amp;gt; to move
+@window to the given position. Window managers are free to ignore
+this; most window managers ignore requests for initial window
+positions (instead using a user-defined placement algorithm) and
+honor requests after the window has already been shown.
+
+Note: the position is the position of the gravity-determined
+reference point for the window. The gravity determines two things:
+first, the location of the reference point in root window
+coordinates; and second, which point on the window is positioned at
+the reference point.
+
+By default the gravity is #GDK_GRAVITY_NORTH_WEST, so the reference
+point is simply the @x, @y supplied to gtk_window_move(). The
+top-left corner of the window decorations (aka window frame or
+border) will be placed at @x, @y. Therefore, to position a window
+at the top left of the screen, you want to use the default gravity
+(which is #GDK_GRAVITY_NORTH_WEST) and move the window to 0,0.
+
+To position a window at the bottom right corner of the screen, you
+would set #GDK_GRAVITY_SOUTH_EAST, which means that the reference
+point is at @x + the window width and @y + the window height, and
+the bottom-right corner of the window border will be placed at that
+reference point. So, to place a window in the bottom right corner
+you would first set gravity to south east, then write:
+&amp;lt;literal&amp;gt;gtk_window_move (window, gdk_screen_width () - window_width,
+gdk_screen_height () - window_height)&amp;lt;/literal&amp;gt; (note that this
+example does not take multi-head scenarios into account).
+
+The Extended Window Manager Hints specification at &amp;lt;ulink
+url=&quot;http://www.freedesktop.org/Standards/wm-spec&quot;&amp;gt;
+http://www.freedesktop.org/Standards/wm-spec&amp;lt;/ulink&amp;gt; has a
+nice table of gravities in the &quot;implementation notes&quot; section.
+
+The gtk_window_get_position() documentation may also be relevant.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> X coordinate to move window to
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> Y coordinate to move window to
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_get_inner_border">
+<description>
+This function returns the entry&apos;s #GtkEntry:inner-border property. See
+gtk_entry_set_inner_border() for more information.
+
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+</parameters>
+<return> the entry&apos;s #GtkBorder, or %NULL if none was set.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_text_iter_get_child_anchor">
+<description>
+If the location at @iter contains a child anchor, the
+anchor is returned (with no new reference count added). Otherwise,
+%NULL is returned.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> the anchor at @iter
+</return>
+</function>
+
+<function name="gtk_action_unblock_activate_from">
+<description>
+Re-enables calls to the gtk_action_activate()
+function by signals on the given proxy widget. This undoes the
+blocking done by gtk_action_block_activate_from().
+
+This function is intended for use by action implementations.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+<parameter name="proxy">
+<parameter_description> a proxy widget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_operation_get_status">
+<description>
+Return value: the status of the print operation
+
+</description>
+<parameters>
+<parameter name="op">
+<parameter_description> a #GtkPrintOperation
+</parameter_description>
+</parameter>
+</parameters>
+<return> the status of the print operation
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_radio_button_new_with_mnemonic">
+<description>
+Creates a new #GtkRadioButton containing a label, adding it to the same
+group as @group. The label will be created using
+gtk_label_new_with_mnemonic(), so underscores in @label indicate the
+mnemonic for the button.
+
+</description>
+<parameters>
+<parameter name="group">
+<parameter_description> the radio button group
+</parameter_description>
+</parameter>
+<parameter name="label">
+<parameter_description> the text of the button, with an underscore in front of the
+mnemonic character
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkRadioButton
+</return>
+</function>
+
+<function name="gtk_notebook_get_group">
+<description>
+Gets the current group identificator pointer for @notebook.
+
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+</parameters>
+<return> the group identificator, or %NULL if none is set.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_recent_filter_new">
+<description>
+Creates a new #GtkRecentFilter with no rules added to it.
+Such filter does not accept any recently used resources, so is not
+particularly useful until you add rules with
+gtk_recent_filter_add_pattern(), gtk_recent_filter_add_mime_type(),
+gtk_recent_filter_add_application(), gtk_recent_filter_add_age().
+To create a filter that accepts any recently used resource, use:
+
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+GtkRecentFilter *filter = gtk_recent_filter_new (&amp;lt;!-- --&amp;gt;);
+gtk_recent_filter_add_pattern (filter, &quot;*&quot;);
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkRecentFilter
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_view_set_hover_expand">
+<description>
+Enables of disables the hover expansion mode of @tree_view.
+Hover expansion makes rows expand or collaps if the pointer
+moves over them.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="expand">
+<parameter_description> %TRUE to enable hover selection mode
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_plug_focus_first_last">
+<description>
+@plug: a #GtkPlug
+@direction: a direction
+
+Called from the GtkPlug backend when the corresponding socket has
+told the plug that it has received the focus.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_color_button_new">
+<description>
+Creates a new color button. This returns a widget in the form of
+a small button containing a swatch representing the current selected
+color. When the button is clicked, a color-selection dialog will open,
+allowing the user to select a color. The swatch will be updated to reflect
+the new color when the user finishes.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new color button.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tree_set_row_drag_data">
+<description>
+Sets selection data of target type %GTK_TREE_MODEL_ROW. Normally used
+in a drag_data_get handler.
+
+
+</description>
+<parameters>
+<parameter name="selection_data">
+<parameter_description> some #GtkSelectionData
+</parameter_description>
+</parameter>
+<parameter name="tree_model">
+<parameter_description> a #GtkTreeModel
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a row in @tree_model
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the #GtkSelectionData had the proper target type to allow us to set a tree row
+</return>
+</function>
+
+<function name="gtk_text_view_get_visible_rect">
+<description>
+Fills @visible_rect with the currently-visible
+region of the buffer, in buffer coordinates. Convert to window coordinates
+with gtk_text_view_buffer_to_window_coords().
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="visible_rect">
+<parameter_description> rectangle to fill
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_get_min_width">
+<description>
+Return value: The minimum width of the @tree_column.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The minimum width of the @tree_column.
+</return>
+</function>
+
+<function name="gtk_widget_class_install_style_property_parser">
+<description>
+Installs a style property on a widget class.
+
+</description>
+<parameters>
+<parameter name="klass">
+<parameter_description> a #GtkWidgetClass
+</parameter_description>
+</parameter>
+<parameter name="pspec">
+<parameter_description> the #GParamSpec for the style property
+</parameter_description>
+</parameter>
+<parameter name="parser">
+<parameter_description> the parser for the style property
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_backward_display_line">
+<description>
+Moves the given @iter backward by one display (wrapped) line.
+A display line is different from a paragraph. Paragraphs are
+separated by newlines or other paragraph separator characters.
+Display lines are created by line-wrapping a paragraph. If
+wrapping is turned off, display lines and paragraphs will be the
+same. Display lines are divided differently for each view, since
+they depend on the view&apos;s width; paragraphs are the same in all
+views, since they depend on the contents of the #GtkTextBuffer.
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter was moved and is not on the end iterator
+</return>
+</function>
+
+<function name="gtk_radio_action_new">
+<description>
+Creates a new #GtkRadioAction object. To add the action to
+a #GtkActionGroup and set the accelerator for the action,
+call gtk_action_group_add_action_with_accel().
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> A unique name for the action
+</parameter_description>
+</parameter>
+<parameter name="label">
+<parameter_description> The label displayed in menu items and on buttons
+</parameter_description>
+</parameter>
+<parameter name="tooltip">
+<parameter_description> A tooltip for this action
+</parameter_description>
+</parameter>
+<parameter name="stock_id">
+<parameter_description> The stock icon to display in widgets representing this action
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> The value which gtk_radio_action_get_current_value() should return
+if this action is selected.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkRadioAction
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_widget_add_events">
+<description>
+Adds the events in the bitfield @events to the event mask for
+@widget. See gtk_widget_set_events() for details.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="events">
+<parameter_description> an event mask, see #GdkEventMask
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_color_selection_get_has_palette">
+<description>
+Determines whether the color selector has a color palette.
+
+
+</description>
+<parameters>
+<parameter name="colorsel">
+<parameter_description> a #GtkColorSelection.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the selector has a palette. %FALSE if it hasn&apos;t.
+</return>
+</function>
+
+<function name="gtk_about_dialog_set_translator_credits">
+<description>
+Sets the translator credits string which is displayed in
+the translators tab of the secondary credits dialog.
+
+The intended use for this string is to display the translator
+of the language which is currently used in the user interface.
+Using gettext(), a simple way to achieve that is to mark the
+string for translation:
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+gtk_about_dialog_set_translator_credits (about, _(&quot;translator-credits&quot;));
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+It is a good idea to use the customary msgid &quot;translator-credits&quot; for this
+purpose, since translators will already know the purpose of that msgid, and
+since #GtkAboutDialog will detect if &quot;translator-credits&quot; is untranslated
+and hide the tab.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+<parameter name="translator_credits">
+<parameter_description> the translator credits
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_rc_get_im_module_path">
+<description>
+Obtains the path in which to look for IM modules. See the documentation
+of the &amp;lt;link linkend=&quot;im-module-path&quot;&amp;gt;&amp;lt;envar&amp;gt;GTK_PATH&amp;lt;/envar&amp;gt;&amp;lt;/link&amp;gt;
+environment variable for more details about looking up modules. This
+function is useful solely for utilities supplied with GTK+ and should
+not be used by applications under normal circumstances.
+
+</description>
+<parameters>
+</parameters>
+<return> a newly-allocated string containing the path in which to
+look for IM modules.
+</return>
+</function>
+
+<function name="gtk_text_buffer_get_iter_at_offset">
+<description>
+Initializes @iter to a position @char_offset chars from the start
+of the entire buffer. If @char_offset is -1 or greater than the number
+of characters in the buffer, @iter is initialized to the end iterator,
+the iterator one past the last valid character in the buffer.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> iterator to initialize
+</parameter_description>
+</parameter>
+<parameter name="char_offset">
+<parameter_description> char offset from start of buffer, counting from 0, or -1
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_size_group_get_ignore_hidden">
+<description>
+Returns: %TRUE if invisible widgets are ignored.
+
+</description>
+<parameters>
+<parameter name="size_group">
+<parameter_description> a #GtkSizeGroup
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if invisible widgets are ignored.
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gtk_tree_model_sort_iter_is_valid">
+<description>
+&amp;lt;warning&amp;gt;&amp;lt;para&amp;gt;
+This function is slow. Only use it for debugging and/or testing purposes.
+&amp;lt;/para&amp;gt;&amp;lt;/warning&amp;gt;
+
+Checks if the given iter is a valid iter for this #GtkTreeModelSort.
+
+
+</description>
+<parameters>
+<parameter name="tree_model_sort">
+<parameter_description> A #GtkTreeModelSort.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> A #GtkTreeIter.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the iter is valid, %FALSE if the iter is invalid.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_spin_button_get_update_policy">
+<description>
+Gets the update behavior of a spin button. See
+gtk_spin_button_set_update_policy().
+
+
+</description>
+<parameters>
+<parameter name="spin_button">
+<parameter_description> a #GtkSpinButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current update policy
+</return>
+</function>
+
+<function name="gtk_image_get_pixel_size">
+<description>
+Gets the pixel size used for named icons.
+
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GtkImage
+</parameter_description>
+</parameter>
+</parameters>
+<return> the pixel size used for named icons.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_text_view_get_border_window_size">
+<description>
+Gets the width of the specified border window. See
+gtk_text_view_set_border_window_size().
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> window to return size from
+</parameter_description>
+</parameter>
+</parameters>
+<return> width of window
+</return>
+</function>
+
+<function name="gtk_cell_renderer_toggle_set_active">
+<description>
+Activates or deactivates a cell renderer.
+
+</description>
+<parameters>
+<parameter name="toggle">
+<parameter_description> a #GtkCellRendererToggle.
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> the value to set.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_get_decorated">
+<description>
+Return value: %TRUE if the window has been set to have decorations
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the window has been set to have decorations
+</return>
+</function>
+
+<function name="gtk_entry_completion_get_popup_completion">
+<description>
+Return value: %TRUE if popup completion is turned on
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> a #GtkEntryCompletion
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if popup completion is turned on
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_widget_modify_font">
+<description>
+Sets the font to use for a widget. All other style values are left
+untouched. See also gtk_widget_modify_style().
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="font_desc">
+<parameter_description> the font description to use, or %NULL to undo
+the effect of previous calls to gtk_widget_modify_font().
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_statusbar_remove">
+<description>
+Forces the removal of a message from a statusbar&apos;s stack.
+The exact @context_id and @message_id must be specified.
+
+</description>
+<parameters>
+<parameter name="statusbar">
+<parameter_description> a #GtkStatusBar
+</parameter_description>
+</parameter>
+<parameter name="context_id">
+<parameter_description> a context identifier
+</parameter_description>
+</parameter>
+<parameter name="message_id">
+<parameter_description> a message identifier, as returned by gtk_statusbar_push()
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_menu_tool_button_set_arrow_tooltip_text">
+<description>
+Sets the tooltip text to be used as tooltip for the arrow button which
+pops up the menu. See gtk_tool_item_set_tooltip() for setting a tooltip
+on the whole #GtkMenuToolButton.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkMenuToolButton
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> text to be used as tooltip text for button&apos;s arrow button
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_set_sensitive">
+<description>
+Sets the sensitivity of a widget. A widget is sensitive if the user
+can interact with it. Insensitive widgets are &quot;grayed out&quot; and the
+user can&apos;t interact with them. Insensitive widgets are known as
+&quot;inactive&quot;, &quot;disabled&quot;, or &quot;ghosted&quot; in some other toolkits.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="sensitive">
+<parameter_description> %TRUE to make the widget sensitive
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_operation_set_show_progress">
+<description>
+If @show_progress is %TRUE, the print operation will show a
+progress dialog during the print operation.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="op">
+<parameter_description> a #GtkPrintOperation
+</parameter_description>
+</parameter>
+<parameter name="show_progress">
+<parameter_description> %TRUE to show a progress dialog
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_target_list_new">
+<description>
+Creates a new #GtkTargetList from an array of #GtkTargetEntry.
+
+
+</description>
+<parameters>
+<parameter name="targets">
+<parameter_description> Pointer to an array of #GtkTargetEntry
+</parameter_description>
+</parameter>
+<parameter name="ntargets">
+<parameter_description> number of entries in @targets.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GtkTargetList.
+</return>
+</function>
+
+<function name="gtk_text_view_set_pixels_above_lines">
+<description>
+Sets the default number of blank pixels above paragraphs in @text_view.
+Tags in the buffer for @text_view may override the defaults.
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="pixels_above_lines">
+<parameter_description> pixels above paragraphs
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_operation_set_print_settings">
+<description>
+Sets the print settings for @op. This is typically used to
+re-establish print settings from a previous print operation,
+see gtk_print_operation_run().
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="op">
+<parameter_description> a #GtkPrintOperation
+</parameter_description>
+</parameter>
+<parameter name="print_settings">
+<parameter_description> #GtkPrintSettings, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_menu_tool_button_set_arrow_tooltip_markup">
+<description>
+Sets the tooltip markup text to be used as tooltip for the arrow button
+which pops up the menu. See gtk_tool_item_set_tooltip() for setting a
+tooltip on the whole #GtkMenuToolButton.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkMenuToolButton
+</parameter_description>
+</parameter>
+<parameter name="markup">
+<parameter_description> markup text to be used as tooltip text for button&apos;s arrow button
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tool_item_set_is_important">
+<description>
+Sets whether @tool_item should be considered important. The #GtkToolButton
+class uses this property to determine whether to show or hide its label
+when the toolbar style is %GTK_TOOLBAR_BOTH_HORIZ. The result is that
+only tool buttons with the &quot;is_important&quot; property set have labels, an
+effect known as &quot;priority text&quot;
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem
+</parameter_description>
+</parameter>
+<parameter name="is_important">
+<parameter_description> whether the tool item should be considered important
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_store_set_column_type">
+<description>
+Supported types include: %G_TYPE_UINT, %G_TYPE_INT, %G_TYPE_UCHAR,
+%G_TYPE_CHAR, %G_TYPE_BOOLEAN, %G_TYPE_POINTER, %G_TYPE_FLOAT,
+%G_TYPE_DOUBLE, %G_TYPE_STRING, %G_TYPE_OBJECT, and %G_TYPE_BOXED, along with
+subclasses of those types such as %GDK_TYPE_PIXBUF.
+
+
+</description>
+<parameters>
+<parameter name="tree_store">
+<parameter_description> a #GtkTreeStore
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> column number
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> type of the data to be stored in @column
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_model_iter_nth_child">
+<description>
+Sets @iter to be the child of @parent, using the given index. The first
+index is 0. If @n is too big, or @parent has no children, @iter is set
+to an invalid iterator and %FALSE is returned. @parent will remain a valid
+node after this function has been called. As a special case, if @parent is
+%NULL, then the @n&amp;lt;!-- --&amp;gt;th root node is set.
+
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> The #GtkTreeIter to set to the nth child.
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> The #GtkTreeIter to get the child from, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="n">
+<parameter_description> Then index of the desired child.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE, if @parent has an @n&amp;lt;!-- --&amp;gt;th child.
+</return>
+</function>
+
+<function name="gtk_tree_view_column_set_sort_order">
+<description>
+Changes the appearance of the sort indicator.
+
+This &amp;lt;emphasis&amp;gt;does not&amp;lt;/emphasis&amp;gt; actually sort the model. Use
+gtk_tree_view_column_set_sort_column_id() if you want automatic sorting
+support. This function is primarily for custom sorting behavior, and should
+be used in conjunction with gtk_tree_sortable_set_sort_column() to do
+that. For custom models, the mechanism will vary.
+
+The sort indicator changes direction to indicate normal sort or reverse sort.
+Note that you must have the sort indicator enabled to see anything when
+calling this function; see gtk_tree_view_column_set_sort_indicator().
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> a #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+<parameter name="order">
+<parameter_description> sort order that the sort indicator should indicate
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_queue_draw">
+<description>
+Equivalent to calling gtk_widget_queue_draw_area() for the
+entire area of a widget.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_plug_handle_modality_off">
+<description>
+@plug: a #GtkPlug
+
+Called from the GtkPlug backend when the corresponding socket has
+told the plug that it modality has toggled off.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_set_mnemonic_modifier">
+<description>
+Sets the mnemonic modifier for this window.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="modifier">
+<parameter_description> the modifier mask used to activate
+mnemonics on this window.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_drag_dest_set_track_motion">
+<description>
+Tells the widget to emit ::drag-motion and ::drag-leave
+events regardless of the targets and the %GTK_DEST_DEFAULT_MOTION
+flag.
+
+This may be used when a widget wants to do generic
+actions regardless of the targets that the source offers.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget that&apos;s a drag destination
+</parameter_description>
+</parameter>
+<parameter name="track_motion">
+<parameter_description> whether to accept all targets
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_disable_setlocale">
+<description>
+Prevents gtk_init(), gtk_init_check(), gtk_init_with_args() and
+gtk_parse_args() from automatically
+calling &amp;lt;literal&amp;gt;setlocale (LC_ALL, &quot;&quot;)&amp;lt;/literal&amp;gt;. You would
+want to use this function if you wanted to set the locale for
+your program to something other than the user&apos;s locale, or if
+you wanted to set different values for different locale categories.
+
+Most programs should not need to call this function.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_get_skip_taskbar_hint">
+<description>
+Gets the value set by gtk_window_set_skip_taskbar_hint()
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if window shouldn&apos;t be in taskbar
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_icon_view_set_reorderable">
+<description>
+This function is a convenience function to allow you to reorder models that
+support the #GtkTreeDragSourceIface and the #GtkTreeDragDestIface. Both
+#GtkTreeStore and #GtkListStore support these. If @reorderable is %TRUE, then
+the user can reorder the model by dragging and dropping rows. The
+developer can listen to these changes by connecting to the model&apos;s
+row_inserted and row_deleted signals.
+
+This function does not give you any degree of control over the order -- any
+reordering is allowed. If more control is needed, you should probably
+handle drag and drop manually.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView.
+</parameter_description>
+</parameter>
+<parameter name="reorderable">
+<parameter_description> %TRUE, if the list of items can be reordered.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_selection_data_get_pixbuf">
+<description>
+Gets the contents of the selection data as a #GdkPixbuf.
+
+
+</description>
+<parameters>
+<parameter name="selection_data">
+<parameter_description> a #GtkSelectionData
+</parameter_description>
+</parameter>
+</parameters>
+<return> if the selection data contained a recognized
+image type and it could be converted to a #GdkPixbuf, a
+newly allocated pixbuf is returned, otherwise %NULL.
+If the result is non-%NULL it must be freed with g_object_unref().
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_about_dialog_set_artists">
+<description>
+Sets the strings which are displayed in the artists tab
+of the secondary credits dialog.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+<parameter name="artists">
+<parameter_description> a %NULL-terminated array of strings
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_get_page_set">
+<description>
+Gets the value of %GTK_PRINT_SETTINGS_PAGE_SET.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return> the set of pages to print
+
+Since: 2.10
+</return>
+</function>
+
+<function name="_gtk_find_module">
+<description>
+Looks for a dynamically module named @name of type @type in the standard GTK+
+module search path.
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> the name of the module
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> the type of the module, for instance &apos;modules&apos;, &apos;engines&apos;, immodules&apos;
+</parameter_description>
+</parameter>
+</parameters>
+<return> the pathname to the found module, or %NULL if it wasn&apos;t found.
+Free with g_free().
+</return>
+</function>
+
+<function name="gtk_status_icon_set_from_icon_name">
+<description>
+Makes @status_icon display the icon named @icon_name from the
+current icon theme.
+See gtk_status_icon_new_from_icon_name() for details.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="status_icon">
+<parameter_description> a #GtkStatusIcon
+</parameter_description>
+</parameter>
+<parameter name="icon_name">
+<parameter_description> an icon name
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_expander_set_expanded">
+<description>
+Sets the state of the expander. Set to %TRUE, if you want
+the child widget to be revealed, and %FALSE if you want the
+child widget to be hidden.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="expander">
+<parameter_description> a #GtkExpander
+</parameter_description>
+</parameter>
+<parameter name="expanded">
+<parameter_description> whether the child widget is revealed
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_list_store_set_value">
+<description>
+Sets the data in the cell specified by @iter and @column.
+The type of @value must be convertible to the type of the
+column.
+
+
+</description>
+<parameters>
+<parameter name="list_store">
+<parameter_description> A #GtkListStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> A valid #GtkTreeIter for the row being modified
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> column number to modify
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> new value for the cell
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_about_dialog_set_version">
+<description>
+Sets the version string to display in the about dialog.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+<parameter name="version">
+<parameter_description> the version string
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_cell_renderer_get_size">
+<description>
+Obtains the width and height needed to render the cell. Used by view
+widgets to determine the appropriate size for the cell_area passed to
+gtk_cell_renderer_render(). If @cell_area is not %NULL, fills in the
+x and y offsets (if set) of the cell relative to this location.
+
+Please note that the values set in @width and @height, as well as those
+in @x_offset and @y_offset are inclusive of the xpad and ypad properties.
+
+</description>
+<parameters>
+<parameter name="cell">
+<parameter_description> a #GtkCellRenderer
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget the renderer is rendering to
+</parameter_description>
+</parameter>
+<parameter name="cell_area">
+<parameter_description> The area a cell will be allocated, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="x_offset">
+<parameter_description> location to return x offset of cell relative to @cell_area, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="y_offset">
+<parameter_description> location to return y offset of cell relative to @cell_area, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> location to return width needed to render a cell, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> location to return height needed to render a cell, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_radio_tool_button_set_group">
+<description>
+Adds @button to @group, removing it from the group it belonged to before.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkRadioToolButton
+</parameter_description>
+</parameter>
+<parameter name="group">
+<parameter_description> an existing radio button group
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_style_detach">
+<description>
+Detaches a style from a window. If the style is not attached
+to any windows anymore, it is unrealized. See gtk_style_attach().
+
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_draw_shadow_gap">
+<description>
+Draws a shadow around the given rectangle in @window
+using the given style and state and shadow type, leaving a
+gap in one side.
+
+Deprecated: Use gtk_paint_shadow_gap() instead.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> width of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="gap_side">
+<parameter_description> side in which to leave the gap
+</parameter_description>
+</parameter>
+<parameter name="gap_x">
+<parameter_description> starting position of the gap
+</parameter_description>
+</parameter>
+<parameter name="gap_width">
+<parameter_description> width of the gap
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_unfullscreen">
+<description>
+Asks to toggle off the fullscreen state for @window. Note that you
+shouldn&apos;t assume the window is definitely not full screen
+afterward, because other entities (e.g. the user or &amp;lt;link
+linkend=&quot;gtk-X11-arch&quot;&amp;gt;window manager&amp;lt;/link&amp;gt;) could fullscreen it
+again, and not all window managers honor requests to unfullscreen
+windows. But normally the window will end up restored to its normal
+state. Just don&apos;t write code that crashes if not.
+
+You can track the fullscreen state via the &quot;window_state_event&quot; signal
+on #GtkWidget.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_layout_is_valid">
+<description>
+Check if there are any invalid regions in a #GtkTextLayout&apos;s buffer
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkTextLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if any invalid regions were found
+</return>
+</function>
+
+<function name="gtk_tree_view_set_drag_dest_row">
+<description>
+Sets the row that is highlighted for feedback.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> The path of the row to highlight, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> Specifies whether to drop before, after or into the row
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_scroll_mark_onscreen">
+<description>
+Scrolls @text_view the minimum distance such that @mark is contained
+within the visible area of the widget.
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="mark">
+<parameter_description> a mark in the buffer for @text_view
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_clipboard_wait_for_contents">
+<description>
+Requests the contents of the clipboard using the given target.
+This function waits for the data to be received using the main
+loop, so events, timeouts, etc, may be dispatched during the wait.
+
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard
+</parameter_description>
+</parameter>
+<parameter name="target">
+<parameter_description> an atom representing the form into which the clipboard
+owner should convert the selection.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated #GtkSelectionData object or %NULL
+if retrieving the given target failed. If non-%NULL,
+this value must be freed with gtk_selection_data_free()
+when you are finished with it.
+</return>
+</function>
+
+<function name="gtk_entry_set_width_chars">
+<description>
+Changes the size request of the entry to be about the right size
+for @n_chars characters. Note that it changes the size
+&amp;lt;emphasis&amp;gt;request&amp;lt;/emphasis&amp;gt;, the size can still be affected by
+how you pack the widget into containers. If @n_chars is -1, the
+size reverts to the default entry size.
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+<parameter name="n_chars">
+<parameter_description> width in chars
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_dialog_add_button">
+<description>
+Adds a button with the given text (or a stock button, if @button_text is a
+stock ID) and sets things up so that clicking the button will emit the
+#GtkDialog::response signal with the given @response_id. The button is
+appended to the end of the dialog&apos;s action area. The button widget is
+returned, but usually you don&apos;t need it.
+
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkDialog
+</parameter_description>
+</parameter>
+<parameter name="button_text">
+<parameter_description> text of button, or stock ID
+</parameter_description>
+</parameter>
+<parameter name="response_id">
+<parameter_description> response ID for the button
+</parameter_description>
+</parameter>
+</parameters>
+<return> the button widget that was added
+</return>
+</function>
+
+<function name="gtk_window_resize">
+<description>
+Resizes the window as if the user had done so, obeying geometry
+constraints. The default geometry constraint is that windows may
+not be smaller than their size request; to override this
+constraint, call gtk_widget_set_size_request() to set the window&apos;s
+request to a smaller value.
+
+If gtk_window_resize() is called before showing a window for the
+first time, it overrides any default size set with
+gtk_window_set_default_size().
+
+Windows may not be resized smaller than 1 by 1 pixels.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width in pixels to resize the window to
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height in pixels to resize the window to
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_set_level_indentation">
+<description>
+Sets the amount of extra indentation for child levels to use in @tree_view
+in addition to the default indentation. The value should be specified in
+pixels, a value of 0 disables this feature and in this case only the default
+indentation will be used.
+This does not have any visible effects for lists.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="indentation">
+<parameter_description> the amount, in pixels, of extra indentation in @tree_view.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_get_row_drag_data">
+<description>
+Obtains a @tree_model and @path from selection data of target type
+%GTK_TREE_MODEL_ROW. Normally called from a drag_data_received handler.
+This function can only be used if @selection_data originates from the same
+process that&apos;s calling this function, because a pointer to the tree model
+is being passed around. If you aren&apos;t in the same process, then you&apos;ll
+get memory corruption. In the #GtkTreeDragDest drag_data_received handler,
+you can assume that selection data of type %GTK_TREE_MODEL_ROW is
+in from the current process. The returned path must be freed with
+gtk_tree_path_free().
+
+
+</description>
+<parameters>
+<parameter name="selection_data">
+<parameter_description> a #GtkSelectionData
+</parameter_description>
+</parameter>
+<parameter name="tree_model">
+<parameter_description> a #GtkTreeModel
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> row in @tree_model
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @selection_data had target type %GTK_TREE_MODEL_ROW and
+is otherwise valid
+</return>
+</function>
+
+<function name="gtk_icon_view_get_row_spacing">
+<description>
+Return value: the space between rows
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+</parameters>
+<return> the space between rows
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_text_iter_can_insert">
+<description>
+Considering the default editability of the buffer, and tags that
+affect editability, determines whether text inserted at @iter would
+be editable. If text inserted at @iter would be editable then the
+user should be allowed to insert text at @iter.
+gtk_text_buffer_insert_interactive() uses this function to decide
+whether insertions are allowed at a given position.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+<parameter name="default_editability">
+<parameter_description> %TRUE if text is editable by default
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether text inserted at @iter would be editable
+</return>
+</function>
+
+<function name="gtk_entry_completion_set_match_func">
+<description>
+Sets the match function for @completion to be @func. The match function
+is used to determine if a row should or should not be in the completion
+list.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> A #GtkEntryCompletion.
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> The #GtkEntryCompletionMatchFunc to use.
+</parameter_description>
+</parameter>
+<parameter name="func_data">
+<parameter_description> The user data for @func.
+</parameter_description>
+</parameter>
+<parameter name="func_notify">
+<parameter_description> Destroy notifier for @func_data.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tool_item_get_icon_size">
+<description>
+Return value: a #GtkIconSize indicating the icon size used for @tool_item
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem:
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GtkIconSize indicating the icon size used for @tool_item
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_recent_chooser_add_filter">
+<description>
+Adds @filter to the list of #GtkRecentFilter objects held by @chooser.
+
+If no previous filter objects were defined, this function will call
+gtk_recent_chooser_set_filter().
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+<parameter name="filter">
+<parameter_description> a #GtkRecentFilter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_forward_cursor_position">
+<description>
+Moves @iter forward by a single cursor position. Cursor positions
+are (unsurprisingly) positions where the cursor can appear. Perhaps
+surprisingly, there may not be a cursor position between all
+characters. The most common example for European languages would be
+a carriage return/newline sequence. For some Unicode characters,
+the equivalent of say the letter &quot;a&quot; with an accent mark will be
+represented as two characters, first the letter then a &quot;combining
+mark&quot; that causes the accent to be rendered; so the cursor can&apos;t go
+between those two characters. See also the #PangoLogAttr structure and
+pango_break() function.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if we moved and the new position is dereferenceable
+</return>
+</function>
+
+<function name="gtk_recent_chooser_set_sort_type">
+<description>
+Changes the sorting order of the recently used resources list displayed by
+@chooser.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+<parameter name="sort_type">
+<parameter_description> sort order that the chooser should use
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_tag_new">
+<description>
+Creates a #GtkTextTag. Configure the tag using object arguments,
+i.e. using g_object_set().
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> tag name, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkTextTag
+</return>
+</function>
+
+<function name="gtk_action_disconnect_accelerator">
+<description>
+Undoes the effect of one call to gtk_action_connect_accelerator().
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> a #GtkAction
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_page_setup_set_right_margin">
+<description>
+Sets the right margin of the #GtkPageSetup.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+<parameter name="margin">
+<parameter_description> the new right margin in units of @unit
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the units for @margin
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_get_filter">
+<description>
+Gets the current filter; see gtk_file_chooser_set_filter().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current filter, or %NULL
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_selection_data_get_targets">
+<description>
+Gets the contents of @selection_data as an array of targets.
+This can be used to interpret the results of getting
+the standard TARGETS target that is always supplied for
+any selection.
+
+
+</description>
+<parameters>
+<parameter name="selection_data">
+<parameter_description> a #GtkSelectionData object
+</parameter_description>
+</parameter>
+<parameter name="targets">
+<parameter_description> location to store an array of targets. The result
+stored here must be freed with g_free().
+</parameter_description>
+</parameter>
+<parameter name="n_atoms">
+<parameter_description> location to store number of items in @targets.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @selection_data contains a valid
+array of targets, otherwise %FALSE.
+</return>
+</function>
+
+<function name="gtk_icon_source_get_direction_wildcarded">
+<description>
+Gets the value set by gtk_icon_source_set_direction_wildcarded().
+
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a #GtkIconSource
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if this icon source is a base for any text direction variant
+</return>
+</function>
+
+<function name="gtk_stock_set_translate_func">
+<description>
+Sets a function to be used for translating the @label of
+a stock item.
+
+If no function is registered for a translation domain,
+dgettext() is used.
+
+Since: 2.8
+
+
+</description>
+<parameters>
+<parameter name="domain">
+<parameter_description> the translation domain for which @func shall be used
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> a #GtkTranslateFunc
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to pass to @func
+</parameter_description>
+</parameter>
+<parameter name="notify">
+<parameter_description> a #GtkDestroyNotify that is called when @data is
+no longer needed
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_list_store_set_valist">
+<description>
+See gtk_list_store_set(); this version takes a va_list for use by language
+bindings.
+
+
+</description>
+<parameters>
+<parameter name="list_store">
+<parameter_description> A #GtkListStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> A valid #GtkTreeIter for the row being modified
+</parameter_description>
+</parameter>
+<parameter name="var_args">
+<parameter_description> va_list of column/value pairs
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_size_group_queue_resize">
+<description>
+Queue a resize on a widget, and on all other widgets grouped with this widget.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_get_selectable">
+<description>
+Gets the value set by gtk_label_set_selectable().
+
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the user can copy text from the label
+</return>
+</function>
+
+<function name="gtk_image_get_animation">
+<description>
+Gets the #GdkPixbufAnimation being displayed by the #GtkImage.
+The storage type of the image must be %GTK_IMAGE_EMPTY or
+%GTK_IMAGE_ANIMATION (see gtk_image_get_storage_type()).
+The caller of this function does not own a reference to the
+returned animation.
+
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GtkImage
+</parameter_description>
+</parameter>
+</parameters>
+<return> the displayed animation, or %NULL if the image is empty
+</return>
+</function>
+
+<function name="gtk_window_activate_default">
+<description>
+Activates the default widget for the window, unless the current
+focused widget has been configured to receive the default action
+(see #GTK_RECEIVES_DEFAULT in #GtkWidgetFlags), in which case the
+focused widget is activated.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a widget got activated.
+</return>
+</function>
+
+<function name="gtk_selection_owner_set_for_display">
+<description>
+Claim ownership of a given selection for a particular widget, or,
+if @widget is %NULL, release ownership of the selection.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the #Gdkdisplay where the selection is set
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> new selection owner (a #GdkWidget), or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="selection">
+<parameter_description> an interned atom representing the selection to claim.
+</parameter_description>
+</parameter>
+<parameter name="time_">
+<parameter_description> timestamp with which to claim the selection
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if the operation succeeded
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_text_buffer_set_modified">
+<description>
+Used to keep track of whether the buffer has been modified since the
+last time it was saved. Whenever the buffer is saved to disk, call
+gtk_text_buffer_set_modified (@buffer, FALSE). When the buffer is modified,
+it will automatically toggled on the modified bit again. When the modified
+bit flips, the buffer emits a &quot;modified_changed&quot; signal.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> modification flag setting
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_attributes_copy_values">
+<description>
+Copies the values from @src to @dest so that @dest has the same values
+as @src. Frees existing values in @dest.
+
+</description>
+<parameters>
+<parameter name="src">
+<parameter_description> a #GtkTextAttributes
+</parameter_description>
+</parameter>
+<parameter name="dest">
+<parameter_description> another #GtkTextAttributes
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_paper_size_new_from_ppd">
+<description>
+Creates a new #GtkPaperSize object by using
+PPD information.
+
+If @ppd_name is not a recognized PPD paper name,
+@ppd_display_name, @width and @height are used to
+construct a custom #GtkPaperSize object.
+
+
+</description>
+<parameters>
+<parameter name="ppd_name">
+<parameter_description> a PPD paper name
+</parameter_description>
+</parameter>
+<parameter name="ppd_display_name">
+<parameter_description> the corresponding human-readable name
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the paper width, in points
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the paper height in points
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkPaperSize, use gtk_paper_size_free()
+to free it
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_action_set_visible">
+<description>
+Sets the ::visible property of the action to @visible. Note that
+this doesn&apos;t necessarily mean effective visibility. See
+gtk_action_is_visible()
+for that.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+<parameter name="visible">
+<parameter_description> %TRUE to make the action visible
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_view_get_orientation">
+<description>
+Return value: the relative position of texts and icons
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+</parameters>
+<return> the relative position of texts and icons
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_menu_shell_select_first">
+<description>
+Select the first visible or selectable child of the menu shell;
+don&apos;t select tearoff items unless the only item is a tearoff
+item.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="menu_shell">
+<parameter_description> a #GtkMenuShell
+</parameter_description>
+</parameter>
+<parameter name="search_sensitive">
+<parameter_description> if %TRUE, search for the first selectable
+menu item, otherwise select nothing if
+the first item isn&apos;t sensitive. This
+should be %FALSE if the menu is being
+popped up initially.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_status_icon_get_size">
+<description>
+Gets the size in pixels that is available for the image.
+Stock icons and named icons adapt their size automatically
+if the size of the notification area changes. For other
+storage types, the size-changed signal can be used to
+react to size changes.
+
+Note that the returned size is only meaningful while the
+status icon is embedded (see gtk_status_icon_is_embedded()).
+
+
+</description>
+<parameters>
+<parameter name="status_icon">
+<parameter_description> a #GtkStatusIcon
+</parameter_description>
+</parameter>
+</parameters>
+<return> the size that is available for the image
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_print_settings_has_key">
+<description>
+Return value: %TRUE, if @key has a value
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE, if @key has a value
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_model_row_has_child_toggled">
+<description>
+Emits the &quot;row_has_child_toggled&quot; signal on @tree_model. This should be
+called by models after the child state of a node changes.
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> A #GtkTreePath pointing to the changed row
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> A valid #GtkTreeIter pointing to the changed row
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_ui_manager_get_action_groups">
+<description>
+Return value: a #GList of action groups. The list is owned by GTK+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkUIManager object
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GList of action groups. The list is owned by GTK+
+and should not be modified.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_text_iter_get_bytes_in_line">
+<description>
+Return value: number of bytes in the line
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> number of bytes in the line
+</return>
+</function>
+
+<function name="gtk_im_context_simple_add_table">
+<description>
+Adds an additional table to search to the input context.
+Each row of the table consists of @max_seq_len key symbols
+followed by two #guint16 interpreted as the high and low
+words of a #gunicode value. Tables are searched starting
+from the last added.
+
+The table must be sorted in dictionary order on the
+numeric value of the key symbol fields. (Values beyond
+the length of the sequence should be zero.)
+
+</description>
+<parameters>
+<parameter name="context_simple">
+<parameter_description> A #GtkIMContextSimple
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> the table
+</parameter_description>
+</parameter>
+<parameter name="max_seq_len">
+<parameter_description> Maximum length of a sequence in the table
+(cannot be greater than #GTK_MAX_COMPOSE_LEN)
+</parameter_description>
+</parameter>
+<parameter name="n_seqs">
+<parameter_description> number of sequences in the table
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_page_setup_get_paper_size">
+<description>
+Gets the paper size of the #GtkPageSetup.
+
+
+</description>
+<parameters>
+<parameter name="setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+</parameters>
+<return> the paper size
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_range_set_inverted">
+<description>
+Ranges normally move from lower to higher values as the
+slider moves from top to bottom or left to right. Inverted
+ranges have higher values at the top or on the right rather than
+on the bottom or left.
+
+</description>
+<parameters>
+<parameter name="range">
+<parameter_description> a #GtkRange
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> %TRUE to invert the range
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_assistant_get_n_pages">
+<description>
+Return value: The number of pages in the @assistant.
+
+</description>
+<parameters>
+<parameter name="assistant">
+<parameter_description> a #GtkAssistant
+</parameter_description>
+</parameter>
+</parameters>
+<return> The number of pages in the @assistant.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_icon_source_get_icon_name">
+<description>
+Retrieves the source icon name, or %NULL if none is set. The
+icon_name is not a copy, and should not be modified or expected to
+persist beyond the lifetime of the icon source.
+
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a #GtkIconSource
+</parameter_description>
+</parameter>
+</parameters>
+<return> icon name. This string must not be modified or freed.
+</return>
+</function>
+
+<function name="gtk_progress_bar_set_text">
+<description>
+Causes the given @text to appear superimposed on the progress bar.
+
+</description>
+<parameters>
+<parameter name="pbar">
+<parameter_description> a #GtkProgressBar
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> a UTF-8 string, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_font_button_set_show_style">
+<description>
+If @show_style is %TRUE, the font style will be displayed along with name of the selected font.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="font_button">
+<parameter_description> a #GtkFontButton
+</parameter_description>
+</parameter>
+<parameter name="show_style">
+<parameter_description> %TRUE if font style should be displayed in label.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_selection_data_set">
+<description>
+Stores new data into a #GtkSelectionData object. Should
+&amp;lt;emphasis&amp;gt;only&amp;lt;/emphasis&amp;gt; be called from a selection handler callback.
+Zero-terminates the stored data.
+
+</description>
+<parameters>
+<parameter name="selection_data">
+<parameter_description> a pointer to a #GtkSelectionData structure.
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> the type of selection data
+</parameter_description>
+</parameter>
+<parameter name="format">
+<parameter_description> format (number of bits in a unit)
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> pointer to the data (will be copied)
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> length of the data
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_get_select_multiple">
+<description>
+Gets whether multiple files can be selected in the file
+selector. See gtk_file_chooser_set_select_multiple().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if multiple files can be selected.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_assistant_set_current_page">
+<description>
+Switches the page to @page_num. Note that this will only be necessary
+in custom buttons, as the @assistant flow can be set with
+gtk_assistant_set_forward_page_func().
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="assistant">
+<parameter_description> a #GtkAssistant
+</parameter_description>
+</parameter>
+<parameter name="page_num">
+<parameter_description> index of the page to switch to, starting from 0.
+If negative, the last page will be used. If greater
+than the number of pages in the @assistant, nothing
+will be done.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_box_pack_start_defaults">
+<description>
+Adds @widget to @box, packed with reference to the start of @box.
+The child is packed after any other child packed with reference
+to the start of @box.
+
+Parameters for how to pack the child @widget, #GtkBox:expand,
+#GtkBox:fill and #GtkBox:padding, are given their default
+values, %TRUE, %TRUE, and 0, respectively.
+
+</description>
+<parameters>
+<parameter name="box">
+<parameter_description> a #GtkBox
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the #GtkWidget to be added to @box
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_action_disconnect_proxy">
+<description>
+Disconnects a proxy widget from an action.
+Does &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt; destroy the widget, however.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+<parameter name="proxy">
+<parameter_description> the proxy widget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkBuilder">
+<description>
+The translation domain used when translating property values that
+have been marked as translatable in interface descriptions.
+If the translation domain is %NULL, #GtkBuilder uses gettext(),
+otherwise dgettext().
+
+Since: 2.12
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_button_get_focus_on_click">
+<description>
+Return value: %TRUE if the button grabs focus when it is clicked with
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkFileChooserButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the button grabs focus when it is clicked with
+the mouse.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_container_get_resize_mode">
+<description>
+Return value: the current resize mode
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current resize mode
+</return>
+</function>
+
+<function name="gtk_tree_view_column_set_clickable">
+<description>
+Sets the header to be active if @active is %TRUE. When the header is active,
+then it can take keyboard focus, and can be clicked.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+<parameter name="clickable">
+<parameter_description> %TRUE if the header is active.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_image_get_icon_name">
+<description>
+Gets the icon name and size being displayed by the #GtkImage.
+The storage type of the image must be %GTK_IMAGE_EMPTY or
+%GTK_IMAGE_ICON_NAME (see gtk_image_get_storage_type()).
+The returned string is owned by the #GtkImage and should not
+be freed.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GtkImage
+</parameter_description>
+</parameter>
+<parameter name="icon_name">
+<parameter_description> place to store an icon name
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> place to store an icon size
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_get_width_chars">
+<description>
+Retrieves the desired width of @label, in characters. See
+gtk_label_set_width_chars().
+
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+</parameters>
+<return> the width of the label in characters.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_im_context_focus_in">
+<description>
+Notify the input method that the widget to which this
+input context corresponds has gained focus. The input method
+may, for example, change the displayed feedback to reflect
+this change.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkIMContext
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_set_menu_label_text">
+<description>
+Creates a new label and sets it as the menu label of @child.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the child widget
+</parameter_description>
+</parameter>
+<parameter name="menu_text">
+<parameter_description> the label text
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_get_screen">
+<description>
+Get the #GdkScreen from the toplevel window associated with
+this widget. This function can only be called after the widget
+has been added to a widget hierarchy with a #GtkWindow
+at the top.
+
+In general, you should only create screen specific
+resources when a widget has been realized, and you should
+free those resources when the widget is unrealized.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkScreen for the toplevel for this widget.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_window_set_modal">
+<description>
+Sets a window modal or non-modal. Modal windows prevent interaction
+with other windows in the same application. To keep modal dialogs
+on top of main application windows, use
+gtk_window_set_transient_for() to make the dialog transient for the
+parent; most &amp;lt;link linkend=&quot;gtk-X11-arch&quot;&amp;gt;window managers&amp;lt;/link&amp;gt;
+will then disallow lowering the dialog below the parent.
+
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="modal">
+<parameter_description> whether the window is modal
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_size_register_alias">
+<description>
+Registers @alias as another name for @target.
+So calling gtk_icon_size_from_name() with @alias as argument
+will return @target.
+
+
+</description>
+<parameters>
+<parameter name="alias">
+<parameter_description> an alias for @target
+</parameter_description>
+</parameter>
+<parameter name="target">
+<parameter_description> an existing icon size
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_page_setup_get_page_height">
+<description>
+Return value: the page height.
+
+</description>
+<parameters>
+<parameter name="setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the unit for the return value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the page height.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_selection_select_path">
+<description>
+Select the row at @path.
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> A #GtkTreeSelection.
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> The #GtkTreePath to be selected.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_binding_entry_add_signal">
+<description>
+Override or install a new key binding for @keyval with @modifiers on
+@binding_set. When the binding is activated, @signal_name will be
+emitted on the target widget, with @n_args @Varargs used as
+arguments.
+
+</description>
+<parameters>
+<parameter name="binding_set">
+<parameter_description> @binding_set to install an entry for
+</parameter_description>
+</parameter>
+<parameter name="keyval">
+<parameter_description> key value of binding to install
+</parameter_description>
+</parameter>
+<parameter name="modifiers">
+<parameter_description> key modifier of binding to install
+</parameter_description>
+</parameter>
+<parameter name="signal_name">
+<parameter_description> signal to execute upon activation
+</parameter_description>
+</parameter>
+<parameter name="n_args">
+<parameter_description> number of arguments to @signal_name
+@: arguments to @signal_name
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toolbar_set_show_arrow">
+<description>
+Sets whether to show an overflow menu when
+@toolbar doesn&apos;t have room for all items on it. If %TRUE,
+items that there are not room are available through an
+overflow menu.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar
+</parameter_description>
+</parameter>
+<parameter name="show_arrow">
+<parameter_description> Whether to show an overflow menu
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_range_get_show_fill_level">
+<description>
+Gets whether the range displays the fill level graphically.
+
+
+</description>
+<parameters>
+<parameter name="range">
+<parameter_description> A #GtkRange
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @range shows the fill level.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_tree_view_set_headers_clickable">
+<description>
+Allow the column title buttons to be clicked.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView.
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> %TRUE if the columns are clickable.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_frame_set_label">
+<description>
+Sets the text of the label. If @label is %NULL,
+the current label is removed.
+
+</description>
+<parameters>
+<parameter name="frame">
+<parameter_description> a #GtkFrame
+</parameter_description>
+</parameter>
+<parameter name="label">
+<parameter_description> the text to use as the label of the frame
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_accelerator_parse">
+<description>
+Parses a string representing an accelerator. The
+format looks like &quot;&amp;lt;Control&amp;gt;a&quot; or &quot;&amp;lt;Shift&amp;gt;&amp;lt;Alt&amp;gt;F1&quot; or
+&quot;&amp;lt;Release&amp;gt;z&quot; (the last one is for key release).
+The parser is fairly liberal and allows lower or upper case,
+and also abbreviations such as &quot;&amp;lt;Ctl&amp;gt;&quot; and &quot;&amp;lt;Ctrl&amp;gt;&quot;.
+
+If the parse fails, @accelerator_key and @accelerator_mods will
+be set to 0 (zero).
+
+</description>
+<parameters>
+<parameter name="accelerator">
+<parameter_description> string representing an accelerator
+</parameter_description>
+</parameter>
+<parameter name="accelerator_key">
+<parameter_description> return location for accelerator keyval
+</parameter_description>
+</parameter>
+<parameter name="accelerator_mods">
+<parameter_description> return location for accelerator modifier mask
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_layout_index_to_text_index">
+<description>
+Converts from a position in the entry contents (returned
+by gtk_entry_get_text()) to a position in the
+entry&apos;s #PangoLayout (returned by gtk_entry_get_layout(),
+with text retrieved via pango_layout_get_text()).
+
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+<parameter name="layout_index">
+<parameter_description> byte index into the entry layout text
+</parameter_description>
+</parameter>
+</parameters>
+<return> byte index into the entry contents
+</return>
+</function>
+
+<function name="gtk_tree_store_set_value">
+<description>
+Sets the data in the cell specified by @iter and @column.
+The type of @value must be convertible to the type of the
+column.
+
+
+</description>
+<parameters>
+<parameter name="tree_store">
+<parameter_description> a #GtkTreeStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> A valid #GtkTreeIter for the row being modified
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> column number to modify
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> new value for the cell
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_filter_get_needed">
+<description>
+Gets the fields that need to be filled in for the structure
+passed to gtk_file_filter_filter()
+
+This function will not typically be used by applications; it
+is intended principally for use in the implementation of
+#GtkFileChooser.
+
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> a #GtkFileFilter
+</parameter_description>
+</parameter>
+</parameters>
+<return> bitfield of flags indicating needed fields when
+calling gtk_file_filter_filter()
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_about_dialog_get_license">
+<description>
+Return value: The license information. The string is owned by the about
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> The license information. The string is owned by the about
+dialog and must not be modified.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_binding_set_activate">
+<description>
+Find a key binding matching @keyval and @modifiers within
+@binding_set and activate the binding on @object.
+
+
+</description>
+<parameters>
+<parameter name="binding_set">
+<parameter_description> @binding_set to activate
+</parameter_description>
+</parameter>
+<parameter name="keyval">
+<parameter_description> key value of the binding
+</parameter_description>
+</parameter>
+<parameter name="modifiers">
+<parameter_description> key modifier of the binding
+</parameter_description>
+</parameter>
+<parameter name="object">
+<parameter_description> object to activate when binding found
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a binding was found and activated
+</return>
+</function>
+
+<function name="gtk_file_chooser_dialog_new">
+<description>
+Creates a new #GtkFileChooserDialog. This function is analogous to
+gtk_dialog_new_with_buttons().
+
+
+</description>
+<parameters>
+<parameter name="title">
+<parameter_description> Title of the dialog, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> Transient parent of the dialog, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="action">
+<parameter_description> Open or save mode for the dialog
+</parameter_description>
+</parameter>
+<parameter name="first_button_text">
+<parameter_description> stock ID or text to go in the first button, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> response ID for the first button, then additional (button, id) pairs, ending with %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkFileChooserDialog
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_container_child_set_valist">
+<description>
+Sets one or more child properties for @child and @container.
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> a widget which is a child of @container
+</parameter_description>
+</parameter>
+<parameter name="first_property_name">
+<parameter_description> the name of the first property to set
+</parameter_description>
+</parameter>
+<parameter name="var_args">
+<parameter_description> a %NULL-terminated list of property names and values, starting
+with @first_prop_name
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_radio_menu_item_new_with_mnemonic">
+<description>
+Creates a new #GtkRadioMenuItem containing a label. The label
+will be created using gtk_label_new_with_mnemonic(), so underscores
+in @label indicate the mnemonic for the menu item.
+
+</description>
+<parameters>
+<parameter name="group">
+<parameter_description> group the radio menu item is inside
+</parameter_description>
+</parameter>
+<parameter name="label">
+<parameter_description> the text of the button, with an underscore in front of the
+mnemonic character
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkRadioMenuItem
+</return>
+</function>
+
+<function name="gtk_stock_list_ids">
+<description>
+Retrieves a list of all known stock IDs added to a #GtkIconFactory
+or registered with gtk_stock_add(). The list must be freed with g_slist_free(),
+and each string in the list must be freed with g_free().
+
+
+</description>
+<parameters>
+</parameters>
+<return> a list of known stock IDs
+</return>
+</function>
+
+<function name="gtk_widget_list_mnemonic_labels">
+<description>
+Return value: the list of mnemonic labels; free this list
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the list of mnemonic labels; free this list
+with g_list_free() when you are done with it.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_binding_set_find">
+<description>
+Find a binding set by its globally unique name. The @set_name can
+either be a name used for gtk_binding_set_new() or the type name of
+a class used in gtk_binding_set_by_class().
+
+
+</description>
+<parameters>
+<parameter name="set_name">
+<parameter_description> unique binding set name
+</parameter_description>
+</parameter>
+</parameters>
+<return> %NULL or the specified binding set
+</return>
+</function>
+
+<function name="gtk_tree_view_set_show_expanders">
+<description>
+Sets whether to draw and enable expanders and indent child rows in
+@tree_view. When disabled there will be no expanders visible in trees
+and there will be no way to expand and collapse rows by default. Also
+note that hiding the expanders will disable the default indentation. You
+can set a custom indentation in this case using
+gtk_tree_view_set_level_indentation().
+This does not have any visible effects for lists.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="enabled">
+<parameter_description> %TRUE to enable expander drawing, %FALSE otherwise.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_paint_box_gap">
+<description>
+Draws a box in @window using the given style and state and shadow type,
+leaving a gap in one side.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> clip rectangle, or %NULL if the
+output should not be clipped
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> a style detail (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> width of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="gap_side">
+<parameter_description> side in which to leave the gap
+</parameter_description>
+</parameter>
+<parameter name="gap_x">
+<parameter_description> starting position of the gap
+</parameter_description>
+</parameter>
+<parameter name="gap_width">
+<parameter_description> width of the gap
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_expander_set_label">
+<description>
+Sets the text of the label of the expander to @label.
+
+This will also clear any previously set labels.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="expander">
+<parameter_description> a #GtkExpander
+</parameter_description>
+</parameter>
+<parameter name="label">
+<parameter_description> a string
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_chooser_get_show_not_found">
+<description>
+Retrieves whether @chooser should show the recently used resources that
+were not found.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the resources not found should be displayed, and
+%FALSE otheriwse.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_cell_view_set_model">
+<description>
+Sets the model for @cell_view. If @cell_view already has a model
+set, it will remove it before setting the new model. If @model is
+%NULL, then it will unset the old model.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="cell_view">
+<parameter_description> a #GtkCellView
+</parameter_description>
+</parameter>
+<parameter name="model">
+<parameter_description> a #GtkTreeModel
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_ui_manager_add_ui">
+<description>
+Adds a UI element to the current contents of @self.
+
+If @type is %GTK_UI_MANAGER_AUTO, GTK+ inserts a menuitem, toolitem or
+separator if such an element can be inserted at the place determined by
+@path. Otherwise @type must indicate an element that can be inserted at
+the place determined by @path.
+
+If @path points to a menuitem or toolitem, the new element will be inserted
+before or after this item, depending on @top.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkUIManager
+</parameter_description>
+</parameter>
+<parameter name="merge_id">
+<parameter_description> the merge id for the merged UI, see gtk_ui_manager_new_merge_id()
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a path
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> the name for the added UI element
+</parameter_description>
+</parameter>
+<parameter name="action">
+<parameter_description> the name of the action to be proxied, or %NULL to add a separator
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> the type of UI element to add.
+</parameter_description>
+</parameter>
+<parameter name="top">
+<parameter_description> if %TRUE, the UI element is added before its siblings, otherwise it
+is added after its siblings.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_button_set_focus_on_click">
+<description>
+Sets whether the button will grab focus when it is clicked with the mouse.
+Making mouse clicks not grab focus is useful in places like toolbars where
+you don&apos;t want the keyboard focus removed from the main area of the
+application.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkButton
+</parameter_description>
+</parameter>
+<parameter name="focus_on_click">
+<parameter_description> whether the button grabs focus when clicked with the mouse
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_info_get_display_name">
+<description>
+Gets the name of the resource. If none has been defined, the basename
+of the resource is obtained.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GtkRecentInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> the display name of the resource. The returned string
+is owned by the recent manager, and should not be freed.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="_gtk_get_module_path">
+<description>
+Determines the search path for a particular type of module.
+
+
+</description>
+<parameters>
+<parameter name="type">
+<parameter_description> the type of the module, for instance &apos;modules&apos;, &apos;engines&apos;, immodules&apos;
+</parameter_description>
+</parameter>
+</parameters>
+<return> the search path for the module type. Free with g_strfreev().
+</return>
+</function>
+
+<function name="gtk_print_settings_copy">
+<description>
+Copies a #GtkPrintSettings object.
+
+
+</description>
+<parameters>
+<parameter name="other">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated copy of @other
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_im_context_simple_new">
+<description>
+Creates a new #GtkIMContextSimple.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkIMContextSimple.
+</return>
+</function>
+
+<function name="gtk_icon_view_enable_model_drag_source">
+<description>
+Turns @icon_view into a drag source for automatic DND.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconTreeView
+</parameter_description>
+</parameter>
+<parameter name="start_button_mask">
+<parameter_description> Mask of allowed buttons to start drag
+</parameter_description>
+</parameter>
+<parameter name="targets">
+<parameter_description> the table of targets that the drag will support
+</parameter_description>
+</parameter>
+<parameter name="n_targets">
+<parameter_description> the number of items in @targets
+</parameter_description>
+</parameter>
+<parameter name="actions">
+<parameter_description> the bitmask of possible actions for a drag from this
+widget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_selection_unselect_iter">
+<description>
+Unselects the specified iterator.
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> A #GtkTreeSelection.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> The #GtkTreeIter to be unselected.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_set_tab_label_text">
+<description>
+Creates a new label and sets it as the tab label for the page
+containing @child.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the page
+</parameter_description>
+</parameter>
+<parameter name="tab_text">
+<parameter_description> the label text
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_calendar_new">
+<description>
+Creates a new calendar, with the current date being selected.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a newly #GtkCalendar widget
+</return>
+</function>
+
+<function name="gtk_print_context_set_cairo_context">
+<description>
+Sets a new cairo context on a print context.
+
+This function is intended to be used when implementing
+an internal print preview, it is not needed for printing,
+since GTK+ itself creates a suitable cairo context in that
+case.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkPrintContext
+</parameter_description>
+</parameter>
+<parameter name="cr">
+<parameter_description> the cairo context
+</parameter_description>
+</parameter>
+<parameter name="dpi_x">
+<parameter_description> the horizontal resolution to use with @cr
+</parameter_description>
+</parameter>
+<parameter name="dpi_y">
+<parameter_description> the vertical resolution to use with @cr
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_ends_word">
+<description>
+Determines whether @iter ends a natural-language word. Word breaks
+are determined by Pango and should be correct for nearly any
+language (if not, the correct fix would be to the Pango word break
+algorithms).
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter is at the end of a word
+</return>
+</function>
+
+<function name="gtk_recent_info_exists">
+<description>
+Checks whether the resource pointed by @info still exists. At
+the moment this check is done only on resources pointing to local files.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GtkRecentInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the resource exists
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_binding_set_new">
+<description>
+GTK+ maintains a global list of binding sets. Each binding set has
+a unique name which needs to be specified upon creation.
+
+
+</description>
+<parameters>
+<parameter name="set_name">
+<parameter_description> unique name of this binding set
+</parameter_description>
+</parameter>
+</parameters>
+<return> new binding set
+</return>
+</function>
+
+<function name="gtk_expander_get_use_markup">
+<description>
+Return value: %TRUE if the label&apos;s text will be parsed for markup
+
+</description>
+<parameters>
+<parameter name="expander">
+<parameter_description> a #GtkExpander
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the label&apos;s text will be parsed for markup
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_entry_prepend_text">
+<description>
+Prepends the given text to the contents of the widget.
+
+Deprecated: gtk_entry_prepend_text() is deprecated and should not
+be used in newly-written code. Use gtk_editable_insert_text()
+instead.
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the text to prepend
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_spin_button_set_increments">
+<description>
+Sets the step and page increments for spin_button. This affects how
+quickly the value changes when the spin button&apos;s arrows are activated.
+
+</description>
+<parameters>
+<parameter name="spin_button">
+<parameter_description> a #GtkSpinButton
+</parameter_description>
+</parameter>
+<parameter name="step">
+<parameter_description> increment applied for a button 1 press.
+</parameter_description>
+</parameter>
+<parameter name="page">
+<parameter_description> increment applied for a button 2 press.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_container_add_with_properties">
+<description>
+Adds @widget to @container, setting child properties at the same time.
+See gtk_container_add() and gtk_container_child_set() for more details.
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> a widget to be placed inside @container
+</parameter_description>
+</parameter>
+<parameter name="first_prop_name">
+<parameter_description> the name of the first child property to set
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> a %NULL-terminated list of property names and values, starting
+with @first_prop_name
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_accel_map_change_entry">
+<description>
+Changes the @accel_key and @accel_mods currently associated with @accel_path.
+Due to conflicts with other accelerators, a change may not always be possible,
+@replace indicates whether other accelerators may be deleted to resolve such
+conflicts. A change will only occur if all conflicts could be resolved (which
+might not be the case if conflicting accelerators are locked). Successful
+changes are indicated by a %TRUE return value.
+
+</description>
+<parameters>
+<parameter name="accel_path">
+<parameter_description> a valid accelerator path
+</parameter_description>
+</parameter>
+<parameter name="accel_key">
+<parameter_description> the new accelerator key
+</parameter_description>
+</parameter>
+<parameter name="accel_mods">
+<parameter_description> the new accelerator modifiers
+</parameter_description>
+</parameter>
+<parameter name="replace">
+<parameter_description> %TRUE if other accelerators may be deleted upon conflicts
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the accelerator could be changed, %FALSE otherwise
+</return>
+</function>
+
+<function name="gtk_container_set_resize_mode">
+<description>
+Sets the resize mode for the container.
+
+The resize mode of a container determines whether a resize request
+will be passed to the container&apos;s parent, queued for later execution
+or executed immediately.
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+<parameter name="resize_mode">
+<parameter_description> the new resize mode
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_get_has_frame">
+<description>
+Accessor for whether the window has a frame window exterior to
+@window-&amp;gt;window. Gets the value set by gtk_window_set_has_frame ().
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a frame has been added to the window
+via gtk_window_set_has_frame().
+</return>
+</function>
+
+<function name="gtk_clipboard_set_text">
+<description>
+Sets the contents of the clipboard to the given UTF-8 string. GTK+ will
+make a copy of the text and take responsibility for responding
+for requests for the text, and for converting the text into
+the requested format.
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard object
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> a UTF-8 string.
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> length of @text, in bytes, or -1, in which case
+the length will be determined with &amp;lt;function&amp;gt;strlen()&amp;lt;/function&amp;gt;.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_maximize">
+<description>
+Asks to maximize @window, so that it becomes full-screen. Note that
+you shouldn&apos;t assume the window is definitely maximized afterward,
+because other entities (e.g. the user or &amp;lt;link
+linkend=&quot;gtk-X11-arch&quot;&amp;gt;window manager&amp;lt;/link&amp;gt;) could unmaximize it
+again, and not all window managers support maximization. But
+normally the window will end up maximized. Just don&apos;t write code
+that crashes if not.
+
+It&apos;s permitted to call this function before showing a window,
+in which case the window will be maximized when it appears onscreen
+initially.
+
+You can track maximization via the &quot;window_state_event&quot; signal
+on #GtkWidget.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_pop_colormap">
+<description>
+Removes a colormap pushed with gtk_widget_push_colormap().
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_rc_get_style">
+<description>
+Finds all matching RC styles for a given widget,
+composites them together, and then creates a
+#GtkStyle representing the composite appearance.
+(GTK+ actually keeps a cache of previously
+created styles, so a new style may not be
+created.)
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the resulting style. No refcount is added
+to the returned style, so if you want to save this
+style around, you should add a reference yourself.
+</return>
+</function>
+
+<function name="gtk_text_mark_get_name">
+<description>
+Return value: mark name
+
+</description>
+<parameters>
+<parameter name="mark">
+<parameter_description> a #GtkTextMark
+</parameter_description>
+</parameter>
+</parameters>
+<return> mark name
+</return>
+</function>
+
+<function name="gtk_icon_set_copy">
+<description>
+Copies @icon_set by value.
+
+
+</description>
+<parameters>
+<parameter name="icon_set">
+<parameter_description> a #GtkIconSet
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkIconSet identical to the first.
+</return>
+</function>
+
+<function name="gtk_recent_chooser_get_show_tips">
+<description>
+Gets whether @chooser should display tooltips.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the recent chooser should show tooltips,
+%FALSE otherwise.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_printer_list_papers">
+<description>
+Lists all the paper sizes @printer supports.
+This will return an empty list unless the printer&apos;s details are
+available. See gtk_printer_has_details() and gtk_printer_request_details().
+
+
+</description>
+<parameters>
+<parameter name="printer">
+<parameter_description> a #GtkPrinter
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated list of newly allocated #GtkPageSetup s.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_print_operation_set_job_name">
+<description>
+Sets the name of the print job. The name is used to identify
+the job (e.g. in monitoring applications like eggcups).
+
+If you don&apos;t set a job name, GTK+ picks a default one by
+numbering successive print jobs.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="op">
+<parameter_description> a #GtkPrintOperation
+</parameter_description>
+</parameter>
+<parameter name="job_name">
+<parameter_description> a string that identifies the print job
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_place_cursor">
+<description>
+This function moves the &quot;insert&quot; and &quot;selection_bound&quot; marks
+simultaneously. If you move them to the same place in two steps
+with gtk_text_buffer_move_mark(), you will temporarily select a
+region in between their old and new locations, which can be pretty
+inefficient since the temporarily-selected region will force stuff
+to be recalculated. This function moves them as a unit, which can
+be optimized.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="where">
+<parameter_description> where to put the cursor
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_font_button_get_show_size">
+<description>
+Return value: whether the font size will be shown in the label.
+
+</description>
+<parameters>
+<parameter name="font_button">
+<parameter_description> a #GtkFontButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the font size will be shown in the label.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_notebook_get_group_id">
+<description>
+Gets the current group identificator for @notebook.
+
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+</parameters>
+<return> the group identificator, or -1 if none is set.
+
+Since: 2.10
+Deprecated:2.12: use gtk_notebook_get_group() instead.
+</return>
+</function>
+
+<function name="gtk_button_get_focus_on_click">
+<description>
+Return value: %TRUE if the button grabs focus when it is clicked with
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the button grabs focus when it is clicked with
+the mouse.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tree_selection_get_tree_view">
+<description>
+Return value: A #GtkTreeView
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> A #GtkTreeSelection
+</parameter_description>
+</parameter>
+</parameters>
+<return> A #GtkTreeView
+</return>
+</function>
+
+<function name="gtk_assistant_set_page_title">
+<description>
+Sets a title for @page. The title is displayed in the header
+area of the assistant when @page is the current page.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="assistant">
+<parameter_description> a #GtkAssistant
+</parameter_description>
+</parameter>
+<parameter name="page">
+<parameter_description> a page of @assistant
+</parameter_description>
+</parameter>
+<parameter name="title">
+<parameter_description> the new title for @page
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_draw">
+<description>
+In GTK+ 1.2, this function would immediately render the
+region @area of a widget, by invoking the virtual draw method of a
+widget. In GTK+ 2.0, the draw method is gone, and instead
+gtk_widget_draw() simply invalidates the specified region of the
+widget, then updates the invalid region of the widget immediately.
+Usually you don&apos;t want to update the region immediately for
+performance reasons, so in general gtk_widget_queue_draw_area() is
+a better choice if you want to draw a region of a widget.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> area to draw
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toggle_button_set_inconsistent">
+<description>
+If the user has selected a range of elements (such as some text or
+spreadsheet cells) that are affected by a toggle button, and the
+current values in that range are inconsistent, you may want to
+display the toggle in an &quot;in between&quot; state. This function turns on
+&quot;in between&quot; display. Normally you would turn off the inconsistent
+state again if the user toggles the toggle button. This has to be
+done manually, gtk_toggle_button_set_inconsistent() only affects
+visual appearance, it doesn&apos;t affect the semantics of the button.
+
+
+</description>
+<parameters>
+<parameter name="toggle_button">
+<parameter_description> a #GtkToggleButton
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> %TRUE if state is inconsistent
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_button_get_width_chars">
+<description>
+Retrieves the width in characters of the @button widget&apos;s entry and/or label.
+
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> the button widget to examine.
+</parameter_description>
+</parameter>
+</parameters>
+<return> an integer width (in characters) that the button will use to size itself.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_notebook_set_scrollable">
+<description>
+Sets whether the tab label area will have arrows for scrolling if
+there are too many tabs to fit in the area.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="scrollable">
+<parameter_description> %TRUE if scroll arrows should be added
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_select_all">
+<description>
+Selects all the files in the current folder of a file chooser.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_insert_pixbuf">
+<description>
+Inserts an image into the text buffer at @iter. The image will be
+counted as one character in character counts, and when obtaining
+the buffer contents as a string, will be represented by the Unicode
+&quot;object replacement character&quot; 0xFFFC. Note that the &quot;slice&quot;
+variants for obtaining portions of the buffer as a string include
+this character for pixbufs, but the &quot;text&quot; variants do
+not. e.g. see gtk_text_buffer_get_slice() and
+gtk_text_buffer_get_text().
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> location to insert the pixbuf
+</parameter_description>
+</parameter>
+<parameter name="pixbuf">
+<parameter_description> a #GdkPixbuf
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_list_store_newv">
+<description>
+Non-vararg creation function. Used primarily by language bindings.
+
+
+</description>
+<parameters>
+<parameter name="n_columns">
+<parameter_description> number of columns in the list store
+</parameter_description>
+</parameter>
+<parameter name="types">
+<parameter_description> an array of #GType types for the columns, from first to last
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkListStore
+</return>
+</function>
+
+<function name="gtk_print_settings_get_length">
+<description>
+Return value: the length value of @key, converted to @unit
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the unit of the return value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the length value of @key, converted to @unit
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_action_create_tool_item">
+<description>
+Creates a toolbar item widget that proxies for the given action.
+
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+</parameters>
+<return> a toolbar item connected to the action.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_print_settings_get">
+<description>
+Looks up the string value associated with @key.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+</parameters>
+<return> the string value for @key
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_text_view_get_iter_at_location">
+<description>
+Retrieves the iterator at buffer coordinates @x and @y. Buffer
+coordinates are coordinates for the entire buffer, not just the
+currently-displayed portion. If you have coordinates from an
+event, you have to convert those to buffer coordinates with
+gtk_text_view_window_to_buffer_coords().
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x position, in buffer coordinates
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y position, in buffer coordinates
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_unix_dialog_add_custom_tab">
+<description>
+Adds a custom tab to the print dialog.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkPrintUnixDialog
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the widget to put in the custom tab
+</parameter_description>
+</parameter>
+<parameter name="tab_label">
+<parameter_description> the widget to use as tab label
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_paint_vline">
+<description>
+Draws a vertical line from (@x, @y1_) to (@x, @y2_) in @window
+using the given style and state.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> rectangle to which the output is clipped, or %NULL if the
+output should not be clipped
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> a style detail (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="y1_">
+<parameter_description> the starting y coordinate
+</parameter_description>
+</parameter>
+<parameter name="y2_">
+<parameter_description> the ending y coordinate
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x coordinate
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_printer_is_virtual">
+<description>
+Return value: %TRUE if @printer is virtual
+
+</description>
+<parameters>
+<parameter name="printer">
+<parameter_description> a #GtkPrinter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @printer is virtual
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_text_view_set_pixels_below_lines">
+<description>
+Sets the default number of pixels of blank space
+to put below paragraphs in @text_view. May be overridden
+by tags applied to @text_view&apos;s buffer.
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="pixels_below_lines">
+<parameter_description> pixels below paragraphs
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_source_set_filename">
+<description>
+Sets the name of an image file to use as a base image when creating
+icon variants for #GtkIconSet. The filename must be absolute.
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a #GtkIconSource
+</parameter_description>
+</parameter>
+<parameter name="filename">
+<parameter_description> image file to use
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_set_size_request">
+<description>
+Sets the minimum size of a widget; that is, the widget&apos;s size
+request will be @width by @height. You can use this function to
+force a widget to be either larger or smaller than it normally
+would be.
+
+In most cases, gtk_window_set_default_size() is a better choice for
+toplevel windows than this function; setting the default size will
+still allow users to shrink the window. Setting the size request
+will force them to leave the window at least as large as the size
+request. When dealing with window sizes,
+gtk_window_set_geometry_hints() can be a useful function as well.
+
+Note the inherent danger of setting any fixed size - themes,
+translations into other languages, different fonts, and user action
+can all change the appropriate size for a given widget. So, it&apos;s
+basically impossible to hardcode a size that will always be
+correct.
+
+The size request of a widget is the smallest size a widget can
+accept while still functioning well and drawing itself correctly.
+However in some strange cases a widget may be allocated less than
+its requested size, and in many cases a widget may be allocated more
+space than it requested.
+
+If the size request in a given direction is -1 (unset), then
+the &quot;natural&quot; size request of the widget will be used instead.
+
+Widgets can&apos;t actually be allocated a size less than 1 by 1, but
+you can pass 0,0 to this function to mean &quot;as small as possible.&quot;
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width @widget should request, or -1 to unset
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height @widget should request, or -1 to unset
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_chooser_set_limit">
+<description>
+Sets the number of items that should be returned by
+gtk_recent_chooser_get_items() and gtk_recent_chooser_get_uris().
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+<parameter name="limit">
+<parameter_description> a positive integer, or -1 for all items
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_set_resizable">
+<description>
+If @resizable is %TRUE, then the user can explicitly resize the column by
+grabbing the outer edge of the column button. If resizable is %TRUE and
+sizing mode of the column is #GTK_TREE_VIEW_COLUMN_AUTOSIZE, then the sizing
+mode is changed to #GTK_TREE_VIEW_COLUMN_GROW_ONLY.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+<parameter name="resizable">
+<parameter_description> %TRUE, if the column can be resized
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_progress_bar_pulse">
+<description>
+Indicates that some progress is made, but you don&apos;t know how much.
+Causes the progress bar to enter &quot;activity mode,&quot; where a block
+bounces back and forth. Each call to gtk_progress_bar_pulse()
+causes the block to move by a little bit (the amount of movement
+per pulse is determined by gtk_progress_bar_set_pulse_step()).
+
+</description>
+<parameters>
+<parameter name="pbar">
+<parameter_description> a #GtkProgressBar
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_set_single_line_mode">
+<description>
+Sets whether the label is in single line mode.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+<parameter name="single_line_mode">
+<parameter_description> %TRUE if the label should be in single line mode
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toolbar_get_icon_size">
+<description>
+Retrieves the icon size for the toolbar. See gtk_toolbar_set_icon_size().
+
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current icon size for the icons on the toolbar.
+</return>
+</function>
+
+<function name="gtk_table_get_default_col_spacing">
+<description>
+Gets the default column spacing for the table. This is
+the spacing that will be used for newly added columns.
+(See gtk_table_set_col_spacings())
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a #GtkTable
+</parameter_description>
+</parameter>
+</parameters>
+<return>value: the default column spacing
+</return>
+</function>
+
+<function name="gtk_assistant_get_page_type">
+<description>
+Gets the page type of @page.
+
+
+</description>
+<parameters>
+<parameter name="assistant">
+<parameter_description> a #GtkAssistant
+</parameter_description>
+</parameter>
+<parameter name="page">
+<parameter_description> a page of @assistant
+</parameter_description>
+</parameter>
+</parameters>
+<return> the page type of @page.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_widget_can_activate_accel">
+<description>
+Determines whether an accelerator that activates the signal
+identified by @signal_id can currently be activated.
+This is done by emitting the #GtkWidget::can-activate-accel
+signal on @widget; if the signal isn&apos;t overridden by a
+handler or in a derived widget, then the default check is
+that the widget must be sensitive, and the widget and all
+its ancestors mapped.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="signal_id">
+<parameter_description> the ID of a signal installed on @widget
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the accelerator can be activated.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_text_view_get_window">
+<description>
+Retrieves the #GdkWindow corresponding to an area of the text view;
+possible windows include the overall widget window, child windows
+on the left, right, top, bottom, and the window that displays the
+text buffer. Windows are %NULL and nonexistent if their width or
+height is 0, and are nonexistent before the widget has been
+realized.
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="win">
+<parameter_description> window to get
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GdkWindow, or %NULL
+</return>
+</function>
+
+<function name="gtk_drag_source_add_image_targets">
+<description>
+Add the writable image targets supported by #GtkSelection to
+the target list of the drag source. The targets
+are added with @info = 0. If you need another value,
+use gtk_target_list_add_image_targets() and
+gtk_drag_source_set_target_list().
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget that&apos;s is a drag source
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_button_get_use_stock">
+<description>
+Return value: %TRUE if the button label is used to
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the button label is used to
+select a stock item instead of being
+used directly as the label text.
+</return>
+</function>
+
+<function name="gtk_tree_sortable_has_default_sort_func">
+<description>
+Return value: %TRUE, if the model has a default sort function
+
+</description>
+<parameters>
+<parameter name="sortable">
+<parameter_description> A #GtkTreeSortable
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE, if the model has a default sort function
+</return>
+</function>
+
+<function name="gtk_text_buffer_get_bounds">
+<description>
+Retrieves the first and last iterators in the buffer, i.e. the
+entire buffer lies within the range [@start,@end).
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> iterator to initialize with first position in the buffer
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> iterator to initialize with the end iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_job_set_track_print_status">
+<description>
+If track_status is %TRUE, the print job will try to continue report
+on the status of the print job in the printer queues and printer. This
+can allow your application to show things like &quot;out of paper&quot; issues,
+and when the print job actually reaches the printer.
+
+This function is often implemented using some form of polling, so it should
+not be enabled unless needed.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="job">
+<parameter_description> a #GtkPrintJob
+</parameter_description>
+</parameter>
+<parameter name="track_status">
+<parameter_description> %TRUE to track status after printing
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_path_prev">
+<description>
+Moves the @path to point to the previous node at the current depth,
+if it exists.
+
+
+</description>
+<parameters>
+<parameter name="path">
+<parameter_description> A #GtkTreePath.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @path has a previous node, and the move was made.
+</return>
+</function>
+
+<function name="_gtk_tree_selection_new_with_tree_view">
+<description>
+Creates a new #GtkTreeSelection object. This function should not be invoked,
+as each #GtkTreeView will create its own #GtkTreeSelection.
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> The #GtkTreeView.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly created #GtkTreeSelection object.
+</return>
+</function>
+
+<function name="gtk_drag_dest_add_uri_targets">
+<description>
+Add the URI targets supported by #GtkSelection to
+the target list of the drag destination. The targets
+are added with @info = 0. If you need another value,
+use gtk_target_list_add_uri_targets() and
+gtk_drag_dest_set_target_list().
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget that&apos;s a drag destination
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toolbar_insert_element">
+<description>
+Inserts a new element in the toolbar at the given position.
+
+If @type == %GTK_TOOLBAR_CHILD_WIDGET, @widget is used as the new element.
+If @type == %GTK_TOOLBAR_CHILD_RADIOBUTTON, @widget is used to determine
+the radio group for the new element. In all other cases, @widget must
+be %NULL.
+
+@callback must be a pointer to a function taking a #GtkWidget and a gpointer as
+arguments. Use the GTK_SIGNAL_FUNC() to cast the function to #GtkSignalFunc.
+
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar.
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> a value of type #GtkToolbarChildType that determines what @widget
+will be.
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> a #GtkWidget, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the element&apos;s label.
+</parameter_description>
+</parameter>
+<parameter name="tooltip_text">
+<parameter_description> the element&apos;s tooltip.
+</parameter_description>
+</parameter>
+<parameter name="tooltip_private_text">
+<parameter_description> used for context-sensitive help about this toolbar element.
+</parameter_description>
+</parameter>
+<parameter name="icon">
+<parameter_description> a #GtkWidget that provides pictorial representation of the element&apos;s function.
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the function to be executed when the button is pressed.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> any data you wish to pass to the callback.
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> the number of widgets to insert this element after.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new toolbar element as a #GtkWidget.
+</return>
+</function>
+
+<function name="gtk_notebook_get_show_tabs">
+<description>
+Return value: %TRUE if the tabs are shown
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the tabs are shown
+</return>
+</function>
+
+<function name="gtk_check_menu_item_new_with_mnemonic">
+<description>
+Creates a new #GtkCheckMenuItem containing a label. The label
+will be created using gtk_label_new_with_mnemonic(), so underscores
+in @label indicate the mnemonic for the menu item.
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> The text of the button, with an underscore in front of the
+mnemonic character
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkCheckMenuItem
+</return>
+</function>
+
+<function name="_gtk_file_chooser_entry_set_action">
+<description>
+Sets action which is performed by the file selector using this entry.
+The #GtkFileChooserEntry will use different completion strategies for
+different actions.
+
+</description>
+<parameters>
+<parameter name="chooser_entry">
+<parameter_description> a #GtkFileChooserEntry
+</parameter_description>
+</parameter>
+<parameter name="action">
+<parameter_description> the action which is performed by the file selector using this entry
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_color_button_set_alpha">
+<description>
+Sets the current opacity to be @alpha.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="color_button">
+<parameter_description> a #GtkColorButton.
+</parameter_description>
+</parameter>
+<parameter name="alpha">
+<parameter_description> an integer between 0 and 65535.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_chooser_unselect_all">
+<description>
+Unselects all the items inside @chooser.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_ui_manager_get_add_tearoffs">
+<description>
+Return value: whether tearoff menu items are added
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkUIManager
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether tearoff menu items are added
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_recent_chooser_dialog_new">
+<description>
+Creates a new #GtkRecentChooserDialog. This function is analogous to
+gtk_dialog_new_with_buttons().
+
+
+</description>
+<parameters>
+<parameter name="title">
+<parameter_description> Title of the dialog, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> Transient parent of the dialog, or %NULL,
+</parameter_description>
+</parameter>
+<parameter name="first_button_text">
+<parameter_description> stock ID or text to go in the first button, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> response ID for the first button, then additional (button, id)
+pairs, ending with %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkRecentChooserDialog
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_view_column_set_spacing">
+<description>
+Sets the spacing field of @tree_column, which is the number of pixels to
+place between cell renderers packed into it.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+<parameter name="spacing">
+<parameter_description> distance between cell renderers in pixels.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_set_max_width_chars">
+<description>
+Sets the desired maximum width in characters of @label to @n_chars.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+<parameter name="n_chars">
+<parameter_description> the new desired maximum width, in characters.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_backward_visible_line">
+<description>
+Moves @iter to the start of the previous visible line. Returns %TRUE if
+@iter could be moved; i.e. if @iter was at character offset 0, this
+function returns %FALSE. Therefore if @iter was already on line 0,
+but not at the start of the line, @iter is snapped to the start of
+the line and the function returns %TRUE. (Note that this implies that
+in a loop calling this function, the line number may not change on
+every iteration, if your first iteration is on line 0.)
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @iter moved
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gtk_icon_view_path_is_selected">
+<description>
+Return value: %TRUE if @path is selected.
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView.
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> A #GtkTreePath to check selection on.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @path is selected.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_widget_activate">
+<description>
+For widgets that can be &quot;activated&quot; (buttons, menu items, etc.)
+this function activates them. Activation is what happens when you
+press Enter on a widget during key navigation. If @widget isn&apos;t
+activatable, the function returns %FALSE.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget that&apos;s activatable
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the widget was activatable
+</return>
+</function>
+
+<function name="gtk_window_get_focus">
+<description>
+Retrieves the current focused widget within the window.
+Note that this is the widget that would have the focus
+if the toplevel window focused; if the toplevel window
+is not focused then &amp;lt;literal&amp;gt;GTK_WIDGET_HAS_FOCUS (widget)&amp;lt;/literal&amp;gt; will
+not be %TRUE for the widget.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> the currently focused widget, or %NULL if there is none.
+</return>
+</function>
+
+<function name="gtk_tree_model_rows_reordered">
+<description>
+Emits the &quot;rows_reordered&quot; signal on @tree_model. This should be called by
+models when their rows have been reordered.
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> A #GtkTreePath pointing to the tree node whose children have been
+reordered
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> A valid #GtkTreeIter pointing to the node whose children have been
+reordered, or %NULL if the depth of @path is 0.
+</parameter_description>
+</parameter>
+<parameter name="new_order">
+<parameter_description> an array of integers mapping the current position of each child
+to its old position before the re-ordering,
+i.e. @new_order&amp;lt;literal&amp;gt;[newpos] = oldpos&amp;lt;/literal&amp;gt;.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_forward_lines">
+<description>
+Moves @count lines forward, if possible (if @count would move
+past the start or end of the buffer, moves to the start or end of
+the buffer). The return value indicates whether the iterator moved
+onto a dereferenceable position; if the iterator didn&apos;t move, or
+moved onto the end iterator, then %FALSE is returned. If @count is 0,
+the function does nothing and returns %FALSE. If @count is negative,
+moves backward by 0 - @count lines.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> number of lines to move forward
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @iter moved and is dereferenceable
+</return>
+</function>
+
+<function name="_gtk_plug_add_all_grabbed_keys">
+<description>
+@plug: a #GtkPlug
+
+Calls _gtk_plug_windowing_add_grabbed_key() on all the grabbed keys
+in the @plug.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_button_box_get_child_secondary">
+<description>
+Return value: whether @child should appear in a secondary group of children.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkButtonBox
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> a child of @widget
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @child should appear in a secondary group of children.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_text_view_new_with_buffer">
+<description>
+Creates a new #GtkTextView widget displaying the buffer
+@buffer. One buffer can be shared among many widgets.
+@buffer may be %NULL to create a default buffer, in which case
+this function is equivalent to gtk_text_view_new(). The
+text view adds its own reference count to the buffer; it does not
+take over an existing reference.
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkTextView.
+</return>
+</function>
+
+<function name="gtk_window_get_icon">
+<description>
+Gets the value set by gtk_window_set_icon() (or if you&apos;ve
+called gtk_window_set_icon_list(), gets the first icon in
+the icon list).
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> icon for window
+</return>
+</function>
+
+<function name="gtk_text_view_set_pixels_inside_wrap">
+<description>
+Sets the default number of pixels of blank space to leave between
+display/wrapped lines within a paragraph. May be overridden by
+tags in @text_view&apos;s buffer.
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="pixels_inside_wrap">
+<parameter_description> default number of pixels between wrapped lines
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_message_dialog_set_markup">
+<description>
+Sets the text of the message dialog to be @str, which is marked
+up with the &amp;lt;link linkend=&quot;PangoMarkupFormat&quot;&amp;gt;Pango text markup
+language&amp;lt;/link&amp;gt;.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="message_dialog">
+<parameter_description> a #GtkMessageDialog
+</parameter_description>
+</parameter>
+<parameter name="str">
+<parameter_description> markup string (see &amp;lt;link linkend=&quot;PangoMarkupFormat&quot;&amp;gt;Pango markup format&amp;lt;/link&amp;gt;)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_get_visual">
+<description>
+Gets the visual that will be used to render @widget.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the visual for @widget
+</return>
+</function>
+
+<function name="_gtk_text_layout_get_line_xrange">
+<description>
+Find the range of X coordinates for the paragraph containing
+the given iter. Private for 2.0 due to API freeze, could
+be made public for 2.2.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkTextLayout
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> location to store the top of the paragraph in pixels,
+or %NULL.
+@width location to store the height of the paragraph in pixels,
+or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_accel_group_connect">
+<description>
+Installs an accelerator in this group. When @accel_group is being activated
+in response to a call to gtk_accel_groups_activate(), @closure will be
+invoked if the @accel_key and @accel_mods from gtk_accel_groups_activate()
+match those of this connection.
+
+The signature used for the @closure is that of #GtkAccelGroupActivate.
+
+Note that, due to implementation details, a single closure can only be
+connected to one accelerator group.
+
+</description>
+<parameters>
+<parameter name="accel_group">
+<parameter_description> the accelerator group to install an accelerator in
+</parameter_description>
+</parameter>
+<parameter name="accel_key">
+<parameter_description> key value of the accelerator
+</parameter_description>
+</parameter>
+<parameter name="accel_mods">
+<parameter_description> modifier combination of the accelerator
+</parameter_description>
+</parameter>
+<parameter name="accel_flags">
+<parameter_description> a flag mask to configure this accelerator
+</parameter_description>
+</parameter>
+<parameter name="closure">
+<parameter_description> closure to be executed upon accelerator activation
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_model_sort_convert_child_iter_to_iter">
+<description>
+Sets @sort_iter to point to the row in @tree_model_sort that corresponds to
+the row pointed at by @child_iter.
+
+</description>
+<parameters>
+<parameter name="tree_model_sort">
+<parameter_description> A #GtkTreeModelSort
+</parameter_description>
+</parameter>
+<parameter name="sort_iter">
+<parameter_description> An uninitialized #GtkTreeIter.
+</parameter_description>
+</parameter>
+<parameter name="child_iter">
+<parameter_description> A valid #GtkTreeIter pointing to a row on the child model
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_unref">
+<description>
+Inverse of gtk_widget_ref(). Equivalent to g_object_unref().
+
+Deprecated:2.12: Use g_object_unref() instead.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_get_reorderable">
+<description>
+Return value: %TRUE if the @tree_column can be reordered by the user.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the @tree_column can be reordered by the user.
+</return>
+</function>
+
+<function name="gtk_window_get_modal">
+<description>
+Return value: %TRUE if the window is set to be modal and
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the window is set to be modal and
+establishes a grab when shown
+</return>
+</function>
+
+<function name="gtk_menu_set_accel_path">
+<description>
+Sets an accelerator path for this menu from which accelerator paths
+for its immediate children, its menu items, can be constructed.
+The main purpose of this function is to spare the programmer the
+inconvenience of having to call gtk_menu_item_set_accel_path() on
+each menu item that should support runtime user changable accelerators.
+Instead, by just calling gtk_menu_set_accel_path() on their parent,
+each menu item of this menu, that contains a label describing its purpose,
+automatically gets an accel path assigned. For example, a menu containing
+menu items &quot;New&quot; and &quot;Exit&quot;, will, after
+&amp;lt;literal&amp;gt;gtk_menu_set_accel_path (menu, &quot;&amp;lt;Gnumeric-Sheet&amp;gt;/File&quot;);&amp;lt;/literal&amp;gt;
+has been called, assign its items the accel paths:
+&amp;lt;literal&amp;gt;&quot;&amp;lt;Gnumeric-Sheet&amp;gt;/File/New&quot;&amp;lt;/literal&amp;gt; and &amp;lt;literal&amp;gt;&quot;&amp;lt;Gnumeric-Sheet&amp;gt;/File/Exit&quot;&amp;lt;/literal&amp;gt;.
+Assigning accel paths to menu items then enables the user to change
+their accelerators at runtime. More details about accelerator paths
+and their default setups can be found at gtk_accel_map_add_entry().
+
+</description>
+<parameters>
+<parameter name="menu">
+<parameter_description> a valid #GtkMenu
+</parameter_description>
+</parameter>
+<parameter name="accel_path">
+<parameter_description> a valid accelerator path
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_set_icon_list">
+<description>
+Sets up the icon representing a #GtkWindow. The icon is used when
+the window is minimized (also known as iconified). Some window
+managers or desktop environments may also place it in the window
+frame, or display it in other contexts.
+
+gtk_window_set_icon_list() allows you to pass in the same icon in
+several hand-drawn sizes. The list should contain the natural sizes
+your icon is available in; that is, don&apos;t scale the image before
+passing it to GTK+. Scaling is postponed until the last minute,
+when the desired final size is known, to allow best quality.
+
+By passing several sizes, you may improve the final image quality
+of the icon, by reducing or eliminating automatic image scaling.
+
+Recommended sizes to provide: 16x16, 32x32, 48x48 at minimum, and
+larger images (64x64, 128x128) if you have them.
+
+See also gtk_window_set_default_icon_list() to set the icon
+for all windows in your application in one go.
+
+Note that transient windows (those who have been set transient for another
+window using gtk_window_set_transient_for()) will inherit their
+icon from their transient parent. So there&apos;s no need to explicitly
+set the icon on transient windows.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="list">
+<parameter_description> list of #GdkPixbuf
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_attributes_copy">
+<description>
+Copies @src and returns a new #GtkTextAttributes.
+
+
+</description>
+<parameters>
+<parameter name="src">
+<parameter_description> a #GtkTextAttributes to be copied
+</parameter_description>
+</parameter>
+</parameters>
+<return> a copy of @src
+</return>
+</function>
+
+<function name="gtk_recent_info_get_application_info">
+<description>
+Gets the data regarding the application that has registered the resource
+pointed by @info.
+
+If the command line contains any escape characters defined inside the
+storage specification, they will be expanded.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GtkRecentInfo
+</parameter_description>
+</parameter>
+<parameter name="app_name">
+<parameter_description> the name of the application that has registered this item
+</parameter_description>
+</parameter>
+<parameter name="app_exec">
+<parameter_description> return location for the string containing the command line
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> return location for the number of times this item was registered
+</parameter_description>
+</parameter>
+<parameter name="time_">
+<parameter_description> return location for the timestamp this item was last registered
+for this application
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if an application with @app_name has registered this
+resource inside the recently used list, or %FALSE otherwise. You should
+free the returned command line using g_free().
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_file_chooser_list_filters">
+<description>
+Lists the current set of user-selectable filters; see
+gtk_file_chooser_add_filter(), gtk_file_chooser_remove_filter().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GSList containing the current set of
+user selectable filters. The contents of the list are
+owned by GTK+, but you must free the list itself with
+g_slist_free() when you are done with it.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_text_iter_inside_sentence">
+<description>
+Determines whether @iter is inside a sentence (as opposed to in
+between two sentences, e.g. after a period and before the first
+letter of the next sentence). Sentence boundaries are determined
+by Pango and should be correct for nearly any language (if not, the
+correct fix would be to the Pango text boundary algorithms).
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter is inside a sentence.
+</return>
+</function>
+
+<function name="gtk_printer_accepts_pdf">
+<description>
+Return value: %TRUE if @printer accepts PDF
+
+</description>
+<parameters>
+<parameter name="printer">
+<parameter_description> a #GtkPrinter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @printer accepts PDF
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_icon_view_set_pixbuf_column">
+<description>
+Sets the column with pixbufs for @icon_view to be @column. The pixbuf
+column must be of type #GDK_TYPE_PIXBUF
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView.
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> A column in the currently used model, or -1 to disable
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_view_set_column_spacing">
+<description>
+Sets the ::column-spacing property which specifies the space
+which is inserted between the columns of the icon view.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+<parameter name="column_spacing">
+<parameter_description> the column spacing
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_chooser_get_select_multiple">
+<description>
+Gets whether @chooser can select multiple items.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @chooser can select more than one item.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_print_settings_set_page_set">
+<description>
+Sets the value of %GTK_PRINT_SETTINGS_PAGE_SET.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="page_set">
+<parameter_description> a #GtkPageSet value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_radio_menu_item_new_from_widget">
+<description>
+Creates a new #GtkRadioMenuItem adding it to the same group as @group.
+
+
+</description>
+<parameters>
+<parameter name="group">
+<parameter_description> An existing #GtkRadioMenuItem
+</parameter_description>
+</parameter>
+</parameters>
+<return> The new #GtkRadioMenuItem
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_action_get_proxies">
+<description>
+Return value: a #GSList of proxy widgets. The list is owned by GTK+
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GSList of proxy widgets. The list is owned by GTK+
+and must not be modified.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tree_view_column_new">
+<description>
+Creates a new #GtkTreeViewColumn.
+
+
+</description>
+<parameters>
+</parameters>
+<return> A newly created #GtkTreeViewColumn.
+</return>
+</function>
+
+<function name="gtk_window_list_toplevels">
+<description>
+Return value: list of toplevel widgets
+
+</description>
+<parameters>
+</parameters>
+<return> list of toplevel widgets
+</return>
+</function>
+
+<function name="gtk_clipboard_wait_is_image_available">
+<description>
+Test to see if there is an image available to be pasted
+This is done by requesting the TARGETS atom and checking
+if it contains any of the supported image targets. This function
+waits for the data to be received using the main loop, so events,
+timeouts, etc, may be dispatched during the wait.
+
+This function is a little faster than calling
+gtk_clipboard_wait_for_image() since it doesn&apos;t need to retrieve
+the actual image data.
+
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE is there is an image available, %FALSE otherwise.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_text_buffer_add_mark">
+<description>
+Adds the mark at position @where. The mark must not be added to
+another buffer, and if its name is not %NULL then there must not
+be another mark in the buffer with the same name.
+
+Emits the &quot;mark_set&quot; signal as notification of the mark&apos;s initial
+placement.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="mark">
+<parameter_description> the mark to add
+</parameter_description>
+</parameter>
+<parameter name="where">
+<parameter_description> location to place mark
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_menu_item_remove_submenu">
+<description>
+Removes the widget&apos;s submenu.
+
+Deprecated: 2.12: gtk_menu_item_remove_submenu() is deprecated and
+should not be used in newly written code. Use
+gtk_menu_item_set_submenu() instead.
+
+</description>
+<parameters>
+<parameter name="menu_item">
+<parameter_description> a #GtkMenuItem
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_theme_lookup_icon">
+<description>
+Looks up a named icon and returns a structure containing
+information such as the filename of the icon. The icon
+can then be rendered into a pixbuf using
+gtk_icon_info_load_icon(). (gtk_icon_theme_load_icon()
+combines these two steps if all you need is the pixbuf.)
+
+
+</description>
+<parameters>
+<parameter name="icon_theme">
+<parameter_description> a #GtkIconTheme
+</parameter_description>
+</parameter>
+<parameter name="icon_name">
+<parameter_description> the name of the icon to lookup
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> desired icon size
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags modifying the behavior of the icon lookup
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GtkIconInfo structure containing information
+about the icon, or %NULL if the icon wasn&apos;t found. Free with
+gtk_icon_info_free()
+
+Since: 2.4
+</return>
+</function>
+
+<function name="GtkTreeModel">
+<description>
+This signal is emitted when the children of a node in the #GtkTreeModel
+have been reordered.
+
+Note that this signal is &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt; emitted
+when rows are reordered by DND, since this is implemented
+by removing and then reinserting the row.
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> the #GtkTreeModel on which the signal is emitted
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a #GtkTreePath identifying the tree node whose children
+have been reordered
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a valid #GtkTreeIter pointing to the node whose
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_forward_to_end">
+<description>
+Moves @iter forward to the &quot;end iterator,&quot; which points one past the last
+valid character in the buffer. gtk_text_iter_get_char() called on the
+end iterator returns 0, which is convenient for writing loops.
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_chooser_menu_set_show_numbers">
+<description>
+Sets whether a number should be added to the items of @menu. The
+numbers are shown to provide a unique character for a mnemonic to
+be used inside ten menu item&apos;s label. Only the first the items
+get a number to avoid clashes.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="menu">
+<parameter_description> a #GtkRecentChooserMenu
+</parameter_description>
+</parameter>
+<parameter name="show_numbers">
+<parameter_description> whether to show numbers
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_draw_polygon">
+<description>
+Draws a polygon on @window with the given parameters.
+
+Deprecated: Use gtk_paint_polygon() instead.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="points">
+<parameter_description> an array of #GdkPoint&amp;lt;!-- --&amp;gt;s
+</parameter_description>
+</parameter>
+<parameter name="npoints">
+<parameter_description> length of @points
+</parameter_description>
+</parameter>
+<parameter name="fill">
+<parameter_description> %TRUE if the polygon should be filled
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_container_child_set">
+<description>
+Sets one or more child properties for @child and @container.
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> a widget which is a child of @container
+</parameter_description>
+</parameter>
+<parameter name="first_prop_name">
+<parameter_description> the name of the first property to set
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> a %NULL-terminated list of property names and values, starting
+with @first_prop_name
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_item_factory_from_path">
+<description>
+Finds an item factory which has been constructed using the
+&amp;lt;literal&amp;gt;&quot;&amp;lt;name&amp;gt;&quot;&amp;lt;/literal&amp;gt; prefix of @path as the @path argument
+for gtk_item_factory_new().
+
+Deprecated: 2.4:
+
+</description>
+<parameters>
+<parameter name="path">
+<parameter_description> a string starting with a factory path of the form
+&amp;lt;literal&amp;gt;&quot;&amp;lt;name&amp;gt;&quot;&amp;lt;/literal&amp;gt;
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GtkItemFactory created for the given factory path, or %NULL
+</return>
+</function>
+
+<function name="gtk_tree_model_get_string_from_iter">
+<description>
+Generates a string representation of the iter. This string is a &apos;:&apos;
+separated list of numbers. For example, &quot;4:10:0:3&quot; would be an
+acceptable return value for this string.
+
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> An #GtkTreeIter.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly-allocated string. Must be freed with g_free().
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_file_chooser_remove_shortcut_folder">
+<description>
+Removes a folder from a file chooser&apos;s list of shortcut folders.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="folder">
+<parameter_description> filename of the folder to remove
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the operation succeeds, %FALSE otherwise.
+In the latter case, the @error will be set as appropriate.
+
+See also: gtk_file_chooser_add_shortcut_folder()
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_icon_view_get_path_at_pos">
+<description>
+Finds the path at the point (@x, @y), relative to bin_window coordinates.
+See gtk_icon_view_get_item_at_pos(), if you are also interested in
+the cell at the specified position.
+See gtk_icon_view_convert_widget_to_bin_window_coords() for converting
+widget coordinates to bin_window coordinates.
+
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView.
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> The x position to be identified
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> The y position to be identified
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GtkTreePath corresponding to the icon or %NULL
+if no icon exists at that position.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="_gtk_im_module_get_default_context_id">
+<description>
+Return the context_id of the best IM context type
+for the given locale ID.
+
+
+</description>
+<parameters>
+<parameter name="locale">
+<parameter_description> a locale id in the form &apos;en_US&apos;
+</parameter_description>
+</parameter>
+</parameters>
+<return> the context ID (will never be %NULL)
+the value is newly allocated and must be freed
+with g_free().
+</return>
+</function>
+
+<function name="gtk_widget_get_pango_context">
+<description>
+Gets a #PangoContext with the appropriate font map, font description,
+and base direction for this widget. Unlike the context returned
+by gtk_widget_create_pango_context(), this context is owned by
+the widget (it can be used until the screen for the widget changes
+or the widget is removed from its toplevel), and will be updated to
+match any changes to the widget&apos;s attributes.
+
+If you create and keep a #PangoLayout using this context, you must
+deal with changes to the context by calling pango_layout_context_changed()
+on the layout in response to the #GtkWidget::style-set and
+#GtkWidget::direction-changed signals for the widget.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #PangoContext for the widget.
+</return>
+</function>
+
+<function name="gtk_menu_get_title">
+<description>
+Return value: the title of the menu, or %NULL if the menu has no
+
+</description>
+<parameters>
+<parameter name="menu">
+<parameter_description> a #GtkMenu
+</parameter_description>
+</parameter>
+</parameters>
+<return> the title of the menu, or %NULL if the menu has no
+title set on it. This string is owned by the widget and should
+not be modified or freed.
+</return>
+</function>
+
+<function name="gtk_clipboard_request_text">
+<description>
+Requests the contents of the clipboard as text. When the text is
+later received, it will be converted to UTF-8 if necessary, and
+@callback will be called.
+
+The @text parameter to @callback will contain the resulting text if
+the request succeeded, or %NULL if it failed. This could happen for
+various reasons, in particular if the clipboard was empty or if the
+contents of the clipboard could not be converted into text form.
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> a function to call when the text is received,
+or the retrieval fails. (It will always be called
+one way or the other.)
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data to pass to @callback.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_cell_get_position">
+<description>
+Obtains the horizontal position and size of a cell in a column. If the
+cell is not found in the column, @start_pos and @width are not changed and
+%FALSE is returned.
+
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> a #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+<parameter name="cell_renderer">
+<parameter_description> a #GtkCellRenderer
+</parameter_description>
+</parameter>
+<parameter name="start_pos">
+<parameter_description> return location for the horizontal position of @cell within
+@tree_column, may be %NULL
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> return location for the width of @cell, may be %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @cell belongs to @tree_column.
+</return>
+</function>
+
+<function name="gtk_status_icon_position_menu">
+<description>
+Menu positioning function to use with gtk_menu_popup()
+to position @menu aligned to the status icon @user_data.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="menu">
+<parameter_description> the #GtkMenu
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> return location for the x position
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> return location for the y position
+</parameter_description>
+</parameter>
+<parameter name="push_in">
+<parameter_description> whether the first menu item should be offset (pushed in) to be
+aligned with the menu popup position (only useful for GtkOptionMenu).
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> the status icon to position the menu on
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_set_alignment">
+<description>
+Sets the alignment for the contents of the entry. This controls
+the horizontal positioning of the contents when the displayed
+text is shorter than the width of the entry.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+<parameter name="xalign">
+<parameter_description> The horizontal alignment, from 0 (left) to 1 (right).
+Reversed for RTL layouts
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_forward_to_line_end">
+<description>
+Moves the iterator to point to the paragraph delimiter characters,
+which will be either a newline, a carriage return, a carriage
+return/newline in sequence, or the Unicode paragraph separator
+character. If the iterator is already at the paragraph delimiter
+characters, moves to the paragraph delimiter characters for the
+next line. If @iter is on the last line in the buffer, which does
+not end in paragraph delimiters, moves to the end iterator (end of
+the last line), and returns %FALSE.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if we moved and the new location is not the end iterator
+</return>
+</function>
+
+<function name="gtk_cell_renderer_render">
+<description>
+Invokes the virtual render function of the #GtkCellRenderer. The three
+passed-in rectangles are areas of @window. Most renderers will draw within
+@cell_area; the xalign, yalign, xpad, and ypad fields of the #GtkCellRenderer
+should be honored with respect to @cell_area. @background_area includes the
+blank space around the cell, and also the area containing the tree expander;
+so the @background_area rectangles for all cells tile to cover the entire
+@window. @expose_area is a clip rectangle.
+
+</description>
+<parameters>
+<parameter name="cell">
+<parameter_description> a #GtkCellRenderer
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkDrawable to draw to
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget owning @window
+</parameter_description>
+</parameter>
+<parameter name="background_area">
+<parameter_description> entire cell area (including tree expanders and maybe
+padding on the sides)
+</parameter_description>
+</parameter>
+<parameter name="cell_area">
+<parameter_description> area normally rendered by a cell renderer
+</parameter_description>
+</parameter>
+<parameter name="expose_area">
+<parameter_description> area that actually needs updating
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags that affect rendering
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_file_chooser_entry_get_current_folder">
+<description>
+Gets the current folder for the #GtkFileChooserEntry. If the
+user has only entered a filename, this will be the base folder
+(see _gtk_file_chooser_entry_set_base_folder()), but if the
+user has entered a relative or absolute path, then it will
+be different. If the user has entered a relative or absolute
+path that doesn&apos;t point to a folder in the file system, it will
+be %NULL.
+
+
+</description>
+<parameters>
+<parameter name="chooser_entry">
+<parameter_description> a #GtkFileChooserEntry
+</parameter_description>
+</parameter>
+</parameters>
+<return> the path of current folder - this value is owned by the
+chooser entry and must not be modified or freed.
+</return>
+</function>
+
+<function name="gtk_event_box_get_above_child">
+<description>
+Return value: %TRUE if the event box window is above the window
+
+</description>
+<parameters>
+<parameter name="event_box">
+<parameter_description> a #GtkEventBox
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the event box window is above the window
+of its child.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_menu_set_monitor">
+<description>
+Informs GTK+ on which monitor a menu should be popped up.
+See gdk_screen_get_monitor_geometry().
+
+This function should be called from a #GtkMenuPositionFunc if the
+menu should not appear on the same monitor as the pointer. This
+information can&apos;t be reliably inferred from the coordinates returned
+by a #GtkMenuPositionFunc, since, for very long menus, these coordinates
+may extend beyond the monitor boundaries or even the screen boundaries.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="menu">
+<parameter_description> a #GtkMenu
+</parameter_description>
+</parameter>
+<parameter name="monitor_num">
+<parameter_description> the number of the monitor on which the menu should
+be popped up
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkCellRenderer">
+<description>
+This signal gets emitted when a cell starts to be edited.
+The indended use of this signal is to do special setup
+on @editable, e.g. adding a #GtkEntryCompletion or setting
+up additional columns in a #GtkComboBox.
+
+Note that GTK+ doesn&apos;t guarantee that cell renderers will
+continue to use the same kind of widget for editing in future
+releases, therefore you should check the type of @editable
+before doing any specific setup, as in the following example:
+
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+static void
+text_editing_started (GtkCellRenderer *cell,
+GtkCellEditable *editable,
+const gchar *path,
+gpointer data)
+{
+if (GTK_IS_ENTRY (editable))
+{
+GtkEntry *entry = GTK_ENTRY (editable);
+&amp;lt;!-- --&amp;gt;
+/&amp;lt;!-- --&amp;gt;* ... create a GtkEntryCompletion *&amp;lt;!-- --&amp;gt;/
+&amp;lt;!-- --&amp;gt;
+gtk_entry_set_completion (entry, completion);
+}
+}
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="renderer">
+<parameter_description> the object which received the signal
+</parameter_description>
+</parameter>
+<parameter name="editable">
+<parameter_description> the #GtkCellEditable
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> the path identifying the edited cell
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_radio_action_set_current_value">
+<description>
+Sets the currently active group member to the member with value
+property @current_value.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> a #GtkRadioAction
+</parameter_description>
+</parameter>
+<parameter name="current_value">
+<parameter_description> the new value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_image_menu_item_get_image">
+<description>
+Gets the widget that is currently set as the image of @image_menu_item.
+See gtk_image_menu_item_set_image().
+
+</description>
+<parameters>
+<parameter name="image_menu_item">
+<parameter_description> a #GtkImageMenuItem.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the widget set as image of @image_menu_item.
+</return>
+</function>
+
+<function name="gtk_menu_shell_set_take_focus">
+<description>
+If @take_focus is %TRUE (the default) the menu shell will take the keyboard
+focus so that it will receive all keyboard events which is needed to enable
+keyboard navigation in menus.
+
+Setting @take_focus to %FALSE is useful only for special applications
+like virtual keyboard implementations which should not take keyboard
+focus.
+
+The @take_focus state of a menu or menu bar is automatically propagated
+to submenus whenever a submenu is popped up, so you don&apos;t have to worry
+about recursively setting it for your entire menu hierarchy. Only when
+programmatically picking a submenu and popping it up manually, the
+@take_focus property of the submenu needs to be set explicitely.
+
+Note that setting it to %FALSE has side-effects:
+
+If the focus is in some other app, it keeps the focus and keynav in
+the menu doesn&apos;t work. Consequently, keynav on the menu will only
+work if the focus is on some toplevel owned by the onscreen keyboard.
+
+To avoid confusing the user, menus with @take_focus set to %FALSE
+should not display mnemonics or accelerators, since it cannot be
+guaranteed that they will work.
+
+See also gdk_keyboard_grab()
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="menu_shell">
+<parameter_description> a #GtkMenuShell
+</parameter_description>
+</parameter>
+<parameter name="take_focus">
+<parameter_description> %TRUE if the menu shell should take the keyboard focus on popup.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_set_filter">
+<description>
+Sets the current filter; only the files that pass the
+filter will be displayed. If the user-selectable list of filters
+is non-empty, then the filter should be one of the filters
+in that list. Setting the current filter when the list of
+filters is empty is useful if you want to restrict the displayed
+set of files without letting the user change it.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="filter">
+<parameter_description> a #GtkFileFilter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_set_do_overwrite_confirmation">
+<description>
+Sets whether a file chooser in GTK_FILE_CHOOSER_ACTION_SAVE mode will present
+a confirmation dialog if the user types a file name that already exists. This
+is %FALSE by default.
+
+Regardless of this setting, the @chooser will emit the &quot;confirm-overwrite&quot;
+signal when appropriate.
+
+If all you need is the stock confirmation dialog, set this property to %TRUE.
+You can override the way confirmation is done by actually handling the
+&quot;confirm-overwrite&quot; signal; please refer to its documentation for the
+details.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="do_overwrite_confirmation">
+<parameter_description> whether to confirm overwriting in save mode
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_rc_get_style_by_paths">
+<description>
+Creates up a #GtkStyle from styles defined in a RC file by providing
+the raw components used in matching. This function may be useful
+when creating pseudo-widgets that should be themed like widgets but
+don&apos;t actually have corresponding GTK+ widgets. An example of this
+would be items inside a GNOME canvas widget.
+
+The action of gtk_rc_get_style() is similar to:
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+gtk_widget_path (widget, NULL, &amp;amp;path, NULL);
+gtk_widget_class_path (widget, NULL, &amp;amp;class_path, NULL);
+gtk_rc_get_style_by_paths (gtk_widget_get_settings (widget), path, class_path,
+G_OBJECT_TYPE (widget));
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkSettings object
+</parameter_description>
+</parameter>
+<parameter name="widget_path">
+<parameter_description> the widget path to use when looking up the style, or %NULL
+if no matching against the widget path should be done
+</parameter_description>
+</parameter>
+<parameter name="class_path">
+<parameter_description> the class path to use when looking up the style, or %NULL
+if no matching against the class path should be done.
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> a type that will be used along with parent types of this type
+when matching against class styles, or #G_TYPE_NONE
+</parameter_description>
+</parameter>
+</parameters>
+<return> A style created by matching with the supplied paths,
+or %NULL if nothing matching was specified and the default style should
+be used. The returned value is owned by GTK+ as part of an internal cache,
+so you must call g_object_ref() on the returned value if you want to
+keep a reference to it.
+</return>
+</function>
+
+<function name="gtk_file_chooser_unselect_all">
+<description>
+Unselects all the files in the current folder of a file chooser.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_assistant_get_page_complete">
+<description>
+Gets whether @page is complete..
+
+
+</description>
+<parameters>
+<parameter name="assistant">
+<parameter_description> a #GtkAssistant
+</parameter_description>
+</parameter>
+<parameter name="page">
+<parameter_description> a page of @assistant
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @page is complete.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_spin_button_set_range">
+<description>
+Sets the minimum and maximum allowable values for @spin_button
+
+</description>
+<parameters>
+<parameter name="spin_button">
+<parameter_description> a #GtkSpinButton
+</parameter_description>
+</parameter>
+<parameter name="min">
+<parameter_description> minimum allowable value
+</parameter_description>
+</parameter>
+<parameter name="max">
+<parameter_description> maximum allowable value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_get_visible_line_offset">
+<description>
+Return value: offset in visible characters from the start of the line
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> offset in visible characters from the start of the line
+</return>
+</function>
+
+<function name="gtk_icon_theme_get_search_path">
+<description>
+Gets the current search path. See gtk_icon_theme_set_search_path().
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="icon_theme">
+<parameter_description> a #GtkIconTheme
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> location to store a list of icon theme path directories or %NULL
+The stored value should be freed with g_strfreev().
+</parameter_description>
+</parameter>
+<parameter name="n_elements">
+<parameter_description> location to store number of elements
+in @path, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_message_dialog_new_with_markup">
+<description>
+Creates a new message dialog, which is a simple dialog with an icon
+indicating the dialog type (error, warning, etc.) and some text which
+is marked up with the &amp;lt;link linkend=&quot;PangoMarkupFormat&quot;&amp;gt;Pango text markup language&amp;lt;/link&amp;gt;.
+When the user clicks a button a &quot;response&quot; signal is emitted with
+response IDs from #GtkResponseType. See #GtkDialog for more details.
+
+Special XML characters in the printf() arguments passed to this
+function will automatically be escaped as necessary.
+(See g_markup_printf_escaped() for how this is implemented.)
+Usually this is what you want, but if you have an existing
+Pango markup string that you want to use literally as the
+label, then you need to use gtk_message_dialog_set_markup()
+instead, since you can&apos;t pass the markup string either
+as the format (it might contain &apos;%&apos; characters) or as a string
+argument.
+
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+GtkWidget *dialog;
+dialog = gtk_message_dialog_new (main_application_window,
+GTK_DIALOG_DESTROY_WITH_PARENT,
+GTK_MESSAGE_ERROR,
+GTK_BUTTONS_CLOSE,
+NULL);
+gtk_message_dialog_set_markup (GTK_MESSAGE_DIALOG (dialog),
+markup);
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+
+</description>
+<parameters>
+<parameter name="parent">
+<parameter_description> transient parent, or %NULL for none
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> type of message
+</parameter_description>
+</parameter>
+<parameter name="buttons">
+<parameter_description> set of buttons to use
+</parameter_description>
+</parameter>
+<parameter name="message_format">
+<parameter_description> printf()-style format string, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> arguments for @message_format
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkMessageDialog
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tree_model_filter_set_visible_column">
+<description>
+Sets @column of the child_model to be the column where @filter should
+look for visibility information. @columns should be a column of type
+%G_TYPE_BOOLEAN, where %TRUE means that a row is visible, and %FALSE
+if not.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> A #GtkTreeModelFilter.
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> A #gint which is the column containing the visible information.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_set_vadjustment">
+<description>
+Sets the #GtkAdjustment for the current vertical aspect.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="adjustment">
+<parameter_description> The #GtkAdjustment to set, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_set_extra_widget">
+<description>
+Sets an application-supplied widget to provide extra options to the user.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="extra_widget">
+<parameter_description> widget for extra options
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_get_pixels_inside_wrap">
+<description>
+Gets the value set by gtk_text_view_set_pixels_inside_wrap().
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+</parameters>
+<return> default number of pixels of blank space between wrapped lines
+</return>
+</function>
+
+<function name="gtk_action_group_add_actions">
+<description>
+This is a convenience function to create a number of actions and add them
+to the action group.
+
+The &quot;activate&quot; signals of the actions are connected to the callbacks and
+their accel paths are set to
+&amp;lt;literal&amp;gt;&amp;lt;Actions&amp;gt;/&amp;lt;replaceable&amp;gt;group-name&amp;lt;/replaceable&amp;gt;/&amp;lt;replaceable&amp;gt;action-name&amp;lt;/replaceable&amp;gt;&amp;lt;/literal&amp;gt;.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action_group">
+<parameter_description> the action group
+</parameter_description>
+</parameter>
+<parameter name="entries">
+<parameter_description> an array of action descriptions
+</parameter_description>
+</parameter>
+<parameter name="n_entries">
+<parameter_description> the number of entries
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> data to pass to the action callbacks
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_accel_map_foreach">
+<description>
+Loops over the entries in the accelerator map whose accel path
+doesn&apos;t match any of the filters added with gtk_accel_map_add_filter(),
+and execute @foreach_func on each. The signature of @foreach_func is
+that of #GtkAccelMapForeach, the @changed parameter indicates whether
+this accelerator was changed during runtime (thus, would need
+saving during an accelerator map dump).
+
+</description>
+<parameters>
+<parameter name="data">
+<parameter_description> data to be passed into @foreach_func
+</parameter_description>
+</parameter>
+<parameter name="foreach_func">
+<parameter_description> function to be executed for each accel map entry which
+is not filtered out
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_get_lc_ctype">
+<description>
+Return the Unix-style locale string for the language currently in
+effect. On Unix systems, this is the return value from
+&amp;lt;literal&amp;gt;setlocale(LC_CTYPE, NULL)&amp;lt;/literal&amp;gt;, and the user can
+affect this through the environment variables LC_ALL, LC_CTYPE or
+LANG (checked in that order). The locale strings typically is in
+the form lang_COUNTRY, where lang is an ISO-639 language code, and
+COUNTRY is an ISO-3166 country code. For instance, sv_FI for
+Swedish as written in Finland or pt_BR for Portuguese as written in
+Brazil.
+
+On Windows, the C library doesn&apos;t use any such environment
+variables, and setting them won&apos;t affect the behaviour of functions
+like ctime(). The user sets the locale through the Regional Options
+in the Control Panel. The C library (in the setlocale() function)
+does not use country and language codes, but country and language
+names spelled out in English.
+However, this function does check the above environment
+variables, and does return a Unix-style locale string based on
+either said environment variables or the thread&apos;s current locale.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a dynamically allocated string, free with g_free().
+</return>
+</function>
+
+<function name="gtk_icon_set_render_icon">
+<description>
+Renders an icon using gtk_style_render_icon(). In most cases,
+gtk_widget_render_icon() is better, since it automatically provides
+most of the arguments from the current widget settings. This
+function never returns %NULL; if the icon can&apos;t be rendered
+(perhaps because an image file fails to load), a default &quot;missing
+image&quot; icon will be returned instead.
+
+
+</description>
+<parameters>
+<parameter name="icon_set">
+<parameter_description> a #GtkIconSet
+</parameter_description>
+</parameter>
+<parameter name="style">
+<parameter_description> a #GtkStyle associated with @widget, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="direction">
+<parameter_description> text direction
+</parameter_description>
+</parameter>
+<parameter name="state">
+<parameter_description> widget state
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> icon size. A size of (GtkIconSize)-1
+means render at the size of the source and don&apos;t scale.
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> widget that will display the icon, or %NULL.
+The only use that is typically made of this
+is to determine the appropriate #GdkScreen.
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> detail to pass to the theme engine, or %NULL.
+Note that passing a detail of anything but %NULL
+will disable caching.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GdkPixbuf to be displayed
+</return>
+</function>
+
+<function name="gtk_tree_row_reference_free">
+<description>
+Free&apos;s @reference. @reference may be %NULL.
+
+</description>
+<parameters>
+<parameter name="reference">
+<parameter_description> A #GtkTreeRowReference, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_font_selection_dialog_get_font_name">
+<description>
+Gets the currently-selected font name. Note that this can be a different
+string than what you set with gtk_font_selection_dialog_set_font_name(), as
+the font selection widget may normalize font names and thus return a string
+with a different structure. For example, &quot;Helvetica Italic Bold 12&quot; could be
+normalized to &quot;Helvetica Bold Italic 12&quot;. Use pango_font_description_equal()
+if you want to compare two font descriptions.
+
+
+</description>
+<parameters>
+<parameter name="fsd">
+<parameter_description> a #GtkFontSelectionDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> A string with the name of the current font, or #NULL if no font
+is selected. You must free this string with g_free().
+</return>
+</function>
+
+<function name="gtk_cell_view_set_background_color">
+<description>
+Sets the background color of @view.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="cell_view">
+<parameter_description> a #GtkCellView
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> the new background color
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_container_class_find_child_property">
+<description>
+Finds a child property of a container class by name.
+
+</description>
+<parameters>
+<parameter name="cclass">
+<parameter_description> a #GtkContainerClass
+</parameter_description>
+</parameter>
+<parameter name="property_name">
+<parameter_description> the name of the child property to find
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GParamSpec of the child property or %NULL if @class has no
+child property with that name.
+</return>
+</function>
+
+<function name="GtkRuler">
+<description>
+The metric used for the ruler.
+
+Since: 2.8
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_get_char_count">
+<description>
+Gets the number of characters in the buffer; note that characters
+and bytes are not the same, you can&apos;t e.g. expect the contents of
+the buffer in string form to be this many bytes long. The character
+count is cached, so this function is very fast.
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> number of characters in the buffer
+</return>
+</function>
+
+<function name="gtk_file_chooser_list_shortcut_folder_uris">
+<description>
+Queries the list of shortcut folders in the file chooser, as set by
+gtk_file_chooser_add_shortcut_folder_uri().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> A list of folder URIs, or %NULL if there are no shortcut
+folders. Free the returned list with g_slist_free(), and the URIs with
+g_free().
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_layout_get_size">
+<description>
+Gets the size that has been set on the layout, and that determines
+the total extents of the layout&apos;s scrollbar area. See
+gtk_layout_set_size ().
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkLayout
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> location to store the width set on @layout, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> location to store the height set on @layout, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_get_expand">
+<description>
+Return %TRUE if the column expands to take any available space.
+
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> a #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE, if the column expands
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_cell_renderer_combo_new">
+<description>
+Creates a new #GtkCellRendererCombo.
+Adjust how text is drawn using object properties.
+Object properties can be set globally (with g_object_set()).
+Also, with #GtkTreeViewColumn, you can bind a property to a value
+in a #GtkTreeModel. For example, you can bind the &quot;text&quot; property
+on the cell renderer to a string value in the model, thus rendering
+a different string in each row of the #GtkTreeView.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the new cell renderer
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_text_buffer_get_iter_at_line_offset">
+<description>
+Obtains an iterator pointing to @char_offset within the given
+line. The @char_offset must exist, offsets off the end of the line
+are not allowed. Note &amp;lt;emphasis&amp;gt;characters&amp;lt;/emphasis&amp;gt;, not bytes;
+UTF-8 may encode one character as multiple bytes.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> iterator to initialize
+</parameter_description>
+</parameter>
+<parameter name="line_number">
+<parameter_description> line number counting from 0
+</parameter_description>
+</parameter>
+<parameter name="char_offset">
+<parameter_description> char offset from start of line
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_backward_cursor_position">
+<description>
+Like gtk_text_iter_forward_cursor_position(), but moves backward.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if we moved
+</return>
+</function>
+
+<function name="gtk_page_setup_get_right_margin">
+<description>
+Gets the right margin in units of @unit.
+
+
+</description>
+<parameters>
+<parameter name="setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the unit for the return value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the right margin
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_file_system_volume_render_icon">
+<description>
+Renders an icon suitable for a file #GtkFileSystemVolume.
+
+
+</description>
+<parameters>
+<parameter name="file_system">
+<parameter_description> a #GtkFileSystem
+</parameter_description>
+</parameter>
+<parameter name="volume">
+<parameter_description> a #GtkFileSystemVolume
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> Reference widget to render icons.
+</parameter_description>
+</parameter>
+<parameter name="pixel_size">
+<parameter_description> Size of the icon.
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> A #GdkPixbuf containing an icon, or NULL if the icon could not
+be rendered. In the latter case, the @error value will be set as
+appropriate.
+</return>
+</function>
+
+<function name="gtk_print_context_get_height">
+<description>
+Obtains the height of the #GtkPrintContext, in pixels.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkPrintContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> the height of @context
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_toggle_tool_button_set_active">
+<description>
+Sets the status of the toggle tool button. Set to %TRUE if you
+want the GtkToggleButton to be &apos;pressed in&apos;, and %FALSE to raise it.
+This action causes the toggled signal to be emitted.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkToggleToolButton
+</parameter_description>
+</parameter>
+<parameter name="is_active">
+<parameter_description> whether @button should be active
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_factory_add">
+<description>
+Adds the given @icon_set to the icon factory, under the name
+@stock_id. @stock_id should be namespaced for your application,
+e.g. &quot;myapp-whatever-icon&quot;. Normally applications create a
+#GtkIconFactory, then add it to the list of default factories with
+gtk_icon_factory_add_default(). Then they pass the @stock_id to
+widgets such as #GtkImage to display the icon. Themes can provide
+an icon with the same name (such as &quot;myapp-whatever-icon&quot;) to
+override your application&apos;s default icons. If an icon already
+existed in @factory for @stock_id, it is unreferenced and replaced
+with the new @icon_set.
+
+
+</description>
+<parameters>
+<parameter name="factory">
+<parameter_description> a #GtkIconFactory
+</parameter_description>
+</parameter>
+<parameter name="stock_id">
+<parameter_description> icon name
+</parameter_description>
+</parameter>
+<parameter name="icon_set">
+<parameter_description> icon set
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_view_get_pixbuf_column">
+<description>
+Returns: the pixbuf column, or -1 if it&apos;s unset.
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the pixbuf column, or -1 if it&apos;s unset.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_recent_manager_add_full">
+<description>
+Adds a new resource, pointed by @uri, into the recently used
+resources list, using the metadata specified inside the #GtkRecentData
+structure passed in @recent_data.
+
+The passed URI will be used to identify this resource inside the
+list.
+
+In order to register the new recently used resource, metadata about
+the resource must be passed as well as the URI; the metadata is
+stored in a #GtkRecentData structure, which must contain the MIME
+type of the resource pointed by the URI; the name of the application
+that is registering the item, and a command line to be used when
+launching the item.
+
+Optionally, a #GtkRecentData structure might contain a UTF-8 string
+to be used when viewing the item instead of the last component of the
+URI; a short description of the item; whether the item should be
+considered private - that is, should be displayed only by the
+applications that have registered it.
+
+
+</description>
+<parameters>
+<parameter name="manager">
+<parameter_description> a #GtkRecentManager
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="recent_data">
+<parameter_description> metadata of the resource
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the new item was successfully added to the
+recently used resources list, %FALSE otherwise.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_range_set_restrict_to_fill_level">
+<description>
+Sets whether the slider is restricted to the fill level. See
+gtk_range_set_fill_level() for a general description of the fill
+level concept.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="range">
+<parameter_description> A #GtkRange
+</parameter_description>
+</parameter>
+<parameter name="restrict_to_fill_level">
+<parameter_description> Whether the fill level restricts slider movement.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_selection_get_selected">
+<description>
+Sets @iter to the currently selected node if @selection is set to
+#GTK_SELECTION_SINGLE or #GTK_SELECTION_BROWSE. @iter may be NULL if you
+just want to test if @selection has any selected nodes. @model is filled
+with the current model as a convenience. This function will not work if you
+use @selection is #GTK_SELECTION_MULTIPLE.
+
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> A #GtkTreeSelection.
+</parameter_description>
+</parameter>
+<parameter name="model">
+<parameter_description> A pointer to set to the #GtkTreeModel, or NULL.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> The #GtkTreeIter, or NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE, if there is a selected node.
+</return>
+</function>
+
+<function name="gtk_toggle_tool_button_get_active">
+<description>
+Queries a #GtkToggleToolButton and returns its current state.
+Return value: %TRUE if the toggle tool button is pressed in, %FALSE if not
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkToggleToolButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the toggle tool button is pressed in, %FALSE if not
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_page_setup_to_key_file">
+<description>
+This function adds the page setup from @setup to @key_file.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+<parameter name="key_file">
+<parameter_description> the #GKeyFile to save the page setup to
+</parameter_description>
+</parameter>
+<parameter name="group_name">
+<parameter_description> the group to add the settings to in @key_file,
+or %NULL to use the default name &quot;Page Setup&quot;
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_accessible_connect_widget_destroyed">
+<description>
+This function specifies the callback function to be called when the widget
+corresponding to a GtkAccessible is destroyed.
+
+</description>
+<parameters>
+<parameter name="accessible">
+<parameter_description> a #GtkAccessible
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_operation_get_error">
+<description>
+Call this when the result of a print operation is
+%GTK_PRINT_OPERATION_RESULT_ERROR, either as returned by
+gtk_print_operation_run(), or in the #GtkPrintOperation::done signal
+handler. The returned #GError will contain more details on what went wrong.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="op">
+<parameter_description> a #GtkPrintOperation
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for the error
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_set_quality">
+<description>
+Sets the value of %GTK_PRINT_SETTINGS_QUALITY.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="quality">
+<parameter_description> a #GtkPrintQuality value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_get_cursor_hadjustment">
+<description>
+Retrieves the horizontal cursor adjustment for the entry.
+See gtk_entry_set_cursor_hadjustment().
+
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+</parameters>
+<return> the horizontal cursor adjustment, or %NULL
+if none has been set.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_tree_model_get_path">
+<description>
+Return value: a newly-created #GtkTreePath.
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> The #GtkTreeIter.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-created #GtkTreePath.
+</return>
+</function>
+
+<function name="gtk_text_iter_get_offset">
+<description>
+Return value: a character offset
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> a character offset
+</return>
+</function>
+
+<function name="gtk_print_settings_to_key_file">
+<description>
+This function adds the print settings from @settings to @key_file.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="key_file">
+<parameter_description> the #GKeyFile to save the print settings to
+</parameter_description>
+</parameter>
+<parameter name="group_name">
+<parameter_description> the group to add the settings to in @key_file, or
+%NULL to use the default &quot;Print Settings&quot;
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_statusbar_set_has_resize_grip">
+<description>
+Sets whether the statusbar has a resize grip.
+%TRUE by default.
+
+</description>
+<parameters>
+<parameter name="statusbar">
+<parameter_description> a #GtkStatusBar
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> %TRUE to have a resize grip
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_assistant_remove_action_widget">
+<description>
+Removes a widget from the action area of a #GtkAssistant.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="assistant">
+<parameter_description> a #GtkAssistant
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_action_group_new">
+<description>
+Creates a new #GtkActionGroup object. The name of the action group
+is used when associating &amp;lt;link linkend=&quot;Action-Accel&quot;&amp;gt;keybindings&amp;lt;/link&amp;gt;
+with the actions.
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> the name of the action group.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GtkActionGroup
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_text_buffer_get_selection_bound">
+<description>
+Return value: selection bound mark
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> selection bound mark
+</return>
+</function>
+
+<function name="gtk_toolbar_set_tooltips">
+<description>
+Sets if the tooltips of a toolbar should be active or not.
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar.
+</parameter_description>
+</parameter>
+<parameter name="enable">
+<parameter_description> set to %FALSE to disable the tooltips, or %TRUE to enable them.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_copy">
+<description>
+Creates a dynamically-allocated copy of an iterator. This function
+is not useful in applications, because iterators can be copied with a
+simple assignment (&amp;lt;literal&amp;gt;GtkTextIter i = j;&amp;lt;/literal&amp;gt;). The
+function is used by language bindings.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> a copy of the @iter, free with gtk_text_iter_free ()
+</return>
+</function>
+
+<function name="gtk_print_settings_get_double">
+<description>
+Return value: the double value of @key
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+</parameters>
+<return> the double value of @key
+
+Since: 2.10
+</return>
+</function>
+
+<function name="_gtk_socket_add_window">
+<description>
+@socket: a #GtkSocket
+@xid: the native identifier for a window
+@need_reparent: whether the socket&apos;s plug&apos;s window needs to be
+reparented to the socket
+
+Adds a window to a GtkSocket.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_item_factory_path_from_widget">
+<description>
+If @widget has been created by an item factory, returns the full path
+to it. (The full path of a widget is the concatenation of the factory
+path specified in gtk_item_factory_new() with the path specified in the
+#GtkItemFactoryEntry from which the widget was created.)
+
+Deprecated: 2.4:
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a widget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the full path to @widget if it has been created by an item
+factory, %NULL otherwise. This value is owned by GTK+ and must not be
+modified or freed.
+</return>
+</function>
+
+<function name="gtk_window_get_title">
+<description>
+Retrieves the title of the window. See gtk_window_set_title().
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> the title of the window, or %NULL if none has
+been set explicitely. The returned string is owned by the widget
+and must not be modified or freed.
+</return>
+</function>
+
+<function name="gtk_tool_button_get_stock_id">
+<description>
+Return value: the name of the stock item for @button.
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkToolButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> the name of the stock item for @button.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_window_set_resizable">
+<description>
+Sets whether the user can resize a window. Windows are user resizable
+by default.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="resizable">
+<parameter_description> %TRUE if the user can resize this window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_get_skip_pager_hint">
+<description>
+Gets the value set by gtk_window_set_skip_pager_hint().
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if window shouldn&apos;t be in pager
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_window_get_size">
+<description>
+Obtains the current size of @window. If @window is not onscreen,
+it returns the size GTK+ will suggest to the &amp;lt;link
+linkend=&quot;gtk-X11-arch&quot;&amp;gt;window manager&amp;lt;/link&amp;gt; for the initial window
+size (but this is not reliably the same as the size the window
+manager will actually select). The size obtained by
+gtk_window_get_size() is the last size received in a
+#GdkEventConfigure, that is, GTK+ uses its locally-stored size,
+rather than querying the X server for the size. As a result, if you
+call gtk_window_resize() then immediately call
+gtk_window_get_size(), the size won&apos;t have taken effect yet. After
+the window manager processes the resize request, GTK+ receives
+notification that the size has changed via a configure event, and
+the size of the window gets updated.
+
+Note 1: Nearly any use of this function creates a race condition,
+because the size of the window may change between the time that you
+get the size and the time that you perform some action assuming
+that size is the current size. To avoid race conditions, connect to
+&quot;configure_event&quot; on the window and adjust your size-dependent
+state to match the size delivered in the #GdkEventConfigure.
+
+Note 2: The returned size does &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt; include the
+size of the window manager decorations (aka the window frame or
+border). Those are not drawn by GTK+ and GTK+ has no reliable
+method of determining their size.
+
+Note 3: If you are getting a window size in order to position
+the window onscreen, there may be a better way. The preferred
+way is to simply set the window&apos;s semantic type with
+gtk_window_set_type_hint(), which allows the window manager to
+e.g. center dialogs. Also, if you set the transient parent of
+dialogs with gtk_window_set_transient_for() window managers
+will often center the dialog over its parent window. It&apos;s
+much preferred to let the window manager handle these
+things rather than doing it yourself, because all apps will
+behave consistently and according to user prefs if the window
+manager handles it. Also, the window manager can take the size
+of the window decorations/border into account, while your
+application cannot.
+
+In any case, if you insist on application-specified window
+positioning, there&apos;s &amp;lt;emphasis&amp;gt;still&amp;lt;/emphasis&amp;gt; a better way than
+doing it yourself - gtk_window_set_position() will frequently
+handle the details for you.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> return location for width, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> return location for height, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_action_group_get_visible">
+<description>
+Return value: %TRUE if the group is visible.
+
+</description>
+<parameters>
+<parameter name="action_group">
+<parameter_description> the action group
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the group is visible.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_im_context_reset">
+<description>
+Notify the input method that a change such as a change in cursor
+position has been made. This will typically cause the input
+method to clear the preedit state.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkIMContext
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_backward_visible_cursor_position">
+<description>
+Moves @iter forward to the previous visible cursor position. See
+gtk_text_iter_backward_cursor_position() for details.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if we moved and the new position is dereferenceable
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_spin_button_get_value_as_int">
+<description>
+Get the value @spin_button represented as an integer.
+
+
+</description>
+<parameters>
+<parameter name="spin_button">
+<parameter_description> a #GtkSpinButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> the value of @spin_button
+</return>
+</function>
+
+<function name="gtk_print_job_get_printer">
+<description>
+Gets the #GtkPrinter of the print job.
+
+
+</description>
+<parameters>
+<parameter name="job">
+<parameter_description> a #GtkPrintJob
+</parameter_description>
+</parameter>
+</parameters>
+<return> the printer of @job
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_cell_view_new_with_text">
+<description>
+Creates a new #GtkCellView widget, adds a #GtkCellRendererText
+to it, and makes its show @text.
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> the text to display in the cell view
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly created #GtkCellView widget.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_layout_new">
+<description>
+Creates a new #GtkLayout. Unless you have a specific adjustment
+you&apos;d like the layout to use for scrolling, pass %NULL for
+@hadjustment and @vadjustment.
+
+
+</description>
+<parameters>
+<parameter name="hadjustment">
+<parameter_description> horizontal scroll adjustment, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="vadjustment">
+<parameter_description> vertical scroll adjustment, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkLayout
+</return>
+</function>
+
+<function name="gtk_text_mark_new">
+<description>
+Creates a text mark. Add it to a buffer using gtk_text_buffer_add_mark().
+If @name is %NULL, the mark is anonymous; otherwise, the mark can be
+retrieved by name using gtk_text_buffer_get_mark(). If a mark has left
+gravity, and text is inserted at the mark&apos;s current location, the mark
+will be moved to the left of the newly-inserted text. If the mark has
+right gravity (@left_gravity = %FALSE), the mark will end up on the
+right of newly-inserted text. The standard left-to-right cursor is a
+mark with right gravity (when you type, the cursor stays on the right
+side of the text you&apos;re typing).
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> mark name or %NULL
+</parameter_description>
+</parameter>
+<parameter name="left_gravity">
+<parameter_description> whether the mark should have left gravity
+</parameter_description>
+</parameter>
+</parameters>
+<return> new #GtkTextMark
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_icon_info_copy">
+<description>
+Make a copy of a #GtkIconInfo.
+
+
+</description>
+<parameters>
+<parameter name="icon_info">
+<parameter_description> a #GtkIconInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new GtkIconInfo
+
+Since: 2.4
+</return>
+</function>
+
+<function name="_gtk_file_chooser_entry_new">
+<description>
+Creates a new #GtkFileChooserEntry object. #GtkFileChooserEntry
+is an internal implementation widget for the GTK+ file chooser
+which is an entry with completion with respect to a
+#GtkFileSystem object.
+
+
+</description>
+<parameters>
+<parameter name="eat_tabs">
+<parameter_description> If %FALSE, allow focus navigation with the tab key.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly created #GtkFileChooserEntry
+</return>
+</function>
+
+<function name="gtk_tree_model_foreach">
+<description>
+Calls func on each node in model in a depth-first fashion.
+If @func returns %TRUE, then the tree ceases to be walked, and
+gtk_tree_model_foreach() returns.
+
+</description>
+<parameters>
+<parameter name="model">
+<parameter_description> A #GtkTreeModel
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> A function to be called on each row
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> User data to passed to func.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_expand_row">
+<description>
+Opens the row so its children are visible.
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> path to a row
+</parameter_description>
+</parameter>
+<parameter name="open_all">
+<parameter_description> whether to recursively expand, or just expand immediate children
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the row existed and had children
+</return>
+</function>
+
+<function name="gtk_text_layout_iter_starts_line">
+<description>
+Tests whether an iterator is at the start of a display line.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkTextLayout
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> iterator to test
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_pack_start">
+<description>
+Packs the @cell into the beginning of the column. If @expand is %FALSE, then
+the @cell is allocated no more space than it needs. Any unused space is divided
+evenly between cells for which @expand is %TRUE.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+<parameter name="cell">
+<parameter_description> The #GtkCellRenderer.
+</parameter_description>
+</parameter>
+<parameter name="expand">
+<parameter_description> %TRUE if @cell is to be given extra space allocated to @tree_column.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_combo_box_remove_text">
+<description>
+Removes the string at @position from @combo_box. Note that you can only use
+this function with combo boxes constructed with gtk_combo_box_new_text().
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> A #GtkComboBox constructed with gtk_combo_box_new_text()
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> Index of the item to remove
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkTextView">
+<description>
+The ::toggle-cursor-visible signal is a
+&amp;lt;link linkend=&quot;keybinding-signals&quot;&amp;gt;keybinding signal&amp;lt;/link&amp;gt;
+which gets emitted to toggle the visibility of the cursor.
+
+The default binding for this signal is F7.
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> the object which received the signal
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_set_fixed_width">
+<description>
+Sets the size of the column in pixels. This is meaningful only if the sizing
+type is #GTK_TREE_VIEW_COLUMN_FIXED. The size of the column is clamped to
+the min/max width for the column. Please note that the min/max width of the
+column doesn&apos;t actually affect the &quot;fixed_width&quot; property of the widget, just
+the actual size when displayed.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+<parameter name="fixed_width">
+<parameter_description> The size to set @tree_column to. Must be greater than 0.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_completion_set_minimum_key_length">
+<description>
+Requires the length of the search key for @completion to be at least
+@length. This is useful for long lists, where completing using a small
+key takes a lot of time and will come up with meaningless results anyway
+(ie, a too large dataset).
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> A #GtkEntryCompletion.
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> The minimum length of the key in order to start completing.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_container_set_reallocate_redraws">
+<description>
+Sets the @reallocate_redraws flag of the container to the given value.
+
+Containers requesting reallocation redraws get automatically
+redrawn if any of their children changed allocation.
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+<parameter name="needs_redraws">
+<parameter_description> the new value for the container&apos;s @reallocate_redraws flag
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_collapse_all">
+<description>
+Recursively collapses all visible, expanded nodes in @tree_view.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_get_show_border">
+<description>
+Return value: %TRUE if the bevel is drawn
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the bevel is drawn
+</return>
+</function>
+
+<function name="gtk_combo_box_set_wrap_width">
+<description>
+Sets the wrap width of @combo_box to be @width. The wrap width is basically
+the preferred number of columns when you want the popup to be layed out
+in a table.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> A #GtkComboBox
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> Preferred number of columns
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_completion_insert_prefix">
+<description>
+Requests a prefix insertion.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> a #GtkEntryCompletion
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_about_dialog_set_comments">
+<description>
+Sets the comments string to display in the about
+dialog. This should be a short string of one or
+two lines.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+<parameter name="comments">
+<parameter_description> a comments string
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_selection_owner_set">
+<description>
+Claims ownership of a given selection for a particular widget,
+or, if @widget is %NULL, release ownership of the selection.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="selection">
+<parameter_description> an interned atom representing the selection to claim
+</parameter_description>
+</parameter>
+<parameter name="time_">
+<parameter_description> timestamp with which to claim the selection
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the operation succeeded
+</return>
+</function>
+
+<function name="gtk_entry_completion_set_inline_completion">
+<description>
+Sets whether the common prefix of the possible completions should
+be automatically inserted in the entry.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> a #GtkEntryCompletion
+</parameter_description>
+</parameter>
+<parameter name="inline_completion">
+<parameter_description> %TRUE to do inline completion
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_get_language">
+<description>
+A convenience wrapper around gtk_text_iter_get_attributes (),
+which returns the language in effect at @iter. If no tags affecting
+language apply to @iter, the return value is identical to that of
+gtk_get_default_language ().
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> language in effect at @iter
+</return>
+</function>
+
+<function name="gtk_file_chooser_add_filter">
+<description>
+Adds @filter to the list of filters that the user can select between.
+When a filter is selected, only files that are passed by that
+filter are displayed.
+
+Note that the @chooser takes ownership of the filter, so you have to
+ref and sink it if you want to keep a reference.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="filter">
+<parameter_description> a #GtkFileFilter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_cell_renderer_start_editing">
+<description>
+Passes an activate event to the cell renderer for possible processing.
+
+
+</description>
+<parameters>
+<parameter name="cell">
+<parameter_description> a #GtkCellRenderer
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> a #GdkEvent
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> widget that received the event
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> widget-dependent string representation of the event location;
+e.g. for #GtkTreeView, a string representation of #GtkTreePath
+</parameter_description>
+</parameter>
+<parameter name="background_area">
+<parameter_description> background area as passed to gtk_cell_renderer_render()
+</parameter_description>
+</parameter>
+<parameter name="cell_area">
+<parameter_description> cell area as passed to gtk_cell_renderer_render()
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> render flags
+</parameter_description>
+</parameter>
+</parameters>
+<return> A new #GtkCellEditable, or %NULL
+</return>
+</function>
+
+<function name="gtk_paint_handle">
+<description>
+Draws a handle as used in #GtkHandleBox and #GtkPaned.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> clip rectangle, or %NULL if the
+output should not be clipped
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> a style detail (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the handle
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the handle
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> with of the handle
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height of the handle
+</parameter_description>
+</parameter>
+<parameter name="orientation">
+<parameter_description> the orientation of the handle
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_backward_char">
+<description>
+Moves backward by one character offset. Returns %TRUE if movement
+was possible; if @iter was the first in the buffer (character
+offset 0), gtk_text_iter_backward_char () returns %FALSE for convenience when
+writing loops.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether movement was possible
+</return>
+</function>
+
+<function name="gtk_tree_model_iter_children">
+<description>
+Sets @iter to point to the first child of @parent. If @parent has no
+children, %FALSE is returned and @iter is set to be invalid. @parent
+will remain a valid node after this function has been called.
+
+If @parent is %NULL returns the first node, equivalent to
+&amp;lt;literal&amp;gt;gtk_tree_model_get_iter_first (tree_model, iter);&amp;lt;/literal&amp;gt;
+
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> The new #GtkTreeIter to be set to the child.
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> The #GtkTreeIter, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE, if @child has been set to the first child.
+</return>
+</function>
+
+<function name="gtk_tree_view_get_hover_selection">
+<description>
+Return value: %TRUE if @tree_view is in hover selection mode
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @tree_view is in hover selection mode
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_tree_model_get_iter">
+<description>
+Sets @iter to a valid iterator pointing to @path.
+
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> The uninitialized #GtkTreeIter.
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> The #GtkTreePath.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE, if @iter was set.
+</return>
+</function>
+
+<function name="gtk_builder_connect_signals">
+<description>
+This method is a simpler variation of gtk_builder_connect_signals_full().
+It uses #GModule&apos;s introspective features (by opening the module %NULL)
+to look at the application&apos;s symbol table. From here it tries to match
+the signal handler names given in the interface description with
+symbols in the application and connects the signals.
+
+Note that this function will not work correctly if #GModule is not
+supported on the platform.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="builder">
+<parameter_description> a #GtkBuilder
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> a pointer to a structure sent in as user data to all signals
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_dialog_add_action_widget">
+<description>
+Adds an activatable widget to the action area of a #GtkDialog,
+connecting a signal handler that will emit the #GtkDialog::response
+signal on the dialog when the widget is activated. The widget is
+appended to the end of the dialog&apos;s action area. If you want to add a
+non-activatable widget, simply pack it into the @action_area field
+of the #GtkDialog struct.
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkDialog
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> an activatable widget
+</parameter_description>
+</parameter>
+<parameter name="response_id">
+<parameter_description> response ID for @child
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_accel_map_add_entry">
+<description>
+Registers a new accelerator with the global accelerator map.
+This function should only be called once per @accel_path
+with the canonical @accel_key and @accel_mods for this path.
+To change the accelerator during runtime programatically, use
+gtk_accel_map_change_entry().
+The accelerator path must consist of &quot;&amp;lt;WINDOWTYPE&amp;gt;/Category1/Category2/.../Action&quot;,
+where &amp;lt;WINDOWTYPE&amp;gt; should be a unique application-specific identifier, that
+corresponds to the kind of window the accelerator is being used in, e.g. &quot;Gimp-Image&quot;,
+&quot;Abiword-Document&quot; or &quot;Gnumeric-Settings&quot;.
+The Category1/.../Action portion is most appropriately chosen by the action the
+accelerator triggers, i.e. for accelerators on menu items, choose the item&apos;s menu path,
+e.g. &quot;File/Save As&quot;, &quot;Image/View/Zoom&quot; or &quot;Edit/Select All&quot;.
+So a full valid accelerator path may look like:
+&quot;&amp;lt;Gimp-Toolbox&amp;gt;/File/Dialogs/Tool Options...&quot;.
+
+</description>
+<parameters>
+<parameter name="accel_path">
+<parameter_description> valid accelerator path
+</parameter_description>
+</parameter>
+<parameter name="accel_key">
+<parameter_description> the accelerator key
+</parameter_description>
+</parameter>
+<parameter name="accel_mods">
+<parameter_description> the accelerator modifiers
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_register_serialize_format">
+<description>
+This function registers a rich text serialization @function along with
+its @mime_type with the passed @buffer.
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="mime_type">
+<parameter_description> the format&apos;s mime-type
+</parameter_description>
+</parameter>
+<parameter name="function">
+<parameter_description> the serialize function to register
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> %function&apos;s user_data
+</parameter_description>
+</parameter>
+<parameter name="user_data_destroy">
+<parameter_description> a function to call when @user_data is no longer needed
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkAtom that corresponds to the newly registered
+format&apos;s mime-type.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_notebook_set_current_page">
+<description>
+Switches to the page number @page_num.
+
+Note that due to historical reasons, GtkNotebook refuses
+to switch to a page unless the child widget is visible.
+Therefore, it is recommended to show child widgets before
+adding them to a notebook.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="page_num">
+<parameter_description> index of the page to switch to, starting from 0.
+If negative, the last page will be used. If greater
+than the number of pages in the notebook, nothing
+will be done.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_printer_get_capabilities">
+<description>
+Return value: the printer&apos;s capabilities
+
+</description>
+<parameters>
+<parameter name="printer">
+<parameter_description> a #GtkPrinter
+</parameter_description>
+</parameter>
+</parameters>
+<return> the printer&apos;s capabilities
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_recent_chooser_menu_get_show_numbers">
+<description>
+Return value: %TRUE if numbers should be shown.
+
+</description>
+<parameters>
+<parameter name="menu">
+<parameter_description> a #GtkRecentChooserMenu
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if numbers should be shown.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_view_column_get_visible">
+<description>
+Return value: whether the column is visible or not. If it is visible, then
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the column is visible or not. If it is visible, then
+the tree will show the column.
+</return>
+</function>
+
+<function name="gtk_print_settings_set_printer">
+<description>
+Convenience function to set %GTK_PRINT_SETTINGS_PRINTER
+to @printer.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="printer">
+<parameter_description> the printer name
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_model_sort_convert_path_to_child_path">
+<description>
+Converts @sorted_path to a path on the child model of @tree_model_sort.
+That is, @sorted_path points to a location in @tree_model_sort. The
+returned path will point to the same location in the model not being
+sorted. If @sorted_path does not point to a location in the child model,
+%NULL is returned.
+
+
+</description>
+<parameters>
+<parameter name="tree_model_sort">
+<parameter_description> A #GtkTreeModelSort
+</parameter_description>
+</parameter>
+<parameter name="sorted_path">
+<parameter_description> A #GtkTreePath to convert
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly allocated #GtkTreePath, or %NULL
+</return>
+</function>
+
+<function name="gtk_file_chooser_error_quark">
+<description>
+Registers an error quark for #GtkFileChooser if necessary.
+
+
+</description>
+<parameters>
+</parameters>
+<return> The error quark used for #GtkFileChooser errors.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_icon_source_get_direction">
+<description>
+Obtains the text direction this icon source applies to. The return
+value is only useful/meaningful if the text direction is &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt;
+wildcarded.
+
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a #GtkIconSource
+</parameter_description>
+</parameter>
+</parameters>
+<return> text direction this source matches
+</return>
+</function>
+
+<function name="gtk_cell_layout_pack_start">
+<description>
+Packs the @cell into the beginning of @cell_layout. If @expand is %FALSE,
+then the @cell is allocated no more space than it needs. Any unused space
+is divided evenly between cells for which @expand is %TRUE.
+
+Note that reusing the same cell renderer is not supported.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="cell_layout">
+<parameter_description> A #GtkCellLayout.
+</parameter_description>
+</parameter>
+<parameter name="cell">
+<parameter_description> A #GtkCellRenderer.
+</parameter_description>
+</parameter>
+<parameter name="expand">
+<parameter_description> %TRUE if @cell is to be given extra space allocated to @cell_layout.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_get_mark">
+<description>
+Return value: a #GtkTextMark, or %NULL
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> a mark name
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GtkTextMark, or %NULL
+</return>
+</function>
+
+<function name="gtk_paper_size_set_size">
+<description>
+Changes the dimensions of a @size to @width x @height.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="size">
+<parameter_description> a custom #GtkPaperSize object
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the new width in units of @unit
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the new height in units of @unit
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the unit for @width and @height
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_model_sort_reset_default_sort_func">
+<description>
+This resets the default sort function to be in the &apos;unsorted&apos; state. That
+is, it is in the same order as the child model. It will re-sort the model
+to be in the same order as the child model only if the #GtkTreeModelSort
+is in &apos;unsorted&apos; state.
+
+</description>
+<parameters>
+<parameter name="tree_model_sort">
+<parameter_description> A #GtkTreeModelSort
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_list_store_swap">
+<description>
+Swaps @a and @b in @store. Note that this function only works with
+unsorted stores.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="store">
+<parameter_description> A #GtkListStore.
+</parameter_description>
+</parameter>
+<parameter name="a">
+<parameter_description> A #GtkTreeIter.
+</parameter_description>
+</parameter>
+<parameter name="b">
+<parameter_description> Another #GtkTreeIter.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_shape_combine_mask">
+<description>
+Sets a shape for this widget&apos;s GDK window. This allows for
+transparent windows etc., see gdk_window_shape_combine_mask()
+for more information.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="shape_mask">
+<parameter_description> shape to be added, or %NULL to remove an existing shape
+</parameter_description>
+</parameter>
+<parameter name="offset_x">
+<parameter_description> X position of shape mask with respect to @window
+</parameter_description>
+</parameter>
+<parameter name="offset_y">
+<parameter_description> Y position of shape mask with respect to @window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_unset_rows_drag_source">
+<description>
+Undoes the effect of gtk_tree_view_enable_model_drag_source().
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_builder_get_objects">
+<description>
+Gets all objects that have been constructed by @builder. Note that
+this function does not increment the reference counts of the returned
+objects.
+
+
+</description>
+<parameters>
+<parameter name="builder">
+<parameter_description> a #GtkBuilder
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated #GSList containing all the objects
+constructed by the #GtkBuilder instance. It should be freed by
+g_slist_free()
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_expander_get_expanded">
+<description>
+Queries a #GtkExpander and returns its current state. Returns %TRUE
+if the child widget is revealed.
+
+See gtk_expander_set_expanded().
+
+
+</description>
+<parameters>
+<parameter name="expander">
+<parameter_description>a #GtkExpander
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current state of the expander.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tree_view_get_headers_visible">
+<description>
+Return value: Whether the headers are visible or not.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView.
+</parameter_description>
+</parameter>
+</parameters>
+<return> Whether the headers are visible or not.
+</return>
+</function>
+
+<function name="gtk_message_dialog_new">
+<description>
+Creates a new message dialog, which is a simple dialog with an icon
+indicating the dialog type (error, warning, etc.) and some text the
+user may want to see. When the user clicks a button a &quot;response&quot;
+signal is emitted with response IDs from #GtkResponseType. See
+#GtkDialog for more details.
+
+
+</description>
+<parameters>
+<parameter name="parent">
+<parameter_description> transient parent, or %NULL for none
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> type of message
+</parameter_description>
+</parameter>
+<parameter name="buttons">
+<parameter_description> set of buttons to use
+</parameter_description>
+</parameter>
+<parameter name="message_format">
+<parameter_description> printf()-style format string, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> arguments for @message_format
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkMessageDialog
+</return>
+</function>
+
+<function name="GtkRecentChooserMenu">
+<description>
+Whether the first ten items in the menu should be prepended by
+a number acting as a unique mnemonic.
+
+Since: 2.10
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_box_pack_start">
+<description>
+Adds @child to @box, packed with reference to the start of @box.
+The @child is packed after any other child packed with reference
+to the start of @box.
+
+</description>
+<parameters>
+<parameter name="box">
+<parameter_description> a #GtkBox
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the #GtkWidget to be added to @box
+</parameter_description>
+</parameter>
+<parameter name="expand">
+<parameter_description> %TRUE if the new child is to be given extra space allocated to
+@box. The extra space will be divided evenly between all children of
+@box that use this option
+</parameter_description>
+</parameter>
+<parameter name="fill">
+<parameter_description> %TRUE if space given to @child by the @expand option is
+actually allocated to @child, rather than just padding it. This
+parameter has no effect if @expand is set to %FALSE. A child is
+always allocated the full height of a #GtkHBox and the full width
+of a #GtkVBox. This option affects the other dimension
+</parameter_description>
+</parameter>
+<parameter name="padding">
+<parameter_description> extra space in pixels to put between this child and its
+neighbors, over and above the global amount specified by
+#GtkBox:spacing property. If @child is a widget at one of the
+reference ends of @box, then @padding pixels are also put between
+@child and the reference edge of @box
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_menu_bar_get_pack_direction">
+<description>
+Retrieves the current pack direction of the menubar. See
+gtk_menu_bar_set_pack_direction().
+
+
+</description>
+<parameters>
+<parameter name="menubar">
+<parameter_description> a #GtkMenuBar
+</parameter_description>
+</parameter>
+</parameters>
+<return> the pack direction
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gtk_im_context_set_cursor_location">
+<description>
+Notify the input method that a change in cursor
+position has been made. The location is relative to the client
+window.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkIMContext
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> new location
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_file_system_model_path_do">
+<description>
+Locates @path within @model, referencing
+(gtk_tree_model_ref_node()) all parent nodes,
+calls @func passing in the path and iter for @path,
+then unrefs all the parent nodes.
+
+The reason for doing this operation as a callback
+is so that if the operation performed with the
+path and iter results in referencing the node
+and/or parent nodes, we don&apos;t load all the information
+about the nodes.
+
+This function is particularly useful for expanding
+a #GtkTreeView to a particular point in the file system.
+
+</description>
+<parameters>
+<parameter name="model">
+<parameter_description> a #GtkFileSystemModel
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a path pointing to a file in the filesystem
+for @model.
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> Function to call with the path and iter corresponding
+to @path.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> data to pass to @func
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_set_hadjustment">
+<description>
+Sets the #GtkAdjustment for the current horizontal aspect.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="adjustment">
+<parameter_description> The #GtkAdjustment to set, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_clipboard_wait_for_image">
+<description>
+Requests the contents of the clipboard as image and converts
+the result to a #GdkPixbuf. This function waits for
+the data to be received using the main loop, so events,
+timeouts, etc, may be dispatched during the wait.
+
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated #GdkPixbuf object which must
+be disposed with g_object_unref(), or %NULL if
+retrieving the selection data failed. (This
+could happen for various reasons, in particular
+if the clipboard was empty or if the contents of
+the clipboard could not be converted into an image.)
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_widget_show_all">
+<description>
+Recursively shows a widget, and any child widgets (if the widget is
+a container).
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_set_invisible_char">
+<description>
+Sets the character to use in place of the actual text when
+gtk_entry_set_visibility() has been called to set text visibility
+to %FALSE. i.e. this is the character used in &quot;password mode&quot; to
+show the user how many characters have been typed. The default
+invisible char is an asterisk (&apos;*&apos;). If you set the invisible char
+to 0, then the user will get no feedback at all; there will be
+no text on the screen as they type.
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+<parameter name="ch">
+<parameter_description> a Unicode character
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_job_send">
+<description>
+Sends the print job off to the printer.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="job">
+<parameter_description> a GtkPrintJob
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> function to call when the job completes or an error occurs
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data that gets passed to @callback
+</parameter_description>
+</parameter>
+<parameter name="dnotify">
+<parameter_description> destroy notify for @user_data
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toggle_action_get_active">
+<description>
+Returns: the checked state of the toggle action
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+</parameters>
+<return> the checked state of the toggle action
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_widget_queue_clear">
+<description>
+This function does the same as gtk_widget_queue_draw().
+
+Deprecated: Use gtk_widget_queue_draw() instead.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_xembed_pop_message">
+<description>
+Removes an event added with _gtk_xembed_push_message()
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkSpinButton">
+<description>
+The wrapped signal is emitted right after the spinbutton wraps
+from its maximum to minimum value or vice-versa.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="spinbutton">
+<parameter_description> the object which received the signal
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_widget_to_tree_coords">
+<description>
+Converts bin_window coordinates to coordinates for the
+tree (the full scrollable area of the tree).
+
+Deprecated: 2.12: Due to historial reasons the name of this function is
+incorrect. For converting coordinates relative to the widget to
+bin_window coordinates, please see
+gtk_tree_view_convert_widget_to_bin_window_coords().
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="wx">
+<parameter_description> X coordinate relative to bin_window
+</parameter_description>
+</parameter>
+<parameter name="wy">
+<parameter_description> Y coordinate relative to bin_window
+</parameter_description>
+</parameter>
+<parameter name="tx">
+<parameter_description> return location for tree X coordinate
+</parameter_description>
+</parameter>
+<parameter name="ty">
+<parameter_description> return location for tree Y coordinate
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_socket_advance_toplevel_focus">
+<description>
+@socket: a #GtkSocket
+@direction: a direction
+
+Called from the GtkSocket backend when the corresponding plug
+has told the socket to move the focus.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_cell_view_get_displayed_row">
+<description>
+Returns: the currently displayed row or %NULL
+
+</description>
+<parameters>
+<parameter name="cell_view">
+<parameter_description> a #GtkCellView
+</parameter_description>
+</parameter>
+</parameters>
+<return> the currently displayed row or %NULL
+
+Since: 2.6
+</return>
+</function>
+
+<function name="_gtk_file_chooser_entry_set_base_folder">
+<description>
+Sets the folder with respect to which completions occur.
+
+</description>
+<parameters>
+<parameter name="chooser_entry">
+<parameter_description> a #GtkFileChooserEntry
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> path of a folder in the chooser entries current file system.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_menu_item_set_submenu">
+<description>
+Sets or replaces the menu item&apos;s submenu, or removes it when a %NULL
+submenu is passed.
+
+</description>
+<parameters>
+<parameter name="menu_item">
+<parameter_description> a #GtkMenuItem
+</parameter_description>
+</parameter>
+<parameter name="submenu">
+<parameter_description> the submenu, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkFileChooser">
+<description>
+Whether a file chooser in %GTK_FILE_CHOOSER_ACTION_SAVE mode
+will present an overwrite confirmation dialog if the user
+selects a file name that already exists.
+
+Since: 2.8
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_chooser_set_show_tips">
+<description>
+Sets whether to show a tooltips on the widget.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+<parameter name="show_tips">
+<parameter_description> %TRUE if tooltips should be shown
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_ui_manager_add_ui_from_file">
+<description>
+Parses a file containing a &amp;lt;link linkend=&quot;XML-UI&quot;&amp;gt;UI definition&amp;lt;/link&amp;gt; and
+merges it with the current contents of @self.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkUIManager object
+</parameter_description>
+</parameter>
+<parameter name="filename">
+<parameter_description> the name of the file to parse
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for an error
+</parameter_description>
+</parameter>
+</parameters>
+<return> The merge id for the merged UI. The merge id can be used
+to unmerge the UI with gtk_ui_manager_remove_ui(). If an error occurred,
+the return value is 0.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_selection_data_free">
+<description>
+Frees a #GtkSelectionData structure returned from
+gtk_selection_data_copy().
+
+</description>
+<parameters>
+<parameter name="data">
+<parameter_description> a pointer to a #GtkSelectionData structure.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_forward_display_line">
+<description>
+Moves the given @iter forward by one display (wrapped) line.
+A display line is different from a paragraph. Paragraphs are
+separated by newlines or other paragraph separator characters.
+Display lines are created by line-wrapping a paragraph. If
+wrapping is turned off, display lines and paragraphs will be the
+same. Display lines are divided differently for each view, since
+they depend on the view&apos;s width; paragraphs are the same in all
+views, since they depend on the contents of the #GtkTextBuffer.
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter was moved and is not on the end iterator
+</return>
+</function>
+
+<function name="gtk_spin_button_get_wrap">
+<description>
+Return value: %TRUE if the spin button wraps around
+
+</description>
+<parameters>
+<parameter name="spin_button">
+<parameter_description> a #GtkSpinButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the spin button wraps around
+</return>
+</function>
+
+<function name="gtk_requisition_copy">
+<description>
+Copies a #GtkRequisition.
+
+
+</description>
+<parameters>
+<parameter name="requisition">
+<parameter_description> a #GtkRequisition
+</parameter_description>
+</parameter>
+</parameters>
+<return> a copy of @requisition
+</return>
+</function>
+
+<function name="gtk_clipboard_request_image">
+<description>
+Requests the contents of the clipboard as image. When the image is
+later received, it will be converted to a #GdkPixbuf, and
+@callback will be called.
+
+The @pixbuf parameter to @callback will contain the resulting
+#GdkPixbuf if the request succeeded, or %NULL if it failed. This
+could happen for various reasons, in particular if the clipboard
+was empty or if the contents of the clipboard could not be
+converted into an image.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> a function to call when the image is received,
+or the retrieval fails. (It will always be called
+one way or the other.)
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data to pass to @callback.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_accel_label_set_accel_widget">
+<description>
+Sets the widget to be monitored by this accelerator label.
+
+</description>
+<parameters>
+<parameter name="accel_label">
+<parameter_description> a #GtkAccelLabel
+</parameter_description>
+</parameter>
+<parameter name="accel_widget">
+<parameter_description> the widget to be monitored.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_starts_sentence">
+<description>
+Determines whether @iter begins a sentence. Sentence boundaries are
+determined by Pango and should be correct for nearly any language
+(if not, the correct fix would be to the Pango text boundary
+algorithms).
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter is at the start of a sentence.
+</return>
+</function>
+
+<function name="gtk_widget_get_default_colormap">
+<description>
+Obtains the default colormap used to create widgets.
+
+
+</description>
+<parameters>
+</parameters>
+<return> default widget colormap
+</return>
+</function>
+
+<function name="gtk_old_editable_claim_selection">
+<description>
+Claims or gives up ownership of the selection.
+
+</description>
+<parameters>
+<parameter name="old_editable">
+<parameter_description> a #GtkOldEditable
+</parameter_description>
+</parameter>
+<parameter name="claim">
+<parameter_description> if %TRUE, claim ownership of the selection, if %FALSE, give
+up ownership
+</parameter_description>
+</parameter>
+<parameter name="time_">
+<parameter_description> timestamp for this operation
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_selection_unselect_all">
+<description>
+Unselects all the nodes.
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> A #GtkTreeSelection.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_set_colormap">
+<description>
+Sets the colormap for the widget to the given value. Widget must not
+have been previously realized. This probably should only be used
+from an &amp;lt;function&amp;gt;init()&amp;lt;/function&amp;gt; function (i.e. from the constructor
+for the widget).
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="colormap">
+<parameter_description> a colormap
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_assistant_prepend_page">
+<description>
+Prepends a page to the @assistant.
+
+
+</description>
+<parameters>
+<parameter name="assistant">
+<parameter_description> a #GtkAssistant
+</parameter_description>
+</parameter>
+<parameter name="page">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the index (starting at 0) of the inserted page
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_clipboard_clear">
+<description>
+Clears the contents of the clipboard. Generally this should only
+be called between the time you call gtk_clipboard_set_with_owner()
+or gtk_clipboard_set_with_data(),
+and when the @clear_func you supplied is called. Otherwise, the
+clipboard may be owned by someone else.
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_range_get_wheel_delta">
+<description>
+Return value: A good step value for the mouse wheel.
+
+</description>
+<parameters>
+<parameter name="range">
+<parameter_description> a #GtkRange
+</parameter_description>
+</parameter>
+<parameter name="direction">
+<parameter_description> A #GdkScrollDirection
+</parameter_description>
+</parameter>
+</parameters>
+<return> A good step value for the mouse wheel.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_invisible_get_screen">
+<description>
+Return value: the associated #GdkScreen.
+
+</description>
+<parameters>
+<parameter name="invisible">
+<parameter_description> a #GtkInvisible.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the associated #GdkScreen.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_file_system_insert_bookmark">
+<description>
+Adds a path for a folder to the user&apos;s bookmarks list. If the operation
+succeeds, the &quot;bookmarks_changed&quot; signal will be emitted. Bookmark paths are
+unique; if you try to insert a @path that already exists, the operation will
+fail and the @error will be set to #GTK_FILE_SYSTEM_ERROR_ALREADY_EXISTS. To
+reorder the list of bookmarks, use gtk_file_system_remove_bookmark() to
+remove the path in question, and call gtk_file_system_insert_bookmark() with
+the new position for the path.
+
+
+</description>
+<parameters>
+<parameter name="file_system">
+<parameter_description> a #GtkFileSystem
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> path of the bookmark to add
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> index in the bookmarks list at which the @path should be inserted; use 0
+for the beginning, and -1 or the number of bookmarks itself for the end of the list.
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if the operation succeeds, FALSE otherwise. In the latter case,
+the @error value will be set.
+</return>
+</function>
+
+<function name="gtk_range_set_lower_stepper_sensitivity">
+<description>
+Sets the sensitivity policy for the stepper that points to the
+&apos;lower&apos; end of the GtkRange&apos;s adjustment.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="range">
+<parameter_description> a #GtkRange
+</parameter_description>
+</parameter>
+<parameter name="sensitivity">
+<parameter_description> the lower stepper&apos;s sensitivity policy.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_misc_get_padding">
+<description>
+Gets the padding in the X and Y directions of the widget.
+See gtk_misc_set_padding().
+
+</description>
+<parameters>
+<parameter name="misc">
+<parameter_description> a #GtkMisc
+</parameter_description>
+</parameter>
+<parameter name="xpad">
+<parameter_description> location to store padding in the X direction, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="ypad">
+<parameter_description> location to store padding in the Y direction, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_view_set_spacing">
+<description>
+Sets the ::spacing property which specifies the space
+which is inserted between the cells (i.e. the icon and
+the text) of an item.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+<parameter name="spacing">
+<parameter_description> the spacing
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_color_selection_is_adjusting">
+<description>
+Gets the current state of the @colorsel.
+
+
+</description>
+<parameters>
+<parameter name="colorsel">
+<parameter_description> a #GtkColorSelection.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the user is currently dragging a color around, and %FALSE
+if the selection has stopped.
+</return>
+</function>
+
+<function name="gtk_icon_source_set_state_wildcarded">
+<description>
+If the widget state is wildcarded, this source can be used as the
+base image for an icon in any #GtkStateType. If the widget state
+is not wildcarded, then the state the source applies to should be
+set with gtk_icon_source_set_state() and the icon source will
+only be used with that specific state.
+
+#GtkIconSet prefers non-wildcarded sources (exact matches) over
+wildcarded sources, and will use an exact match when possible.
+
+#GtkIconSet will normally transform wildcarded source images to
+produce an appropriate icon for a given state, for example
+lightening an image on prelight, but will not modify source images
+that match exactly.
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a #GtkIconSource
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> %TRUE to wildcard the widget state
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_scale_button_set_icons">
+<description>
+Sets the icons to be used by the scale button.
+For details, see the #GtkScaleButton:icons property.
+
+Since 2.12
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkScaleButton
+</parameter_description>
+</parameter>
+<parameter name="icons">
+<parameter_description> a %NULL-terminated array of icon names
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tool_item_set_tooltip_text">
+<description>
+Sets the text to be displayed as tooltip on the item.
+See gtk_widget_set_tooltip_text().
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem:
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> text to be used as tooltip for @tool_item
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_store_iter_depth">
+<description>
+Return value: The depth of @iter
+
+</description>
+<parameters>
+<parameter name="tree_store">
+<parameter_description> A #GtkTreeStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> A valid #GtkTreeIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> The depth of @iter
+</return>
+</function>
+
+<function name="_gtk_socket_handle_map_request">
+<description>
+@socket: a #GtkSocket
+
+Called from the GtkSocket backend when the plug has been mapped.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_draw_expander">
+<description>
+Draws an expander as used in #GtkTreeView.
+
+Deprecated: Use gtk_paint_expander() instead.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x position to draw the expander at
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y position to draw the expander at
+</parameter_description>
+</parameter>
+<parameter name="expander_style">
+<parameter_description> the style to draw the expander in
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_hsv_is_adjusting">
+<description>
+An HSV color selector can be said to be adjusting if multiple rapid changes
+are being made to its value, for example, when the user is adjusting the
+value with the mouse. This function queries whether the HSV color selector
+is being adjusted or not.
+
+
+</description>
+<parameters>
+<parameter name="hsv">
+<parameter_description>
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if clients can ignore changes to the color value, since
+they may be transitory, or FALSE if they should consider the color value
+status to be final.
+</return>
+</function>
+
+<function name="gtk_window_set_keep_above">
+<description>
+Asks to keep @window above, so that it stays on top. Note that
+you shouldn&apos;t assume the window is definitely above afterward,
+because other entities (e.g. the user or &amp;lt;link
+linkend=&quot;gtk-X11-arch&quot;&amp;gt;window manager&amp;lt;/link&amp;gt;) could not keep it above,
+and not all window managers support keeping windows above. But
+normally the window will end kept above. Just don&apos;t write code
+that crashes if not.
+
+It&apos;s permitted to call this function before showing a window,
+in which case the window will be kept above when it appears onscreen
+initially.
+
+You can track the above state via the &quot;window_state_event&quot; signal
+on #GtkWidget.
+
+Note that, according to the &amp;lt;ulink
+url=&quot;http://www.freedesktop.org/Standards/wm-spec&quot;&amp;gt;Extended Window
+Manager Hints&amp;lt;/ulink&amp;gt; specification, the above state is mainly meant
+for user preferences and should not be used by applications e.g. for
+drawing attention to their dialogs.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> whether to keep @window above other windows
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_set_text">
+<description>
+Sets the text within the #GtkLabel widget. It overwrites any text that
+was there before.
+
+This will also clear any previously set mnemonic accelerators.
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+<parameter name="str">
+<parameter_description> The text you want to set
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_view_get_item_at_pos">
+<description>
+Finds the path at the point (@x, @y), relative to bin_window coordinates.
+In contrast to gtk_icon_view_get_path_at_pos(), this function also
+obtains the cell at the specified position. The returned path should
+be freed with gtk_tree_path_free().
+See gtk_icon_view_convert_widget_to_bin_window_coords() for converting
+widget coordinates to bin_window coordinates.
+
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView.
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> The x position to be identified
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> The y position to be identified
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> Return location for the path, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="cell">
+<parameter_description> Return location for the renderer responsible for the cell
+at (@x, @y), or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if an item exists at the specified position
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gtk_list_store_prepend">
+<description>
+Prepends a new row to @list_store. @iter will be changed to point to this new
+row. The row will be empty after this function is called. To fill in
+values, you need to call gtk_list_store_set() or gtk_list_store_set_value().
+
+
+</description>
+<parameters>
+<parameter name="list_store">
+<parameter_description> A #GtkListStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> An unset #GtkTreeIter to set to the prepend row
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_action_group_get_action">
+<description>
+Looks up an action in the action group by name.
+
+
+</description>
+<parameters>
+<parameter name="action_group">
+<parameter_description> the action group
+</parameter_description>
+</parameter>
+<parameter name="action_name">
+<parameter_description> the name of the action
+</parameter_description>
+</parameter>
+</parameters>
+<return> the action, or %NULL if no action by that name exists
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_dialog_set_has_separator">
+<description>
+Sets whether the dialog has a separator above the buttons.
+%TRUE by default.
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkDialog
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> %TRUE to have a separator
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_get_extra_widget">
+<description>
+Gets the current preview widget; see
+gtk_file_chooser_set_extra_widget().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current extra widget, or %NULL
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_recent_info_get_icon">
+<description>
+Retrieves the icon of size @size associated to the resource MIME type.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GtkRecentInfo
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size of the icon in pixels
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GdkPixbuf containing the icon, or %NULL.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_text_view_set_overwrite">
+<description>
+Changes the #GtkTextView overwrite mode.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="overwrite">
+<parameter_description> %TRUE to turn on overwrite mode, %FALSE to turn it off
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_menu_tool_button_set_arrow_tooltip">
+<description>
+Sets the #GtkTooltips object to be used for arrow button which
+pops up the menu. See gtk_tool_item_set_tooltip() for setting
+a tooltip on the whole #GtkMenuToolButton.
+
+Since: 2.6
+
+Deprecated: 2.12: Use gtk_menu_tool_button_set_arrow_tooltip_text()
+instead.
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkMenuToolButton
+</parameter_description>
+</parameter>
+<parameter name="tooltips">
+<parameter_description> the #GtkTooltips object to be used
+</parameter_description>
+</parameter>
+<parameter name="tip_text">
+<parameter_description> text to be used as tooltip text for tool_item
+</parameter_description>
+</parameter>
+<parameter name="tip_private">
+<parameter_description> text to be used as private tooltip text
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_font_button_set_font_name">
+<description>
+Sets or updates the currently-displayed font in font picker dialog.
+
+
+</description>
+<parameters>
+<parameter name="font_button">
+<parameter_description> a #GtkFontButton
+</parameter_description>
+</parameter>
+<parameter name="fontname">
+<parameter_description> Name of font to display in font selection dialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> Return value of gtk_font_selection_dialog_set_font_name() if the
+font selection dialog exists, otherwise %FALSE.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_widget_push_composite_child">
+<description>
+Makes all newly-created widgets as composite children until
+the corresponding gtk_widget_pop_composite_child() call.
+
+A composite child is a child that&apos;s an implementation detail of the
+container it&apos;s inside and should not be visible to people using the
+container. Composite children aren&apos;t treated differently by GTK (but
+see gtk_container_foreach() vs. gtk_container_forall()), but e.g. GUI
+builders might want to treat them in a different way.
+
+Here is a simple example:
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+gtk_widget_push_composite_child (&amp;lt;!-- --&amp;gt;);
+scrolled_window-&amp;gt;hscrollbar = gtk_hscrollbar_new (hadjustment);
+gtk_widget_set_composite_name (scrolled_window-&amp;gt;hscrollbar, &quot;hscrollbar&quot;);
+gtk_widget_pop_composite_child (&amp;lt;!-- --&amp;gt;);
+gtk_widget_set_parent (scrolled_window-&amp;gt;hscrollbar,
+GTK_WIDGET (scrolled_window));
+g_object_ref (scrolled_window-&amp;gt;hscrollbar);
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_view_get_drag_dest_item">
+<description>
+Gets information about the item that is highlighted for feedback.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> Return location for the path of the highlighted item, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> Return location for the drop position, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_store_remove">
+<description>
+Removes @iter from @tree_store. After being removed, @iter is set to the
+next valid row at that level, or invalidated if it previously pointed to the
+last one.
+
+
+</description>
+<parameters>
+<parameter name="tree_store">
+<parameter_description> A #GtkTreeStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> A valid #GtkTreeIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter is still valid, %FALSE if not.
+</return>
+</function>
+
+<function name="gtk_tree_store_move_before">
+<description>
+Moves @iter in @tree_store to the position before @position. @iter and
+@position should be in the same level. Note that this function only
+works with unsorted stores. If @position is %NULL, @iter will be
+moved to the end of the level.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="tree_store">
+<parameter_description> A #GtkTreeStore.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> A #GtkTreeIter.
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> A #GtkTreeIter or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_get_visible_text">
+<description>
+Like gtk_text_iter_get_text (), but invisible text is not included.
+Invisible text is usually invisible because a #GtkTextTag with the
+&quot;invisible&quot; attribute turned on has been applied to it.
+
+
+</description>
+<parameters>
+<parameter name="start">
+<parameter_description> iterator at start of range
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> iterator at end of range
+</parameter_description>
+</parameter>
+</parameters>
+<return> string containing visible text in the range
+</return>
+</function>
+
+<function name="gtk_frame_set_shadow_type">
+<description>
+Sets the shadow type for @frame.
+
+</description>
+<parameters>
+<parameter name="frame">
+<parameter_description> a #GtkFrame
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> the new #GtkShadowType
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_container_propagate_expose">
+<description>
+When a container receives an expose event, it must send synthetic
+expose events to all children that don&apos;t have their own #GdkWindows.
+This function provides a convenient way of doing this. A container,
+when it receives an expose event, calls gtk_container_propagate_expose()
+once for each child, passing in the event the container received.
+
+gtk_container_propagate_expose() takes care of deciding whether
+an expose event needs to be sent to the child, intersecting
+the event&apos;s area with the child area, and sending the event.
+
+In most cases, a container can simply either simply inherit the
+#GtkWidget::expose implementation from #GtkContainer, or, do some drawing
+and then chain to the ::expose implementation from #GtkContainer.
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> a child of @container
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> a expose event sent to container
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_layout_freeze">
+<description>
+This is a deprecated function, it doesn&apos;t do anything useful.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_set">
+<description>
+Precursor of g_object_set().
+
+Deprecated: Use g_object_set() instead.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="first_property_name">
+<parameter_description> name of first property to set
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> value of first property, followed by more properties,
+%NULL-terminated
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toggle_action_set_active">
+<description>
+Sets the checked state on the toggle action.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+<parameter name="is_active">
+<parameter_description> whether the action should be checked or not
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_get_filename">
+<description>
+Gets the filename for the currently selected file in
+the file selector. If multiple files are selected,
+one of the filenames will be returned at random.
+
+If the file chooser is in folder mode, this function returns the selected
+folder.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> The currently selected filename, or %NULL
+if no file is selected, or the selected file can&apos;t
+be represented with a local filename. Free with g_free().
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_about_dialog_get_comments">
+<description>
+Return value: The comments. The string is owned by the about
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> The comments. The string is owned by the about
+dialog and must not be modified.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_range_set_show_fill_level">
+<description>
+Sets whether a graphical fill level is show on the trough. See
+gtk_range_set_fill_level() for a general description of the fill
+level concept.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="range">
+<parameter_description> A #GtkRange
+</parameter_description>
+</parameter>
+<parameter name="show_fill_level">
+<parameter_description> Whether a fill level indicator graphics is shown.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_set_tooltip_cell">
+<description>
+Sets the tip area of @tooltip to the area @path, @column and @cell have
+in common. For example if @path is %NULL and @column is set, the tip
+area will be set to the full area covered by @column. See also
+gtk_tooltip_set_tip_area().
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="tooltip">
+<parameter_description> a #GtkTooltip
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a #GtkTreePath or %NULL
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> a #GtkTreeViewColumn or %NULL
+</parameter_description>
+</parameter>
+<parameter name="cell">
+<parameter_description> a #GtkCellRendererText or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_convert_widget_to_tree_coords">
+<description>
+Converts widget coordinates to coordinates for the
+tree (the full scrollable area of the tree).
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="wx">
+<parameter_description> X coordinate relative to the widget
+</parameter_description>
+</parameter>
+<parameter name="wy">
+<parameter_description> Y coordinate relative to the widget
+</parameter_description>
+</parameter>
+<parameter name="tx">
+<parameter_description> return location for tree X coordinate
+</parameter_description>
+</parameter>
+<parameter name="ty">
+<parameter_description> return location for tree Y coordinate
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_set_visible">
+<description>
+Sets the visibility of @tree_column.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+<parameter name="visible">
+<parameter_description> %TRUE if the @tree_column is visible.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkLabel">
+<description>
+The desired maximum width of the label, in characters. If this property
+is set to -1, the width will be calculated automatically, otherwise the
+label will request space for no more than the requested number of
+characters. If the #GtkLabel:width-chars property is set to a positive
+value, then the &quot;max-width-chars&quot; property is ignored.
+
+Since: 2.6
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_get_bool_with_default">
+<description>
+Return value: the boolean value associated with @key
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+<parameter name="default_val">
+<parameter_description> the default value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the boolean value associated with @key
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_view_collapse_row">
+<description>
+Collapses a row (hides its child rows, if they exist).
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> path to a row in the @tree_view
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the row was collapsed.
+</return>
+</function>
+
+<function name="gtk_tree_store_reorder">
+<description>
+Reorders the children of @parent in @tree_store to follow the order
+indicated by @new_order. Note that this function only works with
+unsorted stores.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="tree_store">
+<parameter_description> A #GtkTreeStore.
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> A #GtkTreeIter.
+</parameter_description>
+</parameter>
+<parameter name="new_order">
+<parameter_description> an array of integers mapping the new position of each child
+to its old position before the re-ordering,
+i.e. @new_order&amp;lt;literal&amp;gt;[newpos] = oldpos&amp;lt;/literal&amp;gt;.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_unix_dialog_set_current_page">
+<description>
+Sets the current page number. If @current_page is not -1, this enables
+the current page choice for the range of pages to print.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkPrintUnixDialog
+</parameter_description>
+</parameter>
+<parameter name="current_page">
+<parameter_description> the current page number.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_message_dialog_set_image">
+<description>
+Sets the dialog&apos;s image to @image.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkMessageDialog
+</parameter_description>
+</parameter>
+<parameter name="image">
+<parameter_description> the image
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_viewport_set_shadow_type">
+<description>
+Sets the shadow type of the viewport.
+
+</description>
+<parameters>
+<parameter name="viewport">
+<parameter_description> a #GtkViewport.
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> the new shadow type.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_get_preview_uri">
+<description>
+Gets the URI that should be previewed in a custom preview
+widget. See gtk_file_chooser_set_preview_widget().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> the URI for the file to preview, or %NULL if no file is
+selected. Free with g_free().
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_entry_append_text">
+<description>
+Appends the given text to the contents of the widget.
+
+Deprecated: gtk_entry_append_text() is deprecated and should not
+be used in newly-written code. Use gtk_editable_insert_text()
+instead.
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the text to append
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_get_row_separator_func">
+<description>
+Return value: the current row separator function.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current row separator function.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_text_buffer_insert_range">
+<description>
+Copies text, tags, and pixbufs between @start and @end (the order
+of @start and @end doesn&apos;t matter) and inserts the copy at @iter.
+Used instead of simply getting/inserting text because it preserves
+images and tags. If @start and @end are in a different buffer from
+@buffer, the two buffers must share the same tag table.
+
+Implemented via emissions of the insert_text and apply_tag signals,
+so expect those.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a position in @buffer
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> a position in a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> another position in the same buffer as @start
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_about_dialog_set_email_hook">
+<description>
+Installs a global function to be called whenever the user activates an
+email link in an about dialog.
+
+
+</description>
+<parameters>
+<parameter name="func">
+<parameter_description> a function to call when an email link is activated.
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to pass to @func
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> #GDestroyNotify for @data
+</parameter_description>
+</parameter>
+</parameters>
+<return> the previous email hook.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_paint_check">
+<description>
+Draws a check button indicator in the given rectangle on @window with
+the given parameters.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> the type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> clip rectangle, or %NULL if the
+output should not be clipped
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> a style detail (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the rectangle to draw the check in
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the rectangle to draw the check in
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the rectangle to draw the check in
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the rectangle to draw the check in
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_chooser_get_uris">
+<description>
+Gets the URI of the recently used resources.
+
+The return value of this function is affected by the &quot;sort-type&quot; and &quot;limit&quot;
+properties of @chooser.
+
+Since the returned array is %NULL terminated, @length may be %NULL.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> return location for a the length of the URI list, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly allocated, %NULL terminated array of strings. Use
+g_strfreev() to free it.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_accel_label_set_accel_closure">
+<description>
+Sets the closure to be monitored by this accelerator label. The closure
+must be connected to an accelerator group; see gtk_accel_group_connect().
+
+</description>
+<parameters>
+<parameter name="accel_label">
+<parameter_description> a #GtkAccelLabel
+</parameter_description>
+</parameter>
+<parameter name="accel_closure">
+<parameter_description> the closure to monitor for accelerator changes.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_tag_get_priority">
+<description>
+Get the tag priority.
+
+
+</description>
+<parameters>
+<parameter name="tag">
+<parameter_description> a #GtkTextTag
+</parameter_description>
+</parameter>
+</parameters>
+<return> The tag&apos;s priority.
+</return>
+</function>
+
+<function name="gtk_icon_theme_rescan_if_needed">
+<description>
+Checks to see if the icon theme has changed; if it has, any
+currently cached information is discarded and will be reloaded
+next time @icon_theme is accessed.
+
+
+</description>
+<parameters>
+<parameter name="icon_theme">
+<parameter_description> a #GtkIconTheme
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the icon theme has changed and needed
+to be reloaded.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_about_dialog_get_logo_icon_name">
+<description>
+Return value: the icon name displayed as logo. The string is
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> the icon name displayed as logo. The string is
+owned by the dialog. If you want to keep a reference
+to it, you have to call g_strdup() on it.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_text_view_get_buffer">
+<description>
+Return value: a #GtkTextBuffer
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GtkTextBuffer
+</return>
+</function>
+
+<function name="gtk_window_set_screen">
+<description>
+Sets the #GdkScreen where the @window is displayed; if
+the window is already mapped, it will be unmapped, and
+then remapped on the new screen.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow.
+</parameter_description>
+</parameter>
+<parameter name="screen">
+<parameter_description> a #GdkScreen.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_set_alignment">
+<description>
+Sets the alignment of the title or custom widget inside the column header.
+The alignment determines its location inside the button -- 0.0 for left, 0.5
+for center, 1.0 for right.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+<parameter name="xalign">
+<parameter_description> The alignment, which is between [0.0 and 1.0] inclusive.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_system_unix_new">
+<description>
+Creates a new #GtkFileSystemUnix object. #GtkFileSystemUnix
+implements the #GtkFileSystem interface with direct access to
+the filesystem using Unix/Linux API calls
+
+
+</description>
+<parameters>
+</parameters>
+<return> the new #GtkFileSystemUnix object
+</return>
+</function>
+
+<function name="gtk_radio_action_get_current_value">
+<description>
+Obtains the value property of the currently active member of
+the group to which @action belongs.
+
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> a #GtkRadioAction
+</parameter_description>
+</parameter>
+</parameters>
+<return> The value of the currently active group member
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_recent_info_last_application">
+<description>
+Gets the name of the last application that have registered the
+recently used resource represented by @info.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GtkRecentInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> an application name. Use g_free() to free it.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_im_context_get_preedit_string">
+<description>
+Retrieve the current preedit string for the input context,
+and a list of attributes to apply to the string.
+This string should be displayed inserted at the insertion
+point.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkIMContext
+</parameter_description>
+</parameter>
+<parameter name="str">
+<parameter_description> location to store the retrieved string. The
+string retrieved must be freed with g_free ().
+</parameter_description>
+</parameter>
+<parameter name="attrs">
+<parameter_description> location to store the retrieved attribute list.
+When you are done with this list, you must
+unreference it with pango_attr_list_unref().
+</parameter_description>
+</parameter>
+<parameter name="cursor_pos">
+<parameter_description> location to store position of cursor (in characters)
+within the preedit string.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_layout_validate_yrange">
+<description>
+Ensure that a region of a #GtkTextLayout is valid. The ::changed
+signal will be emitted if any lines are validated.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkTextLayout
+</parameter_description>
+</parameter>
+<parameter name="anchor">
+<parameter_description> iter pointing into a line that will be used as the
+coordinate origin
+</parameter_description>
+</parameter>
+<parameter name="y0_">
+<parameter_description> offset from the top of the line pointed to by @anchor at
+which to begin validation. (The offset here is in pixels
+after validation.)
+</parameter_description>
+</parameter>
+<parameter name="y1_">
+<parameter_description> offset from the top of the line pointed to by @anchor at
+which to end validation. (The offset here is in pixels
+after validation.)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_list_store_insert_with_values">
+<description>
+Creates a new row at @position. @iter will be changed to point to this new
+row. If @position is larger than the number of rows on the list, then the
+new row will be appended to the list. The row will be filled with the
+values given to this function.
+
+Calling
+&amp;lt;literal&amp;gt;gtk_list_store_insert_with_values(list_store, iter, position...)&amp;lt;/literal&amp;gt;
+has the same effect as calling
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+gtk_list_store_insert (list_store, iter, position);
+gtk_list_store_set (list_store, iter, ...);
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+with the difference that the former will only emit a row_inserted signal,
+while the latter will emit row_inserted, row_changed and, if the list store
+is sorted, rows_reordered. Since emitting the rows_reordered signal
+repeatedly can affect the performance of the program,
+gtk_list_store_insert_with_values() should generally be preferred when
+inserting rows in a sorted list store.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="list_store">
+<parameter_description> A #GtkListStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> An unset #GtkTreeIter to set to the new row, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> position to insert the new row
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> pairs of column number and value, terminated with -1
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkRecentChooser">
+<description>
+This signal is emitted when the user &quot;activates&quot; a recent item
+in the recent chooser. This can happen by double-clicking on an item
+in the recently used resources list, or by pressing
+&amp;lt;keycap&amp;gt;Enter&amp;lt;/keycap&amp;gt;.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> the object which received the signal
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_combo_box_entry_get_text_column">
+<description>
+Return value: A column in the data source model of @entry_box.
+
+</description>
+<parameters>
+<parameter name="entry_box">
+<parameter_description> A #GtkComboBoxEntry.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A column in the data source model of @entry_box.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_menu_item_set_accel_path">
+<description>
+Set the accelerator path on @menu_item, through which runtime changes of the
+menu item&apos;s accelerator caused by the user can be identified and saved to
+persistant storage (see gtk_accel_map_save() on this).
+To setup a default accelerator for this menu item, call
+gtk_accel_map_add_entry() with the same @accel_path.
+See also gtk_accel_map_add_entry() on the specifics of accelerator paths,
+and gtk_menu_set_accel_path() for a more convenient variant of this function.
+
+This function is basically a convenience wrapper that handles calling
+gtk_widget_set_accel_path() with the appropriate accelerator group for
+the menu item.
+
+Note that you do need to set an accelerator on the parent menu with
+gtk_menu_set_accel_group() for this to work.
+
+</description>
+<parameters>
+<parameter name="menu_item">
+<parameter_description> a valid #GtkMenuItem
+</parameter_description>
+</parameter>
+<parameter name="accel_path">
+<parameter_description> accelerator path, corresponding to this menu item&apos;s
+functionality, or %NULL to unset the current path.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_selection_set_select_multiple">
+<description>
+Sets whether the user is allowed to select multiple files in the file list.
+Use gtk_file_selection_get_selections () to get the list of selected files.
+
+</description>
+<parameters>
+<parameter name="filesel">
+<parameter_description> a #GtkFileSelection
+</parameter_description>
+</parameter>
+<parameter name="select_multiple">
+<parameter_description> whether or not the user is allowed to select multiple
+files in the file list.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_size_group_get_widgets">
+<description>
+Return value: a #GSList of widgets. The list is owned by GTK+
+
+</description>
+<parameters>
+<parameter name="size_group">
+<parameter_description> a #GtkSizeGrup
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GSList of widgets. The list is owned by GTK+
+and should not be modified.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_path_free">
+<description>
+Frees @path.
+
+</description>
+<parameters>
+<parameter name="path">
+<parameter_description> A #GtkTreePath.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_size_group_set_ignore_hidden">
+<description>
+Sets whether unmapped widgets should be ignored when
+calculating the size.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="size_group">
+<parameter_description> a #GtkSizeGroup
+</parameter_description>
+</parameter>
+<parameter name="ignore_hidden">
+<parameter_description> whether unmapped widgets should be ignored
+when calculating the size
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_clipboard_get">
+<description>
+Return value: the appropriate clipboard object. If no
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> a #GdkAtom which identifies the clipboard
+to use.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the appropriate clipboard object. If no
+clipboard already exists, a new one will
+be created. Once a clipboard object has
+been created, it is persistent and, since
+it is owned by GTK+, must not be freed or
+unrefd.
+</return>
+</function>
+
+<function name="gtk_tree_view_column_get_width">
+<description>
+Return value: The current width of @tree_column.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The current width of @tree_column.
+</return>
+</function>
+
+<function name="_gtk_file_chooser_get_paths">
+<description>
+Lists all the selected files and subfolders in the current folder of @chooser
+as #GtkFilePath. An internal function, see gtk_file_chooser_get_uris().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GSList containing a #GtkFilePath for each selected
+file and subfolder in the current folder. Free the returned list
+with g_slist_free(), and the paths with gtk_file_path_free().
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_notebook_get_tab_label">
+<description>
+Return value: the tab label
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the page
+</parameter_description>
+</parameter>
+</parameters>
+<return> the tab label
+</return>
+</function>
+
+<function name="_gtk_im_module_list">
+<description>
+List all available types of input method context
+
+</description>
+<parameters>
+<parameter name="contexts">
+<parameter_description> location to store an array of pointers to #GtkIMContextInfo
+this array should be freed with g_free() when you are finished.
+The structures it points are statically allocated and should
+not be modified or freed.
+</parameter_description>
+</parameter>
+<parameter name="n_contexts">
+<parameter_description> the length of the array stored in @contexts
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_spin_button_new_with_range">
+<description>
+This is a convenience constructor that allows creation of a numeric
+#GtkSpinButton without manually creating an adjustment. The value is
+initially set to the minimum value and a page increment of 10 * @step
+is the default. The precision of the spin button is equivalent to the
+precision of @step.
+
+Note that the way in which the precision is derived works best if @step
+is a power of ten. If the resulting precision is not suitable for your
+needs, use gtk_spin_button_set_digits() to correct it.
+
+
+</description>
+<parameters>
+<parameter name="min">
+<parameter_description> Minimum allowable value
+</parameter_description>
+</parameter>
+<parameter name="max">
+<parameter_description> Maximum allowable value
+</parameter_description>
+</parameter>
+<parameter name="step">
+<parameter_description> Increment added or subtracted by spinning the widget
+</parameter_description>
+</parameter>
+</parameters>
+<return> The new spin button as a #GtkWidget.
+</return>
+</function>
+
+<function name="gtk_icon_source_get_state_wildcarded">
+<description>
+Gets the value set by gtk_icon_source_set_state_wildcarded().
+
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a #GtkIconSource
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if this icon source is a base for any widget state variant
+</return>
+</function>
+
+<function name="_gtk_recent_chooser_set_delegate">
+<description>
+Establishes that calls on @receiver for #GtkRecentChooser
+methods should be delegated to @delegate, and that
+#GtkRecentChooser signals emitted on @delegate should be
+forwarded to @receiver. Must be used in conjunction with
+_gtk_recent_chooser_delegate_iface_init().
+
+</description>
+<parameters>
+<parameter name="receiver">
+<parameter_description> a #GObject implementing #GtkRecentChooser
+</parameter_description>
+</parameter>
+<parameter name="delegate">
+<parameter_description> another #GObject implementing #GtkRecentChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_builder_value_from_string">
+<description>
+This function demarshals a value from a string. This function
+calls g_value_init() on the @value argument, so it need not be
+initialised beforehand.
+
+This function can handle char, uchar, boolean, int, uint, long,
+ulong, enum, flags, float, double, string, #GdkColor and
+#GtkAdjustment type values. Support for #GtkWidget type values is
+still to come.
+
+
+</description>
+<parameters>
+<parameter name="builder">
+<parameter_description> a #GtkBuilder
+</parameter_description>
+</parameter>
+<parameter name="pspec">
+<parameter_description> the #GParamSpec for the property
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> the string representation of the value
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> the #GValue to store the result in
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for an error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE on success
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_text_iter_forward_visible_cursor_position">
+<description>
+Moves @iter forward to the next visible cursor position. See
+gtk_text_iter_forward_cursor_position() for details.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if we moved and the new position is dereferenceable
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tree_view_set_search_equal_func">
+<description>
+Sets the compare function for the interactive search capabilities; note
+that somewhat like strcmp() returning 0 for equality
+#GtkTreeViewSearchEqualFunc returns %FALSE on matches.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="search_equal_func">
+<parameter_description> the compare function to use during the search
+</parameter_description>
+</parameter>
+<parameter name="search_user_data">
+<parameter_description> user data to pass to @search_equal_func, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="search_destroy">
+<parameter_description> Destroy notifier for @search_user_data, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_add_mnemonic_label">
+<description>
+Adds a widget to the list of mnemonic labels for
+this widget. (See gtk_widget_list_mnemonic_labels()). Note the
+list of mnemonic labels for the widget is cleared when the
+widget is destroyed, so the caller must make sure to update
+its internal state at this point as well, by using a connection
+to the #GtkWidget::destroy signal or a weak notifier.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="label">
+<parameter_description> a #GtkWidget that acts as a mnemonic label for @widget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_cell_renderer_accel_new">
+<description>
+Creates a new #GtkCellRendererAccel.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the new cell renderer
+
+Since: 2.10
+</return>
+</function>
+
+<function name="GtkToggleAction">
+<description>
+If the toggle action should be active in or not.
+
+Since: 2.10
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_rc_add_default_file">
+<description>
+Adds a file to the list of files to be parsed at the
+end of gtk_init().
+
+</description>
+<parameters>
+<parameter name="filename">
+<parameter_description> the pathname to the file. If @filename is not absolute, it
+is searched in the current directory.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_operation_get_status_string">
+<description>
+Return value: a string representation of the status
+
+</description>
+<parameters>
+<parameter name="op">
+<parameter_description> a #GtkPrintOperation
+</parameter_description>
+</parameter>
+</parameters>
+<return> a string representation of the status
+of the print operation
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_status_icon_set_from_file">
+<description>
+Makes @status_icon display the file @filename.
+See gtk_status_icon_new_from_file() for details.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="status_icon">
+<parameter_description> a #GtkStatusIcon
+</parameter_description>
+</parameter>
+<parameter name="filename">
+<parameter_description> a filename
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_backspace">
+<description>
+Performs the appropriate action as if the user hit the delete
+key with the cursor at the position specified by @iter. In the
+normal case a single character will be deleted, but when
+combining accents are involved, more than one character can
+be deleted, and when precomposed character and accent combinations
+are involved, less than one character will be deleted.
+
+Because the buffer is modified, all outstanding iterators become
+invalid after calling this function; however, the @iter will be
+re-initialized to point to the location where text was deleted.
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a position in @buffer
+</parameter_description>
+</parameter>
+<parameter name="interactive">
+<parameter_description> whether the deletion is caused by user interaction
+</parameter_description>
+</parameter>
+<parameter name="default_editable">
+<parameter_description> whether the buffer is editable by default
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the buffer was modified
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_color_button_get_color">
+<description>
+Sets @color to be the current color in the #GtkColorButton widget.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="color_button">
+<parameter_description> a #GtkColorButton.
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> a #GdkColor to fill in with the current color.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_action_group_add_action">
+<description>
+Adds an action object to the action group. Note that this function
+does not set up the accel path of the action, which can lead to problems
+if a user tries to modify the accelerator of a menuitem associated with
+the action. Therefore you must either set the accel path yourself with
+gtk_action_set_accel_path(), or use
+&amp;lt;literal&amp;gt;gtk_action_group_add_action_with_accel (..., NULL)&amp;lt;/literal&amp;gt;.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action_group">
+<parameter_description> the action group
+</parameter_description>
+</parameter>
+<parameter name="action">
+<parameter_description> an action
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_tag_table_add">
+<description>
+Add a tag to the table. The tag is assigned the highest priority
+in the table.
+
+@tag must not be in a tag table already, and may not have
+the same name as an already-added tag.
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a #GtkTextTagTable
+</parameter_description>
+</parameter>
+<parameter name="tag">
+<parameter_description> a #GtkTextTag
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_page_setup_set_left_margin">
+<description>
+Sets the left margin of the #GtkPageSetup.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+<parameter name="margin">
+<parameter_description> the new left margin in units of @unit
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the units for @margin
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_destroyed">
+<description>
+This function sets *@widget_pointer to %NULL if @widget_pointer !=
+%NULL. It&apos;s intended to be used as a callback connected to the
+&quot;destroy&quot; signal of a widget. You connect gtk_widget_destroyed()
+as a signal handler, and pass the address of your widget variable
+as user data. Then when the widget is destroyed, the variable will
+be set to %NULL. Useful for example to avoid multiple copies
+of the same dialog.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="widget_pointer">
+<parameter_description> address of a variable that contains @widget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_chooser_set_select_multiple">
+<description>
+Sets whether @chooser can select multiple items.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+<parameter name="select_multiple">
+<parameter_description> %TRUE if @chooser can select more than one item
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_view_select_path">
+<description>
+Selects the row at @path.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView.
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> The #GtkTreePath to be selected.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_status_icon_set_from_stock">
+<description>
+Makes @status_icon display the stock icon with the id @stock_id.
+See gtk_status_icon_new_from_stock() for details.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="status_icon">
+<parameter_description> a #GtkStatusIcon
+</parameter_description>
+</parameter>
+<parameter name="stock_id">
+<parameter_description> a stock icon id
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_store_iter_is_valid">
+<description>
+WARNING: This function is slow. Only use it for debugging and/or testing
+purposes.
+
+Checks if the given iter is a valid iter for this #GtkTreeStore.
+
+
+</description>
+<parameters>
+<parameter name="tree_store">
+<parameter_description> A #GtkTreeStore.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> A #GtkTreeIter.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the iter is valid, %FALSE if the iter is invalid.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="GtkToolButton">
+<description>
+This signal is emitted when the tool button is clicked with the mouse
+or activated with the keyboard.
+
+</description>
+<parameters>
+<parameter name="toolbutton">
+<parameter_description> the object that emitted the signal
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_attributes_new">
+<description>
+Creates a #GtkTextAttributes, which describes
+a set of properties on some text.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkTextAttributes
+</return>
+</function>
+
+<function name="gtk_clipboard_set_can_store">
+<description>
+Hints that the clipboard data should be stored somewhere when the
+application exits or when gtk_clipboard_store () is called.
+
+This value is reset when the clipboard owner changes.
+Where the clipboard data is stored is platform dependent,
+see gdk_display_store_clipboard () for more information.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard
+</parameter_description>
+</parameter>
+<parameter name="targets">
+<parameter_description> array containing information about which forms should be stored
+or %NULL to indicate that all forms should be stored.
+</parameter_description>
+</parameter>
+<parameter name="n_targets">
+<parameter_description> number of elements in @targets
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_run_page_setup_dialog">
+<description>
+Runs a page setup dialog, letting the user modify the values from
+@page_setup. If the user cancels the dialog, the returned #GtkPageSetup
+is identical to the passed in @page_setup, otherwise it contains the
+modifications done in the dialog.
+
+Note that this function may use a recursive mainloop to show the page
+setup dialog. See gtk_print_run_page_setup_dialog_async() if this is
+a problem.
+
+
+</description>
+<parameters>
+<parameter name="parent">
+<parameter_description> transient parent, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="page_setup">
+<parameter_description> an existing #GtkPageSetup, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkPageSetup
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_clipboard_request_targets">
+<description>
+Requests the contents of the clipboard as list of supported targets.
+When the list is later received, @callback will be called.
+
+The @targets parameter to @callback will contain the resulting targets if
+the request succeeded, or %NULL if it failed.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> a function to call when the targets are received,
+or the retrieval fails. (It will always be called
+one way or the other.)
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data to pass to @callback.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_iter_copy">
+<description>
+Creates a dynamically allocated tree iterator as a copy of @iter. This
+function is not intended for use in applications, because you can just copy
+the structs by value (&amp;lt;literal&amp;gt;GtkTreeIter new_iter = iter;&amp;lt;/literal&amp;gt;). You
+must free this iter with gtk_tree_iter_free ().
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> A #GtkTreeIter.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated copy of @iter.
+</return>
+</function>
+
+<function name="gtk_recent_chooser_get_filter">
+<description>
+Gets the #GtkRecentFilter object currently used by @chooser to affect
+the display of the recently used resources.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GtkRecentFilter object.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_widget_get_tooltip_window">
+<description>
+Return value: The #GtkWindow of the current tooltip.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GtkWindow of the current tooltip.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="GtkColorButton">
+<description>
+The ::color-set signal is emitted when the user selects a color.
+When handling this signal, use gtk_color_button_get_color() and
+gtk_color_button_get_alpha() to find out which color was just selected.
+
+Note that this signal is only emitted when the &amp;lt;emphasis&amp;gt;user&amp;lt;/emphasis&amp;gt;
+changes the color. If you need to react to programmatic color changes
+as well, use the notify::color signal.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> the object which received the signal.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_selection_data_targets_include_rich_text">
+<description>
+Given a #GtkSelectionData object holding a list of targets,
+determines if any of the targets in @targets can be used to
+provide rich text.
+
+
+</description>
+<parameters>
+<parameter name="selection_data">
+<parameter_description> a #GtkSelectionData object
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @selection_data holds a list of targets,
+and a suitable target for rich text is included,
+otherwise %FALSE.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_model_unref_node">
+<description>
+Lets the tree unref the node. This is an optional method for models to
+implement. To be more specific, models may ignore this call as it exists
+primarily for performance reasons.
+
+For more information on what this means, see gtk_tree_model_ref_node().
+Please note that nodes that are deleted are not unreffed.
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> The #GtkTreeIter.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_info_get_groups">
+<description>
+Return value: a newly allocated %NULL terminated array of strings. Use
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GtkRecentInfo
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> return location for the number of groups returned, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated %NULL terminated array of strings. Use
+g_strfreev() to free it.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_toolbar_get_n_items">
+<description>
+Return value: the number of items on the toolbar
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of items on the toolbar
+
+Since: 2.4
+</return>
+</function>
+
+<function name="_gtk_text_util_get_block_cursor_location">
+<description>
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="index">
+<parameter_description> index at which cursor is located
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> cursor location
+</parameter_description>
+</parameter>
+<parameter name="at_line_end">
+<parameter_description> whether cursor i sdrawn at line end, not over some
+character
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether cursor should actually be drawn as a rectangle.
+It may not be the case if character at index is invisible.
+</return>
+</function>
+
+<function name="gtk_text_iter_is_cursor_position">
+<description>
+See gtk_text_iter_forward_cursor_position() or #PangoLogAttr or
+pango_break() for details on what a cursor position is.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the cursor can be placed at @iter
+</return>
+</function>
+
+<function name="gtk_text_iter_get_attributes">
+<description>
+Computes the effect of any tags applied to this spot in the
+text. The @values parameter should be initialized to the default
+settings you wish to use if no tags are in effect. You&apos;d typically
+obtain the defaults from gtk_text_view_get_default_attributes().
+
+gtk_text_iter_get_attributes () will modify @values, applying the
+effects of any tags present at @iter. If any tags affected @values,
+the function returns %TRUE.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+<parameter name="values">
+<parameter_description> a #GtkTextAttributes to be filled in
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @values was modified
+</return>
+</function>
+
+<function name="gtk_tree_model_filter_set_visible_func">
+<description>
+Sets the visible function used when filtering the @filter to be @func. The
+function should return %TRUE if the given row should be visible and
+%FALSE otherwise.
+
+If the condition calculated by the function changes over time (e.g. because
+it depends on some global parameters), you must call
+gtk_tree_model_filter_refilter() to keep the visibility information of
+the model uptodate.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> A #GtkTreeModelFilter.
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> A #GtkTreeModelFilterVisibleFunc, the visible function.
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> User data to pass to the visible function, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> Destroy notifier of @data, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_get_iter_at_line_index">
+<description>
+Obtains an iterator pointing to @byte_index within the given line.
+@byte_index must be the start of a UTF-8 character, and must not be
+beyond the end of the line. Note &amp;lt;emphasis&amp;gt;bytes&amp;lt;/emphasis&amp;gt;, not
+characters; UTF-8 may encode one character as multiple bytes.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> iterator to initialize
+</parameter_description>
+</parameter>
+<parameter name="line_number">
+<parameter_description> line number counting from 0
+</parameter_description>
+</parameter>
+<parameter name="byte_index">
+<parameter_description> byte index from start of line
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_model_filter_refilter">
+<description>
+Emits ::row_changed for each row in the child model, which causes
+the filter to re-evaluate whether a row is visible or not.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> A #GtkTreeModelFilter.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkEntry">
+<description>
+Sets the text area&apos;s border between the text and the frame.
+
+Since: 2.10
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_set_role">
+<description>
+This function is only useful on X11, not with other GTK+ targets.
+
+In combination with the window title, the window role allows a
+&amp;lt;link linkend=&quot;gtk-X11-arch&quot;&amp;gt;window manager&amp;lt;/link&amp;gt; to identify &quot;the
+same&quot; window when an application is restarted. So for example you
+might set the &quot;toolbox&quot; role on your app&apos;s toolbox window, so that
+when the user restarts their session, the window manager can put
+the toolbox back in the same place.
+
+If a window already has a unique title, you don&apos;t need to set the
+role, since the WM can use the title to identify the window when
+restoring the session.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="role">
+<parameter_description> unique identifier for the window to be used when restoring a session
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_size_register">
+<description>
+Registers a new icon size, along the same lines as #GTK_ICON_SIZE_MENU,
+etc. Returns the integer value for the size.
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> name of the icon size
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the icon width
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the icon height
+</parameter_description>
+</parameter>
+</parameters>
+<return> integer value representing the size
+
+</return>
+</function>
+
+<function name="gtk_tool_item_new">
+<description>
+Creates a new #GtkToolItem
+
+
+</description>
+<parameters>
+</parameters>
+<return> the new #GtkToolItem
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_button_get_alignment">
+<description>
+Gets the alignment of the child in the button.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkButton
+</parameter_description>
+</parameter>
+<parameter name="xalign">
+<parameter_description> return location for horizontal alignment
+</parameter_description>
+</parameter>
+<parameter name="yalign">
+<parameter_description> return location for vertical alignment
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_set_search_column">
+<description>
+Sets @column as the column where the interactive search code should
+search in.
+
+If the sort column is set, users can use the &quot;start-interactive-search&quot;
+key binding to bring up search popup. The enable-search property controls
+whether simply typing text will also start an interactive search.
+
+Note that @column refers to a column of the model.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> the column of the model to search in, or -1 to disable searching
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_old_editable_changed">
+<description>
+Emits the ::changed signal on @old_editable.
+
+</description>
+<parameters>
+<parameter name="old_editable">
+<parameter_description> a #GtkOldEditable
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_clipboard_store">
+<description>
+Stores the current clipboard data somewhere so that it will stay
+around after the application has quit.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_system_volume_get_icon_name">
+<description>
+Gets an icon name suitable for a #GtkFileSystemVolume.
+
+
+</description>
+<parameters>
+<parameter name="file_system">
+<parameter_description> a #GtkFileSystem
+</parameter_description>
+</parameter>
+<parameter name="volume">
+<parameter_description> a #GtkFileSystemVolume
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> An icon name which can be used for rendering an icon for
+this volume, or %NULL if no icon name could be found. In the latter
+case, the @error value will be set as appropriate.
+</return>
+</function>
+
+<function name="gtk_text_buffer_get_insert">
+<description>
+Return value: insertion point mark
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> insertion point mark
+</return>
+</function>
+
+<function name="gtk_file_system_volume_free">
+<description>
+Frees a #GtkFileSystemVolume structure as returned by
+gtk_file_system_list_volumes().
+
+</description>
+<parameters>
+<parameter name="file_system">
+<parameter_description> a #GtkFileSystem
+</parameter_description>
+</parameter>
+<parameter name="volume">
+<parameter_description> a #GtkFileSystemVolume
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_binding_entry_skip">
+<description>
+Since: 2.12
+
+Install a binding on @binding_set which causes key lookups
+to be aborted, to prevent bindings from lower priority sets
+to be activated.
+
+</description>
+<parameters>
+<parameter name="binding_set">
+<parameter_description> @binding_set to skip an entry of
+</parameter_description>
+</parameter>
+<parameter name="keyval">
+<parameter_description> key value of binding to skip
+</parameter_description>
+</parameter>
+<parameter name="modifiers">
+<parameter_description> key modifier of binding to skip
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_destroy">
+<description>
+Destroys a widget. Equivalent to gtk_object_destroy(), except that
+you don&apos;t have to cast the widget to #GtkObject. When a widget is
+destroyed, it will break any references it holds to other objects.
+If the widget is inside a container, the widget will be removed
+from the container. If the widget is a toplevel (derived from
+#GtkWindow), it will be removed from the list of toplevels, and the
+reference GTK+ holds to it will be removed. Removing a
+widget from its container or the list of toplevels results in the
+widget being finalized, unless you&apos;ve added additional references
+to the widget with g_object_ref().
+
+In most cases, only toplevel widgets (windows) require explicit
+destruction, because when you destroy a toplevel its children will
+be destroyed as well.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_path_is_ancestor">
+<description>
+Return value: %TRUE if @descendant is contained inside @path
+
+</description>
+<parameters>
+<parameter name="path">
+<parameter_description> a #GtkTreePath
+</parameter_description>
+</parameter>
+<parameter name="descendant">
+<parameter_description> another #GtkTreePath
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @descendant is contained inside @path
+</return>
+</function>
+
+<function name="gtk_tree_drag_source_drag_data_get">
+<description>
+Asks the #GtkTreeDragSource to fill in @selection_data with a
+representation of the row at @path. @selection_data-&amp;gt;target gives
+the required type of the data. Should robustly handle a @path no
+longer found in the model!
+
+
+</description>
+<parameters>
+<parameter name="drag_source">
+<parameter_description> a #GtkTreeDragSource
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> row that was dragged
+</parameter_description>
+</parameter>
+<parameter name="selection_data">
+<parameter_description> a #GtkSelectionData to fill with data from the dragged row
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if data of the required type was provided
+</return>
+</function>
+
+<function name="gtk_text_iter_forward_to_tag_toggle">
+<description>
+Moves forward to the next toggle (on or off) of the
+#GtkTextTag @tag, or to the next toggle of any tag if
+@tag is %NULL. If no matching tag toggles are found,
+Return value: whether we found a tag toggle after @iter
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="tag">
+<parameter_description> a #GtkTextTag, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether we found a tag toggle after @iter
+</return>
+</function>
+
+<function name="gtk_file_system_path_is_local">
+<description>
+Checks whether a #GtkFilePath is local; that is whether
+gtk_file_system_path_to_filename would return non-%NULL.
+
+
+</description>
+<parameters>
+<parameter name="filesystem">
+<parameter_description> a #GtkFileSystem
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> A #GtkFilePath from that filesystem
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the path is loca
+</return>
+</function>
+
+<function name="gtk_widget_get_child_requisition">
+<description>
+This function is only for use in widget implementations. Obtains
+@widget-&amp;gt;requisition, unless someone has forced a particular
+geometry on the widget (e.g. with gtk_widget_set_usize()), in which
+case it returns that geometry instead of the widget&apos;s requisition.
+
+This function differs from gtk_widget_size_request() in that
+it retrieves the last size request value from @widget-&amp;gt;requisition,
+while gtk_widget_size_request() actually calls the &quot;size_request&quot; method
+on @widget to compute the size request and fill in @widget-&amp;gt;requisition,
+and only then returns @widget-&amp;gt;requisition.
+
+Because this function does not call the &quot;size_request&quot; method, it
+can only be used when you know that @widget-&amp;gt;requisition is
+up-to-date, that is, gtk_widget_size_request() has been called
+since the last time a resize was queued. In general, only container
+implementations have this information; applications should use
+gtk_widget_size_request().
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="requisition">
+<parameter_description> a #GtkRequisition to be filled in
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_rc_find_module_in_path">
+<description>
+Searches for a theme engine in the GTK+ search path. This function
+is not useful for applications and should not be used.
+
+
+</description>
+<parameters>
+<parameter name="module_file">
+<parameter_description> name of a theme engine
+</parameter_description>
+</parameter>
+</parameters>
+<return> The filename, if found (must be freed with g_free()),
+otherwise %NULL.
+</return>
+</function>
+
+<function name="_gtk_plug_add_to_socket">
+<description>
+Adds a plug to a socket within the same application.
+
+</description>
+<parameters>
+<parameter name="plug">
+<parameter_description> a #GtkPlug
+</parameter_description>
+</parameter>
+<parameter name="socket_">
+<parameter_description> a #GtkSocket
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_draw_hline">
+<description>
+Draws a horizontal line from (@x1, @y) to (@x2, @y) in @window
+using the given style and state.
+
+Deprecated: Use gtk_paint_hline() instead.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="x1">
+<parameter_description> the starting x coordinate
+</parameter_description>
+</parameter>
+<parameter name="x2">
+<parameter_description> the ending x coordinate
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y coordinate
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_chooser_dialog_new_for_manager">
+<description>
+Creates a new #GtkRecentChooserDialog with a specified recent manager.
+
+This is useful if you have implemented your own recent manager, or if you
+have a customized instance of a #GtkRecentManager object.
+
+
+</description>
+<parameters>
+<parameter name="title">
+<parameter_description> Title of the dialog, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> Transient parent of the dialog, or %NULL,
+</parameter_description>
+</parameter>
+<parameter name="manager">
+<parameter_description> a #GtkRecentManager
+</parameter_description>
+</parameter>
+<parameter name="first_button_text">
+<parameter_description> stock ID or text to go in the first button, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> response ID for the first button, then additional (button, id)
+pairs, ending with %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkRecentChooserDialog
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_image_get_image">
+<description>
+Gets the #GdkImage and mask being displayed by the #GtkImage.
+The storage type of the image must be %GTK_IMAGE_EMPTY or
+%GTK_IMAGE_IMAGE (see gtk_image_get_storage_type()).
+The caller of this function does not own a reference to the
+returned image and mask.
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GtkImage
+</parameter_description>
+</parameter>
+<parameter name="gdk_image">
+<parameter_description> return location for a #GtkImage
+</parameter_description>
+</parameter>
+<parameter name="mask">
+<parameter_description> return location for a #GdkBitmap
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_text_util_append_special_char_menuitems">
+<description>
+Add menuitems for various bidi control characters to a menu;
+the menuitems, when selected, will call the given function
+with the chosen character.
+
+This function is private/internal in GTK 2.0, the functionality may
+become public sometime, but it probably needs more thought first.
+e.g. maybe there should be a way to just get the list of items,
+instead of requiring the menu items to be created.
+
+</description>
+<parameters>
+<parameter name="menushell">
+<parameter_description> a #GtkMenuShell
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> call this when an item is chosen
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data for callback
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_group_add_window">
+<description>
+Adds a window to a #GtkWindowGroup.
+
+</description>
+<parameters>
+<parameter name="window_group">
+<parameter_description> a #GtkWindowGroup
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> the #GtkWindow to add
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_status_icon_set_visible">
+<description>
+Shows or hides a status icon.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="status_icon">
+<parameter_description> a #GtkStatusIcon
+</parameter_description>
+</parameter>
+<parameter name="visible">
+<parameter_description> %TRUE to show the status icon, %FALSE to hide it
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tool_button_get_label_widget">
+<description>
+Return value: The widget used as label on @button, or %NULL.
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkToolButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> The widget used as label on @button, or %NULL.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_text_iter_get_pixbuf">
+<description>
+If the element at @iter is a pixbuf, the pixbuf is returned
+(with no new reference count added). Otherwise,
+%NULL is returned.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> the pixbuf at @iter
+</return>
+</function>
+
+<function name="gtk_spin_button_set_adjustment">
+<description>
+Replaces the #GtkAdjustment associated with @spin_button.
+
+</description>
+<parameters>
+<parameter name="spin_button">
+<parameter_description> a #GtkSpinButton
+</parameter_description>
+</parameter>
+<parameter name="adjustment">
+<parameter_description> a #GtkAdjustment to replace the existing adjustment
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_ensure_style">
+<description>
+Ensures that @widget has a style (@widget-&amp;gt;style). Not a very useful
+function; most of the time, if you want the style, the widget is
+realized, and realized widgets are guaranteed to have a style
+already.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_info_set_raw_coordinates">
+<description>
+Sets whether the coordinates returned by gtk_icon_info_get_embedded_rect()
+and gtk_icon_info_get_attach_points() should be returned in their
+original form as specified in the icon theme, instead of scaled
+appropriately for the pixbuf returned by gtk_icon_info_load_icon().
+
+Raw coordinates are somewhat strange; they are specified to be with
+respect to the unscaled pixmap for PNG and XPM icons, but for SVG
+icons, they are in a 1000x1000 coordinate space that is scaled
+to the final size of the icon. You can determine if the icon is an SVG
+icon by using gtk_icon_info_get_filename(), and seeing if it is non-%NULL
+and ends in &apos;.svg&apos;.
+
+This function is provided primarily to allow compatibility wrappers
+for older API&apos;s, and is not expected to be useful for applications.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="icon_info">
+<parameter_description> a #GtkIconInfo
+</parameter_description>
+</parameter>
+<parameter name="raw_coordinates">
+<parameter_description> whether the coordinates of embedded rectangles
+and attached points should be returned in their original
+(unscaled) form.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_get_sizing">
+<description>
+Return value: The type of @tree_column.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The type of @tree_column.
+</return>
+</function>
+
+<function name="gtk_list_store_new">
+<description>
+Creates a new list store as with @n_columns columns each of the types passed
+in. Note that only types derived from standard GObject fundamental types
+are supported.
+
+As an example, &amp;lt;literal&amp;gt;gtk_tree_store_new (3, G_TYPE_INT, G_TYPE_STRING,
+GDK_TYPE_PIXBUF);&amp;lt;/literal&amp;gt; will create a new #GtkListStore with three columns, of type
+int, string and #GdkPixbuf respectively.
+
+
+</description>
+<parameters>
+<parameter name="n_columns">
+<parameter_description> number of columns in the list store
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> all #GType types for the columns, from first to last
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkListStore
+</return>
+</function>
+
+<function name="gtk_text_iter_starts_line">
+<description>
+Return value: whether @iter begins a line
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @iter begins a line
+</return>
+</function>
+
+<function name="gtk_action_create_menu">
+<description>
+If @action provides a #GtkMenu widget as a submenu for the menu
+item or the toolbar item it creates, this function returns an
+instance of that menu.
+
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> a #GtkAction
+</parameter_description>
+</parameter>
+</parameters>
+<return> the menu item provided by the action, or %NULL.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="_gtk_path_bar_down">
+<description>
+If the selected button in the pathbar is not the furthest button &quot;down&quot; (in the
+leaf direction), act as if the user clicked on the next button down.
+
+</description>
+<parameters>
+<parameter name="path_bar">
+<parameter_description> a #GtkPathBar
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_rc_property_parse_requisition">
+<description>
+A #GtkRcPropertyParser for use with gtk_settings_install_property_parser()
+or gtk_widget_class_install_style_property_parser() which parses a
+requisition in the form
+&amp;lt;literal&amp;gt;&quot;{ width, height }&quot;&amp;lt;/literal&amp;gt; for integers %width and %height.
+
+
+</description>
+<parameters>
+<parameter name="pspec">
+<parameter_description> a #GParamSpec
+</parameter_description>
+</parameter>
+<parameter name="gstring">
+<parameter_description> the #GString to be parsed
+</parameter_description>
+</parameter>
+<parameter name="property_value">
+<parameter_description> a #GValue which must hold boxed values.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @gstring could be parsed and @property_value
+has been set to the resulting #GtkRequisition.
+</return>
+</function>
+
+<function name="gtk_recent_info_get_age">
+<description>
+Gets the number of days elapsed since the last update of the resource
+pointed by @info.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GtkRecentInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> a positive integer containing the number of days elapsed
+since the time this resource was last modified.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="GtkToolItem">
+<description>
+This signal is emitted when the toolitem&apos;s tooltip changes.
+Application developers can use gtk_tool_item_set_tooltip() to
+set the item&apos;s tooltip.
+
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> the object the signal was emitted on
+</parameter_description>
+</parameter>
+<parameter name="tooltips">
+<parameter_description> the #GtkTooltips
+</parameter_description>
+</parameter>
+<parameter name="tip_text">
+<parameter_description> the tooltip text
+</parameter_description>
+</parameter>
+<parameter name="tip_private">
+<parameter_description> the tooltip private text
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the signal was handled, %FALSE if not
+
+Deprecated: 2.12: With the new tooltip API, there is no
+need to use this signal anymore.
+</return>
+</function>
+
+<function name="gtk_accel_group_from_accel_closure">
+<description>
+Finds the #GtkAccelGroup to which @closure is connected;
+see gtk_accel_group_connect().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> a #GClosure
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GtkAccelGroup to which @closure is connected, or %NULL.
+</return>
+</function>
+
+<function name="gtk_recent_chooser_set_filter">
+<description>
+Sets @filter as the current #GtkRecentFilter object used by @chooser
+to affect the displayed recently used resources.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+<parameter name="filter">
+<parameter_description> a #GtkRecentFilter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_buildable_set_name">
+<description>
+Sets the name of the @buildable object.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="buildable">
+<parameter_description> a #GtkBuildable
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> name to set
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_rc_style_copy">
+<description>
+Makes a copy of the specified #GtkRcStyle. This function
+will correctly copy an RC style that is a member of a class
+derived from #GtkRcStyle.
+
+
+</description>
+<parameters>
+<parameter name="orig">
+<parameter_description> the style to copy
+</parameter_description>
+</parameter>
+</parameters>
+<return> the resulting #GtkRcStyle
+</return>
+</function>
+
+<function name="gtk_toolbar_insert_widget">
+<description>
+Inserts a widget in the toolbar at the given position.
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar.
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> a #GtkWidget to add to the toolbar.
+</parameter_description>
+</parameter>
+<parameter name="tooltip_text">
+<parameter_description> the element&apos;s tooltip.
+</parameter_description>
+</parameter>
+<parameter name="tooltip_private_text">
+<parameter_description> used for context-sensitive help about this toolbar element.
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> the number of widgets to insert this widget after.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_model_iter_parent">
+<description>
+Sets @iter to be the parent of @child. If @child is at the toplevel, and
+doesn&apos;t have a parent, then @iter is set to an invalid iterator and %FALSE
+is returned. @child will remain a valid node after this function has been
+called.
+
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> The new #GtkTreeIter to set to the parent.
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> The #GtkTreeIter.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE, if @iter is set to the parent of @child.
+</return>
+</function>
+
+<function name="gtk_tool_item_get_toolbar_style">
+<description>
+Return value: A #GtkToolbarStyle indicating the toolbar style used
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem:
+</parameter_description>
+</parameter>
+</parameters>
+<return> A #GtkToolbarStyle indicating the toolbar style used
+for @tool_item.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_widget_get_toplevel">
+<description>
+This function returns the topmost widget in the container hierarchy
+@widget is a part of. If @widget has no parent widgets, it will be
+returned as the topmost widget. No reference will be added to the
+returned widget; it should not be unreferenced.
+
+Note the difference in behavior vs. gtk_widget_get_ancestor();
+&amp;lt;literal&amp;gt;gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW)&amp;lt;/literal&amp;gt;
+would return
+%NULL if @widget wasn&apos;t inside a toplevel window, and if the
+window was inside a #GtkWindow-derived widget which was in turn
+inside the toplevel #GtkWindow. While the second case may
+seem unlikely, it actually happens when a #GtkPlug is embedded
+inside a #GtkSocket within the same application.
+
+To reliably find the toplevel #GtkWindow, use
+gtk_widget_get_toplevel() and check if the %TOPLEVEL flags
+is set on the result.
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+GtkWidget *toplevel = gtk_widget_get_toplevel (widget);
+if (GTK_WIDGET_TOPLEVEL (toplevel))
+{
+[ Perform action on toplevel. ]
+}
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the topmost ancestor of @widget, or @widget itself
+if there&apos;s no ancestor.
+</return>
+</function>
+
+<function name="gtk_widget_get_clipboard">
+<description>
+Return value: the appropriate clipboard object. If no
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="selection">
+<parameter_description> a #GdkAtom which identifies the clipboard
+to use. %GDK_SELECTION_CLIPBOARD gives the
+default clipboard. Another common value
+is %GDK_SELECTION_PRIMARY, which gives
+the primary X selection.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the appropriate clipboard object. If no
+clipboard already exists, a new one will
+be created. Once a clipboard object has
+been created, it is persistent for all time.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_printer_get_backend">
+<description>
+Return value: the backend of @printer
+
+</description>
+<parameters>
+<parameter name="printer">
+<parameter_description> a #GtkPrinter
+</parameter_description>
+</parameter>
+</parameters>
+<return> the backend of @printer
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_window_get_accept_focus">
+<description>
+Gets the value set by gtk_window_set_accept_focus().
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if window should receive the input focus
+
+Since: 2.4
+</return>
+</function>
+
+<function name="GtkFileChooserButtons">
+<description>
+The ::file-set signal is emitted when the user selects a file.
+
+Note that this signal is only emitted when the &amp;lt;emphasis&amp;gt;user&amp;lt;/emphasis&amp;gt;
+changes the file.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> the object which received the signal.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkMenuShell">
+<description>
+A boolean that determines whether the menu and its submenus grab the
+keyboard focus. See gtk_menu_shell_set_take_focus() and
+gtk_menu_shell_get_take_focus().
+
+Since: 2.8
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_get_width_chars">
+<description>
+Gets the value set by gtk_entry_set_width_chars().
+
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+</parameters>
+<return> number of chars to request space for, or negative if unset
+</return>
+</function>
+
+<function name="gtk_print_settings_new_from_key_file">
+<description>
+Reads the print settings from the group @group_name in @key_file.
+Return value: the restored #GtkPrintSettings
+
+</description>
+<parameters>
+<parameter name="key_file">
+<parameter_description> the #GKeyFile to retrieve the settings from
+</parameter_description>
+</parameter>
+<parameter name="group_name">
+<parameter_description> the name of the group to use
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for errors, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> the restored #GtkPrintSettings
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_image_set_from_stock">
+<description>
+See gtk_image_new_from_stock() for details.
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GtkImage
+</parameter_description>
+</parameter>
+<parameter name="stock_id">
+<parameter_description> a stock icon name
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> a stock icon size
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_get_mnemonic_widget">
+<description>
+Retrieves the target of the mnemonic (keyboard shortcut) of this
+label. See gtk_label_set_mnemonic_widget().
+
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+</parameters>
+<return> the target of the label&apos;s mnemonic, or %NULL if none
+has been set and the default algorithm will be used.
+</return>
+</function>
+
+<function name="gtk_get_current_event_time">
+<description>
+If there is a current event and it has a timestamp, return that
+timestamp, otherwise return %GDK_CURRENT_TIME.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the timestamp from the current event, or %GDK_CURRENT_TIME.
+</return>
+</function>
+
+<function name="gtk_separator_tool_item_get_draw">
+<description>
+Return value: #TRUE if @separator_tool_item is drawn as a line, or just blank.
+
+</description>
+<parameters>
+<parameter name="item">
+<parameter_description> a #GtkSeparatorToolItem
+</parameter_description>
+</parameter>
+</parameters>
+<return> #TRUE if @separator_tool_item is drawn as a line, or just blank.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_entry_completion_get_inline_completion">
+<description>
+Return value: %TRUE if inline completion is turned on
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> a #GtkEntryCompletion
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if inline completion is turned on
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_entry_get_visibility">
+<description>
+Retrieves whether the text in @entry is visible. See
+gtk_entry_set_visibility().
+
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the text is currently visible
+</return>
+</function>
+
+<function name="gtk_text_child_anchor_new">
+<description>
+Creates a new #GtkTextChildAnchor. Usually you would then insert
+it into a #GtkTextBuffer with gtk_text_buffer_insert_child_anchor().
+To perform the creation and insertion in one step, use the
+convenience function gtk_text_buffer_create_child_anchor().
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkTextChildAnchor
+</return>
+</function>
+
+<function name="gtk_text_iter_free">
+<description>
+Free an iterator allocated on the heap. This function
+is intended for use in language bindings, and is not
+especially useful for applications, because iterators can
+simply be allocated on the stack.
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a dynamically-allocated iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_unix_dialog_get_page_setup">
+<description>
+Gets the page setup that is used by the #GtkPrintUnixDialog.
+
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkPrintUnixDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> the page setup of @dialog.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_view_get_rules_hint">
+<description>
+Gets the setting set by gtk_tree_view_set_rules_hint().
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if rules are useful for the user of this tree
+</return>
+</function>
+
+<function name="gtk_paper_size_copy">
+<description>
+Copies an existing #GtkPaperSize.
+
+
+</description>
+<parameters>
+<parameter name="other">
+<parameter_description> a #GtkPaperSize
+</parameter_description>
+</parameter>
+</parameters>
+<return> a copy of @other
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_text_buffer_insert_with_tags">
+<description>
+Inserts @text into @buffer at @iter, applying the list of tags to
+the newly-inserted text. The last tag specified must be NULL to
+terminate the list. Equivalent to calling gtk_text_buffer_insert(),
+then gtk_text_buffer_apply_tag() on the inserted text;
+gtk_text_buffer_insert_with_tags() is just a convenience function.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> an iterator in @buffer
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> UTF-8 text
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> length of @text, or -1
+</parameter_description>
+</parameter>
+<parameter name="first_tag">
+<parameter_description> first tag to apply to @text
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> NULL-terminated list of tags to apply
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_store_prepend">
+<description>
+Prepends a new row to @tree_store. If @parent is non-%NULL, then it will prepend
+the new row before the first child of @parent, otherwise it will prepend a row
+to the top level. @iter will be changed to point to this new row. The row
+will be empty after this function is called. To fill in values, you need to
+call gtk_tree_store_set() or gtk_tree_store_set_value().
+
+</description>
+<parameters>
+<parameter name="tree_store">
+<parameter_description> A #GtkTreeStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> An unset #GtkTreeIter to set to the prepended row
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> A valid #GtkTreeIter, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_spin_button_get_increments">
+<description>
+Gets the current step and page the increments used by @spin_button. See
+gtk_spin_button_set_increments().
+
+</description>
+<parameters>
+<parameter name="spin_button">
+<parameter_description> a #GtkSpinButton
+</parameter_description>
+</parameter>
+<parameter name="step">
+<parameter_description> location to store step increment, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="page">
+<parameter_description> location to store page increment, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_combo_box_set_title">
+<description>
+Sets the menu&apos;s title in tearoff mode.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> a #GtkComboBox
+</parameter_description>
+</parameter>
+<parameter name="title">
+<parameter_description> a title for the menu in tearoff mode
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_ends_sentence">
+<description>
+Determines whether @iter ends a sentence. Sentence boundaries are
+determined by Pango and should be correct for nearly any language
+(if not, the correct fix would be to the Pango text boundary
+algorithms).
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter is at the end of a sentence.
+</return>
+</function>
+
+<function name="gtk_toolbar_set_icon_size">
+<description>
+This function sets the size of stock icons in the toolbar. You
+can call it both before you add the icons and after they&apos;ve been
+added. The size you set will override user preferences for the default
+icon size.
+
+This should only be used for special-purpose toolbars, normal
+application toolbars should respect the user preferences for the
+size of icons.
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> A #GtkToolbar
+</parameter_description>
+</parameter>
+<parameter name="icon_size">
+<parameter_description> The #GtkIconSize that stock icons in the toolbar shall have.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_filter_add_application">
+<description>
+Adds a rule that allows resources based on the name of the application
+that has registered them.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> a #GtkRecentFilter
+</parameter_description>
+</parameter>
+<parameter name="application">
+<parameter_description> an application name
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_widget_new_with_backend">
+<description>
+Creates a new #GtkFileChooserWidget with a specified backend. This is
+especially useful if you use gtk_file_chooser_set_local_only() to allow
+non-local files. This is a file chooser widget that can be embedded in
+custom windows and it is the same widget that is used by
+#GtkFileChooserDialog.
+
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> Open or save mode for the widget
+</parameter_description>
+</parameter>
+<parameter name="backend">
+<parameter_description> The name of the specific filesystem backend to use.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkFileChooserWidget
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_label_set_ellipsize">
+<description>
+Sets the mode used to ellipsize (add an ellipsis: &quot;...&quot;) to the text
+if there is not enough space to render the entire string.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+<parameter name="mode">
+<parameter_description> a #PangoEllipsizeMode
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_get_scale">
+<description>
+Gets the value of %GTK_PRINT_SETTINGS_SCALE.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return> the scale in percent
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tool_button_new">
+<description>
+Creates a new %GtkToolButton using @icon_widget as icon and @label as
+label.
+
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a string that will be used as label, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="icon_widget">
+<parameter_description> a widget that will be used as icon widget, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> A new #GtkToolButton
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_print_settings_get_duplex">
+<description>
+Gets the value of %GTK_PRINT_SETTINGS_DUPLEX.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether to print the output in duplex.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_print_settings_get_int">
+<description>
+Return value: the integer value of @key
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+</parameters>
+<return> the integer value of @key
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_window_set_decorated">
+<description>
+By default, windows are decorated with a title bar, resize
+controls, etc. Some &amp;lt;link linkend=&quot;gtk-X11-arch&quot;&amp;gt;window
+managers&amp;lt;/link&amp;gt; allow GTK+ to disable these decorations, creating a
+borderless window. If you set the decorated property to %FALSE
+using this function, GTK+ will do its best to convince the window
+manager not to decorate the window. Depending on the system, this
+function may not have any effect when called on a window that is
+already visible, so you should call it before calling gtk_window_show().
+
+On Windows, this function always works, since there&apos;s no window manager
+policy involved.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> %TRUE to decorate the window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_get_double_with_default">
+<description>
+Return value: the floating point number associated with @key
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+<parameter name="def">
+<parameter_description> the default value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the floating point number associated with @key
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_status_icon_new_from_icon_name">
+<description>
+Creates a status icon displaying an icon from the current icon theme.
+If the current icon theme is changed, the icon will be updated
+appropriately.
+
+
+</description>
+<parameters>
+<parameter name="icon_name">
+<parameter_description> an icon name
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkStatusIcon
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_widget_queue_clear_area">
+<description>
+This function is no longer different from
+gtk_widget_queue_draw_area(), though it once was. Now it just calls
+gtk_widget_queue_draw_area(). Originally
+gtk_widget_queue_clear_area() would force a redraw of the
+background for %GTK_NO_WINDOW widgets, and
+gtk_widget_queue_draw_area() would not. Now both functions ensure
+the background will be redrawn.
+
+Deprecated: Use gtk_widget_queue_draw_area() instead.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x coordinate of upper-left corner of rectangle to redraw
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y coordinate of upper-left corner of rectangle to redraw
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of region to draw
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height of region to draw
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_accel_groups_from_object">
+<description>
+Gets a list of all accel groups which are attached to @object.
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> a #GObject, usually a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> a list of all accel groups which are attached to @object
+</return>
+</function>
+
+<function name="gtk_check_menu_item_get_draw_as_radio">
+<description>
+Return value: Whether @check_menu_item looks like a #GtkRadioMenuItem
+
+</description>
+<parameters>
+<parameter name="check_menu_item">
+<parameter_description> a #GtkCheckMenuItem
+</parameter_description>
+</parameter>
+</parameters>
+<return> Whether @check_menu_item looks like a #GtkRadioMenuItem
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_window_activate_key">
+<description>
+Activates mnemonics and accelerators for this #GtkWindow. This is normally
+called by the default ::key_press_event handler for toplevel windows,
+however in some cases it may be useful to call this directly when
+overriding the standard key handling for a toplevel window.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> a #GdkEventKey
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a mnemonic or accelerator was found and activated.
+</return>
+</function>
+
+<function name="gtk_clipboard_get_for_display">
+<description>
+Return value: the appropriate clipboard object. If no
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the display for which the clipboard is to be retrieved or created
+</parameter_description>
+</parameter>
+<parameter name="selection">
+<parameter_description> a #GdkAtom which identifies the clipboard
+to use.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the appropriate clipboard object. If no
+clipboard already exists, a new one will
+be created. Once a clipboard object has
+been created, it is persistent and, since
+it is owned by GTK+, must not be freed or
+unrefd.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_tree_model_sort_set_model">
+<description>
+Sets the model of @tree_model_sort to be @model. If @model is %NULL,
+then the old model is unset. The sort function is unset as a result
+of this call. The model will be in an unsorted state until a sort
+function is set.
+
+</description>
+<parameters>
+<parameter name="tree_model_sort">
+<parameter_description> The #GtkTreeModelSort.
+</parameter_description>
+</parameter>
+<parameter name="child_model">
+<parameter_description> A #GtkTreeModel, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_action_sync_menu_visible">
+<description>
+Updates the visibility of @proxy from the visibility of @action
+according to the following rules:
+&amp;lt;itemizedlist&amp;gt;
+&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;if @action is invisible, @proxy is too
+&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
+&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;if @empty is %TRUE, hide @proxy unless the &quot;hide-if-empty&quot;
+property of @action indicates otherwise
+&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
+&amp;lt;/itemizedlist&amp;gt;
+
+This function is used in the implementation of #GtkUIManager.
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> a #GtkAction, or %NULL to determine the action from @proxy
+</parameter_description>
+</parameter>
+<parameter name="proxy">
+<parameter_description> a proxy menu item
+</parameter_description>
+</parameter>
+<parameter name="empty">
+<parameter_description> whether the submenu attached to @proxy is empty
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_has_toplevel_focus">
+<description>
+Return value: %TRUE if the input focus is within this GtkWindow
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the input focus is within this GtkWindow
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_icon_view_set_tooltip_cell">
+<description>
+Sets the tip area of @tooltip to the area which @cell occupies in
+the item pointed to by @path. See also gtk_tooltip_set_tip_area().
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+<parameter name="tooltip">
+<parameter_description> a #GtkTooltip
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a #GtkTreePath
+</parameter_description>
+</parameter>
+<parameter name="cell">
+<parameter_description> a #GtkCellRenderer or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_source_get_size">
+<description>
+Obtains the icon size this source applies to. The return value
+is only useful/meaningful if the icon size is &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt; wildcarded.
+
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a #GtkIconSource
+</parameter_description>
+</parameter>
+</parameters>
+<return> icon size this source matches.
+</return>
+</function>
+
+<function name="gtk_window_add_mnemonic">
+<description>
+Adds a mnemonic to this window.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="keyval">
+<parameter_description> the mnemonic
+</parameter_description>
+</parameter>
+<parameter name="target">
+<parameter_description> the widget that gets activated by the mnemonic
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tool_item_set_tooltip_markup">
+<description>
+Sets the markup text to be displayed as tooltip on the item.
+See gtk_widget_set_tooltip_markup().
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem:
+</parameter_description>
+</parameter>
+<parameter name="markup">
+<parameter_description> markup text to be used as tooltip for @tool_item
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_theme_add_builtin_icon">
+<description>
+Registers a built-in icon for icon theme lookups. The idea
+of built-in icons is to allow an application or library
+that uses themed icons to function requiring files to
+be present in the file system. For instance, the default
+images for all of GTK+&apos;s stock icons are registered
+as built-icons.
+
+In general, if you use gtk_icon_theme_add_builtin_icon()
+you should also install the icon in the icon theme, so
+that the icon is generally available.
+
+This function will generally be used with pixbufs loaded
+via gdk_pixbuf_new_from_inline().
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="icon_name">
+<parameter_description> the name of the icon to register
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size at which to register the icon (different
+images can be registered for the same icon name
+at different sizes.)
+</parameter_description>
+</parameter>
+<parameter name="pixbuf">
+<parameter_description> #GdkPixbuf that contains the image to use
+for @icon_name.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_reshow_with_initial_size">
+<description>
+Hides @window, then reshows it, resetting the
+default size and position of the window. Used
+by GUI builders only.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_modify_text">
+<description>
+Sets the text color for a widget in a particular state. All other
+style values are left untouched. The text color is the foreground
+color used along with the base color (see gtk_widget_modify_base())
+for widgets such as #GtkEntry and #GtkTextView. See also
+gtk_widget_modify_style().
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="state">
+<parameter_description> the state for which to set the text color
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> the color to assign (does not need to be allocated),
+or %NULL to undo the effect of previous calls to
+of gtk_widget_modify_text().
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_container_unset_focus_chain">
+<description>
+Removes a focus chain explicitly set with gtk_container_set_focus_chain().
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_reset_shapes">
+<description>
+Recursively resets the shape on this widget and its descendants.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_get_style">
+<description>
+Simply an accessor function that returns @widget-&amp;gt;style.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the widget&apos;s #GtkStyle
+</return>
+</function>
+
+<function name="gtk_icon_size_lookup">
+<description>
+Obtains the pixel size of a semantic icon size, possibly
+modified by user preferences for the default #GtkSettings.
+(See gtk_icon_size_lookup_for_settings().)
+Normally @size would be
+#GTK_ICON_SIZE_MENU, #GTK_ICON_SIZE_BUTTON, etc. This function
+isn&apos;t normally needed, gtk_widget_render_icon() is the usual
+way to get an icon for rendering, then just look at the size of
+the rendered pixbuf. The rendered pixbuf may not even correspond to
+the width/height returned by gtk_icon_size_lookup(), because themes
+are free to render the pixbuf however they like, including changing
+the usual size.
+
+
+</description>
+<parameters>
+<parameter name="size">
+<parameter_description> an icon size
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> location to store icon width
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> location to store icon height
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @size was a valid size
+</return>
+</function>
+
+<function name="gtk_recent_info_get_applications">
+<description>
+Retrieves the list of applications that have registered this resource.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GtkRecentInfo
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> return location for the length of the returned list, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated %NULL-terminated array of strings.
+Use g_strfreev() to free it.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_box_pack_end">
+<description>
+Adds @child to @box, packed with reference to the end of @box.
+The @child is packed after (away from end of) any other child
+packed with reference to the end of @box.
+
+</description>
+<parameters>
+<parameter name="box">
+<parameter_description> a #GtkBox
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the #GtkWidget to be added to @box
+</parameter_description>
+</parameter>
+<parameter name="expand">
+<parameter_description> %TRUE if the new child is to be given extra space allocated
+to @box. The extra space will be divided evenly between all children
+of @box that use this option
+</parameter_description>
+</parameter>
+<parameter name="fill">
+<parameter_description> %TRUE if space given to @child by the @expand option is
+actually allocated to @child, rather than just padding it. This
+parameter has no effect if @expand is set to %FALSE. A child is
+always allocated the full height of a #GtkHBox and the full width
+of a #GtkVBox. This option affects the other dimension
+</parameter_description>
+</parameter>
+<parameter name="padding">
+<parameter_description> extra space in pixels to put between this child and its
+neighbors, over and above the global amount specified by
+#GtkBox:spacing property. If @child is a widget at one of the
+reference ends of @box, then @padding pixels are also put between
+@child and the reference edge of @box
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_set_attributes">
+<description>
+Sets a #PangoAttrList; the attributes in the list are applied to the
+label text. The attributes set with this function will be ignored
+if the #GtkLabel:use-underline&quot; or #GtkLabel:use-markup properties
+are set to %TRUE.
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+<parameter name="attrs">
+<parameter_description> a #PangoAttrList
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_draw_string">
+<description>
+Draws a text string on @window with the given parameters.
+
+Deprecated: Use gtk_paint_layout() instead.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> the string to draw
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_set_left_margin">
+<description>
+Sets the default left margin for text in @text_view.
+Tags in the buffer may override the default.
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="left_margin">
+<parameter_description> left margin in pixels
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_selection_data_set_text">
+<description>
+Sets the contents of the selection from a UTF-8 encoded string.
+The string is converted to the form determined by
+@selection_data-&amp;gt;target.
+
+
+</description>
+<parameters>
+<parameter name="selection_data">
+<parameter_description> a #GtkSelectionData
+</parameter_description>
+</parameter>
+<parameter name="str">
+<parameter_description> a UTF-8 string
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> the length of @str, or -1 if @str is nul-terminated.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the selection was successfully set,
+otherwise %FALSE.
+</return>
+</function>
+
+<function name="GtkProgressBar">
+<description>
+The preferred place to ellipsize the string, if the progressbar does
+not have enough room to display the entire string, specified as a
+#PangoEllisizeMode.
+
+Note that setting this property to a value other than
+%PANGO_ELLIPSIZE_NONE has the side-effect that the progressbar requests
+only enough space to display the ellipsis &quot;...&quot;. Another means to set a
+progressbar&apos;s width is gtk_widget_set_size_request().
+
+Since: 2.6
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_buildable_custom_finished">
+<description>
+This is similar to gtk_buildable_parser_finished() but is
+called once for each custom tag handled by the @buildable.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="buildable">
+<parameter_description> a #GtkBuildable
+</parameter_description>
+</parameter>
+<parameter name="builder">
+<parameter_description> a #GtkBuilder
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> child object or %NULL for non-child tags
+</parameter_description>
+</parameter>
+<parameter name="tagname">
+<parameter_description> the name of the tag
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> user data created in custom_tag_start
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_remove_column">
+<description>
+Removes @column from @tree_view.
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView.
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> The #GtkTreeViewColumn to remove.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The number of columns in @tree_view after removing.
+</return>
+</function>
+
+<function name="gtk_print_settings_set">
+<description>
+Associates @value with @key.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> a string value, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_accelerator_get_label">
+<description>
+Converts an accelerator keyval and modifier mask into a string
+which can be used to represent the accelerator to the user.
+
+
+</description>
+<parameters>
+<parameter name="accelerator_key">
+<parameter_description> accelerator keyval
+</parameter_description>
+</parameter>
+<parameter name="accelerator_mods">
+<parameter_description> accelerator modifier mask
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated string representing the accelerator.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_tree_selection_path_is_selected">
+<description>
+Return value: %TRUE if @path is selected.
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> A #GtkTreeSelection.
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> A #GtkTreePath to check selection on.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @path is selected.
+</return>
+</function>
+
+<function name="gtk_dialog_get_response_for_widget">
+<description>
+Gets the response id of a widget in the action area
+of a dialog.
+
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkDialog
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> a widget in the action area of @dialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> the response id of @widget, or %GTK_RESPONSE_NONE
+if @widget doesn&apos;t have a response id set.
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gtk_range_get_inverted">
+<description>
+Gets the value set by gtk_range_set_inverted().
+
+
+</description>
+<parameters>
+<parameter name="range">
+<parameter_description> a #GtkRange
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the range is inverted
+</return>
+</function>
+
+<function name="gtk_file_chooser_select_uri">
+<description>
+Selects the file to by @uri. If the URI doesn&apos;t refer to a
+file in the current folder of @chooser, then the current folder of
+@chooser will be changed to the folder containing @filename.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> the URI to select
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if both the folder could be changed and the URI was
+selected successfully, %FALSE otherwise.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tool_button_get_use_underline">
+<description>
+Return value: %TRUE if underscores in the label property are used as
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkToolButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if underscores in the label property are used as
+mnemonics on menu items on the overflow menu.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_page_setup_unix_dialog_new">
+<description>
+Creates a new page setup dialog.
+
+
+</description>
+<parameters>
+<parameter name="title">
+<parameter_description> the title of the dialog, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> transient parent of the dialog, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GtkPageSetupUnixDialog
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_label_set_angle">
+<description>
+Sets the angle of rotation for the label. An angle of 90 reads from
+from bottom to top, an angle of 270, from top to bottom. The angle
+setting for the label is ignored if the label is selectable,
+wrapped, or ellipsized.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+<parameter name="angle">
+<parameter_description> the angle that the baseline of the label makes with
+the horizontal, in degrees, measured counterclockwise
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_table_get_row_spacing">
+<description>
+Gets the amount of space between row @row, and
+row @row + 1. See gtk_table_set_row_spacing().
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a #GtkTable
+</parameter_description>
+</parameter>
+<parameter name="row">
+<parameter_description> a row in the table, 0 indicates the first row
+</parameter_description>
+</parameter>
+</parameters>
+<return> the row spacing
+</return>
+</function>
+
+<function name="gtk_entry_set_text">
+<description>
+Sets the text in the widget to the given
+value, replacing the current contents.
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the new text
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_queue_resize_no_redraw">
+<description>
+This function works like gtk_widget_queue_resize(),
+except that the widget is not invalidated.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_info_has_application">
+<description>
+Checks whether an application registered this resource using @app_name.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GtkRecentInfo
+</parameter_description>
+</parameter>
+<parameter name="app_name">
+<parameter_description> a string containing an application name
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if an application with name @app_name was found,
+%FALSE otherwise.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_rc_reset_styles">
+<description>
+This function recomputes the styles for all widgets that use a
+particular #GtkSettings object. (There is one #GtkSettings object
+per #GdkScreen, see gtk_settings_get_for_screen()); It is useful
+when some global parameter has changed that affects the appearance
+of all widgets, because when a widget gets a new style, it will
+both redraw and recompute any cached information about its
+appearance. As an example, it is used when the default font size
+set by the operating system changes. Note that this function
+doesn&apos;t affect widgets that have a style set explicitely on them
+with gtk_widget_set_style().
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_container_add">
+<description>
+Adds @widget to @container. Typically used for simple containers
+such as #GtkWindow, #GtkFrame, or #GtkButton; for more complicated
+layout containers such as #GtkBox or #GtkTable, this function will
+pick default packing parameters that may not be correct. So
+consider functions such as gtk_box_pack_start() and
+gtk_table_attach() as an alternative to gtk_container_add() in
+those cases. A widget may be added to only one container at a time;
+you can&apos;t place the same widget inside two different containers.
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> a widget to be placed inside @container
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_get_sort_order">
+<description>
+Gets the value set by gtk_tree_view_column_set_sort_order().
+
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> a #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+</parameters>
+<return> the sort order the sort indicator is indicating
+</return>
+</function>
+
+<function name="gtk_plug_construct">
+<description>
+Finish the initialization of @plug for a given #GtkSocket identified by
+@socket_id. This function will generally only be used by classes deriving from #GtkPlug.
+
+</description>
+<parameters>
+<parameter name="plug">
+<parameter_description> a #GtkPlug.
+</parameter_description>
+</parameter>
+<parameter name="socket_id">
+<parameter_description> the XID of the socket&apos;s window.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_get_tags">
+<description>
+Return value: list of #GtkTextTag
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> list of #GtkTextTag
+</return>
+</function>
+
+<function name="gtk_text_iter_forward_visible_line">
+<description>
+Moves @iter to the start of the next visible line. Returns %TRUE if there
+was a next line to move to, and %FALSE if @iter was simply moved to
+the end of the buffer and is now not dereferenceable, or if @iter was
+already at the end of the buffer.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @iter can be dereferenced
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gtk_recent_chooser_select_uri">
+<description>
+Selects @uri inside @chooser.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a URI
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @uri was found.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_button_box_set_child_secondary">
+<description>
+Sets whether @child should appear in a secondary group of children.
+A typical use of a secondary child is the help button in a dialog.
+
+This group appears after the other children if the style
+is %GTK_BUTTONBOX_START, %GTK_BUTTONBOX_SPREAD or
+%GTK_BUTTONBOX_EDGE, and before the other children if the style
+is %GTK_BUTTONBOX_END. For horizontal button boxes, the definition
+of before/after depends on direction of the widget (see
+gtk_widget_set_direction()). If the style is %GTK_BUTTONBOX_START
+or %GTK_BUTTONBOX_END, then the secondary children are aligned at
+the other end of the button box from the main children. For the
+other styles, they appear immediately next to the main children.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkButtonBox
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> a child of @widget
+</parameter_description>
+</parameter>
+<parameter name="is_secondary">
+<parameter_description> if %TRUE, the @child appears in a secondary group of the
+button box.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_item_factory_delete_entries">
+<description>
+Deletes the menu items which were created from the @entries by the given
+item factory.
+
+Deprecated: 2.4:
+
+</description>
+<parameters>
+<parameter name="ifactory">
+<parameter_description> a #GtkItemFactory
+</parameter_description>
+</parameter>
+<parameter name="n_entries">
+<parameter_description> the length of @entries
+</parameter_description>
+</parameter>
+<parameter name="entries">
+<parameter_description> an array of #GtkItemFactoryEntry&amp;lt;!-- --&amp;gt;s
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_get_use_underline">
+<description>
+Return value: %TRUE whether an embedded underline in the label indicates
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE whether an embedded underline in the label indicates
+the mnemonic accelerator keys.
+</return>
+</function>
+
+<function name="gtk_print_operation_preview_is_selected">
+<description>
+Returns: %TRUE if the page has been selected for printing
+
+</description>
+<parameters>
+<parameter name="preview">
+<parameter_description> a #GtkPrintOperationPreview
+</parameter_description>
+</parameter>
+<parameter name="page_nr">
+<parameter_description> a page number
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the page has been selected for printing
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_icon_theme_get_for_screen">
+<description>
+Gets the icon theme object associated with @screen; if this
+function has not previously been called for the given
+screen, a new icon theme object will be created and
+associated with the screen. Icon theme objects are
+fairly expensive to create, so using this function
+is usually a better choice than calling than gtk_icon_theme_new()
+and setting the screen yourself; by using this function
+a single icon theme object will be shared between users.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return> A unique #GtkIconTheme associated with
+the given screen. This icon theme is associated with
+the screen and can be used as long as the screen
+is open. Do not ref or unref it.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_spin_button_set_digits">
+<description>
+Set the precision to be displayed by @spin_button. Up to 20 digit precision
+is allowed.
+
+</description>
+<parameters>
+<parameter name="spin_button">
+<parameter_description> a #GtkSpinButton
+</parameter_description>
+</parameter>
+<parameter name="digits">
+<parameter_description> the number of digits after the decimal point to be displayed for the spin button&apos;s value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_get_iter_at_position">
+<description>
+Retrieves the iterator pointing to the character at buffer
+coordinates @x and @y. Buffer coordinates are coordinates for
+the entire buffer, not just the currently-displayed portion.
+If you have coordinates from an event, you have to convert
+those to buffer coordinates with
+gtk_text_view_window_to_buffer_coords().
+
+Note that this is different from gtk_text_view_get_iter_at_location(),
+which returns cursor locations, i.e. positions &amp;lt;emphasis&amp;gt;between&amp;lt;/emphasis&amp;gt;
+characters.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="trailing">
+<parameter_description> location to store an integer indicating where
+in the grapheme the user clicked. It will either be
+zero, or the number of characters in the grapheme.
+0 represents the trailing edge of the grapheme.
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x position, in buffer coordinates
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y position, in buffer coordinates
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toggle_tool_button_new">
+<description>
+Return value: a newly created #GtkToggleToolButton
+
+</description>
+<parameters>
+</parameters>
+<return> a newly created #GtkToggleToolButton
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_option_menu_get_history">
+<description>
+Retrieves the index of the currently selected menu item. The menu
+items are numbered from top to bottom, starting with 0.
+
+
+</description>
+<parameters>
+<parameter name="option_menu">
+<parameter_description> a #GtkOptionMenu
+</parameter_description>
+</parameter>
+</parameters>
+<return> index of the selected menu item, or -1 if there are no menu items
+Deprecated: 2.4: Use #GtkComboBox instead.
+</return>
+</function>
+
+<function name="gtk_toolbar_prepend_space">
+<description>
+Adds a new space to the beginning of the toolbar.
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_container_child_type">
+<description>
+Return value: a #GType.
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GType.
+</return>
+</function>
+
+<function name="gtk_page_setup_new">
+<description>
+Creates a new #GtkPageSetup.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkPageSetup.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_target_list_add_uri_targets">
+<description>
+Appends the URI targets supported by #GtkSelection to
+the target list. All targets are added with the same @info.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="list">
+<parameter_description> a #GtkTargetList
+</parameter_description>
+</parameter>
+<parameter name="info">
+<parameter_description> an ID that will be passed back to the application
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_get_visible_slice">
+<description>
+Like gtk_text_iter_get_slice (), but invisible text is not included.
+Invisible text is usually invisible because a #GtkTextTag with the
+&quot;invisible&quot; attribute turned on has been applied to it.
+
+
+</description>
+<parameters>
+<parameter name="start">
+<parameter_description> iterator at start of range
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> iterator at end of range
+</parameter_description>
+</parameter>
+</parameters>
+<return> slice of text from the buffer
+</return>
+</function>
+
+<function name="gtk_range_get_fill_level">
+<description>
+Gets the current position of the fill level indicator.
+
+
+</description>
+<parameters>
+<parameter name="range">
+<parameter_description> A #GtkRange
+</parameter_description>
+</parameter>
+</parameters>
+<return> The current fill level
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_assistant_append_page">
+<description>
+Appends a page to the @assistant.
+
+
+</description>
+<parameters>
+<parameter name="assistant">
+<parameter_description> a #GtkAssistant
+</parameter_description>
+</parameter>
+<parameter name="page">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the index (starting at 0) of the inserted page
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_text_iter_backward_visible_cursor_positions">
+<description>
+Moves up to @count visible cursor positions. See
+gtk_text_iter_backward_cursor_position() for details.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> number of positions to move
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if we moved and the new position is dereferenceable
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_text_view_place_cursor_onscreen">
+<description>
+Moves the cursor to the currently visible region of the
+buffer, it it isn&apos;t there already.
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the cursor had to be moved.
+</return>
+</function>
+
+<function name="gtk_label_get_mnemonic_keyval">
+<description>
+If the label has been set so that it has an mnemonic key this function
+Returns: GDK keyval usable for accelerators, or #GDK_VoidSymbol
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+</parameters>
+<return> GDK keyval usable for accelerators, or #GDK_VoidSymbol
+</return>
+</function>
+
+<function name="gtk_printer_get_location">
+<description>
+Return value: the location of @printer
+
+</description>
+<parameters>
+<parameter name="printer">
+<parameter_description> a #GtkPrinter
+</parameter_description>
+</parameter>
+</parameters>
+<return> the location of @printer
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tool_button_get_icon_widget">
+<description>
+Return the widget used as icon widget on @button. See
+gtk_tool_button_set_icon_widget().
+
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkToolButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> The widget used as icon on @button, or %NULL.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_accel_map_foreach_unfiltered">
+<description>
+Loops over all entries in the accelerator map, and execute
+@foreach_func on each. The signature of @foreach_func is that of
+#GtkAccelMapForeach, the @changed parameter indicates whether
+this accelerator was changed during runtime (thus, would need
+saving during an accelerator map dump).
+
+</description>
+<parameters>
+<parameter name="data">
+<parameter_description> data to be passed into @foreach_func
+</parameter_description>
+</parameter>
+<parameter name="foreach_func">
+<parameter_description> function to be executed for each accel map entry
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_set_row_separator_func">
+<description>
+Sets the row separator function, which is used to determine
+whether a row should be drawn as a separator. If the row separator
+function is %NULL, no separators are drawn. This is the default value.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> a #GtkTreeViewRowSeparatorFunc
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> user data to pass to @func, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> destroy notifier for @data, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_forward_char">
+<description>
+Moves @iter forward by one character offset. Note that images
+embedded in the buffer occupy 1 character slot, so
+gtk_text_iter_forward_char () may actually move onto an image instead
+of a character, if you have images in your buffer. If @iter is the
+end iterator or one character before it, @iter will now point at
+the end iterator, and gtk_text_iter_forward_char () returns %FALSE for
+convenience when writing loops.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @iter moved and is dereferenceable
+</return>
+</function>
+
+<function name="gtk_widget_grab_focus">
+<description>
+Causes @widget to have the keyboard focus for the #GtkWindow it&apos;s
+inside. @widget must be a focusable widget, such as a #GtkEntry;
+something like #GtkFrame won&apos;t work. (More precisely, it must have the
+%GTK_CAN_FOCUS flag set.)
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_tag_table_get_size">
+<description>
+Return value: number of tags in @table
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a #GtkTextTagTable
+</parameter_description>
+</parameter>
+</parameters>
+<return> number of tags in @table
+</return>
+</function>
+
+<function name="gtk_text_buffer_get_selection_bounds">
+<description>
+Return value: whether the selection has nonzero length
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> iterator to initialize with selection start
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> iterator to initialize with selection end
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the selection has nonzero length
+</return>
+</function>
+
+<function name="gtk_drag_update">
+<description>
+Updates the status of the drag; called when the
+cursor moves or the modifier changes
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> DragSourceInfo for the drag
+</parameter_description>
+</parameter>
+<parameter name="screen">
+<parameter_description> new screen
+</parameter_description>
+</parameter>
+<parameter name="x_root">
+<parameter_description> new X position
+</parameter_description>
+</parameter>
+<parameter name="y_root">
+<parameter_description> new y position
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> event received requiring update
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_begins_tag">
+<description>
+Return value: whether @iter is the start of a range tagged with @tag
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+<parameter name="tag">
+<parameter_description> a #GtkTextTag, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @iter is the start of a range tagged with @tag
+</return>
+</function>
+
+<function name="gtk_page_setup_unix_dialog_set_print_settings">
+<description>
+Sets the #GtkPrintSettings from which the page setup dialog
+takes its values.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkPageSetupUnixDialog
+</parameter_description>
+</parameter>
+<parameter name="print_settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_set_sort_indicator">
+<description>
+Call this function with a @setting of %TRUE to display an arrow in
+the header button indicating the column is sorted. Call
+gtk_tree_view_column_set_sort_order() to change the direction of
+the arrow.
+
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> a #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> %TRUE to display an indicator that the column is sorted
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_item_factory_popup_with_data">
+<description>
+Pops up the menu constructed from the item factory at (@x, @y). Callbacks
+can access the @popup_data while the menu is posted via
+gtk_item_factory_popup_data() and gtk_item_factory_popup_data_from_widget().
+
+The @mouse_button parameter should be the mouse button pressed to initiate
+the menu popup. If the menu popup was initiated by something other than
+a mouse button press, such as a mouse button release or a keypress,
+@mouse_button should be 0.
+
+The @time_ parameter should be the time stamp of the event that
+initiated the popup. If such an event is not available, use
+gtk_get_current_event_time() instead.
+
+The operation of the @mouse_button and the @time_ parameters is the same
+as the @button and @activation_time parameters for gtk_menu_popup().
+
+Deprecated: 2.4:
+
+</description>
+<parameters>
+<parameter name="ifactory">
+<parameter_description> a #GtkItemFactory of type #GTK_TYPE_MENU (see gtk_item_factory_new())
+</parameter_description>
+</parameter>
+<parameter name="popup_data">
+<parameter_description> data available for callbacks while the menu is posted
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> a #GtkDestroyNotify function to be called on @popup_data when
+the menu is unposted
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x position
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y position
+</parameter_description>
+</parameter>
+<parameter name="mouse_button">
+<parameter_description> the mouse button which was pressed to initiate the popup
+</parameter_description>
+</parameter>
+<parameter name="time_">
+<parameter_description> the time at which the activation event occurred
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_about_dialog_set_program_name">
+<description>
+Sets the name to display in the about dialog.
+If this is not set, it defaults to g_get_application_name().
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> the program name
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_ui_manager_new_merge_id">
+<description>
+Return value: an unused merge id.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkUIManager
+</parameter_description>
+</parameter>
+</parameters>
+<return> an unused merge id.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tree_view_get_search_entry">
+<description>
+Return value: the entry currently in use as search entry.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+</parameters>
+<return> the entry currently in use as search entry.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_label_set_selectable">
+<description>
+Selectable labels allow the user to select text from the label, for
+copy-and-paste.
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> %TRUE to allow selecting text in the label
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_range_get_update_policy">
+<description>
+Gets the update policy of @range. See gtk_range_set_update_policy().
+
+
+</description>
+<parameters>
+<parameter name="range">
+<parameter_description> a #GtkRange
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current update policy
+</return>
+</function>
+
+<function name="gtk_container_set_focus_chain">
+<description>
+Sets a focus chain, overriding the one computed automatically by GTK+.
+
+In principle each widget in the chain should be a descendant of the
+container, but this is not enforced by this method, since it&apos;s allowed
+to set the focus chain before you pack the widgets, or have a widget
+in the chain that isn&apos;t always packed. The necessary checks are done
+when the focus chain is actually traversed.
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+<parameter name="focusable_widgets">
+<parameter_description> the new focus chain
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_calendar_thaw">
+<description>
+Does nothing. Previously defrosted a calendar; all the changes made
+since the last gtk_calendar_freeze() were displayed.
+
+Deprecated: 2.8:
+
+</description>
+<parameters>
+<parameter name="calendar">
+<parameter_description> a #GtkCalendar
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_class_list_style_properties">
+<description>
+
+</description>
+<parameters>
+<parameter name="klass">
+<parameter_description> a #GtkWidgetClass
+</parameter_description>
+</parameter>
+<parameter name="n_properties">
+<parameter_description> location to return the number of style properties found
+</parameter_description>
+</parameter>
+</parameters>
+<return> an newly allocated array of #GParamSpec*. The array must
+be freed with g_free().
+all style properties of a widget class.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_window_deiconify">
+<description>
+Asks to deiconify (i.e. unminimize) the specified @window. Note
+that you shouldn&apos;t assume the window is definitely deiconified
+afterward, because other entities (e.g. the user or &amp;lt;link
+linkend=&quot;gtk-X11-arch&quot;&amp;gt;window manager&amp;lt;/link&amp;gt;) could iconify it
+again before your code which assumes deiconification gets to run.
+
+You can track iconification via the &quot;window_state_event&quot; signal
+on #GtkWidget.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_unselect_uri">
+<description>
+Unselects the file referred to by @uri. If the file
+is not in the current directory, does not exist, or
+is otherwise not currently selected, does nothing.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> the URI to unselect
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_focus_cell">
+<description>
+Sets the current keyboard focus to be at @cell, if the column contains
+2 or more editable and activatable cells.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+<parameter name="cell">
+<parameter_description> A #GtkCellRenderer
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkMenu">
+<description>
+A boolean that indicates whether the menu is torn-off.
+
+Since: 2.6
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_cell_renderer_pixbuf_new">
+<description>
+Creates a new #GtkCellRendererPixbuf. Adjust rendering
+parameters using object properties. Object properties can be set
+globally (with g_object_set()). Also, with #GtkTreeViewColumn, you
+can bind a property to a value in a #GtkTreeModel. For example, you
+can bind the &quot;pixbuf&quot; property on the cell renderer to a pixbuf value
+in the model, thus rendering a different image in each row of the
+#GtkTreeView.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the new cell renderer
+</return>
+</function>
+
+<function name="gtk_entry_set_inner_border">
+<description>
+Sets %entry&apos;s inner-border property to %border, or clears it if %NULL
+is passed. The inner-border is the area around the entry&apos;s text, but
+inside its frame.
+
+If set, this property overrides the inner-border style property.
+Overriding the style-provided border is useful when you want to do
+in-place editing of some text in a canvas or list widget, where
+pixel-exact positioning of the entry is important.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+<parameter name="border">
+<parameter_description> a #GtkBorder, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_settings_get_default">
+<description>
+Gets the #GtkSettings object for the default GDK screen, creating
+it if necessary. See gtk_settings_get_for_screen().
+
+
+</description>
+<parameters>
+</parameters>
+<return> a #GtkSettings object. If there is no default
+screen, then returns %NULL.
+</return>
+</function>
+
+<function name="GtkSocket">
+<description>
+This signal is emitted when a client is removed from the socket.
+The default action is to destroy the #GtkSocket widget, so if you
+want to reuse it you must add a signal handler that returns %TRUE.
+
+
+</description>
+<parameters>
+<parameter name="socket_">
+<parameter_description> the object which received the signal
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE to stop other handlers from being invoked.
+</return>
+</function>
+
+<function name="gtk_label_get_justify">
+<description>
+Return value: #GtkJustification
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+</parameters>
+<return> #GtkJustification
+</return>
+</function>
+
+<function name="gtk_accel_label_get_accel_widget">
+<description>
+Fetches the widget monitored by this accelerator label. See
+gtk_accel_label_set_accel_widget().
+
+
+</description>
+<parameters>
+<parameter name="accel_label">
+<parameter_description> a #GtkAccelLabel
+</parameter_description>
+</parameter>
+</parameters>
+<return> the object monitored by the accelerator label,
+or %NULL.
+</return>
+</function>
+
+<function name="gtk_text_buffer_insert_with_tags_by_name">
+<description>
+Same as gtk_text_buffer_insert_with_tags(), but allows you
+to pass in tag names instead of tag objects.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> position in @buffer
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> UTF-8 text
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> length of @text, or -1
+</parameter_description>
+</parameter>
+<parameter name="first_tag_name">
+<parameter_description> name of a tag to apply to @text
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> more tag names
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_item_factory_create_menu_entries">
+<description>
+Creates the menu items from the @entries.
+
+Deprecated: 2.4:
+
+</description>
+<parameters>
+<parameter name="n_entries">
+<parameter_description> the length of @entries
+</parameter_description>
+</parameter>
+<parameter name="entries">
+<parameter_description> an array of #GtkMenuEntry&amp;lt;!-- --&amp;gt;s
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_get_dest_row_at_pos">
+<description>
+Determines the destination row for a given position. @drag_x and
+@drag_y are expected to be in widget coordinates.
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="drag_x">
+<parameter_description> the position to determine the destination row for
+</parameter_description>
+</parameter>
+<parameter name="drag_y">
+<parameter_description> the position to determine the destination row for
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> Return location for the path of the highlighted row, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> Return location for the drop position, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether there is a row at the given position.
+</return>
+</function>
+
+<function name="gtk_icon_theme_get_default">
+<description>
+Gets the icon theme for the default screen. See
+gtk_icon_theme_get_for_screen().
+
+
+</description>
+<parameters>
+</parameters>
+<return> A unique #GtkIconTheme associated with
+the default screen. This icon theme is associated with
+the screen and can be used as long as the screen
+is open. Do not ref or unref it.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_file_system_volume_mount">
+<description>
+Tries to mount an unmounted volume. This may cause the &quot;volumes-changed&quot;
+signal in the @file_system to be emitted.
+
+
+</description>
+<parameters>
+<parameter name="file_system">
+<parameter_description> a #GtkFileSystem
+</parameter_description>
+</parameter>
+<parameter name="volume">
+<parameter_description> a #GtkFileSystemVolume
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if the @volume was mounted successfully, FALSE otherwise.
+</return>
+</function>
+
+<function name="GtkAssistant">
+<description>
+Setting the &quot;complete&quot; child property to %TRUE marks a page as complete
+(i.e.: all the required fields are filled out). GTK+ uses this information
+to control the sensitivity of the navigation buttons.
+
+Since: 2.10
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_box_set_spacing">
+<description>
+Sets the #GtkBox:spacing property of @box, which is the
+number of pixels to place between children of @box.
+
+</description>
+<parameters>
+<parameter name="box">
+<parameter_description> a #GtkBox
+</parameter_description>
+</parameter>
+<parameter name="spacing">
+<parameter_description> the number of pixels to put between children
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_list_store_set">
+<description>
+Sets the value of one or more cells in the row referenced by @iter.
+The variable argument list should contain integer column numbers,
+each column number followed by the value to be set.
+The list is terminated by a -1. For example, to set column 0 with type
+%G_TYPE_STRING to &quot;Foo&quot;, you would write &amp;lt;literal&amp;gt;gtk_list_store_set (store, iter,
+0, &quot;Foo&quot;, -1)&amp;lt;/literal&amp;gt;.
+
+</description>
+<parameters>
+<parameter name="list_store">
+<parameter_description> a #GtkListStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> row iterator
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> pairs of column number and value, terminated with -1
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_item_factory_delete_entry">
+<description>
+Deletes the menu item which was created from @entry by the given
+item factory.
+
+Deprecated: 2.4:
+
+</description>
+<parameters>
+<parameter name="ifactory">
+<parameter_description> a #GtkItemFactory
+</parameter_description>
+</parameter>
+<parameter name="entry">
+<parameter_description> a #GtkItemFactoryEntry
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_manager_move_item">
+<description>
+Changes the location of a recently used resource from @uri to @new_uri.
+
+Please note that this function will not affect the resource pointed
+by the URIs, but only the URI used in the recently used resources list.
+
+
+</description>
+<parameters>
+<parameter name="manager">
+<parameter_description> a #GtkRecentManager
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> the URI of a recently used resource
+</parameter_description>
+</parameter>
+<parameter name="new_uri">
+<parameter_description> the new URI of the recently used resource, or %NULL to
+remove the item pointed by @uri in the list
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> a return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE on success.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_print_operation_is_finished">
+<description>
+A convenience function to find out if the print operation
+is finished, either successfully (%GTK_PRINT_STATUS_FINISHED)
+or unsuccessfully (%GTK_PRINT_STATUS_FINISHED_ABORTED).
+
+Note: when you enable print status tracking the print operation
+can be in a non-finished state even after done has been called, as
+the operation status then tracks the print job status on the printer.
+
+
+</description>
+<parameters>
+<parameter name="op">
+<parameter_description> a #GtkPrintOperation
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE, if the print operation is finished.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_icon_set_add_source">
+<description>
+Icon sets have a list of #GtkIconSource, which they use as base
+icons for rendering icons in different states and sizes. Icons are
+scaled, made to look insensitive, etc. in
+gtk_icon_set_render_icon(), but #GtkIconSet needs base images to
+work with. The base images and when to use them are described by
+a #GtkIconSource.
+
+This function copies @source, so you can reuse the same source immediately
+without affecting the icon set.
+
+An example of when you&apos;d use this function: a web browser&apos;s &quot;Back
+to Previous Page&quot; icon might point in a different direction in
+Hebrew and in English; it might look different when insensitive;
+and it might change size depending on toolbar mode (small/large
+icons). So a single icon set would contain all those variants of
+the icon, and you might add a separate source for each one.
+
+You should nearly always add a &quot;default&quot; icon source with all
+fields wildcarded, which will be used as a fallback if no more
+specific source matches. #GtkIconSet always prefers more specific
+icon sources to more generic icon sources. The order in which you
+add the sources to the icon set does not matter.
+
+gtk_icon_set_new_from_pixbuf() creates a new icon set with a
+default icon source based on the given pixbuf.
+
+
+</description>
+<parameters>
+<parameter name="icon_set">
+<parameter_description> a #GtkIconSet
+</parameter_description>
+</parameter>
+<parameter name="source">
+<parameter_description> a #GtkIconSource
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_model_filter_convert_path_to_child_path">
+<description>
+Converts @filter_path to a path on the child model of @filter. That is,
+@filter_path points to a location in @filter. The returned path will
+point to the same location in the model not being filtered. If @filter_path
+does not point to a location in the child model, %NULL is returned.
+
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> A #GtkTreeModelFilter.
+</parameter_description>
+</parameter>
+<parameter name="filter_path">
+<parameter_description> A #GtkTreePath to convert.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly allocated #GtkTreePath, or %NULL.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_recent_chooser_get_current_uri">
+<description>
+Gets the URI currently selected by @chooser.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated string holding a URI.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_builder_add_from_file">
+<description>
+Parses a file containing a &amp;lt;link linkend=&quot;BUILDER-UI&quot;&amp;gt;GtkBuilder
+UI definition&amp;lt;/link&amp;gt; and merges it with the current contents of @builder.
+
+
+</description>
+<parameters>
+<parameter name="builder">
+<parameter_description> a #GtkBuilder
+</parameter_description>
+</parameter>
+<parameter name="filename">
+<parameter_description> the name of the file to parse
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for an error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> A positive value on success, 0 if an error occurred
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_statusbar_get_has_resize_grip">
+<description>
+Returns: %TRUE if the statusbar has a resize grip.
+
+</description>
+<parameters>
+<parameter name="statusbar">
+<parameter_description> a #GtkStatusBar
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the statusbar has a resize grip.
+</return>
+</function>
+
+<function name="gtk_icon_factory_remove_default">
+<description>
+Removes an icon factory from the list of default icon
+factories. Not normally used; you might use it for a library that
+can be unloaded or shut down.
+
+
+</description>
+<parameters>
+<parameter name="factory">
+<parameter_description> a #GtkIconFactory previously added with gtk_icon_factory_add_default()
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_system_volume_get_base_path">
+<description>
+Queries the base path for a volume. For example, a CD-ROM device may yield a
+path of &quot;/mnt/cdrom&quot;.
+
+
+</description>
+<parameters>
+<parameter name="file_system">
+<parameter_description> a #GtkFileSystem
+</parameter_description>
+</parameter>
+<parameter name="volume">
+<parameter_description> a #GtkFileSystemVolume
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GtkFilePath with the base mount path of the specified
+@volume.
+</return>
+</function>
+
+<function name="gtk_calendar_display_options">
+<description>
+Sets display options (whether to display the heading and the month headings).
+
+Deprecated: 2.4: Use gtk_calendar_set_display_options() instead
+
+</description>
+<parameters>
+<parameter name="calendar">
+<parameter_description> a #GtkCalendar.
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> the display options to set.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_action_new">
+<description>
+Creates a new #GtkAction object. To add the action to a
+#GtkActionGroup and set the accelerator for the action,
+call gtk_action_group_add_action_with_accel().
+See &amp;lt;xref linkend=&quot;XML-UI&quot;/&amp;gt; for information on allowed action
+names.
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> A unique name for the action
+</parameter_description>
+</parameter>
+<parameter name="label">
+<parameter_description> the label displayed in menu items and on buttons
+</parameter_description>
+</parameter>
+<parameter name="tooltip">
+<parameter_description> a tooltip for the action
+</parameter_description>
+</parameter>
+<parameter name="stock_id">
+<parameter_description> the stock icon to display in widgets representing the action
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkAction
+
+Since: 2.4
+</return>
+</function>
+
+<function name="_gtk_file_system_model_new">
+<description>
+Creates a new #GtkFileSystemModel object. The #GtkFileSystemModel
+object wraps a #GtkFileSystem interface as a #GtkTreeModel.
+Using the @root_path and @max_depth parameters, the tree model
+can be restricted to a subportion of the entire file system.
+
+
+</description>
+<parameters>
+<parameter name="file_system">
+<parameter_description> an object implementing #GtkFileSystem
+</parameter_description>
+</parameter>
+<parameter name="root_path">
+<parameter_description> the path of root of the file system to display
+</parameter_description>
+</parameter>
+<parameter name="max_depth">
+<parameter_description> the maximum depth from the children of @root_path
+or the roots of the file system to display in
+the file selector). A depth of 0 displays
+only the immediate children of @root_path,
+or the roots of the filesystem. -1 for no
+maximum depth.
+</parameter_description>
+</parameter>
+<parameter name="types">
+<parameter_description> a bitmask indicating the types of information
+that is desired about the files. This will
+determine what information is returned by
+_gtk_file_system_model_get_info().
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store error, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly created #GtkFileSystemModel object, or NULL if there
+was an error.
+</return>
+</function>
+
+<function name="gtk_text_layout_validate">
+<description>
+Validate regions of a #GtkTextLayout. The ::changed signal will
+be emitted for each region validated.
+
+</description>
+<parameters>
+<parameter name="tree">
+<parameter_description> a #GtkTextLayout
+</parameter_description>
+</parameter>
+<parameter name="max_pixels">
+<parameter_description> the maximum number of pixels to validate. (No more
+than one paragraph beyond this limit will be validated)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_completion_new">
+<description>
+Creates a new #GtkEntryCompletion object.
+
+
+</description>
+<parameters>
+</parameters>
+<return> A newly created #GtkEntryCompletion object.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_assistant_add_action_widget">
+<description>
+Adds a widget to the action area of a #GtkAssistant.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="assistant">
+<parameter_description> a #GtkAssistant
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_target_table_free">
+<description>
+This function frees a target table as returned by
+gtk_target_table_new_from_list()
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="targets">
+<parameter_description> a #GtkTargetEntry array
+</parameter_description>
+</parameter>
+<parameter name="n_targets">
+<parameter_description> the number of entries in the array
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_set_tab_label">
+<description>
+Changes the tab label for @child. If %NULL is specified
+for @tab_label, then the page will have the label &apos;page N&apos;.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the page
+</parameter_description>
+</parameter>
+<parameter name="tab_label">
+<parameter_description> the tab label widget to use, or %NULL for default tab
+label.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_backward_display_line_start">
+<description>
+Moves the given @iter backward to the next display line start.
+A display line is different from a paragraph. Paragraphs are
+separated by newlines or other paragraph separator characters.
+Display lines are created by line-wrapping a paragraph. If
+wrapping is turned off, display lines and paragraphs will be the
+same. Display lines are divided differently for each view, since
+they depend on the view&apos;s width; paragraphs are the same in all
+views, since they depend on the contents of the #GtkTextBuffer.
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter was moved and is not on the end iterator
+</return>
+</function>
+
+<function name="gtk_file_selection_get_select_multiple">
+<description>
+Determines whether or not the user is allowed to select multiple files in
+the file list. See gtk_file_selection_set_select_multiple().
+
+
+</description>
+<parameters>
+<parameter name="filesel">
+<parameter_description> a #GtkFileSelection
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the user is allowed to select multiple files in the
+file list
+</return>
+</function>
+
+<function name="gtk_tree_selection_get_user_data">
+<description>
+Return value: The user data.
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> A #GtkTreeSelection.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The user data.
+</return>
+</function>
+
+<function name="_gtk_file_chooser_embed_delegate_iface_init">
+<description>
+An interface-initialization function for use in cases where an object is
+simply delegating the methods, signals of the #GtkFileChooserEmbed interface
+to another object. _gtk_file_chooser_embed_set_delegate() must be called on
+each instance of the object so that the delegate object can be found.
+
+</description>
+<parameters>
+<parameter name="iface">
+<parameter_description> a #GtkFileChoserEmbedIface structure
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_starts_display_line">
+<description>
+Determines whether @iter is at the start of a display line.
+See gtk_text_view_forward_display_line() for an explanation of
+display lines vs. paragraphs.
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter begins a wrapped line
+</return>
+</function>
+
+<function name="gtk_menu_tool_button_get_menu">
+<description>
+Gets the #GtkMenu associated with #GtkMenuToolButton.
+
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkMenuToolButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GtkMenu associated with #GtkMenuToolButton
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_scrolled_window_get_vscrollbar">
+<description>
+Returns: the vertical scrollbar of the scrolled window, or
+
+</description>
+<parameters>
+<parameter name="scrolled_window">
+<parameter_description> a #GtkScrolledWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> the vertical scrollbar of the scrolled window, or
+%NULL if it does not have one.
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gtk_widget_has_screen">
+<description>
+Checks whether there is a #GdkScreen is associated with
+this widget. All toplevel widgets have an associated
+screen, and all widgets added into a heirarchy with a toplevel
+window at the top.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if there is a #GdkScreen associcated
+with the widget.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_container_foreach">
+<description>
+Invokes @callback on each non-internal child of @container. See
+gtk_container_forall() for details on what constitutes an
+&quot;internal&quot; child. Most applications should use
+gtk_container_foreach(), rather than gtk_container_forall().
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> a callback
+</parameter_description>
+</parameter>
+<parameter name="callback_data">
+<parameter_description> callback user data
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_region_intersect">
+<description>
+Computes the intersection of a @widget&apos;s area and @region, returning
+the intersection. The result may be empty, use gdk_region_empty() to
+check.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="region">
+<parameter_description> a #GdkRegion, in the same coordinate system as
+@widget-&amp;gt;allocation. That is, relative to @widget-&amp;gt;window
+for %NO_WINDOW widgets; relative to the parent window
+of @widget-&amp;gt;window for widgets with their own window.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly allocated region holding the intersection of @widget
+and @region. The coordinates of the return value are
+relative to @widget-&amp;gt;window for %NO_WINDOW widgets, and
+relative to the parent window of @widget-&amp;gt;window for
+widgets with their own window.
+</return>
+</function>
+
+<function name="gtk_tree_model_sort_new_with_model">
+<description>
+Creates a new #GtkTreeModel, with @child_model as the child model.
+
+
+</description>
+<parameters>
+<parameter name="child_model">
+<parameter_description> A #GtkTreeModel
+</parameter_description>
+</parameter>
+</parameters>
+<return> A new #GtkTreeModel.
+</return>
+</function>
+
+<function name="gtk_tree_path_prepend_index">
+<description>
+Prepends a new index to a path. As a result, the depth of the path is
+increased.
+
+</description>
+<parameters>
+<parameter name="path">
+<parameter_description> A #GtkTreePath.
+</parameter_description>
+</parameter>
+<parameter name="index_">
+<parameter_description> The index.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_set_preview_widget">
+<description>
+Sets an application-supplied widget to use to display a custom preview
+of the currently selected file. To implement a preview, after setting the
+preview widget, you connect to the ::update-preview
+signal, and call gtk_file_chooser_get_preview_filename() or
+gtk_file_chooser_get_preview_uri() on each change. If you can
+display a preview of the new file, update your widget and
+set the preview active using gtk_file_chooser_set_preview_widget_active().
+Otherwise, set the preview inactive.
+
+When there is no application-supplied preview widget, or the
+application-supplied preview widget is not active, the file chooser
+may display an internally generated preview of the current file or
+it may display no preview at all.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="preview_widget">
+<parameter_description> widget for displaying preview.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_button_new_from_stock">
+<description>
+Creates a new #GtkButton containing the image and text from a stock item.
+Some stock ids have preprocessor macros like #GTK_STOCK_OK and
+#GTK_STOCK_APPLY.
+
+If @stock_id is unknown, then it will be treated as a mnemonic
+label (as for gtk_button_new_with_mnemonic()).
+
+
+</description>
+<parameters>
+<parameter name="stock_id">
+<parameter_description> the name of the stock item
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkButton
+</return>
+</function>
+
+<function name="_gtk_icon_cache_validate">
+<description>
+Validates the icon cache passed in the @cache and
+@cache_size fields of the @info structure. The
+validator checks that offsets specified in the
+cache do not point outside the mapped area, that
+strings look reasonable, and that pixbufs can
+be deserialized. The amount of validation can
+be controlled with the @flags field.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a CacheInfo structure
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the cache is valid
+</return>
+</function>
+
+<function name="gtk_text_iter_compare">
+<description>
+A qsort()-style function that returns negative if @lhs is less than
+@rhs, positive if @lhs is greater than @rhs, and 0 if they&apos;re equal.
+Ordering is in character offset order, i.e. the first character in the buffer
+is less than the second character in the buffer.
+
+
+</description>
+<parameters>
+<parameter name="lhs">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="rhs">
+<parameter_description> another #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> -1 if @lhs is less than @rhs, 1 if @lhs is greater, 0 if they are equal
+</return>
+</function>
+
+<function name="gtk_combo_box_new_with_model">
+<description>
+Creates a new #GtkComboBox with the model initialized to @model.
+
+
+</description>
+<parameters>
+<parameter name="model">
+<parameter_description> A #GtkTreeModel.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A new #GtkComboBox.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_frame_get_label_widget">
+<description>
+Retrieves the label widget for the frame. See
+gtk_frame_set_label_widget().
+
+
+</description>
+<parameters>
+<parameter name="frame">
+<parameter_description> a #GtkFrame
+</parameter_description>
+</parameter>
+</parameters>
+<return> the label widget, or %NULL if there is none.
+</return>
+</function>
+
+<function name="gtk_accelerator_name">
+<description>
+Converts an accelerator keyval and modifier mask
+into a string parseable by gtk_accelerator_parse().
+For example, if you pass in #GDK_q and #GDK_CONTROL_MASK,
+this function returns &quot;&amp;lt;Control&amp;gt;q&quot;.
+
+If you need to display accelerators in the user interface,
+see gtk_accelerator_get_label().
+
+
+</description>
+<parameters>
+<parameter name="accelerator_key">
+<parameter_description> accelerator keyval
+</parameter_description>
+</parameter>
+<parameter name="accelerator_mods">
+<parameter_description> accelerator modifier mask
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated accelerator name
+</return>
+</function>
+
+<function name="gtk_window_parse_geometry">
+<description>
+Parses a standard X Window System geometry string - see the
+manual page for X (type &apos;man X&apos;) for details on this.
+gtk_window_parse_geometry() does work on all GTK+ ports
+including Win32 but is primarily intended for an X environment.
+
+If either a size or a position can be extracted from the
+geometry string, gtk_window_parse_geometry() returns %TRUE
+and calls gtk_window_set_default_size() and/or gtk_window_move()
+to resize/move the window.
+
+If gtk_window_parse_geometry() returns %TRUE, it will also
+set the #GDK_HINT_USER_POS and/or #GDK_HINT_USER_SIZE hints
+indicating to the window manager that the size/position of
+the window was user-specified. This causes most window
+managers to honor the geometry.
+
+Note that for gtk_window_parse_geometry() to work as expected, it has
+to be called when the window has its &quot;final&quot; size, i.e. after calling
+gtk_widget_show_all() on the contents and gtk_window_set_geometry_hints()
+on the window.
+
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+#include &amp;lt;gtk/gtk.h&amp;gt;
+
+static void
+fill_with_content (GtkWidget *vbox)
+{
+/&amp;lt;!-- --&amp;gt;* fill with content... *&amp;lt;!-- --&amp;gt;/
+}
+
+int
+main (int argc, char *argv[])
+{
+GtkWidget *window, *vbox;
+GdkGeometry size_hints = {
+100, 50, 0, 0, 100, 50, 10, 10, 0.0, 0.0, GDK_GRAVITY_NORTH_WEST
+};
+
+gtk_init (&amp;amp;argc, &amp;amp;argv);
+
+window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+vbox = gtk_vbox_new (FALSE, 0);
+
+gtk_container_add (GTK_CONTAINER (window), vbox);
+fill_with_content (vbox);
+gtk_widget_show_all (vbox);
+
+gtk_window_set_geometry_hints (GTK_WINDOW (window),
+window,
+&amp;amp;size_hints,
+GDK_HINT_MIN_SIZE |
+GDK_HINT_BASE_SIZE |
+GDK_HINT_RESIZE_INC);
+
+if (argc &amp;gt; 1)
+{
+if (!gtk_window_parse_geometry (GTK_WINDOW (window), argv[1]))
+fprintf (stderr, &quot;Failed to parse &apos;&amp;percnt;s&apos;\n&quot;, argv[1]);
+}
+
+gtk_widget_show_all (window);
+gtk_main ();
+
+return 0;
+}
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="geometry">
+<parameter_description> geometry string
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if string was parsed successfully
+</return>
+</function>
+
+<function name="gtk_stock_item_free">
+<description>
+Frees a stock item allocated on the heap, such as one returned by
+gtk_stock_item_copy(). Also frees the fields inside the stock item,
+if they are not %NULL.
+
+
+</description>
+<parameters>
+<parameter name="item">
+<parameter_description> a #GtkStockItem
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_insert_page_menu">
+<description>
+Insert a page into @notebook at the given position, specifying
+the widget to use as the label in the popup menu.
+
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the #GtkWidget to use as the contents of the page.
+</parameter_description>
+</parameter>
+<parameter name="tab_label">
+<parameter_description> the #GtkWidget to be used as the label for the page,
+or %NULL to use the default label, &apos;page N&apos;.
+</parameter_description>
+</parameter>
+<parameter name="menu_label">
+<parameter_description> the widget to use as a label for the page-switch
+menu, if that is enabled. If %NULL, and @tab_label
+is a #GtkLabel or %NULL, then the menu label will be
+a newly created label with the same text as @tab_label;
+If @tab_label is not a #GtkLabel, @menu_label must be
+specified if the page-switch menu is to be used.
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> the index (starting at 0) at which to insert the page,
+or -1 to append the page after all other pages.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the index (starting from 0) of the inserted
+page in the notebook
+</return>
+</function>
+
+<function name="gtk_color_selection_get_previous_color">
+<description>
+Fills @color in with the original color value.
+
+</description>
+<parameters>
+<parameter name="colorsel">
+<parameter_description> a #GtkColorSelection.
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> a #GdkColor to fill in with the original color value.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_target_list_add_text_targets">
+<description>
+Appends the text targets supported by #GtkSelection to
+the target list. All targets are added with the same @info.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="list">
+<parameter_description> a #GtkTargetList
+</parameter_description>
+</parameter>
+<parameter name="info">
+<parameter_description> an ID that will be passed back to the application
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_move_mark_onscreen">
+<description>
+Moves a mark within the buffer so that it&apos;s
+located within the currently-visible text area.
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="mark">
+<parameter_description> a #GtkTextMark
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the mark moved (wasn&apos;t already onscreen)
+</return>
+</function>
+
+<function name="gtk_widget_thaw_child_notify">
+<description>
+Reverts the effect of a previous call to gtk_widget_freeze_child_notify().
+This causes all queued #GtkWidget::child-notify signals on @widget to be
+emitted.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_image_set_from_icon_set">
+<description>
+See gtk_image_new_from_icon_set() for details.
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GtkImage
+</parameter_description>
+</parameter>
+<parameter name="icon_set">
+<parameter_description> a #GtkIconSet
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> a stock icon size
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_tree_selection_set_tree_view">
+<description>
+Sets the #GtkTreeView of @selection. This function should not be invoked, as
+it is used internally by #GtkTreeView.
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> A #GtkTreeSelection.
+</parameter_description>
+</parameter>
+<parameter name="tree_view">
+<parameter_description> The #GtkTreeView.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tooltip_set_tip_area">
+<description>
+Sets the area of the widget, where the contents of this tooltip apply,
+to be @rect (in widget coordinates). This is especially useful for
+properly setting tooltips on #GtkTreeView rows and cells, #GtkIconViews,
+etc.
+
+For setting tooltips on #GtkTreeView, please refer to the convenience
+functions for this: gtk_tree_view_set_tooltip_row() and
+gtk_tree_view_set_tooltip_cell().
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="tooltip">
+<parameter_description> a #GtkTooltip
+</parameter_description>
+</parameter>
+<parameter name="rect">
+<parameter_description> a #GdkRectangle
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_page_setup_set_paper_size">
+<description>
+Sets the paper size of the #GtkPageSetup without
+changing the margins. See
+gtk_page_setup_set_paper_size_and_default_margins().
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> a #GtkPaperSize
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_system_set_bookmark_label">
+<description>
+Sets the label to display for a bookmark.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="file_system">
+<parameter_description> a #GtkFileSystem
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> path of the bookmark
+</parameter_description>
+</parameter>
+<parameter name="label">
+<parameter_description> the label for the bookmark, or %NULL to display
+the path itself
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_spin_button_set_snap_to_ticks">
+<description>
+Sets the policy as to whether values are corrected to the nearest step
+increment when a spin button is activated after providing an invalid value.
+
+</description>
+<parameters>
+<parameter name="spin_button">
+<parameter_description> a #GtkSpinButton
+</parameter_description>
+</parameter>
+<parameter name="snap_to_ticks">
+<parameter_description> a flag indicating if invalid values should be corrected.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_font_button_new_with_font">
+<description>
+Creates a new font picker widget.
+
+
+</description>
+<parameters>
+<parameter name="fontname">
+<parameter_description> Name of font to display in font selection dialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new font picker widget.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_im_context_filter_keypress">
+<description>
+Allow an input method to internally handle key press and release
+events. If this function returns %TRUE, then no further processing
+should be done for this key event.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkIMContext
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> the key event
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the input method handled the key event.
+
+</return>
+</function>
+
+<function name="GtkComboBox">
+<description>
+Which kind of shadow to draw around the combo box.
+
+Since: 2.12
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_expander_new">
+<description>
+Creates a new expander using @label as the text of the label.
+
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> the text of the label
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkExpander widget.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_menu_bar_set_pack_direction">
+<description>
+Sets how items should be packed inside a menubar.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="menubar">
+<parameter_description> a #GtkMenuBar.
+</parameter_description>
+</parameter>
+<parameter name="pack_dir">
+<parameter_description> a new #GtkPackDirection.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_begin_resize_drag">
+<description>
+Starts resizing a window. This function is used if an application
+has window resizing controls. When GDK can support it, the resize
+will be done using the standard mechanism for the &amp;lt;link
+linkend=&quot;gtk-X11-arch&quot;&amp;gt;window manager&amp;lt;/link&amp;gt; or windowing
+system. Otherwise, GDK will try to emulate window resizing,
+potentially not all that well, depending on the windowing system.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="button">
+<parameter_description> mouse button that initiated the drag
+</parameter_description>
+</parameter>
+<parameter name="edge">
+<parameter_description> position of the resize control
+</parameter_description>
+</parameter>
+<parameter name="root_x">
+<parameter_description> X position where the user clicked to initiate the drag, in root window coordinates
+</parameter_description>
+</parameter>
+<parameter name="root_y">
+<parameter_description> Y position where the user clicked to initiate the drag
+</parameter_description>
+</parameter>
+<parameter name="timestamp">
+<parameter_description> timestamp from the click event that initiated the drag
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_about_dialog_set_documenters">
+<description>
+Sets the strings which are displayed in the documenters tab
+of the secondary credits dialog.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+<parameter name="documenters">
+<parameter_description> a %NULL-terminated array of strings
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_layout_get_buffer">
+<description>
+Gets the text buffer used by the layout. See
+gtk_text_layout_set_buffer().
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkTextLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> the text buffer used by the layout.
+</return>
+</function>
+
+<function name="gtk_widget_get_default_visual">
+<description>
+Obtains the visual of the default colormap. Not really useful;
+used to be useful before gdk_colormap_get_visual() existed.
+
+
+</description>
+<parameters>
+</parameters>
+<return> visual of the default colormap
+</return>
+</function>
+
+<function name="gtk_radio_tool_button_new_with_stock_from_widget">
+<description>
+Creates a new #GtkRadioToolButton adding it to the same group as @group.
+The new #GtkRadioToolButton will contain an icon and label from the
+stock item indicated by @stock_id.
+
+
+</description>
+<parameters>
+<parameter name="group">
+<parameter_description> An existing #GtkRadioToolButton.
+</parameter_description>
+</parameter>
+<parameter name="stock_id">
+<parameter_description> the name of a stock item
+</parameter_description>
+</parameter>
+</parameters>
+<return> A new #GtkRadioToolButton
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_get_current_event_state">
+<description>
+If there is a current event and it has a state field, place
+that state field in @state and return %TRUE, otherwise return
+%FALSE.
+
+
+</description>
+<parameters>
+<parameter name="state">
+<parameter_description> a location to store the state of the current event
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if there was a current event and it had a state field
+</return>
+</function>
+
+<function name="gtk_fixed_get_has_window">
+<description>
+Gets whether the #GtkFixed has its own #GdkWindow.
+See gdk_fixed_set_has_window().
+
+
+</description>
+<parameters>
+<parameter name="fixed">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @fixed has its own window.
+</return>
+</function>
+
+<function name="gtk_entry_completion_get_popup_set_width">
+<description>
+Return value: %TRUE if the popup window will be resized to the width of
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> a #GtkEntryCompletion
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the popup window will be resized to the width of
+the entry
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gtk_printer_compare">
+<description>
+Compares two printers.
+
+
+</description>
+<parameters>
+<parameter name="a">
+<parameter_description> a #GtkPrinter
+</parameter_description>
+</parameter>
+<parameter name="b">
+<parameter_description> another #GtkPrinter
+</parameter_description>
+</parameter>
+</parameters>
+<return> 0 if the printer match, a negative value if @a &amp;lt; @b,
+or a positive value if @a &amp;gt; @b
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_toolbar_set_orientation">
+<description>
+Sets whether a toolbar should appear horizontally or vertically.
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar.
+</parameter_description>
+</parameter>
+<parameter name="orientation">
+<parameter_description> a new #GtkOrientation.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_new">
+<description>
+Creates a new entry.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkEntry.
+</return>
+</function>
+
+<function name="_gtk_socket_remove_grabbed_key">
+<description>
+@socket: a #GtkSocket
+@keyval: a key
+@modifiers: modifiers for the key
+
+Called from the GtkSocket backend when the corresponding plug has
+told the socket to remove a key grab.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_create_row_drag_icon">
+<description>
+Creates a #GdkPixmap representation of the row at @path.
+This image is used for a drag icon.
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a #GtkTreePath in @tree_view
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated pixmap of the drag icon.
+</return>
+</function>
+
+<function name="gtk_print_operation_set_current_page">
+<description>
+Sets the current page.
+
+If this is called before gtk_print_operation_run(),
+the user will be able to select to print only the current page.
+
+Note that this only makes sense for pre-paginated documents.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="op">
+<parameter_description> a #GtkPrintOperation
+</parameter_description>
+</parameter>
+<parameter name="current_page">
+<parameter_description> the current page, 0-based
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_select_filename">
+<description>
+Selects a filename. If the file name isn&apos;t in the current
+folder of @chooser, then the current folder of @chooser will
+be changed to the folder containing @filename.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="filename">
+<parameter_description> the filename to select
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if both the folder could be changed and the file was
+selected successfully, %FALSE otherwise.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_color_button_get_use_alpha">
+<description>
+Does the color selection dialog use the alpha channel?
+
+
+</description>
+<parameters>
+<parameter name="color_button">
+<parameter_description> a #GtkColorButton.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the color sample uses alpha channel, %FALSE if not.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="GtkCellRendererSpin">
+<description>
+The number of decimal places to display.
+
+Since: 2.10
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_get_line_at_y">
+<description>
+Gets the #GtkTextIter at the start of the line containing
+the coordinate @y. @y is in buffer coordinates, convert from
+window coordinates with gtk_text_view_window_to_buffer_coords().
+If non-%NULL, @line_top will be filled with the coordinate of the top
+edge of the line.
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="target_iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> a y coordinate
+</parameter_description>
+</parameter>
+<parameter name="line_top">
+<parameter_description> return location for top coordinate of the line
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toolbar_new">
+<description>
+Creates a new toolbar.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the newly-created toolbar.
+</return>
+</function>
+
+<function name="gtk_paper_size_is_custom">
+<description>
+Return value: whether @size is a custom paper size.
+
+</description>
+<parameters>
+<parameter name="size">
+<parameter_description> a #GtkPaperSize object
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @size is a custom paper size.
+</return>
+</function>
+
+<function name="gtk_text_iter_in_range">
+<description>
+Checks whether @iter falls in the range [@start, @end).
+@start and @end must be in ascending order.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> start of range
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> end of range
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter is in the range
+</return>
+</function>
+
+<function name="gtk_table_get_default_row_spacing">
+<description>
+Gets the default row spacing for the table. This is
+the spacing that will be used for newly added rows.
+(See gtk_table_set_row_spacings())
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a #GtkTable
+</parameter_description>
+</parameter>
+</parameters>
+<return>value: the default row spacing
+</return>
+</function>
+
+<function name="gtk_label_get_angle">
+<description>
+Gets the angle of rotation for the label. See
+gtk_label_set_angle().
+
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+</parameters>
+<return> the angle of rotation for the label
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_tool_item_rebuild_menu">
+<description>
+Calling this function signals to the toolbar that the
+overflow menu item for @tool_item has changed. If the
+overflow menu is visible when this function it called,
+the menu will be rebuilt.
+
+The function must be called when the tool item
+changes what it will do in response to the &quot;create_menu_proxy&quot;
+signal.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_get_level_indentation">
+<description>
+Return value: the amount of extra indentation for child levels in
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the amount of extra indentation for child levels in
+@tree_view. A return value of 0 means that this feature is disabled.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_layout_move">
+<description>
+Moves a current child of @layout to a new position.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkLayout
+</parameter_description>
+</parameter>
+<parameter name="child_widget">
+<parameter_description> a current child of @layout
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> X position to move to
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> Y position to move to
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_get_search_equal_func">
+<description>
+Return value: the currently used compare function for the search code.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+</parameters>
+<return> the currently used compare function for the search code.
+</return>
+</function>
+
+<function name="gtk_text_view_move_visually">
+<description>
+Move the iterator a given number of characters visually, treating
+it as the strong cursor position. If @count is positive, then the
+new strong cursor position will be @count positions to the right of
+the old cursor position. If @count is negative then the new strong
+cursor position will be @count positions to the left of the old
+cursor position.
+
+In the presence of bi-directional text, the correspondence
+between logical and visual order will depend on the direction
+of the current run, and there may be jumps when the cursor
+is moved off of the end of a run.
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> number of characters to move (negative moves left,
+positive moves right)
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter moved and is not on the end iterator
+</return>
+</function>
+
+<function name="gtk_box_pack_end_defaults">
+<description>
+Adds @widget to @box, packed with reference to the end of @box.
+The child is packed after any other child packed with reference
+to the start of @box.
+
+Parameters for how to pack the child @widget, #GtkBox:expand,
+#GtkBox:fill and #GtkBox:padding, are given their default
+values, %TRUE, %TRUE, and 0, respectively.
+
+</description>
+<parameters>
+<parameter name="box">
+<parameter_description> a #GtkBox
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the #GtkWidget to be added to @box
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_statusbar_pop">
+<description>
+Removes the first message in the #GtkStatusBar&apos;s stack
+with the given context id.
+
+Note that this may not change the displayed message, if
+the message at the top of the stack has a different
+context id.
+
+</description>
+<parameters>
+<parameter name="statusbar">
+<parameter_description> a #GtkStatusBar
+</parameter_description>
+</parameter>
+<parameter name="context_id">
+<parameter_description> a context identifier
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_clipboard_get_display">
+<description>
+Gets the #GdkDisplay associated with @clipboard
+
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkDisplay associated with @clipboard
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_range_get_upper_stepper_sensitivity">
+<description>
+Gets the sensitivity policy for the stepper that points to the
+&apos;upper&apos; end of the GtkRange&apos;s adjustment.
+
+
+</description>
+<parameters>
+<parameter name="range">
+<parameter_description> a #GtkRange
+</parameter_description>
+</parameter>
+</parameters>
+<return> The upper stepper&apos;s sensitivity policy.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_color_selection_get_previous_alpha">
+<description>
+Return value: an integer between 0 and 65535.
+
+</description>
+<parameters>
+<parameter name="colorsel">
+<parameter_description> a #GtkColorSelection.
+</parameter_description>
+</parameter>
+</parameters>
+<return> an integer between 0 and 65535.
+</return>
+</function>
+
+<function name="_gtk_file_system_model_set_show_folders">
+<description>
+Sets whether folders should be included in the #GtkTreeModel for
+display.
+
+</description>
+<parameters>
+<parameter name="model">
+<parameter_description> a #GtkFileSystemModel
+</parameter_description>
+</parameter>
+<parameter name="show_folders">
+<parameter_description> whether folders should be displayed
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_get_default_size">
+<description>
+Gets the default size of the window. A value of -1 for the width or
+height indicates that a default size has not been explicitly set
+for that dimension, so the &quot;natural&quot; size of the window will be
+used.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> location to store the default width, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> location to store the default height, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_add_child_in_window">
+<description>
+Adds a child at fixed coordinates in one of the text widget&apos;s
+windows. The window must have nonzero size (see
+gtk_text_view_set_border_window_size()). Note that the child
+coordinates are given relative to the #GdkWindow in question, and
+that these coordinates have no sane relationship to scrolling. When
+placing a child in #GTK_TEXT_WINDOW_WIDGET, scrolling is
+irrelevant, the child floats above all scrollable areas. But when
+placing a child in one of the scrollable windows (border windows or
+text window), you&apos;ll need to compute the child&apos;s correct position
+in buffer coordinates any time scrolling occurs or buffer changes
+occur, and then call gtk_text_view_move_child() to update the
+child&apos;s position. Unfortunately there&apos;s no good way to detect that
+scrolling has occurred, using the current API; a possible hack
+would be to update all child positions when the scroll adjustments
+change or the text buffer changes. See bug 64518 on
+bugzilla.gnome.org for status of fixing this issue.
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="which_window">
+<parameter_description> which window the child should appear in
+</parameter_description>
+</parameter>
+<parameter name="xpos">
+<parameter_description> X position of child in window coordinates
+</parameter_description>
+</parameter>
+<parameter name="ypos">
+<parameter_description> Y position of child in window coordinates
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_cell_layout_set_cell_data_func">
+<description>
+Sets the #GtkCellLayoutDataFunc to use for @cell_layout. This function
+is used instead of the standard attributes mapping for setting the
+column value, and should set the value of @cell_layout&apos;s cell renderer(s)
+as appropriate. @func may be %NULL to remove and older one.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="cell_layout">
+<parameter_description> A #GtkCellLayout.
+</parameter_description>
+</parameter>
+<parameter name="cell">
+<parameter_description> A #GtkCellRenderer.
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> The #GtkCellLayoutDataFunc to use.
+</parameter_description>
+</parameter>
+<parameter name="func_data">
+<parameter_description> The user data for @func.
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> The destroy notification for @func_data.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_item_factory_create_items_ac">
+<description>
+Creates the menu items from the @entries.
+
+Deprecated: 2.4:
+
+</description>
+<parameters>
+<parameter name="ifactory">
+<parameter_description> a #GtkItemFactory
+</parameter_description>
+</parameter>
+<parameter name="n_entries">
+<parameter_description> the length of @entries
+</parameter_description>
+</parameter>
+<parameter name="entries">
+<parameter_description> an array of #GtkItemFactoryEntry&amp;lt;!-- --&amp;gt;s
+</parameter_description>
+</parameter>
+<parameter name="callback_data">
+<parameter_description> data passed to the callback functions of all entries
+</parameter_description>
+</parameter>
+<parameter name="callback_type">
+<parameter_description> 1 if the callback functions in @entries are of type
+#GtkItemFactoryCallback1, 2 if they are of type #GtkItemFactoryCallback2
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_accel_group_lock">
+<description>
+Locks the given accelerator group.
+
+Locking an acelerator group prevents the accelerators contained
+within it to be changed during runtime. Refer to
+gtk_accel_map_change_entry() about runtime accelerator changes.
+
+If called more than once, @accel_group remains locked until
+gtk_accel_group_unlock() has been called an equivalent number
+of times.
+
+</description>
+<parameters>
+<parameter name="accel_group">
+<parameter_description> a #GtkAccelGroup
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_get_invisible_char">
+<description>
+Retrieves the character displayed in place of the real characters
+for entries with visibility set to false. See gtk_entry_set_invisible_char().
+
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current invisible char, or 0, if the entry does not
+show invisible text at all.
+</return>
+</function>
+
+<function name="gtk_ui_manager_new">
+<description>
+Creates a new ui manager object.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new ui manager object.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tree_view_enable_model_drag_dest">
+<description>
+Turns @tree_view into a drop destination for automatic DND.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="targets">
+<parameter_description> the table of targets that the drag will support
+</parameter_description>
+</parameter>
+<parameter name="n_targets">
+<parameter_description> the number of items in @targets
+</parameter_description>
+</parameter>
+<parameter name="actions">
+<parameter_description> the bitmask of possible actions for a drag from this
+widget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_get_scrollable">
+<description>
+Return value: %TRUE if arrows for scrolling are present
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if arrows for scrolling are present
+</return>
+</function>
+
+<function name="gtk_print_settings_get_n_copies">
+<description>
+Gets the value of %GTK_PRINT_SETTINGS_N_COPIES.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of copies to print
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_frame_get_label_align">
+<description>
+Retrieves the X and Y alignment of the frame&apos;s label. See
+gtk_frame_set_label_align().
+
+</description>
+<parameters>
+<parameter name="frame">
+<parameter_description> a #GtkFrame
+</parameter_description>
+</parameter>
+<parameter name="xalign">
+<parameter_description> location to store X alignment of frame&apos;s label, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="yalign">
+<parameter_description> location to store X alignment of frame&apos;s label, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_info_unref">
+<description>
+Decreases the reference count of @info by one. If the reference
+count reaches zero, @info is deallocated, and the memory freed.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GtkRecentInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_get_text">
+<description>
+Return value: array of characters from the buffer
+
+</description>
+<parameters>
+<parameter name="start">
+<parameter_description> iterator at start of a range
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> iterator at end of a range
+</parameter_description>
+</parameter>
+</parameters>
+<return> array of characters from the buffer
+</return>
+</function>
+
+<function name="gtk_tree_view_get_headers_clickable">
+<description>
+Return value: %TRUE if all header columns are clickable, otherwise %FALSE
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if all header columns are clickable, otherwise %FALSE
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_model_filter_convert_child_iter_to_iter">
+<description>
+Sets @filter_iter to point to the row in @filter that corresponds to the
+row pointed at by @child_iter. If @filter_iter was not set, %FALSE is
+returned.
+
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> A #GtkTreeModelFilter.
+</parameter_description>
+</parameter>
+<parameter name="filter_iter">
+<parameter_description> An uninitialized #GtkTreeIter.
+</parameter_description>
+</parameter>
+<parameter name="child_iter">
+<parameter_description> A valid #GtkTreeIter pointing to a row on the child model.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE, if @filter_iter was set, i.e. if @child_iter is a
+valid iterator pointing to a visible row in child model.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="GtkPrintJob">
+<description>
+Gets emitted when the status of a job changes. The signal handler
+can use gtk_print_job_get_status() to obtain the new status.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="job">
+<parameter_description> the #GtkPrintJob object on which the signal was emitted
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_forward_visible_word_end">
+<description>
+Moves forward to the next visible word end. (If @iter is currently on a
+word end, moves forward to the next one after that.) Word breaks
+are determined by Pango and should be correct for nearly any
+language (if not, the correct fix would be to the Pango word break
+algorithms).
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter moved and is not the end iterator
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_cell_view_set_value">
+<description>
+Sets a property of a cell renderer of @cell_view, and
+makes sure the display of @cell_view is updated.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="cell_view">
+<parameter_description> a #GtkCellView widget
+</parameter_description>
+</parameter>
+<parameter name="renderer">
+<parameter_description> one of the renderers of @cell_view
+</parameter_description>
+</parameter>
+<parameter name="property">
+<parameter_description> the name of the property of @renderer to set
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> the new value to set the property to
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_scroll_to_iter">
+<description>
+Scrolls @text_view so that @iter is on the screen in the position
+indicated by @xalign and @yalign. An alignment of 0.0 indicates
+left or top, 1.0 indicates right or bottom, 0.5 means center.
+If @use_align is %FALSE, the text scrolls the minimal distance to
+get the mark onscreen, possibly not scrolling at all. The effective
+screen for purposes of this function is reduced by a margin of size
+@within_margin.
+
+Note that this function uses the currently-computed height of the
+lines in the text buffer. Line heights are computed in an idle
+handler; so this function may not have the desired effect if it&apos;s
+called before the height computations. To avoid oddness, consider
+using gtk_text_view_scroll_to_mark() which saves a point to be
+scrolled to after line validation.
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="within_margin">
+<parameter_description> margin as a [0.0,0.5) fraction of screen size
+</parameter_description>
+</parameter>
+<parameter name="use_align">
+<parameter_description> whether to use alignment arguments (if %FALSE,
+just get the mark onscreen)
+</parameter_description>
+</parameter>
+<parameter name="xalign">
+<parameter_description> horizontal alignment of mark within visible area
+</parameter_description>
+</parameter>
+<parameter name="yalign">
+<parameter_description> vertical alignment of mark within visible area
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if scrolling occurred
+</return>
+</function>
+
+<function name="gtk_entry_new_with_max_length">
+<description>
+Creates a new #GtkEntry widget with the given maximum length.
+
+Note: the existence of this function is inconsistent
+with the rest of the GTK+ API. The normal setup would
+be to just require the user to make an extra call
+to gtk_entry_set_max_length() instead. It is not
+expected that this function will be removed, but
+it would be better practice not to use it.
+
+
+</description>
+<parameters>
+<parameter name="max">
+<parameter_description> the maximum length of the entry, or 0 for no maximum.
+(other than the maximum length of entries.) The value passed in will
+be clamped to the range 0-65536.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkEntry.
+</return>
+</function>
+
+<function name="gtk_item_factory_popup_data">
+<description>
+Obtains the @popup_data which was passed to
+gtk_item_factory_popup_with_data(). This data is available until the menu
+is popped down again.
+
+Deprecated: 2.4:
+
+</description>
+<parameters>
+<parameter name="ifactory">
+<parameter_description> a #GtkItemFactory
+</parameter_description>
+</parameter>
+</parameters>
+<return> @popup_data associated with @ifactory
+</return>
+</function>
+
+<function name="gtk_assistant_set_page_side_image">
+<description>
+Sets a header image for @page. This image is displayed in the side
+area of the assistant when @page is the current page.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="assistant">
+<parameter_description> a #GtkAssistant
+</parameter_description>
+</parameter>
+<parameter name="page">
+<parameter_description> a page of @assistant
+</parameter_description>
+</parameter>
+<parameter name="pixbuf">
+<parameter_description> the new header image @page
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_set_tab_vborder">
+<description>
+Sets the width of the vertical border of tab labels.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="tab_vborder">
+<parameter_description> width of the vertical border of tab labels.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_socket_unmap_notify">
+<description>
+@socket: a #GtkSocket
+
+Called from the GtkSocket backend when the plug has been unmapped ???
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_target_list_add_image_targets">
+<description>
+Appends the image targets supported by #GtkSelection to
+the target list. All targets are added with the same @info.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="list">
+<parameter_description> a #GtkTargetList
+</parameter_description>
+</parameter>
+<parameter name="info">
+<parameter_description> an ID that will be passed back to the application
+</parameter_description>
+</parameter>
+<parameter name="writable">
+<parameter_description> whether to add only targets for which GTK+ knows
+how to convert a pixbuf into the format
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_set_paper_size">
+<description>
+Sets the value of %GTK_PRINT_SETTINGS_PAPER_FORMAT,
+%GTK_PRINT_SETTINGS_PAPER_WIDTH and
+%GTK_PRINT_SETTINGS_PAPER_HEIGHT.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="paper_size">
+<parameter_description> a paper size
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_paper_size_get_default">
+<description>
+Return value: the name of the default paper size. The string
+
+</description>
+<parameters>
+</parameters>
+<return> the name of the default paper size. The string
+is owned by GTK+ and should not be modified.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_accelerator_get_default_mod_mask">
+<description>
+Gets the value set by gtk_accelerator_set_default_mod_mask().
+
+</description>
+<parameters>
+</parameters>
+<return> the default accelerator modifier mask
+</return>
+</function>
+
+<function name="GtkRecentManager">
+<description>
+Emitted when the current recently used resources manager changes its
+contents.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="recent_manager">
+<parameter_description> the recent manager
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_ruler_get_metric">
+<description>
+Gets the units used for a #GtkRuler. See gtk_ruler_set_metric().
+
+
+</description>
+<parameters>
+<parameter name="ruler">
+<parameter_description> a #GtkRuler
+</parameter_description>
+</parameter>
+</parameters>
+<return> the units currently used for @ruler
+</return>
+</function>
+
+<function name="gtk_icon_set_get_sizes">
+<description>
+Obtains a list of icon sizes this icon set can render. The returned
+array must be freed with g_free().
+
+
+</description>
+<parameters>
+<parameter name="icon_set">
+<parameter_description> a #GtkIconSet
+</parameter_description>
+</parameter>
+<parameter name="sizes">
+<parameter_description> return location for array of sizes
+</parameter_description>
+</parameter>
+<parameter name="n_sizes">
+<parameter_description> location to store number of elements in returned array
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_page_setup_get_orientation">
+<description>
+Gets the page orientation of the #GtkPageSetup.
+
+
+</description>
+<parameters>
+<parameter name="setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+</parameters>
+<return> the page orientation
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_file_chooser_get_uri">
+<description>
+Gets the URI for the currently selected file in
+the file selector. If multiple files are selected,
+one of the filenames will be returned at random.
+
+If the file chooser is in folder mode, this function returns the selected
+folder.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> The currently selected URI, or %NULL
+if no file is selected. Free with g_free()
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tree_view_scroll_to_cell">
+<description>
+Moves the alignments of @tree_view to the position specified by @column and
+@path. If @column is %NULL, then no horizontal scrolling occurs. Likewise,
+if @path is %NULL no vertical scrolling occurs. At a minimum, one of @column
+or @path need to be non-%NULL. @row_align determines where the row is
+placed, and @col_align determines where @column is placed. Both are expected
+to be between 0.0 and 1.0. 0.0 means left/top alignment, 1.0 means
+right/bottom alignment, 0.5 means center.
+
+If @use_align is %FALSE, then the alignment arguments are ignored, and the
+tree does the minimum amount of work to scroll the cell onto the screen.
+This means that the cell will be scrolled to the edge closest to its current
+position. If the cell is currently visible on the screen, nothing is done.
+
+This function only works if the model is set, and @path is a valid row on the
+model. If the model changes before the @tree_view is realized, the centered
+path will be modified to reflect this change.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView.
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> The path of the row to move to, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> The #GtkTreeViewColumn to move horizontally to, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="use_align">
+<parameter_description> whether to use alignment arguments, or %FALSE.
+</parameter_description>
+</parameter>
+<parameter name="row_align">
+<parameter_description> The vertical alignment of the row specified by @path.
+</parameter_description>
+</parameter>
+<parameter name="col_align">
+<parameter_description> The horizontal alignment of the column specified by @column.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_path_new">
+<description>
+Creates a new #GtkTreePath. This structure refers to a row.
+
+
+</description>
+<parameters>
+</parameters>
+<return> A newly created #GtkTreePath.
+</return>
+</function>
+
+<function name="gtk_draw_option">
+<description>
+Draws a radio button indicator in the given rectangle on @window with
+the given parameters.
+
+Deprecated: Use gtk_paint_option() instead.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> the type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the rectangle to draw the option in
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the rectangle to draw the option in
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the rectangle to draw the option in
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the rectangle to draw the option in
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_get_tab_detachable">
+<description>
+Return Value: TRUE if the tab is detachable.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> a child #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if the tab is detachable.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_combo_box_set_row_span_column">
+<description>
+Sets the column with row span information for @combo_box to be @row_span.
+The row span column contains integers which indicate how many rows
+an item should span.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> A #GtkComboBox.
+</parameter_description>
+</parameter>
+<parameter name="row_span">
+<parameter_description> A column in the model passed during construction.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_drag_source_set_icon_stock">
+<description>
+Sets the icon that will be used for drags from a particular source
+to a stock icon.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="stock_id">
+<parameter_description> the ID of the stock icon to use
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_buildable_custom_tag_end">
+<description>
+This is called at the end of each custom element handled by
+the buildable.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="buildable">
+<parameter_description> A #GtkBuildable
+</parameter_description>
+</parameter>
+<parameter name="builder">
+<parameter_description> #GtkBuilder used to construct this object
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> child object or %NULL for non-child tags
+</parameter_description>
+</parameter>
+<parameter name="tagname">
+<parameter_description> name of tag
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> user data that will be passed in to parser functions
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_cell_renderer_toggle_new">
+<description>
+Creates a new #GtkCellRendererToggle. Adjust rendering
+parameters using object properties. Object properties can be set
+globally (with g_object_set()). Also, with #GtkTreeViewColumn, you
+can bind a property to a value in a #GtkTreeModel. For example, you
+can bind the &quot;active&quot; property on the cell renderer to a boolean value
+in the model, thus causing the check button to reflect the state of
+the model.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the new cell renderer
+</return>
+</function>
+
+<function name="gtk_recent_info_get_added">
+<description>
+Gets the timestamp (seconds from system&apos;s Epoch) when the resource
+was added to the recently used resources list.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GtkRecentInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of seconds elapsed from system&apos;s Epoch when
+the resource was added to the list, or -1 on failure.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_model_filter_convert_child_path_to_path">
+<description>
+Converts @child_path to a path relative to @filter. That is, @child_path
+points to a path in the child model. The rerturned path will point to the
+same row in the filtered model. If @child_path isn&apos;t a valid path on the
+child model or points to a row which is not visible in @filter, then %NULL
+is returned.
+
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> A #GtkTreeModelFilter.
+</parameter_description>
+</parameter>
+<parameter name="child_path">
+<parameter_description> A #GtkTreePath to convert.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly allocated #GtkTreePath, or %NULL.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_icon_view_new_with_model">
+<description>
+Creates a new #GtkIconView widget with the model @model.
+
+
+</description>
+<parameters>
+<parameter name="model">
+<parameter_description> The model.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly created #GtkIconView widget.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_text_mark_get_buffer">
+<description>
+Gets the buffer this mark is located inside,
+or %NULL if the mark is deleted.
+
+
+</description>
+<parameters>
+<parameter name="mark">
+<parameter_description> a #GtkTextMark
+</parameter_description>
+</parameter>
+</parameters>
+<return> the mark&apos;s #GtkTextBuffer
+</return>
+</function>
+
+<function name="gtk_rc_parse_color">
+<description>
+Parses a color in the &amp;lt;link linkend=&quot;color=format&quot;&amp;gt;format&amp;lt;/link&amp;gt; expected
+in a RC file.
+
+Note that theme engines should use gtk_rc_parse_color_full() in
+order to support symbolic colors.
+
+
+</description>
+<parameters>
+<parameter name="scanner">
+<parameter_description> a #GScanner
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> a pointer to a #GtkColor structure in which to store the result
+</parameter_description>
+</parameter>
+</parameters>
+<return> %G_TOKEN_NONE if parsing succeeded, otherwise the token
+that was expected but not found
+</return>
+</function>
+
+<function name="gtk_text_layout_get_cursor_visible">
+<description>
+Return value: if %FALSE, the insertion cursor will not be
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkTextLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> if %FALSE, the insertion cursor will not be
+ shown, even if the text is editable.
+</return>
+</function>
+
+<function name="gtk_text_buffer_copy_clipboard">
+<description>
+Copies the currently-selected text to a clipboard.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="clipboard">
+<parameter_description> the #GtkClipboard object to copy to
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_end_user_action">
+<description>
+Should be paired with a call to gtk_text_buffer_begin_user_action().
+See that function for a full explanation.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_insert_child_anchor">
+<description>
+Inserts a child widget anchor into the text buffer at @iter. The
+anchor will be counted as one character in character counts, and
+when obtaining the buffer contents as a string, will be represented
+by the Unicode &quot;object replacement character&quot; 0xFFFC. Note that the
+&quot;slice&quot; variants for obtaining portions of the buffer as a string
+include this character for child anchors, but the &quot;text&quot; variants do
+not. E.g. see gtk_text_buffer_get_slice() and
+gtk_text_buffer_get_text(). Consider
+gtk_text_buffer_create_child_anchor() as a more convenient
+alternative to this function. The buffer will add a reference to
+the anchor, so you can unref it after insertion.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> location to insert the anchor
+</parameter_description>
+</parameter>
+<parameter name="anchor">
+<parameter_description> a #GtkTextChildAnchor
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_forward_sentence_ends">
+<description>
+Calls gtk_text_iter_forward_sentence_end() @count times (or until
+gtk_text_iter_forward_sentence_end() returns %FALSE). If @count is
+negative, moves backward instead of forward.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> number of sentences to move
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter moved and is not the end iterator
+</return>
+</function>
+
+<function name="gtk_spin_button_set_update_policy">
+<description>
+Sets the update behavior of a spin button. This determines whether the
+spin button is always updated or only when a valid value is set.
+
+</description>
+<parameters>
+<parameter name="spin_button">
+<parameter_description> a #GtkSpinButton
+</parameter_description>
+</parameter>
+<parameter name="policy">
+<parameter_description> a #GtkSpinButtonUpdatePolicy value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_drag_source_drag_data_delete">
+<description>
+Asks the #GtkTreeDragSource to delete the row at @path, because
+it was moved somewhere else via drag-and-drop. Returns %FALSE
+if the deletion fails because @path no longer exists, or for
+some model-specific reason. Should robustly handle a @path no
+longer found in the model!
+
+
+</description>
+<parameters>
+<parameter name="drag_source">
+<parameter_description> a #GtkTreeDragSource
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> row that was being dragged
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the row was successfully deleted
+</return>
+</function>
+
+<function name="gtk_tool_item_get_relief_style">
+<description>
+Return value: a #GtkReliefStyle indicating the relief style used
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem:
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GtkReliefStyle indicating the relief style used
+for @tool_item.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_status_icon_get_pixbuf">
+<description>
+Gets the #GdkPixbuf being displayed by the #GtkStatusIcon.
+The storage type of the status icon must be %GTK_IMAGE_EMPTY or
+%GTK_IMAGE_PIXBUF (see gtk_status_icon_get_storage_type()).
+The caller of this function does not own a reference to the
+returned pixbuf.
+
+
+</description>
+<parameters>
+<parameter name="status_icon">
+<parameter_description> a #GtkStatusIcon
+</parameter_description>
+</parameter>
+</parameters>
+<return> the displayed pixbuf, or %NULL if the image is empty.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_widget_get_size_request">
+<description>
+Gets the size request that was explicitly set for the widget using
+gtk_widget_set_size_request(). A value of -1 stored in @width or
+@height indicates that that dimension has not been set explicitly
+and the natural requisition of the widget will be used intead. See
+gtk_widget_set_size_request(). To get the size a widget will
+actually use, call gtk_widget_size_request() instead of
+this function.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> return location for width, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> return location for height, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tool_button_get_icon_name">
+<description>
+Returns: the icon name or %NULL if the tool button has
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkToolButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> the icon name or %NULL if the tool button has
+no themed icon
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gtk_stock_item_copy">
+<description>
+Copies a stock item, mostly useful for language bindings and not in applications.
+
+
+</description>
+<parameters>
+<parameter name="item">
+<parameter_description> a #GtkStockItem
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkStockItem
+</return>
+</function>
+
+<function name="gtk_icon_view_set_margin">
+<description>
+Sets the ::margin property which specifies the space
+which is inserted at the top, bottom, left and right
+of the icon view.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+<parameter name="margin">
+<parameter_description> the margin
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_rc_set_default_files">
+<description>
+Sets the list of files that GTK+ will read at the
+end of gtk_init().
+
+</description>
+<parameters>
+<parameter name="filenames">
+<parameter_description> A %NULL-terminated list of filenames.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_insert_interactive">
+<description>
+Like gtk_text_buffer_insert(), but the insertion will not occur if
+@iter is at a non-editable location in the buffer. Usually you
+want to prevent insertions at ineditable locations if the insertion
+results from a user action (is interactive).
+
+@default_editable indicates the editability of text that doesn&apos;t
+have a tag affecting editability applied to it. Typically the
+result of gtk_text_view_get_editable() is appropriate here.
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a position in @buffer
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> some UTF-8 text
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> length of text in bytes, or -1
+</parameter_description>
+</parameter>
+<parameter name="default_editable">
+<parameter_description> default editability of buffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether text was actually inserted
+</return>
+</function>
+
+<function name="gtk_tree_path_next">
+<description>
+Moves the @path to point to the next node at the current depth.
+
+</description>
+<parameters>
+<parameter name="path">
+<parameter_description> A #GtkTreePath.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_action_set_accel_path">
+<description>
+Sets the accel path for this action. All proxy widgets associated
+with the action will have this accel path, so that their
+accelerators are consistent.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+<parameter name="accel_path">
+<parameter_description> the accelerator path
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_accel_map_save">
+<description>
+Saves current accelerator specifications (accelerator path, key
+and modifiers) to @file_name.
+The file is written in a format suitable to be read back in by
+gtk_accel_map_load().
+
+</description>
+<parameters>
+<parameter name="file_name">
+<parameter_description> the name of the file to contain accelerator specifications,
+in the GLib file name encoding
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tool_item_get_is_important">
+<description>
+Return value: %TRUE if @tool_item is considered important.
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @tool_item is considered important.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_icon_factory_add_default">
+<description>
+Adds an icon factory to the list of icon factories searched by
+gtk_style_lookup_icon_set(). This means that, for example,
+gtk_image_new_from_stock() will be able to find icons in @factory.
+There will normally be an icon factory added for each library or
+application that comes with icons. The default icon factories
+can be overridden by themes.
+
+
+</description>
+<parameters>
+<parameter name="factory">
+<parameter_description> a #GtkIconFactory
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_get_label">
+<description>
+Fetches the text from a label widget including any embedded
+underlines indicating mnemonics and Pango markup. (See
+gtk_label_get_text()).
+
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+</parameters>
+<return> the text of the label widget. This string is
+owned by the widget and must not be modified or freed.
+</return>
+</function>
+
+<function name="gtk_recent_action_set_show_numbers">
+<description>
+Sets whether a number should be added to the items shown by the
+widgets representing @action. The numbers are shown to provide
+a unique character for a mnemonic to be used inside the menu item&apos;s
+label. Only the first ten items get a number to avoid clashes.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> a #GtkRecentAction
+</parameter_description>
+</parameter>
+<parameter name="show_numbers">
+<parameter_description> %TRUE if the shown items should be numbered
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_get_nth_page">
+<description>
+Return value: the child widget, or %NULL if @page_num is
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="page_num">
+<parameter_description> the index of a page in the notebook, or -1
+to get the last page.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the child widget, or %NULL if @page_num is
+out of bounds.
+</return>
+</function>
+
+<function name="gtk_text_view_get_right_margin">
+<description>
+Gets the default right margin for text in @text_view. Tags
+in the buffer may override the default.
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+</parameters>
+<return> right margin in pixels
+</return>
+</function>
+
+<function name="gtk_layout_get_hadjustment">
+<description>
+This function should only be called after the layout has been
+placed in a #GtkScrolledWindow or otherwise configured for
+scrolling. It returns the #GtkAdjustment used for communication
+between the horizontal scrollbar and @layout.
+
+See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> horizontal scroll adjustment
+</return>
+</function>
+
+<function name="gtk_print_settings_set_print_pages">
+<description>
+Sets the value of %GTK_PRINT_SETTINGS_PRINT_PAGES.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="pages">
+<parameter_description> a #GtkPrintPages value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_selection_unselect_path">
+<description>
+Unselects the row at @path.
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> A #GtkTreeSelection.
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> The #GtkTreePath to be unselected.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_modify_style">
+<description>
+Modifies style values on the widget. Modifications made using this
+technique take precedence over style values set via an RC file,
+however, they will be overriden if a style is explicitely set on
+the widget using gtk_widget_set_style(). The #GtkRcStyle structure
+is designed so each field can either be set or unset, so it is
+possible, using this function, to modify some style values and
+leave the others unchanged.
+
+Note that modifications made with this function are not cumulative
+with previous calls to gtk_widget_modify_style() or with such
+functions as gtk_widget_modify_fg(). If you wish to retain
+previous values, you must first call gtk_widget_get_modifier_style(),
+make your modifications to the returned style, then call
+gtk_widget_modify_style() with that style. On the other hand,
+if you first call gtk_widget_modify_style(), subsequent calls
+to such functions gtk_widget_modify_fg() will have a cumulative
+effect with the initial modifications.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="style">
+<parameter_description> the #GtkRcStyle holding the style modifications
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_new">
+<description>
+Creates a new #GtkNotebook widget with no pages.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the newly created #GtkNotebook
+</return>
+</function>
+
+<function name="gtk_tree_view_set_cursor">
+<description>
+Sets the current keyboard focus to be at @path, and selects it. This is
+useful when you want to focus the user&apos;s attention on a particular row. If
+@focus_column is not %NULL, then focus is given to the column specified by
+it. Additionally, if @focus_column is specified, and @start_editing is
+%TRUE, then editing should be started in the specified cell.
+This function is often followed by @gtk_widget_grab_focus (@tree_view)
+in order to give keyboard focus to the widget. Please note that editing
+can only happen when the widget is realized.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> A #GtkTreePath
+</parameter_description>
+</parameter>
+<parameter name="focus_column">
+<parameter_description> A #GtkTreeViewColumn, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="start_editing">
+<parameter_description> %TRUE if the specified cell should start being edited.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_icon_factory_list_ids">
+<description>
+Gets all known IDs stored in an existing icon factory.
+The strings in the returned list aren&apos;t copied.
+The list itself should be freed.
+
+
+</description>
+<parameters>
+</parameters>
+<return> List of ids in icon factories
+</return>
+</function>
+
+<function name="gtk_invisible_set_screen">
+<description>
+Sets the #GdkScreen where the #GtkInvisible object will be displayed.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="invisible">
+<parameter_description> a #GtkInvisible.
+</parameter_description>
+</parameter>
+<parameter name="screen">
+<parameter_description> a #GdkScreen.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_check_menu_item_set_draw_as_radio">
+<description>
+Sets whether @check_menu_item is drawn like a #GtkRadioMenuItem
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="check_menu_item">
+<parameter_description> a #GtkCheckMenuItem
+</parameter_description>
+</parameter>
+<parameter name="draw_as_radio">
+<parameter_description> whether @check_menu_item is drawn like a #GtkRadioMenuItem
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_cell_layout_set_attributes">
+<description>
+Sets the attributes in list as the attributes of @cell_layout. The
+attributes should be in attribute/column order, as in
+gtk_cell_layout_add_attribute(). All existing attributes are removed, and
+replaced with the new attributes.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="cell_layout">
+<parameter_description> A #GtkCellLayout.
+</parameter_description>
+</parameter>
+<parameter name="cell">
+<parameter_description> A #GtkCellRenderer.
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> A %NULL-terminated list of attributes.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_translate_coordinates">
+<description>
+Translate coordinates relative to @src_widget&apos;s allocation to coordinates
+relative to @dest_widget&apos;s allocations. In order to perform this
+operation, both widgets must be realized, and must share a common
+toplevel.
+
+
+</description>
+<parameters>
+<parameter name="src_widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="dest_widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="src_x">
+<parameter_description> X position relative to @src_widget
+</parameter_description>
+</parameter>
+<parameter name="src_y">
+<parameter_description> Y position relative to @src_widget
+</parameter_description>
+</parameter>
+<parameter name="dest_x">
+<parameter_description> location to store X position relative to @dest_widget
+</parameter_description>
+</parameter>
+<parameter name="dest_y">
+<parameter_description> location to store Y position relative to @dest_widget
+</parameter_description>
+</parameter>
+</parameters>
+<return> %FALSE if either widget was not realized, or there
+was no common ancestor. In this case, nothing is stored in
+*@dest_x and *@dest_y. Otherwise %TRUE.
+</return>
+</function>
+
+<function name="gtk_text_buffer_get_line_count">
+<description>
+Obtains the number of lines in the buffer. This value is cached, so
+the function is very fast.
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> number of lines in the buffer
+</return>
+</function>
+
+<function name="gtk_file_chooser_set_filename">
+<description>
+Sets @filename as the current filename for the file chooser, by changing
+to the file&apos;s parent folder and actually selecting the file in list. If
+the @chooser is in #GTK_FILE_CHOOSER_ACTION_SAVE mode, the file&apos;s base name
+will also appear in the dialog&apos;s file name entry.
+
+If the file name isn&apos;t in the current folder of @chooser, then the current
+folder of @chooser will be changed to the folder containing @filename. This
+is equivalent to a sequence of gtk_file_chooser_unselect_all() followed by
+gtk_file_chooser_select_filename().
+
+Note that the file must exist, or nothing will be done except
+for the directory change.
+
+If you are implementing a &amp;lt;guimenuitem&amp;gt;File/Save As...&amp;lt;/guimenuitem&amp;gt; dialog, you
+should use this function if you already have a file name to which the user may save; for example,
+when the user opens an existing file and then does &amp;lt;guimenuitem&amp;gt;File/Save As...&amp;lt;/guimenuitem&amp;gt;
+on it. If you don&apos;t have a file name already &amp;mdash; for example, if the user just created
+a new file and is saving it for the first time, do not call this function. Instead, use
+something similar to this:
+
+&amp;lt;programlisting&amp;gt;
+if (document_is_new)
+{
+/&amp;lt;!-- --&amp;gt;* the user just created a new document *&amp;lt;!-- --&amp;gt;/
+gtk_file_chooser_set_current_folder (chooser, default_folder_for_saving);
+gtk_file_chooser_set_current_name (chooser, &quot;Untitled document&quot;);
+}
+else
+{
+/&amp;lt;!-- --&amp;gt;* the user edited an existing document *&amp;lt;!-- --&amp;gt;/
+gtk_file_chooser_set_filename (chooser, existing_filename);
+}
+&amp;lt;/programlisting&amp;gt;
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="filename">
+<parameter_description> the filename to set as current
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if both the folder could be changed and the file was
+selected successfully, %FALSE otherwise.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_text_iter_forward_chars">
+<description>
+Moves @count characters if possible (if @count would move past the
+start or end of the buffer, moves to the start or end of the
+buffer). The return value indicates whether the new position of
+@iter is different from its original position, and dereferenceable
+(the last iterator in the buffer is not dereferenceable). If @count
+is 0, the function does nothing and returns %FALSE.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> number of characters to move, may be negative
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @iter moved and is dereferenceable
+</return>
+</function>
+
+<function name="gtk_link_button_new">
+<description>
+Creates a new #GtkLinkButton with the URI as its text.
+
+
+</description>
+<parameters>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new link button widget.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_label_set_width_chars">
+<description>
+Sets the desired width in characters of @label to @n_chars.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+<parameter name="n_chars">
+<parameter_description> the new desired width, in characters.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_socket_new">
+<description>
+Create a new empty #GtkSocket.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the new #GtkSocket.
+</return>
+</function>
+
+<function name="gtk_handle_box_get_snap_edge">
+<description>
+Gets the edge used for determining reattachment of the handle box. See
+gtk_handle_box_set_snap_edge().
+
+
+</description>
+<parameters>
+<parameter name="handle_box">
+<parameter_description> a #GtkHandleBox
+</parameter_description>
+</parameter>
+</parameters>
+<return> the edge used for determining reattachment, or (GtkPositionType)-1 if this
+is determined (as per default) from the handle position.
+</return>
+</function>
+
+<function name="gtk_tree_view_set_destroy_count_func">
+<description>
+This function should almost never be used. It is meant for private use by
+ATK for determining the number of visible children that are removed when the
+user collapses a row, or a row is deleted.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> Function to be called when a view row is destroyed, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> User data to be passed to @func, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> Destroy notifier for @data, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_set_justify">
+<description>
+Sets the alignment of the lines in the text of the label relative to
+each other. %GTK_JUSTIFY_LEFT is the default value when the
+widget is first created with gtk_label_new(). If you instead want
+to set the alignment of the label as a whole, use
+gtk_misc_set_alignment() instead. gtk_label_set_justify() has no
+effect on labels containing only a single line.
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+<parameter name="jtype">
+<parameter_description> a #GtkJustification
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_set_double">
+<description>
+Sets @key to a double value.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> a double value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_action_group_add_radio_actions_full">
+<description>
+This variant of gtk_action_group_add_radio_actions() adds a
+#GDestroyNotify callback for @user_data.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action_group">
+<parameter_description> the action group
+</parameter_description>
+</parameter>
+<parameter name="entries">
+<parameter_description> an array of radio action descriptions
+</parameter_description>
+</parameter>
+<parameter name="n_entries">
+<parameter_description> the number of entries
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> the value of the action to activate initially, or -1 if
+no action should be activated
+</parameter_description>
+</parameter>
+<parameter name="on_change">
+<parameter_description> the callback to connect to the changed signal
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> data to pass to the action callbacks
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> destroy notification callback for @user_data
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_combo_box_new_text">
+<description>
+Convenience function which constructs a new text combo box, which is a
+#GtkComboBox just displaying strings. If you use this function to create
+a text combo box, you should only manipulate its data source with the
+following convenience functions: gtk_combo_box_append_text(),
+gtk_combo_box_insert_text(), gtk_combo_box_prepend_text() and
+gtk_combo_box_remove_text().
+
+
+</description>
+<parameters>
+</parameters>
+<return> A new text combo box.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tree_row_reference_valid">
+<description>
+Return value: %TRUE if @reference points to a valid path.
+
+</description>
+<parameters>
+<parameter name="reference">
+<parameter_description> A #GtkTreeRowReference, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @reference points to a valid path.
+</return>
+</function>
+
+<function name="gtk_text_iter_forward_visible_cursor_positions">
+<description>
+Moves up to @count visible cursor positions. See
+gtk_text_iter_forward_cursor_position() for details.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> number of positions to move
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if we moved and the new position is dereferenceable
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_text_view_set_wrap_mode">
+<description>
+Sets the line wrapping for the view.
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="wrap_mode">
+<parameter_description> a #GtkWrapMode
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_info_load_icon">
+<description>
+Renders an icon previously looked up in an icon theme using
+gtk_icon_theme_lookup_icon(); the size will be based on the size
+passed to gtk_icon_theme_lookup_icon(). Note that the resulting
+pixbuf may not be exactly this size; an icon theme may have icons
+that differ slightly from their nominal sizes, and in addition GTK+
+will avoid scaling icons that it considers sufficiently close to the
+requested size or for which the source image would have to be scaled
+up too far. (This maintains sharpness.)
+
+
+</description>
+<parameters>
+<parameter name="icon_info">
+<parameter_description> a #GtkIconInfo structure from gtk_icon_theme_lookup_icon()
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store error information on failure, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the rendered icon; this may be a newly created icon
+or a new reference to an internal icon, so you must not modify
+the icon. Use g_object_unref() to release your reference to the
+icon.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_text_layout_set_keyboard_direction">
+<description>
+Sets the keyboard direction; this is used as for the bidirectional
+base direction for the line with the cursor if the line contains
+only neutral characters.
+
+</description>
+<parameters>
+<parameter name="keyboard_dir">
+<parameter_description> the current direction of the keyboard.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_set_style">
+<description>
+Sets the #GtkStyle for a widget (@widget-&amp;gt;style). You probably don&apos;t
+want to use this function; it interacts badly with themes, because
+themes work by replacing the #GtkStyle. Instead, use
+gtk_widget_modify_style().
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="style">
+<parameter_description> a #GtkStyle, or %NULL to remove the effect of a previous
+gtk_widget_set_style() and go back to the default style
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_selection_get_selected_rows">
+<description>
+Creates a list of path of all selected rows. Additionally, if you are
+planning on modifying the model after calling this function, you may
+want to convert the returned list into a list of #GtkTreeRowReference&amp;lt;!-- --&amp;gt;s.
+To do this, you can use gtk_tree_row_reference_new().
+
+To free the return value, use:
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+g_list_foreach (list, gtk_tree_path_free, NULL);
+g_list_free (list);
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> A #GtkTreeSelection.
+</parameter_description>
+</parameter>
+<parameter name="model">
+<parameter_description> A pointer to set to the #GtkTreeModel, or NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A #GList containing a #GtkTreePath for each selected row.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_tree_view_insert_column_with_attributes">
+<description>
+Creates a new #GtkTreeViewColumn and inserts it into the @tree_view at
+@position. If @position is -1, then the newly created column is inserted at
+the end. The column is initialized with the attributes given. If @tree_view
+has &quot;fixed_height&quot; mode enabled, then the new column will have its sizing
+property set to be GTK_TREE_VIEW_COLUMN_FIXED.
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> The position to insert the new column in.
+</parameter_description>
+</parameter>
+<parameter name="title">
+<parameter_description> The title to set the header to.
+</parameter_description>
+</parameter>
+<parameter name="cell">
+<parameter_description> The #GtkCellRenderer.
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> A %NULL-terminated list of attributes.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The number of columns in @tree_view after insertion.
+</return>
+</function>
+
+<function name="GtkWindow">
+<description>
+The requested opacity of the window. See gtk_window_set_opacity() for
+more details about window opacity.
+
+Since: 2.12
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_tag_table_lookup">
+<description>
+Look up a named tag.
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a #GtkTextTagTable
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> name of a tag
+</parameter_description>
+</parameter>
+</parameters>
+<return> The tag, or %NULL if none by that name is in the table.
+</return>
+</function>
+
+<function name="gtk_accel_group_disconnect">
+<description>
+Removes an accelerator previously installed through
+gtk_accel_group_connect().
+
+</description>
+<parameters>
+<parameter name="accel_group">
+<parameter_description> the accelerator group to remove an accelerator from
+</parameter_description>
+</parameter>
+<parameter name="closure">
+<parameter_description> the closure to remove from this accelerator group
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the closure was found and got disconnected
+</return>
+</function>
+
+<function name="gtk_paned_get_child1">
+<description>
+Obtains the first child of the paned widget.
+
+
+</description>
+<parameters>
+<parameter name="paned">
+<parameter_description> a #GtkPaned widget
+</parameter_description>
+</parameter>
+</parameters>
+<return> first child, or %NULL if it is not set.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tree_view_column_set_max_width">
+<description>
+Sets the maximum width of the @tree_column. If @max_width is -1, then the
+maximum width is unset. Note, the column can actually be wider than max
+width if it&apos;s the last column in a view. In this case, the column expands to
+fill any extra space.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+<parameter name="max_width">
+<parameter_description> The maximum width of the column in pixels, or -1.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_child_anchor_get_deleted">
+<description>
+Determines whether a child anchor has been deleted from
+the buffer. Keep in mind that the child anchor will be
+unreferenced when removed from the buffer, so you need to
+hold your own reference (with g_object_ref()) if you plan
+to use this function &amp;mdash; otherwise all deleted child anchors
+will also be finalized.
+
+
+</description>
+<parameters>
+<parameter name="anchor">
+<parameter_description> a #GtkTextChildAnchor
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the child anchor has been deleted from its buffer
+</return>
+</function>
+
+<function name="gtk_file_chooser_get_current_folder">
+<description>
+Gets the current folder of @chooser as a local filename.
+See gtk_file_chooser_set_current_folder().
+
+Note that this is the folder that the file chooser is currently displaying
+(e.g. &quot;/home/username/Documents&quot;), which is &amp;lt;emphasis&amp;gt;not the same&amp;lt;/emphasis&amp;gt;
+as the currently-selected folder if the chooser is in
+#GTK_FILE_CHOOSER_SELECT_FOLDER mode
+(e.g. &quot;/home/username/Documents/selected-folder/&quot;. To get the
+currently-selected folder in that mode, use gtk_file_chooser_get_uri() as the
+usual way to get the selection.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> the full path of the current folder, or %NULL if the current
+path cannot be represented as a local filename. Free with g_free(). This
+function will also return %NULL if the file chooser was unable to load the
+last folder that was requested from it; for example, as would be for calling
+gtk_file_chooser_set_current_folder() on a nonexistent folder.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="GtkWidget">
+<description>
+The &quot;scroll-arrow-vlength&quot; style property defines the length of
+vertical scroll arrows.
+
+Since: 2.10
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkNotebook">
+<description>
+The ::create-window signal is emitted when a detachable
+tab is dropped on the root window.
+
+A handler for this signal can create a window containing
+a notebook where the tab will be attached. It is also
+responsible for moving/resizing the window and adding the
+necessary properties to the notebook (e.g. the
+#GtkNotebook:group-id ).
+
+The default handler uses the global window creation hook,
+if one has been set with gtk_notebook_set_window_creation_hook().
+
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> the #GtkNotebook emitting the signal
+</parameter_description>
+</parameter>
+<parameter name="page">
+<parameter_description> the tab of @notebook that is being detached
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the X coordinate where the drop happens
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the Y coordinate where the drop happens
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GtkNotebook that @page should be added to, or %NULL.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_im_context_set_surrounding">
+<description>
+Sets surrounding context around the insertion point and preedit
+string. This function is expected to be called in response to the
+GtkIMContext::retrieve_surrounding signal, and will likely have no
+effect if called at other times.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkIMContext
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> text surrounding the insertion point, as UTF-8.
+the preedit string should not be included within
+@text.
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> the length of @text, or -1 if @text is nul-terminated
+</parameter_description>
+</parameter>
+<parameter name="cursor_index">
+<parameter_description> the byte index of the insertion cursor within @text.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_manager_remove_item">
+<description>
+Removes a resource pointed by @uri from the recently used resources
+list handled by a recent manager.
+
+
+</description>
+<parameters>
+<parameter name="manager">
+<parameter_description> a #GtkRecentManager
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> the URI of the item you wish to remove
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the item pointed by @uri has been successfully
+removed by the recently used resources list, and %FALSE otherwise.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_accel_map_load_scanner">
+<description>
+#GScanner variant of gtk_accel_map_load().
+
+</description>
+<parameters>
+<parameter name="scanner">
+<parameter_description> a #GScanner which has already been provided with an input file
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_get_drag_dest_row">
+<description>
+Gets information about the row that is highlighted for feedback.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> Return location for the path of the highlighted row, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> Return location for the drop position, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_forward_visible_word_ends">
+<description>
+Calls gtk_text_iter_forward_visible_word_end() up to @count times.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> number of times to move
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter moved and is not the end iterator
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_print_context_create_pango_context">
+<description>
+Creates a new #PangoContext that can be used with the
+#GtkPrintContext.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkPrintContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new Pango context for @context
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_file_chooser_get_local_only">
+<description>
+Gets whether only local files can be selected in the
+file selector. See gtk_file_chooser_set_local_only()
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChoosre
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if only local files can be selected.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_print_operation_preview_end_preview">
+<description>
+Ends a preview.
+
+This function must be called to finish a custom print preview.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="preview">
+<parameter_description> a #GtkPrintOperationPreview
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_set_local_only">
+<description>
+Sets whether only local files can be selected in the
+file selector. If @local_only is %TRUE (the default),
+then the selected file are files are guaranteed to be
+accessible through the operating systems native file
+file system and therefore the application only
+needs to worry about the filename functions in
+#GtkFileChooser, like gtk_file_chooser_get_filename(),
+rather than the URI functions like
+gtk_file_chooser_get_uri(),
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="local_only">
+<parameter_description> %TRUE if only local files can be selected
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_filter_add_pixbuf_formats">
+<description>
+Adds a rule allowing image files in the formats supported
+by GdkPixbuf.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> a #GtkFileFilter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_layout_set_size">
+<description>
+Sets the size of the scrollable area of the layout.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkLayout
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of entire scrollable area
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height of entire scrollable area
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_append_page_menu">
+<description>
+Appends a page to @notebook, specifying the widget to use as the
+label in the popup menu.
+
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the #GtkWidget to use as the contents of the page.
+</parameter_description>
+</parameter>
+<parameter name="tab_label">
+<parameter_description> the #GtkWidget to be used as the label for the page,
+or %NULL to use the default label, &apos;page N&apos;.
+</parameter_description>
+</parameter>
+<parameter name="menu_label">
+<parameter_description> the widget to use as a label for the page-switch
+menu, if that is enabled. If %NULL, and @tab_label
+is a #GtkLabel or %NULL, then the menu label will be
+a newly created label with the same text as @tab_label;
+If @tab_label is not a #GtkLabel, @menu_label must be
+specified if the page-switch menu is to be used.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the index (starting from 0) of the appended
+page in the notebook, or -1 if function fails
+</return>
+</function>
+
+<function name="gtk_printer_get_name">
+<description>
+Return value: the name of @printer
+
+</description>
+<parameters>
+<parameter name="printer">
+<parameter_description> a #GtkPrinter
+</parameter_description>
+</parameter>
+</parameters>
+<return> the name of @printer
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_image_new_from_pixbuf">
+<description>
+Creates a new #GtkImage displaying @pixbuf.
+The #GtkImage does not assume a reference to the
+pixbuf; you still need to unref it if you own references.
+#GtkImage will add its own reference rather than adopting yours.
+
+Note that this function just creates an #GtkImage from the pixbuf. The
+#GtkImage created will not react to state changes. Should you want that,
+you should use gtk_image_new_from_icon_set().
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> a #GdkPixbuf, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkImage
+</return>
+</function>
+
+<function name="spin_button_get_shadow_type">
+<description>
+Convenience function to Get the shadow type from the underlying widget&apos;s
+style.
+
+
+</description>
+<parameters>
+<parameter name="spin_button">
+<parameter_description> a #GtkSpinButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GtkShadowType
+</return>
+</function>
+
+<function name="gtk_notebook_set_show_border">
+<description>
+Sets whether a bevel will be drawn around the notebook pages.
+This only has a visual effect when the tabs are not shown.
+See gtk_notebook_set_show_tabs().
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="show_border">
+<parameter_description> %TRUE if a bevel should be drawn around the notebook.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tool_item_retrieve_proxy_menu_item">
+<description>
+Return value: The #GtkMenuItem that is going to appear in the
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem:
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GtkMenuItem that is going to appear in the
+overflow menu for @tool_item.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_ruler_get_range">
+<description>
+Retrieves values indicating the range and current position of a #GtkRuler.
+See gtk_ruler_set_range().
+
+</description>
+<parameters>
+<parameter name="ruler">
+<parameter_description> a #GtkRuler
+</parameter_description>
+</parameter>
+<parameter name="lower">
+<parameter_description> location to store lower limit of the ruler, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="upper">
+<parameter_description> location to store upper limit of the ruler, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> location to store the current position of the mark on the ruler, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="max_size">
+<parameter_description> location to store the maximum size of the ruler used when calculating
+the space to leave for the text, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_is_focus">
+<description>
+Determines if the widget is the focus widget within its
+toplevel. (This does not mean that the %HAS_FOCUS flag is
+necessarily set; %HAS_FOCUS will only be set if the
+toplevel widget additionally has the global input focus.)
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the widget is the focus widget.
+</return>
+</function>
+
+<function name="gtk_tree_view_expand_to_path">
+<description>
+Expands the row at @path. This will also expand all parent rows of
+@path as necessary.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView.
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> path to a row.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_toggles_tag">
+<description>
+This is equivalent to (gtk_text_iter_begins_tag () ||
+gtk_text_iter_ends_tag ()), i.e. it tells you whether a range with
+@tag applied to it begins &amp;lt;emphasis&amp;gt;or&amp;lt;/emphasis&amp;gt; ends at @iter.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+<parameter name="tag">
+<parameter_description> a #GtkTextTag, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @tag is toggled on or off at @iter
+</return>
+</function>
+
+<function name="gtk_tree_view_get_column">
+<description>
+Gets the #GtkTreeViewColumn at the given position in the #tree_view.
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView.
+</parameter_description>
+</parameter>
+<parameter name="n">
+<parameter_description> The position of the column, counting from 0.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GtkTreeViewColumn, or %NULL if the position is outside the
+range of columns.
+</return>
+</function>
+
+<function name="gtk_assistant_set_forward_page_func">
+<description>
+Sets the page forwarding function to be @page_func, this function will
+be used to determine what will be the next page when the user presses
+the forward button. Setting @page_func to %NULL will make the assistant
+to use the default forward function, which just goes to the next visible
+page.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="assistant">
+<parameter_description> a #GtkAssistant
+</parameter_description>
+</parameter>
+<parameter name="page_func">
+<parameter_description> the #GtkAssistantPageFunc, or %NULL to use the default one
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> user data for @page_func
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> destroy notifier for @data
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_action_group_get_name">
+<description>
+Gets the name of the action group.
+
+
+</description>
+<parameters>
+<parameter name="action_group">
+<parameter_description> the action group
+</parameter_description>
+</parameter>
+</parameters>
+<return> the name of the action group.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_radio_action_get_group">
+<description>
+Returns: the list representing the radio group for this object
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+</parameters>
+<return> the list representing the radio group for this object
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_widget_ref">
+<description>
+Adds a reference to a widget. This function is exactly the same
+as calling g_object_ref(), and exists mostly for historical
+reasons. It can still be convenient to avoid casting a widget
+to a #GObject, it saves a small amount of typing.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the widget that was referenced
+
+Deprecated:2.12: Use g_object_ref() instead.
+</return>
+</function>
+
+<function name="gtk_tree_store_append">
+<description>
+Appends a new row to @tree_store. If @parent is non-%NULL, then it will append the
+new row after the last child of @parent, otherwise it will append a row to
+the top level. @iter will be changed to point to this new row. The row will
+be empty after this function is called. To fill in values, you need to call
+gtk_tree_store_set() or gtk_tree_store_set_value().
+
+</description>
+<parameters>
+<parameter name="tree_store">
+<parameter_description> A #GtkTreeStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> An unset #GtkTreeIter to set to the appended row
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> A valid #GtkTreeIter, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_expander_set_use_markup">
+<description>
+Sets whether the text of the label contains markup in &amp;lt;link
+linkend=&quot;PangoMarkupFormat&quot;&amp;gt;Pango&apos;s text markup
+language&amp;lt;/link&amp;gt;. See gtk_label_set_markup().
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="expander">
+<parameter_description> a #GtkExpander
+</parameter_description>
+</parameter>
+<parameter name="use_markup">
+<parameter_description> %TRUE if the label&apos;s text should be parsed for markup
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_vscale_new_with_range">
+<description>
+Creates a new vertical scale widget that lets the user input a
+number between @min and @max (including @min and @max) with the
+increment @step. @step must be nonzero; it&apos;s the distance the
+slider moves when using the arrow keys to adjust the scale value.
+
+Note that the way in which the precision is derived works best if @step
+is a power of ten. If the resulting precision is not suitable for your
+needs, use gtk_scale_set_digits() to correct it.
+
+
+</description>
+<parameters>
+<parameter name="min">
+<parameter_description> minimum value
+</parameter_description>
+</parameter>
+<parameter name="max">
+<parameter_description> maximum value
+</parameter_description>
+</parameter>
+<parameter name="step">
+<parameter_description> step increment (tick size) used with keyboard shortcuts
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkVScale
+</return>
+</function>
+
+<function name="gtk_menu_item_set_right_justified">
+<description>
+Sets whether the menu item appears justified at the right
+side of a menu bar. This was traditionally done for &quot;Help&quot; menu
+items, but is now considered a bad idea. (If the widget
+layout is reversed for a right-to-left language like Hebrew
+or Arabic, right-justified-menu-items appear at the left.)
+
+</description>
+<parameters>
+<parameter name="menu_item">
+<parameter_description> a #GtkMenuItem.
+</parameter_description>
+</parameter>
+<parameter name="right_justified">
+<parameter_description> if %TRUE the menu item will appear at the
+far right if added to a menu bar.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_unregister_deserialize_format">
+<description>
+This function unregisters a rich text format that was previously
+registered using gtk_text_buffer_register_deserialize_format() or
+gtk_text_buffer_register_deserialize_tagset().
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="format">
+<parameter_description> a #GdkAtom representing a registered rich text format.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_show">
+<description>
+Flags a widget to be displayed. Any widget that isn&apos;t shown will
+not appear on the screen. If you want to show all the widgets in a
+container, it&apos;s easier to call gtk_widget_show_all() on the
+container, instead of individually showing the widgets.
+
+Remember that you have to show the containers containing a widget,
+in addition to the widget itself, before it will appear onscreen.
+
+When a toplevel container is shown, it is immediately realized and
+mapped; other shown widgets are realized and mapped when their
+toplevel container is realized and mapped.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_get_completion">
+<description>
+Return value: The auxiliary completion object currently in use by @entry.
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> A #GtkEntry
+</parameter_description>
+</parameter>
+</parameters>
+<return> The auxiliary completion object currently in use by @entry.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_recent_manager_add_item">
+<description>
+Adds a new resource, pointed by @uri, into the recently used
+resources list.
+
+This function automatically retrieving some of the needed
+metadata and setting other metadata to common default values; it
+then feeds the data to gtk_recent_manager_add_full().
+
+See gtk_recent_manager_add_full() if you want to explicitely
+define the metadata for the resource pointed by @uri.
+
+
+</description>
+<parameters>
+<parameter name="manager">
+<parameter_description> a #GtkRecentManager
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the new item was successfully added
+to the recently used resources list
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_file_selection_get_selections">
+<description>
+Retrieves the list of file selections the user has made in the dialog box.
+This function is intended for use when the user can select multiple files
+in the file list.
+
+The filenames are in the GLib file name encoding. To convert to
+UTF-8, call g_filename_to_utf8() on each string.
+
+
+</description>
+<parameters>
+<parameter name="filesel">
+<parameter_description> a #GtkFileSelection
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated %NULL-terminated array of strings. Use
+g_strfreev() to free it.
+</return>
+</function>
+
+<function name="gtk_drag_check_threshold">
+<description>
+Checks to see if a mouse drag starting at (@start_x, @start_y) and ending
+at (@current_x, @current_y) has passed the GTK+ drag threshold, and thus
+should trigger the beginning of a drag-and-drop operation.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="start_x">
+<parameter_description> X coordinate of start of drag
+</parameter_description>
+</parameter>
+<parameter name="start_y">
+<parameter_description> Y coordinate of start of drag
+</parameter_description>
+</parameter>
+<parameter name="current_x">
+<parameter_description> current X coordinate
+</parameter_description>
+</parameter>
+<parameter name="current_y">
+<parameter_description> current Y coordinate
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the drag threshold has been passed.
+</return>
+</function>
+
+<function name="gtk_label_set_line_wrap_mode">
+<description>
+If line wrapping is on (see gtk_label_set_line_wrap()) this controls how
+the line wrapping is done. The default is %PANGO_WRAP_WORD which means
+wrap on word boundaries.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+<parameter name="wrap_mode">
+<parameter_description> the line wrapping mode
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_about_dialog_new">
+<description>
+Creates a new #GtkAboutDialog.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a newly created #GtkAboutDialog
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_text_view_get_line_yrange">
+<description>
+Gets the y coordinate of the top of the line containing @iter,
+and the height of the line. The coordinate is a buffer coordinate;
+convert to window coordinates with gtk_text_view_buffer_to_window_coords().
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> return location for a y coordinate
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> return location for a height
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_get_single_line_mode">
+<description>
+Return value: %TRUE when the label is in single line mode.
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE when the label is in single line mode.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_tree_view_column_pack_end">
+<description>
+Adds the @cell to end of the column. If @expand is %FALSE, then the @cell
+is allocated no more space than it needs. Any unused space is divided
+evenly between cells for which @expand is %TRUE.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+<parameter name="cell">
+<parameter_description> The #GtkCellRenderer.
+</parameter_description>
+</parameter>
+<parameter name="expand">
+<parameter_description> %TRUE if @cell is to be given extra space allocated to @tree_column.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_set_label">
+<description>
+Sets the text of the label. The label is interpreted as
+including embedded underlines and/or Pango markup depending
+on the values of the #GtkLabel:use-underline&quot; and
+#GtkLabel:use-markup properties.
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+<parameter name="str">
+<parameter_description> the new text to set for the label
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_set_accepts_tab">
+<description>
+Sets the behavior of the text widget when the Tab key is pressed.
+If @accepts_tab is %TRUE, a tab character is inserted. If @accepts_tab
+is %FALSE the keyboard focus is moved to the next widget in the focus
+chain.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> A #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="accepts_tab">
+<parameter_description> %TRUE if pressing the Tab key should insert a tab
+character, %FALSE, if pressing the Tab key should move the
+keyboard focus.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_info_get_short_name">
+<description>
+Computes a valid UTF-8 string that can be used as the name of the item in a
+menu or list. For example, calling this function on an item that refers to
+&quot;file:///foo/bar.txt&quot; will yield &quot;bar.txt&quot;.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> an #GtkRecentInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly-allocated string in UTF-8 encoding; free it with
+g_free().
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_recent_chooser_set_sort_func">
+<description>
+Sets the comparison function used when sorting to be @sort_func. If
+the @chooser has the sort type set to #GTK_RECENT_SORT_CUSTOM then
+the chooser will sort using this function.
+
+To the comparison function will be passed two #GtkRecentInfo structs and
+@sort_data; @sort_func should return a positive integer if the first
+item comes before the second, zero if the two items are equal and
+a negative integer if the first item comes after the second.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+<parameter name="sort_func">
+<parameter_description> the comparison function
+</parameter_description>
+</parameter>
+<parameter name="sort_data">
+<parameter_description> user data to pass to @sort_func, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="data_destroy">
+<parameter_description> destroy notifier for @sort_data, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_accel_map_get">
+<description>
+Gets the singleton global #GtkAccelMap object. This object
+is useful only for notification of changes to the accelerator
+map via the ::changed signal; it isn&apos;t a parameter to the
+other accelerator map functions.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the global #GtkAccelMap object
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_toolbar_prepend_element">
+<description>
+Adds a new element to the beginning of a toolbar.
+
+If @type == %GTK_TOOLBAR_CHILD_WIDGET, @widget is used as the new element.
+If @type == %GTK_TOOLBAR_CHILD_RADIOBUTTON, @widget is used to determine
+the radio group for the new element. In all other cases, @widget must
+be %NULL.
+
+@callback must be a pointer to a function taking a #GtkWidget and a gpointer as
+arguments. Use the GTK_SIGNAL_FUNC() to cast the function to #GtkSignalFunc.
+
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar.
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> a value of type #GtkToolbarChildType that determines what @widget will be.
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> a #GtkWidget, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the element&apos;s label.
+</parameter_description>
+</parameter>
+<parameter name="tooltip_text">
+<parameter_description> the element&apos;s tooltip.
+</parameter_description>
+</parameter>
+<parameter name="tooltip_private_text">
+<parameter_description> used for context-sensitive help about this toolbar element.
+</parameter_description>
+</parameter>
+<parameter name="icon">
+<parameter_description> a #GtkWidget that provides pictorial representation of the element&apos;s function.
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the function to be executed when the button is pressed.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> any data you wish to pass to the callback.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new toolbar element as a #GtkWidget.
+</return>
+</function>
+
+<function name="gtk_tree_model_get_valist">
+<description>
+See gtk_tree_model_get(), this version takes a &amp;lt;type&amp;gt;va_list&amp;lt;/type&amp;gt;
+for language bindings to use.
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> a #GtkTreeModel
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a row in @tree_model
+</parameter_description>
+</parameter>
+<parameter name="var_args">
+<parameter_description> &amp;lt;type&amp;gt;va_list&amp;lt;/type&amp;gt; of column/return location pairs
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_calendar_unmark_day">
+<description>
+Removes the visual marker from a particular day.
+
+
+</description>
+<parameters>
+<parameter name="calendar">
+<parameter_description> a #GtkCalendar.
+</parameter_description>
+</parameter>
+<parameter name="day">
+<parameter_description> the day number to unmark between 1 and 31.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE, always
+</return>
+</function>
+
+<function name="gtk_label_set_markup_with_mnemonic">
+<description>
+Parses @str which is marked up with the &amp;lt;link linkend=&quot;PangoMarkupFormat&quot;&amp;gt;Pango text markup language&amp;lt;/link&amp;gt;,
+setting the label&apos;s text and attribute list based on the parse results.
+If characters in @str are preceded by an underscore, they are underlined
+indicating that they represent a keyboard accelerator called a mnemonic.
+
+The mnemonic key can be used to activate another widget, chosen
+automatically, or explicitly using gtk_label_set_mnemonic_widget().
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+<parameter name="str">
+<parameter_description> a markup string (see &amp;lt;link linkend=&quot;PangoMarkupFormat&quot;&amp;gt;Pango markup format&amp;lt;/link&amp;gt;)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_layout_get_line_yrange">
+<description>
+Find the range of y coordinates for the paragraph containing
+the given iter.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkTextLayout
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> location to store the top of the paragraph in pixels,
+or %NULL.
+@height location to store the height of the paragraph in pixels,
+or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_about_dialog_set_url_hook">
+<description>
+Installs a global function to be called whenever the user activates a
+URL link in an about dialog.
+
+
+</description>
+<parameters>
+<parameter name="func">
+<parameter_description> a function to call when a URL link is activated.
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to pass to @func
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> #GDestroyNotify for @data
+</parameter_description>
+</parameter>
+</parameters>
+<return> the previous URL hook.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_builder_get_object">
+<description>
+Gets the object named @name. Note that this function does not
+increment the reference count of the returned object.
+
+
+</description>
+<parameters>
+<parameter name="builder">
+<parameter_description> a #GtkBuilder
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> name of object to get
+</parameter_description>
+</parameter>
+</parameters>
+<return> the object named @name or %NULL if it could not be
+found in the object tree.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_status_icon_get_stock">
+<description>
+Gets the id of the stock icon being displayed by the #GtkStatusIcon.
+The storage type of the status icon must be %GTK_IMAGE_EMPTY or
+%GTK_IMAGE_STOCK (see gtk_status_icon_get_storage_type()).
+The returned string is owned by the #GtkStatusIcon and should not
+be freed or modified.
+
+
+</description>
+<parameters>
+<parameter name="status_icon">
+<parameter_description> a #GtkStatusIcon
+</parameter_description>
+</parameter>
+</parameters>
+<return> stock id of the displayed stock icon,
+or %NULL if the image is empty.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_icon_view_scroll_to_path">
+<description>
+Moves the alignments of @icon_view to the position specified by @path.
+@row_align determines where the row is placed, and @col_align determines
+where @column is placed. Both are expected to be between 0.0 and 1.0.
+0.0 means left/top alignment, 1.0 means right/bottom alignment, 0.5 means
+center.
+
+If @use_align is %FALSE, then the alignment arguments are ignored, and the
+tree does the minimum amount of work to scroll the item onto the screen.
+This means that the item will be scrolled to the edge closest to its current
+position. If the item is currently visible on the screen, nothing is done.
+
+This function only works if the model is set, and @path is a valid row on
+the model. If the model changes before the @icon_view is realized, the
+centered path will be modified to reflect this change.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView.
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> The path of the item to move to.
+</parameter_description>
+</parameter>
+<parameter name="use_align">
+<parameter_description> whether to use alignment arguments, or %FALSE.
+</parameter_description>
+</parameter>
+<parameter name="row_align">
+<parameter_description> The vertical alignment of the item specified by @path.
+</parameter_description>
+</parameter>
+<parameter name="col_align">
+<parameter_description> The horizontal alignment of the item specified by @path.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_drag_dest_add_image_targets">
+<description>
+Add the image targets supported by #GtkSelection to
+the target list of the drag destination. The targets
+are added with @info = 0. If you need another value,
+use gtk_target_list_add_image_targets() and
+gtk_drag_dest_set_target_list().
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget that&apos;s a drag destination
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_remove_mnemonic_label">
+<description>
+Removes a widget from the list of mnemonic labels for
+this widget. (See gtk_widget_list_mnemonic_labels()). The widget
+must have previously been added to the list with
+gtk_widget_add_mnemonic_label().
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="label">
+<parameter_description> a #GtkWidget that was previously set as a mnemnic label for
+@widget with gtk_widget_add_mnemonic_label().
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_drag_source_add_uri_targets">
+<description>
+Add the URI targets supported by #GtkSelection to
+the target list of the drag source. The targets
+are added with @info = 0. If you need another value,
+use gtk_target_list_add_uri_targets() and
+gtk_drag_source_set_target_list().
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget that&apos;s is a drag source
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_container_child_get">
+<description>
+Gets the values of one or more child properties for @child and @container.
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> a widget which is a child of @container
+</parameter_description>
+</parameter>
+<parameter name="first_prop_name">
+<parameter_description> the name of the first property to get
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> a %NULL-terminated list of property names and #GValue*,
+starting with @first_prop_name
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_button_set_use_underline">
+<description>
+If true, an underline in the text of the button label indicates
+the next character should be used for the mnemonic accelerator key.
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkButton
+</parameter_description>
+</parameter>
+<parameter name="use_underline">
+<parameter_description> %TRUE if underlines in the text indicate mnemonics
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_box_reorder_child">
+<description>
+Moves @child to a new @position in the list of @box children.
+The list is the &amp;lt;structfield&amp;gt;children&amp;lt;/structfield&amp;gt; field of
+#GtkBox-struct, and contains both widgets packed #GTK_PACK_START
+as well as widgets packed #GTK_PACK_END, in the order that these
+widgets were added to @box.
+
+A widget&apos;s position in the @box children list determines where
+the widget is packed into @box. A child widget at some position
+in the list will be packed just after all other widgets of the
+same packing type that appear earlier in the list.
+
+</description>
+<parameters>
+<parameter name="box">
+<parameter_description> a #GtkBox
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the #GtkWidget to move
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> the new position for @child in the list of children
+of @box, starting from 0. If negative, indicates the end of
+the list
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_font_button_get_show_style">
+<description>
+Return value: whether the font style will be shown in the label.
+
+</description>
+<parameters>
+<parameter name="font_button">
+<parameter_description> a #GtkFontButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the font style will be shown in the label.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_recent_manager_new">
+<description>
+Creates a new recent manager object. Recent manager objects are used to
+handle the list of recently used resources. A #GtkRecentManager object
+monitors the recently used resources list, and emits the &quot;changed&quot; signal
+each time something inside the list changes.
+
+#GtkRecentManager objects are expensive: be sure to create them only when
+needed. You should use gtk_recent_manager_get_default() instead.
+
+
+</description>
+<parameters>
+</parameters>
+<return> A newly created #GtkRecentManager object.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_menu_tool_button_set_menu">
+<description>
+Sets the #GtkMenu that is popped up when the user clicks on the arrow.
+If @menu is NULL, the arrow button becomes insensitive.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkMenuToolButton
+</parameter_description>
+</parameter>
+<parameter name="menu">
+<parameter_description> the #GtkMenu associated with #GtkMenuToolButton
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_path_new_from_indices">
+<description>
+Creates a new path with @first_index and @varargs as indices.
+
+
+</description>
+<parameters>
+<parameter name="first_index">
+<parameter_description> first integer
+</parameter_description>
+</parameter>
+<parameter name="varargs">
+<parameter_description> list of integers terminated by -1
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly created #GtkTreePath.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_text_tag_event">
+<description>
+Emits the &quot;event&quot; signal on the #GtkTextTag.
+
+
+</description>
+<parameters>
+<parameter name="tag">
+<parameter_description> a #GtkTextTag
+</parameter_description>
+</parameter>
+<parameter name="event_object">
+<parameter_description> object that received the event, such as a widget
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> the event
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> location where the event was received
+</parameter_description>
+</parameter>
+</parameters>
+<return> result of signal emission (whether the event was handled)
+</return>
+</function>
+
+<function name="gtk_text_buffer_create_mark">
+<description>
+Creates a mark at position @where. If @mark_name is %NULL, the mark
+is anonymous; otherwise, the mark can be retrieved by name using
+gtk_text_buffer_get_mark(). If a mark has left gravity, and text is
+inserted at the mark&apos;s current location, the mark will be moved to
+the left of the newly-inserted text. If the mark has right gravity
+(@left_gravity = %FALSE), the mark will end up on the right of
+newly-inserted text. The standard left-to-right cursor is a mark
+with right gravity (when you type, the cursor stays on the right
+side of the text you&apos;re typing).
+
+The caller of this function does &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt; own a
+reference to the returned #GtkTextMark, so you can ignore the
+return value if you like. Marks are owned by the buffer and go
+away when the buffer does.
+
+Emits the &quot;mark_set&quot; signal as notification of the mark&apos;s initial
+placement.
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="mark_name">
+<parameter_description> name for mark, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="where">
+<parameter_description> location to place mark
+</parameter_description>
+</parameter>
+<parameter name="left_gravity">
+<parameter_description> whether the mark has left gravity
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GtkTextMark object
+</return>
+</function>
+
+<function name="gtk_frame_set_label_align">
+<description>
+Sets the alignment of the frame widget&apos;s label. The
+default values for a newly created frame are 0.0 and 0.5.
+
+</description>
+<parameters>
+<parameter name="frame">
+<parameter_description> a #GtkFrame
+</parameter_description>
+</parameter>
+<parameter name="xalign">
+<parameter_description> The position of the label along the top edge
+of the widget. A value of 0.0 represents left alignment;
+1.0 represents right alignment.
+</parameter_description>
+</parameter>
+<parameter name="yalign">
+<parameter_description> The y alignment of the label. A value of 0.0 aligns under
+the frame; 1.0 aligns above the frame. If the values are exactly
+0.0 or 1.0 the gap in the frame won&apos;t be painted because the label
+will be completely above or below the frame.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_check_menu_item_get_inconsistent">
+<description>
+Retrieves the value set by gtk_check_menu_item_set_inconsistent().
+
+
+</description>
+<parameters>
+<parameter name="check_menu_item">
+<parameter_description> a #GtkCheckMenuItem
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if inconsistent
+</return>
+</function>
+
+<function name="gtk_spin_button_get_snap_to_ticks">
+<description>
+Return value: %TRUE if values are snapped to the nearest step.
+
+</description>
+<parameters>
+<parameter name="spin_button">
+<parameter_description> a #GtkSpinButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if values are snapped to the nearest step.
+</return>
+</function>
+
+<function name="gtk_print_settings_get_reverse">
+<description>
+Gets the value of %GTK_PRINT_SETTINGS_REVERSE.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether to reverse the order of the printed pages
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_text_view_set_buffer">
+<description>
+Sets @buffer as the buffer being displayed by @text_view. The previous
+buffer displayed by the text view is unreferenced, and a reference is
+added to @buffer. If you owned a reference to @buffer before passing it
+to this function, you must remove that reference yourself; #GtkTextView
+will not &quot;adopt&quot; it.
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_row_reference_reordered">
+<description>
+Lets a set of row reference created by gtk_tree_row_reference_new_proxy()
+know that the model emitted the &quot;rows_reordered&quot; signal.
+
+</description>
+<parameters>
+<parameter name="proxy">
+<parameter_description> A #GObject
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> The parent path of the reordered signal
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> The iter pointing to the parent of the reordered
+</parameter_description>
+</parameter>
+<parameter name="new_order">
+<parameter_description> The new order of rows
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_color_selection_set_change_palette_with_screen_hook">
+<description>
+Installs a global function to be called whenever the user tries to
+modify the palette in a color selection. This function should save
+the new palette contents, and update the GtkSettings property
+&quot;gtk-color-palette&quot; so all GtkColorSelection widgets will be modified.
+
+
+</description>
+<parameters>
+<parameter name="func">
+<parameter_description> a function to call when the custom palette needs saving.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the previous change palette hook (that was replaced).
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_tree_selection_selected_foreach">
+<description>
+Calls a function for each selected node. Note that you cannot modify
+the tree or selection from within this function. As a result,
+gtk_tree_selection_get_selected_rows() might be more useful.
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> A #GtkTreeSelection.
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> The function to call for each selected node.
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> user data to pass to the function.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_color_selection_get_current_color">
+<description>
+Sets @color to be the current color in the GtkColorSelection widget.
+
+</description>
+<parameters>
+<parameter name="colorsel">
+<parameter_description> a #GtkColorSelection.
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> a #GdkColor to fill in with the current color.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_editable_get_editable">
+<description>
+Retrieves whether @editable is editable. See
+gtk_editable_set_editable().
+
+
+</description>
+<parameters>
+<parameter name="editable">
+<parameter_description> a #GtkEditable
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @editable is editable.
+</return>
+</function>
+
+<function name="gtk_tree_view_column_get_sort_indicator">
+<description>
+Gets the value set by gtk_tree_view_column_set_sort_indicator().
+
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> a #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the sort indicator arrow is displayed
+</return>
+</function>
+
+<function name="gtk_tree_path_new_first">
+<description>
+Creates a new #GtkTreePath. The string representation of this path is &quot;0&quot;
+
+
+</description>
+<parameters>
+</parameters>
+<return> A new #GtkTreePath.
+</return>
+</function>
+
+<function name="gtk_widget_class_install_style_property">
+<description>
+Installs a style property on a widget class. The parser for the
+style property is determined by the value type of @pspec.
+
+</description>
+<parameters>
+<parameter name="klass">
+<parameter_description> a #GtkWidgetClass
+</parameter_description>
+</parameter>
+<parameter name="pspec">
+<parameter_description> the #GParamSpec for the property
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_path_to_string">
+<description>
+Generates a string representation of the path. This string is a &apos;:&apos;
+separated list of numbers. For example, &quot;4:10:0:3&quot; would be an acceptable return value for this string.
+
+
+</description>
+<parameters>
+<parameter name="path">
+<parameter_description> A #GtkTreePath
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly-allocated string. Must be freed with g_free().
+</return>
+</function>
+
+<function name="gtk_drag_set_default_icon">
+<description>
+Changes the default drag icon. GTK+ retains references for the
+arguments, and will release them when they are no longer needed.
+This function is obsolete. The default icon should now be changed
+via the stock system by changing the stock pixbuf for #GTK_STOCK_DND.
+
+</description>
+<parameters>
+<parameter name="colormap">
+<parameter_description> the colormap of the icon
+</parameter_description>
+</parameter>
+<parameter name="pixmap">
+<parameter_description> the image data for the icon
+</parameter_description>
+</parameter>
+<parameter name="mask">
+<parameter_description> the transparency mask for an image.
+</parameter_description>
+</parameter>
+<parameter name="hot_x">
+<parameter_description> The X offset within @widget of the hotspot.
+</parameter_description>
+</parameter>
+<parameter name="hot_y">
+<parameter_description> The Y offset within @widget of the hotspot.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_model_row_inserted">
+<description>
+Emits the &quot;row_inserted&quot; signal on @tree_model
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> A #GtkTreePath pointing to the inserted row
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> A valid #GtkTreeIter pointing to the inserted row
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_combo_box_get_active">
+<description>
+Return value: An integer which is the index of the currently active item,
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> A #GtkComboBox
+</parameter_description>
+</parameter>
+</parameters>
+<return> An integer which is the index of the currently active item,
+or -1 if there&apos;s no active item.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_icon_source_set_size">
+<description>
+Sets the icon size this icon source is intended to be used
+with.
+
+Setting the icon size on an icon source makes no difference
+if the size is wildcarded. Therefore, you should usually
+call gtk_icon_source_set_size_wildcarded() to un-wildcard it
+in addition to calling this function.
+
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a #GtkIconSource
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> icon size this source applies to
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toolbar_append_element">
+<description>
+Adds a new element to the end of a toolbar.
+
+If @type == %GTK_TOOLBAR_CHILD_WIDGET, @widget is used as the new element.
+If @type == %GTK_TOOLBAR_CHILD_RADIOBUTTON, @widget is used to determine
+the radio group for the new element. In all other cases, @widget must
+be %NULL.
+
+@callback must be a pointer to a function taking a #GtkWidget and a gpointer as
+arguments. Use the GTK_SIGNAL_FUNC() to cast the function to #GtkSignalFunc.
+
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar.
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> a value of type #GtkToolbarChildType that determines what @widget will be.
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> a #GtkWidget, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the element&apos;s label.
+</parameter_description>
+</parameter>
+<parameter name="tooltip_text">
+<parameter_description> the element&apos;s tooltip.
+</parameter_description>
+</parameter>
+<parameter name="tooltip_private_text">
+<parameter_description> used for context-sensitive help about this toolbar element.
+</parameter_description>
+</parameter>
+<parameter name="icon">
+<parameter_description> a #GtkWidget that provides pictorial representation of the element&apos;s function.
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the function to be executed when the button is pressed.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> any data you wish to pass to the callback.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new toolbar element as a #GtkWidget.
+</return>
+</function>
+
+<function name="gtk_widget_set_default_direction">
+<description>
+Sets the default reading direction for widgets where the
+direction has not been explicitly set by gtk_widget_set_direction().
+
+</description>
+<parameters>
+<parameter name="dir">
+<parameter_description> the new default direction. This cannot be
+%GTK_TEXT_DIR_NONE.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_unix_dialog_set_manual_capabilities">
+<description>
+This lets you specify the printing capabilities your application
+supports. For instance, if you can handle scaling the output then
+you pass #GTK_PRINT_CAPABILITY_SCALE. If you don&apos;t pass that, then
+the dialog will only let you select the scale if the printing
+system automatically handles scaling.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkPrintUnixDialog
+</parameter_description>
+</parameter>
+<parameter name="capabilities">
+<parameter_description> the printing capabilities of your application
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_viewport_get_hadjustment">
+<description>
+Return value: the horizontal adjustment of @viewport.
+
+</description>
+<parameters>
+<parameter name="viewport">
+<parameter_description> a #GtkViewport.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the horizontal adjustment of @viewport.
+</return>
+</function>
+
+<function name="gtk_icon_theme_set_search_path">
+<description>
+Sets the search path for the icon theme object. When looking
+for an icon theme, GTK+ will search for a subdirectory of
+one or more of the directories in @path with the same name
+as the icon theme. (Themes from multiple of the path elements
+are combined to allow themes to be extended by adding icons
+in the user&apos;s home directory.)
+
+In addition if an icon found isn&apos;t found either in the current
+icon theme or the default icon theme, and an image file with
+the right name is found directly in one of the elements of
+@path, then that image will be used for the icon name.
+(This is legacy feature, and new icons should be put
+into the default icon theme, which is called DEFAULT_THEME_NAME,
+rather than directly on the icon path.)
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="icon_theme">
+<parameter_description> a #GtkIconTheme
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> array of directories that are searched for icon themes
+</parameter_description>
+</parameter>
+<parameter name="n_elements">
+<parameter_description> number of elements in @path.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_paper_size_get_default_left_margin">
+<description>
+Gets the default left margin for the #GtkPaperSize.
+
+
+</description>
+<parameters>
+<parameter name="size">
+<parameter_description> a #GtkPaperSize object
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the unit for the return value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the default left margin
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_icon_view_get_markup_column">
+<description>
+Returns: the markup column, or -1 if it&apos;s unset.
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the markup column, or -1 if it&apos;s unset.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_text_iter_is_end">
+<description>
+Return value: whether @iter is the end iterator
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @iter is the end iterator
+</return>
+</function>
+
+<function name="gtk_tree_drag_source_row_draggable">
+<description>
+Asks the #GtkTreeDragSource whether a particular row can be used as
+the source of a DND operation. If the source doesn&apos;t implement
+this interface, the row is assumed draggable.
+
+
+</description>
+<parameters>
+<parameter name="drag_source">
+<parameter_description> a #GtkTreeDragSource
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> row on which user is initiating a drag
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the row can be dragged
+</return>
+</function>
+
+<function name="gtk_stock_lookup">
+<description>
+Fills @item with the registered values for @stock_id, returning %TRUE
+if @stock_id was known.
+
+
+
+</description>
+<parameters>
+<parameter name="stock_id">
+<parameter_description> a stock item name
+</parameter_description>
+</parameter>
+<parameter name="item">
+<parameter_description> stock item to initialize with values
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @item was initialized
+</return>
+</function>
+
+<function name="gtk_menu_item_new_with_mnemonic">
+<description>
+Creates a new #GtkMenuItem containing a label. The label
+will be created using gtk_label_new_with_mnemonic(), so underscores
+in @label indicate the mnemonic for the menu item.
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> The text of the button, with an underscore in front of the
+mnemonic character
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkMenuItem
+</return>
+</function>
+
+<function name="gtk_progress_bar_set_orientation">
+<description>
+Causes the progress bar to switch to a different orientation
+(left-to-right, right-to-left, top-to-bottom, or bottom-to-top).
+
+</description>
+<parameters>
+<parameter name="pbar">
+<parameter_description> a #GtkProgressBar
+</parameter_description>
+</parameter>
+<parameter name="orientation">
+<parameter_description> orientation of the progress bar
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_info_get_private_hint">
+<description>
+Gets the value of the &quot;private&quot; flag. Resources in the recently used
+list that have this flag set to %TRUE should only be displayed by the
+applications that have registered them.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GtkRecentInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the private flag was found, %FALSE otherwise.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_volume_button_new">
+<description>
+Creates a #GtkVolumeButton, with a range between 0 and 100, with
+a stepping of 2. Volume values can be obtained and modified using
+the functions from #GtkScaleButton.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkVolumeButton
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_calendar_clear_marks">
+<description>
+Remove all visual markers.
+
+</description>
+<parameters>
+<parameter name="calendar">
+<parameter_description> a #GtkCalendar
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_action_new_for_manager">
+<description>
+Creates a new #GtkRecentAction object. To add the action to
+a #GtkActionGroup and set the accelerator for the action,
+call gtk_action_group_add_action_with_accel().
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> a unique name for the action
+</parameter_description>
+</parameter>
+<parameter name="label">
+<parameter_description> the label displayed in menu items and on buttons
+</parameter_description>
+</parameter>
+<parameter name="tooltip">
+<parameter_description> a tooltip for the action
+</parameter_description>
+</parameter>
+<parameter name="stock_id">
+<parameter_description> the stock icon to display in widgets representing the action
+</parameter_description>
+</parameter>
+<parameter name="manager">
+<parameter_description> a #GtkRecentManager or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly created #GtkRecentAction
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_tree_view_set_enable_tree_lines">
+<description>
+Sets whether to draw lines interconnecting the expanders in @tree_view.
+This does not have any visible effects for lists.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="enabled">
+<parameter_description> %TRUE to enable tree line drawing, %FALSE otherwise.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_about_dialog_get_documenters">
+<description>
+Return value: A %NULL-terminated string array containing
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> A %NULL-terminated string array containing
+the documenters. The array is owned by the about dialog
+and must not be modified.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_print_settings_to_file">
+<description>
+This function saves the print settings from @settings to @file_name.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="file_name">
+<parameter_description> the file to save to
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for errors, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE on success
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_widget_get_accessible">
+<description>
+Returns: the #AtkObject associated with @widget
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #AtkObject associated with @widget
+</return>
+</function>
+
+<function name="gtk_window_is_active">
+<description>
+Return value: %TRUE if the window part of the current active window.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the window part of the current active window.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_text_iter_editable">
+<description>
+Return value: whether @iter is inside an editable range
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+<parameter name="default_setting">
+<parameter_description> %TRUE if text is editable by default
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @iter is inside an editable range
+</return>
+</function>
+
+<function name="gtk_tree_store_insert">
+<description>
+Creates a new row at @position. If parent is non-%NULL, then the row will be
+made a child of @parent. Otherwise, the row will be created at the toplevel.
+If @position is larger than the number of rows at that level, then the new
+row will be inserted to the end of the list. @iter will be changed to point
+to this new row. The row will be empty after this function is called. To
+fill in values, you need to call gtk_tree_store_set() or
+gtk_tree_store_set_value().
+
+
+</description>
+<parameters>
+<parameter name="tree_store">
+<parameter_description> A #GtkTreeStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> An unset #GtkTreeIter to set to the new row
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> A valid #GtkTreeIter, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> position to insert the new row
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_xembed_send_focus_message">
+<description>
+Sends a XEMBED message for moving the focus along the focus
+chain to a window. The flags field that these messages share
+will be correctly filled in.
+
+</description>
+<parameters>
+<parameter name="recipient">
+<parameter_description> window to which to send the window, or %NULL
+in which case nothing will be sent
+</parameter_description>
+</parameter>
+<parameter name="message">
+<parameter_description> type of message
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> detail field of message
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_move_child">
+<description>
+Updates the position of a child, as for gtk_text_view_add_child_in_window().
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> child widget already added to the text view
+</parameter_description>
+</parameter>
+<parameter name="xpos">
+<parameter_description> new X position in window coordinates
+</parameter_description>
+</parameter>
+<parameter name="ypos">
+<parameter_description> new Y position in window coordinates
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_progress_bar_get_orientation">
+<description>
+Retrieves the current progress bar orientation.
+
+
+</description>
+<parameters>
+<parameter name="pbar">
+<parameter_description> a #GtkProgressBar
+</parameter_description>
+</parameter>
+</parameters>
+<return> orientation of the progress bar
+</return>
+</function>
+
+<function name="gtk_list_store_iter_is_valid">
+<description>
+&amp;lt;warning&amp;gt;This function is slow. Only use it for debugging and/or testing
+purposes.&amp;lt;/warning&amp;gt;
+
+Checks if the given iter is a valid iter for this #GtkListStore.
+
+
+</description>
+<parameters>
+<parameter name="list_store">
+<parameter_description> A #GtkListStore.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> A #GtkTreeIter.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the iter is valid, %FALSE if the iter is invalid.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_widget_hide_all">
+<description>
+Recursively hides a widget and any child widgets.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_show_about_dialog">
+<description>
+This is a convenience function for showing an application&apos;s about box.
+The constructed dialog is associated with the parent window and
+reused for future invocations of this function.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="parent">
+<parameter_description> transient parent, or %NULL for none
+</parameter_description>
+</parameter>
+<parameter name="first_property_name">
+<parameter_description> the name of the first property
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> value of first property, followed by more properties, %NULL-terminated
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_image_menu_item_new">
+<description>
+Creates a new #GtkImageMenuItem with an empty label.
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkImageMenuItem.
+</return>
+</function>
+
+<function name="gtk_entry_get_layout">
+<description>
+Gets the #PangoLayout used to display the entry.
+The layout is useful to e.g. convert text positions to
+pixel positions, in combination with gtk_entry_get_layout_offsets().
+The returned layout is owned by the entry and must not be
+modified or freed by the caller.
+
+Keep in mind that the layout text may contain a preedit string, so
+gtk_entry_layout_index_to_text_index() and
+gtk_entry_text_index_to_layout_index() are needed to convert byte
+indices in the layout to byte indices in the entry contents.
+
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #PangoLayout for this entry
+</return>
+</function>
+
+<function name="gtk_selection_data_get_text">
+<description>
+Gets the contents of the selection data as a UTF-8 string.
+
+
+</description>
+<parameters>
+<parameter name="selection_data">
+<parameter_description> a #GtkSelectionData
+</parameter_description>
+</parameter>
+</parameters>
+<return> if the selection data contained a recognized
+text type and it could be converted to UTF-8, a newly allocated
+string containing the converted text, otherwise %NULL.
+If the result is non-%NULL it must be freed with g_free().
+</return>
+</function>
+
+<function name="gtk_cell_renderer_toggle_get_radio">
+<description>
+Return value: %TRUE if we&apos;re rendering radio toggles rather than checkboxes
+
+</description>
+<parameters>
+<parameter name="toggle">
+<parameter_description> a #GtkCellRendererToggle
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if we&apos;re rendering radio toggles rather than checkboxes
+</return>
+</function>
+
+<function name="gtk_layout_get_vadjustment">
+<description>
+This function should only be called after the layout has been
+placed in a #GtkScrolledWindow or otherwise configured for
+scrolling. It returns the #GtkAdjustment used for communication
+between the vertical scrollbar and @layout.
+
+See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> vertical scroll adjustment
+</return>
+</function>
+
+<function name="gtk_tree_view_scroll_to_point">
+<description>
+Scrolls the tree view such that the top-left corner of the visible
+area is @tree_x, @tree_y, where @tree_x and @tree_y are specified
+in tree coordinates. The @tree_view must be realized before
+this function is called. If it isn&apos;t, you probably want to be
+using gtk_tree_view_scroll_to_cell().
+
+If either @tree_x or @tree_y are -1, then that direction isn&apos;t scrolled.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="tree_x">
+<parameter_description> X coordinate of new top-left pixel of visible area, or -1
+</parameter_description>
+</parameter>
+<parameter name="tree_y">
+<parameter_description> Y coordinate of new top-left pixel of visible area, or -1
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_init_with_args">
+<description>
+This function does the same work as gtk_init_check().
+Additionally, it allows you to add your own commandline options,
+and it automatically generates nicely formatted
+&amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt; output. Note that your program will
+be terminated after writing out the help output.
+
+
+</description>
+<parameters>
+<parameter name="argc">
+<parameter_description> a pointer to the number of command line arguments.
+</parameter_description>
+</parameter>
+<parameter name="argv">
+<parameter_description> a pointer to the array of command line arguments.
+</parameter_description>
+</parameter>
+<parameter name="parameter_string">
+<parameter_description> a string which is displayed in
+the first line of &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt; output, after
+&amp;lt;literal&amp;gt;&amp;lt;replaceable&amp;gt;programname&amp;lt;/replaceable&amp;gt; [OPTION...]&amp;lt;/literal&amp;gt;
+</parameter_description>
+</parameter>
+<parameter name="entries">
+<parameter_description> a %NULL-terminated array of #GOptionEntry&amp;lt;!-- --&amp;gt;s
+describing the options of your program
+</parameter_description>
+</parameter>
+<parameter name="translation_domain">
+<parameter_description> a translation domain to use for translating
+the &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt; output for the options in @entries
+with gettext(), or %NULL
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> a return location for errors
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the GUI has been successfully initialized,
+%FALSE otherwise.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_tree_store_insert_before">
+<description>
+Inserts a new row before @sibling. If @sibling is %NULL, then the row will
+be appended to @parent &apos;s children. If @parent and @sibling are %NULL, then
+the row will be appended to the toplevel. If both @sibling and @parent are
+set, then @parent must be the parent of @sibling. When @sibling is set,
+@parent is optional.
+
+@iter will be changed to point to this new row. The row will be empty after
+this function is called. To fill in values, you need to call
+gtk_tree_store_set() or gtk_tree_store_set_value().
+
+
+</description>
+<parameters>
+<parameter name="tree_store">
+<parameter_description> A #GtkTreeStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> An unset #GtkTreeIter to set to the new row
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> A valid #GtkTreeIter, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="sibling">
+<parameter_description> A valid #GtkTreeIter, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_file_chooser_set_delegate">
+<description>
+Establishes that calls on @receiver for #GtkFileChooser
+methods should be delegated to @delegate, and that
+#GtkFileChooser signals emitted on @delegate should be
+forwarded to @receiver. Must be used in conjunction with
+_gtk_file_chooser_delegate_iface_init().
+
+</description>
+<parameters>
+<parameter name="receiver">
+<parameter_description> a #GObject implementing #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="delegate">
+<parameter_description> another #GObject implementing #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_size_from_name">
+<description>
+Looks up the icon size associated with @name.
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> the name to look up.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the icon size with the given name.
+</return>
+</function>
+
+<function name="_gtk_clipboard_handle_event">
+<description>
+Emits the #GtkClipboard::owner-change signal on the appropriate @clipboard.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a owner change event
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_scale_button_set_adjustment">
+<description>
+Sets the #GtkAdjustment to be used as a model
+for the #GtkScaleButton&apos;s scale.
+See gtk_range_set_adjustment() for details.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkScaleButton
+</parameter_description>
+</parameter>
+<parameter name="adjustment">
+<parameter_description> a #GtkAdjustment
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_style_attach">
+<description>
+Attaches a style to a window; this process allocates the
+colors and creates the GC&apos;s for the style - it specializes
+it to a particular visual and colormap. The process may
+involve the creation of a new style if the style has already
+been attached to a window with a different style and colormap.
+
+Since this function may return a new object, you have to use it
+in the following way:
+&amp;lt;literal&amp;gt;style = gtk_style_attach (style, window)&amp;lt;/literal&amp;gt;
+
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle.
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow.
+</parameter_description>
+</parameter>
+</parameters>
+<return> Either @style, or a newly-created #GtkStyle.
+If the style is newly created, the style parameter
+will be unref&apos;ed, and the new style will have
+a reference count belonging to the caller.
+</return>
+</function>
+
+<function name="gtk_progress_bar_get_ellipsize">
+<description>
+Return value: #PangoEllipsizeMode
+
+</description>
+<parameters>
+<parameter name="pbar">
+<parameter_description> a #GtkProgressBar
+</parameter_description>
+</parameter>
+</parameters>
+<return> #PangoEllipsizeMode
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_window_set_icon">
+<description>
+Sets up the icon representing a #GtkWindow. This icon is used when
+the window is minimized (also known as iconified). Some window
+managers or desktop environments may also place it in the window
+frame, or display it in other contexts.
+
+The icon should be provided in whatever size it was naturally
+drawn; that is, don&apos;t scale the image before passing it to
+GTK+. Scaling is postponed until the last minute, when the desired
+final size is known, to allow best quality.
+
+If you have your icon hand-drawn in multiple sizes, use
+gtk_window_set_icon_list(). Then the best size will be used.
+
+This function is equivalent to calling gtk_window_set_icon_list()
+with a 1-element list.
+
+See also gtk_window_set_default_icon_list() to set the icon
+for all windows in your application in one go.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="icon">
+<parameter_description> icon image, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_file_system_model_get_info">
+<description>
+Gets the #GtkFileInfo structure for a particular row
+of @model. The information included in this structure
+is determined by the @types parameter to
+_gtk_file_system_model_new().
+
+
+</description>
+<parameters>
+<parameter name="model">
+<parameter_description> a #GtkFileSystemModel
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTreeIter pointing to a row of @model
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GtkFileInfo structure. This structure
+is owned by @model and must not be modified or freed.
+If you want to save the information for later use,
+you must make a copy, since the structure may be
+freed on later changes to the file system. If you have
+called _gtk_file_system_model_add_editable() and the @iter
+corresponds to the row that this function returned, the
+return value will be NULL.
+</return>
+</function>
+
+<function name="gtk_cell_view_set_displayed_row">
+<description>
+Sets the row of the model that is currently displayed
+by the #GtkCellView. If the path is unset, then the
+contents of the cellview &quot;stick&quot; at their last value;
+this is not normally a desired result, but may be
+a needed intermediate state if say, the model for
+the #GtkCellView becomes temporarily empty.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="cell_view">
+<parameter_description> a #GtkCellView
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a #GtkTreePath or %NULL to unset.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkImage">
+<description>
+The name of the icon in the icon theme. If the icon theme is
+changed, the image will be updated automatically.
+
+Since: 2.6
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_action_set_accel_group">
+<description>
+Sets the #GtkAccelGroup in which the accelerator for this action
+will be installed.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+<parameter name="accel_group">
+<parameter_description> a #GtkAccelGroup or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_calendar_get_date">
+<description>
+Obtains the selected date from a #GtkCalendar.
+
+</description>
+<parameters>
+<parameter name="calendar">
+<parameter_description> a #GtkCalendar
+</parameter_description>
+</parameter>
+<parameter name="year">
+<parameter_description> location to store the year number, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="month">
+<parameter_description> location to store the month number (between 0 and 11), or %NULL
+</parameter_description>
+</parameter>
+<parameter name="day">
+<parameter_description> location to store the day number (between 1 and 31), or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_im_context_focus_out">
+<description>
+Notify the input method that the widget to which this
+input context corresponds has lost focus. The input method
+may, for example, change the displayed feedback or reset the contexts
+state to reflect this change.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkIMContext
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_container_set_focus_vadjustment">
+<description>
+Hooks up an adjustment to focus handling in a container, so when a
+child of the container is focused, the adjustment is scrolled to
+show that widget. This function sets the vertical alignment. See
+gtk_scrolled_window_get_vadjustment() for a typical way of obtaining
+the adjustment and gtk_container_set_focus_hadjustment() for setting
+the horizontal adjustment.
+
+The adjustments have to be in pixel units and in the same coordinate
+system as the allocation for immediate children of the container.
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+<parameter name="adjustment">
+<parameter_description> an adjustment which should be adjusted when the focus
+is moved among the descendents of @container
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_path_up">
+<description>
+Moves the @path to point to its parent node, if it has a parent.
+
+
+</description>
+<parameters>
+<parameter name="path">
+<parameter_description> A #GtkTreePath.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @path has a parent, and the move was made.
+</return>
+</function>
+
+<function name="gtk_text_iter_get_marks">
+<description>
+Return value: list of #GtkTextMark
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> list of #GtkTextMark
+</return>
+</function>
+
+<function name="gtk_assistant_new">
+<description>
+Creates a new #GtkAssistant.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a newly created #GtkAssistant
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_targets_include_image">
+<description>
+Determines if any of the targets in @targets can be used to
+provide a #GdkPixbuf.
+
+
+</description>
+<parameters>
+<parameter name="targets">
+<parameter_description> an array of #GdkAtom&amp;lt;!-- --&amp;gt;s
+</parameter_description>
+</parameter>
+<parameter name="n_targets">
+<parameter_description> the length of @targets
+</parameter_description>
+</parameter>
+<parameter name="writable">
+<parameter_description> whether to accept only targets for which GTK+ knows
+how to convert a pixbuf into the format
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @targets include a suitable target for images,
+otherwise %FALSE.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_dialog_set_alternative_button_order">
+<description>
+Sets an alternative button order. If the
+#GtkSettings:gtk-alternative-button-order setting is set to %TRUE,
+the dialog buttons are reordered according to the order of the
+response ids passed to this function.
+
+By default, GTK+ dialogs use the button order advocated by the Gnome
+&amp;lt;ulink url=&quot;http://developer.gnome.org/projects/gup/hig/2.0/&quot;&amp;gt;Human
+Interface Guidelines&amp;lt;/ulink&amp;gt; with the affirmative button at the far
+right, and the cancel button left of it. But the builtin GTK+ dialogs
+and #GtkMessageDialog&amp;lt;!-- --&amp;gt;s do provide an alternative button order,
+which is more suitable on some platforms, e.g. Windows.
+
+Use this function after adding all the buttons to your dialog, as the
+following example shows:
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+cancel_button = gtk_dialog_add_button (GTK_DIALOG (dialog),
+GTK_STOCK_CANCEL,
+GTK_RESPONSE_CANCEL);
+
+ok_button = gtk_dialog_add_button (GTK_DIALOG (dialog),
+GTK_STOCK_OK,
+GTK_RESPONSE_OK);
+
+gtk_widget_grab_default (ok_button);
+
+help_button = gtk_dialog_add_button (GTK_DIALOG (dialog),
+GTK_STOCK_HELP,
+GTK_RESPONSE_HELP);
+
+gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
+GTK_RESPONSE_OK,
+GTK_RESPONSE_CANCEL,
+GTK_RESPONSE_HELP,
+-1);
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkDialog
+</parameter_description>
+</parameter>
+<parameter name="first_response_id">
+<parameter_description> a response id used by one @dialog&apos;s buttons
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> a list of more response ids of @dialog&apos;s buttons, terminated by -1
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_path_bar_up">
+<description>
+If the selected button in the pathbar is not the furthest button &quot;up&quot; (in the
+root direction), act as if the user clicked on the next button up.
+
+</description>
+<parameters>
+<parameter name="path_bar">
+<parameter_description> a #GtkPathBar
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_get_option_group">
+<description>
+Returns a #GOptionGroup for the commandline arguments recognized
+
+</description>
+<parameters>
+<parameter name="open_default_display">
+<parameter_description> whether to open the default display
+when parsing the commandline arguments
+</parameter_description>
+</parameter>
+</parameters>
+<return>a #GOptionGroup for the commandline arguments recognized
+by GTK+
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_rc_parse_color_full">
+<description>
+Parses a color in the &amp;lt;link linkend=&quot;color=format&quot;&amp;gt;format&amp;lt;/link&amp;gt; expected
+in a RC file. If @style is not %NULL, it will be consulted to resolve
+references to symbolic colors.
+
+
+</description>
+<parameters>
+<parameter name="scanner">
+<parameter_description> a #GScanner
+</parameter_description>
+</parameter>
+<parameter name="style">
+<parameter_description> a #GtkRcStyle, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> a pointer to a #GtkColor structure in which to store the result
+</parameter_description>
+</parameter>
+</parameters>
+<return> %G_TOKEN_NONE if parsing succeeded, otherwise the token
+that was expected but not found
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_text_iter_ends_line">
+<description>
+Return value: whether @iter is at the end of a line
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @iter is at the end of a line
+</return>
+</function>
+
+<function name="gtk_container_class_list_child_properties">
+<description>
+
+</description>
+<parameters>
+<parameter name="cclass">
+<parameter_description> a #GtkContainerClass
+</parameter_description>
+</parameter>
+<parameter name="n_properties">
+<parameter_description> location to return the number of child properties found
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated %NULL-terminated array of #GParamSpec*.
+The array must be freed with g_free().
+all child properties of a container class.
+</return>
+</function>
+
+<function name="gtk_text_view_set_cursor_visible">
+<description>
+Toggles whether the insertion point is displayed. A buffer with no editable
+text probably shouldn&apos;t have a visible cursor, so you may want to turn
+the cursor off.
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> whether to show the insertion cursor
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_text_index_to_layout_index">
+<description>
+Converts from a position in the entry&apos;s #PangoLayout (returned by
+gtk_entry_get_layout()) to a position in the entry contents
+(returned by gtk_entry_get_text()).
+
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+<parameter name="text_index">
+<parameter_description> byte index into the entry contents
+</parameter_description>
+</parameter>
+</parameters>
+<return> byte index into the entry layout text
+</return>
+</function>
+
+<function name="gtk_tree_view_append_column">
+<description>
+Appends @column to the list of columns. If @tree_view has &quot;fixed_height&quot;
+mode enabled, then @column must have its &quot;sizing&quot; property set to be
+GTK_TREE_VIEW_COLUMN_FIXED.
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView.
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> The #GtkTreeViewColumn to add.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The number of columns in @tree_view after appending.
+</return>
+</function>
+
+<function name="gtk_recent_chooser_get_show_icons">
+<description>
+Retrieves whether @chooser should show an icon near the resource.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the icons should be displayed, %FALSE otherwise.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_combo_box_get_title">
+<description>
+Gets the current title of the menu in tearoff mode. See
+gtk_combo_box_set_add_tearoffs().
+
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> a #GtkComboBox
+</parameter_description>
+</parameter>
+</parameters>
+<return> the menu&apos;s title in tearoff mode. This is an internal copy of the
+string which must not be freed.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_row_reference_inserted">
+<description>
+Lets a set of row reference created by gtk_tree_row_reference_new_proxy()
+know that the model emitted the &quot;row_inserted&quot; signal.
+
+</description>
+<parameters>
+<parameter name="proxy">
+<parameter_description> A #GObject
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> The row position that was inserted
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tool_item_set_use_drag_window">
+<description>
+Sets whether @tool_item has a drag window. When %TRUE the
+toolitem can be used as a drag source through gtk_drag_source_set().
+When @tool_item has a drag window it will intercept all events,
+even those that would otherwise be sent to a child of @tool_item.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem
+</parameter_description>
+</parameter>
+<parameter name="use_drag_window">
+<parameter_description> Whether @tool_item has a drag window.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_requisition_free">
+<description>
+Frees a #GtkRequisition.
+
+</description>
+<parameters>
+<parameter name="requisition">
+<parameter_description> a #GtkRequisition
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_set_default_icon">
+<description>
+Sets an icon to be used as fallback for windows that haven&apos;t
+had gtk_window_set_icon() called on them from a pixbuf.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="icon">
+<parameter_description> the icon
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_action_group_add_action_with_accel">
+<description>
+Adds an action object to the action group and sets up the accelerator.
+
+If @accelerator is %NULL, attempts to use the accelerator associated
+with the stock_id of the action.
+
+Accel paths are set to
+&amp;lt;literal&amp;gt;&amp;lt;Actions&amp;gt;/&amp;lt;replaceable&amp;gt;group-name&amp;lt;/replaceable&amp;gt;/&amp;lt;replaceable&amp;gt;action-name&amp;lt;/replaceable&amp;gt;&amp;lt;/literal&amp;gt;.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action_group">
+<parameter_description> the action group
+</parameter_description>
+</parameter>
+<parameter name="action">
+<parameter_description> the action to add
+</parameter_description>
+</parameter>
+<parameter name="accelerator">
+<parameter_description> the accelerator for the action, in
+the format understood by gtk_accelerator_parse(), or &quot;&quot; for no accelerator, or
+%NULL to use the stock accelerator
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_progress_bar_set_ellipsize">
+<description>
+Sets the mode used to ellipsize (add an ellipsis: &quot;...&quot;) the text
+if there is not enough space to render the entire string.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="pbar">
+<parameter_description> a #GtkProgressBar
+</parameter_description>
+</parameter>
+<parameter name="mode">
+<parameter_description> a #PangoEllipsizeMode
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_view_new">
+<description>
+Creates a new #GtkIconView widget
+
+
+</description>
+<parameters>
+</parameters>
+<return> A newly created #GtkIconView widget
+
+Since: 2.6
+</return>
+</function>
+
+<function name="_gtk_socket_end_embedding">
+<description>
+@socket: a #GtkSocket
+
+Called to end the embedding of a plug in the socket.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_set_preview_widget_active">
+<description>
+Sets whether the preview widget set by
+gtk_file_chooser_set_preview_widget() should be shown for the
+current filename. When @active is set to false, the file chooser
+may display an internally generated preview of the current file
+or it may display no preview at all. See
+gtk_file_chooser_set_preview_widget() for more details.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="active">
+<parameter_description> whether to display the user-specified preview widget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_page_setup_set_bottom_margin">
+<description>
+Sets the bottom margin of the #GtkPageSetup.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+<parameter name="margin">
+<parameter_description> the new bottom margin in units of @unit
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the units for @margin
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_set_extension_events">
+<description>
+Sets the extension events mask to @mode. See #GdkExtensionMode
+and gdk_input_set_extension_events().
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="mode">
+<parameter_description> bitfield of extension events to receive
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_bindings_activate">
+<description>
+Find a key binding matching @keyval and @modifiers and activate the
+binding on @object.
+
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> object to activate when binding found
+</parameter_description>
+</parameter>
+<parameter name="keyval">
+<parameter_description> key value of the binding
+</parameter_description>
+</parameter>
+<parameter name="modifiers">
+<parameter_description> key modifier of the binding
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a binding was found and activated
+</return>
+</function>
+
+<function name="gtk_spin_button_spin">
+<description>
+Increment or decrement a spin button&apos;s value in a specified direction
+by a specified amount.
+
+</description>
+<parameters>
+<parameter name="spin_button">
+<parameter_description> a #GtkSpinButton
+</parameter_description>
+</parameter>
+<parameter name="direction">
+<parameter_description> a #GtkSpinType indicating the direction to spin.
+</parameter_description>
+</parameter>
+<parameter name="increment">
+<parameter_description> step increment to apply in the specified direction.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toolbar_get_item_index">
+<description>
+Return value: the position of item on the toolbar.
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar
+</parameter_description>
+</parameter>
+<parameter name="item">
+<parameter_description> a #GtkToolItem that is a child of @toolbar
+</parameter_description>
+</parameter>
+</parameters>
+<return> the position of item on the toolbar.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_combo_box_set_add_tearoffs">
+<description>
+Sets whether the popup menu should have a tearoff
+menu item.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> a #GtkComboBox
+</parameter_description>
+</parameter>
+<parameter name="add_tearoffs">
+<parameter_description> %TRUE to add tearoff menu items
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_combo_box_get_model">
+<description>
+Return value: A #GtkTreeModel which was passed during construction.
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> A #GtkComboBox
+</parameter_description>
+</parameter>
+</parameters>
+<return> A #GtkTreeModel which was passed during construction.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="_gtk_socket_claim_focus">
+<description>
+@socket: a #GtkSocket
+@send_event: huh?
+
+Claims focus for the socket. XXX send_event?
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_assistant_get_page_side_image">
+<description>
+Gets the header image for @page.
+
+
+</description>
+<parameters>
+<parameter name="assistant">
+<parameter_description> a #GtkAssistant
+</parameter_description>
+</parameter>
+<parameter name="page">
+<parameter_description> a page of @assistant
+</parameter_description>
+</parameter>
+</parameters>
+<return> the side image for @page, or %NULL
+if there&apos;s no side image for the page.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_drag_source_set_target_list">
+<description>
+Changes the target types that this widget offers for drag-and-drop.
+The widget must first be made into a drag source with
+gtk_drag_source_set().
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget that&apos;s a drag source
+</parameter_description>
+</parameter>
+<parameter name="target_list">
+<parameter_description> list of draggable targets, or %NULL for none
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_get_background_area">
+<description>
+Fills the bounding rectangle in bin_window coordinates for the cell at the
+row specified by @path and the column specified by @column. If @path is
+%NULL, or points to a node not found in the tree, the @y and @height fields of
+the rectangle will be filled with 0. If @column is %NULL, the @x and @width
+fields will be filled with 0. The returned rectangle is equivalent to the
+@background_area passed to gtk_cell_renderer_render(). These background
+areas tile to cover the entire bin window. Contrast with the @cell_area,
+returned by gtk_tree_view_get_cell_area(), which returns only the cell
+itself, excluding surrounding borders and the tree expander area.
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a #GtkTreePath for the row, or %NULL to get only horizontal coordinates
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> a #GtkTreeViewColumn for the column, or %NULL to get only vertical coordiantes
+</parameter_description>
+</parameter>
+<parameter name="rect">
+<parameter_description> rectangle to fill with cell background rect
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_paint_hline">
+<description>
+Draws a horizontal line from (@x1, @y) to (@x2, @y) in @window
+using the given style and state.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> rectangle to which the output is clipped, or %NULL if the
+output should not be clipped
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> a style detail (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="x1">
+<parameter_description> the starting x coordinate
+</parameter_description>
+</parameter>
+<parameter name="x2">
+<parameter_description> the ending x coordinate
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y coordinate
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkClipboard">
+<description>
+The ::owner-change signal is emitted when GTK+ receives an
+event that indicates that the ownership of the selection
+associated with @clipboard has changed.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> the #GtkClipboard on which the signal is emitted
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> the @GdkEventOwnerChange event
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_context_get_cairo_context">
+<description>
+Obtains the cairo context that is associated with the
+#GtkPrintContext.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkPrintContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> the cairo context of @context
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_container_get_border_width">
+<description>
+Retrieves the border width of the container. See
+gtk_container_set_border_width().
+
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current border width
+</return>
+</function>
+
+<function name="gtk_tree_view_expand_all">
+<description>
+Recursively expands all nodes in the @tree_view.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkRange">
+<description>
+Whether to draw the trough across the full length of the range or
+to exclude the steppers and their spacing. Note that setting the
+#GtkRange:stepper-spacing style property to any value &amp;gt; 0 will
+automatically enable trough-under-steppers too.
+
+Since: 2.10
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_container_remove">
+<description>
+Removes @widget from @container. @widget must be inside @container.
+Note that @container will own a reference to @widget, and that this
+may be the last reference held; so removing a widget from its
+container can destroy that widget. If you want to use @widget
+again, you need to add a reference to it while it&apos;s not inside
+a container, using g_object_ref(). If you don&apos;t want to use @widget
+again it&apos;s usually more efficient to simply destroy it directly
+using gtk_widget_destroy() since this will remove it from the
+container and help break any circular reference count cycles.
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> a current child of @container
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_file_chooser_add_shortcut_folder">
+<description>
+Adds a folder to be displayed with the shortcut folders in a file chooser.
+Internal function, see gtk_file_chooser_add_shortcut_folder().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> path of the folder to add
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the folder could be added successfully, %FALSE
+otherwise.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tree_view_column_clear_attributes">
+<description>
+Clears all existing attributes previously set with
+gtk_tree_view_column_set_attributes().
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> a #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+<parameter name="cell_renderer">
+<parameter_description> a #GtkCellRenderer to clear the attribute mapping on.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_query_tab_label_packing">
+<description>
+Query the packing attributes for the tab label of the page
+containing @child.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the page
+</parameter_description>
+</parameter>
+<parameter name="expand">
+<parameter_description> location to store the expand value (or NULL)
+</parameter_description>
+</parameter>
+<parameter name="fill">
+<parameter_description> location to store the fill value (or NULL)
+</parameter_description>
+</parameter>
+<parameter name="pack_type">
+<parameter_description> location to store the pack_type (or NULL)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_get_cursor_visible">
+<description>
+Find out whether the cursor is being displayed.
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the insertion mark is visible
+</return>
+</function>
+
+<function name="gtk_print_settings_get_print_pages">
+<description>
+Gets the value of %GTK_PRINT_SETTINGS_PRINT_PAGES.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return> which pages to print
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_icon_view_set_item_width">
+<description>
+Sets the ::item-width property which specifies the width
+to use for each item. If it is set to -1, the icon view will
+automatically determine a suitable item size.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+<parameter name="item_width">
+<parameter_description> the width for each item
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_set_activates_default">
+<description>
+If @setting is %TRUE, pressing Enter in the @entry will activate the default
+widget for the window containing the entry. This usually means that
+the dialog box containing the entry will be closed, since the default
+widget is usually one of the dialog buttons.
+
+(For experts: if @setting is %TRUE, the entry calls
+gtk_window_activate_default() on the window containing the entry, in
+the default handler for the #GtkWidget::activate signal.)
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> %TRUE to activate window&apos;s default widget on Enter keypress
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_image_get_stock">
+<description>
+Gets the stock icon name and size being displayed by the #GtkImage.
+The storage type of the image must be %GTK_IMAGE_EMPTY or
+%GTK_IMAGE_STOCK (see gtk_image_get_storage_type()).
+The returned string is owned by the #GtkImage and should not
+be freed.
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GtkImage
+</parameter_description>
+</parameter>
+<parameter name="stock_id">
+<parameter_description> place to store a stock icon name
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> place to store a stock icon size
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_printer_request_details">
+<description>
+Requests the printer details. When the details are available,
+the #GtkPrinter::details-acquired signal will be emitted on @printer.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="printer">
+<parameter_description> a #GtkPrinter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_backward_search">
+<description>
+Same as gtk_text_iter_forward_search(), but moves backward.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter where the search begins
+</parameter_description>
+</parameter>
+<parameter name="str">
+<parameter_description> search string
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> bitmask of flags affecting the search
+</parameter_description>
+</parameter>
+<parameter name="match_start">
+<parameter_description> return location for start of match, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="match_end">
+<parameter_description> return location for end of match, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="limit">
+<parameter_description> location of last possible @match_start, or %NULL for start of buffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether a match was found
+</return>
+</function>
+
+<function name="gtk_tree_path_append_index">
+<description>
+Appends a new index to a path. As a result, the depth of the path is
+increased.
+
+</description>
+<parameters>
+<parameter name="path">
+<parameter_description> A #GtkTreePath.
+</parameter_description>
+</parameter>
+<parameter name="index_">
+<parameter_description> The index.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_clipboard_request_contents">
+<description>
+Requests the contents of clipboard as the given target.
+When the results of the result are later received the supplied callback
+will be called.
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard
+</parameter_description>
+</parameter>
+<parameter name="target">
+<parameter_description> an atom representing the form into which the clipboard
+owner should convert the selection.
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> A function to call when the results are received
+(or the retrieval fails). If the retrieval fails
+the length field of @selection_data will be
+negative.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data to pass to @callback
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_tool_item_toolbar_reconfigured">
+<description>
+Emits the signal #GtkToolItem::toolbar_reconfigured on @tool_item. This
+internal function is called by #GtkToolbar when some aspect of its
+configuration changes.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem:
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_drag_source_add_text_targets">
+<description>
+Add the text targets supported by #GtkSelection to
+the target list of the drag source. The targets
+are added with @info = 0. If you need another value,
+use gtk_target_list_add_text_targets() and
+gtk_drag_source_set_target_list().
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget that&apos;s is a drag source
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_child_anchor_get_widgets">
+<description>
+Gets a list of all widgets anchored at this child anchor.
+The returned list should be freed with g_list_free().
+
+
+
+</description>
+<parameters>
+<parameter name="anchor">
+<parameter_description> a #GtkTextChildAnchor
+</parameter_description>
+</parameter>
+</parameters>
+<return> list of widgets anchored at @anchor
+</return>
+</function>
+
+<function name="gtk_window_set_startup_id">
+<description>
+Startup notification identifiers are used by desktop environment to
+track application startup, to provide user feedback and other
+features. This function changes the corresponding property on the
+underlying GdkWindow. Normally, startup identifier is managed
+automatically and you should only use this function in special cases
+like transferring focus from other processes. You should use this
+function before calling gtk_window_present() or any equivalent
+function generating a window map event.
+
+This function is only useful on X11, not with other GTK+ targets.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="startup_id">
+<parameter_description> a string with startup-notification identifier
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_system_get_volume_for_path">
+<description>
+Queries the file system volume that corresponds to a specific path.
+There might not be a volume for all paths (consinder for instance remote
+shared), so this can return NULL.
+
+
+</description>
+<parameters>
+<parameter name="file_system">
+<parameter_description> a #GtkFileSystem
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a #GtkFilePath
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GtkFileSystemVolume that corresponds to the specified
+@path, or NULL if there is no such volume. You should free this value with
+gtk_file_system_volume_free().
+</return>
+</function>
+
+<function name="gtk_printer_accepts_ps">
+<description>
+Return value: %TRUE if @printer accepts PostScript
+
+</description>
+<parameters>
+<parameter name="printer">
+<parameter_description> a #GtkPrinter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @printer accepts PostScript
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_print_job_get_surface">
+<description>
+Gets a cairo surface onto which the pages of
+the print job should be rendered.
+
+
+</description>
+<parameters>
+<parameter name="job">
+<parameter_description> a #GtkPrintJob
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for errors, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> the cairo surface of @job
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_text_iter_set_visible_line_offset">
+<description>
+Like gtk_text_iter_set_line_offset(), but the offset is in visible
+characters, i.e. text with a tag making it invisible is not
+counted in the offset.
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="char_on_line">
+<parameter_description> a character offset
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_handle_box_get_shadow_type">
+<description>
+Gets the type of shadow drawn around the handle box. See
+gtk_handle_box_set_shadow_type().
+
+
+</description>
+<parameters>
+<parameter name="handle_box">
+<parameter_description> a #GtkHandleBox
+</parameter_description>
+</parameter>
+</parameters>
+<return> the type of shadow currently drawn around the handle box.
+</return>
+</function>
+
+<function name="gtk_tooltip_set_custom">
+<description>
+Replaces the widget packed into the tooltip with @custom_widget.
+By default a box with a #GtkImage and #GtkLabel is embedded in
+the tooltip, which can be configured using gtk_tooltip_set_markup()
+and gtk_tooltip_set_icon().
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="tooltip">
+<parameter_description> a #GtkTooltip
+</parameter_description>
+</parameter>
+<parameter name="custom_widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_filter_get_needed">
+<description>
+Gets the fields that need to be filled in for the structure
+passed to gtk_recent_filter_filter()
+
+This function will not typically be used by applications; it
+is intended principally for use in the implementation of
+#GtkRecentChooser.
+
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> a #GtkRecentFilter
+</parameter_description>
+</parameter>
+</parameters>
+<return> bitfield of flags indicating needed fields when
+calling gtk_recent_filter_filter()
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_target_list_unref">
+<description>
+Decreases the reference count of a #GtkTargetList by one.
+If the resulting reference count is zero, frees the list.
+
+</description>
+<parameters>
+<parameter name="list">
+<parameter_description> a #GtkTargetList
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_tag_table_foreach">
+<description>
+Calls @func on each tag in @table, with user data @data.
+Note that the table may not be modified while iterating
+over it (you can&apos;t add/remove tags).
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a #GtkTextTagTable
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> a function to call on each tag
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> user data
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_job_new">
+<description>
+Creates a new #GtkPrintJob.
+
+
+</description>
+<parameters>
+<parameter name="title">
+<parameter_description> the job title
+</parameter_description>
+</parameter>
+<parameter name="printer">
+<parameter_description> a #GtkPrinter
+</parameter_description>
+</parameter>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="page_setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkPrintJob
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_print_job_get_title">
+<description>
+Gets the job title.
+
+
+</description>
+<parameters>
+<parameter name="job">
+<parameter_description> a #GtkPrintJob
+</parameter_description>
+</parameter>
+</parameters>
+<return> the title of @job
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_store_is_ancestor">
+<description>
+Return value: %TRUE, if @iter is an ancestor of @descendant
+
+</description>
+<parameters>
+<parameter name="tree_store">
+<parameter_description> A #GtkTreeStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> A valid #GtkTreeIter
+</parameter_description>
+</parameter>
+<parameter name="descendant">
+<parameter_description> A valid #GtkTreeIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE, if @iter is an ancestor of @descendant
+</return>
+</function>
+
+<function name="gtk_print_settings_set_use_color">
+<description>
+Sets the value of %GTK_PRINT_SETTINGS_USE_COLOR.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="use_color">
+<parameter_description> whether to use color
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_paint_polygon">
+<description>
+Draws a polygon on @window with the given parameters.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> clip rectangle, or %NULL if the
+output should not be clipped
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> a style detail (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="points">
+<parameter_description> an array of #GdkPoint&amp;lt;!-- --&amp;gt;s
+</parameter_description>
+</parameter>
+<parameter name="npoints">
+<parameter_description> length of @points
+</parameter_description>
+</parameter>
+<parameter name="fill">
+<parameter_description> %TRUE if the polygon should be filled
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_tag_set_priority">
+<description>
+Sets the priority of a #GtkTextTag. Valid priorities are
+start at 0 and go to one less than gtk_text_tag_table_get_size().
+Each tag in a table has a unique priority; setting the priority
+of one tag shifts the priorities of all the other tags in the
+table to maintain a unique priority for each tag. Higher priority
+tags &quot;win&quot; if two tags both set the same text attribute. When adding
+a tag to a tag table, it will be assigned the highest priority in
+the table by default; so normally the precedence of a set of tags
+is the order in which they were added to the table, or created with
+gtk_text_buffer_create_tag(), which adds the tag to the buffer&apos;s table
+automatically.
+
+</description>
+<parameters>
+<parameter name="tag">
+<parameter_description> a #GtkTextTag
+</parameter_description>
+</parameter>
+<parameter name="priority">
+<parameter_description> the new priority
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_hide_on_delete">
+<description>
+Utility function; intended to be connected to the #GtkWidget::delete-event
+signal on a #GtkWindow. The function calls gtk_widget_hide() on its
+argument, then returns %TRUE. If connected to ::delete-event, the
+result is that clicking the close button for a window (on the
+window frame, top right corner usually) will hide but not destroy
+the window. By default, GTK+ destroys windows when ::delete-event
+is received.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE
+</return>
+</function>
+
+<function name="gtk_widget_reparent">
+<description>
+Moves a widget from one #GtkContainer to another, handling reference
+count issues to avoid destroying the widget.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="new_parent">
+<parameter_description> a #GtkContainer to move the widget into
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_operation_get_print_settings">
+<description>
+Return value: the current print settings of @op.
+
+</description>
+<parameters>
+<parameter name="op">
+<parameter_description> a #GtkPrintOperation
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current print settings of @op.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_toolbar_unset_icon_size">
+<description>
+Unsets toolbar icon size set with gtk_toolbar_set_icon_size(), so that
+user preferences will be used to determine the icon size.
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_im_context_delete_surrounding">
+<description>
+Asks the widget that the input context is attached to to delete
+characters around the cursor position by emitting the
+GtkIMContext::delete_surrounding signal. Note that @offset and @n_chars
+are in characters not in bytes which differs from the usage other
+places in #GtkIMContext.
+
+In order to use this function, you should first call
+gtk_im_context_get_surrounding() to get the current context, and
+call this function immediately afterwards to make sure that you
+know what you are deleting. You should also account for the fact
+that even if the signal was handled, the input context might not
+have deleted all the characters that were requested to be deleted.
+
+This function is used by an input method that wants to make
+subsitutions in the existing text in response to new input. It is
+not useful for applications.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkIMContext
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> offset from cursor position in chars;
+a negative value means start before the cursor.
+</parameter_description>
+</parameter>
+<parameter name="n_chars">
+<parameter_description> number of characters to delete.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the signal was handled.
+</return>
+</function>
+
+<function name="gtk_entry_completion_get_inline_selection">
+<description>
+Returns: %TRUE if inline-selection mode is on
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> a #GtkEntryCompletion
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if inline-selection mode is on
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_tree_sortable_set_default_sort_func">
+<description>
+Sets the default comparison function used when sorting to be @sort_func.
+If the current sort column id of @sortable is
+%GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, then the model will sort using
+this function.
+
+If @sort_func is %NULL, then there will be no default comparison function.
+This means that once the model has been sorted, it can&apos;t go back to the
+default state. In this case, when the current sort column id of @sortable is
+GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, the model will be unsorted.
+
+</description>
+<parameters>
+<parameter name="sortable">
+<parameter_description> A #GtkTreeSortable
+</parameter_description>
+</parameter>
+<parameter name="sort_func">
+<parameter_description> The comparison function
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> User data to pass to @sort_func, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> Destroy notifier of @user_data, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_file_chooser_embed_set_delegate">
+<description>
+Establishes that calls on @receiver for #GtkFileChooser methods should be
+delegated to @delegate, and that #GtkFileChooser signals emitted on @delegate
+should be forwarded to @receiver. Must be used in conjunction with
+_gtk_file_chooser_embed_delegate_iface_init().
+
+</description>
+<parameters>
+<parameter name="receiver">
+<parameter_description> a GOobject implementing #GtkFileChooserEmbed
+</parameter_description>
+</parameter>
+<parameter name="delegate">
+<parameter_description> another GObject implementing #GtkFileChooserEmbed
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_calendar_get_display_options">
+<description>
+Return value: the display options.
+
+</description>
+<parameters>
+<parameter name="calendar">
+<parameter_description> a #GtkCalendar
+</parameter_description>
+</parameter>
+</parameters>
+<return> the display options.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tree_view_row_activated">
+<description>
+Activates the cell determined by @path and @column.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> The #GtkTreePath to be activated.
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> The #GtkTreeViewColumn to be activated.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_completion_set_model">
+<description>
+Sets the model for a #GtkEntryCompletion. If @completion already has
+a model set, it will remove it before setting the new model.
+If model is %NULL, then it will unset the model.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> A #GtkEntryCompletion.
+</parameter_description>
+</parameter>
+<parameter name="model">
+<parameter_description> The #GtkTreeModel.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_accel_group_unlock">
+<description>
+Undoes the last call to gtk_accel_group_lock() on this @accel_group.
+
+</description>
+<parameters>
+<parameter name="accel_group">
+<parameter_description> a #GtkAccelGroup
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_text_util_create_drag_icon">
+<description>
+Creates a drag and drop icon from @text.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> #GtkWidget to extract the pango context
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> a #gchar to render the icon
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> length of @text, or -1 for NUL-terminated text
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_file_chooser_entry_get_file_part">
+<description>
+Gets the non-folder portion of whatever the user has entered
+into the file selector. What is returned is a UTF-8 string,
+and if a filename path is needed, gtk_file_system_make_path()
+must be used
+
+
+</description>
+<parameters>
+<parameter name="chooser_entry">
+<parameter_description> a #GtkFileChooserEntry
+</parameter_description>
+</parameter>
+</parameters>
+<return> the entered filename - this value is owned by the
+chooser entry and must not be modified or freed.
+</return>
+</function>
+
+<function name="gtk_radio_menu_item_new_with_mnemonic_from_widget">
+<description>
+Creates a new GtkRadioMenuItem containing a label. The label will be
+created using gtk_label_new_with_mnemonic(), so underscores in label
+indicate the mnemonic for the menu item.
+
+The new #GtkRadioMenuItem is added to the same group as @group.
+
+
+</description>
+<parameters>
+<parameter name="group">
+<parameter_description> An existing #GtkRadioMenuItem
+</parameter_description>
+</parameter>
+<parameter name="label">
+<parameter_description> the text of the button, with an underscore in front of the
+mnemonic character
+</parameter_description>
+</parameter>
+</parameters>
+<return> The new #GtkRadioMenuItem
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_print_settings_set_media_type">
+<description>
+Sets the value of %GTK_PRINT_SETTINGS_MEDIA_TYPE.
+
+The set of media types is defined in PWG 5101.1-2002 PWG.
+&amp;lt;!-- FIXME link here --&amp;gt;
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="media_type">
+<parameter_description> the media type
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toolbar_set_style">
+<description>
+Alters the view of @toolbar to display either icons only, text only, or both.
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar.
+</parameter_description>
+</parameter>
+<parameter name="style">
+<parameter_description> the new style for @toolbar.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_set_completion">
+<description>
+Sets @completion to be the auxiliary completion object to use with @entry.
+All further configuration of the completion mechanism is done on
+@completion using the #GtkEntryCompletion API. Completion is disabled if
+@completion is set to %NULL.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> A #GtkEntry
+</parameter_description>
+</parameter>
+<parameter name="completion">
+<parameter_description> The #GtkEntryCompletion or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tool_item_set_visible_horizontal">
+<description>
+Sets whether @tool_item is visible when the toolbar is docked horizontally.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem
+</parameter_description>
+</parameter>
+<parameter name="visible_horizontal">
+<parameter_description> Whether @tool_item is visible when in horizontal mode
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_menu_popup">
+<description>
+Displays a menu and makes it available for selection. Applications can use
+this function to display context-sensitive menus, and will typically supply
+%NULL for the @parent_menu_shell, @parent_menu_item, @func and @data
+parameters. The default menu positioning function will position the menu
+at the current mouse cursor position.
+
+The @button parameter should be the mouse button pressed to initiate
+the menu popup. If the menu popup was initiated by something other than
+a mouse button press, such as a mouse button release or a keypress,
+@button should be 0.
+
+The @activate_time parameter should be the time stamp of the event that
+initiated the popup. If such an event is not available, use
+gtk_get_current_event_time() instead.
+
+
+</description>
+<parameters>
+<parameter name="menu">
+<parameter_description> a #GtkMenu.
+</parameter_description>
+</parameter>
+<parameter name="parent_menu_shell">
+<parameter_description> the menu shell containing the triggering menu item, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="parent_menu_item">
+<parameter_description> the menu item whose activation triggered the popup, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> a user supplied function used to position the menu, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> user supplied data to be passed to @func.
+</parameter_description>
+</parameter>
+<parameter name="button">
+<parameter_description> the mouse button which was pressed to initiate the event.
+</parameter_description>
+</parameter>
+<parameter name="activate_time">
+<parameter_description> the time at which the activation event occurred.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_group_remove_window">
+<description>
+Removes a window from a #GtkWindowGroup.
+
+</description>
+<parameters>
+<parameter name="window_group">
+<parameter_description> a #GtkWindowGroup
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> the #GtkWindow to remove
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_present_with_time">
+<description>
+Presents a window to the user in response to a user interaction.
+If you need to present a window without a timestamp, use
+gtk_window_present(). See gtk_window_present() for details.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="timestamp">
+<parameter_description> the timestamp of the user interaction (typically a
+button or key press event) which triggered this call
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_range_set_update_policy">
+<description>
+Sets the update policy for the range. #GTK_UPDATE_CONTINUOUS means that
+anytime the range slider is moved, the range value will change and the
+value_changed signal will be emitted. #GTK_UPDATE_DELAYED means that
+the value will be updated after a brief timeout where no slider motion
+occurs, so updates are spaced by a short time rather than
+continuous. #GTK_UPDATE_DISCONTINUOUS means that the value will only
+be updated when the user releases the button and ends the slider
+drag operation.
+
+</description>
+<parameters>
+<parameter name="range">
+<parameter_description> a #GtkRange
+</parameter_description>
+</parameter>
+<parameter name="policy">
+<parameter_description> update policy
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_new">
+<description>
+Creates a new text buffer.
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a tag table, or %NULL to create a new one
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new text buffer
+</return>
+</function>
+
+<function name="gtk_entry_select_region">
+<description>
+Selects a region of text. The characters that are selected are
+those characters at positions from @start_pos up to, but not
+including @end_pos. If @end_pos is negative, then the the characters
+selected will be those characters from @start_pos to the end of
+the text.
+
+Deprecated: Use gtk_editable_select_region() instead.
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> the starting position
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> the end position
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_spin_button_get_value">
+<description>
+Get the value in the @spin_button.
+
+
+</description>
+<parameters>
+<parameter name="spin_button">
+<parameter_description> a #GtkSpinButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> the value of @spin_button
+</return>
+</function>
+
+<function name="gtk_print_error_quark">
+<description>
+Registers an error quark for #GtkPrintOperation if necessary.
+
+
+</description>
+<parameters>
+</parameters>
+<return> The error quark used for #GtkPrintOperation errors.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_menu_bar_set_child_pack_direction">
+<description>
+Sets how widgets should be packed inside the children of a menubar.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="menubar">
+<parameter_description> a #GtkMenuBar.
+</parameter_description>
+</parameter>
+<parameter name="child_pack_dir">
+<parameter_description> a new #GtkPackDirection.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_view_convert_widget_to_bin_window_coords">
+<description>
+Converts widget coordinates to coordinates for the bin_window,
+as expected by e.g. gtk_icon_view_get_path_at_pos().
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="wx">
+<parameter_description> X coordinate relative to the widget
+</parameter_description>
+</parameter>
+<parameter name="wy">
+<parameter_description> Y coordinate relative to the widget
+</parameter_description>
+</parameter>
+<parameter name="bx">
+<parameter_description> return location for bin_window X coordinate
+</parameter_description>
+</parameter>
+<parameter name="by">
+<parameter_description> return location for bin_window Y coordinate
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_paint_option">
+<description>
+Draws a radio button indicator in the given rectangle on @window with
+the given parameters.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> the type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> clip rectangle, or %NULL if the
+output should not be clipped
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> a style detail (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the rectangle to draw the option in
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the rectangle to draw the option in
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the rectangle to draw the option in
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the rectangle to draw the option in
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_printer_is_active">
+<description>
+Return value: %TRUE if @printer is active
+
+</description>
+<parameters>
+<parameter name="printer">
+<parameter_description> a #GtkPrinter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @printer is active
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_window_activate_focus">
+<description>
+Activates the current focused widget within the window.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a widget got activated.
+</return>
+</function>
+
+<function name="gtk_entry_completion_delete_action">
+<description>
+Deletes the action at @index_ from @completion&apos;s action list.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> A #GtkEntryCompletion.
+</parameter_description>
+</parameter>
+<parameter name="index_">
+<parameter_description> The index of the item to Delete.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_get_dither">
+<description>
+Gets the value of %GTK_PRINT_SETTINGS_DITHER.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return> the dithering that is used
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_text_view_window_to_buffer_coords">
+<description>
+Converts coordinates on the window identified by @win to buffer
+coordinates, storing the result in (@buffer_x,@buffer_y).
+
+Note that you can&apos;t convert coordinates for a nonexisting window (see
+gtk_text_view_set_border_window_size()).
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="win">
+<parameter_description> a #GtkTextWindowType except #GTK_TEXT_WINDOW_PRIVATE
+</parameter_description>
+</parameter>
+<parameter name="window_x">
+<parameter_description> window x coordinate
+</parameter_description>
+</parameter>
+<parameter name="window_y">
+<parameter_description> window y coordinate
+</parameter_description>
+</parameter>
+<parameter name="buffer_x">
+<parameter_description> buffer x coordinate return location
+</parameter_description>
+</parameter>
+<parameter name="buffer_y">
+<parameter_description> buffer y coordinate return location
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkScaleButton">
+<description>
+The ::popdown signal is a
+&amp;lt;link linkend=&quot;keybinding-signals&quot;&amp;gt;keybinding signal&amp;lt;/link&amp;gt;
+which gets emitted to popdown the scale widget.
+
+The default binding for this signal is Escape.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> the object which received the signal
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_color_button_set_color">
+<description>
+Sets the current color to be @color.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="color_button">
+<parameter_description> a #GtkColorButton.
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> A #GdkColor to set the current color with.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_get_finishings">
+<description>
+Gets the value of %GTK_PRINT_SETTINGS_FINISHINGS.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return> the finishings
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_text_iter_backward_line">
+<description>
+Moves @iter to the start of the previous line. Returns %TRUE if
+@iter could be moved; i.e. if @iter was at character offset 0, this
+function returns %FALSE. Therefore if @iter was already on line 0,
+but not at the start of the line, @iter is snapped to the start of
+the line and the function returns %TRUE. (Note that this implies that
+in a loop calling this function, the line number may not change on
+every iteration, if your first iteration is on line 0.)
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @iter moved
+</return>
+</function>
+
+<function name="gtk_scale_button_set_value">
+<description>
+Sets the current value of the scale; if the value is outside
+the minimum or maximum range values, it will be clamped to fit
+inside them. The scale button emits the #GtkScaleButton::value-changed
+signal if the value changes.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkScaleButton
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> new value of the scale button
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_set_resolution">
+<description>
+Sets the value of %GTK_PRINT_SETTINGS_RESOLUTION.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="resolution">
+<parameter_description> the resolution in dpi
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_set_visibility">
+<description>
+Sets whether the contents of the entry are visible or not.
+When visibility is set to %FALSE, characters are displayed
+as the invisible char, and will also appear that way when
+the text in the entry widget is copied elsewhere.
+
+The default invisible char is the asterisk &apos;*&apos;, but it can
+be changed with gtk_entry_set_invisible_char().
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+<parameter name="visible">
+<parameter_description> %TRUE if the contents of the entry are displayed
+as plaintext
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_radio_menu_item_new_with_label_from_widget">
+<description>
+Creates a new GtkRadioMenuItem whose child is a simple GtkLabel.
+The new #GtkRadioMenuItem is added to the same group as @group.
+
+
+</description>
+<parameters>
+<parameter name="group">
+<parameter_description> an existing #GtkRadioMenuItem
+</parameter_description>
+</parameter>
+<parameter name="label">
+<parameter_description> the text for the label
+</parameter_description>
+</parameter>
+</parameters>
+<return> The new #GtkRadioMenuItem
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_icon_info_get_base_size">
+<description>
+Gets the base size for the icon. The base size
+is a size for the icon that was specified by
+the icon theme creator. This may be different
+than the actual size of image; an example of
+this is small emblem icons that can be attached
+to a larger icon. These icons will be given
+the same base size as the larger icons to which
+they are attached.
+
+
+</description>
+<parameters>
+<parameter name="icon_info">
+<parameter_description> a #GtkIconInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> the base size, or 0, if no base
+size is known for the icon.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_viewport_set_hadjustment">
+<description>
+Sets the horizontal adjustment of the viewport.
+
+</description>
+<parameters>
+<parameter name="viewport">
+<parameter_description> a #GtkViewport.
+</parameter_description>
+</parameter>
+<parameter name="adjustment">
+<parameter_description> a #GtkAdjustment.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_color_selection_set_change_palette_hook">
+<description>
+Installs a global function to be called whenever the user tries to
+modify the palette in a color selection. This function should save
+the new palette contents, and update the GtkSettings property
+&quot;gtk-color-palette&quot; so all GtkColorSelection widgets will be modified.
+
+
+</description>
+<parameters>
+<parameter name="func">
+<parameter_description> a function to call when the custom palette needs saving.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the previous change palette hook (that was replaced).
+
+Deprecated: This function is deprecated in favor of
+gtk_color_selection_set_change_palette_with_screen_hook(), and does
+not work in multihead environments.
+
+</return>
+</function>
+
+<function name="gtk_widget_set_tooltip_markup">
+<description>
+Sets @markup as the contents of the tooltip, which is marked up with
+the &amp;lt;link linkend=&quot;PangoMarkupFormat&quot;&amp;gt;Pango text markup language&amp;lt;/link&amp;gt;.
+
+This function will take care of setting GtkWidget:has-tooltip to %TRUE
+and of the default handler for the GtkWidget::query-tooltip signal.
+
+See also the GtkWidget:tooltip-markup property and
+gtk_tooltip_set_markup().
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="markup">
+<parameter_description> the contents of the tooltip for @widget, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_clipboard_wait_for_targets">
+<description>
+Return value: %TRUE if any targets are present on the clipboard,
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard
+</parameter_description>
+</parameter>
+<parameter name="targets">
+<parameter_description> location to store an array of targets. The result
+stored here must be freed with g_free().
+</parameter_description>
+</parameter>
+<parameter name="n_targets">
+<parameter_description> location to store number of items in @targets.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if any targets are present on the clipboard,
+otherwise %FALSE.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_text_buffer_get_iter_at_child_anchor">
+<description>
+Obtains the location of @anchor within @buffer.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> an iterator to be initialized
+</parameter_description>
+</parameter>
+<parameter name="anchor">
+<parameter_description> a child anchor that appears in @buffer
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_completion_insert_action_text">
+<description>
+Inserts an action in @completion&apos;s action item list at position @index_
+with text @text. If you want the action item to have markup, use
+gtk_entry_completion_insert_action_markup().
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> A #GtkEntryCompletion.
+</parameter_description>
+</parameter>
+<parameter name="index_">
+<parameter_description> The index of the item to insert.
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> Text of the item to insert.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_unparent">
+<description>
+This function is only for use in widget implementations.
+Should be called by implementations of the remove method
+on #GtkContainer, to dissociate a child from the container.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_get_toggled_tags">
+<description>
+Return value: tags toggled at this point
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+<parameter name="toggled_on">
+<parameter_description> %TRUE to get toggled-on tags
+</parameter_description>
+</parameter>
+</parameters>
+<return> tags toggled at this point
+</return>
+</function>
+
+<function name="gtk_radio_tool_button_new">
+<description>
+Creates a new #GtkRadioToolButton, adding it to @group.
+
+
+</description>
+<parameters>
+<parameter name="group">
+<parameter_description> An existing radio button group, or %NULL if you are creating a new group
+</parameter_description>
+</parameter>
+</parameters>
+<return> The new #GtkRadioToolButton
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_label_set_use_underline">
+<description>
+If true, an underline in the text indicates the next character should be
+used for the mnemonic accelerator key.
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> %TRUE if underlines in the text indicate mnemonics
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_key_hash_new">
+<description>
+Create a new key hash object for doing binding resolution.
+
+
+</description>
+<parameters>
+<parameter name="keymap">
+<parameter_description> a #GdkKeymap
+</parameter_description>
+</parameter>
+<parameter name="item_destroy_notify">
+<parameter_description> function to be called when items are removed
+from the hash or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly created object. Free with _gtk_key_hash_free().
+</return>
+</function>
+
+<function name="gtk_style_set_font">
+<description>
+Sets the #GdkFont to use for a given style. This is
+meant only as a replacement for direct access to style-&amp;gt;font
+and should not be used in new code. New code should
+use style-&amp;gt;font_desc instead.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle.
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> a #GdkFont, or %NULL to use the #GdkFont corresponding
+to style-&amp;gt;font_desc.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_forward_find_char">
+<description>
+Advances @iter, calling @pred on each character. If
+@pred returns %TRUE, returns %TRUE and stops scanning.
+If @pred never returns %TRUE, @iter is set to @limit if
+@limit is non-%NULL, otherwise to the end iterator.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="pred">
+<parameter_description> a function to be called on each character
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data for @pred
+</parameter_description>
+</parameter>
+<parameter name="limit">
+<parameter_description> search limit, or %NULL for none
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether a match was found
+</return>
+</function>
+
+<function name="gtk_about_dialog_get_copyright">
+<description>
+Return value: The copyright string. The string is owned by the about
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> The copyright string. The string is owned by the about
+dialog and must not be modified.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_combo_box_get_row_separator_func">
+<description>
+Return value: the current row separator function.
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> a #GtkComboBox
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current row separator function.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_file_filter_filter">
+<description>
+Tests whether a file should be displayed according to @filter.
+The #GtkFileFilterInfo structure @filter_info should include
+the fields returned from gtk_file_filter_get_needed().
+
+This function will not typically be used by applications; it
+is intended principally for use in the implementation of
+#GtkFileChooser.
+
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> a #GtkFileFilter
+</parameter_description>
+</parameter>
+<parameter name="filter_info">
+<parameter_description> a #GtkFileFilterInfo structure containing information
+about a file.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the file should be displayed
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_container_get_children">
+<description>
+Return value: a newly-allocated list of the container&apos;s non-internal children.
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated list of the container&apos;s non-internal children.
+</return>
+</function>
+
+<function name="gtk_calendar_select_day">
+<description>
+Selects a day from the current month.
+
+</description>
+<parameters>
+<parameter name="calendar">
+<parameter_description> a #GtkCalendar.
+</parameter_description>
+</parameter>
+<parameter name="day">
+<parameter_description> the day number between 1 and 31, or 0 to unselect
+the currently selected day.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_push_colormap">
+<description>
+Pushes @cmap onto a global stack of colormaps; the topmost
+colormap on the stack will be used to create all widgets.
+Remove @cmap with gtk_widget_pop_colormap(). There&apos;s little
+reason to use this function.
+
+</description>
+<parameters>
+<parameter name="cmap">
+<parameter_description> a #GdkColormap
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_stick">
+<description>
+Asks to stick @window, which means that it will appear on all user
+desktops. Note that you shouldn&apos;t assume the window is definitely
+stuck afterward, because other entities (e.g. the user or &amp;lt;link
+linkend=&quot;gtk-X11-arch&quot;&amp;gt;window manager&amp;lt;/link&amp;gt;) could unstick it
+again, and some window managers do not support sticking
+windows. But normally the window will end up stuck. Just don&apos;t
+write code that crashes if not.
+
+It&apos;s permitted to call this function before showing a window.
+
+You can track stickiness via the &quot;window_state_event&quot; signal
+on #GtkWidget.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_clipboard_set_with_data">
+<description>
+Virtually sets the contents of the specified clipboard by providing
+a list of supported formats for the clipboard data and a function
+to call to get the actual data when it is requested.
+
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard
+</parameter_description>
+</parameter>
+<parameter name="targets">
+<parameter_description> array containing information about the available forms for the
+clipboard data
+</parameter_description>
+</parameter>
+<parameter name="n_targets">
+<parameter_description> number of elements in @targets
+</parameter_description>
+</parameter>
+<parameter name="get_func">
+<parameter_description> function to call to get the actual clipboard data
+</parameter_description>
+</parameter>
+<parameter name="clear_func">
+<parameter_description> when the clipboard contents are set again, this function will
+be called, and @get_func will not be subsequently called.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data to pass to @get_func and @clear_func.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if setting the clipboard data succeeded. If setting
+the clipboard data failed the provided callback functions
+will be ignored.
+</return>
+</function>
+
+<function name="gtk_notebook_set_tab_label_packing">
+<description>
+Sets the packing parameters for the tab label of the page
+containing @child. See gtk_box_pack_start() for the exact meaning
+of the parameters.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the child widget
+</parameter_description>
+</parameter>
+<parameter name="expand">
+<parameter_description> whether to expand the bookmark or not
+</parameter_description>
+</parameter>
+<parameter name="fill">
+<parameter_description> whether the bookmark should fill the allocated area or not
+</parameter_description>
+</parameter>
+<parameter name="pack_type">
+<parameter_description> the position of the bookmark
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_drag_source_set_icon">
+<description>
+Sets the icon that will be used for drags from a particular widget
+from a pixmap/mask. GTK+ retains references for the arguments, and
+will release them when they are no longer needed.
+Use gtk_drag_source_set_icon_pixbuf() instead.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="colormap">
+<parameter_description> the colormap of the icon
+</parameter_description>
+</parameter>
+<parameter name="pixmap">
+<parameter_description> the image data for the icon
+</parameter_description>
+</parameter>
+<parameter name="mask">
+<parameter_description> the transparency mask for an image.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_button_get_use_underline">
+<description>
+Return value: %TRUE if an embedded underline in the button label
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if an embedded underline in the button label
+indicates the mnemonic accelerator keys.
+</return>
+</function>
+
+<function name="gtk_print_operation_set_export_filename">
+<description>
+Sets up the #GtkPrintOperation to generate a file instead
+of showing the print dialog. The indended use of this function
+is for implementing &quot;Export to PDF&quot; actions. Currently, PDF
+is the only supported format.
+
+&quot;Print to PDF&quot; support is independent of this and is done
+by letting the user pick the &quot;Print to PDF&quot; item from the list
+of printers in the print dialog.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="op">
+<parameter_description> a #GtkPrintOperation
+</parameter_description>
+</parameter>
+<parameter name="filename">
+<parameter_description> the filename for the exported file
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_container_forall">
+<description>
+Invokes @callback on each child of @container, including children
+that are considered &quot;internal&quot; (implementation details of the
+container). &quot;Internal&quot; children generally weren&apos;t added by the user
+of the container, but were added by the container implementation
+itself. Most applications should use gtk_container_foreach(),
+rather than gtk_container_forall().
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> a callback
+</parameter_description>
+</parameter>
+<parameter name="callback_data">
+<parameter_description> callback user data
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_get_overwrite">
+<description>
+Return value: whether @text_view is in overwrite mode or not.
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @text_view is in overwrite mode or not.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="GtkCalendar">
+<description>
+Determines whether week numbers are displayed.
+
+Since: 2.4
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_selection_get_mode">
+<description>
+Gets the selection mode for @selection. See
+gtk_tree_selection_set_mode().
+
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> a #GtkTreeSelection
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current selection mode
+</return>
+</function>
+
+<function name="gtk_text_attributes_ref">
+<description>
+Increments the reference count on @values.
+
+
+</description>
+<parameters>
+<parameter name="values">
+<parameter_description> a #GtkTextAttributes
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GtkTextAttributes that were passed in
+</return>
+</function>
+
+<function name="gtk_cell_editable_start_editing">
+<description>
+Begins editing on a @cell_editable. @event is the #GdkEvent that began
+the editing process. It may be %NULL, in the instance that editing was
+initiated through programatic means.
+
+</description>
+<parameters>
+<parameter name="cell_editable">
+<parameter_description> A #GtkCellEditable
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> A #GdkEvent, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_range_set_value">
+<description>
+Sets the current value of the range; if the value is outside the
+minimum or maximum range values, it will be clamped to fit inside
+them. The range emits the #GtkRange::value-changed signal if the
+value changes.
+
+</description>
+<parameters>
+<parameter name="range">
+<parameter_description> a #GtkRange
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> new value of the range
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tool_button_set_use_underline">
+<description>
+If set, an underline in the label property indicates that the next character
+should be used for the mnemonic accelerator key in the overflow menu. For
+example, if the label property is &quot;_Open&quot; and @use_underline is %TRUE,
+the label on the tool button will be &quot;Open&quot; and the item on the overflow
+menu will have an underlined &apos;O&apos;.
+
+Labels shown on tool buttons never have mnemonics on them; this property
+only affects the menu item on the overflow menu.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkToolButton
+</parameter_description>
+</parameter>
+<parameter name="use_underline">
+<parameter_description> whether the button label has the form &quot;_Open&quot;
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_input_shape_combine_mask">
+<description>
+Sets an input shape for this widget&apos;s GDK window. This allows for
+windows which react to mouse click in a nonrectangular region, see
+gdk_window_input_shape_combine_mask() for more information.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="shape_mask">
+<parameter_description> shape to be added, or %NULL to remove an existing shape
+</parameter_description>
+</parameter>
+<parameter name="offset_x">
+<parameter_description> X position of shape mask with respect to @window
+</parameter_description>
+</parameter>
+<parameter name="offset_y">
+<parameter_description> Y position of shape mask with respect to @window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_get_extension_events">
+<description>
+Retrieves the extension events the widget will receive; see
+gdk_input_set_extension_events().
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> extension events for @widget
+</return>
+</function>
+
+<function name="gtk_range_set_upper_stepper_sensitivity">
+<description>
+Sets the sensitivity policy for the stepper that points to the
+&apos;upper&apos; end of the GtkRange&apos;s adjustment.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="range">
+<parameter_description> a #GtkRange
+</parameter_description>
+</parameter>
+<parameter name="sensitivity">
+<parameter_description> the upper stepper&apos;s sensitivity policy.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_targets_include_rich_text">
+<description>
+Determines if any of the targets in @targets can be used to
+provide rich text.
+
+
+</description>
+<parameters>
+<parameter name="targets">
+<parameter_description> an array of #GdkAtom&amp;lt;!-- --&amp;gt;s
+</parameter_description>
+</parameter>
+<parameter name="n_targets">
+<parameter_description> the length of @targets
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @targets include a suitable target for rich text,
+otherwise %FALSE.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_page_setup_set_top_margin">
+<description>
+Sets the top margin of the #GtkPageSetup.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+<parameter name="margin">
+<parameter_description> the new top margin in units of @unit
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the units for @margin
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_remove_accelerator">
+<description>
+Removes an accelerator from @widget, previously installed with
+gtk_widget_add_accelerator().
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> widget to install an accelerator on
+</parameter_description>
+</parameter>
+<parameter name="accel_group">
+<parameter_description> accel group for this widget
+</parameter_description>
+</parameter>
+<parameter name="accel_key">
+<parameter_description> GDK keyval of the accelerator
+</parameter_description>
+</parameter>
+<parameter name="accel_mods">
+<parameter_description> modifier key combination of the accelerator
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether an accelerator was installed and could be removed
+</return>
+</function>
+
+<function name="_gtk_widget_get_aux_info">
+<description>
+Get the #GtkWidgetAuxInfo structure for the widget.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="create">
+<parameter_description> if %TRUE, create the structure if it doesn&apos;t exist
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GtkAuxInfo structure for the widget, or
+%NULL if @create is %FALSE and one doesn&apos;t already exist.
+</return>
+</function>
+
+<function name="gtk_tree_view_get_hover_expand">
+<description>
+Return value: %TRUE if @tree_view is in hover expansion mode
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @tree_view is in hover expansion mode
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_tree_view_column_get_spacing">
+<description>
+Return value: the spacing of @tree_column.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the spacing of @tree_column.
+</return>
+</function>
+
+<function name="gtk_entry_completion_get_model">
+<description>
+Returns %NULL if the model is unset.
+Return value: A #GtkTreeModel, or %NULL if none is currently being used.
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> A #GtkEntryCompletion.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A #GtkTreeModel, or %NULL if none is currently being used.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_text_iter_get_char">
+<description>
+returns 0.
+Return value: a Unicode character, or 0 if @iter is not dereferenceable
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> a Unicode character, or 0 if @iter is not dereferenceable
+</return>
+</function>
+
+<function name="gtk_window_get_role">
+<description>
+Return value: the role of the window if set, or %NULL. The
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> the role of the window if set, or %NULL. The
+returned is owned by the widget and must not be modified
+or freed.
+</return>
+</function>
+
+<function name="gtk_entry_completion_insert_action_markup">
+<description>
+Inserts an action in @completion&apos;s action item list at position @index_
+with markup @markup.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> A #GtkEntryCompletion.
+</parameter_description>
+</parameter>
+<parameter name="index_">
+<parameter_description> The index of the item to insert.
+</parameter_description>
+</parameter>
+<parameter name="markup">
+<parameter_description> Markup of the item to insert.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_key_hash_free">
+<description>
+Destroys a key hash created with gtk_key_hash_new()
+
+</description>
+<parameters>
+<parameter name="key_hash">
+<parameter_description> a #GtkKeyHash
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_widget_new">
+<description>
+Creates a new #GtkFileChooserWidget. This is a file chooser widget that can
+be embedded in custom windows, and it is the same widget that is used by
+#GtkFileChooserDialog.
+
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> Open or save mode for the widget
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkFileChooserWidget
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_notebook_set_window_creation_hook">
+<description>
+Installs a global function used to create a window
+when a detached tab is dropped in an empty area.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="func">
+<parameter_description> the #GtkNotebookWindowCreationFunc, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> user data for @func
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> Destroy notifier for @data, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_frame_get_label">
+<description>
+If the frame&apos;s label widget is a #GtkLabel, returns the
+text in the label widget. (The frame will have a #GtkLabel
+for the label widget if a non-%NULL argument was passed
+to gtk_frame_new().)
+
+
+</description>
+<parameters>
+<parameter name="frame">
+<parameter_description> a #GtkFrame
+</parameter_description>
+</parameter>
+</parameters>
+<return> the text in the label, or %NULL if there
+was no label widget or the lable widget was not
+a #GtkLabel. This string is owned by GTK+ and
+must not be modified or freed.
+</return>
+</function>
+
+<function name="gtk_size_group_set_mode">
+<description>
+Sets the #GtkSizeGroupMode of the size group. The mode of the size
+group determines whether the widgets in the size group should
+all have the same horizontal requisition (%GTK_SIZE_GROUP_MODE_HORIZONTAL)
+all have the same vertical requisition (%GTK_SIZE_GROUP_MODE_VERTICAL),
+or should all have the same requisition in both directions
+(%GTK_SIZE_GROUP_MODE_BOTH).
+
+</description>
+<parameters>
+<parameter name="size_group">
+<parameter_description> a #GtkSizeGroup
+</parameter_description>
+</parameter>
+<parameter name="mode">
+<parameter_description> the mode to set for the size group.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_begin_user_action">
+<description>
+Called to indicate that the buffer operations between here and a
+call to gtk_text_buffer_end_user_action() are part of a single
+user-visible operation. The operations between
+gtk_text_buffer_begin_user_action() and
+gtk_text_buffer_end_user_action() can then be grouped when creating
+an undo stack. #GtkTextBuffer maintains a count of calls to
+gtk_text_buffer_begin_user_action() that have not been closed with
+a call to gtk_text_buffer_end_user_action(), and emits the
+&quot;begin_user_action&quot; and &quot;end_user_action&quot; signals only for the
+outermost pair of calls. This allows you to build user actions
+from other user actions.
+
+The &quot;interactive&quot; buffer mutation functions, such as
+gtk_text_buffer_insert_interactive(), automatically call begin/end
+user action around the buffer operations they perform, so there&apos;s
+no need to add extra calls if you user action consists solely of a
+single call to one of those functions.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_new">
+<description>
+Creates a new #GtkTreeView widget.
+
+
+</description>
+<parameters>
+</parameters>
+<return> A newly created #GtkTreeView widget.
+</return>
+</function>
+
+<function name="gtk_print_job_get_settings">
+<description>
+Gets the #GtkPrintSettings of the print job.
+
+
+</description>
+<parameters>
+<parameter name="job">
+<parameter_description> a #GtkPrintJob
+</parameter_description>
+</parameter>
+</parameters>
+<return> the settings of @job
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_combo_box_get_row_span_column">
+<description>
+Returns: the row span column.
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> A #GtkComboBox
+</parameter_description>
+</parameter>
+</parameters>
+<return> the row span column.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_page_setup_unix_dialog_set_page_setup">
+<description>
+Sets the #GtkPageSetup from which the page setup
+dialog takes its values.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkPageSetupUnixDialog
+</parameter_description>
+</parameter>
+<parameter name="page_setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_ui_manager_ensure_update">
+<description>
+Makes sure that all pending updates to the UI have been completed.
+
+This may occasionally be necessary, since #GtkUIManager updates the
+UI in an idle function. A typical example where this function is
+useful is to enforce that the menubar and toolbar have been added to
+the main window before showing it:
+&amp;lt;informalexample&amp;gt;
+&amp;lt;programlisting&amp;gt;
+gtk_container_add (GTK_CONTAINER (window), vbox);
+g_signal_connect (merge, &quot;add_widget&quot;,
+G_CALLBACK (add_widget), vbox);
+gtk_ui_manager_add_ui_from_file (merge, &quot;my-menus&quot;);
+gtk_ui_manager_add_ui_from_file (merge, &quot;my-toolbars&quot;);
+gtk_ui_manager_ensure_update (merge);
+gtk_widget_show (window);
+&amp;lt;/programlisting&amp;gt;
+&amp;lt;/informalexample&amp;gt;
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkUIManager
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_set_widget">
+<description>
+Sets the widget in the header to be @widget. If widget is %NULL, then the
+header button is set with a #GtkLabel set to the title of @tree_column.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> A child #GtkWidget, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_store_swap">
+<description>
+Swaps @a and @b in the same level of @tree_store. Note that this function
+only works with unsorted stores.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="tree_store">
+<parameter_description> A #GtkTreeStore.
+</parameter_description>
+</parameter>
+<parameter name="a">
+<parameter_description> A #GtkTreeIter.
+</parameter_description>
+</parameter>
+<parameter name="b">
+<parameter_description> Another #GtkTreeIter.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_set_reverse">
+<description>
+Sets the value of %GTK_PRINT_SETTINGS_REVERSE.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="reverse">
+<parameter_description> whether to reverse the output
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_view_get_columns">
+<description>
+Return value: the number of columns, or -1
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of columns, or -1
+
+Since: 2.6
+</return>
+</function>
+
+<function name="_gtk_file_chooser_unselect_path">
+<description>
+Unselects the file referred to by @path. An internal
+function. See _gtk_file_chooser_unselect_uri().
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> the filename to path
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_accel_group_disconnect_key">
+<description>
+Removes an accelerator previously installed through
+gtk_accel_group_connect().
+
+</description>
+<parameters>
+<parameter name="accel_group">
+<parameter_description> the accelerator group to install an accelerator in
+</parameter_description>
+</parameter>
+<parameter name="accel_key">
+<parameter_description> key value of the accelerator
+</parameter_description>
+</parameter>
+<parameter name="accel_mods">
+<parameter_description> modifier combination of the accelerator
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if there was an accelerator which could be
+removed, %FALSE otherwise
+</return>
+</function>
+
+<function name="gtk_print_settings_foreach">
+<description>
+Calls @func for each key-value pair of @settings.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> the function to call
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data for @func
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_intersect">
+<description>
+Computes the intersection of a @widget&apos;s area and @area, storing
+the intersection in @intersection, and returns %TRUE if there was
+an intersection. @intersection may be %NULL if you&apos;re only
+interested in whether there was an intersection.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> a rectangle
+</parameter_description>
+</parameter>
+<parameter name="intersection">
+<parameter_description> rectangle to store intersection of @widget and @area
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if there was an intersection
+</return>
+</function>
+
+<function name="gtk_image_new_from_animation">
+<description>
+Creates a #GtkImage displaying the given animation.
+The #GtkImage does not assume a reference to the
+animation; you still need to unref it if you own references.
+#GtkImage will add its own reference rather than adopting yours.
+
+Note that the animation frames are shown using a timeout with
+#G_PRIORITY_DEFAULT. When using animations to indicate busyness,
+keep in mind that the animation will only be shown if the main loop
+is not busy with something that has a higher priority.
+
+
+</description>
+<parameters>
+<parameter name="animation">
+<parameter_description> an animation
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkImage widget
+</return>
+</function>
+
+<function name="gtk_style_render_icon">
+<description>
+Renders the icon specified by @source at the given @size
+according to the given parameters and returns the result in a
+pixbuf.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="source">
+<parameter_description> the #GtkIconSource specifying the icon to render
+</parameter_description>
+</parameter>
+<parameter name="direction">
+<parameter_description> a text direction
+</parameter_description>
+</parameter>
+<parameter name="state">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size to render the icon at. A size of (GtkIconSize)-1
+means render at the size of the source and don&apos;t scale.
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> a style detail
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-created #GdkPixbuf containing the rendered icon
+</return>
+</function>
+
+<function name="gtk_box_get_homogeneous">
+<description>
+Return value: %TRUE if the box is homogeneous.
+
+</description>
+<parameters>
+<parameter name="box">
+<parameter_description> a #GtkBox
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the box is homogeneous.
+</return>
+</function>
+
+<function name="gtk_target_list_add">
+<description>
+Appends another target to a #GtkTargetList.
+
+</description>
+<parameters>
+<parameter name="list">
+<parameter_description> a #GtkTargetList
+</parameter_description>
+</parameter>
+<parameter name="target">
+<parameter_description> the interned atom representing the target
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> the flags for this target
+</parameter_description>
+</parameter>
+<parameter name="info">
+<parameter_description> an ID that will be passed back to the application
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkLinkButton">
+<description>
+The URI bound to this button.
+
+Since: 2.10
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_set_new">
+<description>
+Creates a new #GtkIconSet. A #GtkIconSet represents a single icon
+in various sizes and widget states. It can provide a #GdkPixbuf
+for a given size and state on request, and automatically caches
+some of the rendered #GdkPixbuf objects.
+
+Normally you would use gtk_widget_render_icon() instead of
+using #GtkIconSet directly. The one case where you&apos;d use
+#GtkIconSet is to create application-specific icon sets to place in
+a #GtkIconFactory.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkIconSet
+</return>
+</function>
+
+<function name="gtk_file_selection_set_filename">
+<description>
+Sets a default path for the file requestor. If @filename includes a
+directory path, then the requestor will open with that path as its
+current working directory.
+
+This has the consequence that in order to open the requestor with a
+working directory and an empty filename, @filename must have a trailing
+directory separator.
+
+The encoding of @filename is preferred GLib file name encoding, which
+may not be UTF-8. See g_filename_from_utf8().
+
+</description>
+<parameters>
+<parameter name="filesel">
+<parameter_description> a #GtkFileSelection.
+</parameter_description>
+</parameter>
+<parameter name="filename">
+<parameter_description> a string to set as the default file name.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_viewport_get_vadjustment">
+<description>
+Return value: the vertical adjustment of @viewport.
+
+</description>
+<parameters>
+<parameter name="viewport">
+<parameter_description> a #GtkViewport.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the vertical adjustment of @viewport.
+</return>
+</function>
+
+<function name="gtk_recent_chooser_set_show_icons">
+<description>
+Sets whether @chooser should show an icon near the resource when
+displaying it.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+<parameter name="show_icons">
+<parameter_description> whether to show an icon near the resource
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_selection_select_range">
+<description>
+Selects a range of nodes, determined by @start_path and @end_path inclusive.
+@selection must be set to #GTK_SELECTION_MULTIPLE mode.
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> A #GtkTreeSelection.
+</parameter_description>
+</parameter>
+<parameter name="start_path">
+<parameter_description> The initial node of the range.
+</parameter_description>
+</parameter>
+<parameter name="end_path">
+<parameter_description> The final node of the range.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_theme_get_icon_sizes">
+<description>
+Return value: An newly allocated array describing the sizes at
+
+</description>
+<parameters>
+<parameter name="icon_theme">
+<parameter_description> a #GtkIconTheme
+</parameter_description>
+</parameter>
+<parameter name="icon_name">
+<parameter_description> the name of an icon
+</parameter_description>
+</parameter>
+</parameters>
+<return> An newly allocated array describing the sizes at
+which the icon is available. The array should be freed with g_free()
+when it is no longer needed.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_text_iter_backward_sentence_starts">
+<description>
+Calls gtk_text_iter_backward_sentence_start() up to @count times,
+or until it returns %FALSE. If @count is negative, moves forward
+instead of backward.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> number of sentences to move
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter moved and is not the end iterator
+</return>
+</function>
+
+<function name="gtk_recent_chooser_select_all">
+<description>
+Selects all the items inside @chooser, if the @chooser supports
+multiple selection.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_set_opacity">
+<description>
+Request the windowing system to make @window partially transparent,
+with opacity 0 being fully transparent and 1 fully opaque. (Values
+of the opacity parameter are clamped to the [0,1] range.) On X11
+this has any effect only on X screens with a compositing manager
+running. See gtk_widget_is_composited(). On Windows it should work
+always.
+
+Note that setting a window&apos;s opacity after the window has been
+shown causes it to flicker once on Windows.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="opacity">
+<parameter_description> desired opacity, between 0 and 1
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_set_default_source">
+<description>
+Sets the value of %GTK_PRINT_SETTINGS_DEFAULT_SOURCE.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="default_source">
+<parameter_description> the default source
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_file_chooser_remove_shortcut_folder">
+<description>
+Removes a folder from the shortcut folders in a file chooser. Internal
+function, see gtk_file_chooser_remove_shortcut_folder().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> path of the folder to remove
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the folder could be removed successfully, %FALSE
+otherwise.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tree_model_get_value">
+<description>
+Sets initializes and sets @value to that at @column. When done with @value,
+g_value_unset() needs to be called to free any allocated memory.
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> The #GtkTreeIter.
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> The column to lookup the value at.
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> An empty #GValue to set.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_delete">
+<description>
+Deletes text between @start and @end. The order of @start and @end
+is not actually relevant; gtk_text_buffer_delete() will reorder
+them. This function actually emits the &quot;delete_range&quot; signal, and
+the default handler of that signal deletes the text. Because the
+buffer is modified, all outstanding iterators become invalid after
+calling this function; however, the @start and @end will be
+re-initialized to point to the location where text was deleted.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> a position in @buffer
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> another position in @buffer
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_path_get_depth">
+<description>
+Return value: The depth of @path
+
+</description>
+<parameters>
+<parameter name="path">
+<parameter_description> A #GtkTreePath.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The depth of @path
+</return>
+</function>
+
+<function name="gtk_image_set_from_file">
+<description>
+See gtk_image_new_from_file() for details.
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GtkImage
+</parameter_description>
+</parameter>
+<parameter name="filename">
+<parameter_description> a filename or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_selection_add_targets">
+<description>
+Prepends a table of targets to the list of supported targets
+for a given widget and selection.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="selection">
+<parameter_description> the selection
+</parameter_description>
+</parameter>
+<parameter name="targets">
+<parameter_description> a table of targets to add
+</parameter_description>
+</parameter>
+<parameter name="ntargets">
+<parameter_description> number of entries in @targets
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_get_current_event">
+<description>
+Obtains a copy of the event currently being processed by GTK+. For
+example, if you get a &quot;clicked&quot; signal from #GtkButton, the current
+event will be the #GdkEventButton that triggered the &quot;clicked&quot;
+signal. The returned event must be freed with gdk_event_free().
+If there is no current event, the function returns %NULL.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a copy of the current event, or %NULL if no current event.
+</return>
+</function>
+
+<function name="gtk_target_table_new_from_list">
+<description>
+This function creates an #GtkTargetEntry array that contains the
+same targets as the passed %list. The returned table is newly
+allocated and should be freed using gtk_target_table_free() when no
+longer needed.
+
+
+</description>
+<parameters>
+<parameter name="list">
+<parameter_description> a #GtkTargetList
+</parameter_description>
+</parameter>
+<parameter name="n_targets">
+<parameter_description> return location for the number ot targets in the table
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new table.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_notebook_popup_disable">
+<description>
+Disables the popup menu.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_set_new_from_pixbuf">
+<description>
+Creates a new #GtkIconSet with @pixbuf as the default/fallback
+source image. If you don&apos;t add any additional #GtkIconSource to the
+icon set, all variants of the icon will be created from @pixbuf,
+using scaling, pixelation, etc. as required to adjust the icon size
+or make the icon look insensitive/prelighted.
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> a #GdkPixbuf
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkIconSet
+</return>
+</function>
+
+<function name="_gtk_text_btree_validate">
+<description>
+Validate a single contiguous invalid region of a #GtkTextBTree for
+a given view.
+
+
+</description>
+<parameters>
+<parameter name="tree">
+<parameter_description> a #GtkTextBTree
+</parameter_description>
+</parameter>
+<parameter name="view_id">
+<parameter_description> view id
+</parameter_description>
+</parameter>
+<parameter name="max_pixels">
+<parameter_description> the maximum number of pixels to validate. (No more
+than one paragraph beyond this limit will be validated)
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> location to store starting y coordinate of validated region
+</parameter_description>
+</parameter>
+<parameter name="old_height">
+<parameter_description> location to store old height of validated region
+</parameter_description>
+</parameter>
+<parameter name="new_height">
+<parameter_description> location to store new height of validated region
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a region has been validated, %FALSE if the
+entire tree was already valid.
+</return>
+</function>
+
+<function name="gtk_text_iter_set_offset">
+<description>
+Sets @iter to point to @char_offset. @char_offset counts from the start
+of the entire text buffer, starting with 0.
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="char_offset">
+<parameter_description> a character number
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_set_search_position_func">
+<description>
+Sets the function to use when positioning the seach dialog.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> the function to use to position the search dialog, or %NULL
+to use the default search position function
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> user data to pass to @func, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> Destroy notifier for @data, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_convert_tree_to_widget_coords">
+<description>
+Converts tree coordinates (coordinates in full scrollable area of the tree)
+to widget coordinates.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="tx">
+<parameter_description> X coordinate relative to the tree
+</parameter_description>
+</parameter>
+<parameter name="ty">
+<parameter_description> Y coordinate relative to the tree
+</parameter_description>
+</parameter>
+<parameter name="wx">
+<parameter_description> return location for widget X coordinate
+</parameter_description>
+</parameter>
+<parameter name="wy">
+<parameter_description> return location for widget Y coordinate
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_cell_renderer_stop_editing">
+<description>
+Informs the cell renderer that the editing is stopped.
+If @canceled is %TRUE, the cell renderer will emit the
+#GtkCellRenderer::editing-canceled signal.
+
+This function should be called by cell renderer implementations
+in response to the #GtkCellEditable::editing-done signal of
+#GtkCellEditable.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="cell">
+<parameter_description> A #GtkCellRenderer
+</parameter_description>
+</parameter>
+<parameter name="canceled">
+<parameter_description> %TRUE if the editing has been canceled
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_set_default_icon_list">
+<description>
+Sets an icon list to be used as fallback for windows that haven&apos;t
+had gtk_window_set_icon_list() called on them to set up a
+window-specific icon list. This function allows you to set up the
+icon for all windows in your app at once.
+
+See gtk_window_set_icon_list() for more details.
+
+
+</description>
+<parameters>
+<parameter name="list">
+<parameter_description> a list of #GdkPixbuf
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_info_is_local">
+<description>
+Checks whether the resource is local or not by looking at the
+scheme of its URI.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GtkRecentInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the resource is local.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_clipboard_set_image">
+<description>
+Sets the contents of the clipboard to the given #GdkPixbuf.
+GTK+ will take responsibility for responding for requests
+for the image, and for converting the image into the
+requested format.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard object
+</parameter_description>
+</parameter>
+<parameter name="pixbuf">
+<parameter_description> a #GdkPixbuf
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tool_item_get_homogeneous">
+<description>
+Return value: %TRUE if the item is the same size as other homogeneous
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem:
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the item is the same size as other homogeneous
+item.s
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_image_menu_item_new_from_stock">
+<description>
+Creates a new #GtkImageMenuItem containing the image and text from a
+stock item. Some stock ids have preprocessor macros like #GTK_STOCK_OK
+and #GTK_STOCK_APPLY.
+
+If you want this menu item to have changeable accelerators, then pass in
+%NULL for accel_group. Next call gtk_menu_item_set_accel_path() with an
+appropriate path for the menu item, use gtk_stock_lookup() to look up the
+standard accelerator for the stock item, and if one is found, call
+gtk_accel_map_add_entry() to register it.
+
+</description>
+<parameters>
+<parameter name="stock_id">
+<parameter_description> the name of the stock item.
+</parameter_description>
+</parameter>
+<parameter name="accel_group">
+<parameter_description> the #GtkAccelGroup to add the menu items accelerator to,
+or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkImageMenuItem.
+</return>
+</function>
+
+<function name="gtk_item_factory_from_widget">
+<description>
+Obtains the item factory from which a widget was created.
+
+Deprecated: 2.4
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a widget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the item factory from which @widget was created, or %NULL
+</return>
+</function>
+
+<function name="gtk_icon_factory_new">
+<description>
+Creates a new #GtkIconFactory. An icon factory manages a collection
+of #GtkIconSet&amp;lt;!-- --&amp;gt;s; a #GtkIconSet manages a set of variants of a
+particular icon (i.e. a #GtkIconSet contains variants for different
+sizes and widget states). Icons in an icon factory are named by a
+stock ID, which is a simple string identifying the icon. Each
+#GtkStyle has a list of #GtkIconFactory&amp;lt;!-- --&amp;gt;s derived from the current
+theme; those icon factories are consulted first when searching for
+an icon. If the theme doesn&apos;t set a particular icon, GTK+ looks for
+the icon in a list of default icon factories, maintained by
+gtk_icon_factory_add_default() and
+gtk_icon_factory_remove_default(). Applications with icons should
+add a default icon factory with their icons, which will allow
+themes to override the icons for the application.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkIconFactory
+</return>
+</function>
+
+<function name="gtk_widget_queue_shallow_draw">
+<description>
+Like gtk_widget_queue_draw(), but only windows owned
+by @widget are invalidated.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_status_icon_set_tooltip">
+<description>
+Sets the tooltip of the status icon.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="status_icon">
+<parameter_description> a #GtkStatusIcon
+</parameter_description>
+</parameter>
+<parameter name="tooltip_text">
+<parameter_description> the tooltip text, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_filter_add_age">
+<description>
+Adds a rule that allows resources based on their age - that is, the number
+of days elapsed since they were last modified.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> a #GtkRecentFilter
+</parameter_description>
+</parameter>
+<parameter name="days">
+<parameter_description> number of days
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_combo_box_new">
+<description>
+Creates a new empty #GtkComboBox.
+
+
+</description>
+<parameters>
+</parameters>
+<return> A new #GtkComboBox.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_print_settings_new">
+<description>
+Creates a new #GtkPrintSettings object.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkPrintSettings object
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_text_iter_get_line_index">
+<description>
+Return value: distance from start of line, in bytes
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> distance from start of line, in bytes
+</return>
+</function>
+
+<function name="gtk_tree_model_iter_n_children">
+<description>
+Return value: The number of children of @iter.
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> The #GtkTreeIter, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The number of children of @iter.
+</return>
+</function>
+
+<function name="gtk_recent_chooser_get_current_item">
+<description>
+Gets the #GtkRecentInfo currently selected by @chooser.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GtkRecentInfo. Use gtk_recent_info_unref() when
+when you have finished using it.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_image_set_from_image">
+<description>
+See gtk_image_new_from_image() for details.
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GtkImage
+</parameter_description>
+</parameter>
+<parameter name="gdk_image">
+<parameter_description> a #GdkImage or %NULL
+</parameter_description>
+</parameter>
+<parameter name="mask">
+<parameter_description> a #GdkBitmap or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_page_setup_get_top_margin">
+<description>
+Gets the top margin in units of @unit.
+
+
+</description>
+<parameters>
+<parameter name="setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the unit for the return value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the top margin
+
+Since: 2.10
+</return>
+</function>
+
+<function name="GtkToggleToolButton">
+<description>
+Emitted whenever the toggle tool button changes state.
+
+</description>
+<parameters>
+<parameter name="toggle_tool_button">
+<parameter_description> the object that emitted the signal
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_selection_data_targets_include_image">
+<description>
+Given a #GtkSelectionData object holding a list of targets,
+determines if any of the targets in @targets can be used to
+provide a #GdkPixbuf.
+
+
+</description>
+<parameters>
+<parameter name="selection_data">
+<parameter_description> a #GtkSelectionData object
+</parameter_description>
+</parameter>
+<parameter name="writable">
+<parameter_description> whether to accept only targets for which GTK+ knows
+how to convert a pixbuf into the format
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @selection_data holds a list of targets,
+and a suitable target for images is included, otherwise %FALSE.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_color_selection_palette_from_string">
+<description>
+Parses a color palette string; the string is a colon-separated
+list of color names readable by gdk_color_parse().
+
+
+</description>
+<parameters>
+<parameter name="str">
+<parameter_description> a string encoding a color palette.
+</parameter_description>
+</parameter>
+<parameter name="colors">
+<parameter_description> return location for allocated array of #GdkColor.
+</parameter_description>
+</parameter>
+<parameter name="n_colors">
+<parameter_description> return location for length of array.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a palette was successfully parsed.
+</return>
+</function>
+
+<function name="gtk_about_dialog_get_name">
+<description>
+Return value: The program name. The string is owned by the about
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> The program name. The string is owned by the about
+dialog and must not be modified.
+
+Since: 2.6
+
+@Deprecated: 2.12: Use gtk_about_dialog_get_program_name() instead.
+</return>
+</function>
+
+<function name="gtk_scrolled_window_get_policy">
+<description>
+Retrieves the current policy values for the horizontal and vertical
+scrollbars. See gtk_scrolled_window_set_policy().
+
+</description>
+<parameters>
+<parameter name="scrolled_window">
+<parameter_description> a #GtkScrolledWindow
+</parameter_description>
+</parameter>
+<parameter name="hscrollbar_policy">
+<parameter_description> location to store the policy for the horizontal scrollbar, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="vscrollbar_policy">
+<parameter_description> location to store the policy for the horizontal scrollbar, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_class_path">
+<description>
+Same as gtk_widget_path(), but always uses the name of a widget&apos;s type,
+never uses a custom name set with gtk_widget_set_name().
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="path_length">
+<parameter_description> location to store the length of the class path, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> location to store the class path as an allocated string, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="path_reversed">
+<parameter_description> location to store the reverse class path as an allocated
+string, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_spin_button_set_value">
+<description>
+Set the value of @spin_button.
+
+</description>
+<parameters>
+<parameter name="spin_button">
+<parameter_description> a #GtkSpinButton
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> the new value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_builder_add_from_string">
+<description>
+Parses a string containing a &amp;lt;link linkend=&quot;BUILDER-UI&quot;&amp;gt;GtkBuilder
+UI definition&amp;lt;/link&amp;gt; and merges it with the current contents of @builder.
+
+
+</description>
+<parameters>
+<parameter name="builder">
+<parameter_description> a #GtkBuilder
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> the string to parse
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the length of @buffer (may be -1 if @buffer is nul-terminated)
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for an error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> A positive value on success, 0 if an error occurred
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_list_store_append">
+<description>
+Appends a new row to @list_store. @iter will be changed to point to this new
+row. The row will be empty after this function is called. To fill in
+values, you need to call gtk_list_store_set() or gtk_list_store_set_value().
+
+
+</description>
+<parameters>
+<parameter name="list_store">
+<parameter_description> A #GtkListStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> An unset #GtkTreeIter to set to the appended row
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_get_fixed_width">
+<description>
+Gets the fixed width of the column. This value is only meaning may not be
+the actual width of the column on the screen, just what is requested.
+
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> a #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+</parameters>
+<return> the fixed width of the column
+</return>
+</function>
+
+<function name="gtk_recent_info_get_uri_display">
+<description>
+Gets a displayable version of the resource&apos;s URI. If the resource
+is local, it returns a local path; if the resource is not local,
+it returns the UTF-8 encoded content of gtk_recent_info_get_uri().
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GtkRecentInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> a UTF-8 string containing the resource&apos;s URI or %NULL
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_notebook_set_tab_border">
+<description>
+Sets the width the border around the tab labels
+in a notebook. This is equivalent to calling
+gtk_notebook_set_tab_hborder (@notebook, @border_width) followed
+by gtk_notebook_set_tab_vborder (@notebook, @border_width).
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="border_width">
+<parameter_description> width of the border around the tab labels.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_set_dither">
+<description>
+Sets the value of %GTK_PRINT_SETTINGS_DITHER.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="dither">
+<parameter_description> the dithering that is used
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_propagate_event">
+<description>
+Sends an event to a widget, propagating the event to parent widgets
+if the event remains unhandled. Events received by GTK+ from GDK
+normally begin in gtk_main_do_event(). Depending on the type of
+event, existence of modal dialogs, grabs, etc., the event may be
+propagated; if so, this function is used. gtk_propagate_event()
+calls gtk_widget_event() on each widget it decides to send the
+event to. So gtk_widget_event() is the lowest-level function; it
+simply emits the &quot;event&quot; and possibly an event-specific signal on a
+widget. gtk_propagate_event() is a bit higher-level, and
+gtk_main_do_event() is the highest level.
+
+All that said, you most likely don&apos;t want to use any of these
+functions; synthesizing events is rarely needed. Consider asking on
+the mailing list for better ways to achieve your goals. For
+example, use gdk_window_invalidate_rect() or
+gtk_widget_queue_draw() instead of making up expose events.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> an event
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_buildable_get_internal_child">
+<description>
+Get the internal child called @childname of the @buildable object.
+
+
+</description>
+<parameters>
+<parameter name="buildable">
+<parameter_description> a #GtkBuildable
+</parameter_description>
+</parameter>
+<parameter name="builder">
+<parameter_description> a #GtkBuilder
+</parameter_description>
+</parameter>
+<parameter name="childname">
+<parameter_description> name of child
+</parameter_description>
+</parameter>
+</parameters>
+<return> the internal child of the buildable object
+
+Since: 2.12
+</return>
+</function>
+
+<function name="GtkCellRendererToggle">
+<description>
+The ::toggled signal is emitted when the cell is toggled.
+
+</description>
+<parameters>
+<parameter name="cell_renderer">
+<parameter_description> the object which received the signal
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> string representation of #GtkTreePath describing the
+event location
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_set_max_length">
+<description>
+Sets the maximum allowed length of the contents of the widget. If
+the current contents are longer than the given length, then they
+will be truncated to fit.
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+<parameter name="max">
+<parameter_description> the maximum length of the entry, or 0 for no maximum.
+(other than the maximum length of entries.) The value passed in will
+be clamped to the range 0-65536.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_manager_get_limit">
+<description>
+Gets the maximum number of items that the gtk_recent_manager_get_items()
+function should return.
+
+
+</description>
+<parameters>
+<parameter name="manager">
+<parameter_description> a #GtkRecentManager
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of items to return, or -1 for every item.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_button_set_alignment">
+<description>
+Sets the alignment of the child. This property has no effect unless
+the child is a #GtkMisc or a #GtkAligment.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkButton
+</parameter_description>
+</parameter>
+<parameter name="xalign">
+<parameter_description> the horizontal position of the child, 0.0 is left aligned,
+1.0 is right aligned
+</parameter_description>
+</parameter>
+<parameter name="yalign">
+<parameter_description> the vertical position of the child, 0.0 is top aligned,
+1.0 is bottom aligned
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_hsv_get_metrics">
+<description>
+Queries the size and ring width of an HSV color selector.
+
+</description>
+<parameters>
+<parameter name="hsv">
+<parameter_description> An HSV color selector.
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> Return value for the diameter of the hue ring.
+</parameter_description>
+</parameter>
+<parameter name="ring_width">
+<parameter_description> Return value for the width of the hue ring.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_get_pixels_above_lines">
+<description>
+Gets the default number of pixels to put above paragraphs.
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+</parameters>
+<return> default number of pixels above paragraphs
+</return>
+</function>
+
+<function name="gtk_font_button_get_use_font">
+<description>
+Returns: whether the selected font is used in the label.
+
+</description>
+<parameters>
+<parameter name="font_button">
+<parameter_description> a #GtkFontButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the selected font is used in the label.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_link_button_new_with_label">
+<description>
+Creates a new #GtkLinkButton containing a label.
+
+
+</description>
+<parameters>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="label">
+<parameter_description> the text of the button
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new link button widget.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_menu_tool_button_new_from_stock">
+<description>
+Creates a new #GtkMenuToolButton.
+The new #GtkMenuToolButton will contain an icon and label from
+the stock item indicated by @stock_id.
+
+
+</description>
+<parameters>
+<parameter name="stock_id">
+<parameter_description> the name of a stock item
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GtkMenuToolButton
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_about_dialog_get_website">
+<description>
+Return value: The website URL. The string is owned by the about
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> The website URL. The string is owned by the about
+dialog and must not be modified.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_action_group_set_translate_func">
+<description>
+Sets a function to be used for translating the @label and @tooltip of
+#GtkActionGroupEntry&amp;lt;!-- --&amp;gt;s added by gtk_action_group_add_actions().
+
+If you&apos;re using gettext(), it is enough to set the translation domain
+with gtk_action_group_set_translation_domain().
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action_group">
+<parameter_description> a #GtkActionGroup
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> a #GtkTranslateFunc
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to be passed to @func and @notify
+</parameter_description>
+</parameter>
+<parameter name="notify">
+<parameter_description> a #GtkDestroyNotify function to be called when @action_group is
+destroyed and when the translation function is changed again
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_alignment_set_padding">
+<description>
+Sets the padding on the different sides of the widget.
+The padding adds blank space to the sides of the widget. For instance,
+this can be used to indent the child widget towards the right by adding
+padding on the left.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="alignment">
+<parameter_description> a #GtkAlignment
+</parameter_description>
+</parameter>
+<parameter name="padding_top">
+<parameter_description> the padding at the top of the widget
+</parameter_description>
+</parameter>
+<parameter name="padding_bottom">
+<parameter_description> the padding at the bottom of the widget
+</parameter_description>
+</parameter>
+<parameter name="padding_left">
+<parameter_description> the padding at the left of the widget
+</parameter_description>
+</parameter>
+<parameter name="padding_right">
+<parameter_description> the padding at the right of the widget.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_store_set">
+<description>
+Sets the value of one or more cells in the row referenced by @iter.
+The variable argument list should contain integer column numbers,
+each column number followed by the value to be set.
+The list is terminated by a -1. For example, to set column 0 with type
+%G_TYPE_STRING to &quot;Foo&quot;, you would write
+&amp;lt;literal&amp;gt;gtk_tree_store_set (store, iter, 0, &quot;Foo&quot;, -1)&amp;lt;/literal&amp;gt;.
+
+</description>
+<parameters>
+<parameter name="tree_store">
+<parameter_description> A #GtkTreeStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> A valid #GtkTreeIter for the row being modified
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> pairs of column number and value, terminated with -1
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_selection_unselect_range">
+<description>
+Unselects a range of nodes, determined by @start_path and @end_path
+inclusive.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> A #GtkTreeSelection.
+</parameter_description>
+</parameter>
+<parameter name="start_path">
+<parameter_description> The initial node of the range.
+</parameter_description>
+</parameter>
+<parameter name="end_path">
+<parameter_description> The initial node of the range.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_completion_get_minimum_key_length">
+<description>
+Return value: The currently used minimum key length.
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> A #GtkEntryCompletion.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The currently used minimum key length.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_binding_parse_binding">
+<description>
+Deprecated as public API, used only internally.
+
+
+</description>
+<parameters>
+<parameter name="scanner">
+<parameter_description> GtkRC scanner
+</parameter_description>
+</parameter>
+</parameters>
+<return> expected token upon errors, %G_TOKEN_NONE on success.
+</return>
+</function>
+
+<function name="gtk_text_buffer_delete_mark_by_name">
+<description>
+Deletes the mark named @name; the mark must exist. See
+gtk_text_buffer_delete_mark() for details.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> name of a mark in @buffer
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_get_no_show_all">
+<description>
+Return value: the current value of the &quot;no-show-all&quot; property.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current value of the &quot;no-show-all&quot; property.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_paint_resize_grip">
+<description>
+Draws a resize grip in the given rectangle on @window using the given
+parameters.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> clip rectangle, or %NULL if the
+output should not be clipped
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> a style detail (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="edge">
+<parameter_description> the edge in which to draw the resize grip
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x origin of the rectangle in which to draw the resize grip
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y origin of the rectangle in which to draw the resize grip
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the rectangle in which to draw the resize grip
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the rectangle in which to draw the resize grip
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_attributes_unref">
+<description>
+Decrements the reference count on @values, freeing the structure
+if the reference count reaches 0.
+
+</description>
+<parameters>
+<parameter name="values">
+<parameter_description> a #GtkTextAttributes
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_about_dialog_get_artists">
+<description>
+Return value: A %NULL-terminated string array containing
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> A %NULL-terminated string array containing
+the artists. The array is owned by the about dialog
+and must not be modified.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_print_settings_get_paper_height">
+<description>
+Gets the value of %GTK_PRINT_SETTINGS_PAPER_HEIGHT,
+converted to @unit.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the unit for the return value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the paper height, in units of @unit
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_drag_dest_row_drop_possible">
+<description>
+Determines whether a drop is possible before the given @dest_path,
+at the same depth as @dest_path. i.e., can we drop the data in
+@selection_data at that location. @dest_path does not have to
+exist; the return value will almost certainly be %FALSE if the
+parent of @dest_path doesn&apos;t exist, though.
+
+
+</description>
+<parameters>
+<parameter name="drag_dest">
+<parameter_description> a #GtkTreeDragDest
+</parameter_description>
+</parameter>
+<parameter name="dest_path">
+<parameter_description> destination row
+</parameter_description>
+</parameter>
+<parameter name="selection_data">
+<parameter_description> the data being dragged
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a drop is possible before @dest_path
+</return>
+</function>
+
+<function name="gtk_menu_item_get_right_justified">
+<description>
+Gets whether the menu item appears justified at the right
+side of the menu bar.
+
+
+</description>
+<parameters>
+<parameter name="menu_item">
+<parameter_description> a #GtkMenuItem
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the menu item will appear at the
+far right if added to a menu bar.
+</return>
+</function>
+
+<function name="gtk_text_buffer_remove_tag">
+<description>
+Emits the &quot;remove_tag&quot; signal. The default handler for the signal
+removes all occurrences of @tag from the given range. @start and
+@end don&apos;t have to be in order.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="tag">
+<parameter_description> a #GtkTextTag
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> one bound of range to be untagged
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> other bound of range to be untagged
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_rc_get_module_dir">
+<description>
+return value: the directory. (Must be freed with g_free())
+
+</description>
+<parameters>
+</parameters>
+<return> the directory. (Must be freed with g_free())
+</return>
+</function>
+
+<function name="gtk_tree_path_is_descendant">
+<description>
+Return value: %TRUE if @ancestor contains @path somewhere below it
+
+</description>
+<parameters>
+<parameter name="path">
+<parameter_description> a #GtkTreePath
+</parameter_description>
+</parameter>
+<parameter name="ancestor">
+<parameter_description> another #GtkTreePath
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @ancestor contains @path somewhere below it
+</return>
+</function>
+
+<function name="gtk_color_button_set_title">
+<description>
+Sets the title for the color selection dialog.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="color_button">
+<parameter_description> a #GtkColorButton
+</parameter_description>
+</parameter>
+<parameter name="title">
+<parameter_description> String containing new window title.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_binding_entry_add_signall">
+<description>
+Deprecated.
+
+</description>
+<parameters>
+<parameter name="binding_set">
+<parameter_description> binding set to add a signal to
+</parameter_description>
+</parameter>
+<parameter name="keyval">
+<parameter_description> key value
+</parameter_description>
+</parameter>
+<parameter name="modifiers">
+<parameter_description> key modifier
+</parameter_description>
+</parameter>
+<parameter name="signal_name">
+<parameter_description> signal name to be bound
+</parameter_description>
+</parameter>
+<parameter name="binding_args">
+<parameter_description> list of #GtkBindingArg signal arguments
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_get_action">
+<description>
+Gets the type of operation that the file chooser is performing; see
+gtk_file_chooser_set_action().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> the action that the file selector is performing
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_print_operation_set_track_print_status">
+<description>
+If track_status is %TRUE, the print operation will try to continue report
+on the status of the print job in the printer queues and printer. This
+can allow your application to show things like &quot;out of paper&quot; issues,
+and when the print job actually reaches the printer.
+
+This function is often implemented using some form of polling, so it should
+not be enabled unless needed.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="op">
+<parameter_description> a #GtkPrintOperation
+</parameter_description>
+</parameter>
+<parameter name="track_status">
+<parameter_description> %TRUE to track status after printing
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_set_icon_from_file">
+<description>
+Sets the icon for @window.
+Warns on failure if @err is %NULL.
+
+This function is equivalent to calling gtk_window_set_icon()
+with a pixbuf created by loading the image from @filename.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="filename">
+<parameter_description> location of icon file
+</parameter_description>
+</parameter>
+<parameter name="err">
+<parameter_description> location to store error, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if setting the icon succeeded.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_tree_store_move_after">
+<description>
+Moves @iter in @tree_store to the position after @position. @iter and
+@position should be in the same level. Note that this function only
+works with unsorted stores. If @position is %NULL, @iter will be moved
+to the start of the level.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="tree_store">
+<parameter_description> A #GtkTreeStore.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> A #GtkTreeIter.
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> A #GtkTreeIter.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_set_bool">
+<description>
+Sets @key to a boolean value.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> a boolean
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_completion_get_completion_prefix">
+<description>
+Get the original text entered by the user that triggered
+the completion or %NULL if there&apos;s no completion ongoing.
+
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> a #GtkEntryCompletion
+</parameter_description>
+</parameter>
+</parameters>
+<return> the prefix for the current completion
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_text_layout_move_iter_to_x">
+<description>
+Keeping the iterator on the same line of the layout, move it to the
+specified X coordinate. The lines of a wrapped paragraph are
+treated as distinct for this operation.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkTextLayout
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> X coordinate
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_selection_remove_all">
+<description>
+Removes all handlers and unsets ownership of all
+selections for a widget. Called when widget is being
+destroyed. This function will not generally be
+called by applications.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_get_selection_bounds">
+<description>
+Gets the selected range of characters in the label, returning %TRUE
+if there&apos;s a selection.
+
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> return location for start of selection, as a character offset
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> return location for end of selection, as a character offset
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if selection is non-empty
+</return>
+</function>
+
+<function name="gtk_print_settings_get_media_type">
+<description>
+Gets the value of %GTK_PRINT_SETTINGS_MEDIA_TYPE.
+
+The set of media types is defined in PWG 5101.1-2002 PWG.
+&amp;lt;!-- FIXME link here --&amp;gt;
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return> the media type
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_dialog_get_has_separator">
+<description>
+Accessor for whether the dialog has a separator.
+
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the dialog has a separator
+</return>
+</function>
+
+<function name="gtk_tree_view_column_get_cell_renderers">
+<description>
+Return value: A list of #GtkCellRenderers
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+</parameters>
+<return> A list of #GtkCellRenderers
+</return>
+</function>
+
+<function name="gtk_toolbar_remove_space">
+<description>
+Removes a space from the specified position.
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar.
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> the index of the space to remove.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_socket_add_grabbed_key">
+<description>
+@socket: a #GtkSocket
+@keyval: a key
+@modifiers: modifiers for the key
+
+Called from the GtkSocket platform-specific backend when the
+corresponding plug has told the socket to grab a key.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_drag_dest_drag_data_received">
+<description>
+Asks the #GtkTreeDragDest to insert a row before the path @dest,
+deriving the contents of the row from @selection_data. If @dest is
+outside the tree so that inserting before it is impossible, %FALSE
+will be returned. Also, %FALSE may be returned if the new row is
+not created for some model-specific reason. Should robustly handle
+a @dest no longer found in the model!
+
+
+</description>
+<parameters>
+<parameter name="drag_dest">
+<parameter_description> a #GtkTreeDragDest
+</parameter_description>
+</parameter>
+<parameter name="dest">
+<parameter_description> row to drop in front of
+</parameter_description>
+</parameter>
+<parameter name="selection_data">
+<parameter_description> data to drop
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether a new row was created before position @dest
+</return>
+</function>
+
+<function name="gtk_ui_manager_get_toplevels">
+<description>
+Obtains a list of all toplevel widgets of the requested types.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkUIManager
+</parameter_description>
+</parameter>
+<parameter name="types">
+<parameter_description> specifies the types of toplevel widgets to include. Allowed
+types are #GTK_UI_MANAGER_MENUBAR, #GTK_UI_MANAGER_TOOLBAR and
+#GTK_UI_MANAGER_POPUP.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated of all toplevel widgets of the requested
+types.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_icon_view_set_drag_dest_item">
+<description>
+Sets the item that is highlighted for feedback.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> The path of the item to highlight, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> Specifies where to drop, relative to the item
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_buildable_set_buildable_property">
+<description>
+Sets the property name @name to @value on the @buildable object.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="buildable">
+<parameter_description> a #GtkBuildable
+</parameter_description>
+</parameter>
+<parameter name="builder">
+<parameter_description> a #GtkBuilder
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> name of property
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> value of property
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_printer_get_description">
+<description>
+Gets the description of the printer.
+
+
+</description>
+<parameters>
+<parameter name="printer">
+<parameter_description> a #GtkPrinter
+</parameter_description>
+</parameter>
+</parameters>
+<return> the description of @printer
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_image_new_from_icon_set">
+<description>
+Creates a #GtkImage displaying an icon set. Sample stock sizes are
+#GTK_ICON_SIZE_MENU, #GTK_ICON_SIZE_SMALL_TOOLBAR. Instead of using
+this function, usually it&apos;s better to create a #GtkIconFactory, put
+your icon sets in the icon factory, add the icon factory to the
+list of default factories with gtk_icon_factory_add_default(), and
+then use gtk_image_new_from_stock(). This will allow themes to
+override the icon you ship with your application.
+
+The #GtkImage does not assume a reference to the
+icon set; you still need to unref it if you own references.
+#GtkImage will add its own reference rather than adopting yours.
+
+
+</description>
+<parameters>
+<parameter name="icon_set">
+<parameter_description> a #GtkIconSet
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> a stock icon size
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkImage
+</return>
+</function>
+
+<function name="gtk_radio_tool_button_new_from_widget">
+<description>
+Creates a new #GtkRadioToolButton adding it to the same group as @gruup
+
+
+</description>
+<parameters>
+<parameter name="group">
+<parameter_description> An existing #GtkRadioToolButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> The new #GtkRadioToolButton
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_box_set_homogeneous">
+<description>
+Sets the #GtkBox:homogeneous property of @box, controlling
+whether or not all children of @box are given equal space
+in the box.
+
+</description>
+<parameters>
+<parameter name="box">
+<parameter_description> a #GtkBox
+</parameter_description>
+</parameter>
+<parameter name="homogeneous">
+<parameter_description> a boolean value, %TRUE to create equal allotments,
+%FALSE for variable allotments
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_completion_set_inline_selection">
+<description>
+Sets whether it is possible to cycle through the possible completions
+inside the entry.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> a #GtkEntryCompletion
+</parameter_description>
+</parameter>
+<parameter name="inline_selection">
+<parameter_description> %TRUE to do inline selection
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_list_store_remove">
+<description>
+Removes the given row from the list store. After being removed,
+@iter is set to be the next valid row, or invalidated if it pointed
+to the last row in @list_store.
+
+
+</description>
+<parameters>
+<parameter name="list_store">
+<parameter_description> A #GtkListStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> A valid #GtkTreeIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter is valid, %FALSE if not.
+</return>
+</function>
+
+<function name="gtk_color_selection_set_color">
+<description>
+Sets the current color to be @color. The first time this is called, it will
+also set the original color to be @color too.
+
+Deprecated: Use gtk_color_selection_set_current_color() instead.
+
+</description>
+<parameters>
+<parameter name="colorsel">
+<parameter_description> a #GtkColorSelection.
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> an array of 4 doubles specifying the red, green, blue and opacity
+to set the current color to.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_selection_iter_is_selected">
+<description>
+Return value: %TRUE, if @iter is selected
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> A #GtkTreeSelection
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> A valid #GtkTreeIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE, if @iter is selected
+</return>
+</function>
+
+<function name="GtkStatusbar">
+<description>
+Is emitted whenever a new message is popped off a statusbar&apos;s stack.
+
+</description>
+<parameters>
+<parameter name="statusbar">
+<parameter_description> the object which received the signal.
+</parameter_description>
+</parameter>
+<parameter name="context_id">
+<parameter_description> the context id of the relevant message/statusbar.
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the message that was just popped.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_hsv_set_metrics">
+<description>
+Sets the size and ring width of an HSV color selector.
+
+</description>
+<parameters>
+<parameter name="hsv">
+<parameter_description> An HSV color selector.
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> Diameter for the hue ring.
+</parameter_description>
+</parameter>
+<parameter name="ring_width">
+<parameter_description> Width of the hue ring.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tool_item_set_expand">
+<description>
+Sets whether @tool_item is allocated extra space when there
+is more room on the toolbar then needed for the items. The
+effect is that the item gets bigger when the toolbar gets bigger
+and smaller when the toolbar gets smaller.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem:
+</parameter_description>
+</parameter>
+<parameter name="expand">
+<parameter_description> Whether @tool_item is allocated extra space
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_cell_renderer_get_fixed_size">
+<description>
+Fills in @width and @height with the appropriate size of @cell.
+
+</description>
+<parameters>
+<parameter name="cell">
+<parameter_description> A #GtkCellRenderer
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> location to fill in with the fixed width of the widget, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> location to fill in with the fixed height of the widget, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_drag_source_set_icon_pixbuf">
+<description>
+Sets the icon that will be used for drags from a particular widget
+from a #GdkPixbuf. GTK+ retains a reference for @pixbuf and will
+release it when it is no longer needed.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="pixbuf">
+<parameter_description> the #GdkPixbuf for the drag icon
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_set_default_colormap">
+<description>
+Sets the default colormap to use when creating widgets.
+gtk_widget_push_colormap() is a better function to use if
+you only want to affect a few widgets, rather than all widgets.
+
+</description>
+<parameters>
+<parameter name="colormap">
+<parameter_description> a #GdkColormap
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_size_request">
+<description>
+This function is typically used when implementing a #GtkContainer
+subclass. Obtains the preferred size of a widget. The container
+uses this information to arrange its child widgets and decide what
+size allocations to give them with gtk_widget_size_allocate().
+
+You can also call this function from an application, with some
+caveats. Most notably, getting a size request requires the widget
+to be associated with a screen, because font information may be
+needed. Multihead-aware applications should keep this in mind.
+
+Also remember that the size request is not necessarily the size
+a widget will actually be allocated.
+
+See also gtk_widget_get_child_requisition().
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="requisition">
+<parameter_description> a #GtkRequisition to be filled in
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_chooser_get_sort_type">
+<description>
+Gets the value set by gtk_recent_chooser_set_sort_type().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> the sorting order of the @chooser.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_view_set_rubber_banding">
+<description>
+Enables or disables rubber banding in @tree_view. If the selection mode
+is #GTK_SELECTION_MULTIPLE, rubber banding will allow the user to select
+multiple rows by dragging the mouse.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="enable">
+<parameter_description> %TRUE to enable rubber banding
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_link_button_get_uri">
+<description>
+Retrieves the URI set using gtk_link_button_set_uri().
+
+
+</description>
+<parameters>
+<parameter name="link_button">
+<parameter_description> a #GtkLinkButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> a valid URI. The returned string is owned by the link button
+and should not be modified or freed.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_widget_set_no_show_all">
+<description>
+Sets the #GtkWidget:no-show-all property, which determines whether
+calls to gtk_widget_show_all() and gtk_widget_hide_all() will affect
+this widget.
+
+This is mostly for use in constructing widget hierarchies with externally
+controlled visibility, see #GtkUIManager.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="no_show_all">
+<parameter_description> the new value for the &quot;no-show-all&quot; property
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_selection_data_targets_include_uri">
+<description>
+Given a #GtkSelectionData object holding a list of targets,
+determines if any of the targets in @targets can be used to
+provide a list or URIs.
+
+
+</description>
+<parameters>
+<parameter name="selection_data">
+<parameter_description> a #GtkSelectionData object
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @selection_data holds a list of targets,
+and a suitable target for text is included, otherwise %FALSE.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_selection_count_selected_rows">
+<description>
+Return value: The number of rows selected.
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> A #GtkTreeSelection.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The number of rows selected.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_file_chooser_add_shortcut_folder_uri">
+<description>
+Adds a folder URI to be displayed with the shortcut folders in a file
+chooser. Note that shortcut folders do not get saved, as they are provided
+by the application. For example, you can use this to add a
+&quot;file:///usr/share/mydrawprogram/Clipart&quot; folder to the volume list.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> URI of the folder to add
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the folder could be added successfully, %FALSE
+otherwise. In the latter case, the @error will be set as appropriate.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_button_set_label">
+<description>
+Sets the text of the label of the button to @str. This text is
+also used to select the stock item if gtk_button_set_use_stock()
+is used.
+
+This will also clear any previously set labels.
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkButton
+</parameter_description>
+</parameter>
+<parameter name="label">
+<parameter_description> a string
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_manager_set_limit">
+<description>
+Sets the maximum number of item that the gtk_recent_manager_get_items()
+function should return. If @limit is set to -1, then return all the
+items.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="manager">
+<parameter_description> a #GtkRecentManager
+</parameter_description>
+</parameter>
+<parameter name="limit">
+<parameter_description> the maximum number of items to return, or -1.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_get_current_page">
+<description>
+Return value: the index (starting from 0) of the current
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+</parameters>
+<return> the index (starting from 0) of the current
+page in the notebook. If the notebook has no pages, then
+-1 will be returned.
+</return>
+</function>
+
+<function name="gtk_text_view_add_child_at_anchor">
+<description>
+Adds a child widget in the text buffer, at the given @anchor.
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="anchor">
+<parameter_description> a #GtkTextChildAnchor in the #GtkTextBuffer for @text_view
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_set_unref">
+<description>
+Decrements the reference count on @icon_set, and frees memory
+if the reference count reaches 0.
+
+</description>
+<parameters>
+<parameter name="icon_set">
+<parameter_description> a #GtkIconSet
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_accel_group_connect_by_path">
+<description>
+Installs an accelerator in this group, using an accelerator path to look
+up the appropriate key and modifiers (see gtk_accel_map_add_entry()).
+When @accel_group is being activated in response to a call to
+gtk_accel_groups_activate(), @closure will be invoked if the @accel_key and
+@accel_mods from gtk_accel_groups_activate() match the key and modifiers
+for the path.
+
+The signature used for the @closure is that of #GtkAccelGroupActivate.
+
+</description>
+<parameters>
+<parameter name="accel_group">
+<parameter_description> the accelerator group to install an accelerator in
+</parameter_description>
+</parameter>
+<parameter name="accel_path">
+<parameter_description> path used for determining key and modifiers.
+</parameter_description>
+</parameter>
+<parameter name="closure">
+<parameter_description> closure to be executed upon accelerator activation
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_manager_has_item">
+<description>
+Checks whether there is a recently used resource registered
+with @uri inside the recent manager.
+
+
+</description>
+<parameters>
+<parameter name="manager">
+<parameter_description> a #GtkRecentManager
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a URI
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the resource was found, %FALSE otherwise.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_view_column_add_attribute">
+<description>
+Adds an attribute mapping to the list in @tree_column. The @column is the
+column of the model to get a value from, and the @attribute is the
+parameter on @cell_renderer to be set from the value. So for example
+if column 2 of the model contains strings, you could have the
+&quot;text&quot; attribute of a #GtkCellRendererText get its values from
+column 2.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+<parameter name="cell_renderer">
+<parameter_description> the #GtkCellRenderer to set attributes on
+</parameter_description>
+</parameter>
+<parameter name="attribute">
+<parameter_description> An attribute on the renderer
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> The column position on the model to get the attribute from.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_frame_get_shadow_type">
+<description>
+Retrieves the shadow type of the frame. See
+gtk_frame_set_shadow_type().
+
+
+</description>
+<parameters>
+<parameter name="frame">
+<parameter_description> a #GtkFrame
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current shadow type of the frame.
+</return>
+</function>
+
+<function name="gtk_tree_view_column_set_sort_column_id">
+<description>
+Sets the logical @sort_column_id that this column sorts on when this column
+is selected for sorting. Doing so makes the column header clickable.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> a #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+<parameter name="sort_column_id">
+<parameter_description> The @sort_column_id of the model to sort on.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_insert_range_interactive">
+<description>
+Same as gtk_text_buffer_insert_range(), but does nothing if the
+insertion point isn&apos;t editable. The @default_editable parameter
+indicates whether the text is editable at @iter if no tags
+enclosing @iter affect editability. Typically the result of
+gtk_text_view_get_editable() is appropriate here.
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a position in @buffer
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> a position in a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> another position in the same buffer as @start
+</parameter_description>
+</parameter>
+<parameter name="default_editable">
+<parameter_description> default editability of the buffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether an insertion was possible at @iter
+</return>
+</function>
+
+<function name="gtk_assistant_get_page_title">
+<description>
+Gets the title for @page.
+
+
+</description>
+<parameters>
+<parameter name="assistant">
+<parameter_description> a #GtkAssistant
+</parameter_description>
+</parameter>
+<parameter name="page">
+<parameter_description> a page of @assistant
+</parameter_description>
+</parameter>
+</parameters>
+<return> the title for @page.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_image_new_from_file">
+<description>
+Creates a new #GtkImage displaying the file @filename. If the file
+isn&apos;t found or can&apos;t be loaded, the resulting #GtkImage will
+display a &quot;broken image&quot; icon. This function never returns %NULL,
+it always returns a valid #GtkImage widget.
+
+If the file contains an animation, the image will contain an
+animation.
+
+If you need to detect failures to load the file, use
+gdk_pixbuf_new_from_file() to load the file yourself, then create
+the #GtkImage from the pixbuf. (Or for animations, use
+gdk_pixbuf_animation_new_from_file()).
+
+The storage type (gtk_image_get_storage_type()) of the returned
+image is not defined, it will be whatever is appropriate for
+displaying the file.
+
+
+</description>
+<parameters>
+<parameter name="filename">
+<parameter_description> a filename
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkImage
+</return>
+</function>
+
+<function name="gtk_text_buffer_deserialize">
+<description>
+This function deserializes rich text in format @format and inserts
+it at @iter.
+
+@format&amp;lt;!-- --&amp;gt;s to be used must be registered using
+gtk_text_buffer_register_deserialize_format() or
+gtk_text_buffer_register_deserialize_tagset() beforehand.
+
+
+</description>
+<parameters>
+<parameter name="register_buffer">
+<parameter_description> the #GtkTextBuffer @format is registered with
+</parameter_description>
+</parameter>
+<parameter name="content_buffer">
+<parameter_description> the #GtkTextBuffer to deserialize into
+</parameter_description>
+</parameter>
+<parameter name="format">
+<parameter_description> the rich text format to use for deserializing
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> insertion point for the deserialized text
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to deserialize
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> length of @data
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE on success, %FALSE otherwise.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_text_iter_set_line">
+<description>
+Moves iterator @iter to the start of the line @line_number. If
+@line_number is negative or larger than the number of lines in the
+buffer, moves @iter to the start of the last line in the buffer.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="line_number">
+<parameter_description> line number (counted from 0)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_get_pointer">
+<description>
+Obtains the location of the mouse pointer in widget coordinates.
+Widget coordinates are a bit odd; for historical reasons, they are
+defined as @widget-&amp;gt;window coordinates for widgets that are not
+#GTK_NO_WINDOW widgets, and are relative to @widget-&amp;gt;allocation.x,
+@widget-&amp;gt;allocation.y for widgets that are #GTK_NO_WINDOW widgets.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> return location for the X coordinate, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> return location for the Y coordinate, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_status_icon_set_blinking">
+<description>
+Makes the status icon start or stop blinking.
+Note that blinking user interface elements may be problematic
+for some users, and thus may be turned off, in which case
+this setting has no effect.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="status_icon">
+<parameter_description> a #GtkStatusIcon
+</parameter_description>
+</parameter>
+<parameter name="blinking">
+<parameter_description> %TRUE to turn blinking on, %FALSE to turn it off
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_realize">
+<description>
+Creates the GDK (windowing system) resources associated with a
+widget. For example, @widget-&amp;gt;window will be created when a widget
+is realized. Normally realization happens implicitly; if you show
+a widget and all its parent containers, then the widget will be
+realized and mapped automatically.
+
+Realizing a widget requires all
+the widget&apos;s parent widgets to be realized; calling
+gtk_widget_realize() realizes the widget&apos;s parents in addition to
+@widget itself. If a widget is not yet inside a toplevel window
+when you realize it, bad things will happen.
+
+This function is primarily used in widget implementations, and
+isn&apos;t very useful otherwise. Many times when you think you might
+need it, a better approach is to connect to a signal that will be
+called after the widget is realized automatically, such as
+GtkWidget::expose-event. Or simply g_signal_connect_after() to the
+GtkWidget::realize signal.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_unrealize">
+<description>
+This function is only useful in widget implementations.
+Causes a widget to be unrealized (frees all GDK resources
+associated with the widget, such as @widget-&amp;gt;window).
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_about_dialog_get_version">
+<description>
+Return value: The version string. The string is owned by the about
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> The version string. The string is owned by the about
+dialog and must not be modified.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_widget_set_uposition">
+<description>
+
+Sets the position of a widget. The funny &quot;u&quot; in the name comes from
+the &quot;user position&quot; hint specified by the X Window System, and
+exists for legacy reasons. This function doesn&apos;t work if a widget
+is inside a container; it&apos;s only really useful on #GtkWindow.
+
+Don&apos;t use this function to center dialogs over the main application
+window; most window managers will do the centering on your behalf
+if you call gtk_window_set_transient_for(), and it&apos;s really not
+possible to get the centering to work correctly in all cases from
+application code. But if you insist, use gtk_window_set_position()
+to set #GTK_WIN_POS_CENTER_ON_PARENT, don&apos;t do the centering
+manually.
+
+Note that although @x and @y can be individually unset, the position
+is not honoured unless both @x and @y are set.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x position; -1 to unset x; -2 to leave x unchanged
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y position; -1 to unset y; -2 to leave y unchanged
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_get_line">
+<description>
+Return value: a line number
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> a line number
+</return>
+</function>
+
+<function name="gtk_menu_get_for_attach_widget">
+<description>
+Return value: the list of menus attached to his widget.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the list of menus attached to his widget.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_widget_modify_bg">
+<description>
+Sets the background color for a widget in a particular state.
+All other style values are left untouched. See also
+gtk_widget_modify_style().
+
+Note that &quot;no window&quot; widgets (which have the %GTK_NO_WINDOW flag set)
+draw on their parent container&apos;s window and thus may not draw any
+background themselves. This is the case for e.g. #GtkLabel. To modify
+the background of such widgets, you have to set the background color
+on their parent; if you want to set the background of a rectangular
+area around a label, try placing the label in a #GtkEventBox widget
+and setting the background color on that.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="state">
+<parameter_description> the state for which to set the background color
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> the color to assign (does not need to be allocated),
+or %NULL to undo the effect of previous calls to
+of gtk_widget_modify_bg().
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_new">
+<description>
+Creates a new #GtkWindow, which is a toplevel window that can
+contain other widgets. Nearly always, the type of the window should
+be #GTK_WINDOW_TOPLEVEL. If you&apos;re implementing something like a
+popup menu from scratch (which is a bad idea, just use #GtkMenu),
+you might use #GTK_WINDOW_POPUP. #GTK_WINDOW_POPUP is not for
+dialogs, though in some other toolkits dialogs are called &quot;popups&quot;.
+In GTK+, #GTK_WINDOW_POPUP means a pop-up menu or pop-up tooltip.
+On X11, popup windows are not controlled by the &amp;lt;link
+linkend=&quot;gtk-X11-arch&quot;&amp;gt;window manager&amp;lt;/link&amp;gt;.
+
+If you simply want an undecorated window (no window borders), use
+gtk_window_set_decorated(), don&apos;t use #GTK_WINDOW_POPUP.
+
+
+</description>
+<parameters>
+<parameter name="type">
+<parameter_description> type of window
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkWindow.
+</return>
+</function>
+
+<function name="gtk_action_connect_proxy">
+<description>
+Connects a widget to an action object as a proxy. Synchronises
+various properties of the action with the widget (such as label
+text, icon, tooltip, etc), and attaches a callback so that the
+action gets activated when the proxy widget does.
+
+If the widget is already connected to an action, it is disconnected
+first.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+<parameter name="proxy">
+<parameter_description> the proxy widget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_widget_grab_notify">
+<description>
+Emits the #GtkWidget::grab-notify signal on @widget.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="was_grabbed">
+<parameter_description> whether a grab is now in effect
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_layout_put">
+<description>
+Adds @child_widget to @layout, at position (@x,@y).
+@layout becomes the new parent container of @child_widget.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkLayout
+</parameter_description>
+</parameter>
+<parameter name="child_widget">
+<parameter_description> child widget
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> X position of child widget
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> Y position of child widget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_set_homogeneous_tabs">
+<description>
+Sets whether the tabs must have all the same size or not.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="homogeneous">
+<parameter_description> %TRUE if all tabs should be the same size.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_parse_args">
+<description>
+Parses command line arguments, and initializes global
+attributes of GTK+, but does not actually open a connection
+to a display. (See gdk_display_open(), gdk_get_display_arg_name())
+
+Any arguments used by GTK+ or GDK are removed from the array and
+@argc and @argv are updated accordingly.
+
+You shouldn&apos;t call this function explicitely if you are using
+gtk_init(), or gtk_init_check().
+
+
+</description>
+<parameters>
+<parameter name="argc">
+<parameter_description> a pointer to the number of command line arguments.
+</parameter_description>
+</parameter>
+<parameter name="argv">
+<parameter_description> a pointer to the array of command line arguments.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if initialization succeeded, otherwise %FALSE.
+</return>
+</function>
+
+<function name="gtk_color_selection_get_color">
+<description>
+Sets @color to be the current color in the GtkColorSelection widget.
+
+This function is deprecated, use gtk_color_selection_get_current_color() instead.
+
+</description>
+<parameters>
+<parameter name="colorsel">
+<parameter_description> a #GtkColorSelection.
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> an array of 4 #gdouble to fill in with the current color.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_menu_set_title">
+<description>
+Sets the title string for the menu. The title is displayed when the menu
+is shown as a tearoff menu. If @title is %NULL, the menu will see if it is
+attached to a parent menu item, and if so it will try to use the same text as
+that menu item&apos;s label.
+
+</description>
+<parameters>
+<parameter name="menu">
+<parameter_description> a #GtkMenu
+</parameter_description>
+</parameter>
+<parameter name="title">
+<parameter_description> a string containing the title for the menu.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toolbar_insert_stock">
+<description>
+Inserts a stock item at the specified position of the toolbar. If
+@stock_id is not a known stock item ID, it&apos;s inserted verbatim,
+except that underscores used to mark mnemonics are removed.
+
+@callback must be a pointer to a function taking a #GtkWidget and a gpointer as
+arguments. Use the GTK_SIGNAL_FUNC() to cast the function to #GtkSignalFunc.
+
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> A #GtkToolbar
+</parameter_description>
+</parameter>
+<parameter name="stock_id">
+<parameter_description> The id of the stock item you want to insert
+</parameter_description>
+</parameter>
+<parameter name="tooltip_text">
+<parameter_description> The text in the tooltip of the toolbar button
+</parameter_description>
+</parameter>
+<parameter name="tooltip_private_text">
+<parameter_description> The private text of the tooltip
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> The callback called when the toolbar button is clicked.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data passed to callback
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> The position the button shall be inserted at.
+-1 means at the end.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the inserted widget
+</return>
+</function>
+
+<function name="gtk_text_view_set_right_margin">
+<description>
+Sets the default right margin for text in the text view.
+Tags in the buffer may override the default.
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="right_margin">
+<parameter_description> right margin in pixels
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_source_get_size_wildcarded">
+<description>
+Gets the value set by gtk_icon_source_set_size_wildcarded().
+
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a #GtkIconSource
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if this icon source is a base for any icon size variant
+</return>
+</function>
+
+<function name="gtk_file_filter_add_mime_type">
+<description>
+Adds a rule allowing a given mime type to @filter.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> A #GtkFileFilter
+</parameter_description>
+</parameter>
+<parameter name="mime_type">
+<parameter_description> name of a MIME type
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_unix_dialog_set_settings">
+<description>
+Sets the #GtkPrintSettings for the #GtkPrintUnixDialog. Typically,
+this is used to restore saved print settings from a previous print
+operation before the print dialog is shown.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkPrintUnixDialog
+</parameter_description>
+</parameter>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_get_tab_pos">
+<description>
+Gets the edge at which the tabs for switching pages in the
+notebook are drawn.
+
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+</parameters>
+<return> the edge at which the tabs are drawn
+</return>
+</function>
+
+<function name="gtk_paint_diamond">
+<description>
+Draws a diamond in the given rectangle on @window using the given
+parameters.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> the type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> clip rectangle, or %NULL if the
+output should not be clipped
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> a style detail (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the rectangle to draw the diamond in
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the rectangle to draw the diamond in
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of the rectangle to draw the diamond in
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height of the rectangle to draw the diamond in
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_get_cursor">
+<description>
+Fills in @path and @focus_column with the current path and focus column. If
+the cursor isn&apos;t currently set, then *@path will be %NULL. If no column
+currently has focus, then *@focus_column will be %NULL.
+
+The returned #GtkTreePath must be freed with gtk_tree_path_free() when
+you are done with it.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> A pointer to be filled with the current cursor path, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="focus_column">
+<parameter_description> A pointer to be filled with the current focus column, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_calendar_freeze">
+<description>
+Does nothing. Previously locked the display of the calendar until
+it was thawed with gtk_calendar_thaw().
+
+Deprecated: 2.8:
+
+</description>
+<parameters>
+<parameter name="calendar">
+<parameter_description> a #GtkCalendar
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_model_get_iter_from_string">
+<description>
+Sets @iter to a valid iterator pointing to @path_string, if it
+exists. Otherwise, @iter is left invalid and %FALSE is returned.
+
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> An uninitialized #GtkTreeIter.
+</parameter_description>
+</parameter>
+<parameter name="path_string">
+<parameter_description> A string representation of a #GtkTreePath.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE, if @iter was set.
+</return>
+</function>
+
+<function name="gtk_event_box_get_visible_window">
+<description>
+Return value: %TRUE if the event box window is visible
+
+</description>
+<parameters>
+<parameter name="event_box">
+<parameter_description> a #GtkEventBox
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the event box window is visible
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_progress_bar_set_pulse_step">
+<description>
+Sets the fraction of total progress bar length to move the
+bouncing block for each call to gtk_progress_bar_pulse().
+
+</description>
+<parameters>
+<parameter name="pbar">
+<parameter_description> a #GtkProgressBar
+</parameter_description>
+</parameter>
+<parameter name="fraction">
+<parameter_description> fraction between 0.0 and 1.0
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_cell_view_new_with_pixbuf">
+<description>
+Creates a new #GtkCellView widget, adds a #GtkCellRendererPixbuf
+to it, and makes its show @pixbuf.
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> the image to display in the cell view
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly created #GtkCellView widget.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_drag_set_icon_stock">
+<description>
+Sets the icon for a given drag from a stock ID.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> the context for a drag. (This must be called
+with a context for the source side of a drag)
+</parameter_description>
+</parameter>
+<parameter name="stock_id">
+<parameter_description> the ID of the stock icon to use for the drag.
+</parameter_description>
+</parameter>
+<parameter name="hot_x">
+<parameter_description> the X offset within the icon of the hotspot.
+</parameter_description>
+</parameter>
+<parameter name="hot_y">
+<parameter_description> the Y offset within the icon of the hotspot.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_hide">
+<description>
+Reverses the effects of gtk_widget_show(), causing the widget to be
+hidden (invisible to the user).
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_action_get_sensitive">
+<description>
+Return value: %TRUE if the action itself is sensitive.
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the action itself is sensitive.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="_gtk_recent_chooser_install_properties">
+<description>
+Installs the necessary properties for a class implementing
+#GtkRecentChooser. A #GtkParamSpecOverride property is installed
+for each property, using the values from the #GtkRecentChooserProp
+enumeration. The caller must make sure itself that the enumeration
+values don&apos;t collide with some other property values they
+are using.
+
+</description>
+<parameters>
+<parameter name="klass">
+<parameter_description> the class structure for a type deriving from #GObject
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_frame_set_label_widget">
+<description>
+Sets the label widget for the frame. This is the widget that
+will appear embedded in the top edge of the frame as a
+title.
+
+</description>
+<parameters>
+<parameter name="frame">
+<parameter_description> a #GtkFrame
+</parameter_description>
+</parameter>
+<parameter name="label_widget">
+<parameter_description> the new label widget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_clipboard_wait_is_rich_text_available">
+<description>
+Test to see if there is rich text available to be pasted
+This is done by requesting the TARGETS atom and checking
+if it contains any of the supported rich text targets. This function
+waits for the data to be received using the main loop, so events,
+timeouts, etc, may be dispatched during the wait.
+
+This function is a little faster than calling
+gtk_clipboard_wait_for_rich_text() since it doesn&apos;t need to retrieve
+the actual text.
+
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE is there is rich text available, %FALSE otherwise.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_draw_arrow">
+<description>
+Draws an arrow in the given rectangle on @window using the given
+parameters. @arrow_type determines the direction of the arrow.
+
+Deprecated: Use gtk_paint_arrow() instead.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> the type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="arrow_type">
+<parameter_description> the type of arrow to draw
+</parameter_description>
+</parameter>
+<parameter name="fill">
+<parameter_description> %TRUE if the arrow tip should be filled
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the rectangle to draw the arrow in
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the rectangle to draw the arrow in
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of the rectangle to draw the arrow in
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height of the rectangle to draw the arrow in
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_font_button_set_use_size">
+<description>
+If @use_size is %TRUE, the font name will be written using the selected size.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="font_button">
+<parameter_description> a #GtkFontButton
+</parameter_description>
+</parameter>
+<parameter name="use_size">
+<parameter_description> If %TRUE, font name will be written using the selected size.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_item_factory_get_item_by_action">
+<description>
+Obtains the menu item which was constructed from the first
+#GtkItemFactoryEntry with the given @action.
+
+Deprecated: 2.4:
+
+</description>
+<parameters>
+<parameter name="ifactory">
+<parameter_description> a #GtkItemFactory
+</parameter_description>
+</parameter>
+<parameter name="action">
+<parameter_description> an action as specified in the @callback_action field
+of #GtkItemFactoryEntry
+</parameter_description>
+</parameter>
+</parameters>
+<return> the menu item which corresponds to the given action, or %NULL
+if no menu item was found
+</return>
+</function>
+
+<function name="gtk_printer_get_state_message">
+<description>
+Return value: the state message of @printer
+
+</description>
+<parameters>
+<parameter name="printer">
+<parameter_description> a #GtkPrinter
+</parameter_description>
+</parameter>
+</parameters>
+<return> the state message of @printer
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tool_button_get_label">
+<description>
+Return value: The label, or %NULL
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkToolButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> The label, or %NULL
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_print_context_get_pango_fontmap">
+<description>
+Return value: the font map of @context
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkPrintContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> the font map of @context
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_print_context_get_width">
+<description>
+Obtains the width of the #GtkPrintContext, in pixels.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkPrintContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> the width of @context
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_entry_set_editable">
+<description>
+Determines if the user can edit the text in the editable
+widget or not.
+
+Deprecated: Use gtk_editable_set_editable() instead.
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+<parameter name="editable">
+<parameter_description> %TRUE if the user is allowed to edit the text
+in the widget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_view_get_item_width">
+<description>
+Return value: the width of a single item, or -1
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+</parameters>
+<return> the width of a single item, or -1
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_print_settings_get_default_source">
+<description>
+Gets the value of %GTK_PRINT_SETTINGS_DEFAULT_SOURCE.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return> the default source
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_window_get_screen">
+<description>
+Return value: a #GdkScreen.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GdkScreen.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_recent_chooser_set_show_numbers">
+<description>
+Whether to show recently used resources prepended by a unique number.
+
+Do not use this function: use gtk_recent_chooser_menu_set_show_numbers()
+instead.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+<parameter name="show_numbers">
+<parameter_description> %TRUE to show numbers, %FALSE otherwise
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_set_state">
+<description>
+This function is for use in widget implementations. Sets the state
+of a widget (insensitive, prelighted, etc.) Usually you should set
+the state using wrapper functions such as gtk_widget_set_sensitive().
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="state">
+<parameter_description> new state for @widget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_get_int_with_default">
+<description>
+Return value: the integer value of @key
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+<parameter name="def">
+<parameter_description> the default value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the integer value of @key
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_status_icon_get_storage_type">
+<description>
+Gets the type of representation being used by the #GtkStatusIcon
+to store image data. If the #GtkStatusIcon has no image data,
+the return value will be %GTK_IMAGE_EMPTY.
+
+
+</description>
+<parameters>
+<parameter name="status_icon">
+<parameter_description> a #GtkStatusIcon
+</parameter_description>
+</parameter>
+</parameters>
+<return> the image representation being used
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_accel_map_unlock_path">
+<description>
+Undoes the last call to gtk_accel_map_lock_path() on this @accel_path.
+Refer to gtk_accel_map_lock_path() for information about accelerator path locking.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="accel_path">
+<parameter_description> a valid accelerator path
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_im_context_set_client_window">
+<description>
+Set the client window for the input context; this is the
+#GdkWindow in which the input appears. This window is
+used in order to correctly position status windows, and may
+also be used for purposes internal to the input method.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkIMContext
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> the client window. This may be %NULL to indicate
+that the previous client window no longer exists.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tool_item_set_visible_vertical">
+<description>
+Sets whether @tool_item is visible when the toolbar is docked
+vertically. Some tool items, such as text entries, are too wide to be
+useful on a vertically docked toolbar. If @visible_vertical is %FALSE
+@tool_item will not appear on toolbars that are docked vertically.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem
+</parameter_description>
+</parameter>
+<parameter name="visible_vertical">
+<parameter_description> whether @tool_item is visible when the toolbar
+is in vertical mode
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_set_parent">
+<description>
+This function is useful only when implementing subclasses of
+#GtkContainer.
+Sets the container as the parent of @widget, and takes care of
+some details such as updating the state and style of the child
+to reflect its new location. The opposite function is
+gtk_widget_unparent().
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> parent container
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_radio_button_new_with_mnemonic_from_widget">
+<description>
+Creates a new #GtkRadioButton containing a label. The label
+will be created using gtk_label_new_with_mnemonic(), so underscores
+in @label indicate the mnemonic for the button.
+
+</description>
+<parameters>
+<parameter name="radio_group_member">
+<parameter_description> widget to get radio group from or %NULL
+</parameter_description>
+</parameter>
+<parameter name="label">
+<parameter_description> the text of the button, with an underscore in front of the
+mnemonic character
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkRadioButton
+</return>
+</function>
+
+<function name="gtk_paint_slider">
+<description>
+Draws a slider in the given rectangle on @window using the
+given style and orientation.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> a shadow
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> clip rectangle, or %NULL if the
+output should not be clipped
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> a style detail (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x origin of the rectangle in which to draw a slider
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y origin of the rectangle in which to draw a slider
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the rectangle in which to draw a slider
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the rectangle in which to draw a slider
+</parameter_description>
+</parameter>
+<parameter name="orientation">
+<parameter_description> the orientation to be used
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_table_get_homogeneous">
+<description>
+Return value: %TRUE if the cells are all constrained to the same size
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a #GtkTable
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the cells are all constrained to the same size
+</return>
+</function>
+
+<function name="gtk_tree_model_row_deleted">
+<description>
+Emits the &quot;row_deleted&quot; signal on @tree_model. This should be called by
+models after a row has been removed. The location pointed to by @path
+should be the location that the row previously was at. It may not be a
+valid location anymore.
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> A #GtkTreePath pointing to the previous location of the deleted row.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_set_default_icon_name">
+<description>
+Sets an icon to be used as fallback for windows that haven&apos;t
+had gtk_window_set_icon_list() called on them from a named
+themed icon, see gtk_window_set_icon_name().
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> the name of the themed icon
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_get_icon_list">
+<description>
+Retrieves the list of icons set by gtk_window_set_icon_list().
+The list is copied, but the reference count on each
+member won&apos;t be incremented.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> copy of window&apos;s icon list
+</return>
+</function>
+
+<function name="GtkTextTag">
+<description>
+The ::event signal is emitted when an event occurs on a region of the
+buffer marked with this tag.
+
+
+</description>
+<parameters>
+<parameter name="tag">
+<parameter_description> the #GtkTextTag on which the signal is emitted
+</parameter_description>
+</parameter>
+<parameter name="object">
+<parameter_description> the object the event was fired from (typically a #GtkTextView)
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> the event which triggered the signal
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter pointing at the location the event occured
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE to stop other handlers from being invoked for the
+event. %FALSE to propagate the event further.
+</return>
+</function>
+
+<function name="GtkPrintOperation">
+<description>
+Used as the label of the tab containing custom widgets.
+Note that this property may be ignored on some platforms.
+
+If this is %NULL, GTK+ uses a default label.
+
+Since: 2.10
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_about_dialog_set_logo_icon_name">
+<description>
+Sets the pixbuf to be displayed as logo in
+the about dialog. If it is %NULL, the default
+window icon set with gtk_window_set_default_icon()
+will be used.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+<parameter name="icon_name">
+<parameter_description> an icon name, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_system_remove_bookmark">
+<description>
+Removes a bookmark folder from the user&apos;s bookmarks list. If the operation
+succeeds, the &quot;bookmarks_changed&quot; signal will be emitted. If you try to remove
+a @path which does not exist in the bookmarks list, the operation will fail
+and the @error will be set to GTK_FILE_SYSTEM_ERROR_NONEXISTENT.
+
+
+</description>
+<parameters>
+<parameter name="file_system">
+<parameter_description> a #GtkFileSystem
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> path of the bookmark to remove
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if the operation succeeds, FALSE otherwise. In the latter
+case, the @error value will be set.
+</return>
+</function>
+
+<function name="gtk_icon_view_get_selected_items">
+<description>
+Creates a list of paths of all selected items. Additionally, if you are
+planning on modifying the model after calling this function, you may
+want to convert the returned list into a list of #GtkTreeRowReference&amp;lt;!-- --&amp;gt;s.
+To do this, you can use gtk_tree_row_reference_new().
+
+To free the return value, use:
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+g_list_foreach (list, gtk_tree_path_free, NULL);
+g_list_free (list);
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A #GList containing a #GtkTreePath for each selected row.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_toolbar_append_widget">
+<description>
+Adds a widget to the end of the given toolbar.
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar.
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> a #GtkWidget to add to the toolbar.
+</parameter_description>
+</parameter>
+<parameter name="tooltip_text">
+<parameter_description> the element&apos;s tooltip.
+</parameter_description>
+</parameter>
+<parameter name="tooltip_private_text">
+<parameter_description> used for context-sensitive help about this toolbar element.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_factory_lookup_default">
+<description>
+Looks for an icon in the list of default icon factories. For
+display to the user, you should use gtk_style_lookup_icon_set() on
+the #GtkStyle for the widget that will display the icon, instead of
+using this function directly, so that themes are taken into
+account.
+
+
+
+</description>
+<parameters>
+<parameter name="stock_id">
+<parameter_description> an icon name
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GtkIconSet, or %NULL
+</return>
+</function>
+
+<function name="gtk_tree_view_row_expanded">
+<description>
+Return value: %TRUE if #path is expanded.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView.
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> A #GtkTreePath to test expansion state.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if #path is expanded.
+</return>
+</function>
+
+<function name="gtk_tooltips_get_info_from_tip_window">
+<description>
+Determines the tooltips and the widget they belong to from the window in
+which they are displayed.
+
+This function is mostly intended for use by accessibility technologies;
+applications should have little use for it.
+
+
+</description>
+<parameters>
+<parameter name="tip_window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="tooltips">
+<parameter_description> the return location for the tooltips which are displayed
+in @tip_window, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="current_widget">
+<parameter_description> the return location for the widget whose tooltips
+are displayed, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @tip_window is displaying tooltips, otherwise %FALSE.
+
+Since: 2.4
+
+Deprecated: 2.12:
+</return>
+</function>
+
+<function name="gtk_notebook_get_tab_reorderable">
+<description>
+Gets whether the tab can be reordered via drag and drop or not.
+
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> a child #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the tab is reorderable.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_selection_set_select_function">
+<description>
+Sets the selection function. If set, this function is called before any node
+is selected or unselected, giving some control over which nodes are selected.
+The select function should return %TRUE if the state of the node may be toggled,
+and %FALSE if the state of the node should be left unchanged.
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> A #GtkTreeSelection.
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> The selection function.
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The selection function&apos;s data.
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> The destroy function for user data. May be NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_image_set_from_pixmap">
+<description>
+See gtk_image_new_from_pixmap() for details.
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GtkImage
+</parameter_description>
+</parameter>
+<parameter name="pixmap">
+<parameter_description> a #GdkPixmap or %NULL
+</parameter_description>
+</parameter>
+<parameter name="mask">
+<parameter_description> a #GdkBitmap or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_forward_display_line_end">
+<description>
+Moves the given @iter forward to the next display line end.
+A display line is different from a paragraph. Paragraphs are
+separated by newlines or other paragraph separator characters.
+Display lines are created by line-wrapping a paragraph. If
+wrapping is turned off, display lines and paragraphs will be the
+same. Display lines are divided differently for each view, since
+they depend on the view&apos;s width; paragraphs are the same in all
+views, since they depend on the contents of the #GtkTextBuffer.
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter was moved and is not on the end iterator
+</return>
+</function>
+
+<function name="gtk_file_filter_add_custom">
+<description>
+Adds rule to a filter that allows files based on a custom callback
+function. The bitfield @needed which is passed in provides information
+about what sorts of information that the filter function needs;
+this allows GTK+ to avoid retrieving expensive information when
+it isn&apos;t needed by the filter.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> a #GtkFileFilter
+</parameter_description>
+</parameter>
+<parameter name="needed">
+<parameter_description> bitfield of flags indicating the information that the custom
+filter function needs.
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> callback function; if the function returns %TRUE, then
+the file will be displayed.
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to pass to @func
+</parameter_description>
+</parameter>
+<parameter name="notify">
+<parameter_description> function to call to free @data when it is no longer needed.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_cell_layout_get_cells">
+<description>
+Return value: a list of cell renderers. The list, but not the
+
+</description>
+<parameters>
+<parameter name="cell_layout">
+<parameter_description> a #GtkCellLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> a list of cell renderers. The list, but not the
+renderers has been newly allocated and should be freed with
+g_list_free() when no longer needed.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_printer_new">
+<description>
+Creates a new #GtkPrinter.
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> the name of the printer
+</parameter_description>
+</parameter>
+<parameter name="backend">
+<parameter_description> a #GtkPrintBackend
+</parameter_description>
+</parameter>
+<parameter name="virtual_">
+<parameter_description> whether the printer is virtual
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkPrinter
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_text_iter_forward_search">
+<description>
+Searches forward for @str. Any match is returned by setting
+@match_start to the first character of the match and @match_end to the
+first character after the match. The search will not continue past
+@limit. Note that a search is a linear or O(n) operation, so you
+may wish to use @limit to avoid locking up your UI on large
+buffers.
+
+If the #GTK_TEXT_SEARCH_VISIBLE_ONLY flag is present, the match may
+have invisible text interspersed in @str. i.e. @str will be a
+possibly-noncontiguous subsequence of the matched range. similarly,
+if you specify #GTK_TEXT_SEARCH_TEXT_ONLY, the match may have
+pixbufs or child widgets mixed inside the matched range. If these
+flags are not given, the match must be exact; the special 0xFFFC
+character in @str will match embedded pixbufs or child widgets.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> start of search
+</parameter_description>
+</parameter>
+<parameter name="str">
+<parameter_description> a search string
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags affecting how the search is done
+</parameter_description>
+</parameter>
+<parameter name="match_start">
+<parameter_description> return location for start of match, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="match_end">
+<parameter_description> return location for end of match, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="limit">
+<parameter_description> bound for the search, or %NULL for the end of the buffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether a match was found
+</return>
+</function>
+
+<function name="gtk_tree_view_column_set_attributes">
+<description>
+Sets the attributes in the list as the attributes of @tree_column.
+The attributes should be in attribute/column order, as in
+gtk_tree_view_column_add_attribute(). All existing attributes
+are removed, and replaced with the new attributes.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+<parameter name="cell_renderer">
+<parameter_description> the #GtkCellRenderer we&apos;re setting the attributes of
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> A %NULL-terminated list of attributes.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_create_pango_layout">
+<description>
+Creates a new #PangoLayout with the appropriate font map,
+font description, and base direction for drawing text for
+this widget.
+
+If you keep a #PangoLayout created in this way around, in order to
+notify the layout of changes to the base direction or font of this
+widget, you must call pango_layout_context_changed() in response to
+the #GtkWidget::style-set and #GtkWidget::direction-changed signals
+for the widget.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> text to set on the layout (can be %NULL)
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #PangoLayout
+</return>
+</function>
+
+<function name="gtk_file_chooser_button_get_title">
+<description>
+Retrieves the title of the browse dialog used by @button. The returned value
+should not be modified or freed.
+
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> the button widget to examine.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a pointer to the browse dialog&apos;s title.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_print_settings_set_int">
+<description>
+Sets @key to an integer value.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> an integer
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_selection_data_copy">
+<description>
+Makes a copy of a #GtkSelectionData structure and its data.
+
+
+</description>
+<parameters>
+<parameter name="data">
+<parameter_description> a pointer to a #GtkSelectionData structure.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a pointer to a copy of @data.
+</return>
+</function>
+
+<function name="gtk_window_remove_accel_group">
+<description>
+Reverses the effects of gtk_window_add_accel_group().
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="accel_group">
+<parameter_description> a #GtkAccelGroup
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_progress_bar_get_pulse_step">
+<description>
+Retrieves the pulse step set with gtk_progress_bar_set_pulse_step()
+
+
+</description>
+<parameters>
+<parameter name="pbar">
+<parameter_description> a #GtkProgressBar
+</parameter_description>
+</parameter>
+</parameters>
+<return> a fraction from 0.0 to 1.0
+</return>
+</function>
+
+<function name="gtk_accel_map_save_fd">
+<description>
+Filedescriptor variant of gtk_accel_map_save().
+
+Note that the file descriptor will not be closed by this function.
+
+</description>
+<parameters>
+<parameter name="fd">
+<parameter_description> a valid writable file descriptor
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_image_set_from_animation">
+<description>
+Causes the #GtkImage to display the given animation (or display
+nothing, if you set the animation to %NULL).
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GtkImage
+</parameter_description>
+</parameter>
+<parameter name="animation">
+<parameter_description> the #GdkPixbufAnimation
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_set_tooltip_text">
+<description>
+Sets @text as the contents of the tooltip. This function will take
+care of setting GtkWidget:has-tooltip to %TRUE and of the default
+handler for the GtkWidget::query-tooltip signal.
+
+See also the GtkWidget:tooltip-text property and gtk_tooltip_set_text().
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the contents of the tooltip for @widget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_set_markup">
+<description>
+Parses @str which is marked up with the &amp;lt;link
+linkend=&quot;PangoMarkupFormat&quot;&amp;gt;Pango text markup language&amp;lt;/link&amp;gt;, setting the
+label&apos;s text and attribute list based on the parse results. If the @str is
+external data, you may need to escape it with g_markup_escape_text() or
+g_markup_printf_escaped()&amp;lt;!-- --&amp;gt;:
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+char *markup;
+&amp;lt;!-- --&amp;gt;
+markup = g_markup_printf_escaped (&quot;&amp;lt;span style=\&quot;italic\&quot;&amp;gt;&amp;percnt;s&amp;lt;/span&amp;gt;&quot;, str);
+gtk_label_set_markup (GTK_LABEL (label), markup);
+g_free (markup);
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+<parameter name="str">
+<parameter_description> a markup string (see &amp;lt;link linkend=&quot;PangoMarkupFormat&quot;&amp;gt;Pango markup format&amp;lt;/link&amp;gt;)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_set_skip_pager_hint">
+<description>
+Windows may set a hint asking the desktop environment not to display
+the window in the pager. This function sets this hint.
+(A &quot;pager&quot; is any desktop navigation tool such as a workspace
+switcher that displays a thumbnail representation of the windows
+on the screen.)
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> %TRUE to keep this window from appearing in the pager
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_image_clear">
+<description>
+Resets the image to be empty.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GtkImage
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_layout_move_iter_to_line_end">
+<description>
+Move to the beginning or end of a display line.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkTextLayout
+</parameter_description>
+</parameter>
+<parameter name="direction">
+<parameter_description> if negative, move to beginning of line, otherwise
+ move to end of line.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_buildable_add_child">
+<description>
+Adds a child to @buildable. @type is an optional string
+describing how the child should be added.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="buildable">
+<parameter_description> a #GtkBuildable
+</parameter_description>
+</parameter>
+<parameter name="builder">
+<parameter_description> a #GtkBuilder
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> child to add
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> kind of child or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_scale_get_layout_offsets">
+<description>
+Obtains the coordinates where the scale will draw the
+#PangoLayout representing the text in the scale. Remember
+when using the #PangoLayout function you need to convert to
+and from pixels using PANGO_PIXELS() or #PANGO_SCALE.
+
+If the #GtkScale:draw-value property is %FALSE, the return
+values are undefined.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="scale">
+<parameter_description> a #GtkScale
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> location to store X offset of layout, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> location to store Y offset of layout, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_backward_sentence_start">
+<description>
+Moves backward to the previous sentence start; if @iter is already at
+the start of a sentence, moves backward to the next one. Sentence
+boundaries are determined by Pango and should be correct for nearly
+any language (if not, the correct fix would be to the Pango text
+boundary algorithms).
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter moved and is not the end iterator
+</return>
+</function>
+
+<function name="gtk_window_set_gravity">
+<description>
+Window gravity defines the meaning of coordinates passed to
+gtk_window_move(). See gtk_window_move() and #GdkGravity for
+more details.
+
+The default window gravity is #GDK_GRAVITY_NORTH_WEST which will
+typically &quot;do what you mean.&quot;
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="gravity">
+<parameter_description> window gravity
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_expander_set_use_underline">
+<description>
+If true, an underline in the text of the expander label indicates
+the next character should be used for the mnemonic accelerator key.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="expander">
+<parameter_description> a #GtkExpander
+</parameter_description>
+</parameter>
+<parameter name="use_underline">
+<parameter_description> %TRUE if underlines in the text indicate mnemonics
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_item_factory_popup_data_from_widget">
+<description>
+Obtains the @popup_data which was passed to
+gtk_item_factory_popup_with_data(). This data is available until the menu
+is popped down again.
+
+Deprecated: 2.4:
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a widget
+</parameter_description>
+</parameter>
+</parameters>
+<return> @popup_data associated with the item factory from
+which @widget was created, or %NULL if @widget wasn&apos;t created
+by an item factory
+</return>
+</function>
+
+<function name="gtk_combo_box_set_row_separator_func">
+<description>
+Sets the row separator function, which is used to determine
+whether a row should be drawn as a separator. If the row separator
+function is %NULL, no separators are drawn. This is the default value.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> a #GtkComboBox
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> a #GtkTreeViewRowSeparatorFunc
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> user data to pass to @func, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> destroy notifier for @data, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_view_unselect_path">
+<description>
+Unselects the row at @path.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView.
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> The #GtkTreePath to be unselected.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkCellView">
+<description>
+The model for cell view
+
+since 2.10
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_set_group_id">
+<description>
+Sets an group identificator for @notebook, notebooks sharing
+the same group identificator will be able to exchange tabs
+via drag and drop. A notebook with group identificator -1 will
+not be able to exchange tabs with any other notebook.
+
+Since: 2.10
+Deprecated:2.12: use gtk_notebook_set_group() instead.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="group_id">
+<parameter_description> a group identificator, or -1 to unset it
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_filter_get_name">
+<description>
+Gets the human-readable name for the filter. See gtk_file_filter_set_name().
+
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> a #GtkFileFilter
+</parameter_description>
+</parameter>
+</parameters>
+<return> The human-readable name of the filter,
+or %NULL. This value is owned by GTK+ and must not
+be modified or freed.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_file_chooser_button_new_with_dialog">
+<description>
+Creates a #GtkFileChooserButton widget which uses @dialog as it&apos;s
+file-picking window. Note that @dialog must be a #GtkDialog (or
+subclass) which implements the #GtkFileChooser interface and must
+not have %GTK_DIALOG_DESTROY_WITH_PARENT set.
+
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> the widget to use as dialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new button widget.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_page_setup_unix_dialog_get_page_setup">
+<description>
+Gets the currently selected page setup from the dialog.
+
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkPageSetupUnixDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current page setup
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_spin_button_get_numeric">
+<description>
+Return value: %TRUE if only numeric text can be entered
+
+</description>
+<parameters>
+<parameter name="spin_button">
+<parameter_description> a #GtkSpinButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if only numeric text can be entered
+</return>
+</function>
+
+<function name="GtkIconTheme">
+<description>
+Emitted when the current icon theme is switched or GTK+ detects
+that a change has occurred in the contents of the current
+icon theme.
+
+</description>
+<parameters>
+<parameter name="icon_theme">
+<parameter_description> the icon theme
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_combo_box_set_model">
+<description>
+Sets the model used by @combo_box to be @model. Will unset a previously set
+model (if applicable). If model is %NULL, then it will unset the model.
+
+Note that this function does not clear the cell renderers, you have to
+call gtk_cell_layout_clear() yourself if you need to set up different
+cell renderers for the new model.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> A #GtkComboBox
+</parameter_description>
+</parameter>
+<parameter name="model">
+<parameter_description> A #GtkTreeModel
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_set_action">
+<description>
+Sets the type of operation that the chooser is performing; the
+user interface is adapted to suit the selected action. For example,
+an option to create a new folder might be shown if the action is
+%GTK_FILE_CHOOSER_ACTION_SAVE but not if the action is
+%GTK_FILE_CHOOSER_ACTION_OPEN.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="action">
+<parameter_description> the action that the file selector is performing
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_about_dialog_set_copyright">
+<description>
+Sets the copyright string to display in the about dialog.
+This should be a short string of one or two lines.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+<parameter name="copyright">
+<parameter_description> the copyright string
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_paper_size_get_name">
+<description>
+Gets the name of the #GtkPaperSize.
+
+
+</description>
+<parameters>
+<parameter name="size">
+<parameter_description> a #GtkPaperSize object
+</parameter_description>
+</parameter>
+</parameters>
+<return> the name of @size
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_color_selection_set_previous_alpha">
+<description>
+Sets the &apos;previous&apos; alpha to be @alpha. This function should be called with
+some hesitations, as it might seem confusing to have that alpha change.
+
+</description>
+<parameters>
+<parameter name="colorsel">
+<parameter_description> a #GtkColorSelection.
+</parameter_description>
+</parameter>
+<parameter name="alpha">
+<parameter_description> an integer between 0 and 65535.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_page_setup_new_from_file">
+<description>
+Reads the page setup from the file @file_name. Returns a
+new #GtkPageSetup object with the restored page setup,
+or %NULL if an error occurred. See gtk_page_setup_to_file().
+
+
+</description>
+<parameters>
+<parameter name="file_name">
+<parameter_description> the filename to read the page setup from
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for an error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> the restored #GtkPageSetup
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_item_factory_popup">
+<description>
+Pops up the menu constructed from the item factory at (@x, @y).
+
+The @mouse_button parameter should be the mouse button pressed to initiate
+the menu popup. If the menu popup was initiated by something other than
+a mouse button press, such as a mouse button release or a keypress,
+@mouse_button should be 0.
+
+The @time_ parameter should be the time stamp of the event that
+initiated the popup. If such an event is not available, use
+gtk_get_current_event_time() instead.
+
+The operation of the @mouse_button and the @time_ parameter is the same
+as the @button and @activation_time parameters for gtk_menu_popup().
+
+Deprecated: 2.4:
+
+</description>
+<parameters>
+<parameter name="ifactory">
+<parameter_description> a #GtkItemFactory of type #GTK_TYPE_MENU (see gtk_item_factory_new())
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x position
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y position
+</parameter_description>
+</parameter>
+<parameter name="mouse_button">
+<parameter_description> the mouse button which was pressed to initiate the popup
+</parameter_description>
+</parameter>
+<parameter name="time_">
+<parameter_description> the time at which the activation event occurred
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_color_selection_set_current_color">
+<description>
+Sets the current color to be @color. The first time this is called, it will
+also set the original color to be @color too.
+
+</description>
+<parameters>
+<parameter name="colorsel">
+<parameter_description> a #GtkColorSelection.
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> A #GdkColor to set the current color with.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_set_hover_selection">
+<description>
+Enables of disables the hover selection mode of @tree_view.
+Hover selection makes the selected row follow the pointer.
+Currently, this works only for the selection modes
+%GTK_SELECTION_SINGLE and %GTK_SELECTION_BROWSE.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="hover">
+<parameter_description> %TRUE to enable hover selection mode
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_expander_set_label_widget">
+<description>
+Set the label widget for the expander. This is the widget
+that will appear embedded alongside the expander arrow.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="expander">
+<parameter_description> a #GtkExpander
+</parameter_description>
+</parameter>
+<parameter name="label_widget">
+<parameter_description> the new label widget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_menu_set_screen">
+<description>
+Sets the #GdkScreen on which the menu will be displayed.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="menu">
+<parameter_description> a #GtkMenu.
+</parameter_description>
+</parameter>
+<parameter name="screen">
+<parameter_description> a #GdkScreen, or %NULL if the screen should be
+determined by the widget the menu is attached to.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_about_dialog_get_logo">
+<description>
+Return value: the pixbuf displayed as logo. The pixbuf is
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> the pixbuf displayed as logo. The pixbuf is
+owned by the about dialog. If you want to keep a reference
+to it, you have to call g_object_ref() on it.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_stock_add_static">
+<description>
+Same as gtk_stock_add(), but doesn&apos;t copy @items, so
+@items must persist until application exit.
+
+
+</description>
+<parameters>
+<parameter name="items">
+<parameter_description> a #GtkStockItem or array of #GtkStockItem
+</parameter_description>
+</parameter>
+<parameter name="n_items">
+<parameter_description> number of items
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_spin_button_get_range">
+<description>
+Gets the range allowed for @spin_button. See
+gtk_spin_button_set_range().
+
+</description>
+<parameters>
+<parameter name="spin_button">
+<parameter_description> a #GtkSpinButton
+</parameter_description>
+</parameter>
+<parameter name="min">
+<parameter_description> location to store minimum allowed value, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="max">
+<parameter_description> location to store maximum allowed value, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_paper_size_is_equal">
+<description>
+Compares two #GtkPaperSize objects.
+
+
+</description>
+<parameters>
+<parameter name="size1">
+<parameter_description> a #GtkPaperSize object
+</parameter_description>
+</parameter>
+<parameter name="size2">
+<parameter_description> another #GtkPaperSize object
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE, if @size1 and @size2
+represent the same paper size
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_widget_get_action">
+<description>
+Returns: the action that a widget is a proxy for, or
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the action that a widget is a proxy for, or
+%NULL, if it is not attached to an action.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_spin_button_get_digits">
+<description>
+Fetches the precision of @spin_button. See gtk_spin_button_set_digits().
+
+
+</description>
+<parameters>
+<parameter name="spin_button">
+<parameter_description> a #GtkSpinButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current precision
+</return>
+</function>
+
+<function name="gtk_ui_manager_add_ui_from_string">
+<description>
+Parses a string containing a &amp;lt;link linkend=&quot;XML-UI&quot;&amp;gt;UI definition&amp;lt;/link&amp;gt; and
+merges it with the current contents of @self. An enclosing &amp;lt;ui&amp;gt;
+element is added if it is missing.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkUIManager object
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> the string to parse
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the length of @buffer (may be -1 if @buffer is nul-terminated)
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for an error
+</parameter_description>
+</parameter>
+</parameters>
+<return> The merge id for the merged UI. The merge id can be used
+to unmerge the UI with gtk_ui_manager_remove_ui(). If an error occurred,
+the return value is 0.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_icon_view_get_visible_range">
+<description>
+Sets @start_path and @end_path to be the first and last visible path.
+Note that there may be invisible paths in between.
+
+Both paths should be freed with gtk_tree_path_free() after use.
+
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView
+</parameter_description>
+</parameter>
+<parameter name="start_path">
+<parameter_description> Return location for start of region, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="end_path">
+<parameter_description> Return location for end of region, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE, if valid paths were placed in @start_path and @end_path
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gtk_text_view_get_editable">
+<description>
+Return value: whether text is editable by default
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether text is editable by default
+</return>
+</function>
+
+<function name="gtk_toolbar_append_item">
+<description>
+Inserts a new item into the toolbar. You must specify the position
+in the toolbar where it will be inserted.
+
+@callback must be a pointer to a function taking a #GtkWidget and a gpointer as
+arguments. Use the GTK_SIGNAL_FUNC() to cast the function to #GtkSignalFunc.
+
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar.
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> give your toolbar button a label.
+</parameter_description>
+</parameter>
+<parameter name="tooltip_text">
+<parameter_description> a string that appears when the user holds the mouse over this item.
+</parameter_description>
+</parameter>
+<parameter name="tooltip_private_text">
+<parameter_description> use with #GtkTipsQuery.
+</parameter_description>
+</parameter>
+<parameter name="icon">
+<parameter_description> a #GtkWidget that should be used as the button&apos;s icon.
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the function to be executed when the button is pressed.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> a pointer to any data you wish to be passed to the callback.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new toolbar item as a #GtkWidget.
+</return>
+</function>
+
+<function name="gtk_window_get_deletable">
+<description>
+Return value: %TRUE if the window has been set to have a close button
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the window has been set to have a close button
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_label_new_with_mnemonic">
+<description>
+Creates a new #GtkLabel, containing the text in @str.
+
+If characters in @str are preceded by an underscore, they are
+underlined. If you need a literal underscore character in a label, use
+&apos;__&apos; (two underscores). The first underlined character represents a
+keyboard accelerator called a mnemonic. The mnemonic key can be used
+to activate another widget, chosen automatically, or explicitly using
+gtk_label_set_mnemonic_widget().
+
+If gtk_label_set_mnemonic_widget() is not called, then the first
+activatable ancestor of the #GtkLabel will be chosen as the mnemonic
+widget. For instance, if the label is inside a button or menu item,
+the button or menu item will automatically become the mnemonic widget
+and be activated by the mnemonic.
+
+
+</description>
+<parameters>
+<parameter name="str">
+<parameter_description> The text of the label, with an underscore in front of the
+mnemonic character
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GtkLabel
+</return>
+</function>
+
+<function name="gtk_tree_path_down">
+<description>
+Moves @path to point to the first child of the current path.
+
+</description>
+<parameters>
+<parameter name="path">
+<parameter_description> A #GtkTreePath.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_get_gravity">
+<description>
+Gets the value set by gtk_window_set_gravity().
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> window gravity
+</return>
+</function>
+
+<function name="gtk_separator_tool_item_new">
+<description>
+Create a new #GtkSeparatorToolItem
+
+
+</description>
+<parameters>
+</parameters>
+<return> the new #GtkSeparatorToolItem
+
+Since: 2.4
+</return>
+</function>
+
+<function name="_gtk_key_hash_lookup">
+<description>
+Looks up the best matching entry or entries in the hash table for
+a given event. The results are sorted so that entries with less
+modifiers come before entries with more modifiers.
+
+
+</description>
+<parameters>
+<parameter name="key_hash">
+<parameter_description> a #GtkKeyHash
+</parameter_description>
+</parameter>
+<parameter name="hardware_keycode">
+<parameter_description> hardware keycode field from a #GdkEventKey
+</parameter_description>
+</parameter>
+<parameter name="state">
+<parameter_description> state field from a #GdkEventKey
+</parameter_description>
+</parameter>
+<parameter name="mask">
+<parameter_description> mask of modifiers to consider when matching against the
+modifiers in entries.
+</parameter_description>
+</parameter>
+<parameter name="group">
+<parameter_description> group field from a #GdkEventKey
+</parameter_description>
+</parameter>
+</parameters>
+<return> A #GSList of all matching entries. If there were exact
+matches, they are returned, otherwise all fuzzy matches are
+returned. (A fuzzy match is a match in keycode and level, but not
+in group.)
+</return>
+</function>
+
+<function name="gtk_range_get_value">
+<description>
+Gets the current value of the range.
+
+
+</description>
+<parameters>
+<parameter name="range">
+<parameter_description> a #GtkRange
+</parameter_description>
+</parameter>
+</parameters>
+<return> current value of the range.
+</return>
+</function>
+
+<function name="gtk_print_job_set_source_file">
+<description>
+Make the #GtkPrintJob send an existing document to the
+printing system. The file can be in any format understood
+by the platforms printing system (typically PostScript,
+but on many platforms PDF may work too). See
+gtk_printer_accepts_pdf() and gtk_printer_accepts_ps().
+
+
+</description>
+<parameters>
+<parameter name="job">
+<parameter_description> a #GtkPrintJob
+</parameter_description>
+</parameter>
+<parameter name="filename">
+<parameter_description> the file to be printed
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for errors
+</parameter_description>
+</parameter>
+</parameters>
+<return> %FALSE if an error occurred
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_recent_filter_get_name">
+<description>
+Gets the human-readable name for the filter.
+See gtk_recent_filter_set_name().
+
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> a #GtkRecentFilter
+</parameter_description>
+</parameter>
+</parameters>
+<return> the name of the filter, or %NULL. The returned string
+is owned by the filter object and should not be freed.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_dialog_set_response_sensitive">
+<description>
+Calls &amp;lt;literal&amp;gt;gtk_widget_set_sensitive (widget, @setting)&amp;lt;/literal&amp;gt;
+for each widget in the dialog&apos;s action area with the given @response_id.
+A convenient way to sensitize/desensitize dialog buttons.
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkDialog
+</parameter_description>
+</parameter>
+<parameter name="response_id">
+<parameter_description> a response ID
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> %TRUE for sensitive
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_chooser_get_limit">
+<description>
+Gets the number of items returned by gtk_recent_chooser_get_items()
+and gtk_recent_chooser_get_uris().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> A positive integer, or -1 meaning that all items are
+returned.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_view_get_visible_rect">
+<description>
+Fills @visible_rect with the currently-visible region of the
+buffer, in tree coordinates. Convert to bin_window coordinates with
+gtk_tree_view_convert_tree_to_bin_window_coords().
+Tree coordinates start at 0,0 for row 0 of the tree, and cover the entire
+scrollable area of the tree.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="visible_rect">
+<parameter_description> rectangle to fill
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_drag_set_icon_pixbuf">
+<description>
+Sets @pixbuf as the icon for a given drag.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> the context for a drag. (This must be called
+with a context for the source side of a drag)
+</parameter_description>
+</parameter>
+<parameter name="pixbuf">
+<parameter_description> the #GdkPixbuf to use as the drag icon.
+</parameter_description>
+</parameter>
+<parameter name="hot_x">
+<parameter_description> the X offset within @widget of the hotspot.
+</parameter_description>
+</parameter>
+<parameter name="hot_y">
+<parameter_description> the Y offset within @widget of the hotspot.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_model_filter_clear_cache">
+<description>
+This function should almost never be called. It clears the @filter
+of any cached iterators that haven&apos;t been reffed with
+gtk_tree_model_ref_node(). This might be useful if the child model
+being filtered is static (and doesn&apos;t change often) and there has been
+a lot of unreffed access to nodes. As a side effect of this function,
+all unreffed iters will be invalid.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> A #GtkTreeModelFilter.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tool_item_get_proxy_menu_item">
+<description>
+If @menu_item_id matches the string passed to
+gtk_tool_item_set_proxy_menu_item() return the corresponding #GtkMenuItem.
+
+Custom subclasses of #GtkToolItem should use this function to update
+their menu item when the #GtkToolItem changes. That the
+@menu_item_id&amp;lt;!-- --&amp;gt;s must match ensures that a #GtkToolItem will not
+inadvertently change a menu item that they did not create.
+
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem:
+</parameter_description>
+</parameter>
+<parameter name="menu_item_id">
+<parameter_description> a string used to identify the menu item
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GtkMenuItem passed to
+gtk_tool_item_set_proxy_menu_item(), if the @menu_item_id&amp;lt;!-- --&amp;gt;s match.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_toolbar_get_show_arrow">
+<description>
+Return value: %TRUE if the toolbar has an overflow menu.
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the toolbar has an overflow menu.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_text_layout_move_iter_to_next_line">
+<description>
+Move the iterator to the beginning of the next line. The
+lines of a wrapped paragraph are treated as distinct for
+this operation.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkLayout
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_targets_include_uri">
+<description>
+Determines if any of the targets in @targets can be used to
+provide an uri list.
+
+
+</description>
+<parameters>
+<parameter name="targets">
+<parameter_description> an array of #GdkAtom&amp;lt;!-- --&amp;gt;s
+</parameter_description>
+</parameter>
+<parameter name="n_targets">
+<parameter_description> the length of @targets
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @targets include a suitable target for uri lists,
+otherwise %FALSE.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_action_group_set_visible">
+<description>
+Changes the visible of @action_group.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action_group">
+<parameter_description> the action group
+</parameter_description>
+</parameter>
+<parameter name="visible">
+<parameter_description> new visiblity
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_paint_tab">
+<description>
+Draws an option menu tab (i.e. the up and down pointing arrows)
+in the given rectangle on @window using the given parameters.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> the type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> clip rectangle, or %NULL if the
+output should not be clipped
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> a style detail (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the rectangle to draw the tab in
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the rectangle to draw the tab in
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the rectangle to draw the tab in
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the rectangle to draw the tab in
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_set_child_visible">
+<description>
+Sets whether @widget should be mapped along with its when its parent
+is mapped and @widget has been shown with gtk_widget_show().
+
+The child visibility can be set for widget before it is added to
+a container with gtk_widget_set_parent(), to avoid mapping
+children unnecessary before immediately unmapping them. However
+it will be reset to its default state of %TRUE when the widget
+is removed from a container.
+
+Note that changing the child visibility of a widget does not
+queue a resize on the widget. Most of the time, the size of
+a widget is computed from all visible children, whether or
+not they are mapped. If this is not the case, the container
+can queue a resize itself.
+
+This function is only useful for container implementations and
+never should be called by an application.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="is_visible">
+<parameter_description> if %TRUE, @widget should be mapped along with its parent.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_button_set_image_position">
+<description>
+Sets the position of the image relative to the text
+inside the button.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkButton
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> the position
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_view_get_margin">
+<description>
+Return value: the space at the borders
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+</parameters>
+<return> the space at the borders
+
+Since: 2.6
+</return>
+</function>
+
+<function name="_gtk_binding_reset_parsed">
+<description>
+Removing all binding sets that were added by
+gtk_binding_parse_binding()
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_rc_reparse_all">
+<description>
+If the modification time on any previously read file for the
+default #GtkSettings has changed, discard all style information
+and then reread all previously read RC files.
+
+
+</description>
+<parameters>
+</parameters>
+<return> %TRUE if the files were reread.
+</return>
+</function>
+
+<function name="gtk_container_class_install_child_property">
+<description>
+Installs a child property on a container class.
+
+</description>
+<parameters>
+<parameter name="cclass">
+<parameter_description> a #GtkContainerClass
+</parameter_description>
+</parameter>
+<parameter name="property_id">
+<parameter_description> the id for the property
+</parameter_description>
+</parameter>
+<parameter name="pspec">
+<parameter_description> the #GParamSpec for the property
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_layout_get_line_at_y">
+<description>
+Get the iter at the beginning of the line which is displayed
+at the given y.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkLayout
+</parameter_description>
+</parameter>
+<parameter name="target_iter">
+<parameter_description> the iterator in which the result is stored
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y positition
+</parameter_description>
+</parameter>
+<parameter name="line_top">
+<parameter_description> location to store the y coordinate of the
+top of the line. (Can by %NULL.)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_scrolled_window_get_shadow_type">
+<description>
+Gets the shadow type of the scrolled window. See
+gtk_scrolled_window_set_shadow_type().
+
+
+</description>
+<parameters>
+<parameter name="scrolled_window">
+<parameter_description> a #GtkScrolledWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current shadow type
+</return>
+</function>
+
+<function name="gtk_widget_create_pango_context">
+<description>
+Creates a new #PangoContext with the appropriate font map,
+font description, and base direction for drawing text for
+this widget. See also gtk_widget_get_pango_context().
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #PangoContext
+</return>
+</function>
+
+<function name="gtk_action_is_sensitive">
+<description>
+Return value: %TRUE if the action and its associated action group
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the action and its associated action group
+are both sensitive.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_print_settings_unset">
+<description>
+Removes any value associated with @key.
+This has the same effect as setting the value to %NULL.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_ui_manager_get_widget">
+<description>
+Looks up a widget by following a path.
+The path consists of the names specified in the XML description of the UI.
+separated by &apos;/&apos;. Elements which don&apos;t have a name or action attribute in
+the XML (e.g. &amp;lt;popup&amp;gt;) can be addressed by their XML element name
+(e.g. &quot;popup&quot;). The root element (&quot;/ui&quot;) can be omitted in the path.
+
+Note that the widget found by following a path that ends in a &amp;lt;menu&amp;gt;
+element is the menuitem to which the menu is attached, not the menu itself.
+
+Also note that the widgets constructed by a ui manager are not tied to
+the lifecycle of the ui manager. If you add the widgets returned by this
+function to some container or explicitly ref them, they will survive the
+destruction of the ui manager.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkUIManager
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a path
+</parameter_description>
+</parameter>
+</parameters>
+<return> the widget found by following the path, or %NULL if no widget
+was found.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="GtkBuilderConnectFunc">
+<description>
+This is the signature of a function used to connect signals. It is used
+by the gtk_builder_connect_signals() and gtk_builder_connect_signals_full()
+methods. It is mainly intended for interpreted language bindings, but
+could be useful where the programmer wants more control over the signal
+connection process.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="builder">
+<parameter_description> a #GtkBuilder
+</parameter_description>
+</parameter>
+<parameter name="object">
+<parameter_description> object to connect a signal to
+</parameter_description>
+</parameter>
+<parameter name="signal_name">
+<parameter_description> name of the signal
+</parameter_description>
+</parameter>
+<parameter name="handler_name">
+<parameter_description> name of the handler
+</parameter_description>
+</parameter>
+<parameter name="connect_object">
+<parameter_description> a #GObject, if non-%NULL, use g_signal_connect_object()
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> #GConnectFlags to use
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_color_selection_set_current_alpha">
+<description>
+Sets the current opacity to be @alpha. The first time this is called, it will
+also set the original opacity to be @alpha too.
+
+</description>
+<parameters>
+<parameter name="colorsel">
+<parameter_description> a #GtkColorSelection.
+</parameter_description>
+</parameter>
+<parameter name="alpha">
+<parameter_description> an integer between 0 and 65535.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_cell_renderer_toggle_get_active">
+<description>
+Return value: %TRUE if the cell renderer is active.
+
+</description>
+<parameters>
+<parameter name="toggle">
+<parameter_description> a #GtkCellRendererToggle
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the cell renderer is active.
+</return>
+</function>
+
+<function name="GtkAccelGroup">
+<description>
+The accel-changed signal is emitted when a #GtkAccelGroupEntry
+is added to or removed from the accel group.
+
+Widgets like #GtkAccelLabel which display an associated
+accelerator should connect to this signal, and rebuild
+their visual representation if the @accel_closure is theirs.
+
+</description>
+<parameters>
+<parameter name="accel_group">
+<parameter_description> the #GtkAccelGroup which received the signal
+</parameter_description>
+</parameter>
+<parameter name="keyval">
+<parameter_description> the accelerator keyval
+</parameter_description>
+</parameter>
+<parameter name="modifier">
+<parameter_description> the modifier combination of the accelerator
+</parameter_description>
+</parameter>
+<parameter name="accel_closure">
+<parameter_description> the #GClosure of the accelerator
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_file_system_model_set_filter">
+<description>
+Sets a callback called for each file/directory to see whether
+it should be included in model. If this function was made
+public, we&apos;d want to include a GDestroyNotify as well.
+
+</description>
+<parameters>
+<parameter name="mode">
+<parameter_description> a #GtkFileSystemModel
+</parameter_description>
+</parameter>
+<parameter name="filter">
+<parameter_description> function to be called for each file
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> data to pass to @filter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_expander_get_label">
+<description>
+Fetches the text from the label of the expander, as set by
+gtk_expander_set_label(). If the label text has not
+been set the return value will be %NULL. This will be the
+case if you create an empty button with gtk_button_new() to
+use as a container.
+
+
+</description>
+<parameters>
+<parameter name="expander">
+<parameter_description> a #GtkExpander
+</parameter_description>
+</parameter>
+</parameters>
+<return> The text of the label widget. This string is owned
+by the widget and must not be modified or freed.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_about_dialog_set_name">
+<description>
+Sets the name to display in the about dialog.
+If this is not set, it defaults to g_get_application_name().
+
+Since: 2.6
+
+@Deprecated: 2.12: Use gtk_about_dialog_set_program_name() instead.
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> the program name
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_menu_bar_get_child_pack_direction">
+<description>
+Retrieves the current child pack direction of the menubar. See
+gtk_menu_bar_set_child_pack_direction().
+
+
+</description>
+<parameters>
+<parameter name="menubar">
+<parameter_description> a #GtkMenuBar
+</parameter_description>
+</parameter>
+</parameters>
+<return> the child pack direction
+
+Since: 2.8
+</return>
+</function>
+
+<function name="GtkCellRendererAccel">
+<description>
+Gets emitted when the user has removed the accelerator.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="accel">
+<parameter_description> the object reveiving the signal
+</parameter_description>
+</parameter>
+<parameter name="path_string">
+<parameter_description> the path identifying the row of the edited cell
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_about_dialog_get_translator_credits">
+<description>
+Return value: The translator credits string. The string is
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> The translator credits string. The string is
+owned by the about dialog and must not be modified.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_paper_size_get_width">
+<description>
+Gets the paper width of the #GtkPaperSize, in
+units of @unit.
+
+
+</description>
+<parameters>
+<parameter name="size">
+<parameter_description> a #GtkPaperSize object
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the unit for the return value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the paper width
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_text_buffer_apply_tag_by_name">
+<description>
+Calls gtk_text_tag_table_lookup() on the buffer&apos;s tag table to
+get a #GtkTextTag, then calls gtk_text_buffer_apply_tag().
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> name of a named #GtkTextTag
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> one bound of range to be tagged
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> other bound of range to be tagged
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_path_compare">
+<description>
+Compares two paths. If @a appears before @b in a tree, then -1 is returned.
+If @b appears before @a, then 1 is returned. If the two nodes are equal,
+then 0 is returned.
+
+
+</description>
+<parameters>
+<parameter name="a">
+<parameter_description> A #GtkTreePath.
+</parameter_description>
+</parameter>
+<parameter name="b">
+<parameter_description> A #GtkTreePath to compare with.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The relative positions of @a and @b
+</return>
+</function>
+
+<function name="gtk_tree_model_row_changed">
+<description>
+Emits the &quot;row_changed&quot; signal on @tree_model.
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> A #GtkTreePath pointing to the changed row
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> A valid #GtkTreeIter pointing to the changed row
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_combo_box_get_focus_on_click">
+<description>
+Return value: %TRUE if the combo box grabs focus when it is
+
+</description>
+<parameters>
+<parameter name="combo">
+<parameter_description> a #GtkComboBox
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the combo box grabs focus when it is
+clicked with the mouse.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_icon_view_set_row_spacing">
+<description>
+Sets the ::row-spacing property which specifies the space
+which is inserted between the rows of the icon view.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+<parameter name="row_spacing">
+<parameter_description> the row spacing
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_image_new_from_pixmap">
+<description>
+Creates a #GtkImage widget displaying @pixmap with a @mask.
+A #GdkPixmap is a server-side image buffer in the pixel format of the
+current display. The #GtkImage does not assume a reference to the
+pixmap or mask; you still need to unref them if you own references.
+#GtkImage will add its own reference rather than adopting yours.
+
+
+</description>
+<parameters>
+<parameter name="pixmap">
+<parameter_description> a #GdkPixmap, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="mask">
+<parameter_description> a #GdkBitmap, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkImage
+</return>
+</function>
+
+<function name="gtk_widget_queue_draw_area">
+<description>
+Invalidates the rectangular area of @widget defined by @x, @y,
+@width and @height by calling gdk_window_invalidate_rect() on the
+widget&apos;s window and all its child windows. Once the main loop
+becomes idle (after the current batch of events has been processed,
+roughly), the window will receive expose events for the union of
+all regions that have been invalidated.
+
+Normally you would only use this function in widget
+implementations. You might also use it, or
+gdk_window_invalidate_rect() directly, to schedule a redraw of a
+#GtkDrawingArea or some portion thereof.
+
+Frequently you can just call gdk_window_invalidate_rect() or
+gdk_window_invalidate_region() instead of this function. Those
+functions will invalidate only a single window, instead of the
+widget and all its children.
+
+The advantage of adding to the invalidated region compared to
+simply drawing immediately is efficiency; using an invalid region
+ensures that you only have to redraw one time.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x coordinate of upper-left corner of rectangle to redraw
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y coordinate of upper-left corner of rectangle to redraw
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of region to draw
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height of region to draw
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_deserialize_get_can_create_tags">
+<description>
+This functions returns the value set with
+gtk_text_buffer_deserialize_set_can_create_tags()
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="format">
+<parameter_description> a #GdkAtom representing a registered rich text format
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether deserializing this format may create tags
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_paint_layout">
+<description>
+Draws a layout on @window using the given parameters.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="use_text">
+<parameter_description> whether to use the text or foreground
+graphics context of @style
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> clip rectangle, or %NULL if the
+output should not be clipped
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> a style detail (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin
+</parameter_description>
+</parameter>
+<parameter name="layout">
+<parameter_description> the layout to draw
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_source_get_pixbuf">
+<description>
+Retrieves the source pixbuf, or %NULL if none is set.
+In addition, if a filename source is in use, this
+function in some cases will return the pixbuf from
+loaded from the filename. This is, for example, true
+for the GtkIconSource passed to the GtkStyle::render_icon()
+virtual function. The reference count on the pixbuf is
+not incremented.
+
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a #GtkIconSource
+</parameter_description>
+</parameter>
+</parameters>
+<return> source pixbuf
+</return>
+</function>
+
+<function name="gtk_tree_view_get_show_expanders">
+<description>
+Return value: %TRUE if expanders are drawn in @tree_view, %FALSE
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if expanders are drawn in @tree_view, %FALSE
+otherwise.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_tree_iter_free">
+<description>
+Frees an iterator that has been allocated on the heap. This function is
+mainly used for language bindings.
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> A dynamically allocated tree iterator.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_ui_manager_set_add_tearoffs">
+<description>
+Sets the &quot;add_tearoffs&quot; property, which controls whether menus
+generated by this #GtkUIManager will have tearoff menu items.
+
+Note that this only affects regular menus. Generated popup
+menus never have tearoff menu items.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkUIManager
+</parameter_description>
+</parameter>
+<parameter name="add_tearoffs">
+<parameter_description> whether tearoff menu items are added
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_set_icon_name">
+<description>
+Sets the icon for the window from a named themed icon. See
+the docs for #GtkIconTheme for more details.
+
+Note that this has nothing to do with the WM_ICON_NAME
+property which is mentioned in the ICCCM.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> the name of the themed icon
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_container_set_border_width">
+<description>
+Sets the border width of the container.
+
+The border width of a container is the amount of space to leave
+around the outside of the container. The only exception to this is
+#GtkWindow; because toplevel windows can&apos;t leave space outside,
+they leave the space inside. The border is added on all sides of
+the container. To add space to only one side, one approach is to
+create a #GtkAlignment widget, call gtk_widget_set_usize() to give
+it a size, and place it on the side of the container as a spacer.
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+<parameter name="border_width">
+<parameter_description> amount of blank space to leave &amp;lt;emphasis&amp;gt;outside&amp;lt;/emphasis&amp;gt;
+the container. Valid values are in the range 0-65535 pixels.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_action_group_add_actions_full">
+<description>
+This variant of gtk_action_group_add_actions() adds a #GDestroyNotify
+callback for @user_data.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action_group">
+<parameter_description> the action group
+</parameter_description>
+</parameter>
+<parameter name="entries">
+<parameter_description> an array of action descriptions
+</parameter_description>
+</parameter>
+<parameter name="n_entries">
+<parameter_description> the number of entries
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> data to pass to the action callbacks
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> destroy notification callback for @user_data
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_row_reference_new">
+<description>
+Creates a row reference based on @path. This reference will keep pointing
+to the node pointed to by @path, so long as it exists. It listens to all
+signals emitted by @model, and updates its path appropriately. If @path
+isn&apos;t a valid path in @model, then %NULL is returned.
+
+
+</description>
+<parameters>
+<parameter name="model">
+<parameter_description> A #GtkTreeModel
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> A valid #GtkTreePath to monitor
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly allocated #GtkTreeRowReference, or %NULL
+</return>
+</function>
+
+<function name="gtk_widget_new">
+<description>
+This is a convenience function for creating a widget and setting
+its properties in one go. For example you might write:
+&amp;lt;literal&amp;gt;gtk_widget_new (GTK_TYPE_LABEL, &quot;label&quot;, &quot;Hello World&quot;, &quot;xalign&quot;,
+0.0, NULL)&amp;lt;/literal&amp;gt; to create a left-aligned label. Equivalent to
+g_object_new(), but returns a widget so you don&apos;t have to
+cast the object yourself.
+
+
+</description>
+<parameters>
+<parameter name="type">
+<parameter_description> type ID of the widget to create
+</parameter_description>
+</parameter>
+<parameter name="first_property_name">
+<parameter_description> name of first property to set
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> value of first property, followed by more properties,
+%NULL-terminated
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkWidget of type @widget_type
+</return>
+</function>
+
+<function name="GtkIconView">
+<description>
+The reorderable property specifies if the items can be reordered
+by DND.
+
+Since: 2.8
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_get_icon_name">
+<description>
+Returns: the icon name or %NULL if the window has
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> the icon name or %NULL if the window has
+no themed icon
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_text_view_set_editable">
+<description>
+Sets the default editability of the #GtkTextView. You can override
+this default setting with tags in the buffer, using the &quot;editable&quot;
+attribute of tags.
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> whether it&apos;s editable
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_view_unset_model_drag_source">
+<description>
+Undoes the effect of gtk_icon_view_enable_model_drag_source().
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_unset_rows_drag_dest">
+<description>
+Undoes the effect of gtk_tree_view_enable_model_drag_dest().
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_set_expander_column">
+<description>
+Sets the column to draw the expander arrow at. It must be in @tree_view.
+If @column is %NULL, then the expander arrow is always at the first
+visible column.
+
+If you do not want expander arrow to appear in your tree, set the
+expander column to a hidden column.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> %NULL, or the column to draw the expander arrow at.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_get_modifier_style">
+<description>
+Return value: the modifier style for the widget. This rc style is
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the modifier style for the widget. This rc style is
+owned by the widget. If you want to keep a pointer to value this
+around, you must add a refcount using g_object_ref().
+</return>
+</function>
+
+<function name="gtk_icon_info_free">
+<description>
+Free a #GtkIconInfo and associated information
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="icon_info">
+<parameter_description> a #GtkIconInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_get_alignment">
+<description>
+Return value: The current alignent of @tree_column.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The current alignent of @tree_column.
+</return>
+</function>
+
+<function name="gtk_window_get_resizable">
+<description>
+Gets the value set by gtk_window_set_resizable().
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the user can resize the window
+</return>
+</function>
+
+<function name="gtk_text_layout_move_iter_visually">
+<description>
+Move the iterator a given number of characters visually, treating
+it as the strong cursor position. If @count is positive, then the
+new strong cursor position will be @count positions to the right of
+the old cursor position. If @count is negative then the new strong
+cursor position will be @count positions to the left of the old
+cursor position.
+
+In the presence of bidirection text, the correspondence
+between logical and visual order will depend on the direction
+of the current run, and there may be jumps when the cursor
+is moved off of the end of a run.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkTextLayout
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> number of characters to move (negative moves left, positive moves right)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toggle_button_get_mode">
+<description>
+Retrieves whether the button is displayed as a separate indicator
+and label. See gtk_toggle_button_set_mode().
+
+
+</description>
+<parameters>
+<parameter name="toggle_button">
+<parameter_description> a #GtkToggleButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the togglebutton is drawn as a separate indicator
+and label.
+</return>
+</function>
+
+<function name="gtk_viewport_new">
+<description>
+Creates a new #GtkViewport with the given adjustments.
+
+
+</description>
+<parameters>
+<parameter name="hadjustment">
+<parameter_description> horizontal adjustment.
+</parameter_description>
+</parameter>
+<parameter name="vadjustment">
+<parameter_description> vertical adjustment.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkViewport.
+</return>
+</function>
+
+<function name="gtk_icon_theme_get_example_icon_name">
+<description>
+Gets the name of an icon that is representative of the
+current theme (for instance, to use when presenting
+a list of themes to the user.)
+
+
+</description>
+<parameters>
+<parameter name="icon_theme">
+<parameter_description> a #GtkIconTheme
+</parameter_description>
+</parameter>
+</parameters>
+<return> the name of an example icon or %NULL.
+Free with g_free().
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_bin_get_child">
+<description>
+Gets the child of the #GtkBin, or %NULL if the bin contains
+no child widget. The returned widget does not have a reference
+added, so you do not need to unref it.
+
+
+</description>
+<parameters>
+<parameter name="bin">
+<parameter_description> a #GtkBin
+</parameter_description>
+</parameter>
+</parameters>
+<return> pointer to child of the #GtkBin
+</return>
+</function>
+
+<function name="gtk_binding_set_by_class">
+<description>
+This function returns the binding set named after the type name of
+the passed in class structure. New binding sets are created on
+demand by this function.
+
+
+</description>
+<parameters>
+<parameter name="object_class">
+<parameter_description> a valid #GtkObject class
+</parameter_description>
+</parameter>
+</parameters>
+<return> the binding set corresponding to @object_class
+</return>
+</function>
+
+<function name="gtk_plug_new_for_display">
+<description>
+Create a new plug widget inside the #GtkSocket identified by socket_id.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the #GdkDisplay on which @socket_id is displayed
+</parameter_description>
+</parameter>
+<parameter name="socket_id">
+<parameter_description> the XID of the socket&apos;s window.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GtkPlug widget.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_tree_view_column_clicked">
+<description>
+Emits the &quot;clicked&quot; signal on the column. This function will only work if
+@tree_column is clickable.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> a #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_combo_box_get_popup_accessible">
+<description>
+Gets the accessible object corresponding to the combo box&apos;s popup.
+
+This function is mostly intended for use by accessibility technologies;
+applications should have little use for it.
+
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> a #GtkComboBox
+</parameter_description>
+</parameter>
+</parameters>
+<return> the accessible object corresponding to the combo box&apos;s popup.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="_gtk_plug_handle_modality_on">
+<description>
+@plug: a #GtkPlug
+
+Called from the GtkPlug backend when the corresponding socket has
+told the plug that it modality has toggled on.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_clear">
+<description>
+Unsets all the mappings on all renderers on the @tree_column.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_get_display">
+<description>
+Get the #GdkDisplay for the toplevel window associated with
+this widget. This function can only be called after the widget
+has been added to a widget hierarchy with a #GtkWindow at the top.
+
+In general, you should only create display specific
+resources when a widget has been realized, and you should
+free those resources when the widget is unrealized.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkDisplay for the toplevel for this widget.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_icon_view_get_reorderable">
+<description>
+Retrieves whether the user can reorder the list via drag-and-drop.
+See gtk_icon_view_set_reorderable().
+
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the list can be reordered.
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gtk_text_buffer_get_paste_target_list">
+<description>
+This function returns the list of targets this text buffer supports
+for pasting and as DND destination. The targets in the list are
+added with %info values from the #GtkTextBufferTargetInfo enum,
+using gtk_target_list_add_rich_text_targets() and
+gtk_target_list_add_text_targets().
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GtkTargetList
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_action_get_name">
+<description>
+Return value: the name of the action. The string belongs to GTK+ and should not
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+</parameters>
+<return> the name of the action. The string belongs to GTK+ and should not
+be freed.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_toolbar_get_tooltips">
+<description>
+Retrieves whether tooltips are enabled. See
+gtk_toolbar_set_tooltips().
+
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if tooltips are enabled
+</return>
+</function>
+
+<function name="gtk_notebook_set_tab_hborder">
+<description>
+Sets the width of the horizontal border of tab labels.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="tab_hborder">
+<parameter_description> width of the horizontal border of tab labels.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_combo_box_get_wrap_width">
+<description>
+Returns: the wrap width.
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> A #GtkComboBox
+</parameter_description>
+</parameter>
+</parameters>
+<return> the wrap width.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_entry_get_text">
+<description>
+Retrieves the contents of the entry widget.
+See also gtk_editable_get_chars().
+
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+</parameters>
+<return> a pointer to the contents of the widget as a
+string. This string points to internally allocated
+storage in the widget and must not be freed, modified or
+stored.
+</return>
+</function>
+
+<function name="gtk_file_chooser_get_do_overwrite_confirmation">
+<description>
+Queries whether a file chooser is set to confirm for overwriting when the user
+types a file name that already exists.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the file chooser will present a confirmation dialog;
+%FALSE otherwise.
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gtk_tree_view_column_get_sort_column_id">
+<description>
+Gets the logical @sort_column_id that the model sorts on when this
+column is selected for sorting.
+See gtk_tree_view_column_set_sort_column_id().
+
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> a #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current @sort_column_id for this column, or -1 if
+this column can&apos;t be used for sorting.
+</return>
+</function>
+
+<function name="gtk_text_buffer_create_tag">
+<description>
+
+Creates a tag and adds it to the tag table for @buffer.
+Equivalent to calling gtk_text_tag_new() and then adding the
+tag to the buffer&apos;s tag table. The returned tag is owned by
+the buffer&apos;s tag table, so the ref count will be equal to one.
+
+If @tag_name is %NULL, the tag is anonymous.
+
+If @tag_name is non-%NULL, a tag called @tag_name must not already
+exist in the tag table for this buffer.
+
+The @first_property_name argument and subsequent arguments are a list
+of properties to set on the tag, as with g_object_set().
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="tag_name">
+<parameter_description> name of the new tag, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="first_property_name">
+<parameter_description> name of first property to set, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> %NULL-terminated list of property names and values
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new tag
+</return>
+</function>
+
+<function name="gtk_window_set_urgency_hint">
+<description>
+Windows may set a hint asking the desktop environment to draw
+the users attention to the window. This function sets this hint.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> %TRUE to mark this window as urgent
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_info_get_attach_points">
+<description>
+Fetches the set of attach points for an icon. An attach point
+is a location in the icon that can be used as anchor points for attaching
+emblems or overlays to the icon.
+
+
+</description>
+<parameters>
+<parameter name="icon_info">
+<parameter_description> a #GtkIconInfo
+</parameter_description>
+</parameter>
+<parameter name="points">
+<parameter_description> location to store pointer to an array of points, or %NULL
+free the array of points with g_free().
+</parameter_description>
+</parameter>
+<parameter name="n_points">
+<parameter_description> location to store the number of points in @points, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if there are any attach points for the icon.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_text_buffer_get_start_iter">
+<description>
+Initialized @iter with the first position in the text buffer. This
+is the same as using gtk_text_buffer_get_iter_at_offset() to get
+the iter at character offset 0.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> iterator to initialize
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_target_list_add_rich_text_targets">
+<description>
+Appends the rich text targets registered with
+gtk_text_buffer_register_serialize_format() or
+gtk_text_buffer_register_deserialize_format() to the target list. All
+targets are added with the same @info.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="list">
+<parameter_description> a #GtkTargetList
+</parameter_description>
+</parameter>
+<parameter name="info">
+<parameter_description> an ID that will be passed back to the application
+</parameter_description>
+</parameter>
+<parameter name="deserializable">
+<parameter_description> if %TRUE, then deserializable rich text formats
+will be added, serializable formats otherwise.
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_move_mark">
+<description>
+Moves @mark to the new location @where. Emits the &quot;mark_set&quot; signal
+as notification of the move.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="mark">
+<parameter_description> a #GtkTextMark
+</parameter_description>
+</parameter>
+<parameter name="where">
+<parameter_description> new location for @mark in @buffer
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_cell_is_visible">
+<description>
+Return value: %TRUE, if any of the cells packed into the @tree_column are currently visible
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE, if any of the cells packed into the @tree_column are currently visible
+</return>
+</function>
+
+<function name="gtk_text_iter_backward_to_tag_toggle">
+<description>
+Moves backward to the next toggle (on or off) of the
+#GtkTextTag @tag, or to the next toggle of any tag if
+@tag is %NULL. If no matching tag toggles are found,
+Return value: whether we found a tag toggle before @iter
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="tag">
+<parameter_description> a #GtkTextTag, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether we found a tag toggle before @iter
+</return>
+</function>
+
+<function name="gtk_image_menu_item_new_with_label">
+<description>
+Creates a new #GtkImageMenuItem containing a label.
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> the text of the menu item.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkImageMenuItem.
+</return>
+</function>
+
+<function name="gtk_recent_filter_filter">
+<description>
+Tests whether a file should be displayed according to @filter.
+The #GtkRecentFilterInfo structure @filter_info should include
+the fields returned from gtk_recent_filter_get_needed().
+
+This function will not typically be used by applications; it
+is intended principally for use in the implementation of
+#GtkRecentChooser.
+
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> a #GtkRecentFilter
+</parameter_description>
+</parameter>
+<parameter name="filter_info">
+<parameter_description> a #GtkRecentFilterInfo structure containing information
+about a recently used resource
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the file should be displayed
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_scrolled_window_unset_placement">
+<description>
+Unsets the placement of the contents with respect to the scrollbars
+for the scrolled window. If no window placement is set for a scrolled
+window, it obeys the &quot;gtk-scrolled-window-placement&quot; XSETTING.
+
+See also gtk_scrolled_window_set_placement() and
+gtk_scrolled_window_get_placement().
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="scrolled_window">
+<parameter_description> a #GtkScrolledWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_plug_remove_from_socket">
+<description>
+Removes a plug from a socket within the same application.
+
+</description>
+<parameters>
+<parameter name="plug">
+<parameter_description> a #GtkPlug
+</parameter_description>
+</parameter>
+<parameter name="socket_">
+<parameter_description> a #GtkSocket
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_set_line_wrap">
+<description>
+Toggles line wrapping within the #GtkLabel widget. %TRUE makes it break
+lines if text exceeds the widget&apos;s size. %FALSE lets the text get cut off
+by the edge of the widget if it exceeds the widget size.
+
+Note that setting line wrapping to %TRUE does not make the label
+wrap at its parent container&apos;s width, because GTK+ widgets
+conceptually can&apos;t make their requisition depend on the parent
+container&apos;s size. For a label that wraps at a specific position,
+set the label&apos;s width using gtk_widget_set_size_request().
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+<parameter name="wrap">
+<parameter_description> the setting
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_view_get_column_spacing">
+<description>
+Return value: the space between columns
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+</parameters>
+<return> the space between columns
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_color_button_set_use_alpha">
+<description>
+Sets whether or not the color button should use the alpha channel.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="color_button">
+<parameter_description> a #GtkColorButton.
+</parameter_description>
+</parameter>
+<parameter name="use_alpha">
+<parameter_description> %TRUE if color button should use alpha channel, %FALSE if not.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_has_tag">
+<description>
+Return value: whether @iter is tagged with @tag
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+<parameter name="tag">
+<parameter_description> a #GtkTextTag
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @iter is tagged with @tag
+</return>
+</function>
+
+<function name="gtk_combo_box_entry_new_text">
+<description>
+Convenience function which constructs a new editable text combo box, which
+is a #GtkComboBoxEntry just displaying strings. If you use this function to
+create a text combo box, you should only manipulate its data source with
+the following convenience functions: gtk_combo_box_append_text(),
+gtk_combo_box_insert_text(), gtk_combo_box_prepend_text() and
+gtk_combo_box_remove_text().
+
+
+</description>
+<parameters>
+</parameters>
+<return> A new text #GtkComboBoxEntry.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_icon_source_set_pixbuf">
+<description>
+Sets a pixbuf to use as a base image when creating icon variants
+for #GtkIconSet.
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a #GtkIconSource
+</parameter_description>
+</parameter>
+<parameter name="pixbuf">
+<parameter_description> pixbuf to use as a source
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_bindings_activate_event">
+<description>
+Looks up key bindings for @object to find one matching
+@event, and if one was found, activate it.
+
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> a #GtkObject (generally must be a widget)
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> a #GdkEventKey
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a matching key binding was found
+</return>
+</function>
+
+<function name="gtk_tree_selection_set_mode">
+<description>
+Sets the selection mode of the @selection. If the previous type was
+#GTK_SELECTION_MULTIPLE, then the anchor is kept selected, if it was
+previously selected.
+
+</description>
+<parameters>
+<parameter name="selection">
+<parameter_description> A #GtkTreeSelection.
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> The selection mode
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_style_init_for_settings">
+<description>
+Initializes the font description in @style according to the default
+font name of @settings. This is called for gtk_style_new() with
+the settings for the default screen (if any); if we are creating
+a style for a particular screen, we then call it again in a
+location where we know the correct settings.
+The reason for this is that gtk_rc_style_create_style() doesn&apos;t
+take the screen for an argument.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="settings">
+<parameter_description> a #GtkSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_get_hadjustment">
+<description>
+Gets the #GtkAdjustment currently being used for the horizontal aspect.
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+</parameters>
+<return> A #GtkAdjustment object, or %NULL if none is currently being
+used.
+</return>
+</function>
+
+<function name="gtk_event_box_set_above_child">
+<description>
+Set whether the event box window is positioned above the windows of its child,
+as opposed to below it. If the window is above, all events inside the
+event box will go to the event box. If the window is below, events
+in windows of child widgets will first got to that widget, and then
+to its parents.
+
+The default is to keep the window below the child.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="event_box">
+<parameter_description> a #GtkEventBox
+</parameter_description>
+</parameter>
+<parameter name="above_child">
+<parameter_description> %TRUE if the event box window is above the windows of its child
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_item_factories_path_delete">
+<description>
+Deletes all widgets constructed from the specified path.
+
+Deprecated: 2.4:
+
+</description>
+<parameters>
+<parameter name="ifactory_path">
+<parameter_description> a factory path to prepend to @path. May be %NULL if @path
+starts with a factory path
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a path
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_builder_get_translation_domain">
+<description>
+Gets the translation domain of @builder.
+
+
+</description>
+<parameters>
+<parameter name="builder">
+<parameter_description> a #GtkBuilder
+</parameter_description>
+</parameter>
+</parameters>
+<return> the translation domain. This string is owned
+by the builder object and must not be modified or freed.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_builder_connect_signals_full">
+<description>
+This function can be thought of the interpreted language binding
+version of gtk_builder_connect_signals(), except that it does not
+require GModule to function correctly.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="builder">
+<parameter_description> a #GtkBuilder
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> the function used to connect the signals
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> arbitrary data that will be passed to the connection function
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_model_get_flags">
+<description>
+Return value: The flags supported by this interface.
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The flags supported by this interface.
+</return>
+</function>
+
+<function name="gtk_buildable_get_name">
+<description>
+Gets the name of the @buildable object.
+
+#GtkBuilder sets the name based on the the
+&amp;lt;link linkend=&quot;BUILDER-UI&quot;&amp;gt;GtkBuilder UI definition&amp;lt;/link&amp;gt;
+used to construct the @buildable.
+
+
+</description>
+<parameters>
+<parameter name="buildable">
+<parameter_description> a #GtkBuildable
+</parameter_description>
+</parameter>
+</parameters>
+<return> the name set with gtk_buildable_set_name()
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_print_settings_get_page_ranges">
+<description>
+Gets the value of %GTK_PRINT_SETTINGS_PAGE_RANGES.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="num_ranges">
+<parameter_description> return location for the length of the returned array
+</parameter_description>
+</parameter>
+</parameters>
+<return> an array of #GtkPageRange&amp;lt;!-- --&amp;gt;s. Use g_free()
+to free the array when it is no longer needed.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_item_factory_add_foreign">
+<description>
+Installs an accelerator for @accel_widget in @accel_group, that causes
+the ::activate signal to be emitted if the accelerator is activated.
+
+This function can be used to make widgets participate in the accel
+saving/restoring functionality provided by gtk_accel_map_save() and
+gtk_accel_map_load(), even if they haven&apos;t been created by an item
+factory.
+
+Deprecated: 2.4: The recommended API for this purpose are the functions
+gtk_menu_item_set_accel_path() and gtk_widget_set_accel_path(); don&apos;t
+use gtk_item_factory_add_foreign() in new code, since it is likely to
+be removed in the future.
+
+</description>
+<parameters>
+<parameter name="accel_widget">
+<parameter_description> widget to install an accelerator on
+</parameter_description>
+</parameter>
+<parameter name="full_path">
+<parameter_description> the full path for the @accel_widget
+</parameter_description>
+</parameter>
+<parameter name="accel_group">
+<parameter_description> the accelerator group to install the accelerator in
+</parameter_description>
+</parameter>
+<parameter name="keyval">
+<parameter_description> key value of the accelerator
+</parameter_description>
+</parameter>
+<parameter name="modifiers">
+<parameter_description> modifier combination of the accelerator
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_get_line_wrap_mode">
+<description>
+Return value: %TRUE if the lines of the label are automatically wrapped.
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the lines of the label are automatically wrapped.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_paned_set_position">
+<description>
+Sets the position of the divider between the two panes.
+
+</description>
+<parameters>
+<parameter name="paned">
+<parameter_description> a #GtkPaned widget
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> pixel position of divider, a negative value means that the position
+is unset.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_get_urgency_hint">
+<description>
+Gets the value set by gtk_window_set_urgency_hint()
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if window is urgent
+
+Since: 2.8
+</return>
+</function>
+
+<function name="_gtk_file_chooser_delegate_iface_init">
+<description>
+An interface-initialization function for use in cases where
+an object is simply delegating the methods, signals of
+the #GtkFileChooser interface to another object.
+_gtk_file_chooser_set_delegate() must be called on each
+instance of the object so that the delegate object can
+be found.
+
+</description>
+<parameters>
+<parameter name="iface">
+<parameter_description> a #GtkFileChoserIface structure
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_window_set_is_active">
+<description>
+Internal function that sets whether the #GtkWindow is part
+of the currently active toplevel window (taking into account inter-process
+embedding.)
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="is_active">
+<parameter_description> %TRUE if the window is in the currently active toplevel
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_sortable_get_sort_column_id">
+<description>
+Fills in @sort_column_id and @order with the current sort column and the
+order. It returns %TRUE unless the @sort_column_id is
+%GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID or
+%GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID.
+
+
+</description>
+<parameters>
+<parameter name="sortable">
+<parameter_description> A #GtkTreeSortable
+</parameter_description>
+</parameter>
+<parameter name="sort_column_id">
+<parameter_description> The sort column id to be filled in
+</parameter_description>
+</parameter>
+<parameter name="order">
+<parameter_description> The #GtkSortType to be filled in
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the sort column is not one of the special sort
+column ids.
+</return>
+</function>
+
+<function name="_gtk_button_set_depressed">
+<description>
+Sets whether the button is currently drawn as down or not. This is
+purely a visual setting, and is meant only for use by derived widgets
+such as #GtkToggleButton.
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkButton
+</parameter_description>
+</parameter>
+<parameter name="depressed">
+<parameter_description> %TRUE if the button should be drawn with a recessed shadow.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_cell_editable_remove_widget">
+<description>
+Emits the #GtkCellEditable::remove-widget signal.
+
+</description>
+<parameters>
+<parameter name="cell_editable">
+<parameter_description> A #GtkTreeEditable
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_drag_dest_get_target_list">
+<description>
+Return value: the #GtkTargetList, or %NULL if none
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GtkTargetList, or %NULL if none
+</return>
+</function>
+
+<function name="GtkRadioAction">
+<description>
+The ::changed signal is emitted on every member of a radio group when the
+active member is changed. The signal gets emitted after the ::activate signals
+for the previous and current active members.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action on which the signal is emitted
+</parameter_description>
+</parameter>
+<parameter name="current">
+<parameter_description> the member of @action&amp;lt;!-- --&amp;gt;s group which has just been activated
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_operation_new">
+<description>
+Creates a new #GtkPrintOperation.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkPrintOperation
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_icon_view_set_selection_mode">
+<description>
+Sets the selection mode of the @icon_view.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView.
+</parameter_description>
+</parameter>
+<parameter name="mode">
+<parameter_description> The selection mode
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_get_rubber_banding">
+<description>
+Return value: %TRUE if rubber banding in @tree_view is enabled.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if rubber banding in @tree_view is enabled.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_action_group_list_actions">
+<description>
+Lists the actions in the action group.
+
+
+</description>
+<parameters>
+<parameter name="action_group">
+<parameter_description> the action group
+</parameter_description>
+</parameter>
+</parameters>
+<return> an allocated list of the action objects in the action group
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_recent_info_match">
+<description>
+Checks whether two #GtkRecentInfo structures point to the same
+resource.
+
+
+</description>
+<parameters>
+<parameter name="info_a">
+<parameter_description> a #GtkRecentInfo
+</parameter_description>
+</parameter>
+<parameter name="info_b">
+<parameter_description> a #GtkRecentInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if both #GtkRecentInfo structures point to se same
+resource, %FALSE otherwise.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_window_present">
+<description>
+Presents a window to the user. This may mean raising the window
+in the stacking order, deiconifying it, moving it to the current
+desktop, and/or giving it the keyboard focus, possibly dependent
+on the user&apos;s platform, window manager, and preferences.
+
+If @window is hidden, this function calls gtk_widget_show()
+as well.
+
+This function should be used when the user tries to open a window
+that&apos;s already open. Say for example the preferences dialog is
+currently open, and the user chooses Preferences from the menu
+a second time; use gtk_window_present() to move the already-open dialog
+where the user can see it.
+
+If you are calling this function in response to a user interaction,
+it is preferable to use gtk_window_present_with_time().
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_unselect_filename">
+<description>
+Unselects a currently selected filename. If the filename
+is not in the current directory, does not exist, or
+is otherwise not currently selected, does nothing.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="filename">
+<parameter_description> the filename to unselect
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_next_page">
+<description>
+Switches to the next page. Nothing happens if the current page is
+the last page.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_box_get_spacing">
+<description>
+Gets the value set by gtk_box_set_spacing().
+
+
+</description>
+<parameters>
+<parameter name="box">
+<parameter_description> a #GtkBox
+</parameter_description>
+</parameter>
+</parameters>
+<return> spacing between children
+</return>
+</function>
+
+<function name="gtk_page_setup_set_paper_size_and_default_margins">
+<description>
+Sets the paper size of the #GtkPageSetup and modifies
+the margins according to the new paper size.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> a #GtkPaperSize
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_color_button_get_alpha">
+<description>
+Return value: an integer between 0 and 65535.
+
+</description>
+<parameters>
+<parameter name="color_button">
+<parameter_description> a #GtkColorButton.
+</parameter_description>
+</parameter>
+</parameters>
+<return> an integer between 0 and 65535.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_window_propagate_key_event">
+<description>
+Propagate a key press or release event to the focus widget and
+up the focus container chain until a widget handles @event.
+This is normally called by the default ::key_press_event and
+::key_release_event handlers for toplevel windows,
+however in some cases it may be useful to call this directly when
+overriding the standard key handling for a toplevel window.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> a #GdkEventKey
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a widget in the focus chain handled the event.
+</return>
+</function>
+
+<function name="gtk_page_setup_get_left_margin">
+<description>
+Gets the left margin in units of @unit.
+
+
+</description>
+<parameters>
+<parameter name="setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the unit for the return value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the left margin
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_paper_size_get_default_bottom_margin">
+<description>
+Gets the default bottom margin for the #GtkPaperSize.
+
+
+</description>
+<parameters>
+<parameter name="size">
+<parameter_description> a #GtkPaperSize object
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the unit for the return value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the default bottom margin
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_targets_include_text">
+<description>
+Determines if any of the targets in @targets can be used to
+provide text.
+
+
+</description>
+<parameters>
+<parameter name="targets">
+<parameter_description> an array of #GdkAtom&amp;lt;!-- --&amp;gt;s
+</parameter_description>
+</parameter>
+<parameter name="n_targets">
+<parameter_description> the length of @targets
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @targets include a suitable target for text,
+otherwise %FALSE.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_model_filter_convert_iter_to_child_iter">
+<description>
+Sets @child_iter to point to the row pointed to by @filter_iter.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> A #GtkTreeModelFilter.
+</parameter_description>
+</parameter>
+<parameter name="child_iter">
+<parameter_description> An uninitialized #GtkTreeIter.
+</parameter_description>
+</parameter>
+<parameter name="filter_iter">
+<parameter_description> A valid #GtkTreeIter pointing to a row on @filter.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_action_group_add_toggle_actions">
+<description>
+This is a convenience function to create a number of toggle actions and add them
+to the action group.
+
+The &quot;activate&quot; signals of the actions are connected to the callbacks and
+their accel paths are set to
+&amp;lt;literal&amp;gt;&amp;lt;Actions&amp;gt;/&amp;lt;replaceable&amp;gt;group-name&amp;lt;/replaceable&amp;gt;/&amp;lt;replaceable&amp;gt;action-name&amp;lt;/replaceable&amp;gt;&amp;lt;/literal&amp;gt;.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action_group">
+<parameter_description> the action group
+</parameter_description>
+</parameter>
+<parameter name="entries">
+<parameter_description> an array of toggle action descriptions
+</parameter_description>
+</parameter>
+<parameter name="n_entries">
+<parameter_description> the number of entries
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> data to pass to the action callbacks
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_status_icon_get_visible">
+<description>
+Return value: %TRUE if the status icon is visible
+
+</description>
+<parameters>
+<parameter name="status_icon">
+<parameter_description> a #GtkStatusIcon
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the status icon is visible
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_notebook_get_tab_label_text">
+<description>
+Retrieves the text of the tab label for the page containing
+@child.
+
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> a widget contained in a page of @notebook
+</parameter_description>
+</parameter>
+</parameters>
+<return>value: the text of the tab label, or %NULL if the
+tab label widget is not a #GtkLabel. The
+string is owned by the widget and must not
+be freed.
+</return>
+</function>
+
+<function name="gtk_clipboard_wait_for_rich_text">
+<description>
+Requests the contents of the clipboard as rich text. This function
+waits for the data to be received using the main loop, so events,
+timeouts, etc, may be dispatched during the wait.
+
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="format">
+<parameter_description> return location for the format of the returned data
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> return location for the length of the returned data
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated binary block of data which must
+be freed with g_free(), or %NULL if retrieving
+the selection data failed. (This could happen
+for various reasons, in particular if the
+clipboard was empty or if the contents of the
+clipboard could not be converted into text form.)
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_window_get_group">
+<description>
+Returns: the #GtkWindowGroup for a window or the default group
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GtkWindowGroup for a window or the default group
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_window_set_destroy_with_parent">
+<description>
+If @setting is %TRUE, then destroying the transient parent of @window
+will also destroy @window itself. This is useful for dialogs that
+shouldn&apos;t persist beyond the lifetime of the main window they&apos;re
+associated with, for example.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> whether to destroy @window with its transient parent
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_cell_render">
+<description>
+Renders the cell contained by #tree_column. This is used primarily by the
+#GtkTreeView.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkDrawable to draw to
+</parameter_description>
+</parameter>
+<parameter name="background_area">
+<parameter_description> entire cell area (including tree expanders and maybe padding on the sides)
+</parameter_description>
+</parameter>
+<parameter name="cell_area">
+<parameter_description> area normally rendered by a cell renderer
+</parameter_description>
+</parameter>
+<parameter name="expose_area">
+<parameter_description> area that actually needs updating
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags that affect rendering
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_model_filter_set_modify_func">
+<description>
+With the @n_columns and @types parameters, you give an array of column
+types for this model (which will be exposed to the parent model/view).
+The @func, @data and @destroy parameters are for specifying the modify
+function. The modify function will get called for &amp;lt;emphasis&amp;gt;each&amp;lt;/emphasis&amp;gt;
+data access, the goal of the modify function is to return the data which
+should be displayed at the location specified using the parameters of the
+modify function.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> A #GtkTreeModelFilter.
+</parameter_description>
+</parameter>
+<parameter name="n_columns">
+<parameter_description> The number of columns in the filter model.
+</parameter_description>
+</parameter>
+<parameter name="types">
+<parameter_description> The #GType&amp;lt;!-- --&amp;gt;s of the columns.
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> A #GtkTreeModelFilterModifyFunc
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> User data to pass to the modify function, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> Destroy notifier of @data, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_image_new_from_stock">
+<description>
+Creates a #GtkImage displaying a stock icon. Sample stock icon
+names are #GTK_STOCK_OPEN, #GTK_STOCK_QUIT. Sample stock sizes
+are #GTK_ICON_SIZE_MENU, #GTK_ICON_SIZE_SMALL_TOOLBAR. If the stock
+icon name isn&apos;t known, the image will be empty.
+You can register your own stock icon names, see
+gtk_icon_factory_add_default() and gtk_icon_factory_add().
+
+
+</description>
+<parameters>
+<parameter name="stock_id">
+<parameter_description> a stock icon name
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> a stock icon size
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkImage displaying the stock icon
+</return>
+</function>
+
+<function name="gtk_tree_view_get_selection">
+<description>
+Gets the #GtkTreeSelection associated with @tree_view.
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A #GtkTreeSelection object.
+</return>
+</function>
+
+<function name="_gtk_file_chooser_get_file_system">
+<description>
+Gets the #GtkFileSystem of @chooser; this is an internal
+implementation detail, used for conversion between paths
+and filenames and URIs.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> the file system for @chooser.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_icon_view_unselect_all">
+<description>
+Unselects all the icons.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_file_chooser_get_current_folder_path">
+<description>
+Gets the current folder of @chooser as #GtkFilePath.
+See gtk_file_chooser_get_current_folder_uri().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GtkFilePath for the current folder.
+Free with gtk_file_path_free().
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_draw_check">
+<description>
+Draws a check button indicator in the given rectangle on @window with
+the given parameters.
+
+Deprecated: Use gtk_paint_check() instead.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> the type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the rectangle to draw the check in
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the rectangle to draw the check in
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the rectangle to draw the check in
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the rectangle to draw the check in
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_get_events">
+<description>
+Return value: event mask for @widget
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> event mask for @widget
+</return>
+</function>
+
+<function name="GtkCellRendererText">
+<description>
+This signal is emitted after @renderer has been edited.
+
+It is the responsibility of the application to update the model
+and store @new_text at the position indicated by @path.
+
+</description>
+<parameters>
+<parameter name="renderer">
+<parameter_description> the object which received the signal
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> the path identifying the edited cell
+</parameter_description>
+</parameter>
+<parameter name="new_text">
+<parameter_description> the new text
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_set_fixed_height_mode">
+<description>
+Enables or disables the fixed height mode of @tree_view.
+Fixed height mode speeds up #GtkTreeView by assuming that all
+rows have the same height.
+Only enable this option if all rows are the same height and all
+columns are of type %GTK_TREE_VIEW_COLUMN_FIXED.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="enable">
+<parameter_description> %TRUE to enable fixed height mode
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_layout_move_iter_to_previous_line">
+<description>
+Move the iterator to the beginning of the previous line. The lines
+of a wrapped paragraph are treated as distinct for this operation.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkLayout
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_text_layout_get_block_cursor">
+<description>
+If layout is to display a block cursor, calculates its position
+and returns %TRUE. Otherwise it returns %FALSE. In case when
+cursor is visible, it simply returns the position stored in
+the line display, otherwise it has to compute the position
+(see get_block_cursor()).
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkTextLayout
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> a #GdkRectangle to store block cursor position
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_frame_new">
+<description>
+Creates a new #GtkFrame, with optional label @label.
+If @label is %NULL, the label is omitted.
+
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> the text to use as the label of the frame
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkFrame widget
+</return>
+</function>
+
+<function name="gtk_tooltip_set_icon_from_stock">
+<description>
+Sets the icon of the tooltip (which is in front of the text) to be
+the stock item indicated by @stock_id with the size indicated
+by @size. If @stock_id is %NULL, the image will be hidden.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="tooltip">
+<parameter_description> a #GtkTooltip
+</parameter_description>
+</parameter>
+<parameter name="stock_id">
+<parameter_description> a stock icon name, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> a stock icon size
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_buildable_construct_child">
+<description>
+Constructs a child of @buildable with the name @name.
+
+#GtkBuilder calls this function if a &quot;constructor&quot; has been
+specified in the UI definition.
+
+
+</description>
+<parameters>
+<parameter name="buildable">
+<parameter_description> A #GtkBuildable
+</parameter_description>
+</parameter>
+<parameter name="builder">
+<parameter_description> #GtkBuilder used to construct this object
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> name of child to construct
+</parameter_description>
+</parameter>
+</parameters>
+<return> the constructed child
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_entry_completion_set_popup_single_match">
+<description>
+Sets whether the completion popup window will appear even if there is
+only a single match. You may want to set this to %FALSE if you
+are using &amp;lt;link linkend=&quot;GtkEntryCompletion--inline-completion&quot;&amp;gt;inline
+completion&amp;lt;/link&amp;gt;.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> a #GtkEntryCompletion
+</parameter_description>
+</parameter>
+<parameter name="popup_single_match">
+<parameter_description> %TRUE if the popup should appear even for a single
+match
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_model_get_iter_first">
+<description>
+Initializes @iter with the first iterator in the tree (the one at the path
+&quot;0&quot;) and returns %TRUE. Returns %FALSE if the tree is empty.
+
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> The uninitialized #GtkTreeIter.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE, if @iter was set.
+</return>
+</function>
+
+<function name="gtk_text_iter_forward_text_chars">
+<description>
+Moves backward by @count text characters (pixbufs, widgets,
+etc. do not count as characters for this). Equivalent to moving
+through the results of gtk_text_iter_get_text (), rather than
+gtk_text_iter_get_slice ().
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> number of chars to move
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @iter moved and is dereferenceable
+</return>
+</function>
+
+<function name="gtk_draw_shadow">
+<description>
+Draws a shadow around the given rectangle in @window
+using the given style and state and shadow type.
+
+Deprecated: Use gtk_paint_shadow() instead.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> width of the rectangle
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_filter_new">
+<description>
+Creates a new #GtkFileFilter with no rules added to it.
+Such a filter doesn&apos;t accept any files, so is not
+particularly useful until you add rules with
+gtk_file_filter_add_mime_type(), gtk_file_filter_add_pattern(),
+or gtk_file_filter_add_custom(). To create a filter
+that accepts any file, use:
+
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+GtkFileFilter *filter = gtk_file_filter_new (&amp;lt;!-- --&amp;gt;);
+gtk_file_filter_add_pattern (filter, &quot;*&quot;);
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkFileFilter
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tree_view_set_column_drag_function">
+<description>
+Sets a user function for determining where a column may be dropped when
+dragged. This function is called on every column pair in turn at the
+beginning of a column drag to determine where a drop can take place. The
+arguments passed to @func are: the @tree_view, the #GtkTreeViewColumn being
+dragged, the two #GtkTreeViewColumn s determining the drop spot, and
+@user_data. If either of the #GtkTreeViewColumn arguments for the drop spot
+are %NULL, then they indicate an edge. If @func is set to be %NULL, then
+@tree_view reverts to the default behavior of allowing all columns to be
+dropped everywhere.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView.
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> A function to determine which columns are reorderable, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> User data to be passed to @func, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> Destroy notifier for @user_data, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_combo_box_set_active">
+<description>
+Sets the active item of @combo_box to be the item at @index.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> A #GtkComboBox
+</parameter_description>
+</parameter>
+<parameter name="index_">
+<parameter_description> An index in the model passed during construction, or -1 to have
+no active item
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_page_num">
+<description>
+Finds the index of the page which contains the given child
+widget.
+
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the index of the page containing @child, or
+-1 if @child is not in the notebook.
+</return>
+</function>
+
+<function name="gtk_size_group_add_widget">
+<description>
+Adds a widget to a #GtkSizeGroup. In the future, the requisition
+of the widget will be determined as the maximum of its requisition
+and the requisition of the other widgets in the size group.
+Whether this applies horizontally, vertically, or in both directions
+depends on the mode of the size group. See gtk_size_group_set_mode().
+
+When the widget is destroyed or no longer referenced elsewhere, it will
+be removed from the size group.
+
+</description>
+<parameters>
+<parameter name="size_group">
+<parameter_description> a #GtkSizeGroup
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the #GtkWidget to add
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_paper_size_new_from_key_file">
+<description>
+Reads a paper size from the group @group_name in the key file
+@key_file.
+
+
+</description>
+<parameters>
+<parameter name="key_file">
+<parameter_description> the #GKeyFile to retrieve the papersize from
+</parameter_description>
+</parameter>
+<parameter name="group_name">
+<parameter_description> the name ofthe group in the key file to read,
+or %NULL to read the first group
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for an error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkPaperSize object with the restored
+paper size, or %NULL if an error occurred.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_icon_view_set_text_column">
+<description>
+Sets the column with text for @icon_view to be @column. The text
+column must be of type #G_TYPE_STRING.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView.
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> A column in the currently used model, or -1 to display no text
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_completion_get_text_column">
+<description>
+Return value: the column containing the strings
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> a #GtkEntryCompletion
+</parameter_description>
+</parameter>
+</parameters>
+<return> the column containing the strings
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_print_settings_set_collate">
+<description>
+Sets the value of %GTK_PRINT_SETTINGS_COLLATE.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="collate">
+<parameter_description> whether to collate the output
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_file_chooser_entry_set_file_system">
+<description>
+Sets the file system for @chooser_entry.
+
+</description>
+<parameters>
+<parameter name="chooser_entry">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="file_system">
+<parameter_description> an object implementing #GtkFileSystem
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_action_get_accel_path">
+<description>
+Returns: the accel path for this action, or %NULL
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+</parameters>
+<return> the accel path for this action, or %NULL
+if none is set. The returned string is owned by GTK+
+and must not be freed or modified.
+</return>
+</function>
+
+<function name="gtk_icon_view_item_activated">
+<description>
+Activates the item determined by @path.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> The #GtkTreePath to be activated
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_menu_shell_cancel">
+<description>
+Cancels the selection within the menu shell.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="menu_shell">
+<parameter_description> a #GtkMenuShell
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_accelerator_valid">
+<description>
+Determines whether a given keyval and modifier mask constitute
+a valid keyboard accelerator. For example, the #GDK_a keyval
+plus #GDK_CONTROL_MASK is valid - this is a &quot;Ctrl+a&quot; accelerator.
+But, you can&apos;t, for instance, use the #GDK_Control_L keyval
+as an accelerator.
+
+</description>
+<parameters>
+<parameter name="keyval">
+<parameter_description> a GDK keyval
+</parameter_description>
+</parameter>
+<parameter name="modifiers">
+<parameter_description> modifier mask
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the accelerator is valid
+</return>
+</function>
+
+<function name="gtk_label_get_layout">
+<description>
+Gets the #PangoLayout used to display the label.
+The layout is useful to e.g. convert text positions to
+pixel positions, in combination with gtk_label_get_layout_offsets().
+The returned layout is owned by the label so need not be
+freed by the caller.
+
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #PangoLayout for this label
+</return>
+</function>
+
+<function name="gtk_tooltip_set_text">
+<description>
+Sets the text of the tooltip to be @text. If @text is %NULL, the label
+will be hidden. See also gtk_tooltip_set_markup().
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="tooltip">
+<parameter_description> a #GtkTooltip
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> a text string or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_widget_propagate_hierarchy_changed">
+<description>
+Propagates changes in the anchored state to a widget and all
+children, unsetting or setting the %ANCHORED flag, and
+emitting #GtkWidget::hierarchy-changed.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="previous_toplevel">
+<parameter_description> Previous toplevel
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_get_position">
+<description>
+This function returns the position you need to pass to
+gtk_window_move() to keep @window in its current position. This
+means that the meaning of the returned value varies with window
+gravity. See gtk_window_move() for more details.
+
+If you haven&apos;t changed the window gravity, its gravity will be
+#GDK_GRAVITY_NORTH_WEST. This means that gtk_window_get_position()
+gets the position of the top-left corner of the window manager
+frame for the window. gtk_window_move() sets the position of this
+same top-left corner.
+
+gtk_window_get_position() is not 100% reliable because the X Window System
+does not specify a way to obtain the geometry of the
+decorations placed on a window by the window manager.
+Thus GTK+ is using a &quot;best guess&quot; that works with most
+window managers.
+
+Moreover, nearly all window managers are historically broken with
+respect to their handling of window gravity. So moving a window to
+its current position as returned by gtk_window_get_position() tends
+to result in moving the window slightly. Window managers are
+slowly getting better over time.
+
+If a window has gravity #GDK_GRAVITY_STATIC the window manager
+frame is not relevant, and thus gtk_window_get_position() will
+always produce accurate results. However you can&apos;t use static
+gravity to do things like place a window in a corner of the screen,
+because static gravity ignores the window manager decorations.
+
+If you are saving and restoring your application&apos;s window
+positions, you should know that it&apos;s impossible for applications to
+do this without getting it somewhat wrong because applications do
+not have sufficient knowledge of window manager state. The Correct
+Mechanism is to support the session management protocol (see the
+&quot;GnomeClient&quot; object in the GNOME libraries for example) and allow
+the window manager to save your window sizes and positions.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="root_x">
+<parameter_description> return location for X coordinate of gravity-determined reference p\oint
+</parameter_description>
+</parameter>
+<parameter name="root_y">
+<parameter_description> return location for Y coordinate of gravity-determined reference p\oint
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_manager_set_screen">
+<description>
+Sets the screen for a recent manager; the screen is used to
+track the user&apos;s currently configured recently used documents
+storage.
+
+Since: 2.10
+
+Deprecated: 2.12: This function has been deprecated and should
+not be used in newly written code. Calling this function has
+no effect.
+
+</description>
+<parameters>
+<parameter name="manager">
+<parameter_description> a #GtkRecentManager
+</parameter_description>
+</parameter>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_set_parent_window">
+<description>
+Sets a non default parent window for @widget.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget.
+</parameter_description>
+</parameter>
+<parameter name="parent_window">
+<parameter_description> the new parent window.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_model_sort_get_model">
+<description>
+Return value: the &quot;child model&quot; being sorted
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> a #GtkTreeModelSort
+</parameter_description>
+</parameter>
+</parameters>
+<return> the &quot;child model&quot; being sorted
+</return>
+</function>
+
+<function name="gtk_builder_new">
+<description>
+Creates a new builder object.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkBuilder object
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_font_button_set_show_size">
+<description>
+If @show_size is %TRUE, the font size will be displayed along with the name of the selected font.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="font_button">
+<parameter_description> a #GtkFontButton
+</parameter_description>
+</parameter>
+<parameter name="show_size">
+<parameter_description> %TRUE if font size should be displayed in dialog.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_set_tab_detachable">
+<description>
+Sets whether the tab can be detached from @notebook to another
+notebook or widget.
+
+Note that 2 notebooks must share a common group identificator
+(see gtk_notebook_set_group_id ()) to allow automatic tabs
+interchange between them.
+
+If you want a widget to interact with a notebook through DnD
+(i.e.: accept dragged tabs from it) it must be set as a drop
+destination and accept the target &quot;GTK_NOTEBOOK_TAB&quot;. The notebook
+will fill the selection with a GtkWidget** pointing to the child
+widget that corresponds to the dropped tab.
+
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+static void
+on_drop_zone_drag_data_received (GtkWidget *widget,
+GdkDragContext *context,
+gint x,
+gint y,
+GtkSelectionData *selection_data,
+guint info,
+guint time,
+gpointer user_data)
+{
+GtkWidget *notebook;
+GtkWidget **child;
+
+notebook = gtk_drag_get_source_widget (context);
+child = (void*) selection_data-&amp;gt;data;
+
+process_widget (*child);
+gtk_container_remove (GTK_CONTAINER (notebook), *child);
+}
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+If you want a notebook to accept drags from other widgets,
+you will have to set your own DnD code to do it.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> a child #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="detachable">
+<parameter_description> whether the tab is detachable or not
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_get_mnemonic_modifier">
+<description>
+Return value: the modifier mask used to activate
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> the modifier mask used to activate
+mnemonics on this window.
+</return>
+</function>
+
+<function name="GtkActionGroup">
+<description>
+The post_activate signal is emitted just after the @action in the
+@action_group is activated
+
+This is intended for #GtkUIManager to proxy the signal and provide global
+notification just after any action is activated.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action_group">
+<parameter_description> the group
+</parameter_description>
+</parameter>
+<parameter name="action">
+<parameter_description> the action
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_is_ancestor">
+<description>
+Determines whether @widget is somewhere inside @ancestor, possibly with
+intermediate containers.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="ancestor">
+<parameter_description> another #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @ancestor contains @widget as a child,
+grandchild, great grandchild, etc.
+</return>
+</function>
+
+<function name="gtk_window_unstick">
+<description>
+Asks to unstick @window, which means that it will appear on only
+one of the user&apos;s desktops. Note that you shouldn&apos;t assume the
+window is definitely unstuck afterward, because other entities
+(e.g. the user or &amp;lt;link linkend=&quot;gtk-X11-arch&quot;&amp;gt;window
+manager&amp;lt;/link&amp;gt;) could stick it again. But normally the window will
+end up stuck. Just don&apos;t write code that crashes if not.
+
+You can track stickiness via the &quot;window_state_event&quot; signal
+on #GtkWidget.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_paint_box">
+<description>
+Draws a box on @window with the given parameters.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> the type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> clip rectangle, or %NULL if the
+output should not be clipped
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> a style detail (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the box
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the box
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the box
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the box
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_set_indent">
+<description>
+Sets the default indentation for paragraphs in @text_view.
+Tags in the buffer may override the default.
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="indent">
+<parameter_description> indentation in pixels
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_text_btree_is_valid">
+<description>
+Check to see if the entire #GtkTextBTree is valid or not for
+the given view.
+
+
+</description>
+<parameters>
+<parameter name="tree">
+<parameter_description> a #GtkTextBTree
+</parameter_description>
+</parameter>
+<parameter name="view_id">
+<parameter_description> ID for the view
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the entire #GtkTextBTree is valid
+</return>
+</function>
+
+<function name="gtk_notebook_set_group">
+<description>
+Sets a group identificator pointer for @notebook, notebooks sharing
+the same group identificator pointer will be able to exchange tabs
+via drag and drop. A notebook with a %NULL group identificator will
+not be able to exchange tabs with any other notebook.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="group">
+<parameter_description> a pointer to identify the notebook group, or %NULL to unset it
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toggle_button_get_inconsistent">
+<description>
+Gets the value set by gtk_toggle_button_set_inconsistent().
+
+
+</description>
+<parameters>
+<parameter name="toggle_button">
+<parameter_description> a #GtkToggleButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the button is displayed as inconsistent, %FALSE otherwise
+</return>
+</function>
+
+<function name="gtk_file_chooser_get_use_preview_label">
+<description>
+Gets whether a stock label should be drawn with the name of the previewed
+file. See gtk_file_chooser_set_use_preview_label().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the file chooser is set to display a label with the
+name of the previewed file, %FALSE otherwise.
+</return>
+</function>
+
+<function name="gtk_text_layout_get_cursor_locations">
+<description>
+Given an iterator within a text layout, determine the positions of the
+strong and weak cursors if the insertion point is at that
+iterator. The position of each cursor is stored as a zero-width
+rectangle. The strong cursor location is the location where
+characters of the directionality equal to the base direction of the
+paragraph are inserted. The weak cursor location is the location
+where characters of the directionality opposite to the base
+direction of the paragraph are inserted.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkTextLayout
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="strong_pos">
+<parameter_description> location to store the strong cursor position (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="weak_pos">
+<parameter_description> location to store the weak cursor position (may be %NULL)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_unix_dialog_set_page_setup">
+<description>
+Sets the page setup of the #GtkPrintUnixDialog.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkPrintUnixDialog
+</parameter_description>
+</parameter>
+<parameter name="page_setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_set_auto_startup_notification">
+<description>
+By default, after showing the first #GtkWindow, GTK+ calls
+gdk_notify_startup_complete(). Call this function to disable
+the automatic startup notification. You might do this if your
+first window is a splash screen, and you want to delay notification
+until after your real main window has been shown, for example.
+
+In that example, you would disable startup notification
+temporarily, show your splash screen, then re-enable it so that
+showing the main window would automatically result in notification.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="setting">
+<parameter_description> %TRUE to automatically do startup notification
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_list_store_reorder">
+<description>
+Reorders @store to follow the order indicated by @new_order. Note that
+this function only works with unsorted stores.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="store">
+<parameter_description> A #GtkListStore.
+</parameter_description>
+</parameter>
+<parameter name="new_order">
+<parameter_description> an array of integers mapping the new position of each child
+to its old position before the re-ordering,
+i.e. @new_order&amp;lt;literal&amp;gt;[newpos] = oldpos&amp;lt;/literal&amp;gt;.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_get_serialize_formats">
+<description>
+This function returns the rich text serialize formats registered
+with @buffer using gtk_text_buffer_register_serialize_format() or
+gtk_text_buffer_register_serialize_tagset()
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="n_formats">
+<parameter_description> return location for the number of formats
+</parameter_description>
+</parameter>
+</parameters>
+<return> an array of #GdkAtom&amp;lt;!-- --&amp;gt;s representing the registered
+formats.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_text_buffer_get_iter_at_line">
+<description>
+Initializes @iter to the start of the given line.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> iterator to initialize
+</parameter_description>
+</parameter>
+<parameter name="line_number">
+<parameter_description> line number counting from 0
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_color_selection_palette_to_string">
+<description>
+Encodes a palette as a string, useful for persistent storage.
+
+
+</description>
+<parameters>
+<parameter name="colors">
+<parameter_description> an array of colors.
+</parameter_description>
+</parameter>
+<parameter name="n_colors">
+<parameter_description> length of the array.
+</parameter_description>
+</parameter>
+</parameters>
+<return> allocated string encoding the palette.
+</return>
+</function>
+
+<function name="gtk_selection_clear_targets">
+<description>
+Remove all targets registered for the given selection for the
+widget.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="selection">
+<parameter_description> an atom representing a selection
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tooltip_trigger_tooltip_query">
+<description>
+Triggers a new tooltip query on @display, in order to update the current
+visible tooltip, or to show/hide the current tooltip. This function is
+useful to call when, for example, the state of the widget changed by a
+key press.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_button_set_width_chars">
+<description>
+Sets the width (in characters) that @button will use to @n_chars.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> the button widget to examine.
+</parameter_description>
+</parameter>
+<parameter name="n_chars">
+<parameter_description> the new width, in characters.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_file_system_model_get_path">
+<description>
+Gets the path for a particular row in @model.
+
+
+</description>
+<parameters>
+<parameter name="model">
+<parameter_description> a #GtkFileSystemModel
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTreeIter pointing to a row of @model
+</parameter_description>
+</parameter>
+</parameters>
+<return> the path. This string is owned by @model and
+or freed. If you want to save the path for later use,
+you must make a copy, since the string may be freed
+on later changes to the file system.
+</return>
+</function>
+
+<function name="gtk_text_iter_forward_cursor_positions">
+<description>
+Moves up to @count cursor positions. See
+gtk_text_iter_forward_cursor_position() for details.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> number of positions to move
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if we moved and the new position is dereferenceable
+</return>
+</function>
+
+<function name="gtk_tree_view_column_get_title">
+<description>
+Return value: the title of the column. This string should not be
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the title of the column. This string should not be
+modified or freed.
+</return>
+</function>
+
+<function name="gtk_icon_size_get_name">
+<description>
+Gets the canonical name of the given icon size. The returned string
+is statically allocated and should not be freed.
+
+</description>
+<parameters>
+<parameter name="size">
+<parameter_description> a #GtkIconSize.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the name of the given icon size.
+</return>
+</function>
+
+<function name="gtk_button_get_label">
+<description>
+Fetches the text from the label of the button, as set by
+gtk_button_set_label(). If the label text has not
+been set the return value will be %NULL. This will be the
+case if you create an empty button with gtk_button_new() to
+use as a container.
+
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> The text of the label widget. This string is owned
+by the widget and must not be modified or freed.
+</return>
+</function>
+
+<function name="gtk_text_mark_get_left_gravity">
+<description>
+Determines whether the mark has left gravity.
+
+
+</description>
+<parameters>
+<parameter name="mark">
+<parameter_description> a #GtkTextMark
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the mark has left gravity, %FALSE otherwise
+</return>
+</function>
+
+<function name="_gtk_size_group_get_child_requisition">
+<description>
+Retrieve the &quot;child requisition&quot; of the widget, taking account grouping
+of the widget&apos;s requisition with other widgets.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="requisition">
+<parameter_description> location to store computed requisition.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_chooser_set_show_not_found">
+<description>
+Sets whether @chooser should display the recently used resources that
+it didn&apos;t find. This only applies to local resources.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+<parameter name="show_not_found">
+<parameter_description> whether to show the local items we didn&apos;t find
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_expander_get_spacing">
+<description>
+Gets the value set by gtk_expander_set_spacing().
+
+
+</description>
+<parameters>
+<parameter name="expander">
+<parameter_description> a #GtkExpander
+</parameter_description>
+</parameter>
+</parameters>
+<return> spacing between the expander and child.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_list_store_move_before">
+<description>
+Moves @iter in @store to the position before @position. Note that this
+function only works with unsorted stores. If @position is %NULL, @iter
+will be moved to the end of the list.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="store">
+<parameter_description> A #GtkListStore.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> A #GtkTreeIter.
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> A #GtkTreeIter, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_path">
+<description>
+Obtains the full path to @widget. The path is simply the name of a
+widget and all its parents in the container hierarchy, separated by
+periods. The name of a widget comes from
+gtk_widget_get_name(). Paths are used to apply styles to a widget
+in gtkrc configuration files. Widget names are the type of the
+widget by default (e.g. &quot;GtkButton&quot;) or can be set to an
+application-specific value with gtk_widget_set_name(). By setting
+the name of a widget, you allow users or theme authors to apply
+styles to that specific widget in their gtkrc
+file. @path_reversed_p fills in the path in reverse order,
+i.e. starting with @widget&apos;s name instead of starting with the name
+of @widget&apos;s outermost ancestor.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="path_length">
+<parameter_description> location to store length of the path, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> location to store allocated path string, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="path_reversed">
+<parameter_description> location to store allocated reverse path string, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_status_icon_new_from_pixbuf">
+<description>
+Creates a status icon displaying @pixbuf.
+
+The image will be scaled down to fit in the available
+space in the notification area, if necessary.
+
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> a #GdkPixbuf
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkStatusIcon
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_drag_set_icon_pixmap">
+<description>
+Sets @pixmap as the icon for a given drag. GTK+ retains
+references for the arguments, and will release them when
+they are no longer needed. In general, gtk_drag_set_icon_pixbuf()
+will be more convenient to use.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> the context for a drag. (This must be called
+with a context for the source side of a drag)
+</parameter_description>
+</parameter>
+<parameter name="colormap">
+<parameter_description> the colormap of the icon
+</parameter_description>
+</parameter>
+<parameter name="pixmap">
+<parameter_description> the image data for the icon
+</parameter_description>
+</parameter>
+<parameter name="mask">
+<parameter_description> the transparency mask for the icon
+</parameter_description>
+</parameter>
+<parameter name="hot_x">
+<parameter_description> the X offset within @pixmap of the hotspot.
+</parameter_description>
+</parameter>
+<parameter name="hot_y">
+<parameter_description> the Y offset within @pixmap of the hotspot.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_list_store_move_after">
+<description>
+Moves @iter in @store to the position after @position. Note that this
+function only works with unsorted stores. If @position is %NULL, @iter
+will be moved to the start of the list.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="store">
+<parameter_description> A #GtkListStore.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> A #GtkTreeIter.
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> A #GtkTreeIter or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_get_modified">
+<description>
+Indicates whether the buffer has been modified since the last call
+to gtk_text_buffer_set_modified() set the modification flag to
+%FALSE. Used for example to enable a &quot;save&quot; function in a text
+editor.
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the buffer has been modified
+</return>
+</function>
+
+<function name="gtk_text_buffer_remove_all_tags">
+<description>
+Removes all tags in the range between @start and @end. Be careful
+with this function; it could remove tags added in code unrelated to
+the code you&apos;re currently writing. That is, using this function is
+probably a bad idea if you have two or more unrelated code sections
+that add tags.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> one bound of range to be untagged
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> other bound of range to be untagged
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toolbar_get_orientation">
+<description>
+Retrieves the current orientation of the toolbar. See
+gtk_toolbar_set_orientation().
+
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar
+</parameter_description>
+</parameter>
+</parameters>
+<return> the orientation
+</return>
+</function>
+
+<function name="gtk_entry_get_layout_offsets">
+<description>
+
+Obtains the position of the #PangoLayout used to render text
+in the entry, in widget coordinates. Useful if you want to line
+up the text in an entry with some other text, e.g. when using the
+entry to implement editable cells in a sheet widget.
+
+Also useful to convert mouse events into coordinates inside the
+#PangoLayout, e.g. to take some action if some part of the entry text
+is clicked.
+
+Note that as the user scrolls around in the entry the offsets will
+change; you&apos;ll need to connect to the &quot;notify::scroll-offset&quot;
+signal to track this. Remember when using the #PangoLayout
+functions you need to convert to and from pixels using
+PANGO_PIXELS() or #PANGO_SCALE.
+
+Keep in mind that the layout text may contain a preedit string, so
+gtk_entry_layout_index_to_text_index() and
+gtk_entry_text_index_to_layout_index() are needed to convert byte
+indices in the layout to byte indices in the entry contents.
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> location to store X offset of layout, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> location to store Y offset of layout, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_action_set_sensitive">
+<description>
+Sets the ::sensitive property of the action to @sensitive. Note that
+this doesn&apos;t necessarily mean effective sensitivity. See
+gtk_action_is_sensitive()
+for that.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+<parameter name="sensitive">
+<parameter_description> %TRUE to make the action sensitive
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_register_deserialize_tagset">
+<description>
+This function registers GTK+&apos;s internal rich text serialization
+format with the passed @buffer. See
+gtk_text_buffer_register_serialize_tagset() for details.
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="tagset_name">
+<parameter_description> an optional tagset name, on %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkAtom that corresponds to the newly registered
+format&apos;s mime-type.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_window_set_wmclass">
+<description>
+Don&apos;t use this function. It sets the X Window System &quot;class&quot; and
+&quot;name&quot; hints for a window. According to the ICCCM, you should
+always set these to the same value for all windows in an
+application, and GTK+ sets them to that value by default, so calling
+this function is sort of pointless. However, you may want to call
+gtk_window_set_role() on each window in your application, for the
+benefit of the session manager. Setting the role allows the window
+manager to restore window positions when loading a saved session.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="wmclass_name">
+<parameter_description> window name hint
+</parameter_description>
+</parameter>
+<parameter name="wmclass_class">
+<parameter_description> window class hint
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_set_text_with_mnemonic">
+<description>
+Sets the label&apos;s text from the string @str.
+If characters in @str are preceded by an underscore, they are underlined
+indicating that they represent a keyboard accelerator called a mnemonic.
+The mnemonic key can be used to activate another widget, chosen
+automatically, or explicitly using gtk_label_set_mnemonic_widget().
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+<parameter name="str">
+<parameter_description> a string
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_source_get_filename">
+<description>
+Retrieves the source filename, or %NULL if none is set. The
+filename is not a copy, and should not be modified or expected to
+persist beyond the lifetime of the icon source.
+
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a #GtkIconSource
+</parameter_description>
+</parameter>
+</parameters>
+<return> image filename. This string must not be modified
+or freed.
+</return>
+</function>
+
+<function name="gtk_menu_get_tearoff_state">
+<description>
+Return value: %TRUE if the menu is currently torn off.
+
+</description>
+<parameters>
+<parameter name="menu">
+<parameter_description> a #GtkMenu
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the menu is currently torn off.
+</return>
+</function>
+
+<function name="gtk_text_iter_backward_find_char">
+<description>
+Same as gtk_text_iter_forward_find_char(), but goes backward from @iter.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="pred">
+<parameter_description> function to be called on each character
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data for @pred
+</parameter_description>
+</parameter>
+<parameter name="limit">
+<parameter_description> search limit, or %NULL for none
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether a match was found
+</return>
+</function>
+
+<function name="gtk_tree_model_get">
+<description>
+Gets the value of one or more cells in the row referenced by @iter.
+The variable argument list should contain integer column numbers,
+each column number followed by a place to store the value being
+retrieved. The list is terminated by a -1. For example, to get a
+value from column 0 with type %G_TYPE_STRING, you would
+write: &amp;lt;literal&amp;gt;gtk_tree_model_get (model, iter, 0, &amp;amp;place_string_here, -1)&amp;lt;/literal&amp;gt;,
+where &amp;lt;literal&amp;gt;place_string_here&amp;lt;/literal&amp;gt; is a &amp;lt;type&amp;gt;gchar*&amp;lt;/type&amp;gt; to be
+filled with the string.
+If appropriate, the returned values have to be freed or unreferenced.
+
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> a #GtkTreeModel
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a row in @tree_model
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> pairs of column number and value return locations, terminated by -1
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_range_set_increments">
+<description>
+Sets the step and page sizes for the range.
+The step size is used when the user clicks the #GtkScrollbar
+arrows or moves #GtkScale via arrow keys. The page size
+is used for example when moving via Page Up or Page Down keys.
+
+</description>
+<parameters>
+<parameter name="range">
+<parameter_description> a #GtkRange
+</parameter_description>
+</parameter>
+<parameter name="step">
+<parameter_description> step size
+</parameter_description>
+</parameter>
+<parameter name="page">
+<parameter_description> page size
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_viewport_set_vadjustment">
+<description>
+Sets the vertical adjustment of the viewport.
+
+</description>
+<parameters>
+<parameter name="viewport">
+<parameter_description> a #GtkViewport.
+</parameter_description>
+</parameter>
+<parameter name="adjustment">
+<parameter_description> a #GtkAdjustment.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_set_frame_dimensions">
+<description>
+(Note: this is a special-purpose function intended for the framebuffer
+port; see gtk_window_set_has_frame(). It will have no effect on the
+window border drawn by the window manager, which is the normal
+case when using the X Window system.)
+
+For windows with frames (see gtk_window_set_has_frame()) this function
+can be used to change the size of the frame border.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow that has a frame
+</parameter_description>
+</parameter>
+<parameter name="left">
+<parameter_description> The width of the left border
+</parameter_description>
+</parameter>
+<parameter name="top">
+<parameter_description> The height of the top border
+</parameter_description>
+</parameter>
+<parameter name="right">
+<parameter_description> The width of the right border
+</parameter_description>
+</parameter>
+<parameter name="bottom">
+<parameter_description> The height of the bottom border
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_filter_add_pattern">
+<description>
+Adds a rule allowing a shell style glob to a filter.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> a #GtkFileFilter
+</parameter_description>
+</parameter>
+<parameter name="pattern">
+<parameter_description> a shell style glob
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_color_button_new_with_color">
+<description>
+Creates a new color button.
+
+
+</description>
+<parameters>
+<parameter name="color">
+<parameter_description> A #GdkColor to set the current color with.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new color button.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_text_view_set_border_window_size">
+<description>
+Sets the width of %GTK_TEXT_WINDOW_LEFT or %GTK_TEXT_WINDOW_RIGHT,
+or the height of %GTK_TEXT_WINDOW_TOP or %GTK_TEXT_WINDOW_BOTTOM.
+Automatically destroys the corresponding window if the size is set
+to 0, and creates the window if the size is set to non-zero. This
+function can only be used for the &quot;border windows,&quot; it doesn&apos;t work
+with #GTK_TEXT_WINDOW_WIDGET, #GTK_TEXT_WINDOW_TEXT, or
+#GTK_TEXT_WINDOW_PRIVATE.
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> window to affect
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> width or height of the window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_container_get_focus_hadjustment">
+<description>
+Retrieves the horizontal focus adjustment for the container. See
+gtk_container_set_focus_hadjustment ().
+
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+</parameters>
+<return> the horizontal focus adjustment, or %NULL if
+none has been set.
+</return>
+</function>
+
+<function name="gtk_recent_info_has_group">
+<description>
+Checks whether @group_name appears inside the groups registered for the
+recently used item @info.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GtkRecentInfo
+</parameter_description>
+</parameter>
+<parameter name="group_name">
+<parameter_description> name of a group
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the group was found.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_view_column_queue_resize">
+<description>
+Flags the column, and the cell renderers added to this column, to have
+their sizes renegotiated.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_set_default_icon_from_file">
+<description>
+Sets an icon to be used as fallback for windows that haven&apos;t
+had gtk_window_set_icon_list() called on them from a file
+on disk. Warns on failure if @err is %NULL.
+
+
+</description>
+<parameters>
+<parameter name="filename">
+<parameter_description> location of icon file
+</parameter_description>
+</parameter>
+<parameter name="err">
+<parameter_description> location to store error, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if setting the icon succeeded.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_widget_add_accelerator">
+<description>
+Installs an accelerator for this @widget in @accel_group that causes
+@accel_signal to be emitted if the accelerator is activated.
+The @accel_group needs to be added to the widget&apos;s toplevel via
+gtk_window_add_accel_group(), and the signal must be of type %G_RUN_ACTION.
+Accelerators added through this function are not user changeable during
+runtime. If you want to support accelerators that can be changed by the
+user, use gtk_accel_map_add_entry() and gtk_widget_set_accel_path() or
+gtk_menu_item_set_accel_path() instead.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> widget to install an accelerator on
+</parameter_description>
+</parameter>
+<parameter name="accel_signal">
+<parameter_description> widget signal to emit on accelerator activation
+</parameter_description>
+</parameter>
+<parameter name="accel_group">
+<parameter_description> accel group for this widget, added to its toplevel
+</parameter_description>
+</parameter>
+<parameter name="accel_key">
+<parameter_description> GDK keyval of the accelerator
+</parameter_description>
+</parameter>
+<parameter name="accel_mods">
+<parameter_description> modifier key combination of the accelerator
+</parameter_description>
+</parameter>
+<parameter name="accel_flags">
+<parameter_description> flag accelerators, e.g. %GTK_ACCEL_VISIBLE
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_layout_clamp_iter_to_vrange">
+<description>
+If the iterator is not fully in the range @top &amp;lt;= y &amp;lt; @bottom,
+then, if possible, move it the minimum distance so that the
+iterator in this range.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkTextLayout
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="top">
+<parameter_description> the top of the range
+</parameter_description>
+</parameter>
+<parameter name="bottom">
+<parameter_description> the bottom the range
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the iterator was moved, otherwise %FALSE.
+</return>
+</function>
+
+<function name="gtk_builder_value_from_string_type">
+<description>
+Like gtk_builder_value_from_string(), this function demarshals
+a value from a string, but takes a #GType instead of #GParamSpec.
+This function calls g_value_init() on the @value argument, so it
+need not be initialised beforehand.
+
+
+</description>
+<parameters>
+<parameter name="builder">
+<parameter_description> a #GtkBuilder
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> the #GType of the value
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> the string representation of the value
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> the #GValue to store the result in
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for an error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE on success
+
+Since: 2.12
+</return>
+</function>
+
+<function name="GtkCellRendererPixbuf">
+<description>
+Specifies whether the rendered pixbuf should be colorized
+according to the #GtkCellRendererState.
+
+Since: 2.8
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_cell_renderer_set_fixed_size">
+<description>
+Sets the renderer size to be explicit, independent of the properties set.
+
+</description>
+<parameters>
+<parameter name="cell">
+<parameter_description> A #GtkCellRenderer
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the cell renderer, or -1
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the cell renderer, or -1
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_image_get_pixbuf">
+<description>
+Gets the #GdkPixbuf being displayed by the #GtkImage.
+The storage type of the image must be %GTK_IMAGE_EMPTY or
+%GTK_IMAGE_PIXBUF (see gtk_image_get_storage_type()).
+The caller of this function does not own a reference to the
+returned pixbuf.
+
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GtkImage
+</parameter_description>
+</parameter>
+</parameters>
+<return> the displayed pixbuf, or %NULL if the image is empty
+</return>
+</function>
+
+<function name="gtk_binding_entry_clear">
+<description>
+Use of this function is deprecated.
+
+</description>
+<parameters>
+<parameter name="binding_set">
+<parameter_description>
+</parameter_description>
+</parameter>
+<parameter name="keyval">
+<parameter_description>
+</parameter_description>
+</parameter>
+<parameter name="modifiers">
+<parameter_description>
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_filter_add_pattern">
+<description>
+Adds a rule that allows resources based on a pattern matching their
+display name.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> a #GtkRecentFilter
+</parameter_description>
+</parameter>
+<parameter name="pattern">
+<parameter_description> a file pattern
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_assistant_set_page_header_image">
+<description>
+Sets a header image for @page. This image is displayed in the header
+area of the assistant when @page is the current page.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="assistant">
+<parameter_description> a #GtkAssistant
+</parameter_description>
+</parameter>
+<parameter name="page">
+<parameter_description> a page of @assistant
+</parameter_description>
+</parameter>
+<parameter name="pixbuf">
+<parameter_description> the new header image @page
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_manager_purge_items">
+<description>
+Purges every item from the recently used resources list.
+
+
+</description>
+<parameters>
+<parameter name="manager">
+<parameter_description> a #GtkRecentManager
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> a return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of items that have been removed from the
+recently used resources list.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_text_iter_set_line_offset">
+<description>
+Moves @iter within a line, to a new &amp;lt;emphasis&amp;gt;character&amp;lt;/emphasis&amp;gt;
+(not byte) offset. The given character offset must be less than or
+equal to the number of characters in the line; if equal, @iter
+moves to the start of the next line. See
+gtk_text_iter_set_line_index() if you have a byte index rather than
+a character offset.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="char_on_line">
+<parameter_description> a character offset relative to the start of @iter&apos;s current line
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_printer_has_details">
+<description>
+Return value: %TRUE if @printer details are available
+
+</description>
+<parameters>
+<parameter name="printer">
+<parameter_description> a #GtkPrinter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @printer details are available
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_action_get_visible">
+<description>
+Return value: %TRUE if the action itself is visible.
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the action itself is visible.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_cell_renderer_spin_new">
+<description>
+Creates a new #GtkCellRendererSpin.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkCellRendererSpin
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_about_dialog_get_wrap_license">
+<description>
+Returns: %TRUE if the license text is wrapped
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the license text is wrapped
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gtk_builder_get_type_from_name">
+<description>
+Looks up a type by name, using the virtual function that
+#GtkBuilder has for that purpose.
+
+
+</description>
+<parameters>
+<parameter name="builder">
+<parameter_description> a #GtkBuilder
+</parameter_description>
+</parameter>
+<parameter name="type_name">
+<parameter_description> type name to lookup
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GType found for @type_name or #G_TYPE_INVALID
+if no type was found
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_text_view_scroll_to_mark">
+<description>
+Scrolls @text_view so that @mark is on the screen in the position
+indicated by @xalign and @yalign. An alignment of 0.0 indicates
+left or top, 1.0 indicates right or bottom, 0.5 means center.
+If @use_align is %FALSE, the text scrolls the minimal distance to
+get the mark onscreen, possibly not scrolling at all. The effective
+screen for purposes of this function is reduced by a margin of size
+@within_margin.
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="mark">
+<parameter_description> a #GtkTextMark
+</parameter_description>
+</parameter>
+<parameter name="within_margin">
+<parameter_description> margin as a [0.0,0.5) fraction of screen size
+</parameter_description>
+</parameter>
+<parameter name="use_align">
+<parameter_description> whether to use alignment arguments (if %FALSE, just
+get the mark onscreen)
+</parameter_description>
+</parameter>
+<parameter name="xalign">
+<parameter_description> horizontal alignment of mark within visible area
+</parameter_description>
+</parameter>
+<parameter name="yalign">
+<parameter_description> vertical alignment of mark within visible area
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_set_paper_width">
+<description>
+Sets the value of %GTK_PRINT_SETTINGS_PAPER_WIDTH.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the paper width
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the units of @width
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_move_column_after">
+<description>
+Moves @column to be after to @base_column. If @base_column is %NULL, then
+@column is placed in the first position.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> The #GtkTreeViewColumn to be moved.
+</parameter_description>
+</parameter>
+<parameter name="base_column">
+<parameter_description> The #GtkTreeViewColumn to be moved relative to, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_fullscreen">
+<description>
+Asks to place @window in the fullscreen state. Note that you
+shouldn&apos;t assume the window is definitely full screen afterward,
+because other entities (e.g. the user or &amp;lt;link
+linkend=&quot;gtk-X11-arch&quot;&amp;gt;window manager&amp;lt;/link&amp;gt;) could unfullscreen it
+again, and not all window managers honor requests to fullscreen
+windows. But normally the window will end up fullscreen. Just
+don&apos;t write code that crashes if not.
+
+You can track the fullscreen state via the &quot;window_state_event&quot; signal
+on #GtkWidget.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_list_store_clear">
+<description>
+Removes all rows from the list store.
+
+
+</description>
+<parameters>
+<parameter name="list_store">
+<parameter_description> a #GtkListStore.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_paper_size_get_ppd_name">
+<description>
+Gets the PPD name of the #GtkPaperSize, which
+may be %NULL.
+
+
+</description>
+<parameters>
+<parameter name="size">
+<parameter_description> a #GtkPaperSize object
+</parameter_description>
+</parameter>
+</parameters>
+<return> the PPD name of @size
+
+Since: 2.10
+</return>
+</function>
+
+<function name="GtkStyle">
+<description>
+Emitted when the group of radio menu items that a radio menu item belongs
+to changes. This is emitted when a radio menu item switches from
+being alone to being part of a group of 2 or more menu items, or
+vice-versa, and when a button is moved from one group of 2 or
+more menu items ton a different one, but not when the composition
+of the group that a menu item belongs to changes.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> the object which received the signal
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_drag_set_icon_name">
+<description>
+Sets the icon for a given drag from a named themed icon. See
+the docs for #GtkIconTheme for more details. Note that the
+size of the icon depends on the icon theme (the icon is
+loaded at the symbolic size #GTK_ICON_SIZE_DND), thus
+@hot_x and @hot_y have to be used with care.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> the context for a drag. (This must be called
+with a context for the source side of a drag)
+</parameter_description>
+</parameter>
+<parameter name="icon_name">
+<parameter_description> name of icon to use
+</parameter_description>
+</parameter>
+<parameter name="hot_x">
+<parameter_description> the X offset of the hotspot within the icon
+</parameter_description>
+</parameter>
+<parameter name="hot_y">
+<parameter_description> the Y offset of the hotspot within the icon
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_keynav_failed">
+<description>
+This function should be called whenever keyboard navigation within
+a single widget hits a boundary. The function emits the
+#GtkWidget::keynav-changed signal on the widget and its return
+value should be interpreted in a way similar to the return value of
+gtk_widget_child_focus():
+
+When %TRUE is returned, stay in the widget, the failed keyboard
+navigation is Ok and/or there is nowhere we can/should move the
+focus to.
+
+When %FALSE is returned, the caller should continue with keyboard
+navigation outside the widget, e.g. by calling
+gtk_widget_child_focus() on the widget&apos;s toplevel.
+
+The default ::keynav-failed handler returns %TRUE for
+%GTK_DIR_TAB_FORWARD and %GTK_DIR_TAB_BACKWARD. For the other
+values of #GtkDirectionType, it looks at the
+#GtkSettings:gtk-keynav-cursor-only&quot; setting and returns %FALSE
+if the setting is %TRUE. This way the entire user interface
+becomes cursor-navigatable on input devices such as mobile phones
+which only have cursor keys but no tab key.
+
+Whenever the default handler returns %TRUE, it also calls
+gtk_widget_error_bell() to notify the user of the failed keyboard
+navigation.
+
+A use case for providing an own implementation of ::keynav-failed
+(either by connecting to it or by overriding it) would be a row of
+#GtkEntry widgets where the user should be able to navigate the
+entire row with the cursor keys, as e.g. known from user interfaces
+that require entering license keys.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="direction">
+<parameter_description> direction of focus movement
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if stopping keyboard navigation is fine, %FALSE
+if the emitting widget should try to handle the keyboard
+navigation attempt in its parent container(s).
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_window_set_deletable">
+<description>
+By default, windows have a close button in the window frame. Some
+&amp;lt;link linkend=&quot;gtk-X11-arch&quot;&amp;gt;window managers&amp;lt;/link&amp;gt; allow GTK+ to
+disable this button. If you set the deletable property to %FALSE
+using this function, GTK+ will do its best to convince the window
+manager not to show a close button. Depending on the system, this
+function may not have any effect when called on a window that is
+already visible, so you should call it before calling gtk_window_show().
+
+On Windows, this function always works, since there&apos;s no window manager
+policy involved.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> %TRUE to decorate the window as deletable
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_set_uri">
+<description>
+Sets the file referred to by @uri as the current file for the file chooser,
+by changing to the URI&apos;s parent folder and actually selecting the URI in the
+list. If the @chooser is #GTK_FILE_CHOOSER_ACTION_SAVE mode, the URI&apos;s base
+name will also appear in the dialog&apos;s file name entry.
+
+If the URI isn&apos;t in the current folder of @chooser, then the current folder
+of @chooser will be changed to the folder containing @uri. This is equivalent
+to a sequence of gtk_file_chooser_unselect_all() followed by
+gtk_file_chooser_select_uri().
+
+Note that the URI must exist, or nothing will be done except
+for the directory change.
+If you are implementing a &amp;lt;guimenuitem&amp;gt;File/Save As...&amp;lt;/guimenuitem&amp;gt; dialog, you
+should use this function if you already have a file name to which the user may save; for example,
+when the user opens an existing file and then does &amp;lt;guimenuitem&amp;gt;File/Save As...&amp;lt;/guimenuitem&amp;gt;
+on it. If you don&apos;t have a file name already &amp;mdash; for example, if the user just created
+a new file and is saving it for the first time, do not call this function. Instead, use
+something similar to this:
+
+&amp;lt;programlisting&amp;gt;
+if (document_is_new)
+{
+/&amp;lt;!-- --&amp;gt;* the user just created a new document *&amp;lt;!-- --&amp;gt;/
+gtk_file_chooser_set_current_folder_uri (chooser, default_folder_for_saving);
+gtk_file_chooser_set_current_name (chooser, &quot;Untitled document&quot;);
+}
+else
+{
+/&amp;lt;!-- --&amp;gt;* the user edited an existing document *&amp;lt;!-- --&amp;gt;/
+gtk_file_chooser_set_uri (chooser, existing_uri);
+}
+&amp;lt;/programlisting&amp;gt;
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> the URI to set as current
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if both the folder could be changed and the URI was
+selected successfully, %FALSE otherwise.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_file_info_get_display_key">
+<description>
+Return value: The collate key for the display name, or %NULL
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GtkFileInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> The collate key for the display name, or %NULL
+if the display name hasn&apos;t been set.
+</return>
+</function>
+
+<function name="gtk_icon_source_set_direction_wildcarded">
+<description>
+If the text direction is wildcarded, this source can be used
+as the base image for an icon in any #GtkTextDirection.
+If the text direction is not wildcarded, then the
+text direction the icon source applies to should be set
+with gtk_icon_source_set_direction(), and the icon source
+will only be used with that text direction.
+
+#GtkIconSet prefers non-wildcarded sources (exact matches) over
+wildcarded sources, and will use an exact match when possible.
+
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a #GtkIconSource
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> %TRUE to wildcard the text direction
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_page_setup_set_orientation">
+<description>
+Sets the page orientation of the #GtkPageSetup.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+<parameter name="orientation">
+<parameter_description> a #GtkPageOrientation value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_invisible_new">
+<description>
+Creates a new #GtkInvisible.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkInvisible.
+</return>
+</function>
+
+<function name="GtkFontButton">
+<description>
+The ::font-set signal is emitted when the user selects a font.
+When handling this signal, use gtk_font_button_get_font_name()
+to find out which font was just selected.
+
+Note that this signal is only emitted when the &amp;lt;emphasis&amp;gt;user&amp;lt;/emphasis&amp;gt;
+changes the font. If you need to react to programmatic font changes
+as well, use the notify::font-name signal.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> the object which received the signal.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_set_visible_line_index">
+<description>
+Like gtk_text_iter_set_line_index(), but the index is in visible
+bytes, i.e. text with a tag making it invisible is not counted
+in the index.
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="byte_on_line">
+<parameter_description> a byte index
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_container_child_get_valist">
+<description>
+Gets the values of one or more child properties for @child and @container.
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> a widget which is a child of @container
+</parameter_description>
+</parameter>
+<parameter name="first_property_name">
+<parameter_description> the name of the first property to get
+</parameter_description>
+</parameter>
+<parameter name="var_args">
+<parameter_description> a %NULL-terminated list of property names and #GValue*,
+starting with @first_prop_name.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_view_set_cursor">
+<description>
+Sets the current keyboard focus to be at @path, and selects it. This is
+useful when you want to focus the user&apos;s attention on a particular item.
+If @cell is not %NULL, then focus is given to the cell specified by
+it. Additionally, if @start_editing is %TRUE, then editing should be
+started in the specified cell.
+
+This function is often followed by &amp;lt;literal&amp;gt;gtk_widget_grab_focus
+(icon_view)&amp;lt;/literal&amp;gt; in order to give keyboard focus to the widget.
+Please note that editing can only happen when the widget is realized.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> A #GtkTreePath
+</parameter_description>
+</parameter>
+<parameter name="cell">
+<parameter_description> One of the cell renderers of @icon_view, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="start_editing">
+<parameter_description> %TRUE if the specified cell should start being edited.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_range_get_lower_stepper_sensitivity">
+<description>
+Gets the sensitivity policy for the stepper that points to the
+&apos;lower&apos; end of the GtkRange&apos;s adjustment.
+
+
+</description>
+<parameters>
+<parameter name="range">
+<parameter_description> a #GtkRange
+</parameter_description>
+</parameter>
+</parameters>
+<return> The lower stepper&apos;s sensitivity policy.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_print_unix_dialog_get_settings">
+<description>
+Gets a new #GtkPrintSettings object that represents the
+current values in the print dialog. Note that this creates a
+&amp;lt;emphasis&amp;gt;new object&amp;lt;/emphasis&amp;gt;, and you need to unref it
+if don&apos;t want to keep it.
+
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkPrintUnixDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkPrintSettings object with the values from @dialog
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_plug_new">
+<description>
+Creates a new plug widget inside the #GtkSocket identified
+by @socket_id. If @socket_id is 0, the plug is left &quot;unplugged&quot; and
+can later be plugged into a #GtkSocket by gtk_socket_add_id().
+
+
+</description>
+<parameters>
+<parameter name="socket_id">
+<parameter_description> the window ID of the socket, or 0.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GtkPlug widget.
+</return>
+</function>
+
+<function name="gtk_window_get_opacity">
+<description>
+Fetches the requested opacity for this window. See
+gtk_window_set_opacity().
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> the requested opacity for this window.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_recent_chooser_get_show_numbers">
+<description>
+Return value: %TRUE if the recent chooser should show display numbers,
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the recent chooser should show display numbers,
+%FALSE otherwise.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_text_buffer_get_deserialize_formats">
+<description>
+This function returns the rich text deserialize formats registered
+with @buffer using gtk_text_buffer_register_deserialize_format() or
+gtk_text_buffer_register_deserialize_tagset()
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="n_formats">
+<parameter_description> return location for the number of formats
+</parameter_description>
+</parameter>
+</parameters>
+<return> an array of #GdkAtom&amp;lt;!-- --&amp;gt;s representing the registered
+formats.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_menu_attach">
+<description>
+Adds a new #GtkMenuItem to a (table) menu. The number of &apos;cells&apos; that
+an item will occupy is specified by @left_attach, @right_attach,
+@top_attach and @bottom_attach. These each represent the leftmost,
+rightmost, uppermost and lower column and row numbers of the table.
+(Columns and rows are indexed from zero).
+
+Note that this function is not related to gtk_menu_detach().
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="menu">
+<parameter_description> a #GtkMenu.
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> a #GtkMenuItem.
+</parameter_description>
+</parameter>
+<parameter name="left_attach">
+<parameter_description> The column number to attach the left side of the item to.
+</parameter_description>
+</parameter>
+<parameter name="right_attach">
+<parameter_description> The column number to attach the right side of the item to.
+</parameter_description>
+</parameter>
+<parameter name="top_attach">
+<parameter_description> The row number to attach the top of the item to.
+</parameter_description>
+</parameter>
+<parameter name="bottom_attach">
+<parameter_description> The row number to attach the bottom of the item to.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_list_store_insert_after">
+<description>
+Inserts a new row after @sibling. If @sibling is %NULL, then the row will be
+prepended to the beginning of the list. @iter will be changed to point to
+this new row. The row will be empty after this function is called. To fill
+in values, you need to call gtk_list_store_set() or gtk_list_store_set_value().
+
+
+</description>
+<parameters>
+<parameter name="list_store">
+<parameter_description> A #GtkListStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> An unset #GtkTreeIter to set to the new row
+</parameter_description>
+</parameter>
+<parameter name="sibling">
+<parameter_description> A valid #GtkTreeIter, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_scale_button_get_value">
+<description>
+Gets the current value of the scale button.
+
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkScaleButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> current value of the scale button
+
+Since: 2.12
+</return>
+</function>
+
+<function name="_gtk_window_unset_focus_and_default">
+<description>
+Checks whether the focus and default widgets of @window are
+@widget or a descendent of @widget, and if so, unset them.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> a widget inside of @window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_store_set_valuesv">
+<description>
+A variant of gtk_tree_store_set_valist() which takes
+the columns and values as two arrays, instead of varargs. This
+function is mainly intended for language bindings or in case
+the number of columns to change is not known until run-time.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="tree_store">
+<parameter_description> A #GtkTreeStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> A valid #GtkTreeIter for the row being modified
+</parameter_description>
+</parameter>
+<parameter name="columns">
+<parameter_description> an array of column numbers
+</parameter_description>
+</parameter>
+<parameter name="values">
+<parameter_description> an array of GValues
+</parameter_description>
+</parameter>
+<parameter name="n_values">
+<parameter_description> the length of the @columns and @values arrays
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_event_box_set_visible_window">
+<description>
+Set whether the event box uses a visible or invisible child
+window. The default is to use visible windows.
+
+In an invisible window event box, the window that the
+event box creates is a %GDK_INPUT_ONLY window, which
+means that it is invisible and only serves to receive
+events.
+
+A visible window event box creates a visible (%GDK_INPUT_OUTPUT)
+window that acts as the parent window for all the widgets
+contained in the event box.
+
+You should generally make your event box invisible if
+you just want to trap events. Creating a visible window
+may cause artifacts that are visible to the user, especially
+if the user is using a theme with gradients or pixmaps.
+
+The main reason to create a non input-only event box is if
+you want to set the background to a different color or
+draw on it.
+
+&amp;lt;note&amp;gt;&amp;lt;para&amp;gt;
+There is one unexpected issue for an invisible event box that has its
+window below the child. (See gtk_event_box_set_above_child().)
+Since the input-only window is not an ancestor window of any windows
+that descendent widgets of the event box create, events on these
+windows aren&apos;t propagated up by the windowing system, but only by GTK+.
+The practical effect of this is if an event isn&apos;t in the event
+mask for the descendant window (see gtk_widget_add_events()),
+it won&apos;t be received by the event box.
+&amp;lt;/para&amp;gt;&amp;lt;para&amp;gt;
+This problem doesn&apos;t occur for visible event boxes, because in
+that case, the event box window is actually the ancestor of the
+descendant windows, not just at the same place on the screen.
+&amp;lt;/para&amp;gt;&amp;lt;/note&amp;gt;
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="event_box">
+<parameter_description> a #GtkEventBox
+</parameter_description>
+</parameter>
+<parameter name="visible_window">
+<parameter_description> boolean value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_get_direction">
+<description>
+Gets the reading direction for a particular widget. See
+gtk_widget_set_direction().
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the reading direction for the widget.
+</return>
+</function>
+
+<function name="_gtk_file_chooser_select_path">
+<description>
+Selects the file referred to by @path. An internal function. See
+_gtk_file_chooser_select_uri().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> the path to select
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if both the folder could be changed and the path was
+selected successfully, %FALSE otherwise.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_font_button_get_title">
+<description>
+Retrieves the title of the font selection dialog.
+
+
+</description>
+<parameters>
+<parameter name="font_button">
+<parameter_description> a #GtkFontButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> an internal copy of the title string which must not be freed.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_init">
+<description>
+Call this function before using any other GTK+ functions in your GUI
+applications. It will initialize everything needed to operate the
+toolkit and parses some standard command line options. @argc and
+@argv are adjusted accordingly so your own code will
+never see those standard arguments.
+
+Note that there are some alternative ways to initialize GTK+:
+if you are calling gtk_parse_args(), gtk_init_check(),
+gtk_init_with_args() or g_option_context_parse() with
+the option group returned by gtk_get_option_group(), you
+&amp;lt;emphasis&amp;gt;don&apos;t&amp;lt;/emphasis&amp;gt; have to call gtk_init().
+
+&amp;lt;note&amp;gt;&amp;lt;para&amp;gt;
+This function will terminate your program if it was unable to initialize
+the GUI for some reason. If you want your program to fall back to a
+textual interface you want to call gtk_init_check() instead.
+&amp;lt;/para&amp;gt;&amp;lt;/note&amp;gt;
+
+</description>
+<parameters>
+<parameter name="argc">
+<parameter_description> Address of the &amp;lt;parameter&amp;gt;argc&amp;lt;/parameter&amp;gt; parameter of your
+main() function. Changed if any arguments were handled.
+</parameter_description>
+</parameter>
+<parameter name="argv">
+<parameter_description> Address of the &amp;lt;parameter&amp;gt;argv&amp;lt;/parameter&amp;gt; parameter of main().
+Any parameters understood by gtk_init() are stripped before return.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_set_line_index">
+<description>
+Same as gtk_text_iter_set_line_offset(), but works with a
+&amp;lt;emphasis&amp;gt;byte&amp;lt;/emphasis&amp;gt; index. The given byte index must be at
+the start of a character, it can&apos;t be in the middle of a UTF-8
+encoded character.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="byte_on_line">
+<parameter_description> a byte index relative to the start of @iter&apos;s current line
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_rc_property_parse_color">
+<description>
+A #GtkRcPropertyParser for use with gtk_settings_install_property_parser()
+or gtk_widget_class_install_style_property_parser() which parses a
+color given either by its name or in the form
+&amp;lt;literal&amp;gt;{ red, green, blue }&amp;lt;/literal&amp;gt; where %red, %green and
+%blue are integers between 0 and 65535 or floating-point numbers
+between 0 and 1.
+
+
+</description>
+<parameters>
+<parameter name="pspec">
+<parameter_description> a #GParamSpec
+</parameter_description>
+</parameter>
+<parameter name="gstring">
+<parameter_description> the #GString to be parsed
+</parameter_description>
+</parameter>
+<parameter name="property_value">
+<parameter_description> a #GValue which must hold #GdkColor values.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @gstring could be parsed and @property_value
+has been set to the resulting #GdkColor.
+</return>
+</function>
+
+<function name="gtk_recent_manager_get_default">
+<description>
+Gets a unique instance of #GtkRecentManager, that you can share
+in your application without caring about memory management. The
+returned instance will be freed when you application terminates.
+
+
+</description>
+<parameters>
+</parameters>
+<return> A unique #GtkRecentManager. Do not ref or unref it.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_dialog_response">
+<description>
+Emits the #GtkDialog::response signal with the given response ID.
+Used to indicate that the user has responded to the dialog in some way;
+typically either you or gtk_dialog_run() will be monitoring the
+::response signal and take appropriate action.
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkDialog
+</parameter_description>
+</parameter>
+<parameter name="response_id">
+<parameter_description> response ID
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_delete_mark">
+<description>
+Deletes @mark, so that it&apos;s no longer located anywhere in the
+buffer. Removes the reference the buffer holds to the mark, so if
+you haven&apos;t called g_object_ref() on the mark, it will be freed. Even
+if the mark isn&apos;t freed, most operations on @mark become
+invalid, until it gets added to a buffer again with
+gtk_text_buffer_add_mark(). Use gtk_text_mark_get_deleted() to
+find out if a mark has been removed from its buffer.
+The &quot;mark_deleted&quot; signal will be emitted as notification after
+the mark is deleted.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="mark">
+<parameter_description> a #GtkTextMark in @buffer
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_get_tag_table">
+<description>
+Get the #GtkTextTagTable associated with this buffer.
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> the buffer&apos;s tag table
+</return>
+</function>
+
+<function name="_gtk_key_hash_add_entry">
+<description>
+Inserts a pair of key symbol and modifier mask into the key hash.
+
+</description>
+<parameters>
+<parameter name="key_hash">
+<parameter_description> a #GtkKeyHash
+</parameter_description>
+</parameter>
+<parameter name="keyval">
+<parameter_description> key symbol for this binding
+</parameter_description>
+</parameter>
+<parameter name="modifiers">
+<parameter_description> modifiers for this binding
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> value to insert in the key hash
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_text_btree_validate_line">
+<description>
+Revalidate a single line of the btree for the given view, propagate
+results up through the entire tree.
+
+</description>
+<parameters>
+<parameter name="tree">
+<parameter_description> a #GtkTextBTree
+</parameter_description>
+</parameter>
+<parameter name="line">
+<parameter_description> line to validate
+</parameter_description>
+</parameter>
+<parameter name="view_id">
+<parameter_description> view ID for the view to validate
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_remove_tag_by_name">
+<description>
+Calls gtk_text_tag_table_lookup() on the buffer&apos;s tag table to
+get a #GtkTextTag, then calls gtk_text_buffer_remove_tag().
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> name of a #GtkTextTag
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> one bound of range to be untagged
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> other bound of range to be untagged
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_info_get_display_name">
+<description>
+Gets the display name for an icon. A display name is a
+string to be used in place of the icon name in a user
+visible context like a list of icons.
+
+
+</description>
+<parameters>
+<parameter name="icon_info">
+<parameter_description> a #GtkIconInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> the display name for the icon or %NULL, if
+the icon doesn&apos;t have a specified display name. This value
+is owned @icon_info and must not be modified or free.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tree_view_get_search_column">
+<description>
+Gets the column searched on by the interactive search code.
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+</parameters>
+<return> the column the interactive search code searches in.
+</return>
+</function>
+
+<function name="gtk_recent_chooser_set_show_private">
+<description>
+Whether to show recently used resources marked registered as private.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+<parameter name="show_private">
+<parameter_description> %TRUE to show private items, %FALSE otherwise
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_get_paper_width">
+<description>
+Gets the value of %GTK_PRINT_SETTINGS_PAPER_WIDTH,
+converted to @unit.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the unit for the return value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the paper width, in units of @unit
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_toggle_action_new">
+<description>
+Creates a new #GtkToggleAction object. To add the action to
+a #GtkActionGroup and set the accelerator for the action,
+call gtk_action_group_add_action_with_accel().
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> A unique name for the action
+</parameter_description>
+</parameter>
+<parameter name="label">
+<parameter_description> The label displayed in menu items and on buttons
+</parameter_description>
+</parameter>
+<parameter name="tooltip">
+<parameter_description> A tooltip for the action
+</parameter_description>
+</parameter>
+<parameter name="stock_id">
+<parameter_description> The stock icon to display in widgets representing the action
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkToggleAction
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_combo_box_get_add_tearoffs">
+<description>
+Gets the current value of the :add-tearoffs property.
+
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> a #GtkComboBox
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current value of the :add-tearoffs property.
+</return>
+</function>
+
+<function name="gtk_target_list_remove">
+<description>
+Removes a target from a target list.
+
+</description>
+<parameters>
+<parameter name="list">
+<parameter_description> a #GtkTargetList
+</parameter_description>
+</parameter>
+<parameter name="target">
+<parameter_description> the interned atom representing the target
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_action_group_set_sensitive">
+<description>
+Changes the sensitivity of @action_group
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action_group">
+<parameter_description> the action group
+</parameter_description>
+</parameter>
+<parameter name="sensitive">
+<parameter_description> new sensitivity
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_set_focus_on_map">
+<description>
+Windows may set a hint asking the desktop environment not to receive
+the input focus when the window is mapped. This function sets this
+hint.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> %TRUE to let this window receive input focus on map
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_range_get_restrict_to_fill_level">
+<description>
+Gets whether the range is restricted to the fill level.
+
+
+</description>
+<parameters>
+<parameter name="range">
+<parameter_description> A #GtkRange
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @range is restricted to the fill level.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_window_set_position">
+<description>
+Sets a position constraint for this window. If the old or new
+constraint is %GTK_WIN_POS_CENTER_ALWAYS, this will also cause
+the window to be repositioned to satisfy the new constraint.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow.
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> a position constraint.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_alternative_dialog_button_order">
+<description>
+Returns: Whether the alternative button order should be used
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen, or %NULL to use the default screen
+</parameter_description>
+</parameter>
+</parameters>
+<return> Whether the alternative button order should be used
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_tree_store_clear">
+<description>
+Removes all rows from @tree_store
+
+</description>
+<parameters>
+<parameter name="tree_store">
+<parameter_description> a #GtkTreeStore
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_job_get_track_print_status">
+<description>
+Return value: %TRUE if print job status will be reported after printing
+
+</description>
+<parameters>
+<parameter name="job">
+<parameter_description> a #GtkPrintJob
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if print job status will be reported after printing
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_recent_info_ref">
+<description>
+Increases the reference count of @recent_info by one.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GtkRecentInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> the recent info object with its reference count increased
+by one.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_print_context_get_page_setup">
+<description>
+Obtains the #GtkPageSetup that determines the page
+dimensions of the #GtkPrintContext.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkPrintContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> the page setup of @context
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_view_map_expanded_rows">
+<description>
+Calls @func on all expanded rows.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> A function to be called
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> User data to be passed to the function.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_selection_get_filename">
+<description>
+This function returns the selected filename in the GLib file name
+encoding. To convert to UTF-8, call g_filename_to_utf8(). The
+returned string points to a statically allocated buffer and should
+be copied if you plan to keep it around.
+
+If no file is selected then the selected directory path is returned.
+
+
+</description>
+<parameters>
+<parameter name="filesel">
+<parameter_description> a #GtkFileSelection
+</parameter_description>
+</parameter>
+</parameters>
+<return> currently-selected filename in the on-disk encoding.
+</return>
+</function>
+
+<function name="gtk_item_factory_set_translate_func">
+<description>
+Sets a function to be used for translating the path elements before they
+are displayed.
+
+Deprecated: 2.4:
+
+</description>
+<parameters>
+<parameter name="ifactory">
+<parameter_description> a #GtkItemFactory
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> the #GtkTranslateFunc function to be used to translate path elements
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to pass to @func and @notify
+</parameter_description>
+</parameter>
+<parameter name="notify">
+<parameter_description> a #GtkDestroyNotify function to be called when @ifactory is
+destroyed and when the translation function is changed again
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_select_region">
+<description>
+Selects a range of characters in the label, if the label is selectable.
+See gtk_label_set_selectable(). If the label is not selectable,
+this function has no effect. If @start_offset or
+@end_offset are -1, then the end of the label will be substituted.
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+<parameter name="start_offset">
+<parameter_description> start offset (in characters not bytes)
+</parameter_description>
+</parameter>
+<parameter name="end_offset">
+<parameter_description> end offset (in characters not bytes)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_insert_interactive_at_cursor">
+<description>
+Calls gtk_text_buffer_insert_interactive() at the cursor
+position.
+
+@default_editable indicates the editability of text that doesn&apos;t
+have a tag affecting editability applied to it. Typically the
+result of gtk_text_view_get_editable() is appropriate here.
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> text in UTF-8 format
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> length of text in bytes, or -1
+</parameter_description>
+</parameter>
+<parameter name="default_editable">
+<parameter_description> default editability of buffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether text was actually inserted
+</return>
+</function>
+
+<function name="gtk_text_iter_forward_word_ends">
+<description>
+Calls gtk_text_iter_forward_word_end() up to @count times.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> number of times to move
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter moved and is not the end iterator
+</return>
+</function>
+
+<function name="gtk_combo_box_entry_new_with_model">
+<description>
+Creates a new #GtkComboBoxEntry which has a #GtkEntry as child and a list
+of strings as popup. You can get the #GtkEntry from a #GtkComboBoxEntry
+using GTK_ENTRY (GTK_BIN (combo_box_entry)-&amp;gt;child). To add and remove
+strings from the list, just modify @model using its data manipulation
+API.
+
+
+</description>
+<parameters>
+<parameter name="model">
+<parameter_description> A #GtkTreeModel.
+</parameter_description>
+</parameter>
+<parameter name="text_column">
+<parameter_description> A column in @model to get the strings from.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A new #GtkComboBoxEntry.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_progress_bar_set_fraction">
+<description>
+Causes the progress bar to &quot;fill in&quot; the given fraction
+of the bar. The fraction should be between 0.0 and 1.0,
+inclusive.
+
+
+</description>
+<parameters>
+<parameter name="pbar">
+<parameter_description> a #GtkProgressBar
+</parameter_description>
+</parameter>
+<parameter name="fraction">
+<parameter_description> fraction of the task that&apos;s been completed
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_accel_group_find">
+<description>
+Finds the first entry in an accelerator group for which
+@find_func returns %TRUE and returns its #GtkAccelKey.
+
+
+</description>
+<parameters>
+<parameter name="accel_group">
+<parameter_description> a #GtkAccelGroup
+</parameter_description>
+</parameter>
+<parameter name="find_func">
+<parameter_description> a function to filter the entries of @accel_group with
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to pass to @find_func
+</parameter_description>
+</parameter>
+</parameters>
+<return> the key of the first entry passing @find_func. The key is
+owned by GTK+ and must not be freed.
+</return>
+</function>
+
+<function name="gtk_item_factory_new">
+<description>
+Creates a new #GtkItemFactory.
+
+Beware that the returned object does not have a floating reference.
+
+Deprecated: 2.4:
+
+</description>
+<parameters>
+<parameter name="container_type">
+<parameter_description> the kind of menu to create; can be
+#GTK_TYPE_MENU_BAR, #GTK_TYPE_MENU or #GTK_TYPE_OPTION_MENU
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> the factory path of the new item factory, a string of the form
+&amp;lt;literal&amp;gt;&quot;&amp;lt;name&amp;gt;&quot;&amp;lt;/literal&amp;gt;
+</parameter_description>
+</parameter>
+<parameter name="accel_group">
+<parameter_description> a #GtkAccelGroup to which the accelerators for the
+menu items will be added, or %NULL to create a new one
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkItemFactory
+</return>
+</function>
+
+<function name="GtkPaned">
+<description>
+The &quot;shrink&quot; child property determines whether the child can be made
+smaller than its requisition.
+
+Since: 2.4
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_path_copy">
+<description>
+Creates a new #GtkTreePath as a copy of @path.
+
+
+</description>
+<parameters>
+<parameter name="path">
+<parameter_description> A #GtkTreePath.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A new #GtkTreePath.
+</return>
+</function>
+
+<function name="gtk_text_view_set_tabs">
+<description>
+Sets the default tab stops for paragraphs in @text_view.
+Tags in the buffer may override the default.
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="tabs">
+<parameter_description> tabs as a #PangoTabArray
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_paint_string">
+<description>
+Draws a text string on @window with the given parameters.
+
+Deprecated: Use gtk_paint_layout() instead.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> clip rectangle, or %NULL if the
+output should not be clipped
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> a style detail (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> the string to draw
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_insert_column_with_data_func">
+<description>
+Convenience function that inserts a new column into the #GtkTreeView
+with the given cell renderer and a #GtkCellDataFunc to set cell renderer
+attributes (normally using data from the model). See also
+gtk_tree_view_column_set_cell_data_func(), gtk_tree_view_column_pack_start().
+If @tree_view has &quot;fixed_height&quot; mode enabled, then the new column will have its
+&quot;sizing&quot; property set to be GTK_TREE_VIEW_COLUMN_FIXED.
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> Position to insert, -1 for append
+</parameter_description>
+</parameter>
+<parameter name="title">
+<parameter_description> column title
+</parameter_description>
+</parameter>
+<parameter name="cell">
+<parameter_description> cell renderer for column
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> function to set attributes of cell renderer
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data for @func
+</parameter_description>
+</parameter>
+<parameter name="dnotify">
+<parameter_description> destroy notifier for @data
+</parameter_description>
+</parameter>
+</parameters>
+<return> number of columns in the tree view post-insert
+</return>
+</function>
+
+<function name="gtk_paned_get_position">
+<description>
+Obtains the position of the divider between the two panes.
+
+
+</description>
+<parameters>
+<parameter name="paned">
+<parameter_description> a #GtkPaned widget
+</parameter_description>
+</parameter>
+</parameters>
+<return> position of the divider
+</return>
+</function>
+
+<function name="gtk_action_group_add_toggle_actions_full">
+<description>
+This variant of gtk_action_group_add_toggle_actions() adds a
+#GDestroyNotify callback for @user_data.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action_group">
+<parameter_description> the action group
+</parameter_description>
+</parameter>
+<parameter name="entries">
+<parameter_description> an array of toggle action descriptions
+</parameter_description>
+</parameter>
+<parameter name="n_entries">
+<parameter_description> the number of entries
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> data to pass to the action callbacks
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> destroy notification callback for @user_data
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toolbar_prepend_widget">
+<description>
+Adds a widget to the beginning of the given toolbar.
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar.
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> a #GtkWidget to add to the toolbar.
+</parameter_description>
+</parameter>
+<parameter name="tooltip_text">
+<parameter_description> the element&apos;s tooltip.
+</parameter_description>
+</parameter>
+<parameter name="tooltip_private_text">
+<parameter_description> used for context-sensitive help about this toolbar element.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_scale_format_value">
+<description>
+Emits #GtkScale::format-value signal to format the value,
+if no user signal handlers, falls back to a default format.
+
+
+</description>
+<parameters>
+<parameter name="scale">
+<parameter_description> a #GtkScale
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> adjustment value
+</parameter_description>
+</parameter>
+</parameters>
+<return> formatted value
+</return>
+</function>
+
+<function name="gtk_im_context_get_surrounding">
+<description>
+Retrieves context around the insertion point. Input methods
+typically want context in order to constrain input text based on
+existing text; this is important for languages such as Thai where
+only some sequences of characters are allowed.
+
+This function is implemented by emitting the
+GtkIMContext::retrieve_surrounding signal on the input method; in
+response to this signal, a widget should provide as much context as
+is available, up to an entire paragraph, by calling
+gtk_im_context_set_surrounding(). Note that there is no obligation
+for a widget to respond to the ::retrieve_surrounding signal, so input
+methods must be prepared to function without context.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkIMContext
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> location to store a UTF-8 encoded string of text
+holding context around the insertion point.
+If the function returns %TRUE, then you must free
+the result stored in this location with g_free().
+</parameter_description>
+</parameter>
+<parameter name="cursor_index">
+<parameter_description> location to store byte index of the insertion cursor
+within @text.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if surrounding text was provided; in this case
+you must free the result stored in *text.
+</return>
+</function>
+
+<function name="gtk_text_iter_backward_visible_word_starts">
+<description>
+Calls gtk_text_iter_backward_visible_word_start() up to @count times.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> number of times to move
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter moved and is not the end iterator
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_calendar_mark_day">
+<description>
+Places a visual marker on a particular day.
+
+
+</description>
+<parameters>
+<parameter name="calendar">
+<parameter_description> a #GtkCalendar
+</parameter_description>
+</parameter>
+<parameter name="day">
+<parameter_description> the day number to mark between 1 and 31.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE, always
+</return>
+</function>
+
+<function name="gtk_item_factory_get_widget_by_action">
+<description>
+Obtains the widget which was constructed from the #GtkItemFactoryEntry
+with the given @action.
+
+If there are multiple items with the same action, the result is
+undefined.
+
+Deprecated: 2.4:
+
+</description>
+<parameters>
+<parameter name="ifactory">
+<parameter_description> a #GtkItemFactory
+</parameter_description>
+</parameter>
+<parameter name="action">
+<parameter_description> an action as specified in the @callback_action field
+of #GtkItemFactoryEntry
+</parameter_description>
+</parameter>
+</parameters>
+<return> the widget which corresponds to the given action, or %NULL
+if no widget was found
+</return>
+</function>
+
+<function name="gtk_print_settings_get_number_up">
+<description>
+Gets the value of %GTK_PRINT_SETTINGS_NUMBER_UP.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of pages per sheet
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_file_system_volume_get_display_name">
+<description>
+Queries the human-readable name for a @volume. This string can be displayed
+in a list of volumes that can be accessed, for example.
+
+
+</description>
+<parameters>
+<parameter name="file_system">
+<parameter_description> a #GtkFileSystem
+</parameter_description>
+</parameter>
+<parameter name="volume">
+<parameter_description> a #GtkFileSystemVolume
+</parameter_description>
+</parameter>
+</parameters>
+<return> A string with the human-readable name for a #GtkFileSystemVolume.
+</return>
+</function>
+
+<function name="gtk_text_iter_get_visible_line_index">
+<description>
+Return value: byte index of @iter with respect to the start of the line
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> byte index of @iter with respect to the start of the line
+</return>
+</function>
+
+<function name="gtk_toolbar_get_drop_index">
+<description>
+Return value: The position corresponding to the point (@x, @y) on the toolbar.
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x coordinate of a point on the toolbar
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y coordinate of a point on the toolbar
+</parameter_description>
+</parameter>
+</parameters>
+<return> The position corresponding to the point (@x, @y) on the toolbar.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_print_job_get_status">
+<description>
+Gets the status of the print job.
+
+
+</description>
+<parameters>
+<parameter name="job">
+<parameter_description> a #GtkPrintJob
+</parameter_description>
+</parameter>
+</parameters>
+<return> the status of @job
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_view_get_cell_area">
+<description>
+Fills the bounding rectangle in bin_window coordinates for the cell at the
+row specified by @path and the column specified by @column. If @path is
+%NULL, or points to a path not currently displayed, the @y and @height fields
+of the rectangle will be filled with 0. If @column is %NULL, the @x and @width
+fields will be filled with 0. The sum of all cell rects does not cover the
+entire tree; there are extra pixels in between rows, for example. The
+returned rectangle is equivalent to the @cell_area passed to
+gtk_cell_renderer_render(). This function is only valid if @tree_view is
+realized.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a #GtkTreePath for the row, or %NULL to get only horizontal coordinates
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> a #GtkTreeViewColumn for the column, or %NULL to get only vertical coordinates
+</parameter_description>
+</parameter>
+<parameter name="rect">
+<parameter_description> rectangle to fill with cell rect
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_create_child_anchor">
+<description>
+This is a convenience function which simply creates a child anchor
+with gtk_text_child_anchor_new() and inserts it into the buffer
+with gtk_text_buffer_insert_child_anchor(). The new anchor is
+owned by the buffer; no reference count is returned to
+the caller of gtk_text_buffer_create_child_anchor().
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> location in the buffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> the created child anchor
+</return>
+</function>
+
+<function name="gtk_accelerator_set_default_mod_mask">
+<description>
+Sets the modifiers that will be considered significant for keyboard
+accelerators. The default mod mask is #GDK_CONTROL_MASK |
+#GDK_SHIFT_MASK | #GDK_MOD1_MASK | #GDK_SUPER_MASK |
+#GDK_HYPER_MASK | #GDK_META_MASK, that is, Control, Shift, Alt,
+Super, Hyper and Meta. Other modifiers will by default be ignored
+by #GtkAccelGroup.
+You must include at least the three modifiers Control, Shift
+and Alt in any value you pass to this function.
+
+The default mod mask should be changed on application startup,
+before using any accelerator groups.
+
+</description>
+<parameters>
+<parameter name="default_mod_mask">
+<parameter_description> accelerator modifier mask
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_chooser_menu_new_for_manager">
+<description>
+Creates a new #GtkRecentChooserMenu widget using @manager as
+the underlying recently used resources manager.
+
+This is useful if you have implemented your own recent manager,
+or if you have a customized instance of a #GtkRecentManager
+object or if you wish to share a common #GtkRecentManager object
+among multiple #GtkRecentChooser widgets.
+
+
+</description>
+<parameters>
+<parameter name="manager">
+<parameter_description> a #GtkRecentManager
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkRecentChooserMenu, bound to @manager.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_cell_view_new">
+<description>
+Creates a new #GtkCellView widget.
+
+
+</description>
+<parameters>
+</parameters>
+<return> A newly created #GtkCellView widget.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_action_block_activate_from">
+<description>
+Disables calls to the gtk_action_activate()
+function by signals on the given proxy widget. This is used to
+break notification loops for things like check or radio actions.
+
+This function is intended for use by action implementations.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+<parameter name="proxy">
+<parameter_description> a proxy widget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_get_resizable">
+<description>
+Return value: %TRUE, if the @tree_column can be resized.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE, if the @tree_column can be resized.
+</return>
+</function>
+
+<function name="gtk_widget_set_tooltip_window">
+<description>
+Replaces the default, usually yellow, window used for displaying
+tooltips with @custom_window. GTK+ will take care of showing and
+hiding @custom_window at the right moment, to behave likewise as
+the default tooltip window. If @custom_window is %NULL, the default
+tooltip window will be used.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="custom_window">
+<parameter_description> a #GtkWindow, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_fixed_set_has_window">
+<description>
+Sets whether a #GtkFixed widget is created with a separate
+#GdkWindow for @widget-&amp;gt;window or not. (By default, it will be
+created with no separate #GdkWindow). This function must be called
+while the #GtkFixed is not realized, for instance, immediately after the
+window is created.
+
+This function was added to provide an easy migration path for
+older applications which may expect #GtkFixed to have a separate window.
+
+</description>
+<parameters>
+<parameter name="fixed">
+<parameter_description> a #GtkFixed
+</parameter_description>
+</parameter>
+<parameter name="has_window">
+<parameter_description> %TRUE if a separate window should be created
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_draw_diamond">
+<description>
+Draws a diamond in the given rectangle on @window using the given
+parameters.
+
+Deprecated: Use gtk_paint_diamond() instead.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> the type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the rectangle to draw the diamond in
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the rectangle to draw the diamond in
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of the rectangle to draw the diamond in
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height of the rectangle to draw the diamond in
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_theme_choose_icon">
+<description>
+Looks up a named icon and returns a structure containing
+information such as the filename of the icon. The icon
+can then be rendered into a pixbuf using
+gtk_icon_info_load_icon(). (gtk_icon_theme_load_icon()
+combines these two steps if all you need is the pixbuf.)
+
+If @icon_names contains more than one name, this function
+tries them all in the given order before falling back to
+inherited icon themes.
+
+
+</description>
+<parameters>
+<parameter name="icon_theme">
+<parameter_description> a #GtkIconTheme
+</parameter_description>
+</parameter>
+<parameter name="icon_names">
+<parameter_description> %NULL-terminated array of icon names to lookup
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> desired icon size
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags modifying the behavior of the icon lookup
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GtkIconInfo structure containing information
+about the icon, or %NULL if the icon wasn&apos;t found. Free with
+gtk_icon_info_free()
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_ui_manager_get_action">
+<description>
+Looks up an action by following a path. See gtk_ui_manager_get_widget()
+for more information about paths.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkUIManager
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a path
+</parameter_description>
+</parameter>
+</parameters>
+<return> the action whose proxy widget is found by following the path,
+or %NULL if no widget was found.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_icon_theme_prepend_search_path">
+<description>
+Prepends a directory to the search path.
+See gtk_icon_theme_set_search_path().
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="icon_theme">
+<parameter_description> a #GtkIconTheme
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> directory name to prepend to the icon path
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_menu_bar_cycle_focus">
+<description>
+Move the focus between menubars in the toplevel.
+
+</description>
+<parameters>
+<parameter name="menubar">
+<parameter_description> a #GtkMenuBar
+</parameter_description>
+</parameter>
+<parameter name="dir">
+<parameter_description> direction in which to cycle the focus
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_clipboard_wait_is_text_available">
+<description>
+Test to see if there is text available to be pasted
+This is done by requesting the TARGETS atom and checking
+if it contains any of the supported text targets. This function
+waits for the data to be received using the main loop, so events,
+timeouts, etc, may be dispatched during the wait.
+
+This function is a little faster than calling
+gtk_clipboard_wait_for_text() since it doesn&apos;t need to retrieve
+the actual text.
+
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE is there is text available, %FALSE otherwise.
+</return>
+</function>
+
+<function name="gtk_icon_view_selected_foreach">
+<description>
+Calls a function for each selected icon. Note that the model or
+selection cannot be modified from within this function.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView.
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> The funcion to call for each selected icon.
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> User data to pass to the function.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_action_get_show_numbers">
+<description>
+Return value: %TRUE if numbers should be shown.
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> a #GtkRecentAction
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if numbers should be shown.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_print_settings_set_page_ranges">
+<description>
+Sets the value of %GTK_PRINT_SETTINGS_PAGE_RANGES.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="page_ranges">
+<parameter_description> an array of #GtkPageRange&amp;lt;!-- --&amp;gt;s
+</parameter_description>
+</parameter>
+<parameter name="num_ranges">
+<parameter_description> the length of @page_ranges
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tool_button_set_icon_name">
+<description>
+Sets the icon for the tool button from a named themed icon.
+See the docs for #GtkIconTheme for more details.
+The &quot;icon_name&quot; property only has an effect if not
+overridden by non-%NULL &quot;label&quot;, &quot;icon_widget&quot; and &quot;stock_id&quot;
+properties.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkToolButton
+</parameter_description>
+</parameter>
+<parameter name="icon_name">
+<parameter_description> the name of the themed icon
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_prepend_page_menu">
+<description>
+Prepends a page to @notebook, specifying the widget to use as the
+label in the popup menu.
+
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the #GtkWidget to use as the contents of the page.
+</parameter_description>
+</parameter>
+<parameter name="tab_label">
+<parameter_description> the #GtkWidget to be used as the label for the page,
+or %NULL to use the default label, &apos;page N&apos;.
+</parameter_description>
+</parameter>
+<parameter name="menu_label">
+<parameter_description> the widget to use as a label for the page-switch
+menu, if that is enabled. If %NULL, and @tab_label
+is a #GtkLabel or %NULL, then the menu label will be
+a newly created label with the same text as @tab_label;
+If @tab_label is not a #GtkLabel, @menu_label must be
+specified if the page-switch menu is to be used.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the index (starting from 0) of the prepended
+page in the notebook, or -1 if function fails
+</return>
+</function>
+
+<function name="gtk_notebook_get_menu_label_text">
+<description>
+Retrieves the text of the menu label for the page containing
+@child.
+
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the child widget of a page of the notebook.
+</parameter_description>
+</parameter>
+</parameters>
+<return>value: the text of the tab label, or %NULL if the
+widget does not have a menu label other than
+the default menu label, or the menu label widget
+is not a #GtkLabel. The string is owned by
+the widget and must not be freed.
+</return>
+</function>
+
+<function name="gtk_image_set_from_icon_name">
+<description>
+See gtk_image_new_from_icon_name() for details.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GtkImage
+</parameter_description>
+</parameter>
+<parameter name="icon_name">
+<parameter_description> an icon name
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> an icon size
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_order">
+<description>
+Swaps the value of @first and @second if @second comes before
+@first in the buffer. That is, ensures that @first and @second are
+in sequence. Most text buffer functions that take a range call this
+automatically on your behalf, so there&apos;s no real reason to call it yourself
+in those cases. There are some exceptions, such as gtk_text_iter_in_range(),
+that expect a pre-sorted range.
+
+
+</description>
+<parameters>
+<parameter name="first">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="second">
+<parameter_description> another #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_paper_size_to_key_file">
+<description>
+This function adds the paper size from @size to @key_file.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="size">
+<parameter_description> a #GtkPaperSize
+</parameter_description>
+</parameter>
+<parameter name="key_file">
+<parameter_description> the #GKeyFile to save the paper size to
+</parameter_description>
+</parameter>
+<parameter name="group_name">
+<parameter_description> the group to add the settings to in @key_file
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_backward_word_starts">
+<description>
+Calls gtk_text_iter_backward_word_start() up to @count times.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> number of times to move
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter moved and is not the end iterator
+</return>
+</function>
+
+<function name="gtk_notebook_prepend_page">
+<description>
+Prepends a page to @notebook.
+
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the #GtkWidget to use as the contents of the page.
+</parameter_description>
+</parameter>
+<parameter name="tab_label">
+<parameter_description> the #GtkWidget to be used as the label for the page,
+or %NULL to use the default label, &apos;page N&apos;.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the index (starting from 0) of the prepended
+page in the notebook, or -1 if function fails
+</return>
+</function>
+
+<function name="gtk_buildable_parser_finished">
+<description>
+Called when the builder finishes the parsing of a
+&amp;lt;link linkend=&quot;BUILDER-UI&quot;&amp;gt;GtkBuilder UI definition&amp;lt;/link&amp;gt;.
+Note that this will be called once for each time
+gtk_builder_add_from_file() or gtk_builder_add_from_string()
+is called on a builder.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="buildable">
+<parameter_description> a #GtkBuildable
+</parameter_description>
+</parameter>
+<parameter name="builder">
+<parameter_description> a #GtkBuilder
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_view_set_markup_column">
+<description>
+Sets the column with markup information for @icon_view to be
+@column. The markup column must be of type #G_TYPE_STRING.
+If the markup column is set to something, it overrides
+the text column set by gtk_icon_view_set_text_column().
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView.
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> A column in the currently used model, or -1 to display no text
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_trigger_tooltip_query">
+<description>
+Triggers a tooltip query on the display where the toplevel of @widget
+is located. See gtk_tooltip_trigger_tooltip_query() for more
+information.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_separator_tool_item_set_draw">
+<description>
+When @separator_tool_items is drawn as a vertical line, or just blank.
+Setting this #FALSE along with gtk_tool_item_set_expand() is useful
+to create an item that forces following items to the end of the toolbar.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="item">
+<parameter_description> a #GtkSeparatorToolItem
+</parameter_description>
+</parameter>
+<parameter name="draw">
+<parameter_description> whether @separator_tool_item is drawn as a vertical line
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_box_query_child_packing">
+<description>
+Obtains information about how @child is packed into @box.
+
+</description>
+<parameters>
+<parameter name="box">
+<parameter_description> a #GtkBox
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the #GtkWidget of the child to query
+</parameter_description>
+</parameter>
+<parameter name="expand">
+<parameter_description> pointer to return location for #GtkBox:expand child property
+</parameter_description>
+</parameter>
+<parameter name="fill">
+<parameter_description> pointer to return location for #GtkBox:fill child property
+</parameter_description>
+</parameter>
+<parameter name="padding">
+<parameter_description> pointer to return location for #GtkBox:padding child property
+</parameter_description>
+</parameter>
+<parameter name="pack_type">
+<parameter_description> pointer to return location for #GtkBox:pack-type child property
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_system_volume_get_is_mounted">
+<description>
+Queries whether a #GtkFileSystemVolume is mounted or not. If it is not, it
+can be mounted with gtk_file_system_volume_mount().
+
+
+</description>
+<parameters>
+<parameter name="file_system">
+<parameter_description> a #GtkFileSystem
+</parameter_description>
+</parameter>
+<parameter name="volume">
+<parameter_description> a #GtkFileSystemVolume
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if the @volume is mounted, FALSE otherwise.
+</return>
+</function>
+
+<function name="gtk_font_button_get_font_name">
+<description>
+Retrieves the name of the currently selected font.
+
+
+</description>
+<parameters>
+<parameter name="font_button">
+<parameter_description> a #GtkFontButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> an internal copy of the font name which must not be freed.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tree_view_set_search_entry">
+<description>
+Sets the entry which the interactive search code will use for this
+@tree_view. This is useful when you want to provide a search entry
+in our interface at all time at a fixed position. Passing %NULL for
+@entry will make the interactive search code use the built-in popup
+entry again.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="entry">
+<parameter_description> the entry the interactive search code of @tree_view should use or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_rc_find_pixmap_in_path">
+<description>
+Looks up a file in pixmap path for the specified #GtkSettings.
+If the file is not found, it outputs a warning message using
+g_warning() and returns %NULL.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkSettings
+</parameter_description>
+</parameter>
+<parameter name="scanner">
+<parameter_description> Scanner used to get line number information for the
+warning message, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="pixmap_file">
+<parameter_description> name of the pixmap file to locate.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the filename.
+</return>
+</function>
+
+<function name="_gtk_file_chooser_entry_get_action">
+<description>
+Gets the action for this entry.
+
+
+</description>
+<parameters>
+<parameter name="chooser_entry">
+<parameter_description> a #GtkFileChooserEntry
+</parameter_description>
+</parameter>
+</parameters>
+<return> the action
+</return>
+</function>
+
+<function name="gtk_ui_manager_remove_ui">
+<description>
+Unmerges the part of @self&amp;lt;!-- --&amp;gt;s content identified by @merge_id.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkUIManager object
+</parameter_description>
+</parameter>
+<parameter name="merge_id">
+<parameter_description> a merge id as returned by gtk_ui_manager_add_ui_from_string()
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_combo_box_set_focus_on_click">
+<description>
+Sets whether the combo box will grab focus when it is clicked with
+the mouse. Making mouse clicks not grab focus is useful in places
+like toolbars where you don&apos;t want the keyboard focus removed from
+the main area of the application.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="combo">
+<parameter_description> a #GtkComboBox
+</parameter_description>
+</parameter>
+<parameter name="focus_on_click">
+<parameter_description> whether the combo box grabs focus when clicked
+with the mouse
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_container_set_focus_hadjustment">
+<description>
+Hooks up an adjustment to focus handling in a container, so when a child
+of the container is focused, the adjustment is scrolled to show that
+widget. This function sets the horizontal alignment.
+See gtk_scrolled_window_get_hadjustment() for a typical way of obtaining
+the adjustment and gtk_container_set_focus_vadjustment() for setting
+the vertical adjustment.
+
+The adjustments have to be in pixel units and in the same coordinate
+system as the allocation for immediate children of the container.
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+<parameter name="adjustment">
+<parameter_description> an adjustment which should be adjusted when the focus is
+moved among the descendents of @container
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_mark_get_visible">
+<description>
+Return value: %TRUE if visible
+
+</description>
+<parameters>
+<parameter name="mark">
+<parameter_description> a #GtkTextMark
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if visible
+</return>
+</function>
+
+<function name="gtk_icon_view_unset_model_drag_dest">
+<description>
+Undoes the effect of gtk_icon_view_enable_model_drag_dest().
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_get_frame_dimensions">
+<description>
+(Note: this is a special-purpose function intended for the
+framebuffer port; see gtk_window_set_has_frame(). It will not
+return the size of the window border drawn by the &amp;lt;link
+linkend=&quot;gtk-X11-arch&quot;&amp;gt;window manager&amp;lt;/link&amp;gt;, which is the normal
+case when using a windowing system. See
+gdk_window_get_frame_extents() to get the standard window border
+extents.)
+
+Retrieves the dimensions of the frame window for this toplevel.
+See gtk_window_set_has_frame(), gtk_window_set_frame_dimensions().
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="left">
+<parameter_description> location to store the width of the frame at the left, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="top">
+<parameter_description> location to store the height of the frame at the top, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="right">
+<parameter_description> location to store the width of the frame at the returns, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="bottom">
+<parameter_description> location to store the height of the frame at the bottom, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_set_select_multiple">
+<description>
+Sets whether multiple files can be selected in the file selector. This is
+only relevant if the action is set to be GTK_FILE_CHOOSER_ACTION_OPEN or
+GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="select_multiple">
+<parameter_description> %TRUE if multiple files can be selected.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkRadioButton">
+<description>
+Emitted when the group of radio buttons that a radio button belongs
+to changes. This is emitted when a radio button switches from
+being alone to being part of a group of 2 or more buttons, or
+vice-versa, and when a button is moved from one group of 2 or
+more buttons to a different one, but not when the composition
+of the group that a button belongs to changes.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> the object which received the signal
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_get_paper_size">
+<description>
+Gets the value of %GTK_PRINT_SETTINGS_PAPER_FORMAT,
+converted to a #GtkPaperSize.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return> the paper size
+
+Since: 2.10
+</return>
+</function>
+
+<function name="_gtk_file_chooser_entry_set_file_part">
+<description>
+Sets the current text shown in the file chooser entry.
+
+</description>
+<parameters>
+<parameter name="chooser_entry">
+<parameter_description> a #GtkFileChooserEntry
+</parameter_description>
+</parameter>
+<parameter name="file_part">
+<parameter_description> text to display in the entry, in UTF-8
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_get_use_markup">
+<description>
+Return value: %TRUE if the label&apos;s text will be parsed for markup.
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the label&apos;s text will be parsed for markup.
+</return>
+</function>
+
+<function name="gtk_image_get_storage_type">
+<description>
+Gets the type of representation being used by the #GtkImage
+to store image data. If the #GtkImage has no image data,
+the return value will be %GTK_IMAGE_EMPTY.
+
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GtkImage
+</parameter_description>
+</parameter>
+</parameters>
+<return> image representation being used
+</return>
+</function>
+
+<function name="gtk_tree_view_column_get_max_width">
+<description>
+Return value: The maximum width of the @tree_column.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The maximum width of the @tree_column.
+</return>
+</function>
+
+<function name="gtk_notebook_popup_enable">
+<description>
+Enables the popup menu: if the user clicks with the right mouse button on
+the bookmarks, a menu with all the pages will be popped up.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_hscale_new_with_range">
+<description>
+Creates a new horizontal scale widget that lets the user input a
+number between @min and @max (including @min and @max) with the
+increment @step. @step must be nonzero; it&apos;s the distance the
+slider moves when using the arrow keys to adjust the scale value.
+
+Note that the way in which the precision is derived works best if @step
+is a power of ten. If the resulting precision is not suitable for your
+needs, use gtk_scale_set_digits() to correct it.
+
+
+</description>
+<parameters>
+<parameter name="min">
+<parameter_description> minimum value
+</parameter_description>
+</parameter>
+<parameter name="max">
+<parameter_description> maximum value
+</parameter_description>
+</parameter>
+<parameter name="step">
+<parameter_description> step increment (tick size) used with keyboard shortcuts
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkHScale
+</return>
+</function>
+
+<function name="gtk_tree_model_get_column_type">
+<description>
+Return value: The type of the column.
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel.
+</parameter_description>
+</parameter>
+<parameter name="index_">
+<parameter_description> The column index.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The type of the column.
+</return>
+</function>
+
+<function name="gtk_toolbar_insert_space">
+<description>
+Inserts a new space in the toolbar at the specified position.
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> the number of widgets after which a space should be inserted.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_theme_list_icons">
+<description>
+Lists the icons in the current icon theme. Only a subset
+of the icons can be listed by providing a context string.
+The set of values for the context string is system dependent,
+but will typically include such values as &quot;Applications&quot; and
+&quot;MimeTypes&quot;.
+
+
+</description>
+<parameters>
+<parameter name="icon_theme">
+<parameter_description> a #GtkIconTheme
+</parameter_description>
+</parameter>
+<parameter name="context">
+<parameter_description> a string identifying a particular type of icon,
+or %NULL to list all icons.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GList list holding the names of all the
+icons in the theme. You must first free each element
+in the list with g_free(), then free the list itself
+with g_list_free().
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_text_buffer_register_deserialize_format">
+<description>
+This function registers a rich text deserialization @function along with
+its @mime_type with the passed @buffer.
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="mime_type">
+<parameter_description> the format&apos;s mime-type
+</parameter_description>
+</parameter>
+<parameter name="function">
+<parameter_description> the deserialize function to register
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> @function&apos;s user_data
+</parameter_description>
+</parameter>
+<parameter name="user_data_destroy">
+<parameter_description> a function to call when @user_data is no longer needed
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkAtom that corresponds to the newly registered
+format&apos;s mime-type.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_printer_get_job_count">
+<description>
+Gets the number of jobs currently queued on the printer.
+
+
+</description>
+<parameters>
+<parameter name="printer">
+<parameter_description> a #GtkPrinter
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of jobs on @printer
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_icon_view_create_drag_icon">
+<description>
+Creates a #GdkPixmap representation of the item at @path.
+This image is used for a drag icon.
+
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a #GtkTreePath in @icon_view
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated pixmap of the drag icon.
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gtk_tree_view_column_set_cell_data_func">
+<description>
+Sets the #GtkTreeViewColumnFunc to use for the column. This
+function is used instead of the standard attributes mapping for
+setting the column value, and should set the value of @tree_column&apos;s
+cell renderer as appropriate. @func may be %NULL to remove an
+older one.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+<parameter name="cell_renderer">
+<parameter_description> A #GtkCellRenderer
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> The #GtkTreeViewColumnFunc to use.
+</parameter_description>
+</parameter>
+<parameter name="func_data">
+<parameter_description> The user data for @func.
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> The destroy notification for @func_data
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toolbar_unset_style">
+<description>
+Unsets a toolbar style set with gtk_toolbar_set_style(), so that
+user preferences will be used to determine the toolbar style.
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_equal">
+<description>
+Tests whether two iterators are equal, using the fastest possible
+mechanism. This function is very fast; you can expect it to perform
+better than e.g. getting the character offset for each iterator and
+comparing the offsets yourself. Also, it&apos;s a bit faster than
+gtk_text_iter_compare().
+
+
+</description>
+<parameters>
+<parameter name="lhs">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="rhs">
+<parameter_description> another #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the iterators point to the same place in the buffer
+</return>
+</function>
+
+<function name="gtk_text_buffer_add_selection_clipboard">
+<description>
+Adds @clipboard to the list of clipboards in which the selection
+contents of @buffer are available. In most cases, @clipboard will be
+the #GtkClipboard of type %GDK_SELECTION_PRIMARY for a view of @buffer.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_get_focus_on_map">
+<description>
+Gets the value set by gtk_window_set_focus_on_map().
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if window should receive the input focus when
+mapped.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_text_attr_appearance_new">
+<description>
+Create a new font description attribute. (This attribute
+allows setting family, style, weight, variant, stretch,
+and size simultaneously.)
+
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description>
+</parameter_description>
+</parameter>
+</parameters>
+<return>
+</return>
+</function>
+
+<function name="gtk_button_set_use_stock">
+<description>
+If %TRUE, the label set on the button is used as a
+stock id to select the stock item for the button.
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkButton
+</parameter_description>
+</parameter>
+<parameter name="use_stock">
+<parameter_description> %TRUE if the button should use a stock item
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkRadioToolButton">
+<description>
+Sets a new group for a radio tool button.
+
+Since: 2.4
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tool_item_get_expand">
+<description>
+Return value: %TRUE if @tool_item is allocated extra space.
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem:
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @tool_item is allocated extra space.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_radio_tool_button_get_group">
+<description>
+Return value: The group @button belongs to.
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkRadioToolButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> The group @button belongs to.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_about_dialog_set_logo">
+<description>
+Sets the pixbuf to be displayed as logo in
+the about dialog. If it is %NULL, the default
+window icon set with gtk_window_set_default_icon ()
+will be used.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+<parameter name="logo">
+<parameter_description> a #GdkPixbuf, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_page_setup_copy">
+<description>
+Copies a #GtkPageSetup.
+
+
+</description>
+<parameters>
+<parameter name="other">
+<parameter_description> the #GtkPageSetup to copy
+</parameter_description>
+</parameter>
+</parameters>
+<return> a copy of @other
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_size_group_get_mode">
+<description>
+Gets the current mode of the size group. See gtk_size_group_set_mode().
+
+
+</description>
+<parameters>
+<parameter name="size_group">
+<parameter_description> a #GtkSizeGroup
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current mode of the size group.
+</return>
+</function>
+
+<function name="gtk_tree_view_get_model">
+<description>
+Return value: A #GtkTreeModel, or %NULL if none is currently being used.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+</parameters>
+<return> A #GtkTreeModel, or %NULL if none is currently being used.
+</return>
+</function>
+
+<function name="gtk_label_get_max_width_chars">
+<description>
+Retrieves the desired maximum width of @label, in characters. See
+gtk_label_set_width_chars().
+
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+</parameters>
+<return> the maximum width of the label in characters.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_paint_shadow">
+<description>
+Draws a shadow around the given rectangle in @window
+using the given style and state and shadow type.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> clip rectangle or %NULL if the
+output should not be clipped
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> a style detail (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> width of the rectangle
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkScrolledWindow">
+<description>
+Whether to place scrollbars within the scrolled window&apos;s bevel.
+
+Since: 2.12
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_completion_get_popup_single_match">
+<description>
+Return value: %TRUE if the popup window will appear regardless of the
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> a #GtkEntryCompletion
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the popup window will appear regardless of the
+number of matches.
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gtk_tool_item_set_tooltip">
+<description>
+Sets the #GtkTooltips object to be used for @tool_item, the
+text to be displayed as tooltip on the item and the private text
+to be used. See gtk_tooltips_set_tip().
+
+Since: 2.4
+
+Deprecated: 2.12: Use gtk_tool_item_set_tooltip_text() instead.
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem:
+</parameter_description>
+</parameter>
+<parameter name="tooltips">
+<parameter_description> The #GtkTooltips object to be used
+</parameter_description>
+</parameter>
+<parameter name="tip_text">
+<parameter_description> text to be used as tooltip text for @tool_item
+</parameter_description>
+</parameter>
+<parameter name="tip_private">
+<parameter_description> text to be used as private tooltip text
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_prev_page">
+<description>
+Switches to the previous page. Nothing happens if the current page
+is the first page.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_theme_load_icon">
+<description>
+Looks up an icon in an icon theme, scales it to the given size
+and renders it into a pixbuf. This is a convenience function;
+if more details about the icon are needed, use
+gtk_icon_theme_lookup_icon() followed by gtk_icon_info_load_icon().
+
+Note that you probably want to listen for icon theme changes and
+update the icon. This is usually done by connecting to the
+GtkWidget::style-set signal. If for some reason you do not want to
+update the icon when the icon theme changes, you should consider
+using gdk_pixbuf_copy() to make a private copy of the pixbuf
+returned by this function. Otherwise GTK+ may need to keep the old
+icon theme loaded, which would be a waste of memory.
+
+
+</description>
+<parameters>
+<parameter name="icon_theme">
+<parameter_description> a #GtkIconTheme
+</parameter_description>
+</parameter>
+<parameter name="icon_name">
+<parameter_description> the name of the icon to lookup
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the desired icon size. The resulting icon may not be
+exactly this size; see gtk_icon_info_load_icon().
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags modifying the behavior of the icon lookup
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> Location to store error information on failure, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the rendered icon; this may be a newly created icon
+or a new reference to an internal icon, so you must not modify
+the icon. Use g_object_unref() to release your reference to the
+icon. %NULL if the icon isn&apos;t found.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_text_buffer_get_text">
+<description>
+Return value: an allocated UTF-8 string
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> start of a range
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> end of a range
+</parameter_description>
+</parameter>
+<parameter name="include_hidden_chars">
+<parameter_description> whether to include invisible text
+</parameter_description>
+</parameter>
+</parameters>
+<return> an allocated UTF-8 string
+</return>
+</function>
+
+<function name="gtk_color_selection_get_has_opacity_control">
+<description>
+Determines whether the colorsel has an opacity control.
+
+
+</description>
+<parameters>
+<parameter name="colorsel">
+<parameter_description> a #GtkColorSelection.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the @colorsel has an opacity control. %FALSE if it does&apos;t.
+</return>
+</function>
+
+<function name="gtk_print_unix_dialog_get_selected_printer">
+<description>
+Gets the currently selected printer.
+
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkPrintUnixDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> the currently selected printer
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_file_system_parse">
+<description>
+Given a string entered by a user, parse it (possibly using
+heuristics) into a folder path and a UTF-8 encoded
+filename part. (Suitable for passing to gtk_file_system_make_path())
+
+Note that the returned filename point may point to a subfolder
+of the returned folder. Adding a trailing path separator is needed
+to enforce the interpretation as a folder name.
+
+If parsing fails because the syntax of @str is not understood,
+and error of type GTK_FILE_SYSTEM_ERROR_BAD_FILENAME will
+be set in @error and %FALSE returned.
+
+If parsing fails because a path was encountered that doesn&apos;t
+exist on the filesystem, then an error of type
+%GTK_FILE_SYSTEM_ERROR_NONEXISTENT will be set in @error
+and %FALSE returned. (This only applies to parsing relative paths,
+not to interpretation of @file_part. No check is made as
+to whether @file_part exists.)
+
+
+</description>
+<parameters>
+<parameter name="file_system">
+<parameter_description> a #GtkFileSystem
+</parameter_description>
+</parameter>
+<parameter name="base_path">
+<parameter_description> reference folder with respect to which relative
+paths should be interpreted.
+</parameter_description>
+</parameter>
+<parameter name="str">
+<parameter_description> the string to parse
+</parameter_description>
+</parameter>
+<parameter name="folder">
+<parameter_description> location to store folder portion of result, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="file_part">
+<parameter_description> location to store file portion of result, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the parsing succeeds, otherwise, %FALSE.
+</return>
+</function>
+
+<function name="gtk_drag_begin">
+<description>
+Initiates a drag on the source side. The function
+only needs to be used when the application is
+starting drags itself, and is not needed when
+gtk_drag_source_set() is used.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> the source widget.
+</parameter_description>
+</parameter>
+<parameter name="targets">
+<parameter_description> The targets (data formats) in which the
+source can provide the data.
+</parameter_description>
+</parameter>
+<parameter name="actions">
+<parameter_description> A bitmask of the allowed drag actions for this drag.
+</parameter_description>
+</parameter>
+<parameter name="button">
+<parameter_description> The button the user clicked to start the drag.
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> The event that triggered the start of the drag.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the context for this drag.
+</return>
+</function>
+
+<function name="gtk_paper_size_get_display_name">
+<description>
+Gets the human-readable name of the #GtkPaperSize.
+
+
+</description>
+<parameters>
+<parameter name="size">
+<parameter_description> a #GtkPaperSize object
+</parameter_description>
+</parameter>
+</parameters>
+<return> the human-readable name of @size
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_window_set_accept_focus">
+<description>
+Windows may set a hint asking the desktop environment not to receive
+the input focus. This function sets this hint.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> %TRUE to let this window receive input focus
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_chooser_widget_new">
+<description>
+Creates a new #GtkRecentChooserWidget object. This is an embeddable widget
+used to access the recently used resources list.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkRecentChooserWidget
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_model_filter_new">
+<description>
+Creates a new #GtkTreeModel, with @child_model as the child_model
+and @root as the virtual root.
+
+
+</description>
+<parameters>
+<parameter name="child_model">
+<parameter_description> A #GtkTreeModel.
+</parameter_description>
+</parameter>
+<parameter name="root">
+<parameter_description> A #GtkTreePath or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A new #GtkTreeModel.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_assistant_get_nth_page">
+<description>
+Return value: The child widget, or %NULL if @page_num is out of bounds.
+
+</description>
+<parameters>
+<parameter name="assistant">
+<parameter_description> a #GtkAssistant
+</parameter_description>
+</parameter>
+<parameter name="page_num">
+<parameter_description> The index of a page in the @assistant, or -1 to get the last page;
+</parameter_description>
+</parameter>
+</parameters>
+<return> The child widget, or %NULL if @page_num is out of bounds.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="GtkToolbar">
+<description>
+Is %TRUE if the icon-size property has been set.
+
+Since: 2.10
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_im_context_set_use_preedit">
+<description>
+Sets whether the IM context should use the preedit string
+to display feedback. If @use_preedit is FALSE (default
+is TRUE), then the IM context may use some other method to display
+feedback, such as displaying it in a child of the root window.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkIMContext
+</parameter_description>
+</parameter>
+<parameter name="use_preedit">
+<parameter_description> whether the IM context should use the preedit string.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_misc_get_alignment">
+<description>
+Gets the X and Y alignment of the widget within its allocation.
+See gtk_misc_set_alignment().
+
+</description>
+<parameters>
+<parameter name="misc">
+<parameter_description> a #GtkMisc
+</parameter_description>
+</parameter>
+<parameter name="xalign">
+<parameter_description> location to store X alignment of @misc, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="yalign">
+<parameter_description> location to store Y alignment of @misc, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_model_filter_get_model">
+<description>
+Return value: A pointer to a #GtkTreeModel.
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> A #GtkTreeModelFilter.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A pointer to a #GtkTreeModel.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_color_selection_set_previous_color">
+<description>
+Sets the &apos;previous&apos; color to be @color. This function should be called with
+some hesitations, as it might seem confusing to have that color change.
+Calling gtk_color_selection_set_current_color() will also set this color the first
+time it is called.
+
+</description>
+<parameters>
+<parameter name="colorsel">
+<parameter_description> a #GtkColorSelection.
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> a #GdkColor to set the previous color with.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_chooser_set_local_only">
+<description>
+Sets whether only local resources, that is resources using the file:// URI
+scheme, should be shown in the recently used resources selector. If
+@local_only is %TRUE (the default) then the shown resources are guaranteed
+to be accessible through the operating system native file system.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+<parameter name="local_only">
+<parameter_description> %TRUE if only local files can be shown
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_layout_set_cursor_direction">
+<description>
+Sets which text directions (left-to-right and/or right-to-left) for
+which cursors will be drawn for the insertion point. The visual
+point at which new text is inserted depends on whether the new
+text is right-to-left or left-to-right, so it may be desired to
+make the drawn position of the cursor depend on the keyboard state.
+
+</description>
+<parameters>
+<parameter name="direction">
+<parameter_description> the new direction(s) for which to draw cursors.
+%GTK_TEXT_DIR_NONE means draw cursors for both
+left-to-right insertion and right-to-left insertion.
+(The two cursors will be visually distinguished.)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_common_ancestor">
+<description>
+Find the common ancestor of @widget_a and @widget_b that
+is closest to the two widgets.
+
+
+</description>
+<parameters>
+<parameter name="widget_a">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="widget_b">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the closest common ancestor of @widget_a and
+@widget_b or %NULL if @widget_a and @widget_b do not
+share a common ancestor.
+</return>
+</function>
+
+<function name="gtk_tree_model_sort_convert_iter_to_child_iter">
+<description>
+Sets @child_iter to point to the row pointed to by @sorted_iter.
+
+</description>
+<parameters>
+<parameter name="tree_model_sort">
+<parameter_description> A #GtkTreeModelSort
+</parameter_description>
+</parameter>
+<parameter name="child_iter">
+<parameter_description> An uninitialized #GtkTreeIter
+</parameter_description>
+</parameter>
+<parameter name="sorted_iter">
+<parameter_description> A valid #GtkTreeIter pointing to a row on @tree_model_sort.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_view_get_cursor">
+<description>
+Fills in @path and @cell with the current cursor path and cell.
+If the cursor isn&apos;t currently set, then *@path will be %NULL.
+If no cell currently has focus, then *@cell will be %NULL.
+
+The returned #GtkTreePath must be freed with gtk_tree_path_free().
+
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> Return location for the current cursor path, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="cell">
+<parameter_description> Return location the current focus cell, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the cursor is set.
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gtk_widget_get_has_tooltip">
+<description>
+Return value: current value of has-tooltip on @widget.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> current value of has-tooltip on @widget.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_radio_tool_button_new_from_stock">
+<description>
+Creates a new #GtkRadioToolButton, adding it to @group.
+The new #GtkRadioToolButton will contain an icon and label from the
+stock item indicated by @stock_id.
+
+
+</description>
+<parameters>
+<parameter name="group">
+<parameter_description> an existing radio button group, or %NULL if you are creating a new group
+</parameter_description>
+</parameter>
+<parameter name="stock_id">
+<parameter_description> the name of a stock item
+</parameter_description>
+</parameter>
+</parameters>
+<return> The new #GtkRadioToolItem
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_combo_box_get_active_text">
+<description>
+Returns: a newly allocated string containing the currently active text.
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> A #GtkComboBox constructed with gtk_combo_box_new_text()
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated string containing the currently active text.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_tree_view_column_cell_get_size">
+<description>
+Obtains the width and height needed to render the column. This is used
+primarily by the #GtkTreeView.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+<parameter name="cell_area">
+<parameter_description> The area a cell in the column will be allocated, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="x_offset">
+<parameter_description> location to return x offset of a cell relative to @cell_area, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="y_offset">
+<parameter_description> location to return y offset of a cell relative to @cell_area, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> location to return width needed to render a cell, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> location to return height needed to render a cell, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_combo_box_prepend_text">
+<description>
+Prepends @string to the list of strings stored in @combo_box. Note that
+you can only use this function with combo boxes constructed with
+gtk_combo_box_new_text().
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> A #GtkComboBox constructed with gtk_combo_box_new_text()
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> A string
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_font_button_set_use_font">
+<description>
+If @use_font is %TRUE, the font name will be written using the selected font.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="font_button">
+<parameter_description> a #GtkFontButton
+</parameter_description>
+</parameter>
+<parameter name="use_font">
+<parameter_description> If %TRUE, font name will be written using font chosen.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_rc_property_parse_enum">
+<description>
+A #GtkRcPropertyParser for use with gtk_settings_install_property_parser()
+or gtk_widget_class_install_style_property_parser() which parses a single
+enumeration value.
+
+The enumeration value can be specified by its name, its nickname or
+its numeric value. For consistency with flags parsing, the value
+may be surrounded by parentheses.
+
+
+</description>
+<parameters>
+<parameter name="pspec">
+<parameter_description> a #GParamSpec
+</parameter_description>
+</parameter>
+<parameter name="gstring">
+<parameter_description> the #GString to be parsed
+</parameter_description>
+</parameter>
+<parameter name="property_value">
+<parameter_description> a #GValue which must hold enum values.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @gstring could be parsed and @property_value
+has been set to the resulting #GEnumValue.
+</return>
+</function>
+
+<function name="gtk_paper_size_free">
+<description>
+Free the given #GtkPaperSize object.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="size">
+<parameter_description> a #GtkPaperSize
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkPrinter">
+<description>
+Gets emitted in response to a request for detailed information
+about a printer from the print backend. The @success parameter
+indicates if the information was actually obtained.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="printer">
+<parameter_description> the #GtkPrinter on which the signal is emitted
+</parameter_description>
+</parameter>
+<parameter name="success">
+<parameter_description> %TRUE if the details were successfully acquired
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_source_new">
+<description>
+Creates a new #GtkIconSource. A #GtkIconSource contains a #GdkPixbuf (or
+image filename) that serves as the base image for one or more of the
+icons in a #GtkIconSet, along with a specification for which icons in the
+icon set will be based on that pixbuf or image file. An icon set contains
+a set of icons that represent &quot;the same&quot; logical concept in different states,
+different global text directions, and different sizes.
+
+So for example a web browser&apos;s &quot;Back to Previous Page&quot; icon might
+point in a different direction in Hebrew and in English; it might
+look different when insensitive; and it might change size depending
+on toolbar mode (small/large icons). So a single icon set would
+contain all those variants of the icon. #GtkIconSet contains a list
+of #GtkIconSource from which it can derive specific icon variants in
+the set.
+
+In the simplest case, #GtkIconSet contains one source pixbuf from
+which it derives all variants. The convenience function
+gtk_icon_set_new_from_pixbuf() handles this case; if you only have
+one source pixbuf, just use that function.
+
+If you want to use a different base pixbuf for different icon
+variants, you create multiple icon sources, mark which variants
+they&apos;ll be used to create, and add them to the icon set with
+gtk_icon_set_add_source().
+
+By default, the icon source has all parameters wildcarded. That is,
+the icon source will be used as the base icon for any desired text
+direction, widget state, or icon size.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkIconSource
+</return>
+</function>
+
+<function name="GtkCellRendererProgress">
+<description>
+The &quot;orientation&quot; property controls the direction and growth
+direction of the progress bar (left-to-right, right-to-left,
+top-to-bottom or bottom-to-top).
+
+Since: 2.12
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_cell_renderer_toggle_set_radio">
+<description>
+If @radio is %TRUE, the cell renderer renders a radio toggle
+(i.e. a toggle in a group of mutually-exclusive toggles).
+If %FALSE, it renders a check toggle (a standalone boolean option).
+This can be set globally for the cell renderer, or changed just
+before rendering each cell in the model (for #GtkTreeView, you set
+up a per-row setting using #GtkTreeViewColumn to associate model
+columns with cell renderer properties).
+
+</description>
+<parameters>
+<parameter name="toggle">
+<parameter_description> a #GtkCellRendererToggle
+</parameter_description>
+</parameter>
+<parameter name="radio">
+<parameter_description> %TRUE to make the toggle look like a radio button
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_file_system_model_set_show_files">
+<description>
+Sets whether files (as opposed to folders) should be included
+in the #GtkTreeModel for display.
+
+</description>
+<parameters>
+<parameter name="model">
+<parameter_description> a #GtkFileSystemModel
+</parameter_description>
+</parameter>
+<parameter name="show_files">
+<parameter_description> whether files (as opposed to folders) should
+be displayed.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_get_justification">
+<description>
+Gets the default justification of paragraphs in @text_view.
+Tags in the buffer may override the default.
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+</parameters>
+<return> default justification
+</return>
+</function>
+
+<function name="gtk_file_chooser_get_uris">
+<description>
+Lists all the selected files and subfolders in the current folder of
+@chooser. The returned names are full absolute URIs.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GSList containing the URIs of all selected
+files and subfolders in the current folder. Free the returned list
+with g_slist_free(), and the filenames with g_free().
+
+Since: 2.4
+</return>
+</function>
+
+<function name="_gtk_xembed_get_focus_wrapped">
+<description>
+Gets whether the current focus sequence has wrapped around
+to the beginning of the ultimate toplevel.
+
+
+</description>
+<parameters>
+</parameters>
+<return> %TRUE if the focus sequence has wrapped around.
+</return>
+</function>
+
+<function name="gtk_drag_source_get_target_list">
+<description>
+Gets the list of targets this widget can provide for
+drag-and-drop.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GtkTargetList, or %NULL if none
+
+Since: 2.4
+</return>
+</function>
+
+<function name="get_block_cursor">
+<description>
+Checks whether layout should display block cursor at given position.
+For this layout must be in overwrite mode and text at @insert_iter
+must be editable.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkTextLayout
+</parameter_description>
+</parameter>
+<parameter name="display">
+<parameter_description> a #GtkTextLineDisplay
+</parameter_description>
+</parameter>
+<parameter name="insert_iter">
+<parameter_description> iter pointing to the cursor location
+</parameter_description>
+</parameter>
+<parameter name="insert_index">
+<parameter_description> cursor offset in the @display&apos;s layout, it may
+be different from @insert_iter&apos;s offset in case when preedit
+string is present.
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> location to store cursor position
+</parameter_description>
+</parameter>
+<parameter name="cursor_at_line_end">
+<parameter_description> whether cursor is at the end of line
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_style_lookup_color">
+<description>
+Looks up @color_name in the style&apos;s logical color mappings,
+filling in @color and returning %TRUE if found, otherwise
+returning %FALSE. Do not cache the found mapping, because
+it depends on the #GtkStyle and might change when a theme
+switch occurs.
+
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="color_name">
+<parameter_description> the name of the logical color to look up
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> the #GdkColor to fill in
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the mapping was found.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_tree_view_set_cursor_on_cell">
+<description>
+Sets the current keyboard focus to be at @path, and selects it. This is
+useful when you want to focus the user&apos;s attention on a particular row. If
+@focus_column is not %NULL, then focus is given to the column specified by
+it. If @focus_column and @focus_cell are not %NULL, and @focus_column
+contains 2 or more editable or activatable cells, then focus is given to
+the cell specified by @focus_cell. Additionally, if @focus_column is
+specified, and @start_editing is %TRUE, then editing should be started in
+the specified cell. This function is often followed by
+@gtk_widget_grab_focus (@tree_view) in order to give keyboard focus to the
+widget. Please note that editing can only happen when the widget is
+realized.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> A #GtkTreePath
+</parameter_description>
+</parameter>
+<parameter name="focus_column">
+<parameter_description> A #GtkTreeViewColumn, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="focus_cell">
+<parameter_description> A #GtkCellRenderer, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="start_editing">
+<parameter_description> %TRUE if the specified cell should start being edited.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_get_default_language">
+<description>
+Return value: the default language as a #PangoLanguage, must not be
+
+</description>
+<parameters>
+</parameters>
+<return> the default language as a #PangoLanguage, must not be
+freed
+</return>
+</function>
+
+<function name="gtk_label_new">
+<description>
+Creates a new label with the given text inside it. You can
+pass %NULL to get an empty label widget.
+
+
+</description>
+<parameters>
+<parameter name="str">
+<parameter_description> The text of the label
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GtkLabel
+</return>
+</function>
+
+<function name="gtk_statusbar_get_context_id">
+<description>
+Returns: an integer id
+
+</description>
+<parameters>
+<parameter name="statusbar">
+<parameter_description> a #GtkStatusbar
+</parameter_description>
+</parameter>
+<parameter name="context_description">
+<parameter_description> textual description of what context
+the new message is being used in
+</parameter_description>
+</parameter>
+</parameters>
+<return> an integer id
+</return>
+</function>
+
+<function name="gtk_size_group_remove_widget">
+<description>
+Removes a widget from a #GtkSizeGroup.
+
+</description>
+<parameters>
+<parameter name="size_group">
+<parameter_description> a #GtkSizeGrup
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the #GtkWidget to remove
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_spin_button_update">
+<description>
+Manually force an update of the spin button.
+
+</description>
+<parameters>
+<parameter name="spin_button">
+<parameter_description> a #GtkSpinButton
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tool_item_get_orientation">
+<description>
+Return value: a #GtkOrientation indicating the orientation
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem:
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GtkOrientation indicating the orientation
+used for @tool_item
+
+Since: 2.4
+</return>
+</function>
+
+<function name="_gtk_im_module_create">
+<description>
+Create an IM context of a type specified by the string
+ID @context_id.
+
+
+</description>
+<parameters>
+<parameter name="context_id">
+<parameter_description> the context ID for the context type to create
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly created input context of or @context_id, or
+if that could not be created, a newly created GtkIMContextSimple.
+</return>
+</function>
+
+<function name="gtk_tree_view_enable_model_drag_source">
+<description>
+Turns @tree_view into a drag source for automatic DND.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="start_button_mask">
+<parameter_description> Mask of allowed buttons to start drag
+</parameter_description>
+</parameter>
+<parameter name="targets">
+<parameter_description> the table of targets that the drag will support
+</parameter_description>
+</parameter>
+<parameter name="n_targets">
+<parameter_description> the number of items in @targets
+</parameter_description>
+</parameter>
+<parameter name="actions">
+<parameter_description> the bitmask of possible actions for a drag from this
+widget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_unix_dialog_get_current_page">
+<description>
+Gets the current page of the #GtkPrintDialog.
+
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkPrintUnixDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current page of @dialog
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_table_get_col_spacing">
+<description>
+Gets the amount of space between column @col, and
+column @col + 1. See gtk_table_set_col_spacing().
+
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a #GtkTable
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> a column in the table, 0 indicates the first column
+</parameter_description>
+</parameter>
+</parameters>
+<return> the column spacing
+</return>
+</function>
+
+<function name="gtk_entry_get_activates_default">
+<description>
+Retrieves the value set by gtk_entry_set_activates_default().
+
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the entry will activate the default widget
+</return>
+</function>
+
+<function name="gtk_widget_style_get_valist">
+<description>
+Non-vararg variant of gtk_widget_style_get(). Used primarily by language
+bindings.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="first_property_name">
+<parameter_description> the name of the first property to get
+</parameter_description>
+</parameter>
+<parameter name="var_args">
+<parameter_description> a &amp;lt;type&amp;gt;va_list&amp;lt;/type&amp;gt; of pairs of property names and
+locations to return the property values, starting with the location
+for @first_property_name.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_model_ref_node">
+<description>
+Lets the tree ref the node. This is an optional method for models to
+implement. To be more specific, models may ignore this call as it exists
+primarily for performance reasons.
+
+This function is primarily meant as a way for views to let caching model
+know when nodes are being displayed (and hence, whether or not to cache that
+node.) For example, a file-system based model would not want to keep the
+entire file-hierarchy in memory, just the sections that are currently being
+displayed by every current view.
+
+A model should be expected to be able to get an iter independent of its
+reffed state.
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> The #GtkTreeIter.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_show_now">
+<description>
+Shows a widget. If the widget is an unmapped toplevel widget
+(i.e. a #GtkWindow that has not yet been shown), enter the main
+loop and wait for the window to actually be mapped. Be careful;
+because the main loop is running, anything can happen during
+this function.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_append_page">
+<description>
+Appends a page to @notebook.
+
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the #GtkWidget to use as the contents of the page.
+</parameter_description>
+</parameter>
+<parameter name="tab_label">
+<parameter_description> the #GtkWidget to be used as the label for the page,
+or %NULL to use the default label, &apos;page N&apos;.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the index (starting from 0) of the appended
+page in the notebook, or -1 if function fails
+</return>
+</function>
+
+<function name="gtk_recent_filter_add_mime_type">
+<description>
+Adds a rule that allows resources based on their registered MIME type.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> a #GtkRecentFilter
+</parameter_description>
+</parameter>
+<parameter name="mime_type">
+<parameter_description> a MIME type
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_get_bin_window">
+<description>
+Return value: A #GdkWindow, or %NULL when @tree_view hasn&apos;t been realized yet
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+</parameters>
+<return> A #GdkWindow, or %NULL when @tree_view hasn&apos;t been realized yet
+</return>
+</function>
+
+<function name="gtk_toolbar_get_nth_item">
+<description>
+Return value: The @n&amp;lt;!-- --&amp;gt;&apos;th #GtkToolItem on @toolbar, or %NULL if there
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar
+</parameter_description>
+</parameter>
+<parameter name="n">
+<parameter_description> A position on the toolbar
+</parameter_description>
+</parameter>
+</parameters>
+<return> The @n&amp;lt;!-- --&amp;gt;&apos;th #GtkToolItem on @toolbar, or %NULL if there
+isn&apos;t an @n&amp;lt;!-- --&amp;gt;&apos;th item.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_layout_set_vadjustment">
+<description>
+Sets the vertical scroll adjustment for the layout.
+
+See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkLayout
+</parameter_description>
+</parameter>
+<parameter name="adjustment">
+<parameter_description> new scroll adjustment
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_xembed_set_focus_wrapped">
+<description>
+Sets a flag indicating that the current focus sequence wrapped
+around to the beginning of the ultimate toplevel.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_alignment_get_padding">
+<description>
+Gets the padding on the different sides of the widget.
+See gtk_alignment_set_padding ().
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="alignment">
+<parameter_description> a #GtkAlignment
+</parameter_description>
+</parameter>
+<parameter name="padding_top">
+<parameter_description> location to store the padding for the top of the widget, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="padding_bottom">
+<parameter_description> location to store the padding for the bottom of the widget, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="padding_left">
+<parameter_description> location to store the padding for the left of the widget, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="padding_right">
+<parameter_description> location to store the padding for the right of the widget, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_dialog_set_alternative_button_order_from_array">
+<description>
+Sets an alternative button order. If the
+#GtkSettings:gtk-alternative-button-order setting is set to %TRUE,
+the dialog buttons are reordered according to the order of the
+response ids in @new_order.
+
+See gtk_dialog_set_alternative_button_order() for more information.
+
+This function is for use by language bindings.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkDialog
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the number of response ids in @new_order
+</parameter_description>
+</parameter>
+<parameter name="new_order">
+<parameter_description> an array of response ids of @dialog&apos;s buttons
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_calendar_set_display_options">
+<description>
+Sets display options (whether to display the heading and the month
+headings).
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="calendar">
+<parameter_description> a #GtkCalendar
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> the display options to set
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_filter_add_custom">
+<description>
+Adds a rule to a filter that allows resources based on a custom callback
+function. The bitfield @needed which is passed in provides information
+about what sorts of information that the filter function needs;
+this allows GTK+ to avoid retrieving expensive information when
+it isn&apos;t needed by the filter.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> a #GtkRecentFilter
+</parameter_description>
+</parameter>
+<parameter name="needed">
+<parameter_description> bitfield of flags indicating the information that the custom
+filter function needs.
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> callback function; if the function returns %TRUE, then
+the file will be displayed.
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to pass to @func
+</parameter_description>
+</parameter>
+<parameter name="data_destroy">
+<parameter_description> function to call to free @data when it is no longer needed.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_get_has_selection">
+<description>
+Indicates whether the buffer has some text currently selected.
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the there is text selected
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_text_iter_forward_visible_lines">
+<description>
+Moves @count visible lines forward, if possible (if @count would move
+past the start or end of the buffer, moves to the start or end of
+the buffer). The return value indicates whether the iterator moved
+onto a dereferenceable position; if the iterator didn&apos;t move, or
+moved onto the end iterator, then %FALSE is returned. If @count is 0,
+the function does nothing and returns %FALSE. If @count is negative,
+moves backward by 0 - @count lines.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> number of lines to move forward
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @iter moved and is dereferenceable
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gtk_tree_view_get_expander_column">
+<description>
+Return value: The expander column.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+</parameters>
+<return> The expander column.
+</return>
+</function>
+
+<function name="gtk_text_view_get_default_attributes">
+<description>
+Obtains a copy of the default text attributes. These are the
+attributes used for text unless a tag overrides them.
+You&apos;d typically pass the default attributes in to
+gtk_text_iter_get_attributes() in order to get the
+attributes in effect at a given text position.
+
+The return value is a copy owned by the caller of this function,
+and should be freed.
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkTextAttributes
+</return>
+</function>
+
+<function name="gtk_toolbar_append_space">
+<description>
+Adds a new space to the end of the toolbar.
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_font_button_new">
+<description>
+Creates a new font picker widget.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new font picker widget.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_container_focus_sort">
+<description>
+Sorts @children in the correct order for focusing with
+direction type @direction.
+
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+<parameter name="children">
+<parameter_description> a list of descendents of @container (they don&apos;t
+have to be direct children)
+</parameter_description>
+</parameter>
+<parameter name="direction">
+<parameter_description> focus direction
+</parameter_description>
+</parameter>
+<parameter name="old_focus">
+<parameter_description> widget to use for the starting position, or %NULL
+to determine this automatically.
+(Note, this argument isn&apos;t used for GTK_DIR_TAB_*,
+which is the only @direction we use currently,
+so perhaps this argument should be removed)
+</parameter_description>
+</parameter>
+</parameters>
+<return> a copy of @children, sorted in correct focusing order,
+with children that aren&apos;t suitable for focusing in this direction
+removed.
+</return>
+</function>
+
+<function name="gtk_tree_view_convert_bin_window_to_tree_coords">
+<description>
+Converts bin_window coordinates to coordinates for the
+tree (the full scrollable area of the tree).
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="bx">
+<parameter_description> X coordinate relative to bin_window
+</parameter_description>
+</parameter>
+<parameter name="by">
+<parameter_description> Y coordinate relative to bin_window
+</parameter_description>
+</parameter>
+<parameter name="tx">
+<parameter_description> return location for tree X coordinate
+</parameter_description>
+</parameter>
+<parameter name="ty">
+<parameter_description> return location for tree Y coordinate
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_store_set_valist">
+<description>
+See gtk_tree_store_set(); this version takes a &amp;lt;type&amp;gt;va_list&amp;lt;/type&amp;gt; for
+use by language bindings.
+
+
+</description>
+<parameters>
+<parameter name="tree_store">
+<parameter_description> A #GtkTreeStore
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> A valid #GtkTreeIter for the row being modified
+</parameter_description>
+</parameter>
+<parameter name="var_args">
+<parameter_description> &amp;lt;type&amp;gt;va_list&amp;lt;/type&amp;gt; of column/value pairs
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_enumerate_printers">
+<description>
+Calls a function for all #GtkPrinter&amp;lt;!-- --&amp;gt;s.
+If @func returns %TRUE, the enumeration is stopped.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="func">
+<parameter_description> a function to call for each printer
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> user data to pass to @func
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> function to call if @data is no longer needed
+</parameter_description>
+</parameter>
+<parameter name="wait">
+<parameter_description> if %TRUE, wait in a recursive mainloop until
+all printers are enumerated; otherwise return early
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_check_button_new_with_mnemonic">
+<description>
+Creates a new #GtkCheckButton containing a label. The label
+will be created using gtk_label_new_with_mnemonic(), so underscores
+in @label indicate the mnemonic for the check button.
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> The text of the button, with an underscore in front of the
+mnemonic character
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkCheckButton
+</return>
+</function>
+
+<function name="gtk_about_dialog_get_authors">
+<description>
+Return value: A %NULL-terminated string array containing
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> A %NULL-terminated string array containing
+the authors. The array is owned by the about dialog
+and must not be modified.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_combo_box_insert_text">
+<description>
+Inserts @string at @position in the list of strings stored in @combo_box.
+Note that you can only use this function with combo boxes constructed
+with gtk_combo_box_new_text().
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> A #GtkComboBox constructed using gtk_combo_box_new_text()
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> An index to insert @text
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> A string
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_get_quality">
+<description>
+Gets the value of %GTK_PRINT_SETTINGS_QUALITY.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return> the print quality
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_print_settings_set_number_up">
+<description>
+Sets the value of %GTK_PRINT_SETTINGS_NUMBER_UP.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="number_up">
+<parameter_description> the number of pages per sheet
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_get_ancestor">
+<description>
+Gets the first ancestor of @widget with type @widget_type. For example,
+&amp;lt;literal&amp;gt;gtk_widget_get_ancestor (widget, GTK_TYPE_BOX)&amp;lt;/literal&amp;gt; gets
+the first #GtkBox that&apos;s an ancestor of @widget. No reference will be
+added to the returned widget; it should not be unreferenced. See note
+about checking for a toplevel #GtkWindow in the docs for
+gtk_widget_get_toplevel().
+
+Note that unlike gtk_widget_is_ancestor(), gtk_widget_get_ancestor()
+considers @widget to be an ancestor of itself.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="widget_type">
+<parameter_description> ancestor type
+</parameter_description>
+</parameter>
+</parameters>
+<return> the ancestor widget, or %NULL if not found
+</return>
+</function>
+
+<function name="gtk_widget_child_notify">
+<description>
+Emits a #GtkWidget::child-notify signal for the
+&amp;lt;link linkend=&quot;child-properties&quot;&amp;gt;child property&amp;lt;/link&amp;gt; @child_property
+on @widget.
+
+This is the analogue of g_object_notify() for child properties.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="child_property">
+<parameter_description> the name of a child property installed on the
+class of @widget&amp;lt;!-- --&amp;gt;&apos;s parent
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_combo_box_set_active_iter">
+<description>
+Sets the current active item to be the one referenced by @iter.
+@iter must correspond to a path of depth one.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="combo_box">
+<parameter_description> A #GtkComboBox
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> The #GtkTreeIter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_source_free">
+<description>
+Frees a dynamically-allocated icon source, along with its
+filename, size, and pixbuf fields if those are not %NULL.
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a #GtkIconSource
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_tag_table_remove">
+<description>
+Remove a tag from the table. This will remove the table&apos;s
+reference to the tag, so be careful - the tag will end
+up destroyed if you don&apos;t have a reference to it.
+
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a #GtkTextTagTable
+</parameter_description>
+</parameter>
+<parameter name="tag">
+<parameter_description> a #GtkTextTag
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_theme_set_custom_theme">
+<description>
+Sets the name of the icon theme that the #GtkIconTheme object uses
+overriding system configuration. This function cannot be called
+on the icon theme objects returned from gtk_icon_theme_get_default()
+and gtk_icon_theme_get_for_screen().
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="icon_theme">
+<parameter_description> a #GtkIconTheme
+</parameter_description>
+</parameter>
+<parameter name="theme_name">
+<parameter_description> name of icon theme to use instead of configured theme,
+or %NULL to unset a previously set custom theme
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkAlignment">
+<description>
+The padding to insert at the right of the widget.
+
+Since: 2.4
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_operation_set_use_full_page">
+<description>
+If @full_page is %TRUE, the transformation for the cairo context
+obtained from #GtkPrintContext puts the origin at the top left
+corner of the page (which may not be the top left corner of the
+sheet, depending on page orientation and the number of pages per
+sheet). Otherwise, the origin is at the top left corner of the
+imageable area (i.e. inside the margins).
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="op">
+<parameter_description> a #GtkPrintOperation
+</parameter_description>
+</parameter>
+<parameter name="full_page">
+<parameter_description> %TRUE to set up the #GtkPrintContext for the full page
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tool_item_get_use_drag_window">
+<description>
+Return value: %TRUE if @tool_item uses a drag window.
+
+</description>
+<parameters>
+<parameter name="tool_item">
+<parameter_description> a #GtkToolItem
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @tool_item uses a drag window.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_paper_size_get_default_right_margin">
+<description>
+Gets the default right margin for the #GtkPaperSize.
+
+
+</description>
+<parameters>
+<parameter name="size">
+<parameter_description> a #GtkPaperSize object
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the unit for the return value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the default right margin
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_accel_map_lock_path">
+<description>
+Locks the given accelerator path. If the accelerator map doesn&apos;t yet contain
+an entry for @accel_path, a new one is created.
+
+Locking an accelerator path prevents its accelerator from being changed
+during runtime. A locked accelerator path can be unlocked by
+gtk_accel_map_unlock_path(). Refer to gtk_accel_map_change_entry()
+for information about runtime accelerator changes.
+
+If called more than once, @accel_path remains locked until
+gtk_accel_map_unlock_path() has been called an equivalent number
+of times.
+
+Note that locking of individual accelerator paths is independent from
+locking the #GtkAccelGroup containing them. For runtime accelerator
+changes to be possible both the accelerator path and its #GtkAccelGroup
+have to be unlocked.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="accel_path">
+<parameter_description> a valid accelerator path
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_error_bell">
+<description>
+Notifies the user about an input-related error on this widget.
+If the #GtkSettings:gtk-error-bell setting is %TRUE, it calls
+gdk_window_beep(), otherwise it does nothing.
+
+Note that the effect of gdk_window_beep() can be configured in many
+ways, depending on the windowing backend and the desktop environment
+or window manager that is used.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_scrolled_window_get_hscrollbar">
+<description>
+Returns: the horizontal scrollbar of the scrolled window, or
+
+</description>
+<parameters>
+<parameter name="scrolled_window">
+<parameter_description> a #GtkScrolledWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> the horizontal scrollbar of the scrolled window, or
+%NULL if it does not have one.
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gtk_range_get_adjustment">
+<description>
+Get the #GtkAdjustment which is the &quot;model&quot; object for #GtkRange.
+See gtk_range_set_adjustment() for details.
+The return value does not have a reference added, so should not
+be unreferenced.
+
+
+</description>
+<parameters>
+<parameter name="range">
+<parameter_description> a #GtkRange
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GtkAdjustment
+</return>
+</function>
+
+<function name="gtk_window_set_skip_taskbar_hint">
+<description>
+Windows may set a hint asking the desktop environment not to display
+the window in the task bar. This function sets this hint.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> %TRUE to keep this window from appearing in the task bar
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_set_double_buffered">
+<description>
+Widgets are double buffered by default; you can use this function
+to turn off the buffering. &quot;Double buffered&quot; simply means that
+gdk_window_begin_paint_region() and gdk_window_end_paint() are called
+automatically around expose events sent to the
+widget. gdk_window_begin_paint() diverts all drawing to a widget&apos;s
+window to an offscreen buffer, and gdk_window_end_paint() draws the
+buffer to the screen. The result is that users see the window
+update in one smooth step, and don&apos;t see individual graphics
+primitives being rendered.
+
+In very simple terms, double buffered widgets don&apos;t flicker,
+so you would only use this function to turn off double buffering
+if you had special needs and really knew what you were doing.
+
+Note: if you turn off double-buffering, you have to handle
+expose events, since even the clearing to the background color or
+pixmap will not happen automatically (as it is done in
+gdk_window_begin_paint()).
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="double_buffered">
+<parameter_description> %TRUE to double-buffer a widget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_view_get_text_column">
+<description>
+Returns: the text column, or -1 if it&apos;s unset.
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the text column, or -1 if it&apos;s unset.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_file_system_get_bookmark_label">
+<description>
+Gets the label to display for a bookmark, or %NULL.
+
+
+</description>
+<parameters>
+<parameter name="file_system">
+<parameter_description> a #GtkFileSystem
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> path of the bookmark
+</parameter_description>
+</parameter>
+</parameters>
+<return> the label for the bookmark @path
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gtk_tool_button_set_icon_widget">
+<description>
+Sets @icon as the widget used as icon on @button. If @icon_widget is
+%NULL the icon is determined by the &quot;stock_id&quot; property. If the
+&quot;stock_id&quot; property is also %NULL, @button will not have an icon.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkToolButton
+</parameter_description>
+</parameter>
+<parameter name="icon_widget">
+<parameter_description> the widget used as icon, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_set_direction">
+<description>
+Sets the reading direction on a particular widget. This direction
+controls the primary direction for widgets containing text,
+and also the direction in which the children of a container are
+packed. The ability to set the direction is present in order
+so that correct localization into languages with right-to-left
+reading directions can be done. Generally, applications will
+let the default reading direction present, except for containers
+where the containers are arranged in an order that is explicitely
+visual rather than logical (such as buttons for text justification).
+
+If the direction is set to %GTK_TEXT_DIR_NONE, then the value
+set by gtk_widget_set_default_direction() will be used.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="dir">
+<parameter_description> the new direction
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_info_get_modified">
+<description>
+Gets the timestamp (seconds from system&apos;s Epoch) when the resource
+was last modified.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GtkRecentInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of seconds elapsed from system&apos;s Epoch when
+the resource was last modified, or -1 on failure.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_toggle_action_get_draw_as_radio">
+<description>
+Returns: whether the action should have proxies like a radio action.
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the action should have proxies like a radio action.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_text_iter_get_buffer">
+<description>
+Return value: the buffer
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> the buffer
+</return>
+</function>
+
+<function name="GtkTreeView">
+<description>
+The position of the cursor (focused cell) has changed.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> the object on which the signal is emitted
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_set_redraw_on_allocate">
+<description>
+Sets whether the entire widget is queued for drawing when its size
+allocation changes. By default, this setting is %TRUE and
+the entire widget is redrawn on every size change. If your widget
+leaves the upper left unchanged when made bigger, turning this
+setting off will improve performance.
+
+Note that for %NO_WINDOW widgets setting this flag to %FALSE turns
+off all allocation on resizing: the widget will not even redraw if
+its position changes; this is to allow containers that don&apos;t draw
+anything to avoid excess invalidations. If you set this flag on a
+%NO_WINDOW widget that &amp;lt;emphasis&amp;gt;does&amp;lt;/emphasis&amp;gt; draw on @widget-&amp;gt;window,
+you are responsible for invalidating both the old and new allocation
+of the widget when the widget is moved and responsible for invalidating
+regions newly when the widget increases size.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="redraw_on_allocate">
+<parameter_description> if %TRUE, the entire widget will be redrawn
+when it is allocated to a new size. Otherwise, only the
+new portion of the widget will be redrawn.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_is_composited">
+<description>
+Whether @widget can rely on having its alpha channel
+drawn correctly. On X11 this function returns whether a
+compositing manager is running for @widget&apos;s screen.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the widget can rely on its alpha
+channel being drawn correctly.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_printer_get_icon_name">
+<description>
+Gets the name of the icon to use for the printer.
+
+
+</description>
+<parameters>
+<parameter name="printer">
+<parameter_description> a #GtkPrinter
+</parameter_description>
+</parameter>
+</parameters>
+<return> the icon name for @printer
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_rc_property_parse_border">
+<description>
+A #GtkRcPropertyParser for use with gtk_settings_install_property_parser()
+or gtk_widget_class_install_style_property_parser() which parses
+borders in the form
+&amp;lt;literal&amp;gt;&quot;{ left, right, top, bottom }&quot;&amp;lt;/literal&amp;gt; for integers
+%left, %right, %top and %bottom.
+
+
+</description>
+<parameters>
+<parameter name="pspec">
+<parameter_description> a #GParamSpec
+</parameter_description>
+</parameter>
+<parameter name="gstring">
+<parameter_description> the #GString to be parsed
+</parameter_description>
+</parameter>
+<parameter name="property_value">
+<parameter_description> a #GValue which must hold boxed values.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @gstring could be parsed and @property_value
+has been set to the resulting #GtkBorder.
+</return>
+</function>
+
+<function name="gtk_text_iter_get_slice">
+<description>
+Return value: slice of text from the buffer
+
+</description>
+<parameters>
+<parameter name="start">
+<parameter_description> iterator at start of a range
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> iterator at end of a range
+</parameter_description>
+</parameter>
+</parameters>
+<return> slice of text from the buffer
+</return>
+</function>
+
+<function name="gtk_text_view_get_tabs">
+<description>
+Gets the default tabs for @text_view. Tags in the buffer may
+override the defaults. The returned array will be %NULL if
+&quot;standard&quot; (8-space) tabs are used. Free the return value
+with pango_tab_array_free().
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+</parameters>
+<return> copy of default tab array, or %NULL if &quot;standard&quot;
+tabs are used; must be freed with pango_tab_array_free().
+</return>
+</function>
+
+<function name="gtk_widget_set_name">
+<description>
+Widgets can be named, which allows you to refer to them from a
+gtkrc file. You can apply a style to widgets with a particular name
+in the gtkrc file. See the documentation for gtkrc files (on the
+same page as the docs for #GtkRcStyle).
+
+Note that widget names are separated by periods in paths (see
+gtk_widget_path()), so names with embedded periods may cause confusion.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> name for the widget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_get_orientation">
+<description>
+Get the value of %GTK_PRINT_SETTINGS_ORIENTATION,
+converted to a #GtkPageOrientation.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return> the orientation
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_draw_resize_grip">
+<description>
+Draws a resize grip in the given rectangle on @window using the given
+parameters.
+
+Deprecated: Use gtk_paint_resize_grip() instead.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="edge">
+<parameter_description> the edge in which to draw the resize grip
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x origin of the rectangle in which to draw the resize grip
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y origin of the rectangle in which to draw the resize grip
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the rectangle in which to draw the resize grip
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the rectangle in which to draw the resize grip
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_operation_set_default_page_setup">
+<description>
+Makes @default_page_setup the default page setup for @op.
+
+This page setup will be used by gtk_print_operation_run(),
+but it can be overridden on a per-page basis by connecting
+to the #GtkPrintOperation::request-page-setup signal.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="op">
+<parameter_description> a #GtkPrintOperation
+</parameter_description>
+</parameter>
+<parameter name="default_page_setup">
+<parameter_description> a #GtkPageSetup, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_viewport_get_shadow_type">
+<description>
+Gets the shadow type of the #GtkViewport. See
+gtk_viewport_set_shadow_type().
+
+
+</description>
+<parameters>
+<parameter name="viewport">
+<parameter_description> a #GtkViewport
+</parameter_description>
+</parameter>
+</parameters>
+<return> the shadow type
+</return>
+</function>
+
+<function name="gtk_text_iter_get_chars_in_line">
+<description>
+Return value: number of characters in the line
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> number of characters in the line
+</return>
+</function>
+
+<function name="gtk_notebook_get_n_pages">
+<description>
+Gets the number of pages in a notebook.
+
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of pages in the notebook.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_tree_model_iter_next">
+<description>
+Sets @iter to point to the node following it at the current level. If there
+is no next @iter, %FALSE is returned and @iter is set to be invalid.
+
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> The #GtkTreeIter.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter has been changed to the next node.
+</return>
+</function>
+
+<function name="gtk_print_settings_set_duplex">
+<description>
+Sets the value of %GTK_PRINT_SETTINGS_DUPLEX.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="duplex">
+<parameter_description> a #GtkPrintDuplex value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_item_factory_create_items">
+<description>
+Creates the menu items from the @entries.
+
+Deprecated: 2.4:
+
+</description>
+<parameters>
+<parameter name="ifactory">
+<parameter_description> a #GtkItemFactory
+</parameter_description>
+</parameter>
+<parameter name="n_entries">
+<parameter_description> the length of @entries
+</parameter_description>
+</parameter>
+<parameter name="entries">
+<parameter_description> an array of #GtkItemFactoryEntry&amp;lt;!-- --&amp;gt;s whose @callback members
+must by of type #GtkItemFactoryCallback1
+</parameter_description>
+</parameter>
+<parameter name="callback_data">
+<parameter_description> data passed to the callback functions of all entries
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_remove_filter">
+<description>
+Removes @filter from the list of filters that the user can select between.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="filter">
+<parameter_description> a #GtkFileFilter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_action_get_accel_closure">
+<description>
+Returns: the accel closure for this action. The returned closure is
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+</parameters>
+<return> the accel closure for this action. The returned closure is
+owned by GTK+ and must not be unreffed or modified.
+</return>
+</function>
+
+<function name="gtk_window_iconify">
+<description>
+Asks to iconify (i.e. minimize) the specified @window. Note that
+you shouldn&apos;t assume the window is definitely iconified afterward,
+because other entities (e.g. the user or &amp;lt;link
+linkend=&quot;gtk-X11-arch&quot;&amp;gt;window manager&amp;lt;/link&amp;gt;) could deiconify it
+again, or there may not be a window manager in which case
+iconification isn&apos;t possible, etc. But normally the window will end
+up iconified. Just don&apos;t write code that crashes if not.
+
+It&apos;s permitted to call this function before showing a window,
+in which case the window will be iconified before it ever appears
+onscreen.
+
+You can track iconification via the &quot;window_state_event&quot; signal
+on #GtkWidget.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_draw_box_gap">
+<description>
+Draws a box in @window using the given style and state and shadow type,
+leaving a gap in one side.
+
+Deprecated: Use gtk_paint_box_gap() instead.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> width of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="gap_side">
+<parameter_description> side in which to leave the gap
+</parameter_description>
+</parameter>
+<parameter name="gap_x">
+<parameter_description> starting position of the gap
+</parameter_description>
+</parameter>
+<parameter name="gap_width">
+<parameter_description> width of the gap
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_set_orientation">
+<description>
+Sets the value of %GTK_PRINT_SETTINGS_ORIENTATION.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="orientation">
+<parameter_description> a page orientation
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_paint_focus">
+<description>
+Draws a focus indicator around the given rectangle on @window using the
+given style.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> clip rectangle, or %NULL if the
+output should not be clipped
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> a style detail (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x origin of the rectangle around which to draw a focus indicator
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y origin of the rectangle around which to draw a focus indicator
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the rectangle around which to draw a focus indicator
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the rectangle around which to draw a focus indicator
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_border_free">
+<description>
+Frees a #GtkBorder structure.
+
+</description>
+<parameters>
+<parameter name="border_">
+<parameter_description> a #GtkBorder.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_range_set_adjustment">
+<description>
+Sets the adjustment to be used as the &quot;model&quot; object for this range
+widget. The adjustment indicates the current range value, the
+minimum and maximum range values, the step/page increments used
+for keybindings and scrolling, and the page size. The page size
+is normally 0 for #GtkScale and nonzero for #GtkScrollbar, and
+indicates the size of the visible area of the widget being scrolled.
+The page size affects the size of the scrollbar slider.
+
+</description>
+<parameters>
+<parameter name="range">
+<parameter_description> a #GtkRange
+</parameter_description>
+</parameter>
+<parameter name="adjustment">
+<parameter_description> a #GtkAdjustment
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_insert_at_cursor">
+<description>
+Simply calls gtk_text_buffer_insert(), using the current
+cursor position as the insertion point.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> some text in UTF-8 format
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> length of text, in bytes
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_target_list_add_table">
+<description>
+Prepends a table of #GtkTargetEntry to a target list.
+
+</description>
+<parameters>
+<parameter name="list">
+<parameter_description> a #GtkTargetList
+</parameter_description>
+</parameter>
+<parameter name="targets">
+<parameter_description> the table of #GtkTargetEntry
+</parameter_description>
+</parameter>
+<parameter name="ntargets">
+<parameter_description> number of targets in the table
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_font_selection_set_font_name">
+<description>
+Sets the currently-selected font. Note that the @fontsel needs to know the
+screen in which it will appear for this to work; this can be guaranteed by
+simply making sure that the @fontsel is inserted in a toplevel window before
+you call this function.
+
+
+</description>
+<parameters>
+<parameter name="fontsel">
+<parameter_description> a #GtkFontSelection
+</parameter_description>
+</parameter>
+<parameter name="fontname">
+<parameter_description> a font name like &quot;Helvetica 12&quot; or &quot;Times Bold 18&quot;
+</parameter_description>
+</parameter>
+</parameters>
+<return> #TRUE if the font could be set successfully; #FALSE if no such
+font exists or if the @fontsel doesn&apos;t belong to a particular screen yet.
+</return>
+</function>
+
+<function name="gtk_container_get_focus_vadjustment">
+<description>
+Retrieves the vertical focus adjustment for the container. See
+gtk_container_set_focus_vadjustment().
+
+
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+</parameters>
+<return> the vertical focus adjustment, or %NULL if
+none has been set.
+</return>
+</function>
+
+<function name="gtk_font_selection_get_font_name">
+<description>
+Gets the currently-selected font name. Note that this can be a different
+string than what you set with gtk_font_selection_set_font_name(), as
+the font selection widget may normalize font names and thus return a string
+with a different structure. For example, &quot;Helvetica Italic Bold 12&quot; could be
+normalized to &quot;Helvetica Bold Italic 12&quot;. Use pango_font_description_equal()
+if you want to compare two font descriptions.
+
+
+</description>
+<parameters>
+<parameter name="fontsel">
+<parameter_description> a #GtkFontSelection
+</parameter_description>
+</parameter>
+</parameters>
+<return> A string with the name of the current font, or #NULL if no font
+is selected. You must free this string with g_free().
+</return>
+</function>
+
+<function name="gtk_tree_sortable_set_sort_column_id">
+<description>
+Sets the current sort column to be @sort_column_id. The @sortable will
+resort itself to reflect this change, after emitting a
+GtkTreeSortable::sort_column_changed signal. If @sort_column_id is
+%GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, then the default sort function
+will be used, if it is set.
+
+</description>
+<parameters>
+<parameter name="sortable">
+<parameter_description> A #GtkTreeSortable
+</parameter_description>
+</parameter>
+<parameter name="sort_column_id">
+<parameter_description> the sort column id to set
+</parameter_description>
+</parameter>
+<parameter name="order">
+<parameter_description> The sort order of the column
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_assistant_set_page_type">
+<description>
+Sets the page type for @page. The page type determines the page
+behavior in the @assistant.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="assistant">
+<parameter_description> a #GtkAssistant
+</parameter_description>
+</parameter>
+<parameter name="page">
+<parameter_description> a page of @assistant
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> the new type for @page
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_child_focus">
+<description>
+This function is used by custom widget implementations; if you&apos;re
+writing an app, you&apos;d use gtk_widget_grab_focus() to move the focus
+to a particular widget, and gtk_container_set_focus_chain() to
+change the focus tab order. So you may want to investigate those
+functions instead.
+
+gtk_widget_child_focus() is called by containers as the user moves
+around the window using keyboard shortcuts. @direction indicates
+what kind of motion is taking place (up, down, left, right, tab
+forward, tab backward). gtk_widget_child_focus() emits the
+#GtkWidget::focus&quot; signal; widgets override the default handler
+for this signal in order to implement appropriate focus behavior.
+
+The default ::focus handler for a widget should return %TRUE if
+moving in @direction left the focus on a focusable location inside
+that widget, and %FALSE if moving in @direction moved the focus
+outside the widget. If returning %TRUE, widgets normally
+call gtk_widget_grab_focus() to place the focus accordingly;
+if returning %FALSE, they don&apos;t modify the current focus location.
+
+This function replaces gtk_container_focus() from GTK+ 1.2.
+It was necessary to check that the child was visible, sensitive,
+and focusable before calling gtk_container_focus().
+gtk_widget_child_focus() returns %FALSE if the widget is not
+currently in a focusable state, so there&apos;s no need for those checks.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="direction">
+<parameter_description> direction of focus movement
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if focus ended up inside @widget
+</return>
+</function>
+
+<function name="_gtk_size_group_compute_requisition">
+<description>
+Compute the requisition of a widget taking into account grouping of
+the widget&apos;s requisition with other widgets.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="requisition">
+<parameter_description> location to store computed requisition.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_get_preview_filename">
+<description>
+Gets the filename that should be previewed in a custom preview
+widget. See gtk_file_chooser_set_preview_widget().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> the filename to preview, or %NULL if no file
+is selected, or if the selected file cannot be represented
+as a local filename. Free with g_free()
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_cell_view_get_size_of_row">
+<description>
+Sets @requisition to the size needed by @cell_view to display
+the model row pointed to by @path.
+
+
+</description>
+<parameters>
+<parameter name="cell_view">
+<parameter_description> a #GtkCellView
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a #GtkTreePath
+</parameter_description>
+</parameter>
+<parameter name="requisition">
+<parameter_description> return location for the size
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_icon_factory_lookup">
+<description>
+Looks up @stock_id in the icon factory, returning an icon set
+if found, otherwise %NULL. For display to the user, you should
+use gtk_style_lookup_icon_set() on the #GtkStyle for the
+widget that will display the icon, instead of using this
+function directly, so that themes are taken into account.
+
+
+</description>
+<parameters>
+<parameter name="factory">
+<parameter_description> a #GtkIconFactory
+</parameter_description>
+</parameter>
+<parameter name="stock_id">
+<parameter_description> an icon name
+</parameter_description>
+</parameter>
+</parameters>
+<return> icon set of @stock_id.
+</return>
+</function>
+
+<function name="gtk_toggle_tool_button_new_from_stock">
+<description>
+Creates a new #GtkToggleToolButton containing the image and text from a
+stock item. Some stock ids have preprocessor macros like #GTK_STOCK_OK
+and #GTK_STOCK_APPLY.
+
+It is an error if @stock_id is not a name of a stock item.
+
+
+</description>
+<parameters>
+<parameter name="stock_id">
+<parameter_description> the name of the stock item
+</parameter_description>
+</parameter>
+</parameters>
+<return> A new #GtkToggleToolButton
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_ui_manager_get_accel_group">
+<description>
+Return value: the #GtkAccelGroup.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkUIManager object
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GtkAccelGroup.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_init_check">
+<description>
+This function does the same work as gtk_init() with only
+a single change: It does not terminate the program if the GUI can&apos;t be
+initialized. Instead it returns %FALSE on failure.
+
+This way the application can fall back to some other means of communication
+with the user - for example a curses or command line interface.
+
+
+</description>
+<parameters>
+<parameter name="argc">
+<parameter_description> Address of the &amp;lt;parameter&amp;gt;argc&amp;lt;/parameter&amp;gt; parameter of your
+main() function. Changed if any arguments were handled.
+</parameter_description>
+</parameter>
+<parameter name="argv">
+<parameter_description> Address of the &amp;lt;parameter&amp;gt;argv&amp;lt;/parameter&amp;gt; parameter of main().
+Any parameters understood by gtk_init() are stripped before return.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the GUI has been successfully initialized,
+%FALSE otherwise.
+</return>
+</function>
+
+<function name="gtk_widget_get_default_style">
+<description>
+Returns: the default style. This #GtkStyle object is owned
+
+</description>
+<parameters>
+</parameters>
+<return> the default style. This #GtkStyle object is owned
+by GTK+ and should not be modified or freed.
+</return>
+</function>
+
+<function name="gtk_entry_completion_get_entry">
+<description>
+Gets the entry @completion has been attached to.
+
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> A #GtkEntryCompletion.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The entry @completion has been attached to.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_widget_list_accel_closures">
+<description>
+Lists the closures used by @widget for accelerator group connections
+with gtk_accel_group_connect_by_path() or gtk_accel_group_connect().
+The closures can be used to monitor accelerator changes on @widget,
+by connecting to the @GtkAccelGroup::accel-changed signal of the
+#GtkAccelGroup of a closure which can be found out with
+gtk_accel_group_from_accel_closure().
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> widget to list accelerator closures for
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated #GList of closures
+</return>
+</function>
+
+<function name="gtk_file_chooser_dialog_new_with_backend">
+<description>
+Creates a new #GtkFileChooserDialog with a specified backend. This is
+especially useful if you use gtk_file_chooser_set_local_only() to allow
+non-local files and you use a more expressive vfs, such as gnome-vfs,
+to load files.
+
+
+</description>
+<parameters>
+<parameter name="title">
+<parameter_description> Title of the dialog, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> Transient parent of the dialog, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="action">
+<parameter_description> Open or save mode for the dialog
+</parameter_description>
+</parameter>
+<parameter name="backend">
+<parameter_description> The name of the specific filesystem backend to use.
+</parameter_description>
+</parameter>
+<parameter name="first_button_text">
+<parameter_description> stock ID or text to go in the first button, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> response ID for the first button, then additional (button, id) pairs, ending with %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkFileChooserDialog
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tooltip_set_icon">
+<description>
+Sets the icon of the tooltip (which is in front of the text) to be
+@pixbuf. If @pixbuf is %NULL, the image will be hidden.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="tooltip">
+<parameter_description> a #GtkTooltip
+</parameter_description>
+</parameter>
+<parameter name="pixbuf">
+<parameter_description> a #GdkPixbuf, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_set_type_hint">
+<description>
+By setting the type hint for the window, you allow the window
+manager to decorate and handle the window in a way which is
+suitable to the function of the window in your application.
+
+This function should be called before the window becomes visible.
+
+gtk_dialog_new_with_buttons() and other convenience functions in GTK+
+will sometimes call gtk_window_set_type_hint() on your behalf.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="hint">
+<parameter_description> the window type
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_chooser_set_current_uri">
+<description>
+Sets @uri as the current URI for @chooser.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a URI
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the URI was found.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_icon_theme_list_contexts">
+<description>
+Gets the list of contexts available within the current
+hierarchy of icon themes
+
+
+</description>
+<parameters>
+<parameter name="icon_theme">
+<parameter_description> a #GtkIconTheme
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GList list holding the names of all the
+contexts in the theme. You must first free each element
+in the list with g_free(), then free the list itself
+with g_list_free().
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_paint_flat_box">
+<description>
+Draws a flat box on @window with the given parameters.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> the type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> clip rectangle, or %NULL if the
+output should not be clipped
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> a style detail (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the box
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the box
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the box
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the box
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_assistant_insert_page">
+<description>
+Inserts a page in the @assistant at a given position.
+
+
+</description>
+<parameters>
+<parameter name="assistant">
+<parameter_description> a #GtkAssistant
+</parameter_description>
+</parameter>
+<parameter name="page">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> the index (starting at 0) at which to insert the page,
+or -1 to append the page to the @assistant
+</parameter_description>
+</parameter>
+</parameters>
+<return> the index (starting from 0) of the inserted page
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_widget_get_tooltip_text">
+<description>
+Gets the contents of the tooltip for @widget.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the tooltip text, or %NULL. You should free the
+returned string with g_free() when done.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="_gtk_file_system_model_remove_editable">
+<description>
+Removes the &quot;empty&quot; row at the beginning of the model that was
+created with _gtk_file_system_model_add_editable(). You should call
+this function when your code is finished editing this temporary row.
+
+</description>
+<parameters>
+<parameter name="model">
+<parameter_description> a #GtkFileSystemModel
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_plug_construct_for_display">
+<description>
+Finish the initialization of @plug for a given #GtkSocket identified by
+@socket_id which is currently displayed on @display.
+This function will generally only be used by classes deriving from #GtkPlug.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="plug">
+<parameter_description> a #GtkPlug.
+</parameter_description>
+</parameter>
+<parameter name="display">
+<parameter_description> the #GdkDisplay associated with @socket_id&apos;s
+#GtkSocket.
+</parameter_description>
+</parameter>
+<parameter name="socket_id">
+<parameter_description> the XID of the socket&apos;s window.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_apply_tag">
+<description>
+Emits the &quot;apply_tag&quot; signal on @buffer. The default
+handler for the signal applies @tag to the given range.
+@start and @end do not have to be in order.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="tag">
+<parameter_description> a #GtkTextTag
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> one bound of range to be tagged
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> other bound of range to be tagged
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_get_bool">
+<description>
+Return value: %TRUE, if @key maps to a true value.
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE, if @key maps to a true value.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_check_menu_item_get_active">
+<description>
+Return value: %TRUE if the menu item is checked.
+
+</description>
+<parameters>
+<parameter name="check_menu_item">
+<parameter_description> a #GtkCheckMenuItem
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the menu item is checked.
+</return>
+</function>
+
+<function name="gtk_file_chooser_set_show_hidden">
+<description>
+Sets whether hidden files and folders are displayed in the file selector.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="show_hidden">
+<parameter_description> %TRUE if hidden files and folders should be displayed.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_get_default_direction">
+<description>
+Obtains the current default reading direction. See
+gtk_widget_set_default_direction().
+
+
+</description>
+<parameters>
+</parameters>
+<return> the current default direction.
+</return>
+</function>
+
+<function name="gtk_window_add_accel_group">
+<description>
+Associate @accel_group with @window, such that calling
+gtk_accel_groups_activate() on @window will activate accelerators
+in @accel_group.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> window to attach accelerator group to
+</parameter_description>
+</parameter>
+<parameter name="accel_group">
+<parameter_description> a #GtkAccelGroup
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_filter_add_pixbuf_formats">
+<description>
+Adds a rule allowing image files in the formats supported
+by GdkPixbuf.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> a #GtkRecentFilter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_get_pixels_below_lines">
+<description>
+Gets the value set by gtk_text_view_set_pixels_below_lines().
+
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+</parameters>
+<return> default number of blank pixels below paragraphs
+</return>
+</function>
+
+<function name="_gtk_widget_peek_colormap">
+<description>
+Return value: the currently pushed colormap, or %NULL if there is none.
+
+</description>
+<parameters>
+</parameters>
+<return> the currently pushed colormap, or %NULL if there is none.
+</return>
+</function>
+
+<function name="gtk_message_dialog_format_secondary_markup">
+<description>
+Sets the secondary text of the message dialog to be @message_format (with
+printf()-style), which is marked up with the
+&amp;lt;link linkend=&quot;PangoMarkupFormat&quot;&amp;gt;Pango text markup language&amp;lt;/link&amp;gt;.
+
+Note that setting a secondary text makes the primary text become
+bold, unless you have provided explicit markup.
+
+Due to an oversight, this function does not escape special XML characters
+like gtk_message_dialog_new_with_markup() does. Thus, if the arguments
+may contain special XML characters, you should use g_markup_printf_escaped()
+to escape it.
+
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+gchar *msg;
+
+msg = g_markup_printf_escaped (message_format, ...);
+gtk_message_dialog_format_secondary_markup (message_dialog, &quot;&amp;percnt;s&quot;, msg);
+g_free (msg);
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="message_dialog">
+<parameter_description> a #GtkMessageDialog
+</parameter_description>
+</parameter>
+<parameter name="message_format">
+<parameter_description> printf()-style markup string (see
+ &amp;lt;link linkend=&quot;PangoMarkupFormat&quot;&amp;gt;Pango markup format&amp;lt;/link&amp;gt;), or %NULL
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> arguments for @message_format
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_style_ref">
+<description>
+Deprecated equivalent of g_object_ref().
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle.
+</parameter_description>
+</parameter>
+</parameters>
+<return> @style.
+</return>
+</function>
+
+<function name="gtk_print_settings_set_output_bin">
+<description>
+Sets the value of %GTK_PRINT_SETTINGS_OUTPUT_BIN.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="output_bin">
+<parameter_description> the output bin
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_status_icon_get_icon_name">
+<description>
+Gets the name of the icon being displayed by the #GtkStatusIcon.
+The storage type of the status icon must be %GTK_IMAGE_EMPTY or
+%GTK_IMAGE_ICON_NAME (see gtk_status_icon_get_storage_type()).
+The returned string is owned by the #GtkStatusIcon and should not
+be freed or modified.
+
+
+</description>
+<parameters>
+<parameter name="status_icon">
+<parameter_description> a #GtkStatusIcon
+</parameter_description>
+</parameter>
+</parameters>
+<return> name of the displayed icon, or %NULL if the image is empty.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_status_icon_new">
+<description>
+Creates an empty status icon object.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkStatusIcon
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_widget_pop_composite_child">
+<description>
+Cancels the effect of a previous call to gtk_widget_push_composite_child().
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_completion_set_popup_completion">
+<description>
+Sets whether the completions should be presented in a popup window.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> a #GtkEntryCompletion
+</parameter_description>
+</parameter>
+<parameter name="popup_completion">
+<parameter_description> %TRUE to do popup completion
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_is_rubber_banding_active">
+<description>
+Return value: %TRUE if a rubber banding operation is currently being
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a rubber banding operation is currently being
+done in @tree_view.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_tree_view_tree_to_widget_coords">
+<description>
+Converts tree coordinates (coordinates in full scrollable area of the tree)
+to bin_window coordinates.
+
+Deprecated: 2.12: Due to historial reasons the name of this function is
+incorrect. For converting bin_window coordinates to coordinates relative
+to bin_window, please see
+gtk_tree_view_convert_bin_window_to_widget_coords().
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="tx">
+<parameter_description> tree X coordinate
+</parameter_description>
+</parameter>
+<parameter name="ty">
+<parameter_description> tree Y coordinate
+</parameter_description>
+</parameter>
+<parameter name="wx">
+<parameter_description> return location for X coordinate relative to bin_window
+</parameter_description>
+</parameter>
+<parameter name="wy">
+<parameter_description> return location for Y coordinate relative to bin_window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_set_min_width">
+<description>
+Sets the minimum width of the @tree_column. If @min_width is -1, then the
+minimum width is unset.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+<parameter name="min_width">
+<parameter_description> The minimum width of the column in pixels, or -1.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_box_set_child_packing">
+<description>
+Sets the way @child is packed into @box.
+
+</description>
+<parameters>
+<parameter name="box">
+<parameter_description> a #GtkBox
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the #GtkWidget of the child to set
+</parameter_description>
+</parameter>
+<parameter name="expand">
+<parameter_description> the new value of the #GtkBox:expand child property
+</parameter_description>
+</parameter>
+<parameter name="fill">
+<parameter_description> the new value of the #GtkBox:fill child property
+</parameter_description>
+</parameter>
+<parameter name="padding">
+<parameter_description> the new value of the #GtkBox:padding child property
+</parameter_description>
+</parameter>
+<parameter name="pack_type">
+<parameter_description> the new value of the #GtkBox:pack-type child property
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_cell_editable_editing_done">
+<description>
+Emits the #GtkCellEditable::editing-done signal.
+
+</description>
+<parameters>
+<parameter name="cell_editable">
+<parameter_description> A #GtkTreeEditable
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_image_set_from_pixbuf">
+<description>
+See gtk_image_new_from_pixbuf() for details.
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GtkImage
+</parameter_description>
+</parameter>
+<parameter name="pixbuf">
+<parameter_description> a #GdkPixbuf or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_drag_dest_set_target_list">
+<description>
+Sets the target types that this widget can accept from drag-and-drop.
+The widget must first be made into a drag destination with
+gtk_drag_dest_set().
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget that&apos;s a drag destination
+</parameter_description>
+</parameter>
+<parameter name="target_list">
+<parameter_description> list of droppable targets, or %NULL for none
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_selection_add_target">
+<description>
+Appends a specified target to the list of supported targets for a
+given widget and selection.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkTarget
+</parameter_description>
+</parameter>
+<parameter name="selection">
+<parameter_description> the selection
+</parameter_description>
+</parameter>
+<parameter name="target">
+<parameter_description> target to add.
+</parameter_description>
+</parameter>
+<parameter name="info">
+<parameter_description> A unsigned integer which will be passed back to the application.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_modify_fg">
+<description>
+Sets the foreground color for a widget in a particular state.
+All other style values are left untouched. See also
+gtk_widget_modify_style().
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="state">
+<parameter_description> the state for which to set the foreground color
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> the color to assign (does not need to be allocated),
+or %NULL to undo the effect of previous calls to
+of gtk_widget_modify_fg().
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_insert_column">
+<description>
+This inserts the @column into the @tree_view at @position. If @position is
+-1, then the column is inserted at the end. If @tree_view has
+&quot;fixed_height&quot; mode enabled, then @column must have its &quot;sizing&quot; property
+set to be GTK_TREE_VIEW_COLUMN_FIXED.
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView.
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> The #GtkTreeViewColumn to be inserted.
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> The position to insert @column in.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The number of columns in @tree_view after insertion.
+</return>
+</function>
+
+<function name="gtk_image_menu_item_set_image">
+<description>
+Sets the image of @image_menu_item to the given widget.
+Note that it depends on the show-menu-images setting whether
+the image will be displayed or not.
+
+</description>
+<parameters>
+<parameter name="image_menu_item">
+<parameter_description> a #GtkImageMenuItem.
+</parameter_description>
+</parameter>
+<parameter name="image">
+<parameter_description> a widget to set as the image for the menu item.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_image_new_from_image">
+<description>
+Creates a #GtkImage widget displaying a @image with a @mask.
+A #GdkImage is a client-side image buffer in the pixel format of the
+current display. The #GtkImage does not assume a reference to the
+image or mask; you still need to unref them if you own references.
+#GtkImage will add its own reference rather than adopting yours.
+
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GdkImage, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="mask">
+<parameter_description> a #GdkBitmap, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkImage
+</return>
+</function>
+
+<function name="gtk_accel_map_load">
+<description>
+Parses a file previously saved with gtk_accel_map_save() for
+accelerator specifications, and propagates them accordingly.
+
+</description>
+<parameters>
+<parameter name="file_name">
+<parameter_description> a file containing accelerator specifications,
+in the GLib file name encoding
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_set_use_preview_label">
+<description>
+Sets whether the file chooser should display a stock label with the name of
+the file that is being previewed; the default is %TRUE. Applications that
+want to draw the whole preview area themselves should set this to %FALSE and
+display the name themselves in their preview widget.
+
+See also: gtk_file_chooser_set_preview_widget()
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="use_label">
+<parameter_description> whether to display a stock label with the name of the previewed file
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_row_reference_new_proxy">
+<description>
+You do not need to use this function. Creates a row reference based on
+@path. This reference will keep pointing to the node pointed to by @path,
+so long as it exists. If @path isn&apos;t a valid path in @model, then %NULL is
+returned. However, unlike references created with
+gtk_tree_row_reference_new(), it does not listen to the model for changes.
+The creator of the row reference must do this explicitly using
+gtk_tree_row_reference_inserted(), gtk_tree_row_reference_deleted(),
+gtk_tree_row_reference_reordered().
+
+These functions must be called exactly once per proxy when the
+corresponding signal on the model is emitted. This single call
+updates all row references for that proxy. Since built-in GTK+
+objects like #GtkTreeView already use this mechanism internally,
+using them as the proxy object will produce unpredictable results.
+Further more, passing the same object as @model and @proxy
+doesn&apos;t work for reasons of internal implementation.
+
+This type of row reference is primarily meant by structures that need to
+carefully monitor exactly when a row reference updates itself, and is not
+generally needed by most applications.
+
+
+</description>
+<parameters>
+<parameter name="proxy">
+<parameter_description> A proxy #GObject
+</parameter_description>
+</parameter>
+<parameter name="model">
+<parameter_description> A #GtkTreeModel
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> A valid #GtkTreePath to monitor
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly allocated #GtkTreeRowReference, or %NULL
+</return>
+</function>
+
+<function name="gtk_layout_thaw">
+<description>
+This is a deprecated function, it doesn&apos;t do anything useful.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_image_new_from_icon_name">
+<description>
+Creates a #GtkImage displaying an icon from the current icon theme.
+If the icon name isn&apos;t known, a &quot;broken image&quot; icon will be
+displayed instead. If the current icon theme is changed, the icon
+will be updated appropriately.
+
+
+</description>
+<parameters>
+<parameter name="icon_name">
+<parameter_description> an icon name
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> a stock icon size
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkImage displaying the themed icon
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_tree_view_column_get_widget">
+<description>
+Return value: The #GtkWidget in the column header, or %NULL
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GtkWidget in the column header, or %NULL
+</return>
+</function>
+
+<function name="gtk_recent_filter_add_group">
+<description>
+Adds a rule that allows resources based on the name of the group
+to which they belong
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> a #GtkRecentFilter
+</parameter_description>
+</parameter>
+<parameter name="group">
+<parameter_description> a group name
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_set_composite_name">
+<description>
+Sets a widgets composite name. The widget must be
+a composite child of its parent; see gtk_widget_push_composite_child().
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget.
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> the name to set
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_cut_clipboard">
+<description>
+Copies the currently-selected text to a clipboard, then deletes
+said text if it&apos;s editable.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="clipboard">
+<parameter_description> the #GtkClipboard object to cut to
+</parameter_description>
+</parameter>
+<parameter name="default_editable">
+<parameter_description> default editability of the buffer
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_page_setup_unix_dialog_get_print_settings">
+<description>
+Gets the current print settings from the dialog.
+
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkPageSetupUnixDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current print settings
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_file_system_list_bookmarks">
+<description>
+Queries the list of bookmarks in the file system.
+
+
+</description>
+<parameters>
+<parameter name="file_system">
+<parameter_description> a #GtkFileSystem
+</parameter_description>
+</parameter>
+</parameters>
+<return> A list of #GtkFilePath, or NULL if there are no configured
+bookmarks. You should use gtk_file_paths_free() to free this list.
+
+See also: gtk_file_system_get_supports_bookmarks()
+</return>
+</function>
+
+<function name="gtk_file_paths_copy">
+<description>
+Copies a list of #GtkFilePath structures.
+
+
+</description>
+<parameters>
+<parameter name="paths">
+<parameter_description> A #GSList of #GtkFilePath structures.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A copy of @paths. Since the contents of the list are copied as
+well, you should use gtk_file_paths_free() to free the result.
+</return>
+</function>
+
+<function name="gtk_cell_view_get_cell_renderers">
+<description>
+Return value: a list of cell renderers. The list, but not the
+
+</description>
+<parameters>
+<parameter name="cell_view">
+<parameter_description> a #GtkCellView
+</parameter_description>
+</parameter>
+</parameters>
+<return> a list of cell renderers. The list, but not the
+renderers has been newly allocated and should be freed with
+g_list_free() when no longer needed.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_icon_info_get_embedded_rect">
+<description>
+Gets the coordinates of a rectangle within the icon
+that can be used for display of information such
+as a preview of the contents of a text file.
+See gtk_icon_info_set_raw_coordinates() for further
+information about the coordinate system.
+
+
+</description>
+<parameters>
+<parameter name="icon_info">
+<parameter_description> a #GtkIconInfo
+</parameter_description>
+</parameter>
+<parameter name="rectangle">
+<parameter_description> #GdkRectangle in which to store embedded
+rectangle coordinates; coordinates are only stored
+when this function returns %TRUE.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the icon has an embedded rectangle
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_style_new">
+<description>
+Creates a new #GtkStyle.
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkStyle.
+</return>
+</function>
+
+<function name="gtk_plug_get_id">
+<description>
+Gets the window ID of a #GtkPlug widget, which can then
+be used to embed this window inside another window, for
+instance with gtk_socket_add_id().
+
+
+</description>
+<parameters>
+<parameter name="plug">
+<parameter_description> a #GtkPlug.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the window ID for the plug
+</return>
+</function>
+
+<function name="gtk_about_dialog_set_license">
+<description>
+Sets the license information to be displayed in the secondary
+license dialog. If @license is %NULL, the license button is
+hidden.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+<parameter name="license">
+<parameter_description> the license information or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_get_reorderable">
+<description>
+Retrieves whether the user can reorder the tree via drag-and-drop. See
+gtk_tree_view_set_reorderable().
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the tree can be reordered.
+</return>
+</function>
+
+<function name="gtk_recent_chooser_get_local_only">
+<description>
+Gets whether only local resources should be shown in the recently used
+resources selector. See gtk_recent_chooser_set_local_only()
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if only local resources should be shown.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_item_factory_delete_item">
+<description>
+Deletes the menu item which was created for @path by the given
+item factory.
+
+Deprecated: 2.4:
+
+</description>
+<parameters>
+<parameter name="ifactory">
+<parameter_description> a #GtkItemFactory
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a path
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_set_title">
+<description>
+Sets the title of the @tree_column. If a custom widget has been set, then
+this value is ignored.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+<parameter name="title">
+<parameter_description> The title of the @tree_column.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_cell_set_cell_data">
+<description>
+Sets the cell renderer based on the @tree_model and @iter. That is, for
+every attribute mapping in @tree_column, it will get a value from the set
+column on the @iter, and use that value to set the attribute on the cell
+renderer. This is used primarily by the #GtkTreeView.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+<parameter name="tree_model">
+<parameter_description> The #GtkTreeModel to to get the cell renderers attributes from.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> The #GtkTreeIter to to get the cell renderer&apos;s attributes from.
+</parameter_description>
+</parameter>
+<parameter name="is_expander">
+<parameter_description> %TRUE, if the row has children
+</parameter_description>
+</parameter>
+<parameter name="is_expanded">
+<parameter_description> %TRUE, if the row has visible children
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_entry_get_alignment">
+<description>
+Gets the value set by gtk_entry_set_alignment().
+
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+</parameters>
+<return> the alignment
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tree_view_column_get_clickable">
+<description>
+Return value: %TRUE if user can click the column header.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> a #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if user can click the column header.
+</return>
+</function>
+
+<function name="gtk_tool_button_set_label">
+<description>
+Sets @label as the label used for the tool button. The &quot;label&quot; property
+only has an effect if not overridden by a non-%NULL &quot;label_widget&quot; property.
+If both the &quot;label_widget&quot; and &quot;label&quot; properties are %NULL, the label
+is determined by the &quot;stock_id&quot; property. If the &quot;stock_id&quot; property is also
+%NULL, @button will not have a label.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkToolButton
+</parameter_description>
+</parameter>
+<parameter name="label">
+<parameter_description> a string that will be used as label, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_get_preview_widget_active">
+<description>
+Gets whether the preview widget set by gtk_file_chooser_set_preview_widget()
+should be shown for the current filename. See
+gtk_file_chooser_set_preview_widget_active().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the preview widget is active for the current filename.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="_gtk_key_hash_lookup_keyval">
+<description>
+Looks up the best matching entry or entries in the hash table for a
+given keyval/modifiers pair. It&apos;s better to use
+_gtk_key_hash_lookup() if you have the original #GdkEventKey
+available. The results are sorted so that entries with less
+modifiers come before entries with more modifiers.
+
+
+</description>
+<parameters>
+<parameter name="key_hash">
+<parameter_description> a #GtkKeyHash
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> a #GtkEvent
+</parameter_description>
+</parameter>
+</parameters>
+<return> A #GSList of all matching entries.
+</return>
+</function>
+
+<function name="gtk_icon_theme_append_search_path">
+<description>
+Appends a directory to the search path.
+See gtk_icon_theme_set_search_path().
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="icon_theme">
+<parameter_description> a #GtkIconTheme
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> directory name to append to the icon path
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_get_tooltip_markup">
+<description>
+Gets the contents of the tooltip for @widget.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the tooltip text, or %NULL. You should free the
+returned string with g_free() when done.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_tree_view_set_headers_visible">
+<description>
+Sets the visibility state of the headers.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView.
+</parameter_description>
+</parameter>
+<parameter name="headers_visible">
+<parameter_description> %TRUE if the headers are visible
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_get_visible_range">
+<description>
+Sets @start_path and @end_path to be the first and last visible path.
+Note that there may be invisible paths in between.
+
+The paths should be freed with gtk_tree_path_free() after use.
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="start_path">
+<parameter_description> Return location for start of region, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="end_path">
+<parameter_description> Return location for end of region, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE, if valid paths were placed in @start_path and @end_path.
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gtk_accel_map_lookup_entry">
+<description>
+Looks up the accelerator entry for @accel_path and fills in @key.
+
+</description>
+<parameters>
+<parameter name="accel_path">
+<parameter_description> a valid accelerator path
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> the accelerator key to be filled in (optional)
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @accel_path is known, %FALSE otherwise
+</return>
+</function>
+
+<function name="gtk_tree_view_convert_tree_to_bin_window_coords">
+<description>
+Converts tree coordinates (coordinates in full scrollable area of the tree)
+to bin_window coordinates.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="tx">
+<parameter_description> tree X coordinate
+</parameter_description>
+</parameter>
+<parameter name="ty">
+<parameter_description> tree Y coordinate
+</parameter_description>
+</parameter>
+<parameter name="bx">
+<parameter_description> return location for X coordinate relative to bin_window
+</parameter_description>
+</parameter>
+<parameter name="by">
+<parameter_description> return location for Y coordinate relative to bin_window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_cell_renderer_progress_new">
+<description>
+Creates a new #GtkCellRendererProgress.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the new cell renderer
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_cell_layout_add_attribute">
+<description>
+Adds an attribute mapping to the list in @cell_layout. The @column is the
+column of the model to get a value from, and the @attribute is the
+parameter on @cell to be set from the value. So for example if column 2
+of the model contains strings, you could have the &quot;text&quot; attribute of a
+#GtkCellRendererText get its values from column 2.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="cell_layout">
+<parameter_description> A #GtkCellLayout.
+</parameter_description>
+</parameter>
+<parameter name="cell">
+<parameter_description> A #GtkCellRenderer.
+</parameter_description>
+</parameter>
+<parameter name="attribute">
+<parameter_description> An attribute on the renderer.
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> The column position on the model to get the attribute from.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_socket_get_id">
+<description>
+Gets the window ID of a #GtkSocket widget, which can then
+be used to create a client embedded inside the socket, for
+instance with gtk_plug_new().
+
+The #GtkSocket must have already be added into a toplevel window
+before you can make this call.
+
+
+</description>
+<parameters>
+<parameter name="socket_">
+<parameter_description> a #GtkSocket.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the window ID for the socket
+</return>
+</function>
+
+<function name="gtk_scrolled_window_get_placement">
+<description>
+Gets the placement of the contents with respect to the scrollbars
+for the scrolled window. See gtk_scrolled_window_set_placement().
+
+
+</description>
+<parameters>
+<parameter name="scrolled_window">
+<parameter_description> a #GtkScrolledWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current placement value.
+
+See also gtk_scrolled_window_set_placement() and
+gtk_scrolled_window_unset_placement().
+</return>
+</function>
+
+<function name="gtk_expander_get_use_underline">
+<description>
+Return value: %TRUE if an embedded underline in the expander label
+
+</description>
+<parameters>
+<parameter name="expander">
+<parameter_description> a #GtkExpander
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if an embedded underline in the expander label
+indicates the mnemonic accelerator keys.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_print_settings_set_finishings">
+<description>
+Sets the value of %GTK_PRINT_SETTINGS_FINISHINGS.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="finishings">
+<parameter_description> the finishings
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkUIManager">
+<description>
+The post_activate signal is emitted just after the @action
+is activated.
+
+This is intended for applications to get notification
+just after any action is activated.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="uimanager">
+<parameter_description> the ui manager
+</parameter_description>
+</parameter>
+<parameter name="action">
+<parameter_description> the action
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkAccelMap">
+<description>
+Notifies of a change in the global accelerator map.
+The path is also used as the detail for the signal,
+so it is possible to connect to
+changed::&amp;lt;replaceable&amp;gt;accel_path&amp;lt;/replaceable&amp;gt;.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> the global accel map object
+</parameter_description>
+</parameter>
+<parameter name="accel_path">
+<parameter_description> the path of the accelerator that changed
+</parameter_description>
+</parameter>
+<parameter name="accel_key">
+<parameter_description> the key value for the new accelerator
+</parameter_description>
+</parameter>
+<parameter name="accel_mods">
+<parameter_description> the modifier mask for the new accelerator
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_action_group_get_sensitive">
+<description>
+Return value: %TRUE if the group is sensitive.
+
+</description>
+<parameters>
+<parameter name="action_group">
+<parameter_description> the action group
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the group is sensitive.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_rc_property_parse_flags">
+<description>
+A #GtkRcPropertyParser for use with gtk_settings_install_property_parser()
+or gtk_widget_class_install_style_property_parser() which parses flags.
+
+Flags can be specified by their name, their nickname or
+numerically. Multiple flags can be specified in the form
+&amp;lt;literal&amp;gt;&quot;( flag1 | flag2 | ... )&quot;&amp;lt;/literal&amp;gt;.
+
+
+</description>
+<parameters>
+<parameter name="pspec">
+<parameter_description> a #GParamSpec
+</parameter_description>
+</parameter>
+<parameter name="gstring">
+<parameter_description> the #GString to be parsed
+</parameter_description>
+</parameter>
+<parameter name="property_value">
+<parameter_description> a #GValue which must hold flags values.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @gstring could be parsed and @property_value
+has been set to the resulting flags value.
+</return>
+</function>
+
+<function name="gtk_print_operation_set_custom_tab_label">
+<description>
+Sets the label for the tab holding custom widgets.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="op">
+<parameter_description> a #GtkPrintOperation
+</parameter_description>
+</parameter>
+<parameter name="label">
+<parameter_description> the label to use, or %NULL to use the default label
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkAction">
+<description>
+The &quot;activate&quot; signal is emitted when the action is activated.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the #GtkAction
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_operation_run">
+<description>
+Runs the print operation, by first letting the user modify
+print settings in the print dialog, and then print the document.
+
+Normally that this function does not return until the rendering of all
+pages is complete. You can connect to the
+#GtkPrintOperation::status-changed signal on @op to obtain some
+information about the progress of the print operation.
+Furthermore, it may use a recursive mainloop to show the print dialog.
+
+If you call gtk_print_operation_set_allow_async() or set the allow-async
+property the operation will run asyncronously if this is supported on the
+platform. The #GtkPrintOperation::done signal will be emitted with the
+operation results when the operation is done (i.e. when the dialog is
+canceled, or when the print succeeds or fails).
+
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+if (settings != NULL)
+gtk_print_operation_set_print_settings (print, settings);
+
+if (page_setup != NULL)
+gtk_print_operation_set_default_page_setup (print, page_setup);
+
+g_signal_connect (print, &quot;begin-print&quot;,
+G_CALLBACK (begin_print), &amp;amp;data);
+g_signal_connect (print, &quot;draw-page&quot;,
+G_CALLBACK (draw_page), &amp;amp;data);
+
+res = gtk_print_operation_run (print, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, parent, &amp;amp;error);
+
+if (res == GTK_PRINT_OPERATION_RESULT_ERROR)
+{
+error_dialog = gtk_message_dialog_new (GTK_WINDOW (parent),
+GTK_DIALOG_DESTROY_WITH_PARENT,
+GTK_MESSAGE_ERROR,
+GTK_BUTTONS_CLOSE,
+&quot;Error printing file:\n&amp;percnt;s&quot;,
+error-&amp;gt;message);
+g_signal_connect (error_dialog, &quot;response&quot;,
+G_CALLBACK (gtk_widget_destroy), NULL);
+gtk_widget_show (error_dialog);
+g_error_free (error);
+}
+else if (res == GTK_PRINT_OPERATION_RESULT_APPLY)
+{
+if (settings != NULL)
+g_object_unref (settings);
+settings = g_object_ref (gtk_print_operation_get_print_settings (print));
+}
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+Note that gtk_print_operation_run() can only be called once on a
+given #GtkPrintOperation.
+
+
+</description>
+<parameters>
+<parameter name="op">
+<parameter_description> a #GtkPrintOperation
+</parameter_description>
+</parameter>
+<parameter name="action">
+<parameter_description> the action to start
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> Transient parent of the dialog, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> Return location for errors, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> the result of the print operation. A return value of
+%GTK_PRINT_OPERATION_RESULT_APPLY indicates that the printing was
+completed successfully. In this case, it is a good idea to obtain
+the used print settings with gtk_print_operation_get_print_settings()
+and store them for reuse with the next print operation. A value of
+%GTK_PRINT_OPERATION_RESULT_IN_PROGRESS means the operation is running
+asynchronously, and will emit the ::done signal when done.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_action_activate">
+<description>
+Emits the &quot;activate&quot; signal on the specified action, if it isn&apos;t
+insensitive. This gets called by the proxy widgets when they get
+activated.
+
+It can also be used to manually activate an action.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_set_default">
+<description>
+The default widget is the widget that&apos;s activated when the user
+presses Enter in a dialog (for example). This function sets or
+unsets the default widget for a #GtkWindow about. When setting
+(rather than unsetting) the default widget it&apos;s generally easier to
+call gtk_widget_grab_focus() on the widget. Before making a widget
+the default widget, you must set the #GTK_CAN_DEFAULT flag on the
+widget you&apos;d like to make the default using GTK_WIDGET_SET_FLAGS().
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="default_widget">
+<parameter_description> widget to be the default, or %NULL to unset the
+default widget for the toplevel.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_im_multicontext_append_menuitems">
+<description>
+Add menuitems for various available input methods to a menu;
+the menuitems, when selected, will switch the input method
+for the context and the global default input method.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkIMMultiContext
+</parameter_description>
+</parameter>
+<parameter name="menushell">
+<parameter_description> a #GtkMenuShell
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_get_root_window">
+<description>
+Get the root window where this widget is located. This function can
+only be called after the widget has been added to a widget
+heirarchy with #GtkWindow at the top.
+
+The root window is useful for such purposes as creating a popup
+#GdkWindow associated with the window. In general, you should only
+create display specific resources when a widget has been realized,
+and you should free those resources when the widget is unrealized.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkWindow root window for the toplevel for this widget.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="GtkPlug">
+<description>
+Gets emitted when the plug becomes embedded in a socket
+and when the embedding ends.
+
+</description>
+<parameters>
+<parameter name="plug">
+<parameter_description> the object on which the signal was emitted
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_paper_size_get_paper_sizes">
+<description>
+Creates a list of known paper sizes.
+
+
+</description>
+<parameters>
+<parameter name="include_custom">
+<parameter_description> whether to include custom paper sizes
+as defined in the page setup dialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated list of newly
+allocated #GtkPaperSize objects
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_tool_button_set_stock_id">
+<description>
+Sets the name of the stock item. See gtk_tool_button_new_from_stock().
+The stock_id property only has an effect if not
+overridden by non-%NULL &quot;label&quot; and &quot;icon_widget&quot; properties.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="button">
+<parameter_description> a #GtkToolButton
+</parameter_description>
+</parameter>
+<parameter name="stock_id">
+<parameter_description> a name of a stock item, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_set_n_copies">
+<description>
+Sets the value of %GTK_PRINT_SETTINGS_N_COPIES.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="num_copies">
+<parameter_description> the number of copies
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_hsv_new">
+<description>
+Creates a new HSV color selector.
+
+
+</description>
+<parameters>
+<parameter name="void">
+<parameter_description>
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly-created HSV color selector.
+</return>
+</function>
+
+<function name="gtk_print_settings_set_paper_height">
+<description>
+Sets the value of %GTK_PRINT_SETTINGS_PAPER_HEIGHT.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the paper height
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the units of @height
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_set_model">
+<description>
+Sets the model for a #GtkTreeView. If the @tree_view already has a model
+set, it will remove it before setting the new model. If @model is %NULL,
+then it will unset the old model.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeNode.
+</parameter_description>
+</parameter>
+<parameter name="model">
+<parameter_description> The model.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_style_get">
+<description>
+Gets the values of a multiple style properties of @widget.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="first_property_name">
+<parameter_description> the name of the first property to get
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> pairs of property names and locations to
+return the property values, starting with the location for
+@first_property_name, terminated by %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_view_new">
+<description>
+Creates a new #GtkTextView. If you don&apos;t call gtk_text_view_set_buffer()
+before using the text view, an empty default buffer will be created
+for you. Get the buffer with gtk_text_view_get_buffer(). If you want
+to specify your own buffer, consider gtk_text_view_new_with_buffer().
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkTextView
+</return>
+</function>
+
+<function name="gtk_icon_view_get_selection_mode">
+<description>
+Gets the selection mode of the @icon_view.
+
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> A #GtkIconView.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current selection mode
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_tool_button_new_from_stock">
+<description>
+Creates a new #GtkToolButton containing the image and text from a
+stock item. Some stock ids have preprocessor macros like #GTK_STOCK_OK
+and #GTK_STOCK_APPLY.
+
+It is an error if @stock_id is not a name of a stock item.
+
+
+</description>
+<parameters>
+<parameter name="stock_id">
+<parameter_description> the name of the stock item
+</parameter_description>
+</parameter>
+</parameters>
+<return> A new #GtkToolButton
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_print_run_page_setup_dialog_async">
+<description>
+Runs a page setup dialog, letting the user modify the values from @page_setup.
+
+In contrast to gtk_print_run_page_setup_dialog(), this function returns after
+showing the page setup dialog on platforms that support this, and calls @done_cb
+from a signal handler for the ::response signal of the dialog.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="parent">
+<parameter_description> transient parent, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="page_setup">
+<parameter_description> an existing #GtkPageSetup, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="done_cb">
+<parameter_description> a function to call when the user saves the modified page setup
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> user data to pass to @done_cb
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_hsv_get_color">
+<description>
+Queries the current color in an HSV color selector. Returned values will be
+in the [0.0, 1.0] range.
+
+</description>
+<parameters>
+<parameter name="hsv">
+<parameter_description> An HSV color selector.
+</parameter_description>
+</parameter>
+<parameter name="h">
+<parameter_description> Return value for the hue.
+</parameter_description>
+</parameter>
+<parameter name="s">
+<parameter_description> Return value for the saturation.
+</parameter_description>
+</parameter>
+<parameter name="v">
+<parameter_description> Return value for the value.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_file_chooser_button_new_with_backend">
+<description>
+Creates a new file-selecting button widget using @backend.
+
+
+</description>
+<parameters>
+<parameter name="title">
+<parameter_description> the title of the browse dialog.
+</parameter_description>
+</parameter>
+<parameter name="action">
+<parameter_description> the open mode for the widget.
+</parameter_description>
+</parameter>
+<parameter name="backend">
+<parameter_description> the name of the #GtkFileSystem backend to use.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new button widget.
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_cell_renderer_text_new">
+<description>
+Creates a new #GtkCellRendererText. Adjust how text is drawn using
+object properties. Object properties can be
+set globally (with g_object_set()). Also, with #GtkTreeViewColumn,
+you can bind a property to a value in a #GtkTreeModel. For example,
+you can bind the &quot;text&quot; property on the cell renderer to a string
+value in the model, thus rendering a different string in each row
+of the #GtkTreeView
+
+
+</description>
+<parameters>
+</parameters>
+<return> the new cell renderer
+</return>
+</function>
+
+<function name="gtk_text_iter_forward_word_end">
+<description>
+Moves forward to the next word end. (If @iter is currently on a
+word end, moves forward to the next one after that.) Word breaks
+are determined by Pango and should be correct for nearly any
+language (if not, the correct fix would be to the Pango word break
+algorithms).
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter moved and is not the end iterator
+</return>
+</function>
+
+<function name="gtk_label_get_layout_offsets">
+<description>
+Obtains the coordinates where the label will draw the #PangoLayout
+representing the text in the label; useful to convert mouse events
+into coordinates inside the #PangoLayout, e.g. to take some action
+if some part of the label is clicked. Of course you will need to
+create a #GtkEventBox to receive the events, and pack the label
+inside it, since labels are a #GTK_NO_WINDOW widget. Remember
+when using the #PangoLayout functions you need to convert to
+and from pixels using PANGO_PIXELS() or #PANGO_SCALE.
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> location to store X offset of layout, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> location to store Y offset of layout, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_info_get_visited">
+<description>
+Gets the timestamp (seconds from system&apos;s Epoch) when the resource
+was last visited.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GtkRecentInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of seconds elapsed from system&apos;s Epoch when
+the resource was last visited, or -1 on failure.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_selection_data_get_uris">
+<description>
+Gets the contents of the selection data as array of URIs.
+
+
+</description>
+<parameters>
+<parameter name="selection_data">
+<parameter_description> a #GtkSelectionData
+</parameter_description>
+</parameter>
+</parameters>
+<return> if the selection data contains a list of
+URIs, a newly allocated %NULL-terminated string array
+containing the URIs, otherwise %NULL. If the result is
+non-%NULL it must be freed with g_strfreev().
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_file_chooser_get_filenames">
+<description>
+Lists all the selected files and subfolders in the current folder of
+@chooser. The returned names are full absolute paths. If files in the current
+folder cannot be represented as local filenames they will be ignored. (See
+gtk_file_chooser_get_uris())
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GSList containing the filenames of all selected
+files and subfolders in the current folder. Free the returned list
+with g_slist_free(), and the filenames with g_free().
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_print_settings_new_from_file">
+<description>
+Reads the print settings from @filename. Returns a new #GtkPrintSettings
+object with the restored settings, or %NULL if an error occurred.
+See gtk_print_settings_to_file().
+
+
+</description>
+<parameters>
+<parameter name="file_name">
+<parameter_description> the filename to read the settings from
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for errors, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> the restored #GtkPrintSettings
+
+Since: 2.12
+</return>
+</function>
+
+<function name="GtkMenuItem">
+<description>
+The submenu attached to the menu item, or NULL if it has none.
+
+Since: 2.12
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_set_transient_for">
+<description>
+Dialog windows should be set transient for the main application
+window they were spawned from. This allows &amp;lt;link
+linkend=&quot;gtk-X11-arch&quot;&amp;gt;window managers&amp;lt;/link&amp;gt; to e.g. keep the
+dialog on top of the main window, or center the dialog over the
+main window. gtk_dialog_new_with_buttons() and other convenience
+functions in GTK+ will sometimes call
+gtk_window_set_transient_for() on your behalf.
+
+On Windows, this function puts the child window on top of the parent,
+much as the window manager would have done on X.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> parent window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_status_icon_set_from_pixbuf">
+<description>
+Makes @status_icon display @pixbuf.
+See gtk_status_icon_new_from_pixbuf() for details.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="status_icon">
+<parameter_description> a #GtkStatusIcon
+</parameter_description>
+</parameter>
+<parameter name="pixbuf">
+<parameter_description> a #GdkPixbuf or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_ends_tag">
+<description>
+Return value: whether @iter is the end of a range tagged with @tag
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+<parameter name="tag">
+<parameter_description> a #GtkTextTag, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @iter is the end of a range tagged with @tag
+
+</return>
+</function>
+
+<function name="gtk_action_group_translate_string">
+<description>
+Translates a string using the specified translate_func(). This
+is mainly intended for language bindings.
+
+
+</description>
+<parameters>
+<parameter name="action_group">
+<parameter_description> a #GtkActionGroup
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> a string
+</parameter_description>
+</parameter>
+</parameters>
+<return> the translation of @string
+
+Since: 2.6
+</return>
+</function>
+
+<function name="_gtk_xembed_send_message">
+<description>
+Sends a generic XEMBED message to a particular window.
+
+</description>
+<parameters>
+<parameter name="recipient">
+<parameter_description> window to which to send the window, or %NULL
+in which case nothing will be sent
+</parameter_description>
+</parameter>
+<parameter name="message">
+<parameter_description> type of message
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> detail field of message
+</parameter_description>
+</parameter>
+<parameter name="data1">
+<parameter_description> data1 field of message
+</parameter_description>
+</parameter>
+<parameter name="data2">
+<parameter_description> data2 field of message
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_about_dialog_set_authors">
+<description>
+Sets the strings which are displayed in the authors tab
+of the secondary credits dialog.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+<parameter name="authors">
+<parameter_description> a %NULL-terminated array of strings
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_assistant_get_page_header_image">
+<description>
+Gets the header image for @page.
+
+
+</description>
+<parameters>
+<parameter name="assistant">
+<parameter_description> a #GtkAssistant
+</parameter_description>
+</parameter>
+<parameter name="page">
+<parameter_description> a page of @assistant
+</parameter_description>
+</parameter>
+</parameters>
+<return> the header image for @page, or %NULL
+if there&apos;s no header image for the page.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_draw_flat_box">
+<description>
+Draws a flat box on @window with the given parameters.
+
+Deprecated: Use gtk_paint_flat_box() instead.
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GdkWindow
+</parameter_description>
+</parameter>
+<parameter name="state_type">
+<parameter_description> a state
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> the type of shadow to draw
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x origin of the box
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y origin of the box
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the box
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the box
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_tag_table_new">
+<description>
+Creates a new #GtkTextTagTable. The table contains no tags by
+default.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkTextTagTable
+</return>
+</function>
+
+<function name="gtk_dialog_new_with_buttons">
+<description>
+Creates a new #GtkDialog with title @title (or %NULL for the default
+title; see gtk_window_set_title()) and transient parent @parent (or
+%NULL for none; see gtk_window_set_transient_for()). The @flags
+argument can be used to make the dialog modal (#GTK_DIALOG_MODAL)
+and/or to have it destroyed along with its transient parent
+(#GTK_DIALOG_DESTROY_WITH_PARENT). After @flags, button
+text/response ID pairs should be listed, with a %NULL pointer ending
+the list. Button text can be either a stock ID such as
+#GTK_STOCK_OK, or some arbitrary text. A response ID can be
+any positive number, or one of the values in the #GtkResponseType
+enumeration. If the user clicks one of these dialog buttons,
+#GtkDialog will emit the #GtkDialog::response signal with the corresponding
+response ID. If a #GtkDialog receives the #GtkWidget::delete-event signal,
+it will emit ::response with a response ID of #GTK_RESPONSE_DELETE_EVENT.
+However, destroying a dialog does not emit the ::response signal;
+so be careful relying on ::response when using the
+#GTK_DIALOG_DESTROY_WITH_PARENT flag. Buttons are from left to right,
+so the first button in the list will be the leftmost button in the dialog.
+
+Here&apos;s a simple example:
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+GtkWidget *dialog = gtk_dialog_new_with_buttons (&quot;My dialog&quot;,
+main_app_window,
+GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
+GTK_STOCK_OK,
+GTK_RESPONSE_ACCEPT,
+GTK_STOCK_CANCEL,
+GTK_RESPONSE_REJECT,
+NULL);
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+
+</description>
+<parameters>
+<parameter name="title">
+<parameter_description> Title of the dialog, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> Transient parent of the dialog, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> from #GtkDialogFlags
+</parameter_description>
+</parameter>
+<parameter name="first_button_text">
+<parameter_description> stock ID or text to go in first button, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> response ID for first button, then additional buttons, ending with %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkDialog
+</return>
+</function>
+
+<function name="gtk_file_chooser_set_current_name">
+<description>
+Sets the current name in the file selector, as if entered
+by the user. Note that the name passed in here is a UTF-8
+string rather than a filename. This function is meant for
+such uses as a suggested name in a &quot;Save As...&quot; dialog.
+
+If you want to preselect a particular existing file, you should use
+gtk_file_chooser_set_filename() or gtk_file_chooser_set_uri() instead.
+Please see the documentation for those functions for an example of using
+gtk_file_chooser_set_current_name() as well.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> the filename to use, as a UTF-8 string
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_set_locale">
+<description>
+Initializes internationalization support for GTK+. gtk_init()
+automatically does this, so there is typically no point
+in calling this function.
+
+If you are calling this function because you changed the locale
+after GTK+ is was initialized, then calling this function
+may help a bit. (Note, however, that changing the locale
+after GTK+ is initialized may produce inconsistent results and
+is not really supported.)
+
+In detail - sets the current locale according to the
+program environment. This is the same as calling the C library function
+&amp;lt;literal&amp;gt;setlocale (LC_ALL, &quot;&quot;)&amp;lt;/literal&amp;gt; but also takes care of the
+locale specific setup of the windowing system used by GDK.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a string corresponding to the locale set, typically in the
+form lang_COUNTRY, where lang is an ISO-639 language code, and
+COUNTRY is an ISO-3166 country code. On Unix, this form matches the
+result of the setlocale(); it is also used on other machines, such as
+Windows, where the C library returns a different result. The string is
+owned by GTK+ and should not be modified or freed.
+</return>
+</function>
+
+<function name="gtk_text_view_get_iter_location">
+<description>
+Gets a rectangle which roughly contains the character at @iter.
+The rectangle position is in buffer coordinates; use
+gtk_text_view_buffer_to_window_coords() to convert these
+coordinates to coordinates for one of the windows in the text view.
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="location">
+<parameter_description> bounds of the character at @iter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_get_name">
+<description>
+Retrieves the name of a widget. See gtk_widget_set_name() for the
+significance of widget names.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> name of the widget. This string is owned by GTK+ and
+should not be modified or freed
+</return>
+</function>
+
+<function name="gtk_expander_get_label_widget">
+<description>
+Retrieves the label widget for the frame. See
+gtk_expander_set_label_widget().
+
+
+</description>
+<parameters>
+<parameter name="expander">
+<parameter_description> a #GtkExpander
+</parameter_description>
+</parameter>
+</parameters>
+<return> the label widget, or %NULL if there is none.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_widget_get_composite_name">
+<description>
+Obtains the composite name of a widget.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the composite name of @widget, or %NULL if @widget is not
+a composite child. The string should not be freed when it is no
+longer needed.
+</return>
+</function>
+
+<function name="gtk_icon_size_lookup_for_settings">
+<description>
+Obtains the pixel size of a semantic icon size, possibly
+modified by user preferences for a particular
+#GtkSettings. Normally @size would be
+#GTK_ICON_SIZE_MENU, #GTK_ICON_SIZE_BUTTON, etc. This function
+isn&apos;t normally needed, gtk_widget_render_icon() is the usual
+way to get an icon for rendering, then just look at the size of
+the rendered pixbuf. The rendered pixbuf may not even correspond to
+the width/height returned by gtk_icon_size_lookup(), because themes
+are free to render the pixbuf however they like, including changing
+the usual size.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkSettings object, used to determine
+which set of user preferences to used.
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> an icon size
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> location to store icon width
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> location to store icon height
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @size was a valid size
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_tree_model_sort_convert_child_path_to_path">
+<description>
+Converts @child_path to a path relative to @tree_model_sort. That is,
+@child_path points to a path in the child model. The returned path will
+point to the same row in the sorted model. If @child_path isn&apos;t a valid
+path on the child model, then %NULL is returned.
+
+
+</description>
+<parameters>
+<parameter name="tree_model_sort">
+<parameter_description> A #GtkTreeModelSort
+</parameter_description>
+</parameter>
+<parameter name="child_path">
+<parameter_description> A #GtkTreePath to convert
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly allocated #GtkTreePath, or %NULL
+</return>
+</function>
+
+<function name="_gtk_xembed_push_message">
+<description>
+Adds a client message to the stack of current XEMBED events.
+
+</description>
+<parameters>
+<parameter name="xevent">
+<parameter_description> a XEvent
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_item_factory_get_widget">
+<description>
+Obtains the widget which corresponds to @path.
+
+If the widget corresponding to @path is a menu item which opens a
+submenu, then the submenu is returned. If you are interested in the menu
+item, use gtk_item_factory_get_item() instead.
+
+Deprecated: 2.4:
+
+</description>
+<parameters>
+<parameter name="ifactory">
+<parameter_description> a #GtkItemFactory
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> the path to the widget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the widget for the given path, or %NULL if @path doesn&apos;t lead
+to a widget
+</return>
+</function>
+
+<function name="gtk_icon_view_set_columns">
+<description>
+Sets the ::columns property which determines in how
+many columns the icons are arranged. If @columns is
+-1, the number of columns will be chosen automatically
+to fill the available area.
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+<parameter name="columns">
+<parameter_description> the number of columns
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_queue_resize">
+<description>
+This function is only for use in widget implementations.
+Flags a widget to have its size renegotiated; should
+be called when a widget for some reason has a new size request.
+For example, when you change the text in a #GtkLabel, #GtkLabel
+queues a resize to ensure there&apos;s enough space for the new text.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkCellEditable">
+<description>
+This signal is meant to indicate that the cell is finished
+editing, and the widget may now be destroyed.
+
+Implementations of #GtkCellEditable are responsible for
+emitting this signal when they are done editing. It must
+be emitted after the #GtkCellEditable::editing-done signal,
+to give the cell renderer a chance to update the cell&apos;s value
+before the widget is removed.
+
+gtk_cell_editable_remove_widget() is a convenience method
+for emitting ::remove-widget.
+
+</description>
+<parameters>
+<parameter name="cell_editable">
+<parameter_description> the object on which the signal was emitted
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_plug_send_delete_event">
+<description>
+Send a GDK_DELETE event to the @widget and destroy it if
+necessary. Internal GTK function, called from this file or the
+backend-specific GtkPlug implementation.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_get_fixed_height_mode">
+<description>
+Return value: %TRUE if @tree_view is in fixed height mode
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @tree_view is in fixed height mode
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_cell_renderer_activate">
+<description>
+Passes an activate event to the cell renderer for possible processing.
+Some cell renderers may use events; for example, #GtkCellRendererToggle
+toggles when it gets a mouse click.
+
+
+</description>
+<parameters>
+<parameter name="cell">
+<parameter_description> a #GtkCellRenderer
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> a #GdkEvent
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> widget that received the event
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> widget-dependent string representation of the event location;
+e.g. for #GtkTreeView, a string representation of #GtkTreePath
+</parameter_description>
+</parameter>
+<parameter name="background_area">
+<parameter_description> background area as passed to gtk_cell_renderer_render()
+</parameter_description>
+</parameter>
+<parameter name="cell_area">
+<parameter_description> cell area as passed to gtk_cell_renderer_render()
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> render flags
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the event was consumed/handled
+</return>
+</function>
+
+<function name="gtk_widget_get_parent">
+<description>
+Return value: the parent container of @widget, or %NULL
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the parent container of @widget, or %NULL
+</return>
+</function>
+
+<function name="gtk_style_unref">
+<description>
+Deprecated equivalent of g_object_unref().
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> a #GtkStyle.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_get_destroy_with_parent">
+<description>
+Return value: %TRUE if the window will be destroyed with its transient parent.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the window will be destroyed with its transient parent.
+</return>
+</function>
+
+<function name="gtk_spin_button_set_wrap">
+<description>
+Sets the flag that determines if a spin button value wraps around to the
+opposite limit when the upper or lower limit of the range is exceeded.
+
+</description>
+<parameters>
+<parameter name="spin_button">
+<parameter_description> a #GtkSpinButton
+</parameter_description>
+</parameter>
+<parameter name="wrap">
+<parameter_description> a flag indicating if wrapping behavior is performed.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_border_copy">
+<description>
+Copies a #GtkBorder structure.
+
+</description>
+<parameters>
+<parameter name="border_">
+<parameter_description> a #GtkBorder.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a copy of @border_.
+</return>
+</function>
+
+<function name="gtk_recent_action_new">
+<description>
+Creates a new #GtkRecentAction object. To add the action to
+a #GtkActionGroup and set the accelerator for the action,
+call gtk_action_group_add_action_with_accel().
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> a unique name for the action
+</parameter_description>
+</parameter>
+<parameter name="label">
+<parameter_description> the label displayed in menu items and on buttons
+</parameter_description>
+</parameter>
+<parameter name="tooltip">
+<parameter_description> a tooltip for the action
+</parameter_description>
+</parameter>
+<parameter name="stock_id">
+<parameter_description> the stock icon to display in widgets representing the action
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly created #GtkRecentAction.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_link_button_set_uri_hook">
+<description>
+Sets @func as the function that should be invoked every time a user clicks
+a #GtkLinkButton. This function is called before every callback registered
+for the &quot;clicked&quot; signal.
+
+
+</description>
+<parameters>
+<parameter name="func">
+<parameter_description> a function called each time a #GtkLinkButton is clicked, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> user data to be passed to @func, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> a #GDestroyNotify that gets called when @data is no longer needed, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> the previously set hook function.
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_status_icon_set_screen">
+<description>
+Sets the #GdkScreen where @status_icon is displayed; if
+the icon is already mapped, it will be unmapped, and
+then remapped on the new screen.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="status_icon">
+<parameter_description> a #GtkStatusIcon
+</parameter_description>
+</parameter>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_chooser_unselect_uri">
+<description>
+Unselects @uri inside @chooser.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a URI
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_draw_insertion_cursor">
+<description>
+Draws a text caret on @drawable at @location. This is not a style function
+but merely a convenience function for drawing the standard cursor shape.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+<parameter name="area">
+<parameter_description> rectangle to which the output is clipped, or %NULL if the
+output should not be clipped
+</parameter_description>
+</parameter>
+<parameter name="location">
+<parameter_description> location where to draw the cursor (@location-&amp;gt;width is ignored)
+</parameter_description>
+</parameter>
+<parameter name="is_primary">
+<parameter_description> if the cursor should be the primary cursor color.
+</parameter_description>
+</parameter>
+<parameter name="direction">
+<parameter_description> whether the cursor is left-to-right or
+right-to-left. Should never be #GTK_TEXT_DIR_NONE
+</parameter_description>
+</parameter>
+<parameter name="draw_arrow">
+<parameter_description> %TRUE to draw a directional arrow on the
+cursor. Should be %FALSE unless the cursor is split.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_layout_set_preedit_string">
+<description>
+Set the preedit string and attributes. The preedit string is a
+string showing text that is currently being edited and not
+yet committed into the buffer.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="preedit_string">
+<parameter_description> a string to display at the insertion point
+</parameter_description>
+</parameter>
+<parameter name="preedit_attrs">
+<parameter_description> a #PangoAttrList of attributes that apply to @preedit_string
+</parameter_description>
+</parameter>
+<parameter name="cursor_pos">
+<parameter_description> position of cursor within preedit string in chars
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_view_get_dest_item_at_pos">
+<description>
+Determines the destination item for a given position.
+
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+<parameter name="drag_x">
+<parameter_description> the position to determine the destination item for
+</parameter_description>
+</parameter>
+<parameter name="drag_y">
+<parameter_description> the position to determine the destination item for
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> Return location for the path of the item, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> Return location for the drop position, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether there is an item at the given position.
+
+Since: 2.8
+</return>
+</function>
+
+<function name="_gtk_key_hash_remove_entry">
+<description>
+Removes a value previously added to the key hash with
+_gtk_key_hash_add_entry().
+
+</description>
+<parameters>
+<parameter name="key_hash">
+<parameter_description> a #GtkKeyHash
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> value previously added with _gtk_key_hash_add_entry()
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_buffer_get_copy_target_list">
+<description>
+This function returns the list of targets this text buffer can
+provide for copying and as DND source. The targets in the list are
+added with %info values from the #GtkTextBufferTargetInfo enum,
+using gtk_target_list_add_rich_text_targets() and
+gtk_target_list_add_text_targets().
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GtkTargetList
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_status_icon_get_blinking">
+<description>
+Return value: %TRUE if the icon is blinking
+
+</description>
+<parameters>
+<parameter name="status_icon">
+<parameter_description> a #GtkStatusIcon
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the icon is blinking
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_range_set_fill_level">
+<description>
+Set the new position of the fill level indicator.
+
+The &quot;fill level&quot; is probably best described by its most prominent
+use case, which is an indicator for the amount of pre-buffering in
+a streaming media player. In that use case, the value of the range
+would indicate the current play position, and the fill level would
+be the position up to which the file/stream has been downloaded.
+
+This amount of prebuffering can be displayed on the range&apos;s trough
+and is themeable separately from the trough. To enable fill level
+display, use gtk_range_set_show_fill_level(). The range defaults
+to not showing the fill level.
+
+Additionally, it&apos;s possible to restrict the range&apos;s slider position
+to values which are smaller than the fill level. This is controller
+by gtk_range_set_restrict_to_fill_level() and is by default
+enabled.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="range">
+<parameter_description> a #GtkRange
+</parameter_description>
+</parameter>
+<parameter name="fill_level">
+<parameter_description> the new position of the fill level indicator
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_set_grid_lines">
+<description>
+Sets which grid lines to draw in @tree_view.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="grid_lines">
+<parameter_description> a #GtkTreeViewGridLines value indicating which grid lines to
+enable.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_page_setup_get_bottom_margin">
+<description>
+Gets the bottom margin in units of @unit.
+
+
+</description>
+<parameters>
+<parameter name="setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the unit for the return value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the bottom margin
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_print_settings_get_collate">
+<description>
+Gets the value of %GTK_PRINT_SETTINGS_COLLATE.
+
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether to collate the printed pages
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_toolbar_insert_item">
+<description>
+Inserts a new item into the toolbar. You must specify the position in the
+toolbar where it will be inserted.
+
+@callback must be a pointer to a function taking a #GtkWidget and a gpointer as
+arguments. Use the GTK_SIGNAL_FUNC() to cast the function to #GtkSignalFunc.
+
+
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar.
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> give your toolbar button a label.
+</parameter_description>
+</parameter>
+<parameter name="tooltip_text">
+<parameter_description> a string that appears when the user holds the mouse over this item.
+</parameter_description>
+</parameter>
+<parameter name="tooltip_private_text">
+<parameter_description> use with #GtkTipsQuery.
+</parameter_description>
+</parameter>
+<parameter name="icon">
+<parameter_description> a #GtkWidget that should be used as the button&apos;s icon.
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the function to be executed when the button is pressed.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> a pointer to any data you wish to be passed to the callback.
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> the number of widgets to insert this item after.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new toolbar item as a #GtkWidget.
+</return>
+</function>
+
+<function name="gtk_im_multicontext_new">
+<description>
+Creates a new #GtkIMMulticontext.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkIMMulticontext.
+</return>
+</function>
+
+<function name="gtk_notebook_reorder_child">
+<description>
+Reorders the page containing @child, so that it appears in position
+@position. If @position is greater than or equal to the number of
+children in the list or negative, @child will be moved to the end
+of the list.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the child to move
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> the new position, or -1 to move to the end
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_event">
+<description>
+Rarely-used function. This function is used to emit
+the event signals on a widget (those signals should never
+be emitted without using this function to do so).
+If you want to synthesize an event though, don&apos;t use this function;
+instead, use gtk_main_do_event() so the event will behave as if
+it were in the event queue. Don&apos;t synthesize expose events; instead,
+use gdk_window_invalidate_rect() to invalidate a region of the
+window.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> a #GdkEvent
+</parameter_description>
+</parameter>
+</parameters>
+<return> return from the event signal emission (%TRUE if
+the event was handled)
+</return>
+</function>
+
+<function name="gtk_range_set_range">
+<description>
+Sets the allowable values in the #GtkRange, and clamps the range
+value to be between @min and @max. (If the range has a non-zero
+page size, it is clamped between @min and @max - page-size.)
+
+</description>
+<parameters>
+<parameter name="range">
+<parameter_description> a #GtkRange
+</parameter_description>
+</parameter>
+<parameter name="min">
+<parameter_description> minimum range value
+</parameter_description>
+</parameter>
+<parameter name="max">
+<parameter_description> maximum range value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_path_new_from_string">
+<description>
+Creates a new #GtkTreePath initialized to @path. @path is expected to be a
+colon separated list of numbers. For example, the string &quot;10:4:0&quot; would
+create a path of depth 3 pointing to the 11th child of the root node, the 5th
+child of that 11th child, and the 1st child of that 5th child. If an invalid
+path string is passed in, %NULL is returned.
+
+
+</description>
+<parameters>
+<parameter name="path">
+<parameter_description> The string representation of a path.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly-created #GtkTreePath, or %NULL
+</return>
+</function>
+
+<function name="gtk_link_button_set_uri">
+<description>
+Sets @uri as the URI where the #GtkLinkButton points.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="link_button">
+<parameter_description> a #GtkLinkButton
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_font_button_set_title">
+<description>
+Sets the title for the font selection dialog.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="font_button">
+<parameter_description> a #GtkFontButton
+</parameter_description>
+</parameter>
+<parameter name="title">
+<parameter_description> a string containing the font selection dialog title
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_gtk_recent_chooser_delegate_iface_init">
+<description>
+An interface-initialization function for use in cases where
+an object is simply delegating the methods, signals of
+the #GtkRecentChooser interface to another object.
+_gtk_recent_chooser_set_delegate() must be called on each
+instance of the object so that the delegate object can
+be found.
+
+</description>
+<parameters>
+<parameter name="iface">
+<parameter_description> a #GtkRecentChooserIface
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_set_keep_below">
+<description>
+Asks to keep @window below, so that it stays in bottom. Note that
+you shouldn&apos;t assume the window is definitely below afterward,
+because other entities (e.g. the user or &amp;lt;link
+linkend=&quot;gtk-X11-arch&quot;&amp;gt;window manager&amp;lt;/link&amp;gt;) could not keep it below,
+and not all window managers support putting windows below. But
+normally the window will be kept below. Just don&apos;t write code
+that crashes if not.
+
+It&apos;s permitted to call this function before showing a window,
+in which case the window will be kept below when it appears onscreen
+initially.
+
+You can track the below state via the &quot;window_state_event&quot; signal
+on #GtkWidget.
+
+Note that, according to the &amp;lt;ulink
+url=&quot;http://www.freedesktop.org/Standards/wm-spec&quot;&amp;gt;Extended Window
+Manager Hints&amp;lt;/ulink&amp;gt; specification, the above state is mainly meant
+for user preferences and should not be used by applications e.g. for
+drawing attention to their dialogs.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> whether to keep @window below other windows
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_sortable_sort_column_changed">
+<description>
+Emits a GtkTreeSortable::sort_column_changed signal on
+
+</description>
+<parameters>
+<parameter name="sortable">
+<parameter_description> A #GtkTreeSortable
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_manager_get_for_screen">
+<description>
+Gets the recent manager object associated with @screen; if this
+function has not previously been called for the given screen,
+a new recent manager object will be created and associated with
+the screen. Recent manager objects are fairly expensive to create,
+so using this function is usually a better choice than calling
+gtk_recent_manager_new() and setting the screen yourself; by using
+this function a single recent manager object will be shared between
+users.
+
+
+</description>
+<parameters>
+<parameter name="screen">
+<parameter_description> a #GdkScreen
+</parameter_description>
+</parameter>
+</parameters>
+<return> A unique #GtkRecentManager associated with the given
+screen. This recent manager is associated to the with the screen
+and can be used as long as the screen is open. Do not ref or
+unref it.
+
+Deprecated: 2.12: This function has been deprecated and should
+not be used in newly written code. Calling this function is
+equivalent to calling gtk_recent_manager_get_default().
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_icon_source_get_state">
+<description>
+Obtains the widget state this icon source applies to. The return
+value is only useful/meaningful if the widget state is &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt;
+wildcarded.
+
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a #GtkIconSource
+</parameter_description>
+</parameter>
+</parameters>
+<return> widget state this source matches
+</return>
+</function>
+
+<function name="gtk_entry_set_cursor_hadjustment">
+<description>
+Hooks up an adjustment to the cursor position in an entry, so that when
+the cursor is moved, the adjustment is scrolled to show that position.
+See gtk_scrolled_window_get_hadjustment() for a typical way of obtaining
+the adjustment.
+
+The adjustment has to be in pixel units and in the same coordinate system
+as the entry.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="entry">
+<parameter_description> a #GtkEntry
+</parameter_description>
+</parameter>
+<parameter name="adjustment">
+<parameter_description> an adjustment which should be adjusted when the cursor
+is moved, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_source_set_direction">
+<description>
+Sets the text direction this icon source is intended to be used
+with.
+
+Setting the text direction on an icon source makes no difference
+if the text direction is wildcarded. Therefore, you should usually
+call gtk_icon_source_set_direction_wildcarded() to un-wildcard it
+in addition to calling this function.
+
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a #GtkIconSource
+</parameter_description>
+</parameter>
+<parameter name="direction">
+<parameter_description> text direction this source applies to
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_view_enable_model_drag_dest">
+<description>
+Turns @icon_view into a drop destination for automatic DND.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+<parameter name="targets">
+<parameter_description> the table of targets that the drag will support
+</parameter_description>
+</parameter>
+<parameter name="n_targets">
+<parameter_description> the number of items in @targets
+</parameter_description>
+</parameter>
+<parameter name="actions">
+<parameter_description> the bitmask of possible actions for a drag to this
+widget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_label_get_ellipsize">
+<description>
+Return value: #PangoEllipsizeMode
+
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+</parameters>
+<return> #PangoEllipsizeMode
+
+Since: 2.6
+</return>
+</function>
+
+<function name="gtk_tree_view_columns_autosize">
+<description>
+Resizes all columns to their optimal width. Only works after the
+treeview has been realized.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_backward_chars">
+<description>
+Moves @count characters backward, if possible (if @count would move
+past the start or end of the buffer, moves to the start or end of
+the buffer). The return value indicates whether the iterator moved
+onto a dereferenceable position; if the iterator didn&apos;t move, or
+moved onto the end iterator, then %FALSE is returned. If @count is 0,
+the function does nothing and returns %FALSE.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> number of characters to move
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @iter moved and is dereferenceable
+
+</return>
+</function>
+
+<function name="gtk_text_iter_forward_line">
+<description>
+Moves @iter to the start of the next line. Returns %TRUE if there
+was a next line to move to, and %FALSE if @iter was simply moved to
+the end of the buffer and is now not dereferenceable, or if @iter was
+already at the end of the buffer.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an iterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @iter can be dereferenced
+</return>
+</function>
+
+<function name="gtk_text_mark_set_visible">
+<description>
+Sets the visibility of @mark; the insertion point is normally
+visible, i.e. you can see it as a vertical bar. Also, the text
+widget uses a visible mark to indicate where a drop will occur when
+dragging-and-dropping text. Most other marks are not visible.
+Marks are not visible by default.
+
+
+</description>
+<parameters>
+<parameter name="mark">
+<parameter_description> a #GtkTextMark
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> visibility of mark
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_recent_chooser_widget_new_for_manager">
+<description>
+Creates a new #GtkRecentChooserWidget with a specified recent manager.
+
+This is useful if you have implemented your own recent manager, or if you
+have a customized instance of a #GtkRecentManager object.
+
+
+</description>
+<parameters>
+<parameter name="manager">
+<parameter_description> a #GtkRecentManager
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkRecentChooserWidget
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_scale_get_layout">
+<description>
+Gets the #PangoLayout used to display the scale.
+The returned object is owned by the scale so does
+not need to be freed by the caller.
+
+
+</description>
+<parameters>
+<parameter name="scale">
+<parameter_description> A #GtkScale
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #PangoLayout for this scale, or %NULL
+if the #GtkScale:draw-value property is %FALSE.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_entry_completion_complete">
+<description>
+Requests a completion operation, or in other words a refiltering of the
+current list with completions, using the current key. The completion list
+view will be updated accordingly.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> A #GtkEntryCompletion.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="GtkSettings">
+<description>
+How long to show the last inputted character in hidden
+entries. This value is in milliseconds. 0 disables showing the
+last char. 600 is a good value for enabling it.
+
+Since: 2.10
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_action_connect_accelerator">
+<description>
+Installs the accelerator for @action if @action has an
+accel path and group. See gtk_action_set_accel_path() and
+gtk_action_set_accel_group()
+
+Since multiple proxies may independently trigger the installation
+of the accelerator, the @action counts the number of times this
+function has been called and doesn&apos;t remove the accelerator until
+gtk_action_disconnect_accelerator() has been called as many times.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> a #GtkAction
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_cell_layout_pack_end">
+<description>
+Adds the @cell to the end of @cell_layout. If @expand is %FALSE, then the
+@cell is allocated no more space than it needs. Any unused space is
+divided evenly between cells for which @expand is %TRUE.
+
+Note that reusing the same cell renderer is not supported.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="cell_layout">
+<parameter_description> A #GtkCellLayout.
+</parameter_description>
+</parameter>
+<parameter name="cell">
+<parameter_description> A #GtkCellRenderer.
+</parameter_description>
+</parameter>
+<parameter name="expand">
+<parameter_description> %TRUE if @cell is to be given extra space allocated to @cell_layout.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_grab_default">
+<description>
+Causes @widget to become the default widget. @widget must have the
+%GTK_CAN_DEFAULT flag set; typically you have to set this flag
+yourself by calling &amp;lt;literal&amp;gt;GTK_WIDGET_SET_FLAGS (@widget,
+GTK_CAN_DEFAULT)&amp;lt;/literal&amp;gt;. The default widget is activated when
+the user presses Enter in a window. Default widgets must be
+activatable, that is, gtk_widget_activate() should affect them.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_row_reference_copy">
+<description>
+Copies a #GtkTreeRowReference.
+
+
+</description>
+<parameters>
+<parameter name="reference">
+<parameter_description> a #GtkTreeRowReference
+</parameter_description>
+</parameter>
+</parameters>
+<return> a copy of @reference.
+
+Since: 2.2
+</return>
+</function>
+
+<function name="gtk_statusbar_push">
+<description>
+Pushes a new message onto a statusbar&apos;s stack.
+
+
+</description>
+<parameters>
+<parameter name="statusbar">
+<parameter_description> a #GtkStatusbar
+</parameter_description>
+</parameter>
+<parameter name="context_id">
+<parameter_description> the message&apos;s context id, as returned by
+gtk_statusbar_get_context_id()
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the message to add to the statusbar
+</parameter_description>
+</parameter>
+</parameters>
+<return> a message id that can be used with
+gtk_statusbar_remove().
+</return>
+</function>
+
+<function name="gtk_text_buffer_set_text">
+<description>
+Deletes current contents of @buffer, and inserts @text instead. If
+@len is -1, @text must be nul-terminated. @text must be valid UTF-8.
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> UTF-8 text to insert
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> length of @text in bytes
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_socket_add_id">
+<description>
+Adds an XEMBED client, such as a #GtkPlug, to the #GtkSocket. The
+client may be in the same process or in a different process.
+
+To embed a #GtkPlug in a #GtkSocket, you can either create the
+#GtkPlug with &amp;lt;literal&amp;gt;gtk_plug_new (0)&amp;lt;/literal&amp;gt;, call
+gtk_plug_get_id() to get the window ID of the plug, and then pass that to the
+gtk_socket_add_id(), or you can call gtk_socket_get_id() to get the
+window ID for the socket, and call gtk_plug_new() passing in that
+ID.
+
+The #GtkSocket must have already be added into a toplevel window
+before you can make this call.
+
+</description>
+<parameters>
+<parameter name="socket_">
+<parameter_description> a #GtkSocket
+</parameter_description>
+</parameter>
+<parameter name="window_id">
+<parameter_description> the window ID of a client participating in the XEMBED protocol.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_source_set_icon_name">
+<description>
+Sets the name of an icon to look up in the current icon theme
+to use as a base image when creating icon variants for #GtkIconSet.
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a #GtkIconSource
+</parameter_description>
+</parameter>
+<parameter name="icon_name">
+<parameter_description> name of icon to use
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_backward_cursor_positions">
+<description>
+Moves up to @count cursor positions. See
+gtk_text_iter_forward_cursor_position() for details.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> number of positions to move
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if we moved and the new position is dereferenceable
+</return>
+</function>
+
+<function name="gtk_widget_get_settings">
+<description>
+Gets the settings object holding the settings (global property
+settings, RC file information, etc) used for this widget.
+
+Note that this function can only be called when the #GtkWidget
+is attached to a toplevel, since the settings object is specific
+to a particular #GdkScreen.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the relevant #GtkSettings object
+</return>
+</function>
+
+<function name="gtk_recent_chooser_list_filters">
+<description>
+Gets the #GtkRecentFilter objects held by @chooser.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkRecentChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> A singly linked list of #GtkRecentFilter objects. You
+should just free the returned list using g_slist_free().
+
+Since: 2.10
+</return>
+</function>
+
+<function name="gtk_print_settings_set_length">
+<description>
+Associates a length in units of @unit with @key.
+
+Since: 2.10
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a key
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> a length
+</parameter_description>
+</parameter>
+<parameter name="unit">
+<parameter_description> the unit of @length
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_model_get_n_columns">
+<description>
+Return value: The number of columns.
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The number of columns.
+</return>
+</function>
+
+<function name="gtk_file_chooser_remove_shortcut_folder_uri">
+<description>
+Removes a folder URI from a file chooser&apos;s list of shortcut folders.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> URI of the folder to remove
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> location to store error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the operation succeeds, %FALSE otherwise.
+In the latter case, the @error will be set as appropriate.
+
+See also: gtk_file_chooser_add_shortcut_folder_uri()
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_tree_path_get_indices">
+<description>
+Return value: The current indices, or %NULL.
+
+</description>
+<parameters>
+<parameter name="path">
+<parameter_description> A #GtkTreePath.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The current indices, or %NULL.
+</return>
+</function>
+
+<function name="gtk_window_set_focus">
+<description>
+If @focus is not the current focus widget, and is focusable, sets
+it as the focus widget for the window. If @focus is %NULL, unsets
+the focus widget for this window. To set the focus to a particular
+widget in the toplevel, it is usually more convenient to use
+gtk_widget_grab_focus() instead of this function.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="focus">
+<parameter_description> widget to be the new focus widget, or %NULL to unset
+any focus widget for the toplevel window.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_layout_set_hadjustment">
+<description>
+Sets the horizontal scroll adjustment for the layout.
+
+See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GtkLayout
+</parameter_description>
+</parameter>
+<parameter name="adjustment">
+<parameter_description> new scroll adjustment
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_menu_shell_get_take_focus">
+<description>
+Returns: %TRUE if the menu shell will take the keyboard focus on popup.
+
+</description>
+<parameters>
+<parameter name="menu_shell">
+<parameter_description> a #GtkMenuShell
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the menu shell will take the keyboard focus on popup.
+
+Since: 2.8
+</return>
+</function>
+
+<function name="gtk_action_create_menu_item">
+<description>
+Creates a menu item widget that proxies for the given action.
+
+
+</description>
+<parameters>
+<parameter name="action">
+<parameter_description> the action object
+</parameter_description>
+</parameter>
+</parameters>
+<return> a menu item connected to the action.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_spin_button_get_adjustment">
+<description>
+Get the adjustment associated with a #GtkSpinButton
+
+
+</description>
+<parameters>
+<parameter name="spin_button">
+<parameter_description> a #GtkSpinButton
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GtkAdjustment of @spin_button
+</return>
+</function>
+
+<function name="gtk_image_get_icon_set">
+<description>
+Gets the icon set and size being displayed by the #GtkImage.
+The storage type of the image must be %GTK_IMAGE_EMPTY or
+%GTK_IMAGE_ICON_SET (see gtk_image_get_storage_type()).
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GtkImage
+</parameter_description>
+</parameter>
+<parameter name="icon_set">
+<parameter_description> location to store a #GtkIconSet
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> location to store a stock icon size
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+</root>
diff --git a/libs/gtkmm2/gtk/src/gtk_docs_override.xml b/libs/gtkmm2/gtk/src/gtk_docs_override.xml
new file mode 100644
index 0000000000..ae696c8f67
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/gtk_docs_override.xml
@@ -0,0 +1,2831 @@
+<root>
+<function name="gtk_box_pack_start">
+<description>
+Left side insert a widget to a box.
+The expand argument to pack_start() or pack_end()
+controls whether the widgets are laid out in the box to fill in all
+the extra space in the box so the box is expanded to fill the area
+allocated to it (%TRUE). Or the box is shrunk to just fit the widgets
+(%FALSE). Setting @expand to %FALSE will allow you to do right and left
+justifying of your widgets. Otherwise, they will all expand to fit in
+the box, and the same effect could be achieved by using only one of
+pack_start() or pack_end() functions.
+
+The @fill argument to the pack_start()/pack_end() functions control whether the
+extra space is allocated to the objects themselves (%TRUE), or as extra
+padding in the box around these objects (%FALSE). It only has an effect
+if the @expand argument is also %TRUE.
+
+The difference between spacing (set when the box is created)
+and padding (set when elements are packed) is, that spacing is added between
+objects, and padding is added on either side of an object.
+</description>
+</function>
+
+<function name="gtk_text_view_get_default_attributes">
+<description>
+Obtains a copy of the default text attributes. These are the
+attributes used for text unless a tag overrides them.
+You&apos;d typically pass the default attributes in to
+Gtk::TextIter::get_attributes() in order to get the
+attributes in effect at a given text position.
+
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #Gtk::TextAttributes
+</return>
+</function>
+
+<function name="gtk_label_get_label">
+<description>
+Fetches the text from a label widget including any embedded
+underlines indicating mnemonics and Pango markup. (See
+get_text ()).
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+
+</parameter_description>
+</parameter>
+</parameters>
+<return> the text of the label widget..
+</return>
+</function>
+
+<function name="gtk_label_get_text">
+<description>
+Fetches the text from a label widget, as displayed on the
+screen. This does not include any embedded underlines
+indicating mnemonics or Pango markup. (See get_label())
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+</parameter_description>
+</parameter>
+</parameters>
+<return> the text in the label widget.
+</return>
+</function>
+
+<function name="gtk_label_get_layout">
+<description>
+Gets the #PangoLayout used to display the label.
+The layout is useful to e.g. convert text positions to
+pixel positions, in combination with gtk_label_get_layout_offsets().
+</description>
+<parameters>
+<parameter name="label">
+<parameter_description> a #GtkLabel
+
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #PangoLayout for this label
+</return>
+</function>
+
+<function name="gtk_notebook_get_tab_label_text">
+<description>
+Retrieves the text of the tab label for the page containing
+@child.
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> a widget contained in a page of @notebook
+
+</parameter_description>
+</parameter>
+</parameters>
+<return>value: the text of the tab label.
+</return>
+</function>
+
+<function name="gtk_notebook_get_menu_label_text">
+<description>
+Retrieves the text of the menu label for the page containing
+@child.
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the child widget of a page of the notebook.
+
+</parameter_description>
+</parameter>
+</parameters>
+<return>value: the text of the tab label.
+</return>
+</function>
+
+<function name="gtk_text_buffer_create_mark">
+<description>
+Creates a mark at position @where. The mark can be retrieved by name using
+gtk_text_buffer_get_mark (). If a mark has left gravity, and text is
+inserted at the mark&apos;s current location, the mark will be moved to
+the left of the newly-inserted text. If the mark has right gravity
+(@left_gravity = %FALSE), the mark will end up on the right of
+newly-inserted text. The standard left-to-right cursor is a mark
+with right gravity (when you type, the cursor stays on the right
+side of the text you&apos;re typing).
+
+Emits the &quot;mark_set&quot; signal as notification of the mark&apos;s initial
+placement.
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+</parameter_description>
+</parameter>
+<parameter name="mark_name">
+<parameter_description> name for mark, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="where">
+<parameter_description> location to place mark
+</parameter_description>
+</parameter>
+<parameter name="left_gravity">
+<parameter_description> whether the mark has left gravity
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GtkTextMark object
+</return>
+</function>
+
+
+<function name="gtk_text_buffer_delete_mark">
+<description>
+Deletes @mark, so that it&apos;s no longer located anywhere in the
+buffer. Removes the reference the buffer holds to the mark, so if
+you don't keep a Glib::RefPtr to the mark, it will be freed. Even
+if the mark isn&apos;t freed, most operations on @mark become
+invalid. There is no way to undelete a
+mark. gtk_text_mark_get_deleted () will return TRUE after this
+function has been called on a mark; gtk_text_mark_get_deleted ()
+indicates that a mark no longer belongs to a buffer. The &quot;mark_deleted&quot;
+signal will be emitted as notification after the mark is deleted.
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GtkTextBuffer
+
+</parameter_description>
+</parameter>
+<parameter name="mark">
+<parameter_description> a #GtkTextMark in @buffer
+
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_get_tags">
+<description>
+Returns a list of tags that apply to @iter, in ascending order of
+priority (highest-priority tags are last).
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter
+
+</parameter_description>
+</parameter>
+</parameters>
+<return> list of #GtkTextTag
+</return>
+</function>
+
+<function name="gtk_text_view_get_tabs">
+<description>
+Gets the default tabs for @text_view. Tags in the buffer may
+override the defaults. The returned array will be empty if
+&quot;standard&quot; (8-space) tabs are used.
+</description>
+<parameters>
+<parameter name="text_view">
+<parameter_description> a #GtkTextView
+
+</parameter_description>
+</parameter>
+</parameters>
+<return> copy of default tab array, or an empty array if &quot;standard&quot; tabs are used.
+</return>
+</function>
+
+
+
+<function name="gtk_dialog_run">
+<description>
+Blocks in a recursive main loop until the @dialog emits the
+response signal. It returns the response ID from the &quot;response&quot; signal emission.
+Before entering the recursive main loop, gtk_dialog_run() calls
+Gtk::Widget::show() on the dialog for you. Note that you still
+need to show any children of the dialog yourself.
+
+If the dialog receives &quot;delete_event&quot;, Gtk::Dialog::run() will return
+#GTK_RESPONSE_DELETE_EVENT. Also, during Gtk::Dialog::run() the dialog will be
+modal. You can force Gtk::Dialog::run() to return at any time by
+calling Gtk::Dialog::response() to emit the &quot;response&quot;
+signal.
+
+After Gtk::Dialog::run() returns, you are responsible for hiding or
+destroying the dialog if you wish to do so.
+
+Typical usage of this function might be:
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+gint result = dialog.run();
+switch (result)
+{
+case GTK_RESPONSE_ACCEPT:
+do_application_specific_something (&amp;lt;!-- --&amp;gt;);
+break;
+default:
+do_nothing_since_dialog_was_cancelled (&amp;lt;!-- --&amp;gt;);
+break;
+}
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+
+</description>
+<parameters>
+<parameter name="dialog">
+<parameter_description> a #GtkDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> response ID
+</return>
+</function>
+
+<function name="gtk_accel_label_set_accel_width">
+<description>
+Sets the widget to be monitored by this accelerator label.
+</description>
+<parameters>
+<parameter name="accel_label">
+<parameter_description> Ignored :)
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> The Widget to be monitored.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_accel_label_get_accel_width">
+<description>
+Gets the width needed to display this accelerator label. This is used by menus to align all of the Gtk::MenuItem widgets, and shouldn't be needed by applications.
+</description>
+<parameters>
+</parameters>
+<return> width of this accelerator label.
+</return>
+</function>
+
+<function name="gtk_accel_label_refetch">
+<description>
+Recreates the string representing the accelerator keys.
+</description>
+<parameters>
+</parameters>
+<return> always returns %FALSE.
+</return>
+</function>
+
+<function name="gtk_adjustment_changed">
+<description>
+Emits a "changed" signal from the Adjustment. This is typically called by the owner of the Adjustment after it has changed any of the Adjustment fields other than the value.
+</description>
+<parameters>
+</parameters>
+<return>
+</return>
+</function>
+
+<function name="gtk_adjustment_value_changed">
+<description>
+Emits a "value_changed" signal from the Adjustment. This is typically called by the owner of the Adjustment after it has changed the Adjustment value field.
+</description>
+<parameters>
+</parameters>
+<return>
+</return>
+</function>
+
+<function name="gtk_adjustment_clamp_page">
+<description>
+Updates the Adjustment value to ensure that the range between the parameters @lower and @upper is in the current page (i.e. between @value and @value + @page_size). If this range is larger than the page size, then only the start of it will be in the current page. A "changed" signal will be emitted if the value is changed.
+</description>
+<parameters>
+<parameter name="adjustment">
+<parameter_description> Ignored :)
+</parameter_description>
+</parameter>
+<parameter name="upper">
+<parameter_description> The upper value.
+</parameter_description>
+</parameter>
+<parameter name="lower">
+<parameter_description> The lower value.
+</parameter_description>
+</parameter>
+</parameters>
+<return>
+</return>
+</function>
+
+<function name="gtk_adjustment_set_value">
+<description>
+Sets the current value of the Adjustment
+</description>
+<parameters>
+<parameter name="adjustment">
+<parameter_description> Ignored :)
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> The new value of the Adjustment
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_alignment_set">
+<description>
+Sets the Alignment values.
+</description>
+<parameters>
+<parameter name="alignment">
+<parameter_description> Ignored :)
+</parameter_description>
+</parameter>
+<parameter name="xalign">
+<parameter_description> The horizontal alignment of the child of this Alignment, from 0 (left) to 1 (right).
+</parameter_description>
+</parameter>
+<parameter name="yalign">
+<parameter_description> The vertical alignment of the child of this Alignment, from 0 (top) to 1 (bottom).
+</parameter_description>
+</parameter>
+<parameter name="xscale">
+<parameter_description> The amount that the child expands horizontally to fill up unused space, from 0 to 1. A value of 0 indicates that the child widget should never expand. A value of 1 indicates that the child widget will expand to fill all the space allocated for the Alignment.
+</parameter_description>
+</parameter>
+<parameter name="yscale">
+<parameter_description> The amount that the child widget expands vertically to fill up unused space from 0 to 1. The values are similar to @xscale.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_arrow_set">
+<description>
+Sets the direction and shadow of this Arrow.
+</description>
+<parameters>
+<parameter name="arrow">
+<parameter_description> Ignored :)
+</parameter_description>
+</parameter>
+<parameter name="arrow_type">
+<parameter_description> A Gtk::ArrowType enum describing what arrow type to set this Arrow to.
+</parameter_description>
+</parameter>
+<parameter name="shadow_type">
+<parameter_description> A Gtk::ShadowType enum describing what shadow type to set this Arrow to.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+
+<function name="gtk_text_child_anchor_get_widgets">
+<description>
+Gets a list of all widgets anchored at this child anchor.
+
+</description>
+<parameters>
+<parameter name="anchor">
+<parameter_description> a #GtkTextChildAnchor
+</parameter_description>
+</parameter>
+</parameters>
+<return> list of widgets anchored at @anchor
+</return>
+</function>
+
+
+<function name="gtk_tree_model_get_path">
+<description>
+Returns a #GtkTreePath referenced by @iter.
+
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> The #GtkTreeIter.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GtkTreePath.
+</return>
+</function>
+
+
+<function name="gtk_tree_view_column_get_cell_renderers">
+<description>
+Returns a list of all the cell renderers in the column,
+in no particular order.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+</parameters>
+<return> A list of #GtkCellRenderers
+</return>
+</function>
+
+
+<function name="gtk_tree_view_get_columns">
+<description>
+Returns a list of all the #GtkTreeViewColumn s currently in @tree_view.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+</parameters>
+<return> A list of #GtkTreeViewColumn s
+</return>
+</function>
+
+
+<function name="gtk_window_get_default_icon_list">
+<description>
+Gets the value set by Gtk::Window::set_default_icon_list().
+
+</description>
+<parameters>
+</parameters>
+<return> copy of default icon list
+</return>
+</function>
+
+
+<function name="gtk_window_set_default">
+<description>
+The default widget is the widget that&apos;s activated when the user
+presses Enter in a dialog (for example). This function sets or
+unsets the default widget for a #GtkWindow. When setting
+(rather than unsetting) the default widget it&apos;s generally easier to
+call gtk_widget_grab_focus() on the widget. Before making a widget
+the default widget, you must set the #GTK_CAN_DEFAULT flag on the
+widget you&apos;d like to make the default using Gtk::Widget::set_flags().
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="default_widget">
+<parameter_description> widget to be the default.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_menu_item_set_accel_path">
+<description>
+Set the accelerator path on @menu_item, through which runtime changes of the
+menu item&apos;s accelerator caused by the user can be identified and saved to
+persistant storage (see gtk_accel_map_save() on this).
+To setup a default accelerator for this menu item, call
+gtk_accel_map_add_entry() with the same @accel_path.
+See also gtk_accel_map_add_entry() on the specifics of accelerator paths,
+and gtk_menu_set_accel_path() for a more convenient variant of this function.
+
+This function is basically a convenience wrapper that handles calling
+gtk_widget_set_accel_path() with the appropriate accelerator group for
+the menu item.
+
+Note that you do need to set an accelerator on the parent menu with
+gtk_menu_set_accel_group() for this to work.
+
+</description>
+<parameters>
+<parameter name="menu_item">
+<parameter_description> a valid #GtkMenuItem
+</parameter_description>
+</parameter>
+<parameter name="accel_path">
+<parameter_description> accelerator path, corresponding to this menu item&apos;s
+functionality.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_append_page">
+<description>
+Appends a page to @notebook.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the #GtkWidget to use as the contents of the page.
+</parameter_description>
+</parameter>
+<parameter name="tab_label">
+<parameter_description> the #GtkWidget to be used as the label for the page.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_append_page_menu">
+<description>
+Appends a page to @notebook, specifying the widget to use as the
+label in the popup menu.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the #GtkWidget to use as the contents of the page.
+</parameter_description>
+</parameter>
+<parameter name="tab_label">
+<parameter_description> the #GtkWidget to be used as the label for the page.
+</parameter_description>
+</parameter>
+<parameter name="menu_label">
+<parameter_description> the widget to use as a label for the page-switch
+menu.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_insert_page">
+<description>
+Insert a page into @notebook at the given position
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the #GtkWidget to use as the contents of the page.
+</parameter_description>
+</parameter>
+<parameter name="tab_label">
+<parameter_description> the #GtkWidget to be used as the label for the page.
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> the index (starting at 0) at which to insert the page,
+or -1 to append the page after all other pages.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_insert_page_menu">
+<description>
+Insert a page into @notebook at the given position, specifying
+the widget to use as the label in the popup menu.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the #GtkWidget to use as the contents of the page.
+</parameter_description>
+</parameter>
+<parameter name="tab_label">
+<parameter_description> the #GtkWidget to be used as the label for the page..
+</parameter_description>
+</parameter>
+<parameter name="menu_label">
+<parameter_description> the widget to use as a label for the page-switch
+menu.
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> the index (starting at 0) at which to insert the page,
+or -1 to append the page after all other pages.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_prepend_page">
+<description>
+Prepends a page to @notebook.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the #GtkWidget to use as the contents of the page.
+</parameter_description>
+</parameter>
+<parameter name="tab_label">
+<parameter_description> the #GtkWidget to be used as the label for the page.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_notebook_prepend_page_menu">
+<description>
+Prepends a page to @notebook, specifying the widget to use as the
+label in the popup menu.
+
+</description>
+<parameters>
+<parameter name="notebook">
+<parameter_description> a #GtkNotebook
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the #GtkWidget to use as the contents of the page.
+</parameter_description>
+</parameter>
+<parameter name="tab_label">
+<parameter_description> the #GtkWidget to be used as the label for the page.
+</parameter_description>
+</parameter>
+<parameter name="menu_label">
+<parameter_description> the widget to use as a label for the page-switch
+menu.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_get_background_area">
+<description>
+Fills the bounding rectangle in tree window coordinates for the cell at the
+row specified by @path and the column specified by @column. The returned rectangle is equivalent to the
+@background_area passed to gtk_cell_renderer_render(). These background
+areas tile to cover the entire tree window (except for the area used for
+header buttons). Contrast with the @cell_area, returned by
+gtk_tree_view_get_cell_area(), which returns only the cell itself, excluding
+surrounding borders and the tree expander area.
+
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a #GtkTreePath for the row.
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> a #GtkTreeViewColumn for the column.
+</parameter_description>
+</parameter>
+<parameter name="rect">
+<parameter_description> rectangle to fill with cell background rect
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_get_cell_area">
+<description>
+Fills the bounding rectangle in tree window coordinates for the cell at the
+row specified by @path and the column specified by @column. If @path points to a path not currently displayed, the @y and @height fields
+of the rectangle will be filled with 0. The sum of all cell rects does not cover the
+entire tree; there are extra pixels in between rows, for example. The
+returned rectangle is equivalent to the @cell_area passed to
+gtk_cell_renderer_render(). This function is only valid if #tree_view is
+realized.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> a #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a #GtkTreePath for the row.
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> a #GtkTreeViewColumn for the column.
+</parameter_description>
+</parameter>
+<parameter name="rect">
+<parameter_description> rectangle to fill with cell rect
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_modify_base">
+<description>
+Sets the base color for a widget in a particular state.
+All other style values are left untouched. The base color
+is the background color used along with the text color
+(see gtk_widget_modify_text()) for widgets such as #GtkEntry
+and #GtkTextView. See also gtk_widget_modify_style().
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget.
+</parameter_description>
+</parameter>
+<parameter name="state">
+<parameter_description> the state for which to set the base color.
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> the color to assign (does not need to be allocated).
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_modify_bg">
+<description>
+Sets the background color for a widget in a particular state. All
+other style values are left untouched. See also
+gtk_widget_modify_style().
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget.
+</parameter_description>
+</parameter>
+<parameter name="state">
+<parameter_description> the state for which to set the background color.
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> the color to assign (does not need to be allocated).
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_modify_fg">
+<description>
+Sets the foreground color for a widget in a particular state. All
+other style values are left untouched. See also
+gtk_widget_modify_style().
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget.
+</parameter_description>
+</parameter>
+<parameter name="state">
+<parameter_description> the state for which to set the foreground color.
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> the color to assign (does not need to be allocated).
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_modify_font">
+<description>
+Sets the font to use for a widget. All other style values are left
+untouched. See also gtk_widget_modify_style().
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="font_desc">
+<parameter_description> the font description to use.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_modify_text">
+<description>
+Sets the text color for a widget in a particular state. All other
+style values are left untouched. The text color is the foreground
+color used along with the base color (see gtk_widget_modify_base())
+for widgets such as #GtkEntry and #GtkTextView. See also
+gtk_widget_modify_style().
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget.
+</parameter_description>
+</parameter>
+<parameter name="state">
+<parameter_description> the state for which to set the text color.
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> the color to assign (does not need to be allocated).
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_set_style">
+<description>
+Sets the #GtkStyle for a widget (@widget-&amp;gt;style). You probably don&apos;t
+want to use this function; it interacts badly with themes, because
+themes work by replacing the #GtkStyle. Instead, use
+gtk_widget_modify_style().
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="style">
+<parameter_description> a #GtkStyle.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_shape_combine_mask">
+<description>
+Sets a shape for this widget&apos;s GDK window. This allows for
+transparent windows etc., see gdk_window_shape_combine_mask()
+for more information.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget.
+</parameter_description>
+</parameter>
+<parameter name="shape_mask">
+<parameter_description> shape to be added.
+</parameter_description>
+</parameter>
+<parameter name="offset_x">
+<parameter_description> X position of shape mask with respect to @window.
+</parameter_description>
+</parameter>
+<parameter name="offset_y">
+<parameter_description> Y position of shape mask with respect to @window.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_set_default">
+<description>
+The default widget is the widget that&apos;s activated when the user
+presses Enter in a dialog (for example). This function sets the default widget for a #GtkWindow. When setting
+(rather than unsetting) the default widget it&apos;s generally easier to
+call gtk_widget_grab_focus() on the widget. Before making a widget
+the default widget, you must set the #GTK_CAN_DEFAULT flag on the
+widget you&apos;d like to make the default using GTK_WIDGET_SET_FLAGS().
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="default_widget">
+<parameter_description> widget to be the default.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_set_focus">
+<description>
+If @focus is not the current focus widget, and is focusable, sets
+it as the focus widget for the window. To set the focus to a particular
+widget in the toplevel, it is usually more convenient to use
+gtk_widget_grab_focus() instead of this function.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="focus">
+<parameter_description> widget to be the new focus widget.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_drag_dest_find_target">
+<description>
+Looks for a match between @context-&amp;gt;targets and the
+@dest_target_list, returning the first matching target, otherwise
+returning %GDK_NONE. @dest_target_list should usually be the return
+value from gtk_drag_dest_get_target_list(), but some widgets may
+have different valid targets for different parts of the widget; in
+that case, they will have to implement a drag_motion handler that
+passes the correct target list to this function.
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> drag destination widget
+</parameter_description>
+</parameter>
+<parameter name="context">
+<parameter_description> drag context
+</parameter_description>
+</parameter>
+<parameter name="target_list">
+<parameter_description> list of droppable targets.
+</parameter_description>
+</parameter>
+</parameters>
+<return> first target that the source offers and the dest can accept, or %GDK_NONE
+</return>
+ <mapping class="Widget" />
+</function>
+
+<function name="gdk_drawable_get_image">
+<description>
+A #GdkImage stores client-side image data (pixels). In contrast,
+#GdkPixmap and #GdkWindow are server-side
+objects. gdk_drawable_get_image() obtains the pixels from a
+server-side drawable as a client-side #GdkImage. The format of a
+#GdkImage depends on the #GdkVisual of the current display, which
+makes manipulating #GdkImage extremely difficult; therefore, in
+most cases you should use the Gdk::Pixbuf constructor that takes a Gdk::Drawable instead of
+this lower-level function. A #GdkPixbuf contains image data in a
+canonicalized RGB format, rather than a display-dependent format.
+Of course, there&apos;s a convenience vs. speed tradeoff here, so you&apos;ll
+want to think about what makes sense for your application.
+
+@x, @y, @width, and @height define the region of @drawable to
+obtain as an image.
+
+You would usually copy image data to the client side if you intend
+to examine the values of individual pixels, for example to darken
+an image or add a red tint. It would be prohibitively slow to
+make a round-trip request to the windowing system for each pixel,
+so instead you get all of them at once, modify them, then copy
+them all back at once.
+
+If the X server or other windowing system backend is on the local
+machine, this function may use shared memory to avoid copying
+the image data.
+
+If the source drawable is a #GdkWindow and partially offscreen
+or obscured, then the obscured portions of the returned image
+will contain undefined data.
+
+
+</description>
+<parameters>
+<parameter name="drawable">
+<parameter_description> a #GdkDrawable
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x coordinate on @drawable
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y coordinate on @drawable
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of region to get
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height or region to get
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GdkImage containing the contents of @drawable
+</return>
+</function>
+
+<function name="gtk_clipboard_wait_for_text">
+<description>
+Requests the contents of the clipboard as text and converts
+the result to UTF-8 if necessary. This function waits for
+the data to be received using the main loop, so events,
+timeouts, etc, may be dispatched during the wait.
+
+
+</description>
+<parameters>
+<parameter name="clipboard">
+<parameter_description> a #GtkClipboard
+</parameter_description>
+</parameter>
+</parameters>
+<return> A UTF-8 string, which is empty if retrieving
+the selection data failed. (This could happen
+for various reasons, in particular if the
+clipboard was empty or if the contents of the
+clipboard could not be converted into text form.)
+</return>
+</function>
+
+<function name="gtk_tree_path_to_string">
+<description>
+Generates a string representation of the path. This string is a &apos;:&apos;
+separated list of numbers. For example, &quot;4:10:0:3&quot; would be an acceptable return value for this string.
+
+
+</description>
+<parameters>
+<parameter name="path">
+<parameter_description> A #GtkTreePath
+</parameter_description>
+</parameter>
+</parameters>
+<return> The string.
+</return>
+</function>
+
+<function name="gtk_tree_model_get_string_from_iter">
+<description>
+Generates a string representation of the iter. This string is a &apos;:&apos;
+separated list of numbers. For example, &quot;4:10:0:3&quot; would be an
+acceptable return value for this string.
+
+@newin2p2
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> A #GtkTreeModel.
+</parameter_description>
+</parameter>
+<parameter name="iter">
+<parameter_description> An #GtkTreeIter.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The string.
+</return>
+</function>
+
+<function name="gtk_paint_arrow">
+ <mapping class="Style" />
+</function>
+
+<function name="gtk_paint_box">
+ <mapping class="Style" />
+</function>
+
+<function name="gtk_paint_box_gap">
+ <mapping class="Style" />
+</function>
+
+<function name="gtk_paint_check">
+ <mapping class="Style" />
+</function>
+
+<function name="gtk_paint_diamond">
+ <mapping class="Style" />
+</function>
+
+<function name="gtk_paint_expander">
+ <mapping class="Style" />
+</function>
+
+<function name="gtk_paint_extension">
+ <mapping class="Style" />
+</function>
+
+<function name="gtk_paint_flat_box">
+ <mapping class="Style" />
+</function>
+
+<function name="gtk_paint_focus">
+ <mapping class="Style" />
+</function>
+
+<function name="gtk_paint_handle">
+ <mapping class="Style" />
+</function>
+
+<function name="gtk_paint_hline">
+ <mapping class="Style" />
+</function>
+
+<function name="gtk_paint_layout">
+ <mapping class="Style" />
+</function>
+
+<function name="gtk_paint_option">
+ <mapping class="Style" />
+</function>
+
+<function name="gtk_paint_polygon">
+ <mapping class="Style" />
+</function>
+
+<function name="gtk_paint_resize_grip">
+ <mapping class="Style" />
+</function>
+
+<function name="gtk_paint_shadow">
+ <mapping class="Style" />
+</function>
+
+<function name="gtk_paint_shadow_gap">
+ <mapping class="Style" />
+</function>
+
+<function name="gtk_paint_slider">
+ <mapping class="Style" />
+</function>
+
+<function name="gtk_paint_tab">
+ <mapping class="Style" />
+</function>
+
+<function name="gtk_paint_vline">
+ <mapping class="Style" />
+</function>
+
+<function name="gtk_window_set_icon_from_file">
+<description>
+Sets the icon for the window.
+
+This function is equivalent to calling gtk_window_set_icon()
+with a pixbuf created by loading the image from @filename.
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="filename">
+<parameter_description> location of icon file
+</parameter_description>
+</parameter>
+</parameters>
+</function>
+
+<function name="gtk_window_get_position">
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="root_x">
+<parameter_description> return location for X coordinate of gravity-determined reference point
+</parameter_description>
+</parameter>
+<parameter name="root_y">
+<parameter_description> return location for Y coordinate of gravity-determined reference point
+</parameter_description>
+</parameter>
+</parameters>
+</function>
+
+<function name="gtk_window_set_default_icon_from_file">
+<parameters>
+<parameter name="filename">
+<parameter_description> location of icon file
+</parameter_description>
+</parameter>
+</parameters>
+</function>
+
+<function name="gtk_widget_style_get_property">
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="the_property_name">
+<parameter_description> the name of a style property
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> location to return the property value
+</parameter_description>
+</parameter>
+</parameters>
+</function>
+
+<function name="gtk_drag_dest_get_target_list">
+ <mapping class="Widget" />
+</function>
+
+<function name="gtk_drag_source_set_icon">
+ <mapping class="Widget" />
+</function>
+
+<function name="gtk_drag_source_set_icon_pixbuf">
+ <mapping class="Widget" />
+</function>
+
+<function name="gtk_drag_source_set_icon_stock">
+ <mapping class="Widget" />
+</function>
+
+<function name="gtk_drag_begin">
+ <mapping class="Widget" />
+</function>
+
+<function name="gtk_drag_check_threshold">
+ <mapping class="Widget" />
+</function>
+
+<function name="gtk_drag_dest_set_target_list">
+ <mapping class="Widget" />
+</function>
+
+<function name="gtk_ui_manager_add_ui_from_file">
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkUIManager object
+</parameter_description>
+</parameter>
+<parameter name="filename">
+<parameter_description> the name of the file to parse
+</parameter_description>
+</parameter>
+</parameters>
+</function>
+
+<function name="gtk_icon_theme_load_icon">
+<parameters>
+<parameter name="icon_theme">
+<parameter_description> a #GtkIconTheme
+</parameter_description>
+</parameter>
+<parameter name="icon_name">
+<parameter_description> the name of the icon to lookup
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the desired icon size. The resulting icon may not be exactly this size; see gtk_icon_info_load_icon().
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags modifying the behavior of the icon lookup
+</parameter_description>
+</parameter>
+</parameters>
+</function>
+
+<function name="gtk_icon_theme_get_example_icon_name">
+<description>
+Gets the name of an icon that is representative of the
+current theme (for instance, to use when presenting
+a list of themes to the user.)
+
+Since: 2.4
+</description>
+<parameters>
+<parameter name="icon_theme">
+<parameter_description> a #GtkIconTheme
+</parameter_description>
+</parameter>
+</parameters>
+<return>
+</return>
+</function>
+
+<function name="gtk_file_chooser_add_shortcut_folder">
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="folder">
+<parameter_description> filename of the folder to add
+</parameter_description>
+</parameter>
+</parameters>
+</function>
+
+<function name="gtk_file_chooser_remove_shortcut_folder">
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="folder">
+<parameter_description> filename of the folder to remove
+</parameter_description>
+</parameter>
+</parameters>
+</function>
+
+<function name="gtk_file_chooser_add_shortcut_folder_uri">
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> URI of the folder to add
+</parameter_description>
+</parameter>
+</parameters>
+</function>
+
+<function name="gtk_file_chooser_remove_shortcut_folder_uri">
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> URI of the folder to remove
+</parameter_description>
+</parameter>
+</parameters>
+</function>
+
+<function name="gtk_tree_view_move_column_after">
+<description>
+Moves @column to be after to @base_column. See also move_column_to_start().
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description> The #GtkTreeViewColumn to be moved.
+</parameter_description>
+</parameter>
+<parameter name="base_column">
+<parameter_description> The #GtkTreeViewColumn to be moved relative to.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_cell_renderer_get_size">
+<description>
+Obtains the width and height needed to render the cell. Used by view widgets
+to determine the appropriate size for the cell_area passed to
+gtk_cell_renderer_render(). Fills in the x and y
+offsets of the cell relative to this location. Please note that the
+values set in @width and @height, as well as those in @x_offset and @y_offset
+are inclusive of the xpad and ypad properties.
+
+</description>
+<parameters>
+<parameter name="cell">
+<parameter_description> a #GtkCellRenderer
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> the widget the renderer is rendering to
+</parameter_description>
+</parameter>
+<parameter name="cell_area">
+<parameter_description> The area a cell will be allocated.
+</parameter_description>
+</parameter>
+<parameter name="x_offset">
+<parameter_description> location to return x offset of cell relative to @cell_area.
+</parameter_description>
+</parameter>
+<parameter name="y_offset">
+<parameter_description> location to return y offset of cell relative to @cell_area.
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> location to return width needed to render a cell.
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> location to return height needed to render a cell.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_menu_popup">
+<description>
+Displays a menu and makes it available for selection. Applications can use
+this function to display context-sensitive menus. The default menu positioning function will position the menu
+at the current mouse cursor position.
+
+The @button parameter should be the mouse button pressed to initiate
+the menu popup. If the menu popup was initiated by something other than
+a mouse button press, such as a mouse button release or a keypress,
+@button should be 0.
+
+The @activate_time parameter should be the time stamp of the event that
+initiated the popup. If such an event is not available, use
+gtk_get_current_event_time() instead.
+
+
+</description>
+<parameters>
+<parameter name="menu">
+<parameter_description> a #GtkMenu.
+</parameter_description>
+</parameter>
+<parameter name="parent_menu_shell">
+<parameter_description> the menu shell containing the triggering menu item.
+</parameter_description>
+</parameter>
+<parameter name="parent_menu_item">
+<parameter_description> the menu item whose activation triggered the popup.
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> a user supplied function used to position the menu, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> user supplied data to be passed to @func.
+</parameter_description>
+</parameter>
+<parameter name="button">
+<parameter_description> the mouse button which was pressed to initiate the event.
+</parameter_description>
+</parameter>
+<parameter name="activate_time">
+<parameter_description> the time at which the activation event occurred.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_column_cell_get_size">
+<description>
+Obtains the width and height needed to render the column. This is used
+primarily by the #GtkTreeView.
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+<parameter name="cell_area">
+<parameter_description> The area a cell in the column will be allocated.
+</parameter_description>
+</parameter>
+<parameter name="x_offset">
+<parameter_description> location to return x offset of a cell relative to @cell_area.
+</parameter_description>
+</parameter>
+<parameter name="y_offset">
+<parameter_description> location to return y offset of a cell relative to @cell_area.
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> location to return width needed to render a cell.
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> location to return height needed to render a cell.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+
+<function name="gtk_tree_view_column_cell_get_position">
+<description>
+Obtains the horizontal position and size of a cell in a column. If the
+cell is not found in the column, @start_pos and @width are not changed and
+%FALSE is returned.
+
+
+</description>
+<parameters>
+<parameter name="tree_column">
+<parameter_description> a #GtkTreeViewColumn
+</parameter_description>
+</parameter>
+<parameter name="cell_renderer">
+<parameter_description> a #GtkCellRenderer
+</parameter_description>
+</parameter>
+<parameter name="start_pos">
+<parameter_description> return location for the horizontal position of @cell within
+@tree_column.
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> return location for the width of @cell.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @cell belongs to @tree_column.
+</return>
+</function>
+
+<function name="gtk_tree_view_set_vadjustment">
+<description>
+Sets the #GtkAdjustment for the current vertical aspect. See also unset_vadjustment().
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="adjustment">
+<parameter_description> The #GtkAdjustment to set.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_set_hadjustment">
+<description>
+Sets the #GtkAdjustment for the current horizontal aspect. See also unset_hadjustment().
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="adjustment">
+<parameter_description> The #GtkAdjustment to set.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_set_expander_column">
+<description>
+Sets the column to draw the expander arrow at. It must be in the TreeView. See also reset_expander_column().
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="column">
+<parameter_description>The column to draw the expander arrow at.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_view_set_cursor">
+<description>
+Sets the current keyboard focus to be at @path, and selects it. This is
+useful when you want to focus the user&apos;s attention on a particular row. Focus is given to the column specified.
+Additionally, if @start_editing is
+%TRUE, then editing should be started in the specified cell.
+This function is often followed by Gtk::Widget::grab_focus(@tree_view)
+in order to give keyboard focus to the widget. Please note that editing
+can only happen when the widget is realized.
+
+</description>
+<parameters>
+<parameter name="tree_view">
+<parameter_description> A #GtkTreeView
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> A #GtkTreePath
+</parameter_description>
+</parameter>
+<parameter name="focus_column">
+<parameter_description> A #GtkTreeViewColumn.
+</parameter_description>
+</parameter>
+<parameter name="start_editing">
+<parameter_description> %TRUE if the specified cell should start being edited.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_ui_manager_add_ui">
+<description>
+Adds a UI element to the current contents of @self.
+
+If @type is %GTK_UI_MANAGER_AUTO, GTK+ inserts a menuitem, toolitem or
+separator if such an element can be inserted at the place determined by
+@path. Otherwise @type must indicate an element that can be inserted at
+the place determined by @path.
+
+@see add_ui_separator().
+
+@newin2p4
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkUIManager
+</parameter_description>
+</parameter>
+<parameter name="merge_id">
+<parameter_description> the merge id for the merged UI, see gtk_ui_manager_new_merge_id()
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a path
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> the name for the added UI element
+</parameter_description>
+</parameter>
+<parameter name="action">
+<parameter_description> the name of the action to be proxied, if this is not a separator.
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> the type of UI element to add.
+</parameter_description>
+</parameter>
+<parameter name="top">
+<parameter_description> if %TRUE, the UI element is added before its siblings, otherwise it
+is added after its siblings.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_get_frame_dimensions">
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="left">
+<parameter_description> location to store the width of the frame at the left.
+</parameter_description>
+</parameter>
+<parameter name="top">
+<parameter_description> location to store the height of the frame at the top.
+</parameter_description>
+</parameter>
+<parameter name="right">
+<parameter_description> location to store the width of the frame at the returns.
+</parameter_description>
+</parameter>
+<parameter name="bottom">
+<parameter_description> location to store the height of the frame at the bottom.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_get_default_size">
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> location to store the default width.
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> location to store the default height.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_window_get_size">
+
+<parameters>
+<parameter name="window">
+<parameter_description> a #GtkWindow
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> return location for width.
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> return location for height.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_info_get_filename">
+<parameters>
+<parameter name="icon_info">
+<parameter_description> a #GtkIconInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> the filename for the icon, or %NULL
+if gtk_icon_info_get_builtin_pixbuf() should
+be used instead.
+</return>
+</function>
+
+<function name="gtk_icon_info_get_builtin_pixbuf">
+<parameters>
+<parameter name="icon_info">
+<parameter_description> a #GtkIconInfo structure
+</parameter_description>
+</parameter>
+</parameters>
+<return> the built-in image pixbuf, or %NULL.
+The returned image must not be modified.
+</return>
+</function>
+
+<function name="gtk_file_chooser_get_preview_filename">
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> the filename to preview, or an empty string if no file
+is selected, or if the selected file cannot be represented
+as a local filename.
+</return>
+</function>
+
+<function name="gtk_file_chooser_get_preview_uri">
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> the URI for the file to preview, or an empty string if no file is
+selected.
+</return>
+</function>
+
+<function name="gtk_file_chooser_get_current_folder_uri">
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> the URI for the current folder.
+</return>
+</function>
+
+<function name="gtk_file_chooser_get_uri">
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> The currently selected URI, or an empty string
+if no file is selected.
+</return>
+</function>
+
+<function name="gtk_file_chooser_get_filename">
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> The currently selected filename, or an empty string
+if no file is selected, or the selected file can&apos;t
+be represented with a local filename.
+</return>
+</function>
+
+<function name="gtk_cell_renderer_get_fixed_size">
+<parameters>
+<parameter name="cell">
+<parameter_description> A #GtkCellRenderer
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> location to fill in with the fixed width of the widget.
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> location to fill in with the fixed height of the widget.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_text_iter_forward_search">
+<description>
+Searches forward for @str. Any match is returned by setting
+@match_start to the first character of the match and @match_end to the
+first character after the match. The search will not continue past
+@limit. Note that a search is a linear or O(n) operation, so you
+may wish to use @limit to avoid locking up your UI on large
+buffers.
+
+If the #GTK_TEXT_SEARCH_VISIBLE_ONLY flag is present, the match may
+have invisible text interspersed in @str. i.e. @str will be a
+possibly-noncontiguous subsequence of the matched range. similarly,
+if you specify #GTK_TEXT_SEARCH_TEXT_ONLY, the match may have
+pixbufs or child widgets mixed inside the matched range. If these
+flags are not given, the match must be exact; the special 0xFFFC
+character in @str will match embedded pixbufs or child widgets.
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> start of search
+</parameter_description>
+</parameter>
+<parameter name="str">
+<parameter_description> a search string
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags affecting how the search is done
+</parameter_description>
+</parameter>
+<parameter name="match_start">
+<parameter_description> return location for start of match
+</parameter_description>
+</parameter>
+<parameter name="match_end">
+<parameter_description> return location for end of match
+</parameter_description>
+</parameter>
+<parameter name="limit">
+<parameter_description> bound for the search
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether a match was found
+</return>
+</function>
+
+
+<function name="gtk_text_iter_backward_search">
+<description>
+Same as gtk_text_iter_forward_search(), but moves backward.
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #GtkTextIter where the search begins
+</parameter_description>
+</parameter>
+<parameter name="str">
+<parameter_description> search string
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> bitmask of flags affecting the search
+</parameter_description>
+</parameter>
+<parameter name="match_start">
+<parameter_description> return location for start of match
+</parameter_description>
+</parameter>
+<parameter name="match_end">
+<parameter_description> return location for end of match
+</parameter_description>
+</parameter>
+<parameter name="limit">
+<parameter_description> location of last possible @match_start
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether a match was found
+</return>
+</function>
+
+<function name="gtk_button_get_image">
+ <description>
+ Gets the widget that is currenty set as the image of @button.
+ This may have been explicitly set by set_image()
+ or specified as a stock item to the constructor.
+
+ @newin2p6
+
+ </description>
+ <parameters>
+ <parameter name="button">
+ <parameter_description> a #GtkButton
+ </parameter_description>
+ </parameter>
+ </parameters>
+ <return></return>
+</function>
+
+
+<function name="gtk_image_set_from_stock">
+ <description>
+ See the Image::Image(const Gtk::StockID&amp; stock_id, IconSize size) constructor for details.
+ </description>
+ <parameters>
+ <parameter name="image">
+ <parameter_description> a #GtkImage
+ </parameter_description>
+ </parameter>
+ <parameter name="stock_id">
+ <parameter_description> a stock icon name
+ </parameter_description>
+ </parameter>
+ <parameter name="size">
+ <parameter_description> a stock icon size
+ </parameter_description>
+ </parameter>
+ </parameters>
+ <return></return>
+</function>
+
+<function name="gtk_icon_factory_add_default">
+ <description>
+ Adds an icon factory to the list of icon factories searched by
+ gtk_style_lookup_icon_set(). This means that, for example,
+ the Image::Image(const Gtk::StockID&amp; stock_id, IconSize size) constructor will be able to find icons in @factory.
+ There will normally be an icon factory added for each library or
+ application that comes with icons. The default icon factories
+ can be overridden by themes.
+ </description>
+ <parameters>
+ <parameter name="factory">
+ <parameter_description> a #GtkIconFactory
+ </parameter_description>
+ </parameter>
+ </parameters>
+ <return></return>
+</function>
+
+<function name="gtk_tool_button_set_stock_id">
+ <description>
+ Sets the name of the stock item. See the ToolButton::ToolButton(const Gtk::StockID&amp; stock_id, IconSize size) constructor.
+ The stock_id property only has an effect if not
+ overridden by &quot;label&quot; and &quot;icon_widget&quot; properties.
+
+ @newin2p4
+
+ </description>
+ <parameters>
+ <parameter name="button">
+ <parameter_description> a #GtkToolButton
+ </parameter_description>
+ </parameter>
+ <parameter name="stock_id">
+ <parameter_description> a name of a stock item, or %NULL
+ </parameter_description>
+ </parameter>
+ </parameters>
+ <return></return>
+</function>
+
+<function name="gtk_image_get_icon_name">
+<description>
+Gets the icon name and size being displayed by the #GtkImage.
+The storage type of the image must be %GTK_IMAGE_EMPTY or
+%GTK_IMAGE_ICON_NAME (see gtk_image_get_storage_type()).
+
+Since: 2.6
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> a #GtkImage
+</parameter_description>
+</parameter>
+<parameter name="icon_name">
+<parameter_description> place to store an icon name
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> place to store an icon size
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_progress_bar_get_text">
+<description>
+Retrieves the text displayed superimposed on the progress bar,
+if any.
+
+
+</description>
+<parameters>
+<parameter name="pbar">
+<parameter_description> a #GtkProgressBar
+</parameter_description>
+</parameter>
+</parameters>
+<return> text.
+</return>
+</function>
+
+<function name="gtk_color_button_get_title">
+<description>
+Gets the title of the color selection dialog.
+
+Since: 2.4
+</description>
+<parameters>
+<parameter name="color_button">
+<parameter_description> a #GtkColorButton
+</parameter_description>
+</parameter>
+</parameters>
+<return>The title
+</return>
+</function>
+
+<function name="gtk_file_chooser_get_current_folder">
+<description>
+Gets the current folder of @chooser as a local filename.
+See gtk_file_chooser_set_current_folder().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> the full path of the current folder, possibly empty if the current
+path cannot be represented as a local filename. This function may also return
+and empty string if the file chooser was unable to load the last folder that was
+requested from it; for example, as would be for calling
+gtk_file_chooser_set_current_folder() on a nonexistent folder.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_file_chooser_list_shortcut_folders">
+<description>
+Queries the list of shortcut folders in the file chooser, as set by
+gtk_file_chooser_add_shortcut_folder().
+
+Since: 2.4
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> A list of folder filenames, if there are any shortcut
+folders..
+
+
+</return>
+</function>
+
+<function name="gtk_file_chooser_list_shortcut_folder_uris">
+<description>
+Queries the list of shortcut folders in the file chooser, as set by
+gtk_file_chooser_add_shortcut_folder_uri().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> A list of folder URIs
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_file_chooser_list_filters">
+<description>
+Lists the current set of user-selectable filters; see
+gtk_file_chooser_add_filter(), gtk_file_chooser_remove_filter().
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> a list containing the current set of
+user selectable filters.
+
+Since: 2.4
+</return>
+</function>
+
+
+<function name="gtk_file_chooser_get_uris">
+<description>
+Lists all the selected files and subfolders in the current folder of
+@chooser. The returned names are full absolute URIs.
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> a list containing the URIs of all selected
+files and subfolders in the current folder.
+
+Since: 2.4
+</return>
+</function>
+
+
+<function name="gtk_file_chooser_get_filenames">
+<description>
+Lists all the selected files and subfolders in the current folder of
+@chooser. The returned names are full absolute paths. If files in the current
+folder cannot be represented as local filenames they will be ignored. (See
+gtk_file_chooser_get_uris())
+
+
+</description>
+<parameters>
+<parameter name="chooser">
+<parameter_description> a #GtkFileChooser
+</parameter_description>
+</parameter>
+</parameters>
+<return> a list containing the filenames of all selected
+files and subfolders in the current folder.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_icon_theme_list_icons">
+<description>
+Lists a subset of icons in the current icon theme, by providing a context string.
+The set of values for the context string is system dependent,
+but will typically include such values as &apos;Applications&apos; and
+&apos;MimeTypes&apos;.
+
+</description>
+<parameters>
+<parameter name="icon_theme">
+<parameter_description> a #GtkIconTheme
+</parameter_description>
+</parameter>
+<parameter name="context">
+<parameter_description> a string identifying a particular type of icon.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The names of all the
+icons in the theme.
+
+Since: 2.4
+</return>
+</function>
+
+<function name="gtk_widget_render_icon">
+<description>
+A convenience function that uses the theme engine and RC file
+settings for the widget to look up @stock_id and render it to
+a pixbuf. @stock_id should be a stock icon ID such as
+#GTK_STOCK_OPEN or #GTK_STOCK_OK. @size should be a size
+such as #GTK_ICON_SIZE_MENU. @detail should be a string that
+identifies the widget or code doing the rendering, so that
+theme engines can special-case rendering for that widget or code.
+
+The pixels in the returned #GdkPixbuf are shared with the rest of
+the application and should not be modified. The pixbuf should be freed
+after use with g_object_unref().
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="stock_id">
+<parameter_description> a stock ID
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> a stock size. A size of (GtkIconSize)-1 means render at
+the size of the source and don&apos;t scale (if there are multiple
+source sizes, GTK+ picks one of the available sizes).
+</parameter_description>
+</parameter>
+<parameter name="detail">
+<parameter_description> render detail to pass to theme engine
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new pixbuf if the stock ID was known.
+</return>
+</function>
+
+<function name="gtk_table_get_homogeneous">
+<description>
+Returns whether the table cells are all constrained to the same
+width and height. (See set_homogenous())
+</description>
+<parameters>
+<parameter name="table">
+<parameter_description> a #GtkTable
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the cells are all constrained to the same size
+</return>
+</function>
+
+
+<!-- I don't know what this GTK+ documentation means by "update its internal state". murrayc. -->
+<function name="gtk_widget_add_mnemonic_label">
+<description>
+Adds a widget to the list of mnemonic labels for
+this widget. (See gtk_widget_list_mnemonic_labels()). Note the
+list of mnemonic labels for the widget is cleared when the
+widget is destroyed, so the caller must make sure to update
+its internal state at this point as well.
+
+Since: 2.4
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="label">
+<parameter_description> a #GtkWidget that acts as a mnemonic label for @widget.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+
+<function name="gtk_container_remove">
+<description>
+Removes @widget from @container. @widget must be inside @container.
+If @widget is managed with Gtk::manage(), and you don&apos;t want to use @widget
+again then you should delete @widget, because there will no longer be any parent
+container to delete it automatically.
+</description>
+<parameters>
+<parameter name="container">
+<parameter_description> a #GtkContainer
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> a current child of @container
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_page_setup_to_key_file">
+<description>
+This function adds the page setup from @setup to @key_file.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+<parameter name="key_file">
+<parameter_description> the Glib::KeyFile to save the page setup to
+</parameter_description>
+</parameter>
+<parameter name="group_name">
+<parameter_description> the group to add the settings to in @key_file.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_print_settings_to_key_file">
+<description>
+This function adds the print settings from @settings to @key_file.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="key_file">
+<parameter_description> the Glib::KeyFile to save the print settings to
+</parameter_description>
+</parameter>
+<parameter name="group_name">
+<parameter_description> the group to add the settings to in @key_file.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+
+<function name="gtk_about_dialog_get_program_name">
+<description>
+Return value: The program name.
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> The program name.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_about_dialog_get_website_label">
+<description>
+Return value: The label used for the website link.
+
+</description>
+<parameters>
+<parameter name="about">
+<parameter_description> a #GtkAboutDialog
+</parameter_description>
+</parameter>
+</parameters>
+<return> The label used for the website link.
+
+Since: 2.6
+</return>
+</function>
+
+
+<function name="gtk_entry_completion_get_completion_prefix">
+<description>
+Get the original text entered by the user that triggered
+the completion or an empty string if there&apos;s no completion ongoing.
+
+
+</description>
+<parameters>
+<parameter name="completion">
+<parameter_description> a #GtkEntryCompletion
+</parameter_description>
+</parameter>
+</parameters>
+<return> the prefix for the current completion
+
+Since: 2.12
+</return>
+</function>
+
+
+<function name="gtk_icon_theme_choose_icon">
+<description>
+Looks up a named icon and returns a structure containing
+information such as the filename of the icon. The icon
+can then be rendered into a pixbuf using
+gtk_icon_info_load_icon(). (gtk_icon_theme_load_icon()
+combines these two steps if all you need is the pixbuf.)
+
+If @icon_names contains more than one name, this function
+tries them all in the given order before falling back to
+inherited icon themes.
+
+
+</description>
+<parameters>
+<parameter name="icon_theme">
+<parameter_description> a #GtkIconTheme
+</parameter_description>
+</parameter>
+<parameter name="icon_names">
+<parameter_description> array of icon names to lookup
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> desired icon size
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags modifying the behavior of the icon lookup
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GtkIconInfo structure containing information
+about the icon. IconInfo::operator bool() will be false if the icon wasn&apos;t found -
+for instance, if (icon_info) { ... }.
+
+Since: 2.12
+</return>
+</function>
+
+
+<function name="gtk_icon_theme_list_contexts">
+<description>
+Gets the list of contexts available within the current
+hierarchy of icon themes.
+
+
+</description>
+<parameters>
+<parameter name="icon_theme">
+<parameter_description> a #GtkIconTheme
+</parameter_description>
+</parameter>
+</parameters>
+<return> a list holding the names of all the
+contexts in the theme.
+
+Since: 2.12
+</return>
+</function>
+
+
+<function name="gtk_icon_view_set_tooltip_cell">
+<description>
+Sets the tip area of @tooltip to the area which @cell occupies in
+the item pointed to by @path. See also Tooltip::set_tip_area().
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+<parameter name="tooltip">
+<parameter_description> a #GtkTooltip
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a #GtkTreePath
+</parameter_description>
+</parameter>
+<parameter name="cell">
+<parameter_description> a #GtkCellRenderer.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+
+<function name="gtk_icon_view_set_tooltip_item">
+<description>
+Sets the tip area of @tooltip to be the area covered by the item at @path.
+See also Tooltip::set_tip_area().
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="icon_view">
+<parameter_description> a #GtkIconView
+</parameter_description>
+</parameter>
+<parameter name="tooltip">
+<parameter_description> a #GtkTooltip
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a #GtkTreePath
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+
+<function name="gtk_page_setup_to_file">
+<description>
+This function saves the information from @setup to @file_name.
+@throws Glib::FileError
+
+</description>
+<parameters>
+<parameter name="setup">
+<parameter_description> a #GtkPageSetup
+</parameter_description>
+</parameter>
+<parameter name="file_name">
+<parameter_description> the file to save to
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE on success
+
+Since: 2.12
+</return>
+</function>
+
+
+<function name="gtk_print_settings_to_file">
+<description>
+This function saves the print settings from @settings to @file_name.
+@throws FileError
+
+</description>
+<parameters>
+<parameter name="settings">
+<parameter_description> a #GtkPrintSettings
+</parameter_description>
+</parameter>
+<parameter name="file_name">
+<parameter_description> the file to save to
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE on success
+
+Since: 2.12
+</return>
+</function>
+
+
+<function name="gtk_printer_request_details">
+<description>
+Requests the printer details. When the details are available,
+the details_acquired signal will be emitted.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="printer">
+<parameter_description> a #GtkPrinter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+
+<function name="gtk_cell_layout_get_cells">
+<description>
+Return value: a list of cell renderers.
+
+</description>
+<parameters>
+<parameter name="cell_layout">
+<parameter_description> a #GtkCellLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> a list of cell renderers.
+
+Since: 2.12
+</return>
+</function>
+
+
+<function name="gtk_widget_error_bell">
+<description>
+Notifies the user about an input-related error on this widget.
+If the Gtk::Settings gtk-error-bell proeprty is true, it calls
+Gdk::Window::beep(), otherwise it does nothing.
+
+Note that the effect of Gdk::Window::beep() can be configured in many
+ways, depending on the windowing backend and the desktop environment
+or window manager that is used.
+
+Since: 2.12
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+
+<function name="gtk_widget_get_tooltip_markup">
+<description>
+Gets the contents of the tooltip for @widget.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the tooltip text.
+
+Since: 2.12
+</return>
+</function>
+
+
+<function name="gtk_widget_get_tooltip_text">
+<description>
+Gets the contents of the tooltip for @widget.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the tooltip text.
+
+Since: 2.12
+</return>
+</function>
+
+<function name="gtk_icon_theme_lookup_icon">
+<description>
+Looks up a named icon and returns a structure containing
+information such as the filename of the icon. The icon
+can then be rendered into a pixbuf using
+gtk_icon_info_load_icon(). (gtk_icon_theme_load_icon()
+combines these two steps if all you need is the pixbuf.)
+
+
+</description>
+<parameters>
+<parameter name="icon_theme">
+<parameter_description> a #GtkIconTheme
+</parameter_description>
+</parameter>
+<parameter name="icon_name">
+<parameter_description> the name of the icon to lookup
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> desired icon size
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags modifying the behavior of the icon lookup
+</parameter_description>
+</parameter>
+</parameters>
+<return> an IconInfo structure containing information
+about the icon. IconInfo::operator bool() will return false if the icon wasn&apos;t found.
+For instance, if (icon_info) { ... }.
+
+Since: 2.4
+</return>
+</function>
+
+
+<function name="gtk_toolbar_set_icon_size">
+<description>
+This function sets the size of stock icons in the toolbar. You
+can call it both before you add the icons and after they&apos;ve been
+added. The size you set will override user preferences for the default
+icon size.
+
+This should only be used for special-purpose toolbars, normal
+application toolbars should respect the user preferences for the
+size of icons.
+
+Since: 2.12
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> A #GtkToolbar
+</parameter_description>
+</parameter>
+<parameter name="icon_size">
+<parameter_description> The #GtkIconSize that stock icons in the toolbar shall have.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_toolbar_unset_icon_size">
+<description>
+Unsets toolbar icon size set with gtk_toolbar_set_icon_size(), so that
+user preferences will be used to determine the icon size.
+
+Since: 2.12
+</description>
+<parameters>
+<parameter name="toolbar">
+<parameter_description> a #GtkToolbar
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+
+
+</root>
diff --git a/libs/gtkmm2/gtk/src/gtk_enums.defs b/libs/gtkmm2/gtk/src/gtk_enums.defs
new file mode 100644
index 0000000000..0074a0bf0b
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/gtk_enums.defs
@@ -0,0 +1,1509 @@
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkaccelgroup.h
+
+(define-flags-extended AccelFlags
+ (in-module "Gtk")
+ (c-name "GtkAccelFlags")
+ (values
+ '("visible" "GTK_ACCEL_VISIBLE" "1 << 0")
+ '("locked" "GTK_ACCEL_LOCKED" "1 << 1")
+ '("mask" "GTK_ACCEL_MASK" "0x07")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkassistant.h
+
+(define-enum-extended AssistantPageType
+ (in-module "Gtk")
+ (c-name "GtkAssistantPageType")
+ (values
+ '("content" "GTK_ASSISTANT_PAGE_CONTENT" "0")
+ '("intro" "GTK_ASSISTANT_PAGE_INTRO" "1")
+ '("confirm" "GTK_ASSISTANT_PAGE_CONFIRM" "2")
+ '("summary" "GTK_ASSISTANT_PAGE_SUMMARY" "3")
+ '("progress" "GTK_ASSISTANT_PAGE_PROGRESS" "4")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkbuilder.h
+
+(define-enum-extended BuilderError
+ (in-module "Gtk")
+ (c-name "GtkBuilderError")
+ (values
+ '("invalid-type-function" "GTK_BUILDER_ERROR_INVALID_TYPE_FUNCTION" "0")
+ '("unhandled-tag" "GTK_BUILDER_ERROR_UNHANDLED_TAG" "1")
+ '("missing-attribute" "GTK_BUILDER_ERROR_MISSING_ATTRIBUTE" "2")
+ '("invalid-attribute" "GTK_BUILDER_ERROR_INVALID_ATTRIBUTE" "3")
+ '("invalid-tag" "GTK_BUILDER_ERROR_INVALID_TAG" "4")
+ '("missing-property-value" "GTK_BUILDER_ERROR_MISSING_PROPERTY_VALUE" "5")
+ '("invalid-value" "GTK_BUILDER_ERROR_INVALID_VALUE" "6")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkcalendar.h
+
+(define-flags-extended CalendarDisplayOptions
+ (in-module "Gtk")
+ (c-name "GtkCalendarDisplayOptions")
+ (values
+ '("show-heading" "GTK_CALENDAR_SHOW_HEADING" "1 << 0")
+ '("show-day-names" "GTK_CALENDAR_SHOW_DAY_NAMES" "1 << 1")
+ '("no-month-change" "GTK_CALENDAR_NO_MONTH_CHANGE" "1 << 2")
+ '("show-week-numbers" "GTK_CALENDAR_SHOW_WEEK_NUMBERS" "1 << 3")
+ '("week-start-monday" "GTK_CALENDAR_WEEK_START_MONDAY" "1 << 4")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkcellrendereraccel.h
+
+(define-enum-extended CellRendererAccelMode
+ (in-module "Gtk")
+ (c-name "GtkCellRendererAccelMode")
+ (values
+ '("gtk" "GTK_CELL_RENDERER_ACCEL_MODE_GTK" "0")
+ '("other" "GTK_CELL_RENDERER_ACCEL_MODE_OTHER" "1")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkcellrenderer.h
+
+(define-flags-extended CellRendererState
+ (in-module "Gtk")
+ (c-name "GtkCellRendererState")
+ (values
+ '("selected" "GTK_CELL_RENDERER_SELECTED" "1 << 0")
+ '("prelit" "GTK_CELL_RENDERER_PRELIT" "1 << 1")
+ '("insensitive" "GTK_CELL_RENDERER_INSENSITIVE" "1 << 2")
+ '("sorted" "GTK_CELL_RENDERER_SORTED" "1 << 3")
+ '("focused" "GTK_CELL_RENDERER_FOCUSED" "1 << 4")
+ )
+)
+
+(define-enum-extended CellRendererMode
+ (in-module "Gtk")
+ (c-name "GtkCellRendererMode")
+ (values
+ '("inert" "GTK_CELL_RENDERER_MODE_INERT" "0")
+ '("activatable" "GTK_CELL_RENDERER_MODE_ACTIVATABLE" "1")
+ '("editable" "GTK_CELL_RENDERER_MODE_EDITABLE" "2")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkdebug.h
+
+(define-flags-extended DebugFlag
+ (in-module "Gtk")
+ (c-name "GtkDebugFlag")
+ (values
+ '("misc" "GTK_DEBUG_MISC" "1 << 0")
+ '("plugsocket" "GTK_DEBUG_PLUGSOCKET" "1 << 1")
+ '("text" "GTK_DEBUG_TEXT" "1 << 2")
+ '("tree" "GTK_DEBUG_TREE" "1 << 3")
+ '("updates" "GTK_DEBUG_UPDATES" "1 << 4")
+ '("keybindings" "GTK_DEBUG_KEYBINDINGS" "1 << 5")
+ '("multihead" "GTK_DEBUG_MULTIHEAD" "1 << 6")
+ '("modules" "GTK_DEBUG_MODULES" "1 << 7")
+ '("geometry" "GTK_DEBUG_GEOMETRY" "1 << 8")
+ '("icontheme" "GTK_DEBUG_ICONTHEME" "1 << 9")
+ '("printing" "GTK_DEBUG_PRINTING" "1 << 10")
+ '("builder" "GTK_DEBUG_BUILDER" "1 << 11")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkdialog.h
+
+(define-flags-extended DialogFlags
+ (in-module "Gtk")
+ (c-name "GtkDialogFlags")
+ (values
+ '("modal" "GTK_DIALOG_MODAL" "1 << 0")
+ '("destroy-with-parent" "GTK_DIALOG_DESTROY_WITH_PARENT" "1 << 1")
+ '("no-separator" "GTK_DIALOG_NO_SEPARATOR" "1 << 2")
+ )
+)
+
+(define-enum-extended ResponseType
+ (in-module "Gtk")
+ (c-name "GtkResponseType")
+ (values
+ '("none" "GTK_RESPONSE_NONE" "-1")
+ '("reject" "GTK_RESPONSE_REJECT" "-2")
+ '("accept" "GTK_RESPONSE_ACCEPT" "-3")
+ '("delete-event" "GTK_RESPONSE_DELETE_EVENT" "-4")
+ '("ok" "GTK_RESPONSE_OK" "-5")
+ '("cancel" "GTK_RESPONSE_CANCEL" "-6")
+ '("close" "GTK_RESPONSE_CLOSE" "-7")
+ '("yes" "GTK_RESPONSE_YES" "-8")
+ '("no" "GTK_RESPONSE_NO" "-9")
+ '("apply" "GTK_RESPONSE_APPLY" "-10")
+ '("help" "GTK_RESPONSE_HELP" "-11")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkdnd.h
+
+(define-flags-extended DestDefaults
+ (in-module "Gtk")
+ (c-name "GtkDestDefaults")
+ (values
+ '("motion" "GTK_DEST_DEFAULT_MOTION" "1 << 0")
+ '("highlight" "GTK_DEST_DEFAULT_HIGHLIGHT" "1 << 1")
+ '("drop" "GTK_DEST_DEFAULT_DROP" "1 << 2")
+ '("all" "GTK_DEST_DEFAULT_ALL" "0x07")
+ )
+)
+
+(define-flags-extended TargetFlags
+ (in-module "Gtk")
+ (c-name "GtkTargetFlags")
+ (values
+ '("same-app" "GTK_TARGET_SAME_APP" "1 << 0")
+ '("same-widget" "GTK_TARGET_SAME_WIDGET" "1 << 1")
+ '("other-app" "GTK_TARGET_OTHER_APP" "1 << 2")
+ '("other-widget" "GTK_TARGET_OTHER_WIDGET" "1 << 3")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkenums.h
+
+(define-enum-extended AnchorType
+ (in-module "Gtk")
+ (c-name "GtkAnchorType")
+ (values
+ '("center" "GTK_ANCHOR_CENTER" "0")
+ '("north" "GTK_ANCHOR_NORTH" "1")
+ '("north-west" "GTK_ANCHOR_NORTH_WEST" "2")
+ '("north-east" "GTK_ANCHOR_NORTH_EAST" "3")
+ '("south" "GTK_ANCHOR_SOUTH" "4")
+ '("south-west" "GTK_ANCHOR_SOUTH_WEST" "5")
+ '("south-east" "GTK_ANCHOR_SOUTH_EAST" "6")
+ '("west" "GTK_ANCHOR_WEST" "7")
+ '("east" "GTK_ANCHOR_EAST" "8")
+ '("n" "GTK_ANCHOR_N" "1")
+ '("nw" "GTK_ANCHOR_NW" "2")
+ '("ne" "GTK_ANCHOR_NE" "3")
+ '("s" "GTK_ANCHOR_S" "4")
+ '("sw" "GTK_ANCHOR_SW" "5")
+ '("se" "GTK_ANCHOR_SE" "6")
+ '("w" "GTK_ANCHOR_W" "7")
+ '("e" "GTK_ANCHOR_E" "8")
+ )
+)
+
+(define-enum-extended ArrowType
+ (in-module "Gtk")
+ (c-name "GtkArrowType")
+ (values
+ '("up" "GTK_ARROW_UP" "0")
+ '("down" "GTK_ARROW_DOWN" "1")
+ '("left" "GTK_ARROW_LEFT" "2")
+ '("right" "GTK_ARROW_RIGHT" "3")
+ '("none" "GTK_ARROW_NONE" "4")
+ )
+)
+
+(define-flags-extended AttachOptions
+ (in-module "Gtk")
+ (c-name "GtkAttachOptions")
+ (values
+ '("expand" "GTK_EXPAND" "1 << 0")
+ '("shrink" "GTK_SHRINK" "1 << 1")
+ '("fill" "GTK_FILL" "1 << 2")
+ )
+)
+
+(define-enum-extended ButtonBoxStyle
+ (in-module "Gtk")
+ (c-name "GtkButtonBoxStyle")
+ (values
+ '("default-style" "GTK_BUTTONBOX_DEFAULT_STYLE" "0")
+ '("spread" "GTK_BUTTONBOX_SPREAD" "1")
+ '("edge" "GTK_BUTTONBOX_EDGE" "2")
+ '("start" "GTK_BUTTONBOX_START" "3")
+ '("end" "GTK_BUTTONBOX_END" "4")
+ '("center" "GTK_BUTTONBOX_CENTER" "5")
+ )
+)
+
+(define-enum-extended CurveType
+ (in-module "Gtk")
+ (c-name "GtkCurveType")
+ (values
+ '("linear" "GTK_CURVE_TYPE_LINEAR" "0")
+ '("spline" "GTK_CURVE_TYPE_SPLINE" "1")
+ '("free" "GTK_CURVE_TYPE_FREE" "2")
+ )
+)
+
+(define-enum-extended DeleteType
+ (in-module "Gtk")
+ (c-name "GtkDeleteType")
+ (values
+ '("chars" "GTK_DELETE_CHARS" "0")
+ '("words" "GTK_DELETE_WORDS" "1")
+ '("display-lines" "GTK_DELETE_DISPLAY_LINES" "2")
+ '("display-line-ends" "GTK_DELETE_DISPLAY_LINE_ENDS" "3")
+ '("paragraph-ends" "GTK_DELETE_PARAGRAPH_ENDS" "4")
+ '("paragraphs" "GTK_DELETE_PARAGRAPHS" "5")
+ '("whitespace" "GTK_DELETE_WHITESPACE" "6")
+ )
+)
+
+(define-enum-extended DirectionType
+ (in-module "Gtk")
+ (c-name "GtkDirectionType")
+ (values
+ '("tab-forward" "GTK_DIR_TAB_FORWARD" "0")
+ '("tab-backward" "GTK_DIR_TAB_BACKWARD" "1")
+ '("up" "GTK_DIR_UP" "2")
+ '("down" "GTK_DIR_DOWN" "3")
+ '("left" "GTK_DIR_LEFT" "4")
+ '("right" "GTK_DIR_RIGHT" "5")
+ )
+)
+
+(define-enum-extended ExpanderStyle
+ (in-module "Gtk")
+ (c-name "GtkExpanderStyle")
+ (values
+ '("collapsed" "GTK_EXPANDER_COLLAPSED" "0")
+ '("semi-collapsed" "GTK_EXPANDER_SEMI_COLLAPSED" "1")
+ '("semi-expanded" "GTK_EXPANDER_SEMI_EXPANDED" "2")
+ '("expanded" "GTK_EXPANDER_EXPANDED" "3")
+ )
+)
+
+(define-enum-extended IconSize
+ (in-module "Gtk")
+ (c-name "GtkIconSize")
+ (values
+ '("invalid" "GTK_ICON_SIZE_INVALID" "0")
+ '("menu" "GTK_ICON_SIZE_MENU" "1")
+ '("small-toolbar" "GTK_ICON_SIZE_SMALL_TOOLBAR" "2")
+ '("large-toolbar" "GTK_ICON_SIZE_LARGE_TOOLBAR" "3")
+ '("button" "GTK_ICON_SIZE_BUTTON" "4")
+ '("dnd" "GTK_ICON_SIZE_DND" "5")
+ '("dialog" "GTK_ICON_SIZE_DIALOG" "6")
+ )
+)
+
+(define-enum-extended SensitivityType
+ (in-module "Gtk")
+ (c-name "GtkSensitivityType")
+ (values
+ '("auto" "GTK_SENSITIVITY_AUTO" "0")
+ '("on" "GTK_SENSITIVITY_ON" "1")
+ '("off" "GTK_SENSITIVITY_OFF" "2")
+ )
+)
+
+(define-enum-extended TextDirection
+ (in-module "Gtk")
+ (c-name "GtkTextDirection")
+ (values
+ '("none" "GTK_TEXT_DIR_NONE" "0")
+ '("ltr" "GTK_TEXT_DIR_LTR" "1")
+ '("rtl" "GTK_TEXT_DIR_RTL" "2")
+ )
+)
+
+(define-enum-extended Justification
+ (in-module "Gtk")
+ (c-name "GtkJustification")
+ (values
+ '("left" "GTK_JUSTIFY_LEFT" "0")
+ '("right" "GTK_JUSTIFY_RIGHT" "1")
+ '("center" "GTK_JUSTIFY_CENTER" "2")
+ '("fill" "GTK_JUSTIFY_FILL" "3")
+ )
+)
+
+(define-enum-extended MenuDirectionType
+ (in-module "Gtk")
+ (c-name "GtkMenuDirectionType")
+ (values
+ '("parent" "GTK_MENU_DIR_PARENT" "0")
+ '("child" "GTK_MENU_DIR_CHILD" "1")
+ '("next" "GTK_MENU_DIR_NEXT" "2")
+ '("prev" "GTK_MENU_DIR_PREV" "3")
+ )
+)
+
+(define-enum-extended MetricType
+ (in-module "Gtk")
+ (c-name "GtkMetricType")
+ (values
+ '("pixels" "GTK_PIXELS" "0")
+ '("inches" "GTK_INCHES" "1")
+ '("centimeters" "GTK_CENTIMETERS" "2")
+ )
+)
+
+(define-enum-extended MovementStep
+ (in-module "Gtk")
+ (c-name "GtkMovementStep")
+ (values
+ '("logical-positions" "GTK_MOVEMENT_LOGICAL_POSITIONS" "0")
+ '("visual-positions" "GTK_MOVEMENT_VISUAL_POSITIONS" "1")
+ '("words" "GTK_MOVEMENT_WORDS" "2")
+ '("display-lines" "GTK_MOVEMENT_DISPLAY_LINES" "3")
+ '("display-line-ends" "GTK_MOVEMENT_DISPLAY_LINE_ENDS" "4")
+ '("paragraphs" "GTK_MOVEMENT_PARAGRAPHS" "5")
+ '("paragraph-ends" "GTK_MOVEMENT_PARAGRAPH_ENDS" "6")
+ '("pages" "GTK_MOVEMENT_PAGES" "7")
+ '("buffer-ends" "GTK_MOVEMENT_BUFFER_ENDS" "8")
+ '("horizontal-pages" "GTK_MOVEMENT_HORIZONTAL_PAGES" "9")
+ )
+)
+
+(define-enum-extended ScrollStep
+ (in-module "Gtk")
+ (c-name "GtkScrollStep")
+ (values
+ '("steps" "GTK_SCROLL_STEPS" "0")
+ '("pages" "GTK_SCROLL_PAGES" "1")
+ '("ends" "GTK_SCROLL_ENDS" "2")
+ '("horizontal-steps" "GTK_SCROLL_HORIZONTAL_STEPS" "3")
+ '("horizontal-pages" "GTK_SCROLL_HORIZONTAL_PAGES" "4")
+ '("horizontal-ends" "GTK_SCROLL_HORIZONTAL_ENDS" "5")
+ )
+)
+
+(define-enum-extended Orientation
+ (in-module "Gtk")
+ (c-name "GtkOrientation")
+ (values
+ '("horizontal" "GTK_ORIENTATION_HORIZONTAL" "0")
+ '("vertical" "GTK_ORIENTATION_VERTICAL" "1")
+ )
+)
+
+(define-enum-extended CornerType
+ (in-module "Gtk")
+ (c-name "GtkCornerType")
+ (values
+ '("top-left" "GTK_CORNER_TOP_LEFT" "0")
+ '("bottom-left" "GTK_CORNER_BOTTOM_LEFT" "1")
+ '("top-right" "GTK_CORNER_TOP_RIGHT" "2")
+ '("bottom-right" "GTK_CORNER_BOTTOM_RIGHT" "3")
+ )
+)
+
+(define-enum-extended PackType
+ (in-module "Gtk")
+ (c-name "GtkPackType")
+ (values
+ '("start" "GTK_PACK_START" "0")
+ '("end" "GTK_PACK_END" "1")
+ )
+)
+
+(define-enum-extended PathPriorityType
+ (in-module "Gtk")
+ (c-name "GtkPathPriorityType")
+ (values
+ '("lowest" "GTK_PATH_PRIO_LOWEST" "0")
+ '("gtk" "GTK_PATH_PRIO_GTK" "4")
+ '("application" "GTK_PATH_PRIO_APPLICATION" "8")
+ '("theme" "GTK_PATH_PRIO_THEME" "10")
+ '("rc" "GTK_PATH_PRIO_RC" "12")
+ '("highest" "GTK_PATH_PRIO_HIGHEST" "15")
+ )
+)
+
+(define-enum-extended PathType
+ (in-module "Gtk")
+ (c-name "GtkPathType")
+ (values
+ '("widget" "GTK_PATH_WIDGET" "0")
+ '("widget-class" "GTK_PATH_WIDGET_CLASS" "1")
+ '("class" "GTK_PATH_CLASS" "2")
+ )
+)
+
+(define-enum-extended PolicyType
+ (in-module "Gtk")
+ (c-name "GtkPolicyType")
+ (values
+ '("always" "GTK_POLICY_ALWAYS" "0")
+ '("automatic" "GTK_POLICY_AUTOMATIC" "1")
+ '("never" "GTK_POLICY_NEVER" "2")
+ )
+)
+
+(define-enum-extended PositionType
+ (in-module "Gtk")
+ (c-name "GtkPositionType")
+ (values
+ '("left" "GTK_POS_LEFT" "0")
+ '("right" "GTK_POS_RIGHT" "1")
+ '("top" "GTK_POS_TOP" "2")
+ '("bottom" "GTK_POS_BOTTOM" "3")
+ )
+)
+
+(define-enum-extended ReliefStyle
+ (in-module "Gtk")
+ (c-name "GtkReliefStyle")
+ (values
+ '("normal" "GTK_RELIEF_NORMAL" "0")
+ '("half" "GTK_RELIEF_HALF" "1")
+ '("none" "GTK_RELIEF_NONE" "2")
+ )
+)
+
+(define-enum-extended ResizeMode
+ (in-module "Gtk")
+ (c-name "GtkResizeMode")
+ (values
+ '("parent" "GTK_RESIZE_PARENT" "0")
+ '("queue" "GTK_RESIZE_QUEUE" "1")
+ '("immediate" "GTK_RESIZE_IMMEDIATE" "2")
+ )
+)
+
+(define-enum-extended ScrollType
+ (in-module "Gtk")
+ (c-name "GtkScrollType")
+ (values
+ '("none" "GTK_SCROLL_NONE" "0")
+ '("jump" "GTK_SCROLL_JUMP" "1")
+ '("step-backward" "GTK_SCROLL_STEP_BACKWARD" "2")
+ '("step-forward" "GTK_SCROLL_STEP_FORWARD" "3")
+ '("page-backward" "GTK_SCROLL_PAGE_BACKWARD" "4")
+ '("page-forward" "GTK_SCROLL_PAGE_FORWARD" "5")
+ '("step-up" "GTK_SCROLL_STEP_UP" "6")
+ '("step-down" "GTK_SCROLL_STEP_DOWN" "7")
+ '("page-up" "GTK_SCROLL_PAGE_UP" "8")
+ '("page-down" "GTK_SCROLL_PAGE_DOWN" "9")
+ '("step-left" "GTK_SCROLL_STEP_LEFT" "10")
+ '("step-right" "GTK_SCROLL_STEP_RIGHT" "11")
+ '("page-left" "GTK_SCROLL_PAGE_LEFT" "12")
+ '("page-right" "GTK_SCROLL_PAGE_RIGHT" "13")
+ '("start" "GTK_SCROLL_START" "14")
+ '("end" "GTK_SCROLL_END" "15")
+ )
+)
+
+(define-enum-extended SelectionMode
+ (in-module "Gtk")
+ (c-name "GtkSelectionMode")
+ (values
+ '("none" "GTK_SELECTION_NONE" "0")
+ '("single" "GTK_SELECTION_SINGLE" "1")
+ '("browse" "GTK_SELECTION_BROWSE" "2")
+ '("multiple" "GTK_SELECTION_MULTIPLE" "3")
+ '("extended" "GTK_SELECTION_EXTENDED" "3")
+ )
+)
+
+(define-enum-extended ShadowType
+ (in-module "Gtk")
+ (c-name "GtkShadowType")
+ (values
+ '("none" "GTK_SHADOW_NONE" "0")
+ '("in" "GTK_SHADOW_IN" "1")
+ '("out" "GTK_SHADOW_OUT" "2")
+ '("etched-in" "GTK_SHADOW_ETCHED_IN" "3")
+ '("etched-out" "GTK_SHADOW_ETCHED_OUT" "4")
+ )
+)
+
+(define-enum-extended StateType
+ (in-module "Gtk")
+ (c-name "GtkStateType")
+ (values
+ '("normal" "GTK_STATE_NORMAL" "0")
+ '("active" "GTK_STATE_ACTIVE" "1")
+ '("prelight" "GTK_STATE_PRELIGHT" "2")
+ '("selected" "GTK_STATE_SELECTED" "3")
+ '("insensitive" "GTK_STATE_INSENSITIVE" "4")
+ )
+)
+
+(define-enum-extended SubmenuDirection
+ (in-module "Gtk")
+ (c-name "GtkSubmenuDirection")
+ (values
+ '("left" "GTK_DIRECTION_LEFT" "0")
+ '("right" "GTK_DIRECTION_RIGHT" "1")
+ )
+)
+
+(define-enum-extended SubmenuPlacement
+ (in-module "Gtk")
+ (c-name "GtkSubmenuPlacement")
+ (values
+ '("top-bottom" "GTK_TOP_BOTTOM" "0")
+ '("left-right" "GTK_LEFT_RIGHT" "1")
+ )
+)
+
+(define-enum-extended ToolbarStyle
+ (in-module "Gtk")
+ (c-name "GtkToolbarStyle")
+ (values
+ '("icons" "GTK_TOOLBAR_ICONS" "0")
+ '("text" "GTK_TOOLBAR_TEXT" "1")
+ '("both" "GTK_TOOLBAR_BOTH" "2")
+ '("both-horiz" "GTK_TOOLBAR_BOTH_HORIZ" "3")
+ )
+)
+
+(define-enum-extended UpdateType
+ (in-module "Gtk")
+ (c-name "GtkUpdateType")
+ (values
+ '("continuous" "GTK_UPDATE_CONTINUOUS" "0")
+ '("discontinuous" "GTK_UPDATE_DISCONTINUOUS" "1")
+ '("delayed" "GTK_UPDATE_DELAYED" "2")
+ )
+)
+
+(define-enum-extended Visibility
+ (in-module "Gtk")
+ (c-name "GtkVisibility")
+ (values
+ '("none" "GTK_VISIBILITY_NONE" "0")
+ '("partial" "GTK_VISIBILITY_PARTIAL" "1")
+ '("full" "GTK_VISIBILITY_FULL" "2")
+ )
+)
+
+(define-enum-extended WindowPosition
+ (in-module "Gtk")
+ (c-name "GtkWindowPosition")
+ (values
+ '("none" "GTK_WIN_POS_NONE" "0")
+ '("center" "GTK_WIN_POS_CENTER" "1")
+ '("mouse" "GTK_WIN_POS_MOUSE" "2")
+ '("center-always" "GTK_WIN_POS_CENTER_ALWAYS" "3")
+ '("center-on-parent" "GTK_WIN_POS_CENTER_ON_PARENT" "4")
+ )
+)
+
+(define-enum-extended WindowType
+ (in-module "Gtk")
+ (c-name "GtkWindowType")
+ (values
+ '("toplevel" "GTK_WINDOW_TOPLEVEL" "0")
+ '("popup" "GTK_WINDOW_POPUP" "1")
+ )
+)
+
+(define-enum-extended WrapMode
+ (in-module "Gtk")
+ (c-name "GtkWrapMode")
+ (values
+ '("none" "GTK_WRAP_NONE" "0")
+ '("char" "GTK_WRAP_CHAR" "1")
+ '("word" "GTK_WRAP_WORD" "2")
+ '("word-char" "GTK_WRAP_WORD_CHAR" "3")
+ )
+)
+
+(define-enum-extended SortType
+ (in-module "Gtk")
+ (c-name "GtkSortType")
+ (values
+ '("ascending" "GTK_SORT_ASCENDING" "0")
+ '("descending" "GTK_SORT_DESCENDING" "1")
+ )
+)
+
+(define-enum-extended IMPreeditStyle
+ (in-module "Gtk")
+ (c-name "GtkIMPreeditStyle")
+ (values
+ '("nothing" "GTK_IM_PREEDIT_NOTHING" "0")
+ '("callback" "GTK_IM_PREEDIT_CALLBACK" "1")
+ '("none" "GTK_IM_PREEDIT_NONE" "2")
+ )
+)
+
+(define-enum-extended IMStatusStyle
+ (in-module "Gtk")
+ (c-name "GtkIMStatusStyle")
+ (values
+ '("nothing" "GTK_IM_STATUS_NOTHING" "0")
+ '("callback" "GTK_IM_STATUS_CALLBACK" "1")
+ '("none" "GTK_IM_STATUS_NONE" "2")
+ )
+)
+
+(define-enum-extended PackDirection
+ (in-module "Gtk")
+ (c-name "GtkPackDirection")
+ (values
+ '("ltr" "GTK_PACK_DIRECTION_LTR" "0")
+ '("rtl" "GTK_PACK_DIRECTION_RTL" "1")
+ '("ttb" "GTK_PACK_DIRECTION_TTB" "2")
+ '("btt" "GTK_PACK_DIRECTION_BTT" "3")
+ )
+)
+
+(define-enum-extended PrintPages
+ (in-module "Gtk")
+ (c-name "GtkPrintPages")
+ (values
+ '("all" "GTK_PRINT_PAGES_ALL" "0")
+ '("current" "GTK_PRINT_PAGES_CURRENT" "1")
+ '("ranges" "GTK_PRINT_PAGES_RANGES" "2")
+ )
+)
+
+(define-enum-extended PageSet
+ (in-module "Gtk")
+ (c-name "GtkPageSet")
+ (values
+ '("all" "GTK_PAGE_SET_ALL" "0")
+ '("even" "GTK_PAGE_SET_EVEN" "1")
+ '("odd" "GTK_PAGE_SET_ODD" "2")
+ )
+)
+
+(define-enum-extended PageOrientation
+ (in-module "Gtk")
+ (c-name "GtkPageOrientation")
+ (values
+ '("portrait" "GTK_PAGE_ORIENTATION_PORTRAIT" "0")
+ '("landscape" "GTK_PAGE_ORIENTATION_LANDSCAPE" "1")
+ '("reverse-portrait" "GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT" "2")
+ '("reverse-landscape" "GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE" "3")
+ )
+)
+
+(define-enum-extended PrintQuality
+ (in-module "Gtk")
+ (c-name "GtkPrintQuality")
+ (values
+ '("low" "GTK_PRINT_QUALITY_LOW" "0")
+ '("normal" "GTK_PRINT_QUALITY_NORMAL" "1")
+ '("high" "GTK_PRINT_QUALITY_HIGH" "2")
+ '("draft" "GTK_PRINT_QUALITY_DRAFT" "3")
+ )
+)
+
+(define-enum-extended PrintDuplex
+ (in-module "Gtk")
+ (c-name "GtkPrintDuplex")
+ (values
+ '("simplex" "GTK_PRINT_DUPLEX_SIMPLEX" "0")
+ '("horizontal" "GTK_PRINT_DUPLEX_HORIZONTAL" "1")
+ '("vertical" "GTK_PRINT_DUPLEX_VERTICAL" "2")
+ )
+)
+
+(define-enum-extended Unit
+ (in-module "Gtk")
+ (c-name "GtkUnit")
+ (values
+ '("pixel" "GTK_UNIT_PIXEL" "0")
+ '("points" "GTK_UNIT_POINTS" "1")
+ '("inch" "GTK_UNIT_INCH" "2")
+ '("mm" "GTK_UNIT_MM" "3")
+ )
+)
+
+(define-enum-extended TreeViewGridLines
+ (in-module "Gtk")
+ (c-name "GtkTreeViewGridLines")
+ (values
+ '("none" "GTK_TREE_VIEW_GRID_LINES_NONE" "0")
+ '("horizontal" "GTK_TREE_VIEW_GRID_LINES_HORIZONTAL" "1")
+ '("vertical" "GTK_TREE_VIEW_GRID_LINES_VERTICAL" "2")
+ '("both" "GTK_TREE_VIEW_GRID_LINES_BOTH" "3")
+ )
+)
+
+(define-enum-extended DragResult
+ (in-module "Gtk")
+ (c-name "GtkDragResult")
+ (values
+ '("success" "GTK_DRAG_RESULT_SUCCESS" "0")
+ '("no-target" "GTK_DRAG_RESULT_NO_TARGET" "1")
+ '("user-cancelled" "GTK_DRAG_RESULT_USER_CANCELLED" "2")
+ '("timeout-expired" "GTK_DRAG_RESULT_TIMEOUT_EXPIRED" "3")
+ '("grab-broken" "GTK_DRAG_RESULT_GRAB_BROKEN" "4")
+ '("error" "GTK_DRAG_RESULT_ERROR" "5")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkfilechooser.h
+
+(define-enum-extended FileChooserAction
+ (in-module "Gtk")
+ (c-name "GtkFileChooserAction")
+ (values
+ '("open" "GTK_FILE_CHOOSER_ACTION_OPEN" "0")
+ '("save" "GTK_FILE_CHOOSER_ACTION_SAVE" "1")
+ '("select-folder" "GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER" "2")
+ '("create-folder" "GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER" "3")
+ )
+)
+
+(define-enum-extended FileChooserConfirmation
+ (in-module "Gtk")
+ (c-name "GtkFileChooserConfirmation")
+ (values
+ '("confirm" "GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM" "0")
+ '("accept-filename" "GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME" "1")
+ '("select-again" "GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN" "2")
+ )
+)
+
+(define-enum-extended FileChooserError
+ (in-module "Gtk")
+ (c-name "GtkFileChooserError")
+ (values
+ '("nonexistent" "GTK_FILE_CHOOSER_ERROR_NONEXISTENT" "0")
+ '("bad-filename" "GTK_FILE_CHOOSER_ERROR_BAD_FILENAME" "1")
+ '("already-exists" "GTK_FILE_CHOOSER_ERROR_ALREADY_EXISTS" "2")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkfilechooserprivate.h
+
+(define-enum-extended State
+ (in-module "Load")
+ (c-name "LoadState")
+ (values
+ '("empty" "LOAD_EMPTY" "0")
+ '("preload" "LOAD_PRELOAD" "1")
+ '("loading" "LOAD_LOADING" "2")
+ '("finished" "LOAD_FINISHED" "3")
+ )
+)
+
+(define-enum-extended State
+ (in-module "Reload")
+ (c-name "ReloadState")
+ (values
+ '("empty" "RELOAD_EMPTY" "0")
+ '("has-folder" "RELOAD_HAS_FOLDER" "1")
+ '("was-unmapped" "RELOAD_WAS_UNMAPPED" "2")
+ )
+)
+
+(define-enum-extended Mode
+ (in-module "Location")
+ (c-name "LocationMode")
+ (values
+ '("path-bar" "LOCATION_MODE_PATH_BAR" "0")
+ '("filename-entry" "LOCATION_MODE_FILENAME_ENTRY" "1")
+ )
+)
+
+(define-enum-extended Mode
+ (in-module "Operation")
+ (c-name "OperationMode")
+ (values
+ '("browse" "OPERATION_MODE_BROWSE" "0")
+ '("search" "OPERATION_MODE_SEARCH" "1")
+ '("recent" "OPERATION_MODE_RECENT" "2")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkfilechooserutils.h
+
+(define-flags-extended FileChooserProp
+ (in-module "Gtk")
+ (c-name "GtkFileChooserProp")
+ (values
+ '("first" "GTK_FILE_CHOOSER_PROP_FIRST" "0x1000")
+ '("action" "GTK_FILE_CHOOSER_PROP_ACTION" "0x1000")
+ '("file-system-backend" "GTK_FILE_CHOOSER_PROP_FILE_SYSTEM_BACKEND" "1")
+ '("filter" "GTK_FILE_CHOOSER_PROP_FILTER" "2")
+ '("local-only" "GTK_FILE_CHOOSER_PROP_LOCAL_ONLY" "3")
+ '("preview-widget" "GTK_FILE_CHOOSER_PROP_PREVIEW_WIDGET" "4")
+ '("preview-widget-active" "GTK_FILE_CHOOSER_PROP_PREVIEW_WIDGET_ACTIVE" "5")
+ '("use-preview-label" "GTK_FILE_CHOOSER_PROP_USE_PREVIEW_LABEL" "6")
+ '("extra-widget" "GTK_FILE_CHOOSER_PROP_EXTRA_WIDGET" "7")
+ '("select-multiple" "GTK_FILE_CHOOSER_PROP_SELECT_MULTIPLE" "8")
+ '("show-hidden" "GTK_FILE_CHOOSER_PROP_SHOW_HIDDEN" "9")
+ '("do-overwrite-confirmation" "GTK_FILE_CHOOSER_PROP_DO_OVERWRITE_CONFIRMATION" "10")
+ '("last" "GTK_FILE_CHOOSER_PROP_LAST" "0xA")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkfilefilter.h
+
+(define-flags-extended FileFilterFlags
+ (in-module "Gtk")
+ (c-name "GtkFileFilterFlags")
+ (values
+ '("filename" "GTK_FILE_FILTER_FILENAME" "1 << 0")
+ '("uri" "GTK_FILE_FILTER_URI" "1 << 1")
+ '("display-name" "GTK_FILE_FILTER_DISPLAY_NAME" "1 << 2")
+ '("mime-type" "GTK_FILE_FILTER_MIME_TYPE" "1 << 3")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkfilesystem.h
+
+(define-flags-extended FileInfoType
+ (in-module "Gtk")
+ (c-name "GtkFileInfoType")
+ (values
+ '("display-name" "GTK_FILE_INFO_DISPLAY_NAME" "1 << 0")
+ '("is-folder" "GTK_FILE_INFO_IS_FOLDER" "1 << 1")
+ '("is-hidden" "GTK_FILE_INFO_IS_HIDDEN" "1 << 2")
+ '("mime-type" "GTK_FILE_INFO_MIME_TYPE" "1 << 3")
+ '("modification-time" "GTK_FILE_INFO_MODIFICATION_TIME" "1 << 4")
+ '("size" "GTK_FILE_INFO_SIZE" "1 << 5")
+ '("icon" "GTK_FILE_INFO_ICON" "1 << 6")
+ )
+)
+
+(define-enum-extended FileSystemError
+ (in-module "Gtk")
+ (c-name "GtkFileSystemError")
+ (values
+ '("nonexistent" "GTK_FILE_SYSTEM_ERROR_NONEXISTENT" "0")
+ '("not-folder" "GTK_FILE_SYSTEM_ERROR_NOT_FOLDER" "1")
+ '("invalid-uri" "GTK_FILE_SYSTEM_ERROR_INVALID_URI" "2")
+ '("bad-filename" "GTK_FILE_SYSTEM_ERROR_BAD_FILENAME" "3")
+ '("failed" "GTK_FILE_SYSTEM_ERROR_FAILED" "4")
+ '("already-exists" "GTK_FILE_SYSTEM_ERROR_ALREADY_EXISTS" "5")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkfilesystemmodel.h
+
+(define-enum-extended FileSystemModelColumns
+ (in-module "Gtk")
+ (c-name "GtkFileSystemModelColumns")
+ (values
+ '("info" "GTK_FILE_SYSTEM_MODEL_INFO" "0")
+ '("display-name" "GTK_FILE_SYSTEM_MODEL_DISPLAY_NAME" "1")
+ '("n-columns" "GTK_FILE_SYSTEM_MODEL_N_COLUMNS" "2")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkicontheme.h
+
+(define-flags-extended IconLookupFlags
+ (in-module "Gtk")
+ (c-name "GtkIconLookupFlags")
+ (values
+ '("no-svg" "GTK_ICON_LOOKUP_NO_SVG" "1 << 0")
+ '("force-svg" "GTK_ICON_LOOKUP_FORCE_SVG" "1 << 1")
+ '("use-builtin" "GTK_ICON_LOOKUP_USE_BUILTIN" "1 << 2")
+ '("generic-fallback" "GTK_ICON_LOOKUP_GENERIC_FALLBACK" "1 << 3")
+ )
+)
+
+(define-enum-extended IconThemeError
+ (in-module "Gtk")
+ (c-name "GtkIconThemeError")
+ (values
+ '("not-found" "GTK_ICON_THEME_NOT_FOUND" "0")
+ '("failed" "GTK_ICON_THEME_FAILED" "1")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkiconview.h
+
+(define-enum-extended IconViewDropPosition
+ (in-module "Gtk")
+ (c-name "GtkIconViewDropPosition")
+ (values
+ '("no-drop" "GTK_ICON_VIEW_NO_DROP" "0")
+ '("drop-into" "GTK_ICON_VIEW_DROP_INTO" "1")
+ '("drop-left" "GTK_ICON_VIEW_DROP_LEFT" "2")
+ '("drop-right" "GTK_ICON_VIEW_DROP_RIGHT" "3")
+ '("drop-above" "GTK_ICON_VIEW_DROP_ABOVE" "4")
+ '("drop-below" "GTK_ICON_VIEW_DROP_BELOW" "5")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkimage.h
+
+(define-enum-extended ImageType
+ (in-module "Gtk")
+ (c-name "GtkImageType")
+ (values
+ '("empty" "GTK_IMAGE_EMPTY" "0")
+ '("pixmap" "GTK_IMAGE_PIXMAP" "1")
+ '("image" "GTK_IMAGE_IMAGE" "2")
+ '("pixbuf" "GTK_IMAGE_PIXBUF" "3")
+ '("stock" "GTK_IMAGE_STOCK" "4")
+ '("icon-set" "GTK_IMAGE_ICON_SET" "5")
+ '("animation" "GTK_IMAGE_ANIMATION" "6")
+ '("icon-name" "GTK_IMAGE_ICON_NAME" "7")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkmessagedialog.h
+
+(define-enum-extended MessageType
+ (in-module "Gtk")
+ (c-name "GtkMessageType")
+ (values
+ '("info" "GTK_MESSAGE_INFO" "0")
+ '("warning" "GTK_MESSAGE_WARNING" "1")
+ '("question" "GTK_MESSAGE_QUESTION" "2")
+ '("error" "GTK_MESSAGE_ERROR" "3")
+ '("other" "GTK_MESSAGE_OTHER" "4")
+ )
+)
+
+(define-enum-extended ButtonsType
+ (in-module "Gtk")
+ (c-name "GtkButtonsType")
+ (values
+ '("none" "GTK_BUTTONS_NONE" "0")
+ '("ok" "GTK_BUTTONS_OK" "1")
+ '("close" "GTK_BUTTONS_CLOSE" "2")
+ '("cancel" "GTK_BUTTONS_CANCEL" "3")
+ '("yes-no" "GTK_BUTTONS_YES_NO" "4")
+ '("ok-cancel" "GTK_BUTTONS_OK_CANCEL" "5")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtknotebook.h
+
+(define-enum-extended NotebookTab
+ (in-module "Gtk")
+ (c-name "GtkNotebookTab")
+ (values
+ '("first" "GTK_NOTEBOOK_TAB_FIRST" "0")
+ '("last" "GTK_NOTEBOOK_TAB_LAST" "1")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkobject.h
+
+(define-flags-extended ObjectFlags
+ (in-module "Gtk")
+ (c-name "GtkObjectFlags")
+ (values
+ '("in-destruction" "GTK_IN_DESTRUCTION" "1 << 0")
+ '("reserved-2" "GTK_RESERVED_2" "1 << 3")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkprintbackend.h
+
+(define-enum-extended PrintBackendError
+ (in-module "Gtk")
+ (c-name "GtkPrintBackendError")
+ (values
+ '("c" "GTK_PRINT_BACKEND_ERROR_GENERIC" "0")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkprinter.h
+
+(define-flags-extended PrintCapabilities
+ (in-module "Gtk")
+ (c-name "GtkPrintCapabilities")
+ (values
+ '("page-set" "GTK_PRINT_CAPABILITY_PAGE_SET" "1 << 0")
+ '("copies" "GTK_PRINT_CAPABILITY_COPIES" "1 << 1")
+ '("collate" "GTK_PRINT_CAPABILITY_COLLATE" "1 << 2")
+ '("reverse" "GTK_PRINT_CAPABILITY_REVERSE" "1 << 3")
+ '("scale" "GTK_PRINT_CAPABILITY_SCALE" "1 << 4")
+ '("generate-pdf" "GTK_PRINT_CAPABILITY_GENERATE_PDF" "1 << 5")
+ '("generate-ps" "GTK_PRINT_CAPABILITY_GENERATE_PS" "1 << 6")
+ '("preview" "GTK_PRINT_CAPABILITY_PREVIEW" "1 << 7")
+ '("number-up" "GTK_PRINT_CAPABILITY_NUMBER_UP" "1 << 8")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkprinteroption.h
+
+(define-enum-extended PrinterOptionType
+ (in-module "Gtk")
+ (c-name "GtkPrinterOptionType")
+ (values
+ '("boolean" "GTK_PRINTER_OPTION_TYPE_BOOLEAN" "0")
+ '("pickone" "GTK_PRINTER_OPTION_TYPE_PICKONE" "1")
+ '("pickone-password" "GTK_PRINTER_OPTION_TYPE_PICKONE_PASSWORD" "2")
+ '("pickone-passcode" "GTK_PRINTER_OPTION_TYPE_PICKONE_PASSCODE" "3")
+ '("pickone-real" "GTK_PRINTER_OPTION_TYPE_PICKONE_REAL" "4")
+ '("pickone-int" "GTK_PRINTER_OPTION_TYPE_PICKONE_INT" "5")
+ '("pickone-string" "GTK_PRINTER_OPTION_TYPE_PICKONE_STRING" "6")
+ '("alternative" "GTK_PRINTER_OPTION_TYPE_ALTERNATIVE" "7")
+ '("string" "GTK_PRINTER_OPTION_TYPE_STRING" "8")
+ '("filesave" "GTK_PRINTER_OPTION_TYPE_FILESAVE" "9")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkprintoperation.h
+
+(define-enum-extended PrintStatus
+ (in-module "Gtk")
+ (c-name "GtkPrintStatus")
+ (values
+ '("initial" "GTK_PRINT_STATUS_INITIAL" "0")
+ '("preparing" "GTK_PRINT_STATUS_PREPARING" "1")
+ '("generating-data" "GTK_PRINT_STATUS_GENERATING_DATA" "2")
+ '("sending-data" "GTK_PRINT_STATUS_SENDING_DATA" "3")
+ '("pending" "GTK_PRINT_STATUS_PENDING" "4")
+ '("pending-issue" "GTK_PRINT_STATUS_PENDING_ISSUE" "5")
+ '("printing" "GTK_PRINT_STATUS_PRINTING" "6")
+ '("finished" "GTK_PRINT_STATUS_FINISHED" "7")
+ '("finished-aborted" "GTK_PRINT_STATUS_FINISHED_ABORTED" "8")
+ )
+)
+
+(define-enum-extended PrintOperationResult
+ (in-module "Gtk")
+ (c-name "GtkPrintOperationResult")
+ (values
+ '("error" "GTK_PRINT_OPERATION_RESULT_ERROR" "0")
+ '("apply" "GTK_PRINT_OPERATION_RESULT_APPLY" "1")
+ '("cancel" "GTK_PRINT_OPERATION_RESULT_CANCEL" "2")
+ '("in-progress" "GTK_PRINT_OPERATION_RESULT_IN_PROGRESS" "3")
+ )
+)
+
+(define-enum-extended PrintOperationAction
+ (in-module "Gtk")
+ (c-name "GtkPrintOperationAction")
+ (values
+ '("print-dialog" "GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG" "0")
+ '("print" "GTK_PRINT_OPERATION_ACTION_PRINT" "1")
+ '("preview" "GTK_PRINT_OPERATION_ACTION_PREVIEW" "2")
+ '("export" "GTK_PRINT_OPERATION_ACTION_EXPORT" "3")
+ )
+)
+
+(define-enum-extended PrintError
+ (in-module "Gtk")
+ (c-name "GtkPrintError")
+ (values
+ '("general" "GTK_PRINT_ERROR_GENERAL" "0")
+ '("internal-error" "GTK_PRINT_ERROR_INTERNAL_ERROR" "1")
+ '("nomem" "GTK_PRINT_ERROR_NOMEM" "2")
+ '("invalid-file" "GTK_PRINT_ERROR_INVALID_FILE" "3")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkprivate.h
+
+(define-flags-extended PrivateFlags
+ (in-module "Gtk")
+ (c-name "GtkPrivateFlags")
+ (values
+ '("user-style" "PRIVATE_GTK_USER_STYLE" "1 << 0")
+ '("resize-pending" "PRIVATE_GTK_RESIZE_PENDING" "1 << 2")
+ '("leave-pending" "PRIVATE_GTK_LEAVE_PENDING" "1 << 4")
+ '("has-shape-mask" "PRIVATE_GTK_HAS_SHAPE_MASK" "1 << 5")
+ '("in-reparent" "PRIVATE_GTK_IN_REPARENT" "1 << 6")
+ '("direction-set" "PRIVATE_GTK_DIRECTION_SET" "1 << 7")
+ '("direction-ltr" "PRIVATE_GTK_DIRECTION_LTR" "1 << 8")
+ '("anchored" "PRIVATE_GTK_ANCHORED" "1 << 9")
+ '("child-visible" "PRIVATE_GTK_CHILD_VISIBLE" "1 << 10")
+ '("redraw-on-alloc" "PRIVATE_GTK_REDRAW_ON_ALLOC" "1 << 11")
+ '("alloc-needed" "PRIVATE_GTK_ALLOC_NEEDED" "1 << 12")
+ '("request-needed" "PRIVATE_GTK_REQUEST_NEEDED" "1 << 13")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkprogressbar.h
+
+(define-enum-extended ProgressBarStyle
+ (in-module "Gtk")
+ (c-name "GtkProgressBarStyle")
+ (values
+ '("continuous" "GTK_PROGRESS_CONTINUOUS" "0")
+ '("discrete" "GTK_PROGRESS_DISCRETE" "1")
+ )
+)
+
+(define-enum-extended ProgressBarOrientation
+ (in-module "Gtk")
+ (c-name "GtkProgressBarOrientation")
+ (values
+ '("left-to-right" "GTK_PROGRESS_LEFT_TO_RIGHT" "0")
+ '("right-to-left" "GTK_PROGRESS_RIGHT_TO_LEFT" "1")
+ '("bottom-to-top" "GTK_PROGRESS_BOTTOM_TO_TOP" "2")
+ '("top-to-bottom" "GTK_PROGRESS_TOP_TO_BOTTOM" "3")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkrbtree.h
+
+(define-flags-extended RBNodeColor
+ (in-module "Gtk")
+ (c-name "GtkRBNodeColor")
+ (values
+ '("black" "GTK_RBNODE_BLACK" "1 << 0")
+ '("red" "GTK_RBNODE_RED" "1 << 1")
+ '("is-parent" "GTK_RBNODE_IS_PARENT" "1 << 2")
+ '("is-selected" "GTK_RBNODE_IS_SELECTED" "1 << 3")
+ '("is-prelit" "GTK_RBNODE_IS_PRELIT" "1 << 4")
+ '("is-semi-collapsed" "GTK_RBNODE_IS_SEMI_COLLAPSED" "1 << 5")
+ '("is-semi-expanded" "GTK_RBNODE_IS_SEMI_EXPANDED" "1 << 6")
+ '("invalid" "GTK_RBNODE_INVALID" "1 << 7")
+ '("column-invalid" "GTK_RBNODE_COLUMN_INVALID" "1 << 8")
+ '("descendants-invalid" "GTK_RBNODE_DESCENDANTS_INVALID" "1 << 9")
+ '("non-colors" "GTK_RBNODE_NON_COLORS" "0x4")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkrc.h
+
+(define-flags-extended RcFlags
+ (in-module "Gtk")
+ (c-name "GtkRcFlags")
+ (values
+ '("fg" "GTK_RC_FG" "1 << 0")
+ '("bg" "GTK_RC_BG" "1 << 1")
+ '("text" "GTK_RC_TEXT" "1 << 2")
+ '("base" "GTK_RC_BASE" "1 << 3")
+ )
+)
+
+(define-enum-extended RcTokenType
+ (in-module "Gtk")
+ (c-name "GtkRcTokenType")
+ (values
+ '("invalid" "GTK_RC_TOKEN_INVALID" "#error")
+ '("include" "GTK_RC_TOKEN_INCLUDE" "1")
+ '("normal" "GTK_RC_TOKEN_NORMAL" "2")
+ '("active" "GTK_RC_TOKEN_ACTIVE" "3")
+ '("prelight" "GTK_RC_TOKEN_PRELIGHT" "4")
+ '("selected" "GTK_RC_TOKEN_SELECTED" "5")
+ '("insensitive" "GTK_RC_TOKEN_INSENSITIVE" "6")
+ '("fg" "GTK_RC_TOKEN_FG" "7")
+ '("bg" "GTK_RC_TOKEN_BG" "8")
+ '("text" "GTK_RC_TOKEN_TEXT" "9")
+ '("base" "GTK_RC_TOKEN_BASE" "10")
+ '("xthickness" "GTK_RC_TOKEN_XTHICKNESS" "11")
+ '("ythickness" "GTK_RC_TOKEN_YTHICKNESS" "12")
+ '("font" "GTK_RC_TOKEN_FONT" "13")
+ '("fontset" "GTK_RC_TOKEN_FONTSET" "14")
+ '("font-name" "GTK_RC_TOKEN_FONT_NAME" "15")
+ '("bg-pixmap" "GTK_RC_TOKEN_BG_PIXMAP" "16")
+ '("pixmap-path" "GTK_RC_TOKEN_PIXMAP_PATH" "17")
+ '("style" "GTK_RC_TOKEN_STYLE" "18")
+ '("binding" "GTK_RC_TOKEN_BINDING" "19")
+ '("bind" "GTK_RC_TOKEN_BIND" "20")
+ '("widget" "GTK_RC_TOKEN_WIDGET" "21")
+ '("widget-class" "GTK_RC_TOKEN_WIDGET_CLASS" "22")
+ '("class" "GTK_RC_TOKEN_CLASS" "23")
+ '("lowest" "GTK_RC_TOKEN_LOWEST" "24")
+ '("gtk" "GTK_RC_TOKEN_GTK" "25")
+ '("application" "GTK_RC_TOKEN_APPLICATION" "26")
+ '("theme" "GTK_RC_TOKEN_THEME" "27")
+ '("rc" "GTK_RC_TOKEN_RC" "28")
+ '("highest" "GTK_RC_TOKEN_HIGHEST" "29")
+ '("engine" "GTK_RC_TOKEN_ENGINE" "30")
+ '("module-path" "GTK_RC_TOKEN_MODULE_PATH" "31")
+ '("im-module-path" "GTK_RC_TOKEN_IM_MODULE_PATH" "32")
+ '("im-module-file" "GTK_RC_TOKEN_IM_MODULE_FILE" "33")
+ '("stock" "GTK_RC_TOKEN_STOCK" "34")
+ '("ltr" "GTK_RC_TOKEN_LTR" "35")
+ '("rtl" "GTK_RC_TOKEN_RTL" "36")
+ '("color" "GTK_RC_TOKEN_COLOR" "37")
+ '("unbind" "GTK_RC_TOKEN_UNBIND" "38")
+ '("last" "GTK_RC_TOKEN_LAST" "39")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkrecentchooser.h
+
+(define-enum-extended RecentSortType
+ (in-module "Gtk")
+ (c-name "GtkRecentSortType")
+ (values
+ '("none" "GTK_RECENT_SORT_NONE" "0")
+ '("mru" "GTK_RECENT_SORT_MRU" "1")
+ '("lru" "GTK_RECENT_SORT_LRU" "2")
+ '("custom" "GTK_RECENT_SORT_CUSTOM" "3")
+ )
+)
+
+(define-enum-extended RecentChooserError
+ (in-module "Gtk")
+ (c-name "GtkRecentChooserError")
+ (values
+ '("not-found" "GTK_RECENT_CHOOSER_ERROR_NOT_FOUND" "0")
+ '("invalid-uri" "GTK_RECENT_CHOOSER_ERROR_INVALID_URI" "1")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkrecentchooserutils.h
+
+(define-flags-extended RecentChooserProp
+ (in-module "Gtk")
+ (c-name "GtkRecentChooserProp")
+ (values
+ '("first" "GTK_RECENT_CHOOSER_PROP_FIRST" "0x3000")
+ '("recent-manager" "GTK_RECENT_CHOOSER_PROP_RECENT_MANAGER" "12289")
+ '("show-private" "GTK_RECENT_CHOOSER_PROP_SHOW_PRIVATE" "12290")
+ '("show-not-found" "GTK_RECENT_CHOOSER_PROP_SHOW_NOT_FOUND" "12291")
+ '("show-tips" "GTK_RECENT_CHOOSER_PROP_SHOW_TIPS" "12292")
+ '("show-icons" "GTK_RECENT_CHOOSER_PROP_SHOW_ICONS" "12293")
+ '("select-multiple" "GTK_RECENT_CHOOSER_PROP_SELECT_MULTIPLE" "12294")
+ '("limit" "GTK_RECENT_CHOOSER_PROP_LIMIT" "12295")
+ '("local-only" "GTK_RECENT_CHOOSER_PROP_LOCAL_ONLY" "12296")
+ '("sort-type" "GTK_RECENT_CHOOSER_PROP_SORT_TYPE" "12297")
+ '("filter" "GTK_RECENT_CHOOSER_PROP_FILTER" "12298")
+ '("last" "GTK_RECENT_CHOOSER_PROP_LAST" "12299")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkrecentfilter.h
+
+(define-flags-extended RecentFilterFlags
+ (in-module "Gtk")
+ (c-name "GtkRecentFilterFlags")
+ (values
+ '("uri" "GTK_RECENT_FILTER_URI" "1 << 0")
+ '("display-name" "GTK_RECENT_FILTER_DISPLAY_NAME" "1 << 1")
+ '("mime-type" "GTK_RECENT_FILTER_MIME_TYPE" "1 << 2")
+ '("application" "GTK_RECENT_FILTER_APPLICATION" "1 << 3")
+ '("group" "GTK_RECENT_FILTER_GROUP" "1 << 4")
+ '("age" "GTK_RECENT_FILTER_AGE" "1 << 5")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkrecentmanager.h
+
+(define-enum-extended RecentManagerError
+ (in-module "Gtk")
+ (c-name "GtkRecentManagerError")
+ (values
+ '("not-found" "GTK_RECENT_MANAGER_ERROR_NOT_FOUND" "0")
+ '("invalid-uri" "GTK_RECENT_MANAGER_ERROR_INVALID_URI" "1")
+ '("invalid-encoding" "GTK_RECENT_MANAGER_ERROR_INVALID_ENCODING" "2")
+ '("not-registered" "GTK_RECENT_MANAGER_ERROR_NOT_REGISTERED" "3")
+ '("read" "GTK_RECENT_MANAGER_ERROR_READ" "4")
+ '("write" "GTK_RECENT_MANAGER_ERROR_WRITE" "5")
+ '("unknown" "GTK_RECENT_MANAGER_ERROR_UNKNOWN" "6")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtksizegroup.h
+
+(define-enum-extended SizeGroupMode
+ (in-module "Gtk")
+ (c-name "GtkSizeGroupMode")
+ (values
+ '("none" "GTK_SIZE_GROUP_NONE" "0")
+ '("horizontal" "GTK_SIZE_GROUP_HORIZONTAL" "1")
+ '("vertical" "GTK_SIZE_GROUP_VERTICAL" "2")
+ '("both" "GTK_SIZE_GROUP_BOTH" "3")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkspinbutton.h
+
+(define-enum-extended SpinButtonUpdatePolicy
+ (in-module "Gtk")
+ (c-name "GtkSpinButtonUpdatePolicy")
+ (values
+ '("always" "GTK_UPDATE_ALWAYS" "0")
+ '("if-valid" "GTK_UPDATE_IF_VALID" "1")
+ )
+)
+
+(define-enum-extended SpinType
+ (in-module "Gtk")
+ (c-name "GtkSpinType")
+ (values
+ '("step-forward" "GTK_SPIN_STEP_FORWARD" "0")
+ '("step-backward" "GTK_SPIN_STEP_BACKWARD" "1")
+ '("page-forward" "GTK_SPIN_PAGE_FORWARD" "2")
+ '("page-backward" "GTK_SPIN_PAGE_BACKWARD" "3")
+ '("home" "GTK_SPIN_HOME" "4")
+ '("end" "GTK_SPIN_END" "5")
+ '("user-defined" "GTK_SPIN_USER_DEFINED" "6")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtktextbuffer.h
+
+(define-enum-extended TextBufferTargetInfo
+ (in-module "Gtk")
+ (c-name "GtkTextBufferTargetInfo")
+ (values
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtktextiter.h
+
+(define-flags-extended TextSearchFlags
+ (in-module "Gtk")
+ (c-name "GtkTextSearchFlags")
+ (values
+ '("visible-only" "GTK_TEXT_SEARCH_VISIBLE_ONLY" "1 << 0")
+ '("text-only" "GTK_TEXT_SEARCH_TEXT_ONLY" "1 << 1")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtktextview.h
+
+(define-enum-extended TextWindowType
+ (in-module "Gtk")
+ (c-name "GtkTextWindowType")
+ (values
+ '("private" "GTK_TEXT_WINDOW_PRIVATE" "0")
+ '("widget" "GTK_TEXT_WINDOW_WIDGET" "1")
+ '("text" "GTK_TEXT_WINDOW_TEXT" "2")
+ '("left" "GTK_TEXT_WINDOW_LEFT" "3")
+ '("right" "GTK_TEXT_WINDOW_RIGHT" "4")
+ '("top" "GTK_TEXT_WINDOW_TOP" "5")
+ '("bottom" "GTK_TEXT_WINDOW_BOTTOM" "6")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtktoolbar.h
+
+(define-enum-extended ToolbarSpaceStyle
+ (in-module "Gtk")
+ (c-name "GtkToolbarSpaceStyle")
+ (values
+ '("empty" "GTK_TOOLBAR_SPACE_EMPTY" "0")
+ '("line" "GTK_TOOLBAR_SPACE_LINE" "1")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtktree.h
+
+(define-enum-extended TreeViewMode
+ (in-module "Gtk")
+ (c-name "GtkTreeViewMode")
+ (values
+ '("line" "GTK_TREE_VIEW_LINE" "0")
+ '("item" "GTK_TREE_VIEW_ITEM" "1")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtktreemodel.h
+
+(define-flags-extended TreeModelFlags
+ (in-module "Gtk")
+ (c-name "GtkTreeModelFlags")
+ (values
+ '("iters-persist" "GTK_TREE_MODEL_ITERS_PERSIST" "1 << 0")
+ '("list-only" "GTK_TREE_MODEL_LIST_ONLY" "1 << 1")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtktreeprivate.h
+
+(define-flags-extended TreeViewFlags
+ (in-module "Gtk")
+ (c-name "GtkTreeViewFlags")
+ (values
+ '("is-list" "GTK_TREE_VIEW_IS_LIST" "1 << 0")
+ '("show-expanders" "GTK_TREE_VIEW_SHOW_EXPANDERS" "1 << 1")
+ '("in-column-resize" "GTK_TREE_VIEW_IN_COLUMN_RESIZE" "1 << 2")
+ '("arrow-prelit" "GTK_TREE_VIEW_ARROW_PRELIT" "1 << 3")
+ '("headers-visible" "GTK_TREE_VIEW_HEADERS_VISIBLE" "1 << 4")
+ '("draw-keyfocus" "GTK_TREE_VIEW_DRAW_KEYFOCUS" "1 << 5")
+ '("model-setup" "GTK_TREE_VIEW_MODEL_SETUP" "1 << 6")
+ '("in-column-drag" "GTK_TREE_VIEW_IN_COLUMN_DRAG" "1 << 7")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtktreeviewcolumn.h
+
+(define-enum-extended TreeViewColumnSizing
+ (in-module "Gtk")
+ (c-name "GtkTreeViewColumnSizing")
+ (values
+ '("grow-only" "GTK_TREE_VIEW_COLUMN_GROW_ONLY" "0")
+ '("autosize" "GTK_TREE_VIEW_COLUMN_AUTOSIZE" "1")
+ '("fixed" "GTK_TREE_VIEW_COLUMN_FIXED" "2")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtktreeview.h
+
+(define-enum-extended TreeViewDropPosition
+ (in-module "Gtk")
+ (c-name "GtkTreeViewDropPosition")
+ (values
+ '("before" "GTK_TREE_VIEW_DROP_BEFORE" "0")
+ '("after" "GTK_TREE_VIEW_DROP_AFTER" "1")
+ '("into-or-before" "GTK_TREE_VIEW_DROP_INTO_OR_BEFORE" "2")
+ '("into-or-after" "GTK_TREE_VIEW_DROP_INTO_OR_AFTER" "3")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkuimanager.h
+
+(define-flags-extended UIManagerItemType
+ (in-module "Gtk")
+ (c-name "GtkUIManagerItemType")
+ (values
+ '("auto" "GTK_UI_MANAGER_AUTO" "0")
+ '("menubar" "GTK_UI_MANAGER_MENUBAR" "1 << 0")
+ '("menu" "GTK_UI_MANAGER_MENU" "1 << 1")
+ '("toolbar" "GTK_UI_MANAGER_TOOLBAR" "1 << 2")
+ '("placeholder" "GTK_UI_MANAGER_PLACEHOLDER" "1 << 3")
+ '("popup" "GTK_UI_MANAGER_POPUP" "1 << 4")
+ '("menuitem" "GTK_UI_MANAGER_MENUITEM" "1 << 5")
+ '("toolitem" "GTK_UI_MANAGER_TOOLITEM" "1 << 6")
+ '("separator" "GTK_UI_MANAGER_SEPARATOR" "1 << 7")
+ '("accelerator" "GTK_UI_MANAGER_ACCELERATOR" "1 << 8")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkwidget.h
+
+(define-flags-extended WidgetFlags
+ (in-module "Gtk")
+ (c-name "GtkWidgetFlags")
+ (values
+ '("toplevel" "GTK_TOPLEVEL" "1 << 4")
+ '("no-window" "GTK_NO_WINDOW" "1 << 5")
+ '("realized" "GTK_REALIZED" "1 << 6")
+ '("mapped" "GTK_MAPPED" "1 << 7")
+ '("visible" "GTK_VISIBLE" "1 << 8")
+ '("sensitive" "GTK_SENSITIVE" "1 << 9")
+ '("parent-sensitive" "GTK_PARENT_SENSITIVE" "1 << 10")
+ '("can-focus" "GTK_CAN_FOCUS" "1 << 11")
+ '("has-focus" "GTK_HAS_FOCUS" "1 << 12")
+ '("can-default" "GTK_CAN_DEFAULT" "1 << 13")
+ '("has-default" "GTK_HAS_DEFAULT" "1 << 14")
+ '("has-grab" "GTK_HAS_GRAB" "1 << 15")
+ '("rc-style" "GTK_RC_STYLE" "1 << 16")
+ '("composite-child" "GTK_COMPOSITE_CHILD" "1 << 17")
+ '("no-reparent" "GTK_NO_REPARENT" "1 << 18")
+ '("app-paintable" "GTK_APP_PAINTABLE" "1 << 19")
+ '("receives-default" "GTK_RECEIVES_DEFAULT" "1 << 20")
+ '("double-buffered" "GTK_DOUBLE_BUFFERED" "1 << 21")
+ '("no-show-all" "GTK_NO_SHOW_ALL" "1 << 22")
+ )
+)
+
+(define-enum-extended WidgetHelpType
+ (in-module "Gtk")
+ (c-name "GtkWidgetHelpType")
+ (values
+ '("tooltip" "GTK_WIDGET_HELP_TOOLTIP" "0")
+ '("whats-this" "GTK_WIDGET_HELP_WHATS_THIS" "1")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/gtk+/gtk/gtkwin32embed.h
+
+(define-enum-extended Win32EmbedMessageType
+ (in-module "Gtk")
+ (c-name "GtkWin32EmbedMessageType")
+ (values
+ '("window-activate" "GTK_WIN32_EMBED_WINDOW_ACTIVATE" "0")
+ '("window-deactivate" "GTK_WIN32_EMBED_WINDOW_DEACTIVATE" "1")
+ '("focus-in" "GTK_WIN32_EMBED_FOCUS_IN" "2")
+ '("focus-out" "GTK_WIN32_EMBED_FOCUS_OUT" "3")
+ '("modality-on" "GTK_WIN32_EMBED_MODALITY_ON" "4")
+ '("modality-off" "GTK_WIN32_EMBED_MODALITY_OFF" "5")
+ '("parent-notify" "GTK_WIN32_EMBED_PARENT_NOTIFY" "6")
+ '("event-plug-mapped" "GTK_WIN32_EMBED_EVENT_PLUG_MAPPED" "7")
+ '("plug-resized" "GTK_WIN32_EMBED_PLUG_RESIZED" "8")
+ '("request-focus" "GTK_WIN32_EMBED_REQUEST_FOCUS" "9")
+ '("focus-next" "GTK_WIN32_EMBED_FOCUS_NEXT" "10")
+ '("focus-prev" "GTK_WIN32_EMBED_FOCUS_PREV" "11")
+ '("grab-key" "GTK_WIN32_EMBED_GRAB_KEY" "12")
+ '("ungrab-key" "GTK_WIN32_EMBED_UNGRAB_KEY" "13")
+ '("last" "GTK_WIN32_EMBED_LAST" "14")
+ )
+)
+
diff --git a/libs/gtkmm2/gtk/src/gtk_methods.defs b/libs/gtkmm2/gtk/src/gtk_methods.defs
new file mode 100644
index 0000000000..ecdace5643
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/gtk_methods.defs
@@ -0,0 +1,32810 @@
+;; -*- scheme -*-
+; object definitions ...
+(define-object AccelGroup
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkAccelGroup")
+ (gtype-id "GTK_TYPE_ACCEL_GROUP")
+)
+
+(define-object Accessible
+ (in-module "Gtk")
+ (parent "AtkObject")
+ (c-name "GtkAccessible")
+ (gtype-id "GTK_TYPE_ACCESSIBLE")
+)
+
+(define-object Action
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkAction")
+ (gtype-id "GTK_TYPE_ACTION")
+)
+
+(define-object ActionGroup
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkActionGroup")
+ (gtype-id "GTK_TYPE_ACTION_GROUP")
+)
+
+(define-object Buildable
+ (in-module "Gtk")
+ (c-name "GtkBuildable")
+ (gtype-id "GTK_TYPE_BUILDABLE")
+)
+
+(define-object Builder
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkBuilder")
+ (gtype-id "GTK_TYPE_BUILDER")
+)
+
+(define-object CellEditable
+ (in-module "Gtk")
+ (c-name "GtkCellEditable")
+ (gtype-id "GTK_TYPE_CELL_EDITABLE")
+)
+
+(define-object CellLayout
+ (in-module "Gtk")
+ (c-name "GtkCellLayout")
+ (gtype-id "GTK_TYPE_CELL_LAYOUT")
+)
+
+(define-object Editable
+ (in-module "Gtk")
+ (c-name "GtkEditable")
+ (gtype-id "GTK_TYPE_EDITABLE")
+)
+
+(define-object EntryCompletion
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkEntryCompletion")
+ (gtype-id "GTK_TYPE_ENTRY_COMPLETION")
+)
+
+(define-object FileChooser
+ (in-module "Gtk")
+ (c-name "GtkFileChooser")
+ (gtype-id "GTK_TYPE_FILE_CHOOSER")
+)
+
+(define-object FileChooserEmbed
+ (in-module "Gtk")
+ (c-name "GtkFileChooserEmbed")
+ (gtype-id "GTK_TYPE_FILE_CHOOSER_EMBED")
+)
+
+(define-object FileChooserSettings
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkFileChooserSettings")
+ (gtype-id "GTK_TYPE_FILE_CHOOSER_SETTINGS")
+)
+
+(define-object FileFolder
+ (in-module "Gtk")
+ (c-name "GtkFileFolder")
+ (gtype-id "GTK_TYPE_FILE_FOLDER")
+)
+
+(define-object FileSystem
+ (in-module "Gtk")
+ (c-name "GtkFileSystem")
+ (gtype-id "GTK_TYPE_FILE_SYSTEM")
+)
+
+(define-object FileSystemHandle
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkFileSystemHandle")
+ (gtype-id "GTK_TYPE_FILE_SYSTEM_HANDLE")
+)
+
+(define-object IMContextSimple
+ (in-module "Gtk")
+ (parent "GtkIMContext")
+ (c-name "GtkIMContextSimple")
+ (gtype-id "GTK_TYPE_IM_CONTEXT_SIMPLE")
+)
+
+(define-object IMMulticontext
+ (in-module "Gtk")
+ (parent "GtkIMContext")
+ (c-name "GtkIMMulticontext")
+ (gtype-id "GTK_TYPE_IM_MULTICONTEXT")
+)
+
+(define-object IconFactory
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkIconFactory")
+ (gtype-id "GTK_TYPE_ICON_FACTORY")
+)
+
+(define-object IconTheme
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkIconTheme")
+ (gtype-id "GTK_TYPE_ICON_THEME")
+)
+
+(define-object ListStore
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkListStore")
+ (gtype-id "GTK_TYPE_LIST_STORE")
+)
+
+(define-object Object
+ (in-module "Gtk")
+ (parent "GInitiallyUnowned")
+ (c-name "GtkObject")
+ (gtype-id "GTK_TYPE_OBJECT")
+)
+
+(define-object ItemFactory
+ (in-module "Gtk")
+ (parent "GtkObject")
+ (c-name "GtkItemFactory")
+ (gtype-id "GTK_TYPE_ITEM_FACTORY")
+)
+
+(define-object CellRenderer
+ (in-module "Gtk")
+ (parent "GtkObject")
+ (c-name "GtkCellRenderer")
+ (gtype-id "GTK_TYPE_CELL_RENDERER")
+)
+
+(define-object CellRendererToggle
+ (in-module "Gtk")
+ (parent "GtkCellRenderer")
+ (c-name "GtkCellRendererToggle")
+ (gtype-id "GTK_TYPE_CELL_RENDERER_TOGGLE")
+)
+
+(define-object CellRendererText
+ (in-module "Gtk")
+ (parent "GtkCellRenderer")
+ (c-name "GtkCellRendererText")
+ (gtype-id "GTK_TYPE_CELL_RENDERER_TEXT")
+)
+
+(define-object CellRendererAccel
+ (in-module "Gtk")
+ (parent "GtkCellRendererText")
+ (c-name "GtkCellRendererAccel")
+ (gtype-id "GTK_TYPE_CELL_RENDERER_ACCEL")
+)
+
+(define-object CellRendererCombo
+ (in-module "Gtk")
+ (parent "GtkCellRendererText")
+ (c-name "GtkCellRendererCombo")
+ (gtype-id "GTK_TYPE_CELL_RENDERER_COMBO")
+)
+
+(define-object CellRendererSpin
+ (in-module "Gtk")
+ (parent "GtkCellRendererText")
+ (c-name "GtkCellRendererSpin")
+ (gtype-id "GTK_TYPE_CELL_RENDERER_SPIN")
+)
+
+(define-object CellRendererProgress
+ (in-module "Gtk")
+ (parent "GtkCellRenderer")
+ (c-name "GtkCellRendererProgress")
+ (gtype-id "GTK_TYPE_CELL_RENDERER_PROGRESS")
+)
+
+(define-object CellRendererPixbuf
+ (in-module "Gtk")
+ (parent "GtkCellRenderer")
+ (c-name "GtkCellRendererPixbuf")
+ (gtype-id "GTK_TYPE_CELL_RENDERER_PIXBUF")
+)
+
+(define-object Adjustment
+ (in-module "Gtk")
+ (parent "GtkObject")
+ (c-name "GtkAdjustment")
+ (gtype-id "GTK_TYPE_ADJUSTMENT")
+)
+
+(define-object PrintBackend
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkPrintBackend")
+ (gtype-id "GTK_TYPE_PRINT_BACKEND")
+)
+
+(define-object PrintJob
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkPrintJob")
+ (gtype-id "GTK_TYPE_PRINT_JOB")
+)
+
+(define-object PrintOperation
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkPrintOperation")
+ (gtype-id "GTK_TYPE_PRINT_OPERATION")
+)
+
+(define-object PrintOperationPreview
+ (in-module "Gtk")
+ (c-name "GtkPrintOperationPreview")
+ (gtype-id "GTK_TYPE_PRINT_OPERATION_PREVIEW")
+)
+
+(define-object Printer
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkPrinter")
+ (gtype-id "GTK_TYPE_PRINTER")
+)
+
+(define-object PrinterOption
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkPrinterOption")
+ (gtype-id "GTK_TYPE_PRINTER_OPTION")
+)
+
+(define-object PrinterOptionSet
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkPrinterOptionSet")
+ (gtype-id "GTK_TYPE_PRINTER_OPTION_SET")
+)
+
+(define-object Query
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkQuery")
+ (gtype-id "GTK_TYPE_QUERY")
+)
+
+(define-object RcStyle
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkRcStyle")
+ (gtype-id "GTK_TYPE_RC_STYLE")
+)
+
+(define-object RecentAction
+ (in-module "Gtk")
+ (parent "GtkAction")
+ (c-name "GtkRecentAction")
+ (gtype-id "GTK_TYPE_RECENT_ACTION")
+)
+
+(define-object RecentChooser
+ (in-module "Gtk")
+ (c-name "GtkRecentChooser")
+ (gtype-id "GTK_TYPE_RECENT_CHOOSER")
+)
+
+(define-object RecentManager
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkRecentManager")
+ (gtype-id "GTK_TYPE_RECENT_MANAGER")
+)
+
+(define-object SearchEngine
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkSearchEngine")
+ (gtype-id "GTK_TYPE_SEARCH_ENGINE")
+)
+
+(define-object SearchEngineBeagle
+ (in-module "Gtk")
+ (parent "GtkSearchEngine")
+ (c-name "GtkSearchEngineBeagle")
+ (gtype-id "GTK_TYPE_SEARCH_ENGINE_BEAGLE")
+)
+
+(define-object SearchEngineQuartz
+ (in-module "Gtk")
+ (parent "GtkSearchEngine")
+ (c-name "GtkSearchEngineQuartz")
+ (gtype-id "GTK_TYPE_SEARCH_ENGINE_QUARTZ")
+)
+
+(define-object SearchEngineSimple
+ (in-module "Gtk")
+ (parent "GtkSearchEngine")
+ (c-name "GtkSearchEngineSimple")
+ (gtype-id "GTK_TYPE_SEARCH_ENGINE_SIMPLE")
+)
+
+(define-object SearchEngineTracker
+ (in-module "Gtk")
+ (parent "GtkSearchEngine")
+ (c-name "GtkSearchEngineTracker")
+ (gtype-id "GTK_TYPE_SEARCH_ENGINE_TRACKER")
+)
+
+(define-object Settings
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkSettings")
+ (gtype-id "GTK_TYPE_SETTINGS")
+)
+
+(define-object SizeGroup
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkSizeGroup")
+ (gtype-id "GTK_TYPE_SIZE_GROUP")
+)
+
+(define-object StatusIcon
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkStatusIcon")
+ (gtype-id "GTK_TYPE_STATUS_ICON")
+)
+
+(define-object Style
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkStyle")
+ (gtype-id "GTK_TYPE_STYLE")
+)
+
+(define-object TextBuffer
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkTextBuffer")
+ (gtype-id "GTK_TYPE_TEXT_BUFFER")
+)
+
+(define-object TextChildAnchor
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkTextChildAnchor")
+ (gtype-id "GTK_TYPE_TEXT_CHILD_ANCHOR")
+)
+
+(define-object TextLayout
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkTextLayout")
+ (gtype-id "GTK_TYPE_TEXT_LAYOUT")
+)
+
+(define-object TextMark
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkTextMark")
+ (gtype-id "GTK_TYPE_TEXT_MARK")
+)
+
+(define-object TextTag
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkTextTag")
+ (gtype-id "GTK_TYPE_TEXT_TAG")
+)
+
+(define-object TextTagTable
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkTextTagTable")
+ (gtype-id "GTK_TYPE_TEXT_TAG_TABLE")
+)
+
+(define-object ToggleAction
+ (in-module "Gtk")
+ (parent "GtkAction")
+ (c-name "GtkToggleAction")
+ (gtype-id "GTK_TYPE_TOGGLE_ACTION")
+)
+
+(define-object RadioAction
+ (in-module "Gtk")
+ (parent "GtkToggleAction")
+ (c-name "GtkRadioAction")
+ (gtype-id "GTK_TYPE_RADIO_ACTION")
+)
+
+(define-object Tooltips
+ (in-module "Gtk")
+ (parent "GtkObject")
+ (c-name "GtkTooltips")
+ (gtype-id "GTK_TYPE_TOOLTIPS")
+)
+
+(define-object TreeDragDest
+ (in-module "Gtk")
+ (c-name "GtkTreeDragDest")
+ (gtype-id "GTK_TYPE_TREE_DRAG_DEST")
+)
+
+(define-object TreeDragSource
+ (in-module "Gtk")
+ (c-name "GtkTreeDragSource")
+ (gtype-id "GTK_TYPE_TREE_DRAG_SOURCE")
+)
+
+(define-object TreeModel
+ (in-module "Gtk")
+ (c-name "GtkTreeModel")
+ (gtype-id "GTK_TYPE_TREE_MODEL")
+)
+
+(define-object TreeModelFilter
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkTreeModelFilter")
+ (gtype-id "GTK_TYPE_TREE_MODEL_FILTER")
+)
+
+(define-object TreeModelSort
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkTreeModelSort")
+ (gtype-id "GTK_TYPE_TREE_MODEL_SORT")
+)
+
+(define-object TreeSelection
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkTreeSelection")
+ (gtype-id "GTK_TYPE_TREE_SELECTION")
+)
+
+(define-object TreeSortable
+ (in-module "Gtk")
+ (c-name "GtkTreeSortable")
+ (gtype-id "GTK_TYPE_TREE_SORTABLE")
+)
+
+(define-object TreeStore
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkTreeStore")
+ (gtype-id "GTK_TYPE_TREE_STORE")
+)
+
+(define-object TreeViewColumn
+ (in-module "Gtk")
+ (parent "GtkObject")
+ (c-name "GtkTreeViewColumn")
+ (gtype-id "GTK_TYPE_TREE_VIEW_COLUMN")
+)
+
+(define-object UIManager
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkUIManager")
+ (gtype-id "GTK_TYPE_UI_MANAGER")
+)
+
+(define-object Widget
+ (in-module "Gtk")
+ (parent "GtkObject")
+ (c-name "GtkWidget")
+ (gtype-id "GTK_TYPE_WIDGET")
+)
+
+(define-object Separator
+ (in-module "Gtk")
+ (parent "GtkWidget")
+ (c-name "GtkSeparator")
+ (gtype-id "GTK_TYPE_SEPARATOR")
+)
+
+(define-object VSeparator
+ (in-module "Gtk")
+ (parent "GtkSeparator")
+ (c-name "GtkVSeparator")
+ (gtype-id "GTK_TYPE_VSEPARATOR")
+)
+
+(define-object HSeparator
+ (in-module "Gtk")
+ (parent "GtkSeparator")
+ (c-name "GtkHSeparator")
+ (gtype-id "GTK_TYPE_HSEPARATOR")
+)
+
+(define-object Ruler
+ (in-module "Gtk")
+ (parent "GtkWidget")
+ (c-name "GtkRuler")
+ (gtype-id "GTK_TYPE_RULER")
+)
+
+(define-object VRuler
+ (in-module "Gtk")
+ (parent "GtkRuler")
+ (c-name "GtkVRuler")
+ (gtype-id "GTK_TYPE_VRULER")
+)
+
+(define-object HRuler
+ (in-module "Gtk")
+ (parent "GtkRuler")
+ (c-name "GtkHRuler")
+ (gtype-id "GTK_TYPE_HRULER")
+)
+
+(define-object Range
+ (in-module "Gtk")
+ (parent "GtkWidget")
+ (c-name "GtkRange")
+ (gtype-id "GTK_TYPE_RANGE")
+)
+
+(define-object Scrollbar
+ (in-module "Gtk")
+ (parent "GtkRange")
+ (c-name "GtkScrollbar")
+ (gtype-id "GTK_TYPE_SCROLLBAR")
+)
+
+(define-object VScrollbar
+ (in-module "Gtk")
+ (parent "GtkScrollbar")
+ (c-name "GtkVScrollbar")
+ (gtype-id "GTK_TYPE_VSCROLLBAR")
+)
+
+(define-object HScrollbar
+ (in-module "Gtk")
+ (parent "GtkScrollbar")
+ (c-name "GtkHScrollbar")
+ (gtype-id "GTK_TYPE_HSCROLLBAR")
+)
+
+(define-object Scale
+ (in-module "Gtk")
+ (parent "GtkRange")
+ (c-name "GtkScale")
+ (gtype-id "GTK_TYPE_SCALE")
+)
+
+(define-object VScale
+ (in-module "Gtk")
+ (parent "GtkScale")
+ (c-name "GtkVScale")
+ (gtype-id "GTK_TYPE_VSCALE")
+)
+
+(define-object HScale
+ (in-module "Gtk")
+ (parent "GtkScale")
+ (c-name "GtkHScale")
+ (gtype-id "GTK_TYPE_HSCALE")
+)
+
+(define-object Progress
+ (in-module "Gtk")
+ (parent "GtkWidget")
+ (c-name "GtkProgress")
+ (gtype-id "GTK_TYPE_PROGRESS")
+)
+
+(define-object ProgressBar
+ (in-module "Gtk")
+ (parent "GtkProgress")
+ (c-name "GtkProgressBar")
+ (gtype-id "GTK_TYPE_PROGRESS_BAR")
+)
+
+(define-object Preview
+ (in-module "Gtk")
+ (parent "GtkWidget")
+ (c-name "GtkPreview")
+ (gtype-id "GTK_TYPE_PREVIEW")
+)
+
+(define-object OldEditable
+ (in-module "Gtk")
+ (parent "GtkWidget")
+ (c-name "GtkOldEditable")
+ (gtype-id "GTK_TYPE_OLD_EDITABLE")
+)
+
+(define-object Text
+ (in-module "Gtk")
+ (parent "GtkOldEditable")
+ (c-name "GtkText")
+ (gtype-id "GTK_TYPE_TEXT")
+)
+
+(define-object Misc
+ (in-module "Gtk")
+ (parent "GtkWidget")
+ (c-name "GtkMisc")
+ (gtype-id "GTK_TYPE_MISC")
+)
+
+(define-object Pixmap
+ (in-module "Gtk")
+ (parent "GtkMisc")
+ (c-name "GtkPixmap")
+ (gtype-id "GTK_TYPE_PIXMAP")
+)
+
+(define-object Arrow
+ (in-module "Gtk")
+ (parent "GtkMisc")
+ (c-name "GtkArrow")
+ (gtype-id "GTK_TYPE_ARROW")
+)
+
+(define-object Image
+ (in-module "Gtk")
+ (parent "GtkMisc")
+ (c-name "GtkImage")
+ (gtype-id "GTK_TYPE_IMAGE")
+)
+
+(define-object Label
+ (in-module "Gtk")
+ (parent "GtkMisc")
+ (c-name "GtkLabel")
+ (gtype-id "GTK_TYPE_LABEL")
+)
+
+(define-object AccelLabel
+ (in-module "Gtk")
+ (parent "GtkLabel")
+ (c-name "GtkAccelLabel")
+ (gtype-id "GTK_TYPE_ACCEL_LABEL")
+)
+
+(define-object Invisible
+ (in-module "Gtk")
+ (parent "GtkWidget")
+ (c-name "GtkInvisible")
+ (gtype-id "GTK_TYPE_INVISIBLE")
+)
+
+(define-object HSV
+ (in-module "Gtk")
+ (parent "GtkWidget")
+ (c-name "GtkHSV")
+ (gtype-id "GTK_TYPE_HSV")
+)
+
+(define-object Entry
+ (in-module "Gtk")
+ (parent "GtkWidget")
+ (c-name "GtkEntry")
+ (gtype-id "GTK_TYPE_ENTRY")
+)
+
+(define-object SpinButton
+ (in-module "Gtk")
+ (parent "GtkEntry")
+ (c-name "GtkSpinButton")
+ (gtype-id "GTK_TYPE_SPIN_BUTTON")
+)
+
+(define-object DrawingArea
+ (in-module "Gtk")
+ (parent "GtkWidget")
+ (c-name "GtkDrawingArea")
+ (gtype-id "GTK_TYPE_DRAWING_AREA")
+)
+
+(define-object Curve
+ (in-module "Gtk")
+ (parent "GtkDrawingArea")
+ (c-name "GtkCurve")
+ (gtype-id "GTK_TYPE_CURVE")
+)
+
+(define-object Container
+ (in-module "Gtk")
+ (parent "GtkWidget")
+ (c-name "GtkContainer")
+ (gtype-id "GTK_TYPE_CONTAINER")
+)
+
+(define-object TreeView
+ (in-module "Gtk")
+ (parent "GtkContainer")
+ (c-name "GtkTreeView")
+ (gtype-id "GTK_TYPE_TREE_VIEW")
+)
+
+(define-object Tree
+ (in-module "Gtk")
+ (parent "GtkContainer")
+ (c-name "GtkTree")
+ (gtype-id "GTK_TYPE_TREE")
+)
+
+(define-object Toolbar
+ (in-module "Gtk")
+ (parent "GtkContainer")
+ (c-name "GtkToolbar")
+ (gtype-id "GTK_TYPE_TOOLBAR")
+)
+
+(define-object TextView
+ (in-module "Gtk")
+ (parent "GtkContainer")
+ (c-name "GtkTextView")
+ (gtype-id "GTK_TYPE_TEXT_VIEW")
+)
+
+(define-object Table
+ (in-module "Gtk")
+ (parent "GtkContainer")
+ (c-name "GtkTable")
+ (gtype-id "GTK_TYPE_TABLE")
+)
+
+(define-object Socket
+ (in-module "Gtk")
+ (parent "GtkContainer")
+ (c-name "GtkSocket")
+ (gtype-id "GTK_TYPE_SOCKET")
+)
+
+(define-object PathBar
+ (in-module "Gtk")
+ (parent "GtkContainer")
+ (c-name "GtkPathBar")
+ (gtype-id "GTK_TYPE_PATH_BAR")
+)
+
+(define-object Paned
+ (in-module "Gtk")
+ (parent "GtkContainer")
+ (c-name "GtkPaned")
+ (gtype-id "GTK_TYPE_PANED")
+)
+
+(define-object VPaned
+ (in-module "Gtk")
+ (parent "GtkPaned")
+ (c-name "GtkVPaned")
+ (gtype-id "GTK_TYPE_VPANED")
+)
+
+(define-object HPaned
+ (in-module "Gtk")
+ (parent "GtkPaned")
+ (c-name "GtkHPaned")
+ (gtype-id "GTK_TYPE_HPANED")
+)
+
+(define-object Notebook
+ (in-module "Gtk")
+ (parent "GtkContainer")
+ (c-name "GtkNotebook")
+ (gtype-id "GTK_TYPE_NOTEBOOK")
+)
+
+(define-object MenuShell
+ (in-module "Gtk")
+ (parent "GtkContainer")
+ (c-name "GtkMenuShell")
+ (gtype-id "GTK_TYPE_MENU_SHELL")
+)
+
+(define-object Menu
+ (in-module "Gtk")
+ (parent "GtkMenuShell")
+ (c-name "GtkMenu")
+ (gtype-id "GTK_TYPE_MENU")
+)
+
+(define-object RecentChooserMenu
+ (in-module "Gtk")
+ (parent "GtkMenu")
+ (c-name "GtkRecentChooserMenu")
+ (gtype-id "GTK_TYPE_RECENT_CHOOSER_MENU")
+)
+
+(define-object MenuBar
+ (in-module "Gtk")
+ (parent "GtkMenuShell")
+ (c-name "GtkMenuBar")
+ (gtype-id "GTK_TYPE_MENU_BAR")
+)
+
+(define-object List
+ (in-module "Gtk")
+ (parent "GtkContainer")
+ (c-name "GtkList")
+ (gtype-id "GTK_TYPE_LIST")
+)
+
+(define-object Layout
+ (in-module "Gtk")
+ (parent "GtkContainer")
+ (c-name "GtkLayout")
+ (gtype-id "GTK_TYPE_LAYOUT")
+)
+
+(define-object IconView
+ (in-module "Gtk")
+ (parent "GtkContainer")
+ (c-name "GtkIconView")
+ (gtype-id "GTK_TYPE_ICON_VIEW")
+)
+
+(define-object Fixed
+ (in-module "Gtk")
+ (parent "GtkContainer")
+ (c-name "GtkFixed")
+ (gtype-id "GTK_TYPE_FIXED")
+)
+
+(define-object Bin
+ (in-module "Gtk")
+ (parent "GtkContainer")
+ (c-name "GtkBin")
+ (gtype-id "GTK_TYPE_BIN")
+)
+
+(define-object Viewport
+ (in-module "Gtk")
+ (parent "GtkBin")
+ (c-name "GtkViewport")
+ (gtype-id "GTK_TYPE_VIEWPORT")
+)
+
+(define-object ToolItem
+ (in-module "Gtk")
+ (parent "GtkBin")
+ (c-name "GtkToolItem")
+ (gtype-id "GTK_TYPE_TOOL_ITEM")
+)
+
+(define-object SeparatorToolItem
+ (in-module "Gtk")
+ (parent "GtkToolItem")
+ (c-name "GtkSeparatorToolItem")
+ (gtype-id "GTK_TYPE_SEPARATOR_TOOL_ITEM")
+)
+
+(define-object ToolButton
+ (in-module "Gtk")
+ (parent "GtkToolItem")
+ (c-name "GtkToolButton")
+ (gtype-id "GTK_TYPE_TOOL_BUTTON")
+)
+
+(define-object ToggleToolButton
+ (in-module "Gtk")
+ (parent "GtkToolButton")
+ (c-name "GtkToggleToolButton")
+ (gtype-id "GTK_TYPE_TOGGLE_TOOL_BUTTON")
+)
+
+(define-object RadioToolButton
+ (in-module "Gtk")
+ (parent "GtkToggleToolButton")
+ (c-name "GtkRadioToolButton")
+ (gtype-id "GTK_TYPE_RADIO_TOOL_BUTTON")
+)
+
+(define-object MenuToolButton
+ (in-module "Gtk")
+ (parent "GtkToolButton")
+ (c-name "GtkMenuToolButton")
+ (gtype-id "GTK_TYPE_MENU_TOOL_BUTTON")
+)
+
+(define-object ScrolledWindow
+ (in-module "Gtk")
+ (parent "GtkBin")
+ (c-name "GtkScrolledWindow")
+ (gtype-id "GTK_TYPE_SCROLLED_WINDOW")
+)
+
+(define-object Item
+ (in-module "Gtk")
+ (parent "GtkBin")
+ (c-name "GtkItem")
+ (gtype-id "GTK_TYPE_ITEM")
+)
+
+(define-object TreeItem
+ (in-module "Gtk")
+ (parent "GtkItem")
+ (c-name "GtkTreeItem")
+ (gtype-id "GTK_TYPE_TREE_ITEM")
+)
+
+(define-object MenuItem
+ (in-module "Gtk")
+ (parent "GtkItem")
+ (c-name "GtkMenuItem")
+ (gtype-id "GTK_TYPE_MENU_ITEM")
+)
+
+(define-object TearoffMenuItem
+ (in-module "Gtk")
+ (parent "GtkMenuItem")
+ (c-name "GtkTearoffMenuItem")
+ (gtype-id "GTK_TYPE_TEAROFF_MENU_ITEM")
+)
+
+(define-object SeparatorMenuItem
+ (in-module "Gtk")
+ (parent "GtkMenuItem")
+ (c-name "GtkSeparatorMenuItem")
+ (gtype-id "GTK_TYPE_SEPARATOR_MENU_ITEM")
+)
+
+(define-object CheckMenuItem
+ (in-module "Gtk")
+ (parent "GtkMenuItem")
+ (c-name "GtkCheckMenuItem")
+ (gtype-id "GTK_TYPE_CHECK_MENU_ITEM")
+)
+
+(define-object RadioMenuItem
+ (in-module "Gtk")
+ (parent "GtkCheckMenuItem")
+ (c-name "GtkRadioMenuItem")
+ (gtype-id "GTK_TYPE_RADIO_MENU_ITEM")
+)
+
+(define-object ImageMenuItem
+ (in-module "Gtk")
+ (parent "GtkMenuItem")
+ (c-name "GtkImageMenuItem")
+ (gtype-id "GTK_TYPE_IMAGE_MENU_ITEM")
+)
+
+(define-object ListItem
+ (in-module "Gtk")
+ (parent "GtkItem")
+ (c-name "GtkListItem")
+ (gtype-id "GTK_TYPE_LIST_ITEM")
+)
+
+(define-object HandleBox
+ (in-module "Gtk")
+ (parent "GtkBin")
+ (c-name "GtkHandleBox")
+ (gtype-id "GTK_TYPE_HANDLE_BOX")
+)
+
+(define-object Frame
+ (in-module "Gtk")
+ (parent "GtkBin")
+ (c-name "GtkFrame")
+ (gtype-id "GTK_TYPE_FRAME")
+)
+
+(define-object AspectFrame
+ (in-module "Gtk")
+ (parent "GtkFrame")
+ (c-name "GtkAspectFrame")
+ (gtype-id "GTK_TYPE_ASPECT_FRAME")
+)
+
+(define-object Expander
+ (in-module "Gtk")
+ (parent "GtkBin")
+ (c-name "GtkExpander")
+ (gtype-id "GTK_TYPE_EXPANDER")
+)
+
+(define-object EventBox
+ (in-module "Gtk")
+ (parent "GtkBin")
+ (c-name "GtkEventBox")
+ (gtype-id "GTK_TYPE_EVENT_BOX")
+)
+
+(define-object Alignment
+ (in-module "Gtk")
+ (parent "GtkBin")
+ (c-name "GtkAlignment")
+ (gtype-id "GTK_TYPE_ALIGNMENT")
+)
+
+(define-object Button
+ (in-module "Gtk")
+ (parent "GtkBin")
+ (c-name "GtkButton")
+ (gtype-id "GTK_TYPE_BUTTON")
+)
+
+(define-object ToggleButton
+ (in-module "Gtk")
+ (parent "GtkButton")
+ (c-name "GtkToggleButton")
+ (gtype-id "GTK_TYPE_TOGGLE_BUTTON")
+)
+
+(define-object CheckButton
+ (in-module "Gtk")
+ (parent "GtkToggleButton")
+ (c-name "GtkCheckButton")
+ (gtype-id "GTK_TYPE_CHECK_BUTTON")
+)
+
+(define-object RadioButton
+ (in-module "Gtk")
+ (parent "GtkCheckButton")
+ (c-name "GtkRadioButton")
+ (gtype-id "GTK_TYPE_RADIO_BUTTON")
+)
+
+(define-object ScaleButton
+ (in-module "Gtk")
+ (parent "GtkButton")
+ (c-name "GtkScaleButton")
+ (gtype-id "GTK_TYPE_SCALE_BUTTON")
+)
+
+(define-object OptionMenu
+ (in-module "Gtk")
+ (parent "GtkButton")
+ (c-name "GtkOptionMenu")
+ (gtype-id "GTK_TYPE_OPTION_MENU")
+)
+
+(define-object LinkButton
+ (in-module "Gtk")
+ (parent "GtkButton")
+ (c-name "GtkLinkButton")
+ (gtype-id "GTK_TYPE_LINK_BUTTON")
+)
+
+(define-object FontButton
+ (in-module "Gtk")
+ (parent "GtkButton")
+ (c-name "GtkFontButton")
+ (gtype-id "GTK_TYPE_FONT_BUTTON")
+)
+
+(define-object ColorButton
+ (in-module "Gtk")
+ (parent "GtkButton")
+ (c-name "GtkColorButton")
+ (gtype-id "GTK_TYPE_COLOR_BUTTON")
+)
+
+(define-object ComboBox
+ (in-module "Gtk")
+ (parent "GtkBin")
+ (c-name "GtkComboBox")
+ (gtype-id "GTK_TYPE_COMBO_BOX")
+)
+
+(define-object ComboBoxEntry
+ (in-module "Gtk")
+ (parent "GtkComboBox")
+ (c-name "GtkComboBoxEntry")
+ (gtype-id "GTK_TYPE_COMBO_BOX_ENTRY")
+)
+
+(define-object Box
+ (in-module "Gtk")
+ (parent "GtkContainer")
+ (c-name "GtkBox")
+ (gtype-id "GTK_TYPE_BOX")
+)
+
+(define-object VBox
+ (in-module "Gtk")
+ (parent "GtkBox")
+ (c-name "GtkVBox")
+ (gtype-id "GTK_TYPE_VBOX")
+)
+
+(define-object ColorSelection
+ (in-module "Gtk")
+ (parent "GtkVBox")
+ (c-name "GtkColorSelection")
+ (gtype-id "GTK_TYPE_COLOR_SELECTION")
+)
+
+(define-object FileChooserWidget
+ (in-module "Gtk")
+ (parent "GtkVBox")
+ (c-name "GtkFileChooserWidget")
+ (gtype-id "GTK_TYPE_FILE_CHOOSER_WIDGET")
+)
+
+(define-object FontSelection
+ (in-module "Gtk")
+ (parent "GtkVBox")
+ (c-name "GtkFontSelection")
+ (gtype-id "GTK_TYPE_FONT_SELECTION")
+)
+
+(define-object GammaCurve
+ (in-module "Gtk")
+ (parent "GtkVBox")
+ (c-name "GtkGammaCurve")
+ (gtype-id "GTK_TYPE_GAMMA_CURVE")
+)
+
+(define-object RecentChooserWidget
+ (in-module "Gtk")
+ (parent "GtkVBox")
+ (c-name "GtkRecentChooserWidget")
+ (gtype-id "GTK_TYPE_RECENT_CHOOSER_WIDGET")
+)
+
+(define-object HBox
+ (in-module "Gtk")
+ (parent "GtkBox")
+ (c-name "GtkHBox")
+ (gtype-id "GTK_TYPE_HBOX")
+)
+
+(define-object Statusbar
+ (in-module "Gtk")
+ (parent "GtkHBox")
+ (c-name "GtkStatusbar")
+ (gtype-id "GTK_TYPE_STATUSBAR")
+)
+
+(define-object PrinterOptionWidget
+ (in-module "Gtk")
+ (parent "GtkHBox")
+ (c-name "GtkPrinterOptionWidget")
+ (gtype-id "GTK_TYPE_PRINTER_OPTION_WIDGET")
+)
+
+(define-object Combo
+ (in-module "Gtk")
+ (parent "GtkHBox")
+ (c-name "GtkCombo")
+ (gtype-id "GTK_TYPE_COMBO")
+)
+
+(define-object FileChooserButton
+ (in-module "Gtk")
+ (parent "GtkHBox")
+ (c-name "GtkFileChooserButton")
+ (gtype-id "GTK_TYPE_FILE_CHOOSER_BUTTON")
+)
+
+(define-object ButtonBox
+ (in-module "Gtk")
+ (parent "GtkBox")
+ (c-name "GtkButtonBox")
+ (gtype-id "GTK_TYPE_BUTTON_BOX")
+)
+
+(define-object VButtonBox
+ (in-module "Gtk")
+ (parent "GtkButtonBox")
+ (c-name "GtkVButtonBox")
+ (gtype-id "GTK_TYPE_VBUTTON_BOX")
+)
+
+(define-object HButtonBox
+ (in-module "Gtk")
+ (parent "GtkButtonBox")
+ (c-name "GtkHButtonBox")
+ (gtype-id "GTK_TYPE_HBUTTON_BOX")
+)
+
+(define-object CList
+ (in-module "Gtk")
+ (parent "GtkContainer")
+ (c-name "GtkCList")
+ (gtype-id "GTK_TYPE_CLIST")
+)
+
+(define-object CTree
+ (in-module "Gtk")
+ (parent "GtkCList")
+ (c-name "GtkCTree")
+ (gtype-id "GTK_TYPE_CTREE")
+)
+
+(define-object CellView
+ (in-module "Gtk")
+ (parent "GtkWidget")
+ (c-name "GtkCellView")
+ (gtype-id "GTK_TYPE_CELL_VIEW")
+)
+
+(define-object Calendar
+ (in-module "Gtk")
+ (parent "GtkWidget")
+ (c-name "GtkCalendar")
+ (gtype-id "GTK_TYPE_CALENDAR")
+)
+
+(define-object Window
+ (in-module "Gtk")
+ (parent "GtkBin")
+ (c-name "GtkWindow")
+ (gtype-id "GTK_TYPE_WINDOW")
+)
+
+(define-object Win32EmbedWidget
+ (in-module "Gtk")
+ (parent "GtkWindow")
+ (c-name "GtkWin32EmbedWidget")
+ (gtype-id "GTK_TYPE_WIN32_EMBED_WIDGET")
+)
+
+(define-object Plug
+ (in-module "Gtk")
+ (parent "GtkWindow")
+ (c-name "GtkPlug")
+ (gtype-id "GTK_TYPE_PLUG")
+)
+
+(define-object TrayIcon
+ (in-module "Gtk")
+ (parent "GtkPlug")
+ (c-name "GtkTrayIcon")
+ (gtype-id "GTK_TYPE_TRAY_ICON")
+)
+
+(define-object Dialog
+ (in-module "Gtk")
+ (parent "GtkWindow")
+ (c-name "GtkDialog")
+ (gtype-id "GTK_TYPE_DIALOG")
+)
+
+(define-object RecentChooserDialog
+ (in-module "Gtk")
+ (parent "GtkDialog")
+ (c-name "GtkRecentChooserDialog")
+ (gtype-id "GTK_TYPE_RECENT_CHOOSER_DIALOG")
+)
+
+(define-object PrintUnixDialog
+ (in-module "Gtk")
+ (parent "GtkDialog")
+ (c-name "GtkPrintUnixDialog")
+ (gtype-id "GTK_TYPE_PRINT_UNIX_DIALOG")
+)
+
+(define-object PageSetupUnixDialog
+ (in-module "Gtk")
+ (parent "GtkDialog")
+ (c-name "GtkPageSetupUnixDialog")
+ (gtype-id "GTK_TYPE_PAGE_SETUP_UNIX_DIALOG")
+)
+
+(define-object MessageDialog
+ (in-module "Gtk")
+ (parent "GtkDialog")
+ (c-name "GtkMessageDialog")
+ (gtype-id "GTK_TYPE_MESSAGE_DIALOG")
+)
+
+(define-object InputDialog
+ (in-module "Gtk")
+ (parent "GtkDialog")
+ (c-name "GtkInputDialog")
+ (gtype-id "GTK_TYPE_INPUT_DIALOG")
+)
+
+(define-object FontSelectionDialog
+ (in-module "Gtk")
+ (parent "GtkDialog")
+ (c-name "GtkFontSelectionDialog")
+ (gtype-id "GTK_TYPE_FONT_SELECTION_DIALOG")
+)
+
+(define-object FileSelection
+ (in-module "Gtk")
+ (parent "GtkDialog")
+ (c-name "GtkFileSelection")
+ (gtype-id "GTK_TYPE_FILE_SELECTION")
+)
+
+(define-object FileChooserDialog
+ (in-module "Gtk")
+ (parent "GtkDialog")
+ (c-name "GtkFileChooserDialog")
+ (gtype-id "GTK_TYPE_FILE_CHOOSER_DIALOG")
+)
+
+(define-object AboutDialog
+ (in-module "Gtk")
+ (parent "GtkDialog")
+ (c-name "GtkAboutDialog")
+ (gtype-id "GTK_TYPE_ABOUT_DIALOG")
+)
+
+(define-object ColorSelectionDialog
+ (in-module "Gtk")
+ (parent "GtkDialog")
+ (c-name "GtkColorSelectionDialog")
+ (gtype-id "GTK_TYPE_COLOR_SELECTION_DIALOG")
+)
+
+(define-object Assistant
+ (in-module "Gtk")
+ (parent "GtkWindow")
+ (c-name "GtkAssistant")
+ (gtype-id "GTK_TYPE_ASSISTANT")
+)
+
+(define-object WindowGroup
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkWindowGroup")
+ (gtype-id "GTK_TYPE_WINDOW_GROUP")
+)
+
+;; Enumerations and flags ...
+
+(define-flags AccelFlags
+ (in-module "Gtk")
+ (c-name "GtkAccelFlags")
+ (gtype-id "GTK_TYPE_ACCEL_FLAGS")
+ (values
+ '("visible" "GTK_ACCEL_VISIBLE")
+ '("locked" "GTK_ACCEL_LOCKED")
+ '("mask" "GTK_ACCEL_MASK")
+ )
+)
+
+(define-enum AssistantPageType
+ (in-module "Gtk")
+ (c-name "GtkAssistantPageType")
+ (gtype-id "GTK_TYPE_ASSISTANT_PAGE_TYPE")
+ (values
+ '("content" "GTK_ASSISTANT_PAGE_CONTENT")
+ '("intro" "GTK_ASSISTANT_PAGE_INTRO")
+ '("confirm" "GTK_ASSISTANT_PAGE_CONFIRM")
+ '("summary" "GTK_ASSISTANT_PAGE_SUMMARY")
+ '("progress" "GTK_ASSISTANT_PAGE_PROGRESS")
+ )
+)
+
+(define-enum BuilderError
+ (in-module "Gtk")
+ (c-name "GtkBuilderError")
+ (gtype-id "GTK_TYPE_BUILDER_ERROR")
+ (values
+ '("invalid-type-function" "GTK_BUILDER_ERROR_INVALID_TYPE_FUNCTION")
+ '("unhandled-tag" "GTK_BUILDER_ERROR_UNHANDLED_TAG")
+ '("missing-attribute" "GTK_BUILDER_ERROR_MISSING_ATTRIBUTE")
+ '("invalid-attribute" "GTK_BUILDER_ERROR_INVALID_ATTRIBUTE")
+ '("invalid-tag" "GTK_BUILDER_ERROR_INVALID_TAG")
+ '("missing-property-value" "GTK_BUILDER_ERROR_MISSING_PROPERTY_VALUE")
+ '("invalid-value" "GTK_BUILDER_ERROR_INVALID_VALUE")
+ )
+)
+
+(define-flags CalendarDisplayOptions
+ (in-module "Gtk")
+ (c-name "GtkCalendarDisplayOptions")
+ (gtype-id "GTK_TYPE_CALENDAR_DISPLAY_OPTIONS")
+ (values
+ '("show-heading" "GTK_CALENDAR_SHOW_HEADING")
+ '("show-day-names" "GTK_CALENDAR_SHOW_DAY_NAMES")
+ '("no-month-change" "GTK_CALENDAR_NO_MONTH_CHANGE")
+ '("show-week-numbers" "GTK_CALENDAR_SHOW_WEEK_NUMBERS")
+ '("week-start-monday" "GTK_CALENDAR_WEEK_START_MONDAY")
+ )
+)
+
+(define-enum CellRendererAccelMode
+ (in-module "Gtk")
+ (c-name "GtkCellRendererAccelMode")
+ (gtype-id "GTK_TYPE_CELL_RENDERER_ACCEL_MODE")
+ (values
+ '("gtk" "GTK_CELL_RENDERER_ACCEL_MODE_GTK")
+ '("other" "GTK_CELL_RENDERER_ACCEL_MODE_OTHER")
+ )
+)
+
+(define-flags CellRendererState
+ (in-module "Gtk")
+ (c-name "GtkCellRendererState")
+ (gtype-id "GTK_TYPE_CELL_RENDERER_STATE")
+ (values
+ '("selected" "GTK_CELL_RENDERER_SELECTED")
+ '("prelit" "GTK_CELL_RENDERER_PRELIT")
+ '("insensitive" "GTK_CELL_RENDERER_INSENSITIVE")
+ '("sorted" "GTK_CELL_RENDERER_SORTED")
+ '("focused" "GTK_CELL_RENDERER_FOCUSED")
+ )
+)
+
+(define-enum CellRendererMode
+ (in-module "Gtk")
+ (c-name "GtkCellRendererMode")
+ (gtype-id "GTK_TYPE_CELL_RENDERER_MODE")
+ (values
+ '("inert" "GTK_CELL_RENDERER_MODE_INERT")
+ '("activatable" "GTK_CELL_RENDERER_MODE_ACTIVATABLE")
+ '("editable" "GTK_CELL_RENDERER_MODE_EDITABLE")
+ )
+)
+
+(define-enum CellType
+ (in-module "Gtk")
+ (c-name "GtkCellType")
+ (gtype-id "GTK_TYPE_CELL_TYPE")
+ (values
+ '("empty" "GTK_CELL_EMPTY")
+ '("text" "GTK_CELL_TEXT")
+ '("pixmap" "GTK_CELL_PIXMAP")
+ '("pixtext" "GTK_CELL_PIXTEXT")
+ '("widget" "GTK_CELL_WIDGET")
+ )
+)
+
+(define-enum CListDragPos
+ (in-module "Gtk")
+ (c-name "GtkCListDragPos")
+ (gtype-id "GTK_TYPE_CLIST_DRAG_POS")
+ (values
+ '("none" "GTK_CLIST_DRAG_NONE")
+ '("before" "GTK_CLIST_DRAG_BEFORE")
+ '("into" "GTK_CLIST_DRAG_INTO")
+ '("after" "GTK_CLIST_DRAG_AFTER")
+ )
+)
+
+(define-flags ButtonAction
+ (in-module "Gtk")
+ (c-name "GtkButtonAction")
+ (gtype-id "GTK_TYPE_BUTTON_ACTION")
+ (values
+ '("ignored" "GTK_BUTTON_IGNORED")
+ '("selects" "GTK_BUTTON_SELECTS")
+ '("drags" "GTK_BUTTON_DRAGS")
+ '("expands" "GTK_BUTTON_EXPANDS")
+ )
+)
+
+(define-enum CTreePos
+ (in-module "Gtk")
+ (c-name "GtkCTreePos")
+ (gtype-id "GTK_TYPE_CTREE_POS")
+ (values
+ '("before" "GTK_CTREE_POS_BEFORE")
+ '("as-child" "GTK_CTREE_POS_AS_CHILD")
+ '("after" "GTK_CTREE_POS_AFTER")
+ )
+)
+
+(define-enum CTreeLineStyle
+ (in-module "Gtk")
+ (c-name "GtkCTreeLineStyle")
+ (gtype-id "GTK_TYPE_CTREE_LINE_STYLE")
+ (values
+ '("none" "GTK_CTREE_LINES_NONE")
+ '("solid" "GTK_CTREE_LINES_SOLID")
+ '("dotted" "GTK_CTREE_LINES_DOTTED")
+ '("tabbed" "GTK_CTREE_LINES_TABBED")
+ )
+)
+
+(define-enum CTreeExpanderStyle
+ (in-module "Gtk")
+ (c-name "GtkCTreeExpanderStyle")
+ (gtype-id "GTK_TYPE_CTREE_EXPANDER_STYLE")
+ (values
+ '("none" "GTK_CTREE_EXPANDER_NONE")
+ '("square" "GTK_CTREE_EXPANDER_SQUARE")
+ '("triangle" "GTK_CTREE_EXPANDER_TRIANGLE")
+ '("circular" "GTK_CTREE_EXPANDER_CIRCULAR")
+ )
+)
+
+(define-enum CTreeExpansionType
+ (in-module "Gtk")
+ (c-name "GtkCTreeExpansionType")
+ (gtype-id "GTK_TYPE_CTREE_EXPANSION_TYPE")
+ (values
+ '("expand" "GTK_CTREE_EXPANSION_EXPAND")
+ '("expand-recursive" "GTK_CTREE_EXPANSION_EXPAND_RECURSIVE")
+ '("collapse" "GTK_CTREE_EXPANSION_COLLAPSE")
+ '("collapse-recursive" "GTK_CTREE_EXPANSION_COLLAPSE_RECURSIVE")
+ '("toggle" "GTK_CTREE_EXPANSION_TOGGLE")
+ '("toggle-recursive" "GTK_CTREE_EXPANSION_TOGGLE_RECURSIVE")
+ )
+)
+
+(define-flags DebugFlag
+ (in-module "Gtk")
+ (c-name "GtkDebugFlag")
+ (gtype-id "GTK_TYPE_DEBUG_FLAG")
+ (values
+ '("misc" "GTK_DEBUG_MISC")
+ '("plugsocket" "GTK_DEBUG_PLUGSOCKET")
+ '("text" "GTK_DEBUG_TEXT")
+ '("tree" "GTK_DEBUG_TREE")
+ '("updates" "GTK_DEBUG_UPDATES")
+ '("keybindings" "GTK_DEBUG_KEYBINDINGS")
+ '("multihead" "GTK_DEBUG_MULTIHEAD")
+ '("modules" "GTK_DEBUG_MODULES")
+ '("geometry" "GTK_DEBUG_GEOMETRY")
+ '("icontheme" "GTK_DEBUG_ICONTHEME")
+ '("printing" "GTK_DEBUG_PRINTING")
+ '("builder" "GTK_DEBUG_BUILDER")
+ )
+)
+
+(define-flags DialogFlags
+ (in-module "Gtk")
+ (c-name "GtkDialogFlags")
+ (gtype-id "GTK_TYPE_DIALOG_FLAGS")
+ (values
+ '("modal" "GTK_DIALOG_MODAL")
+ '("destroy-with-parent" "GTK_DIALOG_DESTROY_WITH_PARENT")
+ '("no-separator" "GTK_DIALOG_NO_SEPARATOR")
+ )
+)
+
+(define-enum ResponseType
+ (in-module "Gtk")
+ (c-name "GtkResponseType")
+ (gtype-id "GTK_TYPE_RESPONSE_TYPE")
+ (values
+ '("none" "GTK_RESPONSE_NONE")
+ '("reject" "GTK_RESPONSE_REJECT")
+ '("accept" "GTK_RESPONSE_ACCEPT")
+ '("delete-event" "GTK_RESPONSE_DELETE_EVENT")
+ '("ok" "GTK_RESPONSE_OK")
+ '("cancel" "GTK_RESPONSE_CANCEL")
+ '("close" "GTK_RESPONSE_CLOSE")
+ '("yes" "GTK_RESPONSE_YES")
+ '("no" "GTK_RESPONSE_NO")
+ '("apply" "GTK_RESPONSE_APPLY")
+ '("help" "GTK_RESPONSE_HELP")
+ )
+)
+
+(define-flags DestDefaults
+ (in-module "Gtk")
+ (c-name "GtkDestDefaults")
+ (gtype-id "GTK_TYPE_DEST_DEFAULTS")
+ (values
+ '("motion" "GTK_DEST_DEFAULT_MOTION")
+ '("highlight" "GTK_DEST_DEFAULT_HIGHLIGHT")
+ '("drop" "GTK_DEST_DEFAULT_DROP")
+ '("all" "GTK_DEST_DEFAULT_ALL")
+ )
+)
+
+(define-flags TargetFlags
+ (in-module "Gtk")
+ (c-name "GtkTargetFlags")
+ (gtype-id "GTK_TYPE_TARGET_FLAGS")
+ (values
+ '("same-app" "GTK_TARGET_SAME_APP")
+ '("same-widget" "GTK_TARGET_SAME_WIDGET")
+ '("other-app" "GTK_TARGET_OTHER_APP")
+ '("other-widget" "GTK_TARGET_OTHER_WIDGET")
+ )
+)
+
+(define-enum AnchorType
+ (in-module "Gtk")
+ (c-name "GtkAnchorType")
+ (gtype-id "GTK_TYPE_ANCHOR_TYPE")
+ (values
+ '("center" "GTK_ANCHOR_CENTER")
+ '("north" "GTK_ANCHOR_NORTH")
+ '("north-west" "GTK_ANCHOR_NORTH_WEST")
+ '("north-east" "GTK_ANCHOR_NORTH_EAST")
+ '("south" "GTK_ANCHOR_SOUTH")
+ '("south-west" "GTK_ANCHOR_SOUTH_WEST")
+ '("south-east" "GTK_ANCHOR_SOUTH_EAST")
+ '("west" "GTK_ANCHOR_WEST")
+ '("east" "GTK_ANCHOR_EAST")
+ '("n" "GTK_ANCHOR_N")
+ '("nw" "GTK_ANCHOR_NW")
+ '("ne" "GTK_ANCHOR_NE")
+ '("s" "GTK_ANCHOR_S")
+ '("sw" "GTK_ANCHOR_SW")
+ '("se" "GTK_ANCHOR_SE")
+ '("w" "GTK_ANCHOR_W")
+ '("e" "GTK_ANCHOR_E")
+ )
+)
+
+(define-enum ArrowType
+ (in-module "Gtk")
+ (c-name "GtkArrowType")
+ (gtype-id "GTK_TYPE_ARROW_TYPE")
+ (values
+ '("up" "GTK_ARROW_UP")
+ '("down" "GTK_ARROW_DOWN")
+ '("left" "GTK_ARROW_LEFT")
+ '("right" "GTK_ARROW_RIGHT")
+ '("none" "GTK_ARROW_NONE")
+ )
+)
+
+(define-flags AttachOptions
+ (in-module "Gtk")
+ (c-name "GtkAttachOptions")
+ (gtype-id "GTK_TYPE_ATTACH_OPTIONS")
+ (values
+ '("expand" "GTK_EXPAND")
+ '("shrink" "GTK_SHRINK")
+ '("fill" "GTK_FILL")
+ )
+)
+
+(define-enum ButtonBoxStyle
+ (in-module "Gtk")
+ (c-name "GtkButtonBoxStyle")
+ (gtype-id "GTK_TYPE_BUTTON_BOX_STYLE")
+ (values
+ '("default-style" "GTK_BUTTONBOX_DEFAULT_STYLE")
+ '("spread" "GTK_BUTTONBOX_SPREAD")
+ '("edge" "GTK_BUTTONBOX_EDGE")
+ '("start" "GTK_BUTTONBOX_START")
+ '("end" "GTK_BUTTONBOX_END")
+ '("center" "GTK_BUTTONBOX_CENTER")
+ )
+)
+
+(define-enum CurveType
+ (in-module "Gtk")
+ (c-name "GtkCurveType")
+ (gtype-id "GTK_TYPE_CURVE_TYPE")
+ (values
+ '("linear" "GTK_CURVE_TYPE_LINEAR")
+ '("spline" "GTK_CURVE_TYPE_SPLINE")
+ '("free" "GTK_CURVE_TYPE_FREE")
+ )
+)
+
+(define-enum DeleteType
+ (in-module "Gtk")
+ (c-name "GtkDeleteType")
+ (gtype-id "GTK_TYPE_DELETE_TYPE")
+ (values
+ '("chars" "GTK_DELETE_CHARS")
+ '("word-ends" "GTK_DELETE_WORD_ENDS")
+ '("words" "GTK_DELETE_WORDS")
+ '("display-lines" "GTK_DELETE_DISPLAY_LINES")
+ '("display-line-ends" "GTK_DELETE_DISPLAY_LINE_ENDS")
+ '("paragraph-ends" "GTK_DELETE_PARAGRAPH_ENDS")
+ '("paragraphs" "GTK_DELETE_PARAGRAPHS")
+ '("whitespace" "GTK_DELETE_WHITESPACE")
+ )
+)
+
+(define-enum DirectionType
+ (in-module "Gtk")
+ (c-name "GtkDirectionType")
+ (gtype-id "GTK_TYPE_DIRECTION_TYPE")
+ (values
+ '("tab-forward" "GTK_DIR_TAB_FORWARD")
+ '("tab-backward" "GTK_DIR_TAB_BACKWARD")
+ '("up" "GTK_DIR_UP")
+ '("down" "GTK_DIR_DOWN")
+ '("left" "GTK_DIR_LEFT")
+ '("right" "GTK_DIR_RIGHT")
+ )
+)
+
+(define-enum ExpanderStyle
+ (in-module "Gtk")
+ (c-name "GtkExpanderStyle")
+ (gtype-id "GTK_TYPE_EXPANDER_STYLE")
+ (values
+ '("collapsed" "GTK_EXPANDER_COLLAPSED")
+ '("semi-collapsed" "GTK_EXPANDER_SEMI_COLLAPSED")
+ '("semi-expanded" "GTK_EXPANDER_SEMI_EXPANDED")
+ '("expanded" "GTK_EXPANDER_EXPANDED")
+ )
+)
+
+(define-enum IconSize
+ (in-module "Gtk")
+ (c-name "GtkIconSize")
+ (gtype-id "GTK_TYPE_ICON_SIZE")
+ (values
+ '("invalid" "GTK_ICON_SIZE_INVALID")
+ '("menu" "GTK_ICON_SIZE_MENU")
+ '("small-toolbar" "GTK_ICON_SIZE_SMALL_TOOLBAR")
+ '("large-toolbar" "GTK_ICON_SIZE_LARGE_TOOLBAR")
+ '("button" "GTK_ICON_SIZE_BUTTON")
+ '("dnd" "GTK_ICON_SIZE_DND")
+ '("dialog" "GTK_ICON_SIZE_DIALOG")
+ )
+)
+
+(define-enum SensitivityType
+ (in-module "Gtk")
+ (c-name "GtkSensitivityType")
+ (gtype-id "GTK_TYPE_SENSITIVITY_TYPE")
+ (values
+ '("auto" "GTK_SENSITIVITY_AUTO")
+ '("on" "GTK_SENSITIVITY_ON")
+ '("off" "GTK_SENSITIVITY_OFF")
+ )
+)
+
+(define-enum SideType
+ (in-module "Gtk")
+ (c-name "GtkSideType")
+ (gtype-id "GTK_TYPE_SIDE_TYPE")
+ (values
+ '("top" "GTK_SIDE_TOP")
+ '("bottom" "GTK_SIDE_BOTTOM")
+ '("left" "GTK_SIDE_LEFT")
+ '("right" "GTK_SIDE_RIGHT")
+ )
+)
+
+(define-enum TextDirection
+ (in-module "Gtk")
+ (c-name "GtkTextDirection")
+ (gtype-id "GTK_TYPE_TEXT_DIRECTION")
+ (values
+ '("none" "GTK_TEXT_DIR_NONE")
+ '("ltr" "GTK_TEXT_DIR_LTR")
+ '("rtl" "GTK_TEXT_DIR_RTL")
+ )
+)
+
+(define-enum Justification
+ (in-module "Gtk")
+ (c-name "GtkJustification")
+ (gtype-id "GTK_TYPE_JUSTIFICATION")
+ (values
+ '("left" "GTK_JUSTIFY_LEFT")
+ '("right" "GTK_JUSTIFY_RIGHT")
+ '("center" "GTK_JUSTIFY_CENTER")
+ '("fill" "GTK_JUSTIFY_FILL")
+ )
+)
+
+(define-enum MatchType
+ (in-module "Gtk")
+ (c-name "GtkMatchType")
+ (gtype-id "GTK_TYPE_MATCH_TYPE")
+ (values
+ '("all" "GTK_MATCH_ALL")
+ '("all-tail" "GTK_MATCH_ALL_TAIL")
+ '("head" "GTK_MATCH_HEAD")
+ '("tail" "GTK_MATCH_TAIL")
+ '("exact" "GTK_MATCH_EXACT")
+ '("last" "GTK_MATCH_LAST")
+ )
+)
+
+(define-enum MenuDirectionType
+ (in-module "Gtk")
+ (c-name "GtkMenuDirectionType")
+ (gtype-id "GTK_TYPE_MENU_DIRECTION_TYPE")
+ (values
+ '("parent" "GTK_MENU_DIR_PARENT")
+ '("child" "GTK_MENU_DIR_CHILD")
+ '("next" "GTK_MENU_DIR_NEXT")
+ '("prev" "GTK_MENU_DIR_PREV")
+ )
+)
+
+(define-enum MetricType
+ (in-module "Gtk")
+ (c-name "GtkMetricType")
+ (gtype-id "GTK_TYPE_METRIC_TYPE")
+ (values
+ '("pixels" "GTK_PIXELS")
+ '("inches" "GTK_INCHES")
+ '("centimeters" "GTK_CENTIMETERS")
+ )
+)
+
+(define-enum MovementStep
+ (in-module "Gtk")
+ (c-name "GtkMovementStep")
+ (gtype-id "GTK_TYPE_MOVEMENT_STEP")
+ (values
+ '("logical-positions" "GTK_MOVEMENT_LOGICAL_POSITIONS")
+ '("visual-positions" "GTK_MOVEMENT_VISUAL_POSITIONS")
+ '("words" "GTK_MOVEMENT_WORDS")
+ '("display-lines" "GTK_MOVEMENT_DISPLAY_LINES")
+ '("display-line-ends" "GTK_MOVEMENT_DISPLAY_LINE_ENDS")
+ '("paragraphs" "GTK_MOVEMENT_PARAGRAPHS")
+ '("paragraph-ends" "GTK_MOVEMENT_PARAGRAPH_ENDS")
+ '("pages" "GTK_MOVEMENT_PAGES")
+ '("buffer-ends" "GTK_MOVEMENT_BUFFER_ENDS")
+ '("horizontal-pages" "GTK_MOVEMENT_HORIZONTAL_PAGES")
+ )
+)
+
+(define-enum ScrollStep
+ (in-module "Gtk")
+ (c-name "GtkScrollStep")
+ (gtype-id "GTK_TYPE_SCROLL_STEP")
+ (values
+ '("steps" "GTK_SCROLL_STEPS")
+ '("pages" "GTK_SCROLL_PAGES")
+ '("ends" "GTK_SCROLL_ENDS")
+ '("horizontal-steps" "GTK_SCROLL_HORIZONTAL_STEPS")
+ '("horizontal-pages" "GTK_SCROLL_HORIZONTAL_PAGES")
+ '("horizontal-ends" "GTK_SCROLL_HORIZONTAL_ENDS")
+ )
+)
+
+(define-enum Orientation
+ (in-module "Gtk")
+ (c-name "GtkOrientation")
+ (gtype-id "GTK_TYPE_ORIENTATION")
+ (values
+ '("horizontal" "GTK_ORIENTATION_HORIZONTAL")
+ '("vertical" "GTK_ORIENTATION_VERTICAL")
+ )
+)
+
+(define-enum CornerType
+ (in-module "Gtk")
+ (c-name "GtkCornerType")
+ (gtype-id "GTK_TYPE_CORNER_TYPE")
+ (values
+ '("top-left" "GTK_CORNER_TOP_LEFT")
+ '("bottom-left" "GTK_CORNER_BOTTOM_LEFT")
+ '("top-right" "GTK_CORNER_TOP_RIGHT")
+ '("bottom-right" "GTK_CORNER_BOTTOM_RIGHT")
+ )
+)
+
+(define-enum PackType
+ (in-module "Gtk")
+ (c-name "GtkPackType")
+ (gtype-id "GTK_TYPE_PACK_TYPE")
+ (values
+ '("start" "GTK_PACK_START")
+ '("end" "GTK_PACK_END")
+ )
+)
+
+(define-enum PathPriorityType
+ (in-module "Gtk")
+ (c-name "GtkPathPriorityType")
+ (gtype-id "GTK_TYPE_PATH_PRIORITY_TYPE")
+ (values
+ '("lowest" "GTK_PATH_PRIO_LOWEST")
+ '("gtk" "GTK_PATH_PRIO_GTK")
+ '("application" "GTK_PATH_PRIO_APPLICATION")
+ '("theme" "GTK_PATH_PRIO_THEME")
+ '("rc" "GTK_PATH_PRIO_RC")
+ '("highest" "GTK_PATH_PRIO_HIGHEST")
+ )
+)
+
+(define-enum PathType
+ (in-module "Gtk")
+ (c-name "GtkPathType")
+ (gtype-id "GTK_TYPE_PATH_TYPE")
+ (values
+ '("widget" "GTK_PATH_WIDGET")
+ '("widget-class" "GTK_PATH_WIDGET_CLASS")
+ '("class" "GTK_PATH_CLASS")
+ )
+)
+
+(define-enum PolicyType
+ (in-module "Gtk")
+ (c-name "GtkPolicyType")
+ (gtype-id "GTK_TYPE_POLICY_TYPE")
+ (values
+ '("always" "GTK_POLICY_ALWAYS")
+ '("automatic" "GTK_POLICY_AUTOMATIC")
+ '("never" "GTK_POLICY_NEVER")
+ )
+)
+
+(define-enum PositionType
+ (in-module "Gtk")
+ (c-name "GtkPositionType")
+ (gtype-id "GTK_TYPE_POSITION_TYPE")
+ (values
+ '("left" "GTK_POS_LEFT")
+ '("right" "GTK_POS_RIGHT")
+ '("top" "GTK_POS_TOP")
+ '("bottom" "GTK_POS_BOTTOM")
+ )
+)
+
+(define-enum PreviewType
+ (in-module "Gtk")
+ (c-name "GtkPreviewType")
+ (gtype-id "GTK_TYPE_PREVIEW_TYPE")
+ (values
+ '("color" "GTK_PREVIEW_COLOR")
+ '("grayscale" "GTK_PREVIEW_GRAYSCALE")
+ )
+)
+
+(define-enum ReliefStyle
+ (in-module "Gtk")
+ (c-name "GtkReliefStyle")
+ (gtype-id "GTK_TYPE_RELIEF_STYLE")
+ (values
+ '("normal" "GTK_RELIEF_NORMAL")
+ '("half" "GTK_RELIEF_HALF")
+ '("none" "GTK_RELIEF_NONE")
+ )
+)
+
+(define-enum ResizeMode
+ (in-module "Gtk")
+ (c-name "GtkResizeMode")
+ (gtype-id "GTK_TYPE_RESIZE_MODE")
+ (values
+ '("parent" "GTK_RESIZE_PARENT")
+ '("queue" "GTK_RESIZE_QUEUE")
+ '("immediate" "GTK_RESIZE_IMMEDIATE")
+ )
+)
+
+(define-enum SignalRunType
+ (in-module "Gtk")
+ (c-name "GtkSignalRunType")
+ (gtype-id "GTK_TYPE_SIGNAL_RUN_TYPE")
+ (values
+ '("first" "GTK_RUN_FIRST")
+ '("last" "GTK_RUN_LAST")
+ '("both" "GTK_RUN_BOTH")
+ '("no-recurse" "GTK_RUN_NO_RECURSE")
+ '("action" "GTK_RUN_ACTION")
+ '("no-hooks" "GTK_RUN_NO_HOOKS")
+ )
+)
+
+(define-enum ScrollType
+ (in-module "Gtk")
+ (c-name "GtkScrollType")
+ (gtype-id "GTK_TYPE_SCROLL_TYPE")
+ (values
+ '("none" "GTK_SCROLL_NONE")
+ '("jump" "GTK_SCROLL_JUMP")
+ '("step-backward" "GTK_SCROLL_STEP_BACKWARD")
+ '("step-forward" "GTK_SCROLL_STEP_FORWARD")
+ '("page-backward" "GTK_SCROLL_PAGE_BACKWARD")
+ '("page-forward" "GTK_SCROLL_PAGE_FORWARD")
+ '("step-up" "GTK_SCROLL_STEP_UP")
+ '("step-down" "GTK_SCROLL_STEP_DOWN")
+ '("page-up" "GTK_SCROLL_PAGE_UP")
+ '("page-down" "GTK_SCROLL_PAGE_DOWN")
+ '("step-left" "GTK_SCROLL_STEP_LEFT")
+ '("step-right" "GTK_SCROLL_STEP_RIGHT")
+ '("page-left" "GTK_SCROLL_PAGE_LEFT")
+ '("page-right" "GTK_SCROLL_PAGE_RIGHT")
+ '("start" "GTK_SCROLL_START")
+ '("end" "GTK_SCROLL_END")
+ )
+)
+
+(define-enum SelectionMode
+ (in-module "Gtk")
+ (c-name "GtkSelectionMode")
+ (gtype-id "GTK_TYPE_SELECTION_MODE")
+ (values
+ '("none" "GTK_SELECTION_NONE")
+ '("single" "GTK_SELECTION_SINGLE")
+ '("browse" "GTK_SELECTION_BROWSE")
+ '("multiple" "GTK_SELECTION_MULTIPLE")
+ '("extended" "GTK_SELECTION_EXTENDED")
+ )
+)
+
+(define-enum ShadowType
+ (in-module "Gtk")
+ (c-name "GtkShadowType")
+ (gtype-id "GTK_TYPE_SHADOW_TYPE")
+ (values
+ '("none" "GTK_SHADOW_NONE")
+ '("in" "GTK_SHADOW_IN")
+ '("out" "GTK_SHADOW_OUT")
+ '("etched-in" "GTK_SHADOW_ETCHED_IN")
+ '("etched-out" "GTK_SHADOW_ETCHED_OUT")
+ )
+)
+
+(define-enum StateType
+ (in-module "Gtk")
+ (c-name "GtkStateType")
+ (gtype-id "GTK_TYPE_STATE_TYPE")
+ (values
+ '("normal" "GTK_STATE_NORMAL")
+ '("active" "GTK_STATE_ACTIVE")
+ '("prelight" "GTK_STATE_PRELIGHT")
+ '("selected" "GTK_STATE_SELECTED")
+ '("insensitive" "GTK_STATE_INSENSITIVE")
+ )
+)
+
+(define-enum SubmenuDirection
+ (in-module "Gtk")
+ (c-name "GtkSubmenuDirection")
+ (gtype-id "GTK_TYPE_SUBMENU_DIRECTION")
+ (values
+ '("left" "GTK_DIRECTION_LEFT")
+ '("right" "GTK_DIRECTION_RIGHT")
+ )
+)
+
+(define-enum SubmenuPlacement
+ (in-module "Gtk")
+ (c-name "GtkSubmenuPlacement")
+ (gtype-id "GTK_TYPE_SUBMENU_PLACEMENT")
+ (values
+ '("top-bottom" "GTK_TOP_BOTTOM")
+ '("left-right" "GTK_LEFT_RIGHT")
+ )
+)
+
+(define-enum ToolbarStyle
+ (in-module "Gtk")
+ (c-name "GtkToolbarStyle")
+ (gtype-id "GTK_TYPE_TOOLBAR_STYLE")
+ (values
+ '("icons" "GTK_TOOLBAR_ICONS")
+ '("text" "GTK_TOOLBAR_TEXT")
+ '("both" "GTK_TOOLBAR_BOTH")
+ '("both-horiz" "GTK_TOOLBAR_BOTH_HORIZ")
+ )
+)
+
+(define-enum UpdateType
+ (in-module "Gtk")
+ (c-name "GtkUpdateType")
+ (gtype-id "GTK_TYPE_UPDATE_TYPE")
+ (values
+ '("continuous" "GTK_UPDATE_CONTINUOUS")
+ '("discontinuous" "GTK_UPDATE_DISCONTINUOUS")
+ '("delayed" "GTK_UPDATE_DELAYED")
+ )
+)
+
+(define-enum Visibility
+ (in-module "Gtk")
+ (c-name "GtkVisibility")
+ (gtype-id "GTK_TYPE_VISIBILITY")
+ (values
+ '("none" "GTK_VISIBILITY_NONE")
+ '("partial" "GTK_VISIBILITY_PARTIAL")
+ '("full" "GTK_VISIBILITY_FULL")
+ )
+)
+
+(define-enum WindowPosition
+ (in-module "Gtk")
+ (c-name "GtkWindowPosition")
+ (gtype-id "GTK_TYPE_WINDOW_POSITION")
+ (values
+ '("none" "GTK_WIN_POS_NONE")
+ '("center" "GTK_WIN_POS_CENTER")
+ '("mouse" "GTK_WIN_POS_MOUSE")
+ '("center-always" "GTK_WIN_POS_CENTER_ALWAYS")
+ '("center-on-parent" "GTK_WIN_POS_CENTER_ON_PARENT")
+ )
+)
+
+(define-enum WindowType
+ (in-module "Gtk")
+ (c-name "GtkWindowType")
+ (gtype-id "GTK_TYPE_WINDOW_TYPE")
+ (values
+ '("toplevel" "GTK_WINDOW_TOPLEVEL")
+ '("popup" "GTK_WINDOW_POPUP")
+ )
+)
+
+(define-enum WrapMode
+ (in-module "Gtk")
+ (c-name "GtkWrapMode")
+ (gtype-id "GTK_TYPE_WRAP_MODE")
+ (values
+ '("none" "GTK_WRAP_NONE")
+ '("char" "GTK_WRAP_CHAR")
+ '("word" "GTK_WRAP_WORD")
+ '("word-char" "GTK_WRAP_WORD_CHAR")
+ )
+)
+
+(define-enum SortType
+ (in-module "Gtk")
+ (c-name "GtkSortType")
+ (gtype-id "GTK_TYPE_SORT_TYPE")
+ (values
+ '("ascending" "GTK_SORT_ASCENDING")
+ '("descending" "GTK_SORT_DESCENDING")
+ )
+)
+
+(define-enum IMPreeditStyle
+ (in-module "Gtk")
+ (c-name "GtkIMPreeditStyle")
+ (gtype-id "GTK_TYPE_IM_PREEDIT_STYLE")
+ (values
+ '("nothing" "GTK_IM_PREEDIT_NOTHING")
+ '("callback" "GTK_IM_PREEDIT_CALLBACK")
+ '("none" "GTK_IM_PREEDIT_NONE")
+ )
+)
+
+(define-enum IMStatusStyle
+ (in-module "Gtk")
+ (c-name "GtkIMStatusStyle")
+ (gtype-id "GTK_TYPE_IM_STATUS_STYLE")
+ (values
+ '("nothing" "GTK_IM_STATUS_NOTHING")
+ '("callback" "GTK_IM_STATUS_CALLBACK")
+ '("none" "GTK_IM_STATUS_NONE")
+ )
+)
+
+(define-enum PackDirection
+ (in-module "Gtk")
+ (c-name "GtkPackDirection")
+ (gtype-id "GTK_TYPE_PACK_DIRECTION")
+ (values
+ '("ltr" "GTK_PACK_DIRECTION_LTR")
+ '("rtl" "GTK_PACK_DIRECTION_RTL")
+ '("ttb" "GTK_PACK_DIRECTION_TTB")
+ '("btt" "GTK_PACK_DIRECTION_BTT")
+ )
+)
+
+(define-enum PrintPages
+ (in-module "Gtk")
+ (c-name "GtkPrintPages")
+ (gtype-id "GTK_TYPE_PRINT_PAGES")
+ (values
+ '("all" "GTK_PRINT_PAGES_ALL")
+ '("current" "GTK_PRINT_PAGES_CURRENT")
+ '("ranges" "GTK_PRINT_PAGES_RANGES")
+ )
+)
+
+(define-enum PageSet
+ (in-module "Gtk")
+ (c-name "GtkPageSet")
+ (gtype-id "GTK_TYPE_PAGE_SET")
+ (values
+ '("all" "GTK_PAGE_SET_ALL")
+ '("even" "GTK_PAGE_SET_EVEN")
+ '("odd" "GTK_PAGE_SET_ODD")
+ )
+)
+
+(define-enum PageOrientation
+ (in-module "Gtk")
+ (c-name "GtkPageOrientation")
+ (gtype-id "GTK_TYPE_PAGE_ORIENTATION")
+ (values
+ '("portrait" "GTK_PAGE_ORIENTATION_PORTRAIT")
+ '("landscape" "GTK_PAGE_ORIENTATION_LANDSCAPE")
+ '("reverse-portrait" "GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT")
+ '("reverse-landscape" "GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE")
+ )
+)
+
+(define-enum PrintQuality
+ (in-module "Gtk")
+ (c-name "GtkPrintQuality")
+ (gtype-id "GTK_TYPE_PRINT_QUALITY")
+ (values
+ '("low" "GTK_PRINT_QUALITY_LOW")
+ '("normal" "GTK_PRINT_QUALITY_NORMAL")
+ '("high" "GTK_PRINT_QUALITY_HIGH")
+ '("draft" "GTK_PRINT_QUALITY_DRAFT")
+ )
+)
+
+(define-enum PrintDuplex
+ (in-module "Gtk")
+ (c-name "GtkPrintDuplex")
+ (gtype-id "GTK_TYPE_PRINT_DUPLEX")
+ (values
+ '("simplex" "GTK_PRINT_DUPLEX_SIMPLEX")
+ '("horizontal" "GTK_PRINT_DUPLEX_HORIZONTAL")
+ '("vertical" "GTK_PRINT_DUPLEX_VERTICAL")
+ )
+)
+
+(define-enum Unit
+ (in-module "Gtk")
+ (c-name "GtkUnit")
+ (gtype-id "GTK_TYPE_UNIT")
+ (values
+ '("pixel" "GTK_UNIT_PIXEL")
+ '("points" "GTK_UNIT_POINTS")
+ '("inch" "GTK_UNIT_INCH")
+ '("mm" "GTK_UNIT_MM")
+ )
+)
+
+(define-enum TreeViewGridLines
+ (in-module "Gtk")
+ (c-name "GtkTreeViewGridLines")
+ (gtype-id "GTK_TYPE_TREE_VIEW_GRID_LINES")
+ (values
+ '("none" "GTK_TREE_VIEW_GRID_LINES_NONE")
+ '("horizontal" "GTK_TREE_VIEW_GRID_LINES_HORIZONTAL")
+ '("vertical" "GTK_TREE_VIEW_GRID_LINES_VERTICAL")
+ '("both" "GTK_TREE_VIEW_GRID_LINES_BOTH")
+ )
+)
+
+(define-enum DragResult
+ (in-module "Gtk")
+ (c-name "GtkDragResult")
+ (gtype-id "GTK_TYPE_DRAG_RESULT")
+ (values
+ '("success" "GTK_DRAG_RESULT_SUCCESS")
+ '("no-target" "GTK_DRAG_RESULT_NO_TARGET")
+ '("user-cancelled" "GTK_DRAG_RESULT_USER_CANCELLED")
+ '("timeout-expired" "GTK_DRAG_RESULT_TIMEOUT_EXPIRED")
+ '("grab-broken" "GTK_DRAG_RESULT_GRAB_BROKEN")
+ '("error" "GTK_DRAG_RESULT_ERROR")
+ )
+)
+
+(define-enum FileChooserAction
+ (in-module "Gtk")
+ (c-name "GtkFileChooserAction")
+ (gtype-id "GTK_TYPE_FILE_CHOOSER_ACTION")
+ (values
+ '("open" "GTK_FILE_CHOOSER_ACTION_OPEN")
+ '("save" "GTK_FILE_CHOOSER_ACTION_SAVE")
+ '("select-folder" "GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER")
+ '("create-folder" "GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER")
+ )
+)
+
+(define-enum FileChooserConfirmation
+ (in-module "Gtk")
+ (c-name "GtkFileChooserConfirmation")
+ (gtype-id "GTK_TYPE_FILE_CHOOSER_CONFIRMATION")
+ (values
+ '("confirm" "GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM")
+ '("accept-filename" "GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME")
+ '("select-again" "GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN")
+ )
+)
+
+(define-enum FileChooserError
+ (in-module "Gtk")
+ (c-name "GtkFileChooserError")
+ (gtype-id "GTK_TYPE_FILE_CHOOSER_ERROR")
+ (values
+ '("nonexistent" "GTK_FILE_CHOOSER_ERROR_NONEXISTENT")
+ '("bad-filename" "GTK_FILE_CHOOSER_ERROR_BAD_FILENAME")
+ '("already-exists" "GTK_FILE_CHOOSER_ERROR_ALREADY_EXISTS")
+ )
+)
+
+(define-enum State
+ (in-module "Load")
+ (c-name "LoadState")
+ (gtype-id "LOAD_TYPE_STATE")
+ (values
+ '("empty" "LOAD_EMPTY")
+ '("preload" "LOAD_PRELOAD")
+ '("loading" "LOAD_LOADING")
+ '("finished" "LOAD_FINISHED")
+ )
+)
+
+(define-enum State
+ (in-module "Reload")
+ (c-name "ReloadState")
+ (gtype-id "RELOAD_TYPE_STATE")
+ (values
+ '("empty" "RELOAD_EMPTY")
+ '("has-folder" "RELOAD_HAS_FOLDER")
+ '("was-unmapped" "RELOAD_WAS_UNMAPPED")
+ )
+)
+
+(define-enum Mode
+ (in-module "Location")
+ (c-name "LocationMode")
+ (gtype-id "LOCATION_TYPE_MODE")
+ (values
+ '("path-bar" "LOCATION_MODE_PATH_BAR")
+ '("filename-entry" "LOCATION_MODE_FILENAME_ENTRY")
+ )
+)
+
+(define-enum Mode
+ (in-module "Operation")
+ (c-name "OperationMode")
+ (gtype-id "OPERATION_TYPE_MODE")
+ (values
+ '("browse" "OPERATION_MODE_BROWSE")
+ '("search" "OPERATION_MODE_SEARCH")
+ '("recent" "OPERATION_MODE_RECENT")
+ )
+)
+
+(define-enum FileChooserProp
+ (in-module "Gtk")
+ (c-name "GtkFileChooserProp")
+ (gtype-id "GTK_TYPE_FILE_CHOOSER_PROP")
+ (values
+ '("first" "GTK_FILE_CHOOSER_PROP_FIRST")
+ '("action" "GTK_FILE_CHOOSER_PROP_ACTION")
+ '("file-system-backend" "GTK_FILE_CHOOSER_PROP_FILE_SYSTEM_BACKEND")
+ '("filter" "GTK_FILE_CHOOSER_PROP_FILTER")
+ '("local-only" "GTK_FILE_CHOOSER_PROP_LOCAL_ONLY")
+ '("preview-widget" "GTK_FILE_CHOOSER_PROP_PREVIEW_WIDGET")
+ '("preview-widget-active" "GTK_FILE_CHOOSER_PROP_PREVIEW_WIDGET_ACTIVE")
+ '("use-preview-label" "GTK_FILE_CHOOSER_PROP_USE_PREVIEW_LABEL")
+ '("extra-widget" "GTK_FILE_CHOOSER_PROP_EXTRA_WIDGET")
+ '("select-multiple" "GTK_FILE_CHOOSER_PROP_SELECT_MULTIPLE")
+ '("show-hidden" "GTK_FILE_CHOOSER_PROP_SHOW_HIDDEN")
+ '("do-overwrite-confirmation" "GTK_FILE_CHOOSER_PROP_DO_OVERWRITE_CONFIRMATION")
+ '("last" "GTK_FILE_CHOOSER_PROP_LAST")
+ )
+)
+
+(define-flags FileFilterFlags
+ (in-module "Gtk")
+ (c-name "GtkFileFilterFlags")
+ (gtype-id "GTK_TYPE_FILE_FILTER_FLAGS")
+ (values
+ '("filename" "GTK_FILE_FILTER_FILENAME")
+ '("uri" "GTK_FILE_FILTER_URI")
+ '("display-name" "GTK_FILE_FILTER_DISPLAY_NAME")
+ '("mime-type" "GTK_FILE_FILTER_MIME_TYPE")
+ )
+)
+
+(define-flags FileInfoType
+ (in-module "Gtk")
+ (c-name "GtkFileInfoType")
+ (gtype-id "GTK_TYPE_FILE_INFO_TYPE")
+ (values
+ '("display-name" "GTK_FILE_INFO_DISPLAY_NAME")
+ '("is-folder" "GTK_FILE_INFO_IS_FOLDER")
+ '("is-hidden" "GTK_FILE_INFO_IS_HIDDEN")
+ '("mime-type" "GTK_FILE_INFO_MIME_TYPE")
+ '("modification-time" "GTK_FILE_INFO_MODIFICATION_TIME")
+ '("size" "GTK_FILE_INFO_SIZE")
+ '("icon" "GTK_FILE_INFO_ICON")
+ '("all" "GTK_FILE_INFO_ALL")
+ )
+)
+
+(define-enum FileSystemError
+ (in-module "Gtk")
+ (c-name "GtkFileSystemError")
+ (gtype-id "GTK_TYPE_FILE_SYSTEM_ERROR")
+ (values
+ '("nonexistent" "GTK_FILE_SYSTEM_ERROR_NONEXISTENT")
+ '("not-folder" "GTK_FILE_SYSTEM_ERROR_NOT_FOLDER")
+ '("invalid-uri" "GTK_FILE_SYSTEM_ERROR_INVALID_URI")
+ '("bad-filename" "GTK_FILE_SYSTEM_ERROR_BAD_FILENAME")
+ '("failed" "GTK_FILE_SYSTEM_ERROR_FAILED")
+ '("already-exists" "GTK_FILE_SYSTEM_ERROR_ALREADY_EXISTS")
+ )
+)
+
+(define-enum FileSystemModelColumns
+ (in-module "Gtk")
+ (c-name "GtkFileSystemModelColumns")
+ (gtype-id "GTK_TYPE_FILE_SYSTEM_MODEL_COLUMNS")
+ (values
+ '("info" "GTK_FILE_SYSTEM_MODEL_INFO")
+ '("display-name" "GTK_FILE_SYSTEM_MODEL_DISPLAY_NAME")
+ '("n-columns" "GTK_FILE_SYSTEM_MODEL_N_COLUMNS")
+ )
+)
+
+(define-flags IconLookupFlags
+ (in-module "Gtk")
+ (c-name "GtkIconLookupFlags")
+ (gtype-id "GTK_TYPE_ICON_LOOKUP_FLAGS")
+ (values
+ '("no-svg" "GTK_ICON_LOOKUP_NO_SVG")
+ '("force-svg" "GTK_ICON_LOOKUP_FORCE_SVG")
+ '("use-builtin" "GTK_ICON_LOOKUP_USE_BUILTIN")
+ '("generic-fallback" "GTK_ICON_LOOKUP_GENERIC_FALLBACK")
+ )
+)
+
+(define-enum IconThemeError
+ (in-module "Gtk")
+ (c-name "GtkIconThemeError")
+ (gtype-id "GTK_TYPE_ICON_THEME_ERROR")
+ (values
+ '("not-found" "GTK_ICON_THEME_NOT_FOUND")
+ '("failed" "GTK_ICON_THEME_FAILED")
+ )
+)
+
+(define-enum IconViewDropPosition
+ (in-module "Gtk")
+ (c-name "GtkIconViewDropPosition")
+ (gtype-id "GTK_TYPE_ICON_VIEW_DROP_POSITION")
+ (values
+ '("no-drop" "GTK_ICON_VIEW_NO_DROP")
+ '("drop-into" "GTK_ICON_VIEW_DROP_INTO")
+ '("drop-left" "GTK_ICON_VIEW_DROP_LEFT")
+ '("drop-right" "GTK_ICON_VIEW_DROP_RIGHT")
+ '("drop-above" "GTK_ICON_VIEW_DROP_ABOVE")
+ '("drop-below" "GTK_ICON_VIEW_DROP_BELOW")
+ )
+)
+
+(define-enum ImageType
+ (in-module "Gtk")
+ (c-name "GtkImageType")
+ (gtype-id "GTK_TYPE_IMAGE_TYPE")
+ (values
+ '("empty" "GTK_IMAGE_EMPTY")
+ '("pixmap" "GTK_IMAGE_PIXMAP")
+ '("image" "GTK_IMAGE_IMAGE")
+ '("pixbuf" "GTK_IMAGE_PIXBUF")
+ '("stock" "GTK_IMAGE_STOCK")
+ '("icon-set" "GTK_IMAGE_ICON_SET")
+ '("animation" "GTK_IMAGE_ANIMATION")
+ '("icon-name" "GTK_IMAGE_ICON_NAME")
+ )
+)
+
+(define-enum MessageType
+ (in-module "Gtk")
+ (c-name "GtkMessageType")
+ (gtype-id "GTK_TYPE_MESSAGE_TYPE")
+ (values
+ '("info" "GTK_MESSAGE_INFO")
+ '("warning" "GTK_MESSAGE_WARNING")
+ '("question" "GTK_MESSAGE_QUESTION")
+ '("error" "GTK_MESSAGE_ERROR")
+ '("other" "GTK_MESSAGE_OTHER")
+ )
+)
+
+(define-enum ButtonsType
+ (in-module "Gtk")
+ (c-name "GtkButtonsType")
+ (gtype-id "GTK_TYPE_BUTTONS_TYPE")
+ (values
+ '("none" "GTK_BUTTONS_NONE")
+ '("ok" "GTK_BUTTONS_OK")
+ '("close" "GTK_BUTTONS_CLOSE")
+ '("cancel" "GTK_BUTTONS_CANCEL")
+ '("yes-no" "GTK_BUTTONS_YES_NO")
+ '("ok-cancel" "GTK_BUTTONS_OK_CANCEL")
+ )
+)
+
+(define-enum NotebookTab
+ (in-module "Gtk")
+ (c-name "GtkNotebookTab")
+ (gtype-id "GTK_TYPE_NOTEBOOK_TAB")
+ (values
+ '("first" "GTK_NOTEBOOK_TAB_FIRST")
+ '("last" "GTK_NOTEBOOK_TAB_LAST")
+ )
+)
+
+(define-flags ObjectFlags
+ (in-module "Gtk")
+ (c-name "GtkObjectFlags")
+ (gtype-id "GTK_TYPE_OBJECT_FLAGS")
+ (values
+ '("gtk-in-destruction" "GTK_IN_DESTRUCTION")
+ '("#if" "#if")
+ '("#endif" "#endif")
+ '("gtk-reserved-2" "GTK_RESERVED_2")
+ )
+)
+
+(define-flags ArgFlags
+ (in-module "Gtk")
+ (c-name "GtkArgFlags")
+ (gtype-id "GTK_TYPE_ARG_FLAGS")
+ (values
+ '("readable" "GTK_ARG_READABLE")
+ '("writable" "GTK_ARG_WRITABLE")
+ '("construct" "GTK_ARG_CONSTRUCT")
+ '("construct-only" "GTK_ARG_CONSTRUCT_ONLY")
+ '("child-arg" "GTK_ARG_CHILD_ARG")
+ )
+)
+
+(define-enum PrintBackendError
+ (in-module "Gtk")
+ (c-name "GtkPrintBackendError")
+ (gtype-id "GTK_TYPE_PRINT_BACKEND_ERROR")
+ (values
+ '("c" "GTK_PRINT_BACKEND_ERROR_GENERIC")
+ )
+)
+
+(define-flags PrintCapabilities
+ (in-module "Gtk")
+ (c-name "GtkPrintCapabilities")
+ (gtype-id "GTK_TYPE_PRINT_CAPABILITIES")
+ (values
+ '("page-set" "GTK_PRINT_CAPABILITY_PAGE_SET")
+ '("copies" "GTK_PRINT_CAPABILITY_COPIES")
+ '("collate" "GTK_PRINT_CAPABILITY_COLLATE")
+ '("reverse" "GTK_PRINT_CAPABILITY_REVERSE")
+ '("scale" "GTK_PRINT_CAPABILITY_SCALE")
+ '("generate-pdf" "GTK_PRINT_CAPABILITY_GENERATE_PDF")
+ '("generate-ps" "GTK_PRINT_CAPABILITY_GENERATE_PS")
+ '("preview" "GTK_PRINT_CAPABILITY_PREVIEW")
+ '("number-up" "GTK_PRINT_CAPABILITY_NUMBER_UP")
+ )
+)
+
+(define-enum PrinterOptionType
+ (in-module "Gtk")
+ (c-name "GtkPrinterOptionType")
+ (gtype-id "GTK_TYPE_PRINTER_OPTION_TYPE")
+ (values
+ '("boolean" "GTK_PRINTER_OPTION_TYPE_BOOLEAN")
+ '("pickone" "GTK_PRINTER_OPTION_TYPE_PICKONE")
+ '("pickone-password" "GTK_PRINTER_OPTION_TYPE_PICKONE_PASSWORD")
+ '("pickone-passcode" "GTK_PRINTER_OPTION_TYPE_PICKONE_PASSCODE")
+ '("pickone-real" "GTK_PRINTER_OPTION_TYPE_PICKONE_REAL")
+ '("pickone-int" "GTK_PRINTER_OPTION_TYPE_PICKONE_INT")
+ '("pickone-string" "GTK_PRINTER_OPTION_TYPE_PICKONE_STRING")
+ '("alternative" "GTK_PRINTER_OPTION_TYPE_ALTERNATIVE")
+ '("string" "GTK_PRINTER_OPTION_TYPE_STRING")
+ '("filesave" "GTK_PRINTER_OPTION_TYPE_FILESAVE")
+ )
+)
+
+(define-enum PrintStatus
+ (in-module "Gtk")
+ (c-name "GtkPrintStatus")
+ (gtype-id "GTK_TYPE_PRINT_STATUS")
+ (values
+ '("initial" "GTK_PRINT_STATUS_INITIAL")
+ '("preparing" "GTK_PRINT_STATUS_PREPARING")
+ '("generating-data" "GTK_PRINT_STATUS_GENERATING_DATA")
+ '("sending-data" "GTK_PRINT_STATUS_SENDING_DATA")
+ '("pending" "GTK_PRINT_STATUS_PENDING")
+ '("pending-issue" "GTK_PRINT_STATUS_PENDING_ISSUE")
+ '("printing" "GTK_PRINT_STATUS_PRINTING")
+ '("finished" "GTK_PRINT_STATUS_FINISHED")
+ '("finished-aborted" "GTK_PRINT_STATUS_FINISHED_ABORTED")
+ )
+)
+
+(define-enum PrintOperationResult
+ (in-module "Gtk")
+ (c-name "GtkPrintOperationResult")
+ (gtype-id "GTK_TYPE_PRINT_OPERATION_RESULT")
+ (values
+ '("error" "GTK_PRINT_OPERATION_RESULT_ERROR")
+ '("apply" "GTK_PRINT_OPERATION_RESULT_APPLY")
+ '("cancel" "GTK_PRINT_OPERATION_RESULT_CANCEL")
+ '("in-progress" "GTK_PRINT_OPERATION_RESULT_IN_PROGRESS")
+ )
+)
+
+(define-enum PrintOperationAction
+ (in-module "Gtk")
+ (c-name "GtkPrintOperationAction")
+ (gtype-id "GTK_TYPE_PRINT_OPERATION_ACTION")
+ (values
+ '("print-dialog" "GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG")
+ '("print" "GTK_PRINT_OPERATION_ACTION_PRINT")
+ '("preview" "GTK_PRINT_OPERATION_ACTION_PREVIEW")
+ '("export" "GTK_PRINT_OPERATION_ACTION_EXPORT")
+ )
+)
+
+(define-enum PrintError
+ (in-module "Gtk")
+ (c-name "GtkPrintError")
+ (gtype-id "GTK_TYPE_PRINT_ERROR")
+ (values
+ '("general" "GTK_PRINT_ERROR_GENERAL")
+ '("internal-error" "GTK_PRINT_ERROR_INTERNAL_ERROR")
+ '("nomem" "GTK_PRINT_ERROR_NOMEM")
+ '("invalid-file" "GTK_PRINT_ERROR_INVALID_FILE")
+ )
+)
+
+(define-flags PrivateFlags
+ (in-module "Gtk")
+ (c-name "GtkPrivateFlags")
+ (gtype-id "GTK_TYPE_PRIVATE_FLAGS")
+ (values
+ '("user-style" "PRIVATE_GTK_USER_STYLE")
+ '("resize-pending" "PRIVATE_GTK_RESIZE_PENDING")
+ '("leave-pending" "PRIVATE_GTK_LEAVE_PENDING")
+ '("has-shape-mask" "PRIVATE_GTK_HAS_SHAPE_MASK")
+ '("in-reparent" "PRIVATE_GTK_IN_REPARENT")
+ '("direction-set" "PRIVATE_GTK_DIRECTION_SET")
+ '("direction-ltr" "PRIVATE_GTK_DIRECTION_LTR")
+ '("anchored" "PRIVATE_GTK_ANCHORED")
+ '("child-visible" "PRIVATE_GTK_CHILD_VISIBLE")
+ '("redraw-on-alloc" "PRIVATE_GTK_REDRAW_ON_ALLOC")
+ '("alloc-needed" "PRIVATE_GTK_ALLOC_NEEDED")
+ '("request-needed" "PRIVATE_GTK_REQUEST_NEEDED")
+ )
+)
+
+(define-enum ProgressBarStyle
+ (in-module "Gtk")
+ (c-name "GtkProgressBarStyle")
+ (gtype-id "GTK_TYPE_PROGRESS_BAR_STYLE")
+ (values
+ '("continuous" "GTK_PROGRESS_CONTINUOUS")
+ '("discrete" "GTK_PROGRESS_DISCRETE")
+ )
+)
+
+(define-enum ProgressBarOrientation
+ (in-module "Gtk")
+ (c-name "GtkProgressBarOrientation")
+ (gtype-id "GTK_TYPE_PROGRESS_BAR_ORIENTATION")
+ (values
+ '("left-to-right" "GTK_PROGRESS_LEFT_TO_RIGHT")
+ '("right-to-left" "GTK_PROGRESS_RIGHT_TO_LEFT")
+ '("bottom-to-top" "GTK_PROGRESS_BOTTOM_TO_TOP")
+ '("top-to-bottom" "GTK_PROGRESS_TOP_TO_BOTTOM")
+ )
+)
+
+(define-flags RBNodeColor
+ (in-module "Gtk")
+ (c-name "GtkRBNodeColor")
+ (gtype-id "GTK_TYPE_RB_NODE_COLOR")
+ (values
+ '("black" "GTK_RBNODE_BLACK")
+ '("red" "GTK_RBNODE_RED")
+ '("is-parent" "GTK_RBNODE_IS_PARENT")
+ '("is-selected" "GTK_RBNODE_IS_SELECTED")
+ '("is-prelit" "GTK_RBNODE_IS_PRELIT")
+ '("is-semi-collapsed" "GTK_RBNODE_IS_SEMI_COLLAPSED")
+ '("is-semi-expanded" "GTK_RBNODE_IS_SEMI_EXPANDED")
+ '("invalid" "GTK_RBNODE_INVALID")
+ '("column-invalid" "GTK_RBNODE_COLUMN_INVALID")
+ '("descendants-invalid" "GTK_RBNODE_DESCENDANTS_INVALID")
+ '("non-colors" "GTK_RBNODE_NON_COLORS")
+ )
+)
+
+(define-flags RcFlags
+ (in-module "Gtk")
+ (c-name "GtkRcFlags")
+ (gtype-id "GTK_TYPE_RC_FLAGS")
+ (values
+ '("fg" "GTK_RC_FG")
+ '("bg" "GTK_RC_BG")
+ '("text" "GTK_RC_TEXT")
+ '("base" "GTK_RC_BASE")
+ )
+)
+
+(define-enum RcTokenType
+ (in-module "Gtk")
+ (c-name "GtkRcTokenType")
+ (gtype-id "GTK_TYPE_RC_TOKEN_TYPE")
+ (values
+ '("invalid" "GTK_RC_TOKEN_INVALID")
+ '("include" "GTK_RC_TOKEN_INCLUDE")
+ '("normal" "GTK_RC_TOKEN_NORMAL")
+ '("active" "GTK_RC_TOKEN_ACTIVE")
+ '("prelight" "GTK_RC_TOKEN_PRELIGHT")
+ '("selected" "GTK_RC_TOKEN_SELECTED")
+ '("insensitive" "GTK_RC_TOKEN_INSENSITIVE")
+ '("fg" "GTK_RC_TOKEN_FG")
+ '("bg" "GTK_RC_TOKEN_BG")
+ '("text" "GTK_RC_TOKEN_TEXT")
+ '("base" "GTK_RC_TOKEN_BASE")
+ '("xthickness" "GTK_RC_TOKEN_XTHICKNESS")
+ '("ythickness" "GTK_RC_TOKEN_YTHICKNESS")
+ '("font" "GTK_RC_TOKEN_FONT")
+ '("fontset" "GTK_RC_TOKEN_FONTSET")
+ '("font-name" "GTK_RC_TOKEN_FONT_NAME")
+ '("bg-pixmap" "GTK_RC_TOKEN_BG_PIXMAP")
+ '("pixmap-path" "GTK_RC_TOKEN_PIXMAP_PATH")
+ '("style" "GTK_RC_TOKEN_STYLE")
+ '("binding" "GTK_RC_TOKEN_BINDING")
+ '("bind" "GTK_RC_TOKEN_BIND")
+ '("widget" "GTK_RC_TOKEN_WIDGET")
+ '("widget-class" "GTK_RC_TOKEN_WIDGET_CLASS")
+ '("class" "GTK_RC_TOKEN_CLASS")
+ '("lowest" "GTK_RC_TOKEN_LOWEST")
+ '("gtk" "GTK_RC_TOKEN_GTK")
+ '("application" "GTK_RC_TOKEN_APPLICATION")
+ '("theme" "GTK_RC_TOKEN_THEME")
+ '("rc" "GTK_RC_TOKEN_RC")
+ '("highest" "GTK_RC_TOKEN_HIGHEST")
+ '("engine" "GTK_RC_TOKEN_ENGINE")
+ '("module-path" "GTK_RC_TOKEN_MODULE_PATH")
+ '("im-module-path" "GTK_RC_TOKEN_IM_MODULE_PATH")
+ '("im-module-file" "GTK_RC_TOKEN_IM_MODULE_FILE")
+ '("stock" "GTK_RC_TOKEN_STOCK")
+ '("ltr" "GTK_RC_TOKEN_LTR")
+ '("rtl" "GTK_RC_TOKEN_RTL")
+ '("color" "GTK_RC_TOKEN_COLOR")
+ '("unbind" "GTK_RC_TOKEN_UNBIND")
+ '("last" "GTK_RC_TOKEN_LAST")
+ )
+)
+
+(define-enum RecentSortType
+ (in-module "Gtk")
+ (c-name "GtkRecentSortType")
+ (gtype-id "GTK_TYPE_RECENT_SORT_TYPE")
+ (values
+ '("none" "GTK_RECENT_SORT_NONE")
+ '("mru" "GTK_RECENT_SORT_MRU")
+ '("lru" "GTK_RECENT_SORT_LRU")
+ '("custom" "GTK_RECENT_SORT_CUSTOM")
+ )
+)
+
+(define-enum RecentChooserError
+ (in-module "Gtk")
+ (c-name "GtkRecentChooserError")
+ (gtype-id "GTK_TYPE_RECENT_CHOOSER_ERROR")
+ (values
+ '("not-found" "GTK_RECENT_CHOOSER_ERROR_NOT_FOUND")
+ '("invalid-uri" "GTK_RECENT_CHOOSER_ERROR_INVALID_URI")
+ )
+)
+
+(define-enum RecentChooserProp
+ (in-module "Gtk")
+ (c-name "GtkRecentChooserProp")
+ (gtype-id "GTK_TYPE_RECENT_CHOOSER_PROP")
+ (values
+ '("first" "GTK_RECENT_CHOOSER_PROP_FIRST")
+ '("recent-manager" "GTK_RECENT_CHOOSER_PROP_RECENT_MANAGER")
+ '("show-private" "GTK_RECENT_CHOOSER_PROP_SHOW_PRIVATE")
+ '("show-not-found" "GTK_RECENT_CHOOSER_PROP_SHOW_NOT_FOUND")
+ '("show-tips" "GTK_RECENT_CHOOSER_PROP_SHOW_TIPS")
+ '("show-icons" "GTK_RECENT_CHOOSER_PROP_SHOW_ICONS")
+ '("select-multiple" "GTK_RECENT_CHOOSER_PROP_SELECT_MULTIPLE")
+ '("limit" "GTK_RECENT_CHOOSER_PROP_LIMIT")
+ '("local-only" "GTK_RECENT_CHOOSER_PROP_LOCAL_ONLY")
+ '("sort-type" "GTK_RECENT_CHOOSER_PROP_SORT_TYPE")
+ '("filter" "GTK_RECENT_CHOOSER_PROP_FILTER")
+ '("last" "GTK_RECENT_CHOOSER_PROP_LAST")
+ )
+)
+
+(define-flags RecentFilterFlags
+ (in-module "Gtk")
+ (c-name "GtkRecentFilterFlags")
+ (gtype-id "GTK_TYPE_RECENT_FILTER_FLAGS")
+ (values
+ '("uri" "GTK_RECENT_FILTER_URI")
+ '("display-name" "GTK_RECENT_FILTER_DISPLAY_NAME")
+ '("mime-type" "GTK_RECENT_FILTER_MIME_TYPE")
+ '("application" "GTK_RECENT_FILTER_APPLICATION")
+ '("group" "GTK_RECENT_FILTER_GROUP")
+ '("age" "GTK_RECENT_FILTER_AGE")
+ )
+)
+
+(define-enum RecentManagerError
+ (in-module "Gtk")
+ (c-name "GtkRecentManagerError")
+ (gtype-id "GTK_TYPE_RECENT_MANAGER_ERROR")
+ (values
+ '("not-found" "GTK_RECENT_MANAGER_ERROR_NOT_FOUND")
+ '("invalid-uri" "GTK_RECENT_MANAGER_ERROR_INVALID_URI")
+ '("invalid-encoding" "GTK_RECENT_MANAGER_ERROR_INVALID_ENCODING")
+ '("not-registered" "GTK_RECENT_MANAGER_ERROR_NOT_REGISTERED")
+ '("read" "GTK_RECENT_MANAGER_ERROR_READ")
+ '("write" "GTK_RECENT_MANAGER_ERROR_WRITE")
+ '("unknown" "GTK_RECENT_MANAGER_ERROR_UNKNOWN")
+ )
+)
+
+(define-enum SizeGroupMode
+ (in-module "Gtk")
+ (c-name "GtkSizeGroupMode")
+ (gtype-id "GTK_TYPE_SIZE_GROUP_MODE")
+ (values
+ '("none" "GTK_SIZE_GROUP_NONE")
+ '("horizontal" "GTK_SIZE_GROUP_HORIZONTAL")
+ '("vertical" "GTK_SIZE_GROUP_VERTICAL")
+ '("both" "GTK_SIZE_GROUP_BOTH")
+ )
+)
+
+(define-enum SpinButtonUpdatePolicy
+ (in-module "Gtk")
+ (c-name "GtkSpinButtonUpdatePolicy")
+ (gtype-id "GTK_TYPE_SPIN_BUTTON_UPDATE_POLICY")
+ (values
+ '("always" "GTK_UPDATE_ALWAYS")
+ '("if-valid" "GTK_UPDATE_IF_VALID")
+ )
+)
+
+(define-enum SpinType
+ (in-module "Gtk")
+ (c-name "GtkSpinType")
+ (gtype-id "GTK_TYPE_SPIN_TYPE")
+ (values
+ '("step-forward" "GTK_SPIN_STEP_FORWARD")
+ '("step-backward" "GTK_SPIN_STEP_BACKWARD")
+ '("page-forward" "GTK_SPIN_PAGE_FORWARD")
+ '("page-backward" "GTK_SPIN_PAGE_BACKWARD")
+ '("home" "GTK_SPIN_HOME")
+ '("end" "GTK_SPIN_END")
+ '("user-defined" "GTK_SPIN_USER_DEFINED")
+ )
+)
+
+(define-enum TextBufferTargetInfo
+ (in-module "Gtk")
+ (c-name "GtkTextBufferTargetInfo")
+ (gtype-id "GTK_TYPE_TEXT_BUFFER_TARGET_INFO")
+ (values
+ '("buffer-contents" "GTK_TEXT_BUFFER_TARGET_INFO_BUFFER_CONTENTS")
+ '("rich-text" "GTK_TEXT_BUFFER_TARGET_INFO_RICH_TEXT")
+ '("text" "GTK_TEXT_BUFFER_TARGET_INFO_TEXT")
+ )
+)
+
+(define-flags TextSearchFlags
+ (in-module "Gtk")
+ (c-name "GtkTextSearchFlags")
+ (gtype-id "GTK_TYPE_TEXT_SEARCH_FLAGS")
+ (values
+ '("visible-only" "GTK_TEXT_SEARCH_VISIBLE_ONLY")
+ '("text-only" "GTK_TEXT_SEARCH_TEXT_ONLY")
+ )
+)
+
+(define-enum TextWindowType
+ (in-module "Gtk")
+ (c-name "GtkTextWindowType")
+ (gtype-id "GTK_TYPE_TEXT_WINDOW_TYPE")
+ (values
+ '("private" "GTK_TEXT_WINDOW_PRIVATE")
+ '("widget" "GTK_TEXT_WINDOW_WIDGET")
+ '("text" "GTK_TEXT_WINDOW_TEXT")
+ '("left" "GTK_TEXT_WINDOW_LEFT")
+ '("right" "GTK_TEXT_WINDOW_RIGHT")
+ '("top" "GTK_TEXT_WINDOW_TOP")
+ '("bottom" "GTK_TEXT_WINDOW_BOTTOM")
+ )
+)
+
+(define-enum ToolbarChildType
+ (in-module "Gtk")
+ (c-name "GtkToolbarChildType")
+ (gtype-id "GTK_TYPE_TOOLBAR_CHILD_TYPE")
+ (values
+ '("space" "GTK_TOOLBAR_CHILD_SPACE")
+ '("button" "GTK_TOOLBAR_CHILD_BUTTON")
+ '("togglebutton" "GTK_TOOLBAR_CHILD_TOGGLEBUTTON")
+ '("radiobutton" "GTK_TOOLBAR_CHILD_RADIOBUTTON")
+ '("widget" "GTK_TOOLBAR_CHILD_WIDGET")
+ )
+)
+
+(define-enum ToolbarSpaceStyle
+ (in-module "Gtk")
+ (c-name "GtkToolbarSpaceStyle")
+ (gtype-id "GTK_TYPE_TOOLBAR_SPACE_STYLE")
+ (values
+ '("empty" "GTK_TOOLBAR_SPACE_EMPTY")
+ '("line" "GTK_TOOLBAR_SPACE_LINE")
+ )
+)
+
+(define-enum TreeViewMode
+ (in-module "Gtk")
+ (c-name "GtkTreeViewMode")
+ (gtype-id "GTK_TYPE_TREE_VIEW_MODE")
+ (values
+ '("line" "GTK_TREE_VIEW_LINE")
+ '("item" "GTK_TREE_VIEW_ITEM")
+ )
+)
+
+(define-flags TreeModelFlags
+ (in-module "Gtk")
+ (c-name "GtkTreeModelFlags")
+ (gtype-id "GTK_TYPE_TREE_MODEL_FLAGS")
+ (values
+ '("iters-persist" "GTK_TREE_MODEL_ITERS_PERSIST")
+ '("list-only" "GTK_TREE_MODEL_LIST_ONLY")
+ )
+)
+
+(define-flags TreeViewFlags
+ (in-module "Gtk")
+ (c-name "GtkTreeViewFlags")
+ (gtype-id "GTK_TYPE_TREE_VIEW_FLAGS")
+ (values
+ '("is-list" "GTK_TREE_VIEW_IS_LIST")
+ '("show-expanders" "GTK_TREE_VIEW_SHOW_EXPANDERS")
+ '("in-column-resize" "GTK_TREE_VIEW_IN_COLUMN_RESIZE")
+ '("arrow-prelit" "GTK_TREE_VIEW_ARROW_PRELIT")
+ '("headers-visible" "GTK_TREE_VIEW_HEADERS_VISIBLE")
+ '("draw-keyfocus" "GTK_TREE_VIEW_DRAW_KEYFOCUS")
+ '("model-setup" "GTK_TREE_VIEW_MODEL_SETUP")
+ '("in-column-drag" "GTK_TREE_VIEW_IN_COLUMN_DRAG")
+ )
+)
+
+(define-flags TreeSelectMode
+ (in-module "Gtk")
+ (c-name "GtkTreeSelectMode")
+ (gtype-id "GTK_TYPE_TREE_SELECT_MODE")
+ (values
+ '("toggle" "GTK_TREE_SELECT_MODE_TOGGLE")
+ '("extend" "GTK_TREE_SELECT_MODE_EXTEND")
+ )
+)
+
+(define-enum TreeViewColumnSizing
+ (in-module "Gtk")
+ (c-name "GtkTreeViewColumnSizing")
+ (gtype-id "GTK_TYPE_TREE_VIEW_COLUMN_SIZING")
+ (values
+ '("grow-only" "GTK_TREE_VIEW_COLUMN_GROW_ONLY")
+ '("autosize" "GTK_TREE_VIEW_COLUMN_AUTOSIZE")
+ '("fixed" "GTK_TREE_VIEW_COLUMN_FIXED")
+ )
+)
+
+(define-enum TreeViewDropPosition
+ (in-module "Gtk")
+ (c-name "GtkTreeViewDropPosition")
+ (gtype-id "GTK_TYPE_TREE_VIEW_DROP_POSITION")
+ (values
+ '("before" "GTK_TREE_VIEW_DROP_BEFORE")
+ '("after" "GTK_TREE_VIEW_DROP_AFTER")
+ '("into-or-before" "GTK_TREE_VIEW_DROP_INTO_OR_BEFORE")
+ '("into-or-after" "GTK_TREE_VIEW_DROP_INTO_OR_AFTER")
+ )
+)
+
+(define-flags UIManagerItemType
+ (in-module "Gtk")
+ (c-name "GtkUIManagerItemType")
+ (gtype-id "GTK_TYPE_UI_MANAGER_ITEM_TYPE")
+ (values
+ '("auto" "GTK_UI_MANAGER_AUTO")
+ '("menubar" "GTK_UI_MANAGER_MENUBAR")
+ '("menu" "GTK_UI_MANAGER_MENU")
+ '("toolbar" "GTK_UI_MANAGER_TOOLBAR")
+ '("placeholder" "GTK_UI_MANAGER_PLACEHOLDER")
+ '("popup" "GTK_UI_MANAGER_POPUP")
+ '("menuitem" "GTK_UI_MANAGER_MENUITEM")
+ '("toolitem" "GTK_UI_MANAGER_TOOLITEM")
+ '("separator" "GTK_UI_MANAGER_SEPARATOR")
+ '("accelerator" "GTK_UI_MANAGER_ACCELERATOR")
+ )
+)
+
+(define-flags WidgetFlags
+ (in-module "Gtk")
+ (c-name "GtkWidgetFlags")
+ (gtype-id "GTK_TYPE_WIDGET_FLAGS")
+ (values
+ '("toplevel" "GTK_TOPLEVEL")
+ '("no-window" "GTK_NO_WINDOW")
+ '("realized" "GTK_REALIZED")
+ '("mapped" "GTK_MAPPED")
+ '("visible" "GTK_VISIBLE")
+ '("sensitive" "GTK_SENSITIVE")
+ '("parent-sensitive" "GTK_PARENT_SENSITIVE")
+ '("can-focus" "GTK_CAN_FOCUS")
+ '("has-focus" "GTK_HAS_FOCUS")
+ '("can-default" "GTK_CAN_DEFAULT")
+ '("has-default" "GTK_HAS_DEFAULT")
+ '("has-grab" "GTK_HAS_GRAB")
+ '("rc-style" "GTK_RC_STYLE")
+ '("composite-child" "GTK_COMPOSITE_CHILD")
+ '("no-reparent" "GTK_NO_REPARENT")
+ '("app-paintable" "GTK_APP_PAINTABLE")
+ '("receives-default" "GTK_RECEIVES_DEFAULT")
+ '("double-buffered" "GTK_DOUBLE_BUFFERED")
+ '("no-show-all" "GTK_NO_SHOW_ALL")
+ )
+)
+
+(define-enum WidgetHelpType
+ (in-module "Gtk")
+ (c-name "GtkWidgetHelpType")
+ (gtype-id "GTK_TYPE_WIDGET_HELP_TYPE")
+ (values
+ '("tooltip" "GTK_WIDGET_HELP_TOOLTIP")
+ '("whats-this" "GTK_WIDGET_HELP_WHATS_THIS")
+ )
+)
+
+(define-enum MessageType
+ (in-module "XEmbed")
+ (c-name "XEmbedMessageType")
+ (gtype-id "X_TYPE_EMBED_MESSAGE_TYPE")
+ (values
+ '("embedded-notify" "XEMBED_EMBEDDED_NOTIFY")
+ '("window-activate" "XEMBED_WINDOW_ACTIVATE")
+ '("window-deactivate" "XEMBED_WINDOW_DEACTIVATE")
+ '("request-focus" "XEMBED_REQUEST_FOCUS")
+ '("focus-in" "XEMBED_FOCUS_IN")
+ '("focus-out" "XEMBED_FOCUS_OUT")
+ '("focus-next" "XEMBED_FOCUS_NEXT")
+ '("focus-prev" "XEMBED_FOCUS_PREV")
+ '("grab-key" "XEMBED_GRAB_KEY")
+ '("ungrab-key" "XEMBED_UNGRAB_KEY")
+ '("modality-on" "XEMBED_MODALITY_ON")
+ '("modality-off" "XEMBED_MODALITY_OFF")
+ '("gtk-grab-key" "XEMBED_GTK_GRAB_KEY")
+ '("gtk-ungrab-key" "XEMBED_GTK_UNGRAB_KEY")
+ )
+)
+
+
+;; From gtkaboutdialog.h
+
+(define-function gtk_about_dialog_get_type
+ (c-name "gtk_about_dialog_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_about_dialog_new
+ (c-name "gtk_about_dialog_new")
+ (is-constructor-of "GtkAboutDialog")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_show_about_dialog
+ (c-name "gtk_show_about_dialog")
+ (return-type "none")
+ (parameters
+ '("GtkWindow*" "parent")
+ '("const-gchar*" "first_property_name")
+ )
+ (varargs #t)
+)
+
+(define-method get_name
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_get_name")
+ (return-type "const-gchar*")
+)
+
+(define-method set_name
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_set_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method get_program_name
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_get_program_name")
+ (return-type "const-gchar*")
+)
+
+(define-method set_program_name
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_set_program_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method get_version
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_get_version")
+ (return-type "const-gchar*")
+)
+
+(define-method set_version
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_set_version")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "version")
+ )
+)
+
+(define-method get_copyright
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_get_copyright")
+ (return-type "const-gchar*")
+)
+
+(define-method set_copyright
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_set_copyright")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "copyright")
+ )
+)
+
+(define-method get_comments
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_get_comments")
+ (return-type "const-gchar*")
+)
+
+(define-method set_comments
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_set_comments")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "comments")
+ )
+)
+
+(define-method get_license
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_get_license")
+ (return-type "const-gchar*")
+)
+
+(define-method set_license
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_set_license")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "license")
+ )
+)
+
+(define-method get_wrap_license
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_get_wrap_license")
+ (return-type "gboolean")
+)
+
+(define-method set_wrap_license
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_set_wrap_license")
+ (return-type "none")
+ (parameters
+ '("gboolean" "wrap_license")
+ )
+)
+
+(define-method get_website
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_get_website")
+ (return-type "const-gchar*")
+)
+
+(define-method set_website
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_set_website")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "website")
+ )
+)
+
+(define-method get_website_label
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_get_website_label")
+ (return-type "const-gchar*")
+)
+
+(define-method set_website_label
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_set_website_label")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "website_label")
+ )
+)
+
+(define-method set_authors
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_set_authors")
+ (return-type "none")
+ (parameters
+ '("const-gchar**" "authors")
+ )
+)
+
+(define-method set_documenters
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_set_documenters")
+ (return-type "none")
+ (parameters
+ '("const-gchar**" "documenters")
+ )
+)
+
+(define-method set_artists
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_set_artists")
+ (return-type "none")
+ (parameters
+ '("const-gchar**" "artists")
+ )
+)
+
+(define-method get_translator_credits
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_get_translator_credits")
+ (return-type "const-gchar*")
+)
+
+(define-method set_translator_credits
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_set_translator_credits")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "translator_credits")
+ )
+)
+
+(define-method get_logo
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_get_logo")
+ (return-type "GdkPixbuf*")
+)
+
+(define-method set_logo
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_set_logo")
+ (return-type "none")
+ (parameters
+ '("GdkPixbuf*" "logo")
+ )
+)
+
+(define-method get_logo_icon_name
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_get_logo_icon_name")
+ (return-type "const-gchar*")
+)
+
+(define-method set_logo_icon_name
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_set_logo_icon_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "icon_name")
+ )
+)
+
+(define-function gtk_about_dialog_set_email_hook
+ (c-name "gtk_about_dialog_set_email_hook")
+ (return-type "GtkAboutDialogActivateLinkFunc")
+ (parameters
+ '("GtkAboutDialogActivateLinkFunc" "func")
+ '("gpointer" "data")
+ '("GDestroyNotify" "destroy")
+ )
+)
+
+(define-function gtk_about_dialog_set_url_hook
+ (c-name "gtk_about_dialog_set_url_hook")
+ (return-type "GtkAboutDialogActivateLinkFunc")
+ (parameters
+ '("GtkAboutDialogActivateLinkFunc" "func")
+ '("gpointer" "data")
+ '("GDestroyNotify" "destroy")
+ )
+)
+
+
+
+;; From gtkaccelgroup.h
+
+(define-function gtk_accel_group_get_type
+ (c-name "gtk_accel_group_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_accel_group_new
+ (c-name "gtk_accel_group_new")
+ (is-constructor-of "GtkAccelGroup")
+ (return-type "GtkAccelGroup*")
+)
+
+(define-method lock
+ (of-object "GtkAccelGroup")
+ (c-name "gtk_accel_group_lock")
+ (return-type "none")
+)
+
+(define-method unlock
+ (of-object "GtkAccelGroup")
+ (c-name "gtk_accel_group_unlock")
+ (return-type "none")
+)
+
+(define-method connect
+ (of-object "GtkAccelGroup")
+ (c-name "gtk_accel_group_connect")
+ (return-type "none")
+ (parameters
+ '("guint" "accel_key")
+ '("GdkModifierType" "accel_mods")
+ '("GtkAccelFlags" "accel_flags")
+ '("GClosure*" "closure")
+ )
+)
+
+(define-method connect_by_path
+ (of-object "GtkAccelGroup")
+ (c-name "gtk_accel_group_connect_by_path")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "accel_path")
+ '("GClosure*" "closure")
+ )
+)
+
+(define-method disconnect
+ (of-object "GtkAccelGroup")
+ (c-name "gtk_accel_group_disconnect")
+ (return-type "gboolean")
+ (parameters
+ '("GClosure*" "closure")
+ )
+)
+
+(define-method disconnect_key
+ (of-object "GtkAccelGroup")
+ (c-name "gtk_accel_group_disconnect_key")
+ (return-type "gboolean")
+ (parameters
+ '("guint" "accel_key")
+ '("GdkModifierType" "accel_mods")
+ )
+)
+
+(define-method activate
+ (of-object "GtkAccelGroup")
+ (c-name "gtk_accel_group_activate")
+ (return-type "gboolean")
+ (parameters
+ '("GQuark" "accel_quark")
+ '("GObject*" "acceleratable")
+ '("guint" "accel_key")
+ '("GdkModifierType" "accel_mods")
+ )
+)
+
+(define-function gtk_accel_groups_activate
+ (c-name "gtk_accel_groups_activate")
+ (return-type "gboolean")
+ (parameters
+ '("GObject*" "object")
+ '("guint" "accel_key")
+ '("GdkModifierType" "accel_mods")
+ )
+)
+
+(define-function gtk_accel_groups_from_object
+ (c-name "gtk_accel_groups_from_object")
+ (return-type "GSList*")
+ (parameters
+ '("GObject*" "object")
+ )
+)
+
+(define-method find
+ (of-object "GtkAccelGroup")
+ (c-name "gtk_accel_group_find")
+ (return-type "GtkAccelKey*")
+ (parameters
+ '("GtkAccelGroupFindFunc" "find_func")
+ '("gpointer" "data")
+ )
+)
+
+(define-function gtk_accel_group_from_accel_closure
+ (c-name "gtk_accel_group_from_accel_closure")
+ (return-type "GtkAccelGroup*")
+ (parameters
+ '("GClosure*" "closure")
+ )
+)
+
+(define-function gtk_accelerator_valid
+ (c-name "gtk_accelerator_valid")
+ (return-type "gboolean")
+ (parameters
+ '("guint" "keyval")
+ '("GdkModifierType" "modifiers")
+ )
+)
+
+(define-function gtk_accelerator_parse
+ (c-name "gtk_accelerator_parse")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "accelerator")
+ '("guint*" "accelerator_key")
+ '("GdkModifierType*" "accelerator_mods")
+ )
+)
+
+(define-function gtk_accelerator_name
+ (c-name "gtk_accelerator_name")
+ (return-type "gchar*")
+ (parameters
+ '("guint" "accelerator_key")
+ '("GdkModifierType" "accelerator_mods")
+ )
+)
+
+(define-function gtk_accelerator_get_label
+ (c-name "gtk_accelerator_get_label")
+ (return-type "gchar*")
+ (parameters
+ '("guint" "accelerator_key")
+ '("GdkModifierType" "accelerator_mods")
+ )
+)
+
+(define-function gtk_accelerator_set_default_mod_mask
+ (c-name "gtk_accelerator_set_default_mod_mask")
+ (return-type "none")
+ (parameters
+ '("GdkModifierType" "default_mod_mask")
+ )
+)
+
+(define-function gtk_accelerator_get_default_mod_mask
+ (c-name "gtk_accelerator_get_default_mod_mask")
+ (return-type "guint")
+)
+
+(define-method query
+ (of-object "GtkAccelGroup")
+ (c-name "gtk_accel_group_query")
+ (return-type "GtkAccelGroupEntry*")
+ (parameters
+ '("guint" "accel_key")
+ '("GdkModifierType" "accel_mods")
+ '("guint*" "n_entries")
+ )
+)
+
+
+
+;; From gtkaccellabel.h
+
+(define-function gtk_accel_label_get_type
+ (c-name "gtk_accel_label_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_accel_label_new
+ (c-name "gtk_accel_label_new")
+ (is-constructor-of "GtkAccelLabel")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "string")
+ )
+)
+
+(define-method get_accel_widget
+ (of-object "GtkAccelLabel")
+ (c-name "gtk_accel_label_get_accel_widget")
+ (return-type "GtkWidget*")
+)
+
+(define-method get_accel_width
+ (of-object "GtkAccelLabel")
+ (c-name "gtk_accel_label_get_accel_width")
+ (return-type "guint")
+)
+
+(define-method set_accel_widget
+ (of-object "GtkAccelLabel")
+ (c-name "gtk_accel_label_set_accel_widget")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "accel_widget")
+ )
+)
+
+(define-method set_accel_closure
+ (of-object "GtkAccelLabel")
+ (c-name "gtk_accel_label_set_accel_closure")
+ (return-type "none")
+ (parameters
+ '("GClosure*" "accel_closure")
+ )
+)
+
+(define-method refetch
+ (of-object "GtkAccelLabel")
+ (c-name "gtk_accel_label_refetch")
+ (return-type "gboolean")
+)
+
+
+
+;; From gtkaccelmap.h
+
+(define-function gtk_accel_map_add_entry
+ (c-name "gtk_accel_map_add_entry")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "accel_path")
+ '("guint" "accel_key")
+ '("GdkModifierType" "accel_mods")
+ )
+)
+
+(define-function gtk_accel_map_lookup_entry
+ (c-name "gtk_accel_map_lookup_entry")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "accel_path")
+ '("GtkAccelKey*" "key")
+ )
+)
+
+(define-function gtk_accel_map_change_entry
+ (c-name "gtk_accel_map_change_entry")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "accel_path")
+ '("guint" "accel_key")
+ '("GdkModifierType" "accel_mods")
+ '("gboolean" "replace")
+ )
+)
+
+(define-function gtk_accel_map_load
+ (c-name "gtk_accel_map_load")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "file_name")
+ )
+)
+
+(define-function gtk_accel_map_save
+ (c-name "gtk_accel_map_save")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "file_name")
+ )
+)
+
+(define-function gtk_accel_map_foreach
+ (c-name "gtk_accel_map_foreach")
+ (return-type "none")
+ (parameters
+ '("gpointer" "data")
+ '("GtkAccelMapForeach" "foreach_func")
+ )
+)
+
+(define-function gtk_accel_map_load_fd
+ (c-name "gtk_accel_map_load_fd")
+ (return-type "none")
+ (parameters
+ '("gint" "fd")
+ )
+)
+
+(define-function gtk_accel_map_load_scanner
+ (c-name "gtk_accel_map_load_scanner")
+ (return-type "none")
+ (parameters
+ '("GScanner*" "scanner")
+ )
+)
+
+(define-function gtk_accel_map_save_fd
+ (c-name "gtk_accel_map_save_fd")
+ (return-type "none")
+ (parameters
+ '("gint" "fd")
+ )
+)
+
+(define-function gtk_accel_map_lock_path
+ (c-name "gtk_accel_map_lock_path")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "accel_path")
+ )
+)
+
+(define-function gtk_accel_map_unlock_path
+ (c-name "gtk_accel_map_unlock_path")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "accel_path")
+ )
+)
+
+(define-function gtk_accel_map_add_filter
+ (c-name "gtk_accel_map_add_filter")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "filter_pattern")
+ )
+)
+
+(define-function gtk_accel_map_foreach_unfiltered
+ (c-name "gtk_accel_map_foreach_unfiltered")
+ (return-type "none")
+ (parameters
+ '("gpointer" "data")
+ '("GtkAccelMapForeach" "foreach_func")
+ )
+)
+
+(define-function gtk_accel_map_get_type
+ (c-name "gtk_accel_map_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_accel_map_get
+ (c-name "gtk_accel_map_get")
+ (return-type "GtkAccelMap*")
+)
+
+
+
+;; From gtkaccessible.h
+
+(define-function gtk_accessible_get_type
+ (c-name "gtk_accessible_get_type")
+ (return-type "GType")
+)
+
+(define-method connect_widget_destroyed
+ (of-object "GtkAccessible")
+ (c-name "gtk_accessible_connect_widget_destroyed")
+ (return-type "none")
+)
+
+
+
+;; From gtkactiongroup.h
+
+(define-function gtk_action_group_get_type
+ (c-name "gtk_action_group_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_action_group_new
+ (c-name "gtk_action_group_new")
+ (is-constructor-of "GtkActionGroup")
+ (return-type "GtkActionGroup*")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method get_name
+ (of-object "GtkActionGroup")
+ (c-name "gtk_action_group_get_name")
+ (return-type "const-gchar*")
+)
+
+(define-method get_sensitive
+ (of-object "GtkActionGroup")
+ (c-name "gtk_action_group_get_sensitive")
+ (return-type "gboolean")
+)
+
+(define-method set_sensitive
+ (of-object "GtkActionGroup")
+ (c-name "gtk_action_group_set_sensitive")
+ (return-type "none")
+ (parameters
+ '("gboolean" "sensitive")
+ )
+)
+
+(define-method get_visible
+ (of-object "GtkActionGroup")
+ (c-name "gtk_action_group_get_visible")
+ (return-type "gboolean")
+)
+
+(define-method set_visible
+ (of-object "GtkActionGroup")
+ (c-name "gtk_action_group_set_visible")
+ (return-type "none")
+ (parameters
+ '("gboolean" "visible")
+ )
+)
+
+(define-method get_action
+ (of-object "GtkActionGroup")
+ (c-name "gtk_action_group_get_action")
+ (return-type "GtkAction*")
+ (parameters
+ '("const-gchar*" "action_name")
+ )
+)
+
+(define-method list_actions
+ (of-object "GtkActionGroup")
+ (c-name "gtk_action_group_list_actions")
+ (return-type "GList*")
+)
+
+(define-method add_action
+ (of-object "GtkActionGroup")
+ (c-name "gtk_action_group_add_action")
+ (return-type "none")
+ (parameters
+ '("GtkAction*" "action")
+ )
+)
+
+(define-method add_action_with_accel
+ (of-object "GtkActionGroup")
+ (c-name "gtk_action_group_add_action_with_accel")
+ (return-type "none")
+ (parameters
+ '("GtkAction*" "action")
+ '("const-gchar*" "accelerator")
+ )
+)
+
+(define-method remove_action
+ (of-object "GtkActionGroup")
+ (c-name "gtk_action_group_remove_action")
+ (return-type "none")
+ (parameters
+ '("GtkAction*" "action")
+ )
+)
+
+(define-method add_actions
+ (of-object "GtkActionGroup")
+ (c-name "gtk_action_group_add_actions")
+ (return-type "none")
+ (parameters
+ '("const-GtkActionEntry*" "entries")
+ '("guint" "n_entries")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method add_toggle_actions
+ (of-object "GtkActionGroup")
+ (c-name "gtk_action_group_add_toggle_actions")
+ (return-type "none")
+ (parameters
+ '("const-GtkToggleActionEntry*" "entries")
+ '("guint" "n_entries")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method add_radio_actions
+ (of-object "GtkActionGroup")
+ (c-name "gtk_action_group_add_radio_actions")
+ (return-type "none")
+ (parameters
+ '("const-GtkRadioActionEntry*" "entries")
+ '("guint" "n_entries")
+ '("gint" "value")
+ '("GCallback" "on_change")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method add_actions_full
+ (of-object "GtkActionGroup")
+ (c-name "gtk_action_group_add_actions_full")
+ (return-type "none")
+ (parameters
+ '("const-GtkActionEntry*" "entries")
+ '("guint" "n_entries")
+ '("gpointer" "user_data")
+ '("GDestroyNotify" "destroy")
+ )
+)
+
+(define-method add_toggle_actions_full
+ (of-object "GtkActionGroup")
+ (c-name "gtk_action_group_add_toggle_actions_full")
+ (return-type "none")
+ (parameters
+ '("const-GtkToggleActionEntry*" "entries")
+ '("guint" "n_entries")
+ '("gpointer" "user_data")
+ '("GDestroyNotify" "destroy")
+ )
+)
+
+(define-method add_radio_actions_full
+ (of-object "GtkActionGroup")
+ (c-name "gtk_action_group_add_radio_actions_full")
+ (return-type "none")
+ (parameters
+ '("const-GtkRadioActionEntry*" "entries")
+ '("guint" "n_entries")
+ '("gint" "value")
+ '("GCallback" "on_change")
+ '("gpointer" "user_data")
+ '("GDestroyNotify" "destroy")
+ )
+)
+
+(define-method set_translate_func
+ (of-object "GtkActionGroup")
+ (c-name "gtk_action_group_set_translate_func")
+ (return-type "none")
+ (parameters
+ '("GtkTranslateFunc" "func")
+ '("gpointer" "data")
+ '("GtkDestroyNotify" "notify")
+ )
+)
+
+(define-method set_translation_domain
+ (of-object "GtkActionGroup")
+ (c-name "gtk_action_group_set_translation_domain")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "domain")
+ )
+)
+
+(define-method translate_string
+ (of-object "GtkActionGroup")
+ (c-name "gtk_action_group_translate_string")
+ (return-type "const-gchar*")
+ (parameters
+ '("const-gchar*" "string")
+ )
+)
+
+
+
+;; From gtkaction.h
+
+(define-function gtk_action_get_type
+ (c-name "gtk_action_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_action_new
+ (c-name "gtk_action_new")
+ (is-constructor-of "GtkAction")
+ (return-type "GtkAction*")
+ (parameters
+ '("const-gchar*" "name")
+ '("const-gchar*" "label")
+ '("const-gchar*" "tooltip")
+ '("const-gchar*" "stock_id")
+ )
+)
+
+(define-method get_name
+ (of-object "GtkAction")
+ (c-name "gtk_action_get_name")
+ (return-type "const-gchar*")
+)
+
+(define-method is_sensitive
+ (of-object "GtkAction")
+ (c-name "gtk_action_is_sensitive")
+ (return-type "gboolean")
+)
+
+(define-method get_sensitive
+ (of-object "GtkAction")
+ (c-name "gtk_action_get_sensitive")
+ (return-type "gboolean")
+)
+
+(define-method set_sensitive
+ (of-object "GtkAction")
+ (c-name "gtk_action_set_sensitive")
+ (return-type "none")
+ (parameters
+ '("gboolean" "sensitive")
+ )
+)
+
+(define-method is_visible
+ (of-object "GtkAction")
+ (c-name "gtk_action_is_visible")
+ (return-type "gboolean")
+)
+
+(define-method get_visible
+ (of-object "GtkAction")
+ (c-name "gtk_action_get_visible")
+ (return-type "gboolean")
+)
+
+(define-method set_visible
+ (of-object "GtkAction")
+ (c-name "gtk_action_set_visible")
+ (return-type "none")
+ (parameters
+ '("gboolean" "visible")
+ )
+)
+
+(define-method activate
+ (of-object "GtkAction")
+ (c-name "gtk_action_activate")
+ (return-type "none")
+)
+
+(define-method create_icon
+ (of-object "GtkAction")
+ (c-name "gtk_action_create_icon")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkIconSize" "icon_size")
+ )
+)
+
+(define-method create_menu_item
+ (of-object "GtkAction")
+ (c-name "gtk_action_create_menu_item")
+ (return-type "GtkWidget*")
+)
+
+(define-method create_tool_item
+ (of-object "GtkAction")
+ (c-name "gtk_action_create_tool_item")
+ (return-type "GtkWidget*")
+)
+
+(define-method create_menu
+ (of-object "GtkAction")
+ (c-name "gtk_action_create_menu")
+ (return-type "GtkWidget*")
+)
+
+(define-method connect_proxy
+ (of-object "GtkAction")
+ (c-name "gtk_action_connect_proxy")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "proxy")
+ )
+)
+
+(define-method disconnect_proxy
+ (of-object "GtkAction")
+ (c-name "gtk_action_disconnect_proxy")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "proxy")
+ )
+)
+
+(define-method get_proxies
+ (of-object "GtkAction")
+ (c-name "gtk_action_get_proxies")
+ (return-type "GSList*")
+)
+
+(define-method get_action
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_action")
+ (return-type "GtkAction*")
+)
+
+(define-method connect_accelerator
+ (of-object "GtkAction")
+ (c-name "gtk_action_connect_accelerator")
+ (return-type "none")
+)
+
+(define-method disconnect_accelerator
+ (of-object "GtkAction")
+ (c-name "gtk_action_disconnect_accelerator")
+ (return-type "none")
+)
+
+(define-method get_accel_path
+ (of-object "GtkAction")
+ (c-name "gtk_action_get_accel_path")
+ (return-type "const-gchar*")
+)
+
+(define-method get_accel_closure
+ (of-object "GtkAction")
+ (c-name "gtk_action_get_accel_closure")
+ (return-type "GClosure*")
+)
+
+(define-method block_activate_from
+ (of-object "GtkAction")
+ (c-name "gtk_action_block_activate_from")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "proxy")
+ )
+)
+
+(define-method unblock_activate_from
+ (of-object "GtkAction")
+ (c-name "gtk_action_unblock_activate_from")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "proxy")
+ )
+)
+
+(define-method set_accel_path
+ (of-object "GtkAction")
+ (c-name "gtk_action_set_accel_path")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "accel_path")
+ )
+)
+
+(define-method set_accel_group
+ (of-object "GtkAction")
+ (c-name "gtk_action_set_accel_group")
+ (return-type "none")
+ (parameters
+ '("GtkAccelGroup*" "accel_group")
+ )
+)
+
+
+
+;; From gtkadjustment.h
+
+(define-function gtk_adjustment_get_type
+ (c-name "gtk_adjustment_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_adjustment_new
+ (c-name "gtk_adjustment_new")
+ (is-constructor-of "GtkAdjustment")
+ (return-type "GtkObject*")
+ (parameters
+ '("gdouble" "value")
+ '("gdouble" "lower")
+ '("gdouble" "upper")
+ '("gdouble" "step_increment")
+ '("gdouble" "page_increment")
+ '("gdouble" "page_size")
+ )
+)
+
+(define-method changed
+ (of-object "GtkAdjustment")
+ (c-name "gtk_adjustment_changed")
+ (return-type "none")
+)
+
+(define-method value_changed
+ (of-object "GtkAdjustment")
+ (c-name "gtk_adjustment_value_changed")
+ (return-type "none")
+)
+
+(define-method clamp_page
+ (of-object "GtkAdjustment")
+ (c-name "gtk_adjustment_clamp_page")
+ (return-type "none")
+ (parameters
+ '("gdouble" "lower")
+ '("gdouble" "upper")
+ )
+)
+
+(define-method get_value
+ (of-object "GtkAdjustment")
+ (c-name "gtk_adjustment_get_value")
+ (return-type "gdouble")
+)
+
+(define-method set_value
+ (of-object "GtkAdjustment")
+ (c-name "gtk_adjustment_set_value")
+ (return-type "none")
+ (parameters
+ '("gdouble" "value")
+ )
+)
+
+
+
+;; From gtkalias.h
+
+
+
+;; From gtkalignment.h
+
+(define-function gtk_alignment_get_type
+ (c-name "gtk_alignment_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_alignment_new
+ (c-name "gtk_alignment_new")
+ (is-constructor-of "GtkAlignment")
+ (return-type "GtkWidget*")
+ (parameters
+ '("gfloat" "xalign")
+ '("gfloat" "yalign")
+ '("gfloat" "xscale")
+ '("gfloat" "yscale")
+ )
+)
+
+(define-method set
+ (of-object "GtkAlignment")
+ (c-name "gtk_alignment_set")
+ (return-type "none")
+ (parameters
+ '("gfloat" "xalign")
+ '("gfloat" "yalign")
+ '("gfloat" "xscale")
+ '("gfloat" "yscale")
+ )
+)
+
+(define-method set_padding
+ (of-object "GtkAlignment")
+ (c-name "gtk_alignment_set_padding")
+ (return-type "none")
+ (parameters
+ '("guint" "padding_top")
+ '("guint" "padding_bottom")
+ '("guint" "padding_left")
+ '("guint" "padding_right")
+ )
+)
+
+(define-method get_padding
+ (of-object "GtkAlignment")
+ (c-name "gtk_alignment_get_padding")
+ (return-type "none")
+ (parameters
+ '("guint*" "padding_top")
+ '("guint*" "padding_bottom")
+ '("guint*" "padding_left")
+ '("guint*" "padding_right")
+ )
+)
+
+
+
+;; From gtkarrow.h
+
+(define-function gtk_arrow_get_type
+ (c-name "gtk_arrow_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_arrow_new
+ (c-name "gtk_arrow_new")
+ (is-constructor-of "GtkArrow")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkArrowType" "arrow_type")
+ '("GtkShadowType" "shadow_type")
+ )
+)
+
+(define-method set
+ (of-object "GtkArrow")
+ (c-name "gtk_arrow_set")
+ (return-type "none")
+ (parameters
+ '("GtkArrowType" "arrow_type")
+ '("GtkShadowType" "shadow_type")
+ )
+)
+
+
+
+;; From gtkaspectframe.h
+
+(define-function gtk_aspect_frame_get_type
+ (c-name "gtk_aspect_frame_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_aspect_frame_new
+ (c-name "gtk_aspect_frame_new")
+ (is-constructor-of "GtkAspectFrame")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "label")
+ '("gfloat" "xalign")
+ '("gfloat" "yalign")
+ '("gfloat" "ratio")
+ '("gboolean" "obey_child")
+ )
+)
+
+(define-method set
+ (of-object "GtkAspectFrame")
+ (c-name "gtk_aspect_frame_set")
+ (return-type "none")
+ (parameters
+ '("gfloat" "xalign")
+ '("gfloat" "yalign")
+ '("gfloat" "ratio")
+ '("gboolean" "obey_child")
+ )
+)
+
+
+
+;; From gtkassistant.h
+
+(define-function gtk_assistant_get_type
+ (c-name "gtk_assistant_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_assistant_new
+ (c-name "gtk_assistant_new")
+ (is-constructor-of "GtkAssistant")
+ (return-type "GtkWidget*")
+)
+
+(define-method get_current_page
+ (of-object "GtkAssistant")
+ (c-name "gtk_assistant_get_current_page")
+ (return-type "gint")
+)
+
+(define-method set_current_page
+ (of-object "GtkAssistant")
+ (c-name "gtk_assistant_set_current_page")
+ (return-type "none")
+ (parameters
+ '("gint" "page_num")
+ )
+)
+
+(define-method get_n_pages
+ (of-object "GtkAssistant")
+ (c-name "gtk_assistant_get_n_pages")
+ (return-type "gint")
+)
+
+(define-method get_nth_page
+ (of-object "GtkAssistant")
+ (c-name "gtk_assistant_get_nth_page")
+ (return-type "GtkWidget*")
+ (parameters
+ '("gint" "page_num")
+ )
+)
+
+(define-method prepend_page
+ (of-object "GtkAssistant")
+ (c-name "gtk_assistant_prepend_page")
+ (return-type "gint")
+ (parameters
+ '("GtkWidget*" "page")
+ )
+)
+
+(define-method append_page
+ (of-object "GtkAssistant")
+ (c-name "gtk_assistant_append_page")
+ (return-type "gint")
+ (parameters
+ '("GtkWidget*" "page")
+ )
+)
+
+(define-method insert_page
+ (of-object "GtkAssistant")
+ (c-name "gtk_assistant_insert_page")
+ (return-type "gint")
+ (parameters
+ '("GtkWidget*" "page")
+ '("gint" "position")
+ )
+)
+
+(define-method set_forward_page_func
+ (of-object "GtkAssistant")
+ (c-name "gtk_assistant_set_forward_page_func")
+ (return-type "none")
+ (parameters
+ '("GtkAssistantPageFunc" "page_func")
+ '("gpointer" "data")
+ '("GDestroyNotify" "destroy")
+ )
+)
+
+(define-method set_page_type
+ (of-object "GtkAssistant")
+ (c-name "gtk_assistant_set_page_type")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "page")
+ '("GtkAssistantPageType" "type")
+ )
+)
+
+(define-method get_page_type
+ (of-object "GtkAssistant")
+ (c-name "gtk_assistant_get_page_type")
+ (return-type "GtkAssistantPageType")
+ (parameters
+ '("GtkWidget*" "page")
+ )
+)
+
+(define-method set_page_title
+ (of-object "GtkAssistant")
+ (c-name "gtk_assistant_set_page_title")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "page")
+ '("const-gchar*" "title")
+ )
+)
+
+(define-method get_page_title
+ (of-object "GtkAssistant")
+ (c-name "gtk_assistant_get_page_title")
+ (return-type "const-gchar*")
+ (parameters
+ '("GtkWidget*" "page")
+ )
+)
+
+(define-method set_page_header_image
+ (of-object "GtkAssistant")
+ (c-name "gtk_assistant_set_page_header_image")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "page")
+ '("GdkPixbuf*" "pixbuf")
+ )
+)
+
+(define-method get_page_header_image
+ (of-object "GtkAssistant")
+ (c-name "gtk_assistant_get_page_header_image")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("GtkWidget*" "page")
+ )
+)
+
+(define-method set_page_side_image
+ (of-object "GtkAssistant")
+ (c-name "gtk_assistant_set_page_side_image")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "page")
+ '("GdkPixbuf*" "pixbuf")
+ )
+)
+
+(define-method get_page_side_image
+ (of-object "GtkAssistant")
+ (c-name "gtk_assistant_get_page_side_image")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("GtkWidget*" "page")
+ )
+)
+
+(define-method set_page_complete
+ (of-object "GtkAssistant")
+ (c-name "gtk_assistant_set_page_complete")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "page")
+ '("gboolean" "complete")
+ )
+)
+
+(define-method get_page_complete
+ (of-object "GtkAssistant")
+ (c-name "gtk_assistant_get_page_complete")
+ (return-type "gboolean")
+ (parameters
+ '("GtkWidget*" "page")
+ )
+)
+
+(define-method add_action_widget
+ (of-object "GtkAssistant")
+ (c-name "gtk_assistant_add_action_widget")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ )
+)
+
+(define-method remove_action_widget
+ (of-object "GtkAssistant")
+ (c-name "gtk_assistant_remove_action_widget")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ )
+)
+
+(define-method update_buttons_state
+ (of-object "GtkAssistant")
+ (c-name "gtk_assistant_update_buttons_state")
+ (return-type "none")
+)
+
+
+
+;; From gtkbbox.h
+
+(define-function gtk_button_box_get_type
+ (c-name "gtk_button_box_get_type")
+ (return-type "GType")
+)
+
+(define-method get_layout
+ (of-object "GtkButtonBox")
+ (c-name "gtk_button_box_get_layout")
+ (return-type "GtkButtonBoxStyle")
+)
+
+(define-method set_layout
+ (of-object "GtkButtonBox")
+ (c-name "gtk_button_box_set_layout")
+ (return-type "none")
+ (parameters
+ '("GtkButtonBoxStyle" "layout_style")
+ )
+)
+
+(define-method get_child_secondary
+ (of-object "GtkButtonBox")
+ (c-name "gtk_button_box_get_child_secondary")
+ (return-type "gboolean")
+ (parameters
+ '("GtkWidget*" "child")
+ )
+)
+
+(define-method set_child_secondary
+ (of-object "GtkButtonBox")
+ (c-name "gtk_button_box_set_child_secondary")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("gboolean" "is_secondary")
+ )
+)
+
+(define-method set_child_size
+ (of-object "GtkButtonBox")
+ (c-name "gtk_button_box_set_child_size")
+ (return-type "none")
+ (parameters
+ '("gint" "min_width")
+ '("gint" "min_height")
+ )
+)
+
+(define-method set_child_ipadding
+ (of-object "GtkButtonBox")
+ (c-name "gtk_button_box_set_child_ipadding")
+ (return-type "none")
+ (parameters
+ '("gint" "ipad_x")
+ '("gint" "ipad_y")
+ )
+)
+
+(define-method get_child_size
+ (of-object "GtkButtonBox")
+ (c-name "gtk_button_box_get_child_size")
+ (return-type "none")
+ (parameters
+ '("gint*" "min_width")
+ '("gint*" "min_height")
+ )
+)
+
+(define-method get_child_ipadding
+ (of-object "GtkButtonBox")
+ (c-name "gtk_button_box_get_child_ipadding")
+ (return-type "none")
+ (parameters
+ '("gint*" "ipad_x")
+ '("gint*" "ipad_y")
+ )
+)
+
+
+
+;; From gtkbindings.h
+
+(define-function gtk_binding_set_new
+ (c-name "gtk_binding_set_new")
+ (is-constructor-of "GtkBindingSet")
+ (return-type "GtkBindingSet*")
+ (parameters
+ '("const-gchar*" "set_name")
+ )
+)
+
+(define-function gtk_binding_set_by_class
+ (c-name "gtk_binding_set_by_class")
+ (return-type "GtkBindingSet*")
+ (parameters
+ '("gpointer" "object_class")
+ )
+)
+
+(define-function gtk_binding_set_find
+ (c-name "gtk_binding_set_find")
+ (return-type "GtkBindingSet*")
+ (parameters
+ '("const-gchar*" "set_name")
+ )
+)
+
+(define-function gtk_bindings_activate
+ (c-name "gtk_bindings_activate")
+ (return-type "gboolean")
+ (parameters
+ '("GtkObject*" "object")
+ '("guint" "keyval")
+ '("GdkModifierType" "modifiers")
+ )
+)
+
+(define-function gtk_bindings_activate_event
+ (c-name "gtk_bindings_activate_event")
+ (return-type "gboolean")
+ (parameters
+ '("GtkObject*" "object")
+ '("GdkEventKey*" "event")
+ )
+)
+
+(define-method activate
+ (of-object "GtkBindingSet")
+ (c-name "gtk_binding_set_activate")
+ (return-type "gboolean")
+ (parameters
+ '("guint" "keyval")
+ '("GdkModifierType" "modifiers")
+ '("GtkObject*" "object")
+ )
+)
+
+(define-function gtk_binding_entry_clear
+ (c-name "gtk_binding_entry_clear")
+ (return-type "none")
+ (parameters
+ '("GtkBindingSet*" "binding_set")
+ '("guint" "keyval")
+ '("GdkModifierType" "modifiers")
+ )
+)
+
+(define-function gtk_binding_entry_add_signall
+ (c-name "gtk_binding_entry_add_signall")
+ (return-type "none")
+ (parameters
+ '("GtkBindingSet*" "binding_set")
+ '("guint" "keyval")
+ '("GdkModifierType" "modifiers")
+ '("const-gchar*" "signal_name")
+ '("GSList*" "binding_args")
+ )
+)
+
+(define-function gtk_binding_parse_binding
+ (c-name "gtk_binding_parse_binding")
+ (return-type "guint")
+ (parameters
+ '("GScanner*" "scanner")
+ )
+)
+
+(define-function gtk_binding_entry_skip
+ (c-name "gtk_binding_entry_skip")
+ (return-type "none")
+ (parameters
+ '("GtkBindingSet*" "binding_set")
+ '("guint" "keyval")
+ '("GdkModifierType" "modifiers")
+ )
+)
+
+(define-function gtk_binding_entry_add_signal
+ (c-name "gtk_binding_entry_add_signal")
+ (return-type "none")
+ (parameters
+ '("GtkBindingSet*" "binding_set")
+ '("guint" "keyval")
+ '("GdkModifierType" "modifiers")
+ '("const-gchar*" "signal_name")
+ '("guint" "n_args")
+ )
+ (varargs #t)
+)
+
+(define-function gtk_binding_entry_remove
+ (c-name "gtk_binding_entry_remove")
+ (return-type "none")
+ (parameters
+ '("GtkBindingSet*" "binding_set")
+ '("guint" "keyval")
+ '("GdkModifierType" "modifiers")
+ )
+)
+
+(define-method add_path
+ (of-object "GtkBindingSet")
+ (c-name "gtk_binding_set_add_path")
+ (return-type "none")
+ (parameters
+ '("GtkPathType" "path_type")
+ '("const-gchar*" "path_pattern")
+ '("GtkPathPriorityType" "priority")
+ )
+)
+
+
+
+;; From gtkbin.h
+
+(define-function gtk_bin_get_type
+ (c-name "gtk_bin_get_type")
+ (return-type "GType")
+)
+
+(define-method get_child
+ (of-object "GtkBin")
+ (c-name "gtk_bin_get_child")
+ (return-type "GtkWidget*")
+)
+
+
+
+;; From gtkbox.h
+
+(define-function gtk_box_get_type
+ (c-name "gtk_box_get_type")
+ (return-type "GType")
+)
+
+(define-method pack_start
+ (of-object "GtkBox")
+ (c-name "gtk_box_pack_start")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("gboolean" "expand")
+ '("gboolean" "fill")
+ '("guint" "padding")
+ )
+)
+
+(define-method pack_end
+ (of-object "GtkBox")
+ (c-name "gtk_box_pack_end")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("gboolean" "expand")
+ '("gboolean" "fill")
+ '("guint" "padding")
+ )
+)
+
+(define-method pack_start_defaults
+ (of-object "GtkBox")
+ (c-name "gtk_box_pack_start_defaults")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-method pack_end_defaults
+ (of-object "GtkBox")
+ (c-name "gtk_box_pack_end_defaults")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-method set_homogeneous
+ (of-object "GtkBox")
+ (c-name "gtk_box_set_homogeneous")
+ (return-type "none")
+ (parameters
+ '("gboolean" "homogeneous")
+ )
+)
+
+(define-method get_homogeneous
+ (of-object "GtkBox")
+ (c-name "gtk_box_get_homogeneous")
+ (return-type "gboolean")
+)
+
+(define-method set_spacing
+ (of-object "GtkBox")
+ (c-name "gtk_box_set_spacing")
+ (return-type "none")
+ (parameters
+ '("gint" "spacing")
+ )
+)
+
+(define-method get_spacing
+ (of-object "GtkBox")
+ (c-name "gtk_box_get_spacing")
+ (return-type "gint")
+)
+
+(define-method reorder_child
+ (of-object "GtkBox")
+ (c-name "gtk_box_reorder_child")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("gint" "position")
+ )
+)
+
+(define-method query_child_packing
+ (of-object "GtkBox")
+ (c-name "gtk_box_query_child_packing")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("gboolean*" "expand")
+ '("gboolean*" "fill")
+ '("guint*" "padding")
+ '("GtkPackType*" "pack_type")
+ )
+)
+
+(define-method set_child_packing
+ (of-object "GtkBox")
+ (c-name "gtk_box_set_child_packing")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("gboolean" "expand")
+ '("gboolean" "fill")
+ '("guint" "padding")
+ '("GtkPackType" "pack_type")
+ )
+)
+
+
+
+;; From gtkbuildable.h
+
+(define-function gtk_buildable_get_type
+ (c-name "gtk_buildable_get_type")
+ (return-type "GType")
+)
+
+(define-method set_name
+ (of-object "GtkBuildable")
+ (c-name "gtk_buildable_set_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method get_name
+ (of-object "GtkBuildable")
+ (c-name "gtk_buildable_get_name")
+ (return-type "const-gchar*")
+)
+
+(define-method add_child
+ (of-object "GtkBuildable")
+ (c-name "gtk_buildable_add_child")
+ (return-type "none")
+ (parameters
+ '("GtkBuilder*" "builder")
+ '("GObject*" "child")
+ '("const-gchar*" "type")
+ )
+)
+
+(define-method set_buildable_property
+ (of-object "GtkBuildable")
+ (c-name "gtk_buildable_set_buildable_property")
+ (return-type "none")
+ (parameters
+ '("GtkBuilder*" "builder")
+ '("const-gchar*" "name")
+ '("const-GValue*" "value")
+ )
+)
+
+(define-method construct_child
+ (of-object "GtkBuildable")
+ (c-name "gtk_buildable_construct_child")
+ (return-type "GObject*")
+ (parameters
+ '("GtkBuilder*" "builder")
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method custom_tag_start
+ (of-object "GtkBuildable")
+ (c-name "gtk_buildable_custom_tag_start")
+ (return-type "gboolean")
+ (parameters
+ '("GtkBuilder*" "builder")
+ '("GObject*" "child")
+ '("const-gchar*" "tagname")
+ '("GMarkupParser*" "parser")
+ '("gpointer*" "data")
+ )
+)
+
+(define-method custom_tag_end
+ (of-object "GtkBuildable")
+ (c-name "gtk_buildable_custom_tag_end")
+ (return-type "none")
+ (parameters
+ '("GtkBuilder*" "builder")
+ '("GObject*" "child")
+ '("const-gchar*" "tagname")
+ '("gpointer*" "data")
+ )
+)
+
+(define-method custom_finished
+ (of-object "GtkBuildable")
+ (c-name "gtk_buildable_custom_finished")
+ (return-type "none")
+ (parameters
+ '("GtkBuilder*" "builder")
+ '("GObject*" "child")
+ '("const-gchar*" "tagname")
+ '("gpointer" "data")
+ )
+)
+
+(define-method parser_finished
+ (of-object "GtkBuildable")
+ (c-name "gtk_buildable_parser_finished")
+ (return-type "none")
+ (parameters
+ '("GtkBuilder*" "builder")
+ )
+)
+
+(define-method get_internal_child
+ (of-object "GtkBuildable")
+ (c-name "gtk_buildable_get_internal_child")
+ (return-type "GObject*")
+ (parameters
+ '("GtkBuilder*" "builder")
+ '("const-gchar*" "childname")
+ )
+)
+
+
+
+;; From gtkbuilder.h
+
+(define-function gtk_builder_error_quark
+ (c-name "gtk_builder_error_quark")
+ (return-type "GQuark")
+)
+
+(define-function gtk_builder_get_type
+ (c-name "gtk_builder_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_builder_new
+ (c-name "gtk_builder_new")
+ (is-constructor-of "GtkBuilder")
+ (return-type "GtkBuilder*")
+)
+
+(define-method add_from_file
+ (of-object "GtkBuilder")
+ (c-name "gtk_builder_add_from_file")
+ (return-type "guint")
+ (parameters
+ '("const-gchar*" "filename")
+ '("GError**" "error")
+ )
+)
+
+(define-method add_from_string
+ (of-object "GtkBuilder")
+ (c-name "gtk_builder_add_from_string")
+ (return-type "guint")
+ (parameters
+ '("const-gchar*" "buffer")
+ '("gsize" "length")
+ '("GError**" "error")
+ )
+)
+
+(define-method get_object
+ (of-object "GtkBuilder")
+ (c-name "gtk_builder_get_object")
+ (return-type "GObject*")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method get_objects
+ (of-object "GtkBuilder")
+ (c-name "gtk_builder_get_objects")
+ (return-type "GSList*")
+)
+
+(define-method connect_signals
+ (of-object "GtkBuilder")
+ (c-name "gtk_builder_connect_signals")
+ (return-type "none")
+ (parameters
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method connect_signals_full
+ (of-object "GtkBuilder")
+ (c-name "gtk_builder_connect_signals_full")
+ (return-type "none")
+ (parameters
+ '("GtkBuilderConnectFunc" "func")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method set_translation_domain
+ (of-object "GtkBuilder")
+ (c-name "gtk_builder_set_translation_domain")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "domain")
+ )
+)
+
+(define-method get_translation_domain
+ (of-object "GtkBuilder")
+ (c-name "gtk_builder_get_translation_domain")
+ (return-type "const-gchar*")
+)
+
+(define-method get_type_from_name
+ (of-object "GtkBuilder")
+ (c-name "gtk_builder_get_type_from_name")
+ (return-type "GType")
+ (parameters
+ '("const-char*" "type_name")
+ )
+)
+
+(define-method value_from_string
+ (of-object "GtkBuilder")
+ (c-name "gtk_builder_value_from_string")
+ (return-type "gboolean")
+ (parameters
+ '("GParamSpec*" "pspec")
+ '("const-gchar*" "string")
+ '("GValue*" "value")
+ '("GError**" "error")
+ )
+)
+
+(define-method value_from_string_type
+ (of-object "GtkBuilder")
+ (c-name "gtk_builder_value_from_string_type")
+ (return-type "gboolean")
+ (parameters
+ '("GType" "type")
+ '("const-gchar*" "string")
+ '("GValue*" "value")
+ '("GError**" "error")
+ )
+)
+
+
+
+;; From gtkbuilderprivate.h
+
+
+
+;; From gtkbuiltincache.h
+
+
+
+;; From gtkbutton.h
+
+(define-function gtk_button_get_type
+ (c-name "gtk_button_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_button_new
+ (c-name "gtk_button_new")
+ (is-constructor-of "GtkButton")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_button_new_with_label
+ (c-name "gtk_button_new_with_label")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-function gtk_button_new_from_stock
+ (c-name "gtk_button_new_from_stock")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "stock_id")
+ )
+)
+
+(define-function gtk_button_new_with_mnemonic
+ (c-name "gtk_button_new_with_mnemonic")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-method pressed
+ (of-object "GtkButton")
+ (c-name "gtk_button_pressed")
+ (return-type "none")
+)
+
+(define-method released
+ (of-object "GtkButton")
+ (c-name "gtk_button_released")
+ (return-type "none")
+)
+
+(define-method clicked
+ (of-object "GtkButton")
+ (c-name "gtk_button_clicked")
+ (return-type "none")
+)
+
+(define-method enter
+ (of-object "GtkButton")
+ (c-name "gtk_button_enter")
+ (return-type "none")
+)
+
+(define-method leave
+ (of-object "GtkButton")
+ (c-name "gtk_button_leave")
+ (return-type "none")
+)
+
+(define-method set_relief
+ (of-object "GtkButton")
+ (c-name "gtk_button_set_relief")
+ (return-type "none")
+ (parameters
+ '("GtkReliefStyle" "newstyle")
+ )
+)
+
+(define-method get_relief
+ (of-object "GtkButton")
+ (c-name "gtk_button_get_relief")
+ (return-type "GtkReliefStyle")
+)
+
+(define-method set_label
+ (of-object "GtkButton")
+ (c-name "gtk_button_set_label")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-method get_label
+ (of-object "GtkButton")
+ (c-name "gtk_button_get_label")
+ (return-type "const-gchar*")
+)
+
+(define-method set_use_underline
+ (of-object "GtkButton")
+ (c-name "gtk_button_set_use_underline")
+ (return-type "none")
+ (parameters
+ '("gboolean" "use_underline")
+ )
+)
+
+(define-method get_use_underline
+ (of-object "GtkButton")
+ (c-name "gtk_button_get_use_underline")
+ (return-type "gboolean")
+)
+
+(define-method set_use_stock
+ (of-object "GtkButton")
+ (c-name "gtk_button_set_use_stock")
+ (return-type "none")
+ (parameters
+ '("gboolean" "use_stock")
+ )
+)
+
+(define-method get_use_stock
+ (of-object "GtkButton")
+ (c-name "gtk_button_get_use_stock")
+ (return-type "gboolean")
+)
+
+(define-method set_focus_on_click
+ (of-object "GtkButton")
+ (c-name "gtk_button_set_focus_on_click")
+ (return-type "none")
+ (parameters
+ '("gboolean" "focus_on_click")
+ )
+)
+
+(define-method get_focus_on_click
+ (of-object "GtkButton")
+ (c-name "gtk_button_get_focus_on_click")
+ (return-type "gboolean")
+)
+
+(define-method set_alignment
+ (of-object "GtkButton")
+ (c-name "gtk_button_set_alignment")
+ (return-type "none")
+ (parameters
+ '("gfloat" "xalign")
+ '("gfloat" "yalign")
+ )
+)
+
+(define-method get_alignment
+ (of-object "GtkButton")
+ (c-name "gtk_button_get_alignment")
+ (return-type "none")
+ (parameters
+ '("gfloat*" "xalign")
+ '("gfloat*" "yalign")
+ )
+)
+
+(define-method set_image
+ (of-object "GtkButton")
+ (c-name "gtk_button_set_image")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "image")
+ )
+)
+
+(define-method get_image
+ (of-object "GtkButton")
+ (c-name "gtk_button_get_image")
+ (return-type "GtkWidget*")
+)
+
+(define-method set_image_position
+ (of-object "GtkButton")
+ (c-name "gtk_button_set_image_position")
+ (return-type "none")
+ (parameters
+ '("GtkPositionType" "position")
+ )
+)
+
+(define-method get_image_position
+ (of-object "GtkButton")
+ (c-name "gtk_button_get_image_position")
+ (return-type "GtkPositionType")
+)
+
+
+
+;; From gtkcalendar.h
+
+(define-function gtk_calendar_get_type
+ (c-name "gtk_calendar_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_calendar_new
+ (c-name "gtk_calendar_new")
+ (is-constructor-of "GtkCalendar")
+ (return-type "GtkWidget*")
+)
+
+(define-method select_month
+ (of-object "GtkCalendar")
+ (c-name "gtk_calendar_select_month")
+ (return-type "gboolean")
+ (parameters
+ '("guint" "month")
+ '("guint" "year")
+ )
+)
+
+(define-method select_day
+ (of-object "GtkCalendar")
+ (c-name "gtk_calendar_select_day")
+ (return-type "none")
+ (parameters
+ '("guint" "day")
+ )
+)
+
+(define-method mark_day
+ (of-object "GtkCalendar")
+ (c-name "gtk_calendar_mark_day")
+ (return-type "gboolean")
+ (parameters
+ '("guint" "day")
+ )
+)
+
+(define-method unmark_day
+ (of-object "GtkCalendar")
+ (c-name "gtk_calendar_unmark_day")
+ (return-type "gboolean")
+ (parameters
+ '("guint" "day")
+ )
+)
+
+(define-method clear_marks
+ (of-object "GtkCalendar")
+ (c-name "gtk_calendar_clear_marks")
+ (return-type "none")
+)
+
+(define-method set_display_options
+ (of-object "GtkCalendar")
+ (c-name "gtk_calendar_set_display_options")
+ (return-type "none")
+ (parameters
+ '("GtkCalendarDisplayOptions" "flags")
+ )
+)
+
+(define-method get_display_options
+ (of-object "GtkCalendar")
+ (c-name "gtk_calendar_get_display_options")
+ (return-type "GtkCalendarDisplayOptions")
+)
+
+(define-method display_options
+ (of-object "GtkCalendar")
+ (c-name "gtk_calendar_display_options")
+ (return-type "none")
+ (parameters
+ '("GtkCalendarDisplayOptions" "flags")
+ )
+)
+
+(define-method get_date
+ (of-object "GtkCalendar")
+ (c-name "gtk_calendar_get_date")
+ (return-type "none")
+ (parameters
+ '("guint*" "year")
+ '("guint*" "month")
+ '("guint*" "day")
+ )
+)
+
+(define-method freeze
+ (of-object "GtkCalendar")
+ (c-name "gtk_calendar_freeze")
+ (return-type "none")
+)
+
+(define-method thaw
+ (of-object "GtkCalendar")
+ (c-name "gtk_calendar_thaw")
+ (return-type "none")
+)
+
+
+
+;; From gtkcelleditable.h
+
+(define-function gtk_cell_editable_get_type
+ (c-name "gtk_cell_editable_get_type")
+ (return-type "GType")
+)
+
+(define-method start_editing
+ (of-object "GtkCellEditable")
+ (c-name "gtk_cell_editable_start_editing")
+ (return-type "none")
+ (parameters
+ '("GdkEvent*" "event")
+ )
+)
+
+(define-method editing_done
+ (of-object "GtkCellEditable")
+ (c-name "gtk_cell_editable_editing_done")
+ (return-type "none")
+)
+
+(define-method remove_widget
+ (of-object "GtkCellEditable")
+ (c-name "gtk_cell_editable_remove_widget")
+ (return-type "none")
+)
+
+
+
+;; From gtkcelllayout.h
+
+(define-function gtk_cell_layout_get_type
+ (c-name "gtk_cell_layout_get_type")
+ (return-type "GType")
+)
+
+(define-method pack_start
+ (of-object "GtkCellLayout")
+ (c-name "gtk_cell_layout_pack_start")
+ (return-type "none")
+ (parameters
+ '("GtkCellRenderer*" "cell")
+ '("gboolean" "expand")
+ )
+)
+
+(define-method pack_end
+ (of-object "GtkCellLayout")
+ (c-name "gtk_cell_layout_pack_end")
+ (return-type "none")
+ (parameters
+ '("GtkCellRenderer*" "cell")
+ '("gboolean" "expand")
+ )
+)
+
+(define-method get_cells
+ (of-object "GtkCellLayout")
+ (c-name "gtk_cell_layout_get_cells")
+ (return-type "GList*")
+)
+
+(define-method clear
+ (of-object "GtkCellLayout")
+ (c-name "gtk_cell_layout_clear")
+ (return-type "none")
+)
+
+(define-method set_attributes
+ (of-object "GtkCellLayout")
+ (c-name "gtk_cell_layout_set_attributes")
+ (return-type "none")
+ (parameters
+ '("GtkCellRenderer*" "cell")
+ )
+ (varargs #t)
+)
+
+(define-method add_attribute
+ (of-object "GtkCellLayout")
+ (c-name "gtk_cell_layout_add_attribute")
+ (return-type "none")
+ (parameters
+ '("GtkCellRenderer*" "cell")
+ '("const-gchar*" "attribute")
+ '("gint" "column")
+ )
+)
+
+(define-method set_cell_data_func
+ (of-object "GtkCellLayout")
+ (c-name "gtk_cell_layout_set_cell_data_func")
+ (return-type "none")
+ (parameters
+ '("GtkCellRenderer*" "cell")
+ '("GtkCellLayoutDataFunc" "func")
+ '("gpointer" "func_data")
+ '("GDestroyNotify" "destroy")
+ )
+)
+
+(define-method clear_attributes
+ (of-object "GtkCellLayout")
+ (c-name "gtk_cell_layout_clear_attributes")
+ (return-type "none")
+ (parameters
+ '("GtkCellRenderer*" "cell")
+ )
+)
+
+(define-method reorder
+ (of-object "GtkCellLayout")
+ (c-name "gtk_cell_layout_reorder")
+ (return-type "none")
+ (parameters
+ '("GtkCellRenderer*" "cell")
+ '("gint" "position")
+ )
+)
+
+
+
+;; From gtkcellrendereraccel.h
+
+(define-function gtk_cell_renderer_accel_get_type
+ (c-name "gtk_cell_renderer_accel_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_cell_renderer_accel_new
+ (c-name "gtk_cell_renderer_accel_new")
+ (is-constructor-of "GtkCellRendererAccel")
+ (return-type "GtkCellRenderer*")
+)
+
+
+
+;; From gtkcellrenderercombo.h
+
+(define-function gtk_cell_renderer_combo_get_type
+ (c-name "gtk_cell_renderer_combo_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_cell_renderer_combo_new
+ (c-name "gtk_cell_renderer_combo_new")
+ (is-constructor-of "GtkCellRendererCombo")
+ (return-type "GtkCellRenderer*")
+)
+
+
+
+;; From gtkcellrenderer.h
+
+(define-function gtk_cell_renderer_get_type
+ (c-name "gtk_cell_renderer_get_type")
+ (return-type "GType")
+)
+
+(define-method get_size
+ (of-object "GtkCellRenderer")
+ (c-name "gtk_cell_renderer_get_size")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("GdkRectangle*" "cell_area")
+ '("gint*" "x_offset")
+ '("gint*" "y_offset")
+ '("gint*" "width")
+ '("gint*" "height")
+ )
+)
+
+(define-method render
+ (of-object "GtkCellRenderer")
+ (c-name "gtk_cell_renderer_render")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkWidget*" "widget")
+ '("GdkRectangle*" "background_area")
+ '("GdkRectangle*" "cell_area")
+ '("GdkRectangle*" "expose_area")
+ '("GtkCellRendererState" "flags")
+ )
+)
+
+(define-method activate
+ (of-object "GtkCellRenderer")
+ (c-name "gtk_cell_renderer_activate")
+ (return-type "gboolean")
+ (parameters
+ '("GdkEvent*" "event")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "path")
+ '("GdkRectangle*" "background_area")
+ '("GdkRectangle*" "cell_area")
+ '("GtkCellRendererState" "flags")
+ )
+)
+
+(define-method start_editing
+ (of-object "GtkCellRenderer")
+ (c-name "gtk_cell_renderer_start_editing")
+ (return-type "GtkCellEditable*")
+ (parameters
+ '("GdkEvent*" "event")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "path")
+ '("GdkRectangle*" "background_area")
+ '("GdkRectangle*" "cell_area")
+ '("GtkCellRendererState" "flags")
+ )
+)
+
+(define-method set_fixed_size
+ (of-object "GtkCellRenderer")
+ (c-name "gtk_cell_renderer_set_fixed_size")
+ (return-type "none")
+ (parameters
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-method get_fixed_size
+ (of-object "GtkCellRenderer")
+ (c-name "gtk_cell_renderer_get_fixed_size")
+ (return-type "none")
+ (parameters
+ '("gint*" "width")
+ '("gint*" "height")
+ )
+)
+
+(define-method editing_canceled
+ (of-object "GtkCellRenderer")
+ (c-name "gtk_cell_renderer_editing_canceled")
+ (return-type "none")
+)
+
+(define-method stop_editing
+ (of-object "GtkCellRenderer")
+ (c-name "gtk_cell_renderer_stop_editing")
+ (return-type "none")
+ (parameters
+ '("gboolean" "canceled")
+ )
+)
+
+
+
+;; From gtkcellrendererpixbuf.h
+
+(define-function gtk_cell_renderer_pixbuf_get_type
+ (c-name "gtk_cell_renderer_pixbuf_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_cell_renderer_pixbuf_new
+ (c-name "gtk_cell_renderer_pixbuf_new")
+ (is-constructor-of "GtkCellRendererPixbuf")
+ (return-type "GtkCellRenderer*")
+)
+
+
+
+;; From gtkcellrendererprogress.h
+
+(define-function gtk_cell_renderer_progress_get_type
+ (c-name "gtk_cell_renderer_progress_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_cell_renderer_progress_new
+ (c-name "gtk_cell_renderer_progress_new")
+ (is-constructor-of "GtkCellRendererProgress")
+ (return-type "GtkCellRenderer*")
+)
+
+
+
+;; From gtkcellrendererspin.h
+
+(define-function gtk_cell_renderer_spin_get_type
+ (c-name "gtk_cell_renderer_spin_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_cell_renderer_spin_new
+ (c-name "gtk_cell_renderer_spin_new")
+ (is-constructor-of "GtkCellRendererSpin")
+ (return-type "GtkCellRenderer*")
+)
+
+
+
+;; From gtkcellrenderertext.h
+
+(define-function gtk_cell_renderer_text_get_type
+ (c-name "gtk_cell_renderer_text_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_cell_renderer_text_new
+ (c-name "gtk_cell_renderer_text_new")
+ (is-constructor-of "GtkCellRendererText")
+ (return-type "GtkCellRenderer*")
+)
+
+(define-method set_fixed_height_from_font
+ (of-object "GtkCellRendererText")
+ (c-name "gtk_cell_renderer_text_set_fixed_height_from_font")
+ (return-type "none")
+ (parameters
+ '("gint" "number_of_rows")
+ )
+)
+
+
+
+;; From gtkcellrenderertoggle.h
+
+(define-function gtk_cell_renderer_toggle_get_type
+ (c-name "gtk_cell_renderer_toggle_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_cell_renderer_toggle_new
+ (c-name "gtk_cell_renderer_toggle_new")
+ (is-constructor-of "GtkCellRendererToggle")
+ (return-type "GtkCellRenderer*")
+)
+
+(define-method get_radio
+ (of-object "GtkCellRendererToggle")
+ (c-name "gtk_cell_renderer_toggle_get_radio")
+ (return-type "gboolean")
+)
+
+(define-method set_radio
+ (of-object "GtkCellRendererToggle")
+ (c-name "gtk_cell_renderer_toggle_set_radio")
+ (return-type "none")
+ (parameters
+ '("gboolean" "radio")
+ )
+)
+
+(define-method get_active
+ (of-object "GtkCellRendererToggle")
+ (c-name "gtk_cell_renderer_toggle_get_active")
+ (return-type "gboolean")
+)
+
+(define-method set_active
+ (of-object "GtkCellRendererToggle")
+ (c-name "gtk_cell_renderer_toggle_set_active")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+
+
+;; From gtkcellview.h
+
+(define-function gtk_cell_view_get_type
+ (c-name "gtk_cell_view_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_cell_view_new
+ (c-name "gtk_cell_view_new")
+ (is-constructor-of "GtkCellView")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_cell_view_new_with_text
+ (c-name "gtk_cell_view_new_with_text")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "text")
+ )
+)
+
+(define-function gtk_cell_view_new_with_markup
+ (c-name "gtk_cell_view_new_with_markup")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "markup")
+ )
+)
+
+(define-function gtk_cell_view_new_with_pixbuf
+ (c-name "gtk_cell_view_new_with_pixbuf")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GdkPixbuf*" "pixbuf")
+ )
+)
+
+(define-method set_model
+ (of-object "GtkCellView")
+ (c-name "gtk_cell_view_set_model")
+ (return-type "none")
+ (parameters
+ '("GtkTreeModel*" "model")
+ )
+)
+
+(define-method set_displayed_row
+ (of-object "GtkCellView")
+ (c-name "gtk_cell_view_set_displayed_row")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-method get_displayed_row
+ (of-object "GtkCellView")
+ (c-name "gtk_cell_view_get_displayed_row")
+ (return-type "GtkTreePath*")
+)
+
+(define-method get_size_of_row
+ (of-object "GtkCellView")
+ (c-name "gtk_cell_view_get_size_of_row")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreePath*" "path")
+ '("GtkRequisition*" "requisition")
+ )
+)
+
+(define-method set_background_color
+ (of-object "GtkCellView")
+ (c-name "gtk_cell_view_set_background_color")
+ (return-type "none")
+ (parameters
+ '("const-GdkColor*" "color")
+ )
+)
+
+(define-method get_cell_renderers
+ (of-object "GtkCellView")
+ (c-name "gtk_cell_view_get_cell_renderers")
+ (return-type "GList*")
+)
+
+
+
+;; From gtkcheckbutton.h
+
+(define-function gtk_check_button_get_type
+ (c-name "gtk_check_button_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_check_button_new
+ (c-name "gtk_check_button_new")
+ (is-constructor-of "GtkCheckButton")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_check_button_new_with_label
+ (c-name "gtk_check_button_new_with_label")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-function gtk_check_button_new_with_mnemonic
+ (c-name "gtk_check_button_new_with_mnemonic")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+
+
+;; From gtkcheckmenuitem.h
+
+(define-function gtk_check_menu_item_get_type
+ (c-name "gtk_check_menu_item_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_check_menu_item_new
+ (c-name "gtk_check_menu_item_new")
+ (is-constructor-of "GtkCheckMenuItem")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_check_menu_item_new_with_label
+ (c-name "gtk_check_menu_item_new_with_label")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-function gtk_check_menu_item_new_with_mnemonic
+ (c-name "gtk_check_menu_item_new_with_mnemonic")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-method set_active
+ (of-object "GtkCheckMenuItem")
+ (c-name "gtk_check_menu_item_set_active")
+ (return-type "none")
+ (parameters
+ '("gboolean" "is_active")
+ )
+)
+
+(define-method get_active
+ (of-object "GtkCheckMenuItem")
+ (c-name "gtk_check_menu_item_get_active")
+ (return-type "gboolean")
+)
+
+(define-method toggled
+ (of-object "GtkCheckMenuItem")
+ (c-name "gtk_check_menu_item_toggled")
+ (return-type "none")
+)
+
+(define-method set_inconsistent
+ (of-object "GtkCheckMenuItem")
+ (c-name "gtk_check_menu_item_set_inconsistent")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_inconsistent
+ (of-object "GtkCheckMenuItem")
+ (c-name "gtk_check_menu_item_get_inconsistent")
+ (return-type "gboolean")
+)
+
+(define-method set_draw_as_radio
+ (of-object "GtkCheckMenuItem")
+ (c-name "gtk_check_menu_item_set_draw_as_radio")
+ (return-type "none")
+ (parameters
+ '("gboolean" "draw_as_radio")
+ )
+)
+
+(define-method get_draw_as_radio
+ (of-object "GtkCheckMenuItem")
+ (c-name "gtk_check_menu_item_get_draw_as_radio")
+ (return-type "gboolean")
+)
+
+(define-method set_show_toggle
+ (of-object "GtkCheckMenuItem")
+ (c-name "gtk_check_menu_item_set_show_toggle")
+ (return-type "none")
+ (parameters
+ '("gboolean" "always")
+ )
+)
+
+
+
+;; From gtkclipboard.h
+
+(define-function gtk_clipboard_get_type
+ (c-name "gtk_clipboard_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_clipboard_get_for_display
+ (c-name "gtk_clipboard_get_for_display")
+ (return-type "GtkClipboard*")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("GdkAtom" "selection")
+ )
+)
+
+(define-function gtk_clipboard_get
+ (c-name "gtk_clipboard_get")
+ (return-type "GtkClipboard*")
+ (parameters
+ '("GdkAtom" "selection")
+ )
+)
+
+(define-method get_display
+ (of-object "GtkClipboard")
+ (c-name "gtk_clipboard_get_display")
+ (return-type "GdkDisplay*")
+)
+
+(define-method set_with_data
+ (of-object "GtkClipboard")
+ (c-name "gtk_clipboard_set_with_data")
+ (return-type "gboolean")
+ (parameters
+ '("const-GtkTargetEntry*" "targets")
+ '("guint" "n_targets")
+ '("GtkClipboardGetFunc" "get_func")
+ '("GtkClipboardClearFunc" "clear_func")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method set_with_owner
+ (of-object "GtkClipboard")
+ (c-name "gtk_clipboard_set_with_owner")
+ (return-type "gboolean")
+ (parameters
+ '("const-GtkTargetEntry*" "targets")
+ '("guint" "n_targets")
+ '("GtkClipboardGetFunc" "get_func")
+ '("GtkClipboardClearFunc" "clear_func")
+ '("GObject*" "owner")
+ )
+)
+
+(define-method get_owner
+ (of-object "GtkClipboard")
+ (c-name "gtk_clipboard_get_owner")
+ (return-type "GObject*")
+)
+
+(define-method clear
+ (of-object "GtkClipboard")
+ (c-name "gtk_clipboard_clear")
+ (return-type "none")
+)
+
+(define-method set_text
+ (of-object "GtkClipboard")
+ (c-name "gtk_clipboard_set_text")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "text")
+ '("gint" "len")
+ )
+)
+
+(define-method set_image
+ (of-object "GtkClipboard")
+ (c-name "gtk_clipboard_set_image")
+ (return-type "none")
+ (parameters
+ '("GdkPixbuf*" "pixbuf")
+ )
+)
+
+(define-method request_contents
+ (of-object "GtkClipboard")
+ (c-name "gtk_clipboard_request_contents")
+ (return-type "none")
+ (parameters
+ '("GdkAtom" "target")
+ '("GtkClipboardReceivedFunc" "callback")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method request_text
+ (of-object "GtkClipboard")
+ (c-name "gtk_clipboard_request_text")
+ (return-type "none")
+ (parameters
+ '("GtkClipboardTextReceivedFunc" "callback")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method request_rich_text
+ (of-object "GtkClipboard")
+ (c-name "gtk_clipboard_request_rich_text")
+ (return-type "none")
+ (parameters
+ '("GtkTextBuffer*" "buffer")
+ '("GtkClipboardRichTextReceivedFunc" "callback")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method request_image
+ (of-object "GtkClipboard")
+ (c-name "gtk_clipboard_request_image")
+ (return-type "none")
+ (parameters
+ '("GtkClipboardImageReceivedFunc" "callback")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method request_targets
+ (of-object "GtkClipboard")
+ (c-name "gtk_clipboard_request_targets")
+ (return-type "none")
+ (parameters
+ '("GtkClipboardTargetsReceivedFunc" "callback")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method wait_for_contents
+ (of-object "GtkClipboard")
+ (c-name "gtk_clipboard_wait_for_contents")
+ (return-type "GtkSelectionData*")
+ (parameters
+ '("GdkAtom" "target")
+ )
+)
+
+(define-method wait_for_text
+ (of-object "GtkClipboard")
+ (c-name "gtk_clipboard_wait_for_text")
+ (return-type "gchar*")
+)
+
+(define-method wait_for_rich_text
+ (of-object "GtkClipboard")
+ (c-name "gtk_clipboard_wait_for_rich_text")
+ (return-type "guint8*")
+ (parameters
+ '("GtkTextBuffer*" "buffer")
+ '("GdkAtom*" "format")
+ '("gsize*" "length")
+ )
+)
+
+(define-method wait_for_image
+ (of-object "GtkClipboard")
+ (c-name "gtk_clipboard_wait_for_image")
+ (return-type "GdkPixbuf*")
+)
+
+(define-method wait_for_targets
+ (of-object "GtkClipboard")
+ (c-name "gtk_clipboard_wait_for_targets")
+ (return-type "gboolean")
+ (parameters
+ '("GdkAtom**" "targets")
+ '("gint*" "n_targets")
+ )
+)
+
+(define-method wait_is_text_available
+ (of-object "GtkClipboard")
+ (c-name "gtk_clipboard_wait_is_text_available")
+ (return-type "gboolean")
+)
+
+(define-method wait_is_rich_text_available
+ (of-object "GtkClipboard")
+ (c-name "gtk_clipboard_wait_is_rich_text_available")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextBuffer*" "buffer")
+ )
+)
+
+(define-method wait_is_image_available
+ (of-object "GtkClipboard")
+ (c-name "gtk_clipboard_wait_is_image_available")
+ (return-type "gboolean")
+)
+
+(define-method wait_is_target_available
+ (of-object "GtkClipboard")
+ (c-name "gtk_clipboard_wait_is_target_available")
+ (return-type "gboolean")
+ (parameters
+ '("GdkAtom" "target")
+ )
+)
+
+(define-method set_can_store
+ (of-object "GtkClipboard")
+ (c-name "gtk_clipboard_set_can_store")
+ (return-type "none")
+ (parameters
+ '("const-GtkTargetEntry*" "targets")
+ '("gint" "n_targets")
+ )
+)
+
+(define-method store
+ (of-object "GtkClipboard")
+ (c-name "gtk_clipboard_store")
+ (return-type "none")
+)
+
+
+
+;; From gtkclist.h
+
+(define-function gtk_clist_get_type
+ (c-name "gtk_clist_get_type")
+ (return-type "GtkType")
+)
+
+(define-function gtk_clist_new
+ (c-name "gtk_clist_new")
+ (is-constructor-of "GtkClist")
+ (return-type "GtkWidget*")
+ (parameters
+ '("gint" "columns")
+ )
+)
+
+(define-function gtk_clist_new_with_titles
+ (c-name "gtk_clist_new_with_titles")
+ (return-type "GtkWidget*")
+ (parameters
+ '("gint" "columns")
+ '("gchar*[]" "titles")
+ )
+)
+
+(define-method set_hadjustment
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_hadjustment")
+ (return-type "none")
+ (parameters
+ '("GtkAdjustment*" "adjustment")
+ )
+)
+
+(define-method set_vadjustment
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_vadjustment")
+ (return-type "none")
+ (parameters
+ '("GtkAdjustment*" "adjustment")
+ )
+)
+
+(define-method get_hadjustment
+ (of-object "GtkCList")
+ (c-name "gtk_clist_get_hadjustment")
+ (return-type "GtkAdjustment*")
+)
+
+(define-method get_vadjustment
+ (of-object "GtkCList")
+ (c-name "gtk_clist_get_vadjustment")
+ (return-type "GtkAdjustment*")
+)
+
+(define-method set_shadow_type
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_shadow_type")
+ (return-type "none")
+ (parameters
+ '("GtkShadowType" "type")
+ )
+)
+
+(define-method set_selection_mode
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_selection_mode")
+ (return-type "none")
+ (parameters
+ '("GtkSelectionMode" "mode")
+ )
+)
+
+(define-method set_reorderable
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_reorderable")
+ (return-type "none")
+ (parameters
+ '("gboolean" "reorderable")
+ )
+)
+
+(define-method set_use_drag_icons
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_use_drag_icons")
+ (return-type "none")
+ (parameters
+ '("gboolean" "use_icons")
+ )
+)
+
+(define-method set_button_actions
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_button_actions")
+ (return-type "none")
+ (parameters
+ '("guint" "button")
+ '("guint8" "button_actions")
+ )
+)
+
+(define-method freeze
+ (of-object "GtkCList")
+ (c-name "gtk_clist_freeze")
+ (return-type "none")
+)
+
+(define-method thaw
+ (of-object "GtkCList")
+ (c-name "gtk_clist_thaw")
+ (return-type "none")
+)
+
+(define-method column_titles_show
+ (of-object "GtkCList")
+ (c-name "gtk_clist_column_titles_show")
+ (return-type "none")
+)
+
+(define-method column_titles_hide
+ (of-object "GtkCList")
+ (c-name "gtk_clist_column_titles_hide")
+ (return-type "none")
+)
+
+(define-method column_title_active
+ (of-object "GtkCList")
+ (c-name "gtk_clist_column_title_active")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+(define-method column_title_passive
+ (of-object "GtkCList")
+ (c-name "gtk_clist_column_title_passive")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+(define-method column_titles_active
+ (of-object "GtkCList")
+ (c-name "gtk_clist_column_titles_active")
+ (return-type "none")
+)
+
+(define-method column_titles_passive
+ (of-object "GtkCList")
+ (c-name "gtk_clist_column_titles_passive")
+ (return-type "none")
+)
+
+(define-method set_column_title
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_column_title")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ '("const-gchar*" "title")
+ )
+)
+
+(define-method get_column_title
+ (of-object "GtkCList")
+ (c-name "gtk_clist_get_column_title")
+ (return-type "gchar*")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+(define-method set_column_widget
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_column_widget")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-method get_column_widget
+ (of-object "GtkCList")
+ (c-name "gtk_clist_get_column_widget")
+ (return-type "GtkWidget*")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+(define-method set_column_justification
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_column_justification")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ '("GtkJustification" "justification")
+ )
+)
+
+(define-method set_column_visibility
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_column_visibility")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ '("gboolean" "visible")
+ )
+)
+
+(define-method set_column_resizeable
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_column_resizeable")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ '("gboolean" "resizeable")
+ )
+)
+
+(define-method set_column_auto_resize
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_column_auto_resize")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ '("gboolean" "auto_resize")
+ )
+)
+
+(define-method columns_autosize
+ (of-object "GtkCList")
+ (c-name "gtk_clist_columns_autosize")
+ (return-type "gint")
+)
+
+(define-method optimal_column_width
+ (of-object "GtkCList")
+ (c-name "gtk_clist_optimal_column_width")
+ (return-type "gint")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+(define-method set_column_width
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_column_width")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ '("gint" "width")
+ )
+)
+
+(define-method set_column_min_width
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_column_min_width")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ '("gint" "min_width")
+ )
+)
+
+(define-method set_column_max_width
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_column_max_width")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ '("gint" "max_width")
+ )
+)
+
+(define-method set_row_height
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_row_height")
+ (return-type "none")
+ (parameters
+ '("guint" "height")
+ )
+)
+
+(define-method moveto
+ (of-object "GtkCList")
+ (c-name "gtk_clist_moveto")
+ (return-type "none")
+ (parameters
+ '("gint" "row")
+ '("gint" "column")
+ '("gfloat" "row_align")
+ '("gfloat" "col_align")
+ )
+)
+
+(define-method row_is_visible
+ (of-object "GtkCList")
+ (c-name "gtk_clist_row_is_visible")
+ (return-type "GtkVisibility")
+ (parameters
+ '("gint" "row")
+ )
+)
+
+(define-method get_cell_type
+ (of-object "GtkCList")
+ (c-name "gtk_clist_get_cell_type")
+ (return-type "GtkCellType")
+ (parameters
+ '("gint" "row")
+ '("gint" "column")
+ )
+)
+
+(define-method set_text
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_text")
+ (return-type "none")
+ (parameters
+ '("gint" "row")
+ '("gint" "column")
+ '("const-gchar*" "text")
+ )
+)
+
+(define-method get_text
+ (of-object "GtkCList")
+ (c-name "gtk_clist_get_text")
+ (return-type "gint")
+ (parameters
+ '("gint" "row")
+ '("gint" "column")
+ '("gchar**" "text")
+ )
+)
+
+(define-method set_pixmap
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_pixmap")
+ (return-type "none")
+ (parameters
+ '("gint" "row")
+ '("gint" "column")
+ '("GdkPixmap*" "pixmap")
+ '("GdkBitmap*" "mask")
+ )
+)
+
+(define-method get_pixmap
+ (of-object "GtkCList")
+ (c-name "gtk_clist_get_pixmap")
+ (return-type "gint")
+ (parameters
+ '("gint" "row")
+ '("gint" "column")
+ '("GdkPixmap**" "pixmap")
+ '("GdkBitmap**" "mask")
+ )
+)
+
+(define-method set_pixtext
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_pixtext")
+ (return-type "none")
+ (parameters
+ '("gint" "row")
+ '("gint" "column")
+ '("const-gchar*" "text")
+ '("guint8" "spacing")
+ '("GdkPixmap*" "pixmap")
+ '("GdkBitmap*" "mask")
+ )
+)
+
+(define-method get_pixtext
+ (of-object "GtkCList")
+ (c-name "gtk_clist_get_pixtext")
+ (return-type "gint")
+ (parameters
+ '("gint" "row")
+ '("gint" "column")
+ '("gchar**" "text")
+ '("guint8*" "spacing")
+ '("GdkPixmap**" "pixmap")
+ '("GdkBitmap**" "mask")
+ )
+)
+
+(define-method set_foreground
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_foreground")
+ (return-type "none")
+ (parameters
+ '("gint" "row")
+ '("const-GdkColor*" "color")
+ )
+)
+
+(define-method set_background
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_background")
+ (return-type "none")
+ (parameters
+ '("gint" "row")
+ '("const-GdkColor*" "color")
+ )
+)
+
+(define-method set_cell_style
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_cell_style")
+ (return-type "none")
+ (parameters
+ '("gint" "row")
+ '("gint" "column")
+ '("GtkStyle*" "style")
+ )
+)
+
+(define-method get_cell_style
+ (of-object "GtkCList")
+ (c-name "gtk_clist_get_cell_style")
+ (return-type "GtkStyle*")
+ (parameters
+ '("gint" "row")
+ '("gint" "column")
+ )
+)
+
+(define-method set_row_style
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_row_style")
+ (return-type "none")
+ (parameters
+ '("gint" "row")
+ '("GtkStyle*" "style")
+ )
+)
+
+(define-method get_row_style
+ (of-object "GtkCList")
+ (c-name "gtk_clist_get_row_style")
+ (return-type "GtkStyle*")
+ (parameters
+ '("gint" "row")
+ )
+)
+
+(define-method set_shift
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_shift")
+ (return-type "none")
+ (parameters
+ '("gint" "row")
+ '("gint" "column")
+ '("gint" "vertical")
+ '("gint" "horizontal")
+ )
+)
+
+(define-method set_selectable
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_selectable")
+ (return-type "none")
+ (parameters
+ '("gint" "row")
+ '("gboolean" "selectable")
+ )
+)
+
+(define-method get_selectable
+ (of-object "GtkCList")
+ (c-name "gtk_clist_get_selectable")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "row")
+ )
+)
+
+(define-method prepend
+ (of-object "GtkCList")
+ (c-name "gtk_clist_prepend")
+ (return-type "gint")
+ (parameters
+ '("gchar*[]" "text")
+ )
+)
+
+(define-method append
+ (of-object "GtkCList")
+ (c-name "gtk_clist_append")
+ (return-type "gint")
+ (parameters
+ '("gchar*[]" "text")
+ )
+)
+
+(define-method insert
+ (of-object "GtkCList")
+ (c-name "gtk_clist_insert")
+ (return-type "gint")
+ (parameters
+ '("gint" "row")
+ '("gchar*[]" "text")
+ )
+)
+
+(define-method remove
+ (of-object "GtkCList")
+ (c-name "gtk_clist_remove")
+ (return-type "none")
+ (parameters
+ '("gint" "row")
+ )
+)
+
+(define-method set_row_data
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_row_data")
+ (return-type "none")
+ (parameters
+ '("gint" "row")
+ '("gpointer" "data")
+ )
+)
+
+(define-method set_row_data_full
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_row_data_full")
+ (return-type "none")
+ (parameters
+ '("gint" "row")
+ '("gpointer" "data")
+ '("GtkDestroyNotify" "destroy")
+ )
+)
+
+(define-method get_row_data
+ (of-object "GtkCList")
+ (c-name "gtk_clist_get_row_data")
+ (return-type "gpointer")
+ (parameters
+ '("gint" "row")
+ )
+)
+
+(define-method find_row_from_data
+ (of-object "GtkCList")
+ (c-name "gtk_clist_find_row_from_data")
+ (return-type "gint")
+ (parameters
+ '("gpointer" "data")
+ )
+)
+
+(define-method select_row
+ (of-object "GtkCList")
+ (c-name "gtk_clist_select_row")
+ (return-type "none")
+ (parameters
+ '("gint" "row")
+ '("gint" "column")
+ )
+)
+
+(define-method unselect_row
+ (of-object "GtkCList")
+ (c-name "gtk_clist_unselect_row")
+ (return-type "none")
+ (parameters
+ '("gint" "row")
+ '("gint" "column")
+ )
+)
+
+(define-method undo_selection
+ (of-object "GtkCList")
+ (c-name "gtk_clist_undo_selection")
+ (return-type "none")
+)
+
+(define-method clear
+ (of-object "GtkCList")
+ (c-name "gtk_clist_clear")
+ (return-type "none")
+)
+
+(define-method get_selection_info
+ (of-object "GtkCList")
+ (c-name "gtk_clist_get_selection_info")
+ (return-type "gint")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ '("gint*" "row")
+ '("gint*" "column")
+ )
+)
+
+(define-method select_all
+ (of-object "GtkCList")
+ (c-name "gtk_clist_select_all")
+ (return-type "none")
+)
+
+(define-method unselect_all
+ (of-object "GtkCList")
+ (c-name "gtk_clist_unselect_all")
+ (return-type "none")
+)
+
+(define-method swap_rows
+ (of-object "GtkCList")
+ (c-name "gtk_clist_swap_rows")
+ (return-type "none")
+ (parameters
+ '("gint" "row1")
+ '("gint" "row2")
+ )
+)
+
+(define-method row_move
+ (of-object "GtkCList")
+ (c-name "gtk_clist_row_move")
+ (return-type "none")
+ (parameters
+ '("gint" "source_row")
+ '("gint" "dest_row")
+ )
+)
+
+(define-method set_compare_func
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_compare_func")
+ (return-type "none")
+ (parameters
+ '("GtkCListCompareFunc" "cmp_func")
+ )
+)
+
+(define-method set_sort_column
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_sort_column")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+(define-method set_sort_type
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_sort_type")
+ (return-type "none")
+ (parameters
+ '("GtkSortType" "sort_type")
+ )
+)
+
+(define-method sort
+ (of-object "GtkCList")
+ (c-name "gtk_clist_sort")
+ (return-type "none")
+)
+
+(define-method set_auto_sort
+ (of-object "GtkCList")
+ (c-name "gtk_clist_set_auto_sort")
+ (return-type "none")
+ (parameters
+ '("gboolean" "auto_sort")
+ )
+)
+
+
+
+;; From gtkcolorbutton.h
+
+(define-function gtk_color_button_get_type
+ (c-name "gtk_color_button_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_color_button_new
+ (c-name "gtk_color_button_new")
+ (is-constructor-of "GtkColorButton")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_color_button_new_with_color
+ (c-name "gtk_color_button_new_with_color")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-GdkColor*" "color")
+ )
+)
+
+(define-method set_color
+ (of-object "GtkColorButton")
+ (c-name "gtk_color_button_set_color")
+ (return-type "none")
+ (parameters
+ '("const-GdkColor*" "color")
+ )
+)
+
+(define-method set_alpha
+ (of-object "GtkColorButton")
+ (c-name "gtk_color_button_set_alpha")
+ (return-type "none")
+ (parameters
+ '("guint16" "alpha")
+ )
+)
+
+(define-method get_color
+ (of-object "GtkColorButton")
+ (c-name "gtk_color_button_get_color")
+ (return-type "none")
+ (parameters
+ '("GdkColor*" "color")
+ )
+)
+
+(define-method get_alpha
+ (of-object "GtkColorButton")
+ (c-name "gtk_color_button_get_alpha")
+ (return-type "guint16")
+)
+
+(define-method set_use_alpha
+ (of-object "GtkColorButton")
+ (c-name "gtk_color_button_set_use_alpha")
+ (return-type "none")
+ (parameters
+ '("gboolean" "use_alpha")
+ )
+)
+
+(define-method get_use_alpha
+ (of-object "GtkColorButton")
+ (c-name "gtk_color_button_get_use_alpha")
+ (return-type "gboolean")
+)
+
+(define-method set_title
+ (of-object "GtkColorButton")
+ (c-name "gtk_color_button_set_title")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "title")
+ )
+)
+
+(define-method get_title
+ (of-object "GtkColorButton")
+ (c-name "gtk_color_button_get_title")
+ (return-type "const-gchar*")
+)
+
+
+
+;; From gtkcolorseldialog.h
+
+(define-function gtk_color_selection_dialog_get_type
+ (c-name "gtk_color_selection_dialog_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_color_selection_dialog_new
+ (c-name "gtk_color_selection_dialog_new")
+ (is-constructor-of "GtkColorSelectionDialog")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "title")
+ )
+)
+
+
+
+;; From gtkcolorsel.h
+
+(define-function gtk_color_selection_get_type
+ (c-name "gtk_color_selection_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_color_selection_new
+ (c-name "gtk_color_selection_new")
+ (is-constructor-of "GtkColorSelection")
+ (return-type "GtkWidget*")
+)
+
+(define-method get_has_opacity_control
+ (of-object "GtkColorSelection")
+ (c-name "gtk_color_selection_get_has_opacity_control")
+ (return-type "gboolean")
+)
+
+(define-method set_has_opacity_control
+ (of-object "GtkColorSelection")
+ (c-name "gtk_color_selection_set_has_opacity_control")
+ (return-type "none")
+ (parameters
+ '("gboolean" "has_opacity")
+ )
+)
+
+(define-method get_has_palette
+ (of-object "GtkColorSelection")
+ (c-name "gtk_color_selection_get_has_palette")
+ (return-type "gboolean")
+)
+
+(define-method set_has_palette
+ (of-object "GtkColorSelection")
+ (c-name "gtk_color_selection_set_has_palette")
+ (return-type "none")
+ (parameters
+ '("gboolean" "has_palette")
+ )
+)
+
+(define-method set_current_color
+ (of-object "GtkColorSelection")
+ (c-name "gtk_color_selection_set_current_color")
+ (return-type "none")
+ (parameters
+ '("const-GdkColor*" "color")
+ )
+)
+
+(define-method set_current_alpha
+ (of-object "GtkColorSelection")
+ (c-name "gtk_color_selection_set_current_alpha")
+ (return-type "none")
+ (parameters
+ '("guint16" "alpha")
+ )
+)
+
+(define-method get_current_color
+ (of-object "GtkColorSelection")
+ (c-name "gtk_color_selection_get_current_color")
+ (return-type "none")
+ (parameters
+ '("GdkColor*" "color")
+ )
+)
+
+(define-method get_current_alpha
+ (of-object "GtkColorSelection")
+ (c-name "gtk_color_selection_get_current_alpha")
+ (return-type "guint16")
+)
+
+(define-method set_previous_color
+ (of-object "GtkColorSelection")
+ (c-name "gtk_color_selection_set_previous_color")
+ (return-type "none")
+ (parameters
+ '("const-GdkColor*" "color")
+ )
+)
+
+(define-method set_previous_alpha
+ (of-object "GtkColorSelection")
+ (c-name "gtk_color_selection_set_previous_alpha")
+ (return-type "none")
+ (parameters
+ '("guint16" "alpha")
+ )
+)
+
+(define-method get_previous_color
+ (of-object "GtkColorSelection")
+ (c-name "gtk_color_selection_get_previous_color")
+ (return-type "none")
+ (parameters
+ '("GdkColor*" "color")
+ )
+)
+
+(define-method get_previous_alpha
+ (of-object "GtkColorSelection")
+ (c-name "gtk_color_selection_get_previous_alpha")
+ (return-type "guint16")
+)
+
+(define-method is_adjusting
+ (of-object "GtkColorSelection")
+ (c-name "gtk_color_selection_is_adjusting")
+ (return-type "gboolean")
+)
+
+(define-function gtk_color_selection_palette_from_string
+ (c-name "gtk_color_selection_palette_from_string")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "str")
+ '("GdkColor**" "colors")
+ '("gint*" "n_colors")
+ )
+)
+
+(define-function gtk_color_selection_palette_to_string
+ (c-name "gtk_color_selection_palette_to_string")
+ (return-type "gchar*")
+ (parameters
+ '("const-GdkColor*" "colors")
+ '("gint" "n_colors")
+ )
+)
+
+(define-function gtk_color_selection_set_change_palette_hook
+ (c-name "gtk_color_selection_set_change_palette_hook")
+ (return-type "GtkColorSelectionChangePaletteFunc")
+ (parameters
+ '("GtkColorSelectionChangePaletteFunc" "func")
+ )
+)
+
+(define-function gtk_color_selection_set_change_palette_with_screen_hook
+ (c-name "gtk_color_selection_set_change_palette_with_screen_hook")
+ (return-type "GtkColorSelectionChangePaletteWithScreenFunc")
+ (parameters
+ '("GtkColorSelectionChangePaletteWithScreenFunc" "func")
+ )
+)
+
+(define-method set_color
+ (of-object "GtkColorSelection")
+ (c-name "gtk_color_selection_set_color")
+ (return-type "none")
+ (parameters
+ '("gdouble*" "color")
+ )
+)
+
+(define-method get_color
+ (of-object "GtkColorSelection")
+ (c-name "gtk_color_selection_get_color")
+ (return-type "none")
+ (parameters
+ '("gdouble*" "color")
+ )
+)
+
+(define-method set_update_policy
+ (of-object "GtkColorSelection")
+ (c-name "gtk_color_selection_set_update_policy")
+ (return-type "none")
+ (parameters
+ '("GtkUpdateType" "policy")
+ )
+)
+
+
+
+;; From gtkcomboboxentry.h
+
+(define-function gtk_combo_box_entry_get_type
+ (c-name "gtk_combo_box_entry_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_combo_box_entry_new
+ (c-name "gtk_combo_box_entry_new")
+ (is-constructor-of "GtkComboBoxEntry")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_combo_box_entry_new_with_model
+ (c-name "gtk_combo_box_entry_new_with_model")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkTreeModel*" "model")
+ '("gint" "text_column")
+ )
+)
+
+(define-method set_text_column
+ (of-object "GtkComboBoxEntry")
+ (c-name "gtk_combo_box_entry_set_text_column")
+ (return-type "none")
+ (parameters
+ '("gint" "text_column")
+ )
+)
+
+(define-method get_text_column
+ (of-object "GtkComboBoxEntry")
+ (c-name "gtk_combo_box_entry_get_text_column")
+ (return-type "gint")
+)
+
+(define-function gtk_combo_box_entry_new_text
+ (c-name "gtk_combo_box_entry_new_text")
+ (return-type "GtkWidget*")
+)
+
+
+
+;; From gtkcombobox.h
+
+(define-function gtk_combo_box_get_type
+ (c-name "gtk_combo_box_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_combo_box_new
+ (c-name "gtk_combo_box_new")
+ (is-constructor-of "GtkComboBox")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_combo_box_new_with_model
+ (c-name "gtk_combo_box_new_with_model")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkTreeModel*" "model")
+ )
+)
+
+(define-method get_wrap_width
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_get_wrap_width")
+ (return-type "gint")
+)
+
+(define-method set_wrap_width
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_set_wrap_width")
+ (return-type "none")
+ (parameters
+ '("gint" "width")
+ )
+)
+
+(define-method get_row_span_column
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_get_row_span_column")
+ (return-type "gint")
+)
+
+(define-method set_row_span_column
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_set_row_span_column")
+ (return-type "none")
+ (parameters
+ '("gint" "row_span")
+ )
+)
+
+(define-method get_column_span_column
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_get_column_span_column")
+ (return-type "gint")
+)
+
+(define-method set_column_span_column
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_set_column_span_column")
+ (return-type "none")
+ (parameters
+ '("gint" "column_span")
+ )
+)
+
+(define-method get_add_tearoffs
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_get_add_tearoffs")
+ (return-type "gboolean")
+)
+
+(define-method set_add_tearoffs
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_set_add_tearoffs")
+ (return-type "none")
+ (parameters
+ '("gboolean" "add_tearoffs")
+ )
+)
+
+(define-method get_title
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_get_title")
+ (return-type "const-gchar*")
+)
+
+(define-method set_title
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_set_title")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "title")
+ )
+)
+
+(define-method get_focus_on_click
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_get_focus_on_click")
+ (return-type "gboolean")
+)
+
+(define-method set_focus_on_click
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_set_focus_on_click")
+ (return-type "none")
+ (parameters
+ '("gboolean" "focus_on_click")
+ )
+)
+
+(define-method get_active
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_get_active")
+ (return-type "gint")
+)
+
+(define-method set_active
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_set_active")
+ (return-type "none")
+ (parameters
+ '("gint" "index_")
+ )
+)
+
+(define-method get_active_iter
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_get_active_iter")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method set_active_iter
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_set_active_iter")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method set_model
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_set_model")
+ (return-type "none")
+ (parameters
+ '("GtkTreeModel*" "model")
+ )
+)
+
+(define-method get_model
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_get_model")
+ (return-type "GtkTreeModel*")
+)
+
+(define-method get_row_separator_func
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_get_row_separator_func")
+ (return-type "GtkTreeViewRowSeparatorFunc")
+)
+
+(define-method set_row_separator_func
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_set_row_separator_func")
+ (return-type "none")
+ (parameters
+ '("GtkTreeViewRowSeparatorFunc" "func")
+ '("gpointer" "data")
+ '("GtkDestroyNotify" "destroy")
+ )
+)
+
+(define-function gtk_combo_box_new_text
+ (c-name "gtk_combo_box_new_text")
+ (return-type "GtkWidget*")
+)
+
+(define-method append_text
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_append_text")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "text")
+ )
+)
+
+(define-method insert_text
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_insert_text")
+ (return-type "none")
+ (parameters
+ '("gint" "position")
+ '("const-gchar*" "text")
+ )
+)
+
+(define-method prepend_text
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_prepend_text")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "text")
+ )
+)
+
+(define-method remove_text
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_remove_text")
+ (return-type "none")
+ (parameters
+ '("gint" "position")
+ )
+)
+
+(define-method get_active_text
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_get_active_text")
+ (return-type "gchar*")
+)
+
+(define-method popup
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_popup")
+ (return-type "none")
+)
+
+(define-method popdown
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_popdown")
+ (return-type "none")
+)
+
+(define-method get_popup_accessible
+ (of-object "GtkComboBox")
+ (c-name "gtk_combo_box_get_popup_accessible")
+ (return-type "AtkObject*")
+)
+
+
+
+;; From gtkcombo.h
+
+(define-function gtk_combo_get_type
+ (c-name "gtk_combo_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_combo_new
+ (c-name "gtk_combo_new")
+ (is-constructor-of "GtkCombo")
+ (return-type "GtkWidget*")
+)
+
+(define-method set_value_in_list
+ (of-object "GtkCombo")
+ (c-name "gtk_combo_set_value_in_list")
+ (return-type "none")
+ (parameters
+ '("gboolean" "val")
+ '("gboolean" "ok_if_empty")
+ )
+)
+
+(define-method set_use_arrows
+ (of-object "GtkCombo")
+ (c-name "gtk_combo_set_use_arrows")
+ (return-type "none")
+ (parameters
+ '("gboolean" "val")
+ )
+)
+
+(define-method set_use_arrows_always
+ (of-object "GtkCombo")
+ (c-name "gtk_combo_set_use_arrows_always")
+ (return-type "none")
+ (parameters
+ '("gboolean" "val")
+ )
+)
+
+(define-method set_case_sensitive
+ (of-object "GtkCombo")
+ (c-name "gtk_combo_set_case_sensitive")
+ (return-type "none")
+ (parameters
+ '("gboolean" "val")
+ )
+)
+
+(define-method set_item_string
+ (of-object "GtkCombo")
+ (c-name "gtk_combo_set_item_string")
+ (return-type "none")
+ (parameters
+ '("GtkItem*" "item")
+ '("const-gchar*" "item_value")
+ )
+)
+
+(define-method set_popdown_strings
+ (of-object "GtkCombo")
+ (c-name "gtk_combo_set_popdown_strings")
+ (return-type "none")
+ (parameters
+ '("GList*" "strings")
+ )
+)
+
+(define-method disable_activate
+ (of-object "GtkCombo")
+ (c-name "gtk_combo_disable_activate")
+ (return-type "none")
+)
+
+
+
+;; From gtkcontainer.h
+
+(define-function gtk_container_get_type
+ (c-name "gtk_container_get_type")
+ (return-type "GType")
+)
+
+(define-method set_border_width
+ (of-object "GtkContainer")
+ (c-name "gtk_container_set_border_width")
+ (return-type "none")
+ (parameters
+ '("guint" "border_width")
+ )
+)
+
+(define-method get_border_width
+ (of-object "GtkContainer")
+ (c-name "gtk_container_get_border_width")
+ (return-type "guint")
+)
+
+(define-method add
+ (of-object "GtkContainer")
+ (c-name "gtk_container_add")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-method remove
+ (of-object "GtkContainer")
+ (c-name "gtk_container_remove")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-method set_resize_mode
+ (of-object "GtkContainer")
+ (c-name "gtk_container_set_resize_mode")
+ (return-type "none")
+ (parameters
+ '("GtkResizeMode" "resize_mode")
+ )
+)
+
+(define-method get_resize_mode
+ (of-object "GtkContainer")
+ (c-name "gtk_container_get_resize_mode")
+ (return-type "GtkResizeMode")
+)
+
+(define-method check_resize
+ (of-object "GtkContainer")
+ (c-name "gtk_container_check_resize")
+ (return-type "none")
+)
+
+(define-method foreach
+ (of-object "GtkContainer")
+ (c-name "gtk_container_foreach")
+ (return-type "none")
+ (parameters
+ '("GtkCallback" "callback")
+ '("gpointer" "callback_data")
+ )
+)
+
+(define-method foreach_full
+ (of-object "GtkContainer")
+ (c-name "gtk_container_foreach_full")
+ (return-type "none")
+ (parameters
+ '("GtkCallback" "callback")
+ '("GtkCallbackMarshal" "marshal")
+ '("gpointer" "callback_data")
+ '("GtkDestroyNotify" "notify")
+ )
+)
+
+(define-method get_children
+ (of-object "GtkContainer")
+ (c-name "gtk_container_get_children")
+ (return-type "GList*")
+)
+
+(define-method propagate_expose
+ (of-object "GtkContainer")
+ (c-name "gtk_container_propagate_expose")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("GdkEventExpose*" "event")
+ )
+)
+
+(define-method set_focus_chain
+ (of-object "GtkContainer")
+ (c-name "gtk_container_set_focus_chain")
+ (return-type "none")
+ (parameters
+ '("GList*" "focusable_widgets")
+ )
+)
+
+(define-method get_focus_chain
+ (of-object "GtkContainer")
+ (c-name "gtk_container_get_focus_chain")
+ (return-type "gboolean")
+ (parameters
+ '("GList**" "focusable_widgets")
+ )
+)
+
+(define-method unset_focus_chain
+ (of-object "GtkContainer")
+ (c-name "gtk_container_unset_focus_chain")
+ (return-type "none")
+)
+
+(define-method set_reallocate_redraws
+ (of-object "GtkContainer")
+ (c-name "gtk_container_set_reallocate_redraws")
+ (return-type "none")
+ (parameters
+ '("gboolean" "needs_redraws")
+ )
+)
+
+(define-method set_focus_child
+ (of-object "GtkContainer")
+ (c-name "gtk_container_set_focus_child")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ )
+)
+
+(define-method set_focus_vadjustment
+ (of-object "GtkContainer")
+ (c-name "gtk_container_set_focus_vadjustment")
+ (return-type "none")
+ (parameters
+ '("GtkAdjustment*" "adjustment")
+ )
+)
+
+(define-method get_focus_vadjustment
+ (of-object "GtkContainer")
+ (c-name "gtk_container_get_focus_vadjustment")
+ (return-type "GtkAdjustment*")
+)
+
+(define-method set_focus_hadjustment
+ (of-object "GtkContainer")
+ (c-name "gtk_container_set_focus_hadjustment")
+ (return-type "none")
+ (parameters
+ '("GtkAdjustment*" "adjustment")
+ )
+)
+
+(define-method get_focus_hadjustment
+ (of-object "GtkContainer")
+ (c-name "gtk_container_get_focus_hadjustment")
+ (return-type "GtkAdjustment*")
+)
+
+(define-method resize_children
+ (of-object "GtkContainer")
+ (c-name "gtk_container_resize_children")
+ (return-type "none")
+)
+
+(define-method child_type
+ (of-object "GtkContainer")
+ (c-name "gtk_container_child_type")
+ (return-type "GType")
+)
+
+(define-method install_child_property
+ (of-object "GtkContainerClass")
+ (c-name "gtk_container_class_install_child_property")
+ (return-type "none")
+ (parameters
+ '("guint" "property_id")
+ '("GParamSpec*" "pspec")
+ )
+)
+
+(define-function gtk_container_class_find_child_property
+ (c-name "gtk_container_class_find_child_property")
+ (return-type "GParamSpec*")
+ (parameters
+ '("GObjectClass*" "cclass")
+ '("const-gchar*" "property_name")
+ )
+)
+
+(define-function gtk_container_class_list_child_properties
+ (c-name "gtk_container_class_list_child_properties")
+ (return-type "GParamSpec**")
+ (parameters
+ '("GObjectClass*" "cclass")
+ '("guint*" "n_properties")
+ )
+)
+
+(define-method add_with_properties
+ (of-object "GtkContainer")
+ (c-name "gtk_container_add_with_properties")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "first_prop_name")
+ )
+ (varargs #t)
+)
+
+(define-method child_set
+ (of-object "GtkContainer")
+ (c-name "gtk_container_child_set")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("const-gchar*" "first_prop_name")
+ )
+ (varargs #t)
+)
+
+(define-method child_get
+ (of-object "GtkContainer")
+ (c-name "gtk_container_child_get")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("const-gchar*" "first_prop_name")
+ )
+ (varargs #t)
+)
+
+(define-method child_set_valist
+ (of-object "GtkContainer")
+ (c-name "gtk_container_child_set_valist")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("const-gchar*" "first_property_name")
+ '("va_list" "var_args")
+ )
+)
+
+(define-method child_get_valist
+ (of-object "GtkContainer")
+ (c-name "gtk_container_child_get_valist")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("const-gchar*" "first_property_name")
+ '("va_list" "var_args")
+ )
+)
+
+(define-method child_set_property
+ (of-object "GtkContainer")
+ (c-name "gtk_container_child_set_property")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("const-gchar*" "property_name")
+ '("const-GValue*" "value")
+ )
+)
+
+(define-method child_get_property
+ (of-object "GtkContainer")
+ (c-name "gtk_container_child_get_property")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("const-gchar*" "property_name")
+ '("GValue*" "value")
+ )
+)
+
+(define-method forall
+ (of-object "GtkContainer")
+ (c-name "gtk_container_forall")
+ (return-type "none")
+ (parameters
+ '("GtkCallback" "callback")
+ '("gpointer" "callback_data")
+ )
+)
+
+
+
+;; From gtkctree.h
+
+(define-function gtk_ctree_get_type
+ (c-name "gtk_ctree_get_type")
+ (return-type "GtkType")
+)
+
+(define-function gtk_ctree_new_with_titles
+ (c-name "gtk_ctree_new_with_titles")
+ (return-type "GtkWidget*")
+ (parameters
+ '("gint" "columns")
+ '("gint" "tree_column")
+ '("gchar*[]" "titles")
+ )
+)
+
+(define-function gtk_ctree_new
+ (c-name "gtk_ctree_new")
+ (is-constructor-of "GtkCtree")
+ (return-type "GtkWidget*")
+ (parameters
+ '("gint" "columns")
+ '("gint" "tree_column")
+ )
+)
+
+(define-method insert_node
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_insert_node")
+ (return-type "GtkCTreeNode*")
+ (parameters
+ '("GtkCTreeNode*" "parent")
+ '("GtkCTreeNode*" "sibling")
+ '("gchar*[]" "text")
+ '("guint8" "spacing")
+ '("GdkPixmap*" "pixmap_closed")
+ '("GdkBitmap*" "mask_closed")
+ '("GdkPixmap*" "pixmap_opened")
+ '("GdkBitmap*" "mask_opened")
+ '("gboolean" "is_leaf")
+ '("gboolean" "expanded")
+ )
+)
+
+(define-method remove_node
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_remove_node")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ )
+)
+
+(define-method insert_gnode
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_insert_gnode")
+ (return-type "GtkCTreeNode*")
+ (parameters
+ '("GtkCTreeNode*" "parent")
+ '("GtkCTreeNode*" "sibling")
+ '("GNode*" "gnode")
+ '("GtkCTreeGNodeFunc" "func")
+ '("gpointer" "data")
+ )
+)
+
+(define-method export_to_gnode
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_export_to_gnode")
+ (return-type "GNode*")
+ (parameters
+ '("GNode*" "parent")
+ '("GNode*" "sibling")
+ '("GtkCTreeNode*" "node")
+ '("GtkCTreeGNodeFunc" "func")
+ '("gpointer" "data")
+ )
+)
+
+(define-method post_recursive
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_post_recursive")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("GtkCTreeFunc" "func")
+ '("gpointer" "data")
+ )
+)
+
+(define-method post_recursive_to_depth
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_post_recursive_to_depth")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gint" "depth")
+ '("GtkCTreeFunc" "func")
+ '("gpointer" "data")
+ )
+)
+
+(define-method pre_recursive
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_pre_recursive")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("GtkCTreeFunc" "func")
+ '("gpointer" "data")
+ )
+)
+
+(define-method pre_recursive_to_depth
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_pre_recursive_to_depth")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gint" "depth")
+ '("GtkCTreeFunc" "func")
+ '("gpointer" "data")
+ )
+)
+
+(define-method is_viewable
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_is_viewable")
+ (return-type "gboolean")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ )
+)
+
+(define-method last
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_last")
+ (return-type "GtkCTreeNode*")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ )
+)
+
+(define-method find_node_ptr
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_find_node_ptr")
+ (return-type "GtkCTreeNode*")
+ (parameters
+ '("GtkCTreeRow*" "ctree_row")
+ )
+)
+
+(define-method node_nth
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_node_nth")
+ (return-type "GtkCTreeNode*")
+ (parameters
+ '("guint" "row")
+ )
+)
+
+(define-method find
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_find")
+ (return-type "gboolean")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("GtkCTreeNode*" "child")
+ )
+)
+
+(define-method is_ancestor
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_is_ancestor")
+ (return-type "gboolean")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("GtkCTreeNode*" "child")
+ )
+)
+
+(define-method find_by_row_data
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_find_by_row_data")
+ (return-type "GtkCTreeNode*")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gpointer" "data")
+ )
+)
+
+(define-method find_all_by_row_data
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_find_all_by_row_data")
+ (return-type "GList*")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gpointer" "data")
+ )
+)
+
+(define-method find_by_row_data_custom
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_find_by_row_data_custom")
+ (return-type "GtkCTreeNode*")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gpointer" "data")
+ '("GCompareFunc" "func")
+ )
+)
+
+(define-method find_all_by_row_data_custom
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_find_all_by_row_data_custom")
+ (return-type "GList*")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gpointer" "data")
+ '("GCompareFunc" "func")
+ )
+)
+
+(define-method is_hot_spot
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_is_hot_spot")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-method move
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_move")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("GtkCTreeNode*" "new_parent")
+ '("GtkCTreeNode*" "new_sibling")
+ )
+)
+
+(define-method expand
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_expand")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ )
+)
+
+(define-method expand_recursive
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_expand_recursive")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ )
+)
+
+(define-method expand_to_depth
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_expand_to_depth")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gint" "depth")
+ )
+)
+
+(define-method collapse
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_collapse")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ )
+)
+
+(define-method collapse_recursive
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_collapse_recursive")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ )
+)
+
+(define-method collapse_to_depth
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_collapse_to_depth")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gint" "depth")
+ )
+)
+
+(define-method toggle_expansion
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_toggle_expansion")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ )
+)
+
+(define-method toggle_expansion_recursive
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_toggle_expansion_recursive")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ )
+)
+
+(define-method select
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_select")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ )
+)
+
+(define-method select_recursive
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_select_recursive")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ )
+)
+
+(define-method unselect
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_unselect")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ )
+)
+
+(define-method unselect_recursive
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_unselect_recursive")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ )
+)
+
+(define-method real_select_recursive
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_real_select_recursive")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gint" "state")
+ )
+)
+
+(define-method node_set_text
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_node_set_text")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gint" "column")
+ '("const-gchar*" "text")
+ )
+)
+
+(define-method node_set_pixmap
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_node_set_pixmap")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gint" "column")
+ '("GdkPixmap*" "pixmap")
+ '("GdkBitmap*" "mask")
+ )
+)
+
+(define-method node_set_pixtext
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_node_set_pixtext")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gint" "column")
+ '("const-gchar*" "text")
+ '("guint8" "spacing")
+ '("GdkPixmap*" "pixmap")
+ '("GdkBitmap*" "mask")
+ )
+)
+
+(define-method set_node_info
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_set_node_info")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("const-gchar*" "text")
+ '("guint8" "spacing")
+ '("GdkPixmap*" "pixmap_closed")
+ '("GdkBitmap*" "mask_closed")
+ '("GdkPixmap*" "pixmap_opened")
+ '("GdkBitmap*" "mask_opened")
+ '("gboolean" "is_leaf")
+ '("gboolean" "expanded")
+ )
+)
+
+(define-method node_set_shift
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_node_set_shift")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gint" "column")
+ '("gint" "vertical")
+ '("gint" "horizontal")
+ )
+)
+
+(define-method node_set_selectable
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_node_set_selectable")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gboolean" "selectable")
+ )
+)
+
+(define-method node_get_selectable
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_node_get_selectable")
+ (return-type "gboolean")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ )
+)
+
+(define-method node_get_cell_type
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_node_get_cell_type")
+ (return-type "GtkCellType")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gint" "column")
+ )
+)
+
+(define-method node_get_text
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_node_get_text")
+ (return-type "gboolean")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gint" "column")
+ '("gchar**" "text")
+ )
+)
+
+(define-method node_get_pixmap
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_node_get_pixmap")
+ (return-type "gboolean")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gint" "column")
+ '("GdkPixmap**" "pixmap")
+ '("GdkBitmap**" "mask")
+ )
+)
+
+(define-method node_get_pixtext
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_node_get_pixtext")
+ (return-type "gboolean")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gint" "column")
+ '("gchar**" "text")
+ '("guint8*" "spacing")
+ '("GdkPixmap**" "pixmap")
+ '("GdkBitmap**" "mask")
+ )
+)
+
+(define-method get_node_info
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_get_node_info")
+ (return-type "gboolean")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gchar**" "text")
+ '("guint8*" "spacing")
+ '("GdkPixmap**" "pixmap_closed")
+ '("GdkBitmap**" "mask_closed")
+ '("GdkPixmap**" "pixmap_opened")
+ '("GdkBitmap**" "mask_opened")
+ '("gboolean*" "is_leaf")
+ '("gboolean*" "expanded")
+ )
+)
+
+(define-method node_set_row_style
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_node_set_row_style")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("GtkStyle*" "style")
+ )
+)
+
+(define-method node_get_row_style
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_node_get_row_style")
+ (return-type "GtkStyle*")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ )
+)
+
+(define-method node_set_cell_style
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_node_set_cell_style")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gint" "column")
+ '("GtkStyle*" "style")
+ )
+)
+
+(define-method node_get_cell_style
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_node_get_cell_style")
+ (return-type "GtkStyle*")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gint" "column")
+ )
+)
+
+(define-method node_set_foreground
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_node_set_foreground")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("const-GdkColor*" "color")
+ )
+)
+
+(define-method node_set_background
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_node_set_background")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("const-GdkColor*" "color")
+ )
+)
+
+(define-method node_set_row_data
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_node_set_row_data")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gpointer" "data")
+ )
+)
+
+(define-method node_set_row_data_full
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_node_set_row_data_full")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gpointer" "data")
+ '("GtkDestroyNotify" "destroy")
+ )
+)
+
+(define-method node_get_row_data
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_node_get_row_data")
+ (return-type "gpointer")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ )
+)
+
+(define-method node_moveto
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_node_moveto")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ '("gint" "column")
+ '("gfloat" "row_align")
+ '("gfloat" "col_align")
+ )
+)
+
+(define-method node_is_visible
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_node_is_visible")
+ (return-type "GtkVisibility")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ )
+)
+
+(define-method set_indent
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_set_indent")
+ (return-type "none")
+ (parameters
+ '("gint" "indent")
+ )
+)
+
+(define-method set_spacing
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_set_spacing")
+ (return-type "none")
+ (parameters
+ '("gint" "spacing")
+ )
+)
+
+(define-method set_show_stub
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_set_show_stub")
+ (return-type "none")
+ (parameters
+ '("gboolean" "show_stub")
+ )
+)
+
+(define-method set_line_style
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_set_line_style")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeLineStyle" "line_style")
+ )
+)
+
+(define-method set_expander_style
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_set_expander_style")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeExpanderStyle" "expander_style")
+ )
+)
+
+(define-method set_drag_compare_func
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_set_drag_compare_func")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeCompareDragFunc" "cmp_func")
+ )
+)
+
+(define-method sort_node
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_sort_node")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ )
+)
+
+(define-method sort_recursive
+ (of-object "GtkCTree")
+ (c-name "gtk_ctree_sort_recursive")
+ (return-type "none")
+ (parameters
+ '("GtkCTreeNode*" "node")
+ )
+)
+
+(define-function gtk_ctree_node_get_type
+ (c-name "gtk_ctree_node_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From gtkcurve.h
+
+(define-function gtk_curve_get_type
+ (c-name "gtk_curve_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_curve_new
+ (c-name "gtk_curve_new")
+ (is-constructor-of "GtkCurve")
+ (return-type "GtkWidget*")
+)
+
+(define-method reset
+ (of-object "GtkCurve")
+ (c-name "gtk_curve_reset")
+ (return-type "none")
+)
+
+(define-method set_gamma
+ (of-object "GtkCurve")
+ (c-name "gtk_curve_set_gamma")
+ (return-type "none")
+ (parameters
+ '("gfloat" "gamma_")
+ )
+)
+
+(define-method set_range
+ (of-object "GtkCurve")
+ (c-name "gtk_curve_set_range")
+ (return-type "none")
+ (parameters
+ '("gfloat" "min_x")
+ '("gfloat" "max_x")
+ '("gfloat" "min_y")
+ '("gfloat" "max_y")
+ )
+)
+
+(define-method get_vector
+ (of-object "GtkCurve")
+ (c-name "gtk_curve_get_vector")
+ (return-type "none")
+ (parameters
+ '("int" "veclen")
+ '("gfloat[]" "vector")
+ )
+)
+
+(define-method set_vector
+ (of-object "GtkCurve")
+ (c-name "gtk_curve_set_vector")
+ (return-type "none")
+ (parameters
+ '("int" "veclen")
+ '("gfloat[]" "vector")
+ )
+)
+
+(define-method set_curve_type
+ (of-object "GtkCurve")
+ (c-name "gtk_curve_set_curve_type")
+ (return-type "none")
+ (parameters
+ '("GtkCurveType" "type")
+ )
+)
+
+
+
+;; From gtkdebug.h
+
+
+
+;; From gtkdialog.h
+
+(define-function gtk_dialog_get_type
+ (c-name "gtk_dialog_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_dialog_new
+ (c-name "gtk_dialog_new")
+ (is-constructor-of "GtkDialog")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_dialog_new_with_buttons
+ (c-name "gtk_dialog_new_with_buttons")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "title")
+ '("GtkWindow*" "parent")
+ '("GtkDialogFlags" "flags")
+ '("const-gchar*" "first_button_text")
+ )
+ (varargs #t)
+)
+
+(define-method add_action_widget
+ (of-object "GtkDialog")
+ (c-name "gtk_dialog_add_action_widget")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("gint" "response_id")
+ )
+)
+
+(define-method add_button
+ (of-object "GtkDialog")
+ (c-name "gtk_dialog_add_button")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "button_text")
+ '("gint" "response_id")
+ )
+)
+
+(define-method add_buttons
+ (of-object "GtkDialog")
+ (c-name "gtk_dialog_add_buttons")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "first_button_text")
+ )
+ (varargs #t)
+)
+
+(define-method set_response_sensitive
+ (of-object "GtkDialog")
+ (c-name "gtk_dialog_set_response_sensitive")
+ (return-type "none")
+ (parameters
+ '("gint" "response_id")
+ '("gboolean" "setting")
+ )
+)
+
+(define-method set_default_response
+ (of-object "GtkDialog")
+ (c-name "gtk_dialog_set_default_response")
+ (return-type "none")
+ (parameters
+ '("gint" "response_id")
+ )
+)
+
+(define-method get_response_for_widget
+ (of-object "GtkDialog")
+ (c-name "gtk_dialog_get_response_for_widget")
+ (return-type "gint")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-method set_has_separator
+ (of-object "GtkDialog")
+ (c-name "gtk_dialog_set_has_separator")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_has_separator
+ (of-object "GtkDialog")
+ (c-name "gtk_dialog_get_has_separator")
+ (return-type "gboolean")
+)
+
+(define-function gtk_alternative_dialog_button_order
+ (c-name "gtk_alternative_dialog_button_order")
+ (return-type "gboolean")
+ (parameters
+ '("GdkScreen*" "screen")
+ )
+)
+
+(define-method set_alternative_button_order
+ (of-object "GtkDialog")
+ (c-name "gtk_dialog_set_alternative_button_order")
+ (return-type "none")
+ (parameters
+ '("gint" "first_response_id")
+ )
+ (varargs #t)
+)
+
+(define-method set_alternative_button_order_from_array
+ (of-object "GtkDialog")
+ (c-name "gtk_dialog_set_alternative_button_order_from_array")
+ (return-type "none")
+ (parameters
+ '("gint" "n_params")
+ '("gint*" "new_order")
+ )
+)
+
+(define-method response
+ (of-object "GtkDialog")
+ (c-name "gtk_dialog_response")
+ (return-type "none")
+ (parameters
+ '("gint" "response_id")
+ )
+)
+
+(define-method run
+ (of-object "GtkDialog")
+ (c-name "gtk_dialog_run")
+ (return-type "gint")
+)
+
+
+
+;; From gtkdndcursors.h
+
+
+
+;; From gtkdnd.h
+
+(define-function gtk_drag_get_data
+ (c-name "gtk_drag_get_data")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("GdkDragContext*" "context")
+ '("GdkAtom" "target")
+ '("guint32" "time_")
+ )
+)
+
+(define-function gtk_drag_finish
+ (c-name "gtk_drag_finish")
+ (return-type "none")
+ (parameters
+ '("GdkDragContext*" "context")
+ '("gboolean" "success")
+ '("gboolean" "del")
+ '("guint32" "time_")
+ )
+)
+
+(define-function gtk_drag_get_source_widget
+ (c-name "gtk_drag_get_source_widget")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GdkDragContext*" "context")
+ )
+)
+
+(define-function gtk_drag_highlight
+ (c-name "gtk_drag_highlight")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-function gtk_drag_unhighlight
+ (c-name "gtk_drag_unhighlight")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-function gtk_drag_dest_set
+ (c-name "gtk_drag_dest_set")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("GtkDestDefaults" "flags")
+ '("const-GtkTargetEntry*" "targets")
+ '("gint" "n_targets")
+ '("GdkDragAction" "actions")
+ )
+)
+
+(define-function gtk_drag_dest_set_proxy
+ (c-name "gtk_drag_dest_set_proxy")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("GdkWindow*" "proxy_window")
+ '("GdkDragProtocol" "protocol")
+ '("gboolean" "use_coordinates")
+ )
+)
+
+(define-function gtk_drag_dest_unset
+ (c-name "gtk_drag_dest_unset")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-function gtk_drag_dest_find_target
+ (c-name "gtk_drag_dest_find_target")
+ (return-type "GdkAtom")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("GdkDragContext*" "context")
+ '("GtkTargetList*" "target_list")
+ )
+)
+
+(define-function gtk_drag_dest_get_target_list
+ (c-name "gtk_drag_dest_get_target_list")
+ (return-type "GtkTargetList*")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-function gtk_drag_dest_set_target_list
+ (c-name "gtk_drag_dest_set_target_list")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("GtkTargetList*" "target_list")
+ )
+)
+
+(define-function gtk_drag_dest_add_text_targets
+ (c-name "gtk_drag_dest_add_text_targets")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-function gtk_drag_dest_add_image_targets
+ (c-name "gtk_drag_dest_add_image_targets")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-function gtk_drag_dest_add_uri_targets
+ (c-name "gtk_drag_dest_add_uri_targets")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-function gtk_drag_dest_set_track_motion
+ (c-name "gtk_drag_dest_set_track_motion")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("gboolean" "track_motion")
+ )
+)
+
+(define-function gtk_drag_dest_get_track_motion
+ (c-name "gtk_drag_dest_get_track_motion")
+ (return-type "gboolean")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-function gtk_drag_source_set
+ (c-name "gtk_drag_source_set")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("GdkModifierType" "start_button_mask")
+ '("const-GtkTargetEntry*" "targets")
+ '("gint" "n_targets")
+ '("GdkDragAction" "actions")
+ )
+)
+
+(define-function gtk_drag_source_unset
+ (c-name "gtk_drag_source_unset")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-function gtk_drag_source_get_target_list
+ (c-name "gtk_drag_source_get_target_list")
+ (return-type "GtkTargetList*")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-function gtk_drag_source_set_target_list
+ (c-name "gtk_drag_source_set_target_list")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("GtkTargetList*" "target_list")
+ )
+)
+
+(define-function gtk_drag_source_add_text_targets
+ (c-name "gtk_drag_source_add_text_targets")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-function gtk_drag_source_add_image_targets
+ (c-name "gtk_drag_source_add_image_targets")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-function gtk_drag_source_add_uri_targets
+ (c-name "gtk_drag_source_add_uri_targets")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-function gtk_drag_source_set_icon
+ (c-name "gtk_drag_source_set_icon")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("GdkColormap*" "colormap")
+ '("GdkPixmap*" "pixmap")
+ '("GdkBitmap*" "mask")
+ )
+)
+
+(define-function gtk_drag_source_set_icon_pixbuf
+ (c-name "gtk_drag_source_set_icon_pixbuf")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("GdkPixbuf*" "pixbuf")
+ )
+)
+
+(define-function gtk_drag_source_set_icon_stock
+ (c-name "gtk_drag_source_set_icon_stock")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "stock_id")
+ )
+)
+
+(define-function gtk_drag_source_set_icon_name
+ (c-name "gtk_drag_source_set_icon_name")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "icon_name")
+ )
+)
+
+(define-function gtk_drag_begin
+ (c-name "gtk_drag_begin")
+ (return-type "GdkDragContext*")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("GtkTargetList*" "targets")
+ '("GdkDragAction" "actions")
+ '("gint" "button")
+ '("GdkEvent*" "event")
+ )
+)
+
+(define-function gtk_drag_set_icon_widget
+ (c-name "gtk_drag_set_icon_widget")
+ (return-type "none")
+ (parameters
+ '("GdkDragContext*" "context")
+ '("GtkWidget*" "widget")
+ '("gint" "hot_x")
+ '("gint" "hot_y")
+ )
+)
+
+(define-function gtk_drag_set_icon_pixmap
+ (c-name "gtk_drag_set_icon_pixmap")
+ (return-type "none")
+ (parameters
+ '("GdkDragContext*" "context")
+ '("GdkColormap*" "colormap")
+ '("GdkPixmap*" "pixmap")
+ '("GdkBitmap*" "mask")
+ '("gint" "hot_x")
+ '("gint" "hot_y")
+ )
+)
+
+(define-function gtk_drag_set_icon_pixbuf
+ (c-name "gtk_drag_set_icon_pixbuf")
+ (return-type "none")
+ (parameters
+ '("GdkDragContext*" "context")
+ '("GdkPixbuf*" "pixbuf")
+ '("gint" "hot_x")
+ '("gint" "hot_y")
+ )
+)
+
+(define-function gtk_drag_set_icon_stock
+ (c-name "gtk_drag_set_icon_stock")
+ (return-type "none")
+ (parameters
+ '("GdkDragContext*" "context")
+ '("const-gchar*" "stock_id")
+ '("gint" "hot_x")
+ '("gint" "hot_y")
+ )
+)
+
+(define-function gtk_drag_set_icon_name
+ (c-name "gtk_drag_set_icon_name")
+ (return-type "none")
+ (parameters
+ '("GdkDragContext*" "context")
+ '("const-gchar*" "icon_name")
+ '("gint" "hot_x")
+ '("gint" "hot_y")
+ )
+)
+
+(define-function gtk_drag_set_icon_default
+ (c-name "gtk_drag_set_icon_default")
+ (return-type "none")
+ (parameters
+ '("GdkDragContext*" "context")
+ )
+)
+
+(define-function gtk_drag_check_threshold
+ (c-name "gtk_drag_check_threshold")
+ (return-type "gboolean")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("gint" "start_x")
+ '("gint" "start_y")
+ '("gint" "current_x")
+ '("gint" "current_y")
+ )
+)
+
+(define-function gtk_drag_set_default_icon
+ (c-name "gtk_drag_set_default_icon")
+ (return-type "none")
+ (parameters
+ '("GdkColormap*" "colormap")
+ '("GdkPixmap*" "pixmap")
+ '("GdkBitmap*" "mask")
+ '("gint" "hot_x")
+ '("gint" "hot_y")
+ )
+)
+
+
+
+;; From gtkdrawingarea.h
+
+(define-function gtk_drawing_area_get_type
+ (c-name "gtk_drawing_area_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_drawing_area_new
+ (c-name "gtk_drawing_area_new")
+ (is-constructor-of "GtkDrawingArea")
+ (return-type "GtkWidget*")
+)
+
+(define-method size
+ (of-object "GtkDrawingArea")
+ (c-name "gtk_drawing_area_size")
+ (return-type "none")
+ (parameters
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+
+
+;; From gtkeditable.h
+
+(define-function gtk_editable_get_type
+ (c-name "gtk_editable_get_type")
+ (return-type "GType")
+)
+
+(define-method select_region
+ (of-object "GtkEditable")
+ (c-name "gtk_editable_select_region")
+ (return-type "none")
+ (parameters
+ '("gint" "start")
+ '("gint" "end")
+ )
+)
+
+(define-method get_selection_bounds
+ (of-object "GtkEditable")
+ (c-name "gtk_editable_get_selection_bounds")
+ (return-type "gboolean")
+ (parameters
+ '("gint*" "start")
+ '("gint*" "end")
+ )
+)
+
+(define-method insert_text
+ (of-object "GtkEditable")
+ (c-name "gtk_editable_insert_text")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "new_text")
+ '("gint" "new_text_length")
+ '("gint*" "position")
+ )
+)
+
+(define-method delete_text
+ (of-object "GtkEditable")
+ (c-name "gtk_editable_delete_text")
+ (return-type "none")
+ (parameters
+ '("gint" "start_pos")
+ '("gint" "end_pos")
+ )
+)
+
+(define-method get_chars
+ (of-object "GtkEditable")
+ (c-name "gtk_editable_get_chars")
+ (return-type "gchar*")
+ (parameters
+ '("gint" "start_pos")
+ '("gint" "end_pos")
+ )
+)
+
+(define-method cut_clipboard
+ (of-object "GtkEditable")
+ (c-name "gtk_editable_cut_clipboard")
+ (return-type "none")
+)
+
+(define-method copy_clipboard
+ (of-object "GtkEditable")
+ (c-name "gtk_editable_copy_clipboard")
+ (return-type "none")
+)
+
+(define-method paste_clipboard
+ (of-object "GtkEditable")
+ (c-name "gtk_editable_paste_clipboard")
+ (return-type "none")
+)
+
+(define-method delete_selection
+ (of-object "GtkEditable")
+ (c-name "gtk_editable_delete_selection")
+ (return-type "none")
+)
+
+(define-method set_position
+ (of-object "GtkEditable")
+ (c-name "gtk_editable_set_position")
+ (return-type "none")
+ (parameters
+ '("gint" "position")
+ )
+)
+
+(define-method get_position
+ (of-object "GtkEditable")
+ (c-name "gtk_editable_get_position")
+ (return-type "gint")
+)
+
+(define-method set_editable
+ (of-object "GtkEditable")
+ (c-name "gtk_editable_set_editable")
+ (return-type "none")
+ (parameters
+ '("gboolean" "is_editable")
+ )
+)
+
+(define-method get_editable
+ (of-object "GtkEditable")
+ (c-name "gtk_editable_get_editable")
+ (return-type "gboolean")
+)
+
+
+
+;; From gtkentrycompletion.h
+
+(define-function gtk_entry_completion_get_type
+ (c-name "gtk_entry_completion_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_entry_completion_new
+ (c-name "gtk_entry_completion_new")
+ (is-constructor-of "GtkEntryCompletion")
+ (return-type "GtkEntryCompletion*")
+)
+
+(define-method get_entry
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_get_entry")
+ (return-type "GtkWidget*")
+)
+
+(define-method set_model
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_set_model")
+ (return-type "none")
+ (parameters
+ '("GtkTreeModel*" "model")
+ )
+)
+
+(define-method get_model
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_get_model")
+ (return-type "GtkTreeModel*")
+)
+
+(define-method set_match_func
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_set_match_func")
+ (return-type "none")
+ (parameters
+ '("GtkEntryCompletionMatchFunc" "func")
+ '("gpointer" "func_data")
+ '("GDestroyNotify" "func_notify")
+ )
+)
+
+(define-method set_minimum_key_length
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_set_minimum_key_length")
+ (return-type "none")
+ (parameters
+ '("gint" "length")
+ )
+)
+
+(define-method get_minimum_key_length
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_get_minimum_key_length")
+ (return-type "gint")
+)
+
+(define-method complete
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_complete")
+ (return-type "none")
+)
+
+(define-method insert_prefix
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_insert_prefix")
+ (return-type "none")
+)
+
+(define-method insert_action_text
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_insert_action_text")
+ (return-type "none")
+ (parameters
+ '("gint" "index_")
+ '("const-gchar*" "text")
+ )
+)
+
+(define-method insert_action_markup
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_insert_action_markup")
+ (return-type "none")
+ (parameters
+ '("gint" "index_")
+ '("const-gchar*" "markup")
+ )
+)
+
+(define-method delete_action
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_delete_action")
+ (return-type "none")
+ (parameters
+ '("gint" "index_")
+ )
+)
+
+(define-method set_inline_completion
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_set_inline_completion")
+ (return-type "none")
+ (parameters
+ '("gboolean" "inline_completion")
+ )
+)
+
+(define-method get_inline_completion
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_get_inline_completion")
+ (return-type "gboolean")
+)
+
+(define-method set_inline_selection
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_set_inline_selection")
+ (return-type "none")
+ (parameters
+ '("gboolean" "inline_selection")
+ )
+)
+
+(define-method get_inline_selection
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_get_inline_selection")
+ (return-type "gboolean")
+)
+
+(define-method set_popup_completion
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_set_popup_completion")
+ (return-type "none")
+ (parameters
+ '("gboolean" "popup_completion")
+ )
+)
+
+(define-method get_popup_completion
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_get_popup_completion")
+ (return-type "gboolean")
+)
+
+(define-method set_popup_set_width
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_set_popup_set_width")
+ (return-type "none")
+ (parameters
+ '("gboolean" "popup_set_width")
+ )
+)
+
+(define-method get_popup_set_width
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_get_popup_set_width")
+ (return-type "gboolean")
+)
+
+(define-method set_popup_single_match
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_set_popup_single_match")
+ (return-type "none")
+ (parameters
+ '("gboolean" "popup_single_match")
+ )
+)
+
+(define-method get_popup_single_match
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_get_popup_single_match")
+ (return-type "gboolean")
+)
+
+(define-method get_completion_prefix
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_get_completion_prefix")
+ (return-type "const-gchar*")
+)
+
+(define-method set_text_column
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_set_text_column")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+(define-method get_text_column
+ (of-object "GtkEntryCompletion")
+ (c-name "gtk_entry_completion_get_text_column")
+ (return-type "gint")
+)
+
+
+
+;; From gtkentry.h
+
+(define-function gtk_entry_get_type
+ (c-name "gtk_entry_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_entry_new
+ (c-name "gtk_entry_new")
+ (is-constructor-of "GtkEntry")
+ (return-type "GtkWidget*")
+)
+
+(define-method set_visibility
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_set_visibility")
+ (return-type "none")
+ (parameters
+ '("gboolean" "visible")
+ )
+)
+
+(define-method get_visibility
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_get_visibility")
+ (return-type "gboolean")
+)
+
+(define-method set_invisible_char
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_set_invisible_char")
+ (return-type "none")
+ (parameters
+ '("gunichar" "ch")
+ )
+)
+
+(define-method get_invisible_char
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_get_invisible_char")
+ (return-type "gunichar")
+)
+
+(define-method set_has_frame
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_set_has_frame")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_has_frame
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_get_has_frame")
+ (return-type "gboolean")
+)
+
+(define-method set_inner_border
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_set_inner_border")
+ (return-type "none")
+ (parameters
+ '("const-GtkBorder*" "border")
+ )
+)
+
+(define-method get_inner_border
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_get_inner_border")
+ (return-type "const-GtkBorder*")
+)
+
+(define-method set_max_length
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_set_max_length")
+ (return-type "none")
+ (parameters
+ '("gint" "max")
+ )
+)
+
+(define-method get_max_length
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_get_max_length")
+ (return-type "gint")
+)
+
+(define-method set_activates_default
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_set_activates_default")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_activates_default
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_get_activates_default")
+ (return-type "gboolean")
+)
+
+(define-method set_width_chars
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_set_width_chars")
+ (return-type "none")
+ (parameters
+ '("gint" "n_chars")
+ )
+)
+
+(define-method get_width_chars
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_get_width_chars")
+ (return-type "gint")
+)
+
+(define-method set_text
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_set_text")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "text")
+ )
+)
+
+(define-method get_text
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_get_text")
+ (return-type "const-gchar*")
+)
+
+(define-method get_layout
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_get_layout")
+ (return-type "PangoLayout*")
+)
+
+(define-method get_layout_offsets
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_get_layout_offsets")
+ (return-type "none")
+ (parameters
+ '("gint*" "x")
+ '("gint*" "y")
+ )
+)
+
+(define-method set_alignment
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_set_alignment")
+ (return-type "none")
+ (parameters
+ '("gfloat" "xalign")
+ )
+)
+
+(define-method get_alignment
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_get_alignment")
+ (return-type "gfloat")
+)
+
+(define-method set_completion
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_set_completion")
+ (return-type "none")
+ (parameters
+ '("GtkEntryCompletion*" "completion")
+ )
+)
+
+(define-method get_completion
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_get_completion")
+ (return-type "GtkEntryCompletion*")
+)
+
+(define-method layout_index_to_text_index
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_layout_index_to_text_index")
+ (return-type "gint")
+ (parameters
+ '("gint" "layout_index")
+ )
+)
+
+(define-method text_index_to_layout_index
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_text_index_to_layout_index")
+ (return-type "gint")
+ (parameters
+ '("gint" "text_index")
+ )
+)
+
+(define-method set_cursor_hadjustment
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_set_cursor_hadjustment")
+ (return-type "none")
+ (parameters
+ '("GtkAdjustment*" "adjustment")
+ )
+)
+
+(define-method get_cursor_hadjustment
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_get_cursor_hadjustment")
+ (return-type "GtkAdjustment*")
+)
+
+(define-function gtk_entry_new_with_max_length
+ (c-name "gtk_entry_new_with_max_length")
+ (return-type "GtkWidget*")
+ (parameters
+ '("gint" "max")
+ )
+)
+
+(define-method append_text
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_append_text")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "text")
+ )
+)
+
+(define-method prepend_text
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_prepend_text")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "text")
+ )
+)
+
+(define-method set_position
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_set_position")
+ (return-type "none")
+ (parameters
+ '("gint" "position")
+ )
+)
+
+(define-method select_region
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_select_region")
+ (return-type "none")
+ (parameters
+ '("gint" "start")
+ '("gint" "end")
+ )
+)
+
+(define-method set_editable
+ (of-object "GtkEntry")
+ (c-name "gtk_entry_set_editable")
+ (return-type "none")
+ (parameters
+ '("gboolean" "editable")
+ )
+)
+
+
+
+;; From gtkentryprivate.h
+
+
+
+;; From gtkenums.h
+
+
+
+;; From gtkeventbox.h
+
+(define-function gtk_event_box_get_type
+ (c-name "gtk_event_box_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_event_box_new
+ (c-name "gtk_event_box_new")
+ (is-constructor-of "GtkEventBox")
+ (return-type "GtkWidget*")
+)
+
+(define-method get_visible_window
+ (of-object "GtkEventBox")
+ (c-name "gtk_event_box_get_visible_window")
+ (return-type "gboolean")
+)
+
+(define-method set_visible_window
+ (of-object "GtkEventBox")
+ (c-name "gtk_event_box_set_visible_window")
+ (return-type "none")
+ (parameters
+ '("gboolean" "visible_window")
+ )
+)
+
+(define-method get_above_child
+ (of-object "GtkEventBox")
+ (c-name "gtk_event_box_get_above_child")
+ (return-type "gboolean")
+)
+
+(define-method set_above_child
+ (of-object "GtkEventBox")
+ (c-name "gtk_event_box_set_above_child")
+ (return-type "none")
+ (parameters
+ '("gboolean" "above_child")
+ )
+)
+
+
+
+;; From gtkexpander.h
+
+(define-function gtk_expander_get_type
+ (c-name "gtk_expander_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_expander_new
+ (c-name "gtk_expander_new")
+ (is-constructor-of "GtkExpander")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-function gtk_expander_new_with_mnemonic
+ (c-name "gtk_expander_new_with_mnemonic")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-method set_expanded
+ (of-object "GtkExpander")
+ (c-name "gtk_expander_set_expanded")
+ (return-type "none")
+ (parameters
+ '("gboolean" "expanded")
+ )
+)
+
+(define-method get_expanded
+ (of-object "GtkExpander")
+ (c-name "gtk_expander_get_expanded")
+ (return-type "gboolean")
+)
+
+(define-method set_spacing
+ (of-object "GtkExpander")
+ (c-name "gtk_expander_set_spacing")
+ (return-type "none")
+ (parameters
+ '("gint" "spacing")
+ )
+)
+
+(define-method get_spacing
+ (of-object "GtkExpander")
+ (c-name "gtk_expander_get_spacing")
+ (return-type "gint")
+)
+
+(define-method set_label
+ (of-object "GtkExpander")
+ (c-name "gtk_expander_set_label")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-method get_label
+ (of-object "GtkExpander")
+ (c-name "gtk_expander_get_label")
+ (return-type "const-gchar*")
+)
+
+(define-method set_use_underline
+ (of-object "GtkExpander")
+ (c-name "gtk_expander_set_use_underline")
+ (return-type "none")
+ (parameters
+ '("gboolean" "use_underline")
+ )
+)
+
+(define-method get_use_underline
+ (of-object "GtkExpander")
+ (c-name "gtk_expander_get_use_underline")
+ (return-type "gboolean")
+)
+
+(define-method set_use_markup
+ (of-object "GtkExpander")
+ (c-name "gtk_expander_set_use_markup")
+ (return-type "none")
+ (parameters
+ '("gboolean" "use_markup")
+ )
+)
+
+(define-method get_use_markup
+ (of-object "GtkExpander")
+ (c-name "gtk_expander_get_use_markup")
+ (return-type "gboolean")
+)
+
+(define-method set_label_widget
+ (of-object "GtkExpander")
+ (c-name "gtk_expander_set_label_widget")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "label_widget")
+ )
+)
+
+(define-method get_label_widget
+ (of-object "GtkExpander")
+ (c-name "gtk_expander_get_label_widget")
+ (return-type "GtkWidget*")
+)
+
+
+
+;; From gtkfilechooserbutton.h
+
+(define-function gtk_file_chooser_button_get_type
+ (c-name "gtk_file_chooser_button_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_file_chooser_button_new
+ (c-name "gtk_file_chooser_button_new")
+ (is-constructor-of "GtkFileChooserButton")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "title")
+ '("GtkFileChooserAction" "action")
+ )
+)
+
+(define-function gtk_file_chooser_button_new_with_backend
+ (c-name "gtk_file_chooser_button_new_with_backend")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "title")
+ '("GtkFileChooserAction" "action")
+ '("const-gchar*" "backend")
+ )
+)
+
+(define-function gtk_file_chooser_button_new_with_dialog
+ (c-name "gtk_file_chooser_button_new_with_dialog")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkWidget*" "dialog")
+ )
+)
+
+(define-method get_title
+ (of-object "GtkFileChooserButton")
+ (c-name "gtk_file_chooser_button_get_title")
+ (return-type "const-gchar*")
+)
+
+(define-method set_title
+ (of-object "GtkFileChooserButton")
+ (c-name "gtk_file_chooser_button_set_title")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "title")
+ )
+)
+
+(define-method get_width_chars
+ (of-object "GtkFileChooserButton")
+ (c-name "gtk_file_chooser_button_get_width_chars")
+ (return-type "gint")
+)
+
+(define-method set_width_chars
+ (of-object "GtkFileChooserButton")
+ (c-name "gtk_file_chooser_button_set_width_chars")
+ (return-type "none")
+ (parameters
+ '("gint" "n_chars")
+ )
+)
+
+(define-method get_focus_on_click
+ (of-object "GtkFileChooserButton")
+ (c-name "gtk_file_chooser_button_get_focus_on_click")
+ (return-type "gboolean")
+)
+
+(define-method set_focus_on_click
+ (of-object "GtkFileChooserButton")
+ (c-name "gtk_file_chooser_button_set_focus_on_click")
+ (return-type "none")
+ (parameters
+ '("gboolean" "focus_on_click")
+ )
+)
+
+
+
+;; From gtkfilechooserdefault.h
+
+
+
+;; From gtkfilechooserdialog.h
+
+(define-function gtk_file_chooser_dialog_get_type
+ (c-name "gtk_file_chooser_dialog_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_file_chooser_dialog_new
+ (c-name "gtk_file_chooser_dialog_new")
+ (is-constructor-of "GtkFileChooserDialog")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "title")
+ '("GtkWindow*" "parent")
+ '("GtkFileChooserAction" "action")
+ '("const-gchar*" "first_button_text")
+ )
+ (varargs #t)
+)
+
+(define-function gtk_file_chooser_dialog_new_with_backend
+ (c-name "gtk_file_chooser_dialog_new_with_backend")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "title")
+ '("GtkWindow*" "parent")
+ '("GtkFileChooserAction" "action")
+ '("const-gchar*" "backend")
+ '("const-gchar*" "first_button_text")
+ )
+ (varargs #t)
+)
+
+
+
+;; From gtkfilechooserembed.h
+
+
+
+;; From gtkfilechooserentry.h
+
+
+
+;; From gtkfilechooser.h
+
+(define-function gtk_file_chooser_get_type
+ (c-name "gtk_file_chooser_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_file_chooser_error_quark
+ (c-name "gtk_file_chooser_error_quark")
+ (return-type "GQuark")
+)
+
+(define-method set_action
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_set_action")
+ (return-type "none")
+ (parameters
+ '("GtkFileChooserAction" "action")
+ )
+)
+
+(define-method get_action
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_get_action")
+ (return-type "GtkFileChooserAction")
+)
+
+(define-method set_local_only
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_set_local_only")
+ (return-type "none")
+ (parameters
+ '("gboolean" "local_only")
+ )
+)
+
+(define-method get_local_only
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_get_local_only")
+ (return-type "gboolean")
+)
+
+(define-method set_select_multiple
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_set_select_multiple")
+ (return-type "none")
+ (parameters
+ '("gboolean" "select_multiple")
+ )
+)
+
+(define-method get_select_multiple
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_get_select_multiple")
+ (return-type "gboolean")
+)
+
+(define-method set_show_hidden
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_set_show_hidden")
+ (return-type "none")
+ (parameters
+ '("gboolean" "show_hidden")
+ )
+)
+
+(define-method get_show_hidden
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_get_show_hidden")
+ (return-type "gboolean")
+)
+
+(define-method set_do_overwrite_confirmation
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_set_do_overwrite_confirmation")
+ (return-type "none")
+ (parameters
+ '("gboolean" "do_overwrite_confirmation")
+ )
+)
+
+(define-method get_do_overwrite_confirmation
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_get_do_overwrite_confirmation")
+ (return-type "gboolean")
+)
+
+(define-method set_current_name
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_set_current_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method get_filename
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_get_filename")
+ (return-type "gchar*")
+)
+
+(define-method set_filename
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_set_filename")
+ (return-type "gboolean")
+ (parameters
+ '("const-char*" "filename")
+ )
+)
+
+(define-method select_filename
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_select_filename")
+ (return-type "gboolean")
+ (parameters
+ '("const-char*" "filename")
+ )
+)
+
+(define-method unselect_filename
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_unselect_filename")
+ (return-type "none")
+ (parameters
+ '("const-char*" "filename")
+ )
+)
+
+(define-method select_all
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_select_all")
+ (return-type "none")
+)
+
+(define-method unselect_all
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_unselect_all")
+ (return-type "none")
+)
+
+(define-method get_filenames
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_get_filenames")
+ (return-type "GSList*")
+)
+
+(define-method set_current_folder
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_set_current_folder")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "filename")
+ )
+)
+
+(define-method get_current_folder
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_get_current_folder")
+ (return-type "gchar*")
+)
+
+(define-method get_uri
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_get_uri")
+ (return-type "gchar*")
+)
+
+(define-method set_uri
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_set_uri")
+ (return-type "gboolean")
+ (parameters
+ '("const-char*" "uri")
+ )
+)
+
+(define-method select_uri
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_select_uri")
+ (return-type "gboolean")
+ (parameters
+ '("const-char*" "uri")
+ )
+)
+
+(define-method unselect_uri
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_unselect_uri")
+ (return-type "none")
+ (parameters
+ '("const-char*" "uri")
+ )
+)
+
+(define-method get_uris
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_get_uris")
+ (return-type "GSList*")
+)
+
+(define-method set_current_folder_uri
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_set_current_folder_uri")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri")
+ )
+)
+
+(define-method get_current_folder_uri
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_get_current_folder_uri")
+ (return-type "gchar*")
+)
+
+(define-method set_preview_widget
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_set_preview_widget")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "preview_widget")
+ )
+)
+
+(define-method get_preview_widget
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_get_preview_widget")
+ (return-type "GtkWidget*")
+)
+
+(define-method set_preview_widget_active
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_set_preview_widget_active")
+ (return-type "none")
+ (parameters
+ '("gboolean" "active")
+ )
+)
+
+(define-method get_preview_widget_active
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_get_preview_widget_active")
+ (return-type "gboolean")
+)
+
+(define-method set_use_preview_label
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_set_use_preview_label")
+ (return-type "none")
+ (parameters
+ '("gboolean" "use_label")
+ )
+)
+
+(define-method get_use_preview_label
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_get_use_preview_label")
+ (return-type "gboolean")
+)
+
+(define-method get_preview_filename
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_get_preview_filename")
+ (return-type "char*")
+)
+
+(define-method get_preview_uri
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_get_preview_uri")
+ (return-type "char*")
+)
+
+(define-method set_extra_widget
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_set_extra_widget")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "extra_widget")
+ )
+)
+
+(define-method get_extra_widget
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_get_extra_widget")
+ (return-type "GtkWidget*")
+)
+
+(define-method add_filter
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_add_filter")
+ (return-type "none")
+ (parameters
+ '("GtkFileFilter*" "filter")
+ )
+)
+
+(define-method remove_filter
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_remove_filter")
+ (return-type "none")
+ (parameters
+ '("GtkFileFilter*" "filter")
+ )
+)
+
+(define-method list_filters
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_list_filters")
+ (return-type "GSList*")
+)
+
+(define-method set_filter
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_set_filter")
+ (return-type "none")
+ (parameters
+ '("GtkFileFilter*" "filter")
+ )
+)
+
+(define-method get_filter
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_get_filter")
+ (return-type "GtkFileFilter*")
+)
+
+(define-method add_shortcut_folder
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_add_shortcut_folder")
+ (return-type "gboolean")
+ (parameters
+ '("const-char*" "folder")
+ '("GError**" "error")
+ )
+)
+
+(define-method remove_shortcut_folder
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_remove_shortcut_folder")
+ (return-type "gboolean")
+ (parameters
+ '("const-char*" "folder")
+ '("GError**" "error")
+ )
+)
+
+(define-method list_shortcut_folders
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_list_shortcut_folders")
+ (return-type "GSList*")
+)
+
+(define-method add_shortcut_folder_uri
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_add_shortcut_folder_uri")
+ (return-type "gboolean")
+ (parameters
+ '("const-char*" "uri")
+ '("GError**" "error")
+ )
+)
+
+(define-method remove_shortcut_folder_uri
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_remove_shortcut_folder_uri")
+ (return-type "gboolean")
+ (parameters
+ '("const-char*" "uri")
+ '("GError**" "error")
+ )
+)
+
+(define-method list_shortcut_folder_uris
+ (of-object "GtkFileChooser")
+ (c-name "gtk_file_chooser_list_shortcut_folder_uris")
+ (return-type "GSList*")
+)
+
+
+
+;; From gtkfilechooserprivate.h
+
+
+
+;; From gtkfilechoosersettings.h
+
+
+
+;; From gtkfilechooserutils.h
+
+
+
+;; From gtkfilechooserwidget.h
+
+(define-function gtk_file_chooser_widget_get_type
+ (c-name "gtk_file_chooser_widget_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_file_chooser_widget_new
+ (c-name "gtk_file_chooser_widget_new")
+ (is-constructor-of "GtkFileChooserWidget")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkFileChooserAction" "action")
+ )
+)
+
+(define-function gtk_file_chooser_widget_new_with_backend
+ (c-name "gtk_file_chooser_widget_new_with_backend")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkFileChooserAction" "action")
+ '("const-gchar*" "backend")
+ )
+)
+
+
+
+;; From gtkfilefilter.h
+
+(define-function gtk_file_filter_get_type
+ (c-name "gtk_file_filter_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_file_filter_new
+ (c-name "gtk_file_filter_new")
+ (is-constructor-of "GtkFileFilter")
+ (return-type "GtkFileFilter*")
+)
+
+(define-method set_name
+ (of-object "GtkFileFilter")
+ (c-name "gtk_file_filter_set_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method get_name
+ (of-object "GtkFileFilter")
+ (c-name "gtk_file_filter_get_name")
+ (return-type "const-gchar*")
+)
+
+(define-method add_mime_type
+ (of-object "GtkFileFilter")
+ (c-name "gtk_file_filter_add_mime_type")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "mime_type")
+ )
+)
+
+(define-method add_pattern
+ (of-object "GtkFileFilter")
+ (c-name "gtk_file_filter_add_pattern")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "pattern")
+ )
+)
+
+(define-method add_pixbuf_formats
+ (of-object "GtkFileFilter")
+ (c-name "gtk_file_filter_add_pixbuf_formats")
+ (return-type "none")
+)
+
+(define-method add_custom
+ (of-object "GtkFileFilter")
+ (c-name "gtk_file_filter_add_custom")
+ (return-type "none")
+ (parameters
+ '("GtkFileFilterFlags" "needed")
+ '("GtkFileFilterFunc" "func")
+ '("gpointer" "data")
+ '("GDestroyNotify" "notify")
+ )
+)
+
+(define-method get_needed
+ (of-object "GtkFileFilter")
+ (c-name "gtk_file_filter_get_needed")
+ (return-type "GtkFileFilterFlags")
+)
+
+(define-method filter
+ (of-object "GtkFileFilter")
+ (c-name "gtk_file_filter_filter")
+ (return-type "gboolean")
+ (parameters
+ '("const-GtkFileFilterInfo*" "filter_info")
+ )
+)
+
+
+
+;; From gtkfilesel.h
+
+(define-function gtk_file_selection_get_type
+ (c-name "gtk_file_selection_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_file_selection_new
+ (c-name "gtk_file_selection_new")
+ (is-constructor-of "GtkFileSelection")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "title")
+ )
+)
+
+(define-method set_filename
+ (of-object "GtkFileSelection")
+ (c-name "gtk_file_selection_set_filename")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "filename")
+ )
+)
+
+(define-method get_filename
+ (of-object "GtkFileSelection")
+ (c-name "gtk_file_selection_get_filename")
+ (return-type "const-gchar*")
+)
+
+(define-method complete
+ (of-object "GtkFileSelection")
+ (c-name "gtk_file_selection_complete")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "pattern")
+ )
+)
+
+(define-method show_fileop_buttons
+ (of-object "GtkFileSelection")
+ (c-name "gtk_file_selection_show_fileop_buttons")
+ (return-type "none")
+)
+
+(define-method hide_fileop_buttons
+ (of-object "GtkFileSelection")
+ (c-name "gtk_file_selection_hide_fileop_buttons")
+ (return-type "none")
+)
+
+(define-method get_selections
+ (of-object "GtkFileSelection")
+ (c-name "gtk_file_selection_get_selections")
+ (return-type "gchar**")
+)
+
+(define-method set_select_multiple
+ (of-object "GtkFileSelection")
+ (c-name "gtk_file_selection_set_select_multiple")
+ (return-type "none")
+ (parameters
+ '("gboolean" "select_multiple")
+ )
+)
+
+(define-method get_select_multiple
+ (of-object "GtkFileSelection")
+ (c-name "gtk_file_selection_get_select_multiple")
+ (return-type "gboolean")
+)
+
+
+
+;; From gtkfilesystem.h
+
+(define-function gtk_file_system_error_quark
+ (c-name "gtk_file_system_error_quark")
+ (return-type "GQuark")
+)
+
+(define-function gtk_file_info_get_type
+ (c-name "gtk_file_info_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_file_info_new
+ (c-name "gtk_file_info_new")
+ (is-constructor-of "GtkFileInfo")
+ (return-type "GtkFileInfo*")
+)
+
+(define-method copy
+ (of-object "GtkFileInfo")
+ (c-name "gtk_file_info_copy")
+ (return-type "GtkFileInfo*")
+)
+
+(define-method free
+ (of-object "GtkFileInfo")
+ (c-name "gtk_file_info_free")
+ (return-type "none")
+)
+
+(define-method get_display_name
+ (of-object "GtkFileInfo")
+ (c-name "gtk_file_info_get_display_name")
+ (return-type "const-gchar*")
+)
+
+(define-method get_display_key
+ (of-object "GtkFileInfo")
+ (c-name "gtk_file_info_get_display_key")
+ (return-type "const-gchar*")
+)
+
+(define-method set_display_name
+ (of-object "GtkFileInfo")
+ (c-name "gtk_file_info_set_display_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "display_name")
+ )
+)
+
+(define-method get_is_folder
+ (of-object "GtkFileInfo")
+ (c-name "gtk_file_info_get_is_folder")
+ (return-type "gboolean")
+)
+
+(define-method set_is_folder
+ (of-object "GtkFileInfo")
+ (c-name "gtk_file_info_set_is_folder")
+ (return-type "none")
+ (parameters
+ '("gboolean" "is_folder")
+ )
+)
+
+(define-method get_is_hidden
+ (of-object "GtkFileInfo")
+ (c-name "gtk_file_info_get_is_hidden")
+ (return-type "gboolean")
+)
+
+(define-method set_is_hidden
+ (of-object "GtkFileInfo")
+ (c-name "gtk_file_info_set_is_hidden")
+ (return-type "none")
+ (parameters
+ '("gboolean" "is_hidden")
+ )
+)
+
+(define-method get_mime_type
+ (of-object "GtkFileInfo")
+ (c-name "gtk_file_info_get_mime_type")
+ (return-type "const-gchar*")
+)
+
+(define-method set_mime_type
+ (of-object "GtkFileInfo")
+ (c-name "gtk_file_info_set_mime_type")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "mime_type")
+ )
+)
+
+(define-method get_modification_time
+ (of-object "GtkFileInfo")
+ (c-name "gtk_file_info_get_modification_time")
+ (return-type "GtkFileTime")
+)
+
+(define-method set_modification_time
+ (of-object "GtkFileInfo")
+ (c-name "gtk_file_info_set_modification_time")
+ (return-type "none")
+ (parameters
+ '("GtkFileTime" "modification_time")
+ )
+)
+
+(define-method get_size
+ (of-object "GtkFileInfo")
+ (c-name "gtk_file_info_get_size")
+ (return-type "gint64")
+)
+
+(define-method set_size
+ (of-object "GtkFileInfo")
+ (c-name "gtk_file_info_set_size")
+ (return-type "none")
+ (parameters
+ '("gint64" "size")
+ )
+)
+
+(define-method set_icon_name
+ (of-object "GtkFileInfo")
+ (c-name "gtk_file_info_set_icon_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "con_name")
+ )
+)
+
+(define-method get_icon_name
+ (of-object "GtkFileInfo")
+ (c-name "gtk_file_info_get_icon_name")
+ (return-type "const-gchar*")
+)
+
+(define-method render_icon
+ (of-object "GtkFileInfo")
+ (c-name "gtk_file_info_render_icon")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("gint" "pixel_size")
+ '("GError**" "error")
+ )
+)
+
+(define-function gtk_file_system_handle_get_type
+ (c-name "gtk_file_system_handle_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_file_system_get_type
+ (c-name "gtk_file_system_get_type")
+ (return-type "GType")
+)
+
+(define-method list_volumes
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_list_volumes")
+ (return-type "GSList*")
+)
+
+(define-method get_volume_for_path
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_get_volume_for_path")
+ (return-type "GtkFileSystemVolume*")
+ (parameters
+ '("const-GtkFilePath*" "path")
+ )
+)
+
+(define-method volume_free
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_volume_free")
+ (return-type "none")
+ (parameters
+ '("GtkFileSystemVolume*" "volume")
+ )
+)
+
+(define-method volume_get_base_path
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_volume_get_base_path")
+ (return-type "GtkFilePath*")
+ (parameters
+ '("GtkFileSystemVolume*" "volume")
+ )
+)
+
+(define-method volume_get_is_mounted
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_volume_get_is_mounted")
+ (return-type "gboolean")
+ (parameters
+ '("GtkFileSystemVolume*" "volume")
+ )
+)
+
+(define-method volume_mount
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_volume_mount")
+ (return-type "GtkFileSystemHandle*")
+ (parameters
+ '("GtkFileSystemVolume*" "volume")
+ '("GtkFileSystemVolumeMountCallback" "callback")
+ '("gpointer" "data")
+ )
+)
+
+(define-method volume_get_display_name
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_volume_get_display_name")
+ (return-type "char*")
+ (parameters
+ '("GtkFileSystemVolume*" "volume")
+ )
+)
+
+(define-method volume_render_icon
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_volume_render_icon")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("GtkFileSystemVolume*" "volume")
+ '("GtkWidget*" "widget")
+ '("gint" "pixel_size")
+ '("GError**" "error")
+ )
+)
+
+(define-method volume_get_icon_name
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_volume_get_icon_name")
+ (return-type "gchar*")
+ (parameters
+ '("GtkFileSystemVolume*" "volume")
+ '("GError**" "error")
+ )
+)
+
+(define-method get_parent
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_get_parent")
+ (return-type "gboolean")
+ (parameters
+ '("const-GtkFilePath*" "path")
+ '("GtkFilePath**" "parent")
+ '("GError**" "error")
+ )
+)
+
+(define-method get_folder
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_get_folder")
+ (return-type "GtkFileSystemHandle*")
+ (parameters
+ '("const-GtkFilePath*" "path")
+ '("GtkFileInfoType" "types")
+ '("GtkFileSystemGetFolderCallback" "callback")
+ '("gpointer" "data")
+ )
+)
+
+(define-method get_info
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_get_info")
+ (return-type "GtkFileSystemHandle*")
+ (parameters
+ '("const-GtkFilePath*" "path")
+ '("GtkFileInfoType" "types")
+ '("GtkFileSystemGetInfoCallback" "callback")
+ '("gpointer" "data")
+ )
+)
+
+(define-method create_folder
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_create_folder")
+ (return-type "GtkFileSystemHandle*")
+ (parameters
+ '("const-GtkFilePath*" "path")
+ '("GtkFileSystemCreateFolderCallback" "callback")
+ '("gpointer" "data")
+ )
+)
+
+(define-function gtk_file_system_cancel_operation
+ (c-name "gtk_file_system_cancel_operation")
+ (return-type "none")
+ (parameters
+ '("GtkFileSystemHandle*" "handle")
+ )
+)
+
+(define-method make_path
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_make_path")
+ (return-type "GtkFilePath*")
+ (parameters
+ '("const-GtkFilePath*" "base_path")
+ '("const-gchar*" "display_name")
+ '("GError**" "error")
+ )
+)
+
+(define-method parse
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_parse")
+ (return-type "gboolean")
+ (parameters
+ '("const-GtkFilePath*" "base_path")
+ '("const-gchar*" "str")
+ '("GtkFilePath**" "folder")
+ '("gchar**" "file_part")
+ '("GError**" "error")
+ )
+)
+
+(define-method path_to_uri
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_path_to_uri")
+ (return-type "gchar*")
+ (parameters
+ '("const-GtkFilePath*" "path")
+ )
+)
+
+(define-method path_to_filename
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_path_to_filename")
+ (return-type "gchar*")
+ (parameters
+ '("const-GtkFilePath*" "path")
+ )
+)
+
+(define-method uri_to_path
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_uri_to_path")
+ (return-type "GtkFilePath*")
+ (parameters
+ '("const-gchar*" "uri")
+ )
+)
+
+(define-method filename_to_path
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_filename_to_path")
+ (return-type "GtkFilePath*")
+ (parameters
+ '("const-gchar*" "filename")
+ )
+)
+
+(define-method path_is_local
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_path_is_local")
+ (return-type "gboolean")
+ (parameters
+ '("const-GtkFilePath*" "path")
+ )
+)
+
+(define-method insert_bookmark
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_insert_bookmark")
+ (return-type "gboolean")
+ (parameters
+ '("const-GtkFilePath*" "path")
+ '("gint" "position")
+ '("GError**" "error")
+ )
+)
+
+(define-method remove_bookmark
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_remove_bookmark")
+ (return-type "gboolean")
+ (parameters
+ '("const-GtkFilePath*" "path")
+ '("GError**" "error")
+ )
+)
+
+(define-method list_bookmarks
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_list_bookmarks")
+ (return-type "GSList*")
+)
+
+(define-method get_bookmark_label
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_get_bookmark_label")
+ (return-type "gchar*")
+ (parameters
+ '("const-GtkFilePath*" "path")
+ )
+)
+
+(define-method set_bookmark_label
+ (of-object "GtkFileSystem")
+ (c-name "gtk_file_system_set_bookmark_label")
+ (return-type "none")
+ (parameters
+ '("const-GtkFilePath*" "path")
+ '("const-gchar*" "label")
+ )
+)
+
+(define-function gtk_file_folder_get_type
+ (c-name "gtk_file_folder_get_type")
+ (return-type "GType")
+)
+
+(define-method list_children
+ (of-object "GtkFileFolder")
+ (c-name "gtk_file_folder_list_children")
+ (return-type "gboolean")
+ (parameters
+ '("GSList**" "children")
+ '("GError**" "error")
+ )
+)
+
+(define-method get_info
+ (of-object "GtkFileFolder")
+ (c-name "gtk_file_folder_get_info")
+ (return-type "GtkFileInfo*")
+ (parameters
+ '("const-GtkFilePath*" "path")
+ '("GError**" "error")
+ )
+)
+
+(define-method is_finished_loading
+ (of-object "GtkFileFolder")
+ (c-name "gtk_file_folder_is_finished_loading")
+ (return-type "gboolean")
+)
+
+(define-function gtk_file_path_get_type
+ (c-name "gtk_file_path_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_file_paths_sort
+ (c-name "gtk_file_paths_sort")
+ (return-type "GSList*")
+ (parameters
+ '("GSList*" "paths")
+ )
+)
+
+(define-function gtk_file_paths_copy
+ (c-name "gtk_file_paths_copy")
+ (return-type "GSList*")
+ (parameters
+ '("GSList*" "paths")
+ )
+)
+
+(define-function gtk_file_paths_free
+ (c-name "gtk_file_paths_free")
+ (return-type "none")
+ (parameters
+ '("GSList*" "paths")
+ )
+)
+
+(define-function gtk_file_system_create
+ (c-name "gtk_file_system_create")
+ (return-type "GtkFileSystem*")
+ (parameters
+ '("const-char*" "file_system_name")
+ )
+)
+
+
+
+;; From gtkfilesystemmodel.h
+
+
+
+;; From gtkfilesystemunix.h
+
+(define-function gtk_file_system_unix_new
+ (c-name "gtk_file_system_unix_new")
+ (is-constructor-of "GtkFileSystemUnix")
+ (return-type "GtkFileSystem*")
+)
+
+(define-function gtk_file_system_unix_get_type
+ (c-name "gtk_file_system_unix_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From gtkfilesystemwin32.h
+
+(define-function gtk_file_system_win32_new
+ (c-name "gtk_file_system_win32_new")
+ (is-constructor-of "GtkFileSystemWin32")
+ (return-type "GtkFileSystem*")
+)
+
+(define-function gtk_file_system_win32_get_type
+ (c-name "gtk_file_system_win32_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From gtkfixed.h
+
+(define-function gtk_fixed_get_type
+ (c-name "gtk_fixed_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_fixed_new
+ (c-name "gtk_fixed_new")
+ (is-constructor-of "GtkFixed")
+ (return-type "GtkWidget*")
+)
+
+(define-method put
+ (of-object "GtkFixed")
+ (c-name "gtk_fixed_put")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-method move
+ (of-object "GtkFixed")
+ (c-name "gtk_fixed_move")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-method set_has_window
+ (of-object "GtkFixed")
+ (c-name "gtk_fixed_set_has_window")
+ (return-type "none")
+ (parameters
+ '("gboolean" "has_window")
+ )
+)
+
+(define-method get_has_window
+ (of-object "GtkFixed")
+ (c-name "gtk_fixed_get_has_window")
+ (return-type "gboolean")
+)
+
+
+
+;; From gtkfontbutton.h
+
+(define-function gtk_font_button_get_type
+ (c-name "gtk_font_button_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_font_button_new
+ (c-name "gtk_font_button_new")
+ (is-constructor-of "GtkFontButton")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_font_button_new_with_font
+ (c-name "gtk_font_button_new_with_font")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "fontname")
+ )
+)
+
+(define-method get_title
+ (of-object "GtkFontButton")
+ (c-name "gtk_font_button_get_title")
+ (return-type "const-gchar*")
+)
+
+(define-method set_title
+ (of-object "GtkFontButton")
+ (c-name "gtk_font_button_set_title")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "title")
+ )
+)
+
+(define-method get_use_font
+ (of-object "GtkFontButton")
+ (c-name "gtk_font_button_get_use_font")
+ (return-type "gboolean")
+)
+
+(define-method set_use_font
+ (of-object "GtkFontButton")
+ (c-name "gtk_font_button_set_use_font")
+ (return-type "none")
+ (parameters
+ '("gboolean" "use_font")
+ )
+)
+
+(define-method get_use_size
+ (of-object "GtkFontButton")
+ (c-name "gtk_font_button_get_use_size")
+ (return-type "gboolean")
+)
+
+(define-method set_use_size
+ (of-object "GtkFontButton")
+ (c-name "gtk_font_button_set_use_size")
+ (return-type "none")
+ (parameters
+ '("gboolean" "use_size")
+ )
+)
+
+(define-method get_font_name
+ (of-object "GtkFontButton")
+ (c-name "gtk_font_button_get_font_name")
+ (return-type "const-gchar*")
+)
+
+(define-method set_font_name
+ (of-object "GtkFontButton")
+ (c-name "gtk_font_button_set_font_name")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "fontname")
+ )
+)
+
+(define-method get_show_style
+ (of-object "GtkFontButton")
+ (c-name "gtk_font_button_get_show_style")
+ (return-type "gboolean")
+)
+
+(define-method set_show_style
+ (of-object "GtkFontButton")
+ (c-name "gtk_font_button_set_show_style")
+ (return-type "none")
+ (parameters
+ '("gboolean" "show_style")
+ )
+)
+
+(define-method get_show_size
+ (of-object "GtkFontButton")
+ (c-name "gtk_font_button_get_show_size")
+ (return-type "gboolean")
+)
+
+(define-method set_show_size
+ (of-object "GtkFontButton")
+ (c-name "gtk_font_button_set_show_size")
+ (return-type "none")
+ (parameters
+ '("gboolean" "show_size")
+ )
+)
+
+
+
+;; From gtkfontsel.h
+
+(define-function gtk_font_selection_get_type
+ (c-name "gtk_font_selection_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_font_selection_new
+ (c-name "gtk_font_selection_new")
+ (is-constructor-of "GtkFontSelection")
+ (return-type "GtkWidget*")
+)
+
+(define-method get_font_name
+ (of-object "GtkFontSelection")
+ (c-name "gtk_font_selection_get_font_name")
+ (return-type "gchar*")
+)
+
+(define-method get_font
+ (of-object "GtkFontSelection")
+ (c-name "gtk_font_selection_get_font")
+ (return-type "GdkFont*")
+)
+
+(define-method set_font_name
+ (of-object "GtkFontSelection")
+ (c-name "gtk_font_selection_set_font_name")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "fontname")
+ )
+)
+
+(define-method get_preview_text
+ (of-object "GtkFontSelection")
+ (c-name "gtk_font_selection_get_preview_text")
+ (return-type "const-gchar*")
+)
+
+(define-method set_preview_text
+ (of-object "GtkFontSelection")
+ (c-name "gtk_font_selection_set_preview_text")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "text")
+ )
+)
+
+(define-function gtk_font_selection_dialog_get_type
+ (c-name "gtk_font_selection_dialog_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_font_selection_dialog_new
+ (c-name "gtk_font_selection_dialog_new")
+ (is-constructor-of "GtkFontSelectionDialog")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "title")
+ )
+)
+
+(define-method get_font_name
+ (of-object "GtkFontSelectionDialog")
+ (c-name "gtk_font_selection_dialog_get_font_name")
+ (return-type "gchar*")
+)
+
+(define-method get_font
+ (of-object "GtkFontSelectionDialog")
+ (c-name "gtk_font_selection_dialog_get_font")
+ (return-type "GdkFont*")
+)
+
+(define-method set_font_name
+ (of-object "GtkFontSelectionDialog")
+ (c-name "gtk_font_selection_dialog_set_font_name")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "fontname")
+ )
+)
+
+(define-method get_preview_text
+ (of-object "GtkFontSelectionDialog")
+ (c-name "gtk_font_selection_dialog_get_preview_text")
+ (return-type "const-gchar*")
+)
+
+(define-method set_preview_text
+ (of-object "GtkFontSelectionDialog")
+ (c-name "gtk_font_selection_dialog_set_preview_text")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "text")
+ )
+)
+
+
+
+;; From gtkframe.h
+
+(define-function gtk_frame_get_type
+ (c-name "gtk_frame_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_frame_new
+ (c-name "gtk_frame_new")
+ (is-constructor-of "GtkFrame")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-method set_label
+ (of-object "GtkFrame")
+ (c-name "gtk_frame_set_label")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-method get_label
+ (of-object "GtkFrame")
+ (c-name "gtk_frame_get_label")
+ (return-type "const-gchar*")
+)
+
+(define-method set_label_widget
+ (of-object "GtkFrame")
+ (c-name "gtk_frame_set_label_widget")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "label_widget")
+ )
+)
+
+(define-method get_label_widget
+ (of-object "GtkFrame")
+ (c-name "gtk_frame_get_label_widget")
+ (return-type "GtkWidget*")
+)
+
+(define-method set_label_align
+ (of-object "GtkFrame")
+ (c-name "gtk_frame_set_label_align")
+ (return-type "none")
+ (parameters
+ '("gfloat" "xalign")
+ '("gfloat" "yalign")
+ )
+)
+
+(define-method get_label_align
+ (of-object "GtkFrame")
+ (c-name "gtk_frame_get_label_align")
+ (return-type "none")
+ (parameters
+ '("gfloat*" "xalign")
+ '("gfloat*" "yalign")
+ )
+)
+
+(define-method set_shadow_type
+ (of-object "GtkFrame")
+ (c-name "gtk_frame_set_shadow_type")
+ (return-type "none")
+ (parameters
+ '("GtkShadowType" "type")
+ )
+)
+
+(define-method get_shadow_type
+ (of-object "GtkFrame")
+ (c-name "gtk_frame_get_shadow_type")
+ (return-type "GtkShadowType")
+)
+
+
+
+;; From gtkgamma.h
+
+(define-function gtk_gamma_curve_get_type
+ (c-name "gtk_gamma_curve_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_gamma_curve_new
+ (c-name "gtk_gamma_curve_new")
+ (is-constructor-of "GtkGammaCurve")
+ (return-type "GtkWidget*")
+)
+
+
+
+;; From gtkgc.h
+
+(define-function gtk_gc_get
+ (c-name "gtk_gc_get")
+ (return-type "GdkGC*")
+ (parameters
+ '("gint" "depth")
+ '("GdkColormap*" "colormap")
+ '("GdkGCValues*" "values")
+ '("GdkGCValuesMask" "values_mask")
+ )
+)
+
+(define-function gtk_gc_release
+ (c-name "gtk_gc_release")
+ (return-type "none")
+ (parameters
+ '("GdkGC*" "gc")
+ )
+)
+
+
+
+;; From gtk.h
+
+
+
+;; From gtkhandlebox.h
+
+(define-function gtk_handle_box_get_type
+ (c-name "gtk_handle_box_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_handle_box_new
+ (c-name "gtk_handle_box_new")
+ (is-constructor-of "GtkHandleBox")
+ (return-type "GtkWidget*")
+)
+
+(define-method set_shadow_type
+ (of-object "GtkHandleBox")
+ (c-name "gtk_handle_box_set_shadow_type")
+ (return-type "none")
+ (parameters
+ '("GtkShadowType" "type")
+ )
+)
+
+(define-method get_shadow_type
+ (of-object "GtkHandleBox")
+ (c-name "gtk_handle_box_get_shadow_type")
+ (return-type "GtkShadowType")
+)
+
+(define-method set_handle_position
+ (of-object "GtkHandleBox")
+ (c-name "gtk_handle_box_set_handle_position")
+ (return-type "none")
+ (parameters
+ '("GtkPositionType" "position")
+ )
+)
+
+(define-method get_handle_position
+ (of-object "GtkHandleBox")
+ (c-name "gtk_handle_box_get_handle_position")
+ (return-type "GtkPositionType")
+)
+
+(define-method set_snap_edge
+ (of-object "GtkHandleBox")
+ (c-name "gtk_handle_box_set_snap_edge")
+ (return-type "none")
+ (parameters
+ '("GtkPositionType" "edge")
+ )
+)
+
+(define-method get_snap_edge
+ (of-object "GtkHandleBox")
+ (c-name "gtk_handle_box_get_snap_edge")
+ (return-type "GtkPositionType")
+)
+
+
+
+;; From gtkhbbox.h
+
+(define-function gtk_hbutton_box_get_type
+ (c-name "gtk_hbutton_box_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_hbutton_box_new
+ (c-name "gtk_hbutton_box_new")
+ (is-constructor-of "GtkHbuttonBox")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_hbutton_box_get_spacing_default
+ (c-name "gtk_hbutton_box_get_spacing_default")
+ (return-type "gint")
+)
+
+(define-function gtk_hbutton_box_get_layout_default
+ (c-name "gtk_hbutton_box_get_layout_default")
+ (return-type "GtkButtonBoxStyle")
+)
+
+(define-function gtk_hbutton_box_set_spacing_default
+ (c-name "gtk_hbutton_box_set_spacing_default")
+ (return-type "none")
+ (parameters
+ '("gint" "spacing")
+ )
+)
+
+(define-function gtk_hbutton_box_set_layout_default
+ (c-name "gtk_hbutton_box_set_layout_default")
+ (return-type "none")
+ (parameters
+ '("GtkButtonBoxStyle" "layout")
+ )
+)
+
+
+
+;; From gtkhbox.h
+
+(define-function gtk_hbox_get_type
+ (c-name "gtk_hbox_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_hbox_new
+ (c-name "gtk_hbox_new")
+ (is-constructor-of "GtkHbox")
+ (return-type "GtkWidget*")
+ (parameters
+ '("gboolean" "homogeneous")
+ '("gint" "spacing")
+ )
+)
+
+
+
+;; From gtkhpaned.h
+
+(define-function gtk_hpaned_get_type
+ (c-name "gtk_hpaned_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_hpaned_new
+ (c-name "gtk_hpaned_new")
+ (is-constructor-of "GtkHpaned")
+ (return-type "GtkWidget*")
+)
+
+
+
+;; From gtkhruler.h
+
+(define-function gtk_hruler_get_type
+ (c-name "gtk_hruler_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_hruler_new
+ (c-name "gtk_hruler_new")
+ (is-constructor-of "GtkHruler")
+ (return-type "GtkWidget*")
+)
+
+
+
+;; From gtkhscale.h
+
+(define-function gtk_hscale_get_type
+ (c-name "gtk_hscale_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_hscale_new
+ (c-name "gtk_hscale_new")
+ (is-constructor-of "GtkHscale")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkAdjustment*" "adjustment")
+ )
+)
+
+(define-function gtk_hscale_new_with_range
+ (c-name "gtk_hscale_new_with_range")
+ (return-type "GtkWidget*")
+ (parameters
+ '("gdouble" "min")
+ '("gdouble" "max")
+ '("gdouble" "step")
+ )
+)
+
+
+
+;; From gtkhscrollbar.h
+
+(define-function gtk_hscrollbar_get_type
+ (c-name "gtk_hscrollbar_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_hscrollbar_new
+ (c-name "gtk_hscrollbar_new")
+ (is-constructor-of "GtkHscrollbar")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkAdjustment*" "adjustment")
+ )
+)
+
+
+
+;; From gtkhseparator.h
+
+(define-function gtk_hseparator_get_type
+ (c-name "gtk_hseparator_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_hseparator_new
+ (c-name "gtk_hseparator_new")
+ (is-constructor-of "GtkHseparator")
+ (return-type "GtkWidget*")
+)
+
+
+
+;; From gtkhsv.h
+
+(define-function gtk_hsv_get_type
+ (c-name "gtk_hsv_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_hsv_new
+ (c-name "gtk_hsv_new")
+ (is-constructor-of "GtkHsv")
+ (return-type "GtkWidget*")
+)
+
+(define-method set_color
+ (of-object "GtkHSV")
+ (c-name "gtk_hsv_set_color")
+ (return-type "none")
+ (parameters
+ '("double" "h")
+ '("double" "s")
+ '("double" "v")
+ )
+)
+
+(define-method get_color
+ (of-object "GtkHSV")
+ (c-name "gtk_hsv_get_color")
+ (return-type "none")
+ (parameters
+ '("gdouble*" "h")
+ '("gdouble*" "s")
+ '("gdouble*" "v")
+ )
+)
+
+(define-method set_metrics
+ (of-object "GtkHSV")
+ (c-name "gtk_hsv_set_metrics")
+ (return-type "none")
+ (parameters
+ '("gint" "size")
+ '("gint" "ring_width")
+ )
+)
+
+(define-method get_metrics
+ (of-object "GtkHSV")
+ (c-name "gtk_hsv_get_metrics")
+ (return-type "none")
+ (parameters
+ '("gint*" "size")
+ '("gint*" "ring_width")
+ )
+)
+
+(define-method is_adjusting
+ (of-object "GtkHSV")
+ (c-name "gtk_hsv_is_adjusting")
+ (return-type "gboolean")
+)
+
+(define-function gtk_hsv_to_rgb
+ (c-name "gtk_hsv_to_rgb")
+ (return-type "none")
+ (parameters
+ '("gdouble" "h")
+ '("gdouble" "s")
+ '("gdouble" "v")
+ '("gdouble*" "r")
+ '("gdouble*" "g")
+ '("gdouble*" "b")
+ )
+)
+
+(define-function gtk_rgb_to_hsv
+ (c-name "gtk_rgb_to_hsv")
+ (return-type "none")
+ (parameters
+ '("gdouble" "r")
+ '("gdouble" "g")
+ '("gdouble" "b")
+ '("gdouble*" "h")
+ '("gdouble*" "s")
+ '("gdouble*" "v")
+ )
+)
+
+
+
+;; From gtkiconcache.h
+
+
+
+;; From gtkiconcachevalidator.h
+
+
+
+;; From gtkiconfactory.h
+
+(define-function gtk_icon_factory_get_type
+ (c-name "gtk_icon_factory_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_icon_factory_new
+ (c-name "gtk_icon_factory_new")
+ (is-constructor-of "GtkIconFactory")
+ (return-type "GtkIconFactory*")
+)
+
+(define-method add
+ (of-object "GtkIconFactory")
+ (c-name "gtk_icon_factory_add")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "stock_id")
+ '("GtkIconSet*" "icon_set")
+ )
+)
+
+(define-method lookup
+ (of-object "GtkIconFactory")
+ (c-name "gtk_icon_factory_lookup")
+ (return-type "GtkIconSet*")
+ (parameters
+ '("const-gchar*" "stock_id")
+ )
+)
+
+(define-method add_default
+ (of-object "GtkIconFactory")
+ (c-name "gtk_icon_factory_add_default")
+ (return-type "none")
+)
+
+(define-method remove_default
+ (of-object "GtkIconFactory")
+ (c-name "gtk_icon_factory_remove_default")
+ (return-type "none")
+)
+
+(define-function gtk_icon_factory_lookup_default
+ (c-name "gtk_icon_factory_lookup_default")
+ (return-type "GtkIconSet*")
+ (parameters
+ '("const-gchar*" "stock_id")
+ )
+)
+
+(define-method lookup
+ (of-object "GtkIconSize")
+ (c-name "gtk_icon_size_lookup")
+ (return-type "gboolean")
+ (parameters
+ '("gint*" "width")
+ '("gint*" "height")
+ )
+)
+
+(define-function gtk_icon_size_lookup_for_settings
+ (c-name "gtk_icon_size_lookup_for_settings")
+ (return-type "gboolean")
+ (parameters
+ '("GtkSettings*" "settings")
+ '("GtkIconSize" "size")
+ '("gint*" "width")
+ '("gint*" "height")
+ )
+)
+
+(define-function gtk_icon_size_register
+ (c-name "gtk_icon_size_register")
+ (return-type "GtkIconSize")
+ (parameters
+ '("const-gchar*" "name")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gtk_icon_size_register_alias
+ (c-name "gtk_icon_size_register_alias")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "alias")
+ '("GtkIconSize" "target")
+ )
+)
+
+(define-function gtk_icon_size_from_name
+ (c-name "gtk_icon_size_from_name")
+ (return-type "GtkIconSize")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method get_name
+ (of-object "GtkIconSize")
+ (c-name "gtk_icon_size_get_name")
+ (return-type "const-gchar*")
+)
+
+(define-function gtk_icon_set_get_type
+ (c-name "gtk_icon_set_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_icon_set_new
+ (c-name "gtk_icon_set_new")
+ (is-constructor-of "GtkIconSet")
+ (return-type "GtkIconSet*")
+)
+
+(define-function gtk_icon_set_new_from_pixbuf
+ (c-name "gtk_icon_set_new_from_pixbuf")
+ (return-type "GtkIconSet*")
+ (parameters
+ '("GdkPixbuf*" "pixbuf")
+ )
+)
+
+(define-method ref
+ (of-object "GtkIconSet")
+ (c-name "gtk_icon_set_ref")
+ (return-type "GtkIconSet*")
+)
+
+(define-method unref
+ (of-object "GtkIconSet")
+ (c-name "gtk_icon_set_unref")
+ (return-type "none")
+)
+
+(define-method copy
+ (of-object "GtkIconSet")
+ (c-name "gtk_icon_set_copy")
+ (return-type "GtkIconSet*")
+)
+
+(define-method render_icon
+ (of-object "GtkIconSet")
+ (c-name "gtk_icon_set_render_icon")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GtkTextDirection" "direction")
+ '("GtkStateType" "state")
+ '("GtkIconSize" "size")
+ '("GtkWidget*" "widget")
+ '("const-char*" "detail")
+ )
+)
+
+(define-method add_source
+ (of-object "GtkIconSet")
+ (c-name "gtk_icon_set_add_source")
+ (return-type "none")
+ (parameters
+ '("const-GtkIconSource*" "source")
+ )
+)
+
+(define-method get_sizes
+ (of-object "GtkIconSet")
+ (c-name "gtk_icon_set_get_sizes")
+ (return-type "none")
+ (parameters
+ '("GtkIconSize**" "sizes")
+ '("gint*" "n_sizes")
+ )
+)
+
+(define-function gtk_icon_source_get_type
+ (c-name "gtk_icon_source_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_icon_source_new
+ (c-name "gtk_icon_source_new")
+ (is-constructor-of "GtkIconSource")
+ (return-type "GtkIconSource*")
+)
+
+(define-method copy
+ (of-object "GtkIconSource")
+ (c-name "gtk_icon_source_copy")
+ (return-type "GtkIconSource*")
+)
+
+(define-method free
+ (of-object "GtkIconSource")
+ (c-name "gtk_icon_source_free")
+ (return-type "none")
+)
+
+(define-method set_filename
+ (of-object "GtkIconSource")
+ (c-name "gtk_icon_source_set_filename")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "filename")
+ )
+)
+
+(define-method set_icon_name
+ (of-object "GtkIconSource")
+ (c-name "gtk_icon_source_set_icon_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "icon_name")
+ )
+)
+
+(define-method set_pixbuf
+ (of-object "GtkIconSource")
+ (c-name "gtk_icon_source_set_pixbuf")
+ (return-type "none")
+ (parameters
+ '("GdkPixbuf*" "pixbuf")
+ )
+)
+
+(define-method get_filename
+ (of-object "GtkIconSource")
+ (c-name "gtk_icon_source_get_filename")
+ (return-type "const-gchar*")
+)
+
+(define-method get_icon_name
+ (of-object "GtkIconSource")
+ (c-name "gtk_icon_source_get_icon_name")
+ (return-type "const-gchar*")
+)
+
+(define-method get_pixbuf
+ (of-object "GtkIconSource")
+ (c-name "gtk_icon_source_get_pixbuf")
+ (return-type "GdkPixbuf*")
+)
+
+(define-method set_direction_wildcarded
+ (of-object "GtkIconSource")
+ (c-name "gtk_icon_source_set_direction_wildcarded")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method set_state_wildcarded
+ (of-object "GtkIconSource")
+ (c-name "gtk_icon_source_set_state_wildcarded")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method set_size_wildcarded
+ (of-object "GtkIconSource")
+ (c-name "gtk_icon_source_set_size_wildcarded")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_size_wildcarded
+ (of-object "GtkIconSource")
+ (c-name "gtk_icon_source_get_size_wildcarded")
+ (return-type "gboolean")
+)
+
+(define-method get_state_wildcarded
+ (of-object "GtkIconSource")
+ (c-name "gtk_icon_source_get_state_wildcarded")
+ (return-type "gboolean")
+)
+
+(define-method get_direction_wildcarded
+ (of-object "GtkIconSource")
+ (c-name "gtk_icon_source_get_direction_wildcarded")
+ (return-type "gboolean")
+)
+
+(define-method set_direction
+ (of-object "GtkIconSource")
+ (c-name "gtk_icon_source_set_direction")
+ (return-type "none")
+ (parameters
+ '("GtkTextDirection" "direction")
+ )
+)
+
+(define-method set_state
+ (of-object "GtkIconSource")
+ (c-name "gtk_icon_source_set_state")
+ (return-type "none")
+ (parameters
+ '("GtkStateType" "state")
+ )
+)
+
+(define-method set_size
+ (of-object "GtkIconSource")
+ (c-name "gtk_icon_source_set_size")
+ (return-type "none")
+ (parameters
+ '("GtkIconSize" "size")
+ )
+)
+
+(define-method get_direction
+ (of-object "GtkIconSource")
+ (c-name "gtk_icon_source_get_direction")
+ (return-type "GtkTextDirection")
+)
+
+(define-method get_state
+ (of-object "GtkIconSource")
+ (c-name "gtk_icon_source_get_state")
+ (return-type "GtkStateType")
+)
+
+(define-method get_size
+ (of-object "GtkIconSource")
+ (c-name "gtk_icon_source_get_size")
+ (return-type "GtkIconSize")
+)
+
+
+
+;; From gtkicontheme.h
+
+(define-function gtk_icon_theme_error_quark
+ (c-name "gtk_icon_theme_error_quark")
+ (return-type "GQuark")
+)
+
+(define-function gtk_icon_theme_get_type
+ (c-name "gtk_icon_theme_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_icon_theme_new
+ (c-name "gtk_icon_theme_new")
+ (is-constructor-of "GtkIconTheme")
+ (return-type "GtkIconTheme*")
+)
+
+(define-function gtk_icon_theme_get_default
+ (c-name "gtk_icon_theme_get_default")
+ (return-type "GtkIconTheme*")
+)
+
+(define-function gtk_icon_theme_get_for_screen
+ (c-name "gtk_icon_theme_get_for_screen")
+ (return-type "GtkIconTheme*")
+ (parameters
+ '("GdkScreen*" "screen")
+ )
+)
+
+(define-method set_screen
+ (of-object "GtkIconTheme")
+ (c-name "gtk_icon_theme_set_screen")
+ (return-type "none")
+ (parameters
+ '("GdkScreen*" "screen")
+ )
+)
+
+(define-method set_search_path
+ (of-object "GtkIconTheme")
+ (c-name "gtk_icon_theme_set_search_path")
+ (return-type "none")
+ (parameters
+ '("const-gchar*[]" "path")
+ '("gint" "n_elements")
+ )
+)
+
+(define-method get_search_path
+ (of-object "GtkIconTheme")
+ (c-name "gtk_icon_theme_get_search_path")
+ (return-type "none")
+ (parameters
+ '("gchar**[]" "path")
+ '("gint*" "n_elements")
+ )
+)
+
+(define-method append_search_path
+ (of-object "GtkIconTheme")
+ (c-name "gtk_icon_theme_append_search_path")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "path")
+ )
+)
+
+(define-method prepend_search_path
+ (of-object "GtkIconTheme")
+ (c-name "gtk_icon_theme_prepend_search_path")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "path")
+ )
+)
+
+(define-method set_custom_theme
+ (of-object "GtkIconTheme")
+ (c-name "gtk_icon_theme_set_custom_theme")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "theme_name")
+ )
+)
+
+(define-method has_icon
+ (of-object "GtkIconTheme")
+ (c-name "gtk_icon_theme_has_icon")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "icon_name")
+ )
+)
+
+(define-method get_icon_sizes
+ (of-object "GtkIconTheme")
+ (c-name "gtk_icon_theme_get_icon_sizes")
+ (return-type "gint*")
+ (parameters
+ '("const-gchar*" "icon_name")
+ )
+)
+
+(define-method lookup_icon
+ (of-object "GtkIconTheme")
+ (c-name "gtk_icon_theme_lookup_icon")
+ (return-type "GtkIconInfo*")
+ (parameters
+ '("const-gchar*" "icon_name")
+ '("gint" "size")
+ '("GtkIconLookupFlags" "flags")
+ )
+)
+
+(define-method choose_icon
+ (of-object "GtkIconTheme")
+ (c-name "gtk_icon_theme_choose_icon")
+ (return-type "GtkIconInfo*")
+ (parameters
+ '("const-gchar*[]" "icon_names")
+ '("gint" "size")
+ '("GtkIconLookupFlags" "flags")
+ )
+)
+
+(define-method load_icon
+ (of-object "GtkIconTheme")
+ (c-name "gtk_icon_theme_load_icon")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("const-gchar*" "icon_name")
+ '("gint" "size")
+ '("GtkIconLookupFlags" "flags")
+ '("GError**" "error")
+ )
+)
+
+(define-method list_icons
+ (of-object "GtkIconTheme")
+ (c-name "gtk_icon_theme_list_icons")
+ (return-type "GList*")
+ (parameters
+ '("const-gchar*" "context")
+ )
+)
+
+(define-method list_contexts
+ (of-object "GtkIconTheme")
+ (c-name "gtk_icon_theme_list_contexts")
+ (return-type "GList*")
+)
+
+(define-method get_example_icon_name
+ (of-object "GtkIconTheme")
+ (c-name "gtk_icon_theme_get_example_icon_name")
+ (return-type "char*")
+)
+
+(define-method rescan_if_needed
+ (of-object "GtkIconTheme")
+ (c-name "gtk_icon_theme_rescan_if_needed")
+ (return-type "gboolean")
+)
+
+(define-function gtk_icon_theme_add_builtin_icon
+ (c-name "gtk_icon_theme_add_builtin_icon")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "icon_name")
+ '("gint" "size")
+ '("GdkPixbuf*" "pixbuf")
+ )
+)
+
+(define-function gtk_icon_info_get_type
+ (c-name "gtk_icon_info_get_type")
+ (return-type "GType")
+)
+
+(define-method copy
+ (of-object "GtkIconInfo")
+ (c-name "gtk_icon_info_copy")
+ (return-type "GtkIconInfo*")
+)
+
+(define-method free
+ (of-object "GtkIconInfo")
+ (c-name "gtk_icon_info_free")
+ (return-type "none")
+)
+
+(define-method get_base_size
+ (of-object "GtkIconInfo")
+ (c-name "gtk_icon_info_get_base_size")
+ (return-type "gint")
+)
+
+(define-method get_filename
+ (of-object "GtkIconInfo")
+ (c-name "gtk_icon_info_get_filename")
+ (return-type "const-gchar*")
+)
+
+(define-method get_builtin_pixbuf
+ (of-object "GtkIconInfo")
+ (c-name "gtk_icon_info_get_builtin_pixbuf")
+ (return-type "GdkPixbuf*")
+)
+
+(define-method load_icon
+ (of-object "GtkIconInfo")
+ (c-name "gtk_icon_info_load_icon")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("GError**" "error")
+ )
+)
+
+(define-method set_raw_coordinates
+ (of-object "GtkIconInfo")
+ (c-name "gtk_icon_info_set_raw_coordinates")
+ (return-type "none")
+ (parameters
+ '("gboolean" "raw_coordinates")
+ )
+)
+
+(define-method get_embedded_rect
+ (of-object "GtkIconInfo")
+ (c-name "gtk_icon_info_get_embedded_rect")
+ (return-type "gboolean")
+ (parameters
+ '("GdkRectangle*" "rectangle")
+ )
+)
+
+(define-method get_attach_points
+ (of-object "GtkIconInfo")
+ (c-name "gtk_icon_info_get_attach_points")
+ (return-type "gboolean")
+ (parameters
+ '("GdkPoint**" "points")
+ '("gint*" "n_points")
+ )
+)
+
+(define-method get_display_name
+ (of-object "GtkIconInfo")
+ (c-name "gtk_icon_info_get_display_name")
+ (return-type "const-gchar*")
+)
+
+
+
+;; From gtkiconview.h
+
+(define-function gtk_icon_view_get_type
+ (c-name "gtk_icon_view_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_icon_view_new
+ (c-name "gtk_icon_view_new")
+ (is-constructor-of "GtkIconView")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_icon_view_new_with_model
+ (c-name "gtk_icon_view_new_with_model")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkTreeModel*" "model")
+ )
+)
+
+(define-method set_model
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_model")
+ (return-type "none")
+ (parameters
+ '("GtkTreeModel*" "model")
+ )
+)
+
+(define-method get_model
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_model")
+ (return-type "GtkTreeModel*")
+)
+
+(define-method set_text_column
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_text_column")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+(define-method get_text_column
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_text_column")
+ (return-type "gint")
+)
+
+(define-method set_markup_column
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_markup_column")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+(define-method get_markup_column
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_markup_column")
+ (return-type "gint")
+)
+
+(define-method set_pixbuf_column
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_pixbuf_column")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+(define-method get_pixbuf_column
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_pixbuf_column")
+ (return-type "gint")
+)
+
+(define-method set_orientation
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_orientation")
+ (return-type "none")
+ (parameters
+ '("GtkOrientation" "orientation")
+ )
+)
+
+(define-method get_orientation
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_orientation")
+ (return-type "GtkOrientation")
+)
+
+(define-method set_columns
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_columns")
+ (return-type "none")
+ (parameters
+ '("gint" "columns")
+ )
+)
+
+(define-method get_columns
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_columns")
+ (return-type "gint")
+)
+
+(define-method set_item_width
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_item_width")
+ (return-type "none")
+ (parameters
+ '("gint" "item_width")
+ )
+)
+
+(define-method get_item_width
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_item_width")
+ (return-type "gint")
+)
+
+(define-method set_spacing
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_spacing")
+ (return-type "none")
+ (parameters
+ '("gint" "spacing")
+ )
+)
+
+(define-method get_spacing
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_spacing")
+ (return-type "gint")
+)
+
+(define-method set_row_spacing
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_row_spacing")
+ (return-type "none")
+ (parameters
+ '("gint" "row_spacing")
+ )
+)
+
+(define-method get_row_spacing
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_row_spacing")
+ (return-type "gint")
+)
+
+(define-method set_column_spacing
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_column_spacing")
+ (return-type "none")
+ (parameters
+ '("gint" "column_spacing")
+ )
+)
+
+(define-method get_column_spacing
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_column_spacing")
+ (return-type "gint")
+)
+
+(define-method set_margin
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_margin")
+ (return-type "none")
+ (parameters
+ '("gint" "margin")
+ )
+)
+
+(define-method get_margin
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_margin")
+ (return-type "gint")
+)
+
+(define-method get_path_at_pos
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_path_at_pos")
+ (return-type "GtkTreePath*")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-method get_item_at_pos
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_item_at_pos")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ '("GtkTreePath**" "path")
+ '("GtkCellRenderer**" "cell")
+ )
+)
+
+(define-method get_visible_range
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_visible_range")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreePath**" "start_path")
+ '("GtkTreePath**" "end_path")
+ )
+)
+
+(define-method selected_foreach
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_selected_foreach")
+ (return-type "none")
+ (parameters
+ '("GtkIconViewForeachFunc" "func")
+ '("gpointer" "data")
+ )
+)
+
+(define-method set_selection_mode
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_selection_mode")
+ (return-type "none")
+ (parameters
+ '("GtkSelectionMode" "mode")
+ )
+)
+
+(define-method get_selection_mode
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_selection_mode")
+ (return-type "GtkSelectionMode")
+)
+
+(define-method select_path
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_select_path")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-method unselect_path
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_unselect_path")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-method path_is_selected
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_path_is_selected")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-method get_selected_items
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_selected_items")
+ (return-type "GList*")
+)
+
+(define-method select_all
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_select_all")
+ (return-type "none")
+)
+
+(define-method unselect_all
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_unselect_all")
+ (return-type "none")
+)
+
+(define-method item_activated
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_item_activated")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-method set_cursor
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_cursor")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "path")
+ '("GtkCellRenderer*" "cell")
+ '("gboolean" "start_editing")
+ )
+)
+
+(define-method get_cursor
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_cursor")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreePath**" "path")
+ '("GtkCellRenderer**" "cell")
+ )
+)
+
+(define-method scroll_to_path
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_scroll_to_path")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "path")
+ '("gboolean" "use_align")
+ '("gfloat" "row_align")
+ '("gfloat" "col_align")
+ )
+)
+
+(define-method enable_model_drag_source
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_enable_model_drag_source")
+ (return-type "none")
+ (parameters
+ '("GdkModifierType" "start_button_mask")
+ '("const-GtkTargetEntry*" "targets")
+ '("gint" "n_targets")
+ '("GdkDragAction" "actions")
+ )
+)
+
+(define-method enable_model_drag_dest
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_enable_model_drag_dest")
+ (return-type "none")
+ (parameters
+ '("const-GtkTargetEntry*" "targets")
+ '("gint" "n_targets")
+ '("GdkDragAction" "actions")
+ )
+)
+
+(define-method unset_model_drag_source
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_unset_model_drag_source")
+ (return-type "none")
+)
+
+(define-method unset_model_drag_dest
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_unset_model_drag_dest")
+ (return-type "none")
+)
+
+(define-method set_reorderable
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_reorderable")
+ (return-type "none")
+ (parameters
+ '("gboolean" "reorderable")
+ )
+)
+
+(define-method get_reorderable
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_reorderable")
+ (return-type "gboolean")
+)
+
+(define-method set_drag_dest_item
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_drag_dest_item")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "path")
+ '("GtkIconViewDropPosition" "pos")
+ )
+)
+
+(define-method get_drag_dest_item
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_drag_dest_item")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath**" "path")
+ '("GtkIconViewDropPosition*" "pos")
+ )
+)
+
+(define-method get_dest_item_at_pos
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_dest_item_at_pos")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "drag_x")
+ '("gint" "drag_y")
+ '("GtkTreePath**" "path")
+ '("GtkIconViewDropPosition*" "pos")
+ )
+)
+
+(define-method create_drag_icon
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_create_drag_icon")
+ (return-type "GdkPixmap*")
+ (parameters
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-method convert_widget_to_bin_window_coords
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_convert_widget_to_bin_window_coords")
+ (return-type "none")
+ (parameters
+ '("gint" "wx")
+ '("gint" "wy")
+ '("gint*" "bx")
+ '("gint*" "by")
+ )
+)
+
+(define-method set_tooltip_item
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_tooltip_item")
+ (return-type "none")
+ (parameters
+ '("GtkTooltip*" "tooltip")
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-method set_tooltip_cell
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_tooltip_cell")
+ (return-type "none")
+ (parameters
+ '("GtkTooltip*" "tooltip")
+ '("GtkTreePath*" "path")
+ '("GtkCellRenderer*" "cell")
+ )
+)
+
+(define-method get_tooltip_context
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_tooltip_context")
+ (return-type "gboolean")
+ (parameters
+ '("gint*" "x")
+ '("gint*" "y")
+ '("gboolean" "keyboard_tip")
+ '("GtkTreeModel**" "model")
+ '("GtkTreePath**" "path")
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method set_tooltip_column
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_tooltip_column")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+(define-method get_tooltip_column
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_tooltip_column")
+ (return-type "gint")
+)
+
+
+
+;; From gtkimage.h
+
+(define-function gtk_image_get_type
+ (c-name "gtk_image_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_image_new
+ (c-name "gtk_image_new")
+ (is-constructor-of "GtkImage")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_image_new_from_pixmap
+ (c-name "gtk_image_new_from_pixmap")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GdkPixmap*" "pixmap")
+ '("GdkBitmap*" "mask")
+ )
+)
+
+(define-function gtk_image_new_from_image
+ (c-name "gtk_image_new_from_image")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GdkImage*" "image")
+ '("GdkBitmap*" "mask")
+ )
+)
+
+(define-function gtk_image_new_from_file
+ (c-name "gtk_image_new_from_file")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "filename")
+ )
+)
+
+(define-function gtk_image_new_from_pixbuf
+ (c-name "gtk_image_new_from_pixbuf")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GdkPixbuf*" "pixbuf")
+ )
+)
+
+(define-function gtk_image_new_from_stock
+ (c-name "gtk_image_new_from_stock")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "stock_id")
+ '("GtkIconSize" "size")
+ )
+)
+
+(define-function gtk_image_new_from_icon_set
+ (c-name "gtk_image_new_from_icon_set")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkIconSet*" "icon_set")
+ '("GtkIconSize" "size")
+ )
+)
+
+(define-function gtk_image_new_from_animation
+ (c-name "gtk_image_new_from_animation")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GdkPixbufAnimation*" "animation")
+ )
+)
+
+(define-function gtk_image_new_from_icon_name
+ (c-name "gtk_image_new_from_icon_name")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "icon_name")
+ '("GtkIconSize" "size")
+ )
+)
+
+(define-method clear
+ (of-object "GtkImage")
+ (c-name "gtk_image_clear")
+ (return-type "none")
+)
+
+(define-method set_from_pixmap
+ (of-object "GtkImage")
+ (c-name "gtk_image_set_from_pixmap")
+ (return-type "none")
+ (parameters
+ '("GdkPixmap*" "pixmap")
+ '("GdkBitmap*" "mask")
+ )
+)
+
+(define-method set_from_image
+ (of-object "GtkImage")
+ (c-name "gtk_image_set_from_image")
+ (return-type "none")
+ (parameters
+ '("GdkImage*" "gdk_image")
+ '("GdkBitmap*" "mask")
+ )
+)
+
+(define-method set_from_file
+ (of-object "GtkImage")
+ (c-name "gtk_image_set_from_file")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "filename")
+ )
+)
+
+(define-method set_from_pixbuf
+ (of-object "GtkImage")
+ (c-name "gtk_image_set_from_pixbuf")
+ (return-type "none")
+ (parameters
+ '("GdkPixbuf*" "pixbuf")
+ )
+)
+
+(define-method set_from_stock
+ (of-object "GtkImage")
+ (c-name "gtk_image_set_from_stock")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "stock_id")
+ '("GtkIconSize" "size")
+ )
+)
+
+(define-method set_from_icon_set
+ (of-object "GtkImage")
+ (c-name "gtk_image_set_from_icon_set")
+ (return-type "none")
+ (parameters
+ '("GtkIconSet*" "icon_set")
+ '("GtkIconSize" "size")
+ )
+)
+
+(define-method set_from_animation
+ (of-object "GtkImage")
+ (c-name "gtk_image_set_from_animation")
+ (return-type "none")
+ (parameters
+ '("GdkPixbufAnimation*" "animation")
+ )
+)
+
+(define-method set_from_icon_name
+ (of-object "GtkImage")
+ (c-name "gtk_image_set_from_icon_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "icon_name")
+ '("GtkIconSize" "size")
+ )
+)
+
+(define-method set_pixel_size
+ (of-object "GtkImage")
+ (c-name "gtk_image_set_pixel_size")
+ (return-type "none")
+ (parameters
+ '("gint" "pixel_size")
+ )
+)
+
+(define-method get_storage_type
+ (of-object "GtkImage")
+ (c-name "gtk_image_get_storage_type")
+ (return-type "GtkImageType")
+)
+
+(define-method get_pixmap
+ (of-object "GtkImage")
+ (c-name "gtk_image_get_pixmap")
+ (return-type "none")
+ (parameters
+ '("GdkPixmap**" "pixmap")
+ '("GdkBitmap**" "mask")
+ )
+)
+
+(define-method get_image
+ (of-object "GtkImage")
+ (c-name "gtk_image_get_image")
+ (return-type "none")
+ (parameters
+ '("GdkImage**" "gdk_image")
+ '("GdkBitmap**" "mask")
+ )
+)
+
+(define-method get_pixbuf
+ (of-object "GtkImage")
+ (c-name "gtk_image_get_pixbuf")
+ (return-type "GdkPixbuf*")
+)
+
+(define-method get_stock
+ (of-object "GtkImage")
+ (c-name "gtk_image_get_stock")
+ (return-type "none")
+ (parameters
+ '("gchar**" "stock_id")
+ '("GtkIconSize*" "size")
+ )
+)
+
+(define-method get_icon_set
+ (of-object "GtkImage")
+ (c-name "gtk_image_get_icon_set")
+ (return-type "none")
+ (parameters
+ '("GtkIconSet**" "icon_set")
+ '("GtkIconSize*" "size")
+ )
+)
+
+(define-method get_animation
+ (of-object "GtkImage")
+ (c-name "gtk_image_get_animation")
+ (return-type "GdkPixbufAnimation*")
+)
+
+(define-method get_icon_name
+ (of-object "GtkImage")
+ (c-name "gtk_image_get_icon_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar**" "icon_name")
+ '("GtkIconSize*" "size")
+ )
+)
+
+(define-method get_pixel_size
+ (of-object "GtkImage")
+ (c-name "gtk_image_get_pixel_size")
+ (return-type "gint")
+)
+
+(define-method set
+ (of-object "GtkImage")
+ (c-name "gtk_image_set")
+ (return-type "none")
+ (parameters
+ '("GdkImage*" "val")
+ '("GdkBitmap*" "mask")
+ )
+)
+
+(define-method get
+ (of-object "GtkImage")
+ (c-name "gtk_image_get")
+ (return-type "none")
+ (parameters
+ '("GdkImage**" "val")
+ '("GdkBitmap**" "mask")
+ )
+)
+
+
+
+;; From gtkimagemenuitem.h
+
+(define-function gtk_image_menu_item_get_type
+ (c-name "gtk_image_menu_item_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_image_menu_item_new
+ (c-name "gtk_image_menu_item_new")
+ (is-constructor-of "GtkImageMenuItem")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_image_menu_item_new_with_label
+ (c-name "gtk_image_menu_item_new_with_label")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-function gtk_image_menu_item_new_with_mnemonic
+ (c-name "gtk_image_menu_item_new_with_mnemonic")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-function gtk_image_menu_item_new_from_stock
+ (c-name "gtk_image_menu_item_new_from_stock")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "stock_id")
+ '("GtkAccelGroup*" "accel_group")
+ )
+)
+
+(define-method set_image
+ (of-object "GtkImageMenuItem")
+ (c-name "gtk_image_menu_item_set_image")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "image")
+ )
+)
+
+(define-method get_image
+ (of-object "GtkImageMenuItem")
+ (c-name "gtk_image_menu_item_get_image")
+ (return-type "GtkWidget*")
+)
+
+
+
+;; From gtkimcontext.h
+
+(define-function gtk_im_context_get_type
+ (c-name "gtk_im_context_get_type")
+ (return-type "GType")
+)
+
+(define-method set_client_window
+ (of-object "GtkIMContext")
+ (c-name "gtk_im_context_set_client_window")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ )
+)
+
+(define-method get_preedit_string
+ (of-object "GtkIMContext")
+ (c-name "gtk_im_context_get_preedit_string")
+ (return-type "none")
+ (parameters
+ '("gchar**" "str")
+ '("PangoAttrList**" "attrs")
+ '("gint*" "cursor_pos")
+ )
+)
+
+(define-method filter_keypress
+ (of-object "GtkIMContext")
+ (c-name "gtk_im_context_filter_keypress")
+ (return-type "gboolean")
+ (parameters
+ '("GdkEventKey*" "event")
+ )
+)
+
+(define-method focus_in
+ (of-object "GtkIMContext")
+ (c-name "gtk_im_context_focus_in")
+ (return-type "none")
+)
+
+(define-method focus_out
+ (of-object "GtkIMContext")
+ (c-name "gtk_im_context_focus_out")
+ (return-type "none")
+)
+
+(define-method reset
+ (of-object "GtkIMContext")
+ (c-name "gtk_im_context_reset")
+ (return-type "none")
+)
+
+(define-method set_cursor_location
+ (of-object "GtkIMContext")
+ (c-name "gtk_im_context_set_cursor_location")
+ (return-type "none")
+ (parameters
+ '("GdkRectangle*" "area")
+ )
+)
+
+(define-method set_use_preedit
+ (of-object "GtkIMContext")
+ (c-name "gtk_im_context_set_use_preedit")
+ (return-type "none")
+ (parameters
+ '("gboolean" "use_preedit")
+ )
+)
+
+(define-method set_surrounding
+ (of-object "GtkIMContext")
+ (c-name "gtk_im_context_set_surrounding")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "text")
+ '("gint" "len")
+ '("gint" "cursor_index")
+ )
+)
+
+(define-method get_surrounding
+ (of-object "GtkIMContext")
+ (c-name "gtk_im_context_get_surrounding")
+ (return-type "gboolean")
+ (parameters
+ '("gchar**" "text")
+ '("gint*" "cursor_index")
+ )
+)
+
+(define-method delete_surrounding
+ (of-object "GtkIMContext")
+ (c-name "gtk_im_context_delete_surrounding")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "offset")
+ '("gint" "n_chars")
+ )
+)
+
+
+
+;; From gtkimcontextsimple.h
+
+(define-function gtk_im_context_simple_get_type
+ (c-name "gtk_im_context_simple_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_im_context_simple_new
+ (c-name "gtk_im_context_simple_new")
+ (is-constructor-of "GtkImContextSimple")
+ (return-type "GtkIMContext*")
+)
+
+(define-method add_table
+ (of-object "GtkIMContextSimple")
+ (c-name "gtk_im_context_simple_add_table")
+ (return-type "none")
+ (parameters
+ '("guint16*" "data")
+ '("gint" "max_seq_len")
+ '("gint" "n_seqs")
+ )
+)
+
+
+
+;; From gtkimmodule.h
+
+
+
+;; From gtkimmulticontext.h
+
+(define-function gtk_im_multicontext_get_type
+ (c-name "gtk_im_multicontext_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_im_multicontext_new
+ (c-name "gtk_im_multicontext_new")
+ (is-constructor-of "GtkImMulticontext")
+ (return-type "GtkIMContext*")
+)
+
+(define-method append_menuitems
+ (of-object "GtkIMMulticontext")
+ (c-name "gtk_im_multicontext_append_menuitems")
+ (return-type "none")
+ (parameters
+ '("GtkMenuShell*" "menushell")
+ )
+)
+
+
+
+;; From gtkinputdialog.h
+
+(define-function gtk_input_dialog_get_type
+ (c-name "gtk_input_dialog_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_input_dialog_new
+ (c-name "gtk_input_dialog_new")
+ (is-constructor-of "GtkInputDialog")
+ (return-type "GtkWidget*")
+)
+
+
+
+;; From gtkintl.h
+
+
+
+;; From gtkinvisible.h
+
+(define-function gtk_invisible_get_type
+ (c-name "gtk_invisible_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_invisible_new
+ (c-name "gtk_invisible_new")
+ (is-constructor-of "GtkInvisible")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_invisible_new_for_screen
+ (c-name "gtk_invisible_new_for_screen")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GdkScreen*" "screen")
+ )
+)
+
+(define-method set_screen
+ (of-object "GtkInvisible")
+ (c-name "gtk_invisible_set_screen")
+ (return-type "none")
+ (parameters
+ '("GdkScreen*" "screen")
+ )
+)
+
+(define-method get_screen
+ (of-object "GtkInvisible")
+ (c-name "gtk_invisible_get_screen")
+ (return-type "GdkScreen*")
+)
+
+
+
+;; From gtkitemfactory.h
+
+(define-function gtk_item_factory_get_type
+ (c-name "gtk_item_factory_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_item_factory_new
+ (c-name "gtk_item_factory_new")
+ (is-constructor-of "GtkItemFactory")
+ (return-type "GtkItemFactory*")
+ (parameters
+ '("GType" "container_type")
+ '("const-gchar*" "path")
+ '("GtkAccelGroup*" "accel_group")
+ )
+)
+
+(define-method construct
+ (of-object "GtkItemFactory")
+ (c-name "gtk_item_factory_construct")
+ (return-type "none")
+ (parameters
+ '("GType" "container_type")
+ '("const-gchar*" "path")
+ '("GtkAccelGroup*" "accel_group")
+ )
+)
+
+(define-function gtk_item_factory_add_foreign
+ (c-name "gtk_item_factory_add_foreign")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "accel_widget")
+ '("const-gchar*" "full_path")
+ '("GtkAccelGroup*" "accel_group")
+ '("guint" "keyval")
+ '("GdkModifierType" "modifiers")
+ )
+)
+
+(define-function gtk_item_factory_from_widget
+ (c-name "gtk_item_factory_from_widget")
+ (return-type "GtkItemFactory*")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-function gtk_item_factory_path_from_widget
+ (c-name "gtk_item_factory_path_from_widget")
+ (return-type "const-gchar*")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-method get_item
+ (of-object "GtkItemFactory")
+ (c-name "gtk_item_factory_get_item")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "path")
+ )
+)
+
+(define-method get_widget
+ (of-object "GtkItemFactory")
+ (c-name "gtk_item_factory_get_widget")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "path")
+ )
+)
+
+(define-method get_widget_by_action
+ (of-object "GtkItemFactory")
+ (c-name "gtk_item_factory_get_widget_by_action")
+ (return-type "GtkWidget*")
+ (parameters
+ '("guint" "action")
+ )
+)
+
+(define-method get_item_by_action
+ (of-object "GtkItemFactory")
+ (c-name "gtk_item_factory_get_item_by_action")
+ (return-type "GtkWidget*")
+ (parameters
+ '("guint" "action")
+ )
+)
+
+(define-method create_item
+ (of-object "GtkItemFactory")
+ (c-name "gtk_item_factory_create_item")
+ (return-type "none")
+ (parameters
+ '("GtkItemFactoryEntry*" "entry")
+ '("gpointer" "callback_data")
+ '("guint" "callback_type")
+ )
+)
+
+(define-method create_items
+ (of-object "GtkItemFactory")
+ (c-name "gtk_item_factory_create_items")
+ (return-type "none")
+ (parameters
+ '("guint" "n_entries")
+ '("GtkItemFactoryEntry*" "entries")
+ '("gpointer" "callback_data")
+ )
+)
+
+(define-method delete_item
+ (of-object "GtkItemFactory")
+ (c-name "gtk_item_factory_delete_item")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "path")
+ )
+)
+
+(define-method delete_entry
+ (of-object "GtkItemFactory")
+ (c-name "gtk_item_factory_delete_entry")
+ (return-type "none")
+ (parameters
+ '("GtkItemFactoryEntry*" "entry")
+ )
+)
+
+(define-method delete_entries
+ (of-object "GtkItemFactory")
+ (c-name "gtk_item_factory_delete_entries")
+ (return-type "none")
+ (parameters
+ '("guint" "n_entries")
+ '("GtkItemFactoryEntry*" "entries")
+ )
+)
+
+(define-method popup
+ (of-object "GtkItemFactory")
+ (c-name "gtk_item_factory_popup")
+ (return-type "none")
+ (parameters
+ '("guint" "x")
+ '("guint" "y")
+ '("guint" "mouse_button")
+ '("guint32" "time_")
+ )
+)
+
+(define-method popup_with_data
+ (of-object "GtkItemFactory")
+ (c-name "gtk_item_factory_popup_with_data")
+ (return-type "none")
+ (parameters
+ '("gpointer" "popup_data")
+ '("GtkDestroyNotify" "destroy")
+ '("guint" "x")
+ '("guint" "y")
+ '("guint" "mouse_button")
+ '("guint32" "time_")
+ )
+)
+
+(define-method popup_data
+ (of-object "GtkItemFactory")
+ (c-name "gtk_item_factory_popup_data")
+ (return-type "gpointer")
+)
+
+(define-function gtk_item_factory_popup_data_from_widget
+ (c-name "gtk_item_factory_popup_data_from_widget")
+ (return-type "gpointer")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-method set_translate_func
+ (of-object "GtkItemFactory")
+ (c-name "gtk_item_factory_set_translate_func")
+ (return-type "none")
+ (parameters
+ '("GtkTranslateFunc" "func")
+ '("gpointer" "data")
+ '("GtkDestroyNotify" "notify")
+ )
+)
+
+(define-method create_items_ac
+ (of-object "GtkItemFactory")
+ (c-name "gtk_item_factory_create_items_ac")
+ (return-type "none")
+ (parameters
+ '("guint" "n_entries")
+ '("GtkItemFactoryEntry*" "entries")
+ '("gpointer" "callback_data")
+ '("guint" "callback_type")
+ )
+)
+
+(define-function gtk_item_factory_from_path
+ (c-name "gtk_item_factory_from_path")
+ (return-type "GtkItemFactory*")
+ (parameters
+ '("const-gchar*" "path")
+ )
+)
+
+(define-function gtk_item_factory_create_menu_entries
+ (c-name "gtk_item_factory_create_menu_entries")
+ (return-type "none")
+ (parameters
+ '("guint" "n_entries")
+ '("GtkMenuEntry*" "entries")
+ )
+)
+
+(define-function gtk_item_factories_path_delete
+ (c-name "gtk_item_factories_path_delete")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "ifactory_path")
+ '("const-gchar*" "path")
+ )
+)
+
+
+
+;; From gtkitem.h
+
+(define-function gtk_item_get_type
+ (c-name "gtk_item_get_type")
+ (return-type "GType")
+)
+
+(define-method select
+ (of-object "GtkItem")
+ (c-name "gtk_item_select")
+ (return-type "none")
+)
+
+(define-method deselect
+ (of-object "GtkItem")
+ (c-name "gtk_item_deselect")
+ (return-type "none")
+)
+
+(define-method toggle
+ (of-object "GtkItem")
+ (c-name "gtk_item_toggle")
+ (return-type "none")
+)
+
+
+
+;; From gtkkeyhash.h
+
+
+
+;; From gtklabel.h
+
+(define-function gtk_label_get_type
+ (c-name "gtk_label_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_label_new
+ (c-name "gtk_label_new")
+ (is-constructor-of "GtkLabel")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "str")
+ )
+)
+
+(define-function gtk_label_new_with_mnemonic
+ (c-name "gtk_label_new_with_mnemonic")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "str")
+ )
+)
+
+(define-method set_text
+ (of-object "GtkLabel")
+ (c-name "gtk_label_set_text")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "str")
+ )
+)
+
+(define-method get_text
+ (of-object "GtkLabel")
+ (c-name "gtk_label_get_text")
+ (return-type "const-gchar*")
+)
+
+(define-method set_attributes
+ (of-object "GtkLabel")
+ (c-name "gtk_label_set_attributes")
+ (return-type "none")
+ (parameters
+ '("PangoAttrList*" "attrs")
+ )
+)
+
+(define-method get_attributes
+ (of-object "GtkLabel")
+ (c-name "gtk_label_get_attributes")
+ (return-type "PangoAttrList*")
+)
+
+(define-method set_label
+ (of-object "GtkLabel")
+ (c-name "gtk_label_set_label")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "str")
+ )
+)
+
+(define-method get_label
+ (of-object "GtkLabel")
+ (c-name "gtk_label_get_label")
+ (return-type "const-gchar*")
+)
+
+(define-method set_markup
+ (of-object "GtkLabel")
+ (c-name "gtk_label_set_markup")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "str")
+ )
+)
+
+(define-method set_use_markup
+ (of-object "GtkLabel")
+ (c-name "gtk_label_set_use_markup")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_use_markup
+ (of-object "GtkLabel")
+ (c-name "gtk_label_get_use_markup")
+ (return-type "gboolean")
+)
+
+(define-method set_use_underline
+ (of-object "GtkLabel")
+ (c-name "gtk_label_set_use_underline")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_use_underline
+ (of-object "GtkLabel")
+ (c-name "gtk_label_get_use_underline")
+ (return-type "gboolean")
+)
+
+(define-method set_markup_with_mnemonic
+ (of-object "GtkLabel")
+ (c-name "gtk_label_set_markup_with_mnemonic")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "str")
+ )
+)
+
+(define-method get_mnemonic_keyval
+ (of-object "GtkLabel")
+ (c-name "gtk_label_get_mnemonic_keyval")
+ (return-type "guint")
+)
+
+(define-method set_mnemonic_widget
+ (of-object "GtkLabel")
+ (c-name "gtk_label_set_mnemonic_widget")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-method get_mnemonic_widget
+ (of-object "GtkLabel")
+ (c-name "gtk_label_get_mnemonic_widget")
+ (return-type "GtkWidget*")
+)
+
+(define-method set_text_with_mnemonic
+ (of-object "GtkLabel")
+ (c-name "gtk_label_set_text_with_mnemonic")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "str")
+ )
+)
+
+(define-method set_justify
+ (of-object "GtkLabel")
+ (c-name "gtk_label_set_justify")
+ (return-type "none")
+ (parameters
+ '("GtkJustification" "jtype")
+ )
+)
+
+(define-method get_justify
+ (of-object "GtkLabel")
+ (c-name "gtk_label_get_justify")
+ (return-type "GtkJustification")
+)
+
+(define-method set_ellipsize
+ (of-object "GtkLabel")
+ (c-name "gtk_label_set_ellipsize")
+ (return-type "none")
+ (parameters
+ '("PangoEllipsizeMode" "mode")
+ )
+)
+
+(define-method get_ellipsize
+ (of-object "GtkLabel")
+ (c-name "gtk_label_get_ellipsize")
+ (return-type "PangoEllipsizeMode")
+)
+
+(define-method set_width_chars
+ (of-object "GtkLabel")
+ (c-name "gtk_label_set_width_chars")
+ (return-type "none")
+ (parameters
+ '("gint" "n_chars")
+ )
+)
+
+(define-method get_width_chars
+ (of-object "GtkLabel")
+ (c-name "gtk_label_get_width_chars")
+ (return-type "gint")
+)
+
+(define-method set_max_width_chars
+ (of-object "GtkLabel")
+ (c-name "gtk_label_set_max_width_chars")
+ (return-type "none")
+ (parameters
+ '("gint" "n_chars")
+ )
+)
+
+(define-method get_max_width_chars
+ (of-object "GtkLabel")
+ (c-name "gtk_label_get_max_width_chars")
+ (return-type "gint")
+)
+
+(define-method set_pattern
+ (of-object "GtkLabel")
+ (c-name "gtk_label_set_pattern")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "pattern")
+ )
+)
+
+(define-method set_line_wrap
+ (of-object "GtkLabel")
+ (c-name "gtk_label_set_line_wrap")
+ (return-type "none")
+ (parameters
+ '("gboolean" "wrap")
+ )
+)
+
+(define-method get_line_wrap
+ (of-object "GtkLabel")
+ (c-name "gtk_label_get_line_wrap")
+ (return-type "gboolean")
+)
+
+(define-method set_line_wrap_mode
+ (of-object "GtkLabel")
+ (c-name "gtk_label_set_line_wrap_mode")
+ (return-type "none")
+ (parameters
+ '("PangoWrapMode" "wrap_mode")
+ )
+)
+
+(define-method get_line_wrap_mode
+ (of-object "GtkLabel")
+ (c-name "gtk_label_get_line_wrap_mode")
+ (return-type "PangoWrapMode")
+)
+
+(define-method set_selectable
+ (of-object "GtkLabel")
+ (c-name "gtk_label_set_selectable")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_selectable
+ (of-object "GtkLabel")
+ (c-name "gtk_label_get_selectable")
+ (return-type "gboolean")
+)
+
+(define-method set_angle
+ (of-object "GtkLabel")
+ (c-name "gtk_label_set_angle")
+ (return-type "none")
+ (parameters
+ '("gdouble" "angle")
+ )
+)
+
+(define-method get_angle
+ (of-object "GtkLabel")
+ (c-name "gtk_label_get_angle")
+ (return-type "gdouble")
+)
+
+(define-method select_region
+ (of-object "GtkLabel")
+ (c-name "gtk_label_select_region")
+ (return-type "none")
+ (parameters
+ '("gint" "start_offset")
+ '("gint" "end_offset")
+ )
+)
+
+(define-method get_selection_bounds
+ (of-object "GtkLabel")
+ (c-name "gtk_label_get_selection_bounds")
+ (return-type "gboolean")
+ (parameters
+ '("gint*" "start")
+ '("gint*" "end")
+ )
+)
+
+(define-method get_layout
+ (of-object "GtkLabel")
+ (c-name "gtk_label_get_layout")
+ (return-type "PangoLayout*")
+)
+
+(define-method get_layout_offsets
+ (of-object "GtkLabel")
+ (c-name "gtk_label_get_layout_offsets")
+ (return-type "none")
+ (parameters
+ '("gint*" "x")
+ '("gint*" "y")
+ )
+)
+
+(define-method set_single_line_mode
+ (of-object "GtkLabel")
+ (c-name "gtk_label_set_single_line_mode")
+ (return-type "none")
+ (parameters
+ '("gboolean" "single_line_mode")
+ )
+)
+
+(define-method get_single_line_mode
+ (of-object "GtkLabel")
+ (c-name "gtk_label_get_single_line_mode")
+ (return-type "gboolean")
+)
+
+(define-method get
+ (of-object "GtkLabel")
+ (c-name "gtk_label_get")
+ (return-type "none")
+ (parameters
+ '("gchar**" "str")
+ )
+)
+
+(define-method parse_uline
+ (of-object "GtkLabel")
+ (c-name "gtk_label_parse_uline")
+ (return-type "guint")
+ (parameters
+ '("const-gchar*" "string")
+ )
+)
+
+
+
+;; From gtklayout.h
+
+(define-function gtk_layout_get_type
+ (c-name "gtk_layout_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_layout_new
+ (c-name "gtk_layout_new")
+ (is-constructor-of "GtkLayout")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkAdjustment*" "hadjustment")
+ '("GtkAdjustment*" "vadjustment")
+ )
+)
+
+(define-method put
+ (of-object "GtkLayout")
+ (c-name "gtk_layout_put")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child_widget")
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-method move
+ (of-object "GtkLayout")
+ (c-name "gtk_layout_move")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child_widget")
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-method set_size
+ (of-object "GtkLayout")
+ (c-name "gtk_layout_set_size")
+ (return-type "none")
+ (parameters
+ '("guint" "width")
+ '("guint" "height")
+ )
+)
+
+(define-method get_size
+ (of-object "GtkLayout")
+ (c-name "gtk_layout_get_size")
+ (return-type "none")
+ (parameters
+ '("guint*" "width")
+ '("guint*" "height")
+ )
+)
+
+(define-method get_hadjustment
+ (of-object "GtkLayout")
+ (c-name "gtk_layout_get_hadjustment")
+ (return-type "GtkAdjustment*")
+)
+
+(define-method get_vadjustment
+ (of-object "GtkLayout")
+ (c-name "gtk_layout_get_vadjustment")
+ (return-type "GtkAdjustment*")
+)
+
+(define-method set_hadjustment
+ (of-object "GtkLayout")
+ (c-name "gtk_layout_set_hadjustment")
+ (return-type "none")
+ (parameters
+ '("GtkAdjustment*" "adjustment")
+ )
+)
+
+(define-method set_vadjustment
+ (of-object "GtkLayout")
+ (c-name "gtk_layout_set_vadjustment")
+ (return-type "none")
+ (parameters
+ '("GtkAdjustment*" "adjustment")
+ )
+)
+
+(define-method freeze
+ (of-object "GtkLayout")
+ (c-name "gtk_layout_freeze")
+ (return-type "none")
+)
+
+(define-method thaw
+ (of-object "GtkLayout")
+ (c-name "gtk_layout_thaw")
+ (return-type "none")
+)
+
+
+
+;; From gtklinkbutton.h
+
+(define-function gtk_link_button_get_type
+ (c-name "gtk_link_button_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_link_button_new
+ (c-name "gtk_link_button_new")
+ (is-constructor-of "GtkLinkButton")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "uri")
+ )
+)
+
+(define-function gtk_link_button_new_with_label
+ (c-name "gtk_link_button_new_with_label")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "uri")
+ '("const-gchar*" "label")
+ )
+)
+
+(define-method get_uri
+ (of-object "GtkLinkButton")
+ (c-name "gtk_link_button_get_uri")
+ (return-type "const-gchar*")
+)
+
+(define-method set_uri
+ (of-object "GtkLinkButton")
+ (c-name "gtk_link_button_set_uri")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "uri")
+ )
+)
+
+(define-function gtk_link_button_set_uri_hook
+ (c-name "gtk_link_button_set_uri_hook")
+ (return-type "GtkLinkButtonUriFunc")
+ (parameters
+ '("GtkLinkButtonUriFunc" "func")
+ '("gpointer" "data")
+ '("GDestroyNotify" "destroy")
+ )
+)
+
+
+
+;; From gtklist.h
+
+(define-function gtk_list_get_type
+ (c-name "gtk_list_get_type")
+ (return-type "GtkType")
+)
+
+(define-function gtk_list_new
+ (c-name "gtk_list_new")
+ (is-constructor-of "GtkList")
+ (return-type "GtkWidget*")
+)
+
+(define-method insert_items
+ (of-object "GtkList")
+ (c-name "gtk_list_insert_items")
+ (return-type "none")
+ (parameters
+ '("GList*" "items")
+ '("gint" "position")
+ )
+)
+
+(define-method append_items
+ (of-object "GtkList")
+ (c-name "gtk_list_append_items")
+ (return-type "none")
+ (parameters
+ '("GList*" "items")
+ )
+)
+
+(define-method prepend_items
+ (of-object "GtkList")
+ (c-name "gtk_list_prepend_items")
+ (return-type "none")
+ (parameters
+ '("GList*" "items")
+ )
+)
+
+(define-method remove_items
+ (of-object "GtkList")
+ (c-name "gtk_list_remove_items")
+ (return-type "none")
+ (parameters
+ '("GList*" "items")
+ )
+)
+
+(define-method remove_items_no_unref
+ (of-object "GtkList")
+ (c-name "gtk_list_remove_items_no_unref")
+ (return-type "none")
+ (parameters
+ '("GList*" "items")
+ )
+)
+
+(define-method clear_items
+ (of-object "GtkList")
+ (c-name "gtk_list_clear_items")
+ (return-type "none")
+ (parameters
+ '("gint" "start")
+ '("gint" "end")
+ )
+)
+
+(define-method select_item
+ (of-object "GtkList")
+ (c-name "gtk_list_select_item")
+ (return-type "none")
+ (parameters
+ '("gint" "item")
+ )
+)
+
+(define-method unselect_item
+ (of-object "GtkList")
+ (c-name "gtk_list_unselect_item")
+ (return-type "none")
+ (parameters
+ '("gint" "item")
+ )
+)
+
+(define-method select_child
+ (of-object "GtkList")
+ (c-name "gtk_list_select_child")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ )
+)
+
+(define-method unselect_child
+ (of-object "GtkList")
+ (c-name "gtk_list_unselect_child")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ )
+)
+
+(define-method child_position
+ (of-object "GtkList")
+ (c-name "gtk_list_child_position")
+ (return-type "gint")
+ (parameters
+ '("GtkWidget*" "child")
+ )
+)
+
+(define-method set_selection_mode
+ (of-object "GtkList")
+ (c-name "gtk_list_set_selection_mode")
+ (return-type "none")
+ (parameters
+ '("GtkSelectionMode" "mode")
+ )
+)
+
+(define-method extend_selection
+ (of-object "GtkList")
+ (c-name "gtk_list_extend_selection")
+ (return-type "none")
+ (parameters
+ '("GtkScrollType" "scroll_type")
+ '("gfloat" "position")
+ '("gboolean" "auto_start_selection")
+ )
+)
+
+(define-method start_selection
+ (of-object "GtkList")
+ (c-name "gtk_list_start_selection")
+ (return-type "none")
+)
+
+(define-method end_selection
+ (of-object "GtkList")
+ (c-name "gtk_list_end_selection")
+ (return-type "none")
+)
+
+(define-method select_all
+ (of-object "GtkList")
+ (c-name "gtk_list_select_all")
+ (return-type "none")
+)
+
+(define-method unselect_all
+ (of-object "GtkList")
+ (c-name "gtk_list_unselect_all")
+ (return-type "none")
+)
+
+(define-method scroll_horizontal
+ (of-object "GtkList")
+ (c-name "gtk_list_scroll_horizontal")
+ (return-type "none")
+ (parameters
+ '("GtkScrollType" "scroll_type")
+ '("gfloat" "position")
+ )
+)
+
+(define-method scroll_vertical
+ (of-object "GtkList")
+ (c-name "gtk_list_scroll_vertical")
+ (return-type "none")
+ (parameters
+ '("GtkScrollType" "scroll_type")
+ '("gfloat" "position")
+ )
+)
+
+(define-method toggle_add_mode
+ (of-object "GtkList")
+ (c-name "gtk_list_toggle_add_mode")
+ (return-type "none")
+)
+
+(define-method toggle_focus_row
+ (of-object "GtkList")
+ (c-name "gtk_list_toggle_focus_row")
+ (return-type "none")
+)
+
+(define-method toggle_row
+ (of-object "GtkList")
+ (c-name "gtk_list_toggle_row")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "item")
+ )
+)
+
+(define-method undo_selection
+ (of-object "GtkList")
+ (c-name "gtk_list_undo_selection")
+ (return-type "none")
+)
+
+(define-method end_drag_selection
+ (of-object "GtkList")
+ (c-name "gtk_list_end_drag_selection")
+ (return-type "none")
+)
+
+
+
+;; From gtklistitem.h
+
+(define-function gtk_list_item_get_type
+ (c-name "gtk_list_item_get_type")
+ (return-type "GtkType")
+)
+
+(define-function gtk_list_item_new
+ (c-name "gtk_list_item_new")
+ (is-constructor-of "GtkListItem")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_list_item_new_with_label
+ (c-name "gtk_list_item_new_with_label")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-method select
+ (of-object "GtkListItem")
+ (c-name "gtk_list_item_select")
+ (return-type "none")
+)
+
+(define-method deselect
+ (of-object "GtkListItem")
+ (c-name "gtk_list_item_deselect")
+ (return-type "none")
+)
+
+
+
+;; From gtkliststore.h
+
+(define-function gtk_list_store_get_type
+ (c-name "gtk_list_store_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_list_store_new
+ (c-name "gtk_list_store_new")
+ (is-constructor-of "GtkListStore")
+ (return-type "GtkListStore*")
+ (parameters
+ '("gint" "n_columns")
+ )
+ (varargs #t)
+)
+
+(define-function gtk_list_store_newv
+ (c-name "gtk_list_store_newv")
+ (return-type "GtkListStore*")
+ (parameters
+ '("gint" "n_columns")
+ '("GType*" "types")
+ )
+)
+
+(define-method set_column_types
+ (of-object "GtkListStore")
+ (c-name "gtk_list_store_set_column_types")
+ (return-type "none")
+ (parameters
+ '("gint" "n_columns")
+ '("GType*" "types")
+ )
+)
+
+(define-method set_value
+ (of-object "GtkListStore")
+ (c-name "gtk_list_store_set_value")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("gint" "column")
+ '("GValue*" "value")
+ )
+)
+
+(define-method set
+ (of-object "GtkListStore")
+ (c-name "gtk_list_store_set")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+ (varargs #t)
+)
+
+(define-method set_valuesv
+ (of-object "GtkListStore")
+ (c-name "gtk_list_store_set_valuesv")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("gint*" "columns")
+ '("GValue*" "values")
+ '("gint" "n_values")
+ )
+)
+
+(define-method set_valist
+ (of-object "GtkListStore")
+ (c-name "gtk_list_store_set_valist")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("va_list" "var_args")
+ )
+)
+
+(define-method remove
+ (of-object "GtkListStore")
+ (c-name "gtk_list_store_remove")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method insert
+ (of-object "GtkListStore")
+ (c-name "gtk_list_store_insert")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("gint" "position")
+ )
+)
+
+(define-method insert_before
+ (of-object "GtkListStore")
+ (c-name "gtk_list_store_insert_before")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("GtkTreeIter*" "sibling")
+ )
+)
+
+(define-method insert_after
+ (of-object "GtkListStore")
+ (c-name "gtk_list_store_insert_after")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("GtkTreeIter*" "sibling")
+ )
+)
+
+(define-method insert_with_values
+ (of-object "GtkListStore")
+ (c-name "gtk_list_store_insert_with_values")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("gint" "position")
+ )
+ (varargs #t)
+)
+
+(define-method insert_with_valuesv
+ (of-object "GtkListStore")
+ (c-name "gtk_list_store_insert_with_valuesv")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("gint" "position")
+ '("gint*" "columns")
+ '("GValue*" "values")
+ '("gint" "n_values")
+ )
+)
+
+(define-method prepend
+ (of-object "GtkListStore")
+ (c-name "gtk_list_store_prepend")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method append
+ (of-object "GtkListStore")
+ (c-name "gtk_list_store_append")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method clear
+ (of-object "GtkListStore")
+ (c-name "gtk_list_store_clear")
+ (return-type "none")
+)
+
+(define-method iter_is_valid
+ (of-object "GtkListStore")
+ (c-name "gtk_list_store_iter_is_valid")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method reorder
+ (of-object "GtkListStore")
+ (c-name "gtk_list_store_reorder")
+ (return-type "none")
+ (parameters
+ '("gint*" "new_order")
+ )
+)
+
+(define-method swap
+ (of-object "GtkListStore")
+ (c-name "gtk_list_store_swap")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "a")
+ '("GtkTreeIter*" "b")
+ )
+)
+
+(define-method move_after
+ (of-object "GtkListStore")
+ (c-name "gtk_list_store_move_after")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("GtkTreeIter*" "position")
+ )
+)
+
+(define-method move_before
+ (of-object "GtkListStore")
+ (c-name "gtk_list_store_move_before")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("GtkTreeIter*" "position")
+ )
+)
+
+
+
+;; From gtkmain.h
+
+(define-function gtk_check_version
+ (c-name "gtk_check_version")
+ (return-type "gchar*")
+ (parameters
+ '("guint" "required_major")
+ '("guint" "required_minor")
+ '("guint" "required_micro")
+ )
+)
+
+(define-function gtk_parse_args
+ (c-name "gtk_parse_args")
+ (return-type "gboolean")
+ (parameters
+ '("int*" "argc")
+ '("char***" "argv")
+ )
+)
+
+(define-function gtk_init
+ (c-name "gtk_init")
+ (return-type "none")
+ (parameters
+ '("int*" "argc")
+ '("char***" "argv")
+ )
+)
+
+(define-function gtk_init_check
+ (c-name "gtk_init_check")
+ (return-type "gboolean")
+ (parameters
+ '("int*" "argc")
+ '("char***" "argv")
+ )
+)
+
+(define-function gtk_init_with_args
+ (c-name "gtk_init_with_args")
+ (return-type "gboolean")
+ (parameters
+ '("int*" "argc")
+ '("char***" "argv")
+ '("char*" "parameter_string")
+ '("GOptionEntry*" "entries")
+ '("char*" "translation_domain")
+ '("GError**" "error")
+ )
+)
+
+(define-function gtk_get_option_group
+ (c-name "gtk_get_option_group")
+ (return-type "GOptionGroup*")
+ (parameters
+ '("gboolean" "open_default_display")
+ )
+)
+
+(define-function gtk_init_abi_check
+ (c-name "gtk_init_abi_check")
+ (return-type "none")
+ (parameters
+ '("int*" "argc")
+ '("char***" "argv")
+ '("int" "num_checks")
+ '("size_t" "sizeof_GtkWindow")
+ '("size_t" "sizeof_GtkBox")
+ )
+)
+
+(define-function gtk_init_check_abi_check
+ (c-name "gtk_init_check_abi_check")
+ (return-type "gboolean")
+ (parameters
+ '("int*" "argc")
+ '("char***" "argv")
+ '("int" "num_checks")
+ '("size_t" "sizeof_GtkWindow")
+ '("size_t" "sizeof_GtkBox")
+ )
+)
+
+(define-function gtk_exit
+ (c-name "gtk_exit")
+ (return-type "none")
+ (parameters
+ '("gint" "error_code")
+ )
+)
+
+(define-function gtk_disable_setlocale
+ (c-name "gtk_disable_setlocale")
+ (return-type "none")
+)
+
+(define-function gtk_set_locale
+ (c-name "gtk_set_locale")
+ (return-type "gchar*")
+)
+
+(define-function gtk_get_default_language
+ (c-name "gtk_get_default_language")
+ (return-type "PangoLanguage*")
+)
+
+(define-function gtk_events_pending
+ (c-name "gtk_events_pending")
+ (return-type "gboolean")
+)
+
+(define-function gtk_main_do_event
+ (c-name "gtk_main_do_event")
+ (return-type "none")
+ (parameters
+ '("GdkEvent*" "event")
+ )
+)
+
+(define-function gtk_main
+ (c-name "gtk_main")
+ (return-type "none")
+)
+
+(define-function gtk_main_level
+ (c-name "gtk_main_level")
+ (return-type "guint")
+)
+
+(define-function gtk_main_quit
+ (c-name "gtk_main_quit")
+ (return-type "none")
+)
+
+(define-function gtk_main_iteration
+ (c-name "gtk_main_iteration")
+ (return-type "gboolean")
+)
+
+(define-function gtk_main_iteration_do
+ (c-name "gtk_main_iteration_do")
+ (return-type "gboolean")
+ (parameters
+ '("gboolean" "blocking")
+ )
+)
+
+(define-function gtk_true
+ (c-name "gtk_true")
+ (return-type "gboolean")
+)
+
+(define-function gtk_false
+ (c-name "gtk_false")
+ (return-type "gboolean")
+)
+
+(define-function gtk_grab_add
+ (c-name "gtk_grab_add")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-function gtk_grab_get_current
+ (c-name "gtk_grab_get_current")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_grab_remove
+ (c-name "gtk_grab_remove")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-function gtk_init_add
+ (c-name "gtk_init_add")
+ (return-type "none")
+ (parameters
+ '("GtkFunction" "function")
+ '("gpointer" "data")
+ )
+)
+
+(define-function gtk_quit_add_destroy
+ (c-name "gtk_quit_add_destroy")
+ (return-type "none")
+ (parameters
+ '("guint" "main_level")
+ '("GtkObject*" "object")
+ )
+)
+
+(define-function gtk_quit_add
+ (c-name "gtk_quit_add")
+ (return-type "guint")
+ (parameters
+ '("guint" "main_level")
+ '("GtkFunction" "function")
+ '("gpointer" "data")
+ )
+)
+
+(define-function gtk_quit_add_full
+ (c-name "gtk_quit_add_full")
+ (return-type "guint")
+ (parameters
+ '("guint" "main_level")
+ '("GtkFunction" "function")
+ '("GtkCallbackMarshal" "marshal")
+ '("gpointer" "data")
+ '("GtkDestroyNotify" "destroy")
+ )
+)
+
+(define-function gtk_quit_remove
+ (c-name "gtk_quit_remove")
+ (return-type "none")
+ (parameters
+ '("guint" "quit_handler_id")
+ )
+)
+
+(define-function gtk_quit_remove_by_data
+ (c-name "gtk_quit_remove_by_data")
+ (return-type "none")
+ (parameters
+ '("gpointer" "data")
+ )
+)
+
+(define-function gtk_timeout_add
+ (c-name "gtk_timeout_add")
+ (return-type "guint")
+ (parameters
+ '("guint32" "interval")
+ '("GtkFunction" "function")
+ '("gpointer" "data")
+ )
+)
+
+(define-function gtk_timeout_add_full
+ (c-name "gtk_timeout_add_full")
+ (return-type "guint")
+ (parameters
+ '("guint32" "interval")
+ '("GtkFunction" "function")
+ '("GtkCallbackMarshal" "marshal")
+ '("gpointer" "data")
+ '("GtkDestroyNotify" "destroy")
+ )
+)
+
+(define-function gtk_timeout_remove
+ (c-name "gtk_timeout_remove")
+ (return-type "none")
+ (parameters
+ '("guint" "timeout_handler_id")
+ )
+)
+
+(define-function gtk_idle_add
+ (c-name "gtk_idle_add")
+ (return-type "guint")
+ (parameters
+ '("GtkFunction" "function")
+ '("gpointer" "data")
+ )
+)
+
+(define-function gtk_idle_add_priority
+ (c-name "gtk_idle_add_priority")
+ (return-type "guint")
+ (parameters
+ '("gint" "priority")
+ '("GtkFunction" "function")
+ '("gpointer" "data")
+ )
+)
+
+(define-function gtk_idle_add_full
+ (c-name "gtk_idle_add_full")
+ (return-type "guint")
+ (parameters
+ '("gint" "priority")
+ '("GtkFunction" "function")
+ '("GtkCallbackMarshal" "marshal")
+ '("gpointer" "data")
+ '("GtkDestroyNotify" "destroy")
+ )
+)
+
+(define-function gtk_idle_remove
+ (c-name "gtk_idle_remove")
+ (return-type "none")
+ (parameters
+ '("guint" "idle_handler_id")
+ )
+)
+
+(define-function gtk_idle_remove_by_data
+ (c-name "gtk_idle_remove_by_data")
+ (return-type "none")
+ (parameters
+ '("gpointer" "data")
+ )
+)
+
+(define-function gtk_input_add_full
+ (c-name "gtk_input_add_full")
+ (return-type "guint")
+ (parameters
+ '("gint" "source")
+ '("GdkInputCondition" "condition")
+ '("GdkInputFunction" "function")
+ '("GtkCallbackMarshal" "marshal")
+ '("gpointer" "data")
+ '("GtkDestroyNotify" "destroy")
+ )
+)
+
+(define-function gtk_input_remove
+ (c-name "gtk_input_remove")
+ (return-type "none")
+ (parameters
+ '("guint" "input_handler_id")
+ )
+)
+
+(define-function gtk_key_snooper_install
+ (c-name "gtk_key_snooper_install")
+ (return-type "guint")
+ (parameters
+ '("GtkKeySnoopFunc" "snooper")
+ '("gpointer" "func_data")
+ )
+)
+
+(define-function gtk_key_snooper_remove
+ (c-name "gtk_key_snooper_remove")
+ (return-type "none")
+ (parameters
+ '("guint" "snooper_handler_id")
+ )
+)
+
+(define-function gtk_get_current_event
+ (c-name "gtk_get_current_event")
+ (return-type "GdkEvent*")
+)
+
+(define-function gtk_get_current_event_time
+ (c-name "gtk_get_current_event_time")
+ (return-type "guint32")
+)
+
+(define-function gtk_get_current_event_state
+ (c-name "gtk_get_current_event_state")
+ (return-type "gboolean")
+ (parameters
+ '("GdkModifierType*" "state")
+ )
+)
+
+(define-function gtk_get_event_widget
+ (c-name "gtk_get_event_widget")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GdkEvent*" "event")
+ )
+)
+
+(define-function gtk_propagate_event
+ (c-name "gtk_propagate_event")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("GdkEvent*" "event")
+ )
+)
+
+
+
+;; From gtkmarshalers.h
+
+
+
+;; From gtkmarshal.h
+
+
+
+;; From gtkmenubar.h
+
+(define-function gtk_menu_bar_get_type
+ (c-name "gtk_menu_bar_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_menu_bar_new
+ (c-name "gtk_menu_bar_new")
+ (is-constructor-of "GtkMenuBar")
+ (return-type "GtkWidget*")
+)
+
+(define-method get_pack_direction
+ (of-object "GtkMenuBar")
+ (c-name "gtk_menu_bar_get_pack_direction")
+ (return-type "GtkPackDirection")
+)
+
+(define-method set_pack_direction
+ (of-object "GtkMenuBar")
+ (c-name "gtk_menu_bar_set_pack_direction")
+ (return-type "none")
+ (parameters
+ '("GtkPackDirection" "pack_dir")
+ )
+)
+
+(define-method get_child_pack_direction
+ (of-object "GtkMenuBar")
+ (c-name "gtk_menu_bar_get_child_pack_direction")
+ (return-type "GtkPackDirection")
+)
+
+(define-method set_child_pack_direction
+ (of-object "GtkMenuBar")
+ (c-name "gtk_menu_bar_set_child_pack_direction")
+ (return-type "none")
+ (parameters
+ '("GtkPackDirection" "child_pack_dir")
+ )
+)
+
+
+
+;; From gtkmenu.h
+
+(define-function gtk_menu_get_type
+ (c-name "gtk_menu_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_menu_new
+ (c-name "gtk_menu_new")
+ (is-constructor-of "GtkMenu")
+ (return-type "GtkWidget*")
+)
+
+(define-method popup
+ (of-object "GtkMenu")
+ (c-name "gtk_menu_popup")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "parent_menu_shell")
+ '("GtkWidget*" "parent_menu_item")
+ '("GtkMenuPositionFunc" "func")
+ '("gpointer" "data")
+ '("guint" "button")
+ '("guint32" "activate_time")
+ )
+)
+
+(define-method reposition
+ (of-object "GtkMenu")
+ (c-name "gtk_menu_reposition")
+ (return-type "none")
+)
+
+(define-method popdown
+ (of-object "GtkMenu")
+ (c-name "gtk_menu_popdown")
+ (return-type "none")
+)
+
+(define-method get_active
+ (of-object "GtkMenu")
+ (c-name "gtk_menu_get_active")
+ (return-type "GtkWidget*")
+)
+
+(define-method set_active
+ (of-object "GtkMenu")
+ (c-name "gtk_menu_set_active")
+ (return-type "none")
+ (parameters
+ '("guint" "index_")
+ )
+)
+
+(define-method set_accel_group
+ (of-object "GtkMenu")
+ (c-name "gtk_menu_set_accel_group")
+ (return-type "none")
+ (parameters
+ '("GtkAccelGroup*" "accel_group")
+ )
+)
+
+(define-method get_accel_group
+ (of-object "GtkMenu")
+ (c-name "gtk_menu_get_accel_group")
+ (return-type "GtkAccelGroup*")
+)
+
+(define-method set_accel_path
+ (of-object "GtkMenu")
+ (c-name "gtk_menu_set_accel_path")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "accel_path")
+ )
+)
+
+(define-method attach_to_widget
+ (of-object "GtkMenu")
+ (c-name "gtk_menu_attach_to_widget")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "attach_widget")
+ '("GtkMenuDetachFunc" "detacher")
+ )
+)
+
+(define-method detach
+ (of-object "GtkMenu")
+ (c-name "gtk_menu_detach")
+ (return-type "none")
+)
+
+(define-method get_attach_widget
+ (of-object "GtkMenu")
+ (c-name "gtk_menu_get_attach_widget")
+ (return-type "GtkWidget*")
+)
+
+(define-method set_tearoff_state
+ (of-object "GtkMenu")
+ (c-name "gtk_menu_set_tearoff_state")
+ (return-type "none")
+ (parameters
+ '("gboolean" "torn_off")
+ )
+)
+
+(define-method get_tearoff_state
+ (of-object "GtkMenu")
+ (c-name "gtk_menu_get_tearoff_state")
+ (return-type "gboolean")
+)
+
+(define-method set_title
+ (of-object "GtkMenu")
+ (c-name "gtk_menu_set_title")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "title")
+ )
+)
+
+(define-method get_title
+ (of-object "GtkMenu")
+ (c-name "gtk_menu_get_title")
+ (return-type "const-gchar*")
+)
+
+(define-method reorder_child
+ (of-object "GtkMenu")
+ (c-name "gtk_menu_reorder_child")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("gint" "position")
+ )
+)
+
+(define-method set_screen
+ (of-object "GtkMenu")
+ (c-name "gtk_menu_set_screen")
+ (return-type "none")
+ (parameters
+ '("GdkScreen*" "screen")
+ )
+)
+
+(define-method attach
+ (of-object "GtkMenu")
+ (c-name "gtk_menu_attach")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("guint" "left_attach")
+ '("guint" "right_attach")
+ '("guint" "top_attach")
+ '("guint" "bottom_attach")
+ )
+)
+
+(define-method set_monitor
+ (of-object "GtkMenu")
+ (c-name "gtk_menu_set_monitor")
+ (return-type "none")
+ (parameters
+ '("gint" "monitor_num")
+ )
+)
+
+(define-function gtk_menu_get_for_attach_widget
+ (c-name "gtk_menu_get_for_attach_widget")
+ (return-type "GList*")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+
+
+;; From gtkmenuitem.h
+
+(define-function gtk_menu_item_get_type
+ (c-name "gtk_menu_item_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_menu_item_new
+ (c-name "gtk_menu_item_new")
+ (is-constructor-of "GtkMenuItem")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_menu_item_new_with_label
+ (c-name "gtk_menu_item_new_with_label")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-function gtk_menu_item_new_with_mnemonic
+ (c-name "gtk_menu_item_new_with_mnemonic")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-method set_submenu
+ (of-object "GtkMenuItem")
+ (c-name "gtk_menu_item_set_submenu")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "submenu")
+ )
+)
+
+(define-method get_submenu
+ (of-object "GtkMenuItem")
+ (c-name "gtk_menu_item_get_submenu")
+ (return-type "GtkWidget*")
+)
+
+(define-method select
+ (of-object "GtkMenuItem")
+ (c-name "gtk_menu_item_select")
+ (return-type "none")
+)
+
+(define-method deselect
+ (of-object "GtkMenuItem")
+ (c-name "gtk_menu_item_deselect")
+ (return-type "none")
+)
+
+(define-method activate
+ (of-object "GtkMenuItem")
+ (c-name "gtk_menu_item_activate")
+ (return-type "none")
+)
+
+(define-method toggle_size_request
+ (of-object "GtkMenuItem")
+ (c-name "gtk_menu_item_toggle_size_request")
+ (return-type "none")
+ (parameters
+ '("gint*" "requisition")
+ )
+)
+
+(define-method toggle_size_allocate
+ (of-object "GtkMenuItem")
+ (c-name "gtk_menu_item_toggle_size_allocate")
+ (return-type "none")
+ (parameters
+ '("gint" "allocation")
+ )
+)
+
+(define-method set_right_justified
+ (of-object "GtkMenuItem")
+ (c-name "gtk_menu_item_set_right_justified")
+ (return-type "none")
+ (parameters
+ '("gboolean" "right_justified")
+ )
+)
+
+(define-method get_right_justified
+ (of-object "GtkMenuItem")
+ (c-name "gtk_menu_item_get_right_justified")
+ (return-type "gboolean")
+)
+
+(define-method set_accel_path
+ (of-object "GtkMenuItem")
+ (c-name "gtk_menu_item_set_accel_path")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "accel_path")
+ )
+)
+
+(define-method remove_submenu
+ (of-object "GtkMenuItem")
+ (c-name "gtk_menu_item_remove_submenu")
+ (return-type "none")
+)
+
+
+
+;; From gtkmenushell.h
+
+(define-function gtk_menu_shell_get_type
+ (c-name "gtk_menu_shell_get_type")
+ (return-type "GType")
+)
+
+(define-method append
+ (of-object "GtkMenuShell")
+ (c-name "gtk_menu_shell_append")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ )
+)
+
+(define-method prepend
+ (of-object "GtkMenuShell")
+ (c-name "gtk_menu_shell_prepend")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ )
+)
+
+(define-method insert
+ (of-object "GtkMenuShell")
+ (c-name "gtk_menu_shell_insert")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("gint" "position")
+ )
+)
+
+(define-method deactivate
+ (of-object "GtkMenuShell")
+ (c-name "gtk_menu_shell_deactivate")
+ (return-type "none")
+)
+
+(define-method select_item
+ (of-object "GtkMenuShell")
+ (c-name "gtk_menu_shell_select_item")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "menu_item")
+ )
+)
+
+(define-method deselect
+ (of-object "GtkMenuShell")
+ (c-name "gtk_menu_shell_deselect")
+ (return-type "none")
+)
+
+(define-method activate_item
+ (of-object "GtkMenuShell")
+ (c-name "gtk_menu_shell_activate_item")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "menu_item")
+ '("gboolean" "force_deactivate")
+ )
+)
+
+(define-method select_first
+ (of-object "GtkMenuShell")
+ (c-name "gtk_menu_shell_select_first")
+ (return-type "none")
+ (parameters
+ '("gboolean" "search_sensitive")
+ )
+)
+
+(define-method cancel
+ (of-object "GtkMenuShell")
+ (c-name "gtk_menu_shell_cancel")
+ (return-type "none")
+)
+
+(define-method get_take_focus
+ (of-object "GtkMenuShell")
+ (c-name "gtk_menu_shell_get_take_focus")
+ (return-type "gboolean")
+)
+
+(define-method set_take_focus
+ (of-object "GtkMenuShell")
+ (c-name "gtk_menu_shell_set_take_focus")
+ (return-type "none")
+ (parameters
+ '("gboolean" "take_focus")
+ )
+)
+
+
+
+;; From gtkmenutoolbutton.h
+
+(define-function gtk_menu_tool_button_get_type
+ (c-name "gtk_menu_tool_button_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_menu_tool_button_new
+ (c-name "gtk_menu_tool_button_new")
+ (is-constructor-of "GtkMenuToolButton")
+ (return-type "GtkToolItem*")
+ (parameters
+ '("GtkWidget*" "icon_widget")
+ '("const-gchar*" "label")
+ )
+)
+
+(define-function gtk_menu_tool_button_new_from_stock
+ (c-name "gtk_menu_tool_button_new_from_stock")
+ (return-type "GtkToolItem*")
+ (parameters
+ '("const-gchar*" "stock_id")
+ )
+)
+
+(define-method set_menu
+ (of-object "GtkMenuToolButton")
+ (c-name "gtk_menu_tool_button_set_menu")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "menu")
+ )
+)
+
+(define-method get_menu
+ (of-object "GtkMenuToolButton")
+ (c-name "gtk_menu_tool_button_get_menu")
+ (return-type "GtkWidget*")
+)
+
+(define-method set_arrow_tooltip
+ (of-object "GtkMenuToolButton")
+ (c-name "gtk_menu_tool_button_set_arrow_tooltip")
+ (return-type "none")
+ (parameters
+ '("GtkTooltips*" "tooltips")
+ '("const-gchar*" "tip_text")
+ '("const-gchar*" "tip_private")
+ )
+)
+
+(define-method set_arrow_tooltip_text
+ (of-object "GtkMenuToolButton")
+ (c-name "gtk_menu_tool_button_set_arrow_tooltip_text")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "text")
+ )
+)
+
+(define-method set_arrow_tooltip_markup
+ (of-object "GtkMenuToolButton")
+ (c-name "gtk_menu_tool_button_set_arrow_tooltip_markup")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "markup")
+ )
+)
+
+
+
+;; From gtkmessagedialog.h
+
+(define-function gtk_message_dialog_get_type
+ (c-name "gtk_message_dialog_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_message_dialog_new
+ (c-name "gtk_message_dialog_new")
+ (is-constructor-of "GtkMessageDialog")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkWindow*" "parent")
+ '("GtkDialogFlags" "flags")
+ '("GtkMessageType" "type")
+ '("GtkButtonsType" "buttons")
+ '("const-gchar*" "message_format")
+ )
+ (varargs #t)
+)
+
+(define-function gtk_message_dialog_new_with_markup
+ (c-name "gtk_message_dialog_new_with_markup")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkWindow*" "parent")
+ '("GtkDialogFlags" "flags")
+ '("GtkMessageType" "type")
+ '("GtkButtonsType" "buttons")
+ '("const-gchar*" "message_format")
+ )
+ (varargs #t)
+)
+
+(define-method set_image
+ (of-object "GtkMessageDialog")
+ (c-name "gtk_message_dialog_set_image")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "image")
+ )
+)
+
+(define-method set_markup
+ (of-object "GtkMessageDialog")
+ (c-name "gtk_message_dialog_set_markup")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "str")
+ )
+)
+
+(define-method format_secondary_text
+ (of-object "GtkMessageDialog")
+ (c-name "gtk_message_dialog_format_secondary_text")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "message_format")
+ )
+ (varargs #t)
+)
+
+(define-method format_secondary_markup
+ (of-object "GtkMessageDialog")
+ (c-name "gtk_message_dialog_format_secondary_markup")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "message_format")
+ )
+ (varargs #t)
+)
+
+
+
+;; From gtkmisc.h
+
+(define-function gtk_misc_get_type
+ (c-name "gtk_misc_get_type")
+ (return-type "GType")
+)
+
+(define-method set_alignment
+ (of-object "GtkMisc")
+ (c-name "gtk_misc_set_alignment")
+ (return-type "none")
+ (parameters
+ '("gfloat" "xalign")
+ '("gfloat" "yalign")
+ )
+)
+
+(define-method get_alignment
+ (of-object "GtkMisc")
+ (c-name "gtk_misc_get_alignment")
+ (return-type "none")
+ (parameters
+ '("gfloat*" "xalign")
+ '("gfloat*" "yalign")
+ )
+)
+
+(define-method set_padding
+ (of-object "GtkMisc")
+ (c-name "gtk_misc_set_padding")
+ (return-type "none")
+ (parameters
+ '("gint" "xpad")
+ '("gint" "ypad")
+ )
+)
+
+(define-method get_padding
+ (of-object "GtkMisc")
+ (c-name "gtk_misc_get_padding")
+ (return-type "none")
+ (parameters
+ '("gint*" "xpad")
+ '("gint*" "ypad")
+ )
+)
+
+
+
+;; From gtkmnemonichash.h
+
+
+
+;; From gtkmodules.h
+
+
+
+;; From gtknotebook.h
+
+(define-function gtk_notebook_get_type
+ (c-name "gtk_notebook_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_notebook_new
+ (c-name "gtk_notebook_new")
+ (is-constructor-of "GtkNotebook")
+ (return-type "GtkWidget*")
+)
+
+(define-method append_page
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_append_page")
+ (return-type "gint")
+ (parameters
+ '("GtkWidget*" "child")
+ '("GtkWidget*" "tab_label")
+ )
+)
+
+(define-method append_page_menu
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_append_page_menu")
+ (return-type "gint")
+ (parameters
+ '("GtkWidget*" "child")
+ '("GtkWidget*" "tab_label")
+ '("GtkWidget*" "menu_label")
+ )
+)
+
+(define-method prepend_page
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_prepend_page")
+ (return-type "gint")
+ (parameters
+ '("GtkWidget*" "child")
+ '("GtkWidget*" "tab_label")
+ )
+)
+
+(define-method prepend_page_menu
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_prepend_page_menu")
+ (return-type "gint")
+ (parameters
+ '("GtkWidget*" "child")
+ '("GtkWidget*" "tab_label")
+ '("GtkWidget*" "menu_label")
+ )
+)
+
+(define-method insert_page
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_insert_page")
+ (return-type "gint")
+ (parameters
+ '("GtkWidget*" "child")
+ '("GtkWidget*" "tab_label")
+ '("gint" "position")
+ )
+)
+
+(define-method insert_page_menu
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_insert_page_menu")
+ (return-type "gint")
+ (parameters
+ '("GtkWidget*" "child")
+ '("GtkWidget*" "tab_label")
+ '("GtkWidget*" "menu_label")
+ '("gint" "position")
+ )
+)
+
+(define-method remove_page
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_remove_page")
+ (return-type "none")
+ (parameters
+ '("gint" "page_num")
+ )
+)
+
+(define-function gtk_notebook_set_window_creation_hook
+ (c-name "gtk_notebook_set_window_creation_hook")
+ (return-type "none")
+ (parameters
+ '("GtkNotebookWindowCreationFunc" "func")
+ '("gpointer" "data")
+ '("GDestroyNotify" "destroy")
+ )
+)
+
+(define-method set_group_id
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_set_group_id")
+ (return-type "none")
+ (parameters
+ '("gint" "group_id")
+ )
+)
+
+(define-method get_group_id
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_get_group_id")
+ (return-type "gint")
+)
+
+(define-method set_group
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_set_group")
+ (return-type "none")
+ (parameters
+ '("gpointer" "group")
+ )
+)
+
+(define-method get_group
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_get_group")
+ (return-type "gpointer")
+)
+
+(define-method get_current_page
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_get_current_page")
+ (return-type "gint")
+)
+
+(define-method get_nth_page
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_get_nth_page")
+ (return-type "GtkWidget*")
+ (parameters
+ '("gint" "page_num")
+ )
+)
+
+(define-method get_n_pages
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_get_n_pages")
+ (return-type "gint")
+)
+
+(define-method page_num
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_page_num")
+ (return-type "gint")
+ (parameters
+ '("GtkWidget*" "child")
+ )
+)
+
+(define-method set_current_page
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_set_current_page")
+ (return-type "none")
+ (parameters
+ '("gint" "page_num")
+ )
+)
+
+(define-method next_page
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_next_page")
+ (return-type "none")
+)
+
+(define-method prev_page
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_prev_page")
+ (return-type "none")
+)
+
+(define-method set_show_border
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_set_show_border")
+ (return-type "none")
+ (parameters
+ '("gboolean" "show_border")
+ )
+)
+
+(define-method get_show_border
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_get_show_border")
+ (return-type "gboolean")
+)
+
+(define-method set_show_tabs
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_set_show_tabs")
+ (return-type "none")
+ (parameters
+ '("gboolean" "show_tabs")
+ )
+)
+
+(define-method get_show_tabs
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_get_show_tabs")
+ (return-type "gboolean")
+)
+
+(define-method set_tab_pos
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_set_tab_pos")
+ (return-type "none")
+ (parameters
+ '("GtkPositionType" "pos")
+ )
+)
+
+(define-method get_tab_pos
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_get_tab_pos")
+ (return-type "GtkPositionType")
+)
+
+(define-method set_homogeneous_tabs
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_set_homogeneous_tabs")
+ (return-type "none")
+ (parameters
+ '("gboolean" "homogeneous")
+ )
+)
+
+(define-method set_tab_border
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_set_tab_border")
+ (return-type "none")
+ (parameters
+ '("guint" "border_width")
+ )
+)
+
+(define-method set_tab_hborder
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_set_tab_hborder")
+ (return-type "none")
+ (parameters
+ '("guint" "tab_hborder")
+ )
+)
+
+(define-method set_tab_vborder
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_set_tab_vborder")
+ (return-type "none")
+ (parameters
+ '("guint" "tab_vborder")
+ )
+)
+
+(define-method set_scrollable
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_set_scrollable")
+ (return-type "none")
+ (parameters
+ '("gboolean" "scrollable")
+ )
+)
+
+(define-method get_scrollable
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_get_scrollable")
+ (return-type "gboolean")
+)
+
+(define-method popup_enable
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_popup_enable")
+ (return-type "none")
+)
+
+(define-method popup_disable
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_popup_disable")
+ (return-type "none")
+)
+
+(define-method get_tab_label
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_get_tab_label")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkWidget*" "child")
+ )
+)
+
+(define-method set_tab_label
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_set_tab_label")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("GtkWidget*" "tab_label")
+ )
+)
+
+(define-method set_tab_label_text
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_set_tab_label_text")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("const-gchar*" "tab_text")
+ )
+)
+
+(define-method get_tab_label_text
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_get_tab_label_text")
+ (return-type "const-gchar*")
+ (parameters
+ '("GtkWidget*" "child")
+ )
+)
+
+(define-method get_menu_label
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_get_menu_label")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkWidget*" "child")
+ )
+)
+
+(define-method set_menu_label
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_set_menu_label")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("GtkWidget*" "menu_label")
+ )
+)
+
+(define-method set_menu_label_text
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_set_menu_label_text")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("const-gchar*" "menu_text")
+ )
+)
+
+(define-method get_menu_label_text
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_get_menu_label_text")
+ (return-type "const-gchar*")
+ (parameters
+ '("GtkWidget*" "child")
+ )
+)
+
+(define-method query_tab_label_packing
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_query_tab_label_packing")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("gboolean*" "expand")
+ '("gboolean*" "fill")
+ '("GtkPackType*" "pack_type")
+ )
+)
+
+(define-method set_tab_label_packing
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_set_tab_label_packing")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("gboolean" "expand")
+ '("gboolean" "fill")
+ '("GtkPackType" "pack_type")
+ )
+)
+
+(define-method reorder_child
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_reorder_child")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("gint" "position")
+ )
+)
+
+(define-method get_tab_reorderable
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_get_tab_reorderable")
+ (return-type "gboolean")
+ (parameters
+ '("GtkWidget*" "child")
+ )
+)
+
+(define-method set_tab_reorderable
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_set_tab_reorderable")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("gboolean" "reorderable")
+ )
+)
+
+(define-method get_tab_detachable
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_get_tab_detachable")
+ (return-type "gboolean")
+ (parameters
+ '("GtkWidget*" "child")
+ )
+)
+
+(define-method set_tab_detachable
+ (of-object "GtkNotebook")
+ (c-name "gtk_notebook_set_tab_detachable")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("gboolean" "detachable")
+ )
+)
+
+
+
+;; From gtkobject.h
+
+(define-function gtk_object_get_type
+ (c-name "gtk_object_get_type")
+ (return-type "GtkType")
+)
+
+(define-method sink
+ (of-object "GtkObject")
+ (c-name "gtk_object_sink")
+ (return-type "none")
+)
+
+(define-method destroy
+ (of-object "GtkObject")
+ (c-name "gtk_object_destroy")
+ (return-type "none")
+)
+
+(define-function gtk_object_new
+ (c-name "gtk_object_new")
+ (is-constructor-of "GtkObject")
+ (return-type "GtkObject*")
+ (parameters
+ '("GtkType" "type")
+ '("const-gchar*" "first_property_name")
+ )
+ (varargs #t)
+)
+
+(define-method ref
+ (of-object "GtkObject")
+ (c-name "gtk_object_ref")
+ (return-type "GtkObject*")
+)
+
+(define-method unref
+ (of-object "GtkObject")
+ (c-name "gtk_object_unref")
+ (return-type "none")
+)
+
+(define-method weakref
+ (of-object "GtkObject")
+ (c-name "gtk_object_weakref")
+ (return-type "none")
+ (parameters
+ '("GtkDestroyNotify" "notify")
+ '("gpointer" "data")
+ )
+)
+
+(define-method weakunref
+ (of-object "GtkObject")
+ (c-name "gtk_object_weakunref")
+ (return-type "none")
+ (parameters
+ '("GtkDestroyNotify" "notify")
+ '("gpointer" "data")
+ )
+)
+
+(define-method set_data
+ (of-object "GtkObject")
+ (c-name "gtk_object_set_data")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "key")
+ '("gpointer" "data")
+ )
+)
+
+(define-method set_data_full
+ (of-object "GtkObject")
+ (c-name "gtk_object_set_data_full")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "key")
+ '("gpointer" "data")
+ '("GtkDestroyNotify" "destroy")
+ )
+)
+
+(define-method remove_data
+ (of-object "GtkObject")
+ (c-name "gtk_object_remove_data")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "key")
+ )
+)
+
+(define-method get_data
+ (of-object "GtkObject")
+ (c-name "gtk_object_get_data")
+ (return-type "gpointer")
+ (parameters
+ '("const-gchar*" "key")
+ )
+)
+
+(define-method remove_no_notify
+ (of-object "GtkObject")
+ (c-name "gtk_object_remove_no_notify")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "key")
+ )
+)
+
+(define-method set_user_data
+ (of-object "GtkObject")
+ (c-name "gtk_object_set_user_data")
+ (return-type "none")
+ (parameters
+ '("gpointer" "data")
+ )
+)
+
+(define-method get_user_data
+ (of-object "GtkObject")
+ (c-name "gtk_object_get_user_data")
+ (return-type "gpointer")
+)
+
+(define-method set_data_by_id
+ (of-object "GtkObject")
+ (c-name "gtk_object_set_data_by_id")
+ (return-type "none")
+ (parameters
+ '("GQuark" "data_id")
+ '("gpointer" "data")
+ )
+)
+
+(define-method set_data_by_id_full
+ (of-object "GtkObject")
+ (c-name "gtk_object_set_data_by_id_full")
+ (return-type "none")
+ (parameters
+ '("GQuark" "data_id")
+ '("gpointer" "data")
+ '("GtkDestroyNotify" "destroy")
+ )
+)
+
+(define-method get_data_by_id
+ (of-object "GtkObject")
+ (c-name "gtk_object_get_data_by_id")
+ (return-type "gpointer")
+ (parameters
+ '("GQuark" "data_id")
+ )
+)
+
+(define-method remove_data_by_id
+ (of-object "GtkObject")
+ (c-name "gtk_object_remove_data_by_id")
+ (return-type "none")
+ (parameters
+ '("GQuark" "data_id")
+ )
+)
+
+(define-method remove_no_notify_by_id
+ (of-object "GtkObject")
+ (c-name "gtk_object_remove_no_notify_by_id")
+ (return-type "none")
+ (parameters
+ '("GQuark" "key_id")
+ )
+)
+
+(define-method get
+ (of-object "GtkObject")
+ (c-name "gtk_object_get")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "first_property_name")
+ )
+ (varargs #t)
+)
+
+(define-method set
+ (of-object "GtkObject")
+ (c-name "gtk_object_set")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "first_property_name")
+ )
+ (varargs #t)
+)
+
+(define-function gtk_object_add_arg_type
+ (c-name "gtk_object_add_arg_type")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "arg_name")
+ '("GtkType" "arg_type")
+ '("guint" "arg_flags")
+ '("guint" "arg_id")
+ )
+)
+
+
+
+;; From gtkoldeditable.h
+
+(define-function gtk_old_editable_get_type
+ (c-name "gtk_old_editable_get_type")
+ (return-type "GtkType")
+)
+
+(define-method claim_selection
+ (of-object "GtkOldEditable")
+ (c-name "gtk_old_editable_claim_selection")
+ (return-type "none")
+ (parameters
+ '("gboolean" "claim")
+ '("guint32" "time_")
+ )
+)
+
+(define-method changed
+ (of-object "GtkOldEditable")
+ (c-name "gtk_old_editable_changed")
+ (return-type "none")
+)
+
+
+
+;; From gtkoptionmenu.h
+
+(define-function gtk_option_menu_get_type
+ (c-name "gtk_option_menu_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_option_menu_new
+ (c-name "gtk_option_menu_new")
+ (is-constructor-of "GtkOptionMenu")
+ (return-type "GtkWidget*")
+)
+
+(define-method get_menu
+ (of-object "GtkOptionMenu")
+ (c-name "gtk_option_menu_get_menu")
+ (return-type "GtkWidget*")
+)
+
+(define-method set_menu
+ (of-object "GtkOptionMenu")
+ (c-name "gtk_option_menu_set_menu")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "menu")
+ )
+)
+
+(define-method remove_menu
+ (of-object "GtkOptionMenu")
+ (c-name "gtk_option_menu_remove_menu")
+ (return-type "none")
+)
+
+(define-method get_history
+ (of-object "GtkOptionMenu")
+ (c-name "gtk_option_menu_get_history")
+ (return-type "gint")
+)
+
+(define-method set_history
+ (of-object "GtkOptionMenu")
+ (c-name "gtk_option_menu_set_history")
+ (return-type "none")
+ (parameters
+ '("guint" "index_")
+ )
+)
+
+
+
+;; From gtkpagesetup.h
+
+(define-function gtk_page_setup_get_type
+ (c-name "gtk_page_setup_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_page_setup_new
+ (c-name "gtk_page_setup_new")
+ (is-constructor-of "GtkPageSetup")
+ (return-type "GtkPageSetup*")
+)
+
+(define-method copy
+ (of-object "GtkPageSetup")
+ (c-name "gtk_page_setup_copy")
+ (return-type "GtkPageSetup*")
+)
+
+(define-method get_orientation
+ (of-object "GtkPageSetup")
+ (c-name "gtk_page_setup_get_orientation")
+ (return-type "GtkPageOrientation")
+)
+
+(define-method set_orientation
+ (of-object "GtkPageSetup")
+ (c-name "gtk_page_setup_set_orientation")
+ (return-type "none")
+ (parameters
+ '("GtkPageOrientation" "orientation")
+ )
+)
+
+(define-method get_paper_size
+ (of-object "GtkPageSetup")
+ (c-name "gtk_page_setup_get_paper_size")
+ (return-type "GtkPaperSize*")
+)
+
+(define-method set_paper_size
+ (of-object "GtkPageSetup")
+ (c-name "gtk_page_setup_set_paper_size")
+ (return-type "none")
+ (parameters
+ '("GtkPaperSize*" "size")
+ )
+)
+
+(define-method get_top_margin
+ (of-object "GtkPageSetup")
+ (c-name "gtk_page_setup_get_top_margin")
+ (return-type "gdouble")
+ (parameters
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method set_top_margin
+ (of-object "GtkPageSetup")
+ (c-name "gtk_page_setup_set_top_margin")
+ (return-type "none")
+ (parameters
+ '("gdouble" "margin")
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method get_bottom_margin
+ (of-object "GtkPageSetup")
+ (c-name "gtk_page_setup_get_bottom_margin")
+ (return-type "gdouble")
+ (parameters
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method set_bottom_margin
+ (of-object "GtkPageSetup")
+ (c-name "gtk_page_setup_set_bottom_margin")
+ (return-type "none")
+ (parameters
+ '("gdouble" "margin")
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method get_left_margin
+ (of-object "GtkPageSetup")
+ (c-name "gtk_page_setup_get_left_margin")
+ (return-type "gdouble")
+ (parameters
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method set_left_margin
+ (of-object "GtkPageSetup")
+ (c-name "gtk_page_setup_set_left_margin")
+ (return-type "none")
+ (parameters
+ '("gdouble" "margin")
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method get_right_margin
+ (of-object "GtkPageSetup")
+ (c-name "gtk_page_setup_get_right_margin")
+ (return-type "gdouble")
+ (parameters
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method set_right_margin
+ (of-object "GtkPageSetup")
+ (c-name "gtk_page_setup_set_right_margin")
+ (return-type "none")
+ (parameters
+ '("gdouble" "margin")
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method set_paper_size_and_default_margins
+ (of-object "GtkPageSetup")
+ (c-name "gtk_page_setup_set_paper_size_and_default_margins")
+ (return-type "none")
+ (parameters
+ '("GtkPaperSize*" "size")
+ )
+)
+
+(define-method get_paper_width
+ (of-object "GtkPageSetup")
+ (c-name "gtk_page_setup_get_paper_width")
+ (return-type "gdouble")
+ (parameters
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method get_paper_height
+ (of-object "GtkPageSetup")
+ (c-name "gtk_page_setup_get_paper_height")
+ (return-type "gdouble")
+ (parameters
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method get_page_width
+ (of-object "GtkPageSetup")
+ (c-name "gtk_page_setup_get_page_width")
+ (return-type "gdouble")
+ (parameters
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method get_page_height
+ (of-object "GtkPageSetup")
+ (c-name "gtk_page_setup_get_page_height")
+ (return-type "gdouble")
+ (parameters
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-function gtk_page_setup_new_from_file
+ (c-name "gtk_page_setup_new_from_file")
+ (return-type "GtkPageSetup*")
+ (parameters
+ '("const-gchar*" "file_name")
+ '("GError**" "error")
+ )
+)
+
+(define-method to_file
+ (of-object "GtkPageSetup")
+ (c-name "gtk_page_setup_to_file")
+ (return-type "gboolean")
+ (parameters
+ '("const-char*" "file_name")
+ '("GError**" "error")
+ )
+)
+
+(define-function gtk_page_setup_new_from_key_file
+ (c-name "gtk_page_setup_new_from_key_file")
+ (return-type "GtkPageSetup*")
+ (parameters
+ '("GKeyFile*" "key_file")
+ '("const-gchar*" "group_name")
+ '("GError**" "error")
+ )
+)
+
+(define-method to_key_file
+ (of-object "GtkPageSetup")
+ (c-name "gtk_page_setup_to_key_file")
+ (return-type "none")
+ (parameters
+ '("GKeyFile*" "key_file")
+ '("const-gchar*" "group_name")
+ )
+)
+
+
+
+;; From gtkpagesetupunixdialog.h
+
+(define-function gtk_page_setup_unix_dialog_get_type
+ (c-name "gtk_page_setup_unix_dialog_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_page_setup_unix_dialog_new
+ (c-name "gtk_page_setup_unix_dialog_new")
+ (is-constructor-of "GtkPageSetupUnixDialog")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "title")
+ '("GtkWindow*" "parent")
+ )
+)
+
+(define-method set_page_setup
+ (of-object "GtkPageSetupUnixDialog")
+ (c-name "gtk_page_setup_unix_dialog_set_page_setup")
+ (return-type "none")
+ (parameters
+ '("GtkPageSetup*" "page_setup")
+ )
+)
+
+(define-method get_page_setup
+ (of-object "GtkPageSetupUnixDialog")
+ (c-name "gtk_page_setup_unix_dialog_get_page_setup")
+ (return-type "GtkPageSetup*")
+)
+
+(define-method set_print_settings
+ (of-object "GtkPageSetupUnixDialog")
+ (c-name "gtk_page_setup_unix_dialog_set_print_settings")
+ (return-type "none")
+ (parameters
+ '("GtkPrintSettings*" "print_settings")
+ )
+)
+
+(define-method get_print_settings
+ (of-object "GtkPageSetupUnixDialog")
+ (c-name "gtk_page_setup_unix_dialog_get_print_settings")
+ (return-type "GtkPrintSettings*")
+)
+
+
+
+;; From gtkpaned.h
+
+(define-function gtk_paned_get_type
+ (c-name "gtk_paned_get_type")
+ (return-type "GType")
+)
+
+(define-method add1
+ (of-object "GtkPaned")
+ (c-name "gtk_paned_add1")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ )
+)
+
+(define-method add2
+ (of-object "GtkPaned")
+ (c-name "gtk_paned_add2")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ )
+)
+
+(define-method pack1
+ (of-object "GtkPaned")
+ (c-name "gtk_paned_pack1")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("gboolean" "resize")
+ '("gboolean" "shrink")
+ )
+)
+
+(define-method pack2
+ (of-object "GtkPaned")
+ (c-name "gtk_paned_pack2")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("gboolean" "resize")
+ '("gboolean" "shrink")
+ )
+)
+
+(define-method get_position
+ (of-object "GtkPaned")
+ (c-name "gtk_paned_get_position")
+ (return-type "gint")
+)
+
+(define-method set_position
+ (of-object "GtkPaned")
+ (c-name "gtk_paned_set_position")
+ (return-type "none")
+ (parameters
+ '("gint" "position")
+ )
+)
+
+(define-method get_child1
+ (of-object "GtkPaned")
+ (c-name "gtk_paned_get_child1")
+ (return-type "GtkWidget*")
+)
+
+(define-method get_child2
+ (of-object "GtkPaned")
+ (c-name "gtk_paned_get_child2")
+ (return-type "GtkWidget*")
+)
+
+(define-method compute_position
+ (of-object "GtkPaned")
+ (c-name "gtk_paned_compute_position")
+ (return-type "none")
+ (parameters
+ '("gint" "allocation")
+ '("gint" "child1_req")
+ '("gint" "child2_req")
+ )
+)
+
+
+
+;; From gtkpapersize.h
+
+(define-function gtk_paper_size_get_type
+ (c-name "gtk_paper_size_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_paper_size_new
+ (c-name "gtk_paper_size_new")
+ (is-constructor-of "GtkPaperSize")
+ (return-type "GtkPaperSize*")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-function gtk_paper_size_new_from_ppd
+ (c-name "gtk_paper_size_new_from_ppd")
+ (return-type "GtkPaperSize*")
+ (parameters
+ '("const-gchar*" "ppd_name")
+ '("const-gchar*" "ppd_display_name")
+ '("gdouble" "width")
+ '("gdouble" "height")
+ )
+)
+
+(define-function gtk_paper_size_new_custom
+ (c-name "gtk_paper_size_new_custom")
+ (return-type "GtkPaperSize*")
+ (parameters
+ '("const-gchar*" "name")
+ '("const-gchar*" "display_name")
+ '("gdouble" "width")
+ '("gdouble" "height")
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method copy
+ (of-object "GtkPaperSize")
+ (c-name "gtk_paper_size_copy")
+ (return-type "GtkPaperSize*")
+)
+
+(define-method free
+ (of-object "GtkPaperSize")
+ (c-name "gtk_paper_size_free")
+ (return-type "none")
+)
+
+(define-method is_equal
+ (of-object "GtkPaperSize")
+ (c-name "gtk_paper_size_is_equal")
+ (return-type "gboolean")
+ (parameters
+ '("GtkPaperSize*" "size2")
+ )
+)
+
+(define-function gtk_paper_size_get_paper_sizes
+ (c-name "gtk_paper_size_get_paper_sizes")
+ (return-type "GList*")
+ (parameters
+ '("gboolean" "include_custom")
+ )
+)
+
+(define-method get_name
+ (of-object "GtkPaperSize")
+ (c-name "gtk_paper_size_get_name")
+ (return-type "const-gchar*")
+)
+
+(define-method get_display_name
+ (of-object "GtkPaperSize")
+ (c-name "gtk_paper_size_get_display_name")
+ (return-type "const-gchar*")
+)
+
+(define-method get_ppd_name
+ (of-object "GtkPaperSize")
+ (c-name "gtk_paper_size_get_ppd_name")
+ (return-type "const-gchar*")
+)
+
+(define-method get_width
+ (of-object "GtkPaperSize")
+ (c-name "gtk_paper_size_get_width")
+ (return-type "gdouble")
+ (parameters
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method get_height
+ (of-object "GtkPaperSize")
+ (c-name "gtk_paper_size_get_height")
+ (return-type "gdouble")
+ (parameters
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method is_custom
+ (of-object "GtkPaperSize")
+ (c-name "gtk_paper_size_is_custom")
+ (return-type "gboolean")
+)
+
+(define-method set_size
+ (of-object "GtkPaperSize")
+ (c-name "gtk_paper_size_set_size")
+ (return-type "none")
+ (parameters
+ '("gdouble" "width")
+ '("gdouble" "height")
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method get_default_top_margin
+ (of-object "GtkPaperSize")
+ (c-name "gtk_paper_size_get_default_top_margin")
+ (return-type "gdouble")
+ (parameters
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method get_default_bottom_margin
+ (of-object "GtkPaperSize")
+ (c-name "gtk_paper_size_get_default_bottom_margin")
+ (return-type "gdouble")
+ (parameters
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method get_default_left_margin
+ (of-object "GtkPaperSize")
+ (c-name "gtk_paper_size_get_default_left_margin")
+ (return-type "gdouble")
+ (parameters
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method get_default_right_margin
+ (of-object "GtkPaperSize")
+ (c-name "gtk_paper_size_get_default_right_margin")
+ (return-type "gdouble")
+ (parameters
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-function gtk_paper_size_get_default
+ (c-name "gtk_paper_size_get_default")
+ (return-type "const-gchar*")
+)
+
+(define-function gtk_paper_size_new_from_key_file
+ (c-name "gtk_paper_size_new_from_key_file")
+ (return-type "GtkPaperSize*")
+ (parameters
+ '("GKeyFile*" "key_file")
+ '("const-gchar*" "group_name")
+ '("GError**" "error")
+ )
+)
+
+(define-method to_key_file
+ (of-object "GtkPaperSize")
+ (c-name "gtk_paper_size_to_key_file")
+ (return-type "none")
+ (parameters
+ '("GKeyFile*" "key_file")
+ '("const-gchar*" "group_name")
+ )
+)
+
+
+
+;; From gtkpathbar.h
+
+(define-function gtk_path_bar_get_type
+ (c-name "gtk_path_bar_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From gtkpixmap.h
+
+(define-function gtk_pixmap_get_type
+ (c-name "gtk_pixmap_get_type")
+ (return-type "GtkType")
+)
+
+(define-function gtk_pixmap_new
+ (c-name "gtk_pixmap_new")
+ (is-constructor-of "GtkPixmap")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GdkPixmap*" "pixmap")
+ '("GdkBitmap*" "mask")
+ )
+)
+
+(define-method set
+ (of-object "GtkPixmap")
+ (c-name "gtk_pixmap_set")
+ (return-type "none")
+ (parameters
+ '("GdkPixmap*" "val")
+ '("GdkBitmap*" "mask")
+ )
+)
+
+(define-method get
+ (of-object "GtkPixmap")
+ (c-name "gtk_pixmap_get")
+ (return-type "none")
+ (parameters
+ '("GdkPixmap**" "val")
+ '("GdkBitmap**" "mask")
+ )
+)
+
+(define-method set_build_insensitive
+ (of-object "GtkPixmap")
+ (c-name "gtk_pixmap_set_build_insensitive")
+ (return-type "none")
+ (parameters
+ '("gboolean" "build")
+ )
+)
+
+
+
+;; From gtkplug.h
+
+(define-function gtk_plug_get_type
+ (c-name "gtk_plug_get_type")
+ (return-type "GType")
+)
+
+(define-method construct
+ (of-object "GtkPlug")
+ (c-name "gtk_plug_construct")
+ (return-type "none")
+ (parameters
+ '("GdkNativeWindow" "socket_id")
+ )
+)
+
+(define-function gtk_plug_new
+ (c-name "gtk_plug_new")
+ (is-constructor-of "GtkPlug")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GdkNativeWindow" "socket_id")
+ )
+)
+
+(define-method construct_for_display
+ (of-object "GtkPlug")
+ (c-name "gtk_plug_construct_for_display")
+ (return-type "none")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("GdkNativeWindow" "socket_id")
+ )
+)
+
+(define-function gtk_plug_new_for_display
+ (c-name "gtk_plug_new_for_display")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("GdkNativeWindow" "socket_id")
+ )
+)
+
+(define-method get_id
+ (of-object "GtkPlug")
+ (c-name "gtk_plug_get_id")
+ (return-type "GdkNativeWindow")
+)
+
+
+
+;; From gtkplugprivate.h
+
+
+
+;; From gtkpreview.h
+
+(define-function gtk_preview_get_type
+ (c-name "gtk_preview_get_type")
+ (return-type "GtkType")
+)
+
+(define-function gtk_preview_uninit
+ (c-name "gtk_preview_uninit")
+ (return-type "none")
+)
+
+(define-function gtk_preview_new
+ (c-name "gtk_preview_new")
+ (is-constructor-of "GtkPreview")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkPreviewType" "type")
+ )
+)
+
+(define-method size
+ (of-object "GtkPreview")
+ (c-name "gtk_preview_size")
+ (return-type "none")
+ (parameters
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-method put
+ (of-object "GtkPreview")
+ (c-name "gtk_preview_put")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GdkGC*" "gc")
+ '("gint" "srcx")
+ '("gint" "srcy")
+ '("gint" "destx")
+ '("gint" "desty")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-method draw_row
+ (of-object "GtkPreview")
+ (c-name "gtk_preview_draw_row")
+ (return-type "none")
+ (parameters
+ '("guchar*" "data")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "w")
+ )
+)
+
+(define-method set_expand
+ (of-object "GtkPreview")
+ (c-name "gtk_preview_set_expand")
+ (return-type "none")
+ (parameters
+ '("gboolean" "expand")
+ )
+)
+
+(define-function gtk_preview_set_gamma
+ (c-name "gtk_preview_set_gamma")
+ (return-type "none")
+ (parameters
+ '("double" "gamma_")
+ )
+)
+
+(define-function gtk_preview_set_color_cube
+ (c-name "gtk_preview_set_color_cube")
+ (return-type "none")
+ (parameters
+ '("guint" "nred_shades")
+ '("guint" "ngreen_shades")
+ '("guint" "nblue_shades")
+ '("guint" "ngray_shades")
+ )
+)
+
+(define-function gtk_preview_set_install_cmap
+ (c-name "gtk_preview_set_install_cmap")
+ (return-type "none")
+ (parameters
+ '("gint" "install_cmap")
+ )
+)
+
+(define-function gtk_preview_set_reserved
+ (c-name "gtk_preview_set_reserved")
+ (return-type "none")
+ (parameters
+ '("gint" "nreserved")
+ )
+)
+
+(define-method set_dither
+ (of-object "GtkPreview")
+ (c-name "gtk_preview_set_dither")
+ (return-type "none")
+ (parameters
+ '("GdkRgbDither" "dither")
+ )
+)
+
+(define-function gtk_preview_get_visual
+ (c-name "gtk_preview_get_visual")
+ (return-type "GdkVisual*")
+)
+
+(define-function gtk_preview_get_cmap
+ (c-name "gtk_preview_get_cmap")
+ (return-type "GdkColormap*")
+)
+
+(define-function gtk_preview_get_info
+ (c-name "gtk_preview_get_info")
+ (return-type "GtkPreviewInfo*")
+)
+
+(define-function gtk_preview_reset
+ (c-name "gtk_preview_reset")
+ (return-type "none")
+)
+
+
+
+;; From gtkprintbackend.h
+
+(define-function gtk_print_backend_error_quark
+ (c-name "gtk_print_backend_error_quark")
+ (return-type "GQuark")
+)
+
+(define-function gtk_print_backend_get_type
+ (c-name "gtk_print_backend_get_type")
+ (return-type "GType")
+)
+
+(define-method get_printer_list
+ (of-object "GtkPrintBackend")
+ (c-name "gtk_print_backend_get_printer_list")
+ (return-type "GList*")
+)
+
+(define-method printer_list_is_done
+ (of-object "GtkPrintBackend")
+ (c-name "gtk_print_backend_printer_list_is_done")
+ (return-type "gboolean")
+)
+
+(define-method find_printer
+ (of-object "GtkPrintBackend")
+ (c-name "gtk_print_backend_find_printer")
+ (return-type "GtkPrinter*")
+ (parameters
+ '("const-gchar*" "printer_name")
+ )
+)
+
+(define-method print_stream
+ (of-object "GtkPrintBackend")
+ (c-name "gtk_print_backend_print_stream")
+ (return-type "none")
+ (parameters
+ '("GtkPrintJob*" "job")
+ '("GIOChannel*" "data_io")
+ '("GtkPrintJobCompleteFunc" "callback")
+ '("gpointer" "user_data")
+ '("GDestroyNotify" "dnotify")
+ )
+)
+
+(define-function gtk_print_backend_load_modules
+ (c-name "gtk_print_backend_load_modules")
+ (return-type "GList*")
+)
+
+(define-method destroy
+ (of-object "GtkPrintBackend")
+ (c-name "gtk_print_backend_destroy")
+ (return-type "none")
+)
+
+(define-method add_printer
+ (of-object "GtkPrintBackend")
+ (c-name "gtk_print_backend_add_printer")
+ (return-type "none")
+ (parameters
+ '("GtkPrinter*" "printer")
+ )
+)
+
+(define-method remove_printer
+ (of-object "GtkPrintBackend")
+ (c-name "gtk_print_backend_remove_printer")
+ (return-type "none")
+ (parameters
+ '("GtkPrinter*" "printer")
+ )
+)
+
+(define-method set_list_done
+ (of-object "GtkPrintBackend")
+ (c-name "gtk_print_backend_set_list_done")
+ (return-type "none")
+)
+
+(define-function gtk_printer_new
+ (c-name "gtk_printer_new")
+ (is-constructor-of "GtkPrinter")
+ (return-type "GtkPrinter*")
+ (parameters
+ '("const-char*" "name")
+ '("GtkPrintBackend*" "backend")
+ '("gboolean" "is_virtual")
+ )
+)
+
+(define-method is_new
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_is_new")
+ (return-type "gboolean")
+)
+
+(define-method set_is_new
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_set_is_new")
+ (return-type "none")
+ (parameters
+ '("gboolean" "val")
+ )
+)
+
+(define-method set_is_active
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_set_is_active")
+ (return-type "none")
+ (parameters
+ '("gboolean" "val")
+ )
+)
+
+(define-method set_has_details
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_set_has_details")
+ (return-type "none")
+ (parameters
+ '("gboolean" "val")
+ )
+)
+
+(define-method set_is_default
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_set_is_default")
+ (return-type "none")
+ (parameters
+ '("gboolean" "val")
+ )
+)
+
+(define-method set_icon_name
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_set_icon_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "icon")
+ )
+)
+
+(define-method set_job_count
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_set_job_count")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "count")
+ )
+)
+
+(define-method set_location
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_set_location")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "location")
+ )
+)
+
+(define-method set_description
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_set_description")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "description")
+ )
+)
+
+(define-method set_state_message
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_set_state_message")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "message")
+ )
+)
+
+(define-method set_is_active
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_set_is_active")
+ (return-type "none")
+ (parameters
+ '("gboolean" "active")
+ )
+)
+
+
+
+;; From gtkprintcontext.h
+
+(define-function gtk_print_context_get_type
+ (c-name "gtk_print_context_get_type")
+ (return-type "GType")
+)
+
+(define-method get_cairo_context
+ (of-object "GtkPrintContext")
+ (c-name "gtk_print_context_get_cairo_context")
+ (return-type "cairo_t*")
+)
+
+(define-method get_page_setup
+ (of-object "GtkPrintContext")
+ (c-name "gtk_print_context_get_page_setup")
+ (return-type "GtkPageSetup*")
+)
+
+(define-method get_width
+ (of-object "GtkPrintContext")
+ (c-name "gtk_print_context_get_width")
+ (return-type "gdouble")
+)
+
+(define-method get_height
+ (of-object "GtkPrintContext")
+ (c-name "gtk_print_context_get_height")
+ (return-type "gdouble")
+)
+
+(define-method get_dpi_x
+ (of-object "GtkPrintContext")
+ (c-name "gtk_print_context_get_dpi_x")
+ (return-type "gdouble")
+)
+
+(define-method get_dpi_y
+ (of-object "GtkPrintContext")
+ (c-name "gtk_print_context_get_dpi_y")
+ (return-type "gdouble")
+)
+
+(define-method get_pango_fontmap
+ (of-object "GtkPrintContext")
+ (c-name "gtk_print_context_get_pango_fontmap")
+ (return-type "PangoFontMap*")
+)
+
+(define-method create_pango_context
+ (of-object "GtkPrintContext")
+ (c-name "gtk_print_context_create_pango_context")
+ (return-type "PangoContext*")
+)
+
+(define-method create_pango_layout
+ (of-object "GtkPrintContext")
+ (c-name "gtk_print_context_create_pango_layout")
+ (return-type "PangoLayout*")
+)
+
+(define-method set_cairo_context
+ (of-object "GtkPrintContext")
+ (c-name "gtk_print_context_set_cairo_context")
+ (return-type "none")
+ (parameters
+ '("cairo_t*" "cr")
+ '("double" "dpi_x")
+ '("double" "dpi_y")
+ )
+)
+
+
+
+;; From gtkprinter.h
+
+(define-function gtk_print_capabilities_get_type
+ (c-name "gtk_print_capabilities_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_printer_get_type
+ (c-name "gtk_printer_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_printer_new
+ (c-name "gtk_printer_new")
+ (is-constructor-of "GtkPrinter")
+ (return-type "GtkPrinter*")
+ (parameters
+ '("const-gchar*" "name")
+ '("GtkPrintBackend*" "backend")
+ '("gboolean" "virtual_")
+ )
+)
+
+(define-method get_backend
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_get_backend")
+ (return-type "GtkPrintBackend*")
+)
+
+(define-method get_name
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_get_name")
+ (return-type "const-gchar*")
+)
+
+(define-method get_state_message
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_get_state_message")
+ (return-type "const-gchar*")
+)
+
+(define-method get_description
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_get_description")
+ (return-type "const-gchar*")
+)
+
+(define-method get_location
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_get_location")
+ (return-type "const-gchar*")
+)
+
+(define-method get_icon_name
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_get_icon_name")
+ (return-type "const-gchar*")
+)
+
+(define-method get_job_count
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_get_job_count")
+ (return-type "gint")
+)
+
+(define-method is_active
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_is_active")
+ (return-type "gboolean")
+)
+
+(define-method is_virtual
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_is_virtual")
+ (return-type "gboolean")
+)
+
+(define-method is_default
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_is_default")
+ (return-type "gboolean")
+)
+
+(define-method accepts_pdf
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_accepts_pdf")
+ (return-type "gboolean")
+)
+
+(define-method accepts_ps
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_accepts_ps")
+ (return-type "gboolean")
+)
+
+(define-method list_papers
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_list_papers")
+ (return-type "GList*")
+)
+
+(define-method compare
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_compare")
+ (return-type "gint")
+ (parameters
+ '("GtkPrinter*" "b")
+ )
+)
+
+(define-method has_details
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_has_details")
+ (return-type "gboolean")
+)
+
+(define-method request_details
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_request_details")
+ (return-type "none")
+)
+
+(define-method get_capabilities
+ (of-object "GtkPrinter")
+ (c-name "gtk_printer_get_capabilities")
+ (return-type "GtkPrintCapabilities")
+)
+
+(define-function gtk_enumerate_printers
+ (c-name "gtk_enumerate_printers")
+ (return-type "none")
+ (parameters
+ '("GtkPrinterFunc" "func")
+ '("gpointer" "data")
+ '("GDestroyNotify" "destroy")
+ '("gboolean" "wait")
+ )
+)
+
+
+
+;; From gtkprinteroption.h
+
+(define-function gtk_printer_option_get_type
+ (c-name "gtk_printer_option_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_printer_option_new
+ (c-name "gtk_printer_option_new")
+ (is-constructor-of "GtkPrinterOption")
+ (return-type "GtkPrinterOption*")
+ (parameters
+ '("const-char*" "name")
+ '("const-char*" "display_text")
+ '("GtkPrinterOptionType" "type")
+ )
+)
+
+(define-method set
+ (of-object "GtkPrinterOption")
+ (c-name "gtk_printer_option_set")
+ (return-type "none")
+ (parameters
+ '("const-char*" "value")
+ )
+)
+
+(define-method set_has_conflict
+ (of-object "GtkPrinterOption")
+ (c-name "gtk_printer_option_set_has_conflict")
+ (return-type "none")
+ (parameters
+ '("gboolean" "has_conflict")
+ )
+)
+
+(define-method clear_has_conflict
+ (of-object "GtkPrinterOption")
+ (c-name "gtk_printer_option_clear_has_conflict")
+ (return-type "none")
+)
+
+(define-method set_boolean
+ (of-object "GtkPrinterOption")
+ (c-name "gtk_printer_option_set_boolean")
+ (return-type "none")
+ (parameters
+ '("gboolean" "value")
+ )
+)
+
+(define-method allocate_choices
+ (of-object "GtkPrinterOption")
+ (c-name "gtk_printer_option_allocate_choices")
+ (return-type "none")
+ (parameters
+ '("int" "num")
+ )
+)
+
+(define-method choices_from_array
+ (of-object "GtkPrinterOption")
+ (c-name "gtk_printer_option_choices_from_array")
+ (return-type "none")
+ (parameters
+ '("int" "num_choices")
+ '("char*[]" "choices")
+ '("char*[]" "choices_display")
+ )
+)
+
+(define-method has_choice
+ (of-object "GtkPrinterOption")
+ (c-name "gtk_printer_option_has_choice")
+ (return-type "gboolean")
+ (parameters
+ '("const-char*" "choice")
+ )
+)
+
+
+
+;; From gtkprinteroptionset.h
+
+(define-function gtk_printer_option_set_get_type
+ (c-name "gtk_printer_option_set_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_printer_option_set_new
+ (c-name "gtk_printer_option_set_new")
+ (is-constructor-of "GtkPrinterOptionSet")
+ (return-type "GtkPrinterOptionSet*")
+)
+
+(define-method add
+ (of-object "GtkPrinterOptionSet")
+ (c-name "gtk_printer_option_set_add")
+ (return-type "none")
+ (parameters
+ '("GtkPrinterOption*" "option")
+ )
+)
+
+(define-method remove
+ (of-object "GtkPrinterOptionSet")
+ (c-name "gtk_printer_option_set_remove")
+ (return-type "none")
+ (parameters
+ '("GtkPrinterOption*" "option")
+ )
+)
+
+(define-method lookup
+ (of-object "GtkPrinterOptionSet")
+ (c-name "gtk_printer_option_set_lookup")
+ (return-type "GtkPrinterOption*")
+ (parameters
+ '("const-char*" "name")
+ )
+)
+
+(define-method foreach
+ (of-object "GtkPrinterOptionSet")
+ (c-name "gtk_printer_option_set_foreach")
+ (return-type "none")
+ (parameters
+ '("GtkPrinterOptionSetFunc" "func")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method clear_conflicts
+ (of-object "GtkPrinterOptionSet")
+ (c-name "gtk_printer_option_set_clear_conflicts")
+ (return-type "none")
+)
+
+(define-method get_groups
+ (of-object "GtkPrinterOptionSet")
+ (c-name "gtk_printer_option_set_get_groups")
+ (return-type "GList*")
+)
+
+(define-method foreach_in_group
+ (of-object "GtkPrinterOptionSet")
+ (c-name "gtk_printer_option_set_foreach_in_group")
+ (return-type "none")
+ (parameters
+ '("const-char*" "group")
+ '("GtkPrinterOptionSetFunc" "func")
+ '("gpointer" "user_data")
+ )
+)
+
+
+
+;; From gtkprinteroptionwidget.h
+
+(define-function gtk_printer_option_widget_get_type
+ (c-name "gtk_printer_option_widget_get_type")
+ (return-type "GType")
+)
+
+(define-method widget_new
+ (of-object "GtkPrinterOption")
+ (c-name "gtk_printer_option_widget_new")
+ (return-type "GtkWidget*")
+)
+
+(define-method set_source
+ (of-object "GtkPrinterOptionWidget")
+ (c-name "gtk_printer_option_widget_set_source")
+ (return-type "none")
+ (parameters
+ '("GtkPrinterOption*" "source")
+ )
+)
+
+(define-method has_external_label
+ (of-object "GtkPrinterOptionWidget")
+ (c-name "gtk_printer_option_widget_has_external_label")
+ (return-type "gboolean")
+)
+
+(define-method get_external_label
+ (of-object "GtkPrinterOptionWidget")
+ (c-name "gtk_printer_option_widget_get_external_label")
+ (return-type "GtkWidget*")
+)
+
+(define-method get_value
+ (of-object "GtkPrinterOptionWidget")
+ (c-name "gtk_printer_option_widget_get_value")
+ (return-type "const-gchar*")
+)
+
+
+
+;; From gtkprinter-private.h
+
+(define-method set_status
+ (of-object "GtkPrintJob")
+ (c-name "gtk_print_job_set_status")
+ (return-type "none")
+ (parameters
+ '("GtkPrintStatus" "status")
+ )
+)
+
+
+
+;; From gtkprintjob.h
+
+(define-function gtk_print_job_get_type
+ (c-name "gtk_print_job_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_print_job_new
+ (c-name "gtk_print_job_new")
+ (is-constructor-of "GtkPrintJob")
+ (return-type "GtkPrintJob*")
+ (parameters
+ '("const-gchar*" "title")
+ '("GtkPrinter*" "printer")
+ '("GtkPrintSettings*" "settings")
+ '("GtkPageSetup*" "page_setup")
+ )
+)
+
+(define-method get_settings
+ (of-object "GtkPrintJob")
+ (c-name "gtk_print_job_get_settings")
+ (return-type "GtkPrintSettings*")
+)
+
+(define-method get_printer
+ (of-object "GtkPrintJob")
+ (c-name "gtk_print_job_get_printer")
+ (return-type "GtkPrinter*")
+)
+
+(define-method get_title
+ (of-object "GtkPrintJob")
+ (c-name "gtk_print_job_get_title")
+ (return-type "const-gchar*")
+)
+
+(define-method get_status
+ (of-object "GtkPrintJob")
+ (c-name "gtk_print_job_get_status")
+ (return-type "GtkPrintStatus")
+)
+
+(define-method set_source_file
+ (of-object "GtkPrintJob")
+ (c-name "gtk_print_job_set_source_file")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "filename")
+ '("GError**" "error")
+ )
+)
+
+(define-method get_surface
+ (of-object "GtkPrintJob")
+ (c-name "gtk_print_job_get_surface")
+ (return-type "cairo_surface_t*")
+ (parameters
+ '("GError**" "error")
+ )
+)
+
+(define-method set_track_print_status
+ (of-object "GtkPrintJob")
+ (c-name "gtk_print_job_set_track_print_status")
+ (return-type "none")
+ (parameters
+ '("gboolean" "track_status")
+ )
+)
+
+(define-method get_track_print_status
+ (of-object "GtkPrintJob")
+ (c-name "gtk_print_job_get_track_print_status")
+ (return-type "gboolean")
+)
+
+(define-method send
+ (of-object "GtkPrintJob")
+ (c-name "gtk_print_job_send")
+ (return-type "none")
+ (parameters
+ '("GtkPrintJobCompleteFunc" "callback")
+ '("gpointer" "user_data")
+ '("GDestroyNotify" "dnotify")
+ )
+)
+
+
+
+;; From gtkprintoperation.h
+
+(define-function gtk_print_error_quark
+ (c-name "gtk_print_error_quark")
+ (return-type "GQuark")
+)
+
+(define-function gtk_print_operation_get_type
+ (c-name "gtk_print_operation_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_print_operation_new
+ (c-name "gtk_print_operation_new")
+ (is-constructor-of "GtkPrintOperation")
+ (return-type "GtkPrintOperation*")
+)
+
+(define-method set_default_page_setup
+ (of-object "GtkPrintOperation")
+ (c-name "gtk_print_operation_set_default_page_setup")
+ (return-type "none")
+ (parameters
+ '("GtkPageSetup*" "default_page_setup")
+ )
+)
+
+(define-method get_default_page_setup
+ (of-object "GtkPrintOperation")
+ (c-name "gtk_print_operation_get_default_page_setup")
+ (return-type "GtkPageSetup*")
+)
+
+(define-method set_print_settings
+ (of-object "GtkPrintOperation")
+ (c-name "gtk_print_operation_set_print_settings")
+ (return-type "none")
+ (parameters
+ '("GtkPrintSettings*" "print_settings")
+ )
+)
+
+(define-method get_print_settings
+ (of-object "GtkPrintOperation")
+ (c-name "gtk_print_operation_get_print_settings")
+ (return-type "GtkPrintSettings*")
+)
+
+(define-method set_job_name
+ (of-object "GtkPrintOperation")
+ (c-name "gtk_print_operation_set_job_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "job_name")
+ )
+)
+
+(define-method set_n_pages
+ (of-object "GtkPrintOperation")
+ (c-name "gtk_print_operation_set_n_pages")
+ (return-type "none")
+ (parameters
+ '("gint" "n_pages")
+ )
+)
+
+(define-method set_current_page
+ (of-object "GtkPrintOperation")
+ (c-name "gtk_print_operation_set_current_page")
+ (return-type "none")
+ (parameters
+ '("gint" "current_page")
+ )
+)
+
+(define-method set_use_full_page
+ (of-object "GtkPrintOperation")
+ (c-name "gtk_print_operation_set_use_full_page")
+ (return-type "none")
+ (parameters
+ '("gboolean" "full_page")
+ )
+)
+
+(define-method set_unit
+ (of-object "GtkPrintOperation")
+ (c-name "gtk_print_operation_set_unit")
+ (return-type "none")
+ (parameters
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method set_export_filename
+ (of-object "GtkPrintOperation")
+ (c-name "gtk_print_operation_set_export_filename")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "filename")
+ )
+)
+
+(define-method set_track_print_status
+ (of-object "GtkPrintOperation")
+ (c-name "gtk_print_operation_set_track_print_status")
+ (return-type "none")
+ (parameters
+ '("gboolean" "track_status")
+ )
+)
+
+(define-method set_show_progress
+ (of-object "GtkPrintOperation")
+ (c-name "gtk_print_operation_set_show_progress")
+ (return-type "none")
+ (parameters
+ '("gboolean" "show_progress")
+ )
+)
+
+(define-method set_allow_async
+ (of-object "GtkPrintOperation")
+ (c-name "gtk_print_operation_set_allow_async")
+ (return-type "none")
+ (parameters
+ '("gboolean" "allow_async")
+ )
+)
+
+(define-method set_custom_tab_label
+ (of-object "GtkPrintOperation")
+ (c-name "gtk_print_operation_set_custom_tab_label")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-method run
+ (of-object "GtkPrintOperation")
+ (c-name "gtk_print_operation_run")
+ (return-type "GtkPrintOperationResult")
+ (parameters
+ '("GtkPrintOperationAction" "action")
+ '("GtkWindow*" "parent")
+ '("GError**" "error")
+ )
+)
+
+(define-method get_error
+ (of-object "GtkPrintOperation")
+ (c-name "gtk_print_operation_get_error")
+ (return-type "none")
+ (parameters
+ '("GError**" "error")
+ )
+)
+
+(define-method get_status
+ (of-object "GtkPrintOperation")
+ (c-name "gtk_print_operation_get_status")
+ (return-type "GtkPrintStatus")
+)
+
+(define-method get_status_string
+ (of-object "GtkPrintOperation")
+ (c-name "gtk_print_operation_get_status_string")
+ (return-type "const-gchar*")
+)
+
+(define-method is_finished
+ (of-object "GtkPrintOperation")
+ (c-name "gtk_print_operation_is_finished")
+ (return-type "gboolean")
+)
+
+(define-method cancel
+ (of-object "GtkPrintOperation")
+ (c-name "gtk_print_operation_cancel")
+ (return-type "none")
+)
+
+(define-function gtk_print_run_page_setup_dialog
+ (c-name "gtk_print_run_page_setup_dialog")
+ (return-type "GtkPageSetup*")
+ (parameters
+ '("GtkWindow*" "parent")
+ '("GtkPageSetup*" "page_setup")
+ '("GtkPrintSettings*" "settings")
+ )
+)
+
+(define-function gtk_print_run_page_setup_dialog_async
+ (c-name "gtk_print_run_page_setup_dialog_async")
+ (return-type "none")
+ (parameters
+ '("GtkWindow*" "parent")
+ '("GtkPageSetup*" "page_setup")
+ '("GtkPrintSettings*" "settings")
+ '("GtkPageSetupDoneFunc" "done_cb")
+ '("gpointer" "data")
+ )
+)
+
+
+
+;; From gtkprintoperationpreview.h
+
+(define-function gtk_print_operation_preview_get_type
+ (c-name "gtk_print_operation_preview_get_type")
+ (return-type "GType")
+)
+
+(define-method render_page
+ (of-object "GtkPrintOperationPreview")
+ (c-name "gtk_print_operation_preview_render_page")
+ (return-type "none")
+ (parameters
+ '("gint" "page_nr")
+ )
+)
+
+(define-method end_preview
+ (of-object "GtkPrintOperationPreview")
+ (c-name "gtk_print_operation_preview_end_preview")
+ (return-type "none")
+)
+
+(define-method is_selected
+ (of-object "GtkPrintOperationPreview")
+ (c-name "gtk_print_operation_preview_is_selected")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "page_nr")
+ )
+)
+
+
+
+;; From gtkprintoperation-private.h
+
+
+
+;; From gtkprintsettings.h
+
+(define-function gtk_print_settings_get_type
+ (c-name "gtk_print_settings_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_print_settings_new
+ (c-name "gtk_print_settings_new")
+ (is-constructor-of "GtkPrintSettings")
+ (return-type "GtkPrintSettings*")
+)
+
+(define-method copy
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_copy")
+ (return-type "GtkPrintSettings*")
+)
+
+(define-function gtk_print_settings_new_from_file
+ (c-name "gtk_print_settings_new_from_file")
+ (return-type "GtkPrintSettings*")
+ (parameters
+ '("const-gchar*" "file_name")
+ '("GError**" "error")
+ )
+)
+
+(define-method to_file
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_to_file")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "file_name")
+ '("GError**" "error")
+ )
+)
+
+(define-function gtk_print_settings_new_from_key_file
+ (c-name "gtk_print_settings_new_from_key_file")
+ (return-type "GtkPrintSettings*")
+ (parameters
+ '("GKeyFile*" "key_file")
+ '("const-gchar*" "group_name")
+ '("GError**" "error")
+ )
+)
+
+(define-method to_key_file
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_to_key_file")
+ (return-type "none")
+ (parameters
+ '("GKeyFile*" "key_file")
+ '("const-gchar*" "group_name")
+ )
+)
+
+(define-method has_key
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_has_key")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "key")
+ )
+)
+
+(define-method get
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get")
+ (return-type "const-gchar*")
+ (parameters
+ '("const-gchar*" "key")
+ )
+)
+
+(define-method set
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "key")
+ '("const-gchar*" "value")
+ )
+)
+
+(define-method unset
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_unset")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "key")
+ )
+)
+
+(define-method foreach
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_foreach")
+ (return-type "none")
+ (parameters
+ '("GtkPrintSettingsFunc" "func")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method get_bool
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_bool")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "key")
+ )
+)
+
+(define-method set_bool
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_bool")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "key")
+ '("gboolean" "value")
+ )
+)
+
+(define-method get_double
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_double")
+ (return-type "gdouble")
+ (parameters
+ '("const-gchar*" "key")
+ )
+)
+
+(define-method get_double_with_default
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_double_with_default")
+ (return-type "gdouble")
+ (parameters
+ '("const-gchar*" "key")
+ '("gdouble" "def")
+ )
+)
+
+(define-method set_double
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_double")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "key")
+ '("gdouble" "value")
+ )
+)
+
+(define-method get_length
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_length")
+ (return-type "gdouble")
+ (parameters
+ '("const-gchar*" "key")
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method set_length
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_length")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "key")
+ '("gdouble" "value")
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method get_int
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_int")
+ (return-type "gint")
+ (parameters
+ '("const-gchar*" "key")
+ )
+)
+
+(define-method get_int_with_default
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_int_with_default")
+ (return-type "gint")
+ (parameters
+ '("const-gchar*" "key")
+ '("gint" "def")
+ )
+)
+
+(define-method set_int
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_int")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "key")
+ '("gint" "value")
+ )
+)
+
+(define-method get_printer
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_printer")
+ (return-type "const-gchar*")
+)
+
+(define-method set_printer
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_printer")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "printer")
+ )
+)
+
+(define-method get_orientation
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_orientation")
+ (return-type "GtkPageOrientation")
+)
+
+(define-method set_orientation
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_orientation")
+ (return-type "none")
+ (parameters
+ '("GtkPageOrientation" "orientation")
+ )
+)
+
+(define-method get_paper_size
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_paper_size")
+ (return-type "GtkPaperSize*")
+)
+
+(define-method set_paper_size
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_paper_size")
+ (return-type "none")
+ (parameters
+ '("GtkPaperSize*" "paper_size")
+ )
+)
+
+(define-method get_paper_width
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_paper_width")
+ (return-type "gdouble")
+ (parameters
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method set_paper_width
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_paper_width")
+ (return-type "none")
+ (parameters
+ '("gdouble" "width")
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method get_paper_height
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_paper_height")
+ (return-type "gdouble")
+ (parameters
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method set_paper_height
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_paper_height")
+ (return-type "none")
+ (parameters
+ '("gdouble" "height")
+ '("GtkUnit" "unit")
+ )
+)
+
+(define-method get_use_color
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_use_color")
+ (return-type "gboolean")
+)
+
+(define-method set_use_color
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_use_color")
+ (return-type "none")
+ (parameters
+ '("gboolean" "use_color")
+ )
+)
+
+(define-method get_collate
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_collate")
+ (return-type "gboolean")
+)
+
+(define-method set_collate
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_collate")
+ (return-type "none")
+ (parameters
+ '("gboolean" "collate")
+ )
+)
+
+(define-method get_reverse
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_reverse")
+ (return-type "gboolean")
+)
+
+(define-method set_reverse
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_reverse")
+ (return-type "none")
+ (parameters
+ '("gboolean" "reverse")
+ )
+)
+
+(define-method get_duplex
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_duplex")
+ (return-type "GtkPrintDuplex")
+)
+
+(define-method set_duplex
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_duplex")
+ (return-type "none")
+ (parameters
+ '("GtkPrintDuplex" "duplex")
+ )
+)
+
+(define-method get_quality
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_quality")
+ (return-type "GtkPrintQuality")
+)
+
+(define-method set_quality
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_quality")
+ (return-type "none")
+ (parameters
+ '("GtkPrintQuality" "quality")
+ )
+)
+
+(define-method get_n_copies
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_n_copies")
+ (return-type "gint")
+)
+
+(define-method set_n_copies
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_n_copies")
+ (return-type "none")
+ (parameters
+ '("gint" "num_copies")
+ )
+)
+
+(define-method get_number_up
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_number_up")
+ (return-type "gint")
+)
+
+(define-method set_number_up
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_number_up")
+ (return-type "none")
+ (parameters
+ '("gint" "number_up")
+ )
+)
+
+(define-method get_resolution
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_resolution")
+ (return-type "gint")
+)
+
+(define-method set_resolution
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_resolution")
+ (return-type "none")
+ (parameters
+ '("gint" "resolution")
+ )
+)
+
+(define-method get_scale
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_scale")
+ (return-type "gdouble")
+)
+
+(define-method set_scale
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_scale")
+ (return-type "none")
+ (parameters
+ '("gdouble" "scale")
+ )
+)
+
+(define-method get_print_pages
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_print_pages")
+ (return-type "GtkPrintPages")
+)
+
+(define-method set_print_pages
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_print_pages")
+ (return-type "none")
+ (parameters
+ '("GtkPrintPages" "pages")
+ )
+)
+
+(define-method get_page_ranges
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_page_ranges")
+ (return-type "GtkPageRange*")
+ (parameters
+ '("gint*" "num_ranges")
+ )
+)
+
+(define-method set_page_ranges
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_page_ranges")
+ (return-type "none")
+ (parameters
+ '("GtkPageRange*" "page_ranges")
+ '("gint" "num_ranges")
+ )
+)
+
+(define-method get_page_set
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_page_set")
+ (return-type "GtkPageSet")
+)
+
+(define-method set_page_set
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_page_set")
+ (return-type "none")
+ (parameters
+ '("GtkPageSet" "page_set")
+ )
+)
+
+(define-method get_default_source
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_default_source")
+ (return-type "const-gchar*")
+)
+
+(define-method set_default_source
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_default_source")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "default_source")
+ )
+)
+
+(define-method get_media_type
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_media_type")
+ (return-type "const-gchar*")
+)
+
+(define-method set_media_type
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_media_type")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "media_type")
+ )
+)
+
+(define-method get_dither
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_dither")
+ (return-type "const-gchar*")
+)
+
+(define-method set_dither
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_dither")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "dither")
+ )
+)
+
+(define-method get_finishings
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_finishings")
+ (return-type "const-gchar*")
+)
+
+(define-method set_finishings
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_finishings")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "finishings")
+ )
+)
+
+(define-method get_output_bin
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_get_output_bin")
+ (return-type "const-gchar*")
+)
+
+(define-method set_output_bin
+ (of-object "GtkPrintSettings")
+ (c-name "gtk_print_settings_set_output_bin")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "output_bin")
+ )
+)
+
+
+
+;; From gtkprintunixdialog.h
+
+(define-function gtk_print_unix_dialog_get_type
+ (c-name "gtk_print_unix_dialog_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_print_unix_dialog_new
+ (c-name "gtk_print_unix_dialog_new")
+ (is-constructor-of "GtkPrintUnixDialog")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "title")
+ '("GtkWindow*" "parent")
+ )
+)
+
+(define-method set_page_setup
+ (of-object "GtkPrintUnixDialog")
+ (c-name "gtk_print_unix_dialog_set_page_setup")
+ (return-type "none")
+ (parameters
+ '("GtkPageSetup*" "page_setup")
+ )
+)
+
+(define-method get_page_setup
+ (of-object "GtkPrintUnixDialog")
+ (c-name "gtk_print_unix_dialog_get_page_setup")
+ (return-type "GtkPageSetup*")
+)
+
+(define-method set_current_page
+ (of-object "GtkPrintUnixDialog")
+ (c-name "gtk_print_unix_dialog_set_current_page")
+ (return-type "none")
+ (parameters
+ '("gint" "current_page")
+ )
+)
+
+(define-method get_current_page
+ (of-object "GtkPrintUnixDialog")
+ (c-name "gtk_print_unix_dialog_get_current_page")
+ (return-type "gint")
+)
+
+(define-method set_settings
+ (of-object "GtkPrintUnixDialog")
+ (c-name "gtk_print_unix_dialog_set_settings")
+ (return-type "none")
+ (parameters
+ '("GtkPrintSettings*" "settings")
+ )
+)
+
+(define-method get_settings
+ (of-object "GtkPrintUnixDialog")
+ (c-name "gtk_print_unix_dialog_get_settings")
+ (return-type "GtkPrintSettings*")
+)
+
+(define-method get_selected_printer
+ (of-object "GtkPrintUnixDialog")
+ (c-name "gtk_print_unix_dialog_get_selected_printer")
+ (return-type "GtkPrinter*")
+)
+
+(define-method add_custom_tab
+ (of-object "GtkPrintUnixDialog")
+ (c-name "gtk_print_unix_dialog_add_custom_tab")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("GtkWidget*" "tab_label")
+ )
+)
+
+(define-method set_manual_capabilities
+ (of-object "GtkPrintUnixDialog")
+ (c-name "gtk_print_unix_dialog_set_manual_capabilities")
+ (return-type "none")
+ (parameters
+ '("GtkPrintCapabilities" "capabilities")
+ )
+)
+
+
+
+;; From gtkprintutils.h
+
+
+
+;; From gtkprint-win32.h
+
+(define-method free
+ (of-object "GtkPrintWin32Devnames")
+ (c-name "gtk_print_win32_devnames_free")
+ (return-type "none")
+)
+
+(define-function gtk_print_win32_devnames_from_win32
+ (c-name "gtk_print_win32_devnames_from_win32")
+ (return-type "GtkPrintWin32Devnames*")
+ (parameters
+ '("HGLOBAL" "global")
+ )
+)
+
+(define-method to_win32
+ (of-object "GtkPrintWin32Devnames")
+ (c-name "gtk_print_win32_devnames_to_win32")
+ (return-type "HGLOBAL")
+)
+
+(define-function gtk_print_win32_devnames_from_printer_name
+ (c-name "gtk_print_win32_devnames_from_printer_name")
+ (return-type "HGLOBAL")
+ (parameters
+ '("const-char*" "printer")
+ )
+)
+
+
+
+;; From gtkprivate.h
+
+
+
+;; From gtkprogressbar.h
+
+(define-function gtk_progress_bar_get_type
+ (c-name "gtk_progress_bar_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_progress_bar_new
+ (c-name "gtk_progress_bar_new")
+ (is-constructor-of "GtkProgressBar")
+ (return-type "GtkWidget*")
+)
+
+(define-method pulse
+ (of-object "GtkProgressBar")
+ (c-name "gtk_progress_bar_pulse")
+ (return-type "none")
+)
+
+(define-method set_text
+ (of-object "GtkProgressBar")
+ (c-name "gtk_progress_bar_set_text")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "text")
+ )
+)
+
+(define-method set_fraction
+ (of-object "GtkProgressBar")
+ (c-name "gtk_progress_bar_set_fraction")
+ (return-type "none")
+ (parameters
+ '("gdouble" "fraction")
+ )
+)
+
+(define-method set_pulse_step
+ (of-object "GtkProgressBar")
+ (c-name "gtk_progress_bar_set_pulse_step")
+ (return-type "none")
+ (parameters
+ '("gdouble" "fraction")
+ )
+)
+
+(define-method set_orientation
+ (of-object "GtkProgressBar")
+ (c-name "gtk_progress_bar_set_orientation")
+ (return-type "none")
+ (parameters
+ '("GtkProgressBarOrientation" "orientation")
+ )
+)
+
+(define-method get_text
+ (of-object "GtkProgressBar")
+ (c-name "gtk_progress_bar_get_text")
+ (return-type "const-gchar*")
+)
+
+(define-method get_fraction
+ (of-object "GtkProgressBar")
+ (c-name "gtk_progress_bar_get_fraction")
+ (return-type "gdouble")
+)
+
+(define-method get_pulse_step
+ (of-object "GtkProgressBar")
+ (c-name "gtk_progress_bar_get_pulse_step")
+ (return-type "gdouble")
+)
+
+(define-method get_orientation
+ (of-object "GtkProgressBar")
+ (c-name "gtk_progress_bar_get_orientation")
+ (return-type "GtkProgressBarOrientation")
+)
+
+(define-method set_ellipsize
+ (of-object "GtkProgressBar")
+ (c-name "gtk_progress_bar_set_ellipsize")
+ (return-type "none")
+ (parameters
+ '("PangoEllipsizeMode" "mode")
+ )
+)
+
+(define-method get_ellipsize
+ (of-object "GtkProgressBar")
+ (c-name "gtk_progress_bar_get_ellipsize")
+ (return-type "PangoEllipsizeMode")
+)
+
+(define-function gtk_progress_bar_new_with_adjustment
+ (c-name "gtk_progress_bar_new_with_adjustment")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkAdjustment*" "adjustment")
+ )
+)
+
+(define-method set_bar_style
+ (of-object "GtkProgressBar")
+ (c-name "gtk_progress_bar_set_bar_style")
+ (return-type "none")
+ (parameters
+ '("GtkProgressBarStyle" "style")
+ )
+)
+
+(define-method set_discrete_blocks
+ (of-object "GtkProgressBar")
+ (c-name "gtk_progress_bar_set_discrete_blocks")
+ (return-type "none")
+ (parameters
+ '("guint" "blocks")
+ )
+)
+
+(define-method set_activity_step
+ (of-object "GtkProgressBar")
+ (c-name "gtk_progress_bar_set_activity_step")
+ (return-type "none")
+ (parameters
+ '("guint" "step")
+ )
+)
+
+(define-method set_activity_blocks
+ (of-object "GtkProgressBar")
+ (c-name "gtk_progress_bar_set_activity_blocks")
+ (return-type "none")
+ (parameters
+ '("guint" "blocks")
+ )
+)
+
+(define-method update
+ (of-object "GtkProgressBar")
+ (c-name "gtk_progress_bar_update")
+ (return-type "none")
+ (parameters
+ '("gdouble" "percentage")
+ )
+)
+
+
+
+;; From gtkprogress.h
+
+(define-function gtk_progress_get_type
+ (c-name "gtk_progress_get_type")
+ (return-type "GType")
+)
+
+(define-method set_show_text
+ (of-object "GtkProgress")
+ (c-name "gtk_progress_set_show_text")
+ (return-type "none")
+ (parameters
+ '("gboolean" "show_text")
+ )
+)
+
+(define-method set_text_alignment
+ (of-object "GtkProgress")
+ (c-name "gtk_progress_set_text_alignment")
+ (return-type "none")
+ (parameters
+ '("gfloat" "x_align")
+ '("gfloat" "y_align")
+ )
+)
+
+(define-method set_format_string
+ (of-object "GtkProgress")
+ (c-name "gtk_progress_set_format_string")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "format")
+ )
+)
+
+(define-method set_adjustment
+ (of-object "GtkProgress")
+ (c-name "gtk_progress_set_adjustment")
+ (return-type "none")
+ (parameters
+ '("GtkAdjustment*" "adjustment")
+ )
+)
+
+(define-method configure
+ (of-object "GtkProgress")
+ (c-name "gtk_progress_configure")
+ (return-type "none")
+ (parameters
+ '("gdouble" "value")
+ '("gdouble" "hmin")
+ '("gdouble" "max")
+ )
+)
+
+(define-method set_percentage
+ (of-object "GtkProgress")
+ (c-name "gtk_progress_set_percentage")
+ (return-type "none")
+ (parameters
+ '("gdouble" "percentage")
+ )
+)
+
+(define-method set_value
+ (of-object "GtkProgress")
+ (c-name "gtk_progress_set_value")
+ (return-type "none")
+ (parameters
+ '("gdouble" "value")
+ )
+)
+
+(define-method get_value
+ (of-object "GtkProgress")
+ (c-name "gtk_progress_get_value")
+ (return-type "gdouble")
+)
+
+(define-method set_activity_mode
+ (of-object "GtkProgress")
+ (c-name "gtk_progress_set_activity_mode")
+ (return-type "none")
+ (parameters
+ '("gboolean" "activity_mode")
+ )
+)
+
+(define-method get_current_text
+ (of-object "GtkProgress")
+ (c-name "gtk_progress_get_current_text")
+ (return-type "gchar*")
+)
+
+(define-method get_text_from_value
+ (of-object "GtkProgress")
+ (c-name "gtk_progress_get_text_from_value")
+ (return-type "gchar*")
+ (parameters
+ '("gdouble" "value")
+ )
+)
+
+(define-method get_current_percentage
+ (of-object "GtkProgress")
+ (c-name "gtk_progress_get_current_percentage")
+ (return-type "gdouble")
+)
+
+(define-method get_percentage_from_value
+ (of-object "GtkProgress")
+ (c-name "gtk_progress_get_percentage_from_value")
+ (return-type "gdouble")
+ (parameters
+ '("gdouble" "value")
+ )
+)
+
+
+
+;; From gtkquartz.h
+
+
+
+;; From gtkquery.h
+
+
+
+;; From gtkradioaction.h
+
+(define-function gtk_radio_action_get_type
+ (c-name "gtk_radio_action_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_radio_action_new
+ (c-name "gtk_radio_action_new")
+ (is-constructor-of "GtkRadioAction")
+ (return-type "GtkRadioAction*")
+ (parameters
+ '("const-gchar*" "name")
+ '("const-gchar*" "label")
+ '("const-gchar*" "tooltip")
+ '("const-gchar*" "stock_id")
+ '("gint" "value")
+ )
+)
+
+(define-method get_group
+ (of-object "GtkRadioAction")
+ (c-name "gtk_radio_action_get_group")
+ (return-type "GSList*")
+)
+
+(define-method set_group
+ (of-object "GtkRadioAction")
+ (c-name "gtk_radio_action_set_group")
+ (return-type "none")
+ (parameters
+ '("GSList*" "group")
+ )
+)
+
+(define-method get_current_value
+ (of-object "GtkRadioAction")
+ (c-name "gtk_radio_action_get_current_value")
+ (return-type "gint")
+)
+
+(define-method set_current_value
+ (of-object "GtkRadioAction")
+ (c-name "gtk_radio_action_set_current_value")
+ (return-type "none")
+ (parameters
+ '("gint" "current_value")
+ )
+)
+
+
+
+;; From gtkradiobutton.h
+
+(define-function gtk_radio_button_get_type
+ (c-name "gtk_radio_button_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_radio_button_new
+ (c-name "gtk_radio_button_new")
+ (is-constructor-of "GtkRadioButton")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GSList*" "group")
+ )
+)
+
+(define-method new_from_widget
+ (of-object "GtkRadioButton")
+ (c-name "gtk_radio_button_new_from_widget")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_radio_button_new_with_label
+ (c-name "gtk_radio_button_new_with_label")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GSList*" "group")
+ '("const-gchar*" "label")
+ )
+)
+
+(define-method new_with_label_from_widget
+ (of-object "GtkRadioButton")
+ (c-name "gtk_radio_button_new_with_label_from_widget")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-function gtk_radio_button_new_with_mnemonic
+ (c-name "gtk_radio_button_new_with_mnemonic")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GSList*" "group")
+ '("const-gchar*" "label")
+ )
+)
+
+(define-method new_with_mnemonic_from_widget
+ (of-object "GtkRadioButton")
+ (c-name "gtk_radio_button_new_with_mnemonic_from_widget")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-method get_group
+ (of-object "GtkRadioButton")
+ (c-name "gtk_radio_button_get_group")
+ (return-type "GSList*")
+)
+
+(define-method set_group
+ (of-object "GtkRadioButton")
+ (c-name "gtk_radio_button_set_group")
+ (return-type "none")
+ (parameters
+ '("GSList*" "group")
+ )
+)
+
+
+
+;; From gtkradiomenuitem.h
+
+(define-function gtk_radio_menu_item_get_type
+ (c-name "gtk_radio_menu_item_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_radio_menu_item_new
+ (c-name "gtk_radio_menu_item_new")
+ (is-constructor-of "GtkRadioMenuItem")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GSList*" "group")
+ )
+)
+
+(define-function gtk_radio_menu_item_new_with_label
+ (c-name "gtk_radio_menu_item_new_with_label")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GSList*" "group")
+ '("const-gchar*" "label")
+ )
+)
+
+(define-function gtk_radio_menu_item_new_with_mnemonic
+ (c-name "gtk_radio_menu_item_new_with_mnemonic")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GSList*" "group")
+ '("const-gchar*" "label")
+ )
+)
+
+(define-method new_from_widget
+ (of-object "GtkRadioMenuItem")
+ (c-name "gtk_radio_menu_item_new_from_widget")
+ (return-type "GtkWidget*")
+)
+
+(define-method new_with_mnemonic_from_widget
+ (of-object "GtkRadioMenuItem")
+ (c-name "gtk_radio_menu_item_new_with_mnemonic_from_widget")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-method new_with_label_from_widget
+ (of-object "GtkRadioMenuItem")
+ (c-name "gtk_radio_menu_item_new_with_label_from_widget")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-method get_group
+ (of-object "GtkRadioMenuItem")
+ (c-name "gtk_radio_menu_item_get_group")
+ (return-type "GSList*")
+)
+
+(define-method set_group
+ (of-object "GtkRadioMenuItem")
+ (c-name "gtk_radio_menu_item_set_group")
+ (return-type "none")
+ (parameters
+ '("GSList*" "group")
+ )
+)
+
+
+
+;; From gtkradiotoolbutton.h
+
+(define-function gtk_radio_tool_button_get_type
+ (c-name "gtk_radio_tool_button_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_radio_tool_button_new
+ (c-name "gtk_radio_tool_button_new")
+ (is-constructor-of "GtkRadioToolButton")
+ (return-type "GtkToolItem*")
+ (parameters
+ '("GSList*" "group")
+ )
+)
+
+(define-function gtk_radio_tool_button_new_from_stock
+ (c-name "gtk_radio_tool_button_new_from_stock")
+ (return-type "GtkToolItem*")
+ (parameters
+ '("GSList*" "group")
+ '("const-gchar*" "stock_id")
+ )
+)
+
+(define-method new_from_widget
+ (of-object "GtkRadioToolButton")
+ (c-name "gtk_radio_tool_button_new_from_widget")
+ (return-type "GtkToolItem*")
+)
+
+(define-method new_with_stock_from_widget
+ (of-object "GtkRadioToolButton")
+ (c-name "gtk_radio_tool_button_new_with_stock_from_widget")
+ (return-type "GtkToolItem*")
+ (parameters
+ '("const-gchar*" "stock_id")
+ )
+)
+
+(define-method get_group
+ (of-object "GtkRadioToolButton")
+ (c-name "gtk_radio_tool_button_get_group")
+ (return-type "GSList*")
+)
+
+(define-method set_group
+ (of-object "GtkRadioToolButton")
+ (c-name "gtk_radio_tool_button_set_group")
+ (return-type "none")
+ (parameters
+ '("GSList*" "group")
+ )
+)
+
+
+
+;; From gtkrange.h
+
+(define-function gtk_range_get_type
+ (c-name "gtk_range_get_type")
+ (return-type "GType")
+)
+
+(define-method set_update_policy
+ (of-object "GtkRange")
+ (c-name "gtk_range_set_update_policy")
+ (return-type "none")
+ (parameters
+ '("GtkUpdateType" "policy")
+ )
+)
+
+(define-method get_update_policy
+ (of-object "GtkRange")
+ (c-name "gtk_range_get_update_policy")
+ (return-type "GtkUpdateType")
+)
+
+(define-method set_adjustment
+ (of-object "GtkRange")
+ (c-name "gtk_range_set_adjustment")
+ (return-type "none")
+ (parameters
+ '("GtkAdjustment*" "adjustment")
+ )
+)
+
+(define-method get_adjustment
+ (of-object "GtkRange")
+ (c-name "gtk_range_get_adjustment")
+ (return-type "GtkAdjustment*")
+)
+
+(define-method set_inverted
+ (of-object "GtkRange")
+ (c-name "gtk_range_set_inverted")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_inverted
+ (of-object "GtkRange")
+ (c-name "gtk_range_get_inverted")
+ (return-type "gboolean")
+)
+
+(define-method set_lower_stepper_sensitivity
+ (of-object "GtkRange")
+ (c-name "gtk_range_set_lower_stepper_sensitivity")
+ (return-type "none")
+ (parameters
+ '("GtkSensitivityType" "sensitivity")
+ )
+)
+
+(define-method get_lower_stepper_sensitivity
+ (of-object "GtkRange")
+ (c-name "gtk_range_get_lower_stepper_sensitivity")
+ (return-type "GtkSensitivityType")
+)
+
+(define-method set_upper_stepper_sensitivity
+ (of-object "GtkRange")
+ (c-name "gtk_range_set_upper_stepper_sensitivity")
+ (return-type "none")
+ (parameters
+ '("GtkSensitivityType" "sensitivity")
+ )
+)
+
+(define-method get_upper_stepper_sensitivity
+ (of-object "GtkRange")
+ (c-name "gtk_range_get_upper_stepper_sensitivity")
+ (return-type "GtkSensitivityType")
+)
+
+(define-method set_increments
+ (of-object "GtkRange")
+ (c-name "gtk_range_set_increments")
+ (return-type "none")
+ (parameters
+ '("gdouble" "step")
+ '("gdouble" "page")
+ )
+)
+
+(define-method set_range
+ (of-object "GtkRange")
+ (c-name "gtk_range_set_range")
+ (return-type "none")
+ (parameters
+ '("gdouble" "min")
+ '("gdouble" "max")
+ )
+)
+
+(define-method set_value
+ (of-object "GtkRange")
+ (c-name "gtk_range_set_value")
+ (return-type "none")
+ (parameters
+ '("gdouble" "value")
+ )
+)
+
+(define-method get_value
+ (of-object "GtkRange")
+ (c-name "gtk_range_get_value")
+ (return-type "gdouble")
+)
+
+(define-method set_show_fill_level
+ (of-object "GtkRange")
+ (c-name "gtk_range_set_show_fill_level")
+ (return-type "none")
+ (parameters
+ '("gboolean" "show_fill_level")
+ )
+)
+
+(define-method get_show_fill_level
+ (of-object "GtkRange")
+ (c-name "gtk_range_get_show_fill_level")
+ (return-type "gboolean")
+)
+
+(define-method set_restrict_to_fill_level
+ (of-object "GtkRange")
+ (c-name "gtk_range_set_restrict_to_fill_level")
+ (return-type "none")
+ (parameters
+ '("gboolean" "restrict_to_fill_level")
+ )
+)
+
+(define-method get_restrict_to_fill_level
+ (of-object "GtkRange")
+ (c-name "gtk_range_get_restrict_to_fill_level")
+ (return-type "gboolean")
+)
+
+(define-method set_fill_level
+ (of-object "GtkRange")
+ (c-name "gtk_range_set_fill_level")
+ (return-type "none")
+ (parameters
+ '("gdouble" "fill_level")
+ )
+)
+
+(define-method get_fill_level
+ (of-object "GtkRange")
+ (c-name "gtk_range_get_fill_level")
+ (return-type "gdouble")
+)
+
+
+
+;; From gtkrbtree.h
+
+
+
+;; From gtkrc.h
+
+(define-function gtk_rc_add_default_file
+ (c-name "gtk_rc_add_default_file")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "filename")
+ )
+)
+
+(define-function gtk_rc_set_default_files
+ (c-name "gtk_rc_set_default_files")
+ (return-type "none")
+ (parameters
+ '("gchar**" "filenames")
+ )
+)
+
+(define-function gtk_rc_get_default_files
+ (c-name "gtk_rc_get_default_files")
+ (return-type "gchar**")
+)
+
+(define-function gtk_rc_get_style
+ (c-name "gtk_rc_get_style")
+ (return-type "GtkStyle*")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-function gtk_rc_get_style_by_paths
+ (c-name "gtk_rc_get_style_by_paths")
+ (return-type "GtkStyle*")
+ (parameters
+ '("GtkSettings*" "settings")
+ '("const-char*" "widget_path")
+ '("const-char*" "class_path")
+ '("GType" "type")
+ )
+)
+
+(define-function gtk_rc_reparse_all_for_settings
+ (c-name "gtk_rc_reparse_all_for_settings")
+ (return-type "gboolean")
+ (parameters
+ '("GtkSettings*" "settings")
+ '("gboolean" "force_load")
+ )
+)
+
+(define-function gtk_rc_reset_styles
+ (c-name "gtk_rc_reset_styles")
+ (return-type "none")
+ (parameters
+ '("GtkSettings*" "settings")
+ )
+)
+
+(define-function gtk_rc_find_pixmap_in_path
+ (c-name "gtk_rc_find_pixmap_in_path")
+ (return-type "gchar*")
+ (parameters
+ '("GtkSettings*" "settings")
+ '("GScanner*" "scanner")
+ '("const-gchar*" "pixmap_file")
+ )
+)
+
+(define-function gtk_rc_parse
+ (c-name "gtk_rc_parse")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "filename")
+ )
+)
+
+(define-function gtk_rc_parse_string
+ (c-name "gtk_rc_parse_string")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "rc_string")
+ )
+)
+
+(define-function gtk_rc_reparse_all
+ (c-name "gtk_rc_reparse_all")
+ (return-type "gboolean")
+)
+
+(define-function gtk_rc_add_widget_name_style
+ (c-name "gtk_rc_add_widget_name_style")
+ (return-type "none")
+ (parameters
+ '("GtkRcStyle*" "rc_style")
+ '("const-gchar*" "pattern")
+ )
+)
+
+(define-function gtk_rc_add_widget_class_style
+ (c-name "gtk_rc_add_widget_class_style")
+ (return-type "none")
+ (parameters
+ '("GtkRcStyle*" "rc_style")
+ '("const-gchar*" "pattern")
+ )
+)
+
+(define-function gtk_rc_add_class_style
+ (c-name "gtk_rc_add_class_style")
+ (return-type "none")
+ (parameters
+ '("GtkRcStyle*" "rc_style")
+ '("const-gchar*" "pattern")
+ )
+)
+
+(define-function gtk_rc_style_get_type
+ (c-name "gtk_rc_style_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_rc_style_new
+ (c-name "gtk_rc_style_new")
+ (is-constructor-of "GtkRcStyle")
+ (return-type "GtkRcStyle*")
+)
+
+(define-method copy
+ (of-object "GtkRcStyle")
+ (c-name "gtk_rc_style_copy")
+ (return-type "GtkRcStyle*")
+)
+
+(define-method ref
+ (of-object "GtkRcStyle")
+ (c-name "gtk_rc_style_ref")
+ (return-type "none")
+)
+
+(define-method unref
+ (of-object "GtkRcStyle")
+ (c-name "gtk_rc_style_unref")
+ (return-type "none")
+)
+
+(define-function gtk_rc_find_module_in_path
+ (c-name "gtk_rc_find_module_in_path")
+ (return-type "gchar*")
+ (parameters
+ '("const-gchar*" "module_file")
+ )
+)
+
+(define-function gtk_rc_get_theme_dir
+ (c-name "gtk_rc_get_theme_dir")
+ (return-type "gchar*")
+)
+
+(define-function gtk_rc_get_module_dir
+ (c-name "gtk_rc_get_module_dir")
+ (return-type "gchar*")
+)
+
+(define-function gtk_rc_get_im_module_path
+ (c-name "gtk_rc_get_im_module_path")
+ (return-type "gchar*")
+)
+
+(define-function gtk_rc_get_im_module_file
+ (c-name "gtk_rc_get_im_module_file")
+ (return-type "gchar*")
+)
+
+(define-function gtk_rc_scanner_new
+ (c-name "gtk_rc_scanner_new")
+ (is-constructor-of "GtkRcScanner")
+ (return-type "GScanner*")
+)
+
+(define-function gtk_rc_parse_color
+ (c-name "gtk_rc_parse_color")
+ (return-type "guint")
+ (parameters
+ '("GScanner*" "scanner")
+ '("GdkColor*" "color")
+ )
+)
+
+(define-function gtk_rc_parse_color_full
+ (c-name "gtk_rc_parse_color_full")
+ (return-type "guint")
+ (parameters
+ '("GScanner*" "scanner")
+ '("GtkRcStyle*" "style")
+ '("GdkColor*" "color")
+ )
+)
+
+(define-function gtk_rc_parse_state
+ (c-name "gtk_rc_parse_state")
+ (return-type "guint")
+ (parameters
+ '("GScanner*" "scanner")
+ '("GtkStateType*" "state")
+ )
+)
+
+(define-function gtk_rc_parse_priority
+ (c-name "gtk_rc_parse_priority")
+ (return-type "guint")
+ (parameters
+ '("GScanner*" "scanner")
+ '("GtkPathPriorityType*" "priority")
+ )
+)
+
+
+
+;; From gtkrecentaction.h
+
+(define-function gtk_recent_action_get_type
+ (c-name "gtk_recent_action_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_recent_action_new
+ (c-name "gtk_recent_action_new")
+ (is-constructor-of "GtkRecentAction")
+ (return-type "GtkAction*")
+ (parameters
+ '("const-gchar*" "name")
+ '("const-gchar*" "label")
+ '("const-gchar*" "tooltip")
+ '("const-gchar*" "stock_id")
+ )
+)
+
+(define-function gtk_recent_action_new_for_manager
+ (c-name "gtk_recent_action_new_for_manager")
+ (return-type "GtkAction*")
+ (parameters
+ '("const-gchar*" "name")
+ '("const-gchar*" "label")
+ '("const-gchar*" "tooltip")
+ '("const-gchar*" "stock_id")
+ '("GtkRecentManager*" "manager")
+ )
+)
+
+(define-method get_show_numbers
+ (of-object "GtkRecentAction")
+ (c-name "gtk_recent_action_get_show_numbers")
+ (return-type "gboolean")
+)
+
+(define-method set_show_numbers
+ (of-object "GtkRecentAction")
+ (c-name "gtk_recent_action_set_show_numbers")
+ (return-type "none")
+ (parameters
+ '("gboolean" "show_numbers")
+ )
+)
+
+
+
+;; From gtkrecentchooserdefault.h
+
+
+
+;; From gtkrecentchooserdialog.h
+
+(define-function gtk_recent_chooser_dialog_get_type
+ (c-name "gtk_recent_chooser_dialog_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_recent_chooser_dialog_new
+ (c-name "gtk_recent_chooser_dialog_new")
+ (is-constructor-of "GtkRecentChooserDialog")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "title")
+ '("GtkWindow*" "parent")
+ '("const-gchar*" "first_button_text")
+ )
+ (varargs #t)
+)
+
+(define-function gtk_recent_chooser_dialog_new_for_manager
+ (c-name "gtk_recent_chooser_dialog_new_for_manager")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "title")
+ '("GtkWindow*" "parent")
+ '("GtkRecentManager*" "manager")
+ '("const-gchar*" "first_button_text")
+ )
+ (varargs #t)
+)
+
+
+
+;; From gtkrecentchooser.h
+
+(define-function gtk_recent_chooser_error_quark
+ (c-name "gtk_recent_chooser_error_quark")
+ (return-type "GQuark")
+)
+
+(define-function gtk_recent_chooser_get_type
+ (c-name "gtk_recent_chooser_get_type")
+ (return-type "GType")
+)
+
+(define-method set_show_private
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_set_show_private")
+ (return-type "none")
+ (parameters
+ '("gboolean" "show_private")
+ )
+)
+
+(define-method get_show_private
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_get_show_private")
+ (return-type "gboolean")
+)
+
+(define-method set_show_not_found
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_set_show_not_found")
+ (return-type "none")
+ (parameters
+ '("gboolean" "show_not_found")
+ )
+)
+
+(define-method get_show_not_found
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_get_show_not_found")
+ (return-type "gboolean")
+)
+
+(define-method set_select_multiple
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_set_select_multiple")
+ (return-type "none")
+ (parameters
+ '("gboolean" "select_multiple")
+ )
+)
+
+(define-method get_select_multiple
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_get_select_multiple")
+ (return-type "gboolean")
+)
+
+(define-method set_limit
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_set_limit")
+ (return-type "none")
+ (parameters
+ '("gint" "limit")
+ )
+)
+
+(define-method get_limit
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_get_limit")
+ (return-type "gint")
+)
+
+(define-method set_local_only
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_set_local_only")
+ (return-type "none")
+ (parameters
+ '("gboolean" "local_only")
+ )
+)
+
+(define-method get_local_only
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_get_local_only")
+ (return-type "gboolean")
+)
+
+(define-method set_show_tips
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_set_show_tips")
+ (return-type "none")
+ (parameters
+ '("gboolean" "show_tips")
+ )
+)
+
+(define-method get_show_tips
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_get_show_tips")
+ (return-type "gboolean")
+)
+
+(define-method set_show_numbers
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_set_show_numbers")
+ (return-type "none")
+ (parameters
+ '("gboolean" "show_numbers")
+ )
+)
+
+(define-method get_show_numbers
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_get_show_numbers")
+ (return-type "gboolean")
+)
+
+(define-method set_show_icons
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_set_show_icons")
+ (return-type "none")
+ (parameters
+ '("gboolean" "show_icons")
+ )
+)
+
+(define-method get_show_icons
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_get_show_icons")
+ (return-type "gboolean")
+)
+
+(define-method set_sort_type
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_set_sort_type")
+ (return-type "none")
+ (parameters
+ '("GtkRecentSortType" "sort_type")
+ )
+)
+
+(define-method get_sort_type
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_get_sort_type")
+ (return-type "GtkRecentSortType")
+)
+
+(define-method set_sort_func
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_set_sort_func")
+ (return-type "none")
+ (parameters
+ '("GtkRecentSortFunc" "sort_func")
+ '("gpointer" "sort_data")
+ '("GDestroyNotify" "data_destroy")
+ )
+)
+
+(define-method set_current_uri
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_set_current_uri")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri")
+ '("GError**" "error")
+ )
+)
+
+(define-method get_current_uri
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_get_current_uri")
+ (return-type "gchar*")
+)
+
+(define-method get_current_item
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_get_current_item")
+ (return-type "GtkRecentInfo*")
+)
+
+(define-method select_uri
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_select_uri")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri")
+ '("GError**" "error")
+ )
+)
+
+(define-method unselect_uri
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_unselect_uri")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "uri")
+ )
+)
+
+(define-method select_all
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_select_all")
+ (return-type "none")
+)
+
+(define-method unselect_all
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_unselect_all")
+ (return-type "none")
+)
+
+(define-method get_items
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_get_items")
+ (return-type "GList*")
+)
+
+(define-method get_uris
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_get_uris")
+ (return-type "gchar**")
+ (parameters
+ '("gsize*" "length")
+ )
+)
+
+(define-method add_filter
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_add_filter")
+ (return-type "none")
+ (parameters
+ '("GtkRecentFilter*" "filter")
+ )
+)
+
+(define-method remove_filter
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_remove_filter")
+ (return-type "none")
+ (parameters
+ '("GtkRecentFilter*" "filter")
+ )
+)
+
+(define-method list_filters
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_list_filters")
+ (return-type "GSList*")
+)
+
+(define-method set_filter
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_set_filter")
+ (return-type "none")
+ (parameters
+ '("GtkRecentFilter*" "filter")
+ )
+)
+
+(define-method get_filter
+ (of-object "GtkRecentChooser")
+ (c-name "gtk_recent_chooser_get_filter")
+ (return-type "GtkRecentFilter*")
+)
+
+
+
+;; From gtkrecentchoosermenu.h
+
+(define-function gtk_recent_chooser_menu_get_type
+ (c-name "gtk_recent_chooser_menu_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_recent_chooser_menu_new
+ (c-name "gtk_recent_chooser_menu_new")
+ (is-constructor-of "GtkRecentChooserMenu")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_recent_chooser_menu_new_for_manager
+ (c-name "gtk_recent_chooser_menu_new_for_manager")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkRecentManager*" "manager")
+ )
+)
+
+(define-method get_show_numbers
+ (of-object "GtkRecentChooserMenu")
+ (c-name "gtk_recent_chooser_menu_get_show_numbers")
+ (return-type "gboolean")
+)
+
+(define-method set_show_numbers
+ (of-object "GtkRecentChooserMenu")
+ (c-name "gtk_recent_chooser_menu_set_show_numbers")
+ (return-type "none")
+ (parameters
+ '("gboolean" "show_numbers")
+ )
+)
+
+
+
+;; From gtkrecentchooserprivate.h
+
+
+
+;; From gtkrecentchooserutils.h
+
+
+
+;; From gtkrecentchooserwidget.h
+
+(define-function gtk_recent_chooser_widget_get_type
+ (c-name "gtk_recent_chooser_widget_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_recent_chooser_widget_new
+ (c-name "gtk_recent_chooser_widget_new")
+ (is-constructor-of "GtkRecentChooserWidget")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_recent_chooser_widget_new_for_manager
+ (c-name "gtk_recent_chooser_widget_new_for_manager")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkRecentManager*" "manager")
+ )
+)
+
+
+
+;; From gtkrecentfilter.h
+
+(define-function gtk_recent_filter_get_type
+ (c-name "gtk_recent_filter_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_recent_filter_new
+ (c-name "gtk_recent_filter_new")
+ (is-constructor-of "GtkRecentFilter")
+ (return-type "GtkRecentFilter*")
+)
+
+(define-method set_name
+ (of-object "GtkRecentFilter")
+ (c-name "gtk_recent_filter_set_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method get_name
+ (of-object "GtkRecentFilter")
+ (c-name "gtk_recent_filter_get_name")
+ (return-type "const-gchar*")
+)
+
+(define-method add_mime_type
+ (of-object "GtkRecentFilter")
+ (c-name "gtk_recent_filter_add_mime_type")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "mime_type")
+ )
+)
+
+(define-method add_pattern
+ (of-object "GtkRecentFilter")
+ (c-name "gtk_recent_filter_add_pattern")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "pattern")
+ )
+)
+
+(define-method add_pixbuf_formats
+ (of-object "GtkRecentFilter")
+ (c-name "gtk_recent_filter_add_pixbuf_formats")
+ (return-type "none")
+)
+
+(define-method add_application
+ (of-object "GtkRecentFilter")
+ (c-name "gtk_recent_filter_add_application")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "application")
+ )
+)
+
+(define-method add_group
+ (of-object "GtkRecentFilter")
+ (c-name "gtk_recent_filter_add_group")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "group")
+ )
+)
+
+(define-method add_age
+ (of-object "GtkRecentFilter")
+ (c-name "gtk_recent_filter_add_age")
+ (return-type "none")
+ (parameters
+ '("gint" "days")
+ )
+)
+
+(define-method add_custom
+ (of-object "GtkRecentFilter")
+ (c-name "gtk_recent_filter_add_custom")
+ (return-type "none")
+ (parameters
+ '("GtkRecentFilterFlags" "needed")
+ '("GtkRecentFilterFunc" "func")
+ '("gpointer" "data")
+ '("GDestroyNotify" "data_destroy")
+ )
+)
+
+(define-method get_needed
+ (of-object "GtkRecentFilter")
+ (c-name "gtk_recent_filter_get_needed")
+ (return-type "GtkRecentFilterFlags")
+)
+
+(define-method filter
+ (of-object "GtkRecentFilter")
+ (c-name "gtk_recent_filter_filter")
+ (return-type "gboolean")
+ (parameters
+ '("const-GtkRecentFilterInfo*" "filter_info")
+ )
+)
+
+
+
+;; From gtkrecentmanager.h
+
+(define-function gtk_recent_manager_error_quark
+ (c-name "gtk_recent_manager_error_quark")
+ (return-type "GQuark")
+)
+
+(define-function gtk_recent_manager_get_type
+ (c-name "gtk_recent_manager_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_recent_manager_new
+ (c-name "gtk_recent_manager_new")
+ (is-constructor-of "GtkRecentManager")
+ (return-type "GtkRecentManager*")
+)
+
+(define-function gtk_recent_manager_get_default
+ (c-name "gtk_recent_manager_get_default")
+ (return-type "GtkRecentManager*")
+)
+
+(define-function gtk_recent_manager_get_for_screen
+ (c-name "gtk_recent_manager_get_for_screen")
+ (return-type "GtkRecentManager*")
+ (parameters
+ '("GdkScreen*" "screen")
+ )
+)
+
+(define-method set_screen
+ (of-object "GtkRecentManager")
+ (c-name "gtk_recent_manager_set_screen")
+ (return-type "none")
+ (parameters
+ '("GdkScreen*" "screen")
+ )
+)
+
+(define-method add_item
+ (of-object "GtkRecentManager")
+ (c-name "gtk_recent_manager_add_item")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri")
+ )
+)
+
+(define-method add_full
+ (of-object "GtkRecentManager")
+ (c-name "gtk_recent_manager_add_full")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri")
+ '("const-GtkRecentData*" "recent_data")
+ )
+)
+
+(define-method remove_item
+ (of-object "GtkRecentManager")
+ (c-name "gtk_recent_manager_remove_item")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri")
+ '("GError**" "error")
+ )
+)
+
+(define-method lookup_item
+ (of-object "GtkRecentManager")
+ (c-name "gtk_recent_manager_lookup_item")
+ (return-type "GtkRecentInfo*")
+ (parameters
+ '("const-gchar*" "uri")
+ '("GError**" "error")
+ )
+)
+
+(define-method has_item
+ (of-object "GtkRecentManager")
+ (c-name "gtk_recent_manager_has_item")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri")
+ )
+)
+
+(define-method move_item
+ (of-object "GtkRecentManager")
+ (c-name "gtk_recent_manager_move_item")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri")
+ '("const-gchar*" "new_uri")
+ '("GError**" "error")
+ )
+)
+
+(define-method set_limit
+ (of-object "GtkRecentManager")
+ (c-name "gtk_recent_manager_set_limit")
+ (return-type "none")
+ (parameters
+ '("gint" "limit")
+ )
+)
+
+(define-method get_limit
+ (of-object "GtkRecentManager")
+ (c-name "gtk_recent_manager_get_limit")
+ (return-type "gint")
+)
+
+(define-method get_items
+ (of-object "GtkRecentManager")
+ (c-name "gtk_recent_manager_get_items")
+ (return-type "GList*")
+)
+
+(define-method purge_items
+ (of-object "GtkRecentManager")
+ (c-name "gtk_recent_manager_purge_items")
+ (return-type "gint")
+ (parameters
+ '("GError**" "error")
+ )
+)
+
+(define-function gtk_recent_info_get_type
+ (c-name "gtk_recent_info_get_type")
+ (return-type "GType")
+)
+
+(define-method ref
+ (of-object "GtkRecentInfo")
+ (c-name "gtk_recent_info_ref")
+ (return-type "GtkRecentInfo*")
+)
+
+(define-method unref
+ (of-object "GtkRecentInfo")
+ (c-name "gtk_recent_info_unref")
+ (return-type "none")
+)
+
+(define-method get_uri
+ (of-object "GtkRecentInfo")
+ (c-name "gtk_recent_info_get_uri")
+ (return-type "const-gchar*")
+)
+
+(define-method get_display_name
+ (of-object "GtkRecentInfo")
+ (c-name "gtk_recent_info_get_display_name")
+ (return-type "const-gchar*")
+)
+
+(define-method get_description
+ (of-object "GtkRecentInfo")
+ (c-name "gtk_recent_info_get_description")
+ (return-type "const-gchar*")
+)
+
+(define-method get_mime_type
+ (of-object "GtkRecentInfo")
+ (c-name "gtk_recent_info_get_mime_type")
+ (return-type "const-gchar*")
+)
+
+(define-method get_added
+ (of-object "GtkRecentInfo")
+ (c-name "gtk_recent_info_get_added")
+ (return-type "time_t")
+)
+
+(define-method get_modified
+ (of-object "GtkRecentInfo")
+ (c-name "gtk_recent_info_get_modified")
+ (return-type "time_t")
+)
+
+(define-method get_visited
+ (of-object "GtkRecentInfo")
+ (c-name "gtk_recent_info_get_visited")
+ (return-type "time_t")
+)
+
+(define-method get_private_hint
+ (of-object "GtkRecentInfo")
+ (c-name "gtk_recent_info_get_private_hint")
+ (return-type "gboolean")
+)
+
+(define-method get_application_info
+ (of-object "GtkRecentInfo")
+ (c-name "gtk_recent_info_get_application_info")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "app_name")
+ '("gchar**" "app_exec")
+ '("guint*" "count")
+ '("time_t*" "time_")
+ )
+)
+
+(define-method get_applications
+ (of-object "GtkRecentInfo")
+ (c-name "gtk_recent_info_get_applications")
+ (return-type "gchar**")
+ (parameters
+ '("gsize*" "length")
+ )
+)
+
+(define-method last_application
+ (of-object "GtkRecentInfo")
+ (c-name "gtk_recent_info_last_application")
+ (return-type "gchar*")
+)
+
+(define-method has_application
+ (of-object "GtkRecentInfo")
+ (c-name "gtk_recent_info_has_application")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "app_name")
+ )
+)
+
+(define-method get_groups
+ (of-object "GtkRecentInfo")
+ (c-name "gtk_recent_info_get_groups")
+ (return-type "gchar**")
+ (parameters
+ '("gsize*" "length")
+ )
+)
+
+(define-method has_group
+ (of-object "GtkRecentInfo")
+ (c-name "gtk_recent_info_has_group")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "group_name")
+ )
+)
+
+(define-method get_icon
+ (of-object "GtkRecentInfo")
+ (c-name "gtk_recent_info_get_icon")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("gint" "size")
+ )
+)
+
+(define-method get_short_name
+ (of-object "GtkRecentInfo")
+ (c-name "gtk_recent_info_get_short_name")
+ (return-type "gchar*")
+)
+
+(define-method get_uri_display
+ (of-object "GtkRecentInfo")
+ (c-name "gtk_recent_info_get_uri_display")
+ (return-type "gchar*")
+)
+
+(define-method get_age
+ (of-object "GtkRecentInfo")
+ (c-name "gtk_recent_info_get_age")
+ (return-type "gint")
+)
+
+(define-method is_local
+ (of-object "GtkRecentInfo")
+ (c-name "gtk_recent_info_is_local")
+ (return-type "gboolean")
+)
+
+(define-method exists
+ (of-object "GtkRecentInfo")
+ (c-name "gtk_recent_info_exists")
+ (return-type "gboolean")
+)
+
+(define-method match
+ (of-object "GtkRecentInfo")
+ (c-name "gtk_recent_info_match")
+ (return-type "gboolean")
+ (parameters
+ '("GtkRecentInfo*" "info_b")
+ )
+)
+
+
+
+;; From gtkruler.h
+
+(define-function gtk_ruler_get_type
+ (c-name "gtk_ruler_get_type")
+ (return-type "GType")
+)
+
+(define-method set_metric
+ (of-object "GtkRuler")
+ (c-name "gtk_ruler_set_metric")
+ (return-type "none")
+ (parameters
+ '("GtkMetricType" "metric")
+ )
+)
+
+(define-method set_range
+ (of-object "GtkRuler")
+ (c-name "gtk_ruler_set_range")
+ (return-type "none")
+ (parameters
+ '("gdouble" "lower")
+ '("gdouble" "upper")
+ '("gdouble" "position")
+ '("gdouble" "max_size")
+ )
+)
+
+(define-method draw_ticks
+ (of-object "GtkRuler")
+ (c-name "gtk_ruler_draw_ticks")
+ (return-type "none")
+)
+
+(define-method draw_pos
+ (of-object "GtkRuler")
+ (c-name "gtk_ruler_draw_pos")
+ (return-type "none")
+)
+
+(define-method get_metric
+ (of-object "GtkRuler")
+ (c-name "gtk_ruler_get_metric")
+ (return-type "GtkMetricType")
+)
+
+(define-method get_range
+ (of-object "GtkRuler")
+ (c-name "gtk_ruler_get_range")
+ (return-type "none")
+ (parameters
+ '("gdouble*" "lower")
+ '("gdouble*" "upper")
+ '("gdouble*" "position")
+ '("gdouble*" "max_size")
+ )
+)
+
+
+
+;; From gtkscalebutton.h
+
+(define-function gtk_scale_button_get_type
+ (c-name "gtk_scale_button_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_scale_button_new
+ (c-name "gtk_scale_button_new")
+ (is-constructor-of "GtkScaleButton")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkIconSize" "size")
+ '("gdouble" "min")
+ '("gdouble" "max")
+ '("gdouble" "step")
+ '("const-gchar**" "icons")
+ )
+)
+
+(define-method set_icons
+ (of-object "GtkScaleButton")
+ (c-name "gtk_scale_button_set_icons")
+ (return-type "none")
+ (parameters
+ '("const-gchar**" "icons")
+ )
+)
+
+(define-method get_value
+ (of-object "GtkScaleButton")
+ (c-name "gtk_scale_button_get_value")
+ (return-type "gdouble")
+)
+
+(define-method set_value
+ (of-object "GtkScaleButton")
+ (c-name "gtk_scale_button_set_value")
+ (return-type "none")
+ (parameters
+ '("gdouble" "value")
+ )
+)
+
+(define-method get_adjustment
+ (of-object "GtkScaleButton")
+ (c-name "gtk_scale_button_get_adjustment")
+ (return-type "GtkAdjustment*")
+)
+
+(define-method set_adjustment
+ (of-object "GtkScaleButton")
+ (c-name "gtk_scale_button_set_adjustment")
+ (return-type "none")
+ (parameters
+ '("GtkAdjustment*" "adjustment")
+ )
+)
+
+
+
+;; From gtkscale.h
+
+(define-function gtk_scale_get_type
+ (c-name "gtk_scale_get_type")
+ (return-type "GType")
+)
+
+(define-method set_digits
+ (of-object "GtkScale")
+ (c-name "gtk_scale_set_digits")
+ (return-type "none")
+ (parameters
+ '("gint" "digits")
+ )
+)
+
+(define-method get_digits
+ (of-object "GtkScale")
+ (c-name "gtk_scale_get_digits")
+ (return-type "gint")
+)
+
+(define-method set_draw_value
+ (of-object "GtkScale")
+ (c-name "gtk_scale_set_draw_value")
+ (return-type "none")
+ (parameters
+ '("gboolean" "draw_value")
+ )
+)
+
+(define-method get_draw_value
+ (of-object "GtkScale")
+ (c-name "gtk_scale_get_draw_value")
+ (return-type "gboolean")
+)
+
+(define-method set_value_pos
+ (of-object "GtkScale")
+ (c-name "gtk_scale_set_value_pos")
+ (return-type "none")
+ (parameters
+ '("GtkPositionType" "pos")
+ )
+)
+
+(define-method get_value_pos
+ (of-object "GtkScale")
+ (c-name "gtk_scale_get_value_pos")
+ (return-type "GtkPositionType")
+)
+
+(define-method get_layout
+ (of-object "GtkScale")
+ (c-name "gtk_scale_get_layout")
+ (return-type "PangoLayout*")
+)
+
+(define-method get_layout_offsets
+ (of-object "GtkScale")
+ (c-name "gtk_scale_get_layout_offsets")
+ (return-type "none")
+ (parameters
+ '("gint*" "x")
+ '("gint*" "y")
+ )
+)
+
+
+
+;; From gtkscrollbar.h
+
+(define-function gtk_scrollbar_get_type
+ (c-name "gtk_scrollbar_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From gtkscrolledwindow.h
+
+(define-function gtk_scrolled_window_get_type
+ (c-name "gtk_scrolled_window_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_scrolled_window_new
+ (c-name "gtk_scrolled_window_new")
+ (is-constructor-of "GtkScrolledWindow")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkAdjustment*" "hadjustment")
+ '("GtkAdjustment*" "vadjustment")
+ )
+)
+
+(define-method set_hadjustment
+ (of-object "GtkScrolledWindow")
+ (c-name "gtk_scrolled_window_set_hadjustment")
+ (return-type "none")
+ (parameters
+ '("GtkAdjustment*" "hadjustment")
+ )
+)
+
+(define-method set_vadjustment
+ (of-object "GtkScrolledWindow")
+ (c-name "gtk_scrolled_window_set_vadjustment")
+ (return-type "none")
+ (parameters
+ '("GtkAdjustment*" "vadjustment")
+ )
+)
+
+(define-method get_hadjustment
+ (of-object "GtkScrolledWindow")
+ (c-name "gtk_scrolled_window_get_hadjustment")
+ (return-type "GtkAdjustment*")
+)
+
+(define-method get_vadjustment
+ (of-object "GtkScrolledWindow")
+ (c-name "gtk_scrolled_window_get_vadjustment")
+ (return-type "GtkAdjustment*")
+)
+
+(define-method get_hscrollbar
+ (of-object "GtkScrolledWindow")
+ (c-name "gtk_scrolled_window_get_hscrollbar")
+ (return-type "GtkWidget*")
+)
+
+(define-method get_vscrollbar
+ (of-object "GtkScrolledWindow")
+ (c-name "gtk_scrolled_window_get_vscrollbar")
+ (return-type "GtkWidget*")
+)
+
+(define-method set_policy
+ (of-object "GtkScrolledWindow")
+ (c-name "gtk_scrolled_window_set_policy")
+ (return-type "none")
+ (parameters
+ '("GtkPolicyType" "hscrollbar_policy")
+ '("GtkPolicyType" "vscrollbar_policy")
+ )
+)
+
+(define-method get_policy
+ (of-object "GtkScrolledWindow")
+ (c-name "gtk_scrolled_window_get_policy")
+ (return-type "none")
+ (parameters
+ '("GtkPolicyType*" "hscrollbar_policy")
+ '("GtkPolicyType*" "vscrollbar_policy")
+ )
+)
+
+(define-method set_placement
+ (of-object "GtkScrolledWindow")
+ (c-name "gtk_scrolled_window_set_placement")
+ (return-type "none")
+ (parameters
+ '("GtkCornerType" "window_placement")
+ )
+)
+
+(define-method unset_placement
+ (of-object "GtkScrolledWindow")
+ (c-name "gtk_scrolled_window_unset_placement")
+ (return-type "none")
+)
+
+(define-method get_placement
+ (of-object "GtkScrolledWindow")
+ (c-name "gtk_scrolled_window_get_placement")
+ (return-type "GtkCornerType")
+)
+
+(define-method set_shadow_type
+ (of-object "GtkScrolledWindow")
+ (c-name "gtk_scrolled_window_set_shadow_type")
+ (return-type "none")
+ (parameters
+ '("GtkShadowType" "type")
+ )
+)
+
+(define-method get_shadow_type
+ (of-object "GtkScrolledWindow")
+ (c-name "gtk_scrolled_window_get_shadow_type")
+ (return-type "GtkShadowType")
+)
+
+(define-method add_with_viewport
+ (of-object "GtkScrolledWindow")
+ (c-name "gtk_scrolled_window_add_with_viewport")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ )
+)
+
+
+
+;; From gtksearchenginebeagle.h
+
+
+
+;; From gtksearchengine.h
+
+
+
+;; From gtksearchenginequartz.h
+
+
+
+;; From gtksearchenginesimple.h
+
+
+
+;; From gtksearchenginetracker.h
+
+
+
+;; From gtkselection.h
+
+(define-function gtk_target_list_new
+ (c-name "gtk_target_list_new")
+ (is-constructor-of "GtkTargetList")
+ (return-type "GtkTargetList*")
+ (parameters
+ '("const-GtkTargetEntry*" "targets")
+ '("guint" "ntargets")
+ )
+)
+
+(define-method ref
+ (of-object "GtkTargetList")
+ (c-name "gtk_target_list_ref")
+ (return-type "GtkTargetList*")
+)
+
+(define-method unref
+ (of-object "GtkTargetList")
+ (c-name "gtk_target_list_unref")
+ (return-type "none")
+)
+
+(define-method add
+ (of-object "GtkTargetList")
+ (c-name "gtk_target_list_add")
+ (return-type "none")
+ (parameters
+ '("GdkAtom" "target")
+ '("guint" "flags")
+ '("guint" "info")
+ )
+)
+
+(define-method add_text_targets
+ (of-object "GtkTargetList")
+ (c-name "gtk_target_list_add_text_targets")
+ (return-type "none")
+ (parameters
+ '("guint" "info")
+ )
+)
+
+(define-method add_rich_text_targets
+ (of-object "GtkTargetList")
+ (c-name "gtk_target_list_add_rich_text_targets")
+ (return-type "none")
+ (parameters
+ '("guint" "info")
+ '("gboolean" "deserializable")
+ '("GtkTextBuffer*" "buffer")
+ )
+)
+
+(define-method add_image_targets
+ (of-object "GtkTargetList")
+ (c-name "gtk_target_list_add_image_targets")
+ (return-type "none")
+ (parameters
+ '("guint" "info")
+ '("gboolean" "writable")
+ )
+)
+
+(define-method add_uri_targets
+ (of-object "GtkTargetList")
+ (c-name "gtk_target_list_add_uri_targets")
+ (return-type "none")
+ (parameters
+ '("guint" "info")
+ )
+)
+
+(define-method add_table
+ (of-object "GtkTargetList")
+ (c-name "gtk_target_list_add_table")
+ (return-type "none")
+ (parameters
+ '("const-GtkTargetEntry*" "targets")
+ '("guint" "ntargets")
+ )
+)
+
+(define-method remove
+ (of-object "GtkTargetList")
+ (c-name "gtk_target_list_remove")
+ (return-type "none")
+ (parameters
+ '("GdkAtom" "target")
+ )
+)
+
+(define-method find
+ (of-object "GtkTargetList")
+ (c-name "gtk_target_list_find")
+ (return-type "gboolean")
+ (parameters
+ '("GdkAtom" "target")
+ '("guint*" "info")
+ )
+)
+
+(define-function gtk_target_table_new_from_list
+ (c-name "gtk_target_table_new_from_list")
+ (return-type "GtkTargetEntry*")
+ (parameters
+ '("GtkTargetList*" "list")
+ '("gint*" "n_targets")
+ )
+)
+
+(define-function gtk_target_table_free
+ (c-name "gtk_target_table_free")
+ (return-type "none")
+ (parameters
+ '("GtkTargetEntry*" "targets")
+ '("gint" "n_targets")
+ )
+)
+
+(define-function gtk_selection_owner_set
+ (c-name "gtk_selection_owner_set")
+ (return-type "gboolean")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("GdkAtom" "selection")
+ '("guint32" "time_")
+ )
+)
+
+(define-function gtk_selection_owner_set_for_display
+ (c-name "gtk_selection_owner_set_for_display")
+ (return-type "gboolean")
+ (parameters
+ '("GdkDisplay*" "display")
+ '("GtkWidget*" "widget")
+ '("GdkAtom" "selection")
+ '("guint32" "time_")
+ )
+)
+
+(define-function gtk_selection_add_target
+ (c-name "gtk_selection_add_target")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("GdkAtom" "selection")
+ '("GdkAtom" "target")
+ '("guint" "info")
+ )
+)
+
+(define-function gtk_selection_add_targets
+ (c-name "gtk_selection_add_targets")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("GdkAtom" "selection")
+ '("const-GtkTargetEntry*" "targets")
+ '("guint" "ntargets")
+ )
+)
+
+(define-function gtk_selection_clear_targets
+ (c-name "gtk_selection_clear_targets")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("GdkAtom" "selection")
+ )
+)
+
+(define-function gtk_selection_convert
+ (c-name "gtk_selection_convert")
+ (return-type "gboolean")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("GdkAtom" "selection")
+ '("GdkAtom" "target")
+ '("guint32" "time_")
+ )
+)
+
+(define-method set
+ (of-object "GtkSelectionData")
+ (c-name "gtk_selection_data_set")
+ (return-type "none")
+ (parameters
+ '("GdkAtom" "type")
+ '("gint" "format")
+ '("const-guchar*" "data")
+ '("gint" "length")
+ )
+)
+
+(define-method set_text
+ (of-object "GtkSelectionData")
+ (c-name "gtk_selection_data_set_text")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "str")
+ '("gint" "len")
+ )
+)
+
+(define-method get_text
+ (of-object "GtkSelectionData")
+ (c-name "gtk_selection_data_get_text")
+ (return-type "guchar*")
+)
+
+(define-method set_pixbuf
+ (of-object "GtkSelectionData")
+ (c-name "gtk_selection_data_set_pixbuf")
+ (return-type "gboolean")
+ (parameters
+ '("GdkPixbuf*" "pixbuf")
+ )
+)
+
+(define-method get_pixbuf
+ (of-object "GtkSelectionData")
+ (c-name "gtk_selection_data_get_pixbuf")
+ (return-type "GdkPixbuf*")
+)
+
+(define-method set_uris
+ (of-object "GtkSelectionData")
+ (c-name "gtk_selection_data_set_uris")
+ (return-type "gboolean")
+ (parameters
+ '("gchar**" "uris")
+ )
+)
+
+(define-method get_uris
+ (of-object "GtkSelectionData")
+ (c-name "gtk_selection_data_get_uris")
+ (return-type "gchar**")
+)
+
+(define-method get_targets
+ (of-object "GtkSelectionData")
+ (c-name "gtk_selection_data_get_targets")
+ (return-type "gboolean")
+ (parameters
+ '("GdkAtom**" "targets")
+ '("gint*" "n_atoms")
+ )
+)
+
+(define-method targets_include_text
+ (of-object "GtkSelectionData")
+ (c-name "gtk_selection_data_targets_include_text")
+ (return-type "gboolean")
+)
+
+(define-method targets_include_rich_text
+ (of-object "GtkSelectionData")
+ (c-name "gtk_selection_data_targets_include_rich_text")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextBuffer*" "buffer")
+ )
+)
+
+(define-method targets_include_image
+ (of-object "GtkSelectionData")
+ (c-name "gtk_selection_data_targets_include_image")
+ (return-type "gboolean")
+ (parameters
+ '("gboolean" "writable")
+ )
+)
+
+(define-method targets_include_uri
+ (of-object "GtkSelectionData")
+ (c-name "gtk_selection_data_targets_include_uri")
+ (return-type "gboolean")
+)
+
+(define-function gtk_targets_include_text
+ (c-name "gtk_targets_include_text")
+ (return-type "gboolean")
+ (parameters
+ '("GdkAtom*" "targets")
+ '("gint" "n_targets")
+ )
+)
+
+(define-function gtk_targets_include_rich_text
+ (c-name "gtk_targets_include_rich_text")
+ (return-type "gboolean")
+ (parameters
+ '("GdkAtom*" "targets")
+ '("gint" "n_targets")
+ '("GtkTextBuffer*" "buffer")
+ )
+)
+
+(define-function gtk_targets_include_image
+ (c-name "gtk_targets_include_image")
+ (return-type "gboolean")
+ (parameters
+ '("GdkAtom*" "targets")
+ '("gint" "n_targets")
+ '("gboolean" "writable")
+ )
+)
+
+(define-function gtk_targets_include_uri
+ (c-name "gtk_targets_include_uri")
+ (return-type "gboolean")
+ (parameters
+ '("GdkAtom*" "targets")
+ '("gint" "n_targets")
+ )
+)
+
+(define-function gtk_selection_remove_all
+ (c-name "gtk_selection_remove_all")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-function gtk_selection_clear
+ (c-name "gtk_selection_clear")
+ (return-type "gboolean")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("GdkEventSelection*" "event")
+ )
+)
+
+(define-function gtk_selection_data_get_type
+ (c-name "gtk_selection_data_get_type")
+ (return-type "GType")
+)
+
+(define-method copy
+ (of-object "GtkSelectionData")
+ (c-name "gtk_selection_data_copy")
+ (return-type "GtkSelectionData*")
+)
+
+(define-method free
+ (of-object "GtkSelectionData")
+ (c-name "gtk_selection_data_free")
+ (return-type "none")
+)
+
+(define-function gtk_target_list_get_type
+ (c-name "gtk_target_list_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From gtkseparator.h
+
+(define-function gtk_separator_get_type
+ (c-name "gtk_separator_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From gtkseparatormenuitem.h
+
+(define-function gtk_separator_menu_item_get_type
+ (c-name "gtk_separator_menu_item_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_separator_menu_item_new
+ (c-name "gtk_separator_menu_item_new")
+ (is-constructor-of "GtkSeparatorMenuItem")
+ (return-type "GtkWidget*")
+)
+
+
+
+;; From gtkseparatortoolitem.h
+
+(define-function gtk_separator_tool_item_get_type
+ (c-name "gtk_separator_tool_item_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_separator_tool_item_new
+ (c-name "gtk_separator_tool_item_new")
+ (is-constructor-of "GtkSeparatorToolItem")
+ (return-type "GtkToolItem*")
+)
+
+(define-method get_draw
+ (of-object "GtkSeparatorToolItem")
+ (c-name "gtk_separator_tool_item_get_draw")
+ (return-type "gboolean")
+)
+
+(define-method set_draw
+ (of-object "GtkSeparatorToolItem")
+ (c-name "gtk_separator_tool_item_set_draw")
+ (return-type "none")
+ (parameters
+ '("gboolean" "draw")
+ )
+)
+
+
+
+;; From gtksettings.h
+
+(define-function gtk_settings_get_type
+ (c-name "gtk_settings_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_settings_get_default
+ (c-name "gtk_settings_get_default")
+ (return-type "GtkSettings*")
+)
+
+(define-function gtk_settings_get_for_screen
+ (c-name "gtk_settings_get_for_screen")
+ (return-type "GtkSettings*")
+ (parameters
+ '("GdkScreen*" "screen")
+ )
+)
+
+(define-function gtk_settings_install_property
+ (c-name "gtk_settings_install_property")
+ (return-type "none")
+ (parameters
+ '("GParamSpec*" "pspec")
+ )
+)
+
+(define-function gtk_settings_install_property_parser
+ (c-name "gtk_settings_install_property_parser")
+ (return-type "none")
+ (parameters
+ '("GParamSpec*" "pspec")
+ '("GtkRcPropertyParser" "parser")
+ )
+)
+
+(define-function gtk_rc_property_parse_color
+ (c-name "gtk_rc_property_parse_color")
+ (return-type "gboolean")
+ (parameters
+ '("const-GParamSpec*" "pspec")
+ '("const-GString*" "gstring")
+ '("GValue*" "property_value")
+ )
+)
+
+(define-function gtk_rc_property_parse_enum
+ (c-name "gtk_rc_property_parse_enum")
+ (return-type "gboolean")
+ (parameters
+ '("const-GParamSpec*" "pspec")
+ '("const-GString*" "gstring")
+ '("GValue*" "property_value")
+ )
+)
+
+(define-function gtk_rc_property_parse_flags
+ (c-name "gtk_rc_property_parse_flags")
+ (return-type "gboolean")
+ (parameters
+ '("const-GParamSpec*" "pspec")
+ '("const-GString*" "gstring")
+ '("GValue*" "property_value")
+ )
+)
+
+(define-function gtk_rc_property_parse_requisition
+ (c-name "gtk_rc_property_parse_requisition")
+ (return-type "gboolean")
+ (parameters
+ '("const-GParamSpec*" "pspec")
+ '("const-GString*" "gstring")
+ '("GValue*" "property_value")
+ )
+)
+
+(define-function gtk_rc_property_parse_border
+ (c-name "gtk_rc_property_parse_border")
+ (return-type "gboolean")
+ (parameters
+ '("const-GParamSpec*" "pspec")
+ '("const-GString*" "gstring")
+ '("GValue*" "property_value")
+ )
+)
+
+(define-method set_property_value
+ (of-object "GtkSettings")
+ (c-name "gtk_settings_set_property_value")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "name")
+ '("const-GtkSettingsValue*" "svalue")
+ )
+)
+
+(define-method set_string_property
+ (of-object "GtkSettings")
+ (c-name "gtk_settings_set_string_property")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "name")
+ '("const-gchar*" "v_string")
+ '("const-gchar*" "origin")
+ )
+)
+
+(define-method set_long_property
+ (of-object "GtkSettings")
+ (c-name "gtk_settings_set_long_property")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "name")
+ '("glong" "v_long")
+ '("const-gchar*" "origin")
+ )
+)
+
+(define-method set_double_property
+ (of-object "GtkSettings")
+ (c-name "gtk_settings_set_double_property")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "name")
+ '("gdouble" "v_double")
+ '("const-gchar*" "origin")
+ )
+)
+
+
+
+;; From gtksignal.h
+
+(define-function gtk_signal_newv
+ (c-name "gtk_signal_newv")
+ (return-type "guint")
+ (parameters
+ '("const-gchar*" "name")
+ '("GtkSignalRunType" "signal_flags")
+ '("GtkType" "object_type")
+ '("guint" "function_offset")
+ '("GtkSignalMarshaller" "marshaller")
+ '("GtkType" "return_val")
+ '("guint" "n_args")
+ '("GtkType*" "args")
+ )
+)
+
+(define-function gtk_signal_new
+ (c-name "gtk_signal_new")
+ (return-type "guint")
+ (parameters
+ '("const-gchar*" "name")
+ '("GtkSignalRunType" "signal_flags")
+ '("GtkType" "object_type")
+ '("guint" "function_offset")
+ '("GtkSignalMarshaller" "marshaller")
+ '("GtkType" "return_val")
+ '("guint" "n_args")
+ )
+ (varargs #t)
+)
+
+(define-function gtk_signal_emit_stop_by_name
+ (c-name "gtk_signal_emit_stop_by_name")
+ (return-type "none")
+ (parameters
+ '("GtkObject*" "object")
+ '("const-gchar*" "name")
+ )
+)
+
+(define-function gtk_signal_connect_object_while_alive
+ (c-name "gtk_signal_connect_object_while_alive")
+ (return-type "none")
+ (parameters
+ '("GtkObject*" "object")
+ '("const-gchar*" "name")
+ '("GtkSignalFunc" "func")
+ '("GtkObject*" "alive_object")
+ )
+)
+
+(define-function gtk_signal_connect_while_alive
+ (c-name "gtk_signal_connect_while_alive")
+ (return-type "none")
+ (parameters
+ '("GtkObject*" "object")
+ '("const-gchar*" "name")
+ '("GtkSignalFunc" "func")
+ '("gpointer" "func_data")
+ '("GtkObject*" "alive_object")
+ )
+)
+
+(define-function gtk_signal_connect_full
+ (c-name "gtk_signal_connect_full")
+ (return-type "gulong")
+ (parameters
+ '("GtkObject*" "object")
+ '("const-gchar*" "name")
+ '("GtkSignalFunc" "func")
+ '("GtkCallbackMarshal" "unsupported")
+ '("gpointer" "data")
+ '("GtkDestroyNotify" "destroy_func")
+ '("gint" "object_signal")
+ '("gint" "after")
+ )
+)
+
+(define-function gtk_signal_emitv
+ (c-name "gtk_signal_emitv")
+ (return-type "none")
+ (parameters
+ '("GtkObject*" "object")
+ '("guint" "signal_id")
+ '("GtkArg*" "args")
+ )
+)
+
+(define-function gtk_signal_emit
+ (c-name "gtk_signal_emit")
+ (return-type "none")
+ (parameters
+ '("GtkObject*" "object")
+ '("guint" "signal_id")
+ )
+ (varargs #t)
+)
+
+(define-function gtk_signal_emit_by_name
+ (c-name "gtk_signal_emit_by_name")
+ (return-type "none")
+ (parameters
+ '("GtkObject*" "object")
+ '("const-gchar*" "name")
+ )
+ (varargs #t)
+)
+
+(define-function gtk_signal_emitv_by_name
+ (c-name "gtk_signal_emitv_by_name")
+ (return-type "none")
+ (parameters
+ '("GtkObject*" "object")
+ '("const-gchar*" "name")
+ '("GtkArg*" "args")
+ )
+)
+
+(define-function gtk_signal_compat_matched
+ (c-name "gtk_signal_compat_matched")
+ (return-type "none")
+ (parameters
+ '("GtkObject*" "object")
+ '("GtkSignalFunc" "func")
+ '("gpointer" "data")
+ '("GSignalMatchType" "match")
+ '("guint" "action")
+ )
+)
+
+
+
+;; From gtksizegroup.h
+
+(define-function gtk_size_group_get_type
+ (c-name "gtk_size_group_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_size_group_new
+ (c-name "gtk_size_group_new")
+ (is-constructor-of "GtkSizeGroup")
+ (return-type "GtkSizeGroup*")
+ (parameters
+ '("GtkSizeGroupMode" "mode")
+ )
+)
+
+(define-method set_mode
+ (of-object "GtkSizeGroup")
+ (c-name "gtk_size_group_set_mode")
+ (return-type "none")
+ (parameters
+ '("GtkSizeGroupMode" "mode")
+ )
+)
+
+(define-method get_mode
+ (of-object "GtkSizeGroup")
+ (c-name "gtk_size_group_get_mode")
+ (return-type "GtkSizeGroupMode")
+)
+
+(define-method set_ignore_hidden
+ (of-object "GtkSizeGroup")
+ (c-name "gtk_size_group_set_ignore_hidden")
+ (return-type "none")
+ (parameters
+ '("gboolean" "ignore_hidden")
+ )
+)
+
+(define-method get_ignore_hidden
+ (of-object "GtkSizeGroup")
+ (c-name "gtk_size_group_get_ignore_hidden")
+ (return-type "gboolean")
+)
+
+(define-method add_widget
+ (of-object "GtkSizeGroup")
+ (c-name "gtk_size_group_add_widget")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-method remove_widget
+ (of-object "GtkSizeGroup")
+ (c-name "gtk_size_group_remove_widget")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-method get_widgets
+ (of-object "GtkSizeGroup")
+ (c-name "gtk_size_group_get_widgets")
+ (return-type "GSList*")
+)
+
+
+
+;; From gtksocket.h
+
+(define-function gtk_socket_get_type
+ (c-name "gtk_socket_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_socket_new
+ (c-name "gtk_socket_new")
+ (is-constructor-of "GtkSocket")
+ (return-type "GtkWidget*")
+)
+
+(define-method add_id
+ (of-object "GtkSocket")
+ (c-name "gtk_socket_add_id")
+ (return-type "none")
+ (parameters
+ '("GdkNativeWindow" "window_id")
+ )
+)
+
+(define-method get_id
+ (of-object "GtkSocket")
+ (c-name "gtk_socket_get_id")
+ (return-type "GdkNativeWindow")
+)
+
+(define-method steal
+ (of-object "GtkSocket")
+ (c-name "gtk_socket_steal")
+ (return-type "none")
+ (parameters
+ '("GdkNativeWindow" "wid")
+ )
+)
+
+
+
+;; From gtksocketprivate.h
+
+
+
+;; From gtkspinbutton.h
+
+(define-function gtk_spin_button_get_type
+ (c-name "gtk_spin_button_get_type")
+ (return-type "GType")
+)
+
+(define-method configure
+ (of-object "GtkSpinButton")
+ (c-name "gtk_spin_button_configure")
+ (return-type "none")
+ (parameters
+ '("GtkAdjustment*" "adjustment")
+ '("gdouble" "climb_rate")
+ '("guint" "digits")
+ )
+)
+
+(define-function gtk_spin_button_new
+ (c-name "gtk_spin_button_new")
+ (is-constructor-of "GtkSpinButton")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkAdjustment*" "adjustment")
+ '("gdouble" "climb_rate")
+ '("guint" "digits")
+ )
+)
+
+(define-function gtk_spin_button_new_with_range
+ (c-name "gtk_spin_button_new_with_range")
+ (return-type "GtkWidget*")
+ (parameters
+ '("gdouble" "min")
+ '("gdouble" "max")
+ '("gdouble" "step")
+ )
+)
+
+(define-method set_adjustment
+ (of-object "GtkSpinButton")
+ (c-name "gtk_spin_button_set_adjustment")
+ (return-type "none")
+ (parameters
+ '("GtkAdjustment*" "adjustment")
+ )
+)
+
+(define-method get_adjustment
+ (of-object "GtkSpinButton")
+ (c-name "gtk_spin_button_get_adjustment")
+ (return-type "GtkAdjustment*")
+)
+
+(define-method set_digits
+ (of-object "GtkSpinButton")
+ (c-name "gtk_spin_button_set_digits")
+ (return-type "none")
+ (parameters
+ '("guint" "digits")
+ )
+)
+
+(define-method get_digits
+ (of-object "GtkSpinButton")
+ (c-name "gtk_spin_button_get_digits")
+ (return-type "guint")
+)
+
+(define-method set_increments
+ (of-object "GtkSpinButton")
+ (c-name "gtk_spin_button_set_increments")
+ (return-type "none")
+ (parameters
+ '("gdouble" "step")
+ '("gdouble" "page")
+ )
+)
+
+(define-method get_increments
+ (of-object "GtkSpinButton")
+ (c-name "gtk_spin_button_get_increments")
+ (return-type "none")
+ (parameters
+ '("gdouble*" "step")
+ '("gdouble*" "page")
+ )
+)
+
+(define-method set_range
+ (of-object "GtkSpinButton")
+ (c-name "gtk_spin_button_set_range")
+ (return-type "none")
+ (parameters
+ '("gdouble" "min")
+ '("gdouble" "max")
+ )
+)
+
+(define-method get_range
+ (of-object "GtkSpinButton")
+ (c-name "gtk_spin_button_get_range")
+ (return-type "none")
+ (parameters
+ '("gdouble*" "min")
+ '("gdouble*" "max")
+ )
+)
+
+(define-method get_value
+ (of-object "GtkSpinButton")
+ (c-name "gtk_spin_button_get_value")
+ (return-type "gdouble")
+)
+
+(define-method get_value_as_int
+ (of-object "GtkSpinButton")
+ (c-name "gtk_spin_button_get_value_as_int")
+ (return-type "gint")
+)
+
+(define-method set_value
+ (of-object "GtkSpinButton")
+ (c-name "gtk_spin_button_set_value")
+ (return-type "none")
+ (parameters
+ '("gdouble" "value")
+ )
+)
+
+(define-method set_update_policy
+ (of-object "GtkSpinButton")
+ (c-name "gtk_spin_button_set_update_policy")
+ (return-type "none")
+ (parameters
+ '("GtkSpinButtonUpdatePolicy" "policy")
+ )
+)
+
+(define-method get_update_policy
+ (of-object "GtkSpinButton")
+ (c-name "gtk_spin_button_get_update_policy")
+ (return-type "GtkSpinButtonUpdatePolicy")
+)
+
+(define-method set_numeric
+ (of-object "GtkSpinButton")
+ (c-name "gtk_spin_button_set_numeric")
+ (return-type "none")
+ (parameters
+ '("gboolean" "numeric")
+ )
+)
+
+(define-method get_numeric
+ (of-object "GtkSpinButton")
+ (c-name "gtk_spin_button_get_numeric")
+ (return-type "gboolean")
+)
+
+(define-method spin
+ (of-object "GtkSpinButton")
+ (c-name "gtk_spin_button_spin")
+ (return-type "none")
+ (parameters
+ '("GtkSpinType" "direction")
+ '("gdouble" "increment")
+ )
+)
+
+(define-method set_wrap
+ (of-object "GtkSpinButton")
+ (c-name "gtk_spin_button_set_wrap")
+ (return-type "none")
+ (parameters
+ '("gboolean" "wrap")
+ )
+)
+
+(define-method get_wrap
+ (of-object "GtkSpinButton")
+ (c-name "gtk_spin_button_get_wrap")
+ (return-type "gboolean")
+)
+
+(define-method set_snap_to_ticks
+ (of-object "GtkSpinButton")
+ (c-name "gtk_spin_button_set_snap_to_ticks")
+ (return-type "none")
+ (parameters
+ '("gboolean" "snap_to_ticks")
+ )
+)
+
+(define-method get_snap_to_ticks
+ (of-object "GtkSpinButton")
+ (c-name "gtk_spin_button_get_snap_to_ticks")
+ (return-type "gboolean")
+)
+
+(define-method update
+ (of-object "GtkSpinButton")
+ (c-name "gtk_spin_button_update")
+ (return-type "none")
+)
+
+
+
+;; From gtkstatusbar.h
+
+(define-function gtk_statusbar_get_type
+ (c-name "gtk_statusbar_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_statusbar_new
+ (c-name "gtk_statusbar_new")
+ (is-constructor-of "GtkStatusbar")
+ (return-type "GtkWidget*")
+)
+
+(define-method get_context_id
+ (of-object "GtkStatusbar")
+ (c-name "gtk_statusbar_get_context_id")
+ (return-type "guint")
+ (parameters
+ '("const-gchar*" "context_description")
+ )
+)
+
+(define-method push
+ (of-object "GtkStatusbar")
+ (c-name "gtk_statusbar_push")
+ (return-type "guint")
+ (parameters
+ '("guint" "context_id")
+ '("const-gchar*" "text")
+ )
+)
+
+(define-method pop
+ (of-object "GtkStatusbar")
+ (c-name "gtk_statusbar_pop")
+ (return-type "none")
+ (parameters
+ '("guint" "context_id")
+ )
+)
+
+(define-method remove
+ (of-object "GtkStatusbar")
+ (c-name "gtk_statusbar_remove")
+ (return-type "none")
+ (parameters
+ '("guint" "context_id")
+ '("guint" "message_id")
+ )
+)
+
+(define-method set_has_resize_grip
+ (of-object "GtkStatusbar")
+ (c-name "gtk_statusbar_set_has_resize_grip")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_has_resize_grip
+ (of-object "GtkStatusbar")
+ (c-name "gtk_statusbar_get_has_resize_grip")
+ (return-type "gboolean")
+)
+
+
+
+;; From gtkstatusicon.h
+
+(define-function gtk_status_icon_get_type
+ (c-name "gtk_status_icon_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_status_icon_new
+ (c-name "gtk_status_icon_new")
+ (is-constructor-of "GtkStatusIcon")
+ (return-type "GtkStatusIcon*")
+)
+
+(define-function gtk_status_icon_new_from_pixbuf
+ (c-name "gtk_status_icon_new_from_pixbuf")
+ (return-type "GtkStatusIcon*")
+ (parameters
+ '("GdkPixbuf*" "pixbuf")
+ )
+)
+
+(define-function gtk_status_icon_new_from_file
+ (c-name "gtk_status_icon_new_from_file")
+ (return-type "GtkStatusIcon*")
+ (parameters
+ '("const-gchar*" "filename")
+ )
+)
+
+(define-function gtk_status_icon_new_from_stock
+ (c-name "gtk_status_icon_new_from_stock")
+ (return-type "GtkStatusIcon*")
+ (parameters
+ '("const-gchar*" "stock_id")
+ )
+)
+
+(define-function gtk_status_icon_new_from_icon_name
+ (c-name "gtk_status_icon_new_from_icon_name")
+ (return-type "GtkStatusIcon*")
+ (parameters
+ '("const-gchar*" "icon_name")
+ )
+)
+
+(define-method set_from_pixbuf
+ (of-object "GtkStatusIcon")
+ (c-name "gtk_status_icon_set_from_pixbuf")
+ (return-type "none")
+ (parameters
+ '("GdkPixbuf*" "pixbuf")
+ )
+)
+
+(define-method set_from_file
+ (of-object "GtkStatusIcon")
+ (c-name "gtk_status_icon_set_from_file")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "filename")
+ )
+)
+
+(define-method set_from_stock
+ (of-object "GtkStatusIcon")
+ (c-name "gtk_status_icon_set_from_stock")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "stock_id")
+ )
+)
+
+(define-method set_from_icon_name
+ (of-object "GtkStatusIcon")
+ (c-name "gtk_status_icon_set_from_icon_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "icon_name")
+ )
+)
+
+(define-method get_storage_type
+ (of-object "GtkStatusIcon")
+ (c-name "gtk_status_icon_get_storage_type")
+ (return-type "GtkImageType")
+)
+
+(define-method get_pixbuf
+ (of-object "GtkStatusIcon")
+ (c-name "gtk_status_icon_get_pixbuf")
+ (return-type "GdkPixbuf*")
+)
+
+(define-method get_stock
+ (of-object "GtkStatusIcon")
+ (c-name "gtk_status_icon_get_stock")
+ (return-type "const-gchar*")
+)
+
+(define-method get_icon_name
+ (of-object "GtkStatusIcon")
+ (c-name "gtk_status_icon_get_icon_name")
+ (return-type "const-gchar*")
+)
+
+(define-method get_size
+ (of-object "GtkStatusIcon")
+ (c-name "gtk_status_icon_get_size")
+ (return-type "gint")
+)
+
+(define-method set_screen
+ (of-object "GtkStatusIcon")
+ (c-name "gtk_status_icon_set_screen")
+ (return-type "none")
+ (parameters
+ '("GdkScreen*" "screen")
+ )
+)
+
+(define-method get_screen
+ (of-object "GtkStatusIcon")
+ (c-name "gtk_status_icon_get_screen")
+ (return-type "GdkScreen*")
+)
+
+(define-method set_tooltip
+ (of-object "GtkStatusIcon")
+ (c-name "gtk_status_icon_set_tooltip")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "tooltip_text")
+ )
+)
+
+(define-method set_visible
+ (of-object "GtkStatusIcon")
+ (c-name "gtk_status_icon_set_visible")
+ (return-type "none")
+ (parameters
+ '("gboolean" "visible")
+ )
+)
+
+(define-method get_visible
+ (of-object "GtkStatusIcon")
+ (c-name "gtk_status_icon_get_visible")
+ (return-type "gboolean")
+)
+
+(define-method set_blinking
+ (of-object "GtkStatusIcon")
+ (c-name "gtk_status_icon_set_blinking")
+ (return-type "none")
+ (parameters
+ '("gboolean" "blinking")
+ )
+)
+
+(define-method get_blinking
+ (of-object "GtkStatusIcon")
+ (c-name "gtk_status_icon_get_blinking")
+ (return-type "gboolean")
+)
+
+(define-method is_embedded
+ (of-object "GtkStatusIcon")
+ (c-name "gtk_status_icon_is_embedded")
+ (return-type "gboolean")
+)
+
+(define-function gtk_status_icon_position_menu
+ (c-name "gtk_status_icon_position_menu")
+ (return-type "none")
+ (parameters
+ '("GtkMenu*" "menu")
+ '("gint*" "x")
+ '("gint*" "y")
+ '("gboolean*" "push_in")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method get_geometry
+ (of-object "GtkStatusIcon")
+ (c-name "gtk_status_icon_get_geometry")
+ (return-type "gboolean")
+ (parameters
+ '("GdkScreen**" "screen")
+ '("GdkRectangle*" "area")
+ '("GtkOrientation*" "orientation")
+ )
+)
+
+
+
+;; From gtkstock.h
+
+(define-function gtk_stock_add
+ (c-name "gtk_stock_add")
+ (return-type "none")
+ (parameters
+ '("const-GtkStockItem*" "items")
+ '("guint" "n_items")
+ )
+)
+
+(define-function gtk_stock_add_static
+ (c-name "gtk_stock_add_static")
+ (return-type "none")
+ (parameters
+ '("const-GtkStockItem*" "items")
+ '("guint" "n_items")
+ )
+)
+
+(define-function gtk_stock_lookup
+ (c-name "gtk_stock_lookup")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "stock_id")
+ '("GtkStockItem*" "item")
+ )
+)
+
+(define-function gtk_stock_list_ids
+ (c-name "gtk_stock_list_ids")
+ (return-type "GSList*")
+)
+
+(define-method copy
+ (of-object "GtkStockItem")
+ (c-name "gtk_stock_item_copy")
+ (return-type "GtkStockItem*")
+)
+
+(define-method free
+ (of-object "GtkStockItem")
+ (c-name "gtk_stock_item_free")
+ (return-type "none")
+)
+
+(define-function gtk_stock_set_translate_func
+ (c-name "gtk_stock_set_translate_func")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "domain")
+ '("GtkTranslateFunc" "func")
+ '("gpointer" "data")
+ '("GtkDestroyNotify" "notify")
+ )
+)
+
+
+
+;; From gtkstyle.h
+
+(define-function gtk_style_get_type
+ (c-name "gtk_style_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_style_new
+ (c-name "gtk_style_new")
+ (is-constructor-of "GtkStyle")
+ (return-type "GtkStyle*")
+)
+
+(define-method copy
+ (of-object "GtkStyle")
+ (c-name "gtk_style_copy")
+ (return-type "GtkStyle*")
+)
+
+(define-method attach
+ (of-object "GtkStyle")
+ (c-name "gtk_style_attach")
+ (return-type "GtkStyle*")
+ (parameters
+ '("GdkWindow*" "window")
+ )
+)
+
+(define-method detach
+ (of-object "GtkStyle")
+ (c-name "gtk_style_detach")
+ (return-type "none")
+)
+
+(define-method ref
+ (of-object "GtkStyle")
+ (c-name "gtk_style_ref")
+ (return-type "GtkStyle*")
+)
+
+(define-method unref
+ (of-object "GtkStyle")
+ (c-name "gtk_style_unref")
+ (return-type "none")
+)
+
+(define-method get_font
+ (of-object "GtkStyle")
+ (c-name "gtk_style_get_font")
+ (return-type "GdkFont*")
+)
+
+(define-method set_font
+ (of-object "GtkStyle")
+ (c-name "gtk_style_set_font")
+ (return-type "none")
+ (parameters
+ '("GdkFont*" "font")
+ )
+)
+
+(define-method set_background
+ (of-object "GtkStyle")
+ (c-name "gtk_style_set_background")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ )
+)
+
+(define-method apply_default_background
+ (of-object "GtkStyle")
+ (c-name "gtk_style_apply_default_background")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("gboolean" "set_bg")
+ '("GtkStateType" "state_type")
+ '("GdkRectangle*" "area")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-method lookup_icon_set
+ (of-object "GtkStyle")
+ (c-name "gtk_style_lookup_icon_set")
+ (return-type "GtkIconSet*")
+ (parameters
+ '("const-gchar*" "stock_id")
+ )
+)
+
+(define-method lookup_color
+ (of-object "GtkStyle")
+ (c-name "gtk_style_lookup_color")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "color_name")
+ '("GdkColor*" "color")
+ )
+)
+
+(define-method render_icon
+ (of-object "GtkStyle")
+ (c-name "gtk_style_render_icon")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("const-GtkIconSource*" "source")
+ '("GtkTextDirection" "direction")
+ '("GtkStateType" "state")
+ '("GtkIconSize" "size")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ )
+)
+
+(define-function gtk_draw_hline
+ (c-name "gtk_draw_hline")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("gint" "x1")
+ '("gint" "x2")
+ '("gint" "y")
+ )
+)
+
+(define-function gtk_draw_vline
+ (c-name "gtk_draw_vline")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("gint" "y1_")
+ '("gint" "y2_")
+ '("gint" "x")
+ )
+)
+
+(define-function gtk_draw_shadow
+ (c-name "gtk_draw_shadow")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gtk_draw_polygon
+ (c-name "gtk_draw_polygon")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkPoint*" "points")
+ '("gint" "npoints")
+ '("gboolean" "fill")
+ )
+)
+
+(define-function gtk_draw_arrow
+ (c-name "gtk_draw_arrow")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GtkArrowType" "arrow_type")
+ '("gboolean" "fill")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gtk_draw_diamond
+ (c-name "gtk_draw_diamond")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gtk_draw_box
+ (c-name "gtk_draw_box")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gtk_draw_flat_box
+ (c-name "gtk_draw_flat_box")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gtk_draw_check
+ (c-name "gtk_draw_check")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gtk_draw_option
+ (c-name "gtk_draw_option")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gtk_draw_tab
+ (c-name "gtk_draw_tab")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gtk_draw_shadow_gap
+ (c-name "gtk_draw_shadow_gap")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("GtkPositionType" "gap_side")
+ '("gint" "gap_x")
+ '("gint" "gap_width")
+ )
+)
+
+(define-function gtk_draw_box_gap
+ (c-name "gtk_draw_box_gap")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("GtkPositionType" "gap_side")
+ '("gint" "gap_x")
+ '("gint" "gap_width")
+ )
+)
+
+(define-function gtk_draw_extension
+ (c-name "gtk_draw_extension")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("GtkPositionType" "gap_side")
+ )
+)
+
+(define-function gtk_draw_focus
+ (c-name "gtk_draw_focus")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gtk_draw_slider
+ (c-name "gtk_draw_slider")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("GtkOrientation" "orientation")
+ )
+)
+
+(define-function gtk_draw_handle
+ (c-name "gtk_draw_handle")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("GtkOrientation" "orientation")
+ )
+)
+
+(define-function gtk_draw_expander
+ (c-name "gtk_draw_expander")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("gint" "x")
+ '("gint" "y")
+ '("GtkExpanderStyle" "expander_style")
+ )
+)
+
+(define-function gtk_draw_layout
+ (c-name "gtk_draw_layout")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("gboolean" "use_text")
+ '("gint" "x")
+ '("gint" "y")
+ '("PangoLayout*" "layout")
+ )
+)
+
+(define-function gtk_draw_resize_grip
+ (c-name "gtk_draw_resize_grip")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GdkWindowEdge" "edge")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gtk_paint_hline
+ (c-name "gtk_paint_hline")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x1")
+ '("gint" "x2")
+ '("gint" "y")
+ )
+)
+
+(define-function gtk_paint_vline
+ (c-name "gtk_paint_vline")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "y1_")
+ '("gint" "y2_")
+ '("gint" "x")
+ )
+)
+
+(define-function gtk_paint_shadow
+ (c-name "gtk_paint_shadow")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gtk_paint_polygon
+ (c-name "gtk_paint_polygon")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("GdkPoint*" "points")
+ '("gint" "npoints")
+ '("gboolean" "fill")
+ )
+)
+
+(define-function gtk_paint_arrow
+ (c-name "gtk_paint_arrow")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("GtkArrowType" "arrow_type")
+ '("gboolean" "fill")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gtk_paint_diamond
+ (c-name "gtk_paint_diamond")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gtk_paint_box
+ (c-name "gtk_paint_box")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gtk_paint_flat_box
+ (c-name "gtk_paint_flat_box")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gtk_paint_check
+ (c-name "gtk_paint_check")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gtk_paint_option
+ (c-name "gtk_paint_option")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gtk_paint_tab
+ (c-name "gtk_paint_tab")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gtk_paint_shadow_gap
+ (c-name "gtk_paint_shadow_gap")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("GtkPositionType" "gap_side")
+ '("gint" "gap_x")
+ '("gint" "gap_width")
+ )
+)
+
+(define-function gtk_paint_box_gap
+ (c-name "gtk_paint_box_gap")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("GtkPositionType" "gap_side")
+ '("gint" "gap_x")
+ '("gint" "gap_width")
+ )
+)
+
+(define-function gtk_paint_extension
+ (c-name "gtk_paint_extension")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("GtkPositionType" "gap_side")
+ )
+)
+
+(define-function gtk_paint_focus
+ (c-name "gtk_paint_focus")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gtk_paint_slider
+ (c-name "gtk_paint_slider")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("GtkOrientation" "orientation")
+ )
+)
+
+(define-function gtk_paint_handle
+ (c-name "gtk_paint_handle")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("GtkOrientation" "orientation")
+ )
+)
+
+(define-function gtk_paint_expander
+ (c-name "gtk_paint_expander")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("GtkExpanderStyle" "expander_style")
+ )
+)
+
+(define-function gtk_paint_layout
+ (c-name "gtk_paint_layout")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("gboolean" "use_text")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("PangoLayout*" "layout")
+ )
+)
+
+(define-function gtk_paint_resize_grip
+ (c-name "gtk_paint_resize_grip")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("GdkWindowEdge" "edge")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-function gtk_border_get_type
+ (c-name "gtk_border_get_type")
+ (return-type "GType")
+)
+
+(define-method copy
+ (of-object "GtkBorder")
+ (c-name "gtk_border_copy")
+ (return-type "GtkBorder*")
+)
+
+(define-method free
+ (of-object "GtkBorder")
+ (c-name "gtk_border_free")
+ (return-type "none")
+)
+
+(define-function gtk_draw_string
+ (c-name "gtk_draw_string")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("gint" "x")
+ '("gint" "y")
+ '("const-gchar*" "string")
+ )
+)
+
+(define-function gtk_paint_string
+ (c-name "gtk_paint_string")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("const-gchar*" "string")
+ )
+)
+
+(define-function gtk_draw_insertion_cursor
+ (c-name "gtk_draw_insertion_cursor")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("GdkDrawable*" "drawable")
+ '("GdkRectangle*" "area")
+ '("GdkRectangle*" "location")
+ '("gboolean" "is_primary")
+ '("GtkTextDirection" "direction")
+ '("gboolean" "draw_arrow")
+ )
+)
+
+
+
+;; From gtktable.h
+
+(define-function gtk_table_get_type
+ (c-name "gtk_table_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_table_new
+ (c-name "gtk_table_new")
+ (is-constructor-of "GtkTable")
+ (return-type "GtkWidget*")
+ (parameters
+ '("guint" "rows")
+ '("guint" "columns")
+ '("gboolean" "homogeneous")
+ )
+)
+
+(define-method resize
+ (of-object "GtkTable")
+ (c-name "gtk_table_resize")
+ (return-type "none")
+ (parameters
+ '("guint" "rows")
+ '("guint" "columns")
+ )
+)
+
+(define-method attach
+ (of-object "GtkTable")
+ (c-name "gtk_table_attach")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("guint" "left_attach")
+ '("guint" "right_attach")
+ '("guint" "top_attach")
+ '("guint" "bottom_attach")
+ '("GtkAttachOptions" "xoptions")
+ '("GtkAttachOptions" "yoptions")
+ '("guint" "xpadding")
+ '("guint" "ypadding")
+ )
+)
+
+(define-method attach_defaults
+ (of-object "GtkTable")
+ (c-name "gtk_table_attach_defaults")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("guint" "left_attach")
+ '("guint" "right_attach")
+ '("guint" "top_attach")
+ '("guint" "bottom_attach")
+ )
+)
+
+(define-method set_row_spacing
+ (of-object "GtkTable")
+ (c-name "gtk_table_set_row_spacing")
+ (return-type "none")
+ (parameters
+ '("guint" "row")
+ '("guint" "spacing")
+ )
+)
+
+(define-method get_row_spacing
+ (of-object "GtkTable")
+ (c-name "gtk_table_get_row_spacing")
+ (return-type "guint")
+ (parameters
+ '("guint" "row")
+ )
+)
+
+(define-method set_col_spacing
+ (of-object "GtkTable")
+ (c-name "gtk_table_set_col_spacing")
+ (return-type "none")
+ (parameters
+ '("guint" "column")
+ '("guint" "spacing")
+ )
+)
+
+(define-method get_col_spacing
+ (of-object "GtkTable")
+ (c-name "gtk_table_get_col_spacing")
+ (return-type "guint")
+ (parameters
+ '("guint" "column")
+ )
+)
+
+(define-method set_row_spacings
+ (of-object "GtkTable")
+ (c-name "gtk_table_set_row_spacings")
+ (return-type "none")
+ (parameters
+ '("guint" "spacing")
+ )
+)
+
+(define-method get_default_row_spacing
+ (of-object "GtkTable")
+ (c-name "gtk_table_get_default_row_spacing")
+ (return-type "guint")
+)
+
+(define-method set_col_spacings
+ (of-object "GtkTable")
+ (c-name "gtk_table_set_col_spacings")
+ (return-type "none")
+ (parameters
+ '("guint" "spacing")
+ )
+)
+
+(define-method get_default_col_spacing
+ (of-object "GtkTable")
+ (c-name "gtk_table_get_default_col_spacing")
+ (return-type "guint")
+)
+
+(define-method set_homogeneous
+ (of-object "GtkTable")
+ (c-name "gtk_table_set_homogeneous")
+ (return-type "none")
+ (parameters
+ '("gboolean" "homogeneous")
+ )
+)
+
+(define-method get_homogeneous
+ (of-object "GtkTable")
+ (c-name "gtk_table_get_homogeneous")
+ (return-type "gboolean")
+)
+
+
+
+;; From gtktearoffmenuitem.h
+
+(define-function gtk_tearoff_menu_item_get_type
+ (c-name "gtk_tearoff_menu_item_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_tearoff_menu_item_new
+ (c-name "gtk_tearoff_menu_item_new")
+ (is-constructor-of "GtkTearoffMenuItem")
+ (return-type "GtkWidget*")
+)
+
+
+
+;; From gtktextbtree.h
+
+
+
+;; From gtktextbuffer.h
+
+(define-function gtk_text_buffer_get_type
+ (c-name "gtk_text_buffer_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_text_buffer_new
+ (c-name "gtk_text_buffer_new")
+ (is-constructor-of "GtkTextBuffer")
+ (return-type "GtkTextBuffer*")
+ (parameters
+ '("GtkTextTagTable*" "table")
+ )
+)
+
+(define-method get_line_count
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_line_count")
+ (return-type "gint")
+)
+
+(define-method get_char_count
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_char_count")
+ (return-type "gint")
+)
+
+(define-method get_tag_table
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_tag_table")
+ (return-type "GtkTextTagTable*")
+)
+
+(define-method set_text
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_set_text")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "text")
+ '("gint" "len")
+ )
+)
+
+(define-method insert
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_insert")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("const-gchar*" "text")
+ '("gint" "len")
+ )
+)
+
+(define-method insert_at_cursor
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_insert_at_cursor")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "text")
+ '("gint" "len")
+ )
+)
+
+(define-method insert_interactive
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_insert_interactive")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("const-gchar*" "text")
+ '("gint" "len")
+ '("gboolean" "default_editable")
+ )
+)
+
+(define-method insert_interactive_at_cursor
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_insert_interactive_at_cursor")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "text")
+ '("gint" "len")
+ '("gboolean" "default_editable")
+ )
+)
+
+(define-method insert_range
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_insert_range")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("const-GtkTextIter*" "start")
+ '("const-GtkTextIter*" "end")
+ )
+)
+
+(define-method insert_range_interactive
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_insert_range_interactive")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("const-GtkTextIter*" "start")
+ '("const-GtkTextIter*" "end")
+ '("gboolean" "default_editable")
+ )
+)
+
+(define-method insert_with_tags
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_insert_with_tags")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("const-gchar*" "text")
+ '("gint" "len")
+ '("GtkTextTag*" "first_tag")
+ )
+ (varargs #t)
+)
+
+(define-method insert_with_tags_by_name
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_insert_with_tags_by_name")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("const-gchar*" "text")
+ '("gint" "len")
+ '("const-gchar*" "first_tag_name")
+ )
+ (varargs #t)
+)
+
+(define-method delete
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_delete")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "start")
+ '("GtkTextIter*" "end")
+ )
+)
+
+(define-method delete_interactive
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_delete_interactive")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextIter*" "start_iter")
+ '("GtkTextIter*" "end_iter")
+ '("gboolean" "default_editable")
+ )
+)
+
+(define-method backspace
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_backspace")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("gboolean" "interactive")
+ '("gboolean" "default_editable")
+ )
+)
+
+(define-method get_text
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_text")
+ (return-type "gchar*")
+ (parameters
+ '("const-GtkTextIter*" "start")
+ '("const-GtkTextIter*" "end")
+ '("gboolean" "include_hidden_chars")
+ )
+)
+
+(define-method get_slice
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_slice")
+ (return-type "gchar*")
+ (parameters
+ '("const-GtkTextIter*" "start")
+ '("const-GtkTextIter*" "end")
+ '("gboolean" "include_hidden_chars")
+ )
+)
+
+(define-method insert_pixbuf
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_insert_pixbuf")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("GdkPixbuf*" "pixbuf")
+ )
+)
+
+(define-method insert_child_anchor
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_insert_child_anchor")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("GtkTextChildAnchor*" "anchor")
+ )
+)
+
+(define-method create_child_anchor
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_create_child_anchor")
+ (return-type "GtkTextChildAnchor*")
+ (parameters
+ '("GtkTextIter*" "iter")
+ )
+)
+
+(define-method add_mark
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_add_mark")
+ (return-type "none")
+ (parameters
+ '("GtkTextMark*" "mark")
+ '("const-GtkTextIter*" "where")
+ )
+)
+
+(define-method create_mark
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_create_mark")
+ (return-type "GtkTextMark*")
+ (parameters
+ '("const-gchar*" "mark_name")
+ '("const-GtkTextIter*" "where")
+ '("gboolean" "left_gravity")
+ )
+)
+
+(define-method move_mark
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_move_mark")
+ (return-type "none")
+ (parameters
+ '("GtkTextMark*" "mark")
+ '("const-GtkTextIter*" "where")
+ )
+)
+
+(define-method delete_mark
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_delete_mark")
+ (return-type "none")
+ (parameters
+ '("GtkTextMark*" "mark")
+ )
+)
+
+(define-method get_mark
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_mark")
+ (return-type "GtkTextMark*")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method move_mark_by_name
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_move_mark_by_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "name")
+ '("const-GtkTextIter*" "where")
+ )
+)
+
+(define-method delete_mark_by_name
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_delete_mark_by_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method get_insert
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_insert")
+ (return-type "GtkTextMark*")
+)
+
+(define-method get_selection_bound
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_selection_bound")
+ (return-type "GtkTextMark*")
+)
+
+(define-method place_cursor
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_place_cursor")
+ (return-type "none")
+ (parameters
+ '("const-GtkTextIter*" "where")
+ )
+)
+
+(define-method select_range
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_select_range")
+ (return-type "none")
+ (parameters
+ '("const-GtkTextIter*" "ins")
+ '("const-GtkTextIter*" "bound")
+ )
+)
+
+(define-method apply_tag
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_apply_tag")
+ (return-type "none")
+ (parameters
+ '("GtkTextTag*" "tag")
+ '("const-GtkTextIter*" "start")
+ '("const-GtkTextIter*" "end")
+ )
+)
+
+(define-method remove_tag
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_remove_tag")
+ (return-type "none")
+ (parameters
+ '("GtkTextTag*" "tag")
+ '("const-GtkTextIter*" "start")
+ '("const-GtkTextIter*" "end")
+ )
+)
+
+(define-method apply_tag_by_name
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_apply_tag_by_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "name")
+ '("const-GtkTextIter*" "start")
+ '("const-GtkTextIter*" "end")
+ )
+)
+
+(define-method remove_tag_by_name
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_remove_tag_by_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "name")
+ '("const-GtkTextIter*" "start")
+ '("const-GtkTextIter*" "end")
+ )
+)
+
+(define-method remove_all_tags
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_remove_all_tags")
+ (return-type "none")
+ (parameters
+ '("const-GtkTextIter*" "start")
+ '("const-GtkTextIter*" "end")
+ )
+)
+
+(define-method create_tag
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_create_tag")
+ (return-type "GtkTextTag*")
+ (parameters
+ '("const-gchar*" "tag_name")
+ '("const-gchar*" "first_property_name")
+ )
+ (varargs #t)
+)
+
+(define-method get_iter_at_line_offset
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_iter_at_line_offset")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("gint" "line_number")
+ '("gint" "char_offset")
+ )
+)
+
+(define-method get_iter_at_line_index
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_iter_at_line_index")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("gint" "line_number")
+ '("gint" "byte_index")
+ )
+)
+
+(define-method get_iter_at_offset
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_iter_at_offset")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("gint" "char_offset")
+ )
+)
+
+(define-method get_iter_at_line
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_iter_at_line")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("gint" "line_number")
+ )
+)
+
+(define-method get_start_iter
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_start_iter")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "iter")
+ )
+)
+
+(define-method get_end_iter
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_end_iter")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "iter")
+ )
+)
+
+(define-method get_bounds
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_bounds")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "start")
+ '("GtkTextIter*" "end")
+ )
+)
+
+(define-method get_iter_at_mark
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_iter_at_mark")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("GtkTextMark*" "mark")
+ )
+)
+
+(define-method get_iter_at_child_anchor
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_iter_at_child_anchor")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("GtkTextChildAnchor*" "anchor")
+ )
+)
+
+(define-method get_modified
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_modified")
+ (return-type "gboolean")
+)
+
+(define-method set_modified
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_set_modified")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_has_selection
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_has_selection")
+ (return-type "gboolean")
+)
+
+(define-method add_selection_clipboard
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_add_selection_clipboard")
+ (return-type "none")
+ (parameters
+ '("GtkClipboard*" "clipboard")
+ )
+)
+
+(define-method remove_selection_clipboard
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_remove_selection_clipboard")
+ (return-type "none")
+ (parameters
+ '("GtkClipboard*" "clipboard")
+ )
+)
+
+(define-method cut_clipboard
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_cut_clipboard")
+ (return-type "none")
+ (parameters
+ '("GtkClipboard*" "clipboard")
+ '("gboolean" "default_editable")
+ )
+)
+
+(define-method copy_clipboard
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_copy_clipboard")
+ (return-type "none")
+ (parameters
+ '("GtkClipboard*" "clipboard")
+ )
+)
+
+(define-method paste_clipboard
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_paste_clipboard")
+ (return-type "none")
+ (parameters
+ '("GtkClipboard*" "clipboard")
+ '("GtkTextIter*" "override_location")
+ '("gboolean" "default_editable")
+ )
+)
+
+(define-method get_selection_bounds
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_selection_bounds")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextIter*" "start")
+ '("GtkTextIter*" "end")
+ )
+)
+
+(define-method delete_selection
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_delete_selection")
+ (return-type "gboolean")
+ (parameters
+ '("gboolean" "interactive")
+ '("gboolean" "default_editable")
+ )
+)
+
+(define-method begin_user_action
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_begin_user_action")
+ (return-type "none")
+)
+
+(define-method end_user_action
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_end_user_action")
+ (return-type "none")
+)
+
+(define-method get_copy_target_list
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_copy_target_list")
+ (return-type "GtkTargetList*")
+)
+
+(define-method get_paste_target_list
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_paste_target_list")
+ (return-type "GtkTargetList*")
+)
+
+
+
+;; From gtktextbufferrichtext.h
+
+(define-method register_serialize_format
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_register_serialize_format")
+ (return-type "GdkAtom")
+ (parameters
+ '("const-gchar*" "mime_type")
+ '("GtkTextBufferSerializeFunc" "function")
+ '("gpointer" "user_data")
+ '("GDestroyNotify" "user_data_destroy")
+ )
+)
+
+(define-method register_serialize_tagset
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_register_serialize_tagset")
+ (return-type "GdkAtom")
+ (parameters
+ '("const-gchar*" "tagset_name")
+ )
+)
+
+(define-method register_deserialize_format
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_register_deserialize_format")
+ (return-type "GdkAtom")
+ (parameters
+ '("const-gchar*" "mime_type")
+ '("GtkTextBufferDeserializeFunc" "function")
+ '("gpointer" "user_data")
+ '("GDestroyNotify" "user_data_destroy")
+ )
+)
+
+(define-method register_deserialize_tagset
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_register_deserialize_tagset")
+ (return-type "GdkAtom")
+ (parameters
+ '("const-gchar*" "tagset_name")
+ )
+)
+
+(define-method unregister_serialize_format
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_unregister_serialize_format")
+ (return-type "none")
+ (parameters
+ '("GdkAtom" "format")
+ )
+)
+
+(define-method unregister_deserialize_format
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_unregister_deserialize_format")
+ (return-type "none")
+ (parameters
+ '("GdkAtom" "format")
+ )
+)
+
+(define-method deserialize_set_can_create_tags
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_deserialize_set_can_create_tags")
+ (return-type "none")
+ (parameters
+ '("GdkAtom" "format")
+ '("gboolean" "can_create_tags")
+ )
+)
+
+(define-method deserialize_get_can_create_tags
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_deserialize_get_can_create_tags")
+ (return-type "gboolean")
+ (parameters
+ '("GdkAtom" "format")
+ )
+)
+
+(define-method get_serialize_formats
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_serialize_formats")
+ (return-type "GdkAtom*")
+ (parameters
+ '("gint*" "n_formats")
+ )
+)
+
+(define-method get_deserialize_formats
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_get_deserialize_formats")
+ (return-type "GdkAtom*")
+ (parameters
+ '("gint*" "n_formats")
+ )
+)
+
+(define-method serialize
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_serialize")
+ (return-type "guint8*")
+ (parameters
+ '("GtkTextBuffer*" "content_buffer")
+ '("GdkAtom" "format")
+ '("const-GtkTextIter*" "start")
+ '("const-GtkTextIter*" "end")
+ '("gsize*" "length")
+ )
+)
+
+(define-method deserialize
+ (of-object "GtkTextBuffer")
+ (c-name "gtk_text_buffer_deserialize")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextBuffer*" "content_buffer")
+ '("GdkAtom" "format")
+ '("GtkTextIter*" "iter")
+ '("const-guint8*" "data")
+ '("gsize" "length")
+ '("GError**" "error")
+ )
+)
+
+
+
+;; From gtktextbufferserialize.h
+
+
+
+;; From gtktextchild.h
+
+(define-function gtk_text_child_anchor_get_type
+ (c-name "gtk_text_child_anchor_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_text_child_anchor_new
+ (c-name "gtk_text_child_anchor_new")
+ (is-constructor-of "GtkTextChildAnchor")
+ (return-type "GtkTextChildAnchor*")
+)
+
+(define-method get_widgets
+ (of-object "GtkTextChildAnchor")
+ (c-name "gtk_text_child_anchor_get_widgets")
+ (return-type "GList*")
+)
+
+(define-method get_deleted
+ (of-object "GtkTextChildAnchor")
+ (c-name "gtk_text_child_anchor_get_deleted")
+ (return-type "gboolean")
+)
+
+
+
+;; From gtktextchildprivate.h
+
+
+
+;; From gtktextdisplay.h
+
+(define-method draw
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_draw")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("GdkDrawable*" "drawable")
+ '("GdkGC*" "cursor_gc")
+ '("gint" "x_offset")
+ '("gint" "y_offset")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("GList**" "widgets")
+ )
+)
+
+
+
+;; From gtktext.h
+
+(define-function gtk_text_get_type
+ (c-name "gtk_text_get_type")
+ (return-type "GtkType")
+)
+
+(define-function gtk_text_new
+ (c-name "gtk_text_new")
+ (is-constructor-of "GtkText")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkAdjustment*" "hadj")
+ '("GtkAdjustment*" "vadj")
+ )
+)
+
+(define-method set_editable
+ (of-object "GtkText")
+ (c-name "gtk_text_set_editable")
+ (return-type "none")
+ (parameters
+ '("gboolean" "editable")
+ )
+)
+
+(define-method set_word_wrap
+ (of-object "GtkText")
+ (c-name "gtk_text_set_word_wrap")
+ (return-type "none")
+ (parameters
+ '("gboolean" "word_wrap")
+ )
+)
+
+(define-method set_line_wrap
+ (of-object "GtkText")
+ (c-name "gtk_text_set_line_wrap")
+ (return-type "none")
+ (parameters
+ '("gboolean" "line_wrap")
+ )
+)
+
+(define-method set_adjustments
+ (of-object "GtkText")
+ (c-name "gtk_text_set_adjustments")
+ (return-type "none")
+ (parameters
+ '("GtkAdjustment*" "hadj")
+ '("GtkAdjustment*" "vadj")
+ )
+)
+
+(define-method set_point
+ (of-object "GtkText")
+ (c-name "gtk_text_set_point")
+ (return-type "none")
+ (parameters
+ '("guint" "index")
+ )
+)
+
+(define-method get_point
+ (of-object "GtkText")
+ (c-name "gtk_text_get_point")
+ (return-type "guint")
+)
+
+(define-method get_length
+ (of-object "GtkText")
+ (c-name "gtk_text_get_length")
+ (return-type "guint")
+)
+
+(define-method freeze
+ (of-object "GtkText")
+ (c-name "gtk_text_freeze")
+ (return-type "none")
+)
+
+(define-method thaw
+ (of-object "GtkText")
+ (c-name "gtk_text_thaw")
+ (return-type "none")
+)
+
+(define-method insert
+ (of-object "GtkText")
+ (c-name "gtk_text_insert")
+ (return-type "none")
+ (parameters
+ '("GdkFont*" "font")
+ '("const-GdkColor*" "fore")
+ '("const-GdkColor*" "back")
+ '("const-char*" "chars")
+ '("gint" "length")
+ )
+)
+
+(define-method backward_delete
+ (of-object "GtkText")
+ (c-name "gtk_text_backward_delete")
+ (return-type "gboolean")
+ (parameters
+ '("guint" "nchars")
+ )
+)
+
+(define-method forward_delete
+ (of-object "GtkText")
+ (c-name "gtk_text_forward_delete")
+ (return-type "gboolean")
+ (parameters
+ '("guint" "nchars")
+ )
+)
+
+
+
+;; From gtktextiter.h
+
+(define-method get_buffer
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_get_buffer")
+ (return-type "GtkTextBuffer*")
+)
+
+(define-method copy
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_copy")
+ (return-type "GtkTextIter*")
+)
+
+(define-method free
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_free")
+ (return-type "none")
+)
+
+(define-function gtk_text_iter_get_type
+ (c-name "gtk_text_iter_get_type")
+ (return-type "GType")
+)
+
+(define-method get_offset
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_get_offset")
+ (return-type "gint")
+)
+
+(define-method get_line
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_get_line")
+ (return-type "gint")
+)
+
+(define-method get_line_offset
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_get_line_offset")
+ (return-type "gint")
+)
+
+(define-method get_line_index
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_get_line_index")
+ (return-type "gint")
+)
+
+(define-method get_visible_line_offset
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_get_visible_line_offset")
+ (return-type "gint")
+)
+
+(define-method get_visible_line_index
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_get_visible_line_index")
+ (return-type "gint")
+)
+
+(define-method get_char
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_get_char")
+ (return-type "gunichar")
+)
+
+(define-method get_slice
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_get_slice")
+ (return-type "gchar*")
+ (parameters
+ '("const-GtkTextIter*" "end")
+ )
+)
+
+(define-method get_text
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_get_text")
+ (return-type "gchar*")
+ (parameters
+ '("const-GtkTextIter*" "end")
+ )
+)
+
+(define-method get_visible_slice
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_get_visible_slice")
+ (return-type "gchar*")
+ (parameters
+ '("const-GtkTextIter*" "end")
+ )
+)
+
+(define-method get_visible_text
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_get_visible_text")
+ (return-type "gchar*")
+ (parameters
+ '("const-GtkTextIter*" "end")
+ )
+)
+
+(define-method get_pixbuf
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_get_pixbuf")
+ (return-type "GdkPixbuf*")
+)
+
+(define-method get_marks
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_get_marks")
+ (return-type "GSList*")
+)
+
+(define-method get_child_anchor
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_get_child_anchor")
+ (return-type "GtkTextChildAnchor*")
+)
+
+(define-method get_toggled_tags
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_get_toggled_tags")
+ (return-type "GSList*")
+ (parameters
+ '("gboolean" "toggled_on")
+ )
+)
+
+(define-method begins_tag
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_begins_tag")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextTag*" "tag")
+ )
+)
+
+(define-method ends_tag
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_ends_tag")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextTag*" "tag")
+ )
+)
+
+(define-method toggles_tag
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_toggles_tag")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextTag*" "tag")
+ )
+)
+
+(define-method has_tag
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_has_tag")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextTag*" "tag")
+ )
+)
+
+(define-method get_tags
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_get_tags")
+ (return-type "GSList*")
+)
+
+(define-method editable
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_editable")
+ (return-type "gboolean")
+ (parameters
+ '("gboolean" "default_setting")
+ )
+)
+
+(define-method can_insert
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_can_insert")
+ (return-type "gboolean")
+ (parameters
+ '("gboolean" "default_editability")
+ )
+)
+
+(define-method starts_word
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_starts_word")
+ (return-type "gboolean")
+)
+
+(define-method ends_word
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_ends_word")
+ (return-type "gboolean")
+)
+
+(define-method inside_word
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_inside_word")
+ (return-type "gboolean")
+)
+
+(define-method starts_sentence
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_starts_sentence")
+ (return-type "gboolean")
+)
+
+(define-method ends_sentence
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_ends_sentence")
+ (return-type "gboolean")
+)
+
+(define-method inside_sentence
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_inside_sentence")
+ (return-type "gboolean")
+)
+
+(define-method starts_line
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_starts_line")
+ (return-type "gboolean")
+)
+
+(define-method ends_line
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_ends_line")
+ (return-type "gboolean")
+)
+
+(define-method is_cursor_position
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_is_cursor_position")
+ (return-type "gboolean")
+)
+
+(define-method get_chars_in_line
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_get_chars_in_line")
+ (return-type "gint")
+)
+
+(define-method get_bytes_in_line
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_get_bytes_in_line")
+ (return-type "gint")
+)
+
+(define-method get_attributes
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_get_attributes")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextAttributes*" "values")
+ )
+)
+
+(define-method get_language
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_get_language")
+ (return-type "PangoLanguage*")
+)
+
+(define-method is_end
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_is_end")
+ (return-type "gboolean")
+)
+
+(define-method is_start
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_is_start")
+ (return-type "gboolean")
+)
+
+(define-method forward_char
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_forward_char")
+ (return-type "gboolean")
+)
+
+(define-method backward_char
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_backward_char")
+ (return-type "gboolean")
+)
+
+(define-method forward_chars
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_forward_chars")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "count")
+ )
+)
+
+(define-method backward_chars
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_backward_chars")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "count")
+ )
+)
+
+(define-method forward_line
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_forward_line")
+ (return-type "gboolean")
+)
+
+(define-method backward_line
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_backward_line")
+ (return-type "gboolean")
+)
+
+(define-method forward_lines
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_forward_lines")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "count")
+ )
+)
+
+(define-method backward_lines
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_backward_lines")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "count")
+ )
+)
+
+(define-method forward_word_end
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_forward_word_end")
+ (return-type "gboolean")
+)
+
+(define-method backward_word_start
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_backward_word_start")
+ (return-type "gboolean")
+)
+
+(define-method forward_word_ends
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_forward_word_ends")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "count")
+ )
+)
+
+(define-method backward_word_starts
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_backward_word_starts")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "count")
+ )
+)
+
+(define-method forward_visible_line
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_forward_visible_line")
+ (return-type "gboolean")
+)
+
+(define-method backward_visible_line
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_backward_visible_line")
+ (return-type "gboolean")
+)
+
+(define-method forward_visible_lines
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_forward_visible_lines")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "count")
+ )
+)
+
+(define-method backward_visible_lines
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_backward_visible_lines")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "count")
+ )
+)
+
+(define-method forward_visible_word_end
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_forward_visible_word_end")
+ (return-type "gboolean")
+)
+
+(define-method backward_visible_word_start
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_backward_visible_word_start")
+ (return-type "gboolean")
+)
+
+(define-method forward_visible_word_ends
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_forward_visible_word_ends")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "count")
+ )
+)
+
+(define-method backward_visible_word_starts
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_backward_visible_word_starts")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "count")
+ )
+)
+
+(define-method forward_sentence_end
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_forward_sentence_end")
+ (return-type "gboolean")
+)
+
+(define-method backward_sentence_start
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_backward_sentence_start")
+ (return-type "gboolean")
+)
+
+(define-method forward_sentence_ends
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_forward_sentence_ends")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "count")
+ )
+)
+
+(define-method backward_sentence_starts
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_backward_sentence_starts")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "count")
+ )
+)
+
+(define-method forward_cursor_position
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_forward_cursor_position")
+ (return-type "gboolean")
+)
+
+(define-method backward_cursor_position
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_backward_cursor_position")
+ (return-type "gboolean")
+)
+
+(define-method forward_cursor_positions
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_forward_cursor_positions")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "count")
+ )
+)
+
+(define-method backward_cursor_positions
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_backward_cursor_positions")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "count")
+ )
+)
+
+(define-method forward_visible_cursor_position
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_forward_visible_cursor_position")
+ (return-type "gboolean")
+)
+
+(define-method backward_visible_cursor_position
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_backward_visible_cursor_position")
+ (return-type "gboolean")
+)
+
+(define-method forward_visible_cursor_positions
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_forward_visible_cursor_positions")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "count")
+ )
+)
+
+(define-method backward_visible_cursor_positions
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_backward_visible_cursor_positions")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "count")
+ )
+)
+
+(define-method set_offset
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_set_offset")
+ (return-type "none")
+ (parameters
+ '("gint" "char_offset")
+ )
+)
+
+(define-method set_line
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_set_line")
+ (return-type "none")
+ (parameters
+ '("gint" "line_number")
+ )
+)
+
+(define-method set_line_offset
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_set_line_offset")
+ (return-type "none")
+ (parameters
+ '("gint" "char_on_line")
+ )
+)
+
+(define-method set_line_index
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_set_line_index")
+ (return-type "none")
+ (parameters
+ '("gint" "byte_on_line")
+ )
+)
+
+(define-method forward_to_end
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_forward_to_end")
+ (return-type "none")
+)
+
+(define-method forward_to_line_end
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_forward_to_line_end")
+ (return-type "gboolean")
+)
+
+(define-method set_visible_line_offset
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_set_visible_line_offset")
+ (return-type "none")
+ (parameters
+ '("gint" "char_on_line")
+ )
+)
+
+(define-method set_visible_line_index
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_set_visible_line_index")
+ (return-type "none")
+ (parameters
+ '("gint" "byte_on_line")
+ )
+)
+
+(define-method forward_to_tag_toggle
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_forward_to_tag_toggle")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextTag*" "tag")
+ )
+)
+
+(define-method backward_to_tag_toggle
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_backward_to_tag_toggle")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextTag*" "tag")
+ )
+)
+
+(define-method forward_find_char
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_forward_find_char")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextCharPredicate" "pred")
+ '("gpointer" "user_data")
+ '("const-GtkTextIter*" "limit")
+ )
+)
+
+(define-method backward_find_char
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_backward_find_char")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextCharPredicate" "pred")
+ '("gpointer" "user_data")
+ '("const-GtkTextIter*" "limit")
+ )
+)
+
+(define-method forward_search
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_forward_search")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "str")
+ '("GtkTextSearchFlags" "flags")
+ '("GtkTextIter*" "match_start")
+ '("GtkTextIter*" "match_end")
+ '("const-GtkTextIter*" "limit")
+ )
+)
+
+(define-method backward_search
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_backward_search")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "str")
+ '("GtkTextSearchFlags" "flags")
+ '("GtkTextIter*" "match_start")
+ '("GtkTextIter*" "match_end")
+ '("const-GtkTextIter*" "limit")
+ )
+)
+
+(define-method equal
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_equal")
+ (return-type "gboolean")
+ (parameters
+ '("const-GtkTextIter*" "rhs")
+ )
+)
+
+(define-method compare
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_compare")
+ (return-type "gint")
+ (parameters
+ '("const-GtkTextIter*" "rhs")
+ )
+)
+
+(define-method in_range
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_in_range")
+ (return-type "gboolean")
+ (parameters
+ '("const-GtkTextIter*" "start")
+ '("const-GtkTextIter*" "end")
+ )
+)
+
+(define-method order
+ (of-object "GtkTextIter")
+ (c-name "gtk_text_iter_order")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "second")
+ )
+)
+
+
+
+;; From gtktextiterprivate.h
+
+
+
+;; From gtktextlayout.h
+
+(define-function gtk_text_layout_get_type
+ (c-name "gtk_text_layout_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_text_layout_new
+ (c-name "gtk_text_layout_new")
+ (is-constructor-of "GtkTextLayout")
+ (return-type "GtkTextLayout*")
+)
+
+(define-method set_buffer
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_set_buffer")
+ (return-type "none")
+ (parameters
+ '("GtkTextBuffer*" "buffer")
+ )
+)
+
+(define-method get_buffer
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_get_buffer")
+ (return-type "GtkTextBuffer*")
+)
+
+(define-method set_default_style
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_set_default_style")
+ (return-type "none")
+ (parameters
+ '("GtkTextAttributes*" "values")
+ )
+)
+
+(define-method set_contexts
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_set_contexts")
+ (return-type "none")
+ (parameters
+ '("PangoContext*" "ltr_context")
+ '("PangoContext*" "rtl_context")
+ )
+)
+
+(define-method set_cursor_direction
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_set_cursor_direction")
+ (return-type "none")
+ (parameters
+ '("GtkTextDirection" "direction")
+ )
+)
+
+(define-method set_overwrite_mode
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_set_overwrite_mode")
+ (return-type "none")
+ (parameters
+ '("gboolean" "overwrite")
+ )
+)
+
+(define-method set_keyboard_direction
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_set_keyboard_direction")
+ (return-type "none")
+ (parameters
+ '("GtkTextDirection" "keyboard_dir")
+ )
+)
+
+(define-method default_style_changed
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_default_style_changed")
+ (return-type "none")
+)
+
+(define-method set_screen_width
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_set_screen_width")
+ (return-type "none")
+ (parameters
+ '("gint" "width")
+ )
+)
+
+(define-method set_preedit_string
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_set_preedit_string")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "preedit_string")
+ '("PangoAttrList*" "preedit_attrs")
+ '("gint" "cursor_pos")
+ )
+)
+
+(define-method set_cursor_visible
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_set_cursor_visible")
+ (return-type "none")
+ (parameters
+ '("gboolean" "cursor_visible")
+ )
+)
+
+(define-method get_cursor_visible
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_get_cursor_visible")
+ (return-type "gboolean")
+)
+
+(define-method get_size
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_get_size")
+ (return-type "none")
+ (parameters
+ '("gint*" "width")
+ '("gint*" "height")
+ )
+)
+
+(define-method get_lines
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_get_lines")
+ (return-type "GSList*")
+ (parameters
+ '("gint" "top_y")
+ '("gint" "bottom_y")
+ '("gint*" "first_line_y")
+ )
+)
+
+(define-method wrap_loop_start
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_wrap_loop_start")
+ (return-type "none")
+)
+
+(define-method wrap_loop_end
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_wrap_loop_end")
+ (return-type "none")
+)
+
+(define-method get_line_display
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_get_line_display")
+ (return-type "GtkTextLineDisplay*")
+ (parameters
+ '("GtkTextLine*" "line")
+ '("gboolean" "size_only")
+ )
+)
+
+(define-method free_line_display
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_free_line_display")
+ (return-type "none")
+ (parameters
+ '("GtkTextLineDisplay*" "display")
+ )
+)
+
+(define-method get_line_at_y
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_get_line_at_y")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "target_iter")
+ '("gint" "y")
+ '("gint*" "line_top")
+ )
+)
+
+(define-method get_iter_at_pixel
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_get_iter_at_pixel")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-method get_iter_at_position
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_get_iter_at_position")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("gint*" "trailing")
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-method invalidate
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_invalidate")
+ (return-type "none")
+ (parameters
+ '("const-GtkTextIter*" "start")
+ '("const-GtkTextIter*" "end")
+ )
+)
+
+(define-method invalidate_cursors
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_invalidate_cursors")
+ (return-type "none")
+ (parameters
+ '("const-GtkTextIter*" "start")
+ '("const-GtkTextIter*" "end")
+ )
+)
+
+(define-method free_line_data
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_free_line_data")
+ (return-type "none")
+ (parameters
+ '("GtkTextLine*" "line")
+ '("GtkTextLineData*" "line_data")
+ )
+)
+
+(define-method is_valid
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_is_valid")
+ (return-type "gboolean")
+)
+
+(define-method validate_yrange
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_validate_yrange")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "anchor_line")
+ '("gint" "y0_")
+ '("gint" "y1_")
+ )
+)
+
+(define-method validate
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_validate")
+ (return-type "none")
+ (parameters
+ '("gint" "max_pixels")
+ )
+)
+
+(define-method wrap
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_wrap")
+ (return-type "GtkTextLineData*")
+ (parameters
+ '("GtkTextLine*" "line")
+ '("GtkTextLineData*" "line_data")
+ )
+)
+
+(define-method changed
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_changed")
+ (return-type "none")
+ (parameters
+ '("gint" "y")
+ '("gint" "old_height")
+ '("gint" "new_height")
+ )
+)
+
+(define-method cursors_changed
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_cursors_changed")
+ (return-type "none")
+ (parameters
+ '("gint" "y")
+ '("gint" "old_height")
+ '("gint" "new_height")
+ )
+)
+
+(define-method get_iter_location
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_get_iter_location")
+ (return-type "none")
+ (parameters
+ '("const-GtkTextIter*" "iter")
+ '("GdkRectangle*" "rect")
+ )
+)
+
+(define-method get_line_yrange
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_get_line_yrange")
+ (return-type "none")
+ (parameters
+ '("const-GtkTextIter*" "iter")
+ '("gint*" "y")
+ '("gint*" "height")
+ )
+)
+
+(define-method get_cursor_locations
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_get_cursor_locations")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("GdkRectangle*" "strong_pos")
+ '("GdkRectangle*" "weak_pos")
+ )
+)
+
+(define-method clamp_iter_to_vrange
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_clamp_iter_to_vrange")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("gint" "top")
+ '("gint" "bottom")
+ )
+)
+
+(define-method move_iter_to_line_end
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_move_iter_to_line_end")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("gint" "direction")
+ )
+)
+
+(define-method move_iter_to_previous_line
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_move_iter_to_previous_line")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextIter*" "iter")
+ )
+)
+
+(define-method move_iter_to_next_line
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_move_iter_to_next_line")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextIter*" "iter")
+ )
+)
+
+(define-method move_iter_to_x
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_move_iter_to_x")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("gint" "x")
+ )
+)
+
+(define-method move_iter_visually
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_move_iter_visually")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("gint" "count")
+ )
+)
+
+(define-method iter_starts_line
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_iter_starts_line")
+ (return-type "gboolean")
+ (parameters
+ '("const-GtkTextIter*" "iter")
+ )
+)
+
+(define-method get_iter_at_line
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_get_iter_at_line")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("GtkTextLine*" "line")
+ '("gint" "byte_offset")
+ )
+)
+
+(define-method register_child
+ (of-object "GtkTextChildAnchor")
+ (c-name "gtk_text_child_anchor_register_child")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("GtkTextLayout*" "layout")
+ )
+)
+
+(define-method unregister_child
+ (of-object "GtkTextChildAnchor")
+ (c-name "gtk_text_child_anchor_unregister_child")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ )
+)
+
+(define-method queue_resize
+ (of-object "GtkTextChildAnchor")
+ (c-name "gtk_text_child_anchor_queue_resize")
+ (return-type "none")
+ (parameters
+ '("GtkTextLayout*" "layout")
+ )
+)
+
+(define-function gtk_text_anchored_child_set_layout
+ (c-name "gtk_text_anchored_child_set_layout")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("GtkTextLayout*" "layout")
+ )
+)
+
+(define-method spew
+ (of-object "GtkTextLayout")
+ (c-name "gtk_text_layout_spew")
+ (return-type "none")
+)
+
+
+
+;; From gtktextmark.h
+
+(define-function gtk_text_mark_get_type
+ (c-name "gtk_text_mark_get_type")
+ (return-type "GType")
+)
+
+(define-method set_visible
+ (of-object "GtkTextMark")
+ (c-name "gtk_text_mark_set_visible")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_visible
+ (of-object "GtkTextMark")
+ (c-name "gtk_text_mark_get_visible")
+ (return-type "gboolean")
+)
+
+(define-function gtk_text_mark_new
+ (c-name "gtk_text_mark_new")
+ (is-constructor-of "GtkTextMark")
+ (return-type "GtkTextMark*")
+ (parameters
+ '("const-gchar*" "name")
+ '("gboolean" "left_gravity")
+ )
+)
+
+(define-method get_name
+ (of-object "GtkTextMark")
+ (c-name "gtk_text_mark_get_name")
+ (return-type "const-gchar*")
+)
+
+(define-method get_deleted
+ (of-object "GtkTextMark")
+ (c-name "gtk_text_mark_get_deleted")
+ (return-type "gboolean")
+)
+
+(define-method get_buffer
+ (of-object "GtkTextMark")
+ (c-name "gtk_text_mark_get_buffer")
+ (return-type "GtkTextBuffer*")
+)
+
+(define-method get_left_gravity
+ (of-object "GtkTextMark")
+ (c-name "gtk_text_mark_get_left_gravity")
+ (return-type "gboolean")
+)
+
+
+
+;; From gtktextmarkprivate.h
+
+
+
+;; From gtktextsegment.h
+
+(define-function gtk_text_line_segment_split
+ (c-name "gtk_text_line_segment_split")
+ (return-type "GtkTextLineSegment*")
+ (parameters
+ '("const-GtkTextIter*" "iter")
+ )
+)
+
+
+
+;; From gtktexttag.h
+
+(define-function gtk_text_tag_get_type
+ (c-name "gtk_text_tag_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_text_tag_new
+ (c-name "gtk_text_tag_new")
+ (is-constructor-of "GtkTextTag")
+ (return-type "GtkTextTag*")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method get_priority
+ (of-object "GtkTextTag")
+ (c-name "gtk_text_tag_get_priority")
+ (return-type "gint")
+)
+
+(define-method set_priority
+ (of-object "GtkTextTag")
+ (c-name "gtk_text_tag_set_priority")
+ (return-type "none")
+ (parameters
+ '("gint" "priority")
+ )
+)
+
+(define-method event
+ (of-object "GtkTextTag")
+ (c-name "gtk_text_tag_event")
+ (return-type "gboolean")
+ (parameters
+ '("GObject*" "event_object")
+ '("GdkEvent*" "event")
+ '("const-GtkTextIter*" "iter")
+ )
+)
+
+(define-function gtk_text_attributes_new
+ (c-name "gtk_text_attributes_new")
+ (is-constructor-of "GtkTextAttributes")
+ (return-type "GtkTextAttributes*")
+)
+
+(define-method copy
+ (of-object "GtkTextAttributes")
+ (c-name "gtk_text_attributes_copy")
+ (return-type "GtkTextAttributes*")
+)
+
+(define-method copy_values
+ (of-object "GtkTextAttributes")
+ (c-name "gtk_text_attributes_copy_values")
+ (return-type "none")
+ (parameters
+ '("GtkTextAttributes*" "dest")
+ )
+)
+
+(define-method unref
+ (of-object "GtkTextAttributes")
+ (c-name "gtk_text_attributes_unref")
+ (return-type "none")
+)
+
+(define-method ref
+ (of-object "GtkTextAttributes")
+ (c-name "gtk_text_attributes_ref")
+ (return-type "GtkTextAttributes*")
+)
+
+(define-function gtk_text_attributes_get_type
+ (c-name "gtk_text_attributes_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From gtktexttagprivate.h
+
+
+
+;; From gtktexttagtable.h
+
+(define-function gtk_text_tag_table_get_type
+ (c-name "gtk_text_tag_table_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_text_tag_table_new
+ (c-name "gtk_text_tag_table_new")
+ (is-constructor-of "GtkTextTagTable")
+ (return-type "GtkTextTagTable*")
+)
+
+(define-method add
+ (of-object "GtkTextTagTable")
+ (c-name "gtk_text_tag_table_add")
+ (return-type "none")
+ (parameters
+ '("GtkTextTag*" "tag")
+ )
+)
+
+(define-method remove
+ (of-object "GtkTextTagTable")
+ (c-name "gtk_text_tag_table_remove")
+ (return-type "none")
+ (parameters
+ '("GtkTextTag*" "tag")
+ )
+)
+
+(define-method lookup
+ (of-object "GtkTextTagTable")
+ (c-name "gtk_text_tag_table_lookup")
+ (return-type "GtkTextTag*")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method foreach
+ (of-object "GtkTextTagTable")
+ (c-name "gtk_text_tag_table_foreach")
+ (return-type "none")
+ (parameters
+ '("GtkTextTagTableForeach" "func")
+ '("gpointer" "data")
+ )
+)
+
+(define-method get_size
+ (of-object "GtkTextTagTable")
+ (c-name "gtk_text_tag_table_get_size")
+ (return-type "gint")
+)
+
+
+
+;; From gtktexttypes.h
+
+(define-function gtk_text_byte_begins_utf8_char
+ (c-name "gtk_text_byte_begins_utf8_char")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "byte")
+ )
+)
+
+
+
+;; From gtktextutil.h
+
+
+
+;; From gtktextview.h
+
+(define-function gtk_text_view_get_type
+ (c-name "gtk_text_view_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_text_view_new
+ (c-name "gtk_text_view_new")
+ (is-constructor-of "GtkTextView")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_text_view_new_with_buffer
+ (c-name "gtk_text_view_new_with_buffer")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkTextBuffer*" "buffer")
+ )
+)
+
+(define-method set_buffer
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_set_buffer")
+ (return-type "none")
+ (parameters
+ '("GtkTextBuffer*" "buffer")
+ )
+)
+
+(define-method get_buffer
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_buffer")
+ (return-type "GtkTextBuffer*")
+)
+
+(define-method scroll_to_iter
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_scroll_to_iter")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("gdouble" "within_margin")
+ '("gboolean" "use_align")
+ '("gdouble" "xalign")
+ '("gdouble" "yalign")
+ )
+)
+
+(define-method scroll_to_mark
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_scroll_to_mark")
+ (return-type "none")
+ (parameters
+ '("GtkTextMark*" "mark")
+ '("gdouble" "within_margin")
+ '("gboolean" "use_align")
+ '("gdouble" "xalign")
+ '("gdouble" "yalign")
+ )
+)
+
+(define-method scroll_mark_onscreen
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_scroll_mark_onscreen")
+ (return-type "none")
+ (parameters
+ '("GtkTextMark*" "mark")
+ )
+)
+
+(define-method move_mark_onscreen
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_move_mark_onscreen")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextMark*" "mark")
+ )
+)
+
+(define-method place_cursor_onscreen
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_place_cursor_onscreen")
+ (return-type "gboolean")
+)
+
+(define-method get_visible_rect
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_visible_rect")
+ (return-type "none")
+ (parameters
+ '("GdkRectangle*" "visible_rect")
+ )
+)
+
+(define-method set_cursor_visible
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_set_cursor_visible")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_cursor_visible
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_cursor_visible")
+ (return-type "gboolean")
+)
+
+(define-method get_iter_location
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_iter_location")
+ (return-type "none")
+ (parameters
+ '("const-GtkTextIter*" "iter")
+ '("GdkRectangle*" "location")
+ )
+)
+
+(define-method get_iter_at_location
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_iter_at_location")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-method get_iter_at_position
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_iter_at_position")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("gint*" "trailing")
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-method get_line_yrange
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_line_yrange")
+ (return-type "none")
+ (parameters
+ '("const-GtkTextIter*" "iter")
+ '("gint*" "y")
+ '("gint*" "height")
+ )
+)
+
+(define-method get_line_at_y
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_line_at_y")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "target_iter")
+ '("gint" "y")
+ '("gint*" "line_top")
+ )
+)
+
+(define-method buffer_to_window_coords
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_buffer_to_window_coords")
+ (return-type "none")
+ (parameters
+ '("GtkTextWindowType" "win")
+ '("gint" "buffer_x")
+ '("gint" "buffer_y")
+ '("gint*" "window_x")
+ '("gint*" "window_y")
+ )
+)
+
+(define-method window_to_buffer_coords
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_window_to_buffer_coords")
+ (return-type "none")
+ (parameters
+ '("GtkTextWindowType" "win")
+ '("gint" "window_x")
+ '("gint" "window_y")
+ '("gint*" "buffer_x")
+ '("gint*" "buffer_y")
+ )
+)
+
+(define-method get_window
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_window")
+ (return-type "GdkWindow*")
+ (parameters
+ '("GtkTextWindowType" "win")
+ )
+)
+
+(define-method get_window_type
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_window_type")
+ (return-type "GtkTextWindowType")
+ (parameters
+ '("GdkWindow*" "window")
+ )
+)
+
+(define-method set_border_window_size
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_set_border_window_size")
+ (return-type "none")
+ (parameters
+ '("GtkTextWindowType" "type")
+ '("gint" "size")
+ )
+)
+
+(define-method get_border_window_size
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_border_window_size")
+ (return-type "gint")
+ (parameters
+ '("GtkTextWindowType" "type")
+ )
+)
+
+(define-method forward_display_line
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_forward_display_line")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextIter*" "iter")
+ )
+)
+
+(define-method backward_display_line
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_backward_display_line")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextIter*" "iter")
+ )
+)
+
+(define-method forward_display_line_end
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_forward_display_line_end")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextIter*" "iter")
+ )
+)
+
+(define-method backward_display_line_start
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_backward_display_line_start")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextIter*" "iter")
+ )
+)
+
+(define-method starts_display_line
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_starts_display_line")
+ (return-type "gboolean")
+ (parameters
+ '("const-GtkTextIter*" "iter")
+ )
+)
+
+(define-method move_visually
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_move_visually")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("gint" "count")
+ )
+)
+
+(define-method add_child_at_anchor
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_add_child_at_anchor")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("GtkTextChildAnchor*" "anchor")
+ )
+)
+
+(define-method add_child_in_window
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_add_child_in_window")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("GtkTextWindowType" "which_window")
+ '("gint" "xpos")
+ '("gint" "ypos")
+ )
+)
+
+(define-method move_child
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_move_child")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("gint" "xpos")
+ '("gint" "ypos")
+ )
+)
+
+(define-method set_wrap_mode
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_set_wrap_mode")
+ (return-type "none")
+ (parameters
+ '("GtkWrapMode" "wrap_mode")
+ )
+)
+
+(define-method get_wrap_mode
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_wrap_mode")
+ (return-type "GtkWrapMode")
+)
+
+(define-method set_editable
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_set_editable")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_editable
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_editable")
+ (return-type "gboolean")
+)
+
+(define-method set_overwrite
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_set_overwrite")
+ (return-type "none")
+ (parameters
+ '("gboolean" "overwrite")
+ )
+)
+
+(define-method get_overwrite
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_overwrite")
+ (return-type "gboolean")
+)
+
+(define-method set_accepts_tab
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_set_accepts_tab")
+ (return-type "none")
+ (parameters
+ '("gboolean" "accepts_tab")
+ )
+)
+
+(define-method get_accepts_tab
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_accepts_tab")
+ (return-type "gboolean")
+)
+
+(define-method set_pixels_above_lines
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_set_pixels_above_lines")
+ (return-type "none")
+ (parameters
+ '("gint" "pixels_above_lines")
+ )
+)
+
+(define-method get_pixels_above_lines
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_pixels_above_lines")
+ (return-type "gint")
+)
+
+(define-method set_pixels_below_lines
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_set_pixels_below_lines")
+ (return-type "none")
+ (parameters
+ '("gint" "pixels_below_lines")
+ )
+)
+
+(define-method get_pixels_below_lines
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_pixels_below_lines")
+ (return-type "gint")
+)
+
+(define-method set_pixels_inside_wrap
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_set_pixels_inside_wrap")
+ (return-type "none")
+ (parameters
+ '("gint" "pixels_inside_wrap")
+ )
+)
+
+(define-method get_pixels_inside_wrap
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_pixels_inside_wrap")
+ (return-type "gint")
+)
+
+(define-method set_justification
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_set_justification")
+ (return-type "none")
+ (parameters
+ '("GtkJustification" "justification")
+ )
+)
+
+(define-method get_justification
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_justification")
+ (return-type "GtkJustification")
+)
+
+(define-method set_left_margin
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_set_left_margin")
+ (return-type "none")
+ (parameters
+ '("gint" "left_margin")
+ )
+)
+
+(define-method get_left_margin
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_left_margin")
+ (return-type "gint")
+)
+
+(define-method set_right_margin
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_set_right_margin")
+ (return-type "none")
+ (parameters
+ '("gint" "right_margin")
+ )
+)
+
+(define-method get_right_margin
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_right_margin")
+ (return-type "gint")
+)
+
+(define-method set_indent
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_set_indent")
+ (return-type "none")
+ (parameters
+ '("gint" "indent")
+ )
+)
+
+(define-method get_indent
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_indent")
+ (return-type "gint")
+)
+
+(define-method set_tabs
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_set_tabs")
+ (return-type "none")
+ (parameters
+ '("PangoTabArray*" "tabs")
+ )
+)
+
+(define-method get_tabs
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_tabs")
+ (return-type "PangoTabArray*")
+)
+
+(define-method get_default_attributes
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_default_attributes")
+ (return-type "GtkTextAttributes*")
+)
+
+
+
+;; From gtkthemes.h
+
+(define-function gtk_theme_engine_get_type
+ (c-name "gtk_theme_engine_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_theme_engine_get
+ (c-name "gtk_theme_engine_get")
+ (return-type "GtkThemeEngine*")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method create_rc_style
+ (of-object "GtkThemeEngine")
+ (c-name "gtk_theme_engine_create_rc_style")
+ (return-type "GtkRcStyle*")
+)
+
+
+
+;; From gtktipsquery.h
+
+(define-function gtk_tips_query_get_type
+ (c-name "gtk_tips_query_get_type")
+ (return-type "GtkType")
+)
+
+(define-function gtk_tips_query_new
+ (c-name "gtk_tips_query_new")
+ (is-constructor-of "GtkTipsQuery")
+ (return-type "GtkWidget*")
+)
+
+(define-method start_query
+ (of-object "GtkTipsQuery")
+ (c-name "gtk_tips_query_start_query")
+ (return-type "none")
+)
+
+(define-method stop_query
+ (of-object "GtkTipsQuery")
+ (c-name "gtk_tips_query_stop_query")
+ (return-type "none")
+)
+
+(define-method set_caller
+ (of-object "GtkTipsQuery")
+ (c-name "gtk_tips_query_set_caller")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "caller")
+ )
+)
+
+(define-method set_labels
+ (of-object "GtkTipsQuery")
+ (c-name "gtk_tips_query_set_labels")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "label_inactive")
+ '("const-gchar*" "label_no_tip")
+ )
+)
+
+
+
+;; From gtktoggleaction.h
+
+(define-function gtk_toggle_action_get_type
+ (c-name "gtk_toggle_action_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_toggle_action_new
+ (c-name "gtk_toggle_action_new")
+ (is-constructor-of "GtkToggleAction")
+ (return-type "GtkToggleAction*")
+ (parameters
+ '("const-gchar*" "name")
+ '("const-gchar*" "label")
+ '("const-gchar*" "tooltip")
+ '("const-gchar*" "stock_id")
+ )
+)
+
+(define-method toggled
+ (of-object "GtkToggleAction")
+ (c-name "gtk_toggle_action_toggled")
+ (return-type "none")
+)
+
+(define-method set_active
+ (of-object "GtkToggleAction")
+ (c-name "gtk_toggle_action_set_active")
+ (return-type "none")
+ (parameters
+ '("gboolean" "is_active")
+ )
+)
+
+(define-method get_active
+ (of-object "GtkToggleAction")
+ (c-name "gtk_toggle_action_get_active")
+ (return-type "gboolean")
+)
+
+(define-method set_draw_as_radio
+ (of-object "GtkToggleAction")
+ (c-name "gtk_toggle_action_set_draw_as_radio")
+ (return-type "none")
+ (parameters
+ '("gboolean" "draw_as_radio")
+ )
+)
+
+(define-method get_draw_as_radio
+ (of-object "GtkToggleAction")
+ (c-name "gtk_toggle_action_get_draw_as_radio")
+ (return-type "gboolean")
+)
+
+
+
+;; From gtktoggleactionprivate.h
+
+
+
+;; From gtktogglebutton.h
+
+(define-function gtk_toggle_button_get_type
+ (c-name "gtk_toggle_button_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_toggle_button_new
+ (c-name "gtk_toggle_button_new")
+ (is-constructor-of "GtkToggleButton")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_toggle_button_new_with_label
+ (c-name "gtk_toggle_button_new_with_label")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-function gtk_toggle_button_new_with_mnemonic
+ (c-name "gtk_toggle_button_new_with_mnemonic")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-method set_mode
+ (of-object "GtkToggleButton")
+ (c-name "gtk_toggle_button_set_mode")
+ (return-type "none")
+ (parameters
+ '("gboolean" "draw_indicator")
+ )
+)
+
+(define-method get_mode
+ (of-object "GtkToggleButton")
+ (c-name "gtk_toggle_button_get_mode")
+ (return-type "gboolean")
+)
+
+(define-method set_active
+ (of-object "GtkToggleButton")
+ (c-name "gtk_toggle_button_set_active")
+ (return-type "none")
+ (parameters
+ '("gboolean" "is_active")
+ )
+)
+
+(define-method get_active
+ (of-object "GtkToggleButton")
+ (c-name "gtk_toggle_button_get_active")
+ (return-type "gboolean")
+)
+
+(define-method toggled
+ (of-object "GtkToggleButton")
+ (c-name "gtk_toggle_button_toggled")
+ (return-type "none")
+)
+
+(define-method set_inconsistent
+ (of-object "GtkToggleButton")
+ (c-name "gtk_toggle_button_set_inconsistent")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_inconsistent
+ (of-object "GtkToggleButton")
+ (c-name "gtk_toggle_button_get_inconsistent")
+ (return-type "gboolean")
+)
+
+
+
+;; From gtktoggletoolbutton.h
+
+(define-function gtk_toggle_tool_button_get_type
+ (c-name "gtk_toggle_tool_button_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_toggle_tool_button_new
+ (c-name "gtk_toggle_tool_button_new")
+ (is-constructor-of "GtkToggleToolButton")
+ (return-type "GtkToolItem*")
+)
+
+(define-function gtk_toggle_tool_button_new_from_stock
+ (c-name "gtk_toggle_tool_button_new_from_stock")
+ (return-type "GtkToolItem*")
+ (parameters
+ '("const-gchar*" "stock_id")
+ )
+)
+
+(define-method set_active
+ (of-object "GtkToggleToolButton")
+ (c-name "gtk_toggle_tool_button_set_active")
+ (return-type "none")
+ (parameters
+ '("gboolean" "is_active")
+ )
+)
+
+(define-method get_active
+ (of-object "GtkToggleToolButton")
+ (c-name "gtk_toggle_tool_button_get_active")
+ (return-type "gboolean")
+)
+
+
+
+;; From gtktoolbar.h
+
+(define-function gtk_toolbar_get_type
+ (c-name "gtk_toolbar_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_toolbar_new
+ (c-name "gtk_toolbar_new")
+ (is-constructor-of "GtkToolbar")
+ (return-type "GtkWidget*")
+)
+
+(define-method insert
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_insert")
+ (return-type "none")
+ (parameters
+ '("GtkToolItem*" "item")
+ '("gint" "pos")
+ )
+)
+
+(define-method get_item_index
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_get_item_index")
+ (return-type "gint")
+ (parameters
+ '("GtkToolItem*" "item")
+ )
+)
+
+(define-method get_n_items
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_get_n_items")
+ (return-type "gint")
+)
+
+(define-method get_nth_item
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_get_nth_item")
+ (return-type "GtkToolItem*")
+ (parameters
+ '("gint" "n")
+ )
+)
+
+(define-method get_show_arrow
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_get_show_arrow")
+ (return-type "gboolean")
+)
+
+(define-method set_show_arrow
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_set_show_arrow")
+ (return-type "none")
+ (parameters
+ '("gboolean" "show_arrow")
+ )
+)
+
+(define-method get_orientation
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_get_orientation")
+ (return-type "GtkOrientation")
+)
+
+(define-method set_orientation
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_set_orientation")
+ (return-type "none")
+ (parameters
+ '("GtkOrientation" "orientation")
+ )
+)
+
+(define-method get_tooltips
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_get_tooltips")
+ (return-type "gboolean")
+)
+
+(define-method set_tooltips
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_set_tooltips")
+ (return-type "none")
+ (parameters
+ '("gboolean" "enable")
+ )
+)
+
+(define-method get_style
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_get_style")
+ (return-type "GtkToolbarStyle")
+)
+
+(define-method set_style
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_set_style")
+ (return-type "none")
+ (parameters
+ '("GtkToolbarStyle" "style")
+ )
+)
+
+(define-method unset_style
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_unset_style")
+ (return-type "none")
+)
+
+(define-method get_icon_size
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_get_icon_size")
+ (return-type "GtkIconSize")
+)
+
+(define-method get_relief_style
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_get_relief_style")
+ (return-type "GtkReliefStyle")
+)
+
+(define-method get_drop_index
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_get_drop_index")
+ (return-type "gint")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-method set_drop_highlight_item
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_set_drop_highlight_item")
+ (return-type "none")
+ (parameters
+ '("GtkToolItem*" "tool_item")
+ '("gint" "index_")
+ )
+)
+
+(define-method set_icon_size
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_set_icon_size")
+ (return-type "none")
+ (parameters
+ '("GtkIconSize" "icon_size")
+ )
+)
+
+(define-method unset_icon_size
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_unset_icon_size")
+ (return-type "none")
+)
+
+(define-method append_item
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_append_item")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-char*" "text")
+ '("const-char*" "tooltip_text")
+ '("const-char*" "tooltip_private_text")
+ '("GtkWidget*" "icon")
+ '("GtkSignalFunc" "callback")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method prepend_item
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_prepend_item")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-char*" "text")
+ '("const-char*" "tooltip_text")
+ '("const-char*" "tooltip_private_text")
+ '("GtkWidget*" "icon")
+ '("GtkSignalFunc" "callback")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method insert_item
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_insert_item")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-char*" "text")
+ '("const-char*" "tooltip_text")
+ '("const-char*" "tooltip_private_text")
+ '("GtkWidget*" "icon")
+ '("GtkSignalFunc" "callback")
+ '("gpointer" "user_data")
+ '("gint" "position")
+ )
+)
+
+(define-method insert_stock
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_insert_stock")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "stock_id")
+ '("const-char*" "tooltip_text")
+ '("const-char*" "tooltip_private_text")
+ '("GtkSignalFunc" "callback")
+ '("gpointer" "user_data")
+ '("gint" "position")
+ )
+)
+
+(define-method append_space
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_append_space")
+ (return-type "none")
+)
+
+(define-method prepend_space
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_prepend_space")
+ (return-type "none")
+)
+
+(define-method insert_space
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_insert_space")
+ (return-type "none")
+ (parameters
+ '("gint" "position")
+ )
+)
+
+(define-method remove_space
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_remove_space")
+ (return-type "none")
+ (parameters
+ '("gint" "position")
+ )
+)
+
+(define-method append_element
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_append_element")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkToolbarChildType" "type")
+ '("GtkWidget*" "widget")
+ '("const-char*" "text")
+ '("const-char*" "tooltip_text")
+ '("const-char*" "tooltip_private_text")
+ '("GtkWidget*" "icon")
+ '("GtkSignalFunc" "callback")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method prepend_element
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_prepend_element")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkToolbarChildType" "type")
+ '("GtkWidget*" "widget")
+ '("const-char*" "text")
+ '("const-char*" "tooltip_text")
+ '("const-char*" "tooltip_private_text")
+ '("GtkWidget*" "icon")
+ '("GtkSignalFunc" "callback")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method insert_element
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_insert_element")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkToolbarChildType" "type")
+ '("GtkWidget*" "widget")
+ '("const-char*" "text")
+ '("const-char*" "tooltip_text")
+ '("const-char*" "tooltip_private_text")
+ '("GtkWidget*" "icon")
+ '("GtkSignalFunc" "callback")
+ '("gpointer" "user_data")
+ '("gint" "position")
+ )
+)
+
+(define-method append_widget
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_append_widget")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("const-char*" "tooltip_text")
+ '("const-char*" "tooltip_private_text")
+ )
+)
+
+(define-method prepend_widget
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_prepend_widget")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("const-char*" "tooltip_text")
+ '("const-char*" "tooltip_private_text")
+ )
+)
+
+(define-method insert_widget
+ (of-object "GtkToolbar")
+ (c-name "gtk_toolbar_insert_widget")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("const-char*" "tooltip_text")
+ '("const-char*" "tooltip_private_text")
+ '("gint" "position")
+ )
+)
+
+
+
+;; From gtktoolbutton.h
+
+(define-function gtk_tool_button_get_type
+ (c-name "gtk_tool_button_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_tool_button_new
+ (c-name "gtk_tool_button_new")
+ (is-constructor-of "GtkToolButton")
+ (return-type "GtkToolItem*")
+ (parameters
+ '("GtkWidget*" "icon_widget")
+ '("const-gchar*" "label")
+ )
+)
+
+(define-function gtk_tool_button_new_from_stock
+ (c-name "gtk_tool_button_new_from_stock")
+ (return-type "GtkToolItem*")
+ (parameters
+ '("const-gchar*" "stock_id")
+ )
+)
+
+(define-method set_label
+ (of-object "GtkToolButton")
+ (c-name "gtk_tool_button_set_label")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-method get_label
+ (of-object "GtkToolButton")
+ (c-name "gtk_tool_button_get_label")
+ (return-type "const-gchar*")
+)
+
+(define-method set_use_underline
+ (of-object "GtkToolButton")
+ (c-name "gtk_tool_button_set_use_underline")
+ (return-type "none")
+ (parameters
+ '("gboolean" "use_underline")
+ )
+)
+
+(define-method get_use_underline
+ (of-object "GtkToolButton")
+ (c-name "gtk_tool_button_get_use_underline")
+ (return-type "gboolean")
+)
+
+(define-method set_stock_id
+ (of-object "GtkToolButton")
+ (c-name "gtk_tool_button_set_stock_id")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "stock_id")
+ )
+)
+
+(define-method get_stock_id
+ (of-object "GtkToolButton")
+ (c-name "gtk_tool_button_get_stock_id")
+ (return-type "const-gchar*")
+)
+
+(define-method set_icon_name
+ (of-object "GtkToolButton")
+ (c-name "gtk_tool_button_set_icon_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "icon_name")
+ )
+)
+
+(define-method get_icon_name
+ (of-object "GtkToolButton")
+ (c-name "gtk_tool_button_get_icon_name")
+ (return-type "const-gchar*")
+)
+
+(define-method set_icon_widget
+ (of-object "GtkToolButton")
+ (c-name "gtk_tool_button_set_icon_widget")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "icon_widget")
+ )
+)
+
+(define-method get_icon_widget
+ (of-object "GtkToolButton")
+ (c-name "gtk_tool_button_get_icon_widget")
+ (return-type "GtkWidget*")
+)
+
+(define-method set_label_widget
+ (of-object "GtkToolButton")
+ (c-name "gtk_tool_button_set_label_widget")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "label_widget")
+ )
+)
+
+(define-method get_label_widget
+ (of-object "GtkToolButton")
+ (c-name "gtk_tool_button_get_label_widget")
+ (return-type "GtkWidget*")
+)
+
+
+
+;; From gtktoolitem.h
+
+(define-function gtk_tool_item_get_type
+ (c-name "gtk_tool_item_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_tool_item_new
+ (c-name "gtk_tool_item_new")
+ (is-constructor-of "GtkToolItem")
+ (return-type "GtkToolItem*")
+)
+
+(define-method set_homogeneous
+ (of-object "GtkToolItem")
+ (c-name "gtk_tool_item_set_homogeneous")
+ (return-type "none")
+ (parameters
+ '("gboolean" "homogeneous")
+ )
+)
+
+(define-method get_homogeneous
+ (of-object "GtkToolItem")
+ (c-name "gtk_tool_item_get_homogeneous")
+ (return-type "gboolean")
+)
+
+(define-method set_expand
+ (of-object "GtkToolItem")
+ (c-name "gtk_tool_item_set_expand")
+ (return-type "none")
+ (parameters
+ '("gboolean" "expand")
+ )
+)
+
+(define-method get_expand
+ (of-object "GtkToolItem")
+ (c-name "gtk_tool_item_get_expand")
+ (return-type "gboolean")
+)
+
+(define-method set_tooltip
+ (of-object "GtkToolItem")
+ (c-name "gtk_tool_item_set_tooltip")
+ (return-type "none")
+ (parameters
+ '("GtkTooltips*" "tooltips")
+ '("const-gchar*" "tip_text")
+ '("const-gchar*" "tip_private")
+ )
+)
+
+(define-method set_tooltip_text
+ (of-object "GtkToolItem")
+ (c-name "gtk_tool_item_set_tooltip_text")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "text")
+ )
+)
+
+(define-method set_tooltip_markup
+ (of-object "GtkToolItem")
+ (c-name "gtk_tool_item_set_tooltip_markup")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "markup")
+ )
+)
+
+(define-method set_use_drag_window
+ (of-object "GtkToolItem")
+ (c-name "gtk_tool_item_set_use_drag_window")
+ (return-type "none")
+ (parameters
+ '("gboolean" "use_drag_window")
+ )
+)
+
+(define-method get_use_drag_window
+ (of-object "GtkToolItem")
+ (c-name "gtk_tool_item_get_use_drag_window")
+ (return-type "gboolean")
+)
+
+(define-method set_visible_horizontal
+ (of-object "GtkToolItem")
+ (c-name "gtk_tool_item_set_visible_horizontal")
+ (return-type "none")
+ (parameters
+ '("gboolean" "visible_horizontal")
+ )
+)
+
+(define-method get_visible_horizontal
+ (of-object "GtkToolItem")
+ (c-name "gtk_tool_item_get_visible_horizontal")
+ (return-type "gboolean")
+)
+
+(define-method set_visible_vertical
+ (of-object "GtkToolItem")
+ (c-name "gtk_tool_item_set_visible_vertical")
+ (return-type "none")
+ (parameters
+ '("gboolean" "visible_vertical")
+ )
+)
+
+(define-method get_visible_vertical
+ (of-object "GtkToolItem")
+ (c-name "gtk_tool_item_get_visible_vertical")
+ (return-type "gboolean")
+)
+
+(define-method get_is_important
+ (of-object "GtkToolItem")
+ (c-name "gtk_tool_item_get_is_important")
+ (return-type "gboolean")
+)
+
+(define-method set_is_important
+ (of-object "GtkToolItem")
+ (c-name "gtk_tool_item_set_is_important")
+ (return-type "none")
+ (parameters
+ '("gboolean" "is_important")
+ )
+)
+
+(define-method get_icon_size
+ (of-object "GtkToolItem")
+ (c-name "gtk_tool_item_get_icon_size")
+ (return-type "GtkIconSize")
+)
+
+(define-method get_orientation
+ (of-object "GtkToolItem")
+ (c-name "gtk_tool_item_get_orientation")
+ (return-type "GtkOrientation")
+)
+
+(define-method get_toolbar_style
+ (of-object "GtkToolItem")
+ (c-name "gtk_tool_item_get_toolbar_style")
+ (return-type "GtkToolbarStyle")
+)
+
+(define-method get_relief_style
+ (of-object "GtkToolItem")
+ (c-name "gtk_tool_item_get_relief_style")
+ (return-type "GtkReliefStyle")
+)
+
+(define-method retrieve_proxy_menu_item
+ (of-object "GtkToolItem")
+ (c-name "gtk_tool_item_retrieve_proxy_menu_item")
+ (return-type "GtkWidget*")
+)
+
+(define-method get_proxy_menu_item
+ (of-object "GtkToolItem")
+ (c-name "gtk_tool_item_get_proxy_menu_item")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "menu_item_id")
+ )
+)
+
+(define-method set_proxy_menu_item
+ (of-object "GtkToolItem")
+ (c-name "gtk_tool_item_set_proxy_menu_item")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "menu_item_id")
+ '("GtkWidget*" "menu_item")
+ )
+)
+
+(define-method rebuild_menu
+ (of-object "GtkToolItem")
+ (c-name "gtk_tool_item_rebuild_menu")
+ (return-type "none")
+)
+
+
+
+;; From gtktooltip.h
+
+(define-function gtk_tooltip_get_type
+ (c-name "gtk_tooltip_get_type")
+ (return-type "GType")
+)
+
+(define-method set_markup
+ (of-object "GtkTooltip")
+ (c-name "gtk_tooltip_set_markup")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "markup")
+ )
+)
+
+(define-method set_text
+ (of-object "GtkTooltip")
+ (c-name "gtk_tooltip_set_text")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "text")
+ )
+)
+
+(define-method set_icon
+ (of-object "GtkTooltip")
+ (c-name "gtk_tooltip_set_icon")
+ (return-type "none")
+ (parameters
+ '("GdkPixbuf*" "pixbuf")
+ )
+)
+
+(define-method set_icon_from_stock
+ (of-object "GtkTooltip")
+ (c-name "gtk_tooltip_set_icon_from_stock")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "stock_id")
+ '("GtkIconSize" "size")
+ )
+)
+
+(define-method set_custom
+ (of-object "GtkTooltip")
+ (c-name "gtk_tooltip_set_custom")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "custom_widget")
+ )
+)
+
+(define-method set_tip_area
+ (of-object "GtkTooltip")
+ (c-name "gtk_tooltip_set_tip_area")
+ (return-type "none")
+ (parameters
+ '("GdkRectangle*" "rect")
+ )
+)
+
+(define-function gtk_tooltip_trigger_tooltip_query
+ (c-name "gtk_tooltip_trigger_tooltip_query")
+ (return-type "none")
+ (parameters
+ '("GdkDisplay*" "display")
+ )
+)
+
+
+
+;; From gtktooltips.h
+
+(define-function gtk_tooltips_get_type
+ (c-name "gtk_tooltips_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_tooltips_new
+ (c-name "gtk_tooltips_new")
+ (is-constructor-of "GtkTooltips")
+ (return-type "GtkTooltips*")
+)
+
+(define-method enable
+ (of-object "GtkTooltips")
+ (c-name "gtk_tooltips_enable")
+ (return-type "none")
+)
+
+(define-method disable
+ (of-object "GtkTooltips")
+ (c-name "gtk_tooltips_disable")
+ (return-type "none")
+)
+
+(define-method set_delay
+ (of-object "GtkTooltips")
+ (c-name "gtk_tooltips_set_delay")
+ (return-type "none")
+ (parameters
+ '("guint" "delay")
+ )
+)
+
+(define-method set_tip
+ (of-object "GtkTooltips")
+ (c-name "gtk_tooltips_set_tip")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "tip_text")
+ '("const-gchar*" "tip_private")
+ )
+)
+
+(define-function gtk_tooltips_data_get
+ (c-name "gtk_tooltips_data_get")
+ (return-type "GtkTooltipsData*")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-method force_window
+ (of-object "GtkTooltips")
+ (c-name "gtk_tooltips_force_window")
+ (return-type "none")
+)
+
+(define-function gtk_tooltips_get_info_from_tip_window
+ (c-name "gtk_tooltips_get_info_from_tip_window")
+ (return-type "gboolean")
+ (parameters
+ '("GtkWindow*" "tip_window")
+ '("GtkTooltips**" "tooltips")
+ '("GtkWidget**" "current_widget")
+ )
+)
+
+
+
+;; From gtktrayicon.h
+
+(define-function gtk_tray_icon_get_type
+ (c-name "gtk_tray_icon_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From gtktreedatalist.h
+
+
+
+;; From gtktreednd.h
+
+(define-function gtk_tree_drag_source_get_type
+ (c-name "gtk_tree_drag_source_get_type")
+ (return-type "GType")
+)
+
+(define-method row_draggable
+ (of-object "GtkTreeDragSource")
+ (c-name "gtk_tree_drag_source_row_draggable")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-method drag_data_delete
+ (of-object "GtkTreeDragSource")
+ (c-name "gtk_tree_drag_source_drag_data_delete")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-method drag_data_get
+ (of-object "GtkTreeDragSource")
+ (c-name "gtk_tree_drag_source_drag_data_get")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreePath*" "path")
+ '("GtkSelectionData*" "selection_data")
+ )
+)
+
+(define-function gtk_tree_drag_dest_get_type
+ (c-name "gtk_tree_drag_dest_get_type")
+ (return-type "GType")
+)
+
+(define-method drag_data_received
+ (of-object "GtkTreeDragDest")
+ (c-name "gtk_tree_drag_dest_drag_data_received")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreePath*" "dest")
+ '("GtkSelectionData*" "selection_data")
+ )
+)
+
+(define-method row_drop_possible
+ (of-object "GtkTreeDragDest")
+ (c-name "gtk_tree_drag_dest_row_drop_possible")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreePath*" "dest_path")
+ '("GtkSelectionData*" "selection_data")
+ )
+)
+
+(define-function gtk_tree_set_row_drag_data
+ (c-name "gtk_tree_set_row_drag_data")
+ (return-type "gboolean")
+ (parameters
+ '("GtkSelectionData*" "selection_data")
+ '("GtkTreeModel*" "tree_model")
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-function gtk_tree_get_row_drag_data
+ (c-name "gtk_tree_get_row_drag_data")
+ (return-type "gboolean")
+ (parameters
+ '("GtkSelectionData*" "selection_data")
+ '("GtkTreeModel**" "tree_model")
+ '("GtkTreePath**" "path")
+ )
+)
+
+
+
+;; From gtktree.h
+
+(define-function gtk_tree_get_type
+ (c-name "gtk_tree_get_type")
+ (return-type "GtkType")
+)
+
+(define-function gtk_tree_new
+ (c-name "gtk_tree_new")
+ (is-constructor-of "GtkTree")
+ (return-type "GtkWidget*")
+)
+
+(define-method append
+ (of-object "GtkTree")
+ (c-name "gtk_tree_append")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "tree_item")
+ )
+)
+
+(define-method prepend
+ (of-object "GtkTree")
+ (c-name "gtk_tree_prepend")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "tree_item")
+ )
+)
+
+(define-method insert
+ (of-object "GtkTree")
+ (c-name "gtk_tree_insert")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "tree_item")
+ '("gint" "position")
+ )
+)
+
+(define-method remove_items
+ (of-object "GtkTree")
+ (c-name "gtk_tree_remove_items")
+ (return-type "none")
+ (parameters
+ '("GList*" "items")
+ )
+)
+
+(define-method clear_items
+ (of-object "GtkTree")
+ (c-name "gtk_tree_clear_items")
+ (return-type "none")
+ (parameters
+ '("gint" "start")
+ '("gint" "end")
+ )
+)
+
+(define-method select_item
+ (of-object "GtkTree")
+ (c-name "gtk_tree_select_item")
+ (return-type "none")
+ (parameters
+ '("gint" "item")
+ )
+)
+
+(define-method unselect_item
+ (of-object "GtkTree")
+ (c-name "gtk_tree_unselect_item")
+ (return-type "none")
+ (parameters
+ '("gint" "item")
+ )
+)
+
+(define-method select_child
+ (of-object "GtkTree")
+ (c-name "gtk_tree_select_child")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "tree_item")
+ )
+)
+
+(define-method unselect_child
+ (of-object "GtkTree")
+ (c-name "gtk_tree_unselect_child")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "tree_item")
+ )
+)
+
+(define-method child_position
+ (of-object "GtkTree")
+ (c-name "gtk_tree_child_position")
+ (return-type "gint")
+ (parameters
+ '("GtkWidget*" "child")
+ )
+)
+
+(define-method set_selection_mode
+ (of-object "GtkTree")
+ (c-name "gtk_tree_set_selection_mode")
+ (return-type "none")
+ (parameters
+ '("GtkSelectionMode" "mode")
+ )
+)
+
+(define-method set_view_mode
+ (of-object "GtkTree")
+ (c-name "gtk_tree_set_view_mode")
+ (return-type "none")
+ (parameters
+ '("GtkTreeViewMode" "mode")
+ )
+)
+
+(define-method set_view_lines
+ (of-object "GtkTree")
+ (c-name "gtk_tree_set_view_lines")
+ (return-type "none")
+ (parameters
+ '("gboolean" "flag")
+ )
+)
+
+(define-method remove_item
+ (of-object "GtkTree")
+ (c-name "gtk_tree_remove_item")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ )
+)
+
+
+
+;; From gtktreeitem.h
+
+(define-function gtk_tree_item_get_type
+ (c-name "gtk_tree_item_get_type")
+ (return-type "GtkType")
+)
+
+(define-function gtk_tree_item_new
+ (c-name "gtk_tree_item_new")
+ (is-constructor-of "GtkTreeItem")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_tree_item_new_with_label
+ (c-name "gtk_tree_item_new_with_label")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "label")
+ )
+)
+
+(define-method set_subtree
+ (of-object "GtkTreeItem")
+ (c-name "gtk_tree_item_set_subtree")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "subtree")
+ )
+)
+
+(define-method remove_subtree
+ (of-object "GtkTreeItem")
+ (c-name "gtk_tree_item_remove_subtree")
+ (return-type "none")
+)
+
+(define-method select
+ (of-object "GtkTreeItem")
+ (c-name "gtk_tree_item_select")
+ (return-type "none")
+)
+
+(define-method deselect
+ (of-object "GtkTreeItem")
+ (c-name "gtk_tree_item_deselect")
+ (return-type "none")
+)
+
+(define-method expand
+ (of-object "GtkTreeItem")
+ (c-name "gtk_tree_item_expand")
+ (return-type "none")
+)
+
+(define-method collapse
+ (of-object "GtkTreeItem")
+ (c-name "gtk_tree_item_collapse")
+ (return-type "none")
+)
+
+
+
+;; From gtktreemodelfilter.h
+
+(define-function gtk_tree_model_filter_get_type
+ (c-name "gtk_tree_model_filter_get_type")
+ (return-type "GType")
+)
+
+(define-method filter_new
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_filter_new")
+ (return-type "GtkTreeModel*")
+ (parameters
+ '("GtkTreePath*" "root")
+ )
+)
+
+(define-method set_visible_func
+ (of-object "GtkTreeModelFilter")
+ (c-name "gtk_tree_model_filter_set_visible_func")
+ (return-type "none")
+ (parameters
+ '("GtkTreeModelFilterVisibleFunc" "func")
+ '("gpointer" "data")
+ '("GtkDestroyNotify" "destroy")
+ )
+)
+
+(define-method set_modify_func
+ (of-object "GtkTreeModelFilter")
+ (c-name "gtk_tree_model_filter_set_modify_func")
+ (return-type "none")
+ (parameters
+ '("gint" "n_columns")
+ '("GType*" "types")
+ '("GtkTreeModelFilterModifyFunc" "func")
+ '("gpointer" "data")
+ '("GtkDestroyNotify" "destroy")
+ )
+)
+
+(define-method set_visible_column
+ (of-object "GtkTreeModelFilter")
+ (c-name "gtk_tree_model_filter_set_visible_column")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+(define-method get_model
+ (of-object "GtkTreeModelFilter")
+ (c-name "gtk_tree_model_filter_get_model")
+ (return-type "GtkTreeModel*")
+)
+
+(define-method convert_child_iter_to_iter
+ (of-object "GtkTreeModelFilter")
+ (c-name "gtk_tree_model_filter_convert_child_iter_to_iter")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeIter*" "filter_iter")
+ '("GtkTreeIter*" "child_iter")
+ )
+)
+
+(define-method convert_iter_to_child_iter
+ (of-object "GtkTreeModelFilter")
+ (c-name "gtk_tree_model_filter_convert_iter_to_child_iter")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "child_iter")
+ '("GtkTreeIter*" "filter_iter")
+ )
+)
+
+(define-method convert_child_path_to_path
+ (of-object "GtkTreeModelFilter")
+ (c-name "gtk_tree_model_filter_convert_child_path_to_path")
+ (return-type "GtkTreePath*")
+ (parameters
+ '("GtkTreePath*" "child_path")
+ )
+)
+
+(define-method convert_path_to_child_path
+ (of-object "GtkTreeModelFilter")
+ (c-name "gtk_tree_model_filter_convert_path_to_child_path")
+ (return-type "GtkTreePath*")
+ (parameters
+ '("GtkTreePath*" "filter_path")
+ )
+)
+
+(define-method refilter
+ (of-object "GtkTreeModelFilter")
+ (c-name "gtk_tree_model_filter_refilter")
+ (return-type "none")
+)
+
+(define-method clear_cache
+ (of-object "GtkTreeModelFilter")
+ (c-name "gtk_tree_model_filter_clear_cache")
+ (return-type "none")
+)
+
+
+
+;; From gtktreemodel.h
+
+(define-function gtk_tree_path_new
+ (c-name "gtk_tree_path_new")
+ (is-constructor-of "GtkTreePath")
+ (return-type "GtkTreePath*")
+)
+
+(define-function gtk_tree_path_new_from_string
+ (c-name "gtk_tree_path_new_from_string")
+ (return-type "GtkTreePath*")
+ (parameters
+ '("const-gchar*" "path")
+ )
+)
+
+(define-function gtk_tree_path_new_from_indices
+ (c-name "gtk_tree_path_new_from_indices")
+ (return-type "GtkTreePath*")
+ (parameters
+ '("gint" "first_index")
+ )
+ (varargs #t)
+)
+
+(define-method to_string
+ (of-object "GtkTreePath")
+ (c-name "gtk_tree_path_to_string")
+ (return-type "gchar*")
+)
+
+(define-function gtk_tree_path_new_first
+ (c-name "gtk_tree_path_new_first")
+ (return-type "GtkTreePath*")
+)
+
+(define-method append_index
+ (of-object "GtkTreePath")
+ (c-name "gtk_tree_path_append_index")
+ (return-type "none")
+ (parameters
+ '("gint" "index_")
+ )
+)
+
+(define-method prepend_index
+ (of-object "GtkTreePath")
+ (c-name "gtk_tree_path_prepend_index")
+ (return-type "none")
+ (parameters
+ '("gint" "index_")
+ )
+)
+
+(define-method get_depth
+ (of-object "GtkTreePath")
+ (c-name "gtk_tree_path_get_depth")
+ (return-type "gint")
+)
+
+(define-method get_indices
+ (of-object "GtkTreePath")
+ (c-name "gtk_tree_path_get_indices")
+ (return-type "gint*")
+)
+
+(define-method free
+ (of-object "GtkTreePath")
+ (c-name "gtk_tree_path_free")
+ (return-type "none")
+)
+
+(define-method copy
+ (of-object "GtkTreePath")
+ (c-name "gtk_tree_path_copy")
+ (return-type "GtkTreePath*")
+)
+
+(define-function gtk_tree_path_get_type
+ (c-name "gtk_tree_path_get_type")
+ (return-type "GType")
+)
+
+(define-method compare
+ (of-object "GtkTreePath")
+ (c-name "gtk_tree_path_compare")
+ (return-type "gint")
+ (parameters
+ '("const-GtkTreePath*" "b")
+ )
+)
+
+(define-method next
+ (of-object "GtkTreePath")
+ (c-name "gtk_tree_path_next")
+ (return-type "none")
+)
+
+(define-method prev
+ (of-object "GtkTreePath")
+ (c-name "gtk_tree_path_prev")
+ (return-type "gboolean")
+)
+
+(define-method up
+ (of-object "GtkTreePath")
+ (c-name "gtk_tree_path_up")
+ (return-type "gboolean")
+)
+
+(define-method down
+ (of-object "GtkTreePath")
+ (c-name "gtk_tree_path_down")
+ (return-type "none")
+)
+
+(define-method is_ancestor
+ (of-object "GtkTreePath")
+ (c-name "gtk_tree_path_is_ancestor")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreePath*" "descendant")
+ )
+)
+
+(define-method is_descendant
+ (of-object "GtkTreePath")
+ (c-name "gtk_tree_path_is_descendant")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreePath*" "ancestor")
+ )
+)
+
+(define-function gtk_tree_row_reference_get_type
+ (c-name "gtk_tree_row_reference_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_tree_row_reference_new
+ (c-name "gtk_tree_row_reference_new")
+ (is-constructor-of "GtkTreeRowReference")
+ (return-type "GtkTreeRowReference*")
+ (parameters
+ '("GtkTreeModel*" "model")
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-function gtk_tree_row_reference_new_proxy
+ (c-name "gtk_tree_row_reference_new_proxy")
+ (return-type "GtkTreeRowReference*")
+ (parameters
+ '("GObject*" "proxy")
+ '("GtkTreeModel*" "model")
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-method get_path
+ (of-object "GtkTreeRowReference")
+ (c-name "gtk_tree_row_reference_get_path")
+ (return-type "GtkTreePath*")
+)
+
+(define-method get_model
+ (of-object "GtkTreeRowReference")
+ (c-name "gtk_tree_row_reference_get_model")
+ (return-type "GtkTreeModel*")
+)
+
+(define-method valid
+ (of-object "GtkTreeRowReference")
+ (c-name "gtk_tree_row_reference_valid")
+ (return-type "gboolean")
+)
+
+(define-method copy
+ (of-object "GtkTreeRowReference")
+ (c-name "gtk_tree_row_reference_copy")
+ (return-type "GtkTreeRowReference*")
+)
+
+(define-method free
+ (of-object "GtkTreeRowReference")
+ (c-name "gtk_tree_row_reference_free")
+ (return-type "none")
+)
+
+(define-function gtk_tree_row_reference_inserted
+ (c-name "gtk_tree_row_reference_inserted")
+ (return-type "none")
+ (parameters
+ '("GObject*" "proxy")
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-function gtk_tree_row_reference_deleted
+ (c-name "gtk_tree_row_reference_deleted")
+ (return-type "none")
+ (parameters
+ '("GObject*" "proxy")
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-function gtk_tree_row_reference_reordered
+ (c-name "gtk_tree_row_reference_reordered")
+ (return-type "none")
+ (parameters
+ '("GObject*" "proxy")
+ '("GtkTreePath*" "path")
+ '("GtkTreeIter*" "iter")
+ '("gint*" "new_order")
+ )
+)
+
+(define-method copy
+ (of-object "GtkTreeIter")
+ (c-name "gtk_tree_iter_copy")
+ (return-type "GtkTreeIter*")
+)
+
+(define-method free
+ (of-object "GtkTreeIter")
+ (c-name "gtk_tree_iter_free")
+ (return-type "none")
+)
+
+(define-function gtk_tree_iter_get_type
+ (c-name "gtk_tree_iter_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_tree_model_get_type
+ (c-name "gtk_tree_model_get_type")
+ (return-type "GType")
+)
+
+(define-method get_flags
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_get_flags")
+ (return-type "GtkTreeModelFlags")
+)
+
+(define-method get_n_columns
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_get_n_columns")
+ (return-type "gint")
+)
+
+(define-method get_column_type
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_get_column_type")
+ (return-type "GType")
+ (parameters
+ '("gint" "index_")
+ )
+)
+
+(define-method get_iter
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_get_iter")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-method get_iter_from_string
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_get_iter_from_string")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("const-gchar*" "path_string")
+ )
+)
+
+(define-method get_string_from_iter
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_get_string_from_iter")
+ (return-type "gchar*")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method get_iter_first
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_get_iter_first")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method get_path
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_get_path")
+ (return-type "GtkTreePath*")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method get_value
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_get_value")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("gint" "column")
+ '("GValue*" "value")
+ )
+)
+
+(define-method iter_next
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_iter_next")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method iter_children
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_iter_children")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("GtkTreeIter*" "parent")
+ )
+)
+
+(define-method iter_has_child
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_iter_has_child")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method iter_n_children
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_iter_n_children")
+ (return-type "gint")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method iter_nth_child
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_iter_nth_child")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("GtkTreeIter*" "parent")
+ '("gint" "n")
+ )
+)
+
+(define-method iter_parent
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_iter_parent")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("GtkTreeIter*" "child")
+ )
+)
+
+(define-method ref_node
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_ref_node")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method unref_node
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_unref_node")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method get
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_get")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+ (varargs #t)
+)
+
+(define-method get_valist
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_get_valist")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("va_list" "var_args")
+ )
+)
+
+(define-method foreach
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_foreach")
+ (return-type "none")
+ (parameters
+ '("GtkTreeModelForeachFunc" "func")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method row_changed
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_row_changed")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "path")
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method row_inserted
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_row_inserted")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "path")
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method row_has_child_toggled
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_row_has_child_toggled")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "path")
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method row_deleted
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_row_deleted")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-method rows_reordered
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_rows_reordered")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "path")
+ '("GtkTreeIter*" "iter")
+ '("gint*" "new_order")
+ )
+)
+
+
+
+;; From gtktreemodelsort.h
+
+(define-function gtk_tree_model_sort_get_type
+ (c-name "gtk_tree_model_sort_get_type")
+ (return-type "GType")
+)
+
+(define-method sort_new_with_model
+ (of-object "GtkTreeModel")
+ (c-name "gtk_tree_model_sort_new_with_model")
+ (return-type "GtkTreeModel*")
+)
+
+(define-method get_model
+ (of-object "GtkTreeModelSort")
+ (c-name "gtk_tree_model_sort_get_model")
+ (return-type "GtkTreeModel*")
+)
+
+(define-method convert_child_path_to_path
+ (of-object "GtkTreeModelSort")
+ (c-name "gtk_tree_model_sort_convert_child_path_to_path")
+ (return-type "GtkTreePath*")
+ (parameters
+ '("GtkTreePath*" "child_path")
+ )
+)
+
+(define-method convert_child_iter_to_iter
+ (of-object "GtkTreeModelSort")
+ (c-name "gtk_tree_model_sort_convert_child_iter_to_iter")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "sort_iter")
+ '("GtkTreeIter*" "child_iter")
+ )
+)
+
+(define-method convert_path_to_child_path
+ (of-object "GtkTreeModelSort")
+ (c-name "gtk_tree_model_sort_convert_path_to_child_path")
+ (return-type "GtkTreePath*")
+ (parameters
+ '("GtkTreePath*" "sorted_path")
+ )
+)
+
+(define-method convert_iter_to_child_iter
+ (of-object "GtkTreeModelSort")
+ (c-name "gtk_tree_model_sort_convert_iter_to_child_iter")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "child_iter")
+ '("GtkTreeIter*" "sorted_iter")
+ )
+)
+
+(define-method reset_default_sort_func
+ (of-object "GtkTreeModelSort")
+ (c-name "gtk_tree_model_sort_reset_default_sort_func")
+ (return-type "none")
+)
+
+(define-method clear_cache
+ (of-object "GtkTreeModelSort")
+ (c-name "gtk_tree_model_sort_clear_cache")
+ (return-type "none")
+)
+
+(define-method iter_is_valid
+ (of-object "GtkTreeModelSort")
+ (c-name "gtk_tree_model_sort_iter_is_valid")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+
+
+;; From gtktreeprivate.h
+
+
+
+;; From gtktreeselection.h
+
+(define-function gtk_tree_selection_get_type
+ (c-name "gtk_tree_selection_get_type")
+ (return-type "GType")
+)
+
+(define-method set_mode
+ (of-object "GtkTreeSelection")
+ (c-name "gtk_tree_selection_set_mode")
+ (return-type "none")
+ (parameters
+ '("GtkSelectionMode" "type")
+ )
+)
+
+(define-method get_mode
+ (of-object "GtkTreeSelection")
+ (c-name "gtk_tree_selection_get_mode")
+ (return-type "GtkSelectionMode")
+)
+
+(define-method set_select_function
+ (of-object "GtkTreeSelection")
+ (c-name "gtk_tree_selection_set_select_function")
+ (return-type "none")
+ (parameters
+ '("GtkTreeSelectionFunc" "func")
+ '("gpointer" "data")
+ '("GtkDestroyNotify" "destroy")
+ )
+)
+
+(define-method get_user_data
+ (of-object "GtkTreeSelection")
+ (c-name "gtk_tree_selection_get_user_data")
+ (return-type "gpointer")
+)
+
+(define-method get_tree_view
+ (of-object "GtkTreeSelection")
+ (c-name "gtk_tree_selection_get_tree_view")
+ (return-type "GtkTreeView*")
+)
+
+(define-method get_selected
+ (of-object "GtkTreeSelection")
+ (c-name "gtk_tree_selection_get_selected")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeModel**" "model")
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method get_selected_rows
+ (of-object "GtkTreeSelection")
+ (c-name "gtk_tree_selection_get_selected_rows")
+ (return-type "GList*")
+ (parameters
+ '("GtkTreeModel**" "model")
+ )
+)
+
+(define-method count_selected_rows
+ (of-object "GtkTreeSelection")
+ (c-name "gtk_tree_selection_count_selected_rows")
+ (return-type "gint")
+)
+
+(define-method selected_foreach
+ (of-object "GtkTreeSelection")
+ (c-name "gtk_tree_selection_selected_foreach")
+ (return-type "none")
+ (parameters
+ '("GtkTreeSelectionForeachFunc" "func")
+ '("gpointer" "data")
+ )
+)
+
+(define-method select_path
+ (of-object "GtkTreeSelection")
+ (c-name "gtk_tree_selection_select_path")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-method unselect_path
+ (of-object "GtkTreeSelection")
+ (c-name "gtk_tree_selection_unselect_path")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-method select_iter
+ (of-object "GtkTreeSelection")
+ (c-name "gtk_tree_selection_select_iter")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method unselect_iter
+ (of-object "GtkTreeSelection")
+ (c-name "gtk_tree_selection_unselect_iter")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method path_is_selected
+ (of-object "GtkTreeSelection")
+ (c-name "gtk_tree_selection_path_is_selected")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-method iter_is_selected
+ (of-object "GtkTreeSelection")
+ (c-name "gtk_tree_selection_iter_is_selected")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method select_all
+ (of-object "GtkTreeSelection")
+ (c-name "gtk_tree_selection_select_all")
+ (return-type "none")
+)
+
+(define-method unselect_all
+ (of-object "GtkTreeSelection")
+ (c-name "gtk_tree_selection_unselect_all")
+ (return-type "none")
+)
+
+(define-method select_range
+ (of-object "GtkTreeSelection")
+ (c-name "gtk_tree_selection_select_range")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "start_path")
+ '("GtkTreePath*" "end_path")
+ )
+)
+
+(define-method unselect_range
+ (of-object "GtkTreeSelection")
+ (c-name "gtk_tree_selection_unselect_range")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "start_path")
+ '("GtkTreePath*" "end_path")
+ )
+)
+
+
+
+;; From gtktreesortable.h
+
+(define-function gtk_tree_sortable_get_type
+ (c-name "gtk_tree_sortable_get_type")
+ (return-type "GType")
+)
+
+(define-method sort_column_changed
+ (of-object "GtkTreeSortable")
+ (c-name "gtk_tree_sortable_sort_column_changed")
+ (return-type "none")
+)
+
+(define-method get_sort_column_id
+ (of-object "GtkTreeSortable")
+ (c-name "gtk_tree_sortable_get_sort_column_id")
+ (return-type "gboolean")
+ (parameters
+ '("gint*" "sort_column_id")
+ '("GtkSortType*" "order")
+ )
+)
+
+(define-method set_sort_column_id
+ (of-object "GtkTreeSortable")
+ (c-name "gtk_tree_sortable_set_sort_column_id")
+ (return-type "none")
+ (parameters
+ '("gint" "sort_column_id")
+ '("GtkSortType" "order")
+ )
+)
+
+(define-method set_sort_func
+ (of-object "GtkTreeSortable")
+ (c-name "gtk_tree_sortable_set_sort_func")
+ (return-type "none")
+ (parameters
+ '("gint" "sort_column_id")
+ '("GtkTreeIterCompareFunc" "sort_func")
+ '("gpointer" "user_data")
+ '("GtkDestroyNotify" "destroy")
+ )
+)
+
+(define-method set_default_sort_func
+ (of-object "GtkTreeSortable")
+ (c-name "gtk_tree_sortable_set_default_sort_func")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIterCompareFunc" "sort_func")
+ '("gpointer" "user_data")
+ '("GtkDestroyNotify" "destroy")
+ )
+)
+
+(define-method has_default_sort_func
+ (of-object "GtkTreeSortable")
+ (c-name "gtk_tree_sortable_has_default_sort_func")
+ (return-type "gboolean")
+)
+
+
+
+;; From gtktreestore.h
+
+(define-function gtk_tree_store_get_type
+ (c-name "gtk_tree_store_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_tree_store_new
+ (c-name "gtk_tree_store_new")
+ (is-constructor-of "GtkTreeStore")
+ (return-type "GtkTreeStore*")
+ (parameters
+ '("gint" "n_columns")
+ )
+ (varargs #t)
+)
+
+(define-function gtk_tree_store_newv
+ (c-name "gtk_tree_store_newv")
+ (return-type "GtkTreeStore*")
+ (parameters
+ '("gint" "n_columns")
+ '("GType*" "types")
+ )
+)
+
+(define-method set_column_types
+ (of-object "GtkTreeStore")
+ (c-name "gtk_tree_store_set_column_types")
+ (return-type "none")
+ (parameters
+ '("gint" "n_columns")
+ '("GType*" "types")
+ )
+)
+
+(define-method set_value
+ (of-object "GtkTreeStore")
+ (c-name "gtk_tree_store_set_value")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("gint" "column")
+ '("GValue*" "value")
+ )
+)
+
+(define-method set
+ (of-object "GtkTreeStore")
+ (c-name "gtk_tree_store_set")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+ (varargs #t)
+)
+
+(define-method set_valuesv
+ (of-object "GtkTreeStore")
+ (c-name "gtk_tree_store_set_valuesv")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("gint*" "columns")
+ '("GValue*" "values")
+ '("gint" "n_values")
+ )
+)
+
+(define-method set_valist
+ (of-object "GtkTreeStore")
+ (c-name "gtk_tree_store_set_valist")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("va_list" "var_args")
+ )
+)
+
+(define-method remove
+ (of-object "GtkTreeStore")
+ (c-name "gtk_tree_store_remove")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method insert
+ (of-object "GtkTreeStore")
+ (c-name "gtk_tree_store_insert")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("GtkTreeIter*" "parent")
+ '("gint" "position")
+ )
+)
+
+(define-method insert_before
+ (of-object "GtkTreeStore")
+ (c-name "gtk_tree_store_insert_before")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("GtkTreeIter*" "parent")
+ '("GtkTreeIter*" "sibling")
+ )
+)
+
+(define-method insert_after
+ (of-object "GtkTreeStore")
+ (c-name "gtk_tree_store_insert_after")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("GtkTreeIter*" "parent")
+ '("GtkTreeIter*" "sibling")
+ )
+)
+
+(define-method insert_with_values
+ (of-object "GtkTreeStore")
+ (c-name "gtk_tree_store_insert_with_values")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("GtkTreeIter*" "parent")
+ '("gint" "position")
+ )
+ (varargs #t)
+)
+
+(define-method insert_with_valuesv
+ (of-object "GtkTreeStore")
+ (c-name "gtk_tree_store_insert_with_valuesv")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("GtkTreeIter*" "parent")
+ '("gint" "position")
+ '("gint*" "columns")
+ '("GValue*" "values")
+ '("gint" "n_values")
+ )
+)
+
+(define-method prepend
+ (of-object "GtkTreeStore")
+ (c-name "gtk_tree_store_prepend")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("GtkTreeIter*" "parent")
+ )
+)
+
+(define-method append
+ (of-object "GtkTreeStore")
+ (c-name "gtk_tree_store_append")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("GtkTreeIter*" "parent")
+ )
+)
+
+(define-method is_ancestor
+ (of-object "GtkTreeStore")
+ (c-name "gtk_tree_store_is_ancestor")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("GtkTreeIter*" "descendant")
+ )
+)
+
+(define-method iter_depth
+ (of-object "GtkTreeStore")
+ (c-name "gtk_tree_store_iter_depth")
+ (return-type "gint")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method clear
+ (of-object "GtkTreeStore")
+ (c-name "gtk_tree_store_clear")
+ (return-type "none")
+)
+
+(define-method iter_is_valid
+ (of-object "GtkTreeStore")
+ (c-name "gtk_tree_store_iter_is_valid")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method reorder
+ (of-object "GtkTreeStore")
+ (c-name "gtk_tree_store_reorder")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "parent")
+ '("gint*" "new_order")
+ )
+)
+
+(define-method swap
+ (of-object "GtkTreeStore")
+ (c-name "gtk_tree_store_swap")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "a")
+ '("GtkTreeIter*" "b")
+ )
+)
+
+(define-method move_before
+ (of-object "GtkTreeStore")
+ (c-name "gtk_tree_store_move_before")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("GtkTreeIter*" "position")
+ )
+)
+
+(define-method move_after
+ (of-object "GtkTreeStore")
+ (c-name "gtk_tree_store_move_after")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("GtkTreeIter*" "position")
+ )
+)
+
+
+
+;; From gtktreeviewcolumn.h
+
+(define-function gtk_tree_view_column_get_type
+ (c-name "gtk_tree_view_column_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_tree_view_column_new
+ (c-name "gtk_tree_view_column_new")
+ (is-constructor-of "GtkTreeViewColumn")
+ (return-type "GtkTreeViewColumn*")
+)
+
+(define-function gtk_tree_view_column_new_with_attributes
+ (c-name "gtk_tree_view_column_new_with_attributes")
+ (return-type "GtkTreeViewColumn*")
+ (parameters
+ '("const-gchar*" "title")
+ '("GtkCellRenderer*" "cell")
+ )
+ (varargs #t)
+)
+
+(define-method pack_start
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_pack_start")
+ (return-type "none")
+ (parameters
+ '("GtkCellRenderer*" "cell")
+ '("gboolean" "expand")
+ )
+)
+
+(define-method pack_end
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_pack_end")
+ (return-type "none")
+ (parameters
+ '("GtkCellRenderer*" "cell")
+ '("gboolean" "expand")
+ )
+)
+
+(define-method clear
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_clear")
+ (return-type "none")
+)
+
+(define-method get_cell_renderers
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_get_cell_renderers")
+ (return-type "GList*")
+)
+
+(define-method add_attribute
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_add_attribute")
+ (return-type "none")
+ (parameters
+ '("GtkCellRenderer*" "cell_renderer")
+ '("const-gchar*" "attribute")
+ '("gint" "column")
+ )
+)
+
+(define-method set_attributes
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_set_attributes")
+ (return-type "none")
+ (parameters
+ '("GtkCellRenderer*" "cell_renderer")
+ )
+ (varargs #t)
+)
+
+(define-method set_cell_data_func
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_set_cell_data_func")
+ (return-type "none")
+ (parameters
+ '("GtkCellRenderer*" "cell_renderer")
+ '("GtkTreeCellDataFunc" "func")
+ '("gpointer" "func_data")
+ '("GtkDestroyNotify" "destroy")
+ )
+)
+
+(define-method clear_attributes
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_clear_attributes")
+ (return-type "none")
+ (parameters
+ '("GtkCellRenderer*" "cell_renderer")
+ )
+)
+
+(define-method set_spacing
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_set_spacing")
+ (return-type "none")
+ (parameters
+ '("gint" "spacing")
+ )
+)
+
+(define-method get_spacing
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_get_spacing")
+ (return-type "gint")
+)
+
+(define-method set_visible
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_set_visible")
+ (return-type "none")
+ (parameters
+ '("gboolean" "visible")
+ )
+)
+
+(define-method get_visible
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_get_visible")
+ (return-type "gboolean")
+)
+
+(define-method set_resizable
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_set_resizable")
+ (return-type "none")
+ (parameters
+ '("gboolean" "resizable")
+ )
+)
+
+(define-method get_resizable
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_get_resizable")
+ (return-type "gboolean")
+)
+
+(define-method set_sizing
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_set_sizing")
+ (return-type "none")
+ (parameters
+ '("GtkTreeViewColumnSizing" "type")
+ )
+)
+
+(define-method get_sizing
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_get_sizing")
+ (return-type "GtkTreeViewColumnSizing")
+)
+
+(define-method get_width
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_get_width")
+ (return-type "gint")
+)
+
+(define-method get_fixed_width
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_get_fixed_width")
+ (return-type "gint")
+)
+
+(define-method set_fixed_width
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_set_fixed_width")
+ (return-type "none")
+ (parameters
+ '("gint" "fixed_width")
+ )
+)
+
+(define-method set_min_width
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_set_min_width")
+ (return-type "none")
+ (parameters
+ '("gint" "min_width")
+ )
+)
+
+(define-method get_min_width
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_get_min_width")
+ (return-type "gint")
+)
+
+(define-method set_max_width
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_set_max_width")
+ (return-type "none")
+ (parameters
+ '("gint" "max_width")
+ )
+)
+
+(define-method get_max_width
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_get_max_width")
+ (return-type "gint")
+)
+
+(define-method clicked
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_clicked")
+ (return-type "none")
+)
+
+(define-method set_title
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_set_title")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "title")
+ )
+)
+
+(define-method get_title
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_get_title")
+ (return-type "const-gchar*")
+)
+
+(define-method set_expand
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_set_expand")
+ (return-type "none")
+ (parameters
+ '("gboolean" "expand")
+ )
+)
+
+(define-method get_expand
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_get_expand")
+ (return-type "gboolean")
+)
+
+(define-method set_clickable
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_set_clickable")
+ (return-type "none")
+ (parameters
+ '("gboolean" "clickable")
+ )
+)
+
+(define-method get_clickable
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_get_clickable")
+ (return-type "gboolean")
+)
+
+(define-method set_widget
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_set_widget")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-method get_widget
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_get_widget")
+ (return-type "GtkWidget*")
+)
+
+(define-method set_alignment
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_set_alignment")
+ (return-type "none")
+ (parameters
+ '("gfloat" "xalign")
+ )
+)
+
+(define-method get_alignment
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_get_alignment")
+ (return-type "gfloat")
+)
+
+(define-method set_reorderable
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_set_reorderable")
+ (return-type "none")
+ (parameters
+ '("gboolean" "reorderable")
+ )
+)
+
+(define-method get_reorderable
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_get_reorderable")
+ (return-type "gboolean")
+)
+
+(define-method set_sort_column_id
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_set_sort_column_id")
+ (return-type "none")
+ (parameters
+ '("gint" "sort_column_id")
+ )
+)
+
+(define-method get_sort_column_id
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_get_sort_column_id")
+ (return-type "gint")
+)
+
+(define-method set_sort_indicator
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_set_sort_indicator")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_sort_indicator
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_get_sort_indicator")
+ (return-type "gboolean")
+)
+
+(define-method set_sort_order
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_set_sort_order")
+ (return-type "none")
+ (parameters
+ '("GtkSortType" "order")
+ )
+)
+
+(define-method get_sort_order
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_get_sort_order")
+ (return-type "GtkSortType")
+)
+
+(define-method cell_set_cell_data
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_cell_set_cell_data")
+ (return-type "none")
+ (parameters
+ '("GtkTreeModel*" "tree_model")
+ '("GtkTreeIter*" "iter")
+ '("gboolean" "is_expander")
+ '("gboolean" "is_expanded")
+ )
+)
+
+(define-method cell_get_size
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_cell_get_size")
+ (return-type "none")
+ (parameters
+ '("GdkRectangle*" "cell_area")
+ '("gint*" "x_offset")
+ '("gint*" "y_offset")
+ '("gint*" "width")
+ '("gint*" "height")
+ )
+)
+
+(define-method cell_is_visible
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_cell_is_visible")
+ (return-type "gboolean")
+)
+
+(define-method focus_cell
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_focus_cell")
+ (return-type "none")
+ (parameters
+ '("GtkCellRenderer*" "cell")
+ )
+)
+
+(define-method cell_get_position
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_cell_get_position")
+ (return-type "gboolean")
+ (parameters
+ '("GtkCellRenderer*" "cell_renderer")
+ '("gint*" "start_pos")
+ '("gint*" "width")
+ )
+)
+
+(define-method queue_resize
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_queue_resize")
+ (return-type "none")
+)
+
+(define-method get_tree_view
+ (of-object "GtkTreeViewColumn")
+ (c-name "gtk_tree_view_column_get_tree_view")
+ (return-type "GtkWidget*")
+)
+
+
+
+;; From gtktreeview.h
+
+(define-function gtk_tree_view_get_type
+ (c-name "gtk_tree_view_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_tree_view_new
+ (c-name "gtk_tree_view_new")
+ (is-constructor-of "GtkTreeView")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_tree_view_new_with_model
+ (c-name "gtk_tree_view_new_with_model")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkTreeModel*" "model")
+ )
+)
+
+(define-method get_model
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_model")
+ (return-type "GtkTreeModel*")
+)
+
+(define-method set_model
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_model")
+ (return-type "none")
+ (parameters
+ '("GtkTreeModel*" "model")
+ )
+)
+
+(define-method get_selection
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_selection")
+ (return-type "GtkTreeSelection*")
+)
+
+(define-method get_hadjustment
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_hadjustment")
+ (return-type "GtkAdjustment*")
+)
+
+(define-method set_hadjustment
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_hadjustment")
+ (return-type "none")
+ (parameters
+ '("GtkAdjustment*" "adjustment")
+ )
+)
+
+(define-method get_vadjustment
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_vadjustment")
+ (return-type "GtkAdjustment*")
+)
+
+(define-method set_vadjustment
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_vadjustment")
+ (return-type "none")
+ (parameters
+ '("GtkAdjustment*" "adjustment")
+ )
+)
+
+(define-method get_headers_visible
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_headers_visible")
+ (return-type "gboolean")
+)
+
+(define-method set_headers_visible
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_headers_visible")
+ (return-type "none")
+ (parameters
+ '("gboolean" "headers_visible")
+ )
+)
+
+(define-method columns_autosize
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_columns_autosize")
+ (return-type "none")
+)
+
+(define-method get_headers_clickable
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_headers_clickable")
+ (return-type "gboolean")
+)
+
+(define-method set_headers_clickable
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_headers_clickable")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method set_rules_hint
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_rules_hint")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_rules_hint
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_rules_hint")
+ (return-type "gboolean")
+)
+
+(define-method append_column
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_append_column")
+ (return-type "gint")
+ (parameters
+ '("GtkTreeViewColumn*" "column")
+ )
+)
+
+(define-method remove_column
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_remove_column")
+ (return-type "gint")
+ (parameters
+ '("GtkTreeViewColumn*" "column")
+ )
+)
+
+(define-method insert_column
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_insert_column")
+ (return-type "gint")
+ (parameters
+ '("GtkTreeViewColumn*" "column")
+ '("gint" "position")
+ )
+)
+
+(define-method insert_column_with_attributes
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_insert_column_with_attributes")
+ (return-type "gint")
+ (parameters
+ '("gint" "position")
+ '("const-gchar*" "title")
+ '("GtkCellRenderer*" "cell")
+ )
+ (varargs #t)
+)
+
+(define-method insert_column_with_data_func
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_insert_column_with_data_func")
+ (return-type "gint")
+ (parameters
+ '("gint" "position")
+ '("const-gchar*" "title")
+ '("GtkCellRenderer*" "cell")
+ '("GtkTreeCellDataFunc" "func")
+ '("gpointer" "data")
+ '("GDestroyNotify" "dnotify")
+ )
+)
+
+(define-method get_column
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_column")
+ (return-type "GtkTreeViewColumn*")
+ (parameters
+ '("gint" "n")
+ )
+)
+
+(define-method get_columns
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_columns")
+ (return-type "GList*")
+)
+
+(define-method move_column_after
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_move_column_after")
+ (return-type "none")
+ (parameters
+ '("GtkTreeViewColumn*" "column")
+ '("GtkTreeViewColumn*" "base_column")
+ )
+)
+
+(define-method set_expander_column
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_expander_column")
+ (return-type "none")
+ (parameters
+ '("GtkTreeViewColumn*" "column")
+ )
+)
+
+(define-method get_expander_column
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_expander_column")
+ (return-type "GtkTreeViewColumn*")
+)
+
+(define-method set_column_drag_function
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_column_drag_function")
+ (return-type "none")
+ (parameters
+ '("GtkTreeViewColumnDropFunc" "func")
+ '("gpointer" "user_data")
+ '("GtkDestroyNotify" "destroy")
+ )
+)
+
+(define-method scroll_to_point
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_scroll_to_point")
+ (return-type "none")
+ (parameters
+ '("gint" "tree_x")
+ '("gint" "tree_y")
+ )
+)
+
+(define-method scroll_to_cell
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_scroll_to_cell")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "path")
+ '("GtkTreeViewColumn*" "column")
+ '("gboolean" "use_align")
+ '("gfloat" "row_align")
+ '("gfloat" "col_align")
+ )
+)
+
+(define-method row_activated
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_row_activated")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "path")
+ '("GtkTreeViewColumn*" "column")
+ )
+)
+
+(define-method expand_all
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_expand_all")
+ (return-type "none")
+)
+
+(define-method collapse_all
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_collapse_all")
+ (return-type "none")
+)
+
+(define-method expand_to_path
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_expand_to_path")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-method expand_row
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_expand_row")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreePath*" "path")
+ '("gboolean" "open_all")
+ )
+)
+
+(define-method collapse_row
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_collapse_row")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-method map_expanded_rows
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_map_expanded_rows")
+ (return-type "none")
+ (parameters
+ '("GtkTreeViewMappingFunc" "func")
+ '("gpointer" "data")
+ )
+)
+
+(define-method row_expanded
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_row_expanded")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-method set_reorderable
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_reorderable")
+ (return-type "none")
+ (parameters
+ '("gboolean" "reorderable")
+ )
+)
+
+(define-method get_reorderable
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_reorderable")
+ (return-type "gboolean")
+)
+
+(define-method set_cursor
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_cursor")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "path")
+ '("GtkTreeViewColumn*" "focus_column")
+ '("gboolean" "start_editing")
+ )
+)
+
+(define-method set_cursor_on_cell
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_cursor_on_cell")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "path")
+ '("GtkTreeViewColumn*" "focus_column")
+ '("GtkCellRenderer*" "focus_cell")
+ '("gboolean" "start_editing")
+ )
+)
+
+(define-method get_cursor
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_cursor")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath**" "path")
+ '("GtkTreeViewColumn**" "focus_column")
+ )
+)
+
+(define-method get_bin_window
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_bin_window")
+ (return-type "GdkWindow*")
+)
+
+(define-method get_path_at_pos
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_path_at_pos")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ '("GtkTreePath**" "path")
+ '("GtkTreeViewColumn**" "column")
+ '("gint*" "cell_x")
+ '("gint*" "cell_y")
+ )
+)
+
+(define-method get_cell_area
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_cell_area")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "path")
+ '("GtkTreeViewColumn*" "column")
+ '("GdkRectangle*" "rect")
+ )
+)
+
+(define-method get_background_area
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_background_area")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "path")
+ '("GtkTreeViewColumn*" "column")
+ '("GdkRectangle*" "rect")
+ )
+)
+
+(define-method get_visible_rect
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_visible_rect")
+ (return-type "none")
+ (parameters
+ '("GdkRectangle*" "visible_rect")
+ )
+)
+
+(define-method widget_to_tree_coords
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_widget_to_tree_coords")
+ (return-type "none")
+ (parameters
+ '("gint" "wx")
+ '("gint" "wy")
+ '("gint*" "tx")
+ '("gint*" "ty")
+ )
+)
+
+(define-method tree_to_widget_coords
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_tree_to_widget_coords")
+ (return-type "none")
+ (parameters
+ '("gint" "tx")
+ '("gint" "ty")
+ '("gint*" "wx")
+ '("gint*" "wy")
+ )
+)
+
+(define-method get_visible_range
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_visible_range")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreePath**" "start_path")
+ '("GtkTreePath**" "end_path")
+ )
+)
+
+(define-method enable_model_drag_source
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_enable_model_drag_source")
+ (return-type "none")
+ (parameters
+ '("GdkModifierType" "start_button_mask")
+ '("const-GtkTargetEntry*" "targets")
+ '("gint" "n_targets")
+ '("GdkDragAction" "actions")
+ )
+)
+
+(define-method enable_model_drag_dest
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_enable_model_drag_dest")
+ (return-type "none")
+ (parameters
+ '("const-GtkTargetEntry*" "targets")
+ '("gint" "n_targets")
+ '("GdkDragAction" "actions")
+ )
+)
+
+(define-method unset_rows_drag_source
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_unset_rows_drag_source")
+ (return-type "none")
+)
+
+(define-method unset_rows_drag_dest
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_unset_rows_drag_dest")
+ (return-type "none")
+)
+
+(define-method set_drag_dest_row
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_drag_dest_row")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath*" "path")
+ '("GtkTreeViewDropPosition" "pos")
+ )
+)
+
+(define-method get_drag_dest_row
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_drag_dest_row")
+ (return-type "none")
+ (parameters
+ '("GtkTreePath**" "path")
+ '("GtkTreeViewDropPosition*" "pos")
+ )
+)
+
+(define-method get_dest_row_at_pos
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_dest_row_at_pos")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "drag_x")
+ '("gint" "drag_y")
+ '("GtkTreePath**" "path")
+ '("GtkTreeViewDropPosition*" "pos")
+ )
+)
+
+(define-method create_row_drag_icon
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_create_row_drag_icon")
+ (return-type "GdkPixmap*")
+ (parameters
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-method set_enable_search
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_enable_search")
+ (return-type "none")
+ (parameters
+ '("gboolean" "enable_search")
+ )
+)
+
+(define-method get_enable_search
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_enable_search")
+ (return-type "gboolean")
+)
+
+(define-method get_search_column
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_search_column")
+ (return-type "gint")
+)
+
+(define-method set_search_column
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_search_column")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+(define-method get_search_equal_func
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_search_equal_func")
+ (return-type "GtkTreeViewSearchEqualFunc")
+)
+
+(define-method set_search_equal_func
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_search_equal_func")
+ (return-type "none")
+ (parameters
+ '("GtkTreeViewSearchEqualFunc" "search_equal_func")
+ '("gpointer" "search_user_data")
+ '("GtkDestroyNotify" "search_destroy")
+ )
+)
+
+(define-method get_search_entry
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_search_entry")
+ (return-type "GtkEntry*")
+)
+
+(define-method set_search_entry
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_search_entry")
+ (return-type "none")
+ (parameters
+ '("GtkEntry*" "entry")
+ )
+)
+
+(define-method get_search_position_func
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_search_position_func")
+ (return-type "GtkTreeViewSearchPositionFunc")
+)
+
+(define-method set_search_position_func
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_search_position_func")
+ (return-type "none")
+ (parameters
+ '("GtkTreeViewSearchPositionFunc" "func")
+ '("gpointer" "data")
+ '("GDestroyNotify" "destroy")
+ )
+)
+
+(define-method convert_widget_to_tree_coords
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_convert_widget_to_tree_coords")
+ (return-type "none")
+ (parameters
+ '("gint" "wx")
+ '("gint" "wy")
+ '("gint*" "tx")
+ '("gint*" "ty")
+ )
+)
+
+(define-method convert_tree_to_widget_coords
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_convert_tree_to_widget_coords")
+ (return-type "none")
+ (parameters
+ '("gint" "tx")
+ '("gint" "ty")
+ '("gint*" "wx")
+ '("gint*" "wy")
+ )
+)
+
+(define-method convert_widget_to_bin_window_coords
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_convert_widget_to_bin_window_coords")
+ (return-type "none")
+ (parameters
+ '("gint" "wx")
+ '("gint" "wy")
+ '("gint*" "bx")
+ '("gint*" "by")
+ )
+)
+
+(define-method convert_bin_window_to_widget_coords
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_convert_bin_window_to_widget_coords")
+ (return-type "none")
+ (parameters
+ '("gint" "bx")
+ '("gint" "by")
+ '("gint*" "wx")
+ '("gint*" "wy")
+ )
+)
+
+(define-method convert_tree_to_bin_window_coords
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_convert_tree_to_bin_window_coords")
+ (return-type "none")
+ (parameters
+ '("gint" "tx")
+ '("gint" "ty")
+ '("gint*" "bx")
+ '("gint*" "by")
+ )
+)
+
+(define-method convert_bin_window_to_tree_coords
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_convert_bin_window_to_tree_coords")
+ (return-type "none")
+ (parameters
+ '("gint" "bx")
+ '("gint" "by")
+ '("gint*" "tx")
+ '("gint*" "ty")
+ )
+)
+
+(define-method set_destroy_count_func
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_destroy_count_func")
+ (return-type "none")
+ (parameters
+ '("GtkTreeDestroyCountFunc" "func")
+ '("gpointer" "data")
+ '("GtkDestroyNotify" "destroy")
+ )
+)
+
+(define-method set_fixed_height_mode
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_fixed_height_mode")
+ (return-type "none")
+ (parameters
+ '("gboolean" "enable")
+ )
+)
+
+(define-method get_fixed_height_mode
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_fixed_height_mode")
+ (return-type "gboolean")
+)
+
+(define-method set_hover_selection
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_hover_selection")
+ (return-type "none")
+ (parameters
+ '("gboolean" "hover")
+ )
+)
+
+(define-method get_hover_selection
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_hover_selection")
+ (return-type "gboolean")
+)
+
+(define-method set_hover_expand
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_hover_expand")
+ (return-type "none")
+ (parameters
+ '("gboolean" "expand")
+ )
+)
+
+(define-method get_hover_expand
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_hover_expand")
+ (return-type "gboolean")
+)
+
+(define-method set_rubber_banding
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_rubber_banding")
+ (return-type "none")
+ (parameters
+ '("gboolean" "enable")
+ )
+)
+
+(define-method get_rubber_banding
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_rubber_banding")
+ (return-type "gboolean")
+)
+
+(define-method is_rubber_banding_active
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_is_rubber_banding_active")
+ (return-type "gboolean")
+)
+
+(define-method get_row_separator_func
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_row_separator_func")
+ (return-type "GtkTreeViewRowSeparatorFunc")
+)
+
+(define-method set_row_separator_func
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_row_separator_func")
+ (return-type "none")
+ (parameters
+ '("GtkTreeViewRowSeparatorFunc" "func")
+ '("gpointer" "data")
+ '("GtkDestroyNotify" "destroy")
+ )
+)
+
+(define-method get_grid_lines
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_grid_lines")
+ (return-type "GtkTreeViewGridLines")
+)
+
+(define-method set_grid_lines
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_grid_lines")
+ (return-type "none")
+ (parameters
+ '("GtkTreeViewGridLines" "grid_lines")
+ )
+)
+
+(define-method get_enable_tree_lines
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_enable_tree_lines")
+ (return-type "gboolean")
+)
+
+(define-method set_enable_tree_lines
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_enable_tree_lines")
+ (return-type "none")
+ (parameters
+ '("gboolean" "enabled")
+ )
+)
+
+(define-method set_show_expanders
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_show_expanders")
+ (return-type "none")
+ (parameters
+ '("gboolean" "enabled")
+ )
+)
+
+(define-method get_show_expanders
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_show_expanders")
+ (return-type "gboolean")
+)
+
+(define-method set_level_indentation
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_level_indentation")
+ (return-type "none")
+ (parameters
+ '("gint" "indentation")
+ )
+)
+
+(define-method get_level_indentation
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_level_indentation")
+ (return-type "gint")
+)
+
+(define-method set_tooltip_row
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_tooltip_row")
+ (return-type "none")
+ (parameters
+ '("GtkTooltip*" "tooltip")
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-method set_tooltip_cell
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_tooltip_cell")
+ (return-type "none")
+ (parameters
+ '("GtkTooltip*" "tooltip")
+ '("GtkTreePath*" "path")
+ '("GtkTreeViewColumn*" "column")
+ '("GtkCellRenderer*" "cell")
+ )
+)
+
+(define-method get_tooltip_context
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_tooltip_context")
+ (return-type "gboolean")
+ (parameters
+ '("gint*" "x")
+ '("gint*" "y")
+ '("gboolean" "keyboard_tip")
+ '("GtkTreeModel**" "model")
+ '("GtkTreePath**" "path")
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-method set_tooltip_column
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_set_tooltip_column")
+ (return-type "none")
+ (parameters
+ '("gint" "column")
+ )
+)
+
+(define-method get_tooltip_column
+ (of-object "GtkTreeView")
+ (c-name "gtk_tree_view_get_tooltip_column")
+ (return-type "gint")
+)
+
+
+
+;; From gtktypebuiltins.h
+
+(define-function gtk_accel_flags_get_type
+ (c-name "gtk_accel_flags_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_assistant_page_type_get_type
+ (c-name "gtk_assistant_page_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_builder_error_get_type
+ (c-name "gtk_builder_error_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_calendar_display_options_get_type
+ (c-name "gtk_calendar_display_options_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_cell_renderer_state_get_type
+ (c-name "gtk_cell_renderer_state_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_cell_renderer_mode_get_type
+ (c-name "gtk_cell_renderer_mode_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_cell_renderer_accel_mode_get_type
+ (c-name "gtk_cell_renderer_accel_mode_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_cell_type_get_type
+ (c-name "gtk_cell_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_clist_drag_pos_get_type
+ (c-name "gtk_clist_drag_pos_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_button_action_get_type
+ (c-name "gtk_button_action_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_ctree_pos_get_type
+ (c-name "gtk_ctree_pos_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_ctree_line_style_get_type
+ (c-name "gtk_ctree_line_style_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_ctree_expander_style_get_type
+ (c-name "gtk_ctree_expander_style_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_ctree_expansion_type_get_type
+ (c-name "gtk_ctree_expansion_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_debug_flag_get_type
+ (c-name "gtk_debug_flag_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_dialog_flags_get_type
+ (c-name "gtk_dialog_flags_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_response_type_get_type
+ (c-name "gtk_response_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_dest_defaults_get_type
+ (c-name "gtk_dest_defaults_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_target_flags_get_type
+ (c-name "gtk_target_flags_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_anchor_type_get_type
+ (c-name "gtk_anchor_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_arrow_type_get_type
+ (c-name "gtk_arrow_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_attach_options_get_type
+ (c-name "gtk_attach_options_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_button_box_style_get_type
+ (c-name "gtk_button_box_style_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_curve_type_get_type
+ (c-name "gtk_curve_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_delete_type_get_type
+ (c-name "gtk_delete_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_direction_type_get_type
+ (c-name "gtk_direction_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_expander_style_get_type
+ (c-name "gtk_expander_style_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_icon_size_get_type
+ (c-name "gtk_icon_size_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_sensitivity_type_get_type
+ (c-name "gtk_sensitivity_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_side_type_get_type
+ (c-name "gtk_side_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_text_direction_get_type
+ (c-name "gtk_text_direction_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_justification_get_type
+ (c-name "gtk_justification_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_match_type_get_type
+ (c-name "gtk_match_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_menu_direction_type_get_type
+ (c-name "gtk_menu_direction_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_metric_type_get_type
+ (c-name "gtk_metric_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_movement_step_get_type
+ (c-name "gtk_movement_step_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_scroll_step_get_type
+ (c-name "gtk_scroll_step_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_orientation_get_type
+ (c-name "gtk_orientation_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_corner_type_get_type
+ (c-name "gtk_corner_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_pack_type_get_type
+ (c-name "gtk_pack_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_path_priority_type_get_type
+ (c-name "gtk_path_priority_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_path_type_get_type
+ (c-name "gtk_path_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_policy_type_get_type
+ (c-name "gtk_policy_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_position_type_get_type
+ (c-name "gtk_position_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_preview_type_get_type
+ (c-name "gtk_preview_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_relief_style_get_type
+ (c-name "gtk_relief_style_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_resize_mode_get_type
+ (c-name "gtk_resize_mode_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_signal_run_type_get_type
+ (c-name "gtk_signal_run_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_scroll_type_get_type
+ (c-name "gtk_scroll_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_selection_mode_get_type
+ (c-name "gtk_selection_mode_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_shadow_type_get_type
+ (c-name "gtk_shadow_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_state_type_get_type
+ (c-name "gtk_state_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_submenu_direction_get_type
+ (c-name "gtk_submenu_direction_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_submenu_placement_get_type
+ (c-name "gtk_submenu_placement_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_toolbar_style_get_type
+ (c-name "gtk_toolbar_style_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_update_type_get_type
+ (c-name "gtk_update_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_visibility_get_type
+ (c-name "gtk_visibility_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_window_position_get_type
+ (c-name "gtk_window_position_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_window_type_get_type
+ (c-name "gtk_window_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_wrap_mode_get_type
+ (c-name "gtk_wrap_mode_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_sort_type_get_type
+ (c-name "gtk_sort_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_im_preedit_style_get_type
+ (c-name "gtk_im_preedit_style_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_im_status_style_get_type
+ (c-name "gtk_im_status_style_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_pack_direction_get_type
+ (c-name "gtk_pack_direction_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_print_pages_get_type
+ (c-name "gtk_print_pages_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_page_set_get_type
+ (c-name "gtk_page_set_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_page_orientation_get_type
+ (c-name "gtk_page_orientation_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_print_quality_get_type
+ (c-name "gtk_print_quality_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_print_duplex_get_type
+ (c-name "gtk_print_duplex_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_unit_get_type
+ (c-name "gtk_unit_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_tree_view_grid_lines_get_type
+ (c-name "gtk_tree_view_grid_lines_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_drag_result_get_type
+ (c-name "gtk_drag_result_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_file_chooser_action_get_type
+ (c-name "gtk_file_chooser_action_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_file_chooser_confirmation_get_type
+ (c-name "gtk_file_chooser_confirmation_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_file_chooser_error_get_type
+ (c-name "gtk_file_chooser_error_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_file_filter_flags_get_type
+ (c-name "gtk_file_filter_flags_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_icon_lookup_flags_get_type
+ (c-name "gtk_icon_lookup_flags_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_icon_theme_error_get_type
+ (c-name "gtk_icon_theme_error_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_icon_view_drop_position_get_type
+ (c-name "gtk_icon_view_drop_position_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_image_type_get_type
+ (c-name "gtk_image_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_message_type_get_type
+ (c-name "gtk_message_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_buttons_type_get_type
+ (c-name "gtk_buttons_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_notebook_tab_get_type
+ (c-name "gtk_notebook_tab_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_object_flags_get_type
+ (c-name "gtk_object_flags_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_arg_flags_get_type
+ (c-name "gtk_arg_flags_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_print_status_get_type
+ (c-name "gtk_print_status_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_print_operation_result_get_type
+ (c-name "gtk_print_operation_result_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_print_operation_action_get_type
+ (c-name "gtk_print_operation_action_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_print_error_get_type
+ (c-name "gtk_print_error_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_private_flags_get_type
+ (c-name "gtk_private_flags_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_progress_bar_style_get_type
+ (c-name "gtk_progress_bar_style_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_progress_bar_orientation_get_type
+ (c-name "gtk_progress_bar_orientation_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_rc_flags_get_type
+ (c-name "gtk_rc_flags_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_rc_token_type_get_type
+ (c-name "gtk_rc_token_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_recent_sort_type_get_type
+ (c-name "gtk_recent_sort_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_recent_chooser_error_get_type
+ (c-name "gtk_recent_chooser_error_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_recent_filter_flags_get_type
+ (c-name "gtk_recent_filter_flags_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_recent_manager_error_get_type
+ (c-name "gtk_recent_manager_error_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_size_group_mode_get_type
+ (c-name "gtk_size_group_mode_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_spin_button_update_policy_get_type
+ (c-name "gtk_spin_button_update_policy_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_spin_type_get_type
+ (c-name "gtk_spin_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_text_buffer_target_info_get_type
+ (c-name "gtk_text_buffer_target_info_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_text_search_flags_get_type
+ (c-name "gtk_text_search_flags_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_text_window_type_get_type
+ (c-name "gtk_text_window_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_toolbar_child_type_get_type
+ (c-name "gtk_toolbar_child_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_toolbar_space_style_get_type
+ (c-name "gtk_toolbar_space_style_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_tree_view_mode_get_type
+ (c-name "gtk_tree_view_mode_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_tree_model_flags_get_type
+ (c-name "gtk_tree_model_flags_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_tree_view_drop_position_get_type
+ (c-name "gtk_tree_view_drop_position_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_tree_view_column_sizing_get_type
+ (c-name "gtk_tree_view_column_sizing_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_ui_manager_item_type_get_type
+ (c-name "gtk_ui_manager_item_type_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_widget_flags_get_type
+ (c-name "gtk_widget_flags_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_widget_help_type_get_type
+ (c-name "gtk_widget_help_type_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From gtktypeutils.h
+
+(define-method class
+ (of-object "GtkType")
+ (c-name "gtk_type_class")
+ (return-type "gpointer")
+)
+
+(define-method unique
+ (of-object "GtkType")
+ (c-name "gtk_type_unique")
+ (return-type "GtkType")
+ (parameters
+ '("const-GtkTypeInfo*" "gtkinfo")
+ )
+)
+
+(define-method new
+ (of-object "GtkType")
+ (c-name "gtk_type_new")
+ (return-type "gpointer")
+)
+
+(define-method enum_get_values
+ (of-object "GtkType")
+ (c-name "gtk_type_enum_get_values")
+ (return-type "GtkEnumValue*")
+)
+
+(define-method flags_get_values
+ (of-object "GtkType")
+ (c-name "gtk_type_flags_get_values")
+ (return-type "GtkFlagValue*")
+)
+
+(define-method enum_find_value
+ (of-object "GtkType")
+ (c-name "gtk_type_enum_find_value")
+ (return-type "GtkEnumValue*")
+ (parameters
+ '("const-gchar*" "value_name")
+ )
+)
+
+(define-method flags_find_value
+ (of-object "GtkType")
+ (c-name "gtk_type_flags_find_value")
+ (return-type "GtkFlagValue*")
+ (parameters
+ '("const-gchar*" "value_name")
+ )
+)
+
+(define-function gtk_type_init
+ (c-name "gtk_type_init")
+ (return-type "none")
+ (parameters
+ '("GTypeDebugFlags" "debug_flags")
+ )
+)
+
+
+
+;; From gtkuimanager.h
+
+(define-function gtk_ui_manager_get_type
+ (c-name "gtk_ui_manager_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_ui_manager_new
+ (c-name "gtk_ui_manager_new")
+ (is-constructor-of "GtkUiManager")
+ (return-type "GtkUIManager*")
+)
+
+(define-method set_add_tearoffs
+ (of-object "GtkUIManager")
+ (c-name "gtk_ui_manager_set_add_tearoffs")
+ (return-type "none")
+ (parameters
+ '("gboolean" "add_tearoffs")
+ )
+)
+
+(define-method get_add_tearoffs
+ (of-object "GtkUIManager")
+ (c-name "gtk_ui_manager_get_add_tearoffs")
+ (return-type "gboolean")
+)
+
+(define-method insert_action_group
+ (of-object "GtkUIManager")
+ (c-name "gtk_ui_manager_insert_action_group")
+ (return-type "none")
+ (parameters
+ '("GtkActionGroup*" "action_group")
+ '("gint" "pos")
+ )
+)
+
+(define-method remove_action_group
+ (of-object "GtkUIManager")
+ (c-name "gtk_ui_manager_remove_action_group")
+ (return-type "none")
+ (parameters
+ '("GtkActionGroup*" "action_group")
+ )
+)
+
+(define-method get_action_groups
+ (of-object "GtkUIManager")
+ (c-name "gtk_ui_manager_get_action_groups")
+ (return-type "GList*")
+)
+
+(define-method get_accel_group
+ (of-object "GtkUIManager")
+ (c-name "gtk_ui_manager_get_accel_group")
+ (return-type "GtkAccelGroup*")
+)
+
+(define-method get_widget
+ (of-object "GtkUIManager")
+ (c-name "gtk_ui_manager_get_widget")
+ (return-type "GtkWidget*")
+ (parameters
+ '("const-gchar*" "path")
+ )
+)
+
+(define-method get_toplevels
+ (of-object "GtkUIManager")
+ (c-name "gtk_ui_manager_get_toplevels")
+ (return-type "GSList*")
+ (parameters
+ '("GtkUIManagerItemType" "types")
+ )
+)
+
+(define-method get_action
+ (of-object "GtkUIManager")
+ (c-name "gtk_ui_manager_get_action")
+ (return-type "GtkAction*")
+ (parameters
+ '("const-gchar*" "path")
+ )
+)
+
+(define-method add_ui_from_string
+ (of-object "GtkUIManager")
+ (c-name "gtk_ui_manager_add_ui_from_string")
+ (return-type "guint")
+ (parameters
+ '("const-gchar*" "buffer")
+ '("gssize" "length")
+ '("GError**" "error")
+ )
+)
+
+(define-method add_ui_from_file
+ (of-object "GtkUIManager")
+ (c-name "gtk_ui_manager_add_ui_from_file")
+ (return-type "guint")
+ (parameters
+ '("const-gchar*" "filename")
+ '("GError**" "error")
+ )
+)
+
+(define-method add_ui
+ (of-object "GtkUIManager")
+ (c-name "gtk_ui_manager_add_ui")
+ (return-type "none")
+ (parameters
+ '("guint" "merge_id")
+ '("const-gchar*" "path")
+ '("const-gchar*" "name")
+ '("const-gchar*" "action")
+ '("GtkUIManagerItemType" "type")
+ '("gboolean" "top")
+ )
+)
+
+(define-method remove_ui
+ (of-object "GtkUIManager")
+ (c-name "gtk_ui_manager_remove_ui")
+ (return-type "none")
+ (parameters
+ '("guint" "merge_id")
+ )
+)
+
+(define-method get_ui
+ (of-object "GtkUIManager")
+ (c-name "gtk_ui_manager_get_ui")
+ (return-type "gchar*")
+)
+
+(define-method ensure_update
+ (of-object "GtkUIManager")
+ (c-name "gtk_ui_manager_ensure_update")
+ (return-type "none")
+)
+
+(define-method new_merge_id
+ (of-object "GtkUIManager")
+ (c-name "gtk_ui_manager_new_merge_id")
+ (return-type "guint")
+)
+
+
+
+;; From gtkvbbox.h
+
+(define-function gtk_vbutton_box_get_type
+ (c-name "gtk_vbutton_box_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_vbutton_box_new
+ (c-name "gtk_vbutton_box_new")
+ (is-constructor-of "GtkVbuttonBox")
+ (return-type "GtkWidget*")
+)
+
+(define-function gtk_vbutton_box_get_spacing_default
+ (c-name "gtk_vbutton_box_get_spacing_default")
+ (return-type "gint")
+)
+
+(define-function gtk_vbutton_box_set_spacing_default
+ (c-name "gtk_vbutton_box_set_spacing_default")
+ (return-type "none")
+ (parameters
+ '("gint" "spacing")
+ )
+)
+
+(define-function gtk_vbutton_box_get_layout_default
+ (c-name "gtk_vbutton_box_get_layout_default")
+ (return-type "GtkButtonBoxStyle")
+)
+
+(define-function gtk_vbutton_box_set_layout_default
+ (c-name "gtk_vbutton_box_set_layout_default")
+ (return-type "none")
+ (parameters
+ '("GtkButtonBoxStyle" "layout")
+ )
+)
+
+
+
+;; From gtkvbox.h
+
+(define-function gtk_vbox_get_type
+ (c-name "gtk_vbox_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_vbox_new
+ (c-name "gtk_vbox_new")
+ (is-constructor-of "GtkVbox")
+ (return-type "GtkWidget*")
+ (parameters
+ '("gboolean" "homogeneous")
+ '("gint" "spacing")
+ )
+)
+
+
+
+;; From gtkversion.h
+
+
+
+;; From gtkviewport.h
+
+(define-function gtk_viewport_get_type
+ (c-name "gtk_viewport_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_viewport_new
+ (c-name "gtk_viewport_new")
+ (is-constructor-of "GtkViewport")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkAdjustment*" "hadjustment")
+ '("GtkAdjustment*" "vadjustment")
+ )
+)
+
+(define-method get_hadjustment
+ (of-object "GtkViewport")
+ (c-name "gtk_viewport_get_hadjustment")
+ (return-type "GtkAdjustment*")
+)
+
+(define-method get_vadjustment
+ (of-object "GtkViewport")
+ (c-name "gtk_viewport_get_vadjustment")
+ (return-type "GtkAdjustment*")
+)
+
+(define-method set_hadjustment
+ (of-object "GtkViewport")
+ (c-name "gtk_viewport_set_hadjustment")
+ (return-type "none")
+ (parameters
+ '("GtkAdjustment*" "adjustment")
+ )
+)
+
+(define-method set_vadjustment
+ (of-object "GtkViewport")
+ (c-name "gtk_viewport_set_vadjustment")
+ (return-type "none")
+ (parameters
+ '("GtkAdjustment*" "adjustment")
+ )
+)
+
+(define-method set_shadow_type
+ (of-object "GtkViewport")
+ (c-name "gtk_viewport_set_shadow_type")
+ (return-type "none")
+ (parameters
+ '("GtkShadowType" "type")
+ )
+)
+
+(define-method get_shadow_type
+ (of-object "GtkViewport")
+ (c-name "gtk_viewport_get_shadow_type")
+ (return-type "GtkShadowType")
+)
+
+
+
+;; From gtkvolumebutton.h
+
+(define-function gtk_volume_button_get_type
+ (c-name "gtk_volume_button_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_volume_button_new
+ (c-name "gtk_volume_button_new")
+ (is-constructor-of "GtkVolumeButton")
+ (return-type "GtkWidget*")
+)
+
+
+
+;; From gtkvpaned.h
+
+(define-function gtk_vpaned_get_type
+ (c-name "gtk_vpaned_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_vpaned_new
+ (c-name "gtk_vpaned_new")
+ (is-constructor-of "GtkVpaned")
+ (return-type "GtkWidget*")
+)
+
+
+
+;; From gtkvruler.h
+
+(define-function gtk_vruler_get_type
+ (c-name "gtk_vruler_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_vruler_new
+ (c-name "gtk_vruler_new")
+ (is-constructor-of "GtkVruler")
+ (return-type "GtkWidget*")
+)
+
+
+
+;; From gtkvscale.h
+
+(define-function gtk_vscale_get_type
+ (c-name "gtk_vscale_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_vscale_new
+ (c-name "gtk_vscale_new")
+ (is-constructor-of "GtkVscale")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkAdjustment*" "adjustment")
+ )
+)
+
+(define-function gtk_vscale_new_with_range
+ (c-name "gtk_vscale_new_with_range")
+ (return-type "GtkWidget*")
+ (parameters
+ '("gdouble" "min")
+ '("gdouble" "max")
+ '("gdouble" "step")
+ )
+)
+
+
+
+;; From gtkvscrollbar.h
+
+(define-function gtk_vscrollbar_get_type
+ (c-name "gtk_vscrollbar_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_vscrollbar_new
+ (c-name "gtk_vscrollbar_new")
+ (is-constructor-of "GtkVscrollbar")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkAdjustment*" "adjustment")
+ )
+)
+
+
+
+;; From gtkvseparator.h
+
+(define-function gtk_vseparator_get_type
+ (c-name "gtk_vseparator_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_vseparator_new
+ (c-name "gtk_vseparator_new")
+ (is-constructor-of "GtkVseparator")
+ (return-type "GtkWidget*")
+)
+
+
+
+;; From gtkwidget.h
+
+(define-function gtk_widget_get_type
+ (c-name "gtk_widget_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_widget_new
+ (c-name "gtk_widget_new")
+ (is-constructor-of "GtkWidget")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GType" "type")
+ '("const-gchar*" "first_property_name")
+ )
+ (varargs #t)
+)
+
+(define-method destroy
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_destroy")
+ (return-type "none")
+)
+
+(define-method destroyed
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_destroyed")
+ (return-type "none")
+ (parameters
+ '("GtkWidget**" "widget_pointer")
+ )
+)
+
+(define-method ref
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_ref")
+ (return-type "GtkWidget*")
+)
+
+(define-method unref
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_unref")
+ (return-type "none")
+)
+
+(define-method set
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "first_property_name")
+ )
+ (varargs #t)
+)
+
+(define-method unparent
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_unparent")
+ (return-type "none")
+)
+
+(define-method show
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_show")
+ (return-type "none")
+)
+
+(define-method show_now
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_show_now")
+ (return-type "none")
+)
+
+(define-method hide
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_hide")
+ (return-type "none")
+)
+
+(define-method show_all
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_show_all")
+ (return-type "none")
+)
+
+(define-method hide_all
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_hide_all")
+ (return-type "none")
+)
+
+(define-method set_no_show_all
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_no_show_all")
+ (return-type "none")
+ (parameters
+ '("gboolean" "no_show_all")
+ )
+)
+
+(define-method get_no_show_all
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_no_show_all")
+ (return-type "gboolean")
+)
+
+(define-method map
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_map")
+ (return-type "none")
+)
+
+(define-method unmap
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_unmap")
+ (return-type "none")
+)
+
+(define-method realize
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_realize")
+ (return-type "none")
+)
+
+(define-method unrealize
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_unrealize")
+ (return-type "none")
+)
+
+(define-method queue_draw
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_queue_draw")
+ (return-type "none")
+)
+
+(define-method queue_draw_area
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_queue_draw_area")
+ (return-type "none")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-method queue_clear
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_queue_clear")
+ (return-type "none")
+)
+
+(define-method queue_clear_area
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_queue_clear_area")
+ (return-type "none")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-method queue_resize
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_queue_resize")
+ (return-type "none")
+)
+
+(define-method queue_resize_no_redraw
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_queue_resize_no_redraw")
+ (return-type "none")
+)
+
+(define-method draw
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_draw")
+ (return-type "none")
+ (parameters
+ '("GdkRectangle*" "area")
+ )
+)
+
+(define-method size_request
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_size_request")
+ (return-type "none")
+ (parameters
+ '("GtkRequisition*" "requisition")
+ )
+)
+
+(define-method size_allocate
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_size_allocate")
+ (return-type "none")
+ (parameters
+ '("GtkAllocation*" "allocation")
+ )
+)
+
+(define-method get_child_requisition
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_child_requisition")
+ (return-type "none")
+ (parameters
+ '("GtkRequisition*" "requisition")
+ )
+)
+
+(define-method add_accelerator
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_add_accelerator")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "accel_signal")
+ '("GtkAccelGroup*" "accel_group")
+ '("guint" "accel_key")
+ '("GdkModifierType" "accel_mods")
+ '("GtkAccelFlags" "accel_flags")
+ )
+)
+
+(define-method remove_accelerator
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_remove_accelerator")
+ (return-type "gboolean")
+ (parameters
+ '("GtkAccelGroup*" "accel_group")
+ '("guint" "accel_key")
+ '("GdkModifierType" "accel_mods")
+ )
+)
+
+(define-method set_accel_path
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_accel_path")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "accel_path")
+ '("GtkAccelGroup*" "accel_group")
+ )
+)
+
+(define-method list_accel_closures
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_list_accel_closures")
+ (return-type "GList*")
+)
+
+(define-method can_activate_accel
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_can_activate_accel")
+ (return-type "gboolean")
+ (parameters
+ '("guint" "signal_id")
+ )
+)
+
+(define-method mnemonic_activate
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_mnemonic_activate")
+ (return-type "gboolean")
+ (parameters
+ '("gboolean" "group_cycling")
+ )
+)
+
+(define-method event
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_event")
+ (return-type "gboolean")
+ (parameters
+ '("GdkEvent*" "event")
+ )
+)
+
+(define-method send_expose
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_send_expose")
+ (return-type "gint")
+ (parameters
+ '("GdkEvent*" "event")
+ )
+)
+
+(define-method activate
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_activate")
+ (return-type "gboolean")
+)
+
+(define-method set_scroll_adjustments
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_scroll_adjustments")
+ (return-type "gboolean")
+ (parameters
+ '("GtkAdjustment*" "hadjustment")
+ '("GtkAdjustment*" "vadjustment")
+ )
+)
+
+(define-method reparent
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_reparent")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "new_parent")
+ )
+)
+
+(define-method intersect
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_intersect")
+ (return-type "gboolean")
+ (parameters
+ '("GdkRectangle*" "area")
+ '("GdkRectangle*" "intersection")
+ )
+)
+
+(define-method region_intersect
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_region_intersect")
+ (return-type "GdkRegion*")
+ (parameters
+ '("GdkRegion*" "region")
+ )
+)
+
+(define-method freeze_child_notify
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_freeze_child_notify")
+ (return-type "none")
+)
+
+(define-method child_notify
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_child_notify")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "child_property")
+ )
+)
+
+(define-method thaw_child_notify
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_thaw_child_notify")
+ (return-type "none")
+)
+
+(define-method is_focus
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_is_focus")
+ (return-type "gboolean")
+)
+
+(define-method grab_focus
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_grab_focus")
+ (return-type "none")
+)
+
+(define-method grab_default
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_grab_default")
+ (return-type "none")
+)
+
+(define-method set_name
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method get_name
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_name")
+ (return-type "const-gchar*")
+)
+
+(define-method set_state
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_state")
+ (return-type "none")
+ (parameters
+ '("GtkStateType" "state")
+ )
+)
+
+(define-method set_sensitive
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_sensitive")
+ (return-type "none")
+ (parameters
+ '("gboolean" "sensitive")
+ )
+)
+
+(define-method set_app_paintable
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_app_paintable")
+ (return-type "none")
+ (parameters
+ '("gboolean" "app_paintable")
+ )
+)
+
+(define-method set_double_buffered
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_double_buffered")
+ (return-type "none")
+ (parameters
+ '("gboolean" "double_buffered")
+ )
+)
+
+(define-method set_redraw_on_allocate
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_redraw_on_allocate")
+ (return-type "none")
+ (parameters
+ '("gboolean" "redraw_on_allocate")
+ )
+)
+
+(define-method set_parent
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_parent")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "parent")
+ )
+)
+
+(define-method set_parent_window
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_parent_window")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "parent_window")
+ )
+)
+
+(define-method set_child_visible
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_child_visible")
+ (return-type "none")
+ (parameters
+ '("gboolean" "is_visible")
+ )
+)
+
+(define-method get_child_visible
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_child_visible")
+ (return-type "gboolean")
+)
+
+(define-method get_parent
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_parent")
+ (return-type "GtkWidget*")
+)
+
+(define-method get_parent_window
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_parent_window")
+ (return-type "GdkWindow*")
+)
+
+(define-method child_focus
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_child_focus")
+ (return-type "gboolean")
+ (parameters
+ '("GtkDirectionType" "direction")
+ )
+)
+
+(define-method keynav_failed
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_keynav_failed")
+ (return-type "gboolean")
+ (parameters
+ '("GtkDirectionType" "direction")
+ )
+)
+
+(define-method error_bell
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_error_bell")
+ (return-type "none")
+)
+
+(define-method set_size_request
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_size_request")
+ (return-type "none")
+ (parameters
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-method get_size_request
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_size_request")
+ (return-type "none")
+ (parameters
+ '("gint*" "width")
+ '("gint*" "height")
+ )
+)
+
+(define-method set_uposition
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_uposition")
+ (return-type "none")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-method set_usize
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_usize")
+ (return-type "none")
+ (parameters
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-method set_events
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_events")
+ (return-type "none")
+ (parameters
+ '("gint" "events")
+ )
+)
+
+(define-method add_events
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_add_events")
+ (return-type "none")
+ (parameters
+ '("gint" "events")
+ )
+)
+
+(define-method set_extension_events
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_extension_events")
+ (return-type "none")
+ (parameters
+ '("GdkExtensionMode" "mode")
+ )
+)
+
+(define-method get_extension_events
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_extension_events")
+ (return-type "GdkExtensionMode")
+)
+
+(define-method get_toplevel
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_toplevel")
+ (return-type "GtkWidget*")
+)
+
+(define-method get_ancestor
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_ancestor")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GType" "widget_type")
+ )
+)
+
+(define-method get_colormap
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_colormap")
+ (return-type "GdkColormap*")
+)
+
+(define-method get_visual
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_visual")
+ (return-type "GdkVisual*")
+)
+
+(define-method get_screen
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_screen")
+ (return-type "GdkScreen*")
+)
+
+(define-method has_screen
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_has_screen")
+ (return-type "gboolean")
+)
+
+(define-method get_display
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_display")
+ (return-type "GdkDisplay*")
+)
+
+(define-method get_root_window
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_root_window")
+ (return-type "GdkWindow*")
+)
+
+(define-method get_settings
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_settings")
+ (return-type "GtkSettings*")
+)
+
+(define-method get_clipboard
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_clipboard")
+ (return-type "GtkClipboard*")
+ (parameters
+ '("GdkAtom" "selection")
+ )
+)
+
+(define-method get_accessible
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_accessible")
+ (return-type "AtkObject*")
+)
+
+(define-method set_colormap
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_colormap")
+ (return-type "none")
+ (parameters
+ '("GdkColormap*" "colormap")
+ )
+)
+
+(define-method get_events
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_events")
+ (return-type "gint")
+)
+
+(define-method get_pointer
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_pointer")
+ (return-type "none")
+ (parameters
+ '("gint*" "x")
+ '("gint*" "y")
+ )
+)
+
+(define-method is_ancestor
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_is_ancestor")
+ (return-type "gboolean")
+ (parameters
+ '("GtkWidget*" "ancestor")
+ )
+)
+
+(define-method translate_coordinates
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_translate_coordinates")
+ (return-type "gboolean")
+ (parameters
+ '("GtkWidget*" "dest_widget")
+ '("gint" "src_x")
+ '("gint" "src_y")
+ '("gint*" "dest_x")
+ '("gint*" "dest_y")
+ )
+)
+
+(define-method hide_on_delete
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_hide_on_delete")
+ (return-type "gboolean")
+)
+
+(define-method set_style
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_style")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "style")
+ )
+)
+
+(define-method ensure_style
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_ensure_style")
+ (return-type "none")
+)
+
+(define-method get_style
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_style")
+ (return-type "GtkStyle*")
+)
+
+(define-method modify_style
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_modify_style")
+ (return-type "none")
+ (parameters
+ '("GtkRcStyle*" "style")
+ )
+)
+
+(define-method get_modifier_style
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_modifier_style")
+ (return-type "GtkRcStyle*")
+)
+
+(define-method modify_fg
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_modify_fg")
+ (return-type "none")
+ (parameters
+ '("GtkStateType" "state")
+ '("const-GdkColor*" "color")
+ )
+)
+
+(define-method modify_bg
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_modify_bg")
+ (return-type "none")
+ (parameters
+ '("GtkStateType" "state")
+ '("const-GdkColor*" "color")
+ )
+)
+
+(define-method modify_text
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_modify_text")
+ (return-type "none")
+ (parameters
+ '("GtkStateType" "state")
+ '("const-GdkColor*" "color")
+ )
+)
+
+(define-method modify_base
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_modify_base")
+ (return-type "none")
+ (parameters
+ '("GtkStateType" "state")
+ '("const-GdkColor*" "color")
+ )
+)
+
+(define-method modify_cursor
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_modify_cursor")
+ (return-type "none")
+ (parameters
+ '("const-GdkColor*" "primary")
+ '("const-GdkColor*" "secondary")
+ )
+)
+
+(define-method modify_font
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_modify_font")
+ (return-type "none")
+ (parameters
+ '("PangoFontDescription*" "font_desc")
+ )
+)
+
+(define-method create_pango_context
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_create_pango_context")
+ (return-type "PangoContext*")
+)
+
+(define-method get_pango_context
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_pango_context")
+ (return-type "PangoContext*")
+)
+
+(define-method create_pango_layout
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_create_pango_layout")
+ (return-type "PangoLayout*")
+ (parameters
+ '("const-gchar*" "text")
+ )
+)
+
+(define-method render_icon
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_render_icon")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("const-gchar*" "stock_id")
+ '("GtkIconSize" "size")
+ '("const-gchar*" "detail")
+ )
+)
+
+(define-method set_composite_name
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_composite_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method get_composite_name
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_composite_name")
+ (return-type "gchar*")
+)
+
+(define-method reset_rc_styles
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_reset_rc_styles")
+ (return-type "none")
+)
+
+(define-function gtk_widget_push_colormap
+ (c-name "gtk_widget_push_colormap")
+ (return-type "none")
+ (parameters
+ '("GdkColormap*" "cmap")
+ )
+)
+
+(define-function gtk_widget_push_composite_child
+ (c-name "gtk_widget_push_composite_child")
+ (return-type "none")
+)
+
+(define-function gtk_widget_pop_composite_child
+ (c-name "gtk_widget_pop_composite_child")
+ (return-type "none")
+)
+
+(define-function gtk_widget_pop_colormap
+ (c-name "gtk_widget_pop_colormap")
+ (return-type "none")
+)
+
+(define-method install_style_property
+ (of-object "GtkWidgetClass")
+ (c-name "gtk_widget_class_install_style_property")
+ (return-type "none")
+ (parameters
+ '("GParamSpec*" "pspec")
+ )
+)
+
+(define-method install_style_property_parser
+ (of-object "GtkWidgetClass")
+ (c-name "gtk_widget_class_install_style_property_parser")
+ (return-type "none")
+ (parameters
+ '("GParamSpec*" "pspec")
+ '("GtkRcPropertyParser" "parser")
+ )
+)
+
+(define-method find_style_property
+ (of-object "GtkWidgetClass")
+ (c-name "gtk_widget_class_find_style_property")
+ (return-type "GParamSpec*")
+ (parameters
+ '("const-gchar*" "property_name")
+ )
+)
+
+(define-method list_style_properties
+ (of-object "GtkWidgetClass")
+ (c-name "gtk_widget_class_list_style_properties")
+ (return-type "GParamSpec**")
+ (parameters
+ '("guint*" "n_properties")
+ )
+)
+
+(define-method style_get_property
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_style_get_property")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "property_name")
+ '("GValue*" "value")
+ )
+)
+
+(define-method style_get_valist
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_style_get_valist")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "first_property_name")
+ '("va_list" "var_args")
+ )
+)
+
+(define-method style_get
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_style_get")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "first_property_name")
+ )
+ (varargs #t)
+)
+
+(define-function gtk_widget_set_default_colormap
+ (c-name "gtk_widget_set_default_colormap")
+ (return-type "none")
+ (parameters
+ '("GdkColormap*" "colormap")
+ )
+)
+
+(define-function gtk_widget_get_default_style
+ (c-name "gtk_widget_get_default_style")
+ (return-type "GtkStyle*")
+)
+
+(define-function gtk_widget_get_default_colormap
+ (c-name "gtk_widget_get_default_colormap")
+ (return-type "GdkColormap*")
+)
+
+(define-function gtk_widget_get_default_visual
+ (c-name "gtk_widget_get_default_visual")
+ (return-type "GdkVisual*")
+)
+
+(define-method set_direction
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_direction")
+ (return-type "none")
+ (parameters
+ '("GtkTextDirection" "dir")
+ )
+)
+
+(define-method get_direction
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_direction")
+ (return-type "GtkTextDirection")
+)
+
+(define-function gtk_widget_set_default_direction
+ (c-name "gtk_widget_set_default_direction")
+ (return-type "none")
+ (parameters
+ '("GtkTextDirection" "dir")
+ )
+)
+
+(define-function gtk_widget_get_default_direction
+ (c-name "gtk_widget_get_default_direction")
+ (return-type "GtkTextDirection")
+)
+
+(define-method is_composited
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_is_composited")
+ (return-type "gboolean")
+)
+
+(define-method shape_combine_mask
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_shape_combine_mask")
+ (return-type "none")
+ (parameters
+ '("GdkBitmap*" "shape_mask")
+ '("gint" "offset_x")
+ '("gint" "offset_y")
+ )
+)
+
+(define-method input_shape_combine_mask
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_input_shape_combine_mask")
+ (return-type "none")
+ (parameters
+ '("GdkBitmap*" "shape_mask")
+ '("gint" "offset_x")
+ '("gint" "offset_y")
+ )
+)
+
+(define-method reset_shapes
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_reset_shapes")
+ (return-type "none")
+)
+
+(define-method path
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_path")
+ (return-type "none")
+ (parameters
+ '("guint*" "path_length")
+ '("gchar**" "path")
+ '("gchar**" "path_reversed")
+ )
+)
+
+(define-method class_path
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_class_path")
+ (return-type "none")
+ (parameters
+ '("guint*" "path_length")
+ '("gchar**" "path")
+ '("gchar**" "path_reversed")
+ )
+)
+
+(define-method list_mnemonic_labels
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_list_mnemonic_labels")
+ (return-type "GList*")
+)
+
+(define-method add_mnemonic_label
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_add_mnemonic_label")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "label")
+ )
+)
+
+(define-method remove_mnemonic_label
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_remove_mnemonic_label")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "label")
+ )
+)
+
+(define-method set_tooltip_window
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_tooltip_window")
+ (return-type "none")
+ (parameters
+ '("GtkWindow*" "custom_window")
+ )
+)
+
+(define-method get_tooltip_window
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_tooltip_window")
+ (return-type "GtkWindow*")
+)
+
+(define-method trigger_tooltip_query
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_trigger_tooltip_query")
+ (return-type "none")
+)
+
+(define-method set_tooltip_text
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_tooltip_text")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "text")
+ )
+)
+
+(define-method get_tooltip_text
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_tooltip_text")
+ (return-type "gchar*")
+)
+
+(define-method set_tooltip_markup
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_tooltip_markup")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "markup")
+ )
+)
+
+(define-method get_tooltip_markup
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_tooltip_markup")
+ (return-type "gchar*")
+)
+
+(define-method set_has_tooltip
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_set_has_tooltip")
+ (return-type "none")
+ (parameters
+ '("gboolean" "has_tooltip")
+ )
+)
+
+(define-method get_has_tooltip
+ (of-object "GtkWidget")
+ (c-name "gtk_widget_get_has_tooltip")
+ (return-type "gboolean")
+)
+
+(define-function gtk_requisition_get_type
+ (c-name "gtk_requisition_get_type")
+ (return-type "GType")
+)
+
+(define-method copy
+ (of-object "GtkRequisition")
+ (c-name "gtk_requisition_copy")
+ (return-type "GtkRequisition*")
+)
+
+(define-method free
+ (of-object "GtkRequisition")
+ (c-name "gtk_requisition_free")
+ (return-type "none")
+)
+
+
+
+;; From gtkwin32embed.h
+
+
+
+;; From gtkwin32embedwidget.h
+
+(define-function gtk_win32_embed_widget_get_type
+ (c-name "gtk_win32_embed_widget_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From gtkwindow-decorate.h
+
+(define-function gtk_decorated_window_init
+ (c-name "gtk_decorated_window_init")
+ (return-type "none")
+ (parameters
+ '("GtkWindow*" "window")
+ )
+)
+
+(define-function gtk_decorated_window_calculate_frame_size
+ (c-name "gtk_decorated_window_calculate_frame_size")
+ (return-type "none")
+ (parameters
+ '("GtkWindow*" "window")
+ )
+)
+
+(define-function gtk_decorated_window_set_title
+ (c-name "gtk_decorated_window_set_title")
+ (return-type "none")
+ (parameters
+ '("GtkWindow*" "window")
+ '("const-gchar*" "title")
+ )
+)
+
+(define-function gtk_decorated_window_move_resize_window
+ (c-name "gtk_decorated_window_move_resize_window")
+ (return-type "none")
+ (parameters
+ '("GtkWindow*" "window")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+
+
+;; From gtkwindow.h
+
+(define-function gtk_window_get_type
+ (c-name "gtk_window_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_window_new
+ (c-name "gtk_window_new")
+ (is-constructor-of "GtkWindow")
+ (return-type "GtkWidget*")
+ (parameters
+ '("GtkWindowType" "type")
+ )
+)
+
+(define-method set_title
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_title")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "title")
+ )
+)
+
+(define-method get_title
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_title")
+ (return-type "const-gchar*")
+)
+
+(define-method set_wmclass
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_wmclass")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "wmclass_name")
+ '("const-gchar*" "wmclass_class")
+ )
+)
+
+(define-method set_role
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_role")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "role")
+ )
+)
+
+(define-method set_startup_id
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_startup_id")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "startup_id")
+ )
+)
+
+(define-method get_role
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_role")
+ (return-type "const-gchar*")
+)
+
+(define-method add_accel_group
+ (of-object "GtkWindow")
+ (c-name "gtk_window_add_accel_group")
+ (return-type "none")
+ (parameters
+ '("GtkAccelGroup*" "accel_group")
+ )
+)
+
+(define-method remove_accel_group
+ (of-object "GtkWindow")
+ (c-name "gtk_window_remove_accel_group")
+ (return-type "none")
+ (parameters
+ '("GtkAccelGroup*" "accel_group")
+ )
+)
+
+(define-method set_position
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_position")
+ (return-type "none")
+ (parameters
+ '("GtkWindowPosition" "position")
+ )
+)
+
+(define-method activate_focus
+ (of-object "GtkWindow")
+ (c-name "gtk_window_activate_focus")
+ (return-type "gboolean")
+)
+
+(define-method set_focus
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_focus")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "focus")
+ )
+)
+
+(define-method get_focus
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_focus")
+ (return-type "GtkWidget*")
+)
+
+(define-method set_default
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_default")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "default_widget")
+ )
+)
+
+(define-method activate_default
+ (of-object "GtkWindow")
+ (c-name "gtk_window_activate_default")
+ (return-type "gboolean")
+)
+
+(define-method set_transient_for
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_transient_for")
+ (return-type "none")
+ (parameters
+ '("GtkWindow*" "parent")
+ )
+)
+
+(define-method get_transient_for
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_transient_for")
+ (return-type "GtkWindow*")
+)
+
+(define-method set_opacity
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_opacity")
+ (return-type "none")
+ (parameters
+ '("gdouble" "opacity")
+ )
+)
+
+(define-method get_opacity
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_opacity")
+ (return-type "gdouble")
+)
+
+(define-method set_type_hint
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_type_hint")
+ (return-type "none")
+ (parameters
+ '("GdkWindowTypeHint" "hint")
+ )
+)
+
+(define-method get_type_hint
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_type_hint")
+ (return-type "GdkWindowTypeHint")
+)
+
+(define-method set_skip_taskbar_hint
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_skip_taskbar_hint")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_skip_taskbar_hint
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_skip_taskbar_hint")
+ (return-type "gboolean")
+)
+
+(define-method set_skip_pager_hint
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_skip_pager_hint")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_skip_pager_hint
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_skip_pager_hint")
+ (return-type "gboolean")
+)
+
+(define-method set_urgency_hint
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_urgency_hint")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_urgency_hint
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_urgency_hint")
+ (return-type "gboolean")
+)
+
+(define-method set_accept_focus
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_accept_focus")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_accept_focus
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_accept_focus")
+ (return-type "gboolean")
+)
+
+(define-method set_focus_on_map
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_focus_on_map")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_focus_on_map
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_focus_on_map")
+ (return-type "gboolean")
+)
+
+(define-method set_destroy_with_parent
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_destroy_with_parent")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_destroy_with_parent
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_destroy_with_parent")
+ (return-type "gboolean")
+)
+
+(define-method set_resizable
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_resizable")
+ (return-type "none")
+ (parameters
+ '("gboolean" "resizable")
+ )
+)
+
+(define-method get_resizable
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_resizable")
+ (return-type "gboolean")
+)
+
+(define-method set_gravity
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_gravity")
+ (return-type "none")
+ (parameters
+ '("GdkGravity" "gravity")
+ )
+)
+
+(define-method get_gravity
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_gravity")
+ (return-type "GdkGravity")
+)
+
+(define-method set_geometry_hints
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_geometry_hints")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "geometry_widget")
+ '("GdkGeometry*" "geometry")
+ '("GdkWindowHints" "geom_mask")
+ )
+)
+
+(define-method set_screen
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_screen")
+ (return-type "none")
+ (parameters
+ '("GdkScreen*" "screen")
+ )
+)
+
+(define-method get_screen
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_screen")
+ (return-type "GdkScreen*")
+)
+
+(define-method is_active
+ (of-object "GtkWindow")
+ (c-name "gtk_window_is_active")
+ (return-type "gboolean")
+)
+
+(define-method has_toplevel_focus
+ (of-object "GtkWindow")
+ (c-name "gtk_window_has_toplevel_focus")
+ (return-type "gboolean")
+)
+
+(define-method set_has_frame
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_has_frame")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_has_frame
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_has_frame")
+ (return-type "gboolean")
+)
+
+(define-method set_frame_dimensions
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_frame_dimensions")
+ (return-type "none")
+ (parameters
+ '("gint" "left")
+ '("gint" "top")
+ '("gint" "right")
+ '("gint" "bottom")
+ )
+)
+
+(define-method get_frame_dimensions
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_frame_dimensions")
+ (return-type "none")
+ (parameters
+ '("gint*" "left")
+ '("gint*" "top")
+ '("gint*" "right")
+ '("gint*" "bottom")
+ )
+)
+
+(define-method set_decorated
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_decorated")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_decorated
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_decorated")
+ (return-type "gboolean")
+)
+
+(define-method set_deletable
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_deletable")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_deletable
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_deletable")
+ (return-type "gboolean")
+)
+
+(define-method set_icon_list
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_icon_list")
+ (return-type "none")
+ (parameters
+ '("GList*" "list")
+ )
+)
+
+(define-method get_icon_list
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_icon_list")
+ (return-type "GList*")
+)
+
+(define-method set_icon
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_icon")
+ (return-type "none")
+ (parameters
+ '("GdkPixbuf*" "icon")
+ )
+)
+
+(define-method set_icon_name
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_icon_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method set_icon_from_file
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_icon_from_file")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "filename")
+ '("GError**" "err")
+ )
+)
+
+(define-method get_icon
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_icon")
+ (return-type "GdkPixbuf*")
+)
+
+(define-method get_icon_name
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_icon_name")
+ (return-type "const-gchar*")
+)
+
+(define-function gtk_window_set_default_icon_list
+ (c-name "gtk_window_set_default_icon_list")
+ (return-type "none")
+ (parameters
+ '("GList*" "list")
+ )
+)
+
+(define-function gtk_window_get_default_icon_list
+ (c-name "gtk_window_get_default_icon_list")
+ (return-type "GList*")
+)
+
+(define-function gtk_window_set_default_icon
+ (c-name "gtk_window_set_default_icon")
+ (return-type "none")
+ (parameters
+ '("GdkPixbuf*" "icon")
+ )
+)
+
+(define-function gtk_window_set_default_icon_name
+ (c-name "gtk_window_set_default_icon_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-function gtk_window_set_default_icon_from_file
+ (c-name "gtk_window_set_default_icon_from_file")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "filename")
+ '("GError**" "err")
+ )
+)
+
+(define-function gtk_window_set_auto_startup_notification
+ (c-name "gtk_window_set_auto_startup_notification")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method set_modal
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_modal")
+ (return-type "none")
+ (parameters
+ '("gboolean" "modal")
+ )
+)
+
+(define-method get_modal
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_modal")
+ (return-type "gboolean")
+)
+
+(define-function gtk_window_list_toplevels
+ (c-name "gtk_window_list_toplevels")
+ (return-type "GList*")
+)
+
+(define-method add_mnemonic
+ (of-object "GtkWindow")
+ (c-name "gtk_window_add_mnemonic")
+ (return-type "none")
+ (parameters
+ '("guint" "keyval")
+ '("GtkWidget*" "target")
+ )
+)
+
+(define-method remove_mnemonic
+ (of-object "GtkWindow")
+ (c-name "gtk_window_remove_mnemonic")
+ (return-type "none")
+ (parameters
+ '("guint" "keyval")
+ '("GtkWidget*" "target")
+ )
+)
+
+(define-method mnemonic_activate
+ (of-object "GtkWindow")
+ (c-name "gtk_window_mnemonic_activate")
+ (return-type "gboolean")
+ (parameters
+ '("guint" "keyval")
+ '("GdkModifierType" "modifier")
+ )
+)
+
+(define-method set_mnemonic_modifier
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_mnemonic_modifier")
+ (return-type "none")
+ (parameters
+ '("GdkModifierType" "modifier")
+ )
+)
+
+(define-method get_mnemonic_modifier
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_mnemonic_modifier")
+ (return-type "GdkModifierType")
+)
+
+(define-method activate_key
+ (of-object "GtkWindow")
+ (c-name "gtk_window_activate_key")
+ (return-type "gboolean")
+ (parameters
+ '("GdkEventKey*" "event")
+ )
+)
+
+(define-method propagate_key_event
+ (of-object "GtkWindow")
+ (c-name "gtk_window_propagate_key_event")
+ (return-type "gboolean")
+ (parameters
+ '("GdkEventKey*" "event")
+ )
+)
+
+(define-method present
+ (of-object "GtkWindow")
+ (c-name "gtk_window_present")
+ (return-type "none")
+)
+
+(define-method present_with_time
+ (of-object "GtkWindow")
+ (c-name "gtk_window_present_with_time")
+ (return-type "none")
+ (parameters
+ '("guint32" "timestamp")
+ )
+)
+
+(define-method iconify
+ (of-object "GtkWindow")
+ (c-name "gtk_window_iconify")
+ (return-type "none")
+)
+
+(define-method deiconify
+ (of-object "GtkWindow")
+ (c-name "gtk_window_deiconify")
+ (return-type "none")
+)
+
+(define-method stick
+ (of-object "GtkWindow")
+ (c-name "gtk_window_stick")
+ (return-type "none")
+)
+
+(define-method unstick
+ (of-object "GtkWindow")
+ (c-name "gtk_window_unstick")
+ (return-type "none")
+)
+
+(define-method maximize
+ (of-object "GtkWindow")
+ (c-name "gtk_window_maximize")
+ (return-type "none")
+)
+
+(define-method unmaximize
+ (of-object "GtkWindow")
+ (c-name "gtk_window_unmaximize")
+ (return-type "none")
+)
+
+(define-method fullscreen
+ (of-object "GtkWindow")
+ (c-name "gtk_window_fullscreen")
+ (return-type "none")
+)
+
+(define-method unfullscreen
+ (of-object "GtkWindow")
+ (c-name "gtk_window_unfullscreen")
+ (return-type "none")
+)
+
+(define-method set_keep_above
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_keep_above")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method set_keep_below
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_keep_below")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method begin_resize_drag
+ (of-object "GtkWindow")
+ (c-name "gtk_window_begin_resize_drag")
+ (return-type "none")
+ (parameters
+ '("GdkWindowEdge" "edge")
+ '("gint" "button")
+ '("gint" "root_x")
+ '("gint" "root_y")
+ '("guint32" "timestamp")
+ )
+)
+
+(define-method begin_move_drag
+ (of-object "GtkWindow")
+ (c-name "gtk_window_begin_move_drag")
+ (return-type "none")
+ (parameters
+ '("gint" "button")
+ '("gint" "root_x")
+ '("gint" "root_y")
+ '("guint32" "timestamp")
+ )
+)
+
+(define-method set_policy
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_policy")
+ (return-type "none")
+ (parameters
+ '("gint" "allow_shrink")
+ '("gint" "allow_grow")
+ '("gint" "auto_shrink")
+ )
+)
+
+(define-method set_default_size
+ (of-object "GtkWindow")
+ (c-name "gtk_window_set_default_size")
+ (return-type "none")
+ (parameters
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-method get_default_size
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_default_size")
+ (return-type "none")
+ (parameters
+ '("gint*" "width")
+ '("gint*" "height")
+ )
+)
+
+(define-method resize
+ (of-object "GtkWindow")
+ (c-name "gtk_window_resize")
+ (return-type "none")
+ (parameters
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-method get_size
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_size")
+ (return-type "none")
+ (parameters
+ '("gint*" "width")
+ '("gint*" "height")
+ )
+)
+
+(define-method move
+ (of-object "GtkWindow")
+ (c-name "gtk_window_move")
+ (return-type "none")
+ (parameters
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-method get_position
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_position")
+ (return-type "none")
+ (parameters
+ '("gint*" "root_x")
+ '("gint*" "root_y")
+ )
+)
+
+(define-method parse_geometry
+ (of-object "GtkWindow")
+ (c-name "gtk_window_parse_geometry")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "geometry")
+ )
+)
+
+(define-method get_group
+ (of-object "GtkWindow")
+ (c-name "gtk_window_get_group")
+ (return-type "GtkWindowGroup*")
+)
+
+(define-method reshow_with_initial_size
+ (of-object "GtkWindow")
+ (c-name "gtk_window_reshow_with_initial_size")
+ (return-type "none")
+)
+
+(define-function gtk_window_group_get_type
+ (c-name "gtk_window_group_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_window_group_new
+ (c-name "gtk_window_group_new")
+ (is-constructor-of "GtkWindowGroup")
+ (return-type "GtkWindowGroup*")
+)
+
+(define-method add_window
+ (of-object "GtkWindowGroup")
+ (c-name "gtk_window_group_add_window")
+ (return-type "none")
+ (parameters
+ '("GtkWindow*" "window")
+ )
+)
+
+(define-method remove_window
+ (of-object "GtkWindowGroup")
+ (c-name "gtk_window_group_remove_window")
+ (return-type "none")
+ (parameters
+ '("GtkWindow*" "window")
+ )
+)
+
+(define-method remove_embedded_xid
+ (of-object "GtkWindow")
+ (c-name "gtk_window_remove_embedded_xid")
+ (return-type "none")
+ (parameters
+ '("guint" "xid")
+ )
+)
+
+(define-method add_embedded_xid
+ (of-object "GtkWindow")
+ (c-name "gtk_window_add_embedded_xid")
+ (return-type "none")
+ (parameters
+ '("guint" "xid")
+ )
+)
+
+
+
+;; From gtkxembed.h
+
+
+
+;; From stamp-gtkmarshalers.h
+
+
+
+;; From stamp-gtkmarshal.h
+
+
+
+;; From stamp-gtktypebuiltins.h
+
+
+
+;; From xembed.h
+
+
diff --git a/libs/gtkmm2/gtk/src/gtk_other.defs b/libs/gtkmm2/gtk/src/gtk_other.defs
new file mode 100644
index 0000000000..304a4f9edb
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/gtk_other.defs
@@ -0,0 +1,422 @@
+
+; GtkCellEditable (written by hand because we can't instantiate an interface):
+
+(define-signal editing_done
+ (of-object "GtkCellEditable")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal remove_widget
+ (of-object "GtkCellEditable")
+ (return-type "void")
+ (when "last")
+)
+
+; GtkEditable
+(define-signal insert_text
+ (of-object "GtkEditable")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("const-gchar*" "text")
+ '("gint" "length")
+ '("gint*" "position")
+ )
+)
+
+(define-signal delete_text
+ (of-object "GtkEditable")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "start_pos")
+ '("gint" "end_pos")
+ )
+)
+
+(define-signal changed
+ (of-object "GtkEditable")
+ (return-type "void")
+ (when "last")
+)
+
+; GtkTreeModel (written by hand because we can't instantiate an interface):
+
+(define-signal row_changed
+ (of-object "GtkTreeModel")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkTreePath*" "path")
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-signal row_inserted
+ (of-object "GtkTreeModel")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkTreePath*" "path")
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-signal row_has_child_toggled
+ (of-object "GtkTreeModel")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkTreePath*" "path")
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-signal row_deleted
+ (of-object "GtkTreeModel")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-signal rows_reordered
+ (of-object "GtkTreeModel")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkTreePath*" "path")
+ '("GtkTreeIter*" "iter")
+ '("gint*" "new_order")
+ )
+)
+
+;; GtkTreeSortable (written by hand because we can't instantiate an interface):
+
+(define-signal sort_column_changed
+ (of-object "GtkTreeSortable")
+ (return-type "void")
+ (when "last")
+)
+
+;; For some reason h2defs.py doesn't provide this:
+
+(define-function gtk_drag_get_data
+ (c-name "gtk_drag_get_data")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("GdkDragContext*" "context")
+ '("GdkAtom" "target")
+ '("guint32" "time")
+ )
+)
+
+
+;; GtkSettings properties that are only installed when GtkSettings is used by other objects.
+
+(define-property gtk-toolbar-style
+ (of-object "GtkSettings")
+ (prop-type "GParamEnum")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-toolbar-icon-size
+ (of-object "GtkSettings")
+ (prop-type "GParamEnum")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-entry-select-on-focus
+ (of-object "GtkSettings")
+ (prop-type "GParamBoolean")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-can-change-accels
+ (of-object "GtkSettings")
+ (prop-type "GParamBoolean")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-color-palette
+ (of-object "GtkSettings")
+ (prop-type "GParamString")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-button-images
+ (of-object "GtkSettings")
+ (prop-type "GParamBoolean")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+; GtkFileChooser (written by hand because we can't instantiate an interface):
+
+(define-signal current_folder_changed
+ (of-object "GtkFileChooser")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal selection_changed
+ (of-object "GtkFileChooser")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal update_preview
+ (of-object "GtkFileChooser")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal file_activated
+ (of-object "GtkFileChooser")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal confirm-overwrite
+ (of-object "GtkFileChooser")
+ (return-type "GtkFileChooserConfirmation")
+ (when "last")
+)
+
+(define-property action
+ (of-object "GtkFileChooser")
+ (prop-type "GtkFileChooserAction")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property file-system
+ (of-object "GtkFileChooser")
+ (prop-type "GtkFileSystem")
+ (readable #f)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property filter
+ (of-object "GtkFileChooser")
+ (prop-type "GtkFileFilter*")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property folder-mode
+ (of-object "GtkFileChooser")
+ (prop-type "GParamBoolean")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property local-only
+ (of-object "GtkFileChooser")
+ (prop-type "GParamBoolean")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property preview-widget
+ (of-object "GtkFileChooser")
+ (prop-type "GtkWidget*")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-preview-label
+ (of-object "GtkFileChooser")
+ (prop-type "GParamBoolean")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property preview-widget-active
+ (of-object "GtkFileChooser")
+ (prop-type "GParamBoolean")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extra-widget
+ (of-object "GtkFileChooser")
+ (prop-type "GtkWidget*")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property select-multiple
+ (of-object "GtkFileChooser")
+ (prop-type "GParamBoolean")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-hidden
+ (of-object "GtkFileChooser")
+ (prop-type "GParamBoolean")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property do-overwrite-confirmation
+ (of-object "GtkFileChooser")
+ (prop-type "GParamBoolean")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+; GtkRecentChooser (written by hand because we can't instantiate an interface):
+
+(define-property recent-manager
+ (of-object "GtkRecentChooser")
+ (prop-type "GtkRecentManager*")
+ (readable #f)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property show-private
+ (of-object "GtkRecentChooser")
+ (prop-type "GParamBoolean")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-tips
+ (of-object "GtkRecentChooser")
+ (prop-type "GParamBoolean")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-icons
+ (of-object "GtkRecentChooser")
+ (prop-type "GParamBoolean")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-not-found
+ (of-object "GtkRecentChooser")
+ (prop-type "GParamBoolean")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property select-multiple
+ (of-object "GtkRecentChooser")
+ (prop-type "GParamBoolean")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property local-only
+ (of-object "GtkRecentChooser")
+ (prop-type "GParamBoolean")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property limit
+ (of-object "GtkRecentChooser")
+ (prop-type "GParamInt")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sort-type
+ (of-object "GtkRecentChooser")
+ (prop-type "GParamEnum")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property filter
+ (of-object "GtkRecentChooser")
+ (prop-type "GtkRecentFilter*")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+
+;; From GtkPrintOperationPreview (TODO: vfuncs):
+
+(define-signal ready
+ (of-object "GtkPrintOperationPreview")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkPrintContext*" "p0")
+ )
+)
+
+(define-signal got-page-size
+ (of-object "GtkPrintOperationPreview")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkPrintContext*" "p0")
+ '("GtkPageSetup*" "p1")
+ )
+)
+
+
+
+; h2defs.py does not seem to get these:
+
+(define-method get_authors
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_get_authors")
+ (return-type "gchar-const-*-const-*")
+)
+
+(define-method get_documenters
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_get_documenters")
+ (return-type "gchar-const-*-const-*")
+)
+
+(define-method get_artists
+ (of-object "GtkAboutDialog")
+ (c-name "gtk_about_dialog_get_artists")
+ (return-type "gchar-const-*-const-*")
+)
+
+
diff --git a/libs/gtkmm2/gtk/src/gtk_signals.defs b/libs/gtkmm2/gtk/src/gtk_signals.defs
new file mode 100644
index 0000000000..73698ba7d0
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/gtk_signals.defs
@@ -0,0 +1,39166 @@
+;; From AtkObject
+
+(define-signal children-changed
+ (of-object "AtkObject")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("guint" "p0")
+ '("gpointer" "p1")
+ )
+)
+
+(define-signal focus-event
+ (of-object "AtkObject")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gboolean" "p0")
+ )
+)
+
+(define-signal property-change
+ (of-object "AtkObject")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gpointer" "p0")
+ )
+)
+
+(define-signal state-change
+ (of-object "AtkObject")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("const-gchar*" "p0")
+ '("gboolean" "p1")
+ )
+)
+
+(define-signal visible-data-changed
+ (of-object "AtkObject")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal active-descendant-changed
+ (of-object "AtkObject")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gpointer" "p0")
+ )
+)
+
+(define-property accessible-name
+ (of-object "AtkObject")
+ (prop-type "GParamString")
+ (docs "Object instance's name formatted for assistive technology access")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-description
+ (of-object "AtkObject")
+ (prop-type "GParamString")
+ (docs "Description of an object, formatted for assistive technology access")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-parent
+ (of-object "AtkObject")
+ (prop-type "GParamObject")
+ (docs "Is used to notify that the parent has changed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-value
+ (of-object "AtkObject")
+ (prop-type "GParamDouble")
+ (docs "Is used to notify that the value has changed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-role
+ (of-object "AtkObject")
+ (prop-type "GParamInt")
+ (docs "The accessible role of this object")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-component-layer
+ (of-object "AtkObject")
+ (prop-type "GParamInt")
+ (docs "The accessible layer of this object")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property accessible-component-mdi-zorder
+ (of-object "AtkObject")
+ (prop-type "GParamInt")
+ (docs "The accessible MDI value of this object")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property accessible-table-caption
+ (of-object "AtkObject")
+ (prop-type "GParamString")
+ (docs "Is used to notify that the table caption has changed; this property should not be used. accessible-table-caption-object should be used instead")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-table-column-description
+ (of-object "AtkObject")
+ (prop-type "GParamString")
+ (docs "Is used to notify that the table column description has changed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-table-column-header
+ (of-object "AtkObject")
+ (prop-type "GParamObject")
+ (docs "Is used to notify that the table column header has changed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-table-row-description
+ (of-object "AtkObject")
+ (prop-type "GParamString")
+ (docs "Is used to notify that the table row description has changed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-table-row-header
+ (of-object "AtkObject")
+ (prop-type "GParamObject")
+ (docs "Is used to notify that the table row header has changed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-table-summary
+ (of-object "AtkObject")
+ (prop-type "GParamObject")
+ (docs "Is used to notify that the table summary has changed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-table-caption-object
+ (of-object "AtkObject")
+ (prop-type "GParamObject")
+ (docs "Is used to notify that the table caption has changed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accessible-hypertext-nlinks
+ (of-object "AtkObject")
+ (prop-type "GParamInt")
+ (docs "The number of links which the current AtkHypertext has")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+;; From AtkComponent
+
+(define-signal bounds-changed
+ (of-object "AtkComponent")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("AtkRectangle*" "p0")
+ )
+)
+
+;; From AtkAction
+
+;; From AtkEditableText
+
+;; From AtkHyperlink
+
+(define-signal link-activated
+ (of-object "AtkHyperlink")
+ (return-type "void")
+ (when "last")
+)
+
+(define-property selected-link
+ (of-object "AtkHyperlink")
+ (prop-type "GParamBoolean")
+ (docs "Specifies whether the AtkHyperlink object is selected")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property number-of-anchors
+ (of-object "AtkHyperlink")
+ (prop-type "GParamInt")
+ (docs "The number of anchors associated with the AtkHyperlink object")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property end-index
+ (of-object "AtkHyperlink")
+ (prop-type "GParamInt")
+ (docs "The end index of the AtkHyperlink object")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property start-index
+ (of-object "AtkHyperlink")
+ (prop-type "GParamInt")
+ (docs "The start index of the AtkHyperlink object")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+;; From AtkHypertext
+
+(define-signal link-selected
+ (of-object "AtkHypertext")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ )
+)
+
+;; From AtkImage
+
+;; From AtkSelection
+
+(define-signal selection-changed
+ (of-object "AtkSelection")
+ (return-type "void")
+ (when "last")
+)
+
+;; From AtkTable
+
+(define-signal row-inserted
+ (of-object "AtkTable")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ '("gint" "p1")
+ )
+)
+
+(define-signal column-inserted
+ (of-object "AtkTable")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ '("gint" "p1")
+ )
+)
+
+(define-signal row-deleted
+ (of-object "AtkTable")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ '("gint" "p1")
+ )
+)
+
+(define-signal column-deleted
+ (of-object "AtkTable")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ '("gint" "p1")
+ )
+)
+
+(define-signal row-reordered
+ (of-object "AtkTable")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal column-reordered
+ (of-object "AtkTable")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal model-changed
+ (of-object "AtkTable")
+ (return-type "void")
+ (when "last")
+)
+
+;; From AtkText
+
+(define-signal text-changed
+ (of-object "AtkText")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ '("gint" "p1")
+ )
+)
+
+(define-signal text-caret-moved
+ (of-object "AtkText")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ )
+)
+
+(define-signal text-selection-changed
+ (of-object "AtkText")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal text-attributes-changed
+ (of-object "AtkText")
+ (return-type "void")
+ (when "last")
+)
+
+;; From AtkValue
+
+;; From AtkRegistry
+
+;; From AtkRelation
+
+(define-property relation-type
+ (of-object "AtkRelation")
+ (prop-type "GParamEnum")
+ (docs "The type of the relation")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property target
+ (of-object "AtkRelation")
+ (prop-type "GParamValueArray")
+ (docs "An array of the targets for the relation")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From AtkRelationSet
+
+;; From AtkStateSet
+
+;; From GdkColormap
+
+;; From GdkDragContext
+
+;; From GdkDisplay
+
+(define-signal closed
+ (of-object "GdkDisplay")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gboolean" "p0")
+ )
+)
+
+;; From GdkDisplayManager
+
+(define-signal display-opened
+ (of-object "GdkDisplayManager")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GdkDisplay*" "p0")
+ )
+)
+
+(define-property default-display
+ (of-object "GdkDisplayManager")
+ (prop-type "GParamObject")
+ (docs "The default display for GDK")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GdkDrawable
+
+;; From GdkGC
+
+;; From GdkImage
+
+;; From GdkPixbuf
+
+(define-property colorspace
+ (of-object "GdkPixbuf")
+ (prop-type "GParamEnum")
+ (docs "The colorspace in which the samples are interpreted")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property n-channels
+ (of-object "GdkPixbuf")
+ (prop-type "GParamInt")
+ (docs "The number of samples per pixel")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property has-alpha
+ (of-object "GdkPixbuf")
+ (prop-type "GParamBoolean")
+ (docs "Whether the pixbuf has an alpha channel")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property bits-per-sample
+ (of-object "GdkPixbuf")
+ (prop-type "GParamInt")
+ (docs "The number of bits per sample")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property width
+ (of-object "GdkPixbuf")
+ (prop-type "GParamInt")
+ (docs "The number of columns of the pixbuf")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property height
+ (of-object "GdkPixbuf")
+ (prop-type "GParamInt")
+ (docs "The number of rows of the pixbuf")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property rowstride
+ (of-object "GdkPixbuf")
+ (prop-type "GParamInt")
+ (docs "The number of bytes between the start of a row and the start of the next row")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property pixels
+ (of-object "GdkPixbuf")
+ (prop-type "GParamPointer")
+ (docs "A pointer to the pixel data of the pixbuf")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+;; From GdkPixbufAnimation
+
+;; From GdkPixbufLoader
+
+(define-signal closed
+ (of-object "GdkPixbufLoader")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal size-prepared
+ (of-object "GdkPixbufLoader")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ '("gint" "p1")
+ )
+)
+
+(define-signal area-prepared
+ (of-object "GdkPixbufLoader")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal area-updated
+ (of-object "GdkPixbufLoader")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ '("gint" "p1")
+ '("gint" "p2")
+ '("gint" "p3")
+ )
+)
+
+;; From GdkPixmap
+
+;; From GdkScreen
+
+(define-signal size-changed
+ (of-object "GdkScreen")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal composited-changed
+ (of-object "GdkScreen")
+ (return-type "void")
+ (when "last")
+)
+
+(define-property font-options
+ (of-object "GdkScreen")
+ (prop-type "GParamPointer")
+ (docs "The default font options for the screen")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resolution
+ (of-object "GdkScreen")
+ (prop-type "GParamDouble")
+ (docs "The resolution for fonts on the screen")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GdkVisual
+
+;; From GdkWindow
+
+;; From GtkAboutDialog
+
+(define-property user-data
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamEnum")
+ (docs "The type of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property title
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamString")
+ (docs "The title of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property role
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamString")
+ (docs "Unique identifier for the window to be used when restoring a session")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property startup-id
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamString")
+ (docs "Unique startup identifier for the window used by startup-notification")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-shrink
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window has no mimimum size. Setting this to TRUE is 99% of the time a bad idea")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-grow
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can expand the window beyond its minimum size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resizable
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can resize the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property modal
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window is modal (other windows are not usable while this one is up)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property window-position
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamEnum")
+ (docs "The initial position of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-width
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamInt")
+ (docs "The default width of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-height
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamInt")
+ (docs "The default height of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property destroy-with-parent
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "If this window should be destroyed when the parent is destroyed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamObject")
+ (docs "Icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamString")
+ (docs "Name of the themed icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property screen
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamObject")
+ (docs "The screen where this window will be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type-hint
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamEnum")
+ (docs "Hint to help the desktop environment understand what kind of window this is and how to treat it.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-taskbar-hint
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the task bar.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-pager-hint
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the pager.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property urgency-hint
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should be brought to the user's attention.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accept-focus
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property focus-on-map
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus when mapped.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property decorated
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window should be decorated by the window manager")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property deletable
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window frame should have a close button")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gravity
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamEnum")
+ (docs "The window gravity of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property transient-for
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamObject")
+ (docs "The transient parent of the dialog")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property opacity
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamDouble")
+ (docs "The opacity of the window, from 0 to 1")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-active
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toplevel is the current active window")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property has-toplevel-focus
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the input focus is within this GtkWindow")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property has-separator
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "The dialog has a separator bar above its buttons")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property program-name
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamString")
+ (docs "The name of the program. If this is not set, it defaults to g_get_application_name()")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property version
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamString")
+ (docs "The version of the program")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property copyright
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamString")
+ (docs "Copyright information for the program")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property comments
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamString")
+ (docs "Comments about the program")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property website
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamString")
+ (docs "The URL for the link to the website of the program")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property website-label
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamString")
+ (docs "The label for the link to the website of the program. If this is not set, it defaults to the URL")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property license
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamString")
+ (docs "The license of the program")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property authors
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoxed")
+ (docs "List of authors of the program")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property documenters
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoxed")
+ (docs "List of people documenting the program")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property translator-credits
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamString")
+ (docs "Credits to the translators. This string should be marked as translatable")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property artists
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoxed")
+ (docs "List of people who have contributed artwork to the program")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property logo
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamObject")
+ (docs "A logo for the about box. If this is not set, it defaults to gtk_window_get_default_icon_list()")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property logo-icon-name
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamString")
+ (docs "A named icon to use as the logo for the about box.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property wrap-license
+ (of-object "GtkAboutDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether to wrap the license text.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkAccelGroup
+
+(define-signal accel-activate
+ (of-object "GtkAccelGroup")
+ (return-type "gboolean")
+ (when "unknown")
+ (parameters
+ '("GObject*" "p0")
+ '("guint" "p1")
+ '("GdkModifierType" "p2")
+ )
+)
+
+(define-signal accel-changed
+ (of-object "GtkAccelGroup")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("guint" "p0")
+ '("GdkModifierType" "p1")
+ '("GClosure*" "p2")
+ )
+)
+
+;; From GtkAccelLabel
+
+(define-property user-data
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamFloat")
+ (docs "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamFloat")
+ (docs "The vertical alignment, from 0 (top) to 1 (bottom)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xpad
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamInt")
+ (docs "The amount of space to add on the left and right of the widget, in pixels")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ypad
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamInt")
+ (docs "The amount of space to add on the top and bottom of the widget, in pixels")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamString")
+ (docs "The text of the label")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property attributes
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamBoxed")
+ (docs "A list of style attributes to apply to the text of the label")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-markup
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamBoolean")
+ (docs "The text of the label includes XML markup. See pango_parse_markup()")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-underline
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamBoolean")
+ (docs "If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property justify
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamEnum")
+ (docs "The alignment of the lines in the text of the label relative to each other. This does NOT affect the alignment of the label within its allocation. See GtkMisc::xalign for that")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pattern
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamString")
+ (docs "A string with _ characters in positions correspond to characters in the text to underline")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property wrap
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamBoolean")
+ (docs "If set, wrap lines if the text becomes too wide")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property wrap-mode
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamEnum")
+ (docs "If wrap is set, controls how linewrapping is done")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property selectable
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether the label text can be selected with the mouse")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property mnemonic-keyval
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamUInt")
+ (docs "The mnemonic accelerator key for this label")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property mnemonic-widget
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamObject")
+ (docs "The widget to be activated when the label's mnemonic key is pressed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cursor-position
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamInt")
+ (docs "The current position of the insertion cursor in chars")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property selection-bound
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamInt")
+ (docs "The position of the opposite end of the selection from the cursor in chars")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property ellipsize
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamEnum")
+ (docs "The preferred place to ellipsize the string, if the label does not have enough room to display the entire string")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-chars
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamInt")
+ (docs "The desired width of the label, in characters")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property single-line-mode
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether the label is in single line mode")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property angle
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamDouble")
+ (docs "Angle at which the label is rotated")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property max-width-chars
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamInt")
+ (docs "The desired maximum width of the label, in characters")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accel-closure
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamBoxed")
+ (docs "The closure to be monitored for accelerator changes")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accel-widget
+ (of-object "GtkAccelLabel")
+ (prop-type "GParamObject")
+ (docs "The widget to be monitored for accelerator changes")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkAction
+
+(define-signal activate
+ (of-object "GtkAction")
+ (return-type "void")
+ (when "first")
+)
+
+(define-property name
+ (of-object "GtkAction")
+ (prop-type "GParamString")
+ (docs "A unique name for the action.")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property label
+ (of-object "GtkAction")
+ (prop-type "GParamString")
+ (docs "The label used for menu items and buttons that activate this action.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property short-label
+ (of-object "GtkAction")
+ (prop-type "GParamString")
+ (docs "A shorter label that may be used on toolbar buttons.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip
+ (of-object "GtkAction")
+ (prop-type "GParamString")
+ (docs "A tooltip for this action.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property stock-id
+ (of-object "GtkAction")
+ (prop-type "GParamString")
+ (docs "The stock icon displayed in widgets representing this action.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkAction")
+ (prop-type "GParamString")
+ (docs "The name of the icon from the icon theme")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-horizontal
+ (of-object "GtkAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is visible when the toolbar is in a horizontal orientation.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-vertical
+ (of-object "GtkAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is visible when the toolbar is in a vertical orientation.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-overflown
+ (of-object "GtkAction")
+ (prop-type "GParamBoolean")
+ (docs "When TRUE, toolitem proxies for this action are represented in the toolbar overflow menu.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-important
+ (of-object "GtkAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the action is considered important. When TRUE, toolitem proxies for this action show text in GTK_TOOLBAR_BOTH_HORIZ mode.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property hide-if-empty
+ (of-object "GtkAction")
+ (prop-type "GParamBoolean")
+ (docs "When TRUE, empty menu proxies for this action are hidden.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the action is enabled.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the action is visible.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property action-group
+ (of-object "GtkAction")
+ (prop-type "GParamObject")
+ (docs "The GtkActionGroup this GtkAction is associated with, or NULL (for internal use).")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkActionGroup
+
+(define-signal connect-proxy
+ (of-object "GtkActionGroup")
+ (return-type "void")
+ (when "unknown")
+ (parameters
+ '("GtkAction*" "p0")
+ '("GtkWidget*" "p1")
+ )
+)
+
+(define-signal disconnect-proxy
+ (of-object "GtkActionGroup")
+ (return-type "void")
+ (when "unknown")
+ (parameters
+ '("GtkAction*" "p0")
+ '("GtkWidget*" "p1")
+ )
+)
+
+(define-signal pre-activate
+ (of-object "GtkActionGroup")
+ (return-type "void")
+ (when "unknown")
+ (parameters
+ '("GtkAction*" "p0")
+ )
+)
+
+(define-signal post-activate
+ (of-object "GtkActionGroup")
+ (return-type "void")
+ (when "unknown")
+ (parameters
+ '("GtkAction*" "p0")
+ )
+)
+
+(define-property name
+ (of-object "GtkActionGroup")
+ (prop-type "GParamString")
+ (docs "A name for the action group.")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property sensitive
+ (of-object "GtkActionGroup")
+ (prop-type "GParamBoolean")
+ (docs "Whether the action group is enabled.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkActionGroup")
+ (prop-type "GParamBoolean")
+ (docs "Whether the action group is visible.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkAdjustment
+
+(define-signal changed
+ (of-object "GtkAdjustment")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal value-changed
+ (of-object "GtkAdjustment")
+ (return-type "void")
+ (when "first")
+)
+
+(define-property user-data
+ (of-object "GtkAdjustment")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property value
+ (of-object "GtkAdjustment")
+ (prop-type "GParamDouble")
+ (docs "The value of the adjustment")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property lower
+ (of-object "GtkAdjustment")
+ (prop-type "GParamDouble")
+ (docs "The minimum value of the adjustment")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property upper
+ (of-object "GtkAdjustment")
+ (prop-type "GParamDouble")
+ (docs "The maximum value of the adjustment")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property step-increment
+ (of-object "GtkAdjustment")
+ (prop-type "GParamDouble")
+ (docs "The step increment of the adjustment")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property page-increment
+ (of-object "GtkAdjustment")
+ (prop-type "GParamDouble")
+ (docs "The page increment of the adjustment")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property page-size
+ (of-object "GtkAdjustment")
+ (prop-type "GParamDouble")
+ (docs "The page size of the adjustment")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkAlignment
+
+(define-property user-data
+ (of-object "GtkAlignment")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkAlignment")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkAlignment")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkAlignment")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkAlignment")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkAlignment")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkAlignment")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkAlignment")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkAlignment")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkAlignment")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkAlignment")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkAlignment")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkAlignment")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkAlignment")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkAlignment")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkAlignment")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkAlignment")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkAlignment")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkAlignment")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkAlignment")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkAlignment")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkAlignment")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkAlignment")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkAlignment")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkAlignment")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkAlignment")
+ (prop-type "GParamFloat")
+ (docs "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkAlignment")
+ (prop-type "GParamFloat")
+ (docs "Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xscale
+ (of-object "GtkAlignment")
+ (prop-type "GParamFloat")
+ (docs "If available horizontal space is bigger than needed for the child, how much of it to use for the child. 0.0 means none, 1.0 means all")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yscale
+ (of-object "GtkAlignment")
+ (prop-type "GParamFloat")
+ (docs "If available vertical space is bigger than needed for the child, how much of it to use for the child. 0.0 means none, 1.0 means all")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property top-padding
+ (of-object "GtkAlignment")
+ (prop-type "GParamUInt")
+ (docs "The padding to insert at the top of the widget.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property bottom-padding
+ (of-object "GtkAlignment")
+ (prop-type "GParamUInt")
+ (docs "The padding to insert at the bottom of the widget.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property left-padding
+ (of-object "GtkAlignment")
+ (prop-type "GParamUInt")
+ (docs "The padding to insert at the left of the widget.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property right-padding
+ (of-object "GtkAlignment")
+ (prop-type "GParamUInt")
+ (docs "The padding to insert at the right of the widget.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkArrow
+
+(define-property user-data
+ (of-object "GtkArrow")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkArrow")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkArrow")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkArrow")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkArrow")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkArrow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkArrow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkArrow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkArrow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkArrow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkArrow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkArrow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkArrow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkArrow")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkArrow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkArrow")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkArrow")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkArrow")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkArrow")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkArrow")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkArrow")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkArrow")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkArrow")
+ (prop-type "GParamFloat")
+ (docs "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkArrow")
+ (prop-type "GParamFloat")
+ (docs "The vertical alignment, from 0 (top) to 1 (bottom)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xpad
+ (of-object "GtkArrow")
+ (prop-type "GParamInt")
+ (docs "The amount of space to add on the left and right of the widget, in pixels")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ypad
+ (of-object "GtkArrow")
+ (prop-type "GParamInt")
+ (docs "The amount of space to add on the top and bottom of the widget, in pixels")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property arrow-type
+ (of-object "GtkArrow")
+ (prop-type "GParamEnum")
+ (docs "The direction the arrow should point")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property shadow-type
+ (of-object "GtkArrow")
+ (prop-type "GParamEnum")
+ (docs "Appearance of the shadow surrounding the arrow")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkAspectFrame
+
+(define-property user-data
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamString")
+ (docs "Text of the frame's label")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label-xalign
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamFloat")
+ (docs "The horizontal alignment of the label")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label-yalign
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamFloat")
+ (docs "The vertical alignment of the label")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property shadow
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamEnum")
+ (docs "Deprecated property, use shadow_type instead")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property shadow-type
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamEnum")
+ (docs "Appearance of the frame border")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label-widget
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamObject")
+ (docs "A widget to display in place of the usual frame label")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamFloat")
+ (docs "X alignment of the child")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamFloat")
+ (docs "Y alignment of the child")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ratio
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamFloat")
+ (docs "Aspect ratio if obey_child is FALSE")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property obey-child
+ (of-object "GtkAspectFrame")
+ (prop-type "GParamBoolean")
+ (docs "Force aspect ratio to match that of the frame's child")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkAssistant
+
+(define-signal cancel
+ (of-object "GtkAssistant")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal close
+ (of-object "GtkAssistant")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal prepare
+ (of-object "GtkAssistant")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkWidget*" "p0")
+ )
+)
+
+(define-signal apply
+ (of-object "GtkAssistant")
+ (return-type "void")
+ (when "last")
+)
+
+(define-property user-data
+ (of-object "GtkAssistant")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkAssistant")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkAssistant")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkAssistant")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkAssistant")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkAssistant")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkAssistant")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkAssistant")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkAssistant")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkAssistant")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkAssistant")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkAssistant")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkAssistant")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type
+ (of-object "GtkAssistant")
+ (prop-type "GParamEnum")
+ (docs "The type of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property title
+ (of-object "GtkAssistant")
+ (prop-type "GParamString")
+ (docs "The title of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property role
+ (of-object "GtkAssistant")
+ (prop-type "GParamString")
+ (docs "Unique identifier for the window to be used when restoring a session")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property startup-id
+ (of-object "GtkAssistant")
+ (prop-type "GParamString")
+ (docs "Unique startup identifier for the window used by startup-notification")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-shrink
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window has no mimimum size. Setting this to TRUE is 99% of the time a bad idea")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-grow
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can expand the window beyond its minimum size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resizable
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can resize the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property modal
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window is modal (other windows are not usable while this one is up)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property window-position
+ (of-object "GtkAssistant")
+ (prop-type "GParamEnum")
+ (docs "The initial position of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-width
+ (of-object "GtkAssistant")
+ (prop-type "GParamInt")
+ (docs "The default width of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-height
+ (of-object "GtkAssistant")
+ (prop-type "GParamInt")
+ (docs "The default height of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property destroy-with-parent
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "If this window should be destroyed when the parent is destroyed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon
+ (of-object "GtkAssistant")
+ (prop-type "GParamObject")
+ (docs "Icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkAssistant")
+ (prop-type "GParamString")
+ (docs "Name of the themed icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property screen
+ (of-object "GtkAssistant")
+ (prop-type "GParamObject")
+ (docs "The screen where this window will be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type-hint
+ (of-object "GtkAssistant")
+ (prop-type "GParamEnum")
+ (docs "Hint to help the desktop environment understand what kind of window this is and how to treat it.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-taskbar-hint
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the task bar.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-pager-hint
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the pager.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property urgency-hint
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should be brought to the user's attention.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accept-focus
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property focus-on-map
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus when mapped.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property decorated
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window should be decorated by the window manager")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property deletable
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window frame should have a close button")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gravity
+ (of-object "GtkAssistant")
+ (prop-type "GParamEnum")
+ (docs "The window gravity of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property transient-for
+ (of-object "GtkAssistant")
+ (prop-type "GParamObject")
+ (docs "The transient parent of the dialog")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property opacity
+ (of-object "GtkAssistant")
+ (prop-type "GParamDouble")
+ (docs "The opacity of the window, from 0 to 1")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-active
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toplevel is the current active window")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property has-toplevel-focus
+ (of-object "GtkAssistant")
+ (prop-type "GParamBoolean")
+ (docs "Whether the input focus is within this GtkWindow")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+;; From GtkBin
+
+(define-property user-data
+ (of-object "GtkBin")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkBin")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkBin")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkBin")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkBin")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkBin")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkBin")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkBin")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkBin")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkBin")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkBin")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkBin")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkBin")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkBin")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkBin")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkBin")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkBin")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkBin")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkBin")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkBin")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkBin")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkBin")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkBin")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkBin")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkBin")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkBox
+
+(define-property user-data
+ (of-object "GtkBox")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkBox")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkBox")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkBox")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkBox")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkBox")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkBox")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkBox")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkBox")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkBox")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkBox")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkBox")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkBox")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkBox")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property spacing
+ (of-object "GtkBox")
+ (prop-type "GParamInt")
+ (docs "The amount of space between children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property homogeneous
+ (of-object "GtkBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the children should all be the same size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkButton
+
+(define-signal clicked
+ (of-object "GtkButton")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal activate
+ (of-object "GtkButton")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal pressed
+ (of-object "GtkButton")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal released
+ (of-object "GtkButton")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal enter
+ (of-object "GtkButton")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal leave
+ (of-object "GtkButton")
+ (return-type "void")
+ (when "first")
+)
+
+(define-property user-data
+ (of-object "GtkButton")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkButton")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkButton")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkButton")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkButton")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkButton")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkButton")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkButton")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkButton")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkButton")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkButton")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkButton")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label
+ (of-object "GtkButton")
+ (prop-type "GParamString")
+ (docs "Text of the label widget inside the button, if the button contains a label widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property image
+ (of-object "GtkButton")
+ (prop-type "GParamObject")
+ (docs "Child widget to appear next to the button text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property relief
+ (of-object "GtkButton")
+ (prop-type "GParamEnum")
+ (docs "The border relief style")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-underline
+ (of-object "GtkButton")
+ (prop-type "GParamBoolean")
+ (docs "If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-stock
+ (of-object "GtkButton")
+ (prop-type "GParamBoolean")
+ (docs "If set, the label is used to pick a stock item instead of being displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property focus-on-click
+ (of-object "GtkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the button grabs focus when it is clicked with the mouse")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkButton")
+ (prop-type "GParamFloat")
+ (docs "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkButton")
+ (prop-type "GParamFloat")
+ (docs "Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property image-position
+ (of-object "GtkButton")
+ (prop-type "GParamEnum")
+ (docs "The position of the image relative to the text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkButtonBox
+
+(define-property user-data
+ (of-object "GtkButtonBox")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkButtonBox")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkButtonBox")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkButtonBox")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkButtonBox")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkButtonBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkButtonBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkButtonBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkButtonBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkButtonBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkButtonBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkButtonBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkButtonBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkButtonBox")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkButtonBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkButtonBox")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkButtonBox")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkButtonBox")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkButtonBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkButtonBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkButtonBox")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkButtonBox")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkButtonBox")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkButtonBox")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkButtonBox")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property spacing
+ (of-object "GtkButtonBox")
+ (prop-type "GParamInt")
+ (docs "The amount of space between children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property homogeneous
+ (of-object "GtkButtonBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the children should all be the same size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property layout-style
+ (of-object "GtkButtonBox")
+ (prop-type "GParamEnum")
+ (docs "How to layout the buttons in the box. Possible values are default, spread, edge, start and end")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkCalendar
+
+(define-signal month-changed
+ (of-object "GtkCalendar")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal day-selected
+ (of-object "GtkCalendar")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal day-selected-double-click
+ (of-object "GtkCalendar")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal prev-month
+ (of-object "GtkCalendar")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal next-month
+ (of-object "GtkCalendar")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal prev-year
+ (of-object "GtkCalendar")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal next-year
+ (of-object "GtkCalendar")
+ (return-type "void")
+ (when "first")
+)
+
+(define-property user-data
+ (of-object "GtkCalendar")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkCalendar")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkCalendar")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkCalendar")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkCalendar")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkCalendar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkCalendar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkCalendar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkCalendar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkCalendar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkCalendar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkCalendar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkCalendar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkCalendar")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkCalendar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkCalendar")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkCalendar")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkCalendar")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkCalendar")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkCalendar")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkCalendar")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkCalendar")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property year
+ (of-object "GtkCalendar")
+ (prop-type "GParamInt")
+ (docs "The selected year")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property month
+ (of-object "GtkCalendar")
+ (prop-type "GParamInt")
+ (docs "The selected month (as a number between 0 and 11)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property day
+ (of-object "GtkCalendar")
+ (prop-type "GParamInt")
+ (docs "The selected day (as a number between 1 and 31, or 0 to unselect the currently selected day)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-heading
+ (of-object "GtkCalendar")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, a heading is displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-day-names
+ (of-object "GtkCalendar")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, day names are displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-month-change
+ (of-object "GtkCalendar")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the selected month cannot be changed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-week-numbers
+ (of-object "GtkCalendar")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, week numbers are displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkCheckButton
+
+(define-property user-data
+ (of-object "GtkCheckButton")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkCheckButton")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkCheckButton")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkCheckButton")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkCheckButton")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkCheckButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkCheckButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkCheckButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkCheckButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkCheckButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkCheckButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkCheckButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkCheckButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkCheckButton")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkCheckButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkCheckButton")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkCheckButton")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkCheckButton")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkCheckButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkCheckButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkCheckButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkCheckButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkCheckButton")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkCheckButton")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkCheckButton")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label
+ (of-object "GtkCheckButton")
+ (prop-type "GParamString")
+ (docs "Text of the label widget inside the button, if the button contains a label widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property image
+ (of-object "GtkCheckButton")
+ (prop-type "GParamObject")
+ (docs "Child widget to appear next to the button text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property relief
+ (of-object "GtkCheckButton")
+ (prop-type "GParamEnum")
+ (docs "The border relief style")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-underline
+ (of-object "GtkCheckButton")
+ (prop-type "GParamBoolean")
+ (docs "If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-stock
+ (of-object "GtkCheckButton")
+ (prop-type "GParamBoolean")
+ (docs "If set, the label is used to pick a stock item instead of being displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property focus-on-click
+ (of-object "GtkCheckButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the button grabs focus when it is clicked with the mouse")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkCheckButton")
+ (prop-type "GParamFloat")
+ (docs "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkCheckButton")
+ (prop-type "GParamFloat")
+ (docs "Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property image-position
+ (of-object "GtkCheckButton")
+ (prop-type "GParamEnum")
+ (docs "The position of the image relative to the text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property active
+ (of-object "GtkCheckButton")
+ (prop-type "GParamBoolean")
+ (docs "If the toggle button should be pressed in or not")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property inconsistent
+ (of-object "GtkCheckButton")
+ (prop-type "GParamBoolean")
+ (docs "If the toggle button is in an in between state")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property draw-indicator
+ (of-object "GtkCheckButton")
+ (prop-type "GParamBoolean")
+ (docs "If the toggle part of the button is displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkCheckMenuItem
+
+(define-signal toggled
+ (of-object "GtkCheckMenuItem")
+ (return-type "void")
+ (when "first")
+)
+
+(define-property user-data
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property submenu
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamObject")
+ (docs "The submenu attached to the menu item, or NULL if it has none")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property active
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the menu item is checked")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property inconsistent
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether to display an inconsistent state")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property draw-as-radio
+ (of-object "GtkCheckMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the menu item looks like a radio menu item")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkCList
+
+(define-signal set-scroll-adjustments
+ (of-object "GtkCList")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkAdjustment*" "p0")
+ '("GtkAdjustment*" "p1")
+ )
+)
+
+(define-signal select-all
+ (of-object "GtkCList")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal unselect-all
+ (of-object "GtkCList")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal toggle-focus-row
+ (of-object "GtkCList")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal undo-selection
+ (of-object "GtkCList")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal start-selection
+ (of-object "GtkCList")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal end-selection
+ (of-object "GtkCList")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal toggle-add-mode
+ (of-object "GtkCList")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal extend-selection
+ (of-object "GtkCList")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkScrollType" "p0")
+ '("gfloat" "p1")
+ '("gboolean" "p2")
+ )
+)
+
+(define-signal scroll-vertical
+ (of-object "GtkCList")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkScrollType" "p0")
+ '("gfloat" "p1")
+ )
+)
+
+(define-signal scroll-horizontal
+ (of-object "GtkCList")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkScrollType" "p0")
+ '("gfloat" "p1")
+ )
+)
+
+(define-signal select-row
+ (of-object "GtkCList")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("gint" "p0")
+ '("gint" "p1")
+ '("GdkEvent*" "p2")
+ )
+)
+
+(define-signal unselect-row
+ (of-object "GtkCList")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("gint" "p0")
+ '("gint" "p1")
+ '("GdkEvent*" "p2")
+ )
+)
+
+(define-signal row-move
+ (of-object "GtkCList")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ '("gint" "p1")
+ )
+)
+
+(define-signal click-column
+ (of-object "GtkCList")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("gint" "p0")
+ )
+)
+
+(define-signal resize-column
+ (of-object "GtkCList")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ '("gint" "p1")
+ )
+)
+
+(define-signal abort-column-resize
+ (of-object "GtkCList")
+ (return-type "void")
+ (when "last")
+)
+
+(define-property user-data
+ (of-object "GtkCList")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkCList")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkCList")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkCList")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkCList")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkCList")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkCList")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkCList")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkCList")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkCList")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkCList")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkCList")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkCList")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkCList")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkCList")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkCList")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkCList")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkCList")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkCList")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkCList")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkCList")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkCList")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkCList")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkCList")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkCList")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property n-columns
+ (of-object "GtkCList")
+ (prop-type "GParamUInt")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property shadow-type
+ (of-object "GtkCList")
+ (prop-type "GParamEnum")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property selection-mode
+ (of-object "GtkCList")
+ (prop-type "GParamEnum")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property row-height
+ (of-object "GtkCList")
+ (prop-type "GParamUInt")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property titles-active
+ (of-object "GtkCList")
+ (prop-type "GParamBoolean")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property reorderable
+ (of-object "GtkCList")
+ (prop-type "GParamBoolean")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-drag-icons
+ (of-object "GtkCList")
+ (prop-type "GParamBoolean")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sort-type
+ (of-object "GtkCList")
+ (prop-type "GParamEnum")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkCellLayout
+
+;; From GtkCellRenderer
+
+(define-signal editing-canceled
+ (of-object "GtkCellRenderer")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal editing-started
+ (of-object "GtkCellRenderer")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkCellEditable*" "p0")
+ '("const-gchar*" "p1")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkCellRenderer")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property mode
+ (of-object "GtkCellRenderer")
+ (prop-type "GParamEnum")
+ (docs "Editable mode of the CellRenderer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkCellRenderer")
+ (prop-type "GParamBoolean")
+ (docs "Display the cell")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkCellRenderer")
+ (prop-type "GParamBoolean")
+ (docs "Display the cell sensitive")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkCellRenderer")
+ (prop-type "GParamFloat")
+ (docs "The x-align")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkCellRenderer")
+ (prop-type "GParamFloat")
+ (docs "The y-align")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xpad
+ (of-object "GtkCellRenderer")
+ (prop-type "GParamUInt")
+ (docs "The xpad")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ypad
+ (of-object "GtkCellRenderer")
+ (prop-type "GParamUInt")
+ (docs "The ypad")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width
+ (of-object "GtkCellRenderer")
+ (prop-type "GParamInt")
+ (docs "The fixed width")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height
+ (of-object "GtkCellRenderer")
+ (prop-type "GParamInt")
+ (docs "The fixed height")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-expander
+ (of-object "GtkCellRenderer")
+ (prop-type "GParamBoolean")
+ (docs "Row has children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-expanded
+ (of-object "GtkCellRenderer")
+ (prop-type "GParamBoolean")
+ (docs "Row is an expander row, and is expanded")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background
+ (of-object "GtkCellRenderer")
+ (prop-type "GParamString")
+ (docs "Cell background color as a string")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background-gdk
+ (of-object "GtkCellRenderer")
+ (prop-type "GParamBoxed")
+ (docs "Cell background color as a GdkColor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background-set
+ (of-object "GtkCellRenderer")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the cell background color")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkCellRendererAccel
+
+(define-signal accel-edited
+ (of-object "GtkCellRendererAccel")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("const-gchar*" "p0")
+ '("guint" "p1")
+ '("GdkModifierType" "p2")
+ '("guint" "p3")
+ )
+)
+
+(define-signal accel-cleared
+ (of-object "GtkCellRendererAccel")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("const-gchar*" "p0")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property mode
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamEnum")
+ (docs "Editable mode of the CellRenderer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Display the cell")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Display the cell sensitive")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamFloat")
+ (docs "The x-align")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamFloat")
+ (docs "The y-align")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xpad
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamUInt")
+ (docs "The xpad")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ypad
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamUInt")
+ (docs "The ypad")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamInt")
+ (docs "The fixed width")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamInt")
+ (docs "The fixed height")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-expander
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Row has children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-expanded
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Row is an expander row, and is expanded")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamString")
+ (docs "Cell background color as a string")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background-gdk
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoxed")
+ (docs "Cell background color as a GdkColor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background-set
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the cell background color")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property text
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamString")
+ (docs "Text to render")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property markup
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamString")
+ (docs "Marked up text to render")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property attributes
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoxed")
+ (docs "A list of style attributes to apply to the text of the renderer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property single-paragraph-mode
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Whether or not to keep all text in a single paragraph")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-chars
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamInt")
+ (docs "The desired width of the label, in characters")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property wrap-width
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamInt")
+ (docs "The width at which the text is wrapped")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property alignment
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamEnum")
+ (docs "How to align the lines")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property background
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamString")
+ (docs "Background color as a string")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property foreground
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamString")
+ (docs "Foreground color as a string")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property background-gdk
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoxed")
+ (docs "Background color as a GdkColor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property foreground-gdk
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoxed")
+ (docs "Foreground color as a GdkColor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property font
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamString")
+ (docs "Font description as a string, e.g. Sans Italic 12")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property font-desc
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoxed")
+ (docs "Font description as a PangoFontDescription struct")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property family
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamString")
+ (docs "Name of the font family, e.g. Sans, Helvetica, Times, Monospace")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamEnum")
+ (docs "Font style")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property variant
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamEnum")
+ (docs "Font variant")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property weight
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamInt")
+ (docs "Font weight")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property stretch
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamEnum")
+ (docs "Font stretch")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property size
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamInt")
+ (docs "Font size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property size-points
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamDouble")
+ (docs "Font size in points")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property scale
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamDouble")
+ (docs "Font scaling factor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property editable
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Whether the text can be modified by the user")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property strikethrough
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Whether to strike through the text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property underline
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamEnum")
+ (docs "Style of underline for this text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property rise
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamInt")
+ (docs "Offset of text above the baseline (below the baseline if rise is negative)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property language
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamString")
+ (docs "The language this text is in, as an ISO code. Pango can use this as a hint when rendering the text. If you don't understand this parameter, you probably don't need it")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ellipsize
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamEnum")
+ (docs "The preferred place to ellipsize the string, if the cell renderer does not have enough room to display the entire string")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property wrap-mode
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamEnum")
+ (docs "How to break the string into multiple lines, if the cell renderer does not have enough room to display the entire string")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property background-set
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the background color")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property foreground-set
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the foreground color")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property family-set
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font family")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property style-set
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font style")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property variant-set
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font variant")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property weight-set
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font weight")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property stretch-set
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font stretch")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property size-set
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property scale-set
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag scales the font size by a factor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property editable-set
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects text editability")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property strikethrough-set
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects strikethrough")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property underline-set
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects underlining")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property rise-set
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the rise")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property language-set
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the language the text is rendered as")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ellipsize-set
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the ellipsize mode")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property align-set
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the alignment mode")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accel-key
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamUInt")
+ (docs "The keyval of the accelerator")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accel-mods
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamFlags")
+ (docs "The modifier mask of the accelerator")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property keycode
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamUInt")
+ (docs "The hardware keycode of the accelerator")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accel-mode
+ (of-object "GtkCellRendererAccel")
+ (prop-type "GParamEnum")
+ (docs "The type of accelerators")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkCellRendererCombo
+
+(define-property user-data
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property mode
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamEnum")
+ (docs "Editable mode of the CellRenderer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Display the cell")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Display the cell sensitive")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamFloat")
+ (docs "The x-align")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamFloat")
+ (docs "The y-align")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xpad
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamUInt")
+ (docs "The xpad")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ypad
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamUInt")
+ (docs "The ypad")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamInt")
+ (docs "The fixed width")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamInt")
+ (docs "The fixed height")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-expander
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Row has children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-expanded
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Row is an expander row, and is expanded")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamString")
+ (docs "Cell background color as a string")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background-gdk
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoxed")
+ (docs "Cell background color as a GdkColor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background-set
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the cell background color")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property text
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamString")
+ (docs "Text to render")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property markup
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamString")
+ (docs "Marked up text to render")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property attributes
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoxed")
+ (docs "A list of style attributes to apply to the text of the renderer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property single-paragraph-mode
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether or not to keep all text in a single paragraph")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-chars
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamInt")
+ (docs "The desired width of the label, in characters")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property wrap-width
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamInt")
+ (docs "The width at which the text is wrapped")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property alignment
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamEnum")
+ (docs "How to align the lines")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property background
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamString")
+ (docs "Background color as a string")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property foreground
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamString")
+ (docs "Foreground color as a string")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property background-gdk
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoxed")
+ (docs "Background color as a GdkColor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property foreground-gdk
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoxed")
+ (docs "Foreground color as a GdkColor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property font
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamString")
+ (docs "Font description as a string, e.g. Sans Italic 12")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property font-desc
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoxed")
+ (docs "Font description as a PangoFontDescription struct")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property family
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamString")
+ (docs "Name of the font family, e.g. Sans, Helvetica, Times, Monospace")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamEnum")
+ (docs "Font style")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property variant
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamEnum")
+ (docs "Font variant")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property weight
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamInt")
+ (docs "Font weight")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property stretch
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamEnum")
+ (docs "Font stretch")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property size
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamInt")
+ (docs "Font size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property size-points
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamDouble")
+ (docs "Font size in points")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property scale
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamDouble")
+ (docs "Font scaling factor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property editable
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether the text can be modified by the user")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property strikethrough
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether to strike through the text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property underline
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamEnum")
+ (docs "Style of underline for this text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property rise
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamInt")
+ (docs "Offset of text above the baseline (below the baseline if rise is negative)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property language
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamString")
+ (docs "The language this text is in, as an ISO code. Pango can use this as a hint when rendering the text. If you don't understand this parameter, you probably don't need it")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ellipsize
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamEnum")
+ (docs "The preferred place to ellipsize the string, if the cell renderer does not have enough room to display the entire string")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property wrap-mode
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamEnum")
+ (docs "How to break the string into multiple lines, if the cell renderer does not have enough room to display the entire string")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property background-set
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the background color")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property foreground-set
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the foreground color")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property family-set
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font family")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property style-set
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font style")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property variant-set
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font variant")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property weight-set
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font weight")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property stretch-set
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font stretch")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property size-set
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property scale-set
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag scales the font size by a factor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property editable-set
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects text editability")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property strikethrough-set
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects strikethrough")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property underline-set
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects underlining")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property rise-set
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the rise")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property language-set
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the language the text is rendered as")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ellipsize-set
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the ellipsize mode")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property align-set
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the alignment mode")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property model
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamObject")
+ (docs "The model containing the possible values for the combo box")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property text-column
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamInt")
+ (docs "A column in the data source model to get the strings from")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-entry
+ (of-object "GtkCellRendererCombo")
+ (prop-type "GParamBoolean")
+ (docs "If FALSE, don't allow to enter strings other than the chosen ones")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkCellRendererProgress
+
+(define-property user-data
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property mode
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamEnum")
+ (docs "Editable mode of the CellRenderer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamBoolean")
+ (docs "Display the cell")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamBoolean")
+ (docs "Display the cell sensitive")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamFloat")
+ (docs "The x-align")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamFloat")
+ (docs "The y-align")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xpad
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamUInt")
+ (docs "The xpad")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ypad
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamUInt")
+ (docs "The ypad")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamInt")
+ (docs "The fixed width")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamInt")
+ (docs "The fixed height")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-expander
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamBoolean")
+ (docs "Row has children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-expanded
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamBoolean")
+ (docs "Row is an expander row, and is expanded")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamString")
+ (docs "Cell background color as a string")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background-gdk
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamBoxed")
+ (docs "Cell background color as a GdkColor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background-set
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the cell background color")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property value
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamInt")
+ (docs "Value of the progress bar")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property text
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamString")
+ (docs "Text on the progress bar")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pulse
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamInt")
+ (docs "Set this to positive values to indicate that some progress is made, but you don't know how much.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property text-xalign
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamFloat")
+ (docs "The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property text-yalign
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamFloat")
+ (docs "The vertical text alignment, from 0 (top) to 1 (bottom).")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property orientation
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamEnum")
+ (docs "Orientation and growth direction of the progress bar")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkCellRendererText
+
+(define-signal edited
+ (of-object "GtkCellRendererText")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("const-gchar*" "p0")
+ '("const-gchar*" "p1")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property mode
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamEnum")
+ (docs "Editable mode of the CellRenderer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Display the cell")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Display the cell sensitive")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamFloat")
+ (docs "The x-align")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamFloat")
+ (docs "The y-align")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xpad
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamUInt")
+ (docs "The xpad")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ypad
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamUInt")
+ (docs "The ypad")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamInt")
+ (docs "The fixed width")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamInt")
+ (docs "The fixed height")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-expander
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Row has children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-expanded
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Row is an expander row, and is expanded")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamString")
+ (docs "Cell background color as a string")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background-gdk
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoxed")
+ (docs "Cell background color as a GdkColor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background-set
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the cell background color")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property text
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamString")
+ (docs "Text to render")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property markup
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamString")
+ (docs "Marked up text to render")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property attributes
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoxed")
+ (docs "A list of style attributes to apply to the text of the renderer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property single-paragraph-mode
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Whether or not to keep all text in a single paragraph")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-chars
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamInt")
+ (docs "The desired width of the label, in characters")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property wrap-width
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamInt")
+ (docs "The width at which the text is wrapped")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property alignment
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamEnum")
+ (docs "How to align the lines")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property background
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamString")
+ (docs "Background color as a string")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property foreground
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamString")
+ (docs "Foreground color as a string")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property background-gdk
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoxed")
+ (docs "Background color as a GdkColor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property foreground-gdk
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoxed")
+ (docs "Foreground color as a GdkColor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property font
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamString")
+ (docs "Font description as a string, e.g. Sans Italic 12")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property font-desc
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoxed")
+ (docs "Font description as a PangoFontDescription struct")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property family
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamString")
+ (docs "Name of the font family, e.g. Sans, Helvetica, Times, Monospace")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamEnum")
+ (docs "Font style")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property variant
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamEnum")
+ (docs "Font variant")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property weight
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamInt")
+ (docs "Font weight")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property stretch
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamEnum")
+ (docs "Font stretch")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property size
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamInt")
+ (docs "Font size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property size-points
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamDouble")
+ (docs "Font size in points")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property scale
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamDouble")
+ (docs "Font scaling factor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property editable
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Whether the text can be modified by the user")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property strikethrough
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Whether to strike through the text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property underline
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamEnum")
+ (docs "Style of underline for this text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property rise
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamInt")
+ (docs "Offset of text above the baseline (below the baseline if rise is negative)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property language
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamString")
+ (docs "The language this text is in, as an ISO code. Pango can use this as a hint when rendering the text. If you don't understand this parameter, you probably don't need it")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ellipsize
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamEnum")
+ (docs "The preferred place to ellipsize the string, if the cell renderer does not have enough room to display the entire string")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property wrap-mode
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamEnum")
+ (docs "How to break the string into multiple lines, if the cell renderer does not have enough room to display the entire string")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property background-set
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the background color")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property foreground-set
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the foreground color")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property family-set
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font family")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property style-set
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font style")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property variant-set
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font variant")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property weight-set
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font weight")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property stretch-set
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font stretch")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property size-set
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property scale-set
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag scales the font size by a factor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property editable-set
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects text editability")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property strikethrough-set
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects strikethrough")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property underline-set
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects underlining")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property rise-set
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the rise")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property language-set
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the language the text is rendered as")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ellipsize-set
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the ellipsize mode")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property align-set
+ (of-object "GtkCellRendererText")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the alignment mode")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkCellRendererToggle
+
+(define-signal toggled
+ (of-object "GtkCellRendererToggle")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("const-gchar*" "p0")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkCellRendererToggle")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property mode
+ (of-object "GtkCellRendererToggle")
+ (prop-type "GParamEnum")
+ (docs "Editable mode of the CellRenderer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkCellRendererToggle")
+ (prop-type "GParamBoolean")
+ (docs "Display the cell")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkCellRendererToggle")
+ (prop-type "GParamBoolean")
+ (docs "Display the cell sensitive")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkCellRendererToggle")
+ (prop-type "GParamFloat")
+ (docs "The x-align")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkCellRendererToggle")
+ (prop-type "GParamFloat")
+ (docs "The y-align")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xpad
+ (of-object "GtkCellRendererToggle")
+ (prop-type "GParamUInt")
+ (docs "The xpad")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ypad
+ (of-object "GtkCellRendererToggle")
+ (prop-type "GParamUInt")
+ (docs "The ypad")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width
+ (of-object "GtkCellRendererToggle")
+ (prop-type "GParamInt")
+ (docs "The fixed width")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height
+ (of-object "GtkCellRendererToggle")
+ (prop-type "GParamInt")
+ (docs "The fixed height")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-expander
+ (of-object "GtkCellRendererToggle")
+ (prop-type "GParamBoolean")
+ (docs "Row has children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-expanded
+ (of-object "GtkCellRendererToggle")
+ (prop-type "GParamBoolean")
+ (docs "Row is an expander row, and is expanded")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background
+ (of-object "GtkCellRendererToggle")
+ (prop-type "GParamString")
+ (docs "Cell background color as a string")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background-gdk
+ (of-object "GtkCellRendererToggle")
+ (prop-type "GParamBoxed")
+ (docs "Cell background color as a GdkColor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background-set
+ (of-object "GtkCellRendererToggle")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the cell background color")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property activatable
+ (of-object "GtkCellRendererToggle")
+ (prop-type "GParamBoolean")
+ (docs "The toggle button can be activated")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property active
+ (of-object "GtkCellRendererToggle")
+ (prop-type "GParamBoolean")
+ (docs "The toggle state of the button")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property radio
+ (of-object "GtkCellRendererToggle")
+ (prop-type "GParamBoolean")
+ (docs "Draw the toggle button as a radio button")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property inconsistent
+ (of-object "GtkCellRendererToggle")
+ (prop-type "GParamBoolean")
+ (docs "The inconsistent state of the button")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property indicator-size
+ (of-object "GtkCellRendererToggle")
+ (prop-type "GParamInt")
+ (docs "Size of check or radio indicator")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkCellRendererPixbuf
+
+(define-property user-data
+ (of-object "GtkCellRendererPixbuf")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property mode
+ (of-object "GtkCellRendererPixbuf")
+ (prop-type "GParamEnum")
+ (docs "Editable mode of the CellRenderer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkCellRendererPixbuf")
+ (prop-type "GParamBoolean")
+ (docs "Display the cell")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkCellRendererPixbuf")
+ (prop-type "GParamBoolean")
+ (docs "Display the cell sensitive")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkCellRendererPixbuf")
+ (prop-type "GParamFloat")
+ (docs "The x-align")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkCellRendererPixbuf")
+ (prop-type "GParamFloat")
+ (docs "The y-align")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xpad
+ (of-object "GtkCellRendererPixbuf")
+ (prop-type "GParamUInt")
+ (docs "The xpad")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ypad
+ (of-object "GtkCellRendererPixbuf")
+ (prop-type "GParamUInt")
+ (docs "The ypad")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width
+ (of-object "GtkCellRendererPixbuf")
+ (prop-type "GParamInt")
+ (docs "The fixed width")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height
+ (of-object "GtkCellRendererPixbuf")
+ (prop-type "GParamInt")
+ (docs "The fixed height")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-expander
+ (of-object "GtkCellRendererPixbuf")
+ (prop-type "GParamBoolean")
+ (docs "Row has children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-expanded
+ (of-object "GtkCellRendererPixbuf")
+ (prop-type "GParamBoolean")
+ (docs "Row is an expander row, and is expanded")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background
+ (of-object "GtkCellRendererPixbuf")
+ (prop-type "GParamString")
+ (docs "Cell background color as a string")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background-gdk
+ (of-object "GtkCellRendererPixbuf")
+ (prop-type "GParamBoxed")
+ (docs "Cell background color as a GdkColor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background-set
+ (of-object "GtkCellRendererPixbuf")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the cell background color")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pixbuf
+ (of-object "GtkCellRendererPixbuf")
+ (prop-type "GParamObject")
+ (docs "The pixbuf to render")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pixbuf-expander-open
+ (of-object "GtkCellRendererPixbuf")
+ (prop-type "GParamObject")
+ (docs "Pixbuf for open expander")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pixbuf-expander-closed
+ (of-object "GtkCellRendererPixbuf")
+ (prop-type "GParamObject")
+ (docs "Pixbuf for closed expander")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property stock-id
+ (of-object "GtkCellRendererPixbuf")
+ (prop-type "GParamString")
+ (docs "The stock ID of the stock icon to render")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property stock-size
+ (of-object "GtkCellRendererPixbuf")
+ (prop-type "GParamUInt")
+ (docs "The GtkIconSize value that specifies the size of the rendered icon")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property stock-detail
+ (of-object "GtkCellRendererPixbuf")
+ (prop-type "GParamString")
+ (docs "Render detail to pass to the theme engine")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property follow-state
+ (of-object "GtkCellRendererPixbuf")
+ (prop-type "GParamBoolean")
+ (docs "Whether the rendered pixbuf should be colorized according to the state")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkCellRendererPixbuf")
+ (prop-type "GParamString")
+ (docs "The name of the icon from the icon theme")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkCellRendererProgress
+
+(define-property user-data
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property mode
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamEnum")
+ (docs "Editable mode of the CellRenderer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamBoolean")
+ (docs "Display the cell")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamBoolean")
+ (docs "Display the cell sensitive")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamFloat")
+ (docs "The x-align")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamFloat")
+ (docs "The y-align")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xpad
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamUInt")
+ (docs "The xpad")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ypad
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamUInt")
+ (docs "The ypad")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamInt")
+ (docs "The fixed width")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamInt")
+ (docs "The fixed height")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-expander
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamBoolean")
+ (docs "Row has children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-expanded
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamBoolean")
+ (docs "Row is an expander row, and is expanded")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamString")
+ (docs "Cell background color as a string")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background-gdk
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamBoxed")
+ (docs "Cell background color as a GdkColor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background-set
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the cell background color")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property value
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamInt")
+ (docs "Value of the progress bar")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property text
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamString")
+ (docs "Text on the progress bar")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pulse
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamInt")
+ (docs "Set this to positive values to indicate that some progress is made, but you don't know how much.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property text-xalign
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamFloat")
+ (docs "The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property text-yalign
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamFloat")
+ (docs "The vertical text alignment, from 0 (top) to 1 (bottom).")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property orientation
+ (of-object "GtkCellRendererProgress")
+ (prop-type "GParamEnum")
+ (docs "Orientation and growth direction of the progress bar")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkCellRendererSpin
+
+(define-property user-data
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property mode
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamEnum")
+ (docs "Editable mode of the CellRenderer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Display the cell")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Display the cell sensitive")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamFloat")
+ (docs "The x-align")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamFloat")
+ (docs "The y-align")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xpad
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamUInt")
+ (docs "The xpad")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ypad
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamUInt")
+ (docs "The ypad")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamInt")
+ (docs "The fixed width")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamInt")
+ (docs "The fixed height")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-expander
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Row has children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-expanded
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Row is an expander row, and is expanded")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamString")
+ (docs "Cell background color as a string")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background-gdk
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoxed")
+ (docs "Cell background color as a GdkColor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cell-background-set
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the cell background color")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property text
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamString")
+ (docs "Text to render")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property markup
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamString")
+ (docs "Marked up text to render")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property attributes
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoxed")
+ (docs "A list of style attributes to apply to the text of the renderer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property single-paragraph-mode
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Whether or not to keep all text in a single paragraph")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-chars
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamInt")
+ (docs "The desired width of the label, in characters")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property wrap-width
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamInt")
+ (docs "The width at which the text is wrapped")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property alignment
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamEnum")
+ (docs "How to align the lines")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property background
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamString")
+ (docs "Background color as a string")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property foreground
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamString")
+ (docs "Foreground color as a string")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property background-gdk
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoxed")
+ (docs "Background color as a GdkColor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property foreground-gdk
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoxed")
+ (docs "Foreground color as a GdkColor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property font
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamString")
+ (docs "Font description as a string, e.g. Sans Italic 12")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property font-desc
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoxed")
+ (docs "Font description as a PangoFontDescription struct")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property family
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamString")
+ (docs "Name of the font family, e.g. Sans, Helvetica, Times, Monospace")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamEnum")
+ (docs "Font style")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property variant
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamEnum")
+ (docs "Font variant")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property weight
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamInt")
+ (docs "Font weight")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property stretch
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamEnum")
+ (docs "Font stretch")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property size
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamInt")
+ (docs "Font size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property size-points
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamDouble")
+ (docs "Font size in points")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property scale
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamDouble")
+ (docs "Font scaling factor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property editable
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Whether the text can be modified by the user")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property strikethrough
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Whether to strike through the text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property underline
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamEnum")
+ (docs "Style of underline for this text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property rise
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamInt")
+ (docs "Offset of text above the baseline (below the baseline if rise is negative)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property language
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamString")
+ (docs "The language this text is in, as an ISO code. Pango can use this as a hint when rendering the text. If you don't understand this parameter, you probably don't need it")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ellipsize
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamEnum")
+ (docs "The preferred place to ellipsize the string, if the cell renderer does not have enough room to display the entire string")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property wrap-mode
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamEnum")
+ (docs "How to break the string into multiple lines, if the cell renderer does not have enough room to display the entire string")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property background-set
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the background color")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property foreground-set
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the foreground color")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property family-set
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font family")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property style-set
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font style")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property variant-set
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font variant")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property weight-set
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font weight")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property stretch-set
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font stretch")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property size-set
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property scale-set
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag scales the font size by a factor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property editable-set
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects text editability")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property strikethrough-set
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects strikethrough")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property underline-set
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects underlining")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property rise-set
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the rise")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property language-set
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the language the text is rendered as")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ellipsize-set
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the ellipsize mode")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property align-set
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the alignment mode")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property adjustment
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamObject")
+ (docs "The adjustment that holds the value of the spinbutton.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property climb-rate
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamDouble")
+ (docs "The acceleration rate when you hold down a button")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property digits
+ (of-object "GtkCellRendererSpin")
+ (prop-type "GParamUInt")
+ (docs "The number of decimal places to display")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkClipboard
+
+(define-signal owner-change
+ (of-object "GtkClipboard")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GdkEventOwnerChange*" "p0")
+ )
+)
+
+;; From GtkColorButton
+
+(define-signal color-set
+ (of-object "GtkColorButton")
+ (return-type "void")
+ (when "first")
+)
+
+(define-property user-data
+ (of-object "GtkColorButton")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkColorButton")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkColorButton")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkColorButton")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkColorButton")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkColorButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkColorButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkColorButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkColorButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkColorButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkColorButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkColorButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkColorButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkColorButton")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkColorButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkColorButton")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkColorButton")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkColorButton")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkColorButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkColorButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkColorButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkColorButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkColorButton")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkColorButton")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkColorButton")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label
+ (of-object "GtkColorButton")
+ (prop-type "GParamString")
+ (docs "Text of the label widget inside the button, if the button contains a label widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property image
+ (of-object "GtkColorButton")
+ (prop-type "GParamObject")
+ (docs "Child widget to appear next to the button text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property relief
+ (of-object "GtkColorButton")
+ (prop-type "GParamEnum")
+ (docs "The border relief style")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-underline
+ (of-object "GtkColorButton")
+ (prop-type "GParamBoolean")
+ (docs "If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-stock
+ (of-object "GtkColorButton")
+ (prop-type "GParamBoolean")
+ (docs "If set, the label is used to pick a stock item instead of being displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property focus-on-click
+ (of-object "GtkColorButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the button grabs focus when it is clicked with the mouse")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkColorButton")
+ (prop-type "GParamFloat")
+ (docs "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkColorButton")
+ (prop-type "GParamFloat")
+ (docs "Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property image-position
+ (of-object "GtkColorButton")
+ (prop-type "GParamEnum")
+ (docs "The position of the image relative to the text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-alpha
+ (of-object "GtkColorButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether or not to give the color an alpha value")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property title
+ (of-object "GtkColorButton")
+ (prop-type "GParamString")
+ (docs "The title of the color selection dialog")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property color
+ (of-object "GtkColorButton")
+ (prop-type "GParamBoxed")
+ (docs "The selected color")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property alpha
+ (of-object "GtkColorButton")
+ (prop-type "GParamUInt")
+ (docs "The selected opacity value (0 fully transparent, 65535 fully opaque)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkColorSelection
+
+(define-signal color-changed
+ (of-object "GtkColorSelection")
+ (return-type "void")
+ (when "first")
+)
+
+(define-property user-data
+ (of-object "GtkColorSelection")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkColorSelection")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkColorSelection")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkColorSelection")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkColorSelection")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkColorSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkColorSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkColorSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkColorSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkColorSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkColorSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkColorSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkColorSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkColorSelection")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkColorSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkColorSelection")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkColorSelection")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkColorSelection")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkColorSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkColorSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkColorSelection")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkColorSelection")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkColorSelection")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkColorSelection")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkColorSelection")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property spacing
+ (of-object "GtkColorSelection")
+ (prop-type "GParamInt")
+ (docs "The amount of space between children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property homogeneous
+ (of-object "GtkColorSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the children should all be the same size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-palette
+ (of-object "GtkColorSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether a palette should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-opacity-control
+ (of-object "GtkColorSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the color selector should allow setting opacity")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property current-color
+ (of-object "GtkColorSelection")
+ (prop-type "GParamBoxed")
+ (docs "The current color")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property current-alpha
+ (of-object "GtkColorSelection")
+ (prop-type "GParamUInt")
+ (docs "The current opacity value (0 fully transparent, 65535 fully opaque)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkCombo
+
+(define-property user-data
+ (of-object "GtkCombo")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkCombo")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkCombo")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkCombo")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkCombo")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkCombo")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkCombo")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkCombo")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkCombo")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkCombo")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkCombo")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkCombo")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkCombo")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkCombo")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property spacing
+ (of-object "GtkCombo")
+ (prop-type "GParamInt")
+ (docs "The amount of space between children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property homogeneous
+ (of-object "GtkCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether the children should all be the same size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property enable-arrow-keys
+ (of-object "GtkCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether the arrow keys move through the list of items")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property enable-arrows-always
+ (of-object "GtkCombo")
+ (prop-type "GParamBoolean")
+ (docs "Obsolete property, ignored")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property case-sensitive
+ (of-object "GtkCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether list item matching is case sensitive")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-empty
+ (of-object "GtkCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether an empty value may be entered in this field")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property value-in-list
+ (of-object "GtkCombo")
+ (prop-type "GParamBoolean")
+ (docs "Whether entered values must already be present in the list")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkComboBox
+
+(define-signal changed
+ (of-object "GtkComboBox")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal move-active
+ (of-object "GtkComboBox")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkScrollType" "p0")
+ )
+)
+
+(define-signal popup
+ (of-object "GtkComboBox")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal popdown
+ (of-object "GtkComboBox")
+ (return-type "gboolean")
+ (when "last")
+)
+
+(define-property user-data
+ (of-object "GtkComboBox")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkComboBox")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkComboBox")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkComboBox")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkComboBox")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkComboBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkComboBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkComboBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkComboBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkComboBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkComboBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkComboBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkComboBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkComboBox")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkComboBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkComboBox")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkComboBox")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkComboBox")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkComboBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkComboBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkComboBox")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkComboBox")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkComboBox")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkComboBox")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkComboBox")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property model
+ (of-object "GtkComboBox")
+ (prop-type "GParamObject")
+ (docs "The model for the combo box")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property wrap-width
+ (of-object "GtkComboBox")
+ (prop-type "GParamInt")
+ (docs "Wrap width for laying out the items in a grid")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property row-span-column
+ (of-object "GtkComboBox")
+ (prop-type "GParamInt")
+ (docs "TreeModel column containing the row span values")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property column-span-column
+ (of-object "GtkComboBox")
+ (prop-type "GParamInt")
+ (docs "TreeModel column containing the column span values")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property active
+ (of-object "GtkComboBox")
+ (prop-type "GParamInt")
+ (docs "The item which is currently active")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property add-tearoffs
+ (of-object "GtkComboBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether dropdowns should have a tearoff menu item")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tearoff-title
+ (of-object "GtkComboBox")
+ (prop-type "GParamString")
+ (docs "A title that may be displayed by the window manager when the popup is torn-off")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-frame
+ (of-object "GtkComboBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the combo box draws a frame around the child")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property focus-on-click
+ (of-object "GtkComboBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the combo box grabs focus when it is clicked with the mouse")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property popup-shown
+ (of-object "GtkComboBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the combo's dropdown is shown")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+;; From GtkContainer
+
+(define-signal add
+ (of-object "GtkContainer")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkWidget*" "p0")
+ )
+)
+
+(define-signal remove
+ (of-object "GtkContainer")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkWidget*" "p0")
+ )
+)
+
+(define-signal check-resize
+ (of-object "GtkContainer")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal set-focus-child
+ (of-object "GtkContainer")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkWidget*" "p0")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkContainer")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkContainer")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkContainer")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkContainer")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkContainer")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkContainer")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkContainer")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkContainer")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkContainer")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkContainer")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkContainer")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkContainer")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkContainer")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkContainer")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkContainer")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkContainer")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkContainer")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkContainer")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkContainer")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkContainer")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkContainer")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkContainer")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkContainer")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkContainer")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkContainer")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkCTree
+
+(define-signal tree-select-row
+ (of-object "GtkCTree")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkCTreeNode" "p0")
+ '("gint" "p1")
+ )
+)
+
+(define-signal tree-unselect-row
+ (of-object "GtkCTree")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkCTreeNode" "p0")
+ '("gint" "p1")
+ )
+)
+
+(define-signal tree-expand
+ (of-object "GtkCTree")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkCTreeNode" "p0")
+ )
+)
+
+(define-signal tree-collapse
+ (of-object "GtkCTree")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkCTreeNode" "p0")
+ )
+)
+
+(define-signal tree-move
+ (of-object "GtkCTree")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkCTreeNode" "p0")
+ '("GtkCTreeNode" "p1")
+ '("GtkCTreeNode" "p2")
+ )
+)
+
+(define-signal change-focus-row-expansion
+ (of-object "GtkCTree")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkCTreeExpansionType" "p0")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkCTree")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkCTree")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkCTree")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkCTree")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkCTree")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkCTree")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkCTree")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkCTree")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkCTree")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkCTree")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkCTree")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkCTree")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkCTree")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkCTree")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkCTree")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkCTree")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkCTree")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkCTree")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkCTree")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkCTree")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkCTree")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkCTree")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkCTree")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkCTree")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkCTree")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property shadow-type
+ (of-object "GtkCTree")
+ (prop-type "GParamEnum")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property selection-mode
+ (of-object "GtkCTree")
+ (prop-type "GParamEnum")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property row-height
+ (of-object "GtkCTree")
+ (prop-type "GParamUInt")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property titles-active
+ (of-object "GtkCTree")
+ (prop-type "GParamBoolean")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property reorderable
+ (of-object "GtkCTree")
+ (prop-type "GParamBoolean")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-drag-icons
+ (of-object "GtkCTree")
+ (prop-type "GParamBoolean")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sort-type
+ (of-object "GtkCTree")
+ (prop-type "GParamEnum")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property n-columns
+ (of-object "GtkCTree")
+ (prop-type "GParamUInt")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property tree-column
+ (of-object "GtkCTree")
+ (prop-type "GParamUInt")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property indent
+ (of-object "GtkCTree")
+ (prop-type "GParamUInt")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property spacing
+ (of-object "GtkCTree")
+ (prop-type "GParamUInt")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-stub
+ (of-object "GtkCTree")
+ (prop-type "GParamBoolean")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property line-style
+ (of-object "GtkCTree")
+ (prop-type "GParamEnum")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property expander-style
+ (of-object "GtkCTree")
+ (prop-type "GParamEnum")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkCellView
+
+(define-property user-data
+ (of-object "GtkCellView")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkCellView")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkCellView")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkCellView")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkCellView")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkCellView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkCellView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkCellView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkCellView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkCellView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkCellView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkCellView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkCellView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkCellView")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkCellView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkCellView")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkCellView")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkCellView")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkCellView")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkCellView")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkCellView")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkCellView")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property background
+ (of-object "GtkCellView")
+ (prop-type "GParamString")
+ (docs "Background color as a string")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property background-gdk
+ (of-object "GtkCellView")
+ (prop-type "GParamBoxed")
+ (docs "Background color as a GdkColor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property background-set
+ (of-object "GtkCellView")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the background color")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property model
+ (of-object "GtkCellView")
+ (prop-type "GParamObject")
+ (docs "The model for cell view")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkCurve
+
+(define-signal curve-type-changed
+ (of-object "GtkCurve")
+ (return-type "void")
+ (when "first")
+)
+
+(define-property user-data
+ (of-object "GtkCurve")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkCurve")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkCurve")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkCurve")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkCurve")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkCurve")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkCurve")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkCurve")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkCurve")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkCurve")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkCurve")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkCurve")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkCurve")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkCurve")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkCurve")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkCurve")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkCurve")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkCurve")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkCurve")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkCurve")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkCurve")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkCurve")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property curve-type
+ (of-object "GtkCurve")
+ (prop-type "GParamEnum")
+ (docs "Is this curve linear, spline interpolated, or free-form")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property min-x
+ (of-object "GtkCurve")
+ (prop-type "GParamFloat")
+ (docs "Minimum possible value for X")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property max-x
+ (of-object "GtkCurve")
+ (prop-type "GParamFloat")
+ (docs "Maximum possible X value")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property min-y
+ (of-object "GtkCurve")
+ (prop-type "GParamFloat")
+ (docs "Minimum possible value for Y")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property max-y
+ (of-object "GtkCurve")
+ (prop-type "GParamFloat")
+ (docs "Maximum possible value for Y")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkDialog
+
+(define-signal response
+ (of-object "GtkDialog")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ )
+)
+
+(define-signal close
+ (of-object "GtkDialog")
+ (return-type "void")
+ (when "last")
+)
+
+(define-property user-data
+ (of-object "GtkDialog")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkDialog")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkDialog")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkDialog")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkDialog")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkDialog")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkDialog")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkDialog")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkDialog")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkDialog")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkDialog")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkDialog")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkDialog")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type
+ (of-object "GtkDialog")
+ (prop-type "GParamEnum")
+ (docs "The type of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property title
+ (of-object "GtkDialog")
+ (prop-type "GParamString")
+ (docs "The title of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property role
+ (of-object "GtkDialog")
+ (prop-type "GParamString")
+ (docs "Unique identifier for the window to be used when restoring a session")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property startup-id
+ (of-object "GtkDialog")
+ (prop-type "GParamString")
+ (docs "Unique startup identifier for the window used by startup-notification")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-shrink
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window has no mimimum size. Setting this to TRUE is 99% of the time a bad idea")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-grow
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can expand the window beyond its minimum size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resizable
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can resize the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property modal
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window is modal (other windows are not usable while this one is up)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property window-position
+ (of-object "GtkDialog")
+ (prop-type "GParamEnum")
+ (docs "The initial position of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-width
+ (of-object "GtkDialog")
+ (prop-type "GParamInt")
+ (docs "The default width of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-height
+ (of-object "GtkDialog")
+ (prop-type "GParamInt")
+ (docs "The default height of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property destroy-with-parent
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "If this window should be destroyed when the parent is destroyed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon
+ (of-object "GtkDialog")
+ (prop-type "GParamObject")
+ (docs "Icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkDialog")
+ (prop-type "GParamString")
+ (docs "Name of the themed icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property screen
+ (of-object "GtkDialog")
+ (prop-type "GParamObject")
+ (docs "The screen where this window will be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type-hint
+ (of-object "GtkDialog")
+ (prop-type "GParamEnum")
+ (docs "Hint to help the desktop environment understand what kind of window this is and how to treat it.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-taskbar-hint
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the task bar.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-pager-hint
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the pager.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property urgency-hint
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should be brought to the user's attention.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accept-focus
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property focus-on-map
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus when mapped.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property decorated
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window should be decorated by the window manager")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property deletable
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window frame should have a close button")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gravity
+ (of-object "GtkDialog")
+ (prop-type "GParamEnum")
+ (docs "The window gravity of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property transient-for
+ (of-object "GtkDialog")
+ (prop-type "GParamObject")
+ (docs "The transient parent of the dialog")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property opacity
+ (of-object "GtkDialog")
+ (prop-type "GParamDouble")
+ (docs "The opacity of the window, from 0 to 1")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-active
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toplevel is the current active window")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property has-toplevel-focus
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the input focus is within this GtkWindow")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property has-separator
+ (of-object "GtkDialog")
+ (prop-type "GParamBoolean")
+ (docs "The dialog has a separator bar above its buttons")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkDrawingArea
+
+(define-property user-data
+ (of-object "GtkDrawingArea")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkDrawingArea")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkDrawingArea")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkDrawingArea")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkDrawingArea")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkDrawingArea")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkDrawingArea")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkDrawingArea")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkDrawingArea")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkDrawingArea")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkDrawingArea")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkDrawingArea")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkDrawingArea")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkDrawingArea")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkDrawingArea")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkDrawingArea")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkDrawingArea")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkDrawingArea")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkDrawingArea")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkDrawingArea")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkDrawingArea")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkDrawingArea")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkEntry
+
+(define-signal move-cursor
+ (of-object "GtkEntry")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkMovementStep" "p0")
+ '("gint" "p1")
+ '("gboolean" "p2")
+ )
+)
+
+(define-signal activate
+ (of-object "GtkEntry")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal insert-at-cursor
+ (of-object "GtkEntry")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("const-gchar*" "p0")
+ )
+)
+
+(define-signal delete-from-cursor
+ (of-object "GtkEntry")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkDeleteType" "p0")
+ '("gint" "p1")
+ )
+)
+
+(define-signal backspace
+ (of-object "GtkEntry")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal cut-clipboard
+ (of-object "GtkEntry")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal copy-clipboard
+ (of-object "GtkEntry")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal paste-clipboard
+ (of-object "GtkEntry")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal toggle-overwrite
+ (of-object "GtkEntry")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal populate-popup
+ (of-object "GtkEntry")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkMenu*" "p0")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkEntry")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkEntry")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkEntry")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkEntry")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkEntry")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkEntry")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkEntry")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkEntry")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkEntry")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkEntry")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkEntry")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkEntry")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkEntry")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkEntry")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkEntry")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkEntry")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkEntry")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkEntry")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkEntry")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkEntry")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkEntry")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkEntry")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cursor-position
+ (of-object "GtkEntry")
+ (prop-type "GParamInt")
+ (docs "The current position of the insertion cursor in chars")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property selection-bound
+ (of-object "GtkEntry")
+ (prop-type "GParamInt")
+ (docs "The position of the opposite end of the selection from the cursor in chars")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property editable
+ (of-object "GtkEntry")
+ (prop-type "GParamBoolean")
+ (docs "Whether the entry contents can be edited")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property max-length
+ (of-object "GtkEntry")
+ (prop-type "GParamInt")
+ (docs "Maximum number of characters for this entry. Zero if no maximum")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visibility
+ (of-object "GtkEntry")
+ (prop-type "GParamBoolean")
+ (docs "FALSE displays the invisible char instead of the actual text (password mode)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-frame
+ (of-object "GtkEntry")
+ (prop-type "GParamBoolean")
+ (docs "FALSE removes outside bevel from entry")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property inner-border
+ (of-object "GtkEntry")
+ (prop-type "GParamBoxed")
+ (docs "Border between text and frame. Overrides the inner-border style property")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property invisible-char
+ (of-object "GtkEntry")
+ (prop-type "GParamUnichar")
+ (docs "The character to use when masking entry contents (in password mode)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property activates-default
+ (of-object "GtkEntry")
+ (prop-type "GParamBoolean")
+ (docs "Whether to activate the default widget (such as the default button in a dialog) when Enter is pressed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-chars
+ (of-object "GtkEntry")
+ (prop-type "GParamInt")
+ (docs "Number of characters to leave space for in the entry")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property scroll-offset
+ (of-object "GtkEntry")
+ (prop-type "GParamInt")
+ (docs "Number of pixels of the entry scrolled off the screen to the left")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property text
+ (of-object "GtkEntry")
+ (prop-type "GParamString")
+ (docs "The contents of the entry")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkEntry")
+ (prop-type "GParamFloat")
+ (docs "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property truncate-multiline
+ (of-object "GtkEntry")
+ (prop-type "GParamBoolean")
+ (docs "Whether to truncate multiline pastes to one line.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property shadow-type
+ (of-object "GtkEntry")
+ (prop-type "GParamEnum")
+ (docs "Which kind of shadow to draw around the entry when has-frame is set")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkEntryCompletion
+
+(define-signal insert-prefix
+ (of-object "GtkEntryCompletion")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("const-gchar*" "p0")
+ )
+)
+
+(define-signal match-selected
+ (of-object "GtkEntryCompletion")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GtkTreeModel*" "p0")
+ '("GtkTreeIter*" "p1")
+ )
+)
+
+(define-signal cursor-on-match
+ (of-object "GtkEntryCompletion")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GtkTreeModel*" "p0")
+ '("GtkTreeIter*" "p1")
+ )
+)
+
+(define-signal action-activated
+ (of-object "GtkEntryCompletion")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ )
+)
+
+(define-property model
+ (of-object "GtkEntryCompletion")
+ (prop-type "GParamObject")
+ (docs "The model to find matches in")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property minimum-key-length
+ (of-object "GtkEntryCompletion")
+ (prop-type "GParamInt")
+ (docs "Minimum length of the search key in order to look up matches")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property text-column
+ (of-object "GtkEntryCompletion")
+ (prop-type "GParamInt")
+ (docs "The column of the model containing the strings.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property inline-completion
+ (of-object "GtkEntryCompletion")
+ (prop-type "GParamBoolean")
+ (docs "Whether the common prefix should be inserted automatically")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property popup-completion
+ (of-object "GtkEntryCompletion")
+ (prop-type "GParamBoolean")
+ (docs "Whether the completions should be shown in a popup window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property popup-set-width
+ (of-object "GtkEntryCompletion")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the popup window will have the same size as the entry")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property popup-single-match
+ (of-object "GtkEntryCompletion")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the popup window will appear for a single match.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property inline-selection
+ (of-object "GtkEntryCompletion")
+ (prop-type "GParamBoolean")
+ (docs "Your description here")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkEventBox
+
+(define-property user-data
+ (of-object "GtkEventBox")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkEventBox")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkEventBox")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkEventBox")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkEventBox")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkEventBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkEventBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkEventBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkEventBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkEventBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkEventBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkEventBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkEventBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkEventBox")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkEventBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkEventBox")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkEventBox")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkEventBox")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkEventBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkEventBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkEventBox")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkEventBox")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkEventBox")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkEventBox")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkEventBox")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-window
+ (of-object "GtkEventBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the event box is visible, as opposed to invisible and only used to trap events.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property above-child
+ (of-object "GtkEventBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the event-trapping window of the eventbox is above the window of the child widget as opposed to below it.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkExpander
+
+(define-signal activate
+ (of-object "GtkExpander")
+ (return-type "void")
+ (when "last")
+)
+
+(define-property user-data
+ (of-object "GtkExpander")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkExpander")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkExpander")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkExpander")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkExpander")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkExpander")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkExpander")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkExpander")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkExpander")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkExpander")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkExpander")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkExpander")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkExpander")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkExpander")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkExpander")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkExpander")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkExpander")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkExpander")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkExpander")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkExpander")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkExpander")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkExpander")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkExpander")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkExpander")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkExpander")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property expanded
+ (of-object "GtkExpander")
+ (prop-type "GParamBoolean")
+ (docs "Whether the expander has been opened to reveal the child widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label
+ (of-object "GtkExpander")
+ (prop-type "GParamString")
+ (docs "Text of the expander's label")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-underline
+ (of-object "GtkExpander")
+ (prop-type "GParamBoolean")
+ (docs "If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-markup
+ (of-object "GtkExpander")
+ (prop-type "GParamBoolean")
+ (docs "The text of the label includes XML markup. See pango_parse_markup()")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property spacing
+ (of-object "GtkExpander")
+ (prop-type "GParamInt")
+ (docs "Space to put between the label and the child")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label-widget
+ (of-object "GtkExpander")
+ (prop-type "GParamObject")
+ (docs "A widget to display in place of the usual expander label")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkFileFilter
+
+(define-property user-data
+ (of-object "GtkFileFilter")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkFileChooserButton
+
+(define-signal file-set
+ (of-object "GtkFileChooserButton")
+ (return-type "void")
+ (when "first")
+)
+
+(define-property action
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamEnum")
+ (docs "The type of operation that the file selector is performing")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-preview-label
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether to display a stock label with the name of the previewed file.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extra-widget
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamObject")
+ (docs "Application supplied widget for extra options.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property file-system-backend
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamString")
+ (docs "Name of file system backend to use")
+ (readable #f)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property select-multiple
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether to allow multiple files to be selected")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-hidden
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the hidden files and folders should be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property preview-widget
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamObject")
+ (docs "Application supplied widget for custom previews.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property local-only
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the selected file(s) should be limited to local file: URLs")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property preview-widget-active
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application supplied widget for custom previews should be shown.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property filter
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamObject")
+ (docs "The current filter for selecting which files are displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property do-overwrite-confirmation
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether a file chooser in save mode will present an overwrite confirmation dialog if necessary.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property user-data
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property spacing
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamInt")
+ (docs "The amount of space between children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property homogeneous
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the children should all be the same size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property dialog
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamObject")
+ (docs "The file chooser dialog to use.")
+ (readable #f)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property focus-on-click
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the button grabs focus when it is clicked with the mouse")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property title
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamString")
+ (docs "The title of the file chooser dialog.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-chars
+ (of-object "GtkFileChooserButton")
+ (prop-type "GParamInt")
+ (docs "The desired width of the button widget, in characters.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkFileChooserDialog
+
+(define-property action
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamEnum")
+ (docs "The type of operation that the file selector is performing")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-preview-label
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether to display a stock label with the name of the previewed file.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extra-widget
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamObject")
+ (docs "Application supplied widget for extra options.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property file-system-backend
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamString")
+ (docs "Name of file system backend to use")
+ (readable #f)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property select-multiple
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether to allow multiple files to be selected")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-hidden
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the hidden files and folders should be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property preview-widget
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamObject")
+ (docs "Application supplied widget for custom previews.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property local-only
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the selected file(s) should be limited to local file: URLs")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property preview-widget-active
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application supplied widget for custom previews should be shown.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property filter
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamObject")
+ (docs "The current filter for selecting which files are displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property do-overwrite-confirmation
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether a file chooser in save mode will present an overwrite confirmation dialog if necessary.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property user-data
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamEnum")
+ (docs "The type of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property title
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamString")
+ (docs "The title of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property role
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamString")
+ (docs "Unique identifier for the window to be used when restoring a session")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property startup-id
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamString")
+ (docs "Unique startup identifier for the window used by startup-notification")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-shrink
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window has no mimimum size. Setting this to TRUE is 99% of the time a bad idea")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-grow
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can expand the window beyond its minimum size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resizable
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can resize the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property modal
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window is modal (other windows are not usable while this one is up)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property window-position
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamEnum")
+ (docs "The initial position of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-width
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamInt")
+ (docs "The default width of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-height
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamInt")
+ (docs "The default height of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property destroy-with-parent
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "If this window should be destroyed when the parent is destroyed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamObject")
+ (docs "Icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamString")
+ (docs "Name of the themed icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property screen
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamObject")
+ (docs "The screen where this window will be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type-hint
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamEnum")
+ (docs "Hint to help the desktop environment understand what kind of window this is and how to treat it.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-taskbar-hint
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the task bar.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-pager-hint
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the pager.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property urgency-hint
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should be brought to the user's attention.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accept-focus
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property focus-on-map
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus when mapped.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property decorated
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window should be decorated by the window manager")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property deletable
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window frame should have a close button")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gravity
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamEnum")
+ (docs "The window gravity of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property transient-for
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamObject")
+ (docs "The transient parent of the dialog")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property opacity
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamDouble")
+ (docs "The opacity of the window, from 0 to 1")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-active
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toplevel is the current active window")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property has-toplevel-focus
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the input focus is within this GtkWindow")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property has-separator
+ (of-object "GtkFileChooserDialog")
+ (prop-type "GParamBoolean")
+ (docs "The dialog has a separator bar above its buttons")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkFileChooserWidget
+
+(define-property action
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamEnum")
+ (docs "The type of operation that the file selector is performing")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-preview-label
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether to display a stock label with the name of the previewed file.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extra-widget
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamObject")
+ (docs "Application supplied widget for extra options.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property file-system-backend
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamString")
+ (docs "Name of file system backend to use")
+ (readable #f)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property select-multiple
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether to allow multiple files to be selected")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-hidden
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the hidden files and folders should be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property preview-widget
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamObject")
+ (docs "Application supplied widget for custom previews.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property local-only
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the selected file(s) should be limited to local file: URLs")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property preview-widget-active
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application supplied widget for custom previews should be shown.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property filter
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamObject")
+ (docs "The current filter for selecting which files are displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property do-overwrite-confirmation
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether a file chooser in save mode will present an overwrite confirmation dialog if necessary.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property user-data
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property spacing
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamInt")
+ (docs "The amount of space between children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property homogeneous
+ (of-object "GtkFileChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the children should all be the same size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkFileSelection
+
+(define-property user-data
+ (of-object "GtkFileSelection")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkFileSelection")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkFileSelection")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkFileSelection")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkFileSelection")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkFileSelection")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkFileSelection")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkFileSelection")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkFileSelection")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkFileSelection")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkFileSelection")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkFileSelection")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkFileSelection")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type
+ (of-object "GtkFileSelection")
+ (prop-type "GParamEnum")
+ (docs "The type of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property title
+ (of-object "GtkFileSelection")
+ (prop-type "GParamString")
+ (docs "The title of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property role
+ (of-object "GtkFileSelection")
+ (prop-type "GParamString")
+ (docs "Unique identifier for the window to be used when restoring a session")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property startup-id
+ (of-object "GtkFileSelection")
+ (prop-type "GParamString")
+ (docs "Unique startup identifier for the window used by startup-notification")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-shrink
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window has no mimimum size. Setting this to TRUE is 99% of the time a bad idea")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-grow
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can expand the window beyond its minimum size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resizable
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can resize the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property modal
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window is modal (other windows are not usable while this one is up)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property window-position
+ (of-object "GtkFileSelection")
+ (prop-type "GParamEnum")
+ (docs "The initial position of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-width
+ (of-object "GtkFileSelection")
+ (prop-type "GParamInt")
+ (docs "The default width of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-height
+ (of-object "GtkFileSelection")
+ (prop-type "GParamInt")
+ (docs "The default height of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property destroy-with-parent
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "If this window should be destroyed when the parent is destroyed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon
+ (of-object "GtkFileSelection")
+ (prop-type "GParamObject")
+ (docs "Icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkFileSelection")
+ (prop-type "GParamString")
+ (docs "Name of the themed icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property screen
+ (of-object "GtkFileSelection")
+ (prop-type "GParamObject")
+ (docs "The screen where this window will be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type-hint
+ (of-object "GtkFileSelection")
+ (prop-type "GParamEnum")
+ (docs "Hint to help the desktop environment understand what kind of window this is and how to treat it.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-taskbar-hint
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the task bar.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-pager-hint
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the pager.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property urgency-hint
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should be brought to the user's attention.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accept-focus
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property focus-on-map
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus when mapped.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property decorated
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window should be decorated by the window manager")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property deletable
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window frame should have a close button")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gravity
+ (of-object "GtkFileSelection")
+ (prop-type "GParamEnum")
+ (docs "The window gravity of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property transient-for
+ (of-object "GtkFileSelection")
+ (prop-type "GParamObject")
+ (docs "The transient parent of the dialog")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property opacity
+ (of-object "GtkFileSelection")
+ (prop-type "GParamDouble")
+ (docs "The opacity of the window, from 0 to 1")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-active
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toplevel is the current active window")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property has-toplevel-focus
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the input focus is within this GtkWindow")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property has-separator
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "The dialog has a separator bar above its buttons")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-fileops
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether buttons for creating/manipulating files should be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property filename
+ (of-object "GtkFileSelection")
+ (prop-type "GParamString")
+ (docs "The currently selected filename")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property select-multiple
+ (of-object "GtkFileSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether to allow multiple files to be selected")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkFixed
+
+(define-property user-data
+ (of-object "GtkFixed")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkFixed")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkFixed")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkFixed")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkFixed")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkFixed")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkFixed")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkFixed")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkFixed")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkFixed")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkFixed")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkFixed")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkFixed")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkFixed")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkFixed")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkFixed")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkFixed")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkFixed")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkFixed")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkFixed")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkFixed")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkFixed")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkFixed")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkFixed")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkFixed")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkFontButton
+
+(define-signal font-set
+ (of-object "GtkFontButton")
+ (return-type "void")
+ (when "first")
+)
+
+(define-property user-data
+ (of-object "GtkFontButton")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkFontButton")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkFontButton")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkFontButton")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkFontButton")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkFontButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkFontButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkFontButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkFontButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkFontButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkFontButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkFontButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkFontButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkFontButton")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkFontButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkFontButton")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkFontButton")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkFontButton")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkFontButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkFontButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkFontButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkFontButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkFontButton")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkFontButton")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkFontButton")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label
+ (of-object "GtkFontButton")
+ (prop-type "GParamString")
+ (docs "Text of the label widget inside the button, if the button contains a label widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property image
+ (of-object "GtkFontButton")
+ (prop-type "GParamObject")
+ (docs "Child widget to appear next to the button text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property relief
+ (of-object "GtkFontButton")
+ (prop-type "GParamEnum")
+ (docs "The border relief style")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-underline
+ (of-object "GtkFontButton")
+ (prop-type "GParamBoolean")
+ (docs "If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-stock
+ (of-object "GtkFontButton")
+ (prop-type "GParamBoolean")
+ (docs "If set, the label is used to pick a stock item instead of being displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property focus-on-click
+ (of-object "GtkFontButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the button grabs focus when it is clicked with the mouse")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkFontButton")
+ (prop-type "GParamFloat")
+ (docs "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkFontButton")
+ (prop-type "GParamFloat")
+ (docs "Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property image-position
+ (of-object "GtkFontButton")
+ (prop-type "GParamEnum")
+ (docs "The position of the image relative to the text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property title
+ (of-object "GtkFontButton")
+ (prop-type "GParamString")
+ (docs "The title of the font selection dialog")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property font-name
+ (of-object "GtkFontButton")
+ (prop-type "GParamString")
+ (docs "The name of the selected font")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-font
+ (of-object "GtkFontButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the label is drawn in the selected font")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-size
+ (of-object "GtkFontButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the label is drawn with the selected font size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-style
+ (of-object "GtkFontButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the selected font style is shown in the label")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-size
+ (of-object "GtkFontButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether selected font size is shown in the label")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkFontSelection
+
+(define-property user-data
+ (of-object "GtkFontSelection")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkFontSelection")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkFontSelection")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkFontSelection")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkFontSelection")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkFontSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkFontSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkFontSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkFontSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkFontSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkFontSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkFontSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkFontSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkFontSelection")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkFontSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkFontSelection")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkFontSelection")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkFontSelection")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkFontSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkFontSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkFontSelection")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkFontSelection")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkFontSelection")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkFontSelection")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkFontSelection")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property spacing
+ (of-object "GtkFontSelection")
+ (prop-type "GParamInt")
+ (docs "The amount of space between children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property homogeneous
+ (of-object "GtkFontSelection")
+ (prop-type "GParamBoolean")
+ (docs "Whether the children should all be the same size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property font-name
+ (of-object "GtkFontSelection")
+ (prop-type "GParamString")
+ (docs "The X string that represents this font")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property font
+ (of-object "GtkFontSelection")
+ (prop-type "GParamBoxed")
+ (docs "The GdkFont that is currently selected")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property preview-text
+ (of-object "GtkFontSelection")
+ (prop-type "GParamString")
+ (docs "The text to display in order to demonstrate the selected font")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkFontSelectionDialog
+
+(define-property user-data
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamEnum")
+ (docs "The type of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property title
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamString")
+ (docs "The title of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property role
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamString")
+ (docs "Unique identifier for the window to be used when restoring a session")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property startup-id
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamString")
+ (docs "Unique startup identifier for the window used by startup-notification")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-shrink
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window has no mimimum size. Setting this to TRUE is 99% of the time a bad idea")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-grow
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can expand the window beyond its minimum size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resizable
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can resize the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property modal
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window is modal (other windows are not usable while this one is up)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property window-position
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamEnum")
+ (docs "The initial position of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-width
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamInt")
+ (docs "The default width of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-height
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamInt")
+ (docs "The default height of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property destroy-with-parent
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "If this window should be destroyed when the parent is destroyed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamObject")
+ (docs "Icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamString")
+ (docs "Name of the themed icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property screen
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamObject")
+ (docs "The screen where this window will be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type-hint
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamEnum")
+ (docs "Hint to help the desktop environment understand what kind of window this is and how to treat it.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-taskbar-hint
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the task bar.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-pager-hint
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the pager.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property urgency-hint
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should be brought to the user's attention.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accept-focus
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property focus-on-map
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus when mapped.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property decorated
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window should be decorated by the window manager")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property deletable
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window frame should have a close button")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gravity
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamEnum")
+ (docs "The window gravity of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property transient-for
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamObject")
+ (docs "The transient parent of the dialog")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property opacity
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamDouble")
+ (docs "The opacity of the window, from 0 to 1")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-active
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toplevel is the current active window")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property has-toplevel-focus
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the input focus is within this GtkWindow")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property has-separator
+ (of-object "GtkFontSelectionDialog")
+ (prop-type "GParamBoolean")
+ (docs "The dialog has a separator bar above its buttons")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkFrame
+
+(define-property user-data
+ (of-object "GtkFrame")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkFrame")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkFrame")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkFrame")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkFrame")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkFrame")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkFrame")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkFrame")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkFrame")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkFrame")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkFrame")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkFrame")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkFrame")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkFrame")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkFrame")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkFrame")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkFrame")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkFrame")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkFrame")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkFrame")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkFrame")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkFrame")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkFrame")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkFrame")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkFrame")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label
+ (of-object "GtkFrame")
+ (prop-type "GParamString")
+ (docs "Text of the frame's label")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label-xalign
+ (of-object "GtkFrame")
+ (prop-type "GParamFloat")
+ (docs "The horizontal alignment of the label")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label-yalign
+ (of-object "GtkFrame")
+ (prop-type "GParamFloat")
+ (docs "The vertical alignment of the label")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property shadow
+ (of-object "GtkFrame")
+ (prop-type "GParamEnum")
+ (docs "Deprecated property, use shadow_type instead")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property shadow-type
+ (of-object "GtkFrame")
+ (prop-type "GParamEnum")
+ (docs "Appearance of the frame border")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label-widget
+ (of-object "GtkFrame")
+ (prop-type "GParamObject")
+ (docs "A widget to display in place of the usual frame label")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkHandleBox
+
+(define-signal child-attached
+ (of-object "GtkHandleBox")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkWidget*" "p0")
+ )
+)
+
+(define-signal child-detached
+ (of-object "GtkHandleBox")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkWidget*" "p0")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkHandleBox")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkHandleBox")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkHandleBox")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkHandleBox")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkHandleBox")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkHandleBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkHandleBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkHandleBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkHandleBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkHandleBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkHandleBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkHandleBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkHandleBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkHandleBox")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkHandleBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkHandleBox")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkHandleBox")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkHandleBox")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkHandleBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkHandleBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkHandleBox")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkHandleBox")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkHandleBox")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkHandleBox")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkHandleBox")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property shadow
+ (of-object "GtkHandleBox")
+ (prop-type "GParamEnum")
+ (docs "Deprecated property, use shadow_type instead")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property shadow-type
+ (of-object "GtkHandleBox")
+ (prop-type "GParamEnum")
+ (docs "Appearance of the shadow that surrounds the container")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property handle-position
+ (of-object "GtkHandleBox")
+ (prop-type "GParamEnum")
+ (docs "Position of the handle relative to the child widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property snap-edge
+ (of-object "GtkHandleBox")
+ (prop-type "GParamEnum")
+ (docs "Side of the handlebox that's lined up with the docking point to dock the handlebox")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property snap-edge-set
+ (of-object "GtkHandleBox")
+ (prop-type "GParamBoolean")
+ (docs "Whether to use the value from the snap_edge property or a value derived from handle_position")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkIconTheme
+
+(define-signal changed
+ (of-object "GtkIconTheme")
+ (return-type "void")
+ (when "last")
+)
+
+;; From GtkImage
+
+(define-property user-data
+ (of-object "GtkImage")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkImage")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkImage")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkImage")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkImage")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkImage")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkImage")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkImage")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkImage")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkImage")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkImage")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkImage")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkImage")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkImage")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkImage")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkImage")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkImage")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkImage")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkImage")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkImage")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkImage")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkImage")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkImage")
+ (prop-type "GParamFloat")
+ (docs "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkImage")
+ (prop-type "GParamFloat")
+ (docs "The vertical alignment, from 0 (top) to 1 (bottom)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xpad
+ (of-object "GtkImage")
+ (prop-type "GParamInt")
+ (docs "The amount of space to add on the left and right of the widget, in pixels")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ypad
+ (of-object "GtkImage")
+ (prop-type "GParamInt")
+ (docs "The amount of space to add on the top and bottom of the widget, in pixels")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pixbuf
+ (of-object "GtkImage")
+ (prop-type "GParamObject")
+ (docs "A GdkPixbuf to display")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pixmap
+ (of-object "GtkImage")
+ (prop-type "GParamObject")
+ (docs "A GdkPixmap to display")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property image
+ (of-object "GtkImage")
+ (prop-type "GParamObject")
+ (docs "A GdkImage to display")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property mask
+ (of-object "GtkImage")
+ (prop-type "GParamObject")
+ (docs "Mask bitmap to use with GdkImage or GdkPixmap")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property file
+ (of-object "GtkImage")
+ (prop-type "GParamString")
+ (docs "Filename to load and display")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property stock
+ (of-object "GtkImage")
+ (prop-type "GParamString")
+ (docs "Stock ID for a stock image to display")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-set
+ (of-object "GtkImage")
+ (prop-type "GParamBoxed")
+ (docs "Icon set to display")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-size
+ (of-object "GtkImage")
+ (prop-type "GParamInt")
+ (docs "Symbolic size to use for stock icon, icon set or named icon")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pixel-size
+ (of-object "GtkImage")
+ (prop-type "GParamInt")
+ (docs "Pixel size to use for named icon")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pixbuf-animation
+ (of-object "GtkImage")
+ (prop-type "GParamObject")
+ (docs "GdkPixbufAnimation to display")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkImage")
+ (prop-type "GParamString")
+ (docs "The name of the icon from the icon theme")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property storage-type
+ (of-object "GtkImage")
+ (prop-type "GParamEnum")
+ (docs "The representation being used for image data")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+;; From GtkInputDialog
+
+(define-signal enable-device
+ (of-object "GtkInputDialog")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GdkDevice*" "p0")
+ )
+)
+
+(define-signal disable-device
+ (of-object "GtkInputDialog")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GdkDevice*" "p0")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkInputDialog")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkInputDialog")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkInputDialog")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkInputDialog")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkInputDialog")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkInputDialog")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkInputDialog")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkInputDialog")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkInputDialog")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkInputDialog")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkInputDialog")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkInputDialog")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkInputDialog")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type
+ (of-object "GtkInputDialog")
+ (prop-type "GParamEnum")
+ (docs "The type of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property title
+ (of-object "GtkInputDialog")
+ (prop-type "GParamString")
+ (docs "The title of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property role
+ (of-object "GtkInputDialog")
+ (prop-type "GParamString")
+ (docs "Unique identifier for the window to be used when restoring a session")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property startup-id
+ (of-object "GtkInputDialog")
+ (prop-type "GParamString")
+ (docs "Unique startup identifier for the window used by startup-notification")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-shrink
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window has no mimimum size. Setting this to TRUE is 99% of the time a bad idea")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-grow
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can expand the window beyond its minimum size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resizable
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can resize the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property modal
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window is modal (other windows are not usable while this one is up)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property window-position
+ (of-object "GtkInputDialog")
+ (prop-type "GParamEnum")
+ (docs "The initial position of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-width
+ (of-object "GtkInputDialog")
+ (prop-type "GParamInt")
+ (docs "The default width of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-height
+ (of-object "GtkInputDialog")
+ (prop-type "GParamInt")
+ (docs "The default height of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property destroy-with-parent
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "If this window should be destroyed when the parent is destroyed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon
+ (of-object "GtkInputDialog")
+ (prop-type "GParamObject")
+ (docs "Icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkInputDialog")
+ (prop-type "GParamString")
+ (docs "Name of the themed icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property screen
+ (of-object "GtkInputDialog")
+ (prop-type "GParamObject")
+ (docs "The screen where this window will be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type-hint
+ (of-object "GtkInputDialog")
+ (prop-type "GParamEnum")
+ (docs "Hint to help the desktop environment understand what kind of window this is and how to treat it.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-taskbar-hint
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the task bar.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-pager-hint
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the pager.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property urgency-hint
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should be brought to the user's attention.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accept-focus
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property focus-on-map
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus when mapped.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property decorated
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window should be decorated by the window manager")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property deletable
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window frame should have a close button")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gravity
+ (of-object "GtkInputDialog")
+ (prop-type "GParamEnum")
+ (docs "The window gravity of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property transient-for
+ (of-object "GtkInputDialog")
+ (prop-type "GParamObject")
+ (docs "The transient parent of the dialog")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property opacity
+ (of-object "GtkInputDialog")
+ (prop-type "GParamDouble")
+ (docs "The opacity of the window, from 0 to 1")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-active
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toplevel is the current active window")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property has-toplevel-focus
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the input focus is within this GtkWindow")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property has-separator
+ (of-object "GtkInputDialog")
+ (prop-type "GParamBoolean")
+ (docs "The dialog has a separator bar above its buttons")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkInvisible
+
+(define-property user-data
+ (of-object "GtkInvisible")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkInvisible")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkInvisible")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkInvisible")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkInvisible")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkInvisible")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkInvisible")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkInvisible")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkInvisible")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkInvisible")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkInvisible")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkInvisible")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkInvisible")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkInvisible")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkInvisible")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkInvisible")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkInvisible")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkInvisible")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkInvisible")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkInvisible")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkInvisible")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkInvisible")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property screen
+ (of-object "GtkInvisible")
+ (prop-type "GParamObject")
+ (docs "The screen where this window will be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkItem
+
+(define-signal select
+ (of-object "GtkItem")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal deselect
+ (of-object "GtkItem")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal toggle
+ (of-object "GtkItem")
+ (return-type "void")
+ (when "first")
+)
+
+(define-property user-data
+ (of-object "GtkItem")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkItem")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkItem")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkItem")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkItem")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkItem")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkItem")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkItem")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkItem")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkItem")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkItem")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkItem")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkItem")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkItem")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkIconView
+
+(define-signal selection-changed
+ (of-object "GtkIconView")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal set-scroll-adjustments
+ (of-object "GtkIconView")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkAdjustment*" "p0")
+ '("GtkAdjustment*" "p1")
+ )
+)
+
+(define-signal move-cursor
+ (of-object "GtkIconView")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GtkMovementStep" "p0")
+ '("gint" "p1")
+ )
+)
+
+(define-signal select-all
+ (of-object "GtkIconView")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal unselect-all
+ (of-object "GtkIconView")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal item-activated
+ (of-object "GtkIconView")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkTreePath*" "p0")
+ )
+)
+
+(define-signal select-cursor-item
+ (of-object "GtkIconView")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal toggle-cursor-item
+ (of-object "GtkIconView")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal activate-cursor-item
+ (of-object "GtkIconView")
+ (return-type "gboolean")
+ (when "last")
+)
+
+(define-property user-data
+ (of-object "GtkIconView")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkIconView")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkIconView")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkIconView")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkIconView")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkIconView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkIconView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkIconView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkIconView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkIconView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkIconView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkIconView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkIconView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkIconView")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkIconView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkIconView")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkIconView")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkIconView")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkIconView")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkIconView")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkIconView")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkIconView")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkIconView")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkIconView")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkIconView")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pixbuf-column
+ (of-object "GtkIconView")
+ (prop-type "GParamInt")
+ (docs "Model column used to retrieve the icon pixbuf from")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property text-column
+ (of-object "GtkIconView")
+ (prop-type "GParamInt")
+ (docs "Model column used to retrieve the text from")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property markup-column
+ (of-object "GtkIconView")
+ (prop-type "GParamInt")
+ (docs "Model column used to retrieve the text if using Pango markup")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property selection-mode
+ (of-object "GtkIconView")
+ (prop-type "GParamEnum")
+ (docs "The selection mode")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property orientation
+ (of-object "GtkIconView")
+ (prop-type "GParamEnum")
+ (docs "How the text and icon of each item are positioned relative to each other")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property model
+ (of-object "GtkIconView")
+ (prop-type "GParamObject")
+ (docs "The model for the icon view")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property columns
+ (of-object "GtkIconView")
+ (prop-type "GParamInt")
+ (docs "Number of columns to display")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property item-width
+ (of-object "GtkIconView")
+ (prop-type "GParamInt")
+ (docs "The width used for each item")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property spacing
+ (of-object "GtkIconView")
+ (prop-type "GParamInt")
+ (docs "Space which is inserted between cells of an item")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property row-spacing
+ (of-object "GtkIconView")
+ (prop-type "GParamInt")
+ (docs "Space which is inserted between grid rows")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property column-spacing
+ (of-object "GtkIconView")
+ (prop-type "GParamInt")
+ (docs "Space which is inserted between grid columns")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property margin
+ (of-object "GtkIconView")
+ (prop-type "GParamInt")
+ (docs "Space which is inserted at the edges of the icon view")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property reorderable
+ (of-object "GtkIconView")
+ (prop-type "GParamBoolean")
+ (docs "View is reorderable")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkLabel
+
+(define-signal move-cursor
+ (of-object "GtkLabel")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkMovementStep" "p0")
+ '("gint" "p1")
+ '("gboolean" "p2")
+ )
+)
+
+(define-signal copy-clipboard
+ (of-object "GtkLabel")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal populate-popup
+ (of-object "GtkLabel")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkMenu*" "p0")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkLabel")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkLabel")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkLabel")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkLabel")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkLabel")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkLabel")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkLabel")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkLabel")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkLabel")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkLabel")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkLabel")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkLabel")
+ (prop-type "GParamFloat")
+ (docs "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkLabel")
+ (prop-type "GParamFloat")
+ (docs "The vertical alignment, from 0 (top) to 1 (bottom)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xpad
+ (of-object "GtkLabel")
+ (prop-type "GParamInt")
+ (docs "The amount of space to add on the left and right of the widget, in pixels")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ypad
+ (of-object "GtkLabel")
+ (prop-type "GParamInt")
+ (docs "The amount of space to add on the top and bottom of the widget, in pixels")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label
+ (of-object "GtkLabel")
+ (prop-type "GParamString")
+ (docs "The text of the label")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property attributes
+ (of-object "GtkLabel")
+ (prop-type "GParamBoxed")
+ (docs "A list of style attributes to apply to the text of the label")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-markup
+ (of-object "GtkLabel")
+ (prop-type "GParamBoolean")
+ (docs "The text of the label includes XML markup. See pango_parse_markup()")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-underline
+ (of-object "GtkLabel")
+ (prop-type "GParamBoolean")
+ (docs "If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property justify
+ (of-object "GtkLabel")
+ (prop-type "GParamEnum")
+ (docs "The alignment of the lines in the text of the label relative to each other. This does NOT affect the alignment of the label within its allocation. See GtkMisc::xalign for that")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pattern
+ (of-object "GtkLabel")
+ (prop-type "GParamString")
+ (docs "A string with _ characters in positions correspond to characters in the text to underline")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property wrap
+ (of-object "GtkLabel")
+ (prop-type "GParamBoolean")
+ (docs "If set, wrap lines if the text becomes too wide")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property wrap-mode
+ (of-object "GtkLabel")
+ (prop-type "GParamEnum")
+ (docs "If wrap is set, controls how linewrapping is done")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property selectable
+ (of-object "GtkLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether the label text can be selected with the mouse")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property mnemonic-keyval
+ (of-object "GtkLabel")
+ (prop-type "GParamUInt")
+ (docs "The mnemonic accelerator key for this label")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property mnemonic-widget
+ (of-object "GtkLabel")
+ (prop-type "GParamObject")
+ (docs "The widget to be activated when the label's mnemonic key is pressed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cursor-position
+ (of-object "GtkLabel")
+ (prop-type "GParamInt")
+ (docs "The current position of the insertion cursor in chars")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property selection-bound
+ (of-object "GtkLabel")
+ (prop-type "GParamInt")
+ (docs "The position of the opposite end of the selection from the cursor in chars")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property ellipsize
+ (of-object "GtkLabel")
+ (prop-type "GParamEnum")
+ (docs "The preferred place to ellipsize the string, if the label does not have enough room to display the entire string")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-chars
+ (of-object "GtkLabel")
+ (prop-type "GParamInt")
+ (docs "The desired width of the label, in characters")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property single-line-mode
+ (of-object "GtkLabel")
+ (prop-type "GParamBoolean")
+ (docs "Whether the label is in single line mode")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property angle
+ (of-object "GtkLabel")
+ (prop-type "GParamDouble")
+ (docs "Angle at which the label is rotated")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property max-width-chars
+ (of-object "GtkLabel")
+ (prop-type "GParamInt")
+ (docs "The desired maximum width of the label, in characters")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkLayout
+
+(define-signal set-scroll-adjustments
+ (of-object "GtkLayout")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkAdjustment*" "p0")
+ '("GtkAdjustment*" "p1")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkLayout")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkLayout")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkLayout")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkLayout")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkLayout")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkLayout")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkLayout")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkLayout")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkLayout")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkLayout")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkLayout")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkLayout")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkLayout")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkLayout")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkLayout")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkLayout")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkLayout")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkLayout")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkLayout")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkLayout")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkLayout")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkLayout")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkLayout")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkLayout")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkLayout")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property hadjustment
+ (of-object "GtkLayout")
+ (prop-type "GParamObject")
+ (docs "The GtkAdjustment for the horizontal position")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property vadjustment
+ (of-object "GtkLayout")
+ (prop-type "GParamObject")
+ (docs "The GtkAdjustment for the vertical position")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width
+ (of-object "GtkLayout")
+ (prop-type "GParamUInt")
+ (docs "The width of the layout")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height
+ (of-object "GtkLayout")
+ (prop-type "GParamUInt")
+ (docs "The height of the layout")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkLinkButton
+
+(define-property user-data
+ (of-object "GtkLinkButton")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkLinkButton")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkLinkButton")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkLinkButton")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkLinkButton")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkLinkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkLinkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkLinkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkLinkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkLinkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkLinkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkLinkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkLinkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkLinkButton")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkLinkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkLinkButton")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkLinkButton")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkLinkButton")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkLinkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkLinkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkLinkButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkLinkButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkLinkButton")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkLinkButton")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkLinkButton")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label
+ (of-object "GtkLinkButton")
+ (prop-type "GParamString")
+ (docs "Text of the label widget inside the button, if the button contains a label widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property image
+ (of-object "GtkLinkButton")
+ (prop-type "GParamObject")
+ (docs "Child widget to appear next to the button text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property relief
+ (of-object "GtkLinkButton")
+ (prop-type "GParamEnum")
+ (docs "The border relief style")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-underline
+ (of-object "GtkLinkButton")
+ (prop-type "GParamBoolean")
+ (docs "If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-stock
+ (of-object "GtkLinkButton")
+ (prop-type "GParamBoolean")
+ (docs "If set, the label is used to pick a stock item instead of being displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property focus-on-click
+ (of-object "GtkLinkButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the button grabs focus when it is clicked with the mouse")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkLinkButton")
+ (prop-type "GParamFloat")
+ (docs "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkLinkButton")
+ (prop-type "GParamFloat")
+ (docs "Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property image-position
+ (of-object "GtkLinkButton")
+ (prop-type "GParamEnum")
+ (docs "The position of the image relative to the text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property uri
+ (of-object "GtkLinkButton")
+ (prop-type "GParamString")
+ (docs "The URI bound to this button")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkList
+
+(define-signal selection-changed
+ (of-object "GtkList")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal select-child
+ (of-object "GtkList")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkWidget*" "p0")
+ )
+)
+
+(define-signal unselect-child
+ (of-object "GtkList")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkWidget*" "p0")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkList")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkList")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkList")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkList")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkList")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkList")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkList")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkList")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkList")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkList")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkList")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkList")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkList")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkList")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkList")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkList")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkList")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkList")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkList")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkList")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkList")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkList")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkList")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkList")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkList")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property selection-mode
+ (of-object "GtkList")
+ (prop-type "GParamEnum")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkListItem
+
+(define-signal select-all
+ (of-object "GtkListItem")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal unselect-all
+ (of-object "GtkListItem")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal toggle-focus-row
+ (of-object "GtkListItem")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal undo-selection
+ (of-object "GtkListItem")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal start-selection
+ (of-object "GtkListItem")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal end-selection
+ (of-object "GtkListItem")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal toggle-add-mode
+ (of-object "GtkListItem")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal extend-selection
+ (of-object "GtkListItem")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkScrollType" "p0")
+ '("gfloat" "p1")
+ '("gboolean" "p2")
+ )
+)
+
+(define-signal scroll-vertical
+ (of-object "GtkListItem")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkScrollType" "p0")
+ '("gfloat" "p1")
+ )
+)
+
+(define-signal scroll-horizontal
+ (of-object "GtkListItem")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkScrollType" "p0")
+ '("gfloat" "p1")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkListItem")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkListItem")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkListItem")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkListItem")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkListItem")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkListItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkListItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkListItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkListItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkListItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkListItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkListItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkListItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkListItem")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkListItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkListItem")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkListItem")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkListItem")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkListItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkListItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkListItem")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkListItem")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkListItem")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkListItem")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkListItem")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkMenu
+
+(define-signal move-scroll
+ (of-object "GtkMenu")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkScrollType" "p0")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkMenu")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkMenu")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkMenu")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkMenu")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkMenu")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkMenu")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkMenu")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkMenu")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkMenu")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkMenu")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkMenu")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkMenu")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkMenu")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkMenu")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property take-focus
+ (of-object "GtkMenu")
+ (prop-type "GParamBoolean")
+ (docs "A boolean that determines whether the menu grabs the keyboard focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tearoff-state
+ (of-object "GtkMenu")
+ (prop-type "GParamBoolean")
+ (docs "A boolean that indicates whether the menu is torn-off")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tearoff-title
+ (of-object "GtkMenu")
+ (prop-type "GParamString")
+ (docs "A title that may be displayed by the window manager when this menu is torn-off")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkMenuBar
+
+(define-property user-data
+ (of-object "GtkMenuBar")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkMenuBar")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkMenuBar")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkMenuBar")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkMenuBar")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkMenuBar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkMenuBar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkMenuBar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkMenuBar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkMenuBar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkMenuBar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkMenuBar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkMenuBar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkMenuBar")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkMenuBar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkMenuBar")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkMenuBar")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkMenuBar")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkMenuBar")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkMenuBar")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkMenuBar")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkMenuBar")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkMenuBar")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkMenuBar")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkMenuBar")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property take-focus
+ (of-object "GtkMenuBar")
+ (prop-type "GParamBoolean")
+ (docs "A boolean that determines whether the menu grabs the keyboard focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pack-direction
+ (of-object "GtkMenuBar")
+ (prop-type "GParamEnum")
+ (docs "The pack direction of the menubar")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child-pack-direction
+ (of-object "GtkMenuBar")
+ (prop-type "GParamEnum")
+ (docs "The child pack direction of the menubar")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkMenuItem
+
+(define-signal activate
+ (of-object "GtkMenuItem")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal activate-item
+ (of-object "GtkMenuItem")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal toggle-size-request
+ (of-object "GtkMenuItem")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("gint*" "p0")
+ )
+)
+
+(define-signal toggle-size-allocate
+ (of-object "GtkMenuItem")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("gint" "p0")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkMenuItem")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkMenuItem")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkMenuItem")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkMenuItem")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkMenuItem")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkMenuItem")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkMenuItem")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkMenuItem")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkMenuItem")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkMenuItem")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkMenuItem")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkMenuItem")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkMenuItem")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property submenu
+ (of-object "GtkMenuItem")
+ (prop-type "GParamObject")
+ (docs "The submenu attached to the menu item, or NULL if it has none")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkMenuShell
+
+(define-signal deactivate
+ (of-object "GtkMenuShell")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal selection-done
+ (of-object "GtkMenuShell")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal move-current
+ (of-object "GtkMenuShell")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkMenuDirectionType" "p0")
+ )
+)
+
+(define-signal activate-current
+ (of-object "GtkMenuShell")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gboolean" "p0")
+ )
+)
+
+(define-signal cancel
+ (of-object "GtkMenuShell")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal cycle-focus
+ (of-object "GtkMenuShell")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkDirectionType" "p0")
+ )
+)
+
+(define-signal move-selected
+ (of-object "GtkMenuShell")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkMenuShell")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkMenuShell")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkMenuShell")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkMenuShell")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkMenuShell")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkMenuShell")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkMenuShell")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkMenuShell")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkMenuShell")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkMenuShell")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkMenuShell")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkMenuShell")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkMenuShell")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkMenuShell")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkMenuShell")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkMenuShell")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkMenuShell")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkMenuShell")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkMenuShell")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkMenuShell")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkMenuShell")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkMenuShell")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkMenuShell")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkMenuShell")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkMenuShell")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property take-focus
+ (of-object "GtkMenuShell")
+ (prop-type "GParamBoolean")
+ (docs "A boolean that determines whether the menu grabs the keyboard focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkMenuToolButton
+
+(define-signal show-menu
+ (of-object "GtkMenuToolButton")
+ (return-type "void")
+ (when "first")
+)
+
+(define-property user-data
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-horizontal
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is visible when the toolbar is in a horizontal orientation.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-vertical
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is visible when the toolbar is in a vertical orientation.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-important
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is considered important. When TRUE, toolbar buttons show text in GTK_TOOLBAR_BOTH_HORIZ mode")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamString")
+ (docs "Text to show in the item.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-underline
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamBoolean")
+ (docs "If set, an underline in the label property indicates that the next character should be used for the mnemonic accelerator key in the overflow menu")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label-widget
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamObject")
+ (docs "Widget to use as the item label")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property stock-id
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamString")
+ (docs "The stock icon displayed on the item")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamString")
+ (docs "The name of the themed icon displayed on the item")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-widget
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamObject")
+ (docs "Icon widget to display in the item")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property menu
+ (of-object "GtkMenuToolButton")
+ (prop-type "GParamObject")
+ (docs "The dropdown menu")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkMessageDialog
+
+(define-property user-data
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamEnum")
+ (docs "The type of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property title
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamString")
+ (docs "The title of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property role
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamString")
+ (docs "Unique identifier for the window to be used when restoring a session")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property startup-id
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamString")
+ (docs "Unique startup identifier for the window used by startup-notification")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-shrink
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window has no mimimum size. Setting this to TRUE is 99% of the time a bad idea")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-grow
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can expand the window beyond its minimum size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resizable
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can resize the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property modal
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window is modal (other windows are not usable while this one is up)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property window-position
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamEnum")
+ (docs "The initial position of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-width
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamInt")
+ (docs "The default width of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-height
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamInt")
+ (docs "The default height of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property destroy-with-parent
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "If this window should be destroyed when the parent is destroyed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamObject")
+ (docs "Icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamString")
+ (docs "Name of the themed icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property screen
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamObject")
+ (docs "The screen where this window will be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type-hint
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamEnum")
+ (docs "Hint to help the desktop environment understand what kind of window this is and how to treat it.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-taskbar-hint
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the task bar.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-pager-hint
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the pager.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property urgency-hint
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should be brought to the user's attention.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accept-focus
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property focus-on-map
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus when mapped.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property decorated
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window should be decorated by the window manager")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property deletable
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window frame should have a close button")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gravity
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamEnum")
+ (docs "The window gravity of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property transient-for
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamObject")
+ (docs "The transient parent of the dialog")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property opacity
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamDouble")
+ (docs "The opacity of the window, from 0 to 1")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-active
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toplevel is the current active window")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property has-toplevel-focus
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the input focus is within this GtkWindow")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property has-separator
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "The dialog has a separator bar above its buttons")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property message-type
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamEnum")
+ (docs "The type of message")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property buttons
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamEnum")
+ (docs "The buttons shown in the message dialog")
+ (readable #f)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property text
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamString")
+ (docs "The primary text of the message dialog")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-markup
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "The primary text of the title includes Pango markup.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property secondary-text
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamString")
+ (docs "The secondary text of the message dialog")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property secondary-use-markup
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamBoolean")
+ (docs "The secondary text includes Pango markup.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property image
+ (of-object "GtkMessageDialog")
+ (prop-type "GParamObject")
+ (docs "The image")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkMisc
+
+(define-property user-data
+ (of-object "GtkMisc")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkMisc")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkMisc")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkMisc")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkMisc")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkMisc")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkMisc")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkMisc")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkMisc")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkMisc")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkMisc")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkMisc")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkMisc")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkMisc")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkMisc")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkMisc")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkMisc")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkMisc")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkMisc")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkMisc")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkMisc")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkMisc")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkMisc")
+ (prop-type "GParamFloat")
+ (docs "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkMisc")
+ (prop-type "GParamFloat")
+ (docs "The vertical alignment, from 0 (top) to 1 (bottom)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xpad
+ (of-object "GtkMisc")
+ (prop-type "GParamInt")
+ (docs "The amount of space to add on the left and right of the widget, in pixels")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ypad
+ (of-object "GtkMisc")
+ (prop-type "GParamInt")
+ (docs "The amount of space to add on the top and bottom of the widget, in pixels")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkNotebook
+
+(define-signal move-focus-out
+ (of-object "GtkNotebook")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkDirectionType" "p0")
+ )
+)
+
+(define-signal switch-page
+ (of-object "GtkNotebook")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkNotebookPage*" "p0")
+ '("guint" "p1")
+ )
+)
+
+(define-signal focus-tab
+ (of-object "GtkNotebook")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GtkNotebookTab" "p0")
+ )
+)
+
+(define-signal select-page
+ (of-object "GtkNotebook")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("gboolean" "p0")
+ )
+)
+
+(define-signal change-current-page
+ (of-object "GtkNotebook")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ )
+)
+
+(define-signal reorder-tab
+ (of-object "GtkNotebook")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GtkDirectionType" "p0")
+ '("gboolean" "p1")
+ )
+)
+
+(define-signal page-reordered
+ (of-object "GtkNotebook")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkWidget*" "p0")
+ '("guint" "p1")
+ )
+)
+
+(define-signal page-removed
+ (of-object "GtkNotebook")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkWidget*" "p0")
+ '("guint" "p1")
+ )
+)
+
+(define-signal page-added
+ (of-object "GtkNotebook")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkWidget*" "p0")
+ '("guint" "p1")
+ )
+)
+
+(define-signal create-window
+ (of-object "GtkNotebook")
+ (return-type "GtkNotebook*")
+ (when "last")
+ (parameters
+ '("GtkWidget*" "p0")
+ '("gint" "p1")
+ '("gint" "p2")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkNotebook")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkNotebook")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkNotebook")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkNotebook")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkNotebook")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkNotebook")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkNotebook")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkNotebook")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkNotebook")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkNotebook")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkNotebook")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkNotebook")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkNotebook")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkNotebook")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkNotebook")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkNotebook")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkNotebook")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkNotebook")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkNotebook")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkNotebook")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkNotebook")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkNotebook")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkNotebook")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkNotebook")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkNotebook")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tab-pos
+ (of-object "GtkNotebook")
+ (prop-type "GParamEnum")
+ (docs "Which side of the notebook holds the tabs")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-tabs
+ (of-object "GtkNotebook")
+ (prop-type "GParamBoolean")
+ (docs "Whether tabs should be shown or not")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-border
+ (of-object "GtkNotebook")
+ (prop-type "GParamBoolean")
+ (docs "Whether the border should be shown or not")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property scrollable
+ (of-object "GtkNotebook")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, scroll arrows are added if there are too many tabs to fit")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tab-border
+ (of-object "GtkNotebook")
+ (prop-type "GParamUInt")
+ (docs "Width of the border around the tab labels")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tab-hborder
+ (of-object "GtkNotebook")
+ (prop-type "GParamUInt")
+ (docs "Width of the horizontal border of tab labels")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tab-vborder
+ (of-object "GtkNotebook")
+ (prop-type "GParamUInt")
+ (docs "Width of the vertical border of tab labels")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property page
+ (of-object "GtkNotebook")
+ (prop-type "GParamInt")
+ (docs "The index of the current page")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property enable-popup
+ (of-object "GtkNotebook")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, pressing the right mouse button on the notebook pops up a menu that you can use to go to a page")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property group-id
+ (of-object "GtkNotebook")
+ (prop-type "GParamInt")
+ (docs "Group ID for tabs drag and drop")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property group
+ (of-object "GtkNotebook")
+ (prop-type "GParamPointer")
+ (docs "Group for tabs drag and drop")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property homogeneous
+ (of-object "GtkNotebook")
+ (prop-type "GParamBoolean")
+ (docs "Whether tabs should have homogeneous sizes")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkObject
+
+(define-signal destroy
+ (of-object "GtkObject")
+ (return-type "void")
+ (when "unknown")
+)
+
+(define-property user-data
+ (of-object "GtkObject")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkOptionMenu
+
+(define-signal changed
+ (of-object "GtkOptionMenu")
+ (return-type "void")
+ (when "last")
+)
+
+(define-property user-data
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamString")
+ (docs "Text of the label widget inside the button, if the button contains a label widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property image
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamObject")
+ (docs "Child widget to appear next to the button text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property relief
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamEnum")
+ (docs "The border relief style")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-underline
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamBoolean")
+ (docs "If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-stock
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamBoolean")
+ (docs "If set, the label is used to pick a stock item instead of being displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property focus-on-click
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the button grabs focus when it is clicked with the mouse")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamFloat")
+ (docs "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamFloat")
+ (docs "Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property image-position
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamEnum")
+ (docs "The position of the image relative to the text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property menu
+ (of-object "GtkOptionMenu")
+ (prop-type "GParamObject")
+ (docs "The menu of options")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkPaned
+
+(define-signal cycle-child-focus
+ (of-object "GtkPaned")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("gboolean" "p0")
+ )
+)
+
+(define-signal toggle-handle-focus
+ (of-object "GtkPaned")
+ (return-type "gboolean")
+ (when "last")
+)
+
+(define-signal move-handle
+ (of-object "GtkPaned")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GtkScrollType" "p0")
+ )
+)
+
+(define-signal cycle-handle-focus
+ (of-object "GtkPaned")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("gboolean" "p0")
+ )
+)
+
+(define-signal accept-position
+ (of-object "GtkPaned")
+ (return-type "gboolean")
+ (when "last")
+)
+
+(define-signal cancel-position
+ (of-object "GtkPaned")
+ (return-type "gboolean")
+ (when "last")
+)
+
+(define-property user-data
+ (of-object "GtkPaned")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkPaned")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkPaned")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkPaned")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkPaned")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkPaned")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkPaned")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkPaned")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkPaned")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkPaned")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkPaned")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkPaned")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkPaned")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkPaned")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkPaned")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkPaned")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkPaned")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkPaned")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkPaned")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkPaned")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkPaned")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkPaned")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkPaned")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkPaned")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkPaned")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property position
+ (of-object "GtkPaned")
+ (prop-type "GParamInt")
+ (docs "Position of paned separator in pixels (0 means all the way to the left/top)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property position-set
+ (of-object "GtkPaned")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the Position property should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property min-position
+ (of-object "GtkPaned")
+ (prop-type "GParamInt")
+ (docs "Smallest possible value for the position property")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property max-position
+ (of-object "GtkPaned")
+ (prop-type "GParamInt")
+ (docs "Largest possible value for the position property")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+;; From GtkPixmap
+
+(define-property user-data
+ (of-object "GtkPixmap")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkPixmap")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkPixmap")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkPixmap")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkPixmap")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkPixmap")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkPixmap")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkPixmap")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkPixmap")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkPixmap")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkPixmap")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkPixmap")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkPixmap")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkPixmap")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkPixmap")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkPixmap")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkPixmap")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkPixmap")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkPixmap")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkPixmap")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkPixmap")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkPixmap")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkPixmap")
+ (prop-type "GParamFloat")
+ (docs "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkPixmap")
+ (prop-type "GParamFloat")
+ (docs "The vertical alignment, from 0 (top) to 1 (bottom)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xpad
+ (of-object "GtkPixmap")
+ (prop-type "GParamInt")
+ (docs "The amount of space to add on the left and right of the widget, in pixels")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ypad
+ (of-object "GtkPixmap")
+ (prop-type "GParamInt")
+ (docs "The amount of space to add on the top and bottom of the widget, in pixels")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkPlug
+
+(define-signal embedded
+ (of-object "GtkPlug")
+ (return-type "void")
+ (when "last")
+)
+
+(define-property user-data
+ (of-object "GtkPlug")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkPlug")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkPlug")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkPlug")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkPlug")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkPlug")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkPlug")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkPlug")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkPlug")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkPlug")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkPlug")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkPlug")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkPlug")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type
+ (of-object "GtkPlug")
+ (prop-type "GParamEnum")
+ (docs "The type of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property title
+ (of-object "GtkPlug")
+ (prop-type "GParamString")
+ (docs "The title of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property role
+ (of-object "GtkPlug")
+ (prop-type "GParamString")
+ (docs "Unique identifier for the window to be used when restoring a session")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property startup-id
+ (of-object "GtkPlug")
+ (prop-type "GParamString")
+ (docs "Unique startup identifier for the window used by startup-notification")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-shrink
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window has no mimimum size. Setting this to TRUE is 99% of the time a bad idea")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-grow
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can expand the window beyond its minimum size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resizable
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can resize the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property modal
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window is modal (other windows are not usable while this one is up)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property window-position
+ (of-object "GtkPlug")
+ (prop-type "GParamEnum")
+ (docs "The initial position of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-width
+ (of-object "GtkPlug")
+ (prop-type "GParamInt")
+ (docs "The default width of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-height
+ (of-object "GtkPlug")
+ (prop-type "GParamInt")
+ (docs "The default height of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property destroy-with-parent
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "If this window should be destroyed when the parent is destroyed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon
+ (of-object "GtkPlug")
+ (prop-type "GParamObject")
+ (docs "Icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkPlug")
+ (prop-type "GParamString")
+ (docs "Name of the themed icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property screen
+ (of-object "GtkPlug")
+ (prop-type "GParamObject")
+ (docs "The screen where this window will be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type-hint
+ (of-object "GtkPlug")
+ (prop-type "GParamEnum")
+ (docs "Hint to help the desktop environment understand what kind of window this is and how to treat it.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-taskbar-hint
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the task bar.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-pager-hint
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the pager.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property urgency-hint
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should be brought to the user's attention.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accept-focus
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property focus-on-map
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus when mapped.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property decorated
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window should be decorated by the window manager")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property deletable
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window frame should have a close button")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gravity
+ (of-object "GtkPlug")
+ (prop-type "GParamEnum")
+ (docs "The window gravity of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property transient-for
+ (of-object "GtkPlug")
+ (prop-type "GParamObject")
+ (docs "The transient parent of the dialog")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property opacity
+ (of-object "GtkPlug")
+ (prop-type "GParamDouble")
+ (docs "The opacity of the window, from 0 to 1")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-active
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toplevel is the current active window")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property has-toplevel-focus
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "Whether the input focus is within this GtkWindow")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property embedded
+ (of-object "GtkPlug")
+ (prop-type "GParamBoolean")
+ (docs "Whether or not the plug is embedded")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+;; From GtkPreview
+
+(define-property user-data
+ (of-object "GtkPreview")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkPreview")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkPreview")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkPreview")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkPreview")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkPreview")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkPreview")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkPreview")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkPreview")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkPreview")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkPreview")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkPreview")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkPreview")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkPreview")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkPreview")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkPreview")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkPreview")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkPreview")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkPreview")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkPreview")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkPreview")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkPreview")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property expand
+ (of-object "GtkPreview")
+ (prop-type "GParamBoolean")
+ (docs "Whether the preview widget should take up the entire space it is allocated")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkPrintOperation
+
+(define-signal status-changed
+ (of-object "GtkPrintOperation")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal done
+ (of-object "GtkPrintOperation")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkPrintOperationResult" "p0")
+ )
+)
+
+(define-signal begin-print
+ (of-object "GtkPrintOperation")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkPrintContext*" "p0")
+ )
+)
+
+(define-signal paginate
+ (of-object "GtkPrintOperation")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GtkPrintContext*" "p0")
+ )
+)
+
+(define-signal request-page-setup
+ (of-object "GtkPrintOperation")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkPrintContext*" "p0")
+ '("gint" "p1")
+ '("GtkPageSetup*" "p2")
+ )
+)
+
+(define-signal draw-page
+ (of-object "GtkPrintOperation")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkPrintContext*" "p0")
+ '("gint" "p1")
+ )
+)
+
+(define-signal end-print
+ (of-object "GtkPrintOperation")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkPrintContext*" "p0")
+ )
+)
+
+(define-signal create-custom-widget
+ (of-object "GtkPrintOperation")
+ (return-type "GtkWidget*")
+ (when "last")
+)
+
+(define-signal custom-widget-apply
+ (of-object "GtkPrintOperation")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkWidget*" "p0")
+ )
+)
+
+(define-signal preview
+ (of-object "GtkPrintOperation")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GtkPrintOperationPreview*" "p0")
+ '("GtkPrintContext*" "p1")
+ '("GtkWindow*" "p2")
+ )
+)
+
+(define-property default-page-setup
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamObject")
+ (docs "The GtkPageSetup used by default")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property print-settings
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamObject")
+ (docs "The GtkPrintSettings used for initializing the dialog")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property job-name
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamString")
+ (docs "A string used for identifying the print job.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property n-pages
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamInt")
+ (docs "The number of pages in the document.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property current-page
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamInt")
+ (docs "The current page in the document")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-full-page
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the origin of the context should be at the corner of the page and not the corner of the imageable area")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property track-print-status
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the print operation will continue to report on the print job status after the print data has been sent to the printer or print server.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property unit
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamEnum")
+ (docs "The unit in which distances can be measured in the context")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-progress
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if a progress dialog is shown while printing.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-async
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if print process may run asynchronous.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property export-filename
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamString")
+ (docs "Export filename")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property status
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamEnum")
+ (docs "The status of the print operation")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property status-string
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamString")
+ (docs "A human-readable description of the status")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property custom-tab-label
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamString")
+ (docs "Label for the tab containing custom widgets.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkPrinter
+
+(define-signal details-acquired
+ (of-object "GtkPrinter")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gboolean" "p0")
+ )
+)
+
+(define-property name
+ (of-object "GtkPrinter")
+ (prop-type "GParamString")
+ (docs "Name of the printer")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property backend
+ (of-object "GtkPrinter")
+ (prop-type "GParamObject")
+ (docs "Backend for the printer")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property is-virtual
+ (of-object "GtkPrinter")
+ (prop-type "GParamBoolean")
+ (docs "FALSE if this represents a real hardware printer")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property state-message
+ (of-object "GtkPrinter")
+ (prop-type "GParamString")
+ (docs "String giving the current state of the printer")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property location
+ (of-object "GtkPrinter")
+ (prop-type "GParamString")
+ (docs "The location of the printer")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkPrinter")
+ (prop-type "GParamString")
+ (docs "The icon name to use for the printer")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property job-count
+ (of-object "GtkPrinter")
+ (prop-type "GParamInt")
+ (docs "Number of jobs queued in the printer")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property accepts-pdf
+ (of-object "GtkPrinter")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if this printer can accept PDF")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property accepts-ps
+ (of-object "GtkPrinter")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if this printer can accept PostScript")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+;; From GtkPrintJob
+
+(define-signal status-changed
+ (of-object "GtkPrintJob")
+ (return-type "void")
+ (when "last")
+)
+
+(define-property title
+ (of-object "GtkPrintJob")
+ (prop-type "GParamString")
+ (docs "Title of the print job")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property printer
+ (of-object "GtkPrintJob")
+ (prop-type "GParamObject")
+ (docs "Printer to print the job to")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property page-setup
+ (of-object "GtkPrintJob")
+ (prop-type "GParamObject")
+ (docs "Page Setup")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property settings
+ (of-object "GtkPrintJob")
+ (prop-type "GParamObject")
+ (docs "Printer settings")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property track-print-status
+ (of-object "GtkPrintJob")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the print job will continue to emit status-changed signals after the print data has been sent to the printer or print server.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkPrintOperation
+
+(define-signal done
+ (of-object "GtkPrintOperation")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkPrintOperationResult" "p0")
+ )
+)
+
+(define-signal begin-print
+ (of-object "GtkPrintOperation")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkPrintContext*" "p0")
+ )
+)
+
+(define-signal paginate
+ (of-object "GtkPrintOperation")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GtkPrintContext*" "p0")
+ )
+)
+
+(define-signal request-page-setup
+ (of-object "GtkPrintOperation")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkPrintContext*" "p0")
+ '("gint" "p1")
+ '("GtkPageSetup*" "p2")
+ )
+)
+
+(define-signal draw-page
+ (of-object "GtkPrintOperation")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkPrintContext*" "p0")
+ '("gint" "p1")
+ )
+)
+
+(define-signal end-print
+ (of-object "GtkPrintOperation")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkPrintContext*" "p0")
+ )
+)
+
+(define-signal status-changed
+ (of-object "GtkPrintOperation")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal create-custom-widget
+ (of-object "GtkPrintOperation")
+ (return-type "GtkWidget*")
+ (when "last")
+)
+
+(define-signal custom-widget-apply
+ (of-object "GtkPrintOperation")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkWidget*" "p0")
+ )
+)
+
+(define-signal preview
+ (of-object "GtkPrintOperation")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GtkPrintOperationPreview*" "p0")
+ '("GtkPrintContext*" "p1")
+ '("GtkWindow*" "p2")
+ )
+)
+
+(define-property default-page-setup
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamObject")
+ (docs "The GtkPageSetup used by default")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property print-settings
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamObject")
+ (docs "The GtkPrintSettings used for initializing the dialog")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property job-name
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamString")
+ (docs "A string used for identifying the print job.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property n-pages
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamInt")
+ (docs "The number of pages in the document.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property current-page
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamInt")
+ (docs "The current page in the document")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-full-page
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the origin of the context should be at the corner of the page and not the corner of the imageable area")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property track-print-status
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the print operation will continue to report on the print job status after the print data has been sent to the printer or print server.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property unit
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamEnum")
+ (docs "The unit in which distances can be measured in the context")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-progress
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if a progress dialog is shown while printing.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-async
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if print process may run asynchronous.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property export-filename
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamString")
+ (docs "Export filename")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property status
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamEnum")
+ (docs "The status of the print operation")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property status-string
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamString")
+ (docs "A human-readable description of the status")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property custom-tab-label
+ (of-object "GtkPrintOperation")
+ (prop-type "GParamString")
+ (docs "Label for the tab containing custom widgets.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+
+;; From GtkPageSetupUnixDialog
+
+(define-property user-data
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamEnum")
+ (docs "The type of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property title
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamString")
+ (docs "The title of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property role
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamString")
+ (docs "Unique identifier for the window to be used when restoring a session")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property startup-id
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamString")
+ (docs "Unique startup identifier for the window used by startup-notification")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-shrink
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window has no mimimum size. Setting this to TRUE is 99% of the time a bad idea")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-grow
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can expand the window beyond its minimum size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resizable
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can resize the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property modal
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window is modal (other windows are not usable while this one is up)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property window-position
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamEnum")
+ (docs "The initial position of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-width
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamInt")
+ (docs "The default width of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-height
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamInt")
+ (docs "The default height of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property destroy-with-parent
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "If this window should be destroyed when the parent is destroyed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamObject")
+ (docs "Icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamString")
+ (docs "Name of the themed icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property screen
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamObject")
+ (docs "The screen where this window will be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type-hint
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamEnum")
+ (docs "Hint to help the desktop environment understand what kind of window this is and how to treat it.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-taskbar-hint
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the task bar.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-pager-hint
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the pager.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property urgency-hint
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should be brought to the user's attention.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accept-focus
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property focus-on-map
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus when mapped.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property decorated
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window should be decorated by the window manager")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property deletable
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window frame should have a close button")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gravity
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamEnum")
+ (docs "The window gravity of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property transient-for
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamObject")
+ (docs "The transient parent of the dialog")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property opacity
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamDouble")
+ (docs "The opacity of the window, from 0 to 1")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-active
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toplevel is the current active window")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property has-toplevel-focus
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the input focus is within this GtkWindow")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property has-separator
+ (of-object "GtkPageSetupUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "The dialog has a separator bar above its buttons")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkPrintUnixDialog
+
+(define-property user-data
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamEnum")
+ (docs "The type of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property title
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamString")
+ (docs "The title of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property role
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamString")
+ (docs "Unique identifier for the window to be used when restoring a session")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property startup-id
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamString")
+ (docs "Unique startup identifier for the window used by startup-notification")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-shrink
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window has no mimimum size. Setting this to TRUE is 99% of the time a bad idea")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-grow
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can expand the window beyond its minimum size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resizable
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can resize the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property modal
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window is modal (other windows are not usable while this one is up)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property window-position
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamEnum")
+ (docs "The initial position of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-width
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamInt")
+ (docs "The default width of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-height
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamInt")
+ (docs "The default height of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property destroy-with-parent
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "If this window should be destroyed when the parent is destroyed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamObject")
+ (docs "Icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamString")
+ (docs "Name of the themed icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property screen
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamObject")
+ (docs "The screen where this window will be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type-hint
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamEnum")
+ (docs "Hint to help the desktop environment understand what kind of window this is and how to treat it.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-taskbar-hint
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the task bar.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-pager-hint
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the pager.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property urgency-hint
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should be brought to the user's attention.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accept-focus
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property focus-on-map
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus when mapped.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property decorated
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window should be decorated by the window manager")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property deletable
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window frame should have a close button")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gravity
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamEnum")
+ (docs "The window gravity of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property transient-for
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamObject")
+ (docs "The transient parent of the dialog")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property opacity
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamDouble")
+ (docs "The opacity of the window, from 0 to 1")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-active
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toplevel is the current active window")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property has-toplevel-focus
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "Whether the input focus is within this GtkWindow")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property has-separator
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamBoolean")
+ (docs "The dialog has a separator bar above its buttons")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property page-setup
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamObject")
+ (docs "The GtkPageSetup to use")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property current-page
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamInt")
+ (docs "The current page in the document")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property print-settings
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamObject")
+ (docs "The GtkPrintSettings used for initializing the dialog")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property selected-printer
+ (of-object "GtkPrintUnixDialog")
+ (prop-type "GParamObject")
+ (docs "The GtkPrinter which is selected")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+;; From GtkProgress
+
+(define-property user-data
+ (of-object "GtkProgress")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkProgress")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkProgress")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkProgress")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkProgress")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkProgress")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkProgress")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkProgress")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkProgress")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkProgress")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkProgress")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkProgress")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkProgress")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkProgress")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkProgress")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkProgress")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkProgress")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkProgress")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkProgress")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkProgress")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkProgress")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkProgress")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property activity-mode
+ (of-object "GtkProgress")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the GtkProgress is in activity mode, meaning that it signals something is happening, but not how much of the activity is finished. This is used when you're doing something but don't know how long it will take.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-text
+ (of-object "GtkProgress")
+ (prop-type "GParamBoolean")
+ (docs "Whether the progress is shown as text.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property text-xalign
+ (of-object "GtkProgress")
+ (prop-type "GParamFloat")
+ (docs "The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property text-yalign
+ (of-object "GtkProgress")
+ (prop-type "GParamFloat")
+ (docs "The vertical text alignment, from 0 (top) to 1 (bottom).")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkProgressBar
+
+(define-property user-data
+ (of-object "GtkProgressBar")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkProgressBar")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkProgressBar")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkProgressBar")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkProgressBar")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkProgressBar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkProgressBar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkProgressBar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkProgressBar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkProgressBar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkProgressBar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkProgressBar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkProgressBar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkProgressBar")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkProgressBar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkProgressBar")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkProgressBar")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkProgressBar")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkProgressBar")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkProgressBar")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkProgressBar")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkProgressBar")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property activity-mode
+ (of-object "GtkProgressBar")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the GtkProgress is in activity mode, meaning that it signals something is happening, but not how much of the activity is finished. This is used when you're doing something but don't know how long it will take.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-text
+ (of-object "GtkProgressBar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the progress is shown as text.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property text-xalign
+ (of-object "GtkProgressBar")
+ (prop-type "GParamFloat")
+ (docs "The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property text-yalign
+ (of-object "GtkProgressBar")
+ (prop-type "GParamFloat")
+ (docs "The vertical text alignment, from 0 (top) to 1 (bottom).")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property fraction
+ (of-object "GtkProgressBar")
+ (prop-type "GParamDouble")
+ (docs "The fraction of total work that has been completed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pulse-step
+ (of-object "GtkProgressBar")
+ (prop-type "GParamDouble")
+ (docs "The fraction of total progress to move the bouncing block when pulsed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property orientation
+ (of-object "GtkProgressBar")
+ (prop-type "GParamEnum")
+ (docs "Orientation and growth direction of the progress bar")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property text
+ (of-object "GtkProgressBar")
+ (prop-type "GParamString")
+ (docs "Text to be displayed in the progress bar")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ellipsize
+ (of-object "GtkProgressBar")
+ (prop-type "GParamEnum")
+ (docs "The preferred place to ellipsize the string, if the progress bar does not have enough room to display the entire string, if at all.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property adjustment
+ (of-object "GtkProgressBar")
+ (prop-type "GParamObject")
+ (docs "The GtkAdjustment connected to the progress bar (Deprecated)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property bar-style
+ (of-object "GtkProgressBar")
+ (prop-type "GParamEnum")
+ (docs "Specifies the visual style of the bar in percentage mode (Deprecated)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property activity-step
+ (of-object "GtkProgressBar")
+ (prop-type "GParamUInt")
+ (docs "The increment used for each iteration in activity mode (Deprecated)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property activity-blocks
+ (of-object "GtkProgressBar")
+ (prop-type "GParamUInt")
+ (docs "The number of blocks which can fit in the progress bar area in activity mode (Deprecated)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property discrete-blocks
+ (of-object "GtkProgressBar")
+ (prop-type "GParamUInt")
+ (docs "The number of discrete blocks in a progress bar (when shown in the discrete style)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkRadioButton
+
+(define-signal group-changed
+ (of-object "GtkRadioButton")
+ (return-type "void")
+ (when "first")
+)
+
+(define-property user-data
+ (of-object "GtkRadioButton")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkRadioButton")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkRadioButton")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkRadioButton")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkRadioButton")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkRadioButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkRadioButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkRadioButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkRadioButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkRadioButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkRadioButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkRadioButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkRadioButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkRadioButton")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkRadioButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkRadioButton")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkRadioButton")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkRadioButton")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkRadioButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkRadioButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkRadioButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkRadioButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkRadioButton")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkRadioButton")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkRadioButton")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label
+ (of-object "GtkRadioButton")
+ (prop-type "GParamString")
+ (docs "Text of the label widget inside the button, if the button contains a label widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property image
+ (of-object "GtkRadioButton")
+ (prop-type "GParamObject")
+ (docs "Child widget to appear next to the button text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property relief
+ (of-object "GtkRadioButton")
+ (prop-type "GParamEnum")
+ (docs "The border relief style")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-underline
+ (of-object "GtkRadioButton")
+ (prop-type "GParamBoolean")
+ (docs "If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-stock
+ (of-object "GtkRadioButton")
+ (prop-type "GParamBoolean")
+ (docs "If set, the label is used to pick a stock item instead of being displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property focus-on-click
+ (of-object "GtkRadioButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the button grabs focus when it is clicked with the mouse")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkRadioButton")
+ (prop-type "GParamFloat")
+ (docs "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkRadioButton")
+ (prop-type "GParamFloat")
+ (docs "Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property image-position
+ (of-object "GtkRadioButton")
+ (prop-type "GParamEnum")
+ (docs "The position of the image relative to the text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property active
+ (of-object "GtkRadioButton")
+ (prop-type "GParamBoolean")
+ (docs "If the toggle button should be pressed in or not")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property inconsistent
+ (of-object "GtkRadioButton")
+ (prop-type "GParamBoolean")
+ (docs "If the toggle button is in an in between state")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property draw-indicator
+ (of-object "GtkRadioButton")
+ (prop-type "GParamBoolean")
+ (docs "If the toggle part of the button is displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property group
+ (of-object "GtkRadioButton")
+ (prop-type "GParamObject")
+ (docs "The radio button whose group this widget belongs to.")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkRadioToolButton
+
+(define-property user-data
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-horizontal
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is visible when the toolbar is in a horizontal orientation.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-vertical
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is visible when the toolbar is in a vertical orientation.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-important
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is considered important. When TRUE, toolbar buttons show text in GTK_TOOLBAR_BOTH_HORIZ mode")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamString")
+ (docs "Text to show in the item.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-underline
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamBoolean")
+ (docs "If set, an underline in the label property indicates that the next character should be used for the mnemonic accelerator key in the overflow menu")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label-widget
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamObject")
+ (docs "Widget to use as the item label")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property stock-id
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamString")
+ (docs "The stock icon displayed on the item")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamString")
+ (docs "The name of the themed icon displayed on the item")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-widget
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamObject")
+ (docs "Icon widget to display in the item")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property active
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamBoolean")
+ (docs "If the toggle button should be pressed in or not")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property group
+ (of-object "GtkRadioToolButton")
+ (prop-type "GParamObject")
+ (docs "The radio tool button whose group this button belongs to.")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkRadioAction
+
+(define-signal changed
+ (of-object "GtkRadioAction")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkRadioAction*" "p0")
+ )
+)
+
+(define-property name
+ (of-object "GtkRadioAction")
+ (prop-type "GParamString")
+ (docs "A unique name for the action.")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property label
+ (of-object "GtkRadioAction")
+ (prop-type "GParamString")
+ (docs "The label used for menu items and buttons that activate this action.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property short-label
+ (of-object "GtkRadioAction")
+ (prop-type "GParamString")
+ (docs "A shorter label that may be used on toolbar buttons.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip
+ (of-object "GtkRadioAction")
+ (prop-type "GParamString")
+ (docs "A tooltip for this action.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property stock-id
+ (of-object "GtkRadioAction")
+ (prop-type "GParamString")
+ (docs "The stock icon displayed in widgets representing this action.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkRadioAction")
+ (prop-type "GParamString")
+ (docs "The name of the icon from the icon theme")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-horizontal
+ (of-object "GtkRadioAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is visible when the toolbar is in a horizontal orientation.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-vertical
+ (of-object "GtkRadioAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is visible when the toolbar is in a vertical orientation.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-overflown
+ (of-object "GtkRadioAction")
+ (prop-type "GParamBoolean")
+ (docs "When TRUE, toolitem proxies for this action are represented in the toolbar overflow menu.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-important
+ (of-object "GtkRadioAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the action is considered important. When TRUE, toolitem proxies for this action show text in GTK_TOOLBAR_BOTH_HORIZ mode.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property hide-if-empty
+ (of-object "GtkRadioAction")
+ (prop-type "GParamBoolean")
+ (docs "When TRUE, empty menu proxies for this action are hidden.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkRadioAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the action is enabled.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkRadioAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the action is visible.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property action-group
+ (of-object "GtkRadioAction")
+ (prop-type "GParamObject")
+ (docs "The GtkActionGroup this GtkAction is associated with, or NULL (for internal use).")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property draw-as-radio
+ (of-object "GtkRadioAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the proxies for this action look like radio action proxies")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property active
+ (of-object "GtkRadioAction")
+ (prop-type "GParamBoolean")
+ (docs "If the toggle action should be active in or not")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property value
+ (of-object "GtkRadioAction")
+ (prop-type "GParamInt")
+ (docs "The value returned by gtk_radio_action_get_current_value() when this action is the current action of its group.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property group
+ (of-object "GtkRadioAction")
+ (prop-type "GParamObject")
+ (docs "The radio action whose group this action belongs to.")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property current-value
+ (of-object "GtkRadioAction")
+ (prop-type "GParamInt")
+ (docs "The value property of the currently active member of the group to which this action belongs.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkRadioMenuItem
+
+(define-signal group-changed
+ (of-object "GtkRadioMenuItem")
+ (return-type "void")
+ (when "first")
+)
+
+(define-property user-data
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property submenu
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamObject")
+ (docs "The submenu attached to the menu item, or NULL if it has none")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property active
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the menu item is checked")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property inconsistent
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether to display an inconsistent state")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property draw-as-radio
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the menu item looks like a radio menu item")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property group
+ (of-object "GtkRadioMenuItem")
+ (prop-type "GParamObject")
+ (docs "The radio menu item whose group this widget belongs to.")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkRange
+
+(define-signal value-changed
+ (of-object "GtkRange")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal change-value
+ (of-object "GtkRange")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GtkScrollType" "p0")
+ '("gdouble" "p1")
+ )
+)
+
+(define-signal adjust-bounds
+ (of-object "GtkRange")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gdouble" "p0")
+ )
+)
+
+(define-signal move-slider
+ (of-object "GtkRange")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkScrollType" "p0")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkRange")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkRange")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkRange")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkRange")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkRange")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkRange")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkRange")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkRange")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkRange")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkRange")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkRange")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkRange")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkRange")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkRange")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkRange")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkRange")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkRange")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkRange")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkRange")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkRange")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkRange")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkRange")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property update-policy
+ (of-object "GtkRange")
+ (prop-type "GParamEnum")
+ (docs "How the range should be updated on the screen")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property adjustment
+ (of-object "GtkRange")
+ (prop-type "GParamObject")
+ (docs "The GtkAdjustment that contains the current value of this range object")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property inverted
+ (of-object "GtkRange")
+ (prop-type "GParamBoolean")
+ (docs "Invert direction slider moves to increase range value")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property lower-stepper-sensitivity
+ (of-object "GtkRange")
+ (prop-type "GParamEnum")
+ (docs "The sensitivity policy for the stepper that points to the adjustment's lower side")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property upper-stepper-sensitivity
+ (of-object "GtkRange")
+ (prop-type "GParamEnum")
+ (docs "The sensitivity policy for the stepper that points to the adjustment's upper side")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-fill-level
+ (of-object "GtkRange")
+ (prop-type "GParamBoolean")
+ (docs "Whether to display a fill level indicator graphics on trough.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property restrict-to-fill-level
+ (of-object "GtkRange")
+ (prop-type "GParamBoolean")
+ (docs "Whether to restrict the upper boundary to the fill level.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property fill-level
+ (of-object "GtkRange")
+ (prop-type "GParamDouble")
+ (docs "The fill level.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+
+;; From GtkRecentAction
+
+(define-property sort-type
+ (of-object "GtkRecentAction")
+ (prop-type "GParamEnum")
+ (docs "The sorting order of the items displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property filter
+ (of-object "GtkRecentAction")
+ (prop-type "GParamObject")
+ (docs "The current filter for selecting which resources are displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-private
+ (of-object "GtkRecentAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the private items should be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-tips
+ (of-object "GtkRecentAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether there should be a tooltip on the item")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property limit
+ (of-object "GtkRecentAction")
+ (prop-type "GParamInt")
+ (docs "The maximum number of items to be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property local-only
+ (of-object "GtkRecentAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the selected resource(s) should be limited to local file: URIs")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-not-found
+ (of-object "GtkRecentAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the items pointing to unavailable resources should be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-icons
+ (of-object "GtkRecentAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether there should be an icon near the item")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property recent-manager
+ (of-object "GtkRecentAction")
+ (prop-type "GParamObject")
+ (docs "The RecentManager object to use")
+ (readable #f)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property select-multiple
+ (of-object "GtkRecentAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether to allow multiple items to be selected")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkRecentAction")
+ (prop-type "GParamString")
+ (docs "A unique name for the action.")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property label
+ (of-object "GtkRecentAction")
+ (prop-type "GParamString")
+ (docs "The label used for menu items and buttons that activate this action.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property short-label
+ (of-object "GtkRecentAction")
+ (prop-type "GParamString")
+ (docs "A shorter label that may be used on toolbar buttons.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip
+ (of-object "GtkRecentAction")
+ (prop-type "GParamString")
+ (docs "A tooltip for this action.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property stock-id
+ (of-object "GtkRecentAction")
+ (prop-type "GParamString")
+ (docs "The stock icon displayed in widgets representing this action.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkRecentAction")
+ (prop-type "GParamString")
+ (docs "The name of the icon from the icon theme")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-horizontal
+ (of-object "GtkRecentAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is visible when the toolbar is in a horizontal orientation.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-vertical
+ (of-object "GtkRecentAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is visible when the toolbar is in a vertical orientation.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-overflown
+ (of-object "GtkRecentAction")
+ (prop-type "GParamBoolean")
+ (docs "When TRUE, toolitem proxies for this action are represented in the toolbar overflow menu.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-important
+ (of-object "GtkRecentAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the action is considered important. When TRUE, toolitem proxies for this action show text in GTK_TOOLBAR_BOTH_HORIZ mode.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property hide-if-empty
+ (of-object "GtkRecentAction")
+ (prop-type "GParamBoolean")
+ (docs "When TRUE, empty menu proxies for this action are hidden.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkRecentAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the action is enabled.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkRecentAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the action is visible.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property action-group
+ (of-object "GtkRecentAction")
+ (prop-type "GParamObject")
+ (docs "The GtkActionGroup this GtkAction is associated with, or NULL (for internal use).")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-numbers
+ (of-object "GtkRecentAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the items should be displayed with a number")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkRecentChooser
+
+(define-signal selection-changed
+ (of-object "GtkRecentChooser")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal item-activated
+ (of-object "GtkRecentChooser")
+ (return-type "void")
+ (when "last")
+)
+
+;; From GtkRecentChooserMenu
+
+(define-property show-tips
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether there should be a tooltip on the item")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property limit
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamInt")
+ (docs "The maximum number of items to be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property filter
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamObject")
+ (docs "The current filter for selecting which resources are displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property recent-manager
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamObject")
+ (docs "The RecentManager object to use")
+ (readable #f)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property select-multiple
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether to allow multiple items to be selected")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property local-only
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the selected resource(s) should be limited to local file: URIs")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sort-type
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamEnum")
+ (docs "The sorting order of the items displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-not-found
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the items pointing to unavailable resources should be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-icons
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether there should be an icon near the item")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-private
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the private items should be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property user-data
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property take-focus
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamBoolean")
+ (docs "A boolean that determines whether the menu grabs the keyboard focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tearoff-state
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamBoolean")
+ (docs "A boolean that indicates whether the menu is torn-off")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tearoff-title
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamString")
+ (docs "A title that may be displayed by the window manager when this menu is torn-off")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-numbers
+ (of-object "GtkRecentChooserMenu")
+ (prop-type "GParamBoolean")
+ (docs "Whether the items should be displayed with a number")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkRecentChooserWidget
+
+(define-property show-tips
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether there should be a tooltip on the item")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property limit
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamInt")
+ (docs "The maximum number of items to be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property filter
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamObject")
+ (docs "The current filter for selecting which resources are displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property recent-manager
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamObject")
+ (docs "The RecentManager object to use")
+ (readable #f)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property select-multiple
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether to allow multiple items to be selected")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property local-only
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the selected resource(s) should be limited to local file: URIs")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sort-type
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamEnum")
+ (docs "The sorting order of the items displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-not-found
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the items pointing to unavailable resources should be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-icons
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether there should be an icon near the item")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-private
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the private items should be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property user-data
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property spacing
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamInt")
+ (docs "The amount of space between children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property homogeneous
+ (of-object "GtkRecentChooserWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the children should all be the same size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkRecentFilter
+
+(define-property user-data
+ (of-object "GtkRecentFilter")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkRecentManager
+
+(define-signal changed
+ (of-object "GtkRecentManager")
+ (return-type "void")
+ (when "first")
+)
+
+(define-property filename
+ (of-object "GtkRecentManager")
+ (prop-type "GParamString")
+ (docs "The full path to the file to be used to store and read the list")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property limit
+ (of-object "GtkRecentManager")
+ (prop-type "GParamInt")
+ (docs "The maximum number of items to be returned by gtk_recent_manager_get_items()")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property size
+ (of-object "GtkRecentManager")
+ (prop-type "GParamInt")
+ (docs "The size of the recently used resources list")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+;; From GtkRuler
+
+(define-property user-data
+ (of-object "GtkRuler")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkRuler")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkRuler")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkRuler")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkRuler")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkRuler")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkRuler")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkRuler")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkRuler")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkRuler")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkRuler")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkRuler")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkRuler")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkRuler")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkRuler")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkRuler")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkRuler")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkRuler")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkRuler")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkRuler")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkRuler")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkRuler")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property lower
+ (of-object "GtkRuler")
+ (prop-type "GParamDouble")
+ (docs "Lower limit of ruler")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property upper
+ (of-object "GtkRuler")
+ (prop-type "GParamDouble")
+ (docs "Upper limit of ruler")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property position
+ (of-object "GtkRuler")
+ (prop-type "GParamDouble")
+ (docs "Position of mark on the ruler")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property max-size
+ (of-object "GtkRuler")
+ (prop-type "GParamDouble")
+ (docs "Maximum size of the ruler")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property metric
+ (of-object "GtkRuler")
+ (prop-type "GParamEnum")
+ (docs "The metric used for the ruler")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkScale
+
+(define-signal format-value
+ (of-object "GtkScale")
+ (return-type "gchar*")
+ (when "last")
+ (parameters
+ '("gdouble" "p0")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkScale")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkScale")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkScale")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkScale")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkScale")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkScale")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkScale")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkScale")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkScale")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkScale")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkScale")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkScale")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkScale")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkScale")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkScale")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkScale")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkScale")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkScale")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkScale")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkScale")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkScale")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkScale")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property update-policy
+ (of-object "GtkScale")
+ (prop-type "GParamEnum")
+ (docs "How the range should be updated on the screen")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property adjustment
+ (of-object "GtkScale")
+ (prop-type "GParamObject")
+ (docs "The GtkAdjustment that contains the current value of this range object")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property inverted
+ (of-object "GtkScale")
+ (prop-type "GParamBoolean")
+ (docs "Invert direction slider moves to increase range value")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property lower-stepper-sensitivity
+ (of-object "GtkScale")
+ (prop-type "GParamEnum")
+ (docs "The sensitivity policy for the stepper that points to the adjustment's lower side")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property upper-stepper-sensitivity
+ (of-object "GtkScale")
+ (prop-type "GParamEnum")
+ (docs "The sensitivity policy for the stepper that points to the adjustment's upper side")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-fill-level
+ (of-object "GtkScale")
+ (prop-type "GParamBoolean")
+ (docs "Whether to display a fill level indicator graphics on trough.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property restrict-to-fill-level
+ (of-object "GtkScale")
+ (prop-type "GParamBoolean")
+ (docs "Whether to restrict the upper boundary to the fill level.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property fill-level
+ (of-object "GtkScale")
+ (prop-type "GParamDouble")
+ (docs "The fill level.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property digits
+ (of-object "GtkScale")
+ (prop-type "GParamInt")
+ (docs "The number of decimal places that are displayed in the value")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property draw-value
+ (of-object "GtkScale")
+ (prop-type "GParamBoolean")
+ (docs "Whether the current value is displayed as a string next to the slider")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property value-pos
+ (of-object "GtkScale")
+ (prop-type "GParamEnum")
+ (docs "The position in which the current value is displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkScaleButton
+
+(define-signal value-changed
+ (of-object "GtkScaleButton")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gdouble" "p0")
+ )
+)
+
+(define-signal popup
+ (of-object "GtkScaleButton")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal popdown
+ (of-object "GtkScaleButton")
+ (return-type "void")
+ (when "last")
+)
+
+(define-property user-data
+ (of-object "GtkScaleButton")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkScaleButton")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkScaleButton")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkScaleButton")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkScaleButton")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkScaleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkScaleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkScaleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkScaleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkScaleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkScaleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkScaleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkScaleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkScaleButton")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkScaleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkScaleButton")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkScaleButton")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkScaleButton")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkScaleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkScaleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkScaleButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkScaleButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkScaleButton")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkScaleButton")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkScaleButton")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label
+ (of-object "GtkScaleButton")
+ (prop-type "GParamString")
+ (docs "Text of the label widget inside the button, if the button contains a label widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property image
+ (of-object "GtkScaleButton")
+ (prop-type "GParamObject")
+ (docs "Child widget to appear next to the button text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property relief
+ (of-object "GtkScaleButton")
+ (prop-type "GParamEnum")
+ (docs "The border relief style")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-underline
+ (of-object "GtkScaleButton")
+ (prop-type "GParamBoolean")
+ (docs "If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-stock
+ (of-object "GtkScaleButton")
+ (prop-type "GParamBoolean")
+ (docs "If set, the label is used to pick a stock item instead of being displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property focus-on-click
+ (of-object "GtkScaleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the button grabs focus when it is clicked with the mouse")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkScaleButton")
+ (prop-type "GParamFloat")
+ (docs "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkScaleButton")
+ (prop-type "GParamFloat")
+ (docs "Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property image-position
+ (of-object "GtkScaleButton")
+ (prop-type "GParamEnum")
+ (docs "The position of the image relative to the text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property value
+ (of-object "GtkScaleButton")
+ (prop-type "GParamDouble")
+ (docs "The value of the scale")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property size
+ (of-object "GtkScaleButton")
+ (prop-type "GParamEnum")
+ (docs "The icon size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property adjustment
+ (of-object "GtkScaleButton")
+ (prop-type "GParamObject")
+ (docs "The GtkAdjustment that contains the current value of this scale button object")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icons
+ (of-object "GtkScaleButton")
+ (prop-type "GParamBoxed")
+ (docs "List of icon names")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkScrollbar
+
+(define-property user-data
+ (of-object "GtkScrollbar")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkScrollbar")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkScrollbar")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkScrollbar")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkScrollbar")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkScrollbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkScrollbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkScrollbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkScrollbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkScrollbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkScrollbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkScrollbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkScrollbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkScrollbar")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkScrollbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkScrollbar")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkScrollbar")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkScrollbar")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkScrollbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkScrollbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkScrollbar")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkScrollbar")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property update-policy
+ (of-object "GtkScrollbar")
+ (prop-type "GParamEnum")
+ (docs "How the range should be updated on the screen")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property adjustment
+ (of-object "GtkScrollbar")
+ (prop-type "GParamObject")
+ (docs "The GtkAdjustment that contains the current value of this range object")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property inverted
+ (of-object "GtkScrollbar")
+ (prop-type "GParamBoolean")
+ (docs "Invert direction slider moves to increase range value")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property lower-stepper-sensitivity
+ (of-object "GtkScrollbar")
+ (prop-type "GParamEnum")
+ (docs "The sensitivity policy for the stepper that points to the adjustment's lower side")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property upper-stepper-sensitivity
+ (of-object "GtkScrollbar")
+ (prop-type "GParamEnum")
+ (docs "The sensitivity policy for the stepper that points to the adjustment's upper side")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-fill-level
+ (of-object "GtkScrollbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether to display a fill level indicator graphics on trough.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property restrict-to-fill-level
+ (of-object "GtkScrollbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether to restrict the upper boundary to the fill level.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property fill-level
+ (of-object "GtkScrollbar")
+ (prop-type "GParamDouble")
+ (docs "The fill level.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkScrolledWindow
+
+(define-signal scroll-child
+ (of-object "GtkScrolledWindow")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GtkScrollType" "p0")
+ '("gboolean" "p1")
+ )
+)
+
+(define-signal move-focus-out
+ (of-object "GtkScrolledWindow")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkDirectionType" "p0")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property hadjustment
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamObject")
+ (docs "The GtkAdjustment for the horizontal position")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property vadjustment
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamObject")
+ (docs "The GtkAdjustment for the vertical position")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property hscrollbar-policy
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamEnum")
+ (docs "When the horizontal scrollbar is displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property vscrollbar-policy
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamEnum")
+ (docs "When the vertical scrollbar is displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property window-placement
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamEnum")
+ (docs "Where the contents are located with respect to the scrollbars. This property only takes effect if window-placement-set is TRUE.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property window-placement-set
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether window-placement should be used to determine the location of the contents with respect to the scrollbars.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property shadow-type
+ (of-object "GtkScrolledWindow")
+ (prop-type "GParamEnum")
+ (docs "Style of bevel around the contents")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkSeparator
+
+(define-property user-data
+ (of-object "GtkSeparator")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkSeparator")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkSeparator")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkSeparator")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkSeparator")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkSeparator")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkSeparator")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkSeparator")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkSeparator")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkSeparator")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkSeparator")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkSeparator")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkSeparator")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkSeparator")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkSeparator")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkSeparator")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkSeparator")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkSeparator")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkSeparator")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkSeparator")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkSeparator")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkSeparator")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkSeparatorToolItem
+
+(define-property user-data
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-horizontal
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is visible when the toolbar is in a horizontal orientation.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-vertical
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is visible when the toolbar is in a vertical orientation.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-important
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is considered important. When TRUE, toolbar buttons show text in GTK_TOOLBAR_BOTH_HORIZ mode")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property draw
+ (of-object "GtkSeparatorToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the separator is drawn, or just blank")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkSettings
+
+(define-property gtk-double-click-time
+ (of-object "GtkSettings")
+ (prop-type "GParamInt")
+ (docs "Maximum time allowed between two clicks for them to be considered a double click (in milliseconds)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-double-click-distance
+ (of-object "GtkSettings")
+ (prop-type "GParamInt")
+ (docs "Maximum distance allowed between two clicks for them to be considered a double click (in pixels)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-cursor-blink
+ (of-object "GtkSettings")
+ (prop-type "GParamBoolean")
+ (docs "Whether the cursor should blink")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-cursor-blink-time
+ (of-object "GtkSettings")
+ (prop-type "GParamInt")
+ (docs "Length of the cursor blink cycle, in milliseconds")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-cursor-blink-timeout
+ (of-object "GtkSettings")
+ (prop-type "GParamInt")
+ (docs "Time after which the cursor stops blinking, in seconds")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-split-cursor
+ (of-object "GtkSettings")
+ (prop-type "GParamBoolean")
+ (docs "Whether two cursors should be displayed for mixed left-to-right and right-to-left text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-theme-name
+ (of-object "GtkSettings")
+ (prop-type "GParamString")
+ (docs "Name of theme RC file to load")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-icon-theme-name
+ (of-object "GtkSettings")
+ (prop-type "GParamString")
+ (docs "Name of icon theme to use")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-fallback-icon-theme
+ (of-object "GtkSettings")
+ (prop-type "GParamString")
+ (docs "Name of a icon theme to fall back to")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-key-theme-name
+ (of-object "GtkSettings")
+ (prop-type "GParamString")
+ (docs "Name of key theme RC file to load")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-menu-bar-accel
+ (of-object "GtkSettings")
+ (prop-type "GParamString")
+ (docs "Keybinding to activate the menu bar")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-dnd-drag-threshold
+ (of-object "GtkSettings")
+ (prop-type "GParamInt")
+ (docs "Number of pixels the cursor can move before dragging")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-font-name
+ (of-object "GtkSettings")
+ (prop-type "GParamString")
+ (docs "Name of default font to use")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-icon-sizes
+ (of-object "GtkSettings")
+ (prop-type "GParamString")
+ (docs "List of icon sizes (gtk-menu=16,16:gtk-button=20,20...)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-modules
+ (of-object "GtkSettings")
+ (prop-type "GParamString")
+ (docs "List of currently active GTK modules")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-xft-antialias
+ (of-object "GtkSettings")
+ (prop-type "GParamInt")
+ (docs "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-xft-hinting
+ (of-object "GtkSettings")
+ (prop-type "GParamInt")
+ (docs "Whether to hint Xft fonts; 0=no, 1=yes, -1=default")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-xft-hintstyle
+ (of-object "GtkSettings")
+ (prop-type "GParamString")
+ (docs "What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-xft-rgba
+ (of-object "GtkSettings")
+ (prop-type "GParamString")
+ (docs "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-xft-dpi
+ (of-object "GtkSettings")
+ (prop-type "GParamInt")
+ (docs "Resolution for Xft, in 1024 * dots/inch. -1 to use default value")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-cursor-theme-name
+ (of-object "GtkSettings")
+ (prop-type "GParamString")
+ (docs "Name of the cursor theme to use, or NULL to use the default theme")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-cursor-theme-size
+ (of-object "GtkSettings")
+ (prop-type "GParamInt")
+ (docs "Size to use for cursors, or 0 to use the default size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-alternative-button-order
+ (of-object "GtkSettings")
+ (prop-type "GParamBoolean")
+ (docs "Whether buttons in dialogs should use the alternative button order")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-alternative-sort-arrows
+ (of-object "GtkSettings")
+ (prop-type "GParamBoolean")
+ (docs "Whether the direction of the sort indicators in list and tree views is inverted compared to the default (where down means ascending)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-show-input-method-menu
+ (of-object "GtkSettings")
+ (prop-type "GParamBoolean")
+ (docs "Whether the context menus of entries and text views should offer to change the input method")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-show-unicode-menu
+ (of-object "GtkSettings")
+ (prop-type "GParamBoolean")
+ (docs "Whether the context menus of entries and text views should offer to insert control characters")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-timeout-initial
+ (of-object "GtkSettings")
+ (prop-type "GParamInt")
+ (docs "Starting value for timeouts, when button is pressed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-timeout-repeat
+ (of-object "GtkSettings")
+ (prop-type "GParamInt")
+ (docs "Repeat value for timeouts, when button is pressed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-timeout-expand
+ (of-object "GtkSettings")
+ (prop-type "GParamInt")
+ (docs "Expand value for timeouts, when a widget is expanding a new region")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-color-scheme
+ (of-object "GtkSettings")
+ (prop-type "GParamString")
+ (docs "A palette of named colors for use in themes")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-enable-animations
+ (of-object "GtkSettings")
+ (prop-type "GParamBoolean")
+ (docs "Whether to enable toolkit-wide animations.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-touchscreen-mode
+ (of-object "GtkSettings")
+ (prop-type "GParamBoolean")
+ (docs "When TRUE, there are no motion notify events delivered on this screen")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-tooltip-timeout
+ (of-object "GtkSettings")
+ (prop-type "GParamInt")
+ (docs "Timeout before tooltip is shown")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-tooltip-browse-timeout
+ (of-object "GtkSettings")
+ (prop-type "GParamInt")
+ (docs "Timeout before tooltip is shown when browse mode is enabled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-tooltip-browse-mode-timeout
+ (of-object "GtkSettings")
+ (prop-type "GParamInt")
+ (docs "Timeout after which browse mode is disabled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-keynav-cursor-only
+ (of-object "GtkSettings")
+ (prop-type "GParamBoolean")
+ (docs "When TRUE, there are only cursor keys available to navigate widgets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-keynav-wrap-around
+ (of-object "GtkSettings")
+ (prop-type "GParamBoolean")
+ (docs "Whether to wrap around when keyboard-navigating widgets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-error-bell
+ (of-object "GtkSettings")
+ (prop-type "GParamBoolean")
+ (docs "When TRUE, keyboard navigation and other errors will cause a beep")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property color-hash
+ (of-object "GtkSettings")
+ (prop-type "GParamBoxed")
+ (docs "A hash table representation of the color scheme.")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property gtk-file-chooser-backend
+ (of-object "GtkSettings")
+ (prop-type "GParamString")
+ (docs "Name of the GtkFileChooser backend to use by default")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-print-backends
+ (of-object "GtkSettings")
+ (prop-type "GParamString")
+ (docs "List of the GtkPrintBackend backends to use by default")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-print-preview-command
+ (of-object "GtkSettings")
+ (prop-type "GParamString")
+ (docs "Command to run when displaying a print preview")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-enable-mnemonics
+ (of-object "GtkSettings")
+ (prop-type "GParamBoolean")
+ (docs "Whether labels should have mnemonics")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-enable-accels
+ (of-object "GtkSettings")
+ (prop-type "GParamBoolean")
+ (docs "Whether menu items should have accelerators")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-toolbar-style
+ (of-object "GtkSettings")
+ (prop-type "GParamEnum")
+ (docs "Whether default toolbars have text only, text and icons, icons only, etc.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-toolbar-icon-size
+ (of-object "GtkSettings")
+ (prop-type "GParamEnum")
+ (docs "Size of icons in default toolbars")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-button-images
+ (of-object "GtkSettings")
+ (prop-type "GParamBoolean")
+ (docs "Whether stock icons should be shown in buttons")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-label-select-on-focus
+ (of-object "GtkSettings")
+ (prop-type "GParamBoolean")
+ (docs "Whether to select the contents of a selectable label when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-entry-select-on-focus
+ (of-object "GtkSettings")
+ (prop-type "GParamBoolean")
+ (docs "Whether to select the contents of an entry when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gtk-entry-password-hint-timeout
+ (of-object "GtkSettings")
+ (prop-type "GParamUInt")
+ (docs "How long to show the last inputted character in hidden entries")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkSizeGroup
+
+(define-property mode
+ (of-object "GtkSizeGroup")
+ (prop-type "GParamEnum")
+ (docs "The directions in which the size group affects the requested sizes of its component widgets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ignore-hidden
+ (of-object "GtkSizeGroup")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, unmapped widgets are ignored when determining the size of the group")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkSocket
+
+(define-signal plug-added
+ (of-object "GtkSocket")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal plug-removed
+ (of-object "GtkSocket")
+ (return-type "gboolean")
+ (when "last")
+)
+
+(define-property user-data
+ (of-object "GtkSocket")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkSocket")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkSocket")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkSocket")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkSocket")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkSocket")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkSocket")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkSocket")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkSocket")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkSocket")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkSocket")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkSocket")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkSocket")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkSocket")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkSocket")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkSocket")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkSocket")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkSocket")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkSocket")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkSocket")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkSocket")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkSocket")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkSocket")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkSocket")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkSocket")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkSpinButton
+
+(define-signal input
+ (of-object "GtkSpinButton")
+ (return-type "gint")
+ (when "last")
+ (parameters
+ '("gdouble*" "p0")
+ )
+)
+
+(define-signal output
+ (of-object "GtkSpinButton")
+ (return-type "gboolean")
+ (when "last")
+)
+
+(define-signal value-changed
+ (of-object "GtkSpinButton")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal wrapped
+ (of-object "GtkSpinButton")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal change-value
+ (of-object "GtkSpinButton")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkScrollType" "p0")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkSpinButton")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkSpinButton")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkSpinButton")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkSpinButton")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkSpinButton")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkSpinButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkSpinButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkSpinButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkSpinButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkSpinButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkSpinButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkSpinButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkSpinButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkSpinButton")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkSpinButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkSpinButton")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkSpinButton")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkSpinButton")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkSpinButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkSpinButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkSpinButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkSpinButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cursor-position
+ (of-object "GtkSpinButton")
+ (prop-type "GParamInt")
+ (docs "The current position of the insertion cursor in chars")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property selection-bound
+ (of-object "GtkSpinButton")
+ (prop-type "GParamInt")
+ (docs "The position of the opposite end of the selection from the cursor in chars")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property editable
+ (of-object "GtkSpinButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the entry contents can be edited")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property max-length
+ (of-object "GtkSpinButton")
+ (prop-type "GParamInt")
+ (docs "Maximum number of characters for this entry. Zero if no maximum")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visibility
+ (of-object "GtkSpinButton")
+ (prop-type "GParamBoolean")
+ (docs "FALSE displays the invisible char instead of the actual text (password mode)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-frame
+ (of-object "GtkSpinButton")
+ (prop-type "GParamBoolean")
+ (docs "FALSE removes outside bevel from entry")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property inner-border
+ (of-object "GtkSpinButton")
+ (prop-type "GParamBoxed")
+ (docs "Border between text and frame. Overrides the inner-border style property")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property invisible-char
+ (of-object "GtkSpinButton")
+ (prop-type "GParamUnichar")
+ (docs "The character to use when masking entry contents (in password mode)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property activates-default
+ (of-object "GtkSpinButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether to activate the default widget (such as the default button in a dialog) when Enter is pressed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-chars
+ (of-object "GtkSpinButton")
+ (prop-type "GParamInt")
+ (docs "Number of characters to leave space for in the entry")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property scroll-offset
+ (of-object "GtkSpinButton")
+ (prop-type "GParamInt")
+ (docs "Number of pixels of the entry scrolled off the screen to the left")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property text
+ (of-object "GtkSpinButton")
+ (prop-type "GParamString")
+ (docs "The contents of the entry")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkSpinButton")
+ (prop-type "GParamFloat")
+ (docs "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property truncate-multiline
+ (of-object "GtkSpinButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether to truncate multiline pastes to one line.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property shadow-type
+ (of-object "GtkSpinButton")
+ (prop-type "GParamEnum")
+ (docs "Which kind of shadow to draw around the entry when has-frame is set")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property adjustment
+ (of-object "GtkSpinButton")
+ (prop-type "GParamObject")
+ (docs "The adjustment that holds the value of the spinbutton")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property climb-rate
+ (of-object "GtkSpinButton")
+ (prop-type "GParamDouble")
+ (docs "The acceleration rate when you hold down a button")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property digits
+ (of-object "GtkSpinButton")
+ (prop-type "GParamUInt")
+ (docs "The number of decimal places to display")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property snap-to-ticks
+ (of-object "GtkSpinButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether erroneous values are automatically changed to a spin button's nearest step increment")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property numeric
+ (of-object "GtkSpinButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether non-numeric characters should be ignored")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property wrap
+ (of-object "GtkSpinButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether a spin button should wrap upon reaching its limits")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property update-policy
+ (of-object "GtkSpinButton")
+ (prop-type "GParamEnum")
+ (docs "Whether the spin button should update always, or only when the value is legal")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property value
+ (of-object "GtkSpinButton")
+ (prop-type "GParamDouble")
+ (docs "Reads the current value, or sets a new value")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkStatusbar
+
+(define-signal text-pushed
+ (of-object "GtkStatusbar")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("guint" "p0")
+ '("const-gchar*" "p1")
+ )
+)
+
+(define-signal text-popped
+ (of-object "GtkStatusbar")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("guint" "p0")
+ '("const-gchar*" "p1")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkStatusbar")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkStatusbar")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkStatusbar")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkStatusbar")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkStatusbar")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkStatusbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkStatusbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkStatusbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkStatusbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkStatusbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkStatusbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkStatusbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkStatusbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkStatusbar")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkStatusbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkStatusbar")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkStatusbar")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkStatusbar")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkStatusbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkStatusbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkStatusbar")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkStatusbar")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkStatusbar")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkStatusbar")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkStatusbar")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property spacing
+ (of-object "GtkStatusbar")
+ (prop-type "GParamInt")
+ (docs "The amount of space between children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property homogeneous
+ (of-object "GtkStatusbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the children should all be the same size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-resize-grip
+ (of-object "GtkStatusbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the statusbar has a grip for resizing the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkStatusIcon
+
+(define-signal size-changed
+ (of-object "GtkStatusIcon")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ )
+)
+
+(define-signal popup-menu
+ (of-object "GtkStatusIcon")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("guint" "p0")
+ '("guint32" "p1")
+ )
+)
+
+(define-signal activate
+ (of-object "GtkStatusIcon")
+ (return-type "void")
+ (when "first")
+)
+
+(define-property pixbuf
+ (of-object "GtkStatusIcon")
+ (prop-type "GParamObject")
+ (docs "A GdkPixbuf to display")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property file
+ (of-object "GtkStatusIcon")
+ (prop-type "GParamString")
+ (docs "Filename to load and display")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property stock
+ (of-object "GtkStatusIcon")
+ (prop-type "GParamString")
+ (docs "Stock ID for a stock image to display")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkStatusIcon")
+ (prop-type "GParamString")
+ (docs "The name of the icon from the icon theme")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property storage-type
+ (of-object "GtkStatusIcon")
+ (prop-type "GParamEnum")
+ (docs "The representation being used for image data")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property size
+ (of-object "GtkStatusIcon")
+ (prop-type "GParamInt")
+ (docs "The size of the icon")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property screen
+ (of-object "GtkStatusIcon")
+ (prop-type "GParamObject")
+ (docs "The screen where this status icon will be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkStatusIcon")
+ (prop-type "GParamBoolean")
+ (docs "Whether or not the status icon is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property orientation
+ (of-object "GtkStatusIcon")
+ (prop-type "GParamEnum")
+ (docs "The orientation of the tray")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property embedded
+ (of-object "GtkStatusIcon")
+ (prop-type "GParamBoolean")
+ (docs "Whether or not the status icon is embedded")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property blinking
+ (of-object "GtkStatusIcon")
+ (prop-type "GParamBoolean")
+ (docs "Whether or not the status icon is blinking")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkStyle
+
+(define-signal realize
+ (of-object "GtkStyle")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal unrealize
+ (of-object "GtkStyle")
+ (return-type "void")
+ (when "first")
+)
+
+;; From GtkTable
+
+(define-property user-data
+ (of-object "GtkTable")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkTable")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkTable")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkTable")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkTable")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkTable")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkTable")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkTable")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkTable")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkTable")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkTable")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkTable")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkTable")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkTable")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkTable")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkTable")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkTable")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkTable")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkTable")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkTable")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkTable")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkTable")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkTable")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkTable")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkTable")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property n-rows
+ (of-object "GtkTable")
+ (prop-type "GParamUInt")
+ (docs "The number of rows in the table")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property n-columns
+ (of-object "GtkTable")
+ (prop-type "GParamUInt")
+ (docs "The number of columns in the table")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property column-spacing
+ (of-object "GtkTable")
+ (prop-type "GParamUInt")
+ (docs "The amount of space between two consecutive columns")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property row-spacing
+ (of-object "GtkTable")
+ (prop-type "GParamUInt")
+ (docs "The amount of space between two consecutive rows")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property homogeneous
+ (of-object "GtkTable")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the table cells are all the same width/height")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkTearoffMenuItem
+
+(define-property user-data
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property submenu
+ (of-object "GtkTearoffMenuItem")
+ (prop-type "GParamObject")
+ (docs "The submenu attached to the menu item, or NULL if it has none")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkTipsQuery
+
+(define-signal start-query
+ (of-object "GtkTipsQuery")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal stop-query
+ (of-object "GtkTipsQuery")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal widget-entered
+ (of-object "GtkTipsQuery")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkWidget*" "p0")
+ '("const-gchar*" "p1")
+ '("const-gchar*" "p2")
+ )
+)
+
+(define-signal widget-selected
+ (of-object "GtkTipsQuery")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GtkWidget*" "p0")
+ '("const-gchar*" "p1")
+ '("const-gchar*" "p2")
+ '("GdkEvent*" "p3")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamFloat")
+ (docs "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamFloat")
+ (docs "The vertical alignment, from 0 (top) to 1 (bottom)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xpad
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamInt")
+ (docs "The amount of space to add on the left and right of the widget, in pixels")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ypad
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamInt")
+ (docs "The amount of space to add on the top and bottom of the widget, in pixels")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamString")
+ (docs "The text of the label")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property attributes
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamBoxed")
+ (docs "A list of style attributes to apply to the text of the label")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-markup
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamBoolean")
+ (docs "The text of the label includes XML markup. See pango_parse_markup()")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-underline
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamBoolean")
+ (docs "If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property justify
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamEnum")
+ (docs "The alignment of the lines in the text of the label relative to each other. This does NOT affect the alignment of the label within its allocation. See GtkMisc::xalign for that")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pattern
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamString")
+ (docs "A string with _ characters in positions correspond to characters in the text to underline")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property wrap
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamBoolean")
+ (docs "If set, wrap lines if the text becomes too wide")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property wrap-mode
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamEnum")
+ (docs "If wrap is set, controls how linewrapping is done")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property selectable
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamBoolean")
+ (docs "Whether the label text can be selected with the mouse")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property mnemonic-keyval
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamUInt")
+ (docs "The mnemonic accelerator key for this label")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property mnemonic-widget
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamObject")
+ (docs "The widget to be activated when the label's mnemonic key is pressed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cursor-position
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamInt")
+ (docs "The current position of the insertion cursor in chars")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property selection-bound
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamInt")
+ (docs "The position of the opposite end of the selection from the cursor in chars")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property ellipsize
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamEnum")
+ (docs "The preferred place to ellipsize the string, if the label does not have enough room to display the entire string")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-chars
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamInt")
+ (docs "The desired width of the label, in characters")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property single-line-mode
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamBoolean")
+ (docs "Whether the label is in single line mode")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property angle
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamDouble")
+ (docs "Angle at which the label is rotated")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property max-width-chars
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamInt")
+ (docs "The desired maximum width of the label, in characters")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property emit-always
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamBoolean")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property caller
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamObject")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label-inactive
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamString")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label-no-tip
+ (of-object "GtkTipsQuery")
+ (prop-type "GParamString")
+ (docs "")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkToggleButton
+
+(define-signal toggled
+ (of-object "GtkToggleButton")
+ (return-type "void")
+ (when "first")
+)
+
+(define-property user-data
+ (of-object "GtkToggleButton")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkToggleButton")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkToggleButton")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkToggleButton")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkToggleButton")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkToggleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkToggleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkToggleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkToggleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkToggleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkToggleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkToggleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkToggleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkToggleButton")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkToggleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkToggleButton")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkToggleButton")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkToggleButton")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkToggleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkToggleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkToggleButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkToggleButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkToggleButton")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkToggleButton")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkToggleButton")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label
+ (of-object "GtkToggleButton")
+ (prop-type "GParamString")
+ (docs "Text of the label widget inside the button, if the button contains a label widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property image
+ (of-object "GtkToggleButton")
+ (prop-type "GParamObject")
+ (docs "Child widget to appear next to the button text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property relief
+ (of-object "GtkToggleButton")
+ (prop-type "GParamEnum")
+ (docs "The border relief style")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-underline
+ (of-object "GtkToggleButton")
+ (prop-type "GParamBoolean")
+ (docs "If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-stock
+ (of-object "GtkToggleButton")
+ (prop-type "GParamBoolean")
+ (docs "If set, the label is used to pick a stock item instead of being displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property focus-on-click
+ (of-object "GtkToggleButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the button grabs focus when it is clicked with the mouse")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkToggleButton")
+ (prop-type "GParamFloat")
+ (docs "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkToggleButton")
+ (prop-type "GParamFloat")
+ (docs "Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property image-position
+ (of-object "GtkToggleButton")
+ (prop-type "GParamEnum")
+ (docs "The position of the image relative to the text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property active
+ (of-object "GtkToggleButton")
+ (prop-type "GParamBoolean")
+ (docs "If the toggle button should be pressed in or not")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property inconsistent
+ (of-object "GtkToggleButton")
+ (prop-type "GParamBoolean")
+ (docs "If the toggle button is in an in between state")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property draw-indicator
+ (of-object "GtkToggleButton")
+ (prop-type "GParamBoolean")
+ (docs "If the toggle part of the button is displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkToolbar
+
+(define-signal orientation-changed
+ (of-object "GtkToolbar")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkOrientation" "p0")
+ )
+)
+
+(define-signal style-changed
+ (of-object "GtkToolbar")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkToolbarStyle" "p0")
+ )
+)
+
+(define-signal popup-context-menu
+ (of-object "GtkToolbar")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ '("gint" "p1")
+ '("gint" "p2")
+ )
+)
+
+(define-signal focus-home-or-end
+ (of-object "GtkToolbar")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("gboolean" "p0")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkToolbar")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkToolbar")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkToolbar")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkToolbar")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkToolbar")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkToolbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkToolbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkToolbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkToolbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkToolbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkToolbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkToolbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkToolbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkToolbar")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkToolbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkToolbar")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkToolbar")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkToolbar")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkToolbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkToolbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkToolbar")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkToolbar")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkToolbar")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkToolbar")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkToolbar")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property orientation
+ (of-object "GtkToolbar")
+ (prop-type "GParamEnum")
+ (docs "The orientation of the toolbar")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property toolbar-style
+ (of-object "GtkToolbar")
+ (prop-type "GParamEnum")
+ (docs "How to draw the toolbar")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-arrow
+ (of-object "GtkToolbar")
+ (prop-type "GParamBoolean")
+ (docs "If an arrow should be shown if the toolbar doesn't fit")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltips
+ (of-object "GtkToolbar")
+ (prop-type "GParamBoolean")
+ (docs "If the tooltips of the toolbar should be active or not")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-size
+ (of-object "GtkToolbar")
+ (prop-type "GParamEnum")
+ (docs "Size of icons in this toolbar")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-size-set
+ (of-object "GtkToolbar")
+ (prop-type "GParamBoolean")
+ (docs "Whether the icon-size property has been set")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkToolItem
+
+(define-signal create-menu-proxy
+ (of-object "GtkToolItem")
+ (return-type "gboolean")
+ (when "last")
+)
+
+(define-signal toolbar-reconfigured
+ (of-object "GtkToolItem")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal set-tooltip
+ (of-object "GtkToolItem")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GtkTooltips*" "p0")
+ '("const-gchar*" "p1")
+ '("const-gchar*" "p2")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkToolItem")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkToolItem")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkToolItem")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkToolItem")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkToolItem")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkToolItem")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkToolItem")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkToolItem")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkToolItem")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkToolItem")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkToolItem")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkToolItem")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkToolItem")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkToolItem")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-horizontal
+ (of-object "GtkToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is visible when the toolbar is in a horizontal orientation.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-vertical
+ (of-object "GtkToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is visible when the toolbar is in a vertical orientation.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-important
+ (of-object "GtkToolItem")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is considered important. When TRUE, toolbar buttons show text in GTK_TOOLBAR_BOTH_HORIZ mode")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkToolButton
+
+(define-signal clicked
+ (of-object "GtkToolButton")
+ (return-type "void")
+ (when "first")
+)
+
+(define-property user-data
+ (of-object "GtkToolButton")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkToolButton")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkToolButton")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkToolButton")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkToolButton")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkToolButton")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkToolButton")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkToolButton")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkToolButton")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkToolButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkToolButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkToolButton")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkToolButton")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkToolButton")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-horizontal
+ (of-object "GtkToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is visible when the toolbar is in a horizontal orientation.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-vertical
+ (of-object "GtkToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is visible when the toolbar is in a vertical orientation.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-important
+ (of-object "GtkToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is considered important. When TRUE, toolbar buttons show text in GTK_TOOLBAR_BOTH_HORIZ mode")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label
+ (of-object "GtkToolButton")
+ (prop-type "GParamString")
+ (docs "Text to show in the item.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-underline
+ (of-object "GtkToolButton")
+ (prop-type "GParamBoolean")
+ (docs "If set, an underline in the label property indicates that the next character should be used for the mnemonic accelerator key in the overflow menu")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label-widget
+ (of-object "GtkToolButton")
+ (prop-type "GParamObject")
+ (docs "Widget to use as the item label")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property stock-id
+ (of-object "GtkToolButton")
+ (prop-type "GParamString")
+ (docs "The stock icon displayed on the item")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkToolButton")
+ (prop-type "GParamString")
+ (docs "The name of the themed icon displayed on the item")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-widget
+ (of-object "GtkToolButton")
+ (prop-type "GParamObject")
+ (docs "Icon widget to display in the item")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkTextBuffer
+
+(define-signal changed
+ (of-object "GtkTextBuffer")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal insert-text
+ (of-object "GtkTextBuffer")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkTextIter*" "p0")
+ '("const-gchar*" "p1")
+ '("gint" "p2")
+ )
+)
+
+(define-signal insert-pixbuf
+ (of-object "GtkTextBuffer")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkTextIter*" "p0")
+ '("GdkPixbuf*" "p1")
+ )
+)
+
+(define-signal insert-child-anchor
+ (of-object "GtkTextBuffer")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkTextIter*" "p0")
+ '("GtkTextChildAnchor*" "p1")
+ )
+)
+
+(define-signal delete-range
+ (of-object "GtkTextBuffer")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkTextIter*" "p0")
+ '("GtkTextIter*" "p1")
+ )
+)
+
+(define-signal modified-changed
+ (of-object "GtkTextBuffer")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal mark-set
+ (of-object "GtkTextBuffer")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("const-GtkTextIter*" "p0")
+ '("GtkTextMark*" "p1")
+ )
+)
+
+(define-signal mark-deleted
+ (of-object "GtkTextBuffer")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkTextMark*" "p0")
+ )
+)
+
+(define-signal apply-tag
+ (of-object "GtkTextBuffer")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkTextTag*" "p0")
+ '("const-GtkTextIter*" "p1")
+ '("const-GtkTextIter*" "p2")
+ )
+)
+
+(define-signal remove-tag
+ (of-object "GtkTextBuffer")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkTextTag*" "p0")
+ '("const-GtkTextIter*" "p1")
+ '("const-GtkTextIter*" "p2")
+ )
+)
+
+(define-signal begin-user-action
+ (of-object "GtkTextBuffer")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal end-user-action
+ (of-object "GtkTextBuffer")
+ (return-type "void")
+ (when "last")
+)
+
+(define-property tag-table
+ (of-object "GtkTextBuffer")
+ (prop-type "GParamObject")
+ (docs "Text Tag Table")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property text
+ (of-object "GtkTextBuffer")
+ (prop-type "GParamString")
+ (docs "Current text of the buffer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-selection
+ (of-object "GtkTextBuffer")
+ (prop-type "GParamBoolean")
+ (docs "Whether the buffer has some text currently selected")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property cursor-position
+ (of-object "GtkTextBuffer")
+ (prop-type "GParamInt")
+ (docs "The position of the insert mark (as offset from the beginning of the buffer)")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property copy-target-list
+ (of-object "GtkTextBuffer")
+ (prop-type "GParamBoxed")
+ (docs "The list of targets this buffer supports for clipboard copying and DND source")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property paste-target-list
+ (of-object "GtkTextBuffer")
+ (prop-type "GParamBoxed")
+ (docs "The list of targets this buffer supports for clipboard pasting and DND destination")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+;; From GtkTextMark
+
+(define-property name
+ (of-object "GtkTextMark")
+ (prop-type "GParamString")
+ (docs "Mark name")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property left-gravity
+ (of-object "GtkTextMark")
+ (prop-type "GParamBoolean")
+ (docs "Whether the mark has left gravity")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+;; From GtkTextTag
+
+(define-signal event
+ (of-object "GtkTextTag")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GObject*" "p0")
+ '("GdkEvent*" "p1")
+ '("const-GtkTextIter*" "p2")
+ )
+)
+
+(define-property name
+ (of-object "GtkTextTag")
+ (prop-type "GParamString")
+ (docs "Name used to refer to the text tag. NULL for anonymous tags")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property background
+ (of-object "GtkTextTag")
+ (prop-type "GParamString")
+ (docs "Background color as a string")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property foreground
+ (of-object "GtkTextTag")
+ (prop-type "GParamString")
+ (docs "Foreground color as a string")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property background-gdk
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoxed")
+ (docs "Background color as a (possibly unallocated) GdkColor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property foreground-gdk
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoxed")
+ (docs "Foreground color as a (possibly unallocated) GdkColor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property background-stipple
+ (of-object "GtkTextTag")
+ (prop-type "GParamObject")
+ (docs "Bitmap to use as a mask when drawing the text background")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property foreground-stipple
+ (of-object "GtkTextTag")
+ (prop-type "GParamObject")
+ (docs "Bitmap to use as a mask when drawing the text foreground")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property font
+ (of-object "GtkTextTag")
+ (prop-type "GParamString")
+ (docs "Font description as a string, e.g. Sans Italic 12")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property font-desc
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoxed")
+ (docs "Font description as a PangoFontDescription struct")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property family
+ (of-object "GtkTextTag")
+ (prop-type "GParamString")
+ (docs "Name of the font family, e.g. Sans, Helvetica, Times, Monospace")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkTextTag")
+ (prop-type "GParamEnum")
+ (docs "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property variant
+ (of-object "GtkTextTag")
+ (prop-type "GParamEnum")
+ (docs "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property weight
+ (of-object "GtkTextTag")
+ (prop-type "GParamInt")
+ (docs "Font weight as an integer, see predefined values in PangoWeight; for example, PANGO_WEIGHT_BOLD")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property stretch
+ (of-object "GtkTextTag")
+ (prop-type "GParamEnum")
+ (docs "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property size
+ (of-object "GtkTextTag")
+ (prop-type "GParamInt")
+ (docs "Font size in Pango units")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property size-points
+ (of-object "GtkTextTag")
+ (prop-type "GParamDouble")
+ (docs "Font size in points")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property scale
+ (of-object "GtkTextTag")
+ (prop-type "GParamDouble")
+ (docs "Font size as a scale factor relative to the default font size. This properly adapts to theme changes etc. so is recommended. Pango predefines some scales such as PANGO_SCALE_X_LARGE")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pixels-above-lines
+ (of-object "GtkTextTag")
+ (prop-type "GParamInt")
+ (docs "Pixels of blank space above paragraphs")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pixels-below-lines
+ (of-object "GtkTextTag")
+ (prop-type "GParamInt")
+ (docs "Pixels of blank space below paragraphs")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pixels-inside-wrap
+ (of-object "GtkTextTag")
+ (prop-type "GParamInt")
+ (docs "Pixels of blank space between wrapped lines in a paragraph")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property editable
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether the text can be modified by the user")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property wrap-mode
+ (of-object "GtkTextTag")
+ (prop-type "GParamEnum")
+ (docs "Whether to wrap lines never, at word boundaries, or at character boundaries")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property justification
+ (of-object "GtkTextTag")
+ (prop-type "GParamEnum")
+ (docs "Left, right, or center justification")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property direction
+ (of-object "GtkTextTag")
+ (prop-type "GParamEnum")
+ (docs "Text direction, e.g. right-to-left or left-to-right")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property left-margin
+ (of-object "GtkTextTag")
+ (prop-type "GParamInt")
+ (docs "Width of the left margin in pixels")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property indent
+ (of-object "GtkTextTag")
+ (prop-type "GParamInt")
+ (docs "Amount to indent the paragraph, in pixels")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property strikethrough
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether to strike through the text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property right-margin
+ (of-object "GtkTextTag")
+ (prop-type "GParamInt")
+ (docs "Width of the right margin in pixels")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property underline
+ (of-object "GtkTextTag")
+ (prop-type "GParamEnum")
+ (docs "Style of underline for this text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property rise
+ (of-object "GtkTextTag")
+ (prop-type "GParamInt")
+ (docs "Offset of text above the baseline (below the baseline if rise is negative) in Pango units")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property background-full-height
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether the background color fills the entire line height or only the height of the tagged characters")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property language
+ (of-object "GtkTextTag")
+ (prop-type "GParamString")
+ (docs "The language this text is in, as an ISO code. Pango can use this as a hint when rendering the text. If not set, an appropriate default will be used.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tabs
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoxed")
+ (docs "Custom tabs for this text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property invisible
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this text is hidden.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property paragraph-background
+ (of-object "GtkTextTag")
+ (prop-type "GParamString")
+ (docs "Paragraph background color as a string")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property paragraph-background-gdk
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoxed")
+ (docs "Paragraph background color as a (possibly unallocated) GdkColor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accumulative-margin
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether left and right margins accumulate.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property background-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the background color")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property foreground-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the foreground color")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property background-stipple-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the background stipple")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property foreground-stipple-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the foreground stipple")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property family-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font family")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property style-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font style")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property variant-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font variant")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property weight-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font weight")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property stretch-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font stretch")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property size-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the font size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property scale-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag scales the font size by a factor")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pixels-above-lines-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the number of pixels above lines")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pixels-below-lines-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the number of pixels above lines")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pixels-inside-wrap-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the number of pixels between wrapped lines")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property editable-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects text editability")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property wrap-mode-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects line wrap mode")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property justification-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects paragraph justification")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property left-margin-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the left margin")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property indent-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects indentation")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property strikethrough-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects strikethrough")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property right-margin-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the right margin")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property underline-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects underlining")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property rise-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the rise")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property background-full-height-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects background height")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property language-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the language the text is rendered as")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tabs-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects tabs")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property invisible-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects text visibility")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property paragraph-background-set
+ (of-object "GtkTextTag")
+ (prop-type "GParamBoolean")
+ (docs "Whether this tag affects the paragraph background color")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkTextTagTable
+
+(define-signal tag-changed
+ (of-object "GtkTextTagTable")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkTextTag*" "p0")
+ '("gboolean" "p1")
+ )
+)
+
+(define-signal tag-added
+ (of-object "GtkTextTagTable")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkTextTag*" "p0")
+ )
+)
+
+(define-signal tag-removed
+ (of-object "GtkTextTagTable")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkTextTag*" "p0")
+ )
+)
+
+;; From GtkTextView
+
+(define-signal set-scroll-adjustments
+ (of-object "GtkTextView")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkAdjustment*" "p0")
+ '("GtkAdjustment*" "p1")
+ )
+)
+
+(define-signal move-cursor
+ (of-object "GtkTextView")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkMovementStep" "p0")
+ '("gint" "p1")
+ '("gboolean" "p2")
+ )
+)
+
+(define-signal select-all
+ (of-object "GtkTextView")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gboolean" "p0")
+ )
+)
+
+(define-signal page-horizontally
+ (of-object "GtkTextView")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ '("gboolean" "p1")
+ )
+)
+
+(define-signal move-viewport
+ (of-object "GtkTextView")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkScrollStep" "p0")
+ '("gint" "p1")
+ )
+)
+
+(define-signal set-anchor
+ (of-object "GtkTextView")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal insert-at-cursor
+ (of-object "GtkTextView")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("const-gchar*" "p0")
+ )
+)
+
+(define-signal delete-from-cursor
+ (of-object "GtkTextView")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkDeleteType" "p0")
+ '("gint" "p1")
+ )
+)
+
+(define-signal backspace
+ (of-object "GtkTextView")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal cut-clipboard
+ (of-object "GtkTextView")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal copy-clipboard
+ (of-object "GtkTextView")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal paste-clipboard
+ (of-object "GtkTextView")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal toggle-overwrite
+ (of-object "GtkTextView")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal populate-popup
+ (of-object "GtkTextView")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkMenu*" "p0")
+ )
+)
+
+(define-signal toggle-cursor-visible
+ (of-object "GtkTextView")
+ (return-type "void")
+ (when "last")
+)
+
+(define-property user-data
+ (of-object "GtkTextView")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkTextView")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkTextView")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkTextView")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkTextView")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkTextView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkTextView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkTextView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkTextView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkTextView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkTextView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkTextView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkTextView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkTextView")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkTextView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkTextView")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkTextView")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkTextView")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkTextView")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkTextView")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkTextView")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkTextView")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkTextView")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkTextView")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkTextView")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pixels-above-lines
+ (of-object "GtkTextView")
+ (prop-type "GParamInt")
+ (docs "Pixels of blank space above paragraphs")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pixels-below-lines
+ (of-object "GtkTextView")
+ (prop-type "GParamInt")
+ (docs "Pixels of blank space below paragraphs")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property pixels-inside-wrap
+ (of-object "GtkTextView")
+ (prop-type "GParamInt")
+ (docs "Pixels of blank space between wrapped lines in a paragraph")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property editable
+ (of-object "GtkTextView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the text can be modified by the user")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property wrap-mode
+ (of-object "GtkTextView")
+ (prop-type "GParamEnum")
+ (docs "Whether to wrap lines never, at word boundaries, or at character boundaries")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property justification
+ (of-object "GtkTextView")
+ (prop-type "GParamEnum")
+ (docs "Left, right, or center justification")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property left-margin
+ (of-object "GtkTextView")
+ (prop-type "GParamInt")
+ (docs "Width of the left margin in pixels")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property right-margin
+ (of-object "GtkTextView")
+ (prop-type "GParamInt")
+ (docs "Width of the right margin in pixels")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property indent
+ (of-object "GtkTextView")
+ (prop-type "GParamInt")
+ (docs "Amount to indent the paragraph, in pixels")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tabs
+ (of-object "GtkTextView")
+ (prop-type "GParamBoxed")
+ (docs "Custom tabs for this text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property cursor-visible
+ (of-object "GtkTextView")
+ (prop-type "GParamBoolean")
+ (docs "If the insertion cursor is shown")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property buffer
+ (of-object "GtkTextView")
+ (prop-type "GParamObject")
+ (docs "The buffer which is displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property overwrite
+ (of-object "GtkTextView")
+ (prop-type "GParamBoolean")
+ (docs "Whether entered text overwrites existing contents")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accepts-tab
+ (of-object "GtkTextView")
+ (prop-type "GParamBoolean")
+ (docs "Whether Tab will result in a tab character being entered")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkToggleAction
+
+(define-signal toggled
+ (of-object "GtkToggleAction")
+ (return-type "void")
+ (when "first")
+)
+
+(define-property name
+ (of-object "GtkToggleAction")
+ (prop-type "GParamString")
+ (docs "A unique name for the action.")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property label
+ (of-object "GtkToggleAction")
+ (prop-type "GParamString")
+ (docs "The label used for menu items and buttons that activate this action.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property short-label
+ (of-object "GtkToggleAction")
+ (prop-type "GParamString")
+ (docs "A shorter label that may be used on toolbar buttons.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip
+ (of-object "GtkToggleAction")
+ (prop-type "GParamString")
+ (docs "A tooltip for this action.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property stock-id
+ (of-object "GtkToggleAction")
+ (prop-type "GParamString")
+ (docs "The stock icon displayed in widgets representing this action.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkToggleAction")
+ (prop-type "GParamString")
+ (docs "The name of the icon from the icon theme")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-horizontal
+ (of-object "GtkToggleAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is visible when the toolbar is in a horizontal orientation.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-vertical
+ (of-object "GtkToggleAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is visible when the toolbar is in a vertical orientation.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-overflown
+ (of-object "GtkToggleAction")
+ (prop-type "GParamBoolean")
+ (docs "When TRUE, toolitem proxies for this action are represented in the toolbar overflow menu.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-important
+ (of-object "GtkToggleAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the action is considered important. When TRUE, toolitem proxies for this action show text in GTK_TOOLBAR_BOTH_HORIZ mode.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property hide-if-empty
+ (of-object "GtkToggleAction")
+ (prop-type "GParamBoolean")
+ (docs "When TRUE, empty menu proxies for this action are hidden.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkToggleAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the action is enabled.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkToggleAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the action is visible.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property action-group
+ (of-object "GtkToggleAction")
+ (prop-type "GParamObject")
+ (docs "The GtkActionGroup this GtkAction is associated with, or NULL (for internal use).")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property draw-as-radio
+ (of-object "GtkToggleAction")
+ (prop-type "GParamBoolean")
+ (docs "Whether the proxies for this action look like radio action proxies")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property active
+ (of-object "GtkToggleAction")
+ (prop-type "GParamBoolean")
+ (docs "If the toggle action should be active in or not")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkToggleToolButton
+
+(define-signal toggled
+ (of-object "GtkToggleToolButton")
+ (return-type "void")
+ (when "first")
+)
+
+(define-property user-data
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-horizontal
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is visible when the toolbar is in a horizontal orientation.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible-vertical
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is visible when the toolbar is in a vertical orientation.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-important
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toolbar item is considered important. When TRUE, toolbar buttons show text in GTK_TOOLBAR_BOTH_HORIZ mode")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamString")
+ (docs "Text to show in the item.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-underline
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamBoolean")
+ (docs "If set, an underline in the label property indicates that the next character should be used for the mnemonic accelerator key in the overflow menu")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label-widget
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamObject")
+ (docs "Widget to use as the item label")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property stock-id
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamString")
+ (docs "The stock icon displayed on the item")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamString")
+ (docs "The name of the themed icon displayed on the item")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-widget
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamObject")
+ (docs "Icon widget to display in the item")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property active
+ (of-object "GtkToggleToolButton")
+ (prop-type "GParamBoolean")
+ (docs "If the toggle button should be pressed in or not")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkTooltip
+
+;; From GtkTooltips
+
+(define-property user-data
+ (of-object "GtkTooltips")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkTreeSelection
+
+(define-signal changed
+ (of-object "GtkTreeSelection")
+ (return-type "void")
+ (when "first")
+)
+
+;; From GtkTreeModelFilter
+
+(define-property child-model
+ (of-object "GtkTreeModelFilter")
+ (prop-type "GParamObject")
+ (docs "The model for the filtermodel to filter")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property virtual-root
+ (of-object "GtkTreeModelFilter")
+ (prop-type "GParamBoxed")
+ (docs "The virtual root (relative to the child model) for this filtermodel")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+;; From GtkTreeStore
+
+;; From GtkTreeView
+
+(define-signal set-scroll-adjustments
+ (of-object "GtkTreeView")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkAdjustment*" "p0")
+ '("GtkAdjustment*" "p1")
+ )
+)
+
+(define-signal row-activated
+ (of-object "GtkTreeView")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkTreePath*" "p0")
+ '("GtkTreeViewColumn*" "p1")
+ )
+)
+
+(define-signal test-expand-row
+ (of-object "GtkTreeView")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GtkTreeIter*" "p0")
+ '("GtkTreePath*" "p1")
+ )
+)
+
+(define-signal test-collapse-row
+ (of-object "GtkTreeView")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GtkTreeIter*" "p0")
+ '("GtkTreePath*" "p1")
+ )
+)
+
+(define-signal row-expanded
+ (of-object "GtkTreeView")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkTreeIter*" "p0")
+ '("GtkTreePath*" "p1")
+ )
+)
+
+(define-signal row-collapsed
+ (of-object "GtkTreeView")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkTreeIter*" "p0")
+ '("GtkTreePath*" "p1")
+ )
+)
+
+(define-signal columns-changed
+ (of-object "GtkTreeView")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal cursor-changed
+ (of-object "GtkTreeView")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal move-cursor
+ (of-object "GtkTreeView")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GtkMovementStep" "p0")
+ '("gint" "p1")
+ )
+)
+
+(define-signal select-all
+ (of-object "GtkTreeView")
+ (return-type "gboolean")
+ (when "last")
+)
+
+(define-signal unselect-all
+ (of-object "GtkTreeView")
+ (return-type "gboolean")
+ (when "last")
+)
+
+(define-signal select-cursor-row
+ (of-object "GtkTreeView")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("gboolean" "p0")
+ )
+)
+
+(define-signal toggle-cursor-row
+ (of-object "GtkTreeView")
+ (return-type "gboolean")
+ (when "last")
+)
+
+(define-signal expand-collapse-cursor-row
+ (of-object "GtkTreeView")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("gboolean" "p0")
+ '("gboolean" "p1")
+ '("gboolean" "p2")
+ )
+)
+
+(define-signal select-cursor-parent
+ (of-object "GtkTreeView")
+ (return-type "gboolean")
+ (when "last")
+)
+
+(define-signal start-interactive-search
+ (of-object "GtkTreeView")
+ (return-type "gboolean")
+ (when "last")
+)
+
+(define-property user-data
+ (of-object "GtkTreeView")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkTreeView")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkTreeView")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkTreeView")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkTreeView")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkTreeView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkTreeView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkTreeView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkTreeView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkTreeView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkTreeView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkTreeView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkTreeView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkTreeView")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkTreeView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkTreeView")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkTreeView")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkTreeView")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkTreeView")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkTreeView")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkTreeView")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkTreeView")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkTreeView")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkTreeView")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkTreeView")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property model
+ (of-object "GtkTreeView")
+ (prop-type "GParamObject")
+ (docs "The model for the tree view")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property hadjustment
+ (of-object "GtkTreeView")
+ (prop-type "GParamObject")
+ (docs "Horizontal Adjustment for the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property vadjustment
+ (of-object "GtkTreeView")
+ (prop-type "GParamObject")
+ (docs "Vertical Adjustment for the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property headers-visible
+ (of-object "GtkTreeView")
+ (prop-type "GParamBoolean")
+ (docs "Show the column header buttons")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property headers-clickable
+ (of-object "GtkTreeView")
+ (prop-type "GParamBoolean")
+ (docs "Column headers respond to click events")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property expander-column
+ (of-object "GtkTreeView")
+ (prop-type "GParamObject")
+ (docs "Set the column for the expander column")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property reorderable
+ (of-object "GtkTreeView")
+ (prop-type "GParamBoolean")
+ (docs "View is reorderable")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property rules-hint
+ (of-object "GtkTreeView")
+ (prop-type "GParamBoolean")
+ (docs "Set a hint to the theme engine to draw rows in alternating colors")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property enable-search
+ (of-object "GtkTreeView")
+ (prop-type "GParamBoolean")
+ (docs "View allows user to search through columns interactively")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property search-column
+ (of-object "GtkTreeView")
+ (prop-type "GParamInt")
+ (docs "Model column to search through when searching through code")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property fixed-height-mode
+ (of-object "GtkTreeView")
+ (prop-type "GParamBoolean")
+ (docs "Speeds up GtkTreeView by assuming that all rows have the same height")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property hover-selection
+ (of-object "GtkTreeView")
+ (prop-type "GParamBoolean")
+ (docs "Whether the selection should follow the pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property hover-expand
+ (of-object "GtkTreeView")
+ (prop-type "GParamBoolean")
+ (docs "Whether rows should be expanded/collapsed when the pointer moves over them")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property show-expanders
+ (of-object "GtkTreeView")
+ (prop-type "GParamBoolean")
+ (docs "View has expanders")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property level-indentation
+ (of-object "GtkTreeView")
+ (prop-type "GParamInt")
+ (docs "Extra indentation for each level")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property rubber-banding
+ (of-object "GtkTreeView")
+ (prop-type "GParamBoolean")
+ (docs "Whether to enable selection of multiple items by dragging the mouse pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property enable-grid-lines
+ (of-object "GtkTreeView")
+ (prop-type "GParamEnum")
+ (docs "Whether grid lines should be drawn in the tree view")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property enable-tree-lines
+ (of-object "GtkTreeView")
+ (prop-type "GParamBoolean")
+ (docs "Whether tree lines should be drawn in the tree view")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkTreeViewColumn
+
+(define-signal clicked
+ (of-object "GtkTreeViewColumn")
+ (return-type "void")
+ (when "last")
+)
+
+(define-property user-data
+ (of-object "GtkTreeViewColumn")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkTreeViewColumn")
+ (prop-type "GParamBoolean")
+ (docs "Whether to display the column")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resizable
+ (of-object "GtkTreeViewColumn")
+ (prop-type "GParamBoolean")
+ (docs "Column is user-resizable")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width
+ (of-object "GtkTreeViewColumn")
+ (prop-type "GParamInt")
+ (docs "Current width of the column")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property spacing
+ (of-object "GtkTreeViewColumn")
+ (prop-type "GParamInt")
+ (docs "Space which is inserted between cells")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sizing
+ (of-object "GtkTreeViewColumn")
+ (prop-type "GParamEnum")
+ (docs "Resize mode of the column")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property fixed-width
+ (of-object "GtkTreeViewColumn")
+ (prop-type "GParamInt")
+ (docs "Current fixed width of the column")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property min-width
+ (of-object "GtkTreeViewColumn")
+ (prop-type "GParamInt")
+ (docs "Minimum allowed width of the column")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property max-width
+ (of-object "GtkTreeViewColumn")
+ (prop-type "GParamInt")
+ (docs "Maximum allowed width of the column")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property title
+ (of-object "GtkTreeViewColumn")
+ (prop-type "GParamString")
+ (docs "Title to appear in column header")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property expand
+ (of-object "GtkTreeViewColumn")
+ (prop-type "GParamBoolean")
+ (docs "Column gets share of extra width allocated to the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property clickable
+ (of-object "GtkTreeViewColumn")
+ (prop-type "GParamBoolean")
+ (docs "Whether the header can be clicked")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property widget
+ (of-object "GtkTreeViewColumn")
+ (prop-type "GParamObject")
+ (docs "Widget to put in column header button instead of column title")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property alignment
+ (of-object "GtkTreeViewColumn")
+ (prop-type "GParamFloat")
+ (docs "X Alignment of the column header text or widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property reorderable
+ (of-object "GtkTreeViewColumn")
+ (prop-type "GParamBoolean")
+ (docs "Whether the column can be reordered around the headers")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sort-indicator
+ (of-object "GtkTreeViewColumn")
+ (prop-type "GParamBoolean")
+ (docs "Whether to show a sort indicator")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sort-order
+ (of-object "GtkTreeViewColumn")
+ (prop-type "GParamEnum")
+ (docs "Sort direction the sort indicator should indicate")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkUIManager
+
+(define-signal add-widget
+ (of-object "GtkUIManager")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkWidget*" "p0")
+ )
+)
+
+(define-signal actions-changed
+ (of-object "GtkUIManager")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal connect-proxy
+ (of-object "GtkUIManager")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkAction*" "p0")
+ '("GtkWidget*" "p1")
+ )
+)
+
+(define-signal disconnect-proxy
+ (of-object "GtkUIManager")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkAction*" "p0")
+ '("GtkWidget*" "p1")
+ )
+)
+
+(define-signal pre-activate
+ (of-object "GtkUIManager")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkAction*" "p0")
+ )
+)
+
+(define-signal post-activate
+ (of-object "GtkUIManager")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkAction*" "p0")
+ )
+)
+
+(define-property add-tearoffs
+ (of-object "GtkUIManager")
+ (prop-type "GParamBoolean")
+ (docs "Whether tearoff menu items should be added to menus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property ui
+ (of-object "GtkUIManager")
+ (prop-type "GParamString")
+ (docs "An XML string describing the merged UI")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+;; From GtkViewport
+
+(define-signal set-scroll-adjustments
+ (of-object "GtkViewport")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkAdjustment*" "p0")
+ '("GtkAdjustment*" "p1")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkViewport")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkViewport")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkViewport")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkViewport")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkViewport")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkViewport")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkViewport")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkViewport")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkViewport")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkViewport")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkViewport")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkViewport")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkViewport")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkViewport")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkViewport")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkViewport")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkViewport")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkViewport")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkViewport")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkViewport")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkViewport")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkViewport")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkViewport")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkViewport")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkViewport")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property hadjustment
+ (of-object "GtkViewport")
+ (prop-type "GParamObject")
+ (docs "The GtkAdjustment that determines the values of the horizontal position for this viewport")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property vadjustment
+ (of-object "GtkViewport")
+ (prop-type "GParamObject")
+ (docs "The GtkAdjustment that determines the values of the vertical position for this viewport")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property shadow-type
+ (of-object "GtkViewport")
+ (prop-type "GParamEnum")
+ (docs "Determines how the shadowed box around the viewport is drawn")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+
+;; From GtkVolumeButton
+
+(define-property user-data
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property label
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamString")
+ (docs "Text of the label widget inside the button, if the button contains a label widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property image
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamObject")
+ (docs "Child widget to appear next to the button text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property relief
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamEnum")
+ (docs "The border relief style")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-underline
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamBoolean")
+ (docs "If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property use-stock
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamBoolean")
+ (docs "If set, the label is used to pick a stock item instead of being displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property focus-on-click
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamBoolean")
+ (docs "Whether the button grabs focus when it is clicked with the mouse")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property xalign
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamFloat")
+ (docs "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property yalign
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamFloat")
+ (docs "Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property image-position
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamEnum")
+ (docs "The position of the image relative to the text")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property value
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamDouble")
+ (docs "The value of the scale")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property size
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamEnum")
+ (docs "The icon size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property adjustment
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamObject")
+ (docs "The GtkAdjustment that contains the current value of this scale button object")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icons
+ (of-object "GtkVolumeButton")
+ (prop-type "GParamBoxed")
+ (docs "List of icon names")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkWidget
+
+(define-signal composited-changed
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal show
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal hide
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal map
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal unmap
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal realize
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "first")
+)
+
+(define-signal unrealize
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal size-request
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkRequisition*" "p0")
+ )
+)
+
+(define-signal size-allocate
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkAllocation*" "p0")
+ )
+)
+
+(define-signal state-changed
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkStateType" "p0")
+ )
+)
+
+(define-signal parent-set
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkWidget*" "p0")
+ )
+)
+
+(define-signal hierarchy-changed
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkWidget*" "p0")
+ )
+)
+
+(define-signal style-set
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkStyle*" "p0")
+ )
+)
+
+(define-signal direction-changed
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GtkTextDirection" "p0")
+ )
+)
+
+(define-signal grab-notify
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("gboolean" "p0")
+ )
+)
+
+(define-signal child-notify
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "first")
+ (parameters
+ '("GParamSpec*" "p0")
+ )
+)
+
+(define-signal mnemonic-activate
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("gboolean" "p0")
+ )
+)
+
+(define-signal grab-focus
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal focus
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GtkDirectionType" "p0")
+ )
+)
+
+(define-signal move-focus
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkDirectionType" "p0")
+ )
+)
+
+(define-signal event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEvent*" "p0")
+ )
+)
+
+(define-signal event-after
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "unknown")
+ (parameters
+ '("GdkEvent*" "p0")
+ )
+)
+
+(define-signal button-press-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventButton*" "p0")
+ )
+)
+
+(define-signal button-release-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventButton*" "p0")
+ )
+)
+
+(define-signal scroll-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventScroll*" "p0")
+ )
+)
+
+(define-signal motion-notify-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventMotion*" "p0")
+ )
+)
+
+(define-signal keynav-failed
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GtkDirectionType" "p0")
+ )
+)
+
+(define-signal delete-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventAny*" "p0")
+ )
+)
+
+(define-signal destroy-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEvent*" "p0")
+ )
+)
+
+(define-signal expose-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventExpose*" "p0")
+ )
+)
+
+(define-signal key-press-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventKey*" "p0")
+ )
+)
+
+(define-signal key-release-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventKey*" "p0")
+ )
+)
+
+(define-signal enter-notify-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventCrossing*" "p0")
+ )
+)
+
+(define-signal leave-notify-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventCrossing*" "p0")
+ )
+)
+
+(define-signal configure-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventConfigure*" "p0")
+ )
+)
+
+(define-signal focus-in-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventFocus*" "p0")
+ )
+)
+
+(define-signal focus-out-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventFocus*" "p0")
+ )
+)
+
+(define-signal map-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventAny*" "p0")
+ )
+)
+
+(define-signal unmap-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventAny*" "p0")
+ )
+)
+
+(define-signal property-notify-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventProperty*" "p0")
+ )
+)
+
+(define-signal selection-clear-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventSelection*" "p0")
+ )
+)
+
+(define-signal selection-request-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventSelection*" "p0")
+ )
+)
+
+(define-signal selection-notify-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventSelection*" "p0")
+ )
+)
+
+(define-signal selection-received
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkSelectionData*" "p0")
+ '("guint" "p1")
+ )
+)
+
+(define-signal selection-get
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkSelectionData*" "p0")
+ '("guint" "p1")
+ '("guint" "p2")
+ )
+)
+
+(define-signal proximity-in-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventProximity*" "p0")
+ )
+)
+
+(define-signal proximity-out-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventProximity*" "p0")
+ )
+)
+
+(define-signal drag-leave
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GdkDragContext*" "p0")
+ '("guint" "p1")
+ )
+)
+
+(define-signal drag-begin
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GdkDragContext*" "p0")
+ )
+)
+
+(define-signal drag-end
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GdkDragContext*" "p0")
+ )
+)
+
+(define-signal drag-data-delete
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GdkDragContext*" "p0")
+ )
+)
+
+(define-signal drag-failed
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkDragContext*" "p0")
+ '("GtkDragResult" "p1")
+ )
+)
+
+(define-signal drag-motion
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkDragContext*" "p0")
+ '("gint" "p1")
+ '("gint" "p2")
+ '("guint" "p3")
+ )
+)
+
+(define-signal drag-drop
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkDragContext*" "p0")
+ '("gint" "p1")
+ '("gint" "p2")
+ '("guint" "p3")
+ )
+)
+
+(define-signal drag-data-get
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GdkDragContext*" "p0")
+ '("GtkSelectionData*" "p1")
+ '("guint" "p2")
+ '("guint" "p3")
+ )
+)
+
+(define-signal drag-data-received
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GdkDragContext*" "p0")
+ '("gint" "p1")
+ '("gint" "p2")
+ '("GtkSelectionData*" "p3")
+ '("guint" "p4")
+ '("guint" "p5")
+ )
+)
+
+(define-signal visibility-notify-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventVisibility*" "p0")
+ )
+)
+
+(define-signal client-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventClient*" "p0")
+ )
+)
+
+(define-signal no-expose-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventAny*" "p0")
+ )
+)
+
+(define-signal window-state-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEventWindowState*" "p0")
+ )
+)
+
+(define-signal grab-broken-event
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEvent*" "p0")
+ )
+)
+
+(define-signal query-tooltip
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("gint" "p0")
+ '("gint" "p1")
+ '("gboolean" "p2")
+ '("GtkTooltip*" "p3")
+ )
+)
+
+(define-signal popup-menu
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+)
+
+(define-signal show-help
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GtkWidgetHelpType" "p0")
+ )
+)
+
+(define-signal accel-closures-changed
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "unknown")
+)
+
+(define-signal screen-changed
+ (of-object "GtkWidget")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GdkScreen*" "p0")
+ )
+)
+
+(define-signal can-activate-accel
+ (of-object "GtkWidget")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("guint" "p0")
+ )
+)
+
+(define-property user-data
+ (of-object "GtkWidget")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkWidget")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkWidget")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkWidget")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkWidget")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkWidget")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkWidget")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkWidget")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkWidget")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkWidget")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkWidget")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkWidget")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+;; From GtkWindow
+
+(define-signal set-focus
+ (of-object "GtkWindow")
+ (return-type "void")
+ (when "last")
+ (parameters
+ '("GtkWidget*" "p0")
+ )
+)
+
+(define-signal frame-event
+ (of-object "GtkWindow")
+ (return-type "gboolean")
+ (when "last")
+ (parameters
+ '("GdkEvent*" "p0")
+ )
+)
+
+(define-signal activate-focus
+ (of-object "GtkWindow")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal activate-default
+ (of-object "GtkWindow")
+ (return-type "void")
+ (when "last")
+)
+
+(define-signal keys-changed
+ (of-object "GtkWindow")
+ (return-type "void")
+ (when "first")
+)
+
+(define-property user-data
+ (of-object "GtkWindow")
+ (prop-type "GParamPointer")
+ (docs "Anonymous User Data Pointer")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property name
+ (of-object "GtkWindow")
+ (prop-type "GParamString")
+ (docs "The name of the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property parent
+ (of-object "GtkWindow")
+ (prop-type "GParamObject")
+ (docs "The parent widget of this widget. Must be a Container widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property width-request
+ (of-object "GtkWindow")
+ (prop-type "GParamInt")
+ (docs "Override for width request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property height-request
+ (of-object "GtkWindow")
+ (prop-type "GParamInt")
+ (docs "Override for height request of the widget, or -1 if natural request should be used")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property visible
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is visible")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property sensitive
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget responds to input")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property app-paintable
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the application will paint directly on the widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-focus
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can accept the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-focus
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget has the input focus")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-focus
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the focus widget within the toplevel")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property can-default
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget can be the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-default
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is the default widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property receives-default
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the widget will receive the default action when it is focused")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property composite-child
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the widget is part of a composite widget")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property style
+ (of-object "GtkWindow")
+ (prop-type "GParamObject")
+ (docs "The style of the widget, which contains information about how it will look (colors etc)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property events
+ (of-object "GtkWindow")
+ (prop-type "GParamFlags")
+ (docs "The event mask that decides what kind of GdkEvents this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property extension-events
+ (of-object "GtkWindow")
+ (prop-type "GParamEnum")
+ (docs "The mask that decides what kind of extension events this widget gets")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property no-show-all
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether gtk_widget_show_all() should not affect this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property has-tooltip
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether this widget has a tooltip")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-markup
+ (of-object "GtkWindow")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property tooltip-text
+ (of-object "GtkWindow")
+ (prop-type "GParamString")
+ (docs "The contents of the tooltip for this widget")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property border-width
+ (of-object "GtkWindow")
+ (prop-type "GParamUInt")
+ (docs "The width of the empty border outside the containers children")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resize-mode
+ (of-object "GtkWindow")
+ (prop-type "GParamEnum")
+ (docs "Specify how resize events are handled")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property child
+ (of-object "GtkWindow")
+ (prop-type "GParamObject")
+ (docs "Can be used to add a new child to the container")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type
+ (of-object "GtkWindow")
+ (prop-type "GParamEnum")
+ (docs "The type of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #t)
+)
+
+(define-property title
+ (of-object "GtkWindow")
+ (prop-type "GParamString")
+ (docs "The title of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property startup-id
+ (of-object "GtkWindow")
+ (prop-type "GParamString")
+ (docs "Unique startup identifier for the window used by startup-notification")
+ (readable #f)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property role
+ (of-object "GtkWindow")
+ (prop-type "GParamString")
+ (docs "Unique identifier for the window to be used when restoring a session")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-shrink
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window has no mimimum size. Setting this to TRUE is 99% of the time a bad idea")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property allow-grow
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can expand the window beyond its minimum size")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property resizable
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, users can resize the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property modal
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "If TRUE, the window is modal (other windows are not usable while this one is up)")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property window-position
+ (of-object "GtkWindow")
+ (prop-type "GParamEnum")
+ (docs "The initial position of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-width
+ (of-object "GtkWindow")
+ (prop-type "GParamInt")
+ (docs "The default width of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property default-height
+ (of-object "GtkWindow")
+ (prop-type "GParamInt")
+ (docs "The default height of the window, used when initially showing the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property destroy-with-parent
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "If this window should be destroyed when the parent is destroyed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon
+ (of-object "GtkWindow")
+ (prop-type "GParamObject")
+ (docs "Icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property icon-name
+ (of-object "GtkWindow")
+ (prop-type "GParamString")
+ (docs "Name of the themed icon for this window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property screen
+ (of-object "GtkWindow")
+ (prop-type "GParamObject")
+ (docs "The screen where this window will be displayed")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property type-hint
+ (of-object "GtkWindow")
+ (prop-type "GParamEnum")
+ (docs "Hint to help the desktop environment understand what kind of window this is and how to treat it.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-taskbar-hint
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the task bar.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property skip-pager-hint
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should not be in the pager.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property urgency-hint
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should be brought to the user's attention.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property accept-focus
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property focus-on-map
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "TRUE if the window should receive the input focus when mapped.")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property decorated
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window should be decorated by the window manager")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property deletable
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the window frame should have a close button")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property gravity
+ (of-object "GtkWindow")
+ (prop-type "GParamEnum")
+ (docs "The window gravity of the window")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property transient-for
+ (of-object "GtkWindow")
+ (prop-type "GParamObject")
+ (docs "The transient parent of the dialog")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property opacity
+ (of-object "GtkWindow")
+ (prop-type "GParamDouble")
+ (docs "The opacity of the window, from 0 to 1")
+ (readable #t)
+ (writable #t)
+ (construct-only #f)
+)
+
+(define-property is-active
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the toplevel is the current active window")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
+(define-property has-toplevel-focus
+ (of-object "GtkWindow")
+ (prop-type "GParamBoolean")
+ (docs "Whether the input focus is within this GtkWindow")
+ (readable #t)
+ (writable #f)
+ (construct-only #f)
+)
+
diff --git a/libs/gtkmm2/gtk/src/gtk_vfuncs.defs b/libs/gtkmm2/gtk/src/gtk_vfuncs.defs
new file mode 100644
index 0000000000..0657e55fd2
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/gtk_vfuncs.defs
@@ -0,0 +1,1156 @@
+;; -*- scheme -*-
+; virtual function definitions
+; define-vfunc is gtkmm-specific
+
+; GtkAction
+
+(define-vfunc create_menu_item
+ (of-object "GtkAction")
+ (return-type "GtkWidget*")
+)
+
+(define-vfunc create_tool_item
+ (of-object "GtkAction")
+ (return-type "GtkWidget*")
+)
+
+(define-vfunc connect_proxy
+ (of-object "GtkAction")
+ (return-type "void")
+ (parameters
+ '("GtkWidget*" "proxy")
+ )
+)
+
+(define-vfunc disconnect_proxy
+ (of-object "GtkAction")
+ (return-type "void")
+ (parameters
+ '("GtkWidget*" "proxy")
+ )
+)
+
+; GtkCellEditable
+
+(define-vfunc start_editing
+ (of-object "GtkCellEditable")
+ (return-type "none")
+ (parameters
+ '("GdkEvent*" "event")
+ )
+)
+
+
+; GtkCellLayout
+
+(define-vfunc pack_start
+ (of-object "GtkCellLayout")
+ (return-type "none")
+ (parameters
+ '("GtkCellRenderer*" "cell")
+ '("gboolean" "expand")
+ )
+)
+
+(define-vfunc pack_end
+ (of-object "GtkCellLayout")
+ (return-type "none")
+ (parameters
+ '("GtkCellRenderer*" "cell")
+ '("gboolean" "expand")
+ )
+)
+
+(define-vfunc clear
+ (of-object "GtkCellLayout")
+ (return-type "none")
+)
+
+(define-vfunc add_attribute
+ (of-object "GtkCellLayout")
+ (return-type "none")
+ (parameters
+ '("GtkCellRenderer*" "cell")
+ '("const-gchar*" "attribute")
+ '("gint" "column")
+ )
+)
+
+;; //TODO: _WRAP_VFUNC(void set_cell_data_func(GtkCellRenderer* cell, GtkCellLayoutDataFunc func, gpointer func_data, GDestroyNotify destroy), set_cell_data_func)
+
+(define-vfunc clear_attributes
+ (of-object "GtkCellLayout")
+ (return-type "none")
+ (parameters
+ '("GtkCellRenderer*" "cell")
+ )
+)
+
+(define-vfunc reorder
+ (of-object "GtkCellLayout")
+ (return-type "none")
+ (parameters
+ '("GtkCellRenderer*" "cell")
+ '("gint" "position")
+ )
+)
+
+
+; GtkCellRenderer
+
+(define-vfunc get_size
+ (of-object "GtkCellRenderer")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "widget")
+ '("GdkRectangle*" "cell_area")
+ '("gint*" "x_offset")
+ '("gint*" "y_offset")
+ '("gint*" "width")
+ '("gint*" "height")
+ )
+)
+
+(define-vfunc render
+ (of-object "GtkCellRenderer")
+ (return-type "none")
+ (parameters
+ '("GdkDrawable*" "window")
+ '("GtkWidget*" "widget")
+ '("GdkRectangle*" "background_area")
+ '("GdkRectangle*" "cell_area")
+ '("GdkRectangle*" "expose_area")
+ '("GtkCellRendererState" "flags")
+ )
+)
+
+(define-vfunc activate
+ (of-object "GtkCellRenderer")
+ (return-type "gboolean")
+ (parameters
+ '("GdkEvent*" "event")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "path")
+ '("GdkRectangle*" "background_area")
+ '("GdkRectangle*" "cell_area")
+ '("GtkCellRendererState" "flags")
+ )
+)
+
+(define-vfunc start_editing
+ (of-object "GtkCellRenderer")
+ (return-type "GtkCellEditable*")
+ (parameters
+ '("GdkEvent*" "event")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "path")
+ '("GdkRectangle*" "background_area")
+ '("GdkRectangle*" "cell_area")
+ '("GtkCellRendererState" "flags")
+ )
+)
+
+
+
+; GtkCheckButton
+
+(define-vfunc draw_indicator
+ (of-object "GtkCheckButton")
+ (return-type "none")
+ (parameters
+ '("GdkRectangle*" "area")
+ )
+)
+
+; GtkCheckMenuItem
+
+(define-vfunc draw_indicator
+ (of-object "GtkCheckMenuItem")
+ (return-type "none")
+ (parameters
+ '("GdkRectangle*" "area")
+ )
+)
+
+; GtkCList
+
+(define-vfunc sort_list
+ (of-object "GtkCList")
+ (return-type "none")
+)
+
+(define-vfunc insert_row
+ (of-object "GtkCList")
+ (return-type "int")
+ (parameters
+ '("gint" "row")
+ '("gchar**" "text")
+ )
+)
+
+(define-vfunc remove_row
+ (of-object "GtkCList")
+ (return-type "none")
+ (parameters
+ '("gint" "row")
+ )
+)
+
+(define-vfunc clear
+ (of-object "GtkCList")
+ (return-type "none")
+)
+
+; GtkContainer
+
+(define-vfunc child_type
+ (of-object "GtkContainer")
+ (return-type "GtkType")
+)
+
+
+(define-vfunc forall
+ (of-object "GtkContainer")
+ (return-type "none")
+ (parameters
+ '("gboolean" "include_internals")
+ '("GtkCallback" "callback")
+ '("gpointer" "callback_data")
+ )
+)
+
+(define-vfunc composite_name
+ (of-object "GtkContainer")
+ (return-type "gchar*")
+ (parameters
+ '("GtkWidget*" "child")
+ )
+)
+
+(define-vfunc set_child_property
+ (of-object "GtkContainer")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("guint" "property_id")
+ '("const-GValue*" "value")
+ '("GParamSpec*" "pspec")
+ )
+)
+
+(define-vfunc get_child_property
+ (of-object "GtkContainer")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "child")
+ '("guint" "property_id")
+ '("GValue*" "value")
+ '("GParamSpec*" "pspec")
+ )
+)
+
+; GtkEditable
+
+(define-vfunc do_insert_text
+ (of-object "GtkEditable")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "text")
+ '("gint" "length")
+ '("gint*" "position")
+ )
+)
+
+(define-vfunc do_delete_text
+ (of-object "GtkEditable")
+ (return-type "none")
+ (parameters
+ '("gint" "start_pos")
+ '("gint" "end_pos")
+ )
+)
+
+(define-vfunc get_chars
+ (of-object "GtkEditable")
+ (return-type "gchar*")
+ (parameters
+ '("gint" "start_pos")
+ '("gint" "end_pos")
+ )
+)
+
+(define-vfunc set_selection_bounds
+ (of-object "GtkEditable")
+ (return-type "none")
+ (parameters
+ '("gint" "start_pos")
+ '("gint" "end_pos")
+ )
+)
+
+(define-vfunc get_selection_bounds
+ (of-object "GtkEditable")
+ (return-type "gboolean")
+ (parameters
+ '("gint*" "start_pos")
+ '("gint*" "end_pos")
+ )
+)
+
+(define-vfunc set_position
+ (of-object "GtkEditable")
+ (return-type "none")
+ (parameters
+ '("gint" "position")
+ )
+)
+
+(define-vfunc get_position
+ (of-object "GtkEditable")
+ (return-type "gint")
+)
+
+; GtkFrame
+
+(define-vfunc compute_child_allocation
+ (of-object "GtkFrame")
+ (return-type "none")
+ (parameters
+ '("GtkAllocation*" "allocation")
+ )
+)
+
+; GtkRange
+
+(define-vfunc get_range_border
+ (of-object "GtkRange")
+ (return-type "none")
+ (parameters
+ '("GtkBorder*" "border")
+ )
+)
+
+; GtkRuler
+
+(define-vfunc draw_ticks
+ (of-object "GtkRuler")
+ (return-type "none")
+)
+
+(define-vfunc draw_pos
+ (of-object "GtkRuler")
+ (return-type "none")
+)
+
+; GtkScale
+
+(define-vfunc draw_value
+ (of-object "GtkScale")
+ (return-type "none")
+)
+
+; GtkStyle
+
+(define-vfunc get_column_type
+ (of-object "GtkTreeModel")
+ (return-type "GType")
+ (parameters
+ '("gint" "index")
+ )
+)
+
+(define-vfunc realize
+ (of-object "GtkStyle")
+ (return-type "none")
+)
+
+(define-vfunc unrealize
+ (of-object "GtkStyle")
+ (return-type "none")
+)
+
+(define-vfunc copy
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GtkStyle*" "src")
+ )
+)
+
+(define-vfunc clone
+ (of-object "GtkStyle")
+ (return-type "GtkStyle*")
+)
+
+(define-vfunc init_from_rc
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GtkRcStyle*" "rc_style")
+ )
+)
+
+(define-vfunc set_background
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ )
+)
+
+(define-vfunc render_icon
+ (of-object "GtkStyle")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("const-GtkIconSource*" "source")
+ '("GtkTextDirection" "direction")
+ '("GtkStateType" "state")
+ '("GtkIconSize" "size")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ )
+)
+
+
+(define-vfunc render_icon
+ (of-object "GtkStyle")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("const-GtkIconSource*" "source")
+ '("GtkTextDirection" "direction")
+ '("GtkStateType" "state")
+ '("GtkIconSize" "size")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ )
+)
+
+(define-vfunc draw_hline
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x1")
+ '("gint" "x2")
+ '("gint" "y")
+ )
+)
+
+(define-vfunc draw_vline
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "y1")
+ '("gint" "y2")
+ '("gint" "x")
+ )
+)
+
+(define-vfunc draw_shadow
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+
+(define-vfunc draw_diamond
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+
+(define-vfunc draw_string
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("const-gchar*" "string")
+ )
+)
+
+(define-vfunc draw_box
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+
+(define-vfunc draw_flat_box
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-vfunc draw_check
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-vfunc draw_option
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-vfunc draw_tab
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-vfunc draw_shadow_gap
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("GtkPositionType" "gap_side")
+ '("gint" "gap_x")
+ '("gint" "gap_width")
+ )
+)
+
+(define-vfunc draw_box_gap
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("GtkPositionType" "gap_side")
+ '("gint" "gap_x")
+ '("gint" "gap_width")
+ )
+)
+
+(define-vfunc draw_extension
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("GtkPositionType" "gap_side")
+ )
+)
+
+(define-vfunc draw_focus
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-vfunc draw_slider
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("GtkOrientation" "orientation")
+ )
+)
+
+(define-vfunc draw_handle
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ '("GtkOrientation" "orientation")
+ )
+)
+
+(define-vfunc draw_expander
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("GtkExpanderStyle" "expander_style")
+ )
+)
+
+(define-vfunc draw_layout
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("gboolean" "use_text")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("gint" "x")
+ '("gint" "y")
+ '("PangoLayout*" "layout")
+ )
+)
+
+(define-vfunc draw_resize_grip
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("GdkWindowEdge" "edge")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+(define-vfunc draw_polygon
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("GdkPoint*" "point")
+ '("gint" "npoints")
+ '("gboolean" "fill")
+ )
+)
+
+(define-vfunc draw_arrow
+ (of-object "GtkStyle")
+ (return-type "none")
+ (parameters
+ '("GdkWindow*" "window")
+ '("GtkStateType" "state_type")
+ '("GtkShadowType" "shadow_type")
+ '("GdkRectangle*" "area")
+ '("GtkWidget*" "widget")
+ '("const-gchar*" "detail")
+ '("GtkArrowType" "arrow_type")
+ '("gboolean" "fill")
+ '("gint" "x")
+ '("gint" "y")
+ '("gint" "width")
+ '("gint" "height")
+ )
+)
+
+
+; GtkTreeModel
+
+(define-vfunc get_flags
+ (of-object "GtkTreeModel")
+ (return-type "GtkTreeModelFlags")
+)
+
+(define-vfunc get_n_columns
+ (of-object "GtkTreeModel")
+ (return-type "gint")
+)
+
+(define-vfunc get_column_type
+ (of-object "GtkTreeModel")
+ (return-type "GType")
+ (parameters
+ '("gint" "index")
+ )
+)
+
+(define-vfunc get_iter
+ (of-object "GtkTreeModel")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-vfunc get_path
+ (of-object "GtkTreeModel")
+ (return-type "GtkTreePath*")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-vfunc get_value
+ (of-object "GtkTreeModel")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("gint" "column")
+ '("GValue*" "value")
+ )
+)
+
+(define-vfunc iter_next
+ (of-object "GtkTreeModel")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-vfunc iter_children
+ (of-object "GtkTreeModel")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("GtkTreeIter*" "parent")
+ )
+)
+
+(define-vfunc iter_has_child
+ (of-object "GtkTreeModel")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-vfunc iter_n_children
+ (of-object "GtkTreeModel")
+ (return-type "int")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-vfunc iter_nth_child
+ (of-object "GtkTreeModel")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("GtkTreeIter*" "parent")
+ '("gint" "n")
+ )
+)
+
+(define-vfunc iter_parent
+ (of-object "GtkTreeModel")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("GtkTreeIter*" "child")
+ )
+)
+
+(define-vfunc ref_node
+ (of-object "GtkTreeModel")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+(define-vfunc unref_node
+ (of-object "GtkTreeModel")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ )
+)
+
+; GtkTreeSortable
+
+(define-vfunc get_sort_column_id
+ (of-object "GtkTreeSortable")
+ (return-type "gboolean")
+ (parameters
+ '("int*" "sort_column_id")
+ '("GtkSortType*" "order")
+ )
+)
+
+(define-vfunc set_sort_column_id
+ (of-object "GtkTreeSortable")
+ (return-type "void")
+ (parameters
+ '("int" "sort_column_id")
+ '("GtkSortType" "order")
+ )
+)
+
+(define-vfunc set_sort_func
+ (of-object "GtkTreeSortable")
+ (return-type "void")
+ (parameters
+ '("int" "sort_column_id")
+ '("GtkTreeIterCompareFunc" "func")
+ '("gpointer" "data")
+ '("GtkDestroyNotify" "destroy")
+ )
+)
+
+(define-vfunc set_default_sort_func
+ (of-object "GtkTreeSortable")
+ (return-type "void")
+ (parameters
+ '("GtkTreeIterCompareFunc" "func")
+ '("gpointer" "data")
+ '("GtkDestroyNotify" "destroy")
+ )
+)
+
+(define-vfunc has_default_sort_func
+ (of-object "GtkTreeSortable")
+ (return-type "gboolean")
+)
+
+; GtkTreeDragDest
+
+(define-vfunc drag_data_received
+ (of-object "GtkTreeDragDest")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreePath*" "dest")
+ '("GtkSelectionData*" "selection_data")
+ )
+)
+
+(define-vfunc row_drop_possible
+ (of-object "GtkTreeDragDest")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreePath*" "dest_path")
+ '("GtkSelectionData*" "selection_data")
+ )
+)
+
+; GtkTreeDragSource
+
+(define-vfunc row_draggable
+ (of-object "GtkTreeDragSource")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreePath*" "path")
+ )
+)
+
+(define-vfunc drag_data_get
+ (of-object "GtkTreeDragSource")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreePath*" "path")
+ '("GtkSelectionData*" "selection_data")
+ )
+)
+
+(define-vfunc drag_data_delete
+ (of-object "GtkTreeDragSource")
+ (return-type "gboolean")
+ (parameters
+ '("GtkTreePath*" "path")
+ )
+)
+
+; GtkProgress
+
+(define-vfunc paint
+ (of-object "GtkProgress")
+ (return-type "none")
+)
+
+(define-vfunc update
+ (of-object "GtkProgress")
+ (return-type "none")
+)
+
+(define-vfunc act_mode_enter
+ (of-object "GtkProgress")
+ (return-type "none")
+)
+; GtkViewPort
+
+(define-vfunc set_scroll_adjustments
+ (of-object "GtkViewPort")
+ (return-type "none")
+ (parameters
+ '("GtkAdjustment*" "hadjustment")
+ '("GtkAdjustment*" "vadjustment")
+ )
+)
+
+; GtkWidget
+
+(define-vfunc dispatch_child_properties_changed
+ (of-object "GtkWidget")
+ (return-type "none")
+ (parameters
+ '("guint" "n_pspecs")
+ '("GParamSpec**" "pspecs")
+ )
+)
+
+(define-vfunc show_all
+ (of-object "GtkWidget")
+ (return-type "none")
+)
+
+(define-vfunc hide_all
+ (of-object "GtkWidget")
+ (return-type "none")
+)
+
+(define-vfunc get_accessible
+ (of-object "GtkWidget")
+ (return-type "AtkObject*")
+)
+
+; GtkRecentChooser
+
+(define-vfunc set_current_uri
+ (of-object "GtkRecentChooser")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri")
+ '("GError**" "error")
+ )
+)
+
+(define-vfunc get_current_uri
+ (of-object "GtkRecentChooser")
+ (return-type "gchar*")
+)
+(define-vfunc select_uri
+ (of-object "GtkRecentChooser")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri")
+ '("GError**" "error")
+ )
+)
+
+(define-vfunc unselect_uri
+ (of-object "GtkRecentChooser")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "uri")
+ )
+)
+
+(define-vfunc select_all
+ (of-object "GtkRecentChooser")
+ (return-type "none")
+)
+
+(define-vfunc unselect_all
+ (of-object "GtkRecentChooser")
+ (return-type "none")
+)
+
+(define-vfunc get_items
+ (of-object "GtkRecentChooser")
+ (return-type "GList*")
+)
+
+(define-vfunc get_recent_manager
+ (of-object "GtkRecentChooser")
+ (return-type "GtkRecentManager*")
+)
+
+(define-vfunc add_filter
+ (of-object "GtkRecentChooser")
+ (return-type "none")
+ (parameters
+ '("GtkRecentFilter*" "filter")
+ )
+)
+
+(define-vfunc remove_filter
+ (of-object "GtkRecentChooser")
+ (return-type "none")
+ (parameters
+ '("GtkRecentFilter*" "filter")
+ )
+)
+
+(define-vfunc list_filters
+ (of-object "GtkRecentChooser")
+ (return-type "GSList*")
+)
+
+(define-vfunc set_sort_func
+ (of-object "GtkRecentChooser")
+ (return-type "none")
+ (parameters
+ '("GtkRecentSortFunc" "sort_func")
+ '("gpointer" "data")
+ '("GDestroyNotify" "notify")
+ )
+)
+
+; GtkPrintOperationPreview
+
+
+(define-vfunc render_page
+ (of-object "GtkPrintOperationPreview")
+ (return-type "none")
+ (parameters
+ '("gint" "page_nr")
+ )
+)
+
+(define-vfunc end_preview
+ (of-object "GtkPrintOperationPreview")
+ (return-type "none")
+)
+
+(define-vfunc is_selected
+ (of-object "GtkPrintOperationPreview")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "page_nr")
+ )
+)
diff --git a/libs/gtkmm2/gtk/src/handlebox.ccg b/libs/gtkmm2/gtk/src/handlebox.ccg
new file mode 100644
index 0000000000..9067ea8b7b
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/handlebox.ccg
@@ -0,0 +1,50 @@
+// -*- c++ -*-
+/* $Id: handlebox.ccg,v 1.1 2003/01/21 13:40:26 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkhandlebox.h>
+#include <gdkmm/window.h>
+
+namespace Gtk
+{
+
+bool HandleBox::is_child_detached() const
+{
+ return gobj()->child_detached;
+}
+
+bool HandleBox::is_float_window_mapped() const
+{
+ return gobj()->float_window_mapped;
+}
+
+bool HandleBox::is_in_drag() const
+{
+ return gobj()->in_drag;
+}
+
+bool HandleBox::shrinks_on_detach() const
+{
+ return gobj()->shrink_on_detach;
+}
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/handlebox.hg b/libs/gtkmm2/gtk/src/handlebox.hg
new file mode 100644
index 0000000000..19da7c4508
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/handlebox.hg
@@ -0,0 +1,74 @@
+ /* $Id: handlebox.hg,v 1.1 2003/01/21 13:40:26 murrayc Exp $ */
+
+/* handlebox.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/eventbox.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/bin_p.h)
+
+#m4 _CONVERSION(`int',`PositionType',`($2)$3')
+
+namespace Gtk
+{
+
+/** A widget for detachable window portions.
+ *
+ * The Gtk::HandleBox widget allows a portion of a window to be "torn off".
+ * It displays its child and a handle that the user can drag to tear off a separate window (the float window) containing the child widget. A thin ghost is drawn in the original location of the handlebox. By dragging the separate window back to its original location, it can be reattached.
+ * When reattaching, the ghost and float window must be aligned along one of the edges, the snap edge. This can be specified by the application programmer explicitely, or GTK+ will pick a reasonable default based on the handle position.
+ * To make detaching and reattaching the handlebox as minimally confusing as possible to the user, it is important to set the snap edge so that the snap edge does not move when the handlebox is deattached.
+ * For instance, if the handlebox is packed at the bottom of a VBox, then when the handlebox is detached, the bottom edge of the handlebox's allocation will remain fixed as the height of the handlebox shrinks, so the snap edge should be set to GTK_POS_BOTTOM.
+ *
+ * @ingroup Widgets
+ * @ingroup Containers
+ */
+class HandleBox : public Bin
+{
+ _CLASS_GTKOBJECT(HandleBox,GtkHandleBox,GTK_HANDLE_BOX,Gtk::Bin,GtkBin)
+public:
+ _CTOR_DEFAULT
+
+
+ _WRAP_METHOD(void set_shadow_type(ShadowType type), gtk_handle_box_set_shadow_type)
+ _WRAP_METHOD(ShadowType get_shadow_type() const, gtk_handle_box_get_shadow_type)
+ _WRAP_METHOD(void set_handle_position(PositionType position), gtk_handle_box_set_handle_position)
+ _WRAP_METHOD(PositionType get_handle_position() const, gtk_handle_box_get_handle_position)
+ _WRAP_METHOD(void set_snap_edge(PositionType edge), gtk_handle_box_set_snap_edge)
+ _WRAP_METHOD(PositionType get_snap_edge() const, gtk_handle_box_get_snap_edge)
+
+ _WRAP_SIGNAL(void child_attached(Widget* child), "child_attached")
+ _WRAP_SIGNAL(void child_detached(Widget* child), "child_detached")
+
+ _MEMBER_GET_GOBJECT(bin_window, bin_window, Gdk::Window, GdkWindow*)
+ _MEMBER_GET_GOBJECT(float_window, float_window, Gdk::Window, GdkWindow*)
+
+ bool is_child_detached() const;
+ bool is_float_window_mapped() const;
+ bool is_in_drag() const;
+ bool shrinks_on_detach() const;
+
+ //_WRAP_PROPERTY("shadow", ShadowType); //deprecated.
+ _WRAP_PROPERTY("shadow-type", ShadowType)
+ _WRAP_PROPERTY("handle-position", PositionType)
+ _WRAP_PROPERTY("snap-edge", PositionType)
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/iconfactory.ccg b/libs/gtkmm2/gtk/src/iconfactory.ccg
new file mode 100644
index 0000000000..21feb4269d
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/iconfactory.ccg
@@ -0,0 +1,61 @@
+// -*- c++ -*-
+/* $Id: iconfactory.ccg,v 1.1 2003/01/21 13:40:26 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkiconfactory.h>
+
+namespace Gtk
+{
+
+// static
+bool IconSize::lookup(IconSize size, int& width, int& height)
+{
+ return gtk_icon_size_lookup((GtkIconSize) int(size), &width, &height);
+}
+
+// static
+IconSize IconSize::register_new(const Glib::ustring& name, int width, int height)
+{
+ const int size = gtk_icon_size_register(name.c_str(), width, height);
+ return IconSize(size);
+}
+
+// static
+void IconSize::register_alias(const Glib::ustring& alias, IconSize target)
+{
+ gtk_icon_size_register_alias(alias.c_str(), (GtkIconSize) int(target));
+}
+
+// static
+IconSize IconSize::from_name(const Glib::ustring& name)
+{
+ const int size = gtk_icon_size_from_name(name.c_str());
+ return IconSize(size);
+}
+
+// static
+Glib::ustring IconSize::get_name(IconSize size)
+{
+ return gtk_icon_size_get_name((GtkIconSize) int(size));
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/iconfactory.hg b/libs/gtkmm2/gtk/src/iconfactory.hg
new file mode 100644
index 0000000000..f485317506
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/iconfactory.hg
@@ -0,0 +1,50 @@
+/* $Id: iconfactory.hg,v 1.1 2003/01/21 13:40:26 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+#include <gtkmm/enums.h>
+#include <gtkmm/object.h>
+#include <gtkmm/enums.h>
+#include <gtkmm/iconset.h>
+#include <gtkmm/stockid.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Gtk
+{
+
+class IconFactory : public Glib::Object
+{
+ _CLASS_GOBJECT(IconFactory, GtkIconFactory, GTK_ICON_FACTORY, Glib::Object, GObject)
+ _IGNORE(gtk_icon_factory_lookup, gtk_icon_factory_lookup_for_settings)
+protected:
+
+ _CTOR_DEFAULT()
+
+public:
+ _WRAP_CREATE()
+
+ _WRAP_METHOD(void add(const Gtk::StockID& stock_id, const IconSet& icon_set), gtk_icon_factory_add)
+ _WRAP_METHOD(void add_default(), gtk_icon_factory_add_default)
+ _WRAP_METHOD(void remove_default(), gtk_icon_factory_remove_default)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/iconinfo.ccg b/libs/gtkmm2/gtk/src/iconinfo.ccg
new file mode 100644
index 0000000000..c71ab25124
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/iconinfo.ccg
@@ -0,0 +1,45 @@
+/* Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkicontheme.h>
+
+namespace Gtk
+{
+
+bool IconInfo::get_attach_points(Glib::ArrayHandle<Gdk::Point>& /* points */) const
+{
+ GdkPoint* c_attach_points = 0;
+ gint n_points = 0;
+ bool result = gtk_icon_info_get_attach_points (const_cast<GtkIconInfo*>(gobj()), &c_attach_points, &n_points);
+
+ if(c_attach_points)
+ {
+ //TODO: We can't use = with an ArrayHandle.
+ //Investigate whether the bool return value has a special meaning - maybe we can just return an empty ArrayHandle.
+ //points = Glib::ArrayHandle<Gdk::Point>(reinterpret_cast<Gdk::Point*>(c_attach_points), (size_t)n_points, Glib::OWNERSHIP_SHALLOW); //We use OWNERSHIP_SHALLOW because we just need to g_free() the array and nothing more.
+ }
+ return result;
+}
+
+IconInfo::operator bool()
+{
+ return gobj() != 0;
+}
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/iconinfo.hg b/libs/gtkmm2/gtk/src/iconinfo.hg
new file mode 100644
index 0000000000..bbaf4294e3
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/iconinfo.hg
@@ -0,0 +1,50 @@
+/* Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdkmm/rectangle.h>
+#include <gdkmm/pixbuf.h>
+#include <gdkmm/types.h>
+
+//#include <gtk/gtkicontheme.h>
+
+_DEFS(gtkmm,gtk)
+
+namespace Gtk
+{
+
+class IconInfo
+{
+ _CLASS_BOXEDTYPE(IconInfo, GtkIconInfo, NONE, gtk_icon_info_copy, gtk_icon_info_free)
+ _IGNORE(gtk_icon_info_get_attach_points, gtk_icon_info_copy, gtk_icon_info_free)
+public:
+
+ ///Tests whether the IconInfo is valid.
+ operator bool();
+
+ _WRAP_METHOD(int get_base_size() const, gtk_icon_info_get_base_size)
+ _WRAP_METHOD(Glib::ustring get_filename() const, gtk_icon_info_get_filename)
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> get_builtin_pixbuf(), gtk_icon_info_get_builtin_pixbuf, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Gdk::Pixbuf> get_builtin_pixbuf() const, gtk_icon_info_get_builtin_pixbuf, refreturn, constversion)
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> load_icon() const, gtk_icon_info_load_icon, errthrow)
+ _WRAP_METHOD(void set_raw_coordinates(bool raw_coordinates = true), gtk_icon_info_set_raw_coordinates)
+ _WRAP_METHOD(bool get_embedded_rect(Gdk::Rectangle& rectangle) const, gtk_icon_info_get_embedded_rect)
+ bool get_attach_points(Glib::ArrayHandle<Gdk::Point>& points) const;
+ _WRAP_METHOD(Glib::ustring get_display_name() const, gtk_icon_info_get_display_name)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/iconset.ccg b/libs/gtkmm2/gtk/src/iconset.ccg
new file mode 100644
index 0000000000..c032b8a523
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/iconset.ccg
@@ -0,0 +1,52 @@
+// -*- c++ -*-
+/* $Id: iconset.ccg,v 1.1 2003/01/21 13:40:26 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/widget.h>
+#include <gtkmm/style.h>
+#include <gtk/gtkiconfactory.h>
+
+namespace Gtk
+{
+
+IconSet::IconSet(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf)
+{
+ gobject_ = gtk_icon_set_new_from_pixbuf(pixbuf->gobj());
+}
+
+Glib::ArrayHandle<IconSize> IconSet::get_sizes() const
+{
+ GtkIconSize* pSizes = 0;
+ int n_sizes = 0;
+ gtk_icon_set_get_sizes(const_cast<GtkIconSet*>(gobj()), &pSizes, &n_sizes);
+
+ return Glib::ArrayHandle<IconSize>((IconSize*) pSizes, n_sizes, Glib::OWNERSHIP_SHALLOW);
+}
+
+IconSet IconSet::lookup_default(const Gtk::StockID& stock_id) //static
+{
+ GtkIconSet* pIconSet = gtk_icon_factory_lookup_default(stock_id.get_string().c_str());
+ return IconSet(pIconSet, true); //true = take_copy.
+}
+
+} /* namespace Gtk */
+
+
diff --git a/libs/gtkmm2/gtk/src/iconset.hg b/libs/gtkmm2/gtk/src/iconset.hg
new file mode 100644
index 0000000000..497e43d5bb
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/iconset.hg
@@ -0,0 +1,64 @@
+/* $Id: iconset.hg,v 1.3 2006/07/30 20:49:50 murrayc Exp $ */
+
+/* iconset.h
+ *
+ * Copyright(C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software, ) you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation, ) either
+ * version 2 of the License, or(at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY, ) without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library, ) if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+//#include <gtkmm/style.h>
+#include <gdkmm/pixbuf.h>
+#include <gtkmm/iconsource.h>
+//#include <gtkmm/widget.h>
+#include <gtkmm/stockid.h>
+#include <glibmm/arrayhandle.h>
+
+_DEFS(gtkmm,gtk)
+
+namespace Gtk
+{
+
+class Style;
+class Widget;
+
+//TODO_API: Is _CLASS_BOXEDTYPE the appropriate thing to use here.
+//This seems to be reference-counted, not copied.
+
+/* TODO: Documentation, thought the C API has no documentation for this either. */
+class IconSet
+{
+ _CLASS_BOXEDTYPE(IconSet, GtkIconSet, gtk_icon_set_new, gtk_icon_set_ref, gtk_icon_set_unref)
+ _IGNORE(gtk_icon_set_ref, gtk_icon_set_unref, gtk_icon_set_get_sizes)
+public:
+ explicit IconSet(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf);
+
+ _WRAP_METHOD(IconSet copy() const, gtk_icon_set_copy)
+
+ //Note that we use Gtk::StateType here instead of StateType, because there is an Atk::StateType too, and doxygen gets confused.
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> render_icon(const Glib::RefPtr<Style>& style, TextDirection direction,
+ Gtk::StateType state, IconSize size,
+ Widget& widget, const Glib::ustring& detail), gtk_icon_set_render_icon)
+
+ _WRAP_METHOD(void add_source(const IconSource& source), gtk_icon_set_add_source)
+
+ Glib::ArrayHandle<IconSize> get_sizes() const;
+
+ static IconSet lookup_default(const Gtk::StockID& stock_id);
+};
+
+} /* namespace Gtk */
+
+
diff --git a/libs/gtkmm2/gtk/src/iconsource.ccg b/libs/gtkmm2/gtk/src/iconsource.ccg
new file mode 100644
index 0000000000..7d7728449f
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/iconsource.ccg
@@ -0,0 +1,23 @@
+// -*- c++ -*-
+/* $Id: iconsource.ccg,v 1.1 2003/01/21 13:40:26 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkiconfactory.h> \ No newline at end of file
diff --git a/libs/gtkmm2/gtk/src/iconsource.hg b/libs/gtkmm2/gtk/src/iconsource.hg
new file mode 100644
index 0000000000..9724625d24
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/iconsource.hg
@@ -0,0 +1,62 @@
+/* $Id: iconsource.hg,v 1.5 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* iconsource.h
+ *
+ * Copyright(C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software, ) you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation, ) either
+ * version 2 of the License, or(at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY, ) without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library, ) if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdkmm/pixbuf.h>
+#include <gtkmm/enums.h>
+
+_DEFS(gtkmm,gtk)
+
+namespace Gtk
+{
+
+class IconSource
+{
+ _CLASS_BOXEDTYPE(IconSource, GtkIconSource, gtk_icon_source_new, gtk_icon_source_copy, gtk_icon_source_free)
+ _IGNORE(gtk_icon_source_copy, gtk_icon_source_free)
+public:
+
+ _WRAP_METHOD(void set_filename(const Glib::ustring& filename), gtk_icon_source_set_filename)
+ _WRAP_METHOD(void set_pixbuf(const Glib::RefPtr<Gdk::Pixbuf>&pixbuf), gtk_icon_source_set_pixbuf)
+
+ _WRAP_METHOD(Glib::ustring get_filename() const, gtk_icon_source_get_filename)
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> get_pixbuf(), gtk_icon_source_get_pixbuf, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Gdk::Pixbuf> get_pixbuf() const, gtk_icon_source_get_pixbuf, refreturn, constversion)
+
+ _WRAP_METHOD(void set_direction_wildcarded(bool setting = true), gtk_icon_source_set_direction_wildcarded)
+ _WRAP_METHOD(void set_state_wildcarded(bool setting = true), gtk_icon_source_set_state_wildcarded)
+ _WRAP_METHOD(void set_size_wildcarded (bool setting = true), gtk_icon_source_set_size_wildcarded)
+ _WRAP_METHOD(bool get_size_wildcarded() const, gtk_icon_source_get_size_wildcarded)
+ _WRAP_METHOD(bool get_state_wildcarded() const, gtk_icon_source_get_state_wildcarded)
+ _WRAP_METHOD(bool get_direction_wildcarded() const, gtk_icon_source_get_direction_wildcarded)
+ _WRAP_METHOD(void set_direction(TextDirection direction), gtk_icon_source_set_direction)
+ _WRAP_METHOD(void set_state(Gtk::StateType state), gtk_icon_source_set_state)
+ _WRAP_METHOD(void set_size(IconSize size), gtk_icon_source_set_size)
+ _WRAP_METHOD(TextDirection get_direction() const, gtk_icon_source_get_direction)
+ _WRAP_METHOD(Gtk::StateType get_state() const, gtk_icon_source_get_state)
+ _WRAP_METHOD(IconSize get_size() const, gtk_icon_source_get_size)
+
+ _WRAP_METHOD(void set_icon_name(const Glib::ustring& icon_name), gtk_icon_source_set_icon_name)
+ _WRAP_METHOD(Glib::ustring get_icon_name() const, gtk_icon_source_get_icon_name)
+};
+
+} /* namespace Gtk */
+
+
diff --git a/libs/gtkmm2/gtk/src/icontheme.ccg b/libs/gtkmm2/gtk/src/icontheme.ccg
new file mode 100644
index 0000000000..4659ea1d84
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/icontheme.ccg
@@ -0,0 +1,53 @@
+/* Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkicontheme.h>
+#include <gtk/gtktypebuiltins.h> //For gtk_icon_theme_error_get_type().
+
+
+namespace Gtk
+{
+
+void IconTheme::set_search_path(const Glib::ArrayHandle<Glib::ustring>& path)
+{
+ gtk_icon_theme_set_search_path(gobj(), const_cast<const char**>(path.data()), path.size());
+}
+
+Glib::ArrayHandle<Glib::ustring> IconTheme::get_search_path() const
+{
+ int temp_int = 0;
+ gchar** temp_path = 0;
+ gtk_icon_theme_get_search_path(const_cast<GtkIconTheme*>(gobj()), &temp_path, &temp_int);
+ return Glib::ArrayHandle<Glib::ustring>((const char**) temp_path, temp_int, Glib::OWNERSHIP_DEEP);
+}
+
+Glib::ArrayHandle<int> IconTheme::get_icon_sizes(const Glib::ustring& icon_name) const
+{
+ int* pArrayInts = gtk_icon_theme_get_icon_sizes(const_cast<GtkIconTheme*>(gobj()), icon_name.c_str());
+
+ //pArrayInts is null-terminated.
+ return Glib::ArrayHandle<int>(pArrayInts, Glib::OWNERSHIP_SHALLOW);
+}
+
+Glib::ListHandle<Glib::ustring> IconTheme::list_icons() const
+{
+ return Glib::ListHandle<Glib::ustring>(gtk_icon_theme_list_icons(const_cast<GtkIconTheme*>(gobj()), 0 /* means all icons according to the C documentation. */ ), Glib::OWNERSHIP_SHALLOW);
+}
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/icontheme.hg b/libs/gtkmm2/gtk/src/icontheme.hg
new file mode 100644
index 0000000000..321643aded
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/icontheme.hg
@@ -0,0 +1,86 @@
+/* Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdkmm/pixbuf.h>
+#include <gdkmm/screen.h>
+
+#include <gtkmm/iconinfo.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Gtk
+{
+
+_WRAP_ENUM(IconLookupFlags, GtkIconLookupFlags, NO_GTYPE)
+
+/** Exception class for Gdk::IconTheme errors.
+ */
+_WRAP_GERROR(IconThemeError,GtkIconThemeError,GTK_ICON_THEME_ERROR)
+
+class IconTheme : public Glib::Object
+{
+ _CLASS_GOBJECT(IconTheme, GtkIconTheme, GTK_ICON_THEME, Glib::Object, GObject)
+ _IGNORE(gtk_icon_theme_set_search_path, gtk_icon_theme_get_search_path)
+
+protected:
+ _CTOR_DEFAULT()
+public:
+ _WRAP_CREATE()
+ _WRAP_METHOD(static Glib::RefPtr<IconTheme> get_default(), gtk_icon_theme_get_default, refreturn)
+ _WRAP_METHOD(static Glib::RefPtr<IconTheme> get_for_screen(const Glib::RefPtr<Gdk::Screen>& screen), gtk_icon_theme_get_for_screen, refreturn)
+ _WRAP_METHOD(void set_screen(const Glib::RefPtr<Gdk::Screen>& screen), gtk_icon_theme_set_screen)
+ void set_search_path(const Glib::ArrayHandle<Glib::ustring>& path);
+ Glib::ArrayHandle<Glib::ustring> get_search_path() const;
+ _WRAP_METHOD(void append_search_path(const Glib::ustring& path), gtk_icon_theme_append_search_path)
+ _WRAP_METHOD(void prepend_search_path(const Glib::ustring& path), gtk_icon_theme_prepend_search_path)
+ _WRAP_METHOD(void set_custom_theme(const Glib::ustring& theme_name), gtk_icon_theme_set_custom_theme)
+ _WRAP_METHOD(bool has_icon(const Glib::ustring& icon_name) const, gtk_icon_theme_has_icon)
+
+ Glib::ArrayHandle<int> get_icon_sizes(const Glib::ustring& icon_name) const;
+ _IGNORE(gtk_icon_theme_get_icon_sizes)
+
+ _WRAP_METHOD(IconInfo lookup_icon(const Glib::ustring& icon_name, int size, IconLookupFlags flags) const, gtk_icon_theme_lookup_icon)
+
+ #m4 _CONVERSION(`const Glib::StringArrayHandle&',`const gchar*[]',`const_cast<const gchar**>(($3).data())')
+ _WRAP_METHOD(IconInfo choose_icon(const Glib::StringArrayHandle& icon_names, int size, IconLookupFlags flags), gtk_icon_theme_choose_icon)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> load_icon(const Glib::ustring& icon_name, int size, IconLookupFlags flags) const, gtk_icon_theme_load_icon, errthrow)
+
+ _WRAP_METHOD(Glib::ListHandle<Glib::ustring> list_icons(const Glib::ustring& context) const, gtk_icon_theme_list_icons)
+
+ /** Lists the icons in the current icon theme.
+ *
+ * @return A list holding the names of all the
+ * icons in the theme.
+ *
+ * @newin2p10.
+ */
+ Glib::ListHandle<Glib::ustring> list_icons() const;
+
+ _WRAP_METHOD(Glib::ListHandle<Glib::ustring> list_contexts() const, gtk_icon_theme_list_contexts)
+
+ _WRAP_METHOD(Glib::ustring get_example_icon_name() const, gtk_icon_theme_get_example_icon_name)
+ _WRAP_METHOD(bool rescan_if_needed(), gtk_icon_theme_rescan_if_needed)
+ _WRAP_METHOD(static void add_builtin_icon(const Glib::ustring& icon_name, int size, const Glib::RefPtr<Gdk::Pixbuf>& pixbuf), gtk_icon_theme_add_builtin_icon)
+
+ _WRAP_SIGNAL(void changed(), "changed")
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/iconview.ccg b/libs/gtkmm2/gtk/src/iconview.ccg
new file mode 100644
index 0000000000..89c8a5f1aa
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/iconview.ccg
@@ -0,0 +1,239 @@
+// -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+/* $Id: iconview.ccg,v 1.7 2006/05/11 11:40:24 murrayc Exp $ */
+
+/* Copyright 1998-2004 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/adjustment.h>
+#include <gtk/gtkiconview.h>
+#include <gtk/gtktreemodel.h>
+#include <gtk/gtktreeview.h>
+#include <gtk/gtk.h>
+
+namespace //anonymous namespace
+{
+
+static void proxy_foreach_callback(GtkIconView* /* icon_view */, GtkTreePath* path, void* data)
+{
+ typedef Gtk::IconView::SlotForeach SlotType;
+ SlotType& slot = *static_cast<SlotType*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ slot(Gtk::TreeModel::Path(path, true));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+} //anonymous namespace
+
+
+namespace Gtk
+{
+
+//Allow the generated code to work without the prefix:
+typedef IconView::ArrayHandle_TreePaths ArrayHandle_TreePaths;
+
+void IconView::selected_foreach(const SlotForeach& slot)
+{
+ SlotForeach slot_copy(slot);
+ gtk_icon_view_selected_foreach(const_cast<GtkIconView*>(gobj()), &proxy_foreach_callback, &slot_copy);
+}
+
+bool IconView::get_item_at_pos(int x, int y, TreeModel::Path& path, CellRenderer*& cell) const
+{
+ GtkTreePath* cpath = 0;
+ GtkCellRenderer* ccell = 0;
+ bool result = gtk_icon_view_get_item_at_pos(const_cast<GtkIconView*>(gobj()), x, y, &cpath, &ccell);
+
+ path = Glib::wrap(cpath); //Don't take copy because the gtk_icon_view_get_item_at_pos documentation says we should free this.
+ cell = Glib::wrap(ccell);
+ return result;
+}
+
+bool IconView::get_item_at_pos(int x, int y, TreeModel::Path& path) const
+{
+ GtkTreePath* cpath = 0;
+ bool result = gtk_icon_view_get_item_at_pos(const_cast<GtkIconView*>(gobj()), x, y, &cpath, 0);
+
+ path = Glib::wrap(cpath); //Don't take copy because the gtk_icon_view_get_item_at_pos documentation says we should free this.
+ return result;
+}
+
+bool IconView::get_item_at_pos(int x, int y, CellRenderer*& cell) const
+{
+ GtkCellRenderer* ccell = 0;
+ bool result = gtk_icon_view_get_item_at_pos(const_cast<GtkIconView*>(gobj()), x, y, 0, &ccell);
+
+ cell = Glib::wrap(ccell);
+ return result;
+}
+
+bool IconView::get_visible_range(TreeModel::Path& start_path, TreeModel::Path& end_path) const
+{
+ GtkTreePath* cstart_path = 0;
+ GtkTreePath* cend_path = 0;
+ bool result = gtk_icon_view_get_visible_range(const_cast<GtkIconView*>(gobj()), &cstart_path, &cend_path);
+
+ start_path = Glib::wrap(cstart_path); //Don't take copy because the gtk_icon_view_get_visible_range documentation says we should free this.
+ end_path = Glib::wrap(cend_path); //Don't take copy because the gtk_icon_view_get_visible_range documentation says we should free this.
+ return result;
+}
+
+ _IGNORE(gtk_icon_view_get_visible_range)
+
+bool IconView::get_cursor(TreeModel::Path& path, CellRenderer*& cell) const
+{
+ GtkTreePath* cpath = 0;
+ GtkCellRenderer* ccell = 0;
+ bool result = gtk_icon_view_get_cursor(const_cast<GtkIconView*>(gobj()), &cpath, &ccell);
+
+ path = Glib::wrap(cpath); //Don't take copy because the gtk_icon_view_get_cursor documentation says we should free this.
+ cell = Glib::wrap(ccell);
+ return result;
+}
+
+bool IconView::get_cursor(TreeModel::Path& path) const
+{
+ GtkTreePath* cpath = 0;
+ bool result = gtk_icon_view_get_cursor(const_cast<GtkIconView*>(gobj()), &cpath, 0);
+
+ path = Glib::wrap(cpath); //Don't take copy because the gtk_icon_view_get_cursor documentation says we should free this.
+ return result;
+}
+
+bool IconView::get_cursor(CellRenderer*& cell) const
+{
+ GtkCellRenderer* ccell = 0;
+ bool result = gtk_icon_view_get_cursor(const_cast<GtkIconView*>(gobj()), 0, &ccell);
+
+ cell = Glib::wrap(ccell);
+ return result;
+}
+
+void IconView::get_drag_dest_item(TreeModel::Path& path, IconViewDropPosition& pos) const
+{
+ GtkTreePath* cpath = 0;
+ gtk_icon_view_get_drag_dest_item(const_cast<GtkIconView*>(gobj()), &cpath, (GtkIconViewDropPosition*)(&pos));
+ if(cpath)
+ path = Gtk::TreeModel::Path(cpath, true /* make_a_copy */);
+}
+
+void IconView::get_drag_dest_item(TreeModel::Path& path) const
+{
+ GtkTreePath* cpath = 0;
+ gtk_icon_view_get_drag_dest_item(const_cast<GtkIconView*>(gobj()), &cpath, NULL);
+ if(cpath)
+ path = Gtk::TreeModel::Path(cpath, true /* make_a_copy */);
+}
+
+void IconView::get_drag_dest_item(IconViewDropPosition& pos) const
+{
+ gtk_icon_view_get_drag_dest_item(const_cast<GtkIconView*>(gobj()), NULL, (GtkIconViewDropPosition*)(&pos));
+}
+
+
+bool IconView::get_dest_item_at_pos(int drag_x, int drag_y, TreeModel::Path& path, IconViewDropPosition& pos) const
+{
+ GtkTreePath* cpath = 0;
+ const bool result = gtk_icon_view_get_dest_item_at_pos(const_cast<GtkIconView*>(gobj()), drag_x, drag_y, &cpath, (GtkIconViewDropPosition*)(&pos));
+ if(cpath)
+ path = Gtk::TreeModel::Path(cpath, true /* make_a_copy */);
+
+ return result;
+}
+
+bool IconView::get_dest_item_at_pos(int drag_x, int drag_y, TreeModel::Path& path) const
+{
+ GtkTreePath* cpath = 0;
+ const bool result = gtk_icon_view_get_dest_item_at_pos(const_cast<GtkIconView*>(gobj()), drag_x, drag_y, &cpath, NULL);
+ if(cpath)
+ path = Gtk::TreeModel::Path(cpath, true /* make_a_copy */);
+
+ return result;
+}
+
+bool IconView::get_dest_item_at_pos(int drag_x, int drag_y, IconViewDropPosition& pos) const
+{
+ return gtk_icon_view_get_dest_item_at_pos(const_cast<GtkIconView*>(gobj()), drag_x, drag_y, NULL, (GtkIconViewDropPosition*)(&pos));
+}
+
+
+void IconView::enable_model_drag_source(const ArrayHandle_TargetEntry& targets, Gdk::ModifierType start_button_mask, Gdk::DragAction actions)
+{
+ gtk_icon_view_enable_model_drag_source(gobj(), (GdkModifierType)start_button_mask, targets.data(), targets.size(), (GdkDragAction)actions);
+}
+
+
+void IconView::enable_model_drag_dest(const ArrayHandle_TargetEntry& targets, Gdk::DragAction actions)
+{
+ gtk_icon_view_enable_model_drag_dest(gobj(), targets.data(), targets.size(), (GdkDragAction)actions);
+}
+
+bool
+IconView::get_tooltip_context_path(int& x, int& y,
+ bool keyboard_tip,
+ TreeModel::Path& path)
+{
+ //It's cleaner to use a temporary C++ object and get a C pointer to it,
+ //because GtkTreePath is a simple struct, not a GtkObject, so
+ //gtk_tree_path_new() would be necessary. markoa.
+ TreeModel::Path tmp_path;
+ GtkTreePath* cpath = tmp_path.gobj();
+
+ gboolean result =
+ gtk_icon_view_get_tooltip_context(gobj(),
+ &x, &y,
+ keyboard_tip,
+ 0,
+ &cpath,
+ 0);
+
+ path = Glib::wrap(cpath, false /* take_copy=false */);
+
+ return result;
+}
+
+bool
+IconView::get_tooltip_context_iter(int& x, int& y,
+ bool keyboard_tip,
+ Gtk::TreeModel::iterator& iter)
+{
+ GtkTreeIter src_iter;
+
+ gboolean result =
+ gtk_icon_view_get_tooltip_context(gobj(),
+ &x, &y,
+ keyboard_tip,
+ 0,
+ 0,
+ &src_iter);
+
+ iter = TreeIter(gtk_icon_view_get_model(this->gobj()), &src_iter);
+
+ return result;
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/iconview.hg b/libs/gtkmm2/gtk/src/iconview.hg
new file mode 100644
index 0000000000..dfe17c11d1
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/iconview.hg
@@ -0,0 +1,412 @@
+/* $Id: iconview.hg,v 1.11 2006/07/08 16:31:38 murrayc Exp $ */
+
+/* iconview.h
+ *
+ * Copyright (C) 1998-2004 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+#include <gtkmm/container.h>
+#include <gtkmm/treemodel.h>
+#include <gtkmm/treepath.h>
+#include <gtkmm/cellrenderer.h>
+#include <gtkmm/tooltip.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/container_p.h)
+
+namespace Gtk
+{
+
+_WRAP_ENUM(IconViewDropPosition, GtkIconViewDropPosition)
+
+//TODO: This should derive+implement from CellLayout when we can break ABI.
+
+/** The IconView provides an alternative view of a list model.
+ * It displays the model as a grid of icons with labels.
+ * Like the TreeView, it allows the user to select one or multiple items
+ * (depending on the selection mode - see set_selection_mode()).
+ * In addition to selection with the arrow keys, the IconView supports
+ * rubberband selection, by dragging the pointer.
+ *
+ * @ingroup Widgets
+ * @ingroup Containers
+ */
+class IconView : public Container
+{
+ _CLASS_GTKOBJECT(IconView, GtkIconView, GTK_ICON_VIEW, Gtk::Container, GtkContainer)
+public:
+
+ _CTOR_DEFAULT()
+ _WRAP_CTOR(IconView(const Glib::RefPtr<TreeModel>& model), gtk_icon_view_new_with_model)
+
+
+ _WRAP_METHOD(void set_model(const Glib::RefPtr<TreeModel>& model), gtk_icon_view_set_model)
+ _WRAP_METHOD(Glib::RefPtr<TreeModel> get_model(), gtk_icon_view_get_model)
+ _WRAP_METHOD(Glib::RefPtr<const TreeModel> get_model() const, gtk_icon_view_get_model, constversion)
+
+ _WRAP_METHOD(void set_text_column(int column), gtk_icon_view_set_text_column)
+ _WRAP_METHOD(void set_text_column(const TreeModelColumnBase& model_column), gtk_icon_view_set_text_column)
+ _WRAP_METHOD(int get_text_column() const, gtk_icon_view_get_text_column)
+ _WRAP_METHOD(void set_markup_column(int column), gtk_icon_view_set_markup_column)
+ _WRAP_METHOD(void set_markup_column(const TreeModelColumnBase& column), gtk_icon_view_set_markup_column)
+ _WRAP_METHOD(int get_markup_column() const, gtk_icon_view_get_markup_column )
+ _WRAP_METHOD(void set_pixbuf_column(int column), gtk_icon_view_set_pixbuf_column)
+ _WRAP_METHOD(void set_pixbuf_column(const TreeModelColumnBase& column), gtk_icon_view_set_pixbuf_column)
+ _WRAP_METHOD(int get_pixbuf_column() const, gtk_icon_view_get_pixbuf_column)
+
+ _WRAP_METHOD(void set_orientation(Orientation orientation), gtk_icon_view_set_orientation)
+ _WRAP_METHOD(Orientation get_orientation() const, gtk_icon_view_get_orientation)
+
+ _WRAP_METHOD(void set_columns(int columns), gtk_icon_view_set_columns)
+ _WRAP_METHOD(int get_columns() const, gtk_icon_view_get_columns)
+ _WRAP_METHOD(void set_item_width(int item_width), gtk_icon_view_set_item_width)
+ _WRAP_METHOD(int get_icon_width() const, gtk_icon_view_get_item_width)
+ _WRAP_METHOD(void set_spacing(int spacing), gtk_icon_view_set_spacing)
+ _WRAP_METHOD(int get_spacing() const, gtk_icon_view_get_spacing)
+ _WRAP_METHOD(void set_row_spacing(int row_spacing), gtk_icon_view_set_row_spacing)
+ _WRAP_METHOD(gint get_row_spacing() const, gtk_icon_view_get_row_spacing)
+ _WRAP_METHOD(void set_column_spacing(int column_spacing), gtk_icon_view_set_column_spacing)
+ _WRAP_METHOD(int get_column_spacing() const, gtk_icon_view_get_column_spacing)
+
+ _WRAP_METHOD(void set_margin(int margin), gtk_icon_view_set_margin)
+ _WRAP_METHOD(int get_margin() const, gtk_icon_view_get_margin)
+
+ _WRAP_METHOD(TreeModel::Path get_path_at_pos(int x, int y) const, gtk_icon_view_get_path_at_pos )
+
+
+ /** Finds the path at the point (@a x, @a y), relative to widget coordinates.
+ *
+ * @param x The x position to be identified.
+ * @param y The y position to be identified.
+ * @param path The path.
+ * @param cell The renderer responsible for the cell at (@a x, @a y).
+ *
+ * @result true if an item exists at the specified position.
+ *
+ * @newin2p6
+ */
+ bool get_item_at_pos(int x, int y, TreeModel::Path& path, CellRenderer*& cell) const;
+
+ /** Finds the path at the point (@a x, @a y), relative to widget coordinates.
+ *
+ * @param x The x position to be identified.
+ * @param y The y position to be identified.
+ * @param path The path.
+ *
+ * @result true if an item exists at the specified position.
+ *
+ * @newin2p6
+ */
+ bool get_item_at_pos(int x, int y, TreeModel::Path& path) const;
+
+ /** Finds the path at the point (@a x, @a y), relative to widget coordinates.
+ *
+ * @param x The x position to be identified.
+ * @param y The y position to be identified.
+ * @param path The path.
+ *
+ * @result true if an item exists at the specified position.
+ *
+ * @newin2p6
+ */
+ bool get_item_at_pos(int x, int y, CellRenderer*& cell) const;
+ _IGNORE(gtk_icon_view_get_item_at_pos)
+
+ bool get_visible_range(TreeModel::Path& start_path, TreeModel::Path& end_path) const;
+ _IGNORE(gtk_icon_view_get_visible_range)
+
+
+ /** For instance,
+ * void on_foreach(const Gtk::TreeModel::Path& path);
+ */
+ typedef sigc::slot<void, const TreeModel::Path&> SlotForeach;
+
+ /** Calls a function for each selected icon. Note that the model or
+ * selection cannot be modified from within this function.
+ *
+ * @param slot The callback to call for each selected icon.
+ */
+ void selected_foreach(const SlotForeach& slot);
+ _IGNORE(gtk_icon_view_selected_foreach)
+
+//Default value?:
+ _WRAP_METHOD(void set_selection_mode(SelectionMode mode), gtk_icon_view_set_selection_mode)
+ _WRAP_METHOD(SelectionMode get_selection_mode() const, gtk_icon_view_get_selection_mode)
+ _WRAP_METHOD(void select_path(const TreeModel::Path& path), gtk_icon_view_select_path)
+ _WRAP_METHOD(void unselect_path(const TreeModel::Path& path), gtk_icon_view_unselect_path)
+ _WRAP_METHOD(bool path_is_selected(const TreeModel::Path& path) const, gtk_icon_view_path_is_selected)
+
+
+ #ifndef DOXYGEN_SHOULD_SKIP_THIS
+ //TODO: I'm not sure about these to_*() functions. murrayc.
+ struct TreePathTraits
+ {
+ typedef TreePath CppType;
+ typedef const GtkTreePath* CType;
+ typedef GtkTreePath* CTypeNonConst;
+
+ static CType to_c_type (const CppType& obj) { return obj.gobj(); }
+ static CType to_c_type (const CType& obj) { return obj; }
+ static CppType to_cpp_type (const CType& obj) { return CppType(const_cast<CTypeNonConst>(obj), true); }
+ static void release_c_type (const CType&) {}
+ };
+ #endif //DOXYGEN_SHOULD_SKIP_THIS
+
+ typedef Glib::ListHandle<TreePath, TreePathTraits> ArrayHandle_TreePaths;
+
+ _CONVERSION(`GList*',`ArrayHandle_TreePaths',__FL2H_SHALLOW)
+ _WRAP_METHOD(ArrayHandle_TreePaths get_selected_items() const, gtk_icon_view_get_selected_items)
+
+ _WRAP_METHOD(void select_all(), gtk_icon_view_select_all)
+ _WRAP_METHOD(void unselect_all(), gtk_icon_view_unselect_all)
+ _WRAP_METHOD(void item_activated(const TreeModel::Path& path), gtk_icon_view_item_activated)
+
+ //TODO: Add a version with no cell parameter.
+ _WRAP_METHOD(void set_cursor(const TreeModel::Path& path, CellRenderer& cell, bool start_editing), gtk_icon_view_set_cursor)
+
+ /** Fills in @a path and @a cell with the current cursor path and cell.
+ * If the cursor isn't currently set, then @a path will be empty.
+ * If no cell currently has focus, then @a cell will be NULL.
+ *
+ * @param path The current cursor path.
+ * @param cell The current focus cell.
+ * @result true if the cursor is set.
+ *
+ * @newin2p8
+ */
+ bool get_cursor(TreeModel::Path& path, CellRenderer*& cell) const;
+
+ /** Fills in @a path and @a cell with the current cursor path and cell.
+ * If the cursor isn't currently set, then @a path will be empty.
+ * If no cell currently has focus, then @a cell will be NULL.
+ *
+ * @param path The current cursor path.
+ * @result true if the cursor is set.
+ *
+ * @newin2p8
+ */
+ bool get_cursor(TreeModel::Path& path) const;
+
+ /** Fills in @a path and @a cell with the current cursor path and cell.
+ * If the cursor isn't currently set, then @a path will be empty.
+ * If no cell currently has focus, then @a cell will be NULL.
+ *
+ * @param cell The current focus cell.
+ * @result true if the cursor is set.
+ *
+ * @newin2p8
+ */
+ bool get_cursor(CellRenderer*& cell) const;
+ _IGNORE(gtk_icon_view_get_cursor)
+
+ _WRAP_METHOD(void scroll_to_path(const TreeModel::Path& path, bool use_align, gfloat row_align, gfloat col_align), gtk_icon_view_scroll_to_path)
+
+/* Drag-and-Drop support */
+ /**
+ * Turns the IconView into a drag source for automatic DND.
+ *
+ * @param targets Standard container of targets that the drag will support.
+ * @param start_button_mask Mask of allowed buttons to start drag.
+ * @param actions The bitmask of possible actions for a drag from this widget.
+ */
+ void enable_model_drag_source(const ArrayHandle_TargetEntry& targets,
+ Gdk::ModifierType start_button_mask = Gdk::MODIFIER_MASK,
+ Gdk::DragAction actions = Gdk::ACTION_COPY | Gdk::ACTION_MOVE);
+ _IGNORE(gtk_icon_view_enable_model_drag_source)
+
+ /** Turns the IconView into a drop destination for automatic DND.
+ *
+ * @param targets The table of targets that the drag will support.
+ * @param actions The bitmask of possible actions for a drag from this widget.
+ */
+ void enable_model_drag_dest(const ArrayHandle_TargetEntry& targets, Gdk::DragAction actions = Gdk::ACTION_COPY | Gdk::ACTION_MOVE);
+ _IGNORE(gtk_icon_view_enable_model_drag_dest)
+
+ _WRAP_METHOD(void unset_model_drag_source(), gtk_icon_view_unset_model_drag_source)
+ _WRAP_METHOD(void unset_model_drag_dest(), gtk_icon_view_unset_model_drag_dest)
+
+ _WRAP_METHOD(void set_reorderable(bool reorderable = true), gtk_icon_view_set_reorderable)
+ _WRAP_METHOD(bool get_reorderable() const, gtk_icon_view_get_reorderable)
+
+
+/* These are useful to implement your own custom stuff. */
+ //TODO: Discover what arguments are output arguments:
+ _WRAP_METHOD(void set_drag_dest_item(const TreeModel::Path& path, IconViewDropPosition pos), gtk_icon_view_set_drag_dest_item)
+
+ /** Gets information about the item that is highlighted for feedback.
+ *
+ * @param path The highlighted item.
+ * @pos The drop position.
+ *
+ * @newin2p10
+ */
+ void get_drag_dest_item(TreeModel::Path& path, IconViewDropPosition& pos) const;
+
+ /** Gets information about the item that is highlighted for feedback.
+ *
+ * @param path The highlighted item.
+ *
+ * @newin2p10
+ */
+ void get_drag_dest_item(TreeModel::Path& path) const;
+
+ /** Gets information about the item that is highlighted for feedback.
+ *
+ * @pos The drop position.
+ *
+ * @newin2p10
+ */
+ void get_drag_dest_item(IconViewDropPosition& pos) const;
+ _IGNORE(gtk_icon_view_get_drag_dest_item)
+
+ /** Determines the destination item for a given position.
+ *
+ * @param drag_x The position to determine the destination item for.
+ * @param drag_y the position to determine the destination item for.
+ * @param path The path of the item.
+ * @param pos: The drop position.
+ * @result whether there is an item at the given position.
+ *
+ * @newin2p10
+ */
+ bool get_dest_item_at_pos(int drag_x, int drag_y, TreeModel::Path& path, IconViewDropPosition& pos) const;
+
+ /** Determines the destination item for a given position.
+ *
+ * @param drag_x The position to determine the destination item for.
+ * @param drag_y the position to determine the destination item for.
+ * @param path The path of the item.
+ * @result whether there is an item at the given position.
+ *
+ * @newin2p10
+ */
+ bool get_dest_item_at_pos(int drag_x, int drag_y, TreeModel::Path& path) const;
+
+ /** Determines the destination item for a given position.
+ *
+ * @param drag_x The position to determine the destination item for.
+ * @param drag_y the position to determine the destination item for.
+ * @param pos: The drop position.
+ * @result whether there is an item at the given position.
+ *
+ * @newin2p10
+ */
+ bool get_dest_item_at_pos(int drag_x, int drag_y, IconViewDropPosition& pos) const;
+ _IGNORE(gtk_icon_view_get_dest_item_at_pos)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixmap> create_drag_icon( const TreeModel::Path& path), gtk_icon_view_create_drag_icon)
+
+ _WRAP_METHOD(void convert_widget_to_bin_window_coords(int wx, int wy, int& bx, int& by) const, gtk_icon_view_convert_widget_to_bin_window_coords)
+
+ _WRAP_METHOD(void set_tooltip_item(const Glib::RefPtr<Tooltip>& tooltip, const TreeModel::Path& path), gtk_icon_view_set_tooltip_item)
+ _WRAP_METHOD(void set_tooltip_cell(const Glib::RefPtr<Tooltip>& tooltip, const TreeModel::Path& path, CellRenderer& cell), gtk_icon_view_set_tooltip_cell)
+
+ /** Sets the tip area of @a tooltip to the area occupied by
+ * the item pointed to by @a path. See also Tooltip::set_tip_area().
+ *
+ * @newin2p12
+ * @param tooltip A Gtk::Tooltip.
+ * @param path A Gtk::TreePath.
+ */
+ void set_tooltip_cell(const Glib::RefPtr<Tooltip>& tooltip, const TreeModel::Path& path);
+
+ _IGNORE(gtk_tree_view_get_tooltip_context)
+
+ /**
+ * @param x: the x coordinate (relative to widget coordinates)
+ * @param y: the y coordinate (relative to widget coordinates)
+ * @param keyboard_tip: whether this is a keyboard tooltip or not
+ * @param path: a reference to receive a Gtk::TreePath
+ *
+ * This function is supposed to be used in a Gtk::Widget::query-tooltip
+ * signal handler for Gtk::IconView. The x, y and keyboard_tip values
+ * which are received in the signal handler, should be passed to this
+ * function without modification.
+ *
+ * The return value indicates whether there is an icon view item at the given
+ * coordinates (true) or not (false) for mouse tooltips. For keyboard
+ * tooltips the item returned will be the cursor item. When true, then the
+ * path which has been provided will be set to point to
+ * that row and the corresponding model. x and y will always be converted
+ * to be relative to IconView's bin_window if keyboard_tooltip is false.
+ *
+ * Return value: whether or not the given tooltip context points to a item.
+ *
+ * @newin2p12
+ */
+ bool get_tooltip_context_path(int& x, int& y,
+ bool keyboard_tip,
+ TreeModel::Path& path);
+
+ /**
+ * @param x: the x coordinate (relative to widget coordinates)
+ * @param y: the y coordinate (relative to widget coordinates)
+ * @param keyboard_tip: whether this is a keyboard tooltip or not
+ * @param iter: a pointer to receive a Gtk::TreeIter
+ *
+ * This function is supposed to be used in a Gtk::Widget::query-tooltip
+ * signal handler for Gtk::IconView. The x, y and keyboard_tip values
+ * which are received in the signal handler, should be passed to this
+ * function without modification.
+ *
+ * The return value indicates whether there is an icon view item at the given
+ * coordinates (true) or not (false) for mouse tooltips. For keyboard
+ * tooltips the item returned will be the cursor item. When true, then the
+ * iter which has been provided will be set to point to
+ * that row and the corresponding model. x and y will always be converted
+ * to be relative to IconView's bin_window if keyboard_tooltip is false.
+ *
+ * Return value: whether or not the given tooltip context points to a item.
+ *
+ * @newin2p12
+ */
+ bool get_tooltip_context_iter(int& x, int& y,
+ bool keyboard_tip,
+ Gtk::TreeModel::iterator& iter);
+
+ _WRAP_METHOD(void set_tooltip_column(int column), gtk_icon_view_set_tooltip_column)
+ _WRAP_METHOD(int get_tooltip_column() const, gtk_icon_view_get_tooltip_column)
+
+
+ _WRAP_SIGNAL(void set_scroll_adjustments(Adjustment* hadjustment, Adjustment* vadjustment), set_scroll_adjustments)
+ _WRAP_SIGNAL(void item_activated(const TreeModel::Path& path), item_activated)
+ _WRAP_SIGNAL(void selection_changed(), selection_changed)
+
+ /* Key binding signals */
+ _IGNORE_SIGNAL(select_all)
+ _IGNORE_SIGNAL(unselect_all)
+ _IGNORE_SIGNAL(select_cursor_item)
+ _IGNORE_SIGNAL(toggle_cursor_item)
+ _IGNORE_SIGNAL(move_cursor)
+ _IGNORE_SIGNAL(activate_cursor_item)
+
+ _WRAP_PROPERTY("pixbuf-column", int)
+ _WRAP_PROPERTY("text-column", int)
+ _WRAP_PROPERTY("markup-column", int)
+ _WRAP_PROPERTY("selection-mode", SelectionMode)
+ _WRAP_PROPERTY("orientation", Orientation)
+ _WRAP_PROPERTY("model", Glib::RefPtr<TreeModel>)
+ _WRAP_PROPERTY("columns", int)
+ _WRAP_PROPERTY("item-width", int)
+ _WRAP_PROPERTY("spacing", int)
+ _WRAP_PROPERTY("row-spacing", int)
+ _WRAP_PROPERTY("column-spacing", int)
+ _WRAP_PROPERTY("margin", int)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/image.ccg b/libs/gtkmm2/gtk/src/image.ccg
new file mode 100644
index 0000000000..d226c5f766
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/image.ccg
@@ -0,0 +1,107 @@
+// -*- c++ -*-
+/* $Id: image.ccg,v 1.3 2005/07/10 19:24:22 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkimage.h>
+#include <gdkmm/image.h>
+#include <gdkmm/bitmap.h>
+#include <gdkmm/pixmap.h>
+
+namespace Gtk
+{
+
+Image::Image(const Gtk::StockID& stock_id, IconSize size)
+:
+ _CONSTRUCT("stock", stock_id.get_c_str(), "icon-size", (GtkIconSize) int(size))
+{}
+
+Image::Image(IconSet& icon_set, IconSize size)
+:
+ _CONSTRUCT("icon-set", icon_set.gobj(), "icon-size", (GtkIconSize) int(size))
+{}
+
+Image::Image(const Glib::RefPtr<Gdk::PixbufAnimation>& animation)
+:
+ _CONSTRUCT("pixbuf-animation", Glib::unwrap(animation))
+{}
+
+void Image::get_pixmap(Glib::RefPtr<Gdk::Pixmap>& pixmap, Glib::RefPtr<Gdk::Bitmap>& mask) const
+{
+ GdkPixmap* pPixmap = 0;
+ GdkBitmap* pBitmap = 0;
+
+ gtk_image_get_pixmap(const_cast<GtkImage*>(gobj()), &pPixmap, &pBitmap);
+
+ pixmap = Glib::wrap((GdkPixmapObject*) pPixmap, true);
+ mask = Glib::RefPtr<Gdk::Bitmap>::cast_dynamic(Glib::wrap((GdkPixmapObject*) pBitmap, true));
+}
+
+void Image::get_image(Glib::RefPtr<Gdk::Image>& gdk_image, Glib::RefPtr<Gdk::Bitmap>& mask) const
+{
+ GdkImage* pImage = 0;
+ GdkBitmap* pBitmap = 0;
+
+ gtk_image_get_image(const_cast<GtkImage*>(gobj()), &pImage, &pBitmap);
+
+ gdk_image = Glib::wrap(pImage, true);
+ mask = Glib::RefPtr<Gdk::Bitmap>::cast_dynamic(Glib::wrap((GdkPixmapObject*) pBitmap, true));
+}
+
+void Image::get_stock(Gtk::StockID& stock_id, IconSize& size) const
+{
+ char* pStockID = 0; // GTK+ iconsistency: although not const, it should not be freed.
+ GtkIconSize icon_size = GTK_ICON_SIZE_INVALID;
+
+ gtk_image_get_stock(const_cast<GtkImage*>(gobj()), &pStockID, &icon_size);
+
+ size = IconSize(static_cast<int>(icon_size));
+ stock_id = Gtk::StockID(pStockID); // the StockID ctor checks for 0
+}
+
+void Image::get_icon_set(IconSet& icon_set, IconSize& size) const
+{
+ GtkIconSet* pIconSet = 0;
+ GtkIconSize icon_size = GTK_ICON_SIZE_INVALID;
+
+ gtk_image_get_icon_set(const_cast<GtkImage*>(gobj()), &pIconSet, &icon_size);
+
+ size = IconSize(static_cast<int>(icon_size));
+ icon_set = Glib::wrap(pIconSet, true); //true = take_copy.
+}
+
+Glib::ustring Image::get_icon_name() const
+{
+ const gchar* pchIconName = 0;
+ gtk_image_get_icon_name(const_cast<GtkImage*>(gobj()), &pchIconName, 0);
+ return Glib::convert_const_gchar_ptr_to_ustring(pchIconName);
+}
+
+Glib::ustring Image::get_icon_name(IconSize& size)
+{
+ const gchar* pchIconName = 0;
+ GtkIconSize cIconSize = GTK_ICON_SIZE_INVALID;
+ gtk_image_get_icon_name(const_cast<GtkImage*>(gobj()), &pchIconName, &cIconSize);
+ size = (IconSize)cIconSize;
+ return Glib::convert_const_gchar_ptr_to_ustring(pchIconName);
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/image.hg b/libs/gtkmm2/gtk/src/image.hg
new file mode 100644
index 0000000000..5ad5ac1940
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/image.hg
@@ -0,0 +1,119 @@
+/* $Id: image.hg,v 1.9 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* image.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/misc.h>
+#include <gtkmm/iconset.h>
+#include <gdkmm/pixbufanimation.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/misc_p.h)
+
+
+namespace Gtk
+{
+
+_CC_INCLUDE(gtk/gtktypebuiltins.h)
+_WRAP_ENUM(ImageType, GtkImageType)
+
+
+/** A widget displaying an image.
+ *
+ * The Gtk::Image widget displays an image. Various kinds of object can be
+ * displayed as an image; most typically, you would load a Gdk::Pixbuf ("pixel
+ * buffer") from a file, and then display that.
+ *
+ * Gtk::Image is a subclass of Gtk::Misc, which implies that you can align it
+ * (center, left, right) and add padding to it, using Gtk::Misc methods.
+ *
+ * Gtk::Image is a "no window" widget (has no Gdk::Window of its own), so by
+ * default does not receive events. If you want to receive events on the
+ * image, such as button clicks, place the image inside a Gtk::EventBox, then
+ * connect to the event signals on the event box.
+ *
+ * @ingroup Widgets
+ */
+class Image : public Misc
+{
+ _CLASS_GTKOBJECT(Image,GtkImage,GTK_IMAGE,Gtk::Misc,GtkMisc)
+ _IGNORE(gtk_image_set, gtk_image_get, gtk_image_get_pixmap, gtk_image_get_image, gtk_image_get_stock, gtk_image_get_icon_set)
+public:
+
+ _CTOR_DEFAULT
+ _WRAP_CTOR(Image(const Glib::RefPtr<Gdk::Pixmap>& pixmap, const Glib::RefPtr<Gdk::Bitmap>& mask), gtk_image_new_from_pixmap)
+ _WRAP_CTOR(Image(const Glib::RefPtr<Gdk::Image>& image, const Glib::RefPtr<Gdk::Bitmap>& mask), gtk_image_new_from_image)
+ _WRAP_CTOR(Image(const std::string& file), gtk_image_new_from_file)
+ _WRAP_CTOR(Image(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf), gtk_image_new_from_pixbuf)
+
+ /** Creates am Image displaying a stock icon.
+ * Sample stock icon identifiers are Gtk::Stock::OPEN, Gtk::Stock::EXIT. Sample stock sizes are Gtk::ICON_SIZE_MENU, Gtk::ICON_SIZE_SMALL_TOOLBAR.
+ * If the stock icon name isn't known, a "broken image" icon will be displayed instead.
+ * You can register your own stock icon names - see Gtk::IconFactory::add().
+ * @param stock_id A stock icon.
+ * @param size A stock icon size.
+ */
+ Image(const Gtk::StockID& stock_id, IconSize size);
+
+ Image(IconSet& icon_set, IconSize size);
+ Image(const Glib::RefPtr<Gdk::PixbufAnimation>& animation);
+
+ _WRAP_METHOD(void set(const Glib::RefPtr<Gdk::Pixmap>& pixmap, const Glib::RefPtr<Gdk::Bitmap>& mask), gtk_image_set_from_pixmap)
+ _WRAP_METHOD(void set(const Glib::RefPtr<Gdk::Image>& gdk_image, const Glib::RefPtr<Gdk::Bitmap>& mask), gtk_image_set_from_image)
+ _WRAP_METHOD(void set(const std::string& filename), gtk_image_set_from_file)
+ _WRAP_METHOD(void set(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf), gtk_image_set_from_pixbuf)
+ _WRAP_METHOD(void set(const Gtk::StockID& stock_id, IconSize size), gtk_image_set_from_stock)
+ _WRAP_METHOD(void set(IconSet& icon_set, IconSize size), gtk_image_set_from_icon_set)
+ _WRAP_METHOD(void set(const Glib::RefPtr<Gdk::PixbufAnimation>& animation), gtk_image_set_from_animation)
+ _WRAP_METHOD(void set_from_icon_name(const Glib::ustring& icon_name, IconSize size), gtk_image_set_from_icon_name)
+
+ _WRAP_METHOD(void clear(), gtk_image_clear)
+
+ _WRAP_METHOD(ImageType get_storage_type() const, gtk_image_get_storage_type)
+
+ void get_pixmap(Glib::RefPtr<Gdk::Pixmap>& pixmap, Glib::RefPtr<Gdk::Bitmap>& mask) const;
+ void get_image(Glib::RefPtr<Gdk::Image>& gdk_image, Glib::RefPtr<Gdk::Bitmap>& mask) const;
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> get_pixbuf(), gtk_image_get_pixbuf, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Gdk::Pixbuf> get_pixbuf() const, gtk_image_get_pixbuf, refreturn, constversion)
+ void get_stock(Gtk::StockID& stock_id, IconSize& size) const;
+ void get_icon_set(IconSet& icon_set, IconSize& size) const;
+ _WRAP_METHOD(Glib::RefPtr<Gdk::PixbufAnimation> get_animation(), gtk_image_get_animation, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Gdk::PixbufAnimation> get_animation() const, gtk_image_get_animation, refreturn, constversion)
+
+ Glib::ustring get_icon_name() const;
+ Glib::ustring get_icon_name(IconSize& size);
+ _IGNORE(gtk_image_get_icon_name)
+
+ _WRAP_METHOD(int get_pixel_size() const, gtk_image_get_pixel_size)
+ _WRAP_METHOD(void set_pixel_size(int pixel_size), gtk_image_set_pixel_size)
+
+ _WRAP_PROPERTY("pixbuf", Glib::RefPtr<Gdk::Pixbuf>)
+ _WRAP_PROPERTY("pixmap", Glib::RefPtr<Gdk::Pixmap>)
+ _WRAP_PROPERTY("image", Glib::RefPtr<Gdk::Image>)
+ _WRAP_PROPERTY("mask", Glib::RefPtr<Gdk::Pixmap>)
+ _WRAP_PROPERTY("file", Glib::ustring)
+ _WRAP_PROPERTY("stock", Glib::ustring)
+ _WRAP_PROPERTY("icon-set", Gtk::IconSet)
+ _WRAP_PROPERTY("icon-size", int)
+ _WRAP_PROPERTY("pixbuf-animation", Glib::RefPtr<Gdk::PixbufAnimation>)
+ _WRAP_PROPERTY("storage-type", ImageType)
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/imagemenuitem.ccg b/libs/gtkmm2/gtk/src/imagemenuitem.ccg
new file mode 100644
index 0000000000..58fc0d4a1a
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/imagemenuitem.ccg
@@ -0,0 +1,69 @@
+// -*- c++ -*-
+/* $Id: imagemenuitem.ccg,v 1.2 2003/10/28 17:12:27 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkimagemenuitem.h>
+
+#include <gtkmm/image.h>
+#include <gtkmm/stock.h>
+#include <gtkmm/accellabel.h>
+
+namespace Gtk
+{
+
+ImageMenuItem::ImageMenuItem(Widget& image,
+ const Glib::ustring& label, bool mnemonic)
+:
+ _CONSTRUCT()
+{
+ set_image(image);
+ add_accel_label(label, mnemonic);
+}
+
+ImageMenuItem::ImageMenuItem(const Glib::ustring& label, bool mnemonic)
+:
+ _CONSTRUCT()
+{
+ add_accel_label(label, mnemonic);
+}
+
+ImageMenuItem::ImageMenuItem(const Gtk::StockID& stock_id)
+:
+ _CONSTRUCT()
+{
+ Gtk::Image* image = new Gtk::Image(stock_id, ICON_SIZE_MENU);
+ image->show();
+ set_image( *(Gtk::manage(image)) );
+
+ Gtk::StockItem item;
+ if(Gtk::Stock::lookup(stock_id, item))
+ {
+ add_accel_label(item.get_label(), true); //true = use mnemonic.
+ set_accel_key( AccelKey(item.get_keyval(), item.get_modifier()) );
+ }
+ else
+ {
+ add_accel_label(stock_id.get_string(), false);
+ }
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/imagemenuitem.hg b/libs/gtkmm2/gtk/src/imagemenuitem.hg
new file mode 100644
index 0000000000..513f749d85
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/imagemenuitem.hg
@@ -0,0 +1,56 @@
+/* $Id: imagemenuitem.hg,v 1.3 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* checkmenuitem.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/menuitem.h>
+#include <gtkmm/stockid.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/menuitem_p.h)
+
+
+namespace Gtk
+{
+
+/** A menu item with an icon.
+ *
+ * A GtkImageMenuItem is a menu item which has an icon next to the text label. Note that the
+ * user can disable display of menu icons, so make sure to still fill in the text label.
+ *
+ * @ingroup Menus
+ * @ingroup Widgets S
+ */
+class ImageMenuItem : public MenuItem
+{
+ _CLASS_GTKOBJECT(ImageMenuItem,GtkImageMenuItem,GTK_IMAGE_MENU_ITEM,Gtk::MenuItem,GtkMenuItem)
+public:
+
+ _CTOR_DEFAULT
+ explicit ImageMenuItem(Widget& image,
+ const Glib::ustring& label, bool mnemonic = false);
+ explicit ImageMenuItem(const Glib::ustring& label, bool mnemonic = false);
+ explicit ImageMenuItem(const StockID& id);
+
+ _WRAP_METHOD(void set_image(Widget& image), gtk_image_menu_item_set_image)
+ _WRAP_METHOD(Widget* get_image(), gtk_image_menu_item_get_image)
+ _WRAP_METHOD(const Widget* get_image() const, gtk_image_menu_item_get_image, constversion)
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/inputdialog.ccg b/libs/gtkmm2/gtk/src/inputdialog.ccg
new file mode 100644
index 0000000000..123fa94015
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/inputdialog.ccg
@@ -0,0 +1,27 @@
+// -*- c++ -*-
+/* $Id: inputdialog.ccg,v 1.1 2003/01/21 13:40:27 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkinputdialog.h>
+#include <gtkmm/button.h>
+#include <gtkmm/optionmenu.h>
+#include <gtkmm/scrolledwindow.h>
+#include <gtkmm/table.h>
diff --git a/libs/gtkmm2/gtk/src/inputdialog.hg b/libs/gtkmm2/gtk/src/inputdialog.hg
new file mode 100644
index 0000000000..1f77254b0f
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/inputdialog.hg
@@ -0,0 +1,73 @@
+/* $Id: inputdialog.hg,v 1.4 2005/11/29 16:38:10 murrayc Exp $ */
+
+/* inputdialog.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+_CONFIGINCLUDE(gtkmmconfig.h)
+
+#include <gtkmm/dialog.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/dialog_p.h)
+
+namespace Gtk
+{
+
+class Button;
+class Table;
+
+_DEPRECATE_IFDEF_START
+class OptionMenu;
+_DEPRECATE_IFDEF_END
+
+class ScrolledWindow;
+
+// Don't list this in the documentation's Dialogs group because it isn't really useful
+// - see the GTK+ docs.
+class InputDialog : public Dialog
+{
+ _CLASS_GTKOBJECT(InputDialog,GtkInputDialog,GTK_INPUT_DIALOG,Gtk::Dialog,GtkDialog)
+ _UNMANAGEABLE
+public:
+
+ _CTOR_DEFAULT
+
+
+ _MEMBER_GET_PTR(axis_list,axis_list,Table*,GtkWidget*)
+ _MEMBER_GET_PTR(axis_box,axis_listbox,ScrolledWindow*,GtkWidget*)
+ _MEMBER_GET_PTR(mode_optionmenu,mode_optionmenu,OptionMenu*,GtkWidget*,deprecated)
+
+ _MEMBER_GET_PTR(close_button,close_button,Button*,GtkWidget*)
+ _MEMBER_GET_PTR(save_button,save_button,Button*,GtkWidget*)
+
+ //GtkWidget *axis_items[GDK_AXIS_LAST];
+
+ _MEMBER_GET_GOBJECT(current_device, current_device, Gdk::Device, GdkDevice*)
+
+ _MEMBER_GET_PTR(keys_list,keys_list,Table*,GtkWidget*)
+ _MEMBER_GET_PTR(keys_box,keys_listbox,ScrolledWindow*,GtkWidget*)
+
+#m4 _CONVERSION(`GdkDevice*',`const Glib::RefPtr<Gdk::Device>&', `Glib::wrap($3, true)')
+ _WRAP_SIGNAL(void enable_device(const Glib::RefPtr<Gdk::Device>& device), "enable_device")
+ _WRAP_SIGNAL(void disable_device(const Glib::RefPtr<Gdk::Device>& device), "disable_device")
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/invisible.ccg b/libs/gtkmm2/gtk/src/invisible.ccg
new file mode 100644
index 0000000000..3b61ead82e
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/invisible.ccg
@@ -0,0 +1,30 @@
+// -*- c++ -*-
+/* $Id: invisible.ccg,v 1.1 2003/01/21 13:40:27 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkinvisible.h>
+
+namespace Gtk
+{
+
+
+}
+
diff --git a/libs/gtkmm2/gtk/src/invisible.hg b/libs/gtkmm2/gtk/src/invisible.hg
new file mode 100644
index 0000000000..51191ba13c
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/invisible.hg
@@ -0,0 +1,47 @@
+/* $Id: invisible.hg,v 1.2 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* invisible.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/widget.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/widget_p.h)
+
+namespace Gtk
+{
+
+/** This widget is used internally in GTK+, and is probably not useful for application developers.
+ * It is used for reliable pointer grabs and selection handling in the code for drag-and-drop.
+ * @ingroup Widgets
+ */
+class Invisible : public Widget
+{
+ _CLASS_GTKOBJECT(Invisible, GtkInvisible, GTK_INVISIBLE, Gtk::Widget, GtkWidget)
+public:
+ _CTOR_DEFAULT
+ _WRAP_CTOR(Invisible(const Glib::RefPtr<Gdk::Screen>& screen), gtk_invisible_new_for_screen)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Screen> get_screen(), gtk_invisible_get_screen, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Gdk::Screen> get_screen() const, gtk_invisible_get_screen, refreturn, constversion)
+ _WRAP_METHOD(void set_screen(const Glib::RefPtr<Gdk::Screen>& screen), gtk_invisible_set_screen)
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/item.ccg b/libs/gtkmm2/gtk/src/item.ccg
new file mode 100644
index 0000000000..45e310bc4a
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/item.ccg
@@ -0,0 +1,25 @@
+// -*- c++ -*-
+/* $Id: item.ccg,v 1.1 2003/01/21 13:40:27 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkitem.h>
+
+
diff --git a/libs/gtkmm2/gtk/src/item.hg b/libs/gtkmm2/gtk/src/item.hg
new file mode 100644
index 0000000000..129062c61c
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/item.hg
@@ -0,0 +1,57 @@
+/* $Id: item.hg,v 1.1 2003/01/21 13:40:28 murrayc Exp $ */
+
+/* item.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/bin.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/bin_p.h)
+
+
+namespace Gtk
+{
+
+/** This class should be considered as a virtual base class.
+ * Only the signals and methods it provides are of any interest.
+ * You don't want to instantiate any objects of that class.
+ *
+ * @ingroup Widgets
+ */
+class Item : public Bin
+{
+ _CLASS_GTKOBJECT(Item,GtkItem,GTK_ITEM,Gtk::Bin,GtkBin)
+public:
+
+
+
+ _WRAP_METHOD(void select(), gtk_item_select)
+ _WRAP_SIGNAL(void select(), "select")
+
+ _WRAP_METHOD(void deselect(), gtk_item_deselect)
+ _WRAP_SIGNAL(void deselect(), "deselect")
+
+ _WRAP_METHOD(void toggle(), gtk_item_toggle)
+ _WRAP_SIGNAL(void toggle(), "toggle")
+
+protected:
+ _CTOR_DEFAULT
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/label.ccg b/libs/gtkmm2/gtk/src/label.ccg
new file mode 100644
index 0000000000..9eba4a4b42
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/label.ccg
@@ -0,0 +1,57 @@
+// -*- c++ -*-
+/* $Id: label.ccg,v 1.2 2004/02/03 11:06:49 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtklabel.h>
+#include <gtkmm/menu.h>
+
+namespace Gtk
+{
+
+Label::Label()
+:
+ _CONSTRUCT()
+{}
+
+Label::Label(const Glib::ustring& label, bool mnemonic)
+:
+ _CONSTRUCT("label", label.c_str(), "use_underline", gboolean(mnemonic))
+{}
+
+Label::Label(const Glib::ustring& label, float xalign, float yalign, bool mnemonic)
+:
+ _CONSTRUCT("label", label.c_str(), "use_underline", gboolean(mnemonic))
+{
+ set_alignment(xalign, yalign);
+}
+
+Label::Label(const Glib::ustring& label, AlignmentEnum xalign, AlignmentEnum yalign, bool mnemonic)
+:
+ _CONSTRUCT("label", label.c_str(), "use_underline", gboolean(mnemonic))
+{
+ set_alignment(xalign, yalign);
+}
+
+void Label::select_region(int start_offset)
+{
+ gtk_label_select_region(gobj(), start_offset, -1 /* See C docs */);
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/label.hg b/libs/gtkmm2/gtk/src/label.hg
new file mode 100644
index 0000000000..dfc46eb1e7
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/label.hg
@@ -0,0 +1,164 @@
+/* $Id: label.hg,v 1.11 2006/06/21 20:04:25 murrayc Exp $ */
+
+/* Copyright(C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or(at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/misc_p.h)
+_PINCLUDE(gtk/gtkmenu.h)
+
+#include <gtkmm/misc.h>
+#include <pangomm/attrlist.h>
+
+
+namespace Gtk
+{
+
+class Menu;
+
+/** A widget that displays a small to medium amount of text.
+ *
+ * A simple setable widget for holding a Glib::ustring.
+ * @ingroup Widgets
+ */
+class Label : public Misc
+{
+ _CLASS_GTKOBJECT(Label, GtkLabel, GTK_LABEL, Gtk::Misc,GtkMisc)
+ _IGNORE(gtk_label_get, gtk_label_parse_uline)
+public:
+ Label();
+ explicit Label(const Glib::ustring& label, bool mnemonic = false);
+
+ /** This constructor is a shortcut for often used code
+ * when you want to create a label with alignment different
+ * than default one.
+ * @code
+ * Gtk::Label label(text, x, y, mnemonic);
+ * @endcode
+ * is equivalent to:
+ * @code
+ * Gtk::Label label(text, mnemonic);
+ * label.set_alignment(x, y);
+ * @endcode
+ */
+ Label(const Glib::ustring& label, float xalign, float yalign, bool mnemonic = false);
+
+ /** This constructor is a shortcut for often used code
+ * when you want to create a label with alignment different
+ * than default one.
+ * @code
+ * Gtk::Label label(text, x, y, mnemonic);
+ * @endcode
+ * is equivalent to:
+ * @code
+ * Gtk::Label label(text, mnemonic);
+ * label.set_alignment(x, y);
+ * @endcode
+ */
+ Label(const Glib::ustring& label, AlignmentEnum xalign, AlignmentEnum yalign = ALIGN_CENTER, bool mnemonic = false);
+
+
+ /// Doesn't use markup.
+ _WRAP_METHOD(void set_text(const Glib::ustring &str), gtk_label_set_text)
+ _WRAP_METHOD(Glib::ustring get_text() const, gtk_label_get_text)
+
+ _WRAP_METHOD(void set_attributes(Pango::AttrList& attrs), gtk_label_set_attributes)
+ _WRAP_METHOD(Pango::AttrList get_attributes() const, gtk_label_get_attributes)
+
+ _WRAP_METHOD(void set_label(const Glib::ustring& str), gtk_label_set_label)
+ _WRAP_METHOD(Glib::ustring get_label() const, gtk_label_get_label)
+ _WRAP_METHOD(void set_markup(const Glib::ustring& str), gtk_label_set_markup)
+ _WRAP_METHOD(void set_use_markup(bool setting = true), gtk_label_set_use_markup)
+ _WRAP_METHOD(bool get_use_markup() const, gtk_label_get_use_markup)
+ _WRAP_METHOD(void set_use_underline(bool setting = true), gtk_label_set_use_underline)
+ _WRAP_METHOD(bool get_use_underline() const, gtk_label_get_use_underline)
+
+ _WRAP_METHOD(void set_markup_with_mnemonic(const Glib::ustring& str), gtk_label_set_markup_with_mnemonic)
+ _WRAP_METHOD(guint get_mnemonic_keyval() const, gtk_label_get_mnemonic_keyval)
+ _WRAP_METHOD(void set_mnemonic_widget(Widget& widget), gtk_label_set_mnemonic_widget)
+ _WRAP_METHOD(Widget* get_mnemonic_widget(), gtk_label_get_mnemonic_widget)
+ _WRAP_METHOD(const Widget* get_mnemonic_widget() const, gtk_label_get_mnemonic_widget)
+ _WRAP_METHOD(void set_text_with_mnemonic(const Glib::ustring& str), gtk_label_set_text_with_mnemonic)
+ _WRAP_METHOD(void set_justify(Justification jtype),gtk_label_set_justify)
+ _WRAP_METHOD(Justification get_justify() const, gtk_label_get_justify)
+
+ _WRAP_METHOD(void set_ellipsize(Pango::EllipsizeMode mode), gtk_label_set_ellipsize)
+ _WRAP_METHOD(Pango::EllipsizeMode get_ellipsize() const, gtk_label_get_ellipsize)
+
+ _WRAP_METHOD(void set_width_chars(int n_chars), gtk_label_set_width_chars)
+ _WRAP_METHOD(int get_width_chars() const, gtk_label_get_width_chars)
+
+ _WRAP_METHOD(void set_max_width_chars(int n_chars), gtk_label_set_max_width_chars)
+ _WRAP_METHOD(int get_max_width_chars() const, gtk_label_get_max_width_chars)
+
+ _WRAP_METHOD(void set_pattern(const Glib::ustring& pattern), gtk_label_set_pattern)
+ _WRAP_METHOD(void set_line_wrap(bool wrap = true), gtk_label_set_line_wrap)
+ _WRAP_METHOD(bool get_line_wrap() const, gtk_label_get_line_wrap)
+ _WRAP_METHOD(void set_line_wrap_mode(Pango::WrapMode wrap_mode), gtk_label_set_line_wrap_mode)
+ _WRAP_METHOD(Pango::WrapMode get_line_wrap_mode() const, gtk_label_get_line_wrap_mode)
+ _WRAP_METHOD(void set_selectable(bool setting = true), gtk_label_set_selectable)
+ _WRAP_METHOD(bool get_selectable() const, gtk_label_get_selectable)
+ _WRAP_METHOD(void set_angle(double angle), gtk_label_set_angle)
+ _WRAP_METHOD(double get_angle() const, gtk_label_get_angle)
+ _WRAP_METHOD(void select_region(int start_offset, int end_offset), gtk_label_select_region)
+
+ /** Selects a range of characters in the label, from @a start_offset to the end,
+ * if the label is selectable.
+ * See gtk_label_set_selectable(). If the label is not selectable,
+ * this function has no effect.
+ *
+ * @param start_offset Start offset (in characters not bytes)
+ */
+ void select_region(int start_offset);
+
+ _WRAP_METHOD(bool get_selection_bounds(int& start, int& end) const, gtk_label_get_selection_bounds)
+
+ _WRAP_METHOD(Glib::RefPtr<Pango::Layout> get_layout(), gtk_label_get_layout, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Pango::Layout> get_layout() const, gtk_label_get_layout, refreturn, constversion)
+ _WRAP_METHOD(void get_layout_offsets(int& x, int& y) const, gtk_label_get_layout_offsets)
+
+ _WRAP_METHOD(void set_single_line_mode(bool single_line_mode = true), gtk_label_set_single_line_mode)
+ _WRAP_METHOD(bool get_single_line_mode() const, gtk_label_get_single_line_mode)
+
+ _WRAP_SIGNAL(void populate_popup(Menu* menu), "populate_popup")
+
+ //Keybinding signals:
+ _IGNORE_SIGNAL("move_cursor")
+ _IGNORE_SIGNAL("copy_clipboard")
+
+ _WRAP_PROPERTY("label", Glib::ustring)
+ _WRAP_PROPERTY("attributes", Pango::AttrList)
+ _WRAP_PROPERTY("use-markup", bool)
+ _WRAP_PROPERTY("use-underline", bool)
+ _WRAP_PROPERTY("justify", Justification)
+ _WRAP_PROPERTY("pattern", Glib::ustring)
+ _WRAP_PROPERTY("wrap", bool)
+ _WRAP_PROPERTY("wrap-mode", Pango::WrapMode)
+ _WRAP_PROPERTY("selectable", bool)
+ _WRAP_PROPERTY("mnemonic-keyval", guint)
+ _WRAP_PROPERTY("mnemonic-widget", Widget*)
+ _WRAP_PROPERTY("cursor-position", int)
+ _WRAP_PROPERTY("selection-bound", int)
+ _WRAP_PROPERTY("ellipsize", Pango::EllipsizeMode)
+ _WRAP_PROPERTY("width-chars", int)
+ _WRAP_PROPERTY("single-line-mode", bool)
+ _WRAP_PROPERTY("angle", double)
+ _WRAP_PROPERTY("max_width_chars", int)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/layout.ccg b/libs/gtkmm2/gtk/src/layout.ccg
new file mode 100644
index 0000000000..d9af65c0c3
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/layout.ccg
@@ -0,0 +1,75 @@
+// -*- c++ -*-
+/* $Id: layout.ccg,v 1.1 2003/01/21 13:40:28 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtklayout.h>
+
+namespace Gtk
+{
+
+/* layout.cc
+ *
+ * Copyright (C) 1998 EMC Capital Management Inc.
+ * Developed by Havoc Pennington <hp@pobox.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+Layout::Layout()
+:
+ _CONSTRUCT()
+{
+ set_hadjustment();
+ set_vadjustment();
+}
+
+Layout::Layout(Adjustment& hadjustment, Adjustment& vadjustment)
+:
+ _CONSTRUCT()
+{
+ set_hadjustment(hadjustment);
+ set_vadjustment(vadjustment);
+}
+
+void Layout::set_hadjustment()
+{
+ gtk_layout_set_hadjustment(gobj(), 0);
+}
+
+void Layout::set_vadjustment()
+{
+ gtk_layout_set_vadjustment(gobj(), 0);
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/layout.hg b/libs/gtkmm2/gtk/src/layout.hg
new file mode 100644
index 0000000000..8d4f13ea0b
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/layout.hg
@@ -0,0 +1,87 @@
+/* $Id: layout.hg,v 1.4 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* layout.h
+ *
+ * Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/container.h>
+#include <gtkmm/adjustment.h>
+#include <gdkmm/window.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/container_p.h)
+
+
+namespace Gtk
+{
+
+/** Infinite scrollable area containing child widgets and/or custom drawing.
+ *
+ * Gtk::Layout is similar to Gtk::DrawingArea in that it's a "blank slate"
+ * and doesn't do anything but paint a blank background by default. It's
+ * different in that it supports scrolling natively (You can add it directly
+ * to a Gtk::ScrolledWindow), and it can contain child widgets, since it's a
+ * Gtk::Container. However if you're just going to draw, a Gtk::DrawingArea
+ * is a better choice since it has lower overhead.
+ *
+ * When handling expose_event signals, you must draw to the bin_window
+ * Gdk::Window - see get_bin_window() - rather than the normal Gdk::Window -
+ * see get_window() - as you would for a drawing area.
+ *
+ * @ingroup Widgets
+ * @ingroup Containers
+ */
+class Layout : public Container
+{
+ _CLASS_GTKOBJECT(Layout,GtkLayout,GTK_LAYOUT,Gtk::Container,GtkContainer)
+ _IGNORE(gtk_layout_freeze, gtk_layout_thaw)
+public:
+ Layout();
+ Layout(Adjustment& hadjustment, Adjustment& vadjustment);
+
+ _WRAP_METHOD(void put(Widget& child_widget, int x, int y), gtk_layout_put)
+ _WRAP_METHOD(void move(Widget& child_widget, int x, int y), gtk_layout_move)
+ _WRAP_METHOD(void set_size(guint width, guint height), gtk_layout_set_size)
+ _WRAP_METHOD(void get_size(guint& width, guint& height) const, gtk_layout_get_size)
+
+ _WRAP_METHOD(void set_hadjustment(Adjustment& adjustment), gtk_layout_set_hadjustment)
+
+ /// Creates the Adjustment.
+ void set_hadjustment();
+ _WRAP_METHOD(Adjustment* get_hadjustment(), gtk_layout_get_hadjustment)
+ _WRAP_METHOD(const Adjustment* get_hadjustment() const, gtk_layout_get_hadjustment, constversion)
+ _WRAP_METHOD(void set_vadjustment(Adjustment& adjustment), gtk_layout_set_vadjustment)
+
+ /// Creates the Adjustment.
+ void set_vadjustment();
+ _WRAP_METHOD(Adjustment* get_vadjustment(), gtk_layout_get_vadjustment)
+ _WRAP_METHOD(const Adjustment* get_vadjustment() const, gtk_layout_get_vadjustment, constversion)
+
+ _MEMBER_GET_GOBJECT(bin_window, bin_window, Gdk::Window, GdkWindow*)
+
+ // See Gtk::Widget::set_scroll_adjustments()
+ _WRAP_SIGNAL(void set_scroll_adjustments(Adjustment* hadj, Adjustment* vadj), "set_scroll_adjustments")
+
+ _WRAP_PROPERTY("hadjustment", Adjustment*)
+ _WRAP_PROPERTY("vadjustment", Adjustment*)
+ _WRAP_PROPERTY("width", guint)
+ _WRAP_PROPERTY("height", guint)
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/linkbutton.ccg b/libs/gtkmm2/gtk/src/linkbutton.ccg
new file mode 100644
index 0000000000..5d3cd008aa
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/linkbutton.ccg
@@ -0,0 +1,75 @@
+// -*- c++ -*-
+/* $Id: linkbutton.ccg,v 1.1 2006/01/29 12:21:43 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtklinkbutton.h>
+
+
+static void SignalProxy_UriHook_gtk_callback(GtkLinkButton *button, const gchar *link, gpointer user_data)
+{
+ Gtk::LinkButton::SlotUri* the_slot = static_cast<Gtk::LinkButton::SlotUri*>(user_data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLE
+ // use Slot::operator()
+ (*the_slot)(Glib::wrap(button), Glib::convert_const_gchar_ptr_to_ustring(link));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLE
+}
+
+static void SignalProxy_UriHook_gtk_callback_destroy(void* data)
+{
+ delete static_cast<Gtk::LinkButton::SlotUri*>(data);
+}
+
+
+namespace Gtk
+{
+
+LinkButton::LinkButton(const Glib::ustring& uri)
+:
+ _CONSTRUCT("uri", uri.c_str(), "label", uri.c_str()) //Note that the uri is used for the label too, as in the C _new() function.
+{}
+
+void LinkButton::set_uri_hook(const SlotUri& slot)
+{
+ //Create a copy of the slot. A pointer to this will be passed through the callback's data parameter.
+ //It will be deleted when TreeView_Private::SignalProxy_CellData_gtk_callback_destroy() is called.
+ SlotUri* slot_copy = new SlotUri(slot);
+
+ gtk_link_button_set_uri_hook (&SignalProxy_UriHook_gtk_callback, slot_copy, &SignalProxy_UriHook_gtk_callback_destroy);
+}
+
+void LinkButton::unset_uri_hook()
+{
+ gtk_link_button_set_uri_hook (0, 0, 0);
+}
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/linkbutton.hg b/libs/gtkmm2/gtk/src/linkbutton.hg
new file mode 100644
index 0000000000..ea9f653fd2
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/linkbutton.hg
@@ -0,0 +1,83 @@
+/* $Id: linkbutton.hg,v 1.2 2006/03/22 16:53:22 murrayc Exp $ */
+
+/* linkbutton.h
+ *
+ * Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/button.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/button_p.h)
+
+
+namespace Gtk
+{
+
+/** Create buttons bound to a URL.
+ *
+ * A Gtk::LinkButton is a Gtk::Button with a hyperlink, similar to the one
+ * used by web browsers, which triggers an action when clicked. It is useful
+ * to show quick links to resources.
+ *
+ * The URI bound to a Gtk::LinkButton can be set specifically using set_uri(),
+ * and retrieved using get_uri().
+ * Gtk::LinkButton offers a global hook, which is called when the used clicks on it: see set_uri_hook().
+ *
+ * @newin2p10
+ * @ingroup Widgets
+ */
+class LinkButton : public Button
+{
+ _CLASS_GTKOBJECT(LinkButton, GtkLinkButton, GTK_LINK_BUTTON, Gtk::Button, GtkButton)
+public:
+ _CTOR_DEFAULT
+ explicit LinkButton(const Glib::ustring& uri);
+ _IGNORE(gtk_link_button_new)
+ _WRAP_CTOR(LinkButton(const Glib::ustring& uri, const Glib::ustring& label),gtk_link_button_new_with_label)
+
+ _WRAP_METHOD(Glib::ustring get_uri() const, gtk_link_button_get_uri)
+ _WRAP_METHOD(void set_uri(const Glib::ustring& uri), gtk_link_button_set_uri)
+
+ /** For instance,
+ * void on_linkbutton_uri(Gtk::LinkButton *button, const Glib::ustring& uri);
+ *
+ * @see set_uri_hook().
+ */
+ typedef sigc::slot<void, Gtk::LinkButton*, const Glib::ustring&> SlotUri;
+
+ /** Sets slot as the function that should be invoked every time a user clicks a LinkButton.
+ * This function is called before every signal handler registered for the "clicked" signal.
+ *
+ * @param slot A function called each time a LinkButton is clicked.
+ * @newin2p12
+ */
+ static void set_uri_hook(const SlotUri& slot);
+ _IGNORE(gtk_link_button_set_uri_hook)
+
+ /** Unsets any previously set slot as the function that should be invoked every time a user clicks a LinkButton.
+ * @see set_uri_hook().
+ * @newin2p12
+ */
+ static void unset_uri_hook();
+
+
+ _WRAP_PROPERTY("uri", Glib::ustring)
+};
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/liststore.ccg b/libs/gtkmm2/gtk/src/liststore.ccg
new file mode 100644
index 0000000000..62ef27c123
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/liststore.ccg
@@ -0,0 +1,131 @@
+// -*- c++ -*-
+/* $Id: liststore.ccg,v 1.5 2004/04/03 12:53:49 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkliststore.h>
+
+
+namespace Gtk
+{
+
+ListStore::ListStore(const TreeModelColumnRecord& columns)
+:
+ _CONSTRUCT()
+{
+ gtk_list_store_set_column_types(gobj(), columns.size(), const_cast<GType*>(columns.types()));
+}
+
+void ListStore::set_column_types(const TreeModelColumnRecord& columns)
+{
+ gtk_list_store_set_column_types(gobj(), columns.size(), const_cast<GType*>(columns.types()));
+}
+
+
+TreeModel::iterator ListStore::erase(const iterator& iter)
+{
+ g_assert(iter.get_gobject_if_not_end() != 0);
+
+ iterator next(iter);
+ ++next;
+
+ GtkTreeIter tmp = *iter.gobj();
+ gtk_list_store_remove(gobj(), &tmp);
+
+ return next;
+}
+
+TreeModel::iterator ListStore::insert(const iterator& iter)
+{
+ iterator new_pos(this);
+
+ // get_gobject_if_not_end() returns 0 if iter is an end iterator, which
+ // is in turn interpreted by gtk_list_store_insert_before() as a request to
+ // insert at the end of the list.
+
+ gtk_list_store_insert_before(
+ gobj(), new_pos.gobj(),
+ const_cast<GtkTreeIter*>(iter.get_gobject_if_not_end()));
+
+ // GtkTreeIter::stamp should always have a value if it's valid.
+ // For end iterators, we need to remember the iter's parent, and
+ // this is what setup_end_iterator() does.
+
+ if(new_pos.gobj()->stamp == 0)
+ new_pos.setup_end_iterator(iter);
+
+ return new_pos;
+}
+
+TreeModel::iterator ListStore::insert_after(const iterator& iter)
+{
+ iterator new_pos(this);
+
+ // get_gobject_if_not_end() returns 0 if iter is an end iterator, which
+ // is in turn interpreted by gtk_list_store_insert_after() as a request to
+ // insert at the beginning of the list.
+
+ gtk_list_store_insert_after(
+ gobj(), new_pos.gobj(),
+ const_cast<GtkTreeIter*>(iter.get_gobject_if_not_end()));
+
+ // GtkTreeIter::stamp should always have a value if it's valid.
+ // For end iterators, we need to remember the iter's parent, and
+ // this is what setup_end_iterator() does.
+
+ if(new_pos.gobj()->stamp == 0)
+ new_pos.setup_end_iterator(iter);
+
+ return new_pos;
+}
+
+TreeModel::iterator ListStore::prepend()
+{
+ iterator new_pos(this);
+ gtk_list_store_prepend(gobj(), new_pos.gobj());
+ return new_pos;
+}
+
+TreeModel::iterator ListStore::append()
+{
+ iterator new_pos(this);
+ gtk_list_store_append(gobj(), new_pos.gobj());
+ return new_pos;
+}
+
+void ListStore::move(const iterator& source, const iterator& destination)
+{
+ gtk_list_store_move_before(gobj(),
+ const_cast<GtkTreeIter*>(source.get_gobject_if_not_end()),
+ const_cast<GtkTreeIter*>(destination.get_gobject_if_not_end()));
+}
+
+void ListStore::reorder(const Glib::ArrayHandle<int>& new_order)
+{
+ gtk_list_store_reorder(gobj(), const_cast<int*>(new_order.data()));
+}
+
+void ListStore::set_value_impl(const iterator& row, int column, const Glib::ValueBase& value)
+{
+ gtk_list_store_set_value(
+ gobj(), const_cast<GtkTreeIter*>(row.gobj()),
+ column, const_cast<GValue*>(value.gobj()));
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/liststore.hg b/libs/gtkmm2/gtk/src/liststore.hg
new file mode 100644
index 0000000000..d7134d97b6
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/liststore.hg
@@ -0,0 +1,150 @@
+/* $Id: liststore.hg,v 1.4 2004/04/03 12:53:49 murrayc Exp $ */
+
+/* Copyright(C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or(at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/treeiter.h>
+#include <gtkmm/treemodel.h>
+#include <gtkmm/treesortable.h>
+#include <gtkmm/treedragdest.h>
+#include <gtkmm/treedragsource.h>
+// We couldn't include it in treemodel.h, but doing it here makes it easier for people.
+#include <gtkmm/treepath.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Gtk
+{
+
+/** Thist is a list model for use with a Gtk::TreeView widget.
+ * @ingroup TreeView
+ * It implements the Gtk::TreeModel interface, and also implements the
+ * Gtk::TreeSortable interface so you can sort the list using the view.
+ * Finally, it also implements the tree drag and drop interfaces.
+ */
+class ListStore :
+ public Glib::Object,
+ public TreeModel,
+ public TreeSortable,
+ public TreeDragSource,
+ public TreeDragDest
+{
+ _CLASS_GOBJECT(ListStore, GtkListStore, GTK_LIST_STORE, Glib::Object, GObject)
+ _IMPLEMENTS_INTERFACE(TreeModel)
+ _IMPLEMENTS_INTERFACE(TreeSortable)
+ _IMPLEMENTS_INTERFACE(TreeDragSource)
+ _IMPLEMENTS_INTERFACE(TreeDragDest)
+ _IGNORE(gtk_list_store_insert_after,
+ gtk_list_store_prepend, gtk_list_store_append, gtk_list_store_set_value,
+ gtk_list_store_insert,
+ gtk_list_store_set, gtk_list_store_set_valist,
+ gtk_list_store_reorder, gtk_list_store_move_after, gtk_list_store_move_before)
+
+protected:
+ /** When using this constructor, you must use set_column_types() immediately afterwards.
+ * This can be useful when deriving from this class, with a fixed TreeModelColumnRecord
+ * that is a member of the class.
+ * There is no create() method that corresponds to this constructor, because this
+ * constructor should only be used by derived classes.
+ */
+ _CTOR_DEFAULT
+
+ explicit ListStore(const TreeModelColumnRecord& columns);
+
+public:
+
+ /** Instantiate a new ListStore.
+ * @param columns The column types for this tree model.
+ * @result The new ListStore.
+ */
+ _WRAP_CREATE(const TreeModelColumnRecord& columns)
+
+ void set_column_types(const TreeModelColumnRecord& columns);
+ _IGNORE(gtk_list_store_set_column_types)
+
+ /** Removes the given row from the list store.
+ * @param iter The iterator to the row to be removed.
+ * @result An iterator to the next row, or end() if there is none.
+ */
+ iterator erase(const iterator& iter);
+ _IGNORE(gtk_list_store_remove)
+
+ //TODO: Make this documentation similar to documentation for Standard C++ insert methods.
+ /** Creates a new row before the position.
+ * If iter is end() then a new row will be appended to the list.
+ * The row will be empty - to fill in values, you need to dereference the returned iterator and use Row::operator[] or Row::set_value().
+ * See also prepend() and append().
+ *
+ * @param iter An iterator to the row before which the new row will be inserted.
+ * @result An iterator to the new row.
+ */
+ iterator insert(const iterator& iter);
+ _IGNORE(gtk_list_store_insert_before)
+
+ //TODO: Docs. This one is apparently faster.
+ /** Creates a new row after the position.
+ * If iter is end() then a new row will be prepended to the list.
+ * The row will be empty - to fill in values, you need to dereference the returned iterator and use Row::operator[] or Row::set_value().
+ * See also insert(), prepend() and append().
+ *
+ * @param iter An iterator to the row after which the new row will be inserted.
+ * @result An iterator to the new row.
+ */
+ iterator insert_after(const iterator& iter);
+ _IGNORE(gtk_list_store_insert_after)
+
+ /** Creates a new row at the start.
+ * The row will be empty - to fill in values, you need to dereference the returned iterator and use Row::operator[] or Row::set_value().
+ * See also insert() and append().
+ *
+ * @result An iterator to the new row.
+ */
+ iterator prepend();
+
+ /** Creates a new row at the end.
+ * The row will be empty - to fill in values, you need to dereference the returned iterator and use Row::operator[] or Row::set_value().
+ * See also insert() and prepend().
+ *
+ * @result An iterator to the new row.
+ */
+ iterator append();
+
+ _WRAP_METHOD(void iter_swap(const iterator& a, const iterator& b), gtk_list_store_swap)
+
+ /** Moves @a source to the position at @a destination.
+ * Note that this function only works with unsorted stores.
+ * @param source The row that should be moved.
+ * @param destination The position to move to.
+ */
+ void move(const iterator& source, const iterator& destination);
+
+ /** Reorders the list store to follow the order indicated by @a new_order.
+ * Note that this function only works with unsorted stores.
+ */
+ void reorder(const Glib::ArrayHandle<int>& new_order);
+
+ _WRAP_METHOD(void clear(), gtk_list_store_clear)
+
+ _WRAP_METHOD(bool iter_is_valid(const iterator& iter) const, gtk_list_store_iter_is_valid)
+
+protected:
+ virtual void set_value_impl(const iterator& row, int column, const Glib::ValueBase& value);
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/main.ccg b/libs/gtkmm2/gtk/src/main.ccg
new file mode 100644
index 0000000000..722f46d2c4
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/main.ccg
@@ -0,0 +1,557 @@
+// -*- c++ -*-
+/* $Id: main.ccg,v 1.13 2006/09/19 20:08:42 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glib.h>
+#include <gtkmmconfig.h>
+#include <gtkmm/main.h>
+#include <gtkmm/window.h>
+#include <glibmm/init.h>
+#include <pangomm/wrap_init.h>
+#ifdef GTKMM_ATKMM_ENABLED
+#include <atkmm/wrap_init.h>
+#endif //GTKMM_ATKMM_ENABLED
+#include <gdkmm/wrap_init.h>
+#include <gtkmm/wrap_init.h>
+
+namespace
+{
+
+/* This class tells sigc++ how to break GTK+ main signal connections. Since
+ * the gtk_*_remove() functions have the same signature, all main signals can
+ * be handled by a single class. Special handling is needed for signals that
+ * don't support destroy notification; see the comment on connection_list_.
+ */
+class GtkMainConnectionNode
+{
+public:
+ // A function taking a connection id, e.g. gtk_timeout_remove().
+ typedef void (*RemoveFunc) (guint);
+
+ explicit GtkMainConnectionNode(const sigc::slot_base& slot);
+
+ static void* notify(void* data);
+ static void destroy_notify_handler(void* data);
+
+ // Call this after installing the GTK+ callback.
+ void install(guint conn_id, RemoveFunc remove_func, bool has_destroy_notify);
+
+ inline sigc::slot_base* get_slot();
+
+ static bool list_remove(GtkMainConnectionNode* conn_node);
+ static void list_notify_all();
+
+private:
+ sigc::slot_base slot_;
+ static GSList* connection_list_;
+
+ guint conn_id_;
+ RemoveFunc remove_func_;
+ bool has_destroy_notify_;
+ bool destroyed_;
+};
+
+
+/* The global connection_list_ is needed to deal with GTK+ main signals
+ * that don't support destroy notification. This applies only to
+ * gtk_key_snooper_install() and gtk_init_add().
+ *
+ * The list is static and not a member of Gtk::Main, in order to support
+ * connection to Gtk::Main::signal_run() before Gtk::Main is instantiated.
+ * Thus, it's possible to install initialization hooks in global constructors,
+ * for instance.
+ */
+// static
+GSList* GtkMainConnectionNode::connection_list_ = 0;
+
+GtkMainConnectionNode::GtkMainConnectionNode(const sigc::slot_base& slot)
+:
+ slot_(slot),
+ conn_id_ (0),
+ remove_func_ (0),
+ has_destroy_notify_ (false),
+ destroyed_ (false)
+{
+ slot_.set_parent(this, &GtkMainConnectionNode::notify);
+}
+
+//static:
+void* GtkMainConnectionNode::notify(void* data)
+{
+ // notification from the sigc++ side ...
+
+ GtkMainConnectionNode *const self = static_cast<GtkMainConnectionNode*>(data);
+
+ // this call might be triggered from destroy_notify_handler().
+ if(!self->destroyed_)
+ {
+ // during (*remove_func_)() destroy_notify_handler() might get called.
+ // This must not lead to the destruction of the object!
+ self->destroyed_ = true;
+
+ // disconnect from the gtk+ side.
+ (*(self->remove_func_))(self->conn_id_);
+
+ // remove self from global list.
+ if (!self->has_destroy_notify_)
+ list_remove(self);
+
+ // destruction of slot_ notifies all objects referring to it.
+ delete self;
+ }
+
+ return 0;
+}
+
+// static
+void GtkMainConnectionNode::destroy_notify_handler(void* data)
+{
+ // notification from the gtk+ side ...
+
+ GtkMainConnectionNode *const self = static_cast<GtkMainConnectionNode*>(data);
+
+ // this call might be triggered from notify().
+ if(!self->destroyed_)
+ {
+ self->destroyed_ = true;
+
+ // The GTK+ side is disconnected now, thus the ID is no longer valid.
+ self->conn_id_ = 0;
+
+ // remove self from global list.
+ if (!self->has_destroy_notify_)
+ list_remove(self);
+
+ // destruction of slot_ notifies all objects referring to it.
+ delete self;
+ }
+}
+
+void GtkMainConnectionNode::install(
+ guint conn_id, GtkMainConnectionNode::RemoveFunc remove_func, bool has_destroy_notify)
+{
+ conn_id_ = conn_id;
+ remove_func_ = remove_func;
+ has_destroy_notify_ = has_destroy_notify;
+
+ if (!has_destroy_notify_)
+ connection_list_ = g_slist_prepend(connection_list_, this);
+}
+
+inline
+sigc::slot_base* GtkMainConnectionNode::get_slot()
+{
+ return &slot_;
+}
+
+// static
+bool GtkMainConnectionNode::list_remove(GtkMainConnectionNode* conn_node)
+{
+ // The conn_node pointer is only valid if we still hold
+ // a reference of the ConnectionNode in our global list.
+ //
+ if(GSList *const link = g_slist_find(connection_list_, conn_node))
+ {
+ connection_list_ = g_slist_delete_link(connection_list_, link);
+ return true;
+ }
+
+ return false;
+}
+
+/* Cleanup function to be called by the Gtk::Main destructor. The elements
+ * are removed prior to notification, in order to avoid invalid elements in
+ * the container.
+ */
+// static
+void GtkMainConnectionNode::list_notify_all()
+{
+ while(connection_list_ != 0)
+ {
+ GtkMainConnectionNode *const conn_node =
+ static_cast<GtkMainConnectionNode*>(connection_list_->data);
+
+ connection_list_ = g_slist_delete_link(connection_list_, connection_list_);
+
+ // no need to search the list in notify().
+ conn_node->has_destroy_notify_ = true;
+
+ // conn_node gets destroyed from notify().
+ notify(conn_node);
+ }
+}
+
+} // anonymous namespace
+
+
+namespace Gtk
+{
+
+/**** Gtk::RunSig **********************************************************/
+
+sigc::connection RunSig::connect(const RunSig::SlotType& slot)
+{
+ GtkMainConnectionNode *const conn_node = new GtkMainConnectionNode(slot);
+ const sigc::connection connection(*conn_node->get_slot());
+
+ // The callback will be invoked the next time gtk_main() is called.
+ gtk_init_add(&RunSig::gtk_callback, conn_node);
+
+ conn_node->install(0, 0, false); // there's no gtk_init_remove()
+ return connection;
+}
+
+// static
+gboolean RunSig::gtk_callback(gpointer data)
+{
+ GtkMainConnectionNode *const conn_node =
+ static_cast<GtkMainConnectionNode*>(data);
+
+ if(GtkMainConnectionNode::list_remove(conn_node))
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Recreate the specific SlotType from the generic slot_base.
+ SlotType* pSlot = static_cast<SlotType*>(conn_node->get_slot());
+ (*pSlot)();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ // We don't need it anymore, since RunSig is a one-shot signal.
+ GtkMainConnectionNode::destroy_notify_handler(conn_node);
+ }
+
+ return 0;
+}
+
+
+/**** Gtk::QuitSig *********************************************************/
+
+sigc::connection QuitSig::connect(const QuitSig::SlotType& slot, guint main_level)
+{
+ GtkMainConnectionNode *const conn_node = new GtkMainConnectionNode(slot);
+ const sigc::connection connection(*conn_node->get_slot());
+
+ const guint conn_id = gtk_quit_add_full(
+ main_level, &QuitSig::gtk_callback, 0 /* marshaller */,
+ conn_node, &GtkMainConnectionNode::destroy_notify_handler);
+
+ conn_node->install(conn_id, &gtk_quit_remove, true);
+ return connection;
+}
+
+// static
+gboolean QuitSig::gtk_callback(gpointer data)
+{
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the slot:
+ GtkMainConnectionNode* node = static_cast<GtkMainConnectionNode*>(data);
+ SlotType* pSlot = static_cast<SlotType*>(node->get_slot());
+ (*pSlot)();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return 0;
+}
+
+
+/**** Gtk::KeySnooperSig ***************************************************/
+
+sigc::connection KeySnooperSig::connect(const KeySnooperSig::SlotType& slot)
+{
+ GtkMainConnectionNode *const conn_node = new GtkMainConnectionNode(slot);
+ const sigc::connection connection(*conn_node->get_slot());
+
+ const guint conn_id = gtk_key_snooper_install(&KeySnooperSig::gtk_callback, conn_node);
+
+ conn_node->install(conn_id, &gtk_key_snooper_remove, false);
+ return connection;
+}
+
+// static
+gint KeySnooperSig::gtk_callback(GtkWidget* widget, GdkEventKey* event, gpointer data)
+{
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Recreate the specific SlotType from the generic slot node.
+ GtkMainConnectionNode* conn_node = static_cast<GtkMainConnectionNode*>(data);
+ SlotType* pSlot = static_cast<SlotType*>(conn_node->get_slot());
+ return (*pSlot)(Glib::wrap(widget), event);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return 0;
+}
+
+
+/**** Gtk::Main -- static data *********************************************/
+
+RunSig Main::signal_run_;
+QuitSig Main::signal_quit_;
+KeySnooperSig Main::signal_key_snooper_;
+Main* Main::instance_ = 0;
+
+
+/**** Gtk::Main -- construction/destruction ********************************/
+
+Main::Main(int& argc, char**& argv, bool set_locale)
+{
+ init(&argc, &argv, set_locale);
+}
+
+Main::Main(int* argc, char*** argv, bool set_locale)
+{
+ init(argc, argv, set_locale);
+}
+
+/*Main::Main(int* argc, char*** argv, const std::string& parameter_string, const Glib::ArrayHandle<const Glib::OptionEntry&>& entries, const std::string& translation_domain)
+{
+ init(argc, argv, parameter_string, entries, translation_domain);
+}*/
+
+// Default ctor only used by subclasses:
+Main::Main()
+{
+ if(instance_ == 0)
+ {
+ init_gtkmm_internals();
+ instance_ = this;
+ }
+ else
+ {
+ g_warning("Gtk::Main instantiated twice");
+ }
+}
+
+Main::~Main()
+{
+ // A second Gtk::Main will produce a warning, but
+ // Main::~Main would still run. So this prevents the crash.
+ if(instance_ == this)
+ {
+ instance_ = 0;
+ GtkMainConnectionNode::list_notify_all();
+
+ // Release the gtkmm type registration tables,
+ // allowing Main to be instantiated again:
+ Glib::wrap_register_cleanup();
+ Glib::Error::register_cleanup();
+ }
+}
+
+// protected
+void Main::init(int* argc, char*** argv, bool set_locale)
+{
+ if(instance_)
+ {
+ g_warning("Gtk::Main::init() called twice");
+ }
+ else
+ {
+ if(!set_locale)
+ gtk_disable_setlocale();
+
+ //TODO: Add support for gtk_init_check().
+ gtk_init(argc, argv);
+
+ init_gtkmm_internals();
+ instance_ = this;
+ }
+}
+
+Main::Main(int& argc, char**& argv, Glib::OptionContext& option_context)
+{
+ if(instance_)
+ {
+ g_warning("Gtk::Main::init() called twice");
+ }
+ else
+ {
+ init_gtkmm_internals();
+ instance_ = this;
+
+ //This reimplements some stuff from gtk_init_with_options(),
+ //without calling check_setugid(), because that is not public API.
+
+ add_gtk_option_group(option_context);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ option_context.parse(argc, argv);
+ #else
+ std::auto_ptr<Glib::Error> ex;
+ option_context.parse(argc, argv, ex);
+ //if(ex.get())
+ // std::cerr << ex->what() << std::endl;
+ //TODO: Pass the ex up to the caller?
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+}
+
+// This is a static method so that it can be used before Main is instantiated,
+// for instance in Gnome::canvas_init(). But if you use this method, you
+// _must_ have a Gtk::Main, so that Main::~Main() is called to clean this up
+// later. Of course I can't imagine any situation in which you wouldn't have
+// a Gtk::Main.
+//
+void Main::init_gtkmm_internals()
+{
+ static bool init_done = false;
+
+ if(!init_done)
+ {
+ Glib::init();
+
+ // Populate the map of GTypes to C++ wrap_new() functions.
+ Pango::wrap_init();
+#ifdef GTKMM_ATKMM_ENABLED
+ Atk::wrap_init();
+#endif //GTKMM_ATKMM_ENABLED
+ Gdk::wrap_init();
+ Gtk::wrap_init();
+
+ init_done = true;
+ }
+}
+
+void Main::add_gtk_option_group(Glib::OptionContext& option_context, bool open_default_display)
+{
+ //Get the option group:
+ Glib::OptionGroup gtkgroup( gtk_get_option_group(open_default_display) ); //Takes ownership of the GOptionGroup.
+
+ //Give it to the option_context, which will also then own the underlying GOptionGroup, deleting it when necessary:
+ option_context.add_group(gtkgroup);
+}
+
+
+/**** Gtk::Main -- static forwarder methods ********************************/
+
+Main* Main::instance()
+{
+ return instance_;
+}
+
+void Main::run()
+{
+ instance_->run_impl();
+}
+
+void Main::run(Gtk::Window& window)
+{
+ window.show();
+ window.signal_hide().connect(sigc::mem_fun(*instance_, &Main::on_window_hide));
+ instance_->run_impl();
+}
+
+void Main::quit()
+{
+ instance_->quit_impl();
+}
+
+guint Main::level()
+{
+ return instance_->level_impl();
+}
+
+bool Main::iteration(bool blocking)
+{
+ return instance_->iteration_impl(blocking);
+}
+
+bool Main::events_pending()
+{
+ return instance_->events_pending_impl();
+}
+
+
+/**** Gtk::Main -- static signal accessors *********************************/
+
+RunSig& Main::signal_run()
+{
+ return signal_run_;
+}
+
+QuitSig& Main::signal_quit()
+{
+ return signal_quit_;
+}
+
+KeySnooperSig& Main::signal_key_snooper()
+{
+ return signal_key_snooper_;
+}
+
+
+/**** Gtk::Main -- protected virtuals **************************************/
+
+void Main::run_impl()
+{
+ gtk_main();
+}
+
+void Main::quit_impl()
+{
+ gtk_main_quit();
+}
+
+guint Main::level_impl()
+{
+ return gtk_main_level();
+}
+
+bool Main::iteration_impl(bool blocking)
+{
+ return gtk_main_iteration_do(blocking);
+}
+
+bool Main::events_pending_impl()
+{
+ return gtk_events_pending();
+}
+
+void Main::on_window_hide()
+{
+ quit_impl();
+}
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/main.hg b/libs/gtkmm2/gtk/src/main.hg
new file mode 100644
index 0000000000..9a54a882ac
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/main.hg
@@ -0,0 +1,275 @@
+/* $Id: main.hg,v 1.9 2005/02/13 20:48:35 murrayc Exp $ */
+
+/* main.h
+ *
+ * Copyright (C) 1998-2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+#include <gtk/gtkmain.h>
+
+#include <sigc++/sigc++.h>
+#include <gdkmm/types.h>
+
+_DEFS(gtkmm,gtk)
+
+namespace Gtk
+{
+
+class Widget;
+class Window;
+
+//**********************************************************************
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+//Actually, I'd like to just keep these out of the alphabetical list. murrayc.
+
+/// Run Signal Class (internal)
+class RunSig
+{
+public:
+ typedef sigc::slot<void> SlotType;
+
+ sigc::connection connect(const SlotType& slot);
+
+protected:
+ static gboolean gtk_callback(gpointer data);
+};
+
+
+/// Quit Signal Class (internal)
+class QuitSig
+{
+public:
+ typedef sigc::slot<bool> SlotType;
+
+ sigc::connection connect(const SlotType& slot, guint main_level = 0);
+
+protected:
+ static gboolean gtk_callback(gpointer data); //gtk+ calls this, which then calls our slot.
+};
+
+
+/// KeySnooper Signal Class (internal)
+class KeySnooperSig
+{
+public:
+ typedef sigc::slot<int, Widget*, GdkEventKey*> SlotType;
+
+ sigc::connection connect(const SlotType& slot);
+
+protected:
+ static int gtk_callback(GtkWidget* widget, GdkEventKey* event, gpointer data);
+};
+
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+//**********************************************************************
+
+/** Main application class
+ * Every application must have one of these objects.
+ * It may not be global and must be the first Gtk object created.
+ * It is a singleton so declaring more than one will simply access the first
+ * created.
+ *
+ * Normal use of this class is in the main() function to give argc and argv
+ * to the gtk initialization. Widgets can use Gtk::Main::quit()
+ * to exit from the application.
+ *
+ * The internals of the widget have been disguised as signals
+ * so that the user can easily connect using the same methods
+ * used throughout the widget interface.
+ *
+ * Minimal gtkmm application is something like this:
+ * @code
+ * int main(int argc, char *argv[]) {
+ * Gtk::Main kit(argc, argv);
+ * ... create some widgets ...
+ * kit.run();
+ * }
+ * @endcode
+ */
+class Main : public sigc::trackable
+{
+public:
+
+ //This offers the same functionality as gtk_init_with_args():
+ /** Scans the argument vector, and strips off all parameters parsed by GTK+ or your @a option_context.
+ * Add a Glib::OptionGroup to the Glib::OptionContext to parse your own command-line arguments.
+ *
+ * Note: The argument strings themself won't be modified, although the
+ * pointers to them might change. This makes it possible to create your
+ * own argv of string literals, which have the type 'const char[]' in
+ * standard C++. (You might need to use const_cast<>, though.)
+ *
+ * This function automatically generates nicely formatted
+ * <option>--help</option> output. Note that your program will
+ * be terminated after writing out the help output.
+ *
+ * @param argc a reference to the number of command line arguments.
+ * @param argv a reference to the array of command line arguments.
+ * @parameter_string a string which is displayed in the first line of <option>--help</option> output,
+ * after <literal><replaceable>programname</replaceable> [OPTION...]</literal>
+ * @param option_context A Glib::OptionContext containing Glib::OptionGroups which described the command-line arguments taken by your program.
+ *
+ * @throw Glib::OptionError
+ */
+ Main(int& argc, char**& argv, Glib::OptionContext& option_context);
+
+ /** Scans the argument vector, and strips off all parameters known to GTK+.
+ * Your application may then handle the remaining arguments.
+ *
+ * Note: The argument strings themself won't be modified, although the
+ * pointers to them might change. This makes it possible to create your
+ * own argv of string literals, which have the type 'const char[]' in
+ * standard C++. (You might need to use const_cast<>, though.)
+ */
+ Main(int* argc, char*** argv, bool set_locale = true);
+
+ /// See Main(int* argc, char*** argv, bool set_locale).
+ Main(int& argc, char**& argv, bool set_locale = true);
+
+
+ virtual ~Main();
+
+ /// Access to the one global instance of Gtk::Main.
+ static Gtk::Main* instance();
+
+ /** Start the event loop.
+ * This begins the event loop which handles events. No
+ * events propagate until this has been called. It may be
+ * called recursively to popup dialogs
+ */
+ static void run();
+
+ /** Returns from the main loop when the window is closed.
+ * When using this override, you should not use Gtk::Main::quit() to close
+ * the application, but just call hide() on your Window class.
+ *
+ * @param window The window to show. This method will return when the window is hidden.
+ */
+ static void run(Window& window);
+
+ /** Makes the innermost invocation of the main loop return when it regains control.
+ */
+ static void quit();
+
+ static guint level();
+
+ //This attempts to provide the same functionality as gtk_get_option_group():
+ /** Add a Glib::OptionGroup, for the commandline arguments recognized
+ * by GTK+ and GDK, to a Glib::OptionContext, so that these commandline arguments will
+ * be processed in addition to the existing commandline arguments specified by the Glib::OptionContext.
+ *
+ * You do not need to use this method if you pass your Glib::OptionContext to the Main constructor, because
+ * it adds the gtk option group automatically.
+ *
+ * @param option_context Option Context to which the group will be added.
+ * @param open_default_display Whether to open the default display when parsing the commandline arguments.
+ */
+ static void add_gtk_option_group(Glib::OptionContext& option_context, bool open_default_display = true);
+
+ /** Runs a single iteration of the main loop.
+ * If no events are waiting to be processed GTK+ will block until the next event is noticed.
+ * If you don't want to block then pass false for @a blocking or check if any events are pending with
+ * pending() first.
+ *
+ * @param blocking Whether the caller must wait until the next event is noticed, or return immediately if there are no events.
+ * @result true if quit() has been called for the innermost main loop.
+ */
+ static bool iteration(bool blocking = true);
+
+ /** Checks if any events are pending. This can be used to update the GUI and invoke timeouts etc. while doing some time intensive computation.
+ *
+ * Example: Updating the GUI during a long computation.
+ * @code
+ * // computation going on
+ * while( Gtk::Main::events_pending() )
+ * Gtk::Main::iteration();
+ *
+ * // computation continued
+ * @endcode
+ *
+ * @result true if any events are pending, false otherwise.
+ */
+ static bool events_pending();
+
+ /** Run signal
+ * @return void
+ */
+ static RunSig& signal_run();
+
+ /** Quit signal
+ * You can connect signal handlers to invoke actions when Gtk::Main::quit()
+ * has been called. Note that main loops can be nested by calling
+ * Gtk::Main::run() recursively, therefore receiving this signal doesn't
+ * necessarily mean the application is about to be terminated. If you want
+ * to receive a signal only when the last main loop quits, call connect()
+ * with <tt>main_level&nbsp;=&nbsp;1</tt>.
+ * @code
+ * bool thisclass::mymethod() { return false; }
+ * Gtk::Main::signal_quit().connect(sigc::mem_fun(this, &thisclass::mymethod));
+ * @endcode
+ * @return bool - @c false means callback is removed, @c true means
+ * it'll be called again the next the main loop quits.
+ */
+ static QuitSig& signal_quit();
+
+ /** KeySnooper signal
+ * Allows you to channel keypresses to a signal handler
+ * without registering with the widget.
+ *
+ * @return KeySnooperSig A Signal to which you can connect a sigc::slot< int, Widget *, GdkEventKey * >
+ *
+ * It is the responsibility of the snooper to pass the keypress
+ * to the widget, however, care must be taken that the keypress is
+ * not passed twice.
+ */
+ static KeySnooperSig& signal_key_snooper();
+
+ // Initialize table of wrap_new functions.
+ // Doesn't need an instance of Gtk::Main.
+ static void init_gtkmm_internals();
+
+protected:
+ Main();
+
+ void init(int* argc, char*** argv, bool set_locale);
+ // TODO: implement this to use the new Glib::OptionEntry argument parsing classes.
+ //void init(int* argc, char*** argv, const std::string& parameter_string, const Glib::ArrayHandle<const Glib::OptionEntry&>& entries, const std::string& translation_domain);
+
+ virtual void run_impl();
+ virtual void quit_impl();
+ virtual guint level_impl();
+ virtual bool iteration_impl(bool blocking);
+ virtual bool events_pending_impl();
+
+ // Signal handlers:
+ virtual void on_window_hide();
+
+ // Signal proxies:
+ static RunSig signal_run_;
+ static QuitSig signal_quit_;
+ static KeySnooperSig signal_key_snooper_;
+
+private:
+ static Main* instance_;
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/menu.ccg b/libs/gtkmm2/gtk/src/menu.ccg
new file mode 100644
index 0000000000..c52a9d43ad
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/menu.ccg
@@ -0,0 +1,101 @@
+// -*- c++ -*-
+/* $Id: menu.ccg,v 1.7 2006/05/11 11:40:24 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkdnd.h>
+#include <gtk/gtkmenu.h>
+#include <gtkmm/accelgroup.h>
+
+
+static void SignalProxy_PopupPosition_gtk_callback(GtkMenu*, int* x, int* y, gboolean* push_in, void* data)
+{
+ Gtk::Menu::SlotPositionCalc* the_slot = static_cast<Gtk::Menu::SlotPositionCalc*>(data);
+
+ int temp_x = (x) ? *x : 0;
+ int temp_y = (y) ? *y : 0;
+ bool temp_push_in = (push_in) ? bool(*push_in) : false;
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ (*the_slot)(temp_x, temp_y, temp_push_in);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ if(x) *x = temp_x;
+ if(y) *y = temp_y;
+ if(push_in) *push_in = temp_push_in;
+}
+
+
+
+namespace Gtk
+{
+
+void Menu::popup(const SlotPositionCalc& position_calc_slot, guint button, guint32 activate_time)
+{
+ // Tell GTK+ to call the static function with the slot's address as the extra
+ // data, so that the static function can then call the sigc::slot:
+ gtk_menu_popup(gobj(), 0, 0, &SignalProxy_PopupPosition_gtk_callback, const_cast<SlotPositionCalc*>(&position_calc_slot), button, activate_time);
+}
+
+void Menu::popup(MenuShell& parent_menu_shell, MenuItem& parent_menu_item, const SlotPositionCalc& position_calc_slot, guint button, guint32 activate_time)
+{
+ // Tell GTK+ to call the static function with the slot's address as the extra
+ // data, so that the static function can then call the sigc::slot:
+ gtk_menu_popup(gobj(), parent_menu_shell.Gtk::Widget::gobj(), parent_menu_item.Gtk::Widget::gobj(), &SignalProxy_PopupPosition_gtk_callback, const_cast<SlotPositionCalc*>(&position_calc_slot), button, activate_time);
+}
+
+void Menu::popup(guint button, guint32 activate_time)
+{
+ gtk_menu_popup(gobj(), 0, 0, 0, 0, button, activate_time);
+}
+
+void Menu::reorder_child(const MenuItem& child, int position)
+{
+ gtk_menu_reorder_child(
+ gobj(),
+ const_cast<GtkWidget*>(child.Gtk::Widget::gobj()),
+ position);
+}
+
+void Menu::unset_accel_group()
+{
+ gtk_menu_set_accel_group(gobj(), 0);
+}
+
+void Menu::unset_title()
+{
+ gtk_menu_set_title(gobj(), 0);
+}
+
+void Menu::attach_to_widget(Widget& attach_widget)
+{
+ gtk_menu_attach_to_widget(gobj(), (attach_widget).gobj(), 0 /* allowed by the C docs. */);
+}
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/menu.hg b/libs/gtkmm2/gtk/src/menu.hg
new file mode 100644
index 0000000000..9df3e1622f
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/menu.hg
@@ -0,0 +1,139 @@
+/* $Id: menu.hg,v 1.11 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/menushell_p.h)
+
+//#include <gtk/gtkmenu.h>
+#include <gtkmm/menushell.h>
+#include <gtkmm/menuitem.h>
+
+namespace Gtk
+{
+
+class AccelGroup;
+
+/** @defgroup Menus Menu classes
+ */
+
+/** A drop-down menu consisting of Gtk::MenuItem objects which can be navigated and activated by the user to perform application functions.
+ * Menus are normally placed inside a Gtk::MenuBar or another MenuItem as a sub menu.
+ * A Menu can also be popped up, for instance as a right-click context menu, by calling the popup() method.
+ * See also Gtk::OptionMenu.
+ * @ingroup Widgets
+ * @ingroup Menus
+ */
+class Menu : public MenuShell
+{
+ _CLASS_GTKOBJECT(Menu,GtkMenu,GTK_MENU,Gtk::MenuShell,GtkMenuShell)
+
+ _IGNORE(gtk_menu_append, gtk_menu_prepend, gtk_menu_insert) //deprecated.
+public:
+ _CTOR_DEFAULT
+
+/* append, prepend, and insert are defined in MenuShell */
+
+ /** For instance,
+ * void on_popup_menu_position(int& x, int& y, bool& push_in);
+ */
+ typedef sigc::slot<void, int&, int&, bool&> SlotPositionCalc;
+
+ void popup(MenuShell& parent_menu_shell, MenuItem& parent_menu_item, const SlotPositionCalc& slot, guint button, guint32 activate_time);
+ _IGNORE(gtk_menu_popup)
+
+ /** Displays a menu and makes it available for selection. Applications can use
+ * this function to display context-sensitive menus.
+ *
+ * The @a button parameter should be the mouse button pressed to initiate
+ * the menu popup. If the menu popup was initiated by something other than
+ * a mouse button press, such as a mouse button release or a keypress,
+ * @a button should be 0.
+ *
+ * The @a activate_time parameter should be the time stamp of the event that
+ * initiated the popup. If such an event is not available, use
+ * gtk_get_current_event_time() instead.
+ * @param func A position_calc_slot supplied function used to position the menu, or <tt>0</tt>.
+ * @param button The mouse button which was pressed to initiate the event.
+ * @param activate_time The time at which the activation event occurred.
+ */
+ void popup(const SlotPositionCalc& position_calc_slot, guint button, guint32 activate_time);
+
+ /** Displays a menu and makes it available for selection.
+ * Applications can use this function to display context-sensitive menus, at the current pointer position.
+ * @param button The button which was pressed to initiate the event.
+ * @param activate_time The time at which the activation event occurred.
+ */
+ void popup(guint button, guint32 activate_time);
+
+ _WRAP_METHOD(void reposition(), gtk_menu_reposition)
+
+ _WRAP_METHOD(void popdown(), gtk_menu_popdown)
+
+ _WRAP_METHOD(MenuItem* get_active(),gtk_menu_get_active)
+ _WRAP_METHOD(const MenuItem* get_active() const, gtk_menu_get_active, constversion)
+ _WRAP_METHOD(void set_active(guint index),gtk_menu_set_active)
+
+ _WRAP_METHOD(void set_accel_group(const Glib::RefPtr<AccelGroup>& accel_group), gtk_menu_set_accel_group)
+ void unset_accel_group();
+ _WRAP_METHOD(Glib::RefPtr<AccelGroup> get_accel_group(), gtk_menu_get_accel_group, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const AccelGroup> get_accel_group() const, gtk_menu_get_accel_group, refreturn, constversion)
+
+ _WRAP_METHOD(void set_accel_path(const Glib::ustring& accel_path), gtk_menu_set_accel_path)
+
+ _WRAP_METHOD(void detach(),gtk_menu_detach)
+ _WRAP_METHOD(Widget* get_attach_widget(), gtk_menu_get_attach_widget)
+ _WRAP_METHOD(const Widget* get_attach_widget() const, gtk_menu_get_attach_widget, constversion)
+
+ _WRAP_METHOD(void set_tearoff_state(bool torn_off = true), gtk_menu_set_tearoff_state)
+ _WRAP_METHOD(bool get_tearoff_state() const, gtk_menu_get_tearoff_state)
+
+ _WRAP_METHOD(void set_title(const Glib::ustring& title), gtk_menu_set_title)
+ void unset_title();
+ _WRAP_METHOD(Glib::ustring get_title() const, gtk_menu_get_title)
+ _WRAP_METHOD(void set_screen(const Glib::RefPtr<Gdk::Screen>& screen), gtk_menu_set_screen)
+
+ _WRAP_METHOD(void attach(Gtk::Widget& child, guint left_attach, guint right_attach, guint top_attach, guint bottom_attach), gtk_menu_attach)
+
+ _WRAP_METHOD(void set_monitor(int monitor_num), gtk_menu_set_monitor)
+
+ void reorder_child(const MenuItem& child, int position);
+ _IGNORE(gtk_menu_reorder_child)
+
+ _IGNORE_SIGNAL("move_scroll")
+ _WRAP_PROPERTY("tearoff-title", Glib::ustring)
+
+protected:
+
+ //We can not wrap this as a slot because there is no data parameter, and no destroy callback to destroy that data.
+ typedef void (*GtkMenuDetachFunc) (GtkWidget *attach_widget, GtkMenu *menu);
+ _WRAP_METHOD(void attach_to_widget(Widget& attach_widget, GtkMenuDetachFunc detacher), gtk_menu_attach_to_widget)
+
+ //TODO: What does "attach" actually mean here? murrayc
+ /** Attaches the menu to the widget.
+ *
+ * param @attach_widget: the Widget that the menu will be attached to.
+ *
+ * @newin2p10
+ */
+ void attach_to_widget(Widget& attach_widget);
+};
+
+} // namespace Gtk
+
+
diff --git a/libs/gtkmm2/gtk/src/menubar.ccg b/libs/gtkmm2/gtk/src/menubar.ccg
new file mode 100644
index 0000000000..91d9a667ab
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/menubar.ccg
@@ -0,0 +1,49 @@
+// -*- c++ -*-
+/* $Id: menubar.ccg,v 1.5 2004/04/07 12:49:39 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkmenubar.h>
+
+namespace Gtk
+{
+
+MenuBar::MenuBar()
+:
+ _CONSTRUCT()
+{
+ // Connect to the signal instead of overriding the on_hierarchy_changed()
+ // method because invocation of C++ default signal handlers is skipped
+ // for gtkmmproc-generated classes (a gtkmm-wide optimization).
+
+ signal_realize().connect(sigc::mem_fun(*this, &MenuBar::init_accels_handler_));
+}
+
+void MenuBar::init_accels_handler_()
+{
+ if(gobj())
+ {
+ if(Window *const toplevel = dynamic_cast<Window*>(get_toplevel()))
+ {
+ accelerate(*toplevel);
+ }
+ }
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/menubar.hg b/libs/gtkmm2/gtk/src/menubar.hg
new file mode 100644
index 0000000000..a47a952f65
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/menubar.hg
@@ -0,0 +1,51 @@
+/* $Id: menubar.hg,v 1.2 2003/11/17 18:19:00 murrayc Exp $ */
+
+
+/* menubar.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/menushell.h>
+#include <gtkmm/menuitem.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/menushell_p.h)
+
+
+namespace Gtk
+{
+
+/** A standard menu bar which usually holds Gtk::Menu submenu items.
+ * The useful methods are in the base class - Gtk::MenuShell.
+ * @ingroup Widgets
+ * @ingroup Menus
+ */
+class MenuBar : public MenuShell
+{
+ _CLASS_GTKOBJECT(MenuBar,GtkMenuBar,GTK_MENU_BAR,Gtk::MenuShell,GtkMenuShell)
+
+public:
+ MenuBar();
+
+ // append, prepend and insert are defined in menushell
+
+private:
+ void init_accels_handler_(void);
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/menuitem.ccg b/libs/gtkmm2/gtk/src/menuitem.ccg
new file mode 100644
index 0000000000..ed7c5e5b59
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/menuitem.ccg
@@ -0,0 +1,113 @@
+// -*- c++ -*-
+/* $Id: menuitem.ccg,v 1.5 2006/05/11 11:40:24 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkmenuitem.h>
+#include <gtk/gtkaccelmap.h>
+#include <gtkmm/label.h>
+#include <gtkmm/misc.h>
+#include <gtkmm/menu.h>
+#include <gtkmm/box.h>
+#include <gtkmm/window.h>
+#include <gtkmm/menubar.h>
+#include <gtkmm/accelmap.h>
+
+// gtk_menu_item_(de)select are just a wrapper for gtk_item_(de)select
+// and defined in Gtk_Item, so they do not be redefined here
+
+namespace Gtk
+{
+
+
+MenuItem::MenuItem(Widget& widget)
+:
+ _CONSTRUCT()
+{
+ add(widget);
+}
+
+MenuItem::MenuItem(const Glib::ustring& label, bool mnemonic)
+:
+ _CONSTRUCT()
+{
+ add_accel_label(label, mnemonic); /* Left-aligned label */
+}
+
+void MenuItem::add_accel_label(const Glib::ustring& label, bool mnemonic)
+{
+ AccelLabel* pLabel = manage(new AccelLabel(label, mnemonic));
+ //Labels are centered by default, but in menus they should be left-aligned.
+
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+ pLabel->property_xalign() = 0.0;
+ #else
+ pLabel->set_property("xalign", 0.0f);
+ #endif //GLIBMM_PROPERTIES_ENABLED
+
+ add(*pLabel);
+
+ //Note that we have to unset the accel_widget in MenuList::remove() to avoid
+ //a memory leak due to the extra reference:
+ pLabel->set_accel_widget(*this);
+ pLabel->show();
+}
+
+void MenuItem::set_accel_key(const AccelKey& accel_key)
+{
+ accel_key_ = accel_key;
+}
+
+bool MenuItem::has_submenu() const
+{
+ return get_submenu() != 0;
+}
+
+void MenuItem::accelerate(Window& window)
+{
+ if(!accel_key_.is_null())
+ {
+ if(accel_key_.get_path().empty())
+ {
+ add_accelerator("activate", window.get_accel_group(),
+ accel_key_.get_key(), accel_key_.get_mod(), ACCEL_VISIBLE);
+ }
+ else
+ {
+ AccelMap::add_entry(accel_key_.get_path(),
+ accel_key_.get_key(),
+ accel_key_.get_mod());
+
+ Item::set_accel_path(accel_key_.get_path(), window.get_accel_group());
+ }
+ }
+
+ if(has_submenu())
+ get_submenu()->accelerate(window);
+}
+
+void MenuItem::unset_accel_path()
+{
+ gtk_menu_item_set_accel_path(gobj(), 0);
+}
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/menuitem.hg b/libs/gtkmm2/gtk/src/menuitem.hg
new file mode 100644
index 0000000000..40aea871d7
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/menuitem.hg
@@ -0,0 +1,94 @@
+/* $Id: menuitem.hg,v 1.6 2006/04/12 11:11:25 murrayc Exp $ */
+
+
+/* menuitem.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/item.h>
+#include <gtkmm/accelkey.h>
+#include <gtkmm/accellabel.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/item_p.h)
+
+
+namespace Gtk
+{
+
+class Menu;
+namespace Menu_Helpers { class Element; }
+
+/** Child item for menus.
+ * Handle highlighting, alignment, events and submenus.
+ * As it derives from Gtk::Bin it can hold any valid child widget, altough only a few are really useful.
+ * @ingroup Widgets
+ * @ingroup Menus
+ */
+class MenuItem : public Item
+{
+ _CLASS_GTKOBJECT(MenuItem,GtkMenuItem,GTK_MENU_ITEM,Gtk::Item,GtkItem)
+public:
+
+ /// Create an empty menu item
+ _CTOR_DEFAULT
+
+ /// Create a menu item with widget
+ explicit MenuItem(Widget& widget);
+
+ /// Create a menu item with label
+ explicit MenuItem(const Glib::ustring& label, bool mnemonic = false);
+
+ _WRAP_METHOD(void set_submenu(Menu& submenu), gtk_menu_item_set_submenu)
+ _WRAP_METHOD(Menu* get_submenu(), gtk_menu_item_get_submenu)
+ _WRAP_METHOD(const Menu* get_submenu() const, gtk_menu_item_get_submenu, constversion)
+ bool has_submenu() const;
+
+ _WRAP_METHOD(void remove_submenu(), gtk_menu_item_remove_submenu)
+ _WRAP_METHOD(void select(), gtk_menu_item_select)
+ _WRAP_METHOD(void deselect(), gtk_menu_item_deselect)
+ _WRAP_METHOD(void activate(), gtk_menu_item_activate)
+ _WRAP_METHOD(void toggle_size_request(int& requisition), gtk_menu_item_toggle_size_request)
+ _WRAP_METHOD(void toggle_size_allocate(int allocation), gtk_menu_item_toggle_size_allocate)
+ _WRAP_METHOD(void set_right_justified(bool right_justified = true), gtk_menu_item_set_right_justified)
+ _WRAP_METHOD(bool get_right_justified() const, gtk_menu_item_get_right_justified)
+ _WRAP_METHOD(void set_accel_path(const Glib::ustring& accel_path), gtk_menu_item_set_accel_path)
+ void unset_accel_path();
+
+ _WRAP_SIGNAL(void activate(), "activate")
+ _WRAP_SIGNAL(void activate_item(), "activate_item")
+ _WRAP_SIGNAL(void toggle_size_request(int* requisition), "toggle_size_request")
+ _WRAP_SIGNAL(void toggle_size_allocate(int allocation), "toggle_size_allocate")
+
+ void accelerate(Window& window);
+
+protected:
+
+ void add_accel_label(const Glib::ustring& label, bool mnemonic = true);
+
+ void set_accel_key(const AccelKey& accel_key);
+
+private:
+
+ friend class Menu_Helpers::Element;
+
+ //This data is set by MenuElem, and will be used in on_realize(), in the call to add_accelerator().
+ AccelKey accel_key_;
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/menushell.ccg b/libs/gtkmm2/gtk/src/menushell.ccg
new file mode 100644
index 0000000000..fea541195a
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/menushell.ccg
@@ -0,0 +1,201 @@
+// -*- c++ -*-
+/* $Id: menushell.ccg,v 1.5 2006/05/11 11:40:24 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkmenuitem.h>
+#include <gtk/gtkaccellabel.h>
+
+
+namespace Gtk
+{
+
+// All ctors are manually implemented just to initialize accel_window_.
+
+MenuShell::MenuShell()
+:
+ _CONSTRUCT_SPECIFIC(Gtk::Container, MenuShell),
+ items_proxy_ (gobj()),
+ accel_window_ (0)
+{}
+
+MenuShell::MenuShell(const Glib::ConstructParams& construct_params)
+:
+ Glib::ObjectBase(0),
+ Gtk::Container (construct_params),
+ items_proxy_ (gobj()),
+ accel_window_ (0)
+{}
+
+MenuShell::MenuShell(GtkMenuShell* castitem)
+:
+ Gtk::Container((GtkContainer*) castitem),
+ items_proxy_ (gobj()),
+ accel_window_ (0)
+{}
+
+// TODO: Why do we need a custom dtor?
+MenuShell::~MenuShell()
+{}
+
+void MenuShell::accelerate(Window& window)
+{
+ // accel_window_ is used by menuitems that are added to the menushell
+ // after it has been accelerated.
+ accel_window_ = &window;
+
+ const MenuList::iterator items_end = items().end();
+
+ for(MenuList::iterator iter = items().begin(); iter != items_end; ++iter)
+ iter->accelerate(window);
+}
+
+void MenuShell::accelerate(Widget& parent)
+{
+ Gtk::Window* toplevel_window
+ = dynamic_cast<Gtk::Window*>(parent.get_toplevel());
+ if(toplevel_window)
+ accelerate(*toplevel_window);
+}
+
+MenuShell::MenuList& MenuShell::items()
+{
+ return items_proxy_;
+}
+
+const MenuShell::MenuList& MenuShell::items() const
+{
+ return items_proxy_;
+}
+
+void MenuShell_Class::insert_vfunc_callback(GtkMenuShell* self, GtkWidget* child, int position)
+{
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ MenuShell *const obj = dynamic_cast<MenuShell*>(
+ Glib::ObjectBase::_get_current_wrapper((GObject*) self));
+
+ // If MenuShell is accelerated initialize accelerators of new MenuItem.
+ if(obj && obj->accel_window_ && GTK_IS_MENU_ITEM(child))
+ {
+ Glib::wrap((GtkMenuItem*) child)->accelerate(*obj->accel_window_);
+ }
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ GtkMenuShellClass *const base = static_cast<GtkMenuShellClass*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)));
+
+ if(base && base->insert)
+ (*base->insert)(self, child, position);
+}
+
+
+namespace Menu_Helpers
+{
+
+// List implementation:
+
+
+MenuList::iterator MenuList::insert(MenuList::iterator position, const Element& element)
+{
+ const Glib::RefPtr<Gtk::MenuItem> item = element.get_child();
+
+ g_return_val_if_fail(item != 0, position);
+ g_return_val_if_fail(gparent() != 0, position);
+
+ int pos = -1;
+
+ if(position.node_)
+ pos = g_list_position(glist(), position.node_);
+
+ gtk_menu_shell_insert(gparent(), item->Widget::gobj(), pos);
+
+ return --position;
+}
+
+void MenuList::remove(const_reference child)
+{
+ const Widget& widget = child;
+ remove(const_cast<Widget&>(widget));
+}
+
+void MenuList::remove(Widget& widget)
+{
+ //This is the same as the standard implementation,
+ //but we also unset the accel_label to avoid leaking its reference.
+
+ //If it is a Bin, (actually we're looking for a MenuItem):
+ if(GTK_IS_BIN(widget.gobj()))
+ {
+ //TODO: There is duplication here, with erase().
+ //If the child's child is an AccelLabel then unset its accel widget:
+ //This can't catch every possible AccelLabel in the hierarchy, but it
+ //will catch the ones that we create in MenuItem::MenuItem() without
+ //people being aware of it. People can take care of their own ones themselves.
+ Gtk::AccelLabel* pAccelLabel = dynamic_cast<Gtk::AccelLabel*>(dynamic_cast<Gtk::Bin&>(widget).get_child());
+ if(pAccelLabel) //If the child is an AccelLabel.
+ {
+ //The unset_accel_widget() method is not implemented in gtkmm until 2.4:
+ gtk_accel_label_set_accel_widget(pAccelLabel->gobj(), 0);
+ }
+ }
+
+ gtk_container_remove(GTK_CONTAINER(gparent_),
+ (GtkWidget*)(widget.gobj()));
+}
+
+MenuList::iterator MenuList::erase(iterator position)
+{
+ //Check that it is a valid iterator, to a real item:
+ if ( !position.node_|| (position == end()) )
+ return end();
+
+ //Get an iterator the the next item, to return:
+ iterator next = position;
+ next++;
+
+ GtkWidget* pChild = (GtkWidget*)(position->gobj());
+ if(GTK_IS_BIN(pChild)) //A MenuItem is a Bin.
+ {
+ //If the child's child is an AccelLabel then unset it's accel widget:
+ //This can't catch every possible AccelLabel in the hierarchy, but it
+ //will catch the ones that we create in MenuItem::MenuItem() without
+ //people being aware of it. People can take care of their own ones themselves.
+ GtkWidget* pChildOfChild = (GtkWidget*)gtk_bin_get_child(GTK_BIN(pChild));
+ if(GTK_IS_ACCEL_LABEL(pChildOfChild))
+ gtk_accel_label_set_accel_widget(GTK_ACCEL_LABEL(pChildOfChild), 0);
+ }
+
+ //Use GTK+ C function to remove it, by providing the GtkWidget*:
+ gtk_container_remove( GTK_CONTAINER(gparent_), pChild );
+
+ return next;
+}
+
+} // namespace Menu_Helpers
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/menushell.hg b/libs/gtkmm2/gtk/src/menushell.hg
new file mode 100644
index 0000000000..df1021b65a
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/menushell.hg
@@ -0,0 +1,164 @@
+/* $Id: menushell.hg,v 1.9 2006/06/21 20:04:25 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdk/gdkkeysyms.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/container_p.h)
+_PINCLUDE(gtkmm/menu.h)
+_PINCLUDE(gtkmm/menubar.h)
+_PINCLUDE(gtkmm/window.h)
+
+#include <gtkmm/container.h>
+#include <gtkmm/menu_elems.h>
+#include <glibmm/helperlist.h>
+
+namespace Gtk
+{
+
+class Menu;
+class MenuShell;
+class Window;
+
+namespace Menu_Helpers
+{
+
+/*********************************************************************
+***** List properties
+*********************************************************************/
+
+#m4 include(list.m4)
+ GP_LIST(MenuList,MenuShell,GtkMenuShell,MenuItem,children)
+ GP_LIST_HELPER_NAMESPACE(Menu_Helpers)
+ GP_LIST_ITER(Glib::List_Cpp_Iterator<GtkMenuItem, MenuItem>)
+ virtual void remove(Widget& widget); //custom
+ GP_LIST_END()
+
+} // namespace Menu_Helpers
+
+
+/** The abstract base class for Gtk::Menu and Gtk::MenuBar.
+ * It is a container of Gtk::MenuItem objects arranged in a list which can be navigated, selected, and activated by the user to perform application functions.
+ * It can have a submenu associated with it, allowing for nested hierarchical menus.
+ * You can use append(), prepend() and insert() to add Gtk::MenuItem widgets,
+ * but you will probably find it more convenient to use the STL-style items() interface with the Gtk::Menu_Helpers::MenuElem() class.
+ * @ingroup Widgets
+ * @ingroup Containers
+ * @ingroup Menus
+ */
+class MenuShell : public Container
+{
+ _CLASS_GTKOBJECT(MenuShell,GtkMenuShell,GTK_MENU_SHELL,Gtk::Container,GtkContainer)
+
+public:
+ _CUSTOM_DTOR()
+
+ typedef Menu_Helpers::MenuList MenuList;
+ friend class Menu_Helpers::MenuList;
+
+ _WRAP_METHOD(void append(MenuItem& menu_item), gtk_menu_shell_append)
+ _WRAP_METHOD(void prepend(MenuItem& menu_item), gtk_menu_shell_prepend)
+ _WRAP_METHOD(void insert(MenuItem& menu_item, int position), gtk_menu_shell_insert)
+
+ _WRAP_METHOD(void select_item(MenuItem& menu_item), gtk_menu_shell_select_item)
+ _WRAP_METHOD(void deselect(), gtk_menu_shell_deselect)
+
+ //TODO: Is force_deactivate = false a good default?
+ _WRAP_METHOD(void activate_item(MenuItem& menu_item, bool force_deactivate = false), gtk_menu_shell_activate_item)
+ _WRAP_METHOD(void select_first(bool search_sensitive = true), gtk_menu_shell_select_first)
+ _WRAP_METHOD(void deactivate(), gtk_menu_shell_deactivate)
+ _WRAP_METHOD(void cancel(), gtk_menu_shell_cancel)
+
+ _WRAP_SIGNAL(void deactivate(), "deactivate")
+ _WRAP_SIGNAL(void selection_done(), "selection_done")
+ _WRAP_SIGNAL(gboolean move_selected(int distance), "move-selected", no_default_handler)
+
+ //Keybinding signals:
+ _IGNORE_SIGNAL("move_current")
+ _IGNORE_SIGNAL("activate_current")
+ _IGNORE_SIGNAL("cancel")
+ _IGNORE_SIGNAL("cycle-focus")
+
+ MenuList& items();
+ const MenuList& items() const;
+
+ /**
+ * Initializes menu accelerators.
+ * This method initializes the menu accelerators. Therefore an
+ * AccelGroup object is needed which is stored in each Window object
+ * in the Gtkmm library implementation.
+ *
+ * When using MenuBar and OptionMenu objects this method is called
+ * automatically when the menus are realized. Because most likely the
+ * MenuBar and OptionMenu is attached to a window at this time and
+ * the window object can be found automatically.
+ *
+ * Important note when using popup menus:
+ * If you are using accelerated menu entries inside a popup
+ * menu you have to call the accelerate() method manually. This is
+ * because the popup menu is not connected to any window and the
+ * accelerators should be initialized even before the popup menu is
+ * shown. The right place to call the accelerate() method is right
+ * after the popup menu has been build.
+ *
+ * @param window Window where the menu is shown. Inside this window
+ * the AccelGroup object is stored that will be used to initialize
+ * the accelerators.
+ */
+ void accelerate(Window& window);
+
+ /**
+ * Initializes menu accelerators.
+ * Does the same as the accelerate(Window& window) method. But you can
+ * use any parent widget where the menu is used. This method then gets
+ * the toplevel window using Widget::get_toplevel() and uses this
+ * window for registering the menu accelerators.
+ *
+ * @param parent Parent widget used as starting point for searching
+ * the toplevel window.
+ */
+ void accelerate(Widget& parent);
+
+ _WRAP_METHOD(bool get_take_focus() const, gtk_menu_shell_get_take_focus)
+ _WRAP_METHOD(void set_take_focus(bool take_focus = true), gtk_menu_shell_set_take_focus)
+
+ _WRAP_PROPERTY("take-focus", bool)
+
+protected:
+ MenuShell();
+ _CUSTOM_CTOR_CAST()
+
+private:
+
+#m4begin
+dnl // Override GtkMenuItem::insert, in order to accelerate all menu items automagically.
+ _PUSH(SECTION_PCC_CLASS_INIT_VFUNCS)
+ klass->insert = &insert_vfunc_callback;
+ _SECTION(SECTION_PH_VFUNCS)
+#endif //GLIBMM_VFUNCS_ENABLED //We always need insert_vfunc_callback
+ static void insert_vfunc_callback(GtkMenuShell* self, GtkWidget* child, int position);
+#ifdef GLIBMM_VFUNCS_ENABLED
+ _POP()
+#m4end
+
+ MenuList items_proxy_;
+ Gtk::Window* accel_window_;
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/menutoolbutton.ccg b/libs/gtkmm2/gtk/src/menutoolbutton.ccg
new file mode 100644
index 0000000000..76b1fd7de8
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/menutoolbutton.ccg
@@ -0,0 +1,43 @@
+// -*- c++ -*-
+/* $Id: menutoolbutton.ccg,v 1.1 2004/10/10 20:41:20 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkmenutoolbutton.h>
+
+namespace Gtk
+{
+
+MenuToolButton::MenuToolButton(const Glib::ustring& label)
+:
+ Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ Gtk::ToolButton(Glib::ConstructParams(menutoolbutton_class_.init(), "label", label.c_str(), (char*) 0))
+{
+}
+
+MenuToolButton::MenuToolButton(Widget& icon_widget, const Glib::ustring& label)
+:
+ Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ Gtk::ToolButton(Glib::ConstructParams(menutoolbutton_class_.init(), "icon_widget", (icon_widget).gobj(), "label", label.c_str(), (char*) 0))
+{
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/menutoolbutton.hg b/libs/gtkmm2/gtk/src/menutoolbutton.hg
new file mode 100644
index 0000000000..4990c642cd
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/menutoolbutton.hg
@@ -0,0 +1,86 @@
+/* $Id: menutoolbutton.hg,v 1.2 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* box.h
+ *
+ * Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/toolbutton.h>
+#include <gtkmm/menu.h>
+#include <gtkmm/tooltips.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/toolbutton_p.h)
+
+
+namespace Gtk
+{
+
+/** A Gtk::ToolItem containing a toggle button.
+ *
+ * A MenuToolButton is a Gtk::ToolItem that contains a menu.
+ * @ingroup Widgets
+ */
+class MenuToolButton : public ToolButton
+{
+ _CLASS_GTKOBJECT(MenuToolButton, GtkMenuToolButton, GTK_MENU_TOOL_BUTTON, Gtk::ToolButton, GtkToolButton)
+public:
+
+ /** Creates a new MenuToolButton.
+ */
+ _CTOR_DEFAULT()
+
+ /** Creates a new MenuToolButton from a StockID.
+ *
+ * The MenuToolButton will be created according to the @a stock_id properties.
+ *
+ * @param stock_id The StockID which determines the look of the MenuToolButton.
+ */
+ _WRAP_CTOR(MenuToolButton(const Gtk::StockID& stock_id), gtk_toggle_tool_button_new_from_stock)
+
+ /** Creates a new MenuToolButton with a label.
+ *
+ * The MenuToolButton will have the label @a label.
+ *
+ * @param label The string used to display the label for this MenuToolButton.
+ */
+ explicit MenuToolButton(const Glib::ustring& label);
+
+ /** Creates a new MenuToolButton with an image.
+ *
+ * The MenuToolButton will have the label @a label and an image widget @a icon_widget.
+ *
+ * @param icon_widget The widget placed as the MenuToolButton's icon.
+ * @param label The string used to display the label for this MenuToolButton.
+ */
+ explicit MenuToolButton(Widget& icon_widget, const Glib::ustring& label = Glib::ustring());
+
+ _WRAP_METHOD(void set_menu(Menu& menu), gtk_menu_tool_button_set_menu)
+ _WRAP_METHOD(Menu* get_menu(), gtk_menu_tool_button_get_menu)
+ _WRAP_METHOD(const Menu* get_menu() const, gtk_menu_tool_button_get_menu, constversion)
+
+ _WRAP_METHOD(void set_arrow_tooltip(Tooltips& tooltips, const Glib::ustring& tip_text, const Glib::ustring& tip_private), gtk_menu_tool_button_set_arrow_tooltip, deprecated "Use set_arrow_tooltip_text() or set_arrow_tooltip_markup() instead")
+
+ _WRAP_METHOD(void set_arrow_tooltip_text(const Glib::ustring& text), gtk_menu_tool_button_set_arrow_tooltip_text)
+ _WRAP_METHOD(void set_arrow_tooltip_markup(const Glib::ustring& markup), gtk_menu_tool_button_set_arrow_tooltip_markup)
+
+ _WRAP_SIGNAL(void show_menu(), show_menu)
+ _WRAP_PROPERTY("menu", Menu*)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/messagedialog.ccg b/libs/gtkmm2/gtk/src/messagedialog.ccg
new file mode 100644
index 0000000000..fb34831c7d
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/messagedialog.ccg
@@ -0,0 +1,71 @@
+// -*- c++ -*-
+/* $Id: messagedialog.ccg,v 1.7 2005/02/15 10:52:44 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkmessagedialog.h>
+#include <gtk/gtklabel.h>
+
+
+namespace Gtk
+{
+
+MessageDialog::MessageDialog(const Glib::ustring& message, bool use_markup,
+ MessageType type, ButtonsType buttons,
+ bool modal)
+:
+ _CONSTRUCT("message_type", (GtkMessageType)type, "buttons", (GtkButtonsType)buttons)
+{
+ set_modal(modal);
+ set_message(message, use_markup);
+}
+
+MessageDialog::MessageDialog(Gtk::Window& parent, const Glib::ustring& message, bool use_markup,
+ MessageType type, ButtonsType buttons,
+ bool modal)
+:
+ _CONSTRUCT("message_type", (GtkMessageType)type, "buttons", (GtkButtonsType)buttons)
+{
+ set_modal(modal);
+ set_transient_for(parent);
+ set_message(message, use_markup);
+}
+
+void MessageDialog::set_message(const Glib::ustring& message, bool use_markup)
+{
+ // TODO: GTK+ bug: The label widget is really a <private> struct field.
+ // There should really be a message property.
+
+ if(use_markup)
+ gtk_message_dialog_set_markup(gobj(), message.c_str());
+ else
+ gtk_label_set_text(GTK_LABEL(gobj()->label), message.c_str());
+}
+
+void MessageDialog::set_secondary_text(const Glib::ustring& text, bool use_markup)
+{
+ if(use_markup)
+ gtk_message_dialog_format_secondary_markup(gobj(), text.c_str());
+ else
+ gtk_message_dialog_format_secondary_text(gobj(), text.c_str());
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/messagedialog.hg b/libs/gtkmm2/gtk/src/messagedialog.hg
new file mode 100644
index 0000000000..c2fd33cbcf
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/messagedialog.hg
@@ -0,0 +1,88 @@
+/* $Id: messagedialog.hg,v 1.15 2006/06/20 18:46:59 murrayc Exp $ */
+
+/* messagedialog.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/dialog.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/dialog_p.h)
+
+namespace Gtk
+{
+
+_CC_INCLUDE(gtk/gtktypebuiltins.h)
+_WRAP_ENUM(MessageType, GtkMessageType)
+_WRAP_ENUM(ButtonsType, GtkButtonsType)
+
+
+/** Convenient message window.
+ *
+ * Gtk::MessageDialog presents a dialog with an image representing the type
+ * of message (Error, Question, etc.) alongside some message text. It's
+ * simply a convenience widget; you could construct the equivalent of
+ * Gtk::MessageDialog from Gtk::Dialog without too much effort, but
+ * Gtk::MessageDialog saves typing.
+ *
+ * @ingroup Dialogs
+ */
+class MessageDialog : public Dialog
+{
+ _CLASS_GTKOBJECT(MessageDialog, GtkMessageDialog, GTK_MESSAGE_DIALOG, Gtk::Dialog, GtkDialog)
+ _UNMANAGEABLE
+public:
+ explicit MessageDialog(const Glib::ustring& message, bool use_markup = false, MessageType type = MESSAGE_INFO, ButtonsType buttons = BUTTONS_OK, bool modal = false);
+ MessageDialog(Gtk::Window& parent, const Glib::ustring& message, bool use_markup = false, MessageType type = MESSAGE_INFO, ButtonsType buttons = BUTTONS_OK, bool modal = false);
+ _IGNORE(gtk_message_dialog_new, gtk_message_dialog_new_with_markup)
+
+ _WRAP_METHOD(void set_image(Widget& image), gtk_message_dialog_set_image)
+
+ _WRAP_METHOD(void set_markup(const Glib::ustring& str), gtk_message_dialog_set_markup, deprecated "Use set_message(string, true).")
+
+ /** Sets the primary text of the message dialog.
+ *
+ * @param text The message.
+ * @param use_markup Whether @a message contains pango markup.
+ */
+ void set_message(const Glib::ustring& message, bool use_markup = false);
+ _IGNORE()
+
+ /** Sets the secondary text of the message dialog.
+ * Note that setting a secondary text makes the primary text become bold, unless you have provided explicit markup.
+ *
+ * @newin2p6.
+ *
+ * @param text The message.
+ * @param use_markup Whether @a message contains pango markup.
+ */
+ void set_secondary_text(const Glib::ustring& text, bool use_markup = false);
+ _IGNORE(gtk_message_dialog_format_secondary_text, gtk_message_dialog_format_secondary_markup)
+
+ _WRAP_PROPERTY("message-type", MessageType)
+ _WRAP_PROPERTY("buttons", ButtonsType)
+ _WRAP_PROPERTY("text", Glib::ustring)
+ _WRAP_PROPERTY("use-markup", bool)
+ _WRAP_PROPERTY("secondary-text", Glib::ustring)
+ _WRAP_PROPERTY("secondary-use-markup", bool)
+ _WRAP_PROPERTY("image", Widget*)
+
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/misc.ccg b/libs/gtkmm2/gtk/src/misc.ccg
new file mode 100644
index 0000000000..33d8aaa0f6
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/misc.ccg
@@ -0,0 +1,29 @@
+// -*- c++ -*-
+/* $Id: misc.ccg,v 1.1 2003/01/21 13:40:31 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkmisc.h>
+
+namespace Gtk
+{
+
+} //namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/misc.hg b/libs/gtkmm2/gtk/src/misc.hg
new file mode 100644
index 0000000000..7554cb4277
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/misc.hg
@@ -0,0 +1,61 @@
+/* $Id: misc.hg,v 1.1 2003/01/21 13:40:31 murrayc Exp $ */
+
+/* misc.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/widget.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/widget_p.h)
+
+namespace Gtk
+{
+
+/** A base class for widgets with alignments and padding.
+ *
+ * This is an abstract for a set of utility widgets
+ * that lack a physical window. They do have
+ * alignment and padding within their defined space.
+ *
+ * Without a window, widgets of this type cannot capture events.
+ * To capture events place in Gtk::EventBox.
+ *
+ */
+class Misc : public Widget
+{
+ _CLASS_GTKOBJECT(Misc,GtkMisc,GTK_MISC,Gtk::Widget,GtkWidget)
+protected:
+ _CTOR_DEFAULT
+public:
+
+ _WRAP_METHOD(void set_alignment(float xalign = 0.0, float yalign = 0.5), gtk_misc_set_alignment)
+ _WRAP_METHOD(void set_alignment(AlignmentEnum xalign = Gtk::ALIGN_LEFT, AlignmentEnum yalign = Gtk::ALIGN_CENTER), gtk_misc_set_alignment)
+
+ _WRAP_METHOD(void get_alignment(float& xalign, float& yalign) const, gtk_misc_get_alignment)
+
+ _WRAP_METHOD(void set_padding(int xpad, int ypad), gtk_misc_set_padding)
+ _WRAP_METHOD(void get_padding(int& xpad, int& ypad) const, gtk_misc_get_padding)
+
+ _WRAP_PROPERTY("xalign", float)
+ _WRAP_PROPERTY("yalign", float)
+ _WRAP_PROPERTY("xpad", int)
+ _WRAP_PROPERTY("ypad", int)
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/notebook.ccg b/libs/gtkmm2/gtk/src/notebook.ccg
new file mode 100644
index 0000000000..53bc5c4b59
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/notebook.ccg
@@ -0,0 +1,471 @@
+// -*- c++ -*-
+/* $Id: notebook.ccg,v 1.6 2006/06/16 21:40:01 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtknotebook.h>
+#include <gtkmm/label.h>
+
+//We use a function instead of a static method, so we can make it static, so it is not exported.
+static GtkNotebook* SignalProxy_WindowCreation_gtk_callback(GtkNotebook* /* source */, GtkWidget* page, gint x, gint y, gpointer data)
+{
+ Gtk::Notebook::SlotWindowCreation* the_slot = static_cast<Gtk::Notebook::SlotWindowCreation*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ Gtk::Widget* pCppPage = Glib::wrap(page);
+
+ Gtk::Notebook* pCppNotebookResult = (*the_slot)(pCppPage, x, y);
+ if(pCppNotebookResult)
+ return pCppNotebookResult->gobj();
+ else
+ return 0;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ return 0;
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+static void SignalProxy_WindowCreation_gtk_callback_destroy(void* data)
+{
+ Gtk::Notebook::SlotWindowCreation* the_slot = static_cast<Gtk::Notebook::SlotWindowCreation*>(data);
+ delete the_slot;
+}
+
+
+namespace Gtk
+{
+
+namespace Notebook_Helpers
+{
+
+/**** Gtk::Notebook_Helpers::PageIterator **********************************/
+
+bool PageIterator::equal(const PageIterator& other) const
+{
+ return (node_ == other.node_);
+}
+
+PageIterator::operator bool() const
+{
+ return (node_ != 0);
+}
+
+PageIterator& PageIterator::operator++()
+{
+ g_return_val_if_fail(node_ != 0, *this);
+
+ node_ = node_->next;
+ return *this;
+}
+
+const PageIterator PageIterator::operator++(int)
+{
+ const PageIterator tmp (*this);
+ this->operator++();
+ return tmp;
+}
+
+PageIterator& PageIterator::operator--()
+{
+ if(node_)
+ node_ = node_->prev;
+ else
+ node_ = g_list_last(parent_->gobj()->children);
+
+ return *this;
+}
+
+const PageIterator PageIterator::operator--(int)
+{
+ const PageIterator tmp (*this);
+ this->operator--();
+ return tmp;
+}
+
+
+/*********************************************************************
+***** Page Properties
+*********************************************************************/
+
+int Page::get_page_num() const
+{
+ return g_list_position(parent_->gobj()->children, node_);
+}
+
+Widget* Page::get_child() const
+{
+ return parent_->get_nth_page(get_page_num());
+}
+
+Widget* Page::get_tab_label() const
+{
+ return parent_->get_tab_label(*get_child());
+}
+
+void Page::set_tab_label(Widget& tab_label)
+{
+ parent_->set_tab_label(*get_child(), tab_label);
+}
+
+void Page::set_tab_label_text(const Glib::ustring& tab_text)
+{
+ parent_->set_tab_label_text(*get_child(), tab_text);
+}
+
+Glib::ustring Page::get_tab_label_text() const
+{
+ return parent_->get_tab_label_text(*get_child());
+}
+
+Widget* Page::get_menu_label() const
+{
+ return parent_->get_menu_label(*get_child());
+}
+
+void Page::set_menu_label(Widget& menu_label)
+{
+ parent_->set_menu_label(*get_child(), menu_label);
+}
+
+void Page::set_menu_label_text(const Glib::ustring& menu_text)
+{
+ parent_->set_menu_label_text(*get_child(), menu_text);
+}
+
+Glib::ustring Page::get_menu_label_text() const
+{
+ return parent_->get_menu_label_text(*get_child());
+}
+
+void Page::query_tab_label_packing(bool& expand, bool& fill, PackType& pack_type)
+{
+ parent_->query_tab_label_packing(*get_child(), expand, fill, pack_type);
+}
+
+void Page::set_tab_label_packing(bool expand, bool fill, PackType pack_type)
+{
+ parent_->set_tab_label_packing(*get_child(), expand, fill, pack_type);
+}
+
+/*********************************************************************
+***** List properties
+*********************************************************************/
+PageList::PageList()
+:
+ gparent_ (0)
+{}
+
+PageList::PageList(GtkNotebook* gparent)
+:
+ gparent_ (gparent)
+{}
+
+PageList::PageList(const PageList& src)
+{
+ operator=(src);
+}
+
+PageList& PageList::operator=(const PageList& src)
+{
+ gparent_ = src.gparent_;
+ return *this;
+}
+
+PageList::size_type PageList::max_size() const
+{
+ return G_MAXINT;
+}
+
+bool PageList::empty() const
+{
+ return (gparent_->children == 0);
+}
+
+PageList::size_type PageList::size() const
+{
+ return g_list_length(gparent_->children);
+}
+
+PageList::value_type PageList::front() const
+{
+ return *begin();
+}
+
+PageList::value_type PageList::back() const
+{
+ iterator pend (end());
+ return *--pend;
+}
+
+PageList::value_type PageList::operator[](size_type index) const
+{
+ GList *const node = g_list_nth(gparent_->children, index);
+ g_assert(node != 0);
+
+ return *iterator(Glib::wrap(gparent_), node);
+}
+
+PageList::iterator PageList::insert(PageList::iterator position, const Element& elem)
+{
+ // Get the iterator index, or -1 for end().
+ const int index = (position) ? position->get_page_num() : -1;
+
+ // Give item to GTK+.
+ gtk_notebook_insert_page_menu(gparent_,
+ Glib::unwrap(elem.child_),
+ Glib::unwrap(elem.tab_),
+ Glib::unwrap(elem.menu_),
+ index);
+
+ // Return an iterator pointing to the inserted element.
+ return --position;
+}
+
+void PageList::erase(PageList::iterator start, PageList::iterator stop)
+{
+ while(start != stop)
+ start = erase(start);
+}
+
+PageList::iterator PageList::erase(PageList::iterator position)
+{
+ iterator next (position);
+
+ if(position)
+ {
+ ++next;
+ gtk_container_remove(GTK_CONTAINER(gparent_), position->get_child()->gobj());
+ }
+
+ return next;
+}
+
+void PageList::remove(const_reference child)
+{
+// g_return_if_fail(child.parent_ != 0);
+ gtk_container_remove(GTK_CONTAINER(gparent_), child.get_child()->gobj());
+}
+
+void PageList::remove(Widget& widget)
+{
+ gtk_container_remove(GTK_CONTAINER(gparent_), widget.gobj());
+}
+
+void PageList::reorder(PageList::iterator position, PageList::iterator page)
+{
+ gtk_notebook_reorder_child(gparent(), page->get_child()->gobj(), position->get_page_num());
+}
+
+PageList::iterator PageList::find(int num)
+{
+ if(num < 0) return end();
+ int j = 0;
+ iterator i;
+ for(i = begin(), j = 0; i != end(), j < num; ++i, ++j);
+ return i;
+}
+
+PageList::iterator PageList::find(const_reference c)
+{
+ iterator i = begin();
+ for(i = begin(); i != end() && ((*i).get_child() != c.get_child()); i++);
+ return i;
+}
+
+PageList::iterator PageList::find(Widget& widget)
+{
+ iterator i;
+ for(i = begin(); i != end() && ((*i).get_child() != &widget); i++);
+ return i;
+}
+
+PageList::iterator PageList::find(GtkNotebookPage* page)
+{
+ GList* node = gparent_->children;
+
+ while(node && node->data != page)
+ node = node->next;
+
+ return (node) ? iterator(Glib::wrap(gparent_), node) : end();
+}
+
+void PageList::clear()
+{
+ erase(begin(), end());
+}
+
+PageList::iterator PageList::begin_() const
+{
+ return iterator(Glib::wrap(gparent_), gparent_->children);
+}
+
+PageList::iterator PageList::end_() const
+{
+ return iterator(Glib::wrap(gparent_), 0);
+}
+
+Element::Element(Widget* child, Widget* tab, Widget* menu)
+:
+ child_ (child),
+ tab_ (tab),
+ menu_ (menu)
+{}
+
+Element::Element(Widget& child, Widget& tab, Widget& menu)
+:
+ child_ (&child),
+ tab_ (&tab),
+ menu_ (&menu)
+{}
+
+Element::Element(Widget& child)
+:
+ child_ (&child),
+ tab_ (0),
+ menu_ (0)
+{}
+
+TabElem::TabElem(Widget& child, Widget& tab)
+:
+ Element(&child, &tab, 0)
+{}
+
+TabElem::TabElem(Widget& child, const Glib::ustring& label, bool mnemonic)
+:
+ Element(&child, manage(new Label(label, mnemonic)), 0)
+{}
+
+MenuElem::MenuElem(Widget& child, Widget& menu)
+:
+ Element(&child, 0, &menu)
+{}
+
+} /* namespace Notebook_Helpers */
+
+
+Notebook::PageList::iterator Notebook::get_current()
+{
+ return pages().find(get_current_page());
+}
+
+Notebook::PageList& Notebook::pages()
+{
+ pages_proxy_ = PageList(gobj());
+ return pages_proxy_;
+}
+
+const Notebook::PageList& Notebook::pages() const
+{
+ pages_proxy_ = PageList(const_cast<GtkNotebook*>(gobj()));
+ return pages_proxy_;
+}
+
+/*Widget* Notebook::get_current_page()
+{
+ return get_nth_page(get_current_page_num());
+}*/
+
+int Notebook::prepend_page(Widget& child, const Glib::ustring& tab_label, bool use_mnemonic)
+{
+ Label* pLabel = Gtk::manage( new Label(tab_label, use_mnemonic) );
+ return prepend_page(child, *pLabel);
+}
+
+int Notebook::prepend_page(Widget& child, const Glib::ustring& tab_label, const Glib::ustring& menu_label, bool use_mnemonic)
+{
+ Label* pLabel = Gtk::manage( new Label(tab_label, use_mnemonic) );
+ Label* pLabelMenu = Gtk::manage( new Label(menu_label, use_mnemonic) );
+ return prepend_page(child, *pLabel, *pLabelMenu);
+}
+
+int Notebook::append_page(Widget& child, const Glib::ustring& tab_label, bool use_mnemonic)
+{
+ Label* pLabel = Gtk::manage( new Label(tab_label, use_mnemonic) );
+ return append_page(child, *pLabel);
+}
+
+int Notebook::append_page(Widget& child, const Glib::ustring& tab_label, const Glib::ustring& menu_label, bool use_mnemonic)
+{
+ Label* pLabel = Gtk::manage( new Label(tab_label, use_mnemonic) );
+ Label* pLabelMenu = Gtk::manage( new Label(menu_label, use_mnemonic) );
+ return append_page(child, *pLabel, *pLabelMenu);
+}
+
+int Notebook::insert_page(Widget& child, const Glib::ustring& tab_label, int position, bool use_mnemonic)
+{
+ Label* pLabel = Gtk::manage( new Label(tab_label, use_mnemonic) );
+ return insert_page(child, *pLabel, position);
+}
+
+int Notebook::insert_page(Widget& child, const Glib::ustring& tab_label, const Glib::ustring& menu_label, int position, bool use_mnemonic)
+{
+ Label* pLabel = Gtk::manage( new Label(tab_label, use_mnemonic) );
+ Label* pLabelMenu = Gtk::manage( new Label(menu_label, use_mnemonic) );
+ return insert_page(child, *pLabel, *pLabelMenu, position);
+}
+
+void Notebook::remove_page(Widget& child)
+{
+ int pos = page_num(child);
+ if(pos != -1)
+ remove_page(pos);
+}
+
+void Notebook::query_tab_label_packing(Widget& child, bool& expand, bool& fill, PackType& pack_type)
+{
+ gboolean gexpand = false;
+ gboolean gfill = false;
+ GtkPackType gpack_type = GTK_PACK_START;
+ gtk_notebook_query_tab_label_packing(gobj(), child.gobj(), &gexpand, &gfill, &gpack_type);
+ expand = gexpand;
+ fill = gfill;
+ pack_type = (PackType)gpack_type;
+}
+
+int Notebook::prepend_page(Widget& child)
+{
+ return gtk_notebook_prepend_page(gobj(), child.gobj(), 0 /* see GTK+ docs */);
+}
+
+int Notebook::append_page(Widget& child)
+{
+ return gtk_notebook_append_page(gobj(), child.gobj(), 0 /* see GTK+ docs */);
+}
+
+int Notebook::insert_page(Widget& child, int position)
+{
+ return gtk_notebook_insert_page(gobj(), child.gobj(), 0 /* see GTK+ docs */, position);
+}
+
+typedef sigc::slot<Widget*, int, int> SlotWindowCreation;
+
+void Notebook::set_window_creation_hook(const SlotWindowCreation& slot)
+{
+ SlotWindowCreation* slot_copy = new SlotWindowCreation(slot);
+ gtk_notebook_set_window_creation_hook(&SignalProxy_WindowCreation_gtk_callback, slot_copy, &SignalProxy_WindowCreation_gtk_callback_destroy);
+}
+
+} //namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/notebook.hg b/libs/gtkmm2/gtk/src/notebook.hg
new file mode 100644
index 0000000000..8e96420dc2
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/notebook.hg
@@ -0,0 +1,456 @@
+/* $Id: notebook.hg,v 1.14 2006/07/05 16:59:28 murrayc Exp $ */
+
+/* notebook.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/container.h>
+#include <gtkmm/label.h>
+//#include <gtk/gtknotebook.h>
+#include <glibmm/helperlist.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/container_p.h)
+#m4 _CONVERSION(guint,PositionType,`$2($3)')
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C"
+{
+ typedef struct _GtkNotebookPage GtkNotebookPage;
+}
+#endif //DOXYGEN_SHOULD_SKIP_THIS
+
+namespace Gtk
+{
+
+_CC_INCLUDE(gtk/gtktypebuiltins.h)
+_WRAP_ENUM(NotebookTab, GtkNotebookTab)
+
+
+class Notebook;
+
+namespace Notebook_Helpers
+{
+/*********************************************************************
+***** Elem classes
+*********************************************************************/
+
+class Page;
+
+/* Since the data stored in GtkNotebook's GList is inaccessible
+ * the iterator "PageIterator" has to hold a pointer to the Notebook
+ * that owns the list. "Page" (the value_type of "PageList")
+ * inherits "PageIterator" privately and uses Notebook-API-functions
+ * to retrieve and manipulate data.
+ *
+ * Note that PageIterator uses g_list_* functions just to step through
+ * the children and test for iterator equality instead of simply using
+ * the child index number. This is done because even if you use a
+ * child index number, you would still have to use g_list_length() to
+ * retrieve the number of elements. And using an element index results
+ * in iterators not staying valid on insertion/removal. This would only
+ * lead to fragile and unexpected behaviour.
+ * (Thanks for this explanation, Daniel!)
+ */
+class PageIterator
+{
+public:
+ typedef std::bidirectional_iterator_tag iterator_category;
+ typedef size_t size_type;
+ typedef ptrdiff_t difference_type;
+
+ typedef Page value_type;
+ typedef const Page* pointer;
+ typedef const Page& reference;
+
+ PageIterator(Gtk::Notebook* parent, GList* node) : node_(node), parent_(parent) {}
+ PageIterator() : node_(0), parent_(0) {}
+
+ bool equal(const PageIterator& other) const;
+ operator bool() const;
+
+ PageIterator& operator++();
+ const PageIterator operator++(int);
+
+ PageIterator& operator--();
+ const PageIterator operator--(int);
+
+ inline reference operator*() const;
+ inline pointer operator->() const;
+
+protected:
+ GList* node_;
+ Gtk::Notebook* parent_;
+
+ friend class Gtk::Notebook_Helpers::Page;
+};
+
+/** @relates Gtk::Notebook_Helpers::PageIterator */
+inline bool operator==(const PageIterator& lhs, const PageIterator& rhs)
+ { return lhs.equal(rhs); }
+
+/** @relates Gtk::Notebook_Helpers::PageIterator */
+inline bool operator!=(const PageIterator& lhs, const PageIterator& rhs)
+ { return !lhs.equal(rhs); }
+
+
+// Page is the output class
+class Page : public PageIterator
+{
+protected:
+ Page();
+private:
+ Page& operator=(const Page&);
+
+public:
+ int get_page_num() const;
+ Widget* get_child() const;
+ Widget* get_tab_label() const;
+ void set_tab_label(Widget& tab_label);
+ void set_tab_label_text(const Glib::ustring& tab_text);
+ Glib::ustring get_tab_label_text() const;
+ Widget* get_menu_label() const;
+ void set_menu_label(Widget& menu_label);
+ void set_menu_label_text(const Glib::ustring& menu_text);
+ Glib::ustring get_menu_label_text() const;
+ void query_tab_label_packing(bool& expand, bool& fill, PackType& pack_type);
+ void set_tab_label_packing(bool expand, bool fill, PackType pack_type);
+};
+
+
+// Element is the input class
+class PageList;
+
+class Element
+{
+public:
+ Element(Widget* child, Widget* tab, Widget* menu);
+ Element(Widget& child, Widget& tab, Widget& menu);
+ explicit Element(Widget& child);
+
+protected:
+ friend class PageList;
+ Widget* child_;
+ Widget* tab_;
+ Widget* menu_;
+};
+
+// Just a widget without a tab
+typedef Element WidgetElem;
+
+struct TabElem : public Element
+{
+ TabElem(Widget& child, Widget& tab);
+ TabElem(Widget& child, const Glib::ustring& label, bool mnemonic = false);
+};
+
+struct MenuElem : public Element
+{
+ MenuElem(Widget& child, Widget& menu);
+};
+
+/*********************************************************************
+***** List properties
+*********************************************************************/
+
+/** An STL-style container for pages in a Gtk::Notebook.
+ *
+ */
+class PageList
+{
+public:
+ PageList();
+ explicit PageList(GtkNotebook* gparent);
+ PageList(const PageList& src);
+
+ PageList& operator=(const PageList& src);
+
+ typedef Page value_type;
+ typedef Page& reference;
+ typedef const Page& const_reference;
+
+ typedef PageIterator iterator;
+ typedef Glib::List_ConstIterator<iterator> const_iterator;
+ typedef Glib::List_ReverseIterator<iterator> reverse_iterator;
+ typedef Glib::List_ConstIterator<reverse_iterator> const_reverse_iterator;
+
+ typedef const Element element_type;
+
+ typedef size_t difference_type;
+ typedef size_t size_type;
+
+ inline GtkNotebook* gparent()
+ { return gparent_; }
+ inline const GtkNotebook* gparent() const
+ { return gparent_; }
+
+ size_type size() const;
+
+ size_type max_size() const;
+ bool empty() const;
+
+ inline iterator begin()
+ { return begin_(); }
+ inline iterator end()
+ { return end_(); }
+
+ inline const_iterator begin() const
+ { return const_iterator(begin_()); }
+ inline const_iterator end() const
+ { return const_iterator(end_()); }
+
+ inline reverse_iterator rbegin()
+ { return reverse_iterator(end_()); }
+ inline reverse_iterator rend()
+ { return reverse_iterator(begin_()); }
+
+ inline const_reverse_iterator rbegin() const
+ { return const_reverse_iterator(reverse_iterator(end_())); }
+ inline const_reverse_iterator rend() const
+ { return const_reverse_iterator(reverse_iterator(begin_())); }
+
+ value_type front() const;
+ value_type back() const;
+
+ value_type operator[](size_type l) const;
+
+ iterator insert(iterator position, element_type& e); //custom-implemented.
+
+ template <class InputIterator>
+ inline void insert(iterator position, InputIterator first, InputIterator last)
+ {
+ for(;first != last; ++first)
+ position = insert(position, *first);
+ }
+
+ inline void push_front(element_type& e)
+ { insert(begin(), e); }
+ inline void push_back(element_type& e)
+ { insert(end(), e); }
+
+ void erase(iterator start, iterator stop);
+ iterator erase(iterator);
+ void remove(const_reference child);
+ void remove(Widget& w);
+
+ void reorder(iterator loc, iterator page); // Non-standard
+
+ iterator find(int num);
+ iterator find(const_reference c);
+ iterator find(Widget& w);
+ iterator find(GtkNotebookPage* t);
+
+ inline void pop_front()
+ { erase(begin()); }
+ inline void pop_back()
+ { erase(--end()); }
+
+ void clear();
+
+protected:
+ iterator begin_() const;
+ iterator end_() const;
+
+ GtkNotebook* gparent_;
+};
+
+} /* Notebook_Helpers */
+
+/** Container which shows one of its children at a time, in tabbed windows.
+ *
+ * The Gtk::Notebook widget is a Gtk::Container whose children are pages that
+ * can be switched between using tab labels along one edge.
+ *
+ * You can use the PageList returned by pages() as any normal STL container
+ * to manipulate the pages.
+ *
+ * @ingroup Widgets
+ * @ingroup Containers
+ */
+class Notebook : public Container
+{
+ _CLASS_GTKOBJECT(Notebook,GtkNotebook,GTK_NOTEBOOK,Gtk::Container,GtkContainer)
+ _IGNORE(gtk_notebook_set_homogeneous_tabs, gtk_notebook_set_tab_border, gtk_notebook_set_tab_hborder, gtk_notebook_set_tab_vborder)
+public:
+ typedef Notebook_Helpers::PageList PageList;
+
+ _CTOR_DEFAULT
+
+ _WRAP_METHOD(int prepend_page(Widget& child, Widget& tab_label), gtk_notebook_prepend_page)
+ int prepend_page(Widget& child);
+
+ int prepend_page(Widget& child, const Glib::ustring& tab_label, bool use_mnemonic = false);
+ _WRAP_METHOD(int prepend_page(Widget& child, Widget& tab_label, Widget& menu_label), gtk_notebook_prepend_page_menu)
+ //Ignore the possible-0 menu_label version of this method. It would have the same signature as another method.
+
+ int prepend_page(Widget& child, const Glib::ustring& tab_label, const Glib::ustring& menu_label, bool use_mnemonic);
+
+ _WRAP_METHOD(int append_page(Widget& child, Widget& tab_label), gtk_notebook_append_page)
+ int append_page(Widget& child);
+ int append_page(Widget& child, const Glib::ustring& tab_label, bool use_mnemonic = false);
+
+ _WRAP_METHOD(int append_page(Widget& child, Widget& tab_label, Widget& menu_label), gtk_notebook_append_page_menu)
+ //Ignore the possible-0 menu_label version of this method. It would have the same signature as another method.
+
+ int append_page(Widget& child, const Glib::ustring& tab_label, const Glib::ustring& menu_label, bool use_mnemonic = false);
+
+ _WRAP_METHOD(int insert_page(Widget& child, Widget& tab_label, int position), gtk_notebook_insert_page)
+ int insert_page(Widget& child, int position);
+
+ int insert_page(Widget& child, const Glib::ustring& tab_label, int position, bool use_mnemonic = false);
+ _WRAP_METHOD(int insert_page(Widget& child, Widget& tab_label, Widget& menu_label, int position), gtk_notebook_insert_page_menu)
+ //Ignore the possible-0 menu_label version of this method. It would have the same signature as another method.
+
+ int insert_page(Widget& child, const Glib::ustring& tab_label, const Glib::ustring& menu_label, int position, bool use_mnemonic = false);
+
+ _WRAP_METHOD(void remove_page(int page_num = 0), gtk_notebook_remove_page)
+ void remove_page(Widget& child);
+
+ /** For instance,
+ * Notebook* on_window_creation(Widget* page, int x, int y);
+ */
+ typedef sigc::slot<Notebook*, Widget*, int, int> SlotWindowCreation;
+
+ static void set_window_creation_hook(const SlotWindowCreation& slot);
+ _IGNORE(gtk_notebook_set_window_creation_hook)
+
+ _WRAP_METHOD(void set_group_id(int group_id), gtk_notebook_set_group_id, deprecated)
+ _WRAP_METHOD(int get_group_id() const, gtk_notebook_get_group_id, deprecated)
+
+ //TODO: Use something nicer than void*/gpointer?
+ _WRAP_METHOD(void set_group(void* group), gtk_notebook_set_group)
+ _WRAP_METHOD(void* get_group(), gtk_notebook_get_group)
+ _WRAP_METHOD(const void* get_group() const, gtk_notebook_get_group, constversion)
+
+ _WRAP_METHOD(int get_current_page() const, gtk_notebook_get_current_page)
+ _WRAP_METHOD(Widget* get_nth_page(int page_num), gtk_notebook_get_nth_page)
+ _WRAP_METHOD(const Widget* get_nth_page(int page_num) const, gtk_notebook_get_nth_page, constversion)
+ _WRAP_METHOD(int get_n_pages(), gtk_notebook_get_n_pages, deprecated "Use the const method.")
+ _WRAP_METHOD(int get_n_pages() const, gtk_notebook_get_n_pages)
+ /*Widget* get_current_page();*/ /*inconsistency with set_current_page*/
+ _WRAP_METHOD(int page_num(const Widget& child), gtk_notebook_page_num, deprecated "Use the const method.")
+ _WRAP_METHOD(int page_num(const Widget& child) const, gtk_notebook_page_num)
+
+ _WRAP_METHOD(void set_current_page(int page_num), gtk_notebook_set_current_page)
+ _WRAP_METHOD(void next_page(), gtk_notebook_next_page)
+ _WRAP_METHOD(void prev_page(), gtk_notebook_prev_page)
+
+ _WRAP_METHOD(void set_show_border(bool show_border = true), gtk_notebook_set_show_border)
+
+ _WRAP_METHOD(bool get_show_border() const, gtk_notebook_get_show_border)
+ _WRAP_METHOD(void set_show_tabs(bool show_tabs = true), gtk_notebook_set_show_tabs)
+ _WRAP_METHOD(bool get_show_tabs() const, gtk_notebook_get_show_tabs)
+
+
+ _WRAP_METHOD(void set_tab_pos(PositionType pos), gtk_notebook_set_tab_pos)
+ _WRAP_METHOD(PositionType get_tab_pos() const, gtk_notebook_get_tab_pos)
+
+ _WRAP_METHOD(void set_scrollable(bool scrollable = true), gtk_notebook_set_scrollable)
+ _WRAP_METHOD(bool get_scrollable() const, gtk_notebook_get_scrollable)
+
+ _WRAP_METHOD(void popup_enable(), gtk_notebook_popup_enable)
+
+ _WRAP_METHOD(void popup_disable(), gtk_notebook_popup_disable)
+
+
+ _WRAP_METHOD(Widget* get_tab_label(Widget& child), gtk_notebook_get_tab_label)
+ _WRAP_METHOD(const Widget* get_tab_label(Widget& child) const, gtk_notebook_get_tab_label, constversion)
+ _WRAP_METHOD(void set_tab_label(Widget& child, Widget& tab_label), gtk_notebook_set_tab_label)
+ _WRAP_METHOD(void set_tab_label_text(Widget& child, const Glib::ustring& tab_text), gtk_notebook_set_tab_label_text)
+ _WRAP_METHOD(Glib::ustring get_tab_label_text(Widget& child) const, gtk_notebook_get_tab_label_text)
+ _WRAP_METHOD(Widget* get_menu_label(Widget& child), gtk_notebook_get_menu_label)
+ _WRAP_METHOD(const Widget* get_menu_label(Widget& child) const, gtk_notebook_get_menu_label, constversion)
+ _WRAP_METHOD(void set_menu_label(Widget& child, Widget& menu_label), gtk_notebook_set_menu_label)
+ _WRAP_METHOD(void set_menu_label_text(Widget& child, const Glib::ustring& menu_text), gtk_notebook_set_menu_label_text)
+ _WRAP_METHOD(Glib::ustring get_menu_label_text(Widget& child) const, gtk_notebook_get_menu_label_text)
+ void query_tab_label_packing(Widget& child, bool& expand, bool& fill, PackType& pack_type);
+ _IGNORE(gtk_notebook_query_tab_label_packing)
+ _WRAP_METHOD(void set_tab_label_packing(Widget& child, bool expand, bool fill, PackType pack_type), gtk_notebook_set_tab_label_packing)
+ _WRAP_METHOD(void reorder_child(Widget& child, int position), gtk_notebook_reorder_child)
+
+ _WRAP_METHOD(bool get_tab_reorderable(Widget& child) const, gtk_notebook_get_tab_reorderable)
+ _WRAP_METHOD(void set_tab_reorderable(Widget& child, bool reorderable = true), gtk_notebook_set_tab_reorderable)
+ _WRAP_METHOD(bool get_tab_detachable(Widget& child) const, gtk_notebook_get_tab_detachable)
+ _WRAP_METHOD(void set_tab_detachable(Widget& child, bool detachable = true), gtk_notebook_set_tab_detachable)
+
+
+ PageList::iterator get_current();
+
+ PageList& pages();
+ const PageList& pages() const;
+
+ _WRAP_SIGNAL(void switch_page(GtkNotebookPage* page, guint page_num), "switch_page")
+ _WRAP_SIGNAL(void page_reordered(Widget* page, guint page_num), "page_reordered", no_default_handler)
+ _WRAP_SIGNAL(void page_removed(Widget* page, guint page_num), "page_removed", no_default_handler)
+ _WRAP_SIGNAL(void page_added(Widget* page, guint page_num), "page_added", no_default_handler)
+
+
+ //Key-binding signals:
+ _IGNORE_SIGNAL("move_focus_out")
+ _IGNORE_SIGNAL("select_page")
+ _IGNORE_SIGNAL("focus_tab")
+ _IGNORE_SIGNAL("change_current_page")
+ _IGNORE_SIGNAL("reorder_tab")
+
+ //This doesn't seem generally useful:
+ _IGNORE_SIGNAL("create-window")
+
+
+ _WRAP_PROPERTY("tab-pos", PositionType)
+ _WRAP_PROPERTY("show-tabs", bool)
+ _WRAP_PROPERTY("show-border", bool)
+ _WRAP_PROPERTY("scrollable", bool)
+ _WRAP_PROPERTY("tab-border", guint)
+ _WRAP_PROPERTY("tab-hborder", guint)
+ _WRAP_PROPERTY("tab-vborder", guint)
+ _WRAP_PROPERTY("page", int)
+ _WRAP_PROPERTY("enable-popup", bool)
+ _WRAP_PROPERTY("homogeneous", bool)
+
+protected:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ mutable PageList pages_proxy_;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+};
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+namespace Notebook_Helpers
+{
+
+/**** PageIterator **************************************************/
+
+inline
+PageIterator::reference PageIterator::operator*() const
+{
+ return static_cast<const Page&>(*this);
+}
+
+inline
+PageIterator::pointer PageIterator::operator->() const
+{
+ return static_cast<const Page*>(this);
+}
+
+} /* Notebook_Helpers */
+
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/object.ccg b/libs/gtkmm2/gtk/src/object.ccg
new file mode 100644
index 0000000000..0637f6b72f
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/object.ccg
@@ -0,0 +1,316 @@
+/* $Id: object.ccg,v 1.8 2005/12/10 11:54:53 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/quark.h>
+#include <gtk/gtkobject.h>
+
+
+namespace Gtk
+{
+
+Object::Object(const Glib::ConstructParams& construct_params)
+:
+ Glib::Object(construct_params)
+{
+ gobject_disposed_ = false;
+
+ _init_unmanage(); //We don't like the GTK+ default memory management - we want to be in control._)
+}
+
+Object::Object(GtkObject* castitem)
+:
+ Glib::Object((GObject*) castitem)
+{
+ gobject_disposed_ = false;
+
+ _init_unmanage(); //We don't like the GTK+ default memory management - we want to be in control.
+}
+
+void Object::_init_unmanage(bool /* is_toplevel = false */)
+{
+ //GTKMM_LIFECYCLE
+
+ if(gobject_)
+ {
+ //Glib::Object::Object has already stored a pointer to this C++ instance in the underlying C instance,
+ //and connected a callback which will, in turn, call our destroy_notify_(),
+ //so will will know if GTK+ disposes of the underlying instance.
+
+ // Most GTK+ objects are floating, by default. This means that the container widget controls their lifetime.
+ // We'll change this:
+ if(g_object_is_floating (gobject_)) //Top-level Windows and Dialogs can not be manag()ed, so there is no need to do this.
+ {
+ GLIBMM_DEBUG_REFERENCE(this, gobject_);
+ g_object_ref_sink(gobject_); //Stops it from being floating - we will make this optional ( see Gtk::manage() ),
+
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("gtkmm after sink: C++ instance: %p, C instance: %p, refcount=%d\n", (void*)(Glib::ObjectBase*)this, (void*)gobject_, G_OBJECT(gobject_)->ref_count);
+ g_warning(" c instance gtype: %s\n", G_OBJECT_TYPE_NAME(gobject_));
+ #endif
+
+ referenced_ = true; //Not managed.
+ }
+ else
+ {
+ //This widget is already not floating. It's probably already been added to a GTK+ container, and has just had Glib::wrap() called on it.
+ //It's not floating because containers call g_object_sink() on child widgets to take control of them.
+ //We just ref() it so that we can unref it later.
+ //GLIBMM_DEBUG_REFERENCE(this, gobject_);
+ //g_object_ref(gobject_);
+
+ //Alternatively, it might be a top-level window (e.g. a Dialog). We would then be doing one too-many refs(),
+ //We do an extra unref() in Window::_destroy_c_instance() to take care of that.
+
+ referenced_ = false; //Managed. We should not try to unfloat GtkObjects that we did not instantiate.
+ }
+ }
+}
+
+void Object::_destroy_c_instance()
+{
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Gtk::Object::_destroy_c_instance() this=%10X, gobject_=%10X\n", this, gobject_);
+ if(gobject_)
+ g_warning(" gtypename: %s\n", G_OBJECT_TYPE_NAME(gobject_));
+ #endif
+
+ cpp_destruction_in_progress_ = true;
+
+ // remove our hook.
+ GtkObject* object = gobj();
+
+ if (object)
+ {
+ g_assert(GTK_IS_OBJECT(object));
+
+ disconnect_cpp_wrapper();
+ //Unfortunately this means that our dispose callback will not be called, because the qdata has been removed.
+ //So we'll connect the callback again, just so that gobject_disposed_ gets set for use later in this same method.
+ //See below:
+
+
+ //This probably isn't a problem now:
+ //If we are killing the C++ instance before the C instance, then this might lead to strange behaviour.
+ //If this is a problem, then you'll have to use a managed() object, which will die only upon GTK+'s request.
+
+ //We can't do anything with the gobject_ if it's already been disposed.
+ //This prevents us from unref-ing it again, or destroying it again after GTK+ has told us that it has been disposed.
+ if (!gobject_disposed_)
+ {
+ if(referenced_)
+ {
+ //It's not manage()ed so we just unref to destroy it
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("final unref: gtypename: %s, refcount: %d\n", G_OBJECT_TYPE_NAME(object), ((GObject*)object)->ref_count);
+ #endif
+
+ //Because we called disconnect_cpp_wrapper() our dispose callback will not be called, because the qdata has been removed.
+ //So we'll connect a callback again, just so that gobject_disposed_ gets set for use later in this same method.
+ gulong connection_id_destroy = g_signal_connect (object, "destroy", G_CALLBACK (&callback_destroy_), this);
+
+ GLIBMM_DEBUG_UNREFERENCE(this, object);
+ g_object_unref(object);
+
+ if(!gobject_disposed_) //or if(g_signal_handler_is_connected(object, connection_id_destroy))
+ g_signal_handler_disconnect(object, connection_id_destroy);
+
+ //destroy_notify() should have been called after the final g_object_unref() or gtk_object_destroy(), so gobject_disposed_ should now be true.
+
+ //If the C instance still isn't dead then insist, by calling gtk_object_destroy().
+ //This is necessary because even a manage()d widget is refed when added to a container.
+ // <danielk> That's simply not true. But references might be taken elsewhere,
+ // and gtk_object_destroy() just tells everyone "drop your refs, please!".
+ if (!gobject_disposed_)
+ {
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Gtk::Object::_destroy_c_instance(): Calling gtk_object_destroy(): gobject_=%10X, gtypename=%s\n", object, G_OBJECT_TYPE_NAME(object));
+ #endif
+
+ g_assert(GTK_IS_OBJECT(object));
+ gtk_object_destroy(object); //Container widgets can respond to this.
+ }
+ }
+ else
+ {
+ //It's manag()ed, but the coder decided to delete it before deleting its parent.
+ //That should be OK because the Container can respond to that.
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Gtk::Object::_destroy_c_instance(): Calling gtk_object_destroy(): gobject_=%10X\n", gobject_);
+ #endif
+
+ if (!gobject_disposed_)
+ {
+ g_assert(GTK_IS_OBJECT(object));
+ gtk_object_destroy(object);
+ }
+ }
+ }
+
+ //Glib::Object::~Object() will not g_object_unref() it too. because gobject_ is now 0.
+ }
+}
+
+Object::~Object()
+{
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Gtk::Object::~Object() gobject_=%10X\n", gobject_);
+ #endif
+
+ //This has probably been called already from Gtk::Object::_destroy(), which is called from derived destructors.
+ _destroy_c_instance();
+}
+
+void Object::disconnect_cpp_wrapper()
+{
+ //GTKMM_LIFECYCLE:
+
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Gtk::Object::disconnect_cpp_wrapper() this=%10X, gobject_=%10X\n", this, gobject_);
+ if(gobject_)
+ g_warning(" gtypename: %s\n", G_OBJECT_TYPE_NAME(gobject_));
+ #endif
+
+ if(gobj())
+ {
+ //Prevent gtk vfuncs and default signal handlers from calling our instance methods:
+ g_object_steal_qdata((GObject*)gobj(), Glib::quark_); //It will no longer be possible to get the C++ instance from the C instance.
+
+ //Allow us to prevent generation of a new C++ wrapper during destruction:
+ g_object_set_qdata((GObject*)gobj(), Glib::quark_cpp_wrapper_deleted_, (gpointer)true);
+
+ //Prevent C++ instance from using GTK+ object:
+ gobject_ = 0;
+
+ //TODO: Disconnect any signals, using gtk methods.
+ //We'll have to keep a record of all the connections.
+ }
+}
+
+void Object::destroy_notify_()
+{
+ //Overriden.
+ //GTKMM_LIFECYCLE
+
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Gtk::Object::destroy_notify_: this=%10X, gobject_=%10X\n", this, gobject_);
+ if(gobject_)
+ g_warning(" gtypename=%s\n", G_OBJECT_TYPE_NAME(gobject_));
+ #endif
+
+ //Remember that it's been disposed (which only happens once):
+ //This also stops us from destroying it again in the destructor when it calls destroy_().
+ gobject_disposed_ = true;
+
+ if(!cpp_destruction_in_progress_) //This function might have been called as a side-effect of destroy() when it called gtk_object_destroy().
+ {
+ if (!referenced_) //If it's manage()ed.
+ {
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Gtk::Object::destroy_notify_: before delete this.\n");
+ #endif
+ delete this; //Free the C++ instance.
+ }
+ else //It's not managed, but the C gobject_ just died before the C++ instance..
+ {
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Gtk::Object::destroy_notify_: setting gobject_ to 0\n");
+ #endif
+ gobject_ = 0;
+ }
+ }
+
+}
+
+void Object::destroy_()
+{
+ //Called from destructors.
+ //GTKMM_LIFECYCLE
+
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Gtk::Object::destroy_(): gobject_: %10X\n", gobject_);
+ if(gobject_)
+ g_warning(" gtypename: %s\n", G_OBJECT_TYPE_NAME(gobject_));
+ #endif
+
+ if ( !cpp_destruction_in_progress_ ) //see comment below.
+ {
+ //Prevent destroy_notify_() from running as a possible side-effect of gtk_object_destroy.
+ //We can't predict whether destroy_notify_() will really be run, so we'll disconnect the C++ instance here.
+ cpp_destruction_in_progress_ = true;
+
+ //destroy the C instance:
+ _destroy_c_instance();
+ }
+
+ //The C++ destructor will be reached later. This function was called by a destructor.
+}
+
+void Object::set_manage()
+{
+ //GTKMM_LIFECYCLE
+ //This object will not be unref()ed by gtkmm, though it could be destroyed if the coder deletes the C++ instance early.
+ //This method is overriden in Gtk::Window because they can not be manage()ed.
+
+ if (!referenced_) return; //It's already managed.
+
+ // remove our reference
+ if (gobject_->ref_count >= 1) //This should only happen just after creation. We don't use "==1" because GtkButton starts with a refcount of 2 when using a mnemonic.
+ {
+ //g_warning("Object::set_manage(), making object floating: %s\n", G_OBJECT_TYPE_NAME(gobject_));
+
+ // Cowardly refuse to remove last reference make floating instead. //TODO: What does that comment mean?
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Object::set_manage(): setting GTK_FLOATING: gobject_ = %p", (void*) gobj());
+ g_warning(" gtypename=%s\n", G_OBJECT_TYPE_NAME(gobj()));
+ #endif
+ //deprecated: GTK_OBJECT_SET_FLAGS(gobj(), GTK_FLOATING);
+ g_object_force_floating(gobject_);
+ }
+ else
+ {
+ g_warning("Object::set_manage(). Refcount seems to be 0. %s\n", G_OBJECT_TYPE_NAME(gobject_));
+
+ //DEF_GLIBMM_DEBUG_UNREF(this, gobj())
+ //g_object_unref(gobj());
+ }
+
+ //g_warning("Object::set_manage(): end: %s", G_OBJECT_TYPE_NAME(gobject_));
+ //g_warning(" refcount=%d", G_OBJECT(gobj())->ref_count);
+
+ referenced_ = false;
+}
+
+void Object::callback_destroy_(GObject*, void* data) //static
+{
+ //This is only used for a short time, then disconnected.
+
+ Object* cppObject = static_cast<Object*>(data);
+ if(cppObject) //This will be 0 if the C++ destructor has already run.
+ {
+ cppObject->gobject_disposed_ = true;
+ }
+}
+
+bool Object::is_managed_() const
+{
+ return !referenced_;
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/object.hg b/libs/gtkmm2/gtk/src/object.hg
new file mode 100644
index 0000000000..b90ba00698
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/object.hg
@@ -0,0 +1,114 @@
+/* $Id: object.hg,v 1.5 2006/04/07 14:11:37 gustin Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/object.h>
+#include <gtkmm/base.h>
+#include <gtkmmconfig.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Gtk
+{
+
+class Object;
+
+/** Mark a Gtk::Object as owned by its parent container widget, so you don't need to delete it manually.
+ * For instance,
+ * @code
+ * Gtk::Button* button = Gtk::manage( new Gtk::Button("Hello") );
+ * vbox.pack_start(*button); //vbox will delete button when vbox is deleted.
+ * @endcode
+ *
+ * @param obj A Gtk::Object, such as a gtkmm widget.
+ * @result The Gtk::Object passed as the @a obj parameter.
+ */
+template<class T>
+T* manage(T* obj)
+{
+ obj->set_manage();
+ return obj;
+}
+
+/** Gtk::Object is the base class for all widgets, and for a few non-widget objects such as
+ * Gtk::Adjustment. Gtk::Object predates Glib::Object; non-widgets that derive from Gtk::Object
+ * rather than Glib::Object do so for backward compatibility reasons.
+ *
+ * The most interesting difference between Gtk::Object and Glib::Object is the ability to use Gtk::manage() to delegate memory management to the container widget. Gtk::Objects can also be
+ * explicitly deleted at any time, instead of using only reference-counting, and container widgets
+ * can respond when their child objects are being deleted (for instance by removing the widget).
+ */
+class GTKMM_API Object : public Glib::Object
+{
+ _CLASS_GTKOBJECT(Object,GtkObject,GTK_OBJECT,Glib::Object,GObject)
+ _IGNORE(gtk_object_ref, gtk_object_unref, gtk_object_weakref, gtk_object_weakunref, gtk_object_set_data,
+ gtk_object_set_data_full, gtk_object_remove_data, gtk_object_get_data, gtk_object_remove_no_notify,
+ gtk_object_set_user_data, gtk_object_get_user_data, gtk_object_set_data_by_id, gtk_object_set_data_by_id_full,
+ gtk_object_get_data_by_id, gtk_object_remove_data_by_id, gtk_object_remove_no_notify_by_id, gtk_object_get,
+ gtk_object_set, gtk_object_add_arg_type, gtk_object_destroy, gtk_object_sink)
+ _CUSTOM_DTOR
+ _CUSTOM_CTOR_CAST
+
+public:
+ //void shutdown(); //We probably don't need this.
+ //void finalize(); //We probably don't need this.
+
+ //void set_user_data(gpointer data);
+ //gpointer get_user_data();
+
+ #ifndef DOXYGEN_SHOULD_SKIP_THIS
+ /** Used by Gtk::manage(). You should not need to use this directly.
+ */
+ virtual void set_manage();
+ #endif //DOXYGEN_SHOULD_SKIP_THIS
+
+ _WRAP_PROPERTY("user-data", void*)
+
+ #ifndef DOXYGEN_SHOULD_SKIP_THIS
+ /** Private API.
+ */
+ bool is_managed_() const;
+ #endif //DOXYGEN_SHOULD_SKIP_THIS
+
+protected:
+
+ #ifndef DOXYGEN_SHOULD_SKIP_THIS
+ /** Private API.
+ */
+ void destroy_();
+ #endif //DOXYGEN_SHOULD_SKIP_THIS
+
+ // If you need it, give me an example. murrayc. -- Me too. daniel.
+ //_WRAP_SIGNAL(void destroy(), "destroy")
+ _IGNORE_SIGNAL(destroy)
+
+ #ifndef DOXYGEN_SHOULD_SKIP_THIS
+ void _init_unmanage(bool is_toplevel = false);
+ virtual void destroy_notify_(); //override.
+ void disconnect_cpp_wrapper();
+ void _destroy_c_instance();
+ static void callback_destroy_(GObject* gobject, void* data); //only connected for a short time.
+
+ // set if flags used by derived classes.
+ bool referenced_; // = not managed.
+ bool gobject_disposed_;
+ #endif //DOXYGEN_SHOULD_SKIP_THIS
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/optionmenu.ccg b/libs/gtkmm2/gtk/src/optionmenu.ccg
new file mode 100644
index 0000000000..1ee76a7d72
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/optionmenu.ccg
@@ -0,0 +1,68 @@
+// -*- c++ -*-
+/* $Id: optionmenu.ccg,v 1.6 2004/04/17 14:44:45 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/menu.h>
+#include <gtkmm/window.h>
+#include <gtk/gtkoptionmenu.h>
+
+namespace Gtk
+{
+
+
+OptionMenu::OptionMenu()
+:
+ _CONSTRUCT()
+{
+ // Connect to the signal instead of overriding the on_hierarchy_changed()
+ // method because invocation of C++ default signal handlers is skipped
+ // for gtkmmproc-generated classes (a gtkmm-wide optimization).
+
+ signal_realize().connect(sigc::mem_fun(*this, &OptionMenu::init_accels_handler_));
+}
+
+OptionMenu::~OptionMenu()
+{
+ //GTKMM_LIFECYCLE
+ //Remove the menu so that the Menu forgets about this OptionMenu.
+ //Normally the GtkOptionMenu just destroys the Menu (see gtk_option_menu_destroy),
+ //but we prevent premature destruction in general for all widgets,
+ //so the Menu would survive and remember a dead GtkOptionMenu.
+ remove_menu();
+
+ destroy_();
+}
+
+void OptionMenu::init_accels_handler_()
+{
+ if(gobj())
+ {
+ Window *const toplevel = dynamic_cast<Window*>(get_toplevel());
+ if(toplevel && get_menu())
+ {
+ get_menu()->accelerate(*toplevel);
+ }
+ }
+}
+
+} /* namespace Gtk */
+
+
diff --git a/libs/gtkmm2/gtk/src/optionmenu.hg b/libs/gtkmm2/gtk/src/optionmenu.hg
new file mode 100644
index 0000000000..c673d298ce
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/optionmenu.hg
@@ -0,0 +1,67 @@
+/* $Id: optionmenu.hg,v 1.6 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* optionmenu.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+_CONFIGINCLUDE(gtkmmconfig.h)
+
+#include <gtkmm/button.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/button_p.h)
+
+namespace Gtk
+{
+
+class Menu;
+
+/** A widget used to choose from a list of valid choices.
+ *
+ * A Gtk::OptionMenu is a widget that allows the user to choose from a list
+ * of valid choices. The Gtk::OptionMenu displays the selected choice. When
+ * activated the GtkOptionMenu displays a popup Gtk::Menu which allows the
+ * user to make a new choice.
+ *
+ * @deprecated Use the ComboBox widget instead.
+ */
+class OptionMenu : public Button
+{
+ _CLASS_GTKOBJECT(OptionMenu,GtkOptionMenu,GTK_OPTION_MENU,Gtk::Button,GtkButton)
+ _IS_DEPRECATED
+public:
+
+ OptionMenu();
+ _CUSTOM_DTOR()
+
+ _WRAP_METHOD(void set_menu(Menu& menu), gtk_option_menu_set_menu)
+ _WRAP_METHOD(Menu* get_menu(), gtk_option_menu_get_menu)
+ _WRAP_METHOD(const Menu* get_menu() const, gtk_option_menu_get_menu, constversion)
+ _WRAP_METHOD(void remove_menu(), gtk_option_menu_remove_menu)
+ _WRAP_METHOD(int get_history() const, gtk_option_menu_get_history)
+ _WRAP_METHOD(void set_history(guint index), gtk_option_menu_set_history)
+
+ _WRAP_SIGNAL(void changed(), "changed")
+
+private:
+ void init_accels_handler_();
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/pagesetup.ccg b/libs/gtkmm2/gtk/src/pagesetup.ccg
new file mode 100644
index 0000000000..e09f683da4
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/pagesetup.ccg
@@ -0,0 +1,29 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkpagesetup.h>
+#include <gtk/gtktypebuiltins.h>
+
+namespace Gtk
+{
+
+void PageSetup::save_to_key_file(Glib::KeyFile& key_file)
+{
+ gtk_page_setup_to_key_file(gobj(), (key_file).gobj(), 0);
+}
+
+} //namespace
diff --git a/libs/gtkmm2/gtk/src/pagesetup.hg b/libs/gtkmm2/gtk/src/pagesetup.hg
new file mode 100644
index 0000000000..add5ed2b15
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/pagesetup.hg
@@ -0,0 +1,107 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/object.h>
+#include <gtkmm/enums.h>
+#include <gtkmm/papersize.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Gtk
+{
+
+/** A PageSetup object stores the page size, orientation and margins. You can get one of these from the page setup dialog
+ * and then pass it to the PrintOperation when printing. The benefit of splitting this out of the PrintSettings is that
+ * these affect the actual layout of the page, and thus need to be set long before the user prints.
+ *
+ * The margins specified in this object are the "print margins", i.e. the parts of the page that the printer cannot print
+ * on. These are different from the layout margins that a word processor uses; they are typically used to determine the
+ * minimal size for the layout margins.
+ *
+ * To obtain a PageSetup use PageSetup::create() to get the defaults, or use run_page_setup_dialog() to show the page
+ * setup dialog and receive the resulting page setup.
+ *
+ * @newin2p10
+ *
+ * @ingroup Printing
+ */
+class PageSetup : public Glib::Object
+{
+ _CLASS_GOBJECT(PageSetup, GtkPageSetup, GTK_PAGE_SETUP, Glib::Object, GObject)
+protected:
+ _CTOR_DEFAULT
+
+#if 0 //TODO: Reimplement, or add _construct_from_* functions in GTK+. See bug #475565 .
+GtkPageSetup *gtk_page_setup_new_from_file (const gchar *file_name,
+ GError **error);
+GtkPageSetup *gtk_page_setup_new_from_key_file (GKeyFile *key_file,
+ const gchar *group_name,
+ GError **error);
+#endif
+
+public:
+ _WRAP_CREATE()
+
+ _IGNORE(gtk_page_setup_copy)
+
+ _WRAP_METHOD(PageOrientation get_orientation() const, gtk_page_setup_get_orientation)
+ _WRAP_METHOD(void set_orientation(PageOrientation orientation), gtk_page_setup_set_orientation)
+
+ _WRAP_METHOD(PaperSize get_paper_size(), gtk_page_setup_get_paper_size)
+ _WRAP_METHOD(const PaperSize get_paper_size() const, gtk_page_setup_get_paper_size, constversion)
+ _WRAP_METHOD(void set_paper_size(const PaperSize& paper_size), gtk_page_setup_set_paper_size)
+
+ _WRAP_METHOD(double get_top_margin(Unit unit) const, gtk_page_setup_get_top_margin)
+ _WRAP_METHOD(void set_top_margin(double margin, Unit unit), gtk_page_setup_set_top_margin)
+
+ _WRAP_METHOD(double get_bottom_margin(Unit unit) const, gtk_page_setup_get_bottom_margin)
+ _WRAP_METHOD(void set_bottom_margin(double margin, Unit unit), gtk_page_setup_set_bottom_margin)
+
+ _WRAP_METHOD(double get_left_margin(Unit unit) const, gtk_page_setup_get_left_margin)
+ _WRAP_METHOD(void set_left_margin(double margin, Unit unit), gtk_page_setup_set_left_margin)
+
+ _WRAP_METHOD(double get_right_margin(Unit unit) const, gtk_page_setup_get_right_margin)
+ _WRAP_METHOD(void set_right_margin(double margin, Unit unit), gtk_page_setup_set_right_margin)
+
+ _WRAP_METHOD(void set_paper_size_and_default_margins(const PaperSize& paper_size),
+ gtk_page_setup_set_paper_size_and_default_margins)
+
+ _WRAP_METHOD(double get_paper_width(Unit unit) const, gtk_page_setup_get_paper_width)
+ _WRAP_METHOD(double get_paper_height(Unit unit) const, gtk_page_setup_get_paper_height)
+
+ _WRAP_METHOD(double get_page_width(Unit unit) const, gtk_page_setup_get_page_width)
+ _WRAP_METHOD(double get_page_height(Unit unit) const, gtk_page_setup_get_page_height)
+
+ //The save_ prefix was added to these functions to make them clearer. GTK+ didn't want to change them.
+ _WRAP_METHOD(bool save_to_file(const std::string& file_name) const, gtk_page_setup_to_file, errthrow)
+
+ #m4 _CONVERSION(`Glib::KeyFile&', `GKeyFile*', __FR2P)
+ _WRAP_METHOD(void save_to_key_file(Glib::KeyFile& key_file, const Glib::ustring& group_name), gtk_page_setup_to_key_file)
+
+ /** This function adds the page setup from @a setup to @a key_file,
+ * in the group "Page Setup"
+ *
+ * @newin2p12
+ * @param key_file The G::KeyFile to save the page setup to.
+ */
+ void save_to_key_file(Glib::KeyFile& key_file);
+
+
+};
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/pagesetupunixdialog.ccg b/libs/gtkmm2/gtk/src/pagesetupunixdialog.ccg
new file mode 100644
index 0000000000..840ca1b129
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/pagesetupunixdialog.ccg
@@ -0,0 +1,37 @@
+// -*- c++ -*-
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkpagesetupunixdialog.h>
+
+namespace Gtk
+{
+
+PageSetupUnixDialog::PageSetupUnixDialog(Gtk::Window& parent, const Glib::ustring& title)
+:
+ _CONSTRUCT("title", title.c_str())
+{
+ set_transient_for(parent);
+}
+
+PageSetupUnixDialog::PageSetupUnixDialog(const Glib::ustring& title)
+:
+ _CONSTRUCT("title", title.c_str())
+{
+}
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/pagesetupunixdialog.hg b/libs/gtkmm2/gtk/src/pagesetupunixdialog.hg
new file mode 100644
index 0000000000..cfe47b2d69
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/pagesetupunixdialog.hg
@@ -0,0 +1,60 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/dialog.h>
+#include <gtkmm/pagesetup.h>
+#include <gtkmm/printsettings.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/dialog_p.h)
+
+namespace Gtk
+{
+
+/** PageSetupUnixDialog implements a page setup dialog for platforms
+ * which don't provide a native page setup dialog, like Unix. It can
+ * be used very much like any other GTK+ dialog, at the cost of
+ * the portability offered by the high-level printing API exposed
+ * through PrintOperation.
+ *
+ * @newin2p10
+ *
+ * @ingroup Printing
+ */
+class PageSetupUnixDialog : public Dialog
+{
+ _CLASS_GTKOBJECT(PageSetupUnixDialog, GtkPageSetupUnixDialog, GTK_PAGE_SETUP_UNIX_DIALOG, Gtk::Dialog, GtkDialog)
+ _GTKMMPROC_WIN32_NO_WRAP
+
+public:
+ explicit PageSetupUnixDialog(Gtk::Window& parent, const Glib::ustring& title);
+ explicit PageSetupUnixDialog(const Glib::ustring& title);
+
+ _WRAP_METHOD(void set_page_setup(const Glib::RefPtr<PageSetup>& page_setup), gtk_page_setup_unix_dialog_set_page_setup)
+ _WRAP_METHOD(Glib::RefPtr<PageSetup> get_page_setup(), gtk_page_setup_unix_dialog_get_page_setup, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const PageSetup> get_page_setup() const,
+ gtk_page_setup_unix_dialog_get_page_setup, refreturn, constversion)
+
+ _WRAP_METHOD(void set_print_settings(const Glib::RefPtr<PrintSettings>& print_settings),
+ gtk_page_setup_unix_dialog_set_print_settings)
+ _WRAP_METHOD(Glib::RefPtr<PrintSettings> get_print_settings(),
+ gtk_page_setup_unix_dialog_get_print_settings, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const PrintSettings> get_print_settings() const,
+ gtk_page_setup_unix_dialog_get_print_settings, refreturn, constversion)
+};
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/paned.ccg b/libs/gtkmm2/gtk/src/paned.ccg
new file mode 100644
index 0000000000..a51b092400
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/paned.ccg
@@ -0,0 +1,47 @@
+// -*- c++ -*-
+/* $Id: paned.ccg,v 1.1 2003/01/21 13:40:33 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkpaned.h>
+#include <gtk/gtkhpaned.h>
+#include <gtk/gtkvpaned.h>
+
+namespace Gtk
+{
+
+void Paned::pack1(Widget& child, AttachOptions options)
+{
+ const gboolean resize = ((options & EXPAND) != 0);
+ const gboolean shrink = ((options & SHRINK) != 0);
+
+ gtk_paned_pack1(gobj(), child.gobj(), resize, shrink);
+}
+
+void Paned::pack2(Widget& child, AttachOptions options)
+{
+ const gboolean resize = ((options & EXPAND) != 0);
+ const gboolean shrink = ((options & SHRINK) != 0);
+
+ gtk_paned_pack2(gobj(), child.gobj(), resize, shrink);
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/paned.hg b/libs/gtkmm2/gtk/src/paned.hg
new file mode 100644
index 0000000000..bc325cecd8
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/paned.hg
@@ -0,0 +1,130 @@
+/* $Id: paned.hg,v 1.6 2006/04/12 11:11:25 murrayc Exp $ */
+
+
+/* paned.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/container.h>
+#include <gtkmm/enums.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/container_p.h)
+
+
+namespace Gtk
+{
+
+/** This is the base class for widgets with two panes, arranged either
+ * horizontally (Gtk::HPaned) or vertically (Gtk::VPaned).
+ *
+ * Child widgets are added to the panes of the widget with pack1() and pack2().
+ * The division beween the two children is set by default from the size
+ * requests of the children, but it can be adjusted by the user.
+ *
+ * A paned widget draws a separator between the two child widgets and a small
+ * handle that the user can drag to adjust the division. It does not draw any
+ * relief around the children or around the separator. Often, it is useful to
+ * put each child inside a Gtk::Frame with the shadow type set to Gtk::SHADOW_IN
+ * so that the gutter appears as a ridge.
+ *
+ * Each child has two options that can be set - resize and shrink. If resize is
+ * true, then when the GtkPaned is resized, that child will expand or shrink
+ * along with the paned widget. If shrink is true, then when that child can be
+ * made smaller than it's requisition. Setting shrink to false allows the
+ * application to set a minimum size. If resize is false for both children,
+ * then this is treated as if resize is true for both children.
+ *
+ * The application can set the position of the slider as if it were set by the
+ * user, by calling set_position().
+ *
+ * @ingroup Widgets
+ * @ingroup Containers
+ */
+class Paned : public Container
+{
+ _CLASS_GTKOBJECT(Paned,GtkPaned,GTK_PANED,Gtk::Container,GtkContainer)
+ _IGNORE(gtk_paned_compute_position)
+
+public:
+ _CTOR_DEFAULT()
+
+ _WRAP_METHOD(void add1(Widget& child), gtk_paned_add1)
+ _WRAP_METHOD(void add2(Widget& child), gtk_paned_add2)
+
+ _WRAP_METHOD(void pack1(Widget& child, bool resize, bool shrink), gtk_paned_pack1)
+ void pack1(Widget& child, AttachOptions options = Gtk::EXPAND);
+
+ _WRAP_METHOD(void pack2(Widget& child, bool resize, bool shrink), gtk_paned_pack2)
+ void pack2(Widget& child, AttachOptions options = Gtk::EXPAND);
+
+ _WRAP_METHOD(int get_position() const, gtk_paned_get_position)
+ _WRAP_METHOD(void set_position(int position), gtk_paned_set_position)
+
+ _WRAP_METHOD(Widget* get_child1(), gtk_paned_get_child1)
+ _WRAP_METHOD(const Widget* get_child1() const, gtk_paned_get_child1, constversion)
+
+ _WRAP_METHOD(Widget* get_child2(), gtk_paned_get_child2)
+ _WRAP_METHOD(const Widget* get_child2() const, gtk_paned_get_child2, constversion)
+
+ //Keybinding signals:
+ _IGNORE_SIGNAL("toggle_handle_focus")
+ _IGNORE_SIGNAL("move_handle")
+ _IGNORE_SIGNAL("cycle_handle_focus")
+ _IGNORE_SIGNAL("accept_position")
+ _IGNORE_SIGNAL("cancel_position")
+ _IGNORE_SIGNAL("cycle_child_focus")
+
+
+ _WRAP_PROPERTY("position", int)
+ _WRAP_PROPERTY("position-set", bool)
+ _WRAP_PROPERTY("min-position", int)
+ _WRAP_PROPERTY("max-position", int)
+};
+
+/**
+ * The Gtk::HPaned widget is a container widget with two children arranged
+ * horizontally. The division between the two panes is adjustable by the
+ * user by dragging a handle. See Gtk::Paned for details.
+ *
+ * @ingroup Widgets
+ */
+class HPaned : public Paned
+{
+ _CLASS_GTKOBJECT(HPaned,GtkHPaned,GTK_HPANED,Gtk::Paned,GtkPaned)
+public:
+ _CTOR_DEFAULT()
+};
+
+/**
+ * The Gtk::VPaned widget is a container widget with two children arranged
+ * horizontally. The division between the two panes is adjustable by the
+ * user by dragging a handle. See Gtk::Paned for details.
+ *
+ * @ingroup Widgets
+ */
+class VPaned : public Paned
+{
+ _CLASS_GTKOBJECT(VPaned,GtkVPaned,GTK_VPANED,Gtk::Paned,GtkPaned)
+public:
+ _CTOR_DEFAULT()
+
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/papersize.ccg b/libs/gtkmm2/gtk/src/papersize.ccg
new file mode 100644
index 0000000000..37e9fe4ddb
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/papersize.ccg
@@ -0,0 +1,74 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkpapersize.h>
+#include <gtk/gtktypebuiltins.h>
+
+namespace Gtk
+{
+
+//PaperSize::PaperSize()
+//:
+// gobject_(gtk_paper_size_new(gtk_paper_size_get_default()))
+//{}
+
+PaperSize::PaperSize(const Glib::ustring& name)
+:
+ gobject_(gtk_paper_size_new(name.c_str()))
+{}
+
+PaperSize::PaperSize(const Glib::ustring& ppd_name, const Glib::ustring& ppd_display_name, double width, double height)
+:
+ gobject_(gtk_paper_size_new_from_ppd(ppd_name.c_str(),
+ ppd_display_name.c_str(),
+ gdouble(width),
+ gdouble(height)))
+{}
+
+PaperSize::PaperSize(const Glib::ustring& name, const Glib::ustring& display_name, double width, double height, Unit unit)
+:
+ gobject_(gtk_paper_size_new_custom(name.c_str(),
+ display_name.c_str(),
+ gdouble(width),
+ gdouble(height),
+ GtkUnit(unit)))
+{}
+
+//TODO: Add an operator bool() so we can detect if this succeeded:
+PaperSize::PaperSize(const Glib::KeyFile& key_file, const Glib::ustring& group_name)
+:
+ gobject_(gtk_paper_size_new_from_key_file(const_cast<GKeyFile*>(key_file.gobj()), (group_name.empty() ? NULL : group_name.c_str()) , NULL /* GError */))
+{}
+
+bool PaperSize::equal(const PaperSize& other) const
+{
+ return (static_cast<bool>(gtk_paper_size_is_equal(const_cast<GtkPaperSize*>(this->gobj()),
+ const_cast<GtkPaperSize*>(other.gobj()))));
+}
+
+PaperSize::operator bool() const
+{
+ return (gobj() != NULL);
+}
+
+void PaperSize::save_to_key_file(Glib::KeyFile& key_file)
+{
+ gtk_paper_size_to_key_file( gobj(), (key_file).gobj(), 0);
+}
+
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/papersize.hg b/libs/gtkmm2/gtk/src/papersize.hg
new file mode 100644
index 0000000000..3c421b3feb
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/papersize.hg
@@ -0,0 +1,108 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(gtkmm,gtk)
+
+namespace Gtk
+{
+
+/** Common paper names, from PWG 5101.1-2002 PWG: Standard for Media Standardized Names
+ *
+ */
+const Glib::ustring PAPER_NAME_A3 = "iso_a3";
+const Glib::ustring PAPER_NAME_A4 = "iso_a4";
+const Glib::ustring PAPER_NAME_A5 = "iso_a5";
+const Glib::ustring PAPER_NAME_B5 = "iso_b5";
+const Glib::ustring PAPER_NAME_LETTER = "na_letter";
+const Glib::ustring PAPER_NAME_EXECUTIVE = "na_executive";
+const Glib::ustring PAPER_NAME_LEGAL = "na_legal";
+
+_WRAP_ENUM(Unit, GtkUnit)
+
+/** PaperSize handles paper sizes. It uses the standard called "PWG 5101.1-2002 PWG: Standard for Media Standardized Names"
+ * to name the paper sizes (and to get the data for the page sizes). In addition to standard paper sizes, PaperSize allows
+ * to construct custom paper sizes with arbitrary dimensions.
+ *
+ * The PaperSize object stores not only the dimensions (width and height) of a paper size and its name, it also provides
+ * default print margins.
+ *
+ * @newin2p10
+ *
+ * @ingroup Printing
+ */
+class PaperSize
+{
+ // Cannot pass the _new function here, it must accept the 'name' argument.
+ _CLASS_BOXEDTYPE(PaperSize, GtkPaperSize, NONE, gtk_paper_size_copy, gtk_paper_size_free)
+public:
+ // Allowing no argument works because gtk_paper_size_new() will call
+ // gtk_paper_size_get_default() in case of NULL.
+ /// If a name is not specified, a default value will be used.
+ explicit PaperSize(const Glib::ustring& name = "");
+ explicit PaperSize(const Glib::ustring& ppd_name, const Glib::ustring& ppd_display_name, double width, double height);
+ explicit PaperSize(const Glib::ustring& name, const Glib::ustring& display_name, double width, double height, Unit unit);
+
+ explicit PaperSize(const Glib::KeyFile& key_file, const Glib::ustring& group_name = Glib::ustring());
+
+ _IGNORE(gtk_paper_size_copy, gtk_paper_size_free, gtk_paper_size_is_equal)
+ bool equal(const PaperSize& other) const;
+
+ /** Returns true if the PaperSize is a valid object.
+ * @newin2p12
+ */
+ operator bool() const;
+
+ //TODO: Check this conversion and type:
+ #m4 _CONVERSION(`GList*', `Glib::ListHandle<PaperSize>', `$2($3, Glib::OWNERSHIP_DEEP)')
+ //TODO: _WRAP_METHOD(static Glib::ListHandle<PaperSize> get_paper_sizes(bool include_custom = true) const, gtk_paper_size_get_paper_sizes)
+
+ _WRAP_METHOD(Glib::ustring get_name() const, gtk_paper_size_get_name)
+ _WRAP_METHOD(Glib::ustring get_display_name() const, gtk_paper_size_get_display_name)
+ _WRAP_METHOD(Glib::ustring get_ppd_name() const, gtk_paper_size_get_ppd_name)
+
+ _WRAP_METHOD(double get_width(Unit unit) const, gtk_paper_size_get_width)
+ _WRAP_METHOD(double get_height(Unit unit) const, gtk_paper_size_get_height)
+ _WRAP_METHOD(bool is_custom() const, gtk_paper_size_is_custom)
+
+ _WRAP_METHOD(void set_size(double width, double height, Unit unit), gtk_paper_size_set_size)
+ _WRAP_METHOD(double get_default_top_margin(Unit unit) const, gtk_paper_size_get_default_top_margin)
+ _WRAP_METHOD(double get_default_bottom_margin(Unit unit) const, gtk_paper_size_get_default_bottom_margin)
+ _WRAP_METHOD(double get_default_left_margin(Unit unit) const, gtk_paper_size_get_default_left_margin)
+ _WRAP_METHOD(double get_default_right_margin(Unit unit) const, gtk_paper_size_get_default_right_margin)
+
+ _WRAP_METHOD(static Glib::ustring get_default(), gtk_paper_size_get_default)
+
+ #m4 _CONVERSION(`Glib::KeyFile&', `GKeyFile*', __FR2P)
+ _WRAP_METHOD(void save_to_key_file(Glib::KeyFile& key_file, const Glib::ustring& group_name), gtk_paper_size_to_key_file)
+
+ /** This function adds the paper size to @a key_file in the first group.
+ *
+ * @newin2p12
+ * @param key_file The Glib::KeyFile to save the paper size to.
+ */
+ void save_to_key_file(Glib::KeyFile& key_file);
+};
+
+/** @relates Gtk::PaperSize */
+inline bool operator==(const PaperSize& lhs, const PaperSize& rhs)
+ { return lhs.equal(rhs); }
+
+/** @relates Gtk::PaperSize */
+inline bool operator!=(const PaperSize& lhs, const PaperSize& rhs)
+ { return !lhs.equal(rhs); }
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/plug.ccg b/libs/gtkmm2/gtk/src/plug.ccg
new file mode 100644
index 0000000000..df414eb332
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/plug.ccg
@@ -0,0 +1,50 @@
+// -*- c++ -*-
+/* $Id: plug.ccg,v 1.2 2005/01/25 16:16:33 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkplug.h>
+
+namespace Gtk
+{
+
+Plug::Plug()
+:
+ _CONSTRUCT()
+{
+ gtk_plug_construct(gobj(), 0);
+}
+
+Plug::Plug(GdkNativeWindow socket_id)
+:
+ _CONSTRUCT()
+{
+ gtk_plug_construct(gobj(), socket_id);
+}
+
+Plug::Plug(const Glib::RefPtr<Gdk::Display>& display, GdkNativeWindow socket_id)
+:
+ _CONSTRUCT()
+{
+ gtk_plug_construct_for_display(gobj(), Glib::unwrap(display), socket_id);
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/plug.hg b/libs/gtkmm2/gtk/src/plug.hg
new file mode 100644
index 0000000000..13d136f833
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/plug.hg
@@ -0,0 +1,43 @@
+/* $Id: plug.hg,v 1.2 2005/01/25 16:16:33 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/window.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/window_p.h)
+
+namespace Gtk
+{
+
+class Plug : public Window
+{
+ _CLASS_GTKOBJECT(Plug, GtkPlug, GTK_PLUG, Gtk::Window, GtkWindow)
+ _IGNORE(gtk_plug_construct, gtk_plug_construct_for_display, _gtk_plug_add_to_socket, _gtk_plug_remove_from_socket)
+ _GTKMMPROC_WIN32_NO_WRAP
+public:
+ Plug();
+ explicit Plug(GdkNativeWindow socket_id);
+ explicit Plug(const Glib::RefPtr<Gdk::Display>& display, GdkNativeWindow socket_id);
+
+ _WRAP_METHOD(GdkNativeWindow get_id() const, gtk_plug_get_id)
+
+ _WRAP_SIGNAL(void embedded(), "embedded")
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/printcontext.ccg b/libs/gtkmm2/gtk/src/printcontext.ccg
new file mode 100644
index 0000000000..f28d7f08bf
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/printcontext.ccg
@@ -0,0 +1,24 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkprintcontext.h>
+
+namespace Gtk
+{
+
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/printcontext.hg b/libs/gtkmm2/gtk/src/printcontext.hg
new file mode 100644
index 0000000000..1c12a89aee
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/printcontext.hg
@@ -0,0 +1,77 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/object.h>
+
+#include <cairomm/context.h>
+
+#include <pangomm/fontmap.h>
+#include <pangomm/context.h>
+#include <pangomm/layout.h>
+
+#include <gtkmm/pagesetup.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Gtk
+{
+
+/** A PrintContext encapsulates context information that is required when
+ * drawing pages for printing, such as the cairo context and important
+ * parameters like page size and resolution. It also lets you easily
+ * create Pango::Layout and Pango::Context objects that match the font metrics
+ * of the cairo surface.
+ *
+ * PrintContext objects gets passed to the begin-print, end-print,
+ * request-page-setup and draw-page signals on the PrintOperation.
+ *
+ * @newin2p10
+ *
+ * @ingroup Printing
+ */
+class PrintContext : public Glib::Object
+{
+ _CLASS_GOBJECT(PrintContext, GtkPrintContext, GTK_PRINT_CONTEXT, Glib::Object, GObject)
+
+public:
+
+ #m4 _CONVERSION(`cairo_t*',`Cairo::RefPtr<Cairo::Context>',`Cairo::RefPtr<Cairo::Context>(new Cairo::Context($3, false /* take ref */))')
+ #m4 _CONVERSION(`cairo_t*',`Cairo::RefPtr<const Cairo::Context>',`Cairo::RefPtr<Cairo::Context>(new Cairo::Context($3, false /* take ref */))')
+ _WRAP_METHOD(Cairo::RefPtr<Cairo::Context> get_cairo_context(), gtk_print_context_get_cairo_context)
+ _WRAP_METHOD(Cairo::RefPtr<const Cairo::Context> get_cairo_context() const, gtk_print_context_get_cairo_context, constversion)
+
+ _WRAP_METHOD(Glib::RefPtr<PageSetup> get_page_setup(), gtk_print_context_get_page_setup, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const PageSetup> get_page_setup() const, gtk_print_context_get_page_setup, refreturn, constversion)
+
+ _WRAP_METHOD(double get_width() const, gtk_print_context_get_width)
+ _WRAP_METHOD(double get_height() const, gtk_print_context_get_height)
+
+ _WRAP_METHOD(double get_dpi_x() const, gtk_print_context_get_dpi_x)
+ _WRAP_METHOD(double get_dpi_y() const, gtk_print_context_get_dpi_y)
+
+ _WRAP_METHOD(Glib::RefPtr<Pango::FontMap> get_pango_fontmap(), gtk_print_context_get_pango_fontmap, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Pango::FontMap> get_pango_fontmap() const, gtk_print_context_get_pango_fontmap, refreturn, constversion)
+
+ _WRAP_METHOD(Glib::RefPtr<Pango::Context> create_pango_context(), gtk_print_context_create_pango_context, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<Pango::Layout> create_pango_layout(), gtk_print_context_create_pango_layout, refreturn)
+
+ _WRAP_METHOD(void set_cairo_context(const Cairo::RefPtr<Cairo::Context>& cr, double dpi_x, double dpi_y), gtk_print_context_set_cairo_context)
+
+};
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/printer.ccg b/libs/gtkmm2/gtk/src/printer.ccg
new file mode 100644
index 0000000000..d3a46dae8b
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/printer.ccg
@@ -0,0 +1,71 @@
+// -*- c++ -*-
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkprinter.h>
+
+// This Signal Proxy allows the C++ coder to specify a sigc::slot instead of a static function.
+
+static gboolean SignalProxy_Custom_gtk_callback(GtkPrinter* gtk_printer, gpointer data)
+{
+ const Gtk::SlotPrinterEnumerator* the_slot = static_cast<Gtk::SlotPrinterEnumerator*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Create a suitable C++ instance to pass to the C++ method;
+ Glib::RefPtr<Gtk::Printer> printer = Glib::wrap(gtk_printer);
+
+ return (*the_slot)(printer);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ return false; // arbitrary default;
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+static void SignalProxy_Custom_gtk_callback_destroy(void* data)
+{
+ delete static_cast<Gtk::SlotPrinterEnumerator*>(data);
+}
+
+namespace Gtk
+{
+
+bool Printer::equal(const Glib::RefPtr<Printer>& other) const
+{
+ return (static_cast<bool>(gtk_printer_compare(const_cast<GtkPrinter*>(this->gobj()),
+ const_cast<GtkPrinter*>(other->gobj()))));
+}
+
+void enumerate_printers(const SlotPrinterEnumerator& slot, bool wait)
+{
+ // Create a copy of the slot. A pointer to this will be passed through the callback's data parameter.
+ // It will be deleted when SignalProxy_Custom_gtk_callback_destroy() is called.
+ SlotPrinterEnumerator* slot_copy = new SlotPrinterEnumerator(slot);
+
+ gtk_enumerate_printers(&SignalProxy_Custom_gtk_callback,
+ slot_copy,
+ &SignalProxy_Custom_gtk_callback_destroy,
+ static_cast<int>(wait));
+}
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/printer.hg b/libs/gtkmm2/gtk/src/printer.hg
new file mode 100644
index 0000000000..a8063ae3a9
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/printer.hg
@@ -0,0 +1,125 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/pagesetup.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Gtk
+{
+
+_WRAP_ENUM(PrintCapabilities, GtkPrintCapabilities)
+
+/** A Printer object represents a printer. You only need to deal directly with printers if you use the
+ * non-portable PrintUnixDialog API.
+ *
+ * A Printer object allows to get status information about the printer, such as its description, its location,
+ * the number of queued jobs, etc. Most importantly, a Printer object can be used to create a PrintJob object,
+ * which lets you print to the printer.
+ *
+ * @newin2p10
+ *
+ * @ingroup Printing
+ */
+class Printer : public Glib::Object
+{
+ _CLASS_GOBJECT(Printer, GtkPrinter, GTK_PRINTER, Glib::Object, GObject)
+ _GTKMMPROC_WIN32_NO_WRAP
+
+public:
+ //TODO: _WRAP_CREATE() - probably not, it's only accessible through PrintUnixDialog + GtkPrintBackend should be ignored
+ //TODO: I think these are not needed as well, and that Printer should generally be read-only - marko.
+ _IGNORE(gtk_printer_is_new, gtk_printer_set_state_message, gtk_printer_set_is_default)
+ _IGNORE(gtk_printer_set_is_active, gtk_printer_set_has_details, gtk_printer_set_description)
+ _IGNORE(gtk_printer_set_icon_name, gtk_printer_set_job_count, gtk_printer_set_is_new, gtk_printer_set_location)
+
+ bool equal(const Glib::RefPtr<Printer>& other) const;
+
+ //GtkPrintBackend is in a "semi-private" header.
+ //_WRAP_METHOD(Glib::RefPtr<PrintBackend> get_backend(), gtk_printer_get_backend, refreturn)
+ //_WRAP_METHOD(Glib::RefPtr<const PrintBackend> get_backend() const, gtk_printer_get_backend, refreturn, constversion)
+ _IGNORE(gtk_printer_new, gtk_printer_get_backend)
+
+ _WRAP_METHOD(Glib::ustring get_name() const, gtk_printer_get_name)
+ _WRAP_METHOD(Glib::ustring get_state_message() const, gtk_printer_get_state_message)
+ _WRAP_METHOD(Glib::ustring get_description() const, gtk_printer_get_description)
+ _WRAP_METHOD(Glib::ustring get_location() const, gtk_printer_get_location)
+ _WRAP_METHOD(Glib::ustring get_icon_name() const, gtk_printer_get_icon_name)
+ _WRAP_METHOD(int get_job_count() const, gtk_printer_get_job_count)
+ _WRAP_METHOD(bool is_active() const, gtk_printer_is_active)
+ _WRAP_METHOD(bool is_virtual() const, gtk_printer_is_virtual)
+ _WRAP_METHOD(bool is_default() const, gtk_printer_is_default)
+ _WRAP_METHOD(bool accepts_pdf() const, gtk_printer_accepts_pdf)
+ _WRAP_METHOD(bool accepts_ps() const, gtk_printer_accepts_ps)
+
+#m4 _CONVERSION(`GList*', `Glib::ListHandle< Glib::RefPtr<PageSetup> >', __FL2H_DEEP)
+ _WRAP_METHOD(Glib::ListHandle< Glib::RefPtr<PageSetup> > list_papers(), gtk_printer_list_papers)
+
+#m4 _CONVERSION(`GList*', `Glib::ListHandle< Glib::RefPtr<const PageSetup> >', __FL2H_DEEP)
+ _WRAP_METHOD(Glib::ListHandle< Glib::RefPtr<const PageSetup> > list_papers() const, gtk_printer_list_papers)
+
+ _IGNORE(gtk_printer_compare)
+ _IGNORE(gtk_enumerate_printers)
+
+ _WRAP_METHOD(bool has_details() const, gtk_printer_has_details)
+ _WRAP_METHOD(void request_details(), gtk_printer_request_details)
+ _WRAP_METHOD(PrintCapabilities get_capabilities() const, gtk_printer_get_capabilities)
+
+
+ _WRAP_SIGNAL(void details_acquired(bool success), "details_acquired")
+
+ _WRAP_PROPERTY("name", Glib::ustring)
+
+ //GtkPrintBackend is in a "semi-private" header:
+ //_WRAP_PROPERTY("backend", Glib::RefPtr<PrintBackend>)
+
+ _WRAP_PROPERTY("is_virtual", bool)
+ _WRAP_PROPERTY("state_message", Glib::ustring)
+ _WRAP_PROPERTY("location", Glib::ustring)
+ _WRAP_PROPERTY("icon_name", Glib::ustring)
+ _WRAP_PROPERTY("job_count", int)
+ _WRAP_PROPERTY("accepts-pdf", bool)
+ _WRAP_PROPERTY("accepts-ps", bool)
+};
+
+/** @relates Gtk::Printer */
+inline bool operator==(const Glib::RefPtr<Printer>& lhs, const Glib::RefPtr<Printer>& rhs)
+ { return lhs->equal(rhs); }
+
+/** @relates Gtk::Printer */
+inline bool operator!=(const Glib::RefPtr<Printer>& lhs, const Glib::RefPtr<Printer>& rhs)
+ { return !lhs->equal(rhs); }
+
+/** For example,
+ * bool on_enumerate_printers(const Glib::RefPtr<Printer>& printer);
+ * @param printer A printer.
+ * @param result true to stop the enumeration, false to continue.
+ *
+ * @relates Gtk::Printer
+ */
+typedef sigc::slot< bool, const Glib::RefPtr<Printer>& > SlotPrinterEnumerator;
+
+/** Calls a function for all Printers. If the callback returns true, the enumeration is stopped.
+ * @slot A function to call for each printer
+ * @parm wait If true, wait in a recursive mainloop until all printers are enumerated; otherwise return early.
+ *
+ * @relates Gtk::Printer
+ */
+void enumerate_printers(const SlotPrinterEnumerator& slot, bool wait = true);
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/printjob.ccg b/libs/gtkmm2/gtk/src/printjob.ccg
new file mode 100644
index 0000000000..45d0c843f9
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/printjob.ccg
@@ -0,0 +1,70 @@
+// -*- c++ -*-
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkprintjob.h>
+#include <gtk/gtktypebuiltins.h>
+
+// This Signal Proxy allows the C++ coder to specify a sigc::slot instead of a static function.
+
+static void SignalProxy_Custom_gtk_callback(GtkPrintJob* print_job, gpointer data, GError* gerror)
+{
+ const Gtk::PrintJob::SlotPrintJobComplete* the_slot = static_cast<Gtk::PrintJob::SlotPrintJobComplete*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ // Create a suitable C++ instance to pass to the C++ method;
+ Glib::RefPtr<Gtk::PrintJob> job = Glib::wrap(print_job);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if (gerror) Glib::Error::throw_exception(gerror);
+ (*the_slot)(job);
+ #else
+ std::auto_ptr<Glib::Error> error = Glib::Error::throw_exception(gerror);
+ (*the_slot)(job, error);
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+static void SignalProxy_Custom_gtk_callback_destroy(void* data)
+{
+ delete static_cast<Gtk::PrintJob::SlotPrintJobComplete*>(data);
+}
+
+namespace Gtk
+{
+
+void PrintJob::send(const SlotPrintJobComplete& slot)
+{
+ // Create a copy of the slot. A pointer to this will be passed through the callback's data parameter.
+ // It will be deleted when SignalProxy_Custom_gtk_callback_destroy() is called.
+ SlotPrintJobComplete* slot_copy = new SlotPrintJobComplete(slot);
+
+ gtk_print_job_send(gobj(), &SignalProxy_Custom_gtk_callback, slot_copy, &SignalProxy_Custom_gtk_callback_destroy);
+}
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/printjob.hg b/libs/gtkmm2/gtk/src/printjob.hg
new file mode 100644
index 0000000000..830327336b
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/printjob.hg
@@ -0,0 +1,102 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/object.h>
+#include <gtkmm/pagesetup.h>
+#include <gtkmm/printer.h>
+#include <gtkmm/printoperation.h>
+#include <gtkmm/printsettings.h>
+#include <cairomm/surface.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Gtk
+{
+
+/** A PrintJob object represents a job that is sent to a printer. You only need to deal
+ * directly with print jobs if you use the non-portable PrintUnixDialog API.
+ *
+ * Use get_surface() to obtain the cairo surface onto which the pages must be drawn.
+ * Use send() to send the finished job to the printer.If you don't use cairo then
+ * PrintJob also supports printing of manually generated postscript, via set_source_file().
+ *
+ * @newin2p10
+ *
+ * @ingroup Printing
+ */
+class PrintJob : public Glib::Object
+{
+ _CLASS_GOBJECT(PrintJob, GtkPrintJob, GTK_PRINT_JOB, Glib::Object, GObject)
+ _GTKMMPROC_WIN32_NO_WRAP
+
+protected:
+ _WRAP_CTOR(PrintJob(const Glib::ustring& title, const Glib::RefPtr<Printer>& printer, const Glib::RefPtr<PrintSettings>& settings, const Glib::RefPtr<PageSetup>& page_setup), gtk_print_job_new)
+
+public:
+ _WRAP_CREATE(const Glib::ustring& title, const Glib::RefPtr<Printer>& printer, const Glib::RefPtr<PrintSettings>& settings, const Glib::RefPtr<PageSetup>& page_setup)
+
+ _WRAP_METHOD(Glib::RefPtr<PrintSettings> get_settings(), gtk_print_job_get_settings, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const PrintSettings> get_settings() const, gtk_print_job_get_settings, refreturn, constversion)
+
+ _WRAP_METHOD(Glib::RefPtr<Printer> get_printer(), gtk_print_job_get_printer, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Printer> get_printer() const, gtk_print_job_get_printer, refreturn, constversion)
+
+ _WRAP_METHOD(Glib::ustring get_title() const, gtk_print_job_get_title)
+ _WRAP_METHOD(PrintStatus get_status() const, gtk_print_job_get_status)
+ _IGNORE(gtk_print_job_set_status) // this appears in gtkprinter-private.h
+ _WRAP_METHOD(void set_source_file(const std::string& filename), gtk_print_job_set_source_file, errthrow)
+
+ #m4 _CONVERSION(`cairo_surface_t*',`Cairo::RefPtr<Cairo::Surface>',`Cairo::RefPtr<Cairo::Surface>(new Cairo::Surface($3, false /* take reference */))')
+ #m4 _CONVERSION(`cairo_surface_t*',`Cairo::RefPtr<const Cairo::Surface>',`Cairo::RefPtr<Cairo::Surface>(new Cairo::Surface($3, false /* take reference */))')
+
+ _WRAP_METHOD(Cairo::RefPtr<Cairo::Surface> get_surface(), gtk_print_job_get_surface, errthrow)
+ _WRAP_METHOD(Cairo::RefPtr<const Cairo::Surface> get_surface() const, gtk_print_job_get_surface, constversion, errthrow)
+
+ _WRAP_METHOD(void set_track_print_status(bool track_status = true), gtk_print_job_set_track_print_status)
+ _WRAP_METHOD(bool get_track_print_status() const, gtk_print_job_get_track_print_status)
+
+ _IGNORE(gtk_print_job_send)
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ /** For example,
+ * void on_print_job_complete(const Glib::RefPtr<PrintJob>& job);
+ *
+ * @throws exception
+ */
+ typedef sigc::slot< void, const Glib::RefPtr<PrintJob>& > SlotPrintJobComplete;
+ #else
+ /** For example,
+ * void on_print_job_complete(const Glib::RefPtr<PrintJob>& job, std::auto_ptr<Glib::Error>& error);
+ */
+ typedef sigc::slot< void, const Glib::RefPtr<PrintJob>&, std::auto_ptr<Glib::Error>& > SlotPrintJobComplete;
+ #endif
+
+ /** Sends the print job off to the printer.
+ * @param slot A function to call when the job completes or an error occurs.
+ */
+ void send(const SlotPrintJobComplete& slot);
+
+ _WRAP_SIGNAL(void status_changed(), "status_changed")
+
+ _WRAP_PROPERTY("title", Glib::ustring)
+ _WRAP_PROPERTY("printer", Glib::RefPtr<Printer>)
+ _WRAP_PROPERTY("settings", Glib::RefPtr<PrintSettings>)
+ _WRAP_PROPERTY("page_setup", Glib::RefPtr<PageSetup>)
+};
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/printoperation.ccg b/libs/gtkmm2/gtk/src/printoperation.ccg
new file mode 100644
index 0000000000..d2bc638d05
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/printoperation.ccg
@@ -0,0 +1,113 @@
+// -*- c++ -*-
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkprintoperation.h>
+
+// This Signal Proxy allows the C++ coder to specify a sigc::slot instead of a static function.
+
+static void
+SignalProxy_PrintSetupDone_gtk_callback(GtkPageSetup* page_setup, gpointer data)
+{
+ const Gtk::SlotPrintSetupDone* the_slot = static_cast<Gtk::SlotPrintSetupDone*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ Glib::RefPtr<Gtk::PageSetup> ps = Glib::wrap(page_setup);
+ (*the_slot)(ps);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch (...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ delete the_slot;
+}
+
+namespace Gtk
+{
+
+PrintOperationResult
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+PrintOperation::run(PrintOperationAction action)
+#else
+PrintOperation::run(PrintOperationAction action, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ PrintOperationResult res =
+ (PrintOperationResult)gtk_print_operation_run(this->gobj(), (GtkPrintOperationAction)action, 0, &gerror);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if (res == PRINT_OPERATION_RESULT_ERROR)
+ {
+ gtk_print_operation_get_error(this->gobj(), &gerror);
+ ::Glib::Error::throw_exception(gerror);
+ }
+ #else
+ if (res == PRINT_OPERATION_RESULT_ERROR)
+ {
+ gtk_print_operation_get_error(this->gobj(), &gerror);
+ error = ::Glib::Error::throw_exception(gerror);
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return res;
+}
+
+Glib::RefPtr<PageSetup>
+run_page_setup_dialog(Window& parent,
+ const Glib::RefPtr<const PageSetup>& page_setup,
+ const Glib::RefPtr<const PrintSettings>& print_settings)
+{
+ // Specify the exact type with template specialization, to avoid possible
+ // ambiguities between the const and non-const versions of unwrap() reported
+ // by Sun's compiler (specifying unwrap<const Object> was reported
+ // not to work):
+ return Glib::wrap(
+ gtk_print_run_page_setup_dialog(
+ parent.gobj(),
+ const_cast<GtkPageSetup*>(Glib::unwrap<PageSetup>(page_setup)),
+ const_cast<GtkPrintSettings*>(Glib::unwrap<PrintSettings>(print_settings))));
+
+}
+
+void
+run_page_setup_dialog_async(Window& parent,
+ const Glib::RefPtr<const PageSetup>& page_setup,
+ const Glib::RefPtr<const PrintSettings>& print_settings,
+ const SlotPrintSetupDone& slot)
+{
+ SlotPrintSetupDone* slot_copy = new SlotPrintSetupDone(slot);
+
+ // Specify the exact type with template specialization, to avoid possible
+ // ambiguities between the const and non-const versions of unwrap() reported
+ // by Sun's compiler (specifying unwrap<const Object> was reported
+ // not to work):
+ gtk_print_run_page_setup_dialog_async(
+ parent.gobj(),
+ const_cast<GtkPageSetup*>(Glib::unwrap<PageSetup>(page_setup)),
+ const_cast<GtkPrintSettings*>(Glib::unwrap<PrintSettings>(print_settings)),
+ &SignalProxy_PrintSetupDone_gtk_callback,
+ slot_copy);
+}
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/printoperation.hg b/libs/gtkmm2/gtk/src/printoperation.hg
new file mode 100644
index 0000000000..3bbfbaca37
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/printoperation.hg
@@ -0,0 +1,200 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/object.h>
+
+#include <gtkmm/pagesetup.h>
+#include <gtkmm/printcontext.h>
+#include <gtkmm/printoperationpreview.h>
+#include <gtkmm/printsettings.h>
+#include <gtkmm/window.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+_PINCLUDE(gtk/gtkprintoperation.h)
+
+namespace Gtk
+{
+
+_WRAP_ENUM(PrintStatus, GtkPrintStatus)
+_WRAP_ENUM(PrintOperationResult, GtkPrintOperationResult)
+_WRAP_ENUM(PrintOperationAction, GtkPrintOperationAction)
+_WRAP_GERROR(PrintError, GtkPrintError, GTK_PRINT_ERROR)
+
+/** @defgroup Printing Printing
+ */
+
+/** PrintOperation is the high-level, portable printing API. It looks a bit different than other
+ * GTK+ dialogs such as the FileChooser, since some platforms don't expose enough infrastructure
+ * to implement a good print dialog. On such platforms, PrintOperation uses the native print
+ * dialog. On platforms which do not provide a native print dialog, GTK+ uses its own, see PrintUnixDialog.
+ *
+ * The typical way to use the high-level printing API is to create a PrintOperation object
+ * when the user chooses to print. Then you set some properties on it,such as the page size, any PrintSettings
+ * from previous print operations, the number of pages, the current page, etc.
+ *
+ * Then you start the print operation by calling run(). It will then show a dialog to
+ * let the user select a printer and options. When the user finishes the dialog various signals will be
+ * emitted by the PrintOperation for you to handle, the main one being draw_page. You should then
+ * render the page on the provided PrintContext using Cairo.
+ *
+ * @newin2p10
+ *
+ * @ingroup Printing
+ */
+class PrintOperation :
+ public Glib::Object,
+ public PrintOperationPreview
+{
+ _CLASS_GOBJECT(PrintOperation, GtkPrintOperation, GTK_PRINT_OPERATION, Glib::Object, GObject)
+ _IMPLEMENTS_INTERFACE(PrintOperationPreview)
+
+protected:
+ _CTOR_DEFAULT
+
+public:
+ _WRAP_CREATE()
+
+ _WRAP_METHOD(void set_default_page_setup(const Glib::RefPtr<PageSetup>& default_page_setup),
+ gtk_print_operation_set_default_page_setup)
+ _WRAP_METHOD(Glib::RefPtr<PageSetup> get_default_page_setup() const, gtk_print_operation_get_default_page_setup)
+
+ _WRAP_METHOD(void set_print_settings(const Glib::RefPtr<PrintSettings>& print_settings),
+ gtk_print_operation_set_print_settings)
+ _WRAP_METHOD(Glib::RefPtr<PrintSettings> get_print_settings() const, gtk_print_operation_get_print_settings, refreturn)
+
+ _WRAP_METHOD(void set_job_name(const Glib::ustring& job_name), gtk_print_operation_set_job_name)
+ _WRAP_METHOD(void set_n_pages(int n_pages), gtk_print_operation_set_n_pages)
+ _WRAP_METHOD(void set_current_page(int current_page), gtk_print_operation_set_current_page)
+ _WRAP_METHOD(void set_use_full_page(bool use_full_page = true), gtk_print_operation_set_use_full_page)
+ _WRAP_METHOD(void set_unit(Unit unit), gtk_print_operation_set_unit)
+ _WRAP_METHOD(void set_export_filename(const std::string& filename), gtk_print_operation_set_export_filename)
+ _WRAP_METHOD(void set_track_print_status(bool track_status = true), gtk_print_operation_set_track_print_status)
+ _WRAP_METHOD(void set_show_progress (bool show_progress = true), gtk_print_operation_set_show_progress)
+ _WRAP_METHOD(void set_allow_async(bool allow_async = true), gtk_print_operation_set_allow_async)
+ _WRAP_METHOD(void set_custom_tab_label(const Glib::ustring& label), gtk_print_operation_set_custom_tab_label)
+
+ #m4 _CONVERSION(`GtkPrintOperationAction',`PrintOperationAction',`($2)$3')
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ PrintOperationResult run(PrintOperationAction action = PRINT_OPERATION_ACTION_PRINT_DIALOG);
+ #else
+ PrintOperationResult run(PrintOperationAction action, std::auto_ptr<Glib::Error>& error);
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ _WRAP_METHOD(PrintOperationResult run(PrintOperationAction action, Window& parent), gtk_print_operation_run, errthrow)
+ _WRAP_METHOD(PrintStatus get_status() const, gtk_print_operation_get_status)
+ _WRAP_METHOD(Glib::ustring get_status_string() const, gtk_print_operation_get_status_string)
+ _WRAP_METHOD(void cancel(), gtk_print_operation_cancel)
+ _WRAP_METHOD(bool is_finished() const, gtk_print_operation_is_finished)
+
+ _IGNORE(gtk_print_run_page_setup_dialog, gtk_print_run_page_setup_dialog_async)
+
+ #m4 _CONVERSION(`GtkPrintOperationResult',`PrintOperationResult',`($2)$3')
+
+ _IGNORE(gtk_print_operation_get_error)
+
+ //TODO: point out in the docs that the PrintOperationResult enum may also indicate
+ // that an error occurred, and in that case it is up to him to handle it.
+ _WRAP_SIGNAL(void done(PrintOperationResult result), "done")
+
+ #m4 _CONVERSION(`GtkPrintContext*',`const Glib::RefPtr<PrintContext>&',`Glib::wrap($3, true)')
+ _WRAP_SIGNAL(void begin_print(const Glib::RefPtr<PrintContext>& context), "begin_print")
+ _WRAP_SIGNAL(bool paginate(const Glib::RefPtr<PrintContext>& context), "paginate")
+
+ #m4 _CONVERSION(`GtkPageSetup*',`const Glib::RefPtr<PageSetup>&',`Glib::wrap($3, true)')
+ _WRAP_SIGNAL(void request_page_setup(const Glib::RefPtr<PrintContext>& context, int page_no, const Glib::RefPtr<PageSetup>& setup), "request_page_setup")
+ _WRAP_SIGNAL(void draw_page(const Glib::RefPtr<PrintContext>& context, int page_nr), "draw_page")
+ _WRAP_SIGNAL(void end_print(const Glib::RefPtr<PrintContext>& context), "end_print")
+ _WRAP_SIGNAL(void status_changed(), "status_changed")
+
+ _WRAP_SIGNAL(Widget* create_custom_widget(), "create_custom_widget")
+
+ _WRAP_SIGNAL(void custom_widget_apply(Widget* widget), "custom_widget_apply")
+
+ #m4 _CONVERSION(`GtkPrintOperationPreview*', `const Glib::RefPtr<PrintOperationPreview>&', `Glib::wrap($3, true)')
+ #m4 _CONVERSION(`const Glib::RefPtr<PrintOperationPreview>&', `GtkPrintOperationPreview*', `($3)->gobj()')
+
+ #m4 _CONVERSION(`Window*',`GtkWindow*',`Glib::unwrap($3)')
+
+ //TODO: This is causing crashes. Is it still causing crashes? murrayc.
+ _WRAP_SIGNAL(bool preview(const Glib::RefPtr<PrintOperationPreview>& preview, const Glib::RefPtr<PrintContext>& context, Window* parent), "preview")
+
+ _WRAP_PROPERTY("default_page_setup", Glib::RefPtr<PageSetup>)
+ _WRAP_PROPERTY("print_settings", Glib::RefPtr<PrintSettings>)
+ _WRAP_PROPERTY("job_name", Glib::ustring)
+ _WRAP_PROPERTY("n_pages", int)
+ _WRAP_PROPERTY("current_page", int)
+ _WRAP_PROPERTY("use_full_page", bool)
+ _WRAP_PROPERTY("unit", Unit)
+ _WRAP_PROPERTY("show_progress", bool)
+ _WRAP_PROPERTY("allow_async", bool)
+ _WRAP_PROPERTY("export_filename", std::string)
+ _WRAP_PROPERTY("status", PrintStatus)
+ _WRAP_PROPERTY("status_string", Glib::ustring)
+ _WRAP_PROPERTY("custom_tab_label", Glib::ustring)
+};
+
+ //TODO: Make these static members of a class instead of non-class functions?
+
+ //Note: gtk_run_page_setup_dialog() can take a null page_setup object, but the application should always
+ //store and reuse a page_setup object, so I see no need to provide an overload for that. murrayc.
+ //TODO: The parent parameter may also be null, so maybe we should add an overload for that.
+
+ /** Runs a page setup dialog, letting the user modify the values from page_setup.
+ * If the user cancels the dialog, the returned PageSetup is identical to that passed in @a page_setup,
+ * otherwise it contains the modifications done in the dialog.
+ *
+ * Note that this function may use a recursive mainloop to show the page setup dialog.
+ * See run_page_setup_dialog_async() if this is a problem.
+ *
+ * @param parent Transient parent.
+ * @param page_setup An existing GtkPageSetup.
+ * @param settings Print settings.
+ * @result A new PageSetup object.
+ *
+ * @since 2.10
+ */
+ Glib::RefPtr<PageSetup> run_page_setup_dialog(Window& parent,
+ const Glib::RefPtr<const PageSetup>& page_setup,
+ const Glib::RefPtr<const PrintSettings>& print_settings);
+
+ /** For example,
+ * void on_setup_done(const Glib::RefPtr<PageSetup>& page_setup);
+ */
+ typedef sigc::slot< void, const Glib::RefPtr<PageSetup>& > SlotPrintSetupDone;
+
+ /** Runs a page setup dialog, letting the user modify the values from page_setup.
+ *
+ * In contrast to run_page_setup_dialog(), this function returns after showing the
+ * page setup dialog on platforms that support this, and calls the @a slot from a
+ * signal handler for the ::response signal of the dialog.
+ *
+ * @param parent Transient parent.
+ * @param page_setup An existing GtkPageSetup.
+ * @param settings Print settings.
+ * @result A new PageSetup object.
+ * @param slot
+ *
+ * @since 2.10
+ */
+ void run_page_setup_dialog_async(Window& parent,
+ const Glib::RefPtr<const PageSetup>& page_setup,
+ const Glib::RefPtr<const PrintSettings>& print_settings,
+ const SlotPrintSetupDone& slot);
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/printoperationpreview.ccg b/libs/gtkmm2/gtk/src/printoperationpreview.ccg
new file mode 100644
index 0000000000..86c5d0075d
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/printoperationpreview.ccg
@@ -0,0 +1,19 @@
+// -*- c++ -*-
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkprintoperationpreview.h>
diff --git a/libs/gtkmm2/gtk/src/printoperationpreview.hg b/libs/gtkmm2/gtk/src/printoperationpreview.hg
new file mode 100644
index 0000000000..33c5b2a44c
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/printoperationpreview.hg
@@ -0,0 +1,59 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkprintoperationpreview.h>
+
+#include <glibmm/interface.h>
+
+#include <gtkmm/pagesetup.h>
+#include <gtkmm/printcontext.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/interface_p.h)
+
+namespace Gtk
+{
+
+//TODO: There is no GtkPrintOperationPreview documentation either.
+/**
+ * @newin2p10
+ *
+ * @ingroup Printing
+ */
+class PrintOperationPreview : public Glib::Interface
+{
+ _CLASS_INTERFACE(PrintOperationPreview, GtkPrintOperationPreview, GTK_PRINT_OPERATION_PREVIEW, GtkPrintOperationPreviewIface)
+public:
+
+ _WRAP_METHOD(void render_page(int page_nr), gtk_print_operation_preview_render_page)
+ _WRAP_METHOD(void end_preview(), gtk_print_operation_preview_end_preview)
+ _WRAP_METHOD(bool is_selected(int page_nr) const, gtk_print_operation_preview_is_selected)
+
+ _WRAP_VFUNC(void render_page(int page_nr), "render_page")
+ _WRAP_VFUNC(void end_preview(), "end_preview")
+ _WRAP_VFUNC(bool is_selected(int page_nr) const, "is_selected")
+
+ #m4 _CONVERSION(`GtkPageSetup*',`const Glib::RefPtr<PageSetup>&',`Glib::wrap($3, true)')
+ #m4 _CONVERSION(`const Glib::RefPtr<PageSetup>&',`GtkPageSetup*',__CONVERT_REFPTR_TO_P($3))
+
+ #m4 _CONVERSION(`GtkPrintContext*',`const Glib::RefPtr<PrintContext>&',`Glib::wrap($3, true)')
+
+ _WRAP_SIGNAL(void ready(const Glib::RefPtr<PrintContext>& context), "ready")
+ _WRAP_SIGNAL(void got_page_size(const Glib::RefPtr<PrintContext>& context, const Glib::RefPtr<PageSetup>& page_setup), "got_page_size")
+};
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/printsettings.ccg b/libs/gtkmm2/gtk/src/printsettings.ccg
new file mode 100644
index 0000000000..d6fe4e0686
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/printsettings.ccg
@@ -0,0 +1,141 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkprintsettings.h>
+#include <gtk/gtktypebuiltins.h>
+
+#include <vector>
+
+#include <glib/gmem.h>
+
+namespace // anonymous
+{
+
+static void proxy_foreach_callback(const gchar* key, const gchar* value, void* data)
+{
+ typedef Gtk::PrintSettings::SlotForeach SlotType;
+ SlotType& slot = *static_cast<SlotType*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ slot(Glib::convert_const_gchar_ptr_to_ustring(key), Glib::convert_const_gchar_ptr_to_ustring(value));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+} // anonymous namespace
+
+namespace Gtk
+{
+
+//Initialize static members:
+const Glib::ustring PrintSettings::Keys::PRINTER = GTK_PRINT_SETTINGS_PRINTER;
+const Glib::ustring PrintSettings::Keys::ORIENTATION = GTK_PRINT_SETTINGS_ORIENTATION;
+const Glib::ustring PrintSettings::Keys::PAPER_FORMAT = GTK_PRINT_SETTINGS_PAPER_FORMAT;
+const Glib::ustring PrintSettings::Keys::PAPER_WIDTH = GTK_PRINT_SETTINGS_PAPER_WIDTH;
+const Glib::ustring PrintSettings::Keys::PAPER_HEIGHT = GTK_PRINT_SETTINGS_PAPER_HEIGHT;
+const Glib::ustring PrintSettings::Keys::NUM_COPIES = GTK_PRINT_SETTINGS_N_COPIES;
+const Glib::ustring PrintSettings::Keys::DEFAULT_SOURCE = GTK_PRINT_SETTINGS_DEFAULT_SOURCE;
+const Glib::ustring PrintSettings::Keys::QUALITY = GTK_PRINT_SETTINGS_QUALITY;
+const Glib::ustring PrintSettings::Keys::RESOLUTION = GTK_PRINT_SETTINGS_RESOLUTION;
+const Glib::ustring PrintSettings::Keys::USE_COLOR = GTK_PRINT_SETTINGS_USE_COLOR;
+const Glib::ustring PrintSettings::Keys::DUPLEX = GTK_PRINT_SETTINGS_DUPLEX;
+const Glib::ustring PrintSettings::Keys::COLLATE = GTK_PRINT_SETTINGS_COLLATE;
+const Glib::ustring PrintSettings::Keys::REVERSE = GTK_PRINT_SETTINGS_REVERSE;
+const Glib::ustring PrintSettings::Keys::MEDIA_TYPE = GTK_PRINT_SETTINGS_MEDIA_TYPE;
+const Glib::ustring PrintSettings::Keys::DITHER = GTK_PRINT_SETTINGS_DITHER;
+const Glib::ustring PrintSettings::Keys::SCALE = GTK_PRINT_SETTINGS_SCALE;
+const Glib::ustring PrintSettings::Keys::PRINT_PAGES = GTK_PRINT_SETTINGS_PRINT_PAGES;
+const Glib::ustring PrintSettings::Keys::PAGE_RANGES = GTK_PRINT_SETTINGS_PAGE_RANGES;
+const Glib::ustring PrintSettings::Keys::PAGE_SET = GTK_PRINT_SETTINGS_PAGE_SET;
+const Glib::ustring PrintSettings::Keys::FINISHINGS = GTK_PRINT_SETTINGS_FINISHINGS;
+const Glib::ustring PrintSettings::Keys::NUMBER_UP = GTK_PRINT_SETTINGS_NUMBER_UP;
+const Glib::ustring PrintSettings::Keys::OUTPUT_BIN = GTK_PRINT_SETTINGS_OUTPUT_BIN;
+
+const Glib::ustring PrintSettings::Keys::OUTPUT_FILE_FORMAT = GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT;
+const Glib::ustring PrintSettings::Keys::OUTPUT_URI = GTK_PRINT_SETTINGS_OUTPUT_URI;
+
+const Glib::ustring PrintSettings::Keys::WIN32_DRIVER_VERSION = GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION;
+const Glib::ustring PrintSettings::Keys::WIN32_DRIVER_EXTRA = GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA;
+
+
+void PrintSettings::setting_foreach(const SlotForeach& slot)
+{
+ SlotForeach slot_copy(slot);
+ gtk_print_settings_foreach(const_cast<GtkPrintSettings*>(gobj()), &proxy_foreach_callback, &slot_copy);
+}
+
+PrintSettings::PageRange::PageRange()
+:
+ start(0),
+ end(0)
+{}
+
+PrintSettings::PageRange::PageRange(int start_, int end_)
+:
+ start(start_),
+ end(end_)
+{}
+
+Glib::ArrayHandle<PrintSettings::PageRange> PrintSettings::get_page_ranges() const
+{
+ int num_ranges;
+ GtkPageRange* page_ranges =
+ gtk_print_settings_get_page_ranges(const_cast<GtkPrintSettings*>(gobj()), &num_ranges);
+ std::vector<PrintSettings::PageRange> v(num_ranges);
+
+ for (int i = 0; i < num_ranges; ++i)
+ {
+ v.push_back(PrintSettings::PageRange(page_ranges[i].start, page_ranges[i].end));
+ }
+
+ g_free(page_ranges);
+
+ Glib::ArrayHandle<PrintSettings::PageRange> ah(v);
+
+ return ah;
+}
+
+void PrintSettings::set_page_ranges(const Glib::ArrayHandle<PrintSettings::PageRange>& page_ranges)
+{
+ int n = page_ranges.size();
+ GtkPageRange* ranges = g_new0(GtkPageRange, n);
+ std::vector<PrintSettings::PageRange> v_ranges(page_ranges);
+
+ for (int i = 0; i < n; ++i)
+ {
+ ranges[i].start = v_ranges[i].start;
+ ranges[i].end = v_ranges[i].end;
+ }
+
+ gtk_print_settings_set_page_ranges(const_cast<GtkPrintSettings*>(gobj()), ranges, n);
+ g_free(ranges);
+}
+
+void PrintSettings::save_to_key_file(Glib::KeyFile& key_file)
+{
+ gtk_print_settings_to_key_file(gobj(), (key_file).gobj(), 0);
+}
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/printsettings.hg b/libs/gtkmm2/gtk/src/printsettings.hg
new file mode 100644
index 0000000000..cbfb6894a4
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/printsettings.hg
@@ -0,0 +1,233 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/object.h>
+#include <gtkmm/enums.h>
+#include <gtkmm/papersize.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Gtk
+{
+
+_WRAP_ENUM(PrintDuplex, GtkPrintDuplex)
+_WRAP_ENUM(PrintQuality, GtkPrintQuality)
+_WRAP_ENUM(PrintPages, GtkPrintPages)
+_WRAP_ENUM(PageSet, GtkPageSet)
+
+/** A PrintSettings object represents the settings of a print dialog in a system-independent way.
+ * The main use for this object is that once you've printed you can get a settings object that
+ * represents the settings the user chose, and the next time you print you can pass that object
+ * in so that the user doesn't have to re-set all his settings.
+ *
+ * It's also possible to enumerate the settings so that you can easily save the settings for the
+ * next time your app runs, or even store them in a document. The predefined keys try to use shared
+ * values as much as possible so that moving such a document between systems still works.
+ *
+ * @newin2p10
+ *
+ * @ingroup Printing
+ */
+class PrintSettings : public Glib::Object
+{
+ _CLASS_GOBJECT(PrintSettings, GtkPrintSettings, GTK_PRINT_SETTINGS, Glib::Object, GObject)
+protected:
+ _CTOR_DEFAULT
+
+#if 0 //TODO: Reimplement, or add _construct_from_* functions in GTK+.
+GtkPrintSettings *gtk_print_settings_new_from_file (const gchar *file_name,
+ GError **error);
+GtkPrintSettings *gtk_print_settings_new_from_key_file (GKeyFile *key_file,
+ const gchar *group_name,
+ GError **error);
+#endif
+
+public:
+ _WRAP_CREATE()
+
+ /** Print settings keys.
+ */
+ class Keys
+ {
+ public:
+ static const Glib::ustring PRINTER;
+ static const Glib::ustring ORIENTATION;
+ static const Glib::ustring PAPER_FORMAT;
+ static const Glib::ustring PAPER_WIDTH;
+ static const Glib::ustring PAPER_HEIGHT;
+ static const Glib::ustring NUM_COPIES;
+ static const Glib::ustring DEFAULT_SOURCE;
+ static const Glib::ustring QUALITY;
+ static const Glib::ustring RESOLUTION;
+ static const Glib::ustring USE_COLOR;
+ static const Glib::ustring DUPLEX;
+ static const Glib::ustring COLLATE;
+ static const Glib::ustring REVERSE;
+ static const Glib::ustring MEDIA_TYPE;
+ static const Glib::ustring DITHER;
+ static const Glib::ustring SCALE;
+ static const Glib::ustring PRINT_PAGES;
+ static const Glib::ustring PAGE_RANGES;
+ static const Glib::ustring PAGE_SET;
+ static const Glib::ustring FINISHINGS;
+ static const Glib::ustring NUMBER_UP;
+ static const Glib::ustring OUTPUT_BIN;
+
+ static const Glib::ustring OUTPUT_FILE_FORMAT;
+ static const Glib::ustring OUTPUT_URI;
+
+ static const Glib::ustring WIN32_DRIVER_VERSION;
+ static const Glib::ustring WIN32_DRIVER_EXTRA;
+ };
+
+ _IGNORE(gtk_print_settings_copy)
+
+ _WRAP_METHOD(bool save_to_file(const std::string& file_name) const, gtk_print_settings_to_file, errthrow)
+
+ #m4 _CONVERSION(`Glib::KeyFile&', `GKeyFile*', __FR2P)
+ _WRAP_METHOD(void save_to_key_file(Glib::KeyFile& key_file, const Glib::ustring& group_name) const, gtk_print_settings_to_key_file)
+
+ /** This function adds the print settings from @a settings to @a key_file,
+ * in the "Print Settings" group.
+ *
+ * @newin2p12
+ * @param key_file The Glib::KeyFile to save the print settings to.
+ */
+ void save_to_key_file(Glib::KeyFile& key_file);
+
+ //TODO: add a @see link?
+ _WRAP_METHOD(bool has_key(const Glib::ustring& key) const, gtk_print_settings_has_key)
+
+ _WRAP_METHOD(Glib::ustring get(const Glib::ustring& key) const, gtk_print_settings_get)
+
+ _WRAP_METHOD(void set(const Glib::ustring& key, const Glib::ustring& value), gtk_print_settings_set)
+ _WRAP_METHOD(void unset(const Glib::ustring& key), gtk_print_settings_unset)
+
+ /** For example,
+ * void on_foreach_setting(const Glib::ustring& key, const Glib::ustring& value);
+ */
+ typedef sigc::slot<void, const Glib::ustring&, const Glib::ustring&> SlotForeach;
+
+ /** Calls a function for each print setting.
+ * @param slot The callback to call for each print setting.
+ */
+ void setting_foreach(const SlotForeach& slot);
+
+ _IGNORE(gtk_print_settings_foreach)
+
+ _WRAP_METHOD(bool get_bool(const Glib::ustring& key) const, gtk_print_settings_get_bool)
+ _WRAP_METHOD(void set_bool(const Glib::ustring& key, bool value = true), gtk_print_settings_set_bool)
+
+ _WRAP_METHOD(double get_double(const Glib::ustring& key) const, gtk_print_settings_get_double)
+ _WRAP_METHOD(double get_double_with_default(const Glib::ustring& key, double def) const,
+ gtk_print_settings_get_double_with_default)
+ _WRAP_METHOD(void set_double(const Glib::ustring& key, double value), gtk_print_settings_set_double)
+
+ _WRAP_METHOD(double get_length(const Glib::ustring& key, Unit unit) const, gtk_print_settings_get_length)
+ _WRAP_METHOD(void set_length(const Glib::ustring& key, double value, Unit unit), gtk_print_settings_set_length)
+
+ _WRAP_METHOD(int get_int(const Glib::ustring& key) const, gtk_print_settings_get_int)
+ _WRAP_METHOD(int get_int_with_default(const Glib::ustring& key, int def) const,
+ gtk_print_settings_get_int_with_default)
+ _WRAP_METHOD(void set_int(const Glib::ustring& key, int value), gtk_print_settings_set_int)
+
+ // helpers:
+
+ _WRAP_METHOD(Glib::ustring get_printer() const, gtk_print_settings_get_printer)
+ _WRAP_METHOD(void set_printer(const Glib::ustring& name), gtk_print_settings_set_printer)
+
+ _WRAP_METHOD(PageOrientation get_orientation() const, gtk_print_settings_get_orientation)
+ _WRAP_METHOD(void set_orientation(PageOrientation orientation), gtk_print_settings_set_orientation)
+
+ _WRAP_METHOD(PaperSize get_paper_size(), gtk_print_settings_get_paper_size)
+ _WRAP_METHOD(const PaperSize get_paper_size() const, gtk_print_settings_get_paper_size, constversion)
+ _WRAP_METHOD(void set_paper_size(const PaperSize& paper_size), gtk_print_settings_set_paper_size)
+
+ _WRAP_METHOD(double get_paper_width(Unit unit) const, gtk_print_settings_get_paper_width)
+ _WRAP_METHOD(void set_paper_width(double width, Unit unit), gtk_print_settings_set_paper_width)
+ _WRAP_METHOD(double get_paper_height(Unit unit) const, gtk_print_settings_get_paper_height)
+ _WRAP_METHOD(void set_paper_height(double height, Unit unit), gtk_print_settings_set_paper_height)
+
+ _WRAP_METHOD(bool get_use_color() const, gtk_print_settings_get_use_color)
+ _WRAP_METHOD(void set_use_color(bool use_color = true), gtk_print_settings_set_use_color)
+
+ _WRAP_METHOD(bool get_collate() const, gtk_print_settings_get_collate)
+ _WRAP_METHOD(void set_collate(bool collate = true), gtk_print_settings_set_collate)
+
+ _WRAP_METHOD(bool get_reverse() const, gtk_print_settings_get_reverse)
+ _WRAP_METHOD(void set_reverse(bool reverse = true), gtk_print_settings_set_reverse)
+
+ _WRAP_METHOD(PrintDuplex get_duplex() const, gtk_print_settings_get_duplex)
+ _WRAP_METHOD(void set_duplex(PrintDuplex duplex), gtk_print_settings_set_duplex)
+
+ _WRAP_METHOD(PrintQuality get_quality() const, gtk_print_settings_get_quality)
+ _WRAP_METHOD(void set_quality(PrintQuality quality), gtk_print_settings_set_quality)
+
+ _WRAP_METHOD(int get_n_copies() const, gtk_print_settings_get_n_copies)
+ _WRAP_METHOD(void set_n_copies(int num_copies), gtk_print_settings_set_n_copies)
+
+ _WRAP_METHOD(int get_number_up() const, gtk_print_settings_get_number_up)
+ _WRAP_METHOD(void set_number_up(int number_up), gtk_print_settings_set_number_up)
+
+ _WRAP_METHOD(int get_resolution() const, gtk_print_settings_get_resolution)
+ _WRAP_METHOD(void set_resolution(int resolution), gtk_print_settings_set_resolution)
+
+ _WRAP_METHOD(double get_scale() const, gtk_print_settings_get_scale)
+ _WRAP_METHOD(void set_scale(double scale), gtk_print_settings_set_scale)
+
+ _WRAP_METHOD(PrintPages get_print_pages() const, gtk_print_settings_get_print_pages)
+ _WRAP_METHOD(void set_print_pages(PrintPages print_pages), gtk_print_settings_set_print_pages)
+
+ //This corresponds to GtkPageRange.
+ class PageRange
+ {
+ public:
+ PageRange();
+ PageRange(int start, int end);
+
+ int start;
+ int end;
+ };
+
+ Glib::ArrayHandle<PageRange> get_page_ranges() const;
+ void set_page_ranges(const Glib::ArrayHandle<PageRange>& page_ranges);
+
+ _IGNORE(gtk_print_settings_get_page_ranges, gtk_print_settings_set_page_ranges)
+
+ _WRAP_METHOD(PageSet get_page_set() const, gtk_print_settings_get_page_set)
+ _WRAP_METHOD(void set_page_set(PageSet page_set), gtk_print_settings_set_page_set)
+
+ _WRAP_METHOD(Glib::ustring get_default_source() const, gtk_print_settings_get_default_source)
+ _WRAP_METHOD(void set_default_source(const Glib::ustring& default_source), gtk_print_settings_set_default_source)
+
+ _WRAP_METHOD(Glib::ustring get_media_type() const, gtk_print_settings_get_media_type)
+ _WRAP_METHOD(void set_media_type(const Glib::ustring& media_type), gtk_print_settings_set_media_type)
+
+ _WRAP_METHOD(Glib::ustring get_dither() const, gtk_print_settings_get_dither)
+ _WRAP_METHOD(void set_dither(const Glib::ustring& dither), gtk_print_settings_set_dither)
+
+ _WRAP_METHOD(Glib::ustring get_finishings() const, gtk_print_settings_get_finishings)
+ _WRAP_METHOD(void set_finishings(const Glib::ustring& finishings), gtk_print_settings_set_finishings)
+
+ _WRAP_METHOD(Glib::ustring get_output_bin() const, gtk_print_settings_get_output_bin)
+ _WRAP_METHOD(void set_output_bin(const Glib::ustring& output_bin), gtk_print_settings_set_output_bin)
+
+ //There are no properties.
+};
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/printunixdialog.ccg b/libs/gtkmm2/gtk/src/printunixdialog.ccg
new file mode 100644
index 0000000000..6bd7aa9eb2
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/printunixdialog.ccg
@@ -0,0 +1,44 @@
+// -*- c++ -*-
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkprintunixdialog.h>
+#include <gtkmm/label.h>
+
+namespace Gtk
+{
+
+PrintUnixDialog::PrintUnixDialog(Gtk::Window& parent, const Glib::ustring& title)
+:
+ _CONSTRUCT("title", title.c_str())
+{
+ set_transient_for(parent);
+}
+
+PrintUnixDialog::PrintUnixDialog(const Glib::ustring& title)
+:
+ _CONSTRUCT("title", title.c_str())
+{
+}
+
+void PrintUnixDialog::add_custom_tab(const Widget& child, const Glib::ustring& tab_label)
+{
+ Gtk::Label* label = Gtk::manage(new Gtk::Label(tab_label));
+ add_custom_tab(child, *label);
+}
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/printunixdialog.hg b/libs/gtkmm2/gtk/src/printunixdialog.hg
new file mode 100644
index 0000000000..480a126ac3
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/printunixdialog.hg
@@ -0,0 +1,85 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/dialog.h>
+#include <gtkmm/pagesetup.h>
+#include <gtkmm/printer.h>
+#include <gtkmm/printjob.h>
+#include <gtkmm/printsettings.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/dialog_p.h)
+
+namespace Gtk
+{
+
+/** PrintUnixDialog implements a print dialog for platforms
+ * which don't provide a native print dialog, like Unix. It can
+ * be used very much like any other GTK+ dialog, at the cost of
+ * the portability offered by the high-level printing API exposed
+ * through PrintOperation.
+ *
+ * In order to print something with PrintUnixDialog, you need
+ * to use get_selected_printer() to obtain a Printer object and
+ * use it to construct a PrintJob using PrintJob::create().
+ *
+ * PrintUnixDialog uses the following response values:
+ * - RESPONSE_OK for the "Print" button
+ * - RESPONSE_APPLY for the "Preview" button
+ * - RESPONSE_CANCEL for the "Cancel" button
+ *
+ * @newin2p10
+ *
+ * @ingroup Printing
+ */
+class PrintUnixDialog : public Dialog
+{
+ _CLASS_GTKOBJECT(PrintUnixDialog, GtkPrintUnixDialog, GTK_PRINT_UNIX_DIALOG, Gtk::Dialog, GtkDialog)
+ _GTKMMPROC_WIN32_NO_WRAP
+
+public:
+ explicit PrintUnixDialog(Gtk::Window& parent, const Glib::ustring& title);
+ explicit PrintUnixDialog(const Glib::ustring& title);
+
+ _WRAP_METHOD(void set_page_setup(const Glib::RefPtr<PageSetup>& page_setup), gtk_print_unix_dialog_set_page_setup)
+ _WRAP_METHOD(Glib::RefPtr<PageSetup> get_page_setup(), gtk_print_unix_dialog_get_page_setup, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const PageSetup> get_page_setup() const, gtk_print_unix_dialog_get_page_setup, refreturn, constversion)
+
+ _WRAP_METHOD(void set_current_page(int current_page), gtk_print_unix_dialog_set_current_page)
+ _WRAP_METHOD(int get_current_page() const, gtk_print_unix_dialog_get_current_page)
+
+ _WRAP_METHOD(void set_settings(const Glib::RefPtr<PrintSettings>& print_settings), gtk_print_unix_dialog_set_settings)
+ _WRAP_METHOD(Glib::RefPtr<PrintSettings> get_settings(), gtk_print_unix_dialog_get_settings, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const PrintSettings> get_settings() const, gtk_print_unix_dialog_get_settings, refreturn, constversion)
+
+ #m4 _CONVERSION(`GtkPrinter*',`Glib::RefPtr<Printer>',`Glib::wrap($3)')
+ #m4 _CONVERSION(`GtkPrinter*',`Glib::RefPtr<const Printer>',`Glib::wrap($3)')
+
+ _WRAP_METHOD(Glib::RefPtr<Printer> get_selected_printer(), gtk_print_unix_dialog_get_selected_printer, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Printer> get_selected_printer() const, gtk_print_unix_dialog_get_selected_printer, refreturn. constversion)
+
+ void add_custom_tab(const Widget& child, const Glib::ustring& tab_label);
+ _WRAP_METHOD(void add_custom_tab(const Widget& child, const Widget& tab_label), gtk_print_unix_dialog_add_custom_tab)
+ _WRAP_METHOD(void set_manual_capabilities(PrintCapabilities capabilities), gtk_print_unix_dialog_set_manual_capabilities)
+
+ _WRAP_PROPERTY("page_setup", Glib::RefPtr<PageSetup>)
+ _WRAP_PROPERTY("current_page", int)
+ _WRAP_PROPERTY("print_settings", Glib::RefPtr<PrintSettings>)
+ _WRAP_PROPERTY("selected_printer", Glib::RefPtr<Printer>)
+};
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/progressbar.ccg b/libs/gtkmm2/gtk/src/progressbar.ccg
new file mode 100644
index 0000000000..64c85f8632
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/progressbar.ccg
@@ -0,0 +1,24 @@
+// -*- c++ -*-
+/* $Id: progressbar.ccg,v 1.1 2003/01/21 13:40:34 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/adjustment.h>
+#include <gtk/gtkprogressbar.h>
diff --git a/libs/gtkmm2/gtk/src/progressbar.hg b/libs/gtkmm2/gtk/src/progressbar.hg
new file mode 100644
index 0000000000..697862ead6
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/progressbar.hg
@@ -0,0 +1,98 @@
+/* $Id: progressbar.hg,v 1.2 2004/11/10 22:05:57 murrayc Exp $ */
+
+/* progressbar.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/widget.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/widget_p.h)
+_PINCLUDE(gtk/gtkprogress.h)
+
+
+namespace Gtk
+{
+
+_CC_INCLUDE(gtk/gtktypebuiltins.h)
+_WRAP_ENUM(ProgressBarStyle, GtkProgressBarStyle)
+_WRAP_ENUM(ProgressBarOrientation, GtkProgressBarOrientation)
+
+
+/** A widget which indicates progress visually.
+ *
+ * The Gtk::ProgressBar is typically used to display the progress of a long
+ * running operation. It provides a visual clue that processing is underway.
+ * The Gtk::ProgressBar can be used in two different modes: percentage mode
+ * and activity mode.
+ *
+ * When an application can determine how much work needs to take place (e.g.
+ * read a fixed number of bytes from a file) and can monitor its progress,
+ * it can use the Gtk::ProgressBar in percentage mode and the user sees a
+ * growing bar indicating the percentage of the work that has been
+ * completed. In this mode, the application is required to call
+ * set_fraction() periodically to update the progress bar.
+ *
+ * When an application has no accurate way of knowing the amount of work to
+ * do, it can use the Gtk::ProgressBar in activity mode, which shows
+ * activity by a block moving back and forth within the progress area. In
+ * this mode, the application is required to call pulse() perodically to
+ * update the progress bar.
+ *
+ * There is quite a bit of flexibility provided to control the appearance of
+ * the Gtk::ProgressBar. Functions are provided to control the orientation of
+ * the bar, optional text can be displayed along with the bar, and the step
+ * size used in activity mode can be set.
+ *
+ * @ingroup Widgets
+ */
+class ProgressBar : public Widget
+{
+ _CLASS_GTKOBJECT(ProgressBar,GtkProgressBar,GTK_PROGRESS_BAR,Gtk::Widget,GtkWidget,GtkProgressBar,GtkProgress)
+ _IGNORE(gtk_progress_bar_new_with_adjustment, gtk_progress_bar_set_bar_style, gtk_progress_bar_set_discrete_blocks,
+ gtk_progress_bar_set_activity_step, gtk_progress_bar_set_activity_blocks, gtk_progress_bar_update)
+public:
+ _CTOR_DEFAULT()
+
+ _WRAP_METHOD(void pulse(), gtk_progress_bar_pulse)
+
+ _WRAP_METHOD(Glib::ustring get_text() const, gtk_progress_bar_get_text)
+ _WRAP_METHOD(void set_text(const Glib::ustring& text), gtk_progress_bar_set_text)
+
+ _WRAP_METHOD(double get_fraction() const, gtk_progress_bar_get_fraction)
+ _WRAP_METHOD(void set_fraction(double fraction), gtk_progress_bar_set_fraction)
+
+ _WRAP_METHOD(double get_pulse_step() const, gtk_progress_bar_get_pulse_step)
+ _WRAP_METHOD(void set_pulse_step(double fraction), gtk_progress_bar_set_pulse_step)
+
+ _WRAP_METHOD(void set_orientation(ProgressBarOrientation orientation = PROGRESS_LEFT_TO_RIGHT),
+ gtk_progress_bar_set_orientation)
+ _WRAP_METHOD(ProgressBarOrientation get_orientation() const, gtk_progress_bar_get_orientation)
+
+ _WRAP_METHOD(void set_ellipsize(Pango::EllipsizeMode mode), gtk_progress_bar_set_ellipsize)
+ _WRAP_METHOD(Pango::EllipsizeMode get_ellipsize() const, gtk_progress_bar_get_ellipsize)
+
+ _WRAP_PROPERTY("fraction", double)
+ _WRAP_PROPERTY("pulse-step", double)
+ _WRAP_PROPERTY("orientation", ProgressBarOrientation)
+ _WRAP_PROPERTY("text", Glib::ustring)
+ _WRAP_PROPERTY("ellipsize", bool)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/radioaction.ccg b/libs/gtkmm2/gtk/src/radioaction.ccg
new file mode 100644
index 0000000000..895473fe74
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/radioaction.ccg
@@ -0,0 +1,57 @@
+// -*- c++ -*-
+/* $Id: radioaction.ccg,v 1.5 2004/03/27 00:30:38 murrayc Exp $ */
+
+/* Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkradioaction.h>
+
+
+typedef Gtk::RadioAction::Group Group; //So that the generate get_group return type is parsed.
+
+namespace Gtk
+{
+
+RadioAction::RadioAction(Group& group, const Glib::ustring& name, const Gtk::StockID& stock_id, const Glib::ustring& label, const Glib::ustring& tooltip)
+:
+ _CONSTRUCT("name", name.c_str(), "stock_id", stock_id.get_c_str(), "label", (label.empty() ? 0 : label.c_str()), "tooltip", (tooltip.empty() ? 0 : tooltip.c_str()))
+{
+ set_group(group);
+}
+
+Glib::RefPtr<RadioAction> RadioAction::create(Group& group, const Glib::ustring& name, const Glib::ustring& label, const Glib::ustring& tooltip)
+{
+ return Glib::RefPtr<RadioAction>( new RadioAction(group, name, Gtk::StockID(), label, tooltip) );
+}
+
+Glib::RefPtr<RadioAction> RadioAction::create(Group& group, const Glib::ustring& name, const Gtk::StockID& stock_id, const Glib::ustring& label, const Glib::ustring& tooltip)
+{
+ return Glib::RefPtr<RadioAction>( new RadioAction(group, name, stock_id, label, tooltip) );
+}
+
+void RadioAction::set_group(Group& group)
+{
+ gtk_radio_action_set_group(gobj(), group.group_);
+
+ //The group will be updated, ready for use with the next radio action:
+ group = get_group();
+}
+
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/radioaction.hg b/libs/gtkmm2/gtk/src/radioaction.hg
new file mode 100644
index 0000000000..d7bdc4ef5e
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/radioaction.hg
@@ -0,0 +1,77 @@
+/* $Id: radioaction.hg,v 1.8 2006/01/29 12:21:43 murrayc Exp $ */
+
+/* Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/toggleaction.h>
+#include <gtkmm/radiobuttongroup.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/toggleaction_p.h)
+
+
+namespace Gtk
+{
+
+/** An action of which only one in a group can be active.
+ *
+ * A Gtk::RadioAction is similar to Gtk::RadioMenuItem. A number of
+ * radio actions can be linked together so that only one may be active
+ * at any one time.
+ */
+class RadioAction : public Gtk::ToggleAction
+{
+ _CLASS_GOBJECT(RadioAction, GtkRadioAction, GTK_RADIO_ACTION, Gtk::ToggleAction, GtkToggleAction)
+public:
+ typedef RadioButtonGroup Group;
+
+protected:
+ //TODO: Remove the default constructor, because name may not be NULL.
+ _CTOR_DEFAULT
+ explicit RadioAction(Group& group, const Glib::ustring& name, const StockID& stock_id = StockID(), const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring());
+
+public:
+ //Note that gtk_recent_action_new() does not allow name to be NULL, which suggests that we should not have a default constructor,
+ //but it's OK to set the name later:
+ _WRAP_CREATE()
+
+ static Glib::RefPtr<RadioAction> create(Group& group, const Glib::ustring& name, const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring());
+ static Glib::RefPtr<RadioAction> create(Group& group, const Glib::ustring& name, const Gtk::StockID& stock_id, const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring());
+
+ _WRAP_METHOD(Group get_group(), gtk_radio_action_get_group)
+ void set_group(Group& group);
+ _IGNORE(gtk_radio_action_set_group)
+
+ _WRAP_METHOD(int get_current_value() const, gtk_radio_action_get_current_value)
+ _WRAP_METHOD(void set_current_value(int current_value), gtk_radio_action_set_current_value)
+
+ #m4 _CONVERSION(`GtkRadioAction*',`const Glib::RefPtr<RadioAction>&',`Glib::wrap($3, true)')
+
+ /** The changed signal is emitted on every member of a radio group when the
+ * active member is changed. The signal is emitted after the activate signals
+ * for the previous and current active members.
+ *
+ * @param current the member of this action's group which has just been activated.
+ */
+ _WRAP_SIGNAL(void changed(const Glib::RefPtr<RadioAction>& current), changed)
+
+ _WRAP_PROPERTY("value", int)
+ _WRAP_PROPERTY("current-value", int)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/radiobutton.ccg b/libs/gtkmm2/gtk/src/radiobutton.ccg
new file mode 100644
index 0000000000..51e0aac30f
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/radiobutton.ccg
@@ -0,0 +1,69 @@
+// -*- c++ -*-
+/* $Id: radiobutton.ccg,v 1.2 2003/10/28 17:12:27 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkradiobutton.h>
+
+typedef Gtk::RadioButton::Group Group; //So that the generate get_group return type is parsed.
+
+namespace Gtk
+{
+
+RadioButton::RadioButton()
+:
+ _CONSTRUCT()
+{}
+
+RadioButton::RadioButton(const Glib::ustring& label, bool mnemonic)
+:
+ _CONSTRUCT("label", label.c_str(), "use_underline", gboolean(mnemonic))
+{}
+
+RadioButton::RadioButton(Group& group)
+:
+ _CONSTRUCT()
+{
+ group.add(*this);
+}
+
+RadioButton::RadioButton(Group& group, const Glib::ustring& label, bool mnemonic)
+:
+ _CONSTRUCT("label", label.c_str(), "use_underline", gboolean(mnemonic))
+{
+ group.add(*this);
+}
+
+void RadioButton::set_group(Group& group)
+{
+ gtk_radio_button_set_group(gobj(), group.group_);
+
+ //The group will be updated, ready for use with the next radiobutton:
+ group = get_group();
+}
+
+void RadioButton::reset_group()
+{
+ gtk_radio_button_set_group(gobj(), 0);
+}
+
+} //namespace Gtk
+
+
diff --git a/libs/gtkmm2/gtk/src/radiobutton.hg b/libs/gtkmm2/gtk/src/radiobutton.hg
new file mode 100644
index 0000000000..bd252d5074
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/radiobutton.hg
@@ -0,0 +1,87 @@
+/* $Id: radiobutton.hg,v 1.8 2006/01/24 14:55:50 murrayc Exp $ */
+
+/* radiobutton.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/checkbutton.h>
+#include <gtkmm/radiobuttongroup.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/checkbutton_p.h)
+
+
+namespace Gtk
+{
+
+/** A single radio button performs the same basic function as a Gtk::CheckButton, as its position in the object hierarchy reflects. It is only when multiple radio buttons are grouped together that they become a different user interface component in their own right.
+ * Every radio button is a member of some group of radio buttons. When one is selected, all other radio buttons in the same group are deselected. A Gtk::RadioButton gives the user a choice from many options.
+ * After constructing the first RadioButton in a group, use get_group() and provide this Group to the constructors ot the other RadioButtons in the same group.
+ * To remove a Gtk::RadioButton from one group and make it part of a new one, use set_group().
+ *
+ * @ingroup Widgets
+ */
+class RadioButton : public CheckButton
+{
+ _CLASS_GTKOBJECT(RadioButton,GtkRadioButton,GTK_RADIO_BUTTON,Gtk::CheckButton,GtkCheckButton)
+ _IGNORE(gtk_radio_button_group, gtk_radio_button_new_from_widget, gtk_radio_button_new_with_mnemonic_from_widget, gtk_radio_button_new_with_label_from_widget)
+public:
+ typedef RadioButtonGroup Group;
+
+ RadioButton();
+ explicit RadioButton(const Glib::ustring& label, bool mnemonic = false);
+
+ /** Create an empty RadioButton belonging to the specified group,
+ * into which you can add() a widget.
+ * If you wish to add a Gtk::Label,
+ * you may want to
+ * use the Gtk::RadioButton(const Group& group, const Glib::ustring& label, bool mnemonic)
+ * constructor directly instead.
+ */
+ explicit RadioButton(Group& group);
+
+ /** Create a button belonging to the specified group, with a label inside.
+ * You won't be able to add a widget to this button
+ * since it already contains a Gtk::Label.
+ */
+ RadioButton(Group& group, const Glib::ustring& label, bool mnemonic = false);
+
+
+ /** Get the radio button's group.
+ * This group may be passed to the constructors of other radio buttons, or used with set_group().
+ *
+ * @result The group to which the radio button belongs.
+ */
+ _WRAP_METHOD(Group get_group(), gtk_radio_button_get_group)
+
+ /** Set the radio button's group.
+ * You can obtain a suitable group from another radio button by using get_group().
+ *
+ * @result The group to which the radio button should belong.
+ */
+ void set_group(Group& group);
+
+ /** Remove the radio button from the group.
+ */
+ void reset_group();
+ _IGNORE(gtk_radio_button_set_group)
+
+ _WRAP_SIGNAL(void group_changed(), "group_changed")
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/radiomenuitem.ccg b/libs/gtkmm2/gtk/src/radiomenuitem.ccg
new file mode 100644
index 0000000000..7be68a7ea6
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/radiomenuitem.ccg
@@ -0,0 +1,63 @@
+// -*- c++ -*-
+/* $Id: radiomenuitem.ccg,v 1.2 2003/10/28 17:12:27 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/misc.h>
+#include <gtkmm/label.h>
+#include <gtk/gtkradiomenuitem.h>
+
+typedef Gtk::RadioMenuItem::Group Group; //So that the generate get_group return type is parsed.
+
+namespace Gtk
+{
+
+RadioMenuItem::RadioMenuItem(Group& groupx)
+:
+ _CONSTRUCT()
+{
+ groupx.add(*this);
+}
+
+RadioMenuItem::RadioMenuItem(Group& groupx, const Glib::ustring &label, bool mnemonic)
+:
+ _CONSTRUCT()
+{
+ groupx.add(*this);
+ add_accel_label(label, mnemonic);
+}
+
+void RadioMenuItem::set_group(Group& group)
+{
+ gtk_radio_menu_item_set_group(gobj(), group.group_);
+
+ //The group will be updated, ready for use with the next radiomenuitem:
+ group = get_group();
+}
+
+void RadioMenuItem::reset_group()
+{
+ gtk_radio_menu_item_set_group(gobj(), 0);
+}
+
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/radiomenuitem.hg b/libs/gtkmm2/gtk/src/radiomenuitem.hg
new file mode 100644
index 0000000000..c36472619d
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/radiomenuitem.hg
@@ -0,0 +1,71 @@
+/* $Id: radiomenuitem.hg,v 1.7 2005/04/07 08:46:44 murrayc Exp $ */
+
+/* radiomenuitem.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/checkmenuitem.h>
+#include <gtkmm/radiobutton.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/checkmenuitem_p.h)
+
+namespace Gtk
+{
+
+class RadioMenuItem;
+
+/** A CheckMenuItem that belongs to a group.
+ * At each instant exactly one of the menu items from a group is selected.
+ * @ingroup Menus
+ * @ingroup Widgets
+ */
+class RadioMenuItem : public CheckMenuItem
+{
+ _CLASS_GTKOBJECT(RadioMenuItem, GtkRadioMenuItem, GTK_RADIO_MENU_ITEM, Gtk::CheckMenuItem, GtkCheckMenuItem)
+public:
+
+ typedef RadioButtonGroup Group;
+
+ RadioMenuItem(Group& groupx);
+ _IGNORE(gtk_radio_menu_item_new)
+ RadioMenuItem(Group& groupx, const Glib::ustring& label, bool mnemonic = false);
+ _IGNORE(gtk_radio_menu_item_new_with_label, gtk_radio_menu_item_new_with_mnemonic)
+
+ //We ignore the _new_*_from_widget() functions because they are just the same as calling get_group() and set_group() ourselves.
+ _IGNORE(gtk_radio_menu_item_new_from_widget, gtk_radio_menu_item_new_with_mnemonic_from_widget, gtk_radio_menu_item_new_with_label_from_widget)
+
+ _WRAP_METHOD(Group get_group(), gtk_radio_menu_item_get_group)
+ _IGNORE(gtk_radio_menu_item_set_group)
+ void set_group(Group& group);
+ void reset_group();
+
+ /** Emitted when the group of radio menu items that a radio menu item belongs
+ * to changes. This is emitted when a radio menu item switches from
+ * being alone to being part of a group of 2 or more menu items, or
+ * vice-versa, and when a buttton is moved from one group of 2 or
+ * more menu items to a different one, but not when the composition
+ * of the group that a menu item belongs to changes.
+ */
+ _WRAP_SIGNAL(void group_changed(), "group_changed")
+
+protected:
+ void constructor(const Group& group);
+};
+
+} /* namspace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/radiotoolbutton.ccg b/libs/gtkmm2/gtk/src/radiotoolbutton.ccg
new file mode 100644
index 0000000000..065896b0f7
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/radiotoolbutton.ccg
@@ -0,0 +1,68 @@
+// -*- c++ -*-
+/* $Id: radiotoolbutton.ccg,v 1.4 2003/12/06 14:06:18 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkradiotoolbutton.h>
+
+typedef Gtk::RadioToolButton::Group Group; //So that the generate get_group return type is parsed.
+
+namespace Gtk
+{
+
+RadioToolButton::RadioToolButton(Group& group, const Glib::ustring& label)
+:
+ Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ Gtk::ToggleToolButton(Glib::ConstructParams(radiotoolbutton_class_.init(), "label", label.c_str(), (char*) 0))
+{
+ set_group(group);
+}
+
+RadioToolButton::RadioToolButton(Group& group, const Gtk::StockID& stock_id)
+:
+ Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ Gtk::ToggleToolButton(Glib::ConstructParams(radiotoolbutton_class_.init(), "stock_id", (stock_id).get_c_str(), (char*) 0))
+{
+ //Based on the source of gtk_radio_tool_button_new_from_stock():
+ set_group(group);
+}
+
+/* This would look too much like a copy constructor:
+RadioToolButton::RadioToolButton(RadioToolButton& group, const Gtk::StockID& stock_id)
+:
+ Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ Gtk::ToggleToolButton(Glib::ConstructParams(radiotoolbutton_class_.init(), "stock_id", (stock_id).get_c_str(), (char*) 0))
+{
+ //Based on the source of gtk_radio_tool_button_new_with_stock_from_widget():
+ Gtk::RadioButtonGroup radiogroup = group.get_group();
+ set_group(radiogroup);
+}
+*/
+
+RadioToolButton::RadioToolButton(Widget& icon_widget, const Glib::ustring& label)
+:
+ Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ Gtk::ToggleToolButton(Glib::ConstructParams(radiotoolbutton_class_.init(), "icon_widget", (icon_widget).gobj(), "label", label.c_str(), (char*) 0))
+{
+}
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/radiotoolbutton.hg b/libs/gtkmm2/gtk/src/radiotoolbutton.hg
new file mode 100644
index 0000000000..172cd3a6ee
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/radiotoolbutton.hg
@@ -0,0 +1,107 @@
+/* $Id: radiotoolbutton.hg,v 1.10 2005/11/30 14:10:49 murrayc Exp $ */
+
+/* box.h
+ *
+ * Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/toggletoolbutton.h>
+#include <gtkmm/radiobuttongroup.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/toggletoolbutton_p.h)
+
+
+namespace Gtk
+{
+
+/** A toolbar item that contains a radio button.
+ *
+ * A Gtk::RadioToolButton is a Gtk::ToolItem that contains a radio button, that is,
+ * a button that is part of a group of toggle buttons where only one button can be
+ * active at a time.
+ *
+ * @ingroup Widgets
+ */
+class RadioToolButton : public ToggleToolButton
+{
+ _CLASS_GTKOBJECT(RadioToolButton, GtkRadioToolButton, GTK_RADIO_TOOL_BUTTON, Gtk::ToggleToolButton, GtkToggleToolButton)
+public:
+ typedef RadioButtonGroup Group;
+
+ /** Creates a new Gtk::RadioToolButton and a new group.
+ *
+ * The RadioToolButton will have an empty label and will reside in an newly created Group.
+ * Use get_group() to retrieve this group and pass it to other radio buttons to assign
+ * them to this group.
+ *
+ * @newin2p4
+ */
+ _CTOR_DEFAULT()
+
+ /** Creates a new Gtk::RadioToolButton in an existing group.
+ *
+ * The RadioToolButton will have the label @a label and will be put into the Group
+ * @a group.
+ *
+ * @param group The existing group which will be used for this RadioButton.
+ * @param label The string used to display the label for this RadioToolButton.
+ *
+ * @newin2p4
+ */
+ explicit RadioToolButton(Group& group, const Glib::ustring& label = Glib::ustring());
+ _IGNORE(gtk_radio_tool_button_new)
+
+ /** Creates a new Gtk::RadioToolButton in an existing group.
+ *
+ * The RadioToolButton will be created according to the StockID properties and put into
+ * the Group @a group.
+ *
+ * @param group The existing group which will be used for this RadioButton.
+ * @param stock_id The StockID which determines the look of the RadioToolButton.
+ *
+ * @newin2p4
+ */
+ RadioToolButton(Group& group, const Gtk::StockID& stock_id);
+ _IGNORE(gtk_radio_tool_button_new_from_stock)
+
+ //This would look to much like a copy constructor:
+ //People should use second.set_group(first.get_group()) instead.
+ //explicit RadioToolButton(RadioToolButton& group, const Gtk::StockID& stock_id = Gtk::StockID());
+ _IGNORE(gtk_radio_tool_button_new_with_stock_from_widget, gtk_radio_tool_button_new_from_widget)
+
+ //This does not correspond to any gtk_radio_tool_button_*_new() function,
+ //but it should work (it just sets properties), and it makes this class consistent with the
+ //other ToolButton classes.
+
+ /** Creates a new Gtk::RadioToolButton with an image and a new group.
+ *
+ * The RadioToolButton will have the label @a label and an image widget @a icon_widget.
+ *
+ * @param icon_widget The widget placed as the RadioToolButton's icon.
+ * @param label The string used to display the label for this RadioToolButton.
+ *
+ * @newin2p4
+ */
+ explicit RadioToolButton(Widget& icon_widget, const Glib::ustring& label = Glib::ustring());
+
+
+ _WRAP_METHOD(Group get_group(), gtk_radio_tool_button_get_group)
+ _WRAP_METHOD(void set_group(Group& group), gtk_radio_tool_button_set_group)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/range.ccg b/libs/gtkmm2/gtk/src/range.ccg
new file mode 100644
index 0000000000..bea82cb9da
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/range.ccg
@@ -0,0 +1,34 @@
+// -*- c++ -*-
+/* $Id: range.ccg,v 1.1 2003/01/21 13:40:35 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkrange.h>
+#include <gtkmm/adjustment.h>
+
+namespace Gtk
+{
+
+void Range::unset_adjustment()
+{
+ gtk_range_set_adjustment(gobj(), 0);
+}
+
+} // namespace Gtk
+
+
diff --git a/libs/gtkmm2/gtk/src/range.hg b/libs/gtkmm2/gtk/src/range.hg
new file mode 100644
index 0000000000..d1309a9488
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/range.hg
@@ -0,0 +1,114 @@
+/* $Id: range.hg,v 1.8 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/widget.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/widget_p.h)
+
+
+namespace Gtk
+{
+
+_WRAP_ENUM(SensitivityType, GtkSensitivityType)
+
+class Adjustment;
+
+/** Base class for widgets which visualize an adjustment.
+ *
+ * @ingroup Widgets
+ */
+class Range : public Widget
+{
+ _CLASS_GTKOBJECT(Range,GtkRange,GTK_RANGE,Gtk::Widget,GtkWidget)
+protected:
+ _CTOR_DEFAULT
+public:
+
+
+ _WRAP_METHOD(void set_update_policy(UpdateType policy), gtk_range_set_update_policy)
+ _WRAP_METHOD(UpdateType get_update_policy() const, gtk_range_get_update_policy)
+ _WRAP_METHOD(void set_adjustment(Gtk::Adjustment& adjustment), gtk_range_set_adjustment)
+ void unset_adjustment();
+
+ _WRAP_METHOD(Gtk::Adjustment* get_adjustment(), gtk_range_get_adjustment)
+ _WRAP_METHOD(const Gtk::Adjustment* get_adjustment() const, gtk_range_get_adjustment, constversion)
+ _WRAP_METHOD(void set_inverted(bool setting = true), gtk_range_set_inverted)
+ _WRAP_METHOD(bool get_inverted() const, gtk_range_get_inverted)
+
+ _WRAP_METHOD(void set_lower_stepper_sensitivity(SensitivityType sensitivity), gtk_range_set_lower_stepper_sensitivity)
+ _WRAP_METHOD(SensitivityType get_lower_stepper_sensitivity() const, gtk_range_get_lower_stepper_sensitivity)
+ _WRAP_METHOD(void set_upper_stepper_sensitivity(SensitivityType sensitivity), gtk_range_set_upper_stepper_sensitivity)
+ _WRAP_METHOD(SensitivityType get_upper_stepper_sensitivity() const, gtk_range_get_upper_stepper_sensitivity)
+
+ _WRAP_METHOD(void set_increments(double step, double page), gtk_range_set_increments)
+ _WRAP_METHOD(void set_range(double min, double max), gtk_range_set_range)
+ _WRAP_METHOD(void set_value(double value), gtk_range_set_value)
+ _WRAP_METHOD(double get_value() const, gtk_range_get_value)
+
+ _WRAP_METHOD(void set_show_fill_level(bool show_fill_level = true), gtk_range_set_show_fill_level)
+ _WRAP_METHOD(bool get_show_fill_level() const, gtk_range_get_show_fill_level)
+ _WRAP_METHOD(void set_restrict_to_fill_level(bool restrict_to_fill_level = true), gtk_range_set_restrict_to_fill_level)
+ _WRAP_METHOD(bool get_restrict_to_fill_level() const, gtk_range_get_restrict_to_fill_level)
+ _WRAP_METHOD(void set_fill_level(double fill_level), gtk_range_set_fill_level)
+ _WRAP_METHOD(double get_fill_level() const, gtk_range_get_fill_level)
+
+ _WRAP_SIGNAL(void value_changed(), "value_changed")
+ _WRAP_SIGNAL(void adjust_bounds(double new_value), "adjust_bounds")
+ _WRAP_SIGNAL(void move_slider(ScrollType scroll), "move_slider")
+
+ //We use no_default_handler for this, because we can not add a new vfunc to 2.5 without breaking ABI.
+ //TODO: Remove no_default_handler when we do an ABI-break-with-parallel-install.
+ /** The change_value signal is emitted when a scroll action is
+ * performed on a range. It allows an application to determine the
+ * type of scroll event that occurred and the resultant new value.
+ * The application can handle the event itself and return true to
+ * prevent further processing. Or, by returning false, it can pass
+ * the event to other handlers until the default GTK+ handler is
+ * reached.
+ *
+ * The value parameter is unrounded. An application that overrides
+ * the change_value signal is responsible for clamping the value to
+ * the desired number of decimal digits; the default handler
+ * clamps the value based on range->round_digits.
+ *
+ * It is not possible to use delayed update policies in an overridden
+ * change_value handler.
+ *
+ * @param scroll the type of scroll action that was performed.
+ * @param new_value the new value resulting from the scroll action.
+ * @result true to prevent other handlers from being invoked for the
+ * signal, or false to propagate the signal further.
+ */
+ _WRAP_SIGNAL(bool change_value(ScrollType scroll, double new_value), "change_value", no_default_handler)
+
+ _WRAP_PROPERTY("update-policy", UpdateType)
+ _WRAP_PROPERTY("adjustment", Adjustment*)
+ _WRAP_PROPERTY("inverted", bool)
+ _WRAP_PROPERTY("lower-stepper-sensitivity", SensitivityType)
+ _WRAP_PROPERTY("upper-stepper-sensitivity", SensitivityType)
+ _WRAP_PROPERTY("show-fill-level", bool)
+ _WRAP_PROPERTY("restrict-to-fill-level", bool)
+ _WRAP_PROPERTY("fill-level", double)
+
+protected:
+ _WRAP_VFUNC(void get_range_border(GtkBorder* border) const, get_range_border)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/rc.ccg b/libs/gtkmm2/gtk/src/rc.ccg
new file mode 100644
index 0000000000..8308094e20
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/rc.ccg
@@ -0,0 +1,177 @@
+// -*- c++ -*-
+/* $Id: rc.ccg,v 1.3 2004/03/02 21:49:58 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/utility.h>
+#include <gtkmm/settings.h>
+#include <gtkmm/widget.h>
+#include <gtkmm/style.h>
+#include <gtk/gtkrc.h>
+
+
+namespace Gtk
+{
+
+void RcStyle::set_name(const Glib::ustring& name)
+{
+ const Glib::ScopedPtr<char> old_name (gobj()->name);
+ gobj()->name = g_strdup(name.c_str());
+}
+
+void RcStyle::set_bg_pixmap_name(StateType state, const Glib::ustring& name)
+{
+ const Glib::ScopedPtr<char> old_name (gobj()->bg_pixmap_name[state]);
+ gobj()->bg_pixmap_name[state] = g_strdup(name.c_str());
+}
+
+Glib::ustring RcStyle::get_bg_pixmap_name(StateType state) const
+{
+ if(const char *const name = gobj()->bg_pixmap_name[state])
+ return Glib::ustring(name);
+ else
+ return Glib::ustring();
+}
+
+void RcStyle::set_font(const Pango::FontDescription& font_desc)
+{
+ g_return_if_fail(font_desc.gobj() != 0);
+
+ const Pango::FontDescription old_font_desc (gobj()->font_desc, false);
+ gobj()->font_desc = font_desc.gobj_copy();
+}
+
+Pango::FontDescription RcStyle::get_font() const
+{
+ return Pango::FontDescription(gobj()->font_desc, true);
+}
+
+void RcStyle::set_color_flags(StateType state, RcFlags flags)
+{
+ gobj()->color_flags[state] = static_cast<GtkRcFlags>(gobj()->color_flags[state] | flags);
+}
+
+void RcStyle::unset_color_flags(StateType state, RcFlags flags)
+{
+ gobj()->color_flags[state] = static_cast<GtkRcFlags>(gobj()->color_flags[state] & ~flags);
+}
+
+RcFlags RcStyle::get_color_flags(StateType state) const
+{
+ return static_cast<RcFlags>(unsigned(gobj()->color_flags[state]));
+}
+
+void RcStyle::set_xthickness(int xthickness)
+{
+ gobj()->xthickness = xthickness;
+}
+
+void RcStyle::set_ythickness(int ythickness)
+{
+ gobj()->ythickness = ythickness;
+}
+
+
+RC::RC(const Glib::ustring& filename)
+{
+ //gtk_rc_init();
+ gtk_rc_parse(filename.c_str());
+}
+
+Glib::RefPtr<Style>
+RC::get_style(const Widget &widget)
+{
+ return Glib::wrap(gtk_rc_get_style(const_cast<GtkWidget*>(widget.gobj())));
+}
+
+void
+RC::parse_string(const Glib::ustring& rc_string)
+{
+ gtk_rc_parse_string(const_cast<char*>(rc_string.c_str()));
+}
+
+
+void
+RC::add_default_file(const Glib::ustring& filename)
+{
+ gtk_rc_add_default_file(const_cast<char*>(filename.c_str()));
+}
+
+void
+RC::set_default_files(const Glib::ArrayHandle<Glib::ustring>& filenames)
+{
+ gtk_rc_set_default_files(const_cast<char**>(filenames.data()));
+}
+
+Glib::ArrayHandle<Glib::ustring>
+RC::get_default_files()
+{
+ return Glib::ArrayHandle<Glib::ustring>(
+ const_cast<const char**>(gtk_rc_get_default_files()), Glib::OWNERSHIP_NONE);
+}
+
+bool RC::reparse_all()
+{
+ return gtk_rc_reparse_all();
+}
+
+bool RC::reparse_all(const Glib::RefPtr<Settings>& settings, bool force_load)
+{
+ return gtk_rc_reparse_all_for_settings(settings->gobj(), force_load);
+}
+
+void RC::reset_styles(const Glib::RefPtr<Settings>& settings)
+{
+ gtk_rc_reset_styles(settings->gobj());
+}
+
+Glib::ustring
+RC::find_pixmap_in_path(const Glib::RefPtr<Settings>& context, GScanner *scanner, const Glib::ustring& pixmap_file)
+{
+ return Glib::convert_return_gchar_ptr_to_ustring(
+ gtk_rc_find_pixmap_in_path(context->gobj(), scanner, const_cast<char*>(pixmap_file.c_str())));
+}
+
+Glib::ustring
+RC::find_pixmap_in_path(const Glib::RefPtr<Settings>& context, const Glib::ustring& pixmap_file)
+{
+ return Glib::convert_return_gchar_ptr_to_ustring(
+ gtk_rc_find_pixmap_in_path(context->gobj(), 0 /* see C docs */, const_cast<char*>(pixmap_file.c_str())));
+}
+
+Glib::ustring
+RC::find_module_in_path(const Glib::ustring& module_file)
+{
+ return Glib::convert_return_gchar_ptr_to_ustring(
+ gtk_rc_find_module_in_path(const_cast<char*>(module_file.c_str())));
+}
+
+Glib::ustring
+RC::get_theme_dir()
+{
+ return Glib::convert_return_gchar_ptr_to_ustring(gtk_rc_get_theme_dir());
+}
+
+Glib::ustring
+RC::get_module_dir()
+{
+ return Glib::convert_return_gchar_ptr_to_ustring(gtk_rc_get_module_dir());
+}
+
+}
+
diff --git a/libs/gtkmm2/gtk/src/rc.hg b/libs/gtkmm2/gtk/src/rc.hg
new file mode 100644
index 0000000000..1f40446bc6
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/rc.hg
@@ -0,0 +1,209 @@
+/* $Id: rc.hg,v 1.6 2005/11/30 14:10:49 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+#m4begin
+
+m4_define(`_RCSTYLE_MEMBER_COLOR',`dnl
+void set_$1(Gtk::StateType state, const Gdk::Color& color);
+ Gdk::Color get_$1(Gtk::StateType state) const;
+_PUSH(SECTION_CC)
+void RcStyle::set_$1(StateType state, const Gdk::Color& color)
+{
+ gobj()->$1[state] = *color.gobj();
+}
+
+Gdk::Color RcStyle::get_$1(StateType state) const
+{
+ return Gdk::Color(const_cast<GdkColor*>(&gobj()->$1[state]), true);
+}
+
+_POP()
+')dnl
+
+#m4end
+
+//#include <gtkmm/settings.h>
+#include <gtkmm/style.h>
+
+
+namespace Gtk
+{
+
+class Widget;
+class Settings;
+class Style;
+
+_CC_INCLUDE(gtk/gtktypebuiltins.h)
+_WRAP_ENUM(RcFlags, GtkRcFlags)
+
+
+class RcStyle : public Glib::Object
+{
+ _CLASS_GOBJECT(RcStyle, GtkRcStyle, GTK_RC_STYLE, Glib::Object, GObject)
+ _IGNORE(gtk_rc_style_ref, gtk_rc_style_unref)
+
+protected:
+ _CTOR_DEFAULT()
+
+public:
+ _WRAP_CREATE()
+ _WRAP_METHOD(Glib::RefPtr<RcStyle> copy() const, gtk_rc_style_copy)
+
+ void set_name(const Glib::ustring& name);
+ _MEMBER_GET(name, name, Glib::ustring, const char*)
+
+ void set_bg_pixmap_name(Gtk::StateType state, const Glib::ustring& name);
+ Glib::ustring get_bg_pixmap_name(Gtk::StateType state) const;
+
+ void set_font(const Pango::FontDescription& font_desc);
+ Pango::FontDescription get_font() const;
+
+ void set_color_flags(Gtk::StateType state, RcFlags flags);
+ void unset_color_flags(Gtk::StateType state, RcFlags flags);
+ RcFlags get_color_flags(Gtk::StateType state) const;
+
+ _RCSTYLE_MEMBER_COLOR(fg)
+ _RCSTYLE_MEMBER_COLOR(bg)
+ _RCSTYLE_MEMBER_COLOR(text)
+ _RCSTYLE_MEMBER_COLOR(base)
+
+ void set_xthickness(int xthickness);
+ _MEMBER_GET(xthickness, xthickness, int, gint)
+
+ void set_ythickness(int ythickness);
+ _MEMBER_GET(ythickness, ythickness, int, gint)
+};
+
+
+class RC
+{
+public:
+ explicit RC(const Glib::ustring& filename);
+
+ /** Finds all matching RC styles for a given widget,
+ * composites them together, and then creates a
+ * Gtk::Style representing the composite appearance.
+ *
+ * @param widget a Gtk::Widget.
+ * @result the resulting style.
+ */
+ static Glib::RefPtr<Style> get_style(const Widget& widget);
+
+ static void parse_string(const Glib::ustring &rc_string);
+
+ /** Adds a file to the list of files to be parsed at the end of gtk_init().
+ *
+ * @param filename the pathname to the file. If @a filename is not absolute, it is searched in the current directory.
+ */
+ static void add_default_file(const Glib::ustring& filename);
+
+ /** Sets the list of files that GTK+ will read at the end of gtk_init().
+ *
+ * @param filenames A list of filenames.
+ */
+ static void set_default_files(const Glib::StringArrayHandle& filenames);
+
+ /** Retrieves the current list of RC files that will be parsed
+ * at the end of gtk_init().
+ *
+ * @result An array of filenames.
+ */
+ static Glib::StringArrayHandle get_default_files();
+
+ /** If the modification time on any previously read file for the
+ * default Gtk::Settings has changed, discard all style information
+ * and then reread all previously read RC files.
+ *
+ * @result true if the files were reread.
+ */
+ static bool reparse_all();
+
+ /** If the modification time on any previously read file
+ * for the given Gtk::Settings has changed, discard all style information
+ * and then reread all previously read RC files.
+ *
+ * @param settings a Gtk::Settings
+ * @param force_load load whether or not anything changed
+ * @result true if the files were reread.
+ */
+ static bool reparse_all(const Glib::RefPtr<Settings>& settings, bool force_load = true);
+
+ /** This method recomputes the styles for all widgets that use a
+ * particular Gtk::Settings object. (There is one Gtk::Settings object
+ * per Gdk::Screen - see Gtk::Settings::get_for_screen()); It is useful
+ * when some global parameter has changed that affects the appearance
+ * of all widgets, because when a widget gets a new style, it will
+ * both redraw and recompute any cached information about its
+ * appearance. As an example, it is used when the default font size
+ * set by the operating system changes. Note that this function
+ * doesn't affect widgets that have a style set explicitely on them
+ * with Gtk::Widget::set_style().
+ *
+ * @param settings a Gtk::Settings
+ *
+ * @newin2p4
+ */
+ static void reset_styles(const Glib::RefPtr<Settings>& settings);
+
+ /** Looks up a file in pixmap path for the specified Gtk::Settings.
+ * If the file is not found, it outputs a warning message using
+ * g_warning() and returns an empty string.
+ *
+ * @param settings a Gtk::Settings
+ * @param scanner Scanner used to get line number information for the warning message.
+ * @param pixmap_file name of the pixmap file to locate.
+ * @result the filename.
+ */
+ static Glib::ustring find_pixmap_in_path(const Glib::RefPtr<Settings>& settings, GScanner* scanner, const Glib::ustring& pixmap_file);
+
+ /** Looks up a file in pixmap path for the specified Gtk::Settings.
+ * If the file is not found, it outputs a warning message using
+ * g_warning() and returns an empty string.
+ *
+ * @param settings a Gtk::Settings
+ * @param pixmap_file name of the pixmap file to locate.
+ * @result the filename.
+ */
+ static Glib::ustring find_pixmap_in_path(const Glib::RefPtr<Settings>& settings, const Glib::ustring& pixmap_file);
+
+ /** Searches for a theme engine in the GTK+ search path. This function
+ * is not useful for applications and should not be used.
+ *
+ * @param pixmap_file name of a theme engine.
+ * @result The filename, if found, otherwise an empty string.
+ **/
+ static Glib::ustring find_module_in_path(const Glib::ustring& pixmap_file);
+
+ static Glib::ustring get_theme_dir();
+
+ /** Returns a directory in which GTK+ looks for theme engines.
+ * For full information about the search for theme engines,
+ * see the GTK+ docs.
+ *
+ * @result the directory.
+ **/
+ static Glib::ustring get_module_dir();
+
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/recentaction.ccg b/libs/gtkmm2/gtk/src/recentaction.ccg
new file mode 100644
index 0000000000..2aece4bf10
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/recentaction.ccg
@@ -0,0 +1,34 @@
+// -*- c++ -*-
+/* $Id: recentaction.ccg,v 1.5 2004/03/27 00:30:38 murrayc Exp $ */
+
+/* Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkrecentaction.h>
+
+
+namespace Gtk
+{
+
+Glib::RefPtr<RecentAction> RecentAction::create(const Glib::ustring& name, const Glib::ustring& label, const Glib::ustring& tooltip)
+{
+ return Glib::RefPtr<RecentAction>( new RecentAction(name, StockID(), label, tooltip) );
+}
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/recentaction.hg b/libs/gtkmm2/gtk/src/recentaction.hg
new file mode 100644
index 0000000000..d2a3aa003b
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/recentaction.hg
@@ -0,0 +1,78 @@
+/* $Id: recentaction.hg,v 1.5 2004/07/01 08:55:45 murrayc Exp $ */
+
+/* Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/action.h>
+#include <gtkmm/recentmanager.h>
+#include <gtkmm/stockid.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/action_p.h)
+
+
+namespace Gtk
+{
+
+/** An action of which represents a list of recently used files.
+ *
+ * A Gtk::RecentAction represents a list of recently used files,
+ * which can be shown by widgets such as Gtk::RecentChooserDialog or
+ * Gtk::RecentChooserMenu.
+ * To construct a submenu showing recently used files, use a
+ * Gtk::RecentAction as the action for a <menuitem>. To construct a menu
+ * toolbutton showing the recently used files in the popup menu, use a
+ * Gtk::RecentAction as the action for a <toolitem> element.
+ *
+ * @newin2p12
+ *
+ * @ingroup RecentFiles
+ */
+class RecentAction : public Gtk::Action
+{
+ _CLASS_GOBJECT(RecentAction, GtkRecentAction, GTK_RECENT_ACTION, Gtk::Action, GtkAction)
+
+protected:
+ _CTOR_DEFAULT
+
+//Make sure that we use NULL instead of empty strings for the constructors:
+#m4 _CONVERSION(`const Glib::ustring&',`const char*',`$3.empty() ? 0 : $3.c_str()')
+
+ //Note that the order of the parameters is not the same as gtk_recent_action_new(), because
+ //a) we want to be consistent with Action, ToggleAction, etc.
+ //b) this allows us to use the StockID parameter to distinguish the create() overloads.
+ _WRAP_CTOR(RecentAction(const Glib::ustring& name, const StockID& stock_id = StockID(), const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring()), gtk_recent_action_new)
+ _WRAP_CTOR(RecentAction(const Glib::ustring& name, const StockID& stock_id, const Glib::ustring& label, const Glib::ustring& tooltip, const Glib::RefPtr<RecentManager>& manager), gtk_recent_action_new_for_manager )
+
+public:
+ //Note that gtk_recent_action_new() does not allow name to be NULL, which suggests that we should not have a default constructor,
+ //but it's OK to set the name later:
+ _WRAP_CREATE()
+
+ static Glib::RefPtr<RecentAction> create(const Glib::ustring& name, const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring());
+ _WRAP_CREATE(const Glib::ustring& name, const Gtk::StockID& stock_id, const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring())
+ _WRAP_CREATE(const Glib::ustring& name, const Gtk::StockID& stock_id, const Glib::ustring& label, const Glib::ustring& tooltip, const Glib::RefPtr<RecentManager>& manager)
+
+
+ _WRAP_METHOD(bool get_show_numbers(), gtk_recent_action_get_show_numbers)
+ _WRAP_METHOD(void set_show_numbers(bool show_numbers = true), gtk_recent_action_set_show_numbers)
+
+ _WRAP_PROPERTY("show-numbers", bool)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/recentchooser.ccg b/libs/gtkmm2/gtk/src/recentchooser.ccg
new file mode 100644
index 0000000000..bd775bd637
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/recentchooser.ccg
@@ -0,0 +1,75 @@
+/* Copyright 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkrecentchooser.h>
+
+// This Signal Proxy allows the C++ coder to specify a sigc::slot instead of a static function.
+
+static int SignalProxy_Compare_gtk_callback(GtkRecentInfo* a, GtkRecentInfo* b, gpointer data)
+{
+ const Gtk::RecentChooser::SlotCompare* the_slot = static_cast<Gtk::RecentChooser::SlotCompare*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ return (*the_slot)(Glib::wrap(a, true /* take reference */), Glib::wrap(b, true /* take reference */));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+
+ return 0;
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+static void SignalProxy_Compare_gtk_callback_destroy(gpointer data)
+{
+ delete static_cast<Gtk::RecentChooser::SlotCompare*>(data);
+}
+
+
+namespace Gtk
+{
+
+//Allow the generated code to work without the prefix:
+typedef RecentChooser::ListHandle_RecentInfos ListHandle_RecentInfos;
+
+void RecentChooser::set_sort_func(const SlotCompare& slot)
+{
+ SlotCompare* slot_copy = new SlotCompare(slot);
+
+ gtk_recent_chooser_set_sort_func(
+ gobj(),
+ &SignalProxy_Compare_gtk_callback, slot_copy,
+ &SignalProxy_Compare_gtk_callback_destroy);
+}
+
+Glib::StringArrayHandle RecentChooser::get_uris() const
+{
+ return Glib::StringArrayHandle(gtk_recent_chooser_get_uris(const_cast<GtkRecentChooser*>(gobj()), NULL));
+}
+
+void RecentChooser::unset_limit()
+{
+ gtk_recent_chooser_set_limit(gobj(), -1 /* See C docs */);
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/recentchooser.hg b/libs/gtkmm2/gtk/src/recentchooser.hg
new file mode 100644
index 0000000000..196aeccdc6
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/recentchooser.hg
@@ -0,0 +1,167 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkrecentchooser.h>
+#include <glibmm/interface.h>
+#include <gtkmm/recentinfo.h>
+#include <gtkmm/recentfilter.h>
+#include <gtkmm/recentmanager.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/interface_p.h)
+
+namespace Gtk
+{
+
+_WRAP_ENUM(RecentSortType, GtkRecentSortType)
+
+/** Exception class for Gtk::RecentChooser errors.
+ */
+_WRAP_GERROR(RecentChooserError,GtkRecentChooserError,GTK_RECENT_CHOOSER_ERROR)
+
+/** RecentChooser is an interface that can be implemented by widgets
+ * displaying the list of recently used files. In GTK+, the main objects
+ * that implement this interface are RecentChooserWidget, RecentChooserDialog
+ * and RecentChooserMenu.
+ *
+ * @newin2p10
+ *
+ * @ingroup RecentFiles
+ */
+class RecentChooser : public Glib::Interface
+{
+ _CLASS_INTERFACE(RecentChooser, GtkRecentChooser, GTK_RECENT_CHOOSER, GtkRecentChooserIface)
+public:
+
+ _WRAP_METHOD(void set_show_private(bool show_private = true), gtk_recent_chooser_set_show_private)
+ _WRAP_METHOD(bool get_show_private() const, gtk_recent_chooser_get_show_private)
+ _WRAP_METHOD(void set_show_not_found(bool show_not_found = true), gtk_recent_chooser_set_show_not_found)
+ _WRAP_METHOD(bool get_show_not_found() const, gtk_recent_chooser_get_show_not_found)
+ _WRAP_METHOD(void set_select_multiple(bool select_multiple = true), gtk_recent_chooser_set_select_multiple)
+ _WRAP_METHOD(bool get_select_multiple() const, gtk_recent_chooser_get_select_multiple)
+ _WRAP_METHOD(void set_limit(int limit), gtk_recent_chooser_set_limit)
+ void unset_limit();
+ _WRAP_METHOD(int get_limit() const, gtk_recent_chooser_get_limit)
+ _WRAP_METHOD(void set_local_only(bool local_only = true), gtk_recent_chooser_set_local_only)
+ _WRAP_METHOD(bool get_local_only() const, gtk_recent_chooser_get_local_only)
+ _WRAP_METHOD(void set_show_tips(bool show_tips = true), gtk_recent_chooser_set_show_tips)
+ _WRAP_METHOD(bool get_show_tips() const, gtk_recent_chooser_get_show_tips)
+
+ // Deprecated in GTK+ 2.12. murrayc:
+ _IGNORE(gtk_recent_chooser_get_show_numbers, gtk_recent_chooser_set_show_numbers)
+
+ _WRAP_METHOD(void set_show_icons(bool show_icons = true), gtk_recent_chooser_set_show_icons)
+ _WRAP_METHOD(bool get_show_icons() const, gtk_recent_chooser_get_show_icons)
+ _WRAP_METHOD(void set_sort_type(RecentSortType sort_type), gtk_recent_chooser_set_sort_type)
+ _WRAP_METHOD(RecentSortType get_sort_type() const, gtk_recent_chooser_get_sort_type)
+
+
+ /** This callback should return -1 if b compares before a, 0 if they compare
+ * equal and 1 if a compares after b.
+ * For instance, int on_sort_compare(const Glib::RefPtr<Gtk::RecentInfo>& a, const Gtk::RecentInfo& b);
+ */
+ typedef sigc::slot<int, const Glib::RefPtr<RecentInfo>&, const Glib::RefPtr<RecentInfo>&> SlotCompare;
+ _IGNORE(gtk_recent_chooser_set_sort_func)
+
+ /** Sets the comparison function used when sorting the list of recently
+ * used resources and the sort type is #RECENT_SORT_CUSTOM.
+ */
+ void set_sort_func(const SlotCompare& slot);
+
+ // TODO: Return type should be void since it will never return false but
+ // throwing RecentChooserError instead
+ _WRAP_METHOD(bool set_current_uri(const Glib::ustring& uri), gtk_recent_chooser_set_current_uri, errthrow)
+ _WRAP_METHOD(Glib::ustring get_current_uri() const, gtk_recent_chooser_get_current_uri)
+ _WRAP_METHOD(Glib::RefPtr<RecentInfo> get_current_item(), gtk_recent_chooser_get_current_item, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const RecentInfo> get_current_item() const, gtk_recent_chooser_get_current_item, refreturn)
+ // TODO: Same here
+ _WRAP_METHOD(bool select_uri(const Glib::ustring& uri), gtk_recent_chooser_select_uri, errthrow)
+ _WRAP_METHOD(void unselect_uri(const Glib::ustring& uri), gtk_recent_chooser_unselect_uri)
+ _WRAP_METHOD(void select_all(), gtk_recent_chooser_select_all)
+ _WRAP_METHOD(void unselect_all(), gtk_recent_chooser_unselect_all)
+
+ typedef Glib::ListHandle<RecentInfo, RecentInfoTraits> ListHandle_RecentInfos;
+ _CONVERSION(`GList*',`ListHandle_RecentInfos',__FL2H_SHALLOW)
+
+ _WRAP_METHOD(ListHandle_RecentInfos get_items() const, gtk_recent_chooser_get_items)
+
+ /** Gets the URI of the recently used resources.
+ *
+ * The return value of this function is affected by the "sort-type" and
+ * "limit" properties of the recent chooser.
+ */
+ Glib::StringArrayHandle get_uris() const;
+ _IGNORE(gtk_recent_chooser_get_uris)
+
+ _WRAP_METHOD(void add_filter(const RecentFilter& filter), gtk_recent_chooser_add_filter)
+ _WRAP_METHOD(void remove_filter(const RecentFilter& filter), gtk_recent_chooser_remove_filter)
+ _WRAP_METHOD(Glib::SListHandle<RecentFilter*> list_filters(), gtk_recent_chooser_list_filters)
+ _WRAP_METHOD(Glib::SListHandle<const RecentFilter*> list_filters() const, gtk_recent_chooser_list_filters)
+ _WRAP_METHOD(void set_filter(const RecentFilter& filter), gtk_recent_chooser_set_filter)
+ _WRAP_METHOD(RecentFilter* get_filter(), gtk_recent_chooser_get_filter)
+ _WRAP_METHOD(const RecentFilter* get_filter() const, gtk_recent_chooser_get_filter)
+
+ /** This signal is emitted when there is a change in the set of
+ * selected recently used resources. This can happen when a user
+ * modifies the selection with the mouse or the keyboard, or when
+ * explicitely calling functions to change the selection.
+ */
+ _WRAP_SIGNAL(void selection_changed(), "selection-changed", no_default_handler)
+
+ /** This signal is emitted when the user "activates" a recent item
+ * in the recent chooser. This can happen by double-clicking on an item
+ * in the recently used resources list, or by pressing
+ * <keycap>Enter</keycap>.
+ */
+ _WRAP_SIGNAL(void item_activated(), "item-activated", no_default_handler)
+
+ _WRAP_PROPERTY("recent-manager", Glib::RefPtr<RecentManager>)
+ _WRAP_PROPERTY("show-private", bool)
+ _WRAP_PROPERTY("show-tips", bool)
+ _WRAP_PROPERTY("show-icons", bool)
+ _WRAP_PROPERTY("show-not-found", bool)
+ _WRAP_PROPERTY("select-multiple", bool)
+ _WRAP_PROPERTY("local-only", bool)
+ _WRAP_PROPERTY("limit", int)
+ _WRAP_PROPERTY("sort-type", RecentSortType)
+ _WRAP_PROPERTY("filter", RecentFilter*)
+
+protected:
+#m4begin
+ // As in editable.hg
+ _CONVERSION(`Glib::ustring', `gchar*', `g_strdup(($3).c_str())')
+#m4end
+ // TODO: How to wrap those vfuncs?
+
+ //_CONVERSION(`ListHandle_RecentInfos', `GList*', `($3).data()')
+ //_CONVERSION(`Glib::SListHandle<RecentFilter*>', `GSList*', `($3).data()')
+
+ //_WRAP_VFUNC(bool set_current_uri(const Glib::ustring& uri), "set_current_uri", errthrow)
+ _WRAP_VFUNC(Glib::ustring get_current_uri() const, "get_current_uri")
+ //_WRAP_VFUNC(bool select_uri(const Glib::ustring& uri), "select_uri", errthrow)
+ _WRAP_VFUNC(void unselect_uri(const Glib::ustring& uri), "unselect_uri")
+ _WRAP_VFUNC(void select_all(), "select_all")
+ _WRAP_VFUNC(void unselect_all(), "unselect_all")
+ //_WRAP_VFUNC(ArrayHandle_RecentInfos get_items() const, "get_items")
+ _WRAP_VFUNC(Glib::RefPtr<RecentManager> get_recent_manager(), "get_recent_manager")
+ _WRAP_VFUNC(void add_filter(const RecentFilter& filter), "add_filter")
+ _WRAP_VFUNC(void remove_filter(const RecentFilter& filter), "remove_filter")
+ //_WRAP_VFUNC(Glib::SListHandle<RecentFilter*> list_filters(), "list_filters")
+ //_WRAP_VFUNC(void set_sort_func(const SlotCompare& slot), "set_sort_func")
+};
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/recentchooserdialog.ccg b/libs/gtkmm2/gtk/src/recentchooserdialog.ccg
new file mode 100644
index 0000000000..0574256fde
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/recentchooserdialog.ccg
@@ -0,0 +1,51 @@
+/* Copyright 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkrecentchooserdialog.h>
+
+
+namespace Gtk
+{
+
+RecentChooserDialog::RecentChooserDialog(Gtk::Window& parent, const Glib::ustring& title)
+:
+ _CONSTRUCT("title", title.c_str())
+{
+ set_transient_for(parent);
+}
+
+RecentChooserDialog::RecentChooserDialog(const Glib::ustring& title)
+:
+ _CONSTRUCT("title", title.c_str())
+{
+}
+
+RecentChooserDialog::RecentChooserDialog(const Glib::ustring& title, const Glib::RefPtr<RecentManager>& recent_manager)
+:
+ _CONSTRUCT("title", title.c_str(), "recent-manager", recent_manager->gobj())
+{
+}
+
+RecentChooserDialog::RecentChooserDialog(Gtk::Window& parent, const Glib::ustring& title, const Glib::RefPtr<RecentManager>& recent_manager)
+:
+ _CONSTRUCT("title", title.c_str(), "recent-manager", recent_manager->gobj())
+{
+ set_transient_for(parent);
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/recentchooserdialog.hg b/libs/gtkmm2/gtk/src/recentchooserdialog.hg
new file mode 100644
index 0000000000..954aeefbe7
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/recentchooserdialog.hg
@@ -0,0 +1,60 @@
+/* recentchooserdialog.h
+ *
+ * Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/dialog.h>
+#include <gtkmm/recentchooser.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/dialog_p.h)
+
+namespace Gtk
+{
+
+/** RecentChooserDialog is a dialog box suitable for displaying the recently
+ * used documents. This widget works by putting a RecentChooserWidget inside
+ * a Dialog. It exposes the RecentChooser interface, so you can use
+ * all the RecentChooser functions on the recent chooser dialog as well as
+ * those for Dialog.
+ *
+ * Note that RecentChooserDialog does not have any methods of its own.
+ * Instead, you should use the functions that work on a RecentChooser.
+ *
+ * @newin2p10
+ *
+ * @ingroup RecentFiles
+ */
+class RecentChooserDialog
+ : public Dialog,
+ public RecentChooser
+{
+ _CLASS_GTKOBJECT(RecentChooserDialog, GtkRecentChooserDialog, GTK_RECENT_CHOOSER_DIALOG, Gtk::Dialog, GtkDialog)
+ _IMPLEMENTS_INTERFACE(RecentChooser)
+ _UNMANAGEABLE
+public:
+ _IGNORE(gtk_recent_chooser_dialog_new)
+ explicit RecentChooserDialog(Gtk::Window& parent, const Glib::ustring& title);
+ explicit RecentChooserDialog(const Glib::ustring& title);
+
+ _IGNORE(gtk_recent_chooser_dialog_new_for_manager)
+ explicit RecentChooserDialog(Gtk::Window& parent, const Glib::ustring& title, const Glib::RefPtr<RecentManager>& recent_manager);
+ explicit RecentChooserDialog(const Glib::ustring& title, const Glib::RefPtr<RecentManager>& recent_manager);
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/recentchoosermenu.ccg b/libs/gtkmm2/gtk/src/recentchoosermenu.ccg
new file mode 100644
index 0000000000..c1a60b858f
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/recentchoosermenu.ccg
@@ -0,0 +1,23 @@
+/* Copyright 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkrecentchoosermenu.h>
+
+namespace Gtk
+{
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/recentchoosermenu.hg b/libs/gtkmm2/gtk/src/recentchoosermenu.hg
new file mode 100644
index 0000000000..ca6b85ab77
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/recentchoosermenu.hg
@@ -0,0 +1,56 @@
+/* recentchoosermenu.h
+ *
+ * Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/menu.h>
+#include <gtkmm/recentchooser.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/menu_p.h)
+
+namespace Gtk
+{
+
+/** RecentChooserMenu is a widget suitable for displaying recently used files
+ * inside a menu. It can be used to set a sub-menu of a MenuItem using
+ * MenuItem::item_set_submenu(), or as the menu of a MenuToolButton.
+ *
+ * Note that RecentChooserMenu does not have any methods of its own. Instead,
+ * you should use the functions that work on a RecentChooser.
+ *
+ * @newin2p10
+ *
+ * @ingroup RecentFiles
+ */
+class RecentChooserMenu
+ : public Menu,
+ public RecentChooser
+{
+ _CLASS_GTKOBJECT(RecentChooserMenu, GtkRecentChooserMenu, GTK_RECENT_CHOOSER_MENU, Gtk::Menu, GtkMenu)
+ _IMPLEMENTS_INTERFACE(RecentChooser)
+public:
+ _CTOR_DEFAULT;
+
+ _WRAP_CTOR(RecentChooserMenu(const Glib::RefPtr<RecentManager>& recent_manager), gtk_recent_chooser_menu_new_for_manager)
+
+ _WRAP_METHOD(void set_show_numbers(bool show_numbers = true), gtk_recent_chooser_menu_set_show_numbers)
+ _WRAP_METHOD(bool get_show_numbers() const, gtk_recent_chooser_menu_get_show_numbers)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/recentchooserwidget.ccg b/libs/gtkmm2/gtk/src/recentchooserwidget.ccg
new file mode 100644
index 0000000000..b949031058
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/recentchooserwidget.ccg
@@ -0,0 +1,23 @@
+/* Copyright 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkrecentchooserwidget.h>
+
+namespace Gtk
+{
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/recentchooserwidget.hg b/libs/gtkmm2/gtk/src/recentchooserwidget.hg
new file mode 100644
index 0000000000..0ec2d22197
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/recentchooserwidget.hg
@@ -0,0 +1,51 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/box.h>
+#include <gtkmm/recentchooser.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/box_p.h)
+
+namespace Gtk
+{
+
+/** RecentChooserWidget is a widget suitable for selecting recently used
+ * files. It is the main building block of a RecentChooserDialog. Most
+ * applications will only need to use the latter; you can use
+ * RecentChooserWidget as part of a larger window if you have special needs.
+ *
+ * Note that RecentChooserWidget does not have any methods of its own.
+ * Instead, you should use the functions that work on a RecentChooser.
+ *
+ * @newin2p10
+ *
+ * @ingroup RecentFiles
+ */
+class RecentChooserWidget
+: public VBox,
+ public RecentChooser
+{
+ _CLASS_GTKOBJECT(RecentChooserWidget, GtkRecentChooserWidget, GTK_RECENT_CHOOSER_WIDGET, Gtk::VBox, GtkVBox)
+ _IMPLEMENTS_INTERFACE(RecentChooser)
+public:
+ _CTOR_DEFAULT;
+
+ _WRAP_CTOR(RecentChooserWidget(const Glib::RefPtr<RecentManager>& recent_manager), gtk_recent_chooser_widget_new_for_manager)
+};
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/recentfilter.ccg b/libs/gtkmm2/gtk/src/recentfilter.ccg
new file mode 100644
index 0000000000..f0da0b90f2
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/recentfilter.ccg
@@ -0,0 +1,90 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkrecentfilter.h>
+#include <gtk/gtktypebuiltins.h>
+
+#include <glibmm/ustring.h>
+
+// This Signal Proxy allows the C++ coder to specify a sigc::slot instead of a static function.
+
+static gboolean SignalProxy_Custom_gtk_callback(const GtkRecentFilterInfo* filter_info, gpointer data)
+{
+ const Gtk::RecentFilter::SlotCustom* the_slot = static_cast<Gtk::RecentFilter::SlotCustom*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Create a suitable C++ instance to pass to the C++ method:
+ Gtk::RecentFilter::Info cppInfo;
+ cppInfo.contains = (Gtk::RecentFilterFlags)filter_info->contains;
+ cppInfo.uri = Glib::convert_const_gchar_ptr_to_ustring(filter_info->uri);
+ cppInfo.display_name = Glib::convert_const_gchar_ptr_to_ustring(filter_info->display_name);
+ cppInfo.mime_type = Glib::convert_const_gchar_ptr_to_ustring(filter_info->mime_type);
+
+ // Create string lists from char**s.
+
+ for(int i = 0; filter_info->groups[i] != 0; ++i)
+ {
+ cppInfo.groups.push_back( Glib::convert_const_gchar_ptr_to_ustring(filter_info->groups[i]) );
+ }
+ for(int i = 0; filter_info->applications[i] != 0; ++i)
+ {
+ cppInfo.applications.push_back( Glib::convert_const_gchar_ptr_to_ustring(filter_info->applications[i]) );
+ }
+
+ cppInfo.age = filter_info->age;
+
+ return (*the_slot)(cppInfo);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ return false; // arbitrary default;
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+static void SignalProxy_Custom_gtk_callback_destroy(void* data)
+{
+ delete static_cast<Gtk::RecentFilter::SlotCustom*>(data);
+}
+
+namespace Gtk
+{
+
+RecentFilter::Info::Info()
+: contains(Gtk::RECENT_FILTER_MIME_TYPE), //arbitrary default
+ age(0)
+{
+}
+
+void RecentFilter::add_custom(RecentFilterFlags needed, const SlotCustom& slot)
+{
+ // Create a copy of the slot. A pointer to this will be passed through the callback's data parameter.
+ // It will be deleted when SignalProxy_Custom_gtk_callback_destroy() is called.
+ SlotCustom* slot_copy = new SlotCustom(slot);
+
+ gtk_recent_filter_add_custom(gobj(), (GtkRecentFilterFlags)needed,
+ &SignalProxy_Custom_gtk_callback,
+ slot_copy,
+ &SignalProxy_Custom_gtk_callback_destroy);
+}
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/recentfilter.hg b/libs/gtkmm2/gtk/src/recentfilter.hg
new file mode 100644
index 0000000000..cb8f5be684
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/recentfilter.hg
@@ -0,0 +1,105 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/object.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/object_p.h)
+
+namespace Gtk
+{
+
+_WRAP_ENUM(RecentFilterFlags, GtkRecentFilterFlags)
+
+
+/** RecentFilter can be used to restrict the files being shown
+ * in a RecentChooser. Files can be filtered based on their name
+ * (with add_pattern()), on their mime type (with add_mime_type()),
+ * on the application that has registered them (with add_application()),
+ * or by a custom filter function (with add_custom()).
+ *
+ * Filtering by mime type handles aliasing and subclassing of mime
+ * types; e.g. a filter for text/plain also matches a file with mime
+ * type application/rtf, since application/rtf is a subclass of text/plain.
+ * Note that RecentFilter allows wildcards for the subtype of a
+ * mime type, so you can e.g. filter for image/ *.
+ *
+ * Normally, filters are used by adding them to a RecentChooser,
+ * see RecentChooser::add_filter(), but it is also possible to
+ * manually use a filter on a file with filter().
+ *
+ * @newin2p10
+ *
+ * @ingroup RecentFiles
+ */
+class RecentFilter : public Gtk::Object
+{
+ _CLASS_GTKOBJECT(RecentFilter, GtkRecentFilter, GTK_RECENT_FILTER, Gtk::Object, GtkObject)
+public:
+ _CTOR_DEFAULT
+
+ _WRAP_METHOD(void set_name(const Glib::ustring& name), gtk_recent_filter_set_name)
+ _WRAP_METHOD(Glib::ustring get_name() const, gtk_recent_filter_get_name)
+
+ _WRAP_METHOD(void add_mime_type(const Glib::ustring& mime_type), gtk_recent_filter_add_mime_type)
+ _WRAP_METHOD(void add_pattern(const Glib::ustring& pattern), gtk_recent_filter_add_pattern)
+ _WRAP_METHOD(void add_pixbuf_formats(), gtk_recent_filter_add_pixbuf_formats)
+ _WRAP_METHOD(void add_application(const Glib::ustring& application), gtk_recent_filter_add_application)
+ _WRAP_METHOD(void add_group(const Glib::ustring& group), gtk_recent_filter_add_group)
+ _WRAP_METHOD(void add_age(int days), gtk_recent_filter_add_age)
+
+ /** A RecentFilter::Info class is used to pass information
+ * about the tested file to filter().
+ *
+ * - contains: Flags indicating which of the following fields need are filled
+ * - uri: the URI of the file being tested
+ * - display_name: the string that will be used to display the file in the recent chooser
+ * - mime_type: the mime type of the file
+ * - applications: the list of applications that have registered the file
+ * - groups: the groups to which the file belongs to
+ * - age: the number of days elapsed since the file has been registered
+ */
+ class Info
+ {
+ public:
+ Info();
+
+ ///This bitmask tells us which of the other variables contain useful information.
+ RecentFilterFlags contains;
+
+ Glib::ustring uri;
+ Glib::ustring display_name;
+ Glib::ustring mime_type;
+ std::list<Glib::ustring> applications;
+ std::list<Glib::ustring> groups;
+ int age;
+ };
+
+ /// For instance, bool on_custom(const Gtk::RecentFilter::Info& filter_info);
+ typedef sigc::slot<bool, const Info&> SlotCustom;
+
+ void add_custom(RecentFilterFlags needed, const SlotCustom& slot);
+ _IGNORE(gtk_recent_filter_add_custom)
+
+ _WRAP_METHOD(RecentFilterFlags get_needed() const, gtk_recent_filter_get_needed)
+
+ // Method is used by class RecentChooser implementors.
+ _IGNORE(gtk_recent_filter_filter)
+ //_WRAP_METHOD(bool filter(const GtkRecentFilterInfo* filter_info), gtk_recent_filter_filter)
+};
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/recentinfo.ccg b/libs/gtkmm2/gtk/src/recentinfo.ccg
new file mode 100644
index 0000000000..46a2dda6e2
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/recentinfo.ccg
@@ -0,0 +1,51 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkrecentmanager.h>
+
+namespace Gtk
+{
+
+bool RecentInfo::equal(const RecentInfo& other) const
+{
+ return (static_cast<bool>(gtk_recent_info_match(const_cast<GtkRecentInfo*>(this->gobj()),
+ const_cast<GtkRecentInfo*>(other.gobj()))));
+}
+
+RecentInfo::operator bool() const
+{
+ return gobj() != 0;
+}
+
+Glib::StringArrayHandle RecentInfo::get_applications() const
+{
+ //We pass 0 for the length output argument, because we don't need it, because the returned array is null-terminated.
+ return Glib::StringArrayHandle(gtk_recent_info_get_applications(const_cast<GtkRecentInfo*>(this->gobj()), 0));
+}
+
+Glib::StringArrayHandle RecentInfo::get_groups() const
+{
+ //We pass 0 for the length output argument, because we don't need it, because the returned array is null-terminated.
+ return Glib::StringArrayHandle(gtk_recent_info_get_groups(const_cast<GtkRecentInfo*>(this->gobj()), 0));
+}
+
+RecentInfoTraits::CppType RecentInfoTraits::to_cpp_type(const CType& obj)
+{
+ return Glib::wrap(const_cast<CTypeNonConst>(obj), true);
+}
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/recentinfo.hg b/libs/gtkmm2/gtk/src/recentinfo.hg
new file mode 100644
index 0000000000..1b58ad7374
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/recentinfo.hg
@@ -0,0 +1,112 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdkmm/pixbuf.h>
+
+#include <time.h>
+
+_DEFS(gtkmm,gtk)
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+typedef struct _GtkRecentInfo GtkRecentInfo;
+#endif //DOXYGEN_SHOULD_SKIP_THIS
+
+namespace Gtk
+{
+
+
+/** Contains informations found when looking up an entry of the
+ * recently used files list.
+ *
+ * @newin2p10
+ *
+ * @ingroup RecentFiles
+ */
+class RecentInfo
+{
+ _CLASS_OPAQUE_REFCOUNTED(RecentInfo, GtkRecentInfo, NONE, gtk_recent_info_ref, gtk_recent_info_unref)
+ _IGNORE(gtk_recent_info_ref, gtk_recent_info_unref)
+public:
+
+ bool equal(const RecentInfo& other) const;
+ /// Tests whether the RecentInfo is valid.
+ operator bool() const;
+
+ _WRAP_METHOD(Glib::ustring get_uri() const, gtk_recent_info_get_uri)
+ _WRAP_METHOD(Glib::ustring get_display_name() const, gtk_recent_info_get_display_name)
+ _WRAP_METHOD(Glib::ustring get_description() const, gtk_recent_info_get_description)
+ _WRAP_METHOD(Glib::ustring get_mime_type() const, gtk_recent_info_get_mime_type)
+
+ _WRAP_METHOD(time_t get_added() const, gtk_recent_info_get_added)
+ _WRAP_METHOD(time_t get_modified() const, gtk_recent_info_get_modified)
+ _WRAP_METHOD(time_t get_visited() const, gtk_recent_info_get_visited)
+
+ _WRAP_METHOD(bool get_private_hint() const, gtk_recent_info_get_private_hint)
+
+ _WRAP_METHOD(bool get_application_info(const Glib::ustring& app_name, Glib::StringArrayHandle& app_exec, guint& count, time_t& time) const, gtk_recent_info_get_application_info)
+ Glib::StringArrayHandle get_applications() const;
+ _IGNORE(gtk_recent_info_get_applications)
+ //_WRAP_METHOD(Glib::StringArrayHandle get_applications(unsigned& length) const, gtk_recent_info_get_applications)
+ _WRAP_METHOD(Glib::ustring last_application() const, gtk_recent_info_last_application)
+ _WRAP_METHOD(bool has_application(const Glib::ustring& app_name) const, gtk_recent_info_has_application)
+
+ Glib::StringArrayHandle get_groups() const;
+ _IGNORE(gtk_recent_info_get_groups)
+ //_WRAP_METHOD(Glib::StringArrayHandle get_groups(unsigned& length) const, gtk_recent_info_get_groups)
+ _WRAP_METHOD(bool has_group(const Glib::ustring& group) const, gtk_recent_info_has_group)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> get_icon(int size), gtk_recent_info_get_icon, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Gdk::Pixbuf> get_icon(int size) const, gtk_recent_info_get_icon, refreturn)
+
+ _WRAP_METHOD(Glib::ustring get_short_name() const, gtk_recent_info_get_short_name)
+ _WRAP_METHOD(Glib::ustring get_uri_display() const, gtk_recent_info_get_uri_display)
+
+ _WRAP_METHOD(int get_age() const, gtk_recent_info_get_age)
+ _WRAP_METHOD(bool is_local() const, gtk_recent_info_is_local)
+ _WRAP_METHOD(bool exists() const, gtk_recent_info_exists)
+
+ _IGNORE(gtk_recent_info_match)
+ //_WRAP_METHOD(bool match(const RecentInfo& b) const, gtk_recent_info_match)
+};
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+struct RecentInfoTraits
+{
+ typedef Glib::RefPtr<RecentInfo> CppType;
+ typedef const GtkRecentInfo* CType;
+ typedef GtkRecentInfo* CTypeNonConst;
+
+ static CType to_c_type(const CppType& obj) { return Glib::unwrap(obj); }
+ static CType to_c_type(const CType& obj) { return obj; }
+ static CppType to_cpp_type(const CType& obj); //Implemented in the .cpp file
+ static void release_c_type(const CType& /* obj */) { /* gtk_recent_info_unref(const_cast<CTypeNonConst>(obj)); */}
+};
+#endif
+
+//TODO: We normally put these inside the class:
+
+/** @relates Gtk::RecentInfo */
+inline bool operator==(const RecentInfo& lhs, const RecentInfo& rhs)
+ { return lhs.equal(rhs); }
+
+/** @relates Gtk::RecentInfo */
+inline bool operator!=(const RecentInfo& lhs, const RecentInfo& rhs)
+ { return !lhs.equal(rhs); }
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/recentmanager.ccg b/libs/gtkmm2/gtk/src/recentmanager.ccg
new file mode 100644
index 0000000000..00566c632a
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/recentmanager.ccg
@@ -0,0 +1,49 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkrecentmanager.h>
+#include <gtk/gtktypebuiltins.h>
+
+namespace Gtk
+{
+
+//Allow the generated code to work without the prefix:
+typedef RecentManager::ListHandle_RecentInfos ListHandle_RecentInfos;
+
+bool RecentManager::add_item(const Glib::ustring& uri, const Data& data)
+{
+ GtkRecentData c_data;
+ gboolean result;
+
+ // I wonder whether these should be const in the GTK+ API. armin.
+ c_data.display_name = data.display_name.empty() ? NULL : const_cast<gchar*>(data.display_name.c_str());
+ c_data.description = const_cast<gchar*>(data.description.c_str());
+ c_data.mime_type = const_cast<gchar*>(data.mime_type.c_str());
+ c_data.app_name = const_cast<gchar*>(data.app_name.c_str());
+ c_data.app_exec = const_cast<gchar*>(data.app_exec.c_str());
+ c_data.groups = static_cast<gchar**>(g_malloc((data.groups.size() + 1) * sizeof(gchar)));
+ for(unsigned int i = 0; i < data.groups.size(); ++ i)
+ c_data.groups[i] = const_cast<gchar*>(data.groups[i].c_str());
+ c_data.groups[data.groups.size()] = NULL;
+ c_data.is_private = data.is_private;
+
+ result = gtk_recent_manager_add_full(gobj(), uri.c_str(), &c_data);
+ g_free(c_data.groups);
+ return result == TRUE;
+}
+
+} //namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/recentmanager.hg b/libs/gtkmm2/gtk/src/recentmanager.hg
new file mode 100644
index 0000000000..e1553a25b4
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/recentmanager.hg
@@ -0,0 +1,144 @@
+/* Copyright (C) 2006 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdkmm/screen.h>
+#include <gdkmm/pixbuf.h>
+
+#include <gtkmm/recentinfo.h>
+
+#include <glibmm/object.h>
+#include <glibmm/containers.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Gtk
+{
+
+/** Exception class for Gtk::RecentManager errors.
+ */
+_WRAP_GERROR(RecentManagerError, GtkRecentManagerError, GTK_RECENT_MANAGER_ERROR)
+
+/** @defgroup RecentFiles RecentFiles
+ */
+
+/** RecentManager provides a facility for adding, removing and
+ * looking up recently used files. Each recently used file is
+ * identified by its URI, and has meta-data associated to it, like
+ * the names and command lines of the applications that have
+ * registered it, the number of time each application has registered
+ * the same file, the mime type of the file and whether the file
+ * should be displayed only by the applications that have
+ * registered it.
+ *
+ * The RecentManager acts like a database of all the recently
+ * used files. You can create new RecentManager objects, but
+ * it is more efficient to use the standard recent manager for
+ * the Gdk::Screen so that informations about the recently used
+ * files is shared with other people using them. Normally, you
+ * retrieve the recent manager for a particular screen using
+ * get_for_screen() and it will contain information about current
+ * recent manager for that screen.
+ *
+ * @newin2p10
+ *
+ * @ingroup RecentFiles
+ */
+class RecentManager : public Glib::Object
+{
+ _CLASS_GOBJECT(RecentManager, GtkRecentManager, GTK_RECENT_MANAGER, Glib::Object, GObject)
+
+protected:
+ _CTOR_DEFAULT
+
+public:
+ _WRAP_CREATE()
+
+ _WRAP_METHOD(static Glib::RefPtr<RecentManager> get_default(), gtk_recent_manager_get_default, refreturn)
+ _WRAP_METHOD(static Glib::RefPtr<RecentManager> get_for_screen(const Glib::RefPtr<Gdk::Screen>& screen), gtk_recent_manager_get_for_screen, refreturn)
+
+ /** Meta-data passed to add_item(). You should
+ * use RecentManager::Data if you want to control the meta-data associated
+ * to an entry of the recently used files list when you are adding
+ * a new file to it.
+ *
+ * - display_name: the string to be used when displaying the file inside a RecentChooser
+ * - description: a user readable description of the file
+ * - mime_type: the mime type of the file
+ * - app_name: the name of the application that is registering the file
+ * - app_exec: the command line that should be used when launching the file
+ * - groups: the list of group names to which the file belongs to
+ * - is_private: whether the file should be displayed only by the applications that have registered it
+ */
+ class Data
+ {
+ public:
+ Glib::ustring display_name;
+ Glib::ustring description;
+
+ Glib::ustring mime_type;
+
+ Glib::ustring app_name;
+ Glib::ustring app_exec;
+
+ std::vector<Glib::ustring> groups;
+
+ bool is_private;
+ };
+
+ _WRAP_METHOD(void set_screen(const Glib::RefPtr<Gdk::Screen>& screen), gtk_recent_manager_set_screen)
+
+ /** Adds a new resource into the recently used resources list. This function
+ * will try and guess some of the meta-data associated to a URI. If you
+ * know some of meta-data about the document yourself, set the desired
+ * fields of a RecentManager::Data structure and pass it to add_item().
+ */
+ _WRAP_METHOD(bool add_item(const Glib::ustring& uri), gtk_recent_manager_add_item, errthrow)
+
+ /** Adds a new resource into the recently used resources list, taking
+ * meta data from the given Data instead of guessing it from the URI.
+ */
+ bool add_item(const Glib::ustring& uri, const Data& recent_data);
+
+ _WRAP_METHOD(bool remove_item(const Glib::ustring& uri), gtk_recent_manager_remove_item, errthrow)
+ _WRAP_METHOD(Glib::RefPtr<RecentInfo> lookup_item(const Glib::ustring& uri), gtk_recent_manager_lookup_item, errthrow)
+ _WRAP_METHOD(Glib::RefPtr<const RecentInfo> lookup_item(const Glib::ustring& uri) const, gtk_recent_manager_lookup_item, errthrow)
+ _WRAP_METHOD(bool has_item(const Glib::ustring& uri) const, gtk_recent_manager_has_item)
+ _WRAP_METHOD(bool move_item(const Glib::ustring& uri, const Glib::ustring& new_uri), gtk_recent_manager_move_item, errthrow)
+ _WRAP_METHOD(void set_limit(int limit), gtk_recent_manager_set_limit)
+ _WRAP_METHOD(int get_limit() const, gtk_recent_manager_get_limit)
+
+ typedef Glib::ListHandle<RecentInfo, RecentInfoTraits> ListHandle_RecentInfos;
+ _CONVERSION(`GList*',`ListHandle_RecentInfos',__FL2H_SHALLOW)
+
+ _WRAP_METHOD(ListHandle_RecentInfos get_items() const, gtk_recent_manager_get_items)
+
+ _WRAP_METHOD(int purge_items(), gtk_recent_manager_purge_items, errthrow)
+
+ /// For instance, void on_changed();
+ typedef sigc::slot<void> SlotChanged;
+
+ /** The "changed" signal is emitted when an item in the recently used resources list is changed.
+ */
+ _WRAP_SIGNAL(void changed(), "changed")
+
+ _WRAP_PROPERTY("filename", Glib::ustring)
+ _WRAP_PROPERTY("limit", int)
+ _WRAP_PROPERTY("size", int)
+};
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/ruler.ccg b/libs/gtkmm2/gtk/src/ruler.ccg
new file mode 100644
index 0000000000..e7f0aac993
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/ruler.ccg
@@ -0,0 +1,43 @@
+// -*- c++ -*-
+/* $Id: ruler.ccg,v 1.1 2003/01/21 13:40:35 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkruler.h>
+#include <gtk/gtkhruler.h>
+#include <gtk/gtkvruler.h>
+#include <cstring>
+
+
+namespace Gtk
+{
+
+MetricType Ruler::get_metric() const
+{
+ MetricType metric = PIXELS;
+
+ if (strcmp(gobj()->metric->abbrev, "In") == 0) metric = INCHES;
+ else if(strcmp(gobj()->metric->abbrev, "Cn") == 0) metric = CENTIMETERS;
+
+ return metric;
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/ruler.hg b/libs/gtkmm2/gtk/src/ruler.hg
new file mode 100644
index 0000000000..fd88558dd0
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/ruler.hg
@@ -0,0 +1,115 @@
+/* $Id: ruler.hg,v 1.1 2003/01/21 13:40:35 murrayc Exp $ */
+
+/* ruler.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/widget.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/widget_p.h)
+
+
+namespace Gtk
+{
+
+/** Base class for horizontal or vertical rulers.
+ *
+ * NOTE this widget is considered too specialized/little-used for GTK+, and will in the future be moved to some other package. If your application needs this widget, feel free to use it, as the widget does work and is useful in some applications; it's just not of general interest. However, we are not accepting new features for the widget, and it will eventually move out of the GTK+ distribution.
+ * Rulers are used to show the mouse pointer's location in a window. The ruler can either be horizontal or vertical. Within the ruler a small triangle indicates the location of the mouse relative to the horixontal or vertical ruler.
+
+ * This is an abstract base for Gtk::HRuler and
+ * Gtk::VRuler. Users should only instantiate those types.
+ *
+ * @ingroup Widgets
+ */
+class Ruler : public Widget
+{
+ _CLASS_GTKOBJECT(Ruler,GtkRuler,GTK_RULER,Gtk::Widget,GtkWidget)
+protected:
+ _CTOR_DEFAULT
+
+public:
+
+
+ MetricType get_metric() const;
+
+ /** Sets the desired metric of the ruler. The possible choices are:
+ * <ul><li>Gtk::PIXELS
+ * <li>Gtk::INCHES
+ * <li>Gtk::CENTIMETERS
+ * </ul>The default metric is Gtk::PIXELS.
+ */
+ _WRAP_METHOD(void set_metric(MetricType metric = PIXELS), gtk_ruler_set_metric)
+ _WRAP_METHOD(MetricType get_metric(), gtk_ruler_get_metric)
+
+ _MEMBER_GET(range_lower,lower,double,double)
+ _MEMBER_GET(range_upper,upper,double,double)
+
+ /** sets the range of the ruler.
+ * <i>upper</i> and <i>lower</i> arguments denote the extents of the Ruler.
+ * <i>max_size</i> is the largest number displayed by the ruler.
+ * <i>position</i> gives the initial value of the ruler.
+ * Rulers do not have sane defaults so this function should always be called.
+ */
+ _WRAP_METHOD(void set_range(double lower, double upper, double position, double max_size), gtk_ruler_set_range)
+ _WRAP_METHOD(void get_range(double& lower, double& upper, double& position, double& max_size), gtk_ruler_get_range)
+
+ /// draw tick marks on the ruler
+ _WRAP_METHOD(void draw_ticks(), gtk_ruler_draw_ticks)
+
+ /// draw a position indicator on the ruler
+ _WRAP_METHOD(void draw_pos(), gtk_ruler_draw_pos)
+
+ _WRAP_VFUNC(void draw_ticks(), "draw_ticks")
+ _WRAP_VFUNC(void draw_pos(), "draw_pos")
+
+ _WRAP_PROPERTY("lower", double)
+ _WRAP_PROPERTY("upper", double)
+ _WRAP_PROPERTY("position", double)
+ _WRAP_PROPERTY("max-size", double)
+};
+
+
+/** Vertical Ruler
+ *
+ * @ingroup Widgets
+ */
+class VRuler : public Ruler
+{
+ _CLASS_GTKOBJECT(VRuler,GtkVRuler,GTK_VRULER,Gtk::Ruler,GtkRuler)
+public:
+ _CTOR_DEFAULT
+
+};
+
+
+/** Horizontal Ruler
+ *
+ * @ingroup Widgets
+ */
+class HRuler : public Ruler
+{
+ _CLASS_GTKOBJECT(HRuler,GtkHRuler,GTK_HRULER,Gtk::Ruler,GtkRuler)
+public:
+ _CTOR_DEFAULT
+
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/scale.ccg b/libs/gtkmm2/gtk/src/scale.ccg
new file mode 100644
index 0000000000..fe886fafd1
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/scale.ccg
@@ -0,0 +1,107 @@
+// -*- c++ -*-
+/* $Id: scale.ccg,v 1.2 2004/01/19 19:48:44 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/adjustment.h>
+
+#include <gtk/gtkscale.h>
+#include <gtk/gtkhscale.h>
+#include <gtk/gtkvscale.h>
+#include <math.h>
+
+namespace Gtk
+{
+
+int Scale::calc_digits_(double step) const
+{
+ int digits = 0;
+
+ //Copied from gtk_[h|v]scale_new_with_range():
+ if (fabs (step) >= 1.0 || step == 0.0)
+ digits = 0;
+ else {
+ digits = abs ((int) floor (log10 (fabs (step))));
+ if (digits > 5)
+ digits = 5;
+ }
+
+ return digits;
+}
+
+VScale::VScale(double min, double max, double step)
+:
+ _CONSTRUCT_SPECIFIC(Scale, VScale)
+{
+ Adjustment* adjustment = manage(new Adjustment(min, min, max, step, 10 * step, step));
+ // The adjustment will be destroyed along with the object
+ set_adjustment(*adjustment);
+
+ set_digits( calc_digits_(step) );
+}
+
+VScale::VScale(Adjustment& adjustment)
+:
+ _CONSTRUCT_SPECIFIC(Scale, VScale)
+{
+ set_adjustment(adjustment);
+}
+
+VScale::VScale()
+:
+ _CONSTRUCT_SPECIFIC(Scale, VScale)
+{
+ Adjustment* adjustment = manage(new Adjustment(0.0, 0.0, 0.0,
+ 0.0, 0.0, 0.0));
+ // The adjustment will be destroyed along with the object
+ set_adjustment(*adjustment);
+}
+
+
+HScale::HScale(double min, double max, double step)
+:
+ _CONSTRUCT_SPECIFIC(Scale, HScale)
+{
+ Adjustment* adjustment = manage(new Adjustment(min, min, max, step, 10 * step, step));
+ // The adjustment will be destroyed along with the object
+ set_adjustment(*adjustment);
+
+ set_digits( calc_digits_(step) );
+}
+
+HScale::HScale()
+:
+ _CONSTRUCT_SPECIFIC(Scale, HScale)
+{
+ Adjustment* adjustment = manage(new Adjustment(0.0, 0.0, 0.0,
+ 0.0, 0.0, 0.0));
+ // The adjustment will be destroyed along with the object
+ set_adjustment(*adjustment);
+}
+
+HScale::HScale(Adjustment& adjustment)
+:
+ _CONSTRUCT_SPECIFIC(Scale, HScale)
+{
+ set_adjustment(adjustment);
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/scale.hg b/libs/gtkmm2/gtk/src/scale.hg
new file mode 100644
index 0000000000..4068bb55a7
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/scale.hg
@@ -0,0 +1,171 @@
+/* $Id: scale.hg,v 1.7 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* scale.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/range.h>
+_DEFS(gtkmm,gtk)
+_DEFS(gtkmm,gtk)
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/range_p.h)
+
+
+namespace Gtk
+{
+
+/** Abstract base clase for Gtk::HScale and Gtk::VScale.
+ *
+ * A Gtk::Scale is a slider control used to select a numeric value. To use it,
+ * you'll probably want to investigate the methods on its base class,
+ * Gtk::Range, in addition to the methods for Gtk::Scale itself. To set the
+ * value of a scale, you would normally use set_value(). To detect
+ * changes to the value, you would normally use signal_value_changed().
+ *
+ * The Gtk::Scale widget is an abstract class, used only for deriving the
+ * subclasses Gtk::HScale and Gtk::VScale, so you should instantiate them
+ * instead.
+ *
+ * @ingroup Widgets
+ */
+class Scale : public Range
+{
+ _CLASS_GTKOBJECT(Scale,GtkScale,GTK_SCALE,Gtk::Range,GtkRange)
+protected:
+ _CTOR_DEFAULT
+public:
+
+ /** Set the number of decimal digits.
+ *
+ * This also causes the adjustment to be rounded off so the retrieved value
+ * matches the value the user sees. Setting digits to 1 gives for example
+ * 1.0, 2 gives 1.00, etc.
+ */
+ _WRAP_METHOD(void set_digits(int digits), gtk_scale_set_digits)
+
+ /** Get the number of decimal digits.
+ */
+ _WRAP_METHOD(int get_digits() const, gtk_scale_get_digits)
+
+ /** Set whether the current value is displayed as a string next to the slider.
+ */
+ _WRAP_METHOD(void set_draw_value(bool draw_value = true), gtk_scale_set_draw_value)
+
+ /** Get whether the current value is displayed as a string next to the slider.
+ */
+ _WRAP_METHOD(bool get_draw_value() const, gtk_scale_get_draw_value)
+
+
+ /** Set the position in which the value is displayed.
+ */
+ _WRAP_METHOD(void set_value_pos(PositionType pos), gtk_scale_set_value_pos)
+
+ /** Get the position in which the value is displayed.
+ */
+ _WRAP_METHOD(PositionType get_value_pos() const, gtk_scale_get_value_pos)
+
+ _WRAP_METHOD(Glib::RefPtr<Pango::Layout> get_layout(), gtk_scale_get_layout, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Pango::Layout> get_layout() const, gtk_scale_get_layout, refreturn, constversion)
+ _WRAP_METHOD(void get_layout_offsets(int& x, int& y) const, gtk_scale_get_layout_offsets)
+
+#m4 dnl// The ::format_value signal handler should return a newly allocated string.
+#m4 dnl// (which is obviously not a const gchar*)
+#m4 dnl// Also, ensure that format_value never returns an empty char[],
+#m4 dnl// because that could be caused by an intermediate empty ustring from an initial null char*,
+#m4 dnl//See bug http://bugzilla.gnome.org/show_bug.cgi?id=168747.
+#m4 _CONVERSION(`Glib::ustring',`gchar*',`(strlen($3.c_str()) ? g_strdup($3.c_str()) : 0)')
+
+ /** Determines how the value is formatted.
+ *
+ * This can be used to connect a custom function for determining how the
+ * value is formatted. The function (or function object) is given a the value
+ * as a double and should return the representation of it as a Glib::ustring.
+ */
+ _WRAP_SIGNAL(Glib::ustring format_value(double value), "format_value")
+ // TODO: When we can break ABI, this signal needs to be
+ // Glib::ustring format_value(double value, bool& use_default_formatting),
+ // where use_default_formatting specifies whether the return value will actually be a null char*.
+
+ /** Number of displayed decimal digits.
+ */
+ _WRAP_PROPERTY("digits", int)
+
+ /** Whether to draw the value as a string next to slider.
+ */
+ _WRAP_PROPERTY("draw-value", bool)
+
+ /** The position in which the value is displayed.
+ */
+ _WRAP_PROPERTY("value-pos", PositionType)
+
+protected:
+
+ _WRAP_VFUNC(void draw_value(), draw_value)
+
+ virtual int calc_digits_(double step) const;
+};
+
+/** A vertical slider for selecting values.
+ *
+ * The Gtk::VScale widget is used to allow the user to select a value using a
+ * vertical slider. See the Gtk::Scale documentation for more information
+ * on how to use a Gtk::VScale.
+ *
+ * @ingroup Widgets
+ */
+class VScale : public Scale
+{
+ _CLASS_GTKOBJECT(VScale,GtkVScale,GTK_VSCALE,Gtk::Scale,GtkScale)
+public:
+ VScale();
+
+ /**
+ * Construct a VScale with the given minimum and maximum. The step size is the
+ * distance the slider moves when the arrow keys are used to adjust the scale
+ * value.
+ */
+ VScale(double min, double max, double step);
+ explicit VScale(Adjustment& adjustment);
+
+};
+
+/** A horizontal slider for selecting values.
+ *
+ * The Gtk::HScale widget is used to allow the user to select a value using a
+ * horizontal slider. See the Gtk::Scale documentation for more information
+ * on how to use a Gtk::HScale.
+ *
+ * @ingroup Widgets
+ */
+class HScale : public Scale
+{
+ _CLASS_GTKOBJECT(HScale,GtkHScale,GTK_HSCALE,Gtk::Scale,GtkScale)
+public:
+ HScale();
+ /**
+ * Construct a HScale with the given minimum and maximum. The step size is the
+ * distance the slider moves when the arrow keys are used to adjust the scale
+ * value.
+ */
+ HScale(double min, double max, double step);
+ explicit HScale(Adjustment& adjustment);
+
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/scalebutton.ccg b/libs/gtkmm2/gtk/src/scalebutton.ccg
new file mode 100644
index 0000000000..c76034886b
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/scalebutton.ccg
@@ -0,0 +1,30 @@
+// -*- c++ -*-
+/* $Id: scalebutton.ccg,v 1.2 2003/10/18 15:35:31 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2007 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkscalebutton.h>
+
+namespace Gtk
+{
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/scalebutton.hg b/libs/gtkmm2/gtk/src/scalebutton.hg
new file mode 100644
index 0000000000..42698faae7
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/scalebutton.hg
@@ -0,0 +1,68 @@
+/* $Id: scalebutton.hg,v 1.5 2005/11/30 14:10:49 murrayc Exp $ */
+
+/* scalebutton.h
+ *
+ * Copyright (C) 2007 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/button.h>
+#include <gtkmm/adjustment.h>
+#include <gtkmm/enums.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/button_p.h)
+
+
+namespace Gtk
+{
+
+/** A button which pops up a scale widget.
+ *
+ * This kind of widget is commonly used for volume controls in multimedia
+ * applications, and there is a Gtk::VolumeButton subclass that is tailored
+ * for this use case.
+ *
+ * @ingroup Widgets
+ * @newin2p12
+ */
+class ScaleButton : public Button
+{
+ _CLASS_GTKOBJECT(ScaleButton, GtkScaleButton, GTK_SCALE_BUTTON, Gtk::Button, GtkButton)
+public:
+
+ _WRAP_CTOR(ScaleButton(IconSize size, double min, double max, double step, const Glib::StringArrayHandle& icons), gtk_scale_button_new)
+
+ _WRAP_METHOD(void set_icons(const Glib::StringArrayHandle& icons), gtk_scale_button_set_icons)
+ _WRAP_METHOD(double get_value() const, gtk_scale_button_get_value)
+ _WRAP_METHOD(void set_value(double value), gtk_scale_button_set_value)
+ _WRAP_METHOD(Gtk::Adjustment* get_adjustment(), gtk_scale_button_get_adjustment, refreturn)
+ _WRAP_METHOD(Gtk::Adjustment* get_adjustment() const, gtk_scale_button_get_adjustment, constversion)
+ _WRAP_METHOD(void set_adjustment(Gtk::Adjustment& adjustment), gtk_scale_button_set_adjustment)
+
+ _WRAP_SIGNAL(void value_changed(double value), "value_changed")
+
+ //Ignore key-binding signals:
+ _IGNORE_SIGNAL("popup")
+ _IGNORE_SIGNAL("popdown")
+
+ _WRAP_PROPERTY("value", double)
+ _WRAP_PROPERTY("size", IconSize)
+ _WRAP_PROPERTY("adjustment", Adjustment*)
+};
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/scrollbar.ccg b/libs/gtkmm2/gtk/src/scrollbar.ccg
new file mode 100644
index 0000000000..b708b6c3de
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/scrollbar.ccg
@@ -0,0 +1,68 @@
+// -*- c++ -*-
+/* $Id: scrollbar.ccg,v 1.1 2003/01/21 13:40:36 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/adjustment.h>
+
+#include <gtk/gtkscrollbar.h>
+#include <gtk/gtkhscrollbar.h>
+#include <gtk/gtkvscrollbar.h>
+
+namespace Gtk
+{
+
+VScrollbar::VScrollbar(Adjustment& adjustment)
+:
+ _CONSTRUCT_SPECIFIC(Scrollbar, VScrollbar)
+{
+ set_adjustment(adjustment);
+}
+
+VScrollbar::VScrollbar()
+:
+ _CONSTRUCT_SPECIFIC(Scrollbar, VScrollbar)
+{
+ Adjustment* adjustment = manage(new Adjustment(0.0, 0.0, 0.0, 0.0, 0.0, 0.0));
+
+ // The adjustment will be destroyed along with the object
+ set_adjustment(*adjustment);
+}
+
+
+HScrollbar::HScrollbar()
+:
+ _CONSTRUCT_SPECIFIC(Scrollbar, HScrollbar)
+{
+ Adjustment* adjustment = manage(new Adjustment(0.0, 0.0, 0.0, 0.0, 0.0, 0.0));
+
+ // The adjustment will be destroyed along with the object
+ set_adjustment(*adjustment);
+}
+
+HScrollbar::HScrollbar(Adjustment& adjustment)
+:
+ _CONSTRUCT_SPECIFIC(Scrollbar, HScrollbar)
+{
+ set_adjustment(adjustment);
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/scrollbar.hg b/libs/gtkmm2/gtk/src/scrollbar.hg
new file mode 100644
index 0000000000..8656dd45ee
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/scrollbar.hg
@@ -0,0 +1,97 @@
+/* $Id: scrollbar.hg,v 1.1 2003/01/21 13:40:36 murrayc Exp $ */
+
+/* scrollbar.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/range.h>
+_DEFS(gtkmm,gtk)
+_DEFS(gtkmm,gtk)
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/range_p.h)
+
+
+namespace Gtk
+{
+
+/**
+ * The Gtk::Scrollbar widget is an abstract base class for Gtk::HScrollbar
+ * and Gtk::VScrollbar. It is not very useful in itself.
+ *
+ * The position of the thumb in a scrollbar is controlled by the scroll
+ * adjustments. See Gtk::Adjustment for the fields in an adjustment - for
+ * Gtk::Scrollbar, the "value" field represents the position of the scrollbar,
+ * which must be between the "lower" field and "upper - page_size." The
+ * "page_size" field represents the size of the visible scrollable area. The
+ * "step_increment" and "page_increment" fields are used when the user asks
+ * to step down (using the small stepper arrows) or page down (using for
+ * example the PageDown key).
+ *
+ * @ingroup Widgets
+ */
+class Scrollbar : public Range
+{
+ _CLASS_GTKOBJECT(Scrollbar,GtkScrollbar,GTK_SCROLLBAR,Gtk::Range,GtkRange)
+
+protected:
+
+};
+
+/** A vertical scrollbar.
+ *
+ * The Gtk::VScrollbar widget is a widget arranged vertically creating a
+ * scrollbar. See Gtk::Scrollbar for details on scrollbars.
+ *
+ * A Gtk::Adjustment may may be passed to the constructor to handle the
+ * adjustment of the scrollbar. If not specified, one will be created for
+ * you. See Gtk::Adjustment for details.
+ *
+ * @ingroup Widgets
+ */
+class VScrollbar : public Scrollbar
+{
+ _CLASS_GTKOBJECT(VScrollbar,GtkVScrollbar,GTK_VSCROLLBAR,Gtk::Scrollbar,GtkScrollbar)
+public:
+ VScrollbar();
+ explicit VScrollbar(Adjustment& gtkadjustment);
+
+};
+
+/** A horizontal scrollbar.
+ *
+ * The Gtk::HScrollbar widget is a widget arranged horizontally creating a
+ * scrollbar. See Gtk::Scrollbar for details on scrollbars.
+ *
+ * A Gtk::Adjustment may may be passed to the constructor to handle the
+ * adjustment of the scrollbar. If not specified, one will be created for
+ * you. See Gtk::Adjustment for details.
+ *
+ * @ingroup Widgets
+ */
+class HScrollbar : public Scrollbar
+{
+ _CLASS_GTKOBJECT(HScrollbar,GtkHScrollbar,GTK_HSCROLLBAR,Gtk::Scrollbar,GtkScrollbar)
+public:
+ HScrollbar();
+ explicit HScrollbar(Adjustment& gtkadjustment);
+
+};
+
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/scrolledwindow.ccg b/libs/gtkmm2/gtk/src/scrolledwindow.ccg
new file mode 100644
index 0000000000..58b86c13cf
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/scrolledwindow.ccg
@@ -0,0 +1,54 @@
+// -*- c++ -*-
+/* $Id: scrolledwindow.ccg,v 1.1 2003/01/21 13:40:36 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/scrollbar.h>
+#include <gtkmm/viewport.h>
+#include <gtkmm/adjustment.h>
+#include <gtk/gtkscrolledwindow.h>
+
+
+namespace Gtk
+{
+
+void ScrolledWindow::add(Gtk::Widget& widget)
+{
+ GtkWidget* gwidget = widget.gobj();
+
+ //This check is courtesy of James Henstridge on gtk-devel-list@gnome.org.
+ if( GTK_WIDGET_GET_CLASS(gwidget)->set_scroll_adjustments_signal == 0)
+ {
+ //It doesn't have native scrolling capability, so it should be put inside a viewport first:
+ gtk_scrolled_window_add_with_viewport(gobj(), gwidget);
+ }
+ else
+ {
+ //It can work directly with a GtkScrolledWindow, so just use the Container::add():
+ Bin::add(widget);
+ }
+}
+
+} //namespace Gtk
+
+
+
+
+
diff --git a/libs/gtkmm2/gtk/src/scrolledwindow.hg b/libs/gtkmm2/gtk/src/scrolledwindow.hg
new file mode 100644
index 0000000000..25c7f7beed
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/scrolledwindow.hg
@@ -0,0 +1,110 @@
+/* $Id: scrolledwindow.hg,v 1.7 2006/08/17 18:03:34 murrayc Exp $ */
+
+/* scrolledwindow.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/bin.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/bin_p.h)
+
+
+namespace Gtk
+{
+
+class Adjustment;
+class HScrollbar;
+class VScrollbar;
+
+/** Adds scrollbars to its child widget.
+ *
+ * This container accepts a single child widget. It adds scrollbars to the child widget and optionally draws a beveled frame around the child widget.
+ * The scrolled window can work in two ways:
+ * 1) Some widgets have native scrolling support; these widgets handle certain Gtk::Adjustment signals. Widgets with native scroll support include Gtk::TreeView, Gtk::TextView, and Gtk::Layout.
+ * 2) For widgets that lack native scrolling support, such as Gtk::Table, Gtk::Box, and so on, the widget will be placed inside a Gtk::Viewport.
+ *
+ * The position of the scrollbars is controlled by the scroll adjustments. See Gtk::Adjustment for the fields in an adjustment - for Gtk::Scrollbar, used by Gtk::ScrolledWindow,
+ * the "value" field represents the position of the scrollbar, which must be between the "lower" field and "upper - page_size."
+ * The "page_size" field represents the size of the visible scrollable area.
+ * The "step_increment" and "page_increment" fields are used when the user asks to step down (using the small stepper arrows) or page down (using for example the PageDown key).
+ *
+ * If a Gtk::ScrolledWindow doesn't behave quite as you would like, or doesn't have exactly the right layout, it's very possible to set up your own scrolling with Gtk::Scrollbar and, for example, a Gtk::Table.
+ *
+ * @ingroup Widgets
+ * @ingroup Containers
+ */
+class ScrolledWindow : public Bin
+{
+ _CLASS_GTKOBJECT(ScrolledWindow,GtkScrolledWindow,GTK_SCROLLED_WINDOW,Gtk::Bin,GtkBin)
+
+public:
+ _CTOR_DEFAULT
+ _WRAP_CTOR(ScrolledWindow(Adjustment& hadjustment, Adjustment& vadjustment), gtk_scrolled_window_new)
+
+
+ _WRAP_METHOD(void set_hadjustment(Gtk::Adjustment* hadjustment = 0), gtk_scrolled_window_set_hadjustment)
+ _WRAP_METHOD(void set_vadjustment(Gtk::Adjustment* vadjustment = 0), gtk_scrolled_window_set_vadjustment)
+ _WRAP_METHOD(void set_hadjustment(Gtk::Adjustment& hadjustment), gtk_scrolled_window_set_hadjustment)
+ _WRAP_METHOD(void set_vadjustment(Gtk::Adjustment& vadjustment), gtk_scrolled_window_set_vadjustment)
+
+ _WRAP_METHOD(Gtk::Adjustment* get_hadjustment(), gtk_scrolled_window_get_hadjustment)
+ _WRAP_METHOD(const Gtk::Adjustment* get_hadjustment() const, gtk_scrolled_window_get_hadjustment, constversion)
+ _WRAP_METHOD(Gtk::Adjustment* get_vadjustment(), gtk_scrolled_window_get_vadjustment)
+ _WRAP_METHOD(const Gtk::Adjustment* get_vadjustment() const, gtk_scrolled_window_get_vadjustment, constversion)
+
+ _WRAP_METHOD(void set_policy(PolicyType hscrollbar_policy, PolicyType vscrollbar_policy), gtk_scrolled_window_set_policy)
+ _WRAP_METHOD(void get_policy(PolicyType& hscrollbar_policy, PolicyType& vscrollbar_policy) const, gtk_scrolled_window_get_policy)
+
+ _WRAP_METHOD(void set_placement(CornerType window_placement), gtk_scrolled_window_set_placement)
+ _WRAP_METHOD(void unset_placement(), gtk_scrolled_window_unset_placement)
+ _WRAP_METHOD(CornerType get_placement() const, gtk_scrolled_window_get_placement)
+
+ _WRAP_METHOD(void set_shadow_type(ShadowType type), gtk_scrolled_window_set_shadow_type)
+ _WRAP_METHOD(ShadowType get_shadow_type() const, gtk_scrolled_window_get_shadow_type)
+
+ ///Puts the child inside a Gtk::Viewport if it doesn't have native scrolling capability.
+ virtual void add(Gtk::Widget& widget);
+ _IGNORE(gtk_scrolled_window_add_with_viewport)
+
+#m4 _CONVERSION(`GtkWidget*',`VScrollbar*',`Glib::wrap((GtkVScrollbar*)$3)')
+#m4 _CONVERSION(`GtkWidget*',`const VScrollbar*',`Glib::wrap((GtkVScrollbar*)$3)')
+#m4 _CONVERSION(`GtkWidget*',`HScrollbar*',`Glib::wrap((GtkHScrollbar*)$3)')
+#m4 _CONVERSION(`GtkWidget*',`const HScrollbar*',`Glib::wrap((GtkHScrollbar*)$3)')
+ _WRAP_METHOD(VScrollbar* get_vscrollbar(), gtk_scrolled_window_get_vscrollbar)
+ _WRAP_METHOD(const VScrollbar* get_vscrollbar() const, gtk_scrolled_window_get_vscrollbar)
+
+ _WRAP_METHOD(HScrollbar* get_hscrollbar(), gtk_scrolled_window_get_hscrollbar)
+ _WRAP_METHOD(const HScrollbar* get_hscrollbar() const, gtk_scrolled_window_get_hscrollbar)
+
+ _MEMBER_GET(vscrollbar_visible,vscrollbar_visible,bool,guint)
+ _MEMBER_GET(hscrollbar_visible,hscrollbar_visible,bool,guint)
+
+ //Keybinding signals:
+ _IGNORE_SIGNAL("scroll_child")
+ _IGNORE_SIGNAL("move_focus_out")
+
+ _WRAP_PROPERTY("hadjustment", Gtk::Adjustment*)
+ _WRAP_PROPERTY("vadjustment", Gtk::Adjustment*)
+ _WRAP_PROPERTY("hscrollbar-policy", PolicyType)
+ _WRAP_PROPERTY("vscrollbar-policy", PolicyType)
+ _WRAP_PROPERTY("window-placement", CornerType)
+ _WRAP_PROPERTY("shadow-type", ShadowType)
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/selectiondata.ccg b/libs/gtkmm2/gtk/src/selectiondata.ccg
new file mode 100644
index 0000000000..38513d98ec
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/selectiondata.ccg
@@ -0,0 +1,94 @@
+// -*- c++ -*-
+/* $Id: selectiondata.ccg,v 1.5 2006/07/05 16:59:28 murrayc Exp $ */
+
+/* Copyright 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/textbuffer.h>
+#include <gdkmm/pixbuf.h>
+#include <glibmm/utility.h> //For ScopedPtr<>.
+#include <gtk/gtkselection.h>
+
+
+
+namespace Gtk
+{
+
+void SelectionData::set(const std::string& type, int format, const guint8* data, int length)
+{
+ gtk_selection_data_set(gobj(), gdk_atom_intern(type.c_str(), 0), format, data, length);
+}
+
+void SelectionData::set(int format, const guint8* data, int length)
+{
+ //The C examples do this - that's why I added this method overload. murrayc.
+ set(get_target(), format, data, length);
+}
+
+void SelectionData::set(const std::string& type, const std::string& data)
+{
+ gtk_selection_data_set(gobj(), gdk_atom_intern(type.c_str(), 0),
+ sizeof(char) * 8, // format is 8 bits per unit
+ reinterpret_cast<const guint8*>(data.data()), data.size());
+}
+
+bool SelectionData::set_text(const Glib::ustring& data)
+{
+ return gtk_selection_data_set_text(gobj(), data.data(), data.bytes());
+}
+
+Glib::ustring SelectionData::get_text() const
+{
+ return Glib::convert_return_gchar_ptr_to_ustring(
+ reinterpret_cast<char*>(gtk_selection_data_get_text(const_cast<GtkSelectionData*>(gobj()))));
+}
+
+std::string SelectionData::get_data_as_string() const
+{
+ if(gobj()->data && gobj()->length > 0)
+ return std::string(reinterpret_cast<char*>(gobj()->data), gobj()->length);
+ else
+ return std::string();
+}
+
+std::string SelectionData::get_target() const
+{
+ return Glib::convert_return_gchar_ptr_to_stdstring(
+ gdk_atom_name(const_cast<GtkSelectionData*>(gobj())->target));
+}
+
+Gdk::ArrayHandle_AtomString SelectionData::get_targets() const
+{
+ GdkAtom* targets = 0;
+ int n_targets = 0;
+
+ if(!gtk_selection_data_get_targets(const_cast<GtkSelectionData*>(gobj()), &targets, &n_targets))
+ n_targets = 0; // it's set to -1 otherwise
+
+ //Note that we free the GdkAtom* array, but we don't need to free its items:
+ return Gdk::ArrayHandle_AtomString(targets, n_targets, Glib::OWNERSHIP_SHALLOW);
+}
+
+
+std::string SelectionData::get_data_type() const
+{
+ return Glib::convert_return_gchar_ptr_to_stdstring(
+ gdk_atom_name(const_cast<GtkSelectionData*>(gobj())->type));
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/selectiondata.hg b/libs/gtkmm2/gtk/src/selectiondata.hg
new file mode 100644
index 0000000000..88445708b0
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/selectiondata.hg
@@ -0,0 +1,117 @@
+/* $Id: selectiondata.hg,v 1.9 2006/07/05 16:59:28 murrayc Exp $ */
+
+/* Copyright(C) 2002 The gtkmm Development Team
+ *
+ * This library is free software, ) you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation, ) either
+ * version 2 of the License, or(at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY, ) without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library, ) if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(gtkmm,gtk)
+
+#include <gdkmm/display.h>
+
+
+namespace Gtk
+{
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+class TextBuffer;
+#endif //DOXYGEN_SHOULD_SKIP_THIS
+
+class SelectionData
+{
+ _CLASS_BOXEDTYPE(SelectionData, GtkSelectionData, NONE, gtk_selection_data_copy, gtk_selection_data_free)
+ _IGNORE(gtk_selection_data_copy, gtk_selection_data_free)
+public:
+
+ //TODO : document this. It's like the other set(), but it uses this SelectionData's target type.
+ //Why would you ever want to use any other type?
+ void set(int format, const guint8* data, int length);
+
+ /** Assign a memory block of raw data.
+ * Store new data into the Gtk::SelectionData object. Should _only_ by called
+ * from a selection handler callback. A 0-byte terminates the stored data.
+ * @param type The type of the selection.
+ * @param format The data format, i.e. the number of bits in a unit.
+ * @param data Pointer to the data (will be copied).
+ * @param length The length of the data block in bytes.
+ */
+ void set(const std::string& type, int format, const guint8* data, int length);
+
+ /** Assign a string of raw data.
+ * Store new data into the Gtk::SelectionData object. Should _only_ by called
+ * from a selection handler callback.
+ * @param type The type of the selection.
+ * @param data A string that contains the data (does not have to be text).
+ */
+ void set(const std::string& type, const std::string& data);
+ _IGNORE(gtk_selection_data_set)
+
+ /** Assign UTF-8 encoded text.
+ * Sets the contents of the selection from a UTF-8 encoded string.
+ * The string is converted to the form determined by get_target().
+ * @param data A UTF-8 encoded string.
+ * @return <tt>true</tt> if the selection was successfully set,
+ * otherwise <tt>false</tt>.
+ */
+ bool set_text(const Glib::ustring& data);
+ _IGNORE(gtk_selection_data_set_text)
+
+ /** Gets the contents of the selection data as a UTF-8 string.
+ * @return If the selection data contained a recognized text type and
+ * it could be converted to UTF-8, a string containing the converted text,
+ * otherwise an empty string.
+ */
+ Glib::ustring get_text() const;
+ _IGNORE(gtk_selection_data_get_text)
+
+ _WRAP_METHOD(bool set_pixbuf(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf), gtk_selection_data_set_pixbuf)
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> get_pixbuf(), gtk_selection_data_get_pixbuf)
+ _WRAP_METHOD(Glib::RefPtr<const Gdk::Pixbuf> get_pixbuf() const, gtk_selection_data_get_pixbuf, constversion)
+
+#dnl The constness of gtk_selection_data_set_uris() is not quite right:
+#m4 _CONVERSION(`const Glib::StringArrayHandle&',`gchar**',`const_cast<char**>(($3).data())')
+ _WRAP_METHOD(bool set_uris(const Glib::StringArrayHandle& uris), gtk_selection_data_set_uris)
+ _WRAP_METHOD(Glib::StringArrayHandle get_uris() const, gtk_selection_data_get_uris)
+
+ _MEMBER_GET(data, data, const guint8*, const guint8*)
+ _MEMBER_GET(length, length, int, gint)
+
+ std::string get_data_as_string() const;
+
+ std::string get_target() const;
+
+ /// See also Gtk::Clipboard::request_targets()
+ Gdk::ArrayHandle_AtomString get_targets() const;
+ _IGNORE(gtk_selection_data_get_targets)
+
+ /** Returns the ID of the selection.
+ */
+ _MEMBER_GET(selection, selection, GdkAtom, GdkAtom)
+
+ /** Returns the type of the data as set by SelectionData::set().
+ */
+ std::string get_data_type() const; // get_type() already exists
+
+ _MEMBER_GET(format, format, int, gint)
+ _MEMBER_GET_GOBJECT(display, display, Gdk::Display, GdkDisplay*)
+
+ _WRAP_METHOD(bool targets_include_uri() const, gtk_selection_data_targets_include_uri)
+ _WRAP_METHOD(bool targets_include_text() const, gtk_selection_data_targets_include_text)
+ _WRAP_METHOD(bool targets_include_rich_text(const Glib::RefPtr<TextBuffer>& buffer) const, gtk_selection_data_targets_include_rich_text)
+ _WRAP_METHOD(bool targets_include_image(bool writable = true) const, gtk_selection_data_targets_include_image)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/separator.ccg b/libs/gtkmm2/gtk/src/separator.ccg
new file mode 100644
index 0000000000..3c781db174
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/separator.ccg
@@ -0,0 +1,25 @@
+// -*- c++ -*-
+/* $Id: separator.ccg,v 1.1 2003/01/21 13:40:37 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkseparator.h>
+#include <gtk/gtkhseparator.h>
+#include <gtk/gtkvseparator.h>
diff --git a/libs/gtkmm2/gtk/src/separator.hg b/libs/gtkmm2/gtk/src/separator.hg
new file mode 100644
index 0000000000..23028b7641
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/separator.hg
@@ -0,0 +1,74 @@
+/* $Id: separator.hg,v 1.1 2003/01/21 13:40:37 murrayc Exp $ */
+
+/* separator.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/widget.h>
+_DEFS(gtkmm,gtk)
+_DEFS(gtkmm,gtk)
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/widget_p.h)
+
+namespace Gtk
+{
+
+/** Separator base class.
+ * Abstract base class for Gtk::VSeperator and Gtk::HSeperator.
+ */
+class Separator : public Widget
+{
+ _CLASS_GTKOBJECT(Separator,GtkSeparator,GTK_SEPARATOR,Gtk::Widget,GtkWidget)
+public:
+
+
+protected:
+ _CTOR_DEFAULT
+};
+
+/** Vertical line widget.
+ * Filler widget used to separate widgets with a visible line.
+ * This widget has no window and receives no configuration events.
+ * It should be considered a leaf widget.
+ * @ingroup Widgets
+ */
+class VSeparator : public Separator
+{
+ _CLASS_GTKOBJECT(VSeparator,GtkVSeparator,GTK_VSEPARATOR,Gtk::Separator,GtkSeparator)
+public:
+ _CTOR_DEFAULT
+
+};
+
+
+/** Horizontal line widget.
+ * Filler widget used to separate widgets with a visible line.
+ * This widget has no window and receives no configuration events.
+ * It should be considered a leaf widget.
+ * @ingroup Widgets
+ */
+class HSeparator : public Separator
+{
+ _CLASS_GTKOBJECT(HSeparator,GtkHSeparator,GTK_HSEPARATOR,Gtk::Separator,GtkSeparator)
+public:
+ _CTOR_DEFAULT
+
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/separatormenuitem.ccg b/libs/gtkmm2/gtk/src/separatormenuitem.ccg
new file mode 100644
index 0000000000..681012bd2e
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/separatormenuitem.ccg
@@ -0,0 +1,23 @@
+// -*- c++ -*-
+/* $Id: separatormenuitem.ccg,v 1.1 2003/01/21 13:40:37 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkseparatormenuitem.h>
diff --git a/libs/gtkmm2/gtk/src/separatormenuitem.hg b/libs/gtkmm2/gtk/src/separatormenuitem.hg
new file mode 100644
index 0000000000..808e8ba212
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/separatormenuitem.hg
@@ -0,0 +1,44 @@
+/* $Id: separatormenuitem.hg,v 1.1 2003/01/21 13:40:37 murrayc Exp $ */
+
+
+/* separator.h
+ *
+ * Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/menuitem.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/menuitem_p.h)
+
+
+namespace Gtk
+{
+
+/** A separator used to group items within a menu.
+ * It displays a horizontal line with a shadow to make it appear sunken into the interface.
+ * @ingroup Widgets
+ * @ingroup Menus
+ */
+class SeparatorMenuItem : public MenuItem
+{
+ _CLASS_GTKOBJECT(SeparatorMenuItem, GtkSeparatorMenuItem, GTK_SEPARATOR_MENU_ITEM, Gtk::MenuItem, GtkMenuItem)
+public:
+ _CTOR_DEFAULT
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/separatortoolitem.ccg b/libs/gtkmm2/gtk/src/separatortoolitem.ccg
new file mode 100644
index 0000000000..89563fa127
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/separatortoolitem.ccg
@@ -0,0 +1,29 @@
+// -*- c++ -*-
+/* $Id: separatortoolitem.ccg,v 1.1 2003/10/28 17:12:27 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkseparatortoolitem.h>
+
+namespace Gtk
+{
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/separatortoolitem.hg b/libs/gtkmm2/gtk/src/separatortoolitem.hg
new file mode 100644
index 0000000000..03b283cba1
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/separatortoolitem.hg
@@ -0,0 +1,48 @@
+/* $Id: separatortoolitem.hg,v 1.2 2004/03/07 14:35:47 murrayc Exp $ */
+
+/* separatortoolitem.h
+ *
+ * Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/toolitem.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/toolitem_p.h)
+
+
+namespace Gtk
+{
+
+/** A toolbar item that separates groups of other toolbar items.
+ *
+ * A Gtk::SeparatorToolItem is a Gtk::ToolItem that separates groups of other Gtk::ToolItems.
+ * Depending on the theme, it will often look like a vertical line on
+ * horizontally docked toolbars. If the property "expand" is <tt>true</tt> and the property "draw"
+ * is <tt>false</tt>, a Gtk::SeparatorToolItem will act as a "spring" that forces other items to the
+ * ends of the toolbar.
+ *
+ * @ingroup Widgets
+ */
+class SeparatorToolItem : public ToolItem
+{
+ _CLASS_GTKOBJECT(SeparatorToolItem, GtkSeparatorToolItem, GTK_SEPARATOR_TOOL_ITEM, Gtk::ToolItem, GtkToolItem)
+public:
+ _CTOR_DEFAULT()
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/settings.ccg b/libs/gtkmm2/gtk/src/settings.ccg
new file mode 100644
index 0000000000..3c070a047e
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/settings.ccg
@@ -0,0 +1,30 @@
+// -*- c++ -*-
+/* $Id: settings.ccg,v 1.4 2005/08/01 10:34:08 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtksettings.h>
+
+namespace Gtk
+{
+
+
+} //namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/settings.hg b/libs/gtkmm2/gtk/src/settings.hg
new file mode 100644
index 0000000000..113209a0ed
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/settings.hg
@@ -0,0 +1,117 @@
+/* $Id: settings.hg,v 1.6 2005/08/01 11:21:33 murrayc Exp $ */
+
+/* settings.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+#include <gtkmm/toolbar.h>
+
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Gtk
+{
+
+/** Sharing settings between applications.
+ *
+ */
+class Settings : public Glib::Object
+{
+ _CLASS_GOBJECT(Settings, GtkSettings, GTK_SETTINGS, Glib::Object, GObject)
+ _IGNORE(gtk_settings_set_property_value, gtk_settings_set_string_property, gtk_settings_set_long_property, gtk_settings_set_double_property)
+protected:
+
+
+public:
+
+ _WRAP_METHOD(static Glib::RefPtr<Settings> get_default(), gtk_settings_get_default, refreturn)
+
+ _WRAP_METHOD(static Glib::RefPtr<Settings> get_for_screen(const Glib::RefPtr<Gdk::Screen>& screen), gtk_settings_get_for_screen, refreturn)
+
+ _WRAP_PROPERTY("gtk-double-click-time", int)
+ _WRAP_PROPERTY("gtk-double-click-distance", int)
+ _WRAP_PROPERTY("gtk-cursor-blink", bool)
+ _WRAP_PROPERTY("gtk-cursor-blink-time", int)
+ _WRAP_PROPERTY("gtk-split-cursor", bool)
+ _WRAP_PROPERTY("gtk-theme-name", Glib::ustring)
+ _WRAP_PROPERTY("gtk-key-theme-name", Glib::ustring)
+ _WRAP_PROPERTY("gtk-menu-bar-accel", Glib::ustring)
+ _WRAP_PROPERTY("gtk-dnd-drag-threshold", int)
+ _WRAP_PROPERTY("gtk-font-name", Glib::ustring)
+ _WRAP_PROPERTY("gtk-modules", Glib::ustring)
+//#ifdef GDK_WINDOWING_X11
+ _WRAP_PROPERTY("gtk-xft-antialias", int)
+ _WRAP_PROPERTY("gtk-xft-hinting", int)
+ _WRAP_PROPERTY("gtk-xft-hintstyle", Glib::ustring)
+ _WRAP_PROPERTY("gtk-xft-rgba", Glib::ustring)
+ _WRAP_PROPERTY("gtk-xft-dpi", int)
+ _WRAP_PROPERTY("gtk-cursor-theme-name", Glib::ustring)
+ _WRAP_PROPERTY("gtk-cursor-theme-size", int)
+//#endif
+ _WRAP_PROPERTY("gtk-alternative-button-order", bool)
+ _WRAP_PROPERTY("gtk-alternative-sort-arrows", bool)
+ _WRAP_PROPERTY("gtk-show-input-method-menu", bool)
+ _WRAP_PROPERTY("gtk-show-unicode-menu", bool)
+ _WRAP_PROPERTY("gtk-timeout-initial", int)
+ _WRAP_PROPERTY("gtk-timeout-repeat", int)
+ _WRAP_PROPERTY("gtk-timeout-expand", int)
+ _WRAP_PROPERTY("gtk-color-scheme", Glib::ustring)
+ _WRAP_PROPERTY("gtk-enable-animations", bool)
+ _WRAP_PROPERTY("gtk-touchscreen-mode", bool)
+ _WRAP_PROPERTY("gtk-tooltip-timeout", int)
+ _WRAP_PROPERTY("gtk-tooltip-browse-timeout", int)
+ _WRAP_PROPERTY("gtk-tooltip-browse-mode-timeout", int)
+ _WRAP_PROPERTY("gtk-keynav-cursor-only", bool)
+ _WRAP_PROPERTY("gtk-keynav-wrap-around", bool)
+ _WRAP_PROPERTY("gtk-error-bell", bool)
+ _WRAP_PROPERTY("gtk-color-hash", Gdk::Color)
+ _WRAP_PROPERTY("gtk-file-chooser-backend", Glib::ustring)
+ _WRAP_PROPERTY("gtk-print-backends", Glib::ustring)
+ _WRAP_PROPERTY("gtk-print-preview-command", Glib::ustring)
+ _WRAP_PROPERTY("gtk-enable-mnemonics", bool)
+ _WRAP_PROPERTY("gtk-enable-accels", bool)
+ _WRAP_PROPERTY("gtk-recent-files-limit", int)
+ //TODO: Add others added since?
+
+ // from GtkToolbar
+ _WRAP_PROPERTY("gtk-toolbar-style", ToolbarStyle)
+ _WRAP_PROPERTY("gtk-toolbar-icon-size", IconSize)
+
+ // from GtkMenu
+ _WRAP_PROPERTY("gtk-can-change-accels", bool)
+
+ // from GtkEntry
+ _WRAP_PROPERTY("gtk-entry-select-on-focus", bool)
+
+ // from GtkColorSelection
+ _WRAP_PROPERTY("gtk-color-palette", Glib::ustring)
+
+ // from GtkButton
+ _WRAP_PROPERTY("gtk-button-images", bool)
+
+ // from GtkIconTheme
+ _WRAP_PROPERTY("gtk-icon-theme-name", Glib::ustring)
+ _WRAP_PROPERTY("gtk-icon-sizes", Glib::ustring)
+
+
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/sizegroup.ccg b/libs/gtkmm2/gtk/src/sizegroup.ccg
new file mode 100644
index 0000000000..eddf1b6aba
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/sizegroup.ccg
@@ -0,0 +1,34 @@
+// -*- c++ -*-
+/* $Id: sizegroup.ccg,v 1.1 2003/01/21 13:40:37 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtksizegroup.h>
+
+namespace Gtk
+{
+
+SizeGroup::SizeGroup(SizeGroupMode mode)
+:
+ _CONSTRUCT("mode", (GtkSizeGroupMode) mode)
+{}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/sizegroup.hg b/libs/gtkmm2/gtk/src/sizegroup.hg
new file mode 100644
index 0000000000..6d785c1328
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/sizegroup.hg
@@ -0,0 +1,78 @@
+/* $Id: sizegroup.hg,v 1.5 2006/12/11 18:57:50 murrayc Exp $ */
+
+/* box.h
+ *
+ * Copyright 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/object.h>
+#include <gtkmm/widget.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Gtk
+{
+
+_CC_INCLUDE(gtk/gtktypebuiltins.h)
+_WRAP_ENUM(SizeGroupMode, GtkSizeGroupMode)
+
+/** Gtk::SizeGroup provides a mechanism for grouping a number of widgets together so they all request the same amount of space.
+ * This is typically useful when you want a column of widgets to have the same size, but you can't use a Gtk::Table widget.
+ *
+ * In detail, the size requested for each widget in a Gtk::SizeGroup is the maximum of the sizes that would have been
+ * requested for each widget in the size group if they were not in the size group. The mode of the size group (see
+ * set_mode()) determines whether this applies to the horizontal size, the vertical size, or both sizes.
+ *
+ * Note that size groups only affect the amount of space requested, not the size that the widgets finally receive. If
+ * you want the widgets in a GtkSizeGroup to actually be the same size, you need to pack them in such a way that they
+ * get the size they request and not more. For example, if you are packing your widgets into a table, you would not
+ * include the Gtk::FILL flag.
+ *
+ * Widgets can be part of multiple size groups; GTK+ will compute the horizontal size of a widget from the horizontal
+ * requisition of all widgets that can be reached from the widget by a chain of size groups of type
+ * Gtk::SIZE_GROUP_HORIZONTAL or Gtk::SIZE_GROUP_BOTH, and the vertical size from the vertical requisition of all widgets
+ * that can be reached from the widget by a chain of size groups of type Gtk::SIZE_GROUP_VERTICAL or Gtk::SIZE_GROUP_BOTH.
+ */
+class SizeGroup : public Glib::Object
+{
+ _CLASS_GOBJECT(SizeGroup,GtkSizeGroup,GTK_SIZE_GROUP,Glib::Object,GObject)
+protected:
+ explicit SizeGroup(SizeGroupMode mode);
+
+public:
+
+ _WRAP_CREATE(SizeGroupMode mode)
+
+ _WRAP_METHOD(void set_mode(SizeGroupMode mode), gtk_size_group_set_mode)
+ _WRAP_METHOD(SizeGroupMode get_mode() const, gtk_size_group_get_mode)
+
+ _WRAP_METHOD(void set_ignore_hidden(bool ignore_hidden = true), gtk_size_group_set_ignore_hidden)
+ _WRAP_METHOD(bool get_ignore_hidden() const, gtk_size_group_get_ignore_hidden)
+
+ _WRAP_METHOD(void add_widget(Widget& widget), gtk_size_group_add_widget)
+ _WRAP_METHOD(void remove_widget(Widget& widget), gtk_size_group_remove_widget)
+
+ _WRAP_METHOD(Glib::SListHandle<Widget*> get_widgets(), gtk_size_group_get_widgets)
+ _WRAP_METHOD(Glib::SListHandle<const Widget*> get_widgets() const, gtk_size_group_get_widgets)
+
+ _WRAP_PROPERTY("mode", SizeGroupMode)
+ _WRAP_PROPERTY("ignore_hidden", bool)
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/socket.ccg b/libs/gtkmm2/gtk/src/socket.ccg
new file mode 100644
index 0000000000..6f19ffd3ec
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/socket.ccg
@@ -0,0 +1,22 @@
+// -*- c++ -*-
+/* $Id: socket.ccg,v 1.1 2003/01/21 13:40:37 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtksocket.h>
+
diff --git a/libs/gtkmm2/gtk/src/socket.hg b/libs/gtkmm2/gtk/src/socket.hg
new file mode 100644
index 0000000000..86d33ec3e3
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/socket.hg
@@ -0,0 +1,91 @@
+/* $Id: socket.hg,v 1.2 2004/02/10 17:35:13 mxpxpod Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/container.h>
+#include <gdkmm/types.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/container_p.h)
+
+namespace Gtk
+{
+
+/** Container for widgets from other processes.
+ * Together with Gtk::Plug, Gtk::Socket provides the ability to embed
+ * widgets from one process into another process in a fashion that is
+ * transparent to the user. One process creates a Gtk::Socket widget and,
+ * passes the that widget's window ID to the other process, which then
+ * creates a Gtk::Plug with that window ID. Any widgets contained in the
+ * Gtk::Plug then will appear inside the first applications window.
+ *
+ * The socket's window ID is obtained by using get_id(). Before using this
+ * function, the socket must have been realized, and for hence, have been
+ * added to its parent.
+ *
+ * @code
+ * Gtk::Socket socket;
+ * parent.add(socket);
+ *
+ * // The following call is only necessary if one of the ancestors of the
+ * // socket is not yet visible
+ * socket.realize();
+ *
+ * cout << "The ID of the sockets window is: " << socket.get_id() << endl;
+ *
+ * @endcode
+ *
+ * Note that if you pass the window ID of the socket to another process that
+ * will create a plug in the socket, you must make sure that the socket
+ * widget is not destroyed until that plug is created. Violating this rule
+ * will cause unpredictable consequences, the most likely consequence being
+ * that the plug will appear as a separate toplevel window. You can check if
+ * the plug has been created by examining the plug_window member of the
+ * GtkSocket structure returned by gobj(). If this field is non-NULL, then
+ * the plug has been successfully created inside of the socket.
+ *
+ * When gtkmm is notified that the embedded window has been destroyed, then
+ * it will destroy the socket as well. You should always, therefore, be
+ * prepared for your sockets to be destroyed at any time when the main event
+ * loop is running.
+ *
+ * The communication between a Gtk::Socket and a Gtk::Plug follows the
+ * XEmbed protocol. This protocol has also been implemented in other
+ * toolkits, e.g. Qt, allowing the same level of integration when embedding
+ * a Qt widget in gtkmm or vice versa.
+ *
+ * @ingroup Widgets
+ * @ingroup Containers
+ */
+class Socket : public Container
+{
+ _CLASS_GTKOBJECT(Socket, GtkSocket, GTK_SOCKET, Gtk::Container, GtkContainer)
+ _IGNORE(gtk_socket_steal)
+ _GTKMMPROC_WIN32_NO_WRAP
+public:
+ _CTOR_DEFAULT
+
+
+ _WRAP_METHOD(void add_id(Gdk::NativeWindow window_id), gtk_socket_add_id)
+ _WRAP_METHOD(Gdk::NativeWindow get_id() const, gtk_socket_get_id)
+
+ _WRAP_SIGNAL(void plug_added(), "plug_added")
+ _WRAP_SIGNAL(bool plug_removed(), "plug_removed")
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/spinbutton.ccg b/libs/gtkmm2/gtk/src/spinbutton.ccg
new file mode 100644
index 0000000000..5b2929c9c7
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/spinbutton.ccg
@@ -0,0 +1,38 @@
+// -*- c++ -*-
+/* $Id: spinbutton.ccg,v 1.1 2003/01/21 13:40:38 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/adjustment.h>
+#include <gtk/gtkspinbutton.h>
+
+namespace Gtk
+{
+
+SpinButton::SpinButton(double climb_rate, guint digits)
+:
+ _CONSTRUCT("climb_rate", climb_rate, "digits", digits)
+{}
+
+void SpinButton::unset_adjustment()
+{
+ gtk_spin_button_set_adjustment(gobj(), 0);
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/spinbutton.hg b/libs/gtkmm2/gtk/src/spinbutton.hg
new file mode 100644
index 0000000000..87adf3b324
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/spinbutton.hg
@@ -0,0 +1,129 @@
+/* $Id: spinbutton.hg,v 1.4 2006/07/19 15:35:02 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/entry.h>
+#include <gtkmm/editable.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/entry_p.h)
+
+
+namespace Gtk
+{
+
+_CC_INCLUDE(gtk/gtktypebuiltins.h)
+_WRAP_ENUM(SpinButtonUpdatePolicy, GtkSpinButtonUpdatePolicy)
+_WRAP_ENUM(SpinType, GtkSpinType)
+
+/** @ingroup gtkmmEnums */
+enum { INPUT_ERROR = -1 };
+
+class Adjustment;
+
+/** numeric Entry with up/down buttons
+ * Slightly misnamed, this should be called a SpinEntry.
+ *
+ * @ingroup Widgets
+ */
+class SpinButton : public Entry
+{
+ _CLASS_GTKOBJECT(SpinButton,GtkSpinButton,GTK_SPIN_BUTTON,Gtk::Entry,GtkEntry)
+ _IMPLEMENTS_INTERFACE(Editable)
+public:
+
+ //: create instance
+ // adjustment: see Gtk::Adjustment
+ // climb_rate:
+ // digits: number of decimal digits (has to be < 6)
+ SpinButton(double climb_rate = 0.0, guint digits = 0);
+ _WRAP_CTOR(SpinButton(Adjustment& adjustment, double climb_rate = 0.0, guint digits = 0), gtk_spin_button_new)
+
+
+ _WRAP_METHOD(void configure(Adjustment& adjustment, double climb_rate, guint digits), gtk_spin_button_configure)
+
+ _WRAP_METHOD(void set_adjustment(Adjustment& adjustment), gtk_spin_button_set_adjustment)
+ void unset_adjustment();
+ _WRAP_METHOD(Gtk::Adjustment* get_adjustment(), gtk_spin_button_get_adjustment)
+ _WRAP_METHOD(const Gtk::Adjustment* get_adjustment() const, gtk_spin_button_get_adjustment, constversion)
+
+ _WRAP_METHOD(void set_digits(guint digits), gtk_spin_button_set_digits)
+ _WRAP_METHOD(guint get_digits() const, gtk_spin_button_get_digits)
+
+ _WRAP_METHOD(void set_increments(double step, double page), gtk_spin_button_set_increments)
+ _WRAP_METHOD(void get_increments(double& step, double& page) const, gtk_spin_button_get_increments)
+
+ _WRAP_METHOD(void set_range(double min, double max), gtk_spin_button_set_range)
+ _WRAP_METHOD(void get_range(double& min, double& max) const, gtk_spin_button_get_range)
+
+ _WRAP_METHOD(double get_value() const, gtk_spin_button_get_value)
+ _WRAP_METHOD(int get_value_as_int() const, gtk_spin_button_get_value_as_int)
+ _WRAP_METHOD(void set_value(double value), gtk_spin_button_set_value)
+
+ _WRAP_METHOD(void set_update_policy(SpinButtonUpdatePolicy policy), gtk_spin_button_set_update_policy)
+ _WRAP_METHOD(SpinButtonUpdatePolicy get_update_policy() const, gtk_spin_button_get_update_policy)
+
+ _WRAP_METHOD(void set_numeric(bool numeric = true), gtk_spin_button_set_numeric)
+ _WRAP_METHOD(bool get_numeric() const, gtk_spin_button_get_numeric)
+
+ _WRAP_METHOD(void spin(SpinType direction, double increment), gtk_spin_button_spin)
+
+ _WRAP_METHOD(void set_wrap(bool wrap = true), gtk_spin_button_set_wrap)
+ _WRAP_METHOD(bool get_wrap() const, gtk_spin_button_get_wrap)
+
+ _WRAP_METHOD(void set_snap_to_ticks(bool snap_to_ticks = true), gtk_spin_button_set_snap_to_ticks)
+ _WRAP_METHOD(bool get_snap_to_ticks() const, gtk_spin_button_get_snap_to_ticks)
+
+ _WRAP_METHOD(void update(), gtk_spin_button_update)
+
+ /** Convert the Entry text to a number.
+ * The computed number should be written to <tt>*new_value</tt>.
+ * @return
+ * @li <tt>false</tt>: No conversion done, continue with default handler.
+ * @li <tt>true</tt>: Conversion successful, don't call default handler.
+ * @li <tt>Gtk::INPUT_ERROR</tt>: Conversion failed, don't call default handler.
+ */
+ _WRAP_SIGNAL(int input(double* new_value), "input")
+
+ /** Convert the Adjustment position to text.
+ * The computed text should be written via Gtk::Entry::set_text().
+ * @return
+ * @li <tt>false</tt>: No conversion done, continue with default handler.
+ * @li <tt>true</tt>: Conversion successful, don't call default handler.
+ */
+ _WRAP_SIGNAL(bool output(), "output")
+
+ _WRAP_SIGNAL(bool wrapped(), "wrapped", no_default_handler)
+
+ _WRAP_SIGNAL(void value_changed(), "value_changed")
+
+ //Keybinding signals:
+ _IGNORE_SIGNAL("change_value")
+
+ _WRAP_PROPERTY("adjustment", Gtk::Adjustment*)
+ _WRAP_PROPERTY("climb-rate", double)
+ _WRAP_PROPERTY("digits", guint)
+ _WRAP_PROPERTY("snap-to-ticks", bool)
+ _WRAP_PROPERTY("numeric", bool)
+ _WRAP_PROPERTY("wrap", bool)
+ _WRAP_PROPERTY("update-policy", SpinButtonUpdatePolicy)
+ _WRAP_PROPERTY("value", double)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/statusbar.ccg b/libs/gtkmm2/gtk/src/statusbar.ccg
new file mode 100644
index 0000000000..c5f15344b1
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/statusbar.ccg
@@ -0,0 +1,39 @@
+// -*- c++ -*-
+/* $Id: statusbar.ccg,v 1.1 2003/01/21 13:40:38 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkstatusbar.h>
+
+namespace Gtk
+{
+
+guint Statusbar::push(const Glib::ustring& text, guint context_id /* = 0 */)
+{
+ return gtk_statusbar_push(gobj(), context_id, text.c_str());
+}
+
+void Statusbar::remove_message(guint message_id, guint context_id /* = 0 */)
+{
+ return gtk_statusbar_remove(gobj(), context_id, message_id);
+}
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/statusbar.hg b/libs/gtkmm2/gtk/src/statusbar.hg
new file mode 100644
index 0000000000..cb69dade82
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/statusbar.hg
@@ -0,0 +1,62 @@
+/* $Id: statusbar.hg,v 1.2 2003/10/12 09:38:11 murrayc Exp $ */
+
+/* statusbar.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/box.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/box_p.h)
+
+namespace Gtk
+{
+
+/** Text status indicator
+ * This widget is used to display status information.
+ * Messages are pushed and poped onto a message stack.
+ * When text is pushed it replaces the old contents.
+ * The old text is restored when popped.
+ *
+ * It derives from Gtk::HBox so that additional information can be added
+ * easily.
+ *
+ * @ingroup Widgets
+ */
+class Statusbar : public HBox
+{
+ _CLASS_GTKOBJECT(Statusbar,GtkStatusbar,GTK_STATUSBAR,Gtk::HBox,GtkHBox)
+ _IGNORE(gtk_statusbar_push, gtk_statusbar_remove)
+public:
+ _CTOR_DEFAULT
+
+ _WRAP_METHOD(guint get_context_id(const Glib::ustring& context_description), gtk_statusbar_get_context_id)
+ guint push(const Glib::ustring& text, guint context_id = 0);
+ _WRAP_METHOD(void pop(guint context_id = 0), gtk_statusbar_pop)
+ void remove_message(guint message_id, guint context_id = 0);
+ _WRAP_METHOD(void set_has_resize_grip(bool setting = true), gtk_statusbar_set_has_resize_grip)
+ _WRAP_METHOD(bool get_has_resize_grip() const, gtk_statusbar_get_has_resize_grip)
+
+ _WRAP_SIGNAL(void text_pushed(guint context_id, const Glib::ustring& text), "text_pushed")
+ _WRAP_SIGNAL(void text_popped(guint context_id, const Glib::ustring& text), "text_popped")
+
+ _WRAP_PROPERTY("has_resize_grip", bool)
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/statusicon.ccg b/libs/gtkmm2/gtk/src/statusicon.ccg
new file mode 100644
index 0000000000..a8bec086fd
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/statusicon.ccg
@@ -0,0 +1,57 @@
+// -*- c++ -*-
+/* $Id: statusicon.ccg,v 1.4 2006/06/21 20:34:39 murrayc Exp $ */
+
+/* Copyright 2005 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkstatusicon.h>
+
+
+namespace Gtk
+{
+
+Glib::RefPtr<StatusIcon> StatusIcon::create_from_file(const std::string& filename)
+{
+ Glib::RefPtr<StatusIcon> status_icon( new StatusIcon() );
+ status_icon->set_from_file(filename);
+ return status_icon;
+}
+
+bool StatusIcon::get_geometry(Glib::RefPtr<Gdk::Screen>& screen, Gdk::Rectangle& area, Orientation& orientation)
+{
+ GdkScreen* cscreen = 0;
+ GdkRectangle carea;
+ const bool result = gtk_status_icon_get_geometry(const_cast<GtkStatusIcon*>(gobj()), &cscreen, &carea, (GtkOrientation*)(&orientation));
+
+ if(cscreen)
+ screen = Glib::wrap(cscreen);
+
+ *(area.gobj()) = carea;
+
+ return result;
+}
+
+void StatusIcon::popup_menu_at_position(Menu& menu, guint button, guint32 activate_time)
+{
+ gtk_menu_popup(menu.gobj(), NULL, NULL,
+ gtk_status_icon_position_menu, gobj() /* user_data, passed to gtk_status_icon_position_menu()/ */,
+ button, activate_time);
+}
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/statusicon.hg b/libs/gtkmm2/gtk/src/statusicon.hg
new file mode 100644
index 0000000000..0c68c27d7b
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/statusicon.hg
@@ -0,0 +1,178 @@
+/* $Id: statusicon.hg,v 1.6 2006/07/05 16:59:28 murrayc Exp $ */
+
+/* Copyright (C) 2005 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+#include <gtkmm/image.h> //For ImageType.
+#include <gtkmm/stockid.h>
+#include <gtkmm/menu.h>
+#include <gdkmm/pixbuf.h>
+#include <gdkmm/types.h>
+#include <gtkmm/object.h>
+
+
+namespace Gtk
+{
+
+/** The "system tray" or notification area is normally used for transient icons that indicate some
+ * special state. For example, a system tray icon might appear to tell the user that they have new
+ * mail, or have an incoming instant message, or something along those lines. The basic idea is
+ * that creating an icon in the notification area is less annoying than popping up a dialog.
+ *
+ * A StatusIcon object can be used to display an icon in a "system tray". The icon can have a
+ * tooltip, and the user can interact with it by activating it or popping up a context menu.
+ * Critical information should not solely be displayed in a StatusIcon, since it may not be
+ * visible (e.g. when the user doesn't have a notification area on his panel). This can be checked
+ * with is_embedded().
+ *
+ * On X11, the implementation follows the freedesktop.org "System Tray" specification.
+ * Implementations of the "tray" side of this specification can be found e.g. in the GNOME and KDE
+ * panel applications.
+ *
+ * @newin2p10
+ */
+class StatusIcon : public Glib::Object
+{
+ _CLASS_GOBJECT(StatusIcon, GtkStatusIcon, GTK_STATUS_ICON, Glib::Object, GObject)
+protected:
+ _CTOR_DEFAULT
+ _IGNORE(gtk_status_icon_new)
+ _WRAP_CTOR(StatusIcon(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf), gtk_status_icon_new_from_pixbuf)
+ _WRAP_CTOR(StatusIcon(const StockID& stock), gtk_status_icon_new_from_stock)
+ _WRAP_CTOR(StatusIcon(const Glib::ustring& icon_name), gtk_status_icon_new_from_icon_name)
+
+public:
+ /** Creates a new Gtk::StatusIcon object.
+ * @return A Glib::RefPtr<> to a newly created Gtk::StatusIcon object.
+ */
+ _WRAP_CREATE(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf)
+ _WRAP_CREATE(const StockID& stock_id)
+ _WRAP_CREATE(const Glib::ustring& icon_name)
+
+ /** Creates a status icon displaying the file @a filename.
+ * The image will be scaled down to fit in the available
+ * space in the notification area, if necessary.
+ *
+ * @param filename A filename.
+ * @result A new StatusIcon
+ *
+ * @newin2p10
+ */
+ static Glib::RefPtr<StatusIcon> create_from_file(const std::string& filename);
+ _IGNORE(gtk_status_icon_new_from_file)
+
+ _WRAP_METHOD(void set(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf), gtk_status_icon_set_from_pixbuf)
+ _WRAP_METHOD(void set_from_file(const Glib::ustring& filename), gtk_status_icon_set_from_file)
+ _WRAP_METHOD(void set(const StockID& stock_id), gtk_status_icon_set_from_stock)
+ _WRAP_METHOD(void set(const Glib::ustring& icon_name), gtk_status_icon_set_from_icon_name)
+
+ _WRAP_METHOD(ImageType get_storage_type() const, gtk_status_icon_get_storage_type)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> get_pixbuf(), gtk_status_icon_get_pixbuf)
+ _WRAP_METHOD(Glib::RefPtr<const Gdk::Pixbuf> get_pixbuf() const, gtk_status_icon_get_pixbuf, constversion)
+
+ _WRAP_METHOD(StockID get_stock() const, gtk_status_icon_get_stock)
+ _WRAP_METHOD(Glib::ustring get_icon_name() const, gtk_status_icon_get_icon_name)
+
+ _WRAP_METHOD(int get_size() const, gtk_status_icon_get_size)
+
+ _WRAP_METHOD(void set_screen(const Glib::RefPtr<Gdk::Screen>& screen), gtk_status_icon_set_screen)
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Screen> get_screen(), gtk_status_icon_get_screen, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Gdk::Screen> get_screen() const, gtk_status_icon_get_screen, refreturn, constversion)
+
+ _WRAP_METHOD(void set_tooltip(const Glib::ustring& tooltip_text), gtk_status_icon_set_tooltip)
+
+ _WRAP_METHOD(void set_visible(bool visible = true), gtk_status_icon_set_visible)
+ _WRAP_METHOD(bool get_visible() const, gtk_status_icon_get_visible)
+ _WRAP_METHOD(void set_blinking(bool blinking = true), gtk_status_icon_set_blinking)
+ _WRAP_METHOD(bool get_blinking() const, gtk_status_icon_get_blinking)
+
+ _WRAP_METHOD(bool is_embedded() const, gtk_status_icon_is_embedded)
+
+ /** Displays a menu aligned to the status icon, and makes it available for selection.
+ * Applications can use this function to display context-sensitive menus.
+ *
+ * This is equivalent to the gtk_status_icon_position_menu() helper callback in GTK+,
+ * which can be provided to gtk_menu_popup().
+ *
+ * See Gtk::Menu::popup() for more details.
+ *
+ * @param menu The menu to popup for the status icon.
+ * @param button The mouse button which was pressed to initiate the event.
+ * @param activate_time The time at which the activation event occurred.
+ *
+ * @newin2p12
+ */
+ void popup_menu_at_position(Menu& menu, guint button, guint32 activate_time);
+ _IGNORE(gtk_status_icon_position_menu)
+ //Note that gtk_status_icon_position_menu() is meant to be used as a helpful callback when calling gtk_menu_popup().
+ //We make it easier by just providing a popup method that uses it.
+
+
+ //In gtk_status_icon_get_geometry(), any of the parameters may be NULL,
+ //but we don't need 6 different overloads, with different parameters.
+ //But we can add some if there are common cases.
+
+ /** Obtains information about the location of the status icon
+ * on screen. This information can be used to e.g. position
+ * popups like notification bubbles.
+ * See popup_menu_at_position() for a more convenient
+ * alternative for positioning menus.
+ *
+ * Note that some platforms do not allow GTK+ to provide
+ * this information.
+ *
+ * @param screen: The screen.
+ * @param area The area occupied by the status icon.
+ * @param orientation The orientation of the panel in which the status icon is embedded. A panel
+ * at the top or bottom of the screen is horizontal, a panel at the left or right is vertical.
+ * @result true if the location information has been filled in.
+ *
+ * @newin2p10
+ */
+ bool get_geometry(Glib::RefPtr<Gdk::Screen>& screen, Gdk::Rectangle& area, Orientation& orientation);
+ _IGNORE(gtk_status_icon_get_geometry)
+
+ _WRAP_PROPERTY("pixbuf", Glib::RefPtr<Gdk::Pixbuf>)
+ _WRAP_PROPERTY("file", std::string)
+ _WRAP_PROPERTY("stock", StockID)
+ _WRAP_PROPERTY("icon-name", Glib::ustring)
+ _WRAP_PROPERTY("storage-type", ImageType)
+ _WRAP_PROPERTY("size", int)
+ _WRAP_PROPERTY("blinking", bool)
+
+ _WRAP_SIGNAL(bool size_changed(int size), size_changed)
+
+ //TODO: Remove no_default_handler when we can break ABI.
+ /* These are keybinding signals, which should usually not be wrapped,
+ unless there is explicit documentation saying that the should be
+ used by applications. We have asked repeatedly for clarification about these
+ particular signals, but received no clear answer.
+ We have decided to take the risk, because they really do seem to be necessary,
+ for responding to status icon activation and requests to show their popup menu.
+ murrayc.
+ */
+ _WRAP_SIGNAL(void activate(), activate, no_default_handler)
+ _WRAP_SIGNAL(void popup_menu(guint button, guint32 activate_time), popup_menu, no_default_handler)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/stockitem.ccg b/libs/gtkmm2/gtk/src/stockitem.ccg
new file mode 100644
index 0000000000..4234a0fad1
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/stockitem.ccg
@@ -0,0 +1,59 @@
+// -*- c++ -*-
+/* $Id: stockitem.ccg,v 1.3 2004/06/20 22:41:14 daniel Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkstock.h>
+
+namespace Gtk
+{
+
+StockItem::StockItem(const Gtk::StockID& stock_id,
+ const Glib::ustring& label,
+ Gdk::ModifierType modifier,
+ unsigned int keyval,
+ const Glib::ustring& translation_domain)
+{
+ const GtkStockItem stock_item =
+ {
+ const_cast<char*>(stock_id.get_c_str()),
+ const_cast<char*>(label.c_str()),
+ static_cast<GdkModifierType>(unsigned(modifier)),
+ keyval,
+ (translation_domain.empty()) ? 0 : const_cast<char*>(translation_domain.c_str())
+ };
+
+ gobject_ = gtk_stock_item_copy(&stock_item);
+}
+
+// static
+bool StockItem::lookup(const Gtk::StockID& stock_id, Gtk::StockItem& item)
+{
+ GtkStockItem item_gobj = { 0, 0, GdkModifierType(0), 0, 0, };
+ const bool known_id = gtk_stock_lookup(stock_id.get_c_str(), &item_gobj);
+
+ if(item.gobject_)
+ gtk_stock_item_free(item.gobject_);
+
+ item.gobject_ = (known_id) ? gtk_stock_item_copy(&item_gobj) : 0;
+
+ return known_id;
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/stockitem.hg b/libs/gtkmm2/gtk/src/stockitem.hg
new file mode 100644
index 0000000000..509d1a807a
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/stockitem.hg
@@ -0,0 +1,54 @@
+/* $Id: stockitem.hg,v 1.2 2004/04/11 21:00:53 murrayc Exp $ */
+
+/* Copyright(C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software, ) you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation, ) either
+ * version 2 of the License, or(at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY, ) without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library, ) if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdkmm/types.h>
+#include <gtkmm/stockid.h>
+
+_DEFS(gtkmm,gtk)
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C"
+{
+ typedef struct _GtkStockItem GtkStockItem;
+}
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+namespace Gtk
+{
+
+class StockItem
+{
+ _CLASS_OPAQUE_COPYABLE(StockItem, GtkStockItem, NONE, gtk_stock_item_copy, gtk_stock_item_free)
+
+public:
+ StockItem(const Gtk::StockID& stock_id, const Glib::ustring& label,
+ Gdk::ModifierType modifier = Gdk::ModifierType(0), unsigned int keyval = 0,
+ const Glib::ustring& translation_domain = Glib::ustring());
+
+ _MEMBER_GET(stock_id, stock_id, StockID, char*)
+ _MEMBER_GET(label, label, Glib::ustring, char*)
+ _MEMBER_GET(modifier, modifier, Gdk::ModifierType, GdkModifierType)
+ _MEMBER_GET(keyval, keyval, guint, guint)
+ _MEMBER_GET(translation_domain, translation_domain, Glib::ustring, char*)
+
+ static bool lookup(const Gtk::StockID& stock_id, Gtk::StockItem& item);
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/style.ccg b/libs/gtkmm2/gtk/src/style.ccg
new file mode 100644
index 0000000000..9e57798627
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/style.ccg
@@ -0,0 +1,233 @@
+// -*- c++ -*-
+/* $Id: style.ccg,v 1.5 2006/11/23 14:47:48 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/widget.h>
+#include <gtkmm/rc.h>
+#include <gtk/gtkstyle.h>
+
+
+namespace Gtk
+{
+
+/*
+Design notes:
+
+Okay these are my notes on how a GtkStyle works.
+They are not meant to be taken as documentation as I didn't
+write the code.
+
+styles keeps a copy of itself for each color depth. Thus
+changing a style after it has been attached wont work!
+
+At allocation time a Gtk Style has
+ - all GC set to 0 as they will be allocated later
+ - has all color values set to default values.
+ - a ref count of 1 and an attach count of 0 (floating?)
+ - a properly referenced font.
+ - colormap and depth are invalid.
+ - The style list and rcstyle are 0. (??? styles wasn't set explicitly!)
+
+It returns to this state if the style is detatched from
+all widgets.
+
+Attach acts to sink the object removing it from the floating state.
+
+attaching a style for the first time initializes it.
+Initializing a style
+ - sets the colormap and depth.
+ - sets the mid colors. (thus allowing user to set these would be pointless)
+ - gets black and white from the colormap.
+ - allocates all the colors.
+ - uses gtk_gc_get to share a gc if there is a matching one.
+
+Conclusions, we need to rework the concept of Gdk to allow
+for const objects.
+
+*/
+
+void Style::set_font(const Pango::FontDescription& font_desc)
+{
+ g_return_if_fail(font_desc.gobj() != 0);
+
+ // It will be freed when it goes out of scope.
+ const Pango::FontDescription fontBefore (gobj()->font_desc, false);
+
+ gobj()->font_desc = font_desc.gobj_copy();
+}
+
+Pango::FontDescription Style::get_font() const
+{
+ // Direct struct access seems the only way.
+ return Pango::FontDescription(gobj()->font_desc, true); // true = make a copy.
+}
+
+Glib::RefPtr<Gdk::GC> Style::get_fg_gc(StateType state_type)
+{
+ return Glib::wrap(gobj()->fg_gc[state_type], true);
+}
+
+Glib::RefPtr<const Gdk::GC> Style::get_fg_gc(StateType state_type) const
+{
+ return Glib::wrap(gobj()->fg_gc[state_type], true);
+}
+
+Glib::RefPtr<Gdk::GC> Style::get_bg_gc(StateType state_type)
+{
+ return Glib::wrap(gobj()->bg_gc[state_type], true);
+}
+
+Glib::RefPtr<const Gdk::GC> Style::get_bg_gc(StateType state_type) const
+{
+ return Glib::wrap(gobj()->bg_gc[state_type], true);
+}
+
+Glib::RefPtr<Gdk::GC> Style::get_light_gc(StateType state_type)
+{
+ return Glib::wrap(gobj()->light_gc[state_type], true);
+}
+
+Glib::RefPtr<const Gdk::GC> Style::get_light_gc(StateType state_type) const
+{
+ return Glib::wrap(gobj()->light_gc[state_type], true);
+}
+
+Glib::RefPtr<Gdk::GC> Style::get_dark_gc(StateType state_type)
+{
+ return Glib::wrap(gobj()->dark_gc[state_type], true);
+}
+
+Glib::RefPtr<const Gdk::GC> Style::get_dark_gc(StateType state_type) const
+{
+ return Glib::wrap(gobj()->dark_gc[state_type], true);
+}
+
+Glib::RefPtr<Gdk::GC> Style::get_mid_gc(StateType state_type)
+{
+ return Glib::wrap(gobj()->mid_gc[state_type], true);
+}
+
+Glib::RefPtr<const Gdk::GC> Style::get_mid_gc(StateType state_type) const
+{
+ return Glib::wrap(gobj()->mid_gc[state_type], true);
+}
+
+Glib::RefPtr<Gdk::GC> Style::get_text_gc(StateType state_type)
+{
+ return Glib::wrap(gobj()->text_gc[state_type], true);
+}
+
+Glib::RefPtr<const Gdk::GC> Style::get_text_gc(StateType state_type) const
+{
+ return Glib::wrap(gobj()->text_gc[state_type], true);
+}
+
+Glib::RefPtr<Gdk::GC> Style::get_base_gc(StateType state_type)
+{
+ return Glib::wrap(gobj()->base_gc[state_type], true);
+}
+
+Glib::RefPtr<const Gdk::GC> Style::get_base_gc(StateType state_type) const
+{
+ return Glib::wrap(gobj()->base_gc[state_type], true);
+}
+
+_DEPRECATE_IFDEF_START
+Gdk::Color Style::get_background(StateType state_type) const
+{
+ GdkColor* pGdkColor = const_cast<GdkColor*>(&(gobj()->bg[state_type]));
+ return Glib::wrap(pGdkColor, true); //true = take_copy.
+}
+
+Glib::RefPtr<Gdk::Pixmap> Style::get_background_pixmap(StateType state_type)
+{
+ return Glib::wrap((GdkPixmapObject*) (gobj()->bg_pixmap[state_type]), true); //true = take_copy.
+}
+
+void Style::set_bg_pixmap(StateType state_type, const Glib::RefPtr<Gdk::Pixmap>& pixmap)
+{
+ GdkPixmap *const old_pixmap = gobj()->bg_pixmap[state_type];
+ gobj()->bg_pixmap[state_type] = Glib::unwrap_copy(pixmap);
+
+ if(old_pixmap)
+ g_object_unref(old_pixmap);
+}
+_DEPRECATE_IFDEF_END
+
+void Style::set_bg_pixmap(StateType state_type, const Glib::RefPtr<const Gdk::Pixmap>& pixmap)
+{
+ GdkPixmap *const old_pixmap = gobj()->bg_pixmap[state_type];
+ Glib::RefPtr<Gdk::Pixmap> pixmap_unconst = Glib::RefPtr<Gdk::Pixmap>::cast_const(pixmap);
+ gobj()->bg_pixmap[state_type] = Glib::unwrap_copy(pixmap_unconst); //unwrap_copy() needs a non-const.
+
+ if(old_pixmap)
+ g_object_unref(old_pixmap);
+}
+
+Glib::RefPtr<Gdk::Pixmap> Style::get_bg_pixmap(StateType state_type)
+{
+ return Glib::wrap((GdkPixmapObject*) (gobj()->bg_pixmap[state_type]), true); // true = take_copy
+}
+
+Glib::RefPtr<const Gdk::Pixmap> Style::get_bg_pixmap(StateType state_type) const
+{
+ return Glib::wrap((GdkPixmapObject*) (gobj()->bg_pixmap[state_type]), true); // true = take_copy
+}
+
+void Style::set_xthickness(int xthickness)
+{
+ gobj()->xthickness = xthickness;
+}
+
+void Style::set_ythickness(int ythickness)
+{
+ gobj()->ythickness = ythickness;
+}
+
+void Style::paint_polygon(const Glib::RefPtr<Gdk::Window>& window,
+ StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget& widget,
+ const Glib::ustring& detail,
+ const Glib::ArrayHandle<Gdk::Point>& points,
+ bool fill) const
+{
+ gtk_paint_polygon(
+ const_cast<GtkStyle*>(gobj()),
+ Glib::unwrap(window),
+ (GtkStateType) state_type,
+ (GtkShadowType) shadow_type,
+ const_cast<GdkRectangle*>(area.gobj()),
+ widget.gobj(),
+ detail.c_str(),
+ reinterpret_cast<GdkPoint*>(const_cast<Gdk::Point*>(points.data())),
+ points.size(),
+ fill);
+}
+
+IconSet Style::lookup_icon_set(const Gtk::StockID& stock_id)
+{
+ GtkIconSet* pIconSet = gtk_style_lookup_icon_set(gobj(), stock_id.get_c_str());
+ return IconSet(pIconSet, true); //true = take_copy.
+
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/style.hg b/libs/gtkmm2/gtk/src/style.hg
new file mode 100644
index 0000000000..caed073a36
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/style.hg
@@ -0,0 +1,591 @@
+/* $Id: style.hg,v 1.11 2006/11/23 14:47:48 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+_CONFIGINCLUDE(gtkmmconfig.h)
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+_PINCLUDE(gtk/gtkrc.h)
+#m4begin
+
+m4_define(`_STYLE_MEMBER_COLOR',`dnl
+void set_$1(Gtk::StateType state, const Gdk::Color& color);
+ Gdk::Color get_$1(Gtk::StateType state) const;
+_PUSH(SECTION_CC)
+void Style::set_$1(StateType state, const Gdk::Color& color)
+{
+ gobj()->$1[state] = *color.gobj();
+}
+
+Gdk::Color Style::get_$1(StateType state) const
+{
+ return Gdk::Color(const_cast<GdkColor*>(&gobj()->$1[state]), true);
+}
+
+_POP()
+')dnl
+
+#m4end
+
+#include <pangomm/fontdescription.h>
+#include <pangomm/layout.h>
+
+#include <gdkmm/gc.h>
+#include <gdkmm/pixmap.h>
+#include <gdkmm/types.h>
+#include <gdkmm/window.h>
+
+#include <gtkmm/object.h>
+#include <gtkmm/enums.h>
+#include <gtkmm/iconsource.h>
+#include <gtkmm/iconset.h>
+#include <gtkmmconfig.h>
+
+
+namespace Gtk
+{
+
+class Widget;
+class RcStyle;
+
+
+class Style : public Glib::Object
+{
+ _CLASS_GOBJECT(Style, GtkStyle, GTK_STYLE, Glib::Object, GObject)
+ _IGNORE(gtk_style_ref, gtk_style_unref, gtk_style_get_font, gtk_style_set_font)
+
+protected:
+ _CTOR_DEFAULT()
+
+public:
+ _WRAP_CREATE()
+ _IGNORE(gtk_style_new)
+
+ _STYLE_MEMBER_COLOR(fg)
+ _STYLE_MEMBER_COLOR(bg)
+ _STYLE_MEMBER_COLOR(light)
+ _STYLE_MEMBER_COLOR(dark)
+ _STYLE_MEMBER_COLOR(mid)
+ _STYLE_MEMBER_COLOR(text)
+ _STYLE_MEMBER_COLOR(base)
+ _STYLE_MEMBER_COLOR(text_aa)
+
+ _MEMBER_SET(black, black, Gdk::Color, GdkColor)
+ _MEMBER_GET(black, black, Gdk::Color, GdkColor)
+ _MEMBER_SET(white, white, Gdk::Color, GdkColor)
+ _MEMBER_GET(white, white, Gdk::Color, GdkColor)
+
+ void set_font(const Pango::FontDescription& font_desc);
+
+ // These are only available after being attached to a window.
+ Pango::FontDescription get_font() const;
+
+ void set_xthickness(int xthickness);
+ _MEMBER_GET(xthickness, xthickness, int, gint)
+
+ void set_ythickness(int ythickness);
+ _MEMBER_GET(ythickness, ythickness, int, gint)
+
+ Glib::RefPtr<Gdk::GC> get_fg_gc(Gtk::StateType state_type);
+ Glib::RefPtr<const Gdk::GC> get_fg_gc(Gtk::StateType state_type) const;
+
+ Glib::RefPtr<Gdk::GC> get_bg_gc(Gtk::StateType state_type);
+ Glib::RefPtr<const Gdk::GC> get_bg_gc(Gtk::StateType state_type) const;
+
+ Glib::RefPtr<Gdk::GC> get_light_gc(Gtk::StateType state_type);
+ Glib::RefPtr<const Gdk::GC> get_light_gc(Gtk::StateType state_type) const;
+
+ Glib::RefPtr<Gdk::GC> get_dark_gc(Gtk::StateType state_type);
+ Glib::RefPtr<const Gdk::GC> get_dark_gc(Gtk::StateType state_type) const;
+
+ Glib::RefPtr<Gdk::GC> get_mid_gc ( Gtk::StateType state_type);
+ Glib::RefPtr<const Gdk::GC> get_mid_gc ( Gtk::StateType state_type) const;
+
+ Glib::RefPtr<Gdk::GC> get_text_gc(Gtk::StateType state_type);
+ Glib::RefPtr<const Gdk::GC> get_text_gc(Gtk::StateType state_type) const;
+
+ Glib::RefPtr<Gdk::GC> get_base_gc(Gtk::StateType state_type);
+ Glib::RefPtr<const Gdk::GC> get_base_gc(Gtk::StateType state_type) const;
+
+ _MEMBER_GET_GOBJECT(black_gc, black_gc, Gdk::GC, GdkGC*)
+ _MEMBER_GET_GOBJECT(white_gc, white_gc, Gdk::GC, GdkGC*)
+
+ _DEPRECATE_IFDEF_START
+ /* @deprecated use get_bg() instead.
+ */
+ Gdk::Color get_background(Gtk::StateType state_type) const;
+
+ /*@deprecated use get_bg() instead.
+ */
+ Glib::RefPtr<Gdk::Pixmap> get_background_pixmap(Gtk::StateType state_type);
+
+ /** @deprecated Use set_bg_pixmap(Gtk::StateType state_type, const Glib::RefPtr<const Gdk::Pixmap>& pixmap)
+ */
+ void set_bg_pixmap(Gtk::StateType state_type, const Glib::RefPtr<Gdk::Pixmap>& pixmap);
+ _DEPRECATE_IFDEF_END
+
+ void set_bg_pixmap(Gtk::StateType state_type, const Glib::RefPtr<const Gdk::Pixmap>& pixmap);
+
+ Glib::RefPtr<Gdk::Pixmap> get_bg_pixmap(Gtk::StateType state_type);
+ Glib::RefPtr<const Gdk::Pixmap> get_bg_pixmap(Gtk::StateType state_type) const;
+
+ _WRAP_METHOD(void paint_arrow(
+ const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget& widget,
+ const Glib::ustring& detail,
+ ArrowType arrow_type,
+ bool fill,
+ int x,
+ int y,
+ int width,
+ int height) const, gtk_paint_arrow)
+
+ _WRAP_METHOD(void paint_box(
+ const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget& widget,
+ const Glib::ustring& detail,
+ int x,
+ int y,
+ int width,
+ int height) const, gtk_paint_box)
+
+ _WRAP_METHOD(void paint_box_gap(
+ const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget& widget,
+ const Glib::ustring& detail,
+ int x,
+ int y,
+ int width,
+ int height,
+ PositionType gap_side,
+ int gap_x,
+ int gap_width) const, gtk_paint_box_gap)
+
+ _WRAP_METHOD(void paint_check(
+ const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget& widget,
+ const Glib::ustring& detail,
+ int x,
+ int y,
+ int width,
+ int height) const, gtk_paint_check)
+
+ _WRAP_METHOD(void paint_diamond(
+ const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget& widget,
+ const Glib::ustring& detail,
+ int x,
+ int y,
+ int width,
+ int height) const, gtk_paint_diamond)
+
+ _WRAP_METHOD(void paint_extension(
+ const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget& widget,
+ const Glib::ustring& detail,
+ int x,
+ int y,
+ int width,
+ int height,
+ PositionType gap_side) const, gtk_paint_extension)
+
+ _WRAP_METHOD(void paint_flat_box(
+ const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget& widget,
+ const Glib::ustring& detail,
+ int x,
+ int y,
+ int width,
+ int height) const, gtk_paint_flat_box)
+
+ _WRAP_METHOD(void paint_focus(
+ const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ const Gdk::Rectangle& area,
+ Widget& widget,
+ const Glib::ustring& detail,
+ int x,
+ int y,
+ int width,
+ int height) const, gtk_paint_focus)
+
+ _WRAP_METHOD(void paint_handle(
+ const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget& widget,
+ const Glib::ustring& detail,
+ int x,
+ int y,
+ int width,
+ int height,
+ Orientation orientation) const, gtk_paint_handle)
+
+ _WRAP_METHOD(void paint_hline(
+ const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ const Gdk::Rectangle& area,
+ Widget& widget,
+ const Glib::ustring& detail,
+ int x1,
+ int x2,
+ int y) const, gtk_paint_hline)
+
+ _WRAP_METHOD(void paint_option(
+ const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget& widget,
+ const Glib::ustring& detail,
+ int x,
+ int y,
+ int width,
+ int height) const, gtk_paint_option)
+
+ void paint_polygon(
+ const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget& widget,
+ const Glib::ustring& detail,
+ const Glib::ArrayHandle<Gdk::Point>& points,
+ bool fill) const;
+
+ _WRAP_METHOD(void paint_shadow(
+ const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget& widget,
+ const Glib::ustring& detail,
+ int x,
+ int y,
+ int width,
+ int height) const, gtk_paint_shadow)
+
+ _WRAP_METHOD(void paint_shadow_gap(
+ const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget& widget,
+ const Glib::ustring& detail,
+ int x,
+ int y,
+ int width,
+ int height,
+ PositionType gap_side,
+ int gap_x,
+ int gap_width) const, gtk_paint_shadow_gap)
+
+ _WRAP_METHOD(void paint_slider(
+ const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget& widget,
+ const Glib::ustring& detail,
+ int x,
+ int y,
+ int width,
+ int height,
+ Orientation orientation) const, gtk_paint_slider)
+
+ _WRAP_METHOD(void paint_tab(
+ const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget& widget,
+ const Glib::ustring& detail,
+ int x,
+ int y,
+ int width,
+ int height) const, gtk_paint_tab)
+
+
+ _WRAP_METHOD(void paint_vline(
+ const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ const Gdk::Rectangle& area,
+ Widget& widget,
+ const Glib::ustring& detail,
+ int y1,
+ int y2,
+ int x) const, gtk_paint_vline)
+
+ _WRAP_METHOD(void paint_expander(
+ const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ const Gdk::Rectangle& area,
+ Widget& widget,
+ const Glib::ustring& detail,
+ int x,
+ int y,
+ ExpanderStyle expander_style) const, gtk_paint_expander)
+
+ _WRAP_METHOD(void paint_layout(
+ const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ bool use_text,
+ const Gdk::Rectangle& area,
+ Widget& widget,
+ const Glib::ustring& detail,
+ int x,
+ int y,
+ const Glib::RefPtr<Pango::Layout>& layout) const, gtk_paint_layout)
+
+ _WRAP_METHOD(void paint_resize_grip(
+ const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ const Gdk::Rectangle& area,
+ Widget& widget,
+ const Glib::ustring& detail,
+ Gdk::WindowEdge edge,
+ int x,
+ int y,
+ int width,
+ int height) const, gtk_paint_resize_grip)
+
+
+ _WRAP_METHOD(Glib::RefPtr<Style> copy(), gtk_style_copy)
+
+ _WRAP_METHOD(Glib::RefPtr<Style> attach(const Glib::RefPtr<Gdk::Window>& window), gtk_style_attach)
+ _WRAP_METHOD(void detach(), gtk_style_detach)
+
+ _WRAP_METHOD(void set_background(const Glib::RefPtr<Gdk::Window>& window, Gtk::StateType state_type), gtk_style_set_background)
+
+ _WRAP_METHOD(void apply_default_background(const Glib::RefPtr<Gdk::Window>& window, bool set_bg,
+ Gtk::StateType state_type, const Gdk::Rectangle& area,
+ int x, int y, int width, int height), gtk_style_apply_default_background)
+
+ _WRAP_METHOD_DOCS_ONLY(gtk_style_lookup_icon_set)
+ IconSet lookup_icon_set(const Gtk::StockID& stock_id);
+
+ _CONVERSION(`Gdk::Color&',`GdkColor*',`($3).gobj()')
+ _WRAP_METHOD(bool lookup_color(const Glib::ustring& color_name, Gdk::Color& color) const, gtk_style_lookup_color)
+
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> render_icon(const IconSource& source,
+ Gtk::TextDirection direction, Gtk::StateType state, Gtk::IconSize size,
+ Gtk::Widget& widget, const Glib::ustring& detail), gtk_style_render_icon)
+
+protected:
+ _WRAP_VFUNC(void realize(), realize)
+ _WRAP_VFUNC(void unrealize(), unrealize)
+
+#m4 _CONVERSION(`GtkStyle*',`const Glib::RefPtr<Style>&',`Glib::wrap($3, true)')
+ _WRAP_VFUNC(void copy(const Glib::RefPtr<Style>& src), copy)
+
+ _WRAP_VFUNC(Glib::RefPtr<Style> clone(), clone)
+
+#m4 _CONVERSION(`GtkRcStyle*',`const Glib::RefPtr<RcStyle>&',`Glib::wrap($3)')
+ _WRAP_VFUNC(void init_from_rc(const Glib::RefPtr<RcStyle>& rc_style), init_from_rc)
+
+#m4 _CONVERSION(`GdkWindow*',`const Glib::RefPtr<Gdk::Window>&', `Glib::wrap((GdkWindowObject*)($3), true)')
+ _WRAP_VFUNC(void set_background(const Glib::RefPtr<Gdk::Window>& window, Gtk::StateType state_type), set_background)
+
+ _WRAP_VFUNC(Glib::RefPtr<Gdk::Pixbuf> render_icon(const IconSource& source,
+ TextDirection direction,
+ Gtk::StateType state,
+ IconSize size,
+ Widget* widget,
+ const Glib::ustring& detail), render_icon)
+ _WRAP_VFUNC(void draw_hline(const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ const Gdk::Rectangle& area,
+ Widget* widget,
+ const Glib::ustring& detail,
+ int x1, int x2, int y), draw_hline)
+ _WRAP_VFUNC(void draw_vline(const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ const Gdk::Rectangle& area,
+ Widget* widget,
+ const Glib::ustring& detail,
+ int y1, int y2, int x), draw_vline)
+ _WRAP_VFUNC(void draw_shadow(const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget* widget,
+ const Glib::ustring& detail,
+ int x, int y, int width, int height), draw_shadow)
+ _WRAP_VFUNC(void draw_polygon(const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget* widget,
+ const Glib::ustring& detail,
+ GdkPoint* point, int npoints, bool fill), draw_polygon)
+ _WRAP_VFUNC(void draw_arrow(const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget* widget,
+ const Glib::ustring& detail,
+ Gtk::ArrowType arrow_type, bool fill,
+ int x, int y, int width, int height), draw_arrow)
+ _WRAP_VFUNC(void draw_diamond(const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget* widget,
+ const Glib::ustring& detail,
+ int x, int y, int width, int height), draw_diamond)
+ _WRAP_VFUNC(void draw_string(const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ const Gdk::Rectangle& area,
+ Widget* widget,
+ const Glib::ustring& detail,
+ int x, int y, const Glib::ustring& string), draw_string)
+ _WRAP_VFUNC(void draw_box(const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget* widget,
+ const Glib::ustring& detail,
+ int x, int y, int width, int height), draw_box)
+ _WRAP_VFUNC(void draw_flat_box(const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget* widget,
+ const Glib::ustring& detail,
+ int x, int y, int width, int height), draw_flat_box)
+ _WRAP_VFUNC(void draw_check(const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget* widget,
+ const Glib::ustring& detail,
+ int x, int y, int width, int height), draw_check)
+ _WRAP_VFUNC(void draw_option(const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget* widget,
+ const Glib::ustring& detail,
+ int x, int y, int width, int height), draw_option)
+ _WRAP_VFUNC(void draw_tab(const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget* widget,
+ const Glib::ustring& detail,
+ int x, int y, int width, int height), draw_tab)
+ _WRAP_VFUNC(void draw_shadow_gap(const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget* widget,
+ const Glib::ustring& detail,
+ int x, int y, int width, int height,
+ Gtk::PositionType gap_side, int gap_x, int gap_width), draw_shadow_gap)
+ _WRAP_VFUNC(void draw_box_gap(const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget* widget,
+ const Glib::ustring& detail,
+ int x, int y, int width, int height,
+ Gtk::PositionType gap_side, int gap_x, int gap_width), draw_box_gap)
+ _WRAP_VFUNC(void draw_extension(const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget* widget,
+ const Glib::ustring& detail,
+ int x, int y, int width, int height,
+ PositionType gap_side), draw_extension)
+ _WRAP_VFUNC(void draw_focus(const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ const Gdk::Rectangle& area,
+ Widget* widget,
+ const Glib::ustring& detail,
+ int x, int y, int width, int height), draw_focus)
+ _WRAP_VFUNC(void draw_slider(const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget* widget,
+ const Glib::ustring& detail,
+ int x, int y, int width, int height,
+ Orientation orientation), draw_slider)
+ _WRAP_VFUNC(void draw_handle(const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ ShadowType shadow_type,
+ const Gdk::Rectangle& area,
+ Widget* widget,
+ const Glib::ustring& detail,
+ int x, int y, int width, int height,
+ Orientation orientation), draw_handle)
+ _WRAP_VFUNC(void draw_expander(const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ const Gdk::Rectangle& area,
+ Widget* widget,
+ const Glib::ustring& detail,
+ int x, int y, ExpanderStyle expander_style), draw_expander)
+ _WRAP_VFUNC(void draw_layout(const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ bool use_text,
+ const Gdk::Rectangle& area,
+ Widget* widget,
+ const Glib::ustring& detail,
+ int x, int y,
+ const Glib::RefPtr<Pango::Layout>& layout), draw_layout)
+ _WRAP_VFUNC(void draw_resize_grip(const Glib::RefPtr<Gdk::Window>& window,
+ Gtk::StateType state_type,
+ const Gdk::Rectangle& area,
+ Widget* widget,
+ const Glib::ustring& detail,
+ Gdk::WindowEdge edge,
+ int x, int y, int width, int height), draw_resize_grip)
+
+ _WRAP_SIGNAL(void realize(), realize)
+ _WRAP_SIGNAL(void unrealize(), unrealize)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/table.ccg b/libs/gtkmm2/gtk/src/table.ccg
new file mode 100644
index 0000000000..10ab293d22
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/table.ccg
@@ -0,0 +1,120 @@
+// -*- c++ -*-
+/* $Id: table.ccg,v 1.1 2003/01/21 13:40:40 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtktable.h>
+
+namespace Gtk
+{
+
+namespace Table_Helpers
+{
+
+Widget* Child::get_widget() const
+{
+ return Glib::wrap(gobj()->widget);
+}
+
+guint16 Child::get_left_attach() const
+{
+ return gobj()->left_attach;
+}
+
+
+guint16 Child::get_right_attach() const
+{
+ return gobj()->right_attach;
+}
+
+guint16 Child::get_top_attach() const
+{
+ return gobj()->top_attach;
+}
+
+guint16 Child::get_bottom_attach() const
+{
+ return gobj()->bottom_attach;
+}
+
+guint16 Child::get_xpadding() const
+{
+ return gobj()->xpadding;
+}
+
+guint16 Child::get_ypadding() const
+{
+ return gobj()->ypadding;
+}
+
+bool Child::get_xexpand() const
+{
+ return (bool)gobj()->xexpand;
+}
+
+bool Child::get_yexpand() const
+{
+ return (bool)gobj()->yexpand;
+}
+
+bool Child::get_xshrink() const
+{
+ return (bool)gobj()->xshrink;
+}
+bool Child::get_yshrink() const
+{
+ return (bool)gobj()->yshrink;
+}
+
+bool Child::get_xfill() const
+{
+ return (bool)gobj()->xfill;
+}
+
+bool Child::get_yfill() const
+{
+ return (bool)gobj()->yfill;
+}
+
+
+} //namespace Table_Helpers
+
+
+void Table::set_spacings(guint spacing)
+{
+ set_row_spacings(spacing);
+ set_col_spacings(spacing);
+}
+
+Table::TableList& Table::children()
+{
+ children_proxy_ = TableList(gobj());
+ return children_proxy_;
+}
+
+const Table::TableList& Table::children() const
+{
+ children_proxy_ = TableList(const_cast<GtkTable*>(gobj()));
+ return children_proxy_;
+}
+
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/table.hg b/libs/gtkmm2/gtk/src/table.hg
new file mode 100644
index 0000000000..edaa84e91c
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/table.hg
@@ -0,0 +1,179 @@
+/* $Id: table.hg,v 1.3 2006/05/16 14:16:08 jjongsma Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/helperlist.h>
+#include <gtkmm/container.h>
+#include <gtkmm/enums.h>
+#include <gtk/gtktable.h> /* for GtkTableChild */
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/container_p.h)
+
+namespace Gtk
+{
+
+class Table;
+
+namespace Table_Helpers
+{
+
+class Child : protected _GtkTableChild
+{
+private:
+ Child& operator=(const Child&); //Not implemented.
+ Child(const Child&); //Not implemented.
+
+public:
+ inline _GtkTableChild* gobj() {return (this);}
+ inline const _GtkTableChild* gobj() const {return (this);}
+
+ Widget* get_widget() const;
+
+ //TODO: Which of the GtkTableChild's fields are public API?
+ //Maybe we should remove some of these get()s or add some set()s.
+ //If get_widget() is the only accessor, then we should probably make
+ //the STL-style Table list contain Widgets instead of Childs.
+
+ guint16 get_left_attach() const;
+ guint16 get_right_attach() const;
+ guint16 get_top_attach() const;
+ guint16 get_bottom_attach() const;
+ guint16 get_xpadding() const;
+ guint16 get_ypadding() const;
+ bool get_xexpand() const;
+ bool get_yexpand() const;
+ bool get_xshrink() const;
+ bool get_yshrink() const;
+ bool get_xfill() const;
+ bool get_yfill() const;
+
+protected:
+ inline GtkTable* parent()
+ { return (GtkTable*) (gobj()->widget->parent); }
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ friend class Dummy_; // silence the compiler (Child has only private ctors)
+#endif
+};
+
+
+#m4 include(list.m4)
+ GP_LIST(TableList,Table,GtkTable,Child,children)
+ //The standard iterator, instead of List_Cpp_Iterator,
+ //only works because Child is derived from _GtkTableChild.
+
+ GP_LIST_ELEM(Widget)
+ GP_LIST_NOINSERT()
+ GP_LIST_CONTAINER_REMOVE( get_widget )
+ GP_LIST_END()
+
+} // namespace Table_Helpers
+
+
+/** Pack widgets in regular patterns.
+ * @ingroup Widgets
+ * @ingroup Containers
+ * Gtk::Table is one of the primary ways of grouping widgets together. It
+ * consists of a set of lattice points to to which widgets can be attached.
+ * There are <em>rows</em>&nbsp;+&nbsp;1 lattice points vertically and
+ * <em>columns</em>&nbsp;+&nbsp;1 lattice points horizontally. Lattice points
+ * start counting from 0. Lattice points can either be specified to be
+ * <em>homogeneous</em>, meaning equally spaced, or not <em>homogeneous</em>,
+ * meaning each cell should be calculated based on the widgets contained in the
+ * row and column. The <em>homogeneous</em> property defaults to false.
+ *
+ * Widgets can be attached to the table by specifying the top, bottom, left and
+ * right points corresponding to upper, lefthand lattice point and the lower,
+ * righthand lattice point which the widget should span. Widgets can either be
+ * contained in a cell or may span cells. A number of options control the
+ * resizing behavior of widgets contained in the table.
+ *
+ * @par Packing options:
+ * There are a number of packing options that can be specified when adding a
+ * widget. With <tt>Gtk::EXPAND</tt>, the lattice is allowed to grow to fill
+ * space. With <tt>Gtk::SHRINK</tt>, the lattice is allowed to shrink when
+ * resized. It is also possible to specify the behaviour of the widgets
+ * allocation within the table. The flag <tt>Gtk::FILL</tt> declares the
+ * widget should grow to fill lattice. If this is not set any extra space is
+ * used as padding. The default is <tt>(Gtk::FILL&nbsp;|&nbsp;Gtk::EXPAND)</tt>.
+ *
+ * @par Table sizing:
+ * The table size is calculated based on the size of the widgets contained
+ * within and the restrictions imposed by specified options. Padding and
+ * spacing can be used in the table. Padding is added on either side of a
+ * widget, while spacing is placed between widgets.
+ *
+ * @see Gtk::HBox, Gtk::VBox
+ */
+class Table : public Container
+{
+ _CLASS_GTKOBJECT(Table,GtkTable,GTK_TABLE,Gtk::Container,GtkContainer)
+ _IGNORE(gtk_table_attach_defaults)
+public:
+ _WRAP_CTOR(Table(guint n_rows = 1, guint n_columns = 1, bool homogeneous = false), gtk_table_new)
+
+ _WRAP_METHOD(
+ void attach(Widget& child,
+ guint left_attach, guint right_attach,
+ guint top_attach, guint bottom_attach,
+ AttachOptions xoptions = FILL | EXPAND, AttachOptions yoptions = FILL | EXPAND,
+ guint xpadding = 0, guint ypadding = 0),
+ gtk_table_attach)
+
+
+ _WRAP_METHOD(void resize(guint rows, guint columns), gtk_table_resize)
+
+
+ _WRAP_METHOD(void set_row_spacing(guint row, guint spacing), gtk_table_set_row_spacing)
+ _WRAP_METHOD(guint get_row_spacing(guint row) const, gtk_table_get_row_spacing)
+
+ _WRAP_METHOD(void set_col_spacing(guint column, guint spacing), gtk_table_set_col_spacing)
+ _WRAP_METHOD(guint get_col_spacing(guint column) const, gtk_table_get_col_spacing)
+
+ _WRAP_METHOD(void set_row_spacings(guint spacing), gtk_table_set_row_spacings)
+
+ _WRAP_METHOD(void set_col_spacings(guint spacing), gtk_table_set_col_spacings)
+
+ void set_spacings(guint spacing);
+
+ _WRAP_METHOD(guint get_default_row_spacing(), gtk_table_get_default_row_spacing)
+ _WRAP_METHOD(guint get_default_col_spacing(), gtk_table_get_default_col_spacing)
+
+ _WRAP_METHOD(void set_homogeneous(bool homogeneous = true), gtk_table_set_homogeneous)
+ _WRAP_METHOD(bool get_homogeneous() const, gtk_table_get_homogeneous)
+
+ typedef Table_Helpers::TableList TableList;
+
+
+ TableList& children();
+ const TableList& children() const;
+
+ _WRAP_PROPERTY("n-rows", guint)
+ _WRAP_PROPERTY("n-columns", guint)
+ _WRAP_PROPERTY("column-spacing", guint)
+ _WRAP_PROPERTY("row-spacing", guint)
+
+protected:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ mutable TableList children_proxy_;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/targetlist.ccg b/libs/gtkmm2/gtk/src/targetlist.ccg
new file mode 100644
index 0000000000..88d2e7a874
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/targetlist.ccg
@@ -0,0 +1,32 @@
+/* Copyright 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+namespace Gtk
+{
+
+Glib::RefPtr<Gtk::TargetList> TargetList::create(const ArrayHandle_TargetEntry& targets)
+{
+ return Glib::wrap(gtk_target_list_new(targets.data(), targets.size()));
+}
+
+void TargetList::add(const ArrayHandle_TargetEntry& targets)
+{
+ gtk_target_list_add_table(gobj(), targets.data(), targets.size());
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/targetlist.hg b/libs/gtkmm2/gtk/src/targetlist.hg
new file mode 100644
index 0000000000..5232643e8c
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/targetlist.hg
@@ -0,0 +1,44 @@
+/* Copyright(C) 2002 The gtkmm Development Team
+ *
+ * This library is free software, ) you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation, ) either
+ * version 2 of the License, or(at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY, ) without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library, ) if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(gtkmm,gtk)
+
+#include <gtkmm/enums.h>
+#include <gtkmm/targetentry.h>
+#include <gdkmm/types.h>
+
+_CC_INCLUDE(gtk/gtkselection.h)
+
+namespace Gtk
+{
+
+class TargetList
+{
+ _CLASS_OPAQUE_REFCOUNTED(TargetList, GtkTargetList, NONE, gtk_target_list_ref, gtk_target_list_unref)
+ _IGNORE(gtk_selection_data_copy, gtk_selection_data_free)
+public:
+ static Glib::RefPtr<Gtk::TargetList> create(const ArrayHandle_TargetEntry& targets);
+
+#m4 _CONVERSION(`TargetFlags', `guint', `($2)($3)')
+ _WRAP_METHOD(void add(const Glib::ustring& target, TargetFlags flags = TargetFlags(0), guint info = 0), gtk_target_list_add)
+ void add(const ArrayHandle_TargetEntry& targets);
+ _WRAP_METHOD(void remove(const Glib::ustring& target), gtk_target_list_remove)
+ _WRAP_METHOD(bool find(const Glib::ustring& target, guint* info) const, gtk_target_list_find)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/tearoffmenuitem.ccg b/libs/gtkmm2/gtk/src/tearoffmenuitem.ccg
new file mode 100644
index 0000000000..e286818297
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/tearoffmenuitem.ccg
@@ -0,0 +1,33 @@
+// -*- c++ -*-
+/* $Id: tearoffmenuitem.ccg,v 1.1 2003/01/21 13:40:40 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtktearoffmenuitem.h>
+
+namespace Gtk
+{
+
+bool TearoffMenuItem::is_torn_off() const
+{
+ return gobj()->torn_off;
+}
+
+} /* namespace Gtk */ \ No newline at end of file
diff --git a/libs/gtkmm2/gtk/src/tearoffmenuitem.hg b/libs/gtkmm2/gtk/src/tearoffmenuitem.hg
new file mode 100644
index 0000000000..8c29d28868
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/tearoffmenuitem.hg
@@ -0,0 +1,47 @@
+/* $Id: tearoffmenuitem.hg,v 1.1 2003/01/21 13:40:40 murrayc Exp $ */
+
+
+/* tearoffmenuitem.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/menuitem.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/menuitem_p.h)
+
+
+namespace Gtk
+{
+
+/** A special Gtk::MenuItem which is used to tear off and reattach its menu.
+ * When its menu is shown normally, the Gtk::TearoffMenuItem is drawn as a dotted line indicating that the menu can be torn off. Activating it causes its menu to be torn off and displayed in its own window.
+ * When its menu is shown as a tearoff menu, the Gtk::TearoffMenuItem is drawn as a dotted line which has a left pointing arrow graphic indicating that the tearoff menu can be reattached. Activating it will erase the tearoff menu window.
+ * @ingroup Widgets
+ * @ingroup Menus
+ */
+class TearoffMenuItem : public MenuItem
+{
+ _CLASS_GTKOBJECT(TearoffMenuItem,GtkTearoffMenuItem,GTK_TEAROFF_MENU_ITEM,Gtk::MenuItem,GtkMenuItem)
+public:
+ _CTOR_DEFAULT
+
+ bool is_torn_off() const;
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/textattributes.ccg b/libs/gtkmm2/gtk/src/textattributes.ccg
new file mode 100644
index 0000000000..d11c92bf7b
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/textattributes.ccg
@@ -0,0 +1,24 @@
+// -*- c++ -*-
+/* $Id: textattributes.ccg,v 1.1 2003/01/21 13:40:41 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtktexttag.h>
+
diff --git a/libs/gtkmm2/gtk/src/textattributes.hg b/libs/gtkmm2/gtk/src/textattributes.hg
new file mode 100644
index 0000000000..01cb376daf
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/textattributes.hg
@@ -0,0 +1,41 @@
+/* $Id: textattributes.hg,v 1.1 2003/01/21 13:40:41 murrayc Exp $ */
+
+/* textattributes.h
+ *
+ * Copyright(C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software, ) you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation, ) either
+ * version 2 of the License, or(at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY, ) without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library, ) if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+_DEFS(gtkmm,gtk)
+
+namespace Gtk
+{
+
+/**
+ * @ingroup TextView
+ */
+class TextAttributes
+{
+ _CLASS_BOXEDTYPE(TextAttributes, GtkTextAttributes, gtk_text_attributes_new, gtk_text_attributes_copy, gtk_text_attributes_unref)
+public:
+
+
+};
+
+} //namespace Gtk
+
+
diff --git a/libs/gtkmm2/gtk/src/textbuffer.ccg b/libs/gtkmm2/gtk/src/textbuffer.ccg
new file mode 100644
index 0000000000..571b1d32c3
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/textbuffer.ccg
@@ -0,0 +1,600 @@
+// -*- c++ -*-
+/* $Id: textbuffer.ccg,v 1.8 2006/11/20 09:19:49 murrayc Exp $ */
+
+/* Copyright(C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtktextbuffer.h>
+#include <gtk/gtktextbufferrichtext.h>
+#include <glib/gslist.h>
+#include <gtkmm/textmark.h>
+#include <gtkmm/textiter.h>
+
+
+/*
+static guint8* SignalProxy_Serialize(GtkTextBuffer* , GtkTextBuffer* content_buffer,
+ const GtkTextIter* start, const GtkTextIter* end,
+ gsize* length,
+ gpointer user_data)
+{
+ Gtk::TextBuffer::SlotSerialize* the_slot = static_cast<Gtk::TextBuffer::SlotSerialize*>(user_data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ return (*the_slot)(Glib::wrap(content_buffer), Glib::wrap(start), Glib::wrap(end), *length);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+
+ return 0; // arbitrary value
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+static void SignalProxy_Serialize_gtk_callback_destroy(void* user_data)
+{
+ delete static_cast<Gtk::TextBuffer::SlotSerialize*>(user_data);
+}
+
+static gboolean SignalProxy_Deserialize(GtkTextBuffer* , GtkTextBuffer* content_buffer,
+ GtkTextIter* iter, const guint8* data,
+ gsize length, gboolean create_tags,
+ gpointer user_data,
+ GError** )
+{
+ Gtk::TextBuffer::SlotDeserialize* the_slot = static_cast<Gtk::TextBuffer::SlotDeserialize*>(user_data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ (*the_slot)(Glib::wrap(content_buffer, true), Glib::wrap(iter), data, length, create_tags);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ //TODO: Fill the error parameter.
+ Glib::exception_handlers_invoke();
+ }
+
+ return 0; // arbitrary value
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+static void SignalProxy_Deserialize_gtk_callback_destroy(void* user_data)
+{
+ delete static_cast<Gtk::TextBuffer::SlotDeserialize*>(user_data);
+}
+*/
+
+namespace Gtk
+{
+
+typedef TextChildAnchor ChildAnchor; //Help the code-generator so that it does not have to fully qualify this type in the .cc file.
+
+TextBuffer::TextBuffer(const Glib::RefPtr<TagTable>& tag_table)
+:
+ _CONSTRUCT("tag_table", Glib::unwrap(tag_table))
+{}
+
+Glib::RefPtr<TextBuffer::Tag> TextBuffer::create_tag(const Glib::ustring& tag_name)
+{
+ //gtk_text_buffer_create_tag takes a varargs list of property names and values.
+ //gtkmm coders should use the Tag.set_* method instead.
+ return Glib::wrap(gtk_text_buffer_create_tag(gobj(), tag_name.c_str(), (char*)0), true); //true = take_copy.
+ //We have to take a copy because gtk_text_buffer_create_tag() doesn't ref for us, for no real reason.
+}
+
+Glib::RefPtr<TextBuffer::Tag> TextBuffer::create_tag()
+{
+ //gtk_text_buffer_create_tag takes a varargs list of property names and values.
+ //gtkmm coders should use the Tag.set_* method instead.
+ return Glib::wrap(gtk_text_buffer_create_tag(gobj(), (const char*)0, (char*)0), true); //true = take_copy.
+ //We have to take a copy because gtk_text_buffer_create_tag() doesn't ref for us, for no real reason.
+}
+
+Glib::RefPtr<TextBuffer::Mark>
+TextBuffer::create_mark(const TextBuffer::iterator& where, bool left_gravity)
+{
+ return Glib::wrap(gtk_text_buffer_create_mark(
+ gobj(), 0, const_cast<GtkTextIter*>(where.gobj()), left_gravity),
+ true); // acquire reference
+}
+
+TextBuffer::iterator TextBuffer::get_iter_at_line_offset(int line_number, int char_offset)
+{
+ iterator iter;
+ gtk_text_buffer_get_iter_at_line_offset(gobj(), iter.gobj(), line_number, char_offset);
+ return iter;
+}
+
+TextBuffer::iterator TextBuffer::get_iter_at_line_index(int line_number, int byte_index)
+{
+ iterator iter;
+ gtk_text_buffer_get_iter_at_line_index(gobj(), iter.gobj(), line_number, byte_index);
+ return iter;
+}
+
+TextBuffer::iterator TextBuffer::get_iter_at_offset(int char_offset)
+{
+ iterator iter;
+ gtk_text_buffer_get_iter_at_offset(gobj(), iter.gobj(), char_offset);
+ return iter;
+}
+
+TextBuffer::iterator TextBuffer::get_iter_at_line(int line_number)
+{
+ iterator iter;
+ gtk_text_buffer_get_iter_at_line(gobj(), iter.gobj(), line_number);
+ return iter;
+}
+
+TextBuffer::iterator TextBuffer::begin()
+{
+ iterator iter;
+ gtk_text_buffer_get_start_iter(gobj(), iter.gobj());
+ return iter;
+}
+
+TextBuffer::iterator TextBuffer::end()
+{
+ iterator iter;
+ gtk_text_buffer_get_end_iter(gobj(), iter.gobj());
+ return iter;
+}
+
+void TextBuffer::get_bounds(iterator& range_begin, iterator& range_end)
+{
+ gtk_text_buffer_get_bounds(gobj(), range_begin.gobj(), range_end.gobj());
+}
+
+TextBuffer::iterator TextBuffer::get_iter_at_mark(const Glib::RefPtr<Mark>& mark)
+{
+ iterator iter;
+ gtk_text_buffer_get_iter_at_mark(gobj(), iter.gobj(), mark->gobj());
+ return iter;
+}
+
+void TextBuffer::set_text(const Glib::ustring& text)
+{
+ gtk_text_buffer_set_text(gobj(), text.data(), text.bytes());
+}
+
+void TextBuffer::set_text(const char* text_begin, const char* text_end)
+{
+ gtk_text_buffer_set_text(gobj(), text_begin, text_end - text_begin);
+}
+
+_DEPRECATE_IFDEF_START
+void TextBuffer::assign(const Glib::ustring& text)
+{
+ gtk_text_buffer_set_text(gobj(), text.data(), text.bytes());
+}
+
+void TextBuffer::assign(const char* text_begin, const char* text_end)
+{
+ gtk_text_buffer_set_text(gobj(), text_begin, text_end - text_begin);
+}
+_DEPRECATE_IFDEF_END
+
+TextBuffer::iterator TextBuffer::insert(const iterator& pos, const Glib::ustring& text)
+{
+ // gtk_text_buffer_insert() modifies the iterator, but that's not the
+ // STL way so we give it something that we don't mind it modifying.
+ iterator iterCopy (pos);
+ gtk_text_buffer_insert(gobj(), iterCopy.gobj(), text.data(), text.bytes());
+
+ // According to the gtk_text_buffer_insert() docs, the "default signal handler
+ // revalidates it to point to the end of the inserted text".
+ return iterCopy;
+}
+
+TextBuffer::iterator TextBuffer::insert(const iterator& pos, const char* text_begin, const char* text_end)
+{
+ // gtk_text_buffer_insert() modifies the iterator, but that's not the
+ // STL way so we give it something that we don't mind it modifying.
+ iterator iterCopy (pos);
+ gtk_text_buffer_insert(gobj(), iterCopy.gobj(), text_begin, text_end - text_begin);
+
+ // According to the gtk_text_buffer_insert() docs, the "default signal handler
+ // revalidates it to point to the end of the inserted text".
+ return iterCopy;
+}
+
+TextBuffer::iterator TextBuffer::insert_pixbuf(const iterator& pos, const Glib::RefPtr<Gdk::Pixbuf>& pixbuf)
+{
+ iterator iterCopy (pos);
+ gtk_text_buffer_insert_pixbuf(gobj(), iterCopy.gobj(), pixbuf->gobj());
+ return iterCopy;
+}
+
+TextBuffer::iterator TextBuffer::insert_child_anchor(const iterator& pos,
+ const Glib::RefPtr<ChildAnchor>& anchor)
+{
+ // Copy the iterator. It might be changed because it is used as a signal parameter internally.
+ iterator iterCopy (pos);
+ gtk_text_buffer_insert_child_anchor(gobj(), iterCopy.gobj(), Glib::unwrap(anchor));
+ return iterCopy;
+}
+
+Glib::RefPtr<ChildAnchor> TextBuffer::create_child_anchor(const iterator& pos)
+{
+ // Copy the iterator. It might be changed because it is used as a signal parameter internally.
+ iterator iterCopy (pos);
+ return Glib::wrap(gtk_text_buffer_create_child_anchor(gobj(), iterCopy.gobj()),
+ true); // The function does not do a ref for us.
+}
+
+void TextBuffer::insert_at_cursor(const Glib::ustring& text)
+{
+ gtk_text_buffer_insert_at_cursor(gobj(), text.data(), text.bytes());
+}
+
+void TextBuffer::insert_at_cursor(const char* text_begin, const char* text_end)
+{
+ gtk_text_buffer_insert_at_cursor(gobj(), text_begin, text_end - text_begin);
+}
+
+std::pair<TextBuffer::iterator,bool>
+TextBuffer::insert_interactive(const iterator& pos, const Glib::ustring& text, bool default_editable)
+{
+ // Since we have to copy the iterator anyway we can as well create the
+ // std::pair now. That saves another copy later (mind you, TextIter is
+ // a heavy struct), and allows modern compilers to apply the return value
+ // optimization.
+ std::pair<iterator,bool> pair_iter_success (pos, false);
+
+ pair_iter_success.second = gtk_text_buffer_insert_interactive(
+ gobj(), pair_iter_success.first.gobj(), text.data(), text.bytes(), default_editable);
+
+ return pair_iter_success;
+}
+
+std::pair<TextBuffer::iterator,bool>
+TextBuffer::insert_interactive(const iterator& pos, const char* text_begin, const char* text_end,
+ bool default_editable)
+{
+ // Since we have to copy the iterator anyway we can as well create the
+ // std::pair now. That saves another copy later (mind you, TextIter is
+ // a heavy struct), and allows modern compilers to apply the return value
+ // optimization.
+ std::pair<iterator,bool> pair_iter_success (pos, false);
+
+ pair_iter_success.second = gtk_text_buffer_insert_interactive(
+ gobj(), pair_iter_success.first.gobj(), text_begin, text_end - text_begin, default_editable);
+
+ return pair_iter_success;
+}
+
+bool TextBuffer::insert_interactive_at_cursor(const Glib::ustring& text, bool default_editable)
+{
+ return gtk_text_buffer_insert_interactive_at_cursor(
+ gobj(), text.data(), text.bytes(), default_editable);
+}
+
+bool TextBuffer::insert_interactive_at_cursor(const char* text_begin, const char* text_end,
+ bool default_editable)
+{
+ return gtk_text_buffer_insert_interactive_at_cursor(
+ gobj(), text_begin, text_end - text_begin, default_editable);
+}
+
+TextBuffer::iterator TextBuffer::insert_with_tag(const iterator& pos, const Glib::ustring& text,
+ const Glib::RefPtr<Tag>& tag)
+{
+ // gtk_text_buffer_insert_with_tags() invalidates the iterator, but this lets us recreate it later.
+ const int offset = pos.get_offset();
+
+ iterator iterCopy (pos);
+ gtk_text_buffer_insert_with_tags(
+ gobj(), iterCopy.gobj(), text.data(), text.bytes(), tag->gobj(), (GtkTextTag*)0);
+
+ return get_iter_at_offset(offset + text.size());
+}
+
+TextBuffer::iterator TextBuffer::insert_with_tag(const iterator& pos,
+ const char* text_begin, const char* text_end,
+ const Glib::RefPtr<Tag>& tag)
+{
+ // gtk_text_buffer_insert_with_tags() invalidates the iterator, but this lets us recreate it later.
+ const int offset = pos.get_offset();
+
+ iterator iterCopy (pos);
+ gtk_text_buffer_insert_with_tags(
+ gobj(), iterCopy.gobj(), text_begin, text_end - text_begin, tag->gobj(), (GtkTextTag*)0);
+
+ return get_iter_at_offset(offset + (text_end - text_begin));
+}
+
+TextBuffer::iterator TextBuffer::insert_with_tag(const iterator& pos, const Glib::ustring& text,
+ const Glib::ustring& tag_name)
+{
+ // gtk_text_buffer_insert_with_tags() invalidates the iterator, but this lets us recreate it later.
+ const int offset = pos.get_offset();
+
+ iterator iterCopy (pos);
+ gtk_text_buffer_insert_with_tags_by_name(
+ gobj(), iterCopy.gobj(), text.data(), text.bytes(), tag_name.c_str(), (char*)0);
+
+ return get_iter_at_offset(offset + text.size());
+}
+
+TextBuffer::iterator TextBuffer::insert_with_tag(const iterator& pos,
+ const char* text_begin, const char* text_end,
+ const Glib::ustring& tag_name)
+{
+ // gtk_text_buffer_insert_with_tags() invalidates the iterator, but this lets us recreate it later.
+ const int offset = pos.get_offset();
+
+ iterator iterCopy (pos);
+ gtk_text_buffer_insert_with_tags_by_name(
+ gobj(), iterCopy.gobj(), text_begin, text_end - text_begin, tag_name.c_str(), (char*)0);
+
+ return get_iter_at_offset(offset + (text_end - text_begin));
+}
+
+TextBuffer::iterator TextBuffer::insert_with_tags(const iterator& pos, const Glib::ustring& text,
+ const Glib::ArrayHandle< Glib::RefPtr<Tag> >& tags)
+{
+ const char *const text_begin = text.data();
+ return insert_with_tags(pos, text_begin, text_begin + text.bytes(), tags);
+}
+
+TextBuffer::iterator TextBuffer::insert_with_tags(const iterator& pos,
+ const char* text_begin, const char* text_end,
+ const Glib::ArrayHandle< Glib::RefPtr<Tag> >& tags)
+{
+ const int start_offset = pos.get_offset();
+ iterator range_end (insert(pos, text_begin, text_end));
+
+ GtkTextIter range_begin;
+ gtk_text_buffer_get_iter_at_offset(gobj(), &range_begin, start_offset);
+
+ //This was GtkTextTag* const * const, but the SUN Forte compiler said that it couldn't convert to that. murrayc
+ const GtkTextTag* const* tags_begin = tags.data();
+ const GtkTextTag* const* tags_end = tags_begin + tags.size();
+
+ //TODO: Investigate if this const_cast<> is really necessary.
+ //I added it for the SUN Forte compiler. murrayc.
+ for(GtkTextTag *const * ptag = const_cast<GtkTextTag* const *>(tags_begin); ptag != const_cast<GtkTextTag* const *>(tags_end);
+++ptag)
+ {
+ gtk_text_buffer_apply_tag(gobj(), *ptag, &range_begin, range_end.gobj());
+ }
+
+ return range_end;
+}
+
+TextBuffer::iterator TextBuffer::insert_with_tags_by_name(const iterator& pos, const Glib::ustring& text,
+ const Glib::ArrayHandle<Glib::ustring>& tag_names)
+{
+ const char *const text_begin = text.data();
+ return insert_with_tags_by_name(pos, text_begin, text_begin + text.bytes(), tag_names);
+}
+
+TextBuffer::iterator TextBuffer::insert_with_tags_by_name(const iterator& pos,
+ const char* text_begin, const char* text_end,
+ const Glib::ArrayHandle<Glib::ustring>& tag_names)
+{
+ // gtk_buffer_insert_with_tags_by_name() is a convenience wrapper, so it's kind of OK to reimplement it:
+
+ const int start_offset = pos.get_offset();
+ iterator range_end (insert(pos, text_begin, text_end));
+
+ GtkTextIter range_begin;
+ gtk_text_buffer_get_iter_at_offset(gobj(), &range_begin, start_offset);
+
+ GtkTextTagTable *const tag_table = gtk_text_buffer_get_tag_table(gobj());
+
+ const char *const *const names_begin = tag_names.data();
+ const char *const *const names_end = names_begin + tag_names.size();
+
+ for(const char *const * pname = names_begin; pname != names_end; ++pname)
+ {
+ if(GtkTextTag *const tag = gtk_text_tag_table_lookup(tag_table, *pname))
+ {
+ gtk_text_buffer_apply_tag(gobj(), tag, &range_begin, range_end.gobj());
+ }
+ else
+ {
+ g_warning("Gtk::TextBuffer::insert_with_tags_by_name(): no tag with name '%s'!", *pname);
+ }
+ }
+
+ return range_end;
+}
+
+TextBuffer::iterator TextBuffer::insert(const iterator& pos,
+ const iterator& range_begin, const iterator& range_end)
+{
+ iterator iterCopy (pos);
+ gtk_text_buffer_insert_range(gobj(), iterCopy.gobj(), range_begin.gobj(), range_end.gobj());
+ return iterCopy;
+}
+
+std::pair<TextBuffer::iterator,bool>
+TextBuffer::insert_interactive(const iterator& pos, const iterator& range_begin,
+ const iterator& range_end, bool default_editable)
+{
+ // Since we have to copy the iterator anyway we can as well create the
+ // std::pair now. That saves another copy later (mind you, TextIter is
+ // a heavy struct), and allows modern compilers to apply the return value
+ // optimization.
+ std::pair<iterator,bool> pair_iter_success (pos, false);
+
+ pair_iter_success.second = gtk_text_buffer_insert_range_interactive(
+ gobj(), pair_iter_success.first.gobj(), range_begin.gobj(), range_end.gobj(), default_editable);
+
+ return pair_iter_success;
+}
+
+TextBuffer::iterator TextBuffer::erase(const iterator& range_begin, const iterator& range_end)
+{
+ // GTK+ sets the iterators to where the deletion occured. We do it the STL way and therefore need copies.
+ iterator beginCopy (range_begin);
+ iterator endCopy (range_end);
+ gtk_text_buffer_delete(gobj(), beginCopy.gobj(), endCopy.gobj());
+ return beginCopy;
+}
+
+TextBuffer::iterator TextBuffer::backspace(const iterator& iter, bool interactive, bool default_editable)
+{
+ // GTK+ sets the iterators to where the deletion occured. We do it the STL way and therefore need copies.
+ iterator copy(iter);
+ gtk_text_buffer_backspace(gobj(), copy.gobj(), interactive, default_editable);
+ return copy;
+}
+
+_IGNORE(gtk_text_buffer_backspace)
+
+std::pair<TextBuffer::iterator,bool>
+TextBuffer::erase_interactive(const iterator& range_begin, const iterator& range_end,
+ bool default_editable)
+{
+ // Since we have to copy the iterator anyway we can as well create the
+ // std::pair now. That saves another copy later (mind you, TextIter is
+ // a heavy struct), and allows modern compilers to apply the return value
+ // optimization.
+ std::pair<iterator,bool> pair_iter_success (range_begin, false);
+
+ // GTK+ sets the iterators to where the deletion occured.
+ // We do it the STL way and therefore need copies.
+ iterator endCopy (range_end);
+
+ pair_iter_success.second = gtk_text_buffer_delete_interactive(
+ gobj(), pair_iter_success.first.gobj(), endCopy.gobj(), default_editable);
+
+ return pair_iter_success;
+}
+
+void TextBuffer::paste_clipboard(const Glib::RefPtr<Clipboard>& clipboard, const iterator& override_location,
+ bool default_editable)
+{
+ gtk_text_buffer_paste_clipboard(gobj(), clipboard->gobj(),
+ const_cast<GtkTextIter*>(override_location.gobj()), default_editable);
+}
+
+void TextBuffer::paste_clipboard(const Glib::RefPtr<Clipboard>& clipboard, bool default_editable)
+{
+ gtk_text_buffer_paste_clipboard(gobj(), clipboard->gobj(), 0, default_editable);
+}
+
+TextBuffer::iterator TextBuffer::get_iter_at_child_anchor(const Glib::RefPtr<ChildAnchor>& anchor)
+{
+ iterator iter;
+ gtk_text_buffer_get_iter_at_child_anchor(gobj(), iter.gobj(), anchor->gobj());
+ return iter;
+}
+
+int TextBuffer::size() const
+{
+ return get_char_count();
+}
+
+//This is not public API:
+//(and it is copy/pasted from clipboard.ccg)
+typedef std::list<Glib::ustring> listStrings;
+static listStrings util_convert_atoms_to_strings(GdkAtom* targets, int n_targets)
+{
+ listStrings listTargets;
+
+ //Add the targets to the C++ container:
+ for(int i = 0; i < n_targets; i++)
+ {
+ //Convert the atom to a string:
+ char* atom_name = gdk_atom_name(targets[i]);
+ if(atom_name)
+ {
+ listTargets.push_back( Glib::ustring(atom_name) );
+ g_free(atom_name);
+ }
+ }
+
+ return listTargets;
+}
+
+Glib::ustring TextBuffer::get_text(bool include_hidden_chars)
+{
+ return get_text(begin(), end(), include_hidden_chars);
+}
+
+Glib::StringArrayHandle TextBuffer::get_serialize_formats() const
+{
+ int n_atoms = 0;
+ GdkAtom* atoms = gtk_text_buffer_get_serialize_formats(const_cast<GtkTextBuffer*>(gobj()), &n_atoms);
+ return util_convert_atoms_to_strings(atoms, n_atoms);
+}
+
+Glib::StringArrayHandle TextBuffer::get_deserialize_formats() const
+{
+ int n_atoms = 0;
+ GdkAtom* atoms = gtk_text_buffer_get_deserialize_formats(const_cast<GtkTextBuffer*>(gobj()), &n_atoms);
+ return util_convert_atoms_to_strings(atoms, n_atoms);
+}
+
+/*
+Glib::ustring TextBuffer::register_serialize_format(const Glib::ustring& mime_type, const SlotSerialize& slot)
+{
+ SlotSerialize* slot_copy = new SlotSerialize(slot);
+ GdkAtom atom = gtk_text_buffer_register_serialize_format(gobj(), mime_type.c_str(),
+ &SignalProxy_Serialize, slot_copy, &SignalProxy_Serialize_gtk_callback_destroy);
+
+ //Convert the atom to a string:
+ Glib::ustring atom_as_string;
+ char* atom_name = gdk_atom_name(atom);
+ if(atom_name)
+ {
+ atom_as_string = atom_name;
+ g_free(atom_name);
+ }
+
+ return atom_as_string;
+}
+
+Glib::ustring TextBuffer::register_deserialize_format(const Glib::ustring& mime_type, const SlotDeserialize& slot)
+{
+ SlotDeserialize* slot_copy = new SlotDeserialize(slot);
+ GdkAtom atom = gtk_text_buffer_register_deserialize_format(gobj(), mime_type.c_str(),
+ &SignalProxy_Deserialize, slot_copy, &SignalProxy_Deserialize_gtk_callback_destroy);
+
+ //Convert the atom to a string:
+ Glib::ustring atom_as_string;
+ char* atom_name = gdk_atom_name(atom);
+ if(atom_name)
+ {
+ atom_as_string = atom_name;
+ g_free(atom_name);
+ }
+
+ return atom_as_string;
+}
+*/
+
+#ifdef GTKMM_MAEMO_EXTENSIONS_ENABLED
+void TextBuffer::set_rich_text_format_all()
+{
+ gtk_text_buffer_set_rich_text_format(gobj(), NULL);
+}
+#endif //GTKMM_MAEMO_EXTENSIONS_ENABLED
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/textbuffer.hg b/libs/gtkmm2/gtk/src/textbuffer.hg
new file mode 100644
index 0000000000..3ab72001a2
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/textbuffer.hg
@@ -0,0 +1,604 @@
+/* $Id: textbuffer.hg,v 1.20 2006/11/20 09:19:49 murrayc Exp $ */
+
+/* Copyright(C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or(at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+_CONFIGINCLUDE(gtkmmconfig.h)
+
+#include <gtkmm/object.h>
+#include <gtkmm/texttagtable.h>
+#include <gtkmm/textchildanchor.h>
+#include <gtkmm/textmark.h>
+#include <gtkmm/textiter.h>
+#include <gtkmm/clipboard.h>
+#include <gdkmm/pixbuf.h>
+#include <gtkmmconfig.h>
+#include <utility>
+
+GLIBMM_USING_STD(pair)
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Gtk
+{
+
+class TextMark;
+class TextIter;
+
+/** Multi-line attributed text that can be displayed by one or more Gtk::TextView widgets.
+ *
+ * Text in a buffer can be marked with tags. A @link Gtk::TextTag Gtk::TextBuffer::Tag@endlink is an attribute that can be applied to some range of text. For example, a tag
+ * might be called "bold" and make the text inside the tag bold. However, the tag concept is more general than that; tags don't
+ * have to affect appearance. They can instead affect the behavior of mouse and key presses, "lock" a range of text so the user
+ * can't edit it, or countless other things. A tag is represented by a @link Gtk::TextTag Gtk::TextBuffer::Tag@endlink object.
+ * One @link Gtk::TextTag Gtk::TextBuffer::Tag@endlink can be applied to any number of text ranges in any number of @link Gtk::TextBuffer Gtk::TextBuffers@endlink.
+ *
+ * Each tag is stored in a @link Gtk::TextTagTable Gtk::TextBuffer::TagTable@endlink. A tag table defines a set of tags that can be used together. Each buffer has one tag
+ * table associated with it; only tags from that tag table can be used with the buffer. A single tag table can be shared between
+ * multiple buffers, however.
+ *
+ * Most text manipulation is accomplished with iterators, represented by an @link Gtk::TextIter iterator@endlink. The iterator can
+ * be used to navigate over characters, words, lines, and sentences.
+ *
+ * But iterators can't be used to preserve positions across buffer modifications. To preserve a position, the
+ * @link Gtk::TextMark Gtk::TextBuffer::Mark@endlink object is ideal. There are two marks built-in to GtkTextBuffer; these are
+ * named "insert" and "selection_bound" and refer to the insertion point and the boundary of the selection which is not the
+ * insertion point. If no text is selected, these two marks will be in the same position. You can manipulate what is selected and
+ * where the cursor appears by moving these marks around.
+ *
+ * Text buffers always contain at least one line, but may be empty (that is, buffers can contain zero characters). The last line
+ * in the text buffer never ends in a line separator (such as newline); the other lines in the buffer always end in a line
+ * separator. Line separators count as characters when computing character counts and character offsets. Note that some Unicode
+ * line separators are represented with multiple bytes in UTF-8, and the two-character sequence "\r\n" is also considered a line
+ * separator.
+ *
+ * @ingroup TextView
+ */
+class TextBuffer : public Glib::Object
+{
+ _CLASS_GOBJECT(TextBuffer, GtkTextBuffer, GTK_TEXT_BUFFER, Glib::Object, GObject)
+ _IGNORE(gtk_text_buffer_get_iter_at_line_offset, gtk_text_buffer_get_iter_at_line_index,
+ gtk_text_buffer_get_iter_at_offset, gtk_text_buffer_get_iter_at_line, gtk_text_buffer_get_start_iter,
+ gtk_text_buffer_get_end_iter, gtk_text_buffer_get_bounds, gtk_text_buffer_get_iter_at_mark,
+ gtk_text_buffer_get_selection_bounds, gtk_text_buffer_insert_interactive,
+ gtk_text_buffer_insert, gtk_text_buffer_insert_at_cursor, gtk_text_buffer_insert_interactive_at_cursor,
+ gtk_text_buffer_insert_with_tags, gtk_text_buffer_insert_with_tags_by_name,
+ gtk_text_buffer_get_iter_at_child_anchor)
+public:
+ typedef TextIter iterator;
+ typedef TextTag Tag;
+ typedef TextTagTable TagTable;
+ typedef TextMark Mark;
+ typedef TextChildAnchor ChildAnchor;
+
+protected:
+ _CTOR_DEFAULT()
+ explicit TextBuffer(const Glib::RefPtr<TagTable>& tag_table);
+
+public:
+ _WRAP_CREATE()
+ _WRAP_CREATE(const Glib::RefPtr<TagTable>& tag_table)
+
+ _WRAP_METHOD(int get_line_count() const, gtk_text_buffer_get_line_count)
+ _WRAP_METHOD(int get_char_count() const, gtk_text_buffer_get_char_count)
+
+ /// See get_char_count().
+ int size() const;
+
+ _WRAP_METHOD(Glib::RefPtr<TextBuffer::TagTable> get_tag_table(), gtk_text_buffer_get_tag_table, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const TextBuffer::TagTable> get_tag_table() const, gtk_text_buffer_get_tag_table, refreturn, constversion)
+
+ /** Removes the current contents of the buffer, and inserts @a text instead.
+ * @param text The text to put in the buffer.
+ */
+ void set_text(const Glib::ustring& text);
+
+ /** Removes the current contents of the buffer, and inserts @a text instead.
+ * @param text_begin The start of a UTF8 character array.
+ * @param text_end The end of the UTF8 character array.
+ */
+ void set_text(const char* text_begin, const char* text_end);
+ _IGNORE(gtk_text_buffer_set_text)
+
+ _DEPRECATE_IFDEF_START
+ /** @deprecated Use set_text()
+ */
+ void assign(const Glib::ustring& text);
+
+ /** @deprecated Use set_text()
+ */
+ void assign(const char* text_begin, const char* text_end);
+ _DEPRECATE_IFDEF_END
+
+ //TODO: Make all insert() methods have the same return type:
+
+ /** Inserts @a text at position @a pos.
+ * Emits the "insert_text" signal; insertion actually occurs in the default handler for the signal.
+ * The @a pos iterator is invalidated when insertion occurs (because the buffer contents change).
+ *
+ * @param pos An iterator pointing to the position at which the text should be inserted.
+ * @param text The text to be inserted in the buffer.
+ * @result An iterator that points to the end of the inserted text.
+ */
+ iterator insert(const iterator& pos, const Glib::ustring& text);
+
+ /** Inserts text at position @a pos.
+ * Emits the "insert_text" signal; insertion actually occurs in the default handler for the signal.
+ * The @a pos iterator is invalidated when insertion occurs (because the buffer contents change).
+ *
+ * @param pos An iterator pointing to the position at which the text should be inserted.
+ * @param text_begin The start of a UTF8 character array.
+ * @param text_end The end of the UTF8 character array.
+ * @result An iterator that points to the end of the inserted text.
+ */
+ iterator insert(const iterator& pos, const char* text_begin, const char* text_end);
+
+ /** Inserts @a text, using the current cursor position as the insertion point.
+ * Emits the "insert_text" signal; insertion actually occurs in the default handler for the signal.
+ *
+ * @param text The text to be inserted in the buffer.
+ * @result An iterator that points to the end of the inserted text.
+ */
+ void insert_at_cursor(const Glib::ustring& text);
+
+ /** Inserts text, using the current cursor position as the insertion point.
+ * Emits the "insert_text" signal; insertion actually occurs in the default handler for the signal.
+ *
+ * @param text_begin The start of a UTF8 character array.
+ * @param text_end The end of the UTF8 character array.
+ * @result An iterator that points to the end of the inserted text.
+ */
+ void insert_at_cursor(const char* text_begin, const char* text_end);
+
+ /** Like insert(), but the insertion will not occur if @a iter is at a non-editable location in the buffer.
+ * Usually you want to prevent insertions at ineditable locations if the insertion results from a user action (is interactive).
+ *
+ * @a default_editable indicates the editability of text that doesn't have a tag affecting editability applied to it.
+ * Typically the result of Gtk::TextView::get_editable() is appropriate here.
+ *
+ * @param pos An iterator pointing to the position at which the text should be inserted.
+ * @param text The text to be inserted in the buffer.
+ * @param default_editable Default editability of buffer
+ * @result Whether text was actually inserted
+ */
+ std::pair<iterator,bool> insert_interactive(
+ const iterator& pos, const Glib::ustring& text, bool default_editable = true);
+
+ /** Like insert(), but the insertion will not occur if @a pos is at a non-editable location in the buffer.
+ * Usually you want to prevent insertions at ineditable locations if the insertion results from a user action (is interactive).
+ *
+ * @a default_editable indicates the editability of text that doesn't have a tag affecting editability applied to it.
+ * Typically the result of Gtk::TextView::get_editable() is appropriate here.
+ *
+ * @param pos An iterator pointing to the position at which the text should be inserted.
+ * @param text_begin The start of a UTF8 character array.
+ * @param text_end The end of the UTF8 character array.
+ * @param default_editable Default editability of buffer.
+ * @result Whether text was actually inserted
+ */
+ std::pair<iterator,bool> insert_interactive(
+ const iterator& pos, const char* text_begin, const char* text_end, bool default_editable = true);
+
+ /** Calls insert_interactive() at the cursor position.
+ *
+ * @a default_editable indicates the editability of text that doesn't have a tag affecting editability applied to it.
+ * Typically the result of Gtk::TextView::get_editable() is appropriate here.
+ *
+ * @param text The text to be inserted in the buffer.
+ * @param default_editable Default editability of buffer
+ * @result Whether text was actually inserted
+ */
+ bool insert_interactive_at_cursor(const Glib::ustring& text, bool default_editable = true);
+
+ /** Calls insert_interactive() at the cursor position.
+ *
+ * @a default_editable indicates the editability of text that doesn't have a tag affecting editability applied to it.
+ * Typically the result of Gtk::TextView::get_editable() is appropriate here.
+ *
+ * @param text_begin The start of a UTF8 character array.
+ * @param text_end The end of the UTF8 character array.
+ * @param default_editable Default editability of buffer
+ * @result Whether text was actually inserted
+ */
+ bool insert_interactive_at_cursor(const char* text_begin, const char* text_end,
+ bool default_editable = true);
+
+ /** Copies text, tags, and pixbufs between @a range_begin and @a range_end (the order of range_begin and range_begin doesn't
+ * matter) and inserts the copy at @a pos. Used instead of simply getting/inserting text because it preserves images and tags.
+ * If range_begin and range_end are in a different buffer, the two buffers must share the same tag table.
+ *
+ * Implemented via emissions of the insert_text and apply_tag signals, so expect those.
+ *
+ * @param pos An iterator pointing to the position at which the text should be inserted.
+ * @param range_begin A position in a buffer.
+ * @param range_end Another position in the same buffer as @a range_begin.
+ * @result Whether text was actually inserted
+ */
+ iterator insert(const iterator& pos, const iterator& range_begin, const iterator& range_end);
+ _IGNORE(gtk_text_buffer_insert_range)
+
+ /** Same as insert_range(), but does nothing if the insertion point isn't editable.
+ *
+ * The @a default_editable parameter indicates whether the text is editable at @a pos if no tags enclosing @a pos affect editability.
+ * Typically the result of Gtk::TextView::get_editable() is appropriate here.
+ *
+ * @param pos An iterator pointing to the position at which the text should be inserted.
+ * @param range_begin A position in a buffer.
+ * @param range_end Another position in the same buffer as @a range_begin.
+ * @param default_editable Default editability of buffer.
+ * @result Whether text was actually inserted
+ */
+ std::pair<iterator,bool> insert_interactive(const iterator& pos, const iterator& range_begin, const iterator& range_end, bool default_editable = true);
+ _IGNORE(gtk_text_buffer_insert_range_interactive)
+
+ iterator insert_with_tag(const iterator& pos, const Glib::ustring& text, const Glib::RefPtr<Tag>& tag);
+ iterator insert_with_tag(const iterator& pos, const char* text_begin, const char* text_end, const Glib::RefPtr<Tag>& tag);
+
+ iterator insert_with_tag(const iterator& pos, const Glib::ustring& text, const Glib::ustring& tag_name);
+ iterator insert_with_tag(const iterator& pos, const char* text_begin, const char* text_end, const Glib::ustring& tag_name);
+
+ /** Inserts text into buffer at @a pos, applying the list of tags to the newly-inserted text.
+ * Equivalent to calling insert(), then apply_tag() on the inserted text; This is just a convenience function.
+ *
+ * @param pos An iterator pointing to the position at which the text should be inserted.
+ * @param text The text to be inserted in the buffer.
+ * @param tags A standard C++ container of @link Gtk::TextTag Gtk::TextBuffer::Tags@endlink.
+ * @result Whether text was actually inserted
+ */
+ iterator insert_with_tags(const iterator& pos, const Glib::ustring& text,
+ const Glib::ArrayHandle< Glib::RefPtr<Tag> >& tags);
+
+ /** Inserts text into buffer at @a pos, applying the list of tags to the newly-inserted text.
+ * Equivalent to calling insert(), then apply_tag() on the inserted text; This is just a convenience function.
+ *
+ * @param pos An iterator pointing to the position at which the text should be inserted.
+ * @param text_begin The start of a UTF8 character array.
+ * @param text_end The end of the UTF8 character array.
+ * @param tags A standard C++ container of @link Gtk::TextTag Gtk::TextBuffer::Tags@endlink.
+ * @result Whether text was actually inserted
+ */
+ iterator insert_with_tags(const iterator& pos, const char* text_begin, const char* text_end,
+ const Glib::ArrayHandle< Glib::RefPtr<Tag> >& tags);
+
+ /** Inserts text into buffer at @a pos, applying the list of tags to the newly-inserted text.
+ * Equivalent to calling insert(), then apply_tag() on the inserted text; This is just a convenience function.
+ *
+ * @param pos An iterator pointing to the position at which the text should be inserted.
+ * @param text The text to be inserted in the buffer.
+ * @param tag_names A standard C++ container of tag names.
+ * @result Whether text was actually inserted
+ */
+ iterator insert_with_tags_by_name(const iterator& pos, const Glib::ustring& text,
+ const Glib::StringArrayHandle& tag_names);
+
+
+ /** Equivalent to calling insert(), then apply_tag() on the inserted text; This is just a convenience function.
+ *
+ * @param pos An iterator pointing to the position at which the text should be inserted.
+ * @param text_begin The start of a UTF8 character array.
+ * @param text_end The end of the UTF8 character array.
+ * @param tag_names A standard C++ container of tag names.
+ * @result Whether text was actually inserted
+ */
+ iterator insert_with_tags_by_name(const iterator& pos, const char* text_begin, const char* text_end,
+ const Glib::StringArrayHandle& tag_names);
+
+ /* Deletes all text between @a range_begin and @a range_end. The order of range_begin and range_end is not actually relevant.
+ * This function actually emits the "delete_range" signal, and the default handler of that signal deletes the text.
+ * Because the buffer is modified, all outstanding iterators become invalid after calling this function.
+ * @param range_begin
+ * @param range_end
+ * @result An iterator that points to the location where text was deleted.
+ */
+ iterator erase(const iterator& range_begin, const iterator& range_end);
+ _IGNORE(gtk_text_buffer_delete)
+
+ /* Deletes all editable text between @a range_begin and @a range_end. The order of range_begin and range_end is not actually relevant.
+ * This function actually emits the "delete_range" signal, and the default handler of that signal deletes the text.
+ * Because the buffer is modified, all outstanding iterators become invalid after calling this function.
+ *
+ * @a default_editable indicates the editability of text that doesn't have a tag affecting editability applied to it.
+ * Typically the result of Gtk::TextView::get_editable() is appropriate here.
+ *
+ * @param range_begin
+ * @param range_end
+ * @param default_editable Default editability of buffer
+ * @result An iterator that points to the location where text was deleted, or end() is no text was deleted.
+ */
+ std::pair<iterator,bool> erase_interactive(const iterator& range_begin, const iterator& range_end, bool default_editable = true);
+ _IGNORE(gtk_text_buffer_delete_interactive)
+
+ /** Performs the appropriate action as if the user hit the delete
+ * key with the cursor at the position specified by @a iter. In the
+ * normal case a single character will be deleted, but when
+ * combining accents are involved, more than one character can
+ * be deleted, and when precomposed character and accent combinations
+ * are involved, less than one character will be deleted.
+ *
+ * Because the buffer is modified, all outstanding iterators become
+ * invalid after calling this method; however, this method returns
+ * a valid iterator that points to the location where text was deleted.
+ *
+ * @param iter A position in the buffer.
+ * @param interactive Whether the deletion is caused by user interaction.
+ * @param default_editable Whether the buffer is editable by default.
+ * @result An iterator to the location where text was deleted, if the buffer was modified.
+ *
+ * @newin2p6
+ */
+ iterator backspace(const iterator& iter, bool interactive = true, bool default_editable = true);
+ _IGNORE(gtk_text_buffer_backspace)
+
+ /** @deprecated Use get_text(const iterator& start, const iterator& end, bool include_hidden_chars) const
+ */
+ _WRAP_METHOD(Glib::ustring get_text(const iterator& start, const iterator& end, bool include_hidden_chars = true), gtk_text_buffer_get_text)
+
+ _WRAP_METHOD(Glib::ustring get_text(const iterator& start, const iterator& end, bool include_hidden_chars = true) const, gtk_text_buffer_get_text)
+
+ /** @deprecated Use get_text(bool include_hidden_chars) const.
+ */
+ Glib::ustring get_text(bool include_hidden_chars = true);
+
+ /** Returns all the text in the buffer. Excludes undisplayed
+ * text (text marked with tags that set the invisibility attribute) if
+ * @a include_hidden_chars is <tt>false</tt>. Does not include characters
+ * representing embedded images, so byte and character indexes into
+ * the returned string do <em>not</em> correspond to byte
+ * and character indexes into the buffer. Contrast with
+ * get_slice().
+ *
+ * @param include_hidden_chars Whether to include invisible text.
+ * @return An allocated UTF-8 string.
+ */
+ Glib::ustring get_text(bool include_hidden_chars = true) const;
+
+ /** @deprecated Use get_slice(const iterator& start, const iterator& end, bool include_hidden_chars) const.
+ */
+ _WRAP_METHOD(Glib::ustring get_slice(const iterator& start, const iterator& end, bool include_hidden_chars = true), gtk_text_buffer_get_slice)
+
+ _WRAP_METHOD(Glib::ustring get_slice(const iterator& start, const iterator& end, bool include_hidden_chars = true) const, gtk_text_buffer_get_slice)
+
+ iterator insert_pixbuf(const iterator& pos, const Glib::RefPtr<Gdk::Pixbuf>& pixbuf);
+ _IGNORE(gtk_text_buffer_insert_pixbuf)
+
+ iterator insert_child_anchor(const iterator& pos, const Glib::RefPtr<ChildAnchor>& anchor);
+ _IGNORE(gtk_text_buffer_insert_child_anchor)
+
+ Glib::RefPtr<ChildAnchor> create_child_anchor(const iterator& pos);
+ _IGNORE(gtk_text_buffer_create_child_anchor)
+
+ _WRAP_METHOD(void add_mark(const Glib::RefPtr<TextBuffer::Mark>& mark, const iterator& where), gtk_text_buffer_add_mark)
+
+ _WRAP_METHOD(Glib::RefPtr<TextBuffer::Mark> create_mark(const Glib::ustring& mark_name, const iterator& where, bool left_gravity = true), gtk_text_buffer_create_mark, refreturn)
+
+ /** Create an anonymous mark. */
+ /** Creates an anonymous mark at position @a where.
+ *
+ * If a mark has left gravity, and text is
+ * inserted at the mark's current location, the mark will be moved to
+ * the left of the newly-inserted text. If the mark has right gravity
+ * ( @a left_gravity = <tt>false</tt>), the mark will end up on the right of
+ * newly-inserted text. The standard left-to-right cursor is a mark
+ * with right gravity (when you type, the cursor stays on the right
+ * side of the text you're typing).
+ *
+ * Emits the "mark_set" signal as notification of the mark's initial
+ * placement.
+ * @param where Location to place mark.
+ * @param left_gravity Whether the mark has left gravity.
+ * @return The new Gtk::TextMark object.
+ */
+ Glib::RefPtr<Mark> create_mark(const iterator& where, bool left_gravity = true);
+
+ _WRAP_METHOD(void move_mark(const Glib::RefPtr<Mark>& mark, const iterator& where), gtk_text_buffer_move_mark)
+ _WRAP_METHOD(void delete_mark(const Glib::RefPtr<Mark>& mark), gtk_text_buffer_delete_mark)
+
+ _WRAP_METHOD(Glib::RefPtr<TextBuffer::Mark> get_mark(const Glib::ustring& name), gtk_text_buffer_get_mark, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const TextBuffer::Mark> get_mark(const Glib::ustring& name) const, gtk_text_buffer_get_mark, refreturn, constversion)
+
+ _WRAP_METHOD(void move_mark_by_name(const Glib::ustring& name, const iterator& where), gtk_text_buffer_move_mark_by_name)
+ _WRAP_METHOD(void delete_mark_by_name(const Glib::ustring& name), gtk_text_buffer_delete_mark_by_name)
+
+ _WRAP_METHOD(Glib::RefPtr<TextBuffer::Mark> get_insert(), gtk_text_buffer_get_insert, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<TextBuffer::Mark> get_selection_bound(), gtk_text_buffer_get_selection_bound, refreturn)
+
+ _WRAP_METHOD(void place_cursor(const iterator& where), gtk_text_buffer_place_cursor)
+ _WRAP_METHOD(void apply_tag(const Glib::RefPtr<Tag>& tag, const iterator& start, const iterator& end), gtk_text_buffer_apply_tag)
+ _WRAP_METHOD(void remove_tag(const Glib::RefPtr<Tag>& tag, const iterator& start, const iterator& end), gtk_text_buffer_remove_tag)
+ _WRAP_METHOD(void apply_tag_by_name(const Glib::ustring& name, const iterator& start, const iterator& end), gtk_text_buffer_apply_tag_by_name)
+ _WRAP_METHOD(void remove_tag_by_name(const Glib::ustring& name, const iterator& start, const iterator& end), gtk_text_buffer_remove_tag_by_name)
+ _WRAP_METHOD(void remove_all_tags(const iterator& start, const iterator& end), gtk_text_buffer_remove_all_tags)
+
+ /** Creates a tag and adds it to the tag table for buffer. Equivalent to calling Gtk::TextBuffer::Tag::create() and then adding
+ * the tag to the buffer's tag table.
+ * A tag called @a tag_name must not already exist in the tag table for this buffer.
+ *
+ * @param tag_name The name for the new tag.
+ * @result The new tag.
+ */
+ Glib::RefPtr<Tag> create_tag(const Glib::ustring& tag_name);
+ _IGNORE(gtk_text_buffer_create_tag)
+
+ /** Creates an anoymous tag and adds it to the tag table for buffer. Equivalent to calling Gtk::TextBuffer::Tag::create() and then adding
+ * the tag to the buffer's tag table.
+ *
+ * @result The new tag.
+ */
+ Glib::RefPtr<Tag> create_tag();
+
+ iterator get_iter_at_line_offset(int line_number, int char_offset);
+ iterator get_iter_at_line_index(int line_number, int byte_index);
+ iterator get_iter_at_offset(int char_offset);
+ iterator get_iter_at_line(int line_number);
+ iterator begin();
+ iterator end();
+ void get_bounds(iterator& range_begin, iterator& range_end);
+
+ /** Get the current position of a mark.
+ * @param mark The @link Gtk::TextMark Gtk::TextBuffer::Mark@endlink
+ * @result An iterator that points to the position of the @a mark.
+ */
+ iterator get_iter_at_mark(const Glib::RefPtr<Mark>& mark);
+
+ /** Get the current position of an anchor.
+ * @param anchor A @link Gtk::TextChildAnchor Gtk::TextBuffer::Anchor@endlink that appears in the buffer.
+ * @result An iterator that points to the position of the @a anchor.
+ */
+ iterator get_iter_at_child_anchor(const Glib::RefPtr<ChildAnchor>& anchor);
+
+ _WRAP_METHOD(bool get_modified() const, gtk_text_buffer_get_modified)
+ _WRAP_METHOD(void set_modified(bool setting = true), gtk_text_buffer_set_modified)
+
+ _WRAP_METHOD(bool get_has_selection() const, gtk_text_buffer_get_has_selection)
+
+ _WRAP_METHOD(void add_selection_clipboard(const Glib::RefPtr<Clipboard>& clipboard), gtk_text_buffer_add_selection_clipboard)
+ _WRAP_METHOD(void remove_selection_clipboard(const Glib::RefPtr<Clipboard>& clipboard), gtk_text_buffer_remove_selection_clipboard)
+ _WRAP_METHOD(void cut_clipboard(const Glib::RefPtr<Clipboard>& clipboard, bool default_editable = true), gtk_text_buffer_cut_clipboard)
+ _WRAP_METHOD(void copy_clipboard(const Glib::RefPtr<Clipboard>& clipboard), gtk_text_buffer_copy_clipboard)
+ void paste_clipboard(const Glib::RefPtr<Clipboard>& clipboard, const iterator& override_location, bool default_editable = true);
+ void paste_clipboard(const Glib::RefPtr<Clipboard>& clipboard, bool default_editable = true);
+ _IGNORE(gtk_text_buffer_paste_clipboard)
+
+ _WRAP_METHOD(bool get_selection_bounds(iterator& start, iterator& end) const, gtk_text_buffer_get_selection_bounds)
+ _WRAP_METHOD(bool erase_selection(bool interactive = true, bool default_editable = true), gtk_text_buffer_delete_selection)
+
+ _WRAP_METHOD(void select_range(const iterator& ins, const iterator& bound), gtk_text_buffer_select_range)
+
+/* Called to specify atomic user actions, used to implement undo */
+ _WRAP_METHOD(void begin_user_action(), gtk_text_buffer_begin_user_action)
+ _WRAP_METHOD(void end_user_action(), gtk_text_buffer_end_user_action)
+
+
+
+ //These are only available on the Maemo platform (patched Gtk+):
+
+ _WRAP_METHOD(void set_can_paste_rich_text(bool can_paste_rich_text), gtk_text_buffer_set_can_paste_rich_text, ifdef GTKMM_MAEMO_EXTENSIONS_ENABLED)
+ _WRAP_METHOD(bool get_can_paste_rich_text() const, gtk_text_buffer_get_can_paste_rich_text, ifdef GTKMM_MAEMO_EXTENSIONS_ENABLED)
+
+ _WRAP_METHOD(void set_rich_text_format(const Glib::ustring& format), gtk_text_buffer_set_rich_text_format, ifdef GTKMM_MAEMO_EXTENSIONS_ENABLED)
+
+#ifdef GTKMM_MAEMO_EXTENSIONS_ENABLED
+ /** Accept all formats from clipboard
+ *
+ */
+ void set_rich_text_format_all();
+#endif //GTKMM_MAEMO_EXTENSIONS_ENABLED
+
+ _WRAP_METHOD(Glib::ustring get_rich_text_format() const, gtk_text_buffer_get_rich_text_format, ifdef GTKMM_MAEMO_EXTENSIONS_ENABLED)
+
+
+
+//TODO: I have commented these out for now because I don't understand what the register_buffer and content_buffer are. murrayc.
+ //TODO: Documentation.
+ // typedef sigc::slot<guint8*, const Glib::RefPtr<TextBuffer>& /* content_buffer */, const iterator& /* start */, const iterator& /* end */, gsize& /* length */> SlotSerialize;
+
+
+//TODO: Use ArrayHandle, or just use guint8* to be more efficient?
+ // typedef sigc::slot<bool, const Glib::RefPtr<TextBuffer>& /* content_buffer */, iterator& /* iter */, const guint8* /* data */, gsize /* length */, bool /* create_tags */> SlotDeserialize;
+
+/*
+ Glib::ustring register_serialize_format(const Glib::ustring& mime_type, const SlotSerialize& slot);
+ _IGNORE(gtk_text_buffer_register_serialize_format)
+*/
+
+ _WRAP_METHOD(Glib::ustring register_serialize_tagset(const Glib::ustring& tagset_name), gtk_text_buffer_register_serialize_tagset)
+
+/*
+ Glib::ustring register_deserialize_format(const Glib::ustring& mime_type, const SlotDeserialize& slot);
+ _IGNORE(gtk_text_buffer_register_deserialize_format)
+*/
+ _WRAP_METHOD(Glib::ustring register_deserialize_tagset(const Glib::ustring& tagset_name), gtk_text_buffer_register_deserialize_tagset)
+
+ _WRAP_METHOD(void unregister_serialize_format(const Glib::ustring& format), gtk_text_buffer_unregister_serialize_format)
+ _WRAP_METHOD(void unregister_deserialize_format(const Glib::ustring& format), gtk_text_buffer_unregister_deserialize_format)
+
+ _WRAP_METHOD(void set_can_create_tags(const Glib::ustring& format, bool can_create_tags = true), gtk_text_buffer_deserialize_set_can_create_tags)
+ _WRAP_METHOD(bool get_can_create_tags(const Glib::ustring& format) const, gtk_text_buffer_deserialize_get_can_create_tags)
+
+
+ Glib::StringArrayHandle get_serialize_formats() const;
+ _IGNORE(gtk_text_buffer_get_serialize_formats)
+ Glib::StringArrayHandle get_deserialize_formats() const;
+ _IGNORE(gtk_text_buffer_get_deserialize_formats)
+
+/*
+//TODO: I have commented these out for now because I don't understand what the register_buffer and content_buffer are. murrayc.
+
+//TODO: Use something other than gsize?
+#m4 _CONVERSION(`const iterator&', `GtkTextIter*',`($3).gobj()')
+ _WRAP_METHOD(guint8* serialize(const Glib::RefPtr<TextBuffer>& content_buffer,
+ const Glib::ustring& format,
+ const iterator& iterstart,
+ const iterator& iterend,
+ gsize& length), gtk_text_buffer_serialize)
+
+//TODO: Is the bool superfluous?
+//TODO: Use an ArrayHandle?
+ _WRAP_METHOD(bool deserialize(const Glib::RefPtr<TextBuffer>& content_buffer,
+ const Glib::ustring& format,
+ const iterator& iter, const guint8* data,
+ gsize length), gtk_text_buffer_deserialize, errthrow)
+*/
+
+
+
+
+#m4begin
+dnl // HACK: Override the default conversion to deal correctly
+dnl // with non-0-terminated strings in insert_text_callback().
+_CONVERSION(`const char*',`const Glib::ustring&',`Glib::ustring(p1, p1 + p2)')
+#m4end
+ _WRAP_SIGNAL(void insert(const TextBuffer::iterator& pos, const Glib::ustring& text, int bytes), "insert_text")
+
+#m4 _CONVERSION(`GdkPixbuf*',`const Glib::RefPtr<Gdk::Pixbuf>&', Glib::wrap($3, true))
+ _WRAP_SIGNAL(void insert_pixbuf(const TextBuffer::iterator& pos, const Glib::RefPtr<Gdk::Pixbuf>& pixbuf), "insert_pixbuf")
+ _WRAP_SIGNAL(void insert_child_anchor(const TextBuffer::iterator& pos, const Glib::RefPtr<ChildAnchor>& anchor), "insert_child_anchor")
+
+ /** The delete_range signal is emitted to delete a range from
+ * a TextBuffer. Note that your handler must not invalidate the
+ * @a start and @a end iters (or has to revalidate them), if it runs before the
+ * default handler. There is no need to keep the iters valid in handlers
+ * which run after the default handler but
+ * those don't have access to the deleted text.
+ *
+ * @param start the start of the range to be deleted.
+ * @param end the end of the range to be deleted.
+ */
+ _WRAP_SIGNAL(void erase(const TextBuffer::iterator& start, const TextBuffer::iterator& end), "delete_range")
+
+
+ _WRAP_SIGNAL(void changed(), "changed")
+ _WRAP_SIGNAL(void modified_changed(), "modified_changed")
+ _WRAP_SIGNAL(void mark_set(const TextBuffer::iterator& location, const Glib::RefPtr<TextBuffer::Mark>& mark), "mark_set")
+ _WRAP_SIGNAL(void mark_deleted(const Glib::RefPtr<TextBuffer::Mark>& mark), "mark_deleted")
+ _WRAP_SIGNAL(void apply_tag(const Glib::RefPtr<TextBuffer::Tag>& tag, const TextBuffer::iterator& range_begin, const TextBuffer::iterator& range_end), "apply_tag")
+ _WRAP_SIGNAL(void remove_tag(const Glib::RefPtr<TextBuffer::Tag>& tag, const TextBuffer::iterator& range_begin, const TextBuffer::iterator& range_end), "remove_tag")
+ _WRAP_SIGNAL(void begin_user_action(), "begin_user_action")
+ _WRAP_SIGNAL(void end_user_action(), "end_user_action")
+
+ _WRAP_PROPERTY("text", Glib::ustring)
+ _WRAP_PROPERTY("has-selection", bool)
+ _WRAP_PROPERTY("cursor-position", int)
+ //TODO: Check the ref-counting/conversion for these: _WRAP_PROPERTY("copy-target-list", Glib::ListHandle< Glib::RefPtr<TargetList> >)
+ //TODO: _WRAP_PROPERTY("paste-target-list", Glib::ListHandle< Glib::RefPtr<TargetList> >)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/textchildanchor.ccg b/libs/gtkmm2/gtk/src/textchildanchor.ccg
new file mode 100644
index 0000000000..0d353dd2d9
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/textchildanchor.ccg
@@ -0,0 +1,23 @@
+// -*- c++ -*-
+/* $Id: textchildanchor.ccg,v 1.1 2003/01/21 13:40:42 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtktextchild.h> \ No newline at end of file
diff --git a/libs/gtkmm2/gtk/src/textchildanchor.hg b/libs/gtkmm2/gtk/src/textchildanchor.hg
new file mode 100644
index 0000000000..8f29d48eeb
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/textchildanchor.hg
@@ -0,0 +1,62 @@
+/* $Id: textchildanchor.hg,v 1.3 2006/03/22 16:53:22 murrayc Exp $ */
+
+/* textchildanchor.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+#include <gtkmm/object.h>
+#include <gtkmm/widget.h>
+#include <glibmm/listhandle.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Gtk
+{
+
+/** A TextChildAnchor is a spot in the buffer where child widgets can be "anchored"
+ * (inserted inline, as if they were characters). The anchor can have multiple widgets anchored,
+ * to allow for multiple views.
+ *
+ * Typedefed as Gtk::TextBuffer::ChildAnchor.
+ * @ingroup TextView
+ */
+class TextChildAnchor : public Glib::Object
+{
+ _CLASS_GOBJECT(TextChildAnchor, GtkTextChildAnchor, GTK_TEXT_CHILD_ANCHOR, Glib::Object, GObject)
+protected:
+ _CTOR_DEFAULT()
+
+public:
+ _WRAP_CREATE()
+
+ _WRAP_METHOD(Glib::ListHandle<Widget*> get_widgets(), gtk_text_child_anchor_get_widgets)
+ _WRAP_METHOD(Glib::ListHandle<const Widget*> get_widgets() const, gtk_text_child_anchor_get_widgets)
+ _WRAP_METHOD(bool get_deleted() const, gtk_text_child_anchor_get_deleted)
+
+ //These methods, and GtkTextLayout are semi-private:
+ _IGNORE(gtk_text_child_anchor_register_child, gtk_text_child_anchor_unregister_child, gtk_text_child_anchor_queue_resize)
+ //_WRAP_METHOD(void Register_child(TextLayout& layout), gtk_text_child_anchor_register_child)
+ //_WRAP_METHOD(void unregister_child(Widget& child), gtk_text_child_anchor_unregister_child)
+ //_WRAP_METHOD(void queue_resize(TextLayout& layout), gtk_text_child_anchor_queue_resize)
+
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/textiter.ccg b/libs/gtkmm2/gtk/src/textiter.ccg
new file mode 100644
index 0000000000..131add6ff4
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/textiter.ccg
@@ -0,0 +1,75 @@
+// -*- c++ -*-
+/* $Id: textiter.ccg,v 1.3 2005/01/06 20:49:07 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/texttag.h>
+#include <gtkmm/textbuffer.h>
+
+namespace Gtk
+{
+
+/**** Gtk::TextIter ********************************************************/
+
+
+
+bool TextIter::get_attributes(TextAttributes& values) const
+{
+ // The initialization is not strictly necessary and omitting it
+ // prevents a gcc-3.2 warning since { 0, } doesn't specifically
+ // initialize all members.
+ GtkTextAttributes gattributes; // = { 0, }
+
+ const bool result = gtk_text_iter_get_attributes(gobj(), &gattributes);
+ values = TextAttributes(&gattributes, true); //true = take_copy.
+ return result;
+}
+
+bool TextIter::begins_tag() const
+{
+ return gtk_text_iter_begins_tag(const_cast<GtkTextIter*>(gobj()), 0 /* see C docs */);
+}
+
+bool TextIter::ends_tag() const
+{
+ return gtk_text_iter_ends_tag(const_cast<GtkTextIter*>(gobj()), 0 /* see C docs */);
+}
+
+bool TextIter::toggles_tag() const
+{
+ return gtk_text_iter_toggles_tag(const_cast<GtkTextIter*>(gobj()), 0 /* see C docs */);
+}
+
+bool TextIter::has_tag() const
+{
+ return gtk_text_iter_has_tag(const_cast<GtkTextIter*>(gobj()), 0 /* see C docs */);
+}
+
+bool TextIter::forward_search(const Glib::ustring& str, TextSearchFlags flags, TextIter& match_start, TextIter& match_end) const
+{
+ return gtk_text_iter_forward_search(const_cast<GtkTextIter*>(gobj()), str.c_str(), ((GtkTextSearchFlags)(flags)), (match_start).gobj(), (match_end).gobj(), 0 /* means end() - see C docs */);
+}
+
+bool TextIter::backward_search(const Glib::ustring& str, TextSearchFlags flags, TextIter& match_start, TextIter& match_end) const
+{
+ return gtk_text_iter_backward_search(const_cast<GtkTextIter*>(gobj()), str.c_str(), ((GtkTextSearchFlags)(flags)), (match_start).gobj(), (match_end).gobj(), 0 /* means end - see C docs */);
+}
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/textiter.hg b/libs/gtkmm2/gtk/src/textiter.hg
new file mode 100644
index 0000000000..b7d099b25c
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/textiter.hg
@@ -0,0 +1,367 @@
+/* $Id: textiter.hg,v 1.8 2006/05/11 11:40:24 murrayc Exp $ */
+
+/* Copyright(C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software, ) you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation, ) either
+ * version 2 of the License, or(at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY, ) without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library, ) if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/exceptionhandler.h>
+#include <glibmm/slisthandle.h>
+#include <gdkmm/pixbuf.h>
+#include <gtkmm/texttag.h>
+#include <gtkmm/textchildanchor.h>
+#include <gtkmm/textattributes.h>
+#include <gtk/gtktextiter.h> /* we need the definition of GtkTextIter */
+
+
+_DEFS(gtkmm,gtk)
+
+namespace Gtk
+{
+
+_CC_INCLUDE(gtk/gtktypebuiltins.h)
+_WRAP_ENUM(TextSearchFlags, GtkTextSearchFlags)
+
+class TextBuffer;
+class TextMark;
+
+//TODO: Maybe we should have separate iterators for words, lines, and sentences.
+/** Typefed as Gtk::TextBuffer::iterator.
+ * An iterator represents a position between two characters in the text buffer. Iterators are not valid indefinitely; whenever the buffer is
+ * modified in a way that affects the number of characters in the buffer, all outstanding iterators become invalid. (Note that
+ * deleting 5 characters and then reinserting 5 still invalidates iterators, though you end up with the same number of characters
+ * you pass through a state with a different number).
+ *
+ * Because of this, iterators can't be used to preserve positions across buffer modifications. To preserve a position, the
+ * @link Gtk::TextMark Gtk::TextBuffer::Mark@endlink object is ideal.
+ *
+ * You can iterate over characters, words, lines, and sentences,
+ * but operator*() and operator++() deal only in characters.
+ *
+ * @ingroup TextView
+ */
+class TextIter
+{
+ _CLASS_BOXEDTYPE_STATIC(TextIter, GtkTextIter)
+ _IGNORE(gtk_text_iter_get_attributes, gtk_text_iter_copy, gtk_text_iter_free, gtk_text_iter_equal)
+public:
+ typedef std::bidirectional_iterator_tag iterator_category;
+ typedef gunichar value_type;
+ typedef int difference_type;
+ typedef value_type reference;
+ typedef void pointer;
+
+ /** Alias for forward_char(). */
+ inline TextIter& operator++();
+ inline const TextIter operator++(int);
+
+ /** Alias for backward_char(). */
+ inline TextIter& operator--();
+ inline const TextIter operator--(int);
+
+ /** Alias for get_char(). */
+ inline value_type operator*() const;
+
+ /** Alias for !is_end(). */
+ inline operator bool() const;
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+protected:
+ template <class Predicate>
+ struct PredicateAdapter
+ {
+ Predicate predicate_;
+ inline PredicateAdapter(const Predicate& predicate);
+ static gboolean gtk_callback(gunichar uc, void* user_data);
+ };
+
+ _WRAP_METHOD(bool forward_find_char_impl(GtkTextCharPredicate predicate,
+ void* user_data,
+ const GtkTextIter* limit), gtk_text_iter_forward_find_char)
+
+ _WRAP_METHOD(bool backward_find_char_impl(GtkTextCharPredicate predicate,
+ void* user_data,
+ const GtkTextIter* limit), gtk_text_iter_backward_find_char)
+
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+public:
+ _WRAP_METHOD(Glib::RefPtr<TextBuffer> get_buffer() const, gtk_text_iter_get_buffer, refreturn)
+
+ _WRAP_METHOD(int get_offset() const, gtk_text_iter_get_offset)
+ _WRAP_METHOD(int get_line() const, gtk_text_iter_get_line)
+ _WRAP_METHOD(int get_line_offset() const, gtk_text_iter_get_line_offset)
+ _WRAP_METHOD(int get_line_index() const, gtk_text_iter_get_line_index)
+
+ _WRAP_METHOD(int get_visible_line_offset() const, gtk_text_iter_get_visible_line_offset)
+ _WRAP_METHOD(int get_visible_line_index() const, gtk_text_iter_get_visible_line_index)
+
+ _WRAP_METHOD(gunichar get_char() const, gtk_text_iter_get_char)
+ _WRAP_METHOD(Glib::ustring get_slice(const TextIter& end) const, gtk_text_iter_get_slice)
+ _WRAP_METHOD(Glib::ustring get_text(const TextIter& end) const, gtk_text_iter_get_text)
+ _WRAP_METHOD(Glib::ustring get_visible_slice(const TextIter& end) const, gtk_text_iter_get_visible_slice)
+ _WRAP_METHOD(Glib::ustring get_visible_text(const TextIter& end) const, gtk_text_iter_get_visible_text)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> get_pixbuf() const, gtk_text_iter_get_pixbuf, refreturn)
+ _WRAP_METHOD(Glib::SListHandle< Glib::RefPtr<TextMark> > get_marks(), gtk_text_iter_get_marks)
+ _WRAP_METHOD(Glib::SListHandle< Glib::RefPtr<const TextMark> > get_marks() const, gtk_text_iter_get_marks)
+
+ _WRAP_METHOD(Glib::RefPtr<TextChildAnchor> get_child_anchor(), gtk_text_iter_get_child_anchor, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const TextChildAnchor> get_child_anchor() const, gtk_text_iter_get_child_anchor, refreturn)
+
+ _WRAP_METHOD(Glib::SListHandle< Glib::RefPtr<TextTag> > get_toggled_tags(bool toggled_on = true), gtk_text_iter_get_toggled_tags)
+ _WRAP_METHOD(Glib::SListHandle< Glib::RefPtr<const TextTag> > get_toggled_tags(bool toggled_on = true) const, gtk_text_iter_get_toggled_tags)
+
+ _WRAP_METHOD(bool begins_tag(const Glib::RefPtr<const TextTag>& tag) const, gtk_text_iter_begins_tag)
+ bool begins_tag() const;
+ _WRAP_METHOD(bool ends_tag(const Glib::RefPtr<const TextTag>& tag) const, gtk_text_iter_ends_tag)
+ bool ends_tag() const;
+ _WRAP_METHOD(bool toggles_tag(const Glib::RefPtr<const TextTag>& tag) const, gtk_text_iter_toggles_tag)
+ bool toggles_tag() const;
+
+ _WRAP_METHOD(bool has_tag(const Glib::RefPtr<const TextTag>& tag) const, gtk_text_iter_has_tag)
+ bool has_tag() const;
+
+ _WRAP_METHOD(Glib::SListHandle< Glib::RefPtr<TextTag> > get_tags(), gtk_text_iter_get_tags)
+ _WRAP_METHOD(Glib::SListHandle< Glib::RefPtr<const TextTag> > get_tags() const, gtk_text_iter_get_tags)
+
+ _WRAP_METHOD(bool editable(bool default_setting = true) const, gtk_text_iter_editable)
+ _WRAP_METHOD(bool can_insert(bool default_editability = true) const, gtk_text_iter_can_insert)
+
+ _WRAP_METHOD(bool starts_word() const, gtk_text_iter_starts_word)
+ _WRAP_METHOD(bool ends_word() const, gtk_text_iter_ends_word)
+ _WRAP_METHOD(bool inside_word() const, gtk_text_iter_inside_word)
+ _WRAP_METHOD(bool starts_sentence() const, gtk_text_iter_starts_sentence)
+ _WRAP_METHOD(bool ends_sentence() const, gtk_text_iter_ends_sentence)
+ _WRAP_METHOD(bool inside_sentence() const, gtk_text_iter_inside_sentence)
+ _WRAP_METHOD(bool starts_line() const, gtk_text_iter_starts_line)
+ _WRAP_METHOD(bool ends_line() const, gtk_text_iter_ends_line)
+ _WRAP_METHOD(bool is_cursor_position() const, gtk_text_iter_is_cursor_position)
+
+ _WRAP_METHOD(int get_chars_in_line() const, gtk_text_iter_get_chars_in_line)
+ _WRAP_METHOD(int get_bytes_in_line() const, gtk_text_iter_get_bytes_in_line)
+
+ bool get_attributes(TextAttributes& values) const;
+ _WRAP_METHOD(Pango::Language get_language() const, gtk_text_iter_get_language)
+ _WRAP_METHOD(bool is_end() const, gtk_text_iter_is_end)
+ _WRAP_METHOD(bool is_start() const, gtk_text_iter_is_start)
+
+ _WRAP_METHOD(bool forward_char(), gtk_text_iter_forward_char)
+ _WRAP_METHOD(bool backward_char(), gtk_text_iter_backward_char)
+ _WRAP_METHOD(bool forward_chars(int count), gtk_text_iter_forward_chars)
+ _WRAP_METHOD(bool backward_chars(int count), gtk_text_iter_backward_chars)
+ _WRAP_METHOD(bool forward_line(), gtk_text_iter_forward_line)
+ _WRAP_METHOD(bool backward_line(), gtk_text_iter_backward_line)
+ _WRAP_METHOD(bool forward_lines(int count), gtk_text_iter_forward_lines)
+ _WRAP_METHOD(bool backward_lines(int count), gtk_text_iter_backward_lines)
+ _WRAP_METHOD(bool forward_word_end(), gtk_text_iter_forward_word_end)
+ _WRAP_METHOD(bool backward_word_start(), gtk_text_iter_backward_word_start)
+ _WRAP_METHOD(bool forward_word_ends(int count), gtk_text_iter_forward_word_ends)
+ _WRAP_METHOD(bool backward_word_starts(int count), gtk_text_iter_backward_word_starts)
+
+ _WRAP_METHOD(bool forward_visible_line(), gtk_text_iter_forward_visible_line)
+ _WRAP_METHOD(bool backward_visible_line(), gtk_text_iter_backward_visible_line)
+ _WRAP_METHOD(bool forward_visible_line(int count), gtk_text_iter_forward_visible_lines)
+ _WRAP_METHOD(bool backward_visible_lines(int count), gtk_text_iter_backward_visible_lines)
+
+ //TODO: Now that there are so many *_visible_ versions of the methods, maybe we should
+ //just add a visible=false parameter and therefore halve the number of methods. murrayc
+
+ _WRAP_METHOD(bool forward_visible_word_end(), gtk_text_iter_forward_visible_word_end)
+ _WRAP_METHOD(bool backward_visible_word_start(), gtk_text_iter_backward_visible_word_start)
+ _WRAP_METHOD(bool forward_visible_word_ends(int count), gtk_text_iter_forward_visible_word_ends)
+ _WRAP_METHOD(bool backward_visible_word_starts(int count), gtk_text_iter_backward_visible_word_starts)
+
+ _WRAP_METHOD(bool forward_sentence_end(), gtk_text_iter_forward_sentence_end)
+ _WRAP_METHOD(bool backward_sentence_start(), gtk_text_iter_backward_sentence_start)
+ _WRAP_METHOD(bool forward_sentence_ends(int count), gtk_text_iter_forward_sentence_ends)
+ _WRAP_METHOD(bool backward_sentence_starts(int count), gtk_text_iter_backward_sentence_starts)
+
+ _WRAP_METHOD(bool forward_cursor_position(), gtk_text_iter_forward_cursor_position)
+ _WRAP_METHOD(bool backward_cursor_position(), gtk_text_iter_backward_cursor_position)
+ _WRAP_METHOD(bool forward_cursor_positions(int count), gtk_text_iter_forward_cursor_positions)
+ _WRAP_METHOD(bool backward_cursor_positions(int count), gtk_text_iter_backward_cursor_positions)
+
+ _WRAP_METHOD(bool forward_visible_cursor_position(), gtk_text_iter_forward_visible_cursor_position)
+ _WRAP_METHOD(bool backward_visible_cursor_position(), gtk_text_iter_backward_visible_cursor_position)
+ _WRAP_METHOD(bool forward_visible_cursor_positions(int count), gtk_text_iter_forward_visible_cursor_positions)
+ _WRAP_METHOD(bool backward_visible_cursor_positions(int count), gtk_text_iter_backward_visible_cursor_positions)
+
+ _WRAP_METHOD(void set_offset(int char_offset), gtk_text_iter_set_offset)
+ _WRAP_METHOD(void set_line(int line_number), gtk_text_iter_set_line)
+ _WRAP_METHOD(void set_line_offset(int char_on_line), gtk_text_iter_set_line_offset)
+ _WRAP_METHOD(void set_line_index(int byte_on_line), gtk_text_iter_set_line_index)
+ _WRAP_METHOD(void forward_to_end(), gtk_text_iter_forward_to_end)
+ _WRAP_METHOD(bool forward_to_line_end(), gtk_text_iter_forward_to_line_end)
+
+ _WRAP_METHOD(void set_visible_line_offset(int char_on_line), gtk_text_iter_set_visible_line_offset)
+ _WRAP_METHOD(void set_visible_line_index(int byte_on_line), gtk_text_iter_set_visible_line_index)
+
+ _WRAP_METHOD(bool forward_to_tag_toggle(const Glib::RefPtr<TextTag>& tag), gtk_text_iter_forward_to_tag_toggle)
+ _WRAP_METHOD(bool backward_to_tag_toggle(const Glib::RefPtr<TextTag>& tag), gtk_text_iter_backward_to_tag_toggle)
+
+ template <class Predicate> bool forward_find_char(const Predicate& predicate, const TextIter& limit);
+ template <class Predicate> bool forward_find_char(const Predicate& predicate);
+ template <class Predicate> bool backward_find_char(const Predicate& predicate, const TextIter& limit);
+ template <class Predicate> bool backward_find_char(const Predicate& predicate);
+
+ _WRAP_METHOD(bool forward_search(const Glib::ustring& str,
+ TextSearchFlags flags,
+ TextIter& match_start,
+ TextIter& match_end,
+ const TextIter& limit) const, gtk_text_iter_forward_search)
+
+ /** Same as forward_search(), but searchs to the end.
+ *
+ * @param str A search string.
+ * @param flags Flags affecting how the search is done.
+ * @param match_start Return location for start of match, or <tt>0</tt>.
+ * @param match_end Return location for end of match, or <tt>0</tt>.
+ * @return Whether a match was found.
+ */
+ bool forward_search(const Glib::ustring& str, TextSearchFlags flags, TextIter& match_start, TextIter& match_end) const;
+
+ _WRAP_METHOD(bool backward_search(const Glib::ustring& str,
+ TextSearchFlags flags,
+ TextIter& match_start,
+ TextIter& match_end,
+ const TextIter& limit) const, gtk_text_iter_backward_search)
+
+ /** Same as backward_search(), but searches to the start.
+ * @param str Search string.
+ * @param flags Bitmask of flags affecting the search.
+ * @param match_start Return location for start of match, or <tt>0</tt>.
+ * @param match_end Return location for end of match, or <tt>0</tt>.
+ * @return Whether a match was found.
+ */
+ bool backward_search(const Glib::ustring& str, TextSearchFlags flags, TextIter& match_start, TextIter& match_end) const;
+
+ _WRAP_METHOD(int compare(const TextIter& rhs) const, gtk_text_iter_compare)
+ _WRAP_METHOD(bool in_range(const TextIter& start, const TextIter& end) const, gtk_text_iter_in_range)
+ _WRAP_METHOD(void order(TextIter& second), gtk_text_iter_order)
+
+ _WRAP_EQUAL_AND_COMPARE(gtk_text_iter_equal, gtk_text_iter_compare)
+};
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+template <class Predicate> inline
+TextIter::PredicateAdapter<Predicate>::PredicateAdapter(const Predicate& predicate)
+:
+ predicate_ (predicate)
+{}
+
+// static
+template <class Predicate>
+gboolean TextIter::PredicateAdapter<Predicate>::gtk_callback(gunichar uc, void* user_data)
+{
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // This will either use Predicate::operator(), or call a function pointer.
+ // The explicit conditional expression avoids relying on an implicit
+ // conversion of the return type to int, which might be not available.
+ return (static_cast<TextIter::PredicateAdapter<Predicate>*>(user_data)->predicate_(uc)) ? 1 : 0;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ return 0;
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+inline
+TextIter& TextIter::operator++()
+{
+ forward_char();
+ return *this;
+}
+
+inline
+const TextIter TextIter::operator++(int)
+{
+ const TextIter temp (*this);
+ forward_char();
+ return temp;
+}
+
+inline
+TextIter& TextIter::operator--()
+{
+ backward_char();
+ return *this;
+}
+
+inline
+const TextIter TextIter::operator--(int)
+{
+ const TextIter temp (*this);
+ backward_char();
+ return temp;
+}
+
+inline
+TextIter::value_type TextIter::operator*() const
+{
+ return get_char();
+}
+
+inline
+TextIter::operator bool() const
+{
+ return !is_end();
+}
+
+template <class Predicate>
+bool TextIter::forward_find_char(const Predicate& predicate, const TextIter& limit)
+{
+ typedef TextIter::PredicateAdapter<Predicate> PredAdapter;
+ PredAdapter adapter (predicate);
+ return this->forward_find_char_impl(&PredAdapter::gtk_callback, &adapter, limit.gobj());
+}
+
+template <class Predicate>
+bool TextIter::forward_find_char(const Predicate& predicate)
+{
+ typedef TextIter::PredicateAdapter<Predicate> PredAdapter;
+ PredAdapter adapter (predicate);
+ return this->forward_find_char_impl(&PredAdapter::gtk_callback, &adapter, 0);
+}
+
+template <class Predicate>
+bool TextIter::backward_find_char(const Predicate& predicate, const TextIter& limit)
+{
+ typedef TextIter::PredicateAdapter<Predicate> PredAdapter;
+ PredAdapter adapter (predicate);
+ return this->backward_find_char_impl(&PredAdapter::gtk_callback, &adapter, limit.gobj());
+}
+
+template <class Predicate>
+bool TextIter::backward_find_char(const Predicate& predicate)
+{
+ typedef TextIter::PredicateAdapter<Predicate> PredAdapter;
+ PredAdapter adapter (predicate);
+ return this->backward_find_char_impl(&PredAdapter::gtk_callback, &adapter, 0);
+}
+
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/textmark.ccg b/libs/gtkmm2/gtk/src/textmark.ccg
new file mode 100644
index 0000000000..5126825622
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/textmark.ccg
@@ -0,0 +1,45 @@
+// -*- c++ -*-
+/* $Id: textmark.ccg,v 1.1 2003/01/21 13:40:43 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+#include <gtkmm/textmark.h>
+#include <gtkmm/textbuffer.h>
+#include <gtk/gtktextmark.h>
+
+
+namespace Gtk
+{
+
+TextMark::TextMark(bool left_gravity)
+:
+ _CONSTRUCT("left_gravity", gboolean(left_gravity))
+{}
+
+TextIter TextMark::get_iter()
+{
+ Glib::RefPtr<TextMark> mark = Glib::RefPtr<TextMark>(this);
+ mark->reference(); // RefPtr (T_CppObject* pCppObject) does not do a reference
+ return get_buffer()->get_iter_at_mark(mark);
+}
+
+} //namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/textmark.hg b/libs/gtkmm2/gtk/src/textmark.hg
new file mode 100644
index 0000000000..faf33b1de4
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/textmark.hg
@@ -0,0 +1,143 @@
+/* $Id: textmark.hg,v 1.3 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* textmark.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+#include <gtkmm/object.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Gtk
+{
+
+class TextBuffer;
+class TextIter;
+
+/** Typedefed as Gtk::TextBuffer::Mark. A position in the buffer, preserved across buffer modifications.
+ *
+ * A Mark is like a bookmark in a text buffer; it preserves a position in the text. Unlike iterators, marks remain valid across buffer mutations, because
+ * their behavior is defined when text is inserted or deleted. When text containing a mark is deleted, the mark remains in
+ * the position originally occupied by the deleted text. When text is inserted at a mark, a mark with left gravity will be
+ * moved to the beginning of the newly-inserted text, and a mark with right gravity will be moved to the end.
+ * The standard text cursor in left-to-right languages is a mark with right gravity, because it stays to the right of inserted
+ * text.
+ *
+ * Like tags, marks can be either named or anonymous. There are two marks built-in to Gtk::TextBuffer; these are named "insert" and
+ * "selection_bound" and refer to the insertion point and the boundary of the selection which is not the insertion point,
+ * respectively. If no text is selected, these two marks will be in the same position. You can manipulate what is selected and
+ * where the cursor appears by moving these marks around.
+ *
+ * "left" and "right" here refer to logical direction (left is the toward the start of the buffer); in some languages such as
+ * Hebrew the logically-leftmost text is not actually on the left when displayed.
+ *
+ * You can convert the mark to an @link Gtk::TextIter iterator@endlink using Gtk::TextBuffer::get_iter_at_mark().
+ *
+ * Marks can be deleted from the buffer at any time with Gtk::TextBuffer::delete_mark(). Once deleted from the buffer, a mark is essentially useless.
+ *
+ * Marks optionally have names; these can be convenient to avoid passing the Gtk::TextBuffer::Mark object around.
+ *
+ * Marks are typically created using the Gtk::TextBuffer::create_mark() function.
+ *
+ * @ingroup TextView
+ */
+class TextMark : public Glib::Object
+{
+ _CLASS_GOBJECT(TextMark, GtkTextMark, GTK_TEXT_MARK, Glib::Object, GObject)
+protected:
+
+ /** Creates an anoymous text mark. Add it to a buffer using Gtk::TextBuffer::add_mark().
+ * If a mark has left
+ * gravity, and text is inserted at the mark's current location, the mark
+ * will be moved to the left of the newly-inserted text. If the mark has
+ * right gravity (@a left_gravity = false), the mark will end up on the
+ * right of newly-inserted text. The standard left-to-right cursor is a
+ * mark with right gravity (when you type, the cursor stays on the right
+ * side of the text you're typing).
+
+ * @param name mark name.
+ * @param left_gravity Whether the mark should have left gravity.
+ * @newin2p12
+ */
+ explicit TextMark(bool left_gravity = true);
+
+ /** Creates a text mark. Add it to a buffer using Gtk::TextBuffer::add_mark().
+ * The mark can be retrieved by name using Gtk::TextBuffer::get_mark(). If a mark has left
+ * gravity, and text is inserted at the mark's current location, the mark
+ * will be moved to the left of the newly-inserted text. If the mark has
+ * right gravity (@a left_gravity = false), the mark will end up on the
+ * right of newly-inserted text. The standard left-to-right cursor is a
+ * mark with right gravity (when you type, the cursor stays on the right
+ * side of the text you're typing).
+
+ * @param name mark name.
+ * @param left_gravity Whether the mark should have left gravity.
+ * @newin2p12
+ */
+ _WRAP_CTOR(TextMark(const Glib::ustring& name, bool left_gravity = true), gtk_text_mark_new)
+
+public:
+
+ /** Creates an anoymous text mark. Add it to a buffer using Gtk::TextBuffer::add_mark().
+ * If a mark has left
+ * gravity, and text is inserted at the mark's current location, the mark
+ * will be moved to the left of the newly-inserted text. If the mark has
+ * right gravity (@a left_gravity = false), the mark will end up on the
+ * right of newly-inserted text. The standard left-to-right cursor is a
+ * mark with right gravity (when you type, the cursor stays on the right
+ * side of the text you're typing).
+
+ * @param name mark name.
+ * @param left_gravity Whether the mark should have left gravity.
+ * @result A RefPtr to a new text mark.
+ * @newin2p12
+ */
+ _WRAP_CREATE(bool left_gravity = true)
+
+/** Creates a text mark. Add it to a buffer using Gtk::TextBuffer::add_mark().
+ * The mark can be retrieved by name using Gtk::TextBuffer::get_mark(). If a mark has left
+ * gravity, and text is inserted at the mark's current location, the mark
+ * will be moved to the left of the newly-inserted text. If the mark has
+ * right gravity (@a left_gravity = false), the mark will end up on the
+ * right of newly-inserted text. The standard left-to-right cursor is a
+ * mark with right gravity (when you type, the cursor stays on the right
+ * side of the text you're typing).
+
+ * @param name mark name.
+ * @param left_gravity Whether the mark should have left gravity.
+ * @result A RefPtr to a new text mark.
+ * @newin2p12
+ */
+ _WRAP_CREATE(const Glib::ustring& name, bool left_gravity = true)
+
+ _WRAP_METHOD(void set_visible(bool setting = true), gtk_text_mark_set_visible)
+ _WRAP_METHOD(bool get_visible() const, gtk_text_mark_get_visible)
+ _WRAP_METHOD(Glib::ustring get_name() const, gtk_text_mark_get_name)
+ _WRAP_METHOD(bool get_deleted() const, gtk_text_mark_get_deleted)
+ _WRAP_METHOD(Glib::RefPtr<TextBuffer> get_buffer(), gtk_text_mark_get_buffer, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const TextBuffer> get_buffer() const, gtk_text_mark_get_buffer, refreturn, constversion)
+ _WRAP_METHOD(bool get_left_gravity() const, gtk_text_mark_get_left_gravity)
+
+ //TODO: Add a const overload, if we have a ConstTextIter.
+ TextIter get_iter();
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/texttag.ccg b/libs/gtkmm2/gtk/src/texttag.ccg
new file mode 100644
index 0000000000..d4f2c6f2e5
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/texttag.ccg
@@ -0,0 +1,25 @@
+// -*- c++ -*-
+/* $Id: texttag.ccg,v 1.2 2004/04/11 21:00:53 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/textbuffer.h>
+#include <gtkmm/textiter.h>
+#include <gtk/gtktexttag.h> \ No newline at end of file
diff --git a/libs/gtkmm2/gtk/src/texttag.hg b/libs/gtkmm2/gtk/src/texttag.hg
new file mode 100644
index 0000000000..64a61dcbe4
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/texttag.hg
@@ -0,0 +1,143 @@
+/* $Id: texttag.hg,v 1.5 2006/05/10 20:59:28 murrayc Exp $ */
+
+/* texttag.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+#include <gtkmm/object.h>
+#include <gtkmm/enums.h>
+#include <gdkmm/bitmap.h>
+#include <gdkmm/color.h>
+#include <pangomm/fontdescription.h>
+#include <pangomm/tabarray.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+_PINCLUDE(gtk/gtktexttag.h)
+
+namespace Gtk
+{
+
+class TextIter;
+
+/** Typedefed as Gtk::TextBuffer::Tag.
+ *
+ * Text in a buffer can be marked with tags. A tag is an attribute that can be applied to some range of text. For example, a tag
+ * might be called "bold" and might make the text inside the tag bold. However, the tag concept is more general than that; tags don't
+ * have to affect appearance. They can instead affect the behavior of mouse and key presses, "lock" a range of text so the user
+ * can't edit it, or countless other things.
+ * One tag can be applied to any number of text ranges in any number of @link Gtk::TextBuffer Gtk::TextBuffers@endlink.
+ *
+ * Each tag is stored in a @link Gtk::TextTagTable Gtk::TextBuffer::TagTable@endlink, and Tags should be in the
+ * @link Gtk::TextTagTable Gtk::TextBuffer::TagTable@endlink for a given Gtk::TextBuffer before using
+ * them with that buffer.
+ *
+ * Tags can have names, which is convenient sometimes (for example, you can name your tag that makes things bold "bold"), but
+ * they can also be anonymous (which is convenient if you're creating tags on-the-fly).
+ *
+ * Gtk::TextBuffer::create_tag() is the best way to create tags. See the demo for numerous examples.
+ *
+ * @ingroup TextView
+ */
+class TextTag : public Glib::Object
+{
+ _CLASS_GOBJECT(TextTag, GtkTextTag, GTK_TEXT_TAG, Glib::Object, GObject)
+protected:
+ _CTOR_DEFAULT()
+ _WRAP_CTOR(TextTag(const Glib::ustring& name), gtk_text_tag_new)
+
+public:
+ _WRAP_CREATE()
+ _WRAP_CREATE(const Glib::ustring& name)
+
+ _WRAP_METHOD(int get_priority() const, gtk_text_tag_get_priority)
+ _WRAP_METHOD(void set_priority(int priority), gtk_text_tag_set_priority)
+ _WRAP_METHOD(bool event(const Glib::RefPtr<Glib::Object>& event_object, GdkEvent* event, const TextIter& iter), gtk_text_tag_event)
+
+ _WRAP_SIGNAL(bool event(const Glib::RefPtr<Glib::Object>& event_object, GdkEvent* event, const TextIter& iter), "event")
+
+ _WRAP_PROPERTY("name", Glib::ustring) //construct-only.
+ _WRAP_PROPERTY("background", Glib::ustring)
+ _WRAP_PROPERTY("foreground", Glib::ustring)
+ _WRAP_PROPERTY("background-gdk", Gdk::Color)
+ _WRAP_PROPERTY("foreground-gdk", Gdk::Color)
+ _WRAP_PROPERTY("background-stipple", Glib::RefPtr<Gdk::Bitmap>)
+ _WRAP_PROPERTY("foreground-stipple", Glib::RefPtr<Gdk::Bitmap>)
+ _WRAP_PROPERTY("font", Glib::ustring)
+ _WRAP_PROPERTY("font-desc", Pango::FontDescription)
+ _WRAP_PROPERTY("family", Glib::ustring)
+ _WRAP_PROPERTY("style", Pango::Style)
+ _WRAP_PROPERTY("variant", Pango::Variant)
+ _WRAP_PROPERTY("weight", int)
+ _WRAP_PROPERTY("stretch", Pango::Stretch)
+ _WRAP_PROPERTY("size", int)
+ _WRAP_PROPERTY("size-points", double)
+ _WRAP_PROPERTY("scale", double)
+ _WRAP_PROPERTY("pixels-above-lines", int)
+ _WRAP_PROPERTY("pixels-below-lines", int)
+ _WRAP_PROPERTY("pixels-inside-wrap", int)
+ _WRAP_PROPERTY("editable", bool)
+ _WRAP_PROPERTY("wrap-mode", WrapMode)
+ _WRAP_PROPERTY("justification", Justification)
+ _WRAP_PROPERTY("direction", TextDirection)
+ _WRAP_PROPERTY("left-margin", int)
+ _WRAP_PROPERTY("indent", int)
+ _WRAP_PROPERTY("strikethrough", bool)
+ _WRAP_PROPERTY("right-margin", int)
+ _WRAP_PROPERTY("underline", Pango::Underline)
+ _WRAP_PROPERTY("rise", int)
+ _WRAP_PROPERTY("background-full-height", bool)
+ _WRAP_PROPERTY("language", Glib::ustring)
+ _WRAP_PROPERTY("tabs", Pango::TabArray)
+ _WRAP_PROPERTY("invisible", bool)
+ _WRAP_PROPERTY("paragraph-background", Glib::ustring)
+ _WRAP_PROPERTY("paragraph-background-gdk", Gdk::Color)
+ _WRAP_PROPERTY("accumulative-margin", bool)
+ _WRAP_PROPERTY("background-set", bool)
+ _WRAP_PROPERTY("foreground-set", bool)
+ _WRAP_PROPERTY("background-stipple-set", bool)
+ _WRAP_PROPERTY("foreground-stipple-set", bool)
+ _WRAP_PROPERTY("family-set", bool)
+ _WRAP_PROPERTY("style-set", bool)
+ _WRAP_PROPERTY("variant-set", bool)
+ _WRAP_PROPERTY("weight-set", bool)
+ _WRAP_PROPERTY("stretch-set", bool)
+ _WRAP_PROPERTY("size-set", bool)
+ _WRAP_PROPERTY("scale-set", bool)
+ _WRAP_PROPERTY("pixels-above-lines-set", bool)
+ _WRAP_PROPERTY("pixels-below-lines-set", bool)
+ _WRAP_PROPERTY("pixels-inside-wrap-set", bool)
+ _WRAP_PROPERTY("editable-set", bool)
+ _WRAP_PROPERTY("wrap-mode-set", bool)
+ _WRAP_PROPERTY("justification-set", bool)
+ _WRAP_PROPERTY("left-margin-set", bool)
+ _WRAP_PROPERTY("indent-set", bool)
+ _WRAP_PROPERTY("strikethrough-set", bool)
+ _WRAP_PROPERTY("right-margin-set", bool)
+ _WRAP_PROPERTY("underline-set", bool)
+ _WRAP_PROPERTY("rise-set", bool)
+ _WRAP_PROPERTY("background-full-height-set", bool)
+ _WRAP_PROPERTY("language-set", bool)
+ _WRAP_PROPERTY("tabs-set", bool)
+ _WRAP_PROPERTY("invisible-set", bool)
+ _WRAP_PROPERTY("paragraph-background-set", bool)
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/texttagtable.ccg b/libs/gtkmm2/gtk/src/texttagtable.ccg
new file mode 100644
index 0000000000..497d048cb3
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/texttagtable.ccg
@@ -0,0 +1,50 @@
+// -*- c++ -*-
+/* $Id: texttagtable.ccg,v 1.5 2006/04/12 10:18:43 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/texttag.h>
+#include <gtk/gtktexttag.h>
+#include <gtk/gtktexttagtable.h>
+
+
+static void SignalProxy_ForEach_gtk_callback(GtkTextTag* texttag, gpointer data)
+{
+ Gtk::TextTagTable::SlotForEach* the_slot = static_cast<Gtk::TextTagTable::SlotForEach*>(data);
+ if(the_slot)
+ {
+ //Use Slot::operator():
+ (*the_slot)(Glib::wrap(texttag, true)); //true = take_copy.
+ }
+}
+
+namespace Gtk
+{
+
+void TextTagTable::foreach(const SlotForEach& slot)
+{
+ //The slot doesn't need to exist for longer than the function call.
+ gtk_text_tag_table_foreach(gobj(), &SignalProxy_ForEach_gtk_callback, (gpointer)&slot);
+}
+
+
+} /* namespace Gtk */
+
+
diff --git a/libs/gtkmm2/gtk/src/texttagtable.hg b/libs/gtkmm2/gtk/src/texttagtable.hg
new file mode 100644
index 0000000000..7212a11054
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/texttagtable.hg
@@ -0,0 +1,69 @@
+/* $Id: texttagtable.hg,v 1.4 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* texttagtable.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/object.h>
+#include <gtkmm/texttag.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Gtk
+{
+
+class TextTag;
+
+/** Typedefed as Gtk::TextBuffer::TagTable. A Collection of @link Gtk::TextTag Gtk::TextBuffer::Tags@endlink that can be used together.
+ *
+ * A tag table defines a set of @link Gtk::TextTag Gtk::TextBuffer::Tags@endlink that can be used together. Each buffer has one tag
+ * table associated with it; only tags from that tag table can be used with the buffer. A single tag table can be shared between
+ * multiple buffers, however.
+ *
+ * @ingroup TextView
+ */
+class TextTagTable : public Glib::Object
+{
+ _CLASS_GOBJECT(TextTagTable, GtkTextTagTable, GTK_TEXT_TAG_TABLE, Glib::Object, GObject)
+protected:
+
+ _CTOR_DEFAULT
+
+public:
+ _WRAP_CREATE()
+
+ _WRAP_METHOD(void add(const Glib::RefPtr<TextTag>& tag), gtk_text_tag_table_add)
+ _WRAP_METHOD(void remove(const Glib::RefPtr<TextTag>& tag), gtk_text_tag_table_remove)
+ _WRAP_METHOD(Glib::RefPtr<TextTag> lookup(const Glib::ustring& name), gtk_text_tag_table_lookup, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const TextTag> lookup(const Glib::ustring& name) const, gtk_text_tag_table_lookup, refreturn, constversion)
+
+ typedef sigc::slot<void, const Glib::RefPtr<TextTag>&> SlotForEach;
+ void foreach(const SlotForEach& slot);
+ _IGNORE(gtk_text_tag_table_foreach)
+
+ _WRAP_METHOD(int get_size() const, gtk_text_tag_table_get_size)
+
+ _WRAP_SIGNAL(void tag_changed(const Glib::RefPtr<TextTag>& tag, bool size_changed), "tag_changed")
+ _WRAP_SIGNAL(void tag_added(const Glib::RefPtr<TextTag>& tag), "tag_added")
+ _WRAP_SIGNAL(void tag_removed(const Glib::RefPtr<TextTag>& tag), "tag_removed")
+
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/textview.ccg b/libs/gtkmm2/gtk/src/textview.ccg
new file mode 100644
index 0000000000..f950b26396
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/textview.ccg
@@ -0,0 +1,73 @@
+// -*- c++ -*-
+/* $Id: textview.ccg,v 1.3 2005/11/29 16:38:10 murrayc Exp $ */
+
+/* Copyright 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtktextview.h>
+
+namespace Gtk
+{
+
+TextView::TextView(const Glib::RefPtr<TextBuffer>& buffer)
+:
+ _CONSTRUCT()
+{
+ set_buffer(buffer);
+}
+
+bool TextView::scroll_to(TextBuffer::iterator& iter, double within_margin)
+{
+ //The last 2 arguments are ignored if use_align is FALSE.
+ return gtk_text_view_scroll_to_iter(gobj(), (iter).gobj(), within_margin, FALSE, 0.0, 0.0);
+}
+
+bool TextView::scroll_to(TextBuffer::iterator& iter, double within_margin, double xalign, double yalign)
+{
+ return gtk_text_view_scroll_to_iter(gobj(), (iter).gobj(), within_margin, TRUE /* use_align */, xalign, yalign);
+}
+
+void TextView::scroll_to(const Glib::RefPtr<TextBuffer::Mark>& mark, double within_margin)
+{
+ //The last 2 arguments are ignored if use_align is FALSE.
+ gtk_text_view_scroll_to_mark(gobj(), Glib::unwrap(mark), within_margin, FALSE, 0.0, 0.0);
+}
+
+void TextView::scroll_to(const Glib::RefPtr<TextBuffer::Mark>& mark, double within_margin, double xalign, double yalign)
+{
+ gtk_text_view_scroll_to_mark(gobj(), Glib::unwrap(mark), within_margin, TRUE /* use_align */, xalign, yalign);
+}
+
+_DEPRECATE_IFDEF_START
+bool TextView::scroll_to_iter(TextBuffer::iterator& iter, double within_margin)
+{
+ return scroll_to(iter, within_margin);
+}
+
+void TextView::scroll_to_mark(const Glib::RefPtr<TextBuffer::Mark>& mark, double within_margin)
+{
+ scroll_to(mark, within_margin);
+}
+
+void TextView::scroll_mark_onscreen(const Glib::RefPtr<TextBuffer::Mark>& mark)
+{
+ scroll_to(mark);
+}
+_DEPRECATE_IFDEF_END
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/textview.hg b/libs/gtkmm2/gtk/src/textview.hg
new file mode 100644
index 0000000000..719df21bb2
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/textview.hg
@@ -0,0 +1,235 @@
+/* $Id: textview.hg,v 1.10 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* Copyright(C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or(at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+_CONFIGINCLUDE(gtkmmconfig.h)
+
+#include <gtkmm/container.h>
+#include <gtkmm/textbuffer.h>
+#include <gtkmm/textmark.h>
+#include <gtkmm/menu.h>
+#include <gtkmm/adjustment.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/container_p.h)
+
+
+namespace Gtk
+{
+
+_CC_INCLUDE(gtk/gtktypebuiltins.h)
+_WRAP_ENUM(TextWindowType, GtkTextWindowType)
+
+
+/** @defgroup TextView TextView Classes
+ * These classes are used with the Gtk::TextView widget.
+ */
+
+/** Multi-line text editing widget. It displays a Gtk::TextBuffer.
+ *
+ * @ingroup Widgets
+ * @ingroup Containers
+ * @ingroup TextView
+ */
+class TextView : public Container
+{
+ _CLASS_GTKOBJECT(TextView, GtkTextView, GTK_TEXT_VIEW, Gtk::Container, GtkContainer)
+public:
+ _CTOR_DEFAULT()
+ explicit TextView(const Glib::RefPtr<TextBuffer>& buffer);
+
+ _WRAP_METHOD(void set_buffer(const Glib::RefPtr<TextBuffer>& buffer), gtk_text_view_set_buffer)
+ _WRAP_METHOD(Glib::RefPtr<TextBuffer> get_buffer(), gtk_text_view_get_buffer, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const TextBuffer> get_buffer() const, gtk_text_view_get_buffer, refreturn, constversion)
+
+ _DEPRECATE_IFDEF_START
+ /** @deprecated Use scroll_to().
+ */
+ bool scroll_to_iter(TextBuffer::iterator& iter, double within_margin);
+
+ /** @deprecated Use scroll_to().
+ */
+ void scroll_to_mark(const Glib::RefPtr<TextBuffer::Mark>& mark, double within_margin);
+
+ /** @deprecated Use scroll_to()
+ */
+ void scroll_mark_onscreen(const Glib::RefPtr<TextBuffer::Mark>& mark);
+ _DEPRECATE_IFDEF_END
+
+ /** Scrolls the TextView so that @a iter is on the screen, by scrolling the minimal distance to get the mark onscreen,
+ * possibly not scrolling at all. The effective screen for purposes of this function is reduced by a margin of size
+ * @a within_margin.
+ * @note This function uses the currently-computed height of the lines in the text buffer. Note that line heights are computed
+ * in an idle handler; so this function may not have the desired effect if it's called before the height computations. To avoid
+ * oddness, consider using gtk_text_view_scroll_to_mark() which saves a point to be scrolled to after line validation.
+ *
+ * @param iter An iterator pointing to the position that should be made visible by scrolling.
+ * @param within_margin margin as a [0.0,0.5] fraction of screen size.
+ * @result true if scrolling occurred.
+ */
+ bool scroll_to(TextBuffer::iterator& iter, double within_margin = 0);
+
+ /** Scrolls the TextView so that @a iter is on the screen, in the position indicated by xalign and yalign,
+ * possibly not scrolling at all. The effective screen for purposes of this function is reduced by a margin of size
+ * @a within_margin.
+ * @note This function uses the currently-computed height of the lines in the text buffer. Note that line heights are computed
+ * in an idle handler; so this function may not have the desired effect if it's called before the height computations. To avoid
+ * oddness, consider using gtk_text_view_scroll_to_mark() which saves a point to be scrolled to after line validation.
+ *
+ * @param iter An iterator pointing to the position that should be made visible by scrolling.
+ * @param within_margin margin as a [0.0,0.5] fraction of screen size.
+ * @param xalign horizontal alignment of mark within visible area. An alignment of 0.0 indicates left, 1.0 indicates right, 0.5 means center.
+ * @param yalign vertical alignment of mark within visible area. An alignment of 0.0 indicates top, 1.0 indicates bottom, 0.5 means center.
+ * @result true if scrolling occurred.
+ */
+ bool scroll_to(TextBuffer::iterator& iter, double within_margin, double xalign, double yalign);
+ _IGNORE(gtk_text_view_scroll_to_iter)
+
+ /** Scrolls text_view so that @a mark is on the screen, by scrolling the minimal distance to get the mark onscreen,
+ * possibly not scrolling at all. The effective screen for purposes of this function is reduced by a margin of size
+ * @a within_margin.
+ *
+ * @param mark An mark pointing to the position that should be made visible by scrolling.
+ * @param within_margin margin as a [0.0,0.5] fraction of screen size.
+ */
+ void scroll_to(const Glib::RefPtr<TextBuffer::Mark>& mark, double within_margin = 0);
+
+ /** Scrolls the TextView so that @a iter is on the screen, in the position indicated by xalign and yalign,
+ * possibly not scrolling at all. The effective screen for purposes of this function is reduced by a margin of size
+ * @a within_margin.
+ *
+ * @param mark An mark pointing to the position that should be made visible by scrolling.
+ * @param within_margin margin as a [0.0,0.5] fraction of screen size.
+ * @param xalign horizontal alignment of mark within visible area. An alignment of 0.0 indicates left, 1.0 indicates right, 0.5 means center.
+ * @param yalign vertical alignment of mark within visible area. An alignment of 0.0 indicates top, 1.0 indicates bottom, 0.5 means center.
+ */
+ void scroll_to(const Glib::RefPtr<TextBuffer::Mark>& mark, double within_margin, double xalign, double yalign);
+ _IGNORE(gtk_text_view_scroll_to_mark)
+
+ _IGNORE(gtk_text_view_scroll_mark_onscreen) //It does not do anything more than the default scroll_to(mark).
+
+ _WRAP_METHOD(bool move_mark_onscreen(const Glib::RefPtr<TextBuffer::Mark>& mark), gtk_text_view_move_mark_onscreen)
+ _WRAP_METHOD(bool place_cursor_onscreen(), gtk_text_view_place_cursor_onscreen)
+
+ _WRAP_METHOD(void get_visible_rect(Gdk::Rectangle& visible_rect) const, gtk_text_view_get_visible_rect)
+ _WRAP_METHOD(void set_cursor_visible(bool setting = true), gtk_text_view_set_cursor_visible)
+ _WRAP_METHOD(bool get_cursor_visible() const, gtk_text_view_get_cursor_visible)
+
+ _WRAP_METHOD(void get_iter_location(const TextBuffer::iterator& iter, Gdk::Rectangle& location) const, gtk_text_view_get_iter_location)
+ _WRAP_METHOD(void get_iter_at_location(TextBuffer::iterator& iter, int x, int y) const, gtk_text_view_get_iter_at_location)
+ _WRAP_METHOD(void get_iter_at_position(TextBuffer::iterator& iter, int& trailing, int x, int y) const, gtk_text_view_get_iter_at_position)
+ _WRAP_METHOD(void get_line_yrange(const TextBuffer::iterator& iter, int& y, int& height) const, gtk_text_view_get_line_yrange)
+
+ _WRAP_METHOD(void get_line_at_y(TextBuffer::iterator& target_iter, int y, int& line_top) const, gtk_text_view_get_line_at_y)
+
+ _WRAP_METHOD(void buffer_to_window_coords(TextWindowType win,
+ int buffer_x, int buffer_y,
+ int& window_x, int& window_y) const, gtk_text_view_buffer_to_window_coords)
+ _WRAP_METHOD(void window_to_buffer_coords(TextWindowType win,
+ int window_x, int window_y,
+ int& buffer_x, int& buffer_y) const, gtk_text_view_window_to_buffer_coords)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Window> get_window(TextWindowType win), gtk_text_view_get_window, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Gdk::Window> get_window(TextWindowType win) const, gtk_text_view_get_window, refreturn, constversion)
+ _WRAP_METHOD(TextWindowType get_window_type(const Glib::RefPtr<Gdk::Window>& window), gtk_text_view_get_window_type)
+
+ _WRAP_METHOD(void set_border_window_size(TextWindowType type, int size), gtk_text_view_set_border_window_size)
+ _WRAP_METHOD(int get_border_window_size(TextWindowType type) const, gtk_text_view_get_border_window_size)
+
+ _WRAP_METHOD(bool forward_display_line(TextBuffer::iterator& iter), gtk_text_view_forward_display_line)
+ _WRAP_METHOD(bool backward_display_line(TextBuffer::iterator& iter), gtk_text_view_backward_display_line)
+ _WRAP_METHOD(bool forward_display_line_end(TextBuffer::iterator& iter), gtk_text_view_forward_display_line_end)
+ _WRAP_METHOD(bool backward_display_line_start(TextBuffer::iterator& iter), gtk_text_view_backward_display_line_start)
+ _WRAP_METHOD(bool starts_display_line(const TextBuffer::iterator& iter), gtk_text_view_starts_display_line)
+ _WRAP_METHOD(bool move_visually(TextBuffer::iterator& iter, int count), gtk_text_view_move_visually)
+
+ _WRAP_METHOD(void add_child_at_anchor(Widget& child, const Glib::RefPtr<TextBuffer::ChildAnchor>& anchor), gtk_text_view_add_child_at_anchor)
+
+ _WRAP_METHOD(void add_child_in_window(Widget& child, TextWindowType which_window,
+ int xpos, int ypos), gtk_text_view_add_child_in_window)
+
+ _WRAP_METHOD(void move_child(Widget& child, int xpos,int ypos), gtk_text_view_move_child)
+
+ _WRAP_METHOD(void set_wrap_mode(WrapMode wrap_mode), gtk_text_view_set_wrap_mode)
+ _WRAP_METHOD(WrapMode get_wrap_mode() const, gtk_text_view_get_wrap_mode)
+ _WRAP_METHOD(void set_editable(bool setting = true), gtk_text_view_set_editable)
+ _WRAP_METHOD(bool get_editable() const, gtk_text_view_get_editable)
+ _WRAP_METHOD(void set_pixels_above_lines(int pixels_above_lines), gtk_text_view_set_pixels_above_lines)
+ _WRAP_METHOD(int get_pixels_above_lines() const, gtk_text_view_get_pixels_above_lines)
+ _WRAP_METHOD(void set_pixels_below_lines(int pixels_below_lines), gtk_text_view_set_pixels_below_lines)
+ _WRAP_METHOD(int get_pixels_below_lines() const, gtk_text_view_get_pixels_below_lines)
+ _WRAP_METHOD(void set_pixels_inside_wrap(int pixels_inside_wrap), gtk_text_view_set_pixels_inside_wrap)
+ _WRAP_METHOD(int get_pixels_inside_wrap() const, gtk_text_view_get_pixels_inside_wrap)
+ _WRAP_METHOD(void set_justification(Justification justification), gtk_text_view_set_justification)
+ _WRAP_METHOD(Justification get_justification() const, gtk_text_view_get_justification)
+ _WRAP_METHOD(void set_left_margin(int left_margin), gtk_text_view_set_left_margin)
+ _WRAP_METHOD(int get_left_margin() const, gtk_text_view_get_left_margin)
+ _WRAP_METHOD(void set_right_margin(int right_margin), gtk_text_view_set_right_margin)
+ _WRAP_METHOD(int get_right_margin() const, gtk_text_view_get_right_margin)
+ _WRAP_METHOD(void set_indent(int indent), gtk_text_view_set_indent)
+ _WRAP_METHOD(int get_indent() const, gtk_text_view_get_indent)
+ _WRAP_METHOD(void set_tabs(Pango::TabArray& tabs), gtk_text_view_set_tabs)
+ _WRAP_METHOD(Pango::TabArray get_tabs() const, gtk_text_view_get_tabs)
+ _WRAP_METHOD(TextAttributes get_default_attributes() const, gtk_text_view_get_default_attributes)
+
+ _WRAP_METHOD(void set_overwrite(bool overwrite = true), gtk_text_view_set_overwrite)
+ _WRAP_METHOD(bool get_overwrite() const, gtk_text_view_get_overwrite)
+
+ _WRAP_METHOD(void set_accepts_tab(bool accepts_tab = true), gtk_text_view_set_accepts_tab)
+ _WRAP_METHOD(bool get_accepts_tab() const, gtk_text_view_get_accepts_tab)
+
+ _WRAP_SIGNAL(void set_scroll_adjustments(Adjustment* hadjustment, Adjustment* vadjustment), "set_scroll_adjustments")
+ _WRAP_SIGNAL(void populate_popup(Menu* menu), "populate_popup")
+
+ _WRAP_SIGNAL(void set_anchor(), "set_anchor")
+ _WRAP_SIGNAL(void insert_at_cursor(const Glib::ustring& str), "insert_at_cursor")
+
+ //Keybinding signals:
+ _IGNORE_SIGNAL("move_cursor")
+ _IGNORE_SIGNAL("page_horizontally")
+ _IGNORE_SIGNAL("delete_from_cursor")
+ _IGNORE_SIGNAL("cut_clipboard")
+ _IGNORE_SIGNAL("copy_clipboard")
+ _IGNORE_SIGNAL("paste_clipboard")
+ _IGNORE_SIGNAL("toggle_overwrite")
+ _IGNORE_SIGNAL("move_focus")
+ _IGNORE_SIGNAL("move_viewport")
+ _IGNORE_SIGNAL("select_all")
+ _IGNORE_SIGNAL("backspace")
+ _IGNORE_SIGNAL("toggle_cursor_visible")
+
+ _WRAP_PROPERTY("pixels-above-lines", int)
+ _WRAP_PROPERTY("pixels-below-lines", int)
+ _WRAP_PROPERTY("pixels-inside-wrap", int)
+ _WRAP_PROPERTY("editable", bool)
+ _WRAP_PROPERTY("wrap-mode", WrapMode)
+ _WRAP_PROPERTY("justification", Justification)
+ _WRAP_PROPERTY("left-margin", int)
+ _WRAP_PROPERTY("right-margin", int)
+ _WRAP_PROPERTY("indent", int)
+ _WRAP_PROPERTY("tabs", Pango::TabArray)
+ _WRAP_PROPERTY("cursor-visible", bool)
+ _WRAP_PROPERTY("buffer", Glib::RefPtr<TextBuffer>)
+ _WRAP_PROPERTY("overwrite", bool)
+ _WRAP_PROPERTY("accepts-tab", bool)
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/toggleaction.ccg b/libs/gtkmm2/gtk/src/toggleaction.ccg
new file mode 100644
index 0000000000..ddcfa25005
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/toggleaction.ccg
@@ -0,0 +1,46 @@
+// -*- c++ -*-
+/* $Id: toggleaction.ccg,v 1.5 2004/03/27 00:30:38 murrayc Exp $ */
+
+/* Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtktoggleaction.h>
+
+
+namespace Gtk
+{
+
+ToggleAction::ToggleAction(const Glib::ustring& name, const Gtk::StockID& stock_id, const Glib::ustring& label, const Glib::ustring& tooltip, bool is_active)
+:
+ _CONSTRUCT("name", name.c_str(), "stock_id", stock_id.get_c_str(), "label", (label.empty() ? 0 : label.c_str()), "tooltip", (tooltip.empty() ? 0 : tooltip.c_str()))
+{
+ set_active(is_active);
+}
+
+Glib::RefPtr<ToggleAction> ToggleAction::create(const Glib::ustring& name, const Glib::ustring& label, const Glib::ustring& tooltip, bool is_active)
+{
+ return Glib::RefPtr<ToggleAction>( new ToggleAction(name, Gtk::StockID(), label, tooltip, is_active) );
+}
+
+Glib::RefPtr<ToggleAction> ToggleAction::create(const Glib::ustring& name, const Gtk::StockID& stock_id, const Glib::ustring& label, const Glib::ustring& tooltip, bool is_active)
+{
+ return Glib::RefPtr<ToggleAction>( new ToggleAction(name, stock_id, label, tooltip, is_active) );
+}
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/toggleaction.hg b/libs/gtkmm2/gtk/src/toggleaction.hg
new file mode 100644
index 0000000000..f8b6840d04
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/toggleaction.hg
@@ -0,0 +1,63 @@
+/* $Id: toggleaction.hg,v 1.5 2004/07/01 08:55:45 murrayc Exp $ */
+
+/* Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/action.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/action_p.h)
+
+
+namespace Gtk
+{
+
+/** An action which can be toggled between two states.
+ *
+ * A Gtk::ToggleAction corresponds roughly to a Gtk::CheckMenuItem.
+ * It has an "active" state specifying whether the action has been checked or not.
+ *
+ */
+class ToggleAction : public Gtk::Action
+{
+ _CLASS_GOBJECT(ToggleAction, GtkToggleAction, GTK_TOGGLE_ACTION, Gtk::Action, GtkAction)
+
+protected:
+ _CTOR_DEFAULT
+ explicit ToggleAction(const Glib::ustring& name, const StockID& stock_id = StockID(), const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring(), bool is_active = false);
+
+public:
+ //Note that gtk_toggle_action_new() does not allow name to be NULL, which suggests that we should not have a default constructor,
+ //but it's OK to set the name later:
+ _WRAP_CREATE()
+
+ static Glib::RefPtr<ToggleAction> create(const Glib::ustring& name, const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring(), bool is_active = false);
+ static Glib::RefPtr<ToggleAction> create(const Glib::ustring& name, const Gtk::StockID& stock_id, const Glib::ustring& label = Glib::ustring(), const Glib::ustring& tooltip = Glib::ustring(), bool is_active = false);
+
+ _WRAP_METHOD(void toggled(), gtk_toggle_action_toggled)
+ _WRAP_METHOD(void set_active(bool is_active = true), gtk_toggle_action_set_active)
+ _WRAP_METHOD(bool get_active() const, gtk_toggle_action_get_active)
+ _WRAP_METHOD(void set_draw_as_radio(bool draw_as_radio = true), gtk_toggle_action_set_draw_as_radio)
+ _WRAP_METHOD(bool get_draw_as_radio() const, gtk_toggle_action_get_draw_as_radio)
+
+ _WRAP_SIGNAL(void toggled(), "toggled")
+
+ _WRAP_PROPERTY("draw_as_radio", bool)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/togglebutton.ccg b/libs/gtkmm2/gtk/src/togglebutton.ccg
new file mode 100644
index 0000000000..73011eabbe
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/togglebutton.ccg
@@ -0,0 +1,39 @@
+// -*- c++ -*-
+/* $Id: togglebutton.ccg,v 1.2 2006/07/16 19:18:49 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtktogglebutton.h>
+
+namespace Gtk
+{
+
+ToggleButton::ToggleButton(const Glib::ustring& label, bool mnemonic)
+:
+ _CONSTRUCT("label", label.c_str(), "use_underline", gboolean(mnemonic))
+{}
+
+ToggleButton::ToggleButton(const StockID& stock_id)
+:
+ _CONSTRUCT("use_stock", 1, "label", stock_id.get_c_str())
+{}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/togglebutton.hg b/libs/gtkmm2/gtk/src/togglebutton.hg
new file mode 100644
index 0000000000..8d75bda968
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/togglebutton.hg
@@ -0,0 +1,83 @@
+/* $Id: togglebutton.hg,v 1.3 2006/07/16 19:18:49 murrayc Exp $ */
+
+/* togglebutton.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/button.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/button_p.h)
+
+namespace Gtk
+{
+
+/** A Gtk::ToggleButton will remain 'pressed-in' when clicked. Clicking again will cause the toggle button to return to it's normal state.
+ * The state of a Gtk::ToggleButton can be set specifically using set_active(), and retrieved using get_active().
+ * To simply switch the state of a toggle button, use toggled().
+ *
+ * @ingroup Widgets
+ */
+class ToggleButton : public Button
+{
+ _CLASS_GTKOBJECT(ToggleButton,GtkToggleButton,GTK_TOGGLE_BUTTON,Gtk::Button,GtkButton)
+public:
+
+ /** Create an empty toggle button.
+ * With an empty button, you can Gtk::Button::add() a widget such as a
+ * Gtk::Pixmap or Gtk::Box.
+ *
+ * If you just wish to add a Gtk::Label, you may want to use the
+ * Gtk::ToggleButton(const Glib::ustring &label) constructor directly
+ * instead.
+ */
+ _CTOR_DEFAULT
+
+ /** Create a toggle button with a label.
+ * You won't be able
+ * to add a widget to this button since it already contains a Gtk::Label
+ */
+ explicit ToggleButton(const Glib::ustring& label, bool mnemonic = false);
+
+ /** Creates a toggle button containing the image and text from a stock item.
+ * Stock ids have identifiers like Gtk::Stock::OK and Gtk::Stock::APPLY.
+ * @param stock_id The stock item.
+ */
+ explicit ToggleButton(const StockID& stock_id);
+
+ _WRAP_METHOD(void set_mode(bool draw_indicator = true),gtk_toggle_button_set_mode)
+ _WRAP_METHOD(bool get_mode() const,gtk_toggle_button_get_mode)
+
+ _WRAP_METHOD(void set_active(bool is_active = true),gtk_toggle_button_set_active)
+ _WRAP_METHOD(bool get_active() const,gtk_toggle_button_get_active)
+
+ _WRAP_METHOD(void set_inconsistent(bool setting = true), gtk_toggle_button_set_inconsistent)
+ _WRAP_METHOD(bool get_inconsistent() const, gtk_toggle_button_get_inconsistent)
+
+ _WRAP_METHOD(void toggled(), gtk_toggle_button_toggled)
+
+ /** Emitted whenever the toggle tool button changes state.
+ */
+ _WRAP_SIGNAL(void toggled(), "toggled")
+
+ _WRAP_PROPERTY("active", bool)
+ _WRAP_PROPERTY("inconsistent", bool)
+ _WRAP_PROPERTY("draw-indicator", bool)
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/toggletoolbutton.ccg b/libs/gtkmm2/gtk/src/toggletoolbutton.ccg
new file mode 100644
index 0000000000..51cad50b3b
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/toggletoolbutton.ccg
@@ -0,0 +1,43 @@
+// -*- c++ -*-
+/* $Id: toggletoolbutton.ccg,v 1.2 2003/11/23 17:08:07 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtktoggletoolbutton.h>
+
+namespace Gtk
+{
+
+ToggleToolButton::ToggleToolButton(const Glib::ustring& label)
+:
+ Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ Gtk::ToolButton(Glib::ConstructParams(toggletoolbutton_class_.init(), "label", label.c_str(), (char*) 0))
+{
+}
+
+ToggleToolButton::ToggleToolButton(Widget& icon_widget, const Glib::ustring& label)
+:
+ Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ Gtk::ToolButton(Glib::ConstructParams(toggletoolbutton_class_.init(), "icon_widget", (icon_widget).gobj(), "label", label.c_str(), (char*) 0))
+{
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/toggletoolbutton.hg b/libs/gtkmm2/gtk/src/toggletoolbutton.hg
new file mode 100644
index 0000000000..7ecbdf3f6e
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/toggletoolbutton.hg
@@ -0,0 +1,76 @@
+/* $Id: toggletoolbutton.hg,v 1.5 2004/03/07 14:35:47 murrayc Exp $ */
+
+/* box.h
+ *
+ * Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/toolbutton.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/toolbutton_p.h)
+
+
+namespace Gtk
+{
+
+/** A Gtk::ToolItem containing a toggle button.
+ *
+ * A ToggleToolButton is a Gtk::ToolItem that contains a toggle button.
+ * @ingroup Widgets
+ */
+class ToggleToolButton : public ToolButton
+{
+ _CLASS_GTKOBJECT(ToggleToolButton, GtkToggleToolButton, GTK_TOGGLE_TOOL_BUTTON, Gtk::ToolButton, GtkToolButton)
+public:
+
+ /** Creates a new ToggleToolButton.
+ */
+ _CTOR_DEFAULT()
+
+ /** Creates a new ToggleToolButton from a StockID.
+ *
+ * The ToggleToolButton will be created according to the @a stock_id properties.
+ *
+ * @param stock_id The StockID which determines the look of the ToggleToolButton.
+ */
+ _WRAP_CTOR(ToggleToolButton(const Gtk::StockID& stock_id), gtk_toggle_tool_button_new_from_stock)
+
+ /** Creates a new ToggleToolButton with a label.
+ *
+ * The ToggleToolButton will have the label @a label.
+ *
+ * @param label The string used to display the label for this ToggleToolButton.
+ */
+ explicit ToggleToolButton(const Glib::ustring& label);
+
+ /** Creates a new ToggleToolButton with an image.
+ *
+ * The ToggleToolButton will have the label @a label and an image widget @a icon_widget.
+ *
+ * @param icon_widget The widget placed as the ToggleToolButton's icon.
+ * @param label The string used to display the label for this ToggleToolButton.
+ */
+ explicit ToggleToolButton(Widget& icon_widget, const Glib::ustring& label = Glib::ustring());
+
+ _WRAP_METHOD(void set_active(bool is_active = true), gtk_toggle_tool_button_set_active)
+ _WRAP_METHOD(bool get_active() const, gtk_toggle_tool_button_get_active)
+
+ _WRAP_SIGNAL(void toggled(), toggled)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/toolbar.ccg b/libs/gtkmm2/gtk/src/toolbar.ccg
new file mode 100644
index 0000000000..0fa2e910df
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/toolbar.ccg
@@ -0,0 +1,104 @@
+// -*- c++ -*-
+/* $Id: toolbar.ccg,v 1.6 2004/03/03 18:48:04 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+//Define this to make sure that we don't use any of the deprecated GtkToolbar API.
+//Normally we just deprecate it in gtkmm too,
+//but the GtkToolbar compatibility system is particularly unpleasant, so we just removed it in gtkmm 2.4. murrayc.
+//In future, this GTK_DISABLE_DEPRECATED might be inappropriate because it might cover extra GTK+ API. Just remove it then.
+
+#define GTK_DISABLE_DEPRECATED
+
+#include <glib.h>
+#include <gtkmm/button.h>
+#include <gtkmm/togglebutton.h>
+#include <gtkmm/radiobutton.h>
+#include <gtkmm/tooltips.h>
+//#include <gtkmm/image.h>
+#include <gtkmm/label.h>
+#include <gtk/gtklabel.h>
+#include <gtk/gtktoolbar.h>
+
+namespace Gtk
+{
+
+void Toolbar::insert(ToolButton& item, int pos, const sigc::slot<void>& clicked_slot)
+{
+ item.signal_clicked().connect(clicked_slot);
+ gtk_toolbar_insert(gobj(), (GtkToolItem*)((item).gobj()), pos);
+}
+
+void Toolbar::insert(ToggleToolButton& item, int pos, const sigc::slot<void>& toggled_slot)
+{
+ item.signal_toggled().connect(toggled_slot);
+ gtk_toolbar_insert(gobj(), (GtkToolItem*)((item).gobj()), pos);
+}
+
+void Toolbar::append(ToolItem& item)
+{
+ gtk_toolbar_insert(gobj(), (item).gobj(), -1 /* See GTK+ docs */);
+}
+
+void Toolbar::append(ToolButton& item, const sigc::slot<void>& clicked_slot)
+{
+ item.signal_clicked().connect(clicked_slot);
+ gtk_toolbar_insert(gobj(), (GtkToolItem*)((item).gobj()), -1 /* See GTK+ docs */);
+}
+
+void Toolbar::append(ToggleToolButton& item, const sigc::slot<void>& toggled_slot)
+{
+ item.signal_toggled().connect(toggled_slot);
+ gtk_toolbar_insert(gobj(), (GtkToolItem*)((item).gobj()), -1 /* See GTK+ docs */);
+}
+
+void Toolbar::prepend(ToolItem& item)
+{
+ gtk_toolbar_insert(gobj(), (item).gobj(), 0 /* See GTK+ docs */);
+}
+
+void Toolbar::prepend(ToolButton& item, const sigc::slot<void>& clicked_slot)
+{
+ item.signal_clicked().connect(clicked_slot);
+ gtk_toolbar_insert(gobj(), (GtkToolItem*)((item).gobj()), 0 /* See GTK+ docs */);
+}
+
+void Toolbar::prepend(ToggleToolButton& item, const sigc::slot<void>& toggled_slot)
+{
+ item.signal_toggled().connect(toggled_slot);
+ gtk_toolbar_insert(gobj(), (GtkToolItem*)((item).gobj()), 0 /* See GTK+ docs */);
+}
+
+void Toolbar::unset_drop_highlight_item()
+{
+ //See GTK+ docs.
+ gtk_toolbar_set_drop_highlight_item(gobj(), 0, 0);
+}
+
+#ifndef GTKMM_DISABLE_DEPRECATED
+Tooltips* Toolbar::get_tooltips_object() const
+{
+ //Note that the _tooltips field is deprecated and broken since GTK+ 2.12:
+ return Glib::wrap((GtkTooltips*)gobj()->_tooltips);
+}
+#endif //GTKMM_DISABLE_DEPRECATED
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/toolbar.hg b/libs/gtkmm2/gtk/src/toolbar.hg
new file mode 100644
index 0000000000..0347e7f6bc
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/toolbar.hg
@@ -0,0 +1,156 @@
+/* $Id: toolbar.hg,v 1.19 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+_CONFIGINCLUDE(gtkmmconfig.h)
+
+#include <gtkmm/toolitem.h>
+#include <gtkmm/toolbutton.h>
+#include <gtkmm/toggletoolbutton.h>
+#include <glibmm/helperlist.h>
+#include <gtkmm/container.h>
+#include <gtkmm/stockid.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/container_p.h)
+
+
+namespace Gtk
+{
+
+/** Bars of buttons and other widgets.
+ * @ingroup Widgets
+ * @ingroup Containers
+ * @ingroup Toolbars
+ */
+class Toolbar : public Container
+{
+ _CLASS_GTKOBJECT(Toolbar,GtkToolbar,GTK_TOOLBAR,Gtk::Container,GtkContainer)
+public:
+ _CTOR_DEFAULT()
+
+ _WRAP_METHOD(void insert(ToolItem& item, int pos), gtk_toolbar_insert)
+ void insert(ToolButton& item, int pos, const sigc::slot<void>& clicked_slot);
+ void insert(ToggleToolButton& item, int pos, const sigc::slot<void>& toggled_slot);
+
+ void append(ToolItem& item);
+ void append(ToolButton& item, const sigc::slot<void>& clicked_slot);
+ void append(ToggleToolButton& item, const sigc::slot<void>& toggled_slot);
+
+ void prepend(ToolItem& item);
+ void prepend(ToolButton& item, const sigc::slot<void>& clicked_slot);
+ void prepend(ToggleToolButton& item, const sigc::slot<void>& toggled_slot);
+
+ _WRAP_METHOD(int get_item_index(const ToolItem& item) const, gtk_toolbar_get_item_index)
+ _WRAP_METHOD(int get_n_items() const, gtk_toolbar_get_n_items)
+ _WRAP_METHOD(ToolItem* get_nth_item(int n), gtk_toolbar_get_nth_item)
+ _WRAP_METHOD(const ToolItem* get_nth_item(int n) const, gtk_toolbar_get_nth_item, constversion)
+ _WRAP_METHOD(bool get_show_arrow() const, gtk_toolbar_get_show_arrow)
+ _WRAP_METHOD(void set_show_arrow(bool show_arrow = true), gtk_toolbar_set_show_arrow)
+
+
+/* Style methods */
+ _WRAP_METHOD(void set_orientation(Orientation orientation), gtk_toolbar_set_orientation)
+ _WRAP_METHOD(Orientation get_orientation() const, gtk_toolbar_get_orientation)
+
+ _WRAP_METHOD(void set_toolbar_style(ToolbarStyle style), gtk_toolbar_set_style)
+ _WRAP_METHOD(ToolbarStyle get_toolbar_style() const, gtk_toolbar_get_style)
+
+ _WRAP_METHOD(void set_tooltips(bool enable = true), gtk_toolbar_set_tooltips)
+ _WRAP_METHOD(bool get_tooltips() const, gtk_toolbar_get_tooltips)
+
+ _WRAP_METHOD(void unset_toolbar_style(), gtk_toolbar_unset_style)
+
+ //Note that gtk_toolbar_set_icon_size() and gtk_toolbar_unset_icon_size() were
+ //deprecated sometime before GTK+ 2.4, but were undeprecated in GTK+ 2.12.
+ _WRAP_METHOD(void set_icon_size(IconSize icon_size), gtk_toolbar_set_icon_size)
+ _WRAP_METHOD(void unset_icon_size(), gtk_toolbar_unset_icon_size)
+
+ _WRAP_METHOD(IconSize get_icon_size() const, gtk_toolbar_get_icon_size)
+
+ _WRAP_METHOD(ReliefStyle get_relief_style() const, gtk_toolbar_get_relief_style)
+ _WRAP_METHOD(int get_drop_index(int x, int y) const, gtk_toolbar_get_drop_index)
+ _WRAP_METHOD(void set_drop_highlight_item(ToolItem& tool_item, int index), gtk_toolbar_set_drop_highlight_item)
+ void unset_drop_highlight_item();
+
+ /** Emitted when the orientation of the toolbar changes.
+ *
+ * @param orientation The new Orientation of the toolbar.
+ */
+ _WRAP_SIGNAL(void orientation_changed(Orientation orientation), "orientation_changed")
+
+ /** Emitted when the style of the toolbar changes.
+ *
+ * @param @style The new ToolbarStyle of the toolbar.
+ */
+ _WRAP_SIGNAL(void toolbar_style_changed(ToolbarStyle style), "style_changed")
+
+ /** Emitted when the user right-clicks the toolbar or uses the
+ * keybinding to display a popup menu.
+ *
+ * Application developers should handle this signal if they want
+ * to display a context menu on the toolbar. The context-menu should
+ * appear at the coordinates given by @a x and @a y. The mouse button
+ * number is given by the @a button parameter. If the menu was popped
+ * up using the keybaord, @a button is -1.
+ *
+ * @param x The x coordinate of the point where the menu should appear.
+ * @param y The y coordinate of the point where the menu should appear.
+ * @param button The mouse button the user pressed, or -1
+ * @resultt true if the signal was handled, false if not.
+ */
+ _WRAP_SIGNAL(bool popup_context_menu(int x, int y, int button_number), "popup_context_menu")
+
+ _IGNORE_SIGNAL("move_focus")
+ _IGNORE_SIGNAL("focus_home_or_end")
+
+ #ifndef GTKMM_DISABLE_DEPRECATED
+ //This was called get_tooltips_object() to avoid a clash with get_tooltips(), which just says whether they are enabled.
+ ///@deprecated Use the Gtk::Tooltip API instead.
+ Tooltips* get_tooltips_object() const;
+ #endif //GTKMM_DISABLE_DEPRECATED
+
+ //This is probably the same as Container::children().size(), which is deprecated anyway?
+ //_MEMBER_GET(num_children, num_children, int, gint)
+
+ //There is already set/get_orientation():
+ //_MEMBER_GET(orientation, orientation, GtkOrientation, Orientation)
+
+ //There is already set/get_toolbar_style():
+ //_MEMBER_GET(style, style, GtkToolbarStyle, ToolbarStyle)
+
+ //There is already set/get_icon_size():
+ //_MEMBER_GET(icon_size, icon_size, int, gint)
+
+ //Ignore deprecated GtkToolbarAPI:
+ //Normally we just deprecate it in gtkmm too,
+ //but the GtkToolbar compatibility system is particularly unpleasant, so we just removed it in gtkmm 2.4. murrayc.
+ _IGNORE(gtk_toolbar_append_item, gtk_toolbar_prepend_item, gtk_toolbar_insert_item, gtk_toolbar_insert_stock
+ gtk_toolbar_append_space, gtk_toolbar_prepend_space, gtk_toolbar_insert_space, gtk_toolbar_remove_space
+ gtk_toolbar_append_element, gtk_toolbar_prepend_element, gtk_toolbar_insert_element,
+ gtk_toolbar_append_widget, gtk_toolbar_prepend_widget, gtk_toolbar_insert_widget)
+
+ _WRAP_PROPERTY("orientation", Orientation)
+ _WRAP_PROPERTY("toolbar_style", ToolbarStyle)
+ _WRAP_PROPERTY("show_arrow", bool)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/toolbutton.ccg b/libs/gtkmm2/gtk/src/toolbutton.ccg
new file mode 100644
index 0000000000..a606fbb2fb
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/toolbutton.ccg
@@ -0,0 +1,36 @@
+// -*- c++ -*-
+/* $Id: toolbutton.ccg,v 1.2 2003/11/23 17:08:07 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtktoolbutton.h>
+
+namespace Gtk
+{
+
+ToolButton::ToolButton(const Glib::ustring& label)
+:
+ Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ Gtk::ToolItem(Glib::ConstructParams(toolbutton_class_.init(), "label", label.c_str(), (char*) 0))
+{
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/toolbutton.hg b/libs/gtkmm2/gtk/src/toolbutton.hg
new file mode 100644
index 0000000000..244aece777
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/toolbutton.hg
@@ -0,0 +1,98 @@
+/* $Id: toolbutton.hg,v 1.10 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* box.h
+ *
+ * Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/toolitem.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/toolitem_p.h)
+
+
+namespace Gtk
+{
+
+/** A Gtk::ToolItem subclass that displays buttons.
+ *
+ * A ToolButton is are Gtk::ToolItem containing a button.
+ * @ingroup Widgets
+ */
+class ToolButton : public ToolItem
+{
+ _CLASS_GTKOBJECT(ToolButton, GtkToolButton, GTK_TOOL_BUTTON, Gtk::ToolItem, GtkToolItem)
+public:
+
+ /** Creates a new ToolButton.
+ */
+ _CTOR_DEFAULT()
+
+ /** Creates a new ToolButton from a StockID.
+ *
+ * The ToolButton will be created according to the @a stock_id properties.
+ *
+ * @param stock_id The StockID which determines the look of the ToolButton.
+ */
+ _WRAP_CTOR(ToolButton(const Gtk::StockID& stock_id), gtk_tool_button_new_from_stock)
+
+ /** Creates a new ToolButton with a label.
+ *
+ * The ToolButton will have the label @a label.
+ *
+ * @param label The string used to display the label for this ToolButton.
+ */
+ explicit ToolButton(const Glib::ustring& label);
+
+ /** Creates a new ToolButton with an image.
+ *
+ * The ToolButton will have the label @a label and an image widget @a icon_widget.
+ *
+ * @param icon_widget The widget placed as the ToolButton's icon.
+ * @param label The string used to display the label for this ToolButton.
+ */
+ _WRAP_CTOR(ToolButton(Widget& icon_widget, const Glib::ustring& label = Glib::ustring()), gtk_tool_button_new)
+
+ _WRAP_METHOD(void set_label(const Glib::ustring& label), gtk_tool_button_set_label)
+ _WRAP_METHOD(Glib::ustring get_label() const, gtk_tool_button_get_label)
+ _WRAP_METHOD(void set_use_underline(bool use_underline = true), gtk_tool_button_set_use_underline)
+ _WRAP_METHOD(bool get_use_underline() const, gtk_tool_button_get_use_underline)
+ _WRAP_METHOD(void set_stock_id(const Gtk::StockID& stock_id), gtk_tool_button_set_stock_id)
+ _WRAP_METHOD(Glib::ustring get_stock_id() const, gtk_tool_button_get_stock_id)
+ _WRAP_METHOD(void set_icon_name(const Glib::ustring& icon_name), gtk_tool_button_set_icon_name)
+ _WRAP_METHOD(Glib::ustring get_icon_name() const, gtk_tool_button_get_icon_name)
+ _WRAP_METHOD(void set_icon_widget(Widget& icon_widget), gtk_tool_button_set_icon_widget)
+ _WRAP_METHOD(Widget* get_icon_widget(), gtk_tool_button_get_icon_widget)
+ _WRAP_METHOD(const Widget* get_icon_widget() const, gtk_tool_button_get_icon_widget, constversion)
+ _WRAP_METHOD(void set_label_widget(Widget& label_widget), gtk_tool_button_set_label_widget)
+ _WRAP_METHOD(Widget* get_label_widget(), gtk_tool_button_get_label_widget)
+ _WRAP_METHOD(const Widget* get_label_widget() const, gtk_tool_button_get_label_widget, constversion)
+
+ /** This signal is emitted when the tool button is clicked with the mouse
+ * or activated with the keyboard.
+ * @deprecated This is an "action" key-binding signal that you should rarely need to use.
+ */
+ _WRAP_SIGNAL(void clicked(), "clicked")
+
+ _WRAP_PROPERTY("label", Glib::ustring)
+ _WRAP_PROPERTY("use_underline", bool)
+ _WRAP_PROPERTY("label_widget", Gtk::Widget*)
+ _WRAP_PROPERTY("stock_id", Glib::ustring)
+ _WRAP_PROPERTY("icon_widget", Gtk::Widget)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/toolitem.ccg b/libs/gtkmm2/gtk/src/toolitem.ccg
new file mode 100644
index 0000000000..292989464a
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/toolitem.ccg
@@ -0,0 +1,39 @@
+// -*- c++ -*-
+/* $Id: toolitem.ccg,v 1.1 2003/10/22 15:40:19 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtktoolitem.h>
+
+namespace Gtk
+{
+
+#ifndef GTKMM_DISABLE_DEPRECATED
+Glib::SignalProxy3< bool,Tooltips*,const Glib::ustring&,const Glib::ustring& > ToolItem::signal_set_tooltip()
+{
+ //This is an empty implementation to maintain API (and ABI, sort of, but blame GTK+) compatibility.
+ //GTK+ now never emits this signal.
+ return Glib::SignalProxy3< bool,Tooltips*,const Glib::ustring&,const Glib::ustring& >(this, 0);
+}
+#endif //GTKMM_DISABLE_DEPRECATED
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/toolitem.hg b/libs/gtkmm2/gtk/src/toolitem.hg
new file mode 100644
index 0000000000..efc6c3f66c
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/toolitem.hg
@@ -0,0 +1,148 @@
+/* $Id: toolitem.hg,v 1.14 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* box.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+_CONFIGINCLUDE(gtkmmconfig.h)
+
+#include <gtkmm/bin.h>
+#include <gtkmm/tooltips.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/bin_p.h)
+
+
+namespace Gtk
+{
+
+/**
+ *
+ * @ingroup Widgets
+ */
+class ToolItem : public Bin
+{
+ _CLASS_GTKOBJECT(ToolItem, GtkToolItem, GTK_TOOL_ITEM, Gtk::Bin, GtkBin)
+public:
+ _CTOR_DEFAULT
+
+ _WRAP_METHOD(void set_homogeneous(bool homogeneous = true), gtk_tool_item_set_homogeneous)
+ _WRAP_METHOD(bool get_homogeneous() const, gtk_tool_item_get_homogeneous)
+
+ _WRAP_METHOD(void set_expand(bool expand = true), gtk_tool_item_set_expand)
+ _WRAP_METHOD(bool get_expand() const, gtk_tool_item_get_expand)
+
+ _WRAP_METHOD(void set_tooltip(Tooltips& tooltips, const Glib::ustring& tip_text, const Glib::ustring& tip_private = Glib::ustring()), gtk_tool_item_set_tooltip, deprecated "Use set_tooltip_text() or set_tooltip_markup() instead")
+
+ _WRAP_METHOD(void set_tooltip_text(const Glib::ustring& text), gtk_tool_item_set_tooltip_text)
+ _WRAP_METHOD(void set_tooltip_markup(const Glib::ustring& markup), gtk_tool_item_set_tooltip_markup)
+
+ _WRAP_METHOD(void set_use_drag_window(bool use_drag_window = true), gtk_tool_item_set_use_drag_window)
+ _WRAP_METHOD(bool get_use_drag_window() const, gtk_tool_item_get_use_drag_window)
+
+ _WRAP_METHOD(void set_visible_horizontal(bool visible_horizontal = true), gtk_tool_item_set_visible_horizontal)
+ _WRAP_METHOD(bool get_visible_horizontal() const, gtk_tool_item_get_visible_horizontal)
+
+ _WRAP_METHOD(void set_visible_vertical(bool visible_vertical = true), gtk_tool_item_set_visible_vertical)
+ _WRAP_METHOD(bool get_visible_vertical() const, gtk_tool_item_get_visible_vertical)
+
+ _WRAP_METHOD(bool get_is_important() const, gtk_tool_item_get_is_important)
+ _WRAP_METHOD(void set_is_important(bool is_important = true), gtk_tool_item_set_is_important)
+
+ _WRAP_METHOD(IconSize get_icon_size () const, gtk_tool_item_get_icon_size)
+ _WRAP_METHOD(Orientation get_orientation() const, gtk_tool_item_get_orientation)
+ _WRAP_METHOD(ToolbarStyle get_toolbar_style() const, gtk_tool_item_get_toolbar_style)
+ _WRAP_METHOD(ReliefStyle get_relief_style() const, gtk_tool_item_get_relief_style)
+
+ _WRAP_METHOD(Widget* retrieve_proxy_menu_item(), gtk_tool_item_retrieve_proxy_menu_item)
+ _WRAP_METHOD(const Widget* retrieve_proxy_menu_item() const, gtk_tool_item_retrieve_proxy_menu_item, constversion)
+ _WRAP_METHOD(Widget* get_proxy_menu_item(const Glib::ustring& menu_item_id), gtk_tool_item_get_proxy_menu_item)
+ _WRAP_METHOD(const Widget* get_proxy_menu_item(const Glib::ustring& menu_item_id) const, gtk_tool_item_get_proxy_menu_item, constversion)
+ _WRAP_METHOD(void set_proxy_menu_item(const Glib::ustring& menu_item_id, Widget& menu_item), gtk_tool_item_set_proxy_menu_item)
+
+ _WRAP_METHOD(void rebuild_menu(), gtk_tool_item_rebuild_menu)
+
+ //TODO: This suggests calling set_proxy_menu_item() with NULL. but the function asserts against that.
+ /** This signal is emitted when the toolbar needs information from @tool_item
+ * about whether the item should appear in the toolbar overflow menu. In
+ * response the tool item should either
+ * <itemizedlist>
+ * <listitem> call set_proxy_menu_item() with a NULL
+ * pointer and return true to indicate that the item should not appear
+ * in the overflow menu
+ * </listitem>
+ * <listitem> call set_proxy_menu_item() with a new menu
+ * item and return true, or
+ * </listitem>
+ * <listitem> return false to indicate that the signal was not
+ * handled by the item. This means that
+ * the item will not appear in the overflow menu unless a later handler
+ * installs a menu item.
+ * </listitem>
+ * </itemizedlist>
+ *
+ * The toolbar may cache the result of this signal. When the tool item changes
+ * how it will respond to this signal it must call rebuild_menu()
+ * to invalidate the cache and ensure that the toolbar rebuilds its overflow
+ * menu.
+ *
+ * @result true if the signal was handled, false if not
+ */
+ _WRAP_SIGNAL(bool create_menu_proxy(), create_menu_proxy)
+
+ /** This signal is emitted when some property of the toolbar that the
+ * item is a child of changes. For custom subclasses of ToolItem,
+ * the default handler of this signal use the functions
+ * <itemizedlist>
+ * <listitem>Toolbar::get_orientation()</listitem>
+ * <listitem>Toolbar::get_style()</listitem>
+ * <listitem>Toolbar::get_icon_size()</listitem>
+ * <listitem>Toolbar::get_relief_style()</listitem>
+ * </itemizedlist>
+ * to find out what the toolbar should look like and change
+ * themselves accordingly.
+ */
+ _WRAP_SIGNAL(void toolbar_reconfigured(), toolbar_reconfigured)
+
+ //We use no_default_handler for this, because we can not add a new vfunc to 2.5 without breaking ABI.
+
+ #ifndef GTKMM_DISABLE_DEPRECATED
+ //Note that we can ifdef this out, only because it doesn't affect class size, because we use no_default_handler:
+ /** This signal is emitted when the toolitem's tooltip changes.
+ * Application developers can use gtk_tool_item_set_tooltip() to
+ * set the item's tooltip.
+ * @deprecated: Use the new Gtk::Tooltip API. This signal will now never be emitted.
+ *
+ * @param tooltips the Tooltips
+ * @param tip_text the tooltip text
+ * @param tip_private the tooltip private text
+ * @result true if the signal was handled, false if not.
+ */
+ Glib::SignalProxy3< bool,Tooltips*,const Glib::ustring&,const Glib::ustring& > signal_set_tooltip();
+ //_WRAP_SIGNAL(bool set_tooltip(Tooltips* tooltips, const Glib::ustring& tip_text, const Glib::ustring& tip_private), set_tooltip, no_default_handler, deprecated) //TODO: Implement deprecated for _WRAP_SIGNAL() to avoid hand-coding this:
+ #endif //GTKMM_DISABLE_DEPRECATED
+
+
+ _WRAP_PROPERTY("visible_horizontal", bool)
+ _WRAP_PROPERTY("visible_vertical", bool)
+ _WRAP_PROPERTY("is_important", bool)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/tooltip.ccg b/libs/gtkmm2/gtk/src/tooltip.ccg
new file mode 100644
index 0000000000..876e5d8f1a
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/tooltip.ccg
@@ -0,0 +1,30 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/*
+ * Copyright (C) 2007 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtktooltip.h>
+
+namespace Gtk
+{
+
+void Tooltip::trigger_tooltip_query(const Glib::RefPtr<Gdk::Display>& display)
+{
+ gtk_tooltip_trigger_tooltip_query(display->gobj());
+}
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/tooltip.hg b/libs/gtkmm2/gtk/src/tooltip.hg
new file mode 100644
index 0000000000..e0b3a4161c
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/tooltip.hg
@@ -0,0 +1,92 @@
+/* Copyright (C) 2007 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/object.h>
+#include <gdkmm/pixbuf.h>
+#include <gtkmm/enums.h>
+#include <gtkmm/widget.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Gtk
+{
+
+/** Add tips to your widgets
+ *
+ * Gtk::Tooltip belongs to the new tooltips API that was introduced in GTK+ 2.12
+ * and which deprecates the old Gtk::Tooltips API.
+ *
+ * Basic tooltips can be realized simply by using set_tooltip_text()
+ * or set_tooltip_markup() without any explicit tooltip object.
+ *
+ * When you need a tooltip with a little more fancy contents, like
+ * adding an image, or you want the tooltip to have different contents
+ * per Gtk::TreeView row or cell, you will have to do a little more work:
+ *
+ * - Call Gtk::Widget:set_has_tooltip(); this will
+ * make GTK+ monitor the widget for motion and related events
+ * which are needed to determine when and where to show a tooltip.
+ *
+ * - Connect to Gtk::Widget::signal_query_tooltip(). This signal
+ * will be emitted when a tooltip is supposed to be shown. One
+ * of the arguments passed to the signal handler is a Gtk::Tooltip
+ * object. This is the object that we are about to display as a
+ * tooltip, and can be manipulated in your callback using functions
+ * like Gtk::Tooltip::set_icon(). There are functions for setting
+ * the tooltip's markup, setting an image from a stock icon, or
+ * even putting in a custom widget.
+ *
+ * - Return true from your query-tooltip handler. This causes
+ * the tooltip to be show. If you return false, it will not be shown.
+ *
+ * In the probably rare case where you want to have even more control
+ * over the tooltip that is about to be shown, you can set your own
+ * Window which will be used as tooltip window. This works as follows:
+ *
+ * - Do Gtk::Widget::set_has_tooltip() and connect to
+ * Gtk::Widget::signal_query_tooltip() as before.
+ *
+ * - Use Gtk::Widget::set_tooltip_window() to set a Gtk::Window created
+ * by you as tooltip window.
+ *
+ * - In the query-tooltip callback you can access your window
+ * using Gtk::Widget::get_tooltip_window() and manipulate it as you
+ * wish. The semantics of the return value are exactly as before,
+ * return true to show the window, false to not show it.
+ *
+ * @newin2p12
+ */
+class Tooltip : public Glib::Object
+{
+protected:
+ _CLASS_GOBJECT(Tooltip, GtkTooltip, GTK_TOOLTIP, Glib::Object, GObject)
+
+public:
+
+ _WRAP_METHOD(void set_markup(const Glib::ustring& markup), gtk_tooltip_set_markup)
+ _WRAP_METHOD(void set_text(const Glib::ustring& markup), gtk_tooltip_set_text)
+ _WRAP_METHOD(void set_icon(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf), gtk_tooltip_set_icon)
+ _WRAP_METHOD(void set_icon_from_stock(const StockID& stock_id, IconSize size), gtk_tooltip_set_icon_from_stock)
+ _WRAP_METHOD(void set_custom(Widget& custom_widget), gtk_tooltip_set_custom)
+ _WRAP_METHOD(void set_tip_area(const Gdk::Rectangle& rect), gtk_tooltip_set_tip_area)
+
+ _IGNORE(gtk_tooltip_trigger_tooltip_query)
+ static void trigger_tooltip_query(const Glib::RefPtr<Gdk::Display>& display);
+};
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/tooltips.ccg b/libs/gtkmm2/gtk/src/tooltips.ccg
new file mode 100644
index 0000000000..857e68c4e9
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/tooltips.ccg
@@ -0,0 +1,41 @@
+// -*- c++ -*-
+/* $Id: tooltips.ccg,v 1.1 2003/01/21 13:40:46 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkwidget.h>
+#include <gtk/gtktooltips.h>
+#include <gdkmm/color.h>
+#include <gtkmm/widget.h>
+
+
+namespace Gtk
+{
+
+void Tooltips::set_tip(Gtk::Widget& widget, const Glib::ustring& tip_text)
+{
+ gtk_tooltips_set_tip(gobj(), widget.gobj(), tip_text.c_str(), 0);
+}
+
+void Tooltips::unset_tip(Gtk::Widget& widget)
+{
+ gtk_tooltips_set_tip(gobj(), widget.gobj(), 0, 0);
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/tooltips.hg b/libs/gtkmm2/gtk/src/tooltips.hg
new file mode 100644
index 0000000000..b05dede167
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/tooltips.hg
@@ -0,0 +1,69 @@
+/* $Id: tooltips.hg,v 1.1 2003/01/21 13:40:46 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+_CONFIGINCLUDE(gtkmmconfig.h)
+
+#include <gdkmm/color.h>
+#include <gtkmm/object.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/object_p.h)
+
+typedef struct _GtkTooltipsData GtkTooltipsData;
+
+namespace Gtk
+{
+
+class Widget;
+
+/** Tooltips are the messages that appear next to a widget when the mouse
+ * pointer is held over it for a short amount of time. They are especially
+ * helpful for adding more verbose descriptions of things such as buttons
+ * in a toolbar.
+ *
+ * This widget holds tooltips for other widgets. You should only need one
+ * Tooltip widget for all widgets you wish to add tips to.
+ *
+ * @deprecated Use the Gtk::Tooltip API instead.
+ */
+class Tooltips : public Object
+{
+ _CLASS_GTKOBJECT(Tooltips,GtkTooltips,GTK_TOOLTIPS,Gtk::Object,GtkObject)
+ _IS_DEPRECATED
+ _IGNORE(gtk_tooltips_set_delay)
+public:
+ _CTOR_DEFAULT
+
+ _WRAP_METHOD(void enable(), gtk_tooltips_enable)
+ _WRAP_METHOD(void disable(), gtk_tooltips_disable)
+
+ _WRAP_METHOD(void set_tip(Widget& widget, const Glib::ustring& tip_text, const Glib::ustring& tip_private), gtk_tooltips_set_tip)
+ void set_tip(Widget& widget, const Glib::ustring& tip_text);
+ void unset_tip(Widget& widget);
+
+protected:
+ _WRAP_METHOD(static GtkTooltipsData* data_get(Widget& widget), gtk_tooltips_data_get)
+
+public:
+ _WRAP_METHOD(void force_window(),gtk_tooltips_force_window)
+};
+
+} //namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treedragdest.ccg b/libs/gtkmm2/gtk/src/treedragdest.ccg
new file mode 100644
index 0000000000..eff41e9709
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treedragdest.ccg
@@ -0,0 +1,24 @@
+// -*- c++ -*-
+/* $Id: treedragdest.ccg,v 1.2 2003/01/23 22:20:34 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/treepath.h>
+#include <gtkmm/selectiondata_private.h>
+#include <gtk/gtktreednd.h>
+
diff --git a/libs/gtkmm2/gtk/src/treedragdest.hg b/libs/gtkmm2/gtk/src/treedragdest.hg
new file mode 100644
index 0000000000..9723655ffc
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treedragdest.hg
@@ -0,0 +1,60 @@
+/* $Id: treedragdest.hg,v 1.4 2004/03/09 17:36:29 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/interface.h>
+#include <gtkmm/treemodel.h>
+#include <gtkmm/selectiondata.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/interface_p.h)
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C"
+{
+typedef struct _GtkTreeDragDestIface GtkTreeDragDestIface;
+typedef struct _GtkSelectionData GtkSelectionData;
+}
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Gtk
+{
+
+/**
+ * @ingroup TreeView
+ */
+class TreeDragDest : public Glib::Interface
+{
+ _CLASS_INTERFACE(TreeDragDest, GtkTreeDragDest, GTK_TREE_DRAG_DEST, GtkTreeDragDestIface)
+
+public:
+
+ _WRAP_METHOD(bool drag_data_received(const TreeModel::Path& dest, const SelectionData& selection_data), gtk_tree_drag_dest_drag_data_received)
+
+ _WRAP_METHOD(bool row_drop_possible(const TreeModel::Path& dest_path, const SelectionData& selection_data) const, gtk_tree_drag_dest_row_drop_possible)
+
+protected:
+ _WRAP_VFUNC(bool drag_data_received(const TreeModel::Path& dest, const SelectionData& selection_data),
+ drag_data_received)
+
+ _WRAP_VFUNC(bool row_drop_possible(const TreeModel::Path& dest, const SelectionData& selection_data) const,
+ row_drop_possible)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treedragsource.ccg b/libs/gtkmm2/gtk/src/treedragsource.ccg
new file mode 100644
index 0000000000..c1e05c798d
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treedragsource.ccg
@@ -0,0 +1,91 @@
+// -*- c++ -*-
+/* $Id: treedragsource.ccg,v 1.4 2006/05/11 11:40:24 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/treepath.h>
+#include <gtkmm/selectiondata_private.h> //For SelectionData_WithoutOwnership
+#include <gtk/gtktreednd.h>
+
+
+namespace Gtk
+{
+
+#ifdef GLIBMM_VFUNCS_ENABLED
+//This vfunc wrapper is manually written, so that we can use a temporary instance for the SelectionData& output parameter:
+
+gboolean TreeDragSource_Class::drag_data_get_vfunc_callback(GtkTreeDragSource* self, GtkTreePath* path, GtkSelectionData* selection_data)
+{
+ CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase::_get_current_wrapper((GObject*)self));
+
+ // Non-gtkmmproc-generated custom classes implicitly call the default
+ // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
+ // generated classes can use this optimisation, which avoids the unnecessary
+ // parameter conversions if there is no possibility of the virtual function
+ // being overridden:
+ if(obj && obj->is_derived_())
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ SelectionData_WithoutOwnership temp_instance(selection_data);
+ return static_cast<int>(obj->drag_data_get_vfunc(Gtk::TreePath(path, true), temp_instance));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+ else
+ {
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
+) );
+
+ // Call the original underlying C function:
+ if(base && base->drag_data_get)
+ return (*base->drag_data_get)(self, path, selection_data);
+ }
+
+ typedef gboolean RType;
+ return RType();
+}
+
+bool Gtk::TreeDragSource::drag_data_get_vfunc(const TreeModel::Path& path, SelectionData& selection_data) const
+{
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+g_type_interface_peek(G_OBJECT_GET_CLASS(gobject_), CppObjectType::get_type()) // Get the interface.
+) );
+
+ if(base && base->drag_data_get)
+ return (*base->drag_data_get)(const_cast<GtkTreeDragSource*>(gobj()),const_cast<GtkTreePath*>((path).gobj()), selection_data.gobj());
+
+ typedef bool RType;
+ return RType();
+}
+#endif //GLIBMM_VFUNCS_ENABLED
+
+} //namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treedragsource.hg b/libs/gtkmm2/gtk/src/treedragsource.hg
new file mode 100644
index 0000000000..10b881d8d0
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treedragsource.hg
@@ -0,0 +1,74 @@
+/* $Id: treedragsource.hg,v 1.8 2006/05/10 20:59:28 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/interface.h>
+#include <gtkmm/treemodel.h>
+#include <gtkmm/selectiondata.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/interface_p.h)
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C"
+{
+typedef struct _GtkTreeDragSourceIface GtkTreeDragSourceIface;
+typedef struct _GtkSelectionData GtkSelectionData;
+}
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Gtk
+{
+
+/**
+ * @ingroup TreeView
+*/
+class TreeDragSource : public Glib::Interface
+{
+ _CLASS_INTERFACE(TreeDragSource, GtkTreeDragSource, GTK_TREE_DRAG_SOURCE, GtkTreeDragSourceIface)
+
+public:
+ _WRAP_METHOD(bool row_draggable(const TreeModel::Path& path) const, gtk_tree_drag_source_row_draggable)
+
+ _WRAP_METHOD(bool drag_data_get(const TreeModel::Path& path, SelectionData& selection_data), gtk_tree_drag_source_drag_data_get)
+
+ _WRAP_METHOD(bool drag_data_delete(const TreeModel::Path& path), gtk_tree_drag_source_drag_data_delete)
+
+protected:
+
+#m4begin
+dnl// We want to hand-code these C vfunc callbacks,
+ _PUSH(SECTION_PCC_CLASS_INIT_VFUNCS)
+ klass->drag_data_get = &drag_data_get_vfunc_callback;
+ _SECTION(SECTION_PH_VFUNCS)
+ static gboolean drag_data_get_vfunc_callback(GtkTreeDragSource* self, GtkTreePath* path, GtkSelectionData* selection_data);
+ _POP()
+#m4end
+
+ _WRAP_VFUNC(bool row_draggable(const TreeModel::Path& path) const, row_draggable)
+
+ //We hand-code this so that we can use a temporary instance for the SelectionData& output parameter:
+ #ifdef GLIBMM_VFUNCS_ENABLED
+ virtual bool drag_data_get_vfunc(const TreeModel::Path& path, SelectionData& selection_data) const;
+ #endif //GLIBMM_VFUNCS_ENABLED
+
+ _WRAP_VFUNC(bool drag_data_delete(const TreeModel::Path& path), drag_data_delete)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treeiter.ccg b/libs/gtkmm2/gtk/src/treeiter.ccg
new file mode 100644
index 0000000000..0a4907f54c
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treeiter.ccg
@@ -0,0 +1,355 @@
+// -*- c++ -*-
+/* $Id: treeiter.ccg,v 1.10 2006/04/12 08:23:29 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/treemodel.h>
+
+namespace
+{
+
+// This is copied from Totem. In future there might be a version in GTK+ itself - see bug #
+static void gtkmm_gtk_tree_model_iter_previous(GtkTreeModel* tree_model, GtkTreeIter* iter)
+{
+ GtkTreePath *const path = gtk_tree_model_get_path(tree_model, iter);
+
+ if(gtk_tree_path_prev(path))
+ gtk_tree_model_get_iter(tree_model, iter, path);
+ else
+ g_assert_not_reached();
+
+ gtk_tree_path_free(path);
+}
+
+} // anonymous namespace
+
+
+namespace Gtk
+{
+
+/**** Gtk::TreeIter ********************************************************/
+
+TreeIter::TreeIter()
+:
+ TreeIterBase(),
+ model_ (0),
+ is_end_ (false)
+{}
+
+TreeIter::TreeIter(TreeModel* model)
+:
+ TreeIterBase(),
+ model_ (model),
+ is_end_ (false)
+{}
+
+TreeIter::TreeIter(GtkTreeModel* model, const GtkTreeIter* iter)
+:
+ TreeIterBase(iter),
+ model_ (dynamic_cast<TreeModel*>(Glib::wrap_auto((GObject*) model))),
+ is_end_ (iter == 0)
+{}
+
+TreeIter& TreeIter::operator++()
+{
+ g_assert(!is_end_);
+
+ GtkTreeIter previous = gobject_;
+
+ if(!gtk_tree_model_iter_next(model_->gobj(), &gobject_))
+ {
+ is_end_ = true;
+ gtk_tree_model_iter_parent(model_->gobj(), &gobject_, &previous);
+ }
+
+ return *this;
+}
+
+const TreeIter TreeIter::operator++(int)
+{
+ g_assert(!is_end_);
+
+ TreeIter previous (*this);
+
+ if(!gtk_tree_model_iter_next(model_->gobj(), &gobject_))
+ {
+ is_end_ = true;
+ gtk_tree_model_iter_parent(model_->gobj(), &gobject_, &previous.gobject_);
+ }
+
+ return previous;
+}
+
+TreeIter& TreeIter::operator--()
+{
+ if(!is_end_)
+ {
+ gtkmm_gtk_tree_model_iter_previous(model_->gobj(), &gobject_);
+ }
+ else // --end yields last
+ {
+ GtkTreeIter next = gobject_;
+ GtkTreeIter *const parent = (next.stamp != 0) ? &next : 0;
+
+ const int index = gtk_tree_model_iter_n_children(model_->gobj(), parent) - 1;
+ is_end_ = !gtk_tree_model_iter_nth_child(model_->gobj(), &gobject_, parent, index);
+
+ g_assert(!is_end_);
+ }
+
+ return *this;
+}
+
+const TreeIter TreeIter::operator--(int)
+{
+ TreeIter next (*this);
+
+ if(!is_end_)
+ {
+ gtkmm_gtk_tree_model_iter_previous(model_->gobj(), &gobject_);
+ }
+ else // --end yields last
+ {
+ GtkTreeIter *const parent = (next.gobject_.stamp != 0) ? &next.gobject_ : 0;
+
+ const int index = gtk_tree_model_iter_n_children(model_->gobj(), parent) - 1;
+ is_end_ = !gtk_tree_model_iter_nth_child(model_->gobj(), &gobject_, parent, index);
+
+ g_assert(!is_end_);
+ }
+
+ return next;
+}
+
+/* There is no public gtk_tree_iter_equal(), so we must write our own.
+ */
+bool TreeIter::equal(const TreeIter& other) const
+{
+ g_assert(model_ == other.model_);
+
+ // A GtkTreeIter has the same stamp value as its model.
+ g_assert(gobject_.stamp == other.gobject_.stamp || is_end_ || other.is_end_);
+
+ // If all user_data pointers are equal we can assume the iterators to be
+ // equal. This should be safe since GtkTreeIter lacks destroy notification,
+ // thus there is no way to attach more data fields to the iterator.
+ return (is_end_ == other.is_end_) &&
+ (gobject_.user_data == other.gobject_.user_data) &&
+ (gobject_.user_data2 == other.gobject_.user_data2) &&
+ (gobject_.user_data3 == other.gobject_.user_data3);
+}
+
+TreeIter::operator bool() const
+{
+ // Test whether the GtkTreeIter is valid and not an end iterator. This check
+ // is almost the same as the private VALID_ITER() macro in gtkliststore.c and
+ // gtktreestore.c.
+ return (!is_end_ && gobject_.stamp != 0);
+}
+
+void TreeIter::setup_end_iterator(const TreeIter& last_valid)
+{
+ g_assert(model_ == last_valid.model_);
+
+ if(last_valid.is_end_)
+ gobject_ = last_valid.gobject_;
+ else
+ gtk_tree_model_iter_parent(model_->gobj(), &gobject_, const_cast<GtkTreeIter*>(&last_valid.gobject_));
+
+ is_end_ = true;
+}
+
+void TreeIter::set_model_refptr(const Glib::RefPtr<TreeModel>& model)
+{
+ model_ = model.operator->();
+}
+
+void TreeIter::set_model_gobject(GtkTreeModel* model)
+{
+ model_ = dynamic_cast<TreeModel*>(Glib::wrap_auto((GObject*) model));
+}
+
+GtkTreeModel* TreeIter::get_model_gobject() const
+{
+ return (model_) ? model_->gobj() : 0;
+}
+
+
+int TreeIter::get_stamp() const
+{
+ return gobj()->stamp;
+}
+
+void TreeIter::set_stamp(int stamp)
+{
+ gobj()->stamp = stamp;
+}
+
+
+/**** Gtk::TreeRow *********************************************************/
+
+const TreeNodeChildren& TreeRow::children() const
+{
+ g_assert(!is_end_);
+
+ return static_cast<const TreeNodeChildren&>(static_cast<const TreeIter&>(*this));
+}
+
+TreeIter TreeRow::parent() const
+{
+ TreeIter iter (model_);
+
+ if(is_end_)
+ iter.gobject_ = gobject_;
+ else
+ gtk_tree_model_iter_parent(model_->gobj(), iter.gobj(), const_cast<GtkTreeIter*>(&gobject_));
+
+ return iter;
+}
+
+void TreeRow::set_value_impl(int column, const Glib::ValueBase& value) const
+{
+ model_->set_value_impl(*this, column, value);
+}
+
+void TreeRow::get_value_impl(int column, Glib::ValueBase& value) const
+{
+ model_->get_value_impl(*this, column, value);
+}
+
+TreeRow::operator bool() const
+{
+ return TreeIter::operator bool();
+}
+
+
+/**** Gtk::TreeNodeChildren ************************************************/
+
+TreeNodeChildren::iterator TreeNodeChildren::begin()
+{
+ iterator iter (model_);
+
+ // If the iterator is invalid (stamp == 0), assume a 'virtual' toplevel
+ // node. This behaviour is needed to implement Gtk::TreeModel::children().
+
+ if(gobject_.stamp != 0)
+ {
+ if(!gtk_tree_model_iter_children(model_->gobj(), iter.gobj(), const_cast<GtkTreeIter*>(&gobject_)))
+ {
+ // Assign the already known parent, in order to create an end iterator.
+ iter.gobject_ = gobject_;
+ iter.is_end_ = true;
+ }
+ }
+ else
+ {
+ if(!gtk_tree_model_get_iter_first(model_->gobj(), iter.gobj()))
+ {
+ // No need to copy the GtkTreeIter, since iter.gobject_ is already empty.
+ iter.is_end_ = true;
+ }
+ }
+
+ return iter;
+}
+
+TreeNodeChildren::const_iterator TreeNodeChildren::begin() const
+{
+ //TODO: Reduce the copy/paste from the non-const begin()?
+
+ const_iterator iter (model_);
+
+ // If the iterator is invalid (stamp == 0), assume a 'virtual' toplevel
+ // node. This behaviour is needed to implement Gtk::TreeModel::children().
+
+ if(gobject_.stamp != 0)
+ {
+ if(!gtk_tree_model_iter_children(model_->gobj(), iter.gobj(), const_cast<GtkTreeIter*>(&gobject_)))
+ {
+ // Assign the already known parent, in order to create an end iterator.
+ iter.gobject_ = gobject_;
+ iter.is_end_ = true;
+ }
+ }
+ else
+ {
+ if(!gtk_tree_model_get_iter_first(model_->gobj(), iter.gobj()))
+ {
+ // No need to copy the GtkTreeIter, since iter.gobject_ is already empty.
+ iter.is_end_ = true;
+ }
+ }
+
+ return iter;
+}
+
+TreeNodeChildren::iterator TreeNodeChildren::end()
+{
+ // Just copy the parent, and turn it into an end iterator.
+ iterator iter (*this);
+ iter.is_end_ = true;
+ return iter;
+}
+
+TreeNodeChildren::const_iterator TreeNodeChildren::end() const
+{
+ // Just copy the parent, and turn it into an end iterator.
+ const_iterator iter (*this);
+ iter.is_end_ = true;
+ return iter;
+}
+
+TreeNodeChildren::value_type TreeNodeChildren::operator[](TreeNodeChildren::size_type index) const
+{
+ iterator iter (model_);
+
+ GtkTreeIter *const parent = const_cast<GtkTreeIter*>(get_parent_gobject());
+
+ if(!gtk_tree_model_iter_nth_child(model_->gobj(), iter.gobj(), parent, index))
+ {
+ // Assign the already known parent, in order to create an end iterator.
+ iter.gobject_ = gobject_;
+ iter.is_end_ = true;
+ }
+
+ return *iter;
+}
+
+TreeNodeChildren::size_type TreeNodeChildren::size() const
+{
+ GtkTreeIter *const parent = const_cast<GtkTreeIter*>(get_parent_gobject());
+
+ return gtk_tree_model_iter_n_children(model_->gobj(), parent);
+}
+
+bool TreeNodeChildren::empty() const
+{
+ // If the iterator is invalid (stamp == 0), assume a 'virtual' toplevel
+ // node. This behaviour is needed to implement Gtk::TreeModel::children().
+
+ if(gobject_.stamp == 0)
+ {
+ GtkTreeIter dummy;
+ return !gtk_tree_model_get_iter_first(model_->gobj(), &dummy);
+ }
+
+ return !gtk_tree_model_iter_has_child(model_->gobj(), const_cast<GtkTreeIter*>(&gobject_));
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treeiter.hg b/libs/gtkmm2/gtk/src/treeiter.hg
new file mode 100644
index 0000000000..2f5b48f1a7
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treeiter.hg
@@ -0,0 +1,473 @@
+/* $Id: treeiter.hg,v 1.14 2005/04/07 08:46:44 murrayc Exp $ */
+
+/* Copyright(C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software, ) you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation, ) either
+ * version 2 of the License, or(at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY, ) without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library, ) if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(gtkmm,gtk)
+
+#include <gtkmm/treemodelcolumn.h>
+#include <gtkmmconfig.h>
+#include <iterator>
+#include <gtk/gtktreemodel.h> /* for GtkTreeIter */
+
+GLIBMM_USING_STD(forward_iterator_tag)
+
+
+namespace Gtk
+{
+
+class TreeModel;
+class TreeRow;
+class TreeNodeChildren;
+
+/**
+ * @ingroup TreeView
+ */
+class TreeIterBase
+{
+ _CLASS_BOXEDTYPE_STATIC(TreeIterBase, GtkTreeIter)
+ _IGNORE(gtk_tree_iter_copy, gtk_tree_iter_free)
+ _NO_WRAP_FUNCTION() //A wrap() for TreeIterBase* wouldn't be very helpful.
+};
+
+
+// In order to offer STL-like iterator functionality, we cannot wrap
+// GtkTreeIter directly. Most GTK+ functions that operate on GtkTreeIter
+// are virtual functions in GtkTreeModel. Therefore, the C++ TreeIter
+// must store a pointer to the Gtk::TreeModel to which it belongs.
+//
+// Another problem, which is much worse, is that the GTK+ tree iterator
+// doesn't support the STL-style half-open interval [begin,end). Instead,
+// it uses a [first,last] interval, and functions return FALSE to indicate
+// the end was reached. Also, some functions accept a NULL GtkTreeIter*,
+// which will be interpreted as the end() iterator.
+//
+// Most of the immense complexity in the Gtk::TreeIter implementation is
+// needed for proper emulation of [begin,end) intervals. Unfortunately,
+// it's not even possible to encapsulate everything in the TreeIter
+// class. Almost all wrapper methods dealing with GtkTreeIter must be
+// carefully implemented by hand. TODO: document implementation details
+
+//TODO: Implement a const_iterator too:
+//danielk says that this ConstTreeIter class should return a ConstTreeRow, which would not allow operator=.
+
+/** A Gtk::TreeModel::iterator is a reference to a specific node on a specific
+ * model.
+ *
+ * It is a generic structure with an integer and three generic pointers.
+ * These are filled in by the model in a model-specific way.
+ *
+ * One can convert a path to an iterator by calling Gtk::TreeModel::get_iter().
+ *
+ * These iterators are the primary way of accessing a model and are similar to the iterators
+ * used by Gtk::TextBuffer. The model interface defines a set of operations
+ * using them for navigating the model.
+ *
+ * The lifecycle of an iterator can be a little confusing at first. Iterators
+ * are expected to always be valid for as long as the model is unchanged (and
+ * doesn't emit a signal).
+ * Additionally, some models guarantee that an iterator is valid for as
+ * long as the node it refers to is valid (most notably the Gtk::TreeStore and
+ * Gtk::ListStore).
+ *
+ * Although generally uninteresting, as one always has to
+ * allow for the case where iterators do not persist beyond a signal, some very
+ * important performance enhancements were made in the sort model. As a result,
+ * the Gtk::TREE_MODEL_ITERS_PERSIST flag was added to indicate this behaviour -
+ * see Gtk::TreeModel::get_flags().
+ *
+ * Typedefed as Gtk::TreeModel::iterator.
+ * The Gtk::TreeModel iterator.
+ * @ingroup TreeView
+ */
+class TreeIter : public TreeIterBase
+{
+public:
+ typedef std::bidirectional_iterator_tag iterator_category;
+ typedef Gtk::TreeRow value_type;
+ typedef int difference_type;
+ typedef const Gtk::TreeRow& reference;
+ typedef const Gtk::TreeRow* pointer;
+
+ TreeIter();
+
+ TreeIter& operator++();
+ const TreeIter operator++(int);
+
+ /** Please note that this is very slow compared to operator++().
+ */
+ TreeIter& operator--();
+
+ /** Please note that this is very slow compared to operator++().
+ */
+ const TreeIter operator--(int);
+
+ inline reference operator*() const;
+ inline pointer operator->() const;
+
+ bool equal(const TreeIter& other) const;
+
+ /** Discover whether the iterator is valid, and not equal to end().
+ */
+ operator bool() const;
+
+ /** This is only useful when implementing a custom Gtk::TreeModel class.
+ * Compare the iterator's stamp with your model's stamp to discover whether it is valid.
+ * @see set_stamp().
+ * @result The iterator's stamp.
+ */
+ int get_stamp() const;
+
+ /** This is only useful when implementing a custom Gtk::TreeModel class.
+ * Set the stamp to be equal to your model's stamp, to mark the iterator as valid.
+ * When your model's structure changes, you should increment your model's stamp
+ * to mark all older iterators as invalid. They will be recognised as invalid because
+ * they will then have an incorrect stamp.
+ */
+ void set_stamp(int stamp);
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+ explicit TreeIter(TreeModel* model); // used in TreeModel methods
+ TreeIter(GtkTreeModel* model, const GtkTreeIter* iter); // used by signal proxies
+
+ void set_model_refptr(const Glib::RefPtr<TreeModel>& model);
+ void set_model_gobject(GtkTreeModel* model);
+ GtkTreeModel* get_model_gobject() const;
+
+ void setup_end_iterator(const TreeIter& last_valid);
+
+ const GtkTreeIter* get_gobject_if_not_end() const
+ { return (!is_end_) ? &gobject_ : 0; }
+
+ const GtkTreeIter* get_parent_gobject_if_end() const
+ { return (is_end_ && gobject_.stamp) ? &gobject_ : 0; }
+
+protected:
+
+ // Yes, using a simple TreeModel* rather than Glib::RefPtr<TreeModel>
+ // violates the general policy. But Gtk::TreeIter should have a trivial
+ // copy constructor and assignment operator, i.e. it must contain only
+ // POD (plain old data).
+ //
+ // Gtk::TreeIter is copied a lot, particularly often as return value from
+ // methods. Postfix ++ must return by value, and STL algorithms usually
+ // pass iterators by value, too. With a RefPtr<> as member data, copying
+ // would no longer be trivial, and even cause frequent calls to reference()
+ // and unreference(). That usually doesn't matter much for GUI stuff, but
+ // Gtk::TreeModel is used as a generic container. Imagine a for-loop that
+ // checks whether iter != children.end() on each iteration.
+
+ TreeModel* model_;
+ bool is_end_;
+
+ friend class Gtk::TreeRow;
+ friend class Gtk::TreeNodeChildren;
+ friend class Gtk::TreeModel;
+
+#endif // DOXYGEN_SHOULD_SKIP_THIS
+};
+
+/** @relates Gtk::TreeIter */
+inline bool operator==(const TreeIter& lhs, const TreeIter& rhs)
+ { return lhs.equal(rhs); }
+
+/** @relates Gtk::TreeIter */
+inline bool operator!=(const TreeIter& lhs, const TreeIter& rhs)
+ { return !lhs.equal(rhs); }
+
+
+template <class ColumnType>
+class TreeValueProxy
+{
+public:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ inline TreeValueProxy(const TreeRow& row, const TreeModelColumn<ColumnType>& column);
+#endif
+
+ inline TreeValueProxy<ColumnType>& operator=(const ColumnType& data);
+ inline operator ColumnType() const;
+
+private:
+ const TreeRow& row_;
+ const TreeModelColumn<ColumnType>& column_;
+
+ // no copy assignment
+ TreeValueProxy<ColumnType>& operator=(const TreeValueProxy<ColumnType>&);
+};
+
+
+/** Typedefed as TreeModel::Row.
+ *
+ * Dereference a TreeModel::iterator to get the Row. Use operator[] or set_value() and get_value() to access the
+ * values in the columns of this row.
+ *
+ * If the model contains a hierarchy of rows (such as Gtk::TreeStore), then you can access the child rows with
+ * children().
+ *
+ * You can use a const TreeModel::Row& for any parameter that takes a const TreeModel::iterator&.
+ * @ingroup TreeView
+ */
+class TreeRow : public TreeIter //We use public inheritance so that we can cast from a TreeRow to a TreeIter.
+{
+public:
+
+ /** Use this to set and get the value of this @a column of this row.
+ * This is a templated method, so the compiler will not allow you to provide an inappropriate type
+ * of data for the model column.
+ *
+ * This is just a more convient syntax that does the same thing as set_value() and get_value().
+ *
+ * @param column The model column..
+ */
+ template <class ColumnType> inline
+ TreeValueProxy<ColumnType> operator[](const TreeModelColumn<ColumnType>& column) const;
+
+ /** Sets the value of this @a column of this row.
+ * This is a templated method, so the compiler will not allow you to provide an inappropriate type
+ * of @a data for the model column.
+ *
+ * See also operator[].
+ *
+ * @param column The model column.
+ * @param data The new value to use for this column of this row.
+ */
+ template <class ColumnType>
+ void set_value(const TreeModelColumn<ColumnType>& column, const ColumnType& data) const;
+
+ /** Use set_value(const TreeModelColumn<>& column, const ColumnType& data) unless
+ * you do not know the column type at compile-time.
+ * If the @a data is of an inappropriate C++ type then this might fail at runtime.
+ * @param column The number of the column whose value you want to change.
+ * @param data The new value to use for this column of this row.
+ */
+ template <class ColumnType>
+ void set_value(int column, const ColumnType& data) const;
+
+ /** Gets the value of this @a column of this row.
+ * This is a templated method, so the compiler will not allow you to provide an inappropriate type
+ * of data for the model column.
+ *
+ * See also operator[].
+ *
+ * @param column The model column.
+ * @result The new value to use for this column of this row.
+ */
+ template <class ColumnType>
+ ColumnType get_value(const TreeModelColumn<ColumnType>& column) const;
+
+ /** Use get_value(const TreeModelColumn<>& column) unless
+ * you do not know the column type at compile-time.
+ * If the @a data output argument is of an inappropriate C++ type then this might fail at runtime.
+ * @param column The number of the column whose value you want to change.
+ * @result data An output argument which will contain the value of this column of this row.
+ */
+ template <class ColumnType>
+ void get_value(int column, ColumnType& data) const;
+
+ /** This returns an STL-like container API, for iterating over the rows.
+ * See also Gtk::TreeModel::children() for the top-level children.
+ */
+ const TreeNodeChildren& children() const;
+
+ /** Gets an iterator to the parent row of this row.
+ * @result An iterator to the parent row.
+ */
+ TreeIter parent() const;
+
+ /** Discover whether this is a valid row.
+ */
+ operator bool() const;
+
+ /// Provides access to the underlying C GObject.
+ GtkTreeIter* gobj() { return TreeIter::gobj(); }
+
+ /// Provides access to the underlying C GObject.
+ const GtkTreeIter* gobj() const { return TreeIter::gobj(); }
+
+private:
+ // Forwarders to Gtk::TreeModel virtual methods.
+ void set_value_impl(int column, const Glib::ValueBase& value) const;
+ void get_value_impl(int column, Glib::ValueBase& value) const;
+};
+
+
+//TODO: Document begin(), end(), size(), etc, in an STL-style way. murrayc.
+
+/** typedefed as TreeModel::Children.
+ * Virtual container of TreeModel::Row items.
+ * @ingroup TreeView
+ */
+class TreeNodeChildren : public TreeIter
+{
+public:
+ typedef Gtk::TreeRow value_type;
+ typedef unsigned int size_type;
+ typedef int difference_type;
+ typedef Gtk::TreeIter iterator;
+
+ #ifndef GLIBMM_HAVE_SUN_REVERSE_ITERATOR
+ typedef std::reverse_iterator<iterator> reverse_iterator;
+ #else
+ typedef std::reverse_iterator<iterator, std::random_access_iterator_tag,
+ int, int&, int*, ptrdiff_t> reverse_iterator;
+ #endif
+
+ typedef Gtk::TreeIter const_iterator; //TODO: Make it a real const_iterator.
+
+ #ifndef GLIBMM_HAVE_SUN_REVERSE_ITERATOR
+ typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
+ #else
+ typedef std::reverse_iterator<const_iterator, std::random_access_iterator_tag,
+ int, const int&, const int*, ptrdiff_t> const_reverse_iterator;
+ #endif
+
+ iterator begin();
+ const_iterator begin() const;
+ iterator end();
+ const_iterator end() const;
+
+ // Note: there is no advantage in not inlining these methods.
+ // We can't change them without breaking ABI anyway.
+ reverse_iterator rbegin() { return reverse_iterator(end()); }
+ reverse_iterator rend() { return reverse_iterator(begin()); }
+ const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); }
+ const_reverse_iterator rend() const { return const_reverse_iterator(begin()); }
+
+ value_type operator[](size_type index) const;
+
+ size_type size() const;
+ bool empty() const;
+ operator bool() const { return !empty(); }
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+ explicit TreeNodeChildren(TreeModel* model)
+ : TreeIter(model) {}
+
+ const GtkTreeIter* get_parent_gobject() const
+ { return (gobject_.stamp != 0) ? &gobject_ : 0; }
+
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+};
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+/**** Gtk::TreeIter ********************************************************/
+
+inline
+TreeIter::reference TreeIter::operator*() const
+{
+ return static_cast<const TreeRow&>(*this);
+}
+
+inline
+TreeIter::pointer TreeIter::operator->() const
+{
+ return static_cast<const TreeRow*>(this);
+}
+
+
+/**** Gtk::TreeValueProxy<> ************************************************/
+
+template <class ColumnType> inline
+TreeValueProxy<ColumnType>::TreeValueProxy(const TreeRow& row, const TreeModelColumn<ColumnType>& column)
+:
+ row_ (row),
+ column_ (column)
+{}
+
+template <class ColumnType> inline
+TreeValueProxy<ColumnType>& TreeValueProxy<ColumnType>::operator=(const ColumnType& data)
+{
+ row_.set_value(column_, data);
+ return *this;
+}
+
+template <class ColumnType> inline
+TreeValueProxy<ColumnType>::operator ColumnType() const
+{
+ return row_.get_value(column_);
+}
+
+
+/**** Gtk::TreeRow *********************************************************/
+
+template <class ColumnType> inline
+TreeValueProxy<ColumnType> TreeRow::operator[](const TreeModelColumn<ColumnType>& column) const
+{
+ return TreeValueProxy<ColumnType>(*this, column);
+}
+
+template <class ColumnType>
+void TreeRow::set_value(const TreeModelColumn<ColumnType>& column, const ColumnType& data) const
+{
+ typedef typename Gtk::TreeModelColumn<ColumnType>::ValueType ValueType;
+
+ ValueType value;
+ value.init(column.type());
+
+ value.set(data);
+ this->set_value_impl(column.index(), value);
+}
+
+template <class ColumnType>
+void TreeRow::set_value(int column, const ColumnType& data) const
+{
+ //This could fail at run-time, because the wrong ColumnType might be used.
+ //It's only for dynamically generated model columns.
+
+ typedef typename Gtk::TreeModelColumn<ColumnType> type_cppcolumn;
+ typedef typename type_cppcolumn::ValueType ValueType;
+
+ ValueType value;
+ value.init(ValueType::value_type());
+
+ value.set(data);
+ this->set_value_impl(column, value);
+}
+
+template <class ColumnType>
+ColumnType TreeRow::get_value(const TreeModelColumn<ColumnType>& column) const
+{
+ typedef typename Gtk::TreeModelColumn<ColumnType>::ValueType ValueType;
+
+ ValueType value;
+ this->get_value_impl(column.index(), value);
+
+ return value.get();
+}
+
+template <class ColumnType>
+void TreeRow::get_value(int column, ColumnType& data) const
+{
+ //This could fail at run-time, because the wrong ColumnType might be used.
+ //It's only for dynamically generated model columns.
+
+ typedef typename Gtk::TreeModelColumn<ColumnType>::ValueType ValueType;
+
+ ValueType value;
+ this->get_value_impl(column, value);
+
+ data = value.get();
+}
+
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treemodel.ccg b/libs/gtkmm2/gtk/src/treemodel.ccg
new file mode 100644
index 0000000000..bdaec3ab4a
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treemodel.ccg
@@ -0,0 +1,657 @@
+// -*- c++ -*-
+/* $Id: treemodel.ccg,v 1.13 2006/05/11 11:40:24 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/treeiter.h>
+#include <gtkmm/treepath.h>
+#include <gtk/gtktreestore.h>
+#include <gtk/gtktreemodel.h>
+
+namespace
+{
+
+static gboolean proxy_foreach_iter_callback(GtkTreeModel* model, GtkTreePath*, GtkTreeIter* iter, void* data)
+{
+ typedef Gtk::TreeModel::SlotForeachIter SlotType;
+ SlotType& slot = *static_cast<SlotType*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ return slot(Gtk::TreeModel::iterator(model, iter));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return 1;
+}
+
+static gboolean proxy_foreach_path_callback(GtkTreeModel*, GtkTreePath* path, GtkTreeIter*, void* data)
+{
+ typedef Gtk::TreeModel::SlotForeachPath SlotType;
+ SlotType& slot = *static_cast<SlotType*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ return slot(Gtk::TreeModel::Path(path, true));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return 1;
+}
+
+static gboolean proxy_foreach_path_and_iter_callback(GtkTreeModel* model, GtkTreePath* path,
+ GtkTreeIter* iter, void* data)
+{
+ typedef Gtk::TreeModel::SlotForeachPathAndIter SlotType;
+ SlotType& slot = *static_cast<SlotType*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ return slot(Gtk::TreeModel::Path(path, true), Gtk::TreeModel::iterator(model, iter));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return 1;
+}
+
+} //anonymous namespace
+
+
+//Help the code generator, so that it doesn't have to fully qualify this type:
+typedef Gtk::TreeModel::iterator iterator;
+
+namespace Gtk
+{
+
+TreeModel::iterator TreeModel::get_iter(const Path& path)
+{
+ Gtk::TreeModel::iterator iter(this);
+ gtk_tree_model_get_iter(gobj(), iter.gobj(), const_cast<GtkTreePath*>(path.gobj()));
+ return iter;
+}
+
+TreeModel::iterator TreeModel::get_iter(const Glib::ustring& path_string)
+{
+ Gtk::TreeModel::iterator iter (this);
+ gtk_tree_model_get_iter_from_string(gobj(), iter.gobj(), path_string.c_str());
+ return iter;
+}
+
+TreeModel::Children TreeModel::children()
+{
+ return TreeNodeChildren(this);
+}
+
+TreeModel::Children TreeModel::children() const
+{
+ //TODO: Remove the const when we have a real const TreeNodeChildren, when we have a real const_iterator.
+ return TreeNodeChildren(const_cast<TreeModel*>(this));
+}
+
+void TreeModel::set_value_impl(const iterator&, int, const Glib::ValueBase&)
+{
+ g_assert_not_reached();
+}
+
+void TreeModel::get_value_impl(const iterator& row, int column, Glib::ValueBase& value) const
+{
+ gtk_tree_model_get_value(
+ const_cast<GtkTreeModel*>(gobj()),
+ const_cast<GtkTreeIter*>(row.gobj()),
+ column, value.gobj());
+}
+
+void TreeModel::foreach_iter(const SlotForeachIter& slot)
+{
+ SlotForeachIter slot_copy (slot);
+ gtk_tree_model_foreach(gobj(), &proxy_foreach_iter_callback, &slot_copy);
+}
+
+void TreeModel::foreach_path(const SlotForeachPath& slot)
+{
+ SlotForeachPath slot_copy (slot);
+ gtk_tree_model_foreach(gobj(), &proxy_foreach_path_callback, &slot_copy);
+}
+
+void TreeModel::foreach(const SlotForeachPathAndIter& slot)
+{
+ SlotForeachPathAndIter slot_copy (slot);
+ gtk_tree_model_foreach(gobj(), &proxy_foreach_path_and_iter_callback, &slot_copy);
+}
+
+bool TreeModel::iter_is_valid(const iterator& iter) const
+{
+ //This method is overriden in TreeStore and ListStore.
+ //This implementation will only be used as a default for custom derived TreeModels,
+ //and when we wrap a C GtkTreeModel with a Gtk::TreeModel instance, without knowing what derived C type it is.
+
+ // This check is almost the same as the private VALID_ITER() macro in gtkliststore.c and
+ // gtktreestore.c.
+ return (!iter.is_end_ && iter.gobj()->stamp != 0);
+}
+
+#ifdef GLIBMM_VFUNCS_ENABLED
+
+// Custom vfunc callbacks, because the C++ vfuncs have different parameters and return types
+// that can not be generated automatically:
+gboolean TreeModel_Class::iter_next_vfunc_callback(GtkTreeModel* self, GtkTreeIter* iter)
+{
+ CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase::_get_current_wrapper((GObject*)self));
+
+ // Non-gtkmmproc-generated custom classes implicitly call the default
+ // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
+ // generated classes can use this optimisation, which avoids the unnecessary
+ // parameter conversions if there is no possibility of the virtual function
+ // being overridden:
+ if(obj && obj->is_derived_())
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ TreeModel::iterator iter_input = TreeModel::iterator(self, iter);
+ TreeModel::iterator iter_next( self, iter ); //Copies iter by value.
+ gboolean test = obj->iter_next_vfunc(iter_input, iter_next);
+
+ //Copy the new iter value to the C output parameter:
+ if(test)
+ *iter = *(iter_next.gobj());
+
+ return test;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+ else
+ {
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+ g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
+ )
+ );
+
+ // Call the original underlying C function:
+ if(base && base->iter_next)
+ return (*base->iter_next)(self, iter);
+ }
+
+ typedef gboolean RType;
+ return RType();
+}
+
+
+bool TreeModel::iter_next_vfunc(const iterator& iter, iterator& iter_next) const
+{
+ //Call the default C implementation:
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+ g_type_interface_peek(G_OBJECT_GET_CLASS(gobject_), CppObjectType::get_type()) // Get the interface.
+ )
+ );
+
+ if(base && base->iter_next)
+ {
+ TreeModel::iterator iter_copy = iter;
+ gboolean test = (*base->iter_next)(const_cast<GtkTreeModel*>(gobj()), iter_copy.gobj());
+ if(test)
+ iter_next = iter_copy;
+
+ return test;
+ }
+
+ return bool();
+}
+
+gboolean TreeModel_Class::get_iter_vfunc_callback(GtkTreeModel* self, GtkTreeIter* iter, GtkTreePath* path)
+{
+ CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase::_get_current_wrapper((GObject*)self));
+
+ // Non-gtkmmproc-generated custom classes implicitly call the default
+ // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
+ // generated classes can use this optimisation, which avoids the unnecessary
+ // parameter conversions if there is no possibility of the virtual function
+ // being overridden:
+ if(obj && obj->is_derived_())
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ Gtk::TreeModel::iterator iter_out(self, iter); //copies the iter by value.
+ gboolean test = obj->get_iter_vfunc(Gtk::TreePath(path, true), iter_out);
+
+ //Copy the new iter value to the C output parameter:
+ if(test)
+ *iter = *(iter_out.gobj());
+
+ return test;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+ else
+ {
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
+) );
+
+ // Call the original underlying C function:
+ if(base && base->get_iter)
+ return (*base->get_iter)(self, iter, const_cast<GtkTreePath*>(path));
+ }
+
+ typedef gboolean RType;
+ return RType();
+}
+
+bool TreeModel::get_iter_vfunc(const Path& path, iterator& iter) const
+{
+ //Call the default C implementation:
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+ g_type_interface_peek(G_OBJECT_GET_CLASS(gobject_), CppObjectType::get_type()) // Get the interface.
+ )
+ );
+
+ if(base && base->get_iter)
+ {
+ return (*base->get_iter)( const_cast<GtkTreeModel*>(gobj()), iter.gobj(), const_cast<GtkTreePath*>(path.gobj()) );
+ }
+
+ return bool();
+}
+
+gboolean TreeModel_Class::iter_children_vfunc_callback(GtkTreeModel* self, GtkTreeIter* iter, GtkTreeIter* parent)
+{
+ CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase::_get_current_wrapper((GObject*)self));
+
+ // Non-gtkmmproc-generated custom classes implicitly call the default
+ // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
+ // generated classes can use this optimisation, which avoids the unnecessary
+ // parameter conversions if there is no possibility of the virtual function
+ // being overridden:
+ if(obj && obj->is_derived_())
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ Gtk::TreeModel::iterator iter_out(self, iter); //copies the iter by value.
+
+ gboolean test = false;
+ if(!parent)
+ {
+ //Deal with this case, which is documented in the C docs as:
+ //" If @parent is %NULL returns the first node, equivalent to
+ // <literal>gtk_tree_model_get_iter_first (tree_model, iter);</literal> "
+ test = obj->iter_nth_root_child_vfunc(0, iter_out);
+ }
+ else
+ {
+ //Normal case:
+ Gtk::TreeModel::iterator parent_cpp(self, parent);
+ test = obj->iter_children_vfunc(parent_cpp, iter_out);
+ }
+
+ //Copy the new iter value to the C output parameter:
+ if(test)
+ *iter = *(iter_out.gobj());
+
+ return test;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+ else
+ {
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
+) );
+
+ // Call the original underlying C function:
+ if(base && base->iter_children)
+ return (*base->iter_children)(self, iter, parent);
+ }
+
+ typedef gboolean RType;
+ return RType();
+}
+
+bool TreeModel::iter_children_vfunc(const iterator& parent, iterator& iter) const
+{
+ //Call the default C implementation:
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+ g_type_interface_peek(G_OBJECT_GET_CLASS(gobject_), CppObjectType::get_type()) // Get the interface.
+ )
+ );
+
+ if(base && base->iter_children)
+ {
+ return (*base->iter_children)( const_cast<GtkTreeModel*>(gobj()), iter.gobj(), const_cast<GtkTreeIter*>(parent.gobj()) );
+ }
+
+ return bool();
+}
+
+gboolean TreeModel_Class::iter_parent_vfunc_callback(GtkTreeModel* self, GtkTreeIter* iter, GtkTreeIter* child)
+{
+ CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase::_get_current_wrapper((GObject*)self));
+
+ // Non-gtkmmproc-generated custom classes implicitly call the default
+ // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
+ // generated classes can use this optimisation, which avoids the unnecessary
+ // parameter conversions if there is no possibility of the virtual function
+ // being overridden:
+ if(obj && obj->is_derived_())
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ Gtk::TreeModel::iterator iter_out(self, iter);
+ Gtk::TreeModel::iterator child_cpp(self, child);
+ gboolean test = obj->iter_parent_vfunc(child_cpp, iter_out);
+
+ //Copy the new iter value to the C output parameter:
+ if(test)
+ *iter = *(iter_out.gobj());
+
+ return test;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+ else
+ {
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
+) );
+
+ // Call the original underlying C function:
+ if(base && base->iter_parent)
+ return (*base->iter_parent)(self, iter, child);
+ }
+
+ typedef gboolean RType;
+ return RType();
+}
+
+bool TreeModel::iter_parent_vfunc(const iterator& child, iterator& iter) const
+{
+ //Call the default C implementation:
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+ g_type_interface_peek(G_OBJECT_GET_CLASS(gobject_), CppObjectType::get_type()) // Get the interface.
+ )
+ );
+
+ if(base && base->iter_parent)
+ {
+ return (*base->iter_parent)( const_cast<GtkTreeModel*>(gobj()), iter.gobj(), const_cast<GtkTreeIter*>(child.gobj()) );
+ }
+
+ return bool();
+}
+
+gboolean TreeModel_Class::iter_nth_child_vfunc_callback(GtkTreeModel* self, GtkTreeIter* iter, GtkTreeIter* parent, int n)
+{
+ CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase::_get_current_wrapper((GObject*)self));
+
+ // Non-gtkmmproc-generated custom classes implicitly call the default
+ // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
+ // generated classes can use this optimisation, which avoids the unnecessary
+ // parameter conversions if there is no possibility of the virtual function
+ // being overridden:
+ if(obj && obj->is_derived_())
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ Gtk::TreeModel::iterator iter_out(self, iter);
+
+ gboolean test = false;
+ if(!parent)
+ {
+ // Deal with this special case, docuemnted in the C docs as:
+ // "As a special case, if @parent is %NULL, then the nth root node is set.":
+ test = obj->iter_nth_root_child_vfunc(n, iter_out);
+ }
+ else
+ {
+ //The normal case:
+ Gtk::TreeModel::iterator parent_cpp(self, parent);
+ test = obj->iter_nth_child_vfunc(parent_cpp, n, iter_out);
+ }
+
+ //Copy the new iter value to the C output parameter:
+ if(test)
+ *iter = *(iter_out.gobj());
+
+ return test;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+ else
+ {
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
+) );
+
+ // Call the original underlying C function:
+ if(base && base->iter_nth_child)
+ return (*base->iter_nth_child)(self, iter, parent, n);
+ }
+
+ typedef gboolean RType;
+ return RType();
+}
+
+bool TreeModel::iter_nth_child_vfunc(const iterator& parent, int n, iterator& iter) const
+{
+ //Call the default C implementation:
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+ g_type_interface_peek(G_OBJECT_GET_CLASS(gobject_), CppObjectType::get_type()) // Get the interface.
+ )
+ );
+
+ if(base && base->iter_nth_child)
+ {
+ return (*base->iter_nth_child)( const_cast<GtkTreeModel*>(gobj()), iter.gobj(), const_cast<GtkTreeIter*>(parent.gobj()), n );
+ }
+
+ return bool();
+}
+
+//See the implementation of iter_children_vfunc_callback() and iter_nth_child_vfunc_callback()
+//to find out why this virtual function exists:
+bool TreeModel::iter_nth_root_child_vfunc(int n, iterator& iter) const
+{
+ //Call the default C implementation:
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+ g_type_interface_peek(G_OBJECT_GET_CLASS(gobject_), CppObjectType::get_type()) // Get the interface.
+ )
+ );
+
+ if(base && base->iter_nth_child)
+ {
+ //This means that iter_nth_child(0) might be called by iter_children_vfunc_callback(),
+ //but hopefully that's exactly the same thing. TODO: Ask why both vfuncs exist. murrayc.
+ return (*base->iter_nth_child)( const_cast<GtkTreeModel*>(gobj()), iter.gobj(), 0 /* the null parent */, n );
+ }
+
+ return bool();
+}
+
+gboolean TreeModel_Class::iter_n_children_vfunc_callback(GtkTreeModel* self, GtkTreeIter* iter)
+{
+ CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase::_get_current_wrapper((GObject*)self));
+
+ // Non-gtkmmproc-generated custom classes implicitly call the default
+ // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
+ // generated classes can use this optimisation, which avoids the unnecessary
+ // parameter conversions if there is no possibility of the virtual function
+ // being overridden:
+ if(obj && obj->is_derived_())
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+
+ //Deal with the case that iter is null, as described in the C docs:
+ if(iter)
+ return obj->iter_n_children_vfunc( Gtk::TreeModel::iterator(self, iter) );
+ else
+ return obj->iter_n_root_children_vfunc();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+ else
+ {
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+g_type_interface_peek(G_OBJECT_GET_CLASS(self), CppObjectType::get_type()) // Get the interface.
+) );
+
+ // Call the original underlying C function:
+ if(base && base->iter_n_children)
+ return (*base->iter_n_children)(self, iter);
+ }
+
+ typedef gboolean RType;
+ return RType();
+}
+
+int TreeModel::iter_n_children_vfunc(const iterator& iter) const
+{
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+g_type_interface_peek(G_OBJECT_GET_CLASS(gobject_), CppObjectType::get_type()) // Get the interface.
+) );
+
+ if(base && base->iter_n_children)
+ return (*base->iter_n_children)(const_cast<GtkTreeModel*>(gobj()), const_cast<GtkTreeIter*>((iter).gobj()));
+
+ typedef int RType;
+ return RType();
+}
+
+int TreeModel::iter_n_root_children_vfunc() const
+{
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_interface_peek_parent( // Get the parent interface of the interface (The original underlying C interface).
+g_type_interface_peek(G_OBJECT_GET_CLASS(gobject_), CppObjectType::get_type()) // Get the interface.
+) );
+
+ if(base && base->iter_n_children)
+ return (*base->iter_n_children)(const_cast<GtkTreeModel*>(gobj()), 0 /* null iter to mean root node, as described in C docs */);
+
+ typedef int RType;
+ return RType();
+}
+
+#endif //GLIBMM_VFUNCS_ENABLED
+
+
+void TreeModel::rows_reordered(const Path& path, const iterator& iter, const Glib::ArrayHandle<int>& new_order)
+{
+ //The size of the array seems to be based on the known number of children. murrayc.
+ gtk_tree_model_rows_reordered(gobj(), const_cast<GtkTreePath*>((path).gobj()), const_cast<GtkTreeIter*>((iter).gobj()), const_cast<int*>(new_order.data()));
+}
+
+void TreeModel::rows_reordered(const Path& path, const Glib::ArrayHandle<int>& new_order)
+{
+ //The size of the array seems to be based on the known number of children. murrayc.
+ gtk_tree_model_rows_reordered(gobj(), const_cast<GtkTreePath*>((path).gobj()), 0, const_cast<int*>(new_order.data()));
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treemodel.hg b/libs/gtkmm2/gtk/src/treemodel.hg
new file mode 100644
index 0000000000..e9918c8d8e
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treemodel.hg
@@ -0,0 +1,429 @@
+/* $Id: treemodel.hg,v 1.25 2006/05/10 20:59:28 murrayc Exp $ */
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtktreemodel.h>
+#include <glibmm/interface.h>
+#include <gtkmm/treeiter.h>
+#include <gtkmm/treemodelcolumn.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/interface_p.h)
+
+namespace Gtk
+{
+
+class TreeModelSort;
+class TreePath;
+class TreeRowReference;
+
+_CC_INCLUDE(gtk/gtktypebuiltins.h)
+_WRAP_ENUM(TreeModelFlags, GtkTreeModelFlags)
+
+//TODO: Remove any mention of null arguments from the method documentation, by adding overrides in gtk_docs_override.xml.
+/** This class defines a generic tree interface for use by the Gtk::TreeView widget.
+ * @ingroup TreeView
+ *
+ * It is is designed to be usable with any appropriate data structure. The
+ * programmer just has to implement this interface on their own data type for
+ * it to be viewable by a Gtk::TreeView widget.
+ *
+ * The model is represented as a hierarchical tree of strongly-typed, columned
+ * data. In other words, the model can be seen as a tree where every node has
+ * different values depending on which column is being queried. The type of
+ * data found in a column is determined by TreeModel::Column<> templates.
+ * The types are homogeneous per column across all nodes. It is important to note that this
+ * interface only provides a way of examining a model and observing changes.
+ * The implementation of each individual model decides how and if changes are
+ * made.
+ *
+ * In order to make life simpler for programmers who do not need to write their
+ * own specialized model, two generic models are provided - the Gtk::TreeStore
+ * and the Gtk::ListStore. To use these, the developer simply pushes data into
+ * these models as necessary. These models provide the data structure as well
+ * as all appropriate tree interfaces. As a result, implementing drag and drop,
+ * sorting, and storing data is trivial. For the vast majority of trees and
+ * lists, these two models are sufficient.
+ *
+ * Models are accessed on a node/column level of granularity. One can query for
+ * the value of a model at a certain node and a certain column on that node.
+ * There are two structures used to reference a particular node in a model.
+ * They are the @link Gtk::TreePath Path@endlink and the iterator. Most of the interface consists of
+ * operations on an @link Gtk::TreeIter iterator@endlink.
+ *
+ * A @link Gtk::TreePath Gtk::TreeModel::Path@endlink is essentially a potential node. It is a location on a model that may
+ * or may not actually correspond to a node on a specific model.
+ *
+ * By contrast, an @link Gtk::TreeIter Gtk::TreeModel::iterator@endlink is a reference to a specific node on a specific
+ * model. One can convert a path to an @link Gtk::TreeIter iterator@endlink by calling Gtk::TreeModel::get_iter().
+ * These iterators are the primary way of accessing a model and are similar to the iterators
+ * used by Gtk::TextBuffer. The model interface defines a set of operations
+ * using them for navigating the model.
+ *
+ * The @link Gtk::TreeRowReference RowReference@endlink is also useful, because it remains
+ * valid as long as there is an existing row pointed to by it's path. You can convert between RowReferences and iterators and @link Gtk::TreePath Path@endlink s.
+ */
+class TreeModel : public Glib::Interface
+{
+ _CLASS_INTERFACE(TreeModel, GtkTreeModel, GTK_TREE_MODEL, GtkTreeModelIface)
+ _IGNORE(
+ gtk_tree_model_iter_parent, gtk_tree_model_get_iter, gtk_tree_model_get,
+ gtk_tree_model_get_iter_from_string, gtk_tree_model_get_string_from_iter,
+ gtk_tree_model_iter_nth_child,
+ gtk_tree_model_ref_node, gtk_tree_model_get_valist,
+ gtk_tree_model_iter_next, gtk_tree_model_iter_has_child,
+ gtk_tree_model_unref_node, gtk_tree_model_iter_children,
+ gtk_tree_model_iter_n_children, gtk_tree_model_get_iter_first,
+ gtk_tree_model_get_value)
+
+public:
+ typedef TreeModelColumnRecord ColumnRecord;
+
+ typedef TreeNodeChildren Children;
+ typedef Children::iterator iterator;
+ typedef Children::reverse_iterator reverse_iterator;
+ typedef Children::const_iterator const_iterator;
+ typedef Children::const_reverse_iterator const_reverse_iterator;
+
+ typedef TreeRow Row;
+ typedef TreePath Path;
+ typedef TreeRowReference RowReference;
+
+
+ //These are part of GtkTreeModelFilter or GtkTreeModelSort, not GtkTreeModel:
+ _IGNORE(gtk_tree_model_filter_new, gtk_tree_model_sort_new_with_model, gtk_tree_model_filter_sort_new_with_model)
+
+ /** Returns a valid iterator pointing to @a path.
+ *
+ * @param path The @link Gtk::TreePath Gtk::TreeModel::Path@endlink.
+ * @result A valid iterator pointing to the path, or an invalid iterator if that is not possible.
+ */
+ iterator get_iter(const Path& path);
+ //TODO: Add const_iterator get_iter(const Path& path) const;
+ //Implement a const_iterator?
+
+ /** Returns a valid iterator pointing to @a path_string.
+ *
+ * @param path_string The path, as a string representation.
+ * @result A valid iterator pointing to the path, or an invalid iterator if that is not possible.
+ */
+ iterator get_iter(const Glib::ustring& path_string);
+ //TODO: Implement a const_iterator? const_iterator get_iter(const Glib::ustring& path_string) const;
+
+ ///This returns an STL-like container API, for iterating over the rows.
+ Children children();
+
+ //TODO: Return a real TreeNodeChildren (a container of const_iterators), when we have a real const_iterator.
+ ///This returns an STL-like container API, for iterating over the rows.
+ Children children() const;
+
+ _IGNORE(gtk_tree_model_foreach)
+
+ /** For example,
+ * void on_foreach(const Gtk::TreeModel::iterator& iter);
+ *
+ * If the callback function returns true, then the tree ceases to be walked, and foreach() returns.
+ */
+ typedef sigc::slot<bool, const TreeModel::iterator&> SlotForeachIter;
+
+ /** Calls a callback slot on each node in the model in a depth-first fashion.
+ * If the callback function returns true, then the tree ceases to be walked, and foreach() returns.
+ *
+ * @param slot The function to call for each selected node.
+ */
+ void foreach_iter(const SlotForeachIter& slot);
+
+ /** For example,
+ * void on_foreach(const Gtk::TreeModel::Path& path);
+ *
+ * If the callback function returns true, then the tree ceases to be walked, and foreach() returns.
+ */
+ typedef sigc::slot<bool, const TreeModel::Path&> SlotForeachPath;
+
+ /** Calls a callback slot on each node in the model in a depth-first fashion.
+ * If the callback function returns true, then the tree ceases to be walked, and foreach() returns.
+ *
+ * @param slot The function to call for each selected node.
+ */
+ void foreach_path(const SlotForeachPath& slot);
+
+ /** For example,
+ * void on_foreach(const Gtk::TreeModel::Path& path, const Gtk::TreeModel::iterator& iter);
+ *
+ * If the callback function returns true, then the tree ceases to be walked, and foreach() returns.
+ */
+ typedef sigc::slot<bool, const TreeModel::Path&, const TreeModel::iterator&> SlotForeachPathAndIter;
+
+ /** Calls a callback slot on each node in the model in a depth-first fashion.
+ * If the callback function returns true, then the tree ceases to be walked, and foreach() returns.
+ *
+ * @param slot The function to call for each selected node.
+ */
+ void foreach(const SlotForeachPathAndIter& slot);
+
+ _WRAP_METHOD(TreeModelFlags get_flags() const, gtk_tree_model_get_flags)
+ _WRAP_METHOD(int get_n_columns() const, gtk_tree_model_get_n_columns)
+ _WRAP_METHOD(GType get_column_type(int index) const, gtk_tree_model_get_column_type)
+ //TODO: A C++-type version of get_column_type()?
+
+ _WRAP_METHOD(TreeModel::Path get_path(const iterator& iter) const, gtk_tree_model_get_path)
+
+ _WRAP_METHOD(void row_changed(const Path& path, const iterator& iter), gtk_tree_model_row_changed)
+ _WRAP_METHOD(void row_inserted(const Path& path, const iterator& iter), gtk_tree_model_row_inserted)
+ _WRAP_METHOD(void row_has_child_toggled(const Path& path, const iterator& iter), gtk_tree_model_row_has_child_toggled)
+ _WRAP_METHOD(void row_deleted(const Path& path), gtk_tree_model_row_deleted)
+
+ /** Emits the "rows_reordered" signal on the tree model. This should be called by
+ * custom models when their rows have been reordered.
+ *
+ * @param path A tree path pointing to the tree node whose children have been reordered.
+ * @param iter A valid iterator pointing to the node whose children have been reordered. See also, rows_reordered(const Path& path, const Glib::ArrayHandle<int>& new_order), if the path has a depth of 0.
+ * @param new_order An array of integers mapping the current position of each child
+ * to its old position before the re-ordering, i.e. @a new_order<literal>[newpos] = oldpos.
+ */
+ void rows_reordered(const Path& path, const iterator& iter, const Glib::ArrayHandle<int>& new_order);
+
+ /** Emits the "rows_reordered" signal on the tree model. This should be called by
+ * custom models when their rows have been reordered. This method overload is for nodes whose
+ * path has a depth of 0.
+ * @newin2p10
+ *
+ * @param path A tree path pointing to the tree node whose children have been reordered.
+ * @param new_order An array of integers mapping the current position of each child
+ * to its old position before the re-ordering, i.e. @a new_order<literal>[newpos] = oldpos.
+ */
+ void rows_reordered(const Path& path, const Glib::ArrayHandle<int>& new_order);
+
+ _WRAP_METHOD(void rows_reordered(const Path& path, const iterator& iter, int* new_order), gtk_tree_model_rows_reordered)
+
+ _WRAP_METHOD(Glib::ustring get_string(const iterator& iter) const, gtk_tree_model_get_string_from_iter)
+
+#m4 _CONVERSION(`GtkTreeIter*',`const iterator&',`Gtk::TreeModel::iterator(self, $3)')
+#m4 _CONVERSION(`GtkTreeIter*',`const TreeModel::iterator&',`Gtk::TreeModel::iterator(self, $3)')
+ _WRAP_SIGNAL(void row_changed(const TreeModel::Path& path, const TreeModel::iterator& iter), "row_changed")
+ _WRAP_SIGNAL(void row_inserted(const TreeModel::Path& path, const TreeModel::iterator& iter), "row_inserted")
+ _WRAP_SIGNAL(void row_has_child_toggled(const TreeModel::Path& path, const TreeModel::iterator& iter), "row_has_child_toggled")
+ _WRAP_SIGNAL(void row_deleted(const TreeModel::Path& path), "row_deleted")
+ _WRAP_SIGNAL(void rows_reordered(const TreeModel::Path& path, const TreeModel::iterator& iter, int* new_order), "rows_reordered")
+
+protected:
+ _WRAP_VFUNC(TreeModelFlags get_flags() const, get_flags)
+ _WRAP_VFUNC(int get_n_columns() const, get_n_columns)
+ _WRAP_VFUNC(GType get_column_type(int index) const, get_column_type)
+
+ //These are only for deriving new TreeModels, which isn't very common or easy:
+
+#ifdef GLIBMM_VFUNCS_ENABLED
+ /** Override and implement this in a derived TreeModel class.
+ * Sets @a iter_next to refer to the node following @a iter it at the current level.
+ * If there is no next iter, false is returned and iter_next is set to be invalid.
+ *
+ * @param iter An iterator.
+ * @param iter_next An iterator that will be set to refer to the next node, or will be set as invalid.
+ * @result true if the operation was possible.
+ */
+ virtual bool iter_next_vfunc(const iterator& iter, iterator& iter_next) const;
+
+ /** Override and implement this in a derived TreeModel class.
+ * Sets @a iter to a valid iterator pointing to @a path
+ *
+ * @param path An path to a node.
+ * @param iter An iterator that will be set to refer to a node to the path, or will be set as invalid.
+ * @result true if the operation was possible.
+ */
+ virtual bool get_iter_vfunc(const Path& path, iterator& iter) const;
+
+ /** Override and implement this in a derived TreeModel class.
+ * Sets @a iter to refer to the first child of @a parent. If @a parent has no children,
+ * false is returned and @a iter is set to be invalid.
+ *
+ * @param parent An iterator.
+ * @param iter An iterator that will be set to refer to the firt child node, or will be set as invalid.
+ * @result true if the operation was possible.
+ */
+ virtual bool iter_children_vfunc(const iterator& parent, iterator& iter) const;
+
+ /** Override and implement this in a derived TreeModel class.
+ * Sets @a iter to be the parent of @a child. If @a child is at the toplevel, and
+ * doesn't have a parent, then @a iter is set to an invalid iterator and false
+ * is returned.
+ *
+ * @param child An iterator.
+ * @param iter An iterator that will be set to refer to the parent node, or will be set as invalid.
+ * @result true if the operation was possible.
+ */
+ virtual bool iter_parent_vfunc(const iterator& child, iterator& iter) const;
+
+ /** Override and implement this in a derived TreeModel class.
+ * Sets @a iter to be the child of @a parent using the given index. The first
+ * index is 0. If @a n is too big, or @a parent has no children, @a iter is set
+ * to an invalid iterator and false is returned.
+ * See also iter_nth_root_child_vfunc()
+ *
+ * @param parent An iterator.
+ * @param n The index of the child node to which @a iter should be set.
+ * @param iter An iterator that will be set to refer to the nth node, or will be set as invalid.
+ * @result true if the operation was possible.
+ */
+ virtual bool iter_nth_child_vfunc(const iterator& parent, int n, iterator& iter) const;
+
+ /** Override and implement this in a derived TreeModel class.
+ * Sets @a iter to be the child of at the root level using the given index. The first
+ * index is 0. If @a n is too big, or if there are no children, @a iter is set
+ * to an invalid iterator and false is returned.
+ * See also iter_nth_child_vfunc().
+ *
+ * @param n The index of the child node to which @a iter should be set.
+ * @param iter An iterator that will be set to refer to the nth node, or will be set as invalid.
+ * @result true if the operation was possible.
+ */
+ virtual bool iter_nth_root_child_vfunc(int n, iterator& iter) const;
+#endif //GLIBMM_VFUNCS_ENABLED
+
+
+
+#m4begin
+dnl// We want to hand-code these C vfunc callbacks,
+dnl// so that we can do forward them to C++ methods with different parameters and return types.
+dnl
+ _PUSH(SECTION_PCC_CLASS_INIT_VFUNCS)
+ klass->iter_next = &iter_next_vfunc_callback;
+ klass->get_iter = &get_iter_vfunc_callback;
+ klass->iter_children = &iter_children_vfunc_callback;
+ klass->iter_parent = &iter_parent_vfunc_callback;
+ klass->iter_nth_child = &iter_nth_child_vfunc_callback;
+ klass->iter_n_children = &iter_n_children_vfunc_callback;
+ _SECTION(SECTION_PH_VFUNCS)
+ static gboolean iter_next_vfunc_callback(GtkTreeModel* self, GtkTreeIter* iter);
+ static gboolean get_iter_vfunc_callback(GtkTreeModel* self, GtkTreeIter* iter, GtkTreePath* path);
+ static gboolean iter_children_vfunc_callback(GtkTreeModel* self, GtkTreeIter* iter, GtkTreeIter* parent);
+ static gboolean iter_parent_vfunc_callback(GtkTreeModel* self, GtkTreeIter* iter, GtkTreeIter* child);
+ static gboolean iter_nth_child_vfunc_callback(GtkTreeModel* self, GtkTreeIter* iter, GtkTreeIter* parent, int n);
+ static int iter_n_children_vfunc_callback(GtkTreeModel* self, GtkTreeIter* iter);
+ _POP()
+#m4end
+
+ /** Override and implement this in a derived TreeModel class.
+ * Returns true if @a iter has children, false otherwise.
+ *
+ * @param iter The iterator to test for children.
+ * @result true if @a iter has children.
+ */
+ _WRAP_VFUNC(bool iter_has_child(const iterator& iter) const, iter_has_child)
+
+#ifdef GLIBMM_VFUNCS_ENABLED
+ /** Override and implement this in a derived TreeModel class.
+ * Returns the number of children that @a iter has.
+ * See also iter_n_root_children_vfunc().
+ *
+ * @param iter The iterator to test for children.
+ * @result The number of children of @a iter.
+ */
+ virtual int iter_n_children_vfunc(const iterator& iter) const;
+
+ /** Override and implement this in a derived TreeModel class.
+ * Returns the number of toplevel nodes.
+ * See also iter_n_children().
+ *
+ * @result The number of children at the root level.
+ */
+ virtual int iter_n_root_children_vfunc() const;
+#endif //GLIBMM_VFUNCS_ENABLED
+
+ /** Override and implement this in a derived TreeModel class.
+ * Lets the tree ref the node. This is an optional method for models to
+ * implement. To be more specific, models may ignore this call as it exists
+ * primarily for performance reasons.
+ *
+ * This function is primarily meant as a way for views to let caching model know
+ * when nodes are being displayed (and hence, whether or not to cache that
+ * node.) For example, a file-system based model would not want to keep the
+ * entire file-hierarchy in memory, just the sections that are currently being
+ * displayed by every current view.
+ *
+ * A model should be expected to be able to get an iter independent of its
+ * reffed state.
+ *
+ * @param iter the iterator.
+ */
+ _WRAP_VFUNC(void ref_node(const iterator& iter) const, ref_node)
+
+ /** Override and implement this in a derived TreeModel class.
+ * Lets the tree unref the node. This is an optional method for models to
+ * implement. To be more specific, models may ignore this call as it exists
+ * primarily for performance reasons.
+ *
+ * For more information on what this means, see unref_node_vfunc().
+ * Please note that nodes that are deleted are not unreffed.
+ *
+ * @param iter the iterator.
+ */
+ _WRAP_VFUNC(void unref_node(const iterator& iter) const, unref_node)
+
+ /** Override and implement this in a derived TreeModel class.
+ * Returns a Path referenced by @a iter.
+ *
+ * @param iter The iterator.
+ * @result The path.
+ */
+#m4 _CONVERSION(`TreeModel::Path', `GtkTreePath*', `($3).gobj_copy()')
+ _WRAP_VFUNC(TreeModel::Path get_path(const iterator& iter) const, get_path)
+
+ /** Override and implement this in a derived TreeModel class.
+ * Initializes and sets @a value to that at @a column.
+ *
+ * @param iter The iterator.
+ * @param column The column to lookup the value at.
+ * @param value An empty Glib:Value to set.
+ */
+ _WRAP_VFUNC(void get_value(const iterator& iter, int column, Glib::ValueBase& value) const, get_value)
+
+ /** Override and implement this in a derived TreeModel class.
+ * @note This virtual method is not recommended. To check
+ * whether an iterator is valid, call TreeStore::iter_is_valid(),
+ * ListStore::iter_is_valid() or TreeModelSort::iter_is_valid() directly
+ * instead. Because these methods are intended to be used only for debugging
+ * and/or testing purposes, it doesn't make sense to provide an abstract
+ * interface to them.
+ *
+ * @result true if the iterator is valid.
+ *
+ * @deprecated Use iter_is_valid() in the derived class.
+ */
+ virtual bool iter_is_valid(const iterator& iter) const;
+
+ //Called by TreeRow, which is a friend class:
+ //The comment about set_row_changed() in the documentation is based on my reading of the source of
+ //gtk_list_store_set_value() and gtk_tree_store_set_value().
+ /** Override and implement this in a derived TreeModel class, so that Row::operator() and
+ * Row::set_value() work.
+ * You can probably just implement this by calling set_value_vfunc().
+ * Your implementation of set_value_impl() should also call set_row_changed() after changing the value.
+ */
+ virtual void set_value_impl(const iterator& row, int column, const Glib::ValueBase& value);
+
+ //This might not need to be virtual, but it's not a big deal. murrayc.
+ virtual void get_value_impl(const iterator& row, int column, Glib::ValueBase& value) const;
+
+ friend class Gtk::TreeModelSort;
+ friend class Gtk::TreeRow;
+ friend class Gtk::TreeIter;
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treemodelfilter.ccg b/libs/gtkmm2/gtk/src/treemodelfilter.ccg
new file mode 100644
index 0000000000..ee52b6216d
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treemodelfilter.ccg
@@ -0,0 +1,160 @@
+// -*- c++ -*-
+/* $Id: treemodelfilter.ccg,v 1.9 2006/05/11 11:40:24 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtktreemodelfilter.h>
+
+
+static gboolean SignalProxy_Visible_gtk_callback(GtkTreeModel* model, GtkTreeIter* iter, gpointer data)
+{
+ Gtk::TreeModelFilter::SlotVisible* the_slot = static_cast<Gtk::TreeModelFilter::SlotVisible*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENAB
+ return (*the_slot)( Gtk::TreeModel::const_iterator(model, iter) );
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return FALSE; //An arbitary default, just to avoid the compiler warning.
+}
+
+static void SignalProxy_Visible_gtk_callback_destroy(void* data)
+{
+ delete static_cast<Gtk::TreeModelFilter::SlotVisible*>(data);
+}
+
+
+static void SignalProxy_Modify_gtk_callback(GtkTreeModel* model, GtkTreeIter* iter, GValue* value, gint column, gpointer data)
+{
+ Gtk::TreeModelFilter::SlotModify* the_slot = static_cast<Gtk::TreeModelFilter::SlotModify*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ //Initialize the input parameter with the appropriate type for this column.
+ //Then the C++ handler can just use operator==() without calling init on the value output arg:
+ Glib::ValueBase cppValue;
+ GType column_type = gtk_tree_model_get_column_type(model, column);
+ cppValue.init(column_type);
+
+ (*the_slot)( Gtk::TreeModel::const_iterator(model, iter), cppValue, column );
+
+ //GTK+ has already done this for us: g_value_init(value, column_type);
+
+ //If the C++ handler has inited value with an inappropriate GType, then this will fail,
+ //but they should not do that because it makes no sense.
+ g_value_copy(cppValue.gobj() /* source */, value /* destination */);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+static void SignalProxy_Modify_gtk_callback_destroy(void* data)
+{
+ delete static_cast<Gtk::TreeModelFilter::SlotModify*>(data);
+}
+
+
+typedef Gtk::TreeModel::Path Path; //So that the generated method implemenations can use this a return type.
+
+namespace Gtk
+{
+
+TreeModelFilter::TreeModelFilter(const Glib::RefPtr<TreeModel>& child_model)
+:
+ _CONSTRUCT("child_model", child_model->gobj())
+{
+}
+
+TreeModelFilter::TreeModelFilter(const Glib::RefPtr<TreeModel>& child_model, const TreeModel::Path& virtual_root)
+:
+ _CONSTRUCT("child_model", child_model->gobj(), "virtual_root", (virtual_root.empty() ? 0 : const_cast<GtkTreePath*>((virtual_root).gobj())) )
+{
+}
+
+void TreeModelFilter::set_visible_func(const SlotVisible& slot)
+{
+ // Create a copy of the slot. A pointer to this will be passed
+ // through the callback's data parameter. It will be deleted
+ // when SignalProxy_Visible_gtk_callback_destroy() is called.
+ SlotVisible* slot_copy = new SlotVisible(slot);
+
+ gtk_tree_model_filter_set_visible_func(gobj(),
+ &SignalProxy_Visible_gtk_callback, slot_copy,
+ &SignalProxy_Visible_gtk_callback_destroy);
+}
+
+
+TreeModel::iterator TreeModelFilter::convert_child_iter_to_iter(const iterator& child_iter) const
+{
+ TreeIter filter_iter (const_cast<TreeModelFilter*>(this));
+
+ gtk_tree_model_filter_convert_child_iter_to_iter(
+ const_cast<GtkTreeModelFilter*>(gobj()), filter_iter.gobj(),
+ const_cast<GtkTreeIter*>(child_iter.gobj()));
+
+ return filter_iter;
+}
+
+TreeModel::iterator TreeModelFilter::convert_iter_to_child_iter(const iterator& filter_iter) const
+{
+ GtkTreeModel *const child_model = gtk_tree_model_filter_get_model(const_cast<GtkTreeModelFilter*>(gobj()));
+
+ TreeIter child_iter (dynamic_cast<TreeModel*>(Glib::wrap_auto((GObject*) child_model, false)));
+
+ gtk_tree_model_filter_convert_iter_to_child_iter(
+ const_cast<GtkTreeModelFilter*>(gobj()), child_iter.gobj(),
+ const_cast<GtkTreeIter*>(filter_iter.gobj()));
+
+ return child_iter;
+}
+
+void TreeModelFilter::set_modify_func(const TreeModelColumnRecord& columns, const SlotModify& slot)
+{
+ // Create a copy of the slot. A pointer to this will be passed
+ // through the callback's data parameter. It will be deleted
+ // when SignalProxy_Modify_gtk_callback_destroy() is called.
+ SlotModify* slot_copy = new SlotModify(slot);
+
+ gtk_tree_model_filter_set_modify_func(gobj(),
+ columns.size(), const_cast<GType*>(columns.types()),
+ &SignalProxy_Modify_gtk_callback, slot_copy,
+ &SignalProxy_Modify_gtk_callback_destroy);
+}
+
+void TreeModelFilter::set_value_impl(const iterator& /* row */, int /* column */, const Glib::ValueBase& /* value */)
+{
+ g_warning("Attempt to set a value of a row in a TreeModelFilter instead of in the child model.");
+}
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treemodelfilter.hg b/libs/gtkmm2/gtk/src/treemodelfilter.hg
new file mode 100644
index 0000000000..5a5d0a2fc4
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treemodelfilter.hg
@@ -0,0 +1,135 @@
+/* $Id: treemodelfilter.hg,v 1.16 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* Copyright(C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or(at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/treeiter.h>
+#include <gtkmm/treemodel.h>
+// We couldn't include it in treemodel.h, but doing it here makes it easier for people.
+#include <gtkmm/treepath.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Gtk
+{
+
+/**
+ * @ingroup TreeView
+ *
+ */
+class TreeModelFilter :
+ public Glib::Object,
+ public TreeModel
+{
+ _CLASS_GOBJECT(TreeModelFilter, GtkTreeModelFilter, GTK_TREE_MODEL_FILTER, Glib::Object, GObject)
+ _IMPLEMENTS_INTERFACE(TreeModel)
+
+protected:
+
+ explicit TreeModelFilter(const Glib::RefPtr<TreeModel>& child_model);
+ explicit TreeModelFilter(const Glib::RefPtr<TreeModel>& child_model, const TreeModel::Path& virtual_root);
+ _IGNORE(gtk_tree_model_filter_new)
+
+public:
+
+ /** This creates a TreeModelFilter with @a child_model as the child model.
+ * You can use set_visible_func(), set_visible_column() and/or set_modify_func() to change the mapping of child
+ * model to parent model.
+ */
+ _WRAP_CREATE(const Glib::RefPtr<TreeModel>& child_model)
+
+ /** This creates a TreeModelFilter with @a child_model as the child model, and @a root as the virtual root.
+ * You can use set_visible_func(), set_visible_column() and/or set_modify_func() to change the mapping of child
+ * model to parent model.
+ */
+ _WRAP_CREATE(const Glib::RefPtr<TreeModel>& child_model, const TreeModel::Path& virtual_root)
+
+
+ /** For instance,
+ * bool on_visible(const TreeModel::const_iterator& iter);
+ * This should return true if the given row should be visible and false otherwise.
+ */
+ typedef sigc::slot<bool, const TreeModel::const_iterator&> SlotVisible;
+
+ /** Sets the "visible" callback used when filtering the filter.
+ * The callback function should return true if the given row should be visible and false otherwise.
+ *
+ * @param slot A callback slot which determines whether the row should be visible.
+ */
+ void set_visible_func(const SlotVisible& slot);
+ _IGNORE(gtk_tree_model_filter_set_visible_func)
+
+ //TODO: It would be nicer to use "const TreeModelColumnBase& column" instead of "int column",
+ //but how can we get the TreeModelColumnBase from the int in the SignalProxy?
+ //Maybe we could pass the ColumnsRecord to set_modify_func() and store it in the proxy? murrayc.
+ /** For instance,
+ * void on_modify(const Gtk::TreeModel::iterator& iter, Glib::ValueBase& value, int column);
+ *
+ * where iter is an iterator to a row in the child model,
+ * value is an output parameter in which you must store the value to be used in the parent model's row,
+ * column is the column in the parent row whose row value you must provide in the value output paramater.
+ */
+ typedef sigc::slot<void, const Gtk::TreeModel::iterator& /* iter */, Glib::ValueBase& /* value */, int /* column */> SlotModify;
+
+ /** Specify columns that will be provided by this model, and a callback that will provide data for these
+ * columns based on data in the columns of the child model.
+ * The modify function will get called for each data access.
+ *
+ * @param columns Column types for this model (which will be exposed to the parent model/view).
+ * @param slot A callback which will be called for each data access.
+ */
+ void set_modify_func(const TreeModelColumnRecord& columns, const SlotModify& slot);
+ _IGNORE(gtk_tree_model_filter_set_modify_func)
+
+ _WRAP_METHOD(void set_visible_column(const TreeModelColumnBase& column), gtk_tree_model_filter_set_visible_column)
+ _WRAP_METHOD(void set_visible_column(int column), gtk_tree_model_filter_set_visible_column)
+
+ _WRAP_METHOD(Glib::RefPtr<TreeModel> get_model(), gtk_tree_model_filter_get_model, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const TreeModel> get_model() const, gtk_tree_model_filter_get_model, refreturn, constversion)
+
+ /** Gets an iterator that points to the sorted row that corresponds to the child row pointed at by child_iter.
+ *
+ * @param child_iter A valid iterator pointing to a row on the child model.
+ * @result A valid iterator that points to the row in this sorted model.
+ */
+ iterator convert_child_iter_to_iter(const iterator& child_iter) const;
+
+ /** Gets an iterator that points to the child row that corresponds to the sorted row pointed at by sorted_iter.
+ *
+ * @param filter_iter A valid iterator pointing to a row on the sorted model.
+ * @result A valid iterator that points to the row in the child model.
+ */
+ iterator convert_iter_to_child_iter(const iterator& filter_iter) const;
+
+ //TODO: Remove these deprecated non-const versions when we can break ABI:
+ _WRAP_METHOD(Path convert_child_path_to_path(const Path& child_path), gtk_tree_model_filter_convert_child_path_to_path, deprecated "Use convert_child_path_to_path(const Path& child_path) const")
+
+ _WRAP_METHOD(Path convert_path_to_child_path(const Path& filter_path), gtk_tree_model_filter_convert_path_to_child_path, deprecated "convert_path_to_child_path(const Path& filter_path) const")
+
+ _WRAP_METHOD(Path convert_child_path_to_path(const Path& child_path) const, gtk_tree_model_filter_convert_child_path_to_path)
+ _WRAP_METHOD(Path convert_path_to_child_path(const Path& filter_path) const, gtk_tree_model_filter_convert_path_to_child_path)
+
+ _WRAP_METHOD(void refilter(), gtk_tree_model_filter_refilter)
+ _WRAP_METHOD(void clear_cache(), gtk_tree_model_filter_clear_cache)
+
+protected:
+ virtual void set_value_impl(const iterator& row, int column, const Glib::ValueBase& value);
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treemodelsort.ccg b/libs/gtkmm2/gtk/src/treemodelsort.ccg
new file mode 100644
index 0000000000..7b9eefbcb7
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treemodelsort.ccg
@@ -0,0 +1,70 @@
+// -*- c++ -*-
+/* $Id: treemodelsort.ccg,v 1.2 2003/11/04 18:11:36 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtktreemodelsort.h>
+
+
+typedef Gtk::TreeModel::Path Path; //So that the generated method implemenations can use this a return type.
+
+namespace Gtk
+{
+
+TreeModel::iterator TreeModelSort::convert_child_iter_to_iter(const iterator& child_iter) const
+{
+ TreeIter sorted_iter (const_cast<TreeModelSort*>(this));
+
+ gtk_tree_model_sort_convert_child_iter_to_iter(
+ const_cast<GtkTreeModelSort*>(gobj()), sorted_iter.gobj(),
+ const_cast<GtkTreeIter*>(child_iter.gobj()));
+
+ return sorted_iter;
+}
+
+TreeModel::iterator TreeModelSort::convert_iter_to_child_iter(const iterator& sorted_iter) const
+{
+ GtkTreeModel *const child_model = gtk_tree_model_sort_get_model(const_cast<GtkTreeModelSort*>(gobj()));
+
+ TreeIter child_iter (dynamic_cast<TreeModel*>(Glib::wrap_auto((GObject*) child_model, false)));
+
+ gtk_tree_model_sort_convert_iter_to_child_iter(
+ const_cast<GtkTreeModelSort*>(gobj()), child_iter.gobj(),
+ const_cast<GtkTreeIter*>(sorted_iter.gobj()));
+
+ return child_iter;
+}
+
+void TreeModelSort::set_value_impl(const iterator& row, int column, const Glib::ValueBase& value)
+{
+ // Avoid two extra ref/unref cycles -- we don't store the child
+ // model pointer anywhere, so it's OK to do this _internally_.
+
+ TreeModel *const child_model = dynamic_cast<TreeModel*>(
+ Glib::wrap_auto((GObject*) gtk_tree_model_sort_get_model(gobj()), false));
+
+ TreeIter child_iter (child_model);
+
+ gtk_tree_model_sort_convert_iter_to_child_iter(
+ gobj(), child_iter.gobj(), const_cast<GtkTreeIter*>(row.gobj()));
+
+ child_model->set_value_impl(child_iter, column, value);
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treemodelsort.hg b/libs/gtkmm2/gtk/src/treemodelsort.hg
new file mode 100644
index 0000000000..0ee6aaae36
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treemodelsort.hg
@@ -0,0 +1,95 @@
+/* $Id: treemodelsort.hg,v 1.5 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* Copyright(C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or(at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+#include <gtkmm/treeiter.h>
+#include <gtkmm/treemodel.h>
+#include <gtkmm/treesortable.h>
+// We couldn't include it in treemodel.h, but doing it here makes it easier for people.
+#include <gtkmm/treepath.h>
+
+
+namespace Gtk
+{
+
+/** A wrapper which makes an underlying Gtk::TreeModel sortable.
+ *
+ * The TreeModelSort is a model which implements the TreeSortable interface.
+ * It does not hold any data itself, but rather is created with
+ * a child model and proxies its data. It has identical column types to
+ * this child model, and the changes in the child are propagated. The
+ * primary purpose of this model is to provide a way to sort a different
+ * model without modifying it. Note that the sort function used by
+ * TreeModelSort is not guaranteed to be stable.
+ *
+ * For instance, you might create two TreeView widgets each with a
+ * view of the same data. If the model is wrapped by a
+ * TreeModelSort then the two TreeViews can each sort their
+ * view of the data without affecting the other. By contrast, if we
+ * simply put the same model in each widget, then sorting the first would
+ * sort the second.
+ *
+ * @ingroup TreeView
+ */
+class TreeModelSort : public Glib::Object, public TreeModel, public TreeSortable
+{
+ _CLASS_GOBJECT(TreeModelSort, GtkTreeModelSort, GTK_TREE_MODEL_SORT, Glib::Object, GObject)
+ _IMPLEMENTS_INTERFACE(TreeModel)
+ _IMPLEMENTS_INTERFACE(TreeSortable)
+
+protected:
+ _WRAP_CTOR(TreeModelSort(const Glib::RefPtr<TreeModel>& model), gtk_tree_model_sort_new_with_model)
+
+public:
+ _WRAP_CREATE(const Glib::RefPtr<TreeModel>& model)
+
+ _WRAP_METHOD(Glib::RefPtr<TreeModel> get_model(), gtk_tree_model_sort_get_model, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const TreeModel> get_model() const, gtk_tree_model_sort_get_model, refreturn, constversion)
+
+ _WRAP_METHOD(Path convert_child_path_to_path(const Path& child_path) const, gtk_tree_model_sort_convert_child_path_to_path)
+
+ /** Gets an iterator that points to the sorted row that corresponds to the child row pointed at by child_iter.
+ *
+ * @param child_iter A valid iterator pointing to a row on the child model.
+ * @result A valid iterator that points to the row in this sorted model.
+ */
+ iterator convert_child_iter_to_iter(const iterator& child_iter) const;
+
+ _WRAP_METHOD(Path convert_path_to_child_path(const Path& sorted_path) const, gtk_tree_model_sort_convert_path_to_child_path)
+
+ /** Gets an iterator that points to the child row that corresponds to the sorted row pointed at by sorted_iter.
+ *
+ * @param sorted_iter A valid iterator pointing to a row on the sorted model.
+ * @result A valid iterator that points to the row in the child model.
+ */
+ iterator convert_iter_to_child_iter(const iterator& sorted_iter) const;
+
+ _WRAP_METHOD(void reset_default_sort_func(), gtk_tree_model_sort_reset_default_sort_func)
+ _WRAP_METHOD(void clear_cache(), gtk_tree_model_sort_clear_cache)
+
+ _WRAP_METHOD(bool iter_is_valid(const iterator& iter) const, gtk_tree_model_sort_iter_is_valid)
+
+protected:
+ virtual void set_value_impl(const iterator& row, int column, const Glib::ValueBase& value);
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treepath.ccg b/libs/gtkmm2/gtk/src/treepath.ccg
new file mode 100644
index 0000000000..c5070511a9
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treepath.ccg
@@ -0,0 +1,148 @@
+// -*- c++ -*-
+/* $Id: treepath.ccg,v 1.5 2005/11/29 16:38:10 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/treemodel.h>
+#include <glibmm/utility.h>
+#include <gtk/gtktreemodel.h>
+#include <gtk/gtktreednd.h>
+
+
+namespace Gtk
+{
+
+TreePath::TreePath(TreePath::size_type n, TreePath::value_type value)
+:
+ gobject_ (gtk_tree_path_new())
+{
+ for(; n > 0; --n)
+ gtk_tree_path_append_index(gobject_, value);
+}
+
+TreePath::TreePath(const Glib::ustring& path)
+:
+ gobject_ (gtk_tree_path_new_from_string(path.c_str()))
+{}
+
+TreePath::TreePath(const TreeModel::iterator& iter)
+:
+ // The GtkTreePath* is always newly created.
+ gobject_ (gtk_tree_model_get_path(iter.get_model_gobject(), const_cast<GtkTreeIter*>(iter.gobj())))
+{}
+
+TreePath& TreePath::operator=(const TreeModel::iterator& iter)
+{
+ TreePath temp (iter);
+ swap(temp);
+ return *this;
+}
+
+void TreePath::clear()
+{
+ TreePath empty_path;
+ swap(empty_path);
+}
+
+TreePath::size_type TreePath::size() const
+{
+ return gtk_tree_path_get_depth(gobject_);
+}
+
+bool TreePath::empty() const
+{
+ return (gtk_tree_path_get_depth(gobject_) == 0);
+}
+
+TreePath::reference TreePath::operator[](TreePath::size_type i)
+{
+ int *const indices = gtk_tree_path_get_indices(gobject_);
+ return indices[i];
+}
+
+TreePath::const_reference TreePath::operator[](TreePath::size_type i) const
+{
+ const int *const indices = gtk_tree_path_get_indices(gobject_);
+ return indices[i];
+}
+
+TreePath::iterator TreePath::begin()
+{
+ return gtk_tree_path_get_indices(gobject_);
+}
+
+TreePath::iterator TreePath::end()
+{
+ return gtk_tree_path_get_indices(gobject_) + gtk_tree_path_get_depth(gobject_);
+}
+
+TreePath::const_iterator TreePath::begin() const
+{
+ return gtk_tree_path_get_indices(gobject_);
+}
+
+TreePath::const_iterator TreePath::end() const
+{
+ return gtk_tree_path_get_indices(gobject_) + gtk_tree_path_get_depth(gobject_);
+}
+
+bool TreePath::get_from_selection_data(const SelectionData& selection_data, Glib::RefPtr<TreeModel>& model, TreePath& path) //static
+{
+ GtkTreeModel* src_model = 0;
+ GtkTreePath* src_path = 0;
+ gboolean result = gtk_tree_get_row_drag_data(const_cast<GtkSelectionData*>(selection_data.gobj()), &src_model, &src_path);
+
+ model = Glib::wrap(src_model, true /* take_copy=true */);
+
+ //gtk_tree_get_row_drag_data gives us ownership of src_path.
+ path = Glib::wrap(src_path, false /* take_copy=false */);
+
+ return result;
+}
+
+bool TreePath::get_from_selection_data(const SelectionData& selection_data, TreePath& path) //static
+{
+ GtkTreePath* src_path = 0;
+ gboolean result = gtk_tree_get_row_drag_data(const_cast<GtkSelectionData*>(selection_data.gobj()), 0, &src_path);
+
+ //gtk_tree_get_row_drag_data gives us ownership of src_path.
+ path = Glib::wrap(src_path, false /* take_copy=false */);
+
+ return result;
+}
+
+
+bool TreePath::set_in_selection_data(SelectionData& selection_data, const Glib::RefPtr<const TreeModel>& model) const
+{
+ return gtk_tree_set_row_drag_data(selection_data.gobj(), const_cast<GtkTreeModel*>(model->gobj()), const_cast<GtkTreePath*>(gobj()));
+}
+
+_DEPRECATE_IFDEF_START
+Glib::ArrayHandle<int> TreePath::get_indices() const
+{
+ // gtk_tree_path_get_indices() returns a pointer to an internal array,
+ // similar to std::string::data(). Thus the OWNERSHIP_NONE flag.
+
+ return Glib::ArrayHandle<int>(gtk_tree_path_get_indices(gobject_),
+ gtk_tree_path_get_depth(gobject_),
+ Glib::OWNERSHIP_NONE);
+}
+_DEPRECATE_IFDEF_END
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treepath.hg b/libs/gtkmm2/gtk/src/treepath.hg
new file mode 100644
index 0000000000..178cf61682
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treepath.hg
@@ -0,0 +1,229 @@
+/* $Id: treepath.hg,v 1.15 2006/02/25 12:38:11 murrayc Exp $ */
+
+/* Copyright(C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software, ) you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation, ) either
+ * version 2 of the License, or(at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY, ) without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library, ) if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+_CONFIGINCLUDE(gtkmmconfig.h)
+
+_DEFS(gtkmm,gtk)
+
+#include <gtkmm/treemodel.h>
+#include <gtkmm/selectiondata.h>
+#include <gtkmmconfig.h>
+
+GLIBMM_USING_STD(random_access_iterator_tag)
+GLIBMM_USING_STD(reverse_iterator)
+
+
+namespace Gtk
+{
+
+/** A path is essentially a potential node. It is a location on a model that may
+ * or may not actually correspond to a node on a specific model.
+ *
+ * A Path can be converted into either an array of unsigned integers or a string. The string
+ * form is a list of numbers separated by a colon. Each number refers to the
+ * offset at that level. Thus, the path "0" refers to the root node and the
+ * path "2:4" refers to the fifth child of the third node.
+ *
+ * Typedefed as Gtk::TreeModel::Path.
+ * @ingroup TreeView
+ */
+class TreePath
+{
+ _CLASS_BOXEDTYPE(TreePath, GtkTreePath, gtk_tree_path_new, gtk_tree_path_copy, gtk_tree_path_free)
+ _IGNORE(gtk_tree_path_copy, gtk_tree_path_free, gtk_tree_path_compare, gtk_tree_path_get_indices)
+
+public:
+ typedef unsigned int size_type;
+ typedef int difference_type;
+
+ typedef int value_type;
+ typedef int& reference;
+ typedef const int& const_reference;
+
+ // Use plain pointers for simplicity.
+ typedef int* iterator;
+ typedef const int* const_iterator;
+
+#ifndef GLIBMM_HAVE_SUN_REVERSE_ITERATOR
+
+ typedef std::reverse_iterator<iterator> reverse_iterator;
+ typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
+
+#else
+
+ typedef std::reverse_iterator<iterator, std::random_access_iterator_tag,
+ int, int&, int*, ptrdiff_t> reverse_iterator;
+
+ typedef std::reverse_iterator<const_iterator, std::random_access_iterator_tag,
+ int, const int&, const int*, ptrdiff_t> const_reverse_iterator;
+
+#endif /* GLIBMM_HAVE_SUN_REVERSE_ITERATOR */
+
+ explicit TreePath(size_type n, value_type value = 0);
+ explicit TreePath(const Glib::ustring& path);
+ explicit TreePath(const TreeModel::iterator& iter);
+
+ template <class In> inline TreePath(In pbegin, In pend);
+
+ void clear();
+
+ // I think it's OK for this assignment to be implicit. It's very useful.
+ TreePath& operator=(const TreeModel::iterator& iter);
+
+ template <class In> inline void assign(In pbegin, In pend);
+ template <class In> void append(In pbegin, In pend);
+
+ _WRAP_METHOD(void push_back(int index), gtk_tree_path_append_index)
+ _WRAP_METHOD(void push_front(int index), gtk_tree_path_prepend_index)
+
+ size_type size() const;
+ bool empty() const;
+
+ reference operator[](size_type i);
+ const_reference operator[](size_type i) const;
+
+ iterator begin();
+ iterator end();
+ const_iterator begin() const;
+ const_iterator end() const;
+
+ // Note: there is no advantage in not inlining these methods.
+ // We can't change them without breaking ABI anyway.
+ reverse_iterator rbegin() { return reverse_iterator(end()); }
+ reverse_iterator rend() { return reverse_iterator(begin()); }
+ const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); }
+ const_reverse_iterator rend() const { return const_reverse_iterator(begin()); }
+
+ reference front() { return *begin(); }
+ const_reference front() const { return *begin(); }
+ reference back() { return *rbegin(); }
+ const_reference back() const { return *rbegin(); }
+
+ _WRAP_METHOD(void next(), gtk_tree_path_next)
+ _WRAP_METHOD(bool prev(), gtk_tree_path_prev)
+ _WRAP_METHOD(bool up(), gtk_tree_path_up)
+ _WRAP_METHOD(void down(), gtk_tree_path_down)
+
+ _WRAP_METHOD(bool is_ancestor(const TreePath& descendant) const, gtk_tree_path_is_ancestor)
+ _WRAP_METHOD(bool is_descendant(const TreePath& ancestor) const, gtk_tree_path_is_descendant)
+
+ _WRAP_METHOD(Glib::ustring to_string() const, gtk_tree_path_to_string)
+
+#m4begin
+ _WRAP_COMPARE(gtk_tree_path_compare)
+#m4end
+
+
+ _WRAP_METHOD(void append_index(int index), gtk_tree_path_append_index, deprecated "replaced by push_back()")
+ _WRAP_METHOD(void prepend_index(int index), gtk_tree_path_prepend_index, deprecated "replaced by push_front().")
+ _WRAP_METHOD(int get_depth() const, gtk_tree_path_get_depth, deprecated "replaced by size().")
+
+_DEPRECATE_IFDEF_START
+ /// @deprecated replaced by begin(), end(), and operator[]
+ Glib::ArrayHandle<int> get_indices() const;
+_DEPRECATE_IFDEF_END
+ _IGNORE(gtk_tree_path_get_depth)
+
+ /**
+ * Obtains a Gtk::TreeModel and Gtk::TreeModel::Path from selection data of target type
+ * "GTK_TREE_MODEL_ROW". Normally called from a drag_data_received handler.
+ * This function can only be used if @a selection_data originates from the same
+ * process that's calling this function, because a pointer to the tree model
+ * is being passed around. If you aren't in the same process, then you'll
+ * get memory corruption. In the Gtk::TreeDragDest drag_data_received signal handler,
+ * you can assume that selection data of type "GTK_TREE_MODEL_ROW" is
+ * from the current process.
+ *
+ * @param selection_data a #SelectionData
+ * @param model a Gtk::TreeModel
+ * @param path a row in model
+ *
+ * @return true if the selection_data had target type "GTK_TREE_MODEL_ROW" and
+ * is otherwise valid
+ **/
+ static bool get_from_selection_data(const SelectionData& selection_data, Glib::RefPtr<TreeModel>& model, TreePath& path);
+ //TODO: Add an override that takes a const TreeModel (and deprecate the current version).
+
+ /// See description in the other overload.
+ static bool get_from_selection_data(const SelectionData& selection_data, TreePath& path);
+
+ /**
+ * Sets selection data of target type "GTK_TREE_MODEL_ROW". Normally used
+ * in a drag_data_get signal handler.
+ *
+ * @param selection_data some #SelectionData
+ * @param model: a Gtk::TreeModel
+ *
+ * @return true if the selection_data had the proper target type to allow us to set a tree row
+ **/
+ bool set_in_selection_data(SelectionData& selection_data, const Glib::RefPtr<const TreeModel>& model) const;
+};
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+template <class In>
+void TreePath::append(In pbegin, In pend)
+{
+ // push_back() can't throw -- if it could, this code wouldn't be strongly exception-safe.
+ for(; pbegin != pend; ++pbegin)
+ this->push_back(*pbegin);
+}
+
+template <class In> inline
+TreePath::TreePath(In pbegin, In pend)
+{
+ this->append(pbegin, pend);
+}
+
+template <class In> inline
+void TreePath::assign(In pbegin, In pend)
+{
+ TreePath temp (pbegin, pend);
+ this->swap(temp);
+}
+
+
+/* Traits for use of TreePath in a Glib::ListHandle<>.
+ */
+struct TreePath_Traits
+{
+ typedef TreePath CppType;
+ typedef const GtkTreePath* CType;
+ typedef GtkTreePath* CTypeNonConst;
+
+ static CType to_c_type(const CppType& item)
+ { return item.gobj(); }
+
+ static CType to_c_type(CType item)
+ { return item; }
+
+ static CppType to_cpp_type(CType item)
+ { return CppType(const_cast<CTypeNonConst>(item)); }
+
+ static void release_c_type(CType item)
+ { gtk_tree_path_free(const_cast<CTypeNonConst>(item)); }
+};
+
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treerowreference.ccg b/libs/gtkmm2/gtk/src/treerowreference.ccg
new file mode 100644
index 0000000000..815b864702
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treerowreference.ccg
@@ -0,0 +1,38 @@
+// -*- c++ -*-
+/* $Id: treerowreference.ccg,v 1.2 2003/01/22 23:04:19 murrayc Exp $ */
+
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtktreemodel.h>
+
+
+namespace Gtk
+{
+
+TreeRowReference::TreeRowReference(const Glib::RefPtr<TreeModel>& model, const TreeModel::Path& path)
+:
+ gobject_ ( gtk_tree_row_reference_new(model->gobj(), const_cast<GtkTreePath*>(path.gobj())) )
+{}
+
+TreeRowReference::operator bool() const
+{
+ return is_valid();
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treerowreference.hg b/libs/gtkmm2/gtk/src/treerowreference.hg
new file mode 100644
index 0000000000..c9b6daa48a
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treerowreference.hg
@@ -0,0 +1,54 @@
+/* $Id: treerowreference.hg,v 1.7 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+_DEFS(gtkmm,gtk)
+
+#include <gtkmm/treemodel.h>
+#include <gtkmm/treepath.h>
+
+
+namespace Gtk
+{
+
+/** Typedefed as Gtk::TreeModel::RowReference.
+ * This reference will keep pointing to
+ * the node pointed to by the Path, so long as it exists. It listens to all
+ * signals emitted by the Model, and updates its Path appropriately.
+ * @ingroup TreeView
+*/
+class TreeRowReference
+{
+ _CLASS_BOXEDTYPE(TreeRowReference, GtkTreeRowReference, NONE, gtk_tree_row_reference_copy, gtk_tree_row_reference_free)
+ _IGNORE(gtk_tree_row_reference_new, gtk_tree_row_reference_copy, gtk_tree_row_reference_free)
+public:
+ TreeRowReference(const Glib::RefPtr<TreeModel>& model, const TreeModel::Path& path);
+
+ ///The same as is_valid().
+ operator bool() const;
+
+ _WRAP_METHOD(TreeModel::Path get_path() const, gtk_tree_row_reference_get_path)
+
+ _WRAP_METHOD(Glib::RefPtr<TreeModel> get_model(), gtk_tree_row_reference_get_model)
+ _WRAP_METHOD(Glib::RefPtr<const TreeModel> get_model() const, gtk_tree_row_reference_get_model, constversion)
+
+ _WRAP_METHOD(bool is_valid() const, gtk_tree_row_reference_valid)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treeselection.ccg b/libs/gtkmm2/gtk/src/treeselection.ccg
new file mode 100644
index 0000000000..fc3b8ff356
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treeselection.ccg
@@ -0,0 +1,200 @@
+// -*- c++ -*-
+/* $Id: treeselection.ccg,v 1.10 2006/05/11 11:40:24 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/treeview.h>
+#include <gtk/gtktreeselection.h>
+
+
+static void proxy_foreach_selection_iter_callback(GtkTreeModel* model, GtkTreePath*, GtkTreeIter* iter, void* data)
+{
+ typedef Gtk::TreeSelection::SlotForeachIter SlotType;
+ SlotType& slot = *static_cast<SlotType*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ slot(Gtk::TreeModel::iterator(model, iter));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+static void proxy_foreach_selection_path_callback(GtkTreeModel*, GtkTreePath* path, GtkTreeIter*, void* data)
+{
+ typedef Gtk::TreeSelection::SlotForeachPath SlotType;
+ SlotType& slot = *static_cast<SlotType*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ slot(Gtk::TreeModel::Path(path, true));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+static void proxy_foreach_selection_path_and_iter_callback(GtkTreeModel* model, GtkTreePath* path,
+ GtkTreeIter* iter, void* data)
+{
+ typedef Gtk::TreeSelection::SlotForeachPathAndIter SlotType;
+ SlotType& slot = *static_cast<SlotType*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ slot(Gtk::TreeModel::Path(path, true), Gtk::TreeModel::iterator(model, iter));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+
+static gboolean SignalProxy_Select_gtk_callback(GtkTreeSelection*, GtkTreeModel* model, GtkTreePath* path,
+ gboolean path_currently_selected, void* data)
+{
+ const Gtk::TreeSelection::SlotSelect* the_slot = static_cast<Gtk::TreeSelection::SlotSelect*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ return (*the_slot)(Glib::wrap(model, true), // take copy
+ Gtk::TreePath(path, true), // take copy
+ path_currently_selected);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+
+ return 0;
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+static void SignalProxy_Select_gtk_callback_destroy(void* data)
+{
+ delete static_cast<Gtk::TreeSelection::SlotSelect*>(data);
+}
+
+
+namespace Gtk
+{
+
+void TreeSelection::set_select_function(const SlotSelect& slot)
+{
+ // Create a copy of the slot. A pointer to this will be passed
+ // through the callback's data parameter. It will be deleted
+ // when SignalProxy_Select_gtk_callback_destroy() is called.
+ SlotSelect* slot_copy = new SlotSelect(slot);
+
+ gtk_tree_selection_set_select_function(gobj(),
+ &SignalProxy_Select_gtk_callback, slot_copy,
+ &SignalProxy_Select_gtk_callback_destroy);
+}
+
+Glib::RefPtr<TreeModel> TreeSelection::get_model()
+{
+ GtkTreeView *const tree_view = gtk_tree_selection_get_tree_view(gobj());
+ return Glib::wrap(gtk_tree_view_get_model(tree_view), true);
+}
+
+Glib::RefPtr<const TreeModel> TreeSelection::get_model() const
+{
+ GtkTreeView *const tree_view = gtk_tree_selection_get_tree_view(const_cast<GtkTreeSelection*>(gobj()));
+ return Glib::wrap(gtk_tree_view_get_model(tree_view), true);
+}
+
+TreeModel::iterator TreeSelection::get_selected()
+{
+ TreeModel::iterator iter;
+ GtkTreeModel* model_gobject = 0;
+
+ gtk_tree_selection_get_selected(gobj(), &model_gobject, iter.gobj());
+
+ iter.set_model_gobject(model_gobject);
+ return iter;
+}
+
+TreeModel::iterator TreeSelection::get_selected(Glib::RefPtr<TreeModel>& model)
+{
+ TreeModel::iterator iter;
+ GtkTreeModel* model_gobject = 0;
+
+ gtk_tree_selection_get_selected(gobj(), &model_gobject, iter.gobj());
+
+ model = Glib::wrap(model_gobject, true);
+
+ iter.set_model_refptr(model);
+ return iter;
+}
+
+void TreeSelection::selected_foreach_iter(const SlotForeachIter& slot) const
+{
+ SlotForeachIter slot_copy (slot);
+ gtk_tree_selection_selected_foreach(const_cast<GtkTreeSelection*>(gobj()), &proxy_foreach_selection_iter_callback, &slot_copy);
+}
+
+void TreeSelection::selected_foreach_path(const SlotForeachPath& slot) const
+{
+ SlotForeachPath slot_copy (slot);
+ gtk_tree_selection_selected_foreach(const_cast<GtkTreeSelection*>(gobj()), &proxy_foreach_selection_path_callback, &slot_copy);
+}
+
+void TreeSelection::selected_foreach(const SlotForeachPathAndIter& slot) const
+{
+ SlotForeachPathAndIter slot_copy (slot);
+ gtk_tree_selection_selected_foreach(const_cast<GtkTreeSelection*>(gobj()), &proxy_foreach_selection_path_and_iter_callback, &slot_copy);
+}
+
+TreeSelection::ListHandle_Path TreeSelection::get_selected_rows() const
+{
+ return ListHandle_Path(gtk_tree_selection_get_selected_rows(
+ const_cast<GtkTreeSelection*>(gobj()), 0), Glib::OWNERSHIP_DEEP);
+}
+
+TreeSelection::ListHandle_Path TreeSelection::get_selected_rows(Glib::RefPtr<TreeModel>& model)
+{
+ GtkTreeModel* model_gobject = 0;
+
+ const ListHandle_Path result (gtk_tree_selection_get_selected_rows(
+ const_cast<GtkTreeSelection*>(gobj()), &model_gobject), Glib::OWNERSHIP_DEEP);
+
+ model = Glib::wrap(model_gobject, true);
+ return result;
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treeselection.hg b/libs/gtkmm2/gtk/src/treeselection.hg
new file mode 100644
index 0000000000..81cce53efc
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treeselection.hg
@@ -0,0 +1,210 @@
+/* $Id: treeselection.hg,v 1.6 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* Copyright(C) 1998-1999 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or(at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+#include <gtkmm/enums.h>
+#include <gtkmm/treemodel.h>
+#include <gtkmm/treeiter.h>
+#include <gtkmm/treepath.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Gtk
+{
+
+class TreeView;
+class TreeModel;
+class TreePath;
+
+/** Typedefed as Gtk::TreeView::Selection.
+ * This is a helper object to manage the selection for a Gtk::TreeView widget.
+ *
+ * It is automatically created when a new Gtk::TreeView widget is created, and
+ * cannot exist independently of this widget. The primary reason this class
+ * exists is for cleanliness of code and API. That is, there is no conceptual
+ * reason all these methods could not be methods on the Gtk::TreeView widget
+ * instead of a separate class.
+ *
+ * The Gtk::TreeSelection object can be obtained from a Gtk::TreeView by
+ * calling Gtk::TreeView::get_selection(). It can be manipulated to check the
+ * selection status of the tree, as well as to select and deselect individual
+ * rows. Selection is done completely view-side. As a result, multiple views
+ * of the same model can have completely different selections. Additionally,
+ * you cannot change the selection of a row on the model that is not currently
+ * displayed by the view without expanding its parents first.
+ *
+ * When monitoring the selection of a view, it's important to remember that the
+ * "changed" signal is mostly a hint. That is, it may only emit one signal when
+ * a range of rows is selected. Additionally, it may on occasion emit a
+ * "changed" signal when nothing has happened.
+ *
+ * @ingroup TreeView
+ */
+class TreeSelection : public Glib::Object
+{
+ _CLASS_GOBJECT(TreeSelection, GtkTreeSelection, GTK_TREE_SELECTION, Glib::Object, GObject)
+ _IGNORE(gtk_tree_selection_get_selected, gtk_tree_selection_set_select_function,
+ gtk_tree_selection_get_selected_rows, gtk_tree_selection_count_selected_rows)
+protected:
+
+
+public:
+ _WRAP_METHOD(void set_mode(SelectionMode type), gtk_tree_selection_set_mode)
+ _WRAP_METHOD(SelectionMode get_mode() const, gtk_tree_selection_get_mode)
+
+ /** For instance, bool on_select_function(const Glib::RefPtr<TreeModel>& model, const TreeModel::Path& path, bool path_currently_selected)
+ * The select function should return true if the state of the node may be toggled,
+ * and false if the state of the node should be left unchanged.
+ */
+ typedef sigc::slot<bool, const Glib::RefPtr<TreeModel>&, const TreeModel::Path&, bool> SlotSelect;
+
+ /** Sets the selection callback slot. If set, this function is called before any node is selected or unselected,
+ * giving some control over which nodes are selected.
+ *
+ * The select function should return true if the state of the node may be toggled, and FALSE if the state of the node
+ * should be left unchanged.
+ *
+ * @param slot The selection function.
+ */
+ void set_select_function(const SlotSelect& slot);
+
+ _IGNORE(gtk_tree_selection_get_user_data) // This would be our SignalProxy_Select* data.
+
+ _WRAP_METHOD(TreeView* get_tree_view(), gtk_tree_selection_get_tree_view)
+ _WRAP_METHOD(const TreeView* get_tree_view() const, gtk_tree_selection_get_tree_view, constversion)
+
+ /** Shortcut for get_tree_view()->get_model().
+ * @return The TreeModel associated with this TreeSelection.
+ */
+ Glib::RefPtr<TreeModel> get_model(); // convenience function, not in GTK+
+ Glib::RefPtr<const TreeModel> get_model() const; // convenience function, not in GTK+
+
+ //TODO: Add TreeModel::const_iterator get_selected() const, when we have a real const_iterator.
+
+ /** Get the currently selected row.
+ * @return The currently selected row.
+ * @note
+ * This method won't work if the selection mode is <tt>Gtk::SELECTION_MULTIPLE</tt>.
+ * Use get_selected_rows() for multiple selections.
+ */
+ TreeModel::iterator get_selected();
+
+ /** Get the currently selected row.
+ * @return The currently selected row. Or end() if no rows were selected.
+ * @retval model The current TreeModel.
+ * @note
+ * This method won't work if the selection mode is <tt>Gtk::SELECTION_MULTIPLE</tt>.
+ * Use get_selected_rows() for multiple selections.
+ */
+ TreeModel::iterator get_selected(Glib::RefPtr<TreeModel>& model);
+
+ typedef Glib::ListHandle<TreeModel::Path, TreePath_Traits> ListHandle_Path;
+
+ /** Creates a list of paths of all selected rows.
+ * Additionally, if you are planning on modifying the model after calling this function,
+ * you may want to convert the returned list into a list of GtkTreeRowReferences.
+ *
+ * @returns a standard container containing a Gtk::Model::Path for each selected row.
+ */
+ ListHandle_Path get_selected_rows() const;
+
+ /** Creates a list of paths of all selected rows.
+ * Additionally, if you are planning on modifying the model after calling this function,
+ * you may want to convert the returned list into a list of GtkTreeRowReferences.
+ *
+ * @retval model The current TreeModel.
+ * @returns a standard container containing a Gtk::Model::Path for each selected row.
+ */
+ ListHandle_Path get_selected_rows(Glib::RefPtr<TreeModel>& model);
+
+ _WRAP_METHOD(int count_selected_rows() const, gtk_tree_selection_count_selected_rows)
+
+ //TODO: Consider deprecating these selected_foreach() methods, because get_selected_rows() should be enough.
+
+ //TODO: SlotForEachIter should take a const_iterator, when we have a real const iterator.
+ /** For example,
+ * void on_foreach(const Gtk::TreeModel::iterator& iter);
+ *
+ * Note that you cannot modify the tree or selection from within the callback function.
+ * As a result, get_selected_rows() might be more useful.
+ */
+ typedef sigc::slot<void, const TreeModel::iterator&> SlotForeachIter;
+
+ /** Calls a callback slot for each selected node.
+ * Note that you cannot modify the tree or selection from within the callback function.
+ * As a result, get_selected_rows() might be more useful.
+ *
+ * @param slot The function to call for each selected node.
+ */
+ void selected_foreach_iter(const SlotForeachIter& slot) const;
+
+ /** For example,
+ * void on_foreach(const Gtk::TreeModel::Path& path);
+ *
+ * Note that you cannot modify the tree or selection from within the callback function.
+ * As a result, get_selected_rows() might be more useful.
+ */
+ typedef sigc::slot<void, const TreeModel::Path&> SlotForeachPath;
+
+ /** Calls a callback slot for each selected node.
+ * Note that you cannot modify the tree or selection from within the callback function.
+ * As a result, get_selected_rows() might be more useful.
+ *
+ * @param slot The function to call for each selected node.
+ */
+ void selected_foreach_path(const SlotForeachPath& slot) const;
+ _IGNORE(gtk_tree_selection_selected_foreach)
+
+ /** For example,
+ * void on_foreach(const Gtk::TreeModel::Path& path, const Gtk::TreeModel::iterator& iter);
+ *
+ * Note that you cannot modify the tree or selection from within the callback function.
+ * As a result, get_selected_rows() might be more useful.
+ */
+ typedef sigc::slot<void, const TreeModel::Path&, const TreeModel::iterator&> SlotForeachPathAndIter;
+
+ /** Calls a callback slot for each selected node.
+ * Note that you cannot modify the tree or selection from within the callback function.
+ * As a result, get_selected_rows() might be more useful.
+ *
+ * @param slot The function to call for each selected node.
+ */
+ void selected_foreach(const SlotForeachPathAndIter& slot) const;
+
+ _WRAP_METHOD(void select(const TreeModel::Path& path), gtk_tree_selection_select_path)
+ _WRAP_METHOD(void select(const TreeModel::iterator& iter), gtk_tree_selection_select_iter)
+ _WRAP_METHOD(void select(const TreeModel::Row& row), gtk_tree_selection_select_iter)
+ _WRAP_METHOD(void select(const TreeModel::Path& start_path, const TreeModel::Path& end_path), gtk_tree_selection_select_range)
+
+ _WRAP_METHOD(void unselect(const TreeModel::Path& path), gtk_tree_selection_unselect_path)
+ _WRAP_METHOD(void unselect(const TreeModel::Path& start_path, const TreeModel::Path& end_path), gtk_tree_selection_unselect_range)
+ _WRAP_METHOD(void unselect(const TreeModel::iterator& iter), gtk_tree_selection_unselect_iter)
+
+ _WRAP_METHOD(bool is_selected(const TreeModel::Path& path) const, gtk_tree_selection_path_is_selected)
+ _WRAP_METHOD(bool is_selected(const TreeModel::iterator& iter) const, gtk_tree_selection_iter_is_selected)
+
+ _WRAP_METHOD(void select_all(), gtk_tree_selection_select_all)
+ _WRAP_METHOD(void unselect_all(), gtk_tree_selection_unselect_all)
+
+ _WRAP_SIGNAL(void changed(), "changed")
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treesortable.ccg b/libs/gtkmm2/gtk/src/treesortable.ccg
new file mode 100644
index 0000000000..539dc4b4ed
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treesortable.ccg
@@ -0,0 +1,94 @@
+// -*- c++ -*-
+/* $Id: treesortable.ccg,v 1.7 2006/05/11 11:40:24 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+static int SignalProxy_Compare_gtk_callback(GtkTreeModel* model, GtkTreeIter* lhs, GtkTreeIter* rhs, void* data)
+{
+ Gtk::TreeSortable::SlotCompare* the_slot = static_cast<Gtk::TreeSortable::SlotCompare*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // use Slot::operator()
+ return (*the_slot)(Gtk::TreeIter(model, lhs), Gtk::TreeIter(model, rhs));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+
+ return 0;
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+static void SignalProxy_Compare_gtk_callback_destroy(void* data)
+{
+ delete static_cast<Gtk::TreeSortable::SlotCompare*>(data);
+}
+
+namespace Gtk
+{
+
+void TreeSortable::set_sort_func(int sort_column_id, const SlotCompare& slot)
+{
+ SlotCompare* slot_copy = new SlotCompare(slot);
+
+ gtk_tree_sortable_set_sort_func(
+ gobj(), sort_column_id,
+ &SignalProxy_Compare_gtk_callback, slot_copy,
+ &SignalProxy_Compare_gtk_callback_destroy);
+}
+
+void TreeSortable::set_sort_func(const Gtk::TreeModelColumnBase& sort_column, const SlotCompare& slot)
+{
+ set_sort_func(sort_column.index(), slot);
+}
+
+void TreeSortable::set_default_sort_func(const SlotCompare& slot)
+{
+ SlotCompare* slot_copy = new SlotCompare(slot);
+
+ gtk_tree_sortable_set_default_sort_func(
+ gobj(),
+ &SignalProxy_Compare_gtk_callback, slot_copy,
+ &SignalProxy_Compare_gtk_callback_destroy);
+}
+
+void TreeSortable::unset_default_sort_func()
+{
+ gtk_tree_sortable_set_default_sort_func(
+ gobj(), 0, 0, 0); /* See GTK+ docs about the 0s. */
+}
+
+_DEPRECATE_IFDEF_START
+void TreeSortable::set_sort_column_id(const TreeModelColumnBase& sort_column, SortType order)
+{
+ set_sort_column(sort_column, order);
+}
+
+void TreeSortable::set_sort_column_id(int sort_column_id, SortType order)
+{
+ set_sort_column(sort_column_id, order);
+}
+_DEPRECATE_IFDEF_END
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treesortable.hg b/libs/gtkmm2/gtk/src/treesortable.hg
new file mode 100644
index 0000000000..ff49305be8
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treesortable.hg
@@ -0,0 +1,124 @@
+/* $Id: treesortable.hg,v 1.8 2006/04/21 07:41:28 murrayc Exp $ */
+
+
+/* Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+_CONFIGINCLUDE(gtkmmconfig.h)
+
+#include <glibmm/interface.h>
+#include <gtkmm/enums.h>
+#include <gtkmm/treemodelcolumn.h>
+#include <gtkmm/treemodel.h>
+#include <gtkmm/treeiter.h>
+#include <gtk/gtktreesortable.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/interface_p.h)
+
+namespace Gtk
+{
+
+/**
+ * @ingroup TreeView
+*/
+class TreeSortable : public Glib::Interface
+{
+ _CLASS_INTERFACE(TreeSortable, GtkTreeSortable, GTK_TREE_SORTABLE, GtkTreeSortableIface)
+
+public:
+
+ enum
+ {
+ /// See set_default_sort_func() and set_sort_column().
+ DEFAULT_SORT_COLUMN_ID = -1,
+ DEFAULT_UNSORTED_COLUMN_ID = -2
+ }; //See GTK+ implementation.
+
+ _WRAP_METHOD(bool get_sort_column_id(int& sort_column_id, SortType& order) const,
+ gtk_tree_sortable_get_sort_column_id)
+
+ _WRAP_METHOD(void set_sort_column(const TreeModelColumnBase& sort_column_id, SortType order),
+ gtk_tree_sortable_set_sort_column_id)
+ _WRAP_METHOD(void set_sort_column(int sort_column_id, SortType order),
+ gtk_tree_sortable_set_sort_column_id)
+
+ _DEPRECATE_IFDEF_START
+ /** @deprecated Use set_sort_column() instead.
+ */
+ void set_sort_column_id(const TreeModelColumnBase& sort_column_id, SortType order);
+
+ /** @deprecated Use set_sort_column() instead.
+ */
+ void set_sort_column_id(int sort_column_id, SortType order);
+ _DEPRECATE_IFDEF_END
+
+ /** This callback should return -1 if a compares before b, 0 if they compare equal, 1 if a compares after b.
+ * For instance, int on_sort_compare(const Gtk::TreeModel::iterator& a, const Gtk::TreeModel::iterator& b);
+ */
+ typedef sigc::slot<int, const Gtk::TreeModel::iterator&, const Gtk::TreeModel::iterator&> SlotCompare;
+
+ _IGNORE(gtk_tree_sortable_set_sort_func, gtk_tree_sortable_set_default_sort_func)
+
+ /** Sets the comparison function used when sorting a certain column.
+ * If the current sort column is the same as @a sort_column, then the model will sort using this function.
+ * @param sort_column the sort column to set the function for
+ * @param slot The sorting slot callback.
+ */
+ void set_sort_func(const TreeModelColumnBase& sort_column, const SlotCompare& slot);
+
+ /** Sets the comparison function used when sorting a certain column.
+ * If the current sort column id is the same as @a sort_column_id, then the model will sort using this function.
+ * @param sort_column_id the sort column id to set the function for
+ * @param slot The sorting slot callback.
+ */
+ void set_sort_func(int sort_column_id, const SlotCompare& slot);
+
+ /** Sets the default comparison function used when sorting.
+ * If the current sort column id of sortable is DEFAULT_SORT_COLUMN_ID, then the model will
+ * sort using this function. See also unset_default_sort_func().
+ *
+ * @param slot The sorting function
+ */
+ void set_default_sort_func(const SlotCompare& slot);
+
+ /** Sets the default comparison function used when sorting. See set_default_sort_func().
+ *
+ * After calling this method there will be no default comparison function. This means that once the model has been sorted,
+ * it can't go back to the default state. In this case, when the current sort column id of sortable is
+ * DEFAULT_SORT_COLUMN_ID, the model will be unsorted.
+ */
+ void unset_default_sort_func();
+
+ _WRAP_METHOD(bool has_default_sort_func() const, gtk_tree_sortable_has_default_sort_func)
+
+ _WRAP_METHOD(void sort_column_changed(), gtk_tree_sortable_sort_column_changed)
+ _WRAP_SIGNAL(void sort_column_changed(), "sort_column_changed")
+
+protected:
+ _WRAP_VFUNC(bool get_sort_column_id(int* sort_column_id, SortType* order) const, get_sort_column_id)
+ _WRAP_VFUNC(void set_sort_column_id(int sort_column_id, SortType order), set_sort_column_id)
+ _WRAP_VFUNC(void set_sort_func(int sort_column_id, GtkTreeIterCompareFunc func, void* data, GtkDestroyNotify destroy), set_sort_func)
+ _WRAP_VFUNC(void set_default_sort_func(GtkTreeIterCompareFunc func, void* data, GtkDestroyNotify destroy), set_default_sort_func)
+ _WRAP_VFUNC(bool has_default_sort_func() const, has_default_sort_func)
+ _WRAP_VFUNC(void sort_column_changed() const, sort_column_changed)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treestore.ccg b/libs/gtkmm2/gtk/src/treestore.ccg
new file mode 100644
index 0000000000..da9bc82035
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treestore.ccg
@@ -0,0 +1,140 @@
+// -*- c++ -*-
+/* $Id: treestore.ccg,v 1.3 2004/04/03 12:53:49 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtktreestore.h>
+
+
+namespace Gtk
+{
+
+TreeStore::TreeStore(const TreeModelColumnRecord& columns)
+:
+ _CONSTRUCT()
+{
+ gtk_tree_store_set_column_types(gobj(), columns.size(), const_cast<GType*>(columns.types()));
+}
+
+void TreeStore::set_column_types(const TreeModelColumnRecord& columns)
+{
+ gtk_tree_store_set_column_types(gobj(), columns.size(), const_cast<GType*>(columns.types()));
+}
+
+TreeModel::iterator TreeStore::erase(const iterator& iter)
+{
+ g_assert(iter.get_gobject_if_not_end() != 0);
+
+ iterator next (iter);
+ ++next;
+
+ GtkTreeIter tmp = *iter.gobj();
+ gtk_tree_store_remove(gobj(), &tmp);
+
+ return next;
+}
+
+TreeModel::iterator TreeStore::insert(const iterator& iter)
+{
+ iterator new_pos (this);
+
+ gtk_tree_store_insert_before(
+ gobj(), new_pos.gobj(),
+ const_cast<GtkTreeIter*>(iter.get_parent_gobject_if_end()),
+ const_cast<GtkTreeIter*>(iter.get_gobject_if_not_end()));
+
+ if(new_pos.gobj()->stamp == 0)
+ new_pos.setup_end_iterator(iter);
+
+ return new_pos;
+}
+
+TreeModel::iterator TreeStore::insert_after(const iterator& iter)
+{
+ iterator new_pos (this);
+
+ gtk_tree_store_insert_after(
+ gobj(), new_pos.gobj(),
+ const_cast<GtkTreeIter*>(iter.get_parent_gobject_if_end()),
+ const_cast<GtkTreeIter*>(iter.get_gobject_if_not_end()));
+
+ if(new_pos.gobj()->stamp == 0)
+ new_pos.setup_end_iterator(iter);
+
+ return new_pos;
+}
+
+TreeModel::iterator TreeStore::prepend()
+{
+ iterator new_pos (this);
+ gtk_tree_store_prepend(gobj(), new_pos.gobj(), 0);
+ return new_pos;
+}
+
+TreeModel::iterator TreeStore::prepend(const TreeNodeChildren& node)
+{
+ iterator new_pos (this);
+
+ gtk_tree_store_prepend(
+ gobj(), new_pos.gobj(),
+ const_cast<GtkTreeIter*>(node.get_parent_gobject()));
+
+ return new_pos;
+}
+
+TreeModel::iterator TreeStore::append()
+{
+ iterator new_pos (this);
+ gtk_tree_store_append(gobj(), new_pos.gobj(), 0);
+ return new_pos;
+}
+
+TreeModel::iterator TreeStore::append(const TreeNodeChildren& node)
+{
+ iterator new_pos (this);
+
+ gtk_tree_store_append(
+ gobj(), new_pos.gobj(),
+ const_cast<GtkTreeIter*>(node.get_parent_gobject()));
+
+ return new_pos;
+}
+
+void TreeStore::move(const iterator& source, const iterator& destination)
+{
+ gtk_tree_store_move_before(gobj(),
+ const_cast<GtkTreeIter*>(source.get_gobject_if_not_end()),
+ const_cast<GtkTreeIter*>(destination.get_gobject_if_not_end()));
+}
+
+void TreeStore::reorder(const TreeNodeChildren& node, const Glib::ArrayHandle<int>& new_order)
+{
+ gtk_tree_store_reorder(gobj(),
+ const_cast<GtkTreeIter*>(node.get_parent_gobject()),
+ const_cast<int*>(new_order.data()));
+}
+
+void TreeStore::set_value_impl(const iterator& row, int column, const Glib::ValueBase& value)
+{
+ gtk_tree_store_set_value(
+ gobj(), const_cast<GtkTreeIter*>(row.gobj()),
+ column, const_cast<GValue*>(value.gobj()));
+}
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treestore.hg b/libs/gtkmm2/gtk/src/treestore.hg
new file mode 100644
index 0000000000..e7971cad17
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treestore.hg
@@ -0,0 +1,166 @@
+/* $Id: treestore.hg,v 1.5 2004/04/03 12:53:49 murrayc Exp $ */
+
+/* Copyright(C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or(at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/treeiter.h>
+#include <gtkmm/treemodel.h>
+#include <gtkmm/treesortable.h>
+#include <gtkmm/treedragdest.h>
+#include <gtkmm/treedragsource.h>
+// We couldn't include it in treemodel.h, but doing it here makes it easier for people.
+#include <gtkmm/treepath.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Gtk
+{
+
+/**
+ * @ingroup TreeView
+ */
+class TreeStore :
+ public Glib::Object,
+ public Gtk::TreeModel,
+ public TreeSortable,
+ public TreeDragSource,
+ public TreeDragDest
+{
+ _CLASS_GOBJECT(TreeStore, GtkTreeStore, GTK_TREE_STORE, Glib::Object, GObject)
+ _IMPLEMENTS_INTERFACE(TreeModel)
+ _IMPLEMENTS_INTERFACE(TreeSortable)
+ _IMPLEMENTS_INTERFACE(TreeDragSource)
+ _IMPLEMENTS_INTERFACE(TreeDragDest)
+ _IGNORE(gtk_tree_store_set, gtk_tree_store_set_valist,
+ gtk_tree_store_insert, gtk_tree_store_append, gtk_tree_store_prepend,
+ gtk_tree_store_reorder, gtk_tree_store_move_after, gtk_tree_store_move_before)
+
+protected:
+ /** When using this constructor, you must use set_column_types() immediately afterwards.
+ * This can be useful when deriving from this class, with a fixed TreeModelColumnRecord
+ * that is a member of the class.
+ * There is no create() method that corresponds to this constructor, because this
+ * constructor should only be used by derived classes.
+ */
+ _CTOR_DEFAULT
+
+ explicit TreeStore(const TreeModelColumnRecord& columns);
+
+public:
+ /** Instantiate a new TreeStore.
+ * @param columns The column types for this tree model.
+ * @result The new TreeStore.
+ */
+ _WRAP_CREATE(const TreeModelColumnRecord& columns)
+
+ void set_column_types(const TreeModelColumnRecord& columns);
+ _IGNORE(gtk_tree_store_set_column_types)
+
+ /** Removes the given row from the list store.
+ * @param iter The iterator to the row to be removed.
+ * @result An iterator to the next row, or end() if there is none.
+ */
+ iterator erase(const iterator& iter);
+ _IGNORE(gtk_tree_store_remove)
+
+ //TODO: Make this documentation similar to documentation for Standard C++ insert methods.
+ /** Creates a new row before the position.
+ * If iter is end() then a new row will be appended to the list.
+ * The row will be empty - to fill in values, you need to dereference the returned iterator and use Row::operator[] or Row::set_value().
+ * See also prepend() and append().
+ *
+ * @param iter An iterator to the row before which the new row will be inserted.
+ * @result An iterator to the new row.
+ */
+ iterator insert(const iterator& iter);
+ _IGNORE(gtk_tree_store_insert_before)
+
+ /** Creates a new row after the position.
+ * If iter is end() then a new row will be prepended to the list.
+ * The row will be empty - to fill in values, you need to dereference the returned iterator and use Row::operator[] or Row::set_value().
+ * See also prepend() and append().
+ *
+ * @param iter An iterator to the row after which the new row will be inserted.
+ * @result An iterator to the new row.
+ */
+ iterator insert_after(const iterator& iter);
+ _IGNORE(gtk_tree_store_insert_after)
+
+ /** Creates a new row at the start of the top-level.
+ * The row will be empty - to fill in values, you need to dereference the returned iterator and use Row::operator[] or Row::set_value().
+ * See also insert() and append().
+ *
+ * @result An iterator to the new row.
+ */
+ iterator prepend();
+
+ /** Creates a new row at the start of the row's children.
+ * The row will be empty - to fill in values, you need to dereference the returned iterator and use Row::operator[] or Row::set_value().
+ * See also insert() and append().
+ *
+ * @param node The list of the parent row's children, as returned by Gtk::TreeModel::iterator::children().
+ * @result An iterator to the new row.
+ */
+ iterator prepend(const TreeNodeChildren& node);
+
+
+ /** Creates a new row at the end of the top-level.
+ * The row will be empty - to fill in values, you need to dereference the returned iterator and use Row::operator[] or Row::set_value().
+ * See also insert() and prepend().
+ *
+ * @result An iterator to the new row.
+ */
+ iterator append();
+
+ /** Creates a new row at the end of the row's children.
+ * The row will be empty - to fill in values, you need to dereference the returned iterator and use Row::operator[] or Row::set_value().
+ * See also insert() and prepend().
+ *
+ * @param node The list of the parent row's children, as returned by Gtk::TreeModel::iterator::children().
+ * @result An iterator to the new row.
+ */
+ iterator append(const TreeNodeChildren& node);
+
+ _WRAP_METHOD(void iter_swap(const iterator& a, const iterator& b), gtk_tree_store_swap)
+
+ /** Moves @a source to the position at @a destination.
+ * @a source and @a destination should be at the same level.
+ * Note that this function only works with unsorted stores.
+ * @param source The row that should be moved.
+ * @param destination The position to move to.
+ */
+ void move(const iterator& source, const iterator& destination);
+
+ /** Reorders the children of @a node to follow the order indicated by @a new_order.
+ * Note that this function only works with unsorted stores.
+ */
+ void reorder(const TreeNodeChildren& node, const Glib::ArrayHandle<int>& new_order);
+
+ _WRAP_METHOD(void clear(), gtk_tree_store_clear)
+ _WRAP_METHOD(bool is_ancestor(const iterator& iter, const iterator& descendant) const, gtk_tree_store_is_ancestor)
+ _WRAP_METHOD(int iter_depth(const iterator& iter) const, gtk_tree_store_iter_depth)
+
+ _WRAP_METHOD(bool iter_is_valid(const iterator& iter) const, gtk_tree_store_iter_is_valid)
+
+protected:
+ virtual void set_value_impl(const iterator& row, int column, const Glib::ValueBase& value);
+ _IGNORE(gtk_tree_store_set_value)
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treeview.ccg b/libs/gtkmm2/gtk/src/treeview.ccg
new file mode 100644
index 0000000000..8ba6d969a1
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treeview.ccg
@@ -0,0 +1,494 @@
+// -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+/* $Id: treeview.ccg,v 1.24 2006/06/19 17:28:12 murrayc Exp $ */
+
+/* Copyright 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/treeviewcolumn.h>
+#include <gtkmm/treeview_private.h>
+#include <gtkmm/treemodel.h>
+#include <gtkmm/treemodelfilter.h>
+#include <gtkmm/entry.h>
+#include <gtk/gtktreeview.h>
+
+namespace
+{
+
+//This target name is used in the GTK+ implementation:
+static const char treeview_target_row[] = "GTK_TREE_MODEL_ROW";
+
+} // anonymous namespace
+
+
+static void SignalProxy_Mapping_gtk_callback(GtkTreeView* tree_view, GtkTreePath* path, void* data)
+{
+ Gtk::TreeView::SlotMapping* the_slot = static_cast<Gtk::TreeView::SlotMapping*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ (*the_slot)(Glib::wrap(tree_view), Gtk::TreePath(path, true));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+static gboolean SignalProxy_SearchEqual_gtk_callback(GtkTreeModel* model, int column, const char* key,
+ GtkTreeIter* iter, void* data)
+{
+ Gtk::TreeView::SlotSearchEqual* the_slot = static_cast<Gtk::TreeView::SlotSearchEqual*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ return (*the_slot)(Glib::wrap(model, true), column, key, Gtk::TreeIter(model, iter));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+
+ return 0; // arbitrary value
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+static void SignalProxy_SearchEqual_gtk_callback_destroy(void* data)
+{
+ delete static_cast<Gtk::TreeView::SlotSearchEqual*>(data);
+}
+
+static gboolean SignalProxy_ColumnDrop_gtk_callback(GtkTreeView* tree_view, GtkTreeViewColumn* column,
+ GtkTreeViewColumn* prev_column,
+ GtkTreeViewColumn* next_column, void* data)
+{
+ Gtk::TreeView::SlotColumnDrop* the_slot = static_cast<Gtk::TreeView::SlotColumnDrop*>(data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ return (*the_slot)(Glib::wrap(tree_view), Glib::wrap(column),
+ Glib::wrap(prev_column), Glib::wrap(next_column));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return 0; // arbitrary value
+}
+
+static void SignalProxy_ColumnDrop_gtk_callback_destroy(void* data)
+{
+ delete static_cast<Gtk::TreeView::SlotColumnDrop*>(data);
+}
+
+
+static void SignalProxy_SearchPosition_gtk_callback(GtkTreeView* /* tree_view */, GtkWidget* search_dialog, gpointer user_data)
+{
+ Gtk::TreeView::SlotSearchPosition* the_slot = static_cast<Gtk::TreeView::SlotSearchPosition*>(user_data);
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ (*the_slot)(Glib::wrap(search_dialog));
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+static void SignalProxy_SearchPosition_gtk_callback_destroy(void* data)
+{
+ delete static_cast<Gtk::TreeView::SlotSearchPosition*>(data);
+}
+
+namespace Gtk
+{
+
+void TreeView::unset_hadjustment()
+{
+ gtk_tree_view_set_hadjustment(gobj(), 0);
+}
+
+void TreeView::unset_vadjustment()
+{
+ gtk_tree_view_set_vadjustment(gobj(), 0);
+}
+
+int TreeView::insert_column_with_data_func(int position, const Glib::ustring& title, CellRenderer& cell, const SlotCellData& slot)
+{
+ //Create a copy of the slot. A pointer to this will be passed through the callback's data parameter.
+ //It will be deleted when TreeView_Private::SignalProxy_CellData_gtk_callback_destroy() is called.
+ SlotCellData* slot_copy = new SlotCellData(slot);
+
+ return gtk_tree_view_insert_column_with_data_func(
+ gobj(), position, title.c_str(), cell.gobj(),
+ &TreeView_Private::SignalProxy_CellData_gtk_callback, slot_copy,
+ &TreeView_Private::SignalProxy_CellData_gtk_callback_destroy);
+}
+
+void TreeView::set_cursor(const TreeModel::Path& path)
+{
+ gtk_tree_view_set_cursor(gobj(), const_cast<GtkTreePath*>(path.gobj()), 0, false);
+}
+
+void TreeView::get_cursor(TreeModel::Path& path, TreeViewColumn*& focus_column)
+{
+ GtkTreePath* pTreePath = 0;
+ GtkTreeViewColumn* pTreeViewColumn = 0;
+ gtk_tree_view_get_cursor(gobj(), &pTreePath, &pTreeViewColumn);
+
+ path = TreeModel::Path(pTreePath, false); /* Use the existing underlying GtkTreePath instance without copying and freeing, because gtk_tree_view_get_cursor() gives us ownernship. */
+ focus_column = Glib::wrap(pTreeViewColumn);
+}
+
+
+void TreeView::enable_model_drag_source(const ArrayHandle_TargetEntry& targets,
+ Gdk::ModifierType start_button_mask,
+ Gdk::DragAction actions)
+{
+ gtk_tree_view_enable_model_drag_source(
+ gobj(), (GdkModifierType) start_button_mask,
+ targets.data(), targets.size(), (GdkDragAction) actions);
+}
+
+void TreeView::enable_model_drag_source(Gdk::ModifierType start_button_mask, Gdk::DragAction actions)
+{
+ std::list<TargetEntry> listTargets;
+ listTargets.push_back(TargetEntry(treeview_target_row));
+ enable_model_drag_source(listTargets, start_button_mask, actions);
+}
+
+void TreeView::enable_model_drag_dest(const ArrayHandle_TargetEntry& targets, Gdk::DragAction actions)
+{
+ gtk_tree_view_enable_model_drag_dest(
+ gobj(), targets.data(), targets.size(), (GdkDragAction) actions);
+}
+
+void TreeView::enable_model_drag_dest(Gdk::DragAction actions)
+{
+ std::list<TargetEntry> listTargets;
+ listTargets.push_back(TargetEntry(treeview_target_row));
+ enable_model_drag_dest(listTargets, actions);
+}
+
+_DEPRECATE_IFDEF_START
+bool TreeView::get_path_at_pos(int x, int y, TreeModel::Path& path, TreeViewColumn*& column, int& cell_x, int& cell_y)
+{
+ GtkTreePath* pTreePath = 0;
+ GtkTreeViewColumn* pTreeViewColumn = 0;
+ bool result = gtk_tree_view_get_path_at_pos(gobj(), x, y, &pTreePath, &pTreeViewColumn, &cell_x, &cell_y);
+
+ path = TreeModel::Path(pTreePath, false /* don't take a copy, because the gtk_tree_view_get_path_at_pos() docs say that we must free the path */ );
+ column = Glib::wrap(pTreeViewColumn);
+ return result;
+}
+_DEPRECATE_IFDEF_END
+
+bool TreeView::get_path_at_pos(int x, int y, TreeModel::Path& path, TreeViewColumn*& column, int& cell_x, int& cell_y) const
+{
+ GtkTreePath* pTreePath = 0;
+ GtkTreeViewColumn* pTreeViewColumn = 0;
+ bool result = gtk_tree_view_get_path_at_pos(const_cast<GtkTreeView*>(gobj()), x, y, &pTreePath, &pTreeViewColumn, &cell_x, &cell_y);
+
+ path = TreeModel::Path(pTreePath, false /* don't take a copy, because the gtk_tree_view_get_path_at_pos() docs say that we must free the path */ );
+ column = Glib::wrap(pTreeViewColumn);
+ return result;
+}
+
+int TreeView::insert_column(const Glib::ustring& title, CellRenderer& cell, int position)
+{
+ return gtk_tree_view_insert_column_with_attributes(
+ gobj(), position, const_cast<char*>(title.c_str()), cell.gobj(), (void*)0); //Note that some compilers need the extra (void*) clue.
+}
+
+int TreeView::append_column(const Glib::ustring& title, CellRenderer& cell)
+{
+ return insert_column(title, cell, -1 /* at the end */);
+}
+
+void TreeView::get_drag_dest_row(TreeModel::Path& path, TreeViewDropPosition& pos) const
+{
+ GtkTreePath* pTreePath = 0;
+ gtk_tree_view_get_drag_dest_row(const_cast<GtkTreeView*>(gobj()), &pTreePath, (GtkTreeViewDropPosition*) &pos);
+ path = TreeModel::Path(pTreePath, true); //true = take_copy.
+}
+
+bool TreeView::get_dest_row_at_pos(int drag_x, int drag_y, TreeModel::Path& path, TreeViewDropPosition& pos) const
+{
+ GtkTreePath* pTreePath = 0;
+ const bool bResult = gtk_tree_view_get_dest_row_at_pos(
+ const_cast<GtkTreeView*>(gobj()), drag_x, drag_y, &pTreePath, (GtkTreeViewDropPosition*) &pos);
+
+ path = TreeModel::Path(pTreePath, true); //true = take_copy.
+ return bResult;
+}
+
+void TreeView::map_expanded_rows(const SlotMapping& slot)
+{
+ gtk_tree_view_map_expanded_rows(gobj(), &SignalProxy_Mapping_gtk_callback, const_cast<SlotMapping*>(&slot));
+}
+
+void TreeView::set_search_equal_func(const SlotSearchEqual& slot)
+{
+ //Create a copy of the slot. A pointer to this will be passed through the callback's data parameter.
+ //It will be deleted when SignalProxy_SearchEqual_gtk_callback_destroy() is called.
+ SlotSearchEqual* slot_copy = new SlotSearchEqual(slot);
+
+ gtk_tree_view_set_search_equal_func(gobj(),
+ &SignalProxy_SearchEqual_gtk_callback, slot_copy,
+ &SignalProxy_SearchEqual_gtk_callback_destroy);
+}
+
+void TreeView::set_column_drag_function(const SlotColumnDrop& slot)
+{
+ //Create a copt of the slot. A pointer to this will be passed through the callback's data parameter.
+ //It will be deleted when SignalProxy_ColumnDrop_gtk_callback_destroy() is called.
+ SlotColumnDrop* slot_copy = new SlotColumnDrop(slot);
+
+ gtk_tree_view_set_column_drag_function(gobj(),
+ &SignalProxy_ColumnDrop_gtk_callback, slot_copy,
+ &SignalProxy_ColumnDrop_gtk_callback_destroy);
+
+}
+
+void TreeView::unset_column_drag_function()
+{
+ gtk_tree_view_set_column_drag_function(gobj(),
+ 0, 0, 0); /* See GTK+ docs about the 0s. */
+}
+
+void TreeView::scroll_to_cell(const TreeModel::Path& path, TreeViewColumn& column, float row_align, float col_align)
+{
+ gtk_tree_view_scroll_to_cell(gobj(), const_cast<GtkTreePath*>(path.gobj()), column.gobj(), TRUE, row_align, col_align);
+}
+
+void TreeView::scroll_to_cell(const TreeModel::Path& path, TreeViewColumn& column)
+{
+ gtk_tree_view_scroll_to_cell(gobj(), const_cast<GtkTreePath*>(path.gobj()), column.gobj(), FALSE, 0.0, 0.0);
+}
+
+void TreeView::scroll_to_row(const TreeModel::Path& path, float row_align)
+{
+ gtk_tree_view_scroll_to_cell(gobj(), const_cast<GtkTreePath*>(path.gobj()), 0, TRUE, row_align, 0.0);
+}
+
+void TreeView::scroll_to_row(const TreeModel::Path& path)
+{
+ gtk_tree_view_scroll_to_cell(gobj(), const_cast<GtkTreePath*>(path.gobj()), 0, FALSE, 0.0, 0.0);
+}
+
+void TreeView::scroll_to_column(TreeViewColumn& column, float col_align)
+{
+ gtk_tree_view_scroll_to_cell(gobj(), 0, column.gobj(), TRUE, 0.0, col_align);
+}
+
+void TreeView::scroll_to_column(TreeViewColumn& column)
+{
+ gtk_tree_view_scroll_to_cell(gobj(), 0, column.gobj(), FALSE, 0.0, 0.0);
+}
+
+void TreeView::remove_all_columns()
+{
+ //This method is not in GTK+, but it seems useful.
+
+ //Remove all View columns:
+ typedef std::list< Gtk::TreeView::Column* > type_vecViewColumns;
+ type_vecViewColumns vecViewColumns = get_columns();
+ for(type_vecViewColumns::iterator iter = vecViewColumns.begin(); iter != vecViewColumns.end(); ++iter)
+ {
+ Gtk::TreeView::Column* pViewColumn = *iter;
+ if(pViewColumn)
+ remove_column(*pViewColumn);
+ }
+}
+
+
+CellRenderer* TreeView::get_column_cell_renderer(int n)
+{
+ TreeViewColumn* pColumn = get_column(n);
+ if(pColumn)
+ return pColumn->get_first_cell_renderer();
+ else
+ return 0;
+}
+
+
+const CellRenderer* TreeView::get_column_cell_renderer(int n) const
+{
+ //Do some const_cast-ing to avoid repetition of code:
+ CellRenderer* pRenderer = const_cast<TreeView*>(this)->get_column_cell_renderer(n);
+ return pRenderer;
+}
+
+void TreeView::reset_expander_column()
+{
+ gtk_tree_view_set_expander_column(gobj(), 0 /* see C docs */);
+}
+
+Glib::RefPtr<Gtk::TreeModel> TreeView::_get_base_model()
+{
+ Glib::RefPtr<TreeModel> refModel = get_model();
+
+ bool get_child = true;
+ while(get_child && refModel)
+ {
+ Glib::RefPtr<Gtk::TreeModelFilter> refModelFilter = Glib::RefPtr<Gtk::TreeModelFilter>::cast_dynamic(refModel);
+ if(refModelFilter)
+ refModel = refModelFilter->get_model();
+ else
+ get_child = false;
+ }
+
+ return refModel;
+}
+
+void TreeView::_auto_store_on_cellrenderer_toggle_edited(const Glib::ustring& path_string,
+ int model_column)
+{
+ _auto_store_on_cellrenderer_toggle_edited_with_model(path_string, model_column, _get_base_model());
+}
+
+void TreeView::_auto_store_on_cellrenderer_toggle_edited_with_model(const Glib::ustring& path_string,
+ int model_column, const Glib::RefPtr<Gtk::TreeModel>& model)
+{
+ Gtk::TreePath path (path_string);
+
+ //Get the row from the path:
+ if(model)
+ {
+ Gtk::TreeModel::iterator iter = model->get_iter(path);
+ if(iter)
+ {
+ Gtk::TreeRow row = *iter;
+
+ //Get the new value:
+ //This seems to get the old value, not the new one,
+ //so we will just NOT the model value ourselves.
+ //bool bActive = cell_renderer->get_active();
+ bool bActive = false;
+ row.get_value(model_column, bActive);
+ bActive = !bActive;
+
+ //Store the user's new text in the model:
+ row.set_value(model_column, bActive);
+ }
+ }
+}
+
+void TreeView::move_column_to_start(TreeViewColumn& column)
+{
+ gtk_tree_view_move_column_after(gobj(), (column).gobj(), 0 /* See C docs */);
+}
+
+void TreeView::set_row_separator_func(const SlotRowSeparator& slot)
+{
+ //Create a copy of the slot. A pointer to this will be passed through the callback's data parameter.
+ //It will be deleted when SignalProxy_RowSeparator_gtk_callback_destroy() is called.
+ SlotRowSeparator* slot_copy = new SlotRowSeparator(slot);
+
+ gtk_tree_view_set_row_separator_func(gobj(),
+ &TreeView_Private::SignalProxy_RowSeparator_gtk_callback, slot_copy,
+ &TreeView_Private::SignalProxy_RowSeparator_gtk_callback_destroy);
+}
+
+void TreeView::set_search_position_func(const SlotSearchPosition& slot)
+{
+ //Create a copy of the slot. A pointer to this will be passed through the callback's data parameter.
+ //It will be deleted when SignalProxy_SearchPosition_gtk_callback_destroy() is called.
+ SlotSearchPosition* slot_copy = new SlotSearchPosition(slot);
+
+ gtk_tree_view_set_search_position_func(gobj(),
+ &SignalProxy_SearchPosition_gtk_callback, slot_copy,
+ &SignalProxy_SearchPosition_gtk_callback_destroy);
+}
+
+bool TreeView::get_visible_range(TreeModel::Path& start_path, TreeModel::Path& end_path) const
+{
+ GtkTreePath* pTreePathStart = 0;
+ GtkTreePath* pTreePathEnd = 0;
+ bool result = gtk_tree_view_get_visible_range(const_cast<GtkTreeView*>(gobj()), &pTreePathStart, &pTreePathEnd);
+
+ start_path = TreeModel::Path(pTreePathStart, false /* don't take a copy, because the gtk_tree_view_get_visible_range() docs say that we must free the path */ );
+ end_path = TreeModel::Path(pTreePathEnd, false /* don't take a copy, because the gtk_tree_view_get_visible_range() docs say that we must free the path */ );
+ return result;
+}
+
+void TreeView::unset_model()
+{
+ gtk_tree_view_set_model(gobj(), 0);
+}
+
+bool
+TreeView::get_tooltip_context_path(int& x, int& y,
+ bool keyboard_tip,
+ TreeModel::Path& path)
+{
+ //It's cleaner to use a temporary C++ object and get a C pointer to it,
+ //because GtkTreePath is a simple struct, not a GtkObject, so
+ //gtk_tree_path_new() would be necessary. markoa.
+ TreeModel::Path tmp_path;
+ GtkTreePath* cpath = tmp_path.gobj();
+
+ gboolean result =
+ gtk_tree_view_get_tooltip_context(gobj(),
+ &x, &y,
+ keyboard_tip,
+ 0,
+ &cpath,
+ 0);
+
+ path = Glib::wrap(cpath, false /* take_copy=false */);
+
+ return result;
+}
+
+bool
+TreeView::get_tooltip_context_iter(int& x, int& y,
+ bool keyboard_tip,
+ Gtk::TreeModel::iterator& iter)
+{
+ GtkTreeIter src_iter;
+
+ gboolean result =
+ gtk_tree_view_get_tooltip_context(gobj(),
+ &x, &y,
+ keyboard_tip,
+ 0,
+ 0,
+ &src_iter);
+
+ iter = TreeIter(gtk_tree_view_get_model(this->gobj()), &src_iter);
+
+ return result;
+}
+
+} // namespace Gtk
diff --git a/libs/gtkmm2/gtk/src/treeview.hg b/libs/gtkmm2/gtk/src/treeview.hg
new file mode 100644
index 0000000000..e511b91556
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treeview.hg
@@ -0,0 +1,1284 @@
+/* $Id: treeview.hg,v 1.45 2006/06/20 18:46:59 murrayc Exp $ */
+
+/* Copyright(C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or(at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+_CONFIGINCLUDE(gtkmmconfig.h)
+
+#include <glibmm/listhandle.h>
+#include <gtkmm/container.h>
+#include <gtkmm/adjustment.h>
+#include <gdkmm/pixmap.h>
+#include <gtkmm/treeviewcolumn.h>
+#include <gtkmm/treeselection.h>
+#include <gtkmm/treemodelcolumn.h>
+#include <gtkmm/cellrenderer.h>
+#include <gtkmm/targetentry.h>
+#include <gtkmm/entry.h>
+#include <gtkmm/tooltip.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/container_p.h)
+
+
+namespace Gtk
+{
+
+_CC_INCLUDE(gtk/gtktypebuiltins.h)
+_WRAP_ENUM(TreeViewDropPosition, GtkTreeViewDropPosition)
+_WRAP_ENUM(TreeViewGridLines, GtkTreeViewGridLines)
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+class TreeView;
+
+namespace TreeView_Private
+{
+/* This helper function is not a member of TreeView just for the reason that
+ * there are compilers that have problems compiling it otherwise. E.g. in gcc
+ * 2.95.3 a compiler bug prevents member functions from refering to specialized
+ * member function templates and that's what we do here: In function
+ * _connect_auto_store_editable_signal_handler we build a slot from
+ * TreeView::_auto_store_on_cellrenderer_*_edited. (The latter must be member
+ * functions of TreeView since we connect them to signals and we want the
+ * connections to vanish when the TreeView dies, of course.)
+ */
+ template <class ColumnType> inline
+ void _connect_auto_store_editable_signal_handler(Gtk::TreeView* this_p, Gtk::CellRenderer* pCellRenderer, const Gtk::TreeModelColumn<ColumnType>& model_column);
+
+ template<class ColumnType> inline
+ void _auto_store_on_cellrenderer_text_edited_string(const Glib::ustring& path_string, const Glib::ustring& new_text, int model_column, const Glib::RefPtr<Gtk::TreeModel>& model);
+
+ template <class ColumnType> inline
+ void _auto_store_on_cellrenderer_text_edited_numerical(const Glib::ustring& path_string, const Glib::ustring& new_text, int model_column, const Glib::RefPtr<Gtk::TreeModel>& model);
+
+ template <class ColumnType> inline
+ void _auto_cell_data_func(Gtk::CellRenderer* cell, const Gtk::TreeModel::iterator& iter, int model_column, const Glib::ustring& format);
+}
+
+#endif //DOXYGEN_SHOULD_SKIP_THIS
+
+
+//class TreeViewColumn;
+class TreeModel;
+
+/** @defgroup TreeView TreeView Classes
+ * These classes are used with the Gtk::TreeView widget.
+ */
+
+/** The TreeView widget displays the model (Gtk::TreeModel) data and allows the user to interact with it.
+ * The View can show all of the model's columns, or just some, and it can show them in various ways.
+ * You must provide the TreeModel in the constructor, or with set_model().
+ *
+ * Add View columns with append_column(), append_column_editable(), insert_column(), or insert_column_editable().
+ *
+ * You can manipulate the selection by obtaining the @link Gtk::TreeSelection Gtk::TreeView::Selection@endlink from get_selection().
+ *
+ * @ingroup Widgets
+ * @ingroup Containers
+ * @ingroup TreeView
+ */
+class TreeView : public Container
+{
+ _CLASS_GTKOBJECT(TreeView, GtkTreeView, GTK_TREE_VIEW, Gtk::Container, GtkContainer)
+ _IGNORE(gtk_tree_view_get_path_at_pos, gtk_tree_view_set_destroy_count_func, gtk_tree_view_get_cursor
+ gtk_tree_view_insert_column_with_data_func, gtk_tree_view_get_drag_dest_row, gtk_tree_view_get_dest_row_at_pos)
+public:
+ /** A visible column in a Gtk::TreeView widget.
+ */
+ typedef TreeViewColumn Column;
+
+ /** A selection object for Gtk::TreeView.
+ */
+ typedef TreeSelection Selection;
+ /**
+ Default constructor
+ */
+ _CTOR_DEFAULT()
+ /**
+ Constructor that binds to a TreeModel
+ */
+ _WRAP_CTOR(TreeView(const Glib::RefPtr<TreeModel>& model), gtk_tree_view_new_with_model)
+
+ _WRAP_METHOD(Glib::RefPtr<TreeModel> get_model(), gtk_tree_view_get_model, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const TreeModel> get_model() const, gtk_tree_view_get_model, refreturn)
+ _WRAP_METHOD(void set_model(const Glib::RefPtr<TreeModel>& model), gtk_tree_view_set_model)
+
+ /** Remove the model from the TreeView.
+ */
+ void unset_model();
+
+ _WRAP_METHOD(Glib::RefPtr<TreeSelection> get_selection(), gtk_tree_view_get_selection, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const TreeSelection> get_selection() const, gtk_tree_view_get_selection, refreturn, constversion)
+ _WRAP_METHOD(Adjustment* get_hadjustment(), gtk_tree_view_get_hadjustment)
+ _WRAP_METHOD(const Adjustment* get_hadjustment() const, gtk_tree_view_get_hadjustment, constversion)
+ _WRAP_METHOD(void set_hadjustment(Adjustment& adjustment), gtk_tree_view_set_hadjustment)
+
+ /** This method removes the hadjustment.
+ * @see set_hadjustment().
+ */
+ void unset_hadjustment();
+
+ _WRAP_METHOD(Adjustment* get_vadjustment(), gtk_tree_view_get_vadjustment)
+ _WRAP_METHOD(const Adjustment* get_vadjustment() const, gtk_tree_view_get_vadjustment, constversion)
+ _WRAP_METHOD(void set_vadjustment(Adjustment& adjustment), gtk_tree_view_set_vadjustment)
+
+ /** This method removes the vadjustment.
+ * @see set_vadjustment().
+ */
+ void unset_vadjustment();
+
+ _WRAP_METHOD(bool get_headers_visible() const, gtk_tree_view_get_headers_visible)
+ _WRAP_METHOD(void set_headers_visible(bool headers_visible), gtk_tree_view_set_headers_visible)
+ _WRAP_METHOD(void columns_autosize(), gtk_tree_view_columns_autosize)
+ _WRAP_METHOD(bool get_headers_clickable() const, gtk_tree_view_get_headers_clickable)
+ _WRAP_METHOD(void set_headers_clickable(bool setting = true), gtk_tree_view_set_headers_clickable)
+ _WRAP_METHOD(void set_rules_hint(bool setting = true), gtk_tree_view_set_rules_hint)
+ _WRAP_METHOD(bool get_rules_hint() const, gtk_tree_view_get_rules_hint)
+
+ _WRAP_METHOD(int append_column(TreeViewColumn& column), gtk_tree_view_append_column)
+
+ /** Appends a View column with the appropriate CellRenderer for the Model column.
+ *
+ * The CellRenderer can only be created automatically for some basic
+ * column types, such as Glib::ustring, int, double, bool, and Gdk::Pixbuf.
+ * If the type is not supported then the following warning will be shown:
+ * GLib-GObject-WARNING **: unable to set property `text' of type
+ * `gchararray' from value of type `glibmm__CustomBoxed_t'.
+ *
+ * If the default formatting is not sufficient, or the numeric type is
+ * not supported, then you could use append_column_numeric(). Or you
+ * could create the TreeView::Column and/or CellRenderer
+ * manually and use TreeViewColumn::set_cell_data_func() to provide a callback
+ * that converts the model value into a string representation with .
+ *
+ * @param title The text to be used in the title header of this column.
+ * @param model_column The column in the TreeModel that will be rendered by this View column.
+ * @result The number of columns in the View after appending.
+ */
+ template <class ColumnType> inline
+ int append_column(const Glib::ustring& title, const TreeModelColumn<ColumnType>& model_column);
+
+ /** Like append_column(), but only for numeric types, which will be displayed in the specified format.
+ * This convenience template uses TreeView::Column::set_cell_data_func(), so the numeric formatting will
+ * be deactivated if you specify your own cell_data callback by calling set_cell_data_func() again.
+ *
+ * @param title The text to be used in the title header of this column.
+ * @param model_column The column in the TreeModel that will be rendered by this View column.
+ * @param format A printf-style format, such as "%d", used to create a text representation of the number.
+ * @result The number of columns in the View after appending.
+ */
+ template <class ColumnType> inline
+ int append_column_numeric(const Glib::ustring& title, const TreeModelColumn<ColumnType>& model_column, const Glib::ustring& format);
+
+ //TODO: danielk suggested use of Glib::Value to simplify/improve this.
+ /** Appends a View column with the appropriate CellRenderer for the Model
+ * column. The compiler will attempt to instantiate appropriate template
+ * code to automatically store user changes in the model. To intercept the
+ * user's change and implement non-default logic, or if the compiler can't
+ * instantiate appropriate code for your model type, you could use
+ * append_column() and connect a signal handler to the CellRenderer.
+ *
+ * @see append_column_numeric_editable().
+ *
+ * @param title The text to be used in the title header of this column.
+ * @param model_column The column in the TreeModel that will be rendered by this View column.
+ * @result The number of columns in the View after appending.
+ */
+ template <class ColumnType> inline
+ int append_column_editable(const Glib::ustring& title, const TreeModelColumn<ColumnType>& model_column);
+
+ /** Like append_column_editable(), but only for numeric types, which will be displayed in the specified format.
+ * This convenience template uses TreeView::Column::set_cell_data_func(), so the numeric formatting will
+ * be deactivated if you specify your own cell_data callback by calling set_cell_data_func() again.
+ *
+ * Note that the user's input will be interpreted as decimal (base 10), regardless of the @a format.
+ *
+ * @param title The text to be used in the title header of this column.
+ * @param model_column The column in the TreeModel that will be rendered by this View column.
+ * @param format A printf-style format, such as "%d", used to create a text representation of the number.
+ * @result The number of columns in the View after appending.
+ */
+ template <class ColumnType> inline
+ int append_column_numeric_editable(const Glib::ustring& title, const TreeModelColumn<ColumnType>& model_column, const Glib::ustring& format);
+
+
+ /// Creates a View column containing the CellRenderer, and appends it.
+ int append_column(const Glib::ustring& title, CellRenderer& cell);
+
+ _WRAP_METHOD(int remove_column(TreeViewColumn& column), gtk_tree_view_remove_column)
+
+ /// Removes all View columns.
+ void remove_all_columns();
+
+ _WRAP_METHOD(int insert_column(TreeViewColumn& column, int position), gtk_tree_view_insert_column)
+
+ /** Creates a View column containing the CellRenderer, and inserts it.
+ *
+ * @param title The text to be used in the title header of this column.
+ * @param cell The CellRenderer.
+ * @param position The position at which the CellRenderer should be inserted.
+ * @result The number of columns in the View after inserting.
+ */
+ int insert_column(const Glib::ustring& title, CellRenderer& cell, int position);
+
+ _IGNORE(gtk_tree_view_insert_column_with_attributes)
+
+ /** Inserts a View column with the appropriate CellRenderer for the Model column.
+ *
+ * @param title The text to be used in the title header of this column.
+ * @param model_column The column in the TreeModel that will be rendered by this View column.
+ * @param position The position at which the CellRenderer should be inserted.
+ * @result The number of columns in the View after inserting.
+ */
+ template <class ColumnType> inline
+ int insert_column(const Glib::ustring& title, const TreeModelColumn<ColumnType>& model_column, int position);
+
+ /** Inserts a View column with the appropriate CellRenderer for the Model
+ * column. The compiler will attempt to instantiate appropriate template
+ * code to automatically store user changes in the model. To intercept the
+ * user's change and implement non-default logic, or if the compiler can't
+ * instantiate appropriate code for your model type, you should use
+ * append_column() and connect a signal handler to the CellRenderer.
+ *
+ * @param title The text to be used in the title header of this column.
+ * @param model_column The column in the TreeModel that will be rendered by this View column.
+ * @param position The position at which the CellRenderer should be inserted.
+ * @result The number of columns in the View after inserting.
+ */
+ template <class ColumnType> inline
+ int insert_column_editable(const Glib::ustring& title, const TreeModelColumn<ColumnType>& model_column, int position);
+
+ typedef TreeViewColumn::SlotCellData SlotCellData;
+
+ /**
+ * Inserts a new column into the TreeView with the given cell
+ * renderer and a SlotCellData to set cell renderer attributes
+ * (normally using data from the model).
+ *
+ * @param position Position to insert, -1 for append
+ * @param title column title
+ * @param cell cell renderer for column
+ * @param slot function to set attributes of cell renderer
+ * @return number of columns in the TreeView after the insert
+ */
+ int insert_column_with_data_func(int position, const Glib::ustring& title, CellRenderer& cell, const SlotCellData& slot);
+
+ _WRAP_METHOD(TreeViewColumn* get_column(int n), gtk_tree_view_get_column)
+ _WRAP_METHOD(const TreeViewColumn* get_column(int n) const, gtk_tree_view_get_column, constversion)
+
+ //The column index is of the view, not the model, so we do not need TreeViewColumn* get_column(TreeViewColumn& base_column).
+
+ /** Gets the CellRenderer for that column.
+ * You should dynamic_cast<> to the expected derived CellRenderer type.
+ * This assumes that the TreeViewColumn contains only one CellRenderer.
+ *
+ * @param n The position of the view column.
+ * @result The CellRenderer.
+ */
+ CellRenderer* get_column_cell_renderer(int n);
+
+ //TODO: Add TreeViewColumn* get_column_cell_renderer(TreeViewColumn& base_column); and a const one.
+
+
+ /** Gets the CellRenderer for that column.
+ * You should dynamic_cast<> to the expected derived CellRenderer type.
+ * This assumes that the TreeViewColumn contains only one CellRenderer.
+ *
+ * @param n The position of the view column.
+ * @result The CellRenderer.
+ */
+ const CellRenderer* get_column_cell_renderer(int n) const;
+
+ _WRAP_METHOD(Glib::ListHandle<TreeViewColumn*> get_columns(), gtk_tree_view_get_columns)
+ _WRAP_METHOD(Glib::ListHandle<const TreeViewColumn*> get_columns() const, gtk_tree_view_get_columns)
+
+ _WRAP_METHOD(void move_column_after(TreeViewColumn& column, TreeViewColumn& base_column), gtk_tree_view_move_column_after)
+
+ /** This method moves column to the first position in the view.
+ *
+ * @param column The view column that will be moved
+ */
+ void move_column_to_start(TreeViewColumn& column);
+
+ _WRAP_METHOD(void set_expander_column(TreeViewColumn& column), gtk_tree_view_set_expander_column)
+
+ /** This method resets the expander arrow to the default - the first visible column.
+ * @see set_expander_column().
+ */
+ void reset_expander_column();
+
+ _WRAP_METHOD(TreeViewColumn* get_expander_column(), gtk_tree_view_get_expander_column)
+ _WRAP_METHOD(const TreeViewColumn* get_expander_column() const, gtk_tree_view_get_expander_column, constversion)
+
+ /** For instance,
+ * bool on_column_drop(TreeView*, tree_view, TreeViewColumn* column, TreeViewColumn* prev_column, TreeViewColumn* next_column)
+ *
+ * This function is called on every column pair in turn at the beginning of a column drag to determine where a
+ * drop can take place. The arguments passed to the function are: the tree_view, the view Column being dragged,
+ * and the two view Columns determining the drop spot. If either of the view Column arguments for the drop spot
+ * are 0, then they indicate an edge.
+ */
+ typedef sigc::slot<bool, TreeView*, TreeViewColumn*, TreeViewColumn*, TreeViewColumn*> SlotColumnDrop;
+
+ /** Sets a callback slot for determining where a column may be dropped when dragged.
+ * This function is called on every column pair in turn at the beginning of a column drag to determine where a
+ * drop can take place. The arguments passed to the function are: the tree_view, the view Column being dragged,
+ * and the two view Columns determining the drop spot. If either of the view Column arguments for the drop spot
+ * are 0, then they indicate an edge.
+ *
+ * See unset_column_drag_function().
+ *
+ * @param slot A callback function to determine which columns are reorderable.
+ */
+ void set_column_drag_function(const SlotColumnDrop& slot);
+ _IGNORE(gtk_tree_view_set_column_drag_function)
+
+ /** See set_column_drag_function(). After this method has been called, the TreeView reverts to the default behavior of
+ * allowing all columns to be dropped everywhere.
+ */
+ void unset_column_drag_function();
+
+ _WRAP_METHOD(void scroll_to_point(int tree_x, int tree_y), gtk_tree_view_scroll_to_point)
+
+ /** Moves the alignments of tree view to the position specified by @a column and @a path.
+ * @a row_align determines where the row is placed, and @a col_align determines where
+ * column is placed. Both are expected to be between 0.0 and 1.0. 0.0 means left/top
+ * alignment, 1.0 means right/bottom alignment, 0.5 means center.
+ *
+ * This function only works if the model is set, and @a path is a valid row on the model.
+ * If the model changes before the tree view is realized, the centered path will be
+ * modified to reflect this change.
+ *
+ * @param path The path of the row to move to.
+ * @param column The Gtk::TreeViewColumn to move horizontally to.
+ * @param row_align The vertical alignment of the row specified by @a path.
+ * @param col_align The horizontal alignment of the column specified by @a column.
+ */
+ void scroll_to_cell(const TreeModel::Path& path, TreeViewColumn& column, float row_align, float col_align);
+ _IGNORE(gtk_tree_view_scroll_to_cell)
+
+ /** Moves the alignments of tree view to the position specified by @a column and @a path.
+ * The tree does the minimum amount of work to scroll the cell onto the screen. This means
+ * that the cell will be scrolled to the edge closest to it's current position. If the cell
+ * is currently visible on the screen, nothing is done.
+ *
+ * This function only works if the model is set, and @a path is a valid row on the model.
+ * If the model changes before the tree_view is realized, the centered path will be modified
+ * to reflect this change.
+ *
+ * @param path The path of the row to move to.
+ * @param column The Gtk::TreeViewColumn to move horizontally to.
+ */
+ void scroll_to_cell(const TreeModel::Path& path, TreeViewColumn& column);
+
+ /** Moves the alignments of tree view to the position specified by @a path.
+ * @a row_align determines where the row is placed, and is expected to be between 0.0
+ * and 1.0. 0.0 means top alignment, 1.0 means bottom alignment, 0.5 means center.
+ *
+ * This function only works if the model is set, and @a path is a valid row on the model.
+ * If the model changes before the tree view is realized, the centered path will be
+ * modified to reflect this change.
+ *
+ * @param path The path of the row to move to.
+ * @param row_align The vertical alignment of the row specified by @a path.
+ */
+ void scroll_to_row(const TreeModel::Path& path, float row_align);
+
+ /** Moves the alignments of tree view to the position specified by @a path.
+ * The tree does the minimum amount of work to scroll the row onto the screen. This means
+ * that the row will be scrolled to the edge closest to it's current position. If the row
+ * is currently visible on the screen, nothing is done.
+ *
+ * This function only works if the model is set, and @a path is a valid row on the model.
+ * If the model changes before the tree view is realized, the centered path will be
+ * modified to reflect this change.
+ *
+ * @param path The path of the row to move to.
+ */
+ void scroll_to_row(const TreeModel::Path& path);
+
+ /** Moves the alignments of tree view to the position specified by @a column.
+ * @a col_align determines where the column is placed, and is expected to be between 0.0
+ * and 1.0. 0.0 means left alignment, 1.0 means right alignment, 0.5 means center.
+ *
+ * This function only works if the model is set. If the model changes before the tree
+ * view is realized, the centered path will be modified to reflect this change.
+ *
+ * @param column The Gtk::TreeViewColumn to move horizontally to.
+ * @param col_align The horizontal alignment of the column specified by @a column.
+ */
+ void scroll_to_column(TreeViewColumn& column, float col_align);
+
+ /** Moves the alignments of tree view to the position specified by @a column.
+ * The tree does the minimum amount of work to scroll the column onto the screen. This means
+ * that the column will be scrolled to the edge closest to it's current position. If the column
+ * is currently visible on the screen, nothing is done.
+ *
+ * This function only works if the model is set. If the model changes before the
+ * tree view is realized, the centered path will be modified to reflect this change.
+ *
+ * @param column The Gtk::TreeViewColumn to move horizontally to.
+ */
+ void scroll_to_column(TreeViewColumn& column);
+
+ _WRAP_METHOD(void row_activated(const TreeModel::Path& path,TreeViewColumn& column), gtk_tree_view_row_activated)
+ _WRAP_METHOD(void expand_all(), gtk_tree_view_expand_all)
+ _WRAP_METHOD(void collapse_all(), gtk_tree_view_collapse_all)
+ _WRAP_METHOD(void expand_to_path(const TreeModel::Path& path), gtk_tree_view_expand_to_path)
+ _WRAP_METHOD(bool expand_row(const TreeModel::Path& path, bool open_all), gtk_tree_view_expand_row)
+ _WRAP_METHOD(bool collapse_row(const TreeModel::Path& path), gtk_tree_view_collapse_row)
+
+ /** For example,
+ * void on_map_expanded_rows(TreeView* tree_view, const TreeModel::Path& path);
+ */
+ typedef sigc::slot<void, TreeView*, const TreeModel::Path&> SlotMapping;
+
+ /** Calls the callback slot on all expanded rows.
+ * @param slot A callback function to be called.
+ */
+ void map_expanded_rows(const SlotMapping& slot);
+ _IGNORE(gtk_tree_view_map_expanded_rows)
+
+ _WRAP_METHOD(bool row_expanded(const TreeModel::Path& path), gtk_tree_view_row_expanded)
+ _WRAP_METHOD(void set_reorderable(bool reorderable = true), gtk_tree_view_set_reorderable)
+ _WRAP_METHOD(bool get_reorderable() const, gtk_tree_view_get_reorderable)
+
+ //TODO: Add set_cursor(path, ModelColumnBase&, start_editing)?
+ _WRAP_METHOD(void set_cursor(const TreeModel::Path& path, TreeViewColumn& focus_column, bool start_editing = false), gtk_tree_view_set_cursor)
+
+ _WRAP_METHOD(void set_cursor(const TreeModel::Path& path, TreeViewColumn& focus_column, CellRenderer& focus_cell, bool start_editing = false), gtk_tree_view_set_cursor_on_cell)
+
+
+ /** Sets the current keyboard focus to be at path , and selects it.
+ * This is useful when you want to focus the user's attention on a particular row.
+ * This function is often followed by Gtk::widget::grab_focus(tree_view)
+ * in order to give keyboard focus to the widget.
+ *
+ * @param path A reference to cursor path.
+ */
+ void set_cursor(const TreeModel::Path& path);
+
+ /** Fills in path and focus_column with the current path and focus column.
+ *
+ * @param path A reference to be filled with the current cursor path
+ * @param focus_column A reference to be filled with the current focus column
+ */
+ void get_cursor(TreeModel::Path& path, TreeViewColumn*& focus_column);
+
+/* Layout information */
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Window> get_bin_window(), gtk_tree_view_get_bin_window, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Gdk::Window> get_bin_window() const, gtk_tree_view_get_bin_window, refreturn, constversion)
+
+ _DEPRECATE_IFDEF_START
+ /** @deprecated Use the const version.
+ */
+ bool get_path_at_pos(int x, int y, TreeModel::Path& path, TreeViewColumn*& column, int& cell_x, int& cell_y);
+ _DEPRECATE_IFDEF_END
+
+ /** Finds the path at the point (x, y), relative to widget
+ * coordinates. It is primarily for things like popup menus.
+ *
+ * @param x The x position to be identified
+ * @param y The y position to be identified
+ * @param path A reference to a TreeModel::Path to be filled in
+ * @param column A reference to a TreeViewColumn pointer to be filled in
+ * @param cell_x A reference where the X coordinate relative to the cell
+ * can be placed
+ * @param cell_y A reference where the Y coordinate relative to the cell
+ * can be placed
+ * @return true if a row exists at that coordinate.
+ */
+ bool get_path_at_pos(int x, int y, TreeModel::Path& path, TreeViewColumn*& column, int& cell_x, int& cell_y) const;
+
+ _WRAP_METHOD(void get_cell_area(const TreeModel::Path& path, TreeViewColumn& column, Gdk::Rectangle& rect), gtk_tree_view_get_cell_area, deprecated "Use the const version")
+//We ignore the fact that one of the arguments can be 0 - it does not seem useful.
+
+ _WRAP_METHOD(void get_cell_area(const TreeModel::Path& path, TreeViewColumn& column, Gdk::Rectangle& rect) const, gtk_tree_view_get_cell_area)
+
+ _WRAP_METHOD(void get_background_area(const TreeModel::Path& path, TreeViewColumn& column, Gdk::Rectangle& rect), gtk_tree_view_get_background_area, deprecated "Use the const version.")
+ _WRAP_METHOD(void get_background_area(const TreeModel::Path& path, TreeViewColumn& column, Gdk::Rectangle& rect) const, gtk_tree_view_get_background_area)
+ //We ignore the fact that one of the arguments can be 0 - it does not seem useful.
+
+ _WRAP_METHOD(void get_visible_rect(Gdk::Rectangle& visible_rect), gtk_tree_view_get_visible_rect, deprecated "Use the const version.")
+ _WRAP_METHOD(void get_visible_rect(Gdk::Rectangle& visible_rect) const, gtk_tree_view_get_visible_rect)
+
+ _WRAP_METHOD(void widget_to_tree_coords(int wx, int wy, int& tx, int& ty), gtk_tree_view_widget_to_tree_coords, deprecated "Use the const version")
+ _WRAP_METHOD(void widget_to_tree_coords(int wx, int wy, int& tx, int& ty) const, gtk_tree_view_widget_to_tree_coords)
+
+ _WRAP_METHOD(void tree_to_widget_coords(int tx, int ty, int& wx, int& wy), gtk_tree_view_tree_to_widget_coords, deprecated "Use the const version.")
+ _WRAP_METHOD(void tree_to_widget_coords(int tx, int ty, int& wx, int& wy) const, gtk_tree_view_tree_to_widget_coords)
+
+ bool get_visible_range(TreeModel::Path& start_path, TreeModel::Path& end_path) const;
+ _IGNORE(gtk_tree_view_get_visible_range)
+
+/* Drag-and-Drop support */
+ _IGNORE(gtk_tree_view_enable_model_drag_source)
+
+ /**
+ * Turns the TreeView into a drag source for automatic DND.
+ *
+ * @param targets Standard container of targets that the drag will support.
+ * @param start_button_mask Mask of allowed buttons to start drag.
+ * @param actions The bitmask of possible actions for a drag from this widget.
+ */
+ void enable_model_drag_source(const ArrayHandle_TargetEntry& targets,
+ Gdk::ModifierType start_button_mask = Gdk::MODIFIER_MASK,
+ Gdk::DragAction actions = Gdk::ACTION_COPY | Gdk::ACTION_MOVE);
+
+ // Uses the default "GTK_TREE_MODEL_ROW" target, which the TreeView can handle automatically.
+
+ /** Turns the TreeView into a drag source for automatic DND.
+ *
+ * @param start_button_mask Mask of allowed buttons to start drag.
+ * @param actions The bitmask of possible actions for a drag from this widget.
+ */
+ void enable_model_drag_source(Gdk::ModifierType start_button_mask = Gdk::MODIFIER_MASK,
+ Gdk::DragAction actions = Gdk::ACTION_COPY | Gdk::ACTION_MOVE);
+
+ _IGNORE(gtk_tree_view_enable_model_drag_dest)
+
+ /** Turns the TreeView into a drop destination for automatic DND.
+ *
+ * @param targets The table of targets that the drag will support.
+ * @param actions The bitmask of possible actions for a drag from this widget.
+ */
+ void enable_model_drag_dest(const ArrayHandle_TargetEntry& targets, Gdk::DragAction actions = Gdk::ACTION_COPY | Gdk::ACTION_MOVE);
+
+ /** Turns the TreeView into a drop destination for automatic DND. This uses the default
+ * "GTK_TREE_MODEL_ROW" target, which the TreeView can handle automatically.
+ *
+ * @param actions The bitmask of possible actions for a drag from this widget.
+ */
+ void enable_model_drag_dest(Gdk::DragAction actions = Gdk::ACTION_COPY | Gdk::ACTION_MOVE);
+
+ /** Undoes the effect of enable_model_drag_source()
+ */
+ _WRAP_METHOD(void unset_rows_drag_source(), gtk_tree_view_unset_rows_drag_source)
+
+ /** Undoes the effect of enable_model_drag_source()
+ */
+ _WRAP_METHOD(void unset_rows_drag_dest(), gtk_tree_view_unset_rows_drag_dest)
+
+
+ /* These are useful to implement your own custom stuff. */
+
+ /** Sets the row that is highlighted for feedback.
+ *
+ * @param path The path of the row to highlight
+ * @param pos Specifies whether to drop before, after or into the row
+ */
+ _WRAP_METHOD(void set_drag_dest_row(const TreeModel::Path& path, TreeViewDropPosition pos), gtk_tree_view_set_drag_dest_row)
+
+ /** Gets information about the row that is highlighted for feedback.
+ *
+ * @param path Return location for the path of the highlighted row
+ * @param pos Return location for the drop position
+ */
+ void get_drag_dest_row(TreeModel::Path& path, TreeViewDropPosition& pos) const;
+
+ /** Determines the destination row for a given position.
+ *
+ * @param drag_x The x position to determine the destination row for
+ * @param drag_y The y position to determine the destination row for
+ * @param path Return location for the path of the highlighted row
+ * @param pos Return location for the drop position
+ */
+ bool get_dest_row_at_pos(int drag_x, int drag_y, TreeModel::Path& path, TreeViewDropPosition& pos) const;
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixmap> create_row_drag_icon(const TreeModel::Path& path), gtk_tree_view_create_row_drag_icon)
+
+/* Interactive search */
+ _WRAP_METHOD(void set_enable_search(bool enable_search = true), gtk_tree_view_set_enable_search)
+ _WRAP_METHOD(bool get_enable_search() const, gtk_tree_view_get_enable_search)
+ _WRAP_METHOD(int get_search_column() const, gtk_tree_view_get_search_column)
+ _WRAP_METHOD(void set_search_column(const TreeModelColumnBase& column), gtk_tree_view_set_search_column)
+ _WRAP_METHOD(void set_search_column(int column), gtk_tree_view_set_search_column)
+
+ ///void on_search_equal(const Glib::RefPtr<TreeModel>& model, int column, const Glib::ustring& key, const TreeModel::iterator& iter)
+ typedef sigc::slot<bool, const Glib::RefPtr<TreeModel>&, int, const Glib::ustring&, const TreeModel::iterator&> SlotSearchEqual;
+ //SlotSearchEqual get_search_equal_func();
+ _IGNORE(gtk_tree_view_get_search_equal_func)
+
+ /** Sets the compare function for the interactive search capabilities.
+ *
+ * @param slot The compare function to use during the search
+ */
+ void set_search_equal_func(const SlotSearchEqual& slot);
+ _IGNORE(gtk_tree_view_set_search_equal_func)
+
+ _WRAP_METHOD(Entry* get_search_entry(), gtk_tree_view_get_search_entry)
+ _WRAP_METHOD(const Entry* get_search_entry() const, gtk_tree_view_get_search_entry, constversion)
+ _WRAP_METHOD(void set_search_entry(Entry& entry), gtk_tree_view_set_search_entry)
+
+ ///void on_search_position(Gtk::Widget* search_dialog)
+ typedef sigc::slot<void, Gtk::Widget* /* search_dialog */> SlotSearchPosition;
+ void set_search_position_func(const SlotSearchPosition& slot);
+ _IGNORE(gtk_tree_view_get_search_position_func, gtk_tree_view_set_search_position_func)
+
+ _WRAP_METHOD(void convert_widget_to_tree_coords(int wx, int wy, int& tx, int& ty) const, gtk_tree_view_convert_widget_to_tree_coords)
+ _WRAP_METHOD(void convert_tree_to_widget_coords(int tx, int ty, int& wx, int& wy) const, gtk_tree_view_convert_tree_to_widget_coords)
+ _WRAP_METHOD(void convert_widget_to_bin_window_coords(int wx, int wy, int& bx, int& by) const, gtk_tree_view_convert_widget_to_bin_window_coords)
+ _WRAP_METHOD(void convert_bin_window_to_widget_coords(int bx, int by, int& wx, int& wy) const, gtk_tree_view_convert_bin_window_to_widget_coords)
+ _WRAP_METHOD(void convert_tree_to_bin_window_coords(int tx, int ty, int& bx, int& by) const, gtk_tree_view_convert_tree_to_bin_window_coords)
+ _WRAP_METHOD(void convert_bin_window_to_tree_coords(int bx, int by, int& tx, int& ty) const, gtk_tree_view_convert_bin_window_to_tree_coords)
+
+
+ _WRAP_METHOD(void set_fixed_height_mode(bool enable = true), gtk_tree_view_set_fixed_height_mode)
+ _WRAP_METHOD(bool get_fixed_height_mode() const, gtk_tree_view_get_fixed_height_mode)
+ _WRAP_METHOD(void set_hover_selection(bool hover = true), gtk_tree_view_set_hover_selection)
+ _WRAP_METHOD(bool get_hover_selection() const, gtk_tree_view_get_hover_selection)
+ _WRAP_METHOD(void set_hover_expand(bool expand = true), gtk_tree_view_set_hover_expand)
+ _WRAP_METHOD(bool get_hover_expand() const, gtk_tree_view_get_hover_expand)
+ _WRAP_METHOD(void set_rubber_banding(bool enable = true), gtk_tree_view_set_rubber_banding)
+ _WRAP_METHOD(bool get_rubber_banding() const, gtk_tree_view_get_rubber_banding)
+
+ //TODO: Rename to get_is?
+ _WRAP_METHOD(bool is_rubber_banding_active() const, gtk_tree_view_is_rubber_banding_active)
+
+ /** For instance,
+ * void on_row_separator(const Gtk::TreeModel& model, const Gtk::TreeModel::iterator& iter);
+ */
+ typedef sigc::slot<bool, const Glib::RefPtr<TreeModel>&, const TreeModel::iterator&> SlotRowSeparator;
+
+ void set_row_separator_func(const SlotRowSeparator& slot);
+ _IGNORE(gtk_tree_view_set_row_separator_func, gtk_tree_view_get_row_separator_func)
+
+ _WRAP_METHOD(void set_grid_lines(TreeViewGridLines grid_lines), gtk_tree_view_set_grid_lines)
+ _WRAP_METHOD(TreeViewGridLines get_grid_lines() const, gtk_tree_view_get_grid_lines)
+
+ _WRAP_METHOD(void set_enable_tree_lines(bool enable = true), gtk_tree_view_set_enable_tree_lines)
+ _WRAP_METHOD(bool get_enable_tree_lines() const, gtk_tree_view_get_enable_tree_lines)
+
+ _WRAP_METHOD(void set_show_expanders(bool enabled = true), gtk_tree_view_set_show_expanders)
+ _WRAP_METHOD(bool get_show_expanders() const, gtk_tree_view_get_show_expanders)
+ _WRAP_METHOD(void set_level_indentation(int indentation), gtk_tree_view_set_level_indentation)
+ _WRAP_METHOD(int get_level_indentation() const, gtk_tree_view_get_level_indentation)
+
+ _WRAP_METHOD(void set_tooltip_row(const Glib::RefPtr<Tooltip>& tooltip, const TreePath& path), gtk_tree_view_set_tooltip_row)
+
+ //Note that we use pointers instead of references because any one of the 3 arguments may be NULL, and we don't want that many method overloads:
+#m4 _CONVERSION(`const TreeModel::Path*',`GtkTreePath*',`(($3) ? const_cast<GtkTreePath*>(($3)->gobj()) : 0)')
+ _WRAP_METHOD(void set_tooltip_cell(const Glib::RefPtr<Tooltip>& tooltip, const TreeModel::Path* path, TreeViewColumn* column, CellRenderer* cell), gtk_tree_view_set_tooltip_cell)
+
+ _IGNORE(gtk_tree_view_get_tooltip_context)
+
+ /**
+ * @param x: the x coordinate (relative to widget coordinates)
+ * @param y: the y coordinate (relative to widget coordinates)
+ * @param keyboard_tip: whether this is a keyboard tooltip or not
+ * @param path: a reference to receive a Gtk::TreePath
+ *
+ * This function is supposed to be used in a Gtk::Widget::query-tooltip
+ * signal handler for Gtk::TreeView. The x, y and keyboard_tip values
+ * which are received in the signal handler, should be passed to this
+ * function without modification.
+ *
+ * The return value indicates whether there is an tree view row at the given
+ * coordinates (true) or not (false) for mouse tooltips. For keyboard
+ * tooltips the row returned will be the cursor item. When true, then the
+ * path which has been provided will be set to point to
+ * that row and the corresponding model. x and y will always be converted
+ * to be relative to Gtk::TreeView's bin_window if keyboard_tooltip is false.
+ *
+ * Return value: whether or not the given tooltip context points to a row.
+ *
+ * @newin2p12
+ */
+ bool get_tooltip_context_path(int& x, int& y,
+ bool keyboard_tip,
+ TreeModel::Path& path);
+
+ /**
+ * @param x: the x coordinate (relative to widget coordinates)
+ * @param y: the y coordinate (relative to widget coordinates)
+ * @param keyboard_tip: whether this is a keyboard tooltip or not
+ * @param iter: a pointer to receive a Gtk::TreeIter
+ *
+ * This function is supposed to be used in a Gtk::Widget::query-tooltip
+ * signal handler for Gtk::TreeView. The x, y and keyboard_tip values
+ * which are received in the signal handler, should be passed to this
+ * function without modification.
+ *
+ * The return value indicates whether there is an tree view row at the given
+ * coordinates (true) or not (false) for mouse tooltips. For keyboard
+ * tooltips the row returned will be the cursor item. When true, then the
+ * iter which has been provided will be set to point to
+ * that row and the corresponding model. x and y will always be converted
+ * to be relative to Gtk::TreeView's bin_window if keyboard_tooltip is false.
+ *
+ * Return value: whether or not the given tooltip context points to a row.
+ *
+ * @newin2p12
+ */
+ bool get_tooltip_context_iter(int& x, int& y,
+ bool keyboard_tip,
+ Gtk::TreeModel::iterator& iter);
+
+ _WRAP_METHOD(void set_tooltip_column(int column), gtk_tree_view_set_tooltip_column)
+ _WRAP_METHOD(int get_tooltip_column() const, gtk_tree_view_get_tooltip_column)
+
+
+#m4begin
+dnl // We need this special conversion here since the C++ Gtk::TreeIter carries
+dnl // a pointer to the Gtk::TreeModel, whereas the plain GtkTreeIter struct does
+dnl // not. Fortunately we can use the `self' parameter to get our hands on the
+dnl // GtkTreeModel*.
+_CONVERSION(`GtkTreeIter*',`const TreeModel::iterator&',`TreeModel::iterator(gtk_tree_view_get_model(self), $3)')
+#m4end
+
+ _WRAP_SIGNAL(void set_scroll_adjustments(Adjustment* hadjustment, Adjustment* vadjustment), "set-scroll-adjustments")
+ _WRAP_SIGNAL(void row_activated(const TreeModel::Path& path, TreeViewColumn* column) , "row-activated")
+ _WRAP_SIGNAL(bool test_expand_row(const TreeModel::iterator& iter, const TreeModel::Path& path), "test-expand-row")
+ _WRAP_SIGNAL(bool test_collapse_row(const TreeModel::iterator& iter, const TreeModel::Path& path), "test-collapse-row")
+ _WRAP_SIGNAL(void row_expanded(const TreeModel::iterator& iter, const TreeModel::Path& path), "row-expanded")
+ _WRAP_SIGNAL(void row_collapsed(const TreeModel::iterator& iter, const TreeModel::Path& path), "row-collapsed")
+ _WRAP_SIGNAL(void cursor_changed(), "cursor-changed")
+ _WRAP_SIGNAL(void columns_changed(), "columns-changed")
+
+ //Don't wrap these. They are keybinding signals, and their API broke for GTK+ 2.2.
+ _IGNORE_SIGNAL("move-cursor")
+ _IGNORE_SIGNAL("select-all")
+ _IGNORE_SIGNAL("unselect-all")
+ _IGNORE_SIGNAL("select-cursor-row")
+ _IGNORE_SIGNAL("toggle-cursor-row")
+ _IGNORE_SIGNAL("expand-collapse-cursor-row")
+ _IGNORE_SIGNAL("select-cursor-parent")
+ _IGNORE_SIGNAL("start-interactive-search")
+
+
+ _WRAP_PROPERTY("model", Glib::RefPtr<TreeModel>)
+ _WRAP_PROPERTY("hadjustment", Adjustment*)
+ _WRAP_PROPERTY("vadjustment", Adjustment*)
+ _WRAP_PROPERTY("headers-visible", bool)
+ _WRAP_PROPERTY("headers-clickable", bool)
+ _WRAP_PROPERTY("expander-column", TreeViewColumn*)
+ _WRAP_PROPERTY("reorderable", bool)
+ _WRAP_PROPERTY("rules-hint", bool)
+ _WRAP_PROPERTY("enable-search", bool)
+ _WRAP_PROPERTY("search-column", int)
+ _WRAP_PROPERTY("fixed-height-mode", bool)
+ _WRAP_PROPERTY("hover-selection", bool)
+ _WRAP_PROPERTY("hover-expand", bool)
+ _WRAP_PROPERTY("show-expanders", bool)
+ _WRAP_PROPERTY("level-indentation", bool)
+ _WRAP_PROPERTY("rubber-banding", bool)
+ _WRAP_PROPERTY("enable-grid-lines", bool)
+ _WRAP_PROPERTY("enable-tree-lines", bool)
+
+ /// Get the treeview's model, but actually get the child model if it's a TreeModelFilter.
+ Glib::RefPtr<Gtk::TreeModel> _get_base_model();
+
+protected:
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ template<class ColumnType> friend
+ void _auto_store_on_cellrenderer_text_edited_string(const Glib::ustring& path_string, const Glib::ustring& new_text, int model_column, const Glib::RefPtr<Gtk::TreeModel>& model);
+
+ template <class ColumnType> friend
+ void _auto_store_on_cellrenderer_text_edited_numerical(const Glib::ustring& path_string, const Glib::ustring& new_text, int model_column, const Glib::RefPtr<Gtk::TreeModel>& model);
+
+ void _auto_store_on_cellrenderer_toggle_edited_with_model(const Glib::ustring& path_string, int model_column, const Glib::RefPtr<Gtk::TreeModel>& model);
+
+ // This is no longer used, but we must keep it to prevent linker errors with already-compiled applications,
+ // For instance, applications that were compiled with the older versions of the templates that did use this method.
+ // TODO: Remove this when we can break API.
+ void _auto_store_on_cellrenderer_toggle_edited(const Glib::ustring& path_string, int model_column);
+
+ template<class ColumnType> friend
+ void TreeView_Private::_connect_auto_store_editable_signal_handler(TreeView*, CellRenderer*, const TreeModelColumn<ColumnType>&);
+
+#endif //DOXYGEN_SHOULD_SKIP_THIS
+};
+
+
+
+template <class ColumnType> inline
+int TreeView::append_column(const Glib::ustring& title, const TreeModelColumn<ColumnType>& model_column)
+{
+ // compilation will fail if there is no appropriate TreeViewColumn
+ // constructor for this model column type.
+ TreeViewColumn *const pViewColumn = Gtk::manage( new TreeViewColumn(title, model_column) );
+
+ return append_column(*pViewColumn);
+}
+
+//This is here because sigc::bind once did not work on all platforms, but now it does..
+#define GTKMM_HAVE_SIGC_BIND 1
+
+#ifdef GTKMM_HAVE_SIGC_BIND
+
+template <class ColumnType> inline
+int TreeView::append_column_numeric(const Glib::ustring& title, const TreeModelColumn<ColumnType>& model_column, const Glib::ustring& format)
+{
+ TreeViewColumn* const pViewColumn = Gtk::manage( new TreeViewColumn(title) );
+
+ //Use a CellRendererText:
+ //We don't use TreeView::Column::append_column(model_column) to generate an appropriate CellRenderer,
+ //because that uses set_renderer(), which renders the model value using the automatic glib "transformations" (number-string conversions). As well as being unnecessary here, those automatic conversions can't handle all numeric types.
+ CellRenderer* pCellRenderer = manage( new CellRendererText() );
+ pViewColumn->pack_start(*pCellRenderer);
+
+
+ //Some compilers don't like us to give the pointer to a template function directly to sigc::ptr_fun():
+ typedef void (*type_fptr)(Gtk::CellRenderer* cell, const Gtk::TreeModel::iterator& iter, int model_column, const Glib::ustring& format);
+ type_fptr fptr = TreeView_Private::_auto_cell_data_func<ColumnType>;
+
+ //Connect a cell_data callback, to show the number's text representation in the specified format:
+ //We use sigc::bind<-1> twice here, instead of sigc::bind() once, because some compilers need the extra hint.
+ Gtk::TreeViewColumn::SlotCellData slot = sigc::bind<-1>(
+ sigc::bind<-1>( sigc::ptr_fun(fptr), format),
+ model_column.index()
+ );
+
+ pViewColumn->set_cell_data_func(*pCellRenderer, slot);
+
+ return append_column(*pViewColumn);
+}
+
+#endif //GTKMM_HAVE_SIGC_BIND
+
+template <class ColumnType> inline
+int TreeView::append_column_numeric_editable(const Glib::ustring& title, const TreeModelColumn<ColumnType>& model_column, const Glib::ustring& format)
+{
+ int cols_count = append_column_numeric(title, model_column, format);
+
+ //connect signal handlers for auto-storing of edited cell data
+ //Note: This will only work for base-10 (decimal) formatted numbers:
+ CellRenderer *const cell = get_column_cell_renderer(cols_count - 1);
+ if(cell)
+ {
+ TreeView_Private::_connect_auto_store_editable_signal_handler<ColumnType>(this, cell, model_column);
+ }
+
+ return cols_count;
+}
+
+template <class ColumnType> inline
+int TreeView::append_column_editable(const Glib::ustring& title, const TreeModelColumn<ColumnType>& model_column)
+{
+ //Don't use this in a header, because it gives warnings when disabled: g_assert(model_column.type() != 0);
+
+ // compilation will fail if there is no appropriate TreeViewColumn
+ // constructor for this model column type.
+ TreeViewColumn *const pViewColumn = Gtk::manage( new TreeViewColumn(title, model_column) );
+
+ //connect signal handlers for auto-storing of edited cell data
+ CellRenderer* pCellRender = pViewColumn->get_first_cell_renderer();
+ TreeView_Private::_connect_auto_store_editable_signal_handler<ColumnType>(this, pCellRender, model_column);
+
+ return append_column(*pViewColumn);
+}
+
+template <class ColumnType> inline
+int TreeView::insert_column(const Glib::ustring& title, const TreeModelColumn<ColumnType>& model_column, int position)
+{
+ // compilation will fail if there is no appropriate TreeViewColumn
+ // constructor for this model column type.
+ TreeViewColumn *const pViewColumn = Gtk::manage( new TreeViewColumn(title, model_column) );
+
+ return insert_column(*pViewColumn, position);
+}
+
+template <class ColumnType> inline
+int TreeView::insert_column_editable(const Glib::ustring& title, const TreeModelColumn<ColumnType>& model_column, int position)
+{
+ // compilation will fail if there is no appropriate TreeViewColumn
+ // constructor for this model column type.
+ TreeViewColumn *const pViewColumn = Gtk::manage( new TreeViewColumn(title, model_column) );
+
+ //connect signal handlers for auto-storing of edited cell data
+ CellRenderer* pCellRender = pViewColumn->get_first_cell_renderer();
+ TreeView_Private::_connect_auto_store_editable_signal_handler(this, pCellRender, model_column);
+
+ return insert_column(*pViewColumn, position);
+}
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+namespace TreeView_Private
+{
+
+//Template specializations, for different model column types:
+//TODO: Move these specializations into the .ccg file - I tried, but the int specialization was not used by the compiler. murrayc.
+
+#ifdef GTKMM_HAVE_SIGC_BIND
+
+//bool specialization:
+template<> inline
+void _connect_auto_store_editable_signal_handler(Gtk::TreeView* this_p, Gtk::CellRenderer* pCellRenderer, const Gtk::TreeModelColumn<bool>& model_column)
+{
+ Gtk::CellRendererToggle* pCellToggle = dynamic_cast<Gtk::CellRendererToggle*>(pCellRenderer);
+ if(pCellToggle)
+ {
+ //Set the appropriate property,
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+ pCellToggle->property_activatable() = true;
+ #else
+ pCellToggle->set_property("activatable", true);
+ #endif
+
+ //Connect to the appropriate signal, sending the model_column too
+
+ sigc::slot<void, const Glib::ustring&, int> slot_temp =
+ sigc::bind<-1>(
+ sigc::mem_fun(*this_p, &Gtk::TreeView::_auto_store_on_cellrenderer_toggle_edited_with_model),
+ this_p->_get_base_model()
+ );
+
+ pCellToggle->signal_toggled().connect(
+ sigc::bind<-1>(
+ slot_temp,
+ model_column.index()
+ )
+ );
+
+ //We use bind<1> instead of bind because some compilers need the extra hint.
+ }
+}
+
+//int specialization:
+template<> inline
+void _connect_auto_store_editable_signal_handler(Gtk::TreeView* this_p, Gtk::CellRenderer* pCellRenderer, const Gtk::TreeModelColumn<int>& model_column)
+{
+ Gtk::CellRendererText* pCellText = dynamic_cast<Gtk::CellRendererText*>(pCellRenderer);
+ if(pCellText)
+ {
+ //Set the appropriate property,
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+ pCellText->property_editable() = true;
+ #else
+ pCellText->set_property("editable", true);
+ #endif
+
+ //Some compilers don't like us to give the pointer to a template function directly to sigc::ptr_fun():
+ typedef void (*type_fptr)(const Glib::ustring& path_string, const Glib::ustring& new_text, int model_column, const Glib::RefPtr<Gtk::TreeModel>& model);
+ type_fptr fptr = _auto_store_on_cellrenderer_text_edited_numerical<int>;
+
+ //Connect to the appropriate signal, sending the model_column too,
+ //We use bind<-1> twice here, instead of using bind() once, because some compilers need the extra hint.
+ pCellText->signal_edited().connect(
+ sigc::bind<-1>(
+ sigc::bind<-1>(
+ sigc::ptr_fun(fptr),
+ this_p->_get_base_model() ),
+ model_column.index()
+ )
+ );
+
+ }
+}
+
+//unsigned int specialization:
+template<> inline
+void _connect_auto_store_editable_signal_handler(Gtk::TreeView* this_p, Gtk::CellRenderer* pCellRenderer, const Gtk::TreeModelColumn<unsigned int>& model_column)
+{
+ Gtk::CellRendererText* pCellText = dynamic_cast<Gtk::CellRendererText*>(pCellRenderer);
+ if(pCellText)
+ {
+ //Set the appropriate property,
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+ pCellText->property_editable() = true;
+ #else
+ pCellText->set_property("editable", true);
+ #endif
+
+ //Some compilers don't like us to give the pointer to a template function directly to sigc::ptr_fun():
+ typedef void (*type_fptr)(const Glib::ustring& path_string, const Glib::ustring& new_text, int model_column, const Glib::RefPtr<Gtk::TreeModel>& model);
+ type_fptr fptr = _auto_store_on_cellrenderer_text_edited_numerical<unsigned int>;
+
+ //Connect to the appropriate signal, sending the model_column too,
+ //We use bind<-1> twice here, instead of using bind() once, because some compilers need the extra hint.
+ pCellText->signal_edited().connect(
+ sigc::bind<-1>(
+ sigc::bind<-1>(
+ sigc::ptr_fun(fptr),
+ this_p->_get_base_model() ),
+ model_column.index()
+ )
+ );
+
+ }
+}
+
+//long specialization:
+template<> inline
+void _connect_auto_store_editable_signal_handler(Gtk::TreeView* this_p, Gtk::CellRenderer* pCellRenderer, const Gtk::TreeModelColumn<long>& model_column)
+{
+ Gtk::CellRendererText* pCellText = dynamic_cast<Gtk::CellRendererText*>(pCellRenderer);
+ if(pCellText)
+ {
+ //Set the appropriate property,
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+ pCellText->property_editable() = true;
+ #else
+ pCellText->set_property("editable", true);
+ #endif
+
+ //Some compilers don't like us to give the pointer to a template function directly to sigc::ptr_fun():
+ typedef void (*type_fptr)(const Glib::ustring& path_string, const Glib::ustring& new_text, int model_column, const Glib::RefPtr<Gtk::TreeModel>& model);
+ type_fptr fptr = _auto_store_on_cellrenderer_text_edited_numerical<long>;
+
+ //Connect to the appropriate signal, sending the model_column too,
+ //We use bind<-1> twice here, instead of using bind() once, because some compilers need the extra hint.
+ pCellText->signal_edited().connect(
+ sigc::bind<-1>(
+ sigc::bind<-1>(
+ sigc::ptr_fun(fptr),
+ this_p->_get_base_model() ),
+ model_column.index()
+ )
+ );
+
+ }
+}
+
+//unsigned long specialization:
+template<> inline
+void _connect_auto_store_editable_signal_handler(Gtk::TreeView* this_p, Gtk::CellRenderer* pCellRenderer, const Gtk::TreeModelColumn<unsigned long>& model_column)
+{
+ Gtk::CellRendererText* pCellText = dynamic_cast<Gtk::CellRendererText*>(pCellRenderer);
+ if(pCellText)
+ {
+ //Set the appropriate property,
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+ pCellText->property_editable() = true;
+ #else
+ pCellText->set_property("editable", true);
+ #endif
+
+ //Some compilers don't like us to give the pointer to a template function directly to sigc::ptr_fun():
+ typedef void (*type_fptr)(const Glib::ustring& path_string, const Glib::ustring& new_text, int model_column, const Glib::RefPtr<Gtk::TreeModel>& model);
+ type_fptr fptr = _auto_store_on_cellrenderer_text_edited_numerical<unsigned long>;
+
+ //Connect to the appropriate signal, sending the model_column too,
+ //We use bind<-1> twice here, instead of using bind() once, because some compilers need the extra hint.
+ pCellText->signal_edited().connect(
+ sigc::bind<-1>(
+ sigc::bind<-1>(
+ sigc::ptr_fun(fptr),
+ this_p->_get_base_model() ),
+ model_column.index()
+ )
+ );
+
+ }
+}
+
+//float specialization:
+template<> inline
+void _connect_auto_store_editable_signal_handler(Gtk::TreeView* this_p, Gtk::CellRenderer* pCellRenderer, const Gtk::TreeModelColumn<float>& model_column)
+{
+ Gtk::CellRendererText* pCellText = dynamic_cast<Gtk::CellRendererText*>(pCellRenderer);
+ if(pCellText)
+ {
+ //Set the appropriate property,
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+ pCellText->property_editable() = true;
+ #else
+ pCellText->set_property("editable", true);
+ #endif
+
+ //Some compilers don't like us to give the pointer to a template function directly to sigc::ptr_fun():
+ typedef void (*type_fptr)(const Glib::ustring& path_string, const Glib::ustring& new_text, int model_column, const Glib::RefPtr<Gtk::TreeModel>& model);
+ type_fptr fptr = _auto_store_on_cellrenderer_text_edited_numerical<float>;
+
+ //Connect to the appropriate signal, sending the model_column too,
+ //We use bind<-1> twice here, instead of using bind() once, because some compilers need the extra hint.
+ pCellText->signal_edited().connect(
+ sigc::bind<-1>(
+ sigc::bind<-1>(
+ sigc::ptr_fun(fptr),
+ this_p->_get_base_model() ),
+ model_column.index()
+ )
+ );
+ }
+}
+
+//double specialization:
+template<> inline
+void _connect_auto_store_editable_signal_handler(Gtk::TreeView* this_p, Gtk::CellRenderer* pCellRenderer, const Gtk::TreeModelColumn<double>& model_column)
+{
+ Gtk::CellRendererText* pCellText = dynamic_cast<Gtk::CellRendererText*>(pCellRenderer);
+ if(pCellText)
+ {
+ //Set the appropriate property,
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+ pCellText->property_editable() = true;
+ #else
+ pCellText->set_property("editable", true);
+ #endif
+
+ //Some compilers don't like us to give the pointer to a template function directly to sigc::ptr_fun():
+ typedef void (*type_fptr)(const Glib::ustring& path_string, const Glib::ustring& new_text, int model_column, const Glib::RefPtr<Gtk::TreeModel>& model);
+ type_fptr fptr = _auto_store_on_cellrenderer_text_edited_numerical<double>;
+
+ //Connect to the appropriate signal, sending the model_column too,
+ //We use bind<-1> twice here, instead of using bind() once, because some compilers need the extra hint.
+ pCellText->signal_edited().connect(
+ sigc::bind<-1>(
+ sigc::bind<-1>(
+ sigc::ptr_fun(fptr),
+ this_p->_get_base_model() ),
+ model_column.index()
+ )
+ );
+ }
+}
+
+#endif //GTKMM_HAVE_SIGC_BIND
+
+} // namespace TreeView_Private
+#endif //DOXYGEN_SHOULD_SKIP_THIS
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+namespace TreeView_Private
+{
+
+#ifdef GTKMM_HAVE_SIGC_BIND
+
+template <class ColumnType> inline
+void _connect_auto_store_editable_signal_handler(Gtk::TreeView* this_p, Gtk::CellRenderer* pCellRenderer, const Gtk::TreeModelColumn<ColumnType>& model_column)
+{
+ //Don't use this in a header, because it gives warnings when disabled: g_assert(model_column.type() != 0);
+
+ //The different CellRenderers have different "edited" signals,
+ //and numerical values need to convert the text value to a number,
+ //so there are specializations for this tempate.
+
+ Gtk::CellRendererText* pCellText = dynamic_cast<Gtk::CellRendererText*>(pCellRenderer);
+
+ //Set the appropriate property,
+ //and connect to the appropriate signal, sending the model_column too,
+ if(pCellText)
+ {
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+ pCellText->property_editable() = true;
+ #else
+ pCellText->set_property("editable", true);
+ #endif
+
+ //Some compilers (IRIX MipsPro) don't like us to give the pointer to a template function directly to sigc::ptr_fun():
+ typedef void (*type_func)(const Glib::ustring&, const Glib::ustring&, int, const Glib::RefPtr<Gtk::TreeModel>&);
+ type_func func = &(_auto_store_on_cellrenderer_text_edited_string<ColumnType>);
+ sigc::slot<void, const Glib::ustring&, const Glib::ustring&, int, const Glib::RefPtr<Gtk::TreeModel>&> theslot =
+ sigc::ptr_fun(func);
+
+ //We use bind<-1> twice here, instead of using bind() once, because some compilers need the extra hint.
+ pCellText->signal_edited().connect(
+ sigc::bind<-1>(
+ sigc::bind<-1>( theslot, this_p->_get_base_model()),
+ model_column.index()
+ )
+ );
+
+
+ }
+}
+
+#endif //GTKMM_HAVE_SIGC_BIND
+
+template <class ColumnType> inline
+void _auto_store_on_cellrenderer_text_edited_string(const Glib::ustring& path_string, const Glib::ustring& new_text, int model_column, const Glib::RefPtr<Gtk::TreeModel>& model)
+{
+ Gtk::TreePath path(path_string);
+
+ //Get the row from the path:
+ if(model)
+ {
+ Gtk::TreeModel::iterator iter = model->get_iter(path);
+ if(iter)
+ {
+ //Store the user's new text in the model:
+ Gtk::TreeRow row = *iter;
+ row.set_value(model_column, (ColumnType)new_text);
+ }
+ }
+}
+
+template <class ColumnType> inline
+void _auto_store_on_cellrenderer_text_edited_numerical(const Glib::ustring& path_string, const Glib::ustring& new_text, int model_column, const Glib::RefPtr<Gtk::TreeModel>& model)
+{
+ //This is used on numerical model columns:
+
+ Gtk::TreePath path(path_string);
+
+ //Get the row from the path:
+ if(model)
+ {
+ Gtk::TreeModel::iterator iter = model->get_iter(path);
+ if(iter)
+ {
+ //std::istringstream astream(new_text); //Put it in a stream.
+ //ColumnType new_value = ColumnType();
+ //new_value << astream; //Get it out of the stream as the numerical type.
+
+ //Convert the text to a number, using the same logic used by GtkCellRendererText when it stores numbers.
+ char* pchEnd = 0;
+ ColumnType new_value = static_cast<ColumnType>( strtod(new_text.c_str(), &pchEnd) );
+
+ //Store the user's new text in the model:
+ Gtk::TreeRow row = *iter;
+ row.set_value(model_column, (ColumnType)new_value);
+ }
+ }
+}
+
+template <class ColumnType> inline
+void _auto_cell_data_func(Gtk::CellRenderer* cell, const Gtk::TreeModel::iterator& iter, int model_column, const Glib::ustring& format)
+{
+ Gtk::CellRendererText* pTextRenderer = dynamic_cast<Gtk::CellRendererText*>(cell);
+ if(!pTextRenderer)
+ {
+ g_warning("gtkmm: TextView: append_column_numeric() was used with a non-numeric type.");
+ }
+ else
+ {
+ if(iter)
+ {
+ //Get the value from the model.
+ Gtk::TreeModel::Row row = *iter;
+ ColumnType value = ColumnType();
+ row.get_value(model_column, value);
+
+ //Convert it to a string representation:
+ char buff[20];
+ int used = g_snprintf(buff, sizeof(buff), format.c_str(), value); //value must be a numeric type.
+ if(used > 0)
+ {
+ //Show the text representation in the view:
+ #ifdef GLIBMM_PROPERTIES_ENABLED
+ pTextRenderer->property_text() = buff;
+ #else
+ pTextRenderer->set_property("text", (void*)buff);
+ #endif
+ }
+ }
+ }
+}
+
+} // namespace TreeView_Private
+#endif //DOXYGEN_SHOULD_SKIP_THIS
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treeviewcolumn.ccg b/libs/gtkmm2/gtk/src/treeviewcolumn.ccg
new file mode 100644
index 0000000000..c0361c2353
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treeviewcolumn.ccg
@@ -0,0 +1,120 @@
+// -*- c++ -*-
+/* $Id: treeviewcolumn.ccg,v 1.6 2006/05/10 20:59:28 murrayc Exp $ */
+
+/* Copyright 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtktreeviewcolumn.h>
+#include <gtkmm/treeview_private.h>
+
+namespace Gtk
+{
+
+// Only necessary because of the templated ctor, see .hg file.
+const Glib::Class& TreeViewColumn::class_init_()
+{
+ return treeviewcolumn_class_.init();
+}
+
+TreeViewColumn::TreeViewColumn(const Glib::ustring& title)
+:
+ _CONSTRUCT("title", title.c_str())
+{}
+
+TreeViewColumn::TreeViewColumn(const Glib::ustring& title, Gtk::CellRenderer& cell)
+:
+ _CONSTRUCT("title", title.c_str())
+{
+ //This is equivalent to _gtk_tree_view_column_new_with_attributes().
+ //You will also need to call add_atrribute(), or set_renderer() a few times.
+
+ pack_start(cell, true);
+}
+
+void TreeViewColumn::add_attribute(Gtk::CellRenderer& cell, const Glib::ustring& property_name,
+ const TreeModelColumnBase& column)
+{
+ gtk_tree_view_column_add_attribute(gobj(),
+ (GtkCellRenderer*) cell.gobj(), property_name.c_str(), column.index());
+}
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+void TreeViewColumn::add_attribute(const Glib::PropertyProxy_Base& property,
+ const TreeModelColumnBase& column)
+{
+ gtk_tree_view_column_add_attribute(gobj(),
+ (GtkCellRenderer*) property.get_object()->gobj(), property.get_name(), column.index());
+}
+#endif //GLIBMM_PROPERTIES_ENABLED
+
+void TreeViewColumn::set_renderer(Gtk::CellRenderer& renderer, const TreeModelColumnBase& column)
+{
+#ifdef GLIBMM_PROPERTIES_ENABLED
+ add_attribute(renderer._property_renderable(), column);
+#else
+ add_attribute(renderer, renderer._property_renderable(), column);
+#endif
+}
+
+
+void TreeViewColumn::set_cell_data_func(CellRenderer& cell_renderer, const SlotCellData& slot)
+{
+ //Create a copy of the slot. A pointer to this will be passed through the callback's data parameter.
+ //It will be deleted when TreeView_Private::SignalProxy_CellData_gtk_callback_destroy() is called.
+ SlotCellData* slot_copy = new SlotCellData(slot);
+
+ gtk_tree_view_column_set_cell_data_func(
+ gobj(), cell_renderer.gobj(),
+ &TreeView_Private::SignalProxy_CellData_gtk_callback, slot_copy,
+ &TreeView_Private::SignalProxy_CellData_gtk_callback_destroy);
+}
+
+void TreeViewColumn::unset_cell_data_func(CellRenderer& cell_renderer)
+{
+ gtk_tree_view_column_set_cell_data_func(gobj(), cell_renderer.gobj(), 0, 0, 0);
+}
+
+CellRenderer* TreeViewColumn::get_first_cell_renderer()
+{
+ typedef std::vector<Gtk::CellRenderer*> type_vecCellRenderers;
+ type_vecCellRenderers vecCellRenderers = get_cell_renderers();
+ if(!vecCellRenderers.empty())
+ return vecCellRenderers[0];
+ else
+ return 0;
+}
+
+const CellRenderer* TreeViewColumn::get_first_cell_renderer() const
+{
+ //Do some const_cast-ing to avoid repetition of code:
+ return const_cast<TreeViewColumn*>(this)->get_first_cell_renderer();
+}
+
+_DEPRECATE_IFDEF_START
+void TreeViewColumn::set_sort_column_id(const TreeModelColumnBase& sort_column)
+{
+ set_sort_column(sort_column);
+}
+
+void TreeViewColumn::set_sort_column_id(int sort_column_id)
+{
+ set_sort_column(sort_column_id);
+}
+_DEPRECATE_IFDEF_END
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/treeviewcolumn.hg b/libs/gtkmm2/gtk/src/treeviewcolumn.hg
new file mode 100644
index 0000000000..b0911be73f
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/treeviewcolumn.hg
@@ -0,0 +1,287 @@
+/* $Id: treeviewcolumn.hg,v 1.16 2006/07/08 16:31:38 murrayc Exp $ */
+
+/* Copyright(C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or(at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+// This is for including the config header before any code (such as
+// the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
+_CONFIGINCLUDE(gtkmmconfig.h)
+
+#include <gtkmm/object.h>
+#include <gtkmm/treeiter.h>
+#include <gtkmm/widget.h>
+#include <gdkmm/window.h>
+#include <gtkmm/treemodel.h>
+#include <glibmm/listhandle.h>
+#include <gtkmm/cellrenderer_generation.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/object_p.h)
+
+
+namespace Gtk
+{
+
+_CC_INCLUDE(gtk/gtktypebuiltins.h)
+_WRAP_ENUM(TreeViewColumnSizing, GtkTreeViewColumnSizing)
+
+
+// We use GTKMM_API here because gcc needs the extra help on win32 , even
+// when using --export-all and auto-import.
+// See http://bugzilla.gnome.org/show_bug.cgi?id=309030.
+
+//TODO: This should derive+implement from CellLayout when we can break ABI.
+
+/** Typedefed as Gtk::TreeView::Column.
+ * This is a visible column in a Gtk::TreeView widget. It determines the geometry, type.
+ *
+ * @ingroup TreeView
+*/
+class GTKMM_API TreeViewColumn : public Gtk::Object
+{
+ _CLASS_GTKOBJECT(TreeViewColumn, GtkTreeViewColumn, GTK_TREE_VIEW_COLUMN, Gtk::Object, GtkObject)
+ _IGNORE(gtk_tree_view_column_set_cell_data_func)
+public:
+ typedef TreeViewColumn Column;
+
+ _CTOR_DEFAULT()
+
+ explicit TreeViewColumn(const Glib::ustring& title);
+ TreeViewColumn(const Glib::ustring& title, CellRenderer& cell);
+
+ /** Create a default view column for the given model column type.
+ */
+ template<class T_ModelColumnType>
+ TreeViewColumn(const Glib::ustring& title, const TreeModelColumn<T_ModelColumnType>& column);
+
+ _WRAP_METHOD(void pack_start(CellRenderer& cell, bool expand = true), gtk_tree_view_column_pack_start)
+ _WRAP_METHOD(void pack_end(CellRenderer& cell, bool expand = true), gtk_tree_view_column_pack_end)
+
+ /** Creates an appropriate CellRenderer for the @a column, and packs that cell into the beginning of the column.
+ * If @a expand is <tt>false</tt>, then
+ * the cell is allocated no more space than it needs. Any unused space is divided
+ * evenly between cells for which @a expand is <tt>true</tt>.
+ *
+ * You can use get_first_cell_renderer() or get_cell_renderers() to access the generated CellRenderer.
+ *
+ * @param column The model column that will be rendered by the view cell.
+ * @param expand <tt>true</tt> if the cell is to be given extra space allocated to the view column.
+ */
+ template<class T_ModelColumnType>
+ void pack_start(const TreeModelColumn<T_ModelColumnType>& column, bool expand = true);
+
+ /** Creates an appropriate CellRenderer for the @a column, and packs that cell at the end of the column.
+ * If @a expand is <tt>false</tt>, then
+ * the cell is allocated no more space than it needs. Any unused space is divided
+ * evenly between cells for which @a expand is <tt>true</tt>.
+ *
+ * You can use get_first_cell_renderer() or get_cell_renderers() to access the generated CellRenderer.
+ *
+ * @param column The model column that will be rendered by the view cell.
+ * @param expand <tt>true</tt> if the cell is to be given extra space allocated to the view column.
+ */
+ template<class T_ModelColumnType>
+ void pack_end(const TreeModelColumn<T_ModelColumnType>& column, bool expand = true);
+
+ _WRAP_METHOD(void clear(), gtk_tree_view_column_clear)
+
+ /** Gets the CellRenderer for the column.
+ * You should dynamic_cast<> to the expected derived CellRenderer type.
+ * This assumes that the TreeViewColumn contains only one CellRenderer.
+ */
+ CellRenderer* get_first_cell_renderer();
+
+ /** Gets the CellRenderer for the column.
+ * You should dynamic_cast<> to the expected derived CellRenderer type.
+ * This assumes that the TreeViewColumn contains only one CellRenderer.
+ */
+ const CellRenderer* get_first_cell_renderer() const;
+
+ _WRAP_METHOD(Glib::ListHandle<CellRenderer*> get_cell_renderers(), gtk_tree_view_column_get_cell_renderers)
+ _WRAP_METHOD(Glib::ListHandle<const CellRenderer*> get_cell_renderers() const, gtk_tree_view_column_get_cell_renderers)
+
+ _WRAP_METHOD(void add_attribute(CellRenderer& cell_renderer, const Glib::ustring& attribute, int column),
+ gtk_tree_view_column_add_attribute)
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+ void add_attribute(const Glib::PropertyProxy_Base& property, const TreeModelColumnBase& column);
+#endif
+
+ void add_attribute(Gtk::CellRenderer& cell, const Glib::ustring& property_name, const TreeModelColumnBase& column);
+ _IGNORE(gtk_tree_view_column_set_attributes)
+
+ /** Associate a view CellRenderer with a model column, so that the CellRenderer renders the data in the model column.
+ *
+ * @param renderer The view cell renderer which will render the model column.
+ * @param column The model column to be renderered by this view.
+ */
+ void set_renderer(Gtk::CellRenderer& renderer, const TreeModelColumnBase& column);
+
+ // _WRAP_METHOD(void set_attributes(CellRenderer& cell_renderer, ...), )
+
+ /** For instance,
+ * void on_cell_data(Gtk::CellRenderer* cell, const Gtk::TreeModel::iterator& iter);
+ *
+ * This function is used instead of the standard attributes mapping for setting the column value, and should set the
+ * value of the column's cell renderer as appropriate.
+ */
+ typedef sigc::slot<void, CellRenderer*, const Gtk::TreeModel::iterator&> SlotCellData;
+
+ /** Sets the slot callback to use for the column.
+ * This callback function is used instead of the standard attributes mapping for setting the column value, and should set the
+ * value of the column's cell renderer as appropriate.
+ *
+ * See also unset_cell_data_func().
+ *
+ * @param cell_renderer A Gtk::CellRenderer
+ * @param slot The callback slot to use. Create this with sigc::mem_fun(), or sigc::ptr_fun().
+ */
+ void set_cell_data_func(CellRenderer& cell_renderer, const SlotCellData& slot);
+
+ /** Removes a previously set callback slot. See set_cell_data_func().
+ */
+ void unset_cell_data_func(CellRenderer& cell_renderer);
+
+ _WRAP_METHOD(void clear_attributes(CellRenderer& cell_renderer), gtk_tree_view_column_clear_attributes)
+ _WRAP_METHOD(void set_spacing(int spacing), gtk_tree_view_column_set_spacing)
+ _WRAP_METHOD(int get_spacing() const, gtk_tree_view_column_get_spacing)
+ _WRAP_METHOD(void set_visible(bool visible = true), gtk_tree_view_column_set_visible)
+ _WRAP_METHOD(bool get_visible() const, gtk_tree_view_column_get_visible)
+ _WRAP_METHOD(void set_resizable(bool resizable = true), gtk_tree_view_column_set_resizable)
+ _WRAP_METHOD(bool get_resizable() const, gtk_tree_view_column_get_resizable)
+ _WRAP_METHOD(void set_sizing(TreeViewColumnSizing type), gtk_tree_view_column_set_sizing)
+ _WRAP_METHOD(TreeViewColumnSizing get_sizing(), gtk_tree_view_column_get_sizing)
+ _WRAP_METHOD(int get_width() const, gtk_tree_view_column_get_width)
+ _WRAP_METHOD(int get_fixed_width() const, gtk_tree_view_column_get_fixed_width)
+ _WRAP_METHOD(void set_fixed_width(int fixed_width), gtk_tree_view_column_set_fixed_width)
+ _WRAP_METHOD(void set_min_width(int min_width), gtk_tree_view_column_set_min_width)
+ _WRAP_METHOD(int get_min_width() const, gtk_tree_view_column_get_min_width)
+ _WRAP_METHOD(void set_max_width(int max_width), gtk_tree_view_column_set_max_width)
+ _WRAP_METHOD(int get_max_width() const, gtk_tree_view_column_get_max_width)
+ _WRAP_METHOD(void clicked(), gtk_tree_view_column_clicked)
+
+ _WRAP_METHOD(void set_title(const Glib::ustring& title), gtk_tree_view_column_set_title)
+ _WRAP_METHOD(Glib::ustring get_title() const, gtk_tree_view_column_get_title)
+
+ _WRAP_METHOD(void set_expand(bool expand = true), gtk_tree_view_column_set_expand)
+ _WRAP_METHOD(bool get_expand() const, gtk_tree_view_column_get_expand)
+
+ _WRAP_METHOD(void set_clickable(bool clickable = true), gtk_tree_view_column_set_clickable)
+ _WRAP_METHOD(bool get_clickable() const, gtk_tree_view_column_get_clickable)
+ _WRAP_METHOD(void set_widget(Gtk::Widget& widget), gtk_tree_view_column_set_widget)
+ _WRAP_METHOD(Widget* get_widget(), gtk_tree_view_column_get_widget)
+ _WRAP_METHOD(const Widget* get_widget() const, gtk_tree_view_column_get_widget)
+
+ _WRAP_METHOD(void set_alignment(float xalign), gtk_tree_view_column_set_alignment)
+ _WRAP_METHOD(void set_alignment(AlignmentEnum xalign), gtk_tree_view_column_set_alignment)
+
+ _WRAP_METHOD(float get_alignment() const, gtk_tree_view_column_get_alignment)
+ _WRAP_METHOD(void set_reorderable(bool reorderable = true), gtk_tree_view_column_set_reorderable)
+ _WRAP_METHOD(bool get_reorderable() const, gtk_tree_view_column_get_reorderable)
+
+ _WRAP_METHOD(void set_sort_column(const TreeModelColumnBase& sort_column_id), gtk_tree_view_column_set_sort_column_id)
+ _WRAP_METHOD(void set_sort_column(int sort_column_id), gtk_tree_view_column_set_sort_column_id)
+
+ _DEPRECATE_IFDEF_START
+ /** @deprecated Use set_sort_column() instead.
+ */
+ void set_sort_column_id(const TreeModelColumnBase& sort_column_id);
+
+ /** @deprecated Use set_sort_column() instead.
+ */
+ void set_sort_column_id(int sort_column_id);
+ _DEPRECATE_IFDEF_END
+
+ _WRAP_METHOD(int get_sort_column_id() const, gtk_tree_view_column_get_sort_column_id)
+ _WRAP_METHOD(void set_sort_indicator(bool setting), gtk_tree_view_column_set_sort_indicator)
+ _WRAP_METHOD(bool get_sort_indicator() const, gtk_tree_view_column_get_sort_indicator)
+ _WRAP_METHOD(void set_sort_order(SortType order), gtk_tree_view_column_set_sort_order)
+ _WRAP_METHOD(SortType get_sort_order() const, gtk_tree_view_column_get_sort_order)
+
+
+ _WRAP_METHOD(void cell_set_cell_data(const Glib::RefPtr<TreeModel>& tree_model, const TreeModel::iterator& iter, bool is_expander, bool is_expanded), gtk_tree_view_column_cell_set_cell_data)
+ _WRAP_METHOD(void cell_get_size(Gdk::Rectangle& cell_area, int& x_offset, int& y_offset, int& width, int& height) const, gtk_tree_view_column_cell_get_size)
+ _WRAP_METHOD(bool cell_is_visible() const, gtk_tree_view_column_cell_is_visible)
+ _WRAP_METHOD(void focus_cell(CellRenderer& cell), gtk_tree_view_column_focus_cell)
+
+ _WRAP_METHOD(bool get_cell_position(const CellRenderer& cell_renderer, int& start_pos, int& width) const, gtk_tree_view_column_cell_get_position)
+ _WRAP_METHOD(void queue_resize(), gtk_tree_view_column_queue_resize)
+
+ _WRAP_SIGNAL(void clicked(), "clicked")
+
+ _WRAP_PROPERTY("visible", bool)
+ _WRAP_PROPERTY("width", int)
+ _WRAP_PROPERTY("sizing", TreeViewColumnSizing)
+ _WRAP_PROPERTY("fixed-width", int)
+ _WRAP_PROPERTY("min-width", int)
+ _WRAP_PROPERTY("max-width", int)
+ _WRAP_PROPERTY("title", Glib::ustring)
+ _WRAP_PROPERTY("expand", bool)
+ _WRAP_PROPERTY("clickable", bool)
+ _WRAP_PROPERTY("widget", Widget*)
+ _WRAP_PROPERTY("alignment", float)
+ _WRAP_PROPERTY("reorderable", bool)
+ _WRAP_PROPERTY("sort-indicator", bool)
+ _WRAP_PROPERTY("sort-order", SortType)
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+private:
+ // Only necessary because of the templated ctor, see below.
+ static const Glib::Class& class_init_();
+#endif //DOXYGEN_SHOULD_SKIP_THIS
+};
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+template<class T_ModelColumnType> inline
+void TreeViewColumn::pack_start(const TreeModelColumn<T_ModelColumnType>& column, bool expand)
+{
+ //Generate appropriate Renderer for the column:
+ CellRenderer* pCellRenderer = manage( CellRenderer_Generation::generate_cellrenderer<T_ModelColumnType>() );
+
+ //Use the renderer:
+ pack_start(*pCellRenderer, expand);
+ set_renderer(*pCellRenderer, column);
+}
+
+template<class T_ModelColumnType> inline
+void TreeViewColumn::pack_end(const TreeModelColumn<T_ModelColumnType>& column, bool expand)
+{
+ //Generate appropriate Renderer for the column:
+ CellRenderer* pCellRenderer= manage( CellRenderer_Generation::generate_cellrenderer<T_ModelColumnType>() );
+
+ //Use the renderer:
+ pack_end(*pCellRenderer, expand);
+ set_renderer(*pCellRenderer, column);
+}
+
+
+template <class T_ModelColumnType> inline
+TreeViewColumn::TreeViewColumn(const Glib::ustring& title,
+ const TreeModelColumn<T_ModelColumnType>& column)
+:
+ Glib::ObjectBase(0), // not (yet) a custom class
+ Gtk::Object(Glib::ConstructParams(class_init_(), "title", title.c_str(), (char*) 0))
+{
+ pack_start(column, true /* expand */);
+}
+
+
+
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/uimanager.ccg b/libs/gtkmm2/gtk/src/uimanager.ccg
new file mode 100644
index 0000000000..2c19908a39
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/uimanager.ccg
@@ -0,0 +1,56 @@
+// -*- c++ -*-
+/* $Id: uimanager.ccg,v 1.9 2006/11/24 19:09:39 jhs Exp $ */
+
+/* Copyright 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkuimanager.h>
+
+
+namespace Gtk
+{
+
+typedef UIManager::ui_merge_id ui_merge_id; //Help gmmproc so that it does not need to add the full type name for the return type.
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+UIManager::ui_merge_id UIManager::add_ui_from_string(const Glib::ustring& buffer)
+#else
+UIManager::ui_merge_id UIManager::add_ui_from_string(const Glib::ustring& buffer, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ guint retvalue = gtk_ui_manager_add_ui_from_string(gobj(), buffer.c_str(), buffer.size(), &(gerror));
+
+ if (gerror)
+ {
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ ::Glib::Error::throw_exception(gerror);
+#else
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+ return retvalue;
+}
+
+void UIManager::add_ui_separator(ui_merge_id merge_id, const Glib::ustring& path, const Glib::ustring& name, UIManagerItemType type, bool top)
+{
+ gtk_ui_manager_add_ui(gobj(), merge_id, path.c_str(), name.c_str(), 0 /* See C docs */, ((GtkUIManagerItemType)(type)), static_cast<int>(top));
+}
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/uimanager.hg b/libs/gtkmm2/gtk/src/uimanager.hg
new file mode 100644
index 0000000000..b445554666
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/uimanager.hg
@@ -0,0 +1,314 @@
+/* $Id: uimanager.hg,v 1.17 2006/05/11 11:40:24 murrayc Exp $ */
+
+/* Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/widget.h>
+#include <gtkmm/action.h>
+#include <gtkmm/actiongroup.h>
+#include <gtkmm/uimanager.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Gtk
+{
+
+_WRAP_ENUM(UIManagerItemType, GtkUIManagerItemType)
+
+/** Constructing menus and toolbars from an XML description.
+ *
+ * A Gtk::UIManager constructs a user interface (menus and toolbars) from one or more UI definitions,
+ * which reference actions from one or more action groups.
+ *
+ * \par UI Definitions
+ *
+ * The UI definitions are specified in an XML format which can be roughly described by the following DTD.
+ * \code
+ * <!ELEMENT ui (menubar|toolbar|popup|accelerator)* >
+ * <!ELEMENT menubar (menuitem|separator|placeholder|menu)* >
+ * <!ELEMENT menu (menuitem|separator|placeholder|menu)* >
+ * <!ELEMENT popup (menuitem|separator|placeholder|menu)* >
+ * <!ELEMENT toolbar (toolitem|separator|placeholder)* >
+ * <!ELEMENT placeholder (menuitem|toolitem|separator|placeholder|menu)* >
+ * <!ELEMENT menuitem EMPTY >
+ * <!ELEMENT toolitem (menu?) >
+ * <!ELEMENT separator EMPTY >
+ * <!ELEMENT accelerator EMPTY >
+ * <!ATTLIST menubar name #IMPLIED
+ * action #IMPLIED >
+ * <!ATTLIST toolbar name #IMPLIED
+ * action #IMPLIED >
+ * <!ATTLIST popup name #IMPLIED
+ * action #IMPLIED >
+ * <!ATTLIST placeholder name #IMPLIED
+ * action #IMPLIED >
+ * <!ATTLIST separator name #IMPLIED
+ * action #IMPLIED
+ * expand (true|false) #IMPLIED >
+ * <!ATTLIST menu name #IMPLIED
+ * action #REQUIRED
+ * position (top|bot) #IMPLIED >
+ * <!ATTLIST menuitem name #IMPLIED
+ * action #REQUIRED
+ * position (top|bot) #IMPLIED >
+ * <!ATTLIST toolitem name #IMPLIED
+ * action #REQUIRED
+ * position (top|bot) #IMPLIED >
+ * <!ATTLIST accelerator name #IMPLIED
+ * action #REQUIRED >
+ * \endcode
+ *
+ * There are some additional restrictions beyond those specified in the DTD, e.g.
+ * every toolitem must have a toolbar in its anchestry and every menuitem must have a +
+ * menubar or popup in its anchestry. Since a GMarkup parser is used to parse the UI description,
+ * it must not only be valid XML, but valid GMarkup.
+ *
+ * If a name is not specified, it defaults to the action. If an action is not specified either,
+ * the element name is used. The name and action attributes must not contain '/' characters after
+ * parsing (since that would mess up path lookup) and must be usable as XML attributes when
+ * enclosed in doublequotes, thus they must not '"' characters or references to the &quot; entity.
+ *
+ * \par Example: UI Definition
+ * \code
+ * <ui>
+ * <menubar>
+ * <menu name="FileMenu" action="FileMenuAction">
+ * <menuitem name="New" action="New2Action" />
+ * <placeholder name="FileMenuAdditions" />
+ * </menu>
+ * <menu name="JustifyMenu" action="JustifyMenuAction">
+ * <menuitem name="Left" action="justify-left"/>
+ * <menuitem name="Centre" action="justify-center"/>
+ * <menuitem name="Right" action="justify-right"/>
+ * <menuitem name="Fill" action="justify-fill"/>
+ * </menu>
+ * </menubar>
+ * <toolbar action="toolbar1">
+ * <placeholder name="JustifyToolItems">
+ * <separator/>
+ * <toolitem name="Left" action="justify-left"/>
+ * <toolitem name="Centre" action="justify-center"/>
+ * <toolitem name="Right" action="justify-right"/>
+ * <toolitem name="Fill" action="justify-fill"/>
+ * <separator/>
+ * </placeholder>
+ * </toolbar>
+ * </ui>
+ * \endcode
+ *
+ * The constructed widget hierarchy is very similar to the element tree of the XML,
+ * with the exception that placeholders are merged into their parents. The correspondence
+ * of XML elements to widgets should be almost obvious:
+ * - menubar a Gtk::MenuBar
+ * - toolbar a Gtk::Toolbar
+ * - popup a toplevel Gtk::Menu
+ * - menu a Gtk::Menu attached to a menuitem
+ * - menuitem a Gtk::MenuItem subclass, the exact type depends on the action
+ * - toolitem a Gtk::ToolItem subclass, the exact type depends on the action.
+ * Note that toolitem elements may contain a menu element, but only if their
+ * associated action specifies a Gtk::MenuToolButton as proxy.
+ * - separator a Gtk::SeparatorMenuItem or Gtk::SeparatorToolItem
+ * - accelerator a keyboard accelerator
+ *
+ * The "position" attribute determines where a constructed widget is positioned wrt.
+ * to its siblings in the partially constructed tree. If it is "top", the widget is
+ * prepended, otherwise it is appended.
+ *
+ * \par UI Merging
+ *
+ * The most remarkable feature of Gtk::UIManager is that it can overlay a set of menuitems
+ * and toolitems over another one, and demerge them later.
+ *
+ * Merging is done based on the names of the XML elements. Each element is identified by
+ * a path which consists of the names of its anchestors, separated by slashes. For example,
+ * the menuitem named "Left" in the example above has the path /ui/menubar/JustifyMenu/Left
+ * and the toolitem with the same name has path /ui/toolbar1/JustifyToolItems/Left.
+ *
+ * \par Accelerators
+ *
+ * Every action has an accelerator path. Accelerators are installed together with menuitem
+ * proxies, but they can also be explicitly added with <accelerator> elements in the
+ * UI definition. This makes it possible to have accelerators for actions even
+ * if they have no visible proxies.
+ *
+ * \par Smart Separators
+ *
+ * The separators created by Gtk::UIManager are "smart", i.e. they do not show up in
+ * the UI unless they end up between two visible menu or tool items. Separators which are
+ * located at the very beginning or end of the menu or toolbar containing them, or multiple
+ * separators next to each other, are hidden. This is a useful feature, since the merging
+ * of UI elements from multiple sources can make it hard or impossible to determine in
+ * advance whether a separator will end up in such an unfortunate position.
+ *
+ * For separators in toolbars, you can set expand="true" to turn them from a small,
+ * visible separator to an expanding, invisible one. Toolitems following an expanding
+ * separator are effectively right-aligned.
+ *
+ * \par Empty Menus
+ *
+ * Submenus pose similar problems to separators inconnection with merging. It is impossible
+ * to know in advance whether they will end up empty after merging. Gtk::UIManager offers
+ * two ways to treat empty submenus:
+ *
+ * - make them disappear by hiding the menu item they're attached to
+ * - add an insensitive "Empty" item
+ *
+ * The behaviour is chosen based on the "hide_if_empty" property of the action to which the submenu is associated.
+ *
+ * @newin2p4
+ */
+class UIManager : public Glib::Object
+{
+ _CLASS_GOBJECT(UIManager, GtkUIManager, GTK_UI_MANAGER, Glib::Object, GObject)
+protected:
+ _CTOR_DEFAULT()
+
+public:
+ _WRAP_CREATE()
+
+ _WRAP_METHOD(void set_add_tearoffs(bool add_tearoffs = true), gtk_ui_manager_set_add_tearoffs)
+ _WRAP_METHOD(bool get_add_tearoffs() const, gtk_ui_manager_get_add_tearoffs)
+ _WRAP_METHOD(void insert_action_group(const Glib::RefPtr<ActionGroup>& action_group, int pos = 0), gtk_ui_manager_insert_action_group)
+ _WRAP_METHOD(void remove_action_group(const Glib::RefPtr<ActionGroup>& action_group), gtk_ui_manager_remove_action_group)
+
+#m4 dnl // Override the conversion in convert_gtk.m4, because the default behaviour is wrong for this method:
+#m4 _CONVERSION(`GList*', `Glib::ListHandle Glib::RefPtr<ActionGroup> >', __FL2H_NONE)
+#m4 _CONVERSION(`GList*', `Glib::ListHandle< Glib::RefPtr<ActionGroup> >', __FL2H_NONE)
+
+ _WRAP_METHOD(Glib::ListHandle< Glib::RefPtr<ActionGroup> > get_action_groups(), gtk_ui_manager_get_action_groups)
+ _WRAP_METHOD(Glib::ListHandle< Glib::RefPtr<const ActionGroup> > get_action_groups() const, gtk_ui_manager_get_action_groups)
+
+ _WRAP_METHOD(Glib::RefPtr<AccelGroup> get_accel_group(), gtk_ui_manager_get_accel_group, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const AccelGroup> get_accel_group() const, gtk_ui_manager_get_accel_group, refreturn, constversion)
+ _WRAP_METHOD(Widget* get_widget(const Glib::ustring& path), gtk_ui_manager_get_widget)
+ _WRAP_METHOD(const Widget* get_widget(const Glib::ustring& path) const, gtk_ui_manager_get_widget, constversion)
+
+ _WRAP_METHOD(Glib::SListHandle<Widget*> get_toplevels(UIManagerItemType types), gtk_ui_manager_get_toplevels)
+ _WRAP_METHOD(Glib::SListHandle<const Widget*> get_toplevels(UIManagerItemType types) const, gtk_ui_manager_get_toplevels)
+
+ _WRAP_METHOD(Glib::RefPtr<Action> get_action(const Glib::ustring& path), gtk_ui_manager_get_action, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Action> get_action(const Glib::ustring& path) const, gtk_ui_manager_get_action, refreturn, constversion)
+
+ typedef guint ui_merge_id;
+
+ /** Parses a string containing a UI definition and
+ * merges it with the current contents. An enclosing &lt;ui&gt;
+ * element is added if it is missing.
+ *
+ * @param buffer the string to parse
+ * @result The merge id for the merged UI. The merge id can be used to unmerge the UI with remove_ui(). If an error occurred, the return value is 0.
+ * @throws exception
+ * @newin2p4
+ */
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ ui_merge_id add_ui_from_string(const Glib::ustring& buffer);
+ #else
+ ui_merge_id add_ui_from_string(const Glib::ustring& buffer, std::auto_ptr<Glib::Error>& error);
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ _IGNORE(gtk_ui_manager_add_ui_from_string)
+ _WRAP_METHOD(ui_merge_id add_ui_from_file(const Glib::ustring& filename), gtk_ui_manager_add_ui_from_file, errthrow)
+
+//TODO: Is top=true a good default?
+
+ _WRAP_METHOD(void add_ui(ui_merge_id merge_id, const Glib::ustring& path, const Glib::ustring& name, const Glib::ustring& action, UIManagerItemType type = Gtk::UI_MANAGER_AUTO, bool top = true), gtk_ui_manager_add_ui)
+
+ /** Adds a separator UI element to the current contents.
+ *
+ * If @a type is Gtk::UI_MANAGER_AUTO, GTK+ inserts a menuitem, toolitem or
+ * separator if such an element can be inserted at the place determined by
+ * @a path . Otherwise @a type must indicate an element that can be inserted at
+ * the place determined by @a path.
+ *
+ * @see add_ui().
+ *
+ * @newin2p4
+ * @param merge_id The merge id for the merged UI, see gtk_ui_manager_new_merge_id().
+ * @param path A path.
+ * @param name The name for the added UI element.
+ * @param type The type of UI element to add.
+ * @param top If <tt>true</tt>, the UI element is added before its siblings, otherwise it
+ * is added after its siblings.
+ */
+ void add_ui_separator(ui_merge_id merge_id, const Glib::ustring& path, const Glib::ustring& name = "", UIManagerItemType type = Gtk::UI_MANAGER_AUTO, bool top = true);
+
+ _WRAP_METHOD(void remove_ui(ui_merge_id merge_id), gtk_ui_manager_remove_ui)
+ _WRAP_METHOD(Glib::ustring get_ui() const, gtk_ui_manager_get_ui)
+ _WRAP_METHOD(void ensure_update(), gtk_ui_manager_ensure_update)
+ _WRAP_METHOD(ui_merge_id new_merge_id(), gtk_ui_manager_new_merge_id)
+
+ /** The add_widget signal is emitted for each generated menubar and toolbar.
+ * It is not emitted for generated popup menus, which can be obtained by
+ * get_widget().
+ *
+ * @param widget the added widget
+ */
+ _WRAP_SIGNAL(void add_widget(Widget* widget), add_widget)
+
+ /** The "actions-changed" signal is emitted whenever the set of actions
+ * changes.
+ */
+ _WRAP_SIGNAL(void actions_changed(), actions_changed)
+
+ /** The connect_proxy signal is emitted after connecting a proxy to
+ * an action in the group.
+ *
+ * This is intended for simple customizations for which a custom action
+ * class would be too clumsy, e.g. showing tooltips for menuitems in the
+ * statusbar.
+ *
+ * @param action the action
+ * @param widget the proxy
+ */
+ _WRAP_SIGNAL(void connect_proxy(const Glib::RefPtr<Action>& action, Widget* widget), connect_proxy, no_default_handler)
+
+ /** The disconnect_proxy signal is emitted after disconnecting a proxy
+ * from an action in the group.
+ *
+ * @param action the action
+ * @param widget the proxy
+ */
+ _WRAP_SIGNAL(void disconnect_proxy(const Glib::RefPtr<Action>& action, Widget* widget), disconnect_proxy, no_default_handler)
+
+ /** The pre_activate signal is emitted just before the @a action
+ * is activated.
+ *
+ * This is intended for applications to get notification
+ * just before any action is activated.
+ *
+ * @param action the action
+ */
+ _WRAP_SIGNAL(void pre_activate(const Glib::RefPtr<Action>& action), pre_activate, no_default_handler)
+
+ /** The post_activate signal is emitted just after the @a action
+ * is activated.
+ *
+ * This is intended for applications to get notification
+ * just after any action is activated.
+ *
+ * @param action the action
+ */
+ _WRAP_SIGNAL(void post_activate(const Glib::RefPtr<Action>& action), post_activate, no_default_handler)
+
+ _WRAP_PROPERTY("add_tearoffs", bool)
+ _WRAP_PROPERTY("ui", Glib::ustring)
+
+};
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/viewport.ccg b/libs/gtkmm2/gtk/src/viewport.ccg
new file mode 100644
index 0000000000..ecb5a14602
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/viewport.ccg
@@ -0,0 +1,25 @@
+// -*- c++ -*-
+/* $Id: viewport.ccg,v 1.1 2003/01/21 13:40:53 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/viewport.h>
+#include <gtkmm/adjustment.h>
+#include <gtk/gtkviewport.h>
diff --git a/libs/gtkmm2/gtk/src/viewport.hg b/libs/gtkmm2/gtk/src/viewport.hg
new file mode 100644
index 0000000000..9d98a15a81
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/viewport.hg
@@ -0,0 +1,79 @@
+/* $Id: viewport.hg,v 1.3 2006/04/12 11:11:25 murrayc Exp $ */
+
+/* viewport.h
+ *
+ * Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/bin.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/bin_p.h)
+
+
+namespace Gtk {
+class Adjustment;
+
+/** An adapter which makes widgets scrollable.
+ *
+ * @ingroup Widgets
+ * @ingroup Containers
+ */
+class Viewport : public Bin
+{
+ _CLASS_GTKOBJECT(Viewport,GtkViewport,GTK_VIEWPORT,Gtk::Bin,GtkBin)
+public:
+
+ _WRAP_CTOR(Viewport(Adjustment& hadjustment, Adjustment& vadjustment), gtk_viewport_new)
+
+
+ _WRAP_METHOD(Gtk::Adjustment* get_hadjustment(),
+ gtk_viewport_get_hadjustment)
+ _WRAP_METHOD(const Gtk::Adjustment* get_hadjustment() const,
+ gtk_viewport_get_hadjustment, constversion)
+
+ _WRAP_METHOD(Gtk::Adjustment* get_vadjustment(),
+ gtk_viewport_get_vadjustment)
+ _WRAP_METHOD(const Gtk::Adjustment* get_vadjustment() const,
+ gtk_viewport_get_vadjustment, constversion)
+
+ _WRAP_METHOD(void set_hadjustment(Gtk::Adjustment* adjustment=0),
+ gtk_viewport_set_hadjustment)
+ _WRAP_METHOD(void set_hadjustment(Gtk::Adjustment& adjustment),
+ gtk_viewport_set_hadjustment)
+
+ _WRAP_METHOD(void set_vadjustment(Gtk::Adjustment* adjustment=0),
+ gtk_viewport_set_vadjustment)
+ _WRAP_METHOD(void set_vadjustment(Gtk::Adjustment& adjustment),
+ gtk_viewport_set_vadjustment)
+
+ _WRAP_METHOD(void set_shadow_type(ShadowType type),
+ gtk_viewport_set_shadow_type)
+
+ _WRAP_METHOD(ShadowType get_shadow_type() const,
+ gtk_viewport_get_shadow_type)
+
+ _WRAP_SIGNAL(void set_scroll_adjustments(Gtk::Adjustment* hadjustment,
+ Gtk::Adjustment* vadjustment),
+ "set_scroll_adjustments")
+
+ _WRAP_PROPERTY("hadjustment", Gtk::Adjustment*)
+ _WRAP_PROPERTY("vadjustment", Gtk::Adjustment*)
+ _WRAP_PROPERTY("shadow_type", ShadowType)
+};
+
+} /* namespace Gtk */
+
diff --git a/libs/gtkmm2/gtk/src/volumebutton.ccg b/libs/gtkmm2/gtk/src/volumebutton.ccg
new file mode 100644
index 0000000000..e10d16f913
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/volumebutton.ccg
@@ -0,0 +1,30 @@
+// -*- c++ -*-
+/* $Id: volumebutton.ccg,v 1.2 2003/10/18 15:35:31 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2007 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtkvolumebutton.h>
+
+namespace Gtk
+{
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/volumebutton.hg b/libs/gtkmm2/gtk/src/volumebutton.hg
new file mode 100644
index 0000000000..f66393ac08
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/volumebutton.hg
@@ -0,0 +1,54 @@
+/* $Id: volumebutton.hg,v 1.5 2005/11/30 14:10:49 murrayc Exp $ */
+
+/* volumebutton.h
+ *
+ * Copyright (C) 2007 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/scalebutton.h>
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/scalebutton_p.h)
+
+
+namespace Gtk
+{
+
+/** A button which pops up a volume control.
+ *
+ * Gtk::VolumeButton is a subclass of Gtk::ScaleButton that has been tailored
+ * for use as a volume control widget with suitable icons, tooltips and
+ * accessible labels.
+ *
+ * @ingroup Widgets
+ * @newin2p12
+ */
+class VolumeButton : public ScaleButton
+{
+ _CLASS_GTKOBJECT(VolumeButton, GtkVolumeButton, GTK_VOLUME_BUTTON, Gtk::ScaleButton, GtkScaleButton)
+public:
+
+ /** Creates a olumeButton, with a range between 0 and 100, with
+ * a stepping of 2. Volume values can be obtained and modified using
+ * the methods from the ScaleButton base class.
+ */
+ _CTOR_DEFAULT()
+ _IGNORE(gtk_volume_button_new)
+};
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/widget.ccg b/libs/gtkmm2/gtk/src/widget.ccg
new file mode 100644
index 0000000000..f288c10158
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/widget.ccg
@@ -0,0 +1,584 @@
+// -*- c++ -*-
+/* $Id: widget.ccg,v 1.23 2006/07/19 16:58:50 murrayc Exp $ */
+
+/* Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/adjustment.h>
+#include <gtkmm/window.h>
+#include <gtkmm/accelgroup.h>
+#include <gtkmm/settings.h>
+#include <gtkmm/style.h>
+#include <gtkmm/container.h>
+#include <gtkmm/selectiondata_private.h>
+#include <gtkmm/action.h>
+#include <gtkmm/tooltip.h>
+#include <gtk/gtkdnd.h>
+#include <gtk/gtkselection.h>
+#include <gtk/gtkwidget.h>
+#include <gtk/gtkcontainer.h>
+#include <gtk/gtkmenu.h>
+#include <gtk/gtkmenuitem.h>
+#include <gtk/gtkmain.h>
+#include <gtk/gtkaction.h> //For gtk_widget_get_action().
+
+
+namespace //anonymous
+{
+
+//These signal callbacks are custom implemented, so that we can create a temporary SelectionData instance.
+//To do this, we used the optional custom_c_callback paramater to _WRAP_SIGNAL() in the .hg file.
+static void Widget_signal_drag_data_get_callback(GtkWidget* self, GdkDragContext* p0,GtkSelectionData* p1,guint p2,guint p3,void* data)
+{
+ using namespace Gtk;
+ typedef sigc::slot< void,const Glib::RefPtr<Gdk::DragContext>&,SelectionData&,guint,guint > SlotType;
+
+ // Do not try to call a signal on a disassociated wrapper.
+ if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
+ {
+ SelectionData_WithoutOwnership temp_instance(p1);
+ (*static_cast<SlotType*>(slot))( Glib::wrap(p0, true), temp_instance, p2, p3 );
+ }
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+}
+
+static void Widget_signal_selection_get_callback(GtkWidget* self, GtkSelectionData* p0,guint p1,guint p2,void* data)
+{
+ using namespace Gtk;
+ typedef sigc::slot< void, SelectionData&, guint, guint > SlotType;
+
+ // Do not try to call a signal on a disassociated wrapper.
+ if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
+ {
+ SelectionData_WithoutOwnership temp_instance(p0);
+ (*static_cast<SlotType*>(slot))( temp_instance, p1, p2 );
+ }
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+}
+
+
+} //anonymous
+
+namespace Gtk
+{
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+//These default handler callbacks are custom implemented, so that we can create a temporary SelectionData instance.
+//To do this, we used the optional custom_c_callback paramater to _WRAP_SIGNAL() in the .hg file.
+void Widget_Class::selection_get_callback(GtkWidget* self, GtkSelectionData* p0, guint p1, guint p2)
+{
+ CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase::_get_current_wrapper((GObject*)self));
+
+ // Non-gtkmmproc-generated custom classes implicitly call the default
+ // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
+ // generated classes can use this optimisation, which avoids the unnecessary
+ // parameter conversions if there is no possibility of the virtual function
+ // being overridden:
+ if(obj && obj->is_derived_())
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ SelectionData_WithoutOwnership temp_instance(p0);
+ obj->on_selection_get(temp_instance, p1, p2);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+ else
+ {
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->selection_get)
+ (*base->selection_get)(self, p0, p1, p2);
+ }
+}
+
+void Widget_Class::drag_data_get_callback(GtkWidget* self, GdkDragContext* p0, GtkSelectionData* p1, guint p2, guint p3)
+{
+ CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase::_get_current_wrapper((GObject*)self));
+
+ // Non-gtkmmproc-generated custom classes implicitly call the default
+ // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
+ // generated classes can use this optimisation, which avoids the unnecessary
+ // parameter conversions if there is no possibility of the virtual function
+ // being overridden:
+ if(obj && obj->is_derived_())
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ SelectionData_WithoutOwnership temp_instance(p1);
+ obj->on_drag_data_get(Glib::wrap(p0, true), temp_instance, p2, p3);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ }
+ else
+ {
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ // Call the original underlying C function:
+ if(base && base->drag_data_get)
+ (*base->drag_data_get)(self, p0, p1, p2, p3);
+ }
+}
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+Widget::~Widget()
+{}
+
+bool Widget::intersect(const Gdk::Rectangle& area) const
+{
+ return gtk_widget_intersect(
+ const_cast<GtkWidget*>(gobj()), const_cast<GdkRectangle*>(area.gobj()), 0);
+}
+
+void Widget::unset_name()
+{
+ gtk_widget_set_name(gobj(), 0);
+}
+
+void Widget::unset_composite_name()
+{
+ gtk_widget_set_composite_name(gobj(), 0);
+}
+
+void Widget::realize_if_needed()
+{
+ if(!is_realized())
+ realize();
+}
+
+void Widget::add_modal_grab()
+{
+ gtk_grab_add(gobj());
+}
+
+void Widget::remove_modal_grab()
+{
+ gtk_grab_remove(gobj());
+}
+
+Widget* Widget::get_current_modal_grab()
+{
+ return Glib::wrap(gtk_grab_get_current());
+}
+
+void Widget::path(Glib::ustring& path_arg, Glib::ustring& path_reversed)
+{
+ guint path_length = 0;
+ Glib::ScopedPtr<gchar> path_ptr;
+ Glib::ScopedPtr<gchar> rpath_ptr;
+
+ gtk_widget_path(gobj(), &path_length, path_ptr.addr(), rpath_ptr.addr());
+
+ path_arg.assign(path_ptr.get(), path_ptr.get() + path_length);
+ path_reversed.assign(rpath_ptr.get(), rpath_ptr.get() + path_length);
+}
+
+void Widget::class_path(Glib::ustring& path_arg, Glib::ustring& path_reversed)
+{
+ guint path_length = 0;
+ Glib::ScopedPtr<gchar> path_ptr;
+ Glib::ScopedPtr<gchar> rpath_ptr;
+
+ gtk_widget_class_path(gobj(), &path_length, path_ptr.addr(), rpath_ptr.addr());
+
+ path_arg.assign(path_ptr.get(), path_ptr.get() + path_length);
+ path_reversed.assign(rpath_ptr.get(), rpath_ptr.get() + path_length);
+}
+
+void Widget::modify_bg_pixmap(StateType state, const Glib::ustring& pixmap_name)
+{
+ const Glib::RefPtr<RcStyle> modifier_style = get_modifier_style();
+ modifier_style->set_bg_pixmap_name(state, pixmap_name);
+ modify_style(modifier_style);
+}
+
+void Widget::unset_fg(StateType state)
+{
+ gtk_widget_modify_fg(gobj(), static_cast<GtkStateType>(int(state)), 0);
+}
+
+void Widget::unset_bg(StateType state)
+{
+ gtk_widget_modify_bg(gobj(), static_cast<GtkStateType>(int(state)), 0);
+}
+
+void Widget::unset_text(StateType state)
+{
+ gtk_widget_modify_text(gobj(), static_cast<GtkStateType>(int(state)), 0);
+}
+
+void Widget::unset_base(StateType state)
+{
+ gtk_widget_modify_base(gobj(), static_cast<GtkStateType>(int(state)), 0);
+}
+
+void Widget::unset_font()
+{
+ gtk_widget_modify_font(gobj(), 0);
+}
+
+void Widget::unset_cursor()
+{
+ gtk_widget_modify_cursor(gobj(), 0, 0);
+}
+
+bool Widget::is_toplevel() const
+ { return GTK_WIDGET_TOPLEVEL(gobj()); }
+
+bool Widget::has_no_window() const
+ { return GTK_WIDGET_NO_WINDOW(gobj()); }
+
+bool Widget::is_realized() const
+ { return GTK_WIDGET_REALIZED(gobj()); }
+
+bool Widget::is_mapped() const
+ { return GTK_WIDGET_MAPPED(gobj()); }
+
+bool Widget::is_visible() const
+ { return GTK_WIDGET_VISIBLE(gobj()); }
+
+bool Widget::is_drawable() const
+ { return GTK_WIDGET_DRAWABLE(gobj()); }
+
+bool Widget::sensitive() const
+ { return GTK_WIDGET_SENSITIVE(gobj()); }
+
+bool Widget::parent_sensitive() const
+ { return GTK_WIDGET_PARENT_SENSITIVE(gobj()); }
+
+bool Widget::is_sensitive() const
+ { return GTK_WIDGET_IS_SENSITIVE(gobj()); }
+
+bool Widget::can_focus() const
+ { return GTK_WIDGET_CAN_FOCUS(gobj()); }
+
+bool Widget::has_focus() const
+ { return GTK_WIDGET_HAS_FOCUS(gobj()); }
+
+bool Widget::can_default() const
+ { return GTK_WIDGET_CAN_DEFAULT(gobj()); }
+
+bool Widget::has_default() const
+ { return GTK_WIDGET_HAS_DEFAULT(gobj()); }
+
+bool Widget::has_grab() const
+ { return GTK_WIDGET_HAS_GRAB(gobj()); }
+
+bool Widget::rc_style() const
+ { return GTK_WIDGET_RC_STYLE(gobj()); }
+
+bool Widget::is_composite_child() const
+ { return GTK_WIDGET_COMPOSITE_CHILD(gobj()); }
+
+bool Widget::app_paintable() const
+ { return GTK_WIDGET_APP_PAINTABLE(gobj()); }
+
+bool Widget::receives_default() const
+ { return GTK_WIDGET_RECEIVES_DEFAULT(gobj()); }
+
+bool Widget::double_buffered() const
+ { return GTK_WIDGET_DOUBLE_BUFFERED(gobj()); }
+
+WidgetFlags Widget::get_flags() const
+ { return static_cast<WidgetFlags>(GTK_WIDGET_FLAGS(gobj())); }
+
+void Widget::set_flags(WidgetFlags flags)
+ { GTK_WIDGET_SET_FLAGS(gobj(), static_cast<guint32>(flags)); }
+
+void Widget::unset_flags(WidgetFlags flags)
+ { GTK_WIDGET_UNSET_FLAGS(gobj(), static_cast<guint32>(flags)); }
+
+int Widget::get_width() const
+ { return gobj()->allocation.width; }
+
+int Widget::get_height() const
+ { return gobj()->allocation.height; }
+
+
+void Widget::drag_dest_set(DestDefaults flags, Gdk::DragAction actions)
+{
+ gtk_drag_dest_set(gobj(), (GtkDestDefaults)flags, 0, 0, (GdkDragAction)actions);
+}
+
+void Widget::drag_dest_set(const ArrayHandle_TargetEntry& targets,
+ DestDefaults flags, Gdk::DragAction actions)
+{
+ // I've used Gdk::ACTION_COPY as the default, because Gdk::ACTION_DEFAULT means that
+ // it's never a drag destination, so it would seem like this method didn't work. murrayc.
+ gtk_drag_dest_set(
+ gobj(), (GtkDestDefaults)flags,
+ targets.data(), targets.size(), (GdkDragAction)actions);
+}
+
+void Widget::drag_source_set(const ArrayHandle_TargetEntry& targets,
+ Gdk::ModifierType start_button_mask, Gdk::DragAction actions)
+{
+ // I've used Gdk::MODIFIER_MASK as the default, because it seems
+ // to mean 'whatever is possible in the context'. murrayc.
+ gtk_drag_source_set(
+ gobj(), (GdkModifierType)start_button_mask,
+ targets.data(), targets.size(), (GdkDragAction)actions);
+}
+
+Widget* Widget::drag_get_source_widget(const Glib::RefPtr<Gdk::DragContext>& context) //static
+{
+ return Glib::wrap( gtk_drag_get_source_widget(Glib::unwrap(context)) );
+}
+
+void Widget::drag_set_as_icon(const Glib::RefPtr<Gdk::DragContext>& context, int hot_x, int hot_y)
+{
+ gtk_drag_set_icon_widget(Glib::unwrap(context), gobj(), hot_x, hot_y);
+}
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+void Widget_Class::hierarchy_changed_callback_custom(GtkWidget* self, GtkWidget* p0)
+{
+ //GTKMM_LIFECYCLE
+ //Don't call wrap() on a GTK+ instance whose gtkmm instance has been deleted - just call the original C callback.
+ bool gtkmm_child_already_deleted = Glib::_gobject_cppinstance_already_deleted((GObject*)p0);
+
+ if(!gtkmm_child_already_deleted)
+ {
+ //Call the regular, generated callback:
+ Widget_Class::hierarchy_changed_callback(self, p0);
+ }
+ else
+ {
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ //Call the original underlying C function:
+ if(base && base->hierarchy_changed)
+ (*base->hierarchy_changed)(self, p0);
+ }
+}
+
+void Widget_Class::parent_set_callback_custom(GtkWidget* self, GtkWidget* p0)
+{
+ //GTKMM_LIFECYCLE
+ //Don't call wrap() on a GTK+ instance whose gtkmm instance has been deleted - just call the original C callback.
+ bool gtkmm_p0_already_deleted = Glib::_gobject_cppinstance_already_deleted((GObject*)p0);
+
+ if(!gtkmm_p0_already_deleted)
+ {
+ //Call the regular, generated callback:
+ Widget_Class::parent_set_callback(self, p0);
+ }
+ else
+ {
+ BaseClassType *const base = static_cast<BaseClassType*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
+ );
+
+ //Call the original underlying C function:
+ if(base && base->parent_set)
+ (*base->parent_set)(self, p0);
+ }
+}
+#endif //#GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+void Widget_Class::dispose_vfunc_callback(GObject* self)
+{
+ //Avoid disposal. See also Window_Class::dispose_vfunc_callback().
+
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Widget_Class::dispose_vfunc_callback(): gobject_: %p\n", (void*)self);
+ //if(self)
+ //g_warning(" gtypename: %s\n", G_OBJECT_TYPE_NAME(self));
+ #endif
+
+ Widget *const obj = dynamic_cast<Widget*>(
+ Glib::ObjectBase::_get_current_wrapper(self));
+
+ // This function might be invoked recursively because we're triggering
+ // several signal emissions, particularly signal_hide(). Therefore we
+ // have to test for cpp_destruction_in_progress_ at this point.
+
+ if(obj && !obj->_cpp_destruction_is_in_progress()) //When it should really be destroyed, we zero gobj_.
+ {
+ GtkWidget *const pWidget = obj->gobj();
+ g_return_if_fail(pWidget == GTK_WIDGET(self));
+
+ // Abort dispose if the widget isn't managed, in order to prevent
+ // the nasty self-destroying behaviour of GTK+. This applies to
+ // any widget inside a GtkContainer on gtk_container_destroy()
+ // See also Window_Class::dispose_vfunc_callback().
+
+ if(obj->referenced_) //Not managed
+ {
+ // GTKMM_LIFECYCLE
+ // Remove the widget from its parent container so that it
+ // won't be destroyed later by gtk_container_destroy().
+ if(pWidget->parent)
+ {
+ // Normally, we would have to ref the child widget because
+ // gtk_container_remove() unrefs it. But since we only remove
+ // non-managed objects here, the container just releases the
+ // reference it has acquired before in gtk_container_add().
+
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Widget_Class::dispose_vfunc_callback(): removing gobject_: %p from parent: %p", (void*)self, (void*)pWidget->parent);
+ #endif
+
+ gtk_container_remove(GTK_CONTAINER(pWidget->parent), pWidget);
+
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Widget_Class::dispose_vfunc_callback(): after removing from parent.");
+ #endif
+ }
+ // Special case for GtkMenu because gtk_menu_attach_to_widget does
+ // not set widget->parent but gtk_menu_item_destroy() destroys the menu
+ // like gtk_container_destroy()
+ // Gtk::Menu does not use a parent widget because it must
+ // be contained in its Gtk::Window so that it can be displayed as a popup.
+ else if (GTK_IS_MENU(pWidget) && GTK_IS_MENU_ITEM(gtk_menu_get_attach_widget(GTK_MENU(pWidget))))
+ {
+ gtk_menu_detach(GTK_MENU(pWidget));
+ }
+
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Widget_Class::dispose_vfunc_callback(): before gtk_widget_hide().");
+ #endif
+
+ // Now hide the widget. The C++ object must _not_ be accessed anymore
+ // after this call, because a signal_hide() handler might delete it.
+ gtk_widget_hide(pWidget);
+
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Widget_Class::dispose_vfunc_callback(): after gtk_widget_hide().");
+ #endif
+
+ // GTKMM_LIFECYCLE
+ return; // Prevent calling of normal C dispose vfunc (see below)
+ }
+
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Widget_Class::dispose_vfunc_callback(): unreferenced: before gtk_widget_hide().");
+ #endif
+
+ // Always hide widgets on gtk_object_destroy(), regardless of whether
+ // the widget is managed or not. This is done for consistency so that
+ // connecting to signal_hide() is guaranteed to work.
+ gtk_widget_hide(pWidget);
+
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Widget_Class::dispose_vfunc_callback(): unreferenced: after gtk_widget_hide().");
+ #endif
+ }
+
+ GObjectClass *const base = static_cast<GObjectClass*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)));
+
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Widget_Class::dispose_vfunc_callback(): before calling base->dispose.");
+ #endif
+
+ if(base->dispose)
+ (*base->dispose)(self);
+
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Widget_Class::dispose_vfunc_callback(): after calling base->dispose.");
+ #endif
+}
+
+
+void Widget::unset_style()
+{
+ gtk_widget_set_style(gobj(), 0 /* See GTK+ docs */);
+}
+
+Glib::ustring Widget::drag_dest_find_target(const Glib::RefPtr<Gdk::DragContext>& context) const
+{
+ return Gdk::AtomString::to_cpp_type(gtk_drag_dest_find_target(const_cast<GtkWidget*>(gobj()), Glib::unwrap(context), 0 /* See GTK+ docs */));
+}
+
+void Widget::unset_shape_combine_mask()
+{
+ gtk_widget_shape_combine_mask(gobj(), 0, 0, 0); /* See GTK+ docs */
+}
+
+void Widget::unset_input_shape_combine_mask()
+{
+ gtk_widget_input_shape_combine_mask(gobj(), 0, 0, 0); /* See GTK+ docs */
+}
+
+void Widget::draw_insertion_cursor(Glib::RefPtr<Gdk::Drawable> drawable, const Gdk::Rectangle& area, const Gdk::Rectangle& location, bool is_primary, TextDirection direction, bool draw_arrow)
+{
+ gtk_draw_insertion_cursor(gobj(), drawable->gobj(), const_cast<GdkRectangle*>(area.gobj()), const_cast<GdkRectangle*>(location.gobj()), is_primary, (GtkTextDirection)direction, draw_arrow);
+}
+
+Requisition Widget::size_request() const
+{
+ Requisition requisition;
+ gtk_widget_size_request(const_cast<GtkWidget*>(gobj()), (GtkRequisition*)(&requisition));
+ return requisition;
+}
+
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/widget.hg b/libs/gtkmm2/gtk/src/widget.hg
new file mode 100644
index 0000000000..a4a193c4ea
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/widget.hg
@@ -0,0 +1,962 @@
+/* $Id: widget.hg,v 1.48 2006/09/19 20:08:42 murrayc Exp $ */
+
+/* Copyright (C) 2002, 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pangomm/context.h>
+#include <pangomm/layout.h>
+
+#include <gtkmmconfig.h> //For GTKMM_ATKMM_ENABLED
+#ifdef GTKMM_ATKMM_ENABLED
+#include <atkmm/object.h>
+#include <atkmm/implementor.h>
+#endif //GTKMM_ATKMM_ENABLED
+
+#include <gdkmm/event.h>
+#include <gdkmm/types.h>
+#include <gdkmm/window.h>
+#include <gdkmm/dragcontext.h>
+#include <gdkmm/pixbuf.h>
+#include <gdkmm/screen.h>
+#include <gtkmm/enums.h>
+#include <gdkmm/display.h>
+//#include <gtkmm/style.h>
+#include <gtkmm/targetlist.h>
+#include <gtkmm/rc.h>
+#include <gtkmm/object.h>
+#include <gtkmm/clipboard.h>
+//#include <gtkmm/action.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/object_p.h)
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C"
+{
+typedef struct _GtkTargetEntry GtkTargetEntry;
+}
+
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+namespace Gtk
+{
+
+_CC_INCLUDE(gtk/gtktypebuiltins.h)
+_WRAP_ENUM(DestDefaults, GtkDestDefaults)
+_WRAP_ENUM(WidgetFlags, GtkWidgetFlags)
+_WRAP_ENUM(WidgetHelpType, GtkWidgetHelpType)
+
+class Action;
+class Style;
+class AccelGroup;
+class Adjustment;
+class Window;
+class Container;
+class Settings;
+class Tooltip;
+
+typedef GtkRequisition Requisition;
+
+// Gtk::Allocation is a typedef of Gdk::Rectangle because GtkAllocation is
+// a typedef of GdkRectangle.
+typedef Gdk::Rectangle Allocation;
+
+
+
+/** @defgroup Widgets Widgets
+ */
+
+/** Abstract Widget (Base class for all widgets)
+ *
+ * As the base class of all widgets this contains all of the properties
+ * and methods common to all widgets. It is an abstract class that
+ * can not be instantiated.
+ *
+ * Important part of widgets are the *_event signals and virtual methods
+ * that every widget have. Those are events coming directly from gdk and
+ * thus also from XLib. By overriding those virtual methods you can
+ * trap everything a widget can ever do.
+ * In order to capture events from a widget, the event mask must
+ * first be set with ().
+ *
+ * Only widgets with a Gdk::Window on the server side are allowed to
+ * capture events. Widgets in the Gtk::Misc group for example lack
+ * a Gdk::Window.
+ */
+class Widget
+: public Object
+#ifdef GTKMM_ATKMM_ENABLED
+ ,public Atk::Implementor
+#endif //GTKMM_ATKMM_ENABLED
+{
+ _CLASS_GTKOBJECT(Widget,GtkWidget,GTK_WIDGET,Gtk::Object,GtkObject)
+ _IMPLEMENTS_INTERFACE(Atk::Implementor, ifdef GTKMM_ATKMM_ENABLED)
+ _IGNORE(gtk_widget_set, gtk_widget_queue_clear, gtk_widget_queue_clear_area, gtk_widget_draw,
+ gtk_widget_set_uposition, gtk_widget_set_usize, gtk_widget_set_visual, gtk_widget_push_visual,
+ gtk_widget_pop_visual, gtk_widget_set_default_visual, gtk_widget_set_rc_style, gtk_widget_restore_default_style)
+ _IGNORE(gtk_widget_destroy, gtk_widget_ref, gtk_widget_unref, gtk_widget_destroyed, gtk_widget_hide_on_delete,
+ gtk_widget_style_get_valist, gtk_widget_list_accel_closures, gtk_widget_style_get)
+public:
+ friend class Main;
+ _CUSTOM_DTOR
+
+ _WRAP_METHOD(bool set_scroll_adjustments(Adjustment& hadjustment, Adjustment& vadjustment), gtk_widget_set_scroll_adjustments)
+
+ _WRAP_METHOD(void show(), gtk_widget_show)
+ _WRAP_METHOD(void show_now(), gtk_widget_show_now)
+ _WRAP_METHOD(void hide(), gtk_widget_hide)
+
+ _WRAP_METHOD(void show_all(), gtk_widget_show_all)
+
+ _WRAP_METHOD(void hide_all(), gtk_widget_hide_all)
+
+
+/* QUEUE DRAWS */
+
+ _WRAP_METHOD(void queue_draw(), gtk_widget_queue_draw)
+ _WRAP_METHOD(void queue_draw_area(int x, int y, int width, int height), gtk_widget_queue_draw_area)
+ _WRAP_METHOD(void queue_resize(), gtk_widget_queue_resize)
+
+ /** This function is typically used when implementing a Gtk::Container
+ * subclass. Obtains the preferred size of a widget. The container
+ * uses this information to arrange its child widgets and decide what
+ * size allocations to give them with size_allocate().
+ *
+ * You can also call this function from an application, with some
+ * caveats. Most notably, getting a size request requires the widget
+ * to be associated with a screen, because font information may be
+ * needed. Multihead-aware applications should keep this in mind.
+ *
+ * Also remember that the size request is not necessarily the size
+ * a widget will actually be allocated.
+ *
+ * See also get_child_requisition().
+ * @result A Gtk::Requisition.
+ */
+ Requisition size_request() const;
+ _IGNORE(gtk_widget_size_request)
+
+ _WRAP_METHOD(void size_request(const Requisition& requisition), gtk_widget_size_request, deprecated "Use size_request() const.")
+
+ _WRAP_METHOD(void size_allocate(const Allocation& allocation), gtk_widget_size_allocate)
+
+
+ _WRAP_METHOD(void add_accelerator(const Glib::ustring& accel_signal, const Glib::RefPtr<AccelGroup>& accel_group,
+ guint accel_key, Gdk::ModifierType accel_mods, AccelFlags accel_flags), gtk_widget_add_accelerator)
+
+ _WRAP_METHOD(bool remove_accelerator(const Glib::RefPtr<AccelGroup>& accel_group,
+ guint accel_key, Gdk::ModifierType accel_mods), gtk_widget_remove_accelerator)
+ _WRAP_METHOD(void set_accel_path(const Glib::ustring& accel_path,
+ const Glib::RefPtr<AccelGroup>& accel_group),
+ gtk_widget_set_accel_path)
+
+ //GList* gtk_widget_list_accel_closures();
+
+ //TODO: Or maybe it is useless: gboolean gtk_widget_can_activate_accel(GtkWidget *widget, guint signal_id)
+
+ _WRAP_METHOD(bool mnemonic_activate(bool group_cycling), gtk_widget_mnemonic_activate)
+
+ //TODO: Use C++ type
+ _WRAP_METHOD(bool event(GdkEvent* event), gtk_widget_event)
+ _WRAP_METHOD(int send_expose(GdkEvent* event), gtk_widget_send_expose)
+ _WRAP_METHOD(bool activate(), gtk_widget_activate)
+
+ _WRAP_METHOD(void reparent(Widget & new_parent), gtk_widget_reparent)
+
+ bool intersect(const Gdk::Rectangle& area) const;
+ _WRAP_METHOD(bool intersect(const Gdk::Rectangle& area, Gdk::Rectangle& intersection) const, gtk_widget_intersect)
+
+ _WRAP_METHOD(Gdk::Region region_intersect(const Gdk::Region& region) const, gtk_widget_region_intersect)
+
+ _WRAP_METHOD(void freeze_child_notify(), gtk_widget_freeze_child_notify)
+ _WRAP_METHOD(void child_notify(const Glib::ustring& child_property), gtk_widget_child_notify)
+ _WRAP_METHOD(void thaw_child_notify(), gtk_widget_thaw_child_notify)
+
+ _WRAP_METHOD(bool is_focus() const, gtk_widget_is_focus)
+ _WRAP_METHOD(void grab_focus(), gtk_widget_grab_focus)
+ _WRAP_METHOD(void grab_default(), gtk_widget_grab_default)
+
+ /** Block events to everything else than this widget and its children. This
+ * way you can get modal behaviour (usually not recommended). One practical
+ * example could be when implementing a key-binding widget that needs
+ * exclusive access to the key combination that the user presses next.
+ *
+ * Calls to add_modal_grab should be paired with calls to remove_modal_grab.
+ */
+ void add_modal_grab();
+
+ /** Remove the modal grab of the widget in case it was previously grabbed.
+ */
+ void remove_modal_grab();
+
+ /** Retrieve the widget which is currently grabbing all events.
+ */
+ static Widget* get_current_modal_grab();
+
+ _WRAP_METHOD(void set_name(const Glib::ustring& name), gtk_widget_set_name)
+ void unset_name();
+ _WRAP_METHOD(Glib::ustring get_name() const, gtk_widget_get_name)
+
+ _WRAP_METHOD(void set_state(Gtk::StateType state), gtk_widget_set_state)
+ _WRAP_METHOD(void set_sensitive(bool sensitive = true), gtk_widget_set_sensitive)
+ _WRAP_METHOD(void set_app_paintable(bool app_paintable = true), gtk_widget_set_app_paintable)
+ _WRAP_METHOD(void set_double_buffered(bool double_buffered = true), gtk_widget_set_double_buffered)
+
+ _WRAP_METHOD(void set_redraw_on_allocate(bool redraw_on_allocate = true),
+ gtk_widget_set_redraw_on_allocate)
+
+ _WRAP_METHOD(void set_child_visible(bool is_visible = true), gtk_widget_set_child_visible)
+ _WRAP_METHOD(bool get_child_visible() const, gtk_widget_get_child_visible)
+
+ _WRAP_METHOD(Container* get_parent(), gtk_widget_get_parent)
+ _WRAP_METHOD(const Container* get_parent() const, gtk_widget_get_parent, constversion)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Window> get_parent_window(), gtk_widget_get_parent_window, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Gdk::Window> get_parent_window() const, gtk_widget_get_parent_window, refreturn, constversion)
+ _WRAP_METHOD(void set_parent_window(const Glib::RefPtr<const Gdk::Window>& parent_window), gtk_widget_set_parent_window)
+
+ _WRAP_METHOD(bool child_focus(DirectionType direction), gtk_widget_child_focus)
+
+ _WRAP_METHOD(bool keynav_failed(DirectionType direction), gtk_widget_keynav_failed)
+ _WRAP_METHOD(void error_bell(), gtk_widget_error_bell)
+
+ _WRAP_METHOD(void set_size_request(int width = -1, int height = -1), gtk_widget_set_size_request)
+ _WRAP_METHOD(void get_size_request(int& width, int& height) const, gtk_widget_get_size_request)
+
+ _WRAP_METHOD(void set_events(Gdk::EventMask events), gtk_widget_set_events)
+ _WRAP_METHOD(void add_events(Gdk::EventMask events), gtk_widget_add_events)
+ _WRAP_METHOD(void set_extension_events(Gdk::ExtensionMode mode), gtk_widget_set_extension_events)
+
+ _WRAP_METHOD(Gdk::ExtensionMode get_extension_events() const, gtk_widget_get_extension_events)
+
+ _WRAP_METHOD(Container* get_toplevel(), gtk_widget_get_toplevel)
+ _WRAP_METHOD(const Container* get_toplevel() const, gtk_widget_get_toplevel, constversion)
+
+ _WRAP_METHOD(Widget* get_ancestor(GType widget_type), gtk_widget_get_ancestor)
+ _WRAP_METHOD(const Widget* get_ancestor(GType widget_type) const, gtk_widget_get_ancestor, constversion)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Colormap> get_colormap(), gtk_widget_get_colormap, refreturn)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Visual> get_visual(), gtk_widget_get_visual, refreturn)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Screen> get_screen(), gtk_widget_get_screen, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Gdk::Screen> get_screen() const, gtk_widget_get_screen, refreturn, constversion)
+
+ _WRAP_METHOD(bool has_screen() const, gtk_widget_has_screen)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Display> get_display(), gtk_widget_get_display, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Gdk::Display> get_display() const, gtk_widget_get_display, refreturn, constversion)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Window> get_root_window(), gtk_widget_get_root_window, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Gdk::Window> get_root_window() const, gtk_widget_get_root_window, refreturn, constversion)
+
+ _WRAP_METHOD(Glib::RefPtr<Settings> get_settings(), gtk_widget_get_settings, refreturn)
+
+ _WRAP_METHOD(Glib::RefPtr<Clipboard> get_clipboard(const Glib::ustring& selection), gtk_widget_get_clipboard, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Clipboard> get_clipboard(const Glib::ustring& selection) const, gtk_widget_get_clipboard, refreturn, constversion)
+
+ //TODO: This probably needs a special conversion to do an extra ref (take_copy=true) for the returned instance:
+ _WRAP_METHOD(Glib::RefPtr<Atk::Object> get_accessible(), gtk_widget_get_accessible, refreturn, ifdef GTKMM_ATKMM_ENABLED)
+
+ _WRAP_METHOD(void set_colormap(const Glib::RefPtr<const Gdk::Colormap> &colormap), gtk_widget_set_colormap)
+ _WRAP_METHOD(Gdk::EventMask get_events() const, gtk_widget_get_events)
+ _WRAP_METHOD(void get_pointer(int &x, int &y) const, gtk_widget_get_pointer)
+ _WRAP_METHOD(bool is_ancestor(Widget &ancestor) const, gtk_widget_is_ancestor)
+
+ _WRAP_METHOD(bool translate_coordinates(Widget& dest_widget,
+ int src_x, int src_y,
+ int& dest_x, int& dest_y), gtk_widget_translate_coordinates)
+
+/* STYLE */
+ _WRAP_METHOD(void set_style(const Glib::RefPtr<Style>& style), gtk_widget_set_style)
+ void unset_style();
+
+ _WRAP_METHOD(void ensure_style(), gtk_widget_ensure_style)
+ _WRAP_METHOD(Glib::RefPtr<Style> get_style(), gtk_widget_get_style, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Style> get_style() const, gtk_widget_get_style, refreturn, constversion)
+ _WRAP_METHOD(void modify_style(const Glib::RefPtr<RcStyle>& style), gtk_widget_modify_style)
+ _WRAP_METHOD(Glib::RefPtr<RcStyle> get_modifier_style(), gtk_widget_get_modifier_style, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const RcStyle> get_modifier_style() const, gtk_widget_get_modifier_style, refreturn, constversion)
+
+ // we need custom documentation because modify_* can take a NULL pointer
+ // (which we wrap with unset_*)
+ /** Sets the foreground color for a widget in a particular state.
+ * All other style values are left untouched. See also modify_style() and
+ * unset_fg().
+ *
+ * @param state The state for which to set the foreground color.
+ * @param color The color to assign (does not need to be allocated).
+ */
+ _WRAP_METHOD(void modify_fg(StateType state, const Gdk::Color& color), gtk_widget_modify_fg)
+
+
+ /** Sets the background color for a widget in a particular state.
+ * All other style values are left untouched. See also modify_style() and
+ * unset_bg().
+ *
+ * @param state The state for which to set the background color.
+ * @param color The color to assign (does not need to be allocated).
+ */
+ _WRAP_METHOD(void modify_bg(StateType state, const Gdk::Color& color), gtk_widget_modify_bg)
+
+ // TODO: Document this, and perhaps add unset_bg_pixmap
+ void modify_bg_pixmap(StateType state, const Glib::ustring& pixmap_name);
+
+ /** Sets the text color for a widget in a particular state.
+ * All other style values are left untouched. The text color is the
+ * foreground color used along with the base color (see modify_base() ) for
+ * widgets such as Gtk::Entry and Gtk::TextView. See also modify_style() and
+ * unset_text().
+ *
+ * @param state The state for which to set the text color.
+ * @param color The color to assign (does not need to be allocated).
+ */
+ _WRAP_METHOD(void modify_text(StateType state, const Gdk::Color& color), gtk_widget_modify_text)
+
+ /** Sets the base color for a widget in a particular state.
+ * All other style values are left untouched. The base color is the
+ * background color used along with the text color (see modify_text() ) for
+ * widgets such as Gtk::Entry and Gtk::TextView. See also modify_style() and
+ * unset_base().
+ *
+ * @param state The state for which to set the text color.
+ * @param color The color to assign (does not need to be allocated).
+ */
+ _WRAP_METHOD(void modify_base(StateType state, const Gdk::Color& color), gtk_widget_modify_base)
+
+ /** Sets the cursor color to use in a widget, overriding the
+ * cursor_color and secondary_cursor_color
+ * style properties. All other style values are left untouched.
+ * See also modify_style().
+ * See also unset_cursor().
+ *
+ * @param primary the color to use for primary cursor (does not need to be allocated).
+ * @param secondary the color to use for secondary cursor (does not need to be allocated).
+ *
+ * @newin2p12
+ */
+ _WRAP_METHOD(void modify_cursor(const Gdk::Color& primary, const Gdk::Color& secondary), gtk_widget_modify_cursor)
+
+ /// See modify_cursor().
+ void unset_cursor();
+
+ /** Sets the font to use for a widget.
+ * All other style values are left untouched. See also modify_style() and
+ * unset_font().
+ */
+ _WRAP_METHOD(void modify_font(const Pango::FontDescription& font_desc), gtk_widget_modify_font)
+
+ /** Undo the effect of previous calls to modify_fg() for a particular state.
+ * All other style values are left untouched. See also modify_style().
+ */
+ void unset_fg(StateType state);
+
+ /** Undo the effect of previous calls to modify_bg() for a particular state.
+ * All other style values are left untouched. See also modify_style().
+ */
+ void unset_bg(StateType state);
+
+ /** Undo the effect of previous calls to modify_text() for a particular state.
+ * All other style values are left untouched. See also modify_style().
+ */
+ void unset_text(StateType state);
+
+ /** Undo the effect of previous calls to modify_base() for a particular state.
+ * All other style values are left untouched. See also modify_style().
+ */
+ void unset_base(StateType state);
+
+ /** Undo the effect of previous calls to modify_font() for a particular state.
+ * All other style values are left untouched. See also modify_style().
+ */
+ void unset_font();
+
+ //The parameter name is "the_property_name" to avoid a warning because there is a method with the "property_name" name.
+ template <class PropertyType>
+ void get_style_property(const Glib::ustring& the_property_name, PropertyType& value) const;
+
+ _WRAP_METHOD(Glib::RefPtr<Pango::Context> create_pango_context(), gtk_widget_create_pango_context)
+ _WRAP_METHOD(Glib::RefPtr<Pango::Context> get_pango_context(), gtk_widget_get_pango_context, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<Pango::Layout> create_pango_layout(const Glib::ustring& text), gtk_widget_create_pango_layout)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> render_icon(const StockID& stock_id, IconSize size, const Glib::ustring& detail = Glib::ustring()), gtk_widget_render_icon)
+
+ _WRAP_METHOD(void set_composite_name(const Glib::ustring& name), gtk_widget_set_composite_name)
+ void unset_composite_name();
+ _WRAP_METHOD(Glib::ustring get_composite_name() const, gtk_widget_get_composite_name)
+
+ _WRAP_METHOD(void reset_rc_styles(),gtk_widget_reset_rc_styles)
+
+
+ // PUSH/POP - these are used to create widgets. Hidden arguments to override the defaults.
+ _WRAP_METHOD(static void push_colormap(const Glib::RefPtr<const Gdk::Colormap>& cmap), gtk_widget_push_colormap)
+ _WRAP_METHOD(static void pop_colormap(), gtk_widget_pop_colormap)
+
+ _WRAP_METHOD(static void push_composite_child(), gtk_widget_push_composite_child)
+ _WRAP_METHOD(static void pop_composite_child(), gtk_widget_pop_composite_child)
+
+
+/* DEFAULTS */
+
+ _WRAP_METHOD(static void set_default_colormap(const Glib::RefPtr<const Gdk::Colormap>& colormap), gtk_widget_set_default_colormap)
+ _WRAP_METHOD(static Glib::RefPtr<Style> get_default_style(), gtk_widget_get_default_style, refreturn)
+ _WRAP_METHOD(static Glib::RefPtr<Gdk::Colormap> get_default_colormap(), gtk_widget_get_default_colormap, refreturn)
+ _WRAP_METHOD(static Glib::RefPtr<Gdk::Visual> get_default_visual(), gtk_widget_get_default_visual, refreturn)
+
+
+/* Directionality of Text */
+
+ _WRAP_METHOD(void set_direction(TextDirection dir), gtk_widget_set_direction)
+ _WRAP_METHOD(TextDirection get_direction(), gtk_widget_get_direction)
+ _WRAP_METHOD(static void set_default_direction(TextDirection dir), gtk_widget_set_default_direction)
+ _WRAP_METHOD(static TextDirection get_default_direction(), gtk_widget_get_default_direction)
+
+
+/* Shape masking */
+ _WRAP_METHOD(void shape_combine_mask(const Glib::RefPtr<const Gdk::Bitmap>& shape_mask, int offset_x, int offset_y), gtk_widget_shape_combine_mask)
+ void unset_shape_combine_mask();
+ _WRAP_METHOD(void input_shape_combine_mask(const Glib::RefPtr<const Gdk::Bitmap>& shape_mask, int offset_x, int offset_y), gtk_widget_input_shape_combine_mask)
+ void unset_input_shape_combine_mask();
+
+
+ // must be realized
+ _WRAP_METHOD(void reset_shapes(),gtk_widget_reset_shapes)
+
+/* Paths */
+ /// Compute a widget's path of the form "GtkWindow.MyLabel"
+ void path(Glib::ustring& path, Glib::ustring& path_reversed);
+ void class_path(Glib::ustring& path, Glib::ustring& path_reversed);
+ _IGNORE(gtk_widget_path, gtk_widget_class_path)
+
+ _WRAP_METHOD(Glib::ListHandle<Widget*> list_mnemonic_labels(), gtk_widget_list_mnemonic_labels)
+ _WRAP_METHOD(Glib::ListHandle<const Widget*> list_mnemonic_labels() const, gtk_widget_list_mnemonic_labels)
+ _WRAP_METHOD(void add_mnemonic_label(Widget& label), gtk_widget_add_mnemonic_label)
+ _WRAP_METHOD(void remove_mnemonic_label(Widget& label), gtk_widget_remove_mnemonic_label)
+
+
+ //TODO: Should drag_get_data() be const?
+ _WRAP_METHOD(void drag_get_data(const Glib::RefPtr<Gdk::DragContext>& context, Glib::ustring& target, guint32 time), gtk_drag_get_data)
+ _WRAP_METHOD(void drag_highlight(), gtk_drag_highlight)
+ _WRAP_METHOD(void drag_unhighlight(), gtk_drag_unhighlight)
+
+ void drag_dest_set(DestDefaults flags = DestDefaults(0), Gdk::DragAction actions = Gdk::DragAction(0));
+ void drag_dest_set(const ArrayHandle_TargetEntry& targets, DestDefaults flags = DEST_DEFAULT_ALL, Gdk::DragAction actions = Gdk::ACTION_COPY);
+ _IGNORE(gtk_drag_dest_set)
+
+ _WRAP_METHOD(void drag_dest_set_proxy(const Glib::RefPtr<Gdk::Window>& proxy_window, Gdk::DragProtocol protocol, bool use_coordinates), gtk_drag_dest_set_proxy)
+ _WRAP_METHOD(void drag_dest_unset(), gtk_drag_dest_unset)
+ _WRAP_METHOD(Glib::ustring drag_dest_find_target(const Glib::RefPtr<Gdk::DragContext>& context, const Glib::RefPtr<TargetList>& target_list) const, gtk_drag_dest_find_target)
+ Glib::ustring drag_dest_find_target(const Glib::RefPtr<Gdk::DragContext>& context) const;
+
+ _WRAP_METHOD(Glib::RefPtr<TargetList> drag_dest_get_target_list(), gtk_drag_dest_get_target_list, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const TargetList> drag_dest_get_target_list() const, gtk_drag_dest_get_target_list, refreturn, constversion)
+ _WRAP_METHOD(void drag_dest_set_target_list(const Glib::RefPtr<TargetList>& target_list), gtk_drag_dest_set_target_list)
+
+ _WRAP_METHOD(void drag_dest_add_text_targets(), gtk_drag_dest_add_text_targets)
+ _WRAP_METHOD(void drag_dest_add_image_targets(), gtk_drag_dest_add_image_targets)
+ _WRAP_METHOD(void drag_dest_add_uri_targets(), gtk_drag_dest_add_uri_targets)
+
+ void drag_source_set(const ArrayHandle_TargetEntry& targets, Gdk::ModifierType start_button_mask = Gdk::MODIFIER_MASK, Gdk::DragAction actions = Gdk::ACTION_COPY);
+ _IGNORE(gtk_drag_source_set)
+
+ _WRAP_METHOD(void drag_source_unset(), gtk_drag_source_unset)
+
+ _WRAP_METHOD(void drag_source_set_icon(const Glib::RefPtr<Gdk::Colormap>& colormap, const Glib::RefPtr<Gdk::Pixmap>& pixmap, const Glib::RefPtr<Gdk::Bitmap>& mask), gtk_drag_source_set_icon)
+ _WRAP_METHOD(void drag_source_set_icon(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf), gtk_drag_source_set_icon_pixbuf)
+ _WRAP_METHOD(void drag_source_set_icon(const StockID& stock_id), gtk_drag_source_set_icon_stock)
+ _WRAP_METHOD(void drag_source_set_icon(const Glib::ustring& icon_name), gtk_drag_source_set_icon_name)
+
+ _WRAP_METHOD(void drag_source_add_text_targets(), gtk_drag_source_add_text_targets)
+ _WRAP_METHOD(void drag_source_add_uri_targets(), gtk_drag_source_add_uri_targets)
+ _WRAP_METHOD(void drag_source_add_image_targets(), gtk_drag_source_add_image_targets)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::DragContext> drag_begin(const Glib::RefPtr<TargetList>& targets, Gdk::DragAction actions, int button, GdkEvent* event), gtk_drag_begin, refreturn)
+ _WRAP_METHOD(bool drag_check_threshold(int start_x, int start_y, int current_x, int current_y), gtk_drag_check_threshold)
+ _IGNORE(_gtk_drag_source_handle_event, _gtk_drag_dest_handle_event)
+
+ //These should be a method of Gdk::DragContext, but gdkmm can't depend on gtkmm.
+ static Widget* drag_get_source_widget(const Glib::RefPtr<Gdk::DragContext>& context);
+ void drag_set_as_icon(const Glib::RefPtr<Gdk::DragContext>& context, int hot_x, int hot_y);
+
+
+
+ _WRAP_METHOD(void queue_resize_no_redraw(), gtk_widget_queue_resize_no_redraw)
+ _WRAP_METHOD(bool get_no_show_all() const, gtk_widget_get_no_show_all)
+ _WRAP_METHOD(void set_no_show_all(bool no_show_all = true), gtk_widget_set_no_show_all)
+
+ //Used when implementing containers:
+ _WRAP_METHOD(void set_parent(Widget& parent), gtk_widget_set_parent)
+ _WRAP_METHOD(void unparent(), gtk_widget_unparent)
+
+ //TODO: When exactly do we need to custom containers need to call map() on the child widgets?
+ //Most containers that derive from GtkContainer do not need to, but GtkNotebook does.
+ _WRAP_METHOD(void map(), gtk_widget_map)
+ _WRAP_METHOD(void unmap(), gtk_widget_unmap)
+
+ //TODO: The drawable should be passed by reference, when we can break API/ABI, but it's not the end of the world. murrayc.
+ void draw_insertion_cursor(Glib::RefPtr<Gdk::Drawable> drawable, const Gdk::Rectangle& area, const Gdk::Rectangle& location, bool is_primary, TextDirection direction, bool draw_arrow = true);
+ _IGNORE(gtk_draw_insertion_cursor)
+
+ // Gtk+ 2.12 tooltip API
+ _WRAP_METHOD(void set_tooltip_window(Window& widget), gtk_widget_set_tooltip_window)
+ _WRAP_METHOD(Window* get_tooltip_window(), gtk_widget_get_tooltip_window)
+ _WRAP_METHOD(void trigger_tooltip_query(), gtk_widget_trigger_tooltip_query)
+ _WRAP_METHOD(void set_tooltip_text(const Glib::ustring& text), gtk_widget_set_tooltip_text)
+ _WRAP_METHOD(Glib::ustring get_tooltip_text() const, gtk_widget_get_tooltip_text)
+ _WRAP_METHOD(void set_tooltip_markup(const Glib::ustring& markup), gtk_widget_set_tooltip_markup)
+ _WRAP_METHOD(Glib::ustring get_tooltip_markup() const, gtk_widget_get_tooltip_markup)
+ _WRAP_METHOD(void set_has_tooltip(bool has_tooltip = TRUE), gtk_widget_set_has_tooltip)
+ _WRAP_METHOD(bool get_has_tooltip() const, gtk_widget_get_has_tooltip)
+
+ /* FLAGS */
+
+ //: Returns property {flags.toplevel}.
+ bool is_toplevel() const;
+
+ //: Returns property {flags.nowindow}.
+ bool has_no_window() const;
+
+ //: Returns property {flags.realized}.
+ bool is_realized() const;
+
+ //: Returns property {flags.mapped}.
+ bool is_mapped() const;
+
+ //: Returns property {flags.visible}.
+ bool is_visible() const;
+
+ //: Returns if the widget is ready to be drawn to.
+ // Checks to see if the widget is both visible and mapped which
+ // makes it possible to perform drawing commands on.
+ bool is_drawable() const;
+
+ //: Returns property {flags.sensitive}. You might want to check
+ // is_sensitive instead.
+ bool sensitive() const;
+
+ bool parent_sensitive() const;
+ bool is_sensitive() const;
+ bool can_focus() const;
+ bool has_focus() const;
+ bool can_default() const;
+ bool has_default() const;
+ bool has_grab() const;
+ bool rc_style() const;
+ bool is_composite_child() const;
+ bool app_paintable() const;
+ bool receives_default() const;
+ bool double_buffered() const;
+
+ WidgetFlags get_flags() const;
+ void set_flags(WidgetFlags flags);
+ void unset_flags(WidgetFlags flags);
+
+ int get_width() const;
+ int get_height() const;
+
+ _WRAP_METHOD(bool is_composited() const, gtk_widget_is_composited)
+
+ //From gtkaction.h:
+ _WRAP_METHOD(Glib::RefPtr<Action> get_action(), gtk_widget_get_action, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Action> get_action() const, gtk_widget_get_action, refreturn, constversion)
+
+ _MEMBER_GET(state, state, Gtk::StateType, guint8)
+ _MEMBER_GET(saved_state, saved_state, Gtk::StateType, guint8)
+ _MEMBER_GET(requisition, requisition, Requisition, GtkRequisition)
+ _MEMBER_GET(allocation, allocation, Allocation, GtkAllocation)
+ _MEMBER_GET_GOBJECT(window, window, Gdk::Window, GdkWindow*)
+
+
+ _WRAP_SIGNAL(void show(),"show")
+ _WRAP_SIGNAL(void hide(),"hide")
+
+ //: Emitted on mapping of a widget to the screen.
+ //- See {flags.mapped}.
+ _WRAP_SIGNAL(void map(),"map")
+
+ //- See {flags.mapped}.
+ _WRAP_SIGNAL(void unmap(),"unmap")
+
+ //: Emitted on realization of a widget.
+ //- See {flags.realized}. This is also responsible for
+ //- setting {flags.realized} when it is done. Therefore,
+ //- when overriding the impl method, you should call the
+ //- default realize method.
+ _WRAP_SIGNAL(void realize(),"realize")
+
+ //- See {flags.realized}. This should not be called by the user.
+ //_WRAP(meth|sig|impl,void unrealize_(),gtk_widget_unrealize,"unrealize")
+ _WRAP_SIGNAL(void unrealize(),"unrealize")
+
+ _WRAP_SIGNAL(void size_request(Requisition* requisition), "size_request")
+ _WRAP_SIGNAL(void size_allocate(Allocation& allocation), "size_allocate")
+
+// Changed signals -- inform widget of internal changes.
+// We rename parent_set => parent_changed
+// and style_set => style_changed
+// to avoid confusion with set_parent and set_style.
+
+ _WRAP_SIGNAL(void state_changed(Gtk::StateType previous_state), "state_changed")
+
+ //: Informs objects that their parent changed.
+ //- The widget passed is the former parent, which may be 0 if
+ //- there was no parent. (was parent_set in GTK+)
+ _WRAP_SIGNAL(void parent_changed(Widget* previous_parent), "parent_set")
+
+ _WRAP_SIGNAL(void hierarchy_changed(Widget* previous_toplevel), "hierarchy_changed")
+
+//Note: We use Gtk::Style instead of Style here, to fix a build problem on MacOS X
+//that we don't fully understand. See bug #493057.
+#m4 _CONVERSION(`GtkStyle*',`const Glib::RefPtr<Gtk::Style>&',`Glib::wrap($3, true)')
+#m4 _CONVERSION(`const Glib::RefPtr<Gtk::Style>&',`GtkStyle*',__CONVERT_REFPTR_TO_P)
+ /** The style-set signal is emitted when a new style has been set
+ * on a widget. Note that style-modifying functions like
+ * modify_base() also cause this signal to be emitted.
+ *
+ * @param previous_style the previous style, or an empty RefPtr if the widget
+ * just got its initial style.
+ */
+ _WRAP_SIGNAL(void style_changed(const Glib::RefPtr<Gtk::Style>& previous_style), "style_set")
+
+ _WRAP_SIGNAL(void direction_changed(TextDirection direction), "direction_changed")
+
+ _WRAP_SIGNAL(void grab_notify(bool was_grabbed), "grab_notify")
+
+ /** The ::child-notify signal is emitted for each child property that has
+ * changed on an object. The signal's detail holds the property name.
+ *
+ * @param pspec The GParamSpec of the changed child property.
+ */
+ _WRAP_SIGNAL(void child_notify(GParamSpec* pspec), "child_notify")
+
+ //_WRAP_SIGNAL(void add_accelerator(guint, GtkAccelGroup*, guint accel_key, Gdk::ModifierType, AccelFlags), "add-accelerator")
+ //_WRAP_SIGNAL(void remove_accelerator(GtkAccelGroup* accel_group, guint, Gdk::ModifierType), "remove-accelerator")
+ _WRAP_SIGNAL(bool mnemonic_activate(bool group_cycling), "mnemonic_activate")
+ _WRAP_SIGNAL(void grab_focus(), "grab_focus")
+ _WRAP_SIGNAL(bool focus(DirectionType direction), "focus")
+ _WRAP_SIGNAL(bool event(GdkEvent* event), "event")
+ _WRAP_SIGNAL(void event_after(GdkEvent* event), "event_after", no_default_handler)
+
+ //: Event triggered by user pressing button.
+ _WRAP_SIGNAL(bool button_press_event(GdkEventButton* event),"button_press_event")
+
+ //: Event triggered by user releasing button.
+ _WRAP_SIGNAL(bool button_release_event(GdkEventButton* event), "button_release_event")
+
+ _WRAP_SIGNAL(bool scroll_event(GdkEventScroll* event), "scroll_event")
+
+ //: Event triggered by user moving pointer.
+ _WRAP_SIGNAL(bool motion_notify_event(GdkEventMotion* event), "motion_notify_event")
+
+ /** The delete_event signal is emitted if a user requests that
+ * a toplevel window is closed. The default handler for this signal
+ * hides the window.
+ *
+ * @param event the event which triggered this signal.
+ * @result true to stop other handlers from being invoked for the event,
+ * or false to propagate the event. further.
+ */
+ _WRAP_SIGNAL(bool delete_event(GdkEventAny* event), "delete_event")
+
+#m4begin
+dnl// Hook in special code to catch explicit uses of gtk_object_destroy() by
+dnl// GTK+ code, e.g. when receiving the GDK_DELETE event. For details, look
+dnl// at Gtk::Widget_Class::dispose_vfunc_callback() in widget.ccg.
+dnl
+ _PUSH(SECTION_PCC_CLASS_INIT_VFUNCS)
+#endif //GLIBMM_VFUNCS_ENABLED //We always need dispose_vfunc_callback
+ reinterpret_cast<GObjectClass*>(klass)->dispose = &dispose_vfunc_callback;
+#ifdef GLIBMM_VFUNCS_ENABLED
+ _SECTION(SECTION_PH_VFUNCS)
+#endif //GLIBMM_VFUNCS_ENABLED //We always need dispose_vfunc_callback
+ static void dispose_vfunc_callback(GObject* self);
+#ifdef GLIBMM_VFUNCS_ENABLED
+ _POP()
+#m4end
+
+ //: Event triggered by window requiring a refresh.
+ //- Expose events cover a rectangular area that was covered
+ //- or obscured by another window. That area is now exposed
+ //- and thus is needs to be redrawn.
+ //-
+ //- If the application is not capable of redrawing sections
+ //- it should watch the count field and only draw on the last
+ //- even indicated. This is important for things such as
+ //- Gtk::DrawingArea.
+ _WRAP_SIGNAL(bool expose_event(GdkEventExpose* event), "expose_event")
+
+ //: Event triggered by a key press will widget has focus.
+ _WRAP_SIGNAL(bool key_press_event(GdkEventKey* event), "key_press_event")
+
+ //: Event triggered by a key release will widget has focus.
+ _WRAP_SIGNAL(bool key_release_event(GdkEventKey* event), "key_release_event")
+
+ //: Event triggered by pointer entering widget area.
+ _WRAP_SIGNAL(bool enter_notify_event(GdkEventCrossing* event), "enter_notify_event")
+
+ //: Event triggered by pointer leaving widget area.
+ _WRAP_SIGNAL(bool leave_notify_event(GdkEventCrossing* event), "leave_notify_event")
+
+ //: Event triggered by a window resizing.
+ _WRAP_SIGNAL(bool configure_event(GdkEventConfigure* event), "configure_event")
+ _WRAP_SIGNAL(bool focus_in_event(GdkEventFocus* event), "focus_in_event")
+ _WRAP_SIGNAL(bool focus_out_event(GdkEventFocus* event), "focus_out_event")
+ _WRAP_SIGNAL(bool map_event(GdkEventAny* event), "map_event")
+ _WRAP_SIGNAL(bool unmap_event(GdkEventAny* event), "unmap_event")
+ _WRAP_SIGNAL(bool property_notify_event(GdkEventProperty* event), "property_notify_event")
+ _WRAP_SIGNAL(bool selection_clear_event(GdkEventSelection* event), "selection_clear_event")
+ _WRAP_SIGNAL(bool selection_request_event(GdkEventSelection* event), "selection_request_event")
+ _WRAP_SIGNAL(bool selection_notify_event(GdkEventSelection* event), "selection_notify_event")
+ _WRAP_SIGNAL(bool proximity_in_event(GdkEventProximity* event), "proximity_in_event")
+ _WRAP_SIGNAL(bool proximity_out_event(GdkEventProximity* event), "proximity_out_event")
+ _WRAP_SIGNAL(bool visibility_notify_event(GdkEventVisibility* event), "visibility_notify_event")
+ _WRAP_SIGNAL(bool client_event(GdkEventClient* event), "client_event")
+ _WRAP_SIGNAL(bool no_expose_event(GdkEventAny* event), "no_expose_event")
+ _WRAP_SIGNAL(bool window_state_event(GdkEventWindowState* event), "window_state_event")
+
+ //We use the optional custom_c_callback parameter with _WRAP_SIGNAL() for some of these,
+ //so that we can write special code to wrap the non-const SelectionData& output parameters:
+ _WRAP_SIGNAL(void selection_get(SelectionData& selection_data, guint info, guint time), "selection_get", custom_c_callback)
+ _WRAP_SIGNAL(void selection_received(const SelectionData& selection_data, guint time), "selection_received")
+
+#m4 _CONVERSION(`GdkDragContext*',`const Glib::RefPtr<Gdk::DragContext>&',Glib::wrap($3, true))
+
+ /** The drag_begin signal is emitted on the drag source when a drag is started.
+ * A typical reason to connect to this signal is to set up a custom drag icon with
+ * drag_source_set_icon().
+ *
+ * @param context the drag context
+ */
+ _WRAP_SIGNAL(void drag_begin(const Glib::RefPtr<Gdk::DragContext>& context), "drag_begin")
+
+ /** The drag_end signal is emitted on the drag source when a drag is finished.
+ * A typical reason to connect to this signal is to undo things done in the drag-begin
+ * signal handler.
+ *
+ * @param context the drag context.
+ */
+ _WRAP_SIGNAL(void drag_end(const Glib::RefPtr<Gdk::DragContext>& context), "drag_end")
+
+ /** The drag_data_get signal is emitted on the drag source when the drop site requests
+ * the data which is dragged. It is the responsibility of the signal handler to fill @a data
+ * with the data in the format which is indicated by @a info. See SelectionData::set() and
+ * SelectionData::set_text().
+ *
+ * @param context: the drag context.
+ * @param selection_data the SelectionData to be filled with the dragged data.
+ * @param info the info that has been registered with the target in the TargetList.
+ * @param time the timestamp at which the data was requested.
+ */
+ _WRAP_SIGNAL(void drag_data_get(const Glib::RefPtr<Gdk::DragContext>& context, SelectionData& selection_data, guint info, guint time), "drag_data_get", custom_c_callback)
+
+ /** The drag_data_delete signal is emitted on the drag source when a drag with the action
+ * Gdk::ACTION_MOVE is successfully completed. The signal handler is responsible for deleting
+ * the data that has been dropped. What "delete" means, depends on the context of the drag
+ * operation.
+ *
+ * @param context the drag context.
+ */
+ _WRAP_SIGNAL(void drag_data_delete(const Glib::RefPtr<Gdk::DragContext>& context), "drag_data_delete")
+
+ //TODO: Check the parameters: _WRAP_SIGNAL(bool drag_failed(const Glib::RefPtr<Gdk::DragContext>& context), "drag_failed")
+
+ /** The drag_leave signal is emitted on the drop site when the cursor leaves the widget.
+ * A typical reason to connect to this signal is to undo things done in the drag_motion signal handler,
+ * e.g. undo highlighting with drag_unhighlight().
+ *
+ * @param context the drag context.
+ * @param time the timestamp of the motion event.
+ */
+ _WRAP_SIGNAL(void drag_leave(const Glib::RefPtr<Gdk::DragContext>& context, guint time), "drag_leave")
+
+ /** The drag_motion signal is emitted on the drop site when the user moves the cursor over
+ * the widget during a drag. The signal handler must determine whether the cursor position is in
+ * a drop zone or not. If it is not in a drop zone, it returns false and no further processing is
+ * necessary. Otherwise, the handler returns true. In this case, the handler is responsible for
+ * providing the necessary information for displaying feedback to the user, by calling
+ * drag_status(). If the decision whether the drop will be accepted or rejected can't be made
+ * based solely on the cursor position and the type of the data, the handler may inspect the dragged
+ * data by calling drag_get_data() and defer the drag_status() call to the drag_data_received
+ * handler.
+ *
+ * Note that there is no drag_enter signal. The drag receiver has to keep track of whether
+ * he has received any drag_motion signals since the last drag_leave and if not, treat the
+ * drag_motion signal as an "enter" signal. Upon an "enter", the handler will typically highlight
+ * the drop site with drag_highlight().
+ *
+ * @param context the drag context.
+ * @param x the x coordinate of the current cursor position.
+ * @param y the y coordinate of the current cursor position.
+ * @param time the timestamp of the motion event.
+ * @result whether the cursor position is in a drop zone.
+ */
+ _WRAP_SIGNAL(bool drag_motion(const Glib::RefPtr<Gdk::DragContext>& context, int x, int y, guint time), "drag_motion")
+
+ /** The drag_drop signal is emitted on the drop site when the user drops the data
+ * onto the widget. The signal handler must determine whether the cursor position is in
+ * a drop zone or not. If it is not in a drop zone, it returns false and no further
+ * processing is necessary. Otherwise, the handler returns true. In this case, the handler
+ * must ensure that gtk_drag_finish() is called to let the source know that the drop is done.
+ * The call to gtk_drag_finish() can be done either directly or in a drag_data_received handler
+ * which gets triggered by calling drop_get_data() to receive the data for one or more of the
+ * supported targets.
+ *
+ * @param context the drag context.
+ * @param x the x coordinate of the current cursor position.
+ * @param y the y coordinate of the current cursor position.
+ * @param time: the timestamp of the motion event.
+ * @result whether the cursor position is in a drop zone
+ */
+ _WRAP_SIGNAL(bool drag_drop(const Glib::RefPtr<Gdk::DragContext>& context, int x, int y, guint time), "drag_drop")
+
+
+ /** The drag_data_received signal is emitted on the drop site when the dragged data has been
+ * received. If the data was received in order to determine whether the drop will be accepted,
+ * the handler is expected to call drag_status() and <emphasis>not</emphasis> finish the drag.
+ * If the data was received in response to a drag_drop signal (and this is the last target to be
+ * received), the handler for this signal is expected to process the received data and then call
+ * drag_finish(), setting the @a success parameter depending on whether the data was processed
+ * successfully.
+ *
+ * The handler may inspect and modify @drag_context->action before calling gtk_drag_finish(),
+ * e.g. to implement %Gdk::ACTION_ASK.
+ *
+ * @param drag_context the drag context
+ * @param x where the drop happened
+ * @param y where the drop happened
+ * @param data the received data
+ * @param info the info that has been registered with the target in the TargetList.
+ * @param time the timestamp at which the data was received.
+ */
+ _WRAP_SIGNAL(void drag_data_received(const Glib::RefPtr<Gdk::DragContext>& context, int x, int y, const SelectionData& selection_data, guint info, guint time), "drag_data_received")
+
+ //Note that the deprecated keyword has no effect on _WRAP_SIGNAL() yet.
+ //It doesn't seem like a good idea to put virtual functions in #ifdefs, because that would change the size of the class instances.
+ /** @deprecated This should never have been in the API. It was never meaningful.
+ */
+ _WRAP_SIGNAL(Glib::RefPtr<Atk::Object> get_accessible(), "get_accessible", ifdef GTKMM_ATKMM_ENABLED, refreturn, deprecated)
+
+ _WRAP_SIGNAL(void screen_changed(const Glib::RefPtr<Gdk::Screen>& previous_screen), "screen_changed")
+
+ _WRAP_SIGNAL(void composited_changed(), "composited_changed", no_default_handler)
+
+//TODO: The signal_id is very C-like here:
+ //_WRAP_SIGNAL(bool can_activate_accel(guint signal_id), "can_activate_accel")
+
+ //Keybinding signals:
+ _IGNORE_SIGNAL("popup_menu") //TODO: This might actually be useful. See the C docs.
+ _IGNORE_SIGNAL("show_help")
+ _IGNORE_SIGNAL("keynav_failed")
+
+ _IGNORE_SIGNAL("destroy-event")
+
+ // Tooltip signal
+ _WRAP_SIGNAL(bool query_tooltip(int x, int y, bool keyboard_tooltip, const Glib::RefPtr<Tooltip>& tooltip), "query_tooltip", no_default_handler)
+
+ //TODO: Wrap this (added in GTK+ 2.8 but forgotten): _WRAP_SIGNAL(bool grab_broken_event(GdkEventGrabBroken* event), "grab_broken_event", no_default_handler)
+
+ _WRAP_PROPERTY("name", Glib::ustring)
+ _WRAP_PROPERTY("parent", Container*)
+ _WRAP_PROPERTY("width_request", int)
+ _WRAP_PROPERTY("height_request", int)
+ _WRAP_PROPERTY("visible", bool)
+ _WRAP_PROPERTY("sensitive", bool)
+ _WRAP_PROPERTY("app_paintable", bool)
+ _WRAP_PROPERTY("can_focus", bool)
+ _WRAP_PROPERTY("has_focus", bool)
+ _WRAP_PROPERTY("can_default", bool)
+ _WRAP_PROPERTY("has_default", bool)
+ _WRAP_PROPERTY("receives_default", bool)
+ _WRAP_PROPERTY("composite_child", bool)
+ _WRAP_PROPERTY("style", Glib::RefPtr<Style>)
+ _WRAP_PROPERTY("events", Gdk::EventMask)
+ _WRAP_PROPERTY("extension_events", Gdk::ExtensionMode)
+ _WRAP_PROPERTY("has_tooltip", bool)
+ _WRAP_PROPERTY("tooltip_markup", Glib::ustring)
+ _WRAP_PROPERTY("tooltip_text", Glib::ustring)
+
+protected:
+ //comment in GTK+ header: "seldomly overidden"
+ _WRAP_VFUNC(void dispatch_child_properties_changed(guint, GParamSpec**), "dispatch_child_properties_changed")
+
+ _WRAP_VFUNC(void show_all(), "show_all")
+ _WRAP_VFUNC(void hide_all(), "hide_all")
+
+ _WRAP_VFUNC(Glib::RefPtr<Atk::Object> get_accessible(), "get_accessible", refreturn, ifdef GTKMM_ATKMM_ENABLED)
+
+protected:
+ _CTOR_DEFAULT()
+
+ _WRAP_METHOD(void realize(), gtk_widget_realize)
+ _WRAP_METHOD(void unrealize(), gtk_widget_unrealize)
+
+ _WRAP_METHOD(void get_child_requisition(Requisition& requisition) const, gtk_widget_get_child_requisition)
+
+ //The parameter name is "the_property_name" to avoid a warning because there is a method with the "property_name" name.
+ _WRAP_METHOD(void get_style_property_value(
+ const Glib::ustring& the_property_name, Glib::ValueBase& value) const,
+ gtk_widget_style_get_property)
+
+ void realize_if_needed();
+
+ _MEMBER_SET(allocation, allocation, Allocation, GtkAllocation)
+ _MEMBER_SET_GOBJECT(window, window, Gdk::Window, GdkWindow*)
+
+#m4begin
+dnl// Hook in custom hierarchy_changed callback.
+dnl// It will use the generated callback.
+dnl
+ _PUSH(SECTION_PCC_CLASS_INIT_DEFAULT_SIGNAL_HANDLERS)
+ klass->hierarchy_changed = &hierarchy_changed_callback_custom;
+ _SECTION(SECTION_PH_DEFAULT_SIGNAL_HANDLERS)
+ static void hierarchy_changed_callback_custom(GtkWidget* self, GtkWidget* p0);
+ _POP()
+#m4end
+
+#m4begin
+dnl// Hook in custom hierarchy_changed callback.
+dnl// It will use the generated callback.
+dnl
+ _PUSH(SECTION_PCC_CLASS_INIT_DEFAULT_SIGNAL_HANDLERS)
+ klass->parent_set = &parent_set_callback_custom;
+ _SECTION(SECTION_PH_DEFAULT_SIGNAL_HANDLERS)
+ static void parent_set_callback_custom(GtkWidget* self, GtkWidget* p0);
+ _POP()
+#m4end
+
+};
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+//The parameter name is "the_property_name" to avoid a warning because there is a method with the "property_name" name.
+template <class PropertyType>
+void Widget::get_style_property(const Glib::ustring& the_property_name, PropertyType& value) const
+{
+ Glib::Value<PropertyType> property_value;
+ property_value.init(Glib::Value<PropertyType>::value_type());
+
+ this->get_style_property_value(the_property_name, property_value);
+
+ value = property_value.get();
+}
+
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/gtk/src/window.ccg b/libs/gtkmm2/gtk/src/window.ccg
new file mode 100644
index 0000000000..ff083d9850
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/window.ccg
@@ -0,0 +1,206 @@
+// -*- c++ -*-
+/* $Id: window.ccg,v 1.5 2006/05/10 20:59:28 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtkmm/accelgroup.h>
+#include <gdkmm/cursor.h>
+#include <gtk/gtkwindow.h>
+
+
+namespace Gtk
+{
+
+Glib::RefPtr<AccelGroup> Window::get_accel_group()
+{
+ //There doesn't seem to be any gtk_window_get_accel_group().
+ //I think that you're supposed to remember what you added yourself.
+ //And that's what we do here.
+
+ if(!accel_group_)
+ {
+ accel_group_ = AccelGroup::create();
+ add_accel_group(accel_group_);
+ }
+
+ return accel_group_;
+}
+
+bool Window::is_toplevel() const
+{
+ return gobj()->type == GTK_WINDOW_TOPLEVEL;
+}
+
+bool Window::is_popup() const
+{
+ return gobj()->type == GTK_WINDOW_POPUP;
+}
+
+void Window::raise()
+{
+ get_window()->raise();
+}
+
+void Window::set_manage()
+{
+ g_warning("gtkmm: Attempt to call Gtk::manage() on a Gtk::Window, but a Gtk::Window has no parent container to manage its lifetime.\n");
+}
+
+void Window::destroy_()
+{
+ //Called from destructors.
+ //overridden so that the correct _destroy_c_instance() ends up being called by the destructor.
+
+ //GTKMM_LIFECYCLE
+
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Gtk::Window::destroy_(): gobject_: %10X\n", gobject_);
+ if(gobject_)
+ g_warning(" gtypename: %s\n", G_OBJECT_TYPE_NAME(gobject_));
+ #endif
+
+ if ( !cpp_destruction_in_progress_ ) //see comment below.
+ {
+ //Prevent destroy_notify_() from running as a possible side-effect of gtk_object_destroy.
+ //We can't predict whether destroy_notify_() will really be run, so we'll disconnect the C++ instance here.
+ cpp_destruction_in_progress_ = true;
+
+ //destroy the C instance:
+ _destroy_c_instance();
+ }
+
+ //The C++ destructor will be reached later. This function was called by a destructor.
+}
+
+void Window::_destroy_c_instance()
+{
+ //We override this,
+ //because though top-level windows can only be destroyed with gtk_widget_destroy, according to Owen Taylor. murrayc.
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Gtk::Window::_destroy_c_instance() gobject_=%10X\n", gobject_);
+ #endif
+
+ cpp_destruction_in_progress_ = true;
+
+ // remove our hook.
+ GtkObject* object = (GtkObject*)gobj();
+ if (object)
+ {
+ disconnect_cpp_wrapper();
+ //If we are killing the C++ instance before the C instance, then this might lead to strange behaviour.
+ //If this is a problem, then you'll have to use a managed() object, which will die only upon GTK+'s request.
+
+ //We can't do anything with the gobject_ if it's already been disposed.
+ //This prevents us from unref-ing it again, or destroying it again after GTK+ has told us that it has been disposed.
+ if (!gobject_disposed_)
+ {
+ //Windows can not be unrefed. They are "self-owning".
+ gtk_object_destroy(object);
+ }
+
+ //Glib::Object::~Object() will not g_object_unref() it too. because gobject_ is now 0.
+ }
+}
+
+void Window_Class::dispose_vfunc_callback(GObject* self)
+{
+ //Avoid disposal of Windows on delete_event (window close) signal.
+
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Window_Class::dispose_vfunc_callback(): gobject_: %p\n", (void*)self);
+ #endif
+
+ Widget *const obj = dynamic_cast<Widget*>(
+ Glib::ObjectBase::_get_current_wrapper(self));
+
+ // This function might be invoked recursively because we're triggering
+ // several signal emissions, particularly signal_hide(). Therefore we
+ // have to test for cpp_destruction_in_progress_ at this point.
+
+ if(obj && !obj->_cpp_destruction_is_in_progress()) //When it should really be destroyed, we zero gobj_.
+ {
+ GtkWidget* const pWidget = obj->gobj();
+ g_return_if_fail(pWidget == GTK_WIDGET(self));
+
+ // Abort dispose if the widget isn't managed, in order to prevent
+ // the nasty self-destroying behaviour of GTK+. This applies to:
+ //
+ // - GtkWindow, if it received "delete_event"
+ // - GtkDialog, which destroys on "response" by default
+
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Window_Class::dispose_vfunc_callback(): before gtk_widget_hide().");
+ #endif
+
+ // Now hide the widget. The C++ object must _not_ be accessed anymore
+ // after this call, because a signal_hide() handler might delete it.
+ gtk_widget_hide(pWidget);
+
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Window_Class::dispose_vfunc_callback(): after gtk_widget_hide().");
+ #endif
+
+ // GTKMM_LIFECYCLE
+ return; // Prevent calling of normal C dispose vfunc (see below)
+ }
+ else
+ {
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ //g_warning("Window_Class::dispose_vfunc_callback(): unreferenced: before gtk_widget_hide().");
+ #endif
+
+ // Always hide widgets on gtk_object_destroy(), regardless of whether
+ // the widget is managed or not. This is done for consistency so that
+ // connecting to signal_hide() is guaranteed to work.
+ //gtk_widget_hide(pWidget);
+
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ //g_warning("Window_Class::dispose_vfunc_callback(): unreferenced: after gtk_widget_hide().");
+ #endif
+
+ GObjectClass *const base = static_cast<GObjectClass*>(
+ g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)));
+
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Window_Class::dispose_vfunc_callback(): before calling base->dispose.");
+ #endif
+
+ if(base->dispose)
+ (*base->dispose)(self);
+
+ #ifdef GLIBMM_DEBUG_REFCOUNTING
+ g_warning("Window_Class::dispose_vfunc_callback(): after calling base->dispose.");
+ #endif
+ }
+}
+
+void Window::unset_focus()
+{
+ gtk_window_set_focus(gobj(), 0 /* See GTK+ docs */);
+}
+
+void Window::unset_default()
+{
+ gtk_window_set_default(gobj(), 0 /* See GTK+ docs */);
+}
+
+} // namespace Gtk
+
+
diff --git a/libs/gtkmm2/gtk/src/window.hg b/libs/gtkmm2/gtk/src/window.hg
new file mode 100644
index 0000000000..4b50cca79e
--- /dev/null
+++ b/libs/gtkmm2/gtk/src/window.hg
@@ -0,0 +1,368 @@
+/* $Id: window.hg,v 1.20 2006/05/10 20:59:28 murrayc Exp $ */
+
+/* window.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/object.h>
+#include <glibmm/listhandle.h>
+#include <gtkmm/bin.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/bin_p.h)
+
+namespace Gtk
+{
+
+class AccelGroup;
+class WindowGroup;
+
+/** Limit the effect of grabs
+ */
+class WindowGroup : public Glib::Object
+{
+ _CLASS_GOBJECT(WindowGroup, GtkWindowGroup, GTK_WINDOW_GROUP, Glib::Object, GObject)
+
+protected:
+ _CTOR_DEFAULT()
+
+public:
+ _WRAP_CREATE()
+
+ _WRAP_METHOD(void add_window(Window& window), gtk_window_group_add_window)
+ _WRAP_METHOD(void remove_window(Window& window), gtk_window_group_remove_window)
+};
+
+/** Toplevel Window
+ * This represents all widgets which are physical windows controlled
+ * by the window manager.
+ *
+ * The window will be hidden when the window manager's close button is clicked. Override on_delete_event() to stop this.
+ *
+ * Gtk::manage() has no effect on Windows because they have no parent Containers.
+ * @ingroup Widgets
+ */
+class Window : public Bin
+{
+ _CLASS_GTKOBJECT(Window,GtkWindow,GTK_WINDOW,Gtk::Bin,GtkBin)
+ _UNMANAGEABLE
+ _IGNORE(_gtk_window_internal_set_focus, _gtk_window_reposition, _gtk_window_constrain_size, gtk_window_remove_embedded_xid,
+ _gtk_window_get_group, _gtk_window_activate_key, gtk_window_add_embedded_xid, _gtk_window_keys_foreach)
+public:
+ _WRAP_CTOR(Window(WindowType type = WINDOW_TOPLEVEL), gtk_window_new)
+
+ _WRAP_PROPERTY("title", Glib::ustring)
+ _WRAP_PROPERTY("allow_shrink", bool)
+ _WRAP_PROPERTY("allow_grow", bool)
+ _WRAP_PROPERTY("resizable", bool)
+ _WRAP_PROPERTY("modal", bool)
+ _WRAP_PROPERTY("window_position", WindowPosition)
+ _WRAP_PROPERTY("default_width", int)
+ _WRAP_PROPERTY("default_height", int)
+ _WRAP_PROPERTY("destroy_with_parent", bool)
+ _WRAP_PROPERTY("icon", Glib::RefPtr<Gdk::Pixbuf>)
+
+ _WRAP_PROPERTY("screen", Glib::RefPtr<Gdk::Screen>)
+ _WRAP_PROPERTY("is_active", bool)
+ _WRAP_PROPERTY("has_toplevel_focus", bool)
+ _WRAP_PROPERTY("type_hint", GdkWindowTypeHint)
+ _WRAP_PROPERTY("skip_taskbar_hint", bool)
+ _WRAP_PROPERTY("skip_pager_hint", bool)
+ _WRAP_PROPERTY("role", Glib::ustring)
+ _WRAP_PROPERTY("decorated", bool)
+ _WRAP_PROPERTY("gravity", Gdk::Gravity)
+ _WRAP_PROPERTY("transient_for", Window*)
+ _WRAP_PROPERTY("urgency_hint", bool)
+ _WRAP_PROPERTY("deletable", bool)
+ _WRAP_PROPERTY("opacity", double)
+
+ bool is_toplevel() const;
+ bool is_dialog() const;
+ bool is_popup() const;
+
+ _MEMBER_GET(window_type, type, WindowType, guint)
+
+ //: This is special to the GTK+ linux-fb port.
+ _MEMBER_GET_GOBJECT(frame, frame, Gdk::Window, GdkWindow*)
+
+
+ _WRAP_SIGNAL(void set_focus(Widget* focus), "set_focus")
+ _WRAP_SIGNAL(bool frame_event(GdkEvent* event), "frame_event")
+
+ //Keybinding signals:
+ _IGNORE_SIGNAL("activate_focus")
+ _IGNORE_SIGNAL("activate_default")
+ _IGNORE_SIGNAL("move_focus")
+
+#m4begin
+dnl// Hook in special code to catch explicit uses of gtk_object_destroy() by
+dnl// GTK+ code, e.g. when receiving the GDK_DELETE event. For details, look
+dnl// at Gtk::Window_Class::dispose_vfunc_callback() in window.ccg.
+dnl
+ _PUSH(SECTION_PCC_CLASS_INIT_VFUNCS)
+#endif //GLIBMM_VFUNCS_ENABLED //We always need dispose_vfunc_callback
+ reinterpret_cast<GObjectClass*>(klass)->dispose = &dispose_vfunc_callback;
+#ifdef GLIBMM_VFUNCS_ENABLED
+ _SECTION(SECTION_PH_VFUNCS)
+#endif //GLIBMM_VFUNCS_ENABLED //We always need dispose_vfunc_callback
+ static void dispose_vfunc_callback(GObject* self);
+#ifdef GLIBMM_VFUNCS_ENABLED
+ _POP()
+#m4end
+
+
+ _WRAP_METHOD(void set_title(const Glib::ustring& title),
+ gtk_window_set_title)
+
+ _WRAP_METHOD(Glib::ustring get_title() const, gtk_window_get_title)
+
+ _WRAP_METHOD(void set_wmclass(const Glib::ustring& wmclass_name,
+ const Glib::ustring& wmclass_class),
+ gtk_window_set_wmclass)
+
+ _WRAP_METHOD(void set_role(const Glib::ustring& role), gtk_window_set_role)
+
+ //: Returns the role of the window.
+ //- See {set_role()} for further explanation.
+ _WRAP_METHOD(Glib::ustring get_role() const, gtk_window_get_role)
+
+
+ _WRAP_METHOD(void add_accel_group(const Glib::RefPtr<AccelGroup>& accel_group),
+ gtk_window_add_accel_group)
+
+ _WRAP_METHOD(void remove_accel_group(const Glib::RefPtr<AccelGroup>& accel_group),
+ gtk_window_remove_accel_group)
+
+ _WRAP_METHOD(void set_position(WindowPosition position),
+ gtk_window_set_position)
+
+ _WRAP_METHOD(bool activate_focus(), gtk_window_activate_focus)
+
+ _WRAP_METHOD(void set_focus(Gtk::Widget& focus), gtk_window_set_focus)
+ void unset_focus();
+
+ _WRAP_METHOD(Widget* get_focus(), gtk_window_get_focus)
+ _WRAP_METHOD(const Widget* get_focus() const, gtk_window_get_focus, constversion)
+ _WRAP_METHOD(void set_default(Gtk::Widget& default_widget), gtk_window_set_default)
+ void unset_default();
+
+ _WRAP_METHOD(bool activate_default(), gtk_window_activate_default)
+
+ _WRAP_METHOD(void set_transient_for(Window& parent), gtk_window_set_transient_for)
+
+ _WRAP_METHOD(Window* get_transient_for(), gtk_window_get_transient_for)
+ _WRAP_METHOD(const Window* get_transient_for() const, gtk_window_get_transient_for, constversion)
+
+ _WRAP_METHOD(void set_opacity(double opacity), gtk_window_set_opacity)
+ _WRAP_METHOD(double get_opacity() const, gtk_window_get_opacity)
+
+ _WRAP_METHOD(void set_type_hint(Gdk::WindowTypeHint hint), gtk_window_set_type_hint)
+ _WRAP_METHOD(Gdk::WindowTypeHint get_type_hint() const, gtk_window_get_type_hint)
+
+ _WRAP_METHOD(void set_skip_taskbar_hint(bool setting = true), gtk_window_set_skip_taskbar_hint)
+ _WRAP_METHOD(bool get_skip_taskbar_hint() const, gtk_window_get_skip_taskbar_hint)
+
+ _WRAP_METHOD(void set_skip_pager_hint(bool setting = true), gtk_window_set_skip_pager_hint)
+ _WRAP_METHOD(bool get_skip_pager_hint() const, gtk_window_get_skip_pager_hint)
+
+ _WRAP_METHOD(void set_urgency_hint(bool setting = true), gtk_window_set_urgency_hint)
+ _WRAP_METHOD(bool get_urgency_hint() const, gtk_window_get_urgency_hint)
+
+ _WRAP_METHOD(void set_accept_focus(bool setting = true), gtk_window_set_accept_focus)
+ _WRAP_METHOD(bool get_accept_focus() const, gtk_window_get_accept_focus)
+ _WRAP_METHOD(void set_focus_on_map(bool setting = true), gtk_window_set_focus_on_map)
+ _WRAP_METHOD(bool get_focus_on_map() const, gtk_window_get_focus_on_map)
+
+ //_WRAP_METHOD(void set_destroy_with_parent(bool setting = true), gtk_window_set_destroy_with_parent)
+ // I don't that that this is ever a good thing for C++.murrayc.
+
+ _WRAP_METHOD(bool get_destroy_with_parent() const, gtk_window_get_destroy_with_parent)
+ // I don't that that this is ever a good thing for C++.murrayc.
+
+ _WRAP_METHOD(void set_resizable(bool resizable = true), gtk_window_set_resizable)
+
+ _WRAP_METHOD(bool get_resizable() const, gtk_window_get_resizable)
+
+ _WRAP_METHOD(void set_gravity(Gdk::Gravity gravity), gtk_window_set_gravity)
+
+ _WRAP_METHOD(Gdk::Gravity get_gravity() const, gtk_window_get_gravity)
+
+ _WRAP_METHOD(void set_geometry_hints(Widget& geometry_widget,
+ const Gdk::Geometry& geometry,
+ Gdk::WindowHints geom_mask),
+ gtk_window_set_geometry_hints)
+
+ _WRAP_METHOD(void set_screen(const Glib::RefPtr<Gdk::Screen>& screen), gtk_window_set_screen)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Screen> get_screen(), gtk_window_get_screen, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Gdk::Screen> get_screen() const, gtk_window_get_screen, refreturn, constversion)
+
+
+ _WRAP_METHOD(void set_has_frame(bool setting = true), gtk_window_set_has_frame)
+
+ _WRAP_METHOD(bool get_has_frame() const, gtk_window_get_has_frame)
+
+ _WRAP_METHOD(void set_frame_dimensions(int left, int top,
+ int right, int bottom),
+ gtk_window_set_frame_dimensions)
+
+ _WRAP_METHOD(void get_frame_dimensions(int& left, int& top,
+ int& right, int& bottom) const,
+ gtk_window_get_frame_dimensions)
+
+ _WRAP_METHOD(void set_decorated(bool setting = true), gtk_window_set_decorated)
+ _WRAP_METHOD(bool get_decorated() const, gtk_window_get_decorated)
+
+ _WRAP_METHOD(void set_deletable(bool setting = true), gtk_window_set_deletable)
+ _WRAP_METHOD(bool get_deletable() const, gtk_window_get_deletable)
+
+ _WRAP_METHOD(Glib::ListHandle< Glib::RefPtr<Gdk::Pixbuf> > get_icon_list(), gtk_window_get_icon_list)
+ _WRAP_METHOD(Glib::ListHandle< Glib::RefPtr<const Gdk::Pixbuf> > get_icon_list() const, gtk_window_get_icon_list)
+
+ _WRAP_METHOD(void set_icon_list(const Glib::ListHandle< Glib::RefPtr<Gdk::Pixbuf> >& list),
+ gtk_window_set_icon_list)
+
+ _WRAP_METHOD(void set_icon(const Glib::RefPtr<Gdk::Pixbuf>& icon),
+ gtk_window_set_icon)
+
+
+ _WRAP_METHOD(bool set_icon_from_file(const std::string& filename), gtk_window_set_icon_from_file, errthrow)
+
+ _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> get_icon(), gtk_window_get_icon, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Gdk::Pixbuf> get_icon() const, gtk_window_get_icon, refreturn, constversion)
+
+ _WRAP_METHOD(static void set_default_icon_list(
+ const Glib::ListHandle< Glib::RefPtr<Gdk::Pixbuf> >& list),
+ gtk_window_set_default_icon_list)
+
+ _WRAP_METHOD(static Glib::ListHandle< Glib::RefPtr<Gdk::Pixbuf> > get_default_icon_list(), gtk_window_get_default_icon_list)
+
+ _WRAP_METHOD(static void set_default_icon(const Glib::RefPtr<Gdk::Pixbuf>& icon), gtk_window_set_default_icon)
+ _WRAP_METHOD(static void set_default_icon_name(const Glib::ustring& name), gtk_window_set_default_icon_name)
+ _WRAP_METHOD(static bool set_default_icon_from_file(const std::string& filename), gtk_window_set_default_icon_from_file, errthrow)
+ _WRAP_METHOD(static void set_auto_startup_notification(bool setting = true), gtk_window_set_auto_startup_notification)
+
+ _WRAP_METHOD(void set_modal(bool modal = true), gtk_window_set_modal)
+
+ _WRAP_METHOD(bool get_modal() const, gtk_window_get_modal)
+
+
+ _WRAP_METHOD(static Glib::ListHandle<Window*> list_toplevels(), gtk_window_list_toplevels)
+
+
+ _WRAP_METHOD(void add_mnemonic(guint keyval, Widget& target),
+ gtk_window_add_mnemonic)
+
+ _WRAP_METHOD(void remove_mnemonic(guint keyval, Widget& target),
+ gtk_window_remove_mnemonic)
+
+ _WRAP_METHOD(bool mnemonic_activate(guint keyval, Gdk::ModifierType modifier),
+ gtk_window_mnemonic_activate)
+
+ _WRAP_METHOD(void set_mnemonic_modifier(Gdk::ModifierType modifier),
+ gtk_window_set_mnemonic_modifier)
+
+ _WRAP_METHOD(Gdk::ModifierType get_mnemonic_modifier(),
+ gtk_window_get_mnemonic_modifier)
+
+
+ _WRAP_METHOD(void present(), gtk_window_present)
+ _WRAP_METHOD(void present(guint32 timestamp), gtk_window_present_with_time)
+
+ _WRAP_METHOD(void iconify(), gtk_window_iconify)
+ _WRAP_METHOD(void deiconify(), gtk_window_deiconify)
+
+ _WRAP_METHOD(void stick(), gtk_window_stick)
+ _WRAP_METHOD(void unstick(), gtk_window_unstick)
+
+ _WRAP_METHOD(void maximize(), gtk_window_maximize)
+ _WRAP_METHOD(void unmaximize(), gtk_window_unmaximize)
+
+ _WRAP_METHOD(void fullscreen(), gtk_window_fullscreen)
+ _WRAP_METHOD(void unfullscreen(), gtk_window_unfullscreen)
+
+ _WRAP_METHOD(void begin_resize_drag(Gdk::WindowEdge edge,
+ int button, int root_x, int root_y, guint32 timestamp),
+ gtk_window_begin_resize_drag)
+
+ _WRAP_METHOD(void begin_move_drag(
+ int button, int root_x, int root_y, guint32 timestamp),
+ gtk_window_begin_move_drag)
+
+ _WRAP_METHOD(void set_default_size(int width, int height),
+ gtk_window_set_default_size)
+
+ _WRAP_METHOD(void get_default_size(int& width, int& height) const,
+ gtk_window_get_default_size)
+
+ _WRAP_METHOD(void resize(int width, int height), gtk_window_resize)
+
+ _WRAP_METHOD(void get_size(int& width, int& height) const,
+ gtk_window_get_size)
+
+
+ _WRAP_METHOD(void move(int x, int y), gtk_window_move)
+
+ _WRAP_METHOD(void get_position(int& root_x, int& root_y) const,
+ gtk_window_get_position)
+
+ _WRAP_METHOD(bool parse_geometry(const Glib::ustring& geometry),
+ gtk_window_parse_geometry)
+
+ _WRAP_METHOD(Glib::RefPtr<WindowGroup> get_group(), gtk_window_get_group, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const WindowGroup> get_group() const, gtk_window_get_group, refreturn, constversion)
+
+ _WRAP_METHOD(void reshow_with_initial_size(),
+ gtk_window_reshow_with_initial_size)
+
+
+ _WRAP_METHOD(void set_keep_above(bool setting = true), gtk_window_set_keep_above)
+ _WRAP_METHOD(void set_keep_below(bool setting = true), gtk_window_set_keep_below)
+
+
+ /** Returns a default accel group for this window
+ * This is a gtkmm-specific function. This accel group can not
+ * be removed.
+ */
+ Glib::RefPtr<AccelGroup> get_accel_group();
+
+ /** Brings the window to the front.
+ * This is just a more obvious convenience wrapper for get_window()->raise().
+ */
+ virtual void raise();
+
+ ///Overriden to warn that it doesn't make sense to use Gtk::manage() on this class because it has no parent container.
+ virtual void set_manage();
+
+protected:
+
+ //See comments in the implementations:
+ void destroy_();
+ void _destroy_c_instance();
+
+private:
+
+ //We'll create an accel_group if it's requested, and remember it.
+ //Otherwise, you'd have to create it, add it to the window, then remember it somewhere else while you add it to other widgets.
+ Glib::RefPtr<AccelGroup> accel_group_;
+};
+
+
+
+} // namespace Gtk
+
diff --git a/libs/gtkmm2/pango/.cvsignore b/libs/gtkmm2/pango/.cvsignore
deleted file mode 100644
index e5d046710f..0000000000
--- a/libs/gtkmm2/pango/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.dylib
diff --git a/libs/gtkmm2/pango/Makefile.am b/libs/gtkmm2/pango/Makefile.am
new file mode 100644
index 0000000000..81d1548de1
--- /dev/null
+++ b/libs/gtkmm2/pango/Makefile.am
@@ -0,0 +1,10 @@
+SUBDIRS = src pangomm
+
+EXTRA_DIST = README pangomm-1.4.pc.in
+
+pangomm_includedir = $(includedir)/pangomm-1.4
+pangomm_include_HEADERS = pangomm.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = pangomm-1.4.pc
+
diff --git a/libs/glibmm2/docs/Makefile.in b/libs/gtkmm2/pango/Makefile.in
index 8009ae3f66..59e5e9af4f 100644
--- a/libs/glibmm2/docs/Makefile.in
+++ b/libs/gtkmm2/pango/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 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.
@@ -14,15 +14,12 @@
@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
+
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -36,50 +33,53 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/docs/Makefile_web.am_fragment
-subdir = docs
+subdir = pango
+DIST_COMMON = README $(pangomm_include_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(srcdir)/pangomm-1.4.pc.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
$(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
-CONFIG_CLEAN_FILES =
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES = pangomm-1.4.pc
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-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 = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(gtkmm_docdir)"
-gtkmm_docDATA_INSTALL = $(INSTALL_DATA)
-DATA = $(gtkmm_doc_DATA)
+am__installdirs = "$(DESTDIR)$(pkgconfigdir)" \
+ "$(DESTDIR)$(pangomm_includedir)"
+pkgconfigDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(pkgconfig_DATA)
+pangomm_includeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(pangomm_include_HEADERS)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -95,37 +95,44 @@ CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
DEPDIR = @DEPDIR@
DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
@@ -133,43 +140,33 @@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@
MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
+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_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -181,41 +178,49 @@ 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@
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@
-SUBDIRS = images reference internal
-EXTRA_DIST = Makefile_web.am_fragment
-gtkmm_doc_DATA =
-web_host = gtkmm.org
-web_path_gtkmm = /home/murrayc/gtkmm.org/docs/glibmm-2.4/
-#web_path_gtkmm = /home/groups/g/gt/gtkmm/htdocs/docs/glibmm-2.4/
-web_path_docs = $(web_path_gtkmm)docs/
-rsync_args = -vz --rsh ssh --delete --delete-after
-gtkmm_docdir = $(datadir)/doc/glibmm-2.4/docs
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = src pangomm
+EXTRA_DIST = README pangomm-1.4.pc.in
+pangomm_includedir = $(includedir)/pangomm-1.4
+pangomm_include_HEADERS = pangomm.h
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = pangomm-1.4.pc
all: all-recursive
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/docs/Makefile_web.am_fragment $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -224,9 +229,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pango/Makefile'; \
cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu docs/Makefile
+ $(AUTOMAKE) --gnu pango/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -244,32 +249,47 @@ $(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
+pangomm-1.4.pc: $(top_builddir)/config.status $(srcdir)/pangomm-1.4.pc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
+install-pkgconfigDATA: $(pkgconfig_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
+ @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+ $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ done
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-gtkmm_docDATA: $(gtkmm_doc_DATA)
+uninstall-pkgconfigDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ done
+install-pangomm_includeHEADERS: $(pangomm_include_HEADERS)
@$(NORMAL_INSTALL)
- test -z "$(gtkmm_docdir)" || $(mkdir_p) "$(DESTDIR)$(gtkmm_docdir)"
- @list='$(gtkmm_doc_DATA)'; for p in $$list; do \
+ test -z "$(pangomm_includedir)" || $(MKDIR_P) "$(DESTDIR)$(pangomm_includedir)"
+ @list='$(pangomm_include_HEADERS)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
- echo " $(gtkmm_docDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(gtkmm_docdir)/$$f'"; \
- $(gtkmm_docDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(gtkmm_docdir)/$$f"; \
+ echo " $(pangomm_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(pangomm_includedir)/$$f'"; \
+ $(pangomm_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(pangomm_includedir)/$$f"; \
done
-uninstall-gtkmm_docDATA:
+uninstall-pangomm_includeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(gtkmm_doc_DATA)'; for p in $$list; do \
+ @list='$(pangomm_include_HEADERS)'; for p in $$list; do \
f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(gtkmm_docdir)/$$f'"; \
- rm -f "$(DESTDIR)$(gtkmm_docdir)/$$f"; \
+ echo " rm -f '$(DESTDIR)$(pangomm_includedir)/$$f'"; \
+ rm -f "$(DESTDIR)$(pangomm_includedir)/$$f"; \
done
# This directory's subdirectories are mostly independent; you can cd
@@ -303,8 +323,7 @@ $(RECURSIVE_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
+$(RECURSIVE_CLEAN_TARGETS):
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
@@ -405,23 +424,21 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/../docs
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @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; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -435,7 +452,7 @@ distdir: $(DISTFILES)
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
@@ -443,17 +460,19 @@ distdir: $(DISTFILES)
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
-all-am: Makefile $(DATA)
+all-am: Makefile $(DATA) $(HEADERS)
installdirs: installdirs-recursive
installdirs-am:
- for dir in "$(DESTDIR)$(gtkmm_docdir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
+ for dir in "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(pangomm_includedir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
install-exec: install-exec-recursive
@@ -485,8 +504,7 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
@@ -498,14 +516,22 @@ info: info-recursive
info-am:
-install-data-am: install-gtkmm_docDATA
+install-data-am: install-pangomm_includeHEADERS install-pkgconfigDATA
+
+install-dvi: install-dvi-recursive
install-exec-am:
+install-html: install-html-recursive
+
install-info: install-info-recursive
install-man:
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -524,47 +550,27 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-gtkmm_docDATA uninstall-info-am
+uninstall-am: uninstall-pangomm_includeHEADERS uninstall-pkgconfigDATA
-uninstall-info: uninstall-info-recursive
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
+.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-exec install-exec-am \
- install-gtkmm_docDATA install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
- tags tags-recursive uninstall uninstall-am \
- uninstall-gtkmm_docDATA uninstall-info-am
-
-
-# Post to the website.
-
-post-html-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) post-html); \
- done
-
-post-html-local:
- scp $$SSH_OPT $^ $$USER@$(web_host):$(web_path_docs)
-
-post-html: post-html-recursive post-html-local
-
-doc-clean-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) doc-clean); \
- done
-
-doc-clean: doc-clean-recursive
-
-doc-rebuild: doc-clean all
+ 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-pangomm_includeHEADERS \
+ install-pdf install-pdf-am install-pkgconfigDATA 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-pangomm_includeHEADERS \
+ uninstall-pkgconfigDATA
-.PHONY: post-html post-html-local post-html-recursive doc-clean doc-clean-recursive doc-rebuild
# 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:
diff --git a/libs/gtkmm2/pango/README b/libs/gtkmm2/pango/README
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/libs/gtkmm2/pango/README
diff --git a/libs/gtkmm2/pango/pangomm-1.4.pc.in b/libs/gtkmm2/pango/pangomm-1.4.pc.in
new file mode 100644
index 0000000000..45d2f2fcdb
--- /dev/null
+++ b/libs/gtkmm2/pango/pangomm-1.4.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: Pangomm
+Description: C++ wrapper for Pango
+Requires: glibmm-2.4 pango pangocairo
+Version: @VERSION@
+Libs: -L${libdir} -lpangomm-1.4
+Cflags: -I${includedir}/pangomm-1.4
diff --git a/libs/gtkmm2/pango/pangomm/.cvsignore b/libs/gtkmm2/pango/pangomm/.cvsignore
deleted file mode 100644
index 1edeb79fd1..0000000000
--- a/libs/gtkmm2/pango/pangomm/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.os
diff --git a/libs/gtkmm2/pango/pangomm/Makefile.am b/libs/gtkmm2/pango/pangomm/Makefile.am
new file mode 100644
index 0000000000..27fe109e49
--- /dev/null
+++ b/libs/gtkmm2/pango/pangomm/Makefile.am
@@ -0,0 +1,31 @@
+## Copyright (c) 2001
+## The gtkmm development team.
+
+SUBDIRS = private
+
+sublib_name = pangomm
+sublib_libname = pangomm-1.4
+sublib_libversion = $(LIBGTKMM_SO_VERSION)
+sublib_namespace = Pango
+sublib_cflags = $(PANGOMM_CFLAGS)
+sublib_topdir = pango
+sublib_win32_dlls_libs =
+
+
+sublib_files_extra_posix_cc =
+sublib_files_extra_win32_cc =
+sublib_files_extra_general_cc = init.cc
+sublib_files_extra_general_deprecated_cc =
+
+sublib_files_extra_posix_h =
+sublib_files_extra_win32_h =
+sublib_files_extra_general_h = init.h types.h
+sublib_files_extra_general_deprecated_h =
+
+include $(top_srcdir)/build_shared/Makefile_build.am_fragment
+
+lib_LTLIBRARIES = libpangomm-1.4.la
+libpangomm_1_4_la_SOURCES = $(files_built_cc) $(files_extra_cc)
+libpangomm_1_4_la_LDFLAGS = $(common_ldflags)
+libpangomm_1_4_la_LIBADD = $(win32_dlls_extra_libs) $(PANGOMM_LIBS)
+
diff --git a/libs/gtkmm2/pango/pangomm/Makefile.in b/libs/gtkmm2/pango/pangomm/Makefile.in
new file mode 100644
index 0000000000..b0974b36d1
--- /dev/null
+++ b/libs/gtkmm2/pango/pangomm/Makefile.in
@@ -0,0 +1,791 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+
+# This file is include by other Makefile.am files, using the new automake include feature.
+# The include happens in Makefile.am, not Makefile.in or Makefile,
+# so it's like copy-and-pasting this into each of those Makefile.am files.
+
+# Built files
+
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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)/../src/Makefile_list_of_hg.am_fragment \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(sublib_include_HEADERS) \
+ $(top_srcdir)/build_shared/Makefile_build.am_fragment \
+ $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment
+subdir = pango/pangomm
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+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 = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libdir)" \
+ "$(DESTDIR)$(sublib_includedir)"
+libLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(lib_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+@PLATFORM_WIN32_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
+libpangomm_1_4_la_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1)
+am__libpangomm_1_4_la_SOURCES_DIST = attributes.cc attriter.cc \
+ attrlist.cc cairofontmap.cc color.cc context.cc coverage.cc \
+ font.cc fontdescription.cc fontface.cc fontfamily.cc \
+ fontmap.cc fontmetrics.cc fontset.cc glyph.cc glyphstring.cc \
+ item.cc language.cc layout.cc layoutiter.cc layoutline.cc \
+ layoutrun.cc rectangle.cc renderer.cc tabarray.cc wrap_init.cc \
+ init.cc
+am__objects_1 = attributes.lo attriter.lo attrlist.lo cairofontmap.lo \
+ color.lo context.lo coverage.lo font.lo fontdescription.lo \
+ fontface.lo fontfamily.lo fontmap.lo fontmetrics.lo fontset.lo \
+ glyph.lo glyphstring.lo item.lo language.lo layout.lo \
+ layoutiter.lo layoutline.lo layoutrun.lo rectangle.lo \
+ renderer.lo tabarray.lo
+am__objects_2 =
+@OS_WIN32_FALSE@am__objects_3 = $(am__objects_1) $(am__objects_2) \
+@OS_WIN32_FALSE@ $(am__objects_2)
+@OS_WIN32_TRUE@am__objects_3 = $(am__objects_1) $(am__objects_2) \
+@OS_WIN32_TRUE@ $(am__objects_2)
+am__objects_4 = $(am__objects_3) wrap_init.lo
+am__objects_5 = init.lo
+@OS_WIN32_FALSE@am__objects_6 = $(am__objects_2) $(am__objects_5)
+@OS_WIN32_TRUE@am__objects_6 = $(am__objects_2) $(am__objects_5)
+am_libpangomm_1_4_la_OBJECTS = $(am__objects_4) $(am__objects_6)
+libpangomm_1_4_la_OBJECTS = $(am_libpangomm_1_4_la_OBJECTS)
+libpangomm_1_4_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(libpangomm_1_4_la_LDFLAGS) $(LDFLAGS) -o $@
+depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(libpangomm_1_4_la_SOURCES)
+DIST_SOURCES = $(am__libpangomm_1_4_la_SOURCES_DIST)
+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
+sublib_includeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(sublib_include_HEADERS)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@ -DG_LOG_DOMAIN=\"$(sublib_name)\" $(extra_win32_defines)
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = private
+sublib_name = pangomm
+sublib_libname = pangomm-1.4
+sublib_libversion = $(LIBGTKMM_SO_VERSION)
+sublib_namespace = Pango
+sublib_cflags = $(PANGOMM_CFLAGS)
+sublib_topdir = pango
+sublib_win32_dlls_libs =
+sublib_files_extra_posix_cc =
+sublib_files_extra_win32_cc =
+sublib_files_extra_general_cc = init.cc
+sublib_files_extra_general_deprecated_cc =
+sublib_files_extra_posix_h =
+sublib_files_extra_win32_h =
+sublib_files_extra_general_h = init.h types.h
+sublib_files_extra_general_deprecated_h =
+files_posix_hg =
+files_win32_hg =
+files_general_hg = attributes.hg attriter.hg attrlist.hg cairofontmap.hg color.hg context.hg coverage.hg \
+ font.hg fontdescription.hg fontface.hg fontfamily.hg fontmap.hg fontmetrics.hg fontset.hg \
+ glyph.hg glyphstring.hg item.hg language.hg layout.hg layoutiter.hg layoutline.hg layoutrun.hg \
+ rectangle.hg renderer.hg tabarray.hg
+
+files_general_deprecated_hg =
+files_all_hg = \
+ $(files_posix_hg) \
+ $(files_win32_hg) \
+ $(files_general_hg) \
+ $(files_general_deprecated_hg)
+
+@OS_WIN32_FALSE@files_hg = $(files_general_hg) $(files_posix_hg) $(files_general_deprecated_hg)
+@OS_WIN32_TRUE@files_hg = $(files_general_hg) $(files_win32_hg) $(files_general_deprecated_hg)
+files_built_cc = $(files_hg:.hg=.cc) wrap_init.cc
+files_built_h = $(files_hg:.hg=.h)
+files_all_built_cc = $(files_all_hg:.hg=.cc) wrap_init.cc
+files_all_built_h = $(files_all_hg:.hg=.h)
+
+# Extra files
+files_all_extra_cc = \
+ $(sublib_files_extra_posix_cc) \
+ $(sublib_files_extra_win32_cc) \
+ $(sublib_files_extra_general_cc) \
+ $(sublib_files_extra_general_deprecated_cc)
+
+files_all_extra_h = $(sublib_files_extra_posix_h) \
+ $(sublib_files_extra_win32_h) $(sublib_files_extra_general_h) \
+ $(sublib_files_extra_general_deprecated_h) wrap_init.h
+@OS_WIN32_FALSE@files_extra_cc = \
+@OS_WIN32_FALSE@ $(sublib_files_extra_posix_cc) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_TRUE@files_extra_cc = \
+@OS_WIN32_TRUE@ $(sublib_files_extra_win32_cc) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_FALSE@files_extra_h = $(sublib_files_extra_posix_h) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_h) wrap_init.h
+@OS_WIN32_TRUE@files_extra_h = $(sublib_files_extra_win32_h) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_h) wrap_init.h
+@PLATFORM_WIN32_FALSE@extra_win32_defines =
+
+# Support for DLL on mingw using libtool > 1.4
+# When creating DLLs on win32, we need to explicitly add a few extra
+# libraries at link time to resolve symbols (remember a dll is like an
+# executable).
+@PLATFORM_WIN32_TRUE@extra_win32_defines = \
+@PLATFORM_WIN32_TRUE@ -D$(shell echo $(sublib_name) | tr [:lower:] [:upper:])_BUILD
+
+@PLATFORM_WIN32_FALSE@no_undefined =
+@PLATFORM_WIN32_TRUE@no_undefined = -no-undefined -Wl,--export-all-symbols
+@PLATFORM_WIN32_FALSE@win32_dlls_extra_libs =
+@PLATFORM_WIN32_TRUE@win32_dlls_extra_libs = $(sublib_win32_dlls_libs)
+common_ldflags = -version-info $(sublib_libversion) $(no_undefined)
+
+# All modules can include all other modules,
+# for instance, so that gdkmm can use headers in pangomm.
+all_includes = -I$(top_builddir)/$(sublib_topdir) -I$(top_srcdir)/$(sublib_topdir) \
+ -I$(top_builddir)/pango -I$(top_srcdir)/pango \
+ -I$(top_builddir)/atk -I$(top_srcdir)/atk \
+ -I$(top_builddir)/gdk -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gtk -I$(top_srcdir)/gtk \
+ $(sublib_cflags) $(GTHREAD_CFLAGS)
+
+dist_sources = $(files_all_built_cc) $(files_all_extra_cc) $(files_all_built_h) $(files_all_extra_h)
+DISTFILES = $(DIST_COMMON) $(dist_sources) $(TEXINFOS) $(EXTRA_DIST)
+DEFAULT_INCLUDES =
+
+# DISABLE_DEPRECATED_CFLAGS and DISABLE_DEPRECATED_API_CFLAGS are empty unless the appropriate --enable-*=no options are specified to configure:
+INCLUDES = $(strip $(all_includes)) $(DISABLE_DEPRECATED_CFLAGS) $(DISABLE_DEPRECATED_API_CFLAGS)
+sublib_includedir = $(includedir)/$(sublib_libname)/$(sublib_name)
+sublib_include_HEADERS = $(files_all_built_h) $(files_all_extra_h)
+lib_LTLIBRARIES = libpangomm-1.4.la
+libpangomm_1_4_la_SOURCES = $(files_built_cc) $(files_extra_cc)
+libpangomm_1_4_la_LDFLAGS = $(common_ldflags)
+libpangomm_1_4_la_LIBADD = $(win32_dlls_extra_libs) $(PANGOMM_LIBS)
+all: all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/build_shared/Makefile_build.am_fragment $(srcdir)/../src/Makefile_list_of_hg.am_fragment $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pango/pangomm/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu pango/pangomm/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
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ f=$(am__strip_dir) \
+ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ else :; fi; \
+ done
+
+uninstall-libLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ p=$(am__strip_dir) \
+ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ done
+
+clean-libLTLIBRARIES:
+ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libpangomm-1.4.la: $(libpangomm_1_4_la_OBJECTS) $(libpangomm_1_4_la_DEPENDENCIES)
+ $(libpangomm_1_4_la_LINK) -rpath $(libdir) $(libpangomm_1_4_la_OBJECTS) $(libpangomm_1_4_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attributes.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attriter.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attrlist.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cairofontmap.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/color.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/context.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coverage.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/font.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fontdescription.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fontface.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fontfamily.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fontmap.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fontmetrics.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fontset.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glyph.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glyphstring.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/item.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/language.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/layout.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/layoutiter.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/layoutline.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/layoutrun.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rectangle.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/renderer.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tabarray.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrap_init.Plo@am__quote@
+
+.cc.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-sublib_includeHEADERS: $(sublib_include_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(sublib_includedir)" || $(MKDIR_P) "$(DESTDIR)$(sublib_includedir)"
+ @list='$(sublib_include_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(sublib_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(sublib_includedir)/$$f'"; \
+ $(sublib_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(sublib_includedir)/$$f"; \
+ done
+
+uninstall-sublib_includeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(sublib_include_HEADERS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(sublib_includedir)/$$f'"; \
+ rm -f "$(DESTDIR)$(sublib_includedir)/$$f"; \
+ done
+
+# 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):
+ @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; \
+ (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):
+ @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; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (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; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ 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 || \
+ tags="$$tags $$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; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(LTLIBRARIES) $(HEADERS)
+installdirs: installdirs-recursive
+installdirs-am:
+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(sublib_includedir)"; 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)
+
+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-libLTLIBRARIES clean-libtool \
+ mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-sublib_includeHEADERS
+
+install-dvi: install-dvi-recursive
+
+install-exec-am: install-libLTLIBRARIES
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic \
+ maintainer-clean-local
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-libLTLIBRARIES uninstall-sublib_includeHEADERS
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am check check-am clean clean-generic \
+ clean-libLTLIBRARIES clean-libtool ctags ctags-recursive \
+ distclean distclean-compile 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-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-libLTLIBRARIES install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ install-sublib_includeHEADERS installcheck installcheck-am \
+ installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic maintainer-clean-local mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
+ uninstall-libLTLIBRARIES uninstall-sublib_includeHEADERS
+
+
+maintainer-clean-local:
+ (cd $(srcdir) && rm -f $(files_all_built_cc) $(files_all_built_h))
+# 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:
diff --git a/libs/gtkmm2/pango/pangomm/attributes.h b/libs/gtkmm2/pango/pangomm/attributes.h
index 4d25d39087..cd21bd0f0e 100644
--- a/libs/gtkmm2/pango/pangomm/attributes.h
+++ b/libs/gtkmm2/pango/pangomm/attributes.h
@@ -36,12 +36,14 @@ namespace Pango
{
-/** @addtogroup pangommEnums Enums and Flags */
-
/** Pango::AttrType distinguishes between different types of attributes.
* Along with the predefined values, it is possible to allocate additional values for
* custom attributes using Pango::Attribute::register_type(). The predefined values
* are given below.
+ */
+/** @addtogroup pangommEnums Enums and Flags */
+
+/**
* @ingroup pangommEnums
*/
enum AttrType
@@ -66,7 +68,9 @@ enum AttrType
ATTR_LETTER_SPACING,
ATTR_UNDERLINE_COLOR,
ATTR_STRIKETHROUGH_COLOR,
- ATTR_ABSOLUTE_SIZE
+ ATTR_ABSOLUTE_SIZE,
+ ATTR_GRAVITY,
+ ATTR_GRAVITY_HINT
};
} // namespace Pango
@@ -92,6 +96,8 @@ namespace Pango
/** A Pango::Underline is used to specify whether text should be underlined, and if so, the type of underlining.
+ */
+/**
* @ingroup pangommEnums
*/
enum Underline
diff --git a/libs/gtkmm2/pango/pangomm/attriter.h b/libs/gtkmm2/pango/pangomm/attriter.h
index 9f840d71a7..2eaf54d064 100644
--- a/libs/gtkmm2/pango/pangomm/attriter.h
+++ b/libs/gtkmm2/pango/pangomm/attriter.h
@@ -82,7 +82,11 @@ public:
bool next();
- /** Get the range of the current segment.
+ /** Get the range of the current segment. Note that the
+ * stored return values are signed, not unsigned like
+ * the values in Pango::Attribute. To deal with this API
+ * oversight, stored return values that wouldn't fit into
+ * a signed integer are clamped to G::MAXINT.
* @param start Location to store the start of the range.
* @param end Location to store the end of the range.
*/
diff --git a/libs/gtkmm2/pango/pangomm/attrlist.h b/libs/gtkmm2/pango/pangomm/attrlist.h
index 10c2976d62..409a0515c4 100644
--- a/libs/gtkmm2/pango/pangomm/attrlist.h
+++ b/libs/gtkmm2/pango/pangomm/attrlist.h
@@ -123,14 +123,16 @@ public:
void change(Attribute& attr);
// hand code because we need to pass a copy of the attribute
- /** This function splices attribute list @a other into @a list .
+ /** This function opens up a hole in @a list , fills it in with attributes from
+ * the left, and then merges @a other on top of the hole.
+ *
* This operation is equivalent to stretching every attribute
* that applies at position @a pos in @a list by an amount @a len ,
* and then calling pango_attr_list_change() with a copy
* of each attribute in @a other in sequence (offset in position by @a pos ).
*
* This operation proves useful for, for instance, inserting
- * a preedit string in the middle of an edit buffer.
+ * a pre-edit string in the middle of an edit buffer.
* @param other Another Pango::AttrList.
* @param pos The position in @a list at which to insert @a other .
* @param len The length of the spliced segment. (Note that this
@@ -140,8 +142,9 @@ public:
void splice(AttrList& other, int pos, int len);
/** Create a iterator initialized to the beginning of the list.
- * @return A new Pango::Iterator. @a list must not be modified
- * until this iterator is freed with pango_attr_iterator_destroy().
+ * @a list must not be modified until this iterator is freed.
+ * @return The newly allocated Pango::AttrIterator, which should
+ * be freed with pango_attr_iterator_destroy().
*/
AttrIter get_iter();
@@ -169,10 +172,13 @@ inline void swap(AttrList& lhs, AttrList& rhs)
namespace Glib
{
-/** @relates Pango::AttrList
- * @param object The C instance
+/** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Pango::AttrList
*/
Pango::AttrList wrap(PangoAttrList* object, bool take_copy = false);
diff --git a/libs/gtkmm2/pango/pangomm/cairofontmap.cc b/libs/gtkmm2/pango/pangomm/cairofontmap.cc
index 30089936fd..5392d64f80 100644
--- a/libs/gtkmm2/pango/pangomm/cairofontmap.cc
+++ b/libs/gtkmm2/pango/pangomm/cairofontmap.cc
@@ -45,7 +45,7 @@ namespace Glib
Glib::RefPtr<Pango::CairoFontMap> wrap(PangoCairoFontMap* object, bool take_copy)
{
- return Glib::RefPtr<Pango::CairoFontMap>( dynamic_cast<Pango::CairoFontMap*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
+ return Glib::RefPtr<Pango::CairoFontMap>( dynamic_cast<Pango::CairoFontMap*> (Glib::wrap_auto_interface<Pango::CairoFontMap> ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance.
}
@@ -135,6 +135,11 @@ GType CairoFontMap::get_base_type()
}
+Cairo::FontType CairoFontMap::get_font_type() const
+{
+ return static_cast<Cairo::FontType>(pango_cairo_font_map_get_font_type(const_cast<PangoCairoFontMap*>(gobj())));
+}
+
void CairoFontMap::set_resolution(double dpi)
{
pango_cairo_font_map_set_resolution(gobj(), dpi);
diff --git a/libs/gtkmm2/pango/pangomm/cairofontmap.h b/libs/gtkmm2/pango/pangomm/cairofontmap.h
index 9dcce07823..43843f37d2 100644
--- a/libs/gtkmm2/pango/pangomm/cairofontmap.h
+++ b/libs/gtkmm2/pango/pangomm/cairofontmap.h
@@ -73,8 +73,14 @@ private:
protected:
CairoFontMap(); // you must derive from this class
+
+public:
+ // This is public so that C++ wrapper instances can be
+ // created for C instances of unwrapped types.
+ // For instance, if an unexpected C type implements the C interface.
explicit CairoFontMap(PangoCairoFontMap* castitem);
+protected:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
@@ -99,6 +105,14 @@ private:
public:
//_WRAP_METHOD(static Glib::RefPtr<PangoFontMap> get_default(), pango_cairo_font_map_get_default) //TODO: ref this?
+
+ /** Gets the type of Cairo font backend that @a fontmap uses.
+ * @return The #cairo_font_type_t cairo font backend type
+ *
+ * Since: 1.18.
+ */
+ Cairo::FontType get_font_type() const;
+
/** Sets the resolution for the fontmap. This is a scale factor between
* points specified in a Pango::FontDescription and Cairo units. The
@@ -111,7 +125,7 @@ public:
*/
void set_resolution(double dpi);
- /** Gets the resolutions for the fontmap. See pango_cairo_font_map_set_resolution.
+ /** Gets the resolution for the fontmap. See set_resolution()
* @return The resolution in "dots per inch"
*
* Since: 1.10.
@@ -150,10 +164,13 @@ protected:
namespace Glib
{
- /** @relates Pango::CairoFontMap
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Pango::CairoFontMap
*/
Glib::RefPtr<Pango::CairoFontMap> wrap(PangoCairoFontMap* object, bool take_copy = false);
diff --git a/libs/gtkmm2/pango/pangomm/color.cc b/libs/gtkmm2/pango/pangomm/color.cc
index 50c8d2e2eb..26d65b349b 100644
--- a/libs/gtkmm2/pango/pangomm/color.cc
+++ b/libs/gtkmm2/pango/pangomm/color.cc
@@ -118,6 +118,11 @@ bool Color::parse(const Glib::ustring& spec)
return pango_color_parse(gobj(), spec.c_str());
}
+Glib::ustring Color::to_string() const
+{
+ return Glib::convert_return_gchar_ptr_to_ustring(pango_color_to_string(const_cast<PangoColor*>(gobj())));
+}
+
} // namespace Pango
diff --git a/libs/gtkmm2/pango/pangomm/color.h b/libs/gtkmm2/pango/pangomm/color.h
index ac31d223f1..3f7dc303c0 100644
--- a/libs/gtkmm2/pango/pangomm/color.h
+++ b/libs/gtkmm2/pango/pangomm/color.h
@@ -106,6 +106,14 @@ public:
*/
bool parse(const Glib::ustring& spec);
+
+ /** Return value: a newly-allocated text string that must be freed with Glib::free().
+ * @return A newly-allocated text string that must be freed with Glib::free().
+ *
+ * Since: 1.16.
+ */
+ Glib::ustring to_string() const;
+
};
diff --git a/libs/gtkmm2/pango/pangomm/context.cc b/libs/gtkmm2/pango/pangomm/context.cc
index 813f79c8f8..4d514a887b 100644
--- a/libs/gtkmm2/pango/pangomm/context.cc
+++ b/libs/gtkmm2/pango/pangomm/context.cc
@@ -99,6 +99,12 @@ GType Glib::Value<Pango::Direction>::value_type()
return pango_direction_get_type();
}
+// static
+GType Glib::Value<Pango::GravityHint>::value_type()
+{
+ return pango_gravity_hint_get_type();
+}
+
namespace Glib
{
@@ -200,7 +206,8 @@ GType Context::get_base_type()
Context::Context()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Glib::Object(Glib::ConstructParams(context_class_.init()))
{
}
@@ -260,6 +267,31 @@ Direction Context::get_base_dir() const
return ((Direction)(pango_context_get_base_dir(const_cast<PangoContext*>(gobj()))));
}
+void Context::set_base_gravity(Gravity gravity)
+{
+pango_context_set_base_gravity(gobj(), ((PangoGravity)(gravity)));
+}
+
+Gravity Context::get_base_gravity() const
+{
+ return ((Gravity)(pango_context_get_base_gravity(const_cast<PangoContext*>(gobj()))));
+}
+
+Gravity Context::get_gravity() const
+{
+ return ((Gravity)(pango_context_get_gravity(const_cast<PangoContext*>(gobj()))));
+}
+
+void Context::set_gravity_hint(GravityHint hint)
+{
+pango_context_set_gravity_hint(gobj(), ((PangoGravityHint)(hint)));
+}
+
+GravityHint Context::get_gravity_hint() const
+{
+ return ((GravityHint)(pango_context_get_gravity_hint(const_cast<PangoContext*>(gobj()))));
+}
+
void Context::set_matrix(const Matrix& matrix)
{
pango_context_set_matrix(gobj(), &(matrix));
diff --git a/libs/gtkmm2/pango/pangomm/context.h b/libs/gtkmm2/pango/pangomm/context.h
index 3e8a2f947b..a07da28310 100644
--- a/libs/gtkmm2/pango/pangomm/context.h
+++ b/libs/gtkmm2/pango/pangomm/context.h
@@ -92,6 +92,37 @@ public:
namespace Pango
{
+/**
+ * @ingroup pangommEnums
+ */
+enum GravityHint
+{
+ GRAVITY_HINT_NATURAL,
+ GRAVITY_HINT_STRONG,
+ GRAVITY_HINT_LINE
+};
+
+} // namespace Pango
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+namespace Glib
+{
+
+template <>
+class Value<Pango::GravityHint> : public Glib::Value_Enum<Pango::GravityHint>
+{
+public:
+ static GType value_type() G_GNUC_CONST;
+};
+
+} // namespace Glib
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Pango
+{
+
/** A Pango::Context stores global information used to control the itemization process.
* You can retrieve a Pango::Context object with Gtk::Widget::create_pango_context() or
@@ -252,7 +283,9 @@ public:
*/
Language get_language() const;
- /** Sets the global language tag for the context.
+ /** Sets the global language tag for the context. The default language
+ * for the locale of the running process can be found using
+ * pango_language_get_default().
* @param language The new language tag.
*/
void set_language(const Language& language);
@@ -276,10 +309,57 @@ public:
Direction get_base_dir() const;
+ /** Sets the base gravity for the context.
+ *
+ * The base gravity is used in laying vertical text out.
+ *
+ * Since: 1.16
+ * @param gravity The new base gravity.
+ */
+ void set_base_gravity(Gravity gravity);
+
+ /** Retrieves the base gravity for the context. See
+ * pango_context_set_base_gravity().
+ * @return The base gravity for the context.
+ *
+ * Since: 1.16.
+ */
+ Gravity get_base_gravity() const;
+
+ /** Retrieves the gravity for the context. This is similar to
+ * pango_context_get_base_gravity(), except for when the base gravity
+ * is Pango::GRAVITY_AUTO for which pango_gravity_get_for_matrix() is used
+ * to return the gravity from the current context matrix.
+ * @return The resolved gravity for the context.
+ *
+ * Since: 1.16.
+ */
+ Gravity get_gravity() const;
+
+ /** Sets the gravity hint for the context.
+ *
+ * The gravity hint is used in laying vertical text out, and is only relevant
+ * if gravity of the context as returned by pango_context_get_gravity()
+ * is set Pango::GRAVITY_EAST or Pango::GRAVITY_WEST.
+ *
+ * Since: 1.16
+ * @param hint The new gravity hint.
+ */
+ void set_gravity_hint(GravityHint hint);
+
+ /** Retrieves the gravity hint for the context. See
+ * pango_context_set_gravity_hint() for details.
+ * @return The gravity hint for the context.
+ *
+ * Since: 1.16.
+ */
+ GravityHint get_gravity_hint() const;
+
+
/** Sets the transformation matrix that will be applied when rendering
* with this context. Note that reported metrics are in the user space
* coordinates before the application of the matrix, not device-space
- * coordiantes after the application of the matrix. So, they don't scale
+ * coordinates after the application of the matrix. So, they don't scale
* with the matrix, though they may change slightly for different
* matrices, depending on how the text is fit to the pixel grid.
*
@@ -333,14 +413,47 @@ public:
void update_from_cairo_context(const Cairo::RefPtr<Cairo::Context>& context);
+ /** Sets the font options used when rendering text with this context.
+ * These options override any options that pango_cairo_update_context()
+ * derives from the target surface.
+ * @param context A Pango::Context, from Pango::CairoFontMap::create_context().
+ * @param options A #cairo_font_options_t, or <tt>0</tt> to unset any previously set
+ * options. A copy is made.
+ */
void set_cairo_font_options(const Cairo::FontOptions& options);
+ /** Retrieves any font rendering options previously set with
+ * pango_cairo_font_map_set_font_options(). This functions not report options
+ * that are derived from the target surface by pango_cairo_update_context()
+ * @param context A Pango::Context, from Pango::CairoFontMap::create_context().
+ * @return The font options previously set on the context, or <tt>0</tt>
+ * if no options have been set. This value is owned by the context
+ * and must not be modified or freed.
+ */
Cairo::FontOptions get_font_options() const;
+ /** Sets the resolution for the context. This is a scale factor between
+ * points specified in a Pango::FontDescription and Cairo units. The
+ * default value is 96, meaning that a 10 point font will be 13
+ * units high. (10 * 96. / 72. = 13.3).
+ *
+ * Since: 1.10
+ * @param context A Pango::Context, from Pango::CairoFontMap::create_context().
+ * @param dpi The resolution in "dots per inch". (Physical inches aren't actually
+ * involved; the terminology is conventional.) A 0 or negative value
+ * means to use the resolution from the font map.
+ */
void set_resolution(double dpi);
+ /** Gets the resolution for the context. See pango_cairo_context_set_resolution()
+ * @param context A Pango::Context, from Pango::CairoFontMap::create_context().
+ * @return The resolution in "dots per inch". A negative value will
+ * be returned if no resolution has previously been set.
+ *
+ * Since: 1.10.
+ */
double get_resolution() const;
@@ -368,10 +481,13 @@ protected:
namespace Glib
{
- /** @relates Pango::Context
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Pango::Context
*/
Glib::RefPtr<Pango::Context> wrap(PangoContext* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/pango/pangomm/coverage.h b/libs/gtkmm2/pango/pangomm/coverage.h
index 30e4ec608e..64f2ad7872 100644
--- a/libs/gtkmm2/pango/pangomm/coverage.h
+++ b/libs/gtkmm2/pango/pangomm/coverage.h
@@ -127,6 +127,7 @@ public:
/** Determine whether a particular index is covered by @a coverage
* @param index The index to check.
+ * @return The coverage level of @a coverage for character @a index .
*/
CoverageLevel get(int index) const;
@@ -157,10 +158,13 @@ public:
namespace Glib
{
- /** @relates Pango::Coverage
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Pango::Coverage
*/
Glib::RefPtr<Pango::Coverage> wrap(PangoCoverage* object, bool take_copy = false);
diff --git a/libs/gtkmm2/pango/pangomm/font.h b/libs/gtkmm2/pango/pangomm/font.h
index ab7a221332..906e2d09a0 100644
--- a/libs/gtkmm2/pango/pangomm/font.h
+++ b/libs/gtkmm2/pango/pangomm/font.h
@@ -113,11 +113,16 @@ private:
public:
- /** Returns a description of the font.
+ /** Return value: a newly-allocated Pango::FontDescription object.
* @return A newly-allocated Pango::FontDescription object.
*/
FontDescription describe() const;
+ /** Return value: a newly-allocated Pango::FontDescription object.
+ * @return A newly-allocated Pango::FontDescription object.
+ *
+ * Since: 1.14.
+ */
FontDescription describe_with_absolute_size() const;
/** Computes the coverage map for a given font and language tag.
@@ -158,12 +163,16 @@ public:
/** Gets the font map for which the font was created.
- * @return The Pango::FontMap for the font.
+ * @return The Pango::FontMap for the font
+ *
+ * Since: 1.10.
*/
Glib::RefPtr<FontMap> get_font_map();
/** Gets the font map for which the font was created.
- * @return The Pango::FontMap for the font.
+ * @return The Pango::FontMap for the font
+ *
+ * Since: 1.10.
*/
Glib::RefPtr<const FontMap> get_font_map() const;
@@ -204,10 +213,13 @@ protected:
namespace Glib
{
- /** @relates Pango::Font
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Pango::Font
*/
Glib::RefPtr<Pango::Font> wrap(PangoFont* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/pango/pangomm/fontdescription.cc b/libs/gtkmm2/pango/pangomm/fontdescription.cc
index dc5bd3ef94..c8db5ca229 100644
--- a/libs/gtkmm2/pango/pangomm/fontdescription.cc
+++ b/libs/gtkmm2/pango/pangomm/fontdescription.cc
@@ -75,6 +75,12 @@ GType Glib::Value<Pango::FontMask>::value_type()
return pango_font_mask_get_type();
}
+// static
+GType Glib::Value<Pango::Gravity>::value_type()
+{
+ return pango_gravity_get_type();
+}
+
namespace Glib
{
@@ -216,6 +222,16 @@ bool FontDescription::get_size_is_absolute() const
return pango_font_description_get_size_is_absolute(const_cast<PangoFontDescription*>(gobj()));
}
+void FontDescription::set_gravity(Gravity gravity)
+{
+pango_font_description_set_gravity(gobj(), ((PangoGravity)(gravity)));
+}
+
+Gravity FontDescription::get_gravity() const
+{
+ return ((Gravity)(pango_font_description_get_gravity(const_cast<PangoFontDescription*>(gobj()))));
+}
+
FontMask FontDescription::get_set_fields() const
{
return ((FontMask)(pango_font_description_get_set_fields(const_cast<PangoFontDescription*>(gobj()))));
diff --git a/libs/gtkmm2/pango/pangomm/fontdescription.h b/libs/gtkmm2/pango/pangomm/fontdescription.h
index 9d2def1537..e488b08df4 100644
--- a/libs/gtkmm2/pango/pangomm/fontdescription.h
+++ b/libs/gtkmm2/pango/pangomm/fontdescription.h
@@ -191,7 +191,8 @@ enum FontMask
FONT_MASK_VARIANT = 1 << 2,
FONT_MASK_WEIGHT = 1 << 3,
FONT_MASK_STRETCH = 1 << 4,
- FONT_MASK_SIZE = 1 << 5
+ FONT_MASK_SIZE = 1 << 5,
+ FONT_MASK_GRAVITY = 1 << 6
};
/** @ingroup pangommEnums */
@@ -243,6 +244,39 @@ public:
namespace Pango
{
+/**
+ * @ingroup pangommEnums
+ */
+enum Gravity
+{
+ GRAVITY_SOUTH,
+ GRAVITY_EAST,
+ GRAVITY_NORTH,
+ GRAVITY_WEST,
+ GRAVITY_AUTO
+};
+
+} // namespace Pango
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+namespace Glib
+{
+
+template <>
+class Value<Pango::Gravity> : public Glib::Value_Enum<Pango::Gravity>
+{
+public:
+ static GType value_type() G_GNUC_CONST;
+};
+
+} // namespace Glib
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Pango
+{
+
/** A Pango::FontDescription represents the description of an ideal font.
* It is used both to list what fonts are available on the system and also for specifying the characteristics of a font to load.
@@ -311,6 +345,7 @@ public:
/** Computes a hash of a Pango::FontDescription structure suitable
* to be used, for example, as an argument to Glib::hash_table_new().
+ * The hash value is independent of @a desc -&gt;mask.
* @return The hash value.
*/
guint hash() const;
@@ -326,7 +361,9 @@ public:
/** Gets the family name field of a font description. See
* pango_font_description_set_family().
- * @return The family name field. (Will be <tt>0</tt> if not previously set.).
+ * @return The family name field for the font description, or
+ * <tt>0</tt> if not previously set. This has the same life-time
+ * as the font description itself and should not be freed.
*/
Glib::ustring get_family() const;
@@ -335,7 +372,7 @@ public:
* the manner in which it is slanted; it can be either
* Pango::STYLE_NORMAL, Pango::STYLE_ITALIC, or Pango::STYLE_OBLIQUE.
* Most fonts will either have a italic style or an oblique
- * style, but not both, and font matching in Pango will
+ * style, but not both, and font matching in Pango will
* match italic specifications with oblique fonts and vice-versa
* if an exact match is not found.
* @param style The style for the font description.
@@ -344,9 +381,9 @@ public:
/** Gets the style field of a Pango::FontDescription. See
* pango_font_description_set_style().
- * @return The style field for the font description.
+ * @return The style field for the font description.
* Use pango_font_description_get_set_fields() to find out if
- * the field was explicitely set or not.
+ * the field was explicitly set or not.
*/
Style get_style() const;
@@ -360,7 +397,7 @@ public:
* pango_font_description_set_variant().
* @return The variant field for the font description. Use
* pango_font_description_get_set_fields() to find out if
- * the field was explicitely set or not.
+ * the field was explicitly set or not.
*/
Variant get_variant() const;
@@ -376,7 +413,7 @@ public:
* pango_font_description_set_weight().
* @return The weight field for the font description. Use
* pango_font_description_get_set_fields() to find out if
- * the field was explicitely set or not.
+ * the field was explicitly set or not.
*/
Weight get_weight() const;
@@ -390,7 +427,7 @@ public:
* See pango_font_description_set_stretch().
* @return The stretch field for the font description. Use
* pango_font_description_get_set_fields() to find out if
- * the field was explicitely set or not.
+ * the field was explicitly set or not.
*/
Stretch get_stretch() const;
@@ -407,47 +444,68 @@ public:
void set_size(int size);
/** Gets the size field of a font description.
- * See pango_font_description_get_size().
+ * See pango_font_description_set_size().
* @return The size field for the font description in points or device units.
* You must call pango_font_description_get_size_is_absolute()
* to find out which is the case. Returns 0 if the size field has not
- * previously been set. pango_font_description_get_set_fields() to
- * find out if the field was explicitely set or not.
+ * previously been set or it has been set to 0 explicitly.
+ * Use pango_font_description_get_set_fields() to
+ * find out if the field was explicitly set or not.
*/
int get_size() const;
/** Sets the size field of a font description, in device units. This is mutually
- * exclusive with pango_font_description_set_size().
+ * exclusive with pango_font_description_set_size() which sets the font size
+ * in points.
*
* Since: 1.8
- * @param size The new size, in pango units. There are Pango::SCALE Pango units in one
+ * @param size The new size, in Pango units. There are Pango::SCALE Pango units in one
* device unit. For an output backend where a device unit is a pixel, a @a size
* value of 10 * PANGO_SCALE gives a 10 pixel font.
*/
void set_absolute_size(double size);
- /** Determines whether the size of the font is in points or device units.
+ /** Determines whether the size of the font is in points (not absolute) or device units (absolute).
* See pango_font_description_set_size() and pango_font_description_set_absolute_size().
- * @return Whether the the size for the font description is in
+ * @return Whether the size for the font description is in
* points or device units. Use pango_font_description_get_set_fields() to
- * find out if the size field of the font description was explicitely set or not.
+ * find out if the size field of the font description was explicitly set or not.
*
* Since: 1.8.
*/
bool get_size_is_absolute() const;
+ /** Sets the gravity field of a font description. The gravity field
+ * specifies how the glyphs should be rotated. If @a gravity is
+ * Pango::GRAVITY_AUTO, this actually unsets the gravity mask on
+ * the font description.
+ *
+ * This function is seldom useful to the user. Gravity should normally
+ * be set on a Pango::Context.
+ *
+ * Since: 1.16
+ * @param gravity The gravity for the font description.
+ */
+ void set_gravity(Gravity gravity);
+
+ /** Gets the gravity field of a font description. See
+ * pango_font_description_set_gravity().
+ * @return The gravity field for the font description. Use
+ * pango_font_description_get_set_fields() to find out if
+ * the field was explicitly set or not.
+ *
+ * Since: 1.16.
+ */
+ Gravity get_gravity() const;
+
/** Determines which fields in a font description have been set.
* @return A bitmask with bits set corresponding to the
* fields in @a desc that have been set.
*/
FontMask get_set_fields() const;
- /** Unsets some of the fields in a Pango::FontDescription. Note that
- * this merely marks the fields cleared, it does not clear the
- * settings for those fields, to clear a family name set with
- * pango_font_description_set_family_static() so that it won't
- * be returned by subsequent calls to pango_font_description_get_family(),
- * you must actually call pango_font_description_set_family (desc, <tt>0</tt>);
+ /** Unsets some of the fields in a Pango::FontDescription. The unset
+ * fields will get back to their default values.
* @param to_unset Bitmask of fields in the @a desc to unset.
*/
void unset_fields(FontMask to_unset);
@@ -532,10 +590,13 @@ inline void swap(FontDescription& lhs, FontDescription& rhs)
namespace Glib
{
-/** @relates Pango::FontDescription
- * @param object The C instance
+/** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Pango::FontDescription
*/
Pango::FontDescription wrap(PangoFontDescription* object, bool take_copy = false);
diff --git a/libs/gtkmm2/pango/pangomm/fontface.cc b/libs/gtkmm2/pango/pangomm/fontface.cc
index ea64503e78..339c2e02e7 100644
--- a/libs/gtkmm2/pango/pangomm/fontface.cc
+++ b/libs/gtkmm2/pango/pangomm/fontface.cc
@@ -154,6 +154,11 @@ Glib::ustring FontFace::get_name() const
return Glib::convert_const_gchar_ptr_to_ustring(pango_font_face_get_face_name(const_cast<PangoFontFace*>(gobj())));
}
+bool FontFace::is_synthesized() const
+{
+ return pango_font_face_is_synthesized(const_cast<PangoFontFace*>(gobj()));
+}
+
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
diff --git a/libs/gtkmm2/pango/pangomm/fontface.h b/libs/gtkmm2/pango/pangomm/fontface.h
index 7eea486ad5..fed78d1202 100644
--- a/libs/gtkmm2/pango/pangomm/fontface.h
+++ b/libs/gtkmm2/pango/pangomm/fontface.h
@@ -111,8 +111,19 @@ public:
*/
Glib::ustring get_name() const;
+ /** List the available sizes for a font. This is only applicable to bitmap fonts.
+ * For scalable fonts this returns an empty array.
+ * The sizes returned are in Pango units and are sorted in ascending order.
+ */
Glib::ArrayHandle<int> list_sizes() const;
+
+ /** Return value: whether @a face is synthesized.
+ * @return Whether @a face is synthesized.
+ *
+ * Since: 1.18.
+ */
+ bool is_synthesized() const;
protected:
//We can't wrap the virtual functions because PangoFontFace has a hidden class.
@@ -145,10 +156,13 @@ protected:
namespace Glib
{
- /** @relates Pango::FontFace
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Pango::FontFace
*/
Glib::RefPtr<Pango::FontFace> wrap(PangoFontFace* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/pango/pangomm/fontfamily.h b/libs/gtkmm2/pango/pangomm/fontfamily.h
index 363cb9644e..86e74b54cd 100644
--- a/libs/gtkmm2/pango/pangomm/fontfamily.h
+++ b/libs/gtkmm2/pango/pangomm/fontfamily.h
@@ -123,6 +123,8 @@ public:
* of pango_font_metrics_get_approximate_char_width() may be affected
* by double-width characters.
* @return <tt>true</tt> if the family is monospace.
+ *
+ * Since: 1.4.
*/
bool is_monospace() const;
@@ -165,10 +167,13 @@ struct FontFamilyRefPtrTraits
namespace Glib
{
- /** @relates Pango::FontFamily
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Pango::FontFamily
*/
Glib::RefPtr<Pango::FontFamily> wrap(PangoFontFamily* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/pango/pangomm/fontmap.h b/libs/gtkmm2/pango/pangomm/fontmap.h
index 575186607f..d5eec99138 100644
--- a/libs/gtkmm2/pango/pangomm/fontmap.h
+++ b/libs/gtkmm2/pango/pangomm/fontmap.h
@@ -147,10 +147,13 @@ protected:
namespace Glib
{
- /** @relates Pango::FontMap
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Pango::FontMap
*/
Glib::RefPtr<Pango::FontMap> wrap(PangoFontMap* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/pango/pangomm/fontmetrics.h b/libs/gtkmm2/pango/pangomm/fontmetrics.h
index 49369bf225..4253d58a90 100644
--- a/libs/gtkmm2/pango/pangomm/fontmetrics.h
+++ b/libs/gtkmm2/pango/pangomm/fontmetrics.h
@@ -82,7 +82,7 @@ public:
* of text. (The logical top may be above or below the top of the
* actual drawn ink. It is necessary to lay out the text to figure
* where the ink will be.)
- * @return The ascent, in pango units. (1 point == Pango::SCALE pango units.).
+ * @return The ascent, in Pango units. (1 point == Pango::SCALE Pango units.).
*/
int get_ascent() const;
@@ -91,7 +91,7 @@ public:
* of text. (The logical bottom may be above or below the bottom of the
* actual drawn ink. It is necessary to lay out the text to figure
* where the ink will be.)
- * @return The descent, in pango units. (1 point == Pango::SCALE pango units.).
+ * @return The descent, in Pango units. (1 point == Pango::SCALE Pango units.).
*/
int get_descent() const;
@@ -99,17 +99,17 @@ public:
* This is merely a representative value useful, for example, for
* determining the initial size for a window. Actual characters in
* text will be wider and narrower than this.
- * @return The character width, in pango units. (1 point == Pango::SCALE pango units.).
+ * @return The character width, in Pango units. (1 point == Pango::SCALE Pango units.).
*/
int get_approximate_char_width() const;
/** Gets the approximate digit width for a font metrics structure.
* This is merely a representative value useful, for example, for
* determining the initial size for a window. Actual digits in
- * text can be wider and narrower than this, though this value
+ * text can be wider or narrower than this, though this value
* is generally somewhat more accurate than the result of
- * pango_font_metrics_get_approximate_digit_width().
- * @return The digit width, in pango units. (1 point == Pango::SCALE pango units.).
+ * pango_font_metrics_get_approximate_char_width() for digits.
+ * @return The digit width, in Pango units. (1 point == Pango::SCALE Pango units.).
*/
int get_approximate_digit_width() const;
@@ -169,10 +169,13 @@ inline void swap(FontMetrics& lhs, FontMetrics& rhs)
namespace Glib
{
-/** @relates Pango::FontMetrics
- * @param object The C instance
+/** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Pango::FontMetrics
*/
Pango::FontMetrics wrap(PangoFontMetrics* object, bool take_copy = false);
diff --git a/libs/gtkmm2/pango/pangomm/fontset.h b/libs/gtkmm2/pango/pangomm/fontset.h
index eb8a1d1ea3..47a27e4d5f 100644
--- a/libs/gtkmm2/pango/pangomm/fontset.h
+++ b/libs/gtkmm2/pango/pangomm/fontset.h
@@ -95,9 +95,8 @@ private:
public:
- /** Returns the font in the fontset that contains the best glyph for the
- * unicode character wc.
- * @param wc A unicode character.
+ /** Return value: a Pango::Font. The caller must call g_object_unref when finished
+ * @param wc A Unicode character.
* @return A Pango::Font. The caller must call g_object_unref when finished
* with the font.
*/
@@ -148,10 +147,13 @@ protected:
namespace Glib
{
- /** @relates Pango::Fontset
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Pango::Fontset
*/
Glib::RefPtr<Pango::Fontset> wrap(PangoFontset* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/pango/pangomm/glyph.h b/libs/gtkmm2/pango/pangomm/glyph.h
index 5f61e19b9b..e806ec4295 100644
--- a/libs/gtkmm2/pango/pangomm/glyph.h
+++ b/libs/gtkmm2/pango/pangomm/glyph.h
@@ -82,7 +82,7 @@ public:
GlyphVisAttr get_attr() const;
//I don't think that we need these set_* functions!
-//TODO: Who wrote this? Investigate. murrayc.
+//TODO: Who wrote this comment? Investigate. murrayc.
/* Sets the glyph itself.
* @param glyph The new glyph.
*/
diff --git a/libs/gtkmm2/pango/pangomm/glyphstring.cc b/libs/gtkmm2/pango/pangomm/glyphstring.cc
index eb4d55b5d7..3b7cd71080 100644
--- a/libs/gtkmm2/pango/pangomm/glyphstring.cc
+++ b/libs/gtkmm2/pango/pangomm/glyphstring.cc
@@ -180,6 +180,11 @@ void GlyphString::get_extents(int start, int end, const Glib::RefPtr<const Font>
pango_glyph_string_extents_range(const_cast<PangoGlyphString*>(gobj()), start, end, const_cast<PangoFont*>(Glib::unwrap<Font>(font)), (ink_rect).gobj(), (logical_rect).gobj());
}
+int GlyphString::get_width() const
+{
+ return pango_glyph_string_get_width(const_cast<PangoGlyphString*>(gobj()));
+}
+
} // namespace Pango
diff --git a/libs/gtkmm2/pango/pangomm/glyphstring.h b/libs/gtkmm2/pango/pangomm/glyphstring.h
index 9f8dcf520e..273209b1ce 100644
--- a/libs/gtkmm2/pango/pangomm/glyphstring.h
+++ b/libs/gtkmm2/pango/pangomm/glyphstring.h
@@ -120,6 +120,17 @@ public:
*/
void get_extents(int start, int end, const Glib::RefPtr<const Font>& font, Rectangle& ink_rect, Rectangle& logical_rect) const;
+
+ /** Computes the logical width of the glyph string as can also be computed
+ * using pango_glyph_string_extents(). However, since this only computes the
+ * width, it's much faster. This is in fact only a convenience function that
+ * computes the sum of geometry.width for each glyph in the @a glyphs .
+ * @return The logical width of the glyph string.
+ *
+ * Since: 1.14.
+ */
+ int get_width() const;
+
/** Computes the extents of the glyph string as drawn.
* @param font A Pango::Font.
* @return The extents of the glyph string as drawn.
@@ -185,7 +196,10 @@ public:
*/
Glib::ArrayHandle<GlyphInfo> get_glyphs() const;
- //TODO: Wrap pango_cairo_glyph_string_path().
+ //TODO:
+ //void pango_cairo_glyph_string_path (cairo_t *cr,
+ // PangoFont *font,
+ // PangoGlyphString *glyphs);
};
@@ -208,10 +222,13 @@ inline void swap(GlyphString& lhs, GlyphString& rhs)
namespace Glib
{
-/** @relates Pango::GlyphString
- * @param object The C instance
+/** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Pango::GlyphString
*/
Pango::GlyphString wrap(PangoGlyphString* object, bool take_copy = false);
diff --git a/libs/gtkmm2/pango/pangomm/item.h b/libs/gtkmm2/pango/pangomm/item.h
index fd871f9273..f207f0f38e 100644
--- a/libs/gtkmm2/pango/pangomm/item.h
+++ b/libs/gtkmm2/pango/pangomm/item.h
@@ -132,18 +132,11 @@ public:
public:
/** Modifies @a orig to cover only the text after @a split_index , and
- * returns a new item that covers the text before @a split_index that
- * used to be in @a orig . You can think of @a split_index as the length of
- * the returned item. @a split_index may not be 0, and it may not be
- * greater than or equal to the length of @a orig (that is, there must
- * be at least one byte assigned to each item, you can't create a
- * zero-length item). @a split_offset is the length of the first item in
- * chars, and must be provided because the text used to generate the
- * item isn't available, so pango_item_split() can't count the char
- * length of the split items itself.
+ * Return value: new item representing text before @a split_index , which
* @param split_index Byte index of position to split item, relative to the start of the item.
* @param split_offset Number of chars between start of @a orig and @a split_index .
- * @return New item representing text before @a split_index .
+ * @return New item representing text before @a split_index , which
+ * should be freed with pango_item_free().
*/
Item split(int split_index, int split_offset);
diff --git a/libs/gtkmm2/pango/pangomm/language.h b/libs/gtkmm2/pango/pangomm/language.h
index 9887f64bda..dc6cf0f660 100644
--- a/libs/gtkmm2/pango/pangomm/language.h
+++ b/libs/gtkmm2/pango/pangomm/language.h
@@ -94,7 +94,20 @@ enum Script
SCRIPT_SHAVIAN,
SCRIPT_LINEAR_B,
SCRIPT_TAI_LE,
- SCRIPT_UGARITIC
+ SCRIPT_UGARITIC,
+ SCRIPT_NEW_TAI_LUE,
+ SCRIPT_BUGINESE,
+ SCRIPT_GLAGOLITIC,
+ SCRIPT_TIFINAGH,
+ SCRIPT_SYLOTI_NAGRI,
+ SCRIPT_OLD_PERSIAN,
+ SCRIPT_KHAROSHTHI,
+ SCRIPT_UNKNOWN,
+ SCRIPT_BALINESE,
+ SCRIPT_CUNEIFORM,
+ SCRIPT_PHOENICIAN,
+ SCRIPT_PHAGS_PA,
+ SCRIPT_NKO
};
} // namespace Pango
@@ -179,10 +192,11 @@ public:
/** Checks if a language tag matches one of the elements in a list of
* language ranges. A language tag is considered to match a range
* in the list if the range is '*', the range is exactly the tag,
- * or the range is a prefix of the tag, and the character after the
- * tag is '-'.
- * @param range_list A list of language ranges, separated by ';' characters.
- * each element must either be '*', or a RFC 3066 language range
+ * or the range is a prefix of the tag, and the character after it
+ * in the tag is '-'.
+ * @param range_list A list of language ranges, separated by ';', ':',
+ * ',', or space characters.
+ * Each element must either be '*', or a RFC 3066 language range
* canonicalized as by pango_language_from_string().
* @return <tt>true</tt> if a match was found.
*/
@@ -200,7 +214,9 @@ public:
* applications in most circumstances.
* @param script A Pango::Script.
* @return <tt>true</tt> if @a script is one of the scripts used
- * to write @a language , or if nothing is known about @a language .
+ * to write @a language or if nothing is known about @a language
+ * (including the case that @a language is <tt>0</tt>),
+ * <tt>false</tt> otherwise.
*
* Since: 1.4.
*/
@@ -227,10 +243,13 @@ inline void swap(Language& lhs, Language& rhs)
namespace Glib
{
-/** @relates Pango::Language
- * @param object The C instance
+/** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Pango::Language
*/
Pango::Language wrap(PangoLanguage* object, bool take_copy = false);
diff --git a/libs/gtkmm2/pango/pangomm/layout.cc b/libs/gtkmm2/pango/pangomm/layout.cc
index 91fbeb1a6e..e025f94f7a 100644
--- a/libs/gtkmm2/pango/pangomm/layout.cc
+++ b/libs/gtkmm2/pango/pangomm/layout.cc
@@ -323,6 +323,11 @@ WrapMode Layout::get_wrap() const
return ((WrapMode)(pango_layout_get_wrap(const_cast<PangoLayout*>(gobj()))));
}
+bool Layout::is_wrapped() const
+{
+ return pango_layout_is_wrapped(const_cast<PangoLayout*>(gobj()));
+}
+
void Layout::set_indent(int indent)
{
pango_layout_set_indent(gobj(), indent);
@@ -403,6 +408,16 @@ EllipsizeMode Layout::get_ellipsize() const
return ((EllipsizeMode)(pango_layout_get_ellipsize(const_cast<PangoLayout*>(gobj()))));
}
+bool Layout::is_ellipsized() const
+{
+ return pango_layout_is_ellipsized(const_cast<PangoLayout*>(gobj()));
+}
+
+int Layout::get_unknown_glyphs_count() const
+{
+ return pango_layout_get_unknown_glyphs_count(const_cast<PangoLayout*>(gobj()));
+}
+
void Layout::context_changed()
{
pango_layout_context_changed(gobj());
@@ -466,7 +481,7 @@ Glib::RefPtr<LayoutLine> Layout::get_line(int line)
Glib::RefPtr<const LayoutLine> Layout::get_line(int line) const
{
- Glib::RefPtr<const LayoutLine> retvalue = Glib::wrap(pango_layout_get_line(const_cast<PangoLayout*>(gobj()), line));
+ Glib::RefPtr<const LayoutLine> retvalue = Glib::wrap(pango_layout_get_line_readonly(const_cast<PangoLayout*>(gobj()), line));
if(retvalue)
retvalue->reference(); //The function does not do a ref for us.
return retvalue;
@@ -480,7 +495,7 @@ SListHandle_LayoutLine Layout::get_lines()
SListHandle_ConstLayoutLine Layout::get_lines() const
{
- return SListHandle_ConstLayoutLine(pango_layout_get_lines(const_cast<PangoLayout*>(gobj())), Glib::OWNERSHIP_SHALLOW);
+ return SListHandle_ConstLayoutLine(pango_layout_get_lines_readonly(const_cast<PangoLayout*>(gobj())), Glib::OWNERSHIP_SHALLOW);
}
diff --git a/libs/gtkmm2/pango/pangomm/layout.h b/libs/gtkmm2/pango/pangomm/layout.h
index 6c836c73d6..22fac88273 100644
--- a/libs/gtkmm2/pango/pangomm/layout.h
+++ b/libs/gtkmm2/pango/pangomm/layout.h
@@ -238,7 +238,9 @@ public:
/** Does a deep copy-by-value of the @a src layout. The attribute list,
* tab array, and text from the original layout are all copied by
* value.
- * @return A new Pango::Layout identical to @a src .
+ * @return The newly allocated Pango::Layout, with a reference
+ * count of one, which should be freed with
+ * Glib::object_unref().
*/
Glib::RefPtr<Layout> copy();
@@ -250,6 +252,7 @@ public:
Glib::RefPtr<Context> get_context() const;
/** Sets the text attributes for a layout object.
+ * References @a attrs , so the caller can unref its reference.
* @param attrs A Pango::AttrList.
*/
void set_attributes(AttrList& attrs);
@@ -307,22 +310,24 @@ public:
* or <tt>0</tt> if the font description from the layout's
* context is inherited. This value is owned by the layout
* and must not be modified or freed.
+ *
+ * Since: 1.8.
*/
FontDescription get_font_description() const;
- /** Sets the width to which the lines of the Pango::Layout should be wrapped.
- * @param width The desired width, or -1 to indicate that no wrapping should be
- * performed.
+ /** Sets the width to which the lines of the Pango::Layout should wrap.
+ * @param width The desired width in Pango units, or -1 to indicate that no
+ * wrapping should be performed.
*/
void set_width(int width);
- /** Gets the width to which the lines of the Pango::Layout should be wrapped.
- * @return The width.
+ /** Gets the width to which the lines of the Pango::Layout should wrap.
+ * @return The width, or -1 if no width set.
*/
int get_width() const;
- /** Sets the wrap mode; the wrap mode only has an effect if a width
+ /** Sets the wrap mode; the wrap mode only has effect if a width
* is set on the layout with pango_layout_set_width(). To turn off wrapping,
* set the width to -1.
* @param wrap The wrap mode.
@@ -330,46 +335,66 @@ public:
void set_wrap(WrapMode wrap);
/** Gets the wrap mode for the layout.
+ *
+ * Use pango_layout_is_wrapped() to query whether any paragraphs
+ * were actually wrapped.
* @return Active wrap mode.
*/
WrapMode get_wrap() const;
- /** Sets the width in pango units to indent each paragraph. A negative value
- * of @a indent will produce a hanging indent. That is, the first line will
+ /** Queries whether the layout had to wrap any paragraphs.
+ *
+ * This returns <tt>true</tt> if a positive width is set on @a layout ,
+ * ellipsization mode of @a layout is set to Pango::ELLIPSIZE_NONE,
+ * and there are paragraphs exceeding the layout width that have
+ * to be wrapped.
+ * @return <tt>true</tt> if any paragraphs had to be wrapped, <tt>false</tt>
+ * otherwise.
+ *
+ * Since: 1.16.
+ */
+ bool is_wrapped() const;
+
+ /** Sets the width in Pango units to indent each paragraph. A negative value
+ * of @a indent will produce a hanging indentation. That is, the first line will
* have the full width, and subsequent lines will be indented by the
* absolute value of @a indent .
- * @param indent The amount by which to indentset.
+ * @param indent The amount by which to indent.
*/
void set_indent(int indent);
- /** Gets the paragraph indent width in pango units. A negative value
- * indicates a hanging indent.
+ /** Gets the paragraph indent width in Pango units. A negative value
+ * indicates a hanging indentation.
* @return The indent.
*/
int get_indent() const;
- /** Sets the amount of spacing between the lines of the layout.
+ /** Sets the amount of spacing in Pango::GlyphUnit between the lines of the
+ * layout.
* @param spacing The amount of spacing.
*/
void set_spacing(int spacing);
- /** Gets the amount of spacing between the lines of the layout.
- * @return The spacing (in Pango::GlyphUnit).
+ /** Gets the amount of spacing in Pango::GlyphUnit between the lines of the
+ * layout.
+ * @return The spacing.
*/
int get_spacing() const;
- /** Sets whether or not each complete line should be stretched to
+ /** Sets whether each complete line should be stretched to
* fill the entire width of the layout. This stretching is typically
* done by adding whitespace, but for some scripts (such as Arabic),
- * the justification is done by extending the characters.
+ * the justification may be done in more complex ways, like extending
+ * the characters.
*
- * Note that as of Pango-1.4, this functionality is not yet implemented.
+ * Note that this setting is not implemented and so is ignored in Pango
+ * older than 1.18.
* @param justify Whether the lines in the layout should be justified.
*/
void set_justify(bool justify = true);
- /** Gets whether or not each complete line should be stretched to
- * fill the entire width of the layout.
+ /** Gets whether each complete line should be stretched to fill the entire
+ * width of the layout.
* @return The justify.
*/
bool get_justify() const;
@@ -378,8 +403,10 @@ public:
/** Gets whether to calculate the bidirectional base direction
* for the layout according to the contents of the layout.
* See pango_layout_set_auto_dir().
- * @return If <tt>true</tt>, the bidirectional base direction
- * is computed from the layout's contents.
+ * @return <tt>true</tt> if the bidirectional base direction
+ * is computed from the layout's contents, <tt>false</tt> otherwise.
+ *
+ * Since: 1.4.
*/
bool get_auto_dir() const;
@@ -393,27 +420,29 @@ public:
* characters get their direction from the surrounding paragraphs.
*
* When <tt>false</tt>, the choice between left-to-right and
- * right-to-left layout is done by according to the base direction
+ * right-to-left layout is done according to the base direction
* of the layout's Pango::Context. (See pango_context_set_base_dir()).
*
- * When the auto-computed direction or a paragraph differs from the
- * base direction of the context, then the interpretation of
+ * When the auto-computed direction of a paragraph differs from the
+ * base direction of the context, the interpretation of
* Pango::ALIGN_LEFT and Pango::ALIGN_RIGHT are swapped.
+ *
+ * Since: 1.4
* @param auto_dir If <tt>true</tt>, compute the bidirectional base direction
* from the layout's contents.
*/
void set_auto_dir(bool auto_dir = true);
- /** Sets the alignment for the layout (how partial lines are
- * positioned within the horizontal space available.)
- * @param alignment The new alignment.
+ /** Sets the alignment for the layout: how partial lines are
+ * positioned within the horizontal space available.
+ * @param alignment The alignment.
*/
void set_alignment(Alignment alignment);
- /** Sets the alignment for the layout (how partial lines are
- * positioned within the horizontal space available.)
- * @return The alignment value.
+ /** Gets the alignment for the layout: how partial lines are
+ * positioned within the horizontal space available.
+ * @return The alignment.
*/
Alignment get_alignment() const;
@@ -443,8 +472,8 @@ public:
void set_single_paragraph_mode(bool setting = true);
/** Obtains the value set by pango_layout_set_single_paragraph_mode().
- * @return <tt>true</tt> if the layout does not break paragraphs at
- * paragraph separator characters.
+ * @return <tt>true</tt> if the layout does not break paragraphs at
+ * paragraph separator characters, <tt>false</tt> otherwise.
*/
bool get_single_paragraph_mode() const;
@@ -465,13 +494,39 @@ public:
/** Gets the type of ellipsization being performed for @a layout .
* See pango_layout_set_ellipsize()
- * @return The current ellipsization mode for @a layout
+ * @return The current ellipsization mode for @a layout .
+ *
+ * Use pango_layout_is_ellipsized() to query whether any paragraphs
+ * were actually ellipsized.
*
* Since: 1.6.
*/
EllipsizeMode get_ellipsize() const;
+ /** Queries whether the layout had to ellipsize any paragraphs.
+ *
+ * This returns <tt>true</tt> if the ellipsization mode for @a layout
+ * is not Pango::ELLIPSIZE_NONE, a positive width is set on @a layout ,
+ * and there are paragraphs exceeding that width that have to be
+ * ellipsized.
+ * @return <tt>true</tt> if any paragraphs had to be ellipsized, <tt>false</tt>
+ * otherwise.
+ *
+ * Since: 1.16.
+ */
+ bool is_ellipsized() const;
+
+ /** Counts the number unknown glyphs in @a layout . That is, zero if
+ * glyphs for all characters in the layout text were found, or more
+ * than zero otherwise.
+ * @return The number of unknown glyphs in @a layout .
+ *
+ * Since: 1.16.
+ */
+ int get_unknown_glyphs_count() const;
+
+
/** Forces recomputation of any state in the Pango::Layout that
* might depend on the layout's context. This function should
* be called if you make changes to the context subsequent
@@ -497,13 +552,13 @@ public:
/** Converts from byte @a index within the @a layout to line and X position.
* (X position is measured from the left edge of the line)
* @param index The byte index of a grapheme within the layout.
- * @param trailing An integer indicating the edge of the grapheme to retrieve the
- * position of. If 0, the trailing edge of the grapheme, if &gt; 0,
+ * @param trailing An integer indicating the edge of the grapheme to retrieve the
+ * position of. If 0, the trailing edge of the grapheme, if &gt; 0,
* the leading of the grapheme.
* @param line Location to store resulting line index. (which will
* between 0 and pango_layout_get_line_count(layout) - 1).
* @param x_pos Location to store resulting position within line
- * (in thousandths of a device unit).
+ * (Pango::SCALE units per device unit).
*/
void index_to_line_x(int index_, bool trailing, int& line, int& x_pos) const;
@@ -536,13 +591,13 @@ public:
/** Computes a new cursor position from an old position and
- * a count of positions to move visually. If @a count is positive,
+ * a count of positions to move visually. If @a direction is positive,
* then the new strong cursor position will be one position
- * to the right of the old cursor position. If @a count is position
+ * to the right of the old cursor position. If @a direction is negative,
* then the new strong cursor position will be one position
- * to the left of the old cursor position.
+ * to the left of the old cursor position.
*
- * In the presence of bidirection text, the correspondence
+ * In the presence of bidirectional text, the correspondence
* between logical and visual order will depend on the direction
* of the current run, and there may be jumps when the cursor
* is moved off of the end of a run.
@@ -555,14 +610,14 @@ public:
* weak cursor. The strong cursor is the cursor corresponding
* to text insertion in the base direction for the layout.
* @param old_index The byte index of the grapheme for the old index.
- * @param old_trailing If 0, the cursor was at the trailing edge of the
+ * @param old_trailing If 0, the cursor was at the trailing edge of the
* grapheme indicated by @a old_index , if &gt; 0, the cursor
* was at the leading edge.
* @param direction Direction to move cursor. A negative
* value indicates motion to the left.
- * @param new_index Location to store the new cursor byte index. A value of -1
+ * @param new_index Location to store the new cursor byte index. A value of -1
* indicates that the cursor has been moved off the beginning
- * of the layout. A value of G_MAXINT indicates that
+ * of the layout. A value of G::MAXINT indicates that
* the cursor has been moved off the end of the layout.
* @param new_trailing Number of characters to move forward from the location returned
* for @a new_index to get the position where the cursor should
@@ -576,7 +631,7 @@ public:
int& new_index, int& new_trailing) const;
- /** Converts from X and Y position within a layout to the byte
+ /** Converts from X and Y position within a layout to the byte
* index to the character at that logical position. If the
* Y position is not inside the layout, the closest position is chosen
* (the position will be clamped inside the layout). If the
@@ -593,7 +648,7 @@ public:
* in the grapheme the user clicked. It will either
* be zero, or the number of characters in the
* grapheme. 0 represents the trailing edge of the grapheme.
- * @return <tt>true</tt> if the coordinates were inside text.
+ * @return <tt>true</tt> if the coordinates were inside text, <tt>false</tt> otherwise.
*/
bool xy_to_index(int x, int y, int& index, int& trailing) const;
@@ -640,7 +695,7 @@ public:
/** Determines the logical width and height of a Pango::Layout
- * in Pango units. (device units divided by Pango::SCALE). This
+ * in Pango units (device units scaled by Pango::SCALE). This
* is simply a convenience function around pango_layout_get_extents().
* @param width Location to store the logical width, or <tt>0</tt>.
* @param height Location to store the logical height, or <tt>0</tt>.
@@ -649,8 +704,9 @@ public:
/** Determines the logical width and height of a Pango::Layout
* in device units. (pango_layout_get_size() returns the width
- * and height in thousandths of a device unit.) This
- * is simply a convenience function around pango_layout_get_extents().
+ * and height scaled by Pango::SCALE.) This
+ * is simply a convenience function around
+ * pango_layout_get_pixel_extents().
* @param width Location to store the logical width, or <tt>0</tt>.
* @param height Location to store the logical height, or <tt>0</tt>.
*/
@@ -662,8 +718,12 @@ public:
*/
int get_line_count() const;
+ //Note that the const version uses a different (faster) C function:
/** Retrieves a particular line from a Pango::Layout.
+ *
+ * Use the faster pango_layout_get_line_readonly() if you do not plan
+ * to modify the contents of the line (glyphs, glyph widths, etc.).
* @param line The index of a line, which must be between 0 and
* <tt>pango_layout_get_line_count(layout) - 1</tt>, inclusive.
* @return The requested Pango::LayoutLine, or <tt>0</tt> if the
@@ -674,17 +734,25 @@ public:
Glib::RefPtr<LayoutLine> get_line(int line);
/** Retrieves a particular line from a Pango::Layout.
+ *
+ * This is a faster alternative to pango_layout_get_line(),
+ * but the user is not expected
+ * to modify the contents of the line (glyphs, glyph widths, etc.).
* @param line The index of a line, which must be between 0 and
* <tt>pango_layout_get_line_count(layout) - 1</tt>, inclusive.
* @return The requested Pango::LayoutLine, or <tt>0</tt> if the
* index is out of range. This layout line can
* be ref'ed and retained, but will become invalid
* if changes are made to the Pango::Layout.
+ * No changes should be made to the line.
+ *
+ * Since: 1.16.
*/
- Glib::RefPtr<const LayoutLine> get_line(int line) const;
-
+ Glib::RefPtr<const LayoutLine> get_line(int line) const;
+
+ //Note that the const version uses a different (faster) C function:
- /** Returns the lines of the @a layout as a list.
+ /** Return value: a G::SList containing the lines in the layout. This
* @return A G::SList containing the lines in the layout. This
* points to internal data of the Pango::Layout and must be used with
* care. It will become invalid on any change to the layout's
@@ -692,11 +760,13 @@ public:
*/
SListHandle_LayoutLine get_lines();
- /** Returns the lines of the @a layout as a list.
+ /** Return value: a G::SList containing the lines in the layout. This
* @return A G::SList containing the lines in the layout. This
* points to internal data of the Pango::Layout and must be used with
* care. It will become invalid on any change to the layout's
- * text or properties.
+ * text or properties. No changes should be made to the lines.
+ *
+ * Since: 1.16.
*/
SListHandle_ConstLayoutLine get_lines() const;
@@ -739,10 +809,13 @@ protected:
namespace Glib
{
- /** @relates Pango::Layout
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Pango::Layout
*/
Glib::RefPtr<Pango::Layout> wrap(PangoLayout* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/pango/pangomm/layoutiter.h b/libs/gtkmm2/pango/pangomm/layoutiter.h
index a76d73932e..f0220e6026 100644
--- a/libs/gtkmm2/pango/pangomm/layoutiter.h
+++ b/libs/gtkmm2/pango/pangomm/layoutiter.h
@@ -67,14 +67,24 @@ public:
* line, there's a position with a <tt>0</tt> run, so this function can return
* <tt>0</tt>. The <tt>0</tt> run at the end of each line ensures that all lines have
* at least one run, even lines consisting of only a newline.
+ *
+ * Use the faster pango_layout_iter_get_run_readonly() if you do not plan
+ * to modify the contents of the run (glyphs, glyph widths, etc.).
* @return The current run.
*/
LayoutRun get_run() const;
+ //TODO: Use pango_layout_iter_get_run_readonly()?
+
/** Gets the current line.
+ *
+ * Use the faster pango_layout_iter_get_line_readonly() if you do not plan
+ * to modify the contents of the line (glyphs, glyph widths, etc.).
* @return The current line.
*/
Glib::RefPtr<LayoutLine> get_line() const;
+ //TODO: We should really have a const and non-const version: _WRAP_METHOD(Glib::RefPtr<const LayoutLine> get_line() const, pango_layout_iter_get_line_readonly, refreturn)
+
/** Determines whether @a iter is on the last line of the layout.
* @return <tt>true</tt> if @a iter is on the last line.
@@ -115,8 +125,8 @@ public:
/** Gets the extents of the current cluster, in layout coordinates
* (origin is the top left of the entire layout).
- * @param ink_rect Rectangle to fill with ink extents.
- * @param logical_rect Rectangle to fill with logical extents.
+ * @param ink_rect Rectangle to fill with ink extents, or <tt>0</tt>.
+ * @param logical_rect Rectangle to fill with logical extents, or <tt>0</tt>.
*/
void get_cluster_extents(Rectangle& ink_rect, Rectangle& logical_rect) const;
@@ -133,8 +143,8 @@ public:
/** Gets the extents of the current run in layout coordinates
* (origin is the top left of the entire layout).
- * @param ink_rect Rectangle to fill with ink extents.
- * @param logical_rect Rectangle to fill with logical extents.
+ * @param ink_rect Rectangle to fill with ink extents, or <tt>0</tt>.
+ * @param logical_rect Rectangle to fill with logical extents, or <tt>0</tt>.
*/
void get_run_extents(Rectangle& ink_rect, Rectangle& logical_rect) const;
@@ -155,8 +165,8 @@ public:
* Pango::Layout). Thus the extents returned by this function will be
* the same width/height but not at the same x/y as the extents
* returned from pango_layout_line_get_extents().
- * @param ink_rect Rectangle to fill with ink extents.
- * @param logical_rect Rectangle to fill with logical extents.
+ * @param ink_rect Rectangle to fill with ink extents, or <tt>0</tt>.
+ * @param logical_rect Rectangle to fill with logical extents, or <tt>0</tt>.
*/
void get_line_extents(Rectangle& ink_rect, Rectangle& logical_rect) const;
@@ -176,7 +186,7 @@ public:
* the current line. A line's range includes the line's logical
* extents, plus half of the spacing above and below the line, if
* pango_layout_set_spacing() has been called to set layout spacing.
- * The y positions are in layout coordinates (origin at top left of the
+ * The Y positions are in layout coordinates (origin at top left of the
* entire layout).
* @param y0 Start of line.
* @param y1 End of line.
@@ -187,8 +197,8 @@ public:
/** Obtains the extents of the Pango::Layout being iterated
* over. @a ink_rect or @a logical_rect can be <tt>0</tt> if you
* aren't interested in them.
- * @param ink_rect Rectangle to fill with ink extents.
- * @param logical_rect Rectangle to fill with logical extents.
+ * @param ink_rect Rectangle to fill with ink extents, or <tt>0</tt>.
+ * @param logical_rect Rectangle to fill with logical extents, or <tt>0</tt>.
*/
void get_layout_extents(Rectangle& ink_rect, Rectangle& logical_rect) const;
@@ -203,7 +213,7 @@ public:
Rectangle get_layout_logical_extents() const;
- /** Gets the y position of the current line's baseline, in layout
+ /** Gets the Y position of the current line's baseline, in layout
* coordinates (origin at top left of the entire layout).
* @return Baseline of current line.
*/
diff --git a/libs/gtkmm2/pango/pangomm/layoutline.h b/libs/gtkmm2/pango/pangomm/layoutline.h
index 97ae47ba5b..a71a2bca4b 100644
--- a/libs/gtkmm2/pango/pangomm/layoutline.h
+++ b/libs/gtkmm2/pango/pangomm/layoutline.h
@@ -89,7 +89,7 @@ public:
* left of the line results in @a index pointing to the (logical) last
* grapheme in the line and @a trailing being set to the number of characters
* in that grapheme. The reverse is true for a left-to-right line.
- * @param x_pos The x offset (in Pango::GlyphUnit)
+ * @param x_pos The X offset (in Pango::GlyphUnit)
* from the left edge of the line.
* @param index Location to store calculated byte index for
* the grapheme in which the user clicked.
@@ -227,10 +227,13 @@ typedef Glib::SListHandle< Glib::RefPtr<const LayoutLine>, LayoutLineTraits > SL
namespace Glib
{
- /** @relates Pango::LayoutLine
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Pango::LayoutLine
*/
Glib::RefPtr<Pango::LayoutLine> wrap(PangoLayoutLine* object, bool take_copy = false);
diff --git a/libs/gtkmm2/pango/pangomm/private/Makefile.am b/libs/gtkmm2/pango/pangomm/private/Makefile.am
new file mode 100644
index 0000000000..6ec5af36a5
--- /dev/null
+++ b/libs/gtkmm2/pango/pangomm/private/Makefile.am
@@ -0,0 +1,11 @@
+## Copyright (c) 2001
+## The gtkmm development team.
+
+include $(srcdir)/../../src/Makefile_list_of_hg.am_fragment
+files_built_p_h = $(files_all_hg:.hg=_p.h)
+
+private_includedir = $(includedir)/pangomm-1.4/pangomm/private
+private_include_HEADERS = $(files_built_p_h)
+
+maintainer-clean-local:
+ (cd $(srcdir) && rm -f $(files_built_p_h))
diff --git a/libs/gtkmm2/pango/pangomm/private/Makefile.in b/libs/gtkmm2/pango/pangomm/private/Makefile.in
new file mode 100644
index 0000000000..03d1123e3f
--- /dev/null
+++ b/libs/gtkmm2/pango/pangomm/private/Makefile.in
@@ -0,0 +1,491 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+
+# This file is include by other Makefile.am files, using the new automake include feature.
+# The include happens in Makefile.am, not Makefile.in or Makefile,
+# so it's like copy-and-pasting this into each of those Makefile.am files.
+
+# Built files
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = $(private_include_HEADERS) \
+ $(srcdir)/../../src/Makefile_list_of_hg.am_fragment \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment
+subdir = pango/pangomm/private
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+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 = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(private_includedir)"
+private_includeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(private_include_HEADERS)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+files_posix_hg =
+files_win32_hg =
+files_general_hg = attributes.hg attriter.hg attrlist.hg cairofontmap.hg color.hg context.hg coverage.hg \
+ font.hg fontdescription.hg fontface.hg fontfamily.hg fontmap.hg fontmetrics.hg fontset.hg \
+ glyph.hg glyphstring.hg item.hg language.hg layout.hg layoutiter.hg layoutline.hg layoutrun.hg \
+ rectangle.hg renderer.hg tabarray.hg
+
+files_general_deprecated_hg =
+files_all_hg = \
+ $(files_posix_hg) \
+ $(files_win32_hg) \
+ $(files_general_hg) \
+ $(files_general_deprecated_hg)
+
+@OS_WIN32_FALSE@files_hg = $(files_general_hg) $(files_posix_hg) $(files_general_deprecated_hg)
+@OS_WIN32_TRUE@files_hg = $(files_general_hg) $(files_win32_hg) $(files_general_deprecated_hg)
+files_built_cc = $(files_hg:.hg=.cc) wrap_init.cc
+files_built_h = $(files_hg:.hg=.h)
+files_all_built_cc = $(files_all_hg:.hg=.cc) wrap_init.cc
+files_all_built_h = $(files_all_hg:.hg=.h)
+
+# Extra files
+files_all_extra_cc = \
+ $(sublib_files_extra_posix_cc) \
+ $(sublib_files_extra_win32_cc) \
+ $(sublib_files_extra_general_cc) \
+ $(sublib_files_extra_general_deprecated_cc)
+
+files_all_extra_h = $(sublib_files_extra_posix_h) \
+ $(sublib_files_extra_win32_h) $(sublib_files_extra_general_h) \
+ $(sublib_files_extra_general_deprecated_h) wrap_init.h
+@OS_WIN32_FALSE@files_extra_cc = \
+@OS_WIN32_FALSE@ $(sublib_files_extra_posix_cc) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_TRUE@files_extra_cc = \
+@OS_WIN32_TRUE@ $(sublib_files_extra_win32_cc) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_FALSE@files_extra_h = $(sublib_files_extra_posix_h) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_h) wrap_init.h
+@OS_WIN32_TRUE@files_extra_h = $(sublib_files_extra_win32_h) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_h) wrap_init.h
+files_built_p_h = $(files_all_hg:.hg=_p.h)
+private_includedir = $(includedir)/pangomm-1.4/pangomm/private
+private_include_HEADERS = $(files_built_p_h)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../../src/Makefile_list_of_hg.am_fragment $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pango/pangomm/private/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu pango/pangomm/private/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
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-private_includeHEADERS: $(private_include_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(private_includedir)" || $(MKDIR_P) "$(DESTDIR)$(private_includedir)"
+ @list='$(private_include_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(private_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(private_includedir)/$$f'"; \
+ $(private_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(private_includedir)/$$f"; \
+ done
+
+uninstall-private_includeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(private_include_HEADERS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(private_includedir)/$$f'"; \
+ rm -f "$(DESTDIR)$(private_includedir)/$$f"; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(HEADERS)
+installdirs:
+ for dir in "$(DESTDIR)$(private_includedir)"; 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)
+
+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 distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-private_includeHEADERS
+
+install-dvi: install-dvi-am
+
+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
+
+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-private_includeHEADERS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool ctags 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-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-private_includeHEADERS 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 tags uninstall \
+ uninstall-am uninstall-private_includeHEADERS
+
+
+maintainer-clean-local:
+ (cd $(srcdir) && rm -f $(files_built_p_h))
+# 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:
diff --git a/libs/gtkmm2/pango/pangomm/renderer.h b/libs/gtkmm2/pango/pangomm/renderer.h
index da16a59279..88b1c2ee3a 100644
--- a/libs/gtkmm2/pango/pangomm/renderer.h
+++ b/libs/gtkmm2/pango/pangomm/renderer.h
@@ -82,7 +82,9 @@ namespace Pango
{
-/** TODO.
+/** Pango::Renderer is a base class that contains the necessary logic for rendering a Pango::Layout or Pango::LayoutLine.
+ * By subclassing Pango::Renderer and overriding operations such as draw_glyphs and draw_rectangle,
+ * renderers for particular font backends and destinations can be created.
*/
class Renderer : public Glib::Object
@@ -141,7 +143,7 @@ public:
* @param layout A Pango::Layout.
* @param x X position of left edge of baseline, in user space coordinates
* in Pango units.
- * @param y X position of left edge of baseline, in user space coordinates
+ * @param y Y position of left edge of baseline, in user space coordinates
* in Pango units.
*/
void draw_layout(const Glib::RefPtr<Layout>& layout, int x, int y);
@@ -152,7 +154,7 @@ public:
* @param line A Pango::LayoutLine.
* @param x X position of left edge of baseline, in user space coordinates
* in Pango units.
- * @param y X position of left edge of baseline, in user space coordinates
+ * @param y Y position of left edge of baseline, in user space coordinates
* in Pango units.
*/
void draw_layout_line(const Glib::RefPtr<LayoutLine>& line, int x, int y);
@@ -164,7 +166,7 @@ public:
* @param glyphs A Pango::GlyphString.
* @param x X position of left edge of baseline, in user space coordinates
* in Pango units.
- * @param y X position of left edge of baseline, in user space coordinates
+ * @param y Y position of left edge of baseline, in user space coordinates
* in Pango units.
*/
void draw_glyphs(const Glib::RefPtr<Font>& font, const GlyphString& glyphs, int x, int y);
@@ -172,12 +174,15 @@ public:
/** Draws an axis-aligned rectangle in user space coordinates with the
* specified Pango::Renderer.
*
+ * This should be called while @a renderer is already active. Use
+ * activate() to activate a renderer.
+ *
* Since: 1.8
* @param part Type of object this rectangle is part of.
* @param x X position at which to draw rectangle, in user space coordinates in Pango units.
* @param y Y position at which to draw rectangle, in user space coordinates in Pango units.
- * @param width Width of rectangle in PangoUnits in user space coordinates.
- * @param height Height of rectangle in PangoUnits in user space coordinates.
+ * @param width Width of rectangle in Pango units in user space coordinates.
+ * @param height Height of rectangle in Pango units in user space coordinates.
*/
void draw_rectangle(RenderPart part, int x, int y, int width, int height);
@@ -187,6 +192,9 @@ public:
* of up/down segments and the resulting rectangle is centered
* in the original rectangle)
*
+ * This should be called while @a renderer is already active. Use
+ * activate() to activate a renderer.
+ *
* Since: 1.8
* @param x X coordinate of underline, in Pango units in user coordinate system.
* @param y Y coordinate of underline, in Pango units in user coordinate system.
@@ -203,9 +211,9 @@ public:
* @param y1 Y coordinate of top of trapezoid.
* @param x11 X coordinate of left end of top of trapezoid.
* @param x21 X coordinate of right end of top of trapezoid.
- * @param y2 X coordinate of top of trapezoid.
- * @param x12 X coordinate of left end of top of trapezoid.
- * @param x22 Y coordinate of left end of top of trapezoid.
+ * @param y2 Y coordinate of bottom of trapezoid.
+ * @param x12 X coordinate of left end of bottom of trapezoid.
+ * @param x22 X coordinate of right end of bottom of trapezoid.
*/
void draw_trapezoid(RenderPart part, double y1, double x11, double x21, double y2, double x12, double x22);
@@ -240,7 +248,7 @@ public:
void deactivate();
- /** Informs Pango that the way that the renderering is done
+ /** Informs Pango that the way that the rendering is done
* for @a part has changed in a way that would prevent multiple
* pieces being joined together into one drawing call. For
* instance, if a subclass of Pango::Renderer was to add a stipple
@@ -314,10 +322,13 @@ protected:
namespace Glib
{
- /** @relates Pango::Renderer
- * @param object The C instance
+ /** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Pango::Renderer
*/
Glib::RefPtr<Pango::Renderer> wrap(PangoRenderer* object, bool take_copy = false);
}
diff --git a/libs/gtkmm2/pango/pangomm/tabarray.h b/libs/gtkmm2/pango/pangomm/tabarray.h
index c8fc543933..be5cbfcf9d 100644
--- a/libs/gtkmm2/pango/pangomm/tabarray.h
+++ b/libs/gtkmm2/pango/pangomm/tabarray.h
@@ -135,7 +135,7 @@ public:
* implementation.
* @param tab_index The index of a tab stop.
* @param alignment Tab alignment.
- * @param location Tab location in pango units.
+ * @param location Tab location in Pango units.
*/
void set_tab(int tab_index, TabAlign alignment, int location);
@@ -150,8 +150,7 @@ public:
Glib::ArrayHandle< std::pair<TabAlign,int> > get_tabs() const;
- /** Returns <tt>true</tt> if the tab positions are in pixels, <tt>false</tt> if they are
- * in Pango units.
+ /** Return value: whether positions are in pixels.
* @return Whether positions are in pixels.
*/
bool get_positions_in_pixels() const;
@@ -177,10 +176,13 @@ inline void swap(TabArray& lhs, TabArray& rhs)
namespace Glib
{
-/** @relates Pango::TabArray
- * @param object The C instance
+/** A Glib::wrap() method for this object.
+ *
+ * @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
+ *
+ * @relates Pango::TabArray
*/
Pango::TabArray wrap(PangoTabArray* object, bool take_copy = false);
diff --git a/libs/gtkmm2/pango/src/Makefile.am b/libs/gtkmm2/pango/src/Makefile.am
new file mode 100644
index 0000000000..2afa289db6
--- /dev/null
+++ b/libs/gtkmm2/pango/src/Makefile.am
@@ -0,0 +1,16 @@
+## Copyright (c) 2001
+## The gtkmm development team.
+
+sublib_name = pangomm
+sublib_namespace = Pango
+sublib_parentdir = pangomm
+files_defs = pango.defs pango_methods.defs pango_enums.defs pango_vfuncs.defs \
+ pango_docs.xml pango_docs_override.xml
+
+include $(top_srcdir)/build_shared/Makefile_gensrc.am_fragment
+
+
+
+
+
+
diff --git a/libs/gtkmm2/pango/src/Makefile.in b/libs/gtkmm2/pango/src/Makefile.in
new file mode 100644
index 0000000000..ff6fd7e26d
--- /dev/null
+++ b/libs/gtkmm2/pango/src/Makefile.in
@@ -0,0 +1,464 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+
+# This file is include by other Makefile.am files, using the new automake include feature.
+# The include happens in Makefile.am, not Makefile.in or Makefile,
+# so it's like copy-and-pasting this into each of those Makefile.am files.
+
+# Built files
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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)/../src/Makefile_list_of_hg.am_fragment \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment \
+ $(top_srcdir)/build_shared/Makefile_gensrc.am_fragment \
+ $(top_srcdir)/tools/Makefile_list_of_sources.am_fragment \
+ $(top_srcdir)/tools/m4/Makefile_list_of_sources.am_fragment
+subdir = pango/src
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+sublib_name = pangomm
+sublib_namespace = Pango
+sublib_parentdir = pangomm
+files_defs = pango.defs pango_methods.defs pango_enums.defs pango_vfuncs.defs \
+ pango_docs.xml pango_docs_override.xml
+
+tools_dir = $(top_srcdir)/tools
+tools_dir_m4 = $(top_srcdir)/tools/m4
+tools_dir_pm = $(top_srcdir)/tools/pm
+gensrc_destdir = $(srcdir)/../$(sublib_name)
+stamp_dir = $(srcdir)/.stamps
+files_tools_m4 = convert.m4 convert_gtkmm.m4 convert_atk.m4 convert_gdk.m4 \
+ convert_gtk.m4 convert_pango.m4
+
+tools_m4 = $(files_tools_m4:%.m4=$(tools_dir_m4)/%.m4)
+files_posix_hg =
+files_win32_hg =
+files_general_hg = attributes.hg attriter.hg attrlist.hg cairofontmap.hg color.hg context.hg coverage.hg \
+ font.hg fontdescription.hg fontface.hg fontfamily.hg fontmap.hg fontmetrics.hg fontset.hg \
+ glyph.hg glyphstring.hg item.hg language.hg layout.hg layoutiter.hg layoutline.hg layoutrun.hg \
+ rectangle.hg renderer.hg tabarray.hg
+
+files_general_deprecated_hg =
+files_all_hg = \
+ $(files_posix_hg) \
+ $(files_win32_hg) \
+ $(files_general_hg) \
+ $(files_general_deprecated_hg)
+
+@OS_WIN32_FALSE@files_hg = $(files_general_hg) $(files_posix_hg) $(files_general_deprecated_hg)
+@OS_WIN32_TRUE@files_hg = $(files_general_hg) $(files_win32_hg) $(files_general_deprecated_hg)
+files_built_cc = $(files_hg:.hg=.cc) wrap_init.cc
+files_built_h = $(files_hg:.hg=.h)
+files_all_built_cc = $(files_all_hg:.hg=.cc) wrap_init.cc
+files_all_built_h = $(files_all_hg:.hg=.h)
+
+# Extra files
+files_all_extra_cc = \
+ $(sublib_files_extra_posix_cc) \
+ $(sublib_files_extra_win32_cc) \
+ $(sublib_files_extra_general_cc) \
+ $(sublib_files_extra_general_deprecated_cc)
+
+files_all_extra_h = $(sublib_files_extra_posix_h) \
+ $(sublib_files_extra_win32_h) $(sublib_files_extra_general_h) \
+ $(sublib_files_extra_general_deprecated_h) wrap_init.h
+@OS_WIN32_FALSE@files_extra_cc = \
+@OS_WIN32_FALSE@ $(sublib_files_extra_posix_cc) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_TRUE@files_extra_cc = \
+@OS_WIN32_TRUE@ $(sublib_files_extra_win32_cc) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_cc)
+
+@OS_WIN32_FALSE@files_extra_h = $(sublib_files_extra_posix_h) \
+@OS_WIN32_FALSE@ $(sublib_files_extra_general_h) wrap_init.h
+@OS_WIN32_TRUE@files_extra_h = $(sublib_files_extra_win32_h) \
+@OS_WIN32_TRUE@ $(sublib_files_extra_general_h) wrap_init.h
+# tools_pm = $(files_tools_pm:%.pm=$(tools_dir_pm)/%.pm)
+files_all_ccg = $(files_all_hg:%.hg=%.ccg)
+files_h = $(files_all_hg:%.hg=$(gensrc_destdir)/%.h)
+files_cc = $(files_all_hg:%.hg=$(gensrc_destdir)/%.cc)
+files_stamp = $(files_all_hg:%.hg=$(stamp_dir)/stamp-%)
+
+#Installed gmmproc stuff, from glibmm:
+gmmproc_path = $(GMMPROC)
+gmmproc_dir = $(GMMPROC_DIR)
+
+# We use our own m4 and pm files as well as the ones installed by gtkmm:
+# Our override m4 include seems to need to be before the default one.
+gmmproc_args = -I $(tools_dir_m4) --defs $(srcdir)
+run_gmmproc = $(gmmproc_path) $(gmmproc_args)
+gen_wrap_init_path = $(gmmproc_dir)/generate_wrap_init.pl
+gen_wrap_init_args = --namespace=$(sublib_namespace) --parent_dir=$(sublib_parentdir)
+run_gen_wrap_init = $(gen_wrap_init_path) $(gen_wrap_init_args)
+EXTRA_DIST = Makefile_list_of_hg.am_fragment \
+ $(files_defs) $(files_all_hg) $(files_all_ccg)
+
+sublib_srcdir = $(srcdir)/../src
+files_hg_with_path = $(patsubst %.hg,$(sublib_srcdir)/%.hg,$(files_all_hg))
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/build_shared/Makefile_gensrc.am_fragment $(top_srcdir)/tools/Makefile_list_of_sources.am_fragment $(top_srcdir)/tools/m4/Makefile_list_of_sources.am_fragment $(srcdir)/../src/Makefile_list_of_hg.am_fragment $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pango/src/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu pango/src/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
+
+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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+@MAINTAINER_MODE_FALSE@all-local:
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+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:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am all-local 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 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
+
+
+$(stamp_dir)/stamp-%: %.hg %.ccg $(tools_m4) $(files_defs)
+ $(run_gmmproc) $(notdir $*) $(srcdir) $(gensrc_destdir)
+ @echo 'timestamp' > $@
+
+$(gensrc_destdir)/wrap_init.cc: $(gen_wrap_init_path) $(files_hg_with_path)
+ $(run_gen_wrap_init) $(files_all_hg:%.hg=$(srcdir)/%.hg) >$@
+
+create-stamp-dir:
+ @(test -d $(stamp_dir) || mkdir $(stamp_dir))
+
+@MAINTAINER_MODE_TRUE@all-local: create-stamp-dir $(files_stamp) $(gensrc_destdir)/wrap_init.cc
+
+maintainer-clean-local:
+ rm -rf $(stamp_dir)
+# 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:
diff --git a/libs/gtkmm2/pango/src/Makefile_list_of_hg.am_fragment b/libs/gtkmm2/pango/src/Makefile_list_of_hg.am_fragment
new file mode 100644
index 0000000000..56750d767c
--- /dev/null
+++ b/libs/gtkmm2/pango/src/Makefile_list_of_hg.am_fragment
@@ -0,0 +1,15 @@
+# This file is include by other Makefile.am files, using the new automake include feature.
+# The include happens in Makefile.am, not Makefile.in or Makefile,
+# so it's like copy-and-pasting this into each of those Makefile.am files.
+
+files_posix_hg =
+files_win32_hg =
+files_general_hg = attributes.hg attriter.hg attrlist.hg cairofontmap.hg color.hg context.hg coverage.hg \
+ font.hg fontdescription.hg fontface.hg fontfamily.hg fontmap.hg fontmetrics.hg fontset.hg \
+ glyph.hg glyphstring.hg item.hg language.hg layout.hg layoutiter.hg layoutline.hg layoutrun.hg \
+ rectangle.hg renderer.hg tabarray.hg
+files_general_deprecated_hg =
+
+
+include $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment
+
diff --git a/libs/gtkmm2/pango/src/attributes.ccg b/libs/gtkmm2/pango/src/attributes.ccg
new file mode 100644
index 0000000000..aab2c65ce5
--- /dev/null
+++ b/libs/gtkmm2/pango/src/attributes.ccg
@@ -0,0 +1,351 @@
+/*
+ *
+ * Copyright 2002 Free Software Foundation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+namespace Pango
+{
+
+Attribute::Attribute()
+:
+ gobject_(0)
+{}
+
+Attribute::Attribute(const Attribute& src)
+:
+ gobject_(src.gobject_ ? pango_attribute_copy(src.gobject_) : 0)
+{}
+
+Attribute::Attribute(PangoAttribute* castitem, bool take_copy)
+{
+ if(take_copy)
+ {
+ if(castitem)
+ gobject_ = pango_attribute_copy(castitem);
+ else
+ gobject_ = 0;
+ }
+ else
+ {
+ // It was given to us by a function which has already made a copy for us to keep.
+ gobject_ = castitem;
+ }
+}
+
+Attribute::~Attribute()
+{
+ if(gobject_)
+ pango_attribute_destroy(gobject_);
+ gobject_ = 0;
+}
+
+Attribute& Attribute::operator=(const Attribute& src)
+{
+ PangoAttribute *const new_gobject = (src.gobject_ ? pango_attribute_copy(src.gobject_) : 0);
+
+ if(gobject_)
+ pango_attribute_destroy(gobject_);
+ gobject_ = new_gobject;
+
+ return *this;
+}
+
+AttrType Attribute::get_type() const
+{
+ return (AttrType) ((gobject_) ? gobj()->klass->type : PANGO_ATTR_INVALID);
+}
+
+AttrType Attribute::register_type(const Glib::ustring& name)
+{
+ return (AttrType)pango_attr_type_register(name.c_str());
+}
+
+AttrString Attribute::create_attr_family(const Glib::ustring& family)
+{
+ return Glib::wrap((PangoAttrString*)pango_attr_family_new(family.c_str()));
+}
+
+AttrLanguage Attribute::create_attr_language(const Language& language)
+{
+ return Glib::wrap((PangoAttrLanguage*)pango_attr_language_new(const_cast<PangoLanguage*>(language.gobj())));
+}
+
+AttrColor Attribute::create_attr_foreground(guint16 red, guint16 green, guint16 blue)
+{
+ return Glib::wrap((PangoAttrColor*)pango_attr_foreground_new(red, green, blue));
+}
+
+AttrColor Attribute::create_attr_background(guint16 red, guint16 green, guint16 blue)
+{
+ return Glib::wrap((PangoAttrColor*)pango_attr_background_new(red, green, blue));
+}
+
+AttrInt Attribute::create_attr_size(int size)
+{
+ return Glib::wrap((PangoAttrInt*)pango_attr_size_new(size));
+}
+
+AttrInt Attribute::create_attr_style(Style style)
+{
+ return Glib::wrap((PangoAttrInt*)pango_attr_style_new((PangoStyle)style));
+}
+
+AttrInt Attribute::create_attr_weight(Weight weight)
+{
+ return Glib::wrap((PangoAttrInt*)pango_attr_weight_new((PangoWeight)weight));
+}
+
+AttrInt Attribute::create_attr_variant(Variant variant)
+{
+ return Glib::wrap((PangoAttrInt*)pango_attr_variant_new((PangoVariant)variant));
+}
+
+AttrInt Attribute::create_attr_stretch(Stretch stretch)
+{
+ return Glib::wrap((PangoAttrInt*)pango_attr_stretch_new((PangoStretch)stretch));
+}
+
+AttrFontDesc Attribute::create_attr_font_desc(const FontDescription& desc)
+{
+ return Glib::wrap((PangoAttrFontDesc*)pango_attr_font_desc_new(desc.gobj()));
+}
+
+AttrInt Attribute::create_attr_underline(Underline underline)
+{
+ return Glib::wrap((PangoAttrInt*)pango_attr_underline_new((PangoUnderline)underline));
+}
+
+AttrInt Attribute::create_attr_strikethrough(bool strikethrough)
+{
+ return Glib::wrap((PangoAttrInt*)pango_attr_strikethrough_new(strikethrough));
+}
+
+AttrInt Attribute::create_attr_rise(int rise)
+{
+ return Glib::wrap((PangoAttrInt*)pango_attr_rise_new(rise));
+}
+
+AttrFloat Attribute::create_attr_scale(double scale_factor)
+{
+ return Glib::wrap((PangoAttrFloat*)pango_attr_scale_new(scale_factor));
+}
+
+AttrShape Attribute::create_attr_shape(const Rectangle& ink_rect, const Rectangle& logical_rect)
+{
+ return Glib::wrap((PangoAttrShape*)pango_attr_shape_new(ink_rect.gobj(), logical_rect.gobj()));
+}
+
+
+AttrString::AttrString()
+{}
+
+AttrString::AttrString(const AttrString& src)
+:
+ Attribute(src)
+{}
+
+AttrString::AttrString(PangoAttrString* castitem, bool take_copy)
+:
+ Attribute((PangoAttribute*)castitem, take_copy)
+{}
+
+AttrString& AttrString::operator=(const AttrString& src)
+{
+ Attribute::operator=(src);
+ return *this;
+}
+
+void AttrString::set_string(const Glib::ustring& str)
+{
+ g_free(gobj()->value);
+ gobj()->value = g_strdup(str.c_str());
+}
+
+
+AttrLanguage::AttrLanguage()
+{}
+
+AttrLanguage::AttrLanguage(const AttrLanguage& src)
+:
+ Attribute(src)
+{}
+
+AttrLanguage::AttrLanguage(PangoAttrLanguage* castitem, bool take_copy)
+:
+ Attribute((PangoAttribute*)castitem, take_copy)
+{}
+
+AttrLanguage& AttrLanguage::operator=(const AttrLanguage& src)
+{
+ Attribute::operator=(src);
+ return *this;
+}
+
+
+AttrColor::AttrColor()
+{}
+
+AttrColor::AttrColor(const AttrColor& src)
+:
+ Attribute(src)
+{}
+
+AttrColor::AttrColor(PangoAttrColor* castitem, bool take_copy)
+:
+ Attribute((PangoAttribute*)castitem, take_copy)
+{}
+
+AttrColor& AttrColor::operator=(const AttrColor& src)
+{
+ Attribute::operator=(src);
+ return *this;
+}
+
+
+AttrInt::AttrInt()
+{}
+
+AttrInt::AttrInt(const AttrInt& src)
+:
+ Attribute(src)
+{}
+
+AttrInt::AttrInt(PangoAttrInt* castitem, bool take_copy)
+:
+ Attribute((PangoAttribute*)castitem, take_copy)
+{}
+
+AttrInt& AttrInt::operator=(const AttrInt& src)
+{
+ Attribute::operator=(src);
+ return *this;
+}
+
+
+AttrFloat::AttrFloat()
+{}
+
+AttrFloat::AttrFloat(const AttrFloat& src)
+:
+ Attribute(src)
+{}
+
+AttrFloat::AttrFloat(PangoAttrFloat* castitem, bool take_copy)
+:
+ Attribute((PangoAttribute*)castitem, take_copy)
+{}
+
+AttrFloat& AttrFloat::operator=(const AttrFloat& src)
+{
+ Attribute::operator=(src);
+ return *this;
+}
+
+
+AttrFontDesc::AttrFontDesc()
+{}
+
+AttrFontDesc::AttrFontDesc(const AttrFontDesc& src)
+:
+ Attribute(src)
+{}
+
+AttrFontDesc::AttrFontDesc(PangoAttrFontDesc* castitem, bool take_copy)
+:
+ Attribute((PangoAttribute*)castitem, take_copy)
+{}
+
+AttrFontDesc& AttrFontDesc::operator=(const AttrFontDesc& src)
+{
+ Attribute::operator=(src);
+ return *this;
+}
+
+void AttrFontDesc::set_desc(const FontDescription& desc)
+{
+ pango_font_description_free(gobj()->desc);
+ gobj()->desc = pango_font_description_copy(desc.gobj());
+}
+
+
+AttrShape::AttrShape()
+{}
+
+AttrShape::AttrShape(const AttrShape& src)
+:
+ Attribute(src)
+{}
+
+AttrShape::AttrShape(PangoAttrShape* castitem, bool take_copy)
+:
+ Attribute((PangoAttribute*)castitem, take_copy)
+{}
+
+AttrShape& AttrShape::operator=(const AttrShape& src)
+{
+ Attribute::operator=(src);
+ return *this;
+}
+
+} //namespace Pango
+
+
+namespace Glib
+{
+
+Pango::Attribute wrap(PangoAttribute* object, bool take_copy)
+{
+ return Pango::Attribute(object, take_copy);
+}
+
+Pango::AttrString wrap(PangoAttrString* object, bool take_copy)
+{
+ return Pango::AttrString(object, take_copy);
+}
+
+Pango::AttrLanguage wrap(PangoAttrLanguage* object, bool take_copy)
+{
+ return Pango::AttrLanguage(object, take_copy);
+}
+
+Pango::AttrColor wrap(PangoAttrColor* object, bool take_copy)
+{
+ return Pango::AttrColor(object, take_copy);
+}
+
+Pango::AttrInt wrap(PangoAttrInt* object, bool take_copy)
+{
+ return Pango::AttrInt(object, take_copy);
+}
+
+Pango::AttrFloat wrap(PangoAttrFloat* object, bool take_copy)
+{
+ return Pango::AttrFloat(object, take_copy);
+}
+
+Pango::AttrFontDesc wrap(PangoAttrFontDesc* object, bool take_copy)
+{
+ return Pango::AttrFontDesc(object, take_copy);
+}
+
+Pango::AttrShape wrap(PangoAttrShape* object, bool take_copy)
+{
+ return Pango::AttrShape(object, take_copy);
+}
+
+} //namespace Glib
+
diff --git a/libs/gtkmm2/pango/src/attributes.hg b/libs/gtkmm2/pango/src/attributes.hg
new file mode 100644
index 0000000000..e8b374a1fa
--- /dev/null
+++ b/libs/gtkmm2/pango/src/attributes.hg
@@ -0,0 +1,508 @@
+/* attributes.h
+ *
+ * Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pangomm/language.h>
+#include <pangomm/rectangle.h>
+#include <pangomm/color.h>
+#include <pangomm/fontdescription.h>
+#include <pango/pango-attributes.h>
+
+_DEFS(pangomm,pango)
+
+namespace Pango
+{
+
+_CC_INCLUDE(pango/pango-enum-types.h)
+
+/** Pango::AttrType distinguishes between different types of attributes.
+ * Along with the predefined values, it is possible to allocate additional values for
+ * custom attributes using Pango::Attribute::register_type(). The predefined values
+ * are given below.
+ */
+_WRAP_ENUM(AttrType, PangoAttrType)
+
+
+/** A Pango::Underline is used to specify whether text should be underlined, and if so, the type of underlining.
+ */
+_WRAP_ENUM(Underline, PangoUnderline)
+
+
+/** A Pango::LogAttr stores information about the attributes of a single character.
+ */
+typedef PangoLogAttr LogAttr;
+
+
+class AttrString;
+class AttrLanguage;
+class AttrColor;
+class AttrInt;
+class AttrFloat;
+class AttrFontDesc;
+class AttrShape;
+
+/** The Pango::Attribute structure represents the common portions of all attributes.
+ * Particular types of attributes derive this class. It holds the range in which the
+ * value in the type-specific part of the attribute applies.
+ *
+ * Attributed text is used in a number of places in pango. It is used as the input to
+ * the itemization process and also when creating a Pango::Layout.
+ */
+class Attribute
+{
+ _CLASS_GENERIC(Attribute, PangoAttribute)
+ _IGNORE(pango_attribute_copy,pango_attribute_destroy)
+
+public:
+ /** Constructs an invalid attribute.
+ */
+ Attribute();
+
+ Attribute(const Attribute& src);
+ explicit Attribute(PangoAttribute* castitem, bool take_copy=true);
+ ~Attribute();
+
+ Attribute& operator=(const Attribute& src);
+
+ /** Gets the type ID for this attribute.
+ * @return The type ID for this attribute or ATTR_INVALID if the attribute is invalid.
+ */
+ AttrType get_type() const;
+
+ /** Allocate a new attribute type ID.
+ * @param name An identifier for the type (currently unused).
+ * @return The new type ID.
+ */
+ static AttrType register_type(const Glib::ustring& name);
+
+ /** Gets the start index of the range.
+ * @return The start index of the range.
+ */
+ _MEMBER_GET(start_index, start_index, unsigned int, guint)
+
+ /** Gets the end index of the range. The character at this index is not included in the range.
+ * @return The end index of the range.
+ */
+ _MEMBER_GET(end_index, end_index, unsigned int, guint)
+
+ /** Sets the start index of the range.
+ * @param value The new start index.
+ */
+ _MEMBER_SET(start_index, start_index, unsigned int, guint)
+
+ /** Sets the end index of the range. The character at this index is not included in the range.
+ * @param value The new end index.
+ */
+ _MEMBER_SET(end_index, end_index, unsigned int, guint)
+
+ _WRAP_METHOD(bool equal(const Attribute& attr2) const, pango_attribute_equal)
+
+ /// Provides access to the underlying C GObject.
+ PangoAttribute* gobj() { return gobject_; }
+ /// Provides access to the underlying C GObject.
+ PangoAttribute* const gobj() const { return gobject_; }
+
+ /** Create a new font family attribute.
+ * @param family The family or comma separated list of families.
+ * @return An attribute of type AttrString.
+ */
+ static AttrString create_attr_family(const Glib::ustring& family);
+
+ /** Create a new language tag attribute
+ * @param language The language tag.
+ * @return An attribute of type AttrLanguage.
+ */
+ static AttrLanguage create_attr_language(const Language& language);
+
+ /** Create a new foreground color attribute.
+ * @param red The red value (ranging from 0 to 65535).
+ * @param green The green value (ranging from 0 to 65535).
+ * @param blue The blue value (ranging from 0 to 65535).
+ * @return An attribute of type AttrColor.
+ */
+ static AttrColor create_attr_foreground(guint16 red, guint16 green, guint16 blue);
+
+ /** Create a new background color attribute.
+ * @param red The red value (ranging from 0 to 65535).
+ * @param green The green value (ranging from 0 to 65535).
+ * @param blue The blue value (ranging from 0 to 65535).
+ * @return An attribute of type AttrColor.
+ */
+ static AttrColor create_attr_background(guint16 red, guint16 green, guint16 blue);
+
+ /** Create a new font-size attribute.
+ * @param size The font size, in 1000ths of a point.
+ * @return An attribute of type AttrInt.
+ */
+ static AttrInt create_attr_size(int size);
+
+ /** Create a new font slant style attribute.
+ * @param style The slant style.
+ * @return An attribute of type AttrInt.
+ */
+ static AttrInt create_attr_style(Style style);
+
+ /** Create a new font weight attribute.
+ * @param weight The weight.
+ * @return An attribute of type AttrInt.
+ */
+ static AttrInt create_attr_weight(Weight weight);
+
+ /** Create a new font variant attribute (normal or small caps).
+ * @param variant The variant.
+ * @return An attribute of type AttrInt.
+ */
+ static AttrInt create_attr_variant(Variant variant);
+
+ /** Create a new font stretch attribute.
+ * @param stretch The stretch.
+ * @return An attribute of type AttrInt.
+ */
+ static AttrInt create_attr_stretch(Stretch stretch);
+
+ /** Create a new font description attribute.
+ * This attribute allows setting family, style, weight, variant, stretch, and size simultaneously.
+ * @param desc The font description.
+ * @return An attribute of type AttrFontDesc.
+ */
+ static AttrFontDesc create_attr_font_desc(const FontDescription& desc);
+
+ /** Create a new underline-style object.
+ * @param underline The underline style.
+ * @return An attribute of type AttrInt.
+ */
+ static AttrInt create_attr_underline(Underline underline);
+
+ /** Create a new font strike-through attribute.
+ * @param strikethrough True indicates the text should be struck-through.
+ * @return An attribute of type AttrInt.
+ */
+ static AttrInt create_attr_strikethrough(bool strikethrough);
+
+ /** Create a new baseline displacement attribute.
+ * @param rise The amount that the text should be displaced vertically, in 10'000ths of an em. Positive values displace the text upwards.
+ * @return An attribute of type AttrInt.
+ */
+ static AttrInt create_attr_rise(int rise);
+
+ /** Create a new font size scale attribute.
+ * The base font for the affected text will have its size multiplied by scale_factor.
+ * @param scale_factor Factor to scale the font.
+ * @return An attribute of type AttrFloat.
+ */
+ static AttrFloat create_attr_scale(double scale_factor);
+
+ /** Create a new shape attribute.
+ * A shape is used to impose a particular ink and logical rect on the result of shaping a particular glyph.
+ * This might be used, for instance, for embedding a picture or a widget inside a PangoLayout.
+ * @param ink_rect Ink rectangle to assign to each character.
+ * @param logical_rect Logical rectangle assign to each character.
+ * @return An attribute of type AttrShape.
+ */
+ static AttrShape create_attr_shape(const Rectangle& ink_rect, const Rectangle& logical_rect);
+
+protected:
+ PangoAttribute* gobject_;
+};
+
+/** @relates Pango::Attribute */
+inline bool operator==(const Attribute& lhs, const Attribute& rhs)
+{
+ return lhs.equal(rhs);
+}
+
+/** @relates Pango::Attribute */
+inline bool operator!=(const Attribute& lhs, const Attribute& rhs)
+{
+ return lhs.equal(rhs);
+}
+
+
+/** A Pango::AttrString is used to represent an attribute with a string value.
+ */
+class AttrString : public Attribute
+{
+ _CLASS_GENERIC(AttrString, PangoAttrString)
+
+protected:
+ AttrString();
+public:
+ AttrString(const AttrString& src);
+ explicit AttrString(PangoAttrString* castitem, bool take_copy=true);
+
+ AttrString& operator=(const AttrString& src);
+
+ /** Gets the string which is the value of the attribute.
+ * @return The string value of the attribute.
+ */
+ _MEMBER_GET(string, value, Glib::ustring, char*)
+
+ /** Sets the string which is the value of the attribute.
+ * @param string The new string value for the attribute.
+ */
+ void set_string(const Glib::ustring& string);
+
+ /// Provides access to the underlying C GObject.
+ PangoAttrString* gobj() { return reinterpret_cast<PangoAttrString*>(gobject_); }
+ /// Provides access to the underlying C GObject.
+ const PangoAttrString* gobj() const { return reinterpret_cast<const PangoAttrString*>(gobject_); }
+};
+
+
+/** A Pango::AttrLanguage is used to represent an attribute that is a language.
+ */
+class AttrLanguage : public Attribute
+{
+ _CLASS_GENERIC(AttrLanguage, PangoAttrLanguage)
+
+protected:
+ AttrLanguage();
+public:
+ AttrLanguage(const AttrLanguage& src);
+ explicit AttrLanguage(PangoAttrLanguage* castitem, bool take_copy=true);
+
+ AttrLanguage& operator=(const AttrLanguage& src);
+
+ /** Gets the language which is the value of the attribute.
+ * @return The language tag of the attribute.
+ */
+ _MEMBER_GET(language, value, Language, PangoLanguage*)
+
+ /** Sets the language which is the value of the attribute.
+ * @param value The new language tag for the attribute.
+ */
+ _MEMBER_SET_PTR(language, value, const Language&, PangoLanguage*)
+
+ /// Provides access to the underlying C GObject.
+ PangoAttrLanguage* gobj() { return reinterpret_cast<PangoAttrLanguage*>(gobject_); }
+ /// Provides access to the underlying C GObject.
+ const PangoAttrLanguage* gobj() const { return reinterpret_cast<const PangoAttrLanguage*>(gobject_); }
+};
+
+
+/** A Pango::AttrColor is used to represent an attribute which is a color.
+ */
+class AttrColor : public Attribute
+{
+ _CLASS_GENERIC(AttrColor, PangoAttrColor)
+
+protected:
+ AttrColor();
+public:
+ AttrColor(const AttrColor& src);
+ explicit AttrColor(PangoAttrColor* castitem, bool take_copy=true);
+
+ AttrColor& operator=(const AttrColor& src);
+
+ /** Gets the color which is the value of the attribute.
+ * @return The color value of the attribute.
+ */
+ _MEMBER_GET(color, color, Color, PangoColor)
+
+ /** Sets the color which is the value of the attribute.
+ * @param value The new color value for the attribute.
+ */
+ _MEMBER_SET(color, color, Color, PangoColor)
+
+ /// Provides access to the underlying C GObject.
+ PangoAttrColor* gobj() { return reinterpret_cast<PangoAttrColor*>(gobject_); }
+ /// Provides access to the underlying C GObject.
+ const PangoAttrColor* gobj() const { return reinterpret_cast<const PangoAttrColor*>(gobject_); }
+};
+
+
+/** A Pango::AttrInt is used to represent an attribute with an integer or enumeration value.
+ */
+class AttrInt : public Attribute
+{
+ _CLASS_GENERIC(AttrInt, PangoAttrInt)
+
+protected:
+ AttrInt();
+public:
+ AttrInt(const AttrInt& src);
+ explicit AttrInt(PangoAttrInt* castitem, bool take_copy=true);
+
+ AttrInt& operator=(const AttrInt& src);
+
+ /** Gets the integer value of the attribute.
+ * @return The integer value of the attribute.
+ */
+ _MEMBER_GET(value, value, int, int)
+
+ /** Sets the integer value of the attribute.
+ * @param value The new integer value for the attribute.
+ */
+ _MEMBER_SET(value, value, int, int)
+
+ /// Provides access to the underlying C GObject.
+ PangoAttrInt* gobj() { return reinterpret_cast<PangoAttrInt*>(gobject_); }
+ /// Provides access to the underlying C GObject.
+ const PangoAttrInt* gobj() const { return reinterpret_cast<const PangoAttrInt*>(gobject_); }
+};
+
+
+/** A Pango::AttrFloat is used to represent an attribute with a float or double value.
+ */
+class AttrFloat : public Attribute
+{
+ _CLASS_GENERIC(AttrFloat, PangoAttrFloat)
+
+protected:
+ AttrFloat();
+public:
+ AttrFloat(const AttrFloat& src);
+ explicit AttrFloat(PangoAttrFloat* castitem, bool take_copy=true);
+
+ AttrFloat& operator=(const AttrFloat& src);
+
+ /** Gets the floating point value of the attribute.
+ * @return The floating point value of the attribute.
+ */
+ _MEMBER_GET(value, value, double, double)
+
+ /** Sets the floating point value of the attribute.
+ * @param value The new floating point value for the attribute.
+ */
+ _MEMBER_SET(value, value, double, double)
+
+ /// Provides access to the underlying C GObject.
+ PangoAttrFloat* gobj() { return reinterpret_cast<PangoAttrFloat*>(gobject_); }
+ /// Provides access to the underlying C GObject.
+ const PangoAttrFloat* gobj() const { return reinterpret_cast<const PangoAttrFloat*>(gobject_); }
+};
+
+
+/** A Pango::AttrFontDesc is used to represent an attribute that sets all aspects of the font description at once.
+ */
+class AttrFontDesc : public Attribute
+{
+ _CLASS_GENERIC(AttrFontDesc, PangoAttrFontDesc)
+
+protected:
+ AttrFontDesc();
+public:
+ AttrFontDesc(const AttrFontDesc& src);
+ explicit AttrFontDesc(PangoAttrFontDesc* castitem, bool take_copy=true);
+
+ AttrFontDesc& operator=(const AttrFontDesc& src);
+
+ /** Gets the font description which is the value of the attribute.
+ * @return The font description of the attribute.
+ */
+ _MEMBER_GET(desc, desc, FontDescription, PangoFontDescription*)
+
+ /** Sets the font description which is the value of the attribute.
+ * @param desc The new font description for the attribute.
+ */
+ void set_desc(const FontDescription& desc);
+
+ /// Provides access to the underlying C GObject.
+ PangoAttrFontDesc* gobj() { return reinterpret_cast<PangoAttrFontDesc*>(gobject_); }
+ /// Provides access to the underlying C GObject.
+ const PangoAttrFontDesc* gobj() const { return reinterpret_cast<const PangoAttrFontDesc*>(gobject_); }
+};
+
+
+/** A Pango::AttrShape structure is used to represent an attribute which imposes shape restrictions.
+ */
+class AttrShape : public Attribute
+{
+ _CLASS_GENERIC(AttrShape, PangoAttrShape)
+
+protected:
+ AttrShape();
+public:
+ AttrShape(const AttrShape& src);
+ explicit AttrShape(PangoAttrShape* castitem, bool take_copy=true);
+
+ AttrShape& operator=(const AttrShape& src);
+
+ /** Gets the ink rectangle to restrict to.
+ * @return The ink rectangle of the attribute.
+ */
+ _MEMBER_GET(ink_rect, ink_rect, Rectangle, PangoRectangle)
+
+ /** Gets the logical rectangle to restrict to.
+ * @return The logical rectangle of the attribute.
+ */
+ _MEMBER_GET(logical_rect, logical_rect, Rectangle, PangoRectangle)
+
+ /** Sets the ink rectangle to restrict to.
+ * @param value The new ink rectangle for the attribute.
+ */
+ _MEMBER_SET(ink_rect, ink_rect, Rectangle, PangoRectangle)
+
+ /** Sets the logical rectangle to restrict to.
+ * @param value The new logical rectangle for the attribute.
+ */
+ _MEMBER_SET(logical_rect, logical_rect, Rectangle, PangoRectangle)
+
+ /// Provides access to the underlying C GObject.
+ PangoAttrShape* gobj() { return reinterpret_cast<PangoAttrShape*>(gobject_); }
+ /// Provides access to the underlying C GObject.
+ const PangoAttrShape* gobj() const { return reinterpret_cast<const PangoAttrShape*>(gobject_); }
+};
+
+
+struct AttributeTraits
+{
+ typedef Pango::Attribute CppType;
+ typedef const PangoAttribute* CType;
+ typedef PangoAttribute* CTypeNonConst;
+
+ static CType to_c_type (const CppType& obj) { return obj.gobj(); }
+ static CType to_c_type (CType ptr) { return ptr; }
+ static CppType to_cpp_type (CType ptr) { return CppType(const_cast<CTypeNonConst>(ptr), true); }
+ static void release_c_type (CType ptr) { pango_attribute_destroy(const_cast<CTypeNonConst>(ptr)); }
+};
+
+typedef Glib::SListHandle<Attribute, AttributeTraits> SListHandle_Attribute;
+
+} // namespace Pango
+
+
+namespace Glib
+{
+
+/** @relates Pango::Attribute */
+Pango::Attribute wrap(PangoAttribute* object, bool take_copy = false);
+
+/** @relates Pango::AttrString */
+Pango::AttrString wrap(PangoAttrString* object, bool take_copy = false);
+
+/** @relates Pango::AttrLanguage */
+Pango::AttrLanguage wrap(PangoAttrLanguage* object, bool take_copy = false);
+
+/** @relates Pango::AttrColor */
+Pango::AttrColor wrap(PangoAttrColor* object, bool take_copy = false);
+
+/** @relates Pango::AttrInt */
+Pango::AttrInt wrap(PangoAttrInt* object, bool take_copy = false);
+
+/** @relates Pango::AttrFloat */
+Pango::AttrFloat wrap(PangoAttrFloat* object, bool take_copy = false);
+
+/** @relates Pango::AttrFontDesc */
+Pango::AttrFontDesc wrap(PangoAttrFontDesc* object, bool take_copy = false);
+
+/** @relates Pango::AttrShape */
+Pango::AttrShape wrap(PangoAttrShape* object, bool take_copy = false);
+
+} //namespace Glib
+
diff --git a/libs/gtkmm2/pango/src/attriter.ccg b/libs/gtkmm2/pango/src/attriter.ccg
new file mode 100644
index 0000000000..b8dbba5504
--- /dev/null
+++ b/libs/gtkmm2/pango/src/attriter.ccg
@@ -0,0 +1,151 @@
+/*
+ *
+ * Copyright 1998-1999 The Gtk-- Development Team
+ * Copyright 2001 Free Software Foundation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+namespace Pango
+{
+
+AttrIter::AttrIter()
+:
+ gobject_(0)
+{}
+
+AttrIter::AttrIter(const AttrIter& src)
+:
+ gobject_(src.gobject_ ? pango_attr_iterator_copy(src.gobject_) : 0)
+{}
+
+AttrIter::AttrIter(PangoAttrIterator* castitem, bool take_copy)
+{
+ if(take_copy)
+ {
+ if(castitem)
+ gobject_ = pango_attr_iterator_copy(castitem);
+ else
+ gobject_ = 0;
+ }
+ else
+ {
+ gobject_ = castitem;
+ }
+}
+
+AttrIter::~AttrIter()
+{
+ if(gobject_)
+ pango_attr_iterator_destroy(gobject_);
+}
+
+AttrIter& AttrIter::operator=(const AttrIter& src)
+{
+ PangoAttrIterator *const new_gobject = (src.gobject_ ? pango_attr_iterator_copy(src.gobject_) : 0);
+
+ if(gobject_)
+ pango_attr_iterator_destroy(gobject_);
+ gobject_ = new_gobject;
+
+ return *this;
+}
+
+AttrIter& AttrIter::operator++()
+{
+ next();
+ return *this;
+}
+
+const AttrIter AttrIter::operator++(int)
+{
+ AttrIter previous(*this);
+ next();
+ return previous;
+}
+
+/* operator bool() cannot be implemented to work properly if a Pango::AttrIter is created
+ * from an already invalid PangoAttrIterator* because there is no way to validate it.
+ * Otherwise the iterator can only become invalid after some call to Pango::AttrIter::next()
+ * in which case gobject_ is destroyed thus marking the iterator as invalid.
+ */
+AttrIter::operator bool() const
+{
+ return (gobject_ != 0);
+}
+
+bool AttrIter::next()
+{
+ if(!pango_attr_iterator_next(gobj()))
+ {
+ pango_attr_iterator_destroy(gobject_);
+ gobject_ = 0; // Mark as invalid. There is no other way to determine whether the iterator is valid later.
+ return false;
+ }
+ else
+ return true;
+}
+
+FontDescription AttrIter::get_font_desc() const
+{
+ FontDescription desc;
+ pango_attr_iterator_get_font(const_cast<PangoAttrIterator*>(gobj()), desc.gobj(), 0, 0);
+
+ // See pango ref docs for pango_attr_iterator_get_font.
+ pango_font_description_set_family(desc.gobj(), pango_font_description_get_family(desc.gobj()));
+
+ return desc;
+}
+
+Language AttrIter::get_language() const
+{
+ FontDescription desc;
+ PangoLanguage* language = 0;
+
+ pango_attr_iterator_get_font(const_cast<PangoAttrIterator*>(gobj()), desc.gobj(), &language, 0);
+
+ return Language(language, true);
+}
+
+SListHandle_Attribute AttrIter::get_extra_attrs() const
+{
+ FontDescription desc;
+ GSList* extra_attrs = 0;
+
+ pango_attr_iterator_get_font(const_cast<PangoAttrIterator*>(gobj()), desc.gobj(), 0, &extra_attrs);
+
+ return SListHandle_Attribute(extra_attrs, Glib::OWNERSHIP_DEEP);
+}
+
+SListHandle_Attribute AttrIter::get_attrs() const
+{
+ GSList* attrs = pango_attr_iterator_get_attrs( const_cast<PangoAttrIterator*>(gobj()) );
+ return SListHandle_Attribute(attrs, Glib::OWNERSHIP_DEEP);
+}
+
+
+} /* namespace Pango */
+
+
+namespace Glib
+{
+
+Pango::AttrIter wrap(PangoAttrIterator* object, bool take_copy)
+{
+ return Pango::AttrIter(object, take_copy);
+}
+
+} /* namespace Glib */
+
diff --git a/libs/gtkmm2/pango/src/attriter.hg b/libs/gtkmm2/pango/src/attriter.hg
new file mode 100644
index 0000000000..ff0eec5502
--- /dev/null
+++ b/libs/gtkmm2/pango/src/attriter.hg
@@ -0,0 +1,114 @@
+/* attriter.h
+ *
+ * Copyright (C) 1998-1999 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/slisthandle.h>
+#include <pangomm/attributes.h>
+
+_DEFS(pangomm,pango)
+
+namespace Pango
+{
+
+/** A Pango::AttrIter is used to represent an iterator through a Pango::AttrList.
+ * A new iterator is created with Pango::AttrList::get_iter(). Once the iterator is created,
+ * it can be advanced through the style changes in the text using Pango::AttrIter::next().
+ * At each style change, the range of the current style segment and the attributes currently in effect can be queried.
+ */
+class AttrIter
+{
+ _CLASS_GENERIC(AttrIter, PangoAttrIterator)
+ _IGNORE(pango_attr_iterator_copy, pango_attr_iterator_destroy, pango_attr_iterator_next, pango_attr_iterator_get_font)
+public:
+ typedef std::forward_iterator_tag iterator_category;
+ typedef int difference_type;
+
+protected:
+ AttrIter();
+
+public:
+ explicit AttrIter(PangoAttrIterator* castitem, bool take_copy=true);
+ AttrIter(const AttrIter& src);
+
+ ~AttrIter();
+
+ AttrIter& operator=(const AttrIter& src);
+
+ /** Advance the iterator until the next change of style.
+ * The iterator becomes invalid if the end of the list is reached.
+ * @return The iterator itself.
+ */
+ AttrIter& operator++();
+
+ const AttrIter operator++(int);
+
+ /** Check whether the iterator is valid.
+ * @return <tt>true</tt> if the iterator is valid.
+ */
+ operator bool() const;
+
+ /** The same as operator++().
+ * @return <tt>false</tt> if the end of the list is reached.
+ */
+ bool next();
+
+ _WRAP_METHOD(void get_range(int& start, int& end) const, pango_attr_iterator_range)
+ _WRAP_METHOD(Attribute get_attribute(AttrType type) const, pango_attr_iterator_get)
+
+ /** Get the font description used at the current iterator position.
+ * @return The font description used at the current iterator position.
+ */
+ FontDescription get_font_desc() const;
+
+ /** Gets the language tag used at current iterator position.
+ * @return The language tag or an empty Pango::Language object if non is found.
+ */
+ Language get_language() const;
+
+ /** Gets a list of non-font attributes at the the current iterator position.
+ * Only the highest priority value of each attribute will be added to this list.
+ * @return The list of non-font attributes at the current iterator position.
+ */
+ SListHandle_Attribute get_extra_attrs() const;
+
+ /** Gets a list all attributes a the current position of the
+ * iterator.
+ *
+ * @result A list of all attributes for the current range.
+ */
+ SListHandle_Attribute get_attrs() const;
+ _IGNORE(pango_attr_iterator_get_attrs)
+
+ PangoAttrIterator* gobj() { return gobject_; }
+ const PangoAttrIterator* gobj() const { return gobject_; }
+
+protected:
+ PangoAttrIterator* gobject_;
+};
+
+} // namespace Pango
+
+
+namespace Glib
+{
+
+/** @relates Pango::AttrIter */
+Pango::AttrIter wrap(PangoAttrIterator* object, bool take_copy=false);
+
+} // namespace Glib
+
diff --git a/libs/gtkmm2/pango/src/attrlist.ccg b/libs/gtkmm2/pango/src/attrlist.ccg
new file mode 100644
index 0000000000..71d0191491
--- /dev/null
+++ b/libs/gtkmm2/pango/src/attrlist.ccg
@@ -0,0 +1,75 @@
+// -*- c++ -*-
+/* $Id: attrlist.ccg,v 1.3 2005/11/22 15:00:17 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-1999 The Gtk-- Development Team
+ * Copyright 2001 Free Software Foundation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+namespace Pango
+{
+
+AttrList::AttrList(const Glib::ustring& markup_text, gunichar accel_marker)
+{
+ gboolean bTest = pango_parse_markup(markup_text.c_str(), -1 /* means null-terminated */, accel_marker,
+ &gobject_, 0, 0, 0);
+ if(bTest == FALSE)
+ gobject_ = 0;
+}
+
+AttrList::operator bool()
+{
+ return gobj() != 0;
+}
+
+AttrList::AttrList(const Glib::ustring& markup_text, gunichar accel_marker, Glib::ustring& text, gunichar& accel_char)
+{
+ //initialize output parameters:
+ text.erase();
+ accel_char = 0;
+
+ gchar* pchText = 0;
+ gboolean bTest = pango_parse_markup(markup_text.c_str(), -1 /* means null-terminated */, accel_marker,
+ &gobject_, &pchText, &accel_char, 0);
+ if(bTest == FALSE)
+ {
+ gobject_ = 0;
+ }
+ else
+ {
+ text = pchText;
+ g_free(pchText);
+ }
+}
+
+void AttrList::insert(Attribute& attr)
+{
+ pango_attr_list_insert(gobj(), pango_attribute_copy(attr.gobj()));
+}
+
+void AttrList::insert_before(Attribute& attr)
+{
+ pango_attr_list_insert_before(gobj(), pango_attribute_copy(attr.gobj()));
+}
+
+void AttrList::change(Attribute& attr)
+{
+ pango_attr_list_change(gobj(), pango_attribute_copy(attr.gobj()));
+}
+
+} /* namespace Pango */
diff --git a/libs/gtkmm2/pango/src/attrlist.hg b/libs/gtkmm2/pango/src/attrlist.hg
new file mode 100644
index 0000000000..e48316f5cd
--- /dev/null
+++ b/libs/gtkmm2/pango/src/attrlist.hg
@@ -0,0 +1,89 @@
+/* $Id: attrlist.hg,v 1.4 2005/11/22 15:00:17 murrayc Exp $ */
+
+/* attrlist.h
+ *
+ * Copyright (C) 1998-1999 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pangomm/attributes.h>
+#include <pangomm/attriter.h>
+
+_DEFS(pangomm,pango)
+
+namespace Pango
+{
+
+/** A Pango::AttrList represents a list of attributes that apply to a section of text.
+ * The attributes are, in general, allowed to overlap in an arbitrary fashion, however,
+ * if the attributes are manipulated only through Pango::AttrList::change(), the overlap between properties will meet stricter criteria.
+ *
+ * Since the Pango::AttrList structure is stored as a linear list, it is not suitable for storing attributes for large amounts of text.
+ * In general, you should not use a single Pango::AttrList for more than one paragraph of text.
+ *
+ * When obtaining an AttrList, you should check that it is valid. For instance, if(attrlist).
+ */
+class AttrList
+{
+ _CLASS_BOXEDTYPE(AttrList, PangoAttrList, pango_attr_list_new, pango_attr_list_copy, pango_attr_list_unref)
+ _IGNORE(pango_attr_list_copy, pango_attr_list_ref, pango_attr_list_unref)
+public:
+ /** Constructs an attribute list by parsing a marked-up text (see markup format).
+ * If @a accel_marker is nonzero, the given character will mark the character
+ * following it as an accelerator. For example, the accel marker might be an
+ * ampersand or underscore. All characters marked as an accelerator will receive
+ * a Pango::UNDERLINE_LOW attribute.
+ * Two @a accel_marker characters following each other
+ * produce a single literal @a accel_marker character.
+ *
+ * @param markup_text Markup to parse (see markup format).
+ * @param accel_marker Character that precedes an accelerator, or <tt>0</tt> for none.
+ */
+ explicit AttrList(const Glib::ustring& markup_text, gunichar accel_marker=0);
+
+ /** Constructs an attribute list by parsing a marked-up text (see markup format).
+ * @a text is set to the plaintext string.
+ * If @a accel_marker is nonzero, the given character will mark the character
+ * following it as an accelerator. For example, the accel marker might be an
+ * ampersand or underscore. All characters marked as an accelerator will receive
+ * a Pango::UNDERLINE_LOW attribute. The first character so marked will be
+ * returned in @a accel_char. Two @a accel_marker characters following each other
+ * produce a single literal @a accel_marker character.
+ *
+ * @param markup_text Markup to parse (see markup format).
+ * @param accel_marker Character that precedes an accelerator, or <tt>0</tt> for none.
+ * @param text Return location for text with tags stripped.
+ * @param accel_char Return location for accelerator char.
+ */
+ AttrList(const Glib::ustring& markup_text, gunichar accel_marker, Glib::ustring& text, gunichar& accel_char);
+
+ ///Tests whether the AttrList is valid.
+ operator bool();
+
+ void insert(Attribute& attr);
+ _IGNORE(pango_attr_list_insert) // hand code because we need to pass a copy of the attribute
+ void insert_before(Attribute& attr);
+ _IGNORE(pango_attr_list_insert_before) // hand code because we need to pass a copy of the attribute
+ void change(Attribute& attr);
+ _IGNORE(pango_attr_list_change) // hand code because we need to pass a copy of the attribute
+ _WRAP_METHOD(void splice(AttrList& other, int pos, int len), pango_attr_list_splice)
+ _WRAP_METHOD(AttrIter get_iter(), pango_attr_list_get_iterator)
+
+ //TODO: Though it doesn't seem important:
+ //PangoAttrList* pango_attr_list_filter (PangoAttrList* list, PangoAttrFilterFunc func, gpointer data)
+};
+
+} //namespace Pango
diff --git a/libs/gtkmm2/pango/src/cairofontmap.ccg b/libs/gtkmm2/pango/src/cairofontmap.ccg
new file mode 100644
index 0000000000..07cd4d13b3
--- /dev/null
+++ b/libs/gtkmm2/pango/src/cairofontmap.ccg
@@ -0,0 +1,30 @@
+// -*- c++ -*-
+/* $Id: cairofontmap.ccg,v 1.1 2006/05/30 17:14:21 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2001 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pangomm/context.h>
+#include <pango/pangocairo.h>
+
+namespace Pango
+{
+
+} /* namespace Pango */
+
diff --git a/libs/gtkmm2/pango/src/cairofontmap.hg b/libs/gtkmm2/pango/src/cairofontmap.hg
new file mode 100644
index 0000000000..80f865c362
--- /dev/null
+++ b/libs/gtkmm2/pango/src/cairofontmap.hg
@@ -0,0 +1,56 @@
+/* $Id: cairofontmap.hg,v 1.1 2006/05/30 17:14:21 murrayc Exp $ */
+
+/* fontmap.h
+ *
+ * Copyright 2001 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/interface.h>
+#include <pangomm/context.h>
+#include <pango/pangocairo.h>
+
+_DEFS(pangomm,pango)
+_PINCLUDE(glibmm/private/interface_p.h)
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+typedef struct _PangoCairoFontMapIface PangoCairoFontMapIface;
+#endif //DOXYGEN_SHOULD_SKIP_THIS
+
+namespace Pango
+{
+
+class Context;
+
+/** A Pango::CairoFontMap represents the set of fonts available for a particular rendering system.
+ */
+class CairoFontMap : public Glib::Interface
+{
+ _CLASS_INTERFACE(CairoFontMap, PangoCairoFontMap, PANGO_CAIRO_FONT_MAP, PangoCairoFontMapIface)
+
+public:
+ //_WRAP_METHOD(static Glib::RefPtr<PangoFontMap> get_default(), pango_cairo_font_map_get_default) //TODO: ref this?
+
+#m4 _CONVERSION(`cairo_font_type_t',`Cairo::FontType',`static_cast<Cairo::FontType>($3)')
+ _WRAP_METHOD(Cairo::FontType get_font_type() const, pango_cairo_font_map_get_font_type)
+
+ _WRAP_METHOD(void set_resolution(double dpi), pango_cairo_font_map_set_resolution)
+ _WRAP_METHOD(double get_resolution() const, pango_cairo_font_map_get_resolution)
+ _WRAP_METHOD(Glib::RefPtr<Context> create_context(), pango_cairo_font_map_create_context)
+};
+
+} /* namespace Pango */
+
diff --git a/libs/gtkmm2/pango/src/color.ccg b/libs/gtkmm2/pango/src/color.ccg
new file mode 100644
index 0000000000..a9c2135929
--- /dev/null
+++ b/libs/gtkmm2/pango/src/color.ccg
@@ -0,0 +1,33 @@
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+namespace Pango
+{
+
+/* For some unknown reason pango doesn't provide pango_color_new(). Let's define an
+ * equivalent function ourself! */
+PangoColor* _pango_color_new()
+{
+ return g_new(PangoColor, 1);
+}
+
+Color::operator bool()
+{
+ return gobj() != 0;
+}
+
+} /* namespace Pango */
diff --git a/libs/gtkmm2/pango/src/color.hg b/libs/gtkmm2/pango/src/color.hg
new file mode 100644
index 0000000000..54dbf1dd5f
--- /dev/null
+++ b/libs/gtkmm2/pango/src/color.hg
@@ -0,0 +1,72 @@
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pango/pango-attributes.h>
+
+_DEFS(pangomm,pango)
+
+namespace Pango
+{
+
+/** A Pango::Color is used to represent a color in an uncalibrated RGB colorspace.
+ */
+class Color
+{
+ _CLASS_BOXEDTYPE_STATIC(Color, PangoColor, _pango_color_new, pango_color_copy, pango_color_free)
+ _IGNORE(pango_color_copy, pango_color_free)
+
+public:
+
+ /// Tests whether the Color is valid.
+ operator bool();
+
+ /** Gets the red component of the color.
+ * @return The red component of the color. This is a value between 0 and 65535, with 65535 indicating full intensity.
+ */
+ _MEMBER_GET(red, red, guint16, guint16)
+
+ /** Gets the green component of the color.
+ * @return The green component of the color. This is a value between 0 and 65535, with 65535 indicating full intensity.
+ */
+ _MEMBER_GET(green, green, guint16, guint16)
+
+ /** Gets the blue component of the color.
+ * @return The blue component of the color. This is a value between 0 and 65535, with 65535 indicating full intensity.
+ */
+ _MEMBER_GET(blue, blue, guint16, guint16)
+
+ /** Sets the red component of the color.
+ * @param value The red component of the color. This is a value between 0 and 65535, with 65535 indicating full intensity.
+ */
+ _MEMBER_SET(red, red, guint16, guint16)
+
+ /** Sets the green component of the color.
+ * @param value The green component of the color. This is a value between 0 and 65535, with 65535 indicating full intensity.
+ */
+ _MEMBER_SET(green, green, guint16, guint16)
+
+ /** Sets the blue component of the color.
+ * @param value The blue component of the color. This is a value between 0 and 65535, with 65535 indicating full intensity.
+ */
+ _MEMBER_SET(blue, blue, guint16, guint16)
+
+ _WRAP_METHOD(bool parse(const Glib::ustring& spec), pango_color_parse)
+
+ _WRAP_METHOD(Glib::ustring to_string() const, pango_color_to_string)
+};
+
+} /* namespace Pango */
diff --git a/libs/gtkmm2/pango/src/context.ccg b/libs/gtkmm2/pango/src/context.ccg
new file mode 100644
index 0000000000..20da88ba79
--- /dev/null
+++ b/libs/gtkmm2/pango/src/context.ccg
@@ -0,0 +1,83 @@
+// -*- c++ -*-
+/* $Id: context.ccg,v 1.3 2006/06/10 15:26:24 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-1999 The Gtk-- Development Team
+ * Copyright 2001 Free Software Foundation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pango/pangocairo.h>
+#include <pango/pango-types.h> //For PANGO_MATRIX_INIT
+
+namespace Pango
+{
+
+Glib::ArrayHandle< Glib::RefPtr<FontFamily> > Context::list_families() const
+{
+ //Get array:
+ PangoFontFamily** pFamilies = 0;
+ int n_families = 0;
+ pango_context_list_families(const_cast<PangoContext*>(gobj()), &pFamilies, &n_families);
+
+ return Glib::ArrayHandle< Glib::RefPtr<FontFamily> >
+ (pFamilies, n_families, Glib::OWNERSHIP_SHALLOW);
+}
+
+Pango::FontMetrics Context::get_metrics(const FontDescription& desc) const
+{
+ return FontMetrics(pango_context_get_metrics(const_cast<PangoContext*>(gobj()), desc.gobj(), 0));
+}
+
+ListHandle_Item Context::itemize(const Glib::ustring& text, const AttrList& attrs) const
+{
+ return ListHandle_Item(
+ pango_itemize(const_cast<PangoContext*>(gobj()),
+ text.c_str(), 0, text.bytes(),
+ const_cast<PangoAttrList*>(attrs.gobj()), 0),
+ Glib::OWNERSHIP_DEEP);
+}
+
+ListHandle_Item Context::itemize(const Glib::ustring& text, int start_index, int length,
+ const AttrList& attrs, AttrIter& cached_iter) const
+{
+ return ListHandle_Item(
+ pango_itemize(const_cast<PangoContext*>(gobj()),
+ text.c_str(), start_index, length,
+ const_cast<PangoAttrList*>(attrs.gobj()), cached_iter.gobj()),
+ Glib::OWNERSHIP_DEEP);
+}
+
+void Context::update_from_cairo_context(const Cairo::RefPtr<Cairo::Context>& context)
+{
+ pango_cairo_update_context(context->cobj(), gobj());
+}
+
+Matrix Context::get_matrix() const
+{
+ const PangoMatrix* matrix = pango_context_get_matrix(const_cast<PangoContext*>(gobj()));
+ if(matrix)
+ return *matrix;
+ else
+ {
+ PangoMatrix identity_transform = PANGO_MATRIX_INIT;
+ return identity_transform;
+ }
+}
+
+} /* namespace Pango */
+
diff --git a/libs/gtkmm2/pango/src/context.hg b/libs/gtkmm2/pango/src/context.hg
new file mode 100644
index 0000000000..804a3c8abf
--- /dev/null
+++ b/libs/gtkmm2/pango/src/context.hg
@@ -0,0 +1,173 @@
+/* $Id: context.hg,v 1.7 2006/06/10 15:26:24 murrayc Exp $ */
+
+/* context.h
+ *
+ * Copyright (C) 1998-1999 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+#include <glibmm/object.h>
+#include <glibmm/arrayhandle.h>
+#include <glibmm/listhandle.h>
+#include <pangomm/fontdescription.h>
+#include <pangomm/fontmetrics.h>
+#include <pangomm/fontset.h>
+#include <pangomm/fontmap.h>
+#include <pangomm/item.h>
+#include <pangomm/attrlist.h>
+#include <pangomm/types.h> //For Matrix
+#include <pango/pango-context.h>
+#include <cairomm/context.h>
+#include <cairomm/fontoptions.h>
+
+_DEFS(pangomm,pango)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Pango
+{
+
+_CC_INCLUDE(pango/pango-enum-types.h)
+_WRAP_ENUM(Direction, PangoDirection)
+_WRAP_ENUM(GravityHint, PangoGravityHint)
+
+
+/** A Pango::Context stores global information used to control the itemization process.
+ * You can retrieve a Pango::Context object with Gtk::Widget::create_pango_context() or
+ * Gtk::Widget::get_pango_context(). If you don't use gtkmm call some c function of the
+ * pango backend you intend to use and create a wrapper for the returned context,
+ * e.g. Glib::wrap(pango_x_get_context()).
+ *
+ * Creating a Pango::Context object is the starting point of every rendering process.
+ * You can either use it to create a high level Pango::Layout object which does all
+ * the hard work for you by passing it into
+ * Pango::Layout::create() or to generate glyph strings from character strings with
+ * the help of itemize() and Pango::Item::shape() subsequently.
+ *
+ * Which fonts are used for rendering can be influenced by setting the default
+ * font description, language and base direction of the context.
+ *
+ * If you want to calculate the space some text will need to be displayed you
+ * might find the functions of Pango::FontMetrics useful. Use get_metrics() to
+ * obtain the Pango::FontMetrics object for a specific Pango::FontDescription.
+ * For more detailed calculations in a rendering-system-independant manner
+ * and to determine whether specific characters can be represented by the
+ * font that would be used for a specific Pango::FontDescription load a
+ * Pango::Fontset with load_fontset() (load_font() returns the Pango::Font
+ * that is the closest match for a Pango::FontDescription; however that's not
+ * necessarily the font that will be used for rendering).
+ */
+class Context : public Glib::Object
+{
+ _CLASS_GOBJECT(Context, PangoContext, PANGO_CONTEXT, Glib::Object, GObject)
+ _IGNORE(pango_context_new, pango_context_set_font_map) //PANGO_ENABLE_BACKEND
+ _IGNORE(pango_context_list_families)
+protected:
+ _CTOR_DEFAULT
+
+public:
+ /** List all available font families for a context.
+ * You can specify one of these as your desired font family in the Pango::FontDesciption
+ * objects you use, e.g. in the default font description of the context.
+ * @return An array of Pango::FontFamily objects.
+ */
+ Glib::ArrayHandle< Glib::RefPtr<FontFamily> > list_families() const;
+
+ _WRAP_METHOD(Glib::RefPtr<FontMap> get_font_map(), pango_context_get_font_map)
+ _WRAP_METHOD(Glib::RefPtr<const FontMap> get_font_map() const, pango_context_get_font_map)
+
+ _WRAP_METHOD(Glib::RefPtr<Font> load_font(const FontDescription& desc) const, pango_context_load_font)
+ _WRAP_METHOD(Glib::RefPtr<Fontset> load_fontset(const FontDescription& desc, const Language& language) const, pango_context_load_fontset)
+
+ /** Get overall metric information for a particular font description.
+ * The metrics may be substantially different for different scripts. However this
+ * function overload returns the metrics of the entire font.
+ * @param desc A Pango::FontDescription object.
+ * @return A Pango::FontMetrics object.
+ */
+ FontMetrics get_metrics(const FontDescription& desc) const;
+ _WRAP_METHOD(FontMetrics get_metrics(const FontDescription& desc, const Language& language) const, pango_context_get_metrics)
+ _WRAP_METHOD(void set_font_description(const FontDescription& desc), pango_context_set_font_description)
+ _WRAP_METHOD(FontDescription get_font_description() const, pango_context_get_font_description)
+ _WRAP_METHOD(Language get_language() const, pango_context_get_language)
+ _WRAP_METHOD(void set_language(const Language& language), pango_context_set_language)
+ _WRAP_METHOD(void set_base_dir(Direction direction), pango_context_set_base_dir)
+ _WRAP_METHOD(Direction get_base_dir() const, pango_context_get_base_dir)
+
+ _WRAP_METHOD(void set_base_gravity(Gravity gravity), pango_context_set_base_gravity)
+ _WRAP_METHOD(Gravity get_base_gravity() const, pango_context_get_base_gravity)
+ _WRAP_METHOD(Gravity get_gravity() const, pango_context_get_gravity)
+ _WRAP_METHOD(void set_gravity_hint(GravityHint hint), pango_context_set_gravity_hint)
+ _WRAP_METHOD(GravityHint get_gravity_hint() const, pango_context_get_gravity_hint)
+
+ _WRAP_METHOD(void set_matrix(const Matrix& matrix), pango_context_set_matrix)
+
+ Matrix get_matrix() const;
+ _IGNORE(pango_context_get_matrix)
+
+ /** Breaks a piece of text into segments with consistent directional level and shaping engine.
+ * Each byte of @a text will be contained in exactly one of the items in the returned list.
+ * The generated list of items will be in logical order (the start offsets of the items
+ * are ascending).
+ * @param text The text to itemize.
+ * @param attrs The set of attributes that apply.
+ * @return A list of Pango::Item objects.
+ */
+ ListHandle_Item itemize(const Glib::ustring& text, const AttrList& attrs) const;
+
+ /** Breaks a piece of text into segments with consistent directional level and shaping engine.
+ * Each byte of @a text will be contained in exactly one of the items in the returned list.
+ * The generated list of items will be in logical order (the start offsets of the items
+ * are ascending).
+ *
+ * @a cached_iter should be an iterator over @a attrs currently positioned at a range before
+ * or containing @a start_index. @a cached_iter will be advanced to the range covering the
+ * position just after @a start_index + @a length. (i.e. if itemizing in a loop, just keep
+ * passing in the same @a cached_iter).
+ *
+ * @param text The text to itemize.
+ * @param start_index First byte in @a text to process.
+ * @param length The number of bytes (not characters) to process after @a start_index. This must be >= <tt>0</tt>.
+ * @param attrs The set of attributes that apply to @a text.
+ * @param cached_iter Cached attribute iterator.
+ * @return A list of Pango::Item structures.
+ */
+ ListHandle_Item itemize(const Glib::ustring& text, int start_index, int length,
+ const AttrList& attrs, AttrIter& cached_iter) const;
+
+ /** Updates a Pango Context previously created for use with Cairo to
+ * match the current transformation and target surface of a Cairo
+ * Context. If any layouts have been created for the context,
+ * it's necessary to call Pango::Layout::context_changed() on those
+ * layouts.
+ *
+ * @param context A Cairo context, from CairoFontMap::create_context().
+ */
+ void update_from_cairo_context(const Cairo::RefPtr<Cairo::Context>& context);
+
+
+ _WRAP_METHOD(void set_cairo_font_options(const Cairo::FontOptions& options), pango_cairo_context_set_font_options)
+
+#m4 _CONVERSION(`const cairo_font_options_t*',`Cairo::FontOptions',`Cairo::FontOptions(const_cast< cairo_font_options_t*>($3), false /* take_copy */)')
+ _WRAP_METHOD(Cairo::FontOptions get_font_options() const, pango_cairo_context_get_font_options)
+
+ _WRAP_METHOD(void set_resolution(double dpi), pango_cairo_context_set_resolution)
+ _WRAP_METHOD(double get_resolution() const, pango_cairo_context_get_resolution)
+
+};
+
+} /* namespace Pango */
+
diff --git a/libs/gtkmm2/pango/src/coverage.ccg b/libs/gtkmm2/pango/src/coverage.ccg
new file mode 100644
index 0000000000..ae0b887bfc
--- /dev/null
+++ b/libs/gtkmm2/pango/src/coverage.ccg
@@ -0,0 +1,35 @@
+// -*- c++ -*-
+/* $Id: coverage.ccg,v 1.1 2003/01/21 13:41:02 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-1999 The Gtk-- Development Team
+ * Copyright 2001 Free Software Foundation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+namespace Pango
+{
+
+Glib::ArrayHandle<unsigned char> Coverage::to_bytes() const
+{
+ guchar* bytes = 0;
+ int n_bytes = 0;
+ pango_coverage_to_bytes(const_cast<PangoCoverage*>(gobj()), &bytes, &n_bytes);
+ return Glib::ArrayHandle<unsigned char>(bytes, n_bytes, Glib::OWNERSHIP_SHALLOW);
+}
+
+} /* namespace Pango */
diff --git a/libs/gtkmm2/pango/src/coverage.hg b/libs/gtkmm2/pango/src/coverage.hg
new file mode 100644
index 0000000000..f1ff158c6d
--- /dev/null
+++ b/libs/gtkmm2/pango/src/coverage.hg
@@ -0,0 +1,60 @@
+/* $Id: coverage.hg,v 1.1 2003/01/21 13:41:03 murrayc Exp $ */
+
+/* coverage.h
+ *
+ * Copyright (C) 1998-1999 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/arrayhandle.h>
+#include <pango/pango-font.h>
+
+_DEFS(pangomm,pango)
+
+namespace Pango
+{
+
+_CC_INCLUDE(pango/pango-enum-types.h)
+_WRAP_ENUM(CoverageLevel, PangoCoverageLevel)
+
+
+/** A Pango::Coverage represents a map from ISO-10646 character point to Pango::CoverageLevel.
+ * It is often necessary in pango to determine if a particular font can represent a particular character,
+ * and also how well it can represent that character. Pango::Coverage holds this information.
+ */
+class Coverage
+{
+ _CLASS_OPAQUE_REFCOUNTED(Coverage, PangoCoverage, pango_coverage_new, pango_coverage_ref, pango_coverage_unref)
+ _IGNORE(pango_coverage_ref, pango_coverage_unref)
+ _IGNORE(pango_coverage_copy) //pango ref doc: "This function may now be unecessary since we refcount the structure. Mail otaylor redhat.com if you use it."
+ _IGNORE(pango_coverage_to_bytes)
+
+public:
+ _WRAP_METHOD(static Glib::RefPtr<Coverage> create(const guchar* bytes, int n_bytes), pango_coverage_from_bytes)
+
+ //_WRAP_METHOD(Glib::RefPtr<Coverage> copy() const, pango_coverage_copy) //see above
+
+ _WRAP_METHOD(CoverageLevel get(int index) const, pango_coverage_get)
+ _WRAP_METHOD(void set(int index, CoverageLevel level), pango_coverage_set)
+ _WRAP_METHOD(void max(const Glib::RefPtr<Coverage>& other) const, pango_coverage_max)
+
+ /** Convert the coverage map into a flat binary format.
+ * @return An array of bytes representing the coverage map.
+ */
+ Glib::ArrayHandle<unsigned char> to_bytes() const;
+};
+
+} // namespace Pango
diff --git a/libs/gtkmm2/pango/src/font.ccg b/libs/gtkmm2/pango/src/font.ccg
new file mode 100644
index 0000000000..e23e71f329
--- /dev/null
+++ b/libs/gtkmm2/pango/src/font.ccg
@@ -0,0 +1,50 @@
+// -*- c++ -*-
+/* $Id: font.ccg,v 1.2 2006/06/08 20:39:39 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-1999 The Gtk-- Development Team
+ * Copyright 2001 Free Software Foundation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pangomm/fontmap.h>
+
+namespace Pango
+{
+
+FontMetrics Font::get_metrics() const
+{
+ return FontMetrics(pango_font_get_metrics(const_cast<PangoFont*>(gobj()), 0));
+}
+
+Rectangle Font::get_glyph_ink_extents(Glyph glyph) const
+{
+ Rectangle ink_rect;
+ pango_font_get_glyph_extents(const_cast<PangoFont*>(gobj()), glyph, ink_rect.gobj(), 0);
+ return ink_rect;
+}
+
+Rectangle Font::get_glyph_logical_extents(Glyph glyph) const
+{
+ Rectangle logical_rect;
+ pango_font_get_glyph_extents(const_cast<PangoFont*>(gobj()), glyph, 0, logical_rect.gobj());
+ return logical_rect;
+}
+
+} /* namespace Pango */
+
+
diff --git a/libs/gtkmm2/pango/src/font.hg b/libs/gtkmm2/pango/src/font.hg
new file mode 100644
index 0000000000..d637ff4b59
--- /dev/null
+++ b/libs/gtkmm2/pango/src/font.hg
@@ -0,0 +1,89 @@
+/* $Id: font.hg,v 1.2 2006/06/08 20:39:39 murrayc Exp $ */
+
+/* font.h
+ *
+ * Copyright (C) 1998-1999 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+#include <glibmm/object.h>
+#include <pangomm/rectangle.h>
+#include <pangomm/language.h>
+#include <pangomm/glyph.h>
+#include <pangomm/fontdescription.h>
+#include <pangomm/fontmetrics.h>
+#include <pangomm/coverage.h>
+#include <pango/pango-font.h>
+
+_DEFS(pangomm,pango)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Pango
+{
+
+const int SCALE = 1024;
+const double SCALE_XX_SMALL = 0.5787037037037;
+const double SCALE_X_SMALL = 0.6444444444444;
+const double SCALE_SMALL = 0.8333333333333;
+const double SCALE_MEDIUM = 1.0;
+const double SCALE_LARGE = 1.2;
+const double SCALE_X_LARGE = 1.4399999999999;
+const double SCALE_XX_LARGE = 1.728;
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+class FontMap;
+#endif //DOXYGEN_SHOULD_SKIP_THIS
+
+/** A Pango::Font is used to represent a font in a rendering-system-independent matter.
+ */
+class Font : public Glib::Object
+{
+ _CLASS_GOBJECT(Font, PangoFont, PANGO_FONT, Glib::Object, GObject)
+ _IGNORE(pango_font_find_shaper) //This would return a PangoEngineShape* but the definition of the struct is surrounded by #define PANGO_ENABLE_BACKEND [...] #endif. So don't wrap it.
+
+public:
+ _WRAP_METHOD(FontDescription describe() const, pango_font_describe)
+ _WRAP_METHOD(FontDescription describe_with_absolute_size() const, pango_font_describe_with_absolute_size)
+ _WRAP_METHOD(Glib::RefPtr<Coverage> get_coverage(const Language& language) const, pango_font_get_coverage)
+
+ /** Gets overall metric information for a font.
+ * The metrics may be substantially different for different scripts.
+ * However, this function overload returns the metrics for the entire font.
+ */
+ FontMetrics get_metrics() const;
+ _WRAP_METHOD(FontMetrics get_metrics(const Language& language) const, pango_font_get_metrics)
+
+ _WRAP_METHOD(void get_glyph_extents(Glyph glyph, Rectangle& ink_rect, Rectangle& logical_rect) const, pango_font_get_glyph_extents)
+
+ _WRAP_METHOD(Glib::RefPtr<FontMap> get_font_map(), pango_font_get_font_map)
+ _WRAP_METHOD(Glib::RefPtr<const FontMap> get_font_map() const, pango_font_get_font_map, constversion)
+
+ /** Get the ink extents of a glyph within the font.
+ * @param glyph The glyph index.
+ * @return The extents of the glyph as drawn.
+ */
+ Rectangle get_glyph_ink_extents(Glyph glyph) const;
+
+ /** Gets the logical extents of a glyph within the font.
+ * @param glyph The glyph index.
+ * @return The logical extents of the glyph.
+ */
+ Rectangle get_glyph_logical_extents(Glyph glyph) const;
+};
+
+} /* namespace Pango */
+
diff --git a/libs/gtkmm2/pango/src/fontdescription.ccg b/libs/gtkmm2/pango/src/fontdescription.ccg
new file mode 100644
index 0000000000..00765fc398
--- /dev/null
+++ b/libs/gtkmm2/pango/src/fontdescription.ccg
@@ -0,0 +1,35 @@
+// -*- c++ -*-
+/* $Id: fontdescription.ccg,v 1.1 2003/01/21 13:41:03 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/utility.h>
+
+
+namespace Pango
+{
+
+FontDescription::FontDescription(const Glib::ustring& font_name)
+{
+ gobject_ = pango_font_description_from_string(font_name.c_str());
+}
+
+} // namespace Pango
+
diff --git a/libs/gtkmm2/pango/src/fontdescription.hg b/libs/gtkmm2/pango/src/fontdescription.hg
new file mode 100644
index 0000000000..49d17e3dce
--- /dev/null
+++ b/libs/gtkmm2/pango/src/fontdescription.hg
@@ -0,0 +1,100 @@
+/* $Id: fontdescription.hg,v 1.2 2006/06/08 20:39:39 murrayc Exp $ */
+
+/* fontdescription.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pango/pango-font.h>
+
+_DEFS(pangomm,pango)
+
+namespace Pango
+{
+
+_CC_INCLUDE(pango/pango-enum-types.h)
+_WRAP_ENUM(Style, PangoStyle)
+_WRAP_ENUM(Variant, PangoVariant)
+_WRAP_ENUM(Stretch, PangoStretch)
+_WRAP_ENUM(Weight, PangoWeight)
+_WRAP_ENUM(FontMask, PangoFontMask)
+_WRAP_ENUM(Gravity, PangoGravity)
+
+/** A Pango::FontDescription represents the description of an ideal font.
+ * It is used both to list what fonts are available on the system and also for specifying the characteristics of a font to load.
+ */
+class FontDescription
+{
+ _CLASS_BOXEDTYPE(FontDescription, PangoFontDescription, pango_font_description_new, pango_font_description_copy, pango_font_description_free)
+ _IGNORE(pango_font_description_free, pango_font_description_copy, pango_font_description_copy_static, pango_font_description_equal)
+
+ /* These functions are dangerous! The first casts the "const" from the parameter away
+ * copying the pointer and keep it hanging around.
+ * So desc.set_family_static("some_family") would lead to a segfault.
+ * The latter makes a shallow copy of the parameter's "family" data member.
+ * So if the FontDescription you passed in dies, a pointer to its (deleted)
+ * family data member still hangs around!
+ * This is why we can't wrap these functions!
+ */
+ _IGNORE(pango_font_description_set_family_static, pango_font_description_merge_static)
+
+public:
+ /** Constructs a font description from a string representation.
+ * @a font_name must have the form
+ * "[FAMILY-LIST] [STYLE-OPTIONS] [SIZE]", where FAMILY-LIST is a comma separated
+ * list of families optionally terminated by a comma, STYLE_OPTIONS is a whitespace
+ * separated list of words where each WORD describes one of style, variant, weight,
+ * or stretch, and SIZE is an decimal number (size in points). Any one of the
+ * options may be absent. If FAMILY-LIST is absent, then the family_name field
+ * of the resulting font description will be initialized to 0. If STYLE-OPTIONS
+ * is missing, then all style options will be set to the default values. If SIZE
+ * is missing, the size in the resulting font description will be set to 0.
+ * @param font_name String representation of a font description.
+ */
+ explicit FontDescription(const Glib::ustring& font_name);
+
+ _WRAP_METHOD(guint hash() const, pango_font_description_hash)
+ _WRAP_METHOD(void set_family(const Glib::ustring& family), pango_font_description_set_family)
+ _WRAP_METHOD(Glib::ustring get_family() const, pango_font_description_get_family)
+ _WRAP_METHOD(void set_style(Style style), pango_font_description_set_style)
+ _WRAP_METHOD(Style get_style() const, pango_font_description_get_style)
+ _WRAP_METHOD(void set_variant(Variant variant),pango_font_description_set_variant)
+ _WRAP_METHOD(Variant get_variant() const, pango_font_description_get_variant)
+ _WRAP_METHOD(void set_weight(Weight weight), pango_font_description_set_weight)
+ _WRAP_METHOD(Weight get_weight() const, pango_font_description_get_weight)
+ _WRAP_METHOD(void set_stretch(Stretch stretch), pango_font_description_set_stretch)
+ _WRAP_METHOD(Stretch get_stretch() const, pango_font_description_get_stretch)
+ _WRAP_METHOD(void set_size(int size), pango_font_description_set_size)
+ _WRAP_METHOD(int get_size() const, pango_font_description_get_size)
+ _WRAP_METHOD(void set_absolute_size(double size), pango_font_description_set_absolute_size)
+ _WRAP_METHOD(bool get_size_is_absolute() const, pango_font_description_get_size_is_absolute)
+ _WRAP_METHOD(void set_gravity(Gravity gravity), pango_font_description_set_gravity)
+ _WRAP_METHOD(Gravity get_gravity() const, pango_font_description_get_gravity)
+ _WRAP_METHOD(FontMask get_set_fields() const, pango_font_description_get_set_fields)
+ _WRAP_METHOD(void unset_fields(FontMask to_unset), pango_font_description_unset_fields)
+ _WRAP_METHOD(void merge(const FontDescription& desc_to_merge, bool replace_existing), pango_font_description_merge)
+ _WRAP_METHOD(bool better_match(const FontDescription& old_match, const FontDescription& new_match) const, pango_font_description_better_match)
+ _WRAP_METHOD(Glib::ustring to_string() const, pango_font_description_to_string)
+ _WRAP_METHOD(Glib::ustring to_filename() const, pango_font_description_to_filename)
+
+#m4begin
+ _WRAP_EQUAL(pango_font_description_equal)
+#m4end
+};
+
+} //namespace Pango
+
diff --git a/libs/gtkmm2/pango/src/fontface.ccg b/libs/gtkmm2/pango/src/fontface.ccg
new file mode 100644
index 0000000000..1b02299970
--- /dev/null
+++ b/libs/gtkmm2/pango/src/fontface.ccg
@@ -0,0 +1,38 @@
+// -*- c++ -*-
+/* $Id: fontface.ccg,v 1.2 2004/03/03 01:07:40 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+namespace Pango
+{
+
+Glib::ArrayHandle<int> FontFace::list_sizes() const
+{
+ int* sizes = 0;
+ int n_sizes = 0;
+ pango_font_face_list_sizes(const_cast<PangoFontFace*>(gobj()), &sizes, &n_sizes);
+
+ return Glib::ArrayHandle<int>(sizes, n_sizes, Glib::OWNERSHIP_SHALLOW); //The ArrayHandle will free the array.
+}
+
+} //namespace Pango
+
+
+ \ No newline at end of file
diff --git a/libs/gtkmm2/pango/src/fontface.hg b/libs/gtkmm2/pango/src/fontface.hg
new file mode 100644
index 0000000000..8389beb08b
--- /dev/null
+++ b/libs/gtkmm2/pango/src/fontface.hg
@@ -0,0 +1,60 @@
+/* $Id: fontface.hg,v 1.3 2004/03/03 01:07:40 murrayc Exp $ */
+
+/* fontface.h
+ *
+ * Copyright 2001 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+#include <glibmm/object.h>
+#include <pangomm/fontdescription.h>
+#include <pango/pango-font.h>
+
+_DEFS(pangomm,pango)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Pango
+{
+
+/** A Pango::FontFace is used to represent a group of fonts with the same family, slant, weight, width, but varying sizes.
+ */
+class FontFace : public Glib::Object
+{
+ _CLASS_GOBJECT(FontFace, PangoFontFace, PANGO_FONT_FACE, Glib::Object, GObject)
+
+public:
+ _WRAP_METHOD(FontDescription describe() const, pango_font_face_describe)
+ _WRAP_METHOD(Glib::ustring get_name() const, pango_font_face_get_face_name)
+
+ /** List the available sizes for a font. This is only applicable to bitmap fonts.
+ * For scalable fonts this returns an empty array.
+ * The sizes returned are in Pango units and are sorted in ascending order.
+ */
+ Glib::ArrayHandle<int> list_sizes() const;
+ _IGNORE(pango_font_face_list_sizes)
+
+ _WRAP_METHOD(bool is_synthesized() const, pango_font_face_is_synthesized)
+
+protected:
+ //We can't wrap the virtual functions because PangoFontFace has a hidden class.
+ //We probably don't need to subclass this anyway.
+ //_WRAP_VFUNC(const char* get_name() const, "get_face_name")
+ //_WRAP_VFUNC(PangoFontDescription* describe(), "describe")
+};
+
+} /* namespace Pango */
+
diff --git a/libs/gtkmm2/pango/src/fontfamily.ccg b/libs/gtkmm2/pango/src/fontfamily.ccg
new file mode 100644
index 0000000000..8dbd2eb825
--- /dev/null
+++ b/libs/gtkmm2/pango/src/fontfamily.ccg
@@ -0,0 +1,38 @@
+// -*- c++ -*-
+/* $Id: fontfamily.ccg,v 1.1 2003/01/21 13:41:03 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2001 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+namespace Pango
+{
+
+Glib::ArrayHandle< Glib::RefPtr<FontFace> > FontFamily::list_faces() const
+{
+ //Get the array:
+ PangoFontFace** pFontFaces = 0;
+ int n_fonts = 0;
+ pango_font_family_list_faces(const_cast<PangoFontFamily*>(gobj()), &pFontFaces, &n_fonts);
+
+ return Glib::ArrayHandle<Glib::RefPtr <FontFace> > (pFontFaces, n_fonts, Glib::OWNERSHIP_SHALLOW);
+}
+
+} /* namespace Pango */
+
+
diff --git a/libs/gtkmm2/pango/src/fontfamily.hg b/libs/gtkmm2/pango/src/fontfamily.hg
new file mode 100644
index 0000000000..58104e07bf
--- /dev/null
+++ b/libs/gtkmm2/pango/src/fontfamily.hg
@@ -0,0 +1,68 @@
+/* $Id: fontfamily.hg,v 1.2 2004/03/03 01:07:40 murrayc Exp $ */
+
+/* fontfamily.h
+ *
+ * Copyright 2001 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+#include <glibmm/object.h>
+#include <glibmm/arrayhandle.h>
+#include <pangomm/fontface.h>
+#include <pango/pango-font.h>
+
+_DEFS(pangomm,pango)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Pango
+{
+
+/** A Pango::FontFamily is used to represent a family of related font faces.
+ * The faces in a family share a common design, but differ in slant, weight, width and other aspects.
+ */
+class FontFamily : public Glib::Object
+{
+ _CLASS_GOBJECT(FontFamily, PangoFontFamily, PANGO_FONT_FAMILY, Glib::Object, GObject)
+ _IGNORE(pango_font_family_list_faces)
+
+public:
+ /** Lists the different font faces that make up family.
+ * The faces in a family share a common design, but differ in slant, weight, width and other aspects.
+ * @return an array of pointers to Pango::FontFace objects.
+ */
+ Glib::ArrayHandle< Glib::RefPtr<FontFace> > list_faces() const;
+
+ _WRAP_METHOD(Glib::ustring get_name() const, pango_font_family_get_name)
+ _WRAP_METHOD(bool is_monospace() const, pango_font_family_is_monospace)
+};
+
+/*
+struct FontFamilyRefPtrTraits
+{
+ typedef Glib::RefPtr<FontFamily> CppType;
+ typedef PangoFontFamily * CType;
+ typedef PangoFontFamily * CTypeNonConst;
+
+ static CType to_c_type (const CppType& ptr) { return Glib::unwrap (ptr); }
+ static CType to_c_type (CType ptr) { return ptr; }
+ static CppType to_cpp_type (CType ptr) { return FontFamily::wrap_specific_type (ptr); }
+ static void release_c_type (CType ptr) { g_object_unref (ptr); }
+};
+*/
+
+} // namespace Pango
+
diff --git a/libs/gtkmm2/pango/src/fontmap.ccg b/libs/gtkmm2/pango/src/fontmap.ccg
new file mode 100644
index 0000000000..844a38a958
--- /dev/null
+++ b/libs/gtkmm2/pango/src/fontmap.ccg
@@ -0,0 +1,41 @@
+// -*- c++ -*-
+/* $Id: fontmap.ccg,v 1.2 2004/03/03 01:07:40 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2001 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pangomm/context.h>
+#include <pango/pango-fontmap.h>
+
+namespace Pango
+{
+
+Glib::ArrayHandle< Glib::RefPtr<FontFamily> > FontMap::list_families() const
+{
+ //Get the array:
+ PangoFontFamily** pFamilies = 0;
+ int n_families = 0;
+ pango_font_map_list_families(const_cast<PangoFontMap*>(gobj()), &pFamilies, &n_families);
+
+ return Glib::ArrayHandle< Glib::RefPtr<FontFamily> >
+ (pFamilies, n_families, Glib::OWNERSHIP_SHALLOW);
+}
+
+} /* namespace Pango */
+
diff --git a/libs/gtkmm2/pango/src/fontmap.hg b/libs/gtkmm2/pango/src/fontmap.hg
new file mode 100644
index 0000000000..5b8633dd69
--- /dev/null
+++ b/libs/gtkmm2/pango/src/fontmap.hg
@@ -0,0 +1,59 @@
+/* $Id: fontmap.hg,v 1.2 2004/03/03 01:07:40 murrayc Exp $ */
+
+/* fontmap.h
+ *
+ * Copyright 2001 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+#include <glibmm/object.h>
+#include <glibmm/arrayhandle.h>
+#include <pangomm/font.h>
+#include <pangomm/fontset.h>
+#include <pangomm/fontfamily.h>
+#include <pango/pango-fontmap.h>
+
+_DEFS(pangomm,pango)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Pango
+{
+
+class Context;
+
+/** A Pango::FontMap represents the set of fonts available for a particular rendering system.
+ */
+class FontMap : public Glib::Object
+{
+ _CLASS_GOBJECT(FontMap, PangoFontMap, PANGO_FONT_MAP, Glib::Object, GObject)
+ _IGNORE(pango_font_map_list_families)
+
+public:
+ _WRAP_METHOD(Glib::RefPtr<Font> load_font(const Glib::RefPtr<Context>& context, const FontDescription& desc) const, pango_font_map_load_font)
+ _WRAP_METHOD(Glib::RefPtr<Fontset> load_fontset(const Glib::RefPtr<Context>& context, const FontDescription& desc, const Language& language) const, pango_font_map_load_fontset)
+
+ /** List all families for the fontmap.
+ * @return an array of pointers to Pango::FontFamily objects.
+ */
+ Glib::ArrayHandle< Glib::RefPtr<FontFamily> > list_families() const;
+
+ //This is not used unless ENABLE_BACKEND is defined: _WRAP_METHOD(Glib::ustring get_shape_engine_type() const, pango_font_map_get_shape_engine_type)
+ _IGNORE(pango_font_map_get_shape_engine_type)
+};
+
+} /* namespace Pango */
+
diff --git a/libs/libglademm/libglademm/init.cc b/libs/gtkmm2/pango/src/fontmetrics.ccg
index 5e394a8a40..0820a9b197 100644
--- a/libs/libglademm/libglademm/init.cc
+++ b/libs/gtkmm2/pango/src/fontmetrics.ccg
@@ -1,8 +1,9 @@
// -*- c++ -*-
-/* $Id$ */
+/* $Id: fontmetrics.ccg,v 1.1 2003/01/21 13:41:04 murrayc Exp $ */
-/* init.cc
+/*
*
+ * Copyright 1998-1999 The Gtk-- Development Team
* Copyright 2001 Free Software Foundation
*
* This library is free software; you can redistribute it and/or
@@ -19,16 +20,3 @@
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-
-#include <libglademm/init.h>
-#include <libglademm/wrap_init.h>
-
-namespace Gnome
-{
-
-namespace Glade
-{
-
-
-} //namespace Glade
-} //namespace Gnome
diff --git a/libs/gtkmm2/pango/src/fontmetrics.hg b/libs/gtkmm2/pango/src/fontmetrics.hg
new file mode 100644
index 0000000000..63152a9923
--- /dev/null
+++ b/libs/gtkmm2/pango/src/fontmetrics.hg
@@ -0,0 +1,48 @@
+/* $Id: fontmetrics.hg,v 1.2 2004/12/01 11:46:29 murrayc Exp $ */
+
+/* fontmetrics.h
+ *
+ * Copyright (C) 1998-1999 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pango/pango-font.h>
+
+_DEFS(pangomm,pango)
+
+namespace Pango
+{
+
+/** A Pango::FontMetrics holds the overall metric information for a font (possibly restricted to a script).
+ */
+class FontMetrics
+{
+ _CLASS_BOXEDTYPE(FontMetrics, PangoFontMetrics, NONE, pango_font_metrics_ref, pango_font_metrics_unref)
+ _IGNORE(pango_font_metrics_unref, pango_font_metrics_ref)
+public:
+ _WRAP_METHOD(int get_ascent() const, pango_font_metrics_get_ascent)
+ _WRAP_METHOD(int get_descent() const, pango_font_metrics_get_descent)
+ _WRAP_METHOD(int get_approximate_char_width() const, pango_font_metrics_get_approximate_char_width)
+ _WRAP_METHOD(int get_approximate_digit_width() const, pango_font_metrics_get_approximate_digit_width)
+
+ _WRAP_METHOD(int get_underline_position() const, pango_font_metrics_get_underline_position)
+ _WRAP_METHOD(int get_underline_thickness() const, pango_font_metrics_get_underline_thickness)
+ _WRAP_METHOD(int get_strikethrough_position() const, pango_font_metrics_get_strikethrough_position)
+ _WRAP_METHOD(int get_strikethrough_thickness() const, pango_font_metrics_get_strikethrough_thickness)
+
+};
+
+} //namespace Pango
diff --git a/libs/gtkmm2/pango/src/fontset.ccg b/libs/gtkmm2/pango/src/fontset.ccg
new file mode 100644
index 0000000000..e6cda5625f
--- /dev/null
+++ b/libs/gtkmm2/pango/src/fontset.ccg
@@ -0,0 +1,53 @@
+// -*- c++ -*-
+/* $Id: fontset.ccg,v 1.5 2006/05/11 11:40:24 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2001 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+static gboolean fontset_foreach_callback(PangoFontset* /* fontset */, PangoFont* font, gpointer data)
+{
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ Pango::Fontset::ForeachSlot& slot = *static_cast<Pango::Fontset::ForeachSlot*>(data);
+ Glib::RefPtr<Pango::Font> cppFont = Glib::wrap(font, true /* take_copy */);
+
+ return slot(cppFont);
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+
+ return false; //arbitrary default
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+}
+
+
+namespace Pango
+{
+
+void Fontset::foreach(const ForeachSlot& slot)
+{
+ pango_fontset_foreach(gobj(), &fontset_foreach_callback, (void*)&slot);
+}
+
+} //namespace
diff --git a/libs/gtkmm2/pango/src/fontset.hg b/libs/gtkmm2/pango/src/fontset.hg
new file mode 100644
index 0000000000..5afff23d71
--- /dev/null
+++ b/libs/gtkmm2/pango/src/fontset.hg
@@ -0,0 +1,60 @@
+/* $Id: fontset.hg,v 1.3 2005/11/30 14:10:50 murrayc Exp $ */
+
+/* fontset.h
+ *
+ * Copyright 2001 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/object.h>
+#include <pangomm/language.h>
+#include <pangomm/font.h>
+#include <pangomm/fontmetrics.h>
+#include <pango/pango-fontset.h>
+
+_DEFS(pangomm,pango)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Pango
+{
+
+/** A Pango::Fontset is used to represent a set of fonts.
+ */
+class Fontset : public Glib::Object
+{
+ _CLASS_GOBJECT(Fontset, PangoFontset, PANGO_FONTSET, Glib::Object, GObject)
+
+public:
+ _WRAP_METHOD(Glib::RefPtr<Font> get_font(guint wc) const, pango_fontset_get_font)
+ _WRAP_METHOD(FontMetrics get_metrics() const, pango_fontset_get_metrics)
+
+ /** For instance,
+ * bool on_foreach(const Glib::RefPtr<Pango::Font>& font);
+ */
+ typedef sigc::slot< bool, const Glib::RefPtr<Font>& > ForeachSlot;
+
+ /** Iterates through all the fonts in a fontset, calling @a slot for
+ * each one. If @a slot returns true, that stops the iteration.
+ *
+ * @since-1.4
+ *
+ * @param slot Callback function
+ */
+ void foreach(const ForeachSlot& slot);
+ _IGNORE(pango_fontset_foreach)
+};
+
+} /* namespace Pango */
diff --git a/libs/gtkmm2/pango/src/glyph.ccg b/libs/gtkmm2/pango/src/glyph.ccg
new file mode 100644
index 0000000000..a697c29e77
--- /dev/null
+++ b/libs/gtkmm2/pango/src/glyph.ccg
@@ -0,0 +1,87 @@
+/*
+ * Copyright 2001 Free Software Foundation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+namespace Pango
+{
+
+GlyphInfo::GlyphInfo()
+{
+ gobject_.glyph = 0;
+}
+
+
+GlyphGeometry::GlyphGeometry()
+{
+ gobject_.width = gobject_.x_offset = gobject_.y_offset = 0;
+}
+
+GlyphGeometry::GlyphGeometry(const PangoGlyphGeometry* src)
+{
+ gobject_.width = src->width;
+ gobject_.x_offset = src->x_offset;
+ gobject_.y_offset = src->y_offset;
+}
+
+
+/*GlyphVisAttr::GlyphVisAttr()
+{
+ gobject_.is_cluster_start = 0;
+}
+
+GlyphVisAttr::GlyphVisAttr(const PangoGlyphVisAttr* src)
+{
+ gobject_.is_cluster_start = src->is_cluster_start;
+}*/
+
+} //namespace Pango
+
+
+namespace Glib
+{
+
+Pango::GlyphInfo& wrap(PangoGlyphInfo* object)
+{
+ return *reinterpret_cast<Pango::GlyphInfo*>(object);
+}
+
+const Pango::GlyphInfo& wrap(const PangoGlyphInfo* object)
+{
+ return *reinterpret_cast<const Pango::GlyphInfo*>(object);
+}
+
+Pango::GlyphGeometry& wrap(PangoGlyphGeometry* object)
+{
+ return *reinterpret_cast<Pango::GlyphGeometry*>(object);
+}
+
+const Pango::GlyphGeometry& wrap(const PangoGlyphGeometry* object)
+{
+ return *reinterpret_cast<const Pango::GlyphGeometry*>(object);
+}
+
+/*Pango::GlyphVisAttr& wrap(PangoGlyphVisAttr* object)
+{
+ return *reinterpret_cast<Pango::GlyphVisAttr*>(object);
+}
+
+const Pango::GlyphVisAttr& wrap(const PangoGlyphVisAttr* object)
+{
+ return *reinterpret_cast<const Pango::GlyphVisAttr*>(object);
+}*/
+
+} //namespace Glib
diff --git a/libs/gtkmm2/pango/src/glyph.hg b/libs/gtkmm2/pango/src/glyph.hg
new file mode 100644
index 0000000000..d05fda68de
--- /dev/null
+++ b/libs/gtkmm2/pango/src/glyph.hg
@@ -0,0 +1,195 @@
+/* glyph.h
+ *
+ * Copyright (C) 1998-1999 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pango/pango-glyph.h>
+
+_DEFS(pangomm,pango)
+
+namespace Pango
+{
+
+class GlyphInfo;
+class GlyphGeometry;
+
+
+/** A Pango::Glyph represents a single glyph in the output form of a string.
+ */
+typedef PangoGlyph Glyph; //This is defined as a guint32
+
+
+/** A Pango::GlyphUnit is used to store dimensions within Pango. Dimensions are stored in 1/64ths of a point.
+ */
+typedef PangoGlyphUnit GlyphUnit;
+
+
+/** A Pango::GlyphVisAttr is used to communicate information between the shaping phase and the rendering phase. It's contents are still evolving.
+ */
+typedef PangoGlyphVisAttr GlyphVisAttr;
+
+
+/** A Pango::GlyphInfo represents a single glyph together with positioning information and visual attributes.
+ */
+class GlyphInfo
+{
+ _CLASS_GENERIC(GlyphInfo, PangoGlyphInfo)
+
+public:
+ GlyphInfo();
+
+ /** Gets the glyph itself.
+ * @return The glyph.
+ */
+ _MEMBER_GET(glyph, glyph, Glyph, PangoGlyph)
+
+ /** Gets the positional information about the glyph.
+ * @return A GylphGeometry object.
+ */
+ _MEMBER_GET(geometry, geometry, GlyphGeometry, PangoGlyphGeometry)
+
+ /** Gets the visual attributes of the glyph.
+ * @return A GlyphVisAttr structure.
+ */
+ _MEMBER_GET(attr, attr, GlyphVisAttr, PangoGlyphVisAttr)
+
+//I don't think that we need these set_* functions!
+//TODO: Who wrote this comment? Investigate. murrayc.
+ /* Sets the glyph itself.
+ * @param glyph The new glyph.
+ */
+// _MEMBER_SET(glyph, glyph, Glyph, PangoGlyph)
+
+ /* Sets the positional information about the glyph.
+ * @param geometry A GlyphGeometry object.
+ */
+// _MEMBER_SET(geometry, geometry, GlyphGeometry, PangoGlyphGeometry)
+
+ /* Sets the visual attributes of the glyph.
+ * @param attr A GylphVisAttr structure.
+ */
+// _MEMBER_SET(attr, attr, GlyphVisAttr, PangoGlyphVisAttr)
+
+ /// Provides access to the underlying C GObject.
+ PangoGlyphInfo* gobj() { return &gobject_; }
+ /// Provides access to the underlying C GObject.
+ const PangoGlyphInfo* gobj() const { return &gobject_; }
+
+protected:
+ PangoGlyphInfo gobject_;
+};
+
+
+/** A Pango::GlyphGeometry contains width and positioning information for a single glyph. Distances are in 1/64ths of a point.
+ */
+class GlyphGeometry
+{
+ _CLASS_GENERIC(GlyphGeometry, PangoGlyphGeometry)
+
+public:
+ GlyphGeometry();
+ explicit GlyphGeometry(const PangoGlyphGeometry* src);
+
+ /** Gets the logical width to use for the character.
+ * @return The logical width.
+ */
+ _MEMBER_GET(width, width, GlyphUnit, PangoGlyphUnit)
+
+ /** Gets the horizontal offset from nominal character position.
+ * @return The horizontal offset.
+ */
+ _MEMBER_GET(x_offset, x_offset, GlyphUnit, PangoGlyphUnit)
+
+ /** Gets the vertical offset from nominal character position.
+ * @return The vertical offset.
+ */
+ _MEMBER_GET(y_offset, y_offset, GlyphUnit, PangoGlyphUnit)
+
+//I don't think that we need these set_* functions!
+ /* Sets the logical width to use for the character.
+ * @param width The new logical width.
+ */
+// _MEMBER_SET(width, width, GlyphUnit, PangoGlyphUnit)
+
+ /* Sets the horizontal offset from nominal character position.
+ * @param x_offset The new horizontal offset.
+ */
+// _MEMBER_SET(x_offset, x_offset, GlyphUnit, PangoGlyphUnit)
+
+ /* Sets the vertical offset from nominal character position.
+ * @param y_offset The new vertical offset.
+ */
+// _MEMBER_SET(y_offset, y_offset, GlyphUnit, PangoGlyphUnit)
+
+ PangoGlyphGeometry* gobj() { return &gobject_; }
+ const PangoGlyphGeometry* gobj() const { return &gobject_; }
+
+protected:
+ PangoGlyphGeometry gobject_;
+};
+
+
+/* Since "the contents [of this struct] are still evolving" it might get necessary
+ * to create a wrapper class for PangoGlyphVisAttr in future. Currently, however,
+ * PangoGlyphVisAttr just contains one simple data field (guint is_cluster_start).
+ */
+/*class GlyphVisAttr
+{
+ _CLASS_GENERIC(GlyphVisAttr, PangoGlyphVisAttr)
+
+public:
+ GlyphVisAttr();
+ explicit GlyphVisAttr(const PangoGlyphVisAttr* src);
+
+ _MEMBER_GET(cluster_start, is_cluster_start, bool, guint)
+
+ _MEMBER_SET(cluster_start, is_cluster_start, bool, guint)
+
+ /// Provides access to the underlying C GObject.
+ PangoGlyphVisAttr* gobj() { return &gobject_; }
+ /// Provides access to the underlying C GObject.
+ const PangoGlyphVisAttr* gobj() const { return &gobject_; }
+
+protected:
+ PangoGlyphVisAttr gobject_;
+};*/
+
+} //namespace Pango
+
+
+namespace Glib
+{
+
+/** @relates Pango::GlyphInfo */
+Pango::GlyphInfo& wrap(PangoGlyphInfo* object);
+
+/** @relates Pango::GlyphInfo */
+const Pango::GlyphInfo& wrap(const PangoGlyphInfo* object);
+
+/** @relates Pango::GlyphGeometry */
+Pango::GlyphGeometry& wrap(PangoGlyphGeometry* object);
+
+/** @relates Pango::GlyphGeometry */
+const Pango::GlyphGeometry& wrap(const PangoGlyphGeometry* object);
+
+/* @relates Pango::GlyphVisAttr */
+//Pango::GlyphVisAttr& wrap(PangoGlyphVisAttr* object);
+
+/* @relates Pango::GlyphVisAttr */
+//const Pango::GlyphVisAttr& wrap(const PangoGlyphVisAttr* object);
+
+} //namespace Glib
diff --git a/libs/gtkmm2/pango/src/glyphstring.ccg b/libs/gtkmm2/pango/src/glyphstring.ccg
new file mode 100644
index 0000000000..1c57c7b236
--- /dev/null
+++ b/libs/gtkmm2/pango/src/glyphstring.ccg
@@ -0,0 +1,90 @@
+// -*- c++ -*-
+/* $Id: glyphstring.ccg,v 1.2 2006/05/30 17:14:21 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/utility.h>
+#include <pango/pangocairo.h>
+
+namespace Pango
+{
+
+GlyphString::GlyphString(const Glib::ustring& text, const Analysis& analysis)
+:
+ gobject_(pango_glyph_string_new())
+{
+ pango_shape(text.c_str(), text.bytes(), const_cast<PangoAnalysis*>(analysis.gobj()), gobj());
+}
+
+Rectangle GlyphString::get_ink_extents(const Glib::RefPtr<const Font>& font) const
+{
+ Rectangle ink_rect;
+ pango_glyph_string_extents(const_cast<PangoGlyphString*>(gobj()), const_cast<PangoFont*>(font->gobj()), ink_rect.gobj(), 0);
+ return ink_rect;
+}
+
+Rectangle GlyphString::get_ink_extents(int start, int end, const Glib::RefPtr<const Font>& font) const
+{
+ Rectangle ink_rect;
+ pango_glyph_string_extents_range(const_cast<PangoGlyphString*>(gobj()), start, end, const_cast<PangoFont*>(font->gobj()), ink_rect.gobj(), 0);
+ return ink_rect;
+}
+
+Rectangle GlyphString::get_logical_extents(const Glib::RefPtr<const Font>& font) const
+{
+ Rectangle logical_rect;
+ pango_glyph_string_extents(const_cast<PangoGlyphString*>(gobj()), const_cast<PangoFont*>(font->gobj()), 0, logical_rect.gobj());
+ return logical_rect;
+}
+
+Rectangle GlyphString::get_logical_extents(int start, int end, const Glib::RefPtr<const Font>& font) const
+{
+ Rectangle logical_rect;
+ pango_glyph_string_extents_range(const_cast<PangoGlyphString*>(gobj()), start, end, const_cast<PangoFont*>(font->gobj()), 0, logical_rect.gobj());
+ return logical_rect;
+}
+
+Glib::ArrayHandle<int> GlyphString::get_logical_widths(const Glib::ustring& text, int embedding_level) const
+{
+ int* logical_widths = g_new(int, text.length());
+ pango_glyph_string_get_logical_widths(const_cast<PangoGlyphString*>(gobj()), text.c_str(), text.bytes(), embedding_level, logical_widths);
+ return Glib::ArrayHandle<int>(logical_widths, text.length(), Glib::OWNERSHIP_SHALLOW);
+}
+
+int GlyphString::index_to_x(const Glib::ustring& text, const Analysis& analysis, int index, bool trailing) const
+{
+ int x_pos;
+ pango_glyph_string_index_to_x(const_cast<PangoGlyphString*>(gobj()), const_cast<gchar*>(text.c_str()), text.bytes(), const_cast<PangoAnalysis*>(analysis.gobj()), index, static_cast<int>(trailing), &x_pos);
+ return x_pos;
+}
+
+void GlyphString::x_to_index(const Glib::ustring& text, const Analysis& analysis, int x_pos, int& index, bool& trailing) const
+{
+ gboolean trailing_temp = FALSE;
+ pango_glyph_string_x_to_index(const_cast<PangoGlyphString*>(gobj()), const_cast<char*>(text.c_str()), text.bytes(), const_cast<PangoAnalysis*>(analysis.gobj()), x_pos, &index, &trailing_temp);
+ trailing = trailing_temp;
+}
+
+Glib::ArrayHandle<GlyphInfo> GlyphString::get_glyphs() const
+{
+ return Glib::ArrayHandle<GlyphInfo>(reinterpret_cast<GlyphInfo*>(gobj()->glyphs), gobj()->num_glyphs, Glib::OWNERSHIP_NONE);
+}
+
+} //namespace Pango
diff --git a/libs/gtkmm2/pango/src/glyphstring.hg b/libs/gtkmm2/pango/src/glyphstring.hg
new file mode 100644
index 0000000000..a2b596e119
--- /dev/null
+++ b/libs/gtkmm2/pango/src/glyphstring.hg
@@ -0,0 +1,131 @@
+/* $Id: glyphstring.hg,v 1.2 2006/05/30 17:14:21 murrayc Exp $ */
+
+/* glyphstring.h
+ *
+ * Copyright (C) 1998-1999 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pangomm/font.h>
+#include <pangomm/glyph.h>
+#include <pangomm/item.h>
+#include <cairomm/context.h>
+#include <pango/pango-glyph.h>
+#include <pango/pango-item.h> //For PangoAnalysis.
+
+_DEFS(pangomm,pango)
+
+namespace Pango
+{
+
+/** A Pango::GlyphString is used to store strings of glyphs with geometry and visual attribute information.
+ * It can be measured or drawn to the screen.
+ */
+class GlyphString
+{
+ _CLASS_BOXEDTYPE(GlyphString, PangoGlyphString, pango_glyph_string_new, pango_glyph_string_copy, pango_glyph_string_free)
+ _IGNORE(pango_glyph_string_free, pango_glyph_string_copy, pango_glyph_string_copy_static, pango_glyph_string_equal)
+ _IGNORE(pango_glyph_string_index_to_x, pango_glyph_string_x_to_index, pango_glyph_string_get_logical_widths)
+
+public:
+ /** Construct a string of glyphs from a string of characters.
+ * Given a segment of text and the corresponding Pango::Analysis structure
+ * returned from Pango::Context::itemize(), convert the characters into glyphs.
+ * You may also pass in only a sub-string of the item.
+ * @param text The text to process. You must pass the same string into those member functions expecting a const Glib::ustring&.
+ * @param analysis The analysis information return from Pango::Context::itemize().
+ */
+ GlyphString(const Glib::ustring& text, const Analysis& analysis);
+
+ _WRAP_METHOD(void set_size (int new_len), pango_glyph_string_set_size)
+
+ _WRAP_METHOD(void get_extents(const Glib::RefPtr<const Font>& font, Rectangle& ink_rect, Rectangle& logical_rect) const, pango_glyph_string_extents)
+ _WRAP_METHOD(void get_extents(int start, int end, const Glib::RefPtr<const Font>& font, Rectangle& ink_rect, Rectangle& logical_rect) const, pango_glyph_string_extents_range)
+
+ _WRAP_METHOD(int get_width() const, pango_glyph_string_get_width)
+
+ /** Computes the extents of the glyph string as drawn.
+ * @param font A Pango::Font.
+ * @return The extents of the glyph string as drawn.
+ */
+ Rectangle get_ink_extents(const Glib::RefPtr<const Font>& font) const;
+
+ /** Computes the extents of a sub-portion of the glyph string as drawn.
+ * @param start The start index.
+ * @param end The end index.
+ * @param font A Panog::Font
+ * @return The extents of the sub-portion of the glyph string as drawn.
+ */
+ Rectangle get_ink_extents(int start, int end, const Glib::RefPtr<const Font>& font) const;
+
+ /** Computes the logical extents of a sub-portion of the glyph string.
+ * @param font A Pango::Font.
+ * @return The logical extents of the glyph string.
+ */
+ Rectangle get_logical_extents(const Glib::RefPtr<const Font>& font) const;
+
+ /** Computes the logical extents of a sub-portion of the glyph string.
+ * @param start The start index.
+ * @param end The end index.
+ * @param font A Pango::Font.
+ * @return The logical extents of the sub-portion of the glyph string.
+ */
+ Rectangle get_logical_extents(int start, int end, const Glib::RefPtr<const Font>& font) const;
+
+ /** Determine the screen width corresponding to each character.
+ * When multiple characters compose a single cluster, the width of the entire cluster
+ * is divided equally among the characters.
+ * @param text The text corresponding to the glyphs.
+ * @param embedding_level The embedding level of the string.
+ * @return An array of integers representing the resulting character widths.
+ */
+ Glib::ArrayHandle<int> get_logical_widths(const Glib::ustring& text, int embedding_level) const;
+
+ /** Converts from character position to x position.
+ * (X position is measured from the left edge of the run). Character positions are computed by dividing up each cluster into equal portions.
+ * @param text The text corresponding to the glyphs.
+ * @param analysis The analysis information return from Pango::Context::itemize().
+ * @param index The byte index within text.
+ * @param trailing Whether we should compute the result for the beginning or end of the character.
+ * @return The x position.
+ */
+ int index_to_x(const Glib::ustring& text, const Analysis& analysis, int index, bool trailing) const;
+
+ /** Convert from x offset to character position.
+ * Character positions are computed by dividing up each cluster into equal portions.
+ * In scripts where positioning within a cluster is not allowed (such as Thai),
+ * the returned value may not be a valid cursor position; the caller must combine the
+ * result with the logical attributes for the text to compute the valid cursor position.
+ * @param text The text corresponding to the glyphs.
+ * @param analysis The analysis information return from Pango::Context::itemize().
+ * @param x_pos The x offset (in thousands of a device unit).
+ * @param index The location to store calculated byte index within.
+ * @param trailing The location to store a boolean indicating whether the user clicked on the leading or trailing edge of the character.
+ */
+ void x_to_index(const Glib::ustring& text, const Analysis& analysis, int x_pos, int& index, bool& trailing) const;
+
+ /** Gharacter positions are computed by dividing up each cluster into equal portions.
+ * @return An array of Pango::GlyphInfo objects.
+ */
+ Glib::ArrayHandle<GlyphInfo> get_glyphs() const;
+
+ //TODO:
+ //void pango_cairo_glyph_string_path (cairo_t *cr,
+ // PangoFont *font,
+ // PangoGlyphString *glyphs);
+};
+
+} //namespace Pango
diff --git a/libs/gtkmm2/pango/src/item.ccg b/libs/gtkmm2/pango/src/item.ccg
new file mode 100644
index 0000000000..cde946a1a1
--- /dev/null
+++ b/libs/gtkmm2/pango/src/item.ccg
@@ -0,0 +1,124 @@
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pangomm/font.h>
+#include <pangomm/attributes.h>
+#include <pangomm/glyphstring.h>
+
+namespace Pango
+{
+
+Analysis::Analysis()
+{}
+
+Analysis::Analysis(const PangoAnalysis* src)
+:
+ gobject_ (*src)
+{}
+
+SListHandle_Attribute Analysis::get_extra_attrs() const
+{
+ return SListHandle_Attribute(gobj()->extra_attrs, Glib::OWNERSHIP_NONE);
+}
+
+
+Item::Item(const Item& src)
+:
+ gobject_ ((src.gobject_) ? pango_item_copy(src.gobject_) : 0)
+{}
+
+Item::Item(PangoItem* castitem, bool make_a_copy)
+{
+ // For BoxedType wrappers, make_a_copy is true by default. The static
+ // BoxedType wrappers must always take a copy, thus make_a_copy = true
+ // ensures identical behaviour if the default argument is used.
+
+ if(make_a_copy)
+ {
+ if(castitem)
+ gobject_ = pango_item_copy(castitem);
+ else
+ gobject_ = 0;
+ }
+ else
+ {
+ // It was given to us by a function which has already made a copy for us to keep.
+ gobject_ = castitem;
+ }
+}
+
+Item& Item::operator=(const Item& src)
+{
+ PangoItem *const new_gobject = (src.gobject_) ? pango_item_copy(src.gobject_) : 0;
+
+ if(gobject_)
+ pango_item_free(gobject_);
+ gobject_ = new_gobject;
+
+ return *this;
+}
+
+Item::~Item()
+{
+ if(gobject_)
+ pango_item_free(gobject_);
+}
+
+PangoItem* Item::gobj_copy() const
+{
+ return pango_item_copy(gobject_);
+}
+
+Analysis Item::get_analysis() const
+{
+ return Analysis(&gobj()->analysis);
+}
+
+Glib::ustring Item::get_segment(const Glib::ustring& text) const
+{
+ const char *const start = text.data() + gobj()->offset;
+ return Glib::ustring(start, start + gobj()->length);
+}
+
+Pango::GlyphString Item::shape(const Glib::ustring& text) const
+{
+ return GlyphString(text, get_analysis());
+}
+
+} /* namespace Pango */
+
+
+namespace Glib
+{
+
+Pango::Analysis& wrap(PangoAnalysis* object)
+{
+ return *reinterpret_cast<Pango::Analysis*>(object);
+}
+
+const Pango::Analysis& wrap(const PangoAnalysis* object)
+{
+ return *reinterpret_cast<const Pango::Analysis*>(object);
+}
+
+Pango::Item wrap(PangoItem* object, bool take_copy)
+{
+ return Pango::Item(object, take_copy);
+}
+
+} /* namespace Glib */
+
diff --git a/libs/gtkmm2/pango/src/item.hg b/libs/gtkmm2/pango/src/item.hg
new file mode 100644
index 0000000000..26091f7f38
--- /dev/null
+++ b/libs/gtkmm2/pango/src/item.hg
@@ -0,0 +1,182 @@
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pangomm/attributes.h>
+#include <pangomm/language.h>
+#include <pango/pango-item.h>
+
+_DEFS(pangomm,pango)
+
+namespace Pango
+{
+
+class Font;
+class GlyphString;
+
+/** A Pango::Analysis stores information about the properties of a segment of text.
+ * Pango::Analysis is used as an output type only so there is no public default constructor.
+ * You can retrieve an object of this type from an object of type Pango::Item by
+ * calling Pango::Item::get_analysis(). Objects of this class can be used for some
+ * calculations in Pango::GlyphString.
+ */
+class Analysis
+{
+ _CLASS_GENERIC(Analysis, PangoAnalysis)
+
+protected:
+ // This class is only used as an output type.
+ Analysis();
+
+public:
+ explicit Analysis(const PangoAnalysis* src);
+
+public:
+// _MEMBER_GET_PTR(engine_shape, shape_engine, EngineShape*, PangoEngineShape*) //We don't wrap the Engine* stuff.
+// _MEMBER_GET_PTR(engine_lang, lang_engine, EngineLang*, PangoEngineLang*)
+
+ /** Gets the font used to render this segment.
+ * @return The font used to render this segment.
+ */
+ _MEMBER_GET_GOBJECT(font, font, Font, PangoFont*)
+
+ /** Gets the bidrectional level for this segment.
+ * @return The bidirectional level for this segment.
+ */
+ _MEMBER_GET(level, level, guint8, guint8)
+
+ /** Gets the language of this segment.
+ * @return The language of this segment.
+ */
+ _MEMBER_GET(language, language, Language, PangoLanguage*)
+
+ /** Gets a list of non-font attributes for this segment.
+ * @return A list of non-font attributes for this segment.
+ */
+ SListHandle_Attribute get_extra_attrs() const;
+
+ /// Provides access to the underlying C GObject.
+ PangoAnalysis* gobj() { return &gobject_; }
+ /// Provides access to the underlying C GObject.
+ const PangoAnalysis* gobj() const { return &gobject_; }
+
+protected:
+ PangoAnalysis gobject_;
+};
+
+
+/** A Pango::Item stores information about a segment of text.
+ * Pango::Item is used as an output type only so there is no public default constructor.
+ * You retrieve objects of this type by calling Pango::Context::itemize() with some text.
+ * The actual rendering of the segment of text that corresponds to a particular Pango::Item
+ * (or some sub-string) into a string of glyphs is done with shape().
+ * The segment of text that corresponds to a Pango::Item can be computed from the
+ * text passed into Pango::Context::itemize() with get_segment(). Together with
+ * the Pango::Analysis data member that can be accessed with get_analysis()
+ * it is needed for further calculations in Pango::GlyphString.
+ */
+class Item
+{
+ _CLASS_GENERIC(Item, PangoItem) //There is the whole set of functions for _CLASS_BOXEDTYPE but unfortunately PangoItem is not registered as a boxed type and lacks pango_item_get_type...
+ _IGNORE(pango_item_copy,pango_item_free)
+
+public:
+ // There is no default constructor. This class is only used as an output type.
+ explicit Item(PangoItem* castitem, bool make_a_copy = true);
+
+ Item(const Item& src);
+ Item& operator=(const Item& src);
+
+ ~Item();
+
+ /// Provides access to the underlying C GObject. The caller is responsible for freeing it. Use when directly setting fields in structs.
+ PangoItem* gobj_copy() const;
+
+public:
+ _WRAP_METHOD(Item split(int split_index, int split_offset), pango_item_split)
+
+ /** Gets the offset of the segment from the beginning of the string in bytes.
+ * @return The offset of the segment from the beginning of the string in bytes.
+ */
+ _MEMBER_GET(offset, offset, int, gint)
+
+ /** Gets the length of the segment in bytes.
+ * @return The length of the segment in bytes.
+ */
+ _MEMBER_GET(length, length, int, gint)
+
+ /** Gets the length of the segment in characters.
+ * @return The length of the semgment in characters.
+ */
+ _MEMBER_GET(num_chars, num_chars, int, gint)
+
+ /** Gets the properties of the segment.
+ * @return The properties of the segment.
+ */
+ Analysis get_analysis() const;
+
+ /** Computes the segment of text that is represented by the item.
+ * @param text The text that has been passed into Pango::Context::itemize().
+ * @return The sub-string of @a text that corresponds to the item.
+ */
+ Glib::ustring get_segment(const Glib::ustring& text) const;
+
+ /** Convert a segment of text into a string of glyphs.
+ * @param text The text to process. This must either be the whole segment of text that corresponds to the item as returned by get_segment() or a sub-string of that segment. You need to pass the same text to the member functions of Pango::GlyphString for further calculations.
+ * @return A Pango::GlyphString object that can be measured or drawn.
+ */
+ GlyphString shape(const Glib::ustring& text) const;
+
+ /// Provides access to the underlying C GObject.
+ PangoItem* gobj() { return gobject_; }
+ /// Provides access to the underlying C GObject.
+ const PangoItem* gobj() const { return gobject_; }
+
+protected:
+ PangoItem* gobject_;
+};
+
+struct ItemTraits
+{
+ typedef Pango::Item CppType;
+ typedef const PangoItem* CType;
+ typedef PangoItem* CTypeNonConst;
+
+ static CType to_c_type (const CppType& obj) { return obj.gobj(); }
+ static CType to_c_type (CType ptr) { return ptr; }
+ static CppType to_cpp_type (CType ptr) { return CppType(const_cast<CTypeNonConst>(ptr), true); }
+ static void release_c_type (CType ptr) { pango_item_free(const_cast<CTypeNonConst>(ptr)); }
+};
+
+typedef Glib::ListHandle<Item, ItemTraits> ListHandle_Item;
+
+} // namespace Pango
+
+
+namespace Glib
+{
+
+/** @relates Pango::Analysis */
+Pango::Analysis& wrap(PangoAnalysis* object);
+
+/** @relates Pango::Analysis */
+const Pango::Analysis& wrap(const PangoAnalysis* object);
+
+/** @relates Pango::Item */
+Pango::Item wrap(PangoItem* object, bool take_copy=true);
+
+} // namespace Glib
+
diff --git a/libs/gtkmm2/pango/src/language.ccg b/libs/gtkmm2/pango/src/language.ccg
new file mode 100644
index 0000000000..28105527d4
--- /dev/null
+++ b/libs/gtkmm2/pango/src/language.ccg
@@ -0,0 +1,65 @@
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pango/pango-enum-types.h>
+#include <pango/pango-script.h>
+
+namespace Pango
+{
+
+/* PangoLanguage is just another example of inconsistent coding in atk/pango/gtk:
+ * on the one hand it is defined and registered as a boxed type, on the other
+ * hand it is always a pointer to some statically allocated string and thus
+ * neither allocated by itself, nor copied by value, nor freed. Similar dummy
+ * functions as below are defined in pango/pango-util.c but they are not exported.
+ * Compare with pango/pango-util.c for reference. */
+ //(I wonder who wrote this - it wasn't me. murrayc)
+
+inline PangoLanguage* _pango_language_new()
+{
+ return 0;
+}
+
+inline PangoLanguage* _pango_language_copy(const PangoLanguage* language)
+{
+ return const_cast<PangoLanguage*>(language);
+}
+
+inline void _pango_language_free(PangoLanguage*)
+{
+ return;
+}
+
+Language::Language()
+:
+ gobject_(0)
+{}
+
+Language::Language(const Glib::ustring& language)
+:
+ gobject_(pango_language_from_string(language.c_str()))
+{}
+
+Glib::ustring Language::get_string() const
+{
+ if (gobject_)
+ return pango_language_to_string(const_cast<PangoLanguage*>(gobj()));
+ else
+ return Glib::ustring();
+}
+
+} /* namespace Pango */
diff --git a/libs/gtkmm2/pango/src/language.hg b/libs/gtkmm2/pango/src/language.hg
new file mode 100644
index 0000000000..bc7c94b15d
--- /dev/null
+++ b/libs/gtkmm2/pango/src/language.hg
@@ -0,0 +1,56 @@
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pango/pango-attributes.h>
+
+_DEFS(pangomm,pango)
+
+namespace Pango
+{
+
+_WRAP_ENUM(Script, PangoScript)
+
+/** A Pango::Language is used to represent a language.
+ */
+class Language
+{
+ _CLASS_BOXEDTYPE(Language, PangoLanguage, _pango_language_new, _pango_language_copy, _pango_language_free)
+ _IGNORE(pango_language_get_sample_string) //This function is a bad hack for internal use by renderers and Pango (from pango/pango-utils.c)
+ _IGNORE(pango_language_to_string) //This is defined as a macro
+ _CUSTOM_DEFAULT_CTOR
+
+public:
+ /** Constructs an empty language tag.
+ */
+ Language();
+
+ /** Constructs a Pango::Language object from a RFC-3066 format language tag.
+ * This function first canonicalizes the string by converting it to lowercase,
+ * mapping '_' to '-', and stripping all characters other than letters and '-'.
+ */
+ Language(const Glib::ustring& language);
+
+ /** Gets a RFC-3066 format string representing the given language tag.
+ * @return A string representing the language tag. An empty string is returned if the language tag is empty.
+ */
+ Glib::ustring get_string() const;
+
+ _WRAP_METHOD(bool matches(const Glib::ustring & range_list) const, pango_language_matches)
+ _WRAP_METHOD(bool includes_script(Script script) const, pango_language_includes_script)
+};
+
+} /* namespace Pango */
diff --git a/libs/gtkmm2/pango/src/layout.ccg b/libs/gtkmm2/pango/src/layout.ccg
new file mode 100644
index 0000000000..3151a10399
--- /dev/null
+++ b/libs/gtkmm2/pango/src/layout.ccg
@@ -0,0 +1,132 @@
+// -*- c++ -*-
+/* $Id: layout.ccg,v 1.3 2006/05/30 17:14:21 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pango/pangocairo.h>
+
+namespace Pango
+{
+
+Layout::Layout(const Glib::RefPtr<Context>& context)
+:
+ Glib::Object(G_OBJECT(pango_layout_new(context->gobj())))
+{}
+
+Glib::RefPtr<Layout> Layout::create(const Cairo::RefPtr<Cairo::Context>& context)
+{
+ return Glib::wrap( pango_cairo_create_layout(context->cobj()) );
+}
+
+void Layout::update_from_cairo_context(const Cairo::RefPtr<Cairo::Context>& context)
+{
+ pango_cairo_update_layout(context->cobj(), gobj());
+}
+
+void Layout::set_text(const Glib::ustring& text)
+{
+ pango_layout_set_text(gobj(), text.c_str(), text.bytes());
+}
+
+void Layout::set_markup(const Glib::ustring& markup)
+{
+ return pango_layout_set_markup(gobj(), markup.c_str(), markup.bytes());
+}
+
+void Layout::set_markup(const Glib::ustring& markup, gunichar accel_marker, gunichar& accel_char)
+{
+ return pango_layout_set_markup_with_accel(gobj(), markup.c_str(), markup.bytes(), accel_marker, &accel_char);
+}
+
+Glib::ArrayHandle<PangoLogAttr> Layout::get_log_attrs() const
+{
+ //Get array:
+ PangoLogAttr* pAttrs = 0;
+ int n_attrs = 0;
+ pango_layout_get_log_attrs(const_cast<PangoLayout*>(gobj()), &pAttrs, &n_attrs);
+
+ return Glib::ArrayHandle<PangoLogAttr>(pAttrs, n_attrs, Glib::OWNERSHIP_SHALLOW);
+}
+
+Rectangle Layout::index_to_pos(int index) const
+{
+ Rectangle pos;
+ pango_layout_index_to_pos(const_cast<PangoLayout*>(gobj()), index, pos.gobj());
+ return pos;
+}
+
+Rectangle Layout::get_cursor_strong_pos(int index) const
+{
+ Rectangle strong_pos;
+ pango_layout_get_cursor_pos(const_cast<PangoLayout*>(gobj()), index, strong_pos.gobj(), 0);
+ return strong_pos;
+}
+
+Rectangle Layout::get_cursor_weak_pos(int index) const
+{
+ Rectangle weak_pos;
+ pango_layout_get_cursor_pos(const_cast<PangoLayout*>(gobj()), index, 0, weak_pos.gobj());
+ return weak_pos;
+}
+
+Rectangle Layout::get_ink_extents() const
+{
+ Rectangle ink_extents;
+ pango_layout_get_extents(const_cast<PangoLayout*>(gobj()), ink_extents.gobj(), 0);
+ return ink_extents;
+}
+
+Rectangle Layout::get_logical_extents() const
+{
+ Rectangle logical_extents;
+ pango_layout_get_extents(const_cast<PangoLayout*>(gobj()), 0, logical_extents.gobj());
+ return logical_extents;
+}
+
+Rectangle Layout::get_pixel_ink_extents() const
+{
+ Rectangle ink_extents;
+ pango_layout_get_pixel_extents(const_cast<PangoLayout*>(gobj()), ink_extents.gobj(), 0);
+ return ink_extents;
+}
+
+Rectangle Layout::get_pixel_logical_extents() const
+{
+ Rectangle logical_extents;
+ pango_layout_get_pixel_extents(const_cast<PangoLayout*>(gobj()), 0, logical_extents.gobj());
+ return logical_extents;
+}
+
+void Layout::get_iter(LayoutIter& iter)
+{
+ iter.assign_gobj(pango_layout_get_iter(gobj()));
+}
+
+void Layout::unset_font_description()
+{
+ pango_layout_set_font_description(gobj(), 0);
+}
+
+void Layout::add_to_cairo_context(const Cairo::RefPtr<Cairo::Context>& context)
+{
+ pango_cairo_layout_path(context->cobj(), gobj());
+}
+
+} /* namespace Pango */
diff --git a/libs/gtkmm2/pango/src/layout.hg b/libs/gtkmm2/pango/src/layout.hg
new file mode 100644
index 0000000000..2316ce70b7
--- /dev/null
+++ b/libs/gtkmm2/pango/src/layout.hg
@@ -0,0 +1,248 @@
+/* $Id: layout.hg,v 1.9 2006/06/08 20:39:39 murrayc Exp $ */
+
+/* layout.h
+ *
+ * Copyright(C) 1998-1999 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or(at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+#include <glibmm/object.h>
+#include <glibmm/slisthandle.h>
+#include <pangomm/font.h>
+#include <pangomm/fontdescription.h>
+#include <pangomm/context.h>
+#include <pangomm/attrlist.h>
+#include <pangomm/tabarray.h>
+#include <pangomm/layoutline.h>
+#include <pangomm/layoutiter.h>
+#include <pango/pango-layout.h>
+
+_DEFS(pangomm,pango)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Pango
+{
+
+_CC_INCLUDE(pango/pango-enum-types.h)
+_WRAP_ENUM(Alignment, PangoAlignment)
+_WRAP_ENUM(WrapMode, PangoWrapMode)
+_WRAP_ENUM(EllipsizeMode, PangoEllipsizeMode)
+
+/** A Pango::Layout represents an entire paragraph of text.
+ * It is initialized with a Pango::Context, UTF-8 string and set of attributes for that string.
+ * Once that is done, the set of formatted lines can be extracted from the object,
+ * the layout can be rendered, and conversion between logical character positions
+ * within the layout's text, and the physical position of the resulting glyphs can be made.
+ */
+class Layout : public Glib::Object
+{
+ _CLASS_GOBJECT(Layout, PangoLayout, PANGO_LAYOUT, Glib::Object, GObject)
+ _IGNORE(pango_layout_set_text, pango_layout_set_markup, pango_layout_set_markup_with_accel, pango_layout_get_log_attrs, pango_layout_get_iter)
+
+protected:
+ explicit Layout(const Glib::RefPtr<Context>& context);
+
+public:
+ _WRAP_CREATE(const Glib::RefPtr<Context>& context)
+
+ /** Creates a layout object set up to match the current transformation
+ * and target surface of the Cairo context. This layout can then be
+ * used for text measurement with functions like
+ * get_size() or drawing with methods like show_in_cairo_contet().
+ * If you change the transformation or target surface for @a context,
+ * you need to call update_from_cairo_context()
+ *
+ * This is the most convenient way to use Cairo with Pango.
+ * However it is slightly inefficient since it creates a separate
+ * Pango Context object for each layout. This might matter in an
+ * application that is laying out large amounts of text.
+ *
+ * @param context A Cairo context.
+ * @result The newly created Pango Layout.
+ */
+ static Glib::RefPtr<Layout> create(const Cairo::RefPtr<Cairo::Context>& context);
+
+ /** Updates the private Pango Context of a Pango Layout created with
+ * create(const Cairo::RefPtr<Cairo::Context>&) to match the current transformation
+ * and target surface of a Cairo Context.
+ *
+ * @param context A Cairo context.
+ */
+ void update_from_cairo_context(const Cairo::RefPtr<Cairo::Context>& context);
+
+
+ _WRAP_METHOD(Glib::RefPtr<Layout> copy(), pango_layout_copy)
+ _WRAP_METHOD(Glib::RefPtr<Context> get_context() const, pango_layout_get_context, refreturn)
+ _WRAP_METHOD(void set_attributes(AttrList& attrs), pango_layout_set_attributes)
+ _WRAP_METHOD(AttrList get_attributes() const, pango_layout_get_attributes)
+
+ /** Set the text of the layout.
+ * @param text The text for the layout.
+ */
+ void set_text(const Glib::ustring& text);
+
+ _WRAP_METHOD(Glib::ustring get_text() const, pango_layout_get_text)
+
+ /** Sets the layout text and attribute list from marked-up text (see markup format).
+ * Replaces the current text and attribute list.
+ * @param markup Some marked-up text.
+ */
+ void set_markup(const Glib::ustring& markup);
+
+ /** Sets the layout text and attribute list from marked-up text (see markup format).
+ * Replaces the current text and attribute list.
+ *
+ * If @a accel_marker is nonzero, the given character will mark the character following
+ * it as an accelerator. For example, the accel marker might be an ampersand or
+ * underscore. All characters marked as an accelerator will receive a
+ * Pango::UNDERLINE_LOW attribute, and the first character so marked will be returned
+ * in @a accel_char. Two @a accel_marker characters following each other produce a
+ * single literal @a accel_marker character.
+ * @param markup Some marked-up text.
+ * @param accel_marker Marker for accelerators in the text.
+ * @param accel_char Return location for any located accelerators.
+ */
+ void set_markup(const Glib::ustring& markup, gunichar accel_marker, gunichar& accel_char);
+
+ _WRAP_METHOD(void set_font_description(const FontDescription& desc), pango_layout_set_font_description)
+ void unset_font_description();
+
+ _WRAP_METHOD(FontDescription get_font_description() const, pango_layout_get_font_description)
+
+ _WRAP_METHOD(void set_width(int width), pango_layout_set_width)
+ _WRAP_METHOD(int get_width() const, pango_layout_get_width)
+ _WRAP_METHOD(void set_wrap(WrapMode wrap), pango_layout_set_wrap)
+ _WRAP_METHOD(WrapMode get_wrap() const, pango_layout_get_wrap)
+ _WRAP_METHOD(bool is_wrapped() const, pango_layout_is_wrapped)
+ _WRAP_METHOD(void set_indent(int indent), pango_layout_set_indent)
+ _WRAP_METHOD(int get_indent() const, pango_layout_get_indent)
+ _WRAP_METHOD(void set_spacing(int spacing), pango_layout_set_spacing)
+ _WRAP_METHOD(int get_spacing() const, pango_layout_get_spacing)
+ _WRAP_METHOD(void set_justify(bool justify = true), pango_layout_set_justify)
+ _WRAP_METHOD(bool get_justify() const, pango_layout_get_justify)
+
+ _WRAP_METHOD(bool get_auto_dir() const, pango_layout_get_auto_dir)
+ _WRAP_METHOD(void set_auto_dir(bool auto_dir = true), pango_layout_set_auto_dir)
+
+ _WRAP_METHOD(void set_alignment(Alignment alignment), pango_layout_set_alignment)
+ _WRAP_METHOD(Alignment get_alignment() const, pango_layout_get_alignment)
+
+ _WRAP_METHOD(void set_tabs(TabArray& tabs), pango_layout_set_tabs)
+ _WRAP_METHOD(TabArray get_tabs() const, pango_layout_get_tabs)
+
+ _WRAP_METHOD(void set_single_paragraph_mode(bool setting = true), pango_layout_set_single_paragraph_mode)
+ _WRAP_METHOD(bool get_single_paragraph_mode() const, pango_layout_get_single_paragraph_mode)
+
+ _WRAP_METHOD(void set_ellipsize(EllipsizeMode ellipsize), pango_layout_set_ellipsize)
+ _WRAP_METHOD(EllipsizeMode get_ellipsize() const, pango_layout_get_ellipsize)
+
+ _WRAP_METHOD(bool is_ellipsized() const, pango_layout_is_ellipsized)
+ _WRAP_METHOD(int get_unknown_glyphs_count() const, pango_layout_get_unknown_glyphs_count)
+
+ _WRAP_METHOD(void context_changed(), pango_layout_context_changed)
+
+ /** Retrieve an array of logical attributes for each character in the layout.
+ * @return An array of logical attributes.
+ */
+ Glib::ArrayHandle<LogAttr> get_log_attrs() const;
+
+ /** Convert from an index within the layout to the onscreen position corresponding to the grapheme at that index, which is represented as rectangle.
+ * Note that @a x in the returned rectangle is always the leading edge of the grapheme
+ * and @a x + @a width the trailing edge of the grapheme.
+ * If the directionality of the grapheme is right-to-left, then @a width will be negative.
+ * @param index Byte index within layout.
+ * @return The position of the grapheme.
+ */
+ Rectangle index_to_pos(int index) const;
+ _IGNORE(pango_layout_index_to_pos)
+
+ _WRAP_METHOD(void index_to_line_x(int index_, bool trailing, int& line, int& x_pos) const, pango_layout_index_to_line_x)
+
+ _WRAP_METHOD(void get_cursor_pos(int index, Rectangle& strong_pos, Rectangle& weak_pos) const, pango_layout_get_cursor_pos)
+
+ /** Given an index within the layout, determine the positions that of the strong cursors if the insertion point is at that index.
+ * @param index The byte index of the cursor.
+ * @return The strong cursor position.
+ */
+ Rectangle get_cursor_strong_pos(int index) const;
+
+ /** Given an index within the layout, determine the positions that of the weak cursors if the insertion point is at that index.
+ * @param index The byte index of the cursor.
+ * @return The weak cursor position.
+ */
+ Rectangle get_cursor_weak_pos(int index) const;
+
+ _WRAP_METHOD(void move_cursor_visually(bool strong,
+ int old_index, int old_trailing, int direction,
+ int& new_index, int& new_trailing) const, pango_layout_move_cursor_visually)
+
+ _WRAP_METHOD(bool xy_to_index(int x, int y, int& index, int& trailing) const, pango_layout_xy_to_index)
+
+ _WRAP_METHOD(void get_extents(Rectangle& ink_rect, Rectangle& logical_rect) const, pango_layout_get_extents)
+
+ /** Compute the ink extents of layout.
+ * @return The extents of the layout as drawn.
+ */
+ Rectangle get_ink_extents() const;
+
+ /** Compute the logical extents of layout.
+ * @return The logical extents of the layout.
+ */
+ Rectangle get_logical_extents() const;
+
+ _WRAP_METHOD(void get_pixel_extents(Rectangle& ink_rect, Rectangle& logical_rect) const, pango_layout_get_pixel_extents)
+
+ /** Compute the ink extents of the layout in device units.
+ * @return The extents of the layout as drawn.
+ */
+ Rectangle get_pixel_ink_extents() const;
+
+ /** Compute the logical extents of the layout in device units.
+ * @return The logical extents of the layout.
+ */
+ Rectangle get_pixel_logical_extents() const;
+
+ _WRAP_METHOD(void get_size(int& width, int& height) const, pango_layout_get_size)
+ _WRAP_METHOD(void get_pixel_size(int& width, int& height) const, pango_layout_get_pixel_size)
+
+ _WRAP_METHOD(int get_line_count() const, pango_layout_get_line_count)
+
+ //Note that the const version uses a different (faster) C function:
+ _WRAP_METHOD(Glib::RefPtr<LayoutLine> get_line(int line), pango_layout_get_line, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const LayoutLine> get_line(int line) const, pango_layout_get_line_readonly, refreturn)
+
+ //Note that the const version uses a different (faster) C function:
+ _WRAP_METHOD(SListHandle_LayoutLine get_lines(), pango_layout_get_lines)
+ _WRAP_METHOD(SListHandle_ConstLayoutLine get_lines() const, pango_layout_get_lines_readonly)
+
+ /** Gets an iterator to iterate over the visual extents of the layout.
+ * @param iter Location to store the iterator.
+ */
+ void get_iter(LayoutIter& iter);
+
+
+ /** Adds the text in this LayoutLine to the current path in the
+ * specified Cairo @a context. The origin of the glyphs (the left edge
+ * of the line) will be at the current point of the cairo context.
+ *
+ * @param context A Cairo context.
+ */
+ void add_to_cairo_context(const Cairo::RefPtr<Cairo::Context>& context);
+};
+
+} /* namespace Pango */
+
diff --git a/libs/gtkmm2/pango/src/layoutiter.ccg b/libs/gtkmm2/pango/src/layoutiter.ccg
new file mode 100644
index 0000000000..9cb389a01c
--- /dev/null
+++ b/libs/gtkmm2/pango/src/layoutiter.ccg
@@ -0,0 +1,112 @@
+// -*- c++ -*-
+/* $Id: layoutiter.ccg,v 1.1 2003/01/21 13:41:06 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2001-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+namespace Pango
+{
+
+LayoutIter::LayoutIter()
+:
+ gobject_ (0)
+{}
+
+LayoutIter::~LayoutIter()
+{
+ if(gobject_)
+ pango_layout_iter_free(gobject_);
+}
+
+void LayoutIter::assign_gobj(PangoLayoutIter* src)
+{
+ if(src != gobject_)
+ {
+ if(gobject_)
+ pango_layout_iter_free(gobject_);
+
+ gobject_ = src;
+ }
+}
+
+Rectangle LayoutIter::get_char_extents() const
+{
+ Rectangle logical_rect;
+ pango_layout_iter_get_char_extents(const_cast<PangoLayoutIter*>(gobj()), logical_rect.gobj());
+ return logical_rect;
+}
+
+Rectangle LayoutIter::get_cluster_ink_extents() const
+{
+ Rectangle ink_rect;
+ pango_layout_iter_get_cluster_extents(const_cast<PangoLayoutIter*>(gobj()), ink_rect.gobj(), 0);
+ return ink_rect;
+}
+
+Rectangle LayoutIter::get_cluster_logical_extents() const
+{
+ Rectangle logical_rect;
+ pango_layout_iter_get_cluster_extents(const_cast<PangoLayoutIter*>(gobj()), 0, logical_rect.gobj());
+ return logical_rect;
+}
+
+Rectangle LayoutIter::get_run_ink_extents() const
+{
+ Rectangle ink_rect;
+ pango_layout_iter_get_run_extents(const_cast<PangoLayoutIter*>(gobj()), ink_rect.gobj(), 0);
+ return ink_rect;
+}
+
+Rectangle LayoutIter::get_run_logical_extents() const
+{
+ Rectangle logical_rect;
+ pango_layout_iter_get_run_extents(const_cast<PangoLayoutIter*>(gobj()), 0, logical_rect.gobj());
+ return logical_rect;
+}
+
+Rectangle LayoutIter::get_line_ink_extents() const
+{
+ Rectangle ink_rect;
+ pango_layout_iter_get_line_extents(const_cast<PangoLayoutIter*>(gobj()), ink_rect.gobj(), 0);
+ return ink_rect;
+}
+
+Rectangle LayoutIter::get_line_logical_extents() const
+{
+ Rectangle logical_rect;
+ pango_layout_iter_get_line_extents(const_cast<PangoLayoutIter*>(gobj()), 0, logical_rect.gobj());
+ return logical_rect;
+}
+
+Rectangle LayoutIter::get_layout_ink_extents() const
+{
+ Rectangle ink_rect;
+ pango_layout_iter_get_layout_extents(const_cast<PangoLayoutIter*>(gobj()), ink_rect.gobj(), 0);
+ return ink_rect;
+}
+
+Rectangle LayoutIter::get_layout_logical_extents() const
+{
+ Rectangle logical_rect;
+ pango_layout_iter_get_layout_extents(const_cast<PangoLayoutIter*>(gobj()), 0, logical_rect.gobj());
+ return logical_rect;
+}
+
+} // namespace Pango
+
diff --git a/libs/gtkmm2/pango/src/layoutiter.hg b/libs/gtkmm2/pango/src/layoutiter.hg
new file mode 100644
index 0000000000..a969212aa1
--- /dev/null
+++ b/libs/gtkmm2/pango/src/layoutiter.hg
@@ -0,0 +1,135 @@
+/* $Id: layoutiter.hg,v 1.2 2003/12/14 11:54:05 murrayc Exp $ */
+
+/* layoutiter.h
+ *
+ * Copyright 2001-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pangomm/layoutline.h>
+#include <pangomm/layoutrun.h>
+#include <pango/pango-layout.h>
+
+_DEFS(pangomm,pango)
+
+namespace Pango
+{
+
+/** A Pango::LayoutIter can be used to iterate over the visual extents of a Pango::Layout.
+ */
+class LayoutIter
+{
+ _CLASS_GENERIC(LayoutIter, PangoLayoutIter)
+ _IGNORE(pango_layout_iter_free, pango_layout_iter_get_char_extents)
+
+public:
+ // There's no other ctor, and the default ctor creates an invalid object.
+ // Therefore, Pango::LayoutIter is usable only as output argument.
+ LayoutIter();
+ ~LayoutIter();
+
+ _WRAP_METHOD(int get_index() const, pango_layout_iter_get_index)
+ _WRAP_METHOD(LayoutRun get_run() const, pango_layout_iter_get_run)
+ //TODO: Use pango_layout_iter_get_run_readonly()?
+
+ _WRAP_METHOD(Glib::RefPtr<LayoutLine> get_line() const, pango_layout_iter_get_line, refreturn)
+ //TODO: We should really have a const and non-const version: _WRAP_METHOD(Glib::RefPtr<const LayoutLine> get_line() const, pango_layout_iter_get_line_readonly, refreturn)
+
+ _WRAP_METHOD(bool at_last_line() const, pango_layout_iter_at_last_line)
+
+ _WRAP_METHOD(bool next_char(), pango_layout_iter_next_char)
+ _WRAP_METHOD(bool next_cluster(), pango_layout_iter_next_cluster)
+ _WRAP_METHOD(bool next_run(), pango_layout_iter_next_run)
+ _WRAP_METHOD(bool next_line(), pango_layout_iter_next_line)
+
+ /** Gets the extents of the current character, in layout coordinates (origin is the top left of the entire layout).
+ * Only logical extents can sensibly be obtained for characters; ink extents make sense only down to the level of clusters.
+ * @return The logical extents of the current character.
+ */
+ Rectangle get_char_extents() const;
+
+ _WRAP_METHOD(void get_cluster_extents(Rectangle& ink_rect, Rectangle& logical_rect) const, pango_layout_iter_get_cluster_extents)
+
+ /** Gets the ink extents of the current cluster, in layout coordinates (origin is the top left of the entire layout).
+ * @return The extents of the current cluster as drawn.
+ */
+ Rectangle get_cluster_ink_extents() const;
+
+ /** Gets the logical extents of the current cluster, in layout coordinates (origin is the top left of the entire layout).
+ * @return The logical extents of the current cluster.
+ */
+ Rectangle get_cluster_logical_extents() const;
+
+ _WRAP_METHOD(void get_run_extents(Rectangle& ink_rect, Rectangle& logical_rect) const, pango_layout_iter_get_run_extents)
+
+ /** Gets the ink extents of the current run in layout coordinates (origin is the top left of the entire layout).
+ * @return The extents of the current run as drawn.
+ */
+ Rectangle get_run_ink_extents() const;
+
+ /** Gets the logical extents of the current run in layout coordinates (origin is the top left of the entire layout).
+ * @return The logical extents of the current run.
+ */
+ Rectangle get_run_logical_extents() const;
+
+ _WRAP_METHOD(void get_line_extents(Rectangle& ink_rect, Rectangle& logical_rect) const, pango_layout_iter_get_line_extents)
+
+ /** Obtains the ink extents of the current line.
+ * @return The extents of the current line as drawn.
+ */
+ Rectangle get_line_ink_extents() const;
+
+ /** Obtains the logical extents of the current line.
+ * @return The logical extents of the current line.
+ */
+ Rectangle get_line_logical_extents() const;
+
+ _WRAP_METHOD(void get_line_yrange(int& y0, int& y1) const, pango_layout_iter_get_line_yrange)
+
+ _WRAP_METHOD(void get_layout_extents(Rectangle& ink_rect, Rectangle& logical_rect) const, pango_layout_iter_get_layout_extents)
+
+ /** Obtains the ink extents of the Pango::Layout being iterated over.
+ * @return The extents of the layout as drawn.
+ */
+ Rectangle get_layout_ink_extents() const;
+
+ /** Obtains the logical extents of the Pango::Layout being iterated over.
+ * @return The logical extents of the layout.
+ */
+ Rectangle get_layout_logical_extents() const;
+
+ _WRAP_METHOD(int get_baseline() const, pango_layout_iter_get_baseline)
+
+ /// Provides access to the underlying C GObject.
+ PangoLayoutIter* gobj() { return gobject_; }
+ /// Provides access to the underlying C GObject.
+ const PangoLayoutIter* gobj() const { return gobject_; }
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ void assign_gobj(PangoLayoutIter* src);
+#endif
+
+protected:
+ PangoLayoutIter* gobject_;
+
+private:
+ // noncopyable
+ LayoutIter(const LayoutIter&);
+ LayoutIter& operator=(const LayoutIter&);
+};
+
+} //namespace Pango
+
diff --git a/libs/gtkmm2/pango/src/layoutline.ccg b/libs/gtkmm2/pango/src/layoutline.ccg
new file mode 100644
index 0000000000..ad34ad8ddd
--- /dev/null
+++ b/libs/gtkmm2/pango/src/layoutline.ccg
@@ -0,0 +1,81 @@
+// -*- c++ -*-
+/* $Id: layoutline.ccg,v 1.3 2006/05/30 17:14:21 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 1998-2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pangomm/layout.h>
+#include <pango/pangocairo.h>
+
+namespace Pango {
+
+Rectangle LayoutLine::get_ink_extents() const
+{
+ Rectangle ink_rect;
+ pango_layout_line_get_extents(const_cast<PangoLayoutLine*>(gobj()), ink_rect.gobj(), 0);
+ return ink_rect;
+}
+
+Rectangle LayoutLine::get_logical_extents() const
+{
+ Rectangle logical_rect;
+ pango_layout_line_get_extents(const_cast<PangoLayoutLine*>(gobj()), 0, logical_rect.gobj());
+ return logical_rect;
+}
+
+Rectangle LayoutLine::get_pixel_ink_extents() const
+{
+ Rectangle ink_rect;
+ pango_layout_line_get_pixel_extents(const_cast<PangoLayoutLine*>(gobj()), ink_rect.gobj(), 0);
+ return ink_rect;
+}
+
+Rectangle LayoutLine::get_pixel_logical_extents() const
+{
+ Rectangle logical_rect;
+ pango_layout_line_get_pixel_extents(const_cast<PangoLayoutLine*>(gobj()), 0, logical_rect.gobj());
+ return logical_rect;
+}
+
+int LayoutLine::index_to_x(int index, bool trailing) const
+{
+ int x_pos;
+ pango_layout_line_index_to_x(const_cast<PangoLayoutLine*>(gobj()), index, trailing, &x_pos);
+ return x_pos;
+}
+
+Glib::ArrayHandle<std::pair<int,int> > LayoutLine::get_x_ranges(int start_index, int end_index) const
+{
+ int* ranges = 0;
+ int n_ranges = 0;
+ pango_layout_line_get_x_ranges(const_cast<PangoLayoutLine*>(gobj()), start_index, end_index, &ranges, &n_ranges);
+ return Glib::ArrayHandle<std::pair<int,int> >(reinterpret_cast<std::pair<int,int>*>(ranges), n_ranges, Glib::OWNERSHIP_SHALLOW);
+}
+
+void LayoutLine::show_in_cairo_context(const Cairo::RefPtr<Cairo::Context>& context)
+{
+ pango_cairo_show_layout_line(context->cobj(), gobj());
+}
+
+void LayoutLine::add_to_cairo_context(const Cairo::RefPtr<Cairo::Context>& context)
+{
+ pango_cairo_layout_line_path(context->cobj(), gobj());
+}
+
+} /* namespace Pango */
diff --git a/libs/gtkmm2/pango/src/layoutline.hg b/libs/gtkmm2/pango/src/layoutline.hg
new file mode 100644
index 0000000000..adb5a285f7
--- /dev/null
+++ b/libs/gtkmm2/pango/src/layoutline.hg
@@ -0,0 +1,151 @@
+/* $Id: layoutline.hg,v 1.5 2006/05/30 17:14:21 murrayc Exp $ */
+
+/* layoutline.h
+ *
+ * Copyright (C) 1998-1999 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/slisthandle.h> // For the Glib::SListHandle typedef
+#include <pangomm/rectangle.h>
+#include <cairomm/context.h>
+#include <pango/pango-layout.h>
+
+_DEFS(pangomm,pango)
+
+namespace Pango
+{
+
+class Layout;
+
+/** A Pango::LayoutLine represents one of the lines resulting from laying out a paragraph via Pango::Layout.
+ * Pango::LayoutLine objects are obtained by calling Pango::Layout::get_line()
+ * and are only valid until the text, attributes, or settings of the parent Pango::Layout are modified.
+ * Routines for rendering Pango::Layout objects are provided in code specific to each rendering system.
+ */
+class LayoutLine
+{
+ _CLASS_OPAQUE_REFCOUNTED(LayoutLine, PangoLayoutLine, NONE, pango_layout_line_ref, pango_layout_line_unref)
+ _IGNORE(pango_layout_line_ref, pango_layout_line_unref)
+ _IGNORE(pango_layout_line_get_x_ranges)
+public:
+
+ _WRAP_METHOD(bool x_to_index(int x_pos, int& index, int& trailing) const, pango_layout_line_x_to_index)
+
+ /** Converts an index within a line to a @a x position.
+ * @param index Byte offset of a grapheme within the layout.
+ * @param trailing A boolean indicating the edge of the grapheme to retrieve the position of. If <tt>false</tt>, the trailing edge of the grapheme, if <tt>true</tt> the leading of the grapheme.
+ * @return The x offset (in thousands of a device unit).
+ */
+ int index_to_x(int index, bool trailing) const;
+ _IGNORE(pango_layout_line_index_to_x)
+
+ /** Get a list of visual ranges corresponding to a given logical range.
+ * This list is not necessarily minimal - there may be consecutive ranges which are adjacent.
+ * The ranges will be sorted from left to right. The ranges are with respect to the
+ * left edge of the entire layout, not with respect to the line.
+ * @param start_index The start byte index of the logical range.
+ * If the value of @a start_index is less than the start index for the line,
+ * then the first range will extend all the way to the leading edge of the layout.
+ * Otherwise it will start at the leading edge of the first character.
+ * @param end_index The end byte index of the logical range.
+ * If the value of @a end_index is greater than the end index for the line,
+ * then the last range will extend all the way to the trailing edge of the layout.
+ * Otherwise, it will end at the trailing edge of the last character.
+ * @return An array of ranges represented by pairs of integers marking the start and end pixel coordinates of the ranges.
+ */
+ Glib::ArrayHandle<std::pair<int,int> > get_x_ranges(int start_index, int end_index) const;
+
+ _WRAP_METHOD(void get_extents(Rectangle& ink_rect, Rectangle& logical_rect) const, pango_layout_line_get_extents)
+
+ /** Compute the ink extents of a layout line.
+ * @return The extents of the layout line as drawn.
+ */
+ Rectangle get_ink_extents() const;
+
+ /** Compute the logical extents of a layout line.
+ * @return The logical extents of the layout line.
+ */
+ Rectangle get_logical_extents() const;
+
+ _WRAP_METHOD(void get_pixel_extents(Rectangle& ink_rect, Rectangle& logical_rect) const, pango_layout_line_get_pixel_extents)
+
+ /** Compute the ink extents of a layout line in device units.
+ * @return The extents of the layout line as drawn.
+ */
+ Rectangle get_pixel_ink_extents() const;
+
+ /** Compute the logical extents of a layout line in device units.
+ * @return The logical extents of the layout line.
+ */
+ Rectangle get_pixel_logical_extents() const;
+
+ /** Draws this LayoutLine in the specified Cairo context.
+ * The origin of the glyphs (the left edge of the line) will
+ * be drawn at the current point of the cairo context.
+ *
+ * @param context A Cairo context.
+ */
+ void show_in_cairo_context(const Cairo::RefPtr<Cairo::Context>& context);
+
+ /** Adds the text in this LayoutLine to the current path in the
+ * specified Cairo @a context. The origin of the glyphs (the left edge
+ * of the line) will be at the current point of the cairo context.
+ *
+ * @param context A Cairo context.
+ */
+ void add_to_cairo_context(const Cairo::RefPtr<Cairo::Context>& context);
+
+ _MEMBER_GET_GOBJECT(layout, layout, Pango::Layout, PangoLayout*)
+ //_MEMBER_SET_GOBJECT(layout, layout, Pango::Layout, PangoLayout*)
+ _MEMBER_GET(length, length, int, gint)
+ _MEMBER_GET(start_index, start_index, int, gint)
+
+};
+
+} // namespace Pango
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+namespace Glib
+{
+// forward declaration needed by LayoutLineTraits
+Glib::RefPtr<Pango::LayoutLine> wrap(PangoLayoutLine* object, bool take_copy /* = false */);
+
+} // namespace Glib
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Pango
+{
+
+struct LayoutLineTraits
+{
+ typedef Glib::RefPtr<LayoutLine> CppType;
+ typedef PangoLayoutLine * CType;
+ typedef PangoLayoutLine * CTypeNonConst;
+
+ static CType to_c_type (const CppType& ptr) { return Glib::unwrap(ptr); }
+ static CType to_c_type (CType ptr) { return ptr; }
+ static CppType to_cpp_type (CType ptr) { return Glib::wrap(ptr, true); }
+ static void release_c_type (CType ptr) { pango_layout_line_unref(ptr); }
+};
+
+typedef Glib::SListHandle< Glib::RefPtr<LayoutLine>, LayoutLineTraits > SListHandle_LayoutLine;
+typedef Glib::SListHandle< Glib::RefPtr<const LayoutLine>, LayoutLineTraits > SListHandle_ConstLayoutLine;
+
+} // namespace Pango
+
diff --git a/libs/gtkmm2/pango/src/layoutrun.ccg b/libs/gtkmm2/pango/src/layoutrun.ccg
new file mode 100644
index 0000000000..992b9b6dd7
--- /dev/null
+++ b/libs/gtkmm2/pango/src/layoutrun.ccg
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pangomm/item.h>
+#include <pangomm/glyphstring.h>
+
+namespace Pango
+{
+
+LayoutRun::LayoutRun()
+{}
+
+LayoutRun::LayoutRun(const PangoLayoutRun* src)
+{
+ gobject_ = *src;
+}
+
+} /* namespace Pango */
+
+
+namespace Glib
+{
+
+Pango::LayoutRun& wrap(PangoLayoutRun* object)
+{
+ return *reinterpret_cast<Pango::LayoutRun*>(object);
+}
+
+const Pango::LayoutRun& wrap(const PangoLayoutRun* object)
+{
+ return *reinterpret_cast<const Pango::LayoutRun*>(object);
+}
+
+} /* namespace Glib */
diff --git a/libs/gtkmm2/pango/src/layoutrun.hg b/libs/gtkmm2/pango/src/layoutrun.hg
new file mode 100644
index 0000000000..abe9fbe847
--- /dev/null
+++ b/libs/gtkmm2/pango/src/layoutrun.hg
@@ -0,0 +1,74 @@
+/* layoutrun.h
+ *
+ * Copyright (C) 1998-1999 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pango/pango-layout.h>
+
+_DEFS(pangomm,pango)
+
+namespace Pango
+{
+
+class Item;
+class GlyphString;
+
+/** A Pango::LayoutRun represents a single run within a PangoLayoutLine.
+ */
+class LayoutRun
+{
+ _CLASS_GENERIC(LayoutRun, PangoLayoutRun)
+
+protected:
+ LayoutRun();
+
+public:
+ explicit LayoutRun(const PangoLayoutRun* src);
+
+ /** Gets the Pango::Item object that provides information about the segment of text in this run.
+ * @return A Pango::Item object.
+ */
+ _MEMBER_GET(item, item, Item, PangoItem*)
+
+ /** Gets the string of glyphs obtained by shaping the text for this item.
+ * @return A Pango::GlyphString object.
+ */
+ _MEMBER_GET(glyphs, glyphs, GlyphString, PangoGlyphString*)
+
+ /// Provides access to the underlying C GObject.
+ PangoLayoutRun* gobj() { return &gobject_; }
+ /// Provides access to the underlying C GObject.
+ const PangoLayoutRun* gobj() const { return &gobject_; }
+
+protected:
+ PangoLayoutRun gobject_;
+};
+
+} /* namespace Pango */
+
+
+namespace Glib
+{
+
+/** @relates Pango::LayoutRun */
+Pango::LayoutRun& wrap(PangoLayoutRun* object);
+
+/** @relates Pango::LayoutRun */
+const Pango::LayoutRun& wrap(const PangoLayoutRun* object);
+
+} /* namepspace Glib */
+
diff --git a/libs/gtkmm2/pango/src/pango.defs b/libs/gtkmm2/pango/src/pango.defs
new file mode 100644
index 0000000000..886fba3347
--- /dev/null
+++ b/libs/gtkmm2/pango/src/pango.defs
@@ -0,0 +1,5 @@
+(include pango_methods.defs)
+(include pango_vfuncs.defs)
+(include pango_enums.defs)
+
+
diff --git a/libs/gtkmm2/pango/src/pango_docs.xml b/libs/gtkmm2/pango/src/pango_docs.xml
new file mode 100644
index 0000000000..e974d8b4f2
--- /dev/null
+++ b/libs/gtkmm2/pango/src/pango_docs.xml
@@ -0,0 +1,11737 @@
+<root>
+<function name="pango_layout_get_justify">
+<description>
+Gets whether each complete line should be stretched to fill the entire
+width of the layout.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> the justify.
+</return>
+</function>
+
+<function name="pango_renderer_draw_error_underline">
+<description>
+Draw a squiggly line that approximately covers the given rectangle
+in the style of an underline used to indicate a spelling error.
+(The width of the underline is rounded to an integer number
+of up/down segments and the resulting rectangle is centered
+in the original rectangle)
+
+This should be called while @renderer is already active. Use
+pango_renderer_activate() to activate a renderer.
+
+Since: 1.8
+
+</description>
+<parameters>
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> X coordinate of underline, in Pango units in user coordinate system
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> Y coordinate of underline, in Pango units in user coordinate system
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of underline, in Pango units in user coordinate system
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height of underline, in Pango units in user coordinate system
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_get_alignment">
+<description>
+Gets the alignment for the layout: how partial lines are
+positioned within the horizontal space available.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> the alignment.
+</return>
+</function>
+
+<function name="pango_layout_get_pixel_size">
+<description>
+Determines the logical width and height of a #PangoLayout
+in device units. (pango_layout_get_size() returns the width
+and height scaled by %PANGO_SCALE.) This
+is simply a convenience function around
+pango_layout_get_pixel_extents().
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> location to store the logical width, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> location to store the logical height, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_ot_tag_from_language">
+<description>
+Finds the OpenType language-system tag best describing @language.
+
+
+</description>
+<parameters>
+<parameter name="language">
+<parameter_description> A #PangoLanguage, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> #PangoOTTag best matching @language or
+%PANGO_OT_TAG_DEFAULT_LANGUAGE if none found or if @language
+is %NULL.
+
+Since: 1.18
+</return>
+</function>
+
+<function name="pango_ft2_render_layout_line">
+<description>
+Render a #PangoLayoutLine onto a FreeType2 bitmap
+
+</description>
+<parameters>
+<parameter name="bitmap">
+<parameter_description> a &amp;lt;type&amp;gt;FT_Bitmap&amp;lt;/type&amp;gt; to render the line onto
+</parameter_description>
+</parameter>
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x position of start of string (in pixels)
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y position of baseline (in pixels)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_ot_info_find_feature">
+<description>
+Finds the index of a feature. If the feature is not found, sets
+@feature_index to PANGO_OT_NO_FEATURE, which is safe to pass to
+pango_ot_ruleset_add_feature() and similar functions.
+
+In the future, this may set @feature_index to an special value that if used
+in pango_ot_ruleset_add_feature() will ask Pango to synthesize the
+requested feature based on Unicode properties and data. However, this
+function will still return %FALSE in those cases. So, users may want to
+ignore the return value of this function in certain cases.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #PangoOTInfo.
+</parameter_description>
+</parameter>
+<parameter name="table_type">
+<parameter_description> the table type to obtain information about.
+</parameter_description>
+</parameter>
+<parameter name="feature_tag">
+<parameter_description> the tag of the feature to find.
+</parameter_description>
+</parameter>
+<parameter name="script_index">
+<parameter_description> the index of the script.
+</parameter_description>
+</parameter>
+<parameter name="language_index">
+<parameter_description> the index of the language whose features are searched,
+or %PANGO_OT_DEFAULT_LANGUAGE to use the default language of the script.
+</parameter_description>
+</parameter>
+<parameter name="feature_index">
+<parameter_description> location to store the index of the feature, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the feature was found.
+</return>
+</function>
+
+<function name="pango_layout_get_auto_dir">
+<description>
+Gets whether to calculate the bidirectional base direction
+for the layout according to the contents of the layout.
+See pango_layout_set_auto_dir().
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the bidirectional base direction
+is computed from the layout&apos;s contents, %FALSE otherwise.
+
+Since: 1.4
+</return>
+</function>
+
+<function name="pango_ot_buffer_set_rtl">
+<description>
+Sets whether glyphs will be rendered right-to-left. This setting
+is needed for proper horizontal positioning of right-to-left scripts.
+
+Since: 1.4
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #PangoOTBuffer
+</parameter_description>
+</parameter>
+<parameter name="rtl">
+<parameter_description> %TRUE for right-to-left text
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_pango_glyph_item_iter_prev_cluster">
+<description>
+Moves the iterator to the preceding cluster in the glyph item.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #PangoGlyphItemIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the iterator was moved, %FALSE if we were already on the
+first cluster.
+</return>
+</function>
+
+<function name="pango_fc_decoder_get_charset">
+<description>
+Generates an #FcCharSet of supported characters for the fcfont
+given. The returned #FcCharSet will be a reference to an
+internal value stored by the #PangoFcDecoder and must not
+be modified or freed.
+
+
+</description>
+<parameters>
+<parameter name="decoder">
+<parameter_description> a #PangoFcDecoder
+</parameter_description>
+</parameter>
+<parameter name="fcfont">
+<parameter_description> the #PangoFcFont to query.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #FcCharset for @fcfont; must not be modified
+or freed.
+
+Since: 1.6
+</return>
+</function>
+
+<function name="pango_script_iter_new">
+<description>
+Create a new #PangoScriptIter, used to break a string of
+Unicode into runs by text. No copy is made of @text, so
+the caller needs to make sure it remains valid until
+the iterator is freed with pango_script_iter_free ().x
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> a UTF-8 string
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> length of @text, or -1 if @text is nul-terminated.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new script iterator, initialized
+to point at the first range in the text, which should be
+freed with pango_script_iter_free(). If the string is
+empty, it will point at an empty range.
+
+Since: 1.4
+</return>
+</function>
+
+<function name="pango_layout_get_tabs">
+<description>
+Gets the current #PangoTabArray used by this layout. If no
+#PangoTabArray has been set, then the default tabs are in use
+and %NULL is returned. Default tabs are every 8 spaces.
+The return value should be freed with pango_tab_array_free().
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> a copy of the tabs for this layout, or %NULL.
+</return>
+</function>
+
+<function name="pango_layout_iter_get_baseline">
+<description>
+Gets the Y position of the current line&apos;s baseline, in layout
+coordinates (origin at top left of the entire layout).
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> baseline of current line.
+</return>
+</function>
+
+<function name="pango_cairo_layout_path">
+<description>
+Adds the text in a #PangoLayout to the current path in the
+specified cairo context. The top-left corner of the #PangoLayout
+will be at the current point of the cairo context.
+
+Since: 1.10
+
+</description>
+<parameters>
+<parameter name="cr">
+<parameter_description> a Cairo context
+</parameter_description>
+</parameter>
+<parameter name="layout">
+<parameter_description> a Pango layout
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_get_pixel_extents">
+<description>
+Computes the logical and ink extents of @layout in device units.
+This function just calls pango_layout_get_extents() followed by
+pango_extents_to_pixels().
+
+See pango_extents_to_pixels() for details of how ink and logical rectangles
+are rounded to pixels. In certain situations you may want to use
+pango_layout_get_extents() directly and pass the resulting logical
+rectangle to pango_extents_to_pixels() as an ink rectangle().
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="ink_rect">
+<parameter_description> rectangle used to store the extents of the layout as drawn
+or %NULL to indicate that the result is not needed.
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> rectangle used to store the logical extents of the
+layout or %NULL to indicate that the result is not needed.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_font_description_get_style">
+<description>
+Gets the style field of a #PangoFontDescription. See
+pango_font_description_set_style().
+
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+</parameters>
+<return> the style field for the font description.
+Use pango_font_description_get_set_fields() to find out if
+the field was explicitly set or not.
+</return>
+</function>
+
+<function name="pango_font_description_get_set_fields">
+<description>
+Determines which fields in a font description have been set.
+
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+</parameters>
+<return> a bitmask with bits set corresponding to the
+fields in @desc that have been set.
+</return>
+</function>
+
+<function name="pango_font_face_describe">
+<description>
+Return value: a newly-created #PangoFontDescription structure
+
+</description>
+<parameters>
+<parameter name="face">
+<parameter_description> a #PangoFontFace
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-created #PangoFontDescription structure
+holding the description of the face. Use pango_font_description_free()
+to free the result.
+</return>
+</function>
+
+<function name="pango_module_register">
+<description>
+Registers a statically linked module with Pango. The
+#PangoIncludedModule structure that is passed in contains the
+functions that would otherwise be loaded from a dynamically loaded
+module.
+
+</description>
+<parameters>
+<parameter name="module">
+<parameter_description> a #PangoIncludedModule
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_matrix_transform_point">
+<description>
+Transforms the point (@x, @y) by @matrix.
+
+Since: 1.16
+
+</description>
+<parameters>
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> in/out X position
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> in/out Y position
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_font_description_better_match">
+<description>
+Determines if the style attributes of @new_match are a closer match
+for @desc than @old_match, or if @old_match is %NULL, determines if
+@new_match is a match at all. Approximate matching is done for
+weight and style; other attributes must match exactly.
+
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+<parameter name="old_match">
+<parameter_description> a #PangoFontDescription, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="new_match">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @new_match is a better match
+</return>
+</function>
+
+<function name="pango_fc_font_has_char">
+<description>
+Determines whether @font has a glyph for the codepoint @wc.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFcFont
+</parameter_description>
+</parameter>
+<parameter name="wc">
+<parameter_description> Unicode codepoint to look up
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @font has the requested codepoint.
+
+Since: 1.4
+</return>
+</function>
+
+<function name="pango_cairo_context_set_resolution">
+<description>
+Sets the resolution for the context. This is a scale factor between
+points specified in a #PangoFontDescription and Cairo units. The
+default value is 96, meaning that a 10 point font will be 13
+units high. (10 * 96. / 72. = 13.3).
+
+Since: 1.10
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext, from pango_cairo_font_map_create_context()
+</parameter_description>
+</parameter>
+<parameter name="dpi">
+<parameter_description> the resolution in &quot;dots per inch&quot;. (Physical inches aren&apos;t actually
+involved; the terminology is conventional.) A 0 or negative value
+means to use the resolution from the font map.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_attr_type_register">
+<description>
+Allocate a new attribute type ID.
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> an identifier for the type (currently unused.)
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new type ID.
+</return>
+</function>
+
+<function name="pango_font_description_get_gravity">
+<description>
+Gets the gravity field of a font description. See
+pango_font_description_set_gravity().
+
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+</parameters>
+<return> the gravity field for the font description. Use
+pango_font_description_get_set_fields() to find out if
+the field was explicitly set or not.
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_layout_iter_get_run">
+<description>
+Gets the current run. When iterating by run, at the end of each
+line, there&apos;s a position with a %NULL run, so this function can return
+%NULL. The %NULL run at the end of each line ensures that all lines have
+at least one run, even lines consisting of only a newline.
+
+Use the faster pango_layout_iter_get_run_readonly() if you do not plan
+to modify the contents of the run (glyphs, glyph widths, etc.).
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current run.
+</return>
+</function>
+
+<function name="pango_tab_array_resize">
+<description>
+Resizes a tab array. You must subsequently initialize any tabs that
+were added as a result of growing the array.
+
+
+</description>
+<parameters>
+<parameter name="tab_array">
+<parameter_description> a #PangoTabArray
+</parameter_description>
+</parameter>
+<parameter name="new_size">
+<parameter_description> new size of the array
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_atsui_font_get_atsu_font_id">
+<description>
+Return value: the ATSUFontID associated to @font.
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> A #PangoATSUIFont
+</parameter_description>
+</parameter>
+</parameters>
+<return> the ATSUFontID associated to @font.
+
+Since: 1.18
+</return>
+</function>
+
+<function name="pango_x_find_first_subfont">
+<description>
+Looks for subfonts with the @charset charset,
+in @font, and puts the first one in *@rfont.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> A #PangoFont.
+</parameter_description>
+</parameter>
+<parameter name="rfont">
+<parameter_description> A pointer to a #PangoXSubfont.
+</parameter_description>
+</parameter>
+<parameter name="charsets">
+<parameter_description> An array of charsets.
+</parameter_description>
+</parameter>
+<parameter name="n_charsets">
+<parameter_description> The number of charsets in @charsets.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if *@rfont now contains a font.
+</return>
+</function>
+
+<function name="pango_context_get_metrics">
+<description>
+Get overall metric information for a particular font
+description. Since the metrics may be substantially different for
+different scripts, a language tag can be provided to indicate that
+the metrics should be retrieved that correspond to the script(s)
+used by that language.
+
+The #PangoFontDescription is interpreted in the same way as
+by pango_itemize(), and the family name may be a comma separated
+list of figures. If characters from multiple of these families
+would be used to render the string, then the returned fonts would
+be a composite of the metrics for the fonts loaded for the
+individual families.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription structure
+</parameter_description>
+</parameter>
+<parameter name="language">
+<parameter_description> language tag used to determine which script to get the metrics
+for. %NULL means that the language tag from the context will
+be used. If no language tag is set on the context, metrics
+large enough to cover a range of languages will be returned.
+The process of determining such metrics is slow, so it is best
+to always make sure some real language tag will be used.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
+when finished using the object.
+</return>
+</function>
+
+<function name="pango_attr_strikethrough_color_new">
+<description>
+Create a new strikethrough color attribute. This attribute
+modifies the color of strikethrough lines. If not set, strikethrough
+lines will use the foreground color.
+
+
+</description>
+<parameters>
+<parameter name="red">
+<parameter_description> the red value (ranging from 0 to 65535)
+</parameter_description>
+</parameter>
+<parameter name="green">
+<parameter_description> the green value
+</parameter_description>
+</parameter>
+<parameter name="blue">
+<parameter_description> the blue value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+
+Since: 1.8
+</return>
+</function>
+
+<function name="pango_layout_is_ellipsized">
+<description>
+Queries whether the layout had to ellipsize any paragraphs.
+
+This returns %TRUE if the ellipsization mode for @layout
+is not %PANGO_ELLIPSIZE_NONE, a positive width is set on @layout,
+and there are paragraphs exceeding that width that have to be
+ellipsized.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if any paragraphs had to be ellipsized, %FALSE
+otherwise.
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_ot_ruleset_new_from_description">
+<description>
+Creates a new #PangoOTRuleset for the given OpenType infor and
+matching the given ruleset description.
+
+This is a convenience function that calls pango_ot_ruleset_new_for() and
+adds the static GSUB/GPOS features to the resulting ruleset, followed by
+adding other features to both GSUB and GPOS.
+
+The static feature map members of @desc should be alive as
+long as @info is.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #PangoOTInfo.
+</parameter_description>
+</parameter>
+<parameter name="desc">
+<parameter_description> a #PangoOTRulesetDescription.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoOTRuleset, which
+should be freed with g_object_unref().
+
+Since: 1.18
+</return>
+</function>
+
+<function name="pango_matrix_translate">
+<description>
+Changes the transformation represented by @matrix to be the
+transformation given by first translating by (@tx, @ty)
+then applying the original transformation.
+
+Since: 1.6
+
+</description>
+<parameters>
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix
+</parameter_description>
+</parameter>
+<parameter name="tx">
+<parameter_description> amount to translate in the X direction
+</parameter_description>
+</parameter>
+<parameter name="ty">
+<parameter_description> amount to translate in the Y direction
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_get_spacing">
+<description>
+Gets the amount of spacing in #PangoGlyphUnit between the lines of the
+layout.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> the spacing.
+</return>
+</function>
+
+<function name="pango_tab_array_free">
+<description>
+Frees a tab array and associated resources.
+
+
+</description>
+<parameters>
+<parameter name="tab_array">
+<parameter_description> a #PangoTabArray
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_line_ref">
+<description>
+Increase the reference count of a #PangoLayoutLine by one.
+
+
+</description>
+<parameters>
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine
+</parameter_description>
+</parameter>
+</parameters>
+<return> the line passed in.
+
+Since: 1.10
+</return>
+</function>
+
+<function name="pango_renderer_draw_trapezoid">
+<description>
+Draws a trapezoid with the parallel sides aligned with the X axis
+using the given #PangoRenderer; coordinates are in device space.
+
+Since: 1.8
+
+</description>
+<parameters>
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
+</parameter_description>
+</parameter>
+<parameter name="part">
+<parameter_description> type of object this trapezoid is part of
+</parameter_description>
+</parameter>
+<parameter name="y1_">
+<parameter_description> Y coordinate of top of trapezoid
+</parameter_description>
+</parameter>
+<parameter name="x11">
+<parameter_description> X coordinate of left end of top of trapezoid
+</parameter_description>
+</parameter>
+<parameter name="x21">
+<parameter_description> X coordinate of right end of top of trapezoid
+</parameter_description>
+</parameter>
+<parameter name="y2">
+<parameter_description> Y coordinate of bottom of trapezoid
+</parameter_description>
+</parameter>
+<parameter name="x12">
+<parameter_description> X coordinate of left end of bottom of trapezoid
+</parameter_description>
+</parameter>
+<parameter name="x22">
+<parameter_description> X coordinate of right end of bottom of trapezoid
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_context_load_font">
+<description>
+Loads the font in one of the fontmaps in the context
+that is the closest match for @desc.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription describing the font to load
+</parameter_description>
+</parameter>
+</parameters>
+<return>the font loaded, or %NULL if no font matched.
+</return>
+</function>
+
+<function name="pango_language_get_sample_string">
+<description>
+Get a string that is representative of the characters needed to
+render a particular language. This function is a bad hack for
+internal use by renderers and Pango.
+
+
+</description>
+<parameters>
+<parameter name="language">
+<parameter_description> a #PangoLanguage
+</parameter_description>
+</parameter>
+</parameters>
+<return> the sample string. This value is owned by Pango
+and must not be freed.
+</return>
+</function>
+
+<function name="_pango_glyph_item_iter_init_start">
+<description>
+Initializes a #PangoGlyphItemIter structure to point to the
+first cluster in a glyph item.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> pointer to a #PangoGlyphItemIter structure
+</parameter_description>
+</parameter>
+<parameter name="glyph_item">
+<parameter_description> the glyph item that @iter points into
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> text corresponding to the glyph item
+</parameter_description>
+</parameter>
+</parameters>
+<return> %FALSE if there are no clusters in the glyph item;
+in this case, the state of @iter is undefined.
+</return>
+</function>
+
+<function name="pango_units_to_double">
+<description>
+Converts a number in Pango units to floating-point: divides
+it by %PANGO_SCALE.
+
+
+</description>
+<parameters>
+<parameter name="i">
+<parameter_description> value in Pango units
+</parameter_description>
+</parameter>
+</parameters>
+<return> the double value.
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_layout_new">
+<description>
+Create a new #PangoLayout object with attributes initialized to
+default values for a particular #PangoContext.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoLayout, with a reference
+count of one, which should be freed with
+g_object_unref().
+</return>
+</function>
+
+<function name="pango_config_key_get">
+<description>
+Looks up a key in the Pango config database
+(pseudo-win.ini style, read from $sysconfdir/pango/pangorc,
+~/.pangorc, and getenv (PANGO_RC_FILE).)
+
+
+</description>
+<parameters>
+<parameter name="key">
+<parameter_description> Key to look up, in the form &quot;SECTION/KEY&quot;.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the value, if found, otherwise %NULL. The value is a
+newly-allocated string and must be freed with g_free().
+</return>
+</function>
+
+<function name="pango_matrix_free">
+<description>
+Free a #PangoMatrix created with pango_matrix_copy().
+Does nothing if @matrix is %NULL.
+
+Since: 1.6
+
+</description>
+<parameters>
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_get_lib_subdirectory">
+<description>
+On Unix, returns the name of the &quot;pango&quot; subdirectory of LIBDIR
+(which is set at compile time). On Win32, returns the Pango
+installation directory (which is deduced at run time from the DLL&apos;s
+location, or stored in the Registry). The returned string should
+not be freed.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the Pango lib directory. The returned string should
+not be freed.
+</return>
+</function>
+
+<function name="pango_font_description_set_family_static">
+<description>
+Like pango_font_description_set_family(), except that no
+copy of @family is made. The caller must make sure that the
+string passed in stays around until @desc has been freed
+or the name is set again. This function can be used if
+@family is a static string such as a C string literal, or
+if @desc is only needed temporarily.
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+<parameter name="family">
+<parameter_description> a string representing the family name.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_ft2_render_layout">
+<description>
+Render a #PangoLayout onto a FreeType2 bitmap
+
+</description>
+<parameters>
+<parameter name="bitmap">
+<parameter_description> a &amp;lt;type&amp;gt;FT_Bitmap&amp;lt;/type&amp;gt; to render the layout onto
+</parameter_description>
+</parameter>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the X position of the left of the layout (in pixels)
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the Y position of the top of the layout (in pixels)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_pango_cairo_font_install">
+<description>
+Makes @font the current font for rendering in the specified
+Cairo context.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoCairoFont
+</parameter_description>
+</parameter>
+<parameter name="cr">
+<parameter_description> a #cairo_t
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if font was installed successfully, %FALSE otherwise.
+</return>
+</function>
+
+<function name="pango_layout_xy_to_index">
+<description>
+Converts from X and Y position within a layout to the byte
+index to the character at that logical position. If the
+Y position is not inside the layout, the closest position is chosen
+(the position will be clamped inside the layout). If the
+X position is not within the layout, then the start or the
+end of the line is chosen as described for pango_layout_x_to_index().
+If either the X or Y positions were not inside the layout, then the
+function returns %FALSE; on an exact hit, it returns %TRUE.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the X offset (in #PangoGlyphUnit)
+from the left edge of the layout.
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the Y offset (in #PangoGlyphUnit)
+from the top edge of the layout
+</parameter_description>
+</parameter>
+<parameter name="index_">
+<parameter_description> location to store calculated byte index
+</parameter_description>
+</parameter>
+<parameter name="trailing">
+<parameter_description> location to store a integer indicating where
+in the grapheme the user clicked. It will either
+be zero, or the number of characters in the
+grapheme. 0 represents the trailing edge of the grapheme.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the coordinates were inside text, %FALSE otherwise.
+</return>
+</function>
+
+<function name="pango_layout_get_text">
+<description>
+Gets the text in the layout. The returned text should not
+be freed or modified.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> the text in the @layout.
+</return>
+</function>
+
+<function name="pango_layout_get_extents">
+<description>
+Computes the logical and ink extents of @layout. Logical extents
+are usually what you want for positioning things. Note that both extents
+may have non-zero x and y. You may want to use those to offset where you
+render the layout. Not doing that is a very typical bug that shows up as
+right-to-left layouts not being correctly positioned in a layout with
+a set width.
+
+The extents are given in layout coordinates and in Pango units; layout
+coordinates begin at the top left corner of the layout.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="ink_rect">
+<parameter_description> rectangle used to store the extents of the layout as drawn
+or %NULL to indicate that the result is not needed.
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> rectangle used to store the logical extents of the layout
+ or %NULL to indicate that the result is not needed.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_tab_array_new">
+<description>
+Creates an array of @initial_size tab stops. Tab stops are specified in
+pixel units if @positions_in_pixels is %TRUE, otherwise in Pango
+units. All stops are initially at position 0.
+
+
+</description>
+<parameters>
+<parameter name="initial_size">
+<parameter_description> Initial number of tab stops to allocate, can be 0
+</parameter_description>
+</parameter>
+<parameter name="positions_in_pixels">
+<parameter_description> whether positions are in pixel units
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoTabArray, which should
+be freed with pango_tab_array_free().
+</return>
+</function>
+
+<function name="pango_parse_variant">
+<description>
+Parses a font variant. The allowed values are &quot;normal&quot;
+and &quot;smallcaps&quot; or &quot;small_caps&quot;, case variations being
+ignored.
+
+
+</description>
+<parameters>
+<parameter name="str">
+<parameter_description> a string to parse.
+</parameter_description>
+</parameter>
+<parameter name="variant">
+<parameter_description> a #PangoVariant to store the result in.
+</parameter_description>
+</parameter>
+<parameter name="warn">
+<parameter_description> if %TRUE, issue a g_warning() on bad input.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @str was successfully parsed.
+</return>
+</function>
+
+<function name="pango_xft_font_unlock_face">
+<description>
+Releases a font previously obtained with
+pango_xft_font_lock_face().
+
+Use pango_fc_font_unlock_face() instead.
+
+Since: 1.2
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_cairo_font_map_create_context">
+<description>
+Create a #PangoContext for the given fontmap.
+
+
+</description>
+<parameters>
+<parameter name="fontmap">
+<parameter_description> a #PangoCairoFontMap
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly created context; free with g_object_unref().
+
+Since: 1.10
+</return>
+</function>
+
+<function name="pango_shape">
+<description>
+Given a segment of text and the corresponding
+#PangoAnalysis structure returned from pango_itemize(),
+convert the characters into glyphs. You may also pass
+in only a substring of the item from pango_itemize().
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> the text to process
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the length (in bytes) of @text
+</parameter_description>
+</parameter>
+<parameter name="analysis">
+<parameter_description> #PangoAnalysis structure from pango_itemize()
+</parameter_description>
+</parameter>
+<parameter name="glyphs">
+<parameter_description> glyph string in which to store results
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_scan_word">
+<description>
+Scans a word into a #GString buffer. A word consists
+of [A-Za-z_] followed by zero or more [A-Za-z_0-9]
+Leading white space is skipped.
+
+
+</description>
+<parameters>
+<parameter name="pos">
+<parameter_description> in/out string position
+</parameter_description>
+</parameter>
+<parameter name="out">
+<parameter_description> a #GString into which to write the result
+</parameter_description>
+</parameter>
+</parameters>
+<return> %FALSE if a parse error occurred.
+</return>
+</function>
+
+<function name="pango_font_get_glyph_extents">
+<description>
+Gets the logical and ink extents of a glyph within a font. The
+coordinate system for each rectangle has its origin at the
+base line and horizontal origin of the character with increasing
+coordinates extending to the right and down. The macros PANGO_ASCENT(),
+PANGO_DESCENT(), PANGO_LBEARING(), and PANGO_RBEARING() can be used to convert
+from the extents rectangle to more traditional font metrics. The units
+of the rectangles are in 1/PANGO_SCALE of a device unit.
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont
+</parameter_description>
+</parameter>
+<parameter name="glyph">
+<parameter_description> the glyph index
+</parameter_description>
+</parameter>
+<parameter name="ink_rect">
+<parameter_description> rectangle used to store the extents of the glyph as drawn
+or %NULL to indicate that the result is not needed.
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> rectangle used to store the logical extents of the glyph
+or %NULL to indicate that the result is not needed.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_ft2_font_map_create_context">
+<description>
+Create a #PangoContext for the given fontmap.
+
+
+</description>
+<parameters>
+<parameter name="fontmap">
+<parameter_description> a #PangoFT2Fontmap
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly created context; free with g_object_unref().
+
+Since: 1.2
+</return>
+</function>
+
+<function name="pango_layout_set_auto_dir">
+<description>
+Sets whether to calculate the bidirectional base direction
+for the layout according to the contents of the layout;
+when this flag is on (the default), then paragraphs in
+ @layout that begin with strong right-to-left characters
+(Arabic and Hebrew principally), will have right-to-left
+layout, paragraphs with letters from other scripts will
+have left-to-right layout. Paragraphs with only neutral
+characters get their direction from the surrounding paragraphs.
+
+When %FALSE, the choice between left-to-right and
+right-to-left layout is done according to the base direction
+of the layout&apos;s #PangoContext. (See pango_context_set_base_dir()).
+
+When the auto-computed direction of a paragraph differs from the
+base direction of the context, the interpretation of
+%PANGO_ALIGN_LEFT and %PANGO_ALIGN_RIGHT are swapped.
+
+Since: 1.4
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="auto_dir">
+<parameter_description> if %TRUE, compute the bidirectional base direction
+from the layout&apos;s contents.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_gravity_get_for_script">
+<description>
+Based on the script, base gravity, and hint, returns actual gravity
+to use in laying out a single #PangoItem.
+
+If @base_gravity is %PANGO_GRAVITY_AUTO, it is first replaced with the
+preferred gravity of @script. To get the preferred gravity of a script,
+pass %PANGO_GRAVITY_AUTO and %PANGO_GRAVITY_HINT_STRONG in.
+
+
+</description>
+<parameters>
+<parameter name="script">
+<parameter_description> #PangoScript to query
+</parameter_description>
+</parameter>
+<parameter name="base_gravity">
+<parameter_description> base gravity of the paragraph
+</parameter_description>
+</parameter>
+<parameter name="hint">
+<parameter_description> orientation hint
+</parameter_description>
+</parameter>
+</parameters>
+<return> resolved gravity suitable to use for a run of text
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_attr_weight_new">
+<description>
+Create a new font weight attribute.
+
+
+</description>
+<parameters>
+<parameter name="weight">
+<parameter_description> the weight
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+</return>
+</function>
+
+<function name="pango_win32_font_map_for_display">
+<description>
+Return value: a #PangoFontMap.
+
+</description>
+<parameters>
+</parameters>
+<return> a #PangoFontMap.
+</return>
+</function>
+
+<function name="pango_win32_render">
+<description>
+Render a #PangoGlyphString onto a Windows DC
+
+</description>
+<parameters>
+<parameter name="hdc">
+<parameter_description> the device context
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> the font in which to draw the string
+</parameter_description>
+</parameter>
+<parameter name="glyphs">
+<parameter_description> the glyph string to draw
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x position of start of string (in pixels)
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y position of baseline (in pixels)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_ft2_font_get_face">
+<description>
+Return value: a pointer to a &amp;lt;type&amp;gt;FT_Face&amp;lt;/type&amp;gt; structure, with the size set correctly
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont
+</parameter_description>
+</parameter>
+</parameters>
+<return> a pointer to a &amp;lt;type&amp;gt;FT_Face&amp;lt;/type&amp;gt; structure, with the size set correctly
+</return>
+</function>
+
+<function name="pango_attr_background_new">
+<description>
+Create a new background color attribute.
+
+
+</description>
+<parameters>
+<parameter name="red">
+<parameter_description> the red value (ranging from 0 to 65535)
+</parameter_description>
+</parameter>
+<parameter name="green">
+<parameter_description> the green value
+</parameter_description>
+</parameter>
+<parameter name="blue">
+<parameter_description> the blue value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+</return>
+</function>
+
+<function name="pango_coverage_unref">
+<description>
+Increase the reference count on the #PangoCoverage by one.
+if the result is zero, free the coverage and all associated memory.
+
+</description>
+<parameters>
+<parameter name="coverage">
+<parameter_description> a #PangoCoverage
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_font_get_coverage">
+<description>
+Computes the coverage map for a given font and language tag.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont
+</parameter_description>
+</parameter>
+<parameter name="language">
+<parameter_description> the language tag
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated #PangoCoverage object.
+</return>
+</function>
+
+<function name="pango_get_mirror_char">
+<description>
+If @ch has the Unicode mirrored property and there is another Unicode
+character that typically has a glyph that is the mirror image of @ch&apos;s
+glyph, puts that character in the address pointed to by @mirrored_ch.
+
+Use g_unichar_get_mirror_char() instead; the docs for that function
+provide full details.
+
+
+</description>
+<parameters>
+<parameter name="ch">
+<parameter_description> a Unicode character
+</parameter_description>
+</parameter>
+<parameter name="mirrored_ch">
+<parameter_description> location to store the mirrored character
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @ch has a mirrored character and @mirrored_ch is
+filled in, %FALSE otherwise
+</return>
+</function>
+
+<function name="pango_scan_string">
+<description>
+Scans a string into a #GString buffer. The string may either
+be a sequence of non-white-space characters, or a quoted
+string with &apos;&quot;&apos;. Instead a quoted string, &apos;\&quot;&apos; represents
+a literal quote. Leading white space outside of quotes is skipped.
+
+
+</description>
+<parameters>
+<parameter name="pos">
+<parameter_description> in/out string position
+</parameter_description>
+</parameter>
+<parameter name="out">
+<parameter_description> a #GString into which to write the result
+</parameter_description>
+</parameter>
+</parameters>
+<return> %FALSE if a parse error occurred.
+</return>
+</function>
+
+<function name="pango_context_set_language">
+<description>
+Sets the global language tag for the context. The default language
+for the locale of the running process can be found using
+pango_language_get_default().
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+<parameter name="language">
+<parameter_description> the new language tag.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_set_text">
+<description>
+Sets the text of the layout.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> a valid UTF-8 string
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> maximum length of @text, in bytes. -1 indicates that
+the string is nul-terminated and the length should be
+calculated. The text will also be truncated on
+encountering a nul-termination even when @length is
+positive.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_attribute_equal">
+<description>
+Compare two attributes for equality. This compares only the
+actual value of the two attributes and not the ranges that the
+attributes apply to.
+
+
+</description>
+<parameters>
+<parameter name="attr1">
+<parameter_description> a #PangoAttribute
+</parameter_description>
+</parameter>
+<parameter name="attr2">
+<parameter_description> another #PangoAttribute
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the two attributes have the same value.
+</return>
+</function>
+
+<function name="pango_coverage_max">
+<description>
+Set the coverage for each index in @coverage to be the max (better)
+value of the current coverage for the index and the coverage for
+the corresponding index in @other.
+
+</description>
+<parameters>
+<parameter name="coverage">
+<parameter_description> a #PangoCoverage
+</parameter_description>
+</parameter>
+<parameter name="other">
+<parameter_description> another #PangoCoverage
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_win32_render_layout_line">
+<description>
+Render a #PangoLayoutLine onto a device context. For underlining to
+work property the text alignment of the DC should have TA_BASELINE
+and TA_LEFT.
+
+</description>
+<parameters>
+<parameter name="hdc">
+<parameter_description> DC to use for uncolored drawing
+</parameter_description>
+</parameter>
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x position of start of string (in pixels)
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y position of baseline (in pixels)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_ft2_render">
+<description>
+Renders a #PangoGlyphString onto a FreeType2 bitmap.
+
+</description>
+<parameters>
+<parameter name="bitmap">
+<parameter_description> the FreeType2 bitmap onto which to draw the string
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> the font in which to draw the string
+</parameter_description>
+</parameter>
+<parameter name="glyphs">
+<parameter_description> the glyph string to draw
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x position of the start of the string (in pixels)
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y position of the baseline (in pixels)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_move_cursor_visually">
+<description>
+Computes a new cursor position from an old position and
+a count of positions to move visually. If @direction is positive,
+then the new strong cursor position will be one position
+to the right of the old cursor position. If @direction is negative,
+then the new strong cursor position will be one position
+to the left of the old cursor position.
+
+In the presence of bidirectional text, the correspondence
+between logical and visual order will depend on the direction
+of the current run, and there may be jumps when the cursor
+is moved off of the end of a run.
+
+Motion here is in cursor positions, not in characters, so a
+single call to pango_layout_move_cursor_visually() may move the
+cursor over multiple characters when multiple characters combine
+to form a single grapheme.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout.
+</parameter_description>
+</parameter>
+<parameter name="strong">
+<parameter_description> whether the moving cursor is the strong cursor or the
+weak cursor. The strong cursor is the cursor corresponding
+to text insertion in the base direction for the layout.
+</parameter_description>
+</parameter>
+<parameter name="old_index">
+<parameter_description> the byte index of the grapheme for the old index
+</parameter_description>
+</parameter>
+<parameter name="old_trailing">
+<parameter_description> if 0, the cursor was at the trailing edge of the
+grapheme indicated by @old_index, if &amp;gt; 0, the cursor
+was at the leading edge.
+</parameter_description>
+</parameter>
+<parameter name="direction">
+<parameter_description> direction to move cursor. A negative
+value indicates motion to the left.
+</parameter_description>
+</parameter>
+<parameter name="new_index">
+<parameter_description> location to store the new cursor byte index. A value of -1
+indicates that the cursor has been moved off the beginning
+of the layout. A value of %G_MAXINT indicates that
+the cursor has been moved off the end of the layout.
+</parameter_description>
+</parameter>
+<parameter name="new_trailing">
+<parameter_description> number of characters to move forward from the location returned
+for @new_index to get the position where the cursor should
+be displayed. This allows distinguishing the position at
+the beginning of one line from the position at the end
+of the preceding line. @new_index is always on the line
+where the cursor should be displayed.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_attr_gravity_new">
+<description>
+Create a new gravity attribute.
+
+
+</description>
+<parameters>
+<parameter name="gravity">
+<parameter_description> the gravity value; should not be %PANGO_GRAVITY_AUTO.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_cairo_context_set_shape_renderer">
+<description>
+Sets callback function for context to use for rendering attributes
+of type %PANGO_ATTR_SHAPE. See #PangoCairoShapeRendererFunc for
+details.
+
+Since: 1.18
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext, from pango_cairo_font_map_create_context()
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> Callback function for rendering attributes of type
+%PANGO_ATTR_SHAPE, or %NULL to disable shape rendering.
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> User data that will be passed to @func.
+</parameter_description>
+</parameter>
+<parameter name="dnotify">
+<parameter_description> Callback that will be called when the
+context is freed to release @data, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_x_font_map_get_font_cache">
+<description>
+Obtains the font cache associated with the given font map.
+
+
+</description>
+<parameters>
+<parameter name="font_map">
+<parameter_description> a #PangoXFontMap.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #PangoXFontCache of @font_map.
+</return>
+</function>
+
+<function name="pango_win32_get_context">
+<description>
+Retrieves a #PangoContext appropriate for rendering with Windows fonts.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the new #PangoContext
+</return>
+</function>
+
+<function name="pango_font_description_set_stretch">
+<description>
+Sets the stretch field of a font description. The stretch field
+specifies how narrow or wide the font should be.
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+<parameter name="stretch">
+<parameter_description> the stretch for the font description
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_win32_font_done_font">
+<description>
+Releases any resources allocated by pango_win32_font_done_font()
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont from the win32 backend
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_parse_enum">
+<description>
+Parses an enum type and stored the result in @value.
+
+If @str does not match the nick name of any of the possible values for the
+enum, %FALSE is returned, a warning is issued if @warn is %TRUE, and a
+string representing the list of possible values is stored in
+@possible_values. The list is slash-separated, eg.
+&quot;none/start/middle/end&quot;. If failed and @possible_values is not %NULL,
+returned string should be freed using g_free().
+
+
+</description>
+<parameters>
+<parameter name="type">
+<parameter_description> enum type to parse, eg. %PANGO_TYPE_ELLIPSIZE_MODE.
+</parameter_description>
+</parameter>
+<parameter name="str">
+<parameter_description> string to parse. May be %NULL.
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> integer to store the result in, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="warn">
+<parameter_description> if %TRUE, issue a g_warning() on bad input.
+</parameter_description>
+</parameter>
+<parameter name="possible_values">
+<parameter_description> place to store list of possible values on failure, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @str was successfully parsed.
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_attribute_destroy">
+<description>
+Destroy a #PangoAttribute and free all associated memory.
+
+</description>
+<parameters>
+<parameter name="attr">
+<parameter_description> a #PangoAttribute.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_font_description_set_size">
+<description>
+Sets the size field of a font description in fractional points. This is mutually
+exclusive with pango_font_description_set_absolute_size().
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size of the font in points, scaled by PANGO_SCALE. (That is,
+a @size value of 10 * PANGO_SCALE is a 10 point font. The conversion
+factor between points and device units depends on system configuration
+and the output device. For screen display, a logical DPI of 96 is
+common, in which case a 10 point font corresponds to a 10 * (96 / 72) = 13.3
+pixel font. Use pango_font_description_set_absolute_size() if you need
+a particular size in device units.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_cairo_show_layout_line">
+<description>
+Draws a #PangoLayoutLine in the specified cairo context.
+The origin of the glyphs (the left edge of the line) will
+be drawn at the current point of the cairo context.
+
+Since: 1.10
+
+</description>
+<parameters>
+<parameter name="cr">
+<parameter_description> a Cairo context
+</parameter_description>
+</parameter>
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_iter_get_line">
+<description>
+Gets the current line.
+
+Use the faster pango_layout_iter_get_line_readonly() if you do not plan
+to modify the contents of the line (glyphs, glyph widths, etc.).
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current line.
+</return>
+</function>
+
+<function name="pango_win32_font_get_glyph_index">
+<description>
+Obtains the index of the glyph for @wc in @font, or 0, if not
+covered.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont.
+</parameter_description>
+</parameter>
+<parameter name="wc">
+<parameter_description> a Unicode character.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the glyph index for @wc.
+</return>
+</function>
+
+<function name="pango_ft2_font_map_substitute_changed">
+<description>
+Call this function any time the results of the
+default substitution function set with
+pango_ft2_font_map_set_default_substitute() change.
+That is, if your substitution function will return different
+results for the same input pattern, you must call this function.
+
+Since: 1.2
+
+</description>
+<parameters>
+<parameter name="fontmap">
+<parameter_description> a #PangoFT2Fontmap
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_font_description_merge_static">
+<description>
+Like pango_font_description_merge(), but only a shallow copy is made
+of the family name and other allocated fields. @desc can only be
+used until @desc_to_merge is modified or freed. This is meant
+to be used when the merged font description is only needed temporarily.
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+<parameter name="desc_to_merge">
+<parameter_description> the #PangoFontDescription to merge from
+</parameter_description>
+</parameter>
+<parameter name="replace_existing">
+<parameter_description> if %TRUE, replace fields in @desc with the
+corresponding values from @desc_to_merge, even if they
+are already exist.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_attr_font_desc_new">
+<description>
+Create a new font description attribute. This attribute
+allows setting family, style, weight, variant, stretch,
+and size simultaneously.
+
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> the font description
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+</return>
+</function>
+
+<function name="pango_glyph_item_apply_attrs">
+<description>
+Splits a shaped item (PangoGlyphItem) into multiple items based
+on an attribute list. The idea is that if you have attributes
+that don&apos;t affect shaping, such as color or underline, to avoid
+affecting shaping, you filter them out (pango_attr_list_filter()),
+apply the shaping process and then reapply them to the result using
+this function.
+
+All attributes that start or end inside a cluster are applied
+to that cluster; for instance, if half of a cluster is underlined
+and the other-half strikethrough, then the cluster will end
+up with both underline and strikethrough attributes. In these
+cases, it may happen that item-&amp;gt;extra_attrs for some of the
+result items can have multiple attributes of the same type.
+
+This function takes ownership of @glyph_item; it will be reused
+as one of the elements in the list.
+
+
+</description>
+<parameters>
+<parameter name="glyph_item">
+<parameter_description> a shaped item
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> text that @list applies to
+</parameter_description>
+</parameter>
+<parameter name="list">
+<parameter_description> a #PangoAttrList
+</parameter_description>
+</parameter>
+</parameters>
+<return> a list of glyph items resulting from splitting
+@glyph_item. Free the elements using pango_glyph_item_free(),
+the list using g_slist_free().
+
+Since: 1.2
+</return>
+</function>
+
+<function name="pango_attr_foreground_new">
+<description>
+Create a new foreground color attribute.
+
+
+</description>
+<parameters>
+<parameter name="red">
+<parameter_description> the red value (ranging from 0 to 65535)
+</parameter_description>
+</parameter>
+<parameter name="green">
+<parameter_description> the green value
+</parameter_description>
+</parameter>
+<parameter name="blue">
+<parameter_description> the blue value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+</return>
+</function>
+
+<function name="pango_cairo_update_layout">
+<description>
+Updates the private #PangoContext of a #PangoLayout created with
+pango_cairo_create_layout() to match the current transformation
+and target surface of a Cairo context.
+
+Since: 1.10
+
+</description>
+<parameters>
+<parameter name="cr">
+<parameter_description> a Cairo context
+</parameter_description>
+</parameter>
+<parameter name="layout">
+<parameter_description> a #PangoLayout, from pango_cairo_create_layout()
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_x_font_cache_free">
+<description>
+Frees a #PangoXFontCache and all associated memory. All fonts loaded
+through this font cache will be freed along with the cache.
+
+</description>
+<parameters>
+<parameter name="cache">
+<parameter_description> a #PangoXFontCache
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_set_width">
+<description>
+Sets the width to which the lines of the #PangoLayout should wrap.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout.
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the desired width in Pango units, or -1 to indicate that no
+wrapping should be performed.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_attr_language_new">
+<description>
+Create a new language tag attribute.
+
+
+</description>
+<parameters>
+<parameter name="language">
+<parameter_description> language tag
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+</return>
+</function>
+
+<function name="pango_context_set_gravity_hint">
+<description>
+Sets the gravity hint for the context.
+
+The gravity hint is used in laying vertical text out, and is only relevant
+if gravity of the context as returned by pango_context_get_gravity()
+is set %PANGO_GRAVITY_EAST or %PANGO_GRAVITY_WEST.
+
+Since: 1.16
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+<parameter name="hint">
+<parameter_description> the new gravity hint
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_set_indent">
+<description>
+Sets the width in Pango units to indent each paragraph. A negative value
+of @indent will produce a hanging indentation. That is, the first line will
+have the full width, and subsequent lines will be indented by the
+absolute value of @indent.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout.
+</parameter_description>
+</parameter>
+<parameter name="indent">
+<parameter_description> the amount by which to indent.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_parse_weight">
+<description>
+Parses a font weight. The allowed values are &quot;heavy&quot;,
+&quot;ultrabold&quot;, &quot;bold&quot;, &quot;normal&quot;, &quot;light&quot;, &quot;ultraleight&quot;
+and integers. Case variations are ignored.
+
+
+</description>
+<parameters>
+<parameter name="str">
+<parameter_description> a string to parse.
+</parameter_description>
+</parameter>
+<parameter name="weight">
+<parameter_description> a #PangoWeight to store the result in.
+</parameter_description>
+</parameter>
+<parameter name="warn">
+<parameter_description> if %TRUE, issue a g_warning() on bad input.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @str was successfully parsed.
+</return>
+</function>
+
+<function name="pango_x_render">
+<description>
+Renders a #PangoGlyphString onto an X drawable.
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the X display.
+</parameter_description>
+</parameter>
+<parameter name="d">
+<parameter_description> the drawable on which to draw string.
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> the graphics context.
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> the font in which to draw the string.
+</parameter_description>
+</parameter>
+<parameter name="glyphs">
+<parameter_description> the glyph string to draw.
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x position of start of string (in pixels).
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y position of baseline (in pixels).
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_xft_get_font_map">
+<description>
+Return value: a #PangoFontMap object, owned by Pango.
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> an X display
+</parameter_description>
+</parameter>
+<parameter name="screen">
+<parameter_description> the screen number of a screen within @display
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #PangoFontMap object, owned by Pango.
+
+Since: 1.2
+</return>
+</function>
+
+<function name="pango_x_fallback_shape">
+<description>
+This is a simple fallback shaper, that can be used
+if no subfont that supports a given script is found.
+For every character in @text, it puts the unknown glyph.
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> A #PangoFont.
+</parameter_description>
+</parameter>
+<parameter name="glyphs">
+<parameter_description> A pointer to a #PangoGlyphString.
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> UTF-8 string.
+</parameter_description>
+</parameter>
+<parameter name="n_chars">
+<parameter_description> Number of UTF-8 seqs in @text.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_cairo_glyph_string_path">
+<description>
+Adds the glyphs in @glyphs to the current path in the specified
+cairo context. The origin of the glyphs (the left edge of the baseline)
+will be at the current point of the cairo context.
+
+Since: 1.10
+
+</description>
+<parameters>
+<parameter name="cr">
+<parameter_description> a Cairo context
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> a #PangoFont from a #PangoCairoFontMap
+</parameter_description>
+</parameter>
+<parameter name="glyphs">
+<parameter_description> a #PangoGlyphString
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_glyph_item_free">
+<description>
+Frees a #PangoGlyphItem and memory to which it points.
+
+Since: 1.6
+
+</description>
+<parameters>
+<parameter name="glyph_item">
+<parameter_description> a #PangoGlyphItem
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_renderer_set_matrix">
+<description>
+Sets the transformation matrix that will be applied when rendering.
+
+Since: 1.8
+
+</description>
+<parameters>
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
+</parameter_description>
+</parameter>
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix, or %NULL to unset any existing matrix.
+(No matrix set is the same as setting the identity matrix.)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_attr_underline_new">
+<description>
+Create a new underline-style attribute.
+
+
+</description>
+<parameters>
+<parameter name="underline">
+<parameter_description> the underline style.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+</return>
+</function>
+
+<function name="pango_layout_is_wrapped">
+<description>
+Queries whether the layout had to wrap any paragraphs.
+
+This returns %TRUE if a positive width is set on @layout,
+ellipsization mode of @layout is set to %PANGO_ELLIPSIZE_NONE,
+and there are paragraphs exceeding the layout width that have
+to be wrapped.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if any paragraphs had to be wrapped, %FALSE
+otherwise.
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_layout_get_iter">
+<description>
+Return value: the new #PangoLayoutIter that should be freed using
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #PangoLayoutIter that should be freed using
+pango_layout_iter_free().
+</return>
+</function>
+
+<function name="pango_default_break">
+<description>
+This is the default break algorithm, used if no language
+engine overrides it. Normally you should use pango_break()
+instead. Unlike pango_break(),
+@analysis can be %NULL, but only do that if you know what
+you&apos;re doing. If you need an analysis to pass to pango_break(),
+you need to pango_itemize(). In most cases however you should
+simply use pango_get_log_attrs().
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> text to break
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> length of text in bytes (may be -1 if @text is nul-terminated)
+</parameter_description>
+</parameter>
+<parameter name="analysis">
+<parameter_description> a #PangoAnalysis for the @text
+</parameter_description>
+</parameter>
+<parameter name="attrs">
+<parameter_description> logical attributes to fill in
+</parameter_description>
+</parameter>
+<parameter name="attrs_len">
+<parameter_description> size of the array passed as @attrs
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_set_spacing">
+<description>
+Sets the amount of spacing in #PangoGlyphUnit between the lines of the
+layout.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout.
+</parameter_description>
+</parameter>
+<parameter name="spacing">
+<parameter_description> the amount of spacing
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_attr_scale_new">
+<description>
+Create a new font size scale attribute. The base font for the
+affected text will have its size multiplied by @scale_factor.
+
+
+</description>
+<parameters>
+<parameter name="scale_factor">
+<parameter_description> factor to scale the font
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+</return>
+</function>
+
+<function name="pango_attr_list_get_iterator">
+<description>
+Create a iterator initialized to the beginning of the list.
+@list must not be modified until this iterator is freed.
+
+
+</description>
+<parameters>
+<parameter name="list">
+<parameter_description> a #PangoAttrList
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttrIterator, which should
+be freed with pango_attr_iterator_destroy().
+</return>
+</function>
+
+<function name="pango_layout_iter_get_run_extents">
+<description>
+Gets the extents of the current run in layout coordinates
+(origin is the top left of the entire layout).
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
+</parameter_description>
+</parameter>
+<parameter name="ink_rect">
+<parameter_description> rectangle to fill with ink extents, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> rectangle to fill with logical extents, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_get_lines_readonly">
+<description>
+Return value: a #GSList containing the lines in the layout. This
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GSList containing the lines in the layout. This
+points to internal data of the #PangoLayout and must be used with
+care. It will become invalid on any change to the layout&apos;s
+text or properties. No changes should be made to the lines.
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_font_description_set_weight">
+<description>
+Sets the weight field of a font description. The weight field
+specifies how bold or light the font should be. In addition
+to the values of the #PangoWeight enumeration, other intermediate
+numeric values are possible.
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+<parameter name="weight">
+<parameter_description> the weight for the font description.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_xft_render_layout">
+<description>
+Render a #PangoLayout onto a #XftDraw
+
+Since: 1.8
+
+</description>
+<parameters>
+<parameter name="draw">
+<parameter_description> an #XftDraw
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> the foreground color in which to draw the layout
+(may be overridden by color attributes)
+</parameter_description>
+</parameter>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the X position of the left of the layout (in Pango units)
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the Y position of the top of the layout (in Pango units)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_win32_font_cache_new">
+<description>
+Creates a font cache.
+
+
+</description>
+<parameters>
+</parameters>
+<return> The new font cache. This must be freed with
+pango_win32_font_cache_free().
+</return>
+</function>
+
+<function name="pango_font_metrics_new">
+<description>
+Creates a new #PangoFontMetrics structure. This is only for
+internal use by Pango backends and there is no public way
+to set the fields of the structure.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a newly-created #PangoFontMetrics structure
+with a reference count of 1.
+</return>
+</function>
+
+<function name="pango_font_description_get_weight">
+<description>
+Gets the weight field of a font description. See
+pango_font_description_set_weight().
+
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+</parameters>
+<return> the weight field for the font description. Use
+pango_font_description_get_set_fields() to find out if
+the field was explicitly set or not.
+</return>
+</function>
+
+<function name="pango_matrix_scale">
+<description>
+Changes the transformation represented by @matrix to be the
+transformation given by first scaling by @sx in the X direction
+and @sy in the Y direction then applying the original
+transformation.
+
+Since: 1.6
+
+</description>
+<parameters>
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix
+</parameter_description>
+</parameter>
+<parameter name="scale_x">
+<parameter_description> amount to scale by in X direction
+</parameter_description>
+</parameter>
+<parameter name="scale_y">
+<parameter_description> amount to scale by in Y direction
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_renderer_set_color">
+<description>
+Sets the color for part of the rendering.
+
+Since: 1.8
+
+</description>
+<parameters>
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
+</parameter_description>
+</parameter>
+<parameter name="part">
+<parameter_description> the part to change the color of
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> the new color or %NULL to unset the current color
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_cairo_context_get_shape_renderer">
+<description>
+Sets callback function for context to use for rendering attributes
+of type %PANGO_ATTR_SHAPE. See #PangoCairoShapeRendererFunc for
+details.
+
+Retrieves callback function and associated user data for rendering
+attributes of type %PANGO_ATTR_SHAPE as set by
+pango_cairo_context_set_shape_renderer(), if any.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext, from pango_cairo_font_map_create_context()
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> Pointer to #gpointer to return user data
+</parameter_description>
+</parameter>
+</parameters>
+<return> the shape rendering callback previously set on the context, or %NULL
+if no shape rendering callback have been set.
+
+Since: 1.18
+</return>
+</function>
+
+<function name="pango_font_description_hash">
+<description>
+Computes a hash of a #PangoFontDescription structure suitable
+to be used, for example, as an argument to g_hash_table_new().
+The hash value is independent of @desc-&amp;gt;mask.
+
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+</parameters>
+<return> the hash value.
+</return>
+</function>
+
+<function name="pango_font_face_is_synthesized">
+<description>
+Return value: whether @face is synthesized.
+
+</description>
+<parameters>
+<parameter name="face">
+<parameter_description> a #PangoFontFace
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @face is synthesized.
+
+Since: 1.18
+</return>
+</function>
+
+<function name="pango_cairo_font_map_set_resolution">
+<description>
+Sets the resolution for the fontmap. This is a scale factor between
+points specified in a #PangoFontDescription and Cairo units. The
+default value is 96, meaning that a 10 point font will be 13
+units high. (10 * 96. / 72. = 13.3).
+
+Since: 1.10
+
+</description>
+<parameters>
+<parameter name="fontmap">
+<parameter_description> a #PangoCairoFontMap
+</parameter_description>
+</parameter>
+<parameter name="dpi">
+<parameter_description> the resolution in &quot;dots per inch&quot;. (Physical inches aren&apos;t actually
+involved; the terminology is conventional.)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_iter_get_layout_extents">
+<description>
+Obtains the extents of the #PangoLayout being iterated
+over. @ink_rect or @logical_rect can be %NULL if you
+aren&apos;t interested in them.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
+</parameter_description>
+</parameter>
+<parameter name="ink_rect">
+<parameter_description> rectangle to fill with ink extents, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> rectangle to fill with logical extents, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_get_cursor_pos">
+<description>
+Given an index within a layout, determines the positions that of the
+strong and weak cursors if the insertion point is at that
+index. The position of each cursor is stored as a zero-width
+rectangle. The strong cursor location is the location where
+characters of the directionality equal to the base direction of the
+layout are inserted. The weak cursor location is the location
+where characters of the directionality opposite to the base
+direction of the layout are inserted.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="index_">
+<parameter_description> the byte index of the cursor
+</parameter_description>
+</parameter>
+<parameter name="strong_pos">
+<parameter_description> location to store the strong cursor position (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="weak_pos">
+<parameter_description> location to store the weak cursor position (may be %NULL)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_renderer_draw_glyph">
+<description>
+Draws a single glyph with coordinates in device space.
+
+Since: 1.8
+
+</description>
+<parameters>
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> a #PangoFont
+</parameter_description>
+</parameter>
+<parameter name="glyph">
+<parameter_description> the glyph index of a single glyph
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> X coordinate of left edge of baseline of glyph
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> Y coordinate of left edge of baseline of glyph
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_attr_underline_color_new">
+<description>
+Create a new underline color attribute. This attribute
+modifies the color of underlines. If not set, underlines
+will use the foreground color.
+
+
+</description>
+<parameters>
+<parameter name="red">
+<parameter_description> the red value (ranging from 0 to 65535)
+</parameter_description>
+</parameter>
+<parameter name="green">
+<parameter_description> the green value
+</parameter_description>
+</parameter>
+<parameter name="blue">
+<parameter_description> the blue value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+
+Since: 1.8
+</return>
+</function>
+
+<function name="pango_font_description_set_absolute_size">
+<description>
+Sets the size field of a font description, in device units. This is mutually
+exclusive with pango_font_description_set_size() which sets the font size
+in points.
+
+Since: 1.8
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the new size, in Pango units. There are %PANGO_SCALE Pango units in one
+device unit. For an output backend where a device unit is a pixel, a @size
+value of 10 * PANGO_SCALE gives a 10 pixel font.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_color_free">
+<description>
+Frees a color allocated by pango_color_copy().
+
+</description>
+<parameters>
+<parameter name="color">
+<parameter_description> an allocated #PangoColor
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_renderer_get_color">
+<description>
+Gets the current rendering color for the specified part.
+
+
+</description>
+<parameters>
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
+</parameter_description>
+</parameter>
+<parameter name="part">
+<parameter_description> the part to get the color for
+</parameter_description>
+</parameter>
+</parameters>
+<return> the color for the specified part, or %NULL
+if it hasn&apos;t been set and should be inherited from the
+environment.
+
+Since: 1.8
+</return>
+</function>
+
+<function name="pango_cairo_context_set_font_options">
+<description>
+Sets the font options used when rendering text with this context.
+These options override any options that pango_cairo_update_context()
+derives from the target surface.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext, from pango_cairo_font_map_create_context()
+</parameter_description>
+</parameter>
+<parameter name="options">
+<parameter_description> a #cairo_font_options_t, or %NULL to unset any previously set
+options. A copy is made.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_find_paragraph_boundary">
+<description>
+Locates a paragraph boundary in @text. A boundary is caused by
+delimiter characters, such as a newline, carriage return, carriage
+return-newline pair, or Unicode paragraph separator character. The
+index of the run of delimiters is returned in
+@paragraph_delimiter_index. The index of the start of the paragraph
+(index after all delimiters) is stored in @next_paragraph_start.
+
+If no delimiters are found, both @paragraph_delimiter_index and
+@next_paragraph_start are filled with the length of @text (an index one
+off the end).
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> UTF-8 text
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> length of @text in bytes, or -1 if nul-terminated
+</parameter_description>
+</parameter>
+<parameter name="paragraph_delimiter_index">
+<parameter_description> return location for index of delimiter
+</parameter_description>
+</parameter>
+<parameter name="next_paragraph_start">
+<parameter_description> return location for start of next paragraph
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_font_map_get_shape_engine_type">
+<description>
+Return value: the ID string for shape engines for
+
+</description>
+<parameters>
+<parameter name="fontmap">
+<parameter_description> a #PangoFontMap
+</parameter_description>
+</parameter>
+</parameters>
+<return> the ID string for shape engines for
+this fontmap. Owned by Pango, should not be modified
+or freed.
+
+Since: 1.4
+</return>
+</function>
+
+<function name="pango_attr_shape_new_with_data">
+<description>
+Like pango_attr_shape_new(), but a user data pointer is also
+provided; this pointer can be accessed when later
+rendering the glyph.
+
+
+</description>
+<parameters>
+<parameter name="ink_rect">
+<parameter_description> ink rectangle to assign to each character
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> logical rectangle to assign to each character
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> user data pointer
+</parameter_description>
+</parameter>
+<parameter name="copy_func">
+<parameter_description> function to copy @data when the attribute
+is copied. If %NULL, @data is simply copied
+as a pointer.
+</parameter_description>
+</parameter>
+<parameter name="destroy_func">
+<parameter_description> function to free @data when the attribute
+is freed, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+
+Since: 1.8
+</return>
+</function>
+
+<function name="pango_attr_list_change">
+<description>
+Insert the given attribute into the #PangoAttrList. It will
+replace any attributes of the same type on that segment
+and be merged with any adjoining attributes that are identical.
+
+This function is slower than pango_attr_list_insert() for
+creating a attribute list in order (potentially much slower
+for large lists). However, pango_attr_list_insert() is not
+suitable for continually changing a set of attributes
+since it never removes or combines existing attributes.
+
+</description>
+<parameters>
+<parameter name="list">
+<parameter_description> a #PangoAttrList
+</parameter_description>
+</parameter>
+<parameter name="attr">
+<parameter_description> the attribute to insert. Ownership of this value is
+assumed by the list.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_renderer_prepare_run">
+<description>
+Set up the state of the #PangoRenderer for rendering @run.
+
+Since: 1.8
+
+</description>
+<parameters>
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
+</parameter_description>
+</parameter>
+<parameter name="run">
+<parameter_description> a #PangoLayoutRun
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_attr_size_new">
+<description>
+Create a new font-size attribute in fractional points.
+
+
+</description>
+<parameters>
+<parameter name="size">
+<parameter_description> the font size, in %PANGO_SCALE&amp;lt;!-- --&amp;gt;ths of a point.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+</return>
+</function>
+
+<function name="pango_item_copy">
+<description>
+Copy an existing #PangoItem structure.
+
+
+</description>
+<parameters>
+<parameter name="item">
+<parameter_description> a #PangoItem
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoItem, which should
+be freed with pango_item_free().
+</return>
+</function>
+
+<function name="pango_matrix_transform_pixel_rectangle">
+<description>
+First transforms the @rect using @matrix, then calculates the bounding box
+of the transformed rectangle. The rectangle should be in device units
+(pixels).
+
+This function is useful for example when you want to draw a rotated
+@PangoLayout to an image buffer, and want to know how large the image
+should be and how much you should shift the layout when rendering.
+
+For better accuracy, you should use pango_matrix_transform_rectangle() on
+original rectangle in Pango units and convert to pixels afterward
+using pango_extents_to_pixels() as @ink_rect.
+
+Since: 1.16
+
+</description>
+<parameters>
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="rect">
+<parameter_description> in/out bounding box in device units, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_attr_letter_spacing_new">
+<description>
+Create a new letter-spacing attribute.
+
+
+</description>
+<parameters>
+<parameter name="letter_spacing">
+<parameter_description> amount of extra space to add between graphemes
+of the text, in Pango units.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+
+Since: 1.6
+</return>
+</function>
+
+<function name="pango_ot_ruleset_description_free">
+<description>
+Frees a ruleset description allocated by
+pango_ot_ruleset_description_copy().
+
+Since: 1.18
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> an allocated #PangoOTRulesetDescription
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_get_wrap">
+<description>
+Gets the wrap mode for the layout.
+
+Use pango_layout_is_wrapped() to query whether any paragraphs
+were actually wrapped.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> active wrap mode.
+</return>
+</function>
+
+<function name="pango_layout_set_font_description">
+<description>
+Sets the default font description for the layout. If no font
+description is set on the layout, the font description from
+the layout&apos;s context is used.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="desc">
+<parameter_description> the new #PangoFontDescription, or %NULL to unset the
+current font description
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_ot_ruleset_maybe_add_features">
+<description>
+This is a convenience function that
+for each feature in the feature map array @features
+converts the feature name to a #PangoOTTag feature tag using FT_MAKE_TAG()
+and calls pango_ot_ruleset_maybe_add_feature() on it.
+
+
+</description>
+<parameters>
+<parameter name="ruleset">
+<parameter_description> a #PangoOTRuleset.
+</parameter_description>
+</parameter>
+<parameter name="table_type">
+<parameter_description> the table type to add features to.
+</parameter_description>
+</parameter>
+<parameter name="features">
+<parameter_description> array of feature name and property bits to add.
+</parameter_description>
+</parameter>
+<parameter name="n_features">
+<parameter_description> number of feature records in @features array.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The number of features in @features that were found
+and added to @ruleset.
+
+Since: 1.18
+</return>
+</function>
+
+<function name="pango_xft_font_get_unknown_glyph">
+<description>
+Return value: a glyph index into @font.
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont.
+</parameter_description>
+</parameter>
+<parameter name="wc">
+<parameter_description> the Unicode character for which a glyph is needed.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a glyph index into @font.
+</return>
+</function>
+
+<function name="pango_fontset_get_metrics">
+<description>
+Get overall metric information for the fonts in the fontset.
+
+
+</description>
+<parameters>
+<parameter name="fontset">
+<parameter_description> a #PangoFontset
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
+when finished using the object.
+</return>
+</function>
+
+<function name="pango_ot_buffer_output">
+<description>
+Exports the glyphs in a #PangoOTBuffer into a #PangoGlyphString. This is
+typically used after the OpenType layout processing is over, to convert the
+resulting glyphs into a generic Pango glyph string.
+
+Since: 1.4
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #PangoOTBuffer
+</parameter_description>
+</parameter>
+<parameter name="glyphs">
+<parameter_description> a #PangoGlyphString
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_ft2_get_unknown_glyph">
+<description>
+Return the index of a glyph suitable for drawing unknown characters with
+@font, or %PANGO_GLYPH_EMPTY if no suitable glyph found.
+
+If you want to draw an unknown-box for a character that is not covered
+by the font,
+use PANGO_GET_UNKNOWN_GLYPH() instead.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont
+</parameter_description>
+</parameter>
+</parameters>
+<return> a glyph index into @font, or %PANGO_GLYPH_EMPTY
+</return>
+</function>
+
+<function name="pango_win32_get_unknown_glyph">
+<description>
+Return value: a glyph index into @font
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont
+</parameter_description>
+</parameter>
+<parameter name="wc">
+<parameter_description> the Unicode character for which a glyph is needed.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a glyph index into @font
+</return>
+</function>
+
+<function name="pango_context_get_language">
+<description>
+Retrieves the global language tag for the context.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> the global language tag.
+</return>
+</function>
+
+<function name="pango_font_metrics_get_approximate_digit_width">
+<description>
+Gets the approximate digit width for a font metrics structure.
+This is merely a representative value useful, for example, for
+determining the initial size for a window. Actual digits in
+text can be wider or narrower than this, though this value
+is generally somewhat more accurate than the result of
+pango_font_metrics_get_approximate_char_width() for digits.
+
+
+</description>
+<parameters>
+<parameter name="metrics">
+<parameter_description> a #PangoFontMetrics structure
+</parameter_description>
+</parameter>
+</parameters>
+<return> the digit width, in Pango units. (1 point == %PANGO_SCALE Pango units.)
+</return>
+</function>
+
+<function name="pango_ot_info_list_languages">
+<description>
+Obtains the list of available languages for a given script.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #PangoOTInfo.
+</parameter_description>
+</parameter>
+<parameter name="table_type">
+<parameter_description> the table type to obtain information about.
+</parameter_description>
+</parameter>
+<parameter name="script_index">
+<parameter_description> the index of the script to list languages for.
+</parameter_description>
+</parameter>
+<parameter name="language_tag">
+<parameter_description> unused parameter.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated zero-terminated array containing the tags of the
+available languages. Should be freed using g_free().
+</return>
+</function>
+
+<function name="pango_x_font_map_for_display">
+<description>
+Return value: a #PangoXFontMap for @display.
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> an X #Display.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #PangoXFontMap for @display.
+</return>
+</function>
+
+<function name="pango_fontset_simple_append">
+<description>
+Adds a font to the fontset.
+
+</description>
+<parameters>
+<parameter name="fontset">
+<parameter_description> a #PangoFontsetSimple.
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> a #PangoFont.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_font_describe">
+<description>
+Return value: a newly-allocated #PangoFontDescription object.
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated #PangoFontDescription object.
+</return>
+</function>
+
+<function name="pango_font_description_get_size">
+<description>
+Gets the size field of a font description.
+See pango_font_description_set_size().
+
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+</parameters>
+<return> the size field for the font description in points or device units.
+You must call pango_font_description_get_size_is_absolute()
+to find out which is the case. Returns 0 if the size field has not
+previously been set or it has been set to 0 explicitly.
+Use pango_font_description_get_set_fields() to
+find out if the field was explicitly set or not.
+</return>
+</function>
+
+<function name="pango_xft_renderer_set_draw">
+<description>
+Sets the #XftDraw object that the renderer is drawing to.
+The renderer must not be currently active.
+
+Since: 1.8
+
+</description>
+<parameters>
+<parameter name="xftrenderer">
+<parameter_description> a #PangoXftRenderer
+</parameter_description>
+</parameter>
+<parameter name="draw">
+<parameter_description> a #XftDraw
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_fc_font_get_raw_extents">
+<description>
+Gets the extents of a single glyph from a font. The extents are in
+user space; that is, they are not transformed by any matrix in effect
+for the font.
+
+Long term, this functionality probably belongs in the default
+implementation of the get_glyph_extents() virtual function.
+The other possibility would be to to make it public in something
+like it&apos;s current form, and also expose glyph information
+caching functionality similar to pango_ft2_font_set_glyph_info().
+
+Since: 1.6
+
+</description>
+<parameters>
+<parameter name="fcfont">
+<parameter_description> a #PangoFcFont
+</parameter_description>
+</parameter>
+<parameter name="load_flags">
+<parameter_description> flags to pass to FT_Load_Glyph()
+</parameter_description>
+</parameter>
+<parameter name="glyph">
+<parameter_description> the glyph index to load
+</parameter_description>
+</parameter>
+<parameter name="ink_rect">
+<parameter_description> location to store ink extents of the glyph, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> location to store logical extents of the glyph or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_ot_info_find_script">
+<description>
+Finds the index of a script. If not found, tries to find the &apos;DFLT&apos;
+and then &apos;dflt&apos; scripts and return the index of that in @script_index.
+If none of those is found either, %PANGO_OT_NO_SCRIPT is placed in
+@script_index.
+
+All other functions taking an input script_index parameter know
+how to handle %PANGO_OT_NO_SCRIPT, so one can ignore the return
+value of this function completely and proceed, to enjoy the automatic
+fallback to the &apos;DFLT&apos;/&apos;dflt&apos; script.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #PangoOTInfo.
+</parameter_description>
+</parameter>
+<parameter name="table_type">
+<parameter_description> the table type to obtain information about.
+</parameter_description>
+</parameter>
+<parameter name="script_tag">
+<parameter_description> the tag of the script to find.
+</parameter_description>
+</parameter>
+<parameter name="script_index">
+<parameter_description> location to store the index of the script, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the script was found.
+</return>
+</function>
+
+<function name="pango_ot_ruleset_description_hash">
+<description>
+Computes a hash of a #PangoOTRulesetDescription structure suitable
+to be used, for example, as an argument to g_hash_table_new().
+
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a ruleset description
+</parameter_description>
+</parameter>
+</parameters>
+<return> the hash value.
+
+Since: 1.18
+</return>
+</function>
+
+<function name="pango_layout_get_unknown_glyphs_count">
+<description>
+Counts the number unknown glyphs in @layout. That is, zero if
+glyphs for all characters in the layout text were found, or more
+than zero otherwise.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> The number of unknown glyphs in @layout.
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_font_metrics_get_underline_thickness">
+<description>
+Gets the suggested thickness to draw for the underline.
+
+
+</description>
+<parameters>
+<parameter name="metrics">
+<parameter_description> a #PangoFontMetrics structure
+</parameter_description>
+</parameter>
+</parameters>
+<return> the suggested underline thickness, in Pango units.
+
+Since: 1.6
+</return>
+</function>
+
+<function name="pango_layout_set_markup_with_accel">
+<description>
+Sets the layout text and attribute list from marked-up text (see
+&amp;lt;link linkend=&quot;PangoMarkupFormat&quot;&amp;gt;markup format&amp;lt;/link&amp;gt;). Replaces
+the current text and attribute list.
+
+If @accel_marker is nonzero, the given character will mark the
+character following it as an accelerator. For example, @accel_marker
+might be an ampersand or underscore. All characters marked
+as an accelerator will receive a %PANGO_UNDERLINE_LOW attribute,
+and the first character so marked will be returned in @accel_char.
+Two @accel_marker characters following each other produce a single
+literal @accel_marker character.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="markup">
+<parameter_description> marked-up text
+(see &amp;lt;link linkend=&quot;PangoMarkupFormat&quot;&amp;gt;markup format&amp;lt;/link&amp;gt;)
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> length of marked-up text in bytes, or -1 if @markup is
+nul-terminated
+</parameter_description>
+</parameter>
+<parameter name="accel_marker">
+<parameter_description> marker for accelerators in the text
+</parameter_description>
+</parameter>
+<parameter name="accel_char">
+<parameter_description> return location for first located accelerator, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_font_metrics_get_strikethrough_position">
+<description>
+Gets the suggested position to draw the strikethrough.
+The value returned is the distance &amp;lt;emphasis&amp;gt;above&amp;lt;/emphasis&amp;gt; the
+baseline of the top of the strikethrough.
+
+
+</description>
+<parameters>
+<parameter name="metrics">
+<parameter_description> a #PangoFontMetrics structure
+</parameter_description>
+</parameter>
+</parameters>
+<return> the suggested strikethrough position, in Pango units.
+
+Since: 1.6
+</return>
+</function>
+
+<function name="_pango_fc_font_get_decoder">
+<description>
+This will return any custom decoder set on this font.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFcFont
+</parameter_description>
+</parameter>
+</parameters>
+<return> The custom decoder
+
+Since: 1.6
+</return>
+</function>
+
+<function name="pango_cairo_font_map_new">
+<description>
+Creates a new #PangoCairoFontMap object; a fontmap is used
+to cache information about available fonts, and holds
+certain global parameters such as the resolution.
+In most cases, you can use pango_cairo_font_map_get_default()
+instead.
+
+Note that the type of the returned object will depend
+on the particular font backend Cairo was compiled to use;
+You generally should only use the #PangoFontMap and
+#PangoCairoFontMap interfaces on the returned object.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the newly allocated #PangoFontMap, which should
+be freed with g_object_unref().
+
+Since: 1.10
+</return>
+</function>
+
+<function name="pango_xft_font_get_display">
+<description>
+Return value: the X display of the XftFont associated to @font.
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the X display of the XftFont associated to @font.
+</return>
+</function>
+
+<function name="pango_layout_iter_get_run_readonly">
+<description>
+Gets the current run. When iterating by run, at the end of each
+line, there&apos;s a position with a %NULL run, so this function can return
+%NULL. The %NULL run at the end of each line ensures that all lines have
+at least one run, even lines consisting of only a newline.
+
+This is a faster alternative to pango_layout_iter_get_run(),
+but the user is not expected
+to modify the contents of the run (glyphs, glyph widths, etc.).
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current run, that should not be modified.
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_ft2_font_get_kerning">
+<description>
+Retrieves kerning information for a combination of two glyphs.
+
+Use pango_fc_font_kern_glyphs() instead.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont
+</parameter_description>
+</parameter>
+<parameter name="left">
+<parameter_description> the left #PangoGlyph
+</parameter_description>
+</parameter>
+<parameter name="right">
+<parameter_description> the right #PangoGlyph
+</parameter_description>
+</parameter>
+</parameters>
+<return> The amount of kerning (in Pango units) to apply for
+the given combination of glyphs.
+</return>
+</function>
+
+<function name="pango_font_description_new">
+<description>
+Creates a new font description structure with all fields unset.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the newly allocated #PangoFontDescription, which
+should be freed using pango_font_description_free().
+</return>
+</function>
+
+<function name="pango_ft2_render_layout_line_subpixel">
+<description>
+Render a #PangoLayoutLine onto a FreeType2 bitmap, with he
+location specified in fixed-point Pango units rather than
+pixels. (Using this will avoid extra inaccuracies from
+rounding to integer pixels multiple times, even if the
+final glyph positions are integers.)
+
+Since: 1.6
+
+</description>
+<parameters>
+<parameter name="bitmap">
+<parameter_description> a &amp;lt;type&amp;gt;FT_Bitmap&amp;lt;/type&amp;gt; to render the line onto
+</parameter_description>
+</parameter>
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x position of start of string (in Pango units)
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y position of baseline (in Pango units)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_find_map">
+<description>
+Locate a #PangoMap for a particular engine type and render
+type. The resulting map can be used to determine the engine
+for each character.
+
+
+</description>
+<parameters>
+<parameter name="language">
+<parameter_description> the language tag for which to find the map
+</parameter_description>
+</parameter>
+<parameter name="engine_type_id">
+<parameter_description> the engine type for the map to find
+</parameter_description>
+</parameter>
+<parameter name="render_type_id">
+<parameter_description> the render type for the map to find
+</parameter_description>
+</parameter>
+</parameters>
+<return> the suitable #PangoMap.
+</return>
+</function>
+
+<function name="pango_context_get_font_description">
+<description>
+Retrieve the default font description for the context.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> a pointer to the context&apos;s default font description.
+This value must not be modified or freed.
+</return>
+</function>
+
+<function name="pango_find_base_dir">
+<description>
+Searches a string the first character that has a strong
+direction, according to the Unicode bidirectional algorithm.
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> the text to process
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> length of @text in bytes (may be -1 if @text is nul-terminated)
+</parameter_description>
+</parameter>
+</parameters>
+<return> The direction corresponding to the first strong character.
+If no such character is found, then %PANGO_DIRECTION_NEUTRAL is returned.
+
+Since: 1.4
+</return>
+</function>
+
+<function name="pango_attr_iterator_copy">
+<description>
+Copy a #PangoAttrIterator
+
+
+</description>
+<parameters>
+<parameter name="iterator">
+<parameter_description> a #PangoAttrIterator.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttrIterator, which should
+be freed with pango_attr_iterator_destroy().
+</return>
+</function>
+
+<function name="pango_context_get_matrix">
+<description>
+Gets the transformation matrix that will be applied when
+rendering with this context. See pango_context_set_matrix().
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> the matrix, or %NULL if no matrix has been set
+(which is the same as the identity matrix). The returned
+matrix is owned by Pango and must not be modified or
+freed.
+
+Since: 1.6
+</return>
+</function>
+
+<function name="pango_x_render_layout">
+<description>
+Renders a #PangoLayout onto an X drawable.
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the X display.
+</parameter_description>
+</parameter>
+<parameter name="drawable">
+<parameter_description> the drawable on which to draw.
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> GC to use for uncolored drawing.
+</parameter_description>
+</parameter>
+<parameter name="layout">
+<parameter_description> a #PangoLayout.
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x position of the left of the layout (in pixels).
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y position of the top of the layout (in pixels).
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_font_family_list_faces">
+<description>
+Lists the different font faces that make up @family. The faces
+in a family share a common design, but differ in slant, weight,
+width and other aspects.
+
+</description>
+<parameters>
+<parameter name="family">
+<parameter_description> a #PangoFontFamily
+</parameter_description>
+</parameter>
+<parameter name="faces">
+<parameter_description> location to store an array of pointers to #PangoFontFace
+objects, or %NULL. This array should be freed with g_free()
+when it is no longer needed.
+</parameter_description>
+</parameter>
+<parameter name="n_faces">
+<parameter_description> location to store number of elements in @faces.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_font_describe_with_absolute_size">
+<description>
+Return value: a newly-allocated #PangoFontDescription object.
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated #PangoFontDescription object.
+
+Since: 1.14
+</return>
+</function>
+
+<function name="pango_context_set_base_gravity">
+<description>
+Sets the base gravity for the context.
+
+The base gravity is used in laying vertical text out.
+
+Since: 1.16
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+<parameter name="gravity">
+<parameter_description> the new base gravity
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_matrix_get_font_scale_factor">
+<description>
+Return value: the scale factor of @matrix on the height of the font,
+
+</description>
+<parameters>
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix, may be %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> the scale factor of @matrix on the height of the font,
+or 1.0 if @matrix is %NULL.
+
+Since: 1.12
+</return>
+</function>
+
+<function name="pango_font_family_is_monospace">
+<description>
+A monospace font is a font designed for text display where the the
+characters form a regular grid. For Western languages this would
+mean that the advance width of all characters are the same, but
+this categorization also includes Asian fonts which include
+double-width characters: characters that occupy two grid cells.
+g_unichar_iswide() returns a result that indicates whether a
+character is typically double-width in a monospace font.
+
+The best way to find out the grid-cell size is to call
+pango_font_metrics_get_approximate_digit_width(), since the results
+of pango_font_metrics_get_approximate_char_width() may be affected
+by double-width characters.
+
+
+</description>
+<parameters>
+<parameter name="family">
+<parameter_description> a #PangoFontFamily
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the family is monospace.
+
+Since: 1.4
+</return>
+</function>
+
+<function name="pango_attr_list_unref">
+<description>
+Decrease the reference count of the given attribute list by one.
+If the result is zero, free the attribute list and the attributes
+it contains.
+
+</description>
+<parameters>
+<parameter name="list">
+<parameter_description> a #PangoAttrList
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_font_metrics_get_strikethrough_thickness">
+<description>
+Gets the suggested thickness to draw for the strikethrough.
+
+
+</description>
+<parameters>
+<parameter name="metrics">
+<parameter_description> a #PangoFontMetrics structure
+</parameter_description>
+</parameter>
+</parameters>
+<return> the suggested strikethrough thickness, in Pango units.
+
+Since: 1.6
+</return>
+</function>
+
+<function name="pango_x_context_set_funcs">
+<description>
+Sets the functions that will be used to get GC&apos;s in various colors when
+rendering layouts with this context.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext.
+</parameter_description>
+</parameter>
+<parameter name="get_gc_func">
+<parameter_description> function called to create a new GC for a given color.
+</parameter_description>
+</parameter>
+<parameter name="free_gc_func">
+<parameter_description> function called to free a GC created with @get_gc_func.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_line_index_to_x">
+<description>
+Converts an index within a line to a X position.
+
+
+</description>
+<parameters>
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine
+</parameter_description>
+</parameter>
+<parameter name="index_">
+<parameter_description> byte offset of a grapheme within the layout
+</parameter_description>
+</parameter>
+<parameter name="trailing">
+<parameter_description> an integer indicating the edge of the grapheme to retrieve
+the position of. If 0, the trailing edge of the grapheme,
+if &amp;gt; 0, the leading of the grapheme.
+</parameter_description>
+</parameter>
+<parameter name="x_pos">
+<parameter_description> location to store the x_offset (in #PangoGlyphUnit)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_renderer_draw_layout_line">
+<description>
+Draws @line with the specified #PangoRenderer.
+
+Since: 1.8
+
+</description>
+<parameters>
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
+</parameter_description>
+</parameter>
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> X position of left edge of baseline, in user space coordinates
+in Pango units.
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> Y position of left edge of baseline, in user space coordinates
+in Pango units.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_fc_font_map_cache_clear">
+<description>
+Clear all cached information and fontsets for this font map;
+this should be called whenever there is a change in the
+output of the default_substitute() virtual function.
+
+This function is intended to be used only by backend implementations
+deriving from #PangoFcFontmap.
+
+Since: 1.4
+
+</description>
+<parameters>
+<parameter name="fcfontmap">
+<parameter_description> a #PangoFcFontmap
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_skip_space">
+<description>
+Skips 0 or more characters of white space.
+
+
+</description>
+<parameters>
+<parameter name="pos">
+<parameter_description> in/out string position
+</parameter_description>
+</parameter>
+</parameters>
+<return> %FALSE if skipping the white space leaves
+the position at a &apos;\0&apos; character.
+</return>
+</function>
+
+<function name="pango_font_description_merge">
+<description>
+Merges the fields that are set in @desc_to_merge into the fields in
+@desc. If @replace_existing is %FALSE, only fields in @desc that
+are not already set are affected. If %TRUE, then fields that are
+already set will be replaced as well.
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+<parameter name="desc_to_merge">
+<parameter_description> the #PangoFontDescription to merge from
+</parameter_description>
+</parameter>
+<parameter name="replace_existing">
+<parameter_description> if %TRUE, replace fields in @desc with the
+corresponding values from @desc_to_merge, even if they
+are already exist.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_language_includes_script">
+<description>
+Determines if @script is one of the scripts used to
+write @language. The returned value is conservative;
+if nothing is known about the language tag @language,
+%TRUE will be returned, since, as far as Pango knows,
+@script might be used to write @language.
+
+This routine is used in Pango&apos;s itemization process when
+determining if a supplied language tag is relevant to
+a particular section of text. It probably is not useful for
+applications in most circumstances.
+
+
+</description>
+<parameters>
+<parameter name="language">
+<parameter_description> a #PangoLanguage, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="script">
+<parameter_description> a #PangoScript
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @script is one of the scripts used
+to write @language or if nothing is known about @language
+(including the case that @language is %NULL),
+%FALSE otherwise.
+
+Since: 1.4
+</return>
+</function>
+
+<function name="pango_glyph_string_get_width">
+<description>
+Computes the logical width of the glyph string as can also be computed
+using pango_glyph_string_extents(). However, since this only computes the
+width, it&apos;s much faster. This is in fact only a convenience function that
+computes the sum of geometry.width for each glyph in the @glyphs.
+
+
+</description>
+<parameters>
+<parameter name="glyphs">
+<parameter_description> a #PangoGlyphString
+</parameter_description>
+</parameter>
+</parameters>
+<return> the logical width of the glyph string.
+
+Since: 1.14
+</return>
+</function>
+
+<function name="pango_font_family_get_name">
+<description>
+Gets the name of the family. The name is unique among all
+fonts for the font backend and can be used in a #PangoFontDescription
+to specify that a face from this family is desired.
+
+
+</description>
+<parameters>
+<parameter name="family">
+<parameter_description> a #PangoFontFamily
+</parameter_description>
+</parameter>
+</parameters>
+<return> the name of the family. This string is owned
+by the family object and must not be modified or freed.
+</return>
+</function>
+
+<function name="pango_language_matches">
+<description>
+Checks if a language tag matches one of the elements in a list of
+language ranges. A language tag is considered to match a range
+in the list if the range is &apos;*&apos;, the range is exactly the tag,
+or the range is a prefix of the tag, and the character after it
+in the tag is &apos;-&apos;.
+
+
+</description>
+<parameters>
+<parameter name="language">
+<parameter_description> a language tag (see pango_language_from_string()),
+%NULL is allowed and matches nothing but &apos;*&apos;
+</parameter_description>
+</parameter>
+<parameter name="range_list">
+<parameter_description> a list of language ranges, separated by &apos;;&apos;, &apos;:&apos;,
+&apos;,&apos;, or space characters.
+Each element must either be &apos;*&apos;, or a RFC 3066 language range
+canonicalized as by pango_language_from_string()
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a match was found.
+</return>
+</function>
+
+<function name="_pango_xft_font_map_get_renderer">
+<description>
+Gets the singleton #PangoXFTRenderer for this fontmap.
+
+
+</description>
+<parameters>
+<parameter name="fontmap">
+<parameter_description> a #PangoXftFontmap
+</parameter_description>
+</parameter>
+</parameters>
+<return>
+</return>
+</function>
+
+<function name="pango_font_map_load_font">
+<description>
+Load the font in the fontmap that is the closest match for @desc.
+
+
+</description>
+<parameters>
+<parameter name="fontmap">
+<parameter_description> a #PangoFontMap
+</parameter_description>
+</parameter>
+<parameter name="context">
+<parameter_description> the #PangoContext the font will be used with
+</parameter_description>
+</parameter>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription describing the font to load
+</parameter_description>
+</parameter>
+</parameters>
+<return>the font loaded, or %NULL if no font matched.
+</return>
+</function>
+
+<function name="pango_font_description_to_filename">
+<description>
+Creates a filename representation of a font description. The
+filename is identical to the result from calling
+pango_font_description_to_string(), but with underscores instead of
+characters that are untypical in filenames, and in lower case only.
+
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new string that must be freed with g_free().
+</return>
+</function>
+
+<function name="pango_attr_list_filter">
+<description>
+Given a #PangoAttrList and callback function, removes any elements
+of @list for which @func returns %TRUE and inserts them into
+a new list.
+
+
+</description>
+<parameters>
+<parameter name="list">
+<parameter_description> a #PangoAttrList
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> callback function; returns %TRUE if an attribute
+should be filtered out.
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> Data to be passed to @func
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #PangoAttrList or %NULL if
+no attributes of the given types were found.
+
+Since: 1.2
+</return>
+</function>
+
+<function name="pango_layout_get_ellipsize">
+<description>
+Gets the type of ellipsization being performed for @layout.
+See pango_layout_set_ellipsize()
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current ellipsization mode for @layout.
+
+Use pango_layout_is_ellipsized() to query whether any paragraphs
+were actually ellipsized.
+
+Since: 1.6
+</return>
+</function>
+
+<function name="pango_font_description_get_variant">
+<description>
+Gets the variant field of a #PangoFontDescription. See
+pango_font_description_set_variant().
+
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the variant field for the font description. Use
+pango_font_description_get_set_fields() to find out if
+the field was explicitly set or not.
+</return>
+</function>
+
+<function name="pango_fc_font_get_unknown_glyph">
+<description>
+Return value: a glyph index into @font.
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFcFont
+</parameter_description>
+</parameter>
+<parameter name="wc">
+<parameter_description> the Unicode character for which a glyph is needed.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a glyph index into @font.
+
+Since: 1.4
+</return>
+</function>
+
+<function name="pango_item_free">
+<description>
+Free a #PangoItem and all associated memory.
+
+</description>
+<parameters>
+<parameter name="item">
+<parameter_description> a #PangoItem
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_font_description_to_string">
+<description>
+Creates a string representation of a font description. See
+pango_font_description_from_string() for a description of the
+format of the string representation. The family list in the
+string description will only have a terminating comma if the
+last word of the list is a valid style option.
+
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new string that must be freed with g_free().
+</return>
+</function>
+
+<function name="pango_layout_get_attributes">
+<description>
+Gets the attribute list for the layout, if any.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #PangoAttrList.
+</return>
+</function>
+
+<function name="pango_layout_iter_at_last_line">
+<description>
+Determines whether @iter is on the last line of the layout.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter is on the last line.
+</return>
+</function>
+
+<function name="pango_coverage_from_bytes">
+<description>
+Convert data generated from pango_converage_to_bytes() back
+to a #PangoCoverage
+
+
+</description>
+<parameters>
+<parameter name="bytes">
+<parameter_description> binary data representing a #PangoCoverage
+</parameter_description>
+</parameter>
+<parameter name="n_bytes">
+<parameter_description> the size of @bytes in bytes
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated #PangoCoverage, or %NULL if
+the data was invalid.
+</return>
+</function>
+
+<function name="pango_get_log_attrs">
+<description>
+Computes a #PangoLogAttr for each character in @text. The @log_attrs
+array must have one #PangoLogAttr for each position in @text; if
+@text contains N characters, it has N+1 positions, including the
+last position at the end of the text. @text should be an entire
+paragraph; logical attributes can&apos;t be computed without context
+(for example you need to see spaces on either side of a word to know
+the word is a word).
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> text to process
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> length in bytes of @text
+</parameter_description>
+</parameter>
+<parameter name="level">
+<parameter_description> embedding level, or -1 if unknown
+</parameter_description>
+</parameter>
+<parameter name="language">
+<parameter_description> language tag
+</parameter_description>
+</parameter>
+<parameter name="log_attrs">
+<parameter_description> array with one #PangoLogAttr per character in @text, plus one extra, to be filled in
+</parameter_description>
+</parameter>
+<parameter name="attrs_len">
+<parameter_description> length of @log_attrs array
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_renderer_draw_rectangle">
+<description>
+Draws an axis-aligned rectangle in user space coordinates with the
+specified #PangoRenderer.
+
+This should be called while @renderer is already active. Use
+pango_renderer_activate() to activate a renderer.
+
+Since: 1.8
+
+</description>
+<parameters>
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
+</parameter_description>
+</parameter>
+<parameter name="part">
+<parameter_description> type of object this rectangle is part of
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> X position at which to draw rectangle, in user space coordinates in Pango units
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> Y position at which to draw rectangle, in user space coordinates in Pango units
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of rectangle in Pango units in user space coordinates
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height of rectangle in Pango units in user space coordinates
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_ft2_font_map_for_display">
+<description>
+Return value: a #PangoFT2FontMap.
+
+</description>
+<parameters>
+</parameters>
+<return> a #PangoFT2FontMap.
+</return>
+</function>
+
+<function name="pango_ft2_font_map_new">
+<description>
+Create a new #PangoFT2FontMap object; a fontmap is used
+to cache information about available fonts, and holds
+certain global parameters such as the resolution and
+the default substitute function (see
+pango_ft2_font_map_set_default_substitute()).
+
+
+</description>
+<parameters>
+</parameters>
+<return> the newly created fontmap object. Unref
+with g_object_unref() when you are finished with it.
+
+Since: 1.2
+</return>
+</function>
+
+<function name="pango_font_metrics_get_descent">
+<description>
+Gets the descent from a font metrics structure. The descent is
+the distance from the baseline to the logical bottom of a line
+of text. (The logical bottom may be above or below the bottom of the
+actual drawn ink. It is necessary to lay out the text to figure
+where the ink will be.)
+
+
+</description>
+<parameters>
+<parameter name="metrics">
+<parameter_description> a #PangoFontMetrics structure
+</parameter_description>
+</parameter>
+</parameters>
+<return> the descent, in Pango units. (1 point == %PANGO_SCALE Pango units.)
+</return>
+</function>
+
+<function name="pango_ot_ruleset_description_copy">
+<description>
+Creates a copy of @desc, which should be freed with
+pango_ot_ruleset_description_free(). Primarily used internally
+by pango_ot_ruleset_get_for_description() to cache rulesets for
+ruleset descriptions.
+
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> ruleset description to copy
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoOTRulesetDescription, which
+should be freed with pango_ot_ruleset_description_free().
+
+Since: 1.18
+</return>
+</function>
+
+<function name="pango_layout_get_lines">
+<description>
+Return value: a #GSList containing the lines in the layout. This
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GSList containing the lines in the layout. This
+points to internal data of the #PangoLayout and must be used with
+care. It will become invalid on any change to the layout&apos;s
+text or properties.
+</return>
+</function>
+
+<function name="pango_cairo_show_layout">
+<description>
+Draws a #PangoLayoutLine in the specified cairo context.
+The top-left corner of the #PangoLayout will be drawn
+at the current point of the cairo context.
+
+Since: 1.10
+
+</description>
+<parameters>
+<parameter name="cr">
+<parameter_description> a Cairo context
+</parameter_description>
+</parameter>
+<parameter name="layout">
+<parameter_description> a Pango layout
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_set_ellipsize">
+<description>
+Sets the type of ellipsization being performed for @layout.
+Depending on the ellipsization mode @ellipsize text is
+removed from the start, middle, or end of lines so they
+fit within the width of layout set with pango_layout_set_width ().
+
+If the layout contains characters such as newlines that
+force it to be layed out in multiple lines, then each line
+is ellipsized separately.
+
+Since: 1.6
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="ellipsize">
+<parameter_description> the new ellipsization mode for @layout
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_xft_shutdown_display">
+<description>
+Release any resources that have been cached for the
+combination of @display and @screen. Note that when the
+X display is closed, resources are released automatically,
+without needing to call this function.
+
+Since: 1.2
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> an X display
+</parameter_description>
+</parameter>
+<parameter name="screen">
+<parameter_description> the screen number of a screen within @display
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_set_markup">
+<description>
+Same as pango_layout_set_markup_with_accel(), but
+the markup text isn&apos;t scanned for accelerators.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="markup">
+<parameter_description> marked-up text
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> length of marked-up text in bytes, or -1 if @markup is
+nul-terminated
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_glyph_string_get_logical_widths">
+<description>
+Given a #PangoGlyphString resulting from pango_shape() and the corresponding
+text, determine the screen width corresponding to each character. When
+multiple characters compose a single cluster, the width of the entire
+cluster is divided equally among the characters.
+
+</description>
+<parameters>
+<parameter name="glyphs">
+<parameter_description> a #PangoGlyphString
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the text corresponding to the glyphs
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the length of @text, in bytes
+</parameter_description>
+</parameter>
+<parameter name="embedding_level">
+<parameter_description> the embedding level of the string
+</parameter_description>
+</parameter>
+<parameter name="logical_widths">
+<parameter_description> an array whose length is g_utf8_strlen (text, length)
+to be filled in with the resulting character widths.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_x_shutdown_display">
+<description>
+Free cached resources for the given X display structure.
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> an X #Display
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_iter_get_index">
+<description>
+Gets the current byte index. Note that iterating forward by char
+moves in visual order, not logical order, so indexes may not be
+sequential. Also, the index may be equal to the length of the text
+in the layout, if on the %NULL run (see pango_layout_iter_get_run()).
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> current byte index.
+</return>
+</function>
+
+<function name="pango_ot_info_list_scripts">
+<description>
+Obtains the list of available scripts.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #PangoOTInfo.
+</parameter_description>
+</parameter>
+<parameter name="table_type">
+<parameter_description> the table type to obtain information about.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated zero-terminated array containing the tags of the
+available scripts. Should be freed using g_free().
+</return>
+</function>
+
+<function name="pango_script_iter_free">
+<description>
+Frees a #PangoScriptIter created with pango_script_iter_new().
+
+Since: 1.4
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #PangoScriptIter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_line_get_pixel_extents">
+<description>
+Computes the logical and ink extents of @layout_line in device units.
+This function just calls pango_layout_line_get_extents() followed by
+pango_extents_to_pixels().
+
+</description>
+<parameters>
+<parameter name="layout_line">
+<parameter_description> a #PangoLayoutLine
+</parameter_description>
+</parameter>
+<parameter name="ink_rect">
+<parameter_description> rectangle used to store the extents of the glyph string
+as drawn, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> rectangle used to store the logical extents of the glyph
+string, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_color_parse">
+<description>
+Fill in the fields of a color from a string specification. The
+string can either one of a large set of standard names. (Taken
+from the X11 &amp;lt;filename&amp;gt;rgb.txt&amp;lt;/filename&amp;gt; file), or it can be a hex value in the
+form &apos;&amp;num;rgb&apos; &apos;&amp;num;rrggbb&apos; &apos;&amp;num;rrrgggbbb&apos; or &apos;&amp;num;rrrrggggbbbb&apos; where
+&apos;r&apos;, &apos;g&apos; and &apos;b&apos; are hex digits of the red, green, and blue
+components of the color, respectively. (White in the four
+forms is &apos;&amp;num;fff&apos; &apos;&amp;num;ffffff&apos; &apos;&amp;num;fffffffff&apos; and &apos;&amp;num;ffffffffffff&apos;)
+
+
+</description>
+<parameters>
+<parameter name="color">
+<parameter_description> a #PangoColor structure in which to store the result
+</parameter_description>
+</parameter>
+<parameter name="spec">
+<parameter_description> a string specifying the new color
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if parsing of the specifier succeeded,
+otherwise false.
+</return>
+</function>
+
+<function name="pango_attr_iterator_get_attrs">
+<description>
+Gets a list of all attributes at the current position of the
+iterator.
+
+
+</description>
+<parameters>
+<parameter name="iterator">
+<parameter_description> a #PangoAttrIterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> a list of all attributes for the current range.
+To free this value, call pango_attribute_destroy() on
+each value and g_slist_free() on the list.
+
+Since: 1.2
+</return>
+</function>
+
+<function name="pango_cairo_layout_line_path">
+<description>
+Adds the text in #PangoLayoutLine to the current path in the
+specified cairo context. The origin of the glyphs (the left edge
+of the line) will be at the current point of the cairo context.
+
+Since: 1.10
+
+</description>
+<parameters>
+<parameter name="cr">
+<parameter_description> a Cairo context
+</parameter_description>
+</parameter>
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_x_font_cache_load">
+<description>
+Loads a #XFontStruct from a X Logical Font Description. The
+result may be newly loaded, or it may have been previously
+stored.
+
+
+</description>
+<parameters>
+<parameter name="cache">
+<parameter_description> a #PangoXFontCache
+</parameter_description>
+</parameter>
+<parameter name="xlfd">
+<parameter_description> the X Logical Font Description to load.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The font structure, or %NULL if the font could
+not be loaded. In order to free this structure, you must call
+pango_x_font_cache_unload().
+</return>
+</function>
+
+<function name="pango_font_description_set_gravity">
+<description>
+Sets the gravity field of a font description. The gravity field
+specifies how the glyphs should be rotated. If @gravity is
+%PANGO_GRAVITY_AUTO, this actually unsets the gravity mask on
+the font description.
+
+This function is seldom useful to the user. Gravity should normally
+be set on a #PangoContext.
+
+Since: 1.16
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+<parameter name="gravity">
+<parameter_description> the gravity for the font description.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_scan_int">
+<description>
+Scans an integer.
+Leading white space is skipped.
+
+
+</description>
+<parameters>
+<parameter name="pos">
+<parameter_description> in/out string position
+</parameter_description>
+</parameter>
+<parameter name="out">
+<parameter_description> an int into which to write the result
+</parameter_description>
+</parameter>
+</parameters>
+<return> %FALSE if a parse error occurred.
+</return>
+</function>
+
+<function name="pango_x_get_unknown_glyph">
+<description>
+Return value: a glyph index into @font.
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a glyph index into @font.
+</return>
+</function>
+
+<function name="pango_ot_ruleset_description_equal">
+<description>
+Compares two ruleset descriptions for equality.
+Two ruleset descriptions are considered equal if the rulesets
+they describe are provably identical. This means that their
+script, language, and all feature sets should be equal. For static feature
+sets, the array addresses are compared directly, while for other
+features, the list of features is compared one by one.
+(Two ruleset descriptions may result in identical rulesets
+being created, but still compare %FALSE.)
+
+
+</description>
+<parameters>
+<parameter name="desc1">
+<parameter_description> a ruleset description
+</parameter_description>
+</parameter>
+<parameter name="desc2">
+<parameter_description> a ruleset description
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if two ruleset descriptions are identical,
+%FALSE otherwise.
+
+Since: 1.18
+</return>
+</function>
+
+<function name="pango_ot_info_get">
+<description>
+Return value: the #PangoOTInfo for @face. This object will have
+
+</description>
+<parameters>
+<parameter name="face">
+<parameter_description> a &amp;lt;type&amp;gt;FT_Face&amp;lt;/type&amp;gt;.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #PangoOTInfo for @face. This object will have
+the same lifetime as @face.
+
+Since: 1.2
+</return>
+</function>
+
+<function name="pango_version_check">
+<description>
+Checks that the Pango library in use is compatible with the
+given version. Generally you would pass in the constants
+%PANGO_VERSION_MAJOR, %PANGO_VERSION_MINOR, %PANGO_VERSION_MICRO
+as the three arguments to this function; that produces
+a check that the library in use at run-time is compatible with
+the version of Pango the application or module was compiled against.
+
+Compatibility is defined by two things: first the version
+of the running library is newer than the version
+@required_major.required_minor.@required_micro. Second
+the running library must be binary compatible with the
+version @required_major.required_minor.@required_micro
+(same major version.)
+
+For compile-time version checking use PANGO_VERSION_CHECK().
+
+
+</description>
+<parameters>
+<parameter name="required_major">
+<parameter_description> the required major version.
+</parameter_description>
+</parameter>
+<parameter name="required_minor">
+<parameter_description> the required minor version.
+</parameter_description>
+</parameter>
+<parameter name="required_micro">
+<parameter_description> the required major version.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %NULL if the Pango library is compatible with the
+given version, or a string describing the version mismatch.
+The returned string is owned by Pango and should not be modified
+or freed.
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_font_metrics_get_ascent">
+<description>
+Gets the ascent from a font metrics structure. The ascent is
+the distance from the baseline to the logical top of a line
+of text. (The logical top may be above or below the top of the
+actual drawn ink. It is necessary to lay out the text to figure
+where the ink will be.)
+
+
+</description>
+<parameters>
+<parameter name="metrics">
+<parameter_description> a #PangoFontMetrics structure
+</parameter_description>
+</parameter>
+</parameters>
+<return> the ascent, in Pango units. (1 point == %PANGO_SCALE Pango units.)
+</return>
+</function>
+
+<function name="pango_coverage_to_bytes">
+<description>
+Convert a #PangoCoverage structure into a flat binary format
+
+</description>
+<parameters>
+<parameter name="coverage">
+<parameter_description> a #PangoCoverage
+</parameter_description>
+</parameter>
+<parameter name="bytes">
+<parameter_description> location to store result (must be freed with g_free())
+</parameter_description>
+</parameter>
+<parameter name="n_bytes">
+<parameter_description> location to store size of result
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_gravity_to_rotation">
+<description>
+Converts a #PangoGravity value to its natural rotation in radians.
+@gravity should not be %PANGO_GRAVITY_AUTO.
+
+Note that pango_matrix_rotate() takes angle in degrees, not radians.
+So, to call pango_matrix_rotate() with the output of this function
+you should multiply it by (180. / G_PI).
+
+
+</description>
+<parameters>
+<parameter name="gravity">
+<parameter_description> gravity to query
+</parameter_description>
+</parameter>
+</parameters>
+<return> the rotation value corresponding to @gravity.
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_extents_to_pixels">
+<description>
+Converts extents from Pango units to device units, dividing by the
+%PANGO_SCALE factor and performing rounding.
+
+The ink rectangle is converted by flooring the x/y coordinates and extending
+width/height, such that the final rectangle completely includes the original
+rectangle.
+
+The logical rectangle is converted by rounding the coordinates
+of the rectangle to the nearest device unit.
+
+Note that in certain situations you may want pass a logical extents
+rectangle to this function as @ink_rect. The rule is: if you want the
+resulting device-space rectangle to completely contain the original
+rectangle, pass it in as @ink_rect.
+
+Since: 1.16
+
+</description>
+<parameters>
+<parameter name="ink_rect">
+<parameter_description> ink rectangle to convert, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> logical rectangle to convert, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_ot_tag_to_language">
+<description>
+Finds a #PangoLanguage corresponding to @language_tag.
+
+
+</description>
+<parameters>
+<parameter name="language_tag">
+<parameter_description> A #PangoOTTag OpenType language-system tag
+</parameter_description>
+</parameter>
+</parameters>
+<return> #PangoLanguage best matching @language_tag or
+#PangoLanguage corresponding to the string &quot;xx&quot; if none found.
+
+Since: 1.18
+</return>
+</function>
+
+<function name="pango_x_get_context">
+<description>
+Retrieves a #PangoContext appropriate for rendering with X fonts on the
+given display.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> an X display (As returned by XOpenDisplay().)
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #PangoContext.
+</return>
+</function>
+
+<function name="pango_item_split">
+<description>
+Modifies @orig to cover only the text after @split_index, and
+Return value: new item representing text before @split_index, which
+
+</description>
+<parameters>
+<parameter name="orig">
+<parameter_description> a #PangoItem
+</parameter_description>
+</parameter>
+<parameter name="split_index">
+<parameter_description> byte index of position to split item, relative to the start of the item
+</parameter_description>
+</parameter>
+<parameter name="split_offset">
+<parameter_description> number of chars between start of @orig and @split_index
+</parameter_description>
+</parameter>
+</parameters>
+<return> new item representing text before @split_index, which
+should be freed with pango_item_free().
+</return>
+</function>
+
+<function name="pango_font_description_get_size_is_absolute">
+<description>
+Determines whether the size of the font is in points (not absolute) or device units (absolute).
+See pango_font_description_set_size() and pango_font_description_set_absolute_size().
+
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the size for the font description is in
+points or device units. Use pango_font_description_get_set_fields() to
+find out if the size field of the font description was explicitly set or not.
+
+Since: 1.8
+</return>
+</function>
+
+<function name="pango_break">
+<description>
+Determines possible line, word, and character breaks
+for a string of Unicode text with a single analysis. For most
+purposes you may want to use pango_get_log_attrs().
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> the text to process
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> length of @text in bytes (may be -1 if @text is nul-terminated)
+</parameter_description>
+</parameter>
+<parameter name="analysis">
+<parameter_description> #PangoAnalysis structure from pango_itemize()
+</parameter_description>
+</parameter>
+<parameter name="attrs">
+<parameter_description> an array to store character information in
+</parameter_description>
+</parameter>
+<parameter name="attrs_len">
+<parameter_description> size of the array passed as @attrs
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_win32_render_transformed">
+<description>
+Renders a #PangoGlyphString onto a windows DC, possibly
+transforming the layed-out coordinates through a transformation
+matrix. Note that the transformation matrix for @font is not
+changed, so to produce correct rendering results, the @font
+must have been loaded using a #PangoContext with an identical
+transformation matrix to that passed in to this function.
+
+</description>
+<parameters>
+<parameter name="hdc">
+<parameter_description> a windows device context
+</parameter_description>
+</parameter>
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix, or %NULL to use an identity transformation
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> the font in which to draw the string
+</parameter_description>
+</parameter>
+<parameter name="glyphs">
+<parameter_description> the glyph string to draw
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x position of the start of the string (in Pango
+units in user space coordinates)
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y position of the baseline (in Pango units
+in user space coordinates)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_ft2_shutdown_display">
+<description>
+Free the global fontmap. (See pango_ft2_font_map_for_display())
+Use of the global PangoFT2 fontmap is deprecated.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_x_render_layout_line">
+<description>
+Renders a #PangoLayoutLine onto an X drawable.
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the X display.
+</parameter_description>
+</parameter>
+<parameter name="drawable">
+<parameter_description> the drawable on which to draw.
+</parameter_description>
+</parameter>
+<parameter name="gc">
+<parameter_description> GC to use for uncolored drawing.
+</parameter_description>
+</parameter>
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine.
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x position of start of string (in pixels).
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y position of baseline (in pixels).
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_coverage_set">
+<description>
+Modify a particular index within @coverage
+
+</description>
+<parameters>
+<parameter name="coverage">
+<parameter_description> a #PangoCoverage
+</parameter_description>
+</parameter>
+<parameter name="index_">
+<parameter_description> the index to modify
+</parameter_description>
+</parameter>
+<parameter name="level">
+<parameter_description> the new level for @index_
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_fc_font_lock_face">
+<description>
+Gets the FreeType &amp;lt;type&amp;gt;FT_Face&amp;lt;/type&amp;gt; associated with a font,
+This face will be kept around until you call
+pango_fc_font_unlock_face().
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFcFont.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the FreeType &amp;lt;type&amp;gt;FT_Face&amp;lt;/type&amp;gt; associated with @font.
+
+Since: 1.4
+</return>
+</function>
+
+<function name="pango_attr_iterator_range">
+<description>
+Get the range of the current segment. Note that the
+stored return values are signed, not unsigned like
+the values in #PangoAttribute. To deal with this API
+oversight, stored return values that wouldn&apos;t fit into
+a signed integer are clamped to %G_MAXINT.
+
+</description>
+<parameters>
+<parameter name="iterator">
+<parameter_description> a #PangoAttrIterator
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> location to store the start of the range
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> location to store the end of the range
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_set_attributes">
+<description>
+Sets the text attributes for a layout object.
+References @attrs, so the caller can unref its reference.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="attrs">
+<parameter_description> a #PangoAttrList
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_ft2_render_layout_subpixel">
+<description>
+Render a #PangoLayout onto a FreeType2 bitmap, with he
+location specified in fixed-point Pango units rather than
+pixels. (Using this will avoid extra inaccuracies from
+rounding to integer pixels multiple times, even if the
+final glyph positions are integers.)
+
+Since: 1.6
+
+</description>
+<parameters>
+<parameter name="bitmap">
+<parameter_description> a &amp;lt;type&amp;gt;FT_Bitmap&amp;lt;/type&amp;gt; to render the layout onto
+</parameter_description>
+</parameter>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the X position of the left of the layout (in Pango units)
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the Y position of the top of the layout (in Pango units)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_xft_get_context">
+<description>
+Retrieves a #PangoContext appropriate for rendering with
+Xft fonts on the given screen of the given display.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> an X display.
+</parameter_description>
+</parameter>
+<parameter name="screen">
+<parameter_description> an X screen.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #PangoContext.
+</return>
+</function>
+
+<function name="pango_script_iter_next">
+<description>
+Advances a #PangoScriptIter to the next range. If @iter
+is already at the end, it is left unchanged and %FALSE
+is returned.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #PangoScriptIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @iter was successfully advanced.
+
+Since: 1.4
+</return>
+</function>
+
+<function name="pango_glyph_item_letter_space">
+<description>
+Adds spacing between the graphemes of @glyph_item to
+give the effect of typographic letter spacing.
+
+Since: 1.6
+
+</description>
+<parameters>
+<parameter name="glyph_item">
+<parameter_description> a #PangoGlyphItem
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> text that @glyph_item corresponds to
+(glyph_item-&amp;gt;item-&amp;gt;offset is an offset from the
+start of @text)
+</parameter_description>
+</parameter>
+<parameter name="log_attrs">
+<parameter_description> logical attributes for the item (the
+first logical attribute refers to the position
+before the first character in the item)
+</parameter_description>
+</parameter>
+<parameter name="letter_spacing">
+<parameter_description> amount of letter spacing to add
+in Pango units. May be negative, though too large
+negative values will give ugly results.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_glyph_string_set_size">
+<description>
+Resize a glyph string to the given length.
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> a #PangoGlyphString.
+</parameter_description>
+</parameter>
+<parameter name="new_len">
+<parameter_description> the new length of the string.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_ot_ruleset_get_feature_count">
+<description>
+Gets the number of GSUB and GPOS features in the ruleset.
+
+
+</description>
+<parameters>
+<parameter name="ruleset">
+<parameter_description> a #PangoOTRuleset.
+</parameter_description>
+</parameter>
+<parameter name="n_gsub_features">
+<parameter_description> location to store number of GSUB features, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="n_gpos_features">
+<parameter_description> location to store number of GPOS features, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> Total number of features in the @ruleset.
+
+Since: 1.18
+</return>
+</function>
+
+<function name="pango_win32_shutdown_display">
+<description>
+Free cached resources.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_parse_markup">
+<description>
+Parses marked-up text (see
+&amp;lt;link linkend=&quot;PangoMarkupFormat&quot;&amp;gt;markup format&amp;lt;/link&amp;gt;) to create
+a plain-text string and an attribute list.
+
+If @accel_marker is nonzero, the given character will mark the
+character following it as an accelerator. For example, @accel_marker
+might be an ampersand or underscore. All characters marked
+as an accelerator will receive a %PANGO_UNDERLINE_LOW attribute,
+and the first character so marked will be returned in @accel_char.
+Two @accel_marker characters following each other produce a single
+literal @accel_marker character.
+
+If any error happens, none of the output arguments are touched except
+for @error.
+
+
+</description>
+<parameters>
+<parameter name="markup_text">
+<parameter_description> markup to parse (see &amp;lt;link linkend=&quot;PangoMarkupFormat&quot;&amp;gt;markup format&amp;lt;/link&amp;gt;)
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> length of @markup_text, or -1 if nul-terminated
+</parameter_description>
+</parameter>
+<parameter name="accel_marker">
+<parameter_description> character that precedes an accelerator, or 0 for none
+</parameter_description>
+</parameter>
+<parameter name="attr_list">
+<parameter_description> address of return location for a #PangoAttrList, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> address of return location for text with tags stripped, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="accel_char">
+<parameter_description> address of return location for accelerator char, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> address of return location for errors, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %FALSE if @error is set, otherwise %TRUE
+</return>
+</function>
+
+<function name="pango_renderer_part_changed">
+<description>
+Informs Pango that the way that the rendering is done
+for @part has changed in a way that would prevent multiple
+pieces being joined together into one drawing call. For
+instance, if a subclass of #PangoRenderer was to add a stipple
+option for drawing underlines, it needs to call
+
+&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
+pango_renderer_part_changed (render, PANGO_RENDER_PART_UNDERLINE);
+&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
+
+When the stipple changes or underlines with different stipples
+might be joined together. Pango automatically calls this for
+changes to colors. (See pango_renderer_set_color())
+
+Since: 1.8
+
+</description>
+<parameters>
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
+</parameter_description>
+</parameter>
+<parameter name="part">
+<parameter_description> the part for which rendering has changed.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_context_set_font_description">
+<description>
+Set the default font description for the context
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+<parameter name="desc">
+<parameter_description> the new pango font description
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_attr_stretch_new">
+<description>
+Create a new font stretch attribute
+
+
+</description>
+<parameters>
+<parameter name="stretch">
+<parameter_description> the stretch
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+</return>
+</function>
+
+<function name="pango_layout_iter_next_cluster">
+<description>
+Moves @iter forward to the next cluster in visual order. If @iter
+was already at the end of the layout, returns %FALSE.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether motion was possible.
+</return>
+</function>
+
+<function name="pango_get_sysconf_subdirectory">
+<description>
+On Unix, returns the name of the &quot;pango&quot; subdirectory of SYSCONFDIR
+(which is set at compile time). On Win32, returns a subdirectory of
+the Pango installation directory (which is deduced at run time from
+the DLL&apos;s location, or stored in the Registry).
+
+
+</description>
+<parameters>
+</parameters>
+<return> the Pango sysconf directory. The returned string should
+not be freed.
+</return>
+</function>
+
+<function name="pango_quantize_line_geometry">
+<description>
+Quantizes the thickness and position of a line, typically an
+underline or strikethrough, to whole device pixels, that is integer
+multiples of %PANGO_SCALE. The purpose of this function is to avoid
+such lines looking blurry.
+
+Since: 1.12
+
+</description>
+<parameters>
+<parameter name="thickness">
+<parameter_description> pointer to the thickness of a line, in Pango scaled units
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> corresponding position
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_font_face_get_face_name">
+<description>
+Gets a name representing the style of this face among the
+different faces in the #PangoFontFamily for the face. This
+name is unique among all faces in the family and is suitable
+for displaying to users.
+
+
+</description>
+<parameters>
+<parameter name="face">
+<parameter_description> a #PangoFontFace.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the face name for the face. This string is
+owned by the face object and must not be modified or freed.
+</return>
+</function>
+
+<function name="pango_x_font_cache_new">
+<description>
+Creates a font cache for the specified display.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> an X display.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The newly allocated #PangoXFontCache, which should be
+freed with pango_x_font_cache_free().
+</return>
+</function>
+
+<function name="pango_script_for_unichar">
+<description>
+Looks up the #PangoScript for a particular character (as defined by
+Unicode Standard Annex #24). No check is made for @ch being a
+valid Unicode character; if you pass in invalid character, the
+result is undefined.
+
+
+</description>
+<parameters>
+<parameter name="ch">
+<parameter_description> a Unicode character
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #PangoScript for the character.
+
+Since: 1.4
+</return>
+</function>
+
+<function name="pango_glyph_string_x_to_index">
+<description>
+Convert from x offset to character position. Character positions
+are computed by dividing up each cluster into equal portions.
+In scripts where positioning within a cluster is not allowed
+(such as Thai), the returned value may not be a valid cursor
+position; the caller must combine the result with the logical
+attributes for the text to compute the valid cursor position.
+
+</description>
+<parameters>
+<parameter name="glyphs">
+<parameter_description> the glyphs return from pango_shape()
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the text for the run
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the number of bytes (not characters) in text.
+</parameter_description>
+</parameter>
+<parameter name="analysis">
+<parameter_description> the analysis information return from pango_itemize()
+</parameter_description>
+</parameter>
+<parameter name="x_pos">
+<parameter_description> the x offset (in #PangoGlyphUnit)
+</parameter_description>
+</parameter>
+<parameter name="index_">
+<parameter_description> location to store calculated byte index within @text
+</parameter_description>
+</parameter>
+<parameter name="trailing">
+<parameter_description> location to store a integer indicating where
+whether the user clicked on the leading or trailing
+edge of the character.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_win32_render_layout">
+<description>
+Render a #PangoLayoutLine onto an X drawable
+
+</description>
+<parameters>
+<parameter name="hdc">
+<parameter_description> HDC to use for uncolored drawing
+</parameter_description>
+</parameter>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the X position of the left of the layout (in pixels)
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the Y position of the top of the layout (in pixels)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_font_description_unset_fields">
+<description>
+Unsets some of the fields in a #PangoFontDescription. The unset
+fields will get back to their default values.
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+<parameter name="to_unset">
+<parameter_description> bitmask of fields in the @desc to unset.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_set_wrap">
+<description>
+Sets the wrap mode; the wrap mode only has effect if a width
+is set on the layout with pango_layout_set_width(). To turn off wrapping,
+set the width to -1.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="wrap">
+<parameter_description> the wrap mode
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_ft2_font_map_set_resolution">
+<description>
+Sets the horizontal and vertical resolutions for the fontmap.
+
+Since: 1.2
+
+</description>
+<parameters>
+<parameter name="fontmap">
+<parameter_description> a #PangoFT2Fontmap
+</parameter_description>
+</parameter>
+<parameter name="dpi_x">
+<parameter_description> dots per inch in the X direction
+</parameter_description>
+</parameter>
+<parameter name="dpi_y">
+<parameter_description> dots per inch in the Y direction
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_pango_fc_font_map_fc_to_coverage">
+<description>
+Convert the given #FcCharSet into a new #PangoCoverage object. The
+caller is responsible for freeing the newly created object.
+
+Since: 1.6
+
+</description>
+<parameters>
+<parameter name="charset">
+<parameter_description> #FcCharSet to convert to a #PangoCoverage object.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_context_get_font_map">
+<description>
+Gets the #PangoFontmap used to look up fonts for this context.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> the font map for the #PangoContext. This value
+is owned by Pango and should not be unreferenced.
+
+Since: 1.6
+</return>
+</function>
+
+<function name="pango_fc_font_get_glyph">
+<description>
+Gets the glyph index for a given Unicode character
+for @font. If you only want to determine
+whether the font has the glyph, use pango_fc_font_has_char().
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFcFont
+</parameter_description>
+</parameter>
+<parameter name="wc">
+<parameter_description> Unicode character to look up
+</parameter_description>
+</parameter>
+</parameters>
+<return> the glyph index, or 0, if the Unicode
+character doesn&apos;t exist in the font.
+
+Since: 1.4
+</return>
+</function>
+
+<function name="pango_ft2_font_map_set_default_substitute">
+<description>
+Sets a function that will be called to do final configuration
+substitution on a #FcPattern before it is used to load
+the font. This function can be used to do things like set
+hinting and antialiasing options.
+
+Since: 1.2
+
+</description>
+<parameters>
+<parameter name="fontmap">
+<parameter_description> a #PangoFT2FontMap
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> function to call to to do final config tweaking
+on #FcPattern objects.
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to pass to @func
+</parameter_description>
+</parameter>
+<parameter name="notify">
+<parameter_description> function to call when @data is no longer used.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_cairo_context_get_font_options">
+<description>
+Retrieves any font rendering options previously set with
+pango_cairo_font_map_set_font_options(). This functions not report options
+that are derived from the target surface by pango_cairo_update_context()
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext, from pango_cairo_font_map_create_context()
+</parameter_description>
+</parameter>
+</parameters>
+<return> the font options previously set on the context, or %NULL
+if no options have been set. This value is owned by the context
+and must not be modified or freed.
+</return>
+</function>
+
+<function name="pango_fontset_simple_size">
+<description>
+Return value: the size of @fontset.
+
+</description>
+<parameters>
+<parameter name="fontset">
+<parameter_description> a #PangoFontsetSimple.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the size of @fontset.
+</return>
+</function>
+
+<function name="pango_split_file_list">
+<description>
+Splits a %G_SEARCHPATH_SEPARATOR-separated list of files, stripping
+white space and substituting ~/ with $HOME/.
+
+
+</description>
+<parameters>
+<parameter name="str">
+<parameter_description> a %G_SEARCHPATH_SEPARATOR separated list of filenames
+</parameter_description>
+</parameter>
+</parameters>
+<return> a list of strings to be freed with g_strfreev()
+</return>
+</function>
+
+<function name="pango_context_get_base_dir">
+<description>
+Retrieves the base direction for the context. See
+pango_context_set_base_dir().
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> the base direction for the context.
+</return>
+</function>
+
+<function name="pango_xft_font_has_char">
+<description>
+Determines whether @font has a glyph for the codepoint @wc.
+
+Use pango_fc_font_has_char() instead.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont for the Xft backend
+</parameter_description>
+</parameter>
+<parameter name="wc">
+<parameter_description> Unicode codepoint to look up
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @font has the requested codepoint.
+
+Since: 1.2
+</return>
+</function>
+
+<function name="pango_coverage_get">
+<description>
+Determine whether a particular index is covered by @coverage
+
+
+</description>
+<parameters>
+<parameter name="coverage">
+<parameter_description> a #PangoCoverage
+</parameter_description>
+</parameter>
+<parameter name="index_">
+<parameter_description> the index to check
+</parameter_description>
+</parameter>
+</parameters>
+<return> the coverage level of @coverage for character @index_.
+</return>
+</function>
+
+<function name="pango_script_iter_get_range">
+<description>
+Gets information about the range to which @iter currently points.
+The range is the set of locations p where *start &amp;lt;= p &amp;lt; *end.
+(That is, it doesn&apos;t include the character stored at *end)
+
+Since: 1.4
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #PangoScriptIter
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> location to store start position of the range, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> location to store end position of the range, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="script">
+<parameter_description> location to store script for range, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_ot_info_find_language">
+<description>
+Finds the index of a language and its required feature index.
+If the language is not found, sets @language_index to
+PANGO_OT_DEFAULT_LANGUAGE and the required feature of the default language
+system is returned in required_feature_index. For best compatibility with
+some fonts, also searches the language system tag &apos;dflt&apos; before falling
+back to the default language system, but that is transparent to the user.
+The user can simply ignore the return value of this function to
+automatically fall back to the default language system.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #PangoOTInfo.
+</parameter_description>
+</parameter>
+<parameter name="table_type">
+<parameter_description> the table type to obtain information about.
+</parameter_description>
+</parameter>
+<parameter name="script_index">
+<parameter_description> the index of the script whose languages are searched.
+</parameter_description>
+</parameter>
+<parameter name="language_tag">
+<parameter_description> the tag of the language to find.
+</parameter_description>
+</parameter>
+<parameter name="language_index">
+<parameter_description> location to store the index of the language, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="required_feature_index">
+<parameter_description> location to store the required feature index of
+the language, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the language was found.
+</return>
+</function>
+
+<function name="pango_cairo_show_glyph_string">
+<description>
+Draws the glyphs in @glyphs in the specified cairo context.
+The origin of the glyphs (the left edge of the baseline) will
+be drawn at the current point of the cairo context.
+
+Since: 1.10
+
+</description>
+<parameters>
+<parameter name="cr">
+<parameter_description> a Cairo context
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> a #PangoFont from a #PangoCairoFontMap
+</parameter_description>
+</parameter>
+<parameter name="glyphs">
+<parameter_description> a #PangoGlyphString
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_ft2_font_get_coverage">
+<description>
+Gets the #PangoCoverage for a #PangoFT2Font. Use pango_font_get_coverage() instead.
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFT2Font.
+</parameter_description>
+</parameter>
+<parameter name="language">
+<parameter_description> a language tag.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #PangoCoverage.
+</return>
+</function>
+
+<function name="pango_win32_font_cache_unload">
+<description>
+Frees a font structure previously loaded with pango_win32_font_cache_load().
+
+</description>
+<parameters>
+<parameter name="cache">
+<parameter_description> a #PangoWin32FontCache
+</parameter_description>
+</parameter>
+<parameter name="hfont">
+<parameter_description> the HFONT to unload
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_ot_buffer_new">
+<description>
+Creates a new #PangoOTBuffer for the given OpenType font.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFcFont
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoOTBuffer, which should
+be freed with pango_ot_buffer_destroy().
+
+Since: 1.4
+</return>
+</function>
+
+<function name="pango_layout_copy">
+<description>
+Does a deep copy-by-value of the @src layout. The attribute list,
+tab array, and text from the original layout are all copied by
+value.
+
+
+</description>
+<parameters>
+<parameter name="src">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoLayout, with a reference
+count of one, which should be freed with
+g_object_unref().
+</return>
+</function>
+
+<function name="_pango_ft2_font_map_get_renderer">
+<description>
+Gets the singleton PangoFT2Renderer for this fontmap.
+
+
+</description>
+<parameters>
+<parameter name="fontmap">
+<parameter_description> a #PangoFT2Fontmap
+</parameter_description>
+</parameter>
+</parameters>
+<return>
+</return>
+</function>
+
+<function name="pango_context_set_base_dir">
+<description>
+Sets the base direction for the context.
+
+The base direction is used in applying the Unicode bidirectional
+algorithm; if the @direction is %PANGO_DIRECTION_LTR or
+%PANGO_DIRECTION_RTL, then the value will be used as the paragraph
+direction in the Unicode bidirectional algorithm. A value of
+%PANGO_DIRECTION_WEAK_LTR or %PANGO_DIRECTION_WEAK_RTL is used only
+for paragraphs that do not contain any strong characters themselves.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+<parameter name="direction">
+<parameter_description> the new base direction
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_tab_array_new_with_positions">
+<description>
+This is a convenience function that creates a #PangoTabArray
+and allows you to specify the alignment and position of each
+tab stop. You &amp;lt;emphasis&amp;gt;must&amp;lt;/emphasis&amp;gt; provide an alignment
+and position for @size tab stops.
+
+
+</description>
+<parameters>
+<parameter name="size">
+<parameter_description> number of tab stops in the array
+</parameter_description>
+</parameter>
+<parameter name="positions_in_pixels">
+<parameter_description> whether positions are in pixel units
+</parameter_description>
+</parameter>
+<parameter name="first_alignment">
+<parameter_description> alignment of first tab stop
+</parameter_description>
+</parameter>
+<parameter name="first_position">
+<parameter_description> position of first tab stop
+</parameter_description>
+</parameter>
+<parameter name="varargs">
+<parameter_description> additional alignment/position pairs
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoTabArray, which should
+be freed with pango_tab_array_free().
+</return>
+</function>
+
+<function name="pango_ft2_render_transformed">
+<description>
+Renders a #PangoGlyphString onto a FreeType2 bitmap, possibly
+transforming the layed-out coordinates through a transformation
+matrix. Note that the transformation matrix for @font is not
+changed, so to produce correct rendering results, the @font
+must have been loaded using a #PangoContext with an identical
+transformation matrix to that passed in to this function.
+
+Since: 1.6
+
+</description>
+<parameters>
+<parameter name="bitmap">
+<parameter_description> the FreeType2 bitmap onto which to draw the string
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> the font in which to draw the string
+</parameter_description>
+</parameter>
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix, or %NULL to use an identity transformation
+</parameter_description>
+</parameter>
+<parameter name="glyphs">
+<parameter_description> the glyph string to draw
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x position of the start of the string (in Pango
+units in user space coordinates)
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y position of the baseline (in Pango units
+in user space coordinates)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_script_get_sample_language">
+<description>
+Given a script, finds a language tag that is reasonably
+representative of that script. This will usually be the
+most widely spoken or used language written in that script:
+for instance, the sample language for %PANGO_SCRIPT_CYRILLIC
+is &amp;lt;literal&amp;gt;ru&amp;lt;/literal&amp;gt; (Russian), the sample language
+for %PANGO_SCRIPT_ARABIC is &amp;lt;literal&amp;gt;ar&amp;lt;/literal&amp;gt;.
+
+For some
+scripts, no sample language will be returned because there
+is no language that is sufficiently representative. The best
+example of this is %PANGO_SCRIPT_HAN, where various different
+variants of written Chinese, Japanese, and Korean all use
+significantly different sets of Han characters and forms
+of shared characters. No sample language can be provided
+for many historical scripts as well.
+
+As of 1.18, this function checks the environment variables
+PANGO_LANGUAGE and LANGUAGE (checked in that order) first.
+If one of them is set, it is parsed as a list of language tags
+separated by colons or other separators. This function
+will return the first language in the parsed list that Pango
+believes may use @script for writing. This last predicate
+is tested using pango_language_includes_script(). This can
+be used to control Pango&apos;s font selection for non-primary
+languages. For example, a PANGO_LANGUAGE enviroment variable
+set to &quot;en:fa&quot; makes Pango choose fonts suitable for Persian (fa)
+instead of Arabic (ar) when a segment of Arabic text is found
+in an otherwise non-Arabic text. The same trick can be used to
+choose a default language for %PANGO_SCRIPT_HAN when setting
+context language is not feasible.
+
+
+</description>
+<parameters>
+<parameter name="script">
+<parameter_description> a #PangoScript
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #PangoLanguage that is representative
+of the script, or %NULL if no such language exists.
+
+Since: 1.4
+</return>
+</function>
+
+<function name="pango_win32_font_cache_loadw">
+<description>
+Creates a HFONT from a LOGFONTW. The
+result may be newly loaded, or it may have been previously
+stored
+
+
+</description>
+<parameters>
+<parameter name="cache">
+<parameter_description> a #PangoWin32FontCache
+</parameter_description>
+</parameter>
+<parameter name="logfont">
+<parameter_description> a pointer to a LOGFONTW structure describing the font to load.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The font structure, or %NULL if the font could
+not be loaded. In order to free this structure, you must call
+pango_win32_font_cache_unload().
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_cairo_font_map_get_font_type">
+<description>
+Gets the type of Cairo font backend that @fontmap uses.
+
+
+</description>
+<parameters>
+<parameter name="fontmap">
+<parameter_description> a #PangoCairoFontMap
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #cairo_font_type_t cairo font backend type
+
+Since: 1.18
+</return>
+</function>
+
+<function name="pango_fc_font_map_create_context">
+<description>
+Creates a new context for this fontmap. This function is intended
+only for backend implementations deriving from #PangoFcFontmap;
+it is possible that a backend will store additional information
+needed for correct operation on the #PangoContext after calling
+this function.
+
+
+</description>
+<parameters>
+<parameter name="fcfontmap">
+<parameter_description> a #PangoFcFontMap
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #PangoContext
+
+Since: 1.4
+</return>
+</function>
+
+<function name="pango_xft_renderer_new">
+<description>
+Create a new #PangoXftRenderer to allow rendering Pango objects
+with the Xft library. You must call pango_xft_renderer_set_draw() before
+using the renderer.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> an X display
+</parameter_description>
+</parameter>
+<parameter name="screen">
+<parameter_description> the index of the screen for @display to which rendering will be done
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly created #PangoXftRenderer, which should
+be freed with g_object_unref().
+
+Since: 1.8
+</return>
+</function>
+
+<function name="pango_tab_array_get_tabs">
+<description>
+If non-%NULL, @alignments and @locations are filled with allocated
+arrays of length pango_tab_array_get_size(). You must free the
+returned array.
+
+
+</description>
+<parameters>
+<parameter name="tab_array">
+<parameter_description> a #PangoTabArray
+</parameter_description>
+</parameter>
+<parameter name="alignments">
+<parameter_description> location to store an array of tab stop alignments, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="locations">
+<parameter_description> location to store an array of tab positions, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_glyph_string_extents_range">
+<description>
+Computes the extents of a sub-portion of a glyph string. The extents are
+relative to the start of the glyph string range (the origin of their
+coordinate system is at the start of the range, not at the start of the entire
+glyph string).
+
+</description>
+<parameters>
+<parameter name="glyphs">
+<parameter_description> a #PangoGlyphString
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> start index
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> end index (the range is the set of bytes with
+ indices such that start &amp;lt;= index &amp;lt; end)
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> a #PangoFont
+</parameter_description>
+</parameter>
+<parameter name="ink_rect">
+<parameter_description> rectangle used to store the extents of the glyph string range as drawn
+or %NULL to indicate that the result is not needed.
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> rectangle used to store the logical extents of the glyph string range
+or %NULL to indicate that the result is not needed.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_iter_free">
+<description>
+Frees an iterator that&apos;s no longer in use.
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_glyph_item_split">
+<description>
+Modifies @orig to cover only the text after @split_index, and
+Return value: the newly allocated item representing text before
+
+</description>
+<parameters>
+<parameter name="orig">
+<parameter_description> a #PangoItem
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> text to which positions in @orig apply
+</parameter_description>
+</parameter>
+<parameter name="split_index">
+<parameter_description> byte index of position to split item, relative to the start of the item
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated item representing text before
+@split_index, which should be freed
+with pango_glyph_item_free().
+
+Since: 1.2
+</return>
+</function>
+
+<function name="pango_ot_ruleset_position">
+<description>
+Performs the OpenType GPOS positioning on @buffer using the features
+in @ruleset
+
+Since: 1.4
+
+</description>
+<parameters>
+<parameter name="ruleset">
+<parameter_description> a #PangoOTRuleset.
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> a #PangoOTBuffer.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_ot_tag_to_script">
+<description>
+Finds the #PangoScript corresponding to @script_tag.
+
+The &apos;DFLT&apos; script tag is mapped to %PANGO_SCRIPT_COMMON.
+
+Note that an OpenType script tag may correspond to multiple
+#PangoScript values. In such cases, the #PangoScript value
+with the smallest value is returned.
+In particular, %PANGO_SCRIPT_HIRAGANA
+and %PANGO_SCRIPT_KATAKANA both map to the OT tag &apos;kana&apos;.
+This function will return %PANGO_SCRIPT_HIRAGANA for
+&apos;kana&apos;.
+
+
+</description>
+<parameters>
+<parameter name="script_tag">
+<parameter_description> A #PangoOTTag OpenType script tag
+</parameter_description>
+</parameter>
+</parameters>
+<return> #PangoScript corresponding to @script_tag or
+%PANGO_SCRIPT_UNKNOWN if none found.
+
+Since: 1.18
+</return>
+</function>
+
+<function name="pango_layout_iter_get_line_readonly">
+<description>
+Gets the current line for read-only access.
+
+This is a faster alternative to pango_layout_iter_get_line(),
+but the user is not expected
+to modify the contents of the line (glyphs, glyph widths, etc.).
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current line, that should not be modified.
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_font_get_metrics">
+<description>
+Gets overall metric information for a font. Since the metrics may be
+substantially different for different scripts, a language tag can
+be provided to indicate that the metrics should be retrieved that
+correspond to the script(s) used by that language.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont
+</parameter_description>
+</parameter>
+<parameter name="language">
+<parameter_description> language tag used to determine which script to get the metrics
+for, or %NULL to indicate to get the metrics for the entire
+font.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
+when finished using the object.
+</return>
+</function>
+
+<function name="pango_layout_get_line_readonly">
+<description>
+Retrieves a particular line from a #PangoLayout.
+
+This is a faster alternative to pango_layout_get_line(),
+but the user is not expected
+to modify the contents of the line (glyphs, glyph widths, etc.).
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="line">
+<parameter_description> the index of a line, which must be between 0 and
+&amp;lt;literal&amp;gt;pango_layout_get_line_count(layout) - 1&amp;lt;/literal&amp;gt;, inclusive.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the requested #PangoLayoutLine, or %NULL if the
+index is out of range. This layout line can
+be ref&apos;ed and retained, but will become invalid
+if changes are made to the #PangoLayout.
+No changes should be made to the line.
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_tab_array_set_tab">
+<description>
+Sets the alignment and location of a tab stop.
+@alignment must always be #PANGO_TAB_LEFT in the current
+implementation.
+
+
+</description>
+<parameters>
+<parameter name="tab_array">
+<parameter_description> a #PangoTabArray
+</parameter_description>
+</parameter>
+<parameter name="tab_index">
+<parameter_description> the index of a tab stop
+</parameter_description>
+</parameter>
+<parameter name="alignment">
+<parameter_description> tab alignment
+</parameter_description>
+</parameter>
+<parameter name="location">
+<parameter_description> tab location in Pango units
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_font_find_shaper">
+<description>
+Finds the best matching shaper for a font for a particular
+language tag and character point.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont
+</parameter_description>
+</parameter>
+<parameter name="language">
+<parameter_description> the language tag
+</parameter_description>
+</parameter>
+<parameter name="ch">
+<parameter_description> a Unicode character.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the best matching shaper.
+</return>
+</function>
+
+<function name="pango_fontset_foreach">
+<description>
+Iterates through all the fonts in a fontset, calling @func for
+each one. If @func returns %TRUE, that stops the iteration.
+
+Since: 1.4
+
+</description>
+<parameters>
+<parameter name="fontset">
+<parameter_description> a #PangoFontset
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> Callback function
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to pass to the callback function
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_matrix_transform_distance">
+<description>
+Transforms the distance vector (@dx,@dy) by @matrix. This is
+similar to pango_matrix_transform_point() except that the translation
+components of the transformation are ignored. The calculation of
+the returned vector is as follows:
+
+&amp;lt;programlisting&amp;gt;
+dx2 = dx1 * xx + dy1 * xy;
+dy2 = dx1 * yx + dy1 * yy;
+&amp;lt;/programlisting&amp;gt;
+
+Affine transformations are position invariant, so the same vector
+always transforms to the same vector. If (@x1,@y1) transforms
+to (@x2,@y2) then (@x1+@dx1,@y1+@dy1) will transform to
+(@x1+@dx2,@y1+@dy2) for all values of @x1 and @x2.
+
+Since: 1.16
+
+</description>
+<parameters>
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="dx">
+<parameter_description> in/out X component of a distance vector
+</parameter_description>
+</parameter>
+<parameter name="dy">
+<parameter_description> yn/out Y component of a distance vector
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_iter_get_char_extents">
+<description>
+Gets the extents of the current character, in layout coordinates
+(origin is the top left of the entire layout). Only logical extents
+can sensibly be obtained for characters; ink extents make sense only
+down to the level of clusters.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> rectangle to fill with logical extents
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_index_to_line_x">
+<description>
+Converts from byte @index_ within the @layout to line and X position.
+(X position is measured from the left edge of the line)
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="index_">
+<parameter_description> the byte index of a grapheme within the layout.
+</parameter_description>
+</parameter>
+<parameter name="trailing">
+<parameter_description> an integer indicating the edge of the grapheme to retrieve the
+position of. If 0, the trailing edge of the grapheme, if &amp;gt; 0,
+the leading of the grapheme.
+</parameter_description>
+</parameter>
+<parameter name="line">
+<parameter_description> location to store resulting line index. (which will
+between 0 and pango_layout_get_line_count(layout) - 1)
+</parameter_description>
+</parameter>
+<parameter name="x_pos">
+<parameter_description> location to store resulting position within line
+(%PANGO_SCALE units per device unit)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_iter_get_cluster_extents">
+<description>
+Gets the extents of the current cluster, in layout coordinates
+(origin is the top left of the entire layout).
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
+</parameter_description>
+</parameter>
+<parameter name="ink_rect">
+<parameter_description> rectangle to fill with ink extents, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> rectangle to fill with logical extents, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_attr_size_new_absolute">
+<description>
+Create a new font-size attribute in device units.
+
+
+</description>
+<parameters>
+<parameter name="size">
+<parameter_description> the font size, in %PANGO_SCALE&amp;lt;!-- --&amp;gt;ths of a device unit.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+
+Since: 1.8
+</return>
+</function>
+
+<function name="pango_win32_font_cache_free">
+<description>
+Frees a #PangoWin32FontCache and all associated memory. All fonts loaded
+through this font cache will be freed along with the cache.
+
+</description>
+<parameters>
+<parameter name="cache">
+<parameter_description> a #PangoWin32FontCache
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_font_description_copy">
+<description>
+Make a copy of a #PangoFontDescription.
+
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoFontDescription, which should
+be freed with pango_font_description_free().
+</return>
+</function>
+
+<function name="pango_ot_buffer_clear">
+<description>
+Empties a #PangoOTBuffer, make it ready to add glyphs to.
+
+Since: 1.4
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #PangoOTBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_cairo_show_error_underline">
+<description>
+Draw a squiggly line in the specified cairo context that approximately
+covers the given rectangle in the style of an underline used to indicate a
+spelling error. (The width of the underline is rounded to an integer
+number of up/down segments and the resulting rectangle is centered in the
+original rectangle)
+
+Since: 1.14
+
+</description>
+<parameters>
+<parameter name="cr">
+<parameter_description> a Cairo context
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> The X coordinate of one corner of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> The Y coordinate of one corner of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> Non-negative width of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> Non-negative height of the rectangle
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_get_indent">
+<description>
+Gets the paragraph indent width in Pango units. A negative value
+indicates a hanging indentation.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> the indent.
+</return>
+</function>
+
+<function name="pango_fc_decoder_get_glyph">
+<description>
+Generates a #PangoGlyph for the given Unicode point using the
+custom decoder. For complex scripts where there can be multiple
+glyphs for a single character, the decoder will return whatever
+glyph is most convenient for it. (Usually whatever glyph is directly
+in the fonts character map table.)
+
+
+</description>
+<parameters>
+<parameter name="decoder">
+<parameter_description> a #PangoFcDecoder
+</parameter_description>
+</parameter>
+<parameter name="fcfont">
+<parameter_description> a #PangoFcFont to query.
+</parameter_description>
+</parameter>
+<parameter name="wc">
+<parameter_description> the Unicode code point to convert to a single #PangoGlyph.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the glyph index, or 0 if the glyph isn&apos;t
+covered by the font.
+
+Since: 1.6
+</return>
+</function>
+
+<function name="pango_read_line">
+<description>
+Reads an entire line from a file into a buffer. Lines may
+be delimited with &apos;\n&apos;, &apos;\r&apos;, &apos;\n\r&apos;, or &apos;\r\n&apos;. The delimiter
+is not written into the buffer. Text after a &apos;#&apos; character is treated as
+a comment and skipped. &apos;\&apos; can be used to escape a # character.
+&apos;\&apos; proceeding a line delimiter combines adjacent lines. A &apos;\&apos; proceeding
+any other character is ignored and written into the output buffer
+unmodified.
+
+
+</description>
+<parameters>
+<parameter name="stream">
+<parameter_description> a stdio stream
+</parameter_description>
+</parameter>
+<parameter name="str">
+<parameter_description> #GString buffer into which to write the result
+</parameter_description>
+</parameter>
+</parameters>
+<return> 0 if the stream was already at an %EOF character, otherwise
+the number of lines read (this is useful for maintaining
+a line number counter which doesn&apos;t combine lines with &apos;\&apos;)
+</return>
+</function>
+
+<function name="pango_font_description_from_string">
+<description>
+Creates a new font description from a string representation in the
+form &quot;[FAMILY-LIST] [STYLE-OPTIONS] [SIZE]&quot;, where FAMILY-LIST is a
+comma separated list of families optionally terminated by a comma,
+STYLE_OPTIONS is a whitespace separated list of words where each WORD
+describes one of style, variant, weight, stretch, or gravity, and SIZE
+is a decimal number (size in points) or optionally followed by the
+unit modifier &quot;px&quot; for absolute size. Any one of the options may
+be absent. If FAMILY-LIST is absent, then the family_name field of
+the resulting font description will be initialized to %NULL. If
+STYLE-OPTIONS is missing, then all style options will be set to the
+default values. If SIZE is missing, the size in the resulting font
+description will be set to 0.
+
+
+</description>
+<parameters>
+<parameter name="str">
+<parameter_description> string representation of a font description.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #PangoFontDescription.
+</return>
+</function>
+
+<function name="pango_cairo_font_get_scaled_font">
+<description>
+Gets the #cairo_scaled_font_t used by @font.
+The scaled font can be referenced and kept using
+cairo_scaled_font_reference().
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont from a #PangoCairoFontMap
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #cairo_scaled_font_t used by @font
+
+Since: 1.18
+</return>
+</function>
+
+<function name="pango_renderer_draw_layout">
+<description>
+Draws @layout with the specified #PangoRenderer.
+
+Since: 1.8
+
+</description>
+<parameters>
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
+</parameter_description>
+</parameter>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> X position of left edge of baseline, in user space coordinates
+in Pango units.
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> Y position of left edge of baseline, in user space coordinates
+in Pango units.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_renderer_activate">
+<description>
+Does initial setup before rendering operations on @renderer.
+pango_renderer_deactivate() should be called when done drawing.
+Calls such as pango_renderer_draw_layout() automatically
+activate the layout before drawing on it. Calls to
+pango_renderer_activate() and pango_renderer_deactivate() can
+be nested and the renderer will only be initialized and
+deinitialized once.
+
+Since: 1.8
+
+</description>
+<parameters>
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_index_to_pos">
+<description>
+Converts from an index within a #PangoLayout to the onscreen position
+corresponding to the grapheme at that index, which is represented
+as rectangle. Note that &amp;lt;literal&amp;gt;pos-&amp;gt;x&amp;lt;/literal&amp;gt; is always the leading
+edge of the grapheme and &amp;lt;literal&amp;gt;pos-&amp;gt;x + pos-&amp;gt;width&amp;lt;/literal&amp;gt; the trailing
+edge of the grapheme. If the directionality of the grapheme is right-to-left,
+then &amp;lt;literal&amp;gt;pos-&amp;gt;width&amp;lt;/literal&amp;gt; will be negative.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="index_">
+<parameter_description> byte index within @layout
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> rectangle in which to store the position of the grapheme
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_win32_font_map_get_font_cache">
+<description>
+Obtains the font cache associated with the given font map.
+
+
+</description>
+<parameters>
+<parameter name="font_map">
+<parameter_description> a #PangoWin32FontMap.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #PangoWin32FontCache of @font_map.
+</return>
+</function>
+
+<function name="pango_version">
+<description>
+This is similar to the macro %PANGO_VERSION except that
+it returns the encoded version of Pango available at run-time,
+as opposed to the version available at compile-time.
+
+A version number can be encoded into an integer using
+PANGO_VERSION_ENCODE().
+
+
+</description>
+<parameters>
+</parameters>
+<return>value: The encoded version of Pango library
+available at run time.
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_font_map_load_fontset">
+<description>
+Load a set of fonts in the fontmap that can be used to render
+a font matching @desc.
+
+
+</description>
+<parameters>
+<parameter name="fontmap">
+<parameter_description> a #PangoFontMap
+</parameter_description>
+</parameter>
+<parameter name="context">
+<parameter_description> the #PangoContext the font will be used with
+</parameter_description>
+</parameter>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription describing the font to load
+</parameter_description>
+</parameter>
+<parameter name="language">
+<parameter_description> a #PangoLanguage the fonts will be used for
+</parameter_description>
+</parameter>
+</parameters>
+<return>the fontset, or %NULL if no font matched.
+</return>
+</function>
+
+<function name="pango_tab_array_get_size">
+<description>
+Gets the number of tab stops in @tab_array.
+
+
+</description>
+<parameters>
+<parameter name="tab_array">
+<parameter_description> a #PangoTabArray
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of tab stops in the array.
+</return>
+</function>
+
+<function name="pango_tab_array_get_positions_in_pixels">
+<description>
+Return value: whether positions are in pixels.
+
+</description>
+<parameters>
+<parameter name="tab_array">
+<parameter_description> a #PangoTabArray
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether positions are in pixels.
+</return>
+</function>
+
+<function name="pango_cairo_create_layout">
+<description>
+Creates a layout object set up to match the current transformation
+and target surface of the Cairo context. This layout can then be
+used for text measurement with functions like
+pango_layout_get_size() or drawing with functions like
+pango_cairo_show_layout(). If you change the transformation
+or target surface for @cr, you need to call pango_cairo_update_layout()
+
+This function is the most convenient way to use Cairo with Pango,
+however it is slightly inefficient since it creates a separate
+#PangoContext object for each layout. This might matter in an
+application that was laying out large amounts of text.
+
+
+</description>
+<parameters>
+<parameter name="cr">
+<parameter_description> a Cairo context
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly created #PangoLayout. Free with
+g_object_unref().
+
+Since: 1.10
+</return>
+</function>
+
+<function name="pango_cairo_font_map_get_resolution">
+<description>
+Gets the resolution for the fontmap. See pango_cairo_font_map_set_resolution()
+
+
+</description>
+<parameters>
+<parameter name="fontmap">
+<parameter_description> a #PangoCairoFontMap
+</parameter_description>
+</parameter>
+</parameters>
+<return> the resolution in &quot;dots per inch&quot;
+
+Since: 1.10
+</return>
+</function>
+
+<function name="pango_xft_render">
+<description>
+Renders a #PangoGlyphString onto an &amp;lt;type&amp;gt;XftDraw&amp;lt;/type&amp;gt; object wrapping an X drawable.
+
+</description>
+<parameters>
+<parameter name="draw">
+<parameter_description> the &amp;lt;type&amp;gt;XftDraw&amp;lt;/type&amp;gt; object.
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> the color in which to draw the string
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> the font in which to draw the string
+</parameter_description>
+</parameter>
+<parameter name="glyphs">
+<parameter_description> the glyph string to draw
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x position of start of string (in pixels)
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y position of baseline (in pixels)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_coverage_ref">
+<description>
+Increase the reference count on the #PangoCoverage by one
+
+
+</description>
+<parameters>
+<parameter name="coverage">
+<parameter_description> a #PangoCoverage
+</parameter_description>
+</parameter>
+</parameters>
+<return> @coverage
+</return>
+</function>
+
+<function name="pango_xft_font_get_glyph">
+<description>
+Gets the glyph index for a given Unicode character
+for @font. If you only want to determine
+whether the font has the glyph, use pango_xft_font_has_char().
+
+Use pango_fc_font_get_glyph() instead.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont for the Xft backend
+</parameter_description>
+</parameter>
+<parameter name="wc">
+<parameter_description> Unicode codepoint to look up
+</parameter_description>
+</parameter>
+</parameters>
+<return> the glyph index, or 0, if the Unicode
+character does not exist in the font.
+
+Since: 1.2
+</return>
+</function>
+
+<function name="pango_attr_gravity_hint_new">
+<description>
+Create a new gravity hint attribute.
+
+
+</description>
+<parameters>
+<parameter name="hint">
+<parameter_description> the gravity hint value.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_attr_iterator_next">
+<description>
+Advance the iterator until the next change of style.
+
+
+</description>
+<parameters>
+<parameter name="iterator">
+<parameter_description> a #PangoAttrIterator
+</parameter_description>
+</parameter>
+</parameters>
+<return> %FALSE if the iterator is at the end of the list, otherwise %TRUE
+</return>
+</function>
+
+<function name="pango_color_copy">
+<description>
+Creates a copy of @src, which should be freed with
+pango_color_free(). Primarily used by language bindings,
+not that useful otherwise (since colors can just be copied
+by assignment in C).
+
+
+</description>
+<parameters>
+<parameter name="src">
+<parameter_description> color to copy
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoColor, which should
+be freed with pango_color_free().
+</return>
+</function>
+
+<function name="pango_attribute_copy">
+<description>
+Make a copy of an attribute.
+
+
+</description>
+<parameters>
+<parameter name="attr">
+<parameter_description> a #PangoAttribute
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+</return>
+</function>
+
+<function name="pango_win32_font_select_font">
+<description>
+Selects the font into the specified DC and changes the mapping mode
+and world transformation of the DC appropriately for the font.
+You may want to surround the use of this function with calls
+to SaveDC() and RestoreDC(). Call pango_win32_font_done_font() when
+you are done using the DC to release allocated resources.
+
+See pango_win32_font_get_metrics_factor() for information about
+converting from the coordinate space used by this function
+into Pango units.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont from the Win32 backend
+</parameter_description>
+</parameter>
+<parameter name="hdc">
+<parameter_description> a windows device context
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the operation succeeded.
+</return>
+</function>
+
+<function name="pango_fontset_get_font">
+<description>
+Return value: a #PangoFont. The caller must call g_object_unref when finished
+
+</description>
+<parameters>
+<parameter name="fontset">
+<parameter_description> a #PangoFontset
+</parameter_description>
+</parameter>
+<parameter name="wc">
+<parameter_description> a Unicode character
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #PangoFont. The caller must call g_object_unref when finished
+with the font.
+</return>
+</function>
+
+<function name="pango_context_get_gravity_hint">
+<description>
+Retrieves the gravity hint for the context. See
+pango_context_set_gravity_hint() for details.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> the gravity hint for the context.
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_ot_ruleset_new_for">
+<description>
+Creates a new #PangoOTRuleset for the given OpenType info, script, and
+language.
+
+This function is part of a convenience scheme that highly simplifies
+using a #PangoOTRuleset to represent features for a specific pair of script
+and language. So one can use this function passing in the script and
+language of interest, and later try to add features to the ruleset by just
+specifying the feature name or tag, without having to deal with finding
+script, language, or feature indices manually.
+
+In excess to what pango_ot_ruleset_new() does, this function will:
+&amp;lt;itemizedlist&amp;gt;
+&amp;lt;listitem&amp;gt;
+Find the #PangoOTTag script and language tags associated with
+@script and @language using pango_ot_tag_from_script() and
+pango_ot_tag_from_language(),
+&amp;lt;/listitem&amp;gt;
+&amp;lt;listitem&amp;gt;
+For each of table types %PANGO_OT_TABLE_GSUB and %PANGO_OT_TABLE_GPOS,
+find the script index of the script tag found and the language
+system index of the language tag found in that script system, using
+pango_ot_info_find_script() and pango_ot_info_find_language(),
+&amp;lt;/listitem&amp;gt;
+&amp;lt;listitem&amp;gt;
+For found language-systems, if they have required feature
+index, add that feature to the ruleset using
+pango_ot_ruleset_add_feature(),
+&amp;lt;/listitem&amp;gt;
+&amp;lt;listitem&amp;gt;
+Remember found script and language indices for both table types,
+and use them in future pango_ot_ruleset_maybe_add_feature() and
+pango_ot_ruleset_maybe_add_features().
+&amp;lt;/listitem&amp;gt;
+&amp;lt;/itemizedlist&amp;gt;
+
+Because of the way return values of pango_ot_info_find_script() and
+pango_ot_info_find_language() are ignored, this function automatically
+finds and uses the &apos;DFLT&apos; script and the default language-system.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #PangoOTInfo.
+</parameter_description>
+</parameter>
+<parameter name="script">
+<parameter_description> a #PangoScript.
+</parameter_description>
+</parameter>
+<parameter name="language">
+<parameter_description> a #PangoLanguage.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoOTRuleset, which
+should be freed with g_object_unref().
+
+Since: 1.18
+</return>
+</function>
+
+<function name="pango_fc_font_map_add_decoder_find_func">
+<description>
+This function saves a callback method in the #PangoFcFontMap that
+will be called whenever new fonts are created. If the
+function returns a #PangoFcDecoder, that decoder will be used to
+determine both coverage via a #FcCharSet and a one-to-one mapping of
+characters to glyphs. This will allow applications to have
+application-specific encodings for various fonts.
+
+Since: 1.6.
+
+</description>
+<parameters>
+<parameter name="fcfontmap">
+<parameter_description> The #PangoFcFontMap to add this method to.
+</parameter_description>
+</parameter>
+<parameter name="findfunc">
+<parameter_description> The #PangoFcDecoderFindFunc callback function
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> User data.
+</parameter_description>
+</parameter>
+<parameter name="dnotify">
+<parameter_description> A #GDestroyNotify callback that will be called when the
+fontmap is finalized and the decoder is released.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_font_description_equal">
+<description>
+Compares two font descriptions for equality. Two font descriptions
+are considered equal if the fonts they describe are provably identical.
+This means that their masks do not have to match, as long as other fields
+are all the same. (Two font descriptions may result in identical fonts
+being loaded, but still compare %FALSE.)
+
+
+</description>
+<parameters>
+<parameter name="desc1">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+<parameter name="desc2">
+<parameter_description> another #PangoFontDescription
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the two font descriptions are identical,
+%FALSE otherwise.
+</return>
+</function>
+
+<function name="pango_attr_family_new">
+<description>
+Create a new font family attribute.
+
+
+</description>
+<parameters>
+<parameter name="family">
+<parameter_description> the family or comma separated list of families
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+</return>
+</function>
+
+<function name="pango_cairo_font_map_new_for_font_type">
+<description>
+Creates a new #PangoCairoFontMap object of the type suitable
+to be used with cairo font backend of type @fonttype.
+
+In most cases one should simply use @pango_cairo_font_map_new(),
+or in fact in most of those cases, just use
+@pango_cairo_font_map_get_default().
+
+
+</description>
+<parameters>
+<parameter name="fonttype">
+<parameter_description> desired #cairo_font_type_t
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoFontMap of suitable type
+which should be freed with g_object_unref(),
+or %NULL if the requested cairo font backend is
+not supported.
+
+Since: 1.18
+</return>
+</function>
+
+<function name="pango_ot_ruleset_add_feature">
+<description>
+Adds a feature to the ruleset.
+
+</description>
+<parameters>
+<parameter name="ruleset">
+<parameter_description> a #PangoOTRuleset.
+</parameter_description>
+</parameter>
+<parameter name="table_type">
+<parameter_description> the table type to add a feature to.
+</parameter_description>
+</parameter>
+<parameter name="feature_index">
+<parameter_description> the index of the feature to add.
+</parameter_description>
+</parameter>
+<parameter name="property_bit">
+<parameter_description> the property bit to use for this feature. Used to identify
+the glyphs that this feature should be applied to, or
+%PANGO_OT_ALL_GLYPHS if it should be applied to all glyphs.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_context_set_matrix">
+<description>
+Sets the transformation matrix that will be applied when rendering
+with this context. Note that reported metrics are in the user space
+coordinates before the application of the matrix, not device-space
+coordinates after the application of the matrix. So, they don&apos;t scale
+with the matrix, though they may change slightly for different
+matrices, depending on how the text is fit to the pixel grid.
+
+Since: 1.6
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix, or %NULL to unset any existing matrix.
+(No matrix set is the same as setting the identity matrix.)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_x_apply_ligatures">
+<description>
+Previously did subfont-specific ligation. Now a no-op.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> unused
+</parameter_description>
+</parameter>
+<parameter name="subfont">
+<parameter_description> unused
+</parameter_description>
+</parameter>
+<parameter name="glyphs">
+<parameter_description> unused
+</parameter_description>
+</parameter>
+<parameter name="n_glyphs">
+<parameter_description> unused
+</parameter_description>
+</parameter>
+<parameter name="clusters">
+<parameter_description> unused
+</parameter_description>
+</parameter>
+</parameters>
+<return> %FALSE, always.
+</return>
+</function>
+
+<function name="pango_coverage_new">
+<description>
+Create a new #PangoCoverage
+
+
+</description>
+<parameters>
+</parameters>
+<return> the newly allocated #PangoCoverage,
+initialized to %PANGO_COVERAGE_NONE
+with a reference count of one, which
+should be freed with pango_coverage_unref().
+</return>
+</function>
+
+<function name="pango_attr_iterator_get_font">
+<description>
+Get the font and other attributes at the current iterator position.
+
+</description>
+<parameters>
+<parameter name="iterator">
+<parameter_description> a #PangoAttrIterator
+</parameter_description>
+</parameter>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription to fill in with the current values.
+The family name in this structure will be set using
+pango_font_description_set_family_static() using values from
+an attribute in the #PangoAttrList associated with the iterator,
+so if you plan to keep it around, you must call:
+&amp;lt;literal&amp;gt;pango_font_description_set_family (desc, pango_font_description_get_family (desc))&amp;lt;/literal&amp;gt;.
+</parameter_description>
+</parameter>
+<parameter name="language">
+<parameter_description> if non-%NULL, location to store language tag for item, or %NULL
+if none is found.
+</parameter_description>
+</parameter>
+<parameter name="extra_attrs">
+<parameter_description> if non-%NULL, location in which to store a list of non-font
+attributes at the the current position; only the highest priority
+value of each attribute will be added to this list. In order
+to free this value, you must call pango_attribute_destroy() on
+each member.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_color_to_string">
+<description>
+Return value: a newly-allocated text string that must be freed with g_free().
+
+</description>
+<parameters>
+<parameter name="color">
+<parameter_description> a #PangoColor
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated text string that must be freed with g_free().
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_attr_list_new">
+<description>
+Create a new empty attribute list with a reference count of one.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the newly allocated #PangoAttrList, which should
+be freed with pango_attr_list_unref().
+</return>
+</function>
+
+<function name="pango_unichar_direction">
+<description>
+Determines the direction of a character; either
+%PANGO_DIRECTION_LTR, %PANGO_DIRECTION_RTL, or
+%PANGO_DIRECTION_NEUTRAL.
+
+
+</description>
+<parameters>
+<parameter name="ch">
+<parameter_description> a Unicode character
+</parameter_description>
+</parameter>
+</parameters>
+<return> the direction of the character, as used in the
+Unicode bidirectional algorithm.
+</return>
+</function>
+
+<function name="pango_cairo_font_map_get_default">
+<description>
+Gets a default font map to use with Cairo.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the default Cairo fontmap for #Pango. This
+object is owned by Pango and must not be freed.
+
+Since: 1.10
+</return>
+</function>
+
+<function name="pango_attr_list_insert_before">
+<description>
+Insert the given attribute into the #PangoAttrList. It will
+be inserted before all other attributes with a matching
+@start_index.
+
+</description>
+<parameters>
+<parameter name="list">
+<parameter_description> a #PangoAttrList
+</parameter_description>
+</parameter>
+<parameter name="attr">
+<parameter_description> the attribute to insert. Ownership of this value is
+assumed by the list.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_renderer_deactivate">
+<description>
+Cleans up after rendering operations on @renderer. See
+docs for pango_renderer_activate().
+
+Since: 1.8
+
+</description>
+<parameters>
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_parse_stretch">
+<description>
+Parses a font stretch. The allowed values are
+&quot;ultra_condensed&quot;, &quot;extra_condensed&quot;, &quot;condensed&quot;,
+&quot;semi_condensed&quot;, &quot;normal&quot;, &quot;semi_expanded&quot;, &quot;expanded&quot;,
+&quot;extra_expanded&quot; and &quot;ultra_expanded&quot;. Case variations are
+ignored and the &apos;_&apos; characters may be omitted.
+
+
+</description>
+<parameters>
+<parameter name="str">
+<parameter_description> a string to parse.
+</parameter_description>
+</parameter>
+<parameter name="stretch">
+<parameter_description> a #PangoStretch to store the result in.
+</parameter_description>
+</parameter>
+<parameter name="warn">
+<parameter_description> if %TRUE, issue a g_warning() on bad input.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @str was successfully parsed.
+</return>
+</function>
+
+<function name="pango_layout_get_width">
+<description>
+Gets the width to which the lines of the #PangoLayout should wrap.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> the width, or -1 if no width set.
+</return>
+</function>
+
+<function name="pango_language_from_string">
+<description>
+Take a RFC-3066 format language tag as a string and convert it to a
+#PangoLanguage pointer that can be efficiently copied (copy the
+pointer) and compared with other language tags (compare the
+pointer.)
+
+This function first canonicalizes the string by converting it to
+lowercase, mapping &apos;_&apos; to &apos;-&apos;, and stripping all characters other
+than letters and &apos;-&apos;.
+
+Use pango_language_get_default() if you want to get the #PangoLanguage for
+the current locale of the process.
+
+
+</description>
+<parameters>
+<parameter name="language">
+<parameter_description> a string representing a language tag
+</parameter_description>
+</parameter>
+</parameters>
+<return> an opaque pointer to a #PangoLanguage structure.
+this will be valid forever after.
+</return>
+</function>
+
+<function name="pango_map_get_engines">
+<description>
+Finds engines in the map that handle the given script. The returned
+lists should be freed with g_slist_free, but the engines in the
+lists are owned by GLib and will be kept around permanently, so
+they should not be unref&apos;ed.
+
+Since: 1.4
+
+</description>
+<parameters>
+<parameter name="map">
+<parameter_description> a #PangoMap
+</parameter_description>
+</parameter>
+<parameter name="script">
+<parameter_description> a #PangoScript
+</parameter_description>
+</parameter>
+<parameter name="exact_engines">
+<parameter_description> location to store list of engines that exactly
+handle this script.
+</parameter_description>
+</parameter>
+<parameter name="fallback_engines">
+<parameter_description> location to store list of engines that approximately
+handle this script.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_font_metrics_get_approximate_char_width">
+<description>
+Gets the approximate character width for a font metrics structure.
+This is merely a representative value useful, for example, for
+determining the initial size for a window. Actual characters in
+text will be wider and narrower than this.
+
+
+</description>
+<parameters>
+<parameter name="metrics">
+<parameter_description> a #PangoFontMetrics structure
+</parameter_description>
+</parameter>
+</parameters>
+<return> the character width, in Pango units. (1 point == %PANGO_SCALE Pango units.)
+</return>
+</function>
+
+<function name="pango_font_description_set_family">
+<description>
+Sets the family name field of a font description. The family
+name represents a family of related font styles, and will
+resolve to a particular #PangoFontFamily. In some uses of
+#PangoFontDescription, it is also possible to use a comma
+separated list of family names for this field.
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription.
+</parameter_description>
+</parameter>
+<parameter name="family">
+<parameter_description> a string representing the family name.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_fc_font_description_from_pattern">
+<description>
+Creates a #PangoFontDescription that matches the specified
+Fontconfig pattern as closely as possible. Many possible Fontconfig
+pattern values, such as %FC_RASTERIZER or %FC_DPI, don&apos;t make sense in
+the context of #PangoFontDescription, so will be ignored.
+
+
+</description>
+<parameters>
+<parameter name="pattern">
+<parameter_description> a #FcPattern
+</parameter_description>
+</parameter>
+<parameter name="include_size">
+<parameter_description> if %TRUE, the pattern will include the size from
+the @pattern; otherwise the resulting pattern will be unsized.
+(only %FC_SIZE is examined, not %FC_PIXEL_SIZE)
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #PangoFontDescription. Free with
+pango_font_description_free().
+
+Since: 1.4
+</return>
+</function>
+
+<function name="_pango_get_lc_ctype">
+<description>
+Return the Unix-style locale string for the language currently in
+effect. On Unix systems, this is the return value from
+&amp;lt;literal&amp;gt;setlocale(LC_CTYPE, NULL)&amp;lt;/literal&amp;gt;, and the user can
+affect this through the environment variables LC_ALL, LC_CTYPE or
+LANG (checked in that order). The locale strings typically is in
+the form lang_COUNTRY, where lang is an ISO-639 language code, and
+COUNTRY is an ISO-3166 country code. For instance, sv_FI for
+Swedish as written in Finland or pt_BR for Portuguese as written in
+Brazil.
+
+On Windows, the C library doesn&apos;t use any such environment
+variables, and setting them won&apos;t affect the behavior of functions
+like ctime(). The user sets the locale through the Regional Options
+in the Control Panel. The C library (in the setlocale() function)
+does not use country and language codes, but country and language
+names spelled out in English.
+However, this function does check the above environment
+variables, and does return a Unix-style locale string based on
+either said environment variables or the thread&apos;s current locale.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a dynamically allocated string, free with g_free().
+</return>
+</function>
+
+<function name="pango_xft_substitute_changed">
+<description>
+Call this function any time the results of the
+default substitution function set with
+pango_xft_set_default_substitute() change.
+That is, if your substitution function will return different
+results for the same input pattern, you must call this function.
+
+Since: 1.2
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> an X Display
+</parameter_description>
+</parameter>
+<parameter name="screen">
+<parameter_description> the screen number of a screen within @display
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_lookup_aliases">
+<description>
+Look up all user defined aliases for the alias @fontname.
+The resulting font family names will be stored in @families,
+and the number of families in @n_families.
+
+</description>
+<parameters>
+<parameter name="fontname">
+<parameter_description> an ascii string
+</parameter_description>
+</parameter>
+<parameter name="families">
+<parameter_description> will be set to an array of font family names.
+this array is owned by pango and should not be freed.
+</parameter_description>
+</parameter>
+<parameter name="n_families">
+<parameter_description> will be set to the length of the @families array.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_font_descriptions_free">
+<description>
+Frees a list of font descriptions from pango_font_map_list_fonts()
+
+</description>
+<parameters>
+<parameter name="descs">
+<parameter_description> a pointer to an array of #PangoFontDescription, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="n_descs">
+<parameter_description> number of font descriptions in @descs
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_reorder_items">
+<description>
+From a list of items in logical order and the associated
+directional levels, produce a list in visual order.
+The original list is unmodified.
+
+
+</description>
+<parameters>
+<parameter name="logical_items">
+<parameter_description> a #GList of #PangoItem in logical order.
+</parameter_description>
+</parameter>
+</parameters>
+<return>a #GList of #PangoItem structures in visual order.
+
+(Please open a bug if you use this function.
+It is not a particularly convenient interface, and the code
+is duplicated elsewhere in Pango for that reason.)
+</return>
+</function>
+
+<function name="pango_win32_get_debug_flag">
+<description>
+Return value: %TRUE if debugging is turned on.
+
+</description>
+<parameters>
+</parameters>
+<return> %TRUE if debugging is turned on.
+
+Since: 1.2
+</return>
+</function>
+
+<function name="pango_ot_ruleset_get_for_description">
+<description>
+Return value: the #PangoOTRuleset for @desc. This object will have
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #PangoOTInfo.
+</parameter_description>
+</parameter>
+<parameter name="desc">
+<parameter_description> a #PangoOTRulesetDescription.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #PangoOTRuleset for @desc. This object will have
+the same lifetime as @info.
+
+Since: 1.18
+</return>
+</function>
+
+<function name="pango_glyph_string_index_to_x">
+<description>
+Converts from character position to x position. (X position
+is measured from the left edge of the run). Character positions
+are computed by dividing up each cluster into equal portions.
+
+</description>
+<parameters>
+<parameter name="glyphs">
+<parameter_description> the glyphs return from pango_shape()
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the text for the run
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the number of bytes (not characters) in @text.
+</parameter_description>
+</parameter>
+<parameter name="analysis">
+<parameter_description> the analysis information return from pango_itemize()
+</parameter_description>
+</parameter>
+<parameter name="index_">
+<parameter_description> the byte index within @text
+</parameter_description>
+</parameter>
+<parameter name="trailing">
+<parameter_description> whether we should compute the result for the beginning
+or end of the character.
+</parameter_description>
+</parameter>
+<parameter name="x_pos">
+<parameter_description> location to store result
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_matrix_transform_rectangle">
+<description>
+First transforms @rect using @matrix, then calculates the bounding box
+of the transformed rectangle. The rectangle should be in Pango units.
+
+This function is useful for example when you want to draw a rotated
+@PangoLayout to an image buffer, and want to know how large the image
+should be and how much you should shift the layout when rendering.
+
+If you have a rectangle in device units (pixels), use
+pango_matrix_transform_pixel_rectangle().
+
+If you have the rectangle in Pango units and want to convert to
+transformed pixel bounding box, it is more accurate to transform it first
+(using this function) and pass the result to pango_extents_to_pixels(),
+as @ink_rect. However, there is a reason that you may want to convert
+to pixels first and then transform, and that is when the transformed
+coordinates may overflow in Pango units (large matrix translation for
+example).
+
+Since: 1.16
+
+</description>
+<parameters>
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="rect">
+<parameter_description> in/out bounding box in Pango units, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_attr_list_ref">
+<description>
+Increase the reference count of the given attribute list by one.
+
+
+</description>
+<parameters>
+<parameter name="list">
+<parameter_description> a #PangoAttrList
+</parameter_description>
+</parameter>
+</parameters>
+<return> The attribute list passed in
+
+Since: 1.10
+</return>
+</function>
+
+<function name="pango_attr_list_insert">
+<description>
+Insert the given attribute into the #PangoAttrList. It will
+be inserted after all other attributes with a matching
+@start_index.
+
+</description>
+<parameters>
+<parameter name="list">
+<parameter_description> a #PangoAttrList
+</parameter_description>
+</parameter>
+<parameter name="attr">
+<parameter_description> the attribute to insert. Ownership of this value is
+assumed by the list.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_win32_font_description_from_logfont">
+<description>
+Creates a #PangoFontDescription that matches the specified LOGFONTA.
+
+The face name, italicness and weight fields in the LOGFONTA are used
+to set up the resulting #PangoFontDescription. If the face name in
+the LOGFONTA contains non-ASCII characters the font is temporarily
+loaded (using CreateFontIndirect()) and an ASCII (usually English)
+name for it is looked up from the font name tables in the font
+data. If that doesn&apos;t work, the face name is converted from the
+system codepage to UTF-8 and that is used.
+
+
+</description>
+<parameters>
+<parameter name="lfp">
+<parameter_description> a LOGFONTA
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoFontDescription, which
+should be freed using pango_font_description_free()
+
+Since: 1.12
+</return>
+</function>
+
+<function name="pango_ft2_get_context">
+<description>
+Retrieves a #PangoContext for the default PangoFT2 fontmap
+(see pango_ft2_fontmap_get_for_display()) and sets the resolution
+for the default fontmap to @dpi_x by @dpi_y.
+
+Use of this function is deprecated; see pango_ft2_fontmap_create_context()
+instead.
+
+
+</description>
+<parameters>
+<parameter name="dpi_x">
+<parameter_description> the horizontal DPI of the target device
+</parameter_description>
+</parameter>
+<parameter name="dpi_y">
+<parameter_description> the vertical DPI of the target device
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #PangoContext
+</return>
+</function>
+
+<function name="pango_win32_font_get_metrics_factor">
+<description>
+Return value: factor to multiply logical units by to get Pango
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont from the win32 backend
+</parameter_description>
+</parameter>
+</parameters>
+<return> factor to multiply logical units by to get Pango
+units.
+</return>
+</function>
+
+<function name="pango_xft_font_lock_face">
+<description>
+Gets the FreeType &amp;lt;type&amp;gt;FT_Face&amp;lt;/type&amp;gt; associated with a font,
+This face will be kept around until you call
+pango_xft_font_unlock_face().
+
+Use pango_fc_font_lock_face() instead.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the FreeType &amp;lt;type&amp;gt;FT_Face&amp;lt;/type&amp;gt; associated with @font.
+
+Since: 1.2
+</return>
+</function>
+
+<function name="pango_x_load_font">
+<description>
+Loads up a logical font based on a &quot;fontset&quot; style text
+specification. This is not remotely useful (Pango API&apos;s generally
+work in terms of #PangoFontDescription) and the result may not
+work correctly in all circumstances. Use of this function should
+be avoided.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> the X display.
+</parameter_description>
+</parameter>
+<parameter name="spec">
+<parameter_description> a comma-separated list of XLFD&apos;s.
+</parameter_description>
+</parameter>
+</parameters>
+<return>a new #PangoFont.
+</return>
+</function>
+
+<function name="pango_coverage_copy">
+<description>
+Copy an existing #PangoCoverage. (This function may now be unnecessary
+since we refcount the structure. File a bug if you use it.)
+
+
+</description>
+<parameters>
+<parameter name="coverage">
+<parameter_description> a #PangoCoverage
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoCoverage,
+with a reference count of one, which
+should be freed with pango_coverage_unref().
+</return>
+</function>
+
+<function name="_pango_fc_font_set_decoder">
+<description>
+This sets a custom decoder for this font. Any previous decoder
+will be released before this one is set.
+
+Since: 1.6
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFcFont
+</parameter_description>
+</parameter>
+<parameter name="decoder">
+<parameter_description> a #PangoFcDecoder to set for this font
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_ot_ruleset_substitute">
+<description>
+Performs the OpenType GSUB substitution on @buffer using the features
+in @ruleset
+
+Since: 1.4
+
+</description>
+<parameters>
+<parameter name="ruleset">
+<parameter_description> a #PangoOTRuleset.
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> a #PangoOTBuffer.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_x_list_subfonts">
+<description>
+Lists the subfonts of a given font. The result is ordered first by charset,
+and then within each charset, by the order of fonts in the font specification.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont.
+</parameter_description>
+</parameter>
+<parameter name="charsets">
+<parameter_description> the charsets to list subfonts for.
+</parameter_description>
+</parameter>
+<parameter name="n_charsets">
+<parameter_description> the number of charsets in @charsets.
+</parameter_description>
+</parameter>
+<parameter name="subfont_ids">
+<parameter_description> location to store a pointer to an array of subfont IDs for each found subfont;
+the result must be freed using g_free().
+</parameter_description>
+</parameter>
+<parameter name="subfont_charsets">
+<parameter_description> location to store a pointer to an array of subfont IDs for each found subfont;
+the result must be freed using g_free().
+</parameter_description>
+</parameter>
+</parameters>
+<return> length of the arrays stored in @subfont_ids and
+@subfont_charsets.
+</return>
+</function>
+
+<function name="pango_attr_list_copy">
+<description>
+Copy @list and return an identical new list.
+
+
+</description>
+<parameters>
+<parameter name="list">
+<parameter_description> a #PangoAttrList
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttrList, with a
+reference count of one, which should
+be freed with pango_attr_list_unref().
+</return>
+</function>
+
+<function name="pango_context_list_families">
+<description>
+List all families for a context.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+<parameter name="families">
+<parameter_description> location to store a pointer to an array of #PangoFontFamily *.
+This array should be freed with g_free().
+</parameter_description>
+</parameter>
+<parameter name="n_families">
+<parameter_description> location to store the number of elements in @descs
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_ot_buffer_destroy">
+<description>
+Destroys a #PangoOTBuffer and free all associated memory.
+
+Since: 1.4
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #PangoOTBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_matrix_concat">
+<description>
+Changes the transformation represented by @matrix to be the
+transformation given by first applying transformation
+given by @new_matrix then applying the original transformation.
+
+Since: 1.6
+
+</description>
+<parameters>
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix
+</parameter_description>
+</parameter>
+<parameter name="new_matrix">
+<parameter_description> a #PangoMatrix
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_fc_font_kern_glyphs">
+<description>
+Adjust each adjacent pair of glyphs in @glyphs according to
+kerning information in @font.
+
+Since: 1.4
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFcFont
+</parameter_description>
+</parameter>
+<parameter name="glyphs">
+<parameter_description> a #PangoGlyphString
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_line_get_extents">
+<description>
+Computes the logical and ink extents of a layout line. See
+pango_font_get_glyph_extents() for details about the interpretation
+of the rectangles.
+
+</description>
+<parameters>
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine
+</parameter_description>
+</parameter>
+<parameter name="ink_rect">
+<parameter_description> rectangle used to store the extents of the glyph string
+as drawn, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> rectangle used to store the logical extents of the glyph
+string, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_x_font_get_unknown_glyph">
+<description>
+Return value: a glyph index into @font.
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont.
+</parameter_description>
+</parameter>
+<parameter name="wc">
+<parameter_description> the Unicode character for which a glyph is needed.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a glyph index into @font.
+</return>
+</function>
+
+<function name="pango_ot_buffer_add_glyph">
+<description>
+Appends a glyph to a #PangoOTBuffer, with @properties identifying which
+features should be applied on this glyph. See pango_ruleset_add_feature().
+
+Since: 1.4
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #PangoOTBuffer
+</parameter_description>
+</parameter>
+<parameter name="glyph">
+<parameter_description> the glyph index to add, like a #PangoGlyph
+</parameter_description>
+</parameter>
+<parameter name="properties">
+<parameter_description> the glyph properties
+</parameter_description>
+</parameter>
+<parameter name="cluster">
+<parameter_description> the cluster that this glyph belongs to
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_fc_font_unlock_face">
+<description>
+Releases a font previously obtained with
+pango_fc_font_lock_face().
+
+Since: 1.4
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFcFont.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_tab_array_get_tab">
+<description>
+Gets the alignment and position of a tab stop.
+
+
+</description>
+<parameters>
+<parameter name="tab_array">
+<parameter_description> a #PangoTabArray
+</parameter_description>
+</parameter>
+<parameter name="tab_index">
+<parameter_description> tab stop index
+</parameter_description>
+</parameter>
+<parameter name="alignment">
+<parameter_description> location to store alignment, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="location">
+<parameter_description> location to store tab position, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_matrix_rotate">
+<description>
+Changes the transformation represented by @matrix to be the
+transformation given by first rotating by @degrees degrees
+counter-clockwise then applying the original transformation.
+
+Since: 1.6
+
+</description>
+<parameters>
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix
+</parameter_description>
+</parameter>
+<parameter name="degrees">
+<parameter_description> degrees to rotate counter-clockwise
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_trim_string">
+<description>
+Trims leading and trailing whitespace from a string.
+
+
+</description>
+<parameters>
+<parameter name="str">
+<parameter_description> a string
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly-allocated string that must be freed with g_free()
+</return>
+</function>
+
+<function name="pango_layout_set_alignment">
+<description>
+Sets the alignment for the layout: how partial lines are
+positioned within the horizontal space available.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="alignment">
+<parameter_description> the alignment
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_font_description_get_family">
+<description>
+Gets the family name field of a font description. See
+pango_font_description_set_family().
+
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the family name field for the font description, or
+%NULL if not previously set. This has the same life-time
+as the font description itself and should not be freed.
+</return>
+</function>
+
+<function name="pango_font_description_free">
+<description>
+Frees a font description.
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_fc_font_map_shutdown">
+<description>
+Clears all cached information for the fontmap and marks
+all fonts open for the fontmap as dead. (See the shutdown()
+virtual function of #PangoFcFont.) This function might be used
+by a backend when the underlying windowing system for the font
+map exits. This function is only intended to be called from
+only for backend implementations deriving from #PangoFcFontmap.
+
+Since: 1.4
+
+</description>
+<parameters>
+<parameter name="fcfontmap">
+<parameter_description> a #PangoFcFontmap
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_itemize">
+<description>
+Breaks a piece of text into segments with consistent
+directional level and shaping engine. Each byte of @text will
+be contained in exactly one of the items in the returned list;
+the generated list of items will be in logical order (the start
+offsets of the items are ascending).
+
+@cached_iter should be an iterator over @attrs currently positioned at a
+range before or containing @start_index; @cached_iter will be advanced to
+the range covering the position just after @start_index + @length.
+(i.e. if itemizing in a loop, just keep passing in the same @cached_iter).
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a structure holding information that affects
+ the itemization process.
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the text to itemize.
+</parameter_description>
+</parameter>
+<parameter name="start_index">
+<parameter_description> first byte in @text to process
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the number of bytes (not characters) to process
+after @start_index.
+This must be &amp;gt;= 0.
+</parameter_description>
+</parameter>
+<parameter name="attrs">
+<parameter_description> the set of attributes that apply to @text.
+</parameter_description>
+</parameter>
+<parameter name="cached_iter">
+<parameter_description> Cached attribute iterator, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GList of #PangoItem structures.
+</return>
+</function>
+
+<function name="pango_x_font_subfont_xlfd">
+<description>
+Determines the X Logical Font Description for the specified
+subfont.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont which must be from the X backend.
+</parameter_description>
+</parameter>
+<parameter name="subfont_id">
+<parameter_description> the id of a subfont within the font.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly-allocated string containing the XLFD for the
+subfont. This string must be freed with g_free().
+</return>
+</function>
+
+<function name="pango_ot_ruleset_maybe_add_feature">
+<description>
+This is a convenience function that first tries to find the feature
+using pango_ot_info_find_feature() and the ruleset script and language
+passed to pango_ot_ruleset_new_for(),
+and if the feature is found, adds it to the ruleset.
+
+If @ruleset was not created using pango_ot_ruleset_new_for(), this function
+does nothing.
+
+
+</description>
+<parameters>
+<parameter name="ruleset">
+<parameter_description> a #PangoOTRuleset.
+</parameter_description>
+</parameter>
+<parameter name="table_type">
+<parameter_description> the table type to add a feature to.
+</parameter_description>
+</parameter>
+<parameter name="feature_tag">
+<parameter_description> the tag of the feature to add.
+</parameter_description>
+</parameter>
+<parameter name="property_bit">
+<parameter_description> the property bit to use for this feature. Used to identify
+the glyphs that this feature should be applied to, or
+%PANGO_OT_ALL_GLYPHS if it should be applied to all glyphs.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the feature was found and added to ruleset,
+%FALSE otherwise.
+
+Since: 1.18
+</return>
+</function>
+
+<function name="pango_attr_list_splice">
+<description>
+This function opens up a hole in @list, fills it in with attributes from
+the left, and then merges @other on top of the hole.
+
+This operation is equivalent to stretching every attribute
+that applies at position @pos in @list by an amount @len,
+and then calling pango_attr_list_change() with a copy
+of each attribute in @other in sequence (offset in position by @pos).
+
+This operation proves useful for, for instance, inserting
+a pre-edit string in the middle of an edit buffer.
+
+</description>
+<parameters>
+<parameter name="list">
+<parameter_description> a #PangoAttrList
+</parameter_description>
+</parameter>
+<parameter name="other">
+<parameter_description> another #PangoAttrList
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> the position in @list at which to insert @other
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> the length of the spliced segment. (Note that this
+must be specified since the attributes in @other
+may only be present at some subsection of this range)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_fontset_simple_new">
+<description>
+Creates a new #PangoFontsetSimple for the given language.
+
+
+</description>
+<parameters>
+<parameter name="language">
+<parameter_description> a #PangoLanguage tag
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoFontsetSimple, which should
+be freed with g_object_unref().
+</return>
+</function>
+
+<function name="pango_layout_iter_next_line">
+<description>
+Moves @iter forward to the start of the next line. If @iter is
+already on the last line, returns %FALSE.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether motion was possible.
+</return>
+</function>
+
+<function name="pango_win32_font_logfont">
+<description>
+Determine the LOGFONTA struct for the specified font. Note that
+Pango internally uses LOGFONTW structs, so if converting the UTF-16
+face name in the LOGFONTW struct to system codepage fails, the
+returned LOGFONTA will have an emppty face name. To get the
+LOGFONTW of a PangoFont, use pango_win32_font_logfontw(). It
+is recommended to do that always even if you don&apos;t expect
+to come across fonts with odd names.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont which must be from the Win32 backend
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly allocated LOGFONTA struct. It must be
+freed with g_free().
+</return>
+</function>
+
+<function name="pango_context_get_base_gravity">
+<description>
+Retrieves the base gravity for the context. See
+pango_context_set_base_gravity().
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> the base gravity for the context.
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_win32_font_logfontw">
+<description>
+Determine the LOGFONTW struct for the specified font.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont which must be from the Win32 backend
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly allocated LOGFONTW struct. It must be
+freed with g_free().
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_map_get_engine">
+<description>
+Return value: the best engine, if one is listed for the script,
+
+</description>
+<parameters>
+<parameter name="map">
+<parameter_description> a #PangoMap
+</parameter_description>
+</parameter>
+<parameter name="script">
+<parameter_description> a #PangoScript
+</parameter_description>
+</parameter>
+</parameters>
+<return> the best engine, if one is listed for the script,
+or %NULL. The lookup may cause the engine to be loaded;
+once an engine is loaded, it won&apos;t be unloaded. If multiple
+engines are exact for the script, the choice of which is
+returned is arbitrary.
+</return>
+</function>
+
+<function name="pango_renderer_get_matrix">
+<description>
+Gets the transformation matrix that will be applied when
+rendering. See pango_renderer_set_matrix().
+
+
+</description>
+<parameters>
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
+</parameter_description>
+</parameter>
+</parameters>
+<return> the matrix, or %NULL if no matrix has been set
+(which is the same as the identity matrix). The returned
+matrix is owned by Pango and must not be modified or
+freed.
+
+Since: 1.8
+</return>
+</function>
+
+<function name="pango_xft_renderer_set_default_color">
+<description>
+Sets the default foreground color for a #XftRenderer.
+
+Since: 1.8
+
+</description>
+<parameters>
+<parameter name="xftrenderer">
+<parameter_description> a #XftRenderer
+</parameter_description>
+</parameter>
+<parameter name="default_color">
+<parameter_description> the default foreground color
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_font_face_list_sizes">
+<description>
+List the available sizes for a font. This is only applicable to bitmap
+fonts. For scalable fonts, stores %NULL at the location pointed to by
+@sizes and 0 at the location pointed to by @n_sizes. The sizes returned
+are in Pango units and are sorted in ascending order.
+
+Since: 1.4
+
+</description>
+<parameters>
+<parameter name="face">
+<parameter_description> a #PangoFontFace.
+</parameter_description>
+</parameter>
+<parameter name="sizes">
+<parameter_description> location to store a pointer to an array of int. This array
+should be freed with g_free().
+</parameter_description>
+</parameter>
+<parameter name="n_sizes">
+<parameter_description> location to store the number of elements in @sizes
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_x_has_glyph">
+<description>
+Checks if the given glyph is present in a X font.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont which must be from the X backend.
+</parameter_description>
+</parameter>
+<parameter name="glyph">
+<parameter_description> the index of a glyph in the font. (Formed
+using the #PANGO_X_MAKE_GLYPH macro)
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the glyph is present.
+</return>
+</function>
+
+<function name="pango_font_description_set_variant">
+<description>
+Sets the variant field of a font description. The #PangoVariant
+can either be %PANGO_VARIANT_NORMAL or %PANGO_VARIANT_SMALL_CAPS.
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+<parameter name="variant">
+<parameter_description> the variant type for the font description.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_context_set_font_map">
+<description>
+Sets the font map to be searched when fonts are looked-up in this context.
+This is only for internal use by Pango backends, a #PangoContext obtained
+via one of the recommended methods should already have a suitable font map.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+<parameter name="font_map">
+<parameter_description> the #PangoFontMap to set.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_win32_font_cache_load">
+<description>
+Creates a HFONT from a LOGFONTA. The
+result may be newly loaded, or it may have been previously
+stored
+
+
+</description>
+<parameters>
+<parameter name="cache">
+<parameter_description> a #PangoWin32FontCache
+</parameter_description>
+</parameter>
+<parameter name="logfont">
+<parameter_description> a pointer to a LOGFONTA structure describing the font to load.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The font structure, or %NULL if the font could
+not be loaded. In order to free this structure, you must call
+pango_win32_font_cache_unload().
+</return>
+</function>
+
+<function name="pango_ot_buffer_set_zero_width_marks">
+<description>
+Sets whether characters with a mark class should be forced to zero width.
+This setting is needed for proper positioning of Arabic accents,
+but will produce incorrect results with standard OpenType Indic
+fonts.
+
+Since: 1.6
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #PangoOTBuffer
+</parameter_description>
+</parameter>
+<parameter name="zero_width_marks">
+<parameter_description> %TRUE if characters with a mark class should
+be forced to zero width.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_language_get_default">
+<description>
+Return value: the default language as a #PangoLanguage, must not be
+
+</description>
+<parameters>
+</parameters>
+<return> the default language as a #PangoLanguage, must not be
+freed.
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_layout_set_justify">
+<description>
+Sets whether each complete line should be stretched to
+fill the entire width of the layout. This stretching is typically
+done by adding whitespace, but for some scripts (such as Arabic),
+the justification may be done in more complex ways, like extending
+the characters.
+
+Note that this setting is not implemented and so is ignored in Pango
+older than 1.18.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="justify">
+<parameter_description> whether the lines in the layout should be justified.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_attr_iterator_get">
+<description>
+Find the current attribute of a particular type at the iterator
+location. When multiple attributes of the same type overlap,
+the attribute whose range starts closest to the current location
+is used.
+
+
+</description>
+<parameters>
+<parameter name="iterator">
+<parameter_description> a #PangoAttrIterator
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> the type of attribute to find.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current attribute of the given type, or %NULL
+if no attribute of that type applies to the current
+location.
+</return>
+</function>
+
+<function name="pango_font_map_list_families">
+<description>
+List all families for a fontmap.
+
+</description>
+<parameters>
+<parameter name="fontmap">
+<parameter_description> a #PangoFontMap
+</parameter_description>
+</parameter>
+<parameter name="families">
+<parameter_description> location to store a pointer to an array of #PangoFontFamily *.
+This array should be freed with g_free().
+</parameter_description>
+</parameter>
+<parameter name="n_families">
+<parameter_description> location to store the number of elements in @families
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_pango_glyph_item_iter_next_cluster">
+<description>
+Advances the iterator to the next cluster in the glyph item.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #PangoGlyphItemIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the iterator was advanced, %FALSE if we were already on the
+last cluster.
+</return>
+</function>
+
+<function name="pango_font_description_get_stretch">
+<description>
+Gets the stretch field of a font description.
+See pango_font_description_set_stretch().
+
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the stretch field for the font description. Use
+pango_font_description_get_set_fields() to find out if
+the field was explicitly set or not.
+</return>
+</function>
+
+<function name="pango_xft_font_get_font">
+<description>
+Return value: the XftFont associated to @font.
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the XftFont associated to @font.
+</return>
+</function>
+
+<function name="pango_item_new">
+<description>
+Creates a new #PangoItem structure initialized to default values.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the newly allocated #PangoItem, which should
+be freed with pango_item_free().
+</return>
+</function>
+
+<function name="pango_ot_ruleset_new">
+<description>
+Creates a new #PangoOTRuleset for the given OpenType info.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #PangoOTInfo.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoOTRuleset, which
+should be freed with g_object_unref().
+</return>
+</function>
+
+<function name="pango_layout_get_font_description">
+<description>
+Gets the font description for the layout, if any.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> a pointer to the layout&apos;s font description,
+or %NULL if the font description from the layout&apos;s
+context is inherited. This value is owned by the layout
+and must not be modified or freed.
+
+Since: 1.8
+</return>
+</function>
+
+<function name="pango_attr_variant_new">
+<description>
+Create a new font variant attribute (normal or small caps)
+
+
+</description>
+<parameters>
+<parameter name="variant">
+<parameter_description> the variant
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+</return>
+</function>
+
+<function name="pango_layout_line_x_to_index">
+<description>
+Converts from x offset to the byte index of the corresponding
+character within the text of the layout. If @x_pos is outside the line,
+@index_ and @trailing will point to the very first or very last position
+in the line. This determination is based on the resolved direction
+of the paragraph; for example, if the resolved direction is
+right-to-left, then an X position to the right of the line (after it)
+results in 0 being stored in @index_ and @trailing. An X position to the
+left of the line results in @index_ pointing to the (logical) last
+grapheme in the line and @trailing being set to the number of characters
+in that grapheme. The reverse is true for a left-to-right line.
+
+
+</description>
+<parameters>
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine
+</parameter_description>
+</parameter>
+<parameter name="x_pos">
+<parameter_description> the X offset (in #PangoGlyphUnit)
+from the left edge of the line.
+</parameter_description>
+</parameter>
+<parameter name="index_">
+<parameter_description> location to store calculated byte index for
+the grapheme in which the user clicked.
+</parameter_description>
+</parameter>
+<parameter name="trailing">
+<parameter_description> location to store a integer indicating where
+in the grapheme the user clicked. It will either
+be zero, or the number of characters in the
+grapheme. 0 represents the trailing edge of the grapheme.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %FALSE if @x_pos was outside the line, %TRUE if inside
+</return>
+</function>
+
+<function name="pango_matrix_copy">
+<description>
+Copies a #PangoMatrix.
+
+
+</description>
+<parameters>
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix, can be %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoMatrix, which should
+be freed with pango_matrix_free(), or %NULL if
+@matrix was %NULL.
+
+Since: 1.6
+</return>
+</function>
+
+<function name="pango_layout_line_unref">
+<description>
+Decrease the reference count of a #PangoLayoutLine by one.
+If the result is zero, the line and all associated memory
+will be freed.
+
+</description>
+<parameters>
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_pango_glyph_item_iter_init_end">
+<description>
+Initializes a #PangoGlyphItemIter structure to point to the
+last cluster in a glyph item.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> pointer to a #PangoGlyphItemIter structure
+</parameter_description>
+</parameter>
+<parameter name="glyph_item">
+<parameter_description> the glyph item that @iter points into
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> text corresponding to the glyph item
+</parameter_description>
+</parameter>
+</parameters>
+<return> %FALSE if there are no clusters in the glyph item;
+in this case, the state of @iter is undefined.
+</return>
+</function>
+
+<function name="pango_x_font_cache_unload">
+<description>
+Frees a font structure previously loaded with pango_x_font_cache_load().
+
+</description>
+<parameters>
+<parameter name="cache">
+<parameter_description> a #PangoXFontCache
+</parameter_description>
+</parameter>
+<parameter name="fs">
+<parameter_description> the font structure to unload
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_renderer_draw_glyphs">
+<description>
+Draws the glyphs in @glyphs with the specified #PangoRenderer.
+
+Since: 1.8
+
+</description>
+<parameters>
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> a #PangoFont
+</parameter_description>
+</parameter>
+<parameter name="glyphs">
+<parameter_description> a #PangoGlyphString
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> X position of left edge of baseline, in user space coordinates
+in Pango units.
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> Y position of left edge of baseline, in user space coordinates
+in Pango units.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_version_string">
+<description>
+This is similar to the macro %PANGO_VERSION_STRING except that
+it returns the version of Pango available at run-time, as opposed to
+the version available at compile-time.
+
+
+</description>
+<parameters>
+</parameters>
+<return>value: A string containing the version of Pango library
+available at run time.
+The returned string is owned by Pango and should not be modified
+or freed.
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_glyph_string_new">
+<description>
+Create a new #PangoGlyphString.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the newly allocated #PangoGlyphString, which
+should be freed with pango_glyph_string_free().
+</return>
+</function>
+
+<function name="_pango_xft_font_get_mini_font">
+<description>
+Gets the font used for drawing the digits in the
+missing-character hex squares
+
+
+</description>
+<parameters>
+<parameter name="xfont">
+<parameter_description> a #PangoXftFont
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #PangoFont used for the digits; this
+value is associated with the main font and will be freed
+along with the main font.
+</return>
+</function>
+
+<function name="pango_layout_get_log_attrs">
+<description>
+Retrieves an array of logical attributes for each character in
+the @layout.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="attrs">
+<parameter_description> location to store a pointer to an array of logical attributes
+This value must be freed with g_free().
+</parameter_description>
+</parameter>
+<parameter name="n_attrs">
+<parameter_description> location to store the number of the attributes in the
+array. (The stored value will be one more than the total number
+of characters in the layout, since there need to be attributes
+corresponding to both the position before the first character
+and the position after the last character.)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_glyph_string_free">
+<description>
+Free a glyph string and associated storage.
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> a #PangoGlyphString.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="_pango_layout_line_ellipsize">
+<description>
+Given a #PangoLayoutLine with the runs still in logical order, ellipsize
+it according the layout&apos;s policy to fit within the set width of the layout.
+
+
+</description>
+<parameters>
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine
+</parameter_description>
+</parameter>
+<parameter name="attrs">
+<parameter_description> Attributes being used for itemization/shaping
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the line had to be ellipsized
+</return>
+</function>
+
+<function name="pango_gravity_get_for_matrix">
+<description>
+Finds the gravity that best matches the rotation component
+in a #PangoMatrix.
+
+
+</description>
+<parameters>
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix
+</parameter_description>
+</parameter>
+</parameters>
+<return> the gravity of @matrix, which will never be
+%PANGO_GRAVITY_AUTO, or %PANGO_GRAVITY_SOUTH if @matrix is %NULL
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_cairo_error_underline_path">
+<description>
+Add a squiggly line to the current path in the specified cairo context that
+approximately covers the given rectangle in the style of an underline used
+to indicate a spelling error. (The width of the underline is rounded to an
+integer number of up/down segments and the resulting rectangle is centered
+in the original rectangle)
+
+Since: 1.14
+
+</description>
+<parameters>
+<parameter name="cr">
+<parameter_description> a Cairo context
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> The X coordinate of one corner of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> The Y coordinate of one corner of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> Non-negative width of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> Non-negative height of the rectangle
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_get_single_paragraph_mode">
+<description>
+Obtains the value set by pango_layout_set_single_paragraph_mode().
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the layout does not break paragraphs at
+paragraph separator characters, %FALSE otherwise.
+</return>
+</function>
+
+<function name="pango_cairo_context_get_resolution">
+<description>
+Gets the resolution for the context. See pango_cairo_context_set_resolution()
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext, from pango_cairo_font_map_create_context()
+</parameter_description>
+</parameter>
+</parameters>
+<return> the resolution in &quot;dots per inch&quot;. A negative value will
+be returned if no resolution has previously been set.
+
+Since: 1.10
+</return>
+</function>
+
+<function name="pango_font_metrics_ref">
+<description>
+Increase the reference count of a font metrics structure by one.
+
+
+</description>
+<parameters>
+<parameter name="metrics">
+<parameter_description> a #PangoFontMetrics structure
+</parameter_description>
+</parameter>
+</parameters>
+<return> @metrics
+</return>
+</function>
+
+<function name="pango_attr_rise_new">
+<description>
+Create a new baseline displacement attribute.
+
+
+</description>
+<parameters>
+<parameter name="rise">
+<parameter_description> the amount that the text should be displaced vertically,
+in Pango units. Positive values displace the text upwards.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+</return>
+</function>
+
+<function name="pango_layout_get_size">
+<description>
+Determines the logical width and height of a #PangoLayout
+in Pango units (device units scaled by %PANGO_SCALE). This
+is simply a convenience function around pango_layout_get_extents().
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> location to store the logical width, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> location to store the logical height, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_context_new">
+<description>
+Creates a new #PangoContext initialized to default value.
+
+This function is only useful when implementing a new backend
+for Pango, something applications won&apos;t do. You should use
+the context creation function for the backend you are using,
+for example, pango_cairo_font_map_create_context(), pango_xft_get_context(),
+pango_win32_get_context() or, pango_ft2_font_map_create_context().
+
+If you are using Pango as part of a higher-level system,
+that system may have it&apos;s own ways of create a #PangoContext.
+For instance, the GTK+ toolkit has, among others,
+gdk_pango_context_get_for_screen(), and
+gtk_widget_get_pango_context().
+
+
+</description>
+<parameters>
+</parameters>
+<return> the newly allocated #PangoContext, which should
+be freed with g_object_unref().
+</return>
+</function>
+
+<function name="pango_itemize_with_base_dir">
+<description>
+Like pango_itemize(), but the base direction to use when
+computing bidirectional levels (see pango_context_set_base_dir ()),
+is specified explicitly rather than gotten from the #PangoContext.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a structure holding information that affects
+ the itemization process.
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the text to itemize.
+</parameter_description>
+</parameter>
+<parameter name="start_index">
+<parameter_description> first byte in @text to process
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the number of bytes (not characters) to process
+after @start_index.
+This must be &amp;gt;= 0.
+</parameter_description>
+</parameter>
+<parameter name="base_dir">
+<parameter_description> base direction to use for bidirectional processing
+</parameter_description>
+</parameter>
+<parameter name="attrs">
+<parameter_description> the set of attributes that apply to @text.
+</parameter_description>
+</parameter>
+<parameter name="cached_iter">
+<parameter_description> Cached attribute iterator, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GList of #PangoItem structures. The items should be
+freed using pango_item_free() probably in combination with g_list_foreach(),
+and the list itself using g_list_free().
+
+Since: 1.4
+</return>
+</function>
+
+<function name="pango_xft_picture_render">
+<description>
+Renders a #PangoGlyphString onto an Xrender &amp;lt;type&amp;gt;Picture&amp;lt;/type&amp;gt; object.
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> an X display
+</parameter_description>
+</parameter>
+<parameter name="src_picture">
+<parameter_description> the source picture to draw the string with
+</parameter_description>
+</parameter>
+<parameter name="dest_picture">
+<parameter_description> the destination picture to draw the string onto
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> the font in which to draw the string
+</parameter_description>
+</parameter>
+<parameter name="glyphs">
+<parameter_description> the glyph string to draw
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x position of start of string (in pixels)
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y position of baseline (in pixels)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_line_get_x_ranges">
+<description>
+Gets a list of visual ranges corresponding to a given logical range.
+This list is not necessarily minimal - there may be consecutive
+ranges which are adjacent. The ranges will be sorted from left to
+right. The ranges are with respect to the left edge of the entire
+layout, not with respect to the line.
+
+</description>
+<parameters>
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine
+</parameter_description>
+</parameter>
+<parameter name="start_index">
+<parameter_description> Start byte index of the logical range. If this value
+is less than the start index for the line, then
+the first range will extend all the way to the leading
+edge of the layout. Otherwise it will start at the
+leading edge of the first character.
+</parameter_description>
+</parameter>
+<parameter name="end_index">
+<parameter_description> Ending byte index of the logical range. If this value
+is greater than the end index for the line, then
+the last range will extend all the way to the trailing
+edge of the layout. Otherwise, it will end at the
+trailing edge of the last character.
+</parameter_description>
+</parameter>
+<parameter name="ranges">
+<parameter_description> location to store a pointer to an array of ranges.
+The array will be of length &amp;lt;literal&amp;gt;2*n_ranges&amp;lt;/literal&amp;gt;,
+with each range starting at &amp;lt;literal&amp;gt;(*ranges)[2*n]&amp;lt;/literal&amp;gt;
+and of width &amp;lt;literal&amp;gt;(*ranges)[2*n + 1] - (*ranges)[2*n]&amp;lt;/literal&amp;gt;.
+This array must be freed with g_free(). The coordinates are relative
+to the layout and are in #PangoGlyphUnit.
+</parameter_description>
+</parameter>
+<parameter name="n_ranges">
+<parameter_description> The number of ranges stored in @ranges.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_attr_iterator_destroy">
+<description>
+Destroy a #PangoAttrIterator and free all associated memory.
+
+</description>
+<parameters>
+<parameter name="iterator">
+<parameter_description> a #PangoAttrIterator.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_ot_info_list_features">
+<description>
+Obtains the list of features for the given language of the given script.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #PangoOTInfo.
+</parameter_description>
+</parameter>
+<parameter name="table_type">
+<parameter_description> the table type to obtain information about.
+</parameter_description>
+</parameter>
+<parameter name="tag">
+<parameter_description> unused parameter.
+</parameter_description>
+</parameter>
+<parameter name="script_index">
+<parameter_description> the index of the script to obtain information about.
+</parameter_description>
+</parameter>
+<parameter name="language_index">
+<parameter_description> the index of the language to list features for, or
+%PANGO_OT_DEFAULT_LANGUAGE, to list features for the default
+language of the script.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated zero-terminated array containing the tags of the
+available features. Should be freed using g_free().
+</return>
+</function>
+
+<function name="pango_font_metrics_unref">
+<description>
+Decrease the reference count of a font metrics structure by one. If
+the result is zero, frees the structure and any associated
+memory.
+
+</description>
+<parameters>
+<parameter name="metrics">
+<parameter_description> a #PangoFontMetrics structure
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_xft_render_layout_line">
+<description>
+Render a #PangoLayoutLine onto a #XftDraw
+
+Since: 1.8
+
+</description>
+<parameters>
+<parameter name="draw">
+<parameter_description> an #XftDraw
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> the foreground color in which to draw the layout line
+(may be overridden by color attributes)
+</parameter_description>
+</parameter>
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x position of start of string (in Pango units)
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y position of baseline (in Pango units)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_win32_font_description_from_logfontw">
+<description>
+Creates a #PangoFontDescription that matches the specified LOGFONTW.
+
+The face name, italicness and weight fields in the LOGFONTW are used
+to set up the resulting #PangoFontDescription. If the face name in
+the LOGFONTW contains non-ASCII characters the font is temporarily
+loaded (using CreateFontIndirect()) and an ASCII (usually English)
+name for it is looked up from the font name tables in the font
+data. If that doesn&apos;t work, the face name is converted from UTF-16
+to UTF-8 and that is used.
+
+
+</description>
+<parameters>
+<parameter name="lfp">
+<parameter_description> a LOGFONTW
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoFontDescription, which
+should be freed using pango_font_description_free()
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_context_get_gravity">
+<description>
+Retrieves the gravity for the context. This is similar to
+pango_context_get_base_gravity(), except for when the base gravity
+is %PANGO_GRAVITY_AUTO for which pango_gravity_get_for_matrix() is used
+to return the gravity from the current context matrix.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> the resolved gravity for the context.
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_font_description_copy_static">
+<description>
+Like pango_font_description_copy(), but only a shallow copy is made
+of the family name and other allocated fields. The result can only
+be used until @desc is modified or freed. This is meant to be used
+when the copy is only needed temporarily.
+
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoFontDescription, which should
+be freed with pango_font_description_free().
+</return>
+</function>
+
+<function name="pango_is_zero_width">
+<description>
+Checks @ch to see if it is a character that should not be
+normally rendered on the screen. This includes all Unicode characters
+with &quot;ZERO WIDTH&quot; in their name, as well as &amp;lt;firstterm&amp;gt;bidi&amp;lt;/firstterm&amp;gt; formatting characters, and
+a few other ones. This is totally different from g_unichar_iszerowidth()
+and is at best misnamed.
+
+
+</description>
+<parameters>
+<parameter name="ch">
+<parameter_description> a Unicode character
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @ch is a zero-width character, %FALSE otherwise
+
+Since: 1.10
+</return>
+</function>
+
+<function name="pango_attr_style_new">
+<description>
+Create a new font slant style attribute.
+
+
+</description>
+<parameters>
+<parameter name="style">
+<parameter_description> the slant style
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+</return>
+</function>
+
+<function name="pango_font_get_font_map">
+<description>
+Gets the font map for which the font was created.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #PangoFontMap for the font
+
+Since: 1.10
+</return>
+</function>
+
+<function name="pango_layout_iter_next_run">
+<description>
+Moves @iter forward to the next run in visual order. If @iter was
+already at the end of the layout, returns %FALSE.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether motion was possible.
+</return>
+</function>
+
+<function name="pango_cairo_update_context">
+<description>
+Updates a #PangoContext previously created for use with Cairo to
+match the current transformation and target surface of a Cairo
+context. If any layouts have been created for the context,
+it&apos;s necessary to call pango_layout_context_changed() on those
+layouts.
+
+Since: 1.10
+
+</description>
+<parameters>
+<parameter name="cr">
+<parameter_description> a Cairo context
+</parameter_description>
+</parameter>
+<parameter name="context">
+<parameter_description> a #PangoContext, from pango_cairo_font_map_create_context()
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_get_context">
+<description>
+Retrieves the #PangoContext used for this layout.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #PangoContext for the layout. This does not
+have an additional refcount added, so if you want to keep
+a copy of this around, you must reference it yourself.
+</return>
+</function>
+
+<function name="pango_parse_style">
+<description>
+Parses a font style. The allowed values are &quot;normal&quot;,
+&quot;italic&quot; and &quot;oblique&quot;, case variations being
+ignored.
+
+
+</description>
+<parameters>
+<parameter name="str">
+<parameter_description> a string to parse.
+</parameter_description>
+</parameter>
+<parameter name="style">
+<parameter_description> a #PangoStyle to store the result in.
+</parameter_description>
+</parameter>
+<parameter name="warn">
+<parameter_description> if %TRUE, issue a g_warning() on bad input.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @str was successfully parsed.
+</return>
+</function>
+
+<function name="pango_attr_strikethrough_new">
+<description>
+Create a new strike-through attribute.
+
+
+</description>
+<parameters>
+<parameter name="strikethrough">
+<parameter_description> %TRUE if the text should be struck-through.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+</return>
+</function>
+
+<function name="pango_glyph_string_copy">
+<description>
+Copy a glyph string and associated storage.
+
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> a #PangoGlyphString.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoGlyphString, which
+should be freed with pango_glyph_string_free().
+</return>
+</function>
+
+<function name="pango_layout_get_line_count">
+<description>
+Retrieves the count of lines for the @layout.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> the line count.
+</return>
+</function>
+
+<function name="pango_layout_iter_get_line_yrange">
+<description>
+Divides the vertical space in the #PangoLayout being iterated over
+between the lines in the layout, and returns the space belonging to
+the current line. A line&apos;s range includes the line&apos;s logical
+extents, plus half of the spacing above and below the line, if
+pango_layout_set_spacing() has been called to set layout spacing.
+The Y positions are in layout coordinates (origin at top left of the
+entire layout).
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
+</parameter_description>
+</parameter>
+<parameter name="y0_">
+<parameter_description> start of line
+</parameter_description>
+</parameter>
+<parameter name="y1_">
+<parameter_description> end of line
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_log2vis_get_embedding_levels">
+<description>
+This will return the bidirectional embedding levels of the input paragraph
+as defined by the Unicode Bidirectional Algorithm available at:
+
+http://www.unicode.org/reports/tr9/
+
+If the input base direction is a weak direction, the direction of the
+characters in the text will determine the final resolved direction.
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> the text to itemize.
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the number of bytes (not characters) to process, or -1
+if @text is nul-terminated and the length should be calculated.
+</parameter_description>
+</parameter>
+<parameter name="pbase_dir">
+<parameter_description> input base direction, and output resolved direction.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated array of embedding levels, one item per
+character (not byte), that should be freed using g_free.
+
+Since: 1.4
+</return>
+</function>
+
+<function name="pango_glyph_string_extents">
+<description>
+Compute the logical and ink extents of a glyph string. See the documentation
+for pango_font_get_glyph_extents() for details about the interpretation
+of the rectangles.
+
+</description>
+<parameters>
+<parameter name="glyphs">
+<parameter_description> a #PangoGlyphString
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> a #PangoFont
+</parameter_description>
+</parameter>
+<parameter name="ink_rect">
+<parameter_description> rectangle used to store the extents of the glyph string as drawn
+or %NULL to indicate that the result is not needed.
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> rectangle used to store the logical extents of the glyph string
+or %NULL to indicate that the result is not needed.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_xft_render_transformed">
+<description>
+Renders a #PangoGlyphString onto a #XftDraw, possibly
+transforming the layed-out coordinates through a transformation
+matrix. Note that the transformation matrix for @font is not
+changed, so to produce correct rendering results, the @font
+must have been loaded using a #PangoContext with an identical
+transformation matrix to that passed in to this function.
+
+Since: 1.8
+
+</description>
+<parameters>
+<parameter name="draw">
+<parameter_description> an #XftDraw
+</parameter_description>
+</parameter>
+<parameter name="color">
+<parameter_description> the color in which to draw the glyphs
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> the font in which to draw the string
+</parameter_description>
+</parameter>
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix, or %NULL to use an identity transformation
+</parameter_description>
+</parameter>
+<parameter name="glyphs">
+<parameter_description> the glyph string to draw
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x position of the start of the string (in Pango
+units in user space coordinates)
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y position of the baseline (in Pango units
+in user space coordinates)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_set_single_paragraph_mode">
+<description>
+If @setting is %TRUE, do not treat newlines and similar characters
+as paragraph separators; instead, keep all text in a single paragraph,
+and display a glyph for paragraph separator characters. Used when
+you want to allow editing of newlines on a single text line.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> new setting
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_win32_get_dc">
+<description>
+Obtains a handle to the Windows device context that is used by Pango.
+
+
+</description>
+<parameters>
+</parameters>
+<return> A handle to the Windows device context that is used by Pango.
+</return>
+</function>
+
+<function name="pango_layout_iter_get_line_extents">
+<description>
+Obtains the extents of the current line. @ink_rect or @logical_rect
+can be %NULL if you aren&apos;t interested in them. Extents are in layout
+coordinates (origin is the top-left corner of the entire
+#PangoLayout). Thus the extents returned by this function will be
+the same width/height but not at the same x/y as the extents
+returned from pango_layout_line_get_extents().
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
+</parameter_description>
+</parameter>
+<parameter name="ink_rect">
+<parameter_description> rectangle to fill with ink extents, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> rectangle to fill with logical extents, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_iter_next_char">
+<description>
+Moves @iter forward to the next character in visual order. If @iter was already at
+the end of the layout, returns %FALSE.
+
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether motion was possible.
+</return>
+</function>
+
+<function name="_pango_cairo_context_merge_font_options">
+<description>
+Merge together options from the target surface and explicitly set
+on the context.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+<parameter name="options">
+<parameter_description> a #cairo_font_options_t
+</parameter_description>
+</parameter>
+</parameters>
+<return> the combined set of font options. This value is owned
+by the context and must not be modified or freed.
+</return>
+</function>
+
+<function name="pango_font_description_set_style">
+<description>
+Sets the style field of a #PangoFontDescription. The
+#PangoStyle enumeration describes whether the font is slanted and
+the manner in which it is slanted; it can be either
+#PANGO_STYLE_NORMAL, #PANGO_STYLE_ITALIC, or #PANGO_STYLE_OBLIQUE.
+Most fonts will either have a italic style or an oblique
+style, but not both, and font matching in Pango will
+match italic specifications with oblique fonts and vice-versa
+if an exact match is not found.
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+<parameter name="style">
+<parameter_description> the style for the font description
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_attr_shape_new">
+<description>
+Create a new shape attribute. A shape is used to impose a
+particular ink and logical rectangle on the result of shaping a
+particular glyph. This might be used, for instance, for
+embedding a picture or a widget inside a #PangoLayout.
+
+
+</description>
+<parameters>
+<parameter name="ink_rect">
+<parameter_description> ink rectangle to assign to each character
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> logical rectangle to assign to each character
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+</return>
+</function>
+
+<function name="pango_ot_tag_from_script">
+<description>
+Finds the OpenType script tag corresponding to @script.
+
+The %PANGO_SCRIPT_COMMON, %PANGO_SCRIPT_INHERITED, and
+%PANGO_SCRIPT_UNKNOWN scripts are mapped to the OpenType
+&apos;DFLT&apos; script tag that is also defined as
+%PANGO_OT_TAG_DEFAULT_SCRIPT.
+
+Note that multiple #PangoScript values may map to the same
+OpenType script tag. In particular, %PANGO_SCRIPT_HIRAGANA
+and %PANGO_SCRIPT_KATAKANA both map to the OT tag &apos;kana&apos;.
+
+
+</description>
+<parameters>
+<parameter name="script">
+<parameter_description> A #PangoScript
+</parameter_description>
+</parameter>
+</parameters>
+<return> #PangoOTTag corresponding to @script or
+%PANGO_OT_TAG_DEFAULT_SCRIPT if none found.
+
+Since: 1.18
+</return>
+</function>
+
+<function name="pango_ot_buffer_get_glyphs">
+<description>
+Gets the glyph array contained in a #PangoOTBuffer. The glyphs are
+owned by the buffer and should not be freed, and are only valid as long
+as buffer is not modified.
+
+Since: 1.4
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #PangoOTBuffer
+</parameter_description>
+</parameter>
+<parameter name="glyphs">
+<parameter_description> location to store the array of glyphs, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="n_glyphs">
+<parameter_description> location to store the number of glyphs, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_context_changed">
+<description>
+Forces recomputation of any state in the #PangoLayout that
+might depend on the layout&apos;s context. This function should
+be called if you make changes to the context subsequent
+to creating the layout.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_set_tabs">
+<description>
+Sets the tabs to use for @layout, overriding the default tabs
+(by default, tabs are every 8 spaces). If @tabs is %NULL, the default
+tabs are reinstated. @tabs is copied into the layout; you must
+free your copy of @tabs yourself.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="tabs">
+<parameter_description> a #PangoTabArray
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_tab_array_copy">
+<description>
+Copies a #PangoTabArray
+
+
+</description>
+<parameters>
+<parameter name="src">
+<parameter_description> #PangoTabArray to copy
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoTabArray, which should
+be freed with pango_tab_array_free().
+</return>
+</function>
+
+<function name="pango_font_metrics_get_underline_position">
+<description>
+Gets the suggested position to draw the underline.
+The value returned is the distance &amp;lt;emphasis&amp;gt;above&amp;lt;/emphasis&amp;gt; the
+baseline of the top of the underline. Since most fonts have
+underline positions beneath the baseline, this value is typically
+negative.
+
+
+</description>
+<parameters>
+<parameter name="metrics">
+<parameter_description> a #PangoFontMetrics structure
+</parameter_description>
+</parameter>
+</parameters>
+<return> the suggested underline position, in Pango units.
+
+Since: 1.6
+</return>
+</function>
+
+<function name="pango_attr_fallback_new">
+<description>
+Create a new font fallback attribute.
+
+If fallback is disabled, characters will only be used from the
+closest matching font on the system. No fallback will be done to
+other fonts on the system that might contain the characters in the
+text.
+
+
+</description>
+<parameters>
+<parameter name="enable_fallback">
+<parameter_description> %TRUE if we should fall back on other fonts
+for characters the active font is missing.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
+
+Since: 1.4
+</return>
+</function>
+
+<function name="pango_layout_get_line">
+<description>
+Retrieves a particular line from a #PangoLayout.
+
+Use the faster pango_layout_get_line_readonly() if you do not plan
+to modify the contents of the line (glyphs, glyph widths, etc.).
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="line">
+<parameter_description> the index of a line, which must be between 0 and
+&amp;lt;literal&amp;gt;pango_layout_get_line_count(layout) - 1&amp;lt;/literal&amp;gt;, inclusive.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the requested #PangoLayoutLine, or %NULL if the
+index is out of range. This layout line can
+be ref&apos;ed and retained, but will become invalid
+if changes are made to the #PangoLayout.
+</return>
+</function>
+
+<function name="pango_context_load_fontset">
+<description>
+Load a set of fonts in the context that can be used to render
+a font matching @desc.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription describing the fonts to load
+</parameter_description>
+</parameter>
+<parameter name="language">
+<parameter_description> a #PangoLanguage the fonts will be used for
+</parameter_description>
+</parameter>
+</parameters>
+<return>the fontset, or %NULL if no font matched.
+</return>
+</function>
+
+<function name="pango_units_from_double">
+<description>
+Converts a floating-point number to Pango units: multiplies
+it by %PANGO_SCALE and rounds to nearest integer.
+
+
+</description>
+<parameters>
+<parameter name="d">
+<parameter_description> double floating-point value
+</parameter_description>
+</parameter>
+</parameters>
+<return> the value in Pango units.
+
+Since: 1.16
+</return>
+</function>
+
+<function name="pango_xft_set_default_substitute">
+<description>
+Sets a function that will be called to do final configuration
+substitution on a #FcPattern before it is used to load
+the font. This function can be used to do things like set
+hinting and antialiasing options.
+
+Since: 1.2
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> an X Display
+</parameter_description>
+</parameter>
+<parameter name="screen">
+<parameter_description> the screen number of a screen within @display
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> function to call to to do final config tweaking
+on #FcPattern objects.
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to pass to @func
+</parameter_description>
+</parameter>
+<parameter name="notify">
+<parameter_description> function to call when @data is no longer used.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+</root>
diff --git a/libs/gtkmm2/pango/src/pango_docs_override.xml b/libs/gtkmm2/pango/src/pango_docs_override.xml
new file mode 100644
index 0000000000..011d67ef16
--- /dev/null
+++ b/libs/gtkmm2/pango/src/pango_docs_override.xml
@@ -0,0 +1,372 @@
+<root>
+
+
+<function name="pango_font_face_describe">
+<description>
+Returns the family, style, variant, weight and stretch of
+a #PangoFontFace. The size field of the resulting font description
+will be unset.
+
+
+</description>
+<parameters>
+<parameter name="face">
+<parameter_description> a #PangoFontFace
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #PangoFontDescription
+holding the description of the face.
+</return>
+</function>
+
+
+<function name="pango_layout_get_tabs">
+<description>
+Get the current #PangoTabArray used by this layout. If no
+#PangoTabArray has been set, then the default tabs are in use
+and an invalid instance is returned. Default tabs are every 8 spaces.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> a copy of the tabs for this layout.
+</return>
+</function>
+
+<function name="pango_context_get_metrics">
+<description>
+Get overall metric information for a font particular font
+description. Since the metrics may be substantially different for
+different scripts, a language tag can be provided to indicate that
+the metrics should be retrieved that correspond to the script(s)
+used by that language.
+
+The #PangoFontDescription is interpreted in the same way as
+by pango_itemize(), and the family name may be a comma separated
+list of figures. If characters from multiple of these families
+would be used to render the string, then the returned fonts would
+be a composite of the metrics for the fonts loaded for the
+individual families.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription structure
+</parameter_description>
+</parameter>
+<parameter name="language">
+<parameter_description> language tag used to determine which script to get the metrics
+for.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #PangoMetrics object.
+</return>
+</function>
+
+<function name="pango_font_get_glyph_extents">
+<description>
+Gets the logical and ink extents of a glyph within a font. The
+coordinate system for each rectangle has its origin at the
+base line and horizontal origin of the character with increasing
+coordinates extending to the right and down. The macros PANGO_ASCENT(),
+PANGO_DESCENT(), PANGO_LBEARING(), and PANGO_RBEARING can be used to convert
+from the extents rectangle to more traditional font metrics. The units
+of the rectangles are in 1/PANGO_SCALE of a device unit.
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont
+</parameter_description>
+</parameter>
+<parameter name="glyph">
+<parameter_description> the glyph index
+</parameter_description>
+</parameter>
+<parameter name="ink_rect">
+<parameter_description> rectangle used to store the extents of the glyph as drawn.
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> rectangle used to store the logical extents of the glyph.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_glyph_string_extents_range">
+<description>
+Computes the extents of a sub-portion of a glyph string. The extents are
+relative to the start of the glyph string range (the origin of their
+coordinate system is at the start of the range, not at the start of the entire
+glyph string).
+
+</description>
+<parameters>
+<parameter name="glyphs">
+<parameter_description> a #PangoGlyphString
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> start index
+</parameter_description>
+</parameter>
+<parameter name="end">
+<parameter_description> end index (the range is the set of bytes with
+ indices such that start &amp;lt;= index &amp;lt; end)
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> a #PangoFont
+</parameter_description>
+</parameter>
+<parameter name="ink_rect">
+<parameter_description> rectangle used to store the extents of the glyph string range as drawn.
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> rectangle used to store the logical extents of the glyph string range.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_get_extents">
+<description>
+Compute the logical and ink extents of @layout. Logical extents
+are usually what you want for positioning things. The extents
+are given in layout coordinates; layout coordinates begin at the
+top left corner of the layout.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="ink_rect">
+<parameter_description> rectangle used to store the extents of the layout as drawn.
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> rectangle used to store the logical extents of the layout.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_get_pixel_extents">
+<description>
+Compute the logical and ink extents of @layout in device units.
+See pango_layout_get_extents(); this function just calls
+pango_layout_get_extents() and then converts the extents to
+pixels using the #PANGO_SCALE factor.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="ink_rect">
+<parameter_description> rectangle used to store the extents of the layout as drawn.
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> rectangle used to store the logical extents of the
+layout.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_set_font_description">
+<description>
+Set the default font description for the layout. If no font
+description is set on the layout, the font description from
+the layout&apos;s context is used.
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="desc">
+<parameter_description> the new pango font description.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_line_get_extents">
+<description>
+Compute the logical and ink extents of a layout line. See the documentation
+for pango_font_get_glyph_extents() for details about the interpretation
+of the rectangles.
+
+</description>
+<parameters>
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine
+</parameter_description>
+</parameter>
+<parameter name="ink_rect">
+<parameter_description> rectangle used to store the extents of the glyph string as drawn.
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> rectangle used to store the logical extents of the glyph string.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_layout_line_get_pixel_extents">
+<description>
+Compute the logical and ink extents of a layout line. See the documentation
+for pango_font_get_glyph_extents() for details about the interpretation
+of the rectangles. The returned rectangles are in device units, as
+opposed to pango_layout_line_get_extents(), which returns the extents in
+units of device unit / PANGO_SCALE.
+
+</description>
+<parameters>
+<parameter name="layout_line">
+<parameter_description> a #PangoLayoutLine
+</parameter_description>
+</parameter>
+<parameter name="ink_rect">
+<parameter_description> rectangle used to store the extents of the glyph string as drawn.
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> rectangle used to store the logical extents of the glyph string.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_font_get_metrics">
+<description>
+Gets overall metric information for a font. Since the metrics may be
+substantially different for different scripts, a language tag can
+be provided to indicate that the metrics should be retrieved that
+correspond to the script(s) used by that language.
+
+
+</description>
+<parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont
+</parameter_description>
+</parameter>
+<parameter name="language">
+<parameter_description> language tag used to determine which script to get the metrics
+for.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #PangoMetrics object.
+</return>
+</function>
+
+<function name="pango_glyph_string_extents">
+<description>
+Compute the logical and ink extents of a glyph string. See the documentation
+for pango_font_get_glyph_extents() for details about the interpretation
+of the rectangles.
+
+</description>
+<parameters>
+<parameter name="glyphs">
+<parameter_description> a #PangoGlyphString
+</parameter_description>
+</parameter>
+<parameter name="font">
+<parameter_description> a #PangoFont
+</parameter_description>
+</parameter>
+<parameter name="ink_rect">
+<parameter_description> rectangle used to store the extents of the glyph string as drawn.
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> rectangle used to store the logical extents of the glyph string.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_font_description_to_string">
+<description>
+Creates a string representation of a font description. See
+pango_font_description_from_string() for a description of the
+format of the string representation. The family list in the
+string description will only have a terminating comma if the
+last word of the list is a valid style option.
+
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+</parameters>
+<return> The string.
+</return>
+</function>
+
+<function name="pango_font_description_to_filename">
+<description>
+Creates a filename representation of a font description. The
+filename is identical to the result from calling
+pango_font_description_to_string(), but with underscores instead of
+characters that are untypical in filenames, and in lower case only.
+
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+</parameters>
+<return> The filename.
+</return>
+</function>
+
+<function name="pango_color_parse">
+<description>
+Fill in the fields of a color from a string specification. The
+string can either one of a large set of standard names. (Taken
+from the X11 &amp;lt;filename&amp;gt;rgb.txt&amp;lt;/filename&amp;gt; file), or it can be a hex value in the
+form &apos;#rgb&apos; &apos;#rrggbb&apos; &apos;#rrrgggbbb&apos; or &apos;#rrrrggggbbbb&apos; where
+&apos;r&apos;, &apos;g&apos; and &apos;b&apos; are hex digits of the red, green, and blue
+components of the color, respectively. (White in the four
+forms is &apos;#fff&apos; &apos;#ffffff&apos; &apos;#fffffffff&apos; and &apos;#ffffffffffff&apos;)
+</description>
+</function>
+
+</root>
+
diff --git a/libs/gtkmm2/pango/src/pango_enums.defs b/libs/gtkmm2/pango/src/pango_enums.defs
new file mode 100644
index 0000000000..38ad487e6b
--- /dev/null
+++ b/libs/gtkmm2/pango/src/pango_enums.defs
@@ -0,0 +1,322 @@
+;; From /home/murrayc/svn/gnome218/pango/pango/pango-attributes.h
+
+(define-enum-extended AttrType
+ (in-module "Pango")
+ (c-name "PangoAttrType")
+ (values
+ '("invalid" "PANGO_ATTR_INVALID" "0")
+ '("language" "PANGO_ATTR_LANGUAGE" "1")
+ '("family" "PANGO_ATTR_FAMILY" "2")
+ '("style" "PANGO_ATTR_STYLE" "3")
+ '("weight" "PANGO_ATTR_WEIGHT" "4")
+ '("variant" "PANGO_ATTR_VARIANT" "5")
+ '("stretch" "PANGO_ATTR_STRETCH" "6")
+ '("size" "PANGO_ATTR_SIZE" "7")
+ '("font-desc" "PANGO_ATTR_FONT_DESC" "8")
+ '("foreground" "PANGO_ATTR_FOREGROUND" "9")
+ '("background" "PANGO_ATTR_BACKGROUND" "10")
+ '("underline" "PANGO_ATTR_UNDERLINE" "11")
+ '("strikethrough" "PANGO_ATTR_STRIKETHROUGH" "12")
+ '("rise" "PANGO_ATTR_RISE" "13")
+ '("shape" "PANGO_ATTR_SHAPE" "14")
+ '("scale" "PANGO_ATTR_SCALE" "15")
+ '("fallback" "PANGO_ATTR_FALLBACK" "16")
+ '("letter-spacing" "PANGO_ATTR_LETTER_SPACING" "17")
+ '("underline-color" "PANGO_ATTR_UNDERLINE_COLOR" "18")
+ '("strikethrough-color" "PANGO_ATTR_STRIKETHROUGH_COLOR" "19")
+ '("absolute-size" "PANGO_ATTR_ABSOLUTE_SIZE" "20")
+ '("gravity" "PANGO_ATTR_GRAVITY" "21")
+ '("gravity-hint" "PANGO_ATTR_GRAVITY_HINT" "22")
+ )
+)
+
+(define-enum-extended Underline
+ (in-module "Pango")
+ (c-name "PangoUnderline")
+ (values
+ '("none" "PANGO_UNDERLINE_NONE" "0")
+ '("single" "PANGO_UNDERLINE_SINGLE" "1")
+ '("double" "PANGO_UNDERLINE_DOUBLE" "2")
+ '("low" "PANGO_UNDERLINE_LOW" "3")
+ '("error" "PANGO_UNDERLINE_ERROR" "4")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/pango/pango/pango-coverage.h
+
+(define-enum-extended CoverageLevel
+ (in-module "Pango")
+ (c-name "PangoCoverageLevel")
+ (values
+ '("none" "PANGO_COVERAGE_NONE" "0")
+ '("fallback" "PANGO_COVERAGE_FALLBACK" "1")
+ '("approximate" "PANGO_COVERAGE_APPROXIMATE" "2")
+ '("exact" "PANGO_COVERAGE_EXACT" "3")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/pango/pango/pango-font.h
+
+(define-enum-extended Style
+ (in-module "Pango")
+ (c-name "PangoStyle")
+ (values
+ '("normal" "PANGO_STYLE_NORMAL" "0")
+ '("oblique" "PANGO_STYLE_OBLIQUE" "1")
+ '("italic" "PANGO_STYLE_ITALIC" "2")
+ )
+)
+
+(define-enum-extended Variant
+ (in-module "Pango")
+ (c-name "PangoVariant")
+ (values
+ '("normal" "PANGO_VARIANT_NORMAL" "0")
+ '("small-caps" "PANGO_VARIANT_SMALL_CAPS" "1")
+ )
+)
+
+(define-enum-extended Weight
+ (in-module "Pango")
+ (c-name "PangoWeight")
+ (values
+ '("ultralight" "PANGO_WEIGHT_ULTRALIGHT" "200")
+ '("light" "PANGO_WEIGHT_LIGHT" "300")
+ '("normal" "PANGO_WEIGHT_NORMAL" "400")
+ '("semibold" "PANGO_WEIGHT_SEMIBOLD" "600")
+ '("bold" "PANGO_WEIGHT_BOLD" "700")
+ '("ultrabold" "PANGO_WEIGHT_ULTRABOLD" "800")
+ '("heavy" "PANGO_WEIGHT_HEAVY" "900")
+ )
+)
+
+(define-enum-extended Stretch
+ (in-module "Pango")
+ (c-name "PangoStretch")
+ (values
+ '("ultra-condensed" "PANGO_STRETCH_ULTRA_CONDENSED" "0")
+ '("extra-condensed" "PANGO_STRETCH_EXTRA_CONDENSED" "1")
+ '("condensed" "PANGO_STRETCH_CONDENSED" "2")
+ '("semi-condensed" "PANGO_STRETCH_SEMI_CONDENSED" "3")
+ '("normal" "PANGO_STRETCH_NORMAL" "4")
+ '("semi-expanded" "PANGO_STRETCH_SEMI_EXPANDED" "5")
+ '("expanded" "PANGO_STRETCH_EXPANDED" "6")
+ '("extra-expanded" "PANGO_STRETCH_EXTRA_EXPANDED" "7")
+ '("ultra-expanded" "PANGO_STRETCH_ULTRA_EXPANDED" "8")
+ )
+)
+
+(define-flags-extended FontMask
+ (in-module "Pango")
+ (c-name "PangoFontMask")
+ (values
+ '("family" "PANGO_FONT_MASK_FAMILY" "1 << 0")
+ '("style" "PANGO_FONT_MASK_STYLE" "1 << 1")
+ '("variant" "PANGO_FONT_MASK_VARIANT" "1 << 2")
+ '("weight" "PANGO_FONT_MASK_WEIGHT" "1 << 3")
+ '("stretch" "PANGO_FONT_MASK_STRETCH" "1 << 4")
+ '("size" "PANGO_FONT_MASK_SIZE" "1 << 5")
+ '("gravity" "PANGO_FONT_MASK_GRAVITY" "1 << 6")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/pango/pango/pango-gravity.h
+
+(define-enum-extended Gravity
+ (in-module "Pango")
+ (c-name "PangoGravity")
+ (values
+ '("south" "PANGO_GRAVITY_SOUTH" "0")
+ '("east" "PANGO_GRAVITY_EAST" "1")
+ '("north" "PANGO_GRAVITY_NORTH" "2")
+ '("west" "PANGO_GRAVITY_WEST" "3")
+ '("auto" "PANGO_GRAVITY_AUTO" "4")
+ )
+)
+
+(define-enum-extended GravityHint
+ (in-module "Pango")
+ (c-name "PangoGravityHint")
+ (values
+ '("natural" "PANGO_GRAVITY_HINT_NATURAL" "0")
+ '("strong" "PANGO_GRAVITY_HINT_STRONG" "1")
+ '("line" "PANGO_GRAVITY_HINT_LINE" "2")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/pango/pango/pango-layout.h
+
+(define-enum-extended Alignment
+ (in-module "Pango")
+ (c-name "PangoAlignment")
+ (values
+ '("left" "PANGO_ALIGN_LEFT" "0")
+ '("center" "PANGO_ALIGN_CENTER" "1")
+ '("right" "PANGO_ALIGN_RIGHT" "2")
+ )
+)
+
+(define-enum-extended WrapMode
+ (in-module "Pango")
+ (c-name "PangoWrapMode")
+ (values
+ '("word" "PANGO_WRAP_WORD" "0")
+ '("char" "PANGO_WRAP_CHAR" "1")
+ '("word-char" "PANGO_WRAP_WORD_CHAR" "2")
+ )
+)
+
+(define-enum-extended EllipsizeMode
+ (in-module "Pango")
+ (c-name "PangoEllipsizeMode")
+ (values
+ '("none" "PANGO_ELLIPSIZE_NONE" "0")
+ '("start" "PANGO_ELLIPSIZE_START" "1")
+ '("middle" "PANGO_ELLIPSIZE_MIDDLE" "2")
+ '("end" "PANGO_ELLIPSIZE_END" "3")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/pango/pango/pango-ot.h
+
+(define-enum-extended OTTableType
+ (in-module "Pango")
+ (c-name "PangoOTTableType")
+ (values
+ '("gsub" "PANGO_OT_TABLE_GSUB" "0")
+ '("gpos" "PANGO_OT_TABLE_GPOS" "1")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/pango/pango/pango-renderer.h
+
+(define-enum-extended RenderPart
+ (in-module "Pango")
+ (c-name "PangoRenderPart")
+ (values
+ '("foreground" "PANGO_RENDER_PART_FOREGROUND" "0")
+ '("background" "PANGO_RENDER_PART_BACKGROUND" "1")
+ '("underline" "PANGO_RENDER_PART_UNDERLINE" "2")
+ '("strikethrough" "PANGO_RENDER_PART_STRIKETHROUGH" "3")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/pango/pango/pango-script.h
+
+(define-enum-extended Script
+ (in-module "Pango")
+ (c-name "PangoScript")
+ (values
+ '("invalid-code" "PANGO_SCRIPT_INVALID_CODE" "-1")
+ '("common" "PANGO_SCRIPT_COMMON" "0")
+ '("inherited" "PANGO_SCRIPT_INHERITED" "1")
+ '("arabic" "PANGO_SCRIPT_ARABIC" "2")
+ '("armenian" "PANGO_SCRIPT_ARMENIAN" "3")
+ '("bengali" "PANGO_SCRIPT_BENGALI" "4")
+ '("bopomofo" "PANGO_SCRIPT_BOPOMOFO" "5")
+ '("cherokee" "PANGO_SCRIPT_CHEROKEE" "6")
+ '("coptic" "PANGO_SCRIPT_COPTIC" "7")
+ '("cyrillic" "PANGO_SCRIPT_CYRILLIC" "8")
+ '("deseret" "PANGO_SCRIPT_DESERET" "9")
+ '("devanagari" "PANGO_SCRIPT_DEVANAGARI" "10")
+ '("ethiopic" "PANGO_SCRIPT_ETHIOPIC" "11")
+ '("georgian" "PANGO_SCRIPT_GEORGIAN" "12")
+ '("gothic" "PANGO_SCRIPT_GOTHIC" "13")
+ '("greek" "PANGO_SCRIPT_GREEK" "14")
+ '("gujarati" "PANGO_SCRIPT_GUJARATI" "15")
+ '("gurmukhi" "PANGO_SCRIPT_GURMUKHI" "16")
+ '("han" "PANGO_SCRIPT_HAN" "17")
+ '("hangul" "PANGO_SCRIPT_HANGUL" "18")
+ '("hebrew" "PANGO_SCRIPT_HEBREW" "19")
+ '("hiragana" "PANGO_SCRIPT_HIRAGANA" "20")
+ '("kannada" "PANGO_SCRIPT_KANNADA" "21")
+ '("katakana" "PANGO_SCRIPT_KATAKANA" "22")
+ '("khmer" "PANGO_SCRIPT_KHMER" "23")
+ '("lao" "PANGO_SCRIPT_LAO" "24")
+ '("latin" "PANGO_SCRIPT_LATIN" "25")
+ '("malayalam" "PANGO_SCRIPT_MALAYALAM" "26")
+ '("mongolian" "PANGO_SCRIPT_MONGOLIAN" "27")
+ '("myanmar" "PANGO_SCRIPT_MYANMAR" "28")
+ '("ogham" "PANGO_SCRIPT_OGHAM" "29")
+ '("old-italic" "PANGO_SCRIPT_OLD_ITALIC" "30")
+ '("oriya" "PANGO_SCRIPT_ORIYA" "31")
+ '("runic" "PANGO_SCRIPT_RUNIC" "32")
+ '("sinhala" "PANGO_SCRIPT_SINHALA" "33")
+ '("syriac" "PANGO_SCRIPT_SYRIAC" "34")
+ '("tamil" "PANGO_SCRIPT_TAMIL" "35")
+ '("telugu" "PANGO_SCRIPT_TELUGU" "36")
+ '("thaana" "PANGO_SCRIPT_THAANA" "37")
+ '("thai" "PANGO_SCRIPT_THAI" "38")
+ '("tibetan" "PANGO_SCRIPT_TIBETAN" "39")
+ '("canadian-aboriginal" "PANGO_SCRIPT_CANADIAN_ABORIGINAL" "40")
+ '("yi" "PANGO_SCRIPT_YI" "41")
+ '("tagalog" "PANGO_SCRIPT_TAGALOG" "42")
+ '("hanunoo" "PANGO_SCRIPT_HANUNOO" "43")
+ '("buhid" "PANGO_SCRIPT_BUHID" "44")
+ '("tagbanwa" "PANGO_SCRIPT_TAGBANWA" "45")
+ '("braille" "PANGO_SCRIPT_BRAILLE" "46")
+ '("cypriot" "PANGO_SCRIPT_CYPRIOT" "47")
+ '("limbu" "PANGO_SCRIPT_LIMBU" "48")
+ '("osmanya" "PANGO_SCRIPT_OSMANYA" "49")
+ '("shavian" "PANGO_SCRIPT_SHAVIAN" "50")
+ '("linear-b" "PANGO_SCRIPT_LINEAR_B" "51")
+ '("tai-le" "PANGO_SCRIPT_TAI_LE" "52")
+ '("ugaritic" "PANGO_SCRIPT_UGARITIC" "53")
+ '("new-tai-lue" "PANGO_SCRIPT_NEW_TAI_LUE" "54")
+ '("buginese" "PANGO_SCRIPT_BUGINESE" "55")
+ '("glagolitic" "PANGO_SCRIPT_GLAGOLITIC" "56")
+ '("tifinagh" "PANGO_SCRIPT_TIFINAGH" "57")
+ '("syloti-nagri" "PANGO_SCRIPT_SYLOTI_NAGRI" "58")
+ '("old-persian" "PANGO_SCRIPT_OLD_PERSIAN" "59")
+ '("kharoshthi" "PANGO_SCRIPT_KHAROSHTHI" "60")
+ '("unknown" "PANGO_SCRIPT_UNKNOWN" "61")
+ '("balinese" "PANGO_SCRIPT_BALINESE" "62")
+ '("cuneiform" "PANGO_SCRIPT_CUNEIFORM" "63")
+ '("phoenician" "PANGO_SCRIPT_PHOENICIAN" "64")
+ '("phags-pa" "PANGO_SCRIPT_PHAGS_PA" "65")
+ '("nko" "PANGO_SCRIPT_NKO" "66")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/pango/pango/pango-tabs.h
+
+(define-enum-extended TabAlign
+ (in-module "Pango")
+ (c-name "PangoTabAlign")
+ (values
+ '("t" "PANGO_TAB_LEFT" "0")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/pango/pango/pango-types.h
+
+(define-enum-extended Direction
+ (in-module "Pango")
+ (c-name "PangoDirection")
+ (values
+ '("ltr" "PANGO_DIRECTION_LTR" "0")
+ '("rtl" "PANGO_DIRECTION_RTL" "1")
+ '("ttb-ltr" "PANGO_DIRECTION_TTB_LTR" "2")
+ '("ttb-rtl" "PANGO_DIRECTION_TTB_RTL" "3")
+ '("weak-ltr" "PANGO_DIRECTION_WEAK_LTR" "4")
+ '("weak-rtl" "PANGO_DIRECTION_WEAK_RTL" "5")
+ '("neutral" "PANGO_DIRECTION_NEUTRAL" "6")
+ )
+)
+
+;; From /home/murrayc/svn/gnome218/pango/pango/pangowin32-private.h
+
+(define-enum-extended Win32CoverageLanguageClass
+ (in-module "Pango")
+ (c-name "PangoWin32CoverageLanguageClass")
+ (values
+ '("coverage-unspec" "PANGO_WIN32_COVERAGE_UNSPEC" "0")
+ '("coverage-zh-tw" "PANGO_WIN32_COVERAGE_ZH_TW" "1")
+ '("coverage-zh-cn" "PANGO_WIN32_COVERAGE_ZH_CN" "2")
+ '("coverage-ja" "PANGO_WIN32_COVERAGE_JA" "3")
+ '("coverage-ko" "PANGO_WIN32_COVERAGE_KO" "4")
+ '("coverage-vi" "PANGO_WIN32_COVERAGE_VI" "5")
+ '("n-coverages" "PANGO_WIN32_N_COVERAGES" "6")
+ )
+)
+
diff --git a/libs/gtkmm2/pango/src/pango_methods.defs b/libs/gtkmm2/pango/src/pango_methods.defs
new file mode 100644
index 0000000000..170191ff7d
--- /dev/null
+++ b/libs/gtkmm2/pango/src/pango_methods.defs
@@ -0,0 +1,5248 @@
+;; -*- scheme -*-
+; object definitions ...
+(define-object CairoFont
+ (in-module "Pango")
+ (c-name "PangoCairoFont")
+ (gtype-id "PANGO_TYPE_CAIRO_FONT")
+)
+
+(define-object CairoFontMap
+ (in-module "Pango")
+ (c-name "PangoCairoFontMap")
+ (gtype-id "PANGO_TYPE_CAIRO_FONT_MAP")
+)
+
+(define-object Engine
+ (in-module "Pango")
+ (parent "GObject")
+ (c-name "PangoEngine")
+ (gtype-id "PANGO_TYPE_ENGINE")
+)
+
+(define-object EngineLang
+ (in-module "Pango")
+ (parent "PangoEngine")
+ (c-name "PangoEngineLang")
+ (gtype-id "PANGO_TYPE_ENGINE_LANG")
+)
+
+(define-object EngineShape
+ (in-module "Pango")
+ (parent "PangoEngine")
+ (c-name "PangoEngineShape")
+ (gtype-id "PANGO_TYPE_ENGINE_SHAPE")
+)
+
+(define-object FcDecoder
+ (in-module "Pango")
+ (parent "GObject")
+ (c-name "PangoFcDecoder")
+ (gtype-id "PANGO_TYPE_FC_DECODER")
+)
+
+(define-object Font
+ (in-module "Pango")
+ (parent "GObject")
+ (c-name "PangoFont")
+ (gtype-id "PANGO_TYPE_FONT")
+)
+
+(define-object FcFont
+ (in-module "Pango")
+ (parent "PangoFont")
+ (c-name "PangoFcFont")
+ (gtype-id "PANGO_TYPE_FC_FONT")
+)
+
+(define-object ATSUIFont
+ (in-module "Pango")
+ (parent "PangoFont")
+ (c-name "PangoATSUIFont")
+ (gtype-id "PANGO_TYPE_ATSUI_FONT")
+)
+
+(define-object FontFace
+ (in-module "Pango")
+ (parent "GObject")
+ (c-name "PangoFontFace")
+ (gtype-id "PANGO_TYPE_FONT_FACE")
+)
+
+(define-object FontFamily
+ (in-module "Pango")
+ (parent "GObject")
+ (c-name "PangoFontFamily")
+ (gtype-id "PANGO_TYPE_FONT_FAMILY")
+)
+
+(define-object FontMap
+ (in-module "Pango")
+ (parent "GObject")
+ (c-name "PangoFontMap")
+ (gtype-id "PANGO_TYPE_FONT_MAP")
+)
+
+(define-object FcFontMap
+ (in-module "Pango")
+ (parent "PangoFontMap")
+ (c-name "PangoFcFontMap")
+ (gtype-id "PANGO_TYPE_FC_FONT_MAP")
+)
+
+(define-object ATSUIFontMap
+ (in-module "Pango")
+ (parent "PangoFontMap")
+ (c-name "PangoATSUIFontMap")
+ (gtype-id "PANGO_TYPE_ATSUI_FONT_MAP")
+)
+
+(define-object Fontset
+ (in-module "Pango")
+ (parent "GObject")
+ (c-name "PangoFontset")
+ (gtype-id "PANGO_TYPE_FONTSET")
+)
+
+(define-object OTInfo
+ (in-module "Pango")
+ (parent "GObject")
+ (c-name "PangoOTInfo")
+ (gtype-id "PANGO_TYPE_OT_INFO")
+)
+
+(define-object OTRuleset
+ (in-module "Pango")
+ (parent "GObject")
+ (c-name "PangoOTRuleset")
+ (gtype-id "PANGO_TYPE_OT_RULESET")
+)
+
+(define-object Renderer
+ (in-module "Pango")
+ (parent "GObject")
+ (c-name "PangoRenderer")
+ (gtype-id "PANGO_TYPE_RENDERER")
+)
+
+(define-object Win32Font
+ (in-module "Pango")
+ (parent "PangoFont")
+ (c-name "PangoWin32Font")
+ (gtype-id "PANGO_TYPE_WIN32_FONT")
+)
+
+(define-object Win32FontMap
+ (in-module "Pango")
+ (parent "PangoFontMap")
+ (c-name "PangoWin32FontMap")
+ (gtype-id "PANGO_TYPE_WIN32_FONT_MAP")
+)
+
+(define-object XftRenderer
+ (in-module "Pango")
+ (parent "PangoRenderer")
+ (c-name "PangoXftRenderer")
+ (gtype-id "PANGO_TYPE_XFT_RENDERER")
+)
+
+;; Enumerations and flags ...
+
+(define-enum AttrType
+ (in-module "Pango")
+ (c-name "PangoAttrType")
+ (gtype-id "PANGO_TYPE_ATTR_TYPE")
+ (values
+ '("invalid" "PANGO_ATTR_INVALID")
+ '("language" "PANGO_ATTR_LANGUAGE")
+ '("family" "PANGO_ATTR_FAMILY")
+ '("style" "PANGO_ATTR_STYLE")
+ '("weight" "PANGO_ATTR_WEIGHT")
+ '("variant" "PANGO_ATTR_VARIANT")
+ '("stretch" "PANGO_ATTR_STRETCH")
+ '("size" "PANGO_ATTR_SIZE")
+ '("font-desc" "PANGO_ATTR_FONT_DESC")
+ '("foreground" "PANGO_ATTR_FOREGROUND")
+ '("background" "PANGO_ATTR_BACKGROUND")
+ '("underline" "PANGO_ATTR_UNDERLINE")
+ '("strikethrough" "PANGO_ATTR_STRIKETHROUGH")
+ '("rise" "PANGO_ATTR_RISE")
+ '("shape" "PANGO_ATTR_SHAPE")
+ '("scale" "PANGO_ATTR_SCALE")
+ '("fallback" "PANGO_ATTR_FALLBACK")
+ '("letter-spacing" "PANGO_ATTR_LETTER_SPACING")
+ '("underline-color" "PANGO_ATTR_UNDERLINE_COLOR")
+ '("strikethrough-color" "PANGO_ATTR_STRIKETHROUGH_COLOR")
+ '("absolute-size" "PANGO_ATTR_ABSOLUTE_SIZE")
+ '("gravity" "PANGO_ATTR_GRAVITY")
+ '("gravity-hint" "PANGO_ATTR_GRAVITY_HINT")
+ )
+)
+
+(define-enum Underline
+ (in-module "Pango")
+ (c-name "PangoUnderline")
+ (gtype-id "PANGO_TYPE_UNDERLINE")
+ (values
+ '("none" "PANGO_UNDERLINE_NONE")
+ '("single" "PANGO_UNDERLINE_SINGLE")
+ '("double" "PANGO_UNDERLINE_DOUBLE")
+ '("low" "PANGO_UNDERLINE_LOW")
+ '("error" "PANGO_UNDERLINE_ERROR")
+ )
+)
+
+(define-enum CoverageLevel
+ (in-module "Pango")
+ (c-name "PangoCoverageLevel")
+ (gtype-id "PANGO_TYPE_COVERAGE_LEVEL")
+ (values
+ '("none" "PANGO_COVERAGE_NONE")
+ '("fallback" "PANGO_COVERAGE_FALLBACK")
+ '("approximate" "PANGO_COVERAGE_APPROXIMATE")
+ '("exact" "PANGO_COVERAGE_EXACT")
+ )
+)
+
+(define-enum Style
+ (in-module "Pango")
+ (c-name "PangoStyle")
+ (gtype-id "PANGO_TYPE_STYLE")
+ (values
+ '("normal" "PANGO_STYLE_NORMAL")
+ '("oblique" "PANGO_STYLE_OBLIQUE")
+ '("italic" "PANGO_STYLE_ITALIC")
+ )
+)
+
+(define-enum Variant
+ (in-module "Pango")
+ (c-name "PangoVariant")
+ (gtype-id "PANGO_TYPE_VARIANT")
+ (values
+ '("normal" "PANGO_VARIANT_NORMAL")
+ '("small-caps" "PANGO_VARIANT_SMALL_CAPS")
+ )
+)
+
+(define-enum Weight
+ (in-module "Pango")
+ (c-name "PangoWeight")
+ (gtype-id "PANGO_TYPE_WEIGHT")
+ (values
+ '("ultralight" "PANGO_WEIGHT_ULTRALIGHT")
+ '("light" "PANGO_WEIGHT_LIGHT")
+ '("normal" "PANGO_WEIGHT_NORMAL")
+ '("semibold" "PANGO_WEIGHT_SEMIBOLD")
+ '("bold" "PANGO_WEIGHT_BOLD")
+ '("ultrabold" "PANGO_WEIGHT_ULTRABOLD")
+ '("heavy" "PANGO_WEIGHT_HEAVY")
+ )
+)
+
+(define-enum Stretch
+ (in-module "Pango")
+ (c-name "PangoStretch")
+ (gtype-id "PANGO_TYPE_STRETCH")
+ (values
+ '("ultra-condensed" "PANGO_STRETCH_ULTRA_CONDENSED")
+ '("extra-condensed" "PANGO_STRETCH_EXTRA_CONDENSED")
+ '("condensed" "PANGO_STRETCH_CONDENSED")
+ '("semi-condensed" "PANGO_STRETCH_SEMI_CONDENSED")
+ '("normal" "PANGO_STRETCH_NORMAL")
+ '("semi-expanded" "PANGO_STRETCH_SEMI_EXPANDED")
+ '("expanded" "PANGO_STRETCH_EXPANDED")
+ '("extra-expanded" "PANGO_STRETCH_EXTRA_EXPANDED")
+ '("ultra-expanded" "PANGO_STRETCH_ULTRA_EXPANDED")
+ )
+)
+
+(define-flags FontMask
+ (in-module "Pango")
+ (c-name "PangoFontMask")
+ (gtype-id "PANGO_TYPE_FONT_MASK")
+ (values
+ '("family" "PANGO_FONT_MASK_FAMILY")
+ '("style" "PANGO_FONT_MASK_STYLE")
+ '("variant" "PANGO_FONT_MASK_VARIANT")
+ '("weight" "PANGO_FONT_MASK_WEIGHT")
+ '("stretch" "PANGO_FONT_MASK_STRETCH")
+ '("size" "PANGO_FONT_MASK_SIZE")
+ '("gravity" "PANGO_FONT_MASK_GRAVITY")
+ )
+)
+
+(define-enum Gravity
+ (in-module "Pango")
+ (c-name "PangoGravity")
+ (gtype-id "PANGO_TYPE_GRAVITY")
+ (values
+ '("south" "PANGO_GRAVITY_SOUTH")
+ '("east" "PANGO_GRAVITY_EAST")
+ '("north" "PANGO_GRAVITY_NORTH")
+ '("west" "PANGO_GRAVITY_WEST")
+ '("auto" "PANGO_GRAVITY_AUTO")
+ )
+)
+
+(define-enum GravityHint
+ (in-module "Pango")
+ (c-name "PangoGravityHint")
+ (gtype-id "PANGO_TYPE_GRAVITY_HINT")
+ (values
+ '("natural" "PANGO_GRAVITY_HINT_NATURAL")
+ '("strong" "PANGO_GRAVITY_HINT_STRONG")
+ '("line" "PANGO_GRAVITY_HINT_LINE")
+ )
+)
+
+(define-enum Alignment
+ (in-module "Pango")
+ (c-name "PangoAlignment")
+ (gtype-id "PANGO_TYPE_ALIGNMENT")
+ (values
+ '("left" "PANGO_ALIGN_LEFT")
+ '("center" "PANGO_ALIGN_CENTER")
+ '("right" "PANGO_ALIGN_RIGHT")
+ )
+)
+
+(define-enum WrapMode
+ (in-module "Pango")
+ (c-name "PangoWrapMode")
+ (gtype-id "PANGO_TYPE_WRAP_MODE")
+ (values
+ '("word" "PANGO_WRAP_WORD")
+ '("char" "PANGO_WRAP_CHAR")
+ '("word-char" "PANGO_WRAP_WORD_CHAR")
+ )
+)
+
+(define-enum EllipsizeMode
+ (in-module "Pango")
+ (c-name "PangoEllipsizeMode")
+ (gtype-id "PANGO_TYPE_ELLIPSIZE_MODE")
+ (values
+ '("none" "PANGO_ELLIPSIZE_NONE")
+ '("start" "PANGO_ELLIPSIZE_START")
+ '("middle" "PANGO_ELLIPSIZE_MIDDLE")
+ '("end" "PANGO_ELLIPSIZE_END")
+ )
+)
+
+(define-enum OTTableType
+ (in-module "Pango")
+ (c-name "PangoOTTableType")
+ (gtype-id "PANGO_TYPE_OT_TABLE_TYPE")
+ (values
+ '("sub" "PANGO_OT_TABLE_GSUB")
+ '("pos" "PANGO_OT_TABLE_GPOS")
+ )
+)
+
+(define-enum RenderPart
+ (in-module "Pango")
+ (c-name "PangoRenderPart")
+ (gtype-id "PANGO_TYPE_RENDER_PART")
+ (values
+ '("foreground" "PANGO_RENDER_PART_FOREGROUND")
+ '("background" "PANGO_RENDER_PART_BACKGROUND")
+ '("underline" "PANGO_RENDER_PART_UNDERLINE")
+ '("strikethrough" "PANGO_RENDER_PART_STRIKETHROUGH")
+ )
+)
+
+(define-enum Script
+ (in-module "Pango")
+ (c-name "PangoScript")
+ (gtype-id "PANGO_TYPE_SCRIPT")
+ (values
+ '("invalid-code" "PANGO_SCRIPT_INVALID_CODE")
+ '("common" "PANGO_SCRIPT_COMMON")
+ '("inherited" "PANGO_SCRIPT_INHERITED")
+ '("arabic" "PANGO_SCRIPT_ARABIC")
+ '("armenian" "PANGO_SCRIPT_ARMENIAN")
+ '("bengali" "PANGO_SCRIPT_BENGALI")
+ '("bopomofo" "PANGO_SCRIPT_BOPOMOFO")
+ '("cherokee" "PANGO_SCRIPT_CHEROKEE")
+ '("coptic" "PANGO_SCRIPT_COPTIC")
+ '("cyrillic" "PANGO_SCRIPT_CYRILLIC")
+ '("deseret" "PANGO_SCRIPT_DESERET")
+ '("devanagari" "PANGO_SCRIPT_DEVANAGARI")
+ '("ethiopic" "PANGO_SCRIPT_ETHIOPIC")
+ '("georgian" "PANGO_SCRIPT_GEORGIAN")
+ '("gothic" "PANGO_SCRIPT_GOTHIC")
+ '("greek" "PANGO_SCRIPT_GREEK")
+ '("gujarati" "PANGO_SCRIPT_GUJARATI")
+ '("gurmukhi" "PANGO_SCRIPT_GURMUKHI")
+ '("han" "PANGO_SCRIPT_HAN")
+ '("hangul" "PANGO_SCRIPT_HANGUL")
+ '("hebrew" "PANGO_SCRIPT_HEBREW")
+ '("hiragana" "PANGO_SCRIPT_HIRAGANA")
+ '("kannada" "PANGO_SCRIPT_KANNADA")
+ '("katakana" "PANGO_SCRIPT_KATAKANA")
+ '("khmer" "PANGO_SCRIPT_KHMER")
+ '("lao" "PANGO_SCRIPT_LAO")
+ '("latin" "PANGO_SCRIPT_LATIN")
+ '("malayalam" "PANGO_SCRIPT_MALAYALAM")
+ '("mongolian" "PANGO_SCRIPT_MONGOLIAN")
+ '("myanmar" "PANGO_SCRIPT_MYANMAR")
+ '("ogham" "PANGO_SCRIPT_OGHAM")
+ '("old-italic" "PANGO_SCRIPT_OLD_ITALIC")
+ '("oriya" "PANGO_SCRIPT_ORIYA")
+ '("runic" "PANGO_SCRIPT_RUNIC")
+ '("sinhala" "PANGO_SCRIPT_SINHALA")
+ '("syriac" "PANGO_SCRIPT_SYRIAC")
+ '("tamil" "PANGO_SCRIPT_TAMIL")
+ '("telugu" "PANGO_SCRIPT_TELUGU")
+ '("thaana" "PANGO_SCRIPT_THAANA")
+ '("thai" "PANGO_SCRIPT_THAI")
+ '("tibetan" "PANGO_SCRIPT_TIBETAN")
+ '("canadian-aboriginal" "PANGO_SCRIPT_CANADIAN_ABORIGINAL")
+ '("yi" "PANGO_SCRIPT_YI")
+ '("tagalog" "PANGO_SCRIPT_TAGALOG")
+ '("hanunoo" "PANGO_SCRIPT_HANUNOO")
+ '("buhid" "PANGO_SCRIPT_BUHID")
+ '("tagbanwa" "PANGO_SCRIPT_TAGBANWA")
+ '("braille" "PANGO_SCRIPT_BRAILLE")
+ '("cypriot" "PANGO_SCRIPT_CYPRIOT")
+ '("limbu" "PANGO_SCRIPT_LIMBU")
+ '("osmanya" "PANGO_SCRIPT_OSMANYA")
+ '("shavian" "PANGO_SCRIPT_SHAVIAN")
+ '("linear-b" "PANGO_SCRIPT_LINEAR_B")
+ '("tai-le" "PANGO_SCRIPT_TAI_LE")
+ '("ugaritic" "PANGO_SCRIPT_UGARITIC")
+ '("new-tai-lue" "PANGO_SCRIPT_NEW_TAI_LUE")
+ '("buginese" "PANGO_SCRIPT_BUGINESE")
+ '("glagolitic" "PANGO_SCRIPT_GLAGOLITIC")
+ '("tifinagh" "PANGO_SCRIPT_TIFINAGH")
+ '("syloti-nagri" "PANGO_SCRIPT_SYLOTI_NAGRI")
+ '("old-persian" "PANGO_SCRIPT_OLD_PERSIAN")
+ '("kharoshthi" "PANGO_SCRIPT_KHAROSHTHI")
+ '("unknown" "PANGO_SCRIPT_UNKNOWN")
+ '("balinese" "PANGO_SCRIPT_BALINESE")
+ '("cuneiform" "PANGO_SCRIPT_CUNEIFORM")
+ '("phoenician" "PANGO_SCRIPT_PHOENICIAN")
+ '("phags-pa" "PANGO_SCRIPT_PHAGS_PA")
+ '("nko" "PANGO_SCRIPT_NKO")
+ )
+)
+
+(define-enum TabAlign
+ (in-module "Pango")
+ (c-name "PangoTabAlign")
+ (gtype-id "PANGO_TYPE_TAB_ALIGN")
+ (values
+ '("t" "PANGO_TAB_LEFT")
+ )
+)
+
+(define-enum Direction
+ (in-module "Pango")
+ (c-name "PangoDirection")
+ (gtype-id "PANGO_TYPE_DIRECTION")
+ (values
+ '("ltr" "PANGO_DIRECTION_LTR")
+ '("rtl" "PANGO_DIRECTION_RTL")
+ '("ttb-ltr" "PANGO_DIRECTION_TTB_LTR")
+ '("ttb-rtl" "PANGO_DIRECTION_TTB_RTL")
+ '("weak-ltr" "PANGO_DIRECTION_WEAK_LTR")
+ '("weak-rtl" "PANGO_DIRECTION_WEAK_RTL")
+ '("neutral" "PANGO_DIRECTION_NEUTRAL")
+ )
+)
+
+
+;; From module-defs.h
+
+
+
+;; From modules.h
+
+
+
+;; From pangoatsui.h
+
+(define-method get_atsu_font_id
+ (of-object "PangoATSUIFont")
+ (c-name "pango_atsui_font_get_atsu_font_id")
+ (return-type "ATSUFontID")
+)
+
+(define-function pango_atsui_font_get_type
+ (c-name "pango_atsui_font_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From pangoatsui-private.h
+
+(define-function pango_atsui_font_map_get_type
+ (c-name "pango_atsui_font_map_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From pango-attributes.h
+
+(define-function pango_color_get_type
+ (c-name "pango_color_get_type")
+ (return-type "GType")
+)
+
+(define-method copy
+ (of-object "PangoColor")
+ (c-name "pango_color_copy")
+ (return-type "PangoColor*")
+)
+
+(define-method free
+ (of-object "PangoColor")
+ (c-name "pango_color_free")
+ (return-type "none")
+)
+
+(define-method parse
+ (of-object "PangoColor")
+ (c-name "pango_color_parse")
+ (return-type "gboolean")
+ (parameters
+ '("const-char*" "spec")
+ )
+)
+
+(define-method to_string
+ (of-object "PangoColor")
+ (c-name "pango_color_to_string")
+ (return-type "gchar*")
+)
+
+(define-function pango_attr_type_register
+ (c-name "pango_attr_type_register")
+ (return-type "PangoAttrType")
+ (parameters
+ '("const-gchar*" "name")
+ )
+)
+
+(define-method copy
+ (of-object "PangoAttribute")
+ (c-name "pango_attribute_copy")
+ (return-type "PangoAttribute*")
+)
+
+(define-method destroy
+ (of-object "PangoAttribute")
+ (c-name "pango_attribute_destroy")
+ (return-type "none")
+)
+
+(define-method equal
+ (of-object "PangoAttribute")
+ (c-name "pango_attribute_equal")
+ (return-type "gboolean")
+ (parameters
+ '("const-PangoAttribute*" "attr2")
+ )
+)
+
+(define-function pango_attr_language_new
+ (c-name "pango_attr_language_new")
+ (is-constructor-of "PangoAttrLanguage")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("PangoLanguage*" "language")
+ )
+)
+
+(define-function pango_attr_family_new
+ (c-name "pango_attr_family_new")
+ (is-constructor-of "PangoAttrFamily")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("const-char*" "family")
+ )
+)
+
+(define-function pango_attr_foreground_new
+ (c-name "pango_attr_foreground_new")
+ (is-constructor-of "PangoAttrForeground")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("guint16" "red")
+ '("guint16" "green")
+ '("guint16" "blue")
+ )
+)
+
+(define-function pango_attr_background_new
+ (c-name "pango_attr_background_new")
+ (is-constructor-of "PangoAttrBackground")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("guint16" "red")
+ '("guint16" "green")
+ '("guint16" "blue")
+ )
+)
+
+(define-function pango_attr_size_new
+ (c-name "pango_attr_size_new")
+ (is-constructor-of "PangoAttrSize")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("int" "size")
+ )
+)
+
+(define-function pango_attr_size_new_absolute
+ (c-name "pango_attr_size_new_absolute")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("int" "size")
+ )
+)
+
+(define-function pango_attr_style_new
+ (c-name "pango_attr_style_new")
+ (is-constructor-of "PangoAttrStyle")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("PangoStyle" "style")
+ )
+)
+
+(define-function pango_attr_weight_new
+ (c-name "pango_attr_weight_new")
+ (is-constructor-of "PangoAttrWeight")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("PangoWeight" "weight")
+ )
+)
+
+(define-function pango_attr_variant_new
+ (c-name "pango_attr_variant_new")
+ (is-constructor-of "PangoAttrVariant")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("PangoVariant" "variant")
+ )
+)
+
+(define-function pango_attr_stretch_new
+ (c-name "pango_attr_stretch_new")
+ (is-constructor-of "PangoAttrStretch")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("PangoStretch" "stretch")
+ )
+)
+
+(define-function pango_attr_font_desc_new
+ (c-name "pango_attr_font_desc_new")
+ (is-constructor-of "PangoAttrFontDesc")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("const-PangoFontDescription*" "desc")
+ )
+)
+
+(define-function pango_attr_underline_new
+ (c-name "pango_attr_underline_new")
+ (is-constructor-of "PangoAttrUnderline")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("PangoUnderline" "underline")
+ )
+)
+
+(define-function pango_attr_underline_color_new
+ (c-name "pango_attr_underline_color_new")
+ (is-constructor-of "PangoAttrUnderlineColor")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("guint16" "red")
+ '("guint16" "green")
+ '("guint16" "blue")
+ )
+)
+
+(define-function pango_attr_strikethrough_new
+ (c-name "pango_attr_strikethrough_new")
+ (is-constructor-of "PangoAttrStrikethrough")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("gboolean" "strikethrough")
+ )
+)
+
+(define-function pango_attr_strikethrough_color_new
+ (c-name "pango_attr_strikethrough_color_new")
+ (is-constructor-of "PangoAttrStrikethroughColor")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("guint16" "red")
+ '("guint16" "green")
+ '("guint16" "blue")
+ )
+)
+
+(define-function pango_attr_rise_new
+ (c-name "pango_attr_rise_new")
+ (is-constructor-of "PangoAttrRise")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("int" "rise")
+ )
+)
+
+(define-function pango_attr_scale_new
+ (c-name "pango_attr_scale_new")
+ (is-constructor-of "PangoAttrScale")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("double" "scale_factor")
+ )
+)
+
+(define-function pango_attr_fallback_new
+ (c-name "pango_attr_fallback_new")
+ (is-constructor-of "PangoAttrFallback")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("gboolean" "enable_fallback")
+ )
+)
+
+(define-function pango_attr_letter_spacing_new
+ (c-name "pango_attr_letter_spacing_new")
+ (is-constructor-of "PangoAttrLetterSpacing")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("int" "letter_spacing")
+ )
+)
+
+(define-function pango_attr_shape_new
+ (c-name "pango_attr_shape_new")
+ (is-constructor-of "PangoAttrShape")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("const-PangoRectangle*" "ink_rect")
+ '("const-PangoRectangle*" "logical_rect")
+ )
+)
+
+(define-function pango_attr_shape_new_with_data
+ (c-name "pango_attr_shape_new_with_data")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("const-PangoRectangle*" "ink_rect")
+ '("const-PangoRectangle*" "logical_rect")
+ '("gpointer" "data")
+ '("PangoAttrDataCopyFunc" "copy_func")
+ '("GDestroyNotify" "destroy_func")
+ )
+)
+
+(define-function pango_attr_gravity_new
+ (c-name "pango_attr_gravity_new")
+ (is-constructor-of "PangoAttrGravity")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("PangoGravity" "gravity")
+ )
+)
+
+(define-function pango_attr_gravity_hint_new
+ (c-name "pango_attr_gravity_hint_new")
+ (is-constructor-of "PangoAttrGravityHint")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("PangoGravityHint" "hint")
+ )
+)
+
+(define-function pango_attr_list_get_type
+ (c-name "pango_attr_list_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_attr_list_new
+ (c-name "pango_attr_list_new")
+ (is-constructor-of "PangoAttrList")
+ (return-type "PangoAttrList*")
+)
+
+(define-method ref
+ (of-object "PangoAttrList")
+ (c-name "pango_attr_list_ref")
+ (return-type "PangoAttrList*")
+)
+
+(define-method unref
+ (of-object "PangoAttrList")
+ (c-name "pango_attr_list_unref")
+ (return-type "none")
+)
+
+(define-method copy
+ (of-object "PangoAttrList")
+ (c-name "pango_attr_list_copy")
+ (return-type "PangoAttrList*")
+)
+
+(define-method insert
+ (of-object "PangoAttrList")
+ (c-name "pango_attr_list_insert")
+ (return-type "none")
+ (parameters
+ '("PangoAttribute*" "attr")
+ )
+)
+
+(define-method insert_before
+ (of-object "PangoAttrList")
+ (c-name "pango_attr_list_insert_before")
+ (return-type "none")
+ (parameters
+ '("PangoAttribute*" "attr")
+ )
+)
+
+(define-method change
+ (of-object "PangoAttrList")
+ (c-name "pango_attr_list_change")
+ (return-type "none")
+ (parameters
+ '("PangoAttribute*" "attr")
+ )
+)
+
+(define-method splice
+ (of-object "PangoAttrList")
+ (c-name "pango_attr_list_splice")
+ (return-type "none")
+ (parameters
+ '("PangoAttrList*" "other")
+ '("gint" "pos")
+ '("gint" "len")
+ )
+)
+
+(define-method filter
+ (of-object "PangoAttrList")
+ (c-name "pango_attr_list_filter")
+ (return-type "PangoAttrList*")
+ (parameters
+ '("PangoAttrFilterFunc" "func")
+ '("gpointer" "data")
+ )
+)
+
+(define-method get_iterator
+ (of-object "PangoAttrList")
+ (c-name "pango_attr_list_get_iterator")
+ (return-type "PangoAttrIterator*")
+)
+
+(define-method range
+ (of-object "PangoAttrIterator")
+ (c-name "pango_attr_iterator_range")
+ (return-type "none")
+ (parameters
+ '("gint*" "start")
+ '("gint*" "end")
+ )
+)
+
+(define-method next
+ (of-object "PangoAttrIterator")
+ (c-name "pango_attr_iterator_next")
+ (return-type "gboolean")
+)
+
+(define-method copy
+ (of-object "PangoAttrIterator")
+ (c-name "pango_attr_iterator_copy")
+ (return-type "PangoAttrIterator*")
+)
+
+(define-method destroy
+ (of-object "PangoAttrIterator")
+ (c-name "pango_attr_iterator_destroy")
+ (return-type "none")
+)
+
+(define-method get
+ (of-object "PangoAttrIterator")
+ (c-name "pango_attr_iterator_get")
+ (return-type "PangoAttribute*")
+ (parameters
+ '("PangoAttrType" "type")
+ )
+)
+
+(define-method get_font
+ (of-object "PangoAttrIterator")
+ (c-name "pango_attr_iterator_get_font")
+ (return-type "none")
+ (parameters
+ '("PangoFontDescription*" "desc")
+ '("PangoLanguage**" "language")
+ '("GSList**" "extra_attrs")
+ )
+)
+
+(define-method get_attrs
+ (of-object "PangoAttrIterator")
+ (c-name "pango_attr_iterator_get_attrs")
+ (return-type "GSList*")
+)
+
+(define-function pango_parse_markup
+ (c-name "pango_parse_markup")
+ (return-type "gboolean")
+ (parameters
+ '("const-char*" "markup_text")
+ '("int" "length")
+ '("gunichar" "accel_marker")
+ '("PangoAttrList**" "attr_list")
+ '("char**" "text")
+ '("gunichar*" "accel_char")
+ '("GError**" "error")
+ )
+)
+
+
+
+;; From pango-break.h
+
+(define-function pango_break
+ (c-name "pango_break")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "text")
+ '("int" "length")
+ '("PangoAnalysis*" "analysis")
+ '("PangoLogAttr*" "attrs")
+ '("int" "attrs_len")
+ )
+)
+
+(define-function pango_find_paragraph_boundary
+ (c-name "pango_find_paragraph_boundary")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "text")
+ '("gint" "length")
+ '("gint*" "paragraph_delimiter_index")
+ '("gint*" "next_paragraph_start")
+ )
+)
+
+(define-function pango_get_log_attrs
+ (c-name "pango_get_log_attrs")
+ (return-type "none")
+ (parameters
+ '("const-char*" "text")
+ '("int" "length")
+ '("int" "level")
+ '("PangoLanguage*" "language")
+ '("PangoLogAttr*" "log_attrs")
+ '("int" "attrs_len")
+ )
+)
+
+(define-function pango_default_break
+ (c-name "pango_default_break")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "text")
+ '("int" "length")
+ '("PangoAnalysis*" "analysis")
+ '("PangoLogAttr*" "attrs")
+ '("int" "attrs_len")
+ )
+)
+
+
+
+;; From pangocairo-atsuifont.h
+
+(define-function pango_cairo_atsui_font_get_type
+ (c-name "pango_cairo_atsui_font_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From pangocairo-atsui.h
+
+(define-function pango_cairo_atsui_font_map_get_type
+ (c-name "pango_cairo_atsui_font_map_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From pangocairo-fc.h
+
+(define-function pango_cairo_fc_font_map_get_type
+ (c-name "pango_cairo_fc_font_map_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From pangocairo.h
+
+(define-function pango_cairo_font_map_get_type
+ (c-name "pango_cairo_font_map_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_cairo_font_map_new
+ (c-name "pango_cairo_font_map_new")
+ (is-constructor-of "PangoCairoFontMap")
+ (return-type "PangoFontMap*")
+)
+
+(define-function pango_cairo_font_map_new_for_font_type
+ (c-name "pango_cairo_font_map_new_for_font_type")
+ (return-type "PangoFontMap*")
+ (parameters
+ '("cairo_font_type_t" "fonttype")
+ )
+)
+
+(define-function pango_cairo_font_map_get_default
+ (c-name "pango_cairo_font_map_get_default")
+ (return-type "PangoFontMap*")
+)
+
+(define-method get_font_type
+ (of-object "PangoCairoFontMap")
+ (c-name "pango_cairo_font_map_get_font_type")
+ (return-type "cairo_font_type_t")
+)
+
+(define-method set_resolution
+ (of-object "PangoCairoFontMap")
+ (c-name "pango_cairo_font_map_set_resolution")
+ (return-type "none")
+ (parameters
+ '("double" "dpi")
+ )
+)
+
+(define-method get_resolution
+ (of-object "PangoCairoFontMap")
+ (c-name "pango_cairo_font_map_get_resolution")
+ (return-type "double")
+)
+
+(define-method create_context
+ (of-object "PangoCairoFontMap")
+ (c-name "pango_cairo_font_map_create_context")
+ (return-type "PangoContext*")
+)
+
+(define-function pango_cairo_font_get_type
+ (c-name "pango_cairo_font_get_type")
+ (return-type "GType")
+)
+
+(define-method get_scaled_font
+ (of-object "PangoCairoFont")
+ (c-name "pango_cairo_font_get_scaled_font")
+ (return-type "cairo_scaled_font_t*")
+)
+
+(define-function pango_cairo_update_context
+ (c-name "pango_cairo_update_context")
+ (return-type "none")
+ (parameters
+ '("cairo_t*" "cr")
+ '("PangoContext*" "context")
+ )
+)
+
+(define-function pango_cairo_context_set_font_options
+ (c-name "pango_cairo_context_set_font_options")
+ (return-type "none")
+ (parameters
+ '("PangoContext*" "context")
+ '("const-cairo_font_options_t*" "options")
+ )
+)
+
+(define-function pango_cairo_context_get_font_options
+ (c-name "pango_cairo_context_get_font_options")
+ (return-type "const-cairo_font_options_t*")
+ (parameters
+ '("PangoContext*" "context")
+ )
+)
+
+(define-function pango_cairo_context_set_resolution
+ (c-name "pango_cairo_context_set_resolution")
+ (return-type "none")
+ (parameters
+ '("PangoContext*" "context")
+ '("double" "dpi")
+ )
+)
+
+(define-function pango_cairo_context_get_resolution
+ (c-name "pango_cairo_context_get_resolution")
+ (return-type "double")
+ (parameters
+ '("PangoContext*" "context")
+ )
+)
+
+(define-function pango_cairo_context_set_shape_renderer
+ (c-name "pango_cairo_context_set_shape_renderer")
+ (return-type "none")
+ (parameters
+ '("PangoContext*" "context")
+ '("PangoCairoShapeRendererFunc" "func")
+ '("gpointer" "data")
+ '("GDestroyNotify" "dnotify")
+ )
+)
+
+(define-function pango_cairo_context_get_shape_renderer
+ (c-name "pango_cairo_context_get_shape_renderer")
+ (return-type "PangoCairoShapeRendererFunc")
+ (parameters
+ '("PangoContext*" "context")
+ '("gpointer*" "data")
+ )
+)
+
+(define-function pango_cairo_create_layout
+ (c-name "pango_cairo_create_layout")
+ (return-type "PangoLayout*")
+ (parameters
+ '("cairo_t*" "cr")
+ )
+)
+
+(define-function pango_cairo_update_layout
+ (c-name "pango_cairo_update_layout")
+ (return-type "none")
+ (parameters
+ '("cairo_t*" "cr")
+ '("PangoLayout*" "layout")
+ )
+)
+
+(define-function pango_cairo_show_glyph_string
+ (c-name "pango_cairo_show_glyph_string")
+ (return-type "none")
+ (parameters
+ '("cairo_t*" "cr")
+ '("PangoFont*" "font")
+ '("PangoGlyphString*" "glyphs")
+ )
+)
+
+(define-function pango_cairo_show_layout_line
+ (c-name "pango_cairo_show_layout_line")
+ (return-type "none")
+ (parameters
+ '("cairo_t*" "cr")
+ '("PangoLayoutLine*" "line")
+ )
+)
+
+(define-function pango_cairo_show_layout
+ (c-name "pango_cairo_show_layout")
+ (return-type "none")
+ (parameters
+ '("cairo_t*" "cr")
+ '("PangoLayout*" "layout")
+ )
+)
+
+(define-function pango_cairo_show_error_underline
+ (c-name "pango_cairo_show_error_underline")
+ (return-type "none")
+ (parameters
+ '("cairo_t*" "cr")
+ '("double" "x")
+ '("double" "y")
+ '("double" "width")
+ '("double" "height")
+ )
+)
+
+(define-function pango_cairo_glyph_string_path
+ (c-name "pango_cairo_glyph_string_path")
+ (return-type "none")
+ (parameters
+ '("cairo_t*" "cr")
+ '("PangoFont*" "font")
+ '("PangoGlyphString*" "glyphs")
+ )
+)
+
+(define-function pango_cairo_layout_line_path
+ (c-name "pango_cairo_layout_line_path")
+ (return-type "none")
+ (parameters
+ '("cairo_t*" "cr")
+ '("PangoLayoutLine*" "line")
+ )
+)
+
+(define-function pango_cairo_layout_path
+ (c-name "pango_cairo_layout_path")
+ (return-type "none")
+ (parameters
+ '("cairo_t*" "cr")
+ '("PangoLayout*" "layout")
+ )
+)
+
+(define-function pango_cairo_error_underline_path
+ (c-name "pango_cairo_error_underline_path")
+ (return-type "none")
+ (parameters
+ '("cairo_t*" "cr")
+ '("double" "x")
+ '("double" "y")
+ '("double" "width")
+ '("double" "height")
+ )
+)
+
+
+
+;; From pangocairo-private.h
+
+(define-function pango_cairo_renderer_get_type
+ (c-name "pango_cairo_renderer_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From pangocairo-win32.h
+
+(define-function pango_cairo_win32_font_map_get_type
+ (c-name "pango_cairo_win32_font_map_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From pango-color-table.h
+
+
+
+;; From pango-context.h
+
+(define-function pango_context_get_type
+ (c-name "pango_context_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_context_new
+ (c-name "pango_context_new")
+ (is-constructor-of "PangoContext")
+ (return-type "PangoContext*")
+)
+
+(define-method set_font_map
+ (of-object "PangoContext")
+ (c-name "pango_context_set_font_map")
+ (return-type "none")
+ (parameters
+ '("PangoFontMap*" "font_map")
+ )
+)
+
+(define-method get_font_map
+ (of-object "PangoContext")
+ (c-name "pango_context_get_font_map")
+ (return-type "PangoFontMap*")
+)
+
+(define-method list_families
+ (of-object "PangoContext")
+ (c-name "pango_context_list_families")
+ (return-type "none")
+ (parameters
+ '("PangoFontFamily***" "families")
+ '("int*" "n_families")
+ )
+)
+
+(define-method load_font
+ (of-object "PangoContext")
+ (c-name "pango_context_load_font")
+ (return-type "PangoFont*")
+ (parameters
+ '("const-PangoFontDescription*" "desc")
+ )
+)
+
+(define-method load_fontset
+ (of-object "PangoContext")
+ (c-name "pango_context_load_fontset")
+ (return-type "PangoFontset*")
+ (parameters
+ '("const-PangoFontDescription*" "desc")
+ '("PangoLanguage*" "language")
+ )
+)
+
+(define-method get_metrics
+ (of-object "PangoContext")
+ (c-name "pango_context_get_metrics")
+ (return-type "PangoFontMetrics*")
+ (parameters
+ '("const-PangoFontDescription*" "desc")
+ '("PangoLanguage*" "language")
+ )
+)
+
+(define-method set_font_description
+ (of-object "PangoContext")
+ (c-name "pango_context_set_font_description")
+ (return-type "none")
+ (parameters
+ '("const-PangoFontDescription*" "desc")
+ )
+)
+
+(define-method get_font_description
+ (of-object "PangoContext")
+ (c-name "pango_context_get_font_description")
+ (return-type "PangoFontDescription*")
+)
+
+(define-method get_language
+ (of-object "PangoContext")
+ (c-name "pango_context_get_language")
+ (return-type "PangoLanguage*")
+)
+
+(define-method set_language
+ (of-object "PangoContext")
+ (c-name "pango_context_set_language")
+ (return-type "none")
+ (parameters
+ '("PangoLanguage*" "language")
+ )
+)
+
+(define-method set_base_dir
+ (of-object "PangoContext")
+ (c-name "pango_context_set_base_dir")
+ (return-type "none")
+ (parameters
+ '("PangoDirection" "direction")
+ )
+)
+
+(define-method get_base_dir
+ (of-object "PangoContext")
+ (c-name "pango_context_get_base_dir")
+ (return-type "PangoDirection")
+)
+
+(define-method set_base_gravity
+ (of-object "PangoContext")
+ (c-name "pango_context_set_base_gravity")
+ (return-type "none")
+ (parameters
+ '("PangoGravity" "gravity")
+ )
+)
+
+(define-method get_base_gravity
+ (of-object "PangoContext")
+ (c-name "pango_context_get_base_gravity")
+ (return-type "PangoGravity")
+)
+
+(define-method get_gravity
+ (of-object "PangoContext")
+ (c-name "pango_context_get_gravity")
+ (return-type "PangoGravity")
+)
+
+(define-method set_gravity_hint
+ (of-object "PangoContext")
+ (c-name "pango_context_set_gravity_hint")
+ (return-type "none")
+ (parameters
+ '("PangoGravityHint" "hint")
+ )
+)
+
+(define-method get_gravity_hint
+ (of-object "PangoContext")
+ (c-name "pango_context_get_gravity_hint")
+ (return-type "PangoGravityHint")
+)
+
+(define-method set_matrix
+ (of-object "PangoContext")
+ (c-name "pango_context_set_matrix")
+ (return-type "none")
+ (parameters
+ '("const-PangoMatrix*" "matrix")
+ )
+)
+
+(define-method get_matrix
+ (of-object "PangoContext")
+ (c-name "pango_context_get_matrix")
+ (return-type "const-PangoMatrix*")
+)
+
+(define-function pango_itemize
+ (c-name "pango_itemize")
+ (return-type "GList*")
+ (parameters
+ '("PangoContext*" "context")
+ '("const-char*" "text")
+ '("int" "start_index")
+ '("int" "length")
+ '("PangoAttrList*" "attrs")
+ '("PangoAttrIterator*" "cached_iter")
+ )
+)
+
+(define-function pango_itemize_with_base_dir
+ (c-name "pango_itemize_with_base_dir")
+ (return-type "GList*")
+ (parameters
+ '("PangoContext*" "context")
+ '("PangoDirection" "base_dir")
+ '("const-char*" "text")
+ '("int" "start_index")
+ '("int" "length")
+ '("PangoAttrList*" "attrs")
+ '("PangoAttrIterator*" "cached_iter")
+ )
+)
+
+
+
+;; From pango-coverage.h
+
+(define-function pango_coverage_new
+ (c-name "pango_coverage_new")
+ (is-constructor-of "PangoCoverage")
+ (return-type "PangoCoverage*")
+)
+
+(define-method ref
+ (of-object "PangoCoverage")
+ (c-name "pango_coverage_ref")
+ (return-type "PangoCoverage*")
+)
+
+(define-method unref
+ (of-object "PangoCoverage")
+ (c-name "pango_coverage_unref")
+ (return-type "none")
+)
+
+(define-method copy
+ (of-object "PangoCoverage")
+ (c-name "pango_coverage_copy")
+ (return-type "PangoCoverage*")
+)
+
+(define-method get
+ (of-object "PangoCoverage")
+ (c-name "pango_coverage_get")
+ (return-type "PangoCoverageLevel")
+ (parameters
+ '("int" "index_")
+ )
+)
+
+(define-method set
+ (of-object "PangoCoverage")
+ (c-name "pango_coverage_set")
+ (return-type "none")
+ (parameters
+ '("int" "index_")
+ '("PangoCoverageLevel" "level")
+ )
+)
+
+(define-method max
+ (of-object "PangoCoverage")
+ (c-name "pango_coverage_max")
+ (return-type "none")
+ (parameters
+ '("PangoCoverage*" "other")
+ )
+)
+
+(define-method to_bytes
+ (of-object "PangoCoverage")
+ (c-name "pango_coverage_to_bytes")
+ (return-type "none")
+ (parameters
+ '("guchar**" "bytes")
+ '("int*" "n_bytes")
+ )
+)
+
+(define-function pango_coverage_from_bytes
+ (c-name "pango_coverage_from_bytes")
+ (return-type "PangoCoverage*")
+ (parameters
+ '("guchar*" "bytes")
+ '("int" "n_bytes")
+ )
+)
+
+
+
+;; From pango-engine.h
+
+(define-function pango_engine_get_type
+ (c-name "pango_engine_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_engine_lang_get_type
+ (c-name "pango_engine_lang_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_engine_shape_get_type
+ (c-name "pango_engine_shape_get_type")
+ (return-type "GType")
+)
+
+(define-function script_engine_list
+ (c-name "script_engine_list")
+ (return-type "none")
+ (parameters
+ '("PangoEngineInfo**" "engines")
+ '("int*" "n_engines")
+ )
+)
+
+(define-function script_engine_init
+ (c-name "script_engine_init")
+ (return-type "none")
+ (parameters
+ '("GTypeModule*" "module")
+ )
+)
+
+(define-function script_engine_exit
+ (c-name "script_engine_exit")
+ (return-type "none")
+)
+
+(define-function script_engine_create
+ (c-name "script_engine_create")
+ (return-type "PangoEngine*")
+ (parameters
+ '("const-char*" "id")
+ )
+)
+
+
+
+;; From pango-engine-private.h
+
+
+
+;; From pango-enum-types.h
+
+(define-function pango_attr_type_get_type
+ (c-name "pango_attr_type_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_underline_get_type
+ (c-name "pango_underline_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_coverage_level_get_type
+ (c-name "pango_coverage_level_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_style_get_type
+ (c-name "pango_style_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_variant_get_type
+ (c-name "pango_variant_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_weight_get_type
+ (c-name "pango_weight_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_stretch_get_type
+ (c-name "pango_stretch_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_font_mask_get_type
+ (c-name "pango_font_mask_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_gravity_get_type
+ (c-name "pango_gravity_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_gravity_hint_get_type
+ (c-name "pango_gravity_hint_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_alignment_get_type
+ (c-name "pango_alignment_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_wrap_mode_get_type
+ (c-name "pango_wrap_mode_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_ellipsize_mode_get_type
+ (c-name "pango_ellipsize_mode_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_render_part_get_type
+ (c-name "pango_render_part_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_script_get_type
+ (c-name "pango_script_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_tab_align_get_type
+ (c-name "pango_tab_align_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_direction_get_type
+ (c-name "pango_direction_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From pangofc-decoder.h
+
+(define-function pango_fc_decoder_get_type
+ (c-name "pango_fc_decoder_get_type")
+ (return-type "GType")
+)
+
+(define-method get_charset
+ (of-object "PangoFcDecoder")
+ (c-name "pango_fc_decoder_get_charset")
+ (return-type "FcCharSet*")
+ (parameters
+ '("PangoFcFont*" "fcfont")
+ )
+)
+
+(define-method get_glyph
+ (of-object "PangoFcDecoder")
+ (c-name "pango_fc_decoder_get_glyph")
+ (return-type "PangoGlyph")
+ (parameters
+ '("PangoFcFont*" "fcfont")
+ '("guint32" "wc")
+ )
+)
+
+
+
+;; From pangofc-font.h
+
+(define-method has_char
+ (of-object "PangoFcFont")
+ (c-name "pango_fc_font_has_char")
+ (return-type "gboolean")
+ (parameters
+ '("gunichar" "wc")
+ )
+)
+
+(define-method get_glyph
+ (of-object "PangoFcFont")
+ (c-name "pango_fc_font_get_glyph")
+ (return-type "guint")
+ (parameters
+ '("gunichar" "wc")
+ )
+)
+
+(define-method get_unknown_glyph
+ (of-object "PangoFcFont")
+ (c-name "pango_fc_font_get_unknown_glyph")
+ (return-type "PangoGlyph")
+ (parameters
+ '("gunichar" "wc")
+ )
+)
+
+(define-method kern_glyphs
+ (of-object "PangoFcFont")
+ (c-name "pango_fc_font_kern_glyphs")
+ (return-type "none")
+ (parameters
+ '("PangoGlyphString*" "glyphs")
+ )
+)
+
+(define-function pango_fc_font_get_type
+ (c-name "pango_fc_font_get_type")
+ (return-type "GType")
+)
+
+(define-method lock_face
+ (of-object "PangoFcFont")
+ (c-name "pango_fc_font_lock_face")
+ (return-type "FT_Face")
+)
+
+(define-method unlock_face
+ (of-object "PangoFcFont")
+ (c-name "pango_fc_font_unlock_face")
+ (return-type "none")
+)
+
+
+
+;; From pangofc-fontmap.h
+
+(define-method create_context
+ (of-object "PangoFcFontMap")
+ (c-name "pango_fc_font_map_create_context")
+ (return-type "PangoContext*")
+)
+
+(define-method cache_clear
+ (of-object "PangoFcFontMap")
+ (c-name "pango_fc_font_map_cache_clear")
+ (return-type "none")
+)
+
+(define-method shutdown
+ (of-object "PangoFcFontMap")
+ (c-name "pango_fc_font_map_shutdown")
+ (return-type "none")
+)
+
+(define-function pango_fc_font_map_get_type
+ (c-name "pango_fc_font_map_get_type")
+ (return-type "GType")
+)
+
+(define-method add_decoder_find_func
+ (of-object "PangoFcFontMap")
+ (c-name "pango_fc_font_map_add_decoder_find_func")
+ (return-type "none")
+ (parameters
+ '("PangoFcDecoderFindFunc" "findfunc")
+ '("gpointer" "user_data")
+ '("GDestroyNotify" "dnotify")
+ )
+)
+
+(define-function pango_fc_font_description_from_pattern
+ (c-name "pango_fc_font_description_from_pattern")
+ (return-type "PangoFontDescription*")
+ (parameters
+ '("FcPattern*" "pattern")
+ '("gboolean" "include_size")
+ )
+)
+
+
+
+;; From pangofc-private.h
+
+(define-method get_raw_extents
+ (of-object "PangoFcFont")
+ (c-name "pango_fc_font_get_raw_extents")
+ (return-type "none")
+ (parameters
+ '("FT_Int32" "load_flags")
+ '("PangoGlyph" "glyph")
+ '("PangoRectangle*" "ink_rect")
+ '("PangoRectangle*" "logical_rect")
+ )
+)
+
+(define-method create_metrics_for_context
+ (of-object "PangoFcFont")
+ (c-name "pango_fc_font_create_metrics_for_context")
+ (return-type "PangoFontMetrics*")
+ (parameters
+ '("PangoContext*" "context")
+ )
+)
+
+
+
+;; From pango-features.h
+
+
+
+;; From pango-font.h
+
+(define-function pango_font_description_get_type
+ (c-name "pango_font_description_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_font_description_new
+ (c-name "pango_font_description_new")
+ (is-constructor-of "PangoFontDescription")
+ (return-type "PangoFontDescription*")
+)
+
+(define-method copy
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_copy")
+ (return-type "PangoFontDescription*")
+)
+
+(define-method copy_static
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_copy_static")
+ (return-type "PangoFontDescription*")
+)
+
+(define-method hash
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_hash")
+ (return-type "guint")
+)
+
+(define-method equal
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_equal")
+ (return-type "gboolean")
+ (parameters
+ '("const-PangoFontDescription*" "desc2")
+ )
+)
+
+(define-method free
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_free")
+ (return-type "none")
+)
+
+(define-function pango_font_descriptions_free
+ (c-name "pango_font_descriptions_free")
+ (return-type "none")
+ (parameters
+ '("PangoFontDescription**" "descs")
+ '("int" "n_descs")
+ )
+)
+
+(define-method set_family
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_set_family")
+ (return-type "none")
+ (parameters
+ '("const-char*" "family")
+ )
+)
+
+(define-method set_family_static
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_set_family_static")
+ (return-type "none")
+ (parameters
+ '("const-char*" "family")
+ )
+)
+
+(define-method get_family
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_get_family")
+ (return-type "const-char*")
+)
+
+(define-method set_style
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_set_style")
+ (return-type "none")
+ (parameters
+ '("PangoStyle" "style")
+ )
+)
+
+(define-method get_style
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_get_style")
+ (return-type "PangoStyle")
+)
+
+(define-method set_variant
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_set_variant")
+ (return-type "none")
+ (parameters
+ '("PangoVariant" "variant")
+ )
+)
+
+(define-method get_variant
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_get_variant")
+ (return-type "PangoVariant")
+)
+
+(define-method set_weight
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_set_weight")
+ (return-type "none")
+ (parameters
+ '("PangoWeight" "weight")
+ )
+)
+
+(define-method get_weight
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_get_weight")
+ (return-type "PangoWeight")
+)
+
+(define-method set_stretch
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_set_stretch")
+ (return-type "none")
+ (parameters
+ '("PangoStretch" "stretch")
+ )
+)
+
+(define-method get_stretch
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_get_stretch")
+ (return-type "PangoStretch")
+)
+
+(define-method set_size
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_set_size")
+ (return-type "none")
+ (parameters
+ '("gint" "size")
+ )
+)
+
+(define-method get_size
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_get_size")
+ (return-type "gint")
+)
+
+(define-method set_absolute_size
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_set_absolute_size")
+ (return-type "none")
+ (parameters
+ '("double" "size")
+ )
+)
+
+(define-method get_size_is_absolute
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_get_size_is_absolute")
+ (return-type "gboolean")
+)
+
+(define-method set_gravity
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_set_gravity")
+ (return-type "none")
+ (parameters
+ '("PangoGravity" "gravity")
+ )
+)
+
+(define-method get_gravity
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_get_gravity")
+ (return-type "PangoGravity")
+)
+
+(define-method get_set_fields
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_get_set_fields")
+ (return-type "PangoFontMask")
+)
+
+(define-method unset_fields
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_unset_fields")
+ (return-type "none")
+ (parameters
+ '("PangoFontMask" "to_unset")
+ )
+)
+
+(define-method merge
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_merge")
+ (return-type "none")
+ (parameters
+ '("const-PangoFontDescription*" "desc_to_merge")
+ '("gboolean" "replace_existing")
+ )
+)
+
+(define-method merge_static
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_merge_static")
+ (return-type "none")
+ (parameters
+ '("const-PangoFontDescription*" "desc_to_merge")
+ '("gboolean" "replace_existing")
+ )
+)
+
+(define-method better_match
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_better_match")
+ (return-type "gboolean")
+ (parameters
+ '("const-PangoFontDescription*" "old_match")
+ '("const-PangoFontDescription*" "new_match")
+ )
+)
+
+(define-function pango_font_description_from_string
+ (c-name "pango_font_description_from_string")
+ (return-type "PangoFontDescription*")
+ (parameters
+ '("const-char*" "str")
+ )
+)
+
+(define-method to_string
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_to_string")
+ (return-type "char*")
+)
+
+(define-method to_filename
+ (of-object "PangoFontDescription")
+ (c-name "pango_font_description_to_filename")
+ (return-type "char*")
+)
+
+(define-function pango_font_metrics_get_type
+ (c-name "pango_font_metrics_get_type")
+ (return-type "GType")
+)
+
+(define-method ref
+ (of-object "PangoFontMetrics")
+ (c-name "pango_font_metrics_ref")
+ (return-type "PangoFontMetrics*")
+)
+
+(define-method unref
+ (of-object "PangoFontMetrics")
+ (c-name "pango_font_metrics_unref")
+ (return-type "none")
+)
+
+(define-method get_ascent
+ (of-object "PangoFontMetrics")
+ (c-name "pango_font_metrics_get_ascent")
+ (return-type "int")
+)
+
+(define-method get_descent
+ (of-object "PangoFontMetrics")
+ (c-name "pango_font_metrics_get_descent")
+ (return-type "int")
+)
+
+(define-method get_approximate_char_width
+ (of-object "PangoFontMetrics")
+ (c-name "pango_font_metrics_get_approximate_char_width")
+ (return-type "int")
+)
+
+(define-method get_approximate_digit_width
+ (of-object "PangoFontMetrics")
+ (c-name "pango_font_metrics_get_approximate_digit_width")
+ (return-type "int")
+)
+
+(define-method get_underline_position
+ (of-object "PangoFontMetrics")
+ (c-name "pango_font_metrics_get_underline_position")
+ (return-type "int")
+)
+
+(define-method get_underline_thickness
+ (of-object "PangoFontMetrics")
+ (c-name "pango_font_metrics_get_underline_thickness")
+ (return-type "int")
+)
+
+(define-method get_strikethrough_position
+ (of-object "PangoFontMetrics")
+ (c-name "pango_font_metrics_get_strikethrough_position")
+ (return-type "int")
+)
+
+(define-method get_strikethrough_thickness
+ (of-object "PangoFontMetrics")
+ (c-name "pango_font_metrics_get_strikethrough_thickness")
+ (return-type "int")
+)
+
+(define-function pango_font_metrics_new
+ (c-name "pango_font_metrics_new")
+ (is-constructor-of "PangoFontMetrics")
+ (return-type "PangoFontMetrics*")
+)
+
+(define-function pango_font_family_get_type
+ (c-name "pango_font_family_get_type")
+ (return-type "GType")
+)
+
+(define-method list_faces
+ (of-object "PangoFontFamily")
+ (c-name "pango_font_family_list_faces")
+ (return-type "none")
+ (parameters
+ '("PangoFontFace***" "faces")
+ '("int*" "n_faces")
+ )
+)
+
+(define-method get_name
+ (of-object "PangoFontFamily")
+ (c-name "pango_font_family_get_name")
+ (return-type "const-char*")
+)
+
+(define-method is_monospace
+ (of-object "PangoFontFamily")
+ (c-name "pango_font_family_is_monospace")
+ (return-type "gboolean")
+)
+
+(define-function pango_font_face_get_type
+ (c-name "pango_font_face_get_type")
+ (return-type "GType")
+)
+
+(define-method describe
+ (of-object "PangoFontFace")
+ (c-name "pango_font_face_describe")
+ (return-type "PangoFontDescription*")
+)
+
+(define-method get_face_name
+ (of-object "PangoFontFace")
+ (c-name "pango_font_face_get_face_name")
+ (return-type "const-char*")
+)
+
+(define-method list_sizes
+ (of-object "PangoFontFace")
+ (c-name "pango_font_face_list_sizes")
+ (return-type "none")
+ (parameters
+ '("int**" "sizes")
+ '("int*" "n_sizes")
+ )
+)
+
+(define-method is_synthesized
+ (of-object "PangoFontFace")
+ (c-name "pango_font_face_is_synthesized")
+ (return-type "gboolean")
+)
+
+(define-function pango_font_get_type
+ (c-name "pango_font_get_type")
+ (return-type "GType")
+)
+
+(define-method describe
+ (of-object "PangoFont")
+ (c-name "pango_font_describe")
+ (return-type "PangoFontDescription*")
+)
+
+(define-method describe_with_absolute_size
+ (of-object "PangoFont")
+ (c-name "pango_font_describe_with_absolute_size")
+ (return-type "PangoFontDescription*")
+)
+
+(define-method get_coverage
+ (of-object "PangoFont")
+ (c-name "pango_font_get_coverage")
+ (return-type "PangoCoverage*")
+ (parameters
+ '("PangoLanguage*" "language")
+ )
+)
+
+(define-method find_shaper
+ (of-object "PangoFont")
+ (c-name "pango_font_find_shaper")
+ (return-type "PangoEngineShape*")
+ (parameters
+ '("PangoLanguage*" "language")
+ '("guint32" "ch")
+ )
+)
+
+(define-method get_metrics
+ (of-object "PangoFont")
+ (c-name "pango_font_get_metrics")
+ (return-type "PangoFontMetrics*")
+ (parameters
+ '("PangoLanguage*" "language")
+ )
+)
+
+(define-method get_glyph_extents
+ (of-object "PangoFont")
+ (c-name "pango_font_get_glyph_extents")
+ (return-type "none")
+ (parameters
+ '("PangoGlyph" "glyph")
+ '("PangoRectangle*" "ink_rect")
+ '("PangoRectangle*" "logical_rect")
+ )
+)
+
+(define-method get_font_map
+ (of-object "PangoFont")
+ (c-name "pango_font_get_font_map")
+ (return-type "PangoFontMap*")
+)
+
+
+
+;; From pango-fontmap.h
+
+(define-function pango_font_map_get_type
+ (c-name "pango_font_map_get_type")
+ (return-type "GType")
+)
+
+(define-method load_font
+ (of-object "PangoFontMap")
+ (c-name "pango_font_map_load_font")
+ (return-type "PangoFont*")
+ (parameters
+ '("PangoContext*" "context")
+ '("const-PangoFontDescription*" "desc")
+ )
+)
+
+(define-method load_fontset
+ (of-object "PangoFontMap")
+ (c-name "pango_font_map_load_fontset")
+ (return-type "PangoFontset*")
+ (parameters
+ '("PangoContext*" "context")
+ '("const-PangoFontDescription*" "desc")
+ '("PangoLanguage*" "language")
+ )
+)
+
+(define-method list_families
+ (of-object "PangoFontMap")
+ (c-name "pango_font_map_list_families")
+ (return-type "none")
+ (parameters
+ '("PangoFontFamily***" "families")
+ '("int*" "n_families")
+ )
+)
+
+(define-method get_shape_engine_type
+ (of-object "PangoFontMap")
+ (c-name "pango_font_map_get_shape_engine_type")
+ (return-type "const-char*")
+)
+
+
+
+;; From pango-fontset.h
+
+(define-function pango_fontset_get_type
+ (c-name "pango_fontset_get_type")
+ (return-type "GType")
+)
+
+(define-method get_font
+ (of-object "PangoFontset")
+ (c-name "pango_fontset_get_font")
+ (return-type "PangoFont*")
+ (parameters
+ '("guint" "wc")
+ )
+)
+
+(define-method get_metrics
+ (of-object "PangoFontset")
+ (c-name "pango_fontset_get_metrics")
+ (return-type "PangoFontMetrics*")
+)
+
+(define-method foreach
+ (of-object "PangoFontset")
+ (c-name "pango_fontset_foreach")
+ (return-type "none")
+ (parameters
+ '("PangoFontsetForeachFunc" "func")
+ '("gpointer" "data")
+ )
+)
+
+(define-function pango_fontset_simple_get_type
+ (c-name "pango_fontset_simple_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_fontset_simple_new
+ (c-name "pango_fontset_simple_new")
+ (is-constructor-of "PangoFontsetSimple")
+ (return-type "PangoFontsetSimple*")
+ (parameters
+ '("PangoLanguage*" "language")
+ )
+)
+
+(define-method append
+ (of-object "PangoFontsetSimple")
+ (c-name "pango_fontset_simple_append")
+ (return-type "none")
+ (parameters
+ '("PangoFont*" "font")
+ )
+)
+
+(define-method size
+ (of-object "PangoFontsetSimple")
+ (c-name "pango_fontset_simple_size")
+ (return-type "int")
+)
+
+
+
+;; From pangoft2.h
+
+(define-function pango_ft2_render
+ (c-name "pango_ft2_render")
+ (return-type "none")
+ (parameters
+ '("FT_Bitmap*" "bitmap")
+ '("PangoFont*" "font")
+ '("PangoGlyphString*" "glyphs")
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-function pango_ft2_render_transformed
+ (c-name "pango_ft2_render_transformed")
+ (return-type "none")
+ (parameters
+ '("FT_Bitmap*" "bitmap")
+ '("const-PangoMatrix*" "matrix")
+ '("PangoFont*" "font")
+ '("PangoGlyphString*" "glyphs")
+ '("int" "x")
+ '("int" "y")
+ )
+)
+
+(define-function pango_ft2_render_layout_line
+ (c-name "pango_ft2_render_layout_line")
+ (return-type "none")
+ (parameters
+ '("FT_Bitmap*" "bitmap")
+ '("PangoLayoutLine*" "line")
+ '("int" "x")
+ '("int" "y")
+ )
+)
+
+(define-function pango_ft2_render_layout_line_subpixel
+ (c-name "pango_ft2_render_layout_line_subpixel")
+ (return-type "none")
+ (parameters
+ '("FT_Bitmap*" "bitmap")
+ '("PangoLayoutLine*" "line")
+ '("int" "x")
+ '("int" "y")
+ )
+)
+
+(define-function pango_ft2_render_layout
+ (c-name "pango_ft2_render_layout")
+ (return-type "none")
+ (parameters
+ '("FT_Bitmap*" "bitmap")
+ '("PangoLayout*" "layout")
+ '("int" "x")
+ '("int" "y")
+ )
+)
+
+(define-function pango_ft2_render_layout_subpixel
+ (c-name "pango_ft2_render_layout_subpixel")
+ (return-type "none")
+ (parameters
+ '("FT_Bitmap*" "bitmap")
+ '("PangoLayout*" "layout")
+ '("int" "x")
+ '("int" "y")
+ )
+)
+
+(define-function pango_ft2_font_map_get_type
+ (c-name "pango_ft2_font_map_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_ft2_font_map_new
+ (c-name "pango_ft2_font_map_new")
+ (is-constructor-of "PangoFt2FontMap")
+ (return-type "PangoFontMap*")
+)
+
+(define-method set_resolution
+ (of-object "PangoFT2FontMap")
+ (c-name "pango_ft2_font_map_set_resolution")
+ (return-type "none")
+ (parameters
+ '("double" "dpi_x")
+ '("double" "dpi_y")
+ )
+)
+
+(define-method set_default_substitute
+ (of-object "PangoFT2FontMap")
+ (c-name "pango_ft2_font_map_set_default_substitute")
+ (return-type "none")
+ (parameters
+ '("PangoFT2SubstituteFunc" "func")
+ '("gpointer" "data")
+ '("GDestroyNotify" "notify")
+ )
+)
+
+(define-method substitute_changed
+ (of-object "PangoFT2FontMap")
+ (c-name "pango_ft2_font_map_substitute_changed")
+ (return-type "none")
+)
+
+(define-method create_context
+ (of-object "PangoFT2FontMap")
+ (c-name "pango_ft2_font_map_create_context")
+ (return-type "PangoContext*")
+)
+
+(define-function pango_ft2_get_context
+ (c-name "pango_ft2_get_context")
+ (return-type "PangoContext*")
+ (parameters
+ '("double" "dpi_x")
+ '("double" "dpi_y")
+ )
+)
+
+(define-function pango_ft2_font_map_for_display
+ (c-name "pango_ft2_font_map_for_display")
+ (return-type "PangoFontMap*")
+)
+
+(define-function pango_ft2_shutdown_display
+ (c-name "pango_ft2_shutdown_display")
+ (return-type "none")
+)
+
+(define-function pango_ft2_get_unknown_glyph
+ (c-name "pango_ft2_get_unknown_glyph")
+ (return-type "PangoGlyph")
+ (parameters
+ '("PangoFont*" "font")
+ )
+)
+
+(define-function pango_ft2_font_get_kerning
+ (c-name "pango_ft2_font_get_kerning")
+ (return-type "int")
+ (parameters
+ '("PangoFont*" "font")
+ '("PangoGlyph" "left")
+ '("PangoGlyph" "right")
+ )
+)
+
+(define-function pango_ft2_font_get_face
+ (c-name "pango_ft2_font_get_face")
+ (return-type "FT_Face")
+ (parameters
+ '("PangoFont*" "font")
+ )
+)
+
+(define-function pango_ft2_font_get_coverage
+ (c-name "pango_ft2_font_get_coverage")
+ (return-type "PangoCoverage*")
+ (parameters
+ '("PangoFont*" "font")
+ '("PangoLanguage*" "language")
+ )
+)
+
+
+
+;; From pangoft2-private.h
+
+(define-function pango_ft2_font_get_type
+ (c-name "pango_ft2_font_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_ft2_renderer_get_type
+ (c-name "pango_ft2_renderer_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From pango-glyph.h
+
+(define-function pango_glyph_string_new
+ (c-name "pango_glyph_string_new")
+ (is-constructor-of "PangoGlyphString")
+ (return-type "PangoGlyphString*")
+)
+
+(define-method set_size
+ (of-object "PangoGlyphString")
+ (c-name "pango_glyph_string_set_size")
+ (return-type "none")
+ (parameters
+ '("gint" "new_len")
+ )
+)
+
+(define-function pango_glyph_string_get_type
+ (c-name "pango_glyph_string_get_type")
+ (return-type "GType")
+)
+
+(define-method copy
+ (of-object "PangoGlyphString")
+ (c-name "pango_glyph_string_copy")
+ (return-type "PangoGlyphString*")
+)
+
+(define-method free
+ (of-object "PangoGlyphString")
+ (c-name "pango_glyph_string_free")
+ (return-type "none")
+)
+
+(define-method extents
+ (of-object "PangoGlyphString")
+ (c-name "pango_glyph_string_extents")
+ (return-type "none")
+ (parameters
+ '("PangoFont*" "font")
+ '("PangoRectangle*" "ink_rect")
+ '("PangoRectangle*" "logical_rect")
+ )
+)
+
+(define-method get_width
+ (of-object "PangoGlyphString")
+ (c-name "pango_glyph_string_get_width")
+ (return-type "int")
+)
+
+(define-method extents_range
+ (of-object "PangoGlyphString")
+ (c-name "pango_glyph_string_extents_range")
+ (return-type "none")
+ (parameters
+ '("int" "start")
+ '("int" "end")
+ '("PangoFont*" "font")
+ '("PangoRectangle*" "ink_rect")
+ '("PangoRectangle*" "logical_rect")
+ )
+)
+
+(define-method get_logical_widths
+ (of-object "PangoGlyphString")
+ (c-name "pango_glyph_string_get_logical_widths")
+ (return-type "none")
+ (parameters
+ '("const-char*" "text")
+ '("int" "length")
+ '("int" "embedding_level")
+ '("int*" "logical_widths")
+ )
+)
+
+(define-method index_to_x
+ (of-object "PangoGlyphString")
+ (c-name "pango_glyph_string_index_to_x")
+ (return-type "none")
+ (parameters
+ '("char*" "text")
+ '("int" "length")
+ '("PangoAnalysis*" "analysis")
+ '("int" "index_")
+ '("gboolean" "trailing")
+ '("int*" "x_pos")
+ )
+)
+
+(define-method x_to_index
+ (of-object "PangoGlyphString")
+ (c-name "pango_glyph_string_x_to_index")
+ (return-type "none")
+ (parameters
+ '("char*" "text")
+ '("int" "length")
+ '("PangoAnalysis*" "analysis")
+ '("int" "x_pos")
+ '("int*" "index_")
+ '("int*" "trailing")
+ )
+)
+
+(define-function pango_shape
+ (c-name "pango_shape")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "text")
+ '("gint" "length")
+ '("const-PangoAnalysis*" "analysis")
+ '("PangoGlyphString*" "glyphs")
+ )
+)
+
+(define-function pango_reorder_items
+ (c-name "pango_reorder_items")
+ (return-type "GList*")
+ (parameters
+ '("GList*" "logical_items")
+ )
+)
+
+
+
+;; From pango-glyph-item.h
+
+(define-method split
+ (of-object "PangoGlyphItem")
+ (c-name "pango_glyph_item_split")
+ (return-type "PangoGlyphItem*")
+ (parameters
+ '("const-char*" "text")
+ '("int" "split_index")
+ )
+)
+
+(define-method free
+ (of-object "PangoGlyphItem")
+ (c-name "pango_glyph_item_free")
+ (return-type "none")
+)
+
+(define-method apply_attrs
+ (of-object "PangoGlyphItem")
+ (c-name "pango_glyph_item_apply_attrs")
+ (return-type "GSList*")
+ (parameters
+ '("const-char*" "text")
+ '("PangoAttrList*" "list")
+ )
+)
+
+(define-method letter_space
+ (of-object "PangoGlyphItem")
+ (c-name "pango_glyph_item_letter_space")
+ (return-type "none")
+ (parameters
+ '("const-char*" "text")
+ '("PangoLogAttr*" "log_attrs")
+ '("int" "letter_spacing")
+ )
+)
+
+
+
+;; From pango-glyph-item-private.h
+
+
+
+;; From pango-gravity.h
+
+(define-method to_rotation
+ (of-object "PangoGravity")
+ (c-name "pango_gravity_to_rotation")
+ (return-type "double")
+)
+
+(define-function pango_gravity_get_for_matrix
+ (c-name "pango_gravity_get_for_matrix")
+ (return-type "PangoGravity")
+ (parameters
+ '("const-PangoMatrix*" "matrix")
+ )
+)
+
+(define-function pango_gravity_get_for_script
+ (c-name "pango_gravity_get_for_script")
+ (return-type "PangoGravity")
+ (parameters
+ '("PangoScript" "script")
+ '("PangoGravity" "base_gravity")
+ '("PangoGravityHint" "hint")
+ )
+)
+
+
+
+;; From pango.h
+
+
+
+;; From pango-impl-utils.h
+
+
+
+;; From pango-item.h
+
+(define-function pango_item_get_type
+ (c-name "pango_item_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_item_new
+ (c-name "pango_item_new")
+ (is-constructor-of "PangoItem")
+ (return-type "PangoItem*")
+)
+
+(define-method copy
+ (of-object "PangoItem")
+ (c-name "pango_item_copy")
+ (return-type "PangoItem*")
+)
+
+(define-method free
+ (of-object "PangoItem")
+ (c-name "pango_item_free")
+ (return-type "none")
+)
+
+(define-method split
+ (of-object "PangoItem")
+ (c-name "pango_item_split")
+ (return-type "PangoItem*")
+ (parameters
+ '("int" "split_index")
+ '("int" "split_offset")
+ )
+)
+
+
+
+;; From pango-language.h
+
+(define-function pango_language_get_type
+ (c-name "pango_language_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_language_from_string
+ (c-name "pango_language_from_string")
+ (return-type "PangoLanguage*")
+ (parameters
+ '("const-char*" "language")
+ )
+)
+
+(define-method get_sample_string
+ (of-object "PangoLanguage")
+ (c-name "pango_language_get_sample_string")
+ (return-type "const-char*")
+)
+
+(define-function pango_language_get_default
+ (c-name "pango_language_get_default")
+ (return-type "PangoLanguage*")
+)
+
+(define-method matches
+ (of-object "PangoLanguage")
+ (c-name "pango_language_matches")
+ (return-type "gboolean")
+ (parameters
+ '("const-char*" "range_list")
+ )
+)
+
+
+
+;; From pango-layout.h
+
+(define-function pango_layout_get_type
+ (c-name "pango_layout_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_layout_new
+ (c-name "pango_layout_new")
+ (is-constructor-of "PangoLayout")
+ (return-type "PangoLayout*")
+ (parameters
+ '("PangoContext*" "context")
+ )
+)
+
+(define-method copy
+ (of-object "PangoLayout")
+ (c-name "pango_layout_copy")
+ (return-type "PangoLayout*")
+)
+
+(define-method get_context
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_context")
+ (return-type "PangoContext*")
+)
+
+(define-method set_attributes
+ (of-object "PangoLayout")
+ (c-name "pango_layout_set_attributes")
+ (return-type "none")
+ (parameters
+ '("PangoAttrList*" "attrs")
+ )
+)
+
+(define-method get_attributes
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_attributes")
+ (return-type "PangoAttrList*")
+)
+
+(define-method set_text
+ (of-object "PangoLayout")
+ (c-name "pango_layout_set_text")
+ (return-type "none")
+ (parameters
+ '("const-char*" "text")
+ '("int" "length")
+ )
+)
+
+(define-method get_text
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_text")
+ (return-type "const-char*")
+)
+
+(define-method set_markup
+ (of-object "PangoLayout")
+ (c-name "pango_layout_set_markup")
+ (return-type "none")
+ (parameters
+ '("const-char*" "markup")
+ '("int" "length")
+ )
+)
+
+(define-method set_markup_with_accel
+ (of-object "PangoLayout")
+ (c-name "pango_layout_set_markup_with_accel")
+ (return-type "none")
+ (parameters
+ '("const-char*" "markup")
+ '("int" "length")
+ '("gunichar" "accel_marker")
+ '("gunichar*" "accel_char")
+ )
+)
+
+(define-method set_font_description
+ (of-object "PangoLayout")
+ (c-name "pango_layout_set_font_description")
+ (return-type "none")
+ (parameters
+ '("const-PangoFontDescription*" "desc")
+ )
+)
+
+(define-method get_font_description
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_font_description")
+ (return-type "const-PangoFontDescription*")
+)
+
+(define-method set_width
+ (of-object "PangoLayout")
+ (c-name "pango_layout_set_width")
+ (return-type "none")
+ (parameters
+ '("int" "width")
+ )
+)
+
+(define-method get_width
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_width")
+ (return-type "int")
+)
+
+(define-method set_wrap
+ (of-object "PangoLayout")
+ (c-name "pango_layout_set_wrap")
+ (return-type "none")
+ (parameters
+ '("PangoWrapMode" "wrap")
+ )
+)
+
+(define-method get_wrap
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_wrap")
+ (return-type "PangoWrapMode")
+)
+
+(define-method is_wrapped
+ (of-object "PangoLayout")
+ (c-name "pango_layout_is_wrapped")
+ (return-type "gboolean")
+)
+
+(define-method set_indent
+ (of-object "PangoLayout")
+ (c-name "pango_layout_set_indent")
+ (return-type "none")
+ (parameters
+ '("int" "indent")
+ )
+)
+
+(define-method get_indent
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_indent")
+ (return-type "int")
+)
+
+(define-method set_spacing
+ (of-object "PangoLayout")
+ (c-name "pango_layout_set_spacing")
+ (return-type "none")
+ (parameters
+ '("int" "spacing")
+ )
+)
+
+(define-method get_spacing
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_spacing")
+ (return-type "int")
+)
+
+(define-method set_justify
+ (of-object "PangoLayout")
+ (c-name "pango_layout_set_justify")
+ (return-type "none")
+ (parameters
+ '("gboolean" "justify")
+ )
+)
+
+(define-method get_justify
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_justify")
+ (return-type "gboolean")
+)
+
+(define-method set_auto_dir
+ (of-object "PangoLayout")
+ (c-name "pango_layout_set_auto_dir")
+ (return-type "none")
+ (parameters
+ '("gboolean" "auto_dir")
+ )
+)
+
+(define-method get_auto_dir
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_auto_dir")
+ (return-type "gboolean")
+)
+
+(define-method set_alignment
+ (of-object "PangoLayout")
+ (c-name "pango_layout_set_alignment")
+ (return-type "none")
+ (parameters
+ '("PangoAlignment" "alignment")
+ )
+)
+
+(define-method get_alignment
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_alignment")
+ (return-type "PangoAlignment")
+)
+
+(define-method set_tabs
+ (of-object "PangoLayout")
+ (c-name "pango_layout_set_tabs")
+ (return-type "none")
+ (parameters
+ '("PangoTabArray*" "tabs")
+ )
+)
+
+(define-method get_tabs
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_tabs")
+ (return-type "PangoTabArray*")
+)
+
+(define-method set_single_paragraph_mode
+ (of-object "PangoLayout")
+ (c-name "pango_layout_set_single_paragraph_mode")
+ (return-type "none")
+ (parameters
+ '("gboolean" "setting")
+ )
+)
+
+(define-method get_single_paragraph_mode
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_single_paragraph_mode")
+ (return-type "gboolean")
+)
+
+(define-method set_ellipsize
+ (of-object "PangoLayout")
+ (c-name "pango_layout_set_ellipsize")
+ (return-type "none")
+ (parameters
+ '("PangoEllipsizeMode" "ellipsize")
+ )
+)
+
+(define-method get_ellipsize
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_ellipsize")
+ (return-type "PangoEllipsizeMode")
+)
+
+(define-method is_ellipsized
+ (of-object "PangoLayout")
+ (c-name "pango_layout_is_ellipsized")
+ (return-type "gboolean")
+)
+
+(define-method get_unknown_glyphs_count
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_unknown_glyphs_count")
+ (return-type "int")
+)
+
+(define-method context_changed
+ (of-object "PangoLayout")
+ (c-name "pango_layout_context_changed")
+ (return-type "none")
+)
+
+(define-method get_log_attrs
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_log_attrs")
+ (return-type "none")
+ (parameters
+ '("PangoLogAttr**" "attrs")
+ '("gint*" "n_attrs")
+ )
+)
+
+(define-method index_to_pos
+ (of-object "PangoLayout")
+ (c-name "pango_layout_index_to_pos")
+ (return-type "none")
+ (parameters
+ '("int" "index_")
+ '("PangoRectangle*" "pos")
+ )
+)
+
+(define-method index_to_line_x
+ (of-object "PangoLayout")
+ (c-name "pango_layout_index_to_line_x")
+ (return-type "none")
+ (parameters
+ '("int" "index_")
+ '("gboolean" "trailing")
+ '("int*" "line")
+ '("int*" "x_pos")
+ )
+)
+
+(define-method get_cursor_pos
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_cursor_pos")
+ (return-type "none")
+ (parameters
+ '("int" "index_")
+ '("PangoRectangle*" "strong_pos")
+ '("PangoRectangle*" "weak_pos")
+ )
+)
+
+(define-method move_cursor_visually
+ (of-object "PangoLayout")
+ (c-name "pango_layout_move_cursor_visually")
+ (return-type "none")
+ (parameters
+ '("gboolean" "strong")
+ '("int" "old_index")
+ '("int" "old_trailing")
+ '("int" "direction")
+ '("int*" "new_index")
+ '("int*" "new_trailing")
+ )
+)
+
+(define-method xy_to_index
+ (of-object "PangoLayout")
+ (c-name "pango_layout_xy_to_index")
+ (return-type "gboolean")
+ (parameters
+ '("int" "x")
+ '("int" "y")
+ '("int*" "index_")
+ '("int*" "trailing")
+ )
+)
+
+(define-method get_extents
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_extents")
+ (return-type "none")
+ (parameters
+ '("PangoRectangle*" "ink_rect")
+ '("PangoRectangle*" "logical_rect")
+ )
+)
+
+(define-method get_pixel_extents
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_pixel_extents")
+ (return-type "none")
+ (parameters
+ '("PangoRectangle*" "ink_rect")
+ '("PangoRectangle*" "logical_rect")
+ )
+)
+
+(define-method get_size
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_size")
+ (return-type "none")
+ (parameters
+ '("int*" "width")
+ '("int*" "height")
+ )
+)
+
+(define-method get_pixel_size
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_pixel_size")
+ (return-type "none")
+ (parameters
+ '("int*" "width")
+ '("int*" "height")
+ )
+)
+
+(define-method get_line_count
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_line_count")
+ (return-type "int")
+)
+
+(define-method get_line
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_line")
+ (return-type "PangoLayoutLine*")
+ (parameters
+ '("int" "line")
+ )
+)
+
+(define-method get_line_readonly
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_line_readonly")
+ (return-type "PangoLayoutLine*")
+ (parameters
+ '("int" "line")
+ )
+)
+
+(define-method get_lines
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_lines")
+ (return-type "GSList*")
+)
+
+(define-method get_lines_readonly
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_lines_readonly")
+ (return-type "GSList*")
+)
+
+(define-function pango_layout_line_get_type
+ (c-name "pango_layout_line_get_type")
+ (return-type "GType")
+)
+
+(define-method ref
+ (of-object "PangoLayoutLine")
+ (c-name "pango_layout_line_ref")
+ (return-type "PangoLayoutLine*")
+)
+
+(define-method unref
+ (of-object "PangoLayoutLine")
+ (c-name "pango_layout_line_unref")
+ (return-type "none")
+)
+
+(define-method x_to_index
+ (of-object "PangoLayoutLine")
+ (c-name "pango_layout_line_x_to_index")
+ (return-type "gboolean")
+ (parameters
+ '("int" "x_pos")
+ '("int*" "index_")
+ '("int*" "trailing")
+ )
+)
+
+(define-method index_to_x
+ (of-object "PangoLayoutLine")
+ (c-name "pango_layout_line_index_to_x")
+ (return-type "none")
+ (parameters
+ '("int" "index_")
+ '("gboolean" "trailing")
+ '("int*" "x_pos")
+ )
+)
+
+(define-method get_x_ranges
+ (of-object "PangoLayoutLine")
+ (c-name "pango_layout_line_get_x_ranges")
+ (return-type "none")
+ (parameters
+ '("int" "start_index")
+ '("int" "end_index")
+ '("int**" "ranges")
+ '("int*" "n_ranges")
+ )
+)
+
+(define-method get_extents
+ (of-object "PangoLayoutLine")
+ (c-name "pango_layout_line_get_extents")
+ (return-type "none")
+ (parameters
+ '("PangoRectangle*" "ink_rect")
+ '("PangoRectangle*" "logical_rect")
+ )
+)
+
+(define-method get_pixel_extents
+ (of-object "PangoLayoutLine")
+ (c-name "pango_layout_line_get_pixel_extents")
+ (return-type "none")
+ (parameters
+ '("PangoRectangle*" "ink_rect")
+ '("PangoRectangle*" "logical_rect")
+ )
+)
+
+(define-function pango_layout_iter_get_type
+ (c-name "pango_layout_iter_get_type")
+ (return-type "GType")
+)
+
+(define-method get_iter
+ (of-object "PangoLayout")
+ (c-name "pango_layout_get_iter")
+ (return-type "PangoLayoutIter*")
+)
+
+(define-method free
+ (of-object "PangoLayoutIter")
+ (c-name "pango_layout_iter_free")
+ (return-type "none")
+)
+
+(define-method get_index
+ (of-object "PangoLayoutIter")
+ (c-name "pango_layout_iter_get_index")
+ (return-type "int")
+)
+
+(define-method get_run
+ (of-object "PangoLayoutIter")
+ (c-name "pango_layout_iter_get_run")
+ (return-type "PangoLayoutRun*")
+)
+
+(define-method get_run_readonly
+ (of-object "PangoLayoutIter")
+ (c-name "pango_layout_iter_get_run_readonly")
+ (return-type "PangoLayoutRun*")
+)
+
+(define-method get_line
+ (of-object "PangoLayoutIter")
+ (c-name "pango_layout_iter_get_line")
+ (return-type "PangoLayoutLine*")
+)
+
+(define-method get_line_readonly
+ (of-object "PangoLayoutIter")
+ (c-name "pango_layout_iter_get_line_readonly")
+ (return-type "PangoLayoutLine*")
+)
+
+(define-method at_last_line
+ (of-object "PangoLayoutIter")
+ (c-name "pango_layout_iter_at_last_line")
+ (return-type "gboolean")
+)
+
+(define-method next_char
+ (of-object "PangoLayoutIter")
+ (c-name "pango_layout_iter_next_char")
+ (return-type "gboolean")
+)
+
+(define-method next_cluster
+ (of-object "PangoLayoutIter")
+ (c-name "pango_layout_iter_next_cluster")
+ (return-type "gboolean")
+)
+
+(define-method next_run
+ (of-object "PangoLayoutIter")
+ (c-name "pango_layout_iter_next_run")
+ (return-type "gboolean")
+)
+
+(define-method next_line
+ (of-object "PangoLayoutIter")
+ (c-name "pango_layout_iter_next_line")
+ (return-type "gboolean")
+)
+
+(define-method get_char_extents
+ (of-object "PangoLayoutIter")
+ (c-name "pango_layout_iter_get_char_extents")
+ (return-type "none")
+ (parameters
+ '("PangoRectangle*" "logical_rect")
+ )
+)
+
+(define-method get_cluster_extents
+ (of-object "PangoLayoutIter")
+ (c-name "pango_layout_iter_get_cluster_extents")
+ (return-type "none")
+ (parameters
+ '("PangoRectangle*" "ink_rect")
+ '("PangoRectangle*" "logical_rect")
+ )
+)
+
+(define-method get_run_extents
+ (of-object "PangoLayoutIter")
+ (c-name "pango_layout_iter_get_run_extents")
+ (return-type "none")
+ (parameters
+ '("PangoRectangle*" "ink_rect")
+ '("PangoRectangle*" "logical_rect")
+ )
+)
+
+(define-method get_line_extents
+ (of-object "PangoLayoutIter")
+ (c-name "pango_layout_iter_get_line_extents")
+ (return-type "none")
+ (parameters
+ '("PangoRectangle*" "ink_rect")
+ '("PangoRectangle*" "logical_rect")
+ )
+)
+
+(define-method get_line_yrange
+ (of-object "PangoLayoutIter")
+ (c-name "pango_layout_iter_get_line_yrange")
+ (return-type "none")
+ (parameters
+ '("int*" "y0_")
+ '("int*" "y1_")
+ )
+)
+
+(define-method get_layout_extents
+ (of-object "PangoLayoutIter")
+ (c-name "pango_layout_iter_get_layout_extents")
+ (return-type "none")
+ (parameters
+ '("PangoRectangle*" "ink_rect")
+ '("PangoRectangle*" "logical_rect")
+ )
+)
+
+(define-method get_baseline
+ (of-object "PangoLayoutIter")
+ (c-name "pango_layout_iter_get_baseline")
+ (return-type "int")
+)
+
+
+
+;; From pango-layout-private.h
+
+
+
+;; From pango-matrix.h
+
+(define-function pango_matrix_get_type
+ (c-name "pango_matrix_get_type")
+ (return-type "GType")
+)
+
+(define-method copy
+ (of-object "PangoMatrix")
+ (c-name "pango_matrix_copy")
+ (return-type "PangoMatrix*")
+)
+
+(define-method free
+ (of-object "PangoMatrix")
+ (c-name "pango_matrix_free")
+ (return-type "none")
+)
+
+(define-method translate
+ (of-object "PangoMatrix")
+ (c-name "pango_matrix_translate")
+ (return-type "none")
+ (parameters
+ '("double" "tx")
+ '("double" "ty")
+ )
+)
+
+(define-method scale
+ (of-object "PangoMatrix")
+ (c-name "pango_matrix_scale")
+ (return-type "none")
+ (parameters
+ '("double" "scale_x")
+ '("double" "scale_y")
+ )
+)
+
+(define-method rotate
+ (of-object "PangoMatrix")
+ (c-name "pango_matrix_rotate")
+ (return-type "none")
+ (parameters
+ '("double" "degrees")
+ )
+)
+
+(define-method concat
+ (of-object "PangoMatrix")
+ (c-name "pango_matrix_concat")
+ (return-type "none")
+ (parameters
+ '("const-PangoMatrix*" "new_matrix")
+ )
+)
+
+(define-method transform_point
+ (of-object "PangoMatrix")
+ (c-name "pango_matrix_transform_point")
+ (return-type "none")
+ (parameters
+ '("double*" "x")
+ '("double*" "y")
+ )
+)
+
+(define-method transform_distance
+ (of-object "PangoMatrix")
+ (c-name "pango_matrix_transform_distance")
+ (return-type "none")
+ (parameters
+ '("double*" "dx")
+ '("double*" "dy")
+ )
+)
+
+(define-method transform_rectangle
+ (of-object "PangoMatrix")
+ (c-name "pango_matrix_transform_rectangle")
+ (return-type "none")
+ (parameters
+ '("PangoRectangle*" "rect")
+ )
+)
+
+(define-method transform_pixel_rectangle
+ (of-object "PangoMatrix")
+ (c-name "pango_matrix_transform_pixel_rectangle")
+ (return-type "none")
+ (parameters
+ '("PangoRectangle*" "rect")
+ )
+)
+
+(define-method get_font_scale_factor
+ (of-object "PangoMatrix")
+ (c-name "pango_matrix_get_font_scale_factor")
+ (return-type "double")
+)
+
+
+
+;; From pango-modules.h
+
+(define-function pango_find_map
+ (c-name "pango_find_map")
+ (return-type "PangoMap*")
+ (parameters
+ '("PangoLanguage*" "language")
+ '("guint" "engine_type_id")
+ '("guint" "render_type_id")
+ )
+)
+
+(define-method get_engine
+ (of-object "PangoMap")
+ (c-name "pango_map_get_engine")
+ (return-type "PangoEngine*")
+ (parameters
+ '("PangoScript" "script")
+ )
+)
+
+(define-method get_engines
+ (of-object "PangoMap")
+ (c-name "pango_map_get_engines")
+ (return-type "none")
+ (parameters
+ '("PangoScript" "script")
+ '("GSList**" "exact_engines")
+ '("GSList**" "fallback_engines")
+ )
+)
+
+(define-function pango_module_register
+ (c-name "pango_module_register")
+ (return-type "none")
+ (parameters
+ '("PangoIncludedModule*" "module")
+ )
+)
+
+
+
+;; From pango-ot.h
+
+(define-function pango_ot_info_get
+ (c-name "pango_ot_info_get")
+ (return-type "PangoOTInfo*")
+ (parameters
+ '("FT_Face" "face")
+ )
+)
+
+(define-method find_script
+ (of-object "PangoOTInfo")
+ (c-name "pango_ot_info_find_script")
+ (return-type "gboolean")
+ (parameters
+ '("PangoOTTableType" "table_type")
+ '("PangoOTTag" "script_tag")
+ '("guint*" "script_index")
+ )
+)
+
+(define-method find_language
+ (of-object "PangoOTInfo")
+ (c-name "pango_ot_info_find_language")
+ (return-type "gboolean")
+ (parameters
+ '("PangoOTTableType" "table_type")
+ '("guint" "script_index")
+ '("PangoOTTag" "language_tag")
+ '("guint*" "language_index")
+ '("guint*" "required_feature_index")
+ )
+)
+
+(define-method find_feature
+ (of-object "PangoOTInfo")
+ (c-name "pango_ot_info_find_feature")
+ (return-type "gboolean")
+ (parameters
+ '("PangoOTTableType" "table_type")
+ '("PangoOTTag" "feature_tag")
+ '("guint" "script_index")
+ '("guint" "language_index")
+ '("guint*" "feature_index")
+ )
+)
+
+(define-method list_scripts
+ (of-object "PangoOTInfo")
+ (c-name "pango_ot_info_list_scripts")
+ (return-type "PangoOTTag*")
+ (parameters
+ '("PangoOTTableType" "table_type")
+ )
+)
+
+(define-method list_languages
+ (of-object "PangoOTInfo")
+ (c-name "pango_ot_info_list_languages")
+ (return-type "PangoOTTag*")
+ (parameters
+ '("PangoOTTableType" "table_type")
+ '("guint" "script_index")
+ '("PangoOTTag" "language_tag")
+ )
+)
+
+(define-method list_features
+ (of-object "PangoOTInfo")
+ (c-name "pango_ot_info_list_features")
+ (return-type "PangoOTTag*")
+ (parameters
+ '("PangoOTTableType" "table_type")
+ '("PangoOTTag" "tag")
+ '("guint" "script_index")
+ '("guint" "language_index")
+ )
+)
+
+(define-function pango_ot_buffer_new
+ (c-name "pango_ot_buffer_new")
+ (is-constructor-of "PangoOtBuffer")
+ (return-type "PangoOTBuffer*")
+ (parameters
+ '("PangoFcFont*" "font")
+ )
+)
+
+(define-method destroy
+ (of-object "PangoOTBuffer")
+ (c-name "pango_ot_buffer_destroy")
+ (return-type "none")
+)
+
+(define-method clear
+ (of-object "PangoOTBuffer")
+ (c-name "pango_ot_buffer_clear")
+ (return-type "none")
+)
+
+(define-method set_rtl
+ (of-object "PangoOTBuffer")
+ (c-name "pango_ot_buffer_set_rtl")
+ (return-type "none")
+ (parameters
+ '("gboolean" "rtl")
+ )
+)
+
+(define-method add_glyph
+ (of-object "PangoOTBuffer")
+ (c-name "pango_ot_buffer_add_glyph")
+ (return-type "none")
+ (parameters
+ '("guint" "glyph")
+ '("guint" "properties")
+ '("guint" "cluster")
+ )
+)
+
+(define-method get_glyphs
+ (of-object "PangoOTBuffer")
+ (c-name "pango_ot_buffer_get_glyphs")
+ (return-type "none")
+ (parameters
+ '("PangoOTGlyph**" "glyphs")
+ '("int*" "n_glyphs")
+ )
+)
+
+(define-method output
+ (of-object "PangoOTBuffer")
+ (c-name "pango_ot_buffer_output")
+ (return-type "none")
+ (parameters
+ '("PangoGlyphString*" "glyphs")
+ )
+)
+
+(define-method set_zero_width_marks
+ (of-object "PangoOTBuffer")
+ (c-name "pango_ot_buffer_set_zero_width_marks")
+ (return-type "none")
+ (parameters
+ '("gboolean" "zero_width_marks")
+ )
+)
+
+(define-function pango_ot_ruleset_get_for_description
+ (c-name "pango_ot_ruleset_get_for_description")
+ (return-type "const-PangoOTRuleset*")
+ (parameters
+ '("PangoOTInfo*" "info")
+ '("const-PangoOTRulesetDescription*" "desc")
+ )
+)
+
+(define-function pango_ot_ruleset_new
+ (c-name "pango_ot_ruleset_new")
+ (is-constructor-of "PangoOtRuleset")
+ (return-type "PangoOTRuleset*")
+ (parameters
+ '("PangoOTInfo*" "info")
+ )
+)
+
+(define-function pango_ot_ruleset_new_for
+ (c-name "pango_ot_ruleset_new_for")
+ (return-type "PangoOTRuleset*")
+ (parameters
+ '("PangoOTInfo*" "info")
+ '("PangoScript" "script")
+ '("PangoLanguage*" "language")
+ )
+)
+
+(define-function pango_ot_ruleset_new_from_description
+ (c-name "pango_ot_ruleset_new_from_description")
+ (return-type "PangoOTRuleset*")
+ (parameters
+ '("PangoOTInfo*" "info")
+ '("const-PangoOTRulesetDescription*" "desc")
+ )
+)
+
+(define-method add_feature
+ (of-object "PangoOTRuleset")
+ (c-name "pango_ot_ruleset_add_feature")
+ (return-type "none")
+ (parameters
+ '("PangoOTTableType" "table_type")
+ '("guint" "feature_index")
+ '("gulong" "property_bit")
+ )
+)
+
+(define-method maybe_add_feature
+ (of-object "PangoOTRuleset")
+ (c-name "pango_ot_ruleset_maybe_add_feature")
+ (return-type "gboolean")
+ (parameters
+ '("PangoOTTableType" "table_type")
+ '("PangoOTTag" "feature_tag")
+ '("gulong" "property_bit")
+ )
+)
+
+(define-method maybe_add_features
+ (of-object "PangoOTRuleset")
+ (c-name "pango_ot_ruleset_maybe_add_features")
+ (return-type "guint")
+ (parameters
+ '("PangoOTTableType" "table_type")
+ '("const-PangoOTFeatureMap*" "features")
+ '("guint" "n_features")
+ )
+)
+
+(define-method get_feature_count
+ (of-object "PangoOTRuleset")
+ (c-name "pango_ot_ruleset_get_feature_count")
+ (return-type "guint")
+ (parameters
+ '("guint*" "n_gsub_features")
+ '("guint*" "n_gpos_features")
+ )
+)
+
+(define-method substitute
+ (of-object "PangoOTRuleset")
+ (c-name "pango_ot_ruleset_substitute")
+ (return-type "none")
+ (parameters
+ '("PangoOTBuffer*" "buffer")
+ )
+)
+
+(define-method position
+ (of-object "PangoOTRuleset")
+ (c-name "pango_ot_ruleset_position")
+ (return-type "none")
+ (parameters
+ '("PangoOTBuffer*" "buffer")
+ )
+)
+
+(define-method to_script
+ (of-object "PangoOTTag")
+ (c-name "pango_ot_tag_to_script")
+ (return-type "PangoScript")
+)
+
+(define-function pango_ot_tag_from_script
+ (c-name "pango_ot_tag_from_script")
+ (return-type "PangoOTTag")
+ (parameters
+ '("PangoScript" "script")
+ )
+)
+
+(define-method to_language
+ (of-object "PangoOTTag")
+ (c-name "pango_ot_tag_to_language")
+ (return-type "PangoLanguage*")
+)
+
+(define-function pango_ot_tag_from_language
+ (c-name "pango_ot_tag_from_language")
+ (return-type "PangoOTTag")
+ (parameters
+ '("PangoLanguage*" "language")
+ )
+)
+
+(define-method hash
+ (of-object "PangoOTRulesetDescription")
+ (c-name "pango_ot_ruleset_description_hash")
+ (return-type "guint")
+)
+
+(define-method equal
+ (of-object "PangoOTRulesetDescription")
+ (c-name "pango_ot_ruleset_description_equal")
+ (return-type "gboolean")
+ (parameters
+ '("const-PangoOTRulesetDescription*" "desc2")
+ )
+)
+
+(define-method copy
+ (of-object "PangoOTRulesetDescription")
+ (c-name "pango_ot_ruleset_description_copy")
+ (return-type "PangoOTRulesetDescription*")
+)
+
+(define-method free
+ (of-object "PangoOTRulesetDescription")
+ (c-name "pango_ot_ruleset_description_free")
+ (return-type "none")
+)
+
+
+
+;; From pango-ot-private.h
+
+(define-function pango_ot_info_get_type
+ (c-name "pango_ot_info_get_type")
+ (return-type "GType")
+)
+
+(define-method get_gdef
+ (of-object "PangoOTInfo")
+ (c-name "pango_ot_info_get_gdef")
+ (return-type "HB_GDEF")
+)
+
+(define-method get_gsub
+ (of-object "PangoOTInfo")
+ (c-name "pango_ot_info_get_gsub")
+ (return-type "HB_GSUB")
+)
+
+(define-method get_gpos
+ (of-object "PangoOTInfo")
+ (c-name "pango_ot_info_get_gpos")
+ (return-type "HB_GPOS")
+)
+
+(define-function pango_ot_ruleset_get_type
+ (c-name "pango_ot_ruleset_get_type")
+ (return-type "GType")
+)
+
+
+
+;; From pango-renderer.h
+
+(define-function pango_renderer_get_type
+ (c-name "pango_renderer_get_type")
+ (return-type "GType")
+)
+
+(define-method draw_layout
+ (of-object "PangoRenderer")
+ (c-name "pango_renderer_draw_layout")
+ (return-type "none")
+ (parameters
+ '("PangoLayout*" "layout")
+ '("int" "x")
+ '("int" "y")
+ )
+)
+
+(define-method draw_layout_line
+ (of-object "PangoRenderer")
+ (c-name "pango_renderer_draw_layout_line")
+ (return-type "none")
+ (parameters
+ '("PangoLayoutLine*" "line")
+ '("int" "x")
+ '("int" "y")
+ )
+)
+
+(define-method draw_glyphs
+ (of-object "PangoRenderer")
+ (c-name "pango_renderer_draw_glyphs")
+ (return-type "none")
+ (parameters
+ '("PangoFont*" "font")
+ '("PangoGlyphString*" "glyphs")
+ '("int" "x")
+ '("int" "y")
+ )
+)
+
+(define-method draw_rectangle
+ (of-object "PangoRenderer")
+ (c-name "pango_renderer_draw_rectangle")
+ (return-type "none")
+ (parameters
+ '("PangoRenderPart" "part")
+ '("int" "x")
+ '("int" "y")
+ '("int" "width")
+ '("int" "height")
+ )
+)
+
+(define-method draw_error_underline
+ (of-object "PangoRenderer")
+ (c-name "pango_renderer_draw_error_underline")
+ (return-type "none")
+ (parameters
+ '("int" "x")
+ '("int" "y")
+ '("int" "width")
+ '("int" "height")
+ )
+)
+
+(define-method draw_trapezoid
+ (of-object "PangoRenderer")
+ (c-name "pango_renderer_draw_trapezoid")
+ (return-type "none")
+ (parameters
+ '("PangoRenderPart" "part")
+ '("double" "y1_")
+ '("double" "x11")
+ '("double" "x21")
+ '("double" "y2")
+ '("double" "x12")
+ '("double" "x22")
+ )
+)
+
+(define-method draw_glyph
+ (of-object "PangoRenderer")
+ (c-name "pango_renderer_draw_glyph")
+ (return-type "none")
+ (parameters
+ '("PangoFont*" "font")
+ '("PangoGlyph" "glyph")
+ '("double" "x")
+ '("double" "y")
+ )
+)
+
+(define-method activate
+ (of-object "PangoRenderer")
+ (c-name "pango_renderer_activate")
+ (return-type "none")
+)
+
+(define-method deactivate
+ (of-object "PangoRenderer")
+ (c-name "pango_renderer_deactivate")
+ (return-type "none")
+)
+
+(define-method part_changed
+ (of-object "PangoRenderer")
+ (c-name "pango_renderer_part_changed")
+ (return-type "none")
+ (parameters
+ '("PangoRenderPart" "part")
+ )
+)
+
+(define-method set_color
+ (of-object "PangoRenderer")
+ (c-name "pango_renderer_set_color")
+ (return-type "none")
+ (parameters
+ '("PangoRenderPart" "part")
+ '("const-PangoColor*" "color")
+ )
+)
+
+(define-method get_color
+ (of-object "PangoRenderer")
+ (c-name "pango_renderer_get_color")
+ (return-type "PangoColor*")
+ (parameters
+ '("PangoRenderPart" "part")
+ )
+)
+
+(define-method set_matrix
+ (of-object "PangoRenderer")
+ (c-name "pango_renderer_set_matrix")
+ (return-type "none")
+ (parameters
+ '("const-PangoMatrix*" "matrix")
+ )
+)
+
+(define-method get_matrix
+ (of-object "PangoRenderer")
+ (c-name "pango_renderer_get_matrix")
+ (return-type "const-PangoMatrix*")
+)
+
+
+
+;; From pango-script.h
+
+(define-function pango_script_for_unichar
+ (c-name "pango_script_for_unichar")
+ (return-type "PangoScript")
+ (parameters
+ '("gunichar" "ch")
+ )
+)
+
+(define-function pango_script_iter_new
+ (c-name "pango_script_iter_new")
+ (is-constructor-of "PangoScriptIter")
+ (return-type "PangoScriptIter*")
+ (parameters
+ '("const-char*" "text")
+ '("int" "length")
+ )
+)
+
+(define-method get_range
+ (of-object "PangoScriptIter")
+ (c-name "pango_script_iter_get_range")
+ (return-type "none")
+ (parameters
+ '("const-char**" "start")
+ '("const-char**" "end")
+ '("PangoScript*" "script")
+ )
+)
+
+(define-method next
+ (of-object "PangoScriptIter")
+ (c-name "pango_script_iter_next")
+ (return-type "gboolean")
+)
+
+(define-method free
+ (of-object "PangoScriptIter")
+ (c-name "pango_script_iter_free")
+ (return-type "none")
+)
+
+(define-method get_sample_language
+ (of-object "PangoScript")
+ (c-name "pango_script_get_sample_language")
+ (return-type "PangoLanguage*")
+)
+
+(define-method includes_script
+ (of-object "PangoLanguage")
+ (c-name "pango_language_includes_script")
+ (return-type "gboolean")
+ (parameters
+ '("PangoScript" "script")
+ )
+)
+
+
+
+;; From pango-script-lang-table.h
+
+
+
+;; From pango-script-table.h
+
+
+
+;; From pango-tabs.h
+
+(define-function pango_tab_array_new
+ (c-name "pango_tab_array_new")
+ (is-constructor-of "PangoTabArray")
+ (return-type "PangoTabArray*")
+ (parameters
+ '("gint" "initial_size")
+ '("gboolean" "positions_in_pixels")
+ )
+)
+
+(define-function pango_tab_array_new_with_positions
+ (c-name "pango_tab_array_new_with_positions")
+ (return-type "PangoTabArray*")
+ (parameters
+ '("gint" "size")
+ '("gboolean" "positions_in_pixels")
+ '("PangoTabAlign" "first_alignment")
+ '("gint" "first_position")
+ )
+ (varargs #t)
+)
+
+(define-function pango_tab_array_get_type
+ (c-name "pango_tab_array_get_type")
+ (return-type "GType")
+)
+
+(define-method copy
+ (of-object "PangoTabArray")
+ (c-name "pango_tab_array_copy")
+ (return-type "PangoTabArray*")
+)
+
+(define-method free
+ (of-object "PangoTabArray")
+ (c-name "pango_tab_array_free")
+ (return-type "none")
+)
+
+(define-method get_size
+ (of-object "PangoTabArray")
+ (c-name "pango_tab_array_get_size")
+ (return-type "gint")
+)
+
+(define-method resize
+ (of-object "PangoTabArray")
+ (c-name "pango_tab_array_resize")
+ (return-type "none")
+ (parameters
+ '("gint" "new_size")
+ )
+)
+
+(define-method set_tab
+ (of-object "PangoTabArray")
+ (c-name "pango_tab_array_set_tab")
+ (return-type "none")
+ (parameters
+ '("gint" "tab_index")
+ '("PangoTabAlign" "alignment")
+ '("gint" "location")
+ )
+)
+
+(define-method get_tab
+ (of-object "PangoTabArray")
+ (c-name "pango_tab_array_get_tab")
+ (return-type "none")
+ (parameters
+ '("gint" "tab_index")
+ '("PangoTabAlign*" "alignment")
+ '("gint*" "location")
+ )
+)
+
+(define-method get_tabs
+ (of-object "PangoTabArray")
+ (c-name "pango_tab_array_get_tabs")
+ (return-type "none")
+ (parameters
+ '("PangoTabAlign**" "alignments")
+ '("gint**" "locations")
+ )
+)
+
+(define-method get_positions_in_pixels
+ (of-object "PangoTabArray")
+ (c-name "pango_tab_array_get_positions_in_pixels")
+ (return-type "gboolean")
+)
+
+
+
+;; From pango-types.h
+
+(define-function pango_units_from_double
+ (c-name "pango_units_from_double")
+ (return-type "int")
+ (parameters
+ '("double" "d")
+ )
+)
+
+(define-function pango_units_to_double
+ (c-name "pango_units_to_double")
+ (return-type "double")
+ (parameters
+ '("int" "i")
+ )
+)
+
+(define-function pango_extents_to_pixels
+ (c-name "pango_extents_to_pixels")
+ (return-type "none")
+ (parameters
+ '("PangoRectangle*" "ink_rect")
+ '("PangoRectangle*" "logical_rect")
+ )
+)
+
+(define-function pango_unichar_direction
+ (c-name "pango_unichar_direction")
+ (return-type "PangoDirection")
+ (parameters
+ '("gunichar" "ch")
+ )
+)
+
+(define-function pango_find_base_dir
+ (c-name "pango_find_base_dir")
+ (return-type "PangoDirection")
+ (parameters
+ '("const-gchar*" "text")
+ '("gint" "length")
+ )
+)
+
+(define-function pango_get_mirror_char
+ (c-name "pango_get_mirror_char")
+ (return-type "gboolean")
+ (parameters
+ '("gunichar" "ch")
+ '("gunichar*" "mirrored_ch")
+ )
+)
+
+
+
+;; From pango-utils.h
+
+(define-function pango_split_file_list
+ (c-name "pango_split_file_list")
+ (return-type "char**")
+ (parameters
+ '("const-char*" "str")
+ )
+)
+
+(define-function pango_trim_string
+ (c-name "pango_trim_string")
+ (return-type "char*")
+ (parameters
+ '("const-char*" "str")
+ )
+)
+
+(define-function pango_read_line
+ (c-name "pango_read_line")
+ (return-type "gint")
+ (parameters
+ '("FILE*" "stream")
+ '("GString*" "str")
+ )
+)
+
+(define-function pango_skip_space
+ (c-name "pango_skip_space")
+ (return-type "gboolean")
+ (parameters
+ '("const-char**" "pos")
+ )
+)
+
+(define-function pango_scan_word
+ (c-name "pango_scan_word")
+ (return-type "gboolean")
+ (parameters
+ '("const-char**" "pos")
+ '("GString*" "out")
+ )
+)
+
+(define-function pango_scan_string
+ (c-name "pango_scan_string")
+ (return-type "gboolean")
+ (parameters
+ '("const-char**" "pos")
+ '("GString*" "out")
+ )
+)
+
+(define-function pango_scan_int
+ (c-name "pango_scan_int")
+ (return-type "gboolean")
+ (parameters
+ '("const-char**" "pos")
+ '("int*" "out")
+ )
+)
+
+(define-function pango_config_key_get
+ (c-name "pango_config_key_get")
+ (return-type "char*")
+ (parameters
+ '("const-char*" "key")
+ )
+)
+
+(define-function pango_lookup_aliases
+ (c-name "pango_lookup_aliases")
+ (return-type "none")
+ (parameters
+ '("const-char*" "fontname")
+ '("char***" "families")
+ '("int*" "n_families")
+ )
+)
+
+(define-function pango_parse_enum
+ (c-name "pango_parse_enum")
+ (return-type "gboolean")
+ (parameters
+ '("GType" "type")
+ '("const-char*" "str")
+ '("int*" "value")
+ '("gboolean" "warn")
+ '("char**" "possible_values")
+ )
+)
+
+(define-function pango_parse_style
+ (c-name "pango_parse_style")
+ (return-type "gboolean")
+ (parameters
+ '("const-char*" "str")
+ '("PangoStyle*" "style")
+ '("gboolean" "warn")
+ )
+)
+
+(define-function pango_parse_variant
+ (c-name "pango_parse_variant")
+ (return-type "gboolean")
+ (parameters
+ '("const-char*" "str")
+ '("PangoVariant*" "variant")
+ '("gboolean" "warn")
+ )
+)
+
+(define-function pango_parse_weight
+ (c-name "pango_parse_weight")
+ (return-type "gboolean")
+ (parameters
+ '("const-char*" "str")
+ '("PangoWeight*" "weight")
+ '("gboolean" "warn")
+ )
+)
+
+(define-function pango_parse_stretch
+ (c-name "pango_parse_stretch")
+ (return-type "gboolean")
+ (parameters
+ '("const-char*" "str")
+ '("PangoStretch*" "stretch")
+ '("gboolean" "warn")
+ )
+)
+
+(define-function pango_get_sysconf_subdirectory
+ (c-name "pango_get_sysconf_subdirectory")
+ (return-type "const-char*")
+)
+
+(define-function pango_get_lib_subdirectory
+ (c-name "pango_get_lib_subdirectory")
+ (return-type "const-char*")
+)
+
+(define-function pango_quantize_line_geometry
+ (c-name "pango_quantize_line_geometry")
+ (return-type "none")
+ (parameters
+ '("int*" "thickness")
+ '("int*" "position")
+ )
+)
+
+(define-function pango_log2vis_get_embedding_levels
+ (c-name "pango_log2vis_get_embedding_levels")
+ (return-type "guint8*")
+ (parameters
+ '("const-gchar*" "text")
+ '("int" "length")
+ '("PangoDirection*" "pbase_dir")
+ )
+)
+
+(define-function pango_is_zero_width
+ (c-name "pango_is_zero_width")
+ (return-type "gboolean")
+ (parameters
+ '("gunichar" "ch")
+ )
+)
+
+(define-function pango_version
+ (c-name "pango_version")
+ (return-type "int")
+)
+
+(define-function pango_version_string
+ (c-name "pango_version_string")
+ (return-type "const-char*")
+)
+
+(define-function pango_version_check
+ (c-name "pango_version_check")
+ (return-type "const-char*")
+ (parameters
+ '("int" "required_major")
+ '("int" "required_minor")
+ '("int" "required_micro")
+ )
+)
+
+
+
+;; From pangowin32.h
+
+(define-function pango_win32_get_context
+ (c-name "pango_win32_get_context")
+ (return-type "PangoContext*")
+)
+
+(define-function pango_win32_render
+ (c-name "pango_win32_render")
+ (return-type "none")
+ (parameters
+ '("HDC" "hdc")
+ '("PangoFont*" "font")
+ '("PangoGlyphString*" "glyphs")
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-function pango_win32_render_layout_line
+ (c-name "pango_win32_render_layout_line")
+ (return-type "none")
+ (parameters
+ '("HDC" "hdc")
+ '("PangoLayoutLine*" "line")
+ '("int" "x")
+ '("int" "y")
+ )
+)
+
+(define-function pango_win32_render_layout
+ (c-name "pango_win32_render_layout")
+ (return-type "none")
+ (parameters
+ '("HDC" "hdc")
+ '("PangoLayout*" "layout")
+ '("int" "x")
+ '("int" "y")
+ )
+)
+
+(define-function pango_win32_render_transformed
+ (c-name "pango_win32_render_transformed")
+ (return-type "none")
+ (parameters
+ '("HDC" "hdc")
+ '("const-PangoMatrix*" "matrix")
+ '("PangoFont*" "font")
+ '("PangoGlyphString*" "glyphs")
+ '("int" "x")
+ '("int" "y")
+ )
+)
+
+(define-function pango_win32_get_unknown_glyph
+ (c-name "pango_win32_get_unknown_glyph")
+ (return-type "PangoGlyph")
+ (parameters
+ '("PangoFont*" "font")
+ '("gunichar" "wc")
+ )
+)
+
+(define-function pango_win32_font_get_glyph_index
+ (c-name "pango_win32_font_get_glyph_index")
+ (return-type "gint")
+ (parameters
+ '("PangoFont*" "font")
+ '("gunichar" "wc")
+ )
+)
+
+(define-function pango_win32_get_dc
+ (c-name "pango_win32_get_dc")
+ (return-type "HDC")
+)
+
+(define-function pango_win32_get_debug_flag
+ (c-name "pango_win32_get_debug_flag")
+ (return-type "gboolean")
+)
+
+(define-function pango_win32_font_select_font
+ (c-name "pango_win32_font_select_font")
+ (return-type "gboolean")
+ (parameters
+ '("PangoFont*" "font")
+ '("HDC" "hdc")
+ )
+)
+
+(define-function pango_win32_font_done_font
+ (c-name "pango_win32_font_done_font")
+ (return-type "none")
+ (parameters
+ '("PangoFont*" "font")
+ )
+)
+
+(define-function pango_win32_font_get_metrics_factor
+ (c-name "pango_win32_font_get_metrics_factor")
+ (return-type "double")
+ (parameters
+ '("PangoFont*" "font")
+ )
+)
+
+(define-function pango_win32_font_cache_new
+ (c-name "pango_win32_font_cache_new")
+ (is-constructor-of "PangoWin32FontCache")
+ (return-type "PangoWin32FontCache*")
+)
+
+(define-method free
+ (of-object "PangoWin32FontCache")
+ (c-name "pango_win32_font_cache_free")
+ (return-type "none")
+)
+
+(define-method load
+ (of-object "PangoWin32FontCache")
+ (c-name "pango_win32_font_cache_load")
+ (return-type "HFONT")
+ (parameters
+ '("const-LOGFONTA*" "logfont")
+ )
+)
+
+(define-method loadw
+ (of-object "PangoWin32FontCache")
+ (c-name "pango_win32_font_cache_loadw")
+ (return-type "HFONT")
+ (parameters
+ '("const-LOGFONTW*" "logfont")
+ )
+)
+
+(define-method unload
+ (of-object "PangoWin32FontCache")
+ (c-name "pango_win32_font_cache_unload")
+ (return-type "none")
+ (parameters
+ '("HFONT" "hfont")
+ )
+)
+
+(define-function pango_win32_font_map_for_display
+ (c-name "pango_win32_font_map_for_display")
+ (return-type "PangoFontMap*")
+)
+
+(define-function pango_win32_shutdown_display
+ (c-name "pango_win32_shutdown_display")
+ (return-type "none")
+)
+
+(define-function pango_win32_font_map_get_font_cache
+ (c-name "pango_win32_font_map_get_font_cache")
+ (return-type "PangoWin32FontCache*")
+ (parameters
+ '("PangoFontMap*" "font_map")
+ )
+)
+
+(define-function pango_win32_font_logfont
+ (c-name "pango_win32_font_logfont")
+ (return-type "LOGFONTA*")
+ (parameters
+ '("PangoFont*" "font")
+ )
+)
+
+(define-function pango_win32_font_logfontw
+ (c-name "pango_win32_font_logfontw")
+ (return-type "LOGFONTW*")
+ (parameters
+ '("PangoFont*" "font")
+ )
+)
+
+(define-function pango_win32_font_description_from_logfont
+ (c-name "pango_win32_font_description_from_logfont")
+ (return-type "PangoFontDescription*")
+ (parameters
+ '("const-LOGFONTA*" "lfp")
+ )
+)
+
+(define-function pango_win32_font_description_from_logfontw
+ (c-name "pango_win32_font_description_from_logfontw")
+ (return-type "PangoFontDescription*")
+ (parameters
+ '("const-LOGFONTW*" "lfp")
+ )
+)
+
+
+
+;; From pangowin32-private.h
+
+
+
+;; From pangoxft.h
+
+(define-function pango_xft_get_font_map
+ (c-name "pango_xft_get_font_map")
+ (return-type "PangoFontMap*")
+ (parameters
+ '("Display*" "display")
+ '("int" "screen")
+ )
+)
+
+(define-function pango_xft_get_context
+ (c-name "pango_xft_get_context")
+ (return-type "PangoContext*")
+ (parameters
+ '("Display*" "display")
+ '("int" "screen")
+ )
+)
+
+(define-function pango_xft_shutdown_display
+ (c-name "pango_xft_shutdown_display")
+ (return-type "none")
+ (parameters
+ '("Display*" "display")
+ '("int" "screen")
+ )
+)
+
+(define-function pango_xft_set_default_substitute
+ (c-name "pango_xft_set_default_substitute")
+ (return-type "none")
+ (parameters
+ '("Display*" "display")
+ '("int" "screen")
+ '("PangoXftSubstituteFunc" "func")
+ '("gpointer" "data")
+ '("GDestroyNotify" "notify")
+ )
+)
+
+(define-function pango_xft_substitute_changed
+ (c-name "pango_xft_substitute_changed")
+ (return-type "none")
+ (parameters
+ '("Display*" "display")
+ '("int" "screen")
+ )
+)
+
+(define-function pango_xft_font_map_get_type
+ (c-name "pango_xft_font_map_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_xft_font_get_type
+ (c-name "pango_xft_font_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_xft_font_get_font
+ (c-name "pango_xft_font_get_font")
+ (return-type "XftFont*")
+ (parameters
+ '("PangoFont*" "font")
+ )
+)
+
+(define-function pango_xft_font_get_display
+ (c-name "pango_xft_font_get_display")
+ (return-type "Display*")
+ (parameters
+ '("PangoFont*" "font")
+ )
+)
+
+(define-function pango_xft_font_lock_face
+ (c-name "pango_xft_font_lock_face")
+ (return-type "FT_Face")
+ (parameters
+ '("PangoFont*" "font")
+ )
+)
+
+(define-function pango_xft_font_unlock_face
+ (c-name "pango_xft_font_unlock_face")
+ (return-type "none")
+ (parameters
+ '("PangoFont*" "font")
+ )
+)
+
+(define-function pango_xft_font_get_glyph
+ (c-name "pango_xft_font_get_glyph")
+ (return-type "guint")
+ (parameters
+ '("PangoFont*" "font")
+ '("gunichar" "wc")
+ )
+)
+
+(define-function pango_xft_font_has_char
+ (c-name "pango_xft_font_has_char")
+ (return-type "gboolean")
+ (parameters
+ '("PangoFont*" "font")
+ '("gunichar" "wc")
+ )
+)
+
+(define-function pango_xft_font_get_unknown_glyph
+ (c-name "pango_xft_font_get_unknown_glyph")
+ (return-type "PangoGlyph")
+ (parameters
+ '("PangoFont*" "font")
+ '("gunichar" "wc")
+ )
+)
+
+
+
+;; From pangoxft-private.h
+
+
+
+;; From pangoxft-render.h
+
+(define-function pango_xft_renderer_get_type
+ (c-name "pango_xft_renderer_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_xft_renderer_new
+ (c-name "pango_xft_renderer_new")
+ (is-constructor-of "PangoXftRenderer")
+ (return-type "PangoRenderer*")
+ (parameters
+ '("Display*" "display")
+ '("int" "screen")
+ )
+)
+
+(define-method set_draw
+ (of-object "PangoXftRenderer")
+ (c-name "pango_xft_renderer_set_draw")
+ (return-type "none")
+ (parameters
+ '("XftDraw*" "draw")
+ )
+)
+
+(define-method set_default_color
+ (of-object "PangoXftRenderer")
+ (c-name "pango_xft_renderer_set_default_color")
+ (return-type "none")
+ (parameters
+ '("PangoColor*" "default_color")
+ )
+)
+
+(define-function pango_xft_render
+ (c-name "pango_xft_render")
+ (return-type "none")
+ (parameters
+ '("XftDraw*" "draw")
+ '("XftColor*" "color")
+ '("PangoFont*" "font")
+ '("PangoGlyphString*" "glyphs")
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-function pango_xft_picture_render
+ (c-name "pango_xft_picture_render")
+ (return-type "none")
+ (parameters
+ '("Display*" "display")
+ '("Picture" "src_picture")
+ '("Picture" "dest_picture")
+ '("PangoFont*" "font")
+ '("PangoGlyphString*" "glyphs")
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-function pango_xft_render_transformed
+ (c-name "pango_xft_render_transformed")
+ (return-type "none")
+ (parameters
+ '("XftDraw*" "draw")
+ '("XftColor*" "color")
+ '("PangoMatrix*" "matrix")
+ '("PangoFont*" "font")
+ '("PangoGlyphString*" "glyphs")
+ '("int" "x")
+ '("int" "y")
+ )
+)
+
+(define-function pango_xft_render_layout_line
+ (c-name "pango_xft_render_layout_line")
+ (return-type "none")
+ (parameters
+ '("XftDraw*" "draw")
+ '("XftColor*" "color")
+ '("PangoLayoutLine*" "line")
+ '("int" "x")
+ '("int" "y")
+ )
+)
+
+(define-function pango_xft_render_layout
+ (c-name "pango_xft_render_layout")
+ (return-type "none")
+ (parameters
+ '("XftDraw*" "draw")
+ '("XftColor*" "color")
+ '("PangoLayout*" "layout")
+ '("int" "x")
+ '("int" "y")
+ )
+)
+
+
+
+;; From pangox.h
+
+(define-function pango_x_get_context
+ (c-name "pango_x_get_context")
+ (return-type "PangoContext*")
+ (parameters
+ '("Display*" "display")
+ )
+)
+
+(define-function pango_x_context_set_funcs
+ (c-name "pango_x_context_set_funcs")
+ (return-type "none")
+ (parameters
+ '("PangoContext*" "context")
+ '("PangoGetGCFunc" "get_gc_func")
+ '("PangoFreeGCFunc" "free_gc_func")
+ )
+)
+
+(define-function pango_x_load_font
+ (c-name "pango_x_load_font")
+ (return-type "PangoFont*")
+ (parameters
+ '("Display*" "display")
+ '("const-gchar*" "spec")
+ )
+)
+
+(define-function pango_x_render
+ (c-name "pango_x_render")
+ (return-type "none")
+ (parameters
+ '("Display*" "display")
+ '("Drawable" "d")
+ '("GC" "gc")
+ '("PangoFont*" "font")
+ '("PangoGlyphString*" "glyphs")
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
+(define-function pango_x_render_layout_line
+ (c-name "pango_x_render_layout_line")
+ (return-type "none")
+ (parameters
+ '("Display*" "display")
+ '("Drawable" "drawable")
+ '("GC" "gc")
+ '("PangoLayoutLine*" "line")
+ '("int" "x")
+ '("int" "y")
+ )
+)
+
+(define-function pango_x_render_layout
+ (c-name "pango_x_render_layout")
+ (return-type "none")
+ (parameters
+ '("Display*" "display")
+ '("Drawable" "drawable")
+ '("GC" "gc")
+ '("PangoLayout*" "layout")
+ '("int" "x")
+ '("int" "y")
+ )
+)
+
+(define-function pango_x_list_subfonts
+ (c-name "pango_x_list_subfonts")
+ (return-type "int")
+ (parameters
+ '("PangoFont*" "font")
+ '("char**" "charsets")
+ '("int" "n_charsets")
+ '("PangoXSubfont**" "subfont_ids")
+ '("int**" "subfont_charsets")
+ )
+)
+
+(define-function pango_x_has_glyph
+ (c-name "pango_x_has_glyph")
+ (return-type "gboolean")
+ (parameters
+ '("PangoFont*" "font")
+ '("PangoGlyph" "glyph")
+ )
+)
+
+(define-function pango_x_get_unknown_glyph
+ (c-name "pango_x_get_unknown_glyph")
+ (return-type "PangoGlyph")
+ (parameters
+ '("PangoFont*" "font")
+ )
+)
+
+(define-function pango_x_font_get_unknown_glyph
+ (c-name "pango_x_font_get_unknown_glyph")
+ (return-type "PangoGlyph")
+ (parameters
+ '("PangoFont*" "font")
+ '("gunichar" "wc")
+ )
+)
+
+(define-function pango_x_font_cache_new
+ (c-name "pango_x_font_cache_new")
+ (is-constructor-of "PangoXFontCache")
+ (return-type "PangoXFontCache*")
+ (parameters
+ '("Display*" "display")
+ )
+)
+
+(define-method free
+ (of-object "PangoXFontCache")
+ (c-name "pango_x_font_cache_free")
+ (return-type "none")
+)
+
+(define-method load
+ (of-object "PangoXFontCache")
+ (c-name "pango_x_font_cache_load")
+ (return-type "XFontStruct*")
+ (parameters
+ '("const-char*" "xlfd")
+ )
+)
+
+(define-method unload
+ (of-object "PangoXFontCache")
+ (c-name "pango_x_font_cache_unload")
+ (return-type "none")
+ (parameters
+ '("XFontStruct*" "fs")
+ )
+)
+
+(define-function pango_x_font_map_for_display
+ (c-name "pango_x_font_map_for_display")
+ (return-type "PangoFontMap*")
+ (parameters
+ '("Display*" "display")
+ )
+)
+
+(define-function pango_x_shutdown_display
+ (c-name "pango_x_shutdown_display")
+ (return-type "none")
+ (parameters
+ '("Display*" "display")
+ )
+)
+
+(define-function pango_x_font_map_get_font_cache
+ (c-name "pango_x_font_map_get_font_cache")
+ (return-type "PangoXFontCache*")
+ (parameters
+ '("PangoFontMap*" "font_map")
+ )
+)
+
+(define-function pango_x_font_subfont_xlfd
+ (c-name "pango_x_font_subfont_xlfd")
+ (return-type "char*")
+ (parameters
+ '("PangoFont*" "font")
+ '("PangoXSubfont" "subfont_id")
+ )
+)
+
+(define-function pango_x_find_first_subfont
+ (c-name "pango_x_find_first_subfont")
+ (return-type "gboolean")
+ (parameters
+ '("PangoFont*" "font")
+ '("char**" "charsets")
+ '("int" "n_charsets")
+ '("PangoXSubfont*" "rfont")
+ )
+)
+
+(define-function pango_x_fallback_shape
+ (c-name "pango_x_fallback_shape")
+ (return-type "none")
+ (parameters
+ '("PangoFont*" "font")
+ '("PangoGlyphString*" "glyphs")
+ '("const-char*" "text")
+ '("int" "n_chars")
+ )
+)
+
+(define-function pango_x_apply_ligatures
+ (c-name "pango_x_apply_ligatures")
+ (return-type "gboolean")
+ (parameters
+ '("PangoFont*" "font")
+ '("PangoXSubfont" "subfont")
+ '("gunichar**" "glyphs")
+ '("int*" "n_glyphs")
+ '("int**" "clusters")
+ )
+)
+
+
+
+;; From pangox-private.h
+
+(define-function pango_x_font_map_get_type
+ (c-name "pango_x_font_map_get_type")
+ (return-type "GType")
+)
+
+(define-function pango_x_font_new
+ (c-name "pango_x_font_new")
+ (is-constructor-of "PangoXFont")
+ (return-type "PangoXFont*")
+ (parameters
+ '("PangoFontMap*" "fontmap")
+ '("const-char*" "spec")
+ '("int" "size")
+ )
+)
+
+(define-function pango_x_get_shaper_map
+ (c-name "pango_x_get_shaper_map")
+ (return-type "PangoMap*")
+ (parameters
+ '("PangoLanguage*" "language")
+ )
+)
+
+(define-function pango_x_make_matching_xlfd
+ (c-name "pango_x_make_matching_xlfd")
+ (return-type "char*")
+ (parameters
+ '("PangoFontMap*" "fontmap")
+ '("char*" "xlfd")
+ '("const-char*" "charset")
+ '("int" "size")
+ )
+)
+
+(define-method get_coverage
+ (of-object "PangoXFace")
+ (c-name "pango_x_face_get_coverage")
+ (return-type "PangoCoverage*")
+ (parameters
+ '("PangoFont*" "font")
+ '("PangoLanguage*" "language")
+ )
+)
+
+(define-method remove
+ (of-object "PangoXFace")
+ (c-name "pango_x_face_remove")
+ (return-type "none")
+ (parameters
+ '("PangoFont*" "font")
+ )
+)
+
+(define-function pango_x_fontmap_get_display
+ (c-name "pango_x_fontmap_get_display")
+ (return-type "Display*")
+ (parameters
+ '("PangoFontMap*" "fontmap")
+ )
+)
+
+(define-function pango_x_fontmap_cache_add
+ (c-name "pango_x_fontmap_cache_add")
+ (return-type "none")
+ (parameters
+ '("PangoFontMap*" "fontmap")
+ '("PangoXFont*" "xfont")
+ )
+)
+
+(define-function pango_x_fontmap_cache_remove
+ (c-name "pango_x_fontmap_cache_remove")
+ (return-type "none")
+ (parameters
+ '("PangoFontMap*" "fontmap")
+ '("PangoXFont*" "xfont")
+ )
+)
+
+(define-function pango_x_fontmap_atom_from_name
+ (c-name "pango_x_fontmap_atom_from_name")
+ (return-type "Atom")
+ (parameters
+ '("PangoFontMap*" "fontmap")
+ '("const-char*" "atomname")
+ )
+)
+
+(define-function pango_x_fontmap_name_from_atom
+ (c-name "pango_x_fontmap_name_from_atom")
+ (return-type "const-char*")
+ (parameters
+ '("PangoFontMap*" "fontmap")
+ '("Atom" "atom")
+ )
+)
+
+
diff --git a/libs/gtkmm2/pango/src/pango_vfuncs.defs b/libs/gtkmm2/pango/src/pango_vfuncs.defs
new file mode 100644
index 0000000000..2bdd048639
--- /dev/null
+++ b/libs/gtkmm2/pango/src/pango_vfuncs.defs
@@ -0,0 +1,17 @@
+;; -*- scheme -*-
+; virtual function definitions
+; define-vfunc is gtkmm-specific
+
+; PangoFontFace
+
+(define-vfunc get_face_name
+ (of-object "PangoFontFace")
+ (return-type "const-gchar*")
+)
+
+(define-vfunc describe
+ (of-object "PangoFontFace")
+ (return-type "PangoFontDescription*")
+)
+
+
diff --git a/libs/gtkmm2/pango/src/rectangle.ccg b/libs/gtkmm2/pango/src/rectangle.ccg
new file mode 100644
index 0000000000..176cabbc64
--- /dev/null
+++ b/libs/gtkmm2/pango/src/rectangle.ccg
@@ -0,0 +1,65 @@
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+namespace Pango
+{
+
+Rectangle::Rectangle()
+{
+ gobject_.x = gobject_.y = 0;
+ gobject_.width = gobject_.height = 0;
+}
+
+Rectangle::Rectangle(int x, int y, int width, int height)
+{
+ gobject_.x = x;
+ gobject_.y = y;
+ gobject_.width = width;
+ gobject_.height = height;
+}
+
+Rectangle::Rectangle(const PangoRectangle* src)
+{
+ gobject_.x = src->x;
+ gobject_.y = src->y;
+ gobject_.width = src->width;
+ gobject_.height = src->height;
+}
+
+bool Rectangle::equal(const Rectangle& rhs) const
+{
+ return (get_x() == rhs.get_x() && get_y() == rhs.get_y() &&
+ get_width() == rhs.get_width() && get_height() == rhs.get_height());
+}
+
+} /* namespace Pango */
+
+
+namespace Glib
+{
+
+Pango::Rectangle& wrap(PangoRectangle* object)
+{
+ return *reinterpret_cast<Pango::Rectangle*>(object);
+}
+
+const Pango::Rectangle& wrap(const PangoRectangle* object)
+{
+ return *reinterpret_cast<const Pango::Rectangle*>(object);
+}
+
+} /* namespace Glib */
diff --git a/libs/gtkmm2/pango/src/rectangle.hg b/libs/gtkmm2/pango/src/rectangle.hg
new file mode 100644
index 0000000000..07b7101608
--- /dev/null
+++ b/libs/gtkmm2/pango/src/rectangle.hg
@@ -0,0 +1,145 @@
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pango/pango-types.h>
+
+_DEFS(pangomm,pango)
+
+namespace Pango
+{
+
+/** A Pango::Rectangle represents a rectangle.
+ * It is frequently used to represent the logical or ink extents of a single glyph or section of text.
+ * The coordinate system for each rectangle has its origin at the base line and the horizontal
+ * origin of the character with increasing coordinates extending to the right and down.
+ * get_ascent(), get_descent(), get_lbearing(), and get_rbearing() can be used to convert
+ * from the extents rectangle to more traditional font metrics.
+ * The units of rectangles usually are in 1/Pango::SCALE of a device unit.
+ */
+class Rectangle
+{
+ _CLASS_GENERIC(Rectangle, PangoRectangle)
+
+public:
+ Rectangle();
+ Rectangle(int x, int y, int width, int height);
+ explicit Rectangle(const PangoRectangle* src);
+
+ /** Sets the X coordinate of the left side of the rectangle.
+ * @param x The new X coordinate.
+ */
+ void set_x(int x) { gobject_.x = x; }
+
+ /** Sets the Y coordinate of the top side of the rectangle.
+ * @param y The new Y coordinate.
+ */
+ void set_y(int y) { gobject_.y = y; }
+
+ /** Sets the width of the rectangle.
+ * @param w The new width.
+ */
+ void set_width(int w) { gobject_.width = w; }
+
+ /** Sets the height of the rectangle.
+ * @param h The new height.
+ */
+ void set_height(int h) { gobject_.height = h; }
+
+ /** Gets the X coordinate of the left side of the rectangle.
+ * @return The X coordinate.
+ */
+ int get_x() const { return gobject_.x; }
+
+ /** Gets the Y coordinate of the top side of the rectangle.
+ * @return The Y coordinate.
+ */
+ int get_y() const { return gobject_.y; }
+
+ /** Gets the width of the rectangle.
+ * @return The width.
+ */
+ int get_width() const { return gobject_.width; }
+
+ /** Gets the height of the rectangle.
+ * @return The height.
+ */
+ int get_height() const { return gobject_.height; }
+
+ /** Extracts the ascent from a Pango::Rectangle representing glyph extents.
+ * The ascent is the distance from the baseline to the highest point of the character.
+ * This is positive if the glyph ascends above the baseline.
+ * @return The ascent of the character.
+ */
+ int get_ascent() const { return PANGO_ASCENT(*gobj()); }
+
+ /** Extracts the descent from a Pango::Rectangle representing glyph extents.
+ * The descent is the distance from the baseline to the lowest point of the character.
+ * This is positive if the glyph descends below the baseline.
+ * @return The descent of the character.
+ */
+ int get_descent() const { return PANGO_DESCENT(*gobj()); }
+
+ /** Extracts the left bearing from a Pango::Rectangle representing glyph extents.
+ * The left bearing is the distance from the horizontal origin to the farthest left point of the character.
+ * This is positive for characters drawn completely to the right of the glyph origin.
+ * @return The left bearing of the character.
+ */
+ int get_lbearing() const { return PANGO_LBEARING(*gobj()); }
+
+ /** Extracts the right bearing from a Pango::Rectangle representing glyph extents.
+ * The right bearing is the distance from the horizontal origin to the farthest right point of the character.
+ * This is positive except for characters drawn completely to the left of the horizontal origin.
+ * @return The right bearing of the character.
+ */
+ int get_rbearing() const { return PANGO_RBEARING(*gobj()); }
+
+ /** Checks for equality of two Pango::Rectangles.
+ * @param rhs The Pango::Rectangle to compare with.
+ * @return true if @a rhs is equal with the rectangle.
+ */
+ bool equal(const Rectangle& rhs) const;
+
+ /// Provides access to the underlying C GObject.
+ PangoRectangle* gobj() { return &gobject_; }
+ /// Provides access to the underlying C GObject.
+ const PangoRectangle* gobj() const { return &gobject_; }
+
+protected:
+ PangoRectangle gobject_;
+};
+
+/** @relates Pango::Rectangle */
+inline bool operator==(const Rectangle& lhs, const Rectangle& rhs)
+ { return lhs.equal(rhs); }
+
+/** @relates Pango::Rectangle */
+inline bool operator!=(const Rectangle& lhs, const Rectangle& rhs)
+ { return !lhs.equal(rhs); }
+
+} /* namespace Pango */
+
+
+namespace Glib
+{
+
+/** @relates Pango::Rectangle */
+Pango::Rectangle& wrap(PangoRectangle* object);
+
+/** @relates Pango::Rectangle */
+const Pango::Rectangle& wrap(const PangoRectangle* object);
+
+} /* namespace Glib */
diff --git a/libs/gtkmm2/pango/src/renderer.ccg b/libs/gtkmm2/pango/src/renderer.ccg
new file mode 100644
index 0000000000..bce912c28f
--- /dev/null
+++ b/libs/gtkmm2/pango/src/renderer.ccg
@@ -0,0 +1,41 @@
+// -*- c++ -*-
+/* $Id: renderer.ccg,v 1.2 2006/06/10 15:26:24 murrayc Exp $ */
+
+/*
+ *
+ * Copyright 2004 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pango/pango-renderer.h>
+#include <pango/pango-types.h> //For PANGO_MATRIX_INIT
+
+namespace Pango
+{
+
+Matrix Renderer::get_matrix() const
+{
+ const PangoMatrix* matrix = pango_renderer_get_matrix(const_cast<PangoRenderer*>(gobj()));
+ if(matrix)
+ return *matrix;
+ else
+ {
+ PangoMatrix identity_transform = PANGO_MATRIX_INIT;
+ return identity_transform;
+ }
+}
+
+} /* namespace Pango */
diff --git a/libs/gtkmm2/pango/src/renderer.hg b/libs/gtkmm2/pango/src/renderer.hg
new file mode 100644
index 0000000000..8b112506c5
--- /dev/null
+++ b/libs/gtkmm2/pango/src/renderer.hg
@@ -0,0 +1,75 @@
+/* $Id: renderer.hg,v 1.4 2006/06/10 15:26:24 murrayc Exp $ */
+
+/* renderer.h
+ *
+ * Copyright(C) 2004 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or(at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+#include <glibmm/object.h>
+#include <pangomm/context.h>
+#include <pangomm/glyphstring.h>
+#include <pangomm/layout.h>
+#include <pangomm/layoutline.h>
+
+_DEFS(pangomm,pango)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Pango
+{
+
+_CC_INCLUDE(pango/pango-enum-types.h)
+
+_WRAP_ENUM(RenderPart, PangoRenderPart)
+
+/** Pango::Renderer is a base class that contains the necessary logic for rendering a Pango::Layout or Pango::LayoutLine.
+ * By subclassing Pango::Renderer and overriding operations such as draw_glyphs and draw_rectangle,
+ * renderers for particular font backends and destinations can be created.
+ */
+class Renderer : public Glib::Object
+{
+ _CLASS_GOBJECT(Renderer, PangoRenderer, PANGO_RENDERER, Glib::Object, GObject)
+
+protected:
+
+public:
+
+ _WRAP_METHOD(void draw_layout(const Glib::RefPtr<Layout>& layout, int x, int y), pango_renderer_draw_layout)
+ _WRAP_METHOD(void draw_layout_line(const Glib::RefPtr<LayoutLine>& line, int x, int y), pango_renderer_draw_layout_line)
+ _WRAP_METHOD(void draw_glyphs(const Glib::RefPtr<Font>& font, const GlyphString& glyphs, int x, int y), pango_renderer_draw_glyphs)
+ _WRAP_METHOD(void draw_rectangle(RenderPart part, int x, int y, int width, int height), pango_renderer_draw_rectangle)
+ _WRAP_METHOD(void draw_error_underline(int x, int y, int width, int height), pango_renderer_draw_error_underline)
+ _WRAP_METHOD(void draw_trapezoid(RenderPart part, double y1, double x11, double x21, double y2, double x12, double x22), pango_renderer_draw_trapezoid)
+ _WRAP_METHOD(void draw_glyph(const Glib::RefPtr<Font>& font, Glyph glyph, double x, double y), pango_renderer_draw_glyph)
+
+ _WRAP_METHOD(void activate(), pango_renderer_activate)
+ _WRAP_METHOD(void deactivate(), pango_renderer_deactivate)
+
+ _WRAP_METHOD(void part_changed(RenderPart part), pango_renderer_part_changed)
+
+ _WRAP_METHOD(void set_color(RenderPart part, const Color& color), pango_renderer_set_color)
+
+#m4 _CONVERSION(`PangoColor*',`Color',`Color($3)')
+ _WRAP_METHOD(Color get_color(RenderPart part) const, pango_renderer_get_color)
+
+ _WRAP_METHOD(void set_matrix(const Matrix& matrix), pango_renderer_set_matrix)
+ Matrix get_matrix() const;
+ _IGNORE(pango_renderer_get_matrix)
+};
+
+} /* namespace Pango */
+
diff --git a/libs/gtkmm2/pango/src/tabarray.ccg b/libs/gtkmm2/pango/src/tabarray.ccg
new file mode 100644
index 0000000000..c09cd1bcef
--- /dev/null
+++ b/libs/gtkmm2/pango/src/tabarray.ccg
@@ -0,0 +1,76 @@
+// -*- c++ -*-
+/* $Id: tabarray.ccg,v 1.2 2006/07/05 18:46:36 markoa Exp $ */
+
+/*
+ *
+ * Copyright 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+namespace Pango
+{
+
+TabArray::TabArray(int initial_size, bool positions_in_pixels)
+{
+ gobject_ = pango_tab_array_new(initial_size, (gboolean)positions_in_pixels);
+}
+
+std::pair<TabAlign,int> TabArray::get_tab(int tab_index) const
+{
+ PangoTabAlign p_alignment;
+ TabAlign alignment;
+ int location;
+ pango_tab_array_get_tab(const_cast<PangoTabArray*>(gobj()), tab_index, &p_alignment, &location);
+ alignment = static_cast<TabAlign>(p_alignment);
+ return std::pair<TabAlign,int>(alignment, location);
+}
+
+Glib::ArrayHandle< std::pair<TabAlign,int> > TabArray::get_tabs() const
+{
+ typedef std::pair<TabAlign,int> PairType;
+
+ PairType* pair_buffer = 0;
+ const int size = pango_tab_array_get_size(const_cast<PangoTabArray*>(gobj()));
+
+ if(size > 0)
+ {
+ // Get arrays
+ PangoTabAlign* pAlignments = 0;
+ int* pLocations = 0;
+ pango_tab_array_get_tabs(const_cast<PangoTabArray*>(gobj()), &pAlignments, &pLocations);
+
+ if(pAlignments && pLocations)
+ {
+ // Create temporary C array. Fortunately, the C++ type is POD,
+ // so we can safely store it in the array.
+ pair_buffer = g_new(PairType, size);
+
+ for(int i = 0; i < size; ++i)
+ {
+ pair_buffer[i].first = (TabAlign)(pAlignments[i]);
+ pair_buffer[i].second = pLocations[i];
+ }
+ }
+
+ g_free(pAlignments);
+ g_free(pLocations);
+ }
+
+ return Glib::ArrayHandle<PairType>(pair_buffer, size, Glib::OWNERSHIP_SHALLOW);
+}
+
+} /* namespace Pango */
+
diff --git a/libs/gtkmm2/pango/src/tabarray.hg b/libs/gtkmm2/pango/src/tabarray.hg
new file mode 100644
index 0000000000..6da01f8ad5
--- /dev/null
+++ b/libs/gtkmm2/pango/src/tabarray.hg
@@ -0,0 +1,67 @@
+/* $Id: tabarray.hg,v 1.2 2003/01/22 12:10:11 murrayc Exp $ */
+
+/* tabarray.h
+ *
+ * Copyright (C) 1998-1999 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <pangomm/attrlist.h>
+#include <pango/pango-tabs.h>
+#include <pango/pango-break.h> //For PangoLogAttrs.
+
+#include <utility>
+#include <glibmmconfig.h>
+GLIBMM_USING_STD(pair)
+
+_DEFS(pangomm,pango)
+
+namespace Pango
+{
+
+_CC_INCLUDE(pango/pango-enum-types.h)
+_WRAP_ENUM(TabAlign, PangoTabAlign)
+
+
+/** A Pango::TabArray contains an array of tab stops.
+ * Each tab stop has an alignment and a position.
+ */
+class TabArray
+{
+ _CLASS_BOXEDTYPE(TabArray, PangoTabArray, NONE, pango_tab_array_copy, pango_tab_array_free)
+ _IGNORE(pango_tab_array_free, pango_tab_array_copy, pango_tab_array_get_tab, pango_tab_array_get_tabs, pango_tab_array_new_with_positions)
+public:
+ explicit TabArray(int initial_size, bool positions_in_pixels = true);
+
+ _WRAP_METHOD(int get_size() const, pango_tab_array_get_size)
+ _WRAP_METHOD(void resize(int new_size), pango_tab_array_resize)
+ _WRAP_METHOD(void set_tab(int tab_index, TabAlign alignment, int location), pango_tab_array_set_tab)
+
+ /** Gets the alignment and position of a tab stop.
+ * @return An std::pair<TabAlign, int>. The first element represents the tab stop alignment, the second one is the tab position.
+ */
+ std::pair<TabAlign,int> get_tab(int tab_index) const;
+
+ /** Gets an array of std::pairs containing the tab stop alignments and tab positions.
+ * @return An array of std::pair<TabAlign, int>. The first element in each pair represents the tab stop alignment, the second one is the tab position.
+ */
+ Glib::ArrayHandle< std::pair<TabAlign,int> > get_tabs() const;
+
+ _WRAP_METHOD(bool get_positions_in_pixels() const, pango_tab_array_get_positions_in_pixels)
+};
+
+} //namespace Pango
+
diff --git a/libs/gtkmm2/scripts/Makefile.am b/libs/gtkmm2/scripts/Makefile.am
new file mode 100644
index 0000000000..398ba0ea94
--- /dev/null
+++ b/libs/gtkmm2/scripts/Makefile.am
@@ -0,0 +1,4 @@
+
+EXTRA_DIST = README config.sub missing config.guess install-sh \
+ ltmain.sh docgen.m4 macros.m4
+
diff --git a/libs/gtkmm2/scripts/Makefile.in b/libs/gtkmm2/scripts/Makefile.in
new file mode 100644
index 0000000000..ac119632c2
--- /dev/null
+++ b/libs/gtkmm2/scripts/Makefile.in
@@ -0,0 +1,359 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = scripts
+DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ config.guess config.sub depcomp install-sh ltmain.sh missing
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = README config.sub missing config.guess install-sh \
+ ltmain.sh docgen.m4 macros.m4
+
+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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu scripts/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu scripts/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
+
+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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+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:
+
+.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 \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/scripts/README b/libs/gtkmm2/scripts/README
new file mode 100644
index 0000000000..0159f91b80
--- /dev/null
+++ b/libs/gtkmm2/scripts/README
@@ -0,0 +1,2 @@
+This is a stub directory to hold all the stuff associated with
+automake.
diff --git a/libs/glibmm2/scripts/config.guess b/libs/gtkmm2/scripts/config.guess
index e3ef63f6cb..e3ef63f6cb 100644..100755
--- a/libs/glibmm2/scripts/config.guess
+++ b/libs/gtkmm2/scripts/config.guess
diff --git a/libs/glibmm2/scripts/config.sub b/libs/gtkmm2/scripts/config.sub
index 285164700d..285164700d 100644..100755
--- a/libs/glibmm2/scripts/config.sub
+++ b/libs/gtkmm2/scripts/config.sub
diff --git a/libs/glibmm2/scripts/depcomp b/libs/gtkmm2/scripts/depcomp
index 04701da536..ca5ea4e1ef 100644..100755
--- a/libs/glibmm2/scripts/depcomp
+++ b/libs/gtkmm2/scripts/depcomp
@@ -1,9 +1,10 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2005-07-09.11
+scriptversion=2006-10-15.18
-# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software
+# Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -91,7 +92,20 @@ gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
- "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
+## the command line argument order; so add the flags where they
+## appear in depend2.am. Note that the slowdown incurred here
+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
+ for arg
+ do
+ case $arg in
+ -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
+ *) set fnord "$@" "$arg" ;;
+ esac
+ shift # fnord
+ shift # $arg
+ done
+ "$@"
stat=$?
if test $stat -eq 0; then :
else
@@ -276,6 +290,46 @@ icc)
rm -f "$tmpdepfile"
;;
+hp2)
+ # The "hp" stanza above does not work with aCC (C++) and HP's ia64
+ # compilers, which have integrated preprocessors. The correct option
+ # to use with these is +Maked; it writes dependencies to a file named
+ # 'foo.d', which lands next to the object file, wherever that
+ # happens to be.
+ # Much of this is similar to the tru64 case; see comments there.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir.libs/$base.d
+ "$@" -Wc,+Maked
+ else
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir$base.d
+ "$@" +Maked
+ fi
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
+ # Add `dependent.h:' lines.
+ sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
+ else
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile" "$tmpdepfile2"
+ ;;
+
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
@@ -288,13 +342,13 @@ tru64)
if test "$libtool" = yes; then
# With Tru64 cc, shared objects can also be used to make a
- # static library. This mecanism is used in libtool 1.4 series to
+ # static library. This mechanism is used in libtool 1.4 series to
# handle both shared and static libraries in a single compilation.
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
#
# With libtool 1.5 this exception was removed, and libtool now
# generates 2 separate objects for the 2 libraries. These two
- # compilations output dependencies in in $dir.libs/$base.o.d and
+ # compilations output dependencies in $dir.libs/$base.o.d and
# in $dir$base.o.d. We have to check for both files, because
# one of the two compilations can be disabled. We should prefer
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
diff --git a/libs/gtkmm2/scripts/docgen.m4 b/libs/gtkmm2/scripts/docgen.m4
new file mode 100644
index 0000000000..d4555a8824
--- /dev/null
+++ b/libs/gtkmm2/scripts/docgen.m4
@@ -0,0 +1,18 @@
+
+## GTKMM_DOXYGEN_INPUT_SUBDIRS(subdirectory list)
+##
+AC_DEFUN([GTKMM_DOXYGEN_INPUT_SUBDIRS],
+[
+GTKMM_DOXYGEN_INPUT=
+gtkmm_srcdir=`cd "$srcdir" >/dev/null && pwd`
+
+gtkmm_list="$@"
+for gtkmm_sublib in $gtkmm_list
+do
+ GTKMM_DOXYGEN_INPUT="$GTKMM_DOXYGEN_INPUT ${gtkmm_srcdir}/${gtkmm_sublib}/${gtkmm_sublib}mm/"
+done
+
+AC_SUBST(GTKMM_DOXYGEN_INPUT)
+])
+
+
diff --git a/libs/glibmm2/scripts/install-sh b/libs/gtkmm2/scripts/install-sh
index 4d4a9519ea..4fbbae7b7f 100644..100755
--- a/libs/glibmm2/scripts/install-sh
+++ b/libs/gtkmm2/scripts/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2005-05-14.22
+scriptversion=2006-10-14.15
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -39,15 +39,24 @@ scriptversion=2005-05-14.22
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
-# from scratch. It can only install one file at a time, a restriction
-# shared with many OS's install programs.
+# from scratch.
+
+nl='
+'
+IFS=" "" $nl"
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
+if test -z "$doit"; then
+ doit_exec=exec
+else
+ doit_exec=$doit
+fi
-# put in absolute paths if you don't have them in your path; or use env. vars.
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
@@ -58,7 +67,13 @@ stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
-chmodcmd="$chmodprog 0755"
+posix_glob=
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
+
+chmodcmd=$chmodprog
chowncmd=
chgrpcmd=
stripcmd=
@@ -95,7 +110,7 @@ Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
"
-while test -n "$1"; do
+while test $# -ne 0; do
case $1 in
-c) shift
continue;;
@@ -111,9 +126,15 @@ while test -n "$1"; do
--help) echo "$usage"; exit $?;;
- -m) chmodcmd="$chmodprog $2"
+ -m) mode=$2
shift
shift
+ case $mode in
+ *' '* | *' '* | *'
+'* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
continue;;
-o) chowncmd="$chownprog $2"
@@ -136,25 +157,33 @@ while test -n "$1"; do
--version) echo "$0 $scriptversion"; exit $?;;
- *) # When -d is used, all remaining arguments are directories to create.
- # When -t is used, the destination is already specified.
- test -n "$dir_arg$dstarg" && break
- # Otherwise, the last argument is the destination. Remove it from $@.
- for arg
- do
- if test -n "$dstarg"; then
- # $@ is not empty: it contains at least $arg.
- set fnord "$@" "$dstarg"
- shift # fnord
- fi
- shift # arg
- dstarg=$arg
- done
+ --) shift
break;;
+
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
+
+ *) break;;
esac
done
-if test -z "$1"; then
+if test $# -ne 0 && test -z "$dir_arg$dstarg"; then
+ # When -d is used, all remaining arguments are directories to create.
+ # When -t is used, the destination is already specified.
+ # Otherwise, the last argument is the destination. Remove it from $@.
+ for arg
+ do
+ if test -n "$dstarg"; then
+ # $@ is not empty: it contains at least $arg.
+ set fnord "$@" "$dstarg"
+ shift # fnord
+ fi
+ shift # arg
+ dstarg=$arg
+ done
+fi
+
+if test $# -eq 0; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
@@ -164,6 +193,33 @@ if test -z "$1"; then
exit 0
fi
+if test -z "$dir_arg"; then
+ trap '(exit $?); exit' 1 2 13 15
+
+ # Set umask so as not to create temps with too-generous modes.
+ # However, 'strip' requires both read and write access to temps.
+ case $mode in
+ # Optimize common cases.
+ *644) cp_umask=133;;
+ *755) cp_umask=22;;
+
+ *[0-7])
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw='% 200'
+ fi
+ cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+ *)
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw=,u+rw
+ fi
+ cp_umask=$mode$u_plus_rw;;
+ esac
+fi
+
for src
do
# Protect names starting with `-'.
@@ -173,15 +229,11 @@ do
if test -n "$dir_arg"; then
dst=$src
- src=
-
- if test -d "$dst"; then
- mkdircmd=:
- chmodcmd=
- else
- mkdircmd=$mkdirprog
- fi
+ dstdir=$dst
+ test -d "$dstdir"
+ dstdir_status=$?
else
+
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
@@ -208,53 +260,188 @@ do
echo "$0: $dstarg: Is a directory" >&2
exit 1
fi
- dst=$dst/`basename "$src"`
+ dstdir=$dst
+ dst=$dstdir/`basename "$src"`
+ dstdir_status=0
+ else
+ # Prefer dirname, but fall back on a substitute if dirname fails.
+ dstdir=`
+ (dirname "$dst") 2>/dev/null ||
+ expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$dst" : 'X\(//\)[^/]' \| \
+ X"$dst" : 'X\(//\)$' \| \
+ X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+ echo X"$dst" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'
+ `
+
+ test -d "$dstdir"
+ dstdir_status=$?
fi
fi
- # This sed command emulates the dirname command.
- dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
-
- # Make sure that the destination directory exists.
-
- # Skip lots of stat calls in the usual case.
- if test ! -d "$dstdir"; then
- defaultIFS='
- '
- IFS="${IFS-$defaultIFS}"
-
- oIFS=$IFS
- # Some sh's can't handle IFS=/ for some reason.
- IFS='%'
- set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
- shift
- IFS=$oIFS
+ obsolete_mkdir_used=false
+
+ if test $dstdir_status != 0; then
+ case $posix_mkdir in
+ '')
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of 1997-10-28.
+ umask=`umask`
+ case $stripcmd.$umask in
+ # Optimize common cases.
+ *[2367][2367]) mkdir_umask=$umask;;
+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ case $umask in
+ *[123567][0-7][0-7])
+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ if (umask $mkdir_umask &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writeable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/d" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
+ esac
- pathcomp=
+ if
+ $posix_mkdir && (
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ )
+ then :
+ else
- while test $# -ne 0 ; do
- pathcomp=$pathcomp$1
+ # The umask is ridiculous, or mkdir does not conform to POSIX,
+ # or it failed possibly due to a race condition. Create the
+ # directory the slow way, step by step, checking for races as we go.
+
+ case $dstdir in
+ /*) prefix=/ ;;
+ -*) prefix=./ ;;
+ *) prefix= ;;
+ esac
+
+ case $posix_glob in
+ '')
+ if (set -f) 2>/dev/null; then
+ posix_glob=true
+ else
+ posix_glob=false
+ fi ;;
+ esac
+
+ oIFS=$IFS
+ IFS=/
+ $posix_glob && set -f
+ set fnord $dstdir
shift
- if test ! -d "$pathcomp"; then
- $mkdirprog "$pathcomp"
- # mkdir can fail with a `File exist' error in case several
- # install-sh are creating the directory concurrently. This
- # is OK.
- test -d "$pathcomp" || exit
+ $posix_glob && set +f
+ IFS=$oIFS
+
+ prefixes=
+
+ for d
+ do
+ test -z "$d" && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask=$mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
+ done
+
+ if test -n "$prefixes"; then
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
fi
- pathcomp=$pathcomp/
- done
+ fi
fi
if test -n "$dir_arg"; then
- $doit $mkdircmd "$dst" \
- && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
- && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
- && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
- && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
-
+ { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+ { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
else
- dstfile=`basename "$dst"`
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
@@ -262,10 +449,9 @@ do
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
- trap '(exit $?); exit' 1 2 13 15
# Copy the file name to the temp name.
- $doit $cpprog "$src" "$dsttmp" &&
+ (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits.
#
@@ -276,10 +462,10 @@ do
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
- && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
+ && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
# Now rename the file to the real destination.
- { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
+ { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \
|| {
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
@@ -291,11 +477,12 @@ do
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
- if test -f "$dstdir/$dstfile"; then
- $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
- || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
+ if test -f "$dst"; then
+ $doit $rmcmd -f "$dst" 2>/dev/null \
+ || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \
+ && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\
|| {
- echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
+ echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
}
else
@@ -304,16 +491,13 @@ do
} &&
# Now rename the file to the real destination.
- $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
+ $doit $mvcmd "$dsttmp" "$dst"
}
- }
- fi || { (exit 1); exit 1; }
-done
+ } || exit 1
-# The final little trick to "correctly" pass the exit status to the exit trap.
-{
- (exit 0); exit 0
-}
+ trap '' 0
+ fi
+done
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
diff --git a/libs/glibmm2/scripts/ltmain.sh b/libs/gtkmm2/scripts/ltmain.sh
index 06823e057a..06823e057a 100644
--- a/libs/glibmm2/scripts/ltmain.sh
+++ b/libs/gtkmm2/scripts/ltmain.sh
diff --git a/libs/glibmm2/scripts/macros.m4 b/libs/gtkmm2/scripts/macros.m4
index 44a9c4de05..1449342ef7 100644
--- a/libs/glibmm2/scripts/macros.m4
+++ b/libs/gtkmm2/scripts/macros.m4
@@ -10,7 +10,7 @@ AC_CHECK_PROGS(M4, gm4 m4, m4)
if test "$M4" = "m4"; then
AC_MSG_CHECKING(whether m4 is GNU m4)
- if $M4 --version </dev/null 2>/dev/null | grep '^GNU m4 ' >/dev/null ; then
+ if $M4 --version </dev/null 2>/dev/null | grep '^GNU [Mm]4 ' >/dev/null ; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
@@ -29,7 +29,7 @@ AC_DEFUN([AL_PROG_GNU_MAKE],[
dnl
dnl Check for GNU make (stolen from gtk+/configure.in)
AC_MSG_CHECKING(whether make is GNU Make)
-if ${MAKE-make} --version 2>/dev/null | grep '^GNU Make ' >/dev/null ; then
+if $ac_make --version 2>/dev/null | grep '^GNU Make ' >/dev/null ; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
@@ -51,27 +51,6 @@ AC_DEFUN([AL_ACLOCAL_INCLUDE],
])
-## GLIBMM_ARG_ENABLE_DEBUG_REFCOUNTING()
-##
-## Provide the --enable-debug-refcounting configure argument, disabled
-## by default. If enabled, #define GTKMM_DEBUG_REFCOUNTING.
-##
-AC_DEFUN([GLIBMM_ARG_ENABLE_DEBUG_REFCOUNTING],
-[
- AC_ARG_ENABLE([debug-refcounting],
- [ --enable-debug-refcounting Print a debug message on every ref/unref.
- [[default=disabled]]],
- [glibmm_debug_refcounting="$enableval"],
- [glibmm_debug_refcounting='no'])
-
- if test "x$glibmm_debug_refcounting" = "xyes"; then
- {
- AC_DEFINE([GLIBMM_DEBUG_REFCOUNTING],[1], [Defined when the --enable-debug-refcounting configure argument was given])
- }
- fi
-])
-
-
## GTKMM_ARG_ENABLE_WARNINGS()
##
## Provide the --enable-warnings configure argument, set to 'minimum'
@@ -90,9 +69,9 @@ AC_DEFUN([GTKMM_ARG_ENABLE_WARNINGS],
gtkmm_warning_flags=''
case "$gtkmm_enable_warnings" in
- minimum|yes) gtkmm_warning_flags='-Wall -Wno-long-long';;
- maximum) gtkmm_warning_flags='-pedantic -W -Wall -Wno-long-long';;
- hardcore) gtkmm_warning_flags='-pedantic -W -Wall -Wno-long-long -Werror';;
+ minimum|yes) gtkmm_warning_flags='-Wall';;
+ maximum) gtkmm_warning_flags='-pedantic -W -Wall';;
+ hardcore) gtkmm_warning_flags='-pedantic -W -Wall -Werror';;
esac
gtkmm_use_flags=''
diff --git a/libs/glibmm2/scripts/missing b/libs/gtkmm2/scripts/missing
index 894e786e16..1c8ff7049d 100644..100755
--- a/libs/glibmm2/scripts/missing
+++ b/libs/gtkmm2/scripts/missing
@@ -1,9 +1,9 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-scriptversion=2005-06-08.21
+scriptversion=2006-05-10.23
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
# Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
@@ -33,6 +33,8 @@ if test $# -eq 0; then
fi
run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
# In the cases where this matters, `missing' is being run in the
# srcdir already.
@@ -44,7 +46,7 @@ fi
msg="missing on your system"
-case "$1" in
+case $1 in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
@@ -77,6 +79,7 @@ Supported PROGRAM values:
aclocal touch file \`aclocal.m4'
autoconf touch file \`configure'
autoheader touch file \`config.h.in'
+ autom4te touch the output file, or create a stub one
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
@@ -106,7 +109,7 @@ esac
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
# the program).
-case "$1" in
+case $1 in
lex|yacc)
# Not GNU programs, they don't have --version.
;;
@@ -135,7 +138,7 @@ esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
-case "$1" in
+case $1 in
aclocal*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
@@ -164,7 +167,7 @@ WARNING: \`$1' is $msg. You should only need it if
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
- case "$f" in
+ case $f in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
@@ -192,8 +195,8 @@ WARNING: \`$1' is needed, but is $msg.
You can get \`$1' as part of \`Autoconf' from any GNU
archive site."
- file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
- test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -f "$file"; then
touch $file
else
@@ -214,25 +217,25 @@ WARNING: \`$1' $msg. You should only need it if
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
- if [ $# -ne 1 ]; then
+ if test $# -ne 1; then
eval LASTARG="\${$#}"
- case "$LASTARG" in
+ case $LASTARG in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.c
fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.h
fi
;;
esac
fi
- if [ ! -f y.tab.h ]; then
+ if test ! -f y.tab.h; then
echo >y.tab.h
fi
- if [ ! -f y.tab.c ]; then
+ if test ! -f y.tab.c; then
echo 'main() { return 0; }' >y.tab.c
fi
;;
@@ -244,18 +247,18 @@ WARNING: \`$1' is $msg. You should only need it if
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
rm -f lex.yy.c
- if [ $# -ne 1 ]; then
+ if test $# -ne 1; then
eval LASTARG="\${$#}"
- case "$LASTARG" in
+ case $LASTARG in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" lex.yy.c
fi
;;
esac
fi
- if [ ! -f lex.yy.c ]; then
+ if test ! -f lex.yy.c; then
echo 'main() { return 0; }' >lex.yy.c
fi
;;
@@ -267,11 +270,9 @@ WARNING: \`$1' is $msg. You should only need it if
\`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site."
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
- if test -z "$file"; then
- file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
- fi
- if [ -f "$file" ]; then
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -f "$file"; then
touch $file
else
test -z "$file" || exec >$file
@@ -289,11 +290,17 @@ WARNING: \`$1' is $msg. You should only need it if
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
# The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -z "$file"; then
# ... or it is the one specified with @setfilename ...
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
+ file=`sed -n '
+ /^@setfilename/{
+ s/.* \([^ ]*\) *$/\1/
+ p
+ q
+ }' $infile`
# ... or it is derived from the source name (dir/f.texi becomes f.info)
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
fi
@@ -317,13 +324,13 @@ WARNING: \`$1' is $msg. You should only need it if
fi
firstarg="$1"
if shift; then
- case "$firstarg" in
+ case $firstarg in
*o*)
firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" "$@" && exit 0
;;
esac
- case "$firstarg" in
+ case $firstarg in
*h*)
firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" "$@" && exit 0
diff --git a/libs/gtkmm2/scripts/reduced.m4 b/libs/gtkmm2/scripts/reduced.m4
new file mode 100644
index 0000000000..c5505c1281
--- /dev/null
+++ b/libs/gtkmm2/scripts/reduced.m4
@@ -0,0 +1,42 @@
+## GLIBMM_ARG_ENABLE_API_ATKMM()
+##
+## Provide the --enable-api-atkmm configure argument, enabled
+## by default.
+##
+AC_DEFUN([GTKMM_ARG_ENABLE_API_ATKMM],
+[
+ AC_ARG_ENABLE([api-atkmm],
+ [ --enable-api-atkmm Build atkmm API.
+ [[default=yes]]],
+ [gtkmm_enable_api_atkmm="$enableval"],
+ [gtkmm_enable_api_atkmm='yes'])
+
+ if test "x$gtkmm_enable_api_atkmm" = "xyes"; then
+ {
+ AC_DEFINE([GTKMM_ATKMM_ENABLED],[1], [Defined when the --enable-api-atkmm configure argument was given])
+ }
+ fi
+])
+
+
+## GLIBMM_ARG_ENABLE_API_MAEMO_EXTENSIONS()
+##
+## Provide the --enable-api-maemo-extensions configure argument, disabled
+## by default. This provides gtkmm API for the additional GTK+ methods in
+## the version of GTK+ that is in the Maemo platform.
+##
+AC_DEFUN([GTKMM_ARG_ENABLE_API_MAEMO_EXTENSIONS],
+[
+ AC_ARG_ENABLE([api-maemo-extensions],
+ [ --enable-api-maemo-extensions Build Maemo Extensions API.
+ [[default=no]]],
+ [gtkmm_enable_api_maemo_extensions="$enableval"],
+ [gtkmm_enable_api_maemo_extensions='no'])
+
+ if test "x$gtkmm_enable_api_maemo_extensions" = "xyes"; then
+ {
+ AC_DEFINE([GTKMM_MAEMO_EXTENSIONS_ENABLED],[1], [Defined when the --enable-maemo-extensions configure argument was given])
+ }
+ fi
+])
+
diff --git a/libs/gtkmm2/tests/Makefile.am b/libs/gtkmm2/tests/Makefile.am
new file mode 100644
index 0000000000..216c80fc07
--- /dev/null
+++ b/libs/gtkmm2/tests/Makefile.am
@@ -0,0 +1,8 @@
+test_dirs = child_widget child_widget2 child_widget_managed \
+ refcount_dialog dialog dialog_deletethis delete_cpp_child \
+ menu_destruction \
+ scrolledwindow wrap_existing main_with_options \
+ property_notification
+
+SUBDIRS = $(test_dirs)
+EXTRA_DIST = Makefile.am_fragment
diff --git a/libs/gtkmm2/tests/Makefile.am_fragment b/libs/gtkmm2/tests/Makefile.am_fragment
new file mode 100644
index 0000000000..971811aad5
--- /dev/null
+++ b/libs/gtkmm2/tests/Makefile.am_fragment
@@ -0,0 +1,22 @@
+if GTKMM_ATKMM_ENABLED
+ATKMMINC = -I$(top_builddir)/atk -I$(top_srcdir)/atk
+endif
+
+INCLUDES = \
+ -I$(top_builddir)/pango -I$(top_srcdir)/pango \
+ $(ATKMMINC) \
+ -I$(top_builddir)/gdk -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gtk -I$(top_srcdir)/gtk \
+ $(GTKMM_CFLAGS) $(GTHREAD_CFLAGS)
+
+if GTKMM_ATKMM_ENABLED
+ATKMMLIB = $(local_atkmm_lib)
+endif
+
+LIBS = \
+ $(top_builddir)/pango/pangomm/libpangomm-1.4.la \
+ $(ATKMMLIB) \
+ $(top_builddir)/gdk/gdkmm/libgdkmm-2.4.la \
+ $(top_builddir)/gtk/gtkmm/libgtkmm-2.4.la \
+ $(GTKMM_LIBS)
+
diff --git a/libs/gtkmm2/tests/Makefile.in b/libs/gtkmm2/tests/Makefile.in
new file mode 100644
index 0000000000..a880330caa
--- /dev/null
+++ b/libs/gtkmm2/tests/Makefile.in
@@ -0,0 +1,522 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 = tests
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+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
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+test_dirs = child_widget child_widget2 child_widget_managed \
+ refcount_dialog dialog dialog_deletethis delete_cpp_child \
+ menu_destruction \
+ scrolledwindow wrap_existing main_with_options \
+ property_notification
+
+SUBDIRS = $(test_dirs)
+EXTRA_DIST = Makefile.am_fragment
+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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/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
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# 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):
+ @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; \
+ (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):
+ @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; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (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; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ 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 || \
+ tags="$$tags $$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; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+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)
+
+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
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+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:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.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-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
+
+# 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:
diff --git a/libs/glibmm2/examples/markup/Makefile.am b/libs/gtkmm2/tests/child_widget/Makefile.am
index 861b9131ca..a36c1fc59d 100644
--- a/libs/glibmm2/examples/markup/Makefile.am
+++ b/libs/gtkmm2/tests/child_widget/Makefile.am
@@ -1,8 +1,6 @@
include $(top_srcdir)/examples/Makefile.am_fragment
-EXTRA_DIST = test.xml
-
#Build the executable, but don't install it.
-noinst_PROGRAMS = parser
-parser_SOURCES = parser.cc
+noinst_PROGRAMS = test
+test_SOURCES = testwindow.h testwindow.cc main.cc
diff --git a/libs/glibmm2/examples/iochannel_stream/Makefile.in b/libs/gtkmm2/tests/child_widget/Makefile.in
index 9b9ad03242..e02f8ec723 100644
--- a/libs/glibmm2/examples/iochannel_stream/Makefile.in
+++ b/libs/gtkmm2/tests/child_widget/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 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.
@@ -14,15 +14,11 @@
@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -38,56 +34,54 @@ build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/examples/Makefile.am_fragment
-@OS_WIN32_FALSE@noinst_PROGRAMS = example$(EXEEXT)
-subdir = examples/iochannel_stream
+noinst_PROGRAMS = test$(EXEEXT)
+subdir = tests/child_widget
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
$(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
CONFIG_CLEAN_FILES =
PROGRAMS = $(noinst_PROGRAMS)
-am__example_SOURCES_DIST = main.cc fdstream.h fdstream.cc
-@OS_WIN32_FALSE@am_example_OBJECTS = main.$(OBJEXT) fdstream.$(OBJEXT)
-example_OBJECTS = $(am_example_OBJECTS)
-example_LDADD = $(LDADD)
+am_test_OBJECTS = testwindow.$(OBJEXT) main.$(OBJEXT)
+test_OBJECTS = $(am_test_OBJECTS)
+test_LDADD = $(LDADD)
depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(example_SOURCES)
-DIST_SOURCES = $(am__example_SOURCES_DIST)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(test_SOURCES)
+DIST_SOURCES = $(test_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -103,81 +97,80 @@ CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
DEPDIR = @DEPDIR@
DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
LIBOBJS = @LIBOBJS@
-LIBS = $(local_glibmm_lib) $(GLIBMM_LIBS)
+LIBS = $(local_glibmm_lib) $(local_pangomm_lib) $(ATKMMLIB) \
+ $(local_gdkmm_lib) $(local_gtkmm_lib) $(GTKMM_LIBS)
+
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@
MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
+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_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -189,36 +182,58 @@ 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@
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@
-local_glibmm_lib = $(top_builddir)/glib/glibmm/libglibmm-2.4.la
-all_includes = -I$(top_builddir)/glib -I$(top_srcdir)/glib \
- $(GLIBMM_CFLAGS) $(DISABLE_DEPRECATED_CFLAGS) $(DISABLE_DEPRECATED_API_CFLAGS)
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+local_pangomm_lib = $(top_builddir)/pango/pangomm/libpangomm-1.4.la
+local_atkmm_lib = $(top_builddir)/atk/atkmm/libatkmm-1.6.la
+local_gdkmm_lib = $(top_builddir)/gdk/gdkmm/libgdkmm-2.4.la
+local_gtkmm_lib = $(top_builddir)/gtk/gtkmm/libgtkmm-2.4.la
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMLIB = $(local_atkmm_lib)
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMINC = -I$(top_builddir)/atk -I$(top_srcdir)/atk
+all_includes = \
+ -I$(top_builddir)/pango -I$(top_srcdir)/pango \
+ $(ATKMMINC) \
+ -I$(top_builddir)/gdk -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gtk -I$(top_srcdir)/gtk \
+ $(GTKMM_CFLAGS)
DEFAULT_INCLUDES =
-INCLUDES = -I. -I$(srcdir) $(strip $(all_includes))
-glibmm_docdir = $(datadir)/doc/glibmm-2.4
-@OS_WIN32_FALSE@example_SOURCES = main.cc fdstream.h fdstream.cc
+
+# We specify GTKMM_DISABLE_DEPRECATED so that none of our examples show the use of deprecated API:
+INCLUDES = -I. -I$(srcdir) $(strip $(all_includes)) -DGDKMM_DISABLE_DEPRECATED -DPANGOMM_DISABLE_DEPRECATED -DPANGOMM_DISABLE_DEPRECATED -DATKMM_DISABLE_DEPRECATED -DGTKMM_DISABLE_DEPRECATED
+gtkmm_docdir = $(datadir)/doc/gtkmm-2.4
+test_SOURCES = testwindow.h testwindow.cc main.cc
all: all-am
.SUFFIXES:
@@ -232,9 +247,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/iochannel_stream/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/child_widget/Makefile'; \
cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/iochannel_stream/Makefile
+ $(AUTOMAKE) --gnu tests/child_widget/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -259,9 +274,9 @@ clean-noinstPROGRAMS:
echo " rm -f $$p $$f"; \
rm -f $$p $$f ; \
done
-example$(EXEEXT): $(example_OBJECTS) $(example_DEPENDENCIES)
- @rm -f example$(EXEEXT)
- $(CXXLINK) $(example_LDFLAGS) $(example_OBJECTS) $(example_LDADD) $(LIBS)
+test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES)
+ @rm -f test$(EXEEXT)
+ $(CXXLINK) $(test_OBJECTS) $(test_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -269,26 +284,26 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdstream.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testwindow.Po@am__quote@
.cc.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
.cc.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cc.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
@@ -299,10 +314,6 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -352,23 +363,21 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/../../examples
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @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; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -416,7 +425,7 @@ distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
+ distclean-tags
dvi: dvi-am
@@ -430,12 +439,20 @@ info-am:
install-data-am: install-data-local
+install-dvi: install-dvi-am
+
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
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -456,29 +473,33 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am uninstall-local
+uninstall-am: uninstall-local
+
+.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-libtool clean-noinstPROGRAMS ctags distclean \
distclean-compile 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-data-local install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
+ 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 mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am uninstall-local
+ tags uninstall uninstall-am uninstall-local
install-example-src:
@$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(glibmm_docdir)/$(subdir)
+ $(mkinstalldirs) $(DESTDIR)$(gtkmm_docdir)/$(subdir)
for p in $(srcdir)/*.cc $(srcdir)/*.h; do \
if test -f $$p; then \
f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(INSTALL_DATA) $$p $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f"; \
- $(INSTALL_DATA) $$p $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f; \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(gtkmm_docdir)/$(subdir)/$$f"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(gtkmm_docdir)/$(subdir)/$$f; \
fi; \
done
@@ -487,8 +508,8 @@ uninstall-example-src:
for p in $(srcdir)/*.cc $(srcdir)/*.h; do \
if test -f $$p; then \
f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " rm -f $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f"; \
- rm -f $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f; \
+ echo " rm -f $(DESTDIR)$(gtkmm_docdir)/$(subdir)/$$f"; \
+ rm -f $(DESTDIR)$(gtkmm_docdir)/$(subdir)/$$f; \
fi; \
done
diff --git a/libs/gtkmm2/tests/child_widget/main.cc b/libs/gtkmm2/tests/child_widget/main.cc
new file mode 100644
index 0000000000..3229448dd4
--- /dev/null
+++ b/libs/gtkmm2/tests/child_widget/main.cc
@@ -0,0 +1,30 @@
+//$Id: main.cc 2 2003-01-21 13:41:59Z murrayc $ -*- c++ -*-
+
+/* gtkmm example Copyright (C) 2002 gtkmm development team
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include <gtkmm/main.h>
+#include "testwindow.h"
+
+int main(int argc, char *argv[])
+{
+ Gtk::Main kit(argc, argv);
+
+ TestWindow testWindow;
+ kit.run(testWindow); //Shows the window and returns when it is closed.
+
+ return 0;
+}
diff --git a/libs/gtkmm2/tests/child_widget/testwindow.cc b/libs/gtkmm2/tests/child_widget/testwindow.cc
new file mode 100644
index 0000000000..8aa48ffcb5
--- /dev/null
+++ b/libs/gtkmm2/tests/child_widget/testwindow.cc
@@ -0,0 +1,35 @@
+//$Id: testwindow.cc 2 2003-01-21 13:41:59Z murrayc $ -*- c++ -*-
+
+/* gtkmm example Copyright (C) 2002 gtkmm development team
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "testwindow.h"
+
+TestWindow::TestWindow()
+: m_Button("test")
+{
+ add(m_Button);
+
+ show_all_children();
+
+ //This seems to be 2, and then 3 during destruction. Looks like unref-ing isn't enough - we'll have to gtk_object_destroy() it instead of just unrefing.
+ g_warning("m_Button -> refcount = %d\n", G_OBJECT(m_Button.gobj())->ref_count);
+}
+
+TestWindow::~TestWindow()
+{
+}
+
diff --git a/libs/gtkmm2/tests/child_widget/testwindow.h b/libs/gtkmm2/tests/child_widget/testwindow.h
new file mode 100644
index 0000000000..3fe984784d
--- /dev/null
+++ b/libs/gtkmm2/tests/child_widget/testwindow.h
@@ -0,0 +1,39 @@
+//$Id: testwindow.h 2 2003-01-21 13:41:59Z murrayc $ -*- c++ -*-
+
+/* gtkmm example Copyright (C) 2002 gtkmm development team
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef GTKMM_TESTWINDOW_H
+#define GTKMM_TESTWINDOW_H
+
+#include <gtkmm/window.h>
+#include <gtkmm/button.h>
+
+class TestWindow : public Gtk::Window
+{
+public:
+ TestWindow();
+ virtual ~TestWindow();
+
+protected:
+
+ //Child widgets:
+
+ //For the test, we allocate it dynamically, so that we can delete it whenever we want, and see the results
+ Gtk::Button m_Button;
+};
+
+#endif //GTKMM_TESTWINDOW_H
diff --git a/libs/gtkmm2/tests/child_widget2/Makefile.am b/libs/gtkmm2/tests/child_widget2/Makefile.am
new file mode 100644
index 0000000000..519d9ecdef
--- /dev/null
+++ b/libs/gtkmm2/tests/child_widget2/Makefile.am
@@ -0,0 +1,6 @@
+include $(top_srcdir)/tests/Makefile.am_fragment
+
+noinst_PROGRAMS = test
+test_SOURCES = main.cc
+
+
diff --git a/libs/gtkmm2/tests/child_widget2/Makefile.in b/libs/gtkmm2/tests/child_widget2/Makefile.in
new file mode 100644
index 0000000000..02492c0b99
--- /dev/null
+++ b/libs/gtkmm2/tests/child_widget2/Makefile.in
@@ -0,0 +1,481 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 \
+ $(top_srcdir)/tests/Makefile.am_fragment
+noinst_PROGRAMS = test$(EXEEXT)
+subdir = tests/child_widget2
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_test_OBJECTS = main.$(OBJEXT)
+test_OBJECTS = $(am_test_OBJECTS)
+test_LDADD = $(LDADD)
+DEFAULT_INCLUDES = -I. -I$(top_builddir) -I$(top_builddir)/gdk -I$(top_builddir)/gtk@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(test_SOURCES)
+DIST_SOURCES = $(test_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = \
+ $(top_builddir)/pango/pangomm/libpangomm-1.4.la \
+ $(ATKMMLIB) \
+ $(top_builddir)/gdk/gdkmm/libgdkmm-2.4.la \
+ $(top_builddir)/gtk/gtkmm/libgtkmm-2.4.la \
+ $(GTKMM_LIBS)
+
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMINC = -I$(top_builddir)/atk -I$(top_srcdir)/atk
+INCLUDES = \
+ -I$(top_builddir)/pango -I$(top_srcdir)/pango \
+ $(ATKMMINC) \
+ -I$(top_builddir)/gdk -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gtk -I$(top_srcdir)/gtk \
+ $(GTKMM_CFLAGS) $(GTHREAD_CFLAGS)
+
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMLIB = $(local_atkmm_lib)
+test_SOURCES = main.cc
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tests/Makefile.am_fragment $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/child_widget2/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/child_widget2/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
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES)
+ @rm -f test$(EXEEXT)
+ $(CXXLINK) $(test_OBJECTS) $(test_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+
+.cc.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+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; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(PROGRAMS)
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile 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-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 mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/tests/child_widget2/main.cc b/libs/gtkmm2/tests/child_widget2/main.cc
new file mode 100644
index 0000000000..8cfbd446e4
--- /dev/null
+++ b/libs/gtkmm2/tests/child_widget2/main.cc
@@ -0,0 +1,29 @@
+#include <gtkmm.h>
+
+class MyWindow : public Gtk::Window
+{
+public:
+ MyWindow();
+private:
+ Gtk::Button b;
+ Gtk::VBox vbox;
+};
+
+MyWindow::MyWindow() :
+ b("hello"),
+ vbox()
+{
+ add(vbox);
+ vbox.pack_start(b);
+ show_all_children();
+}
+
+int main (int argc, char *argv[])
+{
+ Gtk::Main kit(argc, argv);
+
+ MyWindow window;
+ kit.run(window);
+
+ return 0;
+}
diff --git a/libs/glibmm2/examples/options/Makefile.am b/libs/gtkmm2/tests/child_widget_managed/Makefile.am
index 0c79f50b7a..03961d6959 100644
--- a/libs/glibmm2/examples/options/Makefile.am
+++ b/libs/gtkmm2/tests/child_widget_managed/Makefile.am
@@ -1,6 +1,6 @@
include $(top_srcdir)/examples/Makefile.am_fragment
#Build the executable, but don't install it.
-noinst_PROGRAMS = example
-example_SOURCES = main.cc
+noinst_PROGRAMS = test
+test_SOURCES = main.cc
diff --git a/libs/glibmm2/examples/markup/Makefile.in b/libs/gtkmm2/tests/child_widget_managed/Makefile.in
index 1113d1abd8..81c9d26921 100644
--- a/libs/glibmm2/examples/markup/Makefile.in
+++ b/libs/gtkmm2/tests/child_widget_managed/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 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.
@@ -14,15 +14,11 @@
@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -38,47 +34,45 @@ build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/examples/Makefile.am_fragment
-noinst_PROGRAMS = parser$(EXEEXT)
-subdir = examples/markup
+noinst_PROGRAMS = test$(EXEEXT)
+subdir = tests/child_widget_managed
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
$(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
CONFIG_CLEAN_FILES =
PROGRAMS = $(noinst_PROGRAMS)
-am_parser_OBJECTS = parser.$(OBJEXT)
-parser_OBJECTS = $(am_parser_OBJECTS)
-parser_LDADD = $(LDADD)
+am_test_OBJECTS = main.$(OBJEXT)
+test_OBJECTS = $(am_test_OBJECTS)
+test_LDADD = $(LDADD)
depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(parser_SOURCES)
-DIST_SOURCES = $(parser_SOURCES)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(test_SOURCES)
+DIST_SOURCES = $(test_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -94,81 +88,80 @@ CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
DEPDIR = @DEPDIR@
DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
LIBOBJS = @LIBOBJS@
-LIBS = $(local_glibmm_lib) $(GLIBMM_LIBS)
+LIBS = $(local_glibmm_lib) $(local_pangomm_lib) $(ATKMMLIB) \
+ $(local_gdkmm_lib) $(local_gtkmm_lib) $(GTKMM_LIBS)
+
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@
MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
+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_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -180,37 +173,58 @@ 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@
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@
-local_glibmm_lib = $(top_builddir)/glib/glibmm/libglibmm-2.4.la
-all_includes = -I$(top_builddir)/glib -I$(top_srcdir)/glib \
- $(GLIBMM_CFLAGS) $(DISABLE_DEPRECATED_CFLAGS) $(DISABLE_DEPRECATED_API_CFLAGS)
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+local_pangomm_lib = $(top_builddir)/pango/pangomm/libpangomm-1.4.la
+local_atkmm_lib = $(top_builddir)/atk/atkmm/libatkmm-1.6.la
+local_gdkmm_lib = $(top_builddir)/gdk/gdkmm/libgdkmm-2.4.la
+local_gtkmm_lib = $(top_builddir)/gtk/gtkmm/libgtkmm-2.4.la
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMLIB = $(local_atkmm_lib)
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMINC = -I$(top_builddir)/atk -I$(top_srcdir)/atk
+all_includes = \
+ -I$(top_builddir)/pango -I$(top_srcdir)/pango \
+ $(ATKMMINC) \
+ -I$(top_builddir)/gdk -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gtk -I$(top_srcdir)/gtk \
+ $(GTKMM_CFLAGS)
DEFAULT_INCLUDES =
-INCLUDES = -I. -I$(srcdir) $(strip $(all_includes))
-glibmm_docdir = $(datadir)/doc/glibmm-2.4
-EXTRA_DIST = test.xml
-parser_SOURCES = parser.cc
+
+# We specify GTKMM_DISABLE_DEPRECATED so that none of our examples show the use of deprecated API:
+INCLUDES = -I. -I$(srcdir) $(strip $(all_includes)) -DGDKMM_DISABLE_DEPRECATED -DPANGOMM_DISABLE_DEPRECATED -DPANGOMM_DISABLE_DEPRECATED -DATKMM_DISABLE_DEPRECATED -DGTKMM_DISABLE_DEPRECATED
+gtkmm_docdir = $(datadir)/doc/gtkmm-2.4
+test_SOURCES = main.cc
all: all-am
.SUFFIXES:
@@ -224,9 +238,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/markup/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/child_widget_managed/Makefile'; \
cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/markup/Makefile
+ $(AUTOMAKE) --gnu tests/child_widget_managed/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -251,9 +265,9 @@ clean-noinstPROGRAMS:
echo " rm -f $$p $$f"; \
rm -f $$p $$f ; \
done
-parser$(EXEEXT): $(parser_OBJECTS) $(parser_DEPENDENCIES)
- @rm -f parser$(EXEEXT)
- $(CXXLINK) $(parser_LDFLAGS) $(parser_OBJECTS) $(parser_LDADD) $(LIBS)
+test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES)
+ @rm -f test$(EXEEXT)
+ $(CXXLINK) $(test_OBJECTS) $(test_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -261,25 +275,25 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parser.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
.cc.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
.cc.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cc.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
@@ -290,10 +304,6 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -343,23 +353,21 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/../../examples
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @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; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -407,7 +415,7 @@ distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
+ distclean-tags
dvi: dvi-am
@@ -421,12 +429,20 @@ info-am:
install-data-am: install-data-local
+install-dvi: install-dvi-am
+
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
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -447,29 +463,33 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am uninstall-local
+uninstall-am: uninstall-local
+
+.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-libtool clean-noinstPROGRAMS ctags distclean \
distclean-compile 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-data-local install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
+ 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 mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am uninstall-local
+ tags uninstall uninstall-am uninstall-local
install-example-src:
@$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(glibmm_docdir)/$(subdir)
+ $(mkinstalldirs) $(DESTDIR)$(gtkmm_docdir)/$(subdir)
for p in $(srcdir)/*.cc $(srcdir)/*.h; do \
if test -f $$p; then \
f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(INSTALL_DATA) $$p $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f"; \
- $(INSTALL_DATA) $$p $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f; \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(gtkmm_docdir)/$(subdir)/$$f"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(gtkmm_docdir)/$(subdir)/$$f; \
fi; \
done
@@ -478,8 +498,8 @@ uninstall-example-src:
for p in $(srcdir)/*.cc $(srcdir)/*.h; do \
if test -f $$p; then \
f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " rm -f $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f"; \
- rm -f $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f; \
+ echo " rm -f $(DESTDIR)$(gtkmm_docdir)/$(subdir)/$$f"; \
+ rm -f $(DESTDIR)$(gtkmm_docdir)/$(subdir)/$$f; \
fi; \
done
diff --git a/libs/gtkmm2/tests/child_widget_managed/main.cc b/libs/gtkmm2/tests/child_widget_managed/main.cc
new file mode 100644
index 0000000000..80818222b5
--- /dev/null
+++ b/libs/gtkmm2/tests/child_widget_managed/main.cc
@@ -0,0 +1,52 @@
+#include <gtkmm.h>
+
+class MyButton : public Gtk::Button
+{
+public:
+ MyButton();
+ virtual ~MyButton();
+};
+
+MyButton::MyButton()
+: Gtk::Button("Ok", true)
+{ }
+
+MyButton::~MyButton()
+{
+ g_warning("MyButtom::~MyButton()");
+}
+
+class ExampleWindow : public Gtk::Window
+{
+public:
+ ExampleWindow();
+ virtual ~ExampleWindow();
+
+protected:
+
+ MyButton* m_button;
+};
+
+ExampleWindow::ExampleWindow()
+{
+ set_default_size(150, 150);
+
+ m_button = manage(new MyButton);
+ add(*m_button);
+
+ show_all_children();
+}
+
+ExampleWindow::~ExampleWindow()
+{
+ g_warning("ExampleWindow::~ExampleWindow()");
+}
+
+
+int main(int argc, char* argv[])
+{
+ Gtk::Main kit(argc, argv);
+ ExampleWindow window;
+ kit.run(window);
+ return 0;
+}
diff --git a/libs/gtkmm2/tests/delete_cpp_child/Makefile.am b/libs/gtkmm2/tests/delete_cpp_child/Makefile.am
new file mode 100644
index 0000000000..519d9ecdef
--- /dev/null
+++ b/libs/gtkmm2/tests/delete_cpp_child/Makefile.am
@@ -0,0 +1,6 @@
+include $(top_srcdir)/tests/Makefile.am_fragment
+
+noinst_PROGRAMS = test
+test_SOURCES = main.cc
+
+
diff --git a/libs/gtkmm2/tests/delete_cpp_child/Makefile.in b/libs/gtkmm2/tests/delete_cpp_child/Makefile.in
new file mode 100644
index 0000000000..14f4a6a75e
--- /dev/null
+++ b/libs/gtkmm2/tests/delete_cpp_child/Makefile.in
@@ -0,0 +1,481 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 \
+ $(top_srcdir)/tests/Makefile.am_fragment
+noinst_PROGRAMS = test$(EXEEXT)
+subdir = tests/delete_cpp_child
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_test_OBJECTS = main.$(OBJEXT)
+test_OBJECTS = $(am_test_OBJECTS)
+test_LDADD = $(LDADD)
+DEFAULT_INCLUDES = -I. -I$(top_builddir) -I$(top_builddir)/gdk -I$(top_builddir)/gtk@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(test_SOURCES)
+DIST_SOURCES = $(test_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = \
+ $(top_builddir)/pango/pangomm/libpangomm-1.4.la \
+ $(ATKMMLIB) \
+ $(top_builddir)/gdk/gdkmm/libgdkmm-2.4.la \
+ $(top_builddir)/gtk/gtkmm/libgtkmm-2.4.la \
+ $(GTKMM_LIBS)
+
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMINC = -I$(top_builddir)/atk -I$(top_srcdir)/atk
+INCLUDES = \
+ -I$(top_builddir)/pango -I$(top_srcdir)/pango \
+ $(ATKMMINC) \
+ -I$(top_builddir)/gdk -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gtk -I$(top_srcdir)/gtk \
+ $(GTKMM_CFLAGS) $(GTHREAD_CFLAGS)
+
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMLIB = $(local_atkmm_lib)
+test_SOURCES = main.cc
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tests/Makefile.am_fragment $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/delete_cpp_child/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/delete_cpp_child/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
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES)
+ @rm -f test$(EXEEXT)
+ $(CXXLINK) $(test_OBJECTS) $(test_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+
+.cc.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+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; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(PROGRAMS)
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile 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-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 mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/tests/delete_cpp_child/main.cc b/libs/gtkmm2/tests/delete_cpp_child/main.cc
new file mode 100644
index 0000000000..211a53329f
--- /dev/null
+++ b/libs/gtkmm2/tests/delete_cpp_child/main.cc
@@ -0,0 +1,57 @@
+#include <gtkmm/box.h>
+#include <gtkmm/button.h>
+#include <gtkmm/label.h>
+#include <gtkmm/window.h>
+#include <gtkmm/main.h>
+
+class AppWindow
+ : public Gtk::Window
+{
+public:
+ AppWindow();
+
+private:
+ void on_button_clicked();
+
+ Gtk::Label* m_label;
+};
+
+AppWindow::AppWindow()
+ : m_label (0)
+{
+ Gtk::Box* vbox = Gtk::manage(new Gtk::VBox (false, 5));
+ add(*vbox);
+
+ Gtk::Button* button = Gtk::manage(new Gtk::Button("Delete Label"));
+
+ vbox->pack_start(*button, Gtk::PACK_SHRINK);
+
+
+ //m_label = manage (new Gtk::Label ("test"));
+ m_label = new Gtk::Label("test");
+ g_warning("m_label -> ref_count: %d\n", G_OBJECT(m_label->gobj())->ref_count);
+ vbox->pack_start(*m_label, Gtk::PACK_SHRINK);
+ g_warning("m_label -> ref_count: %d\n", G_OBJECT(m_label->gobj())->ref_count);
+
+ button->signal_clicked().connect( sigc::mem_fun(*this, &AppWindow::on_button_clicked));
+
+ show_all_children();
+}
+
+void AppWindow::on_button_clicked()
+{
+ if(m_label)
+ {
+ g_warning("AppWindow::on_button_clicked(): label refcount=%d", G_OBJECT(m_label->gobj())->ref_count);
+ delete m_label;
+ m_label = 0;
+ }
+}
+
+int main(int argc, char *argv[])
+{
+ Gtk::Main kit(&argc, &argv);
+ AppWindow app;
+ Gtk::Main::run(app);
+ return(0);
+}
diff --git a/libs/gtkmm2/tests/dialog/Makefile.am b/libs/gtkmm2/tests/dialog/Makefile.am
new file mode 100644
index 0000000000..519d9ecdef
--- /dev/null
+++ b/libs/gtkmm2/tests/dialog/Makefile.am
@@ -0,0 +1,6 @@
+include $(top_srcdir)/tests/Makefile.am_fragment
+
+noinst_PROGRAMS = test
+test_SOURCES = main.cc
+
+
diff --git a/libs/gtkmm2/tests/dialog/Makefile.in b/libs/gtkmm2/tests/dialog/Makefile.in
new file mode 100644
index 0000000000..d29a04e078
--- /dev/null
+++ b/libs/gtkmm2/tests/dialog/Makefile.in
@@ -0,0 +1,481 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 \
+ $(top_srcdir)/tests/Makefile.am_fragment
+noinst_PROGRAMS = test$(EXEEXT)
+subdir = tests/dialog
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_test_OBJECTS = main.$(OBJEXT)
+test_OBJECTS = $(am_test_OBJECTS)
+test_LDADD = $(LDADD)
+DEFAULT_INCLUDES = -I. -I$(top_builddir) -I$(top_builddir)/gdk -I$(top_builddir)/gtk@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(test_SOURCES)
+DIST_SOURCES = $(test_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = \
+ $(top_builddir)/pango/pangomm/libpangomm-1.4.la \
+ $(ATKMMLIB) \
+ $(top_builddir)/gdk/gdkmm/libgdkmm-2.4.la \
+ $(top_builddir)/gtk/gtkmm/libgtkmm-2.4.la \
+ $(GTKMM_LIBS)
+
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMINC = -I$(top_builddir)/atk -I$(top_srcdir)/atk
+INCLUDES = \
+ -I$(top_builddir)/pango -I$(top_srcdir)/pango \
+ $(ATKMMINC) \
+ -I$(top_builddir)/gdk -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gtk -I$(top_srcdir)/gtk \
+ $(GTKMM_CFLAGS) $(GTHREAD_CFLAGS)
+
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMLIB = $(local_atkmm_lib)
+test_SOURCES = main.cc
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tests/Makefile.am_fragment $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/dialog/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/dialog/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
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES)
+ @rm -f test$(EXEEXT)
+ $(CXXLINK) $(test_OBJECTS) $(test_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+
+.cc.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+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; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(PROGRAMS)
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile 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-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 mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/tests/dialog/main.cc b/libs/gtkmm2/tests/dialog/main.cc
new file mode 100644
index 0000000000..27230e817e
--- /dev/null
+++ b/libs/gtkmm2/tests/dialog/main.cc
@@ -0,0 +1,57 @@
+#include <gtkmm/box.h>
+#include <gtkmm/button.h>
+#include <gtkmm/label.h>
+#include <gtkmm/window.h>
+#include <gtkmm/main.h>
+
+class AppWindow
+ : public Gtk::Window
+{
+public:
+ AppWindow ();
+
+private:
+ void on_button_clicked();
+
+ Gtk::Label* m_label;
+};
+
+AppWindow::AppWindow()
+ : m_label (NULL)
+{
+ Gtk::Box* vbox = manage (new Gtk::VBox (false, 5));
+ add(*vbox);
+
+ Gtk::Button* button = Gtk::manage (new Gtk::Button ("Delete Label"));
+
+ vbox->pack_start(*button, Gtk::PACK_SHRINK);
+
+
+ //m_label = manage (new Gtk::Label ("test"));
+ m_label = new Gtk::Label ("test");
+ g_warning("m_label -> ref_count: %d\n", G_OBJECT(m_label->gobj())->ref_count);
+ vbox->pack_start(*m_label, Gtk::PACK_SHRINK);
+ g_warning("m_label -> ref_count: %d\n", G_OBJECT(m_label->gobj())->ref_count);
+
+ button->signal_clicked ().connect( sigc::mem_fun(*this, &AppWindow::on_button_clicked) );
+
+ show_all_children();
+}
+
+void AppWindow::on_button_clicked()
+{
+ if(m_label)
+ {
+ g_warning("AppWindow::on_button_clicked(): label refcount=%d", G_OBJECT(m_label->gobj())->ref_count);
+ delete m_label;
+ m_label = 0;
+ }
+}
+
+int main(int argc, char *argv[])
+{
+ Gtk::Main kit(&argc, &argv);
+ AppWindow app;
+ Gtk::Main::run(app);
+ return(0);
+}
diff --git a/libs/gtkmm2/tests/dialog_deletethis/Makefile.am b/libs/gtkmm2/tests/dialog_deletethis/Makefile.am
new file mode 100644
index 0000000000..519d9ecdef
--- /dev/null
+++ b/libs/gtkmm2/tests/dialog_deletethis/Makefile.am
@@ -0,0 +1,6 @@
+include $(top_srcdir)/tests/Makefile.am_fragment
+
+noinst_PROGRAMS = test
+test_SOURCES = main.cc
+
+
diff --git a/libs/gtkmm2/tests/dialog_deletethis/Makefile.in b/libs/gtkmm2/tests/dialog_deletethis/Makefile.in
new file mode 100644
index 0000000000..bcbf1912cf
--- /dev/null
+++ b/libs/gtkmm2/tests/dialog_deletethis/Makefile.in
@@ -0,0 +1,481 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 \
+ $(top_srcdir)/tests/Makefile.am_fragment
+noinst_PROGRAMS = test$(EXEEXT)
+subdir = tests/dialog_deletethis
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_test_OBJECTS = main.$(OBJEXT)
+test_OBJECTS = $(am_test_OBJECTS)
+test_LDADD = $(LDADD)
+DEFAULT_INCLUDES = -I. -I$(top_builddir) -I$(top_builddir)/gdk -I$(top_builddir)/gtk@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(test_SOURCES)
+DIST_SOURCES = $(test_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = \
+ $(top_builddir)/pango/pangomm/libpangomm-1.4.la \
+ $(ATKMMLIB) \
+ $(top_builddir)/gdk/gdkmm/libgdkmm-2.4.la \
+ $(top_builddir)/gtk/gtkmm/libgtkmm-2.4.la \
+ $(GTKMM_LIBS)
+
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMINC = -I$(top_builddir)/atk -I$(top_srcdir)/atk
+INCLUDES = \
+ -I$(top_builddir)/pango -I$(top_srcdir)/pango \
+ $(ATKMMINC) \
+ -I$(top_builddir)/gdk -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gtk -I$(top_srcdir)/gtk \
+ $(GTKMM_CFLAGS) $(GTHREAD_CFLAGS)
+
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMLIB = $(local_atkmm_lib)
+test_SOURCES = main.cc
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tests/Makefile.am_fragment $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/dialog_deletethis/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/dialog_deletethis/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
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES)
+ @rm -f test$(EXEEXT)
+ $(CXXLINK) $(test_OBJECTS) $(test_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+
+.cc.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+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; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(PROGRAMS)
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile 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-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 mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/tests/dialog_deletethis/main.cc b/libs/gtkmm2/tests/dialog_deletethis/main.cc
new file mode 100644
index 0000000000..303cea6a90
--- /dev/null
+++ b/libs/gtkmm2/tests/dialog_deletethis/main.cc
@@ -0,0 +1,53 @@
+#include <gtkmm.h>
+#include <iostream>
+
+//This is _not_ a good example of coding with gtkmm.
+class Dlg : public sigc::trackable
+{
+ public:
+ Dlg()
+ {
+ dlg_ = new Gtk::Dialog("Test Dialog");
+ Gtk::Button *btn = manage(new Gtk::Button("ClickMe"));
+ btn->signal_clicked().connect(sigc::mem_fun(*this, &Dlg::on_button_clicked));
+ dlg_->get_vbox()->pack_start(*btn);
+ dlg_->add_button(Gtk::Stock::OK, 0);
+ dlg_->signal_response().connect(sigc::mem_fun(*this, &Dlg::on_response));
+ dlg_->show_all();
+ }
+
+ ~Dlg()
+ {
+ delete dlg_;
+ }
+
+ void on_button_clicked()
+ {
+ std::cout << "button clicked" << std::endl;
+ }
+
+ void on_response(int id)
+ {
+ if (id == 0)
+ quit();
+ }
+
+ void quit() {
+ delete this; //This is _not_ a good example of coding with gtkmm.
+ Gtk::Main::quit();
+ }
+
+ private:
+ Gtk::Dialog *dlg_;
+};
+
+int main (int argc, char **argv)
+{
+ Gtk::Main kit (argc, argv);
+
+ new Dlg(); //Not a Gtk::Dialog - it creates one in its constructor.
+
+ Gtk::Main::run();
+}
+
+
diff --git a/libs/gtkmm2/tests/main_with_options/Makefile.am b/libs/gtkmm2/tests/main_with_options/Makefile.am
new file mode 100644
index 0000000000..03961d6959
--- /dev/null
+++ b/libs/gtkmm2/tests/main_with_options/Makefile.am
@@ -0,0 +1,6 @@
+include $(top_srcdir)/examples/Makefile.am_fragment
+
+#Build the executable, but don't install it.
+noinst_PROGRAMS = test
+test_SOURCES = main.cc
+
diff --git a/libs/glibmm2/examples/options/Makefile.in b/libs/gtkmm2/tests/main_with_options/Makefile.in
index beaee3a7f5..876e53f878 100644
--- a/libs/glibmm2/examples/options/Makefile.in
+++ b/libs/gtkmm2/tests/main_with_options/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 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.
@@ -14,15 +14,11 @@
@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -38,47 +34,45 @@ build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/examples/Makefile.am_fragment
-noinst_PROGRAMS = example$(EXEEXT)
-subdir = examples/options
+noinst_PROGRAMS = test$(EXEEXT)
+subdir = tests/main_with_options
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
$(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
CONFIG_CLEAN_FILES =
PROGRAMS = $(noinst_PROGRAMS)
-am_example_OBJECTS = main.$(OBJEXT)
-example_OBJECTS = $(am_example_OBJECTS)
-example_LDADD = $(LDADD)
+am_test_OBJECTS = main.$(OBJEXT)
+test_OBJECTS = $(am_test_OBJECTS)
+test_LDADD = $(LDADD)
depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(example_SOURCES)
-DIST_SOURCES = $(example_SOURCES)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(test_SOURCES)
+DIST_SOURCES = $(test_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -94,81 +88,80 @@ CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
DEPDIR = @DEPDIR@
DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
LIBOBJS = @LIBOBJS@
-LIBS = $(local_glibmm_lib) $(GLIBMM_LIBS)
+LIBS = $(local_glibmm_lib) $(local_pangomm_lib) $(ATKMMLIB) \
+ $(local_gdkmm_lib) $(local_gtkmm_lib) $(GTKMM_LIBS)
+
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@
MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
+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_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -180,36 +173,58 @@ 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@
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@
-local_glibmm_lib = $(top_builddir)/glib/glibmm/libglibmm-2.4.la
-all_includes = -I$(top_builddir)/glib -I$(top_srcdir)/glib \
- $(GLIBMM_CFLAGS) $(DISABLE_DEPRECATED_CFLAGS) $(DISABLE_DEPRECATED_API_CFLAGS)
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+local_pangomm_lib = $(top_builddir)/pango/pangomm/libpangomm-1.4.la
+local_atkmm_lib = $(top_builddir)/atk/atkmm/libatkmm-1.6.la
+local_gdkmm_lib = $(top_builddir)/gdk/gdkmm/libgdkmm-2.4.la
+local_gtkmm_lib = $(top_builddir)/gtk/gtkmm/libgtkmm-2.4.la
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMLIB = $(local_atkmm_lib)
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMINC = -I$(top_builddir)/atk -I$(top_srcdir)/atk
+all_includes = \
+ -I$(top_builddir)/pango -I$(top_srcdir)/pango \
+ $(ATKMMINC) \
+ -I$(top_builddir)/gdk -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gtk -I$(top_srcdir)/gtk \
+ $(GTKMM_CFLAGS)
DEFAULT_INCLUDES =
-INCLUDES = -I. -I$(srcdir) $(strip $(all_includes))
-glibmm_docdir = $(datadir)/doc/glibmm-2.4
-example_SOURCES = main.cc
+
+# We specify GTKMM_DISABLE_DEPRECATED so that none of our examples show the use of deprecated API:
+INCLUDES = -I. -I$(srcdir) $(strip $(all_includes)) -DGDKMM_DISABLE_DEPRECATED -DPANGOMM_DISABLE_DEPRECATED -DPANGOMM_DISABLE_DEPRECATED -DATKMM_DISABLE_DEPRECATED -DGTKMM_DISABLE_DEPRECATED
+gtkmm_docdir = $(datadir)/doc/gtkmm-2.4
+test_SOURCES = main.cc
all: all-am
.SUFFIXES:
@@ -223,9 +238,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/options/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/main_with_options/Makefile'; \
cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/options/Makefile
+ $(AUTOMAKE) --gnu tests/main_with_options/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -250,9 +265,9 @@ clean-noinstPROGRAMS:
echo " rm -f $$p $$f"; \
rm -f $$p $$f ; \
done
-example$(EXEEXT): $(example_OBJECTS) $(example_DEPENDENCIES)
- @rm -f example$(EXEEXT)
- $(CXXLINK) $(example_LDFLAGS) $(example_OBJECTS) $(example_LDADD) $(LIBS)
+test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES)
+ @rm -f test$(EXEEXT)
+ $(CXXLINK) $(test_OBJECTS) $(test_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -263,22 +278,22 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
.cc.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
.cc.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cc.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
@@ -289,10 +304,6 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -342,23 +353,21 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/../../examples
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @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; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -406,7 +415,7 @@ distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
+ distclean-tags
dvi: dvi-am
@@ -420,12 +429,20 @@ info-am:
install-data-am: install-data-local
+install-dvi: install-dvi-am
+
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
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -446,29 +463,33 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am uninstall-local
+uninstall-am: uninstall-local
+
+.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-libtool clean-noinstPROGRAMS ctags distclean \
distclean-compile 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-data-local install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
+ 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 mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am uninstall-local
+ tags uninstall uninstall-am uninstall-local
install-example-src:
@$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(glibmm_docdir)/$(subdir)
+ $(mkinstalldirs) $(DESTDIR)$(gtkmm_docdir)/$(subdir)
for p in $(srcdir)/*.cc $(srcdir)/*.h; do \
if test -f $$p; then \
f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(INSTALL_DATA) $$p $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f"; \
- $(INSTALL_DATA) $$p $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f; \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(gtkmm_docdir)/$(subdir)/$$f"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(gtkmm_docdir)/$(subdir)/$$f; \
fi; \
done
@@ -477,8 +498,8 @@ uninstall-example-src:
for p in $(srcdir)/*.cc $(srcdir)/*.h; do \
if test -f $$p; then \
f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " rm -f $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f"; \
- rm -f $(DESTDIR)$(glibmm_docdir)/$(subdir)/$$f; \
+ echo " rm -f $(DESTDIR)$(gtkmm_docdir)/$(subdir)/$$f"; \
+ rm -f $(DESTDIR)$(gtkmm_docdir)/$(subdir)/$$f; \
fi; \
done
diff --git a/libs/glibmm2/examples/options/main.cc b/libs/gtkmm2/tests/main_with_options/main.cc
index 2fa853768c..74802ae678 100644
--- a/libs/glibmm2/examples/options/main.cc
+++ b/libs/gtkmm2/tests/main_with_options/main.cc
@@ -1,21 +1,22 @@
-/* Copyright (C) 2004 The glibmm Development Team
+//$Id: main.cc 616 2006-05-11 11:40:25Z murrayc $ -*- c++ -*-
+
+/* gtkmm example Copyright (C) 2002 gtkmm development team
*
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation.
*
- * This library is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
*
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include <glibmm.h>
+#include <gtkmm.h>
#include <iomanip>
#include <iostream>
@@ -88,16 +89,12 @@ void ExampleOptionGroup::on_error(Glib::OptionContext& context, Glib::OptionGrou
{
Glib::OptionGroup::on_error(context, group);
}
-
-
-int main(int argc, char** argv)
+int main(int argc, char *argv[])
{
//This example should be executed like so:
//./example --foo=1 --bar=2 --goo=abc
//./example --help
-
- Glib::init();
Glib::OptionContext context;
@@ -107,35 +104,38 @@ int main(int argc, char** argv)
#ifdef GLIBMM_EXCEPTIONS_ENABLED
try
{
- context.parse(argc, argv);
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ Gtk::Main main_instance(argc, argv, context);
+
+ //Here we can see the parsed values of our custom command-line arguments:
+
+ std::cout << "parsed values: " << std::endl <<
+ " foo = " << group.m_arg_foo << std::endl <<
+ " filename = " << group.m_arg_filename << std::endl <<
+ " activate_something = " << (group.m_arg_boolean ? "enabled" : "disabled") << std::endl <<
+ " goo = " << group.m_arg_goo << std::endl;
+
+ //This one shows the results of multiple instance of the same option, such as --list=1 --list=a --list=b
+ std::cout << " list = ";
+ for(Glib::OptionGroup::vecustrings::const_iterator iter = group.m_arg_list.begin(); iter != group.m_arg_list.end(); ++iter)
+ {
+ std::cout << *iter << ", ";
+ }
+ std::cout << std::endl;
+
+
+ //Any standard GTK+ command-line arguments will have an effect on this window:
+ //Try --name="bobble" to change the window's title to "bobble", for instance.
+ Gtk::Window testWindow;
+ main_instance.run(testWindow); //Shows the window and returns when it is closed.
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
}
catch(const Glib::Error& ex)
{
std::cout << "Exception: " << ex.what() << std::endl;
}
- #else
- std::auto_ptr<Glib::Error> ex;
- context.parse(argc, argv, ex);
- if(ex.get())
- {
- std::cout << "Exception: " << ex->what() << std::endl;
- }
#endif //GLIBMM_EXCEPTIONS_ENABLED
- std::cout << "parsed values: " << std::endl <<
- " foo = " << group.m_arg_foo << std::endl <<
- " filename = " << group.m_arg_filename << std::endl <<
- " activate_something = " << (group.m_arg_boolean ? "enabled" : "disabled") << std::endl <<
- " goo = " << group.m_arg_goo << std::endl;
-
- //This one shows the results of multiple instance of the same option, such as --list=1 --list=a --list=b
- std::cout << " list = ";
- for(Glib::OptionGroup::vecustrings::const_iterator iter = group.m_arg_list.begin(); iter != group.m_arg_list.end(); ++iter)
- {
- std::cout << *iter << ", ";
- }
- std::cout << std::endl;
-
+
return 0;
}
-
diff --git a/libs/gtkmm2/tests/menu_destruction/Makefile.am b/libs/gtkmm2/tests/menu_destruction/Makefile.am
new file mode 100644
index 0000000000..519d9ecdef
--- /dev/null
+++ b/libs/gtkmm2/tests/menu_destruction/Makefile.am
@@ -0,0 +1,6 @@
+include $(top_srcdir)/tests/Makefile.am_fragment
+
+noinst_PROGRAMS = test
+test_SOURCES = main.cc
+
+
diff --git a/libs/gtkmm2/tests/menu_destruction/Makefile.in b/libs/gtkmm2/tests/menu_destruction/Makefile.in
new file mode 100644
index 0000000000..42644ea37c
--- /dev/null
+++ b/libs/gtkmm2/tests/menu_destruction/Makefile.in
@@ -0,0 +1,481 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 \
+ $(top_srcdir)/tests/Makefile.am_fragment
+noinst_PROGRAMS = test$(EXEEXT)
+subdir = tests/menu_destruction
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_test_OBJECTS = main.$(OBJEXT)
+test_OBJECTS = $(am_test_OBJECTS)
+test_LDADD = $(LDADD)
+DEFAULT_INCLUDES = -I. -I$(top_builddir) -I$(top_builddir)/gdk -I$(top_builddir)/gtk@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(test_SOURCES)
+DIST_SOURCES = $(test_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = \
+ $(top_builddir)/pango/pangomm/libpangomm-1.4.la \
+ $(ATKMMLIB) \
+ $(top_builddir)/gdk/gdkmm/libgdkmm-2.4.la \
+ $(top_builddir)/gtk/gtkmm/libgtkmm-2.4.la \
+ $(GTKMM_LIBS)
+
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMINC = -I$(top_builddir)/atk -I$(top_srcdir)/atk
+INCLUDES = \
+ -I$(top_builddir)/pango -I$(top_srcdir)/pango \
+ $(ATKMMINC) \
+ -I$(top_builddir)/gdk -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gtk -I$(top_srcdir)/gtk \
+ $(GTKMM_CFLAGS) $(GTHREAD_CFLAGS)
+
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMLIB = $(local_atkmm_lib)
+test_SOURCES = main.cc
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tests/Makefile.am_fragment $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/menu_destruction/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/menu_destruction/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
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES)
+ @rm -f test$(EXEEXT)
+ $(CXXLINK) $(test_OBJECTS) $(test_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+
+.cc.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+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; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(PROGRAMS)
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile 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-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 mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/tests/menu_destruction/main.cc b/libs/gtkmm2/tests/menu_destruction/main.cc
new file mode 100644
index 0000000000..7f9431a0ab
--- /dev/null
+++ b/libs/gtkmm2/tests/menu_destruction/main.cc
@@ -0,0 +1,84 @@
+#include <gtkmm.h>
+#include <iostream>
+
+void on_destroyed_ComboBoxderived(GtkWidget*, gpointer)
+{
+ std::cout << "on_destroyed_ComboBoxderived" << std::endl;
+}
+
+void on_destroyed_menuderived(GtkWidget*, gpointer)
+{
+ std::cout << "on_destroyed_menuderived" << std::endl;
+}
+
+//Previously, this derived from a Gtk::ComboBox,
+//and that might have been necessary to trigger the bug at the time,
+//but ComboBox is now deprecated.
+class ComboBoxTextDerived : public Gtk::ComboBoxText
+{
+public:
+ ComboBoxTextDerived()
+ {
+ g_signal_connect (gobj(), "destroy",
+ G_CALLBACK (on_destroyed_ComboBoxderived), NULL);
+ }
+
+ ~ComboBoxTextDerived()
+ {
+ //remove_menu();
+ std::cout << "~ComboBoxTextDerived()" << std::endl;
+ }
+};
+
+class MenuDerived : public Gtk::Menu
+{
+public:
+ MenuDerived()
+ {
+ g_signal_connect (gobj(), "destroy",
+ G_CALLBACK (on_destroyed_menuderived), NULL);
+ }
+
+ ~MenuDerived()
+ {
+ std::cout << "~MenuDerived() 1" << std::endl;
+
+ std::cout << "~MenuDerived() 2" << std::endl;
+
+ }
+};
+
+class test_window : public Gtk::Window
+{
+public:
+ test_window();
+ ~test_window()
+ {
+ std::cout << "~test_window()1" << std::endl;
+
+ }
+
+protected:
+
+ //Gtk::MenuItem m_MenuItem;
+ MenuDerived m_Menu;
+ ComboBoxTextDerived m_ComboBox;
+};
+
+test_window::test_window()
+//: m_MenuItem("One")
+{
+ // m_Menu.append(m_MenuItem);
+ //m_ComboBox.set_menu(m_Menu);
+ add(m_ComboBox);
+ //show_all();
+}
+
+int main(int argc, char *argv[])
+{
+ Gtk::Main main_runner(argc, argv);
+ test_window foo;
+ Gtk::Main::run(foo);
+
+ return(0);
+}
diff --git a/libs/gtkmm2/tests/property_notification/Makefile.am b/libs/gtkmm2/tests/property_notification/Makefile.am
new file mode 100644
index 0000000000..519d9ecdef
--- /dev/null
+++ b/libs/gtkmm2/tests/property_notification/Makefile.am
@@ -0,0 +1,6 @@
+include $(top_srcdir)/tests/Makefile.am_fragment
+
+noinst_PROGRAMS = test
+test_SOURCES = main.cc
+
+
diff --git a/libs/gtkmm2/tests/property_notification/Makefile.in b/libs/gtkmm2/tests/property_notification/Makefile.in
new file mode 100644
index 0000000000..fd630e35a3
--- /dev/null
+++ b/libs/gtkmm2/tests/property_notification/Makefile.in
@@ -0,0 +1,481 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 \
+ $(top_srcdir)/tests/Makefile.am_fragment
+noinst_PROGRAMS = test$(EXEEXT)
+subdir = tests/property_notification
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_test_OBJECTS = main.$(OBJEXT)
+test_OBJECTS = $(am_test_OBJECTS)
+test_LDADD = $(LDADD)
+DEFAULT_INCLUDES = -I. -I$(top_builddir) -I$(top_builddir)/gdk -I$(top_builddir)/gtk@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(test_SOURCES)
+DIST_SOURCES = $(test_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = \
+ $(top_builddir)/pango/pangomm/libpangomm-1.4.la \
+ $(ATKMMLIB) \
+ $(top_builddir)/gdk/gdkmm/libgdkmm-2.4.la \
+ $(top_builddir)/gtk/gtkmm/libgtkmm-2.4.la \
+ $(GTKMM_LIBS)
+
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMINC = -I$(top_builddir)/atk -I$(top_srcdir)/atk
+INCLUDES = \
+ -I$(top_builddir)/pango -I$(top_srcdir)/pango \
+ $(ATKMMINC) \
+ -I$(top_builddir)/gdk -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gtk -I$(top_srcdir)/gtk \
+ $(GTKMM_CFLAGS) $(GTHREAD_CFLAGS)
+
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMLIB = $(local_atkmm_lib)
+test_SOURCES = main.cc
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tests/Makefile.am_fragment $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/property_notification/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/property_notification/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
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES)
+ @rm -f test$(EXEEXT)
+ $(CXXLINK) $(test_OBJECTS) $(test_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+
+.cc.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+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; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(PROGRAMS)
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile 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-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 mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/tests/property_notification/main.cc b/libs/gtkmm2/tests/property_notification/main.cc
new file mode 100644
index 0000000000..ec121e668e
--- /dev/null
+++ b/libs/gtkmm2/tests/property_notification/main.cc
@@ -0,0 +1,43 @@
+#include <gtkmm.h>
+#include <iostream>
+
+void on_property_color_changed()
+{
+ std::cout << "color property changed" << std::endl;
+}
+
+void on_property_color_changed_nicer_api()
+{
+ std::cout << "color property changed (nicer API)" << std::endl;
+}
+
+void on_property_name_changed()
+{
+ //Check that we don't get notification of the wrong property:
+ std::cout << "name property changed" << std::endl;
+}
+
+int main (int argc, char **argv)
+{
+ Gtk::Main kit (argc, argv);
+
+ Gtk::Window window;
+
+ Gtk::ColorButton button;
+ button.show();
+
+ button.connect_property_changed("color", sigc::ptr_fun(&on_property_color_changed));
+
+#ifdef GLIBMM_PROPERTIES_ENABLED
+ button.property_color().signal_changed().connect(sigc::ptr_fun(&on_property_color_changed_nicer_api));
+#endif
+
+ button.connect_property_changed("name", sigc::ptr_fun(&on_property_name_changed));
+
+
+ window.add(button);
+
+ Gtk::Main::run(window);
+}
+
+
diff --git a/libs/gtkmm2/tests/refcount_dialog/Makefile.am b/libs/gtkmm2/tests/refcount_dialog/Makefile.am
new file mode 100644
index 0000000000..519d9ecdef
--- /dev/null
+++ b/libs/gtkmm2/tests/refcount_dialog/Makefile.am
@@ -0,0 +1,6 @@
+include $(top_srcdir)/tests/Makefile.am_fragment
+
+noinst_PROGRAMS = test
+test_SOURCES = main.cc
+
+
diff --git a/libs/gtkmm2/tests/refcount_dialog/Makefile.in b/libs/gtkmm2/tests/refcount_dialog/Makefile.in
new file mode 100644
index 0000000000..028f85e83a
--- /dev/null
+++ b/libs/gtkmm2/tests/refcount_dialog/Makefile.in
@@ -0,0 +1,481 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 \
+ $(top_srcdir)/tests/Makefile.am_fragment
+noinst_PROGRAMS = test$(EXEEXT)
+subdir = tests/refcount_dialog
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_test_OBJECTS = main.$(OBJEXT)
+test_OBJECTS = $(am_test_OBJECTS)
+test_LDADD = $(LDADD)
+DEFAULT_INCLUDES = -I. -I$(top_builddir) -I$(top_builddir)/gdk -I$(top_builddir)/gtk@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(test_SOURCES)
+DIST_SOURCES = $(test_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = \
+ $(top_builddir)/pango/pangomm/libpangomm-1.4.la \
+ $(ATKMMLIB) \
+ $(top_builddir)/gdk/gdkmm/libgdkmm-2.4.la \
+ $(top_builddir)/gtk/gtkmm/libgtkmm-2.4.la \
+ $(GTKMM_LIBS)
+
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMINC = -I$(top_builddir)/atk -I$(top_srcdir)/atk
+INCLUDES = \
+ -I$(top_builddir)/pango -I$(top_srcdir)/pango \
+ $(ATKMMINC) \
+ -I$(top_builddir)/gdk -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gtk -I$(top_srcdir)/gtk \
+ $(GTKMM_CFLAGS) $(GTHREAD_CFLAGS)
+
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMLIB = $(local_atkmm_lib)
+test_SOURCES = main.cc
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tests/Makefile.am_fragment $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/refcount_dialog/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/refcount_dialog/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
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES)
+ @rm -f test$(EXEEXT)
+ $(CXXLINK) $(test_OBJECTS) $(test_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+
+.cc.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+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; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(PROGRAMS)
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile 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-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 mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/tests/refcount_dialog/main.cc b/libs/gtkmm2/tests/refcount_dialog/main.cc
new file mode 100644
index 0000000000..4bfb50fadf
--- /dev/null
+++ b/libs/gtkmm2/tests/refcount_dialog/main.cc
@@ -0,0 +1,60 @@
+#include <gtkmm.h>
+#include <gtk/gtkdialog.h>
+#include <iostream>
+#include <list>
+
+
+class MyDialog : public Gtk::Dialog {
+public:
+ MyDialog()
+ {
+ add_button("Ok", 0);
+ }
+};
+
+class MyWindow : public Gtk::Window
+{
+public:
+ MyWindow();
+
+ void on_button_clicked();
+
+protected:
+ Gtk::HBox m_Box;
+ Gtk::Button m_Button;
+};
+
+MyWindow::MyWindow()
+: m_Button("Show Dialog")
+{
+ set_size_request(200, 200);
+
+ m_Button.signal_clicked().connect( sigc::mem_fun(*this, &MyWindow::on_button_clicked) );
+ m_Box.pack_start(m_Button);
+ add(m_Box);
+}
+
+void MyWindow::on_button_clicked()
+{
+ {
+ MyDialog d;
+ d.run();
+ std::cout << "After d.run()" << std::endl;
+ }
+
+ std::cout << "before list_toplevel" << std::endl;
+ std::list<Gtk::Window*> toplevelwindows = list_toplevels();
+ std::cout << "after list_toplevel" << std::endl;
+
+ std::cout << "toplevelwindows.size = " << toplevelwindows.size() << std::endl;
+}
+
+int main(int argc, char* argv[])
+{
+ Gtk::Main kit(argc, argv);
+
+ MyWindow win;
+ win.show_all();
+ kit.run(win);
+ return 0;
+}
diff --git a/libs/gtkmm2/tests/scrolledwindow/Makefile.am b/libs/gtkmm2/tests/scrolledwindow/Makefile.am
new file mode 100644
index 0000000000..519d9ecdef
--- /dev/null
+++ b/libs/gtkmm2/tests/scrolledwindow/Makefile.am
@@ -0,0 +1,6 @@
+include $(top_srcdir)/tests/Makefile.am_fragment
+
+noinst_PROGRAMS = test
+test_SOURCES = main.cc
+
+
diff --git a/libs/gtkmm2/tests/scrolledwindow/Makefile.in b/libs/gtkmm2/tests/scrolledwindow/Makefile.in
new file mode 100644
index 0000000000..dc3a82a072
--- /dev/null
+++ b/libs/gtkmm2/tests/scrolledwindow/Makefile.in
@@ -0,0 +1,481 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 \
+ $(top_srcdir)/tests/Makefile.am_fragment
+noinst_PROGRAMS = test$(EXEEXT)
+subdir = tests/scrolledwindow
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_test_OBJECTS = main.$(OBJEXT)
+test_OBJECTS = $(am_test_OBJECTS)
+test_LDADD = $(LDADD)
+DEFAULT_INCLUDES = -I. -I$(top_builddir) -I$(top_builddir)/gdk -I$(top_builddir)/gtk@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(test_SOURCES)
+DIST_SOURCES = $(test_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = \
+ $(top_builddir)/pango/pangomm/libpangomm-1.4.la \
+ $(ATKMMLIB) \
+ $(top_builddir)/gdk/gdkmm/libgdkmm-2.4.la \
+ $(top_builddir)/gtk/gtkmm/libgtkmm-2.4.la \
+ $(GTKMM_LIBS)
+
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMINC = -I$(top_builddir)/atk -I$(top_srcdir)/atk
+INCLUDES = \
+ -I$(top_builddir)/pango -I$(top_srcdir)/pango \
+ $(ATKMMINC) \
+ -I$(top_builddir)/gdk -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gtk -I$(top_srcdir)/gtk \
+ $(GTKMM_CFLAGS) $(GTHREAD_CFLAGS)
+
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMLIB = $(local_atkmm_lib)
+test_SOURCES = main.cc
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tests/Makefile.am_fragment $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/scrolledwindow/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/scrolledwindow/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
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES)
+ @rm -f test$(EXEEXT)
+ $(CXXLINK) $(test_OBJECTS) $(test_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+
+.cc.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+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; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(PROGRAMS)
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile 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-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 mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/tests/scrolledwindow/main.cc b/libs/gtkmm2/tests/scrolledwindow/main.cc
new file mode 100644
index 0000000000..8149d7237f
--- /dev/null
+++ b/libs/gtkmm2/tests/scrolledwindow/main.cc
@@ -0,0 +1,65 @@
+#include <gtkmm.h>
+#include <gtk/gtk.h>
+#include <stdio.h>
+
+void on_viewport_destroyed(GtkWidget* widget, gpointer)
+{
+ GTK_VIEWPORT(widget);
+ g_warning("viewport destroyed");
+}
+
+void on_gtklabel_destroyed(GtkWidget*, gpointer)
+{
+ g_warning("gtklabel destroyed");
+}
+
+
+class DerivedLabel : public Gtk::Label
+{
+public:
+ DerivedLabel() {}
+ virtual ~DerivedLabel() { printf("~DerivedLabel\n");}
+};
+
+class DerivedScrolledWindow : public Gtk::ScrolledWindow
+{
+public:
+ DerivedScrolledWindow() {}
+ virtual ~DerivedScrolledWindow() { printf("~DerivedScrolledWindow\n");}
+};
+
+class Instance
+{
+public:
+ Instance()
+ {
+ //m_pLabel = new DerivedLabel();
+ m_ScrolledWindow.add( m_pLabel );
+
+ g_signal_connect (G_OBJECT(m_ScrolledWindow.get_child()->gobj()), "destroy", G_CALLBACK(on_viewport_destroyed), NULL);
+
+ g_signal_connect (G_OBJECT(m_pLabel.gobj()), "destroy", G_CALLBACK(on_gtklabel_destroyed), NULL);
+
+ }
+
+ virtual ~Instance()
+ {
+ printf("~Instance() 1\n");
+ //m_ScrolledWindow.remove(); //Removes m_pLabel;
+ printf("~Instance() 2\n");
+ //delete m_pLabel;
+ printf("~Instance() 3\n");
+ }
+
+protected:
+ DerivedLabel m_pLabel;
+ DerivedScrolledWindow m_ScrolledWindow;
+};
+
+int main ( int argc, char *argv[] ) {
+
+ Gtk::Main main( argc, argv );
+
+ Instance instance;
+
+}
diff --git a/libs/gtkmm2/tests/wrap_existing/Makefile.am b/libs/gtkmm2/tests/wrap_existing/Makefile.am
new file mode 100644
index 0000000000..519d9ecdef
--- /dev/null
+++ b/libs/gtkmm2/tests/wrap_existing/Makefile.am
@@ -0,0 +1,6 @@
+include $(top_srcdir)/tests/Makefile.am_fragment
+
+noinst_PROGRAMS = test
+test_SOURCES = main.cc
+
+
diff --git a/libs/gtkmm2/tests/wrap_existing/Makefile.in b/libs/gtkmm2/tests/wrap_existing/Makefile.in
new file mode 100644
index 0000000000..82a8d33744
--- /dev/null
+++ b/libs/gtkmm2/tests/wrap_existing/Makefile.in
@@ -0,0 +1,481 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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 \
+ $(top_srcdir)/tests/Makefile.am_fragment
+noinst_PROGRAMS = test$(EXEEXT)
+subdir = tests/wrap_existing
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_test_OBJECTS = main.$(OBJEXT)
+test_OBJECTS = $(am_test_OBJECTS)
+test_LDADD = $(LDADD)
+DEFAULT_INCLUDES = -I. -I$(top_builddir) -I$(top_builddir)/gdk -I$(top_builddir)/gtk@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(test_SOURCES)
+DIST_SOURCES = $(test_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = \
+ $(top_builddir)/pango/pangomm/libpangomm-1.4.la \
+ $(ATKMMLIB) \
+ $(top_builddir)/gdk/gdkmm/libgdkmm-2.4.la \
+ $(top_builddir)/gtk/gtkmm/libgtkmm-2.4.la \
+ $(GTKMM_LIBS)
+
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMINC = -I$(top_builddir)/atk -I$(top_srcdir)/atk
+INCLUDES = \
+ -I$(top_builddir)/pango -I$(top_srcdir)/pango \
+ $(ATKMMINC) \
+ -I$(top_builddir)/gdk -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gtk -I$(top_srcdir)/gtk \
+ $(GTKMM_CFLAGS) $(GTHREAD_CFLAGS)
+
+@GTKMM_ATKMM_ENABLED_TRUE@ATKMMLIB = $(local_atkmm_lib)
+test_SOURCES = main.cc
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tests/Makefile.am_fragment $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/wrap_existing/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/wrap_existing/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
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES)
+ @rm -f test$(EXEEXT)
+ $(CXXLINK) $(test_OBJECTS) $(test_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+
+.cc.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+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; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(PROGRAMS)
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile 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-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 mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/tests/wrap_existing/main.cc b/libs/gtkmm2/tests/wrap_existing/main.cc
new file mode 100644
index 0000000000..38f71f91b1
--- /dev/null
+++ b/libs/gtkmm2/tests/wrap_existing/main.cc
@@ -0,0 +1,38 @@
+#include <gtkmm.h>
+
+
+GQuark quark_test = 0;
+
+void initialize_quark()
+{
+ if(!quark_test)
+ {
+ //g_warning("initializing quark.");
+ quark_test = g_quark_from_static_string("quarktestmurrayc");
+ }
+}
+
+void on_object_qdata_destroyed(gpointer data)
+{
+ //This doesn't seem to be called:
+ g_warning("on_object_qdata_destroyed(): c instance=%p", (void*)data);
+}
+
+int main(int argc, char**argv)
+{
+ Gtk::Main app(&argc, &argv);
+
+ Gtk::Dialog* pDialog = new Gtk::Dialog();
+ Gtk::VBox* pBox = pDialog->get_vbox();
+
+ //Set a quark and a callback:
+ initialize_quark();
+ int a = 0; // (This doesn't work unless we have a non-null value for the 3rd parameter.)
+ g_object_set_qdata_full((GObject*)pBox->gobj(), quark_test, &a, &on_object_qdata_destroyed);
+
+ g_warning("vbox refcount=%d", G_OBJECT(pBox->gobj())->ref_count);
+
+ delete pDialog;
+
+ g_warning("after delete");
+}
diff --git a/libs/gtkmm2/tools/Makefile b/libs/gtkmm2/tools/Makefile
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/libs/gtkmm2/tools/Makefile
diff --git a/libs/gtkmm2/tools/Makefile.am b/libs/gtkmm2/tools/Makefile.am
new file mode 100644
index 0000000000..cab6f1aaeb
--- /dev/null
+++ b/libs/gtkmm2/tools/Makefile.am
@@ -0,0 +1,9 @@
+
+include $(top_srcdir)/tools/Makefile_list_of_sources.am_fragment
+
+SUBDIRS = m4 extra_defs_gen
+
+EXTRA_DIST = Makefile_list_of_sources.am_fragment README TODO
+
+
+
diff --git a/libs/glibmm2/examples/Makefile.in b/libs/gtkmm2/tools/Makefile.in
index 552afa3ec4..b12bba1bdf 100644
--- a/libs/glibmm2/examples/Makefile.in
+++ b/libs/gtkmm2/tools/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 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.
@@ -13,15 +13,11 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -36,40 +32,42 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/docs/Makefile_web.am_fragment
-subdir = examples
+ $(top_srcdir)/tools/Makefile_list_of_sources.am_fragment \
+ $(top_srcdir)/tools/m4/Makefile_list_of_sources.am_fragment \
+ TODO
+subdir = tools
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
$(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-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
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -85,37 +83,44 @@ CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
DEPDIR = @DEPDIR@
DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
@@ -123,43 +128,33 @@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@
MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
+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_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -171,50 +166,48 @@ 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@
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@
-example_dirs = markup options thread iochannel_stream child_watch
-
-# These use gtkmm stuff:
-# thread
-SUBDIRS = $(example_dirs)
-EXTRA_DIST = README Makefile.am_fragment
-web_host = gtkmm.org
-web_path_gtkmm = /home/murrayc/gtkmm.org/docs/glibmm-2.4/
-#web_path_gtkmm = /home/groups/g/gt/gtkmm/htdocs/docs/glibmm-2.4/
-web_path_docs = $(web_path_gtkmm)docs/
-rsync_args = -vz --rsh ssh --delete --delete-after
-gtkmm_docdir = $(datadir)/doc/glibmm-2.4/docs
-
-#Web upload:
-web_path = $(web_path_gtkmm)examples
-
-#rsync --cvs-exclude ignores *.o and anything in .cvsignore and some more:
-rsync_options = -vzr --rsh ssh --cvs-exclude --delete-excluded --exclude=.libs --exclude=.deps --exclude=core --exclude=.cvsignore --exclude=a.out --exclude=Makefile --exclude=Makefile.in
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+files_tools_m4 = convert.m4 convert_gtkmm.m4 convert_atk.m4 convert_gdk.m4 \
+ convert_gtk.m4 convert_pango.m4
+
+SUBDIRS = m4 extra_defs_gen
+EXTRA_DIST = Makefile_list_of_sources.am_fragment README TODO
all: all-recursive
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/docs/Makefile_web.am_fragment $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tools/Makefile_list_of_sources.am_fragment $(top_srcdir)/tools/m4/Makefile_list_of_sources.am_fragment $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -223,9 +216,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/Makefile'; \
cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/Makefile
+ $(AUTOMAKE) --gnu tools/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -250,10 +243,6 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
# 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,
@@ -285,8 +274,7 @@ $(RECURSIVE_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
+$(RECURSIVE_CLEAN_TARGETS):
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
@@ -387,23 +375,21 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/../docs
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @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; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -417,7 +403,7 @@ distdir: $(DISTFILES)
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
@@ -425,6 +411,8 @@ distdir: $(DISTFILES)
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
@@ -464,8 +452,7 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
@@ -479,12 +466,20 @@ info-am:
install-data-am:
+install-dvi: install-dvi-recursive
+
install-exec-am:
+install-html: install-html-recursive
+
install-info: install-info-recursive
install-man:
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -503,28 +498,25 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-info-am
+uninstall-am:
-uninstall-info: uninstall-info-recursive
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
+.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-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
+ 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 installcheck \
installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive \
- mostlyclean mostlyclean-generic mostlyclean-libtool \
- mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-info-am
-
-
-post-html:
- rsync $(rsync_options) $(example_dirs) $$USER@$(web_host):$(web_path)
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+ uninstall uninstall-am
-.PHONY: post-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:
diff --git a/libs/gtkmm2/tools/Makefile_list_of_sources.am_fragment b/libs/gtkmm2/tools/Makefile_list_of_sources.am_fragment
new file mode 100644
index 0000000000..77e1ba296c
--- /dev/null
+++ b/libs/gtkmm2/tools/Makefile_list_of_sources.am_fragment
@@ -0,0 +1,2 @@
+include $(top_srcdir)/tools/m4/Makefile_list_of_sources.am_fragment
+
diff --git a/libs/glibmm2/tools/README b/libs/gtkmm2/tools/README
index ae015279d7..ae015279d7 100644
--- a/libs/glibmm2/tools/README
+++ b/libs/gtkmm2/tools/README
diff --git a/libs/glibmm2/tools/TODO b/libs/gtkmm2/tools/TODO
index 75598b9523..75598b9523 100644
--- a/libs/glibmm2/tools/TODO
+++ b/libs/gtkmm2/tools/TODO
diff --git a/libs/gtkmm2/tools/extra_defs_gen/Makefile.am b/libs/gtkmm2/tools/extra_defs_gen/Makefile.am
new file mode 100644
index 0000000000..ba9b33470b
--- /dev/null
+++ b/libs/gtkmm2/tools/extra_defs_gen/Makefile.am
@@ -0,0 +1,8 @@
+# Build the generate_properties_defs utility executable.
+# This is not used to build the rest of gtkmm.
+
+INCLUDES = $(GTKMM_CFLAGS)
+LIBS = $(GTKMM_LIBS) -lglibmm_generate_extra_defs-2.4
+
+noinst_PROGRAMS = generate_extra_defs
+generate_extra_defs_SOURCES = generate_defs_gtk.cc
diff --git a/libs/gtkmm2/tools/extra_defs_gen/Makefile.in b/libs/gtkmm2/tools/extra_defs_gen/Makefile.in
new file mode 100644
index 0000000000..7012772d32
--- /dev/null
+++ b/libs/gtkmm2/tools/extra_defs_gen/Makefile.in
@@ -0,0 +1,469 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 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@
+
+# Build the generate_properties_defs utility executable.
+# This is not used to build the rest of gtkmm.
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@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@
+noinst_PROGRAMS = generate_extra_defs$(EXEEXT)
+subdir = tools/extra_defs_gen
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
+ $(top_srcdir)/scripts/macros.m4 \
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_generate_extra_defs_OBJECTS = generate_defs_gtk.$(OBJEXT)
+generate_extra_defs_OBJECTS = $(am_generate_extra_defs_OBJECTS)
+generate_extra_defs_LDADD = $(LDADD)
+DEFAULT_INCLUDES = -I. -I$(top_builddir) -I$(top_builddir)/gdk -I$(top_builddir)/gtk@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(generate_extra_defs_SOURCES)
+DIST_SOURCES = $(generate_extra_defs_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
+DEPDIR = @DEPDIR@
+DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
+DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
+GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+GTHREAD_LIBS = @GTHREAD_LIBS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
+GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBS = $(GTKMM_LIBS) -lglibmm_generate_extra_defs-2.4
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+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_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+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@
+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_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+INCLUDES = $(GTKMM_CFLAGS)
+generate_extra_defs_SOURCES = generate_defs_gtk.cc
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/extra_defs_gen/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tools/extra_defs_gen/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
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+generate_extra_defs$(EXEEXT): $(generate_extra_defs_OBJECTS) $(generate_extra_defs_DEPENDENCIES)
+ @rm -f generate_extra_defs$(EXEEXT)
+ $(CXXLINK) $(generate_extra_defs_OBJECTS) $(generate_extra_defs_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/generate_defs_gtk.Po@am__quote@
+
+.cc.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+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; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ 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; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(PROGRAMS)
+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:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+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
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile 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-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 mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+# 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:
diff --git a/libs/gtkmm2/tools/extra_defs_gen/generate_defs_gtk.cc b/libs/gtkmm2/tools/extra_defs_gen/generate_defs_gtk.cc
new file mode 100644
index 0000000000..0a303ab7ef
--- /dev/null
+++ b/libs/gtkmm2/tools/extra_defs_gen/generate_defs_gtk.cc
@@ -0,0 +1,225 @@
+/* $Id: generate_defs_gtk.cc 935 2007-11-05 16:14:01Z murrayc $ */
+
+/* generate_defs_gtk.cc
+ *
+ * Copyright (C) 2001 The Free Software Foundation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include "glibmm_generate_extra_defs/generate_extra_defs.h"
+#include <gdk/gdk.h>
+#include <gtk/gtk.h>
+
+#if !defined(G_OS_WIN32)
+#include <gtk/gtkprinter.h>
+#include <gtk/gtkprintjob.h>
+#include <gtk/gtkpagesetupunixdialog.h>
+#include <gtk/gtkprintunixdialog.h>
+#endif /* G_OS_WIN32 */
+
+
+int main (int argc, char *argv[])
+{
+ gtk_init(&argc, &argv);
+
+ void *const g_class_atk_no_op_object = g_type_class_ref(ATK_TYPE_NO_OP_OBJECT);
+
+ std::cout << get_defs( ATK_TYPE_OBJECT )
+ << get_defs( ATK_TYPE_COMPONENT )
+ << get_defs( ATK_TYPE_ACTION )
+ << get_defs( ATK_TYPE_EDITABLE_TEXT )
+ << get_defs( ATK_TYPE_HYPERLINK )
+ << get_defs( ATK_TYPE_HYPERTEXT )
+ << get_defs( ATK_TYPE_IMAGE )
+ << get_defs( ATK_TYPE_SELECTION )
+ << get_defs( ATK_TYPE_TABLE )
+ << get_defs( ATK_TYPE_TEXT )
+ << get_defs( ATK_TYPE_VALUE )
+ << get_defs( ATK_TYPE_REGISTRY )
+ << get_defs( ATK_TYPE_RELATION )
+ << get_defs( ATK_TYPE_RELATION_SET )
+ << get_defs( ATK_TYPE_STATE_SET );
+
+ g_type_class_unref(g_class_atk_no_op_object);
+
+ std::cout << get_defs( GDK_TYPE_COLORMAP )
+ << get_defs( GDK_TYPE_DRAG_CONTEXT )
+ << get_defs( GDK_TYPE_DISPLAY )
+#if !defined(G_OS_WIN32)
+ << get_defs( GDK_TYPE_DISPLAY_MANAGER )
+#endif /* G_OS_WIN32 */
+ << get_defs( GDK_TYPE_DRAWABLE )
+ << get_defs( GDK_TYPE_GC )
+ << get_defs( GDK_TYPE_IMAGE )
+ << get_defs( GDK_TYPE_PIXBUF )
+ << get_defs( GDK_TYPE_PIXBUF_ANIMATION )
+ << get_defs( GDK_TYPE_PIXBUF_LOADER )
+ << get_defs( GDK_TYPE_PIXMAP )
+ << get_defs( GDK_TYPE_SCREEN )
+ << get_defs( GDK_TYPE_VISUAL )
+ << get_defs( GDK_TYPE_WINDOW )
+
+ << get_defs( GTK_TYPE_ABOUT_DIALOG )
+ << get_defs( GTK_TYPE_ACCEL_GROUP )
+ << get_defs( GTK_TYPE_ACCEL_LABEL )
+ << get_defs( GTK_TYPE_ACTION )
+ << get_defs( GTK_TYPE_ACTION_GROUP )
+ << get_defs( GTK_TYPE_ADJUSTMENT )
+ << get_defs( GTK_TYPE_ALIGNMENT)
+ << get_defs( GTK_TYPE_ARROW )
+ << get_defs( GTK_TYPE_ASPECT_FRAME )
+ << get_defs( GTK_TYPE_ASSISTANT )
+ << get_defs( GTK_TYPE_BIN )
+ << get_defs( GTK_TYPE_BOX )
+ << get_defs( GTK_TYPE_BUILDER )
+ << get_defs( GTK_TYPE_BUTTON )
+ << get_defs( GTK_TYPE_BUTTON_BOX )
+ << get_defs( GTK_TYPE_CALENDAR )
+ << get_defs( GTK_TYPE_CHECK_BUTTON )
+ << get_defs( GTK_TYPE_CHECK_MENU_ITEM )
+ << get_defs( GTK_TYPE_CLIST ) /* Deprecated */
+ << get_defs( GTK_TYPE_CELL_LAYOUT )
+ << get_defs( GTK_TYPE_CELL_RENDERER )
+ << get_defs( GTK_TYPE_CELL_RENDERER_ACCEL )
+ << get_defs( GTK_TYPE_CELL_RENDERER_COMBO )
+ << get_defs( GTK_TYPE_CELL_RENDERER_PROGRESS )
+ << get_defs( GTK_TYPE_CELL_RENDERER_TEXT )
+ << get_defs( GTK_TYPE_CELL_RENDERER_TOGGLE )
+ << get_defs( GTK_TYPE_CELL_RENDERER_PIXBUF )
+ << get_defs( GTK_TYPE_CELL_RENDERER_PROGRESS )
+ << get_defs( GTK_TYPE_CELL_RENDERER_SPIN )
+ << get_defs( GTK_TYPE_CLIPBOARD )
+ << get_defs( GTK_TYPE_COLOR_BUTTON )
+ << get_defs( GTK_TYPE_COLOR_SELECTION )
+ << get_defs( GTK_TYPE_COMBO ) /* Deprecated */
+ << get_defs( GTK_TYPE_COMBO_BOX )
+ << get_defs( GTK_TYPE_CONTAINER )
+ << get_defs( GTK_TYPE_CTREE ) /* Deprecated */
+ << get_defs( GTK_TYPE_CELL_VIEW )
+ << get_defs( GTK_TYPE_CURVE )
+ << get_defs( GTK_TYPE_DIALOG )
+ << get_defs( GTK_TYPE_DRAWING_AREA )
+ << get_defs( GTK_TYPE_ENTRY )
+ << get_defs( GTK_TYPE_ENTRY_COMPLETION )
+ << get_defs( GTK_TYPE_EVENT_BOX )
+ << get_defs( GTK_TYPE_EXPANDER )
+ << get_defs( GTK_TYPE_FILE_FILTER )
+ << get_defs( GTK_TYPE_FILE_CHOOSER_BUTTON )
+ << get_defs( GTK_TYPE_FILE_CHOOSER_DIALOG )
+ << get_defs( GTK_TYPE_FILE_CHOOSER_WIDGET )
+ << get_defs( GTK_TYPE_FILE_SELECTION ) /* Deprecated */
+ << get_defs( GTK_TYPE_FIXED )
+ << get_defs( GTK_TYPE_FONT_BUTTON )
+ << get_defs( GTK_TYPE_FONT_SELECTION )
+ << get_defs( GTK_TYPE_FONT_SELECTION_DIALOG )
+ << get_defs( GTK_TYPE_FRAME )
+ << get_defs( GTK_TYPE_HANDLE_BOX )
+ << get_defs( GTK_TYPE_ICON_THEME )
+ << get_defs( GTK_TYPE_IMAGE )
+ << get_defs( GTK_TYPE_INPUT_DIALOG )
+ << get_defs( GTK_TYPE_INVISIBLE )
+ << get_defs( GTK_TYPE_ITEM )
+ << get_defs( GTK_TYPE_ICON_VIEW )
+ << get_defs( GTK_TYPE_LABEL )
+ << get_defs( GTK_TYPE_LAYOUT )
+ << get_defs( GTK_TYPE_LINK_BUTTON )
+ << get_defs( GTK_TYPE_LIST )
+ << get_defs( GTK_TYPE_LIST_ITEM )
+ << get_defs( GTK_TYPE_MENU )
+ << get_defs( GTK_TYPE_MENU_BAR )
+ << get_defs( GTK_TYPE_MENU_ITEM )
+ << get_defs( GTK_TYPE_MENU_SHELL )
+ << get_defs( GTK_TYPE_MENU_TOOL_BUTTON )
+ << get_defs( GTK_TYPE_MESSAGE_DIALOG )
+ << get_defs( GTK_TYPE_MISC )
+ << get_defs( GTK_TYPE_NOTEBOOK )
+ << get_defs( GTK_TYPE_OBJECT )
+ << get_defs( GTK_TYPE_OPTION_MENU )
+ << get_defs( GTK_TYPE_PANED )
+ << get_defs( GTK_TYPE_PIXMAP )
+#if !defined(G_OS_WIN32)
+ << get_defs( GTK_TYPE_PLUG )
+#endif /* G_OS_WIN32 */
+ << get_defs( GTK_TYPE_PREVIEW )
+#if !defined(G_OS_WIN32)
+ << get_defs( GTK_TYPE_PRINTER )
+ << get_defs( GTK_TYPE_PRINT_JOB )
+#endif /* G_OS_WIN32 */
+ << get_defs( GTK_TYPE_PRINT_OPERATION )
+ << get_defs( GTK_TYPE_PRINT_OPERATION_PREVIEW )
+#if !defined(G_OS_WIN32)
+ << get_defs( GTK_TYPE_PAGE_SETUP_UNIX_DIALOG )
+ << get_defs( GTK_TYPE_PRINT_UNIX_DIALOG )
+#endif /* G_OS_WIN32 */
+ << get_defs( GTK_TYPE_PROGRESS )
+ << get_defs( GTK_TYPE_PROGRESS_BAR )
+ << get_defs( GTK_TYPE_RADIO_BUTTON )
+ << get_defs( GTK_TYPE_RADIO_TOOL_BUTTON )
+ << get_defs( GTK_TYPE_RADIO_ACTION )
+ << get_defs( GTK_TYPE_RADIO_MENU_ITEM )
+ << get_defs( GTK_TYPE_RANGE )
+ << get_defs( GTK_TYPE_RECENT_ACTION )
+ << get_defs( GTK_TYPE_RECENT_CHOOSER )
+ << get_defs( GTK_TYPE_RECENT_CHOOSER_MENU )
+ << get_defs( GTK_TYPE_RECENT_CHOOSER_WIDGET )
+ << get_defs( GTK_TYPE_RECENT_FILTER )
+ << get_defs( GTK_TYPE_RECENT_MANAGER )
+ << get_defs( GTK_TYPE_RULER )
+ << get_defs( GTK_TYPE_SCALE )
+ << get_defs( GTK_TYPE_SCALE_BUTTON )
+ << get_defs( GTK_TYPE_SCROLLBAR )
+ << get_defs( GTK_TYPE_SCROLLED_WINDOW )
+ << get_defs( GTK_TYPE_SEPARATOR )
+ << get_defs( GTK_TYPE_SEPARATOR_TOOL_ITEM )
+ << get_defs( GTK_TYPE_SETTINGS )
+ << get_defs( GTK_TYPE_SIZE_GROUP )
+#if !defined(G_OS_WIN32)
+ << get_defs( GTK_TYPE_SOCKET )
+#endif /* G_OS_WIN32 */
+ << get_defs( GTK_TYPE_SPIN_BUTTON )
+ << get_defs( GTK_TYPE_STATUSBAR )
+ << get_defs( GTK_TYPE_STATUS_ICON )
+ << get_defs( GTK_TYPE_STYLE )
+ << get_defs( GTK_TYPE_TABLE )
+ << get_defs( GTK_TYPE_TEAROFF_MENU_ITEM )
+ << get_defs( GTK_TYPE_TIPS_QUERY )
+ << get_defs( GTK_TYPE_TOGGLE_BUTTON )
+ << get_defs( GTK_TYPE_TOOLBAR )
+ << get_defs( GTK_TYPE_TOOL_ITEM )
+ << get_defs( GTK_TYPE_TOOL_BUTTON )
+ << get_defs( GTK_TYPE_TEXT_BUFFER )
+ << get_defs( GTK_TYPE_TEXT_MARK )
+ << get_defs( GTK_TYPE_TEXT_TAG )
+ << get_defs( GTK_TYPE_TEXT_TAG_TABLE )
+ << get_defs( GTK_TYPE_TEXT_VIEW )
+ << get_defs( GTK_TYPE_TOGGLE_ACTION )
+ << get_defs( GTK_TYPE_TOGGLE_TOOL_BUTTON )
+ << get_defs( GTK_TYPE_TOOLTIP )
+ << get_defs( GTK_TYPE_TOOLTIPS )
+ << get_defs( GTK_TYPE_TREE_SELECTION )
+ << get_defs( GTK_TYPE_TREE_MODEL_FILTER )
+ << get_defs( GTK_TYPE_TREE_STORE )
+ << get_defs( GTK_TYPE_TREE_VIEW )
+ << get_defs( GTK_TYPE_TREE_VIEW_COLUMN )
+ << get_defs( GTK_TYPE_UI_MANAGER )
+ << get_defs( GTK_TYPE_VIEWPORT )
+ << get_defs( GTK_TYPE_VOLUME_BUTTON )
+ << get_defs( GTK_TYPE_WIDGET )
+ << get_defs( GTK_TYPE_WINDOW );
+
+
+ return 0;
+}
diff --git a/libs/glibmm2/tools/m4/Makefile.am b/libs/gtkmm2/tools/m4/Makefile.am
index d3ec8fba7d..aca5d3f849 100644
--- a/libs/glibmm2/tools/m4/Makefile.am
+++ b/libs/gtkmm2/tools/m4/Makefile.am
@@ -5,6 +5,6 @@ EXTRA_DIST = Makefile_list_of_sources.am_fragment $(files_tools_m4)
# Install the .m4, files:
-tools_m4_includedir = $(libdir)/glibmm-2.4/proc/m4
+tools_m4_includedir = $(libdir)/gtkmm-2.4/proc/m4
tools_m4_include_HEADERS = $(files_tools_m4)
diff --git a/libs/glibmm2/tools/m4/Makefile.in b/libs/gtkmm2/tools/m4/Makefile.in
index f6aa5da2fd..f1f33f7fff 100644
--- a/libs/glibmm2/tools/m4/Makefile.in
+++ b/libs/gtkmm2/tools/m4/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 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.
@@ -14,15 +14,11 @@
@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -41,18 +37,15 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/tools/m4/Makefile_list_of_sources.am_fragment
subdir = tools/m4
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/scripts/cxx.m4 \
- $(top_srcdir)/scripts/cxx_std.m4 \
- $(top_srcdir)/scripts/docgen.m4 \
- $(top_srcdir)/scripts/glibmm_check_perl.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/scripts/docgen.m4 \
$(top_srcdir)/scripts/macros.m4 \
- $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/scripts/sun.m4 \
- $(top_srcdir)/configure.in
+ $(top_srcdir)/scripts/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h \
- $(top_builddir)/glib/glibmmconfig.h
+ $(top_builddir)/gdk/gdkmmconfig.h \
+ $(top_builddir)/gtk/gtkmmconfig.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
@@ -69,11 +62,11 @@ ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
+ATKMM_CFLAGS = @ATKMM_CFLAGS@
+ATKMM_LIBS = @ATKMM_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -89,37 +82,44 @@ CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
+DEMO_SUBDIR = @DEMO_SUBDIR@
DEPDIR = @DEPDIR@
DISABLE_DEPRECATED_API_CFLAGS = @DISABLE_DEPRECATED_API_CFLAGS@
DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@
DLLTOOL = @DLLTOOL@
+DOCS_SUBDIR = @DOCS_SUBDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+EXAMPLE_SUBDIR = @EXAMPLE_SUBDIR@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
-GLIBMM_CFLAGS = @GLIBMM_CFLAGS@
-GLIBMM_LIBS = @GLIBMM_LIBS@
-GLIBMM_MAJOR_VERSION = @GLIBMM_MAJOR_VERSION@
-GLIBMM_MICRO_VERSION = @GLIBMM_MICRO_VERSION@
-GLIBMM_MINOR_VERSION = @GLIBMM_MINOR_VERSION@
-GLIBMM_RELEASE = @GLIBMM_RELEASE@
-GLIBMM_VERSION = @GLIBMM_VERSION@
+GDKMM_CFLAGS = @GDKMM_CFLAGS@
+GDKMM_LIBS = @GDKMM_LIBS@
+GMMPROC = @GMMPROC@
+GMMPROC_DIR = @GMMPROC_DIR@
+GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
-GTKMMPROC_MERGECDOCS = @GTKMMPROC_MERGECDOCS@
+GTKMM_CFLAGS = @GTKMM_CFLAGS@
GTKMM_DOXYGEN_INPUT = @GTKMM_DOXYGEN_INPUT@
-GTKMM_FALSE_FALSE = @GTKMM_FALSE_FALSE@
-GTKMM_FALSE_TRUE = @GTKMM_FALSE_TRUE@
+GTKMM_LIBS = @GTKMM_LIBS@
+GTKMM_MAJOR_VERSION = @GTKMM_MAJOR_VERSION@
+GTKMM_MICRO_VERSION = @GTKMM_MICRO_VERSION@
+GTKMM_MINOR_VERSION = @GTKMM_MINOR_VERSION@
+GTKMM_PC_ATKMM_DEP = @GTKMM_PC_ATKMM_DEP@
+GTKMM_RELEASE = @GTKMM_RELEASE@
+GTKMM_VERSION = @GTKMM_VERSION@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
-LIBGLIBMM_SO_VERSION = @LIBGLIBMM_SO_VERSION@
+LIBGTKMM_SO_VERSION = @LIBGTKMM_SO_VERSION@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
@@ -127,43 +127,33 @@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@
MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOMM_CFLAGS = @PANGOMM_CFLAGS@
+PANGOMM_LIBS = @PANGOMM_LIBS@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
-PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
-PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
+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_CXX = @ac_ct_CXX@
-ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -175,40 +165,46 @@ 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@
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@
-files_tools_m4 = base.m4 class_shared.m4 class_boxedtype.m4 class_boxedtype_static.m4 \
- class_generic.m4 class_gobject.m4 class_gtkobject.m4 \
- class_interface.m4 class_opaque_refcounted.m4 class_opaque_copyable.m4 \
- gerror.m4 \
- compare.m4 convert.m4 convert_base.m4 convert_gtkmm.m4 convert_atk.m4 convert_gdk.m4 \
- convert_glib.m4 convert_gtk.m4 convert_pango.m4 ctor.m4 doc.m4 enum.m4 list.m4 member.m4 \
- method.m4 property.m4 signal.m4 vfunc.m4
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+files_tools_m4 = convert.m4 convert_gtkmm.m4 convert_atk.m4 convert_gdk.m4 \
+ convert_gtk.m4 convert_pango.m4
EXTRA_DIST = Makefile_list_of_sources.am_fragment $(files_tools_m4)
# Install the .m4, files:
-tools_m4_includedir = $(libdir)/glibmm-2.4/proc/m4
+tools_m4_includedir = $(libdir)/gtkmm-2.4/proc/m4
tools_m4_include_HEADERS = $(files_tools_m4)
all: all-am
@@ -248,13 +244,9 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
install-tools_m4_includeHEADERS: $(tools_m4_include_HEADERS)
@$(NORMAL_INSTALL)
- test -z "$(tools_m4_includedir)" || $(mkdir_p) "$(DESTDIR)$(tools_m4_includedir)"
+ test -z "$(tools_m4_includedir)" || $(MKDIR_P) "$(DESTDIR)$(tools_m4_includedir)"
@list='$(tools_m4_include_HEADERS)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
@@ -319,23 +311,21 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/../../tools/m4
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @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; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -351,7 +341,7 @@ check: check-am
all-am: Makefile $(HEADERS)
installdirs:
for dir in "$(DESTDIR)$(tools_m4_includedir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
@@ -383,8 +373,7 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-am
@@ -398,12 +387,20 @@ info-am:
install-data-am: install-tools_m4_includeHEADERS
+install-dvi: install-dvi-am
+
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
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -422,18 +419,22 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am uninstall-tools_m4_includeHEADERS
+uninstall-am: uninstall-tools_m4_includeHEADERS
+
+.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-libtool ctags 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-exec install-exec-am install-info \
- install-info-am install-man install-strip \
+ 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-tools_m4_includeHEADERS installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
- ps ps-am tags uninstall uninstall-am uninstall-info-am \
+ ps ps-am tags uninstall uninstall-am \
uninstall-tools_m4_includeHEADERS
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/libs/gtkmm2/tools/m4/Makefile_list_of_sources.am_fragment b/libs/gtkmm2/tools/m4/Makefile_list_of_sources.am_fragment
new file mode 100644
index 0000000000..c14c75d306
--- /dev/null
+++ b/libs/gtkmm2/tools/m4/Makefile_list_of_sources.am_fragment
@@ -0,0 +1,3 @@
+files_tools_m4 = convert.m4 convert_gtkmm.m4 convert_atk.m4 convert_gdk.m4 \
+ convert_gtk.m4 convert_pango.m4
+
diff --git a/libs/glibmm2/tools/m4/convert.m4 b/libs/gtkmm2/tools/m4/convert.m4
index 9057f5151a..60436db122 100644
--- a/libs/glibmm2/tools/m4/convert.m4
+++ b/libs/gtkmm2/tools/m4/convert.m4
@@ -1,4 +1,4 @@
-dnl $Id: convert.m4,v 1.1.1.1 2003/01/07 16:59:06 murrayc Exp $
+dnl $Id: convert.m4 2 2003-01-21 13:41:59Z murrayc $
# Other libraries, such as libgnomeuimm, can provide their own convert.m4 files,
# Maybe choosing to include the same files as this one.
diff --git a/libs/glibmm2/tools/m4/convert_atk.m4 b/libs/gtkmm2/tools/m4/convert_atk.m4
index caea521396..df03f45bb8 100644
--- a/libs/glibmm2/tools/m4/convert_atk.m4
+++ b/libs/gtkmm2/tools/m4/convert_atk.m4
@@ -8,6 +8,7 @@ _CONV_ENUM(Atk,RelationType)
_CONV_ENUM(Atk,StateType)
_CONV_ENUM(Atk,CoordType)
_CONV_ENUM(Atk,TextBoundary)
+_CONV_ENUM(Atk,TextClipType)
_CONVERSION(`AtkObject*',`Glib::RefPtr<Atk::Object>',Glib::wrap($3))
@@ -15,7 +16,6 @@ _CONVERSION(`AtkObject*',`Glib::RefPtr<Object>',Glib::wrap($3))
_CONVERSION(`AtkObject*',`Glib::RefPtr<Atk::Object>',Glib::wrap($3))
_CONVERSION(`AtkObject*',`Glib::RefPtr<const Object>',Glib::wrap($3))
_CONVERSION(`AtkObject*',`Glib::RefPtr<const Atk::Object>',Glib::wrap($3))
-_CONVERSION(`AtkObject*',`const Glib::RefPtr<Atk::Object>&',`Glib::wrap($3, true)')
_CONVERSION(`const Glib::RefPtr<Object>&',`AtkObject*',`Glib::unwrap($3)')
_CONVERSION(`const Glib::RefPtr<Atk::Object>&',`AtkObject*',`Glib::unwrap($3)')
_CONVERSION(`Glib::RefPtr<Atk::Object>',`AtkObject*',`Glib::unwrap($3)')
@@ -29,6 +29,16 @@ _CONVERSION(`const Glib::RefPtr<StateSet>&',`AtkStateSet*',`Glib::unwrap($3)')
_CONVERSION(`AtkGObjectAccessible*',`Glib::RefPtr<ObjectAccessible>',Glib::wrap($3))
_CONVERSION(`AtkGObjectAccessible*',`Glib::RefPtr<const ObjectAccessible>',Glib::wrap($3))
+_CONVERSION(`AtkHyperlink*',`Glib::RefPtr<Hyperlink>',Glib::wrap($3))
+_CONVERSION(`AtkHyperlink*',`Glib::RefPtr<const Hyperlink>',Glib::wrap($3))
+
_CONVERSION(`AtkAttributeSet*', `AttributeSet', `AttributeSet($3, Glib::OWNERSHIP_DEEP)')
_CONVERSION(`const AttributeSet&', `AtkAttributeSet*', `($3).data()')
+_CONVERSION(`GIOChannel*',`Glib::RefPtr<Glib::IOChannel>',Glib::wrap($3))
+
+_CONVERSION(`Rectangle&', `AtkTextRectangle*', `&($3)')
+_CONVERSION(`const Rectangle&', `AtkTextRectangle*', `const_cast<AtkTextRectangle*>(&($3))')
+
+
+
diff --git a/libs/glibmm2/tools/m4/convert_gdk.m4 b/libs/gtkmm2/tools/m4/convert_gdk.m4
index 30bbb829f5..27af477026 100644
--- a/libs/glibmm2/tools/m4/convert_gdk.m4
+++ b/libs/gtkmm2/tools/m4/convert_gdk.m4
@@ -24,6 +24,7 @@ _CONV_ENUM(Gdk,Gravity)
_CONV_ENUM(Gdk,ImageType)
_CONV_ENUM(Gdk,InputCondition)
_CONV_ENUM(Gdk,InputMode)
+_CONV_ENUM(Gdk,InputSource)
_CONV_ENUM(Gdk,InterpType)
_CONV_ENUM(Gdk,JoinStyle)
_CONV_ENUM(Gdk,LineStyle)
@@ -43,6 +44,7 @@ _CONV_ENUM(Gdk,WindowTypeHint)
_CONV_ENUM(Gdk,WMDecoration)
_CONV_ENUM(Gdk,WMFunction)
_CONV_ENUM(Gdk,GrabStatus)
+_CONV_ENUM(Gdk,PixbufRotation)
_CONVERSION(`Gdk::EventMask',`gint',`$3')
@@ -54,8 +56,6 @@ _CONVERSION(`GdkDragProtocol&',`GdkDragProtocol*',`&($3)')
_CONVERSION(`GdkRectangle&',`GdkRectangle*',`&$3',`*$3')
_CONVERSION(`GdkRgbCmap&',`GdkRgbCmap*',`&$3',`*$3')
-# TODO: Remove this, and use Gdk::Device:
-_CONVERSION(`GdkDevice*',`const GdkDevice*',`$3')
_CONVERSION(`GdkKeymap*',`const GdkKeymap*',`$3')
@@ -68,10 +68,14 @@ _CONVERSION(`GdkColor',`Gdk::Color', `Gdk::Color(const_cast<GdkColor*>(&($3)), t
# Ref (gdkmm) -> Ptr (gtk+)
_CONVERSION(`Color&',`GdkColor*',($3).gobj())
+_CONVERSION(`const Gdk::Color&',`const GdkColor*',`($3).gobj()')
+_CONVERSION(`const Color&',`const GdkColor*',`($3).gobj()')
_CONVERSION(`Rectangle&',`GdkRectangle*',($3).gobj())
_CONVERSION(`Gdk::Rectangle&',`GdkRectangle*',($3).gobj())
_CONVERSION(`Font&',`GdkFont*',($3).gobj())
-_CONVERSION(`Region&',`GdkRegion*',($3).gobj())
+#_CONVERSION(`Region&',`GdkRegion*',($3).gobj())
+_CONVERSION(`const Region&',`GdkRegion*',const_cast<$2>(($3).gobj()))
+_CONVERSION(`const Gdk::Region&',`GdkRegion*',const_cast<$2>(($3).gobj()))
_CONVERSION(`const Glib::RefPtr<Gdk::Colormap>&',`GdkColormap*',__CONVERT_REFPTR_TO_P)
_CONVERSION(`const Glib::RefPtr<Gdk::Pixmap>&',`GdkPixmap*',__CONVERT_REFPTR_TO_P)
@@ -87,6 +91,7 @@ _CONVERSION(`const Glib::RefPtr<GC>&',`GdkGC*',`Glib::unwrap<Gdk::GC>($3)')
_CONVERSION(`const Glib::RefPtr<const GC>&',`GdkGC*',__CONVERT_CONST_REFPTR_TO_P_SUN(GC))
_CONVERSION(`const Glib::RefPtr<Gdk::GC>&',`GdkGC*',__CONVERT_REFPTR_TO_P)
_CONVERSION(`const Glib::RefPtr<Drawable>&',`GdkDrawable*',__CONVERT_REFPTR_TO_P)
+_CONVERSION(`const Glib::RefPtr<Gdk::Drawable>&',`GdkDrawable*',__CONVERT_REFPTR_TO_P)
_CONVERSION(`const Glib::RefPtr<const Drawable>&',`GdkDrawable*',__CONVERT_CONST_REFPTR_TO_P_SUN(Drawable))
_CONVERSION(`const Glib::RefPtr<Image>&',`GdkImage*',__CONVERT_REFPTR_TO_P)
_CONVERSION(`const Glib::RefPtr<const Image>&',`GdkImage*',__CONVERT_CONST_REFPTR_TO_P_SUN(Image))
@@ -102,8 +107,8 @@ _CONVERSION(`const Glib::RefPtr<Display>&',`GdkDisplay*',__CONVERT_REFPTR_TO_P)
_CONVERSION(`const Glib::RefPtr<Screen>&',`GdkScreen*',__CONVERT_REFPTR_TO_P)
_CONVERSION(`const Glib::RefPtr<Gdk::Display>&',`GdkDisplay*',__CONVERT_REFPTR_TO_P)
_CONVERSION(`const Glib::RefPtr<Gdk::Screen>&',`GdkScreen*',__CONVERT_REFPTR_TO_P)
-
-
+_CONVERSION(`const Glib::RefPtr<Gdk::Device>&',`GdkDevice*',__CONVERT_REFPTR_TO_P)
+_CONVERSION(`const Glib::RefPtr<const Gdk::Screen>&',`GdkScreen*',__CONVERT_CONST_REFPTR_TO_P_SUN(Gdk::Screen))
define(`__CFR2P',`const_cast<$`'2>($`'3.gobj())')
_CONVERSION(const Font&,GdkFont*,__CFR2P)
@@ -121,10 +126,6 @@ _CONVERSION(`GdkRectangle*',`Gdk::Rectangle*',`&Glib::wrap($3)')
_CONVERSION(`GdkRectangle*',`const Gdk::Rectangle*',`&Glib::wrap($3)')
_CONVERSION(`GdkRectangle*',`const Gdk::Rectangle&',`Glib::wrap($3)')
-
-dnl TODO: Should this always be a copy?
-_CONVERSION(const Cursor&,GdkCursor*,($3).gobj_copy())
-
# Special treatment for the Sun Forte compiler
#_CONVERSION(const Glib::RefPtr<const Gdk::Pixmap>&,GdkPixmap*,__CONVERT_CONST_REFPTR_TO_P)
#_CONVERSION(const Glib::RefPtr<const Gdk::Window>&,GdkWindow*,__CONVERT_CONST_REFPTR_TO_P)
@@ -153,7 +154,6 @@ _CONVERSION(`GdkWindow*',`Glib::RefPtr<Window>', `Glib::wrap((GdkWindowObject*)(
_CONVERSION(`GdkWindow*',`Glib::RefPtr<const Window>', `Glib::wrap((GdkWindowObject*)($3))')
_CONVERSION(`GdkWindow*',`Glib::RefPtr<Gdk::Window>', `Glib::wrap((GdkWindowObject*)($3))')
_CONVERSION(`GdkWindow*',`Glib::RefPtr<const Gdk::Window>', `Glib::wrap((GdkWindowObject*)($3))')
-_CONVERSION(`GdkWindow*',`const Glib::RefPtr<Gdk::Window>&', `Glib::wrap((GdkWindowObject*)($3), true)')
_CONVERSION(`GdkPixmap*',`Glib::RefPtr<Pixmap>', `Glib::wrap((GdkPixmapObject*)($3))')
_CONVERSION(`GdkPixmap*',`Glib::RefPtr<const Pixmap>', `Glib::wrap((GdkPixmapObject*)($3))')
_CONVERSION(`GdkPixmap*',`Glib::RefPtr<const Gdk::Pixmap>', `Glib::wrap((GdkPixmapObject*)($3))')
@@ -167,9 +167,11 @@ _CONVERSION(`GdkVisual*',`Glib::RefPtr<const Visual>', `Glib::wrap($3)')
_CONVERSION(`GdkImage*',`Glib::RefPtr<Image>', `Glib::wrap($3)')
_CONVERSION(`GdkPixbuf*',`Glib::RefPtr<Pixbuf>', `Glib::wrap($3)')
_CONVERSION(`GdkPixbuf*',`Glib::RefPtr<Gdk::Pixbuf>', `Glib::wrap($3)')
+_CONVERSION(`GdkPixbuf*',`Glib::RefPtr<const Gdk::Pixbuf>', `Glib::wrap($3)')
_CONVERSION(`GdkPixbufAnimationIter*',`Glib::RefPtr<PixbufAnimationIter>', `Glib::wrap($3)')
_CONVERSION(`GdkPixbuf*',`Glib::RefPtr<Gdk::Pixbuf>', Glib::wrap($3))
_CONVERSION(`GdkPixbufAnimation*',`Glib::RefPtr<Gdk::PixbufAnimation>', `Glib::wrap($3)')
+_CONVERSION(`GdkPixbufAnimation*',`Glib::RefPtr<const Gdk::PixbufAnimation>', `Glib::wrap($3)')
_CONVERSION(`GdkGC*',`Glib::RefPtr<Gdk::GC>', `Glib::wrap($3)')
_CONVERSION(`GdkGC*',`Glib::RefPtr<const Gdk::GC>', `Glib::wrap($3)')
@@ -187,23 +189,29 @@ _CONVERSION(`GdkScreen*',`Glib::RefPtr<Gdk::Screen>', `Glib::wrap($3)')
_CONVERSION(`GdkScreen*',`Glib::RefPtr<const Gdk::Screen>', `Glib::wrap($3)')
_CONVERSION(`GdkDevice*',`Glib::RefPtr<Device>', `Glib::wrap($3)')
+_CONVERSION(`GdkDevice*',`Glib::RefPtr<Gdk::Device>', `Glib::wrap($3)')
_CONVERSION(`GdkDevice*',`Glib::RefPtr<const Device>', `Glib::wrap($3)')
+_CONVERSION(`GdkDevice*',`Glib::RefPtr<const Gdk::Device>', `Glib::wrap($3)')
-
-
-
-
+_CONVERSION(`gpointer',`const void*', `($2)($3)')
# Glib::ListHandle<> (gdkmm) -> GList (gdk)
_CONVERSION(`const Glib::ListHandle< Glib::RefPtr<Gdk::Pixbuf> >&',`GList*',`$3.data()')
+_CONVERSION(`const Glib::ListHandle< Glib::RefPtr<const Gdk::Pixbuf> >&',`GList*',`$3.data()')
# GList (gdk) -> Glib::ListHandle<> (gdkmm)
_CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<Gdk::Pixbuf> >',`$2($3, Glib::OWNERSHIP_SHALLOW)')
-_CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<Device> >',`$2($3, Glib::OWNERSHIP_DEEP)')
+_CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<const Gdk::Pixbuf> >',`$2($3, Glib::OWNERSHIP_SHALLOW)')
+_CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<Device> >',`$2($3, Glib::OWNERSHIP_NONE)')
+_CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<const Device> >',`$2($3, Glib::OWNERSHIP_NONE)')
_CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<Visual> >',`$2($3, Glib::OWNERSHIP_SHALLOW)')
+_CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<const Visual> >',`$2($3, Glib::OWNERSHIP_SHALLOW)')
_CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<Window> >',`$2($3, Glib::OWNERSHIP_SHALLOW)')
+_CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<const Window> >',`$2($3, Glib::OWNERSHIP_SHALLOW)')
_CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<Display> >',`$2($3, Glib::OWNERSHIP_SHALLOW)')
+_CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<const Display> >',`$2($3, Glib::OWNERSHIP_SHALLOW)')
+_CONVERSION(`gchar**',`Glib::StringArrayHandle',`$2($3)')
@@ -215,17 +223,24 @@ _CONVERSION(`const char*const*',`const char**',`const_cast<const char**>($3)',`$
_CONVERSION(GdkFont*, Gdk::Font, `Gdk::Font($3)')
_CONVERSION(GdkEvent*, Event, `Event($3)')
_CONVERSION(GdkRegion*, Region, `Region($3)')
+_CONVERSION(GdkRegion*, Gdk::Region, `Gdk::Region($3)')
_CONVERSION(`GdkTimeCoord**&',`GdkTimeCoord***',`&($3)')
dnl _CONVERSION(GdkPixmap*,Gdk::Pixmap&,`Glib::unwrap_boxed($3)',`$3')
dnl _CONVERSION(GdkBitmap*,Gdk::Bitmap&,`Glib::unwrap_boxed($3)',`$3')
+dnl Atom -> string and vice versa
+_CONVERSION(`GdkAtom',`Glib::ustring',`Gdk::AtomString::to_cpp_type($3)')
+_CONVERSION(`const Glib::ustring&', `GdkAtom', `Gdk::AtomString::to_c_type($3)')
+_CONVERSION(`Glib::ustring&',`GdkAtom',`Gdk::AtomString::to_c_type($3)')
+dnl NativeWindow
+_CONVERSION(`GdkNativeWindow',`Gdk::NativeWindow',`($2)($3)')
+_CONVERSION(`GdkNativeWindow',`NativeWindow',`($2)($3)')
+_CONVERSION(`Gdk::NativeWindow',`GdkNativeWindow',`($2)($3)')
+_CONVERSION(`NativeWindow',`GdkNativeWindow',`($2)($3)')
+_CONVERSION(`GdkEvent*',`const GdkEvent*',`($2)($3)')
-# Used by signals:
-_CONVERSION(`GdkDragContext*',`const Glib::RefPtr<Gdk::DragContext>&',Glib::wrap($3, true))
-_CONVERSION(`GdkPixbuf*',`const Glib::RefPtr<Gdk::Pixbuf>&', Glib::wrap($3, true))
-_CONVERSION(`GdkDragContext*',`Glib::RefPtr<Gdk::DragContext>',Glib::wrap($3, true))
-_CONVERSION(`GdkDisplay*',`const Glib::RefPtr<Display>&', Glib::wrap($3, true))
+_CONVERSION(`GdkDragContext*',`Glib::RefPtr<Gdk::DragContext>',Glib::wrap($3, true))
diff --git a/libs/glibmm2/tools/m4/convert_gtk.m4 b/libs/gtkmm2/tools/m4/convert_gtk.m4
index d44e64f701..0ff7a36b84 100644
--- a/libs/glibmm2/tools/m4/convert_gtk.m4
+++ b/libs/gtkmm2/tools/m4/convert_gtk.m4
@@ -1,4 +1,4 @@
-dnl $Id: convert_gtk.m4,v 1.2 2003/05/02 16:07:24 murrayc Exp $
+dnl $Id: convert_gtk.m4 927 2007-11-04 12:04:14Z murrayc $
include(convert_glib.m4)
@@ -23,6 +23,7 @@ _EQUAL(const-char*,const-gchar*)
_EQUAL(return-char*,return-gchar*)
_EQUAL(gpointer,void*)
_EQUAL(gconstpointer,const void*)
+
#
# Basic Types
_CONVERSION(`int',`bool',`$3')
@@ -39,11 +40,14 @@ _CONVERSION(`char**',`gchar**',`$3')
_CONVERSION(`gpointer&',`gpointer*',`&($3)')
_CONVERSION(`void*&',`gpointer*',`&($3)')
-_CONVERSION(`GError*&',`GError**',`&($3)')
+_CONVERSION(`time_t&',`time_t*',`&($3)')
+_CONVERSION(`GError*&',`GError**',`&($3)')
+_CONVERSION(`ui_merge_id',`guint',`$3')
+_CONVERSION(`guint',`ui_merge_id',`$3')
-# Enums:
+# Enums: TODO: It would be nice if gmmproc knew about these automatically.
_CONV_ENUM(Gtk,AccelFlags)
_CONV_ENUM(Gtk,ArrowType)
_CONV_ENUM(Gtk,AttachOptions)
@@ -82,6 +86,7 @@ _CONV_ENUM(Gtk,SortType)
_CONV_ENUM(Gtk,SpinButtonUpdatePolicy)
_CONV_ENUM(Gtk,SpinType)
_CONV_ENUM(Gtk,StateType)
+_CONV_ENUM(Gtk,TargetFlags)
_CONV_ENUM(Gtk,TextDirection)
_CONV_ENUM(Gtk,TextSearchFlags)
_CONV_ENUM(Gtk,TextWindowType)
@@ -90,12 +95,36 @@ _CONV_ENUM(Gtk,ToolbarStyle)
_CONV_ENUM(Gtk,TreeModelFlags)
_CONV_ENUM(Gtk,TreeViewColumnSizing)
_CONV_ENUM(Gtk,TreeViewDropPosition)
+_CONV_ENUM(Gtk,TreeViewGridLines)
_CONV_ENUM(Gtk,UpdateType)
_CONV_ENUM(Gtk,Visibility)
_CONV_ENUM(Gtk,WidgetHelpType)
_CONV_ENUM(Gtk,WindowPosition)
_CONV_ENUM(Gtk,WindowType)
_CONV_ENUM(Gtk,WrapMode)
+_CONV_ENUM(Gtk,UIManagerItemType)
+_CONV_ENUM(Gtk,FileChooserAction)
+_CONV_ENUM(Gtk,FileFilterFlags)
+_CONV_ENUM(Gtk,IconLookupFlags)
+_CONV_ENUM(Gtk,IconThemeError)
+_CONV_ENUM(Gtk,FileChooserConfirmation)
+_CONV_ENUM(Gtk,SensitivityType)
+_CONV_ENUM(Gtk,AssistantPageType)
+_CONV_ENUM(Gtk,IconViewDropPosition)
+_CONV_ENUM(Gtk,RecentFilterFlags)
+_CONV_ENUM(Gtk,RecentManagerError)
+_CONV_ENUM(Gtk,RecentSortType)
+_CONV_ENUM(Gtk,Unit)
+_CONV_ENUM(Gtk,PageOrientation)
+_CONV_ENUM(Gtk,PrintDuplex)
+_CONV_ENUM(Gtk,PrintQuality)
+_CONV_ENUM(Gtk,PrintPages)
+_CONV_ENUM(Gtk,PageSet)
+_CONV_ENUM(Gtk,PrintStatus)
+_CONV_ENUM(Gtk,PrintOperationResult)
+_CONV_ENUM(Gtk,PrintOperationAction)
+_CONV_ENUM(Gtk,PrintError)
+_CONV_ENUM(Gtk,PrintCapabilities)
_CONVERSION(`GtkIconSize',`IconSize',`IconSize(static_cast<int>($3))')
_CONVERSION(`GtkIconSize',`Gtk::IconSize',`Gtk::IconSize(static_cast<int>($3))')
@@ -115,8 +144,11 @@ _CONVERSION(`guint8',`Gtk::StateType',`static_cast<StateType>($3)')
# StockID:
+_CONVERSION(`const StockID&',`const char*',`($3).get_c_str()')
_CONVERSION(`const Gtk::StockID&',`const char*',`($3).get_c_str()')
_CONVERSION(`char*',`StockID',`StockID($3)') # the StockID ctor handles 0
+_CONVERSION(`const char*',`StockID',`StockID($3)') # the StockID ctor handles 0
+
#
# Ptr (gtk+) -> Ptr (gtkmm)
@@ -131,6 +163,7 @@ _CONVERSION(`GtkWidget*',`Gtk::Widget*',__RP2P)
_CONVERSION(`GtkWidget*',`Widget*',__RP2P)
_CONVERSION(`GtkWindow*',`Window*',__RP2P)
_CONVERSION(`GtkMenu*',`Menu*',__RP2P)
+_CONVERSION(`GtkToolItem*',`ToolItem*',__RP2P)
# Ptr (gtk+) -> const Ptr (gtkmm)
_CONVERSION(`GtkAdjustment*',`const Gtk::Adjustment*',__RP2P)
@@ -138,6 +171,7 @@ _CONVERSION(`GtkAdjustment*',`const Adjustment*',__RP2P)
_CONVERSION(`GtkWidget*',`const Gtk::Widget*',__RP2P)
_CONVERSION(`GtkWidget*',`const Widget*',__RP2P)
_CONVERSION(`GtkWindow*',`const Window*',__RP2P)
+_CONVERSION(`GtkToolItem*',`const ToolItem*',__RP2P)
# Style:
_CONVERSION(`GtkStyle*',`Glib::RefPtr<Style>',`Glib::wrap($3)')
@@ -148,7 +182,6 @@ _CONVERSION(`GtkRcStyle*',`Glib::RefPtr<RcStyle>',`Glib::wrap($3)')
_CONVERSION(`GtkRcStyle*',`Glib::RefPtr<const RcStyle>',`Glib::wrap($3)')
_CONVERSION(`const Glib::RefPtr<RcStyle>&',`GtkRcStyle*',__CONVERT_REFPTR_TO_P)
_CONVERSION(`Glib::RefPtr<RcStyle>',`GtkRcStyle*',__CONVERT_REFPTR_TO_P)
-_CONVERSION(`GtkRcStyle*',`const Glib::RefPtr<RcStyle>&',`Glib::wrap($3)')
# AccelGroup:
_CONVERSION(`GtkAccelGroup*',`Glib::RefPtr<AccelGroup>',`Glib::wrap($3)')
@@ -172,6 +205,8 @@ _CONVERSION(`GtkWidget*',`HBox*',`Glib::wrap((GtkHBox*)($3))')
_CONVERSION(`GtkWidget*',`VBox*',`Glib::wrap((GtkVBox*)($3))')
_CONVERSION(`GtkWidget*',`ColorSelection*',`Glib::wrap((GtkColorSelection*)($3))')
_CONVERSION(`GtkWidget*',`Gtk::CheckButton*',__RP2PD)
+_CONVERSION(`GtkWidget*',`Container*',`Glib::wrap((GtkContainer*)($3))')
+_CONVERSION(`GtkWidget*',`const Container*',`Glib::wrap((GtkContainer*)($3))')
_CONVERSION(`GtkWidget*',`Entry*',`Glib::wrap((GtkEntry*)($3))')
_CONVERSION(`GtkWidget*',`FontSelection*',`Glib::wrap((GtkFontSelection*)($3))')
_CONVERSION(`GtkWidget*',`Label*',`Glib::wrap((GtkLabel*)($3))')
@@ -189,6 +224,9 @@ _CONVERSION(`GtkWidget*',`Window*',`Glib::wrap((GtkWindow*)($3))')
_CONVERSION(`GtkWidget*',`TreeView*',`Glib::wrap((GtkTreeView*)($3))')
_CONVERSION(`GtkWidget*',`HButtonBox*',`Glib::wrap((GtkHButtonBox*)($3))')
_CONVERSION(`GtkWidget*',`ComboDropDown*',`Glib::wrap((GtkList*)($3))')
+_CONVERSION(`GtkWidget*',`Image*',`Glib::wrap((GtkImage*)($3))')
+_CONVERSION(`GtkWidget*',`ToolItem*',`Glib::wrap((GtkToolItem*)($3))')
+_CONVERSION(`GtkWidget*',`FileChooserDialog*',`Glib::wrap((GtkFileChooserDialog*)($3))')
# Ptr (gtk+) -> const Ptr (gtkmm) (downcast)
_CONVERSION(`GtkWidget*',`const Button*',`Glib::wrap((GtkButton*)($3))')
@@ -214,6 +252,7 @@ _CONVERSION(`GtkWidget*',`const Window*',`Glib::wrap((GtkWindow*)($3))')
_CONVERSION(`GtkWidget*',`const TreeView*',`Glib::wrap((GtkTreeView*)($3))')
_CONVERSION(`GtkWidget*',`const HButtonBox*',`Glib::wrap((GtkHButtonBox*)($3))')
_CONVERSION(`GtkWidget*',`const ComboDropDown*',`Glib::wrap((GtkList*)($3))')
+_CONVERSION(`GtkWidget*',`const FileChooserDialog*',`Glib::wrap((GtkFileChooserDialog*)($3))')
# Ptr (gtk+) -> Ref (Gtkmm)
_CONVERSION(`GtkWidget*', `Widget&', `*Glib::wrap($3)')
@@ -224,6 +263,7 @@ _CONVERSION(`MenuShell&',`GtkWidget*',__FR2PD)
_CONVERSION(`MenuItem&',`GtkWidget*',__FR2PD)
_CONVERSION(`Menu&',`GtkWidget*',__FR2PD)
_CONVERSION(`Gtk::TreeItem&',`GtkWidget*',__FR2PD)
+_CONVERSION(`FileChooserDialog&',`GtkWidget*',__FR2PD)
# Ref (Gtkmm) -> Ptr (gtk+)
define(`__FR2P',`($`'3).gobj()')
@@ -235,17 +275,28 @@ _CONVERSION(`Gtk::Widget&',`GtkWidget*',__FR2P)
_CONVERSION(`Widget&',`GtkWidget*',__FR2P)
_CONVERSION(`Window&',`GtkWindow*',__FR2P)
_CONVERSION(`CellRenderer&',`GtkCellRenderer*',__FR2P)
+_CONVERSION(`const CellRenderer&',`GtkCellRenderer*',__FCR2P)
+_CONVERSION(`ToolItem&',`GtkToolItem*',__FR2P)
+_CONVERSION(`const ToolItem&',`GtkToolItem*',__FCR2P)
# Glib::ListHandle<> (gtkmm) -> GList (gtk+)
_CONVERSION(`const Glib::ListHandle<Glib::ustring>&',`GList*',`$3.data()')
_CONVERSION(`const Glib::ListHandle<Widget*>&',`GList*',`$3.data()')
_CONVERSION(`const Glib::ListHandle<const Widget*>&',`GList*',`$3.data()')
_CONVERSION(`const Glib::ListHandle<Window*>&',`GList*',`$3.data()')
+_CONVERSION(`const Glib::ListHandle<const Window*>&',`GList*',`$3.data()')
+_CONVERSION(`const Glib::SListHandle< Glib::RefPtr<RadioAction> >&',`GSList*',`$3.data()')
+_CONVERSION(`const Glib::SListHandle< Glib::RefPtr<const RadioAction> >&',`GSList*',`$3.data()')
# GList (gtk+) -> Glib::ListHandle<> (gtkmm)
+define(`__FL2H_DEEP',`$`'2($`'3, Glib::OWNERSHIP_DEEP)')
define(`__FL2H_SHALLOW',`$`'2($`'3, Glib::OWNERSHIP_SHALLOW)')
+define(`__FL2H_NONE',`$`'2($`'3, Glib::OWNERSHIP_NONE)')
+
_CONVERSION(`GList*',`Glib::ListHandle<Widget*>',__FL2H_SHALLOW)
_CONVERSION(`GList*',`Glib::ListHandle<const Widget*>',__FL2H_SHALLOW)
+_CONVERSION(`GSList*',`Glib::SListHandle<Widget*>',__FL2H_SHALLOW)
+_CONVERSION(`GSList*',`Glib::SListHandle<const Widget*>',__FL2H_SHALLOW)
_CONVERSION(`GList*',`Glib::ListHandle<Window*>',__FL2H_SHALLOW)
_CONVERSION(`GList*',`Glib::ListHandle<TreeViewColumn*>',__FL2H_SHALLOW)
_CONVERSION(`GList*',`Glib::ListHandle<const TreeViewColumn*>',__FL2H_SHALLOW)
@@ -253,18 +304,39 @@ _CONVERSION(`GList*',`Glib::ListHandle<CellRenderer*>',__FL2H_SHALLOW)
_CONVERSION(`GList*',`Glib::ListHandle<const CellRenderer*>',__FL2H_SHALLOW)
_CONVERSION(`GList*',`Glib::ListHandle<TreeModel::Row>',__FL2H_SHALLOW)
_CONVERSION(`GList*',`Glib::ListHandle<const TreeModel::Row>',__FL2H_SHALLOW)
+_CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<Action> >',__FL2H_SHALLOW)
+_CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<const Action> >',__FL2H_SHALLOW)
+_CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<ActionGroup> >',__FL2H_SHALLOW)
+_CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<const ActionGroup> >',__FL2H_SHALLOW)
+_CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<RecentInfo> >',__FL2H_SHALLOW)
+_CONVERSION(`GList*',`Glib::ListHandle<RecentInfo>',__FL2H_SHALLOW)
+_CONVERSION(`GList*',`Glib::ListHandle<const RecentInfo>', __FL2H_SHALLOW)
_CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<Tag> >',__FL2H_SHALLOW)
+_CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<const Tag> >',__FL2H_SHALLOW)
_CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<TextTag> >',__FL2H_SHALLOW)
+_CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<const TextTag> >',__FL2H_SHALLOW)
_CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<TextMark> >',__FL2H_SHALLOW)
+_CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<const TextMark> >',__FL2H_SHALLOW)
_CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<TextBuffer::Mark> >',__FL2H_SHALLOW)
-
+_CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<const TextBuffer::Mark> >',__FL2H_SHALLOW)
+_CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<RadioAction> >',__FL2H_SHALLOW)
+_CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<const RadioAction> >',__FL2H_SHALLOW)
+
+_CONVERSION(`GSList*',`Glib::SListHandle< FileFilter* >',__FL2H_SHALLOW)
+_CONVERSION(`GSList*',`Glib::SListHandle< const FileFilter* >',__FL2H_SHALLOW)
+_CONVERSION(`GSList*',`Glib::SListHandle<Glib::ustring>',__FL2H_DEEP)
+_CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<PixbufFormat> >',__FL2H_SHALLOW)
+_CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<const PixbufFormat> >',__FL2H_SHALLOW)
+_CONVERSION(`GSList*',`SListHandle_PixbufFormat',__FL2H_DEEP)
+_CONVERSION(`GSList*',`Glib::SListHandle<RecentFilter*>',__FL2H_SHALLOW)
+_CONVERSION(`GSList*',`Glib::SListHandle<const RecentFilter*>', __FL2H_SHALLOW)
_CONVERSION(`const Widget&',`GtkWidget*',__FCR2P)
_CONVERSION(`int&',`int*',`&$3',`*$3')
dnl
-dnl # These are for fixmegtkconst
+dnl # TODO: These are for fixmegtkconst
_CONVERSION(`gdouble*',`const gdouble*',`const_cast<const gdouble*>($3)',`$3')
_CONVERSION(`const double*',`gdouble*',`const_cast<gdouble*>($3)',`$3')
_CONVERSION(`const guchar*',`guchar*',`const_cast<guchar*>($3)',`$3')
@@ -286,6 +358,12 @@ _CONVERSION(`IconSource&',`GtkIconSource*',__FR2P)
_CONVERSION(`const IconSource&',`const GtkIconSource*',__FR2P)
_CONVERSION(`const GtkIconSource*',`const IconSource&',`Glib::wrap(const_cast<GtkIconSource*>($3), true)')
+_CONVERSION(`GtkIconTheme*',`Glib::RefPtr<IconTheme>',`Glib::wrap($3)')
+_CONVERSION(`GList*',`Glib::ListHandle<Glib::ustring>',__FL2H_SHALLOW)
+
+_CONVERSION(`GtkWindowGroup*',`Glib::RefPtr<WindowGroup>',`Glib::wrap($3)')
+_CONVERSION(`GtkWindowGroup*',`Glib::RefPtr<const WindowGroup>',`Glib::wrap($3)')
+
# gpointer conversions:
# There's doesn't seem to be a way to tell g_signal_new that it's a pointer to a gint, for instance:
#_CONVERSION(`int*',`gpointer',`($1)$3')
@@ -305,6 +383,7 @@ _CONVERSION(`const Glib::RefPtr<TextBuffer::Mark>&',`GtkTextMark*',__CONVERT_REF
_CONVERSION(`GtkTextTag*',`Glib::RefPtr<TextTag>',`Glib::wrap($3)')
_CONVERSION(`GtkTextTag*',`Glib::RefPtr<const TextTag>',`Glib::wrap($3)')
_CONVERSION(`const Glib::RefPtr<TextTag>&',`GtkTextTag*',__CONVERT_REFPTR_TO_P)
+_CONVERSION(`const Glib::RefPtr<const TextTag>&',`GtkTextTag*',__CONVERT_CONST_REFPTR_TO_P_SUN(TextTag))
_CONVERSION(`const Glib::RefPtr<Tag>&',`GtkTextTag*',__CONVERT_REFPTR_TO_P)
_CONVERSION(`const Glib::RefPtr<TextBuffer::Tag>&',`GtkTextTag*',__CONVERT_REFPTR_TO_P)
_CONVERSION(`GtkTextBuffer*',`Glib::RefPtr<TextBuffer>',`Glib::wrap($3)')
@@ -320,16 +399,21 @@ _CONVERSION(`GtkTextAttributes*',`TextAttributes',TextAttributes($3))
_CONVERSION(`const Glib::RefPtr<TextTagTable>&',`GtkTextTagTable*',__CONVERT_REFPTR_TO_P)
_CONVERSION(`const Glib::RefPtr<TextBuffer>&',`GtkTextBuffer*',__CONVERT_REFPTR_TO_P)
_CONVERSION(`const Glib::RefPtr<TextChildAnchor>&',`GtkTextChildAnchor*',__CONVERT_REFPTR_TO_P)
+_CONVERSION(`const Glib::RefPtr<ChildAnchor>&',`GtkTextChildAnchor*',__CONVERT_REFPTR_TO_P)
+_CONVERSION(`const Glib::RefPtr<TextBuffer::ChildAnchor>&',`GtkTextChildAnchor*',__CONVERT_REFPTR_TO_P)
+_CONVERSION(`GtkTextChildAnchor*',`Glib::RefPtr<ChildAnchor>',`Glib::wrap($3)')
_CONVERSION(`GtkTextChildAnchor*',`Glib::RefPtr<TextChildAnchor>',`Glib::wrap($3)')
+_CONVERSION(`GtkTextChildAnchor*',`Glib::RefPtr<const TextChildAnchor>',`Glib::wrap($3)')
# Tree:
-_CONVERSION(`const TreeIter&',`const GtkTreeIter*',__FR2P)
+#_CONVERSION(`const TreeIter&',`const GtkTreeIter*',__FR2P)
_CONVERSION(`const iterator&',`const GtkTreeIter*',__FR2P)
-_CONVERSION(`const TreeIter&',`GtkTreeIter*',__FCR2P)
+#_CONVERSION(`const TreeIter&',`GtkTreeIter*',__FCR2P)
_CONVERSION(`const iterator&',`GtkTreeIter*',__FCR2P)
_CONVERSION(`const TreeModel::Row&',`GtkTreeIter*',__FCR2P)
_CONVERSION(`iterator&',`GtkTreeIter*',__FR2P)
_CONVERSION(`const TreeModel::iterator&',`GtkTreeIter*',__FCR2P)
+_CONVERSION(`const iterator&',`GtkTreeIter*',__FCR2P)
_CONVERSION(`TreeViewColumn&',`GtkTreeViewColumn*',__FR2P)
_CONVERSION(`GtkTreeViewColumn*',`TreeViewColumn*',`Glib::wrap($3)')
_CONVERSION(`GtkTreeViewColumn*',`const TreeViewColumn*',`Glib::wrap($3)')
@@ -355,7 +439,6 @@ _CONVERSION(`GtkCellEditable*',`CellEditable*',`dynamic_cast<$2>(Glib::wrap_auto
_CONVERSION(`CellEditable*',`GtkCellEditable*',`Glib::unwrap($3)')
-
#_CONVERSION(`Clipboard&',`GtkClipboard*',`($3).gobj()')
_CONVERSION(`GtkClipboard*',`Glib::RefPtr<Clipboard>',`Glib::wrap($3)')
_CONVERSION(`GtkClipboard*',`Glib::RefPtr<const Clipboard>',`Glib::wrap($3)')
@@ -367,15 +450,152 @@ _CONVERSION(`const SelectionData&',`GtkSelectionData*', __FCR2P)
_CONVERSION(`SelectionData&',`GtkSelectionData*', __FR2P)
#_CONVERSION(`GtkSelectionData*',`SelectionData', `Gtk::SelectionData(($3), true)')
+_CONVERSION(`GtkAction*',`Glib::RefPtr<Action>',`Glib::wrap($3)')
+_CONVERSION(`GtkAction*',`Glib::RefPtr<const Action>',`Glib::wrap($3)')
+_CONVERSION(`const Glib::RefPtr<Action>&',`GtkAction*',__CONVERT_REFPTR_TO_P($3))
+_CONVERSION(`const Glib::RefPtr<RadioAction>&',`GtkRadioAction*',__CONVERT_REFPTR_TO_P($3))
+
+_CONVERSION(`GtkActionGroup*',`Glib::RefPtr<ActionGroup>',`Glib::wrap($3)')
+#_CONVERSION(`GtkActionGroup*',`Glib::RefPtr<const ActionGroup>',`Glib::wrap($3)')
+_CONVERSION(`const Glib::RefPtr<ActionGroup>&',`GtkActionGroup*',__CONVERT_REFPTR_TO_P($3))
+
+_CONVERSION(`GtkEntryCompletion*',`Glib::RefPtr<EntryCompletion>',`Glib::wrap($3)')
+_CONVERSION(`GtkEntryCompletion*',`Glib::RefPtr<const EntryCompletion>',`Glib::wrap($3)')
+_CONVERSION(`const Glib::RefPtr<EntryCompletion>&',`GtkEntryCompletion*',__CONVERT_REFPTR_TO_P($3))
+
+_CONVERSION(`GtkFileFilter*',`FileFilter*',`Glib::wrap($3)')
+_CONVERSION(`GtkFileFilter*',`const FileFilter*',`Glib::wrap($3)')
+_CONVERSION(`const FileFilter&',`GtkFileFilter*',__FCR2P)
+
+_CONVERSION(`GdkPixbufFormat*',`PixbufFormat',`PixbufFormat($3)')
+
+_CONVERSION(const Gtk::Widget&,GtkWidget*,__CFR2P)
+
+#_CONVERSION(`GtkTooltips*',`Tooltips&', `Glib::wrap($3)')
+_CONVERSION(`GtkTooltips*',`Tooltips*', `Glib::wrap($3)')
+_CONVERSION(`Tooltips*',`GtkTooltips*',`Glib::unwrap($3)')
+_CONVERSION(`Tooltips&',`GtkTooltips*',__FR2P)
+
+_CONVERSION(`const Glib::RefPtr<Tooltip>&',`GtkTooltip*',__CONVERT_REFPTR_TO_P)
+
+_CONVERSION(`Allocation&',`GtkAllocation*',`($2)($3.gobj())')
+#_CONVERSION(`GtkAllocation*',`Allocation&',`($2)(Glib::wrap($3))')
+
+#TargetList
+_CONVERSION(`const Glib::RefPtr<TargetList>&',`GtkTargetList*',__CONVERT_CONST_REFPTR_TO_P)
+_CONVERSION(`Glib::RefPtr<TargetList>&',`GtkTargetList*',__CONVERT_REFPTR_TO_P($3))
+_CONVERSION(`GtkTargetList*',`Glib::RefPtr<TargetList>',`Glib::wrap($3)')
+_CONVERSION(`GtkTargetList*',`Glib::RefPtr<const TargetList>',`Glib::wrap($3)')
+
+#IconInfo
+_CONVERSION(`GtkIconInfo*',`IconInfo',`Glib::wrap($3)')
+
+_CONVERSION(`Requisition&', `GtkRequisition*', `($2)(&$3)')
+_CONVERSION(`const Requisition&', `GtkRequisition*', `($2)(&$3)')
+_CONVERSION(`GtkRequisition*', `Requisition&', `($2)(*$3)')
+_CONVERSION(`GtkRequisition*', `Requisition*', `($2)($3)')
+_CONVERSION(`Requisition*', `GtkRequisition*', `($2)($3)')
+_CONVERSION(`GtkRequisition', `Requisition', `($2)($3)')
+
+_CONVERSION(`Allocation&',`GtkAllocation*',`($2)($3.gobj())')
+_CONVERSION(`const Allocation&',`GtkAllocation*',`($2)($3.gobj())')
+_CONVERSION(`GtkAllocation',`Allocation',`($2)(Glib::wrap(&$3))')
+_CONVERSION(`GtkAllocation*',`Allocation&',`($2)(Glib::wrap($3))')
+_CONVERSION(`Allocation',`GtkAllocation',`($2)(*($3.gobj()))')
+
+_CONVERSION(`GtkEntry*',`Entry*',__RP2P)
+_CONVERSION(`GtkEntry*',`const Entry*',__RP2P)
+_CONVERSION(`Entry&',`GtkEntry*',__FR2P)
+
+
+_CONVERSION(`const Border&',`const GtkBorder*',`&($3)')
+_CONVERSION(`const GtkBorder*',`Border',`*($3)')
+
+#RecentFilter
+_CONVERSION(`GtkRecentFilterFlags',`RecentFilterFlags',`($2)$3')
+_CONVERSION(`const RecentFilter&', `GtkRecentFilter*', __FCR2P)
+_CONVERSION(`GtkRecentFilter*',`RecentFilter*', `Glib::wrap($3)')
+_CONVERSION(`GtkRecentFilter*',`const RecentFilter*', `Glib::wrap($3)')
+_CONVERSION(`GtkRecentFilter*', `RecentFilter&', `*Glib::wrap($3)')
+_CONVERSION(`GtkRecentFilter*', `const RecentFilter&', `*Glib::wrap($3)')
+
+#RecentInfo
+_CONVERSION(`GtkRecentInfo*',`Glib::RefPtr<RecentInfo>',`Glib::wrap($3)')
+_CONVERSION(`GtkRecentInfo*',`Glib::RefPtr<const RecentInfo>',`Glib::wrap($3)')
+_CONVERSION(`const Glib::RefPtr<RecentInfo>&',`GtkRecentInfo*',__CONVERT_REFPTR_TO_P)
+_CONVERSION(`const Glib::RefPtr<const RecentInfo>&',`GtkRecentInfo*',__CONVERT_CONST_REFPTR_TO_P_SUN(Gtk::RecentInfo))
+
+_CONVERSION(`Glib::StringArrayHandle&',`gchar**',`const_cast<gchar**>(($3).data())')
+_CONVERSION(`gchar**',`Glib::StringArrayHandle',`Glib::StringArrayHandle($3)')
+
+#RecentManager
+_CONVERSION(`GtkRecentManager*',`Glib::RefPtr<RecentManager>',`Glib::wrap($3)')
+_CONVERSION(`GtkRecentManager*',`Glib::RefPtr<const RecentManager>',`Glib::wrap($3)')
+_CONVERSION(`const Glib::RefPtr<RecentManager>&',`GtkRecentManager*',__CONVERT_REFPTR_TO_P)
+_CONVERSION(`Glib::RefPtr<RecentManager>',`GtkRecentManager*',__CONVERT_REFPTR_TO_P)
+_CONVERSION(`Glib::RefPtr<const RecentManager>', `GtkRecentManager*', __CONVERT_CONST_REFPTR_TO_P_SUN(Gtk::RecentManager))
+
+#PaperSize
+_CONVERSION(`GtkPaperSize*',`PaperSize',`Glib::wrap($3, true)')
+_CONVERSION(`GtkPaperSize*',`const PaperSize',`Glib::wrap($3, true)')
+_CONVERSION(`const PaperSize&',`GtkPaperSize*',__FCR2P)
+
+#PageSetup
+_CONVERSION(`GtkPageOrientation',`PageOrientation',`($2)$3')
+
+_CONVERSION(`PageSetup&',`GtkPageSetup*',__FR2P)
+_CONVERSION(`const PageSetup&',`GtkPageSetup*',__FCR2P)
+_CONVERSION(`GtkPageSetup*',`Glib::RefPtr<PageSetup>',`Glib::wrap($3)')
+_CONVERSION(`GtkPageSetup*',`const Glib::RefPtr<PageSetup>',`Glib::wrap($3)')
+_CONVERSION(`const Glib::RefPtr<PageSetup>',`GtkPageSetup*',__CONVERT_REFPTR_TO_P($3))
+_CONVERSION(`const Glib::RefPtr<PageSetup>&',`GtkPageSetup*',__CONVERT_REFPTR_TO_P($3))
+
+#PrintSettings
+_CONVERSION(`GtkPrintDuplex',`PrintDuplex',`($2)$3')
+_CONVERSION(`GtkPrintQuality',`PrintQuality',`($2)$3')
+_CONVERSION(`GtkPrintPages',`PrintPages',`($2)$3')
+_CONVERSION(`GtkPageSet',`PageSet',`($2)$3')
+
+_CONVERSION(`PrintSettings&',`GtkPrintSettings*',__FR2P)
+_CONVERSION(`const PrintSettings&',`GtkPrintSettings*',__FCR2P)
+_CONVERSION(`GtkPrintSettings*',`Glib::RefPtr<PrintSettings>',`Glib::wrap($3)')
+_CONVERSION(`const Glib::RefPtr<PrintSettings>&',`GtkPrintSettings*',__CONVERT_REFPTR_TO_P)
+
+#PrintContext
+_CONVERSION(`const Glib::RefPtr<PrintContext>',`GtkPrintContext*',__CONVERT_REFPTR_TO_P($3))
+_CONVERSION(`const Glib::RefPtr<PrintContext>&',`GtkPrintContext*',__CONVERT_REFPTR_TO_P($3))
+
+_CONVERSION(`GtkPrintOperationResult',`PrintOperationResult',`($2)$3')
+_CONVERSION(`GtkPrintStatus',`PrintStatus',`($2)$3')
+
+_CONVERSION(`const Cairo::RefPtr<Cairo::Context>&',`cairo_t*',`($3)->cobj()')
+_CONVERSION(`const Cairo::FontOptions&',`const cairo_font_options_t*',`($3).cobj()')
+
+
+#Printer
+_CONVERSION(`GtkPrinter*',`Glib::RefPtr<Printer>',`Glib::wrap($3)')
+_CONVERSION(`GtkPrinter*',`Glib::RefPtr<const Printer>',`Glib::wrap($3)')
+#_CONVERSION(`Glib::RefPtr<Printer>&',`GtkPrinter*',__CONVERT_REFPTR_TO_P($3))
+_CONVERSION(`const Glib::RefPtr<Printer>&',`GtkPrinter*',__CONVERT_REFPTR_TO_P($3))
+
+#PrintJob
+_CONVERSION(`GtkPrintCapabilities',`PrintCapabilities',`($2)$3')
+
+#Tooltip
+_CONVERSION(`GtkTooltip*',`const Glib::RefPtr<Tooltip>&',`Glib::wrap($3, true)')
+_CONVERSION(`const Glib::RefPtr<Tooltip>&',`GtkTooltip*',__CONVERT_REFPTR_TO_P($3))
+
# Used by Signals:
+# The true here means "take reference", because the code that emits the signal does not do a ref for the receiving signal handler.
+# For the return values of methods, we use the optional refreturn parameter instead.
_CONVERSION(`GtkTextIter*',`const TextIter&',Glib::wrap($3))
_CONVERSION(`GtkTextIter*',`const TextBuffer::iterator&',Glib::wrap($3))
_CONVERSION(`const GtkTextIter*',`const TextIter&',Glib::wrap($3))
_CONVERSION(`const GtkTextIter*',`const TextBuffer::iterator&',Glib::wrap($3))
_CONVERSION(`const TextIter&',`GtkTextIter*',__FCR2P)
_CONVERSION(`const TextBuffer::iterator&',`GtkTextIter*',__FCR2P)
-_CONVERSION(`GtkTextChildAnchor*',`const Glib::RefPtr<TextChildAnchor>&',`Glib::wrap($3, true)')
+_CONVERSION(`GtkTextChildAnchor*',`const Glib::RefPtr<ChildAnchor>&',`Glib::wrap($3, true)')
_CONVERSION(`GtkTextMark*',`const Glib::RefPtr<Mark>&',`Glib::wrap($3, true)')
_CONVERSION(`GtkTextMark*',`const Glib::RefPtr<TextBuffer::Mark>&',`Glib::wrap($3, true)')
_CONVERSION(`GtkTextTag*',`const Glib::RefPtr<TextTag>&',`Glib::wrap($3, true)')
@@ -384,11 +604,19 @@ _CONVERSION(`GObject*',`const Glib::RefPtr<Glib::Object>&',`Glib::wrap($3, true)
_CONVERSION(`GtkTreePath*',`const TreeModel::Path&',`Gtk::TreePath($3, true)')
_CONVERSION(`GtkTreePath*',`const Path&',`Gtk::TreePath($3, true)')
_CONVERSION(`TreeViewColumn*',`GtkTreeViewColumn*',__FP2P)
-_CONVERSION(`GtkStyle*',`const Glib::RefPtr<Style>&',`Glib::wrap($3, true)')
-
+_CONVERSION(`GtkSelectionData*',`const SelectionData&', `SelectionData_WithoutOwnership($3)')
+_CONVERSION(`GtkSelectionData*',`SelectionData&', `SelectionData_WithoutOwnership($3)')
+_CONVERSION(`GtkTreeModel*',`const Glib::RefPtr<const TreeModel>&',`Glib::wrap($3, true)')
+_CONVERSION(`const Glib::RefPtr<const TreeModel>&',`GtkTreeModel*',__CONVERT_CONST_REFPTR_TO_P)
+#_CONVERSION(`GtkTreeIter*',`const TreeModel::iterator&',Glib::wrap($3, true))
+_CONVERSION(`GdkScreen*',`const Glib::RefPtr<Gdk::Screen>&',`Glib::wrap($3, true)')
+_CONVERSION(`CellRenderer*',`GtkCellRenderer*',__FP2P)
+_CONVERSION(`GtkCellRenderer*',`CellRenderer*',__RP2P)
+_CONVERSION(`GtkAction*',`const Glib::RefPtr<Action>&',`Glib::wrap($3, true)')
_CONVERSION(`AlignmentEnum',`float',`_gtkmm_align_float_from_enum($3)')
-
-
+# Used by AboutDialog:
+#_CONVERSION(`const Glib::StringArrayHandle&',`const gchar**',`($3).data())')
+_CONVERSION(`const Glib::StringArrayHandle&',`const gchar**',`const_cast<const gchar**>(($3).data())')
diff --git a/libs/glibmm2/tools/m4/convert_gtkmm.m4 b/libs/gtkmm2/tools/m4/convert_gtkmm.m4
index f59910a075..b84e2f600b 100644
--- a/libs/glibmm2/tools/m4/convert_gtkmm.m4
+++ b/libs/gtkmm2/tools/m4/convert_gtkmm.m4
@@ -1,4 +1,4 @@
-dnl $Id: convert_gtkmm.m4,v 1.1.1.1 2003/01/07 16:59:08 murrayc Exp $
+dnl $Id: convert_gtkmm.m4 2 2003-01-21 13:41:59Z murrayc $
include(convert_base.m4)
include(convert_gtk.m4)
diff --git a/libs/glibmm2/tools/m4/convert_pango.m4 b/libs/gtkmm2/tools/m4/convert_pango.m4
index 645db7a2f7..60e3280fff 100644
--- a/libs/glibmm2/tools/m4/convert_pango.m4
+++ b/libs/gtkmm2/tools/m4/convert_pango.m4
@@ -12,7 +12,11 @@ _CONV_ENUM(Pango,FontMask)
_CONV_ENUM(Pango,Alignment)
_CONV_ENUM(Pango,WrapMode)
_CONV_ENUM(Pango,TabAlign)
-
+_CONV_ENUM(Pango,Script)
+_CONV_ENUM(Pango,EllipsizeMode)
+_CONV_ENUM(Pango,RenderPart)
+_CONV_ENUM(Pango,Gravity)
+_CONV_ENUM(Pango,GravityHint)
# General conversions:
_CONVERSION(`gchar*',`const char*',`($3)')
@@ -36,6 +40,7 @@ _CONVERSION(`Color',`PangoColor',`*($3).gobj()')
_CONVERSION(`PangoColor',`Color',`Color(&($3))')
_CONVERSION(`PangoFontDescription*',`FontDescription',`FontDescription(($3))')
+_CONVERSION(`const PangoFontDescription*',`FontDescription',`FontDescription(const_cast<PangoFontDescription*>($3))')
_CONVERSION(`Pango::FontDescription&',`PangoFontDescription*',`($3).gobj()')
_CONVERSION(`FontDescription&',`PangoFontDescription*',`($3).gobj()')
_CONVERSION(`const FontDescription&',`const PangoFontDescription*',`($3).gobj()')
@@ -76,6 +81,8 @@ _CONVERSION(`GlyphGeometry',`PangoGlyphGeometry',`*($3).gobj()')
_CONVERSION(`PangoGlyphString*',`GlyphString',`GlyphString(($3))')
_CONVERSION(`PangoGlyphString*',`const GlyphString',`GlyphString(($3))')
+_CONVERSION(`const Pango::GlyphString&',`PangoGlyphString*',const_cast<PangoGlyphString*>($3.gobj()))
+_CONVERSION(`const GlyphString&',`PangoGlyphString*',const_cast<PangoGlyphString*>($3.gobj()))
_CONVERSION(`PangoFont*',`Glib::RefPtr<Font>',Glib::wrap($3))
_CONVERSION(`PangoFont*',`Glib::RefPtr<Pango::Font>',Glib::wrap($3))
@@ -90,8 +97,11 @@ _CONVERSION(`const Glib::RefPtr<const Font>&',`PangoFont*',__CONVERT_CONST_REFPT
_CONVERSION(`const Glib::RefPtr<const Pango::Font>&',`PangoFont*',__CONVERT_CONST_REFPTR_TO_P_SUN(Pango::Font))
_CONVERSION(`PangoFontMap*',`Glib::RefPtr<FontMap>',Glib::wrap($3))
+_CONVERSION(`PangoFontMap*',`Glib::RefPtr<const FontMap>',Glib::wrap($3))
_CONVERSION(`const Glib::RefPtr<FontMap>&',`PangoFontMap*',__CONVERT_REFPTR_TO_P)
+_CONVERSION(`PangoCairoFontMap*',`Glib::RefPtr<CairoFontMap>',Glib::wrap($3))
+
_CONVERSION(`PangoFontSet*',`Glib::RefPtr<FontSet>',Glib::wrap($3))
_CONVERSION(`const Glib::RefPtr<FontSet>&',`PangoFontSet*',__CONVERT_REFPTR_TO_P)
@@ -111,7 +121,9 @@ _CONVERSION(`const Glib::RefPtr<const Layout>&',`PangoLayout*',__CONVERT_CONST_R
_CONVERSION(`PangoLayoutLine*',`Glib::RefPtr<Pango::LayoutLine>',`Glib::wrap($3)')
_CONVERSION(`PangoLayoutLine*',`Glib::RefPtr<LayoutLine>',`Glib::wrap($3)')
+_CONVERSION(`PangoLayoutLine*',`Glib::RefPtr<const LayoutLine>',`Glib::wrap($3)')
_CONVERSION(`const Glib::RefPtr<Pango::LayoutLine>&',`PangoLayoutLine*',__CONVERT_REFPTR_TO_P)
+_CONVERSION(`const Glib::RefPtr<LayoutLine>&',`PangoLayoutLine*',__CONVERT_REFPTR_TO_P)
# Special treatment for the Sun Forte compiler
_CONVERSION(`const Glib::RefPtr<const Pango::LayoutLine>&',`PangoLayoutLine*',__CONVERT_CONST_REFPTR_TO_P_SUN(Pango::LayoutLine))
_CONVERSION(`const Glib::RefPtr<const LayoutLine>&',`PangoLayoutLine*',__CONVERT_CONST_REFPTR_TO_P_SUN(LayoutLine))
@@ -132,6 +144,19 @@ _CONVERSION(`PangoTabAlign&',`PangoTabAlign*',`&$3',`*$3')
_CONVERSION(`Pango::TabAlign&',`PangoTabAlign*',`((PangoTabAlign*) &($3))')
_CONVERSION(`TabAlign&',`PangoTabAlign*',`((PangoTabAlign*) &($3))')
+_CONVERSION(`const Matrix&',`const PangoMatrix*',`&($3)')
+
+#The documentation for pango_context_get_matrix() suggests that it's generally OK
+#to consider PANGO_MATRIX_INIT and a NULL PangoMatrix* as being equivalent:
+#But this would cause 2 function calls.
+#_CONVERSION(`const PangoMatrix*',`Matrix',`($3) ? *($3) : PANGO_MATRIX_INIT')
+#_CONVERSION(`const Matrix&',`PangoMatrix*',`const_cast<PangoMatrix*>(&($3))')
+
define(`__FL2H_SHALLOW',`$`'2($`'3, Glib::OWNERSHIP_SHALLOW)')
_CONVERSION(`GSList*',`SListHandle_LayoutLine',__FL2H_SHALLOW)
+_CONVERSION(`GSList*',`SListHandle_ConstLayoutLine',__FL2H_SHALLOW)
+
+_CONVERSION(`PangoFontMap*',`Glib::RefPtr<Pango::FontMap>',`Glib::wrap($3)')
+
+_CONVERSION(`const Cairo::FontOptions&',`const cairo_font_options_t*',`($3).cobj()')
diff --git a/libs/libglademm/AUTHORS b/libs/libglademm/AUTHORS
deleted file mode 100644
index 0258b21bfe..0000000000
--- a/libs/libglademm/AUTHORS
+++ /dev/null
@@ -1,2 +0,0 @@
-Maintainers:
-Murray Cumming <murrayc@usa.net>
diff --git a/libs/libglademm/COPYING b/libs/libglademm/COPYING
deleted file mode 100644
index b1e3f5a263..0000000000
--- a/libs/libglademm/COPYING
+++ /dev/null
@@ -1,504 +0,0 @@
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded. In such case, this License incorporates the limitation as if
-written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Libraries
-
- If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change. You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
- To apply these terms, attach the following notices to the library. It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
- <one line to give the library's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
- <signature of Ty Coon>, 1 April 1990
- Ty Coon, President of Vice
-
-That's all there is to it!
-
-
diff --git a/libs/libglademm/ChangeLog b/libs/libglademm/ChangeLog
deleted file mode 100644
index 90bd943ff9..0000000000
--- a/libs/libglademm/ChangeLog
+++ /dev/null
@@ -1,361 +0,0 @@
-2.6.1:
-
-2005-09-07 Murray Cumming <murrayc@murrayc.com>
-
- * NEWS: Updated.
- * configure.in: Increased version.
-
-2005-03-10 Cedric Gustin <cedric.gustin@swing.be>
-
- * MSVC_Net2003/Makefile.am: Add blank.cpp to EXTRA_DIST.
- * MSVC_Net2003/libglademm/libglademm.vcproj: Disable warning #4250.
- * MSVC_Net2003/examples/*/*.vcproj: Change name of
- PDB file to $(OutDir)/$(TargetName).pdb. Disable warning #4250.
-
-2.6.0:
-
-2005-01-24 Cedric Gustin <cedric.gustin@swing.be>
-
- * MSVC_Net2003/libglademm/Makefile.am: Rewrote rule for local copy
- of glibmmconfig.h (required for 'make distcheck').
- * MSVC_Net2003/libglademm/libglademm.vcproj: Removed GLIBMM_BUILD
- macro.
-
-2.5.1:
-
-2005-01-11 Murray Cumming <murrayc@murrayc.com>
-
- * MSVC_Net2003/libglademm/Makefile.am: Add libglademmconfig.h to
- DISTCLEANFILES, to fix the distcheck.
-
-2004-12-13 Cedric Gustin <cedric.gustin@swing.be>
-
- * configure.in : parse version tags at configure time (for
- libglademm-2.4.rc).
- * MSVC_Net2003/libglademm/libglademm-2.4.rc.in : New resource file.
- * MSVC_Net2003/libglademm/Makefile.am: Include libglademm-2.4.rc
- in distribution.
- * MSVC_Net2003/libglademm/libglademm.vcproj: Added resource file.
-
-2004-12-08 Cedric Gustin <cedric.gustin@swing.be>
-
- * MSVC_Net2003/: Initial release.
- * configure.in: Added MSVC_Net2003 Makefiles.
- * Makefile.am: Added MSVC_Net2003 subdir.
-
-2004-08-28 Alberto Paro <alberto@paro.homeunix.org>
-
- * libglade/xml.{ccg|hg}: Added connect_clicked() for easy connection of
- buttons and menuitems signals to a signal handler.
- * libglade/variablesmap.[ccg|hg]: Glade::VariablesMap now handles
- Entry, ComboTextEntry, SpinButton, *Scale, Calendar and CheckBox.
- * example/variablesmap: Improved the example to handle new
- VariablesMap types.
-
-2004-09-19 Murray Cumming <murrayc@murrayc.com>
-
- * This is the HEAD branch.
-
-2004-09-19 Murray Cumming <murrayc@murrayc.com>
-
- * libglademm/xml.hg: Fix from Denis Leroy in bug #151872.
-
-2.4.1:
-
-2004-06-02 Bryan Forbes <bryan@reigndropsfall.net>
-
- * examples/derived/deriveddialog.h: fix to compile with gcc 3.4.0.
-
-2.4.0:
-
-2.3.3:
-
-2004-03-28 <jdhall@uiuc.edu>
-
- * libglade/xml.hg: Check the return value of get_cwidget().
-
-2004-03-18 Murray Cumming <murrayc@murrayc.com>
-
- * docs/reference/Makefile.am: Removed make target dependency on
- installed beautify_docs, so it does not try to rebuild them when
- building from a tarball. Bug #137548 from Dalgoda.
-
-2004-03-15 Cedric Gustin <cedric.gustin@swing.be>
-
- * tools/m4/Makefile.am: install m4 files in libglademm-2.4 subdir
- instead of libglademm-2.0.
-
-2004-03-15 Cedric Gustin <cedric.gustin@swing.be>
-
- * configure.in: Added test for struct packing convention on win32
- (-mms-bitfields / -fnative-struct).
-
-2004-03-12 Murray Cumming <murrayc@murrayc.com>
-
- * libglade/src/xml.hg: get_widget_derived(): actually return the
- existing widget when a wrapper instance already exists. Bug #136913
- from Roger Whinlatter who submitted it to debian but should have
- submitted it to bugzilla.gnome.org first.
-
-2.3.2:
-
-2004-02-13 Murray Cumming <murrayc@murrayc.com>
-
- * Updated for latest libsigc++ 2 API.
-
-2.3.1:
-
-2003-12-31 Murray Cumming <murrayc@usa.net>
-
- * docs/reference/Makefile.am: Generate a real devhelp file. Added
- a doxygen_to_devhelp.xsl file for this, by copying it from gtkmm and
- modifying it.
-
-2003-12-29 Murray Cumming <murrayc@usa.net>
-
- * configure.in: Use glibmm_check_perl() m4 macro installed by glibmm,
- so that doxygen can know the PERL_PATH.
- * docs/reference/Makefile.am: Added the docs rules from the same
- file in gtkmm, so that the docs are built and distributed and installed
- and uploaded.
-
-2003-12-22 Murray Cumming <murrayc@usa.net>
-
- * docs/reference/Makefile.am: Use beautify_docs.pl installed from
- glibmm 2.4.
-
-2.3.0:
-
-2003-12-07 Murray Cumming <murrayc@usa.net>
-
- * examples/menus/example.glade: Corrected the text. Patch by
- Billy O'Connor in bug 128683.
-
-2003-11-29 Murray Cumming <murrayc@usa.net>
-
- * libglade/libglade-2.0.pc.in: Corrected library name.
-
-2003-11-06 Cedric Gustin <cedric.gustin@swing.be>
-
- * configure.in: Added test of win32 platform. Commented
- out AM_DISABLE_SHARED (DLLs are shared libraries).
- * build_shared/Makefile_build.am_fragment: added a few LDFLAGS
- for win32 DLLs (defined in win32_dlls_ldflags and appended to
- common_ldflags).
-
-2003-11-06 Murray Cumming <murrayc@usa.net>
-
- * Added examples/menus.
- * examples/basic: Added and distributed basic.gladep which is
- necessary to prevent glade-2 from creating libgnomeui menus.
-
-2003-11-02 Murray Cumming <murrayc@usa.net>
-
- * This is now libglademm 2.4, which builds against gtkmm 2.4, and is
- parallel-installable with libglademm 2.0/2.2.
-
-This is HEAD, for GNOME 2.6, using gtkmm 2.4.
-
-2003-10-30 Murray Cumming <murrayc@usa.net>
-
- * libglade/libglademm.h: Include gtkmmconfig.h rather than
- libgnomemmconfig.h. These are platform-specific stuff. I am
- surprised that it built before, because this does not depend
- on libgnomemm at all.
-
-2003-10-17 Alberto Paro <alberto@paro.homeunix.org>
-
- * docs/reference/Doxyfile.in: fixed docs generation
-
-2.1.2:
-
-2003-09-25 Eric Bourque <ericb@computer.org>
-
- * libglademm.spec.in: new file
-
-2003-09-02 Murray Cumming <murrayc@usa.net>
-
- * libglademm/src/xml.hg: Added code to get_widget_derived(),
- to return an existing C++ instance if one exists. This makes
- get_widget_derived() always return the same instance, like
- get_widget() already does. I added some more explicit explanation
- to the gtkmm book about this.
-
-2.1.1:
-
-2003-09-01 Murray Cumming <murrayc@usa.net>
-
- * Just rebuilt the tarball. Some corruption was causing the
- .la files to not be installed.
-
-2.1.0:
-
-2003-08-23 Murray Cumming <murrayc@usa.net>
-
- * libglademm/src/xml.[hg|ccg]: Added
- Glade::Xml::get_widget_derived() templated method.
- * Added examples/derived/ to demonstrate it. This allows you
- to encapsulate the handling of the child widgets inside the
- container widget's code.
- * Makefile.am: Added examples to SUBDIRS so that they are built
- by default, for regression testing.
- * examples/Makefile.am_fragment: Added top_srcdir include for
- distcheck.
-
-2.0.0:
-
-2002-12-20 Daniel Elstner <daniel.elstner@gmx.net>
-
- * examples/basic/basic.cc (main): Exit the program if loading
- the glade file failed, so that it won't segfault.
-
-2002-12-20 Murray Cumming <murrayc@usa.net>
-
- * _IGNORE()ed some internal libglade functions.
-
-2002-12-20 Murray Cumming <murrayc@usa.net>
-
- * examples/basic/basic.cc: Used try/catch to catch the new XmlError
- exception. Added some comments.
-
-2002-12-20 Daniel Elstner <daniel.elstner@gmx.net>
-
- * libglade/src/xml.{ccg,hg} (XmlError): New exception class.
- (Xml::Xml): Throw an XmlError exception if glade_xml_construct()
- or glade_xml_create_from_buffer() failed.
-
-2002-12-16 Daniel Elstner <daniel.elstner@gmx.net>
-
- * libglade/src/xml.{ccg,hg} (Xml::Xml): In order to reduce code
- size, replace the ctor overloads with a single ctor and default
- arguments, and treat empty strings as 0. Also, use std::string
- instead of Glib::ustring for the filename argument.
- (Xml::Xml): Add ctor overload for glade_xml_new_from_buffer().
- We should use a construct() function instead but that requires
- an API addition to libglade.
- (Xml::create): Use std::string for the filename argument, and
- reduce code by using default arguments instead of 3 overloads.
- (Xml::create_from_buffer): Take a plain const char* for the buffer
- argument, plus an int for its size. We already need to do this
- for the ctor to avoid overload ambiguities, and I don't see much
- of a point in providing an additional create_from_buffer() overload
- since it's rarely used.
- (Xml::get_widget_checked): New internal method that checks the
- type of the widget and prints a warning on failure.
- (Xml::get_widget): Move most of the code into the non-templated
- method get_widget_checked(), to reduce binary size.
- (Xml::relative_file): Take and return std::string, since it's
- a filename.
- (Xml::get_filename): New accessor to public struct data member.
- (Xml::get_widget_name): Add.
- (Xml::glade_get_widget_tree): Add.
-
- * tools/m4/convert_libglademm.m4: Add conversion from GladeXML*
- to Glib::RefPtr<Xml>.
-
-2002-12-16 Murray Cumming <murrayc@usa.net>
-
- * src/xml.hg: reparent_widget() is no longer virtual.
-
-2002-12-16 Murray Cumming <murrayc@usa.net>
-
- * src/xml.[hg|ccg]: Renamed lookup_type() to lookup_type_vfunc(), to
- be consistent with other gtkmm vfuncs, and made it virtual.
-
-2002-12-12 Murray Cumming <murrayc@usa.net>
-
- * configure.in: Increased version from 1.3.x to 2.0
- * libglademm/libglademm/Makefile.am: Changed librarary name.
- * libglademm/*.pc.in: Changed library name.
- * examples/Makefile.am_fragment: Changed library name.
-
-2002-12-10 Bradley Bell <btb@debian.org>
-
- * scripts/Makefile.am: distribute macros.m4
-
-1.3.5:
- * Updated for gtkmm2.
-
-1.3.4:
-
-2002-08-07 Murray Cumming <murrayc@usa.net>
-
- * Glade::Xml now uses the new gtkmm _CONSTRUCT macro, so it uses
- the correct Glib::Object constructor.
-
-2002-08-06 Martin Schulze <MHL.Schulze@t-online.de>
-
- * examples/basic/Makefile.am: Replace 'example' with 'basic' to
- match the actual file names.
-
-1.3.3:
-
-2002-07-16 Murray Cumming <murrayc@usa.net>
-
- * Rebuilt for latest gtkmm.
-
-1.3.2:
-
-2002-06-23 Murray Cumming <murrayc@usa.net>
-
- * Rebuilt for latest gtkmm.
- * VariablesMap: Fixed "no return statement" warning.
-
-1.3.1:
-
-2002-05-02 Murray Cumming <murrayc@usa.net>
-
- * Added Gnome::Glade::VariablesMap, with an example. This allows
- you to map named Glade widgets to member variables, and transfer
- all the data with one method call.
-
-1.3.0:
-
-2002-04-29 Murray Cumming <murrayc@usa.net>
-
- * Added reparent_widget() method.
-
-2002-04-28 Murray Cumming <murrayc@usa.net>
-
- * Added templated get_widget(name, widget) override, which
- does the dynamic casting and warns about any runtime errors, so
- that application code doesn't need to.
-
-2002-04-25 Murray Cumming <murrayc@usa.net>
-
- * examples/basic: Use a GtkDialog in the .glade file instead of
- the deprecated GnomeDialog. The signal connection now seems to
- work.
- * libglade/src/xml.[hg|ccg]: Added a lookup_type() vfunc
- that instantiates gtkmm types instead of gtk+ types. This requires
- the latest libglade.
-
-2002-04-25 Michael A. Koziarski <michael@koziarski.org>
-
- * libglade/src/xml.ccg
- * libglade/src/xml.hg: As requested, implemented overloaded
- create_from_buffer methods.
-
-2002-04-25 Murray Cumming <murrayc@usa.net>
-
- * Added "basic" example based on the libglade docs and Michael
- Koziarski's .glade file.
-
-2002-04-24 Michael A. Koziarski <michael@koziarski.org>
-
- * libglade/src/xml.ccg
- * libglade/src/xml.hg: Implemented overloaded create methods &
- constructors. Most applications won't need to send a domain
- parameter, and some don't need a root parameter
-
-2002-04-23 Murray Cumming <murrayc@usa.net>
-
- * Generated sources are now distributed. The
- build_shared/*.am_fragement files were copied from libgnomecanvasmm.
-
-2002-04-23 Murray Cumming <murrayc@usa.net>
-
- * Xml constructor uses the glade_xml_construct() function because
- GladeXML doesn't have construct-time properties yet.
-
-
diff --git a/libs/libglademm/NEWS b/libs/libglademm/NEWS
deleted file mode 100644
index 52eacdedbe..0000000000
--- a/libs/libglademm/NEWS
+++ /dev/null
@@ -1,95 +0,0 @@
-2.6.1:
-
-* Windows build fixes. (Cedric Gustin)
-
-2.6.0:
-
-libglademm 2.6 is API/ABI-compatible with libglademm 2.4.
-
-Changes since libglademm 2.4:
-
-* Glade::Xml: Added connect_clicked() for easy connection of
- buttons and menuitems signals. (Alberto Paro)
-* Glade::VariablesMap: now handles Entry, ComboTextEntry,
- SpinButton, *Scale, Calendar and CheckBox. (Alberto Paro).
-
-
-2.5.1:
-
-* Glade::Xml: Added connect_clicked() for easy connection of
- buttons and menuitems signals. (Alberto Paro)
-* Glade::VariablesMap: now handles Entry, ComboTextEntry,
- SpinButton, *Scale, Calendar and CheckBox. (Alberto Paro).
-
-2.4.1:
-
-* gcc 3.4 build fix. (Bryan Forbes)
-
-2.4.0:
-
-The API is now stable.
-
-2.3.3:
-
-* get_widget():
- - Don't create a C++ object with a null C object, when the
- C object can not be found. (jdhall)
- - Really return existing widget wrappers. (Murray Cumming)
-* Stop accidental need for doxygen when building from tarballs.
- (Murray Cumming)
-* win32: Test for -mms-bitfields / -fnative-struct.
-
-2.3.2:
-
-* Updated for new libsigc++ 2 syntax.
-
-2.3.1:
-
-Documentation:
-- Generate and install devhelp file.
-- beautify hmtl documentation, like the gtkmm docs.
-- Install html documentation.
-
-2.3.0:
-
-This is the new unstable branch of the parallel-installable libglademm 2.4,
-for use with gtkmm 2.4.
-
-2.1.2:
-
-* get_widget_derived() now returns an existing C++ instance if one exists, like
- get_widget() already does. (Murray Cumming)
-
-2.1.1:
-
-No changes. Just recreated the tarball - it was not installing the .la files.
-
-2.1.0:
-
-This is the development phase for libglademm 2.2.0,
-which will add API but will not break API or ABI.
-
-* Added Glade::Xml::get_widget_derived() and
- examples/derived/ to demonstrate it.
- This allows you to use Glade to layout your
- own derived container widgets. Tell me what you
- think.
- (Murray Cumming)
-
-
-2.0.1:
-
-* Rebuilt the tarball with newer autotools, fixing the $SED problem.
-
-2.0.0
-
-* Glade::Xml::create() now throws an XmlError expection if it fails.
- (Daniel Elstner)
-* Minimise use of templates, to reduce application code size.
- (Daniel Elstner)
-
-1.3.5
-
-
-
-
diff --git a/libs/libglademm/SConscript b/libs/libglademm/SConscript
deleted file mode 100644
index 0d22ba243f..0000000000
--- a/libs/libglademm/SConscript
+++ /dev/null
@@ -1,25 +0,0 @@
-# -*- python -*-
-
-import os
-import os.path
-import glob
-
-Import('env libraries install_prefix')
-
-libglademm_files = glob.glob('libglademm/*.cc')
-
-libglademm = env.Copy()
-libglademm.Merge([libraries['gtk2'], libraries['glade2'], libraries['sigc2'], libraries['glibmm2'], libraries['pangomm'], libraries['atkmm'], libraries['gdkmm2'], libraries['gtkmm2']])
-
-libglade = libglademm.SharedLibrary('libglademm', libglademm_files)
-
-Default(libglade)
-
-env.Alias('install', env.Install(os.path.join(install_prefix, env['LIBDIR'], 'ardour2'), libglade))
-
-env.Alias('tarball', env.Distribute (env['DISTTREE'],
- [ 'SConscript', 'libglademmconfig.h', 'libglademm.h'] +
- libglademm_files +
- glob.glob('libglademm/*.h') +
- glob.glob('libglademm/private/*.h')
- ))
diff --git a/libs/libglademm/libglademm/variablesmap.cc b/libs/libglademm/libglademm/variablesmap.cc
deleted file mode 100644
index 57d9785bc3..0000000000
--- a/libs/libglademm/libglademm/variablesmap.cc
+++ /dev/null
@@ -1,199 +0,0 @@
-/* variablesmap.cc
- *
- * Copyright (C) 2002 The libglademm Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#include <libglademm/variablesmap.h>
-#include <gtkmm/togglebutton.h>
-#include <gtkmm/entry.h>
-#include <gtkmm/calendar.h>
-#include <gtkmm/scale.h>
-#include <gtkmm/comboboxentry.h>
-
-namespace Gnome
-{
-
-namespace Glade
-{
-
-VariablesMap::VariablesMap(const Glib::RefPtr<Glade::Xml>& glade)
-: m_refGlade(glade)
-{
-}
-
-VariablesMap::~VariablesMap()
-{
-}
-
-
-void VariablesMap::connect_widget(const Glib::ustring& widget_name, bool& variable)
-{
- Gtk::ToggleButton* pToggleButton = 0;
- m_refGlade->get_widget(widget_name, pToggleButton); //Glade::Xml will complain if it is not a ToggleButton.
- if(pToggleButton)
- {
- m_mapWidgetsToVariables[pToggleButton] = (void*)(&variable);
- }
-}
-
-void VariablesMap::connect_widget(const Glib::ustring& widget_name, Glib::ustring& variable)
-{
- Gtk::Widget* pWidget = 0;
- m_refGlade->get_widget(widget_name, pWidget);
-
- Gtk::Entry* pEntry = dynamic_cast<Gtk::Entry*>(pWidget); //it mange both Gtk::entry and Gtk::SpinButton
- Gtk::ComboBoxEntry* pComboBoxEntry = dynamic_cast<Gtk::ComboBoxEntry*>(pWidget);
- if(pEntry)
- {
- m_mapWidgetsToVariables[pEntry] = (void*)(&variable);
- }
- if(pComboBoxEntry)
- {
- m_mapWidgetsToVariables[pComboBoxEntry] = (void*)(&variable);
- }
-}
-
-void VariablesMap::connect_widget(const Glib::ustring& widget_name, double& variable)
-{
- Gtk::Widget* pWidget = 0;
- m_refGlade->get_widget(widget_name, pWidget);
-
- Gtk::Scale* pScale = dynamic_cast<Gtk::Scale*>(pWidget);
- if(pScale)
- {
- m_mapWidgetsToVariables[pScale] = (void*)(&variable);
- }
-}
-
-void VariablesMap::connect_widget(const Glib::ustring& widget_name, Glib::Date& variable)
-{
- Gtk::Widget* pWidget = 0;
- m_refGlade->get_widget(widget_name, pWidget);
-
- Gtk::Calendar* pCalendar = dynamic_cast<Gtk::Calendar*>(pWidget);
- if(pCalendar)
- {
- m_mapWidgetsToVariables[pCalendar] = (void*)(&variable);
- }
-}
-
-void VariablesMap::transfer_widgets_to_variables()
-{
- if(validate_widgets()) //If the widgets' data is correct. Useful to override.
- {
- for(type_mapWidgetsToVariables::iterator iter = m_mapWidgetsToVariables.begin(); iter != m_mapWidgetsToVariables.end(); ++iter)
- {
- transfer_one_widget(iter->first, true); //true = to_variable.
- }
- }
-}
-
-void VariablesMap::transfer_variables_to_widgets()
-{
- for(type_mapWidgetsToVariables::iterator iter = m_mapWidgetsToVariables.begin(); iter != m_mapWidgetsToVariables.end(); ++iter)
- {
- transfer_one_widget(iter->first, false); //false = to_widget.
- }
-}
-
-
-void VariablesMap::transfer_one_widget(Gtk::Widget* pWidget, bool to_variable)
-{
- //Find the widget in the map:
- type_mapWidgetsToVariables::iterator iterFind = m_mapWidgetsToVariables.find(pWidget);
- if(iterFind != m_mapWidgetsToVariables.end())
- {
- //Get the variable for the widget:
- void* pVariable = iterFind->second;
- if(pVariable)
- {
- //Cast the variable appropriately and set it appropriately:
- Gtk::Entry* pEntry = dynamic_cast<Gtk::Entry*>(pWidget);
- Gtk::ComboBoxEntry* pComboBoxEntry = dynamic_cast<Gtk::ComboBoxEntry*>(pWidget);
-
- Gtk::ToggleButton* pToggleButton = dynamic_cast<Gtk::ToggleButton*>(pWidget); //CheckButtons and RadioButtons.
- Gtk::Scale* pScale = dynamic_cast<Gtk::Scale*>(pWidget);
- Gtk::Calendar* pCalendar = dynamic_cast<Gtk::Calendar*>(pWidget);
-
- if(pEntry)
- {
- Glib::ustring* pVar = (Glib::ustring*)(pVariable);
-
- if(to_variable)
- (*pVar) = pEntry->get_text();
- else
- pEntry->set_text(*pVar);
- }
- if(pComboBoxEntry)
- {
- Glib::ustring* pVar = (Glib::ustring*)(pVariable);
- Gtk::Entry* pIEntry = dynamic_cast<Gtk::Entry*>(pComboBoxEntry->get_child());
-
- if(to_variable){
- if(pIEntry)
- (*pVar) = pIEntry->get_text();
- } else {
- if(pIEntry)
- pIEntry->set_text(*pVar);
- }
- }
- if(pToggleButton)
- {
- bool* pVar = (bool*)(pVariable);
-
- if(to_variable)
- (*pVar) = pToggleButton->get_active();
- else
- pToggleButton->set_active(*pVar);
- }
- if(pScale)
- {
- double* pVar = (double*)(pVariable);
-
- if(to_variable)
- (*pVar) = pScale->get_value();
- else
- pScale->set_value(*pVar);
- }
- if(pCalendar)
- {
- Glib::Date* pVar = (Glib::Date*)(pVariable);
-
- if(to_variable){
- guint year,month,day;
- pCalendar->get_date(year,month,day);
- (*pVar) = Glib::Date(day,(Glib::Date::Month)month,year);
- } else {
- pCalendar->select_day(pVar->get_day());
- pCalendar->select_month(pVar->get_month(), pVar->get_year());
- }
- }
- }
- }
-}
-
-bool VariablesMap::validate_widgets()
-{
- //Override to add validation.
- //TODO: We could add some automatic data-range and text-length validation.
- return true;
-}
-
-
-
-} /* namespace Glade */
-} /* namespace Gnome */
diff --git a/libs/libglademm/libglademm/variablesmap.h b/libs/libglademm/libglademm/variablesmap.h
deleted file mode 100644
index af8bbcdbb9..0000000000
--- a/libs/libglademm/libglademm/variablesmap.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/* variablesmap.h
- *
- * Copyright (C) 2002 The libglademm Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#ifndef _LIBGLADEMM_VARIABLESMAP_H
-#define _LIBGLADEMM_VARIABLESMAP_H
-
-#include <libglademm/xml.h>
-#include <map>
-
-namespace Gnome
-{
-
-namespace Glade
-{
-
-/** Associates named Glade widgets with member variables.
- * Use connect_widget() to link the widgets with variables that will contain their data.
- * Then use transfer_widgets_to_variables() and transfer_variables_to_widgets() to get or set all of the variables at once.
- *
- * This is meant to be a bit like MFC's "Dialog Data Exchange and Validation".
- *
- * The association of widget and member varables follow this mapping:
- *
- * Gtk::Entry --> Glib::ustring
- * Gtk::SpinBox --> Glib::ustring
- * Gtk::ComboBoxEntry --> Glib::ustring
- * Gtk::Scale --> double
- * Gtk::Calendar --> Glib::Date
- * Gtk::CheckBox --> bool
- * Gtk::RadioButton --> bool
- *
- */
-class VariablesMap
-{
-public:
- explicit VariablesMap(const Glib::RefPtr<Glade::Xml>& glade);
- virtual ~VariablesMap();
-
- ///For ToggleButton (CheckBox and RadioButton)
- virtual void connect_widget(const Glib::ustring& widget_name, bool& variable);
-
- ///For Entry, ComboBoxEntry and SpinBox
- virtual void connect_widget(const Glib::ustring& widget_name, Glib::ustring& variable);
-
- ///For Scale (HScale and VScale)
- virtual void connect_widget(const Glib::ustring& widget_name, double& variable);
-
- ///For Calendar
- virtual void connect_widget(const Glib::ustring& widget_name, Glib::Date& variable);
-
- ///Transfer data from the widget to the variable.
- virtual void transfer_widgets_to_variables();
-
- ///Transfer data from the variable to the widget.
- virtual void transfer_variables_to_widgets();
-
-protected:
-
- /** Override this to validate the data that the user enters into the widgets.
- * The return value indicates whether the widgets' data is valid.
- */
- virtual bool validate_widgets();
-
- virtual void transfer_one_widget(Gtk::Widget* pWidget, bool to_variable);
-
- typedef std::map<Gtk::Widget*, void*> type_mapWidgetsToVariables;
- type_mapWidgetsToVariables m_mapWidgetsToVariables;
-
- Glib::RefPtr<Glade::Xml> m_refGlade;
-};
-
-} /* namespace Glade */
-} /* namespace Gnome */
-
-
-
-
-#endif /* _LIBGLADEMM_VARIABLESMAP_H */
-
-
diff --git a/libs/libglademm/libglademm/wrap_init.cc b/libs/libglademm/libglademm/wrap_init.cc
deleted file mode 100644
index ff78f96a4f..0000000000
--- a/libs/libglademm/libglademm/wrap_init.cc
+++ /dev/null
@@ -1,50 +0,0 @@
-
-#include <glib.h>
-
-// Disable the 'const' function attribute of the get_type() functions.
-// GCC would optimize them out because we don't use the return value.
-#undef G_GNUC_CONST
-#define G_GNUC_CONST /* empty */
-
-#include <libglademm/wrap_init.h>
-#include <glibmm/error.h>
-#include <glibmm/object.h>
-
-// #include the widget headers so that we can call the get_type() static methods:
-
-#include "xml.h"
-
-extern "C"
-{
-
-//Declarations of the *_get_type() functions:
-
-GType glade_xml_get_type(void);
-
-//Declarations of the *_error_quark() functions:
-
-} // extern "C"
-
-
-//Declarations of the *_Class::wrap_new() methods, instead of including all the private headers:
-
-namespace Gnome { namespace Glade { class Xml_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; } }
-
-namespace Gnome { namespace Glade {
-
-void wrap_init()
-{
- // Register Error domains:
-
-// Map gtypes to gtkmm wrapper-creation functions:
- Glib::wrap_register(glade_xml_get_type(), &Gnome::Glade::Xml_Class::wrap_new);
-
- // Register the gtkmm gtypes:
- Gnome::Glade::Xml::get_type();
-
-} // wrap_init()
-
-} //Glade
-} //Gnome
-
-
diff --git a/libs/libglademm/libglademm/xml.cc b/libs/libglademm/libglademm/xml.cc
deleted file mode 100644
index 5b672bc582..0000000000
--- a/libs/libglademm/libglademm/xml.cc
+++ /dev/null
@@ -1,343 +0,0 @@
-// Generated by gtkmmproc -- DO NOT MODIFY!
-
-#include <libglademm/xml.h>
-#include <libglademm/private/xml_p.h>
-
-/* $Id$ */
-
-/* Copyright (C) 2002 The libglademm Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#include <glade/glade-xml.h>
-#include <gtkmm/button.h>
-#include <gtkmm/menuitem.h>
-
-namespace Gnome
-{
-
-namespace Glade
-{
-
-XmlError::XmlError(const Glib::ustring& message)
-:
- message_ (message)
-{}
-
-XmlError::~XmlError() throw()
-{}
-
-XmlError::XmlError(const XmlError& other)
-:
- Glib::Exception (other),
- message_ (other.message_)
-{}
-
-XmlError& XmlError::operator=(const XmlError& other)
-{
- message_ = other.message_;
- return *this;
-}
-
-Glib::ustring XmlError::what() const
-{
- return message_;
-}
-
-
-Xml::Xml(const std::string& filename, const Glib::ustring& root, const Glib::ustring& domain)
-:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Glib::Object(Glib::ConstructParams(xml_class_.init(), (char*) 0))
-{
- if(!glade_xml_construct(gobj(), filename.c_str(), root.empty() ? 0 : root.c_str(),
- domain.empty() ? 0 : domain.c_str()))
- {
- throw XmlError("Failed to load glade file `" + Glib::filename_to_utf8(filename) + '\'');
- }
-}
-
-// TODO: we need glade_xml_construct_from_buffer()
-Xml::Xml(const char* buffer, int size, const Glib::ustring& root, const Glib::ustring& domain)
-:
- Glib::ObjectBase(0),
- Glib::Object((GObject*) glade_xml_new_from_buffer(
- buffer, size, root.empty() ? 0 : root.c_str(), domain.empty() ? 0 : domain.c_str()))
-{
- if(!gobj())
- throw XmlError("Failed to read glade input buffer");
-}
-
-// static
-Glib::RefPtr<Xml> Xml::create(const std::string& filename,
- const Glib::ustring& root, const Glib::ustring& domain)
-{
- return Glib::RefPtr<Xml>(new Xml(filename, root, domain));
-}
-
-// static
-Glib::RefPtr<Xml> Xml::create_from_buffer(const char* buffer, int size,
- const Glib::ustring& root, const Glib::ustring& domain)
-{
- return Glib::RefPtr<Xml>(new Xml(buffer, size, root, domain));
-}
-
-void Xml::reparent_widget(const Glib::ustring& name, Gtk::Container& container)
-{
- Gtk::Widget* pWidget = 0;
- get_widget(name, pWidget);
-
- g_return_if_fail(pWidget != 0);
-
- pWidget->reparent(container);
-}
-
-Gtk::Widget* Xml::get_widget_checked(const Glib::ustring& name, GType type)
-{
- // Get the widget from the glade file.
- Gtk::Widget *const pWidget = get_widget(name);
-
- if(!pWidget)
- {
- g_critical("widget `%s' not found in glade file `%s'", name.c_str(), gobj()->filename);
- return 0;
- }
-
- // Check if it has the correct type.
- if(!g_type_is_a(G_OBJECT_TYPE(pWidget->gobj()), type))
- {
- g_critical("widget `%s' (in glade file `%s') is of type `%s' but `%s' was expected",
- name.c_str(), gobj()->filename, G_OBJECT_TYPE_NAME(pWidget->gobj()), g_type_name(type));
- return 0;
- }
-
- return pWidget;
-}
-
-GtkWidget* Xml::get_cwidget(const Glib::ustring& name)
-{
- GtkWidget* pCWidget = glade_xml_get_widget(gobj(), name.c_str());
- if(!pCWidget)
- g_critical("Glade::Xml::get_cwidget(): glade_xml_get_widget() failed.");
-
- return pCWidget;
-}
-
-// Custom coded so that we can custom-code the vfunc in the Xml class.
-// This is marginally better than modifying gtkmmproc to allow this.
-//
-GType Xml_Class::lookup_type_vfunc_callback(GladeXML* self, const char* classname)
-{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
- Glib::ObjectBase::_get_current_wrapper((GObject*) self));
-
- if(obj)
- {
- try
- {
- return obj->lookup_type_vfunc(Glib::convert_const_gchar_ptr_to_ustring(classname));
- }
- catch(...)
- {
- Glib::exception_handlers_invoke();
- }
- }
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
- g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class.
- );
-
- if(base && base->lookup_type)
- return (*base->lookup_type)(self, classname);
- }
-
- return 0;
-}
-
-GType Xml::lookup_type_vfunc(const Glib::ustring& classname)
-{
- // See if there is a gtkmm version of the gclass:
- Glib::ustring classname_prefixed ("gtkmm__"); // gtkmm uses a prefix
- classname_prefixed += classname;
-
- GType gtype = g_type_from_name(classname_prefixed.c_str());
-
- if(gtype == G_TYPE_INVALID) // if it's not a registered typename
- {
- // There's no gtkmm derived type, so just use the normal one.
- gtype = g_type_from_name(classname.c_str());
- }
-
- return gtype;
-}
-
-void Xml::connect_clicked(const Glib::ustring& widget_name, const sigc::slot<void>& slot_ )
-{
- Gtk::Widget* pWidget = 0;
- get_widget(widget_name, pWidget);
-
- Gtk::Button* pButton = dynamic_cast<Gtk::Button*>(pWidget);
- Gtk::MenuItem* pMenuItem = dynamic_cast<Gtk::MenuItem*>(pWidget);
-
- if(pButton)
- pButton->signal_clicked().connect( slot_);
-
- if(pMenuItem)
- pMenuItem->signal_activate().connect( slot_ );
-}
-
-} // namespace Glade
-} // namespace Gnome
-
-
-namespace
-{
-} // anonymous namespace
-
-
-namespace Glib
-{
-
-Glib::RefPtr<Gnome::Glade::Xml> wrap(GladeXML* object, bool take_copy)
-{
- return Glib::RefPtr<Gnome::Glade::Xml>( dynamic_cast<Gnome::Glade::Xml*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
- //We use dynamic_cast<> in case of multiple inheritance.
-}
-
-} /* namespace Glib */
-
-
-namespace Gnome
-{
-
-namespace Glade
-{
-
-
-/* The *_Class implementation: */
-
-const Glib::Class& Xml_Class::init()
-{
- if(!gtype_) // create the GType if necessary
- {
- // Glib::Class has to know the class init function to clone custom types.
- class_init_func_ = &Xml_Class::class_init_function;
-
- // This is actually just optimized away, apparently with no harm.
- // Make sure that the parent type has been created.
- //CppClassParent::CppObjectType::get_type();
-
- // Create the wrapper type, with the same class/instance size as the base type.
- register_derived_type(glade_xml_get_type());
-
- // Add derived versions of interfaces, if the C type implements any interfaces:
- }
-
- return *this;
-}
-
-void Xml_Class::class_init_function(void* g_class, void* class_data)
-{
- BaseClassType *const klass = static_cast<BaseClassType*>(g_class);
- CppClassParent::class_init_function(klass, class_data);
-
- klass->lookup_type = &lookup_type_vfunc_callback;
- }
-
-
-Glib::ObjectBase* Xml_Class::wrap_new(GObject* object)
-{
- return new Xml((GladeXML*)object);
-}
-
-
-/* The implementation: */
-
-GladeXML* Xml::gobj_copy()
-{
- reference();
- return gobj();
-}
-
-Xml::Xml(const Glib::ConstructParams& construct_params)
-:
- Glib::Object(construct_params)
-{}
-
-Xml::Xml(GladeXML* castitem)
-:
- Glib::Object((GObject*)(castitem))
-{}
-
-Xml::~Xml()
-{}
-
-
-Xml::CppClassType Xml::xml_class_; // initialize static member
-
-GType Xml::get_type()
-{
- return xml_class_.init().get_type();
-}
-
-GType Xml::get_base_type()
-{
- return glade_xml_get_type();
-}
-
-
-std::string Xml::get_filename() const
-{
- return Glib::convert_const_gchar_ptr_to_stdstring(gobj()->filename);
-}
-
-Gtk::Widget* Xml::get_widget(const Glib::ustring& name)
-{
- return Glib::wrap(glade_xml_get_widget(gobj(), name.c_str()));
-}
-
-Glib::ListHandle<Gtk::Widget*> Xml::get_widget_prefix(const Glib::ustring& name)
-{
- return Glib::ListHandle<Gtk::Widget*>(glade_xml_get_widget_prefix(gobj(), name.c_str()), Glib::OWNERSHIP_SHALLOW);
-}
-
-std::string Xml::relative_file(const std::string& filename) const
-{
- return Glib::convert_return_gchar_ptr_to_stdstring(glade_xml_relative_file(const_cast<GladeXML*>(gobj()), filename.c_str()));
-}
-
-Glib::ustring Xml::get_widget_name(Gtk::Widget& widget)
-{
- return Glib::convert_const_gchar_ptr_to_ustring(glade_get_widget_name((widget).gobj()));
-}
-
-Glib::RefPtr<Xml> Xml::get_widget_tree(Gtk::Widget& widget)
-{
-
- Glib::RefPtr<Xml> retvalue = Glib::wrap(glade_get_widget_tree((widget).gobj()));
-
- if(retvalue)
- retvalue->reference(); //The function does not do a ref for us.
- return retvalue;
-}
-
-
-} // namespace Glade
-
-} // namespace Gnome
-
-
diff --git a/libs/libglademm/libglademm/xml.h b/libs/libglademm/libglademm/xml.h
deleted file mode 100644
index b0e5c440f7..0000000000
--- a/libs/libglademm/libglademm/xml.h
+++ /dev/null
@@ -1,348 +0,0 @@
-// -*- c++ -*-
-// Generated by gtkmmproc -- DO NOT MODIFY!
-#ifndef _LIBGLADEMM_XML_H
-#define _LIBGLADEMM_XML_H
-
-#include <glibmm.h>
-
-/* $Id$ */
-
-/* Copyright (C) 2002 The libglademm Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#include <gtkmm/container.h>
-
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-typedef struct _GladeXML GladeXML;
-typedef struct _GladeXMLClass GladeXMLClass;
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-
-namespace Gnome
-{
-
-namespace Glade
-{ class Xml_Class; } // namespace Glade
-
-} // namespace Gnome
-namespace Gnome
-{
-
-namespace Glade
-{
-
-class XmlError : public Glib::Exception
-{
-public:
- explicit XmlError(const Glib::ustring& message);
- virtual ~XmlError() throw();
-
- XmlError(const XmlError& other);
- XmlError& operator=(const XmlError& other);
-
- virtual Glib::ustring what() const;
-
-private:
- Glib::ustring message_;
-};
-
-
-class Xml : public Glib::Object
-{
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-
-public:
- typedef Xml CppObjectType;
- typedef Xml_Class CppClassType;
- typedef GladeXML BaseObjectType;
- typedef GladeXMLClass BaseClassType;
-
-private: friend class Xml_Class;
- static CppClassType xml_class_;
-
-private:
- // noncopyable
- Xml(const Xml&);
- Xml& operator=(const Xml&);
-
-protected:
- explicit Xml(const Glib::ConstructParams& construct_params);
- explicit Xml(GladeXML* castitem);
-
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
-public:
- virtual ~Xml();
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- static GType get_type() G_GNUC_CONST;
- static GType get_base_type() G_GNUC_CONST;
-#endif
-
- ///Provides access to the underlying C GObject.
- GladeXML* gobj() { return reinterpret_cast<GladeXML*>(gobject_); }
-
- ///Provides access to the underlying C GObject.
- const GladeXML* gobj() const { return reinterpret_cast<GladeXML*>(gobject_); }
-
- ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
- GladeXML* gobj_copy();
-
-private:
-
-
- //Ignore private glade_xml functions.
-
-protected:
- /** Loads a glade XML file.
- * @throw XmlError
- */
- Xml(const std::string& filename, const Glib::ustring& root, const Glib::ustring& domain);
-
- /** Reads glade XML data from memory.
- * @throw XmlError
- */
- Xml(const char* buffer, int size, const Glib::ustring& root, const Glib::ustring& domain);
-
- Gtk::Widget* get_widget_checked(const Glib::ustring& name, GType type);
- GtkWidget* get_cwidget(const Glib::ustring& name);
-
-public:
- typedef Gnome::Glade::XmlError Error;
-
- /** Loads a glade XML file.
- * @throw XmlError
- */
- static Glib::RefPtr<Xml> create(const std::string& filename,
- const Glib::ustring& root = Glib::ustring(),
- const Glib::ustring& domain = Glib::ustring());
-
- /** Reads glade XML data from memory.
- * @throw XmlError
- */
- static Glib::RefPtr<Xml> create_from_buffer(const char* buffer, int size,
- const Glib::ustring& root = Glib::ustring(),
- const Glib::ustring& domain = Glib::ustring());
-
- std::string get_filename() const;
-
-//void glade_xml_signal_connect (GladeXML *self,
-// const char *handlername,
-// GCallback func);
-//void glade_xml_signal_connect_data (GladeXML *self,
-// const char *handlername,
-// GCallback func,
-// gpointer user_data);
-//
-//void glade_xml_signal_autoconnect (GladeXML *self);
-//
-//
-//typedef void (*GladeXMLConnectFunc) (const gchar *handler_name,
-// GObject *object,
-// const gchar *signal_name,
-// const gchar *signal_data,
-// GObject *connect_object,
-// gboolean after,
-// gpointer user_data);
-//
-//
-//void glade_xml_signal_connect_full (GladeXML *self,
-// const gchar *handler_name,
-// GladeXMLConnectFunc func,
-// gpointer user_data);
-//
-//void glade_xml_signal_autoconnect_full (GladeXML *self,
-// GladeXMLConnectFunc func,
-// gpointer user_data);
-//
-//
- /** Get a widget from the glade file.
- * For instance:
- * @code
- * Gtk::Table* pTable = dynamic_cast<Gtk::Table*>(refXml->get_widget("mytable"));
- * @endcode
- * @param name The name of the widget.
- * @return A pointer to the widget, or <tt>0</tt> on failure.
- */
-
- Gtk::Widget* get_widget(const Glib::ustring& name);
-
- /** This is for convenience.
- * It allows for a shorter syntax with less repetition. For instance:
- * @code
- * Gtk::Table* pTable = 0;
- * refXml->get_widget("mytable", pTable);
- * @endcode
- * This method prints a warning message to the console if the widget
- * doesn't exist or has the wrong type, so you don't need to check that
- * manually.
- * @param name The name of the widget.
- * @retval widget A pointer to the widget, or <tt>0</tt> on failure.
- * @return The value of @a widget.
- */
- template <class T_Widget> inline
- T_Widget* get_widget(const Glib::ustring& name, T_Widget*& widget)
- {
- // The dynamic_cast<> should never fail if get_widget_checked() succeeded.
- widget = dynamic_cast<T_Widget*>(this->get_widget_checked(name, T_Widget::get_base_type()));
-
- if(!widget)
- g_critical("Gnome::Glade::Xml::get_widget(): dynamic_cast<> failed.");
-
- return widget;
- }
-
- /** This provides a pointer to a widget whose details are specified in the Glade file, but which is implemented
- * by your own derived class. Your class must have a constructor like so:
- * @code
- * DerivedDialog::DerivedDialog(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& refGlade)
- * : Gtk::Dialog(cobject) //Calls the base class constructor
- * @endcode
- *
- * For instance:
- * @code
- * Gtk::DerivedBox* pBox = 0;
- * refXml->get_widget_derived("mybox", pBox);
- * @endcode
- *
- * @param name The name of the widget.
- * @retval widget A pointer to the widget, or <tt>0</tt> on failure.
- * @return The value of @a widget.
- */
- template <class T_Widget> inline
- T_Widget* get_widget_derived(const Glib::ustring& name, T_Widget*& widget)
- {
- // initialize input parameter
- widget = 0;
-
- // Get the widget from the glade file.
- typedef typename T_Widget::BaseObjectType cwidget_type;
- cwidget_type* pCWidget = (cwidget_type*)get_cwidget(name);
-
- //The error was already reported by get_cwidget().
- if(!pCWidget)
- return 0;
-
- //Check whether there is already a C++ wrapper instance associated with this C instance:
- Glib::ObjectBase* pObjectBase = ObjectBase::_get_current_wrapper((GObject*)pCWidget);
-
- //If there is already a C++ instance, then return it again:
- if(pObjectBase)
- {
- widget = dynamic_cast<T_Widget*>( Glib::wrap((GtkWidget*)pCWidget) );
- //Newer, more spec-complaint, versions of g++ not resolve a specific wrap() function in a template.
-
- //The dynamic cast checks that it is of the correct type.
- //Somebody might be trying to call get_widget_derived() after already calling get_widget(),
- //or after already calling get_widget_derived() with a different derived C++ type.
- if(!widget)
- g_critical("Gnome::Glade::Xml::get_widget_derived(): dynamic_cast<> failed. An existing C++ instance, of a different type, seems to exist.");
- }
- else
- {
- //Create a new C++ instance to wrap the existing C instance:
-
- //Set the output variable. We needed to do this because we can not template the return type.
- Glib::RefPtr<Gnome::Glade::Xml> refThis(this);
- refThis->reference(); //take a copy.
- widget = new T_Widget(pCWidget, refThis);
- }
-
- //We return it as well (we need the parameter as well, because C++ can not just template the return type.)
- return widget;
- }
-
-
- Glib::ListHandle<Gtk::Widget*> get_widget_prefix(const Glib::ustring& name);
-
- ///Take the widget from the glade-generated container and put it in another container.
- void reparent_widget(const Glib::ustring& name, Gtk::Container& container);
-
-
- std::string relative_file(const std::string& filename) const;
-
-
- static Glib::ustring get_widget_name(Gtk::Widget& widget);
-
- static Glib::RefPtr<Xml> get_widget_tree(Gtk::Widget& widget);
-
-
- /** Connect a Gtk::Button's clicked signal or a Gtk::MenuItem's activated signal to a slot.
- *
- * For instance:
- * @code
- * refXml->connect_button("button", sigc::mem_fun(*this, &ExampleWindow::on_button_clicked) );
- * @endcode
- *
- * @param name The name of the widget.
- * @param pslot The slot to connect to.
- */
- void connect_clicked(const Glib::ustring& name, const sigc::slot<void>& slot_);
-
-
-///* interface for changing the custom widget handling */
-//typedef GtkWidget *(* GladeXMLCustomWidgetHandler) (GladeXML *xml,
-// gchar *func_name,
-// gchar *name,
-// gchar *string1,
-// gchar *string2,
-// gint int1,
-// gint int2,
-// gpointer user_data);
-
-//void glade_set_custom_handler(GladeXMLCustomWidgetHandler handler,
-// gpointer user_data);
-
-
-protected:
-
-
- virtual GType lookup_type_vfunc(const Glib::ustring& classname);
-
-
-public:
-
-public:
- //C++ methods used to invoke GTK+ virtual functions:
-
-protected:
- //GTK+ Virtual Functions (override these to change behaviour):
-
- //Default Signal Handlers::
-
-
-};
-
-} // namespace Glade
-} // namespace Gnome
-
-
-namespace Glib
-{
- /** @relates Gnome::Glade::Xml
- * @param object The C instance
- * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
- * @result A C++ instance that wraps this C instance.
- */
- Glib::RefPtr<Gnome::Glade::Xml> wrap(GladeXML* object, bool take_copy = false);
-}
-
-
-#endif /* _LIBGLADEMM_XML_H */
-
diff --git a/libs/libglademm/libglademmconfig.h b/libs/libglademm/libglademmconfig.h
deleted file mode 100644
index 9285bfc4f3..0000000000
--- a/libs/libglademm/libglademmconfig.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/* libglade/libglademmconfig.h. Generated by configure. */
-#ifndef _LIBGLADEMM_CONFIG_H
-#define _LIBGLADEMM_CONFIG_H 1
-
-#include "gtkmmconfig.h"
-
-/* version numbers */
-#define LIBGLADEMM_MAJOR_VERSION 2
-#define LIBGLADEMM_MINOR_VERSION 6
-#define LIBGLADEMM_MICRO_VERSION 1
-#define LIBGLADEMM_VERSION "2.6.1"
-#define LIBGLADE_VERSION_NEEDED_QUOTED "2.3.6"
-
-#endif /* _LIBGLADEMM_CONFIG_H */
-